Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: chakra-ui/ark
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: d626c6869bf6f85b166d78dc7337a131c023f507
Choose a base ref
..
head repository: chakra-ui/ark
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 8f781432be01668d47d3494ab9c78caa927e1973
Choose a head ref
Binary file modified bun.lockb
Binary file not shown.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -35,7 +35,7 @@
"prettier": "3.4.2",
"prettier-plugin-svelte": "3.3.2",
"turbo": "2.3.3",
"typescript": "5.7.2",
"typescript": "5.7.3",
"vercel": "39.2.6"
},
"packageManager": "bun@1.1.42",
6 changes: 3 additions & 3 deletions packages/react/package.json
Original file line number Diff line number Diff line change
@@ -237,17 +237,17 @@
"clean-package": "2.2.0",
"globby": "14.0.2",
"jsdom": "25.0.1",
"lucide-react": "0.469.0",
"lucide-react": "0.471.1",
"react": "19.0.0",
"react-dom": "19.0.0",
"react-frame-component": "5.2.7",
"react-hook-form": "7.54.2",
"release-it": "18.1.1",
"resize-observer-polyfill": "1.5.1",
"storybook": "8.4.7",
"typescript": "5.7.2",
"typescript": "5.7.3",
"vite": "5.4.11",
"vite-plugin-dts": "4.4.0",
"vite-plugin-dts": "4.5.0",
"vitest": "2.1.8",
"vitest-axe": "1.0.0-pre.3"
},
41 changes: 27 additions & 14 deletions packages/react/src/components/file-upload/file-upload-dropzone.tsx
Original file line number Diff line number Diff line change
@@ -1,18 +1,31 @@
import { mergeProps } from '@zag-js/react'
import { forwardRef } from 'react'
import { type HTMLProps, type PolymorphicProps, ark } from '../factory'
import { useFileUploadContext } from './use-file-upload-context'
import type { DropzoneProps } from "@zag-js/file-upload";
import { mergeProps } from "@zag-js/react";
import { forwardRef } from "react";
import { createSplitProps } from "../../utils/create-split-props";
import { type HTMLProps, type PolymorphicProps, ark } from "../factory";
import { useFileUploadContext } from "./use-file-upload-context";

export interface FileUploadDropzoneBaseProps extends PolymorphicProps {}
export interface FileUploadDropzoneProps extends HTMLProps<'div'>, FileUploadDropzoneBaseProps {}
export interface FileUploadDropzoneBaseProps
extends PolymorphicProps,
DropzoneProps {}
export interface FileUploadDropzoneProps
extends HTMLProps<"div">,
FileUploadDropzoneBaseProps {}

export const FileUploadDropzone = forwardRef<HTMLDivElement, FileUploadDropzoneProps>(
(props, ref) => {
const fileUpload = useFileUploadContext()
const mergedProps = mergeProps(fileUpload.getDropzoneProps(), props)
export const FileUploadDropzone = forwardRef<
HTMLDivElement,
FileUploadDropzoneProps
>((props, ref) => {
const [dropzoneProps, localProps] = createSplitProps<DropzoneProps>()(props, [
"disableClick",
]);
const fileUpload = useFileUploadContext();
const mergedProps = mergeProps(
fileUpload.getDropzoneProps(dropzoneProps),
localProps,
);

return <ark.div {...mergedProps} ref={ref} />
},
)
return <ark.div {...mergedProps} ref={ref} />;
});

FileUploadDropzone.displayName = 'FileUploadDropzone'
FileUploadDropzone.displayName = "FileUploadDropzone";
4 changes: 2 additions & 2 deletions packages/solid/package.json
Original file line number Diff line number Diff line change
@@ -196,15 +196,15 @@
"esbuild-plugin-solid": "0.6.0",
"globby": "14.0.2",
"jsdom": "25.0.1",
"lucide-solid": "0.469.0",
"lucide-solid": "0.471.0",
"release-it": "18.1.1",
"resize-observer-polyfill": "1.5.1",
"solid-js": "1.9.4",
"storybook": "8.5.0-beta.7",
"storybook-solidjs": "1.0.0-beta.6",
"storybook-solidjs-vite": "1.0.0-beta.6",
"tsup": "8.3.5",
"typescript": "5.7.2",
"typescript": "5.7.3",
"vite": "5.4.11",
"vite-plugin-solid": "2.11.0",
"vitest": "2.1.8"
30 changes: 21 additions & 9 deletions packages/solid/src/components/file-upload/file-upload-dropzone.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,25 @@
import { mergeProps } from '@zag-js/solid'
import { type HTMLProps, type PolymorphicProps, ark } from '../factory'
import { useFileUploadContext } from './use-file-upload-context'
import type { DropzoneProps } from "@zag-js/file-upload";
import { mergeProps } from "@zag-js/solid";
import { createSplitProps } from "../../utils/create-split-props";
import { type HTMLProps, type PolymorphicProps, ark } from "../factory";
import { useFileUploadContext } from "./use-file-upload-context";

export interface FileUploadDropzoneBaseProps extends PolymorphicProps<'div'> {}
export interface FileUploadDropzoneProps extends HTMLProps<'div'>, FileUploadDropzoneBaseProps {}
export interface FileUploadDropzoneBaseProps
extends PolymorphicProps<"div">,
DropzoneProps {}
export interface FileUploadDropzoneProps
extends HTMLProps<"div">,
FileUploadDropzoneBaseProps {}

export const FileUploadDropzone = (props: FileUploadDropzoneProps) => {
const fileUpload = useFileUploadContext()
const mergedProps = mergeProps(() => fileUpload().getDropzoneProps(), props)
const [dropzoneProps, localProps] = createSplitProps<DropzoneProps>()(props, [
"disableClick",
]);
const fileUpload = useFileUploadContext();
const mergedProps = mergeProps(
() => fileUpload().getDropzoneProps(dropzoneProps),
localProps,
);

return <ark.div {...mergedProps} />
}
return <ark.div {...mergedProps} />;
};
2 changes: 1 addition & 1 deletion packages/svelte/package.json
Original file line number Diff line number Diff line change
@@ -101,7 +101,7 @@
"svelte": "5.17.3",
"svelte-check": "4.1.4",
"tslib": "2.8.1",
"typescript": "5.7.2",
"typescript": "5.7.3",
"vite": "5.4.11",
"vitest": "2.1.8"
},
6 changes: 3 additions & 3 deletions packages/vue/package.json
Original file line number Diff line number Diff line change
@@ -232,12 +232,12 @@
"globby": "14.0.2",
"histoire": "0.17.17",
"jsdom": "25.0.1",
"lucide-vue-next": "0.469.0",
"lucide-vue-next": "0.471.0",
"release-it": "18.1.1",
"resize-observer-polyfill": "1.5.1",
"typescript": "5.7.2",
"typescript": "5.7.3",
"vite": "5.4.11",
"vite-plugin-dts": "4.4.0",
"vite-plugin-dts": "4.5.0",
"vitest": "2.1.8",
"vue": "3.5.13",
"vue-tsc": "2.2.0"
26 changes: 16 additions & 10 deletions packages/vue/src/components/file-upload/file-upload-dropzone.vue
Original file line number Diff line number Diff line change
@@ -1,30 +1,36 @@
<script lang="ts">
import type { HTMLAttributes } from 'vue'
import type { PolymorphicProps } from '../factory'
import type { DropzoneProps } from "@zag-js/file-upload";
import type { HTMLAttributes } from "vue";
import type { BooleanDefaults } from "../../types";
import type { PolymorphicProps } from "../factory";
export interface FileUploadDropzoneBaseProps extends PolymorphicProps {}
export interface FileUploadDropzoneBaseProps
extends PolymorphicProps,
DropzoneProps {}
export interface FileUploadDropzoneProps
extends FileUploadDropzoneBaseProps,
/**
* @vue-ignore
*/
HTMLAttributes {}
extends FileUploadDropzoneBaseProps,
/**
* @vue-ignore
*/
HTMLAttributes {}
</script>

<script setup lang="ts">
import { ark } from '../factory'
import { useFileUploadContext } from './use-file-upload-context'
import { useForwardExpose } from '../../utils'
defineProps<FileUploadDropzoneProps>()
const props = withDefaults(defineProps<FileUploadDropzoneProps>(), {
disableClick: undefined,
} satisfies BooleanDefaults<DropzoneProps>)
const fileUpload = useFileUploadContext()
useForwardExpose()
</script>

<template>
<ark.div v-bind="fileUpload.getDropzoneProps()" :as-child="asChild">
<ark.div v-bind="fileUpload.getDropzoneProps(props)" :as-child="asChild">
<slot />
</ark.div>
</template>
2 changes: 1 addition & 1 deletion scripts/package.json
Original file line number Diff line number Diff line change
@@ -27,7 +27,7 @@
"pkg-dir": "8.0.0",
"ts-morph": "25.0.0",
"ts-pattern": "5.6.0",
"typescript": "5.7.2",
"typescript": "5.7.3",
"voca": "1.4.1"
}
}
8 changes: 4 additions & 4 deletions website/package.json
Original file line number Diff line number Diff line change
@@ -20,7 +20,7 @@
"@icons-pack/react-simple-icons": "10.2.0",
"@pandacss/dev": "0.51.1",
"@park-ui/panda-preset": "0.43.1",
"@prisma/client": "6.1.0",
"@prisma/client": "6.2.1",
"@shikijs/transformers": "1.26.1",
"@types/node": "22.10.2",
"@types/react": "19.0.6",
@@ -29,19 +29,19 @@
"@zag-js/anatomy-icons": "0.81.2",
"@zag-js/docs": "0.81.2",
"effect": "3.12.1",
"lucide-react": "0.469.0",
"lucide-react": "0.471.1",
"match-sorter": "8.0.0",
"next": "15.1.4",
"next-auth": "5.0.0-beta.25",
"next-themes": "0.4.4",
"pandacss-preset-typography": "0.1.6",
"prisma": "6.1.0",
"prisma": "6.2.1",
"react": "19.0.0",
"react-dom": "19.0.0",
"rehype-autolink-headings": "7.1.0",
"rehype-slug": "6.0.0",
"shiki": "1.26.1",
"typescript": "5.7.2",
"typescript": "5.7.3",
"velite": "0.2.2"
}
}