@ark-ui/solid 2.1.1 → 2.2.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 (50) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/cjs/index.js +113 -49
  3. package/cjs/index.js.map +1 -1
  4. package/esm/index.js +109 -49
  5. package/esm/index.js.map +1 -1
  6. package/package.json +53 -52
  7. package/source/accordion/accordion-item.jsx +4 -3
  8. package/source/accordion/accordion-root.jsx +4 -4
  9. package/source/collapsible/collapsible-content.jsx +11 -0
  10. package/source/collapsible/collapsible-context.js +5 -0
  11. package/source/collapsible/collapsible-root.jsx +24 -0
  12. package/source/collapsible/collapsible-trigger.jsx +8 -0
  13. package/source/collapsible/collapsible.jsx +4 -0
  14. package/source/collapsible/index.js +6 -0
  15. package/source/collapsible/use-collapsible.js +23 -0
  16. package/source/color-picker/use-color-picker.js +0 -1
  17. package/source/date-picker/use-date-picker.js +0 -1
  18. package/source/dialog/dialog-backdrop.jsx +4 -3
  19. package/source/dialog/dialog-root.jsx +5 -3
  20. package/source/dialog/use-dialog.js +1 -1
  21. package/source/hover-card/use-hover-card.js +1 -1
  22. package/source/index.jsx +1 -0
  23. package/source/menu/use-menu.js +1 -1
  24. package/source/popover/use-popover.js +1 -1
  25. package/source/presence/index.js +1 -2
  26. package/source/presence/split-presence-props.js +6 -8
  27. package/source/presence/use-presence.js +8 -7
  28. package/source/render-strategy.js +7 -0
  29. package/source/select/use-select.js +0 -1
  30. package/source/splitter/splitter-root.jsx +0 -1
  31. package/source/tabs/tab-content.jsx +4 -3
  32. package/source/tabs/tabs-root.jsx +4 -4
  33. package/source/tooltip/use-tooltip.js +1 -1
  34. package/source/tree-view/tree-view-branch-indicator.jsx +1 -4
  35. package/types/collapsible/collapsible-content.d.ts +4 -0
  36. package/types/collapsible/collapsible-context.d.ts +4 -0
  37. package/types/collapsible/collapsible-root.d.ts +6 -0
  38. package/types/collapsible/collapsible-trigger.d.ts +4 -0
  39. package/types/collapsible/collapsible.d.ts +4 -0
  40. package/types/collapsible/index.d.ts +8 -0
  41. package/types/collapsible/use-collapsible.d.ts +15 -0
  42. package/types/index.d.ts +1 -0
  43. package/types/menu/menu-item-group.d.ts +3 -5
  44. package/types/presence/index.d.ts +2 -3
  45. package/types/presence/split-presence-props.d.ts +1 -1
  46. package/types/presence/use-presence.d.ts +2 -11
  47. package/types/render-strategy.d.ts +14 -0
  48. package/types/tabs/tabs-root.d.ts +2 -2
  49. package/source/presence/presence-props-context.js +0 -5
  50. package/types/presence/presence-props-context.d.ts +0 -4
package/types/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export * from './avatar';
3
3
  export * from './carousel';
4
4
  export * from './checkbox';
5
5
  export * from './clipboard';
6
+ export * from './collapsible';
6
7
  export * from './color-picker';
7
8
  export * from './combobox';
8
9
  export * from './date-picker';
@@ -1,8 +1,6 @@
1
+ import type { ItemGroupProps } from '@zag-js/menu';
1
2
  import { type ArkComponent, type HTMLArkProps } from '../factory';
2
3
  import type { Assign } from '../types';
3
- import { type UseMenuReturn } from './use-menu';
4
- type MenuItemGroupParams = Parameters<ReturnType<ReturnType<UseMenuReturn>['api']>['getItemGroupProps']>[0];
5
- export interface MenuItemGroupProps extends Assign<HTMLArkProps<'div'>, MenuItemGroupParams> {
4
+ export interface MenuItemGroupProps extends Assign<HTMLArkProps<'div'>, ItemGroupProps> {
6
5
  }
7
- export declare const MenuItemGroup: ArkComponent<'div', MenuItemGroupParams>;
8
- export {};
6
+ export declare const MenuItemGroup: ArkComponent<'div', ItemGroupProps>;
@@ -1,7 +1,6 @@
1
1
  import { Presence, type PresenceProps } from './presence';
2
2
  import { PresenceProvider, usePresenceContext, type PresenceContext } from './presence-context';
3
- import { PresencePropsProvider, usePresencePropsContext, type PresencePropsContext } from './presence-props-context';
4
3
  import { splitPresenceProps } from './split-presence-props';
5
4
  import { usePresence, type UsePresenceProps, type UsePresenceReturn } from './use-presence';
6
- export { Presence, PresencePropsProvider, PresenceProvider, splitPresenceProps, usePresence, usePresenceContext, usePresencePropsContext, };
7
- export type { PresenceContext, PresenceProps, PresencePropsContext, UsePresenceProps, UsePresenceReturn, };
5
+ export { Presence, PresenceProvider, splitPresenceProps, usePresence, usePresenceContext };
6
+ export type { PresenceContext, PresenceProps, UsePresenceProps, UsePresenceReturn };
@@ -1,2 +1,2 @@
1
1
  import type { UsePresenceProps } from './use-presence';
2
- export declare function splitPresenceProps<T>(props: T & UsePresenceProps): [Pick<T & UsePresenceProps, "present" | "onExitComplete" | "lazyMount" | "unmountOnExit">, T & UsePresenceProps extends infer T_1 ? { [P in keyof T_1 as Exclude<P, "present" | "onExitComplete" | "lazyMount" | "unmountOnExit">]: (T & UsePresenceProps)[P]; } : never];
2
+ export declare const splitPresenceProps: <T extends UsePresenceProps>(props: T) => [Pick<T, Extract<("present" | "onExitComplete" | "lazyMount" | "unmountOnExit")[], readonly (keyof T)[]>[number]>, { [P in keyof T as Exclude<P, "present" | "onExitComplete" | "lazyMount" | "unmountOnExit">]: T[P]; }];
@@ -1,16 +1,7 @@
1
1
  import * as presence from '@zag-js/presence';
2
+ import { type RenderStrategyProps } from '../render-strategy';
2
3
  import type { Optional } from '../types';
3
- export interface UsePresenceProps extends Optional<presence.Context, 'present'> {
4
- /**
5
- * Whether to enable lazy mounting
6
- * @default false
7
- */
8
- lazyMount?: boolean;
9
- /**
10
- * Whether to unmount on exit.
11
- * @default false
12
- */
13
- unmountOnExit?: boolean;
4
+ export interface UsePresenceProps extends Optional<presence.Context, 'present'>, RenderStrategyProps {
14
5
  }
15
6
  export interface UsePresenceReturn extends ReturnType<typeof usePresence> {
16
7
  }
@@ -0,0 +1,14 @@
1
+ export interface RenderStrategyProps {
2
+ /**
3
+ * Whether to enable lazy mounting
4
+ * @default false
5
+ */
6
+ lazyMount?: boolean;
7
+ /**
8
+ * Whether to unmount on exit.
9
+ * @default false
10
+ */
11
+ unmountOnExit?: boolean;
12
+ }
13
+ export declare const RenderStrategyProvider: import("solid-js").ContextProviderComponent<RenderStrategyProps>, useRenderStrategyContext: () => RenderStrategyProps;
14
+ export declare const splitRenderStrategyProps: <T extends RenderStrategyProps>(props: T) => [Pick<T, Extract<("lazyMount" | "unmountOnExit")[], readonly (keyof T)[]>[number]>, { [P in keyof T as Exclude<P, "lazyMount" | "unmountOnExit">]: T[P]; }];
@@ -1,8 +1,8 @@
1
1
  import { type ArkComponent, type HTMLArkProps } from '../factory';
2
- import { type UsePresenceProps } from '../presence';
2
+ import { type RenderStrategyProps } from '../render-strategy';
3
3
  import type { Assign } from '../types';
4
4
  import { type UseTabsProps } from './use-tabs';
5
- interface ElementProps extends UseTabsProps, UsePresenceProps {
5
+ interface ElementProps extends UseTabsProps, RenderStrategyProps {
6
6
  }
7
7
  export interface TabsRootProps extends Assign<HTMLArkProps<'div'>, ElementProps> {
8
8
  }
@@ -1,5 +0,0 @@
1
- import { createContext } from '../create-context';
2
- export const [PresencePropsProvider, usePresencePropsContext] = createContext({
3
- hookName: 'usePresencePropsContext',
4
- providerName: '<PresencePropsProvider />',
5
- });
@@ -1,4 +0,0 @@
1
- import type { UsePresenceProps } from './use-presence';
2
- export interface PresencePropsContext extends UsePresenceProps {
3
- }
4
- export declare const PresencePropsProvider: import("solid-js").ContextProviderComponent<PresencePropsContext>, usePresencePropsContext: () => PresencePropsContext;