@ark-ui/solid 1.0.0-beta.2 → 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 +33 -1
- package/cjs/index.js +659 -381
- package/cjs/index.js.map +1 -1
- package/esm/index.js +655 -383
- package/esm/index.js.map +1 -1
- package/package.json +45 -45
- package/source/accordion/accordion-item-content.jsx +7 -6
- 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 +7 -2
- package/source/color-picker/color-picker-positioner.jsx +6 -1
- package/source/color-picker/color-picker-value-text.jsx +9 -0
- 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 +5 -1
- package/source/combobox/combobox-content.jsx +6 -5
- package/source/combobox/combobox-item-group-label.jsx +2 -2
- package/source/combobox/combobox-positioner.jsx +8 -3
- package/source/combobox/combobox.jsx +8 -3
- package/source/date-picker/date-picker-content.jsx +7 -2
- package/source/date-picker/date-picker-positioner.jsx +6 -1
- package/source/date-picker/date-picker-view.jsx +4 -1
- package/source/date-picker/date-picker.jsx +9 -4
- 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-label.jsx +3 -5
- 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/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-control.jsx +9 -1
- package/source/select/select-item-group-label.jsx +2 -2
- package/source/select/select-positioner.jsx +6 -1
- package/source/select/select.jsx +8 -3
- package/source/slider/index.js +3 -3
- package/source/slider/slider-thumb.jsx +2 -2
- package/source/slider/slider-value-text.jsx +10 -0
- 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 +2 -2
- 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-transparency-grid.d.ts +2 -2
- package/types/color-picker/color-picker-value-text.d.ts +5 -0
- 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 +8 -4
- package/types/combobox/combobox-clear-trigger.d.ts +2 -1
- package/types/combobox/combobox-content.d.ts +2 -2
- 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-label.d.ts +6 -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-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 +2 -2
- package/types/dialog/dialog-close-trigger.d.ts +2 -1
- package/types/dialog/dialog-content.d.ts +2 -2
- 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 +2 -2
- 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 +2 -2
- package/types/menu/menu-context-trigger.d.ts +2 -1
- package/types/menu/menu-item-group-label.d.ts +5 -4
- 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 +2 -2
- 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 +4 -15
- 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 +2 -2
- 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-label.d.ts +6 -2
- 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/index.d.ts +4 -4
- 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 +4 -0
- 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 +2 -2
- 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/slider/slider-output.jsx +0 -10
- package/source/tabs/tab-presence.jsx +0 -6
- package/types/slider/slider-output.d.ts +0 -8
- 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
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useDialogContext } from './dialog-context';
|
|
4
4
|
export const DialogDescription = (props) => {
|
|
5
5
|
const dialog = useDialogContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.p {...
|
|
6
|
+
const mergedProps = mergeProps(() => dialog().descriptionProps, props);
|
|
7
|
+
return <ark.p {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -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 { useDialogContext } from './dialog-context';
|
|
4
6
|
export const DialogPositioner = (props) => {
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
|
|
7
|
+
const api = useDialogContext();
|
|
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 { useDialogContext } from './dialog-context';
|
|
4
4
|
export const DialogTitle = (props) => {
|
|
5
5
|
const dialog = useDialogContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.h2 {...
|
|
6
|
+
const mergedProps = mergeProps(() => dialog().titleProps, props);
|
|
7
|
+
return <ark.h2 {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -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 { useDialogContext } from './dialog-context';
|
|
4
5
|
export const DialogTrigger = (props) => {
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
|
|
6
|
+
const api = useDialogContext();
|
|
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
|
};
|
package/source/dialog/dialog.jsx
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import { mergeProps } from '@zag-js/solid';
|
|
1
2
|
import { createSplitProps } from '../create-split-props';
|
|
3
|
+
import { PresenceProvider, splitPresenceProps, usePresence, } from '../presence';
|
|
2
4
|
import { runIfFn } from '../run-if-fn';
|
|
3
5
|
import { DialogProvider } from './dialog-context';
|
|
4
6
|
import { useDialog } from './use-dialog';
|
|
5
7
|
export const Dialog = (props) => {
|
|
6
|
-
const [
|
|
8
|
+
const [presenceProps, dialogProps] = splitPresenceProps(props);
|
|
9
|
+
const [useDialogProps, localProps] = createSplitProps()(dialogProps, [
|
|
7
10
|
'aria-label',
|
|
8
11
|
'closeOnEscapeKeyDown',
|
|
9
12
|
'closeOnInteractOutside',
|
|
@@ -25,7 +28,10 @@ export const Dialog = (props) => {
|
|
|
25
28
|
'role',
|
|
26
29
|
'trapFocus',
|
|
27
30
|
]);
|
|
28
|
-
const api = useDialog(
|
|
31
|
+
const api = useDialog(useDialogProps);
|
|
32
|
+
const apiPresence = usePresence(mergeProps(presenceProps, () => ({ present: api().isOpen })));
|
|
29
33
|
const getChildren = () => runIfFn(localProps.children, api);
|
|
30
|
-
return <DialogProvider value={api}>
|
|
34
|
+
return (<DialogProvider value={api}>
|
|
35
|
+
<PresenceProvider value={apiPresence}>{getChildren()}</PresenceProvider>
|
|
36
|
+
</DialogProvider>);
|
|
31
37
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useEditableContext } from './editable-context';
|
|
4
4
|
export const EditableArea = (props) => {
|
|
5
5
|
const editable = useEditableContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.div {...
|
|
6
|
+
const mergedProps = mergeProps(() => editable().areaProps, props);
|
|
7
|
+
return <ark.div {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useEditableContext } from './editable-context';
|
|
4
4
|
export const EditableCancelTrigger = (props) => {
|
|
5
5
|
const editable = useEditableContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.button {...
|
|
6
|
+
const mergedProps = mergeProps(() => editable().cancelTriggerProps, props);
|
|
7
|
+
return <ark.button {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useEditableContext } from './editable-context';
|
|
4
4
|
export const EditableControl = (props) => {
|
|
5
5
|
const editable = useEditableContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.div {...
|
|
6
|
+
const mergedProps = mergeProps(() => editable().controlProps, props);
|
|
7
|
+
return <ark.div {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useEditableContext } from './editable-context';
|
|
4
4
|
export const EditableEditTrigger = (props) => {
|
|
5
5
|
const editable = useEditableContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.button {...
|
|
6
|
+
const mergedProps = mergeProps(() => editable().editTriggerProps, props);
|
|
7
|
+
return <ark.button {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useEditableContext } from './editable-context';
|
|
4
4
|
export const EditableInput = (props) => {
|
|
5
5
|
const editable = useEditableContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.input {...
|
|
6
|
+
const mergedProps = mergeProps(() => editable().inputProps, props);
|
|
7
|
+
return <ark.input {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useEditableContext } from './editable-context';
|
|
4
4
|
export const EditableLabel = (props) => {
|
|
5
5
|
const editable = useEditableContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.label {...
|
|
6
|
+
const mergedProps = mergeProps(() => editable().labelProps, props);
|
|
7
|
+
return <ark.label {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useEditableContext } from './editable-context';
|
|
4
4
|
export const EditablePreview = (props) => {
|
|
5
5
|
const editable = useEditableContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.span {...
|
|
6
|
+
const mergedProps = mergeProps(() => editable().previewProps, props);
|
|
7
|
+
return <ark.span {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useEditableContext } from './editable-context';
|
|
4
4
|
export const EditableSubmitTrigger = (props) => {
|
|
5
5
|
const dialog = useEditableContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.button {...
|
|
6
|
+
const mergedProps = mergeProps(() => dialog().submitTriggerProps, props);
|
|
7
|
+
return <ark.button {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -36,9 +36,9 @@ export const Editable = (props) => {
|
|
|
36
36
|
]);
|
|
37
37
|
const editable = useEditable(useEditableProps);
|
|
38
38
|
const [childrenProps, localProps] = splitProps(restProps, ['children']);
|
|
39
|
-
const
|
|
39
|
+
const mergedProps = mergeProps(() => editable().rootProps, localProps);
|
|
40
40
|
const getChildren = () => runIfFn(childrenProps.children, editable);
|
|
41
41
|
return (<EditableProvider value={editable}>
|
|
42
|
-
<ark.div {...
|
|
42
|
+
<ark.div {...mergedProps}>{getChildren()}</ark.div>
|
|
43
43
|
</EditableProvider>);
|
|
44
44
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useHoverCardContext } from './hover-card-context';
|
|
4
4
|
export const HoverCardArrowTip = (props) => {
|
|
5
5
|
const hoverCard = useHoverCardContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.div {...
|
|
6
|
+
const mergedProps = mergeProps(() => hoverCard().arrowTipProps, props);
|
|
7
|
+
return <ark.div {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useHoverCardContext } from './hover-card-context';
|
|
4
4
|
export const HoverCardArrow = (props) => {
|
|
5
5
|
const hoverCard = useHoverCardContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.div {...
|
|
6
|
+
const mergedProps = mergeProps(() => hoverCard().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 { useHoverCardContext } from './hover-card-context';
|
|
5
6
|
export const HoverCardContent = (props) => {
|
|
6
|
-
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
7
7
|
const api = useHoverCardContext();
|
|
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 { useHoverCardContext } from './hover-card-context';
|
|
4
6
|
export const HoverCardPositioner = (props) => {
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
|
|
7
|
+
const api = useHoverCardContext();
|
|
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 { useHoverCardContext } from './hover-card-context';
|
|
4
4
|
export const HoverCardTrigger = (props) => {
|
|
5
5
|
const hoverCard = useHoverCardContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.button {...
|
|
6
|
+
const mergedProps = mergeProps(() => hoverCard().triggerProps, props);
|
|
7
|
+
return <ark.button {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import { mergeProps } from '@zag-js/solid';
|
|
1
2
|
import { createSplitProps } from '../create-split-props';
|
|
3
|
+
import { PresenceProvider, splitPresenceProps, usePresence, } from '../presence';
|
|
2
4
|
import { runIfFn } from '../run-if-fn';
|
|
3
5
|
import { HoverCardProvider } from './hover-card-context';
|
|
4
6
|
import { useHoverCard } from './use-hover-card';
|
|
5
7
|
export const HoverCard = (props) => {
|
|
6
|
-
const [
|
|
8
|
+
const [presenceProps, hoverCardProps] = splitPresenceProps(props);
|
|
9
|
+
const [useHoverCardProps, localProps] = createSplitProps()(hoverCardProps, [
|
|
7
10
|
'closeDelay',
|
|
8
11
|
'dir',
|
|
9
12
|
'getRootNode',
|
|
@@ -14,7 +17,10 @@ export const HoverCard = (props) => {
|
|
|
14
17
|
'openDelay',
|
|
15
18
|
'positioning',
|
|
16
19
|
]);
|
|
17
|
-
const api = useHoverCard(
|
|
20
|
+
const api = useHoverCard(useHoverCardProps);
|
|
21
|
+
const apiPresence = usePresence(mergeProps(presenceProps, () => ({ present: api().isOpen })));
|
|
18
22
|
const getChildren = () => runIfFn(localProps.children, api);
|
|
19
|
-
return <HoverCardProvider value={api}>
|
|
23
|
+
return (<HoverCardProvider value={api}>
|
|
24
|
+
<PresenceProvider value={apiPresence}>{getChildren()}</PresenceProvider>
|
|
25
|
+
</HoverCardProvider>);
|
|
20
26
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useMenuContext } from './menu-context';
|
|
4
4
|
export const MenuArrowTip = (props) => {
|
|
5
5
|
const menu = useMenuContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.div {...
|
|
6
|
+
const mergedProps = mergeProps(() => menu?.().arrowTipProps, props);
|
|
7
|
+
return <ark.div {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useMenuContext } from './menu-context';
|
|
4
4
|
export const MenuArrow = (props) => {
|
|
5
5
|
const menu = useMenuContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.div {...
|
|
6
|
+
const mergedProps = mergeProps(() => menu?.().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 { useMenuContext } from './menu-context';
|
|
5
6
|
export const MenuContent = (props) => {
|
|
6
|
-
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
7
7
|
const api = useMenuContext();
|
|
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
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useMenuContext } from './menu-context';
|
|
4
4
|
export const MenuContextTrigger = (props) => {
|
|
5
5
|
const menu = useMenuContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.button {...
|
|
6
|
+
const mergedProps = mergeProps(() => menu?.().contextTriggerProps, props);
|
|
7
|
+
return <ark.button {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -4,9 +4,7 @@ import { ark } from '../factory';
|
|
|
4
4
|
import { useMenuContext } from './menu-context';
|
|
5
5
|
export const MenuItemGroupLabel = (props) => {
|
|
6
6
|
const menu = useMenuContext();
|
|
7
|
-
const [
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const labelProps = mergeProps(() => menu?.().getItemGroupLabelProps(itemGroupLabelProps), localProps);
|
|
11
|
-
return <ark.label {...labelProps}/>;
|
|
7
|
+
const [labelProps, localProps] = createSplitProps()(props, ['for']);
|
|
8
|
+
const mergedProps = mergeProps(() => menu?.().getItemGroupLabelProps({ htmlFor: labelProps.for }), localProps);
|
|
9
|
+
return <ark.div {...mergedProps}/>;
|
|
12
10
|
};
|
|
@@ -5,6 +5,6 @@ import { useMenuContext } from './menu-context';
|
|
|
5
5
|
export const MenuItemGroup = (props) => {
|
|
6
6
|
const menu = useMenuContext();
|
|
7
7
|
const [itemGroupProps, localProps] = createSplitProps()(props, ['id']);
|
|
8
|
-
const
|
|
9
|
-
return <ark.div {...
|
|
8
|
+
const mergedProps = mergeProps(() => menu?.().getItemGroupProps(itemGroupProps), localProps);
|
|
9
|
+
return <ark.div {...mergedProps}/>;
|
|
10
10
|
};
|
|
@@ -10,6 +10,6 @@ export const MenuItem = (props) => {
|
|
|
10
10
|
'valueText',
|
|
11
11
|
'closeOnSelect',
|
|
12
12
|
]);
|
|
13
|
-
const
|
|
14
|
-
return <ark.div {...
|
|
13
|
+
const mergedProps = mergeProps(() => menu?.().getItemProps(itemParams), restProps);
|
|
14
|
+
return <ark.div {...mergedProps}/>;
|
|
15
15
|
};
|
|
@@ -16,8 +16,8 @@ export const MenuOptionItem = (props) => {
|
|
|
16
16
|
'value',
|
|
17
17
|
'onCheckedChange',
|
|
18
18
|
]);
|
|
19
|
-
const
|
|
19
|
+
const mergedProps = mergeProps(() => menu().getOptionItemProps(optionProps), localProps);
|
|
20
20
|
const itemState = createMemo(() => menu().getOptionItemState(optionProps));
|
|
21
21
|
const getChildren = () => runIfFn(localProps.children, itemState);
|
|
22
|
-
return <ark.div {...
|
|
22
|
+
return <ark.div {...mergedProps}>{getChildren()}</ark.div>;
|
|
23
23
|
};
|
|
@@ -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 { useMenuContext } from './menu-context';
|
|
4
6
|
export const MenuPositioner = (props) => {
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
|
|
7
|
+
const api = useMenuContext();
|
|
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 { useMenuContext } from './menu-context';
|
|
4
4
|
export const MenuSeparator = (props) => {
|
|
5
5
|
const menu = useMenuContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.hr {...
|
|
6
|
+
const mergedProps = mergeProps(() => menu?.().separatorProps, props);
|
|
7
|
+
return <ark.hr {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useMenuTriggerItemContext } from './menu-context';
|
|
4
4
|
export const MenuTriggerItem = (props) => {
|
|
5
5
|
const getTriggerItemProps = useMenuTriggerItemContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.div {...
|
|
6
|
+
const mergedProps = mergeProps(() => getTriggerItemProps?.(), props);
|
|
7
|
+
return <ark.div {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useMenuContext } from './menu-context';
|
|
4
4
|
export const MenuTrigger = (props) => {
|
|
5
5
|
const menu = useMenuContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.button {...
|
|
6
|
+
const mergedProps = mergeProps(() => menu?.().triggerProps, props);
|
|
7
|
+
return <ark.button {...mergedProps}/>;
|
|
8
8
|
};
|
package/source/menu/menu.jsx
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import { mergeProps } from '@zag-js/solid';
|
|
1
2
|
import { createEffect, createMemo } from 'solid-js';
|
|
2
3
|
import { createSplitProps } from '../create-split-props';
|
|
4
|
+
import { PresenceProvider, splitPresenceProps, usePresence, } from '../presence';
|
|
3
5
|
import { runIfFn } from '../run-if-fn';
|
|
4
6
|
import { MenuMachineProvider, MenuProvider, MenuTriggerItemProvider, useMenuContext, useMenuMachineContext, } from './menu-context';
|
|
5
7
|
import { useMenu } from './use-menu';
|
|
6
8
|
export const Menu = (props) => {
|
|
7
|
-
const [
|
|
9
|
+
const [presenceProps, menuProps] = splitPresenceProps(props);
|
|
10
|
+
const [useMenuProps, localProps] = createSplitProps()(menuProps, [
|
|
8
11
|
'anchorPoint',
|
|
9
12
|
'aria-label',
|
|
10
13
|
'closeOnSelect',
|
|
@@ -20,32 +23,28 @@ export const Menu = (props) => {
|
|
|
20
23
|
'onPointerDownOutside',
|
|
21
24
|
'onSelect',
|
|
22
25
|
'onValueChange',
|
|
26
|
+
'open',
|
|
23
27
|
'positioning',
|
|
24
28
|
'value',
|
|
25
29
|
]);
|
|
26
30
|
const parentMenu = useMenuContext();
|
|
27
31
|
const parentMachine = useMenuMachineContext();
|
|
28
|
-
const menu = useMenu(
|
|
32
|
+
const menu = useMenu(useMenuProps);
|
|
33
|
+
const apiPresence = usePresence(mergeProps(presenceProps, () => ({ present: menu().api().isOpen })));
|
|
29
34
|
createEffect(() => {
|
|
30
35
|
if (!parentMachine)
|
|
31
36
|
return;
|
|
32
37
|
parentMenu?.().setChild(menu().machine);
|
|
33
38
|
menu().api().setParent(parentMachine());
|
|
34
39
|
});
|
|
35
|
-
createEffect(() => {
|
|
36
|
-
if (!restProps.isOpen)
|
|
37
|
-
return;
|
|
38
|
-
restProps.isOpen?.() ? menu().api().open() : menu().api().close();
|
|
39
|
-
});
|
|
40
40
|
const triggerItemContext = createMemo(() => parentMenu?.().getTriggerItemProps(menu().api()));
|
|
41
41
|
const machineContext = () => menu().machine;
|
|
42
|
-
const getChildren = () => runIfFn(
|
|
43
|
-
isOpen: menu?.().api().isOpen,
|
|
44
|
-
onClose: menu?.().api().close,
|
|
45
|
-
}));
|
|
42
|
+
const getChildren = () => runIfFn(localProps.children, menu().api);
|
|
46
43
|
return (<MenuTriggerItemProvider value={triggerItemContext}>
|
|
47
44
|
<MenuMachineProvider value={machineContext}>
|
|
48
|
-
<MenuProvider value={menu().api}>
|
|
45
|
+
<MenuProvider value={menu().api}>
|
|
46
|
+
<PresenceProvider value={apiPresence}>{getChildren()}</PresenceProvider>
|
|
47
|
+
</MenuProvider>
|
|
49
48
|
</MenuMachineProvider>
|
|
50
49
|
</MenuTriggerItemProvider>);
|
|
51
50
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useNumberInputContext } from './number-input-context';
|
|
4
4
|
export const NumberInputControl = (props) => {
|
|
5
5
|
const api = useNumberInputContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.div {...
|
|
6
|
+
const mergedProps = mergeProps(() => api().controlProps, props);
|
|
7
|
+
return <ark.div {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useNumberInputContext } from './number-input-context';
|
|
4
4
|
export const NumberInputDecrementTrigger = (props) => {
|
|
5
5
|
const api = useNumberInputContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.button {...
|
|
6
|
+
const mergedProps = mergeProps(() => api().decrementTriggerProps, props);
|
|
7
|
+
return <ark.button {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useNumberInputContext } from './number-input-context';
|
|
4
4
|
export const NumberInputInput = (props) => {
|
|
5
5
|
const api = useNumberInputContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.input {...
|
|
6
|
+
const mergedProps = mergeProps(() => api().inputProps, props);
|
|
7
|
+
return <ark.input {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useNumberInputContext } from './number-input-context';
|
|
4
4
|
export const NumberInputIncrementTrigger = (props) => {
|
|
5
5
|
const api = useNumberInputContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.button {...
|
|
6
|
+
const mergedProps = mergeProps(() => api().incrementTriggerProps, props);
|
|
7
|
+
return <ark.button {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useNumberInputContext } from './number-input-context';
|
|
4
4
|
export const NumberInputLabel = (props) => {
|
|
5
5
|
const api = useNumberInputContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.label {...
|
|
6
|
+
const mergedProps = mergeProps(() => api().labelProps, props);
|
|
7
|
+
return <ark.label {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useNumberInputContext } from './number-input-context';
|
|
4
4
|
export const NumberInputScrubber = (props) => {
|
|
5
5
|
const api = useNumberInputContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.div {...
|
|
6
|
+
const mergedProps = mergeProps(() => api().scrubberProps, props);
|
|
7
|
+
return <ark.div {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -33,8 +33,8 @@ export const NumberInput = (props) => {
|
|
|
33
33
|
'value',
|
|
34
34
|
]);
|
|
35
35
|
const api = useNumberInput(useNumberInputProps);
|
|
36
|
-
const
|
|
36
|
+
const mergedProps = mergeProps(() => api().rootProps, localProps);
|
|
37
37
|
return (<NumberInputProvider value={api}>
|
|
38
|
-
<ark.div {...
|
|
38
|
+
<ark.div {...mergedProps}/>
|
|
39
39
|
</NumberInputProvider>);
|
|
40
40
|
};
|
|
@@ -22,8 +22,8 @@ export const Pagination = (props) => {
|
|
|
22
22
|
const [childrenProps, localProps] = splitProps(restProps, ['children']);
|
|
23
23
|
const api = usePagination(paginationParams);
|
|
24
24
|
const getChildren = () => runIfFn(childrenProps.children, api);
|
|
25
|
-
const
|
|
25
|
+
const mergedProps = mergeProps(() => api().rootProps, localProps);
|
|
26
26
|
return (<PaginationProvider value={api}>
|
|
27
|
-
<ark.nav {...
|
|
27
|
+
<ark.nav {...mergedProps}>{getChildren()}</ark.nav>
|
|
28
28
|
</PaginationProvider>);
|
|
29
29
|
};
|
|
@@ -5,6 +5,6 @@ import { usePinInputContext } from './pin-input-context';
|
|
|
5
5
|
export const PinInputInput = (props) => {
|
|
6
6
|
const [inputParams, localProps] = splitProps(props, ['index']);
|
|
7
7
|
const api = usePinInputContext();
|
|
8
|
-
const
|
|
9
|
-
return <ark.input {...
|
|
8
|
+
const mergedProps = mergeProps(() => api().getInputProps(inputParams), localProps);
|
|
9
|
+
return <ark.input {...mergedProps}/>;
|
|
10
10
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { usePinInputContext } from './pin-input-context';
|
|
4
4
|
export const PinInputLabel = (props) => {
|
|
5
5
|
const api = usePinInputContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.label {...
|
|
6
|
+
const mergedProps = mergeProps(() => api().labelProps, props);
|
|
7
|
+
return <ark.label {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { usePopoverContext } from './popover-context';
|
|
4
4
|
export const PopoverAnchor = (props) => {
|
|
5
5
|
const api = usePopoverContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.div {...
|
|
6
|
+
const mergedProps = mergeProps(() => api().anchorProps, props);
|
|
7
|
+
return <ark.div {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { usePopoverContext } from './popover-context';
|
|
4
4
|
export const PopoverArrowTip = (props) => {
|
|
5
5
|
const popover = usePopoverContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.div {...
|
|
6
|
+
const mergedProps = mergeProps(() => popover().arrowTipProps, props);
|
|
7
|
+
return <ark.div {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { usePopoverContext } from './popover-context';
|
|
4
4
|
export const PopoverArrow = (props) => {
|
|
5
5
|
const popover = usePopoverContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.div {...
|
|
6
|
+
const mergedProps = mergeProps(() => popover().arrowProps, props);
|
|
7
|
+
return <ark.div {...mergedProps}/>;
|
|
8
8
|
};
|