@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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ark-ui/solid",
|
|
3
|
-
"version": "1.0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "A collection of unstyled, accessible UI components for Solid, utilizing state machines for seamless interaction.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"accordion",
|
|
@@ -79,64 +79,64 @@
|
|
|
79
79
|
"release-it": "release-it --config ../../../release-it.json"
|
|
80
80
|
},
|
|
81
81
|
"dependencies": {
|
|
82
|
-
"@ark-ui/anatomy": "1.0.0
|
|
83
|
-
"@zag-js/accordion": "0.
|
|
84
|
-
"@zag-js/
|
|
85
|
-
"@zag-js/
|
|
86
|
-
"@zag-js/
|
|
87
|
-
"@zag-js/
|
|
88
|
-
"@zag-js/
|
|
89
|
-
"@zag-js/
|
|
90
|
-
"@zag-js/
|
|
91
|
-
"@zag-js/
|
|
92
|
-
"@zag-js/
|
|
93
|
-
"@zag-js/
|
|
94
|
-
"@zag-js/
|
|
95
|
-
"@zag-js/
|
|
96
|
-
"@zag-js/
|
|
97
|
-
"@zag-js/
|
|
98
|
-
"@zag-js/
|
|
99
|
-
"@zag-js/
|
|
100
|
-
"@zag-js/
|
|
101
|
-
"@zag-js/
|
|
102
|
-
"@zag-js/
|
|
103
|
-
"@zag-js/
|
|
104
|
-
"@zag-js/
|
|
105
|
-
"@zag-js/
|
|
106
|
-
"@zag-js/
|
|
107
|
-
"@zag-js/
|
|
108
|
-
"@zag-js/
|
|
109
|
-
"@zag-js/
|
|
110
|
-
"@zag-js/
|
|
111
|
-
"@zag-js/
|
|
112
|
-
"
|
|
82
|
+
"@ark-ui/anatomy": "1.0.0",
|
|
83
|
+
"@zag-js/accordion": "0.28.0",
|
|
84
|
+
"@zag-js/avatar": "0.28.0",
|
|
85
|
+
"@zag-js/carousel": "0.28.0",
|
|
86
|
+
"@zag-js/checkbox": "0.28.0",
|
|
87
|
+
"@zag-js/color-picker": "0.28.0",
|
|
88
|
+
"@zag-js/combobox": "0.28.0",
|
|
89
|
+
"@zag-js/date-picker": "0.28.0",
|
|
90
|
+
"@zag-js/dialog": "0.28.0",
|
|
91
|
+
"@zag-js/editable": "0.28.0",
|
|
92
|
+
"@zag-js/hover-card": "0.28.0",
|
|
93
|
+
"@zag-js/menu": "0.28.0",
|
|
94
|
+
"@zag-js/number-input": "0.28.0",
|
|
95
|
+
"@zag-js/pagination": "0.28.0",
|
|
96
|
+
"@zag-js/pin-input": "0.28.0",
|
|
97
|
+
"@zag-js/popover": "0.28.0",
|
|
98
|
+
"@zag-js/presence": "0.28.0",
|
|
99
|
+
"@zag-js/radio-group": "0.28.0",
|
|
100
|
+
"@zag-js/rating-group": "0.28.0",
|
|
101
|
+
"@zag-js/select": "0.28.0",
|
|
102
|
+
"@zag-js/slider": "0.28.0",
|
|
103
|
+
"@zag-js/solid": "0.28.0",
|
|
104
|
+
"@zag-js/splitter": "0.28.0",
|
|
105
|
+
"@zag-js/switch": "0.28.0",
|
|
106
|
+
"@zag-js/tabs": "0.28.0",
|
|
107
|
+
"@zag-js/tags-input": "0.28.0",
|
|
108
|
+
"@zag-js/toast": "0.28.0",
|
|
109
|
+
"@zag-js/toggle-group": "0.28.0",
|
|
110
|
+
"@zag-js/tooltip": "0.28.0",
|
|
111
|
+
"@zag-js/types": "0.28.0",
|
|
112
|
+
"resize-observer-polyfill": "1.5.1"
|
|
113
113
|
},
|
|
114
114
|
"devDependencies": {
|
|
115
115
|
"@release-it/keep-a-changelog": "4.0.0",
|
|
116
116
|
"@solidjs/testing-library": "0.8.4",
|
|
117
|
-
"@storybook/addon-essentials": "7.5.
|
|
118
|
-
"@storybook/addon-interactions": "7.5.
|
|
119
|
-
"@storybook/addon-links": "7.5.
|
|
120
|
-
"@storybook/blocks": "7.5.
|
|
117
|
+
"@storybook/addon-essentials": "7.5.3",
|
|
118
|
+
"@storybook/addon-interactions": "7.5.3",
|
|
119
|
+
"@storybook/addon-links": "7.5.3",
|
|
120
|
+
"@storybook/blocks": "7.5.3",
|
|
121
121
|
"@storybook/testing-library": "0.2.2",
|
|
122
122
|
"@testing-library/dom": "9.3.3",
|
|
123
123
|
"@testing-library/jest-dom": "6.1.4",
|
|
124
124
|
"@testing-library/user-event": "14.5.1",
|
|
125
|
-
"@types/jsdom": "21.1.
|
|
125
|
+
"@types/jsdom": "21.1.5",
|
|
126
126
|
"@types/testing-library__jest-dom": "5.14.9",
|
|
127
|
-
"@typescript-eslint/eslint-plugin": "6.
|
|
128
|
-
"@typescript-eslint/parser": "6.
|
|
127
|
+
"@typescript-eslint/eslint-plugin": "6.10.0",
|
|
128
|
+
"@typescript-eslint/parser": "6.10.0",
|
|
129
129
|
"@vitest/coverage-v8": "0.34.6",
|
|
130
|
-
"eslint": "8.
|
|
130
|
+
"eslint": "8.53.0",
|
|
131
131
|
"globby": "13.2.2",
|
|
132
132
|
"jsdom": "22.1.0",
|
|
133
133
|
"react": "18.2.0",
|
|
134
134
|
"react-dom": "18.2.0",
|
|
135
135
|
"release-it": "16.2.1",
|
|
136
|
-
"rollup": "4.
|
|
136
|
+
"rollup": "4.3.0",
|
|
137
137
|
"rollup-preset-solid": "2.0.1",
|
|
138
138
|
"solid-js": "1.8.5",
|
|
139
|
-
"storybook": "7.5.
|
|
139
|
+
"storybook": "7.5.3",
|
|
140
140
|
"storybook-solidjs": "1.0.0-beta.2",
|
|
141
141
|
"storybook-solidjs-vite": "1.0.0-beta.2",
|
|
142
142
|
"typescript": "5.2.2",
|
|
@@ -1,14 +1,15 @@
|
|
|
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 { useAccordionContext } from './accordion-context';
|
|
5
6
|
import { useAccordionItemContext } from './accordion-item-context';
|
|
6
7
|
export const AccordionItemContent = (props) => {
|
|
7
|
-
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
8
8
|
const api = useAccordionContext();
|
|
9
9
|
const accordionItem = useAccordionItemContext();
|
|
10
|
-
const
|
|
11
|
-
|
|
10
|
+
const presenceApi = usePresenceContext();
|
|
11
|
+
const mergedProps = mergeProps(() => api().getItemContentProps(accordionItem), () => presenceApi().presenceProps, props);
|
|
12
|
+
return (<Show when={!presenceApi().isUnmounted}>
|
|
12
13
|
<ark.div {...mergedProps}/>
|
|
13
|
-
</
|
|
14
|
+
</Show>);
|
|
14
15
|
};
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { mergeProps } from '@zag-js/solid';
|
|
2
2
|
import { ark } from '../factory';
|
|
3
|
+
import { usePresenceContext } from '../presence';
|
|
3
4
|
import { useAccordionContext } from './accordion-context';
|
|
4
5
|
import { useAccordionItemContext } from './accordion-item-context';
|
|
5
6
|
export const AccordionItemTrigger = (props) => {
|
|
6
7
|
const api = useAccordionContext();
|
|
7
8
|
const item = useAccordionItemContext();
|
|
8
|
-
const
|
|
9
|
+
const presenceApi = usePresenceContext();
|
|
10
|
+
const mergedProps = mergeProps(() => api().getItemTriggerProps(item), () => ({ 'aria-controls': presenceApi().isUnmounted && null }), props);
|
|
11
|
+
// @ts-expect-error we want aria-controls to be null to remove them if the popover if lazy mounted
|
|
9
12
|
return <ark.button {...mergedProps}/>;
|
|
10
13
|
};
|
|
@@ -1,16 +1,20 @@
|
|
|
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, usePresence, usePresencePropsContext } from '../presence';
|
|
4
5
|
import { runIfFn } from '../run-if-fn';
|
|
5
6
|
import { useAccordionContext } from './accordion-context';
|
|
6
7
|
import { AccordionItemProvider } from './accordion-item-context';
|
|
7
8
|
export const AccordionItem = (props) => {
|
|
8
|
-
const [itemProps,
|
|
9
|
+
const [itemProps, localProps] = createSplitProps()(props, ['value', 'disabled']);
|
|
9
10
|
const api = useAccordionContext();
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
const presenceProps = usePresencePropsContext();
|
|
12
|
+
const presenceApi = usePresence(mergeProps(presenceProps, () => ({ present: api().getItemState(itemProps).isOpen })));
|
|
13
|
+
const mergedProps = mergeProps(() => api().getItemProps(itemProps), localProps);
|
|
14
|
+
const getChildren = () => runIfFn(localProps.children, () => api().getItemState(itemProps));
|
|
15
|
+
return (<AccordionItemProvider value={itemProps}>
|
|
16
|
+
<PresenceProvider value={presenceApi}>
|
|
17
|
+
<ark.div {...mergedProps}>{getChildren()}</ark.div>
|
|
18
|
+
</PresenceProvider>
|
|
15
19
|
</AccordionItemProvider>);
|
|
16
20
|
};
|
|
@@ -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 { AccordionProvider } from './accordion-context';
|
|
5
6
|
import { useAccordion } from './use-accordion';
|
|
6
7
|
export const Accordion = (props) => {
|
|
7
|
-
const [
|
|
8
|
+
const [presenceProps, accordionProps] = splitPresenceProps(props);
|
|
9
|
+
const [useAccordionProps, localProps] = createSplitProps()(accordionProps, [
|
|
8
10
|
'collapsible',
|
|
9
11
|
'dir',
|
|
10
12
|
'disabled',
|
|
@@ -17,9 +19,11 @@ export const Accordion = (props) => {
|
|
|
17
19
|
'orientation',
|
|
18
20
|
'value',
|
|
19
21
|
]);
|
|
20
|
-
const api = useAccordion(
|
|
21
|
-
const
|
|
22
|
+
const api = useAccordion(useAccordionProps);
|
|
23
|
+
const mergedProps = mergeProps(() => api().rootProps, localProps);
|
|
22
24
|
return (<AccordionProvider value={api}>
|
|
23
|
-
<
|
|
25
|
+
<PresencePropsProvider value={presenceProps}>
|
|
26
|
+
<ark.div {...mergedProps}/>
|
|
27
|
+
</PresencePropsProvider>
|
|
24
28
|
</AccordionProvider>);
|
|
25
29
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useAvatarContext } from './avatar-context';
|
|
4
4
|
export const AvatarFallback = (props) => {
|
|
5
5
|
const avatar = useAvatarContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.span {...
|
|
6
|
+
const mergedProps = mergeProps(() => avatar().fallbackProps, props);
|
|
7
|
+
return <ark.span {...mergedProps}/>;
|
|
8
8
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useAvatarContext } from './avatar-context';
|
|
4
4
|
export const AvatarImage = (props) => {
|
|
5
5
|
const avatar = useAvatarContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.img {...
|
|
6
|
+
const mergedProps = mergeProps(() => avatar().imageProps, props);
|
|
7
|
+
return <ark.img {...mergedProps}/>;
|
|
8
8
|
};
|
package/source/avatar/avatar.jsx
CHANGED
|
@@ -11,8 +11,8 @@ export const Avatar = (props) => {
|
|
|
11
11
|
'onLoadingStatusChange',
|
|
12
12
|
]);
|
|
13
13
|
const api = useAvatar(params);
|
|
14
|
-
const
|
|
14
|
+
const mergedProps = mergeProps(() => api().rootProps, localProps);
|
|
15
15
|
return (<AvatarProvider value={api}>
|
|
16
|
-
<ark.div {...
|
|
16
|
+
<ark.div {...mergedProps}/>
|
|
17
17
|
</AvatarProvider>);
|
|
18
18
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { mergeProps } from '@zag-js/solid';
|
|
2
2
|
import { createSplitProps } from '../create-split-props';
|
|
3
3
|
import { ark } from '../factory';
|
|
4
|
+
import { runIfFn } from '../run-if-fn';
|
|
4
5
|
import { CarouselProvider } from './carousel-context';
|
|
5
6
|
import { useCarousel } from './use-carousel';
|
|
6
7
|
export const Carousel = (props) => {
|
|
@@ -17,9 +18,10 @@ export const Carousel = (props) => {
|
|
|
17
18
|
'slidesPerView',
|
|
18
19
|
'spacing',
|
|
19
20
|
]);
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
const api = useCarousel(useCarouselProps);
|
|
22
|
+
const mergedProps = mergeProps(() => api().rootProps, localProps);
|
|
23
|
+
const getChildren = () => runIfFn(localProps.children, api);
|
|
24
|
+
return (<CarouselProvider value={api}>
|
|
25
|
+
<ark.div {...mergedProps}>{getChildren()}</ark.div>
|
|
24
26
|
</CarouselProvider>);
|
|
25
27
|
};
|
|
@@ -3,6 +3,6 @@ import { ark } from '../factory';
|
|
|
3
3
|
import { useCheckboxContext } from './checkbox-context';
|
|
4
4
|
export const CheckboxLabel = (props) => {
|
|
5
5
|
const checkbox = useCheckboxContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.span {...
|
|
6
|
+
const mergedProps = mergeProps(() => checkbox().labelProps, props);
|
|
7
|
+
return <ark.span {...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 { useColorPickerContext } from './color-picker-context';
|
|
5
6
|
export const ColorPickerContent = (props) => {
|
|
6
|
-
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
7
7
|
const api = useColorPickerContext();
|
|
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 { useColorPickerContext } from './color-picker-context';
|
|
4
6
|
export const ColorPickerPositioner = (props) => {
|
|
5
7
|
const api = useColorPickerContext();
|
|
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
|
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { colorPickerAnatomy } from '@ark-ui/anatomy';
|
|
2
|
+
import { mergeProps } from '@zag-js/solid';
|
|
3
|
+
import { Show } from 'solid-js';
|
|
4
|
+
import { ark } from '../factory';
|
|
5
|
+
import { useColorPickerContext } from './color-picker-context';
|
|
6
|
+
export const ColorPickerView = (props) => {
|
|
7
|
+
const api = useColorPickerContext();
|
|
8
|
+
const mergedProps = mergeProps(() => colorPickerAnatomy.build().view.attrs, props);
|
|
9
|
+
// TODO @segunadebayo
|
|
10
|
+
return (<Show when={api().format === props.format}>
|
|
11
|
+
<ark.div data-format={props.format} {...mergedProps}/>
|
|
12
|
+
</Show>);
|
|
13
|
+
};
|
|
@@ -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 { ColorPickerProvider } from './color-picker-context';
|
|
6
7
|
import { useColorPicker, } from './use-color-picker';
|
|
7
8
|
export const ColorPicker = (props) => {
|
|
8
|
-
const [
|
|
9
|
+
const [presenceProps, colorPickerProps] = splitPresenceProps(props);
|
|
10
|
+
const [useColorPickerProps, localProps] = createSplitProps()(colorPickerProps, [
|
|
9
11
|
'autoFocus',
|
|
10
12
|
'dir',
|
|
11
13
|
'disabled',
|
|
@@ -26,11 +28,14 @@ export const ColorPicker = (props) => {
|
|
|
26
28
|
'readOnly',
|
|
27
29
|
'value',
|
|
28
30
|
]);
|
|
29
|
-
const api = useColorPicker(
|
|
31
|
+
const api = useColorPicker(useColorPickerProps);
|
|
32
|
+
const apiPresence = usePresence(mergeProps(presenceProps, () => ({ present: api().isOpen })));
|
|
30
33
|
const mergedProps = mergeProps(() => api().rootProps, localProps);
|
|
31
34
|
const getChildren = () => runIfFn(localProps.children, api);
|
|
32
35
|
return (<ColorPickerProvider value={api}>
|
|
33
|
-
<
|
|
36
|
+
<PresenceProvider value={apiPresence}>
|
|
37
|
+
<ark.div {...mergedProps}>{getChildren()}</ark.div>
|
|
38
|
+
</PresenceProvider>
|
|
34
39
|
<input {...api().hiddenInputProps}/>
|
|
35
40
|
</ColorPickerProvider>);
|
|
36
41
|
};
|
|
@@ -20,6 +20,7 @@ import { ColorPickerSwatchTrigger, } from './color-picker-swatch-trigger';
|
|
|
20
20
|
import { ColorPickerTransparencyGrid, } from './color-picker-transparency-grid';
|
|
21
21
|
import { ColorPickerTrigger } from './color-picker-trigger';
|
|
22
22
|
import { ColorPickerValueText } from './color-picker-value-text';
|
|
23
|
+
import { ColorPickerView } from './color-picker-view';
|
|
23
24
|
const ColorPicker = Object.assign(ColorPickerRoot, {
|
|
24
25
|
Root: ColorPickerRoot,
|
|
25
26
|
Area: ColorPickerArea,
|
|
@@ -40,5 +41,6 @@ const ColorPicker = Object.assign(ColorPickerRoot, {
|
|
|
40
41
|
TransparencyGrid: ColorPickerTransparencyGrid,
|
|
41
42
|
Trigger: ColorPickerTrigger,
|
|
42
43
|
ValueText: ColorPickerValueText,
|
|
44
|
+
View: ColorPickerView,
|
|
43
45
|
});
|
|
44
46
|
export { ColorPicker, ColorPickerArea, ColorPickerAreaBackground, ColorPickerAreaThumb, ColorPickerChannelInput, ColorPickerChannelSlider, ColorPickerChannelSliderThumb, ColorPickerChannelSliderTrack, ColorPickerContent, ColorPickerControl, ColorPickerEyeDropperTrigger, ColorPickerLabel, ColorPickerPositioner, ColorPickerSwatch, ColorPickerSwatchGroup, ColorPickerSwatchTrigger, ColorPickerTransparencyGrid, ColorPickerTrigger, ColorPickerValueText, useColorPickerAreaContext, useColorPickerChannelSliderContext, useColorPickerContext, };
|
|
@@ -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 { useComboboxContext } from './combobox-context';
|
|
5
6
|
export const ComboboxContent = (props) => {
|
|
6
|
-
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
7
7
|
const api = useComboboxContext();
|
|
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 { useComboboxContext } from './combobox-context';
|
|
4
6
|
export const ComboboxPositioner = (props) => {
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
|
|
7
|
+
const api = useComboboxContext();
|
|
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
|
};
|
|
@@ -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 { ComboboxProvider } from './combobox-context';
|
|
6
7
|
import { useCombobox } from './use-combobox';
|
|
7
8
|
export const Combobox = (props) => {
|
|
8
|
-
const [
|
|
9
|
+
const [presenceProps, comboboxProps] = splitPresenceProps(props);
|
|
10
|
+
const [useComboboxProps, localProps] = createSplitProps()(comboboxProps, [
|
|
9
11
|
'allowCustomValue',
|
|
10
12
|
'autoFocus',
|
|
11
13
|
'closeOnSelect',
|
|
@@ -43,10 +45,13 @@ export const Combobox = (props) => {
|
|
|
43
45
|
'translations',
|
|
44
46
|
'value',
|
|
45
47
|
]);
|
|
46
|
-
const api = useCombobox(
|
|
48
|
+
const api = useCombobox(useComboboxProps);
|
|
49
|
+
const apiPresence = usePresence(mergeProps(presenceProps, () => ({ present: api().isOpen })));
|
|
47
50
|
const mergedProps = mergeProps(() => api().rootProps, localProps);
|
|
48
51
|
const getChildren = () => runIfFn(localProps.children, api);
|
|
49
52
|
return (<ComboboxProvider value={api}>
|
|
50
|
-
<
|
|
53
|
+
<PresenceProvider value={apiPresence}>
|
|
54
|
+
<ark.div {...mergedProps}>{getChildren()}</ark.div>
|
|
55
|
+
</PresenceProvider>
|
|
51
56
|
</ComboboxProvider>);
|
|
52
57
|
};
|
|
@@ -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 { useDatePickerContext } from './date-picker-context';
|
|
5
6
|
export const DatePickerContent = (props) => {
|
|
6
|
-
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
7
7
|
const api = useDatePickerContext();
|
|
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 { useDatePickerContext } from './date-picker-context';
|
|
4
6
|
export const DatePickerPositioner = (props) => {
|
|
5
7
|
const api = useDatePickerContext();
|
|
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
|
};
|
|
@@ -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 { DatePickerProvider } from './date-picker-context';
|
|
6
7
|
import { useDatePicker } from './use-date-picker';
|
|
7
8
|
export const DatePicker = (props) => {
|
|
8
|
-
const [
|
|
9
|
+
const [presenceProps, datePickerProps] = splitPresenceProps(props);
|
|
10
|
+
const [useDatePickerProps, localProps] = createSplitProps()(datePickerProps, [
|
|
9
11
|
'closeOnSelect',
|
|
10
12
|
'dir',
|
|
11
13
|
'disabled',
|
|
@@ -38,10 +40,13 @@ export const DatePicker = (props) => {
|
|
|
38
40
|
'value',
|
|
39
41
|
'view',
|
|
40
42
|
]);
|
|
41
|
-
const api = useDatePicker(
|
|
43
|
+
const api = useDatePicker(useDatePickerProps);
|
|
44
|
+
const apiPresence = usePresence(mergeProps(presenceProps, () => ({ present: api().isOpen })));
|
|
42
45
|
const mergedProps = mergeProps(() => api().rootProps, localProps);
|
|
43
46
|
const getChildren = () => runIfFn(localProps.children, api);
|
|
44
47
|
return (<DatePickerProvider value={api}>
|
|
45
|
-
<
|
|
48
|
+
<PresenceProvider value={apiPresence}>
|
|
49
|
+
<ark.div {...mergedProps}>{getChildren()}</ark.div>
|
|
50
|
+
</PresenceProvider>
|
|
46
51
|
</DatePickerProvider>);
|
|
47
52
|
};
|
|
@@ -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 { useDialogContext } from './dialog-context';
|
|
5
6
|
export const DialogBackdrop = (props) => {
|
|
6
|
-
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
7
7
|
const api = useDialogContext();
|
|
8
|
-
const
|
|
9
|
-
|
|
8
|
+
const presenceApi = usePresenceContext();
|
|
9
|
+
const mergedProps = mergeProps(() => api().backdropProps, 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 { useDialogContext } from './dialog-context';
|
|
4
4
|
export const DialogCloseTrigger = (props) => {
|
|
5
5
|
const dialog = useDialogContext();
|
|
6
|
-
const
|
|
7
|
-
return <ark.button {...
|
|
6
|
+
const mergedProps = mergeProps(() => dialog().triggerProps, props);
|
|
7
|
+
return <ark.button {...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 { useDialogContext } from './dialog-context';
|
|
5
6
|
export const DialogContent = (props) => {
|
|
6
|
-
const [presenceProps, localProps] = splitPresenceProps(props);
|
|
7
7
|
const api = useDialogContext();
|
|
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 { 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
|
};
|