diff --git a/.changeset/smart-mammals-sell.md b/.changeset/smart-mammals-sell.md new file mode 100644 index 00000000000..db17b8da110 --- /dev/null +++ b/.changeset/smart-mammals-sell.md @@ -0,0 +1,5 @@ +--- +"@hashintel/ds-components": patch +--- + +Added CheckboxGroup and RadioGroup components diff --git a/apps/hash-frontend/package.json b/apps/hash-frontend/package.json index 4db4f27191b..e8f96a72d09 100644 --- a/apps/hash-frontend/package.json +++ b/apps/hash-frontend/package.json @@ -22,7 +22,7 @@ "dependencies": { "@ai-sdk/openai": "3.0.63", "@apollo/client": "3.10.5", - "@ark-ui/react": "5.26.2", + "@ark-ui/react": "5.37.2", "@blockprotocol/core": "0.1.5", "@blockprotocol/graph": "workspace:*", "@blockprotocol/hook": "0.1.8", diff --git a/libs/@hashintel/ds-components/package.json b/libs/@hashintel/ds-components/package.json index 00efaf8d82a..b0f5971fae3 100644 --- a/libs/@hashintel/ds-components/package.json +++ b/libs/@hashintel/ds-components/package.json @@ -72,7 +72,7 @@ "test:unit:watch": "yarn build:buildinfo && vitest --exclude tests/snapshots.spec.ts" }, "dependencies": { - "@ark-ui/react": "5.26.2", + "@ark-ui/react": "5.37.2", "@hashintel/ds-helpers": "workspace:^", "@pandacss/dev": "1.11.1", "@pandacss/preset-panda": "1.11.1", @@ -116,7 +116,7 @@ "zod": "4.4.3" }, "peerDependencies": { - "@ark-ui/react": "^5.26.2", + "@ark-ui/react": "^5.37.2", "@hashintel/ds-helpers": "workspace:^", "react": "^19.2.0", "react-dom": "^19.2.0" diff --git a/libs/@hashintel/ds-components/src/components/Checkbox/checkbox.recipe.ts b/libs/@hashintel/ds-components/src/components/Checkbox/checkbox.recipe.ts index b06ddc6ce58..68b74f6e92e 100644 --- a/libs/@hashintel/ds-components/src/components/Checkbox/checkbox.recipe.ts +++ b/libs/@hashintel/ds-components/src/components/Checkbox/checkbox.recipe.ts @@ -157,7 +157,7 @@ export const styles = sva({ }, labelPlacement: { left: { - root: { flexDirection: "row-reverse" }, + root: { flexDirection: "row-reverse", justifyContent: "space-between" }, }, right: {}, }, diff --git a/libs/@hashintel/ds-components/src/components/Checkbox/checkbox.tsx b/libs/@hashintel/ds-components/src/components/Checkbox/checkbox.tsx index 87c7c3cd948..edd84679bdf 100644 --- a/libs/@hashintel/ds-components/src/components/Checkbox/checkbox.tsx +++ b/libs/@hashintel/ds-components/src/components/Checkbox/checkbox.tsx @@ -2,7 +2,6 @@ import { Checkbox as BaseCheckbox } from "@ark-ui/react/checkbox"; import { cx } from "@hashintel/ds-helpers/css"; -import { useFieldId } from "../Form/field-id-context"; import { styles } from "./checkbox.recipe"; import type { SharedInputProps, Tone } from "../../util/form-shared"; @@ -20,6 +19,7 @@ export const Checkbox = ({ invalid, testId, htmlForId, + htmlValue, ref, inputRef, autoFocus, @@ -40,10 +40,10 @@ export const Checkbox = ({ tone?: Exclude | "success"; /** Render the box in the indeterminate ("partially checked") state */ indeterminate?: boolean; + /** An optional value used for native form submissions */ + htmlValue?: string; } & SharedInputProps & React.AriaAttributes) => { - const fieldIdFromContext = useFieldId(); - const inputId = htmlForId ?? fieldIdFromContext ?? undefined; const classes = styles({ size, tone, @@ -60,10 +60,11 @@ export const Checkbox = ({ disabled={disabled} invalid={invalid} required={required} - ids={inputId ? { hiddenInput: inputId } : undefined} + ids={htmlForId ? { hiddenInput: htmlForId } : undefined} data-testid={testId} ref={ref as React.Ref} className={cx(classes.root, className)} + value={htmlValue} {...ariaProps} > diff --git a/libs/@hashintel/ds-components/src/components/CheckboxGroup/checkbox-group.stories.tsx b/libs/@hashintel/ds-components/src/components/CheckboxGroup/checkbox-group.stories.tsx new file mode 100644 index 00000000000..11ed9ee64c7 --- /dev/null +++ b/libs/@hashintel/ds-components/src/components/CheckboxGroup/checkbox-group.stories.tsx @@ -0,0 +1,190 @@ +import { useState } from "react"; + +import { css } from "@hashintel/ds-helpers/css"; + +import { formInputSizes } from "../../util/form-shared"; +import { CheckboxGroup } from "./checkbox-group"; + +import type { Story, StoryDefault } from "@ladle/react"; + +type Props = React.ComponentProps; + +const layouts: NonNullable[] = [ + "blockWithBorder", + "block", + "inline", +]; + +const fruitItems = [ + { value: "apple", label: "Apple" }, + { value: "banana", label: "Banana" }, + { value: "cherry", label: "Cherry" }, +]; + +const leftLabelItems = fruitItems.map((item) => ({ + ...item, + labelPlacement: "left" as const, +})); + +const ControlledCheckboxGroup = ({ + defaultValue = ["apple"], + ...props +}: Omit & { + defaultValue?: string[]; + items?: Props["items"]; +}) => { + const [value, setValue] = useState(defaultValue); + return ( + + ); +}; + +export default { + title: "Components/CheckboxGroup", + parameters: { + layout: "centered", + }, + argTypes: { + layout: { control: { type: "select", options: layouts } }, + size: { control: { type: "select", options: formInputSizes } }, + disabled: { control: { type: "boolean" } }, + }, + args: { + layout: "block", + size: "md", + disabled: false, + }, +} satisfies StoryDefault; + +const headingClass = css({ + fontSize: "[12px]", + fontWeight: "medium", + color: "neutral.s90", + marginBottom: "[8px]", +}); + +const sectionClass = css({ + display: "flex", + flexDirection: "column", + gap: "[24px]", +}); + +const subHeadingClass = css({ + fontSize: "[11px]", + color: "neutral.s70", + marginBottom: "[6px]", +}); + +const layoutRowClass = css({ + display: "flex", + gap: "[40px]", + alignItems: "flex-start", + flexWrap: "wrap", +}); + +export const Layouts: Story = () => ( +
+ {layouts.map((layout) => ( +
+
layout={layout}
+ +
+ ))} +
+
+ layout=blockWithBorder, labelPlacement=left +
+ +
+
+
layout=block, labelPlacement=left
+ +
+
+); + +Layouts.parameters = { + controls: { disable: true }, +}; + +export const Sizes: Story = () => ( +
+ {formInputSizes.map((size) => ( +
+
size={size}
+
+ {layouts.map((layout) => ( +
+
{layout}
+ +
+ ))} +
+
+ ))} +
+); + +Sizes.parameters = { + controls: { disable: true }, +}; + +export const Disabled: Story = () => ( +
+
+
whole group disabled
+ +
+
+
single option disabled
+ +
+
+); + +Disabled.parameters = { + controls: { disable: true }, +}; + +export const MaxSelectable: Story = () => ( +
+
+
maxSelectable=2
+
+ Once two are selected, the remaining unchecked options are disabled + until one is unchecked. +
+ +
+
+); + +MaxSelectable.parameters = { + controls: { disable: true }, +}; diff --git a/libs/@hashintel/ds-components/src/components/CheckboxGroup/checkbox-group.tsx b/libs/@hashintel/ds-components/src/components/CheckboxGroup/checkbox-group.tsx new file mode 100644 index 00000000000..14a093ed14f --- /dev/null +++ b/libs/@hashintel/ds-components/src/components/CheckboxGroup/checkbox-group.tsx @@ -0,0 +1,123 @@ +import { CheckboxGroup as ArkCheckboxGroup } from "@ark-ui/react/checkbox"; +import { useId } from "react"; + +import { cx } from "@hashintel/ds-helpers/css"; + +import { + getGroupFocusProps, + styles, +} from "../../util/radio-checkbox-group-shared"; +import { Checkbox } from "../Checkbox/checkbox"; + +import type { SharedInputProps } from "../../util/form-shared"; + +type CheckboxGroupProps = { + /** How the options are arranged (defaults to `block`) */ + layout?: "block" | "inline" | "blockWithBorder"; + /** The selectable options */ + items: Array< + Omit< + React.ComponentProps, + "size" | "onChange" | "value" | "name" | "autoFocus" | "htmlForId" + > & { value: ValueType } + >; + maxSelectable?: number; +} & Omit[]>, "inputRef"> & + React.AriaAttributes; + +export const CheckboxGroup = ({ + layout = "block", + items, + disabled, + invalid, + className, + value, + onChange, + onFocus, + onBlur, + ref, + required, + testId, + size = "md", + autoFocus, + name, + maxSelectable, + ...ariaProps +}: CheckboxGroupProps) => { + // A stable, shared `name` groups the underlying inputs for form submission. + const generatedName = useId(); + const groupName = name ?? generatedName; + + const selectedValues = new Set(value); + const isRequired = !!required || items.some((item) => item.required); + const isInvalid = !!invalid || items.some((item) => item.invalid); + const hasSelection = items.some((item) => selectedValues.has(item.value)); + + const atSelectionCap = + maxSelectable !== undefined && selectedValues.size >= maxSelectable; + + return ( + } + className={cx(styles({ layout, size }), className)} + {...getGroupFocusProps({ onFocus, onBlur })} + {...ariaProps} + > + {items.map((item, index) => { + const { + value: optionValue, + disabled: itemDisabled, + required: itemRequired, + ...itemProps + } = item; + const isSelected = selectedValues.has(optionValue); + // If the cap is reached, unchecked options are disabled so they can't + // be selected; already-selected options stay enabled so they can be + // unchecked to free up a slot. + const itemIsDisabled = + disabled === true || + itemDisabled === true || + (atSelectionCap && !isSelected); + // Native checkboxes have no "at least one of the group" constraint, so when + // the group is required we mark every option `required` while nothing is + // selected. That makes the group invalid (blocking submission) until one box + // is checked, at which point none of them need to be required anymore. + const itemIsRequired = + itemRequired === true || (required === true && !hasSelection); + + return ( + { + if (checked) { + if (isSelected || atSelectionCap) { + return; + } + onChange([...value, optionValue]); + } else { + onChange( + value.filter((candidate) => candidate !== optionValue), + ); + } + }} + autoFocus={autoFocus && index === 0} + /> + ); + })} + + ); +}; diff --git a/libs/@hashintel/ds-components/src/components/Radio/radio.recipe.ts b/libs/@hashintel/ds-components/src/components/Radio/radio.recipe.ts index 7d23da750cc..e9e78571b7d 100644 --- a/libs/@hashintel/ds-components/src/components/Radio/radio.recipe.ts +++ b/libs/@hashintel/ds-components/src/components/Radio/radio.recipe.ts @@ -50,7 +50,7 @@ export const styles = sva({ boxShadow: "[none]", }, "label:not(:has(input:disabled)):hover input:not(:checked) ~ &": { - backgroundColor: "neutral.a20", + backgroundColor: "neutral.a25", borderColor: "neutral.a70", }, }, @@ -118,10 +118,6 @@ export const styles = sva({ backgroundColor: "neutral.s90", borderColor: "neutral.s90", }, - "label:not(:has(input:disabled)):hover input:checked ~ &": { - backgroundColor: "neutral.s110", - borderColor: "neutral.s110", - }, }, }, brand: { @@ -134,10 +130,6 @@ export const styles = sva({ backgroundColor: "blue.s55", borderColor: "blue.s55", }, - "label:not(:has(input:disabled)):hover input:checked ~ &": { - backgroundColor: "blue.s75", - borderColor: "blue.s75", - }, }, }, success: { @@ -150,10 +142,6 @@ export const styles = sva({ backgroundColor: "green.s55", borderColor: "green.s55", }, - "label:not(:has(input:disabled)):hover input:checked ~ &": { - backgroundColor: "green.s70", - borderColor: "green.s70", - }, }, }, }, @@ -176,7 +164,7 @@ export const styles = sva({ }, labelPlacement: { left: { - root: { flexDirection: "row-reverse" }, + root: { flexDirection: "row-reverse", justifyContent: "space-between" }, }, right: {}, }, diff --git a/libs/@hashintel/ds-components/src/components/Radio/radio.tsx b/libs/@hashintel/ds-components/src/components/Radio/radio.tsx index c531c0620af..35cbac99d15 100644 --- a/libs/@hashintel/ds-components/src/components/Radio/radio.tsx +++ b/libs/@hashintel/ds-components/src/components/Radio/radio.tsx @@ -2,7 +2,6 @@ import { useId } from "react"; import { cx } from "@hashintel/ds-helpers/css"; -import { useFieldId } from "../Form/field-id-context"; import { styles } from "./radio.recipe"; import type { SharedInputProps, Tone } from "../../util/form-shared"; @@ -25,6 +24,7 @@ export const Radio = ({ invalid, testId, htmlForId, + htmlValue, ref, inputRef, autoFocus, @@ -42,13 +42,14 @@ export const Radio = ({ labelAlign?: "top" | "center"; /** The tone applied when the radio is selected */ tone?: Exclude | "success"; + /** An optional value used for native form submissions */ + htmlValue?: string; } & SharedInputProps & React.AriaAttributes) => { - const fieldIdFromContext = useFieldId(); const generatedId = useId(); // Always resolve to a concrete id so the label can be explicitly linked to // the input (an external `` label takes precedence via context). - const inputId = htmlForId ?? fieldIdFromContext ?? generatedId; + const inputId = htmlForId ?? generatedId; const classes = styles({ size, @@ -72,7 +73,7 @@ export const Radio = ({ className={classes.input} id={inputId} name={name} - value={SELECTED_VALUE} + value={htmlValue ?? SELECTED_VALUE} checked={value} disabled={disabled} required={required} diff --git a/libs/@hashintel/ds-components/src/components/RadioGroup/radio-group.stories.tsx b/libs/@hashintel/ds-components/src/components/RadioGroup/radio-group.stories.tsx index 271ca469b2a..6bc0cea79bb 100644 --- a/libs/@hashintel/ds-components/src/components/RadioGroup/radio-group.stories.tsx +++ b/libs/@hashintel/ds-components/src/components/RadioGroup/radio-group.stories.tsx @@ -1,180 +1,158 @@ import { useState } from "react"; -import { RadioGroup, type RadioGroupProps } from "./radio-group"; +import { css } from "@hashintel/ds-helpers/css"; + +import { formInputSizes } from "../../util/form-shared"; +import { RadioGroup } from "./radio-group"; import type { Story, StoryDefault } from "@ladle/react"; +type Props = React.ComponentProps; + +const layouts: NonNullable[] = [ + "blockWithBorder", + "block", + "inline", +]; + +const fruitItems = [ + { value: "apple", label: "Apple" }, + { value: "banana", label: "Banana" }, + { value: "cherry", label: "Cherry" }, +]; + +const leftLabelItems = fruitItems.map((item) => ({ + ...item, + labelPlacement: "left" as const, +})); + +const ControlledRadioGroup = ({ + defaultValue = "apple", + ...props +}: Omit & { + defaultValue?: string; + items?: Props["items"]; +}) => { + const [value, setValue] = useState(defaultValue); + return ( + + ); +}; + export default { - title: "Legacy/RadioGroup", + title: "Components/RadioGroup", parameters: { layout: "centered", }, argTypes: { - variant: { - control: { type: "radio" }, - options: ["default", "card"], - description: "Visual style variant", - }, - disabled: { - control: { type: "boolean" }, - description: "Whether the radio group is disabled", - }, + layout: { control: { type: "select", options: layouts } }, + size: { control: { type: "select", options: formInputSizes } }, + disabled: { control: { type: "boolean" } }, }, args: { - variant: "default", + layout: "block", + size: "md", disabled: false, }, -} satisfies StoryDefault; +} satisfies StoryDefault; -export const Default: Story = (args) => ( - -); -Default.args = { - variant: "default", - options: [ - { value: "react", label: "React" }, - { value: "vue", label: "Vue" }, - { value: "svelte", label: "Svelte" }, - { value: "solid", label: "Solid" }, - ], - defaultValue: "react", -}; +const headingClass = css({ + fontSize: "[12px]", + fontWeight: "medium", + color: "neutral.s90", + marginBottom: "[8px]", +}); -export const Card: Story = (args) => ; -Card.args = { - variant: "card", - options: [ - { - value: "basic", - label: "Basic", - description: "For simple applications", - icon: ( - - - - ), - }, - { - value: "pro", - label: "Pro", - description: "For professional use", - icon: ( - - - - ), - }, - { - value: "enterprise", - label: "Enterprise", - description: "For large organizations", - icon: ( - - - - ), - }, - ], - defaultValue: "basic", -}; +const sectionClass = css({ + display: "flex", + flexDirection: "column", + gap: "[24px]", +}); -export const Disabled: Story = (args) => ( - +const subHeadingClass = css({ + fontSize: "[11px]", + color: "neutral.s70", + marginBottom: "[6px]", +}); + +const layoutRowClass = css({ + display: "flex", + gap: "[40px]", + alignItems: "flex-start", + flexWrap: "wrap", +}); + +export const Layouts: Story = () => ( +
+ {layouts.map((layout) => ( +
+
layout={layout}
+ +
+ ))} +
+
+ layout=blockWithBorder, labelPlacement=left +
+ +
+
+
layout=block, labelPlacement=left
+ +
+
); -Disabled.args = { - variant: "default", - options: [ - { value: "option1", label: "Option 1" }, - { value: "option2", label: "Option 2" }, - { value: "option3", label: "Option 3" }, - ], - disabled: true, - defaultValue: "option1", + +Layouts.parameters = { + controls: { disable: true }, }; -export const DisabledOption: Story = (args) => ( - +export const Sizes: Story = () => ( +
+ {formInputSizes.map((size) => ( +
+
size={size}
+
+ {layouts.map((layout) => ( +
+
{layout}
+ +
+ ))} +
+
+ ))} +
); -DisabledOption.args = { - variant: "default", - options: [ - { value: "option1", label: "Option 1" }, - { value: "option2", label: "Option 2 (Disabled)", disabled: true }, - { value: "option3", label: "Option 3" }, - ], - defaultValue: "option1", -}; -export const Controlled: Story = (args) => { - const [value, setValue] = useState("react"); +Sizes.parameters = { + controls: { disable: true }, +}; - return ( +export const Disabled: Story = () => ( +
- setValue(newValue)} +
whole group disabled
+ +
+
+
single option disabled
+ -

- Selected: {value} -

- ); -}; -Controlled.args = { - variant: "default", - options: [ - { value: "react", label: "React" }, - { value: "vue", label: "Vue" }, - { value: "svelte", label: "Svelte" }, - { value: "solid", label: "Solid" }, - ], -}; - -export const CardWithManyOptions: Story = (args) => ( - +
); -CardWithManyOptions.args = { - variant: "card", - options: [ - { - value: "starter", - label: "Starter", - description: "Perfect for individuals", - }, - { - value: "pro", - label: "Professional", - description: "For growing teams", - }, - { - value: "business", - label: "Business", - description: "For larger organizations", - }, - { - value: "enterprise", - label: "Enterprise", - description: "Custom solutions", - }, - ], - defaultValue: "pro", + +Disabled.parameters = { + controls: { disable: true }, }; diff --git a/libs/@hashintel/ds-components/src/components/RadioGroup/radio-group.tsx b/libs/@hashintel/ds-components/src/components/RadioGroup/radio-group.tsx index b09af1a689a..a0f9c158deb 100644 --- a/libs/@hashintel/ds-components/src/components/RadioGroup/radio-group.tsx +++ b/libs/@hashintel/ds-components/src/components/RadioGroup/radio-group.tsx @@ -1,307 +1,124 @@ -import { RadioGroup as BaseRadioGroup } from "@ark-ui/react/radio-group"; - -import { css, cva } from "@hashintel/ds-helpers/css"; - -import type { ReactNode } from "react"; - -export interface RadioGroupOption { - value: string; - label: string; - description?: string; - icon?: ReactNode; - disabled?: boolean; -} - -export interface RadioGroupProps { - options: RadioGroupOption[]; - value?: string; - defaultValue?: string; - disabled?: boolean; - name?: string; - form?: string; - onValueChange?: (value: string) => void; - /** Card variant displays options as cards with optional icons and descriptions */ - variant?: "default" | "card"; - id?: string; -} - -// Root container styles -const radioGroupRootStyles = css({ - display: "flex", - flexDirection: "column", - gap: "3", // 4px gap between items -}); - -// Recipe for radio group items with variant support -const radioItemRecipe = cva({ - base: { - display: "flex", - alignItems: "center", - outline: "none", - "&[data-disabled]": { - cursor: "not-allowed", - opacity: "[0.5]", - }, - // Focus visible state: light blue outline - "&:focus-visible": { - outline: "[2px solid #A8C5F0]", - outlineOffset: "[2px]", - }, - // Hover state for radio control when hovering Item - target only item-control - "&:hover:not([data-disabled]) [data-part='item-control'][data-state='unchecked']": - { - borderColor: "[#C7C7C7]", - transform: "[scale(0.8)]", - }, - "&:hover:not([data-disabled]) [data-part='item-control'][data-state='checked']": - { - backgroundColor: "[#1567E0]", - borderColor: "[#1567E0]", - transform: "[scale(0.8)]", - }, - }, - variants: { - variant: { - default: { - cursor: "pointer", - padding: "4", // 6px - borderRadius: "md", // 8px - gap: "5", // 8px - "&:hover:not([data-disabled])": { - backgroundColor: "bg.subtle.hover", - }, - }, - card: { - gap: "7", // 12px - padding: "7", // 12px - backgroundColor: "bg.subtle", - border: "1px solid", - borderColor: "bd.subtle", - borderRadius: "[10px]", - cursor: "pointer", - width: "[316px]", - "&:hover:not([data-disabled])": { - borderColor: "bd.solid", - }, - }, - }, - }, - defaultVariants: { - variant: "default", - }, -}); - -// Radio outer circle (div-based) -const radioOuterCircleStyles = css({ - position: "relative", - display: "flex", - alignItems: "center", - justifyContent: "center", - width: "[20px]", - height: "[20px]", - borderRadius: "[100px]", - border: "[1px solid #E5E5E5]", - backgroundColor: "[transparent]", - transition: "[all 0.1s ease]", - flexShrink: "0", - transform: "[scale(1)]", - // Checked state: blue filled - "&[data-state='checked']": { - backgroundColor: "[#2070E6]", - borderColor: "[#2070E6]", - }, - // Focus state on Item: keep normal appearance, outline is on Item - ":focus-visible &": { - // No changes to control itself, just maintain state - }, - // Disabled state (unchecked): light gray filled - "&[data-disabled][data-state='unchecked']": { - backgroundColor: "[#F5F5F5]", - borderColor: "[#E5E5E5]", - }, - // Disabled state (checked): opacity applied - "&[data-disabled][data-state='checked']": { - opacity: "[0.5]", - }, -}); - -// Card icon badge styles -const cardIconBadgeStyles = css({ - display: "flex", - alignItems: "center", - justifyContent: "center", - width: "[32px]", - height: "[32px]", - backgroundColor: "bg.subtle", - borderRadius: "md", // 8px - paddingX: "5", // 8px - paddingY: "0", - overflow: "clip", - flexShrink: "0", -}); - -// Card content wrapper styles -const cardContentWrapperStyles = css({ - display: "flex", - flex: "1", - gap: "7", // 12px - alignItems: "center", - minWidth: "[0]", - minHeight: "[0]", -}); - -// Card text group styles -const cardTextGroupStyles = css({ - display: "flex", - flex: "1", - flexDirection: "column", - gap: "3", // 4px - alignItems: "flex-start", - justifyContent: "center", - height: "[38px]", - minWidth: "[0]", - minHeight: "[0]", -}); - -// Label text styles -const labelTextStyles = css({ - fontSize: "sm", // 14px - fontWeight: "medium", - lineHeight: "none", // 14px - color: "fg.heading", - whiteSpace: "nowrap", - "&[data-disabled]": { - opacity: "[0.5]", - }, -}); - -// Card label text styles (with ellipsis) -const cardLabelTextStyles = css({ - fontSize: "sm", // 14px - fontWeight: "medium", - lineHeight: "none", // 14px - color: "fg.heading", - overflow: "hidden", - textOverflow: "ellipsis", - whiteSpace: "nowrap", - width: "[100%]", - "&[data-disabled]": { - opacity: "[0.5]", - }, -}); - -// Description text styles -const descriptionTextStyles = css({ - fontSize: "xs", // 12px - fontWeight: "normal", - lineHeight: "[1.5]", - color: "fg.body", - overflow: "hidden", - textOverflow: "ellipsis", - whiteSpace: "nowrap", - width: "[100%]", -}); - -// Radio control wrapper styles -const radioControlWrapperStyles = css({ - position: "relative", -}); - -// Radio inner white dot styles -const radioInnerWhiteDotStyles = css({ - position: "absolute", - top: "[50%]", - left: "[50%]", - transform: "[translate(-50%, -50%)]", - width: "[8px]", - height: "[8px]", - borderRadius: "[100px]", - backgroundColor: "[#ffffff]", - transition: "[all 0.1s ease]", - pointerEvents: "none", - opacity: "0", - "[data-state='checked'] ~ &": { - opacity: "1", - }, -}); - -export const RadioGroup: React.FC = ({ - options, +import { RadioGroup as ArkRadioGroup } from "@ark-ui/react/radio-group"; +import { useId } from "react"; + +import { cx } from "@hashintel/ds-helpers/css"; + +import { + getGroupFocusProps, + styles, +} from "../../util/radio-checkbox-group-shared"; +import { Radio } from "../Radio/radio"; + +import type { SharedInputProps } from "../../util/form-shared"; + +type RadioGroupProps = { + /** How the options are arranged (defaults to `block`) */ + layout?: "block" | "inline" | "blockWithBorder"; + /** The selectable options */ + items: Array< + Omit< + React.ComponentProps, + | "size" + | "onChange" + | "value" + | "name" + | "autoFocus" + | "htmlForId" + | "invalid" + | "required" + > & { value: ValueType } + >; +} & Omit>, "inputRef"> & + React.AriaAttributes; + +export const RadioGroup = ({ + layout = "block", + items, + disabled, + className, value, - defaultValue, - disabled = false, + onChange, + onFocus, + onBlur, + ref, + required, + testId, + size = "md", + autoFocus, + invalid, name, - form, - onValueChange, - variant = "default", - id, -}) => { + ...ariaProps +}: RadioGroupProps) => { + // A stable `name` groups the underlying radio inputs so the browser enforces + // single-selection and native arrow-key navigation between them. + const generatedName = useId(); + const groupName = name ?? generatedName; + + // Ark UI's `RadioGroup.Item` forces the label's `htmlFor` to the id it + // generates for the (otherwise hidden) input. Since we render `Radio`'s own + // input instead, we override that id generator and reuse the same id for + // `Radio`'s input, keeping the label correctly associated with the input. + const idPrefix = useId(); + const itemInputId = (optionValue: string) => `${idPrefix}${optionValue}`; + + // Focus the selected option on mount (or the first option if none is set). + const selectedIndex = items.findIndex((item) => item.value === value); + const autoFocusIndex = selectedIndex === -1 ? 0 : selectedIndex; + return ( - { if (details.value !== null) { - onValueChange?.(details.value); + onChange(details.value as ValueType); } }} - id={id} - className={radioGroupRootStyles} + name={groupName} + disabled={disabled} + orientation={layout === "inline" ? "horizontal" : "vertical"} + ids={{ itemHiddenInput: itemInputId }} + data-testid={testId} + ref={ref as React.Ref} + className={cx(styles({ layout, size }), className)} + required={required} + invalid={invalid} + {...getGroupFocusProps({ onFocus, onBlur })} + {...ariaProps} > - {options.map((option) => ( - - {variant === "card" && option.icon && ( -
{option.icon}
- )} - - {variant === "default" ? ( - <> -
- - - -
-
- - - {option.label} - - - ) : ( - <> -
-
- - {option.label} - - - {option.description && ( -

- {option.description} -

- )} -
-
- -
- - - -
-
- - )} - - ))} - - - + {items.map((item, index) => { + const { + value: optionValue, + disabled: itemDisabled, + ...itemProps + } = item; + const itemIsDisabled = disabled === true || itemDisabled === true; + + return ( + + { + if (checked) { + onChange(optionValue); + } + }} + autoFocus={autoFocus && index === autoFocusIndex} + /> + + ); + })} + ); }; diff --git a/libs/@hashintel/ds-components/src/main.ts b/libs/@hashintel/ds-components/src/main.ts index 3b58c184bf0..9703e74de57 100644 --- a/libs/@hashintel/ds-components/src/main.ts +++ b/libs/@hashintel/ds-components/src/main.ts @@ -2,6 +2,7 @@ export { Avatar, type AvatarProps } from "./components/Avatar/avatar"; export { Badge, type BadgeProps } from "./components/Badge/badge"; export { Button, type ButtonProps } from "./components/Button/button"; export { Checkbox } from "./components/Checkbox/checkbox"; +export { CheckboxGroup } from "./components/CheckboxGroup/checkbox-group"; export { Dialog } from "./components/Dialog/dialog"; export { Form } from "./components/Form/form"; export { HelpTooltip } from "./components/HelpTooltip/help-tooltip"; @@ -18,11 +19,7 @@ export type { } from "./components/Menu/SelectableList/selectable-list"; export { NumberInput } from "./components/NumberInput/number-input"; export { Radio } from "./components/Radio/radio"; -export { - RadioGroup, - type RadioGroupOption, - type RadioGroupProps, -} from "./components/RadioGroup/radio-group"; +export { RadioGroup } from "./components/RadioGroup/radio-group"; export { SegmentedControl, type SegmentedControlProps, diff --git a/libs/@hashintel/ds-components/src/util/radio-checkbox-group-shared.ts b/libs/@hashintel/ds-components/src/util/radio-checkbox-group-shared.ts new file mode 100644 index 00000000000..9bfbd8481bc --- /dev/null +++ b/libs/@hashintel/ds-components/src/util/radio-checkbox-group-shared.ts @@ -0,0 +1,137 @@ +import { cva } from "@hashintel/ds-helpers/css"; + +/** + * Event-handler props shared by the container of a radio/checkbox group. + * + * Focus events bubble, so moving between options would otherwise fire blur then + * focus on the group itself. `onFocus`/`onBlur` only forward when focus + * genuinely enters or leaves the group, i.e. when the related element is + * outside it. + * + * `onMouseDown` addresses a related quirk: pressing an option's label blurs the + * currently-focused option out to `` (where `relatedTarget` is null) + * before `click` focuses the pressed option — surfacing as the group losing + * then regaining focus. Preventing the default press behaviour keeps the + * current option focused until `click` moves focus straight to the pressed + * option, so `relatedTarget` stays within the group and the transient never + * happens. + * + * The result is spread onto the group's container element. + */ +export const getGroupFocusProps = ({ + onFocus, + onBlur, +}: { + onFocus?: React.FocusEventHandler; + onBlur?: React.FocusEventHandler; +}): { + onMouseDown: React.MouseEventHandler; + onFocus: React.FocusEventHandler; + onBlur: React.FocusEventHandler; +} => ({ + onMouseDown: (event) => { + if ((event.target as HTMLElement).closest("label")) { + event.preventDefault(); + } + }, + onFocus: (event) => { + if (!event.currentTarget.contains(event.relatedTarget as Node | null)) { + onFocus?.(event as unknown as React.FocusEvent); + } + }, + onBlur: (event) => { + if (!event.currentTarget.contains(event.relatedTarget as Node | null)) { + onBlur?.(event as unknown as React.FocusEvent); + } + }, +}); + +export const styles = cva({ + base: { + display: "flex", + }, + variants: { + size: { + xxs: { + "--group-gap": "8px", + "--group-inline-gap": "14px", + "--group-padding-y": "8px", + "--group-padding-left": "12px", + "--group-padding-right": "12px", + "--group-radius": "6px", + }, + xs: { + "--group-gap": "10px", + "--group-inline-gap": "16px", + "--group-padding-y": "10px", + "--group-padding-left": "15px", + "--group-padding-right": "18px", + "--group-radius": "6px", + }, + sm: { + "--group-gap": "12px", + "--group-inline-gap": "18px", + "--group-padding-y": "11px", + "--group-padding-left": "17px", + "--group-padding-right": "22px", + "--group-radius": "8px", + }, + md: { + "--group-gap": "14px", + "--group-inline-gap": "20px", + "--group-padding-y": "13px", + "--group-padding-left": "19px", + "--group-padding-right": "26px", + "--group-radius": "8px", + }, + lg: { + "--group-gap": "16px", + "--group-inline-gap": "24px", + "--group-padding-y": "15px", + "--group-padding-left": "22px", + "--group-padding-right": "32px", + "--group-radius": "10px", + }, + }, + layout: { + block: { + flexDirection: "column", + alignItems: "flex-start", + gap: "[var(--group-gap)]", + width: "[fit-content]", + + "& > *": { + width: "[100%]", + }, + }, + inline: { + flexWrap: "wrap", + alignItems: "flex-start", + columnGap: "[var(--group-inline-gap)]", + rowGap: "[var(--group-gap)]", + }, + blockWithBorder: { + flexDirection: "column", + border: "[1px solid var(--colors-neutral-s45)]", + borderRadius: "[var(--group-radius)]", + + "& > *": { + paddingBlock: "[var(--group-padding-y)]", + paddingLeft: "[var(--group-padding-left)]", + paddingRight: "[var(--group-padding-right)]", + borderTop: "[1px solid var(--colors-neutral-s45)]", + width: "[100%]", + marginBlock: "[0 !important]", + }, + + "& > *:first-child": { + borderTop: "none", + }, + }, + }, + }, + defaultVariants: { + size: "md", + layout: "block", + }, +}); diff --git a/libs/@hashintel/petrinaut/package.json b/libs/@hashintel/petrinaut/package.json index be836fcfb43..ad2d3f2aa7b 100644 --- a/libs/@hashintel/petrinaut/package.json +++ b/libs/@hashintel/petrinaut/package.json @@ -52,7 +52,7 @@ }, "dependencies": { "@ai-sdk/react": "3.0.184", - "@ark-ui/react": "5.26.2", + "@ark-ui/react": "5.37.2", "@babel/standalone": "7.28.5", "@fontsource-variable/inter": "5.2.8", "@fontsource-variable/inter-tight": "5.2.7", diff --git a/yarn.lock b/yarn.lock index 0d7f6da54a1..b72f914a348 100644 --- a/yarn.lock +++ b/yarn.lock @@ -572,7 +572,7 @@ __metadata: dependencies: "@ai-sdk/openai": "npm:3.0.63" "@apollo/client": "npm:3.10.5" - "@ark-ui/react": "npm:5.26.2" + "@ark-ui/react": "npm:5.37.2" "@blockprotocol/core": "npm:0.1.5" "@blockprotocol/graph": "workspace:*" "@blockprotocol/hook": "npm:0.1.8" @@ -946,75 +946,81 @@ __metadata: languageName: node linkType: hard -"@ark-ui/react@npm:5.26.2": - version: 5.26.2 - resolution: "@ark-ui/react@npm:5.26.2" - dependencies: - "@internationalized/date": "npm:3.10.0" - "@zag-js/accordion": "npm:1.26.3" - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/angle-slider": "npm:1.26.3" - "@zag-js/async-list": "npm:1.26.3" - "@zag-js/auto-resize": "npm:1.26.3" - "@zag-js/avatar": "npm:1.26.3" - "@zag-js/bottom-sheet": "npm:1.26.3" - "@zag-js/carousel": "npm:1.26.3" - "@zag-js/checkbox": "npm:1.26.3" - "@zag-js/clipboard": "npm:1.26.3" - "@zag-js/collapsible": "npm:1.26.3" - "@zag-js/collection": "npm:1.26.3" - "@zag-js/color-picker": "npm:1.26.3" - "@zag-js/color-utils": "npm:1.26.3" - "@zag-js/combobox": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/date-picker": "npm:1.26.3" - "@zag-js/date-utils": "npm:1.26.3" - "@zag-js/dialog": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/editable": "npm:1.26.3" - "@zag-js/file-upload": "npm:1.26.3" - "@zag-js/file-utils": "npm:1.26.3" - "@zag-js/floating-panel": "npm:1.26.3" - "@zag-js/focus-trap": "npm:1.26.3" - "@zag-js/highlight-word": "npm:1.26.3" - "@zag-js/hover-card": "npm:1.26.3" - "@zag-js/i18n-utils": "npm:1.26.3" - "@zag-js/json-tree-utils": "npm:1.26.3" - "@zag-js/listbox": "npm:1.26.3" - "@zag-js/menu": "npm:1.26.3" - "@zag-js/number-input": "npm:1.26.3" - "@zag-js/pagination": "npm:1.26.3" - "@zag-js/password-input": "npm:1.26.3" - "@zag-js/pin-input": "npm:1.26.3" - "@zag-js/popover": "npm:1.26.3" - "@zag-js/presence": "npm:1.26.3" - "@zag-js/progress": "npm:1.26.3" - "@zag-js/qr-code": "npm:1.26.3" - "@zag-js/radio-group": "npm:1.26.3" - "@zag-js/rating-group": "npm:1.26.3" - "@zag-js/react": "npm:1.26.3" - "@zag-js/scroll-area": "npm:1.26.3" - "@zag-js/select": "npm:1.26.3" - "@zag-js/signature-pad": "npm:1.26.3" - "@zag-js/slider": "npm:1.26.3" - "@zag-js/splitter": "npm:1.26.3" - "@zag-js/steps": "npm:1.26.3" - "@zag-js/switch": "npm:1.26.3" - "@zag-js/tabs": "npm:1.26.3" - "@zag-js/tags-input": "npm:1.26.3" - "@zag-js/timer": "npm:1.26.3" - "@zag-js/toast": "npm:1.26.3" - "@zag-js/toggle": "npm:1.26.3" - "@zag-js/toggle-group": "npm:1.26.3" - "@zag-js/tooltip": "npm:1.26.3" - "@zag-js/tour": "npm:1.26.3" - "@zag-js/tree-view": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" +"@ark-ui/react@npm:5.37.2": + version: 5.37.2 + resolution: "@ark-ui/react@npm:5.37.2" + dependencies: + "@internationalized/date": "npm:3.12.2" + "@zag-js/accordion": "npm:1.41.2" + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/angle-slider": "npm:1.41.2" + "@zag-js/async-list": "npm:1.41.2" + "@zag-js/auto-resize": "npm:1.41.2" + "@zag-js/avatar": "npm:1.41.2" + "@zag-js/carousel": "npm:1.41.2" + "@zag-js/cascade-select": "npm:1.41.2" + "@zag-js/checkbox": "npm:1.41.2" + "@zag-js/clipboard": "npm:1.41.2" + "@zag-js/collapsible": "npm:1.41.2" + "@zag-js/collection": "npm:1.41.2" + "@zag-js/color-picker": "npm:1.41.2" + "@zag-js/color-utils": "npm:1.41.2" + "@zag-js/combobox": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/date-input": "npm:1.41.2" + "@zag-js/date-picker": "npm:1.41.2" + "@zag-js/date-utils": "npm:1.41.2" + "@zag-js/dialog": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/drawer": "npm:1.41.2" + "@zag-js/editable": "npm:1.41.2" + "@zag-js/file-upload": "npm:1.41.2" + "@zag-js/file-utils": "npm:1.41.2" + "@zag-js/floating-panel": "npm:1.41.2" + "@zag-js/focus-trap": "npm:1.41.2" + "@zag-js/focus-visible": "npm:1.41.2" + "@zag-js/highlight-word": "npm:1.41.2" + "@zag-js/hover-card": "npm:1.41.2" + "@zag-js/i18n-utils": "npm:1.41.2" + "@zag-js/image-cropper": "npm:1.41.2" + "@zag-js/json-tree-utils": "npm:1.41.2" + "@zag-js/listbox": "npm:1.41.2" + "@zag-js/marquee": "npm:1.41.2" + "@zag-js/menu": "npm:1.41.2" + "@zag-js/navigation-menu": "npm:1.41.2" + "@zag-js/number-input": "npm:1.41.2" + "@zag-js/pagination": "npm:1.41.2" + "@zag-js/password-input": "npm:1.41.2" + "@zag-js/pin-input": "npm:1.41.2" + "@zag-js/popover": "npm:1.41.2" + "@zag-js/presence": "npm:1.41.2" + "@zag-js/progress": "npm:1.41.2" + "@zag-js/qr-code": "npm:1.41.2" + "@zag-js/radio-group": "npm:1.41.2" + "@zag-js/rating-group": "npm:1.41.2" + "@zag-js/react": "npm:1.41.2" + "@zag-js/scroll-area": "npm:1.41.2" + "@zag-js/select": "npm:1.41.2" + "@zag-js/signature-pad": "npm:1.41.2" + "@zag-js/slider": "npm:1.41.2" + "@zag-js/splitter": "npm:1.41.2" + "@zag-js/steps": "npm:1.41.2" + "@zag-js/switch": "npm:1.41.2" + "@zag-js/tabs": "npm:1.41.2" + "@zag-js/tags-input": "npm:1.41.2" + "@zag-js/timer": "npm:1.41.2" + "@zag-js/toast": "npm:1.41.2" + "@zag-js/toggle": "npm:1.41.2" + "@zag-js/toggle-group": "npm:1.41.2" + "@zag-js/tooltip": "npm:1.41.2" + "@zag-js/tour": "npm:1.41.2" + "@zag-js/tree-view": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" peerDependencies: react: ">=18.0.0" react-dom: ">=18.0.0" - checksum: 10c0/57f2e1b0f093f60121498307537cf3d2a9dce4c2972990b2b8f9ca6b21af76910e7f97ac373cbaa8ff0aab645fdf57df0a7304c2d00570a7b60773cf2083fb53 + checksum: 10c0/ba3bb22fbe88c36d6af547a4da2ca6950fa28fd8c65926a53f712f4ce048de73ea910e9d0efe3056e7c2d69bf6f15520571edfe50dc5bfb2e5582564453eebdf languageName: node linkType: hard @@ -5585,22 +5591,22 @@ __metadata: languageName: node linkType: hard -"@floating-ui/core@npm:^1.7.3": - version: 1.7.3 - resolution: "@floating-ui/core@npm:1.7.3" +"@floating-ui/core@npm:^1.7.5": + version: 1.7.5 + resolution: "@floating-ui/core@npm:1.7.5" dependencies: - "@floating-ui/utils": "npm:^0.2.10" - checksum: 10c0/edfc23800122d81df0df0fb780b7328ae6c5f00efbb55bd48ea340f4af8c5b3b121ceb4bb81220966ab0f87b443204d37105abdd93d94846468be3243984144c + "@floating-ui/utils": "npm:^0.2.11" + checksum: 10c0/f9c52205e198b231d63a387b09c659aab08c46a1899e0b0bbe147b8b4f048b546f15ba17cb5d2a471da9534f1883d979425e13e5c4ceee67be63e4b0abd4db5d languageName: node linkType: hard -"@floating-ui/dom@npm:1.7.4, @floating-ui/dom@npm:^1.0.0": - version: 1.7.4 - resolution: "@floating-ui/dom@npm:1.7.4" +"@floating-ui/dom@npm:^1.0.0, @floating-ui/dom@npm:^1.7.6": + version: 1.7.6 + resolution: "@floating-ui/dom@npm:1.7.6" dependencies: - "@floating-ui/core": "npm:^1.7.3" - "@floating-ui/utils": "npm:^0.2.10" - checksum: 10c0/da6166c25f9b0729caa9f498685a73a0e28251613b35d27db8de8014bc9d045158a23c092b405321a3d67c2064909b6e2a7e6c1c9cc0f62967dca5779f5aef30 + "@floating-ui/core": "npm:^1.7.5" + "@floating-ui/utils": "npm:^0.2.11" + checksum: 10c0/5c098e0d7b58c9bc769f276cca1766994c2c9c70c92d091a61bba8b3e9be53c011e0a79a8457fc2fb2f3d91697a26eb52e0a4962ef936dc963b45f58613c212f languageName: node linkType: hard @@ -5616,10 +5622,10 @@ __metadata: languageName: node linkType: hard -"@floating-ui/utils@npm:^0.2.10": - version: 0.2.10 - resolution: "@floating-ui/utils@npm:0.2.10" - checksum: 10c0/e9bc2a1730ede1ee25843937e911ab6e846a733a4488623cd353f94721b05ec2c9ec6437613a2ac9379a94c2fd40c797a2ba6fa1df2716f5ce4aa6ddb1cf9ea4 +"@floating-ui/utils@npm:^0.2.11": + version: 0.2.11 + resolution: "@floating-ui/utils@npm:0.2.11" + checksum: 10c0/f4bcea1559bdbb721ecc8e8ead423ac58d6a5b6e70b602cf0810ba6ad4ed1c77211b207faa88b278a9042f0c743133de08a203ed6741c1b6443423332884d5b3 languageName: node linkType: hard @@ -6620,7 +6626,7 @@ __metadata: version: 0.0.0-use.local resolution: "@hashintel/ds-components@workspace:libs/@hashintel/ds-components" dependencies: - "@ark-ui/react": "npm:5.26.2" + "@ark-ui/react": "npm:5.37.2" "@fontsource-variable/geist-mono": "npm:5.2.7" "@fontsource-variable/inter": "npm:5.2.8" "@fontsource-variable/inter-tight": "npm:5.2.7" @@ -6661,7 +6667,7 @@ __metadata: vitest-browser-react: "npm:^2.0.2" zod: "npm:4.4.3" peerDependencies: - "@ark-ui/react": ^5.26.2 + "@ark-ui/react": ^5.37.2 "@hashintel/ds-helpers": "workspace:^" react: ^19.2.0 react-dom: ^19.2.0 @@ -6713,7 +6719,7 @@ __metadata: resolution: "@hashintel/petrinaut@workspace:libs/@hashintel/petrinaut" dependencies: "@ai-sdk/react": "npm:3.0.184" - "@ark-ui/react": "npm:5.26.2" + "@ark-ui/react": "npm:5.37.2" "@babel/standalone": "npm:7.28.5" "@fontsource-variable/inter": "npm:5.2.8" "@fontsource-variable/inter-tight": "npm:5.2.7" @@ -7417,21 +7423,21 @@ __metadata: languageName: node linkType: hard -"@internationalized/date@npm:3.10.0": - version: 3.10.0 - resolution: "@internationalized/date@npm:3.10.0" +"@internationalized/date@npm:3.12.2": + version: 3.12.2 + resolution: "@internationalized/date@npm:3.12.2" dependencies: "@swc/helpers": "npm:^0.5.0" - checksum: 10c0/29634148f0d9232e65402a5c6a4194ecf7c375e89e687f71dd084d30315c9d544e2202de2ec26e199432c620da41a15cc473479f80897e08566e274e402f898e + checksum: 10c0/1640dbec517b07a820b754c128ecd85930cc2f50b753b406611e59bff5aae8cac3a7ede575a66e462778ff007720af601779da08f0a2e5cdcac496c8b9593172 languageName: node linkType: hard -"@internationalized/number@npm:3.6.5": - version: 3.6.5 - resolution: "@internationalized/number@npm:3.6.5" +"@internationalized/number@npm:3.6.6": + version: 3.6.6 + resolution: "@internationalized/number@npm:3.6.6" dependencies: "@swc/helpers": "npm:^0.5.0" - checksum: 10c0/f87d710863a8dbf057aac311193c82f3c42e862abdd99e5b71034f1022926036552620eab5dd00c23e975f28b9e41e830cb342ba0264436749d9cdc5ae031d44 + checksum: 10c0/70fe93dcbeb9b2048240dd26e98186ead2c7a14fc508da0ba5d995a3deb4a8176956361774ca927b4106bbd3f8411315b80de7cf9bfc727c0cff802b460e75d2 languageName: node linkType: hard @@ -18598,870 +18604,948 @@ __metadata: languageName: node linkType: hard -"@zag-js/accordion@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/accordion@npm:1.26.3" +"@zag-js/accordion@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/accordion@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/9492c807e84b8a581317612fd46905583e5dfaa8228dee3be57cd3d5ad07c1cd7149781ccd92a652dd3c39eec0b8b2ef9c25a70c8c855b78b483b96495f9d7cd + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/6afb0d1a69236fb6fc766df9d41b372064a5d9de0c4197eb4ce46bc64c9b6b7de3224e6e0587fd5c11c99c1bd41acccd405490b57f4aec2e0d9e82f8b769dbc2 + languageName: node + linkType: hard + +"@zag-js/anatomy@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/anatomy@npm:1.41.2" + checksum: 10c0/ccfb9cca7ac03a8f01a95296c3732580de32180ccdb368e7dda1f6965eb86a7d576b6adc22c6c713ba968544b6234675aca1d8a42277ddce148cccb5b1940d30 languageName: node linkType: hard -"@zag-js/anatomy@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/anatomy@npm:1.26.3" - checksum: 10c0/9213787ce3e976238cd9882bea74ba53bfd3870011f4a20117d9eee344a261496813c1f86733ddf50c7cccf9d16a8efd94026b78c66d73544e83ba76cfb0697a +"@zag-js/angle-slider@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/angle-slider@npm:1.41.2" + dependencies: + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/rect-utils": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/be24dcc683be35dc9e19232a5868ac93b23b327595df5222d1c94309ddd8482338c3259dc035109ad8c69f4c5127dfa152d7d1e3a53775344a75dbcc09517943 languageName: node linkType: hard -"@zag-js/angle-slider@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/angle-slider@npm:1.26.3" +"@zag-js/aria-hidden@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/aria-hidden@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/rect-utils": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/e29260e94c3d8fa594a6302f0bb154682281aa8dccea2611e50790bde593a245705e52b580fa0e47e01162da9b7ec43af343515793e98070d0a9b7330132f2dc + "@zag-js/dom-query": "npm:1.41.2" + checksum: 10c0/8f654c5f433d017df2ea33625c012e67f99ed4f2365aa4548682919d7790c218e58a030f86fa84fd23ec78d1674e97d03c8f08df065135f5fa6a8ab3050db97c languageName: node linkType: hard -"@zag-js/aria-hidden@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/aria-hidden@npm:1.26.3" +"@zag-js/async-list@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/async-list@npm:1.41.2" dependencies: - "@zag-js/dom-query": "npm:1.26.3" - checksum: 10c0/f412b9eb2ebf6515b38ab6fd895ce8a2832df108b8ba30a33387f215a64261f42490deedbd61d3ce6dec85f4e7218f4ea4ed08f16e54bbb7e4fef70bf55c737b + "@zag-js/core": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/41791d617f931eba09b07326a0b0e93c65bee3e026b0a0147aabebb8fdf9f86d2c79f2a10a4424cdfb220d1b3c80f97e0ec8913857e1018ceac0e4f8a3772436 languageName: node linkType: hard -"@zag-js/async-list@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/async-list@npm:1.26.3" +"@zag-js/auto-resize@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/auto-resize@npm:1.41.2" dependencies: - "@zag-js/core": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/f728ce5d90d217f08f9a64b41c85c8965b35755e73ff0c0a5bd6bb27428521d75da566c5ada5da51043edbac419b7b06bb1fde5c006c968af4eae774cc76a3e8 + "@zag-js/dom-query": "npm:1.41.2" + checksum: 10c0/9cbf06895565aec675cd60e68e05425b071bd258e26bf474a58d3ddfef56b35008560b7c6ea4ad3992756b885a90f6689806aea1651264c43598d68460597ad7 languageName: node linkType: hard -"@zag-js/auto-resize@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/auto-resize@npm:1.26.3" +"@zag-js/avatar@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/avatar@npm:1.41.2" dependencies: - "@zag-js/dom-query": "npm:1.26.3" - checksum: 10c0/96d3760adbb0d3a92fe73e53b7a1eb1d30eead3e98c56d63cae70d749a4cd4cb03b509c13ed15b6a2d749b6c54fc5956965d1c6aec40aec5d73b8db19ac7643b + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/8c174f9142829b3639163a502f50ce6374c698c7eb8111c58c3024bfdd04c7c1ca2065d372d3f9120a636f295807874cc8e6be7adc5a2b9714f850d65cc96aa8 languageName: node linkType: hard -"@zag-js/avatar@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/avatar@npm:1.26.3" +"@zag-js/carousel@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/carousel@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/2a9a8adf258f3d5dde65315defea1419f3fd54ee2b56a322ea08c99b952b981d3f2fcda9324e07ad3942e10825c2fa9bdcf0739772919f27793c03b647fc3a6a + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/scroll-snap": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/4d39b25ffb75db773c8b5dcf85b50e61632c98b32b7058d58c3a965e6288a07c028f64a59da69b72c87109347c9eb102ad349183adb5f0ab337f52e12ab9e6d8 languageName: node linkType: hard -"@zag-js/bottom-sheet@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/bottom-sheet@npm:1.26.3" +"@zag-js/cascade-select@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/cascade-select@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/aria-hidden": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dismissable": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/focus-trap": "npm:1.26.3" - "@zag-js/remove-scroll": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/084a1a7469097163dfecba58d3d3d8faae16040bb9403805abad7de1450c0908b9b9c56d1e56053c9375203497dd7c0b946cee48db47c80d71d56b528babd690 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/collection": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dismissable": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/focus-visible": "npm:1.41.2" + "@zag-js/popper": "npm:1.41.2" + "@zag-js/rect-utils": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/aa8e610d19aed10b03ad03b11934717ae507d3a4e06dc2eb346c7a7cd1815d4cf92ec66940bdd2940bcc003e47a1a1b40deb78adaaaf3ac4a8875a00574d0bc6 languageName: node linkType: hard -"@zag-js/carousel@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/carousel@npm:1.26.3" +"@zag-js/checkbox@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/checkbox@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/scroll-snap": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/fb997cb25670abbf0d359f1a78a563099874a933cec639b1ce810ee3d43d886daf82a6391f29f76064c94029ff0e3a1f3c049135532f5c93585372c1e30e1bf8 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/focus-visible": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/b6af4b2b084f15df7cc558d350123f52d575571f74d0f487c24fd970f218265132158155768803332657af7fab5f729a6b6264f36fcb1c51c8334c1af35dce2f languageName: node linkType: hard -"@zag-js/checkbox@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/checkbox@npm:1.26.3" +"@zag-js/clipboard@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/clipboard@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/focus-visible": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/28a270c988d83fb1bb28b5da06224a1c17372f54dd553408d69395bc7c2ec5d40cb15ca91a257f5d6d8233f1a45c625a8471a36e19a581a076a6ffc9987e03c2 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/9d5fb2052bf704080383fa5cf496ccfa5a4044ab0d4e829bf1d5bcb4f5271cbdd892050ffd72d37c1e3f615840be0763ea3fe4a6f37f7a84289e4be71ccc1d6c languageName: node linkType: hard -"@zag-js/clipboard@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/clipboard@npm:1.26.3" +"@zag-js/collapsible@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/collapsible@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/57a7026213a62cfbef85c4edf99404c5870c60913809f071733400dd9e9dbd9b71aaaafda2d0663b2adfb77aefbd063370f191728b34e9a2bb2d0c4706258c85 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/2a3a1dcfd5c8b846ac9f141dc6c3479988611ebe3d2c5312a87a21857a7b210b11aa160bad8ffaf00cdbf97762fc5f84ae473683fb23012b5a4d34ac74510d80 languageName: node linkType: hard -"@zag-js/collapsible@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/collapsible@npm:1.26.3" +"@zag-js/collection@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/collection@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/dc686463451a26a51bf5a27cee26fa903af13b28296f5775029b0431880fc9d6d8808ec46dd8013160ccbf6e2510fbcb4626426026a1be92402d9e5cdcd0c8a1 + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/a08b947d95d07e3a6206d76c286ad09611c3c63b1d4d0be20a4424f10bfb58fb7c4ccb3238b41a67c31c1890cb101d9c7d3415db00790841060833a91e2db23d languageName: node linkType: hard -"@zag-js/collection@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/collection@npm:1.26.3" +"@zag-js/color-picker@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/color-picker@npm:1.41.2" dependencies: - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/6fcf4af177959febe59cb99a0d5aa45c0b6921217575b15c68afc1527361e226304253ea2d68889c5801e1889b53882c011521f8f43d632f6a77d7d9512eda64 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/color-utils": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dismissable": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/popper": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/a6084a3e74b74491f7752b40a0cf2939f6c40d298a37c0f6c38eece444078d6e4ec2ae3e41322ba8f6a0cdaeda90306821f181a0d9977ff05f9600c7dcad93a7 languageName: node linkType: hard -"@zag-js/color-picker@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/color-picker@npm:1.26.3" +"@zag-js/color-utils@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/color-utils@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/color-utils": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dismissable": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/popper": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/579ac91fee2e22d77024660c5fa9f281b8426b26312c777afe5bcad2fba68fa6a04793798e32551f3a71be1258b21d9e919e91d6db3586f6951f3baa6f3ca86d + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/2e1b7ad4f4bcd64c788bcd6a2cdf6eea8717129ccd4d3a8ca7ce55eb79a3889ca24ebf315dfb4e29040bea917c9c968e66ebede00d4a45192061412e61fda86d languageName: node linkType: hard -"@zag-js/color-utils@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/color-utils@npm:1.26.3" +"@zag-js/combobox@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/combobox@npm:1.41.2" dependencies: - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/41524ee39a8301ea8f703f76aaf9d3caec23eea6ab3dc6e7a13256271c89264c52d095da3163d03d1c3f218441cd0e3ab2b7f5bcd9a4850792a11bac95ef2be4 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/collection": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dismissable": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/focus-visible": "npm:1.41.2" + "@zag-js/live-region": "npm:1.41.2" + "@zag-js/popper": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/bf24cc310cafad578de562259a53cef6b8b13451d0068f3c8a23436121adae6ff631ba817b034176b8f2fb0bf11833724dfff6adc9357c2c09bcb8215ccc1568 languageName: node linkType: hard -"@zag-js/combobox@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/combobox@npm:1.26.3" +"@zag-js/core@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/core@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/aria-hidden": "npm:1.26.3" - "@zag-js/collection": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dismissable": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/popper": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/45592b88d9d48850acf025c6982ba717815c6eb3f8a6f1a11ef6b640c6da55b4a0995e5c9606dce8cd7a69aae21eb06791ae05f334e15c283206ded2507cbd49 + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/518b52c9774ef01a73bac5f8d67c31b43953fae34664a6ec5fd2f72a8533952238ef654ce287952583830208089c8928ed5c703fb7c3b1c7fda5b9a5fd942b3f languageName: node linkType: hard -"@zag-js/core@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/core@npm:1.26.3" +"@zag-js/date-input@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/date-input@npm:1.41.2" dependencies: - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/3d90e35e1b2123fcd6a738bb5d0130d898ded36a7a8ffacff10f37e302625d40becba896b383d99a0e2f82daf21ff6848dbff7ce0aab9b9fe5b25ba973e4ff92 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/date-utils": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/live-region": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + peerDependencies: + "@internationalized/date": ">=3.0.0" + checksum: 10c0/9ec7b7360d336de129a6a70a7f989366249f5a98929cec5a8be007c823c724fea9f50ee499c4c821344b3bd92769af741b154dbb3eb222cd6c4f17af8322901d languageName: node linkType: hard -"@zag-js/date-picker@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/date-picker@npm:1.26.3" +"@zag-js/date-picker@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/date-picker@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/date-utils": "npm:1.26.3" - "@zag-js/dismissable": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/live-region": "npm:1.26.3" - "@zag-js/popper": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/date-utils": "npm:1.41.2" + "@zag-js/dismissable": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/live-region": "npm:1.41.2" + "@zag-js/popper": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" peerDependencies: "@internationalized/date": ">=3.0.0" - checksum: 10c0/499abc7588ede0826992866d9b0f01975891f9614bed83241a41de310e5668c4d1bc858fcb263ed60e82cc88583167774237cbac549bc95a47ed42f1f7aa9e21 + checksum: 10c0/acd5cc69686f63ef1b499dc2f251b626484cd9b02fa563188d1de29aadd6d26fba097ae159414179656f774c193b5fb3f8fd792e3c0611fa84738a107f1c2664 languageName: node linkType: hard -"@zag-js/date-utils@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/date-utils@npm:1.26.3" +"@zag-js/date-utils@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/date-utils@npm:1.41.2" peerDependencies: "@internationalized/date": ">=3.0.0" - checksum: 10c0/8b7f03d06c62eb91d824e3ba3257e8712de41af3ee68bf27299ae80ab66950099a4e0e86891cd0a86dce6f014d08696fd05144c5396d19182137a81e7cd68a09 + checksum: 10c0/b5ad90a058b4aaefcf7d54b5d723ab93c59b77b04432aefc7600ff371184723c906647df8f846d9bcc79e79abccb4146252cc2f634974657803df689a2a326ed + languageName: node + linkType: hard + +"@zag-js/dialog@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/dialog@npm:1.41.2" + dependencies: + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/aria-hidden": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dismissable": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/focus-trap": "npm:1.41.2" + "@zag-js/remove-scroll": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/6b30782a5f41786aa80d3f8db22faaa867a8f413cf4cba53a459373aab5f9e440b3fbe156704a3a31485e711b8a6cb76642b2ee5e92497b3b5fd0479772daf50 + languageName: node + linkType: hard + +"@zag-js/dismissable@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/dismissable@npm:1.41.2" + dependencies: + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/interact-outside": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/28ee59803e8449396410b29e1ce3df8f616404a66d70647ce11fd6fb86dd450fd0fac0f2f1e5be7efed395b19e2616679bba91e915d922e0af993a799d6df911 languageName: node linkType: hard -"@zag-js/dialog@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/dialog@npm:1.26.3" +"@zag-js/dom-query@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/dom-query@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/aria-hidden": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dismissable": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/focus-trap": "npm:1.26.3" - "@zag-js/remove-scroll": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/9c2211b41af17b4fccbf781229d3e43eec6c07242c7f55b0d174e705dc011553894a785d3f1c8df88676e6d60629c3ac1b706439556d8b29295b15e53701e5f6 + "@zag-js/types": "npm:1.41.2" + checksum: 10c0/5b42a8790e7ec79e56533b9807c5d43406012ba2eef12f4a6a7e5efd490680d8f77b19e54ccd6b0b66d9d23fed1cb705b8267f2474b78314b3863248daeb2bbc languageName: node linkType: hard -"@zag-js/dismissable@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/dismissable@npm:1.26.3" +"@zag-js/drawer@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/drawer@npm:1.41.2" dependencies: - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/interact-outside": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/bb07a90ba7ef909a5980737809f0880b150f02ca4178f1c9e23eb25fc9a65f049692d2287e1ea2bf8ee734fa89e78a3c227c0716396bc0a2a8f7eb18c40900dd + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/aria-hidden": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dismissable": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/focus-trap": "npm:1.41.2" + "@zag-js/remove-scroll": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/55d291f18ac6465e9907ce676c9d99f44fb85644a09ac921d04fff77a5a24972a246443b00c4ac92d68caaea6300e8a7a93ab19391e63ee7a13064b160caafda languageName: node linkType: hard -"@zag-js/dom-query@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/dom-query@npm:1.26.3" +"@zag-js/editable@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/editable@npm:1.41.2" dependencies: - "@zag-js/types": "npm:1.26.3" - checksum: 10c0/ceaf884aba07aeea47456b34daf68d8d817e4271d9b3ed6d6a536868da96e54d48235adad3b8f928f31177f1d8a59b5ff05bf300fc425cdf7cec5a4e44ca94f5 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/interact-outside": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/1f38681cd5d94ac16c5e5c8a61a8136c65f481e67ee1123efda1055098d84aceb8ad9cfd8f5ad572e235600e00c944d3413e145383fc68ef3d71681f447512a9 languageName: node linkType: hard -"@zag-js/editable@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/editable@npm:1.26.3" +"@zag-js/file-upload@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/file-upload@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/interact-outside": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/56505fbd8b2f0f6da5d7a5c75feb0973d3c37e44e78059f011a8a68333a6508a17a6135a295cec11cc39320b7f96547f0070100cc8bcbcc50ea0b513fe77709e + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/file-utils": "npm:1.41.2" + "@zag-js/i18n-utils": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/f1b6f2e4823f924ec4102160e98b691d0bf7925507fc968f1dff5fad009e27ba9d7e0d799cf5c70b8e9884f3810515d7bebd6280294b3983e257933efc360bdf languageName: node linkType: hard -"@zag-js/file-upload@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/file-upload@npm:1.26.3" +"@zag-js/file-utils@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/file-utils@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/file-utils": "npm:1.26.3" - "@zag-js/i18n-utils": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/c213c65dc53b89439f59c8e9836a037e19de81aa71e1fab93505fa72068eb4c57c83e59f6babb9420836218819628ad8004ffa9cfb39ceba00f1c7c3c746f1bc + "@zag-js/i18n-utils": "npm:1.41.2" + checksum: 10c0/e0fd2dfe44c0d4268df5fac69feddf31c9f2a60c3ea24ea07cb797c767d614798d5b1bb810483d7f41bed148bc24d7f5dc7f8b87e04cf441a3813c7d1278a767 languageName: node linkType: hard -"@zag-js/file-utils@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/file-utils@npm:1.26.3" +"@zag-js/floating-panel@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/floating-panel@npm:1.41.2" dependencies: - "@zag-js/i18n-utils": "npm:1.26.3" - checksum: 10c0/d65d47abce8b2479ffe1b3df8874cebd21819ff88480347df8929d8c9e61deaa4304c82653b345a70bbcdb58817dbd407dc58ea350ed4dd39926eeba113afef2 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/popper": "npm:1.41.2" + "@zag-js/rect-utils": "npm:1.41.2" + "@zag-js/store": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/ad80a9bec14fecbecd143a1a1cc4a0374c607f905d089c3fc8ebd9cc2477435f0e9d2c0f8c1195db2a7ab1c473c93c63a09949bc74912e61c118946c9127c07e languageName: node linkType: hard -"@zag-js/floating-panel@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/floating-panel@npm:1.26.3" +"@zag-js/focus-trap@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/focus-trap@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/popper": "npm:1.26.3" - "@zag-js/rect-utils": "npm:1.26.3" - "@zag-js/store": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/7906d180bcb04a2dfca14bf17f8ba98828de149623ff96b9657cc7b7915505364c71079d8a3d5e32a2c3c0d08c786819f6b4e1cfc6cab5116e0910b1856c8e54 + "@zag-js/dom-query": "npm:1.41.2" + checksum: 10c0/9cdcbbaa75d695d7c9c12f498315e7a5429077ce95a965e2811b7da03832b767dba8749738a7bff38a78e64d002058a248954d4c7ddbf710569574d22d651a14 languageName: node linkType: hard -"@zag-js/focus-trap@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/focus-trap@npm:1.26.3" +"@zag-js/focus-visible@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/focus-visible@npm:1.41.2" dependencies: - "@zag-js/dom-query": "npm:1.26.3" - checksum: 10c0/14ec3c4e026994e6d98cf965bec097a34eed93cb7e4478d31c5609469e6db0b7622b7d72fde7bc147d74fc5d4164f5bd0eb32814721d07ad93c95cfd5018ebb5 + "@zag-js/dom-query": "npm:1.41.2" + checksum: 10c0/a57be01f9daf3384f1f2f8b52d630bbc60977bef582b666234502e9c5af81c7c67b0d75363c2e42177bf143397157c78e0679673a31c0fea671fda757d5317b5 languageName: node linkType: hard -"@zag-js/focus-visible@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/focus-visible@npm:1.26.3" +"@zag-js/highlight-word@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/highlight-word@npm:1.41.2" + checksum: 10c0/5e357b37dc2e78e0066dce470949313162758b47965b7854c63d2e2eed5ef700a7542acc086eb9cf61d4af09705c28781cc11ed23c7498cfb8a254a98418752e + languageName: node + linkType: hard + +"@zag-js/hover-card@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/hover-card@npm:1.41.2" dependencies: - "@zag-js/dom-query": "npm:1.26.3" - checksum: 10c0/c462181ae2df8771bb38b733c56dddc0ade4bb5c92bc88373d11c2fbabb158892bac5b4e7284073ff73738623e9bfc46e8ab1a1c30edf6e33f00e28948b31c34 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dismissable": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/popper": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/5c0bceaddc8eea2afd777fa6f1b21ce1360890faf371cbce6cb0c4b6a6e83ee79b2cd211f598a345ac39a5b0fae1ed6dac64ae27226a5620af3ac53e7642b4d5 languageName: node linkType: hard -"@zag-js/highlight-word@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/highlight-word@npm:1.26.3" - checksum: 10c0/b96a9ad68f58c99f20a65e8d011045b85f6120a19818a091a9a00164616f55a16015db1638298996d89116a3a0f76438d0fcc1b96405777ee715836cb295cedd +"@zag-js/i18n-utils@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/i18n-utils@npm:1.41.2" + dependencies: + "@zag-js/dom-query": "npm:1.41.2" + checksum: 10c0/f986d06e3a549d5695ac077d63db7a87559b11d75ffbe6888962301be4017aa4c0cded511935f789ba08f9cfb8b5ce005dcc4404266d76c5b73e3e95c5fc3f6d languageName: node linkType: hard -"@zag-js/hover-card@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/hover-card@npm:1.26.3" +"@zag-js/image-cropper@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/image-cropper@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dismissable": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/popper": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/1399822ff18b8e0debc01595ad441a78c48806370aba2c9bd44a64f95c3efabe97800969e22e445bec8cc32ce3b88d090e4963ab124148b3b4ec8ff0d3f01ada + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/bbeea5683bf5a7b83370318c2bed071e01dda3b79203e11ff068ce71cc9fd861f825f416c1aa93f209205c25e37a48e916713269f6521aa64b275435415605be languageName: node linkType: hard -"@zag-js/i18n-utils@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/i18n-utils@npm:1.26.3" +"@zag-js/interact-outside@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/interact-outside@npm:1.41.2" dependencies: - "@zag-js/dom-query": "npm:1.26.3" - checksum: 10c0/954bd8838519511b5f68a17b8528b84a2e9db48ccc4a9f7872ed56d2cddb091f0e7e595c4d97a00cc0d05b4b001bd89f227232c1d8b3288cf4da1c85f730cb99 + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/e9b4beace470cc65cce6b665d98e79c044e784a54c49c0b63d8e5fda1a6cb7381c52068af0f0be9a411cf22e0b0b7f2bc2688677025f851681544170b29116fb languageName: node linkType: hard -"@zag-js/interact-outside@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/interact-outside@npm:1.26.3" +"@zag-js/json-tree-utils@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/json-tree-utils@npm:1.41.2" + checksum: 10c0/542cd645ded3041cdf1e75e38701385f033c0c76778f195a95378954d15a5cddb0175b19180d189a793dcb43f39ef018afc315ad6ac9053691adcc9fa32348b6 + languageName: node + linkType: hard + +"@zag-js/listbox@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/listbox@npm:1.41.2" dependencies: - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/8a880d1d6a86b207321bdd9569a0794a57f694e63e88e7f51995441b476b4504aae63788fbf56e50c034a1bed5118b574a7af634dc05cb18a42f1b155a56f3f4 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/collection": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/focus-visible": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/995896f729a38e5f56453fee6523857e27c2f961bc5164addcdd08db037b66593174a2d497ff5fff891f4452c0590e9912f0e53769f7da311b5986de677d61f2 languageName: node linkType: hard -"@zag-js/json-tree-utils@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/json-tree-utils@npm:1.26.3" - checksum: 10c0/94c81afb9080d4d5ac79fe1398101df8bc207a1f802d5faf9cfca4b4ae32907aa1eb5c21c92a9cc284f0899636d81d9bcb994fafd06e9fd576cdc1279dfd512c +"@zag-js/live-region@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/live-region@npm:1.41.2" + checksum: 10c0/f4b45fc71a1341b75500ea713a60e06ed56f9989e37df10787628c9ff0a2dd65c675105ca1c7e2af477ff91e75440eb9ff1df18c2a0cb7338df1c68053539bd7 languageName: node linkType: hard -"@zag-js/listbox@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/listbox@npm:1.26.3" +"@zag-js/marquee@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/marquee@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/collection": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/focus-visible": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/67ea841dcddf00325c8b1ddb98d4d0b1f9cba7b4948139543751af00c5c81cd2e289893e9886e821fa44451a7d596fbad3b2f7ffa1c64db079d0913f299fd195 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/fa5cb061fa9fcd526e3a9cc16a95d9c80cb0afb36fffd2c36ddbf5c04579958100fae4385edc8025700411b0c82ae7d322d3f1d04b6c6819f68806259671f06b languageName: node linkType: hard -"@zag-js/live-region@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/live-region@npm:1.26.3" - checksum: 10c0/6b5f2ffc95321486e0fceb2d88d080e15686282aea89dce60dc0dac0ed8f783fb10198a31525b3db0ee664c753d30c9ea94c7767305316078203671a91dcdd96 +"@zag-js/menu@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/menu@npm:1.41.2" + dependencies: + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dismissable": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/focus-visible": "npm:1.41.2" + "@zag-js/popper": "npm:1.41.2" + "@zag-js/rect-utils": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/1a510a0080d3d85bfc3895168c886fb8b7f3b9257f578426fe730aca108ec9fbdde87a6ee5f1333ba2f29db58439ca854e886361474c2a4d583cbc39e130d124 languageName: node linkType: hard -"@zag-js/menu@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/menu@npm:1.26.3" +"@zag-js/navigation-menu@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/navigation-menu@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dismissable": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/popper": "npm:1.26.3" - "@zag-js/rect-utils": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/0129671aaf55128d99b9f1db49157af56f87f7400f4be14eb09ae23f8b3c247e6101a65e1fee36d9308e888f06dee5e58d73245c270943b00fac21f8570d0b86 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dismissable": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/7ce8c793a425ee13d55b57acd829c659662819c3a6b5d073f26597b6b386c6d53633d2e155f78b09dabfdf3b89d28c553224a5f6805a53ef616a57d7ec5cf6cc languageName: node linkType: hard -"@zag-js/number-input@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/number-input@npm:1.26.3" +"@zag-js/number-input@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/number-input@npm:1.41.2" dependencies: - "@internationalized/number": "npm:3.6.5" - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/04e1b444b50e8136c0b34d116ac7581faa60b42b6d125a090fe1803195f22c9c3a4495aa14d0762d3c2a20ab3ea7423c433af6db21ec485d45712037a73248b2 + "@internationalized/number": "npm:3.6.6" + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/672a8951bc662c7f7c2240d314ee7a18a5864fc45ff9636a1c333d8373253b2a82bffc26aaa30b3b60e8515537fe8987a43c4465033ba27811b489d7981d4daa languageName: node linkType: hard -"@zag-js/pagination@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/pagination@npm:1.26.3" +"@zag-js/pagination@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/pagination@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/b7b82237b41703a5302ed97388747d0015553c71c18e7aca26c4036837b3a788317ef9563712bdb586148f996fa631e925ea01df188b33cb4f4ea87a649f3eed + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/eb26eb34e08317ca2c37aad6cba36030a0792fa2c2be108dea60f614c06d6c2589ec533c34afa54326ad3222e02c9f80899e4a807c715d6857bcdbd7d1c116e5 languageName: node linkType: hard -"@zag-js/password-input@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/password-input@npm:1.26.3" +"@zag-js/password-input@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/password-input@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/f5572a5f86c63da6c29af1e8311cd34605cd92a338427591b9e6276c44201dc2e6c3facd92819f3e66d639ac65c11c5bd37d6bda1d076bd12b62e3f719550235 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/3b4826bee36e5b9734579bd72f425341d72a6111a91cd254d1565f147209d69df4c31da4ae459bd1def887307ad6af107c548e4167860b8ffabb5e910fe820bc languageName: node linkType: hard -"@zag-js/pin-input@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/pin-input@npm:1.26.3" +"@zag-js/pin-input@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/pin-input@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/ad4d6fe0570a4d0619d48e7d296c95759d24c0920b563d0ec4aee74bcf32e4d6e18c9780b4f26492f43bc1db7dfb75e93f1254d8436411d55b8add30cca76b74 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/b90e4204136a4df0b7451bbfd9e26723f730f479d4056cd208514deb26f412b4776e8b9de084d3c838240fbe5881f110d67e5fbe8211e3f8bcdd870c15918be9 languageName: node linkType: hard -"@zag-js/popover@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/popover@npm:1.26.3" +"@zag-js/popover@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/popover@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/aria-hidden": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dismissable": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/focus-trap": "npm:1.26.3" - "@zag-js/popper": "npm:1.26.3" - "@zag-js/remove-scroll": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/14df43d965b3d005610fcfed9ddfaa2fa82ee6489da961e20de841cb5ac192726d59e2d4e9be758684a43ca7790721b725b84f1cbd71b082e9d4ea338e4ca8c3 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/aria-hidden": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dismissable": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/focus-trap": "npm:1.41.2" + "@zag-js/popper": "npm:1.41.2" + "@zag-js/remove-scroll": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/21ad083df4f2299c24e26e6a57d4b048c7d16ca2e5d0cc5f02f3c4517d05dec584dbd06e5c58f3cc77010c8a55ae79cdd7a7df012e7ab50391c35237e3cc3989 languageName: node linkType: hard -"@zag-js/popper@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/popper@npm:1.26.3" +"@zag-js/popper@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/popper@npm:1.41.2" dependencies: - "@floating-ui/dom": "npm:1.7.4" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/18258d5ae677999a15cb7242fe314e03bcc9ef01c5d30781e1bfe5adb9db462aa59c5bd2155e171b03638d2184138b8de226ea870747634011466cb21a5d6b50 + "@floating-ui/dom": "npm:^1.7.6" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/00cab12a02447283c34d68ac6f12c87d1806627d6a6e8e84d14a9cff8e2dba448cbeed40973103ed057e55538c4a6df4089c298225962a2b168c48c249432d40 languageName: node linkType: hard -"@zag-js/presence@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/presence@npm:1.26.3" +"@zag-js/presence@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/presence@npm:1.41.2" dependencies: - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - checksum: 10c0/c86c9d74e2f700b6de74da8f676e194818a93d926ecbf31fd3704143c0d64c873dd3d566d5c239309b5de1a8e9d9225e7ceb0d31b69e42064ef003c253b17c43 + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + checksum: 10c0/39398afda8ec713898231a19a80e090c900114877849c64dd38413c5475c611bdca1dd83dbf93bf6dfd8afc956a2aa1cdfcf8e4b3f5b2e250923494c5022fff3 languageName: node linkType: hard -"@zag-js/progress@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/progress@npm:1.26.3" +"@zag-js/progress@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/progress@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/1b9c4011c3a6e472b434dc869186df0e1a6115c974adeac63912121dd0295c5dfbfb779c712f5fb22219f66eda820abcd23465dd7a6f5aac285bd8f813c47be2 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/5a7add5e24928a33482351a23839fbd2e6707ff2085a210b31f050403d075bee1238318a6a252b659ba262ecbe450de494439c11fa98d0757a639f581807e535 languageName: node linkType: hard -"@zag-js/qr-code@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/qr-code@npm:1.26.3" +"@zag-js/qr-code@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/qr-code@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" proxy-memoize: "npm:3.0.1" - uqr: "npm:0.1.2" - checksum: 10c0/bb925a43ca2d6fc3b15c3e0fb3e5b0e9604ee226821ea99d8f9b7a7bf3743c2bf89cd041c575ef5639282aa7d18e1540760adb06312f2da33e8c08353e568798 + uqr: "npm:0.1.3" + checksum: 10c0/ec45ac792f5fef954783ce88c02a886581e5f82df1f895c6349cd0af5925fab1c6e8b43f15fb20b13e396ae0766c58b45ce996e4ea01f1b12f4a277cf19ace27 languageName: node linkType: hard -"@zag-js/radio-group@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/radio-group@npm:1.26.3" +"@zag-js/radio-group@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/radio-group@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/focus-visible": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/d2fcb854eccfb164e34579a7bbaaf07ff75a758fbe3566c94a8bb14580b8d3ca560676f14bdcdc0d0c2464e4a96ff0d874196bfa15220153c3efc6222d4f0561 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/focus-visible": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/ed80d3092d2f32e6aaa028fc7b0454048b03e8d2f136b84c077aa772324f519529d5e625e594bd7cdc6513b3f5cb7b388d566c52573b9327575f5dbbb6b3194b languageName: node linkType: hard -"@zag-js/rating-group@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/rating-group@npm:1.26.3" +"@zag-js/rating-group@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/rating-group@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/82fec2046ebc53033c6bc24476c76425ded6eae397cef13ec9fbb4d4e4192b46d1d8ebb805b0688b2568459c5a69473c31f4a7f2e134b79b256a47520d830934 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/9e471faad79c8dbddae772f60e768191af9d788c6fddbde3c42b4e29c9ee15f8e2c79519d65d32ee421ab1760aad7a5bdcd20308e193f4ff3947f334f644059a languageName: node linkType: hard -"@zag-js/react@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/react@npm:1.26.3" +"@zag-js/react@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/react@npm:1.41.2" dependencies: - "@zag-js/core": "npm:1.26.3" - "@zag-js/store": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" + "@zag-js/core": "npm:1.41.2" + "@zag-js/store": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" peerDependencies: react: ">=18.0.0" react-dom: ">=18.0.0" - checksum: 10c0/f5912a84ea72949a75eb89f437e62d483fc8a131678ebcbed975cb41706ebdc851219f1ad0965750aefb308be582db2c5090ef68b9fbc27177304dc31cfb4080 + checksum: 10c0/f5e30946f779f31ccea8c0155e385c16329e6be6cd077ed537bf486f8e6ec09b59ab4d67260d8f2403e4675c333e4736461a8c038ee9a05f78940c5b19e2bacd languageName: node linkType: hard -"@zag-js/rect-utils@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/rect-utils@npm:1.26.3" - checksum: 10c0/e8b31efa0c388a6243eece923cc50d151d98572d2f67fb3a1109ebcd54dd803f2cbc09758423c16b856eafe740b1af8aeb5f0e7d2ba50d39be23dead2f22eb45 +"@zag-js/rect-utils@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/rect-utils@npm:1.41.2" + checksum: 10c0/2c3df68bd60a37566c2e088dadb3c2bf7bb4a064e7373f532ae92de21c8b65f7b5990a3c63edb1c714baebcd0699874f0fcf440004dcb5fe6a039a1691fc05d8 languageName: node linkType: hard -"@zag-js/remove-scroll@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/remove-scroll@npm:1.26.3" +"@zag-js/remove-scroll@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/remove-scroll@npm:1.41.2" dependencies: - "@zag-js/dom-query": "npm:1.26.3" - checksum: 10c0/d2f401e03ba9bdb74fb57e77da3988611f8ce9856ab20a4590154a9df4130c42a034a5400c109852219517b7c7c299076894632524e1e96ffd75f7da2bc331d8 + "@zag-js/dom-query": "npm:1.41.2" + checksum: 10c0/8b6e5caf5a1991cdd761385f0748a2741ddc58b00a279769474b1f0266e159d039db7d7eac8b75a4bf0fb0198946dac02f7271c8521ae66c1e8fc848cc81c5b6 languageName: node linkType: hard -"@zag-js/scroll-area@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/scroll-area@npm:1.26.3" +"@zag-js/scroll-area@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/scroll-area@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/1344c3903a6332e3c4c22cfdb842785a378cb0c7329a98a1b3ad4086494a317b0e80f76963f5ce348e9e200f5bdaa6922c5a235f7cb9de505491c3dcae07179b + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/c908c4e333f7390c92b8c56314a5d1cb8043671d9fe63d97c004c4284e386325568f8c8aba66e01418ab2b5019412863f4cb1408860ded62893100e7da54fa07 languageName: node linkType: hard -"@zag-js/scroll-snap@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/scroll-snap@npm:1.26.3" +"@zag-js/scroll-snap@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/scroll-snap@npm:1.41.2" dependencies: - "@zag-js/dom-query": "npm:1.26.3" - checksum: 10c0/f376c7856844d4c52fff2de66b74243edb1823c57a74b94cd29f83a00c231a10ac5b7e9825dec3a67e3b51ec349ebab2de75e67ebc8ea4d5acce92764a1707c4 + "@zag-js/dom-query": "npm:1.41.2" + checksum: 10c0/854b2efb9ee435a228aa850cbc994de20b4c3eb22756395d482458e9e773874f85f06f33eea28e79e30c3d0c7cf4743b6940c2bed24df9b1b0b77cee27737ced languageName: node linkType: hard -"@zag-js/select@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/select@npm:1.26.3" +"@zag-js/select@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/select@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/collection": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dismissable": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/popper": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/e79fcedca9d443fb9aa70342e0a03ea7491ec2dc7ccb6b2106c88d1116eb848be4c4b41276106384ad7acb01ada05427fd6c4090cdea689c7e98ba0bddeb65e1 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/collection": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dismissable": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/focus-visible": "npm:1.41.2" + "@zag-js/popper": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/b5303a86afd9f03f0116456f7934168df24692b869442c40f7a10cc7ed2e56be007687fb45b47d2f3e09ad02489091d26e87220d12657b512224b84fbc66baf6 languageName: node linkType: hard -"@zag-js/signature-pad@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/signature-pad@npm:1.26.3" +"@zag-js/signature-pad@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/signature-pad@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - perfect-freehand: "npm:^1.2.2" - checksum: 10c0/5fa17724aa5af62d917e17005d3590e89a1855bca7e93a48a6e57a2262d091e6603402eb51303afe4ffec6c7bdd0b32e4aae0881927215987e6bc1ca9de54d33 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + perfect-freehand: "npm:^1.2.3" + checksum: 10c0/adb82fe5ca26b466039c0877fac44f76d6cb0f66b9af430cd0b5b2129095d6477d91e1ecd8269b18971f7aca965ad7a6bbde5013eb6793de2f5147772fbf5bc5 languageName: node linkType: hard -"@zag-js/slider@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/slider@npm:1.26.3" +"@zag-js/slider@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/slider@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/0198b4d5656a2324bfa1ea2d0d6a79da991a626a9f61ac8243c6314100170ab0ddf354df604d66a0ede718a9e40c899d145fd038b7d1653bb8193c0790151c26 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/5e23a10b9d687a428378ad648faf30d41047deaeb9e2b870b90f463e5fb46d59662c5cbbca5a711e17a9e38e84e490d4fd5fb4a0a6f23377b90b35f29cc8deba languageName: node linkType: hard -"@zag-js/splitter@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/splitter@npm:1.26.3" +"@zag-js/splitter@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/splitter@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/b81df15987e80c8d3a33e8a20c059020215600cd73979caa5a63bf2c64cd763e88125bedaf7a6b4064d6788d5ca3cad9f64cc9ef4ebef021a6278eb745544d97 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/ae8a663eedb8d9bea62df3a0dfeafb5c0bd74cce6fb0414da6b2ed56483ab6d03e0313394d6595479524a9238f8d737d8c62bbe5839e1aedbdc62549de30e8a4 languageName: node linkType: hard -"@zag-js/steps@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/steps@npm:1.26.3" +"@zag-js/steps@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/steps@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/57d320e2b442bcd206bec278b21db5ff10ee24c8ee1460e9a372b79cf61938b5e274b8a3149ab4a450d9a9b33c35668480a7b70daca1c455b68be11efa97a0c6 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/ae505f260f88f8921e6145091bec894dae202d4e6e4fa7ba6545b85a8343e16dd3e0d15b3ed9424b27bf08fddbb8c9b372d74cc1b75c7ede6f9d43eac97ff803 languageName: node linkType: hard -"@zag-js/store@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/store@npm:1.26.3" +"@zag-js/store@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/store@npm:1.41.2" dependencies: proxy-compare: "npm:3.0.1" - checksum: 10c0/3b2e88a75bcfcf997959e6cbd475e38a68012227734e92782355f39944947adb093f67b4d753741185334de6717d0a2e41da1ed5d9456826379708020035db10 + checksum: 10c0/ff6ffa1623ddaf3b5b0d76d298301fc602522968cb5841882b8f7ae72c153ea5ce52c54d74dcfb8e8e286fc224f2c70155ad85f94f2d01f6fa5cf07d8bea8b45 languageName: node linkType: hard -"@zag-js/switch@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/switch@npm:1.26.3" +"@zag-js/switch@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/switch@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/focus-visible": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/a66a1ae57d463042e7fb797b4144657fd5e43a87e54865e7a17db4261646a669cae3b642c7a317bef588d8a8c1b61355348efed5fd913a6d06cb66cf1ce0518e + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/focus-visible": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/5f3830dd3a3e3675f3367fb9de79c900366071347d48eb24759d35083a6fcc62a0327b926167f843c383e19dd66404a72eec3fd6da0c8d3d6e70f6f5faeedaea languageName: node linkType: hard -"@zag-js/tabs@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/tabs@npm:1.26.3" +"@zag-js/tabs@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/tabs@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/c4db9a6e92c9fcb623f74951ce6e88ef6f1f1eb6aea49f18e1c4ae18a3cd2452b07047d41a41b8adbfd1686c1199db70903be1fc01869b0aa87f5abeb5619e34 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/2e8ee3e2a6560e724f29a606264c2e5524183b282d5c8b8947b2e478754ad1814503670818d16e0cb94ded9ff40240ed8a9150506a1e2aae94a2ef795a8156e9 languageName: node linkType: hard -"@zag-js/tags-input@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/tags-input@npm:1.26.3" +"@zag-js/tags-input@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/tags-input@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/auto-resize": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/interact-outside": "npm:1.26.3" - "@zag-js/live-region": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/1775421abd56a6abc3c0d047cbec7d1ac0fbe86ff51437e877b0f3bd5ca95b7c8375308e142a14af878c74c05e34a2d42c8f3cbe17830e0ef3bea3757d21de30 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/auto-resize": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/interact-outside": "npm:1.41.2" + "@zag-js/live-region": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/9e460e03edeef1b5be104bc0028e34c58b049c1068dcc6c30918db8d65713e0a985677c8cb0d42ea26defc9038a8491f1c328992b7de980f5ee85e214a5036dd languageName: node linkType: hard -"@zag-js/timer@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/timer@npm:1.26.3" +"@zag-js/timer@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/timer@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/818d2347808ec2fd4b1d19b16dc56fa9ac693f6f1dffde2cae17b41f0b452126d1aa6c9a5071e0e4901e82cd6bc7e09b9ee87f97e635e36482c152035ea12221 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/9d41b7b3aac5124ccc2594e02adc7588a40155a7010ccc776e4bf56cfe519f28bca415f46dcc10ea42fbcab12118216d6c65b7d344b764b84ed6f8b925b5d74a languageName: node linkType: hard -"@zag-js/toast@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/toast@npm:1.26.3" +"@zag-js/toast@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/toast@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dismissable": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/12c9e234100577d66b541bca6c2026b9b2f01e0758020b5518f8d854b34184cb7b7e8d3d45495bab89a0201a200c076bed8f6e180076742f886453fa3e232a11 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dismissable": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/e5ff9178ece717c11167ac7b6523cf3667aad9111f39281e2bcb44fb466764ebca71e7a5709d511be654abc5704ce07dd6468d2d95e7fe12e3cbebc7cd666fa6 languageName: node linkType: hard -"@zag-js/toggle-group@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/toggle-group@npm:1.26.3" +"@zag-js/toggle-group@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/toggle-group@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/65c0d7ca33a3efabd7cff01882a08d706cda9ba795dfb487d2ddd77fc8b9a6081d69344a5d88773b7c98bcbe238b23a8eaf81d95045e230daf6e8f1616fea9bf + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/f95ccdb5f4b5053149a5e3711ced04d9cce662ee5c02fbb3dcc04a471728a95afe0da9ba6dd21b80a21b81e4b60b812d657f16d779cd8612e05416df528cb8fc languageName: node linkType: hard -"@zag-js/toggle@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/toggle@npm:1.26.3" +"@zag-js/toggle@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/toggle@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/0fc5050e282f55c22afd7963bb9e56d8a4d3d3bde545a864c0015ad3b02331141c4f3e443ddca22202f919dcdf1f387ae4c40f6a2a10d5a825be4ec6dc2a226f + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/dfe38268757b640c75facfd3d56fc260679e9534fae51d343c92b892ffcedb18f5c90f6755ceae575d985511fa33ef67782ea39ad9ef8dec8eddcefb14c1c48a languageName: node linkType: hard -"@zag-js/tooltip@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/tooltip@npm:1.26.3" +"@zag-js/tooltip@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/tooltip@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/focus-visible": "npm:1.26.3" - "@zag-js/popper": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/b989cfbc32e9263b82ce82422ece78eff27873fbc74af2a07947a89a13bf0127f4cd6583d6e3c2f1a0463ab74a32ba28693c5877af89c9789374623339c35bca + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/focus-visible": "npm:1.41.2" + "@zag-js/popper": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/3f1f9be3fba0c5b74798e4f7d1454f1bc56e5d4a149593771203ff0c567ff4e2ce88ad5845bc3fe99498237fb3e563c27e0619ce4e556340ad0b775b23699147 languageName: node linkType: hard -"@zag-js/tour@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/tour@npm:1.26.3" +"@zag-js/tour@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/tour@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dismissable": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/focus-trap": "npm:1.26.3" - "@zag-js/interact-outside": "npm:1.26.3" - "@zag-js/popper": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/6e140fad9da7c4ab5a7be062a945ee4fe991f222842d9401ad0007b461ddc2621358ce17f228e6882b2e0d9b42e2b8c237999a869381177225794332270f0702 + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dismissable": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/focus-trap": "npm:1.41.2" + "@zag-js/interact-outside": "npm:1.41.2" + "@zag-js/popper": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/562fea6a49f48cdd49b9dafd9915c80e2e4f4a8495f7cdd6dde7d7f27301a758df9d2f776e994d307f06ec0b3837023103048063080e6214286819e6b661e780 languageName: node linkType: hard -"@zag-js/tree-view@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/tree-view@npm:1.26.3" +"@zag-js/tree-view@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/tree-view@npm:1.41.2" dependencies: - "@zag-js/anatomy": "npm:1.26.3" - "@zag-js/collection": "npm:1.26.3" - "@zag-js/core": "npm:1.26.3" - "@zag-js/dom-query": "npm:1.26.3" - "@zag-js/types": "npm:1.26.3" - "@zag-js/utils": "npm:1.26.3" - checksum: 10c0/ec354b519f8283edb2cf42bacbf8ea88ebbf68830e8c751a9a4575ea9ddf10e0c0ac76f98f25cc9375ee6da0360d61346d56e84fe45b6bb71f1e3725e34a7aae + "@zag-js/anatomy": "npm:1.41.2" + "@zag-js/collection": "npm:1.41.2" + "@zag-js/core": "npm:1.41.2" + "@zag-js/dom-query": "npm:1.41.2" + "@zag-js/types": "npm:1.41.2" + "@zag-js/utils": "npm:1.41.2" + checksum: 10c0/eb90b8ac01cd70185e3d80e2feb6beadf7a2808bb60549d500036f917463f2339923a54c89ee97e73c26368d1a00aa255ee4064d3770e8f4288d32186210c983 languageName: node linkType: hard -"@zag-js/types@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/types@npm:1.26.3" +"@zag-js/types@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/types@npm:1.41.2" dependencies: - csstype: "npm:3.1.3" - checksum: 10c0/469557d5a8f01e76cc3d9812d592afd4c5d6f56af64ad2d7e2c50ca95c12da500ad370403ad4316d81d56daf136ec2b3dbecf3451f78bd63959cb7baaa4ae163 + csstype: "npm:3.2.3" + checksum: 10c0/bb9d6bda1c0bd2dc1daf9b65a632bb83723f59f16bb51c9117f367ba07b1f5e90d1c94729317f6e95fc3979f053191fe3d3142d7e9f28de9d838b6b9fb669f3b languageName: node linkType: hard -"@zag-js/utils@npm:1.26.3": - version: 1.26.3 - resolution: "@zag-js/utils@npm:1.26.3" - checksum: 10c0/62efde7d2714b6d1c18666534298c8ef474300f1f0c02147896e52360f6cec193b9b62694d04f14840783d74c24344fc457b843bc793f36726c5a29162da0caa +"@zag-js/utils@npm:1.41.2": + version: 1.41.2 + resolution: "@zag-js/utils@npm:1.41.2" + checksum: 10c0/5fcfa6caaa1736540daad883d637f0f3b4f64d5fff98582a87bb06b6fe937b0bfac3feaffcd12ef9b14e61044473bdd845bd59fe8b213388d421215d8ffca4ee languageName: node linkType: hard @@ -22422,14 +22506,7 @@ __metadata: languageName: node linkType: hard -"csstype@npm:3.1.3": - version: 3.1.3 - resolution: "csstype@npm:3.1.3" - checksum: 10c0/80c089d6f7e0c5b2bd83cf0539ab41474198579584fa10d86d0cafe0642202343cbc119e076a0b1aece191989477081415d66c9fefbf3c957fc2fc4b7009f248 - languageName: node - linkType: hard - -"csstype@npm:^3.0.2, csstype@npm:^3.1.3, csstype@npm:^3.2.2": +"csstype@npm:3.2.3, csstype@npm:^3.0.2, csstype@npm:^3.1.3, csstype@npm:^3.2.2": version: 3.2.3 resolution: "csstype@npm:3.2.3" checksum: 10c0/cd29c51e70fa822f1cecd8641a1445bed7063697469d35633b516e60fe8c1bde04b08f6c5b6022136bb669b64c63d4173af54864510fbb4ee23281801841a3ce @@ -34446,10 +34523,10 @@ __metadata: languageName: node linkType: hard -"perfect-freehand@npm:^1.2.2": - version: 1.2.2 - resolution: "perfect-freehand@npm:1.2.2" - checksum: 10c0/8f7ae1cd24bdd91b51b06eb8a02bee1b4ecef361df9e3ef9a56aa942e14f59820cccff919eb33831493e12af2a6b7f8617cbdc59bf0b11723f4ffdc8fe325f1a +"perfect-freehand@npm:^1.2.3": + version: 1.2.3 + resolution: "perfect-freehand@npm:1.2.3" + checksum: 10c0/89005beef0bd99258eb924046927201e26cafd0bd9c47eb30f4559d31be966d69c01382d1bdd09757a2912ff446f6bf0eadc87a1d53425aff07b449b3cb151fa languageName: node linkType: hard @@ -40982,10 +41059,10 @@ __metadata: languageName: node linkType: hard -"uqr@npm:0.1.2": - version: 0.1.2 - resolution: "uqr@npm:0.1.2" - checksum: 10c0/40cd81b4c13f1764d52ec28da2d58e60816e6fae54d4eb75b32fbf3137937f438eff16c766139fb0faec5d248a5314591f5a0dbd694e569d419eed6f3bd80242 +"uqr@npm:0.1.3": + version: 0.1.3 + resolution: "uqr@npm:0.1.3" + checksum: 10c0/7e0ef173b736fb5c93179659b4fe0720c803d45fa8628aaf2715a399b33a15a3d26d9001e05e026421d544a814e971cf0fa66b481edb649d256e7a17d79777c0 languageName: node linkType: hard