@ark-ui/solid 1.0.0-beta.3 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/CHANGELOG.md +14 -51
  2. package/cjs/index.js +604 -453
  3. package/cjs/index.js.map +1 -1
  4. package/esm/index.js +601 -455
  5. package/esm/index.js.map +1 -1
  6. package/package.json +42 -42
  7. package/source/accordion/accordion-item-content.jsx +6 -5
  8. package/source/accordion/accordion-item-trigger.jsx +4 -1
  9. package/source/accordion/accordion-item.jsx +10 -6
  10. package/source/accordion/accordion.jsx +8 -4
  11. package/source/avatar/avatar-fallback.jsx +2 -2
  12. package/source/avatar/avatar-image.jsx +2 -2
  13. package/source/avatar/avatar.jsx +2 -2
  14. package/source/carousel/carousel.jsx +6 -4
  15. package/source/checkbox/checkbox-label.jsx +2 -2
  16. package/source/color-picker/color-picker-content.jsx +6 -5
  17. package/source/color-picker/color-picker-positioner.jsx +6 -1
  18. package/source/color-picker/color-picker-view.jsx +13 -0
  19. package/source/color-picker/color-picker.jsx +8 -3
  20. package/source/color-picker/index.js +2 -0
  21. package/source/combobox/combobox-content.jsx +6 -5
  22. package/source/combobox/combobox-positioner.jsx +8 -3
  23. package/source/combobox/combobox.jsx +8 -3
  24. package/source/date-picker/date-picker-content.jsx +6 -5
  25. package/source/date-picker/date-picker-positioner.jsx +6 -1
  26. package/source/date-picker/date-picker.jsx +8 -3
  27. package/source/dialog/dialog-backdrop.jsx +7 -5
  28. package/source/dialog/dialog-close-trigger.jsx +2 -2
  29. package/source/dialog/dialog-content.jsx +6 -5
  30. package/source/dialog/dialog-description.jsx +2 -2
  31. package/source/dialog/dialog-positioner.jsx +8 -3
  32. package/source/dialog/dialog-title.jsx +2 -2
  33. package/source/dialog/dialog-trigger.jsx +6 -3
  34. package/source/dialog/dialog.jsx +11 -3
  35. package/source/editable/editable-area.jsx +2 -2
  36. package/source/editable/editable-cancel-trigger.jsx +2 -2
  37. package/source/editable/editable-control.jsx +2 -2
  38. package/source/editable/editable-edit-trigger.jsx +2 -2
  39. package/source/editable/editable-input.jsx +2 -2
  40. package/source/editable/editable-label.jsx +2 -2
  41. package/source/editable/editable-preview.jsx +2 -2
  42. package/source/editable/editable-submit-trigger.jsx +2 -2
  43. package/source/editable/editable.jsx +2 -2
  44. package/source/hover-card/hover-card-arrow-tip.jsx +2 -2
  45. package/source/hover-card/hover-card-arrow.jsx +2 -2
  46. package/source/hover-card/hover-card-content.jsx +6 -5
  47. package/source/hover-card/hover-card-positioner.jsx +8 -3
  48. package/source/hover-card/hover-card-trigger.jsx +2 -2
  49. package/source/hover-card/hover-card.jsx +9 -3
  50. package/source/menu/menu-arrow-tip.jsx +2 -2
  51. package/source/menu/menu-arrow.jsx +2 -2
  52. package/source/menu/menu-content.jsx +6 -5
  53. package/source/menu/menu-context-trigger.jsx +2 -2
  54. package/source/menu/menu-item-group.jsx +2 -2
  55. package/source/menu/menu-item.jsx +2 -2
  56. package/source/menu/menu-option-item.jsx +2 -2
  57. package/source/menu/menu-positioner.jsx +8 -3
  58. package/source/menu/menu-separator.jsx +2 -2
  59. package/source/menu/menu-trigger-item.jsx +2 -2
  60. package/source/menu/menu-trigger.jsx +6 -3
  61. package/source/menu/menu.jsx +11 -12
  62. package/source/number-input/number-input-control.jsx +2 -2
  63. package/source/number-input/number-input-decrement-trigger.jsx +2 -2
  64. package/source/number-input/number-input-field.jsx +2 -2
  65. package/source/number-input/number-input-increment-trigger.jsx +2 -2
  66. package/source/number-input/number-input-label.jsx +2 -2
  67. package/source/number-input/number-input-scrubber.jsx +2 -2
  68. package/source/number-input/number-input.jsx +2 -2
  69. package/source/pagination/pagination.jsx +2 -2
  70. package/source/pin-input/pin-input-field.jsx +2 -2
  71. package/source/pin-input/pin-input-label.jsx +2 -2
  72. package/source/popover/popover-anchor.jsx +2 -2
  73. package/source/popover/popover-arrow-tip.jsx +2 -2
  74. package/source/popover/popover-arrow.jsx +2 -2
  75. package/source/popover/popover-close-trigger.jsx +2 -2
  76. package/source/popover/popover-content.jsx +6 -5
  77. package/source/popover/popover-description.jsx +2 -2
  78. package/source/popover/popover-positioner.jsx +7 -2
  79. package/source/popover/popover-title.jsx +2 -2
  80. package/source/popover/popover-trigger.jsx +5 -2
  81. package/source/popover/popover.jsx +10 -2
  82. package/source/presence/index.js +4 -1
  83. package/source/presence/presence-context.js +5 -0
  84. package/source/presence/presence-props-context.js +5 -0
  85. package/source/presence/presence.jsx +9 -28
  86. package/source/presence/split-presence-props.js +0 -1
  87. package/source/presence/use-presence.js +21 -4
  88. package/source/rating-group/rating-group-item.jsx +5 -4
  89. package/source/select/select-content.jsx +6 -5
  90. package/source/select/select-positioner.jsx +6 -1
  91. package/source/select/select.jsx +8 -3
  92. package/source/slider/slider-thumb.jsx +2 -2
  93. package/source/slider/slider-value-text.jsx +3 -3
  94. package/source/splitter/splitter-panel.jsx +2 -2
  95. package/source/splitter/splitter-resize-trigger.jsx +2 -2
  96. package/source/splitter/splitter.jsx +2 -2
  97. package/source/switch/switch-label.jsx +2 -2
  98. package/source/switch/switch-thumb.jsx +2 -2
  99. package/source/tabs/tab-content.jsx +11 -8
  100. package/source/tabs/tab-indicator.jsx +2 -2
  101. package/source/tabs/tab-list.jsx +2 -2
  102. package/source/tabs/tab-trigger.jsx +2 -2
  103. package/source/tabs/tabs.jsx +7 -3
  104. package/source/toggle-group/toggle-group.jsx +2 -2
  105. package/source/tooltip/tooltip-arrow-tip.jsx +2 -2
  106. package/source/tooltip/tooltip-arrow.jsx +2 -2
  107. package/source/tooltip/tooltip-content.jsx +7 -6
  108. package/source/tooltip/tooltip-positioner.jsx +7 -2
  109. package/source/tooltip/tooltip-trigger.jsx +2 -2
  110. package/source/tooltip/tooltip.jsx +10 -2
  111. package/types/accordion/accordion-context.d.ts +3 -2
  112. package/types/accordion/accordion-item-content.d.ts +1 -3
  113. package/types/accordion/accordion-item-context.d.ts +3 -2
  114. package/types/accordion/accordion-item-indicator.d.ts +2 -1
  115. package/types/accordion/accordion-item-trigger.d.ts +2 -1
  116. package/types/accordion/accordion-item.d.ts +5 -4
  117. package/types/accordion/accordion.d.ts +3 -1
  118. package/types/accordion/use-accordion.d.ts +4 -2
  119. package/types/avatar/avatar-context.d.ts +3 -2
  120. package/types/avatar/avatar-fallback.d.ts +2 -1
  121. package/types/avatar/avatar-image.d.ts +2 -1
  122. package/types/avatar/avatar.d.ts +2 -1
  123. package/types/avatar/use-avatar.d.ts +4 -2
  124. package/types/carousel/carousel-context.d.ts +3 -2
  125. package/types/carousel/carousel-control.d.ts +2 -1
  126. package/types/carousel/carousel-indicator-group.d.ts +2 -1
  127. package/types/carousel/carousel-indicator.d.ts +2 -1
  128. package/types/carousel/carousel-next-trigger.d.ts +2 -1
  129. package/types/carousel/carousel-prev-trigger.d.ts +2 -1
  130. package/types/carousel/carousel-slide-group.d.ts +2 -1
  131. package/types/carousel/carousel-slide.d.ts +2 -1
  132. package/types/carousel/carousel-viewport.d.ts +2 -1
  133. package/types/carousel/carousel.d.ts +7 -3
  134. package/types/carousel/use-carousel.d.ts +4 -2
  135. package/types/checkbox/checkbox-context.d.ts +3 -2
  136. package/types/checkbox/checkbox-control.d.ts +2 -1
  137. package/types/checkbox/checkbox-indicator.d.ts +2 -1
  138. package/types/checkbox/checkbox-label.d.ts +2 -1
  139. package/types/checkbox/checkbox.d.ts +5 -5
  140. package/types/checkbox/use-checkbox.d.ts +4 -2
  141. package/types/color-picker/color-picker-content.d.ts +1 -3
  142. package/types/color-picker/color-picker-view.d.ts +7 -0
  143. package/types/color-picker/color-picker.d.ts +5 -3
  144. package/types/color-picker/index.d.ts +3 -1
  145. package/types/combobox/combobox-clear-trigger.d.ts +2 -1
  146. package/types/combobox/combobox-content.d.ts +1 -3
  147. package/types/combobox/combobox-context.d.ts +2 -1
  148. package/types/combobox/combobox-control.d.ts +2 -1
  149. package/types/combobox/combobox-input.d.ts +2 -1
  150. package/types/combobox/combobox-item-context.d.ts +3 -2
  151. package/types/combobox/combobox-item-group.d.ts +2 -1
  152. package/types/combobox/combobox-item-indicator.d.ts +2 -1
  153. package/types/combobox/combobox-item-text.d.ts +2 -1
  154. package/types/combobox/combobox-item.d.ts +5 -4
  155. package/types/combobox/combobox-label.d.ts +2 -1
  156. package/types/combobox/combobox-positioner.d.ts +2 -1
  157. package/types/combobox/combobox-trigger.d.ts +2 -1
  158. package/types/combobox/combobox.d.ts +7 -6
  159. package/types/combobox/use-combobox.d.ts +2 -1
  160. package/types/date-picker/date-picker-content.d.ts +1 -3
  161. package/types/date-picker/date-picker-context.d.ts +3 -2
  162. package/types/date-picker/date-picker-view.d.ts +4 -3
  163. package/types/date-picker/date-picker.d.ts +5 -3
  164. package/types/dialog/dialog-backdrop.d.ts +1 -3
  165. package/types/dialog/dialog-close-trigger.d.ts +2 -1
  166. package/types/dialog/dialog-content.d.ts +1 -3
  167. package/types/dialog/dialog-context.d.ts +3 -2
  168. package/types/dialog/dialog-description.d.ts +2 -1
  169. package/types/dialog/dialog-positioner.d.ts +2 -1
  170. package/types/dialog/dialog-title.d.ts +2 -1
  171. package/types/dialog/dialog-trigger.d.ts +2 -1
  172. package/types/dialog/dialog.d.ts +4 -3
  173. package/types/dialog/use-dialog.d.ts +4 -2
  174. package/types/editable/editable-area.d.ts +2 -1
  175. package/types/editable/editable-cancel-trigger.d.ts +2 -1
  176. package/types/editable/editable-context.d.ts +3 -2
  177. package/types/editable/editable-control.d.ts +2 -1
  178. package/types/editable/editable-edit-trigger.d.ts +2 -1
  179. package/types/editable/editable-input.d.ts +2 -1
  180. package/types/editable/editable-label.d.ts +2 -1
  181. package/types/editable/editable-preview.d.ts +2 -1
  182. package/types/editable/editable-submit-trigger.d.ts +2 -1
  183. package/types/editable/editable.d.ts +5 -5
  184. package/types/editable/use-editable.d.ts +4 -2
  185. package/types/environment/environment.d.ts +2 -2
  186. package/types/hover-card/hover-card-arrow-tip.d.ts +2 -1
  187. package/types/hover-card/hover-card-arrow.d.ts +2 -1
  188. package/types/hover-card/hover-card-content.d.ts +1 -3
  189. package/types/hover-card/hover-card-context.d.ts +3 -2
  190. package/types/hover-card/hover-card-positioner.d.ts +2 -1
  191. package/types/hover-card/hover-card-trigger.d.ts +2 -1
  192. package/types/hover-card/hover-card.d.ts +4 -3
  193. package/types/hover-card/use-hover-card.d.ts +4 -2
  194. package/types/menu/menu-arrow-tip.d.ts +2 -1
  195. package/types/menu/menu-arrow.d.ts +2 -1
  196. package/types/menu/menu-content.d.ts +1 -3
  197. package/types/menu/menu-context-trigger.d.ts +2 -1
  198. package/types/menu/menu-item-group.d.ts +2 -1
  199. package/types/menu/menu-item.d.ts +2 -1
  200. package/types/menu/menu-option-item.d.ts +3 -2
  201. package/types/menu/menu-positioner.d.ts +2 -1
  202. package/types/menu/menu-separator.d.ts +2 -1
  203. package/types/menu/menu-trigger-item.d.ts +2 -1
  204. package/types/menu/menu-trigger.d.ts +2 -1
  205. package/types/menu/menu.d.ts +6 -9
  206. package/types/menu/use-menu.d.ts +2 -1
  207. package/types/number-input/number-input-context.d.ts +3 -2
  208. package/types/number-input/number-input-control.d.ts +2 -1
  209. package/types/number-input/number-input-decrement-trigger.d.ts +2 -1
  210. package/types/number-input/number-input-field.d.ts +2 -1
  211. package/types/number-input/number-input-increment-trigger.d.ts +2 -1
  212. package/types/number-input/number-input-label.d.ts +2 -1
  213. package/types/number-input/number-input-scrubber.d.ts +2 -1
  214. package/types/number-input/number-input.d.ts +2 -1
  215. package/types/number-input/use-number-input.d.ts +4 -2
  216. package/types/pagination/pagination-context.d.ts +3 -2
  217. package/types/pagination/pagination-ellipsis.d.ts +2 -1
  218. package/types/pagination/pagination-item.d.ts +2 -1
  219. package/types/pagination/pagination.d.ts +4 -3
  220. package/types/pagination/use-pagination.d.ts +4 -2
  221. package/types/pin-input/pin-input-context.d.ts +3 -2
  222. package/types/pin-input/pin-input-control.d.ts +2 -1
  223. package/types/pin-input/pin-input-field.d.ts +3 -2
  224. package/types/pin-input/pin-input-label.d.ts +2 -1
  225. package/types/pin-input/pin-input.d.ts +2 -1
  226. package/types/pin-input/use-pin-input.d.ts +4 -2
  227. package/types/popover/popover-anchor.d.ts +2 -1
  228. package/types/popover/popover-arrow-tip.d.ts +2 -1
  229. package/types/popover/popover-arrow.d.ts +2 -1
  230. package/types/popover/popover-close-trigger.d.ts +2 -1
  231. package/types/popover/popover-content.d.ts +1 -3
  232. package/types/popover/popover-context.d.ts +3 -2
  233. package/types/popover/popover-description.d.ts +2 -1
  234. package/types/popover/popover-indicator.d.ts +2 -1
  235. package/types/popover/popover-positioner.d.ts +2 -1
  236. package/types/popover/popover-title.d.ts +2 -1
  237. package/types/popover/popover-trigger.d.ts +2 -1
  238. package/types/popover/popover.d.ts +5 -4
  239. package/types/popover/use-popover.d.ts +4 -2
  240. package/types/presence/index.d.ts +5 -2
  241. package/types/presence/presence-context.d.ts +4 -0
  242. package/types/presence/presence-props-context.d.ts +4 -0
  243. package/types/presence/presence.d.ts +3 -18
  244. package/types/presence/split-presence-props.d.ts +2 -2
  245. package/types/presence/use-presence.d.ts +23 -2
  246. package/types/radio-group/radio-group-context.d.ts +3 -2
  247. package/types/radio-group/radio-group-indicator.d.ts +2 -1
  248. package/types/radio-group/radio-group-item-context.d.ts +3 -2
  249. package/types/radio-group/radio-group-item-control.d.ts +2 -1
  250. package/types/radio-group/radio-group-item-text.d.ts +2 -1
  251. package/types/radio-group/radio-group-item.d.ts +2 -1
  252. package/types/radio-group/radio-group-label.d.ts +2 -1
  253. package/types/radio-group/radio-group.d.ts +2 -1
  254. package/types/radio-group/use-radio-group.d.ts +4 -2
  255. package/types/rating-group/rating-group-context.d.ts +3 -2
  256. package/types/rating-group/rating-group-control.d.ts +6 -5
  257. package/types/rating-group/rating-group-item-context.d.ts +4 -2
  258. package/types/rating-group/rating-group-item.d.ts +6 -6
  259. package/types/rating-group/rating-group-label.d.ts +2 -1
  260. package/types/rating-group/rating-group.d.ts +2 -1
  261. package/types/rating-group/use-rating-group.d.ts +4 -2
  262. package/types/segment-group/segment-group-context.d.ts +3 -2
  263. package/types/segment-group/segment-group-indicator.d.ts +2 -1
  264. package/types/segment-group/segment-group-item-control.d.ts +2 -1
  265. package/types/segment-group/segment-group-item-text.d.ts +2 -1
  266. package/types/segment-group/segment-group-item.d.ts +2 -1
  267. package/types/segment-group/segment-group-label.d.ts +2 -1
  268. package/types/segment-group/segment-group.d.ts +2 -1
  269. package/types/segment-group/use-segment-group.d.ts +4 -2
  270. package/types/select/select-clear-trigger.d.ts +2 -1
  271. package/types/select/select-content.d.ts +1 -3
  272. package/types/select/select-context.d.ts +2 -1
  273. package/types/select/select-control.d.ts +2 -1
  274. package/types/select/select-indicator.d.ts +2 -1
  275. package/types/select/select-item-context.d.ts +2 -1
  276. package/types/select/select-item-group.d.ts +2 -1
  277. package/types/select/select-item-indicator.d.ts +2 -1
  278. package/types/select/select-item-text.d.ts +2 -1
  279. package/types/select/select-item.d.ts +5 -4
  280. package/types/select/select-label.d.ts +2 -1
  281. package/types/select/select-positioner.d.ts +2 -1
  282. package/types/select/select-trigger.d.ts +2 -1
  283. package/types/select/select.d.ts +7 -6
  284. package/types/select/use-select.d.ts +2 -1
  285. package/types/slider/slider-context.d.ts +3 -2
  286. package/types/slider/slider-control.d.ts +2 -1
  287. package/types/slider/slider-label.d.ts +2 -1
  288. package/types/slider/slider-marker-group.d.ts +2 -1
  289. package/types/slider/slider-marker.d.ts +2 -1
  290. package/types/slider/slider-range.d.ts +2 -1
  291. package/types/slider/slider-thumb.d.ts +2 -1
  292. package/types/slider/slider-track.d.ts +2 -1
  293. package/types/slider/slider-value-text.d.ts +3 -7
  294. package/types/slider/slider.d.ts +4 -3
  295. package/types/slider/use-slider.d.ts +4 -2
  296. package/types/splitter/splitter-context.d.ts +3 -2
  297. package/types/splitter/splitter-panel.d.ts +2 -1
  298. package/types/splitter/splitter-resize-trigger.d.ts +2 -1
  299. package/types/splitter/splitter.d.ts +4 -3
  300. package/types/splitter/use-splitter.d.ts +4 -2
  301. package/types/switch/switch-context.d.ts +3 -2
  302. package/types/switch/switch-control.d.ts +2 -1
  303. package/types/switch/switch-label.d.ts +2 -1
  304. package/types/switch/switch-thumb.d.ts +2 -1
  305. package/types/switch/switch.d.ts +5 -5
  306. package/types/switch/use-switch.d.ts +4 -2
  307. package/types/tabs/tab-content.d.ts +2 -2
  308. package/types/tabs/tab-indicator.d.ts +2 -1
  309. package/types/tabs/tab-list.d.ts +2 -1
  310. package/types/tabs/tab-trigger.d.ts +2 -1
  311. package/types/tabs/tabs-context.d.ts +3 -2
  312. package/types/tabs/tabs.d.ts +3 -1
  313. package/types/tabs/use-tabs.d.ts +4 -2
  314. package/types/tags-input/tags-input-clear-trigger.d.ts +2 -1
  315. package/types/tags-input/tags-input-context.d.ts +3 -2
  316. package/types/tags-input/tags-input-control.d.ts +2 -1
  317. package/types/tags-input/tags-input-input.d.ts +2 -1
  318. package/types/tags-input/tags-input-item-context.d.ts +3 -2
  319. package/types/tags-input/tags-input-item-delete-trigger.d.ts +2 -1
  320. package/types/tags-input/tags-input-item-input.d.ts +2 -1
  321. package/types/tags-input/tags-input-item-text.d.ts +2 -1
  322. package/types/tags-input/tags-input-item.d.ts +5 -4
  323. package/types/tags-input/tags-input-label.d.ts +2 -1
  324. package/types/tags-input/tags-input.d.ts +5 -5
  325. package/types/tags-input/use-tags-input.d.ts +4 -2
  326. package/types/toast/toast-close-trigger.d.ts +2 -1
  327. package/types/toast/toast-description.d.ts +2 -1
  328. package/types/toast/toast-title.d.ts +2 -1
  329. package/types/toast/toast.d.ts +2 -1
  330. package/types/toggle-group/toggle-group-context.d.ts +3 -2
  331. package/types/toggle-group/toggle-group.d.ts +2 -1
  332. package/types/toggle-group/use-toggle-group.d.ts +4 -2
  333. package/types/tooltip/tooltip-arrow-tip.d.ts +2 -1
  334. package/types/tooltip/tooltip-arrow.d.ts +2 -1
  335. package/types/tooltip/tooltip-content.d.ts +1 -3
  336. package/types/tooltip/tooltip-context.d.ts +3 -2
  337. package/types/tooltip/tooltip-positioner.d.ts +2 -1
  338. package/types/tooltip/tooltip-trigger.d.ts +2 -1
  339. package/types/tooltip/tooltip.d.ts +6 -5
  340. package/types/tooltip/use-tooltip.d.ts +4 -2
  341. package/source/tabs/tab-presence.jsx +0 -6
  342. package/types/tabs/tab-presence.d.ts +0 -4
  343. /package/source/date-picker/{use-date-picker.jsx → use-date-picker.js} +0 -0
  344. /package/source/radio-group/{use-radio-group.jsx → use-radio-group.js} +0 -0
  345. /package/source/rating-group/{use-rating-group.jsx → use-rating-group.js} +0 -0
  346. /package/source/segment-group/{use-segment-group.jsx → use-segment-group.js} +0 -0
package/esm/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { spread as spread$1, createComponent, Dynamic, mergeProps as mergeProps$1, memo, use, template, insert, effect } from 'solid-js/web';
2
- import { mergeProps as mergeProps$2, useMachine, normalizeProps, useActor } from '@zag-js/solid';
3
- import { splitProps, createMemo, mergeProps, children, createEffect, createContext as createContext$1, useContext, createUniqueId, createSignal, Index, onCleanup } from 'solid-js';
4
- import * as accordion from '@zag-js/accordion';
2
+ import { useMachine, normalizeProps, mergeProps as mergeProps$2, useActor } from '@zag-js/solid';
3
+ import { splitProps, createMemo, mergeProps, children, createEffect, createSignal, Show, createContext as createContext$1, useContext, createUniqueId, Index, onCleanup } from 'solid-js';
5
4
  import * as presence from '@zag-js/presence';
5
+ import * as accordion from '@zag-js/accordion';
6
6
  import * as avatar from '@zag-js/avatar';
7
7
  import * as carousel from '@zag-js/carousel';
8
8
  import { carouselAnatomy, colorPickerAnatomy, datePickerAnatomy, segmentGroupAnatomy, selectAnatomy } from '@ark-ui/anatomy';
@@ -394,6 +394,49 @@ function jsxFactory() {
394
394
  }
395
395
  const ark = jsxFactory();
396
396
 
397
+ function splitPresenceProps(props) {
398
+ return createSplitProps()(props, ['lazyMount', 'onExitComplete', 'present', 'unmountOnExit']);
399
+ }
400
+
401
+ const usePresence = props => {
402
+ const [localProps, machineProps] = splitProps(props, ['lazyMount', 'unmountOnExit']);
403
+ const [wasEverPresent, setWasEverPresent] = createSignal(false);
404
+ const [state, send] = useMachine(presence.machine(machineProps), {
405
+ context: machineProps
406
+ });
407
+ const api = createMemo(() => presence.connect(state, send, normalizeProps));
408
+ createEffect(() => {
409
+ const isPresent = api().isPresent;
410
+ if (isPresent) setWasEverPresent(true);
411
+ });
412
+ return createMemo(() => ({
413
+ isUnmounted: !api().isPresent && !wasEverPresent() && localProps.lazyMount || localProps.unmountOnExit && !api().isPresent && wasEverPresent(),
414
+ isPresent: api().isPresent,
415
+ presenceProps: {
416
+ ref: api().setNode,
417
+ hidden: !api().isPresent,
418
+ 'data-state': machineProps.present ? 'open' : 'closed'
419
+ }
420
+ }));
421
+ };
422
+
423
+ const Presence$1 = props => {
424
+ const [presenceProps, localProps] = splitPresenceProps(props);
425
+ const api = usePresence(presenceProps);
426
+ const mergedProps = mergeProps$2(() => api().presenceProps, localProps);
427
+ return createComponent(Show, {
428
+ get when() {
429
+ return !api().isUnmounted;
430
+ },
431
+ get children() {
432
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
433
+ "data-scope": "presence",
434
+ "data-part": "root"
435
+ }));
436
+ }
437
+ });
438
+ };
439
+
397
440
  function getErrorMessage(hook, provider) {
398
441
  return `${hook} returned \`undefined\`. Seems you forgot to wrap component within ${provider}`;
399
442
  }
@@ -418,6 +461,20 @@ function createContext(options = {}) {
418
461
  return [Context.Provider, useContext$1, Context];
419
462
  }
420
463
 
464
+ const [PresenceProvider, usePresenceContext] = createContext({
465
+ hookName: 'usePresenceContext',
466
+ providerName: '<PresenceProvider />'
467
+ });
468
+
469
+ const [PresencePropsProvider, usePresencePropsContext] = createContext({
470
+ hookName: 'usePresencePropsContext',
471
+ providerName: '<PresencePropsProvider />'
472
+ });
473
+
474
+ const Presence = Object.assign(Presence$1, {
475
+ Root: Presence$1
476
+ });
477
+
421
478
  const [AccordionProvider, useAccordionContext] = createContext({
422
479
  hookName: 'useAccordionContext',
423
480
  providerName: '<AccordionProvider />'
@@ -429,7 +486,7 @@ const [EnvironmentProvider, useEnvironmentContext] = createContext({
429
486
  strict: false
430
487
  });
431
488
 
432
- const _tmpl$$m = /*#__PURE__*/template(`<span hidden>`);
489
+ const _tmpl$$b = /*#__PURE__*/template(`<span hidden>`);
433
490
  const Environment$1 = props => {
434
491
  // eslint-disable-next-line prefer-const
435
492
  let spanRef = undefined;
@@ -440,7 +497,7 @@ const Environment$1 = props => {
440
497
  },
441
498
  get children() {
442
499
  return [memo(() => props.children), memo(() => memo(() => !!!props.value)() && (() => {
443
- const _el$ = _tmpl$$m();
500
+ const _el$ = _tmpl$$b();
444
501
  const _ref$ = spanRef;
445
502
  typeof _ref$ === "function" ? use(_ref$, _el$) : spanRef = _el$;
446
503
  return _el$;
@@ -466,13 +523,19 @@ const useAccordion = props => {
466
523
  };
467
524
 
468
525
  const Accordion$1 = props => {
469
- const [params, localProps] = createSplitProps()(props, ['collapsible', 'dir', 'disabled', 'getRootNode', 'id', 'ids', 'multiple', 'onFocusChange', 'onValueChange', 'orientation', 'value']);
470
- const api = useAccordion(params);
471
- const rootProps = mergeProps$2(() => api().rootProps, localProps);
526
+ const [presenceProps, accordionProps] = splitPresenceProps(props);
527
+ const [useAccordionProps, localProps] = createSplitProps()(accordionProps, ['collapsible', 'dir', 'disabled', 'getRootNode', 'id', 'ids', 'multiple', 'onFocusChange', 'onValueChange', 'orientation', 'value']);
528
+ const api = useAccordion(useAccordionProps);
529
+ const mergedProps = mergeProps$2(() => api().rootProps, localProps);
472
530
  return createComponent(AccordionProvider, {
473
531
  value: api,
474
532
  get children() {
475
- return createComponent(ark.div, rootProps);
533
+ return createComponent(PresencePropsProvider, {
534
+ value: presenceProps,
535
+ get children() {
536
+ return createComponent(ark.div, mergedProps);
537
+ }
538
+ });
476
539
  }
477
540
  });
478
541
  };
@@ -486,83 +549,44 @@ const [AccordionItemProvider, useAccordionItemContext] = createContext({
486
549
  });
487
550
 
488
551
  const AccordionItem = props => {
489
- const [itemProps, restProps] = createSplitProps()(props, ['value', 'disabled']);
552
+ const [itemProps, localProps] = createSplitProps()(props, ['value', 'disabled']);
490
553
  const api = useAccordionContext();
491
- const mergedProps = mergeProps$2(() => api().getItemProps(itemProps), restProps);
492
- const accordionItem = mergeProps$2(() => api().getItemState(itemProps), itemProps);
493
- const getChildren = () => runIfFn(restProps.children, () => api().getItemState(itemProps));
554
+ const presenceProps = usePresencePropsContext();
555
+ const presenceApi = usePresence(mergeProps$2(presenceProps, () => ({
556
+ present: api().getItemState(itemProps).isOpen
557
+ })));
558
+ const mergedProps = mergeProps$2(() => api().getItemProps(itemProps), localProps);
559
+ const getChildren = () => runIfFn(localProps.children, () => api().getItemState(itemProps));
494
560
  return createComponent(AccordionItemProvider, {
495
- value: accordionItem,
561
+ value: itemProps,
496
562
  get children() {
497
- return createComponent(ark.div, mergeProps$1(mergedProps, {
563
+ return createComponent(PresenceProvider, {
564
+ value: presenceApi,
498
565
  get children() {
499
- return getChildren();
566
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
567
+ get children() {
568
+ return getChildren();
569
+ }
570
+ }));
500
571
  }
501
- }));
502
- }
503
- });
504
- };
505
-
506
- const usePresence = props => {
507
- const [state, send] = useMachine(presence.machine(props), {
508
- context: props
509
- });
510
- return createMemo(() => presence.connect(state, send, normalizeProps));
511
- };
512
-
513
- const Presence$1 = props => {
514
- const [presenceProps, localProps] = createSplitProps()(props, ['onExitComplete', 'present']);
515
- const api = usePresence(presenceProps);
516
- const [wasEverPresent, setWasEverPresent] = createSignal(false);
517
- const getChildren = children(() => props.children);
518
- createEffect(() => {
519
- const isPresent = api().isPresent;
520
- if (isPresent) setWasEverPresent(true);
521
- const children = getChildren();
522
- if (children instanceof HTMLElement) {
523
- api().setNode(children);
524
- spread$1(children, {
525
- ['data-state']: presenceProps.present ? 'open' : 'closed',
526
- hidden: !api().isPresent
527
572
  });
528
573
  }
529
574
  });
530
- return memo((() => {
531
- const _c$ = memo(() => !!(!api().isPresent && !wasEverPresent() && localProps.lazyMount || localProps.unmountOnExit && !api().isPresent && wasEverPresent()));
532
- return () => _c$() ? localProps.fallback : getChildren();
533
- })());
534
575
  };
535
576
 
536
- function splitPresenceProps(props) {
537
- return createSplitProps()(props, ['fallback', 'lazyMount', 'onExitComplete', 'present', 'unmountOnExit']);
538
- }
539
-
540
- const Presence = Object.assign(Presence$1, {
541
- Root: Presence$1
542
- });
543
-
544
- const _tmpl$$l = /*#__PURE__*/template(`<div>`);
545
577
  const AccordionItemContent = props => {
546
- const [presenceProps, localProps] = splitPresenceProps(props);
547
578
  const api = useAccordionContext();
548
579
  const accordionItem = useAccordionItemContext();
549
- const mergedProps = mergeProps$2(() => api().getItemContentProps(accordionItem), localProps);
550
- return createComponent(Presence, mergeProps$1({
551
- get present() {
552
- return accordionItem.isOpen;
553
- }
554
- }, presenceProps, {
555
- get fallback() {
556
- return (() => {
557
- const _el$ = _tmpl$$l();
558
- spread$1(_el$, mergeProps$1(() => api().getItemContentProps(accordionItem)), false, false);
559
- return _el$;
560
- })();
580
+ const presenceApi = usePresenceContext();
581
+ const mergedProps = mergeProps$2(() => api().getItemContentProps(accordionItem), () => presenceApi().presenceProps, props);
582
+ return createComponent(Show, {
583
+ get when() {
584
+ return !presenceApi().isUnmounted;
561
585
  },
562
586
  get children() {
563
587
  return createComponent(ark.div, mergedProps);
564
588
  }
565
- }));
589
+ });
566
590
  };
567
591
 
568
592
  const AccordionItemIndicator = props => {
@@ -575,7 +599,12 @@ const AccordionItemIndicator = props => {
575
599
  const AccordionItemTrigger = props => {
576
600
  const api = useAccordionContext();
577
601
  const item = useAccordionItemContext();
578
- const mergedProps = mergeProps$2(() => api().getItemTriggerProps(item), props);
602
+ const presenceApi = usePresenceContext();
603
+ const mergedProps = mergeProps$2(() => api().getItemTriggerProps(item), () => ({
604
+ 'aria-controls': presenceApi().isUnmounted && null
605
+ }), props);
606
+
607
+ // @ts-expect-error we want aria-controls to be null to remove them if the popover if lazy mounted
579
608
  return createComponent(ark.button, mergedProps);
580
609
  };
581
610
 
@@ -607,25 +636,25 @@ const useAvatar = props => {
607
636
  const Avatar$1 = props => {
608
637
  const [params, localProps] = createSplitProps()(props, ['dir', 'getRootNode', 'id', 'onLoadingStatusChange']);
609
638
  const api = useAvatar(params);
610
- const rootProps = mergeProps$2(() => api().rootProps, localProps);
639
+ const mergedProps = mergeProps$2(() => api().rootProps, localProps);
611
640
  return createComponent(AvatarProvider, {
612
641
  value: api,
613
642
  get children() {
614
- return createComponent(ark.div, rootProps);
643
+ return createComponent(ark.div, mergedProps);
615
644
  }
616
645
  });
617
646
  };
618
647
 
619
648
  const AvatarFallback = props => {
620
649
  const avatar = useAvatarContext();
621
- const fallbackProps = mergeProps$2(() => avatar().fallbackProps, props);
622
- return createComponent(ark.span, fallbackProps);
650
+ const mergedProps = mergeProps$2(() => avatar().fallbackProps, props);
651
+ return createComponent(ark.span, mergedProps);
623
652
  };
624
653
 
625
654
  const AvatarImage = props => {
626
655
  const avatar = useAvatarContext();
627
- const imageProps = mergeProps$2(() => avatar().imageProps, props);
628
- return createComponent(ark.img, imageProps);
656
+ const mergedProps = mergeProps$2(() => avatar().imageProps, props);
657
+ return createComponent(ark.img, mergedProps);
629
658
  };
630
659
 
631
660
  const Avatar = Object.assign(Avatar$1, {
@@ -653,12 +682,17 @@ const useCarousel = props => {
653
682
 
654
683
  const Carousel$1 = props => {
655
684
  const [useCarouselProps, localProps] = createSplitProps()(props, ['align', 'dir', 'getRootNode', 'id', 'ids', 'index', 'loop', 'onIndexChange', 'orientation', 'slidesPerView', 'spacing']);
656
- const carousel = useCarousel(useCarouselProps);
657
- const rootProps = mergeProps$2(() => carousel().rootProps, localProps);
685
+ const api = useCarousel(useCarouselProps);
686
+ const mergedProps = mergeProps$2(() => api().rootProps, localProps);
687
+ const getChildren = () => runIfFn(localProps.children, api);
658
688
  return createComponent(CarouselProvider, {
659
- value: carousel,
689
+ value: api,
660
690
  get children() {
661
- return createComponent(ark.div, rootProps);
691
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
692
+ get children() {
693
+ return getChildren();
694
+ }
695
+ }));
662
696
  }
663
697
  });
664
698
  };
@@ -758,12 +792,12 @@ const Checkbox$1 = props => {
758
792
  });
759
793
  };
760
794
 
761
- const _tmpl$$k = /*#__PURE__*/template(`<input>`);
795
+ const _tmpl$$a = /*#__PURE__*/template(`<input>`);
762
796
  const CheckboxControl = props => {
763
797
  const api = useCheckboxContext();
764
798
  const mergedProps = mergeProps$2(() => api().controlProps, props);
765
799
  return [createComponent(ark.div, mergedProps), (() => {
766
- const _el$ = _tmpl$$k();
800
+ const _el$ = _tmpl$$a();
767
801
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
768
802
  return _el$;
769
803
  })()];
@@ -777,8 +811,8 @@ const CheckboxIndicator = props => {
777
811
 
778
812
  const CheckboxLabel = props => {
779
813
  const checkbox = useCheckboxContext();
780
- const labelProps = mergeProps$2(() => checkbox().labelProps, props);
781
- return createComponent(ark.span, labelProps);
814
+ const mergedProps = mergeProps$2(() => checkbox().labelProps, props);
815
+ return createComponent(ark.span, mergedProps);
782
816
  };
783
817
 
784
818
  const Checkbox = Object.assign(Checkbox$1, {
@@ -807,21 +841,30 @@ const useColorPicker = props => {
807
841
  return createMemo(() => colorPicker.connect(state, send, normalizeProps));
808
842
  };
809
843
 
810
- const _tmpl$$j = /*#__PURE__*/template(`<input>`);
844
+ const _tmpl$$9 = /*#__PURE__*/template(`<input>`);
811
845
  const ColorPicker$1 = props => {
812
- const [colorPickerProps, localProps] = createSplitProps()(props, ['autoFocus', 'dir', 'disabled', 'getRootNode', 'id', 'ids', 'initialFocusEl', 'name', 'name', 'onFocusOutside', 'onInteractOutside', 'onOpenChange', 'onPointerDownOutside', 'onValueChange', 'onValueChangeEnd', 'open', 'positioning', 'readOnly', 'value']);
813
- const api = useColorPicker(colorPickerProps);
846
+ const [presenceProps, colorPickerProps] = splitPresenceProps(props);
847
+ const [useColorPickerProps, localProps] = createSplitProps()(colorPickerProps, ['autoFocus', 'dir', 'disabled', 'getRootNode', 'id', 'ids', 'initialFocusEl', 'name', 'name', 'onFocusOutside', 'onInteractOutside', 'onOpenChange', 'onPointerDownOutside', 'onValueChange', 'onValueChangeEnd', 'open', 'positioning', 'readOnly', 'value']);
848
+ const api = useColorPicker(useColorPickerProps);
849
+ const apiPresence = usePresence(mergeProps$2(presenceProps, () => ({
850
+ present: api().isOpen
851
+ })));
814
852
  const mergedProps = mergeProps$2(() => api().rootProps, localProps);
815
853
  const getChildren = () => runIfFn(localProps.children, api);
816
854
  return createComponent(ColorPickerProvider, {
817
855
  value: api,
818
856
  get children() {
819
- return [createComponent(ark.div, mergeProps$1(mergedProps, {
857
+ return [createComponent(PresenceProvider, {
858
+ value: apiPresence,
820
859
  get children() {
821
- return getChildren();
860
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
861
+ get children() {
862
+ return getChildren();
863
+ }
864
+ }));
822
865
  }
823
- })), (() => {
824
- const _el$ = _tmpl$$j();
866
+ }), (() => {
867
+ const _el$ = _tmpl$$9();
825
868
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
826
869
  return _el$;
827
870
  })()];
@@ -898,27 +941,18 @@ const ColorPickerChannelSliderTrack = props => {
898
941
  return createComponent(ark.div, mergedProps);
899
942
  };
900
943
 
901
- const _tmpl$$i = /*#__PURE__*/template(`<div>`);
902
944
  const ColorPickerContent = props => {
903
- const [presenceProps, localProps] = splitPresenceProps(props);
904
945
  const api = useColorPickerContext();
905
- const mergedProps = mergeProps$2(() => api().contentProps, localProps);
906
- return createComponent(Presence, mergeProps$1({
907
- get present() {
908
- return api().isOpen;
909
- }
910
- }, presenceProps, {
911
- get fallback() {
912
- return (() => {
913
- const _el$ = _tmpl$$i();
914
- spread$1(_el$, mergeProps$1(() => api().contentProps), false, false);
915
- return _el$;
916
- })();
946
+ const presenceApi = usePresenceContext();
947
+ const mergedProps = mergeProps$2(() => api().contentProps, () => presenceApi().presenceProps, props);
948
+ return createComponent(Show, {
949
+ get when() {
950
+ return !presenceApi().isUnmounted;
917
951
  },
918
952
  get children() {
919
953
  return createComponent(ark.div, mergedProps);
920
954
  }
921
- }));
955
+ });
922
956
  };
923
957
 
924
958
  const ColorPickerControl = props => {
@@ -941,8 +975,16 @@ const ColorPickerLabel = props => {
941
975
 
942
976
  const ColorPickerPositioner = props => {
943
977
  const api = useColorPickerContext();
978
+ const presenceApi = usePresenceContext();
944
979
  const mergedProps = mergeProps$2(() => api().positionerProps, props);
945
- return createComponent(ark.div, mergedProps);
980
+ return createComponent(Show, {
981
+ get when() {
982
+ return !presenceApi().isUnmounted;
983
+ },
984
+ get children() {
985
+ return createComponent(ark.div, mergedProps);
986
+ }
987
+ });
946
988
  };
947
989
 
948
990
  const ColorPickerSwatch = props => {
@@ -988,6 +1030,25 @@ const ColorPickerValueText = props => {
988
1030
  }));
989
1031
  };
990
1032
 
1033
+ const ColorPickerView = props => {
1034
+ const api = useColorPickerContext();
1035
+ const mergedProps = mergeProps$2(() => colorPickerAnatomy.build().view.attrs, props);
1036
+
1037
+ // TODO @segunadebayo
1038
+ return createComponent(Show, {
1039
+ get when() {
1040
+ return api().format === props.format;
1041
+ },
1042
+ get children() {
1043
+ return createComponent(ark.div, mergeProps$1({
1044
+ get ["data-format"]() {
1045
+ return props.format;
1046
+ }
1047
+ }, mergedProps));
1048
+ }
1049
+ });
1050
+ };
1051
+
991
1052
  const ColorPicker = Object.assign(ColorPicker$1, {
992
1053
  Root: ColorPicker$1,
993
1054
  Area: ColorPickerArea,
@@ -1007,7 +1068,8 @@ const ColorPicker = Object.assign(ColorPicker$1, {
1007
1068
  SwatchTrigger: ColorPickerSwatchTrigger,
1008
1069
  TransparencyGrid: ColorPickerTransparencyGrid,
1009
1070
  Trigger: ColorPickerTrigger,
1010
- ValueText: ColorPickerValueText
1071
+ ValueText: ColorPickerValueText,
1072
+ View: ColorPickerView
1011
1073
  });
1012
1074
 
1013
1075
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -1032,18 +1094,27 @@ const useCombobox = props => {
1032
1094
  };
1033
1095
 
1034
1096
  const Combobox$1 = props => {
1035
- const [selectProps, localProps] = createSplitProps()(props, ['allowCustomValue', 'autoFocus', 'closeOnSelect', 'dir', 'disabled', 'form', 'getRootNode', 'highlightedValue', 'id', 'ids', 'inputBehavior', 'inputValue', 'invalid', 'isItemDisabled', 'items', 'itemToString', 'itemToValue', 'loop', 'multiple', 'name', 'onFocusOutside', 'onHighlightChange', 'onInputValueChange', 'onInteractOutside', 'onOpenChange', 'onOpenChange', 'onPointerDownOutside', 'onValueChange', 'openOnClick', 'placeholder', 'positioning', 'readOnly', 'selectionBehavior', 'selectOnBlur', 'translations', 'value']);
1036
- const api = useCombobox(selectProps);
1097
+ const [presenceProps, comboboxProps] = splitPresenceProps(props);
1098
+ const [useComboboxProps, localProps] = createSplitProps()(comboboxProps, ['allowCustomValue', 'autoFocus', 'closeOnSelect', 'dir', 'disabled', 'form', 'getRootNode', 'highlightedValue', 'id', 'ids', 'inputBehavior', 'inputValue', 'invalid', 'isItemDisabled', 'items', 'itemToString', 'itemToValue', 'loop', 'multiple', 'name', 'onFocusOutside', 'onHighlightChange', 'onInputValueChange', 'onInteractOutside', 'onOpenChange', 'onOpenChange', 'onPointerDownOutside', 'onValueChange', 'openOnClick', 'placeholder', 'positioning', 'readOnly', 'selectionBehavior', 'selectOnBlur', 'translations', 'value']);
1099
+ const api = useCombobox(useComboboxProps);
1100
+ const apiPresence = usePresence(mergeProps$2(presenceProps, () => ({
1101
+ present: api().isOpen
1102
+ })));
1037
1103
  const mergedProps = mergeProps$2(() => api().rootProps, localProps);
1038
1104
  const getChildren = () => runIfFn(localProps.children, api);
1039
1105
  return createComponent(ComboboxProvider, {
1040
1106
  value: api,
1041
1107
  get children() {
1042
- return createComponent(ark.div, mergeProps$1(mergedProps, {
1108
+ return createComponent(PresenceProvider, {
1109
+ value: apiPresence,
1043
1110
  get children() {
1044
- return getChildren();
1111
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
1112
+ get children() {
1113
+ return getChildren();
1114
+ }
1115
+ }));
1045
1116
  }
1046
- }));
1117
+ });
1047
1118
  }
1048
1119
  });
1049
1120
  };
@@ -1054,27 +1125,18 @@ const ComboboxClearTrigger = props => {
1054
1125
  return createComponent(ark.button, mergedProps);
1055
1126
  };
1056
1127
 
1057
- const _tmpl$$h = /*#__PURE__*/template(`<div>`);
1058
1128
  const ComboboxContent = props => {
1059
- const [presenceProps, localProps] = splitPresenceProps(props);
1060
1129
  const api = useComboboxContext();
1061
- const mergedProps = mergeProps$2(() => api().contentProps, localProps);
1062
- return createComponent(Presence, mergeProps$1({
1063
- get present() {
1064
- return api().isOpen;
1065
- }
1066
- }, presenceProps, {
1067
- get fallback() {
1068
- return (() => {
1069
- const _el$ = _tmpl$$h();
1070
- spread$1(_el$, mergeProps$1(() => api().contentProps), false, false);
1071
- return _el$;
1072
- })();
1130
+ const presenceApi = usePresenceContext();
1131
+ const mergedProps = mergeProps$2(() => api().contentProps, () => presenceApi().presenceProps, props);
1132
+ return createComponent(Show, {
1133
+ get when() {
1134
+ return !presenceApi().isUnmounted;
1073
1135
  },
1074
1136
  get children() {
1075
1137
  return createComponent(ark.div, mergedProps);
1076
1138
  }
1077
- }));
1139
+ });
1078
1140
  };
1079
1141
 
1080
1142
  const ComboboxControl = props => {
@@ -1148,9 +1210,17 @@ const ComboboxLabel = props => {
1148
1210
  };
1149
1211
 
1150
1212
  const ComboboxPositioner = props => {
1151
- const combobox = useComboboxContext();
1152
- const mergedProps = mergeProps$2(() => combobox().positionerProps, props);
1153
- return createComponent(ark.div, mergedProps);
1213
+ const api = useComboboxContext();
1214
+ const presenceApi = usePresenceContext();
1215
+ const mergedProps = mergeProps$2(() => api().positionerProps, props);
1216
+ return createComponent(Show, {
1217
+ get when() {
1218
+ return !presenceApi().isUnmounted;
1219
+ },
1220
+ get children() {
1221
+ return createComponent(ark.div, mergedProps);
1222
+ }
1223
+ });
1154
1224
  };
1155
1225
 
1156
1226
  const ComboboxTrigger = props => {
@@ -1196,18 +1266,27 @@ const useDatePicker = props => {
1196
1266
  };
1197
1267
 
1198
1268
  const DatePicker$1 = props => {
1199
- const [datePickerProps, localProps] = createSplitProps()(props, ['closeOnSelect', 'dir', 'disabled', 'fixedWeeks', 'focusedValue', 'format', 'getRootNode', 'id', 'ids', 'isDateUnavailable', 'isDateUnavailable', 'locale', 'max', 'messages', 'min', 'modal', 'name', 'numOfMonths', 'onFocusChange', 'onOpenChange', 'onValueChange', 'onViewChange', 'open', 'parse', 'positioning', 'readOnly', 'selectionMode', 'startOfWeek', 'timeZone', 'value', 'view']);
1200
- const api = useDatePicker(datePickerProps);
1269
+ const [presenceProps, datePickerProps] = splitPresenceProps(props);
1270
+ const [useDatePickerProps, localProps] = createSplitProps()(datePickerProps, ['closeOnSelect', 'dir', 'disabled', 'fixedWeeks', 'focusedValue', 'format', 'getRootNode', 'id', 'ids', 'isDateUnavailable', 'isDateUnavailable', 'locale', 'max', 'messages', 'min', 'modal', 'name', 'numOfMonths', 'onFocusChange', 'onOpenChange', 'onValueChange', 'onViewChange', 'open', 'parse', 'positioning', 'readOnly', 'selectionMode', 'startOfWeek', 'timeZone', 'value', 'view']);
1271
+ const api = useDatePicker(useDatePickerProps);
1272
+ const apiPresence = usePresence(mergeProps$2(presenceProps, () => ({
1273
+ present: api().isOpen
1274
+ })));
1201
1275
  const mergedProps = mergeProps$2(() => api().rootProps, localProps);
1202
1276
  const getChildren = () => runIfFn(localProps.children, api);
1203
1277
  return createComponent(DatePickerProvider, {
1204
1278
  value: api,
1205
1279
  get children() {
1206
- return createComponent(ark.div, mergeProps$1(mergedProps, {
1280
+ return createComponent(PresenceProvider, {
1281
+ value: apiPresence,
1207
1282
  get children() {
1208
- return getChildren();
1283
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
1284
+ get children() {
1285
+ return getChildren();
1286
+ }
1287
+ }));
1209
1288
  }
1210
- }));
1289
+ });
1211
1290
  }
1212
1291
  });
1213
1292
  };
@@ -1218,27 +1297,18 @@ const DatePickerClearTrigger = props => {
1218
1297
  return createComponent(ark.button, mergedProps);
1219
1298
  };
1220
1299
 
1221
- const _tmpl$$g = /*#__PURE__*/template(`<div>`);
1222
1300
  const DatePickerContent = props => {
1223
- const [presenceProps, localProps] = splitPresenceProps(props);
1224
1301
  const api = useDatePickerContext();
1225
- const mergedProps = mergeProps$2(() => api().contentProps, localProps);
1226
- return createComponent(Presence, mergeProps$1({
1227
- get present() {
1228
- return api().isOpen;
1229
- }
1230
- }, presenceProps, {
1231
- get fallback() {
1232
- return (() => {
1233
- const _el$ = _tmpl$$g();
1234
- spread$1(_el$, mergeProps$1(() => api().contentProps), false, false);
1235
- return _el$;
1236
- })();
1302
+ const presenceApi = usePresenceContext();
1303
+ const mergedProps = mergeProps$2(() => api().contentProps, () => presenceApi().presenceProps, props);
1304
+ return createComponent(Show, {
1305
+ get when() {
1306
+ return !presenceApi().isUnmounted;
1237
1307
  },
1238
1308
  get children() {
1239
1309
  return createComponent(ark.div, mergedProps);
1240
1310
  }
1241
- }));
1311
+ });
1242
1312
  };
1243
1313
 
1244
1314
  const DatePickerControl = props => {
@@ -1259,14 +1329,14 @@ const DatePickerLabel = props => {
1259
1329
  return createComponent(ark.label, mergedProps);
1260
1330
  };
1261
1331
 
1262
- const _tmpl$$f = /*#__PURE__*/template(`<option>`);
1332
+ const _tmpl$$8 = /*#__PURE__*/template(`<option>`);
1263
1333
  const DatePickerMonthSelect = props => {
1264
1334
  const api = useDatePickerContext();
1265
1335
  const mergedProps = mergeProps$2(() => api().monthSelectProps, props);
1266
1336
  return createComponent(ark.select, mergeProps$1(mergedProps, {
1267
1337
  get children() {
1268
1338
  return api().getMonths().map(month => (() => {
1269
- const _el$ = _tmpl$$f();
1339
+ const _el$ = _tmpl$$8();
1270
1340
  insert(_el$, () => month.label);
1271
1341
  effect(() => _el$.value = month.value);
1272
1342
  return _el$;
@@ -1289,8 +1359,16 @@ const DatePickerNextTrigger = props => {
1289
1359
 
1290
1360
  const DatePickerPositioner = props => {
1291
1361
  const api = useDatePickerContext();
1362
+ const presenceApi = usePresenceContext();
1292
1363
  const mergedProps = mergeProps$2(() => api().positionerProps, props);
1293
- return createComponent(ark.div, mergedProps);
1364
+ return createComponent(Show, {
1365
+ get when() {
1366
+ return !presenceApi().isUnmounted;
1367
+ },
1368
+ get children() {
1369
+ return createComponent(ark.div, mergedProps);
1370
+ }
1371
+ });
1294
1372
  };
1295
1373
 
1296
1374
  const DatePickerPrevTrigger = props => {
@@ -1441,7 +1519,7 @@ const DatePickerViewTrigger = props => {
1441
1519
  return createComponent(ark.button, mergedProps);
1442
1520
  };
1443
1521
 
1444
- const _tmpl$$e = /*#__PURE__*/template(`<option>`);
1522
+ const _tmpl$$7 = /*#__PURE__*/template(`<option>`);
1445
1523
  const DatePickerYearSelect = props => {
1446
1524
  const api = useDatePickerContext();
1447
1525
  const mergedProps = mergeProps$2(() => api().yearSelectProps, props);
@@ -1451,7 +1529,7 @@ const DatePickerYearSelect = props => {
1451
1529
  from: 1_000,
1452
1530
  to: 4_000
1453
1531
  }).map(year => (() => {
1454
- const _el$ = _tmpl$$e();
1532
+ const _el$ = _tmpl$$7();
1455
1533
  _el$.value = year;
1456
1534
  insert(_el$, year);
1457
1535
  return _el$;
@@ -1511,91 +1589,103 @@ const useDialog = props => {
1511
1589
  };
1512
1590
 
1513
1591
  const Dialog$1 = props => {
1514
- const [dialogParams, localProps] = createSplitProps()(props, ['aria-label', 'closeOnEscapeKeyDown', 'closeOnInteractOutside', 'dir', 'finalFocusEl', 'getRootNode', 'id', 'ids', 'initialFocusEl', 'modal', 'onEscapeKeyDown', 'onFocusOutside', 'onInteractOutside', 'onOpenChange', 'onPointerDownOutside', 'open', 'preventScroll', 'restoreFocus', 'role', 'trapFocus']);
1515
- const api = useDialog(dialogParams);
1592
+ const [presenceProps, dialogProps] = splitPresenceProps(props);
1593
+ const [useDialogProps, localProps] = createSplitProps()(dialogProps, ['aria-label', 'closeOnEscapeKeyDown', 'closeOnInteractOutside', 'dir', 'finalFocusEl', 'getRootNode', 'id', 'ids', 'initialFocusEl', 'modal', 'onEscapeKeyDown', 'onFocusOutside', 'onInteractOutside', 'onOpenChange', 'onPointerDownOutside', 'open', 'preventScroll', 'restoreFocus', 'role', 'trapFocus']);
1594
+ const api = useDialog(useDialogProps);
1595
+ const apiPresence = usePresence(mergeProps$2(presenceProps, () => ({
1596
+ present: api().isOpen
1597
+ })));
1516
1598
  const getChildren = () => runIfFn(localProps.children, api);
1517
1599
  return createComponent(DialogProvider, {
1518
1600
  value: api,
1519
1601
  get children() {
1520
- return getChildren();
1602
+ return createComponent(PresencePropsProvider, {
1603
+ value: presenceProps,
1604
+ get children() {
1605
+ return createComponent(PresenceProvider, {
1606
+ value: apiPresence,
1607
+ get children() {
1608
+ return getChildren();
1609
+ }
1610
+ });
1611
+ }
1612
+ });
1521
1613
  }
1522
1614
  });
1523
1615
  };
1524
1616
 
1525
- const _tmpl$$d = /*#__PURE__*/template(`<div>`);
1526
1617
  const DialogBackdrop = props => {
1527
- const [presenceProps, localProps] = splitPresenceProps(props);
1528
1618
  const api = useDialogContext();
1529
- const mergedProps = mergeProps$2(() => api().backdropProps, localProps);
1530
- return createComponent(Presence, mergeProps$1({
1531
- get present() {
1532
- return api().isOpen;
1533
- }
1534
- }, presenceProps, {
1535
- get fallback() {
1536
- return (() => {
1537
- const _el$ = _tmpl$$d();
1538
- spread$1(_el$, mergeProps$1(() => api().backdropProps), false, false);
1539
- return _el$;
1540
- })();
1619
+ const presenceProps = usePresencePropsContext();
1620
+ const presenceApi = usePresence(mergeProps$2(presenceProps, () => ({
1621
+ present: api().isOpen
1622
+ })));
1623
+ const mergedProps = mergeProps$2(() => api().backdropProps, () => presenceApi().presenceProps, props);
1624
+ return createComponent(Show, {
1625
+ get when() {
1626
+ return !presenceApi().isUnmounted;
1541
1627
  },
1542
1628
  get children() {
1543
1629
  return createComponent(ark.div, mergedProps);
1544
1630
  }
1545
- }));
1631
+ });
1546
1632
  };
1547
1633
 
1548
1634
  const DialogCloseTrigger = props => {
1549
1635
  const dialog = useDialogContext();
1550
- const triggerProps = mergeProps$2(() => dialog().triggerProps, props);
1551
- return createComponent(ark.button, triggerProps);
1636
+ const mergedProps = mergeProps$2(() => dialog().triggerProps, props);
1637
+ return createComponent(ark.button, mergedProps);
1552
1638
  };
1553
1639
 
1554
- const _tmpl$$c = /*#__PURE__*/template(`<div>`);
1555
1640
  const DialogContent = props => {
1556
- const [presenceProps, localProps] = splitPresenceProps(props);
1557
1641
  const api = useDialogContext();
1558
- const mergedProps = mergeProps$2(() => api().contentProps, localProps);
1559
- return createComponent(Presence, mergeProps$1({
1560
- get present() {
1561
- return api().isOpen;
1562
- }
1563
- }, presenceProps, {
1564
- get fallback() {
1565
- return (() => {
1566
- const _el$ = _tmpl$$c();
1567
- spread$1(_el$, mergeProps$1(() => api().contentProps), false, false);
1568
- return _el$;
1569
- })();
1642
+ const presenceApi = usePresenceContext();
1643
+ const mergedProps = mergeProps$2(() => api().contentProps, () => presenceApi().presenceProps, props);
1644
+ return createComponent(Show, {
1645
+ get when() {
1646
+ return !presenceApi().isUnmounted;
1570
1647
  },
1571
1648
  get children() {
1572
1649
  return createComponent(ark.div, mergedProps);
1573
1650
  }
1574
- }));
1651
+ });
1575
1652
  };
1576
1653
 
1577
1654
  const DialogDescription = props => {
1578
1655
  const dialog = useDialogContext();
1579
- const descriptionProps = mergeProps$2(() => dialog().descriptionProps, props);
1580
- return createComponent(ark.p, descriptionProps);
1656
+ const mergedProps = mergeProps$2(() => dialog().descriptionProps, props);
1657
+ return createComponent(ark.p, mergedProps);
1581
1658
  };
1582
1659
 
1583
1660
  const DialogPositioner = props => {
1584
- const dialog = useDialogContext();
1585
- const mergedProps = mergeProps$2(() => dialog().positionerProps, props);
1586
- return createComponent(ark.div, mergedProps);
1661
+ const api = useDialogContext();
1662
+ const presenceApi = usePresenceContext();
1663
+ const mergedProps = mergeProps$2(() => api().positionerProps, props);
1664
+ return createComponent(Show, {
1665
+ get when() {
1666
+ return !presenceApi().isUnmounted;
1667
+ },
1668
+ get children() {
1669
+ return createComponent(ark.div, mergedProps);
1670
+ }
1671
+ });
1587
1672
  };
1588
1673
 
1589
1674
  const DialogTitle = props => {
1590
1675
  const dialog = useDialogContext();
1591
- const titleProps = mergeProps$2(() => dialog().titleProps, props);
1592
- return createComponent(ark.h2, titleProps);
1676
+ const mergedProps = mergeProps$2(() => dialog().titleProps, props);
1677
+ return createComponent(ark.h2, mergedProps);
1593
1678
  };
1594
1679
 
1595
1680
  const DialogTrigger = props => {
1596
- const dialog = useDialogContext();
1597
- const triggerProps = mergeProps$2(() => dialog().triggerProps, props);
1598
- return createComponent(ark.button, triggerProps);
1681
+ const api = useDialogContext();
1682
+ const presenceApi = usePresenceContext();
1683
+ const mergedProps = mergeProps$2(() => api().triggerProps, () => ({
1684
+ 'aria-controls': presenceApi().isUnmounted && null
1685
+ }), props);
1686
+
1687
+ // @ts-expect-error we want aria-controls to be null to remove them if the popover if lazy mounted
1688
+ return createComponent(ark.button, mergedProps);
1599
1689
  };
1600
1690
 
1601
1691
  const Dialog = Object.assign(Dialog$1, {
@@ -1630,12 +1720,12 @@ const Editable$1 = props => {
1630
1720
  const [useEditableProps, restProps] = createSplitProps()(props, ['activationMode', 'autoResize', 'dir', 'disabled', 'finalFocusEl', 'form', 'getRootNode', 'id', 'ids', 'invalid', 'maxLength', 'name', 'onEdit', 'onFocusOutside', 'onInteractOutside', 'onPointerDownOutside', 'onValueChange', 'onValueCommit', 'onValueRevert', 'placeholder', 'readOnly', 'selectOnFocus', 'startWithEditView', 'submitMode', 'translations', 'value']);
1631
1721
  const editable = useEditable(useEditableProps);
1632
1722
  const [childrenProps, localProps] = splitProps(restProps, ['children']);
1633
- const rootProps = mergeProps$2(() => editable().rootProps, localProps);
1723
+ const mergedProps = mergeProps$2(() => editable().rootProps, localProps);
1634
1724
  const getChildren = () => runIfFn(childrenProps.children, editable);
1635
1725
  return createComponent(EditableProvider, {
1636
1726
  value: editable,
1637
1727
  get children() {
1638
- return createComponent(ark.div, mergeProps$1(rootProps, {
1728
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
1639
1729
  get children() {
1640
1730
  return getChildren();
1641
1731
  }
@@ -1646,50 +1736,50 @@ const Editable$1 = props => {
1646
1736
 
1647
1737
  const EditableArea = props => {
1648
1738
  const editable = useEditableContext();
1649
- const areaProps = mergeProps$2(() => editable().areaProps, props);
1650
- return createComponent(ark.div, areaProps);
1739
+ const mergedProps = mergeProps$2(() => editable().areaProps, props);
1740
+ return createComponent(ark.div, mergedProps);
1651
1741
  };
1652
1742
 
1653
1743
  const EditableCancelTrigger = props => {
1654
1744
  const editable = useEditableContext();
1655
- const triggerProps = mergeProps$2(() => editable().cancelTriggerProps, props);
1656
- return createComponent(ark.button, triggerProps);
1745
+ const mergedProps = mergeProps$2(() => editable().cancelTriggerProps, props);
1746
+ return createComponent(ark.button, mergedProps);
1657
1747
  };
1658
1748
 
1659
1749
  const EditableControl = props => {
1660
1750
  const editable = useEditableContext();
1661
- const controlProps = mergeProps$2(() => editable().controlProps, props);
1662
- return createComponent(ark.div, controlProps);
1751
+ const mergedProps = mergeProps$2(() => editable().controlProps, props);
1752
+ return createComponent(ark.div, mergedProps);
1663
1753
  };
1664
1754
 
1665
1755
  const EditableEditTrigger = props => {
1666
1756
  const editable = useEditableContext();
1667
- const triggerProps = mergeProps$2(() => editable().editTriggerProps, props);
1668
- return createComponent(ark.button, triggerProps);
1757
+ const mergedProps = mergeProps$2(() => editable().editTriggerProps, props);
1758
+ return createComponent(ark.button, mergedProps);
1669
1759
  };
1670
1760
 
1671
1761
  const EditableInput = props => {
1672
1762
  const editable = useEditableContext();
1673
- const inputProps = mergeProps$2(() => editable().inputProps, props);
1674
- return createComponent(ark.input, inputProps);
1763
+ const mergedProps = mergeProps$2(() => editable().inputProps, props);
1764
+ return createComponent(ark.input, mergedProps);
1675
1765
  };
1676
1766
 
1677
1767
  const EditableLabel = props => {
1678
1768
  const editable = useEditableContext();
1679
- const labelProps = mergeProps$2(() => editable().labelProps, props);
1680
- return createComponent(ark.label, labelProps);
1769
+ const mergedProps = mergeProps$2(() => editable().labelProps, props);
1770
+ return createComponent(ark.label, mergedProps);
1681
1771
  };
1682
1772
 
1683
1773
  const EditablePreview = props => {
1684
1774
  const editable = useEditableContext();
1685
- const previewProps = mergeProps$2(() => editable().previewProps, props);
1686
- return createComponent(ark.span, previewProps);
1775
+ const mergedProps = mergeProps$2(() => editable().previewProps, props);
1776
+ return createComponent(ark.span, mergedProps);
1687
1777
  };
1688
1778
 
1689
1779
  const EditableSubmitTrigger = props => {
1690
1780
  const dialog = useEditableContext();
1691
- const triggerProps = mergeProps$2(() => dialog().submitTriggerProps, props);
1692
- return createComponent(ark.button, triggerProps);
1781
+ const mergedProps = mergeProps$2(() => dialog().submitTriggerProps, props);
1782
+ return createComponent(ark.button, mergedProps);
1693
1783
  };
1694
1784
 
1695
1785
  const Editable = Object.assign(Editable$1, {
@@ -1722,62 +1812,70 @@ const useHoverCard = props => {
1722
1812
  };
1723
1813
 
1724
1814
  const HoverCard$1 = props => {
1725
- const [hoverCardProps, localProps] = createSplitProps()(props, ['closeDelay', 'dir', 'getRootNode', 'id', 'ids', 'onOpenChange', 'open', 'openDelay', 'positioning']);
1726
- const api = useHoverCard(hoverCardProps);
1815
+ const [presenceProps, hoverCardProps] = splitPresenceProps(props);
1816
+ const [useHoverCardProps, localProps] = createSplitProps()(hoverCardProps, ['closeDelay', 'dir', 'getRootNode', 'id', 'ids', 'onOpenChange', 'open', 'openDelay', 'positioning']);
1817
+ const api = useHoverCard(useHoverCardProps);
1818
+ const apiPresence = usePresence(mergeProps$2(presenceProps, () => ({
1819
+ present: api().isOpen
1820
+ })));
1727
1821
  const getChildren = () => runIfFn(localProps.children, api);
1728
1822
  return createComponent(HoverCardProvider, {
1729
1823
  value: api,
1730
1824
  get children() {
1731
- return getChildren();
1825
+ return createComponent(PresenceProvider, {
1826
+ value: apiPresence,
1827
+ get children() {
1828
+ return getChildren();
1829
+ }
1830
+ });
1732
1831
  }
1733
1832
  });
1734
1833
  };
1735
1834
 
1736
1835
  const HoverCardArrow = props => {
1737
1836
  const hoverCard = useHoverCardContext();
1738
- const arrowProps = mergeProps$2(() => hoverCard().arrowProps, props);
1739
- return createComponent(ark.div, arrowProps);
1837
+ const mergedProps = mergeProps$2(() => hoverCard().arrowProps, props);
1838
+ return createComponent(ark.div, mergedProps);
1740
1839
  };
1741
1840
 
1742
1841
  const HoverCardArrowTip = props => {
1743
1842
  const hoverCard = useHoverCardContext();
1744
- const tipProps = mergeProps$2(() => hoverCard().arrowTipProps, props);
1745
- return createComponent(ark.div, tipProps);
1843
+ const mergedProps = mergeProps$2(() => hoverCard().arrowTipProps, props);
1844
+ return createComponent(ark.div, mergedProps);
1746
1845
  };
1747
1846
 
1748
- const _tmpl$$b = /*#__PURE__*/template(`<div>`);
1749
1847
  const HoverCardContent = props => {
1750
- const [presenceProps, localProps] = splitPresenceProps(props);
1751
1848
  const api = useHoverCardContext();
1752
- const mergedProps = mergeProps$2(() => api().contentProps, localProps);
1753
- return createComponent(Presence, mergeProps$1({
1754
- get present() {
1755
- return api().isOpen;
1756
- }
1757
- }, presenceProps, {
1758
- get fallback() {
1759
- return (() => {
1760
- const _el$ = _tmpl$$b();
1761
- spread$1(_el$, mergeProps$1(() => api().contentProps), false, false);
1762
- return _el$;
1763
- })();
1849
+ const presenceApi = usePresenceContext();
1850
+ const mergedProps = mergeProps$2(() => api().contentProps, () => presenceApi().presenceProps, props);
1851
+ return createComponent(Show, {
1852
+ get when() {
1853
+ return !presenceApi().isUnmounted;
1764
1854
  },
1765
1855
  get children() {
1766
1856
  return createComponent(ark.div, mergedProps);
1767
1857
  }
1768
- }));
1858
+ });
1769
1859
  };
1770
1860
 
1771
1861
  const HoverCardPositioner = props => {
1772
- const hoverCard = useHoverCardContext();
1773
- const positionerProps = mergeProps$2(() => hoverCard().positionerProps, props);
1774
- return createComponent(ark.div, positionerProps);
1862
+ const api = useHoverCardContext();
1863
+ const presenceApi = usePresenceContext();
1864
+ const mergedProps = mergeProps$2(() => api().positionerProps, props);
1865
+ return createComponent(Show, {
1866
+ get when() {
1867
+ return !presenceApi().isUnmounted;
1868
+ },
1869
+ get children() {
1870
+ return createComponent(ark.div, mergedProps);
1871
+ }
1872
+ });
1775
1873
  };
1776
1874
 
1777
1875
  const HoverCardTrigger = props => {
1778
1876
  const hoverCard = useHoverCardContext();
1779
- const triggerProps = mergeProps$2(() => hoverCard().triggerProps, props);
1780
- return createComponent(ark.button, triggerProps);
1877
+ const mergedProps = mergeProps$2(() => hoverCard().triggerProps, props);
1878
+ return createComponent(ark.button, mergedProps);
1781
1879
  };
1782
1880
 
1783
1881
  const HoverCard = Object.assign(HoverCard$1, {
@@ -1821,25 +1919,22 @@ const useMenu = props => {
1821
1919
  };
1822
1920
 
1823
1921
  const Menu$1 = props => {
1824
- const [menuParams, restProps] = createSplitProps()(props, ['anchorPoint', 'aria-label', 'closeOnSelect', 'dir', 'getRootNode', 'highlightedId', 'id', 'ids', 'loop', 'onFocusOutside', 'onInteractOutside', 'onOpenChange', 'onPointerDownOutside', 'onSelect', 'onValueChange', 'positioning', 'value']);
1922
+ const [presenceProps, menuProps] = splitPresenceProps(props);
1923
+ const [useMenuProps, localProps] = createSplitProps()(menuProps, ['anchorPoint', 'aria-label', 'closeOnSelect', 'dir', 'getRootNode', 'highlightedId', 'id', 'ids', 'loop', 'onFocusOutside', 'onInteractOutside', 'onOpenChange', 'onPointerDownOutside', 'onSelect', 'onValueChange', 'open', 'positioning', 'value']);
1825
1924
  const parentMenu = useMenuContext();
1826
1925
  const parentMachine = useMenuMachineContext();
1827
- const menu = useMenu(menuParams);
1926
+ const menu = useMenu(useMenuProps);
1927
+ const apiPresence = usePresence(mergeProps$2(presenceProps, () => ({
1928
+ present: menu().api().isOpen
1929
+ })));
1828
1930
  createEffect(() => {
1829
1931
  if (!parentMachine) return;
1830
1932
  parentMenu?.().setChild(menu().machine);
1831
1933
  menu().api().setParent(parentMachine());
1832
1934
  });
1833
- createEffect(() => {
1834
- if (!restProps.isOpen) return;
1835
- restProps.isOpen?.() ? menu().api().open() : menu().api().close();
1836
- });
1837
1935
  const triggerItemContext = createMemo(() => parentMenu?.().getTriggerItemProps(menu().api()));
1838
1936
  const machineContext = () => menu().machine;
1839
- const getChildren = () => runIfFn(restProps.children, () => ({
1840
- isOpen: menu?.().api().isOpen,
1841
- onClose: menu?.().api().close
1842
- }));
1937
+ const getChildren = () => runIfFn(localProps.children, menu().api);
1843
1938
  return createComponent(MenuTriggerItemProvider, {
1844
1939
  value: triggerItemContext,
1845
1940
  get children() {
@@ -1851,7 +1946,12 @@ const Menu$1 = props => {
1851
1946
  return menu().api;
1852
1947
  },
1853
1948
  get children() {
1854
- return getChildren();
1949
+ return createComponent(PresenceProvider, {
1950
+ value: apiPresence,
1951
+ get children() {
1952
+ return getChildren();
1953
+ }
1954
+ });
1855
1955
  }
1856
1956
  });
1857
1957
  }
@@ -1862,57 +1962,48 @@ const Menu$1 = props => {
1862
1962
 
1863
1963
  const MenuArrow = props => {
1864
1964
  const menu = useMenuContext();
1865
- const arrowProps = mergeProps$2(() => menu?.().arrowProps, props);
1866
- return createComponent(ark.div, arrowProps);
1965
+ const mergedProps = mergeProps$2(() => menu?.().arrowProps, props);
1966
+ return createComponent(ark.div, mergedProps);
1867
1967
  };
1868
1968
 
1869
1969
  const MenuArrowTip = props => {
1870
1970
  const menu = useMenuContext();
1871
- const arrowTipProps = mergeProps$2(() => menu?.().arrowTipProps, props);
1872
- return createComponent(ark.div, arrowTipProps);
1971
+ const mergedProps = mergeProps$2(() => menu?.().arrowTipProps, props);
1972
+ return createComponent(ark.div, mergedProps);
1873
1973
  };
1874
1974
 
1875
- const _tmpl$$a = /*#__PURE__*/template(`<div>`);
1876
1975
  const MenuContent = props => {
1877
- const [presenceProps, localProps] = splitPresenceProps(props);
1878
1976
  const api = useMenuContext();
1879
- const mergedProps = mergeProps$2(() => api?.().contentProps, localProps);
1880
- return createComponent(Presence, mergeProps$1({
1881
- get present() {
1882
- return api?.().isOpen;
1883
- }
1884
- }, presenceProps, {
1885
- get fallback() {
1886
- return (() => {
1887
- const _el$ = _tmpl$$a();
1888
- spread$1(_el$, mergeProps$1(() => api().contentProps), false, false);
1889
- return _el$;
1890
- })();
1977
+ const presenceApi = usePresenceContext();
1978
+ const mergedProps = mergeProps$2(() => api().contentProps, () => presenceApi().presenceProps, props);
1979
+ return createComponent(Show, {
1980
+ get when() {
1981
+ return !presenceApi().isUnmounted;
1891
1982
  },
1892
1983
  get children() {
1893
1984
  return createComponent(ark.div, mergedProps);
1894
1985
  }
1895
- }));
1986
+ });
1896
1987
  };
1897
1988
 
1898
1989
  const MenuContextTrigger = props => {
1899
1990
  const menu = useMenuContext();
1900
- const triggerProps = mergeProps$2(() => menu?.().contextTriggerProps, props);
1901
- return createComponent(ark.button, triggerProps);
1991
+ const mergedProps = mergeProps$2(() => menu?.().contextTriggerProps, props);
1992
+ return createComponent(ark.button, mergedProps);
1902
1993
  };
1903
1994
 
1904
1995
  const MenuItem = props => {
1905
1996
  const menu = useMenuContext();
1906
1997
  const [itemParams, restProps] = createSplitProps()(props, ['id', 'disabled', 'valueText', 'closeOnSelect']);
1907
- const itemProps = mergeProps$2(() => menu?.().getItemProps(itemParams), restProps);
1908
- return createComponent(ark.div, itemProps);
1998
+ const mergedProps = mergeProps$2(() => menu?.().getItemProps(itemParams), restProps);
1999
+ return createComponent(ark.div, mergedProps);
1909
2000
  };
1910
2001
 
1911
2002
  const MenuItemGroup = props => {
1912
2003
  const menu = useMenuContext();
1913
2004
  const [itemGroupProps, localProps] = createSplitProps()(props, ['id']);
1914
- const groupProps = mergeProps$2(() => menu?.().getItemGroupProps(itemGroupProps), localProps);
1915
- return createComponent(ark.div, groupProps);
2005
+ const mergedProps = mergeProps$2(() => menu?.().getItemGroupProps(itemGroupProps), localProps);
2006
+ return createComponent(ark.div, mergedProps);
1916
2007
  };
1917
2008
 
1918
2009
  const MenuItemGroupLabel = props => {
@@ -1927,10 +2018,10 @@ const MenuItemGroupLabel = props => {
1927
2018
  const MenuOptionItem = props => {
1928
2019
  const menu = useMenuContext();
1929
2020
  const [optionProps, localProps] = createSplitProps()(props, ['id', 'disabled', 'valueText', 'closeOnSelect', 'name', 'type', 'value', 'onCheckedChange']);
1930
- const itemProps = mergeProps$2(() => menu().getOptionItemProps(optionProps), localProps);
2021
+ const mergedProps = mergeProps$2(() => menu().getOptionItemProps(optionProps), localProps);
1931
2022
  const itemState = createMemo(() => menu().getOptionItemState(optionProps));
1932
2023
  const getChildren = () => runIfFn(localProps.children, itemState);
1933
- return createComponent(ark.div, mergeProps$1(itemProps, {
2024
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
1934
2025
  get children() {
1935
2026
  return getChildren();
1936
2027
  }
@@ -1938,27 +2029,40 @@ const MenuOptionItem = props => {
1938
2029
  };
1939
2030
 
1940
2031
  const MenuPositioner = props => {
1941
- const menu = useMenuContext();
1942
- const positionerProps = mergeProps$2(() => menu?.().positionerProps, props);
1943
- return createComponent(ark.div, positionerProps);
2032
+ const api = useMenuContext();
2033
+ const presenceApi = usePresenceContext();
2034
+ const mergedProps = mergeProps$2(() => api().positionerProps, props);
2035
+ return createComponent(Show, {
2036
+ get when() {
2037
+ return !presenceApi().isUnmounted;
2038
+ },
2039
+ get children() {
2040
+ return createComponent(ark.div, mergedProps);
2041
+ }
2042
+ });
1944
2043
  };
1945
2044
 
1946
2045
  const MenuSeparator = props => {
1947
2046
  const menu = useMenuContext();
1948
- const separatorProps = mergeProps$2(() => menu?.().separatorProps, props);
1949
- return createComponent(ark.hr, separatorProps);
2047
+ const mergedProps = mergeProps$2(() => menu?.().separatorProps, props);
2048
+ return createComponent(ark.hr, mergedProps);
1950
2049
  };
1951
2050
 
1952
2051
  const MenuTrigger = props => {
1953
- const menu = useMenuContext();
1954
- const triggerProps = mergeProps$2(() => menu?.().triggerProps, props);
1955
- return createComponent(ark.button, triggerProps);
2052
+ const api = useMenuContext();
2053
+ const presenceApi = usePresenceContext();
2054
+ const mergedProps = mergeProps$2(() => api().triggerProps, () => ({
2055
+ 'aria-controls': presenceApi().isUnmounted && null
2056
+ }), props);
2057
+
2058
+ // @ts-expect-error we want aria-controls to be null to remove them if the popover if lazy mounted
2059
+ return createComponent(ark.button, mergedProps);
1956
2060
  };
1957
2061
 
1958
2062
  const MenuTriggerItem = props => {
1959
2063
  const getTriggerItemProps = useMenuTriggerItemContext();
1960
- const triggerProps = mergeProps$2(() => getTriggerItemProps?.(), props);
1961
- return createComponent(ark.div, triggerProps);
2064
+ const mergedProps = mergeProps$2(() => getTriggerItemProps?.(), props);
2065
+ return createComponent(ark.div, mergedProps);
1962
2066
  };
1963
2067
 
1964
2068
  const Menu = Object.assign(Menu$1, {
@@ -1997,49 +2101,49 @@ const useNumberInput = props => {
1997
2101
  const NumberInput$1 = props => {
1998
2102
  const [useNumberInputProps, localProps] = createSplitProps()(props, ['allowMouseWheel', 'allowOverflow', 'clampValueOnBlur', 'dir', 'disabled', 'focusInputOnChange', 'form', 'formatOptions', 'getRootNode', 'id', 'ids', 'inputMode', 'invalid', 'locale', 'max', 'min', 'name', 'onFocusChange', 'onValueChange', 'onValueInvalid', 'pattern', 'readOnly', 'spinOnPress', 'step', 'translations', 'value']);
1999
2103
  const api = useNumberInput(useNumberInputProps);
2000
- const rootProps = mergeProps$2(() => api().rootProps, localProps);
2104
+ const mergedProps = mergeProps$2(() => api().rootProps, localProps);
2001
2105
  return createComponent(NumberInputProvider, {
2002
2106
  value: api,
2003
2107
  get children() {
2004
- return createComponent(ark.div, rootProps);
2108
+ return createComponent(ark.div, mergedProps);
2005
2109
  }
2006
2110
  });
2007
2111
  };
2008
2112
 
2009
2113
  const NumberInputControl = props => {
2010
2114
  const api = useNumberInputContext();
2011
- const controlProps = mergeProps$2(() => api().controlProps, props);
2012
- return createComponent(ark.div, controlProps);
2115
+ const mergedProps = mergeProps$2(() => api().controlProps, props);
2116
+ return createComponent(ark.div, mergedProps);
2013
2117
  };
2014
2118
 
2015
2119
  const NumberInputDecrementTrigger = props => {
2016
2120
  const api = useNumberInputContext();
2017
- const triggerProps = mergeProps$2(() => api().decrementTriggerProps, props);
2018
- return createComponent(ark.button, triggerProps);
2121
+ const mergedProps = mergeProps$2(() => api().decrementTriggerProps, props);
2122
+ return createComponent(ark.button, mergedProps);
2019
2123
  };
2020
2124
 
2021
2125
  const NumberInputInput = props => {
2022
2126
  const api = useNumberInputContext();
2023
- const inputProps = mergeProps$2(() => api().inputProps, props);
2024
- return createComponent(ark.input, inputProps);
2127
+ const mergedProps = mergeProps$2(() => api().inputProps, props);
2128
+ return createComponent(ark.input, mergedProps);
2025
2129
  };
2026
2130
 
2027
2131
  const NumberInputIncrementTrigger = props => {
2028
2132
  const api = useNumberInputContext();
2029
- const triggerProps = mergeProps$2(() => api().incrementTriggerProps, props);
2030
- return createComponent(ark.button, triggerProps);
2133
+ const mergedProps = mergeProps$2(() => api().incrementTriggerProps, props);
2134
+ return createComponent(ark.button, mergedProps);
2031
2135
  };
2032
2136
 
2033
2137
  const NumberInputLabel = props => {
2034
2138
  const api = useNumberInputContext();
2035
- const labelProps = mergeProps$2(() => api().labelProps, props);
2036
- return createComponent(ark.label, labelProps);
2139
+ const mergedProps = mergeProps$2(() => api().labelProps, props);
2140
+ return createComponent(ark.label, mergedProps);
2037
2141
  };
2038
2142
 
2039
2143
  const NumberInputScrubber = props => {
2040
2144
  const api = useNumberInputContext();
2041
- const scrubberProps = mergeProps$2(() => api().scrubberProps, props);
2042
- return createComponent(ark.div, scrubberProps);
2145
+ const mergedProps = mergeProps$2(() => api().scrubberProps, props);
2146
+ return createComponent(ark.div, mergedProps);
2043
2147
  };
2044
2148
 
2045
2149
  const NumberInput = Object.assign(NumberInput$1, {
@@ -2074,11 +2178,11 @@ const Pagination$1 = props => {
2074
2178
  const [childrenProps, localProps] = splitProps(restProps, ['children']);
2075
2179
  const api = usePagination(paginationParams);
2076
2180
  const getChildren = () => runIfFn(childrenProps.children, api);
2077
- const rootProps = mergeProps$2(() => api().rootProps, localProps);
2181
+ const mergedProps = mergeProps$2(() => api().rootProps, localProps);
2078
2182
  return createComponent(PaginationProvider, {
2079
2183
  value: api,
2080
2184
  get children() {
2081
- return createComponent(ark.nav, mergeProps$1(rootProps, {
2185
+ return createComponent(ark.nav, mergeProps$1(mergedProps, {
2082
2186
  get children() {
2083
2187
  return getChildren();
2084
2188
  }
@@ -2138,7 +2242,7 @@ const usePinInput = props => {
2138
2242
  return createMemo(() => pinInput.connect(state, send, normalizeProps));
2139
2243
  };
2140
2244
 
2141
- const _tmpl$$9 = /*#__PURE__*/template(`<input>`);
2245
+ const _tmpl$$6 = /*#__PURE__*/template(`<input>`);
2142
2246
  const PinInput$1 = props => {
2143
2247
  const [pinInputProps, localProps] = createSplitProps()(props, ['autoFocus', 'blurOnComplete', 'dir', 'disabled', 'form', 'getRootNode', 'id', 'ids', 'invalid', 'mask', 'name', 'onValueChange', 'onValueComplete', 'onValueInvalid', 'otp', 'pattern', 'placeholder', 'selectOnFocus', 'translations', 'type', 'value']);
2144
2248
  const api = usePinInput(pinInputProps);
@@ -2147,7 +2251,7 @@ const PinInput$1 = props => {
2147
2251
  value: api,
2148
2252
  get children() {
2149
2253
  return [createComponent(ark.div, mergedProps), (() => {
2150
- const _el$ = _tmpl$$9();
2254
+ const _el$ = _tmpl$$6();
2151
2255
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
2152
2256
  return _el$;
2153
2257
  })()];
@@ -2164,14 +2268,14 @@ const PinInputControl = props => {
2164
2268
  const PinInputInput = props => {
2165
2269
  const [inputParams, localProps] = splitProps(props, ['index']);
2166
2270
  const api = usePinInputContext();
2167
- const inputProps = mergeProps$2(() => api().getInputProps(inputParams), localProps);
2168
- return createComponent(ark.input, inputProps);
2271
+ const mergedProps = mergeProps$2(() => api().getInputProps(inputParams), localProps);
2272
+ return createComponent(ark.input, mergedProps);
2169
2273
  };
2170
2274
 
2171
2275
  const PinInputLabel = props => {
2172
2276
  const api = usePinInputContext();
2173
- const labelProps = mergeProps$2(() => api().labelProps, props);
2174
- return createComponent(ark.label, labelProps);
2277
+ const mergedProps = mergeProps$2(() => api().labelProps, props);
2278
+ return createComponent(ark.label, mergedProps);
2175
2279
  };
2176
2280
 
2177
2281
  const PinInput = Object.assign(PinInput$1, {
@@ -2199,67 +2303,68 @@ const usePopover = props => {
2199
2303
  };
2200
2304
 
2201
2305
  const Popover$1 = props => {
2202
- const [usePopoverProps, restProps] = createSplitProps()(props, ['autoFocus', 'closeOnEsc', 'closeOnInteractOutside', 'dir', 'getRootNode', 'id', 'ids', 'initialFocusEl', 'modal', 'onEscapeKeyDown', 'onFocusOutside', 'onInteractOutside', 'onOpenChange', 'onPointerDownOutside', 'open', 'portalled', 'positioning']);
2306
+ const [presenceProps, popoverProps] = splitPresenceProps(props);
2307
+ const [usePopoverProps, localProps] = createSplitProps()(popoverProps, ['autoFocus', 'closeOnEsc', 'closeOnInteractOutside', 'dir', 'getRootNode', 'id', 'ids', 'initialFocusEl', 'modal', 'onEscapeKeyDown', 'onFocusOutside', 'onInteractOutside', 'onOpenChange', 'onPointerDownOutside', 'open', 'portalled', 'positioning']);
2203
2308
  const api = usePopover(usePopoverProps);
2309
+ const apiPresence = usePresence(mergeProps$2(presenceProps, () => ({
2310
+ present: api().isOpen
2311
+ })));
2312
+ const getChildren = () => runIfFn(localProps.children, api);
2204
2313
  return createComponent(PopoverProvider, {
2205
2314
  value: api,
2206
2315
  get children() {
2207
- return restProps.children;
2316
+ return createComponent(PresenceProvider, {
2317
+ value: apiPresence,
2318
+ get children() {
2319
+ return getChildren();
2320
+ }
2321
+ });
2208
2322
  }
2209
2323
  });
2210
2324
  };
2211
2325
 
2212
2326
  const PopoverAnchor = props => {
2213
2327
  const api = usePopoverContext();
2214
- const anchorProps = mergeProps$2(() => api().anchorProps, props);
2215
- return createComponent(ark.div, anchorProps);
2328
+ const mergedProps = mergeProps$2(() => api().anchorProps, props);
2329
+ return createComponent(ark.div, mergedProps);
2216
2330
  };
2217
2331
 
2218
2332
  const PopoverArrow = props => {
2219
2333
  const popover = usePopoverContext();
2220
- const arrowProps = mergeProps$2(() => popover().arrowProps, props);
2221
- return createComponent(ark.div, arrowProps);
2334
+ const mergedProps = mergeProps$2(() => popover().arrowProps, props);
2335
+ return createComponent(ark.div, mergedProps);
2222
2336
  };
2223
2337
 
2224
2338
  const PopoverArrowTip = props => {
2225
2339
  const popover = usePopoverContext();
2226
- const arrowTipProps = mergeProps$2(() => popover().arrowTipProps, props);
2227
- return createComponent(ark.div, arrowTipProps);
2340
+ const mergedProps = mergeProps$2(() => popover().arrowTipProps, props);
2341
+ return createComponent(ark.div, mergedProps);
2228
2342
  };
2229
2343
 
2230
2344
  const PopoverCloseTrigger = props => {
2231
2345
  const api = usePopoverContext();
2232
- const triggerProps = mergeProps$2(() => api().closeTriggerProps, props);
2233
- return createComponent(ark.button, triggerProps);
2346
+ const mergedProps = mergeProps$2(() => api().closeTriggerProps, props);
2347
+ return createComponent(ark.button, mergedProps);
2234
2348
  };
2235
2349
 
2236
- const _tmpl$$8 = /*#__PURE__*/template(`<div>`);
2237
2350
  const PopoverContent = props => {
2238
- const [presenceProps, localProps] = splitPresenceProps(props);
2239
2351
  const api = usePopoverContext();
2240
- const mergedProps = mergeProps$2(() => api().contentProps, localProps);
2241
- return createComponent(Presence, mergeProps$1({
2242
- get present() {
2243
- return api().isOpen;
2244
- }
2245
- }, presenceProps, {
2246
- get fallback() {
2247
- return (() => {
2248
- const _el$ = _tmpl$$8();
2249
- spread$1(_el$, mergeProps$1(() => api().contentProps), false, false);
2250
- return _el$;
2251
- })();
2352
+ const presenceApi = usePresenceContext();
2353
+ const mergedProps = mergeProps$2(() => api().contentProps, () => presenceApi().presenceProps, props);
2354
+ return createComponent(Show, {
2355
+ get when() {
2356
+ return !presenceApi().isUnmounted;
2252
2357
  },
2253
2358
  get children() {
2254
2359
  return createComponent(ark.div, mergedProps);
2255
2360
  }
2256
- }));
2361
+ });
2257
2362
  };
2258
2363
 
2259
2364
  const PopoverDescription = props => {
2260
2365
  const api = usePopoverContext();
2261
- const descriptionProps = mergeProps$2(() => api().descriptionProps, props);
2262
- return createComponent(ark.div, descriptionProps);
2366
+ const mergedProps = mergeProps$2(() => api().descriptionProps, props);
2367
+ return createComponent(ark.div, mergedProps);
2263
2368
  };
2264
2369
 
2265
2370
  const PopoverIndicator = props => {
@@ -2270,20 +2375,33 @@ const PopoverIndicator = props => {
2270
2375
 
2271
2376
  const PopoverPositioner = props => {
2272
2377
  const api = usePopoverContext();
2273
- const positionerProps = mergeProps$2(() => api().positionerProps, props);
2274
- return createComponent(ark.div, positionerProps);
2378
+ const presenceApi = usePresenceContext();
2379
+ const mergedProps = mergeProps$2(() => api().positionerProps, props);
2380
+ return createComponent(Show, {
2381
+ get when() {
2382
+ return !presenceApi().isUnmounted;
2383
+ },
2384
+ get children() {
2385
+ return createComponent(ark.div, mergedProps);
2386
+ }
2387
+ });
2275
2388
  };
2276
2389
 
2277
2390
  const PopoverTitle = props => {
2278
2391
  const api = usePopoverContext();
2279
- const titleProps = mergeProps$2(() => api().titleProps, props);
2280
- return createComponent(ark.div, titleProps);
2392
+ const mergedProps = mergeProps$2(() => api().titleProps, props);
2393
+ return createComponent(ark.div, mergedProps);
2281
2394
  };
2282
2395
 
2283
2396
  const PopoverTrigger = props => {
2284
2397
  const api = usePopoverContext();
2285
- const triggerProps = mergeProps$2(() => api().triggerProps, props);
2286
- return createComponent(ark.button, triggerProps);
2398
+ const presenceApi = usePresenceContext();
2399
+ const mergedProps = mergeProps$2(() => api().triggerProps, () => ({
2400
+ 'aria-controls': presenceApi().isUnmounted && null
2401
+ }), props);
2402
+
2403
+ // @ts-expect-error we want aria-controls to be null to remove them if the popover if lazy mounted
2404
+ return createComponent(ark.button, mergedProps);
2287
2405
  };
2288
2406
 
2289
2407
  const Popover = Object.assign(Popover$1, {
@@ -2352,13 +2470,13 @@ const RadioGroupItem = props => {
2352
2470
  });
2353
2471
  };
2354
2472
 
2355
- const _tmpl$$7 = /*#__PURE__*/template(`<input>`);
2473
+ const _tmpl$$5 = /*#__PURE__*/template(`<input>`);
2356
2474
  const RadioGroupItemControl = props => {
2357
2475
  const api = useRadioGroupContext();
2358
2476
  const itemProps = useRadioGroupItemContext();
2359
2477
  const mergedProps = mergeProps$2(() => api().getItemControlProps(itemProps), props);
2360
2478
  return [createComponent(ark.div, mergedProps), (() => {
2361
- const _el$ = _tmpl$$7();
2479
+ const _el$ = _tmpl$$5();
2362
2480
  spread$1(_el$, mergeProps$1(() => api().getItemHiddenInputProps(itemProps)), false, false);
2363
2481
  return _el$;
2364
2482
  })()];
@@ -2415,7 +2533,7 @@ const RatingGroup$1 = props => {
2415
2533
  });
2416
2534
  };
2417
2535
 
2418
- const _tmpl$$6 = /*#__PURE__*/template(`<input>`);
2536
+ const _tmpl$$4 = /*#__PURE__*/template(`<input>`);
2419
2537
  const RatingGroupControl = props => {
2420
2538
  const api = useRatingGroupContext();
2421
2539
  const getChildren = () => runIfFn(props.children, api);
@@ -2425,7 +2543,7 @@ const RatingGroupControl = props => {
2425
2543
  return getChildren();
2426
2544
  }
2427
2545
  })), (() => {
2428
- const _el$ = _tmpl$$6();
2546
+ const _el$ = _tmpl$$4();
2429
2547
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
2430
2548
  return _el$;
2431
2549
  })()];
@@ -2437,11 +2555,11 @@ const [RatingGroupItemProvider, useRatingGroupItemContext] = createContext({
2437
2555
  });
2438
2556
 
2439
2557
  const RatingGroupItem = props => {
2440
- const [ratingParams, restProps] = createSplitProps()(props, ['index']);
2558
+ const [itemProps, localProps] = createSplitProps()(props, ['index']);
2441
2559
  const api = useRatingGroupContext();
2442
- const itemState = api().getItemState(ratingParams);
2443
- const mergedProps = mergeProps$2(() => api().getItemProps(ratingParams), restProps);
2444
- const getChildren = () => runIfFn(restProps.children, itemState);
2560
+ const itemState = createMemo(() => api().getItemState(itemProps));
2561
+ const getChildren = () => runIfFn(localProps.children, itemState);
2562
+ const mergedProps = mergeProps$2(() => api().getItemProps(itemProps), localProps);
2445
2563
  return createComponent(RatingGroupItemProvider, {
2446
2564
  value: itemState,
2447
2565
  get children() {
@@ -2519,13 +2637,13 @@ const SegmentGroupItem = props => {
2519
2637
  });
2520
2638
  };
2521
2639
 
2522
- const _tmpl$$5 = /*#__PURE__*/template(`<input>`);
2640
+ const _tmpl$$3 = /*#__PURE__*/template(`<input>`);
2523
2641
  const SegmentGroupItemControl = props => {
2524
2642
  const api = useSegmentGroupContext();
2525
2643
  const itemProps = useSegmentGroupItemContext();
2526
2644
  const mergedProps = mergeProps$2(() => api().getItemControlProps(itemProps), segmentGroupAnatomy.build().itemControl.attrs, props);
2527
2645
  return [createComponent(ark.div, mergedProps), (() => {
2528
- const _el$ = _tmpl$$5();
2646
+ const _el$ = _tmpl$$3();
2529
2647
  spread$1(_el$, mergeProps$1(() => api().getItemHiddenInputProps(itemProps)), false, false);
2530
2648
  return _el$;
2531
2649
  })()];
@@ -2575,18 +2693,27 @@ const useSelect = props => {
2575
2693
  };
2576
2694
 
2577
2695
  const Select$1 = props => {
2578
- const [selectProps, localProps] = createSplitProps()(props, ['closeOnSelect', 'dir', 'disabled', 'form', 'getRootNode', 'highlightedValue', 'id', 'ids', 'invalid', 'isItemDisabled', 'items', 'itemToString', 'itemToValue', 'loop', 'multiple', 'name', 'onFocusOutside', 'onHighlightChange', 'onInteractOutside', 'onOpenChange', 'onPointerDownOutside', 'onValueChange', 'open', 'positioning', 'readOnly', 'selectOnBlur', 'value']);
2579
- const api = useSelect(selectProps);
2696
+ const [presenceProps, selectProps] = splitPresenceProps(props);
2697
+ const [useSelectProps, localProps] = createSplitProps()(selectProps, ['closeOnSelect', 'dir', 'disabled', 'form', 'getRootNode', 'highlightedValue', 'id', 'ids', 'invalid', 'isItemDisabled', 'items', 'itemToString', 'itemToValue', 'loop', 'multiple', 'name', 'onFocusOutside', 'onHighlightChange', 'onInteractOutside', 'onOpenChange', 'onPointerDownOutside', 'onValueChange', 'open', 'positioning', 'readOnly', 'selectOnBlur', 'value']);
2698
+ const api = useSelect(useSelectProps);
2699
+ const apiPresence = usePresence(mergeProps$2(presenceProps, () => ({
2700
+ present: api().isOpen
2701
+ })));
2580
2702
  const mergedProps = mergeProps$2(() => api().rootProps, localProps);
2581
2703
  const getChildren = () => runIfFn(localProps.children, api);
2582
2704
  return createComponent(SelectProvider, {
2583
2705
  value: api,
2584
2706
  get children() {
2585
- return createComponent(ark.div, mergeProps$1(mergedProps, {
2707
+ return createComponent(PresenceProvider, {
2708
+ value: apiPresence,
2586
2709
  get children() {
2587
- return getChildren();
2710
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
2711
+ get children() {
2712
+ return getChildren();
2713
+ }
2714
+ }));
2588
2715
  }
2589
- }));
2716
+ });
2590
2717
  }
2591
2718
  });
2592
2719
  };
@@ -2597,36 +2724,27 @@ const SelectClearTrigger = props => {
2597
2724
  return createComponent(ark.button, mergedProps);
2598
2725
  };
2599
2726
 
2600
- const _tmpl$$4 = /*#__PURE__*/template(`<div>`);
2601
2727
  const SelectContent = props => {
2602
- const [presenceProps, localProps] = splitPresenceProps(props);
2603
2728
  const api = useSelectContext();
2604
- const mergedProps = mergeProps$2(() => api().contentProps, localProps);
2605
- return createComponent(Presence, mergeProps$1({
2606
- get present() {
2607
- return api().isOpen;
2608
- }
2609
- }, presenceProps, {
2610
- get fallback() {
2611
- return (() => {
2612
- const _el$ = _tmpl$$4();
2613
- spread$1(_el$, mergeProps$1(() => api().contentProps), false, false);
2614
- return _el$;
2615
- })();
2729
+ const presenceApi = usePresenceContext();
2730
+ const mergedProps = mergeProps$2(() => api().contentProps, () => presenceApi().presenceProps, props);
2731
+ return createComponent(Show, {
2732
+ get when() {
2733
+ return !presenceApi().isUnmounted;
2616
2734
  },
2617
2735
  get children() {
2618
2736
  return createComponent(ark.div, mergedProps);
2619
2737
  }
2620
- }));
2738
+ });
2621
2739
  };
2622
2740
 
2623
- const _tmpl$$3 = /*#__PURE__*/template(`<select>`),
2741
+ const _tmpl$$2 = /*#__PURE__*/template(`<select>`),
2624
2742
  _tmpl$2 = /*#__PURE__*/template(`<option>`);
2625
2743
  const SelectControl = props => {
2626
2744
  const api = useSelectContext();
2627
2745
  const mergedProps = mergeProps$2(() => api().controlProps, props);
2628
2746
  return [createComponent(ark.div, mergedProps), (() => {
2629
- const _el$ = _tmpl$$3();
2747
+ const _el$ = _tmpl$$2();
2630
2748
  spread$1(_el$, mergeProps$1(() => api().hiddenSelectProps), false, true);
2631
2749
  insert(_el$, createComponent(Index, {
2632
2750
  get each() {
@@ -2709,8 +2827,16 @@ const SelectLabel = props => {
2709
2827
 
2710
2828
  const SelectPositioner = props => {
2711
2829
  const api = useSelectContext();
2830
+ const presenceApi = usePresenceContext();
2712
2831
  const mergedProps = mergeProps$2(() => api().positionerProps, props);
2713
- return createComponent(ark.div, mergedProps);
2832
+ return createComponent(Show, {
2833
+ get when() {
2834
+ return !presenceApi().isUnmounted;
2835
+ },
2836
+ get children() {
2837
+ return createComponent(ark.div, mergedProps);
2838
+ }
2839
+ });
2714
2840
  };
2715
2841
 
2716
2842
  const SelectTrigger = props => {
@@ -2814,8 +2940,8 @@ const SliderRange = props => {
2814
2940
  const SliderThumb = props => {
2815
2941
  const [thumbProps, localProps] = createSplitProps()(props, ['index']);
2816
2942
  const api = useSliderContext();
2817
- const mergePdrops = mergeProps$2(() => api().getThumbProps(thumbProps), localProps);
2818
- return createComponent(ark.div, mergePdrops);
2943
+ const mergedProps = mergeProps$2(() => api().getThumbProps(thumbProps), localProps);
2944
+ return createComponent(ark.div, mergedProps);
2819
2945
  };
2820
2946
 
2821
2947
  const SliderTrack = props => {
@@ -2826,11 +2952,11 @@ const SliderTrack = props => {
2826
2952
 
2827
2953
  const SliderValueText = props => {
2828
2954
  const api = useSliderContext();
2829
- const getChildren = () => runIfFn(props.children, api);
2830
2955
  const mergedProps = mergeProps$2(() => api().valueTextProps, props);
2956
+ const getChildren = children(() => props.children);
2831
2957
  return createComponent(ark.div, mergeProps$1(mergedProps, {
2832
2958
  get children() {
2833
- return getChildren();
2959
+ return getChildren() || api().value.join(',');
2834
2960
  }
2835
2961
  }));
2836
2962
  };
@@ -2868,11 +2994,11 @@ const Splitter$1 = props => {
2868
2994
  const [splitterParams, localProps] = createSplitProps()(props, ['dir', 'getRootNode', 'id', 'ids', 'onSizeChange', 'onSizeChangeEnd', 'onSizeChangeStart', 'orientation', 'size']);
2869
2995
  const api = useSplitter(splitterParams);
2870
2996
  const getChildren = () => runIfFn(localProps.children, api);
2871
- const rootProps = mergeProps$2(() => api().rootProps, localProps);
2997
+ const mergedProps = mergeProps$2(() => api().rootProps, localProps);
2872
2998
  return createComponent(SplitterProvider, {
2873
2999
  value: api,
2874
3000
  get children() {
2875
- return createComponent(ark.div, mergeProps$1(rootProps, {
3001
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
2876
3002
  get children() {
2877
3003
  return getChildren();
2878
3004
  }
@@ -2884,15 +3010,15 @@ const Splitter$1 = props => {
2884
3010
  const SplitterPanel = props => {
2885
3011
  const [panelParams, restProps] = createSplitProps()(props, ['id', 'snapSize']);
2886
3012
  const api = useSplitterContext();
2887
- const panelProps = mergeProps$2(() => api().getPanelProps(panelParams), restProps);
2888
- return createComponent(ark.div, panelProps);
3013
+ const mergedProps = mergeProps$2(() => api().getPanelProps(panelParams), restProps);
3014
+ return createComponent(ark.div, mergedProps);
2889
3015
  };
2890
3016
 
2891
3017
  const SplitterResizeTrigger = props => {
2892
3018
  const api = useSplitterContext();
2893
3019
  const [triggerParams, restProps] = createSplitProps()(props, ['disabled', 'id', 'step']);
2894
- const triggerProps = mergeProps$2(() => api().getResizeTriggerProps(triggerParams), restProps);
2895
- return createComponent(ark.button, triggerProps);
3020
+ const mergedProps = mergeProps$2(() => api().getResizeTriggerProps(triggerParams), restProps);
3021
+ return createComponent(ark.button, mergedProps);
2896
3022
  };
2897
3023
 
2898
3024
  const Splitter = Object.assign(Splitter$1, {
@@ -2935,12 +3061,12 @@ const Switch$1 = props => {
2935
3061
  });
2936
3062
  };
2937
3063
 
2938
- const _tmpl$$2 = /*#__PURE__*/template(`<input>`);
3064
+ const _tmpl$$1 = /*#__PURE__*/template(`<input>`);
2939
3065
  const SwitchControl = props => {
2940
3066
  const api = useSwitchContext();
2941
3067
  const mergedProps = mergeProps$2(() => api().controlProps, props);
2942
3068
  return [createComponent(ark.span, mergedProps), (() => {
2943
- const _el$ = _tmpl$$2();
3069
+ const _el$ = _tmpl$$1();
2944
3070
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
2945
3071
  return _el$;
2946
3072
  })()];
@@ -2948,14 +3074,14 @@ const SwitchControl = props => {
2948
3074
 
2949
3075
  const SwitchLabel = props => {
2950
3076
  const checkbox = useSwitchContext();
2951
- const labelProps = mergeProps$2(() => checkbox().labelProps, props);
2952
- return createComponent(ark.span, labelProps);
3077
+ const mergedProps = mergeProps$2(() => checkbox().labelProps, props);
3078
+ return createComponent(ark.span, mergedProps);
2953
3079
  };
2954
3080
 
2955
3081
  const SwitchThumb = props => {
2956
3082
  const checkbox = useSwitchContext();
2957
- const thumbProps = mergeProps$2(() => checkbox().thumbProps, props);
2958
- return createComponent(ark.span, thumbProps);
3083
+ const mergedProps = mergeProps$2(() => checkbox().thumbProps, props);
3084
+ return createComponent(ark.span, mergedProps);
2959
3085
  };
2960
3086
 
2961
3087
  const Switch = Object.assign(Switch$1, {
@@ -2970,44 +3096,46 @@ const [TabsProvider, useTabsContext] = createContext({
2970
3096
  providerName: '<TabsProvider />'
2971
3097
  });
2972
3098
 
2973
- const TabPresence = props => {
2974
- const api = useTabsContext();
2975
- return createComponent(Presence, mergeProps$1({
2976
- get present() {
2977
- return api().value === props.value;
2978
- }
2979
- }, props));
2980
- };
2981
-
2982
3099
  const TabContent = props => {
2983
- const [presenceProps, localProps] = splitPresenceProps(props);
2984
- const [getContentProps, restProps] = createSplitProps()(localProps, ['value']);
3100
+ const [contentProps, localProps] = createSplitProps()(props, ['value']);
2985
3101
  const api = useTabsContext();
2986
- const contentProps = mergeProps$2(() => api().getContentProps(getContentProps), restProps);
2987
- return createComponent(TabPresence, mergeProps$1(presenceProps, getContentProps, {
3102
+ const presenceProps = usePresencePropsContext();
3103
+ const presenceApi = usePresence(mergeProps$2(presenceProps, () => ({
3104
+ present: api().value === contentProps.value
3105
+ })));
3106
+ const mergedProps = mergeProps$2(() => api().getContentProps(contentProps), () => presenceApi().presenceProps, localProps);
3107
+ return createComponent(PresenceProvider, {
3108
+ value: presenceApi,
2988
3109
  get children() {
2989
- return createComponent(ark.div, contentProps);
3110
+ return createComponent(Show, {
3111
+ get when() {
3112
+ return !presenceApi().isUnmounted;
3113
+ },
3114
+ get children() {
3115
+ return createComponent(ark.div, mergedProps);
3116
+ }
3117
+ });
2990
3118
  }
2991
- }));
3119
+ });
2992
3120
  };
2993
3121
 
2994
3122
  const TabIndicator = props => {
2995
3123
  const api = useTabsContext();
2996
- const indicatorProps = mergeProps$2(() => api().indicatorProps, props);
2997
- return createComponent(ark.div, indicatorProps);
3124
+ const mergedProps = mergeProps$2(() => api().indicatorProps, props);
3125
+ return createComponent(ark.div, mergedProps);
2998
3126
  };
2999
3127
 
3000
3128
  const TabList = props => {
3001
3129
  const api = useTabsContext();
3002
- const tablistProps = mergeProps$2(() => api().tablistProps, props);
3003
- return createComponent(ark.div, tablistProps);
3130
+ const mergedProps = mergeProps$2(() => api().tablistProps, props);
3131
+ return createComponent(ark.div, mergedProps);
3004
3132
  };
3005
3133
 
3006
3134
  const TabTrigger = props => {
3007
3135
  const [tabParams, restProps] = createSplitProps()(props, ['disabled', 'value']);
3008
3136
  const api = useTabsContext();
3009
- const triggerProps = mergeProps$2(() => api().getTriggerProps(tabParams), restProps);
3010
- return createComponent(ark.button, triggerProps);
3137
+ const mergedProps = mergeProps$2(() => api().getTriggerProps(tabParams), restProps);
3138
+ return createComponent(ark.button, mergedProps);
3011
3139
  };
3012
3140
 
3013
3141
  const useTabs = props => {
@@ -3023,13 +3151,19 @@ const useTabs = props => {
3023
3151
  };
3024
3152
 
3025
3153
  const Tabs$1 = props => {
3026
- const [tabsParams, restProps] = createSplitProps()(props, ['activationMode', 'dir', 'getRootNode', 'id', 'ids', 'loop', 'onFocusChange', 'onValueChange', 'orientation', 'translations', 'value']);
3154
+ const [presenceProps, tabsProps] = splitPresenceProps(props);
3155
+ const [tabsParams, restProps] = createSplitProps()(tabsProps, ['activationMode', 'dir', 'getRootNode', 'id', 'ids', 'loop', 'onFocusChange', 'onValueChange', 'orientation', 'translations', 'value']);
3027
3156
  const api = useTabs(tabsParams);
3028
- const rootProps = mergeProps$2(() => api().rootProps, restProps);
3157
+ const mergedProps = mergeProps$2(() => api().rootProps, restProps);
3029
3158
  return createComponent(TabsProvider, {
3030
3159
  value: api,
3031
3160
  get children() {
3032
- return createComponent(ark.div, rootProps);
3161
+ return createComponent(PresencePropsProvider, {
3162
+ value: presenceProps,
3163
+ get children() {
3164
+ return createComponent(ark.div, mergedProps);
3165
+ }
3166
+ });
3033
3167
  }
3034
3168
  });
3035
3169
  };
@@ -3059,7 +3193,7 @@ const useTagsInput = props => {
3059
3193
  return createMemo(() => tagsInput.connect(state, send, normalizeProps));
3060
3194
  };
3061
3195
 
3062
- const _tmpl$$1 = /*#__PURE__*/template(`<input>`);
3196
+ const _tmpl$ = /*#__PURE__*/template(`<input>`);
3063
3197
  const TagsInput$1 = props => {
3064
3198
  const [tagsInputParams, restProps] = createSplitProps()(props, ['addOnPaste', 'allowEditTag', 'allowOverflow', 'autoFocus', 'blurBehavior', 'delimiter', 'dir', 'disabled', 'form', 'getRootNode', 'id', 'ids', 'inputValue', 'invalid', 'max', 'maxLength', 'name', 'onFocusOutside', 'onHighlightChange', 'onInteractOutside', 'onPointerDownOutside', 'onValueChange', 'onValueInvalid', 'readOnly', 'translations', 'validate', 'value']);
3065
3199
  const api = useTagsInput(tagsInputParams);
@@ -3073,7 +3207,7 @@ const TagsInput$1 = props => {
3073
3207
  return getChildren();
3074
3208
  }
3075
3209
  })), (() => {
3076
- const _el$ = _tmpl$$1();
3210
+ const _el$ = _tmpl$();
3077
3211
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
3078
3212
  return _el$;
3079
3213
  })()];
@@ -3269,11 +3403,11 @@ const useToggleGroup = props => {
3269
3403
  const ToggleGroup$1 = props => {
3270
3404
  const [groupParams, restProps] = createSplitProps()(props, ['dir', 'disabled', 'getRootNode', 'id', 'ids', 'loop', 'multiple', 'onValueChange', 'orientation', 'rovingFocus', 'value']);
3271
3405
  const api = useToggleGroup(groupParams);
3272
- const rootProps = mergeProps$2(() => api().rootProps, restProps);
3406
+ const mergedProps = mergeProps$2(() => api().rootProps, restProps);
3273
3407
  return createComponent(ToggleGroupProvider, {
3274
3408
  value: api,
3275
3409
  get children() {
3276
- return createComponent(ark.div, rootProps);
3410
+ return createComponent(ark.div, mergedProps);
3277
3411
  }
3278
3412
  });
3279
3413
  };
@@ -3308,58 +3442,70 @@ const useTooltip = props => {
3308
3442
  };
3309
3443
 
3310
3444
  const Tooltip$1 = props => {
3311
- const [useTooltipProps, restProps] = createSplitProps()(props, ['aria-label', 'closeDelay', 'closeOnEsc', 'closeOnPointerDown', 'dir', 'disabled', 'getRootNode', 'id', 'ids', 'interactive', 'onOpenChange', 'open', 'openDelay', 'positioning']);
3445
+ const [presenceProps, tooltipProps] = splitPresenceProps(props);
3446
+ const [useTooltipProps, localProps] = createSplitProps()(tooltipProps, ['aria-label', 'closeDelay', 'closeOnEsc', 'closeOnPointerDown', 'dir', 'disabled', 'getRootNode', 'id', 'ids', 'interactive', 'onOpenChange', 'open', 'openDelay', 'positioning']);
3312
3447
  const api = useTooltip(useTooltipProps);
3313
- return createComponent(TooltipProvider, mergeProps$1({
3314
- value: api
3315
- }, restProps));
3448
+ const apiPresence = usePresence(mergeProps$2(presenceProps, () => ({
3449
+ present: api().isOpen
3450
+ })));
3451
+ const getChildren = () => runIfFn(localProps.children, api);
3452
+ return createComponent(TooltipProvider, {
3453
+ value: api,
3454
+ get children() {
3455
+ return createComponent(PresenceProvider, {
3456
+ value: apiPresence,
3457
+ get children() {
3458
+ return getChildren();
3459
+ }
3460
+ });
3461
+ }
3462
+ });
3316
3463
  };
3317
3464
 
3318
3465
  const TooltipArrow = props => {
3319
3466
  const tooltip = useTooltipContext();
3320
- const arrowProps = mergeProps$2(() => tooltip().arrowProps, props);
3321
- return createComponent(ark.div, arrowProps);
3467
+ const mergedProps = mergeProps$2(() => tooltip().arrowProps, props);
3468
+ return createComponent(ark.div, mergedProps);
3322
3469
  };
3323
3470
 
3324
3471
  const TooltipArrowTip = props => {
3325
3472
  const api = useTooltipContext();
3326
- const arrowTipProps = mergeProps$2(() => api().arrowTipProps, props);
3327
- return createComponent(ark.div, arrowTipProps);
3473
+ const mergedProps = mergeProps$2(() => api().arrowTipProps, props);
3474
+ return createComponent(ark.div, mergedProps);
3328
3475
  };
3329
3476
 
3330
- const _tmpl$ = /*#__PURE__*/template(`<div>`);
3331
3477
  const TooltipContent = props => {
3332
- const [presenceProps, localProps] = splitPresenceProps(props);
3333
3478
  const api = useTooltipContext();
3334
- const contentProps = mergeProps$2(() => api().contentProps, localProps);
3335
- return createComponent(Presence, mergeProps$1({
3336
- get present() {
3337
- return api().isOpen;
3338
- }
3339
- }, presenceProps, {
3340
- get fallback() {
3341
- return (() => {
3342
- const _el$ = _tmpl$();
3343
- spread$1(_el$, mergeProps$1(() => api().contentProps), false, false);
3344
- return _el$;
3345
- })();
3479
+ const presenceApi = usePresenceContext();
3480
+ const mergedProps = mergeProps$2(() => api().contentProps, () => presenceApi().presenceProps, props);
3481
+ return createComponent(Show, {
3482
+ get when() {
3483
+ return !presenceApi().isUnmounted;
3346
3484
  },
3347
3485
  get children() {
3348
- return createComponent(ark.div, contentProps);
3486
+ return createComponent(ark.div, mergedProps);
3349
3487
  }
3350
- }));
3488
+ });
3351
3489
  };
3352
3490
 
3353
3491
  const TooltipPositioner = props => {
3354
3492
  const api = useTooltipContext();
3355
- const positionerProps = mergeProps$2(() => api().positionerProps, props);
3356
- return createComponent(ark.div, positionerProps);
3493
+ const presenceApi = usePresenceContext();
3494
+ const mergedProps = mergeProps$2(() => api().positionerProps, props);
3495
+ return createComponent(Show, {
3496
+ get when() {
3497
+ return !presenceApi().isUnmounted;
3498
+ },
3499
+ get children() {
3500
+ return createComponent(ark.div, mergedProps);
3501
+ }
3502
+ });
3357
3503
  };
3358
3504
 
3359
3505
  const TooltipTrigger = props => {
3360
3506
  const api = useTooltipContext();
3361
- const triggerProps = mergeProps$2(() => api().triggerProps, props);
3362
- return createComponent(ark.button, triggerProps);
3507
+ const mergedProps = mergeProps$2(() => api().triggerProps, props);
3508
+ return createComponent(ark.button, mergedProps);
3363
3509
  };
3364
3510
 
3365
3511
  const Tooltip = Object.assign(Tooltip$1, {
@@ -3371,5 +3517,5 @@ const Tooltip = Object.assign(Tooltip$1, {
3371
3517
  Trigger: TooltipTrigger
3372
3518
  });
3373
3519
 
3374
- export { Accordion, AccordionItem, AccordionItemContent, AccordionItemIndicator, AccordionItemTrigger, Avatar, AvatarFallback, AvatarImage, Carousel, CarouselControl, CarouselIndicator, CarouselIndicatorGroup, CarouselItem, CarouselItemGroup, CarouselNextTrigger, CarouselPrevTrigger, CarouselViewport, Checkbox, CheckboxControl, CheckboxIndicator, CheckboxLabel, ColorPicker, ColorPickerArea, ColorPickerAreaBackground, ColorPickerAreaThumb, ColorPickerChannelInput, ColorPickerChannelSlider, ColorPickerChannelSliderThumb, ColorPickerChannelSliderTrack, ColorPickerContent, ColorPickerControl, ColorPickerEyeDropperTrigger, ColorPickerLabel, ColorPickerPositioner, ColorPickerSwatch, ColorPickerSwatchGroup, ColorPickerSwatchTrigger, ColorPickerTransparencyGrid, ColorPickerTrigger, ColorPickerValueText, Combobox, ComboboxClearTrigger, ComboboxContent, ComboboxControl, ComboboxInput, ComboboxItem, ComboboxItemGroup, ComboboxItemGroupLabel, ComboboxItemIndicator, ComboboxItemText, ComboboxLabel, ComboboxPositioner, ComboboxTrigger, DatePicker, DatePickerClearTrigger, DatePickerContent, DatePickerControl, DatePickerInput, DatePickerLabel, DatePickerMonthSelect, DatePickerNextTrigger, DatePickerPositioner, DatePickerPrevTrigger, DatePickerRangeText, DatePickerTable, DatePickerTableBody, DatePickerTableCell, DatePickerTableCellTrigger, DatePickerTableHead, DatePickerTableHeader, DatePickerTableRow, DatePickerTrigger, DatePickerView, DatePickerViewControl, DatePickerViewTrigger, DatePickerYearSelect, Dialog, DialogBackdrop, DialogCloseTrigger, DialogContent, DialogDescription, DialogPositioner, DialogTitle, DialogTrigger, Editable, EditableArea, EditableCancelTrigger, EditableControl, EditableEditTrigger, EditableInput, EditableLabel, EditablePreview, EditableSubmitTrigger, Environment, HoverCard, HoverCardArrow, HoverCardArrowTip, HoverCardContent, HoverCardPositioner, HoverCardTrigger, Menu, MenuArrow, MenuArrowTip, MenuContent, MenuContextTrigger, MenuItem, MenuItemGroup, MenuItemGroupLabel, MenuOptionItem, MenuPositioner, MenuSeparator, MenuTrigger, MenuTriggerItem, NumberInput, NumberInputControl, NumberInputDecrementTrigger, NumberInputIncrementTrigger, NumberInputInput, NumberInputLabel, NumberInputScrubber, Pagination, PaginationEllipsis, PaginationItem, PaginationNextTrigger, PaginationPrevTrigger, PinInput, PinInputControl, PinInputInput, PinInputLabel, Popover, PopoverAnchor, PopoverArrow, PopoverArrowTip, PopoverCloseTrigger, PopoverContent, PopoverDescription, PopoverIndicator, PopoverPositioner, PopoverTitle, PopoverTrigger, Presence, RadioGroup, RadioGroupItem, RadioGroupItemControl, RadioGroupItemText, RadioGroupLabel, RatingGroup, RatingGroupControl, RatingGroupItem, RatingGroupLabel, SegmentGroup, SegmentGroupIndicator, SegmentGroupItem, SegmentGroupItemControl, SegmentGroupItemText, SegmentGroupLabel, Select, SelectClearTrigger, SelectContent, SelectControl, SelectIndicator, SelectItem, SelectItemGroup, SelectItemGroupLabel, SelectItemIndicator, SelectItemText, SelectLabel, SelectPositioner, SelectTrigger, SelectValueText, Slider, SliderControl, SliderLabel, SliderMarker, SliderMarkerGroup, SliderRange, SliderThumb, SliderTrack, SliderValueText, Splitter, SplitterPanel, SplitterResizeTrigger, Switch, SwitchControl, SwitchLabel, SwitchThumb, TabContent, TabIndicator, TabList, TabTrigger, Tabs, TagsInput, TagsInputClearTrigger, TagsInputControl, TagsInputInput, TagsInputItem, TagsInputItemDeleteTrigger, TagsInputItemInput, TagsInputItemText, TagsInputLabel, Toast, ToastCloseTrigger, ToastDescription, ToastTitle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipArrow, TooltipArrowTip, TooltipContent, TooltipPositioner, TooltipTrigger, ark, createToaster, splitPresenceProps, useAccordionContext, useAccordionItemContext, useAvatarContext, useCarouselContext, useCheckboxContext, useColorPickerAreaContext, useColorPickerChannelSliderContext, useColorPickerContext, useComboboxContext, useDatePickerContext, useDatePickerTableCellContext, useDatePickerTableContext, useDatePickerViewContext, useDialogContext, useEditableContext, useEnvironmentContext, useHoverCardContext, useMenuContext, useNumberInputContext, usePaginationContext, usePinInputContext, usePopoverContext, useRadioGroupContext, useRadioGroupItemContext, useRatingGroupContext, useRatingGroupItemContext, useSegmentGroupContext, useSegmentGroupItemContext, useSelectContext, useSelectItemContext, useSliderContext, useSplitterContext, useSwitchContext, useTabsContext, useTagsInputContext, useTagsInputItemContext, useToggleGroupContext, useTooltipContext };
3520
+ export { Accordion, AccordionItem, AccordionItemContent, AccordionItemIndicator, AccordionItemTrigger, Avatar, AvatarFallback, AvatarImage, Carousel, CarouselControl, CarouselIndicator, CarouselIndicatorGroup, CarouselItem, CarouselItemGroup, CarouselNextTrigger, CarouselPrevTrigger, CarouselViewport, Checkbox, CheckboxControl, CheckboxIndicator, CheckboxLabel, ColorPicker, ColorPickerArea, ColorPickerAreaBackground, ColorPickerAreaThumb, ColorPickerChannelInput, ColorPickerChannelSlider, ColorPickerChannelSliderThumb, ColorPickerChannelSliderTrack, ColorPickerContent, ColorPickerControl, ColorPickerEyeDropperTrigger, ColorPickerLabel, ColorPickerPositioner, ColorPickerSwatch, ColorPickerSwatchGroup, ColorPickerSwatchTrigger, ColorPickerTransparencyGrid, ColorPickerTrigger, ColorPickerValueText, Combobox, ComboboxClearTrigger, ComboboxContent, ComboboxControl, ComboboxInput, ComboboxItem, ComboboxItemGroup, ComboboxItemGroupLabel, ComboboxItemIndicator, ComboboxItemText, ComboboxLabel, ComboboxPositioner, ComboboxTrigger, DatePicker, DatePickerClearTrigger, DatePickerContent, DatePickerControl, DatePickerInput, DatePickerLabel, DatePickerMonthSelect, DatePickerNextTrigger, DatePickerPositioner, DatePickerPrevTrigger, DatePickerRangeText, DatePickerTable, DatePickerTableBody, DatePickerTableCell, DatePickerTableCellTrigger, DatePickerTableHead, DatePickerTableHeader, DatePickerTableRow, DatePickerTrigger, DatePickerView, DatePickerViewControl, DatePickerViewTrigger, DatePickerYearSelect, Dialog, DialogBackdrop, DialogCloseTrigger, DialogContent, DialogDescription, DialogPositioner, DialogTitle, DialogTrigger, Editable, EditableArea, EditableCancelTrigger, EditableControl, EditableEditTrigger, EditableInput, EditableLabel, EditablePreview, EditableSubmitTrigger, Environment, HoverCard, HoverCardArrow, HoverCardArrowTip, HoverCardContent, HoverCardPositioner, HoverCardTrigger, Menu, MenuArrow, MenuArrowTip, MenuContent, MenuContextTrigger, MenuItem, MenuItemGroup, MenuItemGroupLabel, MenuOptionItem, MenuPositioner, MenuSeparator, MenuTrigger, MenuTriggerItem, NumberInput, NumberInputControl, NumberInputDecrementTrigger, NumberInputIncrementTrigger, NumberInputInput, NumberInputLabel, NumberInputScrubber, Pagination, PaginationEllipsis, PaginationItem, PaginationNextTrigger, PaginationPrevTrigger, PinInput, PinInputControl, PinInputInput, PinInputLabel, Popover, PopoverAnchor, PopoverArrow, PopoverArrowTip, PopoverCloseTrigger, PopoverContent, PopoverDescription, PopoverIndicator, PopoverPositioner, PopoverTitle, PopoverTrigger, Presence, PresencePropsProvider, PresenceProvider, RadioGroup, RadioGroupItem, RadioGroupItemControl, RadioGroupItemText, RadioGroupLabel, RatingGroup, RatingGroupControl, RatingGroupItem, RatingGroupLabel, SegmentGroup, SegmentGroupIndicator, SegmentGroupItem, SegmentGroupItemControl, SegmentGroupItemText, SegmentGroupLabel, Select, SelectClearTrigger, SelectContent, SelectControl, SelectIndicator, SelectItem, SelectItemGroup, SelectItemGroupLabel, SelectItemIndicator, SelectItemText, SelectLabel, SelectPositioner, SelectTrigger, SelectValueText, Slider, SliderControl, SliderLabel, SliderMarker, SliderMarkerGroup, SliderRange, SliderThumb, SliderTrack, SliderValueText, Splitter, SplitterPanel, SplitterResizeTrigger, Switch, SwitchControl, SwitchLabel, SwitchThumb, TabContent, TabIndicator, TabList, TabTrigger, Tabs, TagsInput, TagsInputClearTrigger, TagsInputControl, TagsInputInput, TagsInputItem, TagsInputItemDeleteTrigger, TagsInputItemInput, TagsInputItemText, TagsInputLabel, Toast, ToastCloseTrigger, ToastDescription, ToastTitle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipArrow, TooltipArrowTip, TooltipContent, TooltipPositioner, TooltipTrigger, ark, createToaster, splitPresenceProps, useAccordionContext, useAccordionItemContext, useAvatarContext, useCarouselContext, useCheckboxContext, useColorPickerAreaContext, useColorPickerChannelSliderContext, useColorPickerContext, useComboboxContext, useDatePickerContext, useDatePickerTableCellContext, useDatePickerTableContext, useDatePickerViewContext, useDialogContext, useEditableContext, useEnvironmentContext, useHoverCardContext, useMenuContext, useNumberInputContext, usePaginationContext, usePinInputContext, usePopoverContext, usePresence, usePresenceContext, usePresencePropsContext, useRadioGroupContext, useRadioGroupItemContext, useRatingGroupContext, useRatingGroupItemContext, useSegmentGroupContext, useSegmentGroupItemContext, useSelectContext, useSelectItemContext, useSliderContext, useSplitterContext, useSwitchContext, useTabsContext, useTagsInputContext, useTagsInputItemContext, useToggleGroupContext, useTooltipContext };
3375
3521
  //# sourceMappingURL=index.js.map