diff --git a/compiler/scaffold.config.js b/compiler/scaffold.config.js index a41ee42c..787090b2 100644 --- a/compiler/scaffold.config.js +++ b/compiler/scaffold.config.js @@ -84,4 +84,31 @@ module.exports = { path: "../number-field", }, }, + "governance-checkbox": { + jsxMap: { + ScaffoldGovernanceCheckbox: "GovernanceCheckbox", + }, + import: { + imports: { GovernanceCheckbox: "default" }, + path: "../governance-checkbox", + }, + }, + "governance-radio": { + jsxMap: { + ScaffoldGovernanceRadio: "GovernanceRadio", + }, + import: { + imports: { GovernanceRadio: "default" }, + path: "../governance-radio", + }, + }, + "governance-radio-group": { + jsxMap: { + ScaffoldGovernanceRadioGroup: "GovernanceRadioGroup", + }, + import: { + imports: { GovernanceRadioGroup: "default" }, + path: "../governance-radio-group", + }, + }, }; diff --git a/packages/react/package.json b/packages/react/package.json index 98738060..d14f5a67 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -53,10 +53,7 @@ "@floating-ui/dom": "^1.5.2", "@floating-ui/react": "^0.26.0", "@formkit/auto-animate": "1.0.0-beta.6", - "@react-aria/i18n": "^3.8.4", - "@react-aria/numberfield": "^3.9.1", "@react-aria/utils": "^3.21.1", - "@react-stately/numberfield": "^3.6.2", "@vanilla-extract/css": "^1.12.0", "@vanilla-extract/css-utils": "^0.1.3", "@vanilla-extract/dynamic": "^2.0.3", @@ -69,6 +66,8 @@ "immer": "^9.0.19", "lodash": "^4.17.21", "rainbow-sprinkles": "^0.17.0", + "react-aria": "^3.29.1", + "react-stately": "^3.27.1", "zustand": "4.4.6" }, "peerDependencies": { diff --git a/packages/react/scaffolds/governance-checkbox/governance-checkbox.tsx b/packages/react/scaffolds/governance-checkbox/governance-checkbox.tsx new file mode 100644 index 00000000..6d9b6661 --- /dev/null +++ b/packages/react/scaffolds/governance-checkbox/governance-checkbox.tsx @@ -0,0 +1,106 @@ +import * as React from "react"; +import { useToggleState } from "react-stately"; +import { useCheckbox, useFocusRing, VisuallyHidden } from "react-aria"; +import Box from "@/ui/box"; +import Stack from "@/ui/stack"; +import type { GovernanceCheckboxProps } from "./governance-checkbox.types"; + +export default function GovernanceCheckbox(props: GovernanceCheckboxProps) { + const state = useToggleState(props); + const ref = React.useRef(null); + const { inputProps } = useCheckbox(props, state, ref); + const { isFocusVisible, focusProps } = useFocusRing(); + const isSelected = + state.isSelected && !props.isIndeterminate && !props.isRejected; + + return ( + + + + + + + + + {props.children} + + + ); +} diff --git a/packages/react/scaffolds/governance-checkbox/governance-checkbox.types.tsx b/packages/react/scaffolds/governance-checkbox/governance-checkbox.types.tsx new file mode 100644 index 00000000..5cb40576 --- /dev/null +++ b/packages/react/scaffolds/governance-checkbox/governance-checkbox.types.tsx @@ -0,0 +1,6 @@ +import { AriaCheckboxProps } from "react-aria"; + +export interface GovernanceCheckboxProps extends AriaCheckboxProps { + isRejected?: boolean; + children?: React.ReactNode; +} diff --git a/packages/react/scaffolds/governance-checkbox/index.ts b/packages/react/scaffolds/governance-checkbox/index.ts new file mode 100644 index 00000000..39a33af2 --- /dev/null +++ b/packages/react/scaffolds/governance-checkbox/index.ts @@ -0,0 +1 @@ +export { default } from "./governance-checkbox"; diff --git a/packages/react/scaffolds/governance-radio-group/governance-radio-group.context.tsx b/packages/react/scaffolds/governance-radio-group/governance-radio-group.context.tsx new file mode 100644 index 00000000..8be75b9c --- /dev/null +++ b/packages/react/scaffolds/governance-radio-group/governance-radio-group.context.tsx @@ -0,0 +1,4 @@ +import * as React from "react"; +import type { RadioGroupState } from "react-stately"; + +export const RadioContext = React.createContext(null); diff --git a/packages/react/scaffolds/governance-radio-group/governance-radio-group.tsx b/packages/react/scaffolds/governance-radio-group/governance-radio-group.tsx new file mode 100644 index 00000000..3d70ca88 --- /dev/null +++ b/packages/react/scaffolds/governance-radio-group/governance-radio-group.tsx @@ -0,0 +1,33 @@ +import { useRadioGroup, VisuallyHidden } from "react-aria"; +import { useRadioGroupState } from "react-stately"; +import Text from "@/ui/text"; +import { RadioContext } from "./governance-radio-group.context"; +import type { GovernanceRadioGroupProps } from "./governance-radio-group.types"; + +export default function GovernanceRadioGroup(props: GovernanceRadioGroupProps) { + const { children, label, description, errorMessage } = props; + const state = useRadioGroupState(props); + const { radioGroupProps, labelProps, descriptionProps, errorMessageProps } = + useRadioGroup(props, state); + + return ( +
+ + {label} + + + {children} + + {description && ( + + {description} + + )} + {errorMessage && state.isInvalid && ( + + {errorMessage} + + )} +
+ ); +} diff --git a/packages/react/scaffolds/governance-radio-group/governance-radio-group.types.tsx b/packages/react/scaffolds/governance-radio-group/governance-radio-group.types.tsx new file mode 100644 index 00000000..fe4a7916 --- /dev/null +++ b/packages/react/scaffolds/governance-radio-group/governance-radio-group.types.tsx @@ -0,0 +1,5 @@ +import { AriaRadioGroupProps } from "react-aria"; + +export interface GovernanceRadioGroupProps extends AriaRadioGroupProps { + children?: React.ReactNode; +} diff --git a/packages/react/scaffolds/governance-radio-group/index.ts b/packages/react/scaffolds/governance-radio-group/index.ts new file mode 100644 index 00000000..6670cbc3 --- /dev/null +++ b/packages/react/scaffolds/governance-radio-group/index.ts @@ -0,0 +1 @@ +export { default } from "./governance-radio-group"; diff --git a/packages/react/scaffolds/governance-radio/governance-radio.css.ts b/packages/react/scaffolds/governance-radio/governance-radio.css.ts new file mode 100644 index 00000000..a08c1e43 --- /dev/null +++ b/packages/react/scaffolds/governance-radio/governance-radio.css.ts @@ -0,0 +1,14 @@ +import { style } from "@vanilla-extract/css"; +import { themeVars } from "@/styles/themes.css"; + +export const radioCircleDefault = style({ + stroke: themeVars.colors.textSecondary, +}); + +export const radioCircleSelected = style({ + stroke: themeVars.colors.text, +}); + +export const radioCircleDisabled = style({ + stroke: themeVars.colors.inputDisabledText, +}); diff --git a/packages/react/scaffolds/governance-radio/governance-radio.tsx b/packages/react/scaffolds/governance-radio/governance-radio.tsx new file mode 100644 index 00000000..4e9eda23 --- /dev/null +++ b/packages/react/scaffolds/governance-radio/governance-radio.tsx @@ -0,0 +1,94 @@ +import * as React from "react"; +import clx from "clsx"; +import Box from "@/ui/box"; +import Text from "@/ui/text"; +import { useRadio, useFocusRing, VisuallyHidden } from "react-aria"; +import { RadioContext } from "../governance-radio-group/governance-radio-group.context"; +import * as styles from "./governance-radio.css"; +import { standardTransitionProperties } from "@/ui/shared/shared.css"; +import type { GovernanceRadioProps } from "./governance-radio.types"; + +const defaultCircle = { + cx: "8.33301", + cy: "8", + r: "7.33333", + strokeWidth: "1.33333", +}; + +const selectedCircle = { + cx: "8.66699", + cy: "8", + r: "6", + strokeWidth: "4", +}; + +export default function GovernanceRadio(props: GovernanceRadioProps) { + const { children } = props; + const state = React.useContext(RadioContext); + const ref = React.useRef(null); + const { inputProps, isSelected, isDisabled } = useRadio(props, state, ref); + const { isFocusVisible, focusProps } = useFocusRing(); + + return ( + + + + + + + + + {children} + + + ); +} diff --git a/packages/react/scaffolds/governance-radio/governance-radio.types.tsx b/packages/react/scaffolds/governance-radio/governance-radio.types.tsx new file mode 100644 index 00000000..070c4ad3 --- /dev/null +++ b/packages/react/scaffolds/governance-radio/governance-radio.types.tsx @@ -0,0 +1,5 @@ +import { AriaRadioProps } from "react-aria"; + +export interface GovernanceRadioProps extends AriaRadioProps { + children?: React.ReactNode; +} diff --git a/packages/react/scaffolds/governance-radio/index.ts b/packages/react/scaffolds/governance-radio/index.ts new file mode 100644 index 00000000..0c48ab8c --- /dev/null +++ b/packages/react/scaffolds/governance-radio/index.ts @@ -0,0 +1 @@ +export { default } from "./governance-radio"; diff --git a/packages/react/scaffolds/number-field/number-field.tsx b/packages/react/scaffolds/number-field/number-field.tsx index 064cea7d..29ff5949 100644 --- a/packages/react/scaffolds/number-field/number-field.tsx +++ b/packages/react/scaffolds/number-field/number-field.tsx @@ -1,7 +1,6 @@ import React, { useState, useId, forwardRef } from "react"; -import { useNumberFieldState } from "@react-stately/numberfield"; -import { useNumberField } from "@react-aria/numberfield"; -import { useLocale } from "@react-aria/i18n"; +import { useNumberFieldState } from "react-stately"; +import { useNumberField, useLocale } from "react-aria"; import { mergeRefs } from "@react-aria/utils"; import clx from "clsx"; diff --git a/packages/react/scaffolds/number-field/number-field.types.tsx b/packages/react/scaffolds/number-field/number-field.types.tsx index 4c160e49..2618dca8 100644 --- a/packages/react/scaffolds/number-field/number-field.types.tsx +++ b/packages/react/scaffolds/number-field/number-field.types.tsx @@ -1,6 +1,6 @@ import { ReactNode } from "react"; import type { Sprinkles } from "@/styles/rainbow-sprinkles.css"; -import type { AriaNumberFieldProps } from "@react-aria/numberfield"; +import type { AriaNumberFieldProps } from "react-aria"; export interface NumberInputProps { // ==== Core logic props diff --git a/packages/react/stories/Link.stories.tsx b/packages/react/stories/Link.stories.tsx index 766dfbdf..9908391f 100644 --- a/packages/react/stories/Link.stories.tsx +++ b/packages/react/stories/Link.stories.tsx @@ -17,6 +17,12 @@ export const Primary: Story = { args: { href: "google.com", target: "_blank", + background: true, + underline: true, + color: { + base: "$textSecondary", + hover: "$linkHover", + }, children: "Go to google", }, }; diff --git a/packages/react/stories/governance/GovernanceCheckbox.stories.tsx b/packages/react/stories/governance/GovernanceCheckbox.stories.tsx new file mode 100644 index 00000000..200a091b --- /dev/null +++ b/packages/react/stories/governance/GovernanceCheckbox.stories.tsx @@ -0,0 +1,30 @@ +import React, { useState } from "react"; +import type { Meta, StoryObj } from "@storybook/react"; + +import Stack from "../../src/ui/stack"; +import GovernanceCheckbox from "../../src/ui/governance-checkbox"; + +const meta: Meta = { + component: GovernanceCheckbox, + title: "Governance/GovernanceCheckbox", + tags: ["autodocs"], + argTypes: {}, +}; + +export default meta; + +type Story = StoryObj; + +export const Primary: Story = { + args: {}, + render: (props) => { + const [isOpen, setIsOpen] = useState(false); + return ( + + Pending + Passed + Rejected + + ); + }, +}; diff --git a/packages/react/stories/governance/GovernanceProposalItem.stories.tsx b/packages/react/stories/governance/GovernanceProposalItem.stories.tsx new file mode 100644 index 00000000..caef51c1 --- /dev/null +++ b/packages/react/stories/governance/GovernanceProposalItem.stories.tsx @@ -0,0 +1,63 @@ +import React, { useState } from "react"; +import type { Meta, StoryObj } from "@storybook/react"; + +import Box from "../../src/ui/box"; +import GovernanceProposalItem from "../../src/ui/governance/governance-proposal-item"; + +const meta: Meta = { + component: GovernanceProposalItem, + title: "Governance/GovernanceProposalItem", + tags: ["autodocs"], + argTypes: {}, +}; + +export default meta; + +type Story = StoryObj; + +export const Primary: Story = { + args: {}, + render: (props) => { + const [isOpen, setIsOpen] = useState(false); + return ( + + + + + + ); + }, +}; diff --git a/packages/react/stories/governance/GovernanceProposalList.stories.tsx b/packages/react/stories/governance/GovernanceProposalList.stories.tsx new file mode 100644 index 00000000..d877ae56 --- /dev/null +++ b/packages/react/stories/governance/GovernanceProposalList.stories.tsx @@ -0,0 +1,89 @@ +import React, { useState } from "react"; +import type { Meta, StoryObj } from "@storybook/react"; + +import Box from "../../src/ui/box"; +import GovernanceProposalList from "../../src/ui/governance/governance-proposal-list"; +import type { GovernanceProposalList as GovernanceProposalListData } from "../../src/ui/governance/governance.types"; + +const meta: Meta = { + component: GovernanceProposalList, + title: "Governance/GovernanceProposalList", + tags: ["autodocs"], + argTypes: {}, +}; + +export default meta; + +type Story = StoryObj; + +const proposalListData: GovernanceProposalListData = [ + { + title: "May", + proposals: [ + { + status: "passed", + title: "Signaling Proposal: Ion 🧿 DAO & Treasury", + id: "#00121", + endTime: "2022-01-11 10:48", + votes: { + yes: 650, + no: 200, + abstain: 400, + noWithVeto: 34, + }, + }, + ], + }, + { + title: "June", + proposals: [ + { + status: "pending", + title: "Signaling Proposal: Ion 🧿 DAO & Treasury", + id: "#00120", + endTime: "2022-01-11 10:48", + votes: { + yes: 500, + no: 678, + abstain: 45, + noWithVeto: 34, + }, + }, + { + status: "passed", + title: "Signaling Proposal: Ion 🧿 DAO & Treasury", + id: "#00121", + endTime: "2022-01-11 10:48", + votes: { + yes: 650, + no: 200, + abstain: 400, + noWithVeto: 34, + }, + }, + { + status: "rejected", + title: "Signaling Proposal: Ion 🧿 DAO & Treasury", + id: "#00122", + endTime: "2022-01-11 10:48", + votes: { + yes: 245, + no: 777, + abstain: 100, + noWithVeto: 560, + }, + }, + ], + }, +]; + +export const Primary: Story = { + args: {}, + render: (props) => { + return ( + + + + ); + }, +}; diff --git a/packages/react/stories/governance/GovernanceProposals.stories.tsx b/packages/react/stories/governance/GovernanceProposals.stories.tsx new file mode 100644 index 00000000..2cc460d4 --- /dev/null +++ b/packages/react/stories/governance/GovernanceProposals.stories.tsx @@ -0,0 +1,126 @@ +import React from "react"; +import type { Meta, StoryObj } from "@storybook/react"; + +import Box from "../../src/ui/box"; +import Tabs from "../../src/ui/tabs"; +import Text from "../../src/ui/text"; +import GovernanceProposalList from "../../src/ui/governance/governance-proposal-list"; +import type { GovernanceProposalList as GovernanceProposalListData } from "../../src/ui/governance/governance.types"; + +const meta: Meta = { + component: GovernanceProposalList, + title: "Governance/GovernanceProposals", + tags: ["autodocs"], + argTypes: {}, +}; + +export default meta; + +type Story = StoryObj; + +const proposalListData: GovernanceProposalListData = [ + { + title: "May", + proposals: [ + { + status: "passed", + title: "Signaling Proposal: Ion 🧿 DAO & Treasury", + id: "#00121", + endTime: "2022-01-11 10:48", + votes: { + yes: 650, + no: 200, + abstain: 400, + noWithVeto: 34, + }, + }, + ], + }, + { + title: "June", + proposals: [ + { + status: "pending", + title: "Signaling Proposal: Ion 🧿 DAO & Treasury", + id: "#00120", + endTime: "2022-01-11 10:48", + votes: { + yes: 500, + no: 678, + abstain: 45, + noWithVeto: 34, + }, + }, + { + status: "passed", + title: "Signaling Proposal: Ion 🧿 DAO & Treasury", + id: "#00121", + endTime: "2022-01-11 10:48", + votes: { + yes: 650, + no: 200, + abstain: 400, + noWithVeto: 34, + }, + }, + { + status: "rejected", + title: "Signaling Proposal: Ion 🧿 DAO & Treasury", + id: "#00122", + endTime: "2022-01-11 10:48", + votes: { + yes: 245, + no: 777, + abstain: 100, + noWithVeto: 560, + }, + }, + ], + }, +]; + +export const Primary: Story = { + args: {}, + render: (props) => { + const proposalsRender = React.useMemo( + () => , + [proposalListData] + ); + + return ( + + + Proposals + + + proposalsRender, + }, + { + label: "Pending", + Component: () => proposalsRender, + }, + { + label: "Passed", + Component: () => proposalsRender, + }, + { + label: "Rejected", + Component: () => proposalsRender, + }, + ]} + /> + + ); + }, +}; diff --git a/packages/react/stories/governance/GovernanceRadio.stories.tsx b/packages/react/stories/governance/GovernanceRadio.stories.tsx new file mode 100644 index 00000000..2bf82f32 --- /dev/null +++ b/packages/react/stories/governance/GovernanceRadio.stories.tsx @@ -0,0 +1,43 @@ +import React, { useState } from "react"; +import type { Meta, StoryObj } from "@storybook/react"; + +import Stack from "../../src/ui/stack"; +import GovernanceRadio from "../../src/ui/governance-radio"; +import GovernanceRadioGroup from "../../src/ui/governance-radio-group"; + +const meta: Meta = { + component: GovernanceRadio, + title: "Governance/GovernanceRadio", + tags: ["autodocs"], + argTypes: {}, +}; + +export default meta; + +type Story = StoryObj; + +export const Primary: Story = { + args: {}, + render: (props) => { + const [value, setValue] = useState(undefined); + + return ( + { + console.log("selected", selected); + setValue(selected); + }} + > + + Yes + No + No with veto + Abstain + + + ); + }, +}; diff --git a/packages/react/stories/governance/GovernanceResultCard.stories.tsx b/packages/react/stories/governance/GovernanceResultCard.stories.tsx new file mode 100644 index 00000000..21a65057 --- /dev/null +++ b/packages/react/stories/governance/GovernanceResultCard.stories.tsx @@ -0,0 +1,41 @@ +import React from "react"; +import type { Meta, StoryObj } from "@storybook/react"; + +import Box from "../../src/ui/box"; +import GovernanceResultCard from "../../src/ui/governance/governance-result-card"; + +const meta: Meta = { + component: GovernanceResultCard, + title: "Governance/GovernanceResultCard", + tags: ["autodocs"], + argTypes: {}, +}; + +export default meta; + +type Story = StoryObj; + +export const Primary: Story = { + args: {}, + render: (props) => { + return ( + + + + + + ); + }, +}; diff --git a/packages/react/stories/governance/GovernanceVoteBreakdown.stories.tsx b/packages/react/stories/governance/GovernanceVoteBreakdown.stories.tsx new file mode 100644 index 00000000..118e4b81 --- /dev/null +++ b/packages/react/stories/governance/GovernanceVoteBreakdown.stories.tsx @@ -0,0 +1,50 @@ +import React from "react"; +import type { Meta, StoryObj } from "@storybook/react"; + +import Box from "../../src/ui/box"; +import GovernanceVoteBreakdown from "../../src/ui/governance/governance-vote-breakdown"; + +const meta: Meta = { + component: GovernanceVoteBreakdown, + title: "Governance/GovernanceVoteBreakdown", + tags: ["autodocs"], + argTypes: {}, +}; + +export default meta; + +type Story = StoryObj; + +export const Primary: Story = { + args: {}, + render: (props) => { + return ( + + + + + + + ); + }, +}; diff --git a/packages/react/stories/governance/GovernanceVoteForm.stories.tsx b/packages/react/stories/governance/GovernanceVoteForm.stories.tsx new file mode 100644 index 00000000..28c62d9b --- /dev/null +++ b/packages/react/stories/governance/GovernanceVoteForm.stories.tsx @@ -0,0 +1,58 @@ +import React, { useState } from "react"; +import type { Meta, StoryObj } from "@storybook/react"; + +import Box from "../../src/ui/box"; +import GovernanceVoteForm from "../../src/ui/governance/governance-vote-form"; + +const meta: Meta = { + component: GovernanceVoteForm, + title: "Governance/GovernanceVoteForm", + tags: ["autodocs"], + argTypes: {}, +}; + +export default meta; + +type Story = StoryObj; + +export const Primary: Story = { + args: {}, + render: (props) => { + return ( + + { + console.log("you just voted: ", vote); + }} + /> + + ); + }, +}; diff --git a/packages/react/stories/governance/GovernanceVoteProposalModal.stories.tsx b/packages/react/stories/governance/GovernanceVoteProposalModal.stories.tsx new file mode 100644 index 00000000..aaa75787 --- /dev/null +++ b/packages/react/stories/governance/GovernanceVoteProposalModal.stories.tsx @@ -0,0 +1,243 @@ +import React, { useState } from "react"; +import type { Meta, StoryObj } from "@storybook/react"; + +import BasicModal from "../../src/ui/basic-modal"; +import Button from "../../src/ui/button"; +import Text from "../../src/ui/text"; +import Box from "../../src/ui/box"; +import Stack from "../../src/ui/stack"; +import Icon from "../../src/ui/icon"; +import Link from "../../src/ui/link"; +import GovernanceVoteForm from "../../src/ui/governance/governance-vote-form"; +import GovernanceVoteBreakdown from "../../src/ui/governance/governance-vote-breakdown"; +import GovernanceResultCard from "../../src/ui/governance/governance-result-card"; + +const meta: Meta = { + component: BasicModal, + title: "Governance/GovernanceVoteProposalModal", + tags: ["autodocs"], + argTypes: {}, +}; + +export default meta; + +type Story = StoryObj; + +export const Primary: Story = { + args: {}, + render: (props) => { + const [isOpen, setIsOpen] = useState(false); + return ( +
+ ( + + )} + isOpen={isOpen} + title="#120 Signaling Proposal: Ion 🧿 DAO & Treasury" + onClose={() => setIsOpen(false)} + > + + {/* Form */} + + { + console.log("you just voted: ", vote); + }} + /> + + + {/* Details title */} + + + Vote Details + + + + Minimum of staked + + 51307581.582378 OSMO (20%) + + need to vote for this proposal to pass. + + + + {/* Details */} + + + + + + + + + + + + + + {/* Description */} + + + Description + + + + + Commonwealth Discussion Thread: + + + + https://gov.osmosis.zone/discussion/5126... + + + + + + At the moment, an ION Dao does not yet exist, as there is no + coder for this mechanism... + + + + + + + + +
+ ); + }, +}; diff --git a/packages/react/tsconfig.json b/packages/react/tsconfig.json index ba1d938d..1fc83840 100644 --- a/packages/react/tsconfig.json +++ b/packages/react/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "jsx": "react", + "jsx": "react-jsx", "lib": ["ESNext", "DOM", "DOM.Iterable"], "target": "ESNext", "module": "ESNext", diff --git a/src/index.ts b/src/index.ts index 2c31e973..3b8cb766 100644 --- a/src/index.ts +++ b/src/index.ts @@ -214,4 +214,10 @@ export { default as ChangeChainListItem } from "./ui/change-chain-list-item"; export type { ChangeChainListItemProps } from "./ui/change-chain-list-item/change-chain-list-item.types"; export { default as ChangeChainInput } from "./ui/change-chain-input"; export type { ChangeChainInputProps } from "./ui/change-chain-input/change-chain-input.types"; + +// Governance +export { default as GovernanceProposalItem } from "./ui/governance/governance-proposal-item.lite"; +export { default as GovernanceVoteBreakdown } from "./ui/governance/governance-vote-breakdown.lite"; +export { default as GovernanceResultCard } from "./ui/governance/governance-result-card.lite"; + // End Components diff --git a/src/styles/rainbow-sprinkles.css.ts b/src/styles/rainbow-sprinkles.css.ts index c5919a64..6d6a1d01 100644 --- a/src/styles/rainbow-sprinkles.css.ts +++ b/src/styles/rainbow-sprinkles.css.ts @@ -56,6 +56,10 @@ const responsiveProperties = defineProperties({ maxWidth: true, maxHeight: true, borderRadius: themeVars.radii, + borderTopLeftRadius: true, + borderBottomLeftRadius: true, + borderTopRightRadius: true, + borderBottomRightRadius: true, fontFamily: true, fontSize: themeVars.fontSize, lineHeight: themeVars.lineHeight, diff --git a/src/styles/tokens/colors.ts b/src/styles/tokens/colors.ts index 647f89f9..d497e8cf 100644 --- a/src/styles/tokens/colors.ts +++ b/src/styles/tokens/colors.ts @@ -43,7 +43,7 @@ export const colors = { red300: "#FC8181", red400: "#F56565", red500: "#E53E3E", - red600: "#C53030", + red600: "#C73636", red700: "#9B2C2C", red800: "#822727", red900: "#63171B", @@ -69,7 +69,7 @@ export const colors = { yellow900: "#5F370E", green50: "#F0FFF4", green100: "#C6F6D5", - green200: "#9AE6B4", + green200: "#36BB35", green300: "#68D391", green400: "#48BB78", green500: "#38A169", diff --git a/src/ui/governance/governance-proposal-item.lite.tsx b/src/ui/governance/governance-proposal-item.lite.tsx new file mode 100644 index 00000000..9548072b --- /dev/null +++ b/src/ui/governance/governance-proposal-item.lite.tsx @@ -0,0 +1,315 @@ +import { + Show, + useDefaultProps, + useStore, + useMetadata, +} from "@builder.io/mitosis"; +import Box from "../box"; +import Text from "../text"; +import Stack from "../stack"; +import Divider from "../divider"; +import Tooltip from "../tooltip"; +import type { + GovernanceProposalItemProps, + GovernanceProposalStatus, + GovernanceVoteType, +} from "./governance.types"; + +useMetadata({ + scaffolds: ["governance-checkbox"], + rsc: { + componentType: "client", + }, +}); + +useDefaultProps>({ + endTimeLabel: "Voting end time", +}); + +export default function GovernanceProposalItem( + props: GovernanceProposalItemProps +) { + const state = useStore({ + getStatusLabel: () => { + if (typeof props.statusLabel === "string") { + return props.statusLabel; + } + const defaultLabels: Record = { + pending: "Pending", + passed: "Passed", + rejected: "Rejected", + }; + + return defaultLabels[props.status]; + }, + getWidthFor: (voteKind: GovernanceVoteType) => { + const total = + props.votes.abstain + + props.votes.no + + props.votes.noWithVeto + + props.votes.yes; + return `${(props.votes[voteKind] / total) * 100}%`; + }, + }); + + return ( + + + {/* Desktop Checkbox */} + + + {/* @ts-expect-error */} + + {state.getStatusLabel()} + {/* @ts-expect-error */} + + + + + {/* @ts-expect-error */} + + {state.getStatusLabel()} + {/* @ts-expect-error */} + + + + + {/* @ts-expect-error */} + + {state.getStatusLabel()} + {/* @ts-expect-error */} + + + + + {/* Mid info section */} + + + {/* Mobile Checkbox */} + + + {/* @ts-expect-error */} + + {state.getStatusLabel()} + {/* @ts-expect-error */} + + + + + {/* @ts-expect-error */} + + {state.getStatusLabel()} + {/* @ts-expect-error */} + + + + + {/* @ts-expect-error */} + + {state.getStatusLabel()} + {/* @ts-expect-error */} + + + + + {/* Mobile voting end time */} + + + {props.endTime} + + + + + {/* Vertical Divider */} + + + + + {/* Titles */} + + + {props.title} + + + {props.id} + + + {/* Vote structure meter */} + + + + + + + + + + + + + + + + + + + + + + + + + + + + {/* Desktop voting end time */} + + + {props.endTimeLabel} + + + {props.endTime} + + + + + ); +} diff --git a/src/ui/governance/governance-proposal-list.lite.tsx b/src/ui/governance/governance-proposal-list.lite.tsx new file mode 100644 index 00000000..601f2e4e --- /dev/null +++ b/src/ui/governance/governance-proposal-list.lite.tsx @@ -0,0 +1,60 @@ +import { For, useMetadata } from "@builder.io/mitosis"; +import Box from "../box"; +import Text from "../text"; +import GovernanceProposalItem from "./governance-proposal-item.lite"; +import type { GovernanceProposalListProps } from "./governance.types"; + +useMetadata({ + rsc: { + componentType: "client", + }, +}); + +export default function GovernanceProposalList( + props: GovernanceProposalListProps +) { + return ( + + {(proposalItem) => ( + + + {proposalItem.title} + + + {(proposal) => ( + + )} + + + )} + + ); +} diff --git a/src/ui/governance/governance-result-card.lite.tsx b/src/ui/governance/governance-result-card.lite.tsx new file mode 100644 index 00000000..b93717c0 --- /dev/null +++ b/src/ui/governance/governance-result-card.lite.tsx @@ -0,0 +1,130 @@ +import { Show, useStore, useMetadata } from "@builder.io/mitosis"; +import Box from "../box"; +import Stack from "../stack"; +import Text from "../text"; +import type { Sprinkles } from "../../styles/rainbow-sprinkles.css"; +import type { GovernanceResultCardProps } from "./governance.types"; + +useMetadata({ + rsc: { + componentType: "client", + }, +}); + +export default function GovernanceResultCard(props: GovernanceResultCardProps) { + const state = useStore({ + getColors() { + const textColors: Record< + GovernanceResultCardProps["resultType"], + Sprinkles["color"] + > = { + passed: "$green200", + rejected: "#C73636", + info: "$text", + }; + + const bgColors: Record< + GovernanceResultCardProps["resultType"], + Sprinkles["color"] + > = { + passed: "$rewardBg", + rejected: "$red100", + info: "$cardBg", + }; + + return { + textColor: textColors[props.resultType], + bgColor: bgColors[props.resultType], + }; + }, + }); + + return ( + + + + + + + + + + + + + + + + + + + + + {props.label} + + + + {`${props.votePercentage}%`} + + + + ); +} diff --git a/src/ui/governance/governance-vote-breakdown.lite.tsx b/src/ui/governance/governance-vote-breakdown.lite.tsx new file mode 100644 index 00000000..10935b48 --- /dev/null +++ b/src/ui/governance/governance-vote-breakdown.lite.tsx @@ -0,0 +1,80 @@ +import { useStore, useMetadata } from "@builder.io/mitosis"; +import Box from "../box"; +import Stack from "../stack"; +import Text from "../text"; +import type { Sprinkles } from "../../styles/rainbow-sprinkles.css"; +import type { + GovernanceVoteBreakdownProps, + GovernanceVoteType, +} from "./governance.types"; + +useMetadata({ + rsc: { + componentType: "client", + }, +}); + +export default function GovernanceVoteBreakdown( + props: GovernanceVoteBreakdownProps +) { + const state = useStore({ + getMeterColor() { + const COLORS: Record = { + yes: "$green200", + no: "#FE4A4A", + abstain: "#486A94", + noWithVeto: "#8F2828", + }; + return COLORS[props.voteType]; + }, + }); + return ( + + {/* Titles */} + + + {props.title} + + + {`${props.votePercentage}%`} + + + + {/* Meter */} + + + + + {/* Description */} + + {props.description} + + + ); +} diff --git a/src/ui/governance/governance-vote-form.lite.tsx b/src/ui/governance/governance-vote-form.lite.tsx new file mode 100644 index 00000000..da1f6d6f --- /dev/null +++ b/src/ui/governance/governance-vote-form.lite.tsx @@ -0,0 +1,170 @@ +import { For, useStore, useMetadata } from "@builder.io/mitosis"; +import noop from "lodash/noop"; +import Box from "../box"; +import Text from "../text"; +import Stack from "../stack"; +import Button from "../button"; +import { fullWidth } from "../shared/shared.css"; +import type { + GovernanceVoteFormProps, + GovernanceVoteType, +} from "./governance.types"; + +useMetadata({ + scaffolds: ["governance-radio", "governance-radio-group"], + rsc: { + componentType: "client", + }, +}); + +export default function GovernanceVoteForm(props: GovernanceVoteFormProps) { + const state = useStore<{ + showRadios: boolean; + selectedVote: GovernanceVoteType | undefined; + getButtonLabel: () => string; + getIsDisabled: () => boolean; + shouldShowRadios: () => boolean; + handleShowRadios: () => void; + handleConfirm: () => void; + handleVoteChange: (vote: GovernanceVoteType) => void; + }>({ + showRadios: false, + selectedVote: undefined, + shouldShowRadios() { + if (props.status === "expired" || props.status === "voted") { + return true; + } + return state.showRadios; + }, + getIsDisabled() { + return ( + props.isDisabled || + props.status === "expired" || + props.status === "voted" + ); + }, + getButtonLabel() { + if (props.status === "pending" && state.showRadios) { + return props.confirmButtonLabels.needsConfirm; + } + return props.confirmButtonLabels[props.status]; + }, + handleShowRadios() { + state.showRadios = true; + }, + handleConfirm() { + if (!state.selectedVote) return; + props.onConfirmVote(state.selectedVote); + }, + handleVoteChange(vote: GovernanceVoteType) { + state.selectedVote = vote; + }, + }); + + return ( + + {/* Time items */} + + + {(timepoint) => ( + + + {timepoint.label} + + + {timepoint.timestamp} + + + )} + + + + {/* Radios */} + + {/* @ts-expect-error */} + + state.handleVoteChange(selected) + } + > + + {/* @ts-expect-error */} + Yes + {/* @ts-expect-error */} + No + {/* @ts-expect-error */} + + No with veto + {/* @ts-expect-error */} + + {/* @ts-expect-error */} + + Abstain + {/* @ts-expect-error */} + + + {/* @ts-expect-error */} + + + + {/* Submit button */} + + + ); +} diff --git a/src/ui/governance/governance.types.tsx b/src/ui/governance/governance.types.tsx new file mode 100644 index 00000000..6b482bdb --- /dev/null +++ b/src/ui/governance/governance.types.tsx @@ -0,0 +1,71 @@ +import type { Sprinkles } from "../../styles/rainbow-sprinkles.css"; +import type { BaseComponentProps } from "../../models/components.model"; + +// ==== Data +export type GovernanceProposalStatus = "pending" | "passed" | "rejected"; +export type GovernanceVoteType = "yes" | "abstain" | "no" | "noWithVeto"; +export type GovernanceVoteStructure = Record; +export type GovernanceVoteFormStatus = "pending" | "voted" | "expired"; + +export type GovernanceProposalItem = { + status: GovernanceProposalStatus; + statusLabel?: string; + title: string | BaseComponentProps["children"]; + id: string; + endTimeLabel?: string; + endTime: string; + votes: GovernanceVoteStructure; +}; + +export type GovernanceProposalListItem = { + title: string | BaseComponentProps["children"]; + proposals: Array; +}; + +export type GovernanceProposalList = Array; + +// ==== Component props +export interface GovernanceProposalItemProps + extends BaseComponentProps, + GovernanceProposalItem { + attributes?: Sprinkles; +} + +export interface GovernanceProposalListProps extends BaseComponentProps { + list: GovernanceProposalList; + attributes?: Sprinkles; +} + +export interface GovernanceVoteFormProps extends BaseComponentProps { + status: GovernanceVoteFormStatus; + defaultVote?: GovernanceVoteType; + timepoints: Array<{ + label: string; + timestamp: string; + }>; + radioLabels: Record; + isDisabled?: boolean; + confirmButtonLabels: { + pending: string; + needsConfirm: string; + expired: string; + voted: string; + }; + onConfirmVote: (vote: GovernanceVoteType) => void; + attributes?: Sprinkles; +} + +export interface GovernanceVoteBreakdownProps extends BaseComponentProps { + voteType: GovernanceVoteType; + title?: string; + description?: string; + votePercentage: number; + attributes?: Sprinkles; +} + +export interface GovernanceResultCardProps extends BaseComponentProps { + resultType: "passed" | "rejected" | "info"; + label: string; + votePercentage: number; + attributes?: Sprinkles; +} diff --git a/src/ui/governance/index.ts b/src/ui/governance/index.ts new file mode 100644 index 00000000..e69de29b diff --git a/src/ui/link/link.lite.tsx b/src/ui/link/link.lite.tsx index 1728ff9f..44b6833f 100644 --- a/src/ui/link/link.lite.tsx +++ b/src/ui/link/link.lite.tsx @@ -22,10 +22,17 @@ export default function Link(props: LinkProps) { className={clx(props.className)} fontFamily="$body" fontSize="$sm" - color={{ - base: "$link", - hover: "$link", - }} + backgroundColor={props.background ? "$cardBg" : undefined} + p={props.background ? "$2" : undefined} + borderRadius={props.background ? "$md" : undefined} + color={ + props.color + ? props.color + : { + base: "$link", + hover: "$link", + } + } textDecoration={{ base: "none", hover: props.underline ? "underline" : "none", diff --git a/src/ui/link/link.types.tsx b/src/ui/link/link.types.tsx index a5b66231..c8d280e6 100644 --- a/src/ui/link/link.types.tsx +++ b/src/ui/link/link.types.tsx @@ -8,6 +8,8 @@ export interface LinkProps extends Omit { target?: string; rel?: string; underline?: boolean; + background?: boolean; + color?: Sprinkles["color"]; className?: ClassValue; children?: any; attributes?: Sprinkles; diff --git a/src/ui/shared/shared.css.ts b/src/ui/shared/shared.css.ts index 90366ae3..bdf1cd3f 100644 --- a/src/ui/shared/shared.css.ts +++ b/src/ui/shared/shared.css.ts @@ -38,6 +38,10 @@ export const fullWidthHeight = style({ height: "100%", }); +export const fullWidth = style({ + width: "100%", +}); + export const scrollBarThumbBgVar = createVar(); const scrollBarBase = style({ diff --git a/src/ui/tooltip/tooltip.css.ts b/src/ui/tooltip/tooltip.css.ts index 1c79cb35..84caf184 100644 --- a/src/ui/tooltip/tooltip.css.ts +++ b/src/ui/tooltip/tooltip.css.ts @@ -1,4 +1,4 @@ -import { style, createVar, ComplexStyleRule } from "@vanilla-extract/css"; +import { style } from "@vanilla-extract/css"; export const tooltip = style({ position: "relative", diff --git a/src/ui/tooltip/tooltip.lite.tsx b/src/ui/tooltip/tooltip.lite.tsx index e342d98a..34785be7 100644 --- a/src/ui/tooltip/tooltip.lite.tsx +++ b/src/ui/tooltip/tooltip.lite.tsx @@ -16,7 +16,7 @@ import { } from "@floating-ui/dom"; import Box from "../box"; import Text from "../text"; - +import { standardTransitionProperties } from "../shared/shared.css"; import * as styles from "./tooltip.css"; import type { TooltipProps } from "./tooltip.types"; @@ -66,7 +66,7 @@ export default function Tooltip(props: TooltipProps) { Object.assign(floatingTargetRef.style, { left: `${x}px`, top: `${y}px`, - visibility: state.hovered ? "visible" : "hidden", + opacity: state.hovered ? "1" : "0", }); if (res.middlewareData.arrow) { @@ -80,7 +80,7 @@ export default function Tooltip(props: TooltipProps) { left: "right", }[placement.split("-")[0]]; Object.assign(arrowRef.style, { - visibility: state.hovered ? "visible" : "hidden", + opacity: state.hovered ? "1" : "0", left: arrowX != null ? `${arrowX}px` : "", top: arrowY != null ? `${arrowY}px` : "", right: "", @@ -115,6 +115,7 @@ export default function Tooltip(props: TooltipProps) { left="0" top="0" zIndex="1" + className={standardTransitionProperties} > {props.title} diff --git a/yarn.lock b/yarn.lock index 144ff0d3..118007cf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4994,6 +4994,136 @@ dependencies: "@babel/runtime" "^7.13.10" +"@react-aria/breadcrumbs@^3.5.7": + version "3.5.7" + resolved "https://registry.yarnpkg.com/@react-aria/breadcrumbs/-/breadcrumbs-3.5.7.tgz#1d7f5e01887c62516a3e705e59a92e96d315c6c6" + integrity sha512-z+L1gNyWrjZ4Fs0Vo4AkwJicPpEGIestww6r8CiTlt07eo0vCReNmB3oofI6nMJOSu51yef+qqBtFyr0tqBgiw== + dependencies: + "@react-aria/i18n" "^3.8.4" + "@react-aria/interactions" "^3.19.1" + "@react-aria/link" "^3.6.1" + "@react-aria/utils" "^3.21.1" + "@react-types/breadcrumbs" "^3.7.1" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/button@^3.8.4": + version "3.8.4" + resolved "https://registry.yarnpkg.com/@react-aria/button/-/button-3.8.4.tgz#0f0afe45ad9dfc4f79b2755983a503e2de74f7f5" + integrity sha512-rTGZk5zu+lQNjfij2fwnw2PAgBgzNLi3zbMw1FL5/XwVx+lEH2toeqKLoqULtd7nSxskYuQz56VhmjUok6Qkmg== + dependencies: + "@react-aria/focus" "^3.14.3" + "@react-aria/interactions" "^3.19.1" + "@react-aria/utils" "^3.21.1" + "@react-stately/toggle" "^3.6.3" + "@react-types/button" "^3.9.0" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/calendar@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@react-aria/calendar/-/calendar-3.5.2.tgz#a00b2337c0f6c8840aaa9bd5410e95452c5a5e2d" + integrity sha512-HiyUiY0C2aoHa2252Es/Rj1fh5/tewLf6/3gUr42zKl7lq4IqG9cyW7LVRwA47ow1VGLPZSSqTcVakB7jgr7Zw== + dependencies: + "@internationalized/date" "^3.5.0" + "@react-aria/i18n" "^3.8.4" + "@react-aria/interactions" "^3.19.1" + "@react-aria/live-announcer" "^3.3.1" + "@react-aria/utils" "^3.21.1" + "@react-stately/calendar" "^3.4.1" + "@react-types/button" "^3.9.0" + "@react-types/calendar" "^3.4.1" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/checkbox@^3.11.2": + version "3.11.2" + resolved "https://registry.yarnpkg.com/@react-aria/checkbox/-/checkbox-3.11.2.tgz#9e1045edf282298cb8337fd3fd1d953c6cf5f667" + integrity sha512-8cgXxpc7IMJ9buw+Rbhr1xc66zNp2ePuFpjw3uWyH7S3IJEd2f5kXUDNWLXQRADJso95UlajRlJQiG4QIObEnA== + dependencies: + "@react-aria/label" "^3.7.2" + "@react-aria/toggle" "^3.8.2" + "@react-aria/utils" "^3.21.1" + "@react-stately/checkbox" "^3.5.1" + "@react-stately/toggle" "^3.6.3" + "@react-types/checkbox" "^3.5.2" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/combobox@^3.7.1": + version "3.7.1" + resolved "https://registry.yarnpkg.com/@react-aria/combobox/-/combobox-3.7.1.tgz#8fc26008b54bd2d2c6eac6c126c1b2bba5a5e774" + integrity sha512-37no1b3sRI9mDh3MpMPWNt0Q8QdoRipnx12Vx5Uvtb0PA23hwOWDquICzs157SoJpXP49/+eH6LiA0uTsqwVuQ== + dependencies: + "@react-aria/i18n" "^3.8.4" + "@react-aria/interactions" "^3.19.1" + "@react-aria/listbox" "^3.11.1" + "@react-aria/live-announcer" "^3.3.1" + "@react-aria/menu" "^3.11.1" + "@react-aria/overlays" "^3.18.1" + "@react-aria/selection" "^3.17.1" + "@react-aria/textfield" "^3.12.2" + "@react-aria/utils" "^3.21.1" + "@react-stately/collections" "^3.10.2" + "@react-stately/combobox" "^3.7.1" + "@react-stately/layout" "^3.13.3" + "@react-types/button" "^3.9.0" + "@react-types/combobox" "^3.8.1" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/datepicker@^3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@react-aria/datepicker/-/datepicker-3.8.1.tgz#7ad2ff17799b7601edfc2eef7d2f35086f182897" + integrity sha512-q2Z5DYDkic3RWzvg3oysrA2VEebuxtEfqj8PSlNFndZh/pNrA+Tvkaatdk/BoxlsZsfeLof+/tBq6yWeqTDguQ== + dependencies: + "@internationalized/date" "^3.5.0" + "@internationalized/number" "^3.3.0" + "@internationalized/string" "^3.1.1" + "@react-aria/focus" "^3.14.3" + "@react-aria/i18n" "^3.8.4" + "@react-aria/interactions" "^3.19.1" + "@react-aria/label" "^3.7.2" + "@react-aria/spinbutton" "^3.5.4" + "@react-aria/utils" "^3.21.1" + "@react-stately/datepicker" "^3.8.0" + "@react-types/button" "^3.9.0" + "@react-types/calendar" "^3.4.1" + "@react-types/datepicker" "^3.6.1" + "@react-types/dialog" "^3.5.6" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/dialog@^3.5.7": + version "3.5.7" + resolved "https://registry.yarnpkg.com/@react-aria/dialog/-/dialog-3.5.7.tgz#e57eca98e95114d618d583f5cc5400bdcf1190b0" + integrity sha512-IKeBaIQBl+WYkhytyE0eISW4ApOEvCJZuw9Xq7gjlKFBlF4X6ffo8souv12KpaznK6/fp1vtEXMmy1AfejiT8Q== + dependencies: + "@react-aria/focus" "^3.14.3" + "@react-aria/overlays" "^3.18.1" + "@react-aria/utils" "^3.21.1" + "@react-stately/overlays" "^3.6.3" + "@react-types/dialog" "^3.5.6" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/dnd@^3.4.3": + version "3.4.3" + resolved "https://registry.yarnpkg.com/@react-aria/dnd/-/dnd-3.4.3.tgz#f13e438f6613f79988ffa5d6a79c5705c26428d4" + integrity sha512-9yiYTQvfT5EUmSsGY3vZlK1xs+xHOFDw5I+c+HyvwqiSu0AIZ4yXqpJVwbarKeZlTOQGCWtb/SOHEdMXfaXKgA== + dependencies: + "@internationalized/string" "^3.1.1" + "@react-aria/i18n" "^3.8.4" + "@react-aria/interactions" "^3.19.1" + "@react-aria/live-announcer" "^3.3.1" + "@react-aria/overlays" "^3.18.1" + "@react-aria/utils" "^3.21.1" + "@react-aria/visually-hidden" "^3.8.6" + "@react-stately/dnd" "^3.2.5" + "@react-types/button" "^3.9.0" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + "@react-aria/focus@^3.14.3": version "3.14.3" resolved "https://registry.yarnpkg.com/@react-aria/focus/-/focus-3.14.3.tgz#5e66dbf47e1d92aebf67d52b3b08d1631591f5b6" @@ -5005,6 +5135,42 @@ "@swc/helpers" "^0.5.0" clsx "^1.1.1" +"@react-aria/grid@^3.8.4": + version "3.8.4" + resolved "https://registry.yarnpkg.com/@react-aria/grid/-/grid-3.8.4.tgz#1f19df9b413e843c82a280a40cd863650e424dfd" + integrity sha512-UxEz98Z6yxVAOq7QSZ9OmSsvMwxJDVl7dVRwUHeqWxNprk9o5GGCLjhMv948XBUEnOvLV2qgtI7UoGzSdliUJA== + dependencies: + "@react-aria/focus" "^3.14.3" + "@react-aria/i18n" "^3.8.4" + "@react-aria/interactions" "^3.19.1" + "@react-aria/live-announcer" "^3.3.1" + "@react-aria/selection" "^3.17.1" + "@react-aria/utils" "^3.21.1" + "@react-stately/collections" "^3.10.2" + "@react-stately/grid" "^3.8.2" + "@react-stately/selection" "^3.14.0" + "@react-stately/virtualizer" "^3.6.4" + "@react-types/checkbox" "^3.5.2" + "@react-types/grid" "^3.2.2" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/gridlist@^3.7.1": + version "3.7.1" + resolved "https://registry.yarnpkg.com/@react-aria/gridlist/-/gridlist-3.7.1.tgz#0be67cd3f0d30a6fe76c0f73927f403ca416a555" + integrity sha512-XnU8mTc/KrwHsGayQm0u5aoaDzdZ8DftKSSfyBEqLiCaibKFqMADb987SOY5+IVGEtYkxDRn1Reo52U0Fs4mxg== + dependencies: + "@react-aria/focus" "^3.14.3" + "@react-aria/grid" "^3.8.4" + "@react-aria/i18n" "^3.8.4" + "@react-aria/interactions" "^3.19.1" + "@react-aria/selection" "^3.17.1" + "@react-aria/utils" "^3.21.1" + "@react-stately/list" "^3.10.0" + "@react-types/checkbox" "^3.5.2" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + "@react-aria/i18n@^3.8.4": version "3.8.4" resolved "https://registry.yarnpkg.com/@react-aria/i18n/-/i18n-3.8.4.tgz#e7ecd3edcaa66ceaf9ebb1034395e021685163af" @@ -5039,6 +5205,34 @@ "@react-types/shared" "^3.21.0" "@swc/helpers" "^0.5.0" +"@react-aria/link@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@react-aria/link/-/link-3.6.1.tgz#1e196dc2e25af24a713c3bb6d653aae37b67a1a2" + integrity sha512-uVkuNHabxE11Eqeo0d1RA86EckOlfJ2Ld8uN8HnTxiLetXLZYUMBwlZfBJvT3RdwPtTG7jC3OK3BvwiyIJrtZw== + dependencies: + "@react-aria/focus" "^3.14.3" + "@react-aria/interactions" "^3.19.1" + "@react-aria/utils" "^3.21.1" + "@react-types/link" "^3.5.1" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/listbox@^3.11.1": + version "3.11.1" + resolved "https://registry.yarnpkg.com/@react-aria/listbox/-/listbox-3.11.1.tgz#2a2c88daf6a67e07ab17440f72a859913161e6e8" + integrity sha512-AkguQaIkqpP5oe++EZqYHowD7FfeQs+yY0QZVSsVPpNExcBug8/GcXvhSclcOxdh6ekZg4Wwcq7K0zhuTSOPzg== + dependencies: + "@react-aria/focus" "^3.14.3" + "@react-aria/interactions" "^3.19.1" + "@react-aria/label" "^3.7.2" + "@react-aria/selection" "^3.17.1" + "@react-aria/utils" "^3.21.1" + "@react-stately/collections" "^3.10.2" + "@react-stately/list" "^3.10.0" + "@react-types/listbox" "^3.4.5" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + "@react-aria/live-announcer@^3.3.1": version "3.3.1" resolved "https://registry.yarnpkg.com/@react-aria/live-announcer/-/live-announcer-3.3.1.tgz#bf864b8820fb02daaeefc1c972782a0174fd60b9" @@ -5046,6 +5240,35 @@ dependencies: "@swc/helpers" "^0.5.0" +"@react-aria/menu@^3.11.1": + version "3.11.1" + resolved "https://registry.yarnpkg.com/@react-aria/menu/-/menu-3.11.1.tgz#fb31c5533d5106c41ed73c14516ecbf74742976a" + integrity sha512-1eVVDrGnSExaL7e8IiaM9ndWTjT23rsnQGUK3p66R1Ojs8Q5rPBuJpP74rsmIpYiKOCr8WyZunjm5Fjv5KfA5Q== + dependencies: + "@react-aria/focus" "^3.14.3" + "@react-aria/i18n" "^3.8.4" + "@react-aria/interactions" "^3.19.1" + "@react-aria/overlays" "^3.18.1" + "@react-aria/selection" "^3.17.1" + "@react-aria/utils" "^3.21.1" + "@react-stately/collections" "^3.10.2" + "@react-stately/menu" "^3.5.6" + "@react-stately/tree" "^3.7.3" + "@react-types/button" "^3.9.0" + "@react-types/menu" "^3.9.5" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/meter@^3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@react-aria/meter/-/meter-3.4.7.tgz#33a7b2d4a0be56d147949bb36f3f32bc545c3a87" + integrity sha512-Cp4d6Pd5K6iphXMS/VZ81YxlboUi0I4WPQ+EYb4fxFBJMXVwMK6N5dnn8kwG0vpIx9m0pkFVxSZhlbrwnvW9KA== + dependencies: + "@react-aria/progress" "^3.4.7" + "@react-types/meter" "^3.3.5" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + "@react-aria/numberfield@^3.9.1": version "3.9.1" resolved "https://registry.yarnpkg.com/@react-aria/numberfield/-/numberfield-3.9.1.tgz#de8bbcfbd971c22311a85a3ab34165c53ff96519" @@ -5064,6 +5287,124 @@ "@react-types/textfield" "^3.8.1" "@swc/helpers" "^0.5.0" +"@react-aria/overlays@^3.18.1": + version "3.18.1" + resolved "https://registry.yarnpkg.com/@react-aria/overlays/-/overlays-3.18.1.tgz#b53093b2e1004feff155c81730e0101179cd6c47" + integrity sha512-C74eZbTp3OA/gXy9/+4iPrZiz7g27Zy6Q1+plbg5QTLpsFLBt2Ypy9jTTANNRZfW7a5NW/Bnw9WIRjCdtTBRXw== + dependencies: + "@react-aria/focus" "^3.14.3" + "@react-aria/i18n" "^3.8.4" + "@react-aria/interactions" "^3.19.1" + "@react-aria/ssr" "^3.8.0" + "@react-aria/utils" "^3.21.1" + "@react-aria/visually-hidden" "^3.8.6" + "@react-stately/overlays" "^3.6.3" + "@react-types/button" "^3.9.0" + "@react-types/overlays" "^3.8.3" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/progress@^3.4.7": + version "3.4.7" + resolved "https://registry.yarnpkg.com/@react-aria/progress/-/progress-3.4.7.tgz#babee1f4775b7baa1b8e2250c861c98805e3d6ee" + integrity sha512-wQ+xnzt5bBdbyQ2Qx80HxaFrPZRFKge57tmJWg4qelo7tzmgb3a22tf0Ug4C3gEz/uAv0JQWOtqLKTxjsiVP7g== + dependencies: + "@react-aria/i18n" "^3.8.4" + "@react-aria/label" "^3.7.2" + "@react-aria/utils" "^3.21.1" + "@react-types/progress" "^3.5.0" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/radio@^3.8.2": + version "3.8.2" + resolved "https://registry.yarnpkg.com/@react-aria/radio/-/radio-3.8.2.tgz#318fb1bbdc67131181c03002a5d8458405239b85" + integrity sha512-j8yyGjboTgoBEQWlnJbQVvegKiUeQEUvU/kZ7ZAdj+eAL3BqfO6FO7yt6WzK7ZIBzjGS9YbesaUa3hwIjDi3LA== + dependencies: + "@react-aria/focus" "^3.14.3" + "@react-aria/i18n" "^3.8.4" + "@react-aria/interactions" "^3.19.1" + "@react-aria/label" "^3.7.2" + "@react-aria/utils" "^3.21.1" + "@react-stately/radio" "^3.9.1" + "@react-types/radio" "^3.5.2" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/searchfield@^3.5.7": + version "3.5.7" + resolved "https://registry.yarnpkg.com/@react-aria/searchfield/-/searchfield-3.5.7.tgz#00f0be54375967f86e2b3365bd80ea602af021a3" + integrity sha512-HYjB/QH3AR2E39N6eu+P/DmJMjGweg6LrO1QUbBbKJS+LDorHTN9YNKA4N89gnDDz2IPyycjxtr71hEv0I092A== + dependencies: + "@react-aria/i18n" "^3.8.4" + "@react-aria/interactions" "^3.19.1" + "@react-aria/textfield" "^3.12.2" + "@react-aria/utils" "^3.21.1" + "@react-stately/searchfield" "^3.4.6" + "@react-types/button" "^3.9.0" + "@react-types/searchfield" "^3.5.1" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/select@^3.13.1": + version "3.13.1" + resolved "https://registry.yarnpkg.com/@react-aria/select/-/select-3.13.1.tgz#c6d7eda36b8f8887c9baf0f1dea06f30806d71fc" + integrity sha512-tWWOnMnrV1nlZzdO04Ntvf5GCJ6MPkg8Gwv6y0klDDjt12Qyc7J8INluW5A4eMUdtxCkWdaiEsXjyYBHT14ILQ== + dependencies: + "@react-aria/i18n" "^3.8.4" + "@react-aria/interactions" "^3.19.1" + "@react-aria/label" "^3.7.2" + "@react-aria/listbox" "^3.11.1" + "@react-aria/menu" "^3.11.1" + "@react-aria/selection" "^3.17.1" + "@react-aria/utils" "^3.21.1" + "@react-aria/visually-hidden" "^3.8.6" + "@react-stately/select" "^3.5.5" + "@react-types/button" "^3.9.0" + "@react-types/select" "^3.8.4" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/selection@^3.17.1": + version "3.17.1" + resolved "https://registry.yarnpkg.com/@react-aria/selection/-/selection-3.17.1.tgz#12df277b8806fd26093e16f6a2734bd1e6fbb3e2" + integrity sha512-g5gkSc/M+zJiVgWbUpKN095ea0D4fxdluH9ZcXxN4AAvcrVfEJyAnMmWOIKRebN8xR0KPfNRnKB7E6jld2tbuQ== + dependencies: + "@react-aria/focus" "^3.14.3" + "@react-aria/i18n" "^3.8.4" + "@react-aria/interactions" "^3.19.1" + "@react-aria/utils" "^3.21.1" + "@react-stately/collections" "^3.10.2" + "@react-stately/selection" "^3.14.0" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/separator@^3.3.7": + version "3.3.7" + resolved "https://registry.yarnpkg.com/@react-aria/separator/-/separator-3.3.7.tgz#258f52a64d9ec58d62d3257edac542007b54a142" + integrity sha512-5XjDhvGVmGHxxOrXLFCQhOs75v579nPTaSlrKhG/5BjTN3JrByAtuNAw8XZf3HbtiCRZnnL2bKdVbHBjmbuvDw== + dependencies: + "@react-aria/utils" "^3.21.1" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/slider@^3.7.2": + version "3.7.2" + resolved "https://registry.yarnpkg.com/@react-aria/slider/-/slider-3.7.2.tgz#e122bbf945c5ae0f72be1c8977ef9be957c4bdbf" + integrity sha512-io7yJm2jS0gK1ILE9kjClh9zylKsOLbRy748CyD66LDV0ZIjj2D/uZF6BtfKq7Zhc2OsMvDB9+e2IkrszKe8uw== + dependencies: + "@react-aria/focus" "^3.14.3" + "@react-aria/i18n" "^3.8.4" + "@react-aria/interactions" "^3.19.1" + "@react-aria/label" "^3.7.2" + "@react-aria/utils" "^3.21.1" + "@react-stately/radio" "^3.9.1" + "@react-stately/slider" "^3.4.4" + "@react-types/radio" "^3.5.2" + "@react-types/shared" "^3.21.0" + "@react-types/slider" "^3.6.2" + "@swc/helpers" "^0.5.0" + "@react-aria/spinbutton@^3.5.4": version "3.5.4" resolved "https://registry.yarnpkg.com/@react-aria/spinbutton/-/spinbutton-3.5.4.tgz#d1c317838f4ae55d6a2e6c698581e4cf0f2b0c89" @@ -5083,6 +5424,71 @@ dependencies: "@swc/helpers" "^0.5.0" +"@react-aria/switch@^3.5.6": + version "3.5.6" + resolved "https://registry.yarnpkg.com/@react-aria/switch/-/switch-3.5.6.tgz#2f3d4b4198f26848fac9876233981b232c151620" + integrity sha512-W6H/0TFa72MJY02AatUERt5HKgaDTF8lOaTjNNmS6U6U20+//uvrVCqcBof8OMe4M60mQpkp7Bd6756CJAMX1w== + dependencies: + "@react-aria/toggle" "^3.8.2" + "@react-stately/toggle" "^3.6.3" + "@react-types/switch" "^3.4.2" + "@swc/helpers" "^0.5.0" + +"@react-aria/table@^3.13.1": + version "3.13.1" + resolved "https://registry.yarnpkg.com/@react-aria/table/-/table-3.13.1.tgz#843e377b62c695b6559dd0b6ef0d7bdb8f56c358" + integrity sha512-TBtCmJsKl3rJW/dCzA0ZxPGb8mN7ndbryLh3u+iV/+GVAVsytvAenOGrq9sLHHWXwQo5RJoO1bkUudvrZrJ5/g== + dependencies: + "@react-aria/focus" "^3.14.3" + "@react-aria/grid" "^3.8.4" + "@react-aria/i18n" "^3.8.4" + "@react-aria/interactions" "^3.19.1" + "@react-aria/live-announcer" "^3.3.1" + "@react-aria/selection" "^3.17.1" + "@react-aria/utils" "^3.21.1" + "@react-aria/visually-hidden" "^3.8.6" + "@react-stately/collections" "^3.10.2" + "@react-stately/flags" "^3.0.0" + "@react-stately/table" "^3.11.2" + "@react-stately/virtualizer" "^3.6.4" + "@react-types/checkbox" "^3.5.2" + "@react-types/grid" "^3.2.2" + "@react-types/shared" "^3.21.0" + "@react-types/table" "^3.9.0" + "@swc/helpers" "^0.5.0" + +"@react-aria/tabs@^3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@react-aria/tabs/-/tabs-3.8.1.tgz#89229734a5afccbb9a8a03ac8098b1b3653a948f" + integrity sha512-3kRd5rYKclmW9lllcANq0oun2d1pZq7Onma95laYfrWtPBZ3YDVKOkujGSqdfSQAFVshWBjl2Q03yyvcRiwzbQ== + dependencies: + "@react-aria/focus" "^3.14.3" + "@react-aria/i18n" "^3.8.4" + "@react-aria/interactions" "^3.19.1" + "@react-aria/selection" "^3.17.1" + "@react-aria/utils" "^3.21.1" + "@react-stately/list" "^3.10.0" + "@react-stately/tabs" "^3.6.1" + "@react-types/shared" "^3.21.0" + "@react-types/tabs" "^3.3.3" + "@swc/helpers" "^0.5.0" + +"@react-aria/tag@^3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@react-aria/tag/-/tag-3.2.1.tgz#1fcfece4fc574f066d32aca005fbfc133ef3c247" + integrity sha512-i7Mj3IhB91sGp3NS6iNBVh25W+LR2XXpTmtn3OS4R62q3Oalw/1PKqPWqFc73Lb5IWF5rj3eh2yTf+rerWf3dw== + dependencies: + "@react-aria/gridlist" "^3.7.1" + "@react-aria/i18n" "^3.8.4" + "@react-aria/interactions" "^3.19.1" + "@react-aria/label" "^3.7.2" + "@react-aria/selection" "^3.17.1" + "@react-aria/utils" "^3.21.1" + "@react-stately/list" "^3.10.0" + "@react-types/button" "^3.9.0" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + "@react-aria/textfield@^3.12.2": version "3.12.2" resolved "https://registry.yarnpkg.com/@react-aria/textfield/-/textfield-3.12.2.tgz#e1ae5abaf72ed9c800e6a8afface3b2fd58258ca" @@ -5095,6 +5501,33 @@ "@react-types/textfield" "^3.8.1" "@swc/helpers" "^0.5.0" +"@react-aria/toggle@^3.8.2": + version "3.8.2" + resolved "https://registry.yarnpkg.com/@react-aria/toggle/-/toggle-3.8.2.tgz#4336f0d70e33347c7bcf43f3ec4e617ce449127b" + integrity sha512-0+RmlOQtyRmU+Dd9qM9od4DPpITC7jqA+n3aZn732XtCsosz5gPGbhFuLbSdWRZ42FQgqo7pZQWaDRZpJPkipA== + dependencies: + "@react-aria/focus" "^3.14.3" + "@react-aria/interactions" "^3.19.1" + "@react-aria/utils" "^3.21.1" + "@react-stately/toggle" "^3.6.3" + "@react-types/checkbox" "^3.5.2" + "@react-types/shared" "^3.21.0" + "@react-types/switch" "^3.4.2" + "@swc/helpers" "^0.5.0" + +"@react-aria/tooltip@^3.6.4": + version "3.6.4" + resolved "https://registry.yarnpkg.com/@react-aria/tooltip/-/tooltip-3.6.4.tgz#1be90589f290b09c2a938907124cf72821fb277c" + integrity sha512-5WCOiRSugzbfEOH+Bjpuf6EsNyynqq5S1uDh/P6J8qiYDjc0xLRJ5dyLdytX7c8MK9Y0pIHi6xb0xR9jDqJXTw== + dependencies: + "@react-aria/focus" "^3.14.3" + "@react-aria/interactions" "^3.19.1" + "@react-aria/utils" "^3.21.1" + "@react-stately/tooltip" "^3.4.5" + "@react-types/shared" "^3.21.0" + "@react-types/tooltip" "^3.4.5" + "@swc/helpers" "^0.5.0" + "@react-aria/utils@^3.21.1": version "3.21.1" resolved "https://registry.yarnpkg.com/@react-aria/utils/-/utils-3.21.1.tgz#35f5d545757ea38f05a0d2f5492f13217ebb03ce" @@ -5106,6 +5539,145 @@ "@swc/helpers" "^0.5.0" clsx "^1.1.1" +"@react-aria/visually-hidden@^3.8.6": + version "3.8.6" + resolved "https://registry.yarnpkg.com/@react-aria/visually-hidden/-/visually-hidden-3.8.6.tgz#9b149851ac41e9c72c7819f8d4ad47ddfb45b863" + integrity sha512-6DmS/JLbK9KgU/ClK1WjwOyvpn8HtwYn+uisMLdP7HlCm692peYOkXDR1jqYbHL4GlyLCD0JLI+/xGdVh5aR/w== + dependencies: + "@react-aria/interactions" "^3.19.1" + "@react-aria/utils" "^3.21.1" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + clsx "^1.1.1" + +"@react-stately/calendar@^3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@react-stately/calendar/-/calendar-3.4.1.tgz#8982ca015c81f35154a23fb26a514a08f9b041a5" + integrity sha512-XKCdrXNA7/ukZ842EeDZfLqYUQDv/x5RoAVkzTbp++3U/MLM1XZXsqj+5xVlQfJiWpQzM9L6ySjxzzgepJDeuw== + dependencies: + "@internationalized/date" "^3.5.0" + "@react-stately/utils" "^3.8.0" + "@react-types/calendar" "^3.4.1" + "@react-types/datepicker" "^3.6.1" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/checkbox@^3.5.1": + version "3.5.1" + resolved "https://registry.yarnpkg.com/@react-stately/checkbox/-/checkbox-3.5.1.tgz#a6f6ad01852aded85f4baa7c3e97e44d2c47a607" + integrity sha512-j+EbHpZgS8J2LbysbVDK3vQAJc7YZHOjHRX20auEzVmulAFKwkRpevo/R5gEL4EpOz4bRyu+BH/jbssHXG+Ezw== + dependencies: + "@react-stately/toggle" "^3.6.3" + "@react-stately/utils" "^3.8.0" + "@react-types/checkbox" "^3.5.2" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/collections@^3.10.2": + version "3.10.2" + resolved "https://registry.yarnpkg.com/@react-stately/collections/-/collections-3.10.2.tgz#c739d9d596ecb744be15fde6f064ad85dd6145db" + integrity sha512-h+LzCa1gWhVRWVH8uR+ZxsKmFSx7kW3RIlcjWjhfyc59BzXCuojsOJKTTAyPVFP/3kOdJeltw8g/reV1Cw/x6Q== + dependencies: + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/combobox@^3.7.1": + version "3.7.1" + resolved "https://registry.yarnpkg.com/@react-stately/combobox/-/combobox-3.7.1.tgz#d101280d406469479ba954cabd872188634033c4" + integrity sha512-JMKsbhCgP8HpwRjHLBmJILzyU9WzWykjXyP4QF/ifmkzGRjC/s46+Ieq+WonjVaLNGCoi6XqhYn2x2RyACSbsQ== + dependencies: + "@react-stately/collections" "^3.10.2" + "@react-stately/list" "^3.10.0" + "@react-stately/menu" "^3.5.6" + "@react-stately/select" "^3.5.5" + "@react-stately/utils" "^3.8.0" + "@react-types/combobox" "^3.8.1" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/data@^3.10.3": + version "3.10.3" + resolved "https://registry.yarnpkg.com/@react-stately/data/-/data-3.10.3.tgz#4cdbb0f29489e6f74d2ae7ae032930336695eaa0" + integrity sha512-cC9mxCZU4N9GbdOB4g2/J8+W+860GvBd874to0ObSc/XOR4VbuIsxAFIabW5UwmJV+XaqqK4TUBG0C6YScXeWQ== + dependencies: + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/datepicker@^3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@react-stately/datepicker/-/datepicker-3.8.0.tgz#f87eefb4c5dec937b9d5eb101dd4407457ecd0e7" + integrity sha512-6YDSmkrRafYCWhRHks8Z2tZavM1rqSOy8GY8VYjYMCVTFpRuhPK9TQaFv2BdzZL/vJ6OGThxqoglcEwywZVq2g== + dependencies: + "@internationalized/date" "^3.5.0" + "@internationalized/string" "^3.1.1" + "@react-stately/overlays" "^3.6.3" + "@react-stately/utils" "^3.8.0" + "@react-types/datepicker" "^3.6.1" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/dnd@^3.2.5": + version "3.2.5" + resolved "https://registry.yarnpkg.com/@react-stately/dnd/-/dnd-3.2.5.tgz#e18c9708133071df911792e85ef6edd2508b3a71" + integrity sha512-f9S+ycjAMEaz9HqGxkx4jsqo/ZS8kh0o97rxSKpGFKPZ02UMFWCr9lJI1p3hVGukiMahrmsNtoQXAvMcFAZyQQ== + dependencies: + "@react-stately/selection" "^3.14.0" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/flags@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@react-stately/flags/-/flags-3.0.0.tgz#c5a73965f8c90e8bf5981adddb4bdbb0ba2f5690" + integrity sha512-e3i2ItHbIa0eEwmSXAnPdD7K8syW76JjGe8ENxwFJPW/H1Pu9RJfjkCb/Mq0WSPN/TpxBb54+I9TgrGhbCoZ9w== + dependencies: + "@swc/helpers" "^0.4.14" + +"@react-stately/grid@^3.8.2": + version "3.8.2" + resolved "https://registry.yarnpkg.com/@react-stately/grid/-/grid-3.8.2.tgz#b2bd8614489a46ad7d0de13551507afd68d95de2" + integrity sha512-CB5QpYjXFatuXZodj3r0vIiqTysUe6DURZdJu6RKG2Elx19n2k49fKyx7P7CTKD2sPBOMSSX4edWuTzpL8Tl+A== + dependencies: + "@react-stately/collections" "^3.10.2" + "@react-stately/selection" "^3.14.0" + "@react-types/grid" "^3.2.2" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/layout@^3.13.3": + version "3.13.3" + resolved "https://registry.yarnpkg.com/@react-stately/layout/-/layout-3.13.3.tgz#65ca0ad8a4653122017c68ec2dc3a3d592296d02" + integrity sha512-AZ2Sm7iSRcRsNATXg7bjbPpZIjV3z7bHAJtICWA1wHieVVSV1FFoyDyiXdDTIOxyuGeytNPaxtGfPpFZia9Wsg== + dependencies: + "@react-stately/collections" "^3.10.2" + "@react-stately/table" "^3.11.2" + "@react-stately/virtualizer" "^3.6.4" + "@react-types/grid" "^3.2.2" + "@react-types/shared" "^3.21.0" + "@react-types/table" "^3.9.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/list@^3.10.0": + version "3.10.0" + resolved "https://registry.yarnpkg.com/@react-stately/list/-/list-3.10.0.tgz#6b2c66778b687d8c197809059f102029a9bb5079" + integrity sha512-Yspumiln2fvzoO8AND8jNAIfBu1XPaYioeeDmsB5Vrya2EvOkzEGsauQSNBJ6Vhee1fQqpnmzH1HB0jfIKUfzg== + dependencies: + "@react-stately/collections" "^3.10.2" + "@react-stately/selection" "^3.14.0" + "@react-stately/utils" "^3.8.0" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/menu@^3.5.6": + version "3.5.6" + resolved "https://registry.yarnpkg.com/@react-stately/menu/-/menu-3.5.6.tgz#21861b7cfba579d69272509aef8197d3fad7463a" + integrity sha512-Cm82SVda1qP71Fcz8ohIn3JYKmKCuSUIFr1WsEo/YwDPkX0x9+ev6rmphHTsxDdkCLcYHSTQL6e2KL0wAg50zA== + dependencies: + "@react-stately/overlays" "^3.6.3" + "@react-stately/utils" "^3.8.0" + "@react-types/menu" "^3.9.5" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + "@react-stately/numberfield@^3.6.2": version "3.6.2" resolved "https://registry.yarnpkg.com/@react-stately/numberfield/-/numberfield-3.6.2.tgz#2102d956239721fbf629891d2de46920416492fc" @@ -5117,6 +5689,128 @@ "@react-types/shared" "^3.21.0" "@swc/helpers" "^0.5.0" +"@react-stately/overlays@^3.6.3": + version "3.6.3" + resolved "https://registry.yarnpkg.com/@react-stately/overlays/-/overlays-3.6.3.tgz#cdfe5edb1ed6ad84fc1022af931586489cb23552" + integrity sha512-K3eIiYAdAGTepYqNf2pVb+lPqLoVudXwmxPhyOSZXzjgpynD6tR3E9QfWQtkMazBuU73PnNX7zkH4l87r2AmTg== + dependencies: + "@react-stately/utils" "^3.8.0" + "@react-types/overlays" "^3.8.3" + "@swc/helpers" "^0.5.0" + +"@react-stately/radio@^3.9.1": + version "3.9.1" + resolved "https://registry.yarnpkg.com/@react-stately/radio/-/radio-3.9.1.tgz#c43c88e2bff23d3059b0ea22191337a1d644fe0c" + integrity sha512-DrQPHiP9pz1uQbBP/NDFdO8uOZigPbvuAWPUNK7Gq6kye5lW+RsS97IUnYJePNTSMvhiAVz/aleBt05Gr/PZmg== + dependencies: + "@react-stately/utils" "^3.8.0" + "@react-types/radio" "^3.5.2" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/searchfield@^3.4.6": + version "3.4.6" + resolved "https://registry.yarnpkg.com/@react-stately/searchfield/-/searchfield-3.4.6.tgz#8d2a394fc20fec559d669e5d63c0a4d7588cb4a0" + integrity sha512-DeVacER0MD35gzQjrYpX/e3k8rjKF82W0OooTkRjeQ2U48femZkQpmp3O+j10foQx2LLaxqt9PSW7QS0Ww1bCA== + dependencies: + "@react-stately/utils" "^3.8.0" + "@react-types/searchfield" "^3.5.1" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/select@^3.5.5": + version "3.5.5" + resolved "https://registry.yarnpkg.com/@react-stately/select/-/select-3.5.5.tgz#e0b6dc9635bf46632efeba552e7ff3641c2f581f" + integrity sha512-nDkvFeAZbN7dK/Ty+mk1h4LZYYaoPpkwrG49wa67DTHkCc8Zk2+UEjhKPwOK20th4vfJKHzKjVa0Dtq4DIj0rw== + dependencies: + "@react-stately/collections" "^3.10.2" + "@react-stately/list" "^3.10.0" + "@react-stately/menu" "^3.5.6" + "@react-stately/selection" "^3.14.0" + "@react-stately/utils" "^3.8.0" + "@react-types/select" "^3.8.4" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/selection@^3.14.0": + version "3.14.0" + resolved "https://registry.yarnpkg.com/@react-stately/selection/-/selection-3.14.0.tgz#26a574bf2e35657db1988974df8bd2747b09f5c6" + integrity sha512-E5rNH+gVGDJQDSnPO30ynu6jZ0Z0++VPUbM5Bu3P/bZ3+TgoTtDDvlONba3fspgSBDfdnHpsuG9eqYnDtEAyYA== + dependencies: + "@react-stately/collections" "^3.10.2" + "@react-stately/utils" "^3.8.0" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/slider@^3.4.4": + version "3.4.4" + resolved "https://registry.yarnpkg.com/@react-stately/slider/-/slider-3.4.4.tgz#36a3f171077fb0e5bd7af7accdc228f5fd2fbe32" + integrity sha512-tFexbtN50zSo6e1Gi8K9MBfqgOo1eemF/VvFbde3PP9nG+ODcxEIajaYDPlMUuFw5cemJuoKo3+G5NBBn2/AjQ== + dependencies: + "@react-aria/i18n" "^3.8.4" + "@react-aria/utils" "^3.21.1" + "@react-stately/utils" "^3.8.0" + "@react-types/shared" "^3.21.0" + "@react-types/slider" "^3.6.2" + "@swc/helpers" "^0.5.0" + +"@react-stately/table@^3.11.2": + version "3.11.2" + resolved "https://registry.yarnpkg.com/@react-stately/table/-/table-3.11.2.tgz#df78442355f3dd086042ad4bf6473a2aaf31f6c1" + integrity sha512-EVgksPAsnEoqeT+5ej4aGJdu9kAu3LCDqQfnmif2P/R1BP5eDU1Kv0N/mV/90Xp546g7kuZ1wS2if/hWDXEA5g== + dependencies: + "@react-stately/collections" "^3.10.2" + "@react-stately/flags" "^3.0.0" + "@react-stately/grid" "^3.8.2" + "@react-stately/selection" "^3.14.0" + "@react-stately/utils" "^3.8.0" + "@react-types/grid" "^3.2.2" + "@react-types/shared" "^3.21.0" + "@react-types/table" "^3.9.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/tabs@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@react-stately/tabs/-/tabs-3.6.1.tgz#61c010c82ba0d6fde7804245742e0569d6b9eafd" + integrity sha512-akGmejEaXg2RMZuWbRZ0W1MLr515e0uV0iVZefKBlcHtD/mK9K9Bo2XxBScf0TIhaPJ6Qa2w2k2+V7RmT7r8Ag== + dependencies: + "@react-stately/list" "^3.10.0" + "@react-stately/utils" "^3.8.0" + "@react-types/shared" "^3.21.0" + "@react-types/tabs" "^3.3.3" + "@swc/helpers" "^0.5.0" + +"@react-stately/toggle@^3.6.3": + version "3.6.3" + resolved "https://registry.yarnpkg.com/@react-stately/toggle/-/toggle-3.6.3.tgz#4de25fd458890e37f6c363d058b018e5f11a9882" + integrity sha512-4kIMTjRjtaapFk4NVmBoFDUYfkmyqDaYAmHpRyEIHTDpBYn0xpxZL/MHv9WuLYa4MjJLRp0MeicuWiZ4ai7f6Q== + dependencies: + "@react-stately/utils" "^3.8.0" + "@react-types/checkbox" "^3.5.2" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-stately/tooltip@^3.4.5": + version "3.4.5" + resolved "https://registry.yarnpkg.com/@react-stately/tooltip/-/tooltip-3.4.5.tgz#9ba147485d7d7123da91bb417d3722351e90394d" + integrity sha512-VrwQcjnrNddSulh+Zql8P8cORRnWqSPkHPqQwD/Ly91Rva3gUIy+VwnYeThbGDxRzlUv1wfN+UQraEcrgwSZ/Q== + dependencies: + "@react-stately/overlays" "^3.6.3" + "@react-stately/utils" "^3.8.0" + "@react-types/tooltip" "^3.4.5" + "@swc/helpers" "^0.5.0" + +"@react-stately/tree@^3.7.3": + version "3.7.3" + resolved "https://registry.yarnpkg.com/@react-stately/tree/-/tree-3.7.3.tgz#d0b3da5db553e64e8f3def5bae45f765f62a3fd8" + integrity sha512-wB/68qetgCYTe7OMqbTFmtWRrEqVdIH2VlACPCsMlECr3lW9TrrbrOwlHIJfLhkxWvY3kSCoKcOJ5KTiJC9LGA== + dependencies: + "@react-stately/collections" "^3.10.2" + "@react-stately/selection" "^3.14.0" + "@react-stately/utils" "^3.8.0" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + "@react-stately/utils@^3.8.0": version "3.8.0" resolved "https://registry.yarnpkg.com/@react-stately/utils/-/utils-3.8.0.tgz#88a45742c58bde804f6cbecb20ea3833915cfdf0" @@ -5124,6 +5818,23 @@ dependencies: "@swc/helpers" "^0.5.0" +"@react-stately/virtualizer@^3.6.4": + version "3.6.4" + resolved "https://registry.yarnpkg.com/@react-stately/virtualizer/-/virtualizer-3.6.4.tgz#fab655aa14d30a7241ff5751a0eb80552ac5d751" + integrity sha512-lf3+FDRnyLyY1IhLfwA6GuE/9F3nIEc5p245NkUSN1ngKlXI5PvLHNatiVbONC3wt90abkpMK+WMhu2S/B+4lA== + dependencies: + "@react-aria/utils" "^3.21.1" + "@react-types/shared" "^3.21.0" + "@swc/helpers" "^0.5.0" + +"@react-types/breadcrumbs@^3.7.1": + version "3.7.1" + resolved "https://registry.yarnpkg.com/@react-types/breadcrumbs/-/breadcrumbs-3.7.1.tgz#ec89a2acbae7c9637d087ed0a5f17dda76219d76" + integrity sha512-WWC5pQdWkAzJ2hkx4w7f+waDLLvuD9vowKey+bdLoEmKvdaHNLLVUQPEyFm6SQ5+E3pNBWkNx9a+0S9iW6wa+Q== + dependencies: + "@react-types/link" "^3.5.1" + "@react-types/shared" "^3.21.0" + "@react-types/button@^3.9.0": version "3.9.0" resolved "https://registry.yarnpkg.com/@react-types/button/-/button-3.9.0.tgz#66df80cafaa98aaa34c331e927d21fdf4a0bdc4a" @@ -5131,6 +5842,53 @@ dependencies: "@react-types/shared" "^3.21.0" +"@react-types/calendar@^3.4.1": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@react-types/calendar/-/calendar-3.4.1.tgz#fa12696b3aae5247b3b1dcf747cbc2c5d5d7c30c" + integrity sha512-tiCkHi6IQtYcVoAESG79eUBWDXoo8NImo+Mj8WAWpo1lOA3SV1W2PpeXkoRNqtloilQ0aYcmsaJJUhciQG4ndg== + dependencies: + "@internationalized/date" "^3.5.0" + "@react-types/shared" "^3.21.0" + +"@react-types/checkbox@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@react-types/checkbox/-/checkbox-3.5.2.tgz#f463befdd37bc2c9e5c6febd62e53131e8983fa4" + integrity sha512-iRQrbY8vRRya3bt3i7sHAifhP/ozfkly1/TItkRK5MNPRNPRDKns55D8ZFkRMj4NSyKQpjVt1zzlBXrnSOxWdQ== + dependencies: + "@react-types/shared" "^3.21.0" + +"@react-types/combobox@^3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@react-types/combobox/-/combobox-3.8.1.tgz#ac9c7abcdde708b09fae78b0dd6d88993f6a8177" + integrity sha512-F910tk8K5qE0TksJ9LRGcJIpaPzpsCnFxT6E9oJH3ssK4N8qZL8QfT9tIKo2XWhK9Uxb/tIZOGQwA8Cn7TyZrA== + dependencies: + "@react-types/shared" "^3.21.0" + +"@react-types/datepicker@^3.6.1": + version "3.6.1" + resolved "https://registry.yarnpkg.com/@react-types/datepicker/-/datepicker-3.6.1.tgz#07debffdd611da13f6926266687c22b92624b7ab" + integrity sha512-/M+0e9hL9w98f5k4EoxeH2UfPsUPoS6fvmFsmwUZJcDiw7wP510XngnDLy9GOHj9xgqagZ20S79cxcEuTq7U6g== + dependencies: + "@internationalized/date" "^3.5.0" + "@react-types/calendar" "^3.4.1" + "@react-types/overlays" "^3.8.3" + "@react-types/shared" "^3.21.0" + +"@react-types/dialog@^3.5.6": + version "3.5.6" + resolved "https://registry.yarnpkg.com/@react-types/dialog/-/dialog-3.5.6.tgz#e874f0896d595e5a7f5924165b0db78e5f62fe9d" + integrity sha512-lwwaAgoi4xe4eEJxBns+cBIRstIPTKWWddMkp51r7Teeh2uKs1Wki7N+Acb9CfT6JQTQDqtVJm6K76rcqNBVwg== + dependencies: + "@react-types/overlays" "^3.8.3" + "@react-types/shared" "^3.21.0" + +"@react-types/grid@^3.2.2": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@react-types/grid/-/grid-3.2.2.tgz#9434d8ed0a80a64e38b2c95f8bbccfa794fd3888" + integrity sha512-R4USOpn1xfsWVGwZsakRlIdsBA10XNCnAUcRXQTn2JmzLjDCtcln6uYo9IFob080lQuvjkSw3j4zkw7Yo4Qepg== + dependencies: + "@react-types/shared" "^3.21.0" + "@react-types/label@^3.8.1": version "3.8.1" resolved "https://registry.yarnpkg.com/@react-types/label/-/label-3.8.1.tgz#b076a0fb955051307bfa3fed7e18ce0dc76d8c7b" @@ -5138,6 +5896,37 @@ dependencies: "@react-types/shared" "^3.21.0" +"@react-types/link@^3.5.1": + version "3.5.1" + resolved "https://registry.yarnpkg.com/@react-types/link/-/link-3.5.1.tgz#042cd4f7e7929a53657a5432fd3497056c331b34" + integrity sha512-hX2KpjB7wSuJw5Pia63+WEgEql53VfVG1Vu2cTUJDxfrgUtawwHtxB8B0K3cs3jBanq69amgAInEx0FfqYY0uQ== + dependencies: + "@react-aria/interactions" "^3.19.1" + "@react-types/shared" "^3.21.0" + +"@react-types/listbox@^3.4.5": + version "3.4.5" + resolved "https://registry.yarnpkg.com/@react-types/listbox/-/listbox-3.4.5.tgz#c18fbfe38412f7ce42b381fd4aa7bf443dcb6a59" + integrity sha512-nuRY3l8h/rBYQWTXWdZz5YJdl6QDDmXpHrnPuX7PxTwbXcwjhoMK+ZkJ0arA8Uv3MPs1OUcT6K6CInsPnG2ARQ== + dependencies: + "@react-types/shared" "^3.21.0" + +"@react-types/menu@^3.9.5": + version "3.9.5" + resolved "https://registry.yarnpkg.com/@react-types/menu/-/menu-3.9.5.tgz#9f67aebda9f491f0e94e2de7a15898c6cabf0772" + integrity sha512-KB5lJM0p9PxwpVlHV9sRdpjh+sqINeHrJgGizy/cQI9bj26nupiEgamSD14dULNI6BFT9DkgKCsobBtE04DDKQ== + dependencies: + "@react-types/overlays" "^3.8.3" + "@react-types/shared" "^3.21.0" + +"@react-types/meter@^3.3.5": + version "3.3.5" + resolved "https://registry.yarnpkg.com/@react-types/meter/-/meter-3.3.5.tgz#274dc17b4de985063e74272d82c0052e13bb75e8" + integrity sha512-7kSP/bqkt6ANHUJLJ4OsHOPNwg9ETvWHAKXDYoCqkLYzdhFh0H/8EAW9z4Bh/io0GvR7ePds9s+32iislfSwDg== + dependencies: + "@react-types/progress" "^3.5.0" + "@react-types/shared" "^3.21.0" + "@react-types/numberfield@^3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@react-types/numberfield/-/numberfield-3.6.1.tgz#da13f9086181a64a7e2e39f500584bdca20097b3" @@ -5145,11 +5934,77 @@ dependencies: "@react-types/shared" "^3.21.0" +"@react-types/overlays@^3.8.3": + version "3.8.3" + resolved "https://registry.yarnpkg.com/@react-types/overlays/-/overlays-3.8.3.tgz#47132f08ae3a115273036d98b9441a51d4a4ab09" + integrity sha512-TrCG2I2+V+TD0PGi3CqfnyU5jEzcelSGgYJQvVxsl5Vv3ri7naBLIsOjF9x66tPxhINLCPUtOze/WYRAexp8aw== + dependencies: + "@react-types/shared" "^3.21.0" + +"@react-types/progress@^3.5.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@react-types/progress/-/progress-3.5.0.tgz#5fa64897bcf93308c8386a3d0444585cb869e313" + integrity sha512-c1KLQCfYjdUdkTcPy0ZW31dc2+D86ZiZRHPNOaSYFGJjk9ItbWWi8BQTwlrw6D2l/+0d/YDdUFGaZhHMrY9mBQ== + dependencies: + "@react-types/shared" "^3.21.0" + +"@react-types/radio@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@react-types/radio/-/radio-3.5.2.tgz#399e220e2529b2e7c93aa117d39adcca6dc24d1f" + integrity sha512-crYQ+97abd5v0Iw9X+Tt+E7KWdm5ckr4g0+Iy8byV1g6MyiBOsNtq9QT99TOzyWJPqqD8T9qZfAOk49wK7KEDg== + dependencies: + "@react-types/shared" "^3.21.0" + +"@react-types/searchfield@^3.5.1": + version "3.5.1" + resolved "https://registry.yarnpkg.com/@react-types/searchfield/-/searchfield-3.5.1.tgz#9e8d9b4ff16749a821cbba20e0069f5d77a8b9f2" + integrity sha512-+v9fo50JrZOfFzbdgJsW39hyTFv1gVH458nx82aidYJzQocFJniiAEl0ZhhRzbE8RijyjLleKIAY+klPeFmEaQ== + dependencies: + "@react-types/shared" "^3.21.0" + "@react-types/textfield" "^3.8.1" + +"@react-types/select@^3.8.4": + version "3.8.4" + resolved "https://registry.yarnpkg.com/@react-types/select/-/select-3.8.4.tgz#564e6d89095d736ed580a733dd8baa7fadab05bc" + integrity sha512-jHBaLiAHTcYPz52kuJpypBbR0WAA+YCZHy2HH+W8711HuTqePZCEp6QAWHK9Fw0qwSZQ052jYaWvOsgEZZ6ojQ== + dependencies: + "@react-types/shared" "^3.21.0" + "@react-types/shared@^3.21.0": version "3.21.0" resolved "https://registry.yarnpkg.com/@react-types/shared/-/shared-3.21.0.tgz#1af41fdf7dfbdbd33bbc1210617c43ed0d4ef20c" integrity sha512-wJA2cUF8dP4LkuNUt9Vh2kkfiQb2NLnV2pPXxVnKJZ7d4x2/7VPccN+LYPnH8m0X3+rt50cxWuPKQmjxSsCFOg== +"@react-types/slider@^3.6.2": + version "3.6.2" + resolved "https://registry.yarnpkg.com/@react-types/slider/-/slider-3.6.2.tgz#b401bbbd473b62edc394ac3c41ed6df329d111d4" + integrity sha512-LSvna1gpOvBxOBI5I/CYEtkAshWYwPlxE9F/jCaxCa9Q7E9xZp1hFFGY87iQ1A3vQM5SCa5PFStwOvXO7rA55w== + dependencies: + "@react-types/shared" "^3.21.0" + +"@react-types/switch@^3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@react-types/switch/-/switch-3.4.2.tgz#8c0a8f8dfcaae29ccd9409a2beaac0d31a131027" + integrity sha512-OQWpawikWhF+ET1/kE0/JeJVr6gHjkR72p/idTsT7RUJySBcehhAscbIA8iWzVWJvdFCVF2hG7uzBAJTeDMr9A== + dependencies: + "@react-types/checkbox" "^3.5.2" + "@react-types/shared" "^3.21.0" + +"@react-types/table@^3.9.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@react-types/table/-/table-3.9.0.tgz#0053ce5b78f2214afaf7e38cdd96a57eecbd2ff9" + integrity sha512-WOLxZ3tzLA4gxRxvnsZhnnQDbh4Qe/johpHNk4coSOFOP5W8PbunPacXnbvdPkSx6rqrOIzCnYcZCtgk4gDQmg== + dependencies: + "@react-types/grid" "^3.2.2" + "@react-types/shared" "^3.21.0" + +"@react-types/tabs@^3.3.3": + version "3.3.3" + resolved "https://registry.yarnpkg.com/@react-types/tabs/-/tabs-3.3.3.tgz#8601d9cd03c6aa4cca1227df667ae8cedb58839c" + integrity sha512-Zc4g5TIwJpKS5fiT9m4dypbCr1xqtauL4wqM76fGERCAZy0FwXTH/yjzHJDYKyWFJrQNWtJ0KAhJR/ZqKDVnIw== + dependencies: + "@react-types/shared" "^3.21.0" + "@react-types/textfield@^3.8.1": version "3.8.1" resolved "https://registry.yarnpkg.com/@react-types/textfield/-/textfield-3.8.1.tgz#433c82d8f696ed77b1d5e71aadc40cbe378b536c" @@ -5157,6 +6012,14 @@ dependencies: "@react-types/shared" "^3.21.0" +"@react-types/tooltip@^3.4.5": + version "3.4.5" + resolved "https://registry.yarnpkg.com/@react-types/tooltip/-/tooltip-3.4.5.tgz#f1edf9940bc3cde89ae9d49fda815e16f253dfd5" + integrity sha512-pv87Vlu+Pn1Titw199y5aiSuXF/GHX+fBCihi9BeePqtwYm505e/Si01BNh5ejCeXXOS4JIMuXwmGGzGVdGk6Q== + dependencies: + "@react-types/overlays" "^3.8.3" + "@react-types/shared" "^3.21.0" + "@rollup/pluginutils@^5.0.2": version "5.0.2" resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz" @@ -5968,6 +6831,14 @@ dependencies: tslib "^2.4.0" +"@swc/helpers@^0.4.14": + version "0.4.36" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.36.tgz#fcfff76ed52c214f357e8e9d3f37b568908072d9" + integrity sha512-5lxnyLEYFskErRPenYItLRSge5DjrJngYKdVjRSrWfza9G6KkgHEXi0vUZiyUeMU5JfXH1YnvXZzSp8ul88o2Q== + dependencies: + legacy-swc-helpers "npm:@swc/helpers@=0.4.14" + tslib "^2.4.0" + "@swc/types@^0.1.5": version "0.1.5" resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.5.tgz#043b731d4f56a79b4897a3de1af35e75d56bc63a" @@ -12708,6 +13579,13 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" +"legacy-swc-helpers@npm:@swc/helpers@=0.4.14": + version "0.4.14" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.14.tgz#1352ac6d95e3617ccb7c1498ff019654f1e12a74" + integrity sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw== + dependencies: + tslib "^2.4.0" + lerna@^6.6.1: version "6.6.2" resolved "https://registry.npmjs.org/lerna/-/lerna-6.6.2.tgz" @@ -16427,6 +17305,48 @@ raw-body@2.5.1: iconv-lite "0.4.24" unpipe "1.0.0" +react-aria@^3.29.1: + version "3.29.1" + resolved "https://registry.yarnpkg.com/react-aria/-/react-aria-3.29.1.tgz#4f6e968a15cfec69d8d8735b98d0fe8ac31b4be2" + integrity sha512-dDoaTh5fCaD3kO0kv49pqUUOsXRGuqFX7owQaly/RhWkBw/dlIYkHRVdOatllI/v4h1/Ne40QOXl15aAISozlA== + dependencies: + "@react-aria/breadcrumbs" "^3.5.7" + "@react-aria/button" "^3.8.4" + "@react-aria/calendar" "^3.5.2" + "@react-aria/checkbox" "^3.11.2" + "@react-aria/combobox" "^3.7.1" + "@react-aria/datepicker" "^3.8.1" + "@react-aria/dialog" "^3.5.7" + "@react-aria/dnd" "^3.4.3" + "@react-aria/focus" "^3.14.3" + "@react-aria/gridlist" "^3.7.1" + "@react-aria/i18n" "^3.8.4" + "@react-aria/interactions" "^3.19.1" + "@react-aria/label" "^3.7.2" + "@react-aria/link" "^3.6.1" + "@react-aria/listbox" "^3.11.1" + "@react-aria/menu" "^3.11.1" + "@react-aria/meter" "^3.4.7" + "@react-aria/numberfield" "^3.9.1" + "@react-aria/overlays" "^3.18.1" + "@react-aria/progress" "^3.4.7" + "@react-aria/radio" "^3.8.2" + "@react-aria/searchfield" "^3.5.7" + "@react-aria/select" "^3.13.1" + "@react-aria/selection" "^3.17.1" + "@react-aria/separator" "^3.3.7" + "@react-aria/slider" "^3.7.2" + "@react-aria/ssr" "^3.8.0" + "@react-aria/switch" "^3.5.6" + "@react-aria/table" "^3.13.1" + "@react-aria/tabs" "^3.8.1" + "@react-aria/tag" "^3.2.1" + "@react-aria/textfield" "^3.12.2" + "@react-aria/tooltip" "^3.6.4" + "@react-aria/utils" "^3.21.1" + "@react-aria/visually-hidden" "^3.8.6" + "@react-types/shared" "^3.21.0" + react-colorful@^5.1.2: version "5.6.1" resolved "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz" @@ -16549,6 +17469,34 @@ react-select@^5.7.3: react-transition-group "^4.3.0" use-isomorphic-layout-effect "^1.1.2" +react-stately@^3.27.1: + version "3.27.1" + resolved "https://registry.yarnpkg.com/react-stately/-/react-stately-3.27.1.tgz#b24992bd72da1b1632bf4f4232d87ce6913a19bd" + integrity sha512-qHhivqOpyATaWwoj3xl3IqqoEnib+dsl2vYlOz92CT5Ntm6lprF7KO+LkxdkS0SnUckdGewFM1NjCmbK7wPJgw== + dependencies: + "@react-stately/calendar" "^3.4.1" + "@react-stately/checkbox" "^3.5.1" + "@react-stately/collections" "^3.10.2" + "@react-stately/combobox" "^3.7.1" + "@react-stately/data" "^3.10.3" + "@react-stately/datepicker" "^3.8.0" + "@react-stately/dnd" "^3.2.5" + "@react-stately/list" "^3.10.0" + "@react-stately/menu" "^3.5.6" + "@react-stately/numberfield" "^3.6.2" + "@react-stately/overlays" "^3.6.3" + "@react-stately/radio" "^3.9.1" + "@react-stately/searchfield" "^3.4.6" + "@react-stately/select" "^3.5.5" + "@react-stately/selection" "^3.14.0" + "@react-stately/slider" "^3.4.4" + "@react-stately/table" "^3.11.2" + "@react-stately/tabs" "^3.6.1" + "@react-stately/toggle" "^3.6.3" + "@react-stately/tooltip" "^3.4.5" + "@react-stately/tree" "^3.7.3" + "@react-types/shared" "^3.21.0" + react-style-singleton@^2.2.1: version "2.2.1" resolved "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz"