From ad504f5d2e14643355e388bafbfb908fe3777fea Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 28 Nov 2024 12:38:48 -0600 Subject: [PATCH 01/55] feature(jv-input-controls|jv-tools): add cascading feature support add reducer to manage the state of the input controls --- .../jv-input-controls/src/InputControls.tsx | 15 ++++--- .../src/controls/SingleSelectInputControl.tsx | 4 +- .../src/controls/contexts/PanelContext.ts | 10 ----- .../jv-input-controls/src/methods/index.tsx | 15 ++++--- .../src/panels/BasePanel.tsx | 39 +++++------------ .../src/reducer/InputControlsReducer.tsx | 42 +++++++++++++++++++ packages/jv-tools/src/input-controls/index.ts | 1 + 7 files changed, 74 insertions(+), 52 deletions(-) delete mode 100644 packages/jv-input-controls/src/controls/contexts/PanelContext.ts create mode 100644 packages/jv-input-controls/src/reducer/InputControlsReducer.tsx diff --git a/packages/jv-input-controls/src/InputControls.tsx b/packages/jv-input-controls/src/InputControls.tsx index 64f5ef29..932fda3b 100644 --- a/packages/jv-input-controls/src/InputControls.tsx +++ b/packages/jv-input-controls/src/InputControls.tsx @@ -24,6 +24,7 @@ import BasePanel from "./panels/BasePanel"; import { fillControlStructure } from "./methods"; import { MultiSelectICType } from "./controls/MultiSelectInputControl"; import { SingleSelectICType } from "./controls/SingleSelectInputControl"; +import { InputControlsProvider } from "./reducer/InputControlsReducer"; export interface InputControlsTypeConfig { bool?: { @@ -108,12 +109,14 @@ export function InputControls(props: InputControlsProps) { {(props.v === undefined || !embedControls) && showLoadingSpinner()} {props.v !== undefined && embedControls && ( - + + + )} ); diff --git a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx index 270eadd7..589b21c8 100644 --- a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx @@ -5,7 +5,7 @@ */ import { JVSelect } from "@jaspersoft/jv-ui-components"; -import React from "react"; +import { JSX } from "react"; import { InputControlProperties } from "@jaspersoft/jv-tools"; import { useControlClasses } from "./hooks/useControlClasses"; import { useErrorMsg } from "./hooks/useErrorMsg"; @@ -18,7 +18,7 @@ export type SingleSelectICType = "singleSelect"; export function SingleSelectInputControl( props: SingleSelectInputControlProps, -): React.JSX.Element { +): JSX.Element { const liveState = useLiveState( getTheInitialValueForSingleSelectInputControl(props.state?.value), ); diff --git a/packages/jv-input-controls/src/controls/contexts/PanelContext.ts b/packages/jv-input-controls/src/controls/contexts/PanelContext.ts deleted file mode 100644 index 9b6fa43d..00000000 --- a/packages/jv-input-controls/src/controls/contexts/PanelContext.ts +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright © 2024. Cloud Software Group, Inc. - * This file is subject to the license terms contained - * in the license file that is distributed with this file. - */ - -import { createContext } from "react"; -import { InputControlProperties } from "@jaspersoft/jv-tools"; - -export const PanelContext = createContext([]); diff --git a/packages/jv-input-controls/src/methods/index.tsx b/packages/jv-input-controls/src/methods/index.tsx index b6ef6b41..56ee0e76 100644 --- a/packages/jv-input-controls/src/methods/index.tsx +++ b/packages/jv-input-controls/src/methods/index.tsx @@ -9,6 +9,7 @@ import { createRoot } from "react-dom/client"; import { JVStylesProvider } from "@jaspersoft/jv-ui-components"; import BasePanel from "../panels/BasePanel"; import { InputControlsConfig } from "../InputControls"; +import { InputControlsProvider } from "../reducer/InputControlsReducer"; export const fillControlStructure = ( vObject: VisualizeClient, @@ -45,12 +46,14 @@ export const renderInputControls = ( const icRoot = createRoot(container); icRoot.render( - + + + , ); config?.success && config?.success.call(self, controls); diff --git a/packages/jv-input-controls/src/panels/BasePanel.tsx b/packages/jv-input-controls/src/panels/BasePanel.tsx index a52a8588..56bd0090 100644 --- a/packages/jv-input-controls/src/panels/BasePanel.tsx +++ b/packages/jv-input-controls/src/panels/BasePanel.tsx @@ -5,10 +5,9 @@ */ import { JVDatePickerProvider } from "@jaspersoft/jv-ui-components"; -import { JSX, useState } from "react"; +import { JSX, useContext, useState } from "react"; import { InputControlProperties } from "@jaspersoft/jv-tools"; import { BooleanInputControl } from "../controls/BooleanInputControl"; -import { PanelContext } from "../controls/contexts/PanelContext"; import { DatePickerInputControl } from "../controls/DatePickerInputControl"; import { DatePickerTextFieldInputControl } from "../controls/DatePickerTextFieldInputControl"; import { DateTimePickerInputControl } from "../controls/DateTimePickerInputControl"; @@ -20,8 +19,8 @@ import { SingleValueTextInputControl } from "../controls/SingleValueTextInputCon import { TimePickerInputControl } from "../controls/TimePickerInputControl"; import { TimePickerTextFieldInputControl } from "../controls/TimePickerTextFieldInputControl"; import { InputControlsTypeConfig } from "../InputControls"; -import NotYetImplementedMessage from "../components/NotYetImplementedMessage"; import { getDefaultValueFromParamsAndProps } from "../utils/DefaultValueUtils"; +import { InputControlsContext } from "../reducer/InputControlsReducer"; export interface BasePanelProps { controls?: any; @@ -36,9 +35,8 @@ export interface BasePanelProps { } export default function BasePanel(props: BasePanelProps): JSX.Element { - const [inputControls, setInputControls] = useState( - props.controls?.data, - ); + const { state: inputControlsState, dispatch: dispatchInputControls } = + useContext(InputControlsContext); const [validResponse, setValidResponse] = useState<{ [key: string]: any[] }>( {}, ); @@ -50,7 +48,7 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { ctrlUpdated: InputControlProperties, resultValidation?: { [key: string]: string }, ) => { - const inputControlsUpdated = inputControls?.reduce( + const inputControlsUpdated = inputControlsState?.reduce( ( acc: { state: InputControlProperties[]; @@ -82,8 +80,11 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { invalidResponse: { ...validationResultState }, }, ); - if (inputControls) { - setInputControls(inputControlsUpdated.state); + if (inputControlsState) { + dispatchInputControls({ + type: "[INPUT_CONTROLS] SET_DATA", + payload: inputControlsUpdated.state, + }); setValidResponse(inputControlsUpdated.response); setValidationResultState(inputControlsUpdated.invalidResponse); const isError = @@ -233,23 +234,7 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { } }; - const notImplemented = (controlMap: any) => { - if (controlMap?.data) { - return ( - controlMap.data.filter( - (c: InputControlProperties) => - (c.slaveDependencies && c.slaveDependencies.length > 0) || - (c.masterDependencies && c.masterDependencies.length > 0), - ).length > 0 - ); - } - return false; - }; - const buildControls = (controlMap: any) => { - if (notImplemented(controlMap)) { - return ; - } if (controlMap?.data) { return controlMap.data.map(buildControl); } @@ -264,9 +249,7 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { return (
- - {buildControls(props.controls)} - + {buildControls(props.controls)}
); diff --git a/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx b/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx new file mode 100644 index 00000000..034f4003 --- /dev/null +++ b/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx @@ -0,0 +1,42 @@ +/* + * Copyright © 2024. Cloud Software Group, Inc. + * This file is subject to the license terms contained + * in the license file that is distributed with this file. + */ + +import { InputControlProperties } from "@jaspersoft/jv-tools"; +import { createContext, useReducer } from "react"; + +const inputControlsReducer = ( + state: InputControlProperties[], + action: { type: string; payload: any }, +) => { + switch (action.type) { + case "[INPUT_CONTROLS] SET_DATA": + return { + ...action.payload, + }; + default: + return state; + } +}; + +export const InputControlsContext = createContext<{ + state: InputControlProperties[]; + dispatch: any; +}>({ state: [], dispatch: () => {} }); + +export const InputControlsProvider = ({ + children, + initialState, +}: { + children: JSX.Element; + initialState: InputControlProperties[]; +}) => { + const [state, dispatch] = useReducer(inputControlsReducer, initialState); + return ( + + {children} + + ); +}; diff --git a/packages/jv-tools/src/input-controls/index.ts b/packages/jv-tools/src/input-controls/index.ts index edb32de5..1881e545 100644 --- a/packages/jv-tools/src/input-controls/index.ts +++ b/packages/jv-tools/src/input-controls/index.ts @@ -97,4 +97,5 @@ export interface InputControlProperties { validationResult?: { [key: string]: string }, ) => void; }; + parameters?: { [key: string]: string[] }; } From da69576e88f450f8ec63c943a649fd67f4648429 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 28 Nov 2024 16:06:01 -0600 Subject: [PATCH 02/55] feature(jv-input-controls|jv-tools): move logic for building the json response to the reducer --- .../src/panels/BasePanel.tsx | 69 +++-------- .../src/reducer/InputControlsReducer.tsx | 116 ++++++++++++++++-- 2 files changed, 123 insertions(+), 62 deletions(-) diff --git a/packages/jv-input-controls/src/panels/BasePanel.tsx b/packages/jv-input-controls/src/panels/BasePanel.tsx index 56bd0090..f79285cb 100644 --- a/packages/jv-input-controls/src/panels/BasePanel.tsx +++ b/packages/jv-input-controls/src/panels/BasePanel.tsx @@ -5,7 +5,7 @@ */ import { JVDatePickerProvider } from "@jaspersoft/jv-ui-components"; -import { JSX, useContext, useState } from "react"; +import { JSX, useContext } from "react"; import { InputControlProperties } from "@jaspersoft/jv-tools"; import { BooleanInputControl } from "../controls/BooleanInputControl"; import { DatePickerInputControl } from "../controls/DatePickerInputControl"; @@ -20,7 +20,10 @@ import { TimePickerInputControl } from "../controls/TimePickerInputControl"; import { TimePickerTextFieldInputControl } from "../controls/TimePickerTextFieldInputControl"; import { InputControlsTypeConfig } from "../InputControls"; import { getDefaultValueFromParamsAndProps } from "../utils/DefaultValueUtils"; -import { InputControlsContext } from "../reducer/InputControlsReducer"; +import { + INPUT_CONTROLS_ACTIONS, + InputControlsContext, +} from "../reducer/InputControlsReducer"; export interface BasePanelProps { controls?: any; @@ -35,65 +38,21 @@ export interface BasePanelProps { } export default function BasePanel(props: BasePanelProps): JSX.Element { - const { state: inputControlsState, dispatch: dispatchInputControls } = - useContext(InputControlsContext); - const [validResponse, setValidResponse] = useState<{ [key: string]: any[] }>( - {}, - ); - const [validationResultState, setValidationResultState] = useState<{ - [key: string]: string; - }>({}); + const { dispatch } = useContext(InputControlsContext); const buildLatestJSON = ( ctrlUpdated: InputControlProperties, resultValidation?: { [key: string]: string }, ) => { - const inputControlsUpdated = inputControlsState?.reduce( - ( - acc: { - state: InputControlProperties[]; - response: { [key: string]: any[] }; - invalidResponse: { [key: string]: any }; - }, - ctrl: InputControlProperties, - ) => { - const theValidationResult = resultValidation?.[ctrl.id]; - const ctrlToUse = ctrl.id !== ctrlUpdated.id ? ctrl : ctrlUpdated; - acc.state.push(ctrlToUse); - if (theValidationResult !== undefined && theValidationResult !== "") { - acc.invalidResponse = { - ...acc.invalidResponse, - [ctrlToUse.id]: theValidationResult, - }; - } else if (theValidationResult === "") { - // this means that the validation result is empty, so we need to remove the key from the invalidResponse - delete acc.invalidResponse[ctrlToUse.id]; - } - acc.response[ctrlToUse.id] = Array.isArray(ctrlToUse.state?.value) - ? ctrlToUse.state?.value - : [ctrlToUse.state?.value]; - return acc; - }, - { - state: [], - response: { ...validResponse }, - invalidResponse: { ...validationResultState }, + // Here, we can trigger the CALL to the server to get the new data in case it's a cascading input control + dispatch({ + type: INPUT_CONTROLS_ACTIONS.UPDATE_DATA, + payload: { + ctrlUpdated, + resultValidation, + props, }, - ); - if (inputControlsState) { - dispatchInputControls({ - type: "[INPUT_CONTROLS] SET_DATA", - payload: inputControlsUpdated.state, - }); - setValidResponse(inputControlsUpdated.response); - setValidationResultState(inputControlsUpdated.invalidResponse); - const isError = - Object.keys(inputControlsUpdated.invalidResponse).length > 0; - props.events?.change?.( - inputControlsUpdated.response, - isError ? inputControlsUpdated.invalidResponse : false, - ); - } + }); }; const getControlProps = ( diff --git a/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx b/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx index 034f4003..f8ec8cfc 100644 --- a/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx +++ b/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx @@ -7,14 +7,75 @@ import { InputControlProperties } from "@jaspersoft/jv-tools"; import { createContext, useReducer } from "react"; +export const INPUT_CONTROLS_ACTIONS = { + SET_DATA: "[INPUT_CONTROLS] SET_DATA", + UPDATE_DATA: "[INPUT_CONTROLS] UPDATE_DATA", +}; + const inputControlsReducer = ( - state: InputControlProperties[], + state: { + inputControls: InputControlProperties[]; + validResponse: { [key: string]: any[] }; + validationResultState: { [key: string]: string }; + }, action: { type: string; payload: any }, ) => { - switch (action.type) { - case "[INPUT_CONTROLS] SET_DATA": + const { type, payload } = action; + // console.log("inputControlsReducer - STATE", state); + // console.log("inputControlsReducer - action", action); + // console.log("----------------------"); + switch (type) { + case INPUT_CONTROLS_ACTIONS.SET_DATA: return { - ...action.payload, + ...state, + ...payload, + }; + case INPUT_CONTROLS_ACTIONS.UPDATE_DATA: + const icsUpdated = state.inputControls.reduce( + ( + acc: { + state: InputControlProperties[]; + response: { [key: string]: any[] }; + invalidResponse: { [key: string]: any }; + }, + ctrl: InputControlProperties, + ) => { + const theValidationResult = payload.resultValidation?.[ctrl.id]; + const ctrlToUse = + ctrl.id !== payload.ctrlUpdated.id ? ctrl : payload.ctrlUpdated; + acc.state.push(ctrlToUse); + if (theValidationResult !== undefined && theValidationResult !== "") { + acc.invalidResponse = { + ...acc.invalidResponse, + [ctrlToUse.id]: theValidationResult, + }; + } else if (theValidationResult === "") { + // this means that the validation result is empty, so we need to remove the key from the invalidResponse + delete acc.invalidResponse[ctrlToUse.id]; + } + acc.response[ctrlToUse.id] = Array.isArray(ctrlToUse.state?.value) + ? ctrlToUse.state?.value + : [ctrlToUse.state?.value]; + return acc; + }, + { + state: [], + response: { ...state.validResponse }, + invalidResponse: { ...state.validationResultState }, + }, + ); + + const isError = Object.keys(icsUpdated.invalidResponse).length > 0; + payload.props.events?.change?.( + icsUpdated.response, + isError ? icsUpdated.invalidResponse : false, + ); + + return { + ...state, + inputControls: [...icsUpdated.state], + validResponse: { ...icsUpdated.response }, + validationResultState: { ...icsUpdated.invalidResponse }, }; default: return state; @@ -22,9 +83,45 @@ const inputControlsReducer = ( }; export const InputControlsContext = createContext<{ - state: InputControlProperties[]; + state: { + inputControls: InputControlProperties[]; + validResponse: { [key: string]: any[] }; + validationResultState: { [key: string]: string }; + }; dispatch: any; -}>({ state: [], dispatch: () => {} }); +}>({ + state: { + inputControls: [], + validResponse: {}, + validationResultState: {}, + }, + dispatch: () => {}, +}); + +const createInitialState = (initialState: InputControlProperties[]) => { + const fixedInitialState = initialState.map((icProps) => { + if ( + icProps.state?.value !== undefined || + icProps.state?.options === undefined + ) { + return icProps; + } + return { + ...icProps, + state: { + ...icProps.state, + value: icProps.state.options + .filter((opt) => opt.selected) + .map((opt) => opt.value), + }, + }; + }); + return { + inputControls: fixedInitialState, + validResponse: {}, + validationResultState: {}, + }; +}; export const InputControlsProvider = ({ children, @@ -33,7 +130,12 @@ export const InputControlsProvider = ({ children: JSX.Element; initialState: InputControlProperties[]; }) => { - const [state, dispatch] = useReducer(inputControlsReducer, initialState); + const [state, dispatch] = useReducer( + inputControlsReducer, + initialState, + createInitialState, + ); + // console.log("InputControlsProvider - STATE", state); return ( {children} From 7ddd35d1b02c346616cb3b7e6d735a0c9b314da0 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 28 Nov 2024 17:06:13 -0600 Subject: [PATCH 03/55] feature(jv-input-controls|jv-tools): update "selected" property for each option on the selects --- .../src/reducer/InputControlsReducer.tsx | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx b/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx index f8ec8cfc..e6e23241 100644 --- a/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx +++ b/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx @@ -21,9 +21,6 @@ const inputControlsReducer = ( action: { type: string; payload: any }, ) => { const { type, payload } = action; - // console.log("inputControlsReducer - STATE", state); - // console.log("inputControlsReducer - action", action); - // console.log("----------------------"); switch (type) { case INPUT_CONTROLS_ACTIONS.SET_DATA: return { @@ -43,7 +40,6 @@ const inputControlsReducer = ( const theValidationResult = payload.resultValidation?.[ctrl.id]; const ctrlToUse = ctrl.id !== payload.ctrlUpdated.id ? ctrl : payload.ctrlUpdated; - acc.state.push(ctrlToUse); if (theValidationResult !== undefined && theValidationResult !== "") { acc.invalidResponse = { ...acc.invalidResponse, @@ -53,6 +49,22 @@ const inputControlsReducer = ( // this means that the validation result is empty, so we need to remove the key from the invalidResponse delete acc.invalidResponse[ctrlToUse.id]; } + if (ctrlToUse.state?.options !== undefined) { + // we also have to update the options of the current control if needed. + ctrlToUse.state = { + ...ctrlToUse.state, + options: ctrlToUse.state.options.map( + (opt: { selected: boolean; value: string; label: string }) => { + return { + ...opt, + selected: ctrlToUse.state?.value.includes(opt.value), + }; + }, + ), + }; + } + acc.state.push(ctrlToUse); + acc.response[ctrlToUse.id] = Array.isArray(ctrlToUse.state?.value) ? ctrlToUse.state?.value : [ctrlToUse.state?.value]; @@ -135,7 +147,6 @@ export const InputControlsProvider = ({ initialState, createInitialState, ); - // console.log("InputControlsProvider - STATE", state); return ( {children} From d2947d896785cf54e47836361e487ac96a209768 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 28 Nov 2024 17:14:00 -0600 Subject: [PATCH 04/55] feature(jv-input-controls|jv-tools): remove "buildLatestJSON" method and put everything inside events.change because the updates happens on the state now. --- .../src/panels/BasePanel.tsx | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/packages/jv-input-controls/src/panels/BasePanel.tsx b/packages/jv-input-controls/src/panels/BasePanel.tsx index f79285cb..10138b4c 100644 --- a/packages/jv-input-controls/src/panels/BasePanel.tsx +++ b/packages/jv-input-controls/src/panels/BasePanel.tsx @@ -40,21 +40,6 @@ export interface BasePanelProps { export default function BasePanel(props: BasePanelProps): JSX.Element { const { dispatch } = useContext(InputControlsContext); - const buildLatestJSON = ( - ctrlUpdated: InputControlProperties, - resultValidation?: { [key: string]: string }, - ) => { - // Here, we can trigger the CALL to the server to get the new data in case it's a cascading input control - dispatch({ - type: INPUT_CONTROLS_ACTIONS.UPDATE_DATA, - payload: { - ctrlUpdated, - resultValidation, - props, - }, - }); - }; - const getControlProps = ( control: any, params?: { [key: string]: string[] }, @@ -72,7 +57,21 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { value: getDefaultValueFromParamsAndProps({ ...control, params }), }, events: { - change: buildLatestJSON, + change: ( + ctrlUpdated: InputControlProperties, + resultValidation?: { [key: string]: string }, + ) => { + // TODO: Here, we can trigger the CALL to the server to get the new data in case it's a cascading input + // control + dispatch({ + type: INPUT_CONTROLS_ACTIONS.UPDATE_DATA, + payload: { + ctrlUpdated, + resultValidation, + props, + }, + }); + }, }, }; }; From e3a8cb3d4384b715e1cf9f1d8efb4fb3a31e3e92 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Fri, 29 Nov 2024 17:57:16 -0600 Subject: [PATCH 05/55] feature(jv-input-controls): add request-like when updating an IC that has slaveDependencies. The work is not done yet, having issues with the reducer and the local state of each component. --- .../src/controls/MultiSelectInputControl.tsx | 2 +- .../src/controls/SingleSelectInputControl.tsx | 33 +- .../src/controls/hooks/useLiveState.ts | 1 + .../src/panels/BasePanel.tsx | 330 +++++++++++++++++- .../src/reducer/InputControlsReducer.tsx | 105 +++++- 5 files changed, 455 insertions(+), 16 deletions(-) diff --git a/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx b/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx index e5099b34..91ecaf3c 100644 --- a/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx @@ -15,7 +15,7 @@ export type MultiSelectICType = "multiSelect"; export const MultiSelectInputControl = ( props: InputControlProperties, ): JSX.Element => { - const liveState = useLiveState(props.state?.value); + const { setValue, ...liveState } = useLiveState(props.state?.value); const controlClasses = useControlClasses([], props); const errorText = useErrorMsg({ textValue: liveState.value, diff --git a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx index 589b21c8..b0d712eb 100644 --- a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx @@ -5,12 +5,13 @@ */ import { JVSelect } from "@jaspersoft/jv-ui-components"; -import { JSX } from "react"; +import { JSX, useContext, useEffect, useState } from "react"; import { InputControlProperties } from "@jaspersoft/jv-tools"; import { useControlClasses } from "./hooks/useControlClasses"; import { useErrorMsg } from "./hooks/useErrorMsg"; import { useLiveState } from "./hooks/useLiveState"; import { getTheInitialValueForSingleSelectInputControl } from "../utils/DefaultValueUtils"; +import { InputControlsContext } from "../reducer/InputControlsReducer"; export interface SingleSelectInputControlProps extends InputControlProperties {} @@ -19,9 +20,37 @@ export type SingleSelectICType = "singleSelect"; export function SingleSelectInputControl( props: SingleSelectInputControlProps, ): JSX.Element { + // new variables due to the reducer state: + const { state } = useContext(InputControlsContext); + const [localOptions, setLocalOptions] = useState(props.state?.options); + const valueFromState = state.validResponse[props.id]; + const icFromState = state.inputControls.find(({ id }) => id === props.id)!; + // live state: const liveState = useLiveState( getTheInitialValueForSingleSelectInputControl(props.state?.value), ); + useEffect(() => { + if ( + icFromState.state !== undefined && + icFromState.state!.options !== undefined + ) { + setLocalOptions(icFromState.state!.options); + } + }, [icFromState]); + useEffect(() => { + if (props.id === "Product_Name") { + console.log("props.id: ", props.id, ", valueFromState: ", valueFromState); + console.log("liveState.value: ", liveState.value); + console.log("----------"); + debugger; + } + if ( + valueFromState !== undefined && + JSON.stringify(valueFromState) !== JSON.stringify(liveState.value) + ) { + liveState.setValue(valueFromState); + } + }, [valueFromState, liveState.value]); const controlClasses = useControlClasses([], props); const errorText = useErrorMsg({ textValue: liveState.value, @@ -34,7 +63,7 @@ export function SingleSelectInputControl( id={props.id} key={props.id} value={liveState.value} - state={props.state} + state={{ options: localOptions }} className={`${controlClasses.join(" ")}`} error={errorText} /> diff --git a/packages/jv-input-controls/src/controls/hooks/useLiveState.ts b/packages/jv-input-controls/src/controls/hooks/useLiveState.ts index a4317679..f726245f 100644 --- a/packages/jv-input-controls/src/controls/hooks/useLiveState.ts +++ b/packages/jv-input-controls/src/controls/hooks/useLiveState.ts @@ -30,6 +30,7 @@ export function useLiveState(initialValue: any) { const liveStateProps = { value: value, + setValue: setValue, onChange: handleChange, }; diff --git a/packages/jv-input-controls/src/panels/BasePanel.tsx b/packages/jv-input-controls/src/panels/BasePanel.tsx index 10138b4c..b1ac7693 100644 --- a/packages/jv-input-controls/src/panels/BasePanel.tsx +++ b/packages/jv-input-controls/src/panels/BasePanel.tsx @@ -37,6 +37,313 @@ export interface BasePanelProps { params?: { [key: string]: string[] }; } +const SAMPLE_IC_UPDATED_RESPONSE = { + inputControlState: [ + { + uri: "/public/Samples/Resources/Input_Controls/Product_Category", + id: "Product_Category", + options: [ + { + selected: true, + label: "Meat", + value: "Meat", + }, + { + selected: false, + label: "Side Dishes", + value: "Side Dishes", + }, + { + selected: false, + label: "All", + value: "All", + }, + ], + }, + { + uri: "/public/Samples/Resources/Input_Controls/Product_Name", + id: "Product_Name", + options: [ + { + selected: true, + label: "American Beef Bologna", + value: "American Beef Bologna", + }, + { + selected: false, + label: "American Chicken Hot Dogs", + value: "American Chicken Hot Dogs", + }, + { + selected: false, + label: "American Corned Beef", + value: "American Corned Beef", + }, + { + selected: false, + label: "American Foot-Long Hot Dogs", + value: "American Foot-Long Hot Dogs", + }, + { + selected: false, + label: "American Low Fat Bologna", + value: "American Low Fat Bologna", + }, + { + selected: false, + label: "American Pimento Loaf", + value: "American Pimento Loaf", + }, + { + selected: false, + label: "American Roasted Chicken", + value: "American Roasted Chicken", + }, + { + selected: false, + label: "American Sliced Chicken", + value: "American Sliced Chicken", + }, + { + selected: false, + label: "American Sliced Ham", + value: "American Sliced Ham", + }, + { + selected: false, + label: "American Sliced Turkey", + value: "American Sliced Turkey", + }, + { + selected: false, + label: "American Turkey Hot Dogs", + value: "American Turkey Hot Dogs", + }, + { + selected: false, + label: "Cutting Edge Beef Bologna", + value: "Cutting Edge Beef Bologna", + }, + { + selected: false, + label: "Cutting Edge Chicken Hot Dogs", + value: "Cutting Edge Chicken Hot Dogs", + }, + { + selected: false, + label: "Cutting Edge Corned Beef", + value: "Cutting Edge Corned Beef", + }, + { + selected: false, + label: "Cutting Edge Foot-Long Hot Dogs", + value: "Cutting Edge Foot-Long Hot Dogs", + }, + { + selected: false, + label: "Cutting Edge Low Fat Bologna", + value: "Cutting Edge Low Fat Bologna", + }, + { + selected: false, + label: "Cutting Edge Pimento Loaf", + value: "Cutting Edge Pimento Loaf", + }, + { + selected: false, + label: "Cutting Edge Roasted Chicken", + value: "Cutting Edge Roasted Chicken", + }, + { + selected: false, + label: "Cutting Edge Sliced Chicken", + value: "Cutting Edge Sliced Chicken", + }, + { + selected: false, + label: "Cutting Edge Sliced Ham", + value: "Cutting Edge Sliced Ham", + }, + { + selected: false, + label: "Cutting Edge Sliced Turkey", + value: "Cutting Edge Sliced Turkey", + }, + { + selected: false, + label: "Cutting Edge Turkey Hot Dogs", + value: "Cutting Edge Turkey Hot Dogs", + }, + { + selected: false, + label: "Lake Beef Bologna", + value: "Lake Beef Bologna", + }, + { + selected: false, + label: "Lake Chicken Hot Dogs", + value: "Lake Chicken Hot Dogs", + }, + { + selected: false, + label: "Lake Corned Beef", + value: "Lake Corned Beef", + }, + { + selected: false, + label: "Lake Foot-Long Hot Dogs", + value: "Lake Foot-Long Hot Dogs", + }, + { + selected: false, + label: "Lake Low Fat Bologna", + value: "Lake Low Fat Bologna", + }, + { + selected: false, + label: "Lake Pimento Loaf", + value: "Lake Pimento Loaf", + }, + { + selected: false, + label: "Lake Roasted Chicken", + value: "Lake Roasted Chicken", + }, + { + selected: false, + label: "Lake Sliced Chicken", + value: "Lake Sliced Chicken", + }, + { + selected: false, + label: "Lake Sliced Ham", + value: "Lake Sliced Ham", + }, + { + selected: false, + label: "Lake Sliced Turkey", + value: "Lake Sliced Turkey", + }, + { + selected: false, + label: "Lake Turkey Hot Dogs", + value: "Lake Turkey Hot Dogs", + }, + { + selected: false, + label: "Moms Beef Bologna", + value: "Moms Beef Bologna", + }, + { + selected: false, + label: "Moms Chicken Hot Dogs", + value: "Moms Chicken Hot Dogs", + }, + { + selected: false, + label: "Moms Corned Beef", + value: "Moms Corned Beef", + }, + { + selected: false, + label: "Moms Foot-Long Hot Dogs", + value: "Moms Foot-Long Hot Dogs", + }, + { + selected: false, + label: "Moms Low Fat Bologna", + value: "Moms Low Fat Bologna", + }, + { + selected: false, + label: "Moms Pimento Loaf", + value: "Moms Pimento Loaf", + }, + { + selected: false, + label: "Moms Roasted Chicken", + value: "Moms Roasted Chicken", + }, + { + selected: false, + label: "Moms Sliced Chicken", + value: "Moms Sliced Chicken", + }, + { + selected: false, + label: "Moms Sliced Ham", + value: "Moms Sliced Ham", + }, + { + selected: false, + label: "Moms Sliced Turkey", + value: "Moms Sliced Turkey", + }, + { + selected: false, + label: "Moms Turkey Hot Dogs", + value: "Moms Turkey Hot Dogs", + }, + { + selected: false, + label: "Red Spade Beef Bologna", + value: "Red Spade Beef Bologna", + }, + { + selected: false, + label: "Red Spade Chicken Hot Dogs", + value: "Red Spade Chicken Hot Dogs", + }, + { + selected: false, + label: "Red Spade Corned Beef", + value: "Red Spade Corned Beef", + }, + { + selected: false, + label: "Red Spade Foot-Long Hot Dogs", + value: "Red Spade Foot-Long Hot Dogs", + }, + { + selected: false, + label: "Red Spade Low Fat Bologna", + value: "Red Spade Low Fat Bologna", + }, + { + selected: false, + label: "Red Spade Pimento Loaf", + value: "Red Spade Pimento Loaf", + }, + { + selected: false, + label: "Red Spade Roasted Chicken", + value: "Red Spade Roasted Chicken", + }, + { + selected: false, + label: "Red Spade Sliced Chicken", + value: "Red Spade Sliced Chicken", + }, + { + selected: false, + label: "Red Spade Sliced Ham", + value: "Red Spade Sliced Ham", + }, + { + selected: false, + label: "Red Spade Sliced Turkey", + value: "Red Spade Sliced Turkey", + }, + { + selected: false, + label: "Red Spade Turkey Hot Dogs", + value: "Red Spade Turkey Hot Dogs", + }, + ], + }, + ], +}; + export default function BasePanel(props: BasePanelProps): JSX.Element { const { dispatch } = useContext(InputControlsContext); @@ -56,13 +363,13 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { ...control.state, value: getDefaultValueFromParamsAndProps({ ...control, params }), }, + masterDependencies: control.masterDependencies, + slaveDependencies: control.slaveDependencies, events: { change: ( ctrlUpdated: InputControlProperties, resultValidation?: { [key: string]: string }, ) => { - // TODO: Here, we can trigger the CALL to the server to get the new data in case it's a cascading input - // control dispatch({ type: INPUT_CONTROLS_ACTIONS.UPDATE_DATA, payload: { @@ -71,6 +378,25 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { props, }, }); + if ( + ctrlUpdated.slaveDependencies !== undefined && + ctrlUpdated.slaveDependencies.length > 0 + ) { + console.log("triggering a new CALL from: ", ctrlUpdated.id); + // TODO: We should trigger the CALL to the server to get the new data in case it's a cascading input control + fetch("https://jsonplaceholder.typicode.com/users/1") + .then(() => + dispatch({ + type: INPUT_CONTROLS_ACTIONS.UPDATE_SLAVE_DEPENDENCIES, + payload: { + ...SAMPLE_IC_UPDATED_RESPONSE, + ctrlUpdated, + props, + }, + }), + ) + .catch((error) => console.error("error: ", error)); + } }, }, }; diff --git a/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx b/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx index e6e23241..991e2ca8 100644 --- a/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx +++ b/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx @@ -4,12 +4,44 @@ * in the license file that is distributed with this file. */ -import { InputControlProperties } from "@jaspersoft/jv-tools"; +import { + InputControlOption, + InputControlProperties, +} from "@jaspersoft/jv-tools"; import { createContext, useReducer } from "react"; export const INPUT_CONTROLS_ACTIONS = { SET_DATA: "[INPUT_CONTROLS] SET_DATA", UPDATE_DATA: "[INPUT_CONTROLS] UPDATE_DATA", + UPDATE_SLAVE_DEPENDENCIES: "[INPUT_CONTROLS] UPDATE_SLAVE_DEPENDENCIES", +}; + +const emitCallbackToUser = ( + icsUpdated: { + inputControls: InputControlProperties[]; + validResponse: { [key: string]: any[] }; + validationResultState: { [key: string]: string }; + }, + payload: { + props: { + events: { + change: ( + arg0: { [key: string]: any[] }, + arg1: { [key: string]: string } | false, + ) => void; + }; + }; + ctrlUpdated: InputControlProperties; + }, + emitCallbackToUser = true, +) => { + if (emitCallbackToUser) { + const isError = Object.keys(icsUpdated.validationResultState).length > 0; + payload.props.events?.change?.( + icsUpdated.validResponse, + isError ? icsUpdated.validationResultState : false, + ); + } }; const inputControlsReducer = ( @@ -19,15 +51,20 @@ const inputControlsReducer = ( validationResultState: { [key: string]: string }; }, action: { type: string; payload: any }, -) => { +): { + inputControls: InputControlProperties[]; + validResponse: { [key: string]: any[] }; + validationResultState: { [key: string]: string }; +} => { const { type, payload } = action; switch (type) { - case INPUT_CONTROLS_ACTIONS.SET_DATA: + case INPUT_CONTROLS_ACTIONS.SET_DATA: { return { ...state, ...payload, }; - case INPUT_CONTROLS_ACTIONS.UPDATE_DATA: + } + case INPUT_CONTROLS_ACTIONS.UPDATE_DATA: { const icsUpdated = state.inputControls.reduce( ( acc: { @@ -77,18 +114,64 @@ const inputControlsReducer = ( }, ); - const isError = Object.keys(icsUpdated.invalidResponse).length > 0; - payload.props.events?.change?.( - icsUpdated.response, - isError ? icsUpdated.invalidResponse : false, - ); - - return { + const stateUpdated = { ...state, inputControls: [...icsUpdated.state], validResponse: { ...icsUpdated.response }, validationResultState: { ...icsUpdated.invalidResponse }, }; + emitCallbackToUser( + stateUpdated, + payload, + payload.ctrlUpdated.slaveDependencies === undefined || + payload.ctrlUpdated.slaveDependencies.length === 0, + ); + + return stateUpdated; + } + case INPUT_CONTROLS_ACTIONS.UPDATE_SLAVE_DEPENDENCIES: { + // Create a Map from the payload array + const payloadMap: Map = new Map( + payload.inputControlState.map( + (item: { + id: string; + options: InputControlOption[]; + uri: string; + }) => [item.id, item.options], + ), + ); + // Iterate over the state array and update the options property + const theNewValidResponse = JSON.parse( + JSON.stringify(state.validResponse), + ); + const icsUpdated = state.inputControls.map( + (item: InputControlProperties) => { + if (!payloadMap.has(item.id)) { + return item; + } + const newValueForIc = payloadMap + .get(item.id)! + .filter((opt) => opt.selected) + .map((opt) => opt.value); + theNewValidResponse[item.id] = newValueForIc; + return { + ...item, + state: { + ...item.state, + options: payloadMap.get(item.id)! as InputControlOption[], + value: newValueForIc, + }, + } as InputControlProperties; + }, + ); + const theNewState = { + ...state, + inputControls: [...icsUpdated], + validResponse: { ...theNewValidResponse }, + }; + emitCallbackToUser(theNewState, payload); + return theNewState; + } default: return state; } From f56a89a58e45e7020cbfdf38250ffa2656e1fa7d Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Tue, 3 Dec 2024 15:27:46 -0600 Subject: [PATCH 06/55] feature(jv-input-controls): store input controls state into the context API. it also includes the work for avoiding duplication of the request for the same chain of input controls --- .../src/controls/SingleSelectInputControl.tsx | 24 ++++--- .../src/controls/hooks/useErrorMsg.ts | 30 ++++++--- .../src/panels/BasePanel.tsx | 66 +++++++++++++------ .../src/reducer/InputControlsReducer.tsx | 43 ++++++------ 4 files changed, 105 insertions(+), 58 deletions(-) diff --git a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx index b0d712eb..348ab516 100644 --- a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx @@ -23,21 +23,29 @@ export function SingleSelectInputControl( // new variables due to the reducer state: const { state } = useContext(InputControlsContext); const [localOptions, setLocalOptions] = useState(props.state?.options); - const valueFromState = state.validResponse[props.id]; - const icFromState = state.inputControls.find(({ id }) => id === props.id)!; // live state: const liveState = useLiveState( getTheInitialValueForSingleSelectInputControl(props.state?.value), ); + const errorText = useErrorMsg({ + textValue: liveState.value, + props, + }); useEffect(() => { + const icFromState = state.inputControls.find(({ id }) => id === props.id)!; if ( - icFromState.state !== undefined && - icFromState.state!.options !== undefined + (icFromState.state !== undefined && + icFromState.state!.options !== undefined && + localOptions !== undefined && + JSON.stringify(icFromState.state!.options) !== + JSON.stringify(localOptions)) || + localOptions !== undefined ) { setLocalOptions(icFromState.state!.options); } - }, [icFromState]); + }, [state.inputControls]); useEffect(() => { + const valueFromState = state.validResponse[props.id]; if (props.id === "Product_Name") { console.log("props.id: ", props.id, ", valueFromState: ", valueFromState); console.log("liveState.value: ", liveState.value); @@ -50,12 +58,8 @@ export function SingleSelectInputControl( ) { liveState.setValue(valueFromState); } - }, [valueFromState, liveState.value]); + }, [state.validResponse, liveState.value]); const controlClasses = useControlClasses([], props); - const errorText = useErrorMsg({ - textValue: liveState.value, - props, - }); return ( { const [msg, setMsg] = useState(defaultValue); + const [theTextValue, setTheTextValue] = useState( + textValue, + ); const validateTextValue = (textToValidate: string): string => { // Determine the message based on: @@ -85,15 +88,24 @@ export const useErrorMsg = ({ }; useEffectAfterInitial(() => { - const errorMessage = Array.isArray(textValue) - ? validateArray(textValue) - : validateTextValue(textValue); - const finalMsg = errorMessage?.trim().length > 0 ? errorMessage : ""; - // also, we have to trigger the callback in case there was an error - props?.events?.change?.(getInputControlProperties(props, textValue), { - [props.id]: finalMsg, - }); - setMsg(finalMsg); + const isArray = Array.isArray(textValue); + if ( + (isArray && + (textValue[0] === "" || + JSON.stringify(textValue) !== JSON.stringify(theTextValue))) || + (!isArray && (textValue === "" || textValue !== theTextValue)) + ) { + setTheTextValue(textValue); + const errorMessage = isArray + ? validateArray(textValue) + : validateTextValue(textValue); + const finalMsg = errorMessage?.trim().length > 0 ? errorMessage : ""; + // also, we have to trigger the callback in case there was an error + props?.events?.change?.(getInputControlProperties(props, textValue), { + [props.id]: finalMsg, + }); + setMsg(finalMsg); + } }, [textValue]); return msg; }; diff --git a/packages/jv-input-controls/src/panels/BasePanel.tsx b/packages/jv-input-controls/src/panels/BasePanel.tsx index b1ac7693..60c127b9 100644 --- a/packages/jv-input-controls/src/panels/BasePanel.tsx +++ b/packages/jv-input-controls/src/panels/BasePanel.tsx @@ -345,7 +345,39 @@ const SAMPLE_IC_UPDATED_RESPONSE = { }; export default function BasePanel(props: BasePanelProps): JSX.Element { - const { dispatch } = useContext(InputControlsContext); + const { state, dispatch } = useContext(InputControlsContext); + + const handleCascadingRequest = (ctrlUpdated: InputControlProperties) => { + dispatch({ + type: INPUT_CONTROLS_ACTIONS.SET_INITIATING_CASCADING_IC_ID, + payload: { + initiatingCascadingIcId: ctrlUpdated.id, + }, + }); + + console.log("triggering a new CALL from: ", ctrlUpdated.id); + // TODO: We should trigger the CALL to the server to get the new data in case it's a cascading input control + fetch("https://jsonplaceholder.typicode.com/users/1") + .then(() => { + dispatch({ + type: INPUT_CONTROLS_ACTIONS.UPDATE_SLAVE_DEPENDENCIES, + payload: { + ...SAMPLE_IC_UPDATED_RESPONSE, + ctrlUpdated, + props, + }, + }); + }) + .catch((error) => console.error("error: ", error)); + // .finally(() => + // dispatch({ + // type: INPUT_CONTROLS_ACTIONS.SET_INITIATING_CASCADING_IC_ID, + // payload: { + // initiatingCascadingIcId: "", + // }, + // }) + // ) + }; const getControlProps = ( control: any, @@ -378,24 +410,20 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { props, }, }); - if ( - ctrlUpdated.slaveDependencies !== undefined && - ctrlUpdated.slaveDependencies.length > 0 - ) { - console.log("triggering a new CALL from: ", ctrlUpdated.id); - // TODO: We should trigger the CALL to the server to get the new data in case it's a cascading input control - fetch("https://jsonplaceholder.typicode.com/users/1") - .then(() => - dispatch({ - type: INPUT_CONTROLS_ACTIONS.UPDATE_SLAVE_DEPENDENCIES, - payload: { - ...SAMPLE_IC_UPDATED_RESPONSE, - ctrlUpdated, - props, - }, - }), - ) - .catch((error) => console.error("error: ", error)); + const slaveDependenciesOfInitialCascadingIC = + state.inputControls.find((ic) => { + return ic.id === state.initiatingCascadingIcId; + }); + const isSlaveDep = + slaveDependenciesOfInitialCascadingIC?.slaveDependencies?.includes( + ctrlUpdated.id, + ); + if (state.initiatingCascadingIcId !== ctrlUpdated.id && !isSlaveDep) { + // (state.initiatingCascadingIcId !== ctrlUpdated.id) || + // (ctrlUpdated.slaveDependencies !== undefined && + // ctrlUpdated.slaveDependencies.length > 0 && + // state.initiatingCascadingIcId === "") + handleCascadingRequest(ctrlUpdated); } }, }, diff --git a/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx b/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx index 991e2ca8..0470f4ed 100644 --- a/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx +++ b/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx @@ -14,14 +14,12 @@ export const INPUT_CONTROLS_ACTIONS = { SET_DATA: "[INPUT_CONTROLS] SET_DATA", UPDATE_DATA: "[INPUT_CONTROLS] UPDATE_DATA", UPDATE_SLAVE_DEPENDENCIES: "[INPUT_CONTROLS] UPDATE_SLAVE_DEPENDENCIES", + SET_INITIATING_CASCADING_IC_ID: + "[INPUT_CONTROLS] SET_INITIATING_CASCADING_IC_ID", }; const emitCallbackToUser = ( - icsUpdated: { - inputControls: InputControlProperties[]; - validResponse: { [key: string]: any[] }; - validationResultState: { [key: string]: string }; - }, + icsUpdated: InputControlsState, payload: { props: { events: { @@ -44,18 +42,17 @@ const emitCallbackToUser = ( } }; -const inputControlsReducer = ( - state: { - inputControls: InputControlProperties[]; - validResponse: { [key: string]: any[] }; - validationResultState: { [key: string]: string }; - }, - action: { type: string; payload: any }, -): { +export interface InputControlsState { inputControls: InputControlProperties[]; validResponse: { [key: string]: any[] }; validationResultState: { [key: string]: string }; -} => { + initiatingCascadingIcId?: string; +} + +const inputControlsReducer = ( + state: InputControlsState, + action: { type: string; payload: any }, +): InputControlsState => { const { type, payload } = action; switch (type) { case INPUT_CONTROLS_ACTIONS.SET_DATA: { @@ -129,6 +126,12 @@ const inputControlsReducer = ( return stateUpdated; } + case INPUT_CONTROLS_ACTIONS.SET_INITIATING_CASCADING_IC_ID: { + return { + ...state, + initiatingCascadingIcId: payload.initiatingCascadingIcId, + }; + } case INPUT_CONTROLS_ACTIONS.UPDATE_SLAVE_DEPENDENCIES: { // Create a Map from the payload array const payloadMap: Map = new Map( @@ -178,22 +181,21 @@ const inputControlsReducer = ( }; export const InputControlsContext = createContext<{ - state: { - inputControls: InputControlProperties[]; - validResponse: { [key: string]: any[] }; - validationResultState: { [key: string]: string }; - }; + state: InputControlsState; dispatch: any; }>({ state: { inputControls: [], validResponse: {}, validationResultState: {}, + initiatingCascadingIcId: "", }, dispatch: () => {}, }); -const createInitialState = (initialState: InputControlProperties[]) => { +const createInitialState = ( + initialState: InputControlProperties[], +): InputControlsState => { const fixedInitialState = initialState.map((icProps) => { if ( icProps.state?.value !== undefined || @@ -215,6 +217,7 @@ const createInitialState = (initialState: InputControlProperties[]) => { inputControls: fixedInitialState, validResponse: {}, validationResultState: {}, + initiatingCascadingIcId: "", }; }; From 0c587010fdffb437bd9fa0a1cb78a89d4f09de0f Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Wed, 4 Dec 2024 11:54:38 -0600 Subject: [PATCH 07/55] feature(jv-input-controls): update values on the UI based on the state missing: to make all slave dependencies to behave the same way as the immediate slave dependency --- .../src/controls/SingleSelectInputControl.tsx | 77 ++++++++++++------- .../src/controls/hooks/useLiveState.ts | 5 +- .../src/panels/BasePanel.tsx | 20 ++--- .../src/reducer/InputControlsReducer.tsx | 19 +++++ packages/jv-tools/src/input-controls/index.ts | 1 + 5 files changed, 83 insertions(+), 39 deletions(-) diff --git a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx index 348ab516..97e1f40c 100644 --- a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx @@ -6,12 +6,15 @@ import { JVSelect } from "@jaspersoft/jv-ui-components"; import { JSX, useContext, useEffect, useState } from "react"; -import { InputControlProperties } from "@jaspersoft/jv-tools"; +import { + InputControlOption, + InputControlProperties, +} from "@jaspersoft/jv-tools"; import { useControlClasses } from "./hooks/useControlClasses"; -import { useErrorMsg } from "./hooks/useErrorMsg"; +// import { useErrorMsg } from "./hooks/useErrorMsg"; import { useLiveState } from "./hooks/useLiveState"; -import { getTheInitialValueForSingleSelectInputControl } from "../utils/DefaultValueUtils"; import { InputControlsContext } from "../reducer/InputControlsReducer"; +import { getInputControlProperties } from "./BaseInputControl"; export interface SingleSelectInputControlProps extends InputControlProperties {} @@ -22,45 +25,62 @@ export function SingleSelectInputControl( ): JSX.Element { // new variables due to the reducer state: const { state } = useContext(InputControlsContext); - const [localOptions, setLocalOptions] = useState(props.state?.options); + const [localOptions, setLocalOptions] = useState([]); + const [isLoading, setIsLoading] = useState(false); // live state: - const liveState = useLiveState( - getTheInitialValueForSingleSelectInputControl(props.state?.value), - ); - const errorText = useErrorMsg({ - textValue: liveState.value, - props, + // TODO: need to move the getTheInitialValueForSingleSelectInputControl to initialize the value on the state, not + // here. + // const liveState = useLiveState( + // getTheInitialValueForSingleSelectInputControl(props.state?.value), + // ); + const liveState = useLiveState("", (newValue: string | string[]) => { + props?.events?.change?.(getInputControlProperties(props, newValue), { + [props.id]: "", + }); }); + // TODO: need to restore the errorText by triggering it on the callback of useLiveState, not here as a new custom + // hook. + // const errorText = useErrorMsg({ + // textValue: liveState.value, + // props, + // }); useEffect(() => { const icFromState = state.inputControls.find(({ id }) => id === props.id)!; + // TODO: need to improve the way how we set the IsLoading variable. This variable is also living on the state. + if (icFromState.isLoading === true) { + setIsLoading(true); + } if ( - (icFromState.state !== undefined && - icFromState.state!.options !== undefined && - localOptions !== undefined && - JSON.stringify(icFromState.state!.options) !== - JSON.stringify(localOptions)) || - localOptions !== undefined + icFromState.state !== undefined && + icFromState.state!.options !== undefined && + JSON.stringify(icFromState.state!.options) !== + JSON.stringify(localOptions) ) { - setLocalOptions(icFromState.state!.options); + setLocalOptions(icFromState.state!.options!); } }, [state.inputControls]); useEffect(() => { - const valueFromState = state.validResponse[props.id]; - if (props.id === "Product_Name") { - console.log("props.id: ", props.id, ", valueFromState: ", valueFromState); - console.log("liveState.value: ", liveState.value); - console.log("----------"); - debugger; + if (localOptions === undefined) { + return; } + // TODO: this logic need to be improved + const selectedOne = localOptions.find(({ selected }) => selected); + const theValue = Array.isArray(liveState.value) + ? liveState.value.at(0) + : liveState.value; if ( - valueFromState !== undefined && - JSON.stringify(valueFromState) !== JSON.stringify(liveState.value) + localOptions.length > 0 && + !localOptions.some((option) => option.value === theValue) ) { - liveState.setValue(valueFromState); + liveState.setValue([selectedOne!.value]); } - }, [state.validResponse, liveState.value]); + setIsLoading(false); + }, [localOptions]); const controlClasses = useControlClasses([], props); - return ( + // error={errorText} + return isLoading ? ( + <>"Loading..." + ) : ( ); } diff --git a/packages/jv-input-controls/src/controls/hooks/useLiveState.ts b/packages/jv-input-controls/src/controls/hooks/useLiveState.ts index f726245f..bdd1e9ba 100644 --- a/packages/jv-input-controls/src/controls/hooks/useLiveState.ts +++ b/packages/jv-input-controls/src/controls/hooks/useLiveState.ts @@ -6,7 +6,7 @@ import { useState } from "react"; -export function useLiveState(initialValue: any) { +export function useLiveState(initialValue: any, callback?: any) { /** * Changes the value of an input element to match the one selected * @@ -26,6 +26,9 @@ export function useLiveState(initialValue: any) { if (Array.isArray(val)) setValue([...val]); else setValue(val); } + if (callback) { + callback(value); + } } const liveStateProps = { diff --git a/packages/jv-input-controls/src/panels/BasePanel.tsx b/packages/jv-input-controls/src/panels/BasePanel.tsx index 60c127b9..771d299b 100644 --- a/packages/jv-input-controls/src/panels/BasePanel.tsx +++ b/packages/jv-input-controls/src/panels/BasePanel.tsx @@ -368,15 +368,15 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { }, }); }) - .catch((error) => console.error("error: ", error)); - // .finally(() => - // dispatch({ - // type: INPUT_CONTROLS_ACTIONS.SET_INITIATING_CASCADING_IC_ID, - // payload: { - // initiatingCascadingIcId: "", - // }, - // }) - // ) + .catch((error) => console.error("error: ", error)) + .finally(() => + dispatch({ + type: INPUT_CONTROLS_ACTIONS.SET_INITIATING_CASCADING_IC_ID, + payload: { + initiatingCascadingIcId: "", + }, + }), + ); }; const getControlProps = ( @@ -393,6 +393,7 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { uri: control.uri, state: { ...control.state, + // TODO: I have to move this to the state: getDefaultValueFromParamsAndProps value: getDefaultValueFromParamsAndProps({ ...control, params }), }, masterDependencies: control.masterDependencies, @@ -430,6 +431,7 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { }; }; const buildControl = (control: any) => { + // TODO: need to use the values from the state instead of the values from the controls! const theProps = getControlProps(control, props.params); if (control.type === "bool") { return ( diff --git a/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx b/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx index 0470f4ed..ba0e6115 100644 --- a/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx +++ b/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx @@ -127,8 +127,27 @@ const inputControlsReducer = ( return stateUpdated; } case INPUT_CONTROLS_ACTIONS.SET_INITIATING_CASCADING_IC_ID: { + let masterIcId = payload.initiatingCascadingIcId; + let isLoading = true; + if (masterIcId === "") { + masterIcId = state.initiatingCascadingIcId; + isLoading = false; + } + const newICs = state.inputControls.map((ic) => { + if (!ic.masterDependencies) { + return ic; + } + if (ic.masterDependencies.includes(masterIcId)) { + return { + ...ic, + isLoading, + }; + } + return ic; + }); return { ...state, + inputControls: [...newICs], initiatingCascadingIcId: payload.initiatingCascadingIcId, }; } diff --git a/packages/jv-tools/src/input-controls/index.ts b/packages/jv-tools/src/input-controls/index.ts index 1881e545..b66fcbaf 100644 --- a/packages/jv-tools/src/input-controls/index.ts +++ b/packages/jv-tools/src/input-controls/index.ts @@ -88,6 +88,7 @@ export interface InputControlProperties { state?: InputControlState; validationRules?: InputControlValidationRule[]; dataType?: InputControlDataType; + isLoading?: boolean; masterDependencies?: string[]; slaveDependencies?: string[]; From 6c687a1f16eda6bfe0184df39f573f2832371a91 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Wed, 4 Dec 2024 17:09:23 -0600 Subject: [PATCH 08/55] feature(jv-input-controls): move logic for updating the input controls to the state instead of BasePanel --- .../jv-input-controls/src/InputControls.tsx | 13 +-- .../src/controls/SingleSelectInputControl.tsx | 6 +- .../src/controls/hooks/useLiveState.ts | 13 ++- .../jv-input-controls/src/methods/index.tsx | 13 +-- .../src/panels/BasePanel.tsx | 103 ++++++------------ .../src/reducer/InputControlsReducer.tsx | 68 ++++++------ .../src/utils/DefaultValueUtils.ts | 6 +- packages/jv-tools/src/input-controls/index.ts | 6 +- 8 files changed, 99 insertions(+), 129 deletions(-) diff --git a/packages/jv-input-controls/src/InputControls.tsx b/packages/jv-input-controls/src/InputControls.tsx index 932fda3b..3e52edd4 100644 --- a/packages/jv-input-controls/src/InputControls.tsx +++ b/packages/jv-input-controls/src/InputControls.tsx @@ -109,13 +109,12 @@ export function InputControls(props: InputControlsProps) { {(props.v === undefined || !embedControls) && showLoadingSpinner()} {props.v !== undefined && embedControls && ( - - + + )} diff --git a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx index 97e1f40c..215556aa 100644 --- a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx @@ -16,7 +16,9 @@ import { useLiveState } from "./hooks/useLiveState"; import { InputControlsContext } from "../reducer/InputControlsReducer"; import { getInputControlProperties } from "./BaseInputControl"; -export interface SingleSelectInputControlProps extends InputControlProperties {} +export interface SingleSelectInputControlProps extends InputControlProperties { + handleIcChange: any; +} export type SingleSelectICType = "singleSelect"; @@ -34,7 +36,7 @@ export function SingleSelectInputControl( // getTheInitialValueForSingleSelectInputControl(props.state?.value), // ); const liveState = useLiveState("", (newValue: string | string[]) => { - props?.events?.change?.(getInputControlProperties(props, newValue), { + props.handleIcChange(getInputControlProperties(props, newValue), { [props.id]: "", }); }); diff --git a/packages/jv-input-controls/src/controls/hooks/useLiveState.ts b/packages/jv-input-controls/src/controls/hooks/useLiveState.ts index bdd1e9ba..497d3347 100644 --- a/packages/jv-input-controls/src/controls/hooks/useLiveState.ts +++ b/packages/jv-input-controls/src/controls/hooks/useLiveState.ts @@ -18,16 +18,17 @@ export function useLiveState(initialValue: any, callback?: any) { const [value, setValue] = useState(initialValue); function handleChange(e: any) { + let newValue; if (e.target.type === "checkbox") { - const val = e.target.checked; - setValue(val); + newValue = e.target.checked; + setValue(newValue); } else { - const val = e.target.value; - if (Array.isArray(val)) setValue([...val]); - else setValue(val); + newValue = e.target.value; + if (Array.isArray(newValue)) setValue([...newValue]); + else setValue(newValue); } if (callback) { - callback(value); + callback(newValue); } } diff --git a/packages/jv-input-controls/src/methods/index.tsx b/packages/jv-input-controls/src/methods/index.tsx index 56ee0e76..ae2482b8 100644 --- a/packages/jv-input-controls/src/methods/index.tsx +++ b/packages/jv-input-controls/src/methods/index.tsx @@ -46,13 +46,12 @@ export const renderInputControls = ( const icRoot = createRoot(container); icRoot.render( - - + + , ); diff --git a/packages/jv-input-controls/src/panels/BasePanel.tsx b/packages/jv-input-controls/src/panels/BasePanel.tsx index 771d299b..f8cc24a9 100644 --- a/packages/jv-input-controls/src/panels/BasePanel.tsx +++ b/packages/jv-input-controls/src/panels/BasePanel.tsx @@ -5,7 +5,7 @@ */ import { JVDatePickerProvider } from "@jaspersoft/jv-ui-components"; -import { JSX, useContext } from "react"; +import { JSX, ReactElement, useContext } from "react"; import { InputControlProperties } from "@jaspersoft/jv-tools"; import { BooleanInputControl } from "../controls/BooleanInputControl"; import { DatePickerInputControl } from "../controls/DatePickerInputControl"; @@ -19,22 +19,13 @@ import { SingleValueTextInputControl } from "../controls/SingleValueTextInputCon import { TimePickerInputControl } from "../controls/TimePickerInputControl"; import { TimePickerTextFieldInputControl } from "../controls/TimePickerTextFieldInputControl"; import { InputControlsTypeConfig } from "../InputControls"; -import { getDefaultValueFromParamsAndProps } from "../utils/DefaultValueUtils"; import { INPUT_CONTROLS_ACTIONS, InputControlsContext, } from "../reducer/InputControlsReducer"; export interface BasePanelProps { - controls?: any; config?: InputControlsTypeConfig; - events?: { - change?: ( - ic: { [key: string]: any[] }, - validationResult: { [key: string]: string } | boolean, - ) => void; - }; - params?: { [key: string]: string[] }; } const SAMPLE_IC_UPDATED_RESPONSE = { @@ -364,7 +355,6 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { payload: { ...SAMPLE_IC_UPDATED_RESPONSE, ctrlUpdated, - props, }, }); }) @@ -379,60 +369,33 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { ); }; - const getControlProps = ( - control: any, - params?: { [key: string]: string[] }, + const handleIcChange = ( + ctrlUpdated: InputControlProperties, + resultValidation?: { [key: string]: string }, ) => { - return { - id: control.id, - label: control.label, - type: control.type, - readOnly: control.readOnly, - visible: control.visible, - mandatory: control.mandatory, - uri: control.uri, - state: { - ...control.state, - // TODO: I have to move this to the state: getDefaultValueFromParamsAndProps - value: getDefaultValueFromParamsAndProps({ ...control, params }), + dispatch({ + type: INPUT_CONTROLS_ACTIONS.UPDATE_DATA, + payload: { + ctrlUpdated, + resultValidation, }, - masterDependencies: control.masterDependencies, - slaveDependencies: control.slaveDependencies, - events: { - change: ( - ctrlUpdated: InputControlProperties, - resultValidation?: { [key: string]: string }, - ) => { - dispatch({ - type: INPUT_CONTROLS_ACTIONS.UPDATE_DATA, - payload: { - ctrlUpdated, - resultValidation, - props, - }, - }); - const slaveDependenciesOfInitialCascadingIC = - state.inputControls.find((ic) => { - return ic.id === state.initiatingCascadingIcId; - }); - const isSlaveDep = - slaveDependenciesOfInitialCascadingIC?.slaveDependencies?.includes( - ctrlUpdated.id, - ); - if (state.initiatingCascadingIcId !== ctrlUpdated.id && !isSlaveDep) { - // (state.initiatingCascadingIcId !== ctrlUpdated.id) || - // (ctrlUpdated.slaveDependencies !== undefined && - // ctrlUpdated.slaveDependencies.length > 0 && - // state.initiatingCascadingIcId === "") - handleCascadingRequest(ctrlUpdated); - } - }, + }); + const slaveDependenciesOfInitialCascadingIC = state.inputControls.find( + (ic) => { + return ic.id === state.initiatingCascadingIcId; }, - }; + ); + const isSlaveDep = + slaveDependenciesOfInitialCascadingIC?.slaveDependencies?.includes( + ctrlUpdated.id, + ); + if (state.initiatingCascadingIcId !== ctrlUpdated.id && !isSlaveDep) { + handleCascadingRequest(ctrlUpdated); + } }; + const buildControl = (control: any) => { - // TODO: need to use the values from the state instead of the values from the controls! - const theProps = getControlProps(control, props.params); + const theProps = control; if (control.type === "bool") { return ( @@ -548,22 +512,21 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { } }; - const buildControls = (controlMap: any) => { - if (controlMap?.data) { - return controlMap.data.map(buildControl); - } - if (controlMap) { - return ( - {JSON.stringify(controlMap)} - ); + const buildControls = () => { + if (state.inputControls) { + return state.inputControls.map(buildControl); } - return <>; + return ( + + {JSON.stringify(state.inputControls)} + + ); }; return (
- {buildControls(props.controls)} + {buildControls() as ReactElement[]}
); diff --git a/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx b/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx index ba0e6115..3d96ac77 100644 --- a/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx +++ b/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx @@ -9,6 +9,7 @@ import { InputControlProperties, } from "@jaspersoft/jv-tools"; import { createContext, useReducer } from "react"; +import { getDefaultValueFromParamsAndProps } from "../utils/DefaultValueUtils"; export const INPUT_CONTROLS_ACTIONS = { SET_DATA: "[INPUT_CONTROLS] SET_DATA", @@ -21,21 +22,16 @@ export const INPUT_CONTROLS_ACTIONS = { const emitCallbackToUser = ( icsUpdated: InputControlsState, payload: { - props: { - events: { - change: ( - arg0: { [key: string]: any[] }, - arg1: { [key: string]: string } | false, - ) => void; - }; - }; ctrlUpdated: InputControlProperties; }, emitCallbackToUser = true, ) => { if (emitCallbackToUser) { const isError = Object.keys(icsUpdated.validationResultState).length > 0; - payload.props.events?.change?.( + const cInputControl = icsUpdated.inputControls.find( + ({ id }) => id === payload.ctrlUpdated.id, + ); + cInputControl!.events?.change?.( icsUpdated.validResponse, isError ? icsUpdated.validationResultState : false, ); @@ -97,7 +93,7 @@ const inputControlsReducer = ( ), }; } - acc.state.push(ctrlToUse); + acc.state.push({ ...ctrl, ...ctrlToUse }); acc.response[ctrlToUse.id] = Array.isArray(ctrlToUse.state?.value) ? ctrlToUse.state?.value @@ -214,25 +210,28 @@ export const InputControlsContext = createContext<{ const createInitialState = ( initialState: InputControlProperties[], + params: { [key: string]: string[] }, + events?: { + change?: ( + ic: { [key: string]: any[] }, + validationResult: { [key: string]: string } | boolean, + ) => void; + }, ): InputControlsState => { - const fixedInitialState = initialState.map((icProps) => { - if ( - icProps.state?.value !== undefined || - icProps.state?.options === undefined - ) { - return icProps; - } - return { - ...icProps, - state: { - ...icProps.state, - value: icProps.state.options - .filter((opt) => opt.selected) - .map((opt) => opt.value), - }, - }; - }); + const fixedInitialState = initialState.map( + (icProps: InputControlProperties) => { + return { + ...icProps, + events, + state: { + ...icProps.state!, + value: getDefaultValueFromParamsAndProps({ ...icProps, params }), + }, + }; + }, + ); return { + // @ts-ignore inputControls: fixedInitialState, validResponse: {}, validationResultState: {}, @@ -243,14 +242,21 @@ const createInitialState = ( export const InputControlsProvider = ({ children, initialState, + overwriteParams, + events, }: { children: JSX.Element; initialState: InputControlProperties[]; + overwriteParams?: { [key: string]: string[] }; + events?: { + change?: ( + ic: { [key: string]: any[] }, + validationResult: { [key: string]: string } | boolean, + ) => void; + }; }) => { - const [state, dispatch] = useReducer( - inputControlsReducer, - initialState, - createInitialState, + const [state, dispatch] = useReducer(inputControlsReducer, initialState, () => + createInitialState(initialState, overwriteParams || {}, events), ); return ( diff --git a/packages/jv-input-controls/src/utils/DefaultValueUtils.ts b/packages/jv-input-controls/src/utils/DefaultValueUtils.ts index 405439b4..d44992e0 100644 --- a/packages/jv-input-controls/src/utils/DefaultValueUtils.ts +++ b/packages/jv-input-controls/src/utils/DefaultValueUtils.ts @@ -80,11 +80,11 @@ export const getDefaultValueFromParamsAndProps = ( }; export const getTheInitialValue = ( - initialValue: undefined | string | string[], + initialValue: undefined | string | string[] | boolean, ) => { return initialValue !== undefined && Array.isArray(initialValue) - ? initialValue[0] - : initialValue; + ? String(initialValue[0]) + : String(initialValue); }; export const getTheInitialValueForSingleSelectInputControl = ( diff --git a/packages/jv-tools/src/input-controls/index.ts b/packages/jv-tools/src/input-controls/index.ts index b66fcbaf..f329308a 100644 --- a/packages/jv-tools/src/input-controls/index.ts +++ b/packages/jv-tools/src/input-controls/index.ts @@ -57,7 +57,7 @@ export interface InputControlOption { export interface InputControlState { id: string; uri: string; - value?: string | string[]; // this is optional for the multi-select + value?: string | string[] | boolean; // this is optional for the multi-select error?: string; totalCount?: string; options?: InputControlOption[]; @@ -94,8 +94,8 @@ export interface InputControlProperties { slaveDependencies?: string[]; events?: { change: ( - ic: InputControlProperties, - validationResult?: { [key: string]: string }, + ic: { [key: string]: any[] } | InputControlProperties, // TODO: remove InputControlProperties + validationResult?: { [key: string]: string } | boolean, ) => void; }; parameters?: { [key: string]: string[] }; From 787d89f32ef0a1c8c1ac7e916a0d51a08d66ad14 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 5 Dec 2024 11:05:04 -0600 Subject: [PATCH 09/55] feature(jv-input-controls): restore callback with the result validation for single input controls so that the user can know if the value is okay or not --- .../src/controls/SingleSelectInputControl.tsx | 25 ++-- .../src/controls/hooks/useErrorMsg.ts | 89 ++---------- .../src/utils/ErrorMessageUtils.ts | 127 +++++++++++++++++- 3 files changed, 148 insertions(+), 93 deletions(-) diff --git a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx index 215556aa..c976704b 100644 --- a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx @@ -15,6 +15,7 @@ import { useControlClasses } from "./hooks/useControlClasses"; import { useLiveState } from "./hooks/useLiveState"; import { InputControlsContext } from "../reducer/InputControlsReducer"; import { getInputControlProperties } from "./BaseInputControl"; +import { validateValueAgainstICValidationRules } from "../utils/ErrorMessageUtils"; export interface SingleSelectInputControlProps extends InputControlProperties { handleIcChange: any; @@ -29,23 +30,21 @@ export function SingleSelectInputControl( const { state } = useContext(InputControlsContext); const [localOptions, setLocalOptions] = useState([]); const [isLoading, setIsLoading] = useState(false); + const [errorText, setErrorText] = useState(""); // live state: - // TODO: need to move the getTheInitialValueForSingleSelectInputControl to initialize the value on the state, not - // here. - // const liveState = useLiveState( - // getTheInitialValueForSingleSelectInputControl(props.state?.value), - // ); const liveState = useLiveState("", (newValue: string | string[]) => { + const { errorMsg } = validateValueAgainstICValidationRules( + newValue, + liveState.value, + props, + "", + {}, + ); + setErrorText(errorMsg); props.handleIcChange(getInputControlProperties(props, newValue), { - [props.id]: "", + [props.id]: errorMsg, }); }); - // TODO: need to restore the errorText by triggering it on the callback of useLiveState, not here as a new custom - // hook. - // const errorText = useErrorMsg({ - // textValue: liveState.value, - // props, - // }); useEffect(() => { const icFromState = state.inputControls.find(({ id }) => id === props.id)!; // TODO: need to improve the way how we set the IsLoading variable. This variable is also living on the state. @@ -79,7 +78,6 @@ export function SingleSelectInputControl( setIsLoading(false); }, [localOptions]); const controlClasses = useControlClasses([], props); - // error={errorText} return isLoading ? ( <>"Loading..." ) : ( @@ -91,6 +89,7 @@ export function SingleSelectInputControl( value={liveState.value} state={{ options: localOptions }} className={`${controlClasses.join(" ")}`} + error={errorText} /> ); } diff --git a/packages/jv-input-controls/src/controls/hooks/useErrorMsg.ts b/packages/jv-input-controls/src/controls/hooks/useErrorMsg.ts index 5681b0b7..9e293141 100644 --- a/packages/jv-input-controls/src/controls/hooks/useErrorMsg.ts +++ b/packages/jv-input-controls/src/controls/hooks/useErrorMsg.ts @@ -5,10 +5,8 @@ */ import { useState } from "react"; -import { verifyDateLimit } from "../../utils/DateInputControlUtils"; -import { getMandatoryErrorMessage } from "../../utils/ErrorMessageUtils"; +import { validateValueAgainstICValidationRules } from "../../utils/ErrorMessageUtils"; import { InputControlProperties } from "@jaspersoft/jv-tools"; -import { getInputControlProperties } from "../BaseInputControl"; import { useEffectAfterInitial } from "./useEffectAfterInitial"; interface UseMandatoryMsgProps { @@ -29,83 +27,16 @@ export const useErrorMsg = ({ textValue, ); - const validateTextValue = (textToValidate: string): string => { - // Determine the message based on: - // 1. whether the field is mandatory and the text value is empty - // 2. whether the field has a pattern that needs to be matched - // 3. whether the field meets the max date value - // 4. whether the field meets the min date value - let theMsg: string = - props?.mandatory && !textToValidate.trim() - ? getMandatoryErrorMessage(props?.validationRules) - : defaultValue; - if (!theMsg.trim() && props?.dataType?.pattern) { - // we have to evaluate the dataType and check if there is no pattern defined that we need to verify. - const regex = new RegExp(props.dataType.pattern); - regex.lastIndex = 0; - const isMatch = regex.test(textToValidate); - // TODO: we will need to translate this message once we add the i18n support: - theMsg = !isMatch - ? "This field does not match the required pattern." - : ""; - } - let isError = false; - if (!theMsg.trim() && minAndMaxDate) { - const checkMax = verifyDateLimit({ - maxOrMinDateAsString: - minAndMaxDate.max || - minAndMaxDate.maxDate || - minAndMaxDate.maxTime || - minAndMaxDate.maxDateTime, - dataType: props?.dataType, - dateAsString: textToValidate, - isVerifyingMin: false, - }); - theMsg = checkMax.helperText; - isError = checkMax.isError; - } - if (!isError && !theMsg.trim() && minAndMaxDate) { - const checkMax = verifyDateLimit({ - maxOrMinDateAsString: - minAndMaxDate.min || - minAndMaxDate.minDate || - minAndMaxDate.minTime || - minAndMaxDate.minDateTime, - dataType: props?.dataType, - dateAsString: textToValidate, - isVerifyingMin: true, - }); - theMsg = checkMax.helperText; - } - return theMsg; - }; - - const validateArray = (arrayValue: string[]): string => { - if (arrayValue.length === 0 && props?.mandatory) { - return getMandatoryErrorMessage(props?.validationRules); - } - return ""; - }; - useEffectAfterInitial(() => { - const isArray = Array.isArray(textValue); - if ( - (isArray && - (textValue[0] === "" || - JSON.stringify(textValue) !== JSON.stringify(theTextValue))) || - (!isArray && (textValue === "" || textValue !== theTextValue)) - ) { - setTheTextValue(textValue); - const errorMessage = isArray - ? validateArray(textValue) - : validateTextValue(textValue); - const finalMsg = errorMessage?.trim().length > 0 ? errorMessage : ""; - // also, we have to trigger the callback in case there was an error - props?.events?.change?.(getInputControlProperties(props, textValue), { - [props.id]: finalMsg, - }); - setMsg(finalMsg); - } + const { newValue, errorMsg } = validateValueAgainstICValidationRules( + textValue, + theTextValue, + props, + defaultValue, + minAndMaxDate, + ); + setTheTextValue(newValue); + setMsg(errorMsg); }, [textValue]); return msg; }; diff --git a/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts b/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts index bc5afa14..09b511de 100644 --- a/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts +++ b/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts @@ -4,7 +4,13 @@ * in the license file that is distributed with this file. */ -import { InputControlValidationRule } from "@jaspersoft/jv-tools"; +import { + InputControlDataType, + InputControlProperties, + InputControlValidationRule, +} from "@jaspersoft/jv-tools"; +import { verifyDateLimit } from "./DateInputControlUtils"; +import { getInputControlProperties } from "../controls/BaseInputControl"; export const getMandatoryErrorMessage = ( validationRules: InputControlValidationRule[] | undefined, @@ -18,3 +24,122 @@ export const getMandatoryErrorMessage = ( } return rule!.mandatoryValidationRule!.errorMessage || ""; }; + +export const validateTextValue = ({ + textToValidate, + validationRules = [], + mandatory = false, + defaultValue, + minAndMaxDate, + dataType = {}, +}: { + textToValidate: string; + validationRules: InputControlValidationRule[]; + mandatory: boolean; + defaultValue: string; + minAndMaxDate?: { [key: string]: string }; + dataType: InputControlDataType; +}): string => { + // Determine the message based on: + // 1. whether the field is mandatory and the text value is empty + // 2. whether the field has a pattern that needs to be matched + // 3. whether the field meets the max date value + // 4. whether the field meets the min date value + let theMsg: string = + mandatory && !textToValidate.trim() + ? getMandatoryErrorMessage(validationRules) + : defaultValue; + if (!theMsg.trim() && dataType?.pattern) { + // we have to evaluate the dataType and check if there is no pattern defined that we need to verify. + const regex = new RegExp(dataType.pattern); + regex.lastIndex = 0; + const isMatch = regex.test(textToValidate); + // TODO: we will need to translate this message once we add the i18n support: + theMsg = !isMatch ? "This field does not match the required pattern." : ""; + } + let isError = false; + if (!theMsg.trim() && minAndMaxDate) { + const checkMax = verifyDateLimit({ + maxOrMinDateAsString: + minAndMaxDate.max || + minAndMaxDate.maxDate || + minAndMaxDate.maxTime || + minAndMaxDate.maxDateTime, + dataType: dataType, + dateAsString: textToValidate, + isVerifyingMin: false, + }); + theMsg = checkMax.helperText; + isError = checkMax.isError; + } + if (!isError && !theMsg.trim() && minAndMaxDate) { + const checkMax = verifyDateLimit({ + maxOrMinDateAsString: + minAndMaxDate.min || + minAndMaxDate.minDate || + minAndMaxDate.minTime || + minAndMaxDate.minDateTime, + dataType: dataType, + dateAsString: textToValidate, + isVerifyingMin: true, + }); + theMsg = checkMax.helperText; + } + return theMsg; +}; + +export const validateArray = ({ + arrayValue, + mandatory, + validationRules, +}: { + arrayValue: string[]; + mandatory: boolean; + validationRules: InputControlValidationRule[]; +}): string => { + if (arrayValue.length === 0 && mandatory) { + return getMandatoryErrorMessage(validationRules); + } + return ""; +}; + +export const validateValueAgainstICValidationRules = ( + newTextValue: string | string[], + currentTextValue: string | string[], + props?: InputControlProperties, + defaultValue?: string, + minAndMaxDate?: { [p: string]: string }, +) => { + const isArray = Array.isArray(newTextValue); + let finalMsg = ""; + if ( + (isArray && + (newTextValue[0] === "" || + JSON.stringify(newTextValue) !== JSON.stringify(currentTextValue))) || + (!isArray && (newTextValue === "" || newTextValue !== currentTextValue)) + ) { + const errorMessage = isArray + ? validateArray({ + arrayValue: newTextValue, + mandatory: props?.mandatory || false, + validationRules: props?.validationRules || [], + }) + : validateTextValue({ + textToValidate: newTextValue, + validationRules: props?.validationRules || [], + mandatory: props?.mandatory || false, + defaultValue: defaultValue || "", + minAndMaxDate, + dataType: props?.dataType || {}, + }); + finalMsg = errorMessage?.trim().length > 0 ? errorMessage : ""; + // also, we have to trigger the callback in case there was an error + props?.events?.change?.(getInputControlProperties(props, newTextValue), { + [props.id]: finalMsg, + }); + } + return { + newValue: newTextValue, + errorMsg: finalMsg, + }; +}; From 303f95796f3d682006db8f2a64a80ff2dff45213 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 5 Dec 2024 12:31:44 -0600 Subject: [PATCH 10/55] feature(jv-input-controls): add cascading feature for MultiSelect Input Control --- .../src/controls/MultiSelectInputControl.tsx | 82 +++++- .../src/panels/BasePanel.tsx | 264 +++++++----------- .../src/utils/ErrorMessageUtils.ts | 8 +- 3 files changed, 181 insertions(+), 173 deletions(-) diff --git a/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx b/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx index 91ecaf3c..18cbea1a 100644 --- a/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx @@ -5,29 +5,89 @@ */ import { useControlClasses } from "./hooks/useControlClasses"; -import { useErrorMsg } from "./hooks/useErrorMsg"; import { useLiveState } from "./hooks/useLiveState"; import { JVMultiSelect } from "@jaspersoft/jv-ui-components"; -import { InputControlProperties } from "@jaspersoft/jv-tools"; +import { + InputControlOption, + InputControlProperties, +} from "@jaspersoft/jv-tools"; +import { useContext, useEffect, useState } from "react"; +import { InputControlsContext } from "../reducer/InputControlsReducer"; +import { validateValueAgainstICValidationRules } from "../utils/ErrorMessageUtils"; +import { getInputControlProperties } from "./BaseInputControl"; export type MultiSelectICType = "multiSelect"; +export interface MultiSelectInputControlProps extends InputControlProperties { + handleIcChange: any; +} + export const MultiSelectInputControl = ( - props: InputControlProperties, + props: MultiSelectInputControlProps, ): JSX.Element => { - const { setValue, ...liveState } = useLiveState(props.state?.value); - const controlClasses = useControlClasses([], props); - const errorText = useErrorMsg({ - textValue: liveState.value, - props, + // new variables due to the reducer state: + const { state } = useContext(InputControlsContext); + const [localOptions, setLocalOptions] = useState([]); + const [isLoading, setIsLoading] = useState(false); + const [errorText, setErrorText] = useState(""); + + // live state: + const liveState = useLiveState([""], (newValue: string | string[]) => { + const { errorMsg } = validateValueAgainstICValidationRules( + newValue, + liveState.value, + props, + [""], + {}, + ); + setErrorText(errorMsg); + props.handleIcChange(getInputControlProperties(props, newValue), { + [props.id]: errorMsg, + }); }); - return ( + useEffect(() => { + const icFromState = state.inputControls.find(({ id }) => id === props.id)!; + // TODO: need to improve the way how we set the IsLoading variable. This variable is also living on the state. + if (icFromState.isLoading === true) { + setIsLoading(true); + } + if ( + icFromState.state !== undefined && + icFromState.state!.options !== undefined && + JSON.stringify(icFromState.state!.options) !== + JSON.stringify(localOptions) + ) { + setLocalOptions(icFromState.state!.options!); + } + }, [state.inputControls]); + useEffect(() => { + if (localOptions === undefined) { + return; + } + // TODO: this logic need to be improved + const selectedOne: InputControlOption[] = localOptions.filter( + ({ selected }) => selected, + ); + const theValue: string[] = liveState.value; + if ( + localOptions.length > 0 && + !localOptions.some((option) => theValue.includes(option.value)) + ) { + liveState.setValue(selectedOne.map(({ value }) => value)); + } + setIsLoading(false); + }, [localOptions]); + const controlClasses = useControlClasses([], props); + return isLoading ? ( + <>"Loading..." + ) : ( diff --git a/packages/jv-input-controls/src/panels/BasePanel.tsx b/packages/jv-input-controls/src/panels/BasePanel.tsx index f8cc24a9..dd6ce7b4 100644 --- a/packages/jv-input-controls/src/panels/BasePanel.tsx +++ b/packages/jv-input-controls/src/panels/BasePanel.tsx @@ -31,18 +31,23 @@ export interface BasePanelProps { const SAMPLE_IC_UPDATED_RESPONSE = { inputControlState: [ { - uri: "/public/Samples/Resources/Input_Controls/Product_Category", - id: "Product_Category", + uri: "/public/Samples/Resources/Input_Controls/Product_Department", + id: "Product_Department", options: [ { selected: true, - label: "Meat", - value: "Meat", + label: "Alcoholic Beverages", + value: "Alcoholic Beverages", + }, + { + selected: false, + label: "Beverages", + value: "Beverages", }, { selected: false, - label: "Side Dishes", - value: "Side Dishes", + label: "Dairy", + value: "Dairy", }, { selected: false, @@ -52,283 +57,224 @@ const SAMPLE_IC_UPDATED_RESPONSE = { ], }, { - uri: "/public/Samples/Resources/Input_Controls/Product_Name", - id: "Product_Name", + uri: "/public/Samples/Resources/Input_Controls/Product_Category", + id: "Product_Category", options: [ { selected: true, - label: "American Beef Bologna", - value: "American Beef Bologna", - }, - { - selected: false, - label: "American Chicken Hot Dogs", - value: "American Chicken Hot Dogs", - }, - { - selected: false, - label: "American Corned Beef", - value: "American Corned Beef", - }, - { - selected: false, - label: "American Foot-Long Hot Dogs", - value: "American Foot-Long Hot Dogs", - }, - { - selected: false, - label: "American Low Fat Bologna", - value: "American Low Fat Bologna", - }, - { - selected: false, - label: "American Pimento Loaf", - value: "American Pimento Loaf", - }, - { - selected: false, - label: "American Roasted Chicken", - value: "American Roasted Chicken", - }, - { - selected: false, - label: "American Sliced Chicken", - value: "American Sliced Chicken", + label: "Beer and Wine", + value: "Beer and Wine", }, { selected: false, - label: "American Sliced Ham", - value: "American Sliced Ham", - }, - { - selected: false, - label: "American Sliced Turkey", - value: "American Sliced Turkey", - }, - { - selected: false, - label: "American Turkey Hot Dogs", - value: "American Turkey Hot Dogs", - }, - { - selected: false, - label: "Cutting Edge Beef Bologna", - value: "Cutting Edge Beef Bologna", - }, - { - selected: false, - label: "Cutting Edge Chicken Hot Dogs", - value: "Cutting Edge Chicken Hot Dogs", - }, - { - selected: false, - label: "Cutting Edge Corned Beef", - value: "Cutting Edge Corned Beef", - }, - { - selected: false, - label: "Cutting Edge Foot-Long Hot Dogs", - value: "Cutting Edge Foot-Long Hot Dogs", + label: "All", + value: "All", }, + ], + }, + { + uri: "/public/Samples/Resources/Input_Controls/Product_Name", + id: "Product_Name", + options: [ { - selected: false, - label: "Cutting Edge Low Fat Bologna", - value: "Cutting Edge Low Fat Bologna", + selected: true, + label: "Good Chablis Wine", + value: "Good Chablis Wine", }, { selected: false, - label: "Cutting Edge Pimento Loaf", - value: "Cutting Edge Pimento Loaf", + label: "Good Chardonnay", + value: "Good Chardonnay", }, { selected: false, - label: "Cutting Edge Roasted Chicken", - value: "Cutting Edge Roasted Chicken", + label: "Good Chardonnay Wine", + value: "Good Chardonnay Wine", }, { selected: false, - label: "Cutting Edge Sliced Chicken", - value: "Cutting Edge Sliced Chicken", + label: "Good Imported Beer", + value: "Good Imported Beer", }, { selected: false, - label: "Cutting Edge Sliced Ham", - value: "Cutting Edge Sliced Ham", + label: "Good Light Beer", + value: "Good Light Beer", }, { selected: false, - label: "Cutting Edge Sliced Turkey", - value: "Cutting Edge Sliced Turkey", + label: "Good Light Wine", + value: "Good Light Wine", }, { selected: false, - label: "Cutting Edge Turkey Hot Dogs", - value: "Cutting Edge Turkey Hot Dogs", + label: "Good Merlot Wine", + value: "Good Merlot Wine", }, { selected: false, - label: "Lake Beef Bologna", - value: "Lake Beef Bologna", + label: "Good White Zinfandel Wine", + value: "Good White Zinfandel Wine", }, { selected: false, - label: "Lake Chicken Hot Dogs", - value: "Lake Chicken Hot Dogs", + label: "Pearl Chablis Wine", + value: "Pearl Chablis Wine", }, { selected: false, - label: "Lake Corned Beef", - value: "Lake Corned Beef", + label: "Pearl Chardonnay", + value: "Pearl Chardonnay", }, { selected: false, - label: "Lake Foot-Long Hot Dogs", - value: "Lake Foot-Long Hot Dogs", + label: "Pearl Chardonnay Wine", + value: "Pearl Chardonnay Wine", }, { selected: false, - label: "Lake Low Fat Bologna", - value: "Lake Low Fat Bologna", + label: "Pearl Imported Beer", + value: "Pearl Imported Beer", }, { selected: false, - label: "Lake Pimento Loaf", - value: "Lake Pimento Loaf", + label: "Pearl Light Beer", + value: "Pearl Light Beer", }, { selected: false, - label: "Lake Roasted Chicken", - value: "Lake Roasted Chicken", + label: "Pearl Light Wine", + value: "Pearl Light Wine", }, { selected: false, - label: "Lake Sliced Chicken", - value: "Lake Sliced Chicken", + label: "Pearl Merlot Wine", + value: "Pearl Merlot Wine", }, { selected: false, - label: "Lake Sliced Ham", - value: "Lake Sliced Ham", + label: "Pearl White Zinfandel Wine", + value: "Pearl White Zinfandel Wine", }, { selected: false, - label: "Lake Sliced Turkey", - value: "Lake Sliced Turkey", + label: "Portsmouth Chablis Wine", + value: "Portsmouth Chablis Wine", }, { selected: false, - label: "Lake Turkey Hot Dogs", - value: "Lake Turkey Hot Dogs", + label: "Portsmouth Chardonnay", + value: "Portsmouth Chardonnay", }, { selected: false, - label: "Moms Beef Bologna", - value: "Moms Beef Bologna", + label: "Portsmouth Chardonnay Wine", + value: "Portsmouth Chardonnay Wine", }, { selected: false, - label: "Moms Chicken Hot Dogs", - value: "Moms Chicken Hot Dogs", + label: "Portsmouth Imported Beer", + value: "Portsmouth Imported Beer", }, { selected: false, - label: "Moms Corned Beef", - value: "Moms Corned Beef", + label: "Portsmouth Light Beer", + value: "Portsmouth Light Beer", }, { selected: false, - label: "Moms Foot-Long Hot Dogs", - value: "Moms Foot-Long Hot Dogs", + label: "Portsmouth Light Wine", + value: "Portsmouth Light Wine", }, { selected: false, - label: "Moms Low Fat Bologna", - value: "Moms Low Fat Bologna", + label: "Portsmouth Merlot Wine", + value: "Portsmouth Merlot Wine", }, { selected: false, - label: "Moms Pimento Loaf", - value: "Moms Pimento Loaf", + label: "Portsmouth White Zinfandel Wine", + value: "Portsmouth White Zinfandel Wine", }, { selected: false, - label: "Moms Roasted Chicken", - value: "Moms Roasted Chicken", + label: "Top Measure Chablis Wine", + value: "Top Measure Chablis Wine", }, { selected: false, - label: "Moms Sliced Chicken", - value: "Moms Sliced Chicken", + label: "Top Measure Chardonnay", + value: "Top Measure Chardonnay", }, { selected: false, - label: "Moms Sliced Ham", - value: "Moms Sliced Ham", + label: "Top Measure Chardonnay Wine", + value: "Top Measure Chardonnay Wine", }, { selected: false, - label: "Moms Sliced Turkey", - value: "Moms Sliced Turkey", + label: "Top Measure Imported Beer", + value: "Top Measure Imported Beer", }, { selected: false, - label: "Moms Turkey Hot Dogs", - value: "Moms Turkey Hot Dogs", + label: "Top Measure Light Beer", + value: "Top Measure Light Beer", }, { selected: false, - label: "Red Spade Beef Bologna", - value: "Red Spade Beef Bologna", + label: "Top Measure Light Wine", + value: "Top Measure Light Wine", }, { selected: false, - label: "Red Spade Chicken Hot Dogs", - value: "Red Spade Chicken Hot Dogs", + label: "Top Measure Merlot Wine", + value: "Top Measure Merlot Wine", }, { selected: false, - label: "Red Spade Corned Beef", - value: "Red Spade Corned Beef", + label: "Top Measure White Zinfandel Wine", + value: "Top Measure White Zinfandel Wine", }, { selected: false, - label: "Red Spade Foot-Long Hot Dogs", - value: "Red Spade Foot-Long Hot Dogs", + label: "Walrus Chablis Wine", + value: "Walrus Chablis Wine", }, { selected: false, - label: "Red Spade Low Fat Bologna", - value: "Red Spade Low Fat Bologna", + label: "Walrus Chardonnay", + value: "Walrus Chardonnay", }, { selected: false, - label: "Red Spade Pimento Loaf", - value: "Red Spade Pimento Loaf", + label: "Walrus Chardonnay Wine", + value: "Walrus Chardonnay Wine", }, { selected: false, - label: "Red Spade Roasted Chicken", - value: "Red Spade Roasted Chicken", + label: "Walrus Imported Beer", + value: "Walrus Imported Beer", }, { selected: false, - label: "Red Spade Sliced Chicken", - value: "Red Spade Sliced Chicken", + label: "Walrus Light Beer", + value: "Walrus Light Beer", }, { selected: false, - label: "Red Spade Sliced Ham", - value: "Red Spade Sliced Ham", + label: "Walrus Light Wine", + value: "Walrus Light Wine", }, { selected: false, - label: "Red Spade Sliced Turkey", - value: "Red Spade Sliced Turkey", + label: "Walrus Merlot Wine", + value: "Walrus Merlot Wine", }, { selected: false, - label: "Red Spade Turkey Hot Dogs", - value: "Red Spade Turkey Hot Dogs", + label: "Walrus White Zinfandel Wine", + value: "Walrus White Zinfandel Wine", }, ], }, @@ -346,7 +292,6 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { }, }); - console.log("triggering a new CALL from: ", ctrlUpdated.id); // TODO: We should trigger the CALL to the server to get the new data in case it's a cascading input control fetch("https://jsonplaceholder.typicode.com/users/1") .then(() => { @@ -487,6 +432,7 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { {...theProps} key={control.id} validationRules={control.validationRules} + handleIcChange={handleIcChange} /> ); } diff --git a/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts b/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts index 09b511de..da22b04f 100644 --- a/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts +++ b/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts @@ -36,7 +36,7 @@ export const validateTextValue = ({ textToValidate: string; validationRules: InputControlValidationRule[]; mandatory: boolean; - defaultValue: string; + defaultValue: string | string[]; minAndMaxDate?: { [key: string]: string }; dataType: InputControlDataType; }): string => { @@ -48,7 +48,9 @@ export const validateTextValue = ({ let theMsg: string = mandatory && !textToValidate.trim() ? getMandatoryErrorMessage(validationRules) - : defaultValue; + : Array.isArray(defaultValue) + ? defaultValue[0] + : defaultValue; if (!theMsg.trim() && dataType?.pattern) { // we have to evaluate the dataType and check if there is no pattern defined that we need to verify. const regex = new RegExp(dataType.pattern); @@ -107,7 +109,7 @@ export const validateValueAgainstICValidationRules = ( newTextValue: string | string[], currentTextValue: string | string[], props?: InputControlProperties, - defaultValue?: string, + defaultValue?: string | string[], minAndMaxDate?: { [p: string]: string }, ) => { const isArray = Array.isArray(newTextValue); From 0e7a973517885472d94dbbf2acae3260b87997fa Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 5 Dec 2024 14:38:10 -0600 Subject: [PATCH 11/55] feature(jv-input-controls): fix triggering multiple times the events.change for the cascading input controls --- .../src/controls/SingleSelectInputControl.tsx | 1 - .../jv-input-controls/src/controls/hooks/useLiveState.ts | 2 +- packages/jv-input-controls/src/utils/ErrorMessageUtils.ts | 7 ++++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx index c976704b..ef7b7a54 100644 --- a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx @@ -11,7 +11,6 @@ import { InputControlProperties, } from "@jaspersoft/jv-tools"; import { useControlClasses } from "./hooks/useControlClasses"; -// import { useErrorMsg } from "./hooks/useErrorMsg"; import { useLiveState } from "./hooks/useLiveState"; import { InputControlsContext } from "../reducer/InputControlsReducer"; import { getInputControlProperties } from "./BaseInputControl"; diff --git a/packages/jv-input-controls/src/controls/hooks/useLiveState.ts b/packages/jv-input-controls/src/controls/hooks/useLiveState.ts index 497d3347..16df0169 100644 --- a/packages/jv-input-controls/src/controls/hooks/useLiveState.ts +++ b/packages/jv-input-controls/src/controls/hooks/useLiveState.ts @@ -34,7 +34,7 @@ export function useLiveState(initialValue: any, callback?: any) { const liveStateProps = { value: value, - setValue: setValue, + setValue, onChange: handleChange, }; diff --git a/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts b/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts index da22b04f..c26346a4 100644 --- a/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts +++ b/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts @@ -136,9 +136,10 @@ export const validateValueAgainstICValidationRules = ( }); finalMsg = errorMessage?.trim().length > 0 ? errorMessage : ""; // also, we have to trigger the callback in case there was an error - props?.events?.change?.(getInputControlProperties(props, newTextValue), { - [props.id]: finalMsg, - }); + props?.slaveDependencies?.length === 0 && + props?.events?.change?.(getInputControlProperties(props, newTextValue), { + [props.id]: finalMsg, + }); } return { newValue: newTextValue, From 7438f4ae1bb5cea7cbf987fbec00ae3614f16203 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 5 Dec 2024 16:17:47 -0600 Subject: [PATCH 12/55] feature(jv-input-controls): improve code readability --- .../src/panels/BasePanel.tsx | 14 +++------ .../src/reducer/InputControlsReducer.tsx | 29 +++++++++---------- 2 files changed, 17 insertions(+), 26 deletions(-) diff --git a/packages/jv-input-controls/src/panels/BasePanel.tsx b/packages/jv-input-controls/src/panels/BasePanel.tsx index dd6ce7b4..107933ed 100644 --- a/packages/jv-input-controls/src/panels/BasePanel.tsx +++ b/packages/jv-input-controls/src/panels/BasePanel.tsx @@ -325,16 +325,10 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { resultValidation, }, }); - const slaveDependenciesOfInitialCascadingIC = state.inputControls.find( - (ic) => { - return ic.id === state.initiatingCascadingIcId; - }, - ); - const isSlaveDep = - slaveDependenciesOfInitialCascadingIC?.slaveDependencies?.includes( - ctrlUpdated.id, - ); - if (state.initiatingCascadingIcId !== ctrlUpdated.id && !isSlaveDep) { + if ( + ctrlUpdated.slaveDependencies && + ctrlUpdated.slaveDependencies.length > 0 + ) { handleCascadingRequest(ctrlUpdated); } }; diff --git a/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx b/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx index 3d96ac77..44e92039 100644 --- a/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx +++ b/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx @@ -24,18 +24,15 @@ const emitCallbackToUser = ( payload: { ctrlUpdated: InputControlProperties; }, - emitCallbackToUser = true, ) => { - if (emitCallbackToUser) { - const isError = Object.keys(icsUpdated.validationResultState).length > 0; - const cInputControl = icsUpdated.inputControls.find( - ({ id }) => id === payload.ctrlUpdated.id, - ); - cInputControl!.events?.change?.( - icsUpdated.validResponse, - isError ? icsUpdated.validationResultState : false, - ); - } + const isError = Object.keys(icsUpdated.validationResultState).length > 0; + const cInputControl = icsUpdated.inputControls.find( + ({ id }) => id === payload.ctrlUpdated.id, + ); + cInputControl!.events?.change?.( + icsUpdated.validResponse, + isError ? icsUpdated.validationResultState : false, + ); }; export interface InputControlsState { @@ -113,12 +110,12 @@ const inputControlsReducer = ( validResponse: { ...icsUpdated.response }, validationResultState: { ...icsUpdated.invalidResponse }, }; - emitCallbackToUser( - stateUpdated, - payload, + if ( payload.ctrlUpdated.slaveDependencies === undefined || - payload.ctrlUpdated.slaveDependencies.length === 0, - ); + payload.ctrlUpdated.slaveDependencies.length === 0 + ) { + emitCallbackToUser(stateUpdated, payload); + } return stateUpdated; } From 59fcb51a59532a7362cf7157f6c40dd97828974f Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 5 Dec 2024 16:30:30 -0600 Subject: [PATCH 13/55] feature(jv-input-controls): improve code readability II --- .../src/panels/BasePanel.tsx | 31 +++++++++---------- .../src/reducer/InputControlsReducer.tsx | 25 ++++++--------- 2 files changed, 24 insertions(+), 32 deletions(-) diff --git a/packages/jv-input-controls/src/panels/BasePanel.tsx b/packages/jv-input-controls/src/panels/BasePanel.tsx index 107933ed..3acf023c 100644 --- a/packages/jv-input-controls/src/panels/BasePanel.tsx +++ b/packages/jv-input-controls/src/panels/BasePanel.tsx @@ -286,9 +286,9 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { const handleCascadingRequest = (ctrlUpdated: InputControlProperties) => { dispatch({ - type: INPUT_CONTROLS_ACTIONS.SET_INITIATING_CASCADING_IC_ID, + type: INPUT_CONTROLS_ACTIONS.SET_INITIATOR_ID_CASCADING_IC, payload: { - initiatingCascadingIcId: ctrlUpdated.id, + initiatorIdCascadingIc: ctrlUpdated.id, }, }); @@ -306,9 +306,9 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { .catch((error) => console.error("error: ", error)) .finally(() => dispatch({ - type: INPUT_CONTROLS_ACTIONS.SET_INITIATING_CASCADING_IC_ID, + type: INPUT_CONTROLS_ACTIONS.SET_INITIATOR_ID_CASCADING_IC, payload: { - initiatingCascadingIcId: "", + initiatorIdCascadingIc: "", }, }), ); @@ -334,11 +334,10 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { }; const buildControl = (control: any) => { - const theProps = control; if (control.type === "bool") { return ( @@ -351,7 +350,7 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { } return ( { const { type, payload } = action; switch (type) { - case INPUT_CONTROLS_ACTIONS.SET_DATA: { - return { - ...state, - ...payload, - }; - } case INPUT_CONTROLS_ACTIONS.UPDATE_DATA: { const icsUpdated = state.inputControls.reduce( ( @@ -119,11 +112,11 @@ const inputControlsReducer = ( return stateUpdated; } - case INPUT_CONTROLS_ACTIONS.SET_INITIATING_CASCADING_IC_ID: { - let masterIcId = payload.initiatingCascadingIcId; + case INPUT_CONTROLS_ACTIONS.SET_INITIATOR_ID_CASCADING_IC: { + let masterIcId = payload.initiatorIdCascadingIc; let isLoading = true; if (masterIcId === "") { - masterIcId = state.initiatingCascadingIcId; + masterIcId = state.initiatorIdCascadingIc; isLoading = false; } const newICs = state.inputControls.map((ic) => { @@ -141,7 +134,7 @@ const inputControlsReducer = ( return { ...state, inputControls: [...newICs], - initiatingCascadingIcId: payload.initiatingCascadingIcId, + initiatorIdCascadingIc: payload.initiatorIdCascadingIc, }; } case INPUT_CONTROLS_ACTIONS.UPDATE_SLAVE_DEPENDENCIES: { @@ -200,7 +193,7 @@ export const InputControlsContext = createContext<{ inputControls: [], validResponse: {}, validationResultState: {}, - initiatingCascadingIcId: "", + initiatorIdCascadingIc: "", }, dispatch: () => {}, }); @@ -232,7 +225,7 @@ const createInitialState = ( inputControls: fixedInitialState, validResponse: {}, validationResultState: {}, - initiatingCascadingIcId: "", + initiatorIdCascadingIc: "", }; }; From 6ba90669f91d8d8102557fea6eb72fb4f011c583 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 5 Dec 2024 16:35:42 -0600 Subject: [PATCH 14/55] feature(jv-input-controls): add skeleton while the cascading input control is being updated --- .../src/controls/MultiSelectInputControl.tsx | 4 ++-- .../src/controls/SingleSelectInputControl.tsx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx b/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx index 18cbea1a..eb354429 100644 --- a/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx @@ -6,7 +6,7 @@ import { useControlClasses } from "./hooks/useControlClasses"; import { useLiveState } from "./hooks/useLiveState"; -import { JVMultiSelect } from "@jaspersoft/jv-ui-components"; +import { JVMultiSelect, JVSkeleton } from "@jaspersoft/jv-ui-components"; import { InputControlOption, InputControlProperties, @@ -79,7 +79,7 @@ export const MultiSelectInputControl = ( }, [localOptions]); const controlClasses = useControlClasses([], props); return isLoading ? ( - <>"Loading..." + ) : ( "Loading..." + ) : ( Date: Fri, 6 Dec 2024 09:08:43 -0600 Subject: [PATCH 15/55] feature(jv-input-controls): create new custom hook to encapsulate the logic for updating the options for single and multi select input control --- .../src/controls/MultiSelectInputControl.tsx | 34 +++++---------- .../src/controls/SingleSelectInputControl.tsx | 39 ++++++----------- .../src/controls/hooks/useCascadingOptions.ts | 43 +++++++++++++++++++ 3 files changed, 66 insertions(+), 50 deletions(-) create mode 100644 packages/jv-input-controls/src/controls/hooks/useCascadingOptions.ts diff --git a/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx b/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx index eb354429..de0436fa 100644 --- a/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx @@ -15,6 +15,7 @@ import { useContext, useEffect, useState } from "react"; import { InputControlsContext } from "../reducer/InputControlsReducer"; import { validateValueAgainstICValidationRules } from "../utils/ErrorMessageUtils"; import { getInputControlProperties } from "./BaseInputControl"; +import { useCascadingOptions } from "./hooks/useCascadingOptions"; export type MultiSelectICType = "multiSelect"; @@ -27,8 +28,6 @@ export const MultiSelectInputControl = ( ): JSX.Element => { // new variables due to the reducer state: const { state } = useContext(InputControlsContext); - const [localOptions, setLocalOptions] = useState([]); - const [isLoading, setIsLoading] = useState(false); const [errorText, setErrorText] = useState(""); // live state: @@ -45,38 +44,27 @@ export const MultiSelectInputControl = ( [props.id]: errorMsg, }); }); + const { options, isLoading, setIsLoading } = useCascadingOptions({ + inputControls: state.inputControls, + currentIcID: props.id, + }); useEffect(() => { - const icFromState = state.inputControls.find(({ id }) => id === props.id)!; - // TODO: need to improve the way how we set the IsLoading variable. This variable is also living on the state. - if (icFromState.isLoading === true) { - setIsLoading(true); - } - if ( - icFromState.state !== undefined && - icFromState.state!.options !== undefined && - JSON.stringify(icFromState.state!.options) !== - JSON.stringify(localOptions) - ) { - setLocalOptions(icFromState.state!.options!); - } - }, [state.inputControls]); - useEffect(() => { - if (localOptions === undefined) { + if (options === undefined) { return; } // TODO: this logic need to be improved - const selectedOne: InputControlOption[] = localOptions.filter( + const selectedOne: InputControlOption[] = options.filter( ({ selected }) => selected, ); const theValue: string[] = liveState.value; if ( - localOptions.length > 0 && - !localOptions.some((option) => theValue.includes(option.value)) + options.length > 0 && + !options.some((option) => theValue.includes(option.value)) ) { liveState.setValue(selectedOne.map(({ value }) => value)); } setIsLoading(false); - }, [localOptions]); + }, [options]); const controlClasses = useControlClasses([], props); return isLoading ? ( @@ -87,7 +75,7 @@ export const MultiSelectInputControl = ( id={props.id} key={props.id} value={liveState.value} - state={{ options: localOptions }} + state={{ options }} className={`${controlClasses.join(" ")}`} error={errorText} /> diff --git a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx index 086a51a9..4091a595 100644 --- a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx @@ -6,15 +6,13 @@ import { JVSelect, JVSkeleton } from "@jaspersoft/jv-ui-components"; import { JSX, useContext, useEffect, useState } from "react"; -import { - InputControlOption, - InputControlProperties, -} from "@jaspersoft/jv-tools"; +import { InputControlProperties } from "@jaspersoft/jv-tools"; import { useControlClasses } from "./hooks/useControlClasses"; import { useLiveState } from "./hooks/useLiveState"; import { InputControlsContext } from "../reducer/InputControlsReducer"; import { getInputControlProperties } from "./BaseInputControl"; import { validateValueAgainstICValidationRules } from "../utils/ErrorMessageUtils"; +import { useCascadingOptions } from "./hooks/useCascadingOptions"; export interface SingleSelectInputControlProps extends InputControlProperties { handleIcChange: any; @@ -27,8 +25,6 @@ export function SingleSelectInputControl( ): JSX.Element { // new variables due to the reducer state: const { state } = useContext(InputControlsContext); - const [localOptions, setLocalOptions] = useState([]); - const [isLoading, setIsLoading] = useState(false); const [errorText, setErrorText] = useState(""); // live state: const liveState = useLiveState("", (newValue: string | string[]) => { @@ -44,38 +40,27 @@ export function SingleSelectInputControl( [props.id]: errorMsg, }); }); + const { options, isLoading, setIsLoading } = useCascadingOptions({ + inputControls: state.inputControls, + currentIcID: props.id, + }); useEffect(() => { - const icFromState = state.inputControls.find(({ id }) => id === props.id)!; - // TODO: need to improve the way how we set the IsLoading variable. This variable is also living on the state. - if (icFromState.isLoading === true) { - setIsLoading(true); - } - if ( - icFromState.state !== undefined && - icFromState.state!.options !== undefined && - JSON.stringify(icFromState.state!.options) !== - JSON.stringify(localOptions) - ) { - setLocalOptions(icFromState.state!.options!); - } - }, [state.inputControls]); - useEffect(() => { - if (localOptions === undefined) { + if (options === undefined) { return; } // TODO: this logic need to be improved - const selectedOne = localOptions.find(({ selected }) => selected); + const selectedOne = options.find(({ selected }) => selected); const theValue = Array.isArray(liveState.value) ? liveState.value.at(0) : liveState.value; if ( - localOptions.length > 0 && - !localOptions.some((option) => option.value === theValue) + options.length > 0 && + !options.some((option) => option.value === theValue) ) { liveState.setValue([selectedOne!.value]); } setIsLoading(false); - }, [localOptions]); + }, [options]); const controlClasses = useControlClasses([], props); return isLoading ? ( @@ -86,7 +71,7 @@ export function SingleSelectInputControl( id={props.id} key={props.id} value={liveState.value} - state={{ options: localOptions }} + state={{ options }} className={`${controlClasses.join(" ")}`} error={errorText} /> diff --git a/packages/jv-input-controls/src/controls/hooks/useCascadingOptions.ts b/packages/jv-input-controls/src/controls/hooks/useCascadingOptions.ts new file mode 100644 index 00000000..ba9fb0f1 --- /dev/null +++ b/packages/jv-input-controls/src/controls/hooks/useCascadingOptions.ts @@ -0,0 +1,43 @@ +/* + * Copyright © 2024. Cloud Software Group, Inc. + * This file is subject to the license terms contained + * in the license file that is distributed with this file. + */ + +import { useEffect, useState } from "react"; +import { + InputControlOption, + InputControlProperties, +} from "@jaspersoft/jv-tools"; + +export const useCascadingOptions = ({ + inputControls, + currentIcID, +}: { + inputControls: InputControlProperties[]; + currentIcID: string; +}) => { + const [options, setOptions] = useState([]); + const [isLoading, setIsLoading] = useState(false); + + useEffect(() => { + const icFromState = inputControls.find(({ id }) => id === currentIcID)!; + // TODO: need to improve the way how we set the IsLoading variable. This variable is also living on the state. + if (icFromState.isLoading === true) { + setIsLoading(true); + } + if ( + icFromState.state !== undefined && + icFromState.state!.options !== undefined && + JSON.stringify(icFromState.state!.options) !== JSON.stringify(options) + ) { + setOptions(icFromState.state!.options!); + } + }, [inputControls]); + + return { + options, + isLoading, + setIsLoading, + }; +}; From 9122b89f328d44c706a21a443d7faa7ce22901f8 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Fri, 6 Dec 2024 09:11:41 -0600 Subject: [PATCH 16/55] feature(jv-input-controls): fix issue that was triggering the events.change method multiple times for single and multi select input control --- packages/jv-input-controls/src/utils/DefaultValueUtils.ts | 2 +- packages/jv-input-controls/src/utils/ErrorMessageUtils.ts | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/jv-input-controls/src/utils/DefaultValueUtils.ts b/packages/jv-input-controls/src/utils/DefaultValueUtils.ts index d44992e0..1169e46d 100644 --- a/packages/jv-input-controls/src/utils/DefaultValueUtils.ts +++ b/packages/jv-input-controls/src/utils/DefaultValueUtils.ts @@ -6,7 +6,7 @@ import { InputControlProperties } from "@jaspersoft/jv-tools"; -const isSelectInputControl = (props: InputControlProperties) => { +export const isSelectInputControl = (props: InputControlProperties) => { return props.type === "multiSelect" || props.type === "singleSelect"; }; diff --git a/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts b/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts index c26346a4..f9cc5520 100644 --- a/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts +++ b/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts @@ -11,6 +11,7 @@ import { } from "@jaspersoft/jv-tools"; import { verifyDateLimit } from "./DateInputControlUtils"; import { getInputControlProperties } from "../controls/BaseInputControl"; +import { isSelectInputControl } from "./DefaultValueUtils"; export const getMandatoryErrorMessage = ( validationRules: InputControlValidationRule[] | undefined, @@ -136,7 +137,9 @@ export const validateValueAgainstICValidationRules = ( }); finalMsg = errorMessage?.trim().length > 0 ? errorMessage : ""; // also, we have to trigger the callback in case there was an error - props?.slaveDependencies?.length === 0 && + // TODO: once all other input controls are updated, we should remove this next line. + props && + !isSelectInputControl(props) && props?.events?.change?.(getInputControlProperties(props, newTextValue), { [props.id]: finalMsg, }); From dd804b5eaa99ccccc71ab5e0ea8aa23cfd13801a Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Fri, 6 Dec 2024 10:05:02 -0600 Subject: [PATCH 17/55] feature(jv-input-controls): extract methods that are used for Single and Multi Select input controls --- .../src/controls/MultiSelectInputControl.tsx | 26 ++++++---------- .../src/controls/SingleSelectInputControl.tsx | 21 ++++++------- .../src/utils/ValueBasedOnOptionsUtils.ts | 31 +++++++++++++++++++ 3 files changed, 50 insertions(+), 28 deletions(-) create mode 100644 packages/jv-input-controls/src/utils/ValueBasedOnOptionsUtils.ts diff --git a/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx b/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx index de0436fa..7369eae1 100644 --- a/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx @@ -7,15 +7,13 @@ import { useControlClasses } from "./hooks/useControlClasses"; import { useLiveState } from "./hooks/useLiveState"; import { JVMultiSelect, JVSkeleton } from "@jaspersoft/jv-ui-components"; -import { - InputControlOption, - InputControlProperties, -} from "@jaspersoft/jv-tools"; +import { InputControlProperties } from "@jaspersoft/jv-tools"; import { useContext, useEffect, useState } from "react"; import { InputControlsContext } from "../reducer/InputControlsReducer"; import { validateValueAgainstICValidationRules } from "../utils/ErrorMessageUtils"; import { getInputControlProperties } from "./BaseInputControl"; import { useCascadingOptions } from "./hooks/useCascadingOptions"; +import { generateValueBasedOnOptions } from "../utils/ValueBasedOnOptionsUtils"; export type MultiSelectICType = "multiSelect"; @@ -49,21 +47,17 @@ export const MultiSelectInputControl = ( currentIcID: props.id, }); useEffect(() => { - if (options === undefined) { + const basedOnOptions = generateValueBasedOnOptions( + options, + liveState.value, + ); + if (basedOnOptions === null) { return; } - // TODO: this logic need to be improved - const selectedOne: InputControlOption[] = options.filter( - ({ selected }) => selected, - ); - const theValue: string[] = liveState.value; - if ( - options.length > 0 && - !options.some((option) => theValue.includes(option.value)) - ) { - liveState.setValue(selectedOne.map(({ value }) => value)); + if (basedOnOptions.valueUpdated !== null) { + liveState.setValue(basedOnOptions.valueUpdated); } - setIsLoading(false); + setIsLoading(basedOnOptions.isSelectLoading); }, [options]); const controlClasses = useControlClasses([], props); return isLoading ? ( diff --git a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx index 4091a595..025bfe94 100644 --- a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx @@ -13,6 +13,7 @@ import { InputControlsContext } from "../reducer/InputControlsReducer"; import { getInputControlProperties } from "./BaseInputControl"; import { validateValueAgainstICValidationRules } from "../utils/ErrorMessageUtils"; import { useCascadingOptions } from "./hooks/useCascadingOptions"; +import { generateValueBasedOnOptions } from "../utils/ValueBasedOnOptionsUtils"; export interface SingleSelectInputControlProps extends InputControlProperties { handleIcChange: any; @@ -45,21 +46,17 @@ export function SingleSelectInputControl( currentIcID: props.id, }); useEffect(() => { - if (options === undefined) { + const basedOnOptions = generateValueBasedOnOptions( + options, + liveState.value, + ); + if (basedOnOptions === null) { return; } - // TODO: this logic need to be improved - const selectedOne = options.find(({ selected }) => selected); - const theValue = Array.isArray(liveState.value) - ? liveState.value.at(0) - : liveState.value; - if ( - options.length > 0 && - !options.some((option) => option.value === theValue) - ) { - liveState.setValue([selectedOne!.value]); + if (basedOnOptions.valueUpdated !== null) { + liveState.setValue(basedOnOptions.valueUpdated); } - setIsLoading(false); + setIsLoading(basedOnOptions.isSelectLoading); }, [options]); const controlClasses = useControlClasses([], props); return isLoading ? ( diff --git a/packages/jv-input-controls/src/utils/ValueBasedOnOptionsUtils.ts b/packages/jv-input-controls/src/utils/ValueBasedOnOptionsUtils.ts new file mode 100644 index 00000000..76bff822 --- /dev/null +++ b/packages/jv-input-controls/src/utils/ValueBasedOnOptionsUtils.ts @@ -0,0 +1,31 @@ +/* + * Copyright © 2024. Cloud Software Group, Inc. + * This file is subject to the license terms contained + * in the license file that is distributed with this file. + */ + +import { InputControlOption } from "@jaspersoft/jv-tools"; + +export const generateValueBasedOnOptions = ( + options: InputControlOption[], + value: string | string[], +) => { + let valueUpdated: string[] | null = null; + if (options === undefined) { + return null; + } + const selectedOnes: InputControlOption[] = options.filter( + ({ selected }) => selected, + ); + const theValue: string[] = Array.isArray(value) ? value : [value]; + if ( + options.length > 0 && + !options.some((option) => theValue.includes(option.value)) + ) { + valueUpdated = selectedOnes.map(({ value }) => value); + } + return { + valueUpdated, + isSelectLoading: false, + }; +}; From 9b20488998a9ae69f136c43fa17e7ffae92e7004 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Tue, 17 Dec 2024 13:08:44 -0600 Subject: [PATCH 18/55] Logic for storing the input control values in the store. This is because the cascading feature was added to Single and Multi Select input controls, hence the other Input Controls had to be updated. - This commit adds the changes for Boolean, and SingleValueText - Changes on MultiSelect, and SingleSelect Input control are for removing params that need to be put on a more general interface. --- .../src/controls/BaseInputControl.tsx | 7 +- .../src/controls/MultiSelectInputControl.tsx | 6 +- .../src/controls/SingleSelectInputControl.tsx | 6 +- .../controls/SingleValueTextInputControl.tsx | 46 ++++-- .../src/controls/hooks/useChangeCallback.ts | 8 +- .../src/panels/BasePanel.tsx | 156 ++++++++---------- .../src/utils/ErrorMessageUtils.ts | 9 - packages/jv-tools/src/input-controls/index.ts | 10 +- 8 files changed, 123 insertions(+), 125 deletions(-) diff --git a/packages/jv-input-controls/src/controls/BaseInputControl.tsx b/packages/jv-input-controls/src/controls/BaseInputControl.tsx index 55b7924f..b1fca4a0 100644 --- a/packages/jv-input-controls/src/controls/BaseInputControl.tsx +++ b/packages/jv-input-controls/src/controls/BaseInputControl.tsx @@ -4,12 +4,15 @@ * in the license file that is distributed with this file. */ -import { InputControlProperties } from "@jaspersoft/jv-tools"; +import { + CommonInputControlProperties, + InputControlProperties, +} from "@jaspersoft/jv-tools"; export const getInputControlProperties = ( ic: InputControlProperties, updatedStateValue: any, -) => { +): CommonInputControlProperties => { return { id: ic.id, type: ic.type, diff --git a/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx b/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx index 7369eae1..e2fff850 100644 --- a/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx @@ -17,9 +17,7 @@ import { generateValueBasedOnOptions } from "../utils/ValueBasedOnOptionsUtils"; export type MultiSelectICType = "multiSelect"; -export interface MultiSelectInputControlProps extends InputControlProperties { - handleIcChange: any; -} +export interface MultiSelectInputControlProps extends InputControlProperties {} export const MultiSelectInputControl = ( props: MultiSelectInputControlProps, @@ -38,7 +36,7 @@ export const MultiSelectInputControl = ( {}, ); setErrorText(errorMsg); - props.handleIcChange(getInputControlProperties(props, newValue), { + props.handleIcChange!(getInputControlProperties(props, newValue), { [props.id]: errorMsg, }); }); diff --git a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx index 025bfe94..5d318310 100644 --- a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx @@ -15,9 +15,7 @@ import { validateValueAgainstICValidationRules } from "../utils/ErrorMessageUtil import { useCascadingOptions } from "./hooks/useCascadingOptions"; import { generateValueBasedOnOptions } from "../utils/ValueBasedOnOptionsUtils"; -export interface SingleSelectInputControlProps extends InputControlProperties { - handleIcChange: any; -} +export interface SingleSelectInputControlProps extends InputControlProperties {} export type SingleSelectICType = "singleSelect"; @@ -37,7 +35,7 @@ export function SingleSelectInputControl( {}, ); setErrorText(errorMsg); - props.handleIcChange(getInputControlProperties(props, newValue), { + props.handleIcChange!(getInputControlProperties(props, newValue), { [props.id]: errorMsg, }); }); diff --git a/packages/jv-input-controls/src/controls/SingleValueTextInputControl.tsx b/packages/jv-input-controls/src/controls/SingleValueTextInputControl.tsx index 9f2f9296..c7cdde65 100644 --- a/packages/jv-input-controls/src/controls/SingleValueTextInputControl.tsx +++ b/packages/jv-input-controls/src/controls/SingleValueTextInputControl.tsx @@ -7,8 +7,10 @@ import { JVTextField } from "@jaspersoft/jv-ui-components"; import { InputControlProperties } from "@jaspersoft/jv-tools"; import { useControlClasses } from "./hooks/useControlClasses"; -import { useErrorMsg } from "./hooks/useErrorMsg"; import { useLiveState } from "./hooks/useLiveState"; +import { useState } from "react"; +import { validateValueAgainstICValidationRules } from "../utils/ErrorMessageUtils"; +import { getInputControlProperties } from "./BaseInputControl"; export type TextFieldICType = "textField"; @@ -25,31 +27,39 @@ export interface TextFieldICProps extends InputControlProperties { * @constructor */ export const SingleValueTextInputControl = (props: TextFieldICProps) => { - const { - className, - mandatory, - readOnly, - visible, - validationRules, - dataType, - events, - ...remainingProps - } = props; - const liveState = useLiveState(props.state?.value || ""); + const { className, readOnly } = props; + const [errorText, setErrorText] = useState(""); + const liveState = useLiveState( + props.state?.value || "", + (newValue: string) => { + const { errorMsg } = validateValueAgainstICValidationRules( + newValue, + liveState.value, + props, + "", + {}, + ); + setErrorText(errorMsg); + props.handleIcChange!(getInputControlProperties(props, newValue), { + [props.id]: errorMsg, + }); + }, + ); const controlClasses = useControlClasses([], props); // inputProps is needed to handle readOnly by TextField from MUI natively: const inputProps: any = {}; if (readOnly) { inputProps.readOnly = true; } - const theInputProps = { ...inputProps, ...liveState }; - const errorText = useErrorMsg({ - textValue: liveState.value, - props, - }); + const theInputProps = { + ...inputProps, + value: liveState.value, + onChange: liveState.onChange, + }; return ( { useEffectAfterInitial(() => { - props?.events?.change?.(getInputControlProperties(props, theValue)); + props.handleIcChange!(getInputControlProperties(props, theValue), { + [props.id]: "", + }); }, [theValue]); }; diff --git a/packages/jv-input-controls/src/panels/BasePanel.tsx b/packages/jv-input-controls/src/panels/BasePanel.tsx index 3acf023c..647e8b9d 100644 --- a/packages/jv-input-controls/src/panels/BasePanel.tsx +++ b/packages/jv-input-controls/src/panels/BasePanel.tsx @@ -8,21 +8,14 @@ import { JVDatePickerProvider } from "@jaspersoft/jv-ui-components"; import { JSX, ReactElement, useContext } from "react"; import { InputControlProperties } from "@jaspersoft/jv-tools"; import { BooleanInputControl } from "../controls/BooleanInputControl"; -import { DatePickerInputControl } from "../controls/DatePickerInputControl"; -import { DatePickerTextFieldInputControl } from "../controls/DatePickerTextFieldInputControl"; -import { DateTimePickerInputControl } from "../controls/DateTimePickerInputControl"; -import { DateTimePickerTextFieldInputControl } from "../controls/DateTimePickerTextFieldInputControl"; import { SingleSelectInputControl } from "../controls/SingleSelectInputControl"; import { MultiSelectInputControl } from "../controls/MultiSelectInputControl"; -import { SingleValueNumberInputControl } from "../controls/SingleValueNumberInputControl"; -import { SingleValueTextInputControl } from "../controls/SingleValueTextInputControl"; -import { TimePickerInputControl } from "../controls/TimePickerInputControl"; -import { TimePickerTextFieldInputControl } from "../controls/TimePickerTextFieldInputControl"; import { InputControlsTypeConfig } from "../InputControls"; import { INPUT_CONTROLS_ACTIONS, InputControlsContext, } from "../reducer/InputControlsReducer"; +import { SingleValueTextInputControl } from "../controls/SingleValueTextInputControl"; export interface BasePanelProps { config?: InputControlsTypeConfig; @@ -340,75 +333,72 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { {...control} key={control.id} styleType={props.config?.bool?.type} + handleIcChange={handleIcChange} /> ); } if (control.type === "singleValueText") { - let inputTypeText = props.config?.singleValueText?.type || "text"; - if (inputTypeText === "textField") { - inputTypeText = "text"; - } return ( - ); - } - if (control.type === "singleValueNumber") { - return ( - ); } + // if (control.type === "singleValueNumber") { + // return ( + // + // ); + // } - if (control.type === "singleValueDate") { - if (props?.config?.singleValueDate?.type === "material") { - return ( - - ); - } - return ( - - ); - } - if (control.type === "singleValueDatetime") { - if (props.config?.singleValueDatetime?.type === "material") { - return ( - - ); - } - return ( - - ); - } + // if (control.type === "singleValueDate") { + // if (props?.config?.singleValueDate?.type === "material") { + // return ( + // + // ); + // } + // return ( + // + // ); + // } + // if (control.type === "singleValueDatetime") { + // if (props.config?.singleValueDatetime?.type === "material") { + // return ( + // + // ); + // } + // return ( + // + // ); + // } if (control.type === "singleSelect") { return ( ); } - if (control.type === "singleValueTime") { - if (props.config?.singleValueTime?.type === "material") { - return ( - - ); - } - return ( - - ); - } + // if (control.type === "singleValueTime") { + // if (props.config?.singleValueTime?.type === "material") { + // return ( + // + // ); + // } + // return ( + // + // ); + // } }; const buildControls = () => { diff --git a/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts b/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts index f9cc5520..311ca0f1 100644 --- a/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts +++ b/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts @@ -10,8 +10,6 @@ import { InputControlValidationRule, } from "@jaspersoft/jv-tools"; import { verifyDateLimit } from "./DateInputControlUtils"; -import { getInputControlProperties } from "../controls/BaseInputControl"; -import { isSelectInputControl } from "./DefaultValueUtils"; export const getMandatoryErrorMessage = ( validationRules: InputControlValidationRule[] | undefined, @@ -136,13 +134,6 @@ export const validateValueAgainstICValidationRules = ( dataType: props?.dataType || {}, }); finalMsg = errorMessage?.trim().length > 0 ? errorMessage : ""; - // also, we have to trigger the callback in case there was an error - // TODO: once all other input controls are updated, we should remove this next line. - props && - !isSelectInputControl(props) && - props?.events?.change?.(getInputControlProperties(props, newTextValue), { - [props.id]: finalMsg, - }); } return { newValue: newTextValue, diff --git a/packages/jv-tools/src/input-controls/index.ts b/packages/jv-tools/src/input-controls/index.ts index f329308a..44fd95e1 100644 --- a/packages/jv-tools/src/input-controls/index.ts +++ b/packages/jv-tools/src/input-controls/index.ts @@ -77,7 +77,7 @@ export type InputControlType = | "multiSelectCheckbox" | undefined; -export interface InputControlProperties { +export interface CommonInputControlProperties { id: string; type: InputControlType; label: string; @@ -89,9 +89,11 @@ export interface InputControlProperties { validationRules?: InputControlValidationRule[]; dataType?: InputControlDataType; isLoading?: boolean; - masterDependencies?: string[]; slaveDependencies?: string[]; +} + +export interface InputControlProperties extends CommonInputControlProperties { events?: { change: ( ic: { [key: string]: any[] } | InputControlProperties, // TODO: remove InputControlProperties @@ -99,4 +101,8 @@ export interface InputControlProperties { ) => void; }; parameters?: { [key: string]: string[] }; + handleIcChange?: ( + ctrlUpdated: CommonInputControlProperties, + resultValidation?: { [key: string]: string }, + ) => void; } From 892cd46a0d466a948c90597c22680d756779650d Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Tue, 17 Dec 2024 13:28:42 -0600 Subject: [PATCH 19/55] Logic for storing the input control values in the store for SingleValueNumber Input Control has been added. --- .../SingleValueNumberInputControl.tsx | 43 +++++++------ .../src/controls/hooks/useNumberErrorMsgs.ts | 12 ++-- .../src/panels/BasePanel.tsx | 22 ++++--- .../src/utils/ErrorMessageUtils.ts | 63 +++++++++++++++++++ .../src/utils/NumberUtils.ts | 10 ++- 5 files changed, 114 insertions(+), 36 deletions(-) diff --git a/packages/jv-input-controls/src/controls/SingleValueNumberInputControl.tsx b/packages/jv-input-controls/src/controls/SingleValueNumberInputControl.tsx index 95949079..a8c8289d 100644 --- a/packages/jv-input-controls/src/controls/SingleValueNumberInputControl.tsx +++ b/packages/jv-input-controls/src/controls/SingleValueNumberInputControl.tsx @@ -8,7 +8,9 @@ import { JVTextField } from "@jaspersoft/jv-ui-components"; import { InputControlProperties } from "@jaspersoft/jv-tools"; import { useControlClasses } from "./hooks/useControlClasses"; import { useLiveState } from "./hooks/useLiveState"; -import { useNumberErrorMsg } from "./hooks/useNumberErrorMsgs"; +import { useState } from "react"; +import { validateNumberValue } from "../utils/ErrorMessageUtils"; +import { getInputControlProperties } from "./BaseInputControl"; export type NumberICType = "number"; @@ -25,17 +27,21 @@ export interface NumberICProps extends InputControlProperties { * @constructor */ export const SingleValueNumberInputControl = (props: NumberICProps) => { - const { - className, - mandatory, - readOnly, - visible, - dataType, - validationRules, - events, - ...remainingProps - } = props; - const liveState = useLiveState(props.state?.value || ""); + const { className, readOnly } = props; + const [errorText, setErrorText] = useState(""); + const liveState = useLiveState( + props.state?.value || "", + (newValue: string) => { + const errorMsg = validateNumberValue({ + textValue: newValue, + props, + }); + setErrorText(errorMsg); + props.handleIcChange!(getInputControlProperties(props, newValue), { + [props.id]: errorMsg, + }); + }, + ); const controlClasses = useControlClasses([], props); // inputProps is needed to handle readOnly by TextField from MUI natively: @@ -43,14 +49,15 @@ export const SingleValueNumberInputControl = (props: NumberICProps) => { if (readOnly) { inputProps.readOnly = true; } - const theInputProps = { ...inputProps, ...liveState }; - const errorText = useNumberErrorMsg({ - textValue: liveState.value, - props, - }); + const theInputProps = { + ...inputProps, + value: liveState.value, + onChange: liveState.onChange, + }; return ( ); } - // if (control.type === "singleValueNumber") { - // return ( - // - // ); - // } + if (control.type === "singleValueNumber") { + return ( + + ); + } // if (control.type === "singleValueDate") { // if (props?.config?.singleValueDate?.type === "material") { diff --git a/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts b/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts index 311ca0f1..b6b7fb49 100644 --- a/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts +++ b/packages/jv-input-controls/src/utils/ErrorMessageUtils.ts @@ -10,6 +10,11 @@ import { InputControlValidationRule, } from "@jaspersoft/jv-tools"; import { verifyDateLimit } from "./DateInputControlUtils"; +import { + checkIfNumber, + UseNumberErrorMsgProps, + verifyLimit, +} from "./NumberUtils"; export const getMandatoryErrorMessage = ( validationRules: InputControlValidationRule[] | undefined, @@ -24,6 +29,64 @@ export const getMandatoryErrorMessage = ( return rule!.mandatoryValidationRule!.errorMessage || ""; }; +export const validateNumberValue = ({ + textValue, + props, +}: UseNumberErrorMsgProps) => { + // Determine the message based on: + // 1. whether the field is a number or not + // 2. whether the field is mandatory and the text value is empty + // 3. whether the field has a pattern that needs to be matched + // 4. whether the field meets the max value + // 5. whether the field meets the min value + let isError = !checkIfNumber(textValue); + if (isError) { + // TODO: we will need to translate this message once we add the i18n support: + return "Specify a valid value for type number."; + } + let theMsg = + props?.mandatory && !textValue.trim() + ? getMandatoryErrorMessage(props?.validationRules) + : ""; + if (!theMsg.trim() && props?.dataType?.pattern) { + // we have to evaluate the dataType and check if there is no pattern defined that we need to verify. + const regex = new RegExp(`${props.dataType.pattern}`); + regex.lastIndex = 0; + const isMatch = regex.test(textValue); + // TODO: we will need to translate this message once we add the i18n support: + theMsg = !isMatch ? "This field does not match the required pattern." : ""; + } + const valAsNumber = +textValue; + if (!theMsg.trim()) { + // verify max limit: + const checkMax = verifyLimit({ + maxOrMinValAsNumber: + props?.dataType?.maxValue !== undefined + ? +props.dataType.maxValue + : null, + dataType: props?.dataType, + valAsNumber, + isVerifyingMin: false, + }); + theMsg = checkMax.helperText; + isError = checkMax.isError; + } + if (!isError && !theMsg.trim()) { + // verify min limit: + const checkMin = verifyLimit({ + maxOrMinValAsNumber: + props?.dataType?.minValue !== undefined + ? +props.dataType.minValue + : null, + dataType: props?.dataType, + valAsNumber, + isVerifyingMin: true, + }); + theMsg = checkMin.helperText; + } + return theMsg; +}; + export const validateTextValue = ({ textToValidate, validationRules = [], diff --git a/packages/jv-input-controls/src/utils/NumberUtils.ts b/packages/jv-input-controls/src/utils/NumberUtils.ts index a917f3ea..1a36086d 100644 --- a/packages/jv-input-controls/src/utils/NumberUtils.ts +++ b/packages/jv-input-controls/src/utils/NumberUtils.ts @@ -4,7 +4,10 @@ * in the license file that is distributed with this file. */ -import { InputControlDataType } from "@jaspersoft/jv-tools"; +import { + InputControlDataType, + InputControlProperties, +} from "@jaspersoft/jv-tools"; const DECIMAL_SEPARATOR = "\\."; const GROUPING_SEPARATOR = ","; @@ -119,3 +122,8 @@ export const verifyLimit = ({ isError = true; return { helperText, isError }; }; + +export interface UseNumberErrorMsgProps { + textValue: string; + props?: InputControlProperties; +} From 644a66e825aa42a8cccdc2a8bb5046ed4554ddc1 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Tue, 17 Dec 2024 13:43:35 -0600 Subject: [PATCH 20/55] useNumberErrorMsgs hook is not needed anymore, thanks to the store. --- .../src/controls/hooks/useNumberErrorMsgs.ts | 89 -------- .../controls/hooks/useNumberErrorMsgs.test.ts | 194 ------------------ 2 files changed, 283 deletions(-) delete mode 100644 packages/jv-input-controls/src/controls/hooks/useNumberErrorMsgs.ts delete mode 100644 packages/jv-input-controls/test/controls/hooks/useNumberErrorMsgs.test.ts diff --git a/packages/jv-input-controls/src/controls/hooks/useNumberErrorMsgs.ts b/packages/jv-input-controls/src/controls/hooks/useNumberErrorMsgs.ts deleted file mode 100644 index b95c61ab..00000000 --- a/packages/jv-input-controls/src/controls/hooks/useNumberErrorMsgs.ts +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright © 2024. Cloud Software Group, Inc. - * This file is subject to the license terms contained - * in the license file that is distributed with this file. - */ - -import { useState } from "react"; -import { getMandatoryErrorMessage } from "../../utils/ErrorMessageUtils"; -import { - checkIfNumber, - UseNumberErrorMsgProps, - verifyLimit, -} from "../../utils/NumberUtils"; -import { getInputControlProperties } from "../BaseInputControl"; -import { useEffectAfterInitial } from "./useEffectAfterInitial"; - -export const useNumberErrorMsg = ({ - textValue, - props, -}: UseNumberErrorMsgProps) => { - const [msg, setMsg] = useState(""); - - useEffectAfterInitial(() => { - // Determine the message based on: - // 1. whether the field is a number or not - // 2. whether the field is mandatory and the text value is empty - // 3. whether the field has a pattern that needs to be matched - // 4. whether the field meets the max value - // 5. whether the field meets the min value - let isError = !checkIfNumber(textValue); - let theMsg: string; - if (isError) { - theMsg = "Specify a valid value for type number."; - props?.events?.change?.(getInputControlProperties(props, textValue), { - [props.id]: theMsg, - }); - setMsg(theMsg); - return; - } - theMsg = - props?.mandatory && !textValue.trim() - ? getMandatoryErrorMessage(props?.validationRules) - : ""; - if (!theMsg.trim() && props?.dataType?.pattern) { - // we have to evaluate the dataType and check if there is no pattern defined that we need to verify. - const regex = new RegExp(`${props.dataType.pattern}`); - regex.lastIndex = 0; - const isMatch = regex.test(textValue); - // TODO: we will need to translate this message once we add the i18n support: - theMsg = !isMatch - ? "This field does not match the required pattern." - : ""; - } - const valAsNumber = +textValue; - if (!theMsg.trim()) { - // verify max limit: - const checkMax = verifyLimit({ - maxOrMinValAsNumber: - props?.dataType?.maxValue !== undefined - ? +props.dataType.maxValue - : null, - dataType: props?.dataType, - valAsNumber, - isVerifyingMin: false, - }); - theMsg = checkMax.helperText; - isError = checkMax.isError; - } - if (!isError && !theMsg.trim()) { - // verify min limit: - const checkMin = verifyLimit({ - maxOrMinValAsNumber: - props?.dataType?.minValue !== undefined - ? +props.dataType.minValue - : null, - dataType: props?.dataType, - valAsNumber, - isVerifyingMin: true, - }); - theMsg = checkMin.helperText; - } - // also, we have to trigger the callback because there was an error - props?.events?.change?.(getInputControlProperties(props, textValue), { - [props.id]: theMsg, - }); - setMsg(theMsg); - }, [textValue]); - return msg; -}; diff --git a/packages/jv-input-controls/test/controls/hooks/useNumberErrorMsgs.test.ts b/packages/jv-input-controls/test/controls/hooks/useNumberErrorMsgs.test.ts deleted file mode 100644 index 49972904..00000000 --- a/packages/jv-input-controls/test/controls/hooks/useNumberErrorMsgs.test.ts +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Copyright © 2024. Cloud Software Group, Inc. - * This file is subject to the license terms contained - * in the license file that is distributed with this file. - */ - -import { act, renderHook, waitFor } from "@testing-library/react"; -import { useNumberErrorMsg } from "../../../src/controls/hooks/useNumberErrorMsgs"; - -const ALL_PROPS = { - id: "parStoreId", - description: "", - type: "singleValueNumber", - uri: "repo:/public/Samples/Reports/StoreDetails_1_files/parStoreId", - label: "parStoreId", - mandatory: true, - readOnly: false, - visible: true, - masterDependencies: [], - slaveDependencies: [], - validationRules: [ - { - mandatoryValidationRule: { - errorMessage: "This field is mandatory so you must enter data.", - }, - }, - ], - state: { - uri: "/public/Samples/Reports/StoreDetails_1_files/parStoreId", - id: "parStoreId", - value: "", - error: "This field is mandatory so you must enter data.", - }, - dataType: { - type: "number", - maxValue: "10", - strictMax: false, - minValue: "1", - strictMin: false, - }, -}; - -describe("useNumberErrorMsg", () => { - it("should return an error message for invalid number input", async () => { - const { result, rerender } = renderHook( - ({ textValue }) => - useNumberErrorMsg({ - textValue, - props: ALL_PROPS, - }), - { - initialProps: { textValue: "" }, - }, - ); - act(() => { - rerender({ textValue: "abc" }); - }); - await waitFor(() => { - expect(result.current).toBe("Specify a valid value for type number."); - }); - }); - - it("should return an error message for mandatory field with empty input", async () => { - const { result, rerender } = renderHook( - ({ textValue }) => - useNumberErrorMsg({ - textValue, - props: ALL_PROPS, - }), - { - initialProps: { textValue: "75" }, - }, - ); - act(() => { - rerender({ textValue: "" }); - }); - await waitFor(() => { - expect(result.current).toBe("Specify a valid value for type number."); - }); - }); - it("should return an error message for input not matching the required pattern", async () => { - const { result, rerender } = renderHook( - ({ textValue }) => - useNumberErrorMsg({ - textValue, - props: { - ...ALL_PROPS, - dataType: { - ...ALL_PROPS.dataType, - maxValue: "500", - pattern: "^[1-5]$", - }, - }, - }), - { - initialProps: { textValue: "" }, - }, - ); - - act(() => { - rerender({ textValue: "300" }); - }); - - await waitFor(() => { - const customErrorMsg = "This field does not match the required pattern."; - expect(result.current).toBe(customErrorMsg); - }); - }); - - it("should return an error message for input exceeding the max value", async () => { - const { result, rerender } = renderHook( - ({ textValue }) => - useNumberErrorMsg({ - textValue, - props: ALL_PROPS, - }), - { - initialProps: { textValue: "" }, - }, - ); - act(() => { - rerender({ textValue: "200" }); - }); - await waitFor(() => { - expect(result.current).toBe( - "Verify the number is lower or equal than 10.", - ); - }); - }); - - it("should return an error message for input below the min value", async () => { - const { result, rerender } = renderHook( - ({ textValue }) => - useNumberErrorMsg({ - textValue, - props: ALL_PROPS, - }), - { - initialProps: { textValue: "" }, - }, - ); - act(() => { - rerender({ textValue: "0" }); - }); - await waitFor(() => { - expect(result.current).toBe( - "Verify the number is greater or equal than 1.", - ); - }); - }); - - it("should not return an error message for valid number input", async () => { - const { result, rerender } = renderHook( - ({ textValue }) => - useNumberErrorMsg({ - textValue, - props: ALL_PROPS, - }), - { - initialProps: { textValue: "" }, - }, - ); - act(() => { - rerender({ textValue: "5" }); - }); - await waitFor(() => { - expect(result.current).toBe(""); - }); - }); - - it("should call the callback method if it is provided", async () => { - const callback = jest.fn(); - const { rerender } = renderHook( - ({ textValue }) => - useNumberErrorMsg({ - textValue, - props: { - ...ALL_PROPS, - events: { change: callback }, - }, - }), - { - initialProps: { textValue: "" }, - }, - ); - - act(() => { - rerender({ textValue: "5" }); - }); - await waitFor(() => { - expect(callback).toHaveBeenCalled(); - }); - }); -}); From 894efa1abaf51ab529b1dd91b5b27ba79d0de321 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Tue, 17 Dec 2024 16:53:58 -0600 Subject: [PATCH 21/55] DatePickerInput and DatePickerTextField input controls have been updated in order to store the values in the store. --- .../src/controls/DatePickerInputControl.tsx | 36 ++++++++---- .../DatePickerTextFieldInputControl.tsx | 57 +++++++++++-------- .../hooks/useLiveDateFormattedState.ts | 3 + .../src/controls/hooks/useLiveState.ts | 4 +- .../src/panels/BasePanel.tsx | 40 ++++++------- 5 files changed, 82 insertions(+), 58 deletions(-) diff --git a/packages/jv-input-controls/src/controls/DatePickerInputControl.tsx b/packages/jv-input-controls/src/controls/DatePickerInputControl.tsx index 98558b3c..fe7c7835 100644 --- a/packages/jv-input-controls/src/controls/DatePickerInputControl.tsx +++ b/packages/jv-input-controls/src/controls/DatePickerInputControl.tsx @@ -14,9 +14,11 @@ import { InputControlValidationRule, } from "@jaspersoft/jv-tools"; import { useControlClasses } from "./hooks/useControlClasses"; -import { useErrorMsg } from "./hooks/useErrorMsg"; import { useLiveDateFormattedState } from "./hooks/useLiveDateFormattedState"; import { getTheInitialValue } from "../utils/DefaultValueUtils"; +import { validateValueAgainstICValidationRules } from "../utils/ErrorMessageUtils"; +import { useState } from "react"; +import { getInputControlProperties } from "./BaseInputControl"; export type DatePickerICType = "material"; @@ -32,24 +34,34 @@ export const DatePickerInputControl = (props: DateICProps) => { "YYYY-MM-DD", ).toUpperCase(); - const liveState = useLiveDateFormattedState({ - initialValue: getTheInitialValue(props.state?.value) || "", - format: dateFormat, - }); - const controlClasses = useControlClasses([], props); + const [errorText, setErrorText] = useState(""); const minAndMaxSettings = getMinAndMaxSettings(props.dataType, { minKey: "minDate", maxKey: "maxDate", }); - const errorText = useErrorMsg({ - textValue: liveState.value, - props, - minAndMaxDate: minAndMaxSettings, + const liveState = useLiveDateFormattedState({ + initialValue: getTheInitialValue(props.state?.value) || "", + format: dateFormat, + callback: (newValue) => { + const { errorMsg } = validateValueAgainstICValidationRules( + newValue, + liveState.value, + props, + "", + minAndMaxSettings, + ); + setErrorText(errorMsg); + props.handleIcChange!(getInputControlProperties(props, newValue), { + [props.id]: errorMsg, + }); + }, }); - const { events, ...remainingProps } = props; + const controlClasses = useControlClasses([], props); return ( { - const { - readOnly, - mandatory, - visible, - dataType, - validationRules, - events, - ...remainingProps - } = props; - const liveState = useLiveState(getTheInitialValue(props.state?.value) || ""); - const controlClasses = useControlClasses([], props); - const inputProps: any = {}; - if (readOnly) { - inputProps.readOnly = true; - } + const { readOnly, dataType } = props; const minAndMaxSettings: { min: string; max: string } = getMinAndMaxSettings( dataType, { @@ -45,15 +33,38 @@ export const DatePickerTextFieldInputControl = ( maxKey: "max", }, ); - const errorText = useErrorMsg({ - textValue: liveState.value, - props, - minAndMaxDate: minAndMaxSettings, - }); - const theInputProps = { ...inputProps, ...liveState }; + const [errorText, setErrorText] = useState(""); + const liveState = useLiveState( + getTheInitialValue(props.state?.value) || "", + (newValue: string) => { + const { errorMsg } = validateValueAgainstICValidationRules( + newValue, + liveState.value, + props, + "", + minAndMaxSettings, + ); + setErrorText(errorMsg); + props.handleIcChange!(getInputControlProperties(props, newValue), { + [props.id]: errorMsg, + }); + }, + ); + const controlClasses = useControlClasses([], props); + const inputProps: any = {}; + if (readOnly) { + inputProps.readOnly = true; + } + const theInputProps = { + ...inputProps, + value: liveState.value, + onChange: liveState.onChange, + }; + return ( void; }) { const [value, setValue] = useState(initialValue); function handleChange(e: any) { const val = e && e.format ? e.format(format) : e; setValue(val); + callback?.(val); } return { diff --git a/packages/jv-input-controls/src/controls/hooks/useLiveState.ts b/packages/jv-input-controls/src/controls/hooks/useLiveState.ts index 16df0169..dbc55c24 100644 --- a/packages/jv-input-controls/src/controls/hooks/useLiveState.ts +++ b/packages/jv-input-controls/src/controls/hooks/useLiveState.ts @@ -27,9 +27,7 @@ export function useLiveState(initialValue: any, callback?: any) { if (Array.isArray(newValue)) setValue([...newValue]); else setValue(newValue); } - if (callback) { - callback(newValue); - } + callback?.(newValue); } const liveStateProps = { diff --git a/packages/jv-input-controls/src/panels/BasePanel.tsx b/packages/jv-input-controls/src/panels/BasePanel.tsx index 4674a60f..6793bc4a 100644 --- a/packages/jv-input-controls/src/panels/BasePanel.tsx +++ b/packages/jv-input-controls/src/panels/BasePanel.tsx @@ -17,6 +17,8 @@ import { } from "../reducer/InputControlsReducer"; import { SingleValueTextInputControl } from "../controls/SingleValueTextInputControl"; import { SingleValueNumberInputControl } from "../controls/SingleValueNumberInputControl"; +import { DatePickerInputControl } from "../controls/DatePickerInputControl"; +import { DatePickerTextFieldInputControl } from "../controls/DatePickerTextFieldInputControl"; export interface BasePanelProps { config?: InputControlsTypeConfig; @@ -361,26 +363,24 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { ); } - // if (control.type === "singleValueDate") { - // if (props?.config?.singleValueDate?.type === "material") { - // return ( - // - // ); - // } - // return ( - // - // ); - // } + if (control.type === "singleValueDate") { + if (props?.config?.singleValueDate?.type === "material") { + return ( + + ); + } + return ( + + ); + } // if (control.type === "singleValueDatetime") { // if (props.config?.singleValueDatetime?.type === "material") { // return ( From f988e523f92490f0c3fd284367d417a3df1fdcdc Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Wed, 18 Dec 2024 15:00:08 -0600 Subject: [PATCH 22/55] DateTimePickerInput and DateTimePickerTextField input controls have been updated in order to store the values in the store. --- .../controls/DateTimePickerInputControl.tsx | 42 +++++++++------ .../DateTimePickerTextFieldInputControl.tsx | 51 +++++++++++-------- .../src/panels/BasePanel.tsx | 40 +++++++-------- 3 files changed, 76 insertions(+), 57 deletions(-) diff --git a/packages/jv-input-controls/src/controls/DateTimePickerInputControl.tsx b/packages/jv-input-controls/src/controls/DateTimePickerInputControl.tsx index 29971ec0..dbd06923 100644 --- a/packages/jv-input-controls/src/controls/DateTimePickerInputControl.tsx +++ b/packages/jv-input-controls/src/controls/DateTimePickerInputControl.tsx @@ -11,9 +11,11 @@ import { } from "../utils/DateInputControlUtils"; import { InputControlProperties } from "@jaspersoft/jv-tools"; import { useControlClasses } from "./hooks/useControlClasses"; -import { useErrorMsg } from "./hooks/useErrorMsg"; import { useLiveDateFormattedState } from "./hooks/useLiveDateFormattedState"; import { getTheInitialValue } from "../utils/DefaultValueUtils"; +import { useState } from "react"; +import { validateValueAgainstICValidationRules } from "../utils/ErrorMessageUtils"; +import { getInputControlProperties } from "./BaseInputControl"; export type DateTimePickerICType = "material"; @@ -31,34 +33,44 @@ const formatToDayJS = (str: string) => { }; export const DateTimePickerInputControl = (props: DateTimeICProps) => { - let dateFormat = "YYYY-MM-DDTHH:mm:ss", - views: string[] = []; + let dateFormat = "YYYY-MM-DDTHH:mm:ss"; if (props.validationRules !== undefined) { const formatStored = getDateFormatIfAny(props.validationRules); dateFormat = removeSingleQuotes(formatStored); dateFormat = formatToDayJS(dateFormat); } - views = props.views + const views: string[] = props.views ? props.views : ["year", "month", "day", "hours", "minutes", "seconds"]; - const liveState = useLiveDateFormattedState({ - initialValue: getTheInitialValue(props.state?.value) || "", - format: dateFormat, - }); - const controlClasses = useControlClasses([], props); + const [errorText, setErrorText] = useState(""); const minAndMaxSettings = getMinAndMaxSettings(props.dataType, { minKey: "minDateTime", maxKey: "maxDateTime", }); - const errorText = useErrorMsg({ - textValue: liveState.value, - props, - minAndMaxDate: minAndMaxSettings, + + const liveState = useLiveDateFormattedState({ + initialValue: getTheInitialValue(props.state?.value) || "", + format: dateFormat, + callback: (newValue) => { + const { errorMsg } = validateValueAgainstICValidationRules( + newValue, + liveState.value, + props, + "", + minAndMaxSettings, + ); + setErrorText(errorMsg); + props.handleIcChange!(getInputControlProperties(props, newValue), { + [props.id]: errorMsg, + }); + }, }); - const { events, ...remainingProps } = props; + const controlClasses = useControlClasses([], props); return ( { - const { - readOnly, - mandatory, - visible, - dataType, - validationRules, - events, - ...remainingProps - } = props; - const liveState = useLiveState(getTheInitialValue(props.state?.value) || ""); + const { readOnly, dataType } = props; + const minAndMaxSettings = getMinAndMaxSettings(dataType, { + minKey: "min", + maxKey: "max", + }); + const [errorText, setErrorText] = useState(""); + const liveState = useLiveState( + getTheInitialValue(props.state?.value) || "", + (newValue: string) => { + const { errorMsg } = validateValueAgainstICValidationRules( + newValue, + liveState.value, + props, + "", + minAndMaxSettings, + ); + setErrorText(errorMsg); + props.handleIcChange!(getInputControlProperties(props, newValue), { + [props.id]: errorMsg, + }); + }, + ); const controlClasses = useControlClasses([], props); const inputProps: any = {}; if (readOnly) { inputProps.readOnly = true; } - const minAndMaxSettings = getMinAndMaxSettings(dataType, { - minKey: "min", - maxKey: "max", - }); - const errorText = useErrorMsg({ - textValue: liveState.value, - props, - minAndMaxDate: minAndMaxSettings, - }); const theInputProps = { ...inputProps, - ...liveState, + value: liveState.value, + onChange: liveState.onChange, }; return ( ); } - // if (control.type === "singleValueDatetime") { - // if (props.config?.singleValueDatetime?.type === "material") { - // return ( - // - // ); - // } - // return ( - // - // ); - // } + if (control.type === "singleValueDatetime") { + if (props.config?.singleValueDatetime?.type === "material") { + return ( + + ); + } + return ( + + ); + } if (control.type === "singleSelect") { return ( Date: Wed, 18 Dec 2024 15:27:59 -0600 Subject: [PATCH 23/55] TimePickerInput and TimePickerTextField input controls have been updated in order to store the values in the store. --- .../controls/DateTimePickerInputControl.tsx | 2 +- .../src/controls/TimePickerInputControl.tsx | 35 ++++++++----- .../TimePickerTextFieldInputControl.tsx | 51 +++++++++++-------- .../src/panels/BasePanel.tsx | 40 +++++++-------- 4 files changed, 72 insertions(+), 56 deletions(-) diff --git a/packages/jv-input-controls/src/controls/DateTimePickerInputControl.tsx b/packages/jv-input-controls/src/controls/DateTimePickerInputControl.tsx index dbd06923..7d28069c 100644 --- a/packages/jv-input-controls/src/controls/DateTimePickerInputControl.tsx +++ b/packages/jv-input-controls/src/controls/DateTimePickerInputControl.tsx @@ -68,7 +68,7 @@ export const DateTimePickerInputControl = (props: DateTimeICProps) => { const controlClasses = useControlClasses([], props); return ( { props.validationRules as InputControlValidationRule[], "HH:mm:ss", ); - + const [errorText, setErrorText] = useState(""); + const minAndMaxSettings = getMinAndMaxSettings(props.dataType, { + minKey: "minTime", + maxKey: "maxTime", + }); const liveState = useLiveDateFormattedState({ initialValue: getTheInitialValue(props.state?.value) || "", format: dateFormat, + callback: (newValue) => { + const { errorMsg } = validateValueAgainstICValidationRules( + newValue, + liveState.value, + props, + "", + minAndMaxSettings, + ); + setErrorText(errorMsg); + props.handleIcChange!(getInputControlProperties(props, newValue), { + [props.id]: errorMsg, + }); + }, }); const controlClasses = useControlClasses([], props); const views = props.views || ["hours", "minutes", "seconds"]; - const minAndMaxSettings = getMinAndMaxSettings(props.dataType, { - minKey: "minTime", - maxKey: "maxTime", - }); - const errorText = useErrorMsg({ - textValue: liveState.value, - props, - minAndMaxDate: minAndMaxSettings, - }); - const { events, ...remainingProps } = props; return ( { - const { - readOnly, - mandatory, - visible, - dataType, - validationRules, - events, - ...remainingProps - } = props; - const liveState = useLiveState(getTheInitialValue(props.state?.value) || ""); + const { readOnly, dataType } = props; + const [errorText, setErrorText] = useState(""); + const minAndMaxSettings = getMinAndMaxSettings(dataType, { + minKey: "min", + maxKey: "max", + }); + const liveState = useLiveState( + getTheInitialValue(props.state?.value) || "", + (newValue: string) => { + const { errorMsg } = validateValueAgainstICValidationRules( + newValue, + liveState.value, + props, + "", + minAndMaxSettings, + ); + setErrorText(errorMsg); + props.handleIcChange!(getInputControlProperties(props, newValue), { + [props.id]: errorMsg, + }); + }, + ); const controlClasses = useControlClasses([], props); const inputProps: any = {}; if (readOnly) { inputProps.readOnly = true; } - const minAndMaxSettings = getMinAndMaxSettings(dataType, { - minKey: "min", - maxKey: "max", - }); - const errorText = useErrorMsg({ - textValue: liveState.value, - props, - minAndMaxDate: minAndMaxSettings, - }); const theInputProps = { ...inputProps, - ...liveState, + value: liveState.value, + onChange: liveState.onChange, }; return ( ); } - // if (control.type === "singleValueTime") { - // if (props.config?.singleValueTime?.type === "material") { - // return ( - // - // ); - // } - // return ( - // - // ); - // } + if (control.type === "singleValueTime") { + if (props.config?.singleValueTime?.type === "material") { + return ( + + ); + } + return ( + + ); + } }; const buildControls = () => { From 852772b99ff5aad2116c129eea8a4124c6411153 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 19 Dec 2024 09:56:12 -0600 Subject: [PATCH 24/55] removed custom hook that is not needed anymore --- .../src/controls/hooks/useErrorMsg.ts | 42 --- .../test/controls/hooks/useErrorMsg.test.ts | 245 ------------------ 2 files changed, 287 deletions(-) delete mode 100644 packages/jv-input-controls/src/controls/hooks/useErrorMsg.ts delete mode 100644 packages/jv-input-controls/test/controls/hooks/useErrorMsg.test.ts diff --git a/packages/jv-input-controls/src/controls/hooks/useErrorMsg.ts b/packages/jv-input-controls/src/controls/hooks/useErrorMsg.ts deleted file mode 100644 index 9e293141..00000000 --- a/packages/jv-input-controls/src/controls/hooks/useErrorMsg.ts +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright © 2024. Cloud Software Group, Inc. - * This file is subject to the license terms contained - * in the license file that is distributed with this file. - */ - -import { useState } from "react"; -import { validateValueAgainstICValidationRules } from "../../utils/ErrorMessageUtils"; -import { InputControlProperties } from "@jaspersoft/jv-tools"; -import { useEffectAfterInitial } from "./useEffectAfterInitial"; - -interface UseMandatoryMsgProps { - textValue: string | string[]; - defaultValue?: string; - props?: InputControlProperties; - minAndMaxDate?: { [key: string]: string }; -} - -export const useErrorMsg = ({ - textValue, - defaultValue = "", - props, - minAndMaxDate, -}: UseMandatoryMsgProps) => { - const [msg, setMsg] = useState(defaultValue); - const [theTextValue, setTheTextValue] = useState( - textValue, - ); - - useEffectAfterInitial(() => { - const { newValue, errorMsg } = validateValueAgainstICValidationRules( - textValue, - theTextValue, - props, - defaultValue, - minAndMaxDate, - ); - setTheTextValue(newValue); - setMsg(errorMsg); - }, [textValue]); - return msg; -}; diff --git a/packages/jv-input-controls/test/controls/hooks/useErrorMsg.test.ts b/packages/jv-input-controls/test/controls/hooks/useErrorMsg.test.ts deleted file mode 100644 index effa075a..00000000 --- a/packages/jv-input-controls/test/controls/hooks/useErrorMsg.test.ts +++ /dev/null @@ -1,245 +0,0 @@ -/* - * Copyright © 2024. Cloud Software Group, Inc. - * This file is subject to the license terms contained - * in the license file that is distributed with this file. - */ - -import { act, renderHook, waitFor } from "@testing-library/react"; -import { useErrorMsg } from "../../../src/controls/hooks/useErrorMsg"; -import { getMinAndMaxSettings } from "../../../src/utils/DateInputControlUtils"; - -const MANDATORY_ERROR_MESSAGE = - "This field is mandatory so you must enter data."; - -const validationRules = [ - { - mandatoryValidationRule: { - errorMessage: MANDATORY_ERROR_MESSAGE, - }, - }, - { - dateTimeFormatValidationRule: { - errorMessage: "Specify a valid date/time value.", - format: "yyyy-MM-dd'T'HH:mm:ss", - }, - }, -]; - -const props = { - id: "theDateTime", - description: "theDateTime", - type: "singleValueDatetime", - uri: "repo:/public/Samples/Resources/Input_Controls/theDateTime", - label: "theDateTime", - mandatory: false, - readOnly: false, - visible: true, - masterDependencies: [], - slaveDependencies: [], - state: { - uri: "/public/Samples/Resources/Input_Controls/theDateTime", - id: "theDateTime", - value: "", - }, - dataType: { - type: "datetime", - maxValue: "2024-08-23T09:24:23", - strictMax: true, - minValue: "2024-08-14T06:14:19", - strictMin: true, - }, - validationRules, -}; - -describe("useErrorMsg custom hook", () => { - it("should return no error message because it has a valid value", () => { - const { result } = renderHook(() => - useErrorMsg({ - textValue: "I have a value and I am mandatory!", - props, - }), - ); - expect(result.current).toBe(""); - }); - it("should return error message provided by server", async () => { - const { result, rerender } = renderHook( - ({ textValue }) => - useErrorMsg({ - textValue, - props, - minAndMaxDate: getMinAndMaxSettings(props.dataType, { - minKey: "minDateTime", - maxKey: "maxDateTime", - }), - }), - { - initialProps: { textValue: "2024-08-14T06:14:19" }, - }, - ); - act(() => { - rerender({ textValue: "" }); - }); - await waitFor(() => { - expect(result.current).toBe( - "Verify the date is before 2024-08-23T09:24:23.", - ); - }); - }); - - it("should return custom error message", () => { - const customErrorMsg = "Specify a valid value for type number."; - const { result } = renderHook(() => - useErrorMsg({ - textValue: "", - defaultValue: customErrorMsg, - props, - }), - ); - expect(result.current).toBe(customErrorMsg); - }); - it("should not return any error even if it is empty but not mandatory", () => { - const { result } = renderHook(() => - useErrorMsg({ - textValue: "", - props, - }), - ); - expect(result.current).toBe(""); - }); - it("should return error for type date because of max date value is specified", async () => { - const { result, rerender } = renderHook( - ({ textValue }) => - useErrorMsg({ - textValue, - props, - minAndMaxDate: getMinAndMaxSettings(props.dataType, { - minKey: "minDateTime", - maxKey: "maxDateTime", - }), - }), - { - initialProps: { textValue: "" }, - }, - ); - - act(() => { - rerender({ textValue: "2024-08-23T09:24:23" }); - }); - - await waitFor(() => { - expect(result.current).toBe( - "Verify the date is before 2024-08-23T09:24:23.", - ); - }); - }); - it("should return error for type date because of min date value is specified", async () => { - const { result, rerender } = renderHook( - ({ textValue }) => - useErrorMsg({ - textValue, - props, - minAndMaxDate: getMinAndMaxSettings(props.dataType, { - minKey: "minDateTime", - maxKey: "maxDateTime", - }), - }), - { - initialProps: { textValue: "" }, - }, - ); - - // Update the textValue to trigger the useEffectAfterInitial hook - act(() => { - rerender({ textValue: "2024-08-14T06:14:19" }); - }); - - await waitFor(() => { - expect(result.current).toBe( - "Verify the date is after 2024-08-14T06:14:19.", - ); - }); - }); - it("should not return error for type date because of max date value is specified", async () => { - const { result, rerender } = renderHook( - ({ textValue }) => - useErrorMsg({ - textValue, - props, - minAndMaxDate: getMinAndMaxSettings(props.dataType, { - minKey: "minDateTime", - maxKey: "maxDateTime", - }), - }), - { - initialProps: { textValue: "" }, - }, - ); - - act(() => { - rerender({ textValue: "2024-08-23T09:24:22" }); - }); - - await waitFor(() => { - expect(result.current).toBe(""); - }); - }); - it("should not return error for type date because of min date value is specified", async () => { - const { result, rerender } = renderHook( - ({ textValue }) => - useErrorMsg({ - textValue, - props: { - ...props, - dataType: { - ...props.dataType, - strictMin: false, - }, - }, - minAndMaxDate: getMinAndMaxSettings(props.dataType, { - minKey: "minDateTime", - maxKey: "maxDateTime", - }), - }), - { - initialProps: { textValue: "" }, - }, - ); - - act(() => { - rerender({ textValue: "2024-08-14T06:14:20" }); - }); - - await waitFor(() => { - expect(result.current).toBe(""); - }); - }); - it("should call the callback method if it is provided", async () => { - const callback = jest.fn(); - - const { rerender } = renderHook( - ({ textValue }) => - useErrorMsg({ - textValue, - props: { - ...props, - events: { change: callback }, - }, - minAndMaxDate: getMinAndMaxSettings(props.dataType, { - minKey: "minDateTime", - maxKey: "maxDateTime", - }), - }), - { - initialProps: { textValue: "" }, - }, - ); - - act(() => { - rerender({ textValue: "2014-09-12T15:46:18" }); - }); - - await waitFor(() => { - expect(callback).toHaveBeenCalled(); - }); - }); -}); From 655668cb564144b72e11c2878ebac485ff787db8 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 19 Dec 2024 09:56:35 -0600 Subject: [PATCH 25/55] useLiveState custom hook tests updated after the new changes for the store --- .../test/controls/hooks/useLiveState.test.ts | 48 +++++++------------ 1 file changed, 17 insertions(+), 31 deletions(-) diff --git a/packages/jv-input-controls/test/controls/hooks/useLiveState.test.ts b/packages/jv-input-controls/test/controls/hooks/useLiveState.test.ts index bbb08f67..7daf9bbe 100644 --- a/packages/jv-input-controls/test/controls/hooks/useLiveState.test.ts +++ b/packages/jv-input-controls/test/controls/hooks/useLiveState.test.ts @@ -12,9 +12,9 @@ describe("useLiveState hook tests", () => { const { result } = renderHook(() => useLiveState(42)); expect(result.current.value).toBe(42); }); - it("should return 2 fields", () => { + it("should return 3 fields", () => { const { result } = renderHook(() => useLiveState(0)); - expect(Object.keys(result.current).length).toBe(2); + expect(Object.keys(result.current).length).toBe(3); }); it("should return expected fields: value, onChange", () => { const { result } = renderHook(() => useLiveState(0)); @@ -36,33 +36,19 @@ describe("useLiveState hook tests", () => { }); expect(result.current.value).toBe(true); }); - // it("should call the callback method if it is provided", () => { - // const callback = jest.fn(); - // // help me fix the next line - // const { result } = renderHook(() => - // useLiveState(0, { - // events: { change: callback }, - // id: "column_time_1", - // label: "column_time", - // mandatory: false, - // readOnly: false, - // visible: true, - // type: "singleValueTime", - // state: { - // uri: "/public/Visualize/Adhoc/Ad_Hoc_View_All_filters_files/column_time_1", - // id: "column_time_1", - // value: "23:44:21", - // }, - // }), - // ); - // act(() => { - // result.current.onChange({ - // target: { - // type: "text", - // value: 42, - // }, - // }); - // }); - // expect(callback).toHaveBeenCalled(); - // }); + it("should call the CALLBACK with the new value", () => { + const callback = jest.fn(); + const { result } = renderHook(() => useLiveState("initial text", callback)); + const newValue = "my name is Eduardo"; + act(() => { + result.current.onChange({ + target: { + type: "text", + value: newValue, + }, + }); + }); + + expect(callback).toHaveBeenCalledWith(newValue); + }); }); From bcc30433bad4b03e614a1e6339bcf090934cc9a3 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 19 Dec 2024 11:31:18 -0600 Subject: [PATCH 26/55] useChangeCallback custom hook tests added after the new changes for the store (cascading feature) --- .../controls/hooks/useChangeCallback.test.ts | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 packages/jv-input-controls/test/controls/hooks/useChangeCallback.test.ts diff --git a/packages/jv-input-controls/test/controls/hooks/useChangeCallback.test.ts b/packages/jv-input-controls/test/controls/hooks/useChangeCallback.test.ts new file mode 100644 index 00000000..2494bdc4 --- /dev/null +++ b/packages/jv-input-controls/test/controls/hooks/useChangeCallback.test.ts @@ -0,0 +1,68 @@ +/* + * Copyright © 2024. Cloud Software Group, Inc. + * This file is subject to the license terms contained + * in the license file that is distributed with this file. + */ + +import { renderHook } from "@testing-library/react"; +import { useChangeCallback } from "../../../src/controls/hooks/useChangeCallback"; +import { BooleanInputControlProps } from "../../../src/controls/BooleanInputControl"; +import { CommonInputControlProperties } from "@jaspersoft/jv-tools"; + +describe("useChangeCallback custom hook", () => { + const mockHandleIcChange = jest.fn(); + const commonBooleanICProps: CommonInputControlProperties = { + id: "test-id", + label: "Test Label", + mandatory: false, + readOnly: false, + visible: true, + type: "bool", + }; + const booleanICProps: BooleanInputControlProps = { + ...commonBooleanICProps, + handleIcChange: mockHandleIcChange, + }; + + beforeEach(() => { + jest.clearAllMocks(); + }); + + it("should call handleIcChange with correct parameters when theValue changes", () => { + const { rerender } = renderHook( + ({ theValue }) => useChangeCallback(theValue, booleanICProps), + { + initialProps: { theValue: false }, + }, + ); + + rerender({ theValue: true }); + // This emulates the "response" object sent to the user on the events.change callback: + const successResponse = { [commonBooleanICProps.id]: "" }; + expect(mockHandleIcChange).toHaveBeenCalledWith( + expect.objectContaining(commonBooleanICProps), + successResponse, + ); + }); + + it("should not call handleIcChange on initial render", () => { + renderHook(() => useChangeCallback(false, booleanICProps)); + + expect(mockHandleIcChange).not.toHaveBeenCalled(); + }); + + it("should call handleIcChange only after theValue changes", () => { + const { rerender } = renderHook( + ({ theValue }) => useChangeCallback(theValue, booleanICProps), + { + initialProps: { theValue: false }, + }, + ); + + rerender({ theValue: false }); + expect(mockHandleIcChange).not.toHaveBeenCalled(); + + rerender({ theValue: true }); + expect(mockHandleIcChange).toHaveBeenCalledTimes(1); + }); +}); From cccf5e3f4c6d7dcf59b13a242a4780a00ab079da Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 19 Dec 2024 11:33:36 -0600 Subject: [PATCH 27/55] BooleanInputControl tests updated after the new changes for the store (cascading feature). The main feature of the cascading feature for this IC is already tested on the useChangeCallback test --- .../test/controls/BooleanInputControl.test.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/jv-input-controls/test/controls/BooleanInputControl.test.tsx b/packages/jv-input-controls/test/controls/BooleanInputControl.test.tsx index c29302fe..f21a315b 100644 --- a/packages/jv-input-controls/test/controls/BooleanInputControl.test.tsx +++ b/packages/jv-input-controls/test/controls/BooleanInputControl.test.tsx @@ -4,7 +4,7 @@ * in the license file that is distributed with this file. */ -import * as React from "react"; +import { JSX } from "react"; import { BooleanInputControl } from "../../src/controls/BooleanInputControl"; import { cleanup, render } from "@testing-library/react"; @@ -17,7 +17,7 @@ const requiredProps = { type: "bool", }; -const getBoolIC = (options?: object): React.JSX.Element => { +const getBoolIC = (options?: object): JSX.Element => { return ; }; From a100ba8d579d215223907c9e466f2b8d46f60cef Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 19 Dec 2024 12:21:45 -0600 Subject: [PATCH 28/55] DatePickerInputControl tests updated after implementing the new changes for the context/dispatch (cascading feature). --- .../src/controls/DatePickerInputControl.tsx | 2 + .../controls/DatePickerInputControl.test.tsx | 76 +++++++++++++++++-- 2 files changed, 73 insertions(+), 5 deletions(-) diff --git a/packages/jv-input-controls/src/controls/DatePickerInputControl.tsx b/packages/jv-input-controls/src/controls/DatePickerInputControl.tsx index fe7c7835..bd95b442 100644 --- a/packages/jv-input-controls/src/controls/DatePickerInputControl.tsx +++ b/packages/jv-input-controls/src/controls/DatePickerInputControl.tsx @@ -61,6 +61,8 @@ export const DatePickerInputControl = (props: DateICProps) => { { +const getDatePickerIC = (options?: any): JSX.Element => { const mergedProps = { ...requiredProps, ...options }; return ( @@ -128,4 +132,66 @@ describe("DatePickerInputControl tests", () => { inputElement = screen.getByRole("textbox") as HTMLInputElement; expect(inputElement).not.toHaveAttribute("disabled"); }); + + // New test scenarios + test("calls handleIcChange with correct parameters on value change", () => { + const handleIcChange = jest.fn(); + render( + getDatePickerIC({ + handleIcChange, + state: { + value: "04/17/2022", + }, + }), + ); + const datePicker = screen.queryByLabelText( + requiredProps.label, + ) as HTMLInputElement; + const newValue = "04/18/2022"; + fireEvent.change(datePicker, { target: { value: newValue } }); + expect(handleIcChange).toHaveBeenCalledWith( + expect.objectContaining({ + id: requiredProps.id, + label: requiredProps.label, + mandatory: requiredProps.mandatory, + readOnly: requiredProps.readOnly, + visible: requiredProps.visible, + type: requiredProps.type, + }), + { [requiredProps.id]: "" }, + ); + }); + + test("displays error message when validation fails", () => { + render( + getDatePickerIC({ + validationRules: [ + { + dateTimeFormatValidationRule: { + errorMessage: "Specify a valid date value.", + format: "yyyy-MM-dd", + }, + }, + ], + dataType: { + type: "date", + strictMax: false, + minValue: "2024-12-01", + strictMin: true, + }, + state: { + ...requiredProps.state, + value: "12/03/2024", + }, + }), + ); + const datePicker = screen.queryByLabelText( + requiredProps.label, + ) as HTMLInputElement; + fireEvent.change(datePicker, { target: { value: "12/01/2024" } }); + const errorElement = screen.getByText( + "Verify the date is after 2024-12-01.", + ); + expect(errorElement).toBeVisible(); + }); }); From 794f90932826b4fd1ea7e51d67c5c39bcca72f55 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 19 Dec 2024 12:54:21 -0600 Subject: [PATCH 29/55] DatePickerTextFieldInputControl tests updated after implementing the new changes for the context/dispatch (cascading feature). --- .../DatePickerTextFieldInputControl.tsx | 1 + .../DatePickerTextFieldInputControl.test.tsx | 85 +++++++++++++------ 2 files changed, 58 insertions(+), 28 deletions(-) diff --git a/packages/jv-input-controls/src/controls/DatePickerTextFieldInputControl.tsx b/packages/jv-input-controls/src/controls/DatePickerTextFieldInputControl.tsx index 216d20cc..fc8e940a 100644 --- a/packages/jv-input-controls/src/controls/DatePickerTextFieldInputControl.tsx +++ b/packages/jv-input-controls/src/controls/DatePickerTextFieldInputControl.tsx @@ -65,6 +65,7 @@ export const DatePickerTextFieldInputControl = ( { +const getDatePickerTextFieldIC = (options?: any): JSX.Element => { return ( ); @@ -63,11 +67,13 @@ describe("DatePickerTextFieldInputControl tests", () => { // Test for onChange event test("updates value on change", () => { - const { container } = render(getDatePickerTextFieldIC({})); - const inputElement = container.querySelector("input") as HTMLInputElement; + render(getDatePickerTextFieldIC({})); + const inputElement = screen.queryByLabelText( + requiredProps.label, + ) as HTMLInputElement; const newValue = "2024-07-17"; fireEvent.change(inputElement, { target: { value: newValue } }); - expect(inputElement.value).toBe(newValue); + expect(screen.getByDisplayValue(newValue)).toBeVisible(); }); // Test for variant prop @@ -133,18 +139,40 @@ describe("DatePickerTextFieldInputControl tests", () => { expect(divElement).toHaveClass(HIDDEN_CLASS_NAME); }); - // Test for mandatory field - test("verify the field shows error when mandatory prop is set", () => { - const CSS_ERROR_CLASS = "jv-mInputRequired"; - const { container } = render( + // New test scenarios + test("calls handleIcChange with correct parameters on value change", () => { + const handleIcChange = jest.fn(); + render( + getDatePickerTextFieldIC({ + handleIcChange, + state: { + ...requiredProps.state, + value: "04/17/2022", + }, + }), + ); + const inputElement = screen.queryByLabelText( + requiredProps.label, + ) as HTMLInputElement; + const newValue = "04/18/2022"; + fireEvent.change(inputElement, { target: { value: newValue } }); + expect(handleIcChange).toHaveBeenCalledWith( + expect.objectContaining({ + id: requiredProps.id, + label: requiredProps.label, + mandatory: requiredProps.mandatory, + readOnly: requiredProps.readOnly, + visible: requiredProps.visible, + type: requiredProps.type, + }), + { [requiredProps.id]: "" }, + ); + }); + + test("displays error message when validation fails", () => { + render( getDatePickerTextFieldIC({ - mandatory: true, validationRules: [ - { - mandatoryValidationRule: { - errorMessage: "This field is mandatory so you must enter data.", - }, - }, { dateTimeFormatValidationRule: { errorMessage: "Specify a valid date value.", @@ -152,24 +180,25 @@ describe("DatePickerTextFieldInputControl tests", () => { }, }, ], - state: { - uri: "/public/Visualize/Adhoc/Ad_Hoc_View_All_filters_files/column_date_1", - id: "column_date_1", - value: "", - error: "This field is mandatory so you must enter data.", - }, dataType: { type: "date", - maxValue: "2024-07-26", - strictMax: true, - minValue: "2024-07-16", + strictMax: false, + minValue: "2024-12-01", strictMin: true, }, + state: { + ...requiredProps.state, + value: "12/03/2024", + }, }), ); - let wrapperDiv = container.querySelector( - `div.${CSS_ERROR_CLASS}`, + const inputElement = screen.queryByLabelText( + requiredProps.label, ) as HTMLInputElement; - expect(wrapperDiv).toBeInTheDocument(); + fireEvent.change(inputElement, { target: { value: "12/01/2024" } }); + const errorElement = screen.getByText( + "Verify the date is after 2024-12-01.", + ); + expect(errorElement).toBeVisible(); }); }); From ede33df8d90a458b5f800d1aea504d9d49c1abb2 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 19 Dec 2024 13:16:15 -0600 Subject: [PATCH 30/55] DateTimePickerInputControl tests updated after implementing the new changes for the context/dispatch (cascading feature). --- .../controls/DateTimePickerInputControl.tsx | 2 + .../DateTimePickerInputControl.test.tsx | 75 ++++++++++++++++++- 2 files changed, 74 insertions(+), 3 deletions(-) diff --git a/packages/jv-input-controls/src/controls/DateTimePickerInputControl.tsx b/packages/jv-input-controls/src/controls/DateTimePickerInputControl.tsx index 7d28069c..17a84062 100644 --- a/packages/jv-input-controls/src/controls/DateTimePickerInputControl.tsx +++ b/packages/jv-input-controls/src/controls/DateTimePickerInputControl.tsx @@ -71,6 +71,8 @@ export const DateTimePickerInputControl = (props: DateTimeICProps) => { {...minAndMaxSettings} id={props.id} label={props.label} + readOnly={props.readOnly} + disabled={!!props.disabled} onChange={liveState.onChange} value={liveState.value} views={views} diff --git a/packages/jv-input-controls/test/controls/DateTimePickerInputControl.test.tsx b/packages/jv-input-controls/test/controls/DateTimePickerInputControl.test.tsx index a66b7c50..27fc7a01 100644 --- a/packages/jv-input-controls/test/controls/DateTimePickerInputControl.test.tsx +++ b/packages/jv-input-controls/test/controls/DateTimePickerInputControl.test.tsx @@ -5,12 +5,15 @@ */ import { JVDatePickerProvider } from "@jaspersoft/jv-ui-components"; -import { render, screen } from "@testing-library/react"; +import { fireEvent, render, screen } from "@testing-library/react"; import "@testing-library/jest-dom"; import * as React from "react"; -import { DateTimePickerInputControl } from "../../src/controls/DateTimePickerInputControl"; +import { + DateTimeICProps, + DateTimePickerInputControl, +} from "../../src/controls/DateTimePickerInputControl"; -const requiredProps = { +const requiredProps: DateTimeICProps = { id: "column_timestamp_1", label: "column_timestamp", mandatory: false, @@ -22,6 +25,8 @@ const requiredProps = { id: "column_timestamp_1", value: "2014-09-12T15:46:18", }, + validationRules: [], + handleIcChange: jest.fn(), }; const getDateTimePickerIC = (options?: any): React.JSX.Element => { @@ -106,4 +111,68 @@ describe("DateTimePickerInputControl tests", () => { inputElement = screen.getByRole("textbox") as HTMLInputElement; expect(inputElement).not.toHaveAttribute("disabled"); }); + + // New test scenarios + test("calls handleIcChange with correct parameters on value change", () => { + const handleIcChange = jest.fn(); + render( + getDateTimePickerIC({ + handleIcChange, + state: { + value: "2014-09-12T15:46:18", + }, + }), + ); + const inputElement = screen.queryByLabelText( + requiredProps.label, + ) as HTMLInputElement; + const newValue = "2014-09-13T15:46:18"; + fireEvent.change(inputElement, { target: { value: newValue } }); + expect(handleIcChange).toHaveBeenCalledWith( + expect.objectContaining({ + id: requiredProps.id, + label: requiredProps.label, + mandatory: requiredProps.mandatory, + readOnly: requiredProps.readOnly, + visible: requiredProps.visible, + type: requiredProps.type, + }), + { [requiredProps.id]: "" }, + ); + }); + + test("displays error message when validation fails", () => { + render( + getDateTimePickerIC({ + validationRules: [ + { + dateTimeFormatValidationRule: { + errorMessage: "Specify a valid date/time value.", + format: "yyyy-MM-dd'T'HH:mm:ss", + }, + }, + ], + dataType: { + type: "datetime", + maxValue: "2024-12-31T00:00:00", + strictMax: true, + strictMin: false, + }, + state: { + ...requiredProps.state, + value: "2014-09-12T15:46:18", + }, + }), + ); + const inputElement = screen.queryByLabelText( + requiredProps.label, + ) as HTMLInputElement; + fireEvent.change(inputElement, { + target: { value: "12/31/2024 12:00:00 PM" }, + }); + const errorElement = screen.getByText( + "Verify the date is before 2024-12-31T00:00:00.", + ); + expect(errorElement).toBeVisible(); + }); }); From 99f400eb9da5e626e4e646aa5abb8d83a09e3982 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 19 Dec 2024 13:25:06 -0600 Subject: [PATCH 31/55] removed dependency that is not needed anymore on the DateTimePickerInputControl file. DateTimePickerTextFieldInputControl tests updated after implementing the new changes for the context/dispatch (cascading feature). --- .../DateTimePickerTextFieldInputControl.tsx | 1 + .../DateTimePickerInputControl.test.tsx | 4 +- ...teTimePickerTextFieldInputControl.test.tsx | 77 +++++++++++++------ 3 files changed, 56 insertions(+), 26 deletions(-) diff --git a/packages/jv-input-controls/src/controls/DateTimePickerTextFieldInputControl.tsx b/packages/jv-input-controls/src/controls/DateTimePickerTextFieldInputControl.tsx index 33fc79a0..b79ae607 100644 --- a/packages/jv-input-controls/src/controls/DateTimePickerTextFieldInputControl.tsx +++ b/packages/jv-input-controls/src/controls/DateTimePickerTextFieldInputControl.tsx @@ -60,6 +60,7 @@ export const DateTimePickerTextFieldInputControl = ( { +const getDateTimePickerIC = (options?: any): JSX.Element => { const mergedProps = { ...requiredProps, ...options }; return ( diff --git a/packages/jv-input-controls/test/controls/DateTimePickerTextFieldInputControl.test.tsx b/packages/jv-input-controls/test/controls/DateTimePickerTextFieldInputControl.test.tsx index fdf0384b..7853ccdf 100644 --- a/packages/jv-input-controls/test/controls/DateTimePickerTextFieldInputControl.test.tsx +++ b/packages/jv-input-controls/test/controls/DateTimePickerTextFieldInputControl.test.tsx @@ -7,11 +7,14 @@ import { SizeToClass } from "@jaspersoft/jv-ui-components/material-ui/types/InputTypes"; import { fireEvent, render, screen } from "@testing-library/react"; import { JSX } from "react"; -import { DateTimePickerTextFieldInputControl } from "../../src/controls/DateTimePickerTextFieldInputControl"; +import { + DateTimePickerTextFieldInputControl, + DateTimeTextFieldICProps, +} from "../../src/controls/DateTimePickerTextFieldInputControl"; import "@testing-library/jest-dom"; const LARGE_CSS_CLASS = SizeToClass.large; -const requiredProps = { +const requiredProps: DateTimeTextFieldICProps = { id: "column_timestamp_1", label: "column_timestamp", mandatory: false, @@ -23,6 +26,8 @@ const requiredProps = { id: "column_timestamp_1", value: "2014-09-12T15:46:18", }, + validationRules: [], + handleIcChange: jest.fn(), }; const getDateTimePickerTextFieldIC = (options?: object): JSX.Element => { @@ -135,18 +140,39 @@ describe("DateTimePickerTextFieldInputControl tests", () => { expect(divElement).toHaveClass(HIDDEN_CLASS_NAME); }); - // Test for mandatory field - test("verify the field shows error when mandatory prop is set", () => { - const CSS_ERROR_CLASS = "jv-mInputRequired"; - const { container } = render( + // New test scenarios + test("calls handleIcChange with correct parameters on value change", () => { + const handleIcChange = jest.fn(); + render( + getDateTimePickerTextFieldIC({ + handleIcChange, + state: { + value: "2014-09-12T15:46:18", + }, + }), + ); + const inputElement = screen.queryByLabelText( + requiredProps.label, + ) as HTMLInputElement; + const newValue = "2024-07-15T15:46:18.000"; + fireEvent.change(inputElement, { target: { value: newValue } }); + expect(handleIcChange).toHaveBeenCalledWith( + expect.objectContaining({ + id: requiredProps.id, + label: requiredProps.label, + mandatory: requiredProps.mandatory, + readOnly: requiredProps.readOnly, + visible: requiredProps.visible, + type: requiredProps.type, + }), + { [requiredProps.id]: "" }, + ); + }); + + test("displays error message when validation fails", () => { + render( getDateTimePickerTextFieldIC({ - mandatory: true, validationRules: [ - { - mandatoryValidationRule: { - errorMessage: "This field is mandatory so you must enter data.", - }, - }, { dateTimeFormatValidationRule: { errorMessage: "Specify a valid date/time value.", @@ -154,24 +180,27 @@ describe("DateTimePickerTextFieldInputControl tests", () => { }, }, ], - state: { - uri: "/public/Visualize/Adhoc/Ad_Hoc_View_All_filters_files/column_timestamp_1", - id: "column_timestamp_1", - value: "", - error: "This field is mandatory so you must enter data.", - }, dataType: { type: "datetime", - maxValue: "2024-07-25T06:17:36", + maxValue: "2024-12-31T00:00:00", strictMax: true, - minValue: "2024-07-17T02:07:17", - strictMin: true, + strictMin: false, + }, + state: { + ...requiredProps.state, + value: "2024-07-15T15:46:18", }, }), ); - let wrapperDiv = container.querySelector( - `div.${CSS_ERROR_CLASS}`, + const inputElement = screen.queryByLabelText( + requiredProps.label, ) as HTMLInputElement; - expect(wrapperDiv).toBeInTheDocument(); + fireEvent.change(inputElement, { + target: { value: "12/31/2024 12:00:00 PM" }, + }); + const errorElement = screen.getByText( + "Verify the date is before 2024-12-31T00:00:00.", + ); + expect(errorElement).toBeVisible(); }); }); From 1196ff1c7bbae8aece57d988812b670934d6d9aa Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 19 Dec 2024 15:29:13 -0600 Subject: [PATCH 32/55] TimePickerInputControl tests updated after implementing the new changes for the context/dispatch (cascading feature). --- .../src/controls/TimePickerInputControl.tsx | 4 + .../controls/TimePickerInputControl.test.tsx | 105 ++++++++++++++++-- 2 files changed, 101 insertions(+), 8 deletions(-) diff --git a/packages/jv-input-controls/src/controls/TimePickerInputControl.tsx b/packages/jv-input-controls/src/controls/TimePickerInputControl.tsx index 08daafd4..27c9732c 100644 --- a/packages/jv-input-controls/src/controls/TimePickerInputControl.tsx +++ b/packages/jv-input-controls/src/controls/TimePickerInputControl.tsx @@ -60,6 +60,10 @@ export const TimePickerInputControl = (props: TimeICProps) => { return ( { @@ -35,9 +40,11 @@ const getTimePickerIC = (options?: any): JSX.Element => { describe("TimePickerInputControl tests", () => { test("TimePickerInputControl is rendered correctly", () => { - render(getTimePickerIC({ state: { value: "15:46:18" } })); - const datePickerElement = screen.getByRole("textbox"); - expect(datePickerElement).toBeInTheDocument(); + render( + getTimePickerIC({ state: { ...requiredProps.state, value: "10:46:18" } }), + ); + const timePickerElement = screen.getByRole("textbox"); + expect(timePickerElement).toBeInTheDocument(); }); test("displays the label when provided", () => { @@ -67,6 +74,21 @@ describe("TimePickerInputControl tests", () => { expect(inputElement.value).toBe("03:46:18PM"); }); + test("uses value as the initial input value", () => { + const defaultValue = "15:46:18"; + render(getTimePickerIC({ state: { value: defaultValue } })); + const inputElement = screen.getByRole("textbox") as HTMLInputElement; + expect(inputElement.value).toBe(defaultValue); + }); + + test("updates value on change", () => { + render(getTimePickerIC({ state: { value: "15:46:18" } })); + const timePicker = screen.getByRole("textbox") as HTMLInputElement; + const newValue = "16:46:18"; + fireEvent.change(timePicker, { target: { value: newValue } }); + expect(screen.getByDisplayValue(newValue)).toBeVisible(); + }); + test("check the component is read-only", () => { // Render the component const { rerender } = render(getTimePickerIC({ readOnly: true })); @@ -106,4 +128,71 @@ describe("TimePickerInputControl tests", () => { inputElement = screen.getByRole("textbox") as HTMLInputElement; expect(inputElement).not.toHaveAttribute("disabled"); }); + + // New test scenarios + test("calls handleIcChange with correct parameters on value change", () => { + const handleIcChange = jest.fn(); + render( + getTimePickerIC({ + handleIcChange, + state: { + value: "15:46:18", + }, + }), + ); + const inputElement = screen.queryByLabelText( + requiredProps.label, + ) as HTMLInputElement; + const newValue = "16:46:18"; + fireEvent.change(inputElement, { target: { value: newValue } }); + expect(handleIcChange).toHaveBeenCalledWith( + expect.objectContaining({ + id: requiredProps.id, + label: requiredProps.label, + mandatory: requiredProps.mandatory, + readOnly: requiredProps.readOnly, + visible: requiredProps.visible, + type: requiredProps.type, + }), + { [requiredProps.id]: "" }, + ); + }); + + test("displays error message when validation fails", () => { + render( + getTimePickerIC({ + mandatory: true, + validationRules: [ + { + mandatoryValidationRule: { + errorMessage: "This field is mandatory so you must enter data.", + }, + }, + { + dateTimeFormatValidationRule: { + errorMessage: "Specify a valid time value.", + format: "HH:mm:ss", + }, + }, + ], + dataType: { + type: "time", + maxValue: "19:15:00", + strictMax: true, + minValue: "07:00:00", + strictMin: true, + }, + state: { + ...requiredProps.state, + value: "15:46:18", + }, + }), + ); + const inputElement = screen.queryByLabelText( + requiredProps.label, + ) as HTMLInputElement; + fireEvent.change(inputElement, { target: { value: "06:30:00" } }); + const errorElement = screen.getByText("Verify the time is after 07:00:00."); + expect(errorElement).toBeVisible(); + }); }); From 459dc861f9fd5e2b664318122511b3f580b623f6 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 19 Dec 2024 15:44:11 -0600 Subject: [PATCH 33/55] changed object to any for the typings --- .../test/controls/DateTimePickerTextFieldInputControl.test.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/jv-input-controls/test/controls/DateTimePickerTextFieldInputControl.test.tsx b/packages/jv-input-controls/test/controls/DateTimePickerTextFieldInputControl.test.tsx index 7853ccdf..80771e5b 100644 --- a/packages/jv-input-controls/test/controls/DateTimePickerTextFieldInputControl.test.tsx +++ b/packages/jv-input-controls/test/controls/DateTimePickerTextFieldInputControl.test.tsx @@ -30,7 +30,7 @@ const requiredProps: DateTimeTextFieldICProps = { handleIcChange: jest.fn(), }; -const getDateTimePickerTextFieldIC = (options?: object): JSX.Element => { +const getDateTimePickerTextFieldIC = (options?: any): JSX.Element => { return ( Date: Thu, 19 Dec 2024 15:44:23 -0600 Subject: [PATCH 34/55] TimePickerTextFieldInputControl tests updated after implementing the new changes for the context/dispatch (cascading feature). --- .../TimePickerTextFieldInputControl.tsx | 1 + .../TimePickerTextFieldInputControl.test.tsx | 80 ++++++++++++++++++- 2 files changed, 78 insertions(+), 3 deletions(-) diff --git a/packages/jv-input-controls/src/controls/TimePickerTextFieldInputControl.tsx b/packages/jv-input-controls/src/controls/TimePickerTextFieldInputControl.tsx index 3f4a82aa..680116b6 100644 --- a/packages/jv-input-controls/src/controls/TimePickerTextFieldInputControl.tsx +++ b/packages/jv-input-controls/src/controls/TimePickerTextFieldInputControl.tsx @@ -60,6 +60,7 @@ export const TimePickerTextFieldInputControl = ( { @@ -168,4 +173,73 @@ describe("TimePickerTextFieldInputControl tests", () => { ) as HTMLInputElement; expect(wrapperDiv).toBeInTheDocument(); }); + + // New test scenarios + test("calls handleIcChange with correct parameters on value change", () => { + const handleIcChange = jest.fn(); + render( + getTimePickerTextFieldIC({ + handleIcChange, + state: { + value: "15:46:18", + }, + }), + ); + const inputElement = screen.queryByLabelText( + requiredProps.label, + ) as HTMLInputElement; + const newValue = "16:46:18"; + fireEvent.change(inputElement, { target: { value: newValue } }); + expect(handleIcChange).toHaveBeenCalledWith( + expect.objectContaining({ + id: requiredProps.id, + label: requiredProps.label, + mandatory: requiredProps.mandatory, + readOnly: requiredProps.readOnly, + visible: requiredProps.visible, + type: requiredProps.type, + }), + { [requiredProps.id]: "" }, + ); + }); + + test("displays error message when validation fails", () => { + render( + getTimePickerTextFieldIC({ + mandatory: true, + validationRules: [ + { + mandatoryValidationRule: { + errorMessage: "This field is mandatory so you must enter data.", + }, + }, + { + dateTimeFormatValidationRule: { + errorMessage: "Specify a valid time value.", + format: "HH:mm:ss", + }, + }, + ], + dataType: { + type: "time", + maxValue: "19:15:00", + strictMax: true, + minValue: "07:00:00", + strictMin: true, + }, + state: { + ...requiredProps.state, + value: "15:46:18", + }, + }), + ); + const inputElement = screen.queryByLabelText( + requiredProps.label, + ) as HTMLInputElement; + fireEvent.change(inputElement, { target: { value: "19:25:36" } }); + const errorElement = screen.getByText( + "Verify the time is before 19:15:00.", + ); + expect(errorElement).toBeVisible(); + }); }); From d6f28040b19cf9a8162eddba230f6ef5a634d602 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 19 Dec 2024 16:40:41 -0600 Subject: [PATCH 35/55] SingleValueNumberInputControl tests updated after implementing the new changes for the context/dispatch (cascading feature). --- .../SingleValueNumberInputControl.test.tsx | 103 ++++++++++++++---- 1 file changed, 82 insertions(+), 21 deletions(-) diff --git a/packages/jv-input-controls/test/controls/SingleValueNumberInputControl.test.tsx b/packages/jv-input-controls/test/controls/SingleValueNumberInputControl.test.tsx index c1538373..af3a2c91 100644 --- a/packages/jv-input-controls/test/controls/SingleValueNumberInputControl.test.tsx +++ b/packages/jv-input-controls/test/controls/SingleValueNumberInputControl.test.tsx @@ -4,14 +4,16 @@ * in the license file that is distributed with this file. */ -import { SizeToClass } from "@jaspersoft/jv-ui-components/material-ui/types/InputTypes"; import { fireEvent, render, screen, waitFor } from "@testing-library/react"; -import { JSX } from "react"; -import { SingleValueNumberInputControl } from "../../src/controls/SingleValueNumberInputControl"; import "@testing-library/jest-dom"; +import { JSX } from "react"; +import { + SingleValueNumberInputControl, + NumberICProps, +} from "../../src/controls/SingleValueNumberInputControl"; -const LARGE_CSS_CLASS = SizeToClass.large; -const requiredProps = { +const LARGE_CSS_CLASS = "jv-mInputLarge"; +const requiredProps: NumberICProps = { id: "column_float_1", label: "column_float", mandatory: false, @@ -21,21 +23,22 @@ const requiredProps = { state: { uri: "/public/Visualize/Adhoc/Ad_Hoc_View_All_filters_files/column_float_1", id: "column_float_1", - value: "0.33", + value: "1234.56", }, + validationRules: [], + handleIcChange: jest.fn(), }; -const getNumberIC = (options?: object): JSX.Element => { - return ( - - ); +const getNumberIC = (options?: any): JSX.Element => { + const mergedProps = { ...requiredProps, ...options }; + return ; }; -describe("SingleValueNumberInputControls tests", () => { - test("SingleValueNumberInputControls is rendered correctly", () => { +describe("SingleValueNumberInputControl tests", () => { + test("SingleValueNumberInputControl is rendered correctly", () => { render(getNumberIC()); - const buttonElement = screen.getByRole("textbox"); - expect(buttonElement).toBeInTheDocument(); + const inputElement = screen.getByRole("textbox"); + expect(inputElement).toBeInTheDocument(); }); // Test for label prop @@ -48,13 +51,9 @@ describe("SingleValueNumberInputControls tests", () => { // Test for value prop test("uses value as the initial input value", () => { - const defaultValue = "1,786"; + const defaultValue = "1234.56"; render( - getNumberIC({ - state: { - value: defaultValue, - }, - }), + getNumberIC({ state: { ...requiredProps.state, value: defaultValue } }), ); const inputElement = screen.getByRole("textbox") as HTMLInputElement; expect(inputElement.value).toBe(defaultValue); @@ -99,7 +98,7 @@ describe("SingleValueNumberInputControls tests", () => { test("updates value on change", () => { const { getByRole } = render(getNumberIC({})); const inputElement = getByRole("textbox") as HTMLInputElement; - const newValue = "3,926"; + const newValue = "3926"; fireEvent.change(inputElement, { target: { value: newValue } }); expect(inputElement.value).toBe(newValue); }); @@ -295,4 +294,66 @@ describe("SingleValueNumberInputControls tests", () => { expect(errorMsg).not.toBeInTheDocument(); }); }); + + // New test scenarios + test("calls handleIcChange with correct parameters on value change", () => { + const handleIcChange = jest.fn(); + render( + getNumberIC({ + handleIcChange, + state: { + value: "1234.56", + }, + }), + ); + const inputElement = screen.queryByLabelText( + requiredProps.label, + ) as HTMLInputElement; + const newValue = "5678.90"; + fireEvent.change(inputElement, { target: { value: newValue } }); + expect(handleIcChange).toHaveBeenCalledWith( + expect.objectContaining({ + id: requiredProps.id, + label: requiredProps.label, + mandatory: requiredProps.mandatory, + readOnly: requiredProps.readOnly, + visible: requiredProps.visible, + type: requiredProps.type, + }), + { [requiredProps.id]: "" }, + ); + }); + + test("displays error message when validation fails", async () => { + render( + getNumberIC({ + validationRules: [ + { + mandatoryValidationRule: { + errorMessage: "This field is mandatory so you must enter data.", + }, + }, + ], + dataType: { + type: "number", + maxValue: "10", + strictMax: true, + minValue: "5", + strictMin: true, + }, + state: { + value: "6", + }, + }), + ); + const inputElement = screen.getByRole("textbox") as HTMLInputElement; + fireEvent.change(inputElement, { target: { value: "500" } }); + + await waitFor(() => { + const errorElement = screen.getByText( + "Verify the number is lower than 10.", + ); + expect(errorElement).toBeVisible(); + }); + }); }); From 05a3a4a8fc64429bff1d59b34c9766c2bade86bb Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 19 Dec 2024 16:50:25 -0600 Subject: [PATCH 36/55] SingleValueTextInputControl tests updated after implementing the new changes for the context/dispatch (cascading feature). --- .../SingleValueTextInputControl.test.tsx | 79 +++++++++++++++++-- 1 file changed, 71 insertions(+), 8 deletions(-) diff --git a/packages/jv-input-controls/test/controls/SingleValueTextInputControl.test.tsx b/packages/jv-input-controls/test/controls/SingleValueTextInputControl.test.tsx index 6d7f211b..4dff38e9 100644 --- a/packages/jv-input-controls/test/controls/SingleValueTextInputControl.test.tsx +++ b/packages/jv-input-controls/test/controls/SingleValueTextInputControl.test.tsx @@ -4,14 +4,16 @@ * in the license file that is distributed with this file. */ -import { SizeToClass } from "@jaspersoft/jv-ui-components/material-ui/types/InputTypes"; -import { fireEvent, render, screen } from "@testing-library/react"; -import { SingleValueTextInputControl } from "../../src/controls/SingleValueTextInputControl"; +import { fireEvent, render, screen, waitFor } from "@testing-library/react"; import "@testing-library/jest-dom"; -import * as React from "react"; - -const LARGE_CSS_CLASS = SizeToClass.large; -const requiredProps = { +import { JSX } from "react"; +import { + SingleValueTextInputControl, + TextFieldICProps, +} from "../../src/controls/SingleValueTextInputControl"; + +const LARGE_CSS_CLASS = "jv-mInputLarge"; +const requiredProps: TextFieldICProps = { id: "column_string_1", label: "column_string_1", mandatory: false, @@ -23,9 +25,11 @@ const requiredProps = { id: "column_string_1", value: "ddd", }, + validationRules: [], + handleIcChange: jest.fn(), }; -const getTextIC = (options?: object): React.JSX.Element => { +const getTextIC = (options?: object): JSX.Element => { return ; }; @@ -142,4 +146,63 @@ describe("SingleValueTextInputControls tests", () => { ) as HTMLInputElement; expect(wrapperDiv).toBeInTheDocument(); }); + + // New test scenarios + test("calls handleIcChange with correct parameters on value change", () => { + const handleIcChange = jest.fn(); + render( + getTextIC({ + handleIcChange, + state: { + value: "hello", + }, + }), + ); + const inputElement = screen.getByRole("textbox") as HTMLInputElement; + const newValue = "New Value"; + fireEvent.change(inputElement, { target: { value: newValue } }); + expect(handleIcChange).toHaveBeenCalledWith( + expect.objectContaining({ + id: requiredProps.id, + label: requiredProps.label, + mandatory: requiredProps.mandatory, + readOnly: requiredProps.readOnly, + visible: requiredProps.visible, + type: requiredProps.type, + }), + { [requiredProps.id]: "" }, + ); + }); + + test("displays error message when validation fails", async () => { + render( + getTextIC({ + mandatory: true, + validationRules: [ + { + mandatoryValidationRule: { + errorMessage: "This field is mandatory so you must enter data.", + }, + }, + ], + dataType: { + type: "text", + strictMax: false, + strictMin: false, + }, + state: { + value: "abc", + }, + }), + ); + const inputElement = screen.getByRole("textbox") as HTMLInputElement; + fireEvent.change(inputElement, { target: { value: "" } }); + + await waitFor(() => { + const errorElement = screen.getByText( + "This field is mandatory so you must enter data.", + ); + expect(errorElement).toBeVisible(); + }); + }); }); From 968a88de05c2012e17683b0a60f9f427d426d39e Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Fri, 20 Dec 2024 11:47:16 -0600 Subject: [PATCH 37/55] SingleSelectInputControl tests updated after implementing the new changes for the context/dispatch (cascading feature). --- .../SingleSelectInputControl.test.tsx | 206 ++++++++++++------ packages/jv-tools/src/input-controls/index.ts | 1 + 2 files changed, 139 insertions(+), 68 deletions(-) diff --git a/packages/jv-input-controls/test/controls/SingleSelectInputControl.test.tsx b/packages/jv-input-controls/test/controls/SingleSelectInputControl.test.tsx index 9a08717a..dfc0f212 100644 --- a/packages/jv-input-controls/test/controls/SingleSelectInputControl.test.tsx +++ b/packages/jv-input-controls/test/controls/SingleSelectInputControl.test.tsx @@ -1,89 +1,159 @@ -/* - * Copyright © 2024. Cloud Software Group, Inc. - * This file is subject to the license terms contained - * in the license file that is distributed with this file. - */ - -import { screen } from "@testing-library/dom"; -import { act, cleanup, render } from "@testing-library/react"; +import { cleanup, render, screen } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; -import { JSX } from "react"; -import { SingleSelectInputControl } from "../../src/controls/SingleSelectInputControl"; +import { + SingleSelectInputControl, + SingleSelectInputControlProps, +} from "../../src/controls/SingleSelectInputControl"; +import { + InputControlsContext, + InputControlsState, +} from "../../src/reducer/InputControlsReducer"; import "@testing-library/jest-dom"; +import { FC, JSX } from "react"; -const requiredProps = { - id: "0", - label: "test", - mandatory: false, +let getSingleSelect: (options?: object) => JSX.Element; +const mockDispatch = jest.fn(); +const requiredProps: SingleSelectInputControlProps = { + id: "Product_Family", + label: "Product_Family_test", + mandatory: true, readOnly: false, visible: true, + uri: "repo:/public/Samples/Resources/Input_Controls/Product_Family", type: "singleSelect", -}; - -const getSingleSelect = (options?: object): JSX.Element => { - return ; + state: { + uri: "/public/Samples/Resources/Input_Controls/Product_Family", + id: "Product_Family", + options: [ + { + selected: false, + label: "Drink", + value: "Drink", + }, + { + selected: false, + label: "Non-Consumable", + value: "Non-Consumable", + }, + { + selected: false, + label: "All", + value: "All", + }, + { + selected: true, + label: "Food", + value: "Food", + }, + ], + value: ["Food"], + }, + validationRules: [ + { + mandatoryValidationRule: { + errorMessage: "This field is mandatory so you must enter data.", + }, + }, + ], + masterDependencies: [], + slaveDependencies: ["OTHER_ONE"], }; describe("SingleSelectInputControl tests", () => { beforeEach(() => { cleanup(); + + const mockState: InputControlsState = { + inputControls: [ + { + id: "Product_Family", + description: "", + type: "singleSelect", + uri: "repo:/public/Samples/Resources/Input_Controls/Product_Family", + label: "Product Family", + mandatory: true, + readOnly: false, + visible: true, + masterDependencies: [], + slaveDependencies: ["OTHER_ONE"], + validationRules: [ + { + mandatoryValidationRule: { + errorMessage: "This field is mandatory so you must enter data.", + }, + }, + ], + state: { + uri: "/public/Samples/Resources/Input_Controls/Product_Family", + id: "Product_Family", + options: [ + { + selected: false, + label: "Drink", + value: "Drink", + }, + { + selected: false, + label: "Non-Consumable", + value: "Non-Consumable", + }, + { + selected: false, + label: "All", + value: "All", + }, + { + selected: true, + label: "Food", + value: "Food", + }, + ], + value: ["Food"], + }, + }, + ], + validResponse: {}, + validationResultState: {}, + initiatorIdCascadingIc: "", + }; + + const MockInputControlsProvider: FC = ({ children }) => { + return ( + + {children} + + ); + }; + + getSingleSelect = (options?: object) => { + return ( + + + + ); + }; }); it("should create select component with an input element within", () => { - act(() => { - render(getSingleSelect()); - }); - const mElement = document.querySelectorAll("div input"); - expect(mElement.length).toBe(1); + render(getSingleSelect()); + const inputElement = screen.getByRole("combobox"); + expect(inputElement).toBeInTheDocument(); }); it("should contain options when given options", async () => { - await act(async () => { - render( - getSingleSelect({ - state: { - id: "testId", - options: [{ selected: false, label: "1", value: "one" }], - }, - }), - ); - }); - const mElement = document.querySelectorAll("div input"); - expect(mElement.length).toBe(1); - const inputElement = screen.getByLabelText("test"); - await act(async () => { - userEvent.click(inputElement); - }); - const menuElement = await screen.findByRole("listbox"); - const opts = await screen.findAllByRole("option"); - expect(menuElement).toBeInTheDocument(); - expect(opts.length).toBe(1); + render(getSingleSelect({})); + const inputElement = screen.getByRole("combobox"); + userEvent.click(inputElement); + const options = await screen.findAllByRole("option"); + expect(options.length).toBe(4); + expect(options[3]).toHaveTextContent("Food"); }); - it("should contain two options when given two options", async () => { - await act(async () => { - render( - getSingleSelect({ - state: { - id: "testId", - options: [ - { selected: false, label: "1", value: "one" }, - { selected: false, label: "2", value: "two" }, - ], - }, - }), - ); - }); - - const mElement = document.querySelectorAll("div input"); - expect(mElement.length).toBe(1); - const inputElement = screen.getByLabelText("test"); - await act(async () => { - userEvent.click(inputElement); - }); - const menuElement = await screen.findByRole("listbox"); - const opts = await screen.findAllByRole("option"); - expect(menuElement).toBeInTheDocument(); - expect(opts.length).toBe(2); + it("should update value based on options", async () => { + render(getSingleSelect({})); + const inputElement = screen.getByRole("combobox"); + expect(inputElement).toHaveTextContent("Food"); }); }); diff --git a/packages/jv-tools/src/input-controls/index.ts b/packages/jv-tools/src/input-controls/index.ts index 44fd95e1..68d906b3 100644 --- a/packages/jv-tools/src/input-controls/index.ts +++ b/packages/jv-tools/src/input-controls/index.ts @@ -84,6 +84,7 @@ export interface CommonInputControlProperties { mandatory: boolean; readOnly: boolean; visible: boolean; + description?: string; uri?: string; state?: InputControlState; validationRules?: InputControlValidationRule[]; From fe9586a00bad226332818539c96fa6fff028b37b Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Fri, 20 Dec 2024 12:07:16 -0600 Subject: [PATCH 38/55] MultiSelectInputControl tests updated after implementing the new changes for the context/dispatch (cascading feature). --- .../controls/MultiSelectInputControl.test.tsx | 147 +++++++++++++----- 1 file changed, 112 insertions(+), 35 deletions(-) diff --git a/packages/jv-input-controls/test/controls/MultiSelectInputControl.test.tsx b/packages/jv-input-controls/test/controls/MultiSelectInputControl.test.tsx index ac67d08d..991f1b71 100644 --- a/packages/jv-input-controls/test/controls/MultiSelectInputControl.test.tsx +++ b/packages/jv-input-controls/test/controls/MultiSelectInputControl.test.tsx @@ -6,11 +6,20 @@ import { screen } from "@testing-library/dom"; import { act, cleanup, render } from "@testing-library/react"; -import userEvent from "@testing-library/user-event"; -import { MultiSelectInputControl } from "../../src/controls/MultiSelectInputControl"; +import { + MultiSelectInputControl, + MultiSelectInputControlProps, +} from "../../src/controls/MultiSelectInputControl"; import "@testing-library/jest-dom"; +import { + InputControlsContext, + InputControlsState, +} from "../../src/reducer/InputControlsReducer"; +import { FC } from "react"; +import userEvent from "@testing-library/user-event"; -const requiredProps = { +const mockDispatch = jest.fn(); +const requiredProps: MultiSelectInputControlProps = { id: "ProductFamily", description: "Product Family Multi-Select", type: "multiSelect", @@ -33,24 +42,91 @@ const requiredProps = { id: "ProductFamily", options: [ { - selected: true, + selected: false, label: "Drink", value: "Drink", }, { - selected: true, + selected: false, label: "Food", value: "Food", }, { - selected: true, + selected: false, label: "Non-Consumable", value: "Non-Consumable", }, ], - value: ["Drink", "Food", "Non-Consumable"], // this is not returned by the API, but it will be generated to + value: [], // this is not returned by the API, but it will be generated to // reflect the state from the server }, + handleIcChange: jest.fn(), +}; +const mockState: InputControlsState = { + inputControls: [ + { + id: "ProductFamily", + description: "", + type: "multiSelect", + uri: "repo:/public/Samples/Resources/Input_Controls/Product_Family", + label: "Product Family", + mandatory: true, + readOnly: false, + visible: true, + masterDependencies: [], + slaveDependencies: [], + validationRules: [ + { + mandatoryValidationRule: { + errorMessage: "This field is mandatory so you must enter data.", + }, + }, + ], + state: { + uri: "/public/Samples/Resources/Input_Controls/Product_Family", + id: "ProductFamily", + options: [ + { + selected: false, + label: "Drink", + value: "Drink", + }, + { + selected: false, + label: "Non-Consumable", + value: "Non-Consumable", + }, + { + selected: false, + label: "Food", + value: "Food", + }, + ], + value: [], // this is not returned by the API, but it will be generated to + }, + }, + ], + validResponse: {}, + validationResultState: {}, + initiatorIdCascadingIc: "", +}; + +const MockInputControlsProvider: FC = ({ children }) => { + return ( + + {children} + + ); +}; + +const getMultiSelect = (options?: object) => { + return ( + + + + ); }; describe("MultiSelectInputControl tests", () => { @@ -58,13 +134,13 @@ describe("MultiSelectInputControl tests", () => { cleanup(); }); it("should render the MultiSelectInputControl component", () => { - render(); + render(getMultiSelect()); const labelElement = screen.getByText("ProductFamily"); expect(labelElement).toBeInTheDocument(); }); it("should display options when clicked", async () => { - render(); + render(getMultiSelect()); const inputElement = screen.getByLabelText("ProductFamily"); await act(async () => { userEvent.click(inputElement); @@ -74,17 +150,7 @@ describe("MultiSelectInputControl tests", () => { }); it("should select an option when clicked", async () => { - render( - , - ); + render(getMultiSelect()); const inputElement = screen.getByLabelText("ProductFamily"); await act(async () => { userEvent.click(inputElement); @@ -99,17 +165,7 @@ describe("MultiSelectInputControl tests", () => { it("should display error message when there is an error", async () => { await act(async () => { - render( - , - ); + render(getMultiSelect()); }); const inputElement = screen.getByLabelText("ProductFamily"); await act(async () => { @@ -128,10 +184,31 @@ describe("MultiSelectInputControl tests", () => { expect(errorElement).toBeInTheDocument(); }); - it("should select all options by default", async () => { - render(); + it("calls handleIcChange with correct parameters on value change", async () => { + const handleIcChange = jest.fn(); + await act(async () => { + render(getMultiSelect({ handleIcChange })); + }); + const inputElement = screen.getByLabelText("ProductFamily"); - expect(inputElement).toBeInTheDocument(); - expect(inputElement).toHaveTextContent("Drink, Food, Non-Consumable"); + await act(async () => { + userEvent.click(inputElement); + }); + const optionElement = await screen.findByText("Drink"); + await act(async () => { + await userEvent.click(optionElement); + }); + + expect(handleIcChange).toHaveBeenCalledWith( + expect.objectContaining({ + id: requiredProps.id, + label: requiredProps.label, + mandatory: requiredProps.mandatory, + readOnly: requiredProps.readOnly, + visible: requiredProps.visible, + type: requiredProps.type, + }), + { [requiredProps.id]: "" }, + ); }); }); From 1aee2cef314691ddd345d66ba5b8a8644c3d7b0b Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Fri, 20 Dec 2024 13:08:39 -0600 Subject: [PATCH 39/55] BasePanel.test.tsx tests updated after implementing the new changes for the context/dispatch (cascading feature). --- .../test/panels/BasePanel.test.tsx | 246 ++++-------------- .../test/panels/mock.state.ts | 211 +++++++++++++++ 2 files changed, 256 insertions(+), 201 deletions(-) create mode 100644 packages/jv-input-controls/test/panels/mock.state.ts diff --git a/packages/jv-input-controls/test/panels/BasePanel.test.tsx b/packages/jv-input-controls/test/panels/BasePanel.test.tsx index 6e0bc0b1..fccd6b97 100644 --- a/packages/jv-input-controls/test/panels/BasePanel.test.tsx +++ b/packages/jv-input-controls/test/panels/BasePanel.test.tsx @@ -4,224 +4,68 @@ * in the license file that is distributed with this file. */ -import { render, screen } from "@testing-library/react"; +import { cleanup, render, screen } from "@testing-library/react"; import "@testing-library/jest-dom"; import BasePanel from "../../src/panels/BasePanel"; +import { FC } from "react"; +import { InputControlsContext } from "../../src/reducer/InputControlsReducer"; +import { INITIAL_STATE_FOR_TESTS } from "./mock.state"; -describe("BasePanel", () => { - const mockChange = jest.fn(); +const mockDispatch = jest.fn(); + +const MockInputControlsProvider: FC = ({ children }) => { + return ( + + {children} + + ); +}; - const renderComponent = (controls: any, config?: any) => { +describe("BasePanel", () => { + beforeEach(() => { + cleanup(); render( - , + + + , ); - }; - - test("renders BooleanInputControl", () => { - const controls = { - data: [{ id: "1", type: "bool", label: "Boolean Control" }], - }; - renderComponent(controls); - expect(screen.getByLabelText("Boolean Control")).toBeInTheDocument(); - }); - - test("renders SingleValueTextInputControl", () => { - const controls = { - data: [ - { - id: "2", - type: "singleValueText", - label: "Text Control", - dataType: "string", - }, - ], - }; - renderComponent(controls); - expect(screen.getByLabelText("Text Control")).toBeInTheDocument(); - }); - - test("renders SingleValueNumberInputControl", () => { - const controls = { - data: [ - { - id: "3", - type: "singleValueNumber", - label: "Number Control", - dataType: "number", - }, - ], - }; - renderComponent(controls); - expect(screen.getByLabelText("Number Control")).toBeInTheDocument(); - }); - - test("renders DatePickerInputControl", () => { - const controls = { - data: [ - { - id: "4", - type: "singleValueDate", - label: "Date Control", - dataType: "date", - }, - ], - }; - const config = { singleValueDate: { type: "material" } }; - renderComponent(controls, config); - expect(screen.getByLabelText("Date Control")).toBeInTheDocument(); - }); - - test("renders DatePickerTextFieldInputControl", () => { - const controls = { - data: [ - { - id: "5", - type: "singleValueDate", - label: "Date Control", - dataType: "date", - }, - ], - }; - renderComponent(controls); - expect(screen.getByLabelText("Date Control")).toBeInTheDocument(); }); - test("renders DateTimePickerInputControl", () => { - const controls = { - data: [ - { - id: "6", - type: "singleValueDatetime", - label: "Datetime Control", - dataType: "datetime", - }, - ], - }; - const config = { singleValueDatetime: { type: "material" } }; - renderComponent(controls, config); - expect(screen.getByLabelText("Datetime Control")).toBeInTheDocument(); + it("renders BooleanInputControl", () => { + expect( + screen.getByLabelText(INITIAL_STATE_FOR_TESTS.inputControls[0].label), + ).toBeInTheDocument(); }); - test("renders DateTimePickerTextFieldInputControl", () => { - const controls = { - data: [ - { - id: "7", - type: "singleValueDatetime", - label: "Datetime Control", - dataType: "datetime", - }, - ], - }; - renderComponent(controls); - expect(screen.getByLabelText("Datetime Control")).toBeInTheDocument(); + it("renders SingleValueTextInputControl", () => { + expect( + screen.getByLabelText(INITIAL_STATE_FOR_TESTS.inputControls[1].label), + ).toBeInTheDocument(); }); - test("renders SingleSelectInputControl", () => { - const controls = { - data: [ - { - id: "testId", - label: "Select Control", - mandatory: false, - readOnly: false, - visible: true, - type: "singleSelect", - state: { - id: "testId", - options: [{ selected: false, label: "1", value: "one" }], - }, - }, - ], - }; - renderComponent(controls); - const divElement = screen.getByLabelText("Select Control"); - expect(divElement).toBeInTheDocument(); + it("renders DatePickerTextFieldInputControl", () => { + expect( + screen.getByLabelText(INITIAL_STATE_FOR_TESTS.inputControls[2].label), + ).toBeInTheDocument(); }); - test("renders MultiSelectInputControl", () => { - const controls = { - data: [ - { - id: "ProductFamily", - description: "Product Family Multi-Select", - type: "multiSelect", - uri: "repo:/public/Samples/Resources/Input_Controls/ProductFamily", - label: "ProductFamily", - mandatory: true, - readOnly: false, - visible: true, - masterDependencies: [], - slaveDependencies: [], - validationRules: [ - { - mandatoryValidationRule: { - errorMessage: "This field is mandatory so you must enter data.", - }, - }, - ], - state: { - uri: "/public/Samples/Resources/Input_Controls/ProductFamily", - id: "ProductFamily", - options: [ - { - selected: true, - label: "Drink", - value: "Drink", - }, - { - selected: true, - label: "Food", - value: "Food", - }, - { - selected: true, - label: "Non-Consumable", - value: "Non-Consumable", - }, - ], - }, - }, - ], - }; - renderComponent(controls); - const inputElement = screen.getByLabelText("ProductFamily"); - expect(inputElement).toBeInTheDocument(); - expect(inputElement).toHaveTextContent("Drink, Food, Non-Consumable"); + it("renders TimePickerTextFieldInputControl", () => { + expect( + screen.getByLabelText(INITIAL_STATE_FOR_TESTS.inputControls[3].label), + ).toBeInTheDocument(); }); - test("renders TimePickerInputControl", () => { - const controls = { - data: [ - { - id: "9", - type: "singleValueTime", - label: "Time Control", - dataType: "time", - }, - ], - }; - const config = { singleValueTime: { type: "material" } }; - renderComponent(controls, config); - expect(screen.getByLabelText("Time Control")).toBeInTheDocument(); + it("renders DateTimePickerTextFieldInputControl", () => { + expect( + screen.getByLabelText(INITIAL_STATE_FOR_TESTS.inputControls[4].label), + ).toBeInTheDocument(); }); - test("renders TimePickerTextFieldInputControl", () => { - const controls = { - data: [ - { - id: "10", - type: "singleValueTime", - label: "Time Control", - dataType: "time", - }, - ], - }; - renderComponent(controls); - expect(screen.getByLabelText("Time Control")).toBeInTheDocument(); + it("renders SingleValueNumberInputControl", () => { + expect( + screen.getByLabelText(INITIAL_STATE_FOR_TESTS.inputControls[6].label), + ).toBeInTheDocument(); }); }); diff --git a/packages/jv-input-controls/test/panels/mock.state.ts b/packages/jv-input-controls/test/panels/mock.state.ts new file mode 100644 index 00000000..2b48d18f --- /dev/null +++ b/packages/jv-input-controls/test/panels/mock.state.ts @@ -0,0 +1,211 @@ +/* + * Copyright © 2024. Cloud Software Group, Inc. + * This file is subject to the license terms contained + * in the license file that is distributed with this file. + */ + +import { InputControlsState } from "../../src/reducer/InputControlsReducer"; + +export const INITIAL_STATE_FOR_TESTS: InputControlsState = { + inputControls: [ + { + id: "column_boolean_1", + type: "bool", + uri: "repo:/public/Visualize/Adhoc/Ad_Hoc_View_All_filters_files/column_boolean_1", + label: "column_boolean", + mandatory: false, + readOnly: false, + visible: true, + masterDependencies: [], + slaveDependencies: [], + state: { + uri: "/public/Visualize/Adhoc/Ad_Hoc_View_All_filters_files/column_boolean_1", + id: "column_boolean_1", + value: false, + }, + }, + { + id: "column_string_1", + type: "singleValueText", + uri: "repo:/public/Visualize/Adhoc/Ad_Hoc_View_All_filters_files/column_string_1", + label: "column_string 次を含まない", + mandatory: false, + readOnly: false, + visible: true, + masterDependencies: [], + slaveDependencies: [], + state: { + uri: "/public/Visualize/Adhoc/Ad_Hoc_View_All_filters_files/column_string_1", + id: "column_string_1", + value: + "This is a predefined text different than the stored in the server", + }, + dataType: { + type: "text", + strictMax: false, + strictMin: false, + }, + }, + { + id: "column_date_1", + type: "singleValueDate", + uri: "repo:/public/Visualize/Adhoc/Ad_Hoc_View_All_filters_files/column_date_1", + label: "column_date 次の後", + mandatory: false, + readOnly: false, + visible: true, + masterDependencies: [], + slaveDependencies: [], + validationRules: [ + { + dateTimeFormatValidationRule: { + errorMessage: "Specify a valid date value.", + format: "yyyy-MM-dd", + }, + }, + ], + state: { + uri: "/public/Visualize/Adhoc/Ad_Hoc_View_All_filters_files/column_date_1", + id: "column_date_1", + value: "2009-03-02", + }, + dataType: { + type: "date", + strictMax: false, + strictMin: false, + }, + }, + { + id: "column_time_1", + type: "singleValueTime", + uri: "repo:/public/Visualize/Adhoc/Ad_Hoc_View_All_filters_files/column_time_1", + label: "column_time 次以前", + mandatory: false, + readOnly: false, + visible: true, + masterDependencies: [], + slaveDependencies: [], + validationRules: [ + { + dateTimeFormatValidationRule: { + errorMessage: "Specify a valid time value.", + format: "HH:mm:ss", + }, + }, + ], + state: { + uri: "/public/Visualize/Adhoc/Ad_Hoc_View_All_filters_files/column_time_1", + id: "column_time_1", + value: "14:00:00", + }, + dataType: { + type: "time", + strictMax: false, + strictMin: false, + }, + }, + { + id: "column_timestamp_1", + type: "singleValueDatetime", + uri: "repo:/public/Visualize/Adhoc/Ad_Hoc_View_All_filters_files/column_timestamp_1", + label: "column_timestamp ではない 次の範囲内", + mandatory: false, + readOnly: false, + visible: true, + masterDependencies: [], + slaveDependencies: [], + validationRules: [ + { + dateTimeFormatValidationRule: { + errorMessage: "Specify a valid date/time value.", + format: "yyyy-MM-dd'T'HH:mm:ss", + }, + }, + ], + state: { + uri: "/public/Visualize/Adhoc/Ad_Hoc_View_All_filters_files/column_timestamp_1", + id: "column_timestamp_1", + value: "2014-03-02T10:00:00", + }, + dataType: { + type: "datetime", + strictMax: false, + strictMin: false, + }, + }, + { + id: "column_timestamp_2", + type: "singleValueDatetime", + uri: "repo:/public/Visualize/Adhoc/Ad_Hoc_View_All_filters_files/column_timestamp_2", + label: "および", + mandatory: false, + readOnly: false, + visible: true, + masterDependencies: [], + slaveDependencies: [], + validationRules: [ + { + dateTimeFormatValidationRule: { + errorMessage: "Specify a valid date/time value.", + format: "yyyy-MM-dd'T'HH:mm:ss", + }, + }, + ], + state: { + uri: "/public/Visualize/Adhoc/Ad_Hoc_View_All_filters_files/column_timestamp_2", + id: "column_timestamp_2", + value: "2014-09-13T15:46:22", + }, + dataType: { + type: "datetime", + strictMax: false, + strictMin: false, + }, + }, + { + id: "id_1", + type: "singleValueNumber", + uri: "repo:/public/Visualize/Adhoc/Ad_Hoc_View_All_filters_files/id_1", + label: "id 次以上", + mandatory: false, + readOnly: false, + visible: true, + masterDependencies: [], + slaveDependencies: [], + state: { + uri: "/public/Visualize/Adhoc/Ad_Hoc_View_All_filters_files/id_1", + id: "id_1", + value: "99", + }, + dataType: { + type: "number", + strictMax: false, + strictMin: false, + }, + }, + { + id: "column_float_1", + type: "singleValueNumber", + uri: "repo:/public/Visualize/Adhoc/Ad_Hoc_View_All_filters_files/column_float_1", + label: "column_float ではない", + mandatory: false, + readOnly: false, + visible: true, + masterDependencies: [], + slaveDependencies: [], + state: { + uri: "/public/Visualize/Adhoc/Ad_Hoc_View_All_filters_files/column_float_1", + id: "column_float_1", + value: "0.33", + }, + dataType: { + type: "number", + strictMax: false, + strictMin: false, + }, + }, + ], + validResponse: {}, + validationResultState: {}, + initiatorIdCascadingIc: "", +}; From f665b8354b925d42399d693e0065918f78e574a8 Mon Sep 17 00:00:00 2001 From: Grant Bacon Date: Fri, 20 Dec 2024 11:43:44 -0800 Subject: [PATCH 40/55] Request controls from REST --- packages/demo-input-controls/src/App.tsx | 3 +- .../jv-input-controls/src/InputControls.tsx | 6 +- .../jv-input-controls/src/methods/index.tsx | 7 +- .../src/panels/BasePanel.tsx | 265 +----------------- packages/jv-tools/index.ts | 1 + 5 files changed, 23 insertions(+), 259 deletions(-) diff --git a/packages/demo-input-controls/src/App.tsx b/packages/demo-input-controls/src/App.tsx index 67d750fd..4d3aeeac 100644 --- a/packages/demo-input-controls/src/App.tsx +++ b/packages/demo-input-controls/src/App.tsx @@ -22,7 +22,8 @@ const myAuth: Authentication = { locale: "en_US", }; -const reportUri = "/public/Samples/Reports/07g.RevenueDetailReport"; +const reportUri = "/public/Samples/Reports/16g.InteractiveSalesReport"; +// const reportUri = "/public/Samples/Reports/07g.RevenueDetailReport"; const singleSelectReportUri = "/public/Samples/Reports/9g.CustomerDetailReport"; const visualizeUrl = diff --git a/packages/jv-input-controls/src/InputControls.tsx b/packages/jv-input-controls/src/InputControls.tsx index 3e52edd4..2e1778ff 100644 --- a/packages/jv-input-controls/src/InputControls.tsx +++ b/packages/jv-input-controls/src/InputControls.tsx @@ -114,7 +114,11 @@ export function InputControls(props: InputControlsProps) { overwriteParams={props.config?.params} events={props.config?.events} > - + )} diff --git a/packages/jv-input-controls/src/methods/index.tsx b/packages/jv-input-controls/src/methods/index.tsx index ae2482b8..8b7d7b5d 100644 --- a/packages/jv-input-controls/src/methods/index.tsx +++ b/packages/jv-input-controls/src/methods/index.tsx @@ -38,6 +38,7 @@ export const renderInputControls = ( container: HTMLElement, config?: InputControlsConfig, ) => { + console.log("v.server: ", v); fillControlStructure( v, uri, @@ -51,7 +52,11 @@ export const renderInputControls = ( overwriteParams={config?.params} events={config?.events} > - + , ); diff --git a/packages/jv-input-controls/src/panels/BasePanel.tsx b/packages/jv-input-controls/src/panels/BasePanel.tsx index 23275bd9..3fe37c4c 100644 --- a/packages/jv-input-controls/src/panels/BasePanel.tsx +++ b/packages/jv-input-controls/src/panels/BasePanel.tsx @@ -26,264 +26,17 @@ import { TimePickerTextFieldInputControl } from "../controls/TimePickerTextField export interface BasePanelProps { config?: InputControlsTypeConfig; + server: string; + uri: string; } -const SAMPLE_IC_UPDATED_RESPONSE = { - inputControlState: [ - { - uri: "/public/Samples/Resources/Input_Controls/Product_Department", - id: "Product_Department", - options: [ - { - selected: true, - label: "Alcoholic Beverages", - value: "Alcoholic Beverages", - }, - { - selected: false, - label: "Beverages", - value: "Beverages", - }, - { - selected: false, - label: "Dairy", - value: "Dairy", - }, - { - selected: false, - label: "All", - value: "All", - }, - ], - }, - { - uri: "/public/Samples/Resources/Input_Controls/Product_Category", - id: "Product_Category", - options: [ - { - selected: true, - label: "Beer and Wine", - value: "Beer and Wine", - }, - { - selected: false, - label: "All", - value: "All", - }, - ], - }, - { - uri: "/public/Samples/Resources/Input_Controls/Product_Name", - id: "Product_Name", - options: [ - { - selected: true, - label: "Good Chablis Wine", - value: "Good Chablis Wine", - }, - { - selected: false, - label: "Good Chardonnay", - value: "Good Chardonnay", - }, - { - selected: false, - label: "Good Chardonnay Wine", - value: "Good Chardonnay Wine", - }, - { - selected: false, - label: "Good Imported Beer", - value: "Good Imported Beer", - }, - { - selected: false, - label: "Good Light Beer", - value: "Good Light Beer", - }, - { - selected: false, - label: "Good Light Wine", - value: "Good Light Wine", - }, - { - selected: false, - label: "Good Merlot Wine", - value: "Good Merlot Wine", - }, - { - selected: false, - label: "Good White Zinfandel Wine", - value: "Good White Zinfandel Wine", - }, - { - selected: false, - label: "Pearl Chablis Wine", - value: "Pearl Chablis Wine", - }, - { - selected: false, - label: "Pearl Chardonnay", - value: "Pearl Chardonnay", - }, - { - selected: false, - label: "Pearl Chardonnay Wine", - value: "Pearl Chardonnay Wine", - }, - { - selected: false, - label: "Pearl Imported Beer", - value: "Pearl Imported Beer", - }, - { - selected: false, - label: "Pearl Light Beer", - value: "Pearl Light Beer", - }, - { - selected: false, - label: "Pearl Light Wine", - value: "Pearl Light Wine", - }, - { - selected: false, - label: "Pearl Merlot Wine", - value: "Pearl Merlot Wine", - }, - { - selected: false, - label: "Pearl White Zinfandel Wine", - value: "Pearl White Zinfandel Wine", - }, - { - selected: false, - label: "Portsmouth Chablis Wine", - value: "Portsmouth Chablis Wine", - }, - { - selected: false, - label: "Portsmouth Chardonnay", - value: "Portsmouth Chardonnay", - }, - { - selected: false, - label: "Portsmouth Chardonnay Wine", - value: "Portsmouth Chardonnay Wine", - }, - { - selected: false, - label: "Portsmouth Imported Beer", - value: "Portsmouth Imported Beer", - }, - { - selected: false, - label: "Portsmouth Light Beer", - value: "Portsmouth Light Beer", - }, - { - selected: false, - label: "Portsmouth Light Wine", - value: "Portsmouth Light Wine", - }, - { - selected: false, - label: "Portsmouth Merlot Wine", - value: "Portsmouth Merlot Wine", - }, - { - selected: false, - label: "Portsmouth White Zinfandel Wine", - value: "Portsmouth White Zinfandel Wine", - }, - { - selected: false, - label: "Top Measure Chablis Wine", - value: "Top Measure Chablis Wine", - }, - { - selected: false, - label: "Top Measure Chardonnay", - value: "Top Measure Chardonnay", - }, - { - selected: false, - label: "Top Measure Chardonnay Wine", - value: "Top Measure Chardonnay Wine", - }, - { - selected: false, - label: "Top Measure Imported Beer", - value: "Top Measure Imported Beer", - }, - { - selected: false, - label: "Top Measure Light Beer", - value: "Top Measure Light Beer", - }, - { - selected: false, - label: "Top Measure Light Wine", - value: "Top Measure Light Wine", - }, - { - selected: false, - label: "Top Measure Merlot Wine", - value: "Top Measure Merlot Wine", - }, - { - selected: false, - label: "Top Measure White Zinfandel Wine", - value: "Top Measure White Zinfandel Wine", - }, - { - selected: false, - label: "Walrus Chablis Wine", - value: "Walrus Chablis Wine", - }, - { - selected: false, - label: "Walrus Chardonnay", - value: "Walrus Chardonnay", - }, - { - selected: false, - label: "Walrus Chardonnay Wine", - value: "Walrus Chardonnay Wine", - }, - { - selected: false, - label: "Walrus Imported Beer", - value: "Walrus Imported Beer", - }, - { - selected: false, - label: "Walrus Light Beer", - value: "Walrus Light Beer", - }, - { - selected: false, - label: "Walrus Light Wine", - value: "Walrus Light Wine", - }, - { - selected: false, - label: "Walrus Merlot Wine", - value: "Walrus Merlot Wine", - }, - { - selected: false, - label: "Walrus White Zinfandel Wine", - value: "Walrus White Zinfandel Wine", - }, - ], - }, - ], -}; - export default function BasePanel(props: BasePanelProps): JSX.Element { const { state, dispatch } = useContext(InputControlsContext); + const controlsPathForResource = (resourceUri: string) => { + return props.server + "/rest_v2/reports" + resourceUri + "/inputControls"; + }; + const handleCascadingRequest = (ctrlUpdated: InputControlProperties) => { dispatch({ type: INPUT_CONTROLS_ACTIONS.SET_INITIATOR_ID_CASCADING_IC, @@ -293,12 +46,12 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { }); // TODO: We should trigger the CALL to the server to get the new data in case it's a cascading input control - fetch("https://jsonplaceholder.typicode.com/users/1") - .then(() => { + fetch(controlsPathForResource(props.uri)) + .then((response) => { dispatch({ type: INPUT_CONTROLS_ACTIONS.UPDATE_SLAVE_DEPENDENCIES, payload: { - ...SAMPLE_IC_UPDATED_RESPONSE, + ...response.body, ctrlUpdated, }, }); diff --git a/packages/jv-tools/index.ts b/packages/jv-tools/index.ts index e80686ce..c7c8e027 100644 --- a/packages/jv-tools/index.ts +++ b/packages/jv-tools/index.ts @@ -190,6 +190,7 @@ export interface VisualizeClient { adhocView: (config: VisualizationConfig) => any; dashboard: (config: VisualizationConfig) => any; inputControls: (config: VisualizationConfig) => any; + server?: string; } export { visualizejsLoader } from "./src/visualize/VisualizejsProvider"; From f584bfe2532ac062e58385701f2b379cb7292de5 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Fri, 20 Dec 2024 17:37:39 -0600 Subject: [PATCH 41/55] Ability to hit the JRS API has been added to jv-input-controls when a cascading feature starts --- packages/demo-input-controls/src/App.tsx | 14 ++++-- .../jv-input-controls/src/methods/index.tsx | 2 +- .../src/panels/BasePanel.tsx | 47 +++++++++++++++++-- .../src/utils/StringUtils.ts | 12 +++++ packages/jv-tools/index.ts | 5 ++ .../src/visualize/hooks/useVisualize.ts | 38 +++++++++++---- .../jv-tools/src/visualize/utils/UrlParser.ts | 31 ++++++++++++ 7 files changed, 133 insertions(+), 16 deletions(-) create mode 100644 packages/jv-input-controls/src/utils/StringUtils.ts create mode 100644 packages/jv-tools/src/visualize/utils/UrlParser.ts diff --git a/packages/demo-input-controls/src/App.tsx b/packages/demo-input-controls/src/App.tsx index 4d3aeeac..0db8a968 100644 --- a/packages/demo-input-controls/src/App.tsx +++ b/packages/demo-input-controls/src/App.tsx @@ -26,15 +26,23 @@ const reportUri = "/public/Samples/Reports/16g.InteractiveSalesReport"; // const reportUri = "/public/Samples/Reports/07g.RevenueDetailReport"; const singleSelectReportUri = "/public/Samples/Reports/9g.CustomerDetailReport"; -const visualizeUrl = - "https://mobiledemo.jaspersoft.com/jasperserver-pro/client/visualize.js"; +// const visualizeUrl = +// "https://mobiledemo.jaspersoft.com/jasperserver-pro/client/visualize.js"; const errorCallback = (errorCaught: Error | VisualizeGenericError | string) => { console.log("check the error! ", errorCaught); }; function App() { - const vContainer = useVisualize(visualizeUrl, myAuth, { errorCallback }); + // const vContainer = useVisualize(visualizeUrl, myAuth, { errorCallback }); + const vContainer = useVisualize( + { + server: "https://mobiledemo.jaspersoft.com", + contextPath: "/jasperserver-pro", + }, + myAuth, + { errorCallback }, + ); const [controlBuffer, setControlBuffer] = useState(); const [vReport, setVReport] = useState(); diff --git a/packages/jv-input-controls/src/methods/index.tsx b/packages/jv-input-controls/src/methods/index.tsx index 8b7d7b5d..b38cd53e 100644 --- a/packages/jv-input-controls/src/methods/index.tsx +++ b/packages/jv-input-controls/src/methods/index.tsx @@ -38,7 +38,7 @@ export const renderInputControls = ( container: HTMLElement, config?: InputControlsConfig, ) => { - console.log("v.server: ", v); + console.log("v.server: ", v.server); fillControlStructure( v, uri, diff --git a/packages/jv-input-controls/src/panels/BasePanel.tsx b/packages/jv-input-controls/src/panels/BasePanel.tsx index 3fe37c4c..4c3baf68 100644 --- a/packages/jv-input-controls/src/panels/BasePanel.tsx +++ b/packages/jv-input-controls/src/panels/BasePanel.tsx @@ -23,6 +23,7 @@ import { DateTimePickerTextFieldInputControl } from "../controls/DateTimePickerT import { DateTimePickerInputControl } from "../controls/DateTimePickerInputControl"; import { TimePickerInputControl } from "../controls/TimePickerInputControl"; import { TimePickerTextFieldInputControl } from "../controls/TimePickerTextFieldInputControl"; +import { getParamsForICCascadingReq } from "../utils/StringUtils"; export interface BasePanelProps { config?: InputControlsTypeConfig; @@ -33,8 +34,45 @@ export interface BasePanelProps { export default function BasePanel(props: BasePanelProps): JSX.Element { const { state, dispatch } = useContext(InputControlsContext); - const controlsPathForResource = (resourceUri: string) => { - return props.server + "/rest_v2/reports" + resourceUri + "/inputControls"; + const formatValueForIc = (ic: InputControlProperties) => { + if (Array.isArray(ic.state!.value!)) { + return ic.state!.value!.map((value) => value.toString()); + } else { + return [ic.state!.value!.toString()]; + } + }; + const controlsPathForResource = ( + ic: InputControlProperties, + ): { url: string; options: RequestInit } => { + const slaveStr = getParamsForICCascadingReq(ic.slaveDependencies!); + const url = + props.server + + "/rest_v2/reports" + + ic.uri!.slice("repo:".length) + + "/inputControls/" + + slaveStr + + "/values?freshData=false&includeTotalCount=true"; + let slaveDepBody: { [x: string]: string[] } = {}; + for (const slaveDep of ic.slaveDependencies!) { + const icFromState = state.inputControls.find(({ id }) => { + return id === slaveDep; + }); + slaveDepBody[slaveDep] = formatValueForIc(icFromState!); + } + const reqBody = { + ...slaveDepBody, + [ic.id]: [...formatValueForIc(ic)], + }; + return { + url, + options: { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify(reqBody), + }, + }; }; const handleCascadingRequest = (ctrlUpdated: InputControlProperties) => { @@ -45,8 +83,9 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { }, }); - // TODO: We should trigger the CALL to the server to get the new data in case it's a cascading input control - fetch(controlsPathForResource(props.uri)) + // TODO: We should fix the CORS issue + const { url, options } = controlsPathForResource(ctrlUpdated); + fetch(url, options) .then((response) => { dispatch({ type: INPUT_CONTROLS_ACTIONS.UPDATE_SLAVE_DEPENDENCIES, diff --git a/packages/jv-input-controls/src/utils/StringUtils.ts b/packages/jv-input-controls/src/utils/StringUtils.ts new file mode 100644 index 00000000..2913e674 --- /dev/null +++ b/packages/jv-input-controls/src/utils/StringUtils.ts @@ -0,0 +1,12 @@ +/* + * Copyright © 2024. Cloud Software Group, Inc. + * This file is subject to the license terms contained + * in the license file that is distributed with this file. + */ + +export const getParamsForICCascadingReq = (slaveDependencies: string[]) => { + return slaveDependencies.reduce((accum, current) => { + accum += current + ";"; + return accum; + }, ""); +}; diff --git a/packages/jv-tools/index.ts b/packages/jv-tools/index.ts index c7c8e027..4ae7e5fa 100644 --- a/packages/jv-tools/index.ts +++ b/packages/jv-tools/index.ts @@ -2,6 +2,11 @@ import { InputControlProperties } from "./src/input-controls"; export * from "./src/input-controls"; export type { useVisualizeConfig } from "./src/visualize/hooks/useVisualize.types"; +export type VisualizeUriConfig = { + server: string; + contextPath: string; +}; + export type Authentication = { url?: string; name?: string; diff --git a/packages/jv-tools/src/visualize/hooks/useVisualize.ts b/packages/jv-tools/src/visualize/hooks/useVisualize.ts index 3f234e7c..c784308e 100644 --- a/packages/jv-tools/src/visualize/hooks/useVisualize.ts +++ b/packages/jv-tools/src/visualize/hooks/useVisualize.ts @@ -1,12 +1,14 @@ -import { useState, useEffect } from "react"; +import { useEffect, useRef, useState } from "react"; import { - VisualizeClient, - visualizejsLoader, - VisualizeFactory, Authentication, useVisualizeConfig, + VisualizeClient, + VisualizeFactory, VisualizeGenericError, + visualizejsLoader, + VisualizeUriConfig, } from "../../.."; +import { getDomainFromUri, URI_LOCATION_FOR_VIZ } from "../utils/UrlParser"; const logOrTriggerError = ( config: useVisualizeConfig | undefined, @@ -20,15 +22,28 @@ const logOrTriggerError = ( }; const useVisualize = ( - uri: string, + uriOrConfig: string | VisualizeUriConfig, auth: Authentication, config?: useVisualizeConfig, ) => { const [vContainer, setVContainer] = useState<{ v: VisualizeClient } | null>( null, ); + const prevUriOrConfig = useRef(); useEffect(() => { - const loadVisualize = visualizejsLoader(uri); + if ( + JSON.stringify(prevUriOrConfig.current) === JSON.stringify(uriOrConfig) + ) { + // means the params have not changed, therefore, we shouldn't re-execute the logic. + return; + } + // the params have changed, let's connect to the new JRS: + prevUriOrConfig.current = uriOrConfig; + + const serverDomain = getDomainFromUri(uriOrConfig); + const loadVisualize = visualizejsLoader( + `${serverDomain}${URI_LOCATION_FOR_VIZ}`, + ); loadVisualize() .then((visualizeFactory: VisualizeFactory) => { visualizeFactory( @@ -36,7 +51,14 @@ const useVisualize = ( auth: auth || {}, }, (v: VisualizeClient) => { - setVContainer({ v }); + const finalVObject = + v.server !== undefined + ? v + : { + ...v, + server: serverDomain, + }; + setVContainer({ v: finalVObject }); }, (e: Error | VisualizeGenericError | string) => logOrTriggerError(config, e), @@ -45,7 +67,7 @@ const useVisualize = ( .catch((error: Error | VisualizeGenericError | string) => logOrTriggerError(config, error), ); - }, [uri]); + }, [uriOrConfig]); return vContainer; }; diff --git a/packages/jv-tools/src/visualize/utils/UrlParser.ts b/packages/jv-tools/src/visualize/utils/UrlParser.ts new file mode 100644 index 00000000..1023c691 --- /dev/null +++ b/packages/jv-tools/src/visualize/utils/UrlParser.ts @@ -0,0 +1,31 @@ +/* + * Copyright © 2024. Cloud Software Group, Inc. + * This file is subject to the license terms contained + * in the license file that is distributed with this file. + */ + +import { VisualizeUriConfig } from "../../../"; +export const URI_LOCATION_FOR_VIZ = "/client/visualize.js"; + +export const getDomainFromUri = (uri: string | VisualizeUriConfig): string => { + if (typeof uri !== "string") { + // it means the user provided a configuration for visualize. + const server = uri.server.endsWith("/") + ? uri.server.slice(0, -1) + : uri.server; + const contextPath = uri.contextPath.startsWith("/") + ? uri.contextPath + : `/${uri.contextPath}`; + return `${server}${contextPath}`; + } + // it means the user provided a string for JRS. Let's assume the location for Viz it's always the same. + // TODO: to verify the ending for VIZ.js URL -- URI_LOCATION_FOR_VIZ + try { + const [serverInfo] = uri.split(URI_LOCATION_FOR_VIZ); + const url = new URL(serverInfo); + return `${url.protocol}//${url.host}${url.pathname}`; + } catch (error) { + console.error(`Invalid URI provided: ${uri}. Error: `, error); + return ""; + } +}; From 325a62146b9e8f6406766d9c22169cba3a47b9a3 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Fri, 20 Dec 2024 17:52:36 -0600 Subject: [PATCH 42/55] tests fixed --- packages/jv-input-controls/src/methods/index.tsx | 1 - packages/jv-input-controls/src/panels/BasePanel.tsx | 2 +- packages/jv-input-controls/test/panels/BasePanel.test.tsx | 5 ++++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/jv-input-controls/src/methods/index.tsx b/packages/jv-input-controls/src/methods/index.tsx index b38cd53e..9c9701ac 100644 --- a/packages/jv-input-controls/src/methods/index.tsx +++ b/packages/jv-input-controls/src/methods/index.tsx @@ -38,7 +38,6 @@ export const renderInputControls = ( container: HTMLElement, config?: InputControlsConfig, ) => { - console.log("v.server: ", v.server); fillControlStructure( v, uri, diff --git a/packages/jv-input-controls/src/panels/BasePanel.tsx b/packages/jv-input-controls/src/panels/BasePanel.tsx index 4c3baf68..2383f942 100644 --- a/packages/jv-input-controls/src/panels/BasePanel.tsx +++ b/packages/jv-input-controls/src/panels/BasePanel.tsx @@ -48,7 +48,7 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { const url = props.server + "/rest_v2/reports" + - ic.uri!.slice("repo:".length) + + props.uri + "/inputControls/" + slaveStr + "/values?freshData=false&includeTotalCount=true"; diff --git a/packages/jv-input-controls/test/panels/BasePanel.test.tsx b/packages/jv-input-controls/test/panels/BasePanel.test.tsx index fccd6b97..9a195d5b 100644 --- a/packages/jv-input-controls/test/panels/BasePanel.test.tsx +++ b/packages/jv-input-controls/test/panels/BasePanel.test.tsx @@ -28,7 +28,10 @@ describe("BasePanel", () => { cleanup(); render( - + , ); }); From 0505540a22e925db29cdea7daf39ece16749e659 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Mon, 23 Dec 2024 11:36:50 -0600 Subject: [PATCH 43/55] feature(jv-input-controls): fetching cascading input controls has been fixed --- .../src/panels/BasePanel.tsx | 66 +++++---------- .../src/services/HttpService.ts | 83 +++++++++++++++++++ 2 files changed, 102 insertions(+), 47 deletions(-) create mode 100644 packages/jv-input-controls/src/services/HttpService.ts diff --git a/packages/jv-input-controls/src/panels/BasePanel.tsx b/packages/jv-input-controls/src/panels/BasePanel.tsx index 2383f942..0957b80c 100644 --- a/packages/jv-input-controls/src/panels/BasePanel.tsx +++ b/packages/jv-input-controls/src/panels/BasePanel.tsx @@ -23,7 +23,7 @@ import { DateTimePickerTextFieldInputControl } from "../controls/DateTimePickerT import { DateTimePickerInputControl } from "../controls/DateTimePickerInputControl"; import { TimePickerInputControl } from "../controls/TimePickerInputControl"; import { TimePickerTextFieldInputControl } from "../controls/TimePickerTextFieldInputControl"; -import { getParamsForICCascadingReq } from "../utils/StringUtils"; +import { fetchCascadingICs } from "../services/HttpService"; export interface BasePanelProps { config?: InputControlsTypeConfig; @@ -34,47 +34,6 @@ export interface BasePanelProps { export default function BasePanel(props: BasePanelProps): JSX.Element { const { state, dispatch } = useContext(InputControlsContext); - const formatValueForIc = (ic: InputControlProperties) => { - if (Array.isArray(ic.state!.value!)) { - return ic.state!.value!.map((value) => value.toString()); - } else { - return [ic.state!.value!.toString()]; - } - }; - const controlsPathForResource = ( - ic: InputControlProperties, - ): { url: string; options: RequestInit } => { - const slaveStr = getParamsForICCascadingReq(ic.slaveDependencies!); - const url = - props.server + - "/rest_v2/reports" + - props.uri + - "/inputControls/" + - slaveStr + - "/values?freshData=false&includeTotalCount=true"; - let slaveDepBody: { [x: string]: string[] } = {}; - for (const slaveDep of ic.slaveDependencies!) { - const icFromState = state.inputControls.find(({ id }) => { - return id === slaveDep; - }); - slaveDepBody[slaveDep] = formatValueForIc(icFromState!); - } - const reqBody = { - ...slaveDepBody, - [ic.id]: [...formatValueForIc(ic)], - }; - return { - url, - options: { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify(reqBody), - }, - }; - }; - const handleCascadingRequest = (ctrlUpdated: InputControlProperties) => { dispatch({ type: INPUT_CONTROLS_ACTIONS.SET_INITIATOR_ID_CASCADING_IC, @@ -83,19 +42,32 @@ export default function BasePanel(props: BasePanelProps): JSX.Element { }, }); - // TODO: We should fix the CORS issue - const { url, options } = controlsPathForResource(ctrlUpdated); - fetch(url, options) + fetchCascadingICs({ + inputControls: state.inputControls, + icUpdated: ctrlUpdated, + server: props.server, + uri: props.uri, + }) + .then((response) => { + if (!response.ok) { + throw new Error( + "Request response for cascading input controls was not ok", + ); + } + return response.json(); + }) .then((response) => { dispatch({ type: INPUT_CONTROLS_ACTIONS.UPDATE_SLAVE_DEPENDENCIES, payload: { - ...response.body, + ...response, ctrlUpdated, }, }); }) - .catch((error) => console.error("error: ", error)) + .catch((error) => + console.error("Error while fetching cascading input controls: ", error), + ) .finally(() => dispatch({ type: INPUT_CONTROLS_ACTIONS.SET_INITIATOR_ID_CASCADING_IC, diff --git a/packages/jv-input-controls/src/services/HttpService.ts b/packages/jv-input-controls/src/services/HttpService.ts new file mode 100644 index 00000000..a9fc7437 --- /dev/null +++ b/packages/jv-input-controls/src/services/HttpService.ts @@ -0,0 +1,83 @@ +/* + * Copyright © 2024. Cloud Software Group, Inc. + * This file is subject to the license terms contained + * in the license file that is distributed with this file. + */ +import { InputControlProperties } from "@jaspersoft/jv-tools"; +import { getParamsForICCascadingReq } from "../utils/StringUtils"; + +const formatValueForIc = (ic: InputControlProperties) => { + if (Array.isArray(ic.state!.value!)) { + return ic.state!.value!.map((value) => value.toString()); + } else { + return [ic.state!.value!.toString()]; + } +}; + +const getICCascadingOptionsForRequest = ( + inputControls: InputControlProperties[], + icUpdated: InputControlProperties, + server: string, + uri: string, +): { url: string; options: RequestInit } => { + const slaveStr = getParamsForICCascadingReq(icUpdated.slaveDependencies!); + const url = + server + + "/rest_v2/reports" + + uri + + "/inputControls/" + + slaveStr + + "/values?freshData=false&includeTotalCount=true"; + let slaveDepBody: { [x: string]: string[] } = {}; + for (const slaveDep of icUpdated.slaveDependencies!) { + const icFromState = inputControls.find(({ id }) => { + return id === slaveDep; + }); + slaveDepBody[slaveDep] = formatValueForIc(icFromState!); + } + const reqBody = { + ...slaveDepBody, + [icUpdated.id]: [...formatValueForIc(icUpdated)], + }; + return { + url, + options: { + method: "POST", + headers: { + "Content-Type": "application/json", + Accept: "application/json", + "X-Remote-Domain": window.location.origin, + "X-Suppress-Basic": "true", + }, + body: JSON.stringify(reqBody), + credentials: "include", + }, + }; +}; + +export const doRequest = ( + url: string, + options: RequestInit, +): Promise => { + return fetch(url, options); +}; + +export const fetchCascadingICs = ({ + inputControls, + icUpdated, + server, + uri, +}: { + inputControls: InputControlProperties[]; + icUpdated: InputControlProperties; + server: string; + uri: string; +}): Promise => { + const { url, options } = getICCascadingOptionsForRequest( + inputControls, + icUpdated, + server, + uri, + ); + return doRequest(url, options); +}; From 1451ce35523f59845eaff9af45e8279d93fc84c1 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Mon, 23 Dec 2024 13:50:50 -0600 Subject: [PATCH 44/55] feature(jv-input-controls): fix when making the API call for fetching the values from the server for cascading feature --- .../src/controls/MultiSelectInputControl.tsx | 8 +++---- .../src/controls/SingleSelectInputControl.tsx | 8 +++---- .../src/controls/hooks/useCascadingOptions.ts | 20 +++++++--------- .../src/services/HttpService.ts | 24 ++++++++++++------- .../src/utils/StringUtils.ts | 8 +++---- .../src/utils/ValueBasedOnOptionsUtils.ts | 2 +- 6 files changed, 37 insertions(+), 33 deletions(-) diff --git a/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx b/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx index e2fff850..897b40eb 100644 --- a/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx @@ -40,10 +40,10 @@ export const MultiSelectInputControl = ( [props.id]: errorMsg, }); }); - const { options, isLoading, setIsLoading } = useCascadingOptions({ - inputControls: state.inputControls, - currentIcID: props.id, - }); + const { options, isLoading, setIsLoading } = useCascadingOptions( + state.inputControls, + props.id, + ); useEffect(() => { const basedOnOptions = generateValueBasedOnOptions( options, diff --git a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx index 5d318310..4be77799 100644 --- a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx @@ -39,10 +39,10 @@ export function SingleSelectInputControl( [props.id]: errorMsg, }); }); - const { options, isLoading, setIsLoading } = useCascadingOptions({ - inputControls: state.inputControls, - currentIcID: props.id, - }); + const { options, isLoading, setIsLoading } = useCascadingOptions( + state.inputControls, + props.id, + ); useEffect(() => { const basedOnOptions = generateValueBasedOnOptions( options, diff --git a/packages/jv-input-controls/src/controls/hooks/useCascadingOptions.ts b/packages/jv-input-controls/src/controls/hooks/useCascadingOptions.ts index ba9fb0f1..ba87a156 100644 --- a/packages/jv-input-controls/src/controls/hooks/useCascadingOptions.ts +++ b/packages/jv-input-controls/src/controls/hooks/useCascadingOptions.ts @@ -10,28 +10,24 @@ import { InputControlProperties, } from "@jaspersoft/jv-tools"; -export const useCascadingOptions = ({ - inputControls, - currentIcID, -}: { - inputControls: InputControlProperties[]; - currentIcID: string; -}) => { +export const useCascadingOptions = ( + inputControls: InputControlProperties[], + currentIcID: string, +) => { const [options, setOptions] = useState([]); const [isLoading, setIsLoading] = useState(false); useEffect(() => { const icFromState = inputControls.find(({ id }) => id === currentIcID)!; - // TODO: need to improve the way how we set the IsLoading variable. This variable is also living on the state. if (icFromState.isLoading === true) { - setIsLoading(true); + !isLoading && setIsLoading(true); } if ( icFromState.state !== undefined && - icFromState.state!.options !== undefined && - JSON.stringify(icFromState.state!.options) !== JSON.stringify(options) + icFromState.state.options !== undefined && + JSON.stringify(icFromState.state.options) !== JSON.stringify(options) ) { - setOptions(icFromState.state!.options!); + setOptions(icFromState.state.options); } }, [inputControls]); diff --git a/packages/jv-input-controls/src/services/HttpService.ts b/packages/jv-input-controls/src/services/HttpService.ts index a9fc7437..6728f4ae 100644 --- a/packages/jv-input-controls/src/services/HttpService.ts +++ b/packages/jv-input-controls/src/services/HttpService.ts @@ -14,6 +14,20 @@ const formatValueForIc = (ic: InputControlProperties) => { } }; +const extractDependenciesValues = ( + dependencies: string[], + inputControls: InputControlProperties[], +) => { + let dependenciesBody: { [x: string]: string[] } = {}; + for (const slaveDep of dependencies) { + const icFromState = inputControls.find(({ id }) => { + return id === slaveDep; + }); + dependenciesBody[slaveDep] = formatValueForIc(icFromState!); + } + return dependenciesBody; +}; + const getICCascadingOptionsForRequest = ( inputControls: InputControlProperties[], icUpdated: InputControlProperties, @@ -28,15 +42,9 @@ const getICCascadingOptionsForRequest = ( "/inputControls/" + slaveStr + "/values?freshData=false&includeTotalCount=true"; - let slaveDepBody: { [x: string]: string[] } = {}; - for (const slaveDep of icUpdated.slaveDependencies!) { - const icFromState = inputControls.find(({ id }) => { - return id === slaveDep; - }); - slaveDepBody[slaveDep] = formatValueForIc(icFromState!); - } const reqBody = { - ...slaveDepBody, + ...extractDependenciesValues(icUpdated.masterDependencies!, inputControls), + ...extractDependenciesValues(icUpdated.slaveDependencies!, inputControls), [icUpdated.id]: [...formatValueForIc(icUpdated)], }; return { diff --git a/packages/jv-input-controls/src/utils/StringUtils.ts b/packages/jv-input-controls/src/utils/StringUtils.ts index 2913e674..5191eba3 100644 --- a/packages/jv-input-controls/src/utils/StringUtils.ts +++ b/packages/jv-input-controls/src/utils/StringUtils.ts @@ -4,9 +4,9 @@ * in the license file that is distributed with this file. */ -export const getParamsForICCascadingReq = (slaveDependencies: string[]) => { - return slaveDependencies.reduce((accum, current) => { - accum += current + ";"; - return accum; +export const getParamsForICCascadingReq = (dependencies: string[]) => { + return dependencies.reduce((accum, current, cIndex) => { + const endOfString = cIndex === dependencies.length - 1 ? "" : ";"; + return accum + current + endOfString; }, ""); }; diff --git a/packages/jv-input-controls/src/utils/ValueBasedOnOptionsUtils.ts b/packages/jv-input-controls/src/utils/ValueBasedOnOptionsUtils.ts index 76bff822..1a668c1f 100644 --- a/packages/jv-input-controls/src/utils/ValueBasedOnOptionsUtils.ts +++ b/packages/jv-input-controls/src/utils/ValueBasedOnOptionsUtils.ts @@ -19,7 +19,7 @@ export const generateValueBasedOnOptions = ( ); const theValue: string[] = Array.isArray(value) ? value : [value]; if ( - options.length > 0 && + options.length >= 0 && // TODO check initial loading. !options.some((option) => theValue.includes(option.value)) ) { valueUpdated = selectedOnes.map(({ value }) => value); From 6909a3a23f95ed08621af52fe5cbe4c16bd43992 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Mon, 23 Dec 2024 17:24:50 -0600 Subject: [PATCH 45/55] feature(jv-input-controls): fix when fetching options and the API return the same options for different scenarios --- .../src/controls/MultiSelectInputControl.tsx | 34 ++++++++++++------- .../src/controls/SingleSelectInputControl.tsx | 34 ++++++++++++------- .../src/controls/hooks/useCascadingOptions.ts | 11 ++++-- 3 files changed, 50 insertions(+), 29 deletions(-) diff --git a/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx b/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx index 897b40eb..a549c66b 100644 --- a/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx @@ -25,21 +25,25 @@ export const MultiSelectInputControl = ( // new variables due to the reducer state: const { state } = useContext(InputControlsContext); const [errorText, setErrorText] = useState(""); + const initialValue = props.state?.value || [""]; // live state: - const liveState = useLiveState([""], (newValue: string | string[]) => { - const { errorMsg } = validateValueAgainstICValidationRules( - newValue, - liveState.value, - props, - [""], - {}, - ); - setErrorText(errorMsg); - props.handleIcChange!(getInputControlProperties(props, newValue), { - [props.id]: errorMsg, - }); - }); + const liveState = useLiveState( + initialValue, + (newValue: string | string[]) => { + const { errorMsg } = validateValueAgainstICValidationRules( + newValue, + liveState.value, + props, + [""], + {}, + ); + setErrorText(errorMsg); + props.handleIcChange!(getInputControlProperties(props, newValue), { + [props.id]: errorMsg, + }); + }, + ); const { options, isLoading, setIsLoading } = useCascadingOptions( state.inputControls, props.id, @@ -49,7 +53,11 @@ export const MultiSelectInputControl = ( options, liveState.value, ); + const icFromState = state.inputControls.find(({ id }) => id === props.id)!; if (basedOnOptions === null) { + if (icFromState.isLoading === false) { + setIsLoading(false); + } return; } if (basedOnOptions.valueUpdated !== null) { diff --git a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx index 4be77799..310a4cd0 100644 --- a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx @@ -25,20 +25,24 @@ export function SingleSelectInputControl( // new variables due to the reducer state: const { state } = useContext(InputControlsContext); const [errorText, setErrorText] = useState(""); + const initialValue = props.state?.value || ""; // live state: - const liveState = useLiveState("", (newValue: string | string[]) => { - const { errorMsg } = validateValueAgainstICValidationRules( - newValue, - liveState.value, - props, - "", - {}, - ); - setErrorText(errorMsg); - props.handleIcChange!(getInputControlProperties(props, newValue), { - [props.id]: errorMsg, - }); - }); + const liveState = useLiveState( + initialValue, + (newValue: string | string[]) => { + const { errorMsg } = validateValueAgainstICValidationRules( + newValue, + liveState.value, + props, + "", + {}, + ); + setErrorText(errorMsg); + props.handleIcChange!(getInputControlProperties(props, newValue), { + [props.id]: errorMsg, + }); + }, + ); const { options, isLoading, setIsLoading } = useCascadingOptions( state.inputControls, props.id, @@ -48,7 +52,11 @@ export function SingleSelectInputControl( options, liveState.value, ); + const icFromState = state.inputControls.find(({ id }) => id === props.id)!; if (basedOnOptions === null) { + if (icFromState.isLoading === false) { + setIsLoading(false); + } return; } if (basedOnOptions.valueUpdated !== null) { diff --git a/packages/jv-input-controls/src/controls/hooks/useCascadingOptions.ts b/packages/jv-input-controls/src/controls/hooks/useCascadingOptions.ts index ba87a156..c943050f 100644 --- a/packages/jv-input-controls/src/controls/hooks/useCascadingOptions.ts +++ b/packages/jv-input-controls/src/controls/hooks/useCascadingOptions.ts @@ -24,10 +24,15 @@ export const useCascadingOptions = ( } if ( icFromState.state !== undefined && - icFromState.state.options !== undefined && - JSON.stringify(icFromState.state.options) !== JSON.stringify(options) + icFromState.state.options !== undefined ) { - setOptions(icFromState.state.options); + if ( + JSON.stringify(icFromState.state.options) !== JSON.stringify(options) + ) { + setOptions(icFromState.state.options); + } else if (icFromState.isLoading === false) { + setIsLoading(false); + } } }, [inputControls]); From c5735bde4abe2727d6a502568795334c91ff1b02 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Mon, 23 Dec 2024 17:39:31 -0600 Subject: [PATCH 46/55] feature(jv-input-controls): remove redundant code --- .../src/controls/MultiSelectInputControl.tsx | 4 ---- .../src/controls/SingleSelectInputControl.tsx | 4 ---- 2 files changed, 8 deletions(-) diff --git a/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx b/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx index a549c66b..1893f63a 100644 --- a/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx @@ -53,11 +53,7 @@ export const MultiSelectInputControl = ( options, liveState.value, ); - const icFromState = state.inputControls.find(({ id }) => id === props.id)!; if (basedOnOptions === null) { - if (icFromState.isLoading === false) { - setIsLoading(false); - } return; } if (basedOnOptions.valueUpdated !== null) { diff --git a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx index 310a4cd0..615e08a2 100644 --- a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx @@ -52,11 +52,7 @@ export function SingleSelectInputControl( options, liveState.value, ); - const icFromState = state.inputControls.find(({ id }) => id === props.id)!; if (basedOnOptions === null) { - if (icFromState.isLoading === false) { - setIsLoading(false); - } return; } if (basedOnOptions.valueUpdated !== null) { From 19583c46a3ff5232b67387e69877eeab112182e7 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 26 Dec 2024 10:54:52 -0600 Subject: [PATCH 47/55] feature(jv-input-controls): fix changing the values before the first rendering This will fix the tests and the first rendering (no error in the browser console) --- .../jv-input-controls/src/controls/MultiSelectInputControl.tsx | 2 +- .../jv-input-controls/src/controls/SingleSelectInputControl.tsx | 2 +- .../jv-input-controls/src/utils/ValueBasedOnOptionsUtils.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx b/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx index 1893f63a..671e0278 100644 --- a/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/MultiSelectInputControl.tsx @@ -25,7 +25,7 @@ export const MultiSelectInputControl = ( // new variables due to the reducer state: const { state } = useContext(InputControlsContext); const [errorText, setErrorText] = useState(""); - const initialValue = props.state?.value || [""]; + const initialValue = [""]; // live state: const liveState = useLiveState( diff --git a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx index 615e08a2..2f5e71f3 100644 --- a/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx +++ b/packages/jv-input-controls/src/controls/SingleSelectInputControl.tsx @@ -25,7 +25,7 @@ export function SingleSelectInputControl( // new variables due to the reducer state: const { state } = useContext(InputControlsContext); const [errorText, setErrorText] = useState(""); - const initialValue = props.state?.value || ""; + const initialValue = ""; // live state: const liveState = useLiveState( initialValue, diff --git a/packages/jv-input-controls/src/utils/ValueBasedOnOptionsUtils.ts b/packages/jv-input-controls/src/utils/ValueBasedOnOptionsUtils.ts index 1a668c1f..76bff822 100644 --- a/packages/jv-input-controls/src/utils/ValueBasedOnOptionsUtils.ts +++ b/packages/jv-input-controls/src/utils/ValueBasedOnOptionsUtils.ts @@ -19,7 +19,7 @@ export const generateValueBasedOnOptions = ( ); const theValue: string[] = Array.isArray(value) ? value : [value]; if ( - options.length >= 0 && // TODO check initial loading. + options.length > 0 && !options.some((option) => theValue.includes(option.value)) ) { valueUpdated = selectedOnes.map(({ value }) => value); From 33f41c674d0a1651f01353f61e956fd379a6d24d Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 26 Dec 2024 12:05:38 -0600 Subject: [PATCH 48/55] feature(jv-input-controls): clean up the JS and the React approches for rendering the input controls --- packages/demo-input-controls/src/App.tsx | 82 +++++++++---------- .../jv-input-controls/src/InputControls.tsx | 2 +- packages/jv-tools/src/input-controls/index.ts | 2 +- 3 files changed, 43 insertions(+), 43 deletions(-) diff --git a/packages/demo-input-controls/src/App.tsx b/packages/demo-input-controls/src/App.tsx index 0db8a968..0c3e48a3 100644 --- a/packages/demo-input-controls/src/App.tsx +++ b/packages/demo-input-controls/src/App.tsx @@ -5,7 +5,10 @@ */ import "./App.css"; -import { renderInputControls } from "@jaspersoft/jv-input-controls"; +import { + InputControlsConfig, + renderInputControls, +} from "@jaspersoft/jv-input-controls"; import { Authentication, InputControlProperties, @@ -25,16 +28,48 @@ const myAuth: Authentication = { const reportUri = "/public/Samples/Reports/16g.InteractiveSalesReport"; // const reportUri = "/public/Samples/Reports/07g.RevenueDetailReport"; const singleSelectReportUri = "/public/Samples/Reports/9g.CustomerDetailReport"; - -// const visualizeUrl = -// "https://mobiledemo.jaspersoft.com/jasperserver-pro/client/visualize.js"; +const globalConfigForIcs: InputControlsConfig = { + success: () => { + console.log("Input controls rendered successfully"); + }, + error: (error) => { + console.log("Error rendering input controls: ", error); + }, + typeConfig: { + singleValueDatetime: { + type: "default", // even if it isn't provided, this will be the default component + }, + singleValueTime: { + type: "default", // even if it isn't provided, this will be the default component + }, + singleValueDate: { + type: "default", // even if it isn't provided, this will be the default component + }, + }, + params: { + column_boolean_1: ["false"], + column_string_1: [ + "This is a predefined text different than the stored in the server", + ], + id_1: ["99"], + column_date_1: ["2009-03-02"], + column_timestamp_1: ["2014-03-02T10:00:00"], + column_time_1: ["14:00:00"], + ProductFamily: ["Drink", "Food"], + }, + events: { + change: (ics, validationResult) => { + console.log("validationResult => ", validationResult); + console.log("ics => ", ics); + }, + }, +}; const errorCallback = (errorCaught: Error | VisualizeGenericError | string) => { console.log("check the error! ", errorCaught); }; function App() { - // const vContainer = useVisualize(visualizeUrl, myAuth, { errorCallback }); const vContainer = useVisualize( { server: "https://mobiledemo.jaspersoft.com", @@ -55,42 +90,7 @@ function App() { vContainer.v, reportUri, document.getElementById("input-controls-container") as HTMLElement, - { - success: () => { - console.log("Input controls rendered successfully"); - }, - error: (error) => { - console.log("Error rendering input controls: ", error); - }, - typeConfig: { - singleValueDatetime: { - type: "default", // even if it isn't provided, this will be the default component - }, - singleValueTime: { - type: "default", // even if it isn't provided, this will be the default component - }, - singleValueDate: { - type: "default", // even if it isn't provided, this will be the default component - }, - }, - params: { - column_boolean_1: ["false"], - column_string_1: [ - "This is a predefined text different than the stored in the server", - ], - id_1: ["99"], - column_date_1: ["2009-03-02"], - column_timestamp_1: ["2014-03-02T10:00:00"], - column_time_1: ["14:00:00"], - ProductFamily: ["Drink", "Food"], - }, - events: { - change: (ics, validationResult) => { - console.log("validationResult => ", validationResult); - console.log("ics => ", ics); - }, - }, - }, + globalConfigForIcs, ); renderInputControls( diff --git a/packages/jv-input-controls/src/InputControls.tsx b/packages/jv-input-controls/src/InputControls.tsx index 2e1778ff..5bb6d4de 100644 --- a/packages/jv-input-controls/src/InputControls.tsx +++ b/packages/jv-input-controls/src/InputControls.tsx @@ -115,8 +115,8 @@ export function InputControls(props: InputControlsProps) { events={props.config?.events} > diff --git a/packages/jv-tools/src/input-controls/index.ts b/packages/jv-tools/src/input-controls/index.ts index 68d906b3..93e4580b 100644 --- a/packages/jv-tools/src/input-controls/index.ts +++ b/packages/jv-tools/src/input-controls/index.ts @@ -97,7 +97,7 @@ export interface CommonInputControlProperties { export interface InputControlProperties extends CommonInputControlProperties { events?: { change: ( - ic: { [key: string]: any[] } | InputControlProperties, // TODO: remove InputControlProperties + ic: { [key: string]: CommonInputControlProperties[] }, validationResult?: { [key: string]: string } | boolean, ) => void; }; From 11ce9beb993eb503ca9de56d5691b04ca29b1c03 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 26 Dec 2024 17:37:36 -0600 Subject: [PATCH 49/55] feature(jv-tools): useVisualize hook is now accepting: visualizePath, publicPath, and server as parameters --- packages/demo-input-controls/src/App.tsx | 7 +-- packages/demo-scheduler/src/App.tsx | 4 +- packages/jv-tools/index.ts | 11 +++-- .../src/visualize/hooks/useVisualize.ts | 43 +++++++++---------- .../jv-tools/src/visualize/utils/UrlParser.ts | 31 ------------- 5 files changed, 32 insertions(+), 64 deletions(-) delete mode 100644 packages/jv-tools/src/visualize/utils/UrlParser.ts diff --git a/packages/demo-input-controls/src/App.tsx b/packages/demo-input-controls/src/App.tsx index 0c3e48a3..e19b75e8 100644 --- a/packages/demo-input-controls/src/App.tsx +++ b/packages/demo-input-controls/src/App.tsx @@ -72,10 +72,11 @@ const errorCallback = (errorCaught: Error | VisualizeGenericError | string) => { function App() { const vContainer = useVisualize( { - server: "https://mobiledemo.jaspersoft.com", - contextPath: "/jasperserver-pro", + server: "https://mobiledemo.jaspersoft.com/jasperserver-pro", + visualizePath: + "https://mobiledemo.jaspersoft.com/jasperserver-pro/client/visualize.js", + auth: myAuth, }, - myAuth, { errorCallback }, ); const [controlBuffer, setControlBuffer] = diff --git a/packages/demo-scheduler/src/App.tsx b/packages/demo-scheduler/src/App.tsx index a5c389ad..044955a5 100644 --- a/packages/demo-scheduler/src/App.tsx +++ b/packages/demo-scheduler/src/App.tsx @@ -22,7 +22,8 @@ import ReportPanel from "./report/ReportPanel"; import "./App.css"; import { Scheduler } from "./Scheduler"; -const visualizeUrl = `${schedulerUIConfig.server}${schedulerUIConfig.contextPath}/client/visualize.js`; +const serverUrl = `${schedulerUIConfig.server}${schedulerUIConfig.contextPath}`; +const visualizeUrl = `${serverUrl}/client/visualize.js`; const credentials: Authentication = { name: "joeuser", @@ -44,6 +45,7 @@ function SchedulerApp() { loadVisualize().then((visualizeFactory: VisualizeFactory) => { visualizeFactory( { + server: serverUrl, auth: { ...credentials }, }, (v: VisualizeClient) => { diff --git a/packages/jv-tools/index.ts b/packages/jv-tools/index.ts index 4ae7e5fa..a9ce6bd2 100644 --- a/packages/jv-tools/index.ts +++ b/packages/jv-tools/index.ts @@ -2,11 +2,6 @@ import { InputControlProperties } from "./src/input-controls"; export * from "./src/input-controls"; export type { useVisualizeConfig } from "./src/visualize/hooks/useVisualize.types"; -export type VisualizeUriConfig = { - server: string; - contextPath: string; -}; - export type Authentication = { url?: string; name?: string; @@ -85,12 +80,16 @@ export type ResourcesSearch = { }; export type VisualizeFactoryConfig = { + visualizePath: string; // path to visualize.js script. + publicPath?: string; // if publicPath is not set, viz.js doesn't know where to load the chunks when Viz.js is + // located on a CDN. + server: string; // path to JRS. auth: Authentication; }; export type VisualizeFactory = { ( - params: VisualizeFactoryConfig, + params: Omit, success: (v: VisualizeClient) => void, error: (err: any) => void, ): void; diff --git a/packages/jv-tools/src/visualize/hooks/useVisualize.ts b/packages/jv-tools/src/visualize/hooks/useVisualize.ts index c784308e..7fb15cb3 100644 --- a/packages/jv-tools/src/visualize/hooks/useVisualize.ts +++ b/packages/jv-tools/src/visualize/hooks/useVisualize.ts @@ -1,14 +1,12 @@ import { useEffect, useRef, useState } from "react"; import { - Authentication, useVisualizeConfig, VisualizeClient, VisualizeFactory, VisualizeGenericError, visualizejsLoader, - VisualizeUriConfig, -} from "../../.."; -import { getDomainFromUri, URI_LOCATION_FOR_VIZ } from "../utils/UrlParser"; + VisualizeFactoryConfig, +} from "../../../index"; const logOrTriggerError = ( config: useVisualizeConfig | undefined, @@ -22,52 +20,51 @@ const logOrTriggerError = ( }; const useVisualize = ( - uriOrConfig: string | VisualizeUriConfig, - auth: Authentication, - config?: useVisualizeConfig, + vizConfig: VisualizeFactoryConfig, + errorConfig?: useVisualizeConfig, ) => { const [vContainer, setVContainer] = useState<{ v: VisualizeClient } | null>( null, ); - const prevUriOrConfig = useRef(); + const prevUriOrConfig = useRef(); useEffect(() => { - if ( - JSON.stringify(prevUriOrConfig.current) === JSON.stringify(uriOrConfig) - ) { + if (JSON.stringify(prevUriOrConfig.current) === JSON.stringify(vizConfig)) { // means the params have not changed, therefore, we shouldn't re-execute the logic. return; } // the params have changed, let's connect to the new JRS: - prevUriOrConfig.current = uriOrConfig; + prevUriOrConfig.current = vizConfig; - const serverDomain = getDomainFromUri(uriOrConfig); - const loadVisualize = visualizejsLoader( - `${serverDomain}${URI_LOCATION_FOR_VIZ}`, - ); + const loadVisualize = visualizejsLoader(vizConfig.visualizePath); loadVisualize() .then((visualizeFactory: VisualizeFactory) => { + let paramsToViz: Omit = { + server: vizConfig.server, + auth: vizConfig.auth || {}, + }; + if (vizConfig.publicPath) { + paramsToViz = { ...paramsToViz, publicPath: vizConfig.publicPath }; + } visualizeFactory( - { - auth: auth || {}, - }, + paramsToViz, (v: VisualizeClient) => { const finalVObject = v.server !== undefined ? v : { ...v, - server: serverDomain, + server: vizConfig.server, }; setVContainer({ v: finalVObject }); }, (e: Error | VisualizeGenericError | string) => - logOrTriggerError(config, e), + logOrTriggerError(errorConfig, e), ); }) .catch((error: Error | VisualizeGenericError | string) => - logOrTriggerError(config, error), + logOrTriggerError(errorConfig, error), ); - }, [uriOrConfig]); + }, [vizConfig]); return vContainer; }; diff --git a/packages/jv-tools/src/visualize/utils/UrlParser.ts b/packages/jv-tools/src/visualize/utils/UrlParser.ts deleted file mode 100644 index 1023c691..00000000 --- a/packages/jv-tools/src/visualize/utils/UrlParser.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright © 2024. Cloud Software Group, Inc. - * This file is subject to the license terms contained - * in the license file that is distributed with this file. - */ - -import { VisualizeUriConfig } from "../../../"; -export const URI_LOCATION_FOR_VIZ = "/client/visualize.js"; - -export const getDomainFromUri = (uri: string | VisualizeUriConfig): string => { - if (typeof uri !== "string") { - // it means the user provided a configuration for visualize. - const server = uri.server.endsWith("/") - ? uri.server.slice(0, -1) - : uri.server; - const contextPath = uri.contextPath.startsWith("/") - ? uri.contextPath - : `/${uri.contextPath}`; - return `${server}${contextPath}`; - } - // it means the user provided a string for JRS. Let's assume the location for Viz it's always the same. - // TODO: to verify the ending for VIZ.js URL -- URI_LOCATION_FOR_VIZ - try { - const [serverInfo] = uri.split(URI_LOCATION_FOR_VIZ); - const url = new URL(serverInfo); - return `${url.protocol}//${url.host}${url.pathname}`; - } catch (error) { - console.error(`Invalid URI provided: ${uri}. Error: `, error); - return ""; - } -}; From a8eee80d195736c55e6d8cb8f61c82f3702ae94f Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 2 Jan 2025 11:29:20 -0600 Subject: [PATCH 50/55] feature(jv-tools): add changelog file to show breaking changes --- packages/jv-tools/CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 packages/jv-tools/CHANGELOG.md diff --git a/packages/jv-tools/CHANGELOG.md b/packages/jv-tools/CHANGELOG.md new file mode 100644 index 00000000..27e812bb --- /dev/null +++ b/packages/jv-tools/CHANGELOG.md @@ -0,0 +1,7 @@ +# CHANGELOG + +## Date: Jan 2nd, 2025. + +| Change | v0.1.9 | v0.1.10 | Notes | +| -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| Initialization of `useVisualize` custom hook has changed | Previously, you initialized it like this:
`useVisualize(uri, authCredentials, {errorCallback: (error) => {}});` | Now, you initialize it like this:
`useVisualize({server: "", visualizePath:"", auth: {...}}, { errorCallback: (error) => {} });` | The first and second parameters from version `0.1.9` are now combined into an object. You only need 2 parameters in the new version. | From a0d91da58fa51caa6ef3f9e0a981284f00e20d3e Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Thu, 2 Jan 2025 12:25:34 -0600 Subject: [PATCH 51/55] feature(jv-tools): add content to changelog --- packages/jv-tools/CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/packages/jv-tools/CHANGELOG.md b/packages/jv-tools/CHANGELOG.md index 27e812bb..83795ea4 100644 --- a/packages/jv-tools/CHANGELOG.md +++ b/packages/jv-tools/CHANGELOG.md @@ -5,3 +5,19 @@ | Change | v0.1.9 | v0.1.10 | Notes | | -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | | Initialization of `useVisualize` custom hook has changed | Previously, you initialized it like this:
`useVisualize(uri, authCredentials, {errorCallback: (error) => {}});` | Now, you initialize it like this:
`useVisualize({server: "", visualizePath:"", auth: {...}}, { errorCallback: (error) => {} });` | The first and second parameters from version `0.1.9` are now combined into an object. You only need 2 parameters in the new version. | + +### Sample values for + +- **server**: `https://mobiledemo.jaspersoft.com/jasperserver-pro` + - This is the URL where your JRS server is located. +- **visualizePath**: `https://mobiledemo.jaspersoft.com/jasperserver-pro/client/visualize.js` + - This is the URL to download VisualizeJS. +- **auth**: `{ +name: "your_user", +password: "your_user", +organization: "your_organization", +}` + - These are the credentials Visualize will use to access resources on the JRS server. +- **publicPath**: `https://somehost.com/visualize/` + - If `visualizePath` points to a CDN server, you should also set `publicPath`. That's why this is optional, but + if not set, `jv-tools` won't know where to load the chunks from. From d7bc13e480cba1944ea37df1f88e5eff20a15f00 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Fri, 3 Jan 2025 11:40:28 -0600 Subject: [PATCH 52/55] feature(jv-input-controls): remove StringUtils and replaced it with .join(";") --- .../jv-input-controls/src/services/HttpService.ts | 3 +-- packages/jv-input-controls/src/utils/StringUtils.ts | 12 ------------ 2 files changed, 1 insertion(+), 14 deletions(-) delete mode 100644 packages/jv-input-controls/src/utils/StringUtils.ts diff --git a/packages/jv-input-controls/src/services/HttpService.ts b/packages/jv-input-controls/src/services/HttpService.ts index 6728f4ae..fe049dea 100644 --- a/packages/jv-input-controls/src/services/HttpService.ts +++ b/packages/jv-input-controls/src/services/HttpService.ts @@ -4,7 +4,6 @@ * in the license file that is distributed with this file. */ import { InputControlProperties } from "@jaspersoft/jv-tools"; -import { getParamsForICCascadingReq } from "../utils/StringUtils"; const formatValueForIc = (ic: InputControlProperties) => { if (Array.isArray(ic.state!.value!)) { @@ -34,7 +33,7 @@ const getICCascadingOptionsForRequest = ( server: string, uri: string, ): { url: string; options: RequestInit } => { - const slaveStr = getParamsForICCascadingReq(icUpdated.slaveDependencies!); + const slaveStr = icUpdated.slaveDependencies!.join(";"); const url = server + "/rest_v2/reports" + diff --git a/packages/jv-input-controls/src/utils/StringUtils.ts b/packages/jv-input-controls/src/utils/StringUtils.ts deleted file mode 100644 index 5191eba3..00000000 --- a/packages/jv-input-controls/src/utils/StringUtils.ts +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Copyright © 2024. Cloud Software Group, Inc. - * This file is subject to the license terms contained - * in the license file that is distributed with this file. - */ - -export const getParamsForICCascadingReq = (dependencies: string[]) => { - return dependencies.reduce((accum, current, cIndex) => { - const endOfString = cIndex === dependencies.length - 1 ? "" : ";"; - return accum + current + endOfString; - }, ""); -}; From 6e071243d6ed2d15808e856d686330362e06997a Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Fri, 3 Jan 2025 12:47:40 -0600 Subject: [PATCH 53/55] feature(jv-input-controls): update reducer to use named method --- .../src/reducer/InputControlsReducer.tsx | 268 +++++++++--------- 1 file changed, 141 insertions(+), 127 deletions(-) diff --git a/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx b/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx index 0fed3293..8270edaa 100644 --- a/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx +++ b/packages/jv-input-controls/src/reducer/InputControlsReducer.tsx @@ -41,6 +41,144 @@ export interface InputControlsState { initiatorIdCascadingIc?: string; } +const updateDataForICs = ( + state: InputControlsState, + payload: any, +): InputControlsState => { + const icsUpdated = state.inputControls.reduce( + ( + acc: { + state: InputControlProperties[]; + response: { [key: string]: any[] }; + invalidResponse: { [key: string]: any }; + }, + ctrl: InputControlProperties, + ) => { + const theValidationResult = payload.resultValidation?.[ctrl.id]; + const ctrlToUse = + ctrl.id !== payload.ctrlUpdated.id ? ctrl : payload.ctrlUpdated; + if (theValidationResult !== undefined && theValidationResult !== "") { + acc.invalidResponse = { + ...acc.invalidResponse, + [ctrlToUse.id]: theValidationResult, + }; + } else if (theValidationResult === "") { + // this means that the validation result is empty, so we need to remove the key from the invalidResponse + delete acc.invalidResponse[ctrlToUse.id]; + } + if (ctrlToUse.state?.options !== undefined) { + // we also have to update the options of the current control if needed. + ctrlToUse.state = { + ...ctrlToUse.state, + options: ctrlToUse.state.options.map( + (opt: { selected: boolean; value: string; label: string }) => { + return { + ...opt, + selected: ctrlToUse.state?.value.includes(opt.value), + }; + }, + ), + }; + } + acc.state.push({ ...ctrl, ...ctrlToUse }); + + acc.response[ctrlToUse.id] = Array.isArray(ctrlToUse.state?.value) + ? ctrlToUse.state?.value + : [ctrlToUse.state?.value]; + return acc; + }, + { + state: [], + response: { ...state.validResponse }, + invalidResponse: { ...state.validationResultState }, + }, + ); + + const stateUpdated = { + ...state, + inputControls: [...icsUpdated.state], + validResponse: { ...icsUpdated.response }, + validationResultState: { ...icsUpdated.invalidResponse }, + }; + if ( + payload.ctrlUpdated.slaveDependencies === undefined || + payload.ctrlUpdated.slaveDependencies.length === 0 + ) { + emitCallbackToUser(stateUpdated, payload); + } + return stateUpdated; +}; +const setInitiatorIDCascadingIC = ( + state: InputControlsState, + payload: { initiatorIdCascadingIc: string }, +): InputControlsState => { + let masterIcId = payload.initiatorIdCascadingIc; + let isLoading = true; + if (masterIcId === "") { + // If this happens, reset the state + masterIcId = state.initiatorIdCascadingIc!; + isLoading = false; + } + const newICs = state.inputControls.map((ic) => { + if (!ic.masterDependencies) { + return ic; + } + if (ic.masterDependencies.includes(masterIcId)) { + return { + ...ic, + isLoading, + }; + } + return ic; + }); + return { + ...state, + inputControls: [...newICs], + initiatorIdCascadingIc: payload.initiatorIdCascadingIc, + }; +}; +const updateSlaveDependencies = ( + state: InputControlsState, + payload: { + inputControlState: [ + { id: string; options: InputControlOption[]; uri: string }, + ]; + ctrlUpdated: InputControlProperties; + }, +): InputControlsState => { + // Create a Map from the payload array + const payloadMap: Map = new Map( + payload.inputControlState.map((item) => [item.id, item.options]), + ); + // Iterate over the state array and update the options property + const theNewValidResponse = JSON.parse(JSON.stringify(state.validResponse)); + const icsUpdated = state.inputControls.map((item: InputControlProperties) => { + if (!payloadMap.has(item.id)) { + return item; + } + const newValueForIc = payloadMap + .get(item.id)! + .filter((opt) => opt.selected) + .map((opt) => opt.value); + theNewValidResponse[item.id] = newValueForIc; + return { + ...item, + state: { + ...item.state, + options: payloadMap.get(item.id)! as InputControlOption[], + value: newValueForIc, + }, + } as InputControlProperties; + }); + const theNewState = { + ...state, + inputControls: [...icsUpdated], + validResponse: { ...theNewValidResponse }, + }; + emitCallbackToUser(theNewState, payload); + return theNewState; +}; + const inputControlsReducer = ( state: InputControlsState, action: { type: string; payload: any }, @@ -48,137 +186,13 @@ const inputControlsReducer = ( const { type, payload } = action; switch (type) { case INPUT_CONTROLS_ACTIONS.UPDATE_DATA: { - const icsUpdated = state.inputControls.reduce( - ( - acc: { - state: InputControlProperties[]; - response: { [key: string]: any[] }; - invalidResponse: { [key: string]: any }; - }, - ctrl: InputControlProperties, - ) => { - const theValidationResult = payload.resultValidation?.[ctrl.id]; - const ctrlToUse = - ctrl.id !== payload.ctrlUpdated.id ? ctrl : payload.ctrlUpdated; - if (theValidationResult !== undefined && theValidationResult !== "") { - acc.invalidResponse = { - ...acc.invalidResponse, - [ctrlToUse.id]: theValidationResult, - }; - } else if (theValidationResult === "") { - // this means that the validation result is empty, so we need to remove the key from the invalidResponse - delete acc.invalidResponse[ctrlToUse.id]; - } - if (ctrlToUse.state?.options !== undefined) { - // we also have to update the options of the current control if needed. - ctrlToUse.state = { - ...ctrlToUse.state, - options: ctrlToUse.state.options.map( - (opt: { selected: boolean; value: string; label: string }) => { - return { - ...opt, - selected: ctrlToUse.state?.value.includes(opt.value), - }; - }, - ), - }; - } - acc.state.push({ ...ctrl, ...ctrlToUse }); - - acc.response[ctrlToUse.id] = Array.isArray(ctrlToUse.state?.value) - ? ctrlToUse.state?.value - : [ctrlToUse.state?.value]; - return acc; - }, - { - state: [], - response: { ...state.validResponse }, - invalidResponse: { ...state.validationResultState }, - }, - ); - - const stateUpdated = { - ...state, - inputControls: [...icsUpdated.state], - validResponse: { ...icsUpdated.response }, - validationResultState: { ...icsUpdated.invalidResponse }, - }; - if ( - payload.ctrlUpdated.slaveDependencies === undefined || - payload.ctrlUpdated.slaveDependencies.length === 0 - ) { - emitCallbackToUser(stateUpdated, payload); - } - - return stateUpdated; + return updateDataForICs(state, payload); } case INPUT_CONTROLS_ACTIONS.SET_INITIATOR_ID_CASCADING_IC: { - let masterIcId = payload.initiatorIdCascadingIc; - let isLoading = true; - if (masterIcId === "") { - masterIcId = state.initiatorIdCascadingIc; - isLoading = false; - } - const newICs = state.inputControls.map((ic) => { - if (!ic.masterDependencies) { - return ic; - } - if (ic.masterDependencies.includes(masterIcId)) { - return { - ...ic, - isLoading, - }; - } - return ic; - }); - return { - ...state, - inputControls: [...newICs], - initiatorIdCascadingIc: payload.initiatorIdCascadingIc, - }; + return setInitiatorIDCascadingIC(state, payload); } case INPUT_CONTROLS_ACTIONS.UPDATE_SLAVE_DEPENDENCIES: { - // Create a Map from the payload array - const payloadMap: Map = new Map( - payload.inputControlState.map( - (item: { - id: string; - options: InputControlOption[]; - uri: string; - }) => [item.id, item.options], - ), - ); - // Iterate over the state array and update the options property - const theNewValidResponse = JSON.parse( - JSON.stringify(state.validResponse), - ); - const icsUpdated = state.inputControls.map( - (item: InputControlProperties) => { - if (!payloadMap.has(item.id)) { - return item; - } - const newValueForIc = payloadMap - .get(item.id)! - .filter((opt) => opt.selected) - .map((opt) => opt.value); - theNewValidResponse[item.id] = newValueForIc; - return { - ...item, - state: { - ...item.state, - options: payloadMap.get(item.id)! as InputControlOption[], - value: newValueForIc, - }, - } as InputControlProperties; - }, - ); - const theNewState = { - ...state, - inputControls: [...icsUpdated], - validResponse: { ...theNewValidResponse }, - }; - emitCallbackToUser(theNewState, payload); - return theNewState; + return updateSlaveDependencies(state, payload); } default: return state; From 9f88d57cebbf97f4d5831b8b391e23f9a45c3fb3 Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Fri, 3 Jan 2025 16:08:54 -0600 Subject: [PATCH 54/55] feature(jv-input-controls): downgrade dependencies --- packages/jv-scheduler/package.json | 4 +-- yarn.lock | 47 +++++++++++++++++++++++------- 2 files changed, 38 insertions(+), 13 deletions(-) diff --git a/packages/jv-scheduler/package.json b/packages/jv-scheduler/package.json index c7652cd2..76850faa 100644 --- a/packages/jv-scheduler/package.json +++ b/packages/jv-scheduler/package.json @@ -44,7 +44,7 @@ "@testing-library/react": "^13.3.0", "@types/jest": "^28.1.6", "@types/react": "^18.0.15", - "@types/redux-mock-store": "^1.5.0", + "@types/redux-mock-store": "1.0.6", "@types/xregexp": "^4.4.0", "@vitejs/plugin-react": "^4.3.1", "i18next": "^23.11.5", @@ -55,7 +55,7 @@ "jest-css-modules-transform": "^4.4.2", "jest-environment-jsdom": "^29.7.0", "path": "^0.12.7", - "redux-mock-store": "^1.5.5", + "redux-mock-store": "1.5.4", "ts-jest": "^29.1.5", "ts-node": "^10.9.2", "typescript": "^4.7.4", diff --git a/yarn.lock b/yarn.lock index c01264b4..ae663c7b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3349,10 +3349,10 @@ dependencies: "@types/react" "*" -"@types/redux-mock-store@^1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@types/redux-mock-store/-/redux-mock-store-1.5.0.tgz#53e9caa9f94c6839e5f34b1c9bcea09b911b67e0" - integrity sha512-jcscBazm6j05Hs6xYCca6psTUBbFT2wqMxT7wZEHAYFxHB/I8jYk7d5msrHUlDiSL02HdTqTmkK2oIV8i3C8DA== +"@types/redux-mock-store@1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/redux-mock-store/-/redux-mock-store-1.0.6.tgz#0a03b2655028b7cf62670d41ac1de5ca1b1f5958" + integrity sha512-eg5RDfhJTXuoJjOMyXiJbaDb1B8tfTaJixscmu+jOusj6adGC0Krntz09Tf4gJgXeCqCrM5bBMd+B7ez0izcAQ== dependencies: redux "^4.0.5" @@ -8421,10 +8421,10 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" -redux-mock-store@^1.5.5: - version "1.5.5" - resolved "https://registry.yarnpkg.com/redux-mock-store/-/redux-mock-store-1.5.5.tgz#ec3676663c081c4ca5a6a14f1ac193b56c3220eb" - integrity sha512-YxX+ofKUTQkZE4HbhYG4kKGr7oCTJfB0GLy7bSeqx86GLpGirrbUWstMnqXkqHNaQpcnbMGbof2dYs5KsPE6Zg== +redux-mock-store@1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/redux-mock-store/-/redux-mock-store-1.5.4.tgz#90d02495fd918ddbaa96b83aef626287c9ab5872" + integrity sha512-xmcA0O/tjCLXhh9Fuiq6pMrJCwFRaouA8436zcikdIpYWWCjU76CRk+i2bHx8EeiSiMGnB85/lZdU3wIJVXHTA== dependencies: lodash.isplainobject "^4.0.6" @@ -8900,7 +8900,16 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -8983,7 +8992,14 @@ string.prototype.trimstart@^1.0.8: define-properties "^1.2.1" es-object-atoms "^1.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -9725,7 +9741,16 @@ word-wrap@^1.2.5: resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz" integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== From 94db3e17d98f36cf629e2b918f0c42b9c112901a Mon Sep 17 00:00:00 2001 From: Eduardo Canche Vazquez Date: Fri, 3 Jan 2025 18:00:01 -0600 Subject: [PATCH 55/55] feature(jv-ui-components): lock lib versions and fix for imports in some jv-ui-components files also yarn lock file has been regenerated --- .../ColorPicker/ColorPickerSample.tsx | 2 + .../material-ui/Tree/RichTree.tsx | 9 +- .../material-ui/Tree/TreeItem2.tsx | 21 +- .../utils/AttachableColorPicker.tsx | 1 + packages/jv-ui-components/package.json | 2 +- yarn.lock | 6861 ++++++++--------- 6 files changed, 3334 insertions(+), 3562 deletions(-) diff --git a/packages/jv-ui-components/material-ui/ColorPicker/ColorPickerSample.tsx b/packages/jv-ui-components/material-ui/ColorPicker/ColorPickerSample.tsx index 1f98a868..f99a1d96 100644 --- a/packages/jv-ui-components/material-ui/ColorPicker/ColorPickerSample.tsx +++ b/packages/jv-ui-components/material-ui/ColorPicker/ColorPickerSample.tsx @@ -87,6 +87,7 @@ export const ColorPickerSample: FC = ({ }; return ( + // @ts-ignore <>
= ({ className={`jv-mControl-launcher-swatch mui ${getSwatchLightClass(color)}`} />
+ {/* @ts-ignore */} {createPortal(colorPicker, colorPickerContainer)} ); diff --git a/packages/jv-ui-components/material-ui/Tree/RichTree.tsx b/packages/jv-ui-components/material-ui/Tree/RichTree.tsx index 31ef7c58..558006ab 100644 --- a/packages/jv-ui-components/material-ui/Tree/RichTree.tsx +++ b/packages/jv-ui-components/material-ui/Tree/RichTree.tsx @@ -5,13 +5,18 @@ */ import { forwardRef } from "react"; -import { RichTreeView } from "@mui/x-tree-view/RichTreeView"; +import { RichTreeView } from "@mui/x-tree-view"; export const RichTree = forwardRef( ({ className = "", ...rest }, ref) => { return ( <> - + ); }, diff --git a/packages/jv-ui-components/material-ui/Tree/TreeItem2.tsx b/packages/jv-ui-components/material-ui/Tree/TreeItem2.tsx index e425f1d2..eb6c173a 100644 --- a/packages/jv-ui-components/material-ui/Tree/TreeItem2.tsx +++ b/packages/jv-ui-components/material-ui/Tree/TreeItem2.tsx @@ -5,19 +5,17 @@ */ import { forwardRef } from "react"; -import { TreeItem2Icon as MuiTreeItem2Icon } from "@mui/x-tree-view/TreeItem2Icon"; -import { TreeItem2Provider as MuiTreeItem2Provider } from "@mui/x-tree-view/TreeItem2Provider"; -import { TreeViewBaseItem as MuiTreeViewBaseItem } from "@mui/x-tree-view/models"; import { TreeItem2Content as MuiTreeItem2Content, + TreeItem2Icon as MuiTreeItem2Icon, TreeItem2IconContainer as MuiTreeItem2IconContainer, TreeItem2Label as MuiTreeItem2Label, + TreeItem2Provider as MuiTreeItem2Provider, TreeItem2Root as MuiTreeItem2Root, -} from "@mui/x-tree-view/TreeItem2"; -import { + TreeViewBaseItem as MuiTreeViewBaseItem, unstable_useTreeItem2 as useMuiTreeItem2, UseTreeItem2Parameters as useMuiTreeItem2Parameters, -} from "@mui/x-tree-view/useTreeItem2"; +} from "@mui/x-tree-view"; export const useTreeItem2 = useMuiTreeItem2; @@ -32,7 +30,12 @@ export const TreeItem2Icon = forwardRef( ({ className = "", ...rest }, ref) => { return ( <> - + ); }, @@ -43,6 +46,7 @@ export const TreeItem2Content = forwardRef( return ( <> ( return ( <> ( return ( <> ( ({ className = "", ...rest }, ref) => { return ( <> + {/* @ts-ignore */} ); diff --git a/packages/jv-ui-components/material-ui/utils/AttachableColorPicker.tsx b/packages/jv-ui-components/material-ui/utils/AttachableColorPicker.tsx index 236c3449..01656e53 100644 --- a/packages/jv-ui-components/material-ui/utils/AttachableColorPicker.tsx +++ b/packages/jv-ui-components/material-ui/utils/AttachableColorPicker.tsx @@ -188,6 +188,7 @@ const withAbilityToAttach = ( }; }; +// @ts-ignore const AttachableColorPicker = withAbilityToAttach(SketchPicker, document); export { withAbilityToAttach, AttachableColorPicker }; diff --git a/packages/jv-ui-components/package.json b/packages/jv-ui-components/package.json index f851d76a..82f571a3 100644 --- a/packages/jv-ui-components/package.json +++ b/packages/jv-ui-components/package.json @@ -47,7 +47,7 @@ "@mui/styled-engine": "5.15.14", "@mui/system": "5.15.12", "@mui/utils": "5.15.7", - "@mui/x-date-pickers": "^7.6.2", + "@mui/x-date-pickers": "7.6.2", "@mui/x-tree-view": "7.6.2", "css-vendor": "2.0.8", "dayjs": "^1.11.11", diff --git a/yarn.lock b/yarn.lock index ae663c7b..4821cff5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,164 +2,109 @@ # yarn lockfile v1 -"@adobe/css-tools@^4.3.2", "@adobe/css-tools@^4.4.0": - version "4.4.0" - resolved "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz" - integrity sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ== +"@adobe/css-tools@^4.4.0": + version "4.4.1" + resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.4.1.tgz#2447a230bfe072c1659e6815129c03cf170710e3" + integrity sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ== "@ampproject/remapping@^2.2.0": version "2.3.0" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== dependencies: "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz" - integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.24.7", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0", "@babel/code-frame@^7.26.2": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" + integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== dependencies: - "@babel/highlight" "^7.24.7" + "@babel/helper-validator-identifier" "^7.25.9" + js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz" - integrity sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw== - -"@babel/compat-data@^7.25.2": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.4.tgz#7d2a80ce229890edcf4cc259d4d696cb4dae2fcb" - integrity sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ== - -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.23.9", "@babel/core@^7.24.6": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz" - integrity sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.24.7" - "@babel/helper-compilation-targets" "^7.24.7" - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helpers" "^7.24.7" - "@babel/parser" "^7.24.7" - "@babel/template" "^7.24.7" - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.9", "@babel/compat-data@^7.26.0": + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.3.tgz#99488264a56b2aded63983abd6a417f03b92ed02" + integrity sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g== -"@babel/core@^7.16.5", "@babel/core@^7.18.9", "@babel/core@^7.24.5": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.2.tgz#ed8eec275118d7613e77a352894cd12ded8eba77" - integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.16.5", "@babel/core@^7.18.9", "@babel/core@^7.23.9", "@babel/core@^7.24.6", "@babel/core@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.0.tgz#d78b6023cc8f3114ccf049eb219613f74a747b40" + integrity sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.0" - "@babel/helper-compilation-targets" "^7.25.2" - "@babel/helper-module-transforms" "^7.25.2" - "@babel/helpers" "^7.25.0" - "@babel/parser" "^7.25.0" - "@babel/template" "^7.25.0" - "@babel/traverse" "^7.25.2" - "@babel/types" "^7.25.2" + "@babel/code-frame" "^7.26.0" + "@babel/generator" "^7.26.0" + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-module-transforms" "^7.26.0" + "@babel/helpers" "^7.26.0" + "@babel/parser" "^7.26.0" + "@babel/template" "^7.25.9" + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.26.0" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.24.7", "@babel/generator@^7.7.2": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz" - integrity sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA== +"@babel/generator@^7.26.0", "@babel/generator@^7.26.3", "@babel/generator@^7.7.2": + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.3.tgz#ab8d4360544a425c90c248df7059881f4b2ce019" + integrity sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ== dependencies: - "@babel/types" "^7.24.7" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" - -"@babel/generator@^7.25.0", "@babel/generator@^7.25.6": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.6.tgz#0df1ad8cb32fe4d2b01d8bf437f153d19342a87c" - integrity sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw== - dependencies: - "@babel/types" "^7.25.6" + "@babel/parser" "^7.26.3" + "@babel/types" "^7.26.3" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" + jsesc "^3.0.2" -"@babel/helper-annotate-as-pure@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz" - integrity sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg== +"@babel/helper-annotate-as-pure@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz#d8eac4d2dc0d7b6e11fa6e535332e0d3184f06b4" + integrity sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g== dependencies: - "@babel/types" "^7.24.7" + "@babel/types" "^7.25.9" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz" - integrity sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA== +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz#55af025ce365be3cdc0c1c1e56c6af617ce88875" + integrity sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ== dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz" - integrity sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg== - dependencies: - "@babel/compat-data" "^7.24.7" - "@babel/helper-validator-option" "^7.24.7" - browserslist "^4.22.2" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-compilation-targets@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz#e1d9410a90974a3a5a66e84ff55ef62e3c02d06c" - integrity sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw== - dependencies: - "@babel/compat-data" "^7.25.2" - "@babel/helper-validator-option" "^7.24.8" - browserslist "^4.23.1" + "@babel/compat-data" "^7.25.9" + "@babel/helper-validator-option" "^7.25.9" + browserslist "^4.24.0" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz" - integrity sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-function-name" "^7.24.7" - "@babel/helper-member-expression-to-functions" "^7.24.7" - "@babel/helper-optimise-call-expression" "^7.24.7" - "@babel/helper-replace-supers" "^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - "@babel/helper-split-export-declaration" "^7.24.7" +"@babel/helper-create-class-features-plugin@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz#7644147706bb90ff613297d49ed5266bde729f83" + integrity sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-member-expression-to-functions" "^7.25.9" + "@babel/helper-optimise-call-expression" "^7.25.9" + "@babel/helper-replace-supers" "^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + "@babel/traverse" "^7.25.9" semver "^6.3.1" -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz" - integrity sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA== +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.25.9": + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz#5169756ecbe1d95f7866b90bb555b022595302a0" + integrity sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong== dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - regexpu-core "^5.3.1" + "@babel/helper-annotate-as-pure" "^7.25.9" + regexpu-core "^6.2.0" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.6.1", "@babel/helper-define-polyfill-provider@^0.6.2": - version "0.6.2" - resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz" - integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== +"@babel/helper-define-polyfill-provider@^0.6.2", "@babel/helper-define-polyfill-provider@^0.6.3": + version "0.6.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz#f4f2792fae2ef382074bc2d713522cf24e6ddb21" + integrity sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg== dependencies: "@babel/helper-compilation-targets" "^7.22.6" "@babel/helper-plugin-utils" "^7.22.5" @@ -167,915 +112,809 @@ lodash.debounce "^4.0.8" resolve "^1.14.2" -"@babel/helper-environment-visitor@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz" - integrity sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ== - dependencies: - "@babel/types" "^7.24.7" +"@babel/helper-member-expression-to-functions@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz#9dfffe46f727005a5ea29051ac835fb735e4c1a3" + integrity sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ== + dependencies: + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.24.7", "@babel/helper-module-imports@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715" + integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== + dependencies: + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/helper-module-transforms@^7.25.9", "@babel/helper-module-transforms@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae" + integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== + dependencies: + "@babel/helper-module-imports" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + "@babel/traverse" "^7.25.9" -"@babel/helper-function-name@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz" - integrity sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA== +"@babel/helper-optimise-call-expression@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz#3324ae50bae7e2ab3c33f60c9a877b6a0146b54e" + integrity sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ== dependencies: - "@babel/template" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-hoist-variables@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz" - integrity sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ== + "@babel/types" "^7.25.9" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.25.9", "@babel/helper-plugin-utils@^7.8.0": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz#9cbdd63a9443a2c92a725cca7ebca12cc8dd9f46" + integrity sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw== + +"@babel/helper-remap-async-to-generator@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz#e53956ab3d5b9fb88be04b3e2f31b523afd34b92" + integrity sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw== dependencies: - "@babel/types" "^7.24.7" + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-wrap-function" "^7.25.9" + "@babel/traverse" "^7.25.9" -"@babel/helper-member-expression-to-functions@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz" - integrity sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w== +"@babel/helper-replace-supers@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz#ba447224798c3da3f8713fc272b145e33da6a5c5" + integrity sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ== dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/helper-member-expression-to-functions" "^7.25.9" + "@babel/helper-optimise-call-expression" "^7.25.9" + "@babel/traverse" "^7.25.9" -"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz" - integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== +"@babel/helper-skip-transparent-expression-wrappers@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz#0b2e1b62d560d6b1954893fd2b705dc17c91f0c9" + integrity sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA== dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" -"@babel/helper-module-transforms@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz" - integrity sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ== - dependencies: - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-simple-access" "^7.24.7" - "@babel/helper-split-export-declaration" "^7.24.7" - "@babel/helper-validator-identifier" "^7.24.7" +"@babel/helper-string-parser@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" + integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== -"@babel/helper-module-transforms@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz#ee713c29768100f2776edf04d4eb23b8d27a66e6" - integrity sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ== - dependencies: - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-simple-access" "^7.24.7" - "@babel/helper-validator-identifier" "^7.24.7" - "@babel/traverse" "^7.25.2" - -"@babel/helper-optimise-call-expression@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz" - integrity sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A== - dependencies: - "@babel/types" "^7.24.7" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz" - integrity sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg== - -"@babel/helper-plugin-utils@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz#94ee67e8ec0e5d44ea7baeb51e571bd26af07878" - integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== - -"@babel/helper-remap-async-to-generator@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz" - integrity sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-wrap-function" "^7.24.7" - -"@babel/helper-replace-supers@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz" - integrity sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg== - dependencies: - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-member-expression-to-functions" "^7.24.7" - "@babel/helper-optimise-call-expression" "^7.24.7" - -"@babel/helper-simple-access@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz" - integrity sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-skip-transparent-expression-wrappers@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz" - integrity sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-split-export-declaration@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz" - integrity sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA== - dependencies: - "@babel/types" "^7.24.7" - -"@babel/helper-string-parser@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz" - integrity sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg== - -"@babel/helper-string-parser@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" - integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== - -"@babel/helper-validator-identifier@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz" - integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== - -"@babel/helper-validator-option@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz" - integrity sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw== - -"@babel/helper-validator-option@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d" - integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== - -"@babel/helper-wrap-function@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz" - integrity sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw== - dependencies: - "@babel/helper-function-name" "^7.24.7" - "@babel/template" "^7.24.7" - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helpers@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz" - integrity sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg== - dependencies: - "@babel/template" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helpers@^7.25.0": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.6.tgz#57ee60141829ba2e102f30711ffe3afab357cc60" - integrity sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q== - dependencies: - "@babel/template" "^7.25.0" - "@babel/types" "^7.25.6" +"@babel/helper-validator-identifier@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" + integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== -"@babel/highlight@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz" - integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== - dependencies: - "@babel/helper-validator-identifier" "^7.24.7" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" +"@babel/helper-validator-option@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72" + integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz" - integrity sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw== - -"@babel/parser@^7.25.0", "@babel/parser@^7.25.3", "@babel/parser@^7.25.6": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.6.tgz#85660c5ef388cbbf6e3d2a694ee97a38f18afe2f" - integrity sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q== +"@babel/helper-wrap-function@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz#d99dfd595312e6c894bd7d237470025c85eea9d0" + integrity sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g== dependencies: - "@babel/types" "^7.25.6" + "@babel/template" "^7.25.9" + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz" - integrity sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ== +"@babel/helpers@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.26.0.tgz#30e621f1eba5aa45fe6f4868d2e9154d884119a4" + integrity sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw== dependencies: - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/template" "^7.25.9" + "@babel/types" "^7.26.0" -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.7.tgz" - integrity sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.3", "@babel/parser@^7.25.6", "@babel/parser@^7.25.9", "@babel/parser@^7.26.0", "@babel/parser@^7.26.3": + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.3.tgz#8c51c5db6ddf08134af1ddbacf16aaab48bac234" + integrity sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz" - integrity sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ== + "@babel/types" "^7.26.3" + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz#cc2e53ebf0a0340777fff5ed521943e253b4d8fe" + integrity sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - "@babel/plugin-transform-optional-chaining" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/traverse" "^7.25.9" + +"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz#af9e4fb63ccb8abcb92375b2fcfe36b60c774d30" + integrity sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz#e8dc26fcd616e6c5bf2bd0d5a2c151d4f92a9137" + integrity sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz" - integrity sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz#807a667f9158acac6f6164b4beb85ad9ebc9e1d1" + integrity sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g== dependencies: - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + "@babel/plugin-transform-optional-chaining" "^7.25.9" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz#de7093f1e7deaf68eadd7cc6b07f2ab82543269e" + integrity sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/traverse" "^7.25.9" "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": version "7.21.0-placeholder-for-preset-env.2" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-bigint@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": +"@babel/plugin-syntax-class-properties@^7.12.13": version "7.12.13" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-class-static-block@^7.14.5": version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-import-assertions@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz" - integrity sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg== +"@babel/plugin-syntax-import-assertions@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz#620412405058efa56e4a564903b79355020f445f" + integrity sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-syntax-import-attributes@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz" - integrity sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A== +"@babel/plugin-syntax-import-attributes@^7.24.7", "@babel/plugin-syntax-import-attributes@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz#3b1412847699eea739b4f2602c74ce36f6b0b0f7" + integrity sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3": +"@babel/plugin-syntax-import-meta@^7.10.4": version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.24.7", "@babel/plugin-syntax-jsx@^7.7.2": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz" - integrity sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ== +"@babel/plugin-syntax-jsx@^7.24.7", "@babel/plugin-syntax-jsx@^7.25.9", "@babel/plugin-syntax-jsx@^7.7.2": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz#a34313a178ea56f1951599b929c1ceacee719290" + integrity sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": +"@babel/plugin-syntax-numeric-separator@^7.10.4": version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-chaining@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-private-property-in-object@^7.14.5": version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": +"@babel/plugin-syntax-top-level-await@^7.14.5": version "7.14.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.24.7", "@babel/plugin-syntax-typescript@^7.7.2": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz" - integrity sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA== +"@babel/plugin-syntax-typescript@^7.25.9", "@babel/plugin-syntax-typescript@^7.7.2": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz#67dda2b74da43727cf21d46cf9afef23f4365399" + integrity sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz" - integrity sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ== +"@babel/plugin-transform-arrow-functions@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz#7821d4410bee5daaadbb4cdd9a6649704e176845" + integrity sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-async-generator-functions@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz" - integrity sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g== +"@babel/plugin-transform-async-generator-functions@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz#1b18530b077d18a407c494eb3d1d72da505283a2" + integrity sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw== dependencies: - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-remap-async-to-generator" "^7.24.7" - "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-remap-async-to-generator" "^7.25.9" + "@babel/traverse" "^7.25.9" -"@babel/plugin-transform-async-to-generator@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz" - integrity sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA== +"@babel/plugin-transform-async-to-generator@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz#c80008dacae51482793e5a9c08b39a5be7e12d71" + integrity sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ== dependencies: - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-remap-async-to-generator" "^7.24.7" + "@babel/helper-module-imports" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-remap-async-to-generator" "^7.25.9" -"@babel/plugin-transform-block-scoped-functions@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz" - integrity sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ== +"@babel/plugin-transform-block-scoped-functions@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz#5700691dbd7abb93de300ca7be94203764fce458" + integrity sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-block-scoping@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz" - integrity sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ== +"@babel/plugin-transform-block-scoping@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz#c33665e46b06759c93687ca0f84395b80c0473a1" + integrity sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-class-properties@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz" - integrity sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w== +"@babel/plugin-transform-class-properties@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz#a8ce84fedb9ad512549984101fa84080a9f5f51f" + integrity sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q== dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-class-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-class-static-block@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz" - integrity sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ== +"@babel/plugin-transform-class-static-block@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz#6c8da219f4eb15cae9834ec4348ff8e9e09664a0" + integrity sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-classes@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.7.tgz" - integrity sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-compilation-targets" "^7.24.7" - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-function-name" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-replace-supers" "^7.24.7" - "@babel/helper-split-export-declaration" "^7.24.7" +"@babel/plugin-transform-classes@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz#7152457f7880b593a63ade8a861e6e26a4469f52" + integrity sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-replace-supers" "^7.25.9" + "@babel/traverse" "^7.25.9" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz" - integrity sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ== +"@babel/plugin-transform-computed-properties@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz#db36492c78460e534b8852b1d5befe3c923ef10b" + integrity sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/template" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/template" "^7.25.9" -"@babel/plugin-transform-destructuring@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz" - integrity sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw== +"@babel/plugin-transform-destructuring@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz#966ea2595c498224340883602d3cfd7a0c79cea1" + integrity sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-dotall-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz" - integrity sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw== +"@babel/plugin-transform-dotall-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz#bad7945dd07734ca52fe3ad4e872b40ed09bb09a" + integrity sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-duplicate-keys@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz" - integrity sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw== +"@babel/plugin-transform-duplicate-keys@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz#8850ddf57dce2aebb4394bb434a7598031059e6d" + integrity sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-dynamic-import@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz" - integrity sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg== +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz#6f7259b4de127721a08f1e5165b852fcaa696d31" + integrity sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-exponentiation-operator@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz" - integrity sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ== +"@babel/plugin-transform-dynamic-import@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz#23e917de63ed23c6600c5dd06d94669dce79f7b8" + integrity sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-export-namespace-from@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz" - integrity sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA== +"@babel/plugin-transform-exponentiation-operator@^7.25.9": + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz#e29f01b6de302c7c2c794277a48f04a9ca7f03bc" + integrity sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-for-of@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz" - integrity sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g== +"@babel/plugin-transform-export-namespace-from@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz#90745fe55053394f554e40584cda81f2c8a402a2" + integrity sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-function-name@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz" - integrity sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w== +"@babel/plugin-transform-for-of@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz#4bdc7d42a213397905d89f02350c5267866d5755" + integrity sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A== dependencies: - "@babel/helper-compilation-targets" "^7.24.7" - "@babel/helper-function-name" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" -"@babel/plugin-transform-json-strings@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz" - integrity sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw== +"@babel/plugin-transform-function-name@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz#939d956e68a606661005bfd550c4fc2ef95f7b97" + integrity sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/traverse" "^7.25.9" -"@babel/plugin-transform-literals@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz" - integrity sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ== +"@babel/plugin-transform-json-strings@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz#c86db407cb827cded902a90c707d2781aaa89660" + integrity sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-logical-assignment-operators@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz" - integrity sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw== +"@babel/plugin-transform-literals@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz#1a1c6b4d4aa59bc4cad5b6b3a223a0abd685c9de" + integrity sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-member-expression-literals@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz" - integrity sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw== +"@babel/plugin-transform-logical-assignment-operators@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz#b19441a8c39a2fda0902900b306ea05ae1055db7" + integrity sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-modules-amd@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz" - integrity sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg== +"@babel/plugin-transform-member-expression-literals@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz#63dff19763ea64a31f5e6c20957e6a25e41ed5de" + integrity sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA== dependencies: - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-modules-commonjs@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz" - integrity sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ== +"@babel/plugin-transform-modules-amd@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz#49ba478f2295101544abd794486cd3088dddb6c5" + integrity sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw== dependencies: - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-simple-access" "^7.24.7" + "@babel/helper-module-transforms" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-modules-systemjs@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz" - integrity sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw== +"@babel/plugin-transform-modules-commonjs@^7.25.9": + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz#8f011d44b20d02c3de44d8850d971d8497f981fb" + integrity sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ== dependencies: - "@babel/helper-hoist-variables" "^7.24.7" - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-validator-identifier" "^7.24.7" + "@babel/helper-module-transforms" "^7.26.0" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-modules-umd@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz" - integrity sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A== +"@babel/plugin-transform-modules-systemjs@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz#8bd1b43836269e3d33307151a114bcf3ba6793f8" + integrity sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA== dependencies: - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-module-transforms" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + "@babel/traverse" "^7.25.9" -"@babel/plugin-transform-named-capturing-groups-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz" - integrity sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g== +"@babel/plugin-transform-modules-umd@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz#6710079cdd7c694db36529a1e8411e49fcbf14c9" + integrity sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-module-transforms" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-new-target@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz" - integrity sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA== +"@babel/plugin-transform-named-capturing-groups-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz#454990ae6cc22fd2a0fa60b3a2c6f63a38064e6a" + integrity sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-nullish-coalescing-operator@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz" - integrity sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ== +"@babel/plugin-transform-new-target@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz#42e61711294b105c248336dcb04b77054ea8becd" + integrity sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-numeric-separator@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz" - integrity sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA== +"@babel/plugin-transform-nullish-coalescing-operator@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz#bcb1b0d9e948168102d5f7104375ca21c3266949" + integrity sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-object-rest-spread@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz" - integrity sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q== +"@babel/plugin-transform-numeric-separator@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz#bfed75866261a8b643468b0ccfd275f2033214a1" + integrity sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q== dependencies: - "@babel/helper-compilation-targets" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-object-super@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz" - integrity sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg== +"@babel/plugin-transform-object-rest-spread@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz#0203725025074164808bcf1a2cfa90c652c99f18" + integrity sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-replace-supers" "^7.24.7" + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/plugin-transform-parameters" "^7.25.9" -"@babel/plugin-transform-optional-catch-binding@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz" - integrity sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA== +"@babel/plugin-transform-object-super@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz#385d5de135162933beb4a3d227a2b7e52bb4cf03" + integrity sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-replace-supers" "^7.25.9" -"@babel/plugin-transform-optional-chaining@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.7.tgz" - integrity sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ== +"@babel/plugin-transform-optional-catch-binding@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz#10e70d96d52bb1f10c5caaac59ac545ea2ba7ff3" + integrity sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-parameters@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz" - integrity sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA== +"@babel/plugin-transform-optional-chaining@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz#e142eb899d26ef715435f201ab6e139541eee7dd" + integrity sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" -"@babel/plugin-transform-private-methods@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz" - integrity sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ== +"@babel/plugin-transform-parameters@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz#b856842205b3e77e18b7a7a1b94958069c7ba257" + integrity sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g== dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-private-property-in-object@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz" - integrity sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA== +"@babel/plugin-transform-private-methods@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz#847f4139263577526455d7d3223cd8bda51e3b57" + integrity sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw== dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-create-class-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-property-literals@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz" - integrity sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA== +"@babel/plugin-transform-private-property-in-object@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz#9c8b73e64e6cc3cbb2743633885a7dd2c385fe33" + integrity sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-create-class-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-react-display-name@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz" - integrity sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg== +"@babel/plugin-transform-property-literals@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz#d72d588bd88b0dec8b62e36f6fda91cedfe28e3f" + integrity sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-react-jsx-development@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz" - integrity sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ== +"@babel/plugin-transform-react-display-name@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz#4b79746b59efa1f38c8695065a92a9f5afb24f7d" + integrity sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ== dependencies: - "@babel/plugin-transform-react-jsx" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-react-jsx-self@^7.24.5": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.7.tgz#66bff0248ea0b549972e733516ffad577477bdab" - integrity sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw== +"@babel/plugin-transform-react-jsx-development@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz#8fd220a77dd139c07e25225a903b8be8c829e0d7" + integrity sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/plugin-transform-react-jsx" "^7.25.9" -"@babel/plugin-transform-react-jsx-source@^7.24.1": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.7.tgz#1198aab2548ad19582013815c938d3ebd8291ee3" - integrity sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ== +"@babel/plugin-transform-react-jsx-self@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz#c0b6cae9c1b73967f7f9eb2fca9536ba2fad2858" + integrity sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-react-jsx@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.24.7.tgz" - integrity sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA== +"@babel/plugin-transform-react-jsx-source@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz#4c6b8daa520b5f155b5fb55547d7c9fa91417503" + integrity sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg== dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-jsx" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-react-pure-annotations@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz" - integrity sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA== +"@babel/plugin-transform-react-jsx@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz#06367940d8325b36edff5e2b9cbe782947ca4166" + integrity sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw== dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-module-imports" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/plugin-syntax-jsx" "^7.25.9" + "@babel/types" "^7.25.9" -"@babel/plugin-transform-regenerator@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz" - integrity sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA== +"@babel/plugin-transform-react-pure-annotations@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz#ea1c11b2f9dbb8e2d97025f43a3b5bc47e18ae62" + integrity sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-regenerator@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz#03a8a4670d6cebae95305ac6defac81ece77740b" + integrity sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.9" regenerator-transform "^0.15.2" -"@babel/plugin-transform-reserved-words@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz" - integrity sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ== +"@babel/plugin-transform-regexp-modifiers@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz#2f5837a5b5cd3842a919d8147e9903cc7455b850" + integrity sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-shorthand-properties@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz" - integrity sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA== +"@babel/plugin-transform-reserved-words@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz#0398aed2f1f10ba3f78a93db219b27ef417fb9ce" + integrity sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-spread@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz" - integrity sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng== +"@babel/plugin-transform-shorthand-properties@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz#bb785e6091f99f826a95f9894fc16fde61c163f2" + integrity sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-sticky-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz" - integrity sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g== +"@babel/plugin-transform-spread@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz#24a35153931b4ba3d13cec4a7748c21ab5514ef9" + integrity sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" -"@babel/plugin-transform-template-literals@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz" - integrity sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw== +"@babel/plugin-transform-sticky-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz#c7f02b944e986a417817b20ba2c504dfc1453d32" + integrity sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-typeof-symbol@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.7.tgz" - integrity sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg== +"@babel/plugin-transform-template-literals@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz#6dbd4a24e8fad024df76d1fac6a03cf413f60fe1" + integrity sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-typescript@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.7.tgz" - integrity sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw== +"@babel/plugin-transform-typeof-symbol@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz#224ba48a92869ddbf81f9b4a5f1204bbf5a2bc4b" + integrity sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA== dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-create-class-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-typescript" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-unicode-escapes@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz" - integrity sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw== +"@babel/plugin-transform-typescript@^7.25.9": + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.3.tgz#3d6add9c78735623317387ee26d5ada540eee3fd" + integrity sha512-6+5hpdr6mETwSKjmJUdYw0EIkATiQhnELWlE3kJFBwSg/BGIVwVaVbX+gOXBCdc7Ln1RXZxyWGecIXhUfnl7oA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-annotate-as-pure" "^7.25.9" + "@babel/helper-create-class-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + "@babel/plugin-syntax-typescript" "^7.25.9" -"@babel/plugin-transform-unicode-property-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz" - integrity sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w== +"@babel/plugin-transform-unicode-escapes@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz#a75ef3947ce15363fccaa38e2dd9bc70b2788b82" + integrity sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-unicode-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz" - integrity sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg== +"@babel/plugin-transform-unicode-property-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz#a901e96f2c1d071b0d1bb5dc0d3c880ce8f53dd3" + integrity sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" -"@babel/plugin-transform-unicode-sets-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz" - integrity sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg== +"@babel/plugin-transform-unicode-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz#5eae747fe39eacf13a8bd006a4fb0b5d1fa5e9b1" + integrity sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + +"@babel/plugin-transform-unicode-sets-regex@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz#65114c17b4ffc20fa5b163c63c70c0d25621fabe" + integrity sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" "@babel/preset-env@^7.16.4", "@babel/preset-env@^7.24.6": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.7.tgz" - integrity sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ== - dependencies: - "@babel/compat-data" "^7.24.7" - "@babel/helper-compilation-targets" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-validator-option" "^7.24.7" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.7" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.7" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.7" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.7" + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.26.0.tgz#30e5c6bc1bcc54865bff0c5a30f6d4ccdc7fa8b1" + integrity sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw== + dependencies: + "@babel/compat-data" "^7.26.0" + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-validator-option" "^7.25.9" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.9" + "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.9" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.9" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.25.9" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.9" "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.24.7" - "@babel/plugin-syntax-import-attributes" "^7.24.7" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-import-assertions" "^7.26.0" + "@babel/plugin-syntax-import-attributes" "^7.26.0" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.24.7" - "@babel/plugin-transform-async-generator-functions" "^7.24.7" - "@babel/plugin-transform-async-to-generator" "^7.24.7" - "@babel/plugin-transform-block-scoped-functions" "^7.24.7" - "@babel/plugin-transform-block-scoping" "^7.24.7" - "@babel/plugin-transform-class-properties" "^7.24.7" - "@babel/plugin-transform-class-static-block" "^7.24.7" - "@babel/plugin-transform-classes" "^7.24.7" - "@babel/plugin-transform-computed-properties" "^7.24.7" - "@babel/plugin-transform-destructuring" "^7.24.7" - "@babel/plugin-transform-dotall-regex" "^7.24.7" - "@babel/plugin-transform-duplicate-keys" "^7.24.7" - "@babel/plugin-transform-dynamic-import" "^7.24.7" - "@babel/plugin-transform-exponentiation-operator" "^7.24.7" - "@babel/plugin-transform-export-namespace-from" "^7.24.7" - "@babel/plugin-transform-for-of" "^7.24.7" - "@babel/plugin-transform-function-name" "^7.24.7" - "@babel/plugin-transform-json-strings" "^7.24.7" - "@babel/plugin-transform-literals" "^7.24.7" - "@babel/plugin-transform-logical-assignment-operators" "^7.24.7" - "@babel/plugin-transform-member-expression-literals" "^7.24.7" - "@babel/plugin-transform-modules-amd" "^7.24.7" - "@babel/plugin-transform-modules-commonjs" "^7.24.7" - "@babel/plugin-transform-modules-systemjs" "^7.24.7" - "@babel/plugin-transform-modules-umd" "^7.24.7" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.24.7" - "@babel/plugin-transform-new-target" "^7.24.7" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.7" - "@babel/plugin-transform-numeric-separator" "^7.24.7" - "@babel/plugin-transform-object-rest-spread" "^7.24.7" - "@babel/plugin-transform-object-super" "^7.24.7" - "@babel/plugin-transform-optional-catch-binding" "^7.24.7" - "@babel/plugin-transform-optional-chaining" "^7.24.7" - "@babel/plugin-transform-parameters" "^7.24.7" - "@babel/plugin-transform-private-methods" "^7.24.7" - "@babel/plugin-transform-private-property-in-object" "^7.24.7" - "@babel/plugin-transform-property-literals" "^7.24.7" - "@babel/plugin-transform-regenerator" "^7.24.7" - "@babel/plugin-transform-reserved-words" "^7.24.7" - "@babel/plugin-transform-shorthand-properties" "^7.24.7" - "@babel/plugin-transform-spread" "^7.24.7" - "@babel/plugin-transform-sticky-regex" "^7.24.7" - "@babel/plugin-transform-template-literals" "^7.24.7" - "@babel/plugin-transform-typeof-symbol" "^7.24.7" - "@babel/plugin-transform-unicode-escapes" "^7.24.7" - "@babel/plugin-transform-unicode-property-regex" "^7.24.7" - "@babel/plugin-transform-unicode-regex" "^7.24.7" - "@babel/plugin-transform-unicode-sets-regex" "^7.24.7" + "@babel/plugin-transform-arrow-functions" "^7.25.9" + "@babel/plugin-transform-async-generator-functions" "^7.25.9" + "@babel/plugin-transform-async-to-generator" "^7.25.9" + "@babel/plugin-transform-block-scoped-functions" "^7.25.9" + "@babel/plugin-transform-block-scoping" "^7.25.9" + "@babel/plugin-transform-class-properties" "^7.25.9" + "@babel/plugin-transform-class-static-block" "^7.26.0" + "@babel/plugin-transform-classes" "^7.25.9" + "@babel/plugin-transform-computed-properties" "^7.25.9" + "@babel/plugin-transform-destructuring" "^7.25.9" + "@babel/plugin-transform-dotall-regex" "^7.25.9" + "@babel/plugin-transform-duplicate-keys" "^7.25.9" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.9" + "@babel/plugin-transform-dynamic-import" "^7.25.9" + "@babel/plugin-transform-exponentiation-operator" "^7.25.9" + "@babel/plugin-transform-export-namespace-from" "^7.25.9" + "@babel/plugin-transform-for-of" "^7.25.9" + "@babel/plugin-transform-function-name" "^7.25.9" + "@babel/plugin-transform-json-strings" "^7.25.9" + "@babel/plugin-transform-literals" "^7.25.9" + "@babel/plugin-transform-logical-assignment-operators" "^7.25.9" + "@babel/plugin-transform-member-expression-literals" "^7.25.9" + "@babel/plugin-transform-modules-amd" "^7.25.9" + "@babel/plugin-transform-modules-commonjs" "^7.25.9" + "@babel/plugin-transform-modules-systemjs" "^7.25.9" + "@babel/plugin-transform-modules-umd" "^7.25.9" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.25.9" + "@babel/plugin-transform-new-target" "^7.25.9" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.25.9" + "@babel/plugin-transform-numeric-separator" "^7.25.9" + "@babel/plugin-transform-object-rest-spread" "^7.25.9" + "@babel/plugin-transform-object-super" "^7.25.9" + "@babel/plugin-transform-optional-catch-binding" "^7.25.9" + "@babel/plugin-transform-optional-chaining" "^7.25.9" + "@babel/plugin-transform-parameters" "^7.25.9" + "@babel/plugin-transform-private-methods" "^7.25.9" + "@babel/plugin-transform-private-property-in-object" "^7.25.9" + "@babel/plugin-transform-property-literals" "^7.25.9" + "@babel/plugin-transform-regenerator" "^7.25.9" + "@babel/plugin-transform-regexp-modifiers" "^7.26.0" + "@babel/plugin-transform-reserved-words" "^7.25.9" + "@babel/plugin-transform-shorthand-properties" "^7.25.9" + "@babel/plugin-transform-spread" "^7.25.9" + "@babel/plugin-transform-sticky-regex" "^7.25.9" + "@babel/plugin-transform-template-literals" "^7.25.9" + "@babel/plugin-transform-typeof-symbol" "^7.25.9" + "@babel/plugin-transform-unicode-escapes" "^7.25.9" + "@babel/plugin-transform-unicode-property-regex" "^7.25.9" + "@babel/plugin-transform-unicode-regex" "^7.25.9" + "@babel/plugin-transform-unicode-sets-regex" "^7.25.9" "@babel/preset-modules" "0.1.6-no-external-plugins" babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.10.4" + babel-plugin-polyfill-corejs3 "^0.10.6" babel-plugin-polyfill-regenerator "^0.6.1" - core-js-compat "^3.31.0" + core-js-compat "^3.38.1" semver "^6.3.1" "@babel/preset-modules@0.1.6-no-external-plugins": version "0.1.6-no-external-plugins" - resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -1083,139 +922,92 @@ esutils "^2.0.2" "@babel/preset-react@^7.16.0", "@babel/preset-react@^7.24.6": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.7.tgz" - integrity sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag== + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.26.3.tgz#7c5e028d623b4683c1f83a0bd4713b9100560caa" + integrity sha512-Nl03d6T9ky516DGK2YMxrTqvnpUW63TnJMOMonj+Zae0JiPC5BC9xPMSL6L8fiSpA5vP88qfygavVQvnLp+6Cw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-validator-option" "^7.24.7" - "@babel/plugin-transform-react-display-name" "^7.24.7" - "@babel/plugin-transform-react-jsx" "^7.24.7" - "@babel/plugin-transform-react-jsx-development" "^7.24.7" - "@babel/plugin-transform-react-pure-annotations" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-validator-option" "^7.25.9" + "@babel/plugin-transform-react-display-name" "^7.25.9" + "@babel/plugin-transform-react-jsx" "^7.25.9" + "@babel/plugin-transform-react-jsx-development" "^7.25.9" + "@babel/plugin-transform-react-pure-annotations" "^7.25.9" "@babel/preset-typescript@^7.16.0", "@babel/preset-typescript@^7.24.6": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz" - integrity sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ== + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz#4a570f1b8d104a242d923957ffa1eaff142a106d" + integrity sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-validator-option" "^7.24.7" - "@babel/plugin-syntax-jsx" "^7.24.7" - "@babel/plugin-transform-modules-commonjs" "^7.24.7" - "@babel/plugin-transform-typescript" "^7.24.7" - -"@babel/regjsgen@^0.8.0": - version "0.8.0" - resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" - integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-validator-option" "^7.25.9" + "@babel/plugin-syntax-jsx" "^7.25.9" + "@babel/plugin-transform-modules-commonjs" "^7.25.9" + "@babel/plugin-transform-typescript" "^7.25.9" "@babel/runtime-corejs3@^7.16.5": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.25.6.tgz#5e3facf42775cc95bcde95746e940061931286e4" - integrity sha512-Gz0Nrobx8szge6kQQ5Z5MX9L3ObqNwCQY1PSwSNzreFL7aHGxv8Fp2j3ETV6/wWdbiV+mW6OSm8oQhg3Tcsniw== + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.26.0.tgz#5af6bed16073eb4a0191233d61e158a5c768c430" + integrity sha512-YXHu5lN8kJCb1LOb9PgV6pvak43X2h4HvRApcN5SdWeaItQOzfn1hgP6jasD6KWQyJDBxrVmA9o9OivlnNJK/w== dependencies: core-js-pure "^3.30.2" regenerator-runtime "^0.14.0" -"@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.18.3", "@babel/runtime@^7.23.9", "@babel/runtime@^7.24.6", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz" - integrity sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/runtime@^7.17.8", "@babel/runtime@^7.23.2": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.25.6.tgz#9afc3289f7184d8d7f98b099884c26317b9264d2" - integrity sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ== +"@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.9", "@babel/runtime@^7.24.6", "@babel/runtime@^7.26.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.0.tgz#8600c2f595f277c60815256418b85356a65173c1" + integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.24.7", "@babel/template@^7.3.3": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz" - integrity sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/parser" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/template@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a" - integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/parser" "^7.25.0" - "@babel/types" "^7.25.0" - -"@babel/traverse@^7.18.9", "@babel/traverse@^7.25.2", "@babel/traverse@^7.25.6": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.6.tgz#04fad980e444f182ecf1520504941940a90fea41" - integrity sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.6" - "@babel/parser" "^7.25.6" - "@babel/template" "^7.25.0" - "@babel/types" "^7.25.6" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/traverse@^7.24.7", "@babel/traverse@^7.7.2": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz" - integrity sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.24.7" - "@babel/helper-environment-visitor" "^7.24.7" - "@babel/helper-function-name" "^7.24.7" - "@babel/helper-hoist-variables" "^7.24.7" - "@babel/helper-split-export-declaration" "^7.24.7" - "@babel/parser" "^7.24.7" - "@babel/types" "^7.24.7" +"@babel/template@^7.25.0", "@babel/template@^7.25.9", "@babel/template@^7.3.3": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016" + integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg== + dependencies: + "@babel/code-frame" "^7.25.9" + "@babel/parser" "^7.25.9" + "@babel/types" "^7.25.9" + +"@babel/traverse@^7.18.9", "@babel/traverse@^7.25.6", "@babel/traverse@^7.25.9", "@babel/traverse@^7.7.2": + version "7.26.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.4.tgz#ac3a2a84b908dde6d463c3bfa2c5fdc1653574bd" + integrity sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w== + dependencies: + "@babel/code-frame" "^7.26.2" + "@babel/generator" "^7.26.3" + "@babel/parser" "^7.26.3" + "@babel/template" "^7.25.9" + "@babel/types" "^7.26.3" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.24.7", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz" - integrity sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q== - dependencies: - "@babel/helper-string-parser" "^7.24.7" - "@babel/helper-validator-identifier" "^7.24.7" - to-fast-properties "^2.0.0" - -"@babel/types@^7.18.9", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.6": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.6.tgz#893942ddb858f32ae7a004ec9d3a76b3463ef8e6" - integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw== +"@babel/types@^7.0.0", "@babel/types@^7.18.9", "@babel/types@^7.20.7", "@babel/types@^7.25.6", "@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.26.3", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.3.tgz#37e79830f04c2b5687acc77db97fbc75fb81f3c0" + integrity sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA== dependencies: - "@babel/helper-string-parser" "^7.24.8" - "@babel/helper-validator-identifier" "^7.24.7" - to-fast-properties "^2.0.0" + "@babel/helper-string-parser" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" "@bcoe/v8-coverage@^0.2.3": version "0.2.3" - resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== "@blakeembrey/deque@^1.0.5": version "1.0.5" - resolved "https://registry.npmjs.org/@blakeembrey/deque/-/deque-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/@blakeembrey/deque/-/deque-1.0.5.tgz#f4fa17fc5ee18317ec01a763d355782c7b395eaf" integrity sha512-6xnwtvp9DY1EINIKdTfvfeAtCYw4OqBZJhtiqkT3ivjnEfa25VQ3TsKvaFfKm8MyGIEfE95qLe+bNEt3nB0Ylg== "@blakeembrey/template@^1.0.0": - version "1.1.0" - resolved "https://registry.npmjs.org/@blakeembrey/template/-/template-1.1.0.tgz" - integrity sha512-iZf+UWfL+DogJVpd/xMQyP6X6McYd6ArdYoPMiv/zlOTzeXXfQbYxBNJJBF6tThvsjLMbA8tLjkCdm9RWMFCCw== + version "1.2.0" + resolved "https://registry.yarnpkg.com/@blakeembrey/template/-/template-1.2.0.tgz#acd948eb29334e882019e8876b42ff6da1dcf528" + integrity sha512-w/63nURdkRPpg3AXbNr7lPv6HgOuVDyefTumiXsbXxtIwcuk5EXayWR5OpSwDjsQPgaYsfUSedMduaNOjAYY8A== "@chromatic-com/storybook@^3.2.2": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@chromatic-com/storybook/-/storybook-3.2.2.tgz#08754443de55618f802f88450c35266fd6d25db5" - integrity sha512-xmXt/GW0hAPbzNTrxYuVo43Adrtjue4DeVrsoIIEeJdGaPNNeNf+DHMlJKOBdlHmCnFUoe9R/0mLM9zUp5bKWw== + version "3.2.3" + resolved "https://registry.yarnpkg.com/@chromatic-com/storybook/-/storybook-3.2.3.tgz#0f4d167ac80fcb38293a92c230c43446049b6758" + integrity sha512-3+hfANx79kIjP1qrOSLxpoAXOiYUA0S7A0WI0A24kASrv7USFNNW8etR5TjUilMb0LmqKUn3wDwUK2h6aceQ9g== dependencies: chromatic "^11.15.0" filesize "^10.0.12" @@ -1225,21 +1017,21 @@ "@cspotcode/source-map-support@^0.8.0": version "0.8.1" - resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" + resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== dependencies: "@jridgewell/trace-mapping" "0.3.9" "@emotion/babel-plugin@^11.11.0": - version "11.11.0" - resolved "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz" - integrity sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ== + version "11.13.5" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz#eab8d65dbded74e0ecfd28dc218e75607c4e7bc0" + integrity sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ== dependencies: "@babel/helper-module-imports" "^7.16.7" "@babel/runtime" "^7.18.3" - "@emotion/hash" "^0.9.1" - "@emotion/memoize" "^0.8.1" - "@emotion/serialize" "^1.1.2" + "@emotion/hash" "^0.9.2" + "@emotion/memoize" "^0.9.0" + "@emotion/serialize" "^1.3.3" babel-plugin-macros "^3.1.0" convert-source-map "^1.5.0" escape-string-regexp "^4.0.0" @@ -1247,37 +1039,49 @@ source-map "^0.5.7" stylis "4.2.0" -"@emotion/cache@^11.11.0", "@emotion/cache@^11.4.0": - version "11.11.0" - resolved "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz" - integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== +"@emotion/cache@^11.11.0", "@emotion/cache@^11.13.5", "@emotion/cache@^11.4.0": + version "11.14.0" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.14.0.tgz#ee44b26986eeb93c8be82bb92f1f7a9b21b2ed76" + integrity sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA== dependencies: - "@emotion/memoize" "^0.8.1" - "@emotion/sheet" "^1.2.2" - "@emotion/utils" "^1.2.1" - "@emotion/weak-memoize" "^0.3.1" + "@emotion/memoize" "^0.9.0" + "@emotion/sheet" "^1.4.0" + "@emotion/utils" "^1.4.2" + "@emotion/weak-memoize" "^0.4.0" stylis "4.2.0" -"@emotion/hash@^0.9.1": - version "0.9.1" - resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz" - integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== +"@emotion/hash@^0.9.2": + version "0.9.2" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.2.tgz#ff9221b9f58b4dfe61e619a7788734bd63f6898b" + integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g== -"@emotion/is-prop-valid@1.2.2", "@emotion/is-prop-valid@^1.2.2": +"@emotion/is-prop-valid@1.2.2": version "1.2.2" - resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz#d4175076679c6a26faa92b03bb786f9e52612337" integrity sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw== dependencies: "@emotion/memoize" "^0.8.1" +"@emotion/is-prop-valid@^1.2.2": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz#8d5cf1132f836d7adbe42cf0b49df7816fc88240" + integrity sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw== + dependencies: + "@emotion/memoize" "^0.9.0" + "@emotion/memoize@^0.8.1": version "0.8.1" - resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== +"@emotion/memoize@^0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.9.0.tgz#745969d649977776b43fc7648c556aaa462b4102" + integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ== + "@emotion/react@11.4.1": version "11.4.1" - resolved "https://registry.npmjs.org/@emotion/react/-/react-11.4.1.tgz" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.4.1.tgz#a1b0b767b5bad57515ffb0cad9349614d27f4d57" integrity sha512-pRegcsuGYj4FCdZN6j5vqCALkNytdrKw3TZMekTzNXixRg4wkLsU5QEaBG5LC6l01Vppxlp7FE3aTHpIG5phLg== dependencies: "@babel/runtime" "^7.13.10" @@ -1288,25 +1092,30 @@ "@emotion/weak-memoize" "^0.2.5" hoist-non-react-statics "^3.3.1" -"@emotion/serialize@^1.0.2", "@emotion/serialize@^1.1.2", "@emotion/serialize@^1.1.4": - version "1.1.4" - resolved "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.4.tgz" - integrity sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ== +"@emotion/serialize@^1.0.2", "@emotion/serialize@^1.1.4", "@emotion/serialize@^1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.3.3.tgz#d291531005f17d704d0463a032fe679f376509e8" + integrity sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA== dependencies: - "@emotion/hash" "^0.9.1" - "@emotion/memoize" "^0.8.1" - "@emotion/unitless" "^0.8.1" - "@emotion/utils" "^1.2.1" + "@emotion/hash" "^0.9.2" + "@emotion/memoize" "^0.9.0" + "@emotion/unitless" "^0.10.0" + "@emotion/utils" "^1.4.2" csstype "^3.0.2" -"@emotion/sheet@1.2.2", "@emotion/sheet@^1.0.2", "@emotion/sheet@^1.2.2": +"@emotion/sheet@1.2.2": version "1.2.2" - resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== +"@emotion/sheet@^1.0.2", "@emotion/sheet@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.4.0.tgz#c9299c34d248bc26e82563735f78953d2efca83c" + integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg== + "@emotion/styled@11.11.5": version "11.11.5" - resolved "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.5.tgz" + resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.11.5.tgz#0c5c8febef9d86e8a926e663b2e5488705545dfb" integrity sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ== dependencies: "@babel/runtime" "^7.18.3" @@ -1316,305 +1125,308 @@ "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" "@emotion/utils" "^1.2.1" -"@emotion/unitless@^0.8.1": - version "0.8.1" - resolved "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz" - integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== +"@emotion/unitless@^0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.10.0.tgz#2af2f7c7e5150f497bdabd848ce7b218a27cf745" + integrity sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg== "@emotion/use-insertion-effect-with-fallbacks@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz" - integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== + version "1.2.0" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz#8a8cb77b590e09affb960f4ff1e9a89e532738bf" + integrity sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg== -"@emotion/utils@1.2.1", "@emotion/utils@^1.0.0", "@emotion/utils@^1.2.1": +"@emotion/utils@1.2.1": version "1.2.1" - resolved "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== +"@emotion/utils@^1.0.0", "@emotion/utils@^1.2.1", "@emotion/utils@^1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.4.2.tgz#6df6c45881fcb1c412d6688a311a98b7f59c1b52" + integrity sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA== + "@emotion/weak-memoize@^0.2.5": version "0.2.5" - resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA== -"@emotion/weak-memoize@^0.3.1": - version "0.3.1" - resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz" - integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== +"@emotion/weak-memoize@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz#5e13fac887f08c44f76b0ccaf3370eb00fec9bb6" + integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg== "@esbuild/aix-ppc64@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ== -"@esbuild/aix-ppc64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz#b57697945b50e99007b4c2521507dc613d4a648c" - integrity sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw== +"@esbuild/aix-ppc64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz#38848d3e25afe842a7943643cbcd387cc6e13461" + integrity sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA== "@esbuild/android-arm64@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz#09d9b4357780da9ea3a7dfb833a1f1ff439b4052" integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A== -"@esbuild/android-arm64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz#1add7e0af67acefd556e407f8497e81fddad79c0" - integrity sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w== +"@esbuild/android-arm64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz#f592957ae8b5643129fa889c79e69cd8669bb894" + integrity sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg== "@esbuild/android-arm@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz#9b04384fb771926dfa6d7ad04324ecb2ab9b2e28" integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg== -"@esbuild/android-arm@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.24.0.tgz#ab7263045fa8e090833a8e3c393b60d59a789810" - integrity sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew== +"@esbuild/android-arm@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.24.2.tgz#72d8a2063aa630308af486a7e5cbcd1e134335b3" + integrity sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q== "@esbuild/android-x64@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz#29918ec2db754cedcb6c1b04de8cd6547af6461e" integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA== -"@esbuild/android-x64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.24.0.tgz#e8f8b196cfdfdd5aeaebbdb0110983460440e705" - integrity sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ== +"@esbuild/android-x64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.24.2.tgz#9a7713504d5f04792f33be9c197a882b2d88febb" + integrity sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw== "@esbuild/darwin-arm64@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz#e495b539660e51690f3928af50a76fb0a6ccff2a" integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ== -"@esbuild/darwin-arm64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz#2d0d9414f2acbffd2d86e98253914fca603a53dd" - integrity sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw== +"@esbuild/darwin-arm64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz#02ae04ad8ebffd6e2ea096181b3366816b2b5936" + integrity sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA== "@esbuild/darwin-x64@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz#c13838fa57372839abdddc91d71542ceea2e1e22" integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw== -"@esbuild/darwin-x64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz#33087aab31a1eb64c89daf3d2cf8ce1775656107" - integrity sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA== +"@esbuild/darwin-x64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz#9ec312bc29c60e1b6cecadc82bd504d8adaa19e9" + integrity sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA== "@esbuild/freebsd-arm64@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz#646b989aa20bf89fd071dd5dbfad69a3542e550e" integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g== -"@esbuild/freebsd-arm64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz#bb76e5ea9e97fa3c753472f19421075d3a33e8a7" - integrity sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA== +"@esbuild/freebsd-arm64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz#5e82f44cb4906d6aebf24497d6a068cfc152fa00" + integrity sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg== "@esbuild/freebsd-x64@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz#aa615cfc80af954d3458906e38ca22c18cf5c261" integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ== -"@esbuild/freebsd-x64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz#e0e2ce9249fdf6ee29e5dc3d420c7007fa579b93" - integrity sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ== +"@esbuild/freebsd-x64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz#3fb1ce92f276168b75074b4e51aa0d8141ecce7f" + integrity sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q== "@esbuild/linux-arm64@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz#70ac6fa14f5cb7e1f7f887bcffb680ad09922b5b" integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q== -"@esbuild/linux-arm64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz#d1b2aa58085f73ecf45533c07c82d81235388e75" - integrity sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g== +"@esbuild/linux-arm64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz#856b632d79eb80aec0864381efd29de8fd0b1f43" + integrity sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg== "@esbuild/linux-arm@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz#fc6fd11a8aca56c1f6f3894f2bea0479f8f626b9" integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA== -"@esbuild/linux-arm@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz#8e4915df8ea3e12b690a057e77a47b1d5935ef6d" - integrity sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw== +"@esbuild/linux-arm@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz#c846b4694dc5a75d1444f52257ccc5659021b736" + integrity sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA== "@esbuild/linux-ia32@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz#3271f53b3f93e3d093d518d1649d6d68d346ede2" integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg== -"@esbuild/linux-ia32@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz#8200b1110666c39ab316572324b7af63d82013fb" - integrity sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA== +"@esbuild/linux-ia32@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz#f8a16615a78826ccbb6566fab9a9606cfd4a37d5" + integrity sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw== "@esbuild/linux-loong64@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz#ed62e04238c57026aea831c5a130b73c0f9f26df" integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg== -"@esbuild/linux-loong64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz#6ff0c99cf647504df321d0640f0d32e557da745c" - integrity sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g== +"@esbuild/linux-loong64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz#1c451538c765bf14913512c76ed8a351e18b09fc" + integrity sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ== "@esbuild/linux-mips64el@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz#e79b8eb48bf3b106fadec1ac8240fb97b4e64cbe" integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg== -"@esbuild/linux-mips64el@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz#3f720ccd4d59bfeb4c2ce276a46b77ad380fa1f3" - integrity sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA== +"@esbuild/linux-mips64el@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz#0846edeefbc3d8d50645c51869cc64401d9239cb" + integrity sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw== "@esbuild/linux-ppc64@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz#5f2203860a143b9919d383ef7573521fb154c3e4" integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w== -"@esbuild/linux-ppc64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz#9d6b188b15c25afd2e213474bf5f31e42e3aa09e" - integrity sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ== +"@esbuild/linux-ppc64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz#8e3fc54505671d193337a36dfd4c1a23b8a41412" + integrity sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw== "@esbuild/linux-riscv64@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz#07bcafd99322d5af62f618cb9e6a9b7f4bb825dc" integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA== -"@esbuild/linux-riscv64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz#f989fdc9752dfda286c9cd87c46248e4dfecbc25" - integrity sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw== +"@esbuild/linux-riscv64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz#6a1e92096d5e68f7bb10a0d64bb5b6d1daf9a694" + integrity sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q== "@esbuild/linux-s390x@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz#b7ccf686751d6a3e44b8627ababc8be3ef62d8de" integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A== -"@esbuild/linux-s390x@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz#29ebf87e4132ea659c1489fce63cd8509d1c7319" - integrity sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g== +"@esbuild/linux-s390x@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz#ab18e56e66f7a3c49cb97d337cd0a6fea28a8577" + integrity sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw== "@esbuild/linux-x64@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz#6d8f0c768e070e64309af8004bb94e68ab2bb3b0" integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ== -"@esbuild/linux-x64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz#4af48c5c0479569b1f359ffbce22d15f261c0cef" - integrity sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA== +"@esbuild/linux-x64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz#8140c9b40da634d380b0b29c837a0b4267aff38f" + integrity sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q== + +"@esbuild/netbsd-arm64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz#65f19161432bafb3981f5f20a7ff45abb2e708e6" + integrity sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw== "@esbuild/netbsd-x64@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz#bbe430f60d378ecb88decb219c602667387a6047" integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg== -"@esbuild/netbsd-x64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz#1ae73d23cc044a0ebd4f198334416fb26c31366c" - integrity sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg== +"@esbuild/netbsd-x64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz#7a3a97d77abfd11765a72f1c6f9b18f5396bcc40" + integrity sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw== -"@esbuild/openbsd-arm64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz#5d904a4f5158c89859fd902c427f96d6a9e632e2" - integrity sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg== +"@esbuild/openbsd-arm64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz#58b00238dd8f123bfff68d3acc53a6ee369af89f" + integrity sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A== "@esbuild/openbsd-x64@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz#99d1cf2937279560d2104821f5ccce220cb2af70" integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow== -"@esbuild/openbsd-x64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz#4c8aa88c49187c601bae2971e71c6dc5e0ad1cdf" - integrity sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q== +"@esbuild/openbsd-x64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz#0ac843fda0feb85a93e288842936c21a00a8a205" + integrity sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA== "@esbuild/sunos-x64@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz#08741512c10d529566baba837b4fe052c8f3487b" integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg== -"@esbuild/sunos-x64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz#8ddc35a0ea38575fa44eda30a5ee01ae2fa54dd4" - integrity sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA== +"@esbuild/sunos-x64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz#8b7aa895e07828d36c422a4404cc2ecf27fb15c6" + integrity sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig== "@esbuild/win32-arm64@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz#675b7385398411240735016144ab2e99a60fc75d" integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A== -"@esbuild/win32-arm64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz#6e79c8543f282c4539db684a207ae0e174a9007b" - integrity sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA== +"@esbuild/win32-arm64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz#c023afb647cabf0c3ed13f0eddfc4f1d61c66a85" + integrity sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ== "@esbuild/win32-ia32@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz#1bfc3ce98aa6ca9a0969e4d2af72144c59c1193b" integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA== -"@esbuild/win32-ia32@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz#057af345da256b7192d18b676a02e95d0fa39103" - integrity sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw== +"@esbuild/win32-ia32@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz#96c356132d2dda990098c8b8b951209c3cd743c2" + integrity sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA== "@esbuild/win32-x64@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c" integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw== -"@esbuild/win32-x64@0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz#168ab1c7e1c318b922637fad8f339d48b01e1244" - integrity sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA== +"@esbuild/win32-x64@0.24.2": + version "0.24.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz#34aa0b52d0fbb1a654b596acfa595f0c7b77a77b" + integrity sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg== "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.0" - resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + version "4.4.1" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz#d1145bf2c20132d6400495d6df4bf59362fd9d56" + integrity sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA== dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1": - version "4.10.1" - resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz" - integrity sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA== + eslint-visitor-keys "^3.4.3" -"@eslint-community/regexpp@^4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae" - integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== +"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.12.1": + version "4.12.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" + integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ== -"@eslint/config-array@^0.15.1": - version "0.15.1" - resolved "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.15.1.tgz" - integrity sha512-K4gzNq+yymn/EVsXYmf+SBcBro8MTf+aXJZUphM96CdzUEr+ClGDvAbpmaEK+cGVigVXIgs9gNmvHAlrzzY5JQ== +"@eslint/config-array@^0.19.0": + version "0.19.1" + resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.19.1.tgz#734aaea2c40be22bbb1f2a9dac687c57a6a4c984" + integrity sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA== dependencies: - "@eslint/object-schema" "^2.1.3" + "@eslint/object-schema" "^2.1.5" debug "^4.3.1" - minimatch "^3.0.5" + minimatch "^3.1.2" -"@eslint/config-array@^0.18.0": - version "0.18.0" - resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.18.0.tgz#37d8fe656e0d5e3dbaea7758ea56540867fd074d" - integrity sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw== +"@eslint/core@^0.9.0": + version "0.9.1" + resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.9.1.tgz#31763847308ef6b7084a4505573ac9402c51f9d1" + integrity sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q== dependencies: - "@eslint/object-schema" "^2.1.4" - debug "^4.3.1" - minimatch "^3.1.2" + "@types/json-schema" "^7.0.15" -"@eslint/eslintrc@^3.1.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz" - integrity sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ== +"@eslint/eslintrc@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.2.0.tgz#57470ac4e2e283a6bf76044d63281196e370542c" + integrity sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -1626,71 +1438,86 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.4.0": - version "9.4.0" - resolved "https://registry.npmjs.org/@eslint/js/-/js-9.4.0.tgz" - integrity sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg== - -"@eslint/js@9.9.1", "@eslint/js@^9.9.0": - version "9.9.1" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.9.1.tgz#4a97e85e982099d6c7ee8410aacb55adaa576f06" - integrity sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ== +"@eslint/js@9.17.0", "@eslint/js@^9.9.0": + version "9.17.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.17.0.tgz#1523e586791f80376a6f8398a3964455ecc651ec" + integrity sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w== -"@eslint/object-schema@^2.1.3": - version "2.1.3" - resolved "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.3.tgz" - integrity sha512-HAbhAYKfsAC2EkTqve00ibWIZlaU74Z1EHwAjYr4PXF0YU2VEA1zSIKSSpKszRLRWwHzzRZXvK632u+uXzvsvw== +"@eslint/object-schema@^2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.5.tgz#8670a8f6258a2be5b2c620ff314a1d984c23eb2e" + integrity sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ== -"@eslint/object-schema@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.4.tgz#9e69f8bb4031e11df79e03db09f9dbbae1740843" - integrity sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ== +"@eslint/plugin-kit@^0.2.3": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.2.4.tgz#2b78e7bb3755784bb13faa8932a1d994d6537792" + integrity sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg== + dependencies: + levn "^0.4.1" -"@floating-ui/core@^1.0.0": - version "1.6.2" - resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.2.tgz" - integrity sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg== +"@floating-ui/core@^1.6.0": + version "1.6.8" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.8.tgz#aa43561be075815879305965020f492cdb43da12" + integrity sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA== dependencies: - "@floating-ui/utils" "^0.2.0" + "@floating-ui/utils" "^0.2.8" "@floating-ui/dom@^1.0.0": - version "1.6.5" - resolved "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.5.tgz" - integrity sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw== + version "1.6.12" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.12.tgz#6333dcb5a8ead3b2bf82f33d6bc410e95f54e556" + integrity sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w== dependencies: - "@floating-ui/core" "^1.0.0" - "@floating-ui/utils" "^0.2.0" + "@floating-ui/core" "^1.6.0" + "@floating-ui/utils" "^0.2.8" -"@floating-ui/react-dom@^2.0.8": - version "2.1.0" - resolved "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.0.tgz" - integrity sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA== +"@floating-ui/react-dom@^2.0.8", "@floating-ui/react-dom@^2.1.1": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.1.2.tgz#a1349bbf6a0e5cb5ded55d023766f20a4d439a31" + integrity sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A== dependencies: "@floating-ui/dom" "^1.0.0" -"@floating-ui/utils@^0.2.0": - version "0.2.2" - resolved "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.2.tgz" - integrity sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw== +"@floating-ui/utils@^0.2.8": + version "0.2.8" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.8.tgz#21a907684723bbbaa5f0974cf7730bd797eb8e62" + integrity sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig== + +"@humanfs/core@^0.19.1": + version "0.19.1" + resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77" + integrity sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA== + +"@humanfs/node@^0.16.6": + version "0.16.6" + resolved "https://registry.yarnpkg.com/@humanfs/node/-/node-0.16.6.tgz#ee2a10eaabd1131987bf0488fd9b820174cd765e" + integrity sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw== + dependencies: + "@humanfs/core" "^0.19.1" + "@humanwhocodes/retry" "^0.3.0" "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" - resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== "@humanwhocodes/retry@^0.3.0": - version "0.3.0" - resolved "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz" - integrity sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew== + version "0.3.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.3.1.tgz#c72a5c76a9fbaf3488e231b13dc52c0da7bab42a" + integrity sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA== + +"@humanwhocodes/retry@^0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.1.tgz#9a96ce501bc62df46c4031fbd970e3cc6b10f07b" + integrity sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA== "@icons/material@0.2.4", "@icons/material@^0.2.4": version "0.2.4" - resolved "https://registry.npmjs.org/@icons/material/-/material-0.2.4.tgz" + resolved "https://registry.yarnpkg.com/@icons/material/-/material-0.2.4.tgz#e90c9f71768b3736e76d7dd6783fc6c2afa88bc8" integrity sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw== "@isaacs/cliui@^8.0.2": version "8.0.2" - resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== dependencies: string-width "^5.1.2" @@ -1702,7 +1529,7 @@ "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" - resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== dependencies: camelcase "^5.3.1" @@ -1713,12 +1540,12 @@ "@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": version "0.1.3" - resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== "@jest/console@^28.1.3": version "28.1.3" - resolved "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.3.tgz#2030606ec03a18c31803b8a36382762e447655df" integrity sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw== dependencies: "@jest/types" "^28.1.3" @@ -1730,7 +1557,7 @@ "@jest/console@^29.7.0": version "29.7.0" - resolved "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== dependencies: "@jest/types" "^29.6.3" @@ -1777,7 +1604,7 @@ "@jest/core@^29.7.0": version "29.7.0" - resolved "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== dependencies: "@jest/console" "^29.7.0" @@ -1821,7 +1648,7 @@ "@jest/environment@^29.7.0": version "29.7.0" - resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== dependencies: "@jest/fake-timers" "^29.7.0" @@ -1838,7 +1665,7 @@ "@jest/expect-utils@^29.7.0": version "29.7.0" - resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== dependencies: jest-get-type "^29.6.3" @@ -1853,7 +1680,7 @@ "@jest/expect@^29.7.0": version "29.7.0" - resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== dependencies: expect "^29.7.0" @@ -1873,7 +1700,7 @@ "@jest/fake-timers@^29.7.0": version "29.7.0" - resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== dependencies: "@jest/types" "^29.6.3" @@ -1894,7 +1721,7 @@ "@jest/globals@^29.7.0": version "29.7.0" - resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== dependencies: "@jest/environment" "^29.7.0" @@ -1935,7 +1762,7 @@ "@jest/reporters@^29.7.0": version "29.7.0" - resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== dependencies: "@bcoe/v8-coverage" "^0.2.3" @@ -1965,14 +1792,14 @@ "@jest/schemas@^28.1.3": version "28.1.3" - resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.1.3.tgz#ad8b86a66f11f33619e3d7e1dcddd7f2d40ff905" integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg== dependencies: "@sinclair/typebox" "^0.24.1" "@jest/schemas@^29.6.3": version "29.6.3" - resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== dependencies: "@sinclair/typebox" "^0.27.8" @@ -1988,7 +1815,7 @@ "@jest/source-map@^29.6.3": version "29.6.3" - resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== dependencies: "@jridgewell/trace-mapping" "^0.3.18" @@ -1997,7 +1824,7 @@ "@jest/test-result@^28.1.3": version "28.1.3" - resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-28.1.3.tgz#5eae945fd9f4b8fcfce74d239e6f725b6bf076c5" integrity sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg== dependencies: "@jest/console" "^28.1.3" @@ -2007,7 +1834,7 @@ "@jest/test-result@^29.7.0": version "29.7.0" - resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== dependencies: "@jest/console" "^29.7.0" @@ -2027,7 +1854,7 @@ "@jest/test-sequencer@^29.7.0": version "29.7.0" - resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== dependencies: "@jest/test-result" "^29.7.0" @@ -2058,7 +1885,7 @@ "@jest/transform@^29.7.0": version "29.7.0" - resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== dependencies: "@babel/core" "^7.11.6" @@ -2079,7 +1906,7 @@ "@jest/types@^28.1.3": version "28.1.3" - resolved "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.3.tgz#b05de80996ff12512bc5ceb1d208285a7d11748b" integrity sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ== dependencies: "@jest/schemas" "^28.1.3" @@ -2091,7 +1918,7 @@ "@jest/types@^29.6.3": version "29.6.3" - resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== dependencies: "@jest/schemas" "^29.6.3" @@ -2101,20 +1928,18 @@ "@types/yargs" "^17.0.8" chalk "^4.0.0" -"@joshwooding/vite-plugin-react-docgen-typescript@0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@joshwooding/vite-plugin-react-docgen-typescript/-/vite-plugin-react-docgen-typescript-0.3.0.tgz#67599fca260c2eafdaf234a944f9d471e6d53b08" - integrity sha512-2D6y7fNvFmsLmRt6UCOFJPvFoPMJGT0Uh1Wg0RaigUp7kdQPs6yYn8Dmx6GZkOH/NW0yMTwRz/p0SRMMRo50vA== +"@joshwooding/vite-plugin-react-docgen-typescript@0.4.2": + version "0.4.2" + resolved "https://registry.yarnpkg.com/@joshwooding/vite-plugin-react-docgen-typescript/-/vite-plugin-react-docgen-typescript-0.4.2.tgz#c2591d2d7b02160341672d6bf3cc248dd60f2530" + integrity sha512-feQ+ntr+8hbVudnsTUapiMN9q8T90XA1d5jn9QzY09sNoj4iD9wi0PY1vsBFTda4ZjEaxRK9S81oarR2nj7TFQ== dependencies: - glob "^7.2.0" - glob-promise "^4.2.0" magic-string "^0.27.0" react-docgen-typescript "^2.2.2" "@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + version "0.3.8" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142" + integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== dependencies: "@jridgewell/set-array" "^1.2.1" "@jridgewell/sourcemap-codec" "^1.4.10" @@ -2122,27 +1947,22 @@ "@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": version "3.1.2" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== "@jridgewell/set-array@^1.2.1": version "1.2.1" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/sourcemap-codec@^1.4.13", "@jridgewell/sourcemap-codec@^1.5.0": +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== "@jridgewell/trace-mapping@0.3.9": version "0.3.9" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== dependencies: "@jridgewell/resolve-uri" "^3.0.3" @@ -2150,68 +1970,40 @@ "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.13", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== dependencies: "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" "@mdx-js/react@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-3.0.1.tgz#997a19b3a5b783d936c75ae7c47cfe62f967f746" - integrity sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A== + version "3.1.0" + resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-3.1.0.tgz#c4522e335b3897b9a845db1dbdd2f966ae8fb0ed" + integrity sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ== dependencies: "@types/mdx" "^2.0.0" -"@microsoft/api-extractor-model@7.29.4": - version "7.29.4" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.29.4.tgz#098f94f304db98f3cea8618fd1107946e212eaf5" - integrity sha512-LHOMxmT8/tU1IiiiHOdHFF83Qsi+V8d0kLfscG4EvQE9cafiR8blOYr8SfkQKWB1wgEilQgXJX3MIA4vetDLZw== - dependencies: - "@microsoft/tsdoc" "~0.15.0" - "@microsoft/tsdoc-config" "~0.17.0" - "@rushstack/node-core-library" "5.5.1" - -"@microsoft/api-extractor-model@7.29.6": - version "7.29.6" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.29.6.tgz#e5941514502049b06ca9af21e2096f8f1ad5a01b" - integrity sha512-gC0KGtrZvxzf/Rt9oMYD2dHvtN/1KPEYsrQPyMKhLHnlVuO/f4AFN3E4toqZzD2pt4LhkKoYmL2H9tX3yCOyRw== - dependencies: - "@microsoft/tsdoc" "~0.15.0" - "@microsoft/tsdoc-config" "~0.17.0" - "@rushstack/node-core-library" "5.7.0" - -"@microsoft/api-extractor@7.47.4": - version "7.47.4" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.47.4.tgz#1a66dc9d6f316fe86eef336e7f8004ab9222499b" - integrity sha512-HKm+P4VNzWwvq1Ey+Jfhhj/3MjsD+ka2hbt8L5AcRM95lu1MFOYnz3XlU7Gr79Q/ZhOb7W/imAKeYrOI0bFydg== - dependencies: - "@microsoft/api-extractor-model" "7.29.4" - "@microsoft/tsdoc" "~0.15.0" - "@microsoft/tsdoc-config" "~0.17.0" - "@rushstack/node-core-library" "5.5.1" - "@rushstack/rig-package" "0.5.3" - "@rushstack/terminal" "0.13.3" - "@rushstack/ts-command-line" "4.22.3" - lodash "~4.17.15" - minimatch "~3.0.3" - resolve "~1.22.1" - semver "~7.5.4" - source-map "~0.6.1" - typescript "5.4.2" +"@microsoft/api-extractor-model@7.30.1": + version "7.30.1" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.30.1.tgz#719e2ab8afe8fe3a5dd65aaa8783dbba90f7c802" + integrity sha512-CTS2PlASJHxVY8hqHORVb1HdECWOEMcMnM6/kDkPr0RZapAFSIHhg9D4jxuE8g+OWYHtPc10LCpmde5pylTRlA== + dependencies: + "@microsoft/tsdoc" "~0.15.1" + "@microsoft/tsdoc-config" "~0.17.1" + "@rushstack/node-core-library" "5.10.1" -"@microsoft/api-extractor@7.47.7": - version "7.47.7" - resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.47.7.tgz#3bc4450fe46c265bef857ab938aa15b9fc7a85de" - integrity sha512-fNiD3G55ZJGhPOBPMKD/enozj8yxJSYyVJWxRWdcUtw842rvthDHJgUWq9gXQTensFlMHv2wGuCjjivPv53j0A== +"@microsoft/api-extractor@^7.48.1": + version "7.48.1" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.48.1.tgz#792197cfc5113cd2efc04524c065d682ef58d2ba" + integrity sha512-HN9Osa1WxqLM66RaqB5nPAadx+nTIQmY/XtkFdaJvusjG8Tus++QqZtD7KPZDSkhEMGHsYeSyeU8qUzCDUXPjg== dependencies: - "@microsoft/api-extractor-model" "7.29.6" - "@microsoft/tsdoc" "~0.15.0" - "@microsoft/tsdoc-config" "~0.17.0" - "@rushstack/node-core-library" "5.7.0" + "@microsoft/api-extractor-model" "7.30.1" + "@microsoft/tsdoc" "~0.15.1" + "@microsoft/tsdoc-config" "~0.17.1" + "@rushstack/node-core-library" "5.10.1" "@rushstack/rig-package" "0.5.3" - "@rushstack/terminal" "0.14.0" - "@rushstack/ts-command-line" "4.22.6" + "@rushstack/terminal" "0.14.4" + "@rushstack/ts-command-line" "4.23.2" lodash "~4.17.15" minimatch "~3.0.3" resolve "~1.22.1" @@ -2219,20 +2011,20 @@ source-map "~0.6.1" typescript "5.4.2" -"@microsoft/tsdoc-config@~0.17.0": - version "0.17.0" - resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.17.0.tgz#82605152b3c1d3f5cd4a11697bc298437484d55d" - integrity sha512-v/EYRXnCAIHxOHW+Plb6OWuUoMotxTN0GLatnpOb1xq0KuTNw/WI3pamJx/UbsoJP5k9MCw1QxvvhPcF9pH3Zg== +"@microsoft/tsdoc-config@~0.17.1": + version "0.17.1" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.17.1.tgz#e0f0b50628f4ad7fe121ca616beacfe6a25b9335" + integrity sha512-UtjIFe0C6oYgTnad4q1QP4qXwLhe6tIpNTRStJ2RZEPIkqQPREAwE5spzVxsdn9UaEMUqhh0AqSx3X4nWAKXWw== dependencies: - "@microsoft/tsdoc" "0.15.0" + "@microsoft/tsdoc" "0.15.1" ajv "~8.12.0" jju "~1.4.0" resolve "~1.22.2" -"@microsoft/tsdoc@0.15.0", "@microsoft/tsdoc@~0.15.0": - version "0.15.0" - resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.15.0.tgz#f29a55df17cb6e87cfbabce33ff6a14a9f85076d" - integrity sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA== +"@microsoft/tsdoc@0.15.1", "@microsoft/tsdoc@~0.15.1": + version "0.15.1" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.15.1.tgz#d4f6937353bc4568292654efb0a0e0532adbcba2" + integrity sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw== "@mui/base@5.0.0-beta.34": version "5.0.0-beta.34" @@ -2249,7 +2041,7 @@ "@mui/base@5.0.0-beta.38": version "5.0.0-beta.38" - resolved "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.38.tgz" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.38.tgz#0d79c1158d18d9decfc8fa3ab87b4830a49cf952" integrity sha512-AsjD6Y1X5A1qndxz8xCcR8LDqv31aiwlgWMPxFAX/kCKiIGKlK65yMeVZ62iQr/6LBz+9hSKLiD1i4TZdAHKcQ== dependencies: "@babel/runtime" "^7.23.9" @@ -2261,33 +2053,33 @@ prop-types "^15.8.1" "@mui/base@^5.0.0-beta.40": - version "5.0.0-beta.40" - resolved "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40.tgz" - integrity sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ== - dependencies: - "@babel/runtime" "^7.23.9" - "@floating-ui/react-dom" "^2.0.8" - "@mui/types" "^7.2.14" - "@mui/utils" "^5.15.14" + version "5.0.0-beta.68" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.68.tgz#a651d0f490dcf9495ce297a2f7403cfa6fd94841" + integrity sha512-F1JMNeLS9Qhjj3wN86JUQYBtJoXyQvknxlzwNl6eS0ZABo1MiohMONj3/WQzYPSXIKC2bS/ZbyBzdHhi2GnEpA== + dependencies: + "@babel/runtime" "^7.26.0" + "@floating-ui/react-dom" "^2.1.1" + "@mui/types" "^7.2.20" + "@mui/utils" "^6.3.0" "@popperjs/core" "^2.11.8" - clsx "^2.1.0" + clsx "^2.1.1" prop-types "^15.8.1" "@mui/core-downloads-tracker@^5.15.7": - version "5.16.7" - resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.7.tgz#182a325a520f7ebd75de051fceabfc0314cfd004" - integrity sha512-RtsCt4Geed2/v74sbihWzzRs+HsIQCfclHeORh5Ynu2fS4icIKozcSubwuG7vtzq2uW3fOR1zITSP84TNt2GoQ== + version "5.16.13" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.13.tgz#ac17c0d9ca9cdce6002168373b53e76af2606b35" + integrity sha512-xe5RwI0Q2O709Bd2Y7l1W1NIwNmln0y+xaGk5VgX3vDJbkQEqzdfTFZ73e0CkEZgJwyiWgk5HY0l8R4nysOxjw== "@mui/icons-material@5.15.12": version "5.15.12" - resolved "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.15.12.tgz" + resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.15.12.tgz#30638c5dd4d40ecabea1579bbfa7394565c54474" integrity sha512-3BXiDlOd3AexZoEXa/VqpIpVIvosCzjLHsdMWzKMXbZdnBiJjmb9ECdqfjn5SpTClO49qvkKLhkTqdBH3fSFGw== dependencies: "@babel/runtime" "^7.23.9" "@mui/lab@5.0.0-alpha.167": version "5.0.0-alpha.167" - resolved "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.167.tgz" + resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.167.tgz#8f00b0fe8f236691bc2cffadfd4feb542b0151cd" integrity sha512-BNQJ7fBBvL68WGVnzAhbtTmabSuJDXaILr9dz/3RNK4TgGXPgWCAr7qtJeUdc4p1t7c4Z1ifG8UwgqD+5hzMNg== dependencies: "@babel/runtime" "^7.23.9" @@ -2318,34 +2110,25 @@ "@mui/private-theming@5.15.12": version "5.15.12" - resolved "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.15.12.tgz" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.15.12.tgz#e3ac99b3dbfa6ecc6e914009df33a2d400432f6e" integrity sha512-cqoSo9sgA5HE+8vZClbLrq9EkyOnYysooepi5eKaKvJ41lReT2c5wOZAeDDM1+xknrMDos+0mT2zr3sZmUiRRA== dependencies: "@babel/runtime" "^7.23.9" "@mui/utils" "^5.15.12" prop-types "^15.8.1" -"@mui/private-theming@^5.15.12", "@mui/private-theming@^5.15.14": - version "5.15.14" - resolved "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.15.14.tgz" - integrity sha512-UH0EiZckOWcxiXLX3Jbb0K7rC8mxTr9L9l6QhOZxYc4r8FHUkefltV9VDGLrzCaWh30SQiJvAEd7djX3XXY6Xw== - dependencies: - "@babel/runtime" "^7.23.9" - "@mui/utils" "^5.15.14" - prop-types "^15.8.1" - -"@mui/private-theming@^5.16.6": - version "5.16.6" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.16.6.tgz#547671e7ae3f86b68d1289a0b90af04dfcc1c8c9" - integrity sha512-rAk+Rh8Clg7Cd7shZhyt2HGTTE5wYKNSJ5sspf28Fqm/PZ69Er9o6KX25g03/FG2dfpg5GCwZh/xOojiTfm3hw== +"@mui/private-theming@^5.15.12", "@mui/private-theming@^5.16.13": + version "5.16.13" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.16.13.tgz#0ea25eb5272c2d16f555803bf804b31867d8eed9" + integrity sha512-+s0FklvDvO7j0yBZn19DIIT3rLfub2fWvXGtMX49rG/xHfDFcP7fbWbZKHZMMP/2/IoTRDrZCbY1iP0xZlmuJA== dependencies: "@babel/runtime" "^7.23.9" - "@mui/utils" "^5.16.6" + "@mui/utils" "^5.16.13" prop-types "^15.8.1" -"@mui/styled-engine@5.15.14", "@mui/styled-engine@^5.15.11", "@mui/styled-engine@^5.15.14": +"@mui/styled-engine@5.15.14": version "5.15.14" - resolved "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.15.14.tgz" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.15.14.tgz#168b154c4327fa4ccc1933a498331d53f61c0de2" integrity sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw== dependencies: "@babel/runtime" "^7.23.9" @@ -2353,19 +2136,19 @@ csstype "^3.1.3" prop-types "^15.8.1" -"@mui/styled-engine@^5.16.6": - version "5.16.6" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.16.6.tgz#60110c106dd482dfdb7e2aa94fd6490a0a3f8852" - integrity sha512-zaThmS67ZmtHSWToTiHslbI8jwrmITcN93LQaR2lKArbvS7Z3iLkwRoiikNWutx9MBs8Q6okKvbZq1RQYB3v7g== +"@mui/styled-engine@^5.15.11", "@mui/styled-engine@^5.16.13": + version "5.16.13" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.16.13.tgz#b87205cd36b7a6b104f1151e8745bf7a19346987" + integrity sha512-2XNHEG8/o1ucSLhTA9J+HIIXjzlnEc0OV7kneeUQ5JukErPYT2zc6KYBDLjlKWrzQyvnQzbiffjjspgHUColZg== dependencies: "@babel/runtime" "^7.23.9" - "@emotion/cache" "^11.11.0" + "@emotion/cache" "^11.13.5" csstype "^3.1.3" prop-types "^15.8.1" "@mui/system@5.15.12": version "5.15.12" - resolved "https://registry.npmjs.org/@mui/system/-/system-5.15.12.tgz" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.15.12.tgz#852cf7c339eb61703196f56c36fc93206136eb20" integrity sha512-/pq+GO6yN3X7r3hAwFTrzkAh7K1bTF5r8IzS79B9eyKJg7v6B/t4/zZYMR6OT9qEPtwf6rYN2Utg1e6Z7F1OgQ== dependencies: "@babel/runtime" "^7.23.9" @@ -2377,43 +2160,24 @@ csstype "^3.1.3" prop-types "^15.8.1" -"@mui/system@^5.15.12", "@mui/system@^5.15.15": - version "5.15.15" - resolved "https://registry.npmjs.org/@mui/system/-/system-5.15.15.tgz" - integrity sha512-aulox6N1dnu5PABsfxVGOZffDVmlxPOVgj56HrUnJE8MCSh8lOvvkd47cebIVQQYAjpwieXQXiDPj5pwM40jTQ== - dependencies: - "@babel/runtime" "^7.23.9" - "@mui/private-theming" "^5.15.14" - "@mui/styled-engine" "^5.15.14" - "@mui/types" "^7.2.14" - "@mui/utils" "^5.15.14" - clsx "^2.1.0" - csstype "^3.1.3" - prop-types "^15.8.1" - -"@mui/system@^5.15.7": - version "5.16.7" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.16.7.tgz#4583ca5bf3b38942e02c15a1e622ba869ac51393" - integrity sha512-Jncvs/r/d/itkxh7O7opOunTqbbSSzMTHzZkNLM+FjAOg+cYAZHrPDlYe1ZGKUYORwwb2XexlWnpZp0kZ4AHuA== +"@mui/system@^5.15.12", "@mui/system@^5.15.15", "@mui/system@^5.15.7": + version "5.16.13" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.16.13.tgz#2ebbda08e962e378ecec9cf5a3e50ac9b098472d" + integrity sha512-JnO3VH3yNoAmgyr44/2jiS1tcNwshwAqAaG5fTEEjHQbkuZT/mvPYj2GC1cON0zEQ5V03xrCNl/D+gU9AXibpw== dependencies: "@babel/runtime" "^7.23.9" - "@mui/private-theming" "^5.16.6" - "@mui/styled-engine" "^5.16.6" + "@mui/private-theming" "^5.16.13" + "@mui/styled-engine" "^5.16.13" "@mui/types" "^7.2.15" - "@mui/utils" "^5.16.6" + "@mui/utils" "^5.16.13" clsx "^2.1.0" csstype "^3.1.3" prop-types "^15.8.1" -"@mui/types@^7.2.13", "@mui/types@^7.2.14": - version "7.2.14" - resolved "https://registry.npmjs.org/@mui/types/-/types-7.2.14.tgz" - integrity sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ== - -"@mui/types@^7.2.15": - version "7.2.16" - resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.16.tgz#66710c691b51cd4fca95322100cd74ec230cfe30" - integrity sha512-qI8TV3M7ShITEEc8Ih15A2vLzZGLhD+/UPNwck/hcls2gwg7dyRjNGXcQYHKLB5Q7PuTRfrTkAoPa2VV1s67Ag== +"@mui/types@^7.2.13", "@mui/types@^7.2.15", "@mui/types@^7.2.20", "@mui/types@^7.2.21": + version "7.2.21" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.21.tgz#63f50874eda8e4a021a69aaa8ba9597369befda2" + integrity sha512-6HstngiUxNqLU+/DPqlUJDIPbzUBxIVHb1MmXP0eTWDIROiCR2viugXpEif0PPe2mLqqakPzzRClWAnK+8UJww== "@mui/utils@5.15.7": version "5.15.7" @@ -2425,31 +2189,33 @@ prop-types "^15.8.1" react-is "^18.2.0" -"@mui/utils@^5.15.12", "@mui/utils@^5.15.14": - version "5.15.14" - resolved "https://registry.npmjs.org/@mui/utils/-/utils-5.15.14.tgz" - integrity sha512-0lF/7Hh/ezDv5X7Pry6enMsbYyGKjADzvHyo3Qrc/SSlTsQ1VkbDMbH0m2t3OR5iIVLwMoxwM7yGd+6FCMtTFA== +"@mui/utils@^5.15.12", "@mui/utils@^5.15.14", "@mui/utils@^5.15.7", "@mui/utils@^5.16.13": + version "5.16.13" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.16.13.tgz#6276eafd15e2c6778cdb6aeb07017c996d3fda52" + integrity sha512-35kLiShnDPByk57Mz4PP66fQUodCFiOD92HfpW6dK9lc7kjhZsKHRKeYPgWuwEHeXwYsCSFtBCW4RZh/8WT+TQ== dependencies: "@babel/runtime" "^7.23.9" - "@types/prop-types" "^15.7.11" + "@mui/types" "^7.2.15" + "@types/prop-types" "^15.7.12" + clsx "^2.1.1" prop-types "^15.8.1" - react-is "^18.2.0" + react-is "^19.0.0" -"@mui/utils@^5.15.7", "@mui/utils@^5.16.6": - version "5.16.6" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.16.6.tgz#905875bbc58d3dcc24531c3314a6807aba22a711" - integrity sha512-tWiQqlhxAt3KENNiSRL+DIn9H5xNVK6Jjf70x3PnfQPz1MPBdh7yyIcAyVBT9xiw7hP3SomRhPR7hzBMBCjqEA== +"@mui/utils@^6.3.0": + version "6.3.1" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-6.3.1.tgz#0ec705d4a0bbcb69fca8da5225f9c52f8ac49905" + integrity sha512-sjGjXAngoio6lniQZKJ5zGfjm+LD2wvLwco7FbKe1fu8A7VIFmz2SwkLb+MDPLNX1lE7IscvNNyh1pobtZg2tw== dependencies: - "@babel/runtime" "^7.23.9" - "@mui/types" "^7.2.15" - "@types/prop-types" "^15.7.12" + "@babel/runtime" "^7.26.0" + "@mui/types" "^7.2.21" + "@types/prop-types" "^15.7.14" clsx "^2.1.1" prop-types "^15.8.1" - react-is "^18.3.1" + react-is "^19.0.0" -"@mui/x-date-pickers@^7.6.2": +"@mui/x-date-pickers@7.6.2": version "7.6.2" - resolved "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-7.6.2.tgz" + resolved "https://registry.yarnpkg.com/@mui/x-date-pickers/-/x-date-pickers-7.6.2.tgz#361ab64ecce2f2b8d3ce57cbda4e3c5acc4aed02" integrity sha512-9e5qO76eLvjiEm7Yt4HNR1jqGFia7vnZYbhi4Tw/xQ32emMKYLUzXZLhQNtb1wa7SwHWxXcPJOkIEmvQgEvaqQ== dependencies: "@babel/runtime" "^7.24.6" @@ -2477,7 +2243,7 @@ "@nodelib/fs.scandir@2.1.5": version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" @@ -2485,25 +2251,109 @@ "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": +"@nodelib/fs.walk@^1.2.3": version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== +"@parcel/watcher-android-arm64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz#e32d3dda6647791ee930556aee206fcd5ea0fb7a" + integrity sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ== + +"@parcel/watcher-darwin-arm64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz#0d9e680b7e9ec1c8f54944f1b945aa8755afb12f" + integrity sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw== + +"@parcel/watcher-darwin-x64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz#f9f1d5ce9d5878d344f14ef1856b7a830c59d1bb" + integrity sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA== + +"@parcel/watcher-freebsd-x64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz#2b77f0c82d19e84ff4c21de6da7f7d096b1a7e82" + integrity sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw== + +"@parcel/watcher-linux-arm-glibc@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz#92ed322c56dbafa3d2545dcf2803334aee131e42" + integrity sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA== + +"@parcel/watcher-linux-arm-musl@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz#cd48e9bfde0cdbbd2ecd9accfc52967e22f849a4" + integrity sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA== + +"@parcel/watcher-linux-arm64-glibc@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz#7b81f6d5a442bb89fbabaf6c13573e94a46feb03" + integrity sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA== + +"@parcel/watcher-linux-arm64-musl@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz#dcb8ff01077cdf59a18d9e0a4dff7a0cfe5fd732" + integrity sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q== + +"@parcel/watcher-linux-x64-glibc@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz#2e254600fda4e32d83942384d1106e1eed84494d" + integrity sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw== + +"@parcel/watcher-linux-x64-musl@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz#01fcea60fedbb3225af808d3f0a7b11229792eef" + integrity sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA== + +"@parcel/watcher-win32-arm64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz#87cdb16e0783e770197e52fb1dc027bb0c847154" + integrity sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig== + +"@parcel/watcher-win32-ia32@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz#778c39b56da33e045ba21c678c31a9f9d7c6b220" + integrity sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA== + +"@parcel/watcher-win32-x64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz#33873876d0bbc588aacce38e90d1d7480ce81cb7" + integrity sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw== + +"@parcel/watcher@^2.4.1": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.5.0.tgz#5c88818b12b8de4307a9d3e6dc3e28eba0dfbd10" + integrity sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ== + dependencies: + detect-libc "^1.0.3" + is-glob "^4.0.3" + micromatch "^4.0.5" + node-addon-api "^7.0.0" + optionalDependencies: + "@parcel/watcher-android-arm64" "2.5.0" + "@parcel/watcher-darwin-arm64" "2.5.0" + "@parcel/watcher-darwin-x64" "2.5.0" + "@parcel/watcher-freebsd-x64" "2.5.0" + "@parcel/watcher-linux-arm-glibc" "2.5.0" + "@parcel/watcher-linux-arm-musl" "2.5.0" + "@parcel/watcher-linux-arm64-glibc" "2.5.0" + "@parcel/watcher-linux-arm64-musl" "2.5.0" + "@parcel/watcher-linux-x64-glibc" "2.5.0" + "@parcel/watcher-linux-x64-musl" "2.5.0" + "@parcel/watcher-win32-arm64" "2.5.0" + "@parcel/watcher-win32-ia32" "2.5.0" + "@parcel/watcher-win32-x64" "2.5.0" "@popperjs/core@^2.11.8": version "2.11.8" - resolved "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== "@rollup/pluginutils@^4.1.2": @@ -2514,113 +2364,114 @@ estree-walker "^2.0.1" picomatch "^2.2.2" -"@rollup/pluginutils@^5.0.2", "@rollup/pluginutils@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz#7e53eddc8c7f483a4ad0b94afb1f7f5fd3c771e0" - integrity sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g== +"@rollup/pluginutils@^5.0.2", "@rollup/pluginutils@^5.1.4": + version "5.1.4" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.4.tgz#bb94f1f9eaaac944da237767cdfee6c5b2262d4a" + integrity sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ== dependencies: "@types/estree" "^1.0.0" estree-walker "^2.0.2" - picomatch "^2.3.1" - -"@rollup/rollup-android-arm-eabi@4.21.2": - version "4.21.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.2.tgz#0412834dc423d1ff7be4cb1fc13a86a0cd262c11" - integrity sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg== - -"@rollup/rollup-android-arm64@4.21.2": - version "4.21.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.2.tgz#baf1a014b13654f3b9e835388df9caf8c35389cb" - integrity sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA== - -"@rollup/rollup-darwin-arm64@4.21.2": - version "4.21.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.2.tgz#0a2c364e775acdf1172fe3327662eec7c46e55b1" - integrity sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q== - -"@rollup/rollup-darwin-x64@4.21.2": - version "4.21.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.2.tgz#a972db75890dfab8df0da228c28993220a468c42" - integrity sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w== - -"@rollup/rollup-linux-arm-gnueabihf@4.21.2": - version "4.21.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.2.tgz#1609d0630ef61109dd19a278353e5176d92e30a1" - integrity sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w== - -"@rollup/rollup-linux-arm-musleabihf@4.21.2": - version "4.21.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.2.tgz#3c1dca5f160aa2e79e4b20ff6395eab21804f266" - integrity sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w== - -"@rollup/rollup-linux-arm64-gnu@4.21.2": - version "4.21.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.2.tgz#c2fe376e8b04eafb52a286668a8df7c761470ac7" - integrity sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw== - -"@rollup/rollup-linux-arm64-musl@4.21.2": - version "4.21.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.2.tgz#e62a4235f01e0f66dbba587c087ca6db8008ec80" - integrity sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w== - -"@rollup/rollup-linux-powerpc64le-gnu@4.21.2": - version "4.21.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.2.tgz#24b3457e75ee9ae5b1c198bd39eea53222a74e54" - integrity sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ== - -"@rollup/rollup-linux-riscv64-gnu@4.21.2": - version "4.21.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.2.tgz#38edfba9620fe2ca8116c97e02bd9f2d606bde09" - integrity sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg== - -"@rollup/rollup-linux-s390x-gnu@4.21.2": - version "4.21.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.2.tgz#a3bfb8bc5f1e802f8c76cff4a4be2e9f9ac36a18" - integrity sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ== - -"@rollup/rollup-linux-x64-gnu@4.21.2": - version "4.21.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.2.tgz#0dadf34be9199fcdda44b5985a086326344f30ad" - integrity sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw== - -"@rollup/rollup-linux-x64-musl@4.21.2": - version "4.21.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.2.tgz#7b7deddce240400eb87f2406a445061b4fed99a8" - integrity sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg== - -"@rollup/rollup-win32-arm64-msvc@4.21.2": - version "4.21.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.2.tgz#a0ca0c5149c2cfb26fab32e6ba3f16996fbdb504" - integrity sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ== - -"@rollup/rollup-win32-ia32-msvc@4.21.2": - version "4.21.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.2.tgz#aae2886beec3024203dbb5569db3a137bc385f8e" - integrity sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw== - -"@rollup/rollup-win32-x64-msvc@4.21.2": - version "4.21.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.2.tgz#e4291e3c1bc637083f87936c333cdbcad22af63b" - integrity sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA== - -"@rushstack/node-core-library@5.5.1": - version "5.5.1" - resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-5.5.1.tgz#890db37eafaab582c79eb6bf421447b82b3a964b" - integrity sha512-ZutW56qIzH8xIOlfyaLQJFx+8IBqdbVCZdnj+XT1MorQ1JqqxHse8vbCpEM+2MjsrqcbxcgDIbfggB1ZSQ2A3g== - dependencies: - ajv "~8.13.0" - ajv-draft-04 "~1.0.0" - ajv-formats "~3.0.1" - fs-extra "~7.0.1" - import-lazy "~4.0.0" - jju "~1.4.0" - resolve "~1.22.1" - semver "~7.5.4" - -"@rushstack/node-core-library@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-5.7.0.tgz#f28699c7d0b3de0120a207f8b9d5bd7c69806e18" - integrity sha512-Ff9Cz/YlWu9ce4dmqNBZpA45AEya04XaBFIjV7xTVeEf+y/kTjEasmozqFELXlNG4ROdevss75JrrZ5WgufDkQ== + picomatch "^4.0.2" + +"@rollup/rollup-android-arm-eabi@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.29.1.tgz#9bd38df6a29afb7f0336d988bc8112af0c8816c0" + integrity sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw== + +"@rollup/rollup-android-arm64@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.29.1.tgz#bd1a98390e15b76eeef907175a37c5f0f9e4d214" + integrity sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew== + +"@rollup/rollup-darwin-arm64@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.29.1.tgz#bc6fa8a2cc77b5f367424e5e994e3537524e6879" + integrity sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw== + +"@rollup/rollup-darwin-x64@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.29.1.tgz#76059c91f06b17406347b127df10f065283b2e61" + integrity sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng== + +"@rollup/rollup-freebsd-arm64@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.29.1.tgz#83178315c0be4b4c8c1fd835e1952d2dc1eb4e6e" + integrity sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw== + +"@rollup/rollup-freebsd-x64@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.29.1.tgz#1ef24fa0576bf7899a0a0a649156606dbd7a0d46" + integrity sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w== + +"@rollup/rollup-linux-arm-gnueabihf@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.29.1.tgz#443a6f5681bf4611caae42988994a6d8ee676216" + integrity sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A== + +"@rollup/rollup-linux-arm-musleabihf@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.29.1.tgz#9738b27184102228637a683e5f35b22ea352394f" + integrity sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ== + +"@rollup/rollup-linux-arm64-gnu@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.29.1.tgz#b5e9d5e30ff36a19bedd29c715ba18a1889ff269" + integrity sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA== + +"@rollup/rollup-linux-arm64-musl@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.29.1.tgz#1d8f68f0829b57f746ec03432ad046f1af014a98" + integrity sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA== + +"@rollup/rollup-linux-loongarch64-gnu@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.29.1.tgz#07027feb883408e74a3002c8e50caaedd288ae38" + integrity sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw== + +"@rollup/rollup-linux-powerpc64le-gnu@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.29.1.tgz#544ce1b0847a9c1240425e86f33daceac7ec4e12" + integrity sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w== + +"@rollup/rollup-linux-riscv64-gnu@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.29.1.tgz#64be13d51852ec1e2dfbd25d997ed5f42f35ea6d" + integrity sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ== + +"@rollup/rollup-linux-s390x-gnu@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.29.1.tgz#31f51e1e05c6264552d03875d9e2e673f0fd86e3" + integrity sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g== + +"@rollup/rollup-linux-x64-gnu@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.29.1.tgz#f4c95b26f4ad69ebdb64b42f0ae4da2a0f617958" + integrity sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ== + +"@rollup/rollup-linux-x64-musl@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.29.1.tgz#ab7be89192f72beb9ea6e2386186fefde4f69d82" + integrity sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA== + +"@rollup/rollup-win32-arm64-msvc@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.29.1.tgz#7f12efb8240b238346951559998802722944421e" + integrity sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig== + +"@rollup/rollup-win32-ia32-msvc@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.29.1.tgz#353d14d6eee943004d129796e4feddd3aa260921" + integrity sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng== + +"@rollup/rollup-win32-x64-msvc@4.29.1": + version "4.29.1" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.29.1.tgz#c82f04a09ba481e13857d6f2516e072aaa51b7f4" + integrity sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg== + +"@rushstack/node-core-library@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-5.10.1.tgz#14c10c918ed12da003c21af9d5bf0e76633215d2" + integrity sha512-BSb/KcyBHmUQwINrgtzo6jiH0HlGFmrUy33vO6unmceuVKTEyL2q+P0fQq2oB5hvXVWOEUhxB2QvlkZluvUEmg== dependencies: ajv "~8.13.0" ajv-draft-04 "~1.0.0" @@ -2639,69 +2490,51 @@ resolve "~1.22.1" strip-json-comments "~3.1.1" -"@rushstack/terminal@0.13.3": - version "0.13.3" - resolved "https://registry.yarnpkg.com/@rushstack/terminal/-/terminal-0.13.3.tgz#9a05b8cf759f14161a49d3ccb09d556e4161caca" - integrity sha512-fc3zjXOw8E0pXS5t9vTiIPx9gHA0fIdTXsu9mT4WbH+P3mYvnrX0iAQ5a6NvyK1+CqYWBTw/wVNx7SDJkI+WYQ== - dependencies: - "@rushstack/node-core-library" "5.5.1" - supports-color "~8.1.1" - -"@rushstack/terminal@0.14.0": - version "0.14.0" - resolved "https://registry.yarnpkg.com/@rushstack/terminal/-/terminal-0.14.0.tgz#967ecc586d7172204353059f8fdb1760666e9381" - integrity sha512-juTKMAMpTIJKudeFkG5slD8Z/LHwNwGZLtU441l/u82XdTBfsP+LbGKJLCNwP5se+DMCT55GB8x9p6+C4UL7jw== +"@rushstack/terminal@0.14.4": + version "0.14.4" + resolved "https://registry.yarnpkg.com/@rushstack/terminal/-/terminal-0.14.4.tgz#37e160b0878a324cf3e0fecab25fe48a030e29ed" + integrity sha512-NxACqERW0PHq8Rpq1V6v5iTHEwkRGxenjEW+VWqRYQ8T9puUzgmGHmEZUaUEDHAe9Qyvp0/Ew04sAiQw9XjhJg== dependencies: - "@rushstack/node-core-library" "5.7.0" + "@rushstack/node-core-library" "5.10.1" supports-color "~8.1.1" -"@rushstack/ts-command-line@4.22.3": - version "4.22.3" - resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.22.3.tgz#dcc75bd25b21031b32b2758ee3f2f4973b112572" - integrity sha512-edMpWB3QhFFZ4KtSzS8WNjBgR4PXPPOVrOHMbb7kNpmQ1UFS9HdVtjCXg1H5fG+xYAbeE+TMPcVPUyX2p84STA== - dependencies: - "@rushstack/terminal" "0.13.3" - "@types/argparse" "1.0.38" - argparse "~1.0.9" - string-argv "~0.3.1" - -"@rushstack/ts-command-line@4.22.6": - version "4.22.6" - resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.22.6.tgz#2aee4fc98c6043c026ce278880fbffb5227de5ca" - integrity sha512-QSRqHT/IfoC5nk9zn6+fgyqOPXHME0BfchII9EUPR19pocsNp/xSbeBCbD3PIR2Lg+Q5qk7OFqk1VhWPMdKHJg== +"@rushstack/ts-command-line@4.23.2": + version "4.23.2" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.23.2.tgz#37b28a418db84d04f6a1c787390dd02ad8dfadf0" + integrity sha512-JJ7XZX5K3ThBBva38aomgsPv1L7FV6XmSOcR6HtM7HDFZJkepqT65imw26h9ggGqMjsY0R9jcl30tzKcVj9aOQ== dependencies: - "@rushstack/terminal" "0.14.0" + "@rushstack/terminal" "0.14.4" "@types/argparse" "1.0.38" argparse "~1.0.9" string-argv "~0.3.1" "@sinclair/typebox@^0.24.1": version "0.24.51" - resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f" integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA== "@sinclair/typebox@^0.27.8": version "0.27.8" - resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== "@sinonjs/commons@^1.7.0": version "1.8.6" - resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== dependencies: type-detect "4.0.8" "@sinonjs/commons@^3.0.0": version "3.0.1" - resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== dependencies: type-detect "4.0.8" "@sinonjs/fake-timers@^10.0.2": version "10.3.0" - resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== dependencies: "@sinonjs/commons" "^3.0.0" @@ -2714,17 +2547,17 @@ "@sinonjs/commons" "^1.7.0" "@storybook/addon-a11y@^8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/addon-a11y/-/addon-a11y-8.4.0.tgz#844df631bc0733f1788d612355316a626a97fc64" - integrity sha512-FbvdAnYG5y0l1iBvtwlN8sQL39/FyQefKGK4+0MDmdDvCDq2JpkNU9rDL4HT8aYVAiPfr+M2DmXGJihLxwRyhw== + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-a11y/-/addon-a11y-8.4.7.tgz#0073090d8d4e0748249317a292ac27dc2c2b9ef2" + integrity sha512-GpUvXp6n25U1ZSv+hmDC+05BEqxWdlWjQTb/GaboRXZQeMBlze6zckpVb66spjmmtQAIISo0eZxX1+mGcVR7lA== dependencies: - "@storybook/addon-highlight" "8.4.0" + "@storybook/addon-highlight" "8.4.7" axe-core "^4.2.0" -"@storybook/addon-actions@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-8.4.0.tgz#c2b7d2370f5c836ddadd4ca349116310153dd108" - integrity sha512-xQ84mDIl+jyDpjt8SnCfhqVECQu7k1dLyhiAi983Tp5nyW8KRJa/tEATDLOCpz1eL9AMf2WjAypi+vIiNIul8w== +"@storybook/addon-actions@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-8.4.7.tgz#210c6bb5a7e17c3664c300b4b69b6243ec34b9cd" + integrity sha512-mjtD5JxcPuW74T6h7nqMxWTvDneFtokg88p6kQ5OnC1M259iAXb//yiSZgu/quunMHPCXSiqn4FNOSgASTSbsA== dependencies: "@storybook/global" "^5.0.0" "@types/uuid" "^9.0.1" @@ -2732,151 +2565,151 @@ polished "^4.2.2" uuid "^9.0.0" -"@storybook/addon-backgrounds@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-8.4.0.tgz#3f56f2a70b10388ce34f64171146b4b9af02a221" - integrity sha512-2LpA7Ja7s76rFjSQHTPhbfmwsCmAuyU5k05CIbbUxM+iBVOaBXUYLaoi8dl448W/o/rmNHeW5YCtxzmMPlScrQ== +"@storybook/addon-backgrounds@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-8.4.7.tgz#56856bdafc5a2ba18cc19422320883c9e8f66c1c" + integrity sha512-I4/aErqtFiazcoWyKafOAm3bLpxTj6eQuH/woSbk1Yx+EzN+Dbrgx1Updy8//bsNtKkcrXETITreqHC+a57DHQ== dependencies: "@storybook/global" "^5.0.0" memoizerific "^1.11.3" ts-dedent "^2.0.0" -"@storybook/addon-controls@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-8.4.0.tgz#d5a117a765dfcb8398da0d7f52af68112fe06134" - integrity sha512-KoqwWHi6cUv1WXcANH4l175kNkuFPVhexP/8F9tE9uhv2xHNx5cTefmB174dWpfOO2H3IdUk0RuMWjOZFpztqQ== +"@storybook/addon-controls@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-8.4.7.tgz#0c2ace0c7056248577f08f90471f29e861b485be" + integrity sha512-377uo5IsJgXLnQLJixa47+11V+7Wn9KcDEw+96aGCBCfLbWNH8S08tJHHnSu+jXg9zoqCAC23MetntVp6LetHA== dependencies: "@storybook/global" "^5.0.0" dequal "^2.0.2" ts-dedent "^2.0.0" -"@storybook/addon-docs@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-8.4.0.tgz#e4233b38158ea225d39285ffbf6715ffcc32e6f3" - integrity sha512-n/tAu8xmfdxTkr7ooDM3h+QwDyP9eoKoKuaKXfiPPevrFk0FXRw5KzNhTHTlHniJ2LD+gyaomPGV6D2oBl1KIg== +"@storybook/addon-docs@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-8.4.7.tgz#556515da1049f97023427301e11ecb52d0b9dbe7" + integrity sha512-NwWaiTDT5puCBSUOVuf6ME7Zsbwz7Y79WF5tMZBx/sLQ60vpmJVQsap6NSjvK1Ravhc21EsIXqemAcBjAWu80w== dependencies: "@mdx-js/react" "^3.0.0" - "@storybook/blocks" "8.4.0" - "@storybook/csf-plugin" "8.4.0" - "@storybook/react-dom-shim" "8.4.0" + "@storybook/blocks" "8.4.7" + "@storybook/csf-plugin" "8.4.7" + "@storybook/react-dom-shim" "8.4.7" react "^16.8.0 || ^17.0.0 || ^18.0.0" react-dom "^16.8.0 || ^17.0.0 || ^18.0.0" ts-dedent "^2.0.0" "@storybook/addon-essentials@^8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-8.4.0.tgz#c3fd5da9954af256db7ff8b7703024b491c0814e" - integrity sha512-45CI0LpNr8ASHEckxbW/osgnsFMWl847S9rALNQUAN3VaqlDQeF/VIDt1s9vtV9ZYNHASxPFmW4qjgylxv8HpQ== - dependencies: - "@storybook/addon-actions" "8.4.0" - "@storybook/addon-backgrounds" "8.4.0" - "@storybook/addon-controls" "8.4.0" - "@storybook/addon-docs" "8.4.0" - "@storybook/addon-highlight" "8.4.0" - "@storybook/addon-measure" "8.4.0" - "@storybook/addon-outline" "8.4.0" - "@storybook/addon-toolbars" "8.4.0" - "@storybook/addon-viewport" "8.4.0" + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-8.4.7.tgz#381c74230d1b1a209d5fdc017d241c016b98affe" + integrity sha512-+BtZHCBrYtQKILtejKxh0CDRGIgTl9PumfBOKRaihYb4FX1IjSAxoV/oo/IfEjlkF5f87vouShWsRa8EUauFDw== + dependencies: + "@storybook/addon-actions" "8.4.7" + "@storybook/addon-backgrounds" "8.4.7" + "@storybook/addon-controls" "8.4.7" + "@storybook/addon-docs" "8.4.7" + "@storybook/addon-highlight" "8.4.7" + "@storybook/addon-measure" "8.4.7" + "@storybook/addon-outline" "8.4.7" + "@storybook/addon-toolbars" "8.4.7" + "@storybook/addon-viewport" "8.4.7" ts-dedent "^2.0.0" -"@storybook/addon-highlight@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/addon-highlight/-/addon-highlight-8.4.0.tgz#e19006aa7c2cf47b70cac75473bc7389dbf5e251" - integrity sha512-tshX/2HnPzGQ9Kza2DARNfirBRhE/Ts7bldbhMiJu20YhJD1jQzXSDEX1cCgHsDc8HKYOsV/Kuu5WDzp/1i97w== +"@storybook/addon-highlight@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-highlight/-/addon-highlight-8.4.7.tgz#06b9752977e38884007e9446f9a2b0c04c873229" + integrity sha512-whQIDBd3PfVwcUCrRXvCUHWClXe9mQ7XkTPCdPo4B/tZ6Z9c6zD8JUHT76ddyHivixFLowMnA8PxMU6kCMAiNw== dependencies: "@storybook/global" "^5.0.0" "@storybook/addon-interactions@^8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/addon-interactions/-/addon-interactions-8.4.0.tgz#46561c04c9cec44ae01d9680cb6554df8bced013" - integrity sha512-yXPAyGRjElYZ0ObUo7Ipww4CwgScc2FXMxeQHKSZ+9wuDOU8uSaWpINB++8nS6yPZyhHeUqgzGCF/w3ZusNvzA== + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-interactions/-/addon-interactions-8.4.7.tgz#d34545db5ea6f03a5499ad6742c3317fb9e02d55" + integrity sha512-fnufT3ym8ht3HHUIRVXAH47iOJW/QOb0VSM+j269gDuvyDcY03D1civCu1v+eZLGaXPKJ8vtjr0L8zKQ/4P0JQ== dependencies: "@storybook/global" "^5.0.0" - "@storybook/instrumenter" "8.4.0" - "@storybook/test" "8.4.0" + "@storybook/instrumenter" "8.4.7" + "@storybook/test" "8.4.7" polished "^4.2.2" ts-dedent "^2.2.0" "@storybook/addon-links@^8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-8.4.0.tgz#115255d9535158db5667d8fac2e1f25816182e01" - integrity sha512-6MxHHfeshQLA0q40/djK7LrDDLtYt/FnKbNWgH4fbj281IELn1BTYc8cihyN7CZEWyqRqusi6EFpGFgO3LWBgA== + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-8.4.7.tgz#c38b2b63c3b0308adacff4b0758464a0657154c4" + integrity sha512-L/1h4dMeMKF+MM0DanN24v5p3faNYbbtOApMgg7SlcBT/tgo3+cAjkgmNpYA8XtKnDezm+T2mTDhB8mmIRZpIQ== dependencies: "@storybook/csf" "^0.1.11" "@storybook/global" "^5.0.0" ts-dedent "^2.0.0" -"@storybook/addon-measure@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/addon-measure/-/addon-measure-8.4.0.tgz#6c5e58031be8fa7f79a9bb4edc705b9731266fc6" - integrity sha512-Zews/03IL/UUJMaheduGxJKG1mEwfpGq7SP1RtK0kK3l/yh6kVcKG63RXw5zVEoDwG4wzuuH9vi06Mlzhu8/rA== +"@storybook/addon-measure@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-measure/-/addon-measure-8.4.7.tgz#9d556ba34b57c13ad8d00bd953b27ec405a64d23" + integrity sha512-QfvqYWDSI5F68mKvafEmZic3SMiK7zZM8VA0kTXx55hF/+vx61Mm0HccApUT96xCXIgmwQwDvn9gS4TkX81Dmw== dependencies: "@storybook/global" "^5.0.0" tiny-invariant "^1.3.1" "@storybook/addon-onboarding@^8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/addon-onboarding/-/addon-onboarding-8.4.0.tgz#e3859294171c5f9808fb18585f9e90ee926729ba" - integrity sha512-q9nvMFxvjwDvkumIO0VEa2RhIfxwU8YiCCLVXrGw73XtWs2UViXBLaVl/W2USDGDq27T6VFTh6KzZVMikPJrUQ== + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-onboarding/-/addon-onboarding-8.4.7.tgz#212a5e27db1ee8440a2dd0d5c67ac29f0e6efda5" + integrity sha512-FdC2NV60VNYeMxf6DVe0qV9ucSBAzMh1//C0Qqwq8CcjthMbmKlVZ7DqbVsbIHKnFaSCaUC88eR5olAfMaauCQ== dependencies: react-confetti "^6.1.0" -"@storybook/addon-outline@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/addon-outline/-/addon-outline-8.4.0.tgz#41246a1f0d50dd61984db777a79368762a4c5d4a" - integrity sha512-qZdHaWq/DXoVycKzcynvVxg3MNzavsGCuq9HUl2X/oBKNii00NEZgYVLo4dQ8iDNlmykuJ9ReyXKBOKF7AU+9w== +"@storybook/addon-outline@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-outline/-/addon-outline-8.4.7.tgz#8a35fe519dd639bb287a370da2222e6ffdce4020" + integrity sha512-6LYRqUZxSodmAIl8icr585Oi8pmzbZ90aloZJIpve+dBAzo7ydYrSQxxoQEVltXbKf3VeVcrs64ouAYqjisMYA== dependencies: "@storybook/global" "^5.0.0" ts-dedent "^2.0.0" "@storybook/addon-storysource@^8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/addon-storysource/-/addon-storysource-8.4.0.tgz#c34918791ff05aae71664e606aacc5c3ec010e8d" - integrity sha512-NoDtqBGGMKRtGqrfIBv8cNZk+9nT3Ob+7W0Qv5G1xsx7Zlk/Dygq0ldwtKT3cZ7d19QJTN1b8dLVdsQ/5U5ylA== + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-storysource/-/addon-storysource-8.4.7.tgz#4e07961307752662c163cc2f713e4436dd4c69d0" + integrity sha512-ckMSiVf+8V3IVN3lTdzCdToXVoGhZ57pwMv0OpkdVIEn6sqHFHwHrOYiXpF3SXTicwayjylcL1JXTGoBFFDVOQ== dependencies: - "@storybook/source-loader" "8.4.0" + "@storybook/source-loader" "8.4.7" estraverse "^5.2.0" tiny-invariant "^1.3.1" -"@storybook/addon-toolbars@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-8.4.0.tgz#712ae412f0ae854a375b73323ce8bd2726cbf1f6" - integrity sha512-fXDeLsAweC1/roe5qNys+pBrjf1Mxof/7O/dZtQZJtcKox4WwzgirxexFFAZLfXOE9awm5svzo0YWYxWk+Lfwg== +"@storybook/addon-toolbars@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-8.4.7.tgz#b898d4deaf6f5a58f3b70bd8d136cd4ec2844b79" + integrity sha512-OSfdv5UZs+NdGB+nZmbafGUWimiweJ/56gShlw8Neo/4jOJl1R3rnRqqY7MYx8E4GwoX+i3GF5C3iWFNQqlDcw== -"@storybook/addon-viewport@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-8.4.0.tgz#6af7644620c976f975fc70118511a19cfb49cf74" - integrity sha512-hbHJzz7PcZ/bazUH3nAdG9yP3CUfF+wPdDwzcqSEVBRjdWSLZ4DHAtB0wajqhUoCsiRehg9avft1NokAc+KOgg== +"@storybook/addon-viewport@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-8.4.7.tgz#e65c53608f52149c06347b395487960605fc4805" + integrity sha512-hvczh/jjuXXcOogih09a663sRDDSATXwbE866al1DXgbDFraYD/LxX/QDb38W9hdjU9+Qhx8VFIcNWoMQns5HQ== dependencies: memoizerific "^1.11.3" -"@storybook/blocks@8.4.0", "@storybook/blocks@^8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/blocks/-/blocks-8.4.0.tgz#fbc7952b019186c6f6cd66ca84698273ae7bb137" - integrity sha512-LeXsZLTNcmKtgt0ZRdgzBa2Z8A5CH3gGyjG7QT3M+3yH9fVAXB2XplKOIejDsvR9jSBww3mKXyabX12NVZKz0A== +"@storybook/blocks@8.4.7", "@storybook/blocks@^8.4.0": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/blocks/-/blocks-8.4.7.tgz#ee17f59dd52d11c97c39b0f6b03957085a80ad95" + integrity sha512-+QH7+JwXXXIyP3fRCxz/7E2VZepAanXJM7G8nbR3wWsqWgrRp4Wra6MvybxAYCxU7aNfJX5c+RW84SNikFpcIA== dependencies: "@storybook/csf" "^0.1.11" "@storybook/icons" "^1.2.12" ts-dedent "^2.0.0" -"@storybook/builder-vite@8.4.0", "@storybook/builder-vite@^8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/builder-vite/-/builder-vite-8.4.0.tgz#e606fb7d760a775a98bd2ee1a59c788bf3b661ad" - integrity sha512-V1CjAumq1Xkj077MT1A7o00GOdewwQTE2LxhThUaB/qND+sApCaBbB3+jjfz147bu9IFn2esV3k5oLjiwqgUKw== +"@storybook/builder-vite@8.4.7", "@storybook/builder-vite@^8.4.0": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/builder-vite/-/builder-vite-8.4.7.tgz#3d6d542fa1f46fce5ee7a159dc8491cb4421254d" + integrity sha512-LovyXG5VM0w7CovI/k56ZZyWCveQFVDl0m7WwetpmMh2mmFJ+uPQ35BBsgTvTfc8RHi+9Q3F58qP1MQSByXi9g== dependencies: - "@storybook/csf-plugin" "8.4.0" + "@storybook/csf-plugin" "8.4.7" browser-assert "^1.2.1" ts-dedent "^2.0.0" -"@storybook/components@^8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/components/-/components-8.4.0.tgz#04b8bcc381bdfed9169ac216530712dba19daaec" - integrity sha512-o2jPW05YN2rbSLNMzPV769c4zCy3Vn0DhJbIQZsxUmUXAMX/n1+V1jlV3kbY0kCjiI6i/PH7i6PJnxICdJ35mQ== +"@storybook/components@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/components/-/components-8.4.7.tgz#09eeffa07aa672ad3966ca1764a43003731b1d30" + integrity sha512-uyJIcoyeMWKAvjrG9tJBUCKxr2WZk+PomgrgrUwejkIfXMO76i6jw9BwLa0NZjYdlthDv30r9FfbYZyeNPmF0g== -"@storybook/core@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/core/-/core-8.4.0.tgz#b49165bc89670d45ab525e0d2ff3e99ff4ebaa6a" - integrity sha512-RlvkBNPPLbHtJQ5M3SKfLLtn5GssRBOLBbJLJf8HjraeDI+YRt+J9FVXqNa9aHhOGoxam+hFinmuy9gyMbPW1A== +"@storybook/core@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/core/-/core-8.4.7.tgz#af9cbb3f26f0b6c98c679a134ce776c202570d66" + integrity sha512-7Z8Z0A+1YnhrrSXoKKwFFI4gnsLbWzr8fnDCU6+6HlDukFYh8GHRcZ9zKfqmy6U3hw2h8H5DrHsxWfyaYUUOoA== dependencies: "@storybook/csf" "^0.1.11" better-opn "^3.0.2" @@ -2890,17 +2723,17 @@ util "^0.12.5" ws "^8.2.3" -"@storybook/csf-plugin@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/csf-plugin/-/csf-plugin-8.4.0.tgz#e4271760cf9461e4f06d5b815b17bb16ac8ed77f" - integrity sha512-l4vD1XboHh3nFOvcCIjoTED6bQZtRx+T/CUFfuZu3KEA7uJnXt/kUCXair9+Cgky9XvSEMvBPhoqa2dRx9ibBQ== +"@storybook/csf-plugin@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/csf-plugin/-/csf-plugin-8.4.7.tgz#0117c872b05bf033eec089ab0224e0fab01da810" + integrity sha512-Fgogplu4HImgC+AYDcdGm1rmL6OR1rVdNX1Be9C/NEXwOCpbbBwi0BxTf/2ZxHRk9fCeaPEcOdP5S8QHfltc1g== dependencies: unplugin "^1.3.1" "@storybook/csf@^0.1.11": - version "0.1.11" - resolved "https://registry.yarnpkg.com/@storybook/csf/-/csf-0.1.11.tgz#ad685a4fe564a47a6b73571c2e7c07b526f4f71b" - integrity sha512-dHYFQH3mA+EtnCkHXzicbLgsvzYjcDJ1JWsogbItZogkPHgSJM/Wr71uMkcvw8v9mmCyP4NpXJuu6bPoVsOnzg== + version "0.1.13" + resolved "https://registry.yarnpkg.com/@storybook/csf/-/csf-0.1.13.tgz#c8a9bea2ae518a3d9700546748fa30a8b07f7f80" + integrity sha512-7xOOwCLGB3ebM87eemep89MYRFTko+D8qE7EdAAq74lgdqRR5cOUtYWJLjO2dLtP94nqoOdHJo6MdLLKzg412Q== dependencies: type-fest "^2.19.0" @@ -2910,90 +2743,90 @@ integrity sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ== "@storybook/icons@^1.2.12": - version "1.2.12" - resolved "https://registry.yarnpkg.com/@storybook/icons/-/icons-1.2.12.tgz#3e4c939113b67df7ab17b78f805dbb57f4acf0db" - integrity sha512-UxgyK5W3/UV4VrI3dl6ajGfHM4aOqMAkFLWe2KibeQudLf6NJpDrDMSHwZj+3iKC4jFU7dkKbbtH2h/al4sW3Q== + version "1.3.0" + resolved "https://registry.yarnpkg.com/@storybook/icons/-/icons-1.3.0.tgz#a5c1460fb15a7260e0b638ab86163f7347a0061e" + integrity sha512-Nz/UzeYQdUZUhacrPyfkiiysSjydyjgg/p0P9HxB4p/WaJUUjMAcaoaLgy3EXx61zZJ3iD36WPuDkZs5QYrA0A== -"@storybook/instrumenter@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/instrumenter/-/instrumenter-8.4.0.tgz#bc31342cb2acdf3083decd09396f86f9361b3630" - integrity sha512-iqQdH2lhyRVcCBnVOmjn/r/pFwIJ5X1isUkvyavwPf0KOB2bz+QuXXkvKdzirwQFu9jSLOEdu0v3Fr+PHUbIfA== +"@storybook/instrumenter@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/instrumenter/-/instrumenter-8.4.7.tgz#5a37876fee8f828241a1e7fd76891c6effc1805a" + integrity sha512-k6NSD3jaRCCHAFtqXZ7tw8jAzD/yTEWXGya+REgZqq5RCkmJ+9S4Ytp/6OhQMPtPFX23gAuJJzTQVLcCr+gjRg== dependencies: "@storybook/global" "^5.0.0" "@vitest/utils" "^2.1.1" -"@storybook/manager-api@^8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/manager-api/-/manager-api-8.4.0.tgz#fc1e6155860352ff590b69b8b0f627a9cc433e3b" - integrity sha512-duYoAtx3VkTHpoXd+NaMqBQNqIovmbTN7w/244O0LWyhF6AmQXnrY1Z72rjvvpxY6c1boRs6YdDLXPKxGVeRxw== +"@storybook/manager-api@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/manager-api/-/manager-api-8.4.7.tgz#4e13debf645c9300d7d6d49195e720d0c7ecd261" + integrity sha512-ELqemTviCxAsZ5tqUz39sDmQkvhVAvAgiplYy9Uf15kO0SP2+HKsCMzlrm2ue2FfkUNyqbDayCPPCB0Cdn/mpQ== -"@storybook/preview-api@^8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/preview-api/-/preview-api-8.4.0.tgz#4cda8faf7a36a90da49f7128aca25873cd47c261" - integrity sha512-Z9yduQRqzqeV85GEFyaTKtRtg/QYCb89bKhi4xcxY9l7DMAr7/lqpUxqngW5ogiNslusQzct3zI7os6INBlMFg== +"@storybook/preview-api@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/preview-api/-/preview-api-8.4.7.tgz#85e01a97f4182b974581765d725f6c7a7d190013" + integrity sha512-0QVQwHw+OyZGHAJEXo6Knx+6/4er7n2rTDE5RYJ9F2E2Lg42E19pfdLlq2Jhoods2Xrclo3wj6GWR//Ahi39Eg== -"@storybook/react-dom-shim@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/react-dom-shim/-/react-dom-shim-8.4.0.tgz#4d3ae0401640fc3c5eb5f1f34050606d8013749a" - integrity sha512-PYYZVdQ6/ts6hBMAwMEu4hfbyHFPzUYmVsZNtF2egaVJQ44xM4i1Zt+RJuo2NOt5VyBCfXJOs+lSIdmSBY2arw== +"@storybook/react-dom-shim@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/react-dom-shim/-/react-dom-shim-8.4.7.tgz#f0dd5bbf2fc185def72d9d08a11c8de22f152c2a" + integrity sha512-6bkG2jvKTmWrmVzCgwpTxwIugd7Lu+2btsLAqhQSzDyIj2/uhMNp8xIMr/NBDtLgq3nomt9gefNa9xxLwk/OMg== "@storybook/react-vite@^8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/react-vite/-/react-vite-8.4.0.tgz#e8b7d45cf3c599d1a86bdfc4a11d3283f9212223" - integrity sha512-Z8rH67LYJbABAzdN57bI9JHEeGy5o+9ewkiZ1yAWz0WOLxmA4yfLh0bkJwDbIiOQcogpxJ+Ps8Wi11XgD+Kx0A== + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/react-vite/-/react-vite-8.4.7.tgz#1a755596d65551c77850361da76df47027687664" + integrity sha512-iiY9iLdMXhDnilCEVxU6vQsN72pW3miaf0WSenOZRyZv3HdbpgOxI0qapOS0KCyRUnX9vTlmrSPTMchY4cAeOg== dependencies: - "@joshwooding/vite-plugin-react-docgen-typescript" "0.3.0" + "@joshwooding/vite-plugin-react-docgen-typescript" "0.4.2" "@rollup/pluginutils" "^5.0.2" - "@storybook/builder-vite" "8.4.0" - "@storybook/react" "8.4.0" + "@storybook/builder-vite" "8.4.7" + "@storybook/react" "8.4.7" find-up "^5.0.0" magic-string "^0.30.0" react-docgen "^7.0.0" resolve "^1.22.8" tsconfig-paths "^4.2.0" -"@storybook/react@8.4.0", "@storybook/react@^8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/react/-/react-8.4.0.tgz#60e1c4fe38642d55f7c7af520ca2af7c6dd6fc4e" - integrity sha512-jB7SNGdxFHFR9GgAPjrUUigE0pgOy3Bv3MaR9VdSGOZOnP+mjvZAO+ItPeKWHcQ7JnNujjtmMa2A80YcBfqBzQ== +"@storybook/react@8.4.7", "@storybook/react@^8.4.0": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/react/-/react-8.4.7.tgz#e2cf62b3c1d8e4bfe5eff82ced07ec473d4e4fd1" + integrity sha512-nQ0/7i2DkaCb7dy0NaT95llRVNYWQiPIVuhNfjr1mVhEP7XD090p0g7eqUmsx8vfdHh2BzWEo6CoBFRd3+EXxw== dependencies: - "@storybook/components" "^8.4.0" + "@storybook/components" "8.4.7" "@storybook/global" "^5.0.0" - "@storybook/manager-api" "^8.4.0" - "@storybook/preview-api" "^8.4.0" - "@storybook/react-dom-shim" "8.4.0" - "@storybook/theming" "^8.4.0" + "@storybook/manager-api" "8.4.7" + "@storybook/preview-api" "8.4.7" + "@storybook/react-dom-shim" "8.4.7" + "@storybook/theming" "8.4.7" -"@storybook/source-loader@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/source-loader/-/source-loader-8.4.0.tgz#afb9683483bf3aef6972951e7b5b91938473a5e7" - integrity sha512-t0rjlMUfgUAgqBQCkmJ/u7uSByBA1eIyQIhoJ9pHYCgZ63ZpNzS/kpLKOT3igDSgs8jznL7IprCjIQpx1fZ0XQ== +"@storybook/source-loader@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/source-loader/-/source-loader-8.4.7.tgz#c41f213c8e6440a310d5e616353b3266d2b56b56" + integrity sha512-DrsYGGfNbbqlMzkhbLoNyNqrPa4QIkZ6O7FJ8Z/8jWb0cerQH2N6JW6k12ZnXgs8dO2Z33+iSEDIV8odh0E0PA== dependencies: "@storybook/csf" "^0.1.11" es-toolkit "^1.22.0" estraverse "^5.2.0" prettier "^3.1.1" -"@storybook/test@8.4.0", "@storybook/test@^8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/test/-/test-8.4.0.tgz#942a24b426ebc6ed79e75d634aa243da27c18ced" - integrity sha512-uHZ6+8RfEauwxi7Zy/LijfyIXrjCD7iTHmnTdT3BdP+2c/lDFAKXzHmbQJitefDFEgz1eHx/MArHZ8V3qu1ogg== +"@storybook/test@8.4.7", "@storybook/test@^8.4.0": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/test/-/test-8.4.7.tgz#7f58f2cdf3a6d810bf3ff4e0e2fee634040c678f" + integrity sha512-AhvJsu5zl3uG40itSQVuSy5WByp3UVhS6xAnme4FWRwgSxhvZjATJ3AZkkHWOYjnnk+P2/sbz/XuPli1FVCWoQ== dependencies: "@storybook/csf" "^0.1.11" "@storybook/global" "^5.0.0" - "@storybook/instrumenter" "8.4.0" + "@storybook/instrumenter" "8.4.7" "@testing-library/dom" "10.4.0" "@testing-library/jest-dom" "6.5.0" "@testing-library/user-event" "14.5.2" "@vitest/expect" "2.0.5" "@vitest/spy" "2.0.5" -"@storybook/theming@^8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-8.4.0.tgz#7db8adc9a6afdbfe3b4673439082696ad959b0da" - integrity sha512-S7Iv5HMiYEJZlkQM0K9bxACLN7s8lCSG3M2CN6A82LSoXayFauuaPpn3LrNE2BvkTpdu17w19YiGbVYhPtRqsg== +"@storybook/theming@8.4.7": + version "8.4.7" + resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-8.4.7.tgz#c308f6a883999bd35e87826738ab8a76515932b5" + integrity sha512-99rgLEjf7iwfSEmdqlHkSG3AyLcK0sfExcr0jnc6rLiAkBhzuIsvcHjjUwkR210SOCgXqBPW0ZA6uhnuyppHLw== -"@testing-library/dom@10.4.0": +"@testing-library/dom@10.4.0", "@testing-library/dom@^10.0.0": version "10.4.0" resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-10.4.0.tgz#82a9d9462f11d240ecadbf406607c6ceeeff43a8" integrity sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ== @@ -3007,23 +2840,9 @@ lz-string "^1.5.0" pretty-format "^27.0.2" -"@testing-library/dom@^10.0.0": - version "10.1.0" - resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-10.1.0.tgz" - integrity sha512-wdsYKy5zupPyLCW2Je5DLHSxSfbIp6h80WoHOQc+RPtmPGA52O9x5MJEkv92Sjonpq+poOAtUKhh1kBGAXBrNA== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/runtime" "^7.12.5" - "@types/aria-query" "^5.0.1" - aria-query "5.3.0" - chalk "^4.1.0" - dom-accessibility-api "^0.5.9" - lz-string "^1.5.0" - pretty-format "^27.0.2" - "@testing-library/dom@^8.5.0": version "8.20.1" - resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.20.1.tgz#2e52a32e46fc88369eef7eef634ac2a192decd9f" integrity sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g== dependencies: "@babel/code-frame" "^7.10.4" @@ -3049,12 +2868,11 @@ redent "^3.0.0" "@testing-library/jest-dom@^6.4.5": - version "6.4.5" - resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.5.tgz" - integrity sha512-AguB9yvTXmCnySBP1lWjfNNUwpbElsaQ567lt2VdGqAdHtpieLgjmcVyv1q7PMIvLbgpDdkWV5Ydv3FEejyp2A== + version "6.6.3" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-6.6.3.tgz#26ba906cf928c0f8172e182c6fe214eb4f9f2bd2" + integrity sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA== dependencies: - "@adobe/css-tools" "^4.3.2" - "@babel/runtime" "^7.9.2" + "@adobe/css-tools" "^4.4.0" aria-query "^5.0.0" chalk "^3.0.0" css.escape "^1.5.1" @@ -3064,7 +2882,7 @@ "@testing-library/react@^13.3.0": version "13.4.0" - resolved "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-13.4.0.tgz#6a31e3bf5951615593ad984e96b9e5e2d9380966" integrity sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw== dependencies: "@babel/runtime" "^7.12.5" @@ -3073,7 +2891,7 @@ "@testing-library/react@^15.0.7": version "15.0.7" - resolved "https://registry.npmjs.org/@testing-library/react/-/react-15.0.7.tgz" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-15.0.7.tgz#ff733ce0893c875cb5a47672e8e772897128f4ae" integrity sha512-cg0RvEdD1TIhhkm1IeYMQxrzy0MtUNfa3minv4MjbgcYzJAZ7yD0i0lwoPOTPr+INtiXFezt2o8xMSnyHhEn2Q== dependencies: "@babel/runtime" "^7.12.5" @@ -3081,9 +2899,9 @@ "@types/react-dom" "^18.0.0" "@testing-library/react@^16.0.0": - version "16.0.0" - resolved "https://registry.npmjs.org/@testing-library/react/-/react-16.0.0.tgz" - integrity sha512-guuxUKRWQ+FgNX0h0NS0FIq3Q3uLtWVpBzcLOggmfMoUpgBnzBzvLLd4fbm6yS8ydJd94cIfY4yP9qUQjM2KwQ== + version "16.1.0" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-16.1.0.tgz#aa0c61398bac82eaf89776967e97de41ac742d71" + integrity sha512-Q2ToPvg0KsVL0ohND9A3zLJWcOXXcO8IDu3fj11KhNt0UlCWyFyvnCIBkd12tidB2lkiVRG8VFqdhcqhqnAQtg== dependencies: "@babel/runtime" "^7.12.5" @@ -3094,27 +2912,27 @@ "@tootallnate/once@2": version "2.0.0" - resolved "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== "@tsconfig/node10@^1.0.7": version "1.0.11" - resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz" + resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.11.tgz#6ee46400685f130e278128c7b38b7e031ff5b2f2" integrity sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw== "@tsconfig/node12@^1.0.7": version "1.0.11" - resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" + resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== "@tsconfig/node14@^1.0.0": version "1.0.3" - resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== "@tsconfig/node16@^1.0.2": version "1.0.4" - resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== "@types/argparse@1.0.38": @@ -3124,12 +2942,12 @@ "@types/aria-query@^5.0.1": version "5.0.4" - resolved "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz" + resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== "@types/babel__core@^7.1.14", "@types/babel__core@^7.18.0", "@types/babel__core@^7.20.5": version "7.20.5" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== dependencies: "@babel/parser" "^7.20.7" @@ -3140,14 +2958,14 @@ "@types/babel__generator@*": version "7.6.8" - resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": version "7.4.4" - resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== dependencies: "@babel/parser" "^7.1.0" @@ -3155,17 +2973,16 @@ "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6", "@types/babel__traverse@^7.18.0": version "7.20.6" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.6.tgz#8dc9f0ae0f202c08d8d4dab648912c8d6038e3f7" integrity sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg== dependencies: "@babel/types" "^7.20.7" "@types/create-react-class@*": - version "15.6.8" - resolved "https://registry.npmjs.org/@types/create-react-class/-/create-react-class-15.6.8.tgz" - integrity sha512-s5HocgHXvN4Phoypsz8+4TLFreWRUrMcq9MHgwVleqNNR5EipSrFN49LCU/N7j8nIiQoRExY9n79LBrTDdsE1Q== + version "15.6.9" + resolved "https://registry.yarnpkg.com/@types/create-react-class/-/create-react-class-15.6.9.tgz#926ec90e4341d9bf35e030f5dd44752b4690ab53" + integrity sha512-BfHsUCFeDRRzPMAyXPOcZm1xmet+a4/jcMmYi/6qJD+UdE6CHKg8x+cVhzunrlT4xJX5pevW+uazpuMKi2d2Yw== dependencies: - "@types/prop-types" "*" "@types/react" "*" "@types/doctrine@^0.0.9": @@ -3173,41 +2990,33 @@ resolved "https://registry.yarnpkg.com/@types/doctrine/-/doctrine-0.0.9.tgz#d86a5f452a15e3e3113b99e39616a9baa0f9863f" integrity sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA== -"@types/estree@1.0.5", "@types/estree@^1.0.0": - version "1.0.5" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== - -"@types/glob@^7.1.3": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" - integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" +"@types/estree@1.0.6", "@types/estree@^1.0.0", "@types/estree@^1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== "@types/graceful-fs@^4.1.3": version "4.1.9" - resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== dependencies: "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.6" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== "@types/istanbul-lib-report@*": version "3.0.3" - resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^3.0.0": version "3.0.4" - resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== dependencies: "@types/istanbul-lib-report" "*" @@ -3221,40 +3030,40 @@ pretty-format "^28.0.0" "@types/jest@^29.5.12": - version "29.5.12" - resolved "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz" - integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw== + version "29.5.14" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.14.tgz#2b910912fa1d6856cadcd0c1f95af7df1d6049e5" + integrity sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ== dependencies: expect "^29.0.0" pretty-format "^29.0.0" "@types/jquery@^3.5.5": - version "3.5.30" - resolved "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.30.tgz" - integrity sha512-nbWKkkyb919DOUxjmRVk8vwtDb0/k8FKncmUKFi+NY+QXqWltooxTrswvz4LspQwxvLdvzBN1TImr6cw3aQx2A== + version "3.5.32" + resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.5.32.tgz#3eb0da20611b92c7c49ebed6163b52a4fdc57def" + integrity sha512-b9Xbf4CkMqS02YH8zACqN1xzdxc3cO735Qe5AbSUFmyOiaWAbcpqh9Wna+Uk0vgACvoQHpWDg2rGdHkYPLmCiQ== dependencies: "@types/sizzle" "*" "@types/jsdom@^20.0.0": version "20.0.1" - resolved "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz" + resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-20.0.1.tgz#07c14bc19bd2f918c1929541cdaacae894744808" integrity sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ== dependencies: "@types/node" "*" "@types/tough-cookie" "*" parse5 "^7.0.0" -"@types/json-schema@^7.0.7": +"@types/json-schema@^7.0.15", "@types/json-schema@^7.0.7": version "7.0.15" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/material-ui@^0.21.17": - version "0.21.17" - resolved "https://registry.npmjs.org/@types/material-ui/-/material-ui-0.21.17.tgz" - integrity sha512-3iyPhFkqI856UBWRxaO7ZZDpOtWM3XPl5gdKKkVBPn3TqNBdgDuFFhHx8BFLL85o5oYy5Y/SX5s0bs7a2VdLTw== + version "0.21.18" + resolved "https://registry.yarnpkg.com/@types/material-ui/-/material-ui-0.21.18.tgz#f47704aa7e3031e5171cc309b1998e5234c2c183" + integrity sha512-wGyYlCJaznt0C87Xnqae7v3imh57gsomQvzozsHhZKJHH4QG+i0qE4/h6D4igpXEXr4ooscgclg+O2RIKOP84Q== dependencies: - "@types/react" "*" + "@types/react" "^18" "@types/react-addons-linked-state-mixin" "*" "@types/mdx@^2.0.0": @@ -3262,36 +3071,38 @@ resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.13.tgz#68f6877043d377092890ff5b298152b0a21671bd" integrity sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw== -"@types/minimatch@*": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" - integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== +"@types/node@*": + version "22.10.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.5.tgz#95af89a3fb74a2bb41ef9927f206e6472026e48b" + integrity sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ== + dependencies: + undici-types "~6.20.0" -"@types/node@*", "@types/node@^20.12.13": - version "20.14.2" - resolved "https://registry.npmjs.org/@types/node/-/node-20.14.2.tgz" - integrity sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q== +"@types/node@^20.12.13": + version "20.17.11" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.17.11.tgz#2c05215fc37316b1596df7fbdba52151eaf83c50" + integrity sha512-Ept5glCK35R8yeyIeYlRIZtX6SLRyqMhOFTgj5SOkMpLTdw3SEHI9fHx60xaUZ+V1aJxQJODE+7/j5ocZydYTg== dependencies: - undici-types "~5.26.4" + undici-types "~6.19.2" "@types/parse-json@^4.0.0": version "4.0.2" - resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== "@types/prettier@^2.1.5": version "2.7.3" - resolved "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== -"@types/prop-types@*", "@types/prop-types@^15.7.11", "@types/prop-types@^15.7.12": - version "15.7.12" - resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz" - integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== +"@types/prop-types@*", "@types/prop-types@^15.7.11", "@types/prop-types@^15.7.12", "@types/prop-types@^15.7.14": + version "15.7.14" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.14.tgz#1433419d73b2a7ebfc6918dcefd2ec0d5cd698f2" + integrity sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ== "@types/react-addons-linked-state-mixin@*": version "0.14.27" - resolved "https://registry.npmjs.org/@types/react-addons-linked-state-mixin/-/react-addons-linked-state-mixin-0.14.27.tgz" + resolved "https://registry.yarnpkg.com/@types/react-addons-linked-state-mixin/-/react-addons-linked-state-mixin-0.14.27.tgz#8f2a31b9d988ce430775983bbb0d0965e8b537a3" integrity sha512-yVxzQcKDiq32uziGQ/ka586qSFxz2ePYZ3dTCp4JHJKk/E6M0LP0R28ft3oFAnTGJRFBAB3if3pkP8w57Y04IA== dependencies: "@types/create-react-class" "*" @@ -3299,7 +3110,7 @@ "@types/react-color@3.0.10": version "3.0.10" - resolved "https://registry.npmjs.org/@types/react-color/-/react-color-3.0.10.tgz" + resolved "https://registry.yarnpkg.com/@types/react-color/-/react-color-3.0.10.tgz#f869ab3a46938fb97a5c2ee568bc6469f82b14dd" integrity sha512-6K5BAn3zyd8lW8UbckIAVeXGxR82Za9jyGD2DBEynsa7fKaguLDVtjfypzs7fgEV7bULgs7uhds8A8v1wABTvQ== dependencies: "@types/react" "*" @@ -3307,47 +3118,40 @@ "@types/react-dom@18.2.19": version "18.2.19" - resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.19.tgz" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.19.tgz#b84b7c30c635a6c26c6a6dfbb599b2da9788be58" integrity sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA== dependencies: "@types/react" "*" "@types/react-dom@^18.0.0", "@types/react-dom@^18.3.0": - version "18.3.0" - resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz" - integrity sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg== - dependencies: - "@types/react" "*" + version "18.3.5" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.5.tgz#45f9f87398c5dcea085b715c58ddcf1faf65f716" + integrity sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q== "@types/react-transition-group@^4.4.10": - version "4.4.10" - resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz" - integrity sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q== - dependencies: - "@types/react" "*" + version "4.4.12" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.12.tgz#b5d76568485b02a307238270bfe96cb51ee2a044" + integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w== -"@types/react@*", "@types/react@^18.3.1", "@types/react@^18.3.3": - version "18.3.3" - resolved "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz" - integrity sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw== +"@types/react@*": + version "19.0.2" + resolved "https://registry.yarnpkg.com/@types/react/-/react-19.0.2.tgz#9363e6b3ef898c471cb182dd269decc4afc1b4f6" + integrity sha512-USU8ZI/xyKJwFTpjSVIrSeHBVAGagkHQKPNbxeWwql/vDmnTIBgx+TJnhFnj1NXgz8XfprU0egV2dROLGpsBEg== dependencies: - "@types/prop-types" "*" csstype "^3.0.2" -"@types/react@^18.0.15": - version "18.3.5" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.5.tgz#5f524c2ad2089c0ff372bbdabc77ca2c4dbadf8f" - integrity sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA== +"@types/react@^18", "@types/react@^18.0.15", "@types/react@^18.3.1", "@types/react@^18.3.3": + version "18.3.18" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.18.tgz#9b382c4cd32e13e463f97df07c2ee3bbcd26904b" + integrity sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ== dependencies: "@types/prop-types" "*" csstype "^3.0.2" "@types/reactcss@*": - version "1.2.12" - resolved "https://registry.npmjs.org/@types/reactcss/-/reactcss-1.2.12.tgz" - integrity sha512-BrXUQ86/wbbFiZv8h/Q1/Q1XOsaHneYmCb/tHe9+M8XBAAUc2EHfdY0DY22ZZjVSaXr5ix7j+zsqO2eGZub8lQ== - dependencies: - "@types/react" "*" + version "1.2.13" + resolved "https://registry.yarnpkg.com/@types/reactcss/-/reactcss-1.2.13.tgz#11c7468cc96b5353f7af998a5664deae21c7af08" + integrity sha512-gi3S+aUi6kpkF5vdhUsnkwbiSEIU/BEJyD7kBy2SudWBUuKmJk8AQKE0OVcQQeEy40Azh0lV6uynxlikYIJuwg== "@types/redux-mock-store@1.0.6": version "1.0.6" @@ -3362,29 +3166,29 @@ integrity sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ== "@types/sizzle@*": - version "2.3.8" - resolved "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.8.tgz" - integrity sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg== + version "2.3.9" + resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.9.tgz#d4597dbd4618264c414d7429363e3f50acb66ea2" + integrity sha512-xzLEyKB50yqCUPUJkIsrVvoWNfFUbIZI+RspLWt8u+tIW/BetMBZtgV2LY/2o+tYH8dRvQ+eoPf3NdhQCcLE2w== "@types/stack-utils@^2.0.0": version "2.0.3" - resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== "@types/tough-cookie@*": version "4.0.5" - resolved "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz" + resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304" integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== "@types/underscore@^1.10.24": - version "1.11.15" - resolved "https://registry.npmjs.org/@types/underscore/-/underscore-1.11.15.tgz" - integrity sha512-HP38xE+GuWGlbSRq9WrZkousaQ7dragtZCruBVMi0oX1migFZavZ3OROKHSkNp/9ouq82zrWtZpg18jFnVN96g== + version "1.13.0" + resolved "https://registry.yarnpkg.com/@types/underscore/-/underscore-1.13.0.tgz#dd8c034a92e5b8e24650c31af43d807c5340cee4" + integrity sha512-L6LBgy1f0EFQZ+7uSA57+n2g/s4Qs5r06Vwrwn0/nuK1de+adz00NWaztRQ30aEqw5qOaWbPI8u2cGQ52lj6VA== -"@types/use-sync-external-store@^0.0.3": - version "0.0.3" - resolved "https://registry.yarnpkg.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz#b6725d5f4af24ace33b36fafd295136e75509f43" - integrity sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA== +"@types/use-sync-external-store@^0.0.6": + version "0.0.6" + resolved "https://registry.yarnpkg.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz#60be8d21baab8c305132eb9cb912ed497852aadc" + integrity sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg== "@types/uuid@^9.0.1": version "9.0.8" @@ -3400,41 +3204,41 @@ "@types/yargs-parser@*": version "21.0.3" - resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== "@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== + version "17.0.33" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" + integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@7.12.0": - version "7.12.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.12.0.tgz" - integrity sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q== +"@typescript-eslint/eslint-plugin@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz#b16d3cf3ee76bf572fdf511e79c248bdec619ea3" + integrity sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "7.12.0" - "@typescript-eslint/type-utils" "7.12.0" - "@typescript-eslint/utils" "7.12.0" - "@typescript-eslint/visitor-keys" "7.12.0" + "@typescript-eslint/scope-manager" "7.18.0" + "@typescript-eslint/type-utils" "7.18.0" + "@typescript-eslint/utils" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^1.3.0" -"@typescript-eslint/eslint-plugin@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.4.0.tgz#188c65610ef875a086404b5bfe105df936b035da" - integrity sha512-rg8LGdv7ri3oAlenMACk9e+AR4wUV0yrrG+XKsGKOK0EVgeEDqurkXMPILG2836fW4ibokTB5v4b6Z9+GYQDEw== +"@typescript-eslint/eslint-plugin@8.19.0": + version "8.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.0.tgz#2b1e1b791e21d5fc27ddc93884db066444f597b5" + integrity sha512-NggSaEZCdSrFddbctrVjkVZvFC6KGfKfNK0CU7mNK/iKHGKbzT4Wmgm08dKpcZECBu9f5FypndoMyRHkdqfT1Q== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.4.0" - "@typescript-eslint/type-utils" "8.4.0" - "@typescript-eslint/utils" "8.4.0" - "@typescript-eslint/visitor-keys" "8.4.0" + "@typescript-eslint/scope-manager" "8.19.0" + "@typescript-eslint/type-utils" "8.19.0" + "@typescript-eslint/utils" "8.19.0" + "@typescript-eslint/visitor-keys" "8.19.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" @@ -3442,7 +3246,7 @@ "@typescript-eslint/eslint-plugin@^4.15.0": version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== dependencies: "@typescript-eslint/experimental-utils" "4.33.0" @@ -3456,7 +3260,7 @@ "@typescript-eslint/experimental-utils@4.33.0": version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== dependencies: "@types/json-schema" "^7.0.7" @@ -3466,31 +3270,31 @@ eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/parser@7.12.0": - version "7.12.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.12.0.tgz" - integrity sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ== +"@typescript-eslint/parser@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.18.0.tgz#83928d0f1b7f4afa974098c64b5ce6f9051f96a0" + integrity sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg== dependencies: - "@typescript-eslint/scope-manager" "7.12.0" - "@typescript-eslint/types" "7.12.0" - "@typescript-eslint/typescript-estree" "7.12.0" - "@typescript-eslint/visitor-keys" "7.12.0" + "@typescript-eslint/scope-manager" "7.18.0" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/typescript-estree" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" debug "^4.3.4" -"@typescript-eslint/parser@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.4.0.tgz#36b7cd7643a1c190d49dc0278192b2450f615a6f" - integrity sha512-NHgWmKSgJk5K9N16GIhQ4jSobBoJwrmURaLErad0qlLjrpP5bECYg+wxVTGlGZmJbU03jj/dfnb6V9bw+5icsA== +"@typescript-eslint/parser@8.19.0": + version "8.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.19.0.tgz#f1512e6e5c491b03aabb2718b95becde22b15292" + integrity sha512-6M8taKyOETY1TKHp0x8ndycipTVgmp4xtg5QpEZzXxDhNvvHOJi5rLRkLr8SK3jTgD5l4fTlvBiRdfsuWydxBw== dependencies: - "@typescript-eslint/scope-manager" "8.4.0" - "@typescript-eslint/types" "8.4.0" - "@typescript-eslint/typescript-estree" "8.4.0" - "@typescript-eslint/visitor-keys" "8.4.0" + "@typescript-eslint/scope-manager" "8.19.0" + "@typescript-eslint/types" "8.19.0" + "@typescript-eslint/typescript-estree" "8.19.0" + "@typescript-eslint/visitor-keys" "8.19.0" debug "^4.3.4" "@typescript-eslint/parser@^4.15.0": version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== dependencies: "@typescript-eslint/scope-manager" "4.33.0" @@ -3500,66 +3304,66 @@ "@typescript-eslint/scope-manager@4.33.0": version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== dependencies: "@typescript-eslint/types" "4.33.0" "@typescript-eslint/visitor-keys" "4.33.0" -"@typescript-eslint/scope-manager@7.12.0": - version "7.12.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.12.0.tgz" - integrity sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg== +"@typescript-eslint/scope-manager@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz#c928e7a9fc2c0b3ed92ab3112c614d6bd9951c83" + integrity sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA== dependencies: - "@typescript-eslint/types" "7.12.0" - "@typescript-eslint/visitor-keys" "7.12.0" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" -"@typescript-eslint/scope-manager@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.4.0.tgz#8a13d3c0044513d7960348db6f4789d2a06fa4b4" - integrity sha512-n2jFxLeY0JmKfUqy3P70rs6vdoPjHK8P/w+zJcV3fk0b0BwRXC/zxRTEnAsgYT7MwdQDt/ZEbtdzdVC+hcpF0A== +"@typescript-eslint/scope-manager@8.19.0": + version "8.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.19.0.tgz#28fa413a334f70e8b506a968531e0a7c9c3076dc" + integrity sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA== dependencies: - "@typescript-eslint/types" "8.4.0" - "@typescript-eslint/visitor-keys" "8.4.0" + "@typescript-eslint/types" "8.19.0" + "@typescript-eslint/visitor-keys" "8.19.0" -"@typescript-eslint/type-utils@7.12.0": - version "7.12.0" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.12.0.tgz" - integrity sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA== +"@typescript-eslint/type-utils@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz#2165ffaee00b1fbbdd2d40aa85232dab6998f53b" + integrity sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA== dependencies: - "@typescript-eslint/typescript-estree" "7.12.0" - "@typescript-eslint/utils" "7.12.0" + "@typescript-eslint/typescript-estree" "7.18.0" + "@typescript-eslint/utils" "7.18.0" debug "^4.3.4" ts-api-utils "^1.3.0" -"@typescript-eslint/type-utils@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.4.0.tgz#4a91b5789f41946adb56d73e2fb4639fdcf37af7" - integrity sha512-pu2PAmNrl9KX6TtirVOrbLPLwDmASpZhK/XU7WvoKoCUkdtq9zF7qQ7gna0GBZFN0hci0vHaSusiL2WpsQk37A== +"@typescript-eslint/type-utils@8.19.0": + version "8.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.19.0.tgz#41abd7d2e4cf93b6854b1fe6cbf416fab5abf89f" + integrity sha512-TZs0I0OSbd5Aza4qAMpp1cdCYVnER94IziudE3JU328YUHgWu9gwiwhag+fuLeJ2LkWLXI+F/182TbG+JaBdTg== dependencies: - "@typescript-eslint/typescript-estree" "8.4.0" - "@typescript-eslint/utils" "8.4.0" + "@typescript-eslint/typescript-estree" "8.19.0" + "@typescript-eslint/utils" "8.19.0" debug "^4.3.4" ts-api-utils "^1.3.0" "@typescript-eslint/types@4.33.0": version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== -"@typescript-eslint/types@7.12.0": - version "7.12.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.12.0.tgz" - integrity sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg== +"@typescript-eslint/types@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.18.0.tgz#b90a57ccdea71797ffffa0321e744f379ec838c9" + integrity sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ== -"@typescript-eslint/types@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.4.0.tgz#b44d6a90a317a6d97a3e5fabda5196089eec6171" - integrity sha512-T1RB3KQdskh9t3v/qv7niK6P8yvn7ja1mS7QK7XfRVL6wtZ8/mFs/FHf4fKvTA0rKnqnYxl/uHFNbnEt0phgbw== +"@typescript-eslint/types@8.19.0": + version "8.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.19.0.tgz#a190a25c5484a42b81eaad06989579fdeb478cbb" + integrity sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA== "@typescript-eslint/typescript-estree@4.33.0": version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== dependencies: "@typescript-eslint/types" "4.33.0" @@ -3570,13 +3374,13 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@7.12.0": - version "7.12.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.12.0.tgz" - integrity sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ== +"@typescript-eslint/typescript-estree@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz#b5868d486c51ce8f312309ba79bdb9f331b37931" + integrity sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA== dependencies: - "@typescript-eslint/types" "7.12.0" - "@typescript-eslint/visitor-keys" "7.12.0" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" @@ -3584,13 +3388,13 @@ semver "^7.6.0" ts-api-utils "^1.3.0" -"@typescript-eslint/typescript-estree@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.4.0.tgz#00ed79ae049e124db37315cde1531a900a048482" - integrity sha512-kJ2OIP4dQw5gdI4uXsaxUZHRwWAGpREJ9Zq6D5L0BweyOrWsL6Sz0YcAZGWhvKnH7fm1J5YFE1JrQL0c9dd53A== +"@typescript-eslint/typescript-estree@8.19.0": + version "8.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.0.tgz#6b4f48f98ffad6597379951b115710f4d68c9ccb" + integrity sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw== dependencies: - "@typescript-eslint/types" "8.4.0" - "@typescript-eslint/visitor-keys" "8.4.0" + "@typescript-eslint/types" "8.19.0" + "@typescript-eslint/visitor-keys" "8.19.0" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -3598,58 +3402,58 @@ semver "^7.6.0" ts-api-utils "^1.3.0" -"@typescript-eslint/utils@7.12.0": - version "7.12.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.12.0.tgz" - integrity sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ== +"@typescript-eslint/utils@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.18.0.tgz#bca01cde77f95fc6a8d5b0dbcbfb3d6ca4be451f" + integrity sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "7.12.0" - "@typescript-eslint/types" "7.12.0" - "@typescript-eslint/typescript-estree" "7.12.0" + "@typescript-eslint/scope-manager" "7.18.0" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/typescript-estree" "7.18.0" -"@typescript-eslint/utils@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.4.0.tgz#35c552a404858c853a1f62ba6df2214f1988afc3" - integrity sha512-swULW8n1IKLjRAgciCkTCafyTHHfwVQFt8DovmaF69sKbOxTSFMmIZaSHjqO9i/RV0wIblaawhzvtva8Nmm7lQ== +"@typescript-eslint/utils@8.19.0": + version "8.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.19.0.tgz#33824310e1fccc17f27fbd1030fd8bbd9a674684" + integrity sha512-PTBG+0oEMPH9jCZlfg07LCB2nYI0I317yyvXGfxnvGvw4SHIOuRnQ3kadyyXY6tGdChusIHIbM5zfIbp4M6tCg== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.4.0" - "@typescript-eslint/types" "8.4.0" - "@typescript-eslint/typescript-estree" "8.4.0" + "@typescript-eslint/scope-manager" "8.19.0" + "@typescript-eslint/types" "8.19.0" + "@typescript-eslint/typescript-estree" "8.19.0" "@typescript-eslint/visitor-keys@4.33.0": version "4.33.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== dependencies: "@typescript-eslint/types" "4.33.0" eslint-visitor-keys "^2.0.0" -"@typescript-eslint/visitor-keys@7.12.0": - version "7.12.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.12.0.tgz" - integrity sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ== +"@typescript-eslint/visitor-keys@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz#0564629b6124d67607378d0f0332a0495b25e7d7" + integrity sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg== dependencies: - "@typescript-eslint/types" "7.12.0" + "@typescript-eslint/types" "7.18.0" eslint-visitor-keys "^3.4.3" -"@typescript-eslint/visitor-keys@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.4.0.tgz#1e8a8b8fd3647db1e42361fdd8de3e1679dec9d2" - integrity sha512-zTQD6WLNTre1hj5wp09nBIDiOc2U5r/qmzo7wxPn4ZgAjHql09EofqhF9WF+fZHzL5aCyaIpPcT2hyxl73kr9A== +"@typescript-eslint/visitor-keys@8.19.0": + version "8.19.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.0.tgz#dc313f735e64c4979c9073f51ffcefb6d9be5c77" + integrity sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w== dependencies: - "@typescript-eslint/types" "8.4.0" - eslint-visitor-keys "^3.4.3" + "@typescript-eslint/types" "8.19.0" + eslint-visitor-keys "^4.2.0" "@vitejs/plugin-react@^4.3.1": - version "4.3.1" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.3.1.tgz#d0be6594051ded8957df555ff07a991fb618b48e" - integrity sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg== + version "4.3.4" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz#c64be10b54c4640135a5b28a2432330e88ad7c20" + integrity sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug== dependencies: - "@babel/core" "^7.24.5" - "@babel/plugin-transform-react-jsx-self" "^7.24.5" - "@babel/plugin-transform-react-jsx-source" "^7.24.1" + "@babel/core" "^7.26.0" + "@babel/plugin-transform-react-jsx-self" "^7.25.9" + "@babel/plugin-transform-react-jsx-source" "^7.25.9" "@types/babel__core" "^7.20.5" react-refresh "^0.14.2" @@ -3670,10 +3474,10 @@ dependencies: tinyrainbow "^1.2.0" -"@vitest/pretty-format@2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-2.1.4.tgz#fc31993bdc1ef5a6c1a4aa6844e7ba55658a4f9f" - integrity sha512-L95zIAkEuTDbUX1IsjRl+vyBSLh3PwLLgKpghl37aCK9Jvw0iP+wKwIFhfjdUtA2myLgjrG6VU6JCFLv8q/3Ww== +"@vitest/pretty-format@2.1.8": + version "2.1.8" + resolved "https://registry.yarnpkg.com/@vitest/pretty-format/-/pretty-format-2.1.8.tgz#88f47726e5d0cf4ba873d50c135b02e4395e2bca" + integrity sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ== dependencies: tinyrainbow "^1.2.0" @@ -3695,65 +3499,44 @@ tinyrainbow "^1.2.0" "@vitest/utils@^2.1.1": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-2.1.4.tgz#6d67ac966647a21ce8bc497472ce230de3b64537" - integrity sha512-MXDnZn0Awl2S86PSNIim5PWXgIAx8CIkzu35mBdSApUip6RFOGXBCf3YFyeEu8n1IHk4bWD46DeYFu9mQlFIRg== + version "2.1.8" + resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-2.1.8.tgz#f8ef85525f3362ebd37fd25d268745108d6ae388" + integrity sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA== dependencies: - "@vitest/pretty-format" "2.1.4" + "@vitest/pretty-format" "2.1.8" loupe "^3.1.2" tinyrainbow "^1.2.0" -"@volar/language-core@2.4.1", "@volar/language-core@~2.4.0-alpha.18": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-2.4.1.tgz#267984b2b06908b78f1c016392fc75b75516595b" - integrity sha512-9AKhC7Qn2mQYxj7Dz3bVxeOk7gGJladhWixUYKef/o0o7Bm4an+A3XvmcTHVqZ8stE6lBVH++g050tBtJ4TZPQ== - dependencies: - "@volar/source-map" "2.4.1" - -"@volar/language-core@2.4.4", "@volar/language-core@~2.4.1": - version "2.4.4" - resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-2.4.4.tgz#4e05ee09f283ab55c37677f80f5faa5e5b3fe2fe" - integrity sha512-kO9k4kTLfxpg+6lq7/KAIv3m2d62IHuCL6GbVgYZTpfKvIGoAIlDxK7pFcB/eczN2+ydg/vnyaeZ6SGyZrJw2w== +"@volar/language-core@2.4.11", "@volar/language-core@~2.4.8": + version "2.4.11" + resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-2.4.11.tgz#d95a9ec4f14fbdb41a6a64f9f321d11d23a5291c" + integrity sha512-lN2C1+ByfW9/JRPpqScuZt/4OrUUse57GLI6TbLgTIqBVemdl1wNcZ1qYGEo2+Gw8coYLgCy7SuKqn6IrQcQgg== dependencies: - "@volar/source-map" "2.4.4" + "@volar/source-map" "2.4.11" -"@volar/source-map@2.4.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-2.4.1.tgz#6a6d02b9dac66a5dd99378dcdae63107a0b45fce" - integrity sha512-Xq6ep3OZg9xUqN90jEgB9ztX5SsTz1yiV8wiQbcYNjWkek+Ie3dc8l7AVt3EhDm9mSIR58oWczHkzM2H6HIsmQ== - -"@volar/source-map@2.4.4": - version "2.4.4" - resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-2.4.4.tgz#98612684bfc54620f7b49c969d4657465c306faf" - integrity sha512-xG3PZqOP2haG8XG4Pg3PD1UGDAdqZg24Ru8c/qYjYAnmcj6GBR64mstx+bZux5QOyRaJK+/lNM/RnpvBD3489g== - -"@volar/typescript@^2.3.4", "@volar/typescript@~2.4.0-alpha.18": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-2.4.1.tgz#6285f29b36c58769ccc14153f329d11e89ee13bc" - integrity sha512-UoRzC0PXcwajFQTu8XxKSYNsWNBtVja6Y9gC8eLv7kYm+UEKJCcZ8g7dialsOYA0HKs3Vpg57MeCsawFLC6m9Q== - dependencies: - "@volar/language-core" "2.4.1" - path-browserify "^1.0.1" - vscode-uri "^3.0.8" +"@volar/source-map@2.4.11": + version "2.4.11" + resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-2.4.11.tgz#5876d4531508129724c2755e295db1df98bd5895" + integrity sha512-ZQpmafIGvaZMn/8iuvCFGrW3smeqkq/IIh9F1SdSx9aUl0J4Iurzd6/FhmjNO5g2ejF3rT45dKskgXWiofqlZQ== -"@volar/typescript@^2.4.4": - version "2.4.4" - resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-2.4.4.tgz#c6679dc6bc1e86483f1d34f22ed2c2b0100f9838" - integrity sha512-QQMQRVj0fVHJ3XdRKiS1LclhG0VBXdFYlyuHRQF/xLk2PuJuHNWP26MDZNvEVCvnyUQuUQhIAfylwY5TGPgc6w== +"@volar/typescript@^2.4.11": + version "2.4.11" + resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-2.4.11.tgz#aafbfa413337654db211bf4d8fb6670c89f6fa57" + integrity sha512-2DT+Tdh88Spp5PyPbqhyoYavYCPDsqbHLFwcUI9K1NlY1YgUJvujGdrqUp0zWxnW7KWNTr3xSpMuv2WnaTKDAw== dependencies: - "@volar/language-core" "2.4.4" + "@volar/language-core" "2.4.11" path-browserify "^1.0.1" vscode-uri "^3.0.8" -"@vue/babel-helper-vue-transform-on@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.4.tgz#0008c23fb721841f91e7b0a3baa6c40cef7f2423" - integrity sha512-3L9zXWRN2jvmLjtSyw9vtcO5KTSCfKhCD5rEZM+024bc+4dKSzTjIABl/5b+uZ5nXe5y31uUMxxLo1PdXkYaig== +"@vue/babel-helper-vue-transform-on@1.2.5": + version "1.2.5" + resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.5.tgz#b9e195b92bfa8d15d5aa9581ca01cb702dbcc19d" + integrity sha512-lOz4t39ZdmU4DJAa2hwPYmKc8EsuGa2U0L9KaZaOJUt0UwQNjNA3AZTq6uEivhOKhhG1Wvy96SvYBoFmCg3uuw== "@vue/babel-plugin-jsx@^1.1.1": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.4.tgz#94a190e9bc12b7ad88a1ecc02e45e7ea9143611d" - integrity sha512-jwAVtHUaDfOGGT1EmVKBi0anXOtPvsuKbImcdnHXluaJQ6GEJzshf1JMTtMRx2fPiG7BZjNmyMv+NdZY2OyZEA== + version "1.2.5" + resolved "https://registry.yarnpkg.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.5.tgz#77f4f9f189d00c24ebd587ab84ae615dfa1c3abb" + integrity sha512-zTrNmOd4939H9KsRIGmmzn3q2zvv1mjxkYZHgqHZgDrXz5B1Q3WyGEjO2f+JrmKghvl1JIRcvo63LgM1kH5zFg== dependencies: "@babel/helper-module-imports" "^7.24.7" "@babel/helper-plugin-utils" "^7.24.8" @@ -3761,15 +3544,15 @@ "@babel/template" "^7.25.0" "@babel/traverse" "^7.25.6" "@babel/types" "^7.25.6" - "@vue/babel-helper-vue-transform-on" "1.2.4" - "@vue/babel-plugin-resolve-type" "1.2.4" + "@vue/babel-helper-vue-transform-on" "1.2.5" + "@vue/babel-plugin-resolve-type" "1.2.5" html-tags "^3.3.1" svg-tags "^1.0.0" -"@vue/babel-plugin-resolve-type@1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.4.tgz#4fd8f37ceb746c1ada8791cd3967a5d4e1a2603f" - integrity sha512-jWcJAmfKvc/xT2XBC4JAmy2eezNjU3CLfeDecl2Ge3tSjJCTmKJWkEhHdzXyx9Nr6PbIcQrFKhCaEDobhSrPqw== +"@vue/babel-plugin-resolve-type@1.2.5": + version "1.2.5" + resolved "https://registry.yarnpkg.com/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.5.tgz#f6ed0d39987fe0158370659b73156c55e80d17b5" + integrity sha512-U/ibkQrf5sx0XXRnUZD1mo5F7PkpKyTbfXM3a3rC4YnUz6crHEz9Jg09jzzL6QYlXNto/9CePdOg/c87O4Nlfg== dependencies: "@babel/code-frame" "^7.24.7" "@babel/helper-module-imports" "^7.24.7" @@ -3777,66 +3560,47 @@ "@babel/parser" "^7.25.6" "@vue/compiler-sfc" "^3.5.3" -"@vue/compiler-core@3.4.38": - version "3.4.38" - resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.4.38.tgz#326dfe3c92fa2b0f1dc9b39a948a231980253496" - integrity sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A== - dependencies: - "@babel/parser" "^7.24.7" - "@vue/shared" "3.4.38" - entities "^4.5.0" - estree-walker "^2.0.2" - source-map-js "^1.2.0" - -"@vue/compiler-core@3.5.3": - version "3.5.3" - resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.5.3.tgz#93476cc858c8a4e5e9670c9a9185661026136dee" - integrity sha512-adAfy9boPkP233NTyvLbGEqVuIfK/R0ZsBsIOW4BZNfb4BRpRW41Do1u+ozJpsb+mdoy80O20IzAsHaihRb5qA== +"@vue/compiler-core@3.5.13": + version "3.5.13" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.5.13.tgz#b0ae6c4347f60c03e849a05d34e5bf747c9bda05" + integrity sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q== dependencies: "@babel/parser" "^7.25.3" - "@vue/shared" "3.5.3" + "@vue/shared" "3.5.13" entities "^4.5.0" estree-walker "^2.0.2" source-map-js "^1.2.0" -"@vue/compiler-dom@3.5.3": - version "3.5.3" - resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.5.3.tgz#195f21b2c700477e4c3e21f4c98edc7032aedca3" - integrity sha512-wnzFArg9zpvk/811CDOZOadJRugf1Bgl/TQ3RfV4nKfSPok4hi0w10ziYUQR6LnnBAUlEXYLUfZ71Oj9ds/+QA== - dependencies: - "@vue/compiler-core" "3.5.3" - "@vue/shared" "3.5.3" - -"@vue/compiler-dom@^3.4.0": - version "3.4.38" - resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.4.38.tgz#90348fac1130e0bbd408b650635cb626b3b9df06" - integrity sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ== +"@vue/compiler-dom@3.5.13", "@vue/compiler-dom@^3.5.0": + version "3.5.13" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz#bb1b8758dbc542b3658dda973b98a1c9311a8a58" + integrity sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA== dependencies: - "@vue/compiler-core" "3.4.38" - "@vue/shared" "3.4.38" + "@vue/compiler-core" "3.5.13" + "@vue/shared" "3.5.13" "@vue/compiler-sfc@^3.5.3": - version "3.5.3" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.5.3.tgz#d44c1cafe94d26f74fa4864cabc948c3908a27de" - integrity sha512-P3uATLny2tfyvMB04OQFe7Sczteno7SLFxwrOA/dw01pBWQHB5HL15a8PosoNX2aG/EAMGqnXTu+1LnmzFhpTQ== + version "3.5.13" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz#461f8bd343b5c06fac4189c4fef8af32dea82b46" + integrity sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ== dependencies: "@babel/parser" "^7.25.3" - "@vue/compiler-core" "3.5.3" - "@vue/compiler-dom" "3.5.3" - "@vue/compiler-ssr" "3.5.3" - "@vue/shared" "3.5.3" + "@vue/compiler-core" "3.5.13" + "@vue/compiler-dom" "3.5.13" + "@vue/compiler-ssr" "3.5.13" + "@vue/shared" "3.5.13" estree-walker "^2.0.2" magic-string "^0.30.11" - postcss "^8.4.44" + postcss "^8.4.48" source-map-js "^1.2.0" -"@vue/compiler-ssr@3.5.3": - version "3.5.3" - resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.5.3.tgz#ef8a98385f571e36798a82d783ac369a06d24f5c" - integrity sha512-F/5f+r2WzL/2YAPl7UlKcJWHrvoZN8XwEBLnT7S4BXwncH25iDOabhO2M2DWioyTguJAGavDOawejkFXj8EM1w== +"@vue/compiler-ssr@3.5.13": + version "3.5.13" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz#e771adcca6d3d000f91a4277c972a996d07f43ba" + integrity sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA== dependencies: - "@vue/compiler-dom" "3.5.3" - "@vue/shared" "3.5.3" + "@vue/compiler-dom" "3.5.13" + "@vue/shared" "3.5.13" "@vue/compiler-vue2@^2.7.16": version "2.7.16" @@ -3846,52 +3610,33 @@ de-indent "^1.0.2" he "^1.2.0" -"@vue/language-core@2.0.29": - version "2.0.29" - resolved "https://registry.yarnpkg.com/@vue/language-core/-/language-core-2.0.29.tgz#19462d786cd7a1c21dbe575b46970a57094e0357" - integrity sha512-o2qz9JPjhdoVj8D2+9bDXbaI4q2uZTHQA/dbyZT4Bj1FR9viZxDJnLcKVHfxdn6wsOzRgpqIzJEEmSSvgMvDTQ== - dependencies: - "@volar/language-core" "~2.4.0-alpha.18" - "@vue/compiler-dom" "^3.4.0" - "@vue/compiler-vue2" "^2.7.16" - "@vue/shared" "^3.4.0" - computeds "^0.0.1" - minimatch "^9.0.3" - muggle-string "^0.4.1" - path-browserify "^1.0.1" - -"@vue/language-core@2.1.6": - version "2.1.6" - resolved "https://registry.yarnpkg.com/@vue/language-core/-/language-core-2.1.6.tgz#b48186bdb9b3ef2b83e1f76d5b1ac357b3a7ed94" - integrity sha512-MW569cSky9R/ooKMh6xa2g1D0AtRKbL56k83dzus/bx//RDJk24RHWkMzbAlXjMdDNyxAaagKPRquBIxkxlCkg== +"@vue/language-core@2.1.10": + version "2.1.10" + resolved "https://registry.yarnpkg.com/@vue/language-core/-/language-core-2.1.10.tgz#5988e9ea155f3e09ccbbb3b2a0ddd530dad912e6" + integrity sha512-DAI289d0K3AB5TUG3xDp9OuQ71CnrujQwJrQnfuZDwo6eGNf0UoRlPuaVNO+Zrn65PC3j0oB2i7mNmVPggeGeQ== dependencies: - "@volar/language-core" "~2.4.1" - "@vue/compiler-dom" "^3.4.0" + "@volar/language-core" "~2.4.8" + "@vue/compiler-dom" "^3.5.0" "@vue/compiler-vue2" "^2.7.16" - "@vue/shared" "^3.4.0" - computeds "^0.0.1" + "@vue/shared" "^3.5.0" + alien-signals "^0.2.0" minimatch "^9.0.3" muggle-string "^0.4.1" path-browserify "^1.0.1" -"@vue/shared@3.4.38", "@vue/shared@^3.4.0": - version "3.4.38" - resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.4.38.tgz#552a6770098bfd556fa3e2c686c9d3b4f4cd94c2" - integrity sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw== - -"@vue/shared@3.5.3": - version "3.5.3" - resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.5.3.tgz#fb7149372cf5768b9a9f980067c5d0ebac8dc833" - integrity sha512-Jp2v8nylKBT+PlOUjun2Wp/f++TfJVFjshLzNtJDdmFJabJa7noGMncqXRM1vXGX+Yo2V7WykQFNxusSim8SCA== +"@vue/shared@3.5.13", "@vue/shared@^3.5.0": + version "3.5.13" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.5.13.tgz#87b309a6379c22b926e696893237826f64339b6f" + integrity sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ== abab@^2.0.6: version "2.0.6" - resolved "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== acorn-globals@^7.0.0: version "7.0.1" - resolved "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3" integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q== dependencies: acorn "^8.1.0" @@ -3899,27 +3644,24 @@ acorn-globals@^7.0.0: acorn-jsx@^5.3.2: version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-walk@^8.0.2, acorn-walk@^8.1.1: - version "8.3.2" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz" - integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== - -acorn@^8.1.0, acorn@^8.11.3, acorn@^8.4.1, acorn@^8.8.1: - version "8.11.3" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + version "8.3.4" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" + integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== + dependencies: + acorn "^8.11.0" -acorn@^8.12.0, acorn@^8.12.1: - version "8.12.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" - integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== +acorn@^8.1.0, acorn@^8.11.0, acorn@^8.14.0, acorn@^8.4.1, acorn@^8.8.1: + version "8.14.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" + integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== agent-base@6: version "6.0.2" - resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== dependencies: debug "4" @@ -3938,7 +3680,7 @@ ajv-formats@~3.0.1: ajv@^6.12.4: version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" @@ -3947,14 +3689,14 @@ ajv@^6.12.4: uri-js "^4.2.2" ajv@^8.0.0: - version "8.16.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz" - integrity sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw== + version "8.17.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" + integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== dependencies: fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" json-schema-traverse "^1.0.0" require-from-string "^2.0.2" - uri-js "^4.4.1" ajv@~8.12.0: version "8.12.0" @@ -3976,9 +3718,14 @@ ajv@~8.13.0: require-from-string "^2.0.2" uri-js "^4.4.1" +alien-signals@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/alien-signals/-/alien-signals-0.2.2.tgz#439d09b363dc4d609c0f6ce69362dce068d23197" + integrity sha512-cZIRkbERILsBOXTQmMrxc9hgpxglstn69zm+F1ARf4aPAzdAFYd6sBq87ErO0Fj3DV94tglcyHG5kQz9nDC/8A== + ansi-escapes@^4.2.1: version "4.3.2" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== dependencies: type-fest "^0.21.3" @@ -3992,41 +3739,41 @@ ansi-escapes@^7.0.0: ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + version "6.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" + integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" ansi-styles@^5.0.0: version "5.2.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== ansi-styles@^6.0.0, ansi-styles@^6.1.0, ansi-styles@^6.2.1: version "6.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== anymatch@^3.0.3, anymatch@~3.1.2: version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" @@ -4034,46 +3781,51 @@ anymatch@^3.0.3, anymatch@~3.1.2: arg@^4.1.0, arg@^4.1.3: version "4.1.3" - resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== argparse@^1.0.7, argparse@~1.0.9: version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" argparse@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== aria-query@5.1.3: version "5.1.3" - resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== dependencies: deep-equal "^2.0.5" -aria-query@5.3.0, aria-query@^5.0.0: +aria-query@5.3.0: version "5.3.0" - resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== dependencies: dequal "^2.0.3" -array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz" - integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== +aria-query@^5.0.0: + version "5.3.2" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.2.tgz#93f81a43480e33a338f19163a3d10a50c01dcd59" + integrity sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw== + +array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz#384d12a37295aec3769ab022ad323a18a51ccf8b" + integrity sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw== dependencies: - call-bind "^1.0.5" - is-array-buffer "^3.0.4" + call-bound "^1.0.3" + is-array-buffer "^3.0.5" array-includes@^3.1.6, array-includes@^3.1.8: version "3.1.8" - resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== dependencies: call-bind "^1.0.7" @@ -4085,12 +3837,12 @@ array-includes@^3.1.6, array-includes@^3.1.8: array-union@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== array.prototype.findlast@^1.2.5: version "1.2.5" - resolved "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz" + resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#3e4fbcb30a15a7f5bf64cf2faae22d139c2e4904" integrity sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ== dependencies: call-bind "^1.0.7" @@ -4101,38 +3853,28 @@ array.prototype.findlast@^1.2.5: es-shim-unscopables "^1.0.2" array.prototype.flat@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz" - integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.2: - version "1.3.2" - resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz" - integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== + version "1.3.3" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz#534aaf9e6e8dd79fb6b9a9917f839ef1ec63afe5" + integrity sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-shim-unscopables "^1.0.2" -array.prototype.toreversed@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz" - integrity sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA== +array.prototype.flatmap@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz#712cc792ae70370ae40586264629e33aab5dd38b" + integrity sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-shim-unscopables "^1.0.2" -array.prototype.tosorted@^1.1.3: +array.prototype.tosorted@^1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz#fe954678ff53034e717ea3352a03f0b0b86f7ffc" integrity sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA== dependencies: call-bind "^1.0.7" @@ -4141,19 +3883,18 @@ array.prototype.tosorted@^1.1.3: es-errors "^1.3.0" es-shim-unscopables "^1.0.2" -arraybuffer.prototype.slice@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz" - integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== +arraybuffer.prototype.slice@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz#9d760d84dbdd06d0cbf92c8849615a1a7ab3183c" + integrity sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ== dependencies: array-buffer-byte-length "^1.0.1" - call-bind "^1.0.5" + call-bind "^1.0.8" define-properties "^1.2.1" - es-abstract "^1.22.3" - es-errors "^1.2.1" - get-intrinsic "^1.2.3" + es-abstract "^1.23.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" is-array-buffer "^3.0.4" - is-shared-array-buffer "^1.0.2" assertion-error@^2.0.1: version "2.0.1" @@ -4167,27 +3908,32 @@ ast-types@^0.16.1: dependencies: tslib "^2.0.1" +async@^3.2.3: + version "3.2.6" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce" + integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA== + asynckit@^0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== available-typed-arrays@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== dependencies: possible-typed-array-names "^1.0.0" axe-core@^4.2.0: - version "4.10.0" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.10.0.tgz#d9e56ab0147278272739a000880196cdfe113b59" - integrity sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g== + version "4.10.2" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.10.2.tgz#85228e3e1d8b8532a27659b332e39b7fa0e022df" + integrity sha512-RE3mdQ7P3FRSe7eqCWoeQ/Z9QXrtniSjp1wUjt5nRC3WIpz5rSCve6o3fsZ2aCpJtrZjSZgjwXAoTO5k4tEI0w== axios@^1.7.2: - version "1.7.7" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f" - integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q== + version "1.7.9" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.9.tgz#d7d071380c132a24accda1b2cfc1535b79ec650a" + integrity sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw== dependencies: follow-redirects "^1.15.6" form-data "^4.0.0" @@ -4208,7 +3954,7 @@ babel-jest@^28.1.3: babel-jest@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== dependencies: "@jest/transform" "^29.7.0" @@ -4221,7 +3967,7 @@ babel-jest@^29.7.0: babel-plugin-istanbul@^6.1.1: version "6.1.1" - resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" @@ -4242,7 +3988,7 @@ babel-plugin-jest-hoist@^28.1.3: babel-plugin-jest-hoist@^29.6.3: version "29.6.3" - resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== dependencies: "@babel/template" "^7.3.3" @@ -4252,7 +3998,7 @@ babel-plugin-jest-hoist@^29.6.3: babel-plugin-macros@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== dependencies: "@babel/runtime" "^7.12.5" @@ -4260,46 +4006,49 @@ babel-plugin-macros@^3.1.0: resolve "^1.19.0" babel-plugin-polyfill-corejs2@^0.4.10: - version "0.4.11" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz" - integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q== + version "0.4.12" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz#ca55bbec8ab0edeeef3d7b8ffd75322e210879a9" + integrity sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og== dependencies: "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.6.2" + "@babel/helper-define-polyfill-provider" "^0.6.3" semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.10.4: - version "0.10.4" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz" - integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== +babel-plugin-polyfill-corejs3@^0.10.6: + version "0.10.6" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz#2deda57caef50f59c525aeb4964d3b2f867710c7" + integrity sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA== dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.1" - core-js-compat "^3.36.1" + "@babel/helper-define-polyfill-provider" "^0.6.2" + core-js-compat "^3.38.0" babel-plugin-polyfill-regenerator@^0.6.1: - version "0.6.2" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz" - integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg== + version "0.6.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz#abeb1f3f1c762eace37587f42548b08b57789bc8" + integrity sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q== dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.2" + "@babel/helper-define-polyfill-provider" "^0.6.3" babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz#9a929eafece419612ef4ae4f60b1862ebad8ef30" + integrity sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw== dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-import-attributes" "^7.24.7" + "@babel/plugin-syntax-import-meta" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" babel-preset-jest@^28.1.3: version "28.1.3" @@ -4311,7 +4060,7 @@ babel-preset-jest@^28.1.3: babel-preset-jest@^29.6.3: version "29.6.3" - resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== dependencies: babel-plugin-jest-hoist "^29.6.3" @@ -4319,7 +4068,7 @@ babel-preset-jest@^29.6.3: balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== better-opn@^3.0.2: @@ -4331,12 +4080,12 @@ better-opn@^3.0.2: binary-extensions@^2.0.0: version "2.3.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" @@ -4344,14 +4093,14 @@ brace-expansion@^1.1.7: brace-expansion@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== dependencies: balanced-match "^1.0.0" braces@^3.0.3, braces@~3.0.2: version "3.0.3" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: fill-range "^7.1.1" @@ -4361,85 +4110,85 @@ browser-assert@^1.2.1: resolved "https://registry.yarnpkg.com/browser-assert/-/browser-assert-1.2.1.tgz#9aaa5a2a8c74685c2ae05bfe46efd606f068c200" integrity sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ== -browserslist@^4.22.2, browserslist@^4.23.0: - version "4.23.0" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz" - integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== - dependencies: - caniuse-lite "^1.0.30001587" - electron-to-chromium "^1.4.668" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -browserslist@^4.23.1: - version "4.23.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800" - integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== +browserslist@^4.24.0, browserslist@^4.24.2: + version "4.24.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.3.tgz#5fc2725ca8fb3c1432e13dac278c7cc103e026d2" + integrity sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA== dependencies: - caniuse-lite "^1.0.30001646" - electron-to-chromium "^1.5.4" - node-releases "^2.0.18" - update-browserslist-db "^1.1.0" + caniuse-lite "^1.0.30001688" + electron-to-chromium "^1.5.73" + node-releases "^2.0.19" + update-browserslist-db "^1.1.1" -bs-logger@0.x: +bs-logger@^0.2.6: version "0.2.6" - resolved "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== dependencies: fast-json-stable-stringify "2.x" bser@2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== dependencies: node-int64 "^0.4.0" buffer-from@^1.0.0: version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== +call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz#32e5892e6361b29b0b545ba6f7763378daca2840" + integrity sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g== dependencies: - es-define-property "^1.0.0" es-errors "^1.3.0" function-bind "^1.1.2" + +call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.7, call-bind@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" + integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== + dependencies: + call-bind-apply-helpers "^1.0.0" + es-define-property "^1.0.0" get-intrinsic "^1.2.4" - set-function-length "^1.2.1" + set-function-length "^1.2.2" + +call-bound@^1.0.2, call-bound@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.3.tgz#41cfd032b593e39176a71533ab4f384aa04fd681" + integrity sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA== + dependencies: + call-bind-apply-helpers "^1.0.1" + get-intrinsic "^1.2.6" callsites@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camelcase@6.3.0, camelcase@^6.2.0: version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== camelcase@^5.3.1: version "5.3.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001587: - version "1.0.30001629" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001629.tgz" - integrity sha512-c3dl911slnQhmxUIT4HhYzT7wnBK/XYpGnYLOj4nJBaRiw52Ibe7YxlDaAeRECvA786zCuExhxIUJ2K7nHMrBw== - -caniuse-lite@^1.0.30001646: - version "1.0.30001655" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001655.tgz#0ce881f5a19a2dcfda2ecd927df4d5c1684b982f" - integrity sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg== +caniuse-lite@^1.0.30001688: + version "1.0.30001690" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz#f2d15e3aaf8e18f76b2b8c1481abde063b8104c8" + integrity sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w== chai@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/chai/-/chai-5.1.1.tgz#f035d9792a22b481ead1c65908d14bb62ec1c82c" - integrity sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA== + version "5.1.2" + resolved "https://registry.yarnpkg.com/chai/-/chai-5.1.2.tgz#3afbc340b994ae3610ca519a6c70ace77ad4378d" + integrity sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw== dependencies: assertion-error "^2.0.1" check-error "^2.1.1" @@ -4447,9 +4196,9 @@ chai@^5.1.1: loupe "^3.1.0" pathval "^2.0.0" -chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.4.1: version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" @@ -4458,28 +4207,28 @@ chalk@^2.4.1, chalk@^2.4.2: chalk@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^4.0.0, chalk@^4.1.0: +chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0: version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@~5.3.0: - version "5.3.0" - resolved "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz" - integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== +chalk@~5.4.1: + version "5.4.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.4.1.tgz#1b48bf0963ec158dce2aacf69c093ae2dd2092d8" + integrity sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w== char-regex@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== check-error@^2.1.1: @@ -4487,9 +4236,9 @@ check-error@^2.1.1: resolved "https://registry.yarnpkg.com/check-error/-/check-error-2.1.1.tgz#87eb876ae71ee388fa0471fe423f494be1d96ccc" integrity sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw== -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.3.1: +chokidar@^3.3.1: version "3.6.0" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== dependencies: anymatch "~3.1.2" @@ -4502,20 +4251,27 @@ check-error@^2.1.1: optionalDependencies: fsevents "~2.3.2" +chokidar@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30" + integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== + dependencies: + readdirp "^4.0.1" + chromatic@^11.15.0: - version "11.16.3" - resolved "https://registry.yarnpkg.com/chromatic/-/chromatic-11.16.3.tgz#53484e447c7afb31a2d6e63aad9c62117d426a75" - integrity sha512-bckarRbZ3M1BvsmhLqEMschuQPk2FlSD9cvy8383JwoVvaIqLr0dv1tI/DPM4LMuXOjTjeBSZZINVH9r3RMiiA== + version "11.22.0" + resolved "https://registry.yarnpkg.com/chromatic/-/chromatic-11.22.0.tgz#9c2b05a0c5a94c5c0cc2b6be6969c112ac4543d0" + integrity sha512-u1kAPR9lj9aFzsCp0iWPXBbsKgcxFU7iJO6mFbgNHGVg+YPBqiJMuvgB8EQHdNbHjk5amFnGnIz/Ww8fK3t9Hw== ci-info@^3.2.0: version "3.9.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== cjs-module-lexer@^1.0.0: - version "1.3.1" - resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz" - integrity sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q== + version "1.4.1" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz#707413784dbb3a72aa11c2f2b042a0bef4004170" + integrity sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA== cli-cursor@^5.0.0: version "5.0.0" @@ -4526,7 +4282,7 @@ cli-cursor@^5.0.0: cli-truncate@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-4.0.0.tgz#6cc28a2924fee9e25ce91e973db56c7066e6172a" integrity sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== dependencies: slice-ansi "^5.0.0" @@ -4534,7 +4290,7 @@ cli-truncate@^4.0.0: cliui@^8.0.1: version "8.0.1" - resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== dependencies: string-width "^4.2.0" @@ -4548,58 +4304,58 @@ clsx@^1.1.1: clsx@^2.1.0, clsx@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== co@^4.6.0: version "4.6.0" - resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== collect-v8-coverage@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" color-name@1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== color-name@~1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== colorette@^2.0.20: version "2.0.20" - resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== combined-stream@^1.0.8: version "1.0.8" - resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== dependencies: delayed-stream "~1.0.0" commander@~12.1.0: version "12.1.0" - resolved "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz" + resolved "https://registry.yarnpkg.com/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3" integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA== compare-versions@^6.1.1: @@ -4607,46 +4363,41 @@ compare-versions@^6.1.1: resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-6.1.1.tgz#7af3cc1099ba37d244b3145a9af5201b629148a9" integrity sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg== -computeds@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/computeds/-/computeds-0.0.1.tgz#215b08a4ba3e08a11ff6eee5d6d8d7166a97ce2e" - integrity sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q== - concat-map@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -confbox@^0.1.7: +confbox@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/confbox/-/confbox-0.1.8.tgz#820d73d3b3c82d9bd910652c5d4d599ef8ff8b06" integrity sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w== convert-source-map@^1.4.0, convert-source-map@^1.5.0: version "1.9.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== convert-source-map@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== -core-js-compat@^3.31.0, core-js-compat@^3.36.1: - version "3.37.1" - resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz" - integrity sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg== +core-js-compat@^3.38.0, core-js-compat@^3.38.1: + version "3.39.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.39.0.tgz#b12dccb495f2601dc860bdbe7b4e3ffa8ba63f61" + integrity sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw== dependencies: - browserslist "^4.23.0" + browserslist "^4.24.2" core-js-pure@^3.30.2: - version "3.38.1" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.38.1.tgz#e8534062a54b7221344884ba9b52474be495ada3" - integrity sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ== + version "3.39.0" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.39.0.tgz#aa0d54d70a15bdc13e7c853db87c10abc30d68f3" + integrity sha512-7fEcWwKI4rJinnK+wLTezeg2smbFFdSBP6E2kQZNbnzM2s1rpKQ6aaRteZSSg7FLU3P0HGGVo/gbpfanU36urg== cosmiconfig@^7.0.0: version "7.1.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== dependencies: "@types/parse-json" "^4.0.0" @@ -4657,7 +4408,7 @@ cosmiconfig@^7.0.0: create-jest@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== dependencies: "@jest/types" "^29.6.3" @@ -4670,7 +4421,7 @@ create-jest@^29.7.0: create-require@^1.1.0: version "1.1.1" - resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== cross-fetch@4.0.0: @@ -4681,9 +4432,9 @@ cross-fetch@4.0.0: node-fetch "^2.6.12" cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + version "6.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.6.tgz#30d0efa0712ddb7eb5a76e1e8721bffafa6b5d57" + integrity sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw== dependencies: nice-try "^1.0.4" path-key "^2.0.1" @@ -4691,10 +4442,10 @@ cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== +cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.3, cross-spawn@^7.0.6: + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" @@ -4702,7 +4453,7 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: css-vendor@2.0.8: version "2.0.8" - resolved "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz" + resolved "https://registry.yarnpkg.com/css-vendor/-/css-vendor-2.0.8.tgz#e47f91d3bd3117d49180a3c935e62e3d9f7f449d" integrity sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ== dependencies: "@babel/runtime" "^7.8.3" @@ -4710,116 +4461,102 @@ css-vendor@2.0.8: css.escape@^1.5.1: version "1.5.1" - resolved "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz" + resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== cssesc@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== cssom@^0.5.0: version "0.5.0" - resolved "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36" integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw== cssom@~0.3.6: version "0.3.8" - resolved "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== cssstyle@^2.3.0: version "2.3.0" - resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== dependencies: cssom "~0.3.6" csstype@^3.0.2, csstype@^3.1.2, csstype@^3.1.3: version "3.1.3" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== data-urls@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ== dependencies: abab "^2.0.6" whatwg-mimetype "^3.0.0" whatwg-url "^11.0.0" -data-view-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz" - integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== +data-view-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz#211a03ba95ecaf7798a8c7198d79536211f88570" + integrity sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ== dependencies: - call-bind "^1.0.6" + call-bound "^1.0.3" es-errors "^1.3.0" - is-data-view "^1.0.1" + is-data-view "^1.0.2" -data-view-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz" - integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== +data-view-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz#9e80f7ca52453ce3e93d25a35318767ea7704735" + integrity sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ== dependencies: - call-bind "^1.0.7" + call-bound "^1.0.3" es-errors "^1.3.0" - is-data-view "^1.0.1" + is-data-view "^1.0.2" -data-view-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz" - integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== +data-view-byte-offset@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz#068307f9b71ab76dbbe10291389e020856606191" + integrity sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ== dependencies: - call-bind "^1.0.6" + call-bound "^1.0.2" es-errors "^1.3.0" is-data-view "^1.0.1" dayjs@^1.11.11: - version "1.11.11" - resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.11.tgz" - integrity sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg== + version "1.11.13" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.13.tgz#92430b0139055c3ebb60150aa13e860a4b5a366c" + integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg== de-indent@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg== -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.5" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz" - integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== - dependencies: - ms "2.1.2" - -debug@^4.3.6: - version "4.3.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.6.tgz#2ab2c38fbaffebf8aa95fdfe6d88438c7a13c52b" - integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== - dependencies: - ms "2.1.2" - -debug@~4.3.6: - version "4.3.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" - integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.4.0, debug@~4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" + integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== dependencies: ms "^2.1.3" decimal.js@^10.4.2: version "10.4.3" - resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== dedent@^0.7.0: version "0.7.0" - resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== dedent@^1.0.0: version "1.5.3" - resolved "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.3.tgz#99aee19eb9bae55a67327717b6e848d0bf777e5a" integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ== deep-eql@^5.0.1: @@ -4829,7 +4566,7 @@ deep-eql@^5.0.1: deep-equal@^2.0.5: version "2.2.3" - resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.3.tgz" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.3.tgz#af89dafb23a396c7da3e862abc0be27cf51d56e1" integrity sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA== dependencies: array-buffer-byte-length "^1.0.0" @@ -4853,17 +4590,17 @@ deep-equal@^2.0.5: deep-is@^0.1.3: version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== deepmerge@^4.2.2: version "4.3.1" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== define-data-property@^1.0.1, define-data-property@^1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== dependencies: es-define-property "^1.0.0" @@ -4875,9 +4612,9 @@ define-lazy-prop@^2.0.0: resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== -define-properties@^1.2.0, define-properties@^1.2.1: +define-properties@^1.1.3, define-properties@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== dependencies: define-data-property "^1.0.1" @@ -4886,17 +4623,22 @@ define-properties@^1.2.0, define-properties@^1.2.1: delayed-stream@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== dequal@^2.0.2, dequal@^2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== + detect-newline@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== diff-sequences@^28.1.1: @@ -4906,48 +4648,48 @@ diff-sequences@^28.1.1: diff-sequences@^29.6.3: version "29.6.3" - resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== diff@^4.0.1: version "4.0.2" - resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" doctrine@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== dependencies: esutils "^2.0.2" doctrine@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" dom-accessibility-api@^0.5.9: version "0.5.16" - resolved "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== dom-accessibility-api@^0.6.3: version "0.6.3" - resolved "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz" + resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz#993e925cc1d73f2c662e7d75dd5a5445259a8fd8" integrity sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w== dom-helpers@5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.0.tgz#57fd054c5f8f34c52a3eeffdb7e7e93cd357d95b" integrity sha512-Ru5o9+V8CpunKnz5LGgWXkmrH/20cGKwcHwS4m73zIvs54CN9epEmT/HLqFJW3kXpakAFkEdzgy1hzlJe3E4OQ== dependencies: "@babel/runtime" "^7.8.7" @@ -4955,7 +4697,7 @@ dom-helpers@5.2.0: dom-helpers@^5.0.1: version "5.2.1" - resolved "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== dependencies: "@babel/runtime" "^7.8.7" @@ -4963,14 +4705,14 @@ dom-helpers@^5.0.1: domexception@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673" integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== dependencies: webidl-conversions "^7.0.0" dotenv-cli@^4.0.0: version "4.1.1" - resolved "https://registry.npmjs.org/dotenv-cli/-/dotenv-cli-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/dotenv-cli/-/dotenv-cli-4.1.1.tgz#26a59fbb25876008985a15fa366b416607e8372c" integrity sha512-XvKv1pa+UBrsr3CtLGBsR6NdsoS7znqaHUf4Knj0eZO+gOI/hjj9KgWDP+KjpfEbj6wAba1UpbhaP9VezNkWhg== dependencies: cross-spawn "^7.0.1" @@ -4980,57 +4722,68 @@ dotenv-cli@^4.0.0: dotenv-expand@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== dotenv@^8.1.0, dotenv@^8.2.0: version "8.6.0" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== +dunder-proto@^1.0.0, dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + eastasianwidth@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== -electron-to-chromium@^1.4.668: - version "1.4.792" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.792.tgz" - integrity sha512-rkg5/N3L+Y844JyfgPUyuKK0Hk0efo3JNxUDKvz3HgP6EmN4rNGhr2D8boLsfTV/hGo7ZGAL8djw+jlg99zQyA== +ejs@^3.1.10: + version "3.1.10" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b" + integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA== + dependencies: + jake "^10.8.5" -electron-to-chromium@^1.5.4: - version "1.5.13" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz#1abf0410c5344b2b829b7247e031f02810d442e6" - integrity sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q== +electron-to-chromium@^1.5.73: + version "1.5.76" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.76.tgz#db20295c5061b68f07c8ea4dfcbd701485d94a3d" + integrity sha512-CjVQyG7n7Sr+eBXE86HIulnL5N8xZY1sgmOPGuq/F0Rr0FJq63lg0kEtOIDfZBk44FnDLf6FUJ+dsJcuiUDdDQ== emittery@^0.10.2: version "0.10.2" - resolved "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== emittery@^0.13.1: version "0.13.1" - resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== emoji-regex@^10.3.0: - version "10.3.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz" - integrity sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== + version "10.4.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.4.0.tgz#03553afea80b3975749cfcb36f776ca268e413d4" + integrity sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw== emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== emoji-regex@^9.2.2: version "9.2.2" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== -entities@^4.4.0, entities@^4.5.0: +entities@^4.5.0: version "4.5.0" - resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== environment@^1.0.0: @@ -5040,78 +4793,81 @@ environment@^1.0.0: error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" -es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2, es-abstract@^1.23.3: - version "1.23.3" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz" - integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== +es-abstract@^1.17.5, es-abstract@^1.23.2, es-abstract@^1.23.3, es-abstract@^1.23.5, es-abstract@^1.23.6, es-abstract@^1.23.9: + version "1.23.9" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.9.tgz#5b45994b7de78dada5c1bebf1379646b32b9d606" + integrity sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA== dependencies: - array-buffer-byte-length "^1.0.1" - arraybuffer.prototype.slice "^1.0.3" + array-buffer-byte-length "^1.0.2" + arraybuffer.prototype.slice "^1.0.4" available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - data-view-buffer "^1.0.1" - data-view-byte-length "^1.0.1" - data-view-byte-offset "^1.0.0" - es-define-property "^1.0.0" + call-bind "^1.0.8" + call-bound "^1.0.3" + data-view-buffer "^1.0.2" + data-view-byte-length "^1.0.2" + data-view-byte-offset "^1.0.1" + es-define-property "^1.0.1" es-errors "^1.3.0" es-object-atoms "^1.0.0" - es-set-tostringtag "^2.0.3" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.4" - get-symbol-description "^1.0.2" - globalthis "^1.0.3" - gopd "^1.0.1" + es-set-tostringtag "^2.1.0" + es-to-primitive "^1.3.0" + function.prototype.name "^1.1.8" + get-intrinsic "^1.2.7" + get-proto "^1.0.0" + get-symbol-description "^1.1.0" + globalthis "^1.0.4" + gopd "^1.2.0" has-property-descriptors "^1.0.2" - has-proto "^1.0.3" - has-symbols "^1.0.3" + has-proto "^1.2.0" + has-symbols "^1.1.0" hasown "^2.0.2" - internal-slot "^1.0.7" - is-array-buffer "^3.0.4" + internal-slot "^1.1.0" + is-array-buffer "^3.0.5" is-callable "^1.2.7" - is-data-view "^1.0.1" - is-negative-zero "^2.0.3" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.3" - is-string "^1.0.7" - is-typed-array "^1.1.13" - is-weakref "^1.0.2" - object-inspect "^1.13.1" + is-data-view "^1.0.2" + is-regex "^1.2.1" + is-shared-array-buffer "^1.0.4" + is-string "^1.1.1" + is-typed-array "^1.1.15" + is-weakref "^1.1.0" + math-intrinsics "^1.1.0" + object-inspect "^1.13.3" object-keys "^1.1.1" - object.assign "^4.1.5" - regexp.prototype.flags "^1.5.2" - safe-array-concat "^1.1.2" - safe-regex-test "^1.0.3" - string.prototype.trim "^1.2.9" - string.prototype.trimend "^1.0.8" + object.assign "^4.1.7" + own-keys "^1.0.1" + regexp.prototype.flags "^1.5.3" + safe-array-concat "^1.1.3" + safe-push-apply "^1.0.0" + safe-regex-test "^1.1.0" + set-proto "^1.0.0" + string.prototype.trim "^1.2.10" + string.prototype.trimend "^1.0.9" string.prototype.trimstart "^1.0.8" - typed-array-buffer "^1.0.2" - typed-array-byte-length "^1.0.1" - typed-array-byte-offset "^1.0.2" - typed-array-length "^1.0.6" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.15" - -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" + typed-array-buffer "^1.0.3" + typed-array-byte-length "^1.0.3" + typed-array-byte-offset "^1.0.4" + typed-array-length "^1.0.7" + unbox-primitive "^1.1.0" + which-typed-array "^1.1.18" + +es-define-property@^1.0.0, es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== -es-errors@^1.2.1, es-errors@^1.3.0: +es-errors@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== es-get-iterator@^1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== dependencies: call-bind "^1.0.2" @@ -5124,62 +4880,65 @@ es-get-iterator@^1.1.3: isarray "^2.0.5" stop-iteration-iterator "^1.0.0" -es-iterator-helpers@^1.0.19: - version "1.0.19" - resolved "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz" - integrity sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw== +es-iterator-helpers@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz#d1dd0f58129054c0ad922e6a9a1e65eef435fe75" + integrity sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" - es-abstract "^1.23.3" + es-abstract "^1.23.6" es-errors "^1.3.0" es-set-tostringtag "^2.0.3" function-bind "^1.1.2" - get-intrinsic "^1.2.4" - globalthis "^1.0.3" + get-intrinsic "^1.2.6" + globalthis "^1.0.4" + gopd "^1.2.0" has-property-descriptors "^1.0.2" - has-proto "^1.0.3" - has-symbols "^1.0.3" - internal-slot "^1.0.7" - iterator.prototype "^1.1.2" - safe-array-concat "^1.1.2" + has-proto "^1.2.0" + has-symbols "^1.1.0" + internal-slot "^1.1.0" + iterator.prototype "^1.1.4" + safe-array-concat "^1.1.3" es-object-atoms@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== dependencies: es-errors "^1.3.0" -es-set-tostringtag@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz" - integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== +es-set-tostringtag@^2.0.3, es-set-tostringtag@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== dependencies: - get-intrinsic "^1.2.4" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" has-tostringtag "^1.0.2" - hasown "^2.0.1" + hasown "^2.0.2" -es-shim-unscopables@^1.0.0, es-shim-unscopables@^1.0.2: +es-shim-unscopables@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== dependencies: hasown "^2.0.0" -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== +es-to-primitive@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz#96c89c82cc49fd8794a24835ba3e1ff87f214e18" + integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g== dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" + is-callable "^1.2.7" + is-date-object "^1.0.5" + is-symbol "^1.0.4" es-toolkit@^1.22.0: - version "1.26.1" - resolved "https://registry.yarnpkg.com/es-toolkit/-/es-toolkit-1.26.1.tgz#e5227a6528fdbca4cb3d58698c534cc8774d75be" - integrity sha512-E3H14lHWk8JpupVpIRA1gfNF4r953abHTFW+X1Rp7zl7eG37ksuthfEA4FinyVF/Y807vzzfQS1nubeZk2LTVA== + version "1.31.0" + resolved "https://registry.yarnpkg.com/es-toolkit/-/es-toolkit-1.31.0.tgz#f4fc1382aea09cb239afa38f3c724a5658ff3163" + integrity sha512-vwS0lv/tzjM2/t4aZZRAgN9I9TP0MSkWuvt6By+hEXfG/uLs8yg2S1/ayRXH/x3pinbLgVJYT+eppueg3cM6tg== esbuild-register@^3.5.0: version "3.6.0" @@ -5189,34 +4948,35 @@ esbuild-register@^3.5.0: debug "^4.3.4" "esbuild@^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0": - version "0.24.0" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.24.0.tgz#f2d470596885fcb2e91c21eb3da3b3c89c0b55e7" - integrity sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ== + version "0.24.2" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.24.2.tgz#b5b55bee7de017bff5fb8a4e3e44f2ebe2c3567d" + integrity sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA== optionalDependencies: - "@esbuild/aix-ppc64" "0.24.0" - "@esbuild/android-arm" "0.24.0" - "@esbuild/android-arm64" "0.24.0" - "@esbuild/android-x64" "0.24.0" - "@esbuild/darwin-arm64" "0.24.0" - "@esbuild/darwin-x64" "0.24.0" - "@esbuild/freebsd-arm64" "0.24.0" - "@esbuild/freebsd-x64" "0.24.0" - "@esbuild/linux-arm" "0.24.0" - "@esbuild/linux-arm64" "0.24.0" - "@esbuild/linux-ia32" "0.24.0" - "@esbuild/linux-loong64" "0.24.0" - "@esbuild/linux-mips64el" "0.24.0" - "@esbuild/linux-ppc64" "0.24.0" - "@esbuild/linux-riscv64" "0.24.0" - "@esbuild/linux-s390x" "0.24.0" - "@esbuild/linux-x64" "0.24.0" - "@esbuild/netbsd-x64" "0.24.0" - "@esbuild/openbsd-arm64" "0.24.0" - "@esbuild/openbsd-x64" "0.24.0" - "@esbuild/sunos-x64" "0.24.0" - "@esbuild/win32-arm64" "0.24.0" - "@esbuild/win32-ia32" "0.24.0" - "@esbuild/win32-x64" "0.24.0" + "@esbuild/aix-ppc64" "0.24.2" + "@esbuild/android-arm" "0.24.2" + "@esbuild/android-arm64" "0.24.2" + "@esbuild/android-x64" "0.24.2" + "@esbuild/darwin-arm64" "0.24.2" + "@esbuild/darwin-x64" "0.24.2" + "@esbuild/freebsd-arm64" "0.24.2" + "@esbuild/freebsd-x64" "0.24.2" + "@esbuild/linux-arm" "0.24.2" + "@esbuild/linux-arm64" "0.24.2" + "@esbuild/linux-ia32" "0.24.2" + "@esbuild/linux-loong64" "0.24.2" + "@esbuild/linux-mips64el" "0.24.2" + "@esbuild/linux-ppc64" "0.24.2" + "@esbuild/linux-riscv64" "0.24.2" + "@esbuild/linux-s390x" "0.24.2" + "@esbuild/linux-x64" "0.24.2" + "@esbuild/netbsd-arm64" "0.24.2" + "@esbuild/netbsd-x64" "0.24.2" + "@esbuild/openbsd-arm64" "0.24.2" + "@esbuild/openbsd-x64" "0.24.2" + "@esbuild/sunos-x64" "0.24.2" + "@esbuild/win32-arm64" "0.24.2" + "@esbuild/win32-ia32" "0.24.2" + "@esbuild/win32-x64" "0.24.2" esbuild@^0.21.3: version "0.21.5" @@ -5247,29 +5007,29 @@ esbuild@^0.21.3: "@esbuild/win32-ia32" "0.21.5" "@esbuild/win32-x64" "0.21.5" -escalade@^3.1.1, escalade@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== +escalade@^3.1.1, escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== escape-string-regexp@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== escodegen@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== dependencies: esprima "^4.0.1" @@ -5279,146 +5039,102 @@ escodegen@^2.0.0: source-map "~0.6.1" eslint-plugin-react-hooks@^5.1.0-rc.0: - version "5.1.0-rc-fb9a90fa48-20240614" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0-rc-fb9a90fa48-20240614.tgz#206a7ec005f0b286aaf7091f4e566083d310b189" - integrity sha512-xsiRwaDNF5wWNC4ZHLut+x/YcAxksUd9Rizt7LaEn3bV8VyYRpXnRJQlLOfYaVy9esk4DFP4zPPnoNVjq5Gc0w== + version "5.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz#3d34e37d5770866c34b87d5b499f5f0b53bf0854" + integrity sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw== eslint-plugin-react-refresh@^0.4.9: - version "0.4.11" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.11.tgz#e450761a2bdb260aa10cfb73f846209a737827cb" - integrity sha512-wrAKxMbVr8qhXTtIKfXqAn5SAtRZt0aXxe5P23Fh4pUAdC6XEsybGLB8P0PI4j1yYqOgUEUlzKAGDfo7rJOjcw== + version "0.4.16" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.16.tgz#149dbc9279bd16942409f1c1d2f0dce3299430ef" + integrity sha512-slterMlxAhov/DZO8NScf6mEeMBBXodFUolijDvrtTxyezyLoTQaa73FyYus/VbTdftd8wBgBxPMRk3poleXNQ== eslint-plugin-react@^7.34.1: - version "7.34.2" - resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.2.tgz" - integrity sha512-2HCmrU+/JNigDN6tg55cRDKCQWicYAPB38JGSFDQt95jDm8rrvSUo7YPkOIm5l6ts1j1zCvysNcasvfTMQzUOw== + version "7.37.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.37.3.tgz#567549e9251533975c4ea9706f986c3a64832031" + integrity sha512-DomWuTQPFYZwF/7c9W2fkKkStqZmBd3uugfqBYLdkZ3Hii23WzZuOLUskGxB8qkSKqftxEeGL1TB2kMhrce0jA== dependencies: array-includes "^3.1.8" array.prototype.findlast "^1.2.5" - array.prototype.flatmap "^1.3.2" - array.prototype.toreversed "^1.1.2" - array.prototype.tosorted "^1.1.3" + array.prototype.flatmap "^1.3.3" + array.prototype.tosorted "^1.1.4" doctrine "^2.1.0" - es-iterator-helpers "^1.0.19" + es-iterator-helpers "^1.2.1" estraverse "^5.3.0" + hasown "^2.0.2" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.1.2" object.entries "^1.1.8" object.fromentries "^2.0.8" - object.hasown "^1.1.4" - object.values "^1.2.0" + object.values "^1.2.1" prop-types "^15.8.1" resolve "^2.0.0-next.5" semver "^6.3.1" - string.prototype.matchall "^4.0.11" + string.prototype.matchall "^4.0.12" + string.prototype.repeat "^1.0.0" eslint-scope@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-scope@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.1.tgz" - integrity sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-scope@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.0.2.tgz#5cbb33d4384c9136083a71190d548158fe128f94" - integrity sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA== +eslint-scope@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.2.0.tgz#377aa6f1cb5dc7592cfd0b7f892fd0cf352ce442" + integrity sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A== dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" eslint-utils@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== dependencies: eslint-visitor-keys "^2.0.0" eslint-visitor-keys@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.3: +eslint-visitor-keys@^3.4.3: version "3.4.3" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint-visitor-keys@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz" - integrity sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw== - -eslint@^9.3.0: - version "9.4.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-9.4.0.tgz" - integrity sha512-sjc7Y8cUD1IlwYcTS9qPSvGjAC8Ne9LctpxKKu3x/1IC9bnOg98Zy6GxEJUfr1NojMgVPlyANXYns8oE2c1TAA== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/config-array" "^0.15.1" - "@eslint/eslintrc" "^3.1.0" - "@eslint/js" "9.4.0" - "@humanwhocodes/module-importer" "^1.0.1" - "@humanwhocodes/retry" "^0.3.0" - "@nodelib/fs.walk" "^1.2.8" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - escape-string-regexp "^4.0.0" - eslint-scope "^8.0.1" - eslint-visitor-keys "^4.0.0" - espree "^10.0.1" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^8.0.0" - find-up "^5.0.0" - glob-parent "^6.0.2" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" +eslint-visitor-keys@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#687bacb2af884fcdda8a6e7d65c606f46a14cd45" + integrity sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw== -eslint@^9.9.0: - version "9.9.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.9.1.tgz#147ac9305d56696fb84cf5bdecafd6517ddc77ec" - integrity sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg== +eslint@^9.3.0, eslint@^9.9.0: + version "9.17.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.17.0.tgz#faa1facb5dd042172fdc520106984b5c2421bb0c" + integrity sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.11.0" - "@eslint/config-array" "^0.18.0" - "@eslint/eslintrc" "^3.1.0" - "@eslint/js" "9.9.1" + "@eslint-community/regexpp" "^4.12.1" + "@eslint/config-array" "^0.19.0" + "@eslint/core" "^0.9.0" + "@eslint/eslintrc" "^3.2.0" + "@eslint/js" "9.17.0" + "@eslint/plugin-kit" "^0.2.3" + "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" - "@humanwhocodes/retry" "^0.3.0" - "@nodelib/fs.walk" "^1.2.8" + "@humanwhocodes/retry" "^0.4.1" + "@types/estree" "^1.0.6" + "@types/json-schema" "^7.0.15" ajv "^6.12.4" chalk "^4.0.0" - cross-spawn "^7.0.2" + cross-spawn "^7.0.6" debug "^4.3.2" escape-string-regexp "^4.0.0" - eslint-scope "^8.0.2" - eslint-visitor-keys "^4.0.0" - espree "^10.1.0" + eslint-scope "^8.2.0" + eslint-visitor-keys "^4.2.0" + espree "^10.3.0" esquery "^1.5.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" @@ -5428,46 +5144,26 @@ eslint@^9.9.0: ignore "^5.2.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - is-path-inside "^3.0.3" json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" lodash.merge "^4.6.2" minimatch "^3.1.2" natural-compare "^1.4.0" optionator "^0.9.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" -espree@^10.0.1: - version "10.0.1" - resolved "https://registry.npmjs.org/espree/-/espree-10.0.1.tgz" - integrity sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww== - dependencies: - acorn "^8.11.3" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^4.0.0" - -espree@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-10.1.0.tgz#8788dae611574c0f070691f522e4116c5a11fc56" - integrity sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA== +espree@^10.0.1, espree@^10.3.0: + version "10.3.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-10.3.0.tgz#29267cf5b0cb98735b65e64ba07e0ed49d1eed8a" + integrity sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg== dependencies: - acorn "^8.12.0" + acorn "^8.14.0" acorn-jsx "^5.3.2" - eslint-visitor-keys "^4.0.0" + eslint-visitor-keys "^4.2.0" esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - esquery@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" @@ -5477,19 +5173,19 @@ esquery@^1.5.0: esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" estraverse@^4.1.1: version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== estree-walker@^2.0.1, estree-walker@^2.0.2: @@ -5506,17 +5202,17 @@ estree-walker@^3.0.3: esutils@^2.0.2: version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== eventemitter3@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== execa@^5.0.0: version "5.1.1" - resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== dependencies: cross-spawn "^7.0.3" @@ -5531,7 +5227,7 @@ execa@^5.0.0: execa@~8.0.1: version "8.0.1" - resolved "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz" + resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== dependencies: cross-spawn "^7.0.3" @@ -5546,7 +5242,7 @@ execa@~8.0.1: exit@^0.1.2: version "0.1.2" - resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== expect@^28.0.0, expect@^28.1.3: @@ -5562,7 +5258,7 @@ expect@^28.0.0, expect@^28.1.3: expect@^29.0.0, expect@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== dependencies: "@jest/expect-utils" "^29.7.0" @@ -5573,12 +5269,12 @@ expect@^29.0.0, expect@^29.7.0: fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-glob@^3.2.9, fast-glob@^3.3.2: version "3.3.2" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== dependencies: "@nodelib/fs.stat" "^2.0.2" @@ -5589,40 +5285,52 @@ fast-glob@^3.2.9, fast-glob@^3.3.2: fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-levenshtein@^2.0.6: version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fast-memoize@^2.5.1: version "2.5.2" - resolved "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz" + resolved "https://registry.yarnpkg.com/fast-memoize/-/fast-memoize-2.5.2.tgz#79e3bb6a4ec867ea40ba0e7146816f6cdce9b57e" integrity sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw== +fast-uri@^3.0.1: + version "3.0.3" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.3.tgz#892a1c91802d5d7860de728f18608a0573142241" + integrity sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw== + fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + version "1.18.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.18.0.tgz#d631d7e25faffea81887fe5ea8c9010e1b36fee0" + integrity sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw== dependencies: reusify "^1.0.4" fb-watchman@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== dependencies: bser "2.1.1" file-entry-cache@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" integrity sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ== dependencies: flat-cache "^4.0.0" +filelist@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" + integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== + dependencies: + minimatch "^5.0.1" + filesize@^10.0.12: version "10.1.6" resolved "https://registry.yarnpkg.com/filesize/-/filesize-10.1.6.tgz#31194da825ac58689c0bce3948f33ce83aabd361" @@ -5630,19 +5338,19 @@ filesize@^10.0.12: fill-range@^7.1.1: version "7.1.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== dependencies: to-regex-range "^5.0.1" find-root@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: locate-path "^5.0.0" @@ -5650,7 +5358,7 @@ find-up@^4.0.0, find-up@^4.1.0: find-up@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== dependencies: locate-path "^6.0.0" @@ -5658,20 +5366,20 @@ find-up@^5.0.0: flat-cache@^4.0.0: version "4.0.1" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" integrity sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw== dependencies: flatted "^3.2.9" keyv "^4.5.4" flatted@^3.2.9: - version "3.3.1" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz" - integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== + version "3.3.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.2.tgz#adba1448a9841bec72b42c532ea23dbbedef1a27" + integrity sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA== focus-visible@5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/focus-visible/-/focus-visible-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/focus-visible/-/focus-visible-5.2.0.tgz#3a9e41fccf587bd25dcc2ef045508284f0a4d6b3" integrity sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ== follow-redirects@^1.15.6: @@ -5681,23 +5389,23 @@ follow-redirects@^1.15.6: for-each@^0.3.3: version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== dependencies: is-callable "^1.1.3" foreground-child@^3.1.0: - version "3.2.1" - resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz" - integrity sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA== + version "3.3.0" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77" + integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== dependencies: cross-spawn "^7.0.0" signal-exit "^4.0.1" form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + version "4.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.1.tgz#ba1076daaaa5bfd7e99c1a6cb02aa0a5cff90d48" + integrity sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw== dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" @@ -5714,115 +5422,118 @@ fs-extra@~7.0.1: fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@^2.3.2, fsevents@~2.3.2, fsevents@~2.3.3: version "2.3.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== function-bind@^1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== +function.prototype.name@^1.1.6, function.prototype.name@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz#e68e1df7b259a5c949eeef95cdbde53edffabb78" + integrity sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q== dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" functions-have-names "^1.2.3" + hasown "^2.0.2" + is-callable "^1.2.7" functional-red-black-tree@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== functions-have-names@^1.2.3: version "1.2.3" - resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== gensync@^1.0.0-beta.2: version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== get-caller-file@^2.0.5: version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-east-asian-width@^1.0.0: - version "1.2.0" - resolved "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz" - integrity sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== - -get-func-name@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" - integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz#21b4071ee58ed04ee0db653371b55b4299875389" + integrity sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ== -get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== +get-intrinsic@^1.1.3, get-intrinsic@^1.2.2, get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.7.tgz#dcfcb33d3272e15f445d15124bc0a216189b9044" + integrity sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA== dependencies: + call-bind-apply-helpers "^1.0.1" + es-define-property "^1.0.1" es-errors "^1.3.0" + es-object-atoms "^1.0.0" function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" + get-proto "^1.0.0" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" get-package-type@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== +get-proto@^1.0.0, get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + get-stream@^6.0.0: version "6.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== get-stream@^8.0.1: version "8.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== -get-symbol-description@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz" - integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== +get-symbol-description@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz#7bdd54e0befe8ffc9f3b4e203220d9f1e881b6ee" + integrity sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg== dependencies: - call-bind "^1.0.5" + call-bound "^1.0.3" es-errors "^1.3.0" - get-intrinsic "^1.2.4" + get-intrinsic "^1.2.6" glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" glob-parent@^6.0.2: version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: is-glob "^4.0.3" -glob-promise@^4.2.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/glob-promise/-/glob-promise-4.2.2.tgz#15f44bcba0e14219cd93af36da6bb905ff007877" - integrity sha512-xcUzJ8NWN5bktoTIX7eOclO1Npxd/dyVqUJxlLIDasT4C7KZyqlPIwkdJ0Ypiy3p2ZKahTjK4M9uC3sNSfNMzw== - dependencies: - "@types/glob" "^7.1.3" - glob@^11.0.0: version "11.0.0" resolved "https://registry.yarnpkg.com/glob/-/glob-11.0.0.tgz#6031df0d7b65eaa1ccb9b29b5ced16cea658e77e" @@ -5835,9 +5546,9 @@ glob@^11.0.0: package-json-from-dist "^1.0.0" path-scurry "^2.0.0" -glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0: +glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" @@ -5849,22 +5560,22 @@ glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0: globals@^11.1.0: version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^14.0.0: version "14.0.0" - resolved "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz" + resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== globals@^15.9.0: - version "15.9.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-15.9.0.tgz#e9de01771091ffbc37db5714dab484f9f69ff399" - integrity sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA== + version "15.14.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-15.14.0.tgz#b8fd3a8941ff3b4d38f3319d433b61bbb482e73f" + integrity sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig== -globalthis@^1.0.3: +globalthis@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== dependencies: define-properties "^1.2.1" @@ -5872,7 +5583,7 @@ globalthis@^1.0.3: globby@^11.0.3, globby@^11.1.0: version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" @@ -5882,58 +5593,58 @@ globby@^11.0.3, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" +gopd@^1.0.1, gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.9: version "4.2.11" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== graphemer@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== +has-bigints@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe" + integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg== has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== dependencies: es-define-property "^1.0.0" -has-proto@^1.0.1, has-proto@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== +has-proto@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.2.0.tgz#5de5a6eabd95fdffd9818b43055e8065e39fe9d5" + integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ== + dependencies: + dunder-proto "^1.0.0" -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== +has-symbols@^1.0.3, has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== -has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: +has-tostringtag@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== dependencies: has-symbols "^1.0.3" @@ -5943,40 +5654,40 @@ hash-sum@^2.0.0: resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a" integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg== -hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: +hasown@^2.0.0, hasown@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: function-bind "^1.1.2" he@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== hoist-non-react-statics@^3.3.1: version "3.3.2" - resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== dependencies: react-is "^16.7.0" hosted-git-info@^2.1.4: version "2.8.9" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== html-encoding-sniffer@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== dependencies: whatwg-encoding "^2.0.0" html-escaper@^2.0.0: version "2.0.2" - resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== html-parse-stringify@^3.0.1: @@ -5993,7 +5704,7 @@ html-tags@^3.3.1: http-proxy-agent@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== dependencies: "@tootallnate/once" "2" @@ -6002,7 +5713,7 @@ http-proxy-agent@^5.0.0: https-proxy-agent@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== dependencies: agent-base "6" @@ -6010,22 +5721,22 @@ https-proxy-agent@^5.0.1: human-signals@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== human-signals@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== husky@^9.0.11: - version "9.0.11" - resolved "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz" - integrity sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw== + version "9.1.7" + resolved "https://registry.yarnpkg.com/husky/-/husky-9.1.7.tgz#d46a38035d101b46a70456a850ff4201344c0b2d" + integrity sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA== hyphenate-style-name@1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d" integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ== i18next-chained-backend@^4.6.2: @@ -6036,9 +5747,9 @@ i18next-chained-backend@^4.6.2: "@babel/runtime" "^7.23.2" i18next-http-backend@^2.5.2: - version "2.6.1" - resolved "https://registry.yarnpkg.com/i18next-http-backend/-/i18next-http-backend-2.6.1.tgz#186c3a1359e10245c9119a13129f9b5bf328c9a7" - integrity sha512-rCilMAnlEQNeKOZY1+x8wLM5IpYOj10guGvEpeC59tNjj6MMreLIjIW8D1RclhD3ifLwn6d/Y9HEM1RUE6DSog== + version "2.7.1" + resolved "https://registry.yarnpkg.com/i18next-http-backend/-/i18next-http-backend-2.7.1.tgz#c754e51c242e8029445263d4351096c67feea102" + integrity sha512-vPksHIckysGgykCD8JwCr2YsJEml9Cyw+Yu2wtb4fQ7xIn9RH/hkUDh5UkwnIzb0kSL4SJ30Ab/sCInhQxbCgg== dependencies: cross-fetch "4.0.0" @@ -6050,32 +5761,32 @@ i18next-resources-to-backend@^1.2.1: "@babel/runtime" "^7.23.2" i18next@^23.11.5: - version "23.15.0" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.15.0.tgz#5addfd99db0351ae5d1b283638db788727741cbb" - integrity sha512-saeTb1tIQT+W/3xMivWSEVdpjyiEbj0IeK8eI/PB8jyr5gSQF5qxWLlGLEgRa5od3lvMfvW+ituhrf2VCNfTuw== + version "23.16.8" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.16.8.tgz#3ae1373d344c2393f465556f394aba5a9233b93a" + integrity sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg== dependencies: "@babel/runtime" "^7.23.2" iconv-lite@0.6.3: version "0.6.3" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== dependencies: safer-buffer ">= 2.1.2 < 3.0.0" ignore@^5.1.4, ignore@^5.1.8, ignore@^5.2.0, ignore@^5.3.1: - version "5.3.1" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== -immutable@^4.0.0: - version "4.3.6" - resolved "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz" - integrity sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ== +immutable@^5.0.2: + version "5.0.3" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.0.3.tgz#aa037e2313ea7b5d400cd9298fa14e404c933db1" + integrity sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw== import-fresh@^3.2.1: version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" @@ -6087,26 +5798,26 @@ import-lazy@~4.0.0: integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" + integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== dependencies: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== indent-string@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== inflight@^1.0.4: version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" @@ -6114,98 +5825,105 @@ inflight@^1.0.4: inherits@2, inherits@^2.0.3: version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== inherits@2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== -internal-slot@^1.0.4, internal-slot@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz" - integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== +internal-slot@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.1.0.tgz#1eac91762947d2f7056bc838d93e13b2e9604961" + integrity sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw== dependencies: es-errors "^1.3.0" - hasown "^2.0.0" - side-channel "^1.0.4" + hasown "^2.0.2" + side-channel "^1.1.0" is-arguments@^1.0.4, is-arguments@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.2.0.tgz#ad58c6aecf563b78ef2bf04df540da8f5d7d8e1b" + integrity sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + has-tostringtag "^1.0.2" -is-array-buffer@^3.0.2, is-array-buffer@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz" - integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== +is-array-buffer@^3.0.2, is-array-buffer@^3.0.4, is-array-buffer@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz#65742e1e687bd2cc666253068fd8707fe4d44280" + integrity sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A== dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" + call-bind "^1.0.8" + call-bound "^1.0.3" + get-intrinsic "^1.2.6" is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-async-function@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz" - integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.1.0.tgz#1d1080612c493608e93168fc4458c245074c06a6" + integrity sha512-GExz9MtyhlZyXYLxzlJRj5WUCE661zhDa1Yna52CN57AJsymh+DvXXjyveSioqSRdxvUrdKdvqB1b5cVKsNpWQ== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + get-proto "^1.0.1" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== +is-bigint@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.1.0.tgz#dda7a3445df57a42583db4228682eba7c4170672" + integrity sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ== dependencies: - has-bigints "^1.0.1" + has-bigints "^1.0.2" is-binary-path@~2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: binary-extensions "^2.0.0" -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== +is-boolean-object@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.2.1.tgz#c20d0c654be05da4fbc23c562635c019e93daf89" + integrity sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + has-tostringtag "^1.0.2" -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: +is-callable@^1.1.3, is-callable@^1.2.7: version "1.2.7" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== +is-core-module@^2.13.0, is-core-module@^2.16.0: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== dependencies: - hasown "^2.0.0" + hasown "^2.0.2" -is-data-view@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz" - integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== +is-data-view@^1.0.1, is-data-view@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.2.tgz#bae0a41b9688986c2188dda6657e56b8f9e63b8e" + integrity sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw== dependencies: + call-bound "^1.0.2" + get-intrinsic "^1.2.6" is-typed-array "^1.1.13" -is-date-object@^1.0.1, is-date-object@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== +is-date-object@^1.0.5, is-date-object@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.1.0.tgz#ad85541996fc7aa8b2729701d27b7319f95d82f7" + integrity sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + has-tostringtag "^1.0.2" is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" @@ -6214,159 +5932,158 @@ is-docker@^2.0.0, is-docker@^2.1.1: is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== -is-finalizationregistry@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz" - integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== +is-finalizationregistry@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz#eefdcdc6c94ddd0674d9c85887bf93f944a97c90" + integrity sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-fullwidth-code-point@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== is-fullwidth-code-point@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz#9609efced7c2f97da7b60145ef481c787c7ba704" integrity sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== dependencies: get-east-asian-width "^1.0.0" is-generator-fn@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== is-generator-function@^1.0.10, is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.1.0.tgz#bf3eeda931201394f57b5dba2800f91a238309ca" + integrity sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + get-proto "^1.0.0" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" is-in-browser@^1.0.2: version "1.1.3" - resolved "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835" integrity sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g== is-map@^2.0.2, is-map@^2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== -is-negative-zero@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz" - integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== +is-number-object@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.1.1.tgz#144b21e95a1bc148205dcc2814a9134ec41b2541" + integrity sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + has-tostringtag "^1.0.2" is-number@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - is-potential-custom-element-name@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== +is-regex@^1.1.4, is-regex@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" + integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + hasown "^2.0.2" is-set@^2.0.2, is-set@^2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== -is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz" - integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== +is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz#9b67844bd9b7f246ba0708c3a93e34269c774f6f" + integrity sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A== dependencies: - call-bind "^1.0.7" + call-bound "^1.0.3" is-stream@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== is-stream@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== +is-string@^1.0.7, is-string@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.1.1.tgz#92ea3f3d5c5b6e039ca8677e5ac8d07ea773cbb9" + integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA== dependencies: - has-tostringtag "^1.0.0" + call-bound "^1.0.3" + has-tostringtag "^1.0.2" -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== +is-symbol@^1.0.4, is-symbol@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.1.1.tgz#f47761279f532e2b05a7024a7506dbbedacd0634" + integrity sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w== dependencies: - has-symbols "^1.0.2" + call-bound "^1.0.2" + has-symbols "^1.1.0" + safe-regex-test "^1.1.0" -is-typed-array@^1.1.13, is-typed-array@^1.1.3: - version "1.1.13" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz" - integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== +is-typed-array@^1.1.13, is-typed-array@^1.1.14, is-typed-array@^1.1.15, is-typed-array@^1.1.3: + version "1.1.15" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b" + integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== dependencies: - which-typed-array "^1.1.14" + which-typed-array "^1.1.16" is-weakmap@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== +is-weakref@^1.0.2, is-weakref@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.1.0.tgz#47e3472ae95a63fa9cf25660bcf0c181c39770ef" + integrity sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.2" is-weakset@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz" - integrity sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ== + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.4.tgz#c9f5deb0bc1906c6d6f1027f284ddf459249daca" + integrity sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ== dependencies: - call-bind "^1.0.7" - get-intrinsic "^1.2.4" + call-bound "^1.0.3" + get-intrinsic "^1.2.6" is-wsl@^2.2.0: version "2.2.0" @@ -6377,22 +6094,22 @@ is-wsl@^2.2.0: isarray@^2.0.5: version "2.0.5" - resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== isexe@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: version "3.2.2" - resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: version "5.2.1" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== dependencies: "@babel/core" "^7.12.3" @@ -6402,9 +6119,9 @@ istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: semver "^6.3.0" istanbul-lib-instrument@^6.0.0: - version "6.0.2" - resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz" - integrity sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw== + version "6.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz#fa15401df6c15874bcb2105f773325d78c666765" + integrity sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q== dependencies: "@babel/core" "^7.23.9" "@babel/parser" "^7.23.9" @@ -6414,7 +6131,7 @@ istanbul-lib-instrument@^6.0.0: istanbul-lib-report@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== dependencies: istanbul-lib-coverage "^3.0.0" @@ -6423,7 +6140,7 @@ istanbul-lib-report@^3.0.0: istanbul-lib-source-maps@^4.0.0: version "4.0.1" - resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== dependencies: debug "^4.1.1" @@ -6432,31 +6149,40 @@ istanbul-lib-source-maps@^4.0.0: istanbul-reports@^3.1.3: version "3.1.7" - resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -iterator.prototype@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz" - integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w== +iterator.prototype@^1.1.4: + version "1.1.5" + resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.5.tgz#12c959a29de32de0aa3bbbb801f4d777066dae39" + integrity sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g== dependencies: - define-properties "^1.2.1" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - reflect.getprototypeof "^1.0.4" - set-function-name "^2.0.1" + define-data-property "^1.1.4" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.6" + get-proto "^1.0.0" + has-symbols "^1.1.0" + set-function-name "^2.0.2" jackspeak@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-4.0.1.tgz#9fca4ce961af6083e259c376e9e3541431f5287b" - integrity sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog== + version "4.0.2" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-4.0.2.tgz#11f9468a3730c6ff6f56823a820d7e3be9bef015" + integrity sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw== dependencies: "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" + +jake@^10.8.5: + version "10.9.2" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.2.tgz#6ae487e6a69afec3a5e167628996b59f35ae2b7f" + integrity sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA== + dependencies: + async "^3.2.3" + chalk "^4.0.2" + filelist "^1.0.4" + minimatch "^3.1.2" jest-changed-files@^28.1.3: version "28.1.3" @@ -6468,7 +6194,7 @@ jest-changed-files@^28.1.3: jest-changed-files@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== dependencies: execa "^5.0.0" @@ -6502,7 +6228,7 @@ jest-circus@^28.1.3: jest-circus@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== dependencies: "@jest/environment" "^29.7.0" @@ -6546,7 +6272,7 @@ jest-cli@^28.1.3: jest-cli@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== dependencies: "@jest/core" "^29.7.0" @@ -6591,7 +6317,7 @@ jest-config@^28.1.3: jest-config@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== dependencies: "@babel/core" "^7.11.6" @@ -6638,7 +6364,7 @@ jest-diff@^28.1.3: jest-diff@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== dependencies: chalk "^4.0.0" @@ -6655,7 +6381,7 @@ jest-docblock@^28.1.1: jest-docblock@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== dependencies: detect-newline "^3.0.0" @@ -6673,7 +6399,7 @@ jest-each@^28.1.3: jest-each@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== dependencies: "@jest/types" "^29.6.3" @@ -6684,7 +6410,7 @@ jest-each@^29.7.0: jest-environment-jsdom@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz#d206fa3551933c3fd519e5dfdb58a0f5139a837f" integrity sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA== dependencies: "@jest/environment" "^29.7.0" @@ -6710,7 +6436,7 @@ jest-environment-node@^28.1.3: jest-environment-node@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== dependencies: "@jest/environment" "^29.7.0" @@ -6727,7 +6453,7 @@ jest-get-type@^28.0.2: jest-get-type@^29.6.3: version "29.6.3" - resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== jest-haste-map@^28.1.3: @@ -6751,7 +6477,7 @@ jest-haste-map@^28.1.3: jest-haste-map@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== dependencies: "@jest/types" "^29.6.3" @@ -6778,7 +6504,7 @@ jest-leak-detector@^28.1.3: jest-leak-detector@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== dependencies: jest-get-type "^29.6.3" @@ -6796,7 +6522,7 @@ jest-matcher-utils@^28.1.3: jest-matcher-utils@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== dependencies: chalk "^4.0.0" @@ -6806,7 +6532,7 @@ jest-matcher-utils@^29.7.0: jest-message-util@^28.1.3: version "28.1.3" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.3.tgz#232def7f2e333f1eecc90649b5b94b0055e7c43d" integrity sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g== dependencies: "@babel/code-frame" "^7.12.13" @@ -6821,7 +6547,7 @@ jest-message-util@^28.1.3: jest-message-util@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== dependencies: "@babel/code-frame" "^7.12.13" @@ -6844,7 +6570,7 @@ jest-mock@^28.1.3: jest-mock@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== dependencies: "@jest/types" "^29.6.3" @@ -6853,17 +6579,17 @@ jest-mock@^29.7.0: jest-pnp-resolver@^1.2.2: version "1.2.3" - resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== jest-regex-util@^28.0.2: version "28.0.2" - resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz#afdc377a3b25fb6e80825adcf76c854e5bf47ead" integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw== jest-regex-util@^29.6.3: version "29.6.3" - resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== jest-resolve-dependencies@^28.1.3: @@ -6876,7 +6602,7 @@ jest-resolve-dependencies@^28.1.3: jest-resolve-dependencies@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== dependencies: jest-regex-util "^29.6.3" @@ -6899,7 +6625,7 @@ jest-resolve@^28.1.3: jest-resolve@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== dependencies: chalk "^4.0.0" @@ -6941,7 +6667,7 @@ jest-runner@^28.1.3: jest-runner@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== dependencies: "@jest/console" "^29.7.0" @@ -6996,7 +6722,7 @@ jest-runtime@^28.1.3: jest-runtime@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== dependencies: "@jest/environment" "^29.7.0" @@ -7053,7 +6779,7 @@ jest-snapshot@^28.1.3: jest-snapshot@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== dependencies: "@babel/core" "^7.11.6" @@ -7079,7 +6805,7 @@ jest-snapshot@^29.7.0: jest-util@^28.1.3: version "28.1.3" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.3.tgz#f4f932aa0074f0679943220ff9cbba7e497028b0" integrity sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ== dependencies: "@jest/types" "^28.1.3" @@ -7091,7 +6817,7 @@ jest-util@^28.1.3: jest-util@^29.0.0, jest-util@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== dependencies: "@jest/types" "^29.6.3" @@ -7115,7 +6841,7 @@ jest-validate@^28.1.3: jest-validate@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== dependencies: "@jest/types" "^29.6.3" @@ -7127,7 +6853,7 @@ jest-validate@^29.7.0: jest-watcher@^28.1.3: version "28.1.3" - resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-28.1.3.tgz#c6023a59ba2255e3b4c57179fc94164b3e73abd4" integrity sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g== dependencies: "@jest/test-result" "^28.1.3" @@ -7141,7 +6867,7 @@ jest-watcher@^28.1.3: jest-watcher@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== dependencies: "@jest/test-result" "^29.7.0" @@ -7155,7 +6881,7 @@ jest-watcher@^29.7.0: jest-worker@^28.1.3: version "28.1.3" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.3.tgz#7e3c4ce3fa23d1bb6accb169e7f396f98ed4bb98" integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g== dependencies: "@types/node" "*" @@ -7164,7 +6890,7 @@ jest-worker@^28.1.3: jest-worker@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== dependencies: "@types/node" "*" @@ -7199,29 +6925,29 @@ jju@~1.4.0: jquery-ui@1.13.2: version "1.13.2" - resolved "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.13.2.tgz" + resolved "https://registry.yarnpkg.com/jquery-ui/-/jquery-ui-1.13.2.tgz#de03580ae6604773602f8d786ad1abfb75232034" integrity sha512-wBZPnqWs5GaYJmo1Jj0k/mrSkzdQzKDwhXNtHKcBdAcKVxMM3KNYFq+iJ2i1rwiG53Z8M4mTn3Qxrm17uH1D4Q== dependencies: jquery ">=1.8.0 <4.0.0" jquery@3.5.1: version "3.5.1" - resolved "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.5.1.tgz#d7b4d08e1bfdb86ad2f1a3d039ea17304717abb5" integrity sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg== "jquery@>=1.8.0 <4.0.0": version "3.7.1" - resolved "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.7.1.tgz#083ef98927c9a6a74d05a6af02806566d16274de" integrity sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg== "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1: version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" @@ -7229,7 +6955,7 @@ js-yaml@^3.13.1: js-yaml@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" @@ -7241,7 +6967,7 @@ jsdoc-type-pratt-parser@^4.0.0: jsdom@^20.0.0: version "20.0.3" - resolved "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ== dependencies: abab "^2.0.6" @@ -7271,49 +6997,49 @@ jsdom@^20.0.0: ws "^8.11.0" xml-name-validator "^4.0.0" -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" + integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== +jsesc@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== json-buffer@3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== json-parse-better-errors@^1.0.1: version "1.0.2" - resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== json-parse-even-better-errors@^2.3.0: version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-schema-traverse@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json5@^2.2.2, json5@^2.2.3: version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== jsonfile@^4.0.0: @@ -7325,7 +7051,7 @@ jsonfile@^4.0.0: jsonfile@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: universalify "^2.0.0" @@ -7334,7 +7060,7 @@ jsonfile@^6.1.0: "jsx-ast-utils@^2.4.1 || ^3.0.0": version "3.3.5" - resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== dependencies: array-includes "^3.1.6" @@ -7344,14 +7070,14 @@ jsonfile@^6.1.0: keyv@^4.5.4: version "4.5.4" - resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: json-buffer "3.0.1" kleur@^3.0.3: version "3.0.3" - resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== kolorist@^1.8.0: @@ -7361,47 +7087,47 @@ kolorist@^1.8.0: leven@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== levn@^0.4.1: version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: prelude-ls "^1.2.1" type-check "~0.4.0" -lilconfig@~3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.2.tgz#e4a7c3cb549e3a606c8dcc32e5ae1005e62c05cb" - integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow== +lilconfig@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4" + integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw== lines-and-columns@^1.1.6: version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== lint-staged@^15.2.10: - version "15.2.10" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.2.10.tgz#92ac222f802ba911897dcf23671da5bb80643cd2" - integrity sha512-5dY5t743e1byO19P9I4b3x8HJwalIznL5E1FWYnU6OWw33KxNBSLAc6Cy7F2PsFEO8FKnLwjwm5hx7aMF0jzZg== + version "15.3.0" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.3.0.tgz#32a0b3f2f2b8825950bd3b9fb093e045353bdfa3" + integrity sha512-vHFahytLoF2enJklgtOtCtIjZrKD/LoxlaUusd5nh7dWv/dkKQJY74ndFSzxCdv7g0ueGg1ORgTSt4Y9LPZn9A== dependencies: - chalk "~5.3.0" + chalk "~5.4.1" commander "~12.1.0" - debug "~4.3.6" + debug "~4.4.0" execa "~8.0.1" - lilconfig "~3.1.2" - listr2 "~8.2.4" + lilconfig "~3.1.3" + listr2 "~8.2.5" micromatch "~4.0.8" pidtree "~0.6.0" string-argv "~0.3.2" - yaml "~2.5.0" + yaml "~2.6.1" -listr2@~8.2.4: - version "8.2.4" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.2.4.tgz#486b51cbdb41889108cb7e2c90eeb44519f5a77f" - integrity sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g== +listr2@~8.2.5: + version "8.2.5" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.2.5.tgz#5c9db996e1afeb05db0448196d3d5f64fec2593d" + integrity sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ== dependencies: cli-truncate "^4.0.0" colorette "^2.0.20" @@ -7412,7 +7138,7 @@ listr2@~8.2.4: load-json-file@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== dependencies: graceful-fs "^4.1.2" @@ -7420,36 +7146,36 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" -local-pkg@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.5.0.tgz#093d25a346bae59a99f80e75f6e9d36d7e8c925c" - integrity sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg== +local-pkg@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.5.1.tgz#69658638d2a95287534d4c2fff757980100dbb6d" + integrity sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ== dependencies: - mlly "^1.4.2" - pkg-types "^1.0.3" + mlly "^1.7.3" + pkg-types "^1.2.1" locate-path@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== dependencies: p-locate "^4.1.0" locate-path@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== dependencies: p-locate "^5.0.0" lodash-es@^4.17.15: version "4.17.21" - resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== lodash.debounce@^4.0.8: version "4.0.8" - resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== lodash.isplainobject@^4.0.6: @@ -7457,19 +7183,19 @@ lodash.isplainobject@^4.0.6: resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== -lodash.memoize@4.x: +lodash.memoize@^4.1.2: version "4.1.2" - resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== lodash.merge@^4.6.2: version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== lodash@4.17.21, lodash@^4.0.1, lodash@^4.17.15, lodash@^4.17.21, lodash@~4.17.15: version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== log-update@^6.1.0: @@ -7485,31 +7211,24 @@ log-update@^6.1.0: loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: js-tokens "^3.0.0 || ^4.0.0" -loupe@^3.1.0, loupe@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.1.tgz#71d038d59007d890e3247c5db97c1ec5a92edc54" - integrity sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw== - dependencies: - get-func-name "^2.0.1" - -loupe@^3.1.2: +loupe@^3.1.0, loupe@^3.1.1, loupe@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.2.tgz#c86e0696804a02218f2206124c45d8b15291a240" integrity sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg== lru-cache@^11.0.0: - version "11.0.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.0.1.tgz#3a732fbfedb82c5ba7bca6564ad3f42afcb6e147" - integrity sha512-CgeuL5uom6j/ZVrg7G/+1IXqRY8JXX4Hghfy5YE0EhoYQWvndP1kufu58cmZLNIDKnRhZrXfdS9urVWx98AipQ== + version "11.0.2" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.0.2.tgz#fbd8e7cf8211f5e7e5d91905c415a3f55755ca39" + integrity sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA== lru-cache@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: yallist "^3.0.2" @@ -7523,7 +7242,7 @@ lru-cache@^6.0.0: lz-string@^1.5.0: version "1.5.0" - resolved "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz" + resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== magic-string@^0.27.0: @@ -7533,28 +7252,28 @@ magic-string@^0.27.0: dependencies: "@jridgewell/sourcemap-codec" "^1.4.13" -magic-string@^0.30.0, magic-string@^0.30.11: - version "0.30.11" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.11.tgz#301a6f93b3e8c2cb13ac1a7a673492c0dfd12954" - integrity sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A== +magic-string@^0.30.0, magic-string@^0.30.11, magic-string@^0.30.17: + version "0.30.17" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.17.tgz#450a449673d2460e5bbcfba9a61916a1714c7453" + integrity sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA== dependencies: "@jridgewell/sourcemap-codec" "^1.5.0" make-dir@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== dependencies: semver "^7.5.3" -make-error@1.x, make-error@^1.1.1: +make-error@^1.1.1, make-error@^1.3.6: version "1.3.6" - resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== makeerror@1.0.12: version "1.0.12" - resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== dependencies: tmpl "1.0.5" @@ -7566,9 +7285,14 @@ map-or-similar@^1.5.0: material-colors@^1.2.1: version "1.2.6" - resolved "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz" + resolved "https://registry.yarnpkg.com/material-colors/-/material-colors-1.2.6.tgz#6d1958871126992ceecc72f4bcc4d8f010865f46" integrity sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg== +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + memoizerific@^1.11.3: version "1.11.3" resolved "https://registry.yarnpkg.com/memoizerific/-/memoizerific-1.11.3.tgz#7c87a4646444c32d75438570905f2dbd1b1a805a" @@ -7578,28 +7302,20 @@ memoizerific@^1.11.3: memorystream@^0.3.1: version "0.3.1" - resolved "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz" + resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== merge-stream@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -micromatch@^4.0.4: - version "4.0.7" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz" - integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== - dependencies: - braces "^3.0.3" - picomatch "^2.3.1" - -micromatch@~4.0.8: +micromatch@^4.0.4, micromatch@^4.0.5, micromatch@~4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== @@ -7609,24 +7325,24 @@ micromatch@~4.0.8: mime-db@1.52.0: version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== mime-types@^2.1.12: version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: mime-db "1.52.0" mimic-fn@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== mimic-fn@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== mimic-function@^5.0.0: @@ -7636,7 +7352,7 @@ mimic-function@^5.0.0: min-indent@^1.0.0, min-indent@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== minimatch@^10.0.0: @@ -7646,24 +7362,24 @@ minimatch@^10.0.0: dependencies: brace-expansion "^2.0.1" -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" -minimatch@^9.0.1, minimatch@^9.0.3: - version "9.0.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" - integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== dependencies: brace-expansion "^2.0.1" -minimatch@^9.0.4: - version "9.0.4" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz" - integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== +minimatch@^9.0.1, minimatch@^9.0.3, minimatch@^9.0.4: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== dependencies: brace-expansion "^2.0.1" @@ -7676,34 +7392,29 @@ minimatch@~3.0.3: minimist@^1.1.3, minimist@^1.2.6: version "1.2.8" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== minipass@^7.1.2: version "7.1.2" - resolved "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== -mlly@^1.4.2, mlly@^1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.7.1.tgz#e0336429bb0731b6a8e887b438cbdae522c8f32f" - integrity sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA== +mlly@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.7.3.tgz#d86c0fcd8ad8e16395eb764a5f4b831590cee48c" + integrity sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A== dependencies: - acorn "^8.11.3" + acorn "^8.14.0" pathe "^1.1.2" - pkg-types "^1.1.1" - ufo "^1.5.3" + pkg-types "^1.2.1" + ufo "^1.5.4" moment@^2.30.1: version "2.30.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" @@ -7715,20 +7426,25 @@ muggle-string@^0.4.1: integrity sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ== nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + version "3.3.8" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf" + integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w== natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== nice-try@^1.0.4: version "1.0.5" - resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== +node-addon-api@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" + integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== + node-fetch@^2.6.12: version "2.7.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" @@ -7738,22 +7454,17 @@ node-fetch@^2.6.12: node-int64@^0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== - -node-releases@^2.0.18: - version "2.0.18" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" - integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== +node-releases@^2.0.19: + version "2.0.19" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" + integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== normalize-package-data@^2.3.2: version "2.5.0" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== dependencies: hosted-git-info "^2.1.4" @@ -7763,12 +7474,12 @@ normalize-package-data@^2.3.2: normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== npm-run-all@^4.1.5: version "4.1.5" - resolved "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz" + resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== dependencies: ansi-styles "^3.2.1" @@ -7783,36 +7494,36 @@ npm-run-all@^4.1.5: npm-run-path@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== dependencies: path-key "^3.0.0" npm-run-path@^5.1.0: version "5.3.0" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f" integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== dependencies: path-key "^4.0.0" nwsapi@^2.2.2: - version "2.2.10" - resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.10.tgz" - integrity sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ== + version "2.2.16" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.16.tgz#177760bba02c351df1d2644e220c31dfec8cdb43" + integrity sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ== object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-inspect@^1.13.1: - version "1.13.1" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== +object-inspect@^1.13.3: + version "1.13.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.3.tgz#f14c183de51130243d6d18ae149375ff50ea488a" + integrity sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA== object-is@^1.1.5: version "1.1.6" - resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== dependencies: call-bind "^1.0.7" @@ -7820,22 +7531,24 @@ object-is@^1.1.5: object-keys@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.4, object.assign@^4.1.5: - version "4.1.5" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== +object.assign@^4.1.4, object.assign@^4.1.7: + version "4.1.7" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" + integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== dependencies: - call-bind "^1.0.5" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" - has-symbols "^1.0.3" + es-object-atoms "^1.0.0" + has-symbols "^1.1.0" object-keys "^1.1.1" object.entries@^1.1.8: version "1.1.8" - resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.8.tgz#bffe6f282e01f4d17807204a24f8edd823599c41" integrity sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ== dependencies: call-bind "^1.0.7" @@ -7844,7 +7557,7 @@ object.entries@^1.1.8: object.fromentries@^2.0.8: version "2.0.8" - resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== dependencies: call-bind "^1.0.7" @@ -7852,34 +7565,26 @@ object.fromentries@^2.0.8: es-abstract "^1.23.2" es-object-atoms "^1.0.0" -object.hasown@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz" - integrity sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg== - dependencies: - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - -object.values@^1.1.6, object.values@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz" - integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== +object.values@^1.1.6, object.values@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216" + integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" es-object-atoms "^1.0.0" once@^1.3.0: version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" onchange@^7.1.0: version "7.1.0" - resolved "https://registry.npmjs.org/onchange/-/onchange-7.1.0.tgz" + resolved "https://registry.yarnpkg.com/onchange/-/onchange-7.1.0.tgz#a6f0f7733e4d47014b4cd70aa1ad36c2b4cf3804" integrity sha512-ZJcqsPiWUAUpvmnJri5TPBooqJOPmC0ttN65juhN15Q8xA+Nbg3BaxBHXQ45EistKKlKElb0edmbPWnKSBkvMg== dependencies: "@blakeembrey/deque" "^1.0.5" @@ -7892,14 +7597,14 @@ onchange@^7.1.0: onetime@^5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" onetime@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== dependencies: mimic-fn "^4.0.0" @@ -7922,7 +7627,7 @@ open@^8.0.4: optionator@^0.9.3: version "0.9.4" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== dependencies: deep-is "^0.1.3" @@ -7932,54 +7637,63 @@ optionator@^0.9.3: type-check "^0.4.0" word-wrap "^1.2.5" +own-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/own-keys/-/own-keys-1.0.1.tgz#e4006910a2bf913585289676eebd6f390cf51358" + integrity sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg== + dependencies: + get-intrinsic "^1.2.6" + object-keys "^1.1.1" + safe-push-apply "^1.0.0" + p-limit@^2.2.0: version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" p-limit@^3.0.2, p-limit@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: yocto-queue "^0.1.0" p-locate@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: p-limit "^2.2.0" p-locate@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: p-limit "^3.0.2" p-try@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== package-json-from-dist@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz" - integrity sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw== + version "1.0.1" + resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" + integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" parse-json@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== dependencies: error-ex "^1.3.1" @@ -7987,7 +7701,7 @@ parse-json@^4.0.0: parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" @@ -7996,11 +7710,11 @@ parse-json@^5.0.0, parse-json@^5.2.0: lines-and-columns "^1.1.6" parse5@^7.0.0, parse5@^7.1.1: - version "7.1.2" - resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz" - integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + version "7.2.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.2.1.tgz#8928f55915e6125f430cc44309765bf17556a33a" + integrity sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ== dependencies: - entities "^4.4.0" + entities "^4.5.0" path-browserify@^1.0.1: version "1.0.1" @@ -8009,32 +7723,32 @@ path-browserify@^1.0.1: path-exists@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-key@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-key@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-scurry@^2.0.0: @@ -8047,14 +7761,14 @@ path-scurry@^2.0.0: path-type@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== dependencies: pify "^3.0.0" path-type@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== path@^0.12.7: @@ -8075,50 +7789,55 @@ pathval@^2.0.0: resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.0.tgz#7e2550b422601d4f6b8e26f1301bc8f15a741a25" integrity sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA== -picocolors@^1.0.0, picocolors@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz" - integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== +picocolors@^1.0.0, picocolors@^1.1.0, picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +picomatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab" + integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg== + pidtree@^0.3.0: version "0.3.1" - resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz" + resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== pidtree@~0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz" + resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== pify@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== pirates@^4.0.4: version "4.0.6" - resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== pkg-dir@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== dependencies: find-up "^4.0.0" -pkg-types@^1.0.3, pkg-types@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.2.0.tgz#d0268e894e93acff11a6279de147e83354ebd42d" - integrity sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA== +pkg-types@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.3.0.tgz#53d915eb99485798c554ad8eb2dc2af7c03006eb" + integrity sha512-kS7yWjVFCkIw9hqdJBoMxDdzEngmkr5FXeWZZfQ6GoYacjVnsW6l2CcYW/0ThD0vF4LPJgVYnrg4d0uuhwYQbg== dependencies: - confbox "^0.1.7" - mlly "^1.7.1" + confbox "^0.1.8" + mlly "^1.7.3" pathe "^1.1.2" polished@^4.2.2: @@ -8130,12 +7849,12 @@ polished@^4.2.2: popper.js@1.16.1-lts: version "1.16.1-lts" - resolved "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1-lts.tgz" + resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1-lts.tgz#cf6847b807da3799d80ee3d6d2f90df8a3f50b05" integrity sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA== possible-typed-array-names@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== "postcss-nested@^4.2.1 || ^5.0.0": @@ -8153,33 +7872,33 @@ postcss-selector-parser@^6.0.6: cssesc "^3.0.0" util-deprecate "^1.0.2" -"postcss@^7.0.30 || ^8.0.0", postcss@^8.4.43, postcss@^8.4.44: - version "8.4.45" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.45.tgz#538d13d89a16ef71edbf75d895284ae06b79e603" - integrity sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q== +"postcss@^7.0.30 || ^8.0.0", postcss@^8.4.43, postcss@^8.4.48: + version "8.4.49" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.49.tgz#4ea479048ab059ab3ae61d082190fabfd994fe19" + integrity sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA== dependencies: nanoid "^3.3.7" - picocolors "^1.0.1" - source-map-js "^1.2.0" + picocolors "^1.1.1" + source-map-js "^1.2.1" prelude-ls@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== prettier@3.3.2: version "3.3.2" - resolved "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.2.tgz#03ff86dc7c835f2d2559ee76876a3914cec4a90a" integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== prettier@^3.1.1: - version "3.3.3" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.3.tgz#30c54fe0be0d8d12e6ae61dbb10109ea00d53105" - integrity sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew== + version "3.4.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.4.2.tgz#a5ce1fb522a588bf2b78ca44c6e6fe5aa5a2b13f" + integrity sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ== pretty-format@^27.0.2: version "27.5.1" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== dependencies: ansi-regex "^5.0.1" @@ -8188,7 +7907,7 @@ pretty-format@^27.0.2: pretty-format@^28.0.0, pretty-format@^28.1.3: version "28.1.3" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.3.tgz#c9fba8cedf99ce50963a11b27d982a9ae90970d5" integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q== dependencies: "@jest/schemas" "^28.1.3" @@ -8198,7 +7917,7 @@ pretty-format@^28.0.0, pretty-format@^28.1.3: pretty-format@^29.0.0, pretty-format@^29.7.0: version "29.7.0" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== dependencies: "@jest/schemas" "^29.6.3" @@ -8212,7 +7931,7 @@ process@^0.11.1, process@^0.11.10: prompts@^2.0.1: version "2.4.2" - resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== dependencies: kleur "^3.0.3" @@ -8220,7 +7939,7 @@ prompts@^2.0.1: prop-types@^15.5.10, prop-types@^15.6.2, prop-types@^15.8.1: version "15.8.1" - resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== dependencies: loose-envify "^1.4.0" @@ -8233,45 +7952,47 @@ proxy-from-env@^1.1.0: integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== psl@^1.1.33: - version "1.9.0" - resolved "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + version "1.15.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.15.0.tgz#bdace31896f1d97cec6a79e8224898ce93d974c6" + integrity sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w== + dependencies: + punycode "^2.3.1" -punycode@^2.1.0, punycode@^2.1.1: +punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== pure-rand@^6.0.0: version "6.1.0" - resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2" integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== querystringify@^2.1.1: version "2.2.0" - resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== queue-microtask@^1.2.2: version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== re-resizable@6.9.0: version "6.9.0" - resolved "https://registry.npmjs.org/re-resizable/-/re-resizable-6.9.0.tgz" + resolved "https://registry.yarnpkg.com/re-resizable/-/re-resizable-6.9.0.tgz#9c3059b389ced6ade602234cc5bb1e12d231cd47" integrity sha512-3cUDG81ylyqI0Pdgle/RHwwRYq0ORZzsUaySOCO8IbEtNyaRtrIHYm/jMQ5pjcNiKCxR3vsSymIQZHwJq4gg2Q== dependencies: fast-memoize "^2.5.1" re-resizable@^6.9.17: - version "6.9.18" - resolved "https://registry.yarnpkg.com/re-resizable/-/re-resizable-6.9.18.tgz#e55948ba099372c8ea070dcda41fd02ccdced0dc" - integrity sha512-4RgEES1iizvpaNtvcJz2fUOw5efuK5Jaix3+nY4yQvI6pxKKkFaoKZB1KtiXd8hawR2BGdcoJFS4NGDPketAYQ== + version "6.10.3" + resolved "https://registry.yarnpkg.com/re-resizable/-/re-resizable-6.10.3.tgz#72c42532ede0cbcaf93308bcbfed782abbf97e79" + integrity sha512-zvWb7X3RJMA4cuSrqoxgs3KR+D+pEXnGrD2FAD6BMYAULnZsSF4b7AOVyG6pC3VVNVOtlagGDCDmZSwWLjjBBw== react-color@2.19.3: version "2.19.3" - resolved "https://registry.npmjs.org/react-color/-/react-color-2.19.3.tgz" + resolved "https://registry.yarnpkg.com/react-color/-/react-color-2.19.3.tgz#ec6c6b4568312a3c6a18420ab0472e146aa5683d" integrity sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA== dependencies: "@icons/material" "^0.2.4" @@ -8283,9 +8004,9 @@ react-color@2.19.3: tinycolor2 "^1.4.1" react-confetti@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/react-confetti/-/react-confetti-6.1.0.tgz#03dc4340d955acd10b174dbf301f374a06e29ce6" - integrity sha512-7Ypx4vz0+g8ECVxr88W9zhcQpbeujJAVqL14ZnXJ3I23mOI9/oBVTQ3dkJhUmB0D6XOtCZEM6N0Gm9PMngkORw== + version "6.2.2" + resolved "https://registry.yarnpkg.com/react-confetti/-/react-confetti-6.2.2.tgz#b72888889b10b6707a91adca919dd35c653f4bb2" + integrity sha512-K+kTyOPgX+ZujMZ+Rmb7pZdHBvg+DzinG/w4Eh52WOB8/pfO38efnnrtEZNJmjTvLxc16RBYO+tPM68Fg8viBA== dependencies: tween-functions "^1.2.0" @@ -8295,9 +8016,9 @@ react-docgen-typescript@^2.2.2: integrity sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg== react-docgen@^7.0.0: - version "7.0.3" - resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-7.0.3.tgz#f811b785f07b1f2023cb899b6bcf9d522b21b95d" - integrity sha512-i8aF1nyKInZnANZ4uZrH49qn1paRgBZ7wZiCNBMnenlPzEv0mRl+ShpTVEI6wZNl8sSc79xZkivtgLKQArcanQ== + version "7.1.0" + resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-7.1.0.tgz#4b41e557dab939a5157be09ee532fd09c07d99fc" + integrity sha512-APPU8HB2uZnpl6Vt/+0AFoVYgSRtfiP6FLrZgPPTDmqSb2R4qZRbgd0A3VzIFxDt5e+Fozjx79WjLWnF69DK8g== dependencies: "@babel/core" "^7.18.9" "@babel/traverse" "^7.18.9" @@ -8312,7 +8033,7 @@ react-docgen@^7.0.0: "react-dom@^16.8.0 || ^17.0.0 || ^18.0.0", react-dom@^18.3.1: version "18.3.1" - resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== dependencies: loose-envify "^1.1.0" @@ -8336,26 +8057,31 @@ react-i18next@^14.1.2: react-is@16.13.1, react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== react-is@^17.0.1: version "17.0.2" - resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== -react-is@^18.0.0, react-is@^18.2.0, react-is@^18.3.1: +react-is@^18.0.0, react-is@^18.2.0: version "18.3.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== +react-is@^19.0.0: + version "19.0.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.0.0.tgz#d6669fd389ff022a9684f708cf6fa4962d1fea7a" + integrity sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g== + react-redux@^9.1.2: - version "9.1.2" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-9.1.2.tgz#deba38c64c3403e9abd0c3fbeab69ffd9d8a7e4b" - integrity sha512-0OA4dhM1W48l3uzmv6B7TXPCGmokUU4p1M44DGN2/D9a1FjVPukVjER1PcPX97jIg6aUeLq1XJo1IpfbgULn0w== + version "9.2.0" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-9.2.0.tgz#96c3ab23fb9a3af2cb4654be4b51c989e32366f5" + integrity sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g== dependencies: - "@types/use-sync-external-store" "^0.0.3" - use-sync-external-store "^1.0.0" + "@types/use-sync-external-store" "^0.0.6" + use-sync-external-store "^1.4.0" react-refresh@^0.14.2: version "0.14.2" @@ -8364,7 +8090,7 @@ react-refresh@^0.14.2: react-transition-group@4.4.5, react-transition-group@^4.4.5: version "4.4.5" - resolved "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== dependencies: "@babel/runtime" "^7.5.5" @@ -8374,30 +8100,35 @@ react-transition-group@4.4.5, react-transition-group@^4.4.5: "react@^16.8.0 || ^17.0.0 || ^18.0.0", react@^18.3.1: version "18.3.1" - resolved "https://registry.npmjs.org/react/-/react-18.3.1.tgz" + resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== dependencies: loose-envify "^1.1.0" reactcss@1.2.3, reactcss@^1.2.0: version "1.2.3" - resolved "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/reactcss/-/reactcss-1.2.3.tgz#c00013875e557b1cf0dfd9a368a1c3dab3b548dd" integrity sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A== dependencies: lodash "^4.0.1" read-pkg@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== dependencies: load-json-file "^4.0.0" normalize-package-data "^2.3.2" path-type "^3.0.0" +readdirp@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.0.2.tgz#388fccb8b75665da3abffe2d8f8ed59fe74c230a" + integrity sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA== + readdirp@~3.6.0: version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" @@ -8415,7 +8146,7 @@ recast@^0.23.5: redent@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== dependencies: indent-string "^4.0.0" @@ -8448,131 +8179,139 @@ redux@^4.0.5: dependencies: "@babel/runtime" "^7.9.2" -reflect.getprototypeof@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz" - integrity sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg== +reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz#c629219e78a3316d8b604c765ef68996964e7bf9" + integrity sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" define-properties "^1.2.1" - es-abstract "^1.23.1" + es-abstract "^1.23.9" es-errors "^1.3.0" - get-intrinsic "^1.2.4" - globalthis "^1.0.3" - which-builtin-type "^1.1.3" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.7" + get-proto "^1.0.1" + which-builtin-type "^1.2.1" -regenerate-unicode-properties@^10.1.0: - version "10.1.1" - resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz" - integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== +regenerate-unicode-properties@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz#626e39df8c372338ea9b8028d1f99dc3fd9c3db0" + integrity sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA== dependencies: regenerate "^1.4.2" regenerate@^1.4.2: version "1.4.2" - resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== regenerator-runtime@^0.14.0: version "0.14.1" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== regenerator-transform@^0.15.2: version "0.15.2" - resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== dependencies: "@babel/runtime" "^7.8.4" -regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2: - version "1.5.2" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz" - integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== +regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.3: + version "1.5.4" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19" + integrity sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA== dependencies: - call-bind "^1.0.6" + call-bind "^1.0.8" define-properties "^1.2.1" es-errors "^1.3.0" - set-function-name "^2.0.1" + get-proto "^1.0.1" + gopd "^1.2.0" + set-function-name "^2.0.2" regexpp@^3.1.0: version "3.2.0" - resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== -regexpu-core@^5.3.1: - version "5.3.2" - resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" - integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== +regexpu-core@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.2.0.tgz#0e5190d79e542bf294955dccabae04d3c7d53826" + integrity sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA== dependencies: - "@babel/regjsgen" "^0.8.0" regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsparser "^0.9.1" + regenerate-unicode-properties "^10.2.0" + regjsgen "^0.8.0" + regjsparser "^0.12.0" unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.1.0" -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== +regjsgen@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab" + integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== + +regjsparser@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.12.0.tgz#0e846df6c6530586429377de56e0475583b088dc" + integrity sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ== dependencies: - jsesc "~0.5.0" + jsesc "~3.0.2" require-directory@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== require-from-string@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== requires-port@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== resolve-cwd@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== dependencies: resolve-from "^5.0.0" resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve-from@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== resolve.exports@^1.1.0: version "1.1.1" - resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.1.tgz#05cfd5b3edf641571fd46fa608b610dda9ead999" integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== resolve.exports@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz" - integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== + version "2.0.3" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.3.tgz#41955e6f1b4013b7586f873749a635dea07ebe3f" + integrity sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A== resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.8, resolve@~1.22.1, resolve@~1.22.2: - version "1.22.8" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + version "1.22.10" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" + integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== dependencies: - is-core-module "^2.13.0" + is-core-module "^2.16.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" resolve@^2.0.0-next.5: version "2.0.0-next.5" - resolved "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== dependencies: is-core-module "^2.13.0" @@ -8589,116 +8328,125 @@ restore-cursor@^5.0.0: reusify@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rfdc@^1.4.1: version "1.4.1" - resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca" integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA== rimraf@^3.0.0: version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" rollup@^4.20.0: - version "4.21.2" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.21.2.tgz#f41f277a448d6264e923dd1ea179f0a926aaf9b7" - integrity sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw== + version "4.29.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.29.1.tgz#a9aaaece817e5f778489e5bf82e379cc8a5c05bc" + integrity sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw== dependencies: - "@types/estree" "1.0.5" + "@types/estree" "1.0.6" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.21.2" - "@rollup/rollup-android-arm64" "4.21.2" - "@rollup/rollup-darwin-arm64" "4.21.2" - "@rollup/rollup-darwin-x64" "4.21.2" - "@rollup/rollup-linux-arm-gnueabihf" "4.21.2" - "@rollup/rollup-linux-arm-musleabihf" "4.21.2" - "@rollup/rollup-linux-arm64-gnu" "4.21.2" - "@rollup/rollup-linux-arm64-musl" "4.21.2" - "@rollup/rollup-linux-powerpc64le-gnu" "4.21.2" - "@rollup/rollup-linux-riscv64-gnu" "4.21.2" - "@rollup/rollup-linux-s390x-gnu" "4.21.2" - "@rollup/rollup-linux-x64-gnu" "4.21.2" - "@rollup/rollup-linux-x64-musl" "4.21.2" - "@rollup/rollup-win32-arm64-msvc" "4.21.2" - "@rollup/rollup-win32-ia32-msvc" "4.21.2" - "@rollup/rollup-win32-x64-msvc" "4.21.2" + "@rollup/rollup-android-arm-eabi" "4.29.1" + "@rollup/rollup-android-arm64" "4.29.1" + "@rollup/rollup-darwin-arm64" "4.29.1" + "@rollup/rollup-darwin-x64" "4.29.1" + "@rollup/rollup-freebsd-arm64" "4.29.1" + "@rollup/rollup-freebsd-x64" "4.29.1" + "@rollup/rollup-linux-arm-gnueabihf" "4.29.1" + "@rollup/rollup-linux-arm-musleabihf" "4.29.1" + "@rollup/rollup-linux-arm64-gnu" "4.29.1" + "@rollup/rollup-linux-arm64-musl" "4.29.1" + "@rollup/rollup-linux-loongarch64-gnu" "4.29.1" + "@rollup/rollup-linux-powerpc64le-gnu" "4.29.1" + "@rollup/rollup-linux-riscv64-gnu" "4.29.1" + "@rollup/rollup-linux-s390x-gnu" "4.29.1" + "@rollup/rollup-linux-x64-gnu" "4.29.1" + "@rollup/rollup-linux-x64-musl" "4.29.1" + "@rollup/rollup-win32-arm64-msvc" "4.29.1" + "@rollup/rollup-win32-ia32-msvc" "4.29.1" + "@rollup/rollup-win32-x64-msvc" "4.29.1" fsevents "~2.3.2" run-parallel@^1.1.9: version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: queue-microtask "^1.2.2" -safe-array-concat@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz" - integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== +safe-array-concat@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz#c9e54ec4f603b0bbb8e7e5007a5ee7aecd1538c3" + integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q== dependencies: - call-bind "^1.0.7" - get-intrinsic "^1.2.4" - has-symbols "^1.0.3" + call-bind "^1.0.8" + call-bound "^1.0.2" + get-intrinsic "^1.2.6" + has-symbols "^1.1.0" isarray "^2.0.5" -safe-regex-test@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz" - integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== +safe-push-apply@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz#01850e981c1602d398c85081f360e4e6d03d27f5" + integrity sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA== dependencies: - call-bind "^1.0.6" es-errors "^1.3.0" - is-regex "^1.1.4" + isarray "^2.0.5" + +safe-regex-test@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1" + integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-regex "^1.2.1" "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sass@^1.77.4: - version "1.77.4" - resolved "https://registry.npmjs.org/sass/-/sass-1.77.4.tgz" - integrity sha512-vcF3Ckow6g939GMA4PeU7b2K/9FALXk2KF9J87txdHzXbUF9XRQRwSxcAs/fGaTnJeBFd7UoV22j3lzMLdM0Pw== + version "1.83.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.83.0.tgz#e36842c0b88a94ed336fd16249b878a0541d536f" + integrity sha512-qsSxlayzoOjdvXMVLkzF84DJFc2HZEL/rFyGIKbbilYtAvlCxyuzUeff9LawTn4btVnLKg75Z8MMr1lxU1lfGw== dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" + chokidar "^4.0.0" + immutable "^5.0.2" source-map-js ">=0.6.2 <2.0.0" + optionalDependencies: + "@parcel/watcher" "^2.4.1" saxes@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== dependencies: xmlchars "^2.2.0" scheduler@^0.23.0, scheduler@^0.23.2: version "0.23.2" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== dependencies: loose-envify "^1.1.0" "semver@2 || 3 || 4 || 5", semver@^5.5.0: version "5.7.2" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== semver@^6.3.0, semver@^6.3.1: version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.5, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: - version "7.6.2" - resolved "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz" - integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== - -semver@^7.6.2: +semver@^7.3.5, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.2, semver@^7.6.3: version "7.6.3" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== @@ -8710,9 +8458,9 @@ semver@~7.5.4: dependencies: lru-cache "^6.0.0" -set-function-length@^1.2.1: +set-function-length@^1.2.2: version "1.2.2" - resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== dependencies: define-data-property "^1.1.4" @@ -8722,9 +8470,9 @@ set-function-length@^1.2.1: gopd "^1.0.1" has-property-descriptors "^1.0.2" -set-function-name@^2.0.1, set-function-name@^2.0.2: +set-function-name@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== dependencies: define-data-property "^1.1.4" @@ -8732,68 +8480,107 @@ set-function-name@^2.0.1, set-function-name@^2.0.2: functions-have-names "^1.2.3" has-property-descriptors "^1.0.2" +set-proto@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/set-proto/-/set-proto-1.0.0.tgz#0760dbcff30b2d7e801fd6e19983e56da337565e" + integrity sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw== + dependencies: + dunder-proto "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + shebang-command@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== dependencies: shebang-regex "^1.0.0" shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shell-quote@^1.6.1: - version "1.8.1" - resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz" - integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + version "1.8.2" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.2.tgz#d2d83e057959d53ec261311e9e9b8f51dcb2934a" + integrity sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA== -side-channel@^1.0.4, side-channel@^1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz" - integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== dependencies: - call-bind "^1.0.7" es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" + object-inspect "^1.13.3" + +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.0.4, side-channel@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== signal-exit@^4.0.1, signal-exit@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== sisteransi@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== slash@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== slice-ansi@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== dependencies: ansi-styles "^6.0.0" @@ -8807,14 +8594,14 @@ slice-ansi@^7.1.0: ansi-styles "^6.2.1" is-fullwidth-code-point "^5.0.0" -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz" - integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.2.0, source-map-js@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== source-map-support@0.5.13: version "0.5.13" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== dependencies: buffer-from "^1.0.0" @@ -8822,17 +8609,17 @@ source-map-support@0.5.13: source-map@^0.5.7: version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== spdx-correct@^3.0.0: version "3.2.0" - resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== dependencies: spdx-expression-parse "^3.0.0" @@ -8840,61 +8627,62 @@ spdx-correct@^3.0.0: spdx-exceptions@^2.1.0: version "2.5.0" - resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66" integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== spdx-expression-parse@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.18" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz" - integrity sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ== + version "3.0.20" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz#e44ed19ed318dd1e5888f93325cee800f0f51b89" + integrity sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw== sprintf-js@^1.0.3: version "1.1.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a" integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== stack-utils@^2.0.3: version "2.0.6" - resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== dependencies: escape-string-regexp "^2.0.0" stop-iteration-iterator@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz" - integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz#f481ff70a548f6124d0312c3aa14cbfa7aa542ad" + integrity sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ== dependencies: - internal-slot "^1.0.4" + es-errors "^1.3.0" + internal-slot "^1.1.0" storybook@^8.4.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/storybook/-/storybook-8.4.0.tgz#8e89485906e58fa5531679f7055aaecedfbb3d8e" - integrity sha512-hLfXPtqfoQUMKVortxXdnQoUwDwtH85eSj9LbqGT/z1f/gLLYGNG3Mv3QbsRjHXhn+EfYffh7wuLpAn+Cicijw== + version "8.4.7" + resolved "https://registry.yarnpkg.com/storybook/-/storybook-8.4.7.tgz#a3068787a58074cec1b4197eed1c4427ec644b3f" + integrity sha512-RP/nMJxiWyFc8EVMH5gp20ID032Wvk+Yr3lmKidoegto5Iy+2dVQnUoElZb2zpbVXNHWakGuAkfI0dY1Hfp/vw== dependencies: - "@storybook/core" "8.4.0" + "@storybook/core" "8.4.7" string-argv@~0.3.1, string-argv@~0.3.2: version "0.3.2" - resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== string-length@^4.0.1: version "4.0.2" - resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== dependencies: char-regex "^1.0.2" @@ -8902,7 +8690,7 @@ string-length@^4.0.1: "string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" @@ -8911,7 +8699,7 @@ string-length@^4.0.1: string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" @@ -8920,7 +8708,7 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== dependencies: eastasianwidth "^0.2.0" @@ -8929,34 +8717,35 @@ string-width@^5.0.1, string-width@^5.1.2: string-width@^7.0.0: version "7.2.0" - resolved "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.2.0.tgz#b5bb8e2165ce275d4d43476dd2700ad9091db6dc" integrity sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ== dependencies: emoji-regex "^10.3.0" get-east-asian-width "^1.0.0" strip-ansi "^7.1.0" -string.prototype.matchall@^4.0.11: - version "4.0.11" - resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz" - integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg== +string.prototype.matchall@^4.0.12: + version "4.0.12" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz#6c88740e49ad4956b1332a911e949583a275d4c0" + integrity sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" - es-abstract "^1.23.2" + es-abstract "^1.23.6" es-errors "^1.3.0" es-object-atoms "^1.0.0" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.7" - regexp.prototype.flags "^1.5.2" + get-intrinsic "^1.2.6" + gopd "^1.2.0" + has-symbols "^1.1.0" + internal-slot "^1.1.0" + regexp.prototype.flags "^1.5.3" set-function-name "^2.0.2" - side-channel "^1.0.6" + side-channel "^1.1.0" string.prototype.padend@^3.0.0: version "3.1.6" - resolved "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.6.tgz" + resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.6.tgz#ba79cf8992609a91c872daa47c6bb144ee7f62a5" integrity sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q== dependencies: call-bind "^1.0.7" @@ -8964,28 +8753,40 @@ string.prototype.padend@^3.0.0: es-abstract "^1.23.2" es-object-atoms "^1.0.0" -string.prototype.trim@^1.2.9: - version "1.2.9" - resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz" - integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== +string.prototype.repeat@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz#e90872ee0308b29435aa26275f6e1b762daee01a" + integrity sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w== dependencies: - call-bind "^1.0.7" + define-properties "^1.1.3" + es-abstract "^1.17.5" + +string.prototype.trim@^1.2.10: + version "1.2.10" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#40b2dd5ee94c959b4dcfb1d65ce72e90da480c81" + integrity sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.2" + define-data-property "^1.1.4" define-properties "^1.2.1" - es-abstract "^1.23.0" + es-abstract "^1.23.5" es-object-atoms "^1.0.0" + has-property-descriptors "^1.0.2" -string.prototype.trimend@^1.0.8: - version "1.0.8" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz" - integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== +string.prototype.trimend@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942" + integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.2" define-properties "^1.2.1" es-object-atoms "^1.0.0" string.prototype.trimstart@^1.0.8: version "1.0.8" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== dependencies: call-bind "^1.0.7" @@ -8994,48 +8795,48 @@ string.prototype.trimstart@^1.0.8: "strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" strip-ansi@^7.0.1, strip-ansi@^7.1.0: version "7.1.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== dependencies: ansi-regex "^6.0.1" strip-bom@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== strip-bom@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== strip-final-newline@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== strip-final-newline@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== strip-indent@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== dependencies: min-indent "^1.0.0" @@ -9049,38 +8850,38 @@ strip-indent@^4.0.0: strip-json-comments@^3.1.1, strip-json-comments@~3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== stylis@4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" supports-color@^7.0.0, supports-color@^7.1.0: version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" supports-color@^8.0.0, supports-color@~8.1.1: version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" supports-hyperlinks@^2.0.0: version "2.3.0" - resolved "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== dependencies: has-flag "^4.0.0" @@ -9088,7 +8889,7 @@ supports-hyperlinks@^2.0.0: supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== svg-tags@^1.0.0: @@ -9103,12 +8904,12 @@ symbol-observable@^1.2.0: symbol-tree@^3.2.4: version "3.2.4" - resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== terminal-link@^2.0.0: version "2.1.1" - resolved "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== dependencies: ansi-escapes "^4.2.1" @@ -9116,18 +8917,13 @@ terminal-link@^2.0.0: test-exclude@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== dependencies: "@istanbuljs/schema" "^0.1.2" glob "^7.1.4" minimatch "^3.0.4" -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - tiny-invariant@^1.3.1, tiny-invariant@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127" @@ -9135,7 +8931,7 @@ tiny-invariant@^1.3.1, tiny-invariant@^1.3.3: tinycolor2@^1.4.1: version "1.6.0" - resolved "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz" + resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.6.0.tgz#f98007460169b0263b97072c5ae92484ce02d09e" integrity sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw== tinyrainbow@^1.2.0: @@ -9150,24 +8946,19 @@ tinyspy@^3.0.0: tmpl@1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" tough-cookie@^4.1.2: version "4.1.4" - resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36" integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag== dependencies: psl "^1.1.33" @@ -9177,7 +8968,7 @@ tough-cookie@^4.1.2: tr46@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== dependencies: punycode "^2.1.1" @@ -9189,13 +8980,13 @@ tr46@~0.0.3: tree-kill@^1.2.2: version "1.2.2" - resolved "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== ts-api-utils@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz" - integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== + version "1.4.3" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.4.3.tgz#bfc2215fe6528fecab2b0fba570a2e8a4263b064" + integrity sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw== ts-dedent@^2.0.0, ts-dedent@^2.2.0: version "2.2.0" @@ -9203,22 +8994,23 @@ ts-dedent@^2.0.0, ts-dedent@^2.2.0: integrity sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ== ts-jest@^29.1.5: - version "29.1.5" - resolved "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.5.tgz" - integrity sha512-UuClSYxM7byvvYfyWdFI+/2UxMmwNyJb0NPkZPQE2hew3RurV7l7zURgOHAd/1I1ZdPpe3GUsXNXAcN8TFKSIg== + version "29.2.5" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.2.5.tgz#591a3c108e1f5ebd013d3152142cb5472b399d63" + integrity sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA== dependencies: - bs-logger "0.x" - fast-json-stable-stringify "2.x" + bs-logger "^0.2.6" + ejs "^3.1.10" + fast-json-stable-stringify "^2.1.0" jest-util "^29.0.0" json5 "^2.2.3" - lodash.memoize "4.x" - make-error "1.x" - semver "^7.5.3" - yargs-parser "^21.0.1" + lodash.memoize "^4.1.2" + make-error "^1.3.6" + semver "^7.6.3" + yargs-parser "^21.1.1" ts-node@^10.9.2: version "10.9.2" - resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== dependencies: "@cspotcode/source-map-support" "^0.8.0" @@ -9246,17 +9038,17 @@ tsconfig-paths@^4.2.0: tslib@^1.8.1: version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tslib@^2.0.1: - version "2.7.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" - integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== tsutils@^3.21.0: version "3.21.0" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== dependencies: tslib "^1.8.1" @@ -9268,19 +9060,19 @@ tween-functions@^1.2.0: type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: prelude-ls "^1.2.1" type-detect@4.0.8: version "4.0.8" - resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== type-fest@^0.21.3: version "0.21.3" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== type-fest@^2.19.0: @@ -9288,67 +9080,68 @@ type-fest@^2.19.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== -typed-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz" - integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== +typed-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536" + integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== dependencies: - call-bind "^1.0.7" + call-bound "^1.0.3" es-errors "^1.3.0" - is-typed-array "^1.1.13" + is-typed-array "^1.1.14" -typed-array-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz" - integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== +typed-array-byte-length@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz#8407a04f7d78684f3d252aa1a143d2b77b4160ce" + integrity sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg== dependencies: - call-bind "^1.0.7" + call-bind "^1.0.8" for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.14" -typed-array-byte-offset@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz" - integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== +typed-array-byte-offset@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz#ae3698b8ec91a8ab945016108aef00d5bff12355" + integrity sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ== dependencies: available-typed-arrays "^1.0.7" - call-bind "^1.0.7" + call-bind "^1.0.8" for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.15" + reflect.getprototypeof "^1.0.9" -typed-array-length@^1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz" - integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== +typed-array-length@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.7.tgz#ee4deff984b64be1e118b0de8c9c877d5ce73d3d" + integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg== dependencies: call-bind "^1.0.7" for-each "^0.3.3" gopd "^1.0.1" - has-proto "^1.0.3" is-typed-array "^1.1.13" possible-typed-array-names "^1.0.0" + reflect.getprototypeof "^1.0.6" typescript-eslint@^7.10.0: - version "7.12.0" - resolved "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.12.0.tgz" - integrity sha512-D6HKNbQcnNu3BaN4HkQCR16tgG8Q2AMUWPgvhrJksOXu+d6ys07yC06ONiV2kcsEfWC22voB6C3PvK2MqlBZ7w== + version "7.18.0" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-7.18.0.tgz#e90d57649b2ad37a7475875fa3e834a6d9f61eb2" + integrity sha512-PonBkP603E3tt05lDkbOMyaxJjvKqQrXsnow72sVeOFINDE/qNmnnd+f9b4N+U7W6MXnnYyrhtmF2t08QWwUbA== dependencies: - "@typescript-eslint/eslint-plugin" "7.12.0" - "@typescript-eslint/parser" "7.12.0" - "@typescript-eslint/utils" "7.12.0" + "@typescript-eslint/eslint-plugin" "7.18.0" + "@typescript-eslint/parser" "7.18.0" + "@typescript-eslint/utils" "7.18.0" typescript-eslint@^8.0.1: - version "8.4.0" - resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.4.0.tgz#3fa38bd279994cdb40ba9264ef5262a17cf4cfa0" - integrity sha512-67qoc3zQZe3CAkO0ua17+7aCLI0dU+sSQd1eKPGq06QE4rfQjstVXR6woHO5qQvGUa550NfGckT4tzh3b3c8Pw== + version "8.19.0" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.19.0.tgz#e4ff06b19f2f9807a2c26147a0199a109944d9e0" + integrity sha512-Ni8sUkVWYK4KAcTtPjQ/UTiRk6jcsuDhPpxULapUDi8A/l8TSBk+t1GtJA1RsCzIJg0q6+J7bf35AwQigENWRQ== dependencies: - "@typescript-eslint/eslint-plugin" "8.4.0" - "@typescript-eslint/parser" "8.4.0" - "@typescript-eslint/utils" "8.4.0" + "@typescript-eslint/eslint-plugin" "8.19.0" + "@typescript-eslint/parser" "8.19.0" + "@typescript-eslint/utils" "8.19.0" typescript@5.4.2: version "5.4.2" @@ -9357,37 +9150,32 @@ typescript@5.4.2: typescript@^4.5.2, typescript@^4.7.4: version "4.9.5" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== -typescript@^5.4.5: - version "5.4.5" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz" - integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== - -typescript@^5.5.3: - version "5.5.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.4.tgz#d9852d6c82bad2d2eda4fd74a5762a8f5909e9ba" - integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q== +typescript@^5.4.5, typescript@^5.5.3: + version "5.7.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.2.tgz#3169cf8c4c8a828cde53ba9ecb3d2b1d5dd67be6" + integrity sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg== -ufo@^1.5.3: +ufo@^1.5.4: version "1.5.4" resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.5.4.tgz#16d6949674ca0c9e0fbbae1fa20a71d7b1ded754" integrity sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ== -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== +unbox-primitive@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2" + integrity sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw== dependencies: - call-bind "^1.0.2" + call-bound "^1.0.3" has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" + has-symbols "^1.1.0" + which-boxed-primitive "^1.1.1" underscore.string@3.3.5: version "3.3.5" - resolved "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz" + resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.5.tgz#fc2ad255b8bd309e239cbc5816fd23a9b7ea4023" integrity sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg== dependencies: sprintf-js "^1.0.3" @@ -9395,35 +9183,40 @@ underscore.string@3.3.5: underscore@1.13.1: version "1.13.1" - resolved "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.1.tgz#0c1c6bd2df54b6b69f2314066d65b6cde6fcf9d1" integrity sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g== -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +undici-types@~6.19.2: + version "6.19.8" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== + +undici-types@~6.20.0: + version "6.20.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.20.0.tgz#8171bf22c1f588d1554d55bf204bc624af388433" + integrity sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg== unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2" + integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg== unicode-match-property-ecmascript@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== dependencies: unicode-canonical-property-names-ecmascript "^2.0.0" unicode-property-aliases-ecmascript "^2.0.0" unicode-match-property-value-ecmascript@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" - integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + version "2.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz#a0401aee72714598f739b68b104e4fe3a0cb3c71" + integrity sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg== unicode-property-aliases-ecmascript@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== universalify@^0.1.0: @@ -9433,61 +9226,53 @@ universalify@^0.1.0: universalify@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== universalify@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== unplugin@^1.3.1: - version "1.14.0" - resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.14.0.tgz#4455bdff958a0f29fbbb82bc143fd61688ff40d9" - integrity sha512-cfkZeALGyW7tKYjZbi0G+pn0XnUFa0QvLIeLJEUUlnU0R8YYsBQnt5+h9Eu1B7AB7KETld+UBFI5lOeBL+msoQ== + version "1.16.0" + resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.16.0.tgz#ca0f248bf8798cd752dd02e5b381223b737cef72" + integrity sha512-5liCNPuJW8dqh3+DM6uNM2EI3MLLpCKp/KY+9pB5M2S2SR2qvvDHhKgBOaTWEbZTAws3CXfB0rKTIolWKL05VQ== dependencies: - acorn "^8.12.1" + acorn "^8.14.0" webpack-virtual-modules "^0.6.2" -update-browserslist-db@^1.0.13: - version "1.0.16" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz" - integrity sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ== - dependencies: - escalade "^3.1.2" - picocolors "^1.0.1" - -update-browserslist-db@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e" - integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== +update-browserslist-db@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" + integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== dependencies: - escalade "^3.1.2" - picocolors "^1.0.1" + escalade "^3.2.0" + picocolors "^1.1.0" uri-js@^4.2.2, uri-js@^4.4.1: version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" url-parse@^1.5.3: version "1.5.10" - resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== dependencies: querystringify "^2.1.1" requires-port "^1.0.0" -use-sync-external-store@^1.0.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz#c3b6390f3a30eba13200d2302dcdf1e7b57b2ef9" - integrity sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw== +use-sync-external-store@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz#adbc795d8eeb47029963016cefdf89dc799fcebc" + integrity sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw== util-deprecate@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== util@^0.10.3: @@ -9515,13 +9300,13 @@ uuid@^9.0.0: v8-compile-cache-lib@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== v8-to-istanbul@^9.0.1: - version "9.2.0" - resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz" - integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== + version "9.3.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz#b9572abfa62bd556c16d75fdebc1a411d5ff3175" + integrity sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA== dependencies: "@jridgewell/trace-mapping" "^0.3.12" "@types/istanbul-lib-coverage" "^2.0.1" @@ -9529,42 +9314,26 @@ v8-to-istanbul@^9.0.1: validate-npm-package-license@^3.0.1: version "3.0.4" - resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -vite-plugin-dts@^4.0.3: - version "4.2.1" - resolved "https://registry.yarnpkg.com/vite-plugin-dts/-/vite-plugin-dts-4.2.1.tgz#f8bee33b732929717ce13ef7a382696d51200c30" - integrity sha512-/QlYvgUMiv8+ZTEerhNCYnYaZMM07cdlX6hQCR/w/g/nTh0tUXPoYwbT6SitizLJ9BybT1lnrcZgqheI6wromQ== - dependencies: - "@microsoft/api-extractor" "7.47.7" - "@rollup/pluginutils" "^5.1.0" - "@volar/typescript" "^2.4.4" - "@vue/language-core" "2.1.6" - compare-versions "^6.1.1" - debug "^4.3.6" - kolorist "^1.8.0" - local-pkg "^0.5.0" - magic-string "^0.30.11" - -vite-plugin-dts@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/vite-plugin-dts/-/vite-plugin-dts-4.1.0.tgz#616ba66a3793e71f12a80c7df2fd9ec5d98e1f35" - integrity sha512-sRlmt9k2q8MrX4F2058N3KmB6WyJ3Ao6QaExOv1X99F3j0GhPziEz1zscWQ1q2r1PeFc96L7GIUu8Pl2DPr2Hg== +vite-plugin-dts@^4.0.3, vite-plugin-dts@^4.1.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/vite-plugin-dts/-/vite-plugin-dts-4.4.0.tgz#ef79b5ceaa39a70aa69b619b249b6b49be911257" + integrity sha512-CJ6phvnnPLF+aFk8Jz2ZcMBLleJ4gKJOXb9We5Kzmsp5bPuD+uMDeVefjFNYSXZ+wdcqnf+Yp2P7oA5hBKQTlQ== dependencies: - "@microsoft/api-extractor" "7.47.4" - "@rollup/pluginutils" "^5.1.0" - "@volar/typescript" "^2.3.4" - "@vue/language-core" "2.0.29" + "@microsoft/api-extractor" "^7.48.1" + "@rollup/pluginutils" "^5.1.4" + "@volar/typescript" "^2.4.11" + "@vue/language-core" "2.1.10" compare-versions "^6.1.1" - debug "^4.3.6" + debug "^4.4.0" kolorist "^1.8.0" - local-pkg "^0.5.0" - magic-string "^0.30.11" - vue-tsc "2.0.29" + local-pkg "^0.5.1" + magic-string "^0.30.17" vite-plugin-libcss@^1.1.1: version "1.1.1" @@ -9586,9 +9355,9 @@ vite-plugin-ts@^1.3.2-1: typescript "^4.5.2" vite@^5.4.3: - version "5.4.3" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.3.tgz#771c470e808cb6732f204e1ee96c2ed65b97a0eb" - integrity sha512-IH+nl64eq9lJjFqU+/yrRnrHPVTlgy42/+IzbOdaFDVlyLgI/wDlf+FCobXLX1cT0X5+7LMyH1mIy2xJdLfo8Q== + version "5.4.11" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.11.tgz#3b415cd4aed781a356c1de5a9ebafb837715f6e5" + integrity sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q== dependencies: esbuild "^0.21.3" postcss "^8.4.43" @@ -9606,25 +9375,16 @@ vscode-uri@^3.0.8: resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.8.tgz#1770938d3e72588659a172d0fd4642780083ff9f" integrity sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw== -vue-tsc@2.0.29: - version "2.0.29" - resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-2.0.29.tgz#bf7e9605af9fadec7fd6037d242217f5c6ad2c3b" - integrity sha512-MHhsfyxO3mYShZCGYNziSbc63x7cQ5g9kvijV7dRe1TTXBRLxXyL0FnXWpUF1xII2mJ86mwYpYsUmMwkmerq7Q== - dependencies: - "@volar/typescript" "~2.4.0-alpha.18" - "@vue/language-core" "2.0.29" - semver "^7.5.4" - w3c-xmlserializer@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== dependencies: xml-name-validator "^4.0.0" walker@^1.0.8: version "1.0.8" - resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== dependencies: makeerror "1.0.12" @@ -9636,7 +9396,7 @@ webidl-conversions@^3.0.0: webidl-conversions@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== webpack-virtual-modules@^0.6.2: @@ -9646,19 +9406,19 @@ webpack-virtual-modules@^0.6.2: whatwg-encoding@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== dependencies: iconv-lite "0.6.3" whatwg-mimetype@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== whatwg-url@^11.0.0: version "11.0.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== dependencies: tr46 "^3.0.0" @@ -9672,38 +9432,39 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== +which-boxed-primitive@^1.0.2, which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz#d76ec27df7fa165f18d5808374a5fe23c29b176e" + integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA== dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" + is-bigint "^1.1.0" + is-boolean-object "^1.2.1" + is-number-object "^1.1.1" + is-string "^1.1.1" + is-symbol "^1.1.1" -which-builtin-type@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz" - integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw== +which-builtin-type@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz#89183da1b4907ab089a6b02029cc5d8d6574270e" + integrity sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q== dependencies: - function.prototype.name "^1.1.5" - has-tostringtag "^1.0.0" + call-bound "^1.0.2" + function.prototype.name "^1.1.6" + has-tostringtag "^1.0.2" is-async-function "^2.0.0" - is-date-object "^1.0.5" - is-finalizationregistry "^1.0.2" + is-date-object "^1.1.0" + is-finalizationregistry "^1.1.0" is-generator-function "^1.0.10" - is-regex "^1.1.4" + is-regex "^1.2.1" is-weakref "^1.0.2" isarray "^2.0.5" - which-boxed-primitive "^1.0.2" - which-collection "^1.0.1" - which-typed-array "^1.1.9" + which-boxed-primitive "^1.1.0" + which-collection "^1.0.2" + which-typed-array "^1.1.16" -which-collection@^1.0.1: +which-collection@^1.0.1, which-collection@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== dependencies: is-map "^2.0.3" @@ -9711,39 +9472,40 @@ which-collection@^1.0.1: is-weakmap "^2.0.2" is-weakset "^2.0.3" -which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.2, which-typed-array@^1.1.9: - version "1.1.15" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz" - integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== +which-typed-array@^1.1.13, which-typed-array@^1.1.16, which-typed-array@^1.1.18, which-typed-array@^1.1.2: + version "1.1.18" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.18.tgz#df2389ebf3fbb246a71390e90730a9edb6ce17ad" + integrity sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA== dependencies: available-typed-arrays "^1.0.7" - call-bind "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.3" for-each "^0.3.3" - gopd "^1.0.1" + gopd "^1.2.0" has-tostringtag "^1.0.2" which@^1.2.9: version "1.3.1" - resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" which@^2.0.1: version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" word-wrap@^1.2.5: version "1.2.5" - resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" @@ -9752,7 +9514,7 @@ word-wrap@^1.2.5: wrap-ansi@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" @@ -9761,7 +9523,7 @@ wrap-ansi@^7.0.0: wrap-ansi@^8.1.0: version "8.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== dependencies: ansi-styles "^6.1.0" @@ -9770,7 +9532,7 @@ wrap-ansi@^8.1.0: wrap-ansi@^9.0.0: version "9.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-9.0.0.tgz#1a3dc8b70d85eeb8398ddfb1e4a02cd186e58b3e" integrity sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== dependencies: ansi-styles "^6.2.1" @@ -9779,35 +9541,30 @@ wrap-ansi@^9.0.0: wrappy@1: version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== write-file-atomic@^4.0.1, write-file-atomic@^4.0.2: version "4.0.2" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== dependencies: imurmurhash "^0.1.4" signal-exit "^3.0.7" -ws@^8.11.0: - version "8.17.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz" - integrity sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow== - -ws@^8.2.3: +ws@^8.11.0, ws@^8.2.3: version "8.18.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== xml-name-validator@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== xmlchars@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== xregexp@*, xregexp@^5.1.1: @@ -9819,12 +9576,12 @@ xregexp@*, xregexp@^5.1.1: y18n@^5.0.5: version "5.0.8" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== yallist@^3.0.2: version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== yallist@^4.0.0: @@ -9834,22 +9591,22 @@ yallist@^4.0.0: yaml@^1.10.0: version "1.10.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yaml@~2.5.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.5.1.tgz#c9772aacf62cb7494a95b0c4f1fb065b563db130" - integrity sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q== +yaml@~2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.6.1.tgz#42f2b1ba89203f374609572d5349fb8686500773" + integrity sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg== -yargs-parser@^21.0.1, yargs-parser@^21.1.1: +yargs-parser@^21.1.1: version "21.1.1" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== yargs@^17.3.1: version "17.7.2" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== dependencies: cliui "^8.0.1" @@ -9862,10 +9619,10 @@ yargs@^17.3.1: yn@3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== yocto-queue@^0.1.0: version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==