@ark-ui/solid 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +43 -40
  3. package/cjs/index.js +243 -31
  4. package/cjs/index.js.map +1 -1
  5. package/esm/index.js +228 -32
  6. package/esm/index.js.map +1 -1
  7. package/package.json +43 -40
  8. package/source/color-picker/color-picker-format-select.jsx +13 -0
  9. package/source/color-picker/color-picker-format-trigger.jsx +8 -0
  10. package/source/color-picker/color-picker-swatch-context.js +5 -0
  11. package/source/color-picker/color-picker-swatch-indicator.jsx +10 -0
  12. package/source/color-picker/color-picker-swatch-trigger.jsx +4 -1
  13. package/source/color-picker/color-picker-swatch.jsx +6 -3
  14. package/source/color-picker/color-picker.jsx +3 -1
  15. package/source/color-picker/index.js +7 -1
  16. package/source/dialog/dialog-close-trigger.jsx +1 -1
  17. package/source/file-upload/file-upload-context.js +5 -0
  18. package/source/file-upload/file-upload-dropzone.jsx +11 -0
  19. package/source/file-upload/file-upload-item-context.js +5 -0
  20. package/source/file-upload/file-upload-item-delete-trigger.jsx +10 -0
  21. package/source/file-upload/file-upload-item-group.jsx +10 -0
  22. package/source/file-upload/file-upload-item-name.jsx +12 -0
  23. package/source/file-upload/file-upload-item-preview.jsx +19 -0
  24. package/source/file-upload/file-upload-item-size-text.jsx +12 -0
  25. package/source/file-upload/file-upload-item.jsx +15 -0
  26. package/source/file-upload/file-upload-label.jsx +8 -0
  27. package/source/file-upload/file-upload-trigger.jsx +8 -0
  28. package/source/file-upload/file-upload.jsx +30 -0
  29. package/source/file-upload/index.js +24 -0
  30. package/source/file-upload/use-file-upload.js +10 -0
  31. package/source/index.jsx +1 -0
  32. package/source/number-input/number-input.jsx +4 -2
  33. package/source/toast/create-toaster.jsx +6 -7
  34. package/types/color-picker/color-picker-format-select.d.ts +4 -0
  35. package/types/color-picker/color-picker-format-trigger.d.ts +4 -0
  36. package/types/color-picker/color-picker-swatch-context.d.ts +4 -0
  37. package/types/color-picker/color-picker-swatch-indicator.d.ts +4 -0
  38. package/types/color-picker/color-picker-swatch-trigger.d.ts +1 -5
  39. package/types/color-picker/color-picker-transparency-grid.d.ts +2 -5
  40. package/types/color-picker/index.d.ts +10 -3
  41. package/types/color-picker/use-color-picker.d.ts +3 -0
  42. package/types/file-upload/file-upload-context.d.ts +4 -0
  43. package/types/file-upload/file-upload-dropzone.d.ts +4 -0
  44. package/types/file-upload/file-upload-item-context.d.ts +4 -0
  45. package/types/file-upload/file-upload-item-delete-trigger.d.ts +4 -0
  46. package/types/file-upload/file-upload-item-group.d.ts +8 -0
  47. package/types/file-upload/file-upload-item-name.d.ts +4 -0
  48. package/types/file-upload/file-upload-item-preview.d.ts +4 -0
  49. package/types/file-upload/file-upload-item-size-text.d.ts +4 -0
  50. package/types/file-upload/file-upload-item.d.ts +6 -0
  51. package/types/file-upload/file-upload-label.d.ts +4 -0
  52. package/types/file-upload/file-upload-trigger.d.ts +4 -0
  53. package/types/file-upload/file-upload.d.ts +9 -0
  54. package/types/file-upload/index.d.ts +25 -0
  55. package/types/file-upload/use-file-upload.d.ts +9 -0
  56. package/types/index.d.ts +1 -0
  57. package/types/number-input/number-input.d.ts +6 -3
  58. package/types/toast/create-toaster.d.ts +3 -2
  59. package/types/toast/toast-context.d.ts +7 -2
@@ -1,3 +1,4 @@
1
+ import type { ColorFormat } from '@zag-js/color-picker';
1
2
  import { type ColorPickerProps } from './color-picker';
2
3
  import { ColorPickerArea, type ColorPickerAreaProps } from './color-picker-area';
3
4
  import { ColorPickerAreaBackground, type ColorPickerAreaBackgroundProps } from './color-picker-area-background';
@@ -12,15 +13,18 @@ import { ColorPickerContent, type ColorPickerContentProps } from './color-picker
12
13
  import { useColorPickerContext, type ColorPickerContext } from './color-picker-context';
13
14
  import { ColorPickerControl, type ColorPickerControlProps } from './color-picker-control';
14
15
  import { ColorPickerEyeDropperTrigger, type ColorPickerEyeDropperTriggerProps } from './color-picker-eye-dropper-trigger';
16
+ import { ColorPickerFormatSelect, type ColorPickerFormatSelectProps } from './color-picker-format-select';
17
+ import { ColorPickerFormatTrigger, type ColorPickerFormatTriggerProps } from './color-picker-format-trigger';
15
18
  import { ColorPickerLabel, type ColorPickerLabelProps } from './color-picker-label';
16
19
  import { ColorPickerPositioner, type ColorPickerPositionerProps } from './color-picker-positioner';
17
20
  import { ColorPickerSwatch, type ColorPickerSwatchProps } from './color-picker-swatch';
18
21
  import { ColorPickerSwatchGroup, type ColorPickerSwatchGroupProps } from './color-picker-swatch-group';
22
+ import { ColorPickerSwatchIndicator, type ColorPickerSwatchIndicatorProps } from './color-picker-swatch-indicator';
19
23
  import { ColorPickerSwatchTrigger, type ColorPickerSwatchTriggerProps } from './color-picker-swatch-trigger';
20
24
  import { ColorPickerTransparencyGrid, type ColorPickerTransparencyGridProps } from './color-picker-transparency-grid';
21
25
  import { ColorPickerTrigger, type ColorPickerTriggerProps } from './color-picker-trigger';
22
26
  import { ColorPickerValueText, type ColorPickerValueTextProps } from './color-picker-value-text';
23
- import { type ColorPickerViewProps } from './color-picker-view';
27
+ import { ColorPickerView, type ColorPickerViewProps } from './color-picker-view';
24
28
  declare const ColorPicker: ((props: ColorPickerProps) => import("solid-js").JSX.Element) & {
25
29
  Root: (props: ColorPickerProps) => import("solid-js").JSX.Element;
26
30
  Area: (props: ColorPickerAreaProps) => import("solid-js").JSX.Element;
@@ -33,15 +37,18 @@ declare const ColorPicker: ((props: ColorPickerProps) => import("solid-js").JSX.
33
37
  Content: (props: ColorPickerContentProps) => import("solid-js").JSX.Element;
34
38
  Control: (props: ColorPickerControlProps) => import("solid-js").JSX.Element;
35
39
  EyeDropperTrigger: (props: ColorPickerEyeDropperTriggerProps) => import("solid-js").JSX.Element;
40
+ FormatTrigger: (props: ColorPickerFormatTriggerProps) => import("solid-js").JSX.Element;
41
+ FormatSelect: (props: ColorPickerFormatSelectProps) => import("solid-js").JSX.Element;
36
42
  Label: (props: ColorPickerLabelProps) => import("solid-js").JSX.Element;
37
43
  Positioner: (props: ColorPickerPositionerProps) => import("solid-js").JSX.Element;
38
44
  Swatch: (props: ColorPickerSwatchProps) => import("solid-js").JSX.Element;
39
45
  SwatchGroup: (props: ColorPickerSwatchGroupProps) => import("solid-js").JSX.Element;
46
+ SwatchIndicator: (props: ColorPickerSwatchIndicatorProps) => import("solid-js").JSX.Element;
40
47
  SwatchTrigger: (props: ColorPickerSwatchTriggerProps) => import("solid-js").JSX.Element;
41
48
  TransparencyGrid: (props: ColorPickerTransparencyGridProps) => import("solid-js").JSX.Element;
42
49
  Trigger: (props: ColorPickerTriggerProps) => import("solid-js").JSX.Element;
43
50
  ValueText: (props: ColorPickerValueTextProps) => import("solid-js").JSX.Element;
44
51
  View: (props: ColorPickerViewProps) => import("solid-js").JSX.Element;
45
52
  };
46
- export { ColorPicker, ColorPickerArea, ColorPickerAreaBackground, ColorPickerAreaThumb, ColorPickerChannelInput, ColorPickerChannelSlider, ColorPickerChannelSliderThumb, ColorPickerChannelSliderTrack, ColorPickerContent, ColorPickerControl, ColorPickerEyeDropperTrigger, ColorPickerLabel, ColorPickerPositioner, ColorPickerSwatch, ColorPickerSwatchGroup, ColorPickerSwatchTrigger, ColorPickerTransparencyGrid, ColorPickerTrigger, ColorPickerValueText, useColorPickerAreaContext, useColorPickerChannelSliderContext, useColorPickerContext, };
47
- export type { ColorPickerAreaBackgroundProps, ColorPickerAreaContext, ColorPickerAreaProps, ColorPickerAreaThumbProps, ColorPickerChannelInputProps, ColorPickerChannelSliderContext, ColorPickerChannelSliderProps, ColorPickerChannelSliderThumbProps, ColorPickerChannelSliderTrackProps, ColorPickerContentProps, ColorPickerContext, ColorPickerControlProps, ColorPickerEyeDropperTriggerProps, ColorPickerLabelProps, ColorPickerPositionerProps, ColorPickerProps, ColorPickerSwatchGroupProps, ColorPickerSwatchProps, ColorPickerSwatchTriggerProps, ColorPickerTransparencyGridProps, ColorPickerTriggerProps, ColorPickerValueTextProps, ColorPickerViewProps, };
53
+ export { ColorPicker, ColorPickerArea, ColorPickerAreaBackground, ColorPickerAreaThumb, ColorPickerChannelInput, ColorPickerChannelSlider, ColorPickerChannelSliderThumb, ColorPickerChannelSliderTrack, ColorPickerContent, ColorPickerControl, ColorPickerEyeDropperTrigger, ColorPickerFormatSelect, ColorPickerFormatTrigger, ColorPickerLabel, ColorPickerPositioner, ColorPickerSwatch, ColorPickerSwatchGroup, ColorPickerSwatchIndicator, ColorPickerSwatchTrigger, ColorPickerTransparencyGrid, ColorPickerTrigger, ColorPickerValueText, ColorPickerView, useColorPickerAreaContext, useColorPickerChannelSliderContext, useColorPickerContext, };
54
+ export type { ColorFormat, ColorPickerAreaBackgroundProps, ColorPickerAreaContext, ColorPickerAreaProps, ColorPickerAreaThumbProps, ColorPickerChannelInputProps, ColorPickerChannelSliderContext, ColorPickerChannelSliderProps, ColorPickerChannelSliderThumbProps, ColorPickerChannelSliderTrackProps, ColorPickerContentProps, ColorPickerContext, ColorPickerControlProps, ColorPickerEyeDropperTriggerProps, ColorPickerFormatSelectProps, ColorPickerFormatTriggerProps, ColorPickerLabelProps, ColorPickerPositionerProps, ColorPickerProps, ColorPickerSwatchGroupProps, ColorPickerSwatchIndicatorProps, ColorPickerSwatchProps, ColorPickerSwatchTriggerProps, ColorPickerTransparencyGridProps, ColorPickerTriggerProps, ColorPickerValueTextProps, ColorPickerViewProps, };
@@ -3,6 +3,9 @@ import { type PropTypes } from '@zag-js/solid';
3
3
  import { type Accessor } from 'solid-js';
4
4
  import { type Optional } from '../types';
5
5
  export interface UseColorPickerProps extends Optional<Omit<colorPicker.Context, 'value'>, 'id'> {
6
+ /**
7
+ * The current value of the color picker.
8
+ */
6
9
  value?: string;
7
10
  }
8
11
  export interface UseColorPickerReturn extends Accessor<colorPicker.Api<PropTypes>> {
@@ -0,0 +1,4 @@
1
+ import { type UseFileUploadReturn } from './use-file-upload';
2
+ export interface FileUploadContext extends UseFileUploadReturn {
3
+ }
4
+ export declare const FileUploadProvider: import("solid-js").ContextProviderComponent<FileUploadContext>, useFileUploadContext: () => FileUploadContext;
@@ -0,0 +1,4 @@
1
+ import { type HTMLArkProps } from '../factory';
2
+ export interface FileUploadDropzoneProps extends HTMLArkProps<'div'> {
3
+ }
4
+ export declare const FileUploadDropzone: (props: FileUploadDropzoneProps) => import("solid-js").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { type ItemProps } from '@zag-js/file-upload';
2
+ export interface FileUploadItemContext extends ItemProps {
3
+ }
4
+ export declare const FileUploadItemProvider: import("solid-js").ContextProviderComponent<FileUploadItemContext>, useFileUploadItemContext: () => FileUploadItemContext;
@@ -0,0 +1,4 @@
1
+ import { type HTMLArkProps } from '../factory';
2
+ export interface FileUploadItemDeleteTriggerProps extends HTMLArkProps<'button'> {
3
+ }
4
+ export declare const FileUploadItemDeleteTrigger: (props: FileUploadItemDeleteTriggerProps) => import("solid-js").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { type Accessor, type JSX } from 'solid-js';
2
+ import { type HTMLArkProps } from '../factory';
3
+ import type { Assign } from '../types';
4
+ export interface FileUploadItemGroupProps extends Assign<HTMLArkProps<'ul'>, {
5
+ children?: JSX.Element | ((state: Accessor<File[]>) => JSX.Element);
6
+ }> {
7
+ }
8
+ export declare const FileUploadItemGroup: (props: FileUploadItemGroupProps) => JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { type HTMLArkProps } from '../factory';
2
+ export interface FileUploadItemNameProps extends HTMLArkProps<'div'> {
3
+ }
4
+ export declare const FileUploadItemName: (props: FileUploadItemNameProps) => import("solid-js").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { type HTMLArkProps } from '../factory';
2
+ export interface FileUploadItemPreviewProps extends HTMLArkProps<'img'> {
3
+ }
4
+ export declare const FileUploadItemPreview: (props: FileUploadItemPreviewProps) => import("solid-js").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { type HTMLArkProps } from '../factory';
2
+ export interface FileUploadItemSizeTextProps extends HTMLArkProps<'div'> {
3
+ }
4
+ export declare const FileUploadItemSizeText: (props: FileUploadItemSizeTextProps) => import("solid-js").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import type { ItemProps } from '@zag-js/file-upload';
2
+ import { type HTMLArkProps } from '../factory';
3
+ import type { Assign } from '../types';
4
+ export interface FileUploadItemProps extends Assign<HTMLArkProps<'li'>, ItemProps> {
5
+ }
6
+ export declare const FileUploadItem: (props: FileUploadItemProps) => import("solid-js").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { type HTMLArkProps } from '../factory';
2
+ export interface FileUploadLabelProps extends HTMLArkProps<'label'> {
3
+ }
4
+ export declare const FileUploadLabel: (props: FileUploadLabelProps) => import("solid-js").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { type HTMLArkProps } from '../factory';
2
+ export interface FileUploadTriggerProps extends HTMLArkProps<'button'> {
3
+ }
4
+ export declare const FileUploadTrigger: (props: FileUploadTriggerProps) => import("solid-js").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { type JSX } from 'solid-js/jsx-runtime';
2
+ import { type HTMLArkProps } from '../factory';
3
+ import type { Assign } from '../types';
4
+ import { type UseFileUploadProps, type UseFileUploadReturn } from './use-file-upload';
5
+ export interface FileUploadProps extends Assign<HTMLArkProps<'div'>, UseFileUploadProps & {
6
+ children?: ((api: UseFileUploadReturn) => JSX.Element) | JSX.Element;
7
+ }> {
8
+ }
9
+ export declare const FileUpload: (props: FileUploadProps) => JSX.Element;
@@ -0,0 +1,25 @@
1
+ import { type FileUploadProps } from './file-upload';
2
+ import { useFileUploadContext, type FileUploadContext } from './file-upload-context';
3
+ import { FileUploadDropzone, type FileUploadDropzoneProps } from './file-upload-dropzone';
4
+ import { FileUploadItem, type FileUploadItemProps } from './file-upload-item';
5
+ import { FileUploadItemDeleteTrigger, type FileUploadItemDeleteTriggerProps } from './file-upload-item-delete-trigger';
6
+ import { FileUploadItemGroup, type FileUploadItemGroupProps } from './file-upload-item-group';
7
+ import { FileUploadItemName, type FileUploadItemNameProps } from './file-upload-item-name';
8
+ import { FileUploadItemPreview, type FileUploadItemPreviewProps } from './file-upload-item-preview';
9
+ import { FileUploadItemSizeText, type FileUploadItemSizeTextProps } from './file-upload-item-size-text';
10
+ import { FileUploadLabel, type FileUploadLabelProps } from './file-upload-label';
11
+ import { FileUploadTrigger, type FileUploadTriggerProps } from './file-upload-trigger';
12
+ declare const FileUpload: ((props: FileUploadProps) => import("solid-js").JSX.Element) & {
13
+ Root: (props: FileUploadProps) => import("solid-js").JSX.Element;
14
+ Dropzone: (props: FileUploadDropzoneProps) => import("solid-js").JSX.Element;
15
+ Label: (props: FileUploadLabelProps) => import("solid-js").JSX.Element;
16
+ Trigger: (props: FileUploadTriggerProps) => import("solid-js").JSX.Element;
17
+ ItemGroup: (props: FileUploadItemGroupProps) => import("solid-js").JSX.Element;
18
+ Item: (props: FileUploadItemProps) => import("solid-js").JSX.Element;
19
+ ItemName: (props: FileUploadItemNameProps) => import("solid-js").JSX.Element;
20
+ ItemPreview: (props: FileUploadItemPreviewProps) => import("solid-js").JSX.Element;
21
+ ItemSizeText: (props: FileUploadItemSizeTextProps) => import("solid-js").JSX.Element;
22
+ ItemDeleteTrigger: (props: FileUploadItemDeleteTriggerProps) => import("solid-js").JSX.Element;
23
+ };
24
+ export { FileUpload, FileUploadDropzone, FileUploadItem, FileUploadItemDeleteTrigger, FileUploadItemGroup, FileUploadItemName, FileUploadItemPreview, FileUploadItemSizeText, FileUploadLabel, FileUploadTrigger, useFileUploadContext, };
25
+ export type { FileUploadContext, FileUploadDropzoneProps, FileUploadItemDeleteTriggerProps, FileUploadItemGroupProps, FileUploadItemNameProps, FileUploadItemPreviewProps, FileUploadItemProps, FileUploadItemSizeTextProps, FileUploadLabelProps, FileUploadProps, FileUploadTriggerProps, };
@@ -0,0 +1,9 @@
1
+ import * as fileUpload from '@zag-js/file-upload';
2
+ import { type PropTypes } from '@zag-js/solid';
3
+ import { type Accessor } from 'solid-js';
4
+ import { type Optional } from '../types';
5
+ export interface UseFileUploadProps extends Optional<fileUpload.Context, 'id'> {
6
+ }
7
+ export interface UseFileUploadReturn extends Accessor<fileUpload.Api<PropTypes>> {
8
+ }
9
+ export declare const useFileUpload: (props: UseFileUploadProps) => UseFileUploadReturn;
package/types/index.d.ts CHANGED
@@ -9,6 +9,7 @@ export * from './dialog';
9
9
  export * from './editable';
10
10
  export * from './environment';
11
11
  export * from './factory';
12
+ export * from './file-upload';
12
13
  export * from './hover-card';
13
14
  export * from './menu';
14
15
  export * from './number-input';
@@ -1,6 +1,9 @@
1
+ import { type JSX } from 'solid-js';
1
2
  import { type HTMLArkProps } from '../factory';
2
3
  import type { Assign } from '../types';
3
- import { type UseNumberInputProps } from './use-number-input';
4
- export interface NumberInputProps extends Assign<HTMLArkProps<'div'>, UseNumberInputProps> {
4
+ import { type UseNumberInputProps, type UseNumberInputReturn } from './use-number-input';
5
+ export interface NumberInputProps extends Assign<Assign<HTMLArkProps<'div'>, {
6
+ children?: JSX.Element | ((api: UseNumberInputReturn) => JSX.Element);
7
+ }>, UseNumberInputProps> {
5
8
  }
6
- export declare const NumberInput: (props: NumberInputProps) => import("solid-js").JSX.Element;
9
+ export declare const NumberInput: (props: NumberInputProps) => JSX.Element;
@@ -3,14 +3,15 @@ import * as toast from '@zag-js/toast';
3
3
  import { type Accessor, type JSX } from 'solid-js';
4
4
  import { type HTMLArkProps } from '../factory';
5
5
  import type { Optional } from '../types';
6
+ import { type Options } from './toast-context';
6
7
  type GroupContext = Partial<toast.GroupMachineContext>;
7
8
  export interface CreateToasterProps extends Omit<Optional<GroupContext, 'id'>, 'render'> {
8
9
  placement: toast.Placement;
9
- render: (api: toast.Api<PropTypes>) => JSX.Element;
10
+ render: (api: Accessor<toast.Api<PropTypes, Options>>) => JSX.Element;
10
11
  }
11
12
  export type CreateToasterReturn = [
12
13
  (props: HTMLArkProps<'ol'>) => JSX.Element,
13
- Accessor<toast.GroupApi<PropTypes>>
14
+ Accessor<toast.GroupApi<PropTypes, Options>>
14
15
  ];
15
16
  export declare const createToaster: (props: CreateToasterProps) => CreateToasterReturn;
16
17
  export {};
@@ -1,6 +1,11 @@
1
1
  import type { PropTypes } from '@zag-js/solid';
2
2
  import * as toast from '@zag-js/toast';
3
- import type { Accessor } from 'solid-js';
4
- export interface ToastContext extends Accessor<toast.Api<PropTypes>> {
3
+ import type { Accessor, JSX } from 'solid-js';
4
+ export interface Options {
5
+ render: (api: Accessor<toast.Api<PropTypes, Options>>) => JSX.Element;
6
+ title: JSX.Element;
7
+ description: JSX.Element;
8
+ }
9
+ export interface ToastContext extends Accessor<toast.Api<PropTypes, Options>> {
5
10
  }
6
11
  export declare const ToastProvider: import("solid-js").ContextProviderComponent<ToastContext>, useToastContext: () => ToastContext;