@ark-ui/solid 1.0.0-beta.3 → 1.0.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 -0
- package/cjs/index.js +590 -452
- package/cjs/index.js.map +1 -1
- package/esm/index.js +587 -454
- package/esm/index.js.map +1 -1
- package/package.json +42 -42
- package/source/accordion/accordion-item-content.jsx +6 -5
- package/source/accordion/accordion-item-trigger.jsx +4 -1
- package/source/accordion/accordion-item.jsx +10 -6
- package/source/accordion/accordion.jsx +8 -4
- package/source/avatar/avatar-fallback.jsx +2 -2
- package/source/avatar/avatar-image.jsx +2 -2
- package/source/avatar/avatar.jsx +2 -2
- package/source/carousel/carousel.jsx +6 -4
- package/source/checkbox/checkbox-label.jsx +2 -2
- package/source/color-picker/color-picker-content.jsx +6 -5
- package/source/color-picker/color-picker-positioner.jsx +6 -1
- package/source/color-picker/color-picker-view.jsx +13 -0
- package/source/color-picker/color-picker.jsx +8 -3
- package/source/color-picker/index.js +2 -0
- package/source/combobox/combobox-content.jsx +6 -5
- package/source/combobox/combobox-positioner.jsx +8 -3
- package/source/combobox/combobox.jsx +8 -3
- package/source/date-picker/date-picker-content.jsx +6 -5
- package/source/date-picker/date-picker-positioner.jsx +6 -1
- package/source/date-picker/date-picker.jsx +8 -3
- package/source/dialog/dialog-backdrop.jsx +6 -5
- package/source/dialog/dialog-close-trigger.jsx +2 -2
- package/source/dialog/dialog-content.jsx +6 -5
- package/source/dialog/dialog-description.jsx +2 -2
- package/source/dialog/dialog-positioner.jsx +8 -3
- package/source/dialog/dialog-title.jsx +2 -2
- package/source/dialog/dialog-trigger.jsx +6 -3
- package/source/dialog/dialog.jsx +9 -3
- package/source/editable/editable-area.jsx +2 -2
- package/source/editable/editable-cancel-trigger.jsx +2 -2
- package/source/editable/editable-control.jsx +2 -2
- package/source/editable/editable-edit-trigger.jsx +2 -2
- package/source/editable/editable-input.jsx +2 -2
- package/source/editable/editable-label.jsx +2 -2
- package/source/editable/editable-preview.jsx +2 -2
- package/source/editable/editable-submit-trigger.jsx +2 -2
- package/source/editable/editable.jsx +2 -2
- package/source/hover-card/hover-card-arrow-tip.jsx +2 -2
- package/source/hover-card/hover-card-arrow.jsx +2 -2
- package/source/hover-card/hover-card-content.jsx +6 -5
- package/source/hover-card/hover-card-positioner.jsx +8 -3
- package/source/hover-card/hover-card-trigger.jsx +2 -2
- package/source/hover-card/hover-card.jsx +9 -3
- package/source/menu/menu-arrow-tip.jsx +2 -2
- package/source/menu/menu-arrow.jsx +2 -2
- package/source/menu/menu-content.jsx +6 -5
- package/source/menu/menu-context-trigger.jsx +2 -2
- package/source/menu/menu-item-group.jsx +2 -2
- package/source/menu/menu-item.jsx +2 -2
- package/source/menu/menu-option-item.jsx +2 -2
- package/source/menu/menu-positioner.jsx +8 -3
- package/source/menu/menu-separator.jsx +2 -2
- package/source/menu/menu-trigger-item.jsx +2 -2
- package/source/menu/menu-trigger.jsx +2 -2
- package/source/menu/menu.jsx +11 -12
- package/source/number-input/number-input-control.jsx +2 -2
- package/source/number-input/number-input-decrement-trigger.jsx +2 -2
- package/source/number-input/number-input-field.jsx +2 -2
- package/source/number-input/number-input-increment-trigger.jsx +2 -2
- package/source/number-input/number-input-label.jsx +2 -2
- package/source/number-input/number-input-scrubber.jsx +2 -2
- package/source/number-input/number-input.jsx +2 -2
- package/source/pagination/pagination.jsx +2 -2
- package/source/pin-input/pin-input-field.jsx +2 -2
- package/source/pin-input/pin-input-label.jsx +2 -2
- package/source/popover/popover-anchor.jsx +2 -2
- package/source/popover/popover-arrow-tip.jsx +2 -2
- package/source/popover/popover-arrow.jsx +2 -2
- package/source/popover/popover-close-trigger.jsx +2 -2
- package/source/popover/popover-content.jsx +6 -5
- package/source/popover/popover-description.jsx +2 -2
- package/source/popover/popover-positioner.jsx +7 -2
- package/source/popover/popover-title.jsx +2 -2
- package/source/popover/popover-trigger.jsx +5 -2
- package/source/popover/popover.jsx +10 -2
- package/source/presence/index.js +4 -1
- package/source/presence/presence-context.js +5 -0
- package/source/presence/presence-props-context.js +5 -0
- package/source/presence/presence.jsx +9 -28
- package/source/presence/split-presence-props.js +0 -1
- package/source/presence/use-presence.js +21 -4
- package/source/rating-group/rating-group-item.jsx +5 -4
- package/source/select/select-content.jsx +6 -5
- package/source/select/select-positioner.jsx +6 -1
- package/source/select/select.jsx +8 -3
- package/source/slider/slider-thumb.jsx +2 -2
- package/source/slider/slider-value-text.jsx +3 -3
- package/source/splitter/splitter-panel.jsx +2 -2
- package/source/splitter/splitter-resize-trigger.jsx +2 -2
- package/source/splitter/splitter.jsx +2 -2
- package/source/switch/switch-label.jsx +2 -2
- package/source/switch/switch-thumb.jsx +2 -2
- package/source/tabs/tab-content.jsx +11 -8
- package/source/tabs/tab-indicator.jsx +2 -2
- package/source/tabs/tab-list.jsx +2 -2
- package/source/tabs/tab-trigger.jsx +2 -2
- package/source/tabs/tabs.jsx +7 -3
- package/source/toggle-group/toggle-group.jsx +2 -2
- package/source/tooltip/tooltip-arrow-tip.jsx +2 -2
- package/source/tooltip/tooltip-arrow.jsx +2 -2
- package/source/tooltip/tooltip-content.jsx +7 -6
- package/source/tooltip/tooltip-positioner.jsx +7 -2
- package/source/tooltip/tooltip-trigger.jsx +2 -2
- package/source/tooltip/tooltip.jsx +10 -2
- package/types/accordion/accordion-context.d.ts +3 -2
- package/types/accordion/accordion-item-content.d.ts +1 -3
- package/types/accordion/accordion-item-context.d.ts +3 -2
- package/types/accordion/accordion-item-indicator.d.ts +2 -1
- package/types/accordion/accordion-item-trigger.d.ts +2 -1
- package/types/accordion/accordion-item.d.ts +5 -4
- package/types/accordion/accordion.d.ts +3 -1
- package/types/accordion/use-accordion.d.ts +4 -2
- package/types/avatar/avatar-context.d.ts +3 -2
- package/types/avatar/avatar-fallback.d.ts +2 -1
- package/types/avatar/avatar-image.d.ts +2 -1
- package/types/avatar/avatar.d.ts +2 -1
- package/types/avatar/use-avatar.d.ts +4 -2
- package/types/carousel/carousel-context.d.ts +3 -2
- package/types/carousel/carousel-control.d.ts +2 -1
- package/types/carousel/carousel-indicator-group.d.ts +2 -1
- package/types/carousel/carousel-indicator.d.ts +2 -1
- package/types/carousel/carousel-next-trigger.d.ts +2 -1
- package/types/carousel/carousel-prev-trigger.d.ts +2 -1
- package/types/carousel/carousel-slide-group.d.ts +2 -1
- package/types/carousel/carousel-slide.d.ts +2 -1
- package/types/carousel/carousel-viewport.d.ts +2 -1
- package/types/carousel/carousel.d.ts +7 -3
- package/types/carousel/use-carousel.d.ts +4 -2
- package/types/checkbox/checkbox-context.d.ts +3 -2
- package/types/checkbox/checkbox-control.d.ts +2 -1
- package/types/checkbox/checkbox-indicator.d.ts +2 -1
- package/types/checkbox/checkbox-label.d.ts +2 -1
- package/types/checkbox/checkbox.d.ts +5 -5
- package/types/checkbox/use-checkbox.d.ts +4 -2
- package/types/color-picker/color-picker-content.d.ts +1 -3
- package/types/color-picker/color-picker-view.d.ts +7 -0
- package/types/color-picker/color-picker.d.ts +5 -3
- package/types/color-picker/index.d.ts +3 -1
- package/types/combobox/combobox-clear-trigger.d.ts +2 -1
- package/types/combobox/combobox-content.d.ts +1 -3
- package/types/combobox/combobox-context.d.ts +2 -1
- package/types/combobox/combobox-control.d.ts +2 -1
- package/types/combobox/combobox-input.d.ts +2 -1
- package/types/combobox/combobox-item-context.d.ts +3 -2
- package/types/combobox/combobox-item-group.d.ts +2 -1
- package/types/combobox/combobox-item-indicator.d.ts +2 -1
- package/types/combobox/combobox-item-text.d.ts +2 -1
- package/types/combobox/combobox-item.d.ts +5 -4
- package/types/combobox/combobox-label.d.ts +2 -1
- package/types/combobox/combobox-positioner.d.ts +2 -1
- package/types/combobox/combobox-trigger.d.ts +2 -1
- package/types/combobox/combobox.d.ts +7 -6
- package/types/combobox/use-combobox.d.ts +2 -1
- package/types/date-picker/date-picker-content.d.ts +1 -3
- package/types/date-picker/date-picker-context.d.ts +3 -2
- package/types/date-picker/date-picker-view.d.ts +4 -3
- package/types/date-picker/date-picker.d.ts +5 -3
- package/types/dialog/dialog-backdrop.d.ts +1 -3
- package/types/dialog/dialog-close-trigger.d.ts +2 -1
- package/types/dialog/dialog-content.d.ts +1 -3
- package/types/dialog/dialog-context.d.ts +3 -2
- package/types/dialog/dialog-description.d.ts +2 -1
- package/types/dialog/dialog-positioner.d.ts +2 -1
- package/types/dialog/dialog-title.d.ts +2 -1
- package/types/dialog/dialog-trigger.d.ts +2 -1
- package/types/dialog/dialog.d.ts +4 -3
- package/types/dialog/use-dialog.d.ts +4 -2
- package/types/editable/editable-area.d.ts +2 -1
- package/types/editable/editable-cancel-trigger.d.ts +2 -1
- package/types/editable/editable-context.d.ts +3 -2
- package/types/editable/editable-control.d.ts +2 -1
- package/types/editable/editable-edit-trigger.d.ts +2 -1
- package/types/editable/editable-input.d.ts +2 -1
- package/types/editable/editable-label.d.ts +2 -1
- package/types/editable/editable-preview.d.ts +2 -1
- package/types/editable/editable-submit-trigger.d.ts +2 -1
- package/types/editable/editable.d.ts +5 -5
- package/types/editable/use-editable.d.ts +4 -2
- package/types/environment/environment.d.ts +2 -2
- package/types/hover-card/hover-card-arrow-tip.d.ts +2 -1
- package/types/hover-card/hover-card-arrow.d.ts +2 -1
- package/types/hover-card/hover-card-content.d.ts +1 -3
- package/types/hover-card/hover-card-context.d.ts +3 -2
- package/types/hover-card/hover-card-positioner.d.ts +2 -1
- package/types/hover-card/hover-card-trigger.d.ts +2 -1
- package/types/hover-card/hover-card.d.ts +4 -3
- package/types/hover-card/use-hover-card.d.ts +4 -2
- package/types/menu/menu-arrow-tip.d.ts +2 -1
- package/types/menu/menu-arrow.d.ts +2 -1
- package/types/menu/menu-content.d.ts +1 -3
- package/types/menu/menu-context-trigger.d.ts +2 -1
- package/types/menu/menu-item-group.d.ts +2 -1
- package/types/menu/menu-item.d.ts +2 -1
- package/types/menu/menu-option-item.d.ts +3 -2
- package/types/menu/menu-positioner.d.ts +2 -1
- package/types/menu/menu-separator.d.ts +2 -1
- package/types/menu/menu-trigger-item.d.ts +2 -1
- package/types/menu/menu-trigger.d.ts +2 -1
- package/types/menu/menu.d.ts +6 -9
- package/types/menu/use-menu.d.ts +2 -1
- package/types/number-input/number-input-context.d.ts +3 -2
- package/types/number-input/number-input-control.d.ts +2 -1
- package/types/number-input/number-input-decrement-trigger.d.ts +2 -1
- package/types/number-input/number-input-field.d.ts +2 -1
- package/types/number-input/number-input-increment-trigger.d.ts +2 -1
- package/types/number-input/number-input-label.d.ts +2 -1
- package/types/number-input/number-input-scrubber.d.ts +2 -1
- package/types/number-input/number-input.d.ts +2 -1
- package/types/number-input/use-number-input.d.ts +4 -2
- package/types/pagination/pagination-context.d.ts +3 -2
- package/types/pagination/pagination-ellipsis.d.ts +2 -1
- package/types/pagination/pagination-item.d.ts +2 -1
- package/types/pagination/pagination.d.ts +4 -3
- package/types/pagination/use-pagination.d.ts +4 -2
- package/types/pin-input/pin-input-context.d.ts +3 -2
- package/types/pin-input/pin-input-control.d.ts +2 -1
- package/types/pin-input/pin-input-field.d.ts +3 -2
- package/types/pin-input/pin-input-label.d.ts +2 -1
- package/types/pin-input/pin-input.d.ts +2 -1
- package/types/pin-input/use-pin-input.d.ts +4 -2
- package/types/popover/popover-anchor.d.ts +2 -1
- package/types/popover/popover-arrow-tip.d.ts +2 -1
- package/types/popover/popover-arrow.d.ts +2 -1
- package/types/popover/popover-close-trigger.d.ts +2 -1
- package/types/popover/popover-content.d.ts +1 -3
- package/types/popover/popover-context.d.ts +3 -2
- package/types/popover/popover-description.d.ts +2 -1
- package/types/popover/popover-indicator.d.ts +2 -1
- package/types/popover/popover-positioner.d.ts +2 -1
- package/types/popover/popover-title.d.ts +2 -1
- package/types/popover/popover-trigger.d.ts +2 -1
- package/types/popover/popover.d.ts +5 -4
- package/types/popover/use-popover.d.ts +4 -2
- package/types/presence/index.d.ts +5 -2
- package/types/presence/presence-context.d.ts +4 -0
- package/types/presence/presence-props-context.d.ts +4 -0
- package/types/presence/presence.d.ts +3 -18
- package/types/presence/split-presence-props.d.ts +2 -2
- package/types/presence/use-presence.d.ts +23 -2
- package/types/radio-group/radio-group-context.d.ts +3 -2
- package/types/radio-group/radio-group-indicator.d.ts +2 -1
- package/types/radio-group/radio-group-item-context.d.ts +3 -2
- package/types/radio-group/radio-group-item-control.d.ts +2 -1
- package/types/radio-group/radio-group-item-text.d.ts +2 -1
- package/types/radio-group/radio-group-item.d.ts +2 -1
- package/types/radio-group/radio-group-label.d.ts +2 -1
- package/types/radio-group/radio-group.d.ts +2 -1
- package/types/radio-group/use-radio-group.d.ts +4 -2
- package/types/rating-group/rating-group-context.d.ts +3 -2
- package/types/rating-group/rating-group-control.d.ts +6 -5
- package/types/rating-group/rating-group-item-context.d.ts +4 -2
- package/types/rating-group/rating-group-item.d.ts +6 -6
- package/types/rating-group/rating-group-label.d.ts +2 -1
- package/types/rating-group/rating-group.d.ts +2 -1
- package/types/rating-group/use-rating-group.d.ts +4 -2
- package/types/segment-group/segment-group-context.d.ts +3 -2
- package/types/segment-group/segment-group-indicator.d.ts +2 -1
- package/types/segment-group/segment-group-item-control.d.ts +2 -1
- package/types/segment-group/segment-group-item-text.d.ts +2 -1
- package/types/segment-group/segment-group-item.d.ts +2 -1
- package/types/segment-group/segment-group-label.d.ts +2 -1
- package/types/segment-group/segment-group.d.ts +2 -1
- package/types/segment-group/use-segment-group.d.ts +4 -2
- package/types/select/select-clear-trigger.d.ts +2 -1
- package/types/select/select-content.d.ts +1 -3
- package/types/select/select-context.d.ts +2 -1
- package/types/select/select-control.d.ts +2 -1
- package/types/select/select-indicator.d.ts +2 -1
- package/types/select/select-item-context.d.ts +2 -1
- package/types/select/select-item-group.d.ts +2 -1
- package/types/select/select-item-indicator.d.ts +2 -1
- package/types/select/select-item-text.d.ts +2 -1
- package/types/select/select-item.d.ts +5 -4
- package/types/select/select-label.d.ts +2 -1
- package/types/select/select-positioner.d.ts +2 -1
- package/types/select/select-trigger.d.ts +2 -1
- package/types/select/select.d.ts +7 -6
- package/types/select/use-select.d.ts +2 -1
- package/types/slider/slider-context.d.ts +3 -2
- package/types/slider/slider-control.d.ts +2 -1
- package/types/slider/slider-label.d.ts +2 -1
- package/types/slider/slider-marker-group.d.ts +2 -1
- package/types/slider/slider-marker.d.ts +2 -1
- package/types/slider/slider-range.d.ts +2 -1
- package/types/slider/slider-thumb.d.ts +2 -1
- package/types/slider/slider-track.d.ts +2 -1
- package/types/slider/slider-value-text.d.ts +3 -7
- package/types/slider/slider.d.ts +4 -3
- package/types/slider/use-slider.d.ts +4 -2
- package/types/splitter/splitter-context.d.ts +3 -2
- package/types/splitter/splitter-panel.d.ts +2 -1
- package/types/splitter/splitter-resize-trigger.d.ts +2 -1
- package/types/splitter/splitter.d.ts +4 -3
- package/types/splitter/use-splitter.d.ts +4 -2
- package/types/switch/switch-context.d.ts +3 -2
- package/types/switch/switch-control.d.ts +2 -1
- package/types/switch/switch-label.d.ts +2 -1
- package/types/switch/switch-thumb.d.ts +2 -1
- package/types/switch/switch.d.ts +5 -5
- package/types/switch/use-switch.d.ts +4 -2
- package/types/tabs/tab-content.d.ts +2 -2
- package/types/tabs/tab-indicator.d.ts +2 -1
- package/types/tabs/tab-list.d.ts +2 -1
- package/types/tabs/tab-trigger.d.ts +2 -1
- package/types/tabs/tabs-context.d.ts +3 -2
- package/types/tabs/tabs.d.ts +3 -1
- package/types/tabs/use-tabs.d.ts +4 -2
- package/types/tags-input/tags-input-clear-trigger.d.ts +2 -1
- package/types/tags-input/tags-input-context.d.ts +3 -2
- package/types/tags-input/tags-input-control.d.ts +2 -1
- package/types/tags-input/tags-input-input.d.ts +2 -1
- package/types/tags-input/tags-input-item-context.d.ts +3 -2
- package/types/tags-input/tags-input-item-delete-trigger.d.ts +2 -1
- package/types/tags-input/tags-input-item-input.d.ts +2 -1
- package/types/tags-input/tags-input-item-text.d.ts +2 -1
- package/types/tags-input/tags-input-item.d.ts +5 -4
- package/types/tags-input/tags-input-label.d.ts +2 -1
- package/types/tags-input/tags-input.d.ts +5 -5
- package/types/tags-input/use-tags-input.d.ts +4 -2
- package/types/toast/toast-close-trigger.d.ts +2 -1
- package/types/toast/toast-description.d.ts +2 -1
- package/types/toast/toast-title.d.ts +2 -1
- package/types/toast/toast.d.ts +2 -1
- package/types/toggle-group/toggle-group-context.d.ts +3 -2
- package/types/toggle-group/toggle-group.d.ts +2 -1
- package/types/toggle-group/use-toggle-group.d.ts +4 -2
- package/types/tooltip/tooltip-arrow-tip.d.ts +2 -1
- package/types/tooltip/tooltip-arrow.d.ts +2 -1
- package/types/tooltip/tooltip-content.d.ts +1 -3
- package/types/tooltip/tooltip-context.d.ts +3 -2
- package/types/tooltip/tooltip-positioner.d.ts +2 -1
- package/types/tooltip/tooltip-trigger.d.ts +2 -1
- package/types/tooltip/tooltip.d.ts +6 -5
- package/types/tooltip/use-tooltip.d.ts +4 -2
- package/source/tabs/tab-presence.jsx +0 -6
- package/types/tabs/tab-presence.d.ts +0 -4
- /package/source/date-picker/{use-date-picker.jsx → use-date-picker.js} +0 -0
- /package/source/radio-group/{use-radio-group.jsx → use-radio-group.js} +0 -0
- /package/source/rating-group/{use-rating-group.jsx → use-rating-group.js} +0 -0
- /package/source/segment-group/{use-segment-group.jsx → use-segment-group.js} +0 -0
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { mergeProps } from '@zag-js/solid';
|
|
2
2
|
import { ark } from '../factory';
|
|
3
|
+
import { usePresenceContext } from '../presence';
|
|
3
4
|
import { usePopoverContext } from './popover-context';
|
|
4
5
|
export const PopoverTrigger = (props) => {
|
|
5
6
|
const api = usePopoverContext();
|
|
6
|
-
const
|
|
7
|
-
|
|
7
|
+
const presenceApi = usePresenceContext();
|
|
8
|
+
const mergedProps = mergeProps(() => api().triggerProps, () => ({ 'aria-controls': presenceApi().isUnmounted && null }), props);
|
|
9
|
+
// @ts-expect-error we want aria-controls to be null to remove them if the popover if lazy mounted
|
|
10
|
+
return <ark.button {...mergedProps}/>;
|
|
8
11
|
};
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import { mergeProps } from '@zag-js/solid';
|
|
1
2
|
import { createSplitProps } from '../create-split-props';
|
|
3
|
+
import { PresenceProvider, splitPresenceProps, usePresence, } from '../presence';
|
|
4
|
+
import { runIfFn } from '../run-if-fn';
|
|
2
5
|
import { PopoverProvider } from './popover-context';
|
|
3
6
|
import { usePopover } from './use-popover';
|
|
4
7
|
export const Popover = (props) => {
|
|
5
|
-
const [
|
|
8
|
+
const [presenceProps, popoverProps] = splitPresenceProps(props);
|
|
9
|
+
const [usePopoverProps, localProps] = createSplitProps()(popoverProps, [
|
|
6
10
|
'autoFocus',
|
|
7
11
|
'closeOnEsc',
|
|
8
12
|
'closeOnInteractOutside',
|
|
@@ -22,5 +26,9 @@ export const Popover = (props) => {
|
|
|
22
26
|
'positioning',
|
|
23
27
|
]);
|
|
24
28
|
const api = usePopover(usePopoverProps);
|
|
25
|
-
|
|
29
|
+
const apiPresence = usePresence(mergeProps(presenceProps, () => ({ present: api().isOpen })));
|
|
30
|
+
const getChildren = () => runIfFn(localProps.children, api);
|
|
31
|
+
return (<PopoverProvider value={api}>
|
|
32
|
+
<PresenceProvider value={apiPresence}>{getChildren()}</PresenceProvider>
|
|
33
|
+
</PopoverProvider>);
|
|
26
34
|
};
|
package/source/presence/index.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { Presence as PresenceRoot } from './presence';
|
|
2
|
+
import { PresenceProvider, usePresenceContext } from './presence-context';
|
|
3
|
+
import { PresencePropsProvider, usePresencePropsContext, } from './presence-props-context';
|
|
2
4
|
import { splitPresenceProps } from './split-presence-props';
|
|
5
|
+
import { usePresence } from './use-presence';
|
|
3
6
|
const Presence = Object.assign(PresenceRoot, {
|
|
4
7
|
Root: PresenceRoot,
|
|
5
8
|
});
|
|
6
|
-
export { Presence, splitPresenceProps };
|
|
9
|
+
export { Presence, PresencePropsProvider, PresenceProvider, splitPresenceProps, usePresence, usePresenceContext, usePresencePropsContext, };
|
|
@@ -1,32 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { mergeProps } from '@zag-js/solid';
|
|
2
|
+
import { Show } from 'solid-js';
|
|
3
|
+
import { ark } from '../factory';
|
|
4
|
+
import { splitPresenceProps } from './split-presence-props';
|
|
4
5
|
import { usePresence } from './use-presence';
|
|
5
6
|
export const Presence = (props) => {
|
|
6
|
-
const [presenceProps, localProps] =
|
|
7
|
-
'onExitComplete',
|
|
8
|
-
'present',
|
|
9
|
-
]);
|
|
7
|
+
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
10
8
|
const api = usePresence(presenceProps);
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
if (isPresent)
|
|
16
|
-
setWasEverPresent(true);
|
|
17
|
-
const children = getChildren();
|
|
18
|
-
if (children instanceof HTMLElement) {
|
|
19
|
-
api().setNode(children);
|
|
20
|
-
spread(children, {
|
|
21
|
-
['data-state']: presenceProps.present ? 'open' : 'closed',
|
|
22
|
-
hidden: !api().isPresent,
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
return (<>
|
|
27
|
-
{(!api().isPresent && !wasEverPresent() && localProps.lazyMount) ||
|
|
28
|
-
(localProps.unmountOnExit && !api().isPresent && wasEverPresent())
|
|
29
|
-
? localProps.fallback
|
|
30
|
-
: getChildren()}
|
|
31
|
-
</>);
|
|
9
|
+
const mergedProps = mergeProps(() => api().presenceProps, localProps);
|
|
10
|
+
return (<Show when={!api().isUnmounted}>
|
|
11
|
+
<ark.div {...mergedProps} data-scope="presence" data-part="root"/>
|
|
12
|
+
</Show>);
|
|
32
13
|
};
|
|
@@ -1,9 +1,26 @@
|
|
|
1
1
|
import * as presence from '@zag-js/presence';
|
|
2
2
|
import { normalizeProps, useMachine } from '@zag-js/solid';
|
|
3
|
-
import { createMemo } from 'solid-js';
|
|
3
|
+
import { createEffect, createMemo, createSignal, splitProps } from 'solid-js';
|
|
4
4
|
export const usePresence = (props) => {
|
|
5
|
-
const [
|
|
6
|
-
|
|
5
|
+
const [localProps, machineProps] = splitProps(props, ['lazyMount', 'unmountOnExit']);
|
|
6
|
+
const [wasEverPresent, setWasEverPresent] = createSignal(false);
|
|
7
|
+
const [state, send] = useMachine(presence.machine(machineProps), {
|
|
8
|
+
context: machineProps,
|
|
7
9
|
});
|
|
8
|
-
|
|
10
|
+
const api = createMemo(() => presence.connect(state, send, normalizeProps));
|
|
11
|
+
createEffect(() => {
|
|
12
|
+
const isPresent = api().isPresent;
|
|
13
|
+
if (isPresent)
|
|
14
|
+
setWasEverPresent(true);
|
|
15
|
+
});
|
|
16
|
+
return createMemo(() => ({
|
|
17
|
+
isUnmounted: (!api().isPresent && !wasEverPresent() && localProps.lazyMount) ||
|
|
18
|
+
(localProps.unmountOnExit && !api().isPresent && wasEverPresent()),
|
|
19
|
+
isPresent: api().isPresent,
|
|
20
|
+
presenceProps: {
|
|
21
|
+
ref: api().setNode,
|
|
22
|
+
hidden: !api().isPresent,
|
|
23
|
+
'data-state': machineProps.present ? 'open' : 'closed',
|
|
24
|
+
},
|
|
25
|
+
}));
|
|
9
26
|
};
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { mergeProps } from '@zag-js/solid';
|
|
2
|
+
import { createMemo } from 'solid-js';
|
|
2
3
|
import { createSplitProps } from '../create-split-props';
|
|
3
4
|
import { ark } from '../factory';
|
|
4
5
|
import { runIfFn } from '../run-if-fn';
|
|
5
6
|
import { useRatingGroupContext } from './rating-group-context';
|
|
6
7
|
import { RatingGroupItemProvider } from './rating-group-item-context';
|
|
7
8
|
export const RatingGroupItem = (props) => {
|
|
8
|
-
const [
|
|
9
|
+
const [itemProps, localProps] = createSplitProps()(props, ['index']);
|
|
9
10
|
const api = useRatingGroupContext();
|
|
10
|
-
const itemState = api().getItemState(
|
|
11
|
-
const
|
|
12
|
-
const
|
|
11
|
+
const itemState = createMemo(() => api().getItemState(itemProps));
|
|
12
|
+
const getChildren = () => runIfFn(localProps.children, itemState);
|
|
13
|
+
const mergedProps = mergeProps(() => api().getItemProps(itemProps), localProps);
|
|
13
14
|
return (<RatingGroupItemProvider value={itemState}>
|
|
14
15
|
<ark.span {...mergedProps}>{getChildren()}</ark.span>
|
|
15
16
|
</RatingGroupItemProvider>);
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { mergeProps } from '@zag-js/solid';
|
|
2
|
+
import { Show } from 'solid-js';
|
|
2
3
|
import { ark } from '../factory';
|
|
3
|
-
import {
|
|
4
|
+
import { usePresenceContext } from '../presence';
|
|
4
5
|
import { useSelectContext } from './select-context';
|
|
5
6
|
export const SelectContent = (props) => {
|
|
6
|
-
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
7
7
|
const api = useSelectContext();
|
|
8
|
-
const
|
|
9
|
-
|
|
8
|
+
const presenceApi = usePresenceContext();
|
|
9
|
+
const mergedProps = mergeProps(() => api().contentProps, () => presenceApi().presenceProps, props);
|
|
10
|
+
return (<Show when={!presenceApi().isUnmounted}>
|
|
10
11
|
<ark.div {...mergedProps}/>
|
|
11
|
-
</
|
|
12
|
+
</Show>);
|
|
12
13
|
};
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { mergeProps } from '@zag-js/solid';
|
|
2
|
+
import { Show } from 'solid-js';
|
|
2
3
|
import { ark } from '../factory';
|
|
4
|
+
import { usePresenceContext } from '../presence';
|
|
3
5
|
import { useSelectContext } from './select-context';
|
|
4
6
|
export const SelectPositioner = (props) => {
|
|
5
7
|
const api = useSelectContext();
|
|
8
|
+
const presenceApi = usePresenceContext();
|
|
6
9
|
const mergedProps = mergeProps(() => api().positionerProps, props);
|
|
7
|
-
return <
|
|
10
|
+
return (<Show when={!presenceApi().isUnmounted}>
|
|
11
|
+
<ark.div {...mergedProps}/>
|
|
12
|
+
</Show>);
|
|
8
13
|
};
|
package/source/select/select.jsx
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { mergeProps } from '@zag-js/solid';
|
|
2
2
|
import { createSplitProps } from '../create-split-props';
|
|
3
3
|
import { ark } from '../factory';
|
|
4
|
+
import { PresenceProvider, splitPresenceProps, usePresence, } from '../presence';
|
|
4
5
|
import { runIfFn } from '../run-if-fn';
|
|
5
6
|
import { SelectProvider } from './select-context';
|
|
6
7
|
import { useSelect } from './use-select';
|
|
7
8
|
export const Select = (props) => {
|
|
8
|
-
const [
|
|
9
|
+
const [presenceProps, selectProps] = splitPresenceProps(props);
|
|
10
|
+
const [useSelectProps, localProps] = createSplitProps()(selectProps, [
|
|
9
11
|
'closeOnSelect',
|
|
10
12
|
'dir',
|
|
11
13
|
'disabled',
|
|
@@ -34,10 +36,13 @@ export const Select = (props) => {
|
|
|
34
36
|
'selectOnBlur',
|
|
35
37
|
'value',
|
|
36
38
|
]);
|
|
37
|
-
const api = useSelect(
|
|
39
|
+
const api = useSelect(useSelectProps);
|
|
40
|
+
const apiPresence = usePresence(mergeProps(presenceProps, () => ({ present: api().isOpen })));
|
|
38
41
|
const mergedProps = mergeProps(() => api().rootProps, localProps);
|
|
39
42
|
const getChildren = () => runIfFn(localProps.children, api);
|
|
40
43
|
return (<SelectProvider value={api}>
|
|
41
|
-
<
|
|
44
|
+
<PresenceProvider value={apiPresence}>
|
|
45
|
+
<ark.div {...mergedProps}>{getChildren()}</ark.div>
|
|
46
|
+
</PresenceProvider>
|
|
42
47
|
</SelectProvider>);
|
|
43
48
|
};
|
|
@@ -5,6 +5,6 @@ import { useSliderContext } from './slider-context';
|
|
|
5
5
|
export const SliderThumb = (props) => {
|
|
6
6
|
const [thumbProps, localProps] = createSplitProps()(props, ['index']);
|
|
7
7
|
const api = useSliderContext();
|
|
8
|
-
const
|
|
9
|
-
return <ark.div {...
|
|
8
|
+
const mergedProps = mergeProps(() => api().getThumbProps(thumbProps), localProps);
|
|
9
|
+
return <ark.div {...mergedProps}/>;
|
|
10
10
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { mergeProps } from '@zag-js/solid';
|
|
2
|
+
import { children } from 'solid-js';
|
|
2
3
|
import { ark } from '../factory';
|
|
3
|
-
import { runIfFn } from '../run-if-fn';
|
|
4
4
|
import { useSliderContext } from './slider-context';
|
|
5
5
|
export const SliderValueText = (props) => {
|
|
6
6
|
const api = useSliderContext();
|
|
7
|
-
const getChildren = () => runIfFn(props.children, api);
|
|
8
7
|
const mergedProps = mergeProps(() => api().valueTextProps, props);
|
|
9
|
-
|
|
8
|
+
const getChildren = children(() => props.children);
|
|
9
|
+
return <ark.div {...mergedProps}>{getChildren() || api().value.join(',')}</ark.div>;
|
|
10
10
|
};
|
|
@@ -5,6 +5,6 @@ import { useSplitterContext } from './splitter-context';
|
|
|
5
5
|
export const SplitterPanel = (props) => {
|
|
6
6
|
const [panelParams, restProps] = createSplitProps()(props, ['id', 'snapSize']);
|
|
7
7
|
const api = useSplitterContext();
|
|
8
|
-
const
|
|
9
|
-
return <ark.div {...
|
|
8
|
+
const mergedProps = mergeProps(() => api().getPanelProps(panelParams), restProps);
|
|
9
|
+
return <ark.div {...mergedProps}/>;
|
|
10
10
|
};
|
|
@@ -9,6 +9,6 @@ export const SplitterResizeTrigger = (props) => {
|
|
|
9
9
|
'id',
|
|
10
10
|
'step',
|
|
11
11
|
]);
|
|
12
|
-
const
|
|
13
|
-
return <ark.button {...
|
|
12
|
+
const mergedProps = mergeProps(() => api().getResizeTriggerProps(triggerParams), restProps);
|
|
13
|
+
return <ark.button {...mergedProps}/>;
|
|
14
14
|
};
|
|
@@ -18,8 +18,8 @@ export const Splitter = (props) => {
|
|
|
18
18
|
]);
|
|
19
19
|
const api = useSplitter(splitterParams);
|
|
20
20
|
const getChildren = () => runIfFn(localProps.children, api);
|
|
21
|
-
const
|
|
21
|
+
const mergedProps = mergeProps(() => api().rootProps, localProps);
|
|
22
22
|
return (<SplitterProvider value={api}>
|
|
23
|
-
<ark.div {...
|
|
23
|
+
<ark.div {...mergedProps}>{getChildren()}</ark.div>
|
|
24
24
|
</SplitterProvider>);
|
|
25
25
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useSwitchContext } from './switch-context';
|
|
4
4
|
export const SwitchLabel = (props) => {
|
|
5
5
|
const checkbox = useSwitchContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.span {...
|
|
6
|
+
const mergedProps = mergeProps(() => checkbox().labelProps, props);
|
|
7
|
+
return <ark.span {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useSwitchContext } from './switch-context';
|
|
4
4
|
export const SwitchThumb = (props) => {
|
|
5
5
|
const checkbox = useSwitchContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.span {...
|
|
6
|
+
const mergedProps = mergeProps(() => checkbox().thumbProps, props);
|
|
7
|
+
return <ark.span {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { mergeProps } from '@zag-js/solid';
|
|
2
|
+
import { Show } from 'solid-js';
|
|
2
3
|
import { createSplitProps } from '../create-split-props';
|
|
3
4
|
import { ark } from '../factory';
|
|
4
|
-
import {
|
|
5
|
-
import { TabPresence } from './tab-presence';
|
|
5
|
+
import { PresenceProvider, usePresence, usePresencePropsContext } from '../presence';
|
|
6
6
|
import { useTabsContext } from './tabs-context';
|
|
7
7
|
export const TabContent = (props) => {
|
|
8
|
-
const [
|
|
9
|
-
const [getContentProps, restProps] = createSplitProps()(localProps, ['value']);
|
|
8
|
+
const [contentProps, localProps] = createSplitProps()(props, ['value']);
|
|
10
9
|
const api = useTabsContext();
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
const presenceProps = usePresencePropsContext();
|
|
11
|
+
const presenceApi = usePresence(mergeProps(presenceProps, () => ({ present: api().value === contentProps.value })));
|
|
12
|
+
const mergedProps = mergeProps(() => api().getContentProps(contentProps), () => presenceApi().presenceProps, localProps);
|
|
13
|
+
return (<PresenceProvider value={presenceApi}>
|
|
14
|
+
<Show when={!presenceApi().isUnmounted}>
|
|
15
|
+
<ark.div {...mergedProps}/>
|
|
16
|
+
</Show>
|
|
17
|
+
</PresenceProvider>);
|
|
15
18
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useTabsContext } from './tabs-context';
|
|
4
4
|
export const TabIndicator = (props) => {
|
|
5
5
|
const api = useTabsContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.div {...
|
|
6
|
+
const mergedProps = mergeProps(() => api().indicatorProps, props);
|
|
7
|
+
return <ark.div {...mergedProps}/>;
|
|
8
8
|
};
|
package/source/tabs/tab-list.jsx
CHANGED
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useTabsContext } from './tabs-context';
|
|
4
4
|
export const TabList = (props) => {
|
|
5
5
|
const api = useTabsContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.div {...
|
|
6
|
+
const mergedProps = mergeProps(() => api().tablistProps, props);
|
|
7
|
+
return <ark.div {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -5,6 +5,6 @@ import { useTabsContext } from './tabs-context';
|
|
|
5
5
|
export const TabTrigger = (props) => {
|
|
6
6
|
const [tabParams, restProps] = createSplitProps()(props, ['disabled', 'value']);
|
|
7
7
|
const api = useTabsContext();
|
|
8
|
-
const
|
|
9
|
-
return <ark.button {...
|
|
8
|
+
const mergedProps = mergeProps(() => api().getTriggerProps(tabParams), restProps);
|
|
9
|
+
return <ark.button {...mergedProps}/>;
|
|
10
10
|
};
|
package/source/tabs/tabs.jsx
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { mergeProps } from '@zag-js/solid';
|
|
2
2
|
import { createSplitProps } from '../create-split-props';
|
|
3
3
|
import { ark } from '../factory';
|
|
4
|
+
import { PresencePropsProvider, splitPresenceProps } from '../presence';
|
|
4
5
|
import { TabsProvider } from './tabs-context';
|
|
5
6
|
import { useTabs } from './use-tabs';
|
|
6
7
|
export const Tabs = (props) => {
|
|
7
|
-
const [
|
|
8
|
+
const [presenceProps, tabsProps] = splitPresenceProps(props);
|
|
9
|
+
const [tabsParams, restProps] = createSplitProps()(tabsProps, [
|
|
8
10
|
'activationMode',
|
|
9
11
|
'dir',
|
|
10
12
|
'getRootNode',
|
|
@@ -18,8 +20,10 @@ export const Tabs = (props) => {
|
|
|
18
20
|
'value',
|
|
19
21
|
]);
|
|
20
22
|
const api = useTabs(tabsParams);
|
|
21
|
-
const
|
|
23
|
+
const mergedProps = mergeProps(() => api().rootProps, restProps);
|
|
22
24
|
return (<TabsProvider value={api}>
|
|
23
|
-
<
|
|
25
|
+
<PresencePropsProvider value={presenceProps}>
|
|
26
|
+
<ark.div {...mergedProps}/>
|
|
27
|
+
</PresencePropsProvider>
|
|
24
28
|
</TabsProvider>);
|
|
25
29
|
};
|
|
@@ -18,8 +18,8 @@ export const ToggleGroup = (props) => {
|
|
|
18
18
|
'value',
|
|
19
19
|
]);
|
|
20
20
|
const api = useToggleGroup(groupParams);
|
|
21
|
-
const
|
|
21
|
+
const mergedProps = mergeProps(() => api().rootProps, restProps);
|
|
22
22
|
return (<ToggleGroupProvider value={api}>
|
|
23
|
-
<ark.div {...
|
|
23
|
+
<ark.div {...mergedProps}/>
|
|
24
24
|
</ToggleGroupProvider>);
|
|
25
25
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useTooltipContext } from './tooltip-context';
|
|
4
4
|
export const TooltipArrowTip = (props) => {
|
|
5
5
|
const api = useTooltipContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.div {...
|
|
6
|
+
const mergedProps = mergeProps(() => api().arrowTipProps, props);
|
|
7
|
+
return <ark.div {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useTooltipContext } from './tooltip-context';
|
|
4
4
|
export const TooltipArrow = (props) => {
|
|
5
5
|
const tooltip = useTooltipContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.div {...
|
|
6
|
+
const mergedProps = mergeProps(() => tooltip().arrowProps, props);
|
|
7
|
+
return <ark.div {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { mergeProps } from '@zag-js/solid';
|
|
2
|
+
import { Show } from 'solid-js';
|
|
2
3
|
import { ark } from '../factory';
|
|
3
|
-
import {
|
|
4
|
+
import { usePresenceContext } from '../presence';
|
|
4
5
|
import { useTooltipContext } from './tooltip-context';
|
|
5
6
|
export const TooltipContent = (props) => {
|
|
6
|
-
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
7
7
|
const api = useTooltipContext();
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
const presenceApi = usePresenceContext();
|
|
9
|
+
const mergedProps = mergeProps(() => api().contentProps, () => presenceApi().presenceProps, props);
|
|
10
|
+
return (<Show when={!presenceApi().isUnmounted}>
|
|
11
|
+
<ark.div {...mergedProps}/>
|
|
12
|
+
</Show>);
|
|
12
13
|
};
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { mergeProps } from '@zag-js/solid';
|
|
2
|
+
import { Show } from 'solid-js';
|
|
2
3
|
import { ark } from '../factory';
|
|
4
|
+
import { usePresenceContext } from '../presence';
|
|
3
5
|
import { useTooltipContext } from './tooltip-context';
|
|
4
6
|
export const TooltipPositioner = (props) => {
|
|
5
7
|
const api = useTooltipContext();
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
+
const presenceApi = usePresenceContext();
|
|
9
|
+
const mergedProps = mergeProps(() => api().positionerProps, props);
|
|
10
|
+
return (<Show when={!presenceApi().isUnmounted}>
|
|
11
|
+
<ark.div {...mergedProps}/>
|
|
12
|
+
</Show>);
|
|
8
13
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useTooltipContext } from './tooltip-context';
|
|
4
4
|
export const TooltipTrigger = (props) => {
|
|
5
5
|
const api = useTooltipContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.button {...
|
|
6
|
+
const mergedProps = mergeProps(() => api().triggerProps, props);
|
|
7
|
+
return <ark.button {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import { mergeProps } from '@zag-js/solid';
|
|
1
2
|
import { createSplitProps } from '../create-split-props';
|
|
3
|
+
import { PresenceProvider, splitPresenceProps, usePresence, } from '../presence';
|
|
4
|
+
import { runIfFn } from '../run-if-fn';
|
|
2
5
|
import { TooltipProvider } from './tooltip-context';
|
|
3
6
|
import { useTooltip } from './use-tooltip';
|
|
4
7
|
export const Tooltip = (props) => {
|
|
5
|
-
const [
|
|
8
|
+
const [presenceProps, tooltipProps] = splitPresenceProps(props);
|
|
9
|
+
const [useTooltipProps, localProps] = createSplitProps()(tooltipProps, [
|
|
6
10
|
'aria-label',
|
|
7
11
|
'closeDelay',
|
|
8
12
|
'closeOnEsc',
|
|
@@ -19,5 +23,9 @@ export const Tooltip = (props) => {
|
|
|
19
23
|
'positioning',
|
|
20
24
|
]);
|
|
21
25
|
const api = useTooltip(useTooltipProps);
|
|
22
|
-
|
|
26
|
+
const apiPresence = usePresence(mergeProps(presenceProps, () => ({ present: api().isOpen })));
|
|
27
|
+
const getChildren = () => runIfFn(localProps.children, api);
|
|
28
|
+
return (<TooltipProvider value={api}>
|
|
29
|
+
<PresenceProvider value={apiPresence}>{getChildren()}</PresenceProvider>
|
|
30
|
+
</TooltipProvider>);
|
|
23
31
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { type UseAccordionReturn } from './use-accordion';
|
|
2
|
-
export
|
|
3
|
-
|
|
2
|
+
export interface AccordionContext extends UseAccordionReturn {
|
|
3
|
+
}
|
|
4
|
+
export declare const AccordionProvider: import("solid-js").ContextProviderComponent<AccordionContext>, useAccordionContext: () => AccordionContext;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { type HTMLArkProps } from '../factory';
|
|
2
|
-
|
|
3
|
-
import type { Assign } from '../types';
|
|
4
|
-
export interface AccordionItemContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'fallback'>> {
|
|
2
|
+
export interface AccordionItemContentProps extends HTMLArkProps<'div'> {
|
|
5
3
|
}
|
|
6
4
|
export declare const AccordionItemContent: (props: AccordionItemContentProps) => import("solid-js").JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import type { ItemProps
|
|
2
|
-
export
|
|
1
|
+
import type { ItemProps } from '@zag-js/accordion';
|
|
2
|
+
export interface AccordionItemContext extends ItemProps {
|
|
3
|
+
}
|
|
3
4
|
export declare const AccordionItemProvider: import("solid-js").ContextProviderComponent<AccordionItemContext>, useAccordionItemContext: () => AccordionItemContext;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { type HTMLArkProps } from '../factory';
|
|
2
|
-
export
|
|
2
|
+
export interface AccordionItemIndicatorProps extends HTMLArkProps<'div'> {
|
|
3
|
+
}
|
|
3
4
|
export declare const AccordionItemIndicator: (props: AccordionItemIndicatorProps) => import("solid-js").JSX.Element;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { type HTMLArkProps } from '../factory';
|
|
2
|
-
export
|
|
2
|
+
export interface AccordionItemTriggerProps extends HTMLArkProps<'button'> {
|
|
3
|
+
}
|
|
3
4
|
export declare const AccordionItemTrigger: (props: AccordionItemTriggerProps) => import("solid-js").JSX.Element;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { type ItemProps, type ItemState } from '@zag-js/accordion';
|
|
2
|
-
import { type JSX } from 'solid-js';
|
|
2
|
+
import { type Accessor, type JSX } from 'solid-js';
|
|
3
3
|
import { type HTMLArkProps } from '../factory';
|
|
4
4
|
import type { Assign } from '../types';
|
|
5
|
-
export
|
|
6
|
-
children?: JSX.Element | ((state:
|
|
7
|
-
}
|
|
5
|
+
export interface AccordionItemProps extends Assign<HTMLArkProps<'div'>, {
|
|
6
|
+
children?: JSX.Element | ((state: Accessor<ItemState>) => JSX.Element);
|
|
7
|
+
}>, ItemProps {
|
|
8
|
+
}
|
|
8
9
|
export declare const AccordionItem: (props: AccordionItemProps) => JSX.Element;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { type HTMLArkProps } from '../factory';
|
|
2
|
+
import { type UsePresenceProps } from '../presence';
|
|
2
3
|
import type { Assign } from '../types';
|
|
3
4
|
import { type UseAccordionProps } from './use-accordion';
|
|
4
|
-
export
|
|
5
|
+
export interface AccordionProps extends Assign<HTMLArkProps<'div'>, UseAccordionProps>, UsePresenceProps {
|
|
6
|
+
}
|
|
5
7
|
export declare const Accordion: (props: AccordionProps) => import("solid-js").JSX.Element;
|
|
@@ -2,6 +2,8 @@ import * as accordion from '@zag-js/accordion';
|
|
|
2
2
|
import { type PropTypes } from '@zag-js/solid';
|
|
3
3
|
import { type Accessor } from 'solid-js';
|
|
4
4
|
import { type Optional } from '../types';
|
|
5
|
-
export
|
|
6
|
-
|
|
5
|
+
export interface UseAccordionProps extends Optional<accordion.Context, 'id'> {
|
|
6
|
+
}
|
|
7
|
+
export interface UseAccordionReturn extends Accessor<accordion.Api<PropTypes>> {
|
|
8
|
+
}
|
|
7
9
|
export declare const useAccordion: (props: UseAccordionProps) => UseAccordionReturn;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { type UseAvatarReturn } from './use-avatar';
|
|
2
|
-
export
|
|
3
|
-
|
|
2
|
+
export interface AvatarContext extends UseAvatarReturn {
|
|
3
|
+
}
|
|
4
|
+
export declare const AvatarProvider: import("solid-js").ContextProviderComponent<AvatarContext>, useAvatarContext: () => AvatarContext;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { type HTMLArkProps } from '../factory';
|
|
2
|
-
export
|
|
2
|
+
export interface AvatarFallbackProps extends HTMLArkProps<'span'> {
|
|
3
|
+
}
|
|
3
4
|
export declare const AvatarFallback: (props: AvatarFallbackProps) => import("solid-js").JSX.Element;
|