diff --git a/packages/shared-config/jest.config.ts b/packages/shared-config/jest.config.ts index 584b10d6..b9900356 100644 --- a/packages/shared-config/jest.config.ts +++ b/packages/shared-config/jest.config.ts @@ -11,11 +11,6 @@ const config: Config = { }, ], }, - - setupFilesAfterEnv: ["../shared-config/jest.setup.ts"], - verbose: true, - collectCoverage: true, - restoreMocks: true, testMatch: [ "/src/**/*.test.(js|jsx|ts|tsx)", "/app/**/*.test.(js|jsx|ts|tsx)", @@ -32,6 +27,10 @@ const config: Config = { "^@/(.*)$": "/src/$1", "^@styled-system(.*)$": "/styled-system/$1", }, + setupFilesAfterEnv: ["../shared-config/jest.setup.ts"], + verbose: true, + collectCoverage: true, + restoreMocks: true, }; export default config; diff --git a/packages/wow-tokens/package.json b/packages/wow-tokens/package.json index 0e8ecd60..0adc093d 100644 --- a/packages/wow-tokens/package.json +++ b/packages/wow-tokens/package.json @@ -1,6 +1,6 @@ { "name": "wowds-tokens", - "version": "0.0.2", + "version": "0.0.10", "description": "", "repository": { "type": "git", diff --git a/packages/wow-ui/.storybook/main.ts b/packages/wow-ui/.storybook/main.ts index a7e851d9..35682223 100644 --- a/packages/wow-ui/.storybook/main.ts +++ b/packages/wow-ui/.storybook/main.ts @@ -38,9 +38,5 @@ const config: StorybookConfig = { } return config; }, - - typescript: { - reactDocgen: "react-docgen-typescript", - }, }; export default config; diff --git a/packages/wow-ui/CHANGELOG.md b/packages/wow-ui/CHANGELOG.md index f1c7b0bb..abeedc81 100644 --- a/packages/wow-ui/CHANGELOG.md +++ b/packages/wow-ui/CHANGELOG.md @@ -1,13 +1,19 @@ # wowds-ui +## 0.1.5 + +### Patch Changes + +- 0a4cf81: TextField 컴포넌트의 error, success 상태를 typing variant와 분리합니다. + ## 0.1.4 ### Patch Changes -- 51c6c59: - DropDown 의 value,text 에 대해서 제어할 수 있도록 수정하고 선택된 옵션값에 text 가 나타나도록 수정합니다. -- bd540a1: - Stepper의 CSS 에러를 개선합니다. (마지막 글자 잘림 현상 및 border Style 적용 안됨 이슈 해결) - - Textfield의 border Style이 적용 안되는 이슈를 해결합니다 - +- 51c6c59: - DropDown 의 value,text 에 대해서 제어할 수 있도록 수정하고 선택된 옵션값에 text 가 나타나도록 수정합니다. +- bd540a1: - Stepper의 CSS 에러를 개선합니다. (마지막 글자 잘림 현상 및 border Style 적용 안됨 이슈 해결) + - Textfield의 border Style이 적용 안되는 이슈를 해결합니다 + ## 0.1.3 ### Patch Changes diff --git a/packages/wow-ui/package.json b/packages/wow-ui/package.json index e8b8b70c..aa1dabfe 100644 --- a/packages/wow-ui/package.json +++ b/packages/wow-ui/package.json @@ -1,6 +1,6 @@ { "name": "wowds-ui", - "version": "0.1.4", + "version": "0.1.5", "description": "", "author": "gdsc-hongik", "repository": { @@ -127,6 +127,7 @@ "@storybook/test": "^8.1.9", "@storybook/test-runner": "^0.18.2", "@storybook/testing-library": "^0.2.2", + "@testing-library/user-event": "^14.5.2", "@types/node": "^20.11.24", "@types/react": "^18.2.61", "@types/react-dom": "^18.2.19", diff --git a/packages/wow-ui/src/components/Checkbox/Checkbox.test.tsx b/packages/wow-ui/src/components/Checkbox/Checkbox.test.tsx index 4d4b8006..6d7ead99 100644 --- a/packages/wow-ui/src/components/Checkbox/Checkbox.test.tsx +++ b/packages/wow-ui/src/components/Checkbox/Checkbox.test.tsx @@ -18,7 +18,7 @@ describe("Checkbox component", () => { expect(checkbox.checked).toBe(true); await waitFor(() => { - expect(checkbox).toHaveAttribute("aria-checked", "true"); + expect(checkbox).toBeChecked(); expect(checkbox).toHaveAttribute("aria-disabled", "false"); }); @@ -26,7 +26,7 @@ describe("Checkbox component", () => { expect(checkbox.checked).toBe(false); await waitFor(() => { - expect(checkbox).toHaveAttribute("aria-checked", "false"); + expect(checkbox).not.toBeChecked(); expect(checkbox).toHaveAttribute("aria-disabled", "false"); }); }); @@ -48,7 +48,7 @@ describe("Checkbox component", () => { const checkbox = getByLabelText("checkbox") as HTMLInputElement; await userEvent.click(checkbox); - expect(checkbox.checked).toBe(true); + expect(checkbox).not.toBeChecked(); }); test("calls onMouseEnter and onMouseLeave", async () => { @@ -76,7 +76,7 @@ describe("Checkbox component", () => { expect(checkbox.checked).toBe(false); await waitFor(() => { - expect(checkbox).toHaveAttribute("aria-checked", "false"); + expect(checkbox).not.toBeChecked(); expect(checkbox).toHaveAttribute("aria-disabled", "false"); }); }); @@ -90,7 +90,7 @@ describe("Checkbox component", () => { expect(checkbox.checked).toBe(false); await waitFor(() => { - expect(checkbox).toHaveAttribute("aria-checked", "false"); + expect(checkbox).not.toBeChecked(); expect(checkbox).toHaveAttribute("aria-disabled", "false"); }); }); diff --git a/packages/wow-ui/src/components/Checkbox/index.tsx b/packages/wow-ui/src/components/Checkbox/index.tsx index 85cba941..6e8169b7 100644 --- a/packages/wow-ui/src/components/Checkbox/index.tsx +++ b/packages/wow-ui/src/components/Checkbox/index.tsx @@ -83,6 +83,7 @@ const Checkbox = forwardRef( onClick, onKeyDown, }); + return ( ( > void" }, }, - control: { - type: "function", - }, + control: false, }, onDelete: { description: "칩에 대한 필터를 제거하기 위한 함수입니다.", table: { type: { summary: "() => void" }, }, - control: { - type: "function", - }, + control: false, }, onKeyDown: { description: @@ -89,9 +85,7 @@ const meta = { table: { type: { summary: "() => void" }, }, - control: { - type: "function", - }, + control: false, }, style: { description: "칩의 커스텀 스타일을 설정합니다.", diff --git a/packages/wow-ui/src/components/Chip/Chip.test.tsx b/packages/wow-ui/src/components/Chip/Chip.test.tsx new file mode 100644 index 00000000..59bc4b66 --- /dev/null +++ b/packages/wow-ui/src/components/Chip/Chip.test.tsx @@ -0,0 +1,124 @@ +import { render, type RenderResult, waitFor } from "@testing-library/react"; +import { userEvent } from "@testing-library/user-event"; + +import Chip from "@/components/Chip"; + +describe("Chip rendering Test", () => { + let renderChip: RenderResult; + beforeEach(() => { + renderChip = render(); + }); + + it("should render Chip", () => { + const { getByText } = renderChip; + expect(getByText("Chip")).toBeInTheDocument(); + }); + + it("should render with attributes aria-disabled to be false by default", () => { + const chipComponent = renderChip.container.querySelector("div"); + + expect(chipComponent).toHaveAttribute("aria-disabled", "false"); + }); +}); + +describe("Chip toggle Test", () => { + let renderChip: RenderResult; + beforeEach(() => { + renderChip = render(); + }); + + it("should toggle state when onClick event is fired", async () => { + const chipComponent = renderChip.getByRole("checkbox"); + const user = userEvent.setup(); + + await user.click(chipComponent); + expect(chipComponent).toHaveAttribute("aria-checked", "true"); + await user.click(chipComponent); + expect(chipComponent).toHaveAttribute("aria-checked", "false"); + }); + + it("should toggle state when Enter key is pressed", async () => { + const chipComponent = renderChip.getByRole("checkbox"); + userEvent.type(chipComponent, "{enter}"); + await waitFor(() => { + expect(chipComponent).toHaveAttribute("aria-checked", "true"); + }); + userEvent.type(chipComponent, "{enter}"); + await waitFor(() => { + expect(chipComponent).toHaveAttribute("aria-checked", "false"); + }); + }); + + it("should toggle state when Space key is pressed", async () => { + const chipComponent = renderChip.getByRole("checkbox"); + + await userEvent.type(chipComponent, "{space}"); + expect(chipComponent).toHaveAttribute("aria-checked", "true"); + await userEvent.type(chipComponent, "{space}"); + expect(chipComponent).toHaveAttribute("aria-checked", "false"); + }); +}); + +describe("Chip disabled Test", () => { + let renderChip: RenderResult; + beforeEach(() => { + renderChip = render(); + }); + + it("should render with attributes aria-disabled to be true", () => { + const chipComponent = renderChip.container.querySelector("button"); + + expect(chipComponent).toHaveAttribute("aria-disabled", "true"); + }); + + it("should not allow focusing", () => { + const chipComponent = renderChip.container.querySelector("button"); + userEvent.click(chipComponent!!); + + expect(chipComponent).not.toHaveFocus(); + }); +}); + +describe("external control and events", () => { + let renderChip: RenderResult; + + it("should fire external onClick event", async () => { + renderChip = render(); + const chipComponent = renderChip.getByRole("checkbox"); + const user = userEvent.setup(); + const onClickHandler = jest.fn(); + chipComponent.onclick = onClickHandler; + + await user.click(chipComponent); + expect(onClickHandler).toHaveBeenCalled(); + }); + + it("should fire external onKeyDown event", async () => { + renderChip = render(); + const user = userEvent.setup(); + const chipComponent = renderChip.getByRole("checkbox"); + const onKeyDownHandler = jest.fn(); + chipComponent.onkeydown = onKeyDownHandler; + + await user.type(chipComponent, "{enter}"); + expect(onKeyDownHandler).toHaveBeenCalled(); + await user.type(chipComponent, "{space}"); + expect(onKeyDownHandler).toHaveBeenCalled(); + }); + + it("should toggle external checked state when onClick event fired", async () => { + const user = userEvent.setup(); + let checked = false; + const handleChange = () => { + checked = !checked; + }; + const rendered = render(); + const chipComponent = rendered.getByRole("checkbox"); + chipComponent.onchange = handleChange; + + await user.click(chipComponent); + + expect(chipComponent).toHaveAttribute("aria-checked", "true"); + expect(chipComponent).toHaveAttribute("aria-disabled", "false"); + }); +}); diff --git a/packages/wow-ui/src/components/Chip/index.tsx b/packages/wow-ui/src/components/Chip/index.tsx index 5a3747f3..23a89efe 100644 --- a/packages/wow-ui/src/components/Chip/index.tsx +++ b/packages/wow-ui/src/components/Chip/index.tsx @@ -16,7 +16,7 @@ import type { * * @param {T} [element] 렌더링할 요소 또는 컴포넌트. 기본값은 button이며, Chip의 경우 input으로 사용될 수 있음 * @param {boolean} [defaultChecked=false] 칩의 토글의 default 활성화 상태 - * @param {boolean} [isChecked=false] 외부에서 제어할 활성 상태. + * @param {boolean} [ischecked=false] 외부에서 제어할 활성 상태. * @param {string} label 칩 버튼에 들어갈 텍스트 * @param {boolean} [clickable=true] 클릭할 수 있는 칩인지 여부 판단 * @param {() => void} [onDelete] 칩 버튼을 삭제했을 때의 동작 @@ -42,20 +42,20 @@ type ChipComponent = ( const ChipLabel = ({ label, - isChecked, + ischecked, disabled = true, }: { label: string; - isChecked: boolean; + ischecked: boolean; disabled: boolean; }) => { return ( {label} @@ -71,16 +71,15 @@ const Chip: ChipComponent & { displayName?: string } = forwardRef( clickable, onKeyDown, onClick, - isChecked: checkedProp = false, + ischecked: checkedProp = false, defaultChecked = false, disabled = false, style, - ...rest }: ChipProps, ref: any ) => { - const Component = as || "button"; - const [isChecked, setIsChecked] = useState(() => + const Component = (as || "button") as React.ElementType; + const [ischecked, setIsChecked] = useState(() => checkedProp ? checkedProp : defaultChecked ); useEffect(() => { @@ -92,7 +91,7 @@ const Chip: ChipComponent & { displayName?: string } = forwardRef( const handleClick = () => { if (disabled) return; onClick?.(); - clickable ? setIsChecked((prev) => !prev) : null; + clickable ? setIsChecked((prev: boolean) => !prev) : null; }; const handleKeyDown = (event: any) => { @@ -100,7 +99,7 @@ const Chip: ChipComponent & { displayName?: string } = forwardRef( if (event.currentTarget === event.target) { event.preventDefault(); if (event.key === "Enter" || event.key === " ") { - setIsChecked((prev) => !prev); + setIsChecked((prev: boolean) => !prev); onKeyDown?.(); } } @@ -108,9 +107,13 @@ const Chip: ChipComponent & { displayName?: string } = forwardRef( return ( - + ); } diff --git a/packages/wow-ui/src/components/MultiGroup/MultiGroup.stories.tsx b/packages/wow-ui/src/components/MultiGroup/MultiGroup.stories.tsx index 4b5279dd..28ef56bb 100644 --- a/packages/wow-ui/src/components/MultiGroup/MultiGroup.stories.tsx +++ b/packages/wow-ui/src/components/MultiGroup/MultiGroup.stories.tsx @@ -17,8 +17,8 @@ const meta = { description: "체크박스 또는 스위치 타입입니다. 'checkbox' 또는 'switch' 값을 가집니다.", table: { - type: { summary: "checkbox | switch", required: true }, - defaultValue: { summary: null }, + type: { summary: "checkbox | switch" }, + defaultValue: { summary: "checkbox" }, }, control: "radio", options: ["checkbox", "switch"], @@ -28,7 +28,7 @@ const meta = { "체크박스 그룹의 방향입니다. 'vertical' 또는 'horizontal' 값을 가집니다. variant가 switch인 경우 사용할 수 없습니다.", table: { type: { summary: "vertical | horizontal" }, - defaultValue: { summary: null }, + defaultValue: { summary: "vertical" }, }, control: "radio", options: ["vertical", "horizontal"], @@ -39,7 +39,6 @@ const meta = { "체크박스 사이의 간격입니다. variant가 switch인 경우 사용할 수 없습니다.", table: { type: { summary: "number" }, - defaultValue: { summary: null }, }, control: { type: "number", @@ -49,8 +48,7 @@ const meta = { children: { description: "그룹 내에 포함될 체크박스 또는 스위치 컴포넌트들입니다.", table: { - type: { summary: "ReactNode", required: true }, - defaultValue: { summary: null }, + type: { summary: "ReactNode" }, }, control: false, }, @@ -58,7 +56,7 @@ const meta = { description: "그룹명입니다.", table: { type: { summary: "string" }, - defaultValue: { summary: null }, + defaultValue: { summary: "MultiGroup" }, }, control: { type: "text", @@ -68,27 +66,24 @@ const meta = { description: "기본으로 선택된 값들의 배열입니다.", table: { type: { summary: "string[]" }, - defaultValue: { summary: null }, }, control: { - type: "array", + type: "object", }, }, checked: { description: "외부에서 제어할 활성 상태입니다.", table: { type: { summary: "string[]" }, - defaultValue: { summary: null }, }, control: { - type: "array", + type: "object", }, }, onChange: { description: "외부 활성 상태가 변경될 때 호출되는 함수입니다.", table: { type: { summary: "(value: string) => void" }, - defaultValue: { summary: null }, }, control: false, }, @@ -97,7 +92,7 @@ const meta = { "그룹 내 모든 체크박스 또는 스위치가 비활성화되어 있는지 여부입니다.", table: { type: { summary: "boolean" }, - defaultValue: { summary: false }, + defaultValue: { summary: "false" }, }, control: { type: "boolean", @@ -107,7 +102,6 @@ const meta = { description: "그룹에 전달하는 커스텀 클래스입니다.", table: { type: { summary: "string" }, - defaultValue: { summary: null }, }, control: { type: "text", @@ -117,7 +111,6 @@ const meta = { description: "그룹의 커스텀 스타일입니다.", table: { type: { summary: "CSSProperties" }, - defaultValue: { summary: null }, }, control: false, }, @@ -131,10 +124,10 @@ type Story = StoryObj; export const TextWithVerticalCheckboxMultiGroup: Story = { render: () => ( - - - - + + + + ), args: { @@ -146,10 +139,10 @@ export const TextWithVerticalCheckboxMultiGroup: Story = { export const TextWithHorizontalCheckboxMultiGroup: Story = { render: () => ( - - - - + + + + ), args: { @@ -161,10 +154,10 @@ export const TextWithHorizontalCheckboxMultiGroup: Story = { export const TextWithHorizontalWithGapCheckboxMultiGroup: Story = { render: () => ( - - - - + + + + ), args: { @@ -176,10 +169,10 @@ export const TextWithHorizontalWithGapCheckboxMultiGroup: Story = { export const DisabledCheckboxMultiGroup = { render: () => ( - - - - + + + + ), args: { @@ -196,10 +189,10 @@ export const WithDefaultValueCheckboxMultiGroup = { position="horizontal" variant="checkbox" > - - - - + + + + ), args: { @@ -221,10 +214,10 @@ const ControlledCheckboxState = () => { return ( - - - - + + + + ); }; diff --git a/packages/wow-ui/src/components/MultiGroup/MultiGroup.test.tsx b/packages/wow-ui/src/components/MultiGroup/MultiGroup.test.tsx index 722465c8..de271725 100644 --- a/packages/wow-ui/src/components/MultiGroup/MultiGroup.test.tsx +++ b/packages/wow-ui/src/components/MultiGroup/MultiGroup.test.tsx @@ -38,9 +38,9 @@ describe("multi group with checkbox", () => { expect(checkboxes[1]).toHaveAttribute("aria-disabled", "true"); expect(checkboxes[2]).toHaveAttribute("aria-disabled", "false"); - expect(checkboxes[0]).toHaveAttribute("aria-checked", "false"); - expect(checkboxes[1]).toHaveAttribute("aria-checked", "false"); - expect(checkboxes[2]).toHaveAttribute("aria-checked", "false"); + expect(checkboxes[0]).not.toBeChecked(); + expect(checkboxes[1]).not.toBeChecked(); + expect(checkboxes[2]).not.toBeChecked(); }); it("should render checkbox components with external value provided", async () => { @@ -53,9 +53,9 @@ describe("multi group with checkbox", () => { ); const checkboxes = rendered.getAllByRole("checkbox"); - expect(checkboxes[0]).toHaveAttribute("aria-checked", "false"); - expect(checkboxes[1]).toHaveAttribute("aria-checked", "true"); - expect(checkboxes[2]).toHaveAttribute("aria-checked", "true"); + expect(checkboxes[0]).not.toBeChecked(); + expect(checkboxes[1]).toBeChecked(); + expect(checkboxes[2]).toBeChecked(); }); it("should render checkbox components with default value provided", () => { @@ -68,9 +68,9 @@ describe("multi group with checkbox", () => { ); const checkboxes = rendered.getAllByRole("checkbox"); - expect(checkboxes[0]).toHaveAttribute("aria-checked", "true"); - expect(checkboxes[1]).toHaveAttribute("aria-checked", "false"); - expect(checkboxes[2]).toHaveAttribute("aria-checked", "true"); + expect(checkboxes[0]).toBeChecked(); + expect(checkboxes[1]).not.toBeChecked(); + expect(checkboxes[2]).toBeChecked(); }); it("should toggle state when onChange event fired", async () => { @@ -104,9 +104,9 @@ describe("multi group with checkbox", () => { fireEvent.click(checkboxes[2]!); await waitFor(() => { - expect(checkboxes[0]).toHaveAttribute("aria-checked", "true"); - expect(checkboxes[1]).toHaveAttribute("aria-checked", "true"); - expect(checkboxes[2]).toHaveAttribute("aria-checked", "false"); + expect(checkboxes[0]).toBeChecked(); + expect(checkboxes[1]).toBeChecked(); + expect(checkboxes[2]).not.toBeChecked(); }); }); @@ -146,9 +146,9 @@ describe("multi group with checkbox", () => { expect(checkboxes[1]).toHaveAttribute("aria-disabled", "true"); expect(checkboxes[2]).toHaveAttribute("aria-disabled", "true"); - expect(checkboxes[0]).toHaveAttribute("aria-checked", "false"); - expect(checkboxes[1]).toHaveAttribute("aria-checked", "false"); - expect(checkboxes[2]).toHaveAttribute("aria-checked", "true"); + expect(checkboxes[0]).not.toBeChecked(); + expect(checkboxes[1]).not.toBeChecked(); + expect(checkboxes[2]).toBeChecked(); }); }); }); @@ -185,9 +185,9 @@ describe("multi group with switch", () => { expect(switches[1]).toHaveAttribute("aria-disabled", "true"); expect(switches[2]).toHaveAttribute("aria-disabled", "false"); - expect(switches[0]).toHaveAttribute("aria-checked", "false"); - expect(switches[1]).toHaveAttribute("aria-checked", "false"); - expect(switches[2]).toHaveAttribute("aria-checked", "false"); + expect(switches[0]).not.toBeChecked(); + expect(switches[1]).not.toBeChecked(); + expect(switches[2]).not.toBeChecked(); }); it("should render switch components with external value provided", async () => { @@ -200,9 +200,9 @@ describe("multi group with switch", () => { ); const switches = rendered.getAllByRole("checkbox"); - expect(switches[0]).toHaveAttribute("aria-checked", "false"); - expect(switches[1]).toHaveAttribute("aria-checked", "true"); - expect(switches[2]).toHaveAttribute("aria-checked", "true"); + expect(switches[0]).not.toBeChecked(); + expect(switches[1]).toBeChecked(); + expect(switches[2]).toBeChecked(); }); it("should render switch components with default value provided", () => { @@ -215,9 +215,9 @@ describe("multi group with switch", () => { ); const switches = rendered.getAllByRole("checkbox"); - expect(switches[0]).toHaveAttribute("aria-checked", "true"); - expect(switches[1]).toHaveAttribute("aria-checked", "false"); - expect(switches[2]).toHaveAttribute("aria-checked", "true"); + expect(switches[0]).toBeChecked(); + expect(switches[1]).not.toBeChecked(); + expect(switches[2]).toBeChecked(); }); it("should toggle state when onChange event fired", async () => { @@ -247,9 +247,9 @@ describe("multi group with switch", () => { fireEvent.click(switches[2]!); await waitFor(() => { - expect(switches[0]).toHaveAttribute("aria-checked", "true"); - expect(switches[1]).toHaveAttribute("aria-checked", "true"); - expect(switches[2]).toHaveAttribute("aria-checked", "false"); + expect(switches[0]).toBeChecked(); + expect(switches[1]).toBeChecked(); + expect(switches[2]).not.toBeChecked(); }); }); @@ -289,9 +289,9 @@ describe("multi group with switch", () => { expect(switches[1]).toHaveAttribute("aria-disabled", "true"); expect(switches[2]).toHaveAttribute("aria-disabled", "true"); - expect(switches[0]).toHaveAttribute("aria-checked", "false"); - expect(switches[1]).toHaveAttribute("aria-checked", "false"); - expect(switches[2]).toHaveAttribute("aria-checked", "true"); + expect(switches[0]).not.toBeChecked(); + expect(switches[1]).not.toBeChecked(); + expect(switches[2]).toBeChecked(); }); }); }); diff --git a/packages/wow-ui/src/components/Stepper/Stepper.stories.tsx b/packages/wow-ui/src/components/Stepper/Stepper.stories.tsx index 498ac9f1..c53ad1f9 100644 --- a/packages/wow-ui/src/components/Stepper/Stepper.stories.tsx +++ b/packages/wow-ui/src/components/Stepper/Stepper.stories.tsx @@ -63,7 +63,7 @@ export const Default: Story = { }, }; -export const StepperWithMarkers: Story = { +export const StepperWithLabels: Story = { args: { step: 1, maxStep: 3, diff --git a/packages/wow-ui/src/components/Stepper/Stepper.test.tsx b/packages/wow-ui/src/components/Stepper/Stepper.test.tsx new file mode 100644 index 00000000..96c27b5a --- /dev/null +++ b/packages/wow-ui/src/components/Stepper/Stepper.test.tsx @@ -0,0 +1,106 @@ +import { cleanup, render, screen } from "@testing-library/react"; + +import Stepper from "@/components/Stepper"; + +describe("Stepper rendering Test", () => { + beforeEach(() => { + render(); + }); + + it("should render Stepper", () => { + const stepper = screen.getByRole("progressbar"); + expect(stepper).toBeInTheDocument(); + }); + + it("should render with attributes aria-label stepper", () => { + const stepper = screen.getByRole("progressbar"); + + expect(stepper).toHaveAttribute("aria-label", "stepper"); + }); +}); + +describe("Stepper step state Test", () => { + beforeEach(() => { + render(); + }); + it("should stepper min value is 1", () => { + const stepper = screen.getByRole("progressbar"); + expect(stepper).toHaveAttribute("aria-valuemin", "1"); + }); + + it("should stepper value is 3", () => { + const stepper = screen.getByRole("progressbar"); + expect(stepper).toHaveAttribute("aria-valuetext", "3"); + }); + + it("should stepper max value is 5", () => { + const stepper = screen.getByRole("progressbar"); + expect(stepper).toHaveAttribute("aria-valuemax", "5"); + }); +}); + +describe("Stepper Labels Rendering Test", () => { + beforeEach(() => { + render( + + ); + }); + it("should stepper label render", () => { + const step1 = screen.getByText("Step1"); + expect(step1).toBeInTheDocument(); + + const step2 = screen.getByText("Step2"); + expect(step2).toBeInTheDocument(); + + const step3 = screen.getByText("Step3"); + expect(step3).toBeInTheDocument(); + + const step4 = screen.getByText("Step4"); + expect(step4).toBeInTheDocument(); + + const step5 = screen.getByText("Step5"); + expect(step5).toBeInTheDocument(); + }); +}); + +describe("Control step change Test", () => { + it("should stepper step state change when external step changed ", async () => { + const checkStepValue = async (step: number) => { + render(); + const stepper = screen.getByRole("progressbar"); + expect(stepper).toHaveAttribute("aria-valuetext", step.toString()); + cleanup(); + }; + + await checkStepValue(1); + await checkStepValue(2); + await checkStepValue(3); + await checkStepValue(4); + await checkStepValue(5); + }); + + it("should stepper maxStep state change when external maxStep changed ", async () => { + const checkMaxStepValue = async (maxStep: number) => { + render(); + const stepper = screen.getByRole("progressbar"); + expect(stepper).toHaveAttribute("aria-valuemax", maxStep.toString()); + cleanup(); + }; + + await checkMaxStepValue(1); + await checkMaxStepValue(2); + await checkMaxStepValue(3); + await checkMaxStepValue(4); + await checkMaxStepValue(5); + }); +}); diff --git a/packages/wow-ui/src/components/Stepper/index.tsx b/packages/wow-ui/src/components/Stepper/index.tsx index 2deaa207..967a9ffb 100644 --- a/packages/wow-ui/src/components/Stepper/index.tsx +++ b/packages/wow-ui/src/components/Stepper/index.tsx @@ -30,7 +30,7 @@ const checkStepperStatus = (number: number, step: number) => { * @param {number} width Stepper의 가로 길이를 자유롭게 정할 수 있어요. 단, 278px 이상이어야 합니다. */ -const Stepper = ({ step, maxStep = 3, labels, width }: StepperProps) => { +const Stepper = ({ step = 1, maxStep = 3, labels, width }: StepperProps) => { const fillStepper = useCallback((maxStep: number, step: number) => { const ratio = (step - 1) / (maxStep - 1); return ratio > 1 ? "100%" : `${ratio * 100}%`; diff --git a/packages/wow-ui/src/components/Switch/Switch.stories.tsx b/packages/wow-ui/src/components/Switch/Switch.stories.tsx index f95014b9..7fd38478 100644 --- a/packages/wow-ui/src/components/Switch/Switch.stories.tsx +++ b/packages/wow-ui/src/components/Switch/Switch.stories.tsx @@ -45,62 +45,46 @@ const meta = { description: "스위치 오른쪽에 들어갈 텍스트입니다.", table: { type: { summary: "string" }, - defaultValue: { summary: null }, }, control: { - type: "label", + type: "text", }, }, onChange: { description: "외부 활성 상태가 변경될 때 호출되는 함수입니다.", table: { type: { summary: "() => void" }, - defaultValue: { summary: null }, - }, - control: { - type: "function", }, + control: false, }, onClick: { description: "스위치를 클릭했을 때 호출되는 함수입니다.", table: { type: { summary: "() => void" }, - defaultValue: { summary: null }, - }, - control: { - type: "function", }, + control: false, }, onKeyDown: { description: "스위치가 포커스됐을 때 엔터 키 또는 스페이스 바를 눌렀을 때 호출되는 함수입니다.", table: { type: { summary: "() => void" }, - defaultValue: { summary: null }, - }, - control: { - type: "function", }, + control: false, }, onMouseEnter: { description: "마우스가 스위치 위로 진입할 때 호출되는 함수입니다.", table: { type: { summary: "() => void" }, - defaultValue: { summary: null }, - control: { - type: "function", - }, }, + control: false, }, onMouseLeave: { description: "마우스가 스위치에서 벗어날 때 호출되는 함수입니다.", table: { type: { summary: "() => void" }, - defaultValue: { summary: null }, - control: { - type: "function", - }, }, + control: false, }, inputProps: { description: diff --git a/packages/wow-ui/src/components/Switch/Switch.test.tsx b/packages/wow-ui/src/components/Switch/Switch.test.tsx index 5504494f..f5e93ac4 100644 --- a/packages/wow-ui/src/components/Switch/Switch.test.tsx +++ b/packages/wow-ui/src/components/Switch/Switch.test.tsx @@ -10,10 +10,10 @@ describe("toggle", () => { rendered = render(); }); - it("should render with attributes aria-checked to be false, aria-disabled to be false by default", () => { + it("should render with attributes checked to be false, aria-disabled to be false by default", () => { const switchComponent = rendered.getByRole("checkbox"); - expect(switchComponent).toHaveAttribute("aria-checked", "false"); + expect(switchComponent).not.toBeChecked(); expect(switchComponent).toHaveAttribute("aria-disabled", "false"); }); @@ -29,7 +29,7 @@ describe("toggle", () => { fireEvent.click(switchComponent); await waitFor(() => { - expect(switchComponent).toHaveAttribute("aria-checked", "true"); + expect(switchComponent).toBeChecked(); expect(switchComponent).toHaveAttribute("aria-disabled", "false"); }); }); @@ -40,7 +40,7 @@ describe("toggle", () => { fireEvent.type(switchComponent, "{enter}"); await waitFor(() => { - expect(switchComponent).toHaveAttribute("aria-checked", "true"); + expect(switchComponent).toBeChecked(); expect(switchComponent).toHaveAttribute("aria-disabled", "false"); }); }); @@ -51,7 +51,7 @@ describe("toggle", () => { fireEvent.type(switchComponent, "{space}"); await waitFor(() => { - expect(switchComponent).toHaveAttribute("aria-checked", "true"); + expect(switchComponent).toBeChecked(); expect(switchComponent).toHaveAttribute("aria-disabled", "false"); }); }); @@ -64,10 +64,10 @@ describe("when defaultChecked is true", () => { rendered = render(); }); - it("should render with attributes aria-checked to be true, aria-disabled to be false", () => { + it("should render with attributes checked to be true, aria-disabled to be false", () => { const switchComponent = rendered.getByRole("checkbox"); - expect(switchComponent).toHaveAttribute("aria-checked", "true"); + expect(switchComponent).toBeChecked(); expect(switchComponent).toHaveAttribute("aria-disabled", "false"); }); }); @@ -108,7 +108,7 @@ describe("disabled", () => { fireEvent.type(switchComponent, "{enter}"); await waitFor(() => { - expect(switchComponent).toHaveAttribute("aria-checked", "false"); + expect(switchComponent).not.toBeChecked(); expect(switchComponent).toHaveAttribute("aria-disabled", "true"); }); }); @@ -119,7 +119,7 @@ describe("disabled", () => { fireEvent.type(switchComponent, "{space}"); await waitFor(() => { - expect(switchComponent).toHaveAttribute("aria-checked", "false"); + expect(switchComponent).not.toBeChecked(); expect(switchComponent).toHaveAttribute("aria-disabled", "true"); }); }); @@ -166,7 +166,7 @@ describe("external control and events", () => { fireEvent.click(switchComponent); await waitFor(() => { - expect(switchComponent).toHaveAttribute("aria-checked", "true"); + expect(switchComponent).toBeChecked(); expect(switchComponent).toHaveAttribute("aria-disabled", "false"); }); }); diff --git a/packages/wow-ui/src/components/Switch/index.tsx b/packages/wow-ui/src/components/Switch/index.tsx index 3a7d5bf2..46af598c 100644 --- a/packages/wow-ui/src/components/Switch/index.tsx +++ b/packages/wow-ui/src/components/Switch/index.tsx @@ -98,9 +98,9 @@ const Switch = forwardRef( onMouseUp={handleMouseUp} > void" }, - defaultValue: { summary: null }, - }, - control: { - type: "function", }, + control: false, }, onBlur: { description: "텍스트필드가 포커스를 잃을 때 호출될 콜백 함수입니다.", table: { type: { summary: "() => void" }, - defaultValue: { summary: null }, - }, - control: { - type: "function", }, + control: false, }, onFocus: { description: "텍스트필드가 포커스됐을 때 호출될 콜백 함수입니다.", table: { type: { summary: "() => void" }, - defaultValue: { summary: null }, - }, - control: { - type: "function", }, + control: false, }, textareaProps: { description: "텍스트필드에 전달할 추가 textarea 속성입니다.", table: { type: { summary: "TextareaHTMLAttributes" }, - defaultValue: { summary: null }, }, control: false, }, @@ -136,7 +119,6 @@ const meta = { description: "텍스트필드의 커스텀 스타일 속성입니다.", table: { type: { summary: "CSSProperties" }, - defaultValue: { summary: null }, }, control: false, }, @@ -144,7 +126,6 @@ const meta = { description: "텍스트필드에 전달하는 커스텀 클래스명입니다.", table: { type: { summary: "string" }, - defaultValue: { summary: null }, }, control: { type: "text", diff --git a/packages/wow-ui/src/components/TextField/index.tsx b/packages/wow-ui/src/components/TextField/index.tsx index 199a5a33..48771809 100644 --- a/packages/wow-ui/src/components/TextField/index.tsx +++ b/packages/wow-ui/src/components/TextField/index.tsx @@ -14,7 +14,8 @@ import { forwardRef, useId, useLayoutEffect, useRef, useState } from "react"; import { useTextareaAutosize } from "@/hooks/useTextareaAutosize"; -type VariantType = "default" | "typing" | "typed" | "success" | "error"; +type TypingVariantType = "default" | "typing" | "typed"; +type VariantType = TypingVariantType | "success" | "error"; /** * @description 사용자가 텍스트를 입력할 수 있는 텍스트필드 컴포넌트입니다. @@ -72,33 +73,31 @@ const TextField = forwardRef( }, ref ) => { + const [value, setValue] = useState(valueProp ?? defaultValue ?? ""); + const [typingVariant, setTypingVariant] = + useState("default"); + const id = useId(); const textareaId = textareaProps?.id || id; const errorMessageId = `${textareaId}-error-message`; const helperTextId = `${textareaId}-helper-text`; const descriptionId = error ? `${errorMessageId}` : `${helperTextId}`; + const variant = error ? "error" : success ? "success" : typingVariant; const textareaRef = useRef(null); const textareaElementRef = ref || textareaRef; - const [value, setValue] = useState(valueProp ?? defaultValue ?? ""); - const [variant, setVariant] = useState("default"); - useLayoutEffect(() => { - if (success) { - setVariant("success"); - } else if (error) { - setVariant("error"); - } else if (defaultValue) { - setVariant("typed"); + if (defaultValue) { + setTypingVariant("typed"); } - }, [defaultValue, error, success]); + }, [defaultValue]); useTextareaAutosize(textareaElementRef as RefObject); const handleChange = (e: ChangeEvent) => { const textareaValue = e.target.value; - setVariant("typing"); + setTypingVariant("typing"); if (maxLength && textareaValue.length > maxLength) { setValue(textareaValue.slice(0, maxLength)); @@ -111,15 +110,13 @@ const TextField = forwardRef( const handleBlur = (e: FocusEvent) => { const inputValue = e.target.value; - if (variant !== "success" && variant !== "error") { - setVariant(inputValue ? "typed" : "default"); - } + setTypingVariant(inputValue ? "typed" : "default"); onBlur?.(); }; const handleFocus = () => { - if (variant !== "typing") { - setVariant("typing"); + if (typingVariant !== "typing") { + setTypingVariant("typing"); } onFocus?.(); }; @@ -141,13 +138,15 @@ const TextField = forwardRef( =6.9.0'} - '@babel/runtime@7.24.7': resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} engines: {node: '>=6.9.0'} @@ -1352,7 +1351,6 @@ packages: '@humanwhocodes/config-array@0.11.14': resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} @@ -1579,9 +1577,6 @@ packages: '@jridgewell/sourcemap-codec@1.4.15': resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - '@jridgewell/trace-mapping@0.3.20': - resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} - '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} @@ -2333,7 +2328,6 @@ packages: '@storybook/testing-library@0.2.2': resolution: {integrity: sha512-L8sXFJUHmrlyU2BsWWZGuAjv39Jl1uAqUHdxmN42JY15M4+XCMjGlArdCCjDe1wpTSW6USYISA9axjZojgtvnw==} - deprecated: In Storybook 8, this package functionality has been integrated to a new package called @storybook/test, which uses Vitest APIs for an improved experience. When upgrading to Storybook 8 with 'npx storybook@latest upgrade', you will get prompted and will get an automigration for the new package. Please migrate when you can. '@storybook/theming@8.1.9': resolution: {integrity: sha512-CVM3F4Fa9cIFL4u/BhbANWytShBFeFBZeCFwvcJizJUL+nSgVlxeYilxwQB/1AxyJn/+OprW3nCw5aSbui/EEA==} @@ -2690,9 +2684,6 @@ packages: '@types/tough-cookie@4.0.5': resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} - '@types/unist@2.0.10': - resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} - '@types/unist@3.0.2': resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} @@ -3073,9 +3064,6 @@ packages: aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} - array-buffer-byte-length@1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} - array-buffer-byte-length@1.0.1: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} @@ -3121,10 +3109,6 @@ packages: array.prototype.tosorted@1.1.3: resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} - arraybuffer.prototype.slice@1.0.2: - resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} - engines: {node: '>= 0.4'} - arraybuffer.prototype.slice@1.0.3: resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} engines: {node: '>= 0.4'} @@ -3152,16 +3136,9 @@ packages: async@3.2.5: resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} - asynciterator.prototype@1.0.0: - resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==} - asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} - engines: {node: '>= 0.4'} - available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} @@ -3389,9 +3366,6 @@ packages: resolution: {integrity: sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==} engines: {node: '>=8'} - call-bind@1.0.5: - resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} - call-bind@1.0.7: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} @@ -3537,10 +3511,6 @@ packages: resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - cli-spinners@2.9.0: - resolution: {integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==} - engines: {node: '>=6'} - cli-spinners@2.9.2: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} @@ -3908,10 +3878,6 @@ packages: defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - define-data-property@1.1.1: - resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} - engines: {node: '>= 0.4'} - define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -4146,10 +4112,6 @@ packages: error-stack-parser@2.1.4: resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} - es-abstract@1.22.3: - resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} - engines: {node: '>= 0.4'} - es-abstract@1.23.3: resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} engines: {node: '>= 0.4'} @@ -4165,9 +4127,6 @@ packages: es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} - es-iterator-helpers@1.0.15: - resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} - es-iterator-helpers@1.0.19: resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} engines: {node: '>= 0.4'} @@ -4179,10 +4138,6 @@ packages: resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} engines: {node: '>= 0.4'} - es-set-tostringtag@2.0.2: - resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} - engines: {node: '>= 0.4'} - es-set-tostringtag@2.0.3: resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} engines: {node: '>= 0.4'} @@ -4704,9 +4659,6 @@ packages: get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - get-intrinsic@1.2.2: - resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} - get-intrinsic@1.2.4: resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} engines: {node: '>= 0.4'} @@ -4731,17 +4683,10 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} - get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} - engines: {node: '>= 0.4'} - get-symbol-description@1.0.2: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} - get-tsconfig@4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} - get-tsconfig@4.7.5: resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} @@ -4775,7 +4720,6 @@ packages: glob@8.1.0: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} - deprecated: Glob versions prior to v9 are no longer supported global-modules@0.2.3: resolution: {integrity: sha512-JeXuCbvYzYXcwE6acL9V2bAOeSIGl4dD+iwLY9iUx2VBJJ80R18HCn+JCwHM9Oegdfya3lEkGCdaRkSyc10hDA==} @@ -4853,16 +4797,9 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - has-property-descriptors@1.0.1: - resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} - has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} - has-proto@1.0.3: resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} engines: {node: '>= 0.4'} @@ -4871,10 +4808,6 @@ packages: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} - has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} - engines: {node: '>= 0.4'} - has-tostringtag@1.0.2: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} @@ -4894,10 +4827,6 @@ packages: resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} engines: {node: '>=8'} - hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} - engines: {node: '>= 0.4'} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -5048,7 +4977,6 @@ packages: inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -5060,10 +4988,6 @@ packages: resolution: {integrity: sha512-kod5s+FBPIDM2xiy9fu+6wdU/SkK5le5GS9lh4FEBjBHqiMgD9lLFbCbuqFNAjNL2ZOy9Wd9F694IOzN9pZHBA==} engines: {node: '>=18'} - internal-slot@1.0.6: - resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} - engines: {node: '>= 0.4'} - internal-slot@1.0.7: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} @@ -5091,9 +5015,6 @@ packages: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} - is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} - is-array-buffer@3.0.4: resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} engines: {node: '>= 0.4'} @@ -5199,10 +5120,6 @@ packages: resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} engines: {node: '>= 0.4'} - is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} - engines: {node: '>= 0.4'} - is-negative-zero@2.0.3: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} @@ -5256,9 +5173,6 @@ packages: is-set@2.0.2: resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} - is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} - is-shared-array-buffer@1.0.3: resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} engines: {node: '>= 0.4'} @@ -5283,10 +5197,6 @@ packages: resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} engines: {node: '>= 0.4'} - is-typed-array@1.1.12: - resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} - engines: {node: '>= 0.4'} - is-typed-array@1.1.13: resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} @@ -6207,10 +6117,6 @@ packages: resolution: {integrity: sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==} engines: {node: '>= 10.12.0'} - object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} - engines: {node: '>= 0.4'} - object.assign@4.1.5: resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} @@ -6912,10 +6818,6 @@ packages: regex-parser@2.3.0: resolution: {integrity: sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==} - regexp.prototype.flags@1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} - engines: {node: '>= 0.4'} - regexp.prototype.flags@1.5.2: resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} @@ -7024,7 +6926,6 @@ packages: rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true ripemd160@2.0.2: @@ -7069,10 +6970,6 @@ packages: rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} - safe-array-concat@1.0.1: - resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} - engines: {node: '>=0.4'} - safe-array-concat@1.1.2: resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} engines: {node: '>=0.4'} @@ -7083,9 +6980,6 @@ packages: safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} - safe-regex-test@1.0.3: resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} engines: {node: '>= 0.4'} @@ -7157,10 +7051,6 @@ packages: set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - set-function-length@1.1.1: - resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} - engines: {node: '>= 0.4'} - set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -7251,10 +7141,6 @@ packages: snake-case@3.0.4: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} - source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} @@ -7370,23 +7256,13 @@ packages: string.prototype.matchall@4.0.10: resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} - string.prototype.trim@1.2.8: - resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} - engines: {node: '>= 0.4'} - string.prototype.trim@1.2.9: resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} engines: {node: '>= 0.4'} - string.prototype.trimend@1.0.7: - resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} - string.prototype.trimend@1.0.8: resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} - string.prototype.trimstart@1.0.7: - resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} - string.prototype.trimstart@1.0.8: resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} engines: {node: '>= 0.4'} @@ -7595,12 +7471,6 @@ packages: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} engines: {node: '>=8'} - ts-api-utils@1.0.2: - resolution: {integrity: sha512-Cbu4nIqnEdd+THNEsBdkolnOXhg0I8XteoHaEKgvsxpsbWda4IsUut2c187HxywQCvveojow0Dgw/amxtSKVkQ==} - engines: {node: '>=16.13.0'} - peerDependencies: - typescript: '>=4.2.0' - ts-api-utils@1.3.0: resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} @@ -7798,33 +7668,18 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - typed-array-buffer@1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} - engines: {node: '>= 0.4'} - typed-array-buffer@1.0.2: resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} engines: {node: '>= 0.4'} - typed-array-byte-length@1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} - engines: {node: '>= 0.4'} - typed-array-byte-length@1.0.1: resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} engines: {node: '>= 0.4'} - typed-array-byte-offset@1.0.0: - resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} - engines: {node: '>= 0.4'} - typed-array-byte-offset@1.0.2: resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} engines: {node: '>= 0.4'} - typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} - typed-array-length@1.0.6: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} @@ -8090,10 +7945,6 @@ packages: resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} engines: {node: '>=8.15'} - which-typed-array@1.1.13: - resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} - engines: {node: '>= 0.4'} - which-typed-array@1.1.15: resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} engines: {node: '>= 0.4'} @@ -9071,10 +8922,6 @@ snapshots: '@babel/regjsgen@0.8.0': {} - '@babel/runtime@7.23.2': - dependencies: - regenerator-runtime: 0.14.0 - '@babel/runtime@7.24.7': dependencies: regenerator-runtime: 0.14.0 @@ -9112,7 +8959,7 @@ snapshots: '@changesets/apply-release-plan@7.0.0': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@changesets/config': 3.0.0 '@changesets/get-version-range-type': 0.4.0 '@changesets/git': 3.0.0 @@ -9128,7 +8975,7 @@ snapshots: '@changesets/assemble-release-plan@6.0.0': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.0.0 '@changesets/types': 6.0.0 @@ -9141,7 +8988,7 @@ snapshots: '@changesets/cli@2.27.1': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@changesets/apply-release-plan': 7.0.0 '@changesets/assemble-release-plan': 6.0.0 '@changesets/changelog-git': 0.2.0 @@ -9198,7 +9045,7 @@ snapshots: '@changesets/get-release-plan@4.0.0': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@changesets/assemble-release-plan': 6.0.0 '@changesets/config': 3.0.0 '@changesets/pre': 2.0.0 @@ -9210,7 +9057,7 @@ snapshots: '@changesets/git@3.0.0': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -9229,7 +9076,7 @@ snapshots: '@changesets/pre@2.0.0': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 @@ -9237,7 +9084,7 @@ snapshots: '@changesets/read@0.6.0': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@changesets/git': 3.0.0 '@changesets/logger': 0.1.0 '@changesets/parse': 0.4.0 @@ -9252,7 +9099,7 @@ snapshots: '@changesets/write@0.3.0': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@changesets/types': 6.0.0 fs-extra: 7.0.1 human-id: 1.0.2 @@ -9658,7 +9505,7 @@ snapshots: dependencies: '@babel/core': 7.24.5 '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.25 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 2.0.0 @@ -9700,11 +9547,6 @@ snapshots: '@jridgewell/sourcemap-codec@1.4.15': {} - '@jridgewell/trace-mapping@0.3.20': - dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.1 @@ -9721,14 +9563,14 @@ snapshots: '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 @@ -9978,25 +9820,25 @@ snapshots: '@radix-ui/primitive@1.0.1': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.61)(react@18.2.0)': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 react: 18.2.0 optionalDependencies: '@types/react': 18.2.61 '@radix-ui/react-context@1.0.1(@types/react@18.2.61)(react@18.2.0)': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 react: 18.2.0 optionalDependencies: '@types/react': 18.2.61 '@radix-ui/react-dialog@1.0.5(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.61)(react@18.2.0) @@ -10019,7 +9861,7 @@ snapshots: '@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -10033,14 +9875,14 @@ snapshots: '@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.61)(react@18.2.0)': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 react: 18.2.0 optionalDependencies: '@types/react': 18.2.61 '@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.61)(react@18.2.0) @@ -10052,7 +9894,7 @@ snapshots: '@radix-ui/react-id@1.0.1(@types/react@18.2.61)(react@18.2.0)': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.61)(react@18.2.0) react: 18.2.0 optionalDependencies: @@ -10060,7 +9902,7 @@ snapshots: '@radix-ui/react-portal@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -10070,7 +9912,7 @@ snapshots: '@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0) '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.61)(react@18.2.0) react: 18.2.0 @@ -10081,7 +9923,7 @@ snapshots: '@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.61)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@radix-ui/react-slot': 1.0.2(@types/react@18.2.61)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -10091,7 +9933,7 @@ snapshots: '@radix-ui/react-slot@1.0.2(@types/react@18.2.61)(react@18.2.0)': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.61)(react@18.2.0) react: 18.2.0 optionalDependencies: @@ -10099,14 +9941,14 @@ snapshots: '@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.61)(react@18.2.0)': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 react: 18.2.0 optionalDependencies: '@types/react': 18.2.61 '@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.61)(react@18.2.0)': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.61)(react@18.2.0) react: 18.2.0 optionalDependencies: @@ -10114,7 +9956,7 @@ snapshots: '@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.61)(react@18.2.0)': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.61)(react@18.2.0) react: 18.2.0 optionalDependencies: @@ -10122,7 +9964,7 @@ snapshots: '@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.61)(react@18.2.0)': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 react: 18.2.0 optionalDependencies: '@types/react': 18.2.61 @@ -11151,7 +10993,7 @@ snapshots: '@testing-library/dom@10.1.0': dependencies: '@babel/code-frame': 7.24.2 - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@types/aria-query': 5.0.4 aria-query: 5.3.0 chalk: 4.1.2 @@ -11162,7 +11004,7 @@ snapshots: '@testing-library/dom@9.3.4': dependencies: '@babel/code-frame': 7.24.2 - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@types/aria-query': 5.0.4 aria-query: 5.1.3 chalk: 4.1.2 @@ -11173,7 +11015,7 @@ snapshots: '@testing-library/jest-dom@6.4.5(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.11.24)(ts-node@10.9.2(@swc/core@1.5.7)(@types/node@20.11.24)(typescript@5.3.3)))': dependencies: '@adobe/css-tools': 4.3.3 - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 aria-query: 5.3.0 chalk: 3.0.0 css.escape: 1.5.1 @@ -11187,7 +11029,7 @@ snapshots: '@testing-library/react@15.0.7(@types/react@18.2.61)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 '@testing-library/dom': 10.1.0 '@types/react-dom': 18.2.19 react: 18.2.0 @@ -11308,7 +11150,7 @@ snapshots: '@types/hast@3.0.4': dependencies: - '@types/unist': 2.0.10 + '@types/unist': 3.0.2 '@types/html-minifier-terser@6.1.0': {} @@ -11428,8 +11270,6 @@ snapshots: '@types/tough-cookie@4.0.5': {} - '@types/unist@2.0.10': {} - '@types/unist@3.0.2': {} '@types/uuid@9.0.8': {} @@ -11531,7 +11371,7 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.6.0 - ts-api-utils: 1.0.2(typescript@5.3.3) + ts-api-utils: 1.3.0(typescript@5.3.3) optionalDependencies: typescript: 5.3.3 transitivePeerDependencies: @@ -11629,7 +11469,7 @@ snapshots: '@vue/shared': 3.4.19 entities: 4.5.0 estree-walker: 2.0.2 - source-map-js: 1.0.2 + source-map-js: 1.2.0 '@vue/compiler-dom@3.4.19': dependencies: @@ -11646,7 +11486,7 @@ snapshots: estree-walker: 2.0.2 magic-string: 0.30.10 postcss: 8.4.38 - source-map-js: 1.0.2 + source-map-js: 1.2.0 '@vue/compiler-ssr@3.4.19': dependencies: @@ -11895,11 +11735,6 @@ snapshots: dependencies: dequal: 2.0.3 - array-buffer-byte-length@1.0.0: - dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.2 - array-buffer-byte-length@1.0.1: dependencies: call-bind: 1.0.7 @@ -11913,7 +11748,7 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 get-intrinsic: 1.2.4 is-string: 1.0.7 @@ -11934,7 +11769,7 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 get-intrinsic: 1.2.4 @@ -11942,41 +11777,31 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 array.prototype.flatmap@1.3.2: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 array.prototype.toreversed@1.1.2: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 array.prototype.tosorted@1.1.3: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 es-errors: 1.3.0 es-shim-unscopables: 1.0.2 - arraybuffer.prototype.slice@1.0.2: - dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.3 - get-intrinsic: 1.2.4 - is-array-buffer: 3.0.2 - is-shared-array-buffer: 1.0.2 - arraybuffer.prototype.slice@1.0.3: dependencies: array-buffer-byte-length: 1.0.1 @@ -12014,14 +11839,8 @@ snapshots: async@3.2.5: {} - asynciterator.prototype@1.0.0: - dependencies: - has-symbols: 1.0.3 - asynckit@0.4.0: {} - available-typed-arrays@1.0.5: {} - available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.0.0 @@ -12098,7 +11917,7 @@ snapshots: babel-plugin-macros@3.1.0: dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 cosmiconfig: 7.1.0 resolve: 1.22.8 @@ -12166,7 +11985,7 @@ snapshots: '@babel/preset-env': 7.24.5(@babel/core@7.24.5) '@babel/preset-react': 7.24.1(@babel/core@7.24.5) '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5) - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 babel-plugin-macros: 3.1.0 babel-plugin-transform-react-remove-prop-types: 0.4.24 transitivePeerDependencies: @@ -12347,12 +12166,6 @@ snapshots: package-hash: 4.0.0 write-file-atomic: 3.0.3 - call-bind@1.0.5: - dependencies: - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - set-function-length: 1.1.1 - call-bind@1.0.7: dependencies: es-define-property: 1.0.0 @@ -12501,8 +12314,6 @@ snapshots: dependencies: restore-cursor: 4.0.0 - cli-spinners@2.9.0: {} - cli-spinners@2.9.2: {} cli-table3@0.6.4: @@ -12858,24 +12669,24 @@ snapshots: deep-equal@2.2.3: dependencies: - array-buffer-byte-length: 1.0.0 + array-buffer-byte-length: 1.0.1 call-bind: 1.0.7 es-get-iterator: 1.1.3 get-intrinsic: 1.2.4 is-arguments: 1.1.1 - is-array-buffer: 3.0.2 + is-array-buffer: 3.0.4 is-date-object: 1.0.5 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 isarray: 2.0.5 object-is: 1.1.6 object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 side-channel: 1.0.6 which-boxed-primitive: 1.0.2 which-collection: 1.0.1 - which-typed-array: 1.1.13 + which-typed-array: 1.1.15 deep-is@0.1.4: {} @@ -12894,12 +12705,6 @@ snapshots: dependencies: clone: 1.0.4 - define-data-property@1.1.1: - dependencies: - get-intrinsic: 1.2.2 - gopd: 1.0.1 - has-property-descriptors: 1.0.1 - define-data-property@1.1.4: dependencies: es-define-property: 1.0.0 @@ -12910,8 +12715,8 @@ snapshots: define-properties@1.2.1: dependencies: - define-data-property: 1.1.1 - has-property-descriptors: 1.0.1 + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 defu@6.1.4: {} @@ -13126,48 +12931,6 @@ snapshots: dependencies: stackframe: 1.3.4 - es-abstract@1.22.3: - dependencies: - array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.2 - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 - es-set-tostringtag: 2.0.2 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.2 - get-symbol-description: 1.0.0 - globalthis: 1.0.3 - gopd: 1.0.1 - has-property-descriptors: 1.0.1 - has-proto: 1.0.1 - has-symbols: 1.0.3 - hasown: 2.0.2 - internal-slot: 1.0.6 - is-array-buffer: 3.0.2 - is-callable: 1.2.7 - is-negative-zero: 2.0.2 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 - is-string: 1.0.7 - is-typed-array: 1.1.12 - is-weakref: 1.0.2 - object-inspect: 1.13.1 - object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.5.1 - safe-array-concat: 1.0.1 - safe-regex-test: 1.0.0 - string.prototype.trim: 1.2.8 - string.prototype.trimend: 1.0.7 - string.prototype.trimstart: 1.0.7 - typed-array-buffer: 1.0.0 - typed-array-byte-length: 1.0.0 - typed-array-byte-offset: 1.0.0 - typed-array-length: 1.0.4 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.13 - es-abstract@1.23.3: dependencies: array-buffer-byte-length: 1.0.1 @@ -13235,23 +12998,6 @@ snapshots: isarray: 2.0.5 stop-iteration-iterator: 1.0.0 - es-iterator-helpers@1.0.15: - dependencies: - asynciterator.prototype: 1.0.0 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.3 - es-set-tostringtag: 2.0.2 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - globalthis: 1.0.3 - has-property-descriptors: 1.0.2 - has-proto: 1.0.1 - has-symbols: 1.0.3 - internal-slot: 1.0.6 - iterator.prototype: 1.1.2 - safe-array-concat: 1.0.1 - es-iterator-helpers@1.0.19: dependencies: call-bind: 1.0.7 @@ -13275,12 +13021,6 @@ snapshots: dependencies: es-errors: 1.3.0 - es-set-tostringtag@2.0.2: - dependencies: - get-intrinsic: 1.2.4 - has-tostringtag: 1.0.0 - hasown: 2.0.2 - es-set-tostringtag@2.0.3: dependencies: get-intrinsic: 1.2.4 @@ -13379,7 +13119,7 @@ snapshots: eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.1.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.1.0(eslint@8.57.0)(typescript@5.3.3))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.1.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) fast-glob: 3.3.2 - get-tsconfig: 4.7.2 + get-tsconfig: 4.7.5 is-core-module: 2.13.1 is-glob: 4.0.3 transitivePeerDependencies: @@ -13410,7 +13150,7 @@ snapshots: eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.1.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.1.0(eslint@8.57.0)(typescript@5.3.3))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) - hasown: 2.0.0 + hasown: 2.0.2 is-core-module: 2.13.1 is-glob: 4.0.3 minimatch: 3.1.2 @@ -13428,7 +13168,7 @@ snapshots: eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 aria-query: 5.3.0 array-includes: 3.1.7 array.prototype.flatmap: 1.3.2 @@ -13437,9 +13177,9 @@ snapshots: axobject-query: 3.2.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.15 + es-iterator-helpers: 1.0.19 eslint: 8.57.0 - hasown: 2.0.0 + hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 minimatch: 3.1.2 @@ -13953,7 +13693,7 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 functions-have-names: 1.2.3 functions-have-names@1.2.3: {} @@ -13966,18 +13706,11 @@ snapshots: get-func-name@2.0.2: {} - get-intrinsic@1.2.2: - dependencies: - function-bind: 1.1.2 - has-proto: 1.0.1 - has-symbols: 1.0.3 - hasown: 2.0.2 - get-intrinsic@1.2.4: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 - has-proto: 1.0.1 + has-proto: 1.0.3 has-symbols: 1.0.3 hasown: 2.0.2 @@ -13991,21 +13724,12 @@ snapshots: get-stream@8.0.1: {} - get-symbol-description@1.0.0: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - get-symbol-description@1.0.2: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - get-tsconfig@4.7.2: - dependencies: - resolve-pkg-maps: 1.0.0 - get-tsconfig@4.7.5: dependencies: resolve-pkg-maps: 1.0.0 @@ -14156,24 +13880,14 @@ snapshots: has-flag@4.0.0: {} - has-property-descriptors@1.0.1: - dependencies: - get-intrinsic: 1.2.2 - has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.0 - has-proto@1.0.1: {} - has-proto@1.0.3: {} has-symbols@1.0.3: {} - has-tostringtag@1.0.0: - dependencies: - has-symbols: 1.0.3 - has-tostringtag@1.0.2: dependencies: has-symbols: 1.0.3 @@ -14199,10 +13913,6 @@ snapshots: is-stream: 2.0.1 type-fest: 0.8.1 - hasown@2.0.0: - dependencies: - function-bind: 1.1.2 - hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -14382,12 +14092,6 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 6.2.0 - internal-slot@1.0.6: - dependencies: - get-intrinsic: 1.2.4 - hasown: 2.0.2 - side-channel: 1.0.6 - internal-slot@1.0.7: dependencies: es-errors: 1.3.0 @@ -14412,13 +14116,7 @@ snapshots: is-arguments@1.1.1: dependencies: call-bind: 1.0.7 - has-tostringtag: 1.0.0 - - is-array-buffer@3.0.2: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - is-typed-array: 1.1.12 + has-tostringtag: 1.0.2 is-array-buffer@3.0.4: dependencies: @@ -14432,7 +14130,7 @@ snapshots: is-async-function@2.0.0: dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-bigint@1.0.4: dependencies: @@ -14445,7 +14143,7 @@ snapshots: is-boolean-object@1.1.2: dependencies: call-bind: 1.0.7 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-builtin-module@3.2.1: dependencies: @@ -14463,7 +14161,7 @@ snapshots: is-date-object@1.0.5: dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-deflate@1.0.0: {} @@ -14487,7 +14185,7 @@ snapshots: is-generator-function@1.0.10: dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-glob@4.0.3: dependencies: @@ -14508,13 +14206,11 @@ snapshots: call-bind: 1.0.7 define-properties: 1.2.1 - is-negative-zero@2.0.2: {} - is-negative-zero@2.0.3: {} is-number-object@1.0.7: dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-number@7.0.0: {} @@ -14541,7 +14237,7 @@ snapshots: is-regex@1.1.4: dependencies: call-bind: 1.0.7 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-relative@1.0.0: dependencies: @@ -14549,10 +14245,6 @@ snapshots: is-set@2.0.2: {} - is-shared-array-buffer@1.0.2: - dependencies: - call-bind: 1.0.7 - is-shared-array-buffer@1.0.3: dependencies: call-bind: 1.0.7 @@ -14563,7 +14255,7 @@ snapshots: is-string@1.0.7: dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-subdir@1.2.0: dependencies: @@ -14573,10 +14265,6 @@ snapshots: dependencies: has-symbols: 1.0.3 - is-typed-array@1.1.12: - dependencies: - which-typed-array: 1.1.13 - is-typed-array@1.1.13: dependencies: which-typed-array: 1.1.15 @@ -15209,7 +14897,7 @@ snapshots: dependencies: array-includes: 3.1.7 array.prototype.flat: 1.3.2 - object.assign: 4.1.4 + object.assign: 4.1.5 object.values: 1.1.7 junit-report-builder@3.2.1: @@ -15793,13 +15481,6 @@ snapshots: object-path@0.11.8: {} - object.assign@4.1.4: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - has-symbols: 1.0.3 - object-keys: 1.1.1 - object.assign@4.1.5: dependencies: call-bind: 1.0.7 @@ -15818,25 +15499,25 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 object.fromentries@2.0.7: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 object.groupby@1.0.1: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 get-intrinsic: 1.2.4 object.hasown@1.1.3: dependencies: define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 object.map@1.0.1: dependencies: @@ -15851,7 +15532,7 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 objectorarray@1.0.5: {} @@ -15895,7 +15576,7 @@ snapshots: bl: 4.1.0 chalk: 4.1.2 cli-cursor: 3.1.0 - cli-spinners: 2.9.0 + cli-spinners: 2.9.2 is-interactive: 1.0.0 is-unicode-supported: 0.1.0 log-symbols: 4.1.0 @@ -16152,7 +15833,7 @@ snapshots: polished@4.3.1: dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 possible-typed-array-names@1.0.0: {} @@ -16230,13 +15911,13 @@ snapshots: dependencies: nanoid: 3.3.7 picocolors: 1.0.0 - source-map-js: 1.0.2 + source-map-js: 1.2.0 postcss@8.4.35: dependencies: nanoid: 3.3.7 picocolors: 1.0.0 - source-map-js: 1.0.2 + source-map-js: 1.2.0 postcss@8.4.38: dependencies: @@ -16537,7 +16218,7 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 get-intrinsic: 1.2.4 globalthis: 1.0.3 which-builtin-type: 1.1.3 @@ -16552,16 +16233,10 @@ snapshots: regenerator-transform@0.15.2: dependencies: - '@babel/runtime': 7.23.2 + '@babel/runtime': 7.24.7 regex-parser@2.3.0: {} - regexp.prototype.flags@1.5.1: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - set-function-name: 2.0.1 - regexp.prototype.flags@1.5.2: dependencies: call-bind: 1.0.7 @@ -16748,13 +16423,6 @@ snapshots: dependencies: tslib: 2.6.2 - safe-array-concat@1.0.1: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - isarray: 2.0.5 - safe-array-concat@1.1.2: dependencies: call-bind: 1.0.7 @@ -16766,12 +16434,6 @@ snapshots: safe-buffer@5.2.1: {} - safe-regex-test@1.0.0: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - is-regex: 1.1.4 - safe-regex-test@1.0.3: dependencies: call-bind: 1.0.7 @@ -16854,13 +16516,6 @@ snapshots: set-blocking@2.0.0: {} - set-function-length@1.1.1: - dependencies: - define-data-property: 1.1.4 - get-intrinsic: 1.2.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -16978,8 +16633,6 @@ snapshots: dot-case: 3.0.4 tslib: 2.6.2 - source-map-js@1.0.2: {} - source-map-js@1.2.0: {} source-map-support@0.5.13: @@ -17049,7 +16702,7 @@ snapshots: stop-iteration-iterator@1.0.0: dependencies: - internal-slot: 1.0.6 + internal-slot: 1.0.7 store2@2.14.3: {} @@ -17119,20 +16772,14 @@ snapshots: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 get-intrinsic: 1.2.4 has-symbols: 1.0.3 - internal-slot: 1.0.6 - regexp.prototype.flags: 1.5.1 + internal-slot: 1.0.7 + regexp.prototype.flags: 1.5.2 set-function-name: 2.0.1 side-channel: 1.0.6 - string.prototype.trim@1.2.8: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.3 - string.prototype.trim@1.2.9: dependencies: call-bind: 1.0.7 @@ -17140,24 +16787,12 @@ snapshots: es-abstract: 1.23.3 es-object-atoms: 1.0.0 - string.prototype.trimend@1.0.7: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.3 - string.prototype.trimend@1.0.8: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 - string.prototype.trimstart@1.0.7: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.3 - string.prototype.trimstart@1.0.8: dependencies: call-bind: 1.0.7 @@ -17353,10 +16988,6 @@ snapshots: trim-newlines@3.0.1: {} - ts-api-utils@1.0.2(typescript@5.3.3): - dependencies: - typescript: 5.3.3 - ts-api-utils@1.3.0(typescript@5.3.3): dependencies: typescript: 5.3.3 @@ -17534,25 +17165,12 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - typed-array-buffer@1.0.0: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - is-typed-array: 1.1.12 - typed-array-buffer@1.0.2: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-typed-array: 1.1.13 - typed-array-byte-length@1.0.0: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 - typed-array-byte-length@1.0.1: dependencies: call-bind: 1.0.7 @@ -17561,14 +17179,6 @@ snapshots: has-proto: 1.0.3 is-typed-array: 1.1.13 - typed-array-byte-offset@1.0.0: - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.7 - for-each: 0.3.3 - has-proto: 1.0.1 - is-typed-array: 1.1.12 - typed-array-byte-offset@1.0.2: dependencies: available-typed-arrays: 1.0.7 @@ -17578,12 +17188,6 @@ snapshots: has-proto: 1.0.3 is-typed-array: 1.1.13 - typed-array-length@1.0.4: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - is-typed-array: 1.1.12 - typed-array-length@1.0.6: dependencies: call-bind: 1.0.7 @@ -17714,8 +17318,8 @@ snapshots: inherits: 2.0.4 is-arguments: 1.1.1 is-generator-function: 1.0.10 - is-typed-array: 1.1.12 - which-typed-array: 1.1.13 + is-typed-array: 1.1.13 + which-typed-array: 1.1.15 utila@0.4.0: {} @@ -17863,7 +17467,7 @@ snapshots: which-builtin-type@1.1.3: dependencies: function.prototype.name: 1.1.6 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-async-function: 2.0.0 is-date-object: 1.0.5 is-finalizationregistry: 1.0.2 @@ -17873,7 +17477,7 @@ snapshots: isarray: 2.0.5 which-boxed-primitive: 1.0.2 which-collection: 1.0.1 - which-typed-array: 1.1.13 + which-typed-array: 1.1.15 which-collection@1.0.1: dependencies: @@ -17889,14 +17493,6 @@ snapshots: load-yaml-file: 0.2.0 path-exists: 4.0.0 - which-typed-array@1.1.13: - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - which-typed-array@1.1.15: dependencies: available-typed-arrays: 1.0.7