@ark-ui/solid 0.10.1 → 0.11.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.
- package/CHANGELOG.md +14 -2
- package/accordion/accordion-content.cjs +14 -3
- package/accordion/accordion-content.d.ts +2 -1
- package/accordion/accordion-content.mjs +15 -4
- package/combobox/combobox-content.cjs +14 -3
- package/combobox/combobox-content.d.ts +2 -1
- package/combobox/combobox-content.mjs +15 -4
- package/dialog/dialog-backdrop.cjs +14 -3
- package/dialog/dialog-backdrop.d.ts +2 -1
- package/dialog/dialog-backdrop.mjs +15 -4
- package/dialog/dialog-content.cjs +14 -3
- package/dialog/dialog-content.d.ts +2 -1
- package/dialog/dialog-content.mjs +15 -4
- package/factory.cjs +0 -1
- package/factory.d.ts +0 -1
- package/factory.mjs +1 -1
- package/hover-card/hover-card-content.cjs +14 -3
- package/hover-card/hover-card-content.d.ts +2 -1
- package/hover-card/hover-card-content.mjs +15 -4
- package/index.cjs +32 -26
- package/index.d.ts +2 -0
- package/index.mjs +3 -0
- package/menu/menu-content.cjs +14 -3
- package/menu/menu-content.d.ts +2 -1
- package/menu/menu-content.mjs +15 -4
- package/package.json +11 -4
- package/popover/popover-content.cjs +13 -2
- package/popover/popover-content.d.ts +2 -1
- package/popover/popover-content.mjs +14 -3
- package/presence/index.cjs +13 -0
- package/presence/index.d.ts +8 -0
- package/presence/index.mjs +8 -0
- package/presence/presence.cjs +33 -0
- package/presence/presence.d.ts +17 -0
- package/presence/presence.mjs +29 -0
- package/presence/presence.stories.d.ts +10 -0
- package/presence/presence.test.d.ts +1 -0
- package/presence/split-presence-props.cjs +16 -0
- package/presence/split-presence-props.d.ts +2 -0
- package/presence/split-presence-props.mjs +12 -0
- package/presence/use-presence.cjs +35 -0
- package/presence/use-presence.d.ts +5 -0
- package/presence/use-presence.mjs +12 -0
- package/select/select-content.cjs +13 -2
- package/select/select-content.d.ts +2 -1
- package/select/select-content.mjs +14 -3
- package/tabs/tab-content.cjs +11 -3
- package/tabs/tab-content.d.ts +3 -4
- package/tabs/tab-content.mjs +12 -4
- package/tabs/tab-presence.cjs +18 -0
- package/tabs/tab-presence.d.ts +5 -0
- package/tabs/tab-presence.mjs +14 -0
- package/tabs/tabs.test.d.ts +1 -0
- package/tags-input/index.d.ts +1 -1
- package/tooltip/tooltip-content.cjs +13 -2
- package/tooltip/tooltip-content.d.ts +2 -1
- package/tooltip/tooltip-content.mjs +14 -3
- package/tooltip/tooltip-positioner.cjs +1 -9
- package/tooltip/tooltip-positioner.mjs +1 -9
|
@@ -5,12 +5,23 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
5
5
|
const web = require('solid-js/web');
|
|
6
6
|
const solid = require('@zag-js/solid');
|
|
7
7
|
const factory = require('../factory.cjs');
|
|
8
|
+
const index = require('../presence/index.cjs');
|
|
8
9
|
const popoverContext = require('./popover-context.cjs');
|
|
10
|
+
const splitPresenceProps = require('../presence/split-presence-props.cjs');
|
|
9
11
|
|
|
10
12
|
const PopoverContent = props => {
|
|
13
|
+
const [presenceProps, localProps] = splitPresenceProps.splitPresenceProps(props);
|
|
11
14
|
const api = popoverContext.usePopoverContext();
|
|
12
|
-
const
|
|
13
|
-
return web.createComponent(
|
|
15
|
+
const mergedProps = solid.mergeProps(() => api().contentProps, localProps);
|
|
16
|
+
return web.createComponent(index.Presence, web.mergeProps({
|
|
17
|
+
get present() {
|
|
18
|
+
return api().isOpen;
|
|
19
|
+
}
|
|
20
|
+
}, presenceProps, {
|
|
21
|
+
get children() {
|
|
22
|
+
return web.createComponent(factory.ark.div, mergedProps);
|
|
23
|
+
}
|
|
24
|
+
}));
|
|
14
25
|
};
|
|
15
26
|
|
|
16
27
|
exports.PopoverContent = PopoverContent;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { JSX } from 'solid-js';
|
|
2
2
|
import { type HTMLArkProps } from '../factory';
|
|
3
|
-
|
|
3
|
+
import { type PresenceProps } from '../presence';
|
|
4
|
+
export type PopoverContentProps = HTMLArkProps<'div'> & PresenceProps;
|
|
4
5
|
export declare const PopoverContent: (props: PopoverContentProps) => JSX.Element;
|
|
@@ -1,12 +1,23 @@
|
|
|
1
|
-
import { createComponent } from 'solid-js/web';
|
|
1
|
+
import { createComponent, mergeProps as mergeProps$1 } from 'solid-js/web';
|
|
2
2
|
import { mergeProps } from '@zag-js/solid';
|
|
3
3
|
import { ark } from '../factory.mjs';
|
|
4
|
+
import { Presence } from '../presence/index.mjs';
|
|
4
5
|
import { usePopoverContext } from './popover-context.mjs';
|
|
6
|
+
import { splitPresenceProps } from '../presence/split-presence-props.mjs';
|
|
5
7
|
|
|
6
8
|
const PopoverContent = props => {
|
|
9
|
+
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
7
10
|
const api = usePopoverContext();
|
|
8
|
-
const
|
|
9
|
-
return createComponent(
|
|
11
|
+
const mergedProps = mergeProps(() => api().contentProps, localProps);
|
|
12
|
+
return createComponent(Presence, mergeProps$1({
|
|
13
|
+
get present() {
|
|
14
|
+
return api().isOpen;
|
|
15
|
+
}
|
|
16
|
+
}, presenceProps, {
|
|
17
|
+
get children() {
|
|
18
|
+
return createComponent(ark.div, mergedProps);
|
|
19
|
+
}
|
|
20
|
+
}));
|
|
10
21
|
};
|
|
11
22
|
|
|
12
23
|
export { PopoverContent };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const presence = require('./presence.cjs');
|
|
6
|
+
const splitPresenceProps = require('./split-presence-props.cjs');
|
|
7
|
+
|
|
8
|
+
const Presence = Object.assign(presence.Presence, {
|
|
9
|
+
Root: presence.Presence
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
exports.splitPresenceProps = splitPresenceProps.splitPresenceProps;
|
|
13
|
+
exports.Presence = Presence;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { JSX } from 'solid-js';
|
|
2
|
+
import { type PresenceProps } from './presence';
|
|
3
|
+
import { splitPresenceProps } from './split-presence-props';
|
|
4
|
+
declare const Presence: ((props: PresenceProps) => JSX.Element) & {
|
|
5
|
+
Root: (props: PresenceProps) => JSX.Element;
|
|
6
|
+
};
|
|
7
|
+
export { Presence, splitPresenceProps };
|
|
8
|
+
export type { PresenceProps };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const web = require('solid-js/web');
|
|
6
|
+
const solidJs = require('solid-js');
|
|
7
|
+
const createSplitProps = require('../create-split-props.cjs');
|
|
8
|
+
const usePresence = require('./use-presence.cjs');
|
|
9
|
+
|
|
10
|
+
const Presence = props => {
|
|
11
|
+
const [presenceProps, localProps] = createSplitProps.createSplitProps()(props, ['onExitComplete', 'present']);
|
|
12
|
+
const api = usePresence.usePresence(presenceProps);
|
|
13
|
+
const [wasEverPresent, setWasEverPresent] = solidJs.createSignal(false);
|
|
14
|
+
const getChildren = solidJs.children(() => props.children);
|
|
15
|
+
solidJs.createEffect(() => {
|
|
16
|
+
const isPresent = api().isPresent;
|
|
17
|
+
if (isPresent) setWasEverPresent(true);
|
|
18
|
+
const children = getChildren();
|
|
19
|
+
if (children instanceof HTMLElement) {
|
|
20
|
+
api().setNode(children);
|
|
21
|
+
web.spread(children, {
|
|
22
|
+
['data-state']: presenceProps.present ? 'open' : 'closed',
|
|
23
|
+
hidden: !api().isPresent
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
return web.memo((() => {
|
|
28
|
+
const _c$ = web.memo(() => !!(!api().isPresent && !wasEverPresent() && localProps.lazyMount || localProps.unmountOnExit && !api().isPresent && wasEverPresent()));
|
|
29
|
+
return () => _c$() ? null : getChildren();
|
|
30
|
+
})());
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
exports.Presence = Presence;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { JSX, type JSXElement } from 'solid-js';
|
|
2
|
+
import { type UsePresenceProps } from './use-presence';
|
|
3
|
+
export type PresenceProps = UsePresenceProps & {
|
|
4
|
+
/**
|
|
5
|
+
* Whether to enable lazy mounting. Defaults to `false`.
|
|
6
|
+
*/
|
|
7
|
+
lazyMount?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Whether to unmount on exit. Defaults to `false`.
|
|
10
|
+
*/
|
|
11
|
+
unmountOnExit?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* The children to render.
|
|
14
|
+
*/
|
|
15
|
+
children?: JSXElement;
|
|
16
|
+
};
|
|
17
|
+
export declare const Presence: (props: PresenceProps) => JSX.Element;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { spread, memo } from 'solid-js/web';
|
|
2
|
+
import { createSignal, children, createEffect } from 'solid-js';
|
|
3
|
+
import { createSplitProps } from '../create-split-props.mjs';
|
|
4
|
+
import { usePresence } from './use-presence.mjs';
|
|
5
|
+
|
|
6
|
+
const Presence = props => {
|
|
7
|
+
const [presenceProps, localProps] = createSplitProps()(props, ['onExitComplete', 'present']);
|
|
8
|
+
const api = usePresence(presenceProps);
|
|
9
|
+
const [wasEverPresent, setWasEverPresent] = createSignal(false);
|
|
10
|
+
const getChildren = children(() => props.children);
|
|
11
|
+
createEffect(() => {
|
|
12
|
+
const isPresent = api().isPresent;
|
|
13
|
+
if (isPresent) setWasEverPresent(true);
|
|
14
|
+
const children = getChildren();
|
|
15
|
+
if (children instanceof HTMLElement) {
|
|
16
|
+
api().setNode(children);
|
|
17
|
+
spread(children, {
|
|
18
|
+
['data-state']: presenceProps.present ? 'open' : 'closed',
|
|
19
|
+
hidden: !api().isPresent
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
return memo((() => {
|
|
24
|
+
const _c$ = memo(() => !!(!api().isPresent && !wasEverPresent() && localProps.lazyMount || localProps.unmountOnExit && !api().isPresent && wasEverPresent()));
|
|
25
|
+
return () => _c$() ? null : getChildren();
|
|
26
|
+
})());
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export { Presence };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { JSX } from 'solid-js';
|
|
2
|
+
import type { Meta } from 'storybook-solidjs';
|
|
3
|
+
import { Presence } from './presence';
|
|
4
|
+
type PresenceType = typeof Presence;
|
|
5
|
+
declare const meta: Meta<PresenceType>;
|
|
6
|
+
export default meta;
|
|
7
|
+
export declare const Basic: () => JSX.Element;
|
|
8
|
+
export declare const LazyMount: () => JSX.Element;
|
|
9
|
+
export declare const UnmountOnExit: () => JSX.Element;
|
|
10
|
+
export declare const LazyMountAndUnmountOnExit: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const createSplitProps = require('../create-split-props.cjs');
|
|
6
|
+
|
|
7
|
+
function splitPresenceProps(props) {
|
|
8
|
+
return createSplitProps.createSplitProps()(props, [
|
|
9
|
+
"lazyMount",
|
|
10
|
+
"onExitComplete",
|
|
11
|
+
"present",
|
|
12
|
+
"unmountOnExit"
|
|
13
|
+
]);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
exports.splitPresenceProps = splitPresenceProps;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import type { PresenceProps } from './presence';
|
|
2
|
+
export declare function splitPresenceProps<T>(props: T & Omit<PresenceProps, 'children'>): [Pick<T & Omit<PresenceProps, "children">, "present" | "onExitComplete" | "lazyMount" | "unmountOnExit">, Omit<T & Omit<PresenceProps, "children">, "present" | "onExitComplete" | "lazyMount" | "unmountOnExit">];
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const presence = require('@zag-js/presence');
|
|
6
|
+
const solid = require('@zag-js/solid');
|
|
7
|
+
const solidJs = require('solid-js');
|
|
8
|
+
|
|
9
|
+
function _interopNamespaceDefault(e) {
|
|
10
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
|
|
11
|
+
if (e) {
|
|
12
|
+
for (const k in e) {
|
|
13
|
+
if (k !== 'default') {
|
|
14
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
15
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
get: () => e[k]
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
n.default = e;
|
|
23
|
+
return Object.freeze(n);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const presence__namespace = /*#__PURE__*/_interopNamespaceDefault(presence);
|
|
27
|
+
|
|
28
|
+
const usePresence = (props) => {
|
|
29
|
+
const [state, send] = solid.useMachine(presence__namespace.machine(props), {
|
|
30
|
+
context: props
|
|
31
|
+
});
|
|
32
|
+
return solidJs.createMemo(() => presence__namespace.connect(state, send, solid.normalizeProps));
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
exports.usePresence = usePresence;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Accessor } from 'solid-js';
|
|
2
|
+
import * as presence from '@zag-js/presence';
|
|
3
|
+
import type { Optional } from '../types';
|
|
4
|
+
export type UsePresenceProps = Optional<presence.Context, 'present'>;
|
|
5
|
+
export declare const usePresence: (props: UsePresenceProps) => Accessor<presence.Api>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as presence from '@zag-js/presence';
|
|
2
|
+
import { useMachine, normalizeProps } from '@zag-js/solid';
|
|
3
|
+
import { createMemo } from 'solid-js';
|
|
4
|
+
|
|
5
|
+
const usePresence = (props) => {
|
|
6
|
+
const [state, send] = useMachine(presence.machine(props), {
|
|
7
|
+
context: props
|
|
8
|
+
});
|
|
9
|
+
return createMemo(() => presence.connect(state, send, normalizeProps));
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export { usePresence };
|
|
@@ -5,12 +5,23 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
5
5
|
const web = require('solid-js/web');
|
|
6
6
|
const solid = require('@zag-js/solid');
|
|
7
7
|
const factory = require('../factory.cjs');
|
|
8
|
+
const index = require('../presence/index.cjs');
|
|
8
9
|
const selectContext = require('./select-context.cjs');
|
|
10
|
+
const splitPresenceProps = require('../presence/split-presence-props.cjs');
|
|
9
11
|
|
|
10
12
|
const SelectContent = props => {
|
|
13
|
+
const [presenceProps, localProps] = splitPresenceProps.splitPresenceProps(props);
|
|
11
14
|
const api = selectContext.useSelectContext();
|
|
12
|
-
const
|
|
13
|
-
return web.createComponent(
|
|
15
|
+
const mergedProps = solid.mergeProps(() => api().contentProps, localProps);
|
|
16
|
+
return web.createComponent(index.Presence, web.mergeProps({
|
|
17
|
+
get present() {
|
|
18
|
+
return api().isOpen;
|
|
19
|
+
}
|
|
20
|
+
}, presenceProps, {
|
|
21
|
+
get children() {
|
|
22
|
+
return web.createComponent(factory.ark.div, mergedProps);
|
|
23
|
+
}
|
|
24
|
+
}));
|
|
14
25
|
};
|
|
15
26
|
|
|
16
27
|
exports.SelectContent = SelectContent;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { JSX } from 'solid-js';
|
|
2
2
|
import { type HTMLArkProps } from '../factory';
|
|
3
|
-
|
|
3
|
+
import { type PresenceProps } from '../presence';
|
|
4
|
+
export type SelectContentProps = HTMLArkProps<'div'> & PresenceProps;
|
|
4
5
|
export declare const SelectContent: (props: SelectContentProps) => JSX.Element;
|
|
@@ -1,12 +1,23 @@
|
|
|
1
|
-
import { createComponent } from 'solid-js/web';
|
|
1
|
+
import { createComponent, mergeProps as mergeProps$1 } from 'solid-js/web';
|
|
2
2
|
import { mergeProps } from '@zag-js/solid';
|
|
3
3
|
import { ark } from '../factory.mjs';
|
|
4
|
+
import { Presence } from '../presence/index.mjs';
|
|
4
5
|
import { useSelectContext } from './select-context.mjs';
|
|
6
|
+
import { splitPresenceProps } from '../presence/split-presence-props.mjs';
|
|
5
7
|
|
|
6
8
|
const SelectContent = props => {
|
|
9
|
+
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
7
10
|
const api = useSelectContext();
|
|
8
|
-
const
|
|
9
|
-
return createComponent(
|
|
11
|
+
const mergedProps = mergeProps(() => api().contentProps, localProps);
|
|
12
|
+
return createComponent(Presence, mergeProps$1({
|
|
13
|
+
get present() {
|
|
14
|
+
return api().isOpen;
|
|
15
|
+
}
|
|
16
|
+
}, presenceProps, {
|
|
17
|
+
get children() {
|
|
18
|
+
return createComponent(ark.div, mergedProps);
|
|
19
|
+
}
|
|
20
|
+
}));
|
|
10
21
|
};
|
|
11
22
|
|
|
12
23
|
export { SelectContent };
|
package/tabs/tab-content.cjs
CHANGED
|
@@ -6,13 +6,21 @@ const web = require('solid-js/web');
|
|
|
6
6
|
const solid = require('@zag-js/solid');
|
|
7
7
|
const createSplitProps = require('../create-split-props.cjs');
|
|
8
8
|
const factory = require('../factory.cjs');
|
|
9
|
+
require('../presence/index.cjs');
|
|
10
|
+
const tabPresence = require('./tab-presence.cjs');
|
|
9
11
|
const tabsContext = require('./tabs-context.cjs');
|
|
12
|
+
const splitPresenceProps = require('../presence/split-presence-props.cjs');
|
|
10
13
|
|
|
11
14
|
const TabContent = props => {
|
|
12
|
-
const [
|
|
15
|
+
const [presenceProps, localProps] = splitPresenceProps.splitPresenceProps(props);
|
|
16
|
+
const [getContentProps, restProps] = createSplitProps.createSplitProps()(localProps, ['value']);
|
|
13
17
|
const api = tabsContext.useTabsContext();
|
|
14
|
-
const contentProps = solid.mergeProps(() => api().getContentProps(
|
|
15
|
-
return web.createComponent(
|
|
18
|
+
const contentProps = solid.mergeProps(() => api().getContentProps(getContentProps), restProps);
|
|
19
|
+
return web.createComponent(tabPresence.TabPresence, web.mergeProps(presenceProps, getContentProps, {
|
|
20
|
+
get children() {
|
|
21
|
+
return web.createComponent(factory.ark.div, contentProps);
|
|
22
|
+
}
|
|
23
|
+
}));
|
|
16
24
|
};
|
|
17
25
|
|
|
18
26
|
exports.TabContent = TabContent;
|
package/tabs/tab-content.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { JSX } from 'solid-js';
|
|
2
|
-
import { type
|
|
2
|
+
import { type ContentProps } from '@zag-js/tabs';
|
|
3
3
|
import { type HTMLArkProps } from '../factory';
|
|
4
4
|
import type { Assign } from '../types';
|
|
5
|
-
type
|
|
6
|
-
export type TabContentProps = Assign<HTMLArkProps<'div'>,
|
|
5
|
+
import { type TabPresenceProps } from './tab-presence';
|
|
6
|
+
export type TabContentProps = Assign<HTMLArkProps<'div'>, ContentProps> & TabPresenceProps;
|
|
7
7
|
export declare const TabContent: (props: TabContentProps) => JSX.Element;
|
|
8
|
-
export {};
|
package/tabs/tab-content.mjs
CHANGED
|
@@ -1,14 +1,22 @@
|
|
|
1
|
-
import { createComponent } from 'solid-js/web';
|
|
1
|
+
import { createComponent, mergeProps as mergeProps$1 } from 'solid-js/web';
|
|
2
2
|
import { mergeProps } from '@zag-js/solid';
|
|
3
3
|
import { createSplitProps } from '../create-split-props.mjs';
|
|
4
4
|
import { ark } from '../factory.mjs';
|
|
5
|
+
import '../presence/index.mjs';
|
|
6
|
+
import { TabPresence } from './tab-presence.mjs';
|
|
5
7
|
import { useTabsContext } from './tabs-context.mjs';
|
|
8
|
+
import { splitPresenceProps } from '../presence/split-presence-props.mjs';
|
|
6
9
|
|
|
7
10
|
const TabContent = props => {
|
|
8
|
-
const [
|
|
11
|
+
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
12
|
+
const [getContentProps, restProps] = createSplitProps()(localProps, ['value']);
|
|
9
13
|
const api = useTabsContext();
|
|
10
|
-
const contentProps = mergeProps(() => api().getContentProps(
|
|
11
|
-
return createComponent(
|
|
14
|
+
const contentProps = mergeProps(() => api().getContentProps(getContentProps), restProps);
|
|
15
|
+
return createComponent(TabPresence, mergeProps$1(presenceProps, getContentProps, {
|
|
16
|
+
get children() {
|
|
17
|
+
return createComponent(ark.div, contentProps);
|
|
18
|
+
}
|
|
19
|
+
}));
|
|
12
20
|
};
|
|
13
21
|
|
|
14
22
|
export { TabContent };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
const web = require('solid-js/web');
|
|
6
|
+
const index = require('../presence/index.cjs');
|
|
7
|
+
const tabsContext = require('./tabs-context.cjs');
|
|
8
|
+
|
|
9
|
+
const TabPresence = props => {
|
|
10
|
+
const api = tabsContext.useTabsContext();
|
|
11
|
+
return web.createComponent(index.Presence, web.mergeProps({
|
|
12
|
+
get present() {
|
|
13
|
+
return api().value === props.value;
|
|
14
|
+
}
|
|
15
|
+
}, props));
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
exports.TabPresence = TabPresence;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { JSX } from 'solid-js';
|
|
2
|
+
import type { ContentProps } from '@zag-js/tabs';
|
|
3
|
+
import { type PresenceProps } from '../presence';
|
|
4
|
+
export type TabPresenceProps = PresenceProps & ContentProps;
|
|
5
|
+
export declare const TabPresence: (props: TabPresenceProps) => JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createComponent, mergeProps } from 'solid-js/web';
|
|
2
|
+
import { Presence } from '../presence/index.mjs';
|
|
3
|
+
import { useTabsContext } from './tabs-context.mjs';
|
|
4
|
+
|
|
5
|
+
const TabPresence = props => {
|
|
6
|
+
const api = useTabsContext();
|
|
7
|
+
return createComponent(Presence, mergeProps({
|
|
8
|
+
get present() {
|
|
9
|
+
return api().value === props.value;
|
|
10
|
+
}
|
|
11
|
+
}, props));
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { TabPresence };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/tags-input/index.d.ts
CHANGED
|
@@ -5,12 +5,23 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
5
5
|
const web = require('solid-js/web');
|
|
6
6
|
const solid = require('@zag-js/solid');
|
|
7
7
|
const factory = require('../factory.cjs');
|
|
8
|
+
const index = require('../presence/index.cjs');
|
|
8
9
|
const tooltipContext = require('./tooltip-context.cjs');
|
|
10
|
+
const splitPresenceProps = require('../presence/split-presence-props.cjs');
|
|
9
11
|
|
|
10
12
|
const TooltipContent = props => {
|
|
13
|
+
const [presenceProps, localProps] = splitPresenceProps.splitPresenceProps(props);
|
|
11
14
|
const api = tooltipContext.useTooltipContext();
|
|
12
|
-
const contentProps = solid.mergeProps(() => api().contentProps,
|
|
13
|
-
return web.createComponent(
|
|
15
|
+
const contentProps = solid.mergeProps(() => api().contentProps, localProps);
|
|
16
|
+
return web.createComponent(index.Presence, web.mergeProps({
|
|
17
|
+
get present() {
|
|
18
|
+
return api().isOpen;
|
|
19
|
+
}
|
|
20
|
+
}, presenceProps, {
|
|
21
|
+
get children() {
|
|
22
|
+
return web.createComponent(factory.ark.div, contentProps);
|
|
23
|
+
}
|
|
24
|
+
}));
|
|
14
25
|
};
|
|
15
26
|
|
|
16
27
|
exports.TooltipContent = TooltipContent;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { JSX } from 'solid-js';
|
|
2
2
|
import { type HTMLArkProps } from '../factory';
|
|
3
|
-
|
|
3
|
+
import { type PresenceProps } from '../presence';
|
|
4
|
+
export type TooltipContentProps = HTMLArkProps<'div'> & PresenceProps;
|
|
4
5
|
export declare const TooltipContent: (props: TooltipContentProps) => JSX.Element;
|
|
@@ -1,12 +1,23 @@
|
|
|
1
|
-
import { createComponent } from 'solid-js/web';
|
|
1
|
+
import { createComponent, mergeProps as mergeProps$1 } from 'solid-js/web';
|
|
2
2
|
import { mergeProps } from '@zag-js/solid';
|
|
3
3
|
import { ark } from '../factory.mjs';
|
|
4
|
+
import { Presence } from '../presence/index.mjs';
|
|
4
5
|
import { useTooltipContext } from './tooltip-context.mjs';
|
|
6
|
+
import { splitPresenceProps } from '../presence/split-presence-props.mjs';
|
|
5
7
|
|
|
6
8
|
const TooltipContent = props => {
|
|
9
|
+
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
7
10
|
const api = useTooltipContext();
|
|
8
|
-
const contentProps = mergeProps(() => api().contentProps,
|
|
9
|
-
return createComponent(
|
|
11
|
+
const contentProps = mergeProps(() => api().contentProps, localProps);
|
|
12
|
+
return createComponent(Presence, mergeProps$1({
|
|
13
|
+
get present() {
|
|
14
|
+
return api().isOpen;
|
|
15
|
+
}
|
|
16
|
+
}, presenceProps, {
|
|
17
|
+
get children() {
|
|
18
|
+
return createComponent(ark.div, contentProps);
|
|
19
|
+
}
|
|
20
|
+
}));
|
|
10
21
|
};
|
|
11
22
|
|
|
12
23
|
export { TooltipContent };
|
|
@@ -4,21 +4,13 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
4
4
|
|
|
5
5
|
const web = require('solid-js/web');
|
|
6
6
|
const solid = require('@zag-js/solid');
|
|
7
|
-
const solidJs = require('solid-js');
|
|
8
7
|
const factory = require('../factory.cjs');
|
|
9
8
|
const tooltipContext = require('./tooltip-context.cjs');
|
|
10
9
|
|
|
11
10
|
const TooltipPositioner = props => {
|
|
12
11
|
const api = tooltipContext.useTooltipContext();
|
|
13
12
|
const positionerProps = solid.mergeProps(() => api().positionerProps, props);
|
|
14
|
-
return web.createComponent(
|
|
15
|
-
get when() {
|
|
16
|
-
return api().isOpen;
|
|
17
|
-
},
|
|
18
|
-
get children() {
|
|
19
|
-
return web.createComponent(factory.ark.div, positionerProps);
|
|
20
|
-
}
|
|
21
|
-
});
|
|
13
|
+
return web.createComponent(factory.ark.div, positionerProps);
|
|
22
14
|
};
|
|
23
15
|
|
|
24
16
|
exports.TooltipPositioner = TooltipPositioner;
|
|
@@ -1,20 +1,12 @@
|
|
|
1
1
|
import { createComponent } from 'solid-js/web';
|
|
2
2
|
import { mergeProps } from '@zag-js/solid';
|
|
3
|
-
import { Show } from 'solid-js';
|
|
4
3
|
import { ark } from '../factory.mjs';
|
|
5
4
|
import { useTooltipContext } from './tooltip-context.mjs';
|
|
6
5
|
|
|
7
6
|
const TooltipPositioner = props => {
|
|
8
7
|
const api = useTooltipContext();
|
|
9
8
|
const positionerProps = mergeProps(() => api().positionerProps, props);
|
|
10
|
-
return createComponent(
|
|
11
|
-
get when() {
|
|
12
|
-
return api().isOpen;
|
|
13
|
-
},
|
|
14
|
-
get children() {
|
|
15
|
-
return createComponent(ark.div, positionerProps);
|
|
16
|
-
}
|
|
17
|
-
});
|
|
9
|
+
return createComponent(ark.div, positionerProps);
|
|
18
10
|
};
|
|
19
11
|
|
|
20
12
|
export { TooltipPositioner };
|