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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (346) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/cjs/index.js +590 -452
  3. package/cjs/index.js.map +1 -1
  4. package/esm/index.js +587 -454
  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 +6 -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 +9 -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 +2 -2
  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,95 @@ 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(PresenceProvider, {
1603
+ value: apiPresence,
1604
+ get children() {
1605
+ return getChildren();
1606
+ }
1607
+ });
1521
1608
  }
1522
1609
  });
1523
1610
  };
1524
1611
 
1525
- const _tmpl$$d = /*#__PURE__*/template(`<div>`);
1526
1612
  const DialogBackdrop = props => {
1527
- const [presenceProps, localProps] = splitPresenceProps(props);
1528
1613
  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
- })();
1614
+ const presenceApi = usePresenceContext();
1615
+ const mergedProps = mergeProps$2(() => api().backdropProps, props);
1616
+ return createComponent(Show, {
1617
+ get when() {
1618
+ return !presenceApi().isUnmounted;
1541
1619
  },
1542
1620
  get children() {
1543
1621
  return createComponent(ark.div, mergedProps);
1544
1622
  }
1545
- }));
1623
+ });
1546
1624
  };
1547
1625
 
1548
1626
  const DialogCloseTrigger = props => {
1549
1627
  const dialog = useDialogContext();
1550
- const triggerProps = mergeProps$2(() => dialog().triggerProps, props);
1551
- return createComponent(ark.button, triggerProps);
1628
+ const mergedProps = mergeProps$2(() => dialog().triggerProps, props);
1629
+ return createComponent(ark.button, mergedProps);
1552
1630
  };
1553
1631
 
1554
- const _tmpl$$c = /*#__PURE__*/template(`<div>`);
1555
1632
  const DialogContent = props => {
1556
- const [presenceProps, localProps] = splitPresenceProps(props);
1557
1633
  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
- })();
1634
+ const presenceApi = usePresenceContext();
1635
+ const mergedProps = mergeProps$2(() => api().contentProps, () => presenceApi().presenceProps, props);
1636
+ return createComponent(Show, {
1637
+ get when() {
1638
+ return !presenceApi().isUnmounted;
1570
1639
  },
1571
1640
  get children() {
1572
1641
  return createComponent(ark.div, mergedProps);
1573
1642
  }
1574
- }));
1643
+ });
1575
1644
  };
1576
1645
 
1577
1646
  const DialogDescription = props => {
1578
1647
  const dialog = useDialogContext();
1579
- const descriptionProps = mergeProps$2(() => dialog().descriptionProps, props);
1580
- return createComponent(ark.p, descriptionProps);
1648
+ const mergedProps = mergeProps$2(() => dialog().descriptionProps, props);
1649
+ return createComponent(ark.p, mergedProps);
1581
1650
  };
1582
1651
 
1583
1652
  const DialogPositioner = props => {
1584
- const dialog = useDialogContext();
1585
- const mergedProps = mergeProps$2(() => dialog().positionerProps, props);
1586
- return createComponent(ark.div, mergedProps);
1653
+ const api = useDialogContext();
1654
+ const presenceApi = usePresenceContext();
1655
+ const mergedProps = mergeProps$2(() => api().positionerProps, props);
1656
+ return createComponent(Show, {
1657
+ get when() {
1658
+ return !presenceApi().isUnmounted;
1659
+ },
1660
+ get children() {
1661
+ return createComponent(ark.div, mergedProps);
1662
+ }
1663
+ });
1587
1664
  };
1588
1665
 
1589
1666
  const DialogTitle = props => {
1590
1667
  const dialog = useDialogContext();
1591
- const titleProps = mergeProps$2(() => dialog().titleProps, props);
1592
- return createComponent(ark.h2, titleProps);
1668
+ const mergedProps = mergeProps$2(() => dialog().titleProps, props);
1669
+ return createComponent(ark.h2, mergedProps);
1593
1670
  };
1594
1671
 
1595
1672
  const DialogTrigger = props => {
1596
- const dialog = useDialogContext();
1597
- const triggerProps = mergeProps$2(() => dialog().triggerProps, props);
1598
- return createComponent(ark.button, triggerProps);
1673
+ const api = useDialogContext();
1674
+ const presenceApi = usePresenceContext();
1675
+ const mergedProps = mergeProps$2(() => api().triggerProps, () => ({
1676
+ 'aria-controls': presenceApi().isUnmounted && null
1677
+ }), props);
1678
+
1679
+ // @ts-expect-error we want aria-controls to be null to remove them if the popover if lazy mounted
1680
+ return createComponent(ark.button, mergedProps);
1599
1681
  };
1600
1682
 
1601
1683
  const Dialog = Object.assign(Dialog$1, {
@@ -1630,12 +1712,12 @@ const Editable$1 = props => {
1630
1712
  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
1713
  const editable = useEditable(useEditableProps);
1632
1714
  const [childrenProps, localProps] = splitProps(restProps, ['children']);
1633
- const rootProps = mergeProps$2(() => editable().rootProps, localProps);
1715
+ const mergedProps = mergeProps$2(() => editable().rootProps, localProps);
1634
1716
  const getChildren = () => runIfFn(childrenProps.children, editable);
1635
1717
  return createComponent(EditableProvider, {
1636
1718
  value: editable,
1637
1719
  get children() {
1638
- return createComponent(ark.div, mergeProps$1(rootProps, {
1720
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
1639
1721
  get children() {
1640
1722
  return getChildren();
1641
1723
  }
@@ -1646,50 +1728,50 @@ const Editable$1 = props => {
1646
1728
 
1647
1729
  const EditableArea = props => {
1648
1730
  const editable = useEditableContext();
1649
- const areaProps = mergeProps$2(() => editable().areaProps, props);
1650
- return createComponent(ark.div, areaProps);
1731
+ const mergedProps = mergeProps$2(() => editable().areaProps, props);
1732
+ return createComponent(ark.div, mergedProps);
1651
1733
  };
1652
1734
 
1653
1735
  const EditableCancelTrigger = props => {
1654
1736
  const editable = useEditableContext();
1655
- const triggerProps = mergeProps$2(() => editable().cancelTriggerProps, props);
1656
- return createComponent(ark.button, triggerProps);
1737
+ const mergedProps = mergeProps$2(() => editable().cancelTriggerProps, props);
1738
+ return createComponent(ark.button, mergedProps);
1657
1739
  };
1658
1740
 
1659
1741
  const EditableControl = props => {
1660
1742
  const editable = useEditableContext();
1661
- const controlProps = mergeProps$2(() => editable().controlProps, props);
1662
- return createComponent(ark.div, controlProps);
1743
+ const mergedProps = mergeProps$2(() => editable().controlProps, props);
1744
+ return createComponent(ark.div, mergedProps);
1663
1745
  };
1664
1746
 
1665
1747
  const EditableEditTrigger = props => {
1666
1748
  const editable = useEditableContext();
1667
- const triggerProps = mergeProps$2(() => editable().editTriggerProps, props);
1668
- return createComponent(ark.button, triggerProps);
1749
+ const mergedProps = mergeProps$2(() => editable().editTriggerProps, props);
1750
+ return createComponent(ark.button, mergedProps);
1669
1751
  };
1670
1752
 
1671
1753
  const EditableInput = props => {
1672
1754
  const editable = useEditableContext();
1673
- const inputProps = mergeProps$2(() => editable().inputProps, props);
1674
- return createComponent(ark.input, inputProps);
1755
+ const mergedProps = mergeProps$2(() => editable().inputProps, props);
1756
+ return createComponent(ark.input, mergedProps);
1675
1757
  };
1676
1758
 
1677
1759
  const EditableLabel = props => {
1678
1760
  const editable = useEditableContext();
1679
- const labelProps = mergeProps$2(() => editable().labelProps, props);
1680
- return createComponent(ark.label, labelProps);
1761
+ const mergedProps = mergeProps$2(() => editable().labelProps, props);
1762
+ return createComponent(ark.label, mergedProps);
1681
1763
  };
1682
1764
 
1683
1765
  const EditablePreview = props => {
1684
1766
  const editable = useEditableContext();
1685
- const previewProps = mergeProps$2(() => editable().previewProps, props);
1686
- return createComponent(ark.span, previewProps);
1767
+ const mergedProps = mergeProps$2(() => editable().previewProps, props);
1768
+ return createComponent(ark.span, mergedProps);
1687
1769
  };
1688
1770
 
1689
1771
  const EditableSubmitTrigger = props => {
1690
1772
  const dialog = useEditableContext();
1691
- const triggerProps = mergeProps$2(() => dialog().submitTriggerProps, props);
1692
- return createComponent(ark.button, triggerProps);
1773
+ const mergedProps = mergeProps$2(() => dialog().submitTriggerProps, props);
1774
+ return createComponent(ark.button, mergedProps);
1693
1775
  };
1694
1776
 
1695
1777
  const Editable = Object.assign(Editable$1, {
@@ -1722,62 +1804,70 @@ const useHoverCard = props => {
1722
1804
  };
1723
1805
 
1724
1806
  const HoverCard$1 = props => {
1725
- const [hoverCardProps, localProps] = createSplitProps()(props, ['closeDelay', 'dir', 'getRootNode', 'id', 'ids', 'onOpenChange', 'open', 'openDelay', 'positioning']);
1726
- const api = useHoverCard(hoverCardProps);
1807
+ const [presenceProps, hoverCardProps] = splitPresenceProps(props);
1808
+ const [useHoverCardProps, localProps] = createSplitProps()(hoverCardProps, ['closeDelay', 'dir', 'getRootNode', 'id', 'ids', 'onOpenChange', 'open', 'openDelay', 'positioning']);
1809
+ const api = useHoverCard(useHoverCardProps);
1810
+ const apiPresence = usePresence(mergeProps$2(presenceProps, () => ({
1811
+ present: api().isOpen
1812
+ })));
1727
1813
  const getChildren = () => runIfFn(localProps.children, api);
1728
1814
  return createComponent(HoverCardProvider, {
1729
1815
  value: api,
1730
1816
  get children() {
1731
- return getChildren();
1817
+ return createComponent(PresenceProvider, {
1818
+ value: apiPresence,
1819
+ get children() {
1820
+ return getChildren();
1821
+ }
1822
+ });
1732
1823
  }
1733
1824
  });
1734
1825
  };
1735
1826
 
1736
1827
  const HoverCardArrow = props => {
1737
1828
  const hoverCard = useHoverCardContext();
1738
- const arrowProps = mergeProps$2(() => hoverCard().arrowProps, props);
1739
- return createComponent(ark.div, arrowProps);
1829
+ const mergedProps = mergeProps$2(() => hoverCard().arrowProps, props);
1830
+ return createComponent(ark.div, mergedProps);
1740
1831
  };
1741
1832
 
1742
1833
  const HoverCardArrowTip = props => {
1743
1834
  const hoverCard = useHoverCardContext();
1744
- const tipProps = mergeProps$2(() => hoverCard().arrowTipProps, props);
1745
- return createComponent(ark.div, tipProps);
1835
+ const mergedProps = mergeProps$2(() => hoverCard().arrowTipProps, props);
1836
+ return createComponent(ark.div, mergedProps);
1746
1837
  };
1747
1838
 
1748
- const _tmpl$$b = /*#__PURE__*/template(`<div>`);
1749
1839
  const HoverCardContent = props => {
1750
- const [presenceProps, localProps] = splitPresenceProps(props);
1751
1840
  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
- })();
1841
+ const presenceApi = usePresenceContext();
1842
+ const mergedProps = mergeProps$2(() => api().contentProps, () => presenceApi().presenceProps, props);
1843
+ return createComponent(Show, {
1844
+ get when() {
1845
+ return !presenceApi().isUnmounted;
1764
1846
  },
1765
1847
  get children() {
1766
1848
  return createComponent(ark.div, mergedProps);
1767
1849
  }
1768
- }));
1850
+ });
1769
1851
  };
1770
1852
 
1771
1853
  const HoverCardPositioner = props => {
1772
- const hoverCard = useHoverCardContext();
1773
- const positionerProps = mergeProps$2(() => hoverCard().positionerProps, props);
1774
- return createComponent(ark.div, positionerProps);
1854
+ const api = useHoverCardContext();
1855
+ const presenceApi = usePresenceContext();
1856
+ const mergedProps = mergeProps$2(() => api().positionerProps, props);
1857
+ return createComponent(Show, {
1858
+ get when() {
1859
+ return !presenceApi().isUnmounted;
1860
+ },
1861
+ get children() {
1862
+ return createComponent(ark.div, mergedProps);
1863
+ }
1864
+ });
1775
1865
  };
1776
1866
 
1777
1867
  const HoverCardTrigger = props => {
1778
1868
  const hoverCard = useHoverCardContext();
1779
- const triggerProps = mergeProps$2(() => hoverCard().triggerProps, props);
1780
- return createComponent(ark.button, triggerProps);
1869
+ const mergedProps = mergeProps$2(() => hoverCard().triggerProps, props);
1870
+ return createComponent(ark.button, mergedProps);
1781
1871
  };
1782
1872
 
1783
1873
  const HoverCard = Object.assign(HoverCard$1, {
@@ -1821,25 +1911,22 @@ const useMenu = props => {
1821
1911
  };
1822
1912
 
1823
1913
  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']);
1914
+ const [presenceProps, menuProps] = splitPresenceProps(props);
1915
+ 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
1916
  const parentMenu = useMenuContext();
1826
1917
  const parentMachine = useMenuMachineContext();
1827
- const menu = useMenu(menuParams);
1918
+ const menu = useMenu(useMenuProps);
1919
+ const apiPresence = usePresence(mergeProps$2(presenceProps, () => ({
1920
+ present: menu().api().isOpen
1921
+ })));
1828
1922
  createEffect(() => {
1829
1923
  if (!parentMachine) return;
1830
1924
  parentMenu?.().setChild(menu().machine);
1831
1925
  menu().api().setParent(parentMachine());
1832
1926
  });
1833
- createEffect(() => {
1834
- if (!restProps.isOpen) return;
1835
- restProps.isOpen?.() ? menu().api().open() : menu().api().close();
1836
- });
1837
1927
  const triggerItemContext = createMemo(() => parentMenu?.().getTriggerItemProps(menu().api()));
1838
1928
  const machineContext = () => menu().machine;
1839
- const getChildren = () => runIfFn(restProps.children, () => ({
1840
- isOpen: menu?.().api().isOpen,
1841
- onClose: menu?.().api().close
1842
- }));
1929
+ const getChildren = () => runIfFn(localProps.children, menu().api);
1843
1930
  return createComponent(MenuTriggerItemProvider, {
1844
1931
  value: triggerItemContext,
1845
1932
  get children() {
@@ -1851,7 +1938,12 @@ const Menu$1 = props => {
1851
1938
  return menu().api;
1852
1939
  },
1853
1940
  get children() {
1854
- return getChildren();
1941
+ return createComponent(PresenceProvider, {
1942
+ value: apiPresence,
1943
+ get children() {
1944
+ return getChildren();
1945
+ }
1946
+ });
1855
1947
  }
1856
1948
  });
1857
1949
  }
@@ -1862,57 +1954,48 @@ const Menu$1 = props => {
1862
1954
 
1863
1955
  const MenuArrow = props => {
1864
1956
  const menu = useMenuContext();
1865
- const arrowProps = mergeProps$2(() => menu?.().arrowProps, props);
1866
- return createComponent(ark.div, arrowProps);
1957
+ const mergedProps = mergeProps$2(() => menu?.().arrowProps, props);
1958
+ return createComponent(ark.div, mergedProps);
1867
1959
  };
1868
1960
 
1869
1961
  const MenuArrowTip = props => {
1870
1962
  const menu = useMenuContext();
1871
- const arrowTipProps = mergeProps$2(() => menu?.().arrowTipProps, props);
1872
- return createComponent(ark.div, arrowTipProps);
1963
+ const mergedProps = mergeProps$2(() => menu?.().arrowTipProps, props);
1964
+ return createComponent(ark.div, mergedProps);
1873
1965
  };
1874
1966
 
1875
- const _tmpl$$a = /*#__PURE__*/template(`<div>`);
1876
1967
  const MenuContent = props => {
1877
- const [presenceProps, localProps] = splitPresenceProps(props);
1878
1968
  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
- })();
1969
+ const presenceApi = usePresenceContext();
1970
+ const mergedProps = mergeProps$2(() => api().contentProps, () => presenceApi().presenceProps, props);
1971
+ return createComponent(Show, {
1972
+ get when() {
1973
+ return !presenceApi().isUnmounted;
1891
1974
  },
1892
1975
  get children() {
1893
1976
  return createComponent(ark.div, mergedProps);
1894
1977
  }
1895
- }));
1978
+ });
1896
1979
  };
1897
1980
 
1898
1981
  const MenuContextTrigger = props => {
1899
1982
  const menu = useMenuContext();
1900
- const triggerProps = mergeProps$2(() => menu?.().contextTriggerProps, props);
1901
- return createComponent(ark.button, triggerProps);
1983
+ const mergedProps = mergeProps$2(() => menu?.().contextTriggerProps, props);
1984
+ return createComponent(ark.button, mergedProps);
1902
1985
  };
1903
1986
 
1904
1987
  const MenuItem = props => {
1905
1988
  const menu = useMenuContext();
1906
1989
  const [itemParams, restProps] = createSplitProps()(props, ['id', 'disabled', 'valueText', 'closeOnSelect']);
1907
- const itemProps = mergeProps$2(() => menu?.().getItemProps(itemParams), restProps);
1908
- return createComponent(ark.div, itemProps);
1990
+ const mergedProps = mergeProps$2(() => menu?.().getItemProps(itemParams), restProps);
1991
+ return createComponent(ark.div, mergedProps);
1909
1992
  };
1910
1993
 
1911
1994
  const MenuItemGroup = props => {
1912
1995
  const menu = useMenuContext();
1913
1996
  const [itemGroupProps, localProps] = createSplitProps()(props, ['id']);
1914
- const groupProps = mergeProps$2(() => menu?.().getItemGroupProps(itemGroupProps), localProps);
1915
- return createComponent(ark.div, groupProps);
1997
+ const mergedProps = mergeProps$2(() => menu?.().getItemGroupProps(itemGroupProps), localProps);
1998
+ return createComponent(ark.div, mergedProps);
1916
1999
  };
1917
2000
 
1918
2001
  const MenuItemGroupLabel = props => {
@@ -1927,10 +2010,10 @@ const MenuItemGroupLabel = props => {
1927
2010
  const MenuOptionItem = props => {
1928
2011
  const menu = useMenuContext();
1929
2012
  const [optionProps, localProps] = createSplitProps()(props, ['id', 'disabled', 'valueText', 'closeOnSelect', 'name', 'type', 'value', 'onCheckedChange']);
1930
- const itemProps = mergeProps$2(() => menu().getOptionItemProps(optionProps), localProps);
2013
+ const mergedProps = mergeProps$2(() => menu().getOptionItemProps(optionProps), localProps);
1931
2014
  const itemState = createMemo(() => menu().getOptionItemState(optionProps));
1932
2015
  const getChildren = () => runIfFn(localProps.children, itemState);
1933
- return createComponent(ark.div, mergeProps$1(itemProps, {
2016
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
1934
2017
  get children() {
1935
2018
  return getChildren();
1936
2019
  }
@@ -1938,27 +2021,35 @@ const MenuOptionItem = props => {
1938
2021
  };
1939
2022
 
1940
2023
  const MenuPositioner = props => {
1941
- const menu = useMenuContext();
1942
- const positionerProps = mergeProps$2(() => menu?.().positionerProps, props);
1943
- return createComponent(ark.div, positionerProps);
2024
+ const api = useMenuContext();
2025
+ const presenceApi = usePresenceContext();
2026
+ const mergedProps = mergeProps$2(() => api().positionerProps, props);
2027
+ return createComponent(Show, {
2028
+ get when() {
2029
+ return !presenceApi().isUnmounted;
2030
+ },
2031
+ get children() {
2032
+ return createComponent(ark.div, mergedProps);
2033
+ }
2034
+ });
1944
2035
  };
1945
2036
 
1946
2037
  const MenuSeparator = props => {
1947
2038
  const menu = useMenuContext();
1948
- const separatorProps = mergeProps$2(() => menu?.().separatorProps, props);
1949
- return createComponent(ark.hr, separatorProps);
2039
+ const mergedProps = mergeProps$2(() => menu?.().separatorProps, props);
2040
+ return createComponent(ark.hr, mergedProps);
1950
2041
  };
1951
2042
 
1952
2043
  const MenuTrigger = props => {
1953
2044
  const menu = useMenuContext();
1954
- const triggerProps = mergeProps$2(() => menu?.().triggerProps, props);
1955
- return createComponent(ark.button, triggerProps);
2045
+ const mergedProps = mergeProps$2(() => menu?.().triggerProps, props);
2046
+ return createComponent(ark.button, mergedProps);
1956
2047
  };
1957
2048
 
1958
2049
  const MenuTriggerItem = props => {
1959
2050
  const getTriggerItemProps = useMenuTriggerItemContext();
1960
- const triggerProps = mergeProps$2(() => getTriggerItemProps?.(), props);
1961
- return createComponent(ark.div, triggerProps);
2051
+ const mergedProps = mergeProps$2(() => getTriggerItemProps?.(), props);
2052
+ return createComponent(ark.div, mergedProps);
1962
2053
  };
1963
2054
 
1964
2055
  const Menu = Object.assign(Menu$1, {
@@ -1997,49 +2088,49 @@ const useNumberInput = props => {
1997
2088
  const NumberInput$1 = props => {
1998
2089
  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
2090
  const api = useNumberInput(useNumberInputProps);
2000
- const rootProps = mergeProps$2(() => api().rootProps, localProps);
2091
+ const mergedProps = mergeProps$2(() => api().rootProps, localProps);
2001
2092
  return createComponent(NumberInputProvider, {
2002
2093
  value: api,
2003
2094
  get children() {
2004
- return createComponent(ark.div, rootProps);
2095
+ return createComponent(ark.div, mergedProps);
2005
2096
  }
2006
2097
  });
2007
2098
  };
2008
2099
 
2009
2100
  const NumberInputControl = props => {
2010
2101
  const api = useNumberInputContext();
2011
- const controlProps = mergeProps$2(() => api().controlProps, props);
2012
- return createComponent(ark.div, controlProps);
2102
+ const mergedProps = mergeProps$2(() => api().controlProps, props);
2103
+ return createComponent(ark.div, mergedProps);
2013
2104
  };
2014
2105
 
2015
2106
  const NumberInputDecrementTrigger = props => {
2016
2107
  const api = useNumberInputContext();
2017
- const triggerProps = mergeProps$2(() => api().decrementTriggerProps, props);
2018
- return createComponent(ark.button, triggerProps);
2108
+ const mergedProps = mergeProps$2(() => api().decrementTriggerProps, props);
2109
+ return createComponent(ark.button, mergedProps);
2019
2110
  };
2020
2111
 
2021
2112
  const NumberInputInput = props => {
2022
2113
  const api = useNumberInputContext();
2023
- const inputProps = mergeProps$2(() => api().inputProps, props);
2024
- return createComponent(ark.input, inputProps);
2114
+ const mergedProps = mergeProps$2(() => api().inputProps, props);
2115
+ return createComponent(ark.input, mergedProps);
2025
2116
  };
2026
2117
 
2027
2118
  const NumberInputIncrementTrigger = props => {
2028
2119
  const api = useNumberInputContext();
2029
- const triggerProps = mergeProps$2(() => api().incrementTriggerProps, props);
2030
- return createComponent(ark.button, triggerProps);
2120
+ const mergedProps = mergeProps$2(() => api().incrementTriggerProps, props);
2121
+ return createComponent(ark.button, mergedProps);
2031
2122
  };
2032
2123
 
2033
2124
  const NumberInputLabel = props => {
2034
2125
  const api = useNumberInputContext();
2035
- const labelProps = mergeProps$2(() => api().labelProps, props);
2036
- return createComponent(ark.label, labelProps);
2126
+ const mergedProps = mergeProps$2(() => api().labelProps, props);
2127
+ return createComponent(ark.label, mergedProps);
2037
2128
  };
2038
2129
 
2039
2130
  const NumberInputScrubber = props => {
2040
2131
  const api = useNumberInputContext();
2041
- const scrubberProps = mergeProps$2(() => api().scrubberProps, props);
2042
- return createComponent(ark.div, scrubberProps);
2132
+ const mergedProps = mergeProps$2(() => api().scrubberProps, props);
2133
+ return createComponent(ark.div, mergedProps);
2043
2134
  };
2044
2135
 
2045
2136
  const NumberInput = Object.assign(NumberInput$1, {
@@ -2074,11 +2165,11 @@ const Pagination$1 = props => {
2074
2165
  const [childrenProps, localProps] = splitProps(restProps, ['children']);
2075
2166
  const api = usePagination(paginationParams);
2076
2167
  const getChildren = () => runIfFn(childrenProps.children, api);
2077
- const rootProps = mergeProps$2(() => api().rootProps, localProps);
2168
+ const mergedProps = mergeProps$2(() => api().rootProps, localProps);
2078
2169
  return createComponent(PaginationProvider, {
2079
2170
  value: api,
2080
2171
  get children() {
2081
- return createComponent(ark.nav, mergeProps$1(rootProps, {
2172
+ return createComponent(ark.nav, mergeProps$1(mergedProps, {
2082
2173
  get children() {
2083
2174
  return getChildren();
2084
2175
  }
@@ -2138,7 +2229,7 @@ const usePinInput = props => {
2138
2229
  return createMemo(() => pinInput.connect(state, send, normalizeProps));
2139
2230
  };
2140
2231
 
2141
- const _tmpl$$9 = /*#__PURE__*/template(`<input>`);
2232
+ const _tmpl$$6 = /*#__PURE__*/template(`<input>`);
2142
2233
  const PinInput$1 = props => {
2143
2234
  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
2235
  const api = usePinInput(pinInputProps);
@@ -2147,7 +2238,7 @@ const PinInput$1 = props => {
2147
2238
  value: api,
2148
2239
  get children() {
2149
2240
  return [createComponent(ark.div, mergedProps), (() => {
2150
- const _el$ = _tmpl$$9();
2241
+ const _el$ = _tmpl$$6();
2151
2242
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
2152
2243
  return _el$;
2153
2244
  })()];
@@ -2164,14 +2255,14 @@ const PinInputControl = props => {
2164
2255
  const PinInputInput = props => {
2165
2256
  const [inputParams, localProps] = splitProps(props, ['index']);
2166
2257
  const api = usePinInputContext();
2167
- const inputProps = mergeProps$2(() => api().getInputProps(inputParams), localProps);
2168
- return createComponent(ark.input, inputProps);
2258
+ const mergedProps = mergeProps$2(() => api().getInputProps(inputParams), localProps);
2259
+ return createComponent(ark.input, mergedProps);
2169
2260
  };
2170
2261
 
2171
2262
  const PinInputLabel = props => {
2172
2263
  const api = usePinInputContext();
2173
- const labelProps = mergeProps$2(() => api().labelProps, props);
2174
- return createComponent(ark.label, labelProps);
2264
+ const mergedProps = mergeProps$2(() => api().labelProps, props);
2265
+ return createComponent(ark.label, mergedProps);
2175
2266
  };
2176
2267
 
2177
2268
  const PinInput = Object.assign(PinInput$1, {
@@ -2199,67 +2290,68 @@ const usePopover = props => {
2199
2290
  };
2200
2291
 
2201
2292
  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']);
2293
+ const [presenceProps, popoverProps] = splitPresenceProps(props);
2294
+ const [usePopoverProps, localProps] = createSplitProps()(popoverProps, ['autoFocus', 'closeOnEsc', 'closeOnInteractOutside', 'dir', 'getRootNode', 'id', 'ids', 'initialFocusEl', 'modal', 'onEscapeKeyDown', 'onFocusOutside', 'onInteractOutside', 'onOpenChange', 'onPointerDownOutside', 'open', 'portalled', 'positioning']);
2203
2295
  const api = usePopover(usePopoverProps);
2296
+ const apiPresence = usePresence(mergeProps$2(presenceProps, () => ({
2297
+ present: api().isOpen
2298
+ })));
2299
+ const getChildren = () => runIfFn(localProps.children, api);
2204
2300
  return createComponent(PopoverProvider, {
2205
2301
  value: api,
2206
2302
  get children() {
2207
- return restProps.children;
2303
+ return createComponent(PresenceProvider, {
2304
+ value: apiPresence,
2305
+ get children() {
2306
+ return getChildren();
2307
+ }
2308
+ });
2208
2309
  }
2209
2310
  });
2210
2311
  };
2211
2312
 
2212
2313
  const PopoverAnchor = props => {
2213
2314
  const api = usePopoverContext();
2214
- const anchorProps = mergeProps$2(() => api().anchorProps, props);
2215
- return createComponent(ark.div, anchorProps);
2315
+ const mergedProps = mergeProps$2(() => api().anchorProps, props);
2316
+ return createComponent(ark.div, mergedProps);
2216
2317
  };
2217
2318
 
2218
2319
  const PopoverArrow = props => {
2219
2320
  const popover = usePopoverContext();
2220
- const arrowProps = mergeProps$2(() => popover().arrowProps, props);
2221
- return createComponent(ark.div, arrowProps);
2321
+ const mergedProps = mergeProps$2(() => popover().arrowProps, props);
2322
+ return createComponent(ark.div, mergedProps);
2222
2323
  };
2223
2324
 
2224
2325
  const PopoverArrowTip = props => {
2225
2326
  const popover = usePopoverContext();
2226
- const arrowTipProps = mergeProps$2(() => popover().arrowTipProps, props);
2227
- return createComponent(ark.div, arrowTipProps);
2327
+ const mergedProps = mergeProps$2(() => popover().arrowTipProps, props);
2328
+ return createComponent(ark.div, mergedProps);
2228
2329
  };
2229
2330
 
2230
2331
  const PopoverCloseTrigger = props => {
2231
2332
  const api = usePopoverContext();
2232
- const triggerProps = mergeProps$2(() => api().closeTriggerProps, props);
2233
- return createComponent(ark.button, triggerProps);
2333
+ const mergedProps = mergeProps$2(() => api().closeTriggerProps, props);
2334
+ return createComponent(ark.button, mergedProps);
2234
2335
  };
2235
2336
 
2236
- const _tmpl$$8 = /*#__PURE__*/template(`<div>`);
2237
2337
  const PopoverContent = props => {
2238
- const [presenceProps, localProps] = splitPresenceProps(props);
2239
2338
  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
- })();
2339
+ const presenceApi = usePresenceContext();
2340
+ const mergedProps = mergeProps$2(() => api().contentProps, () => presenceApi().presenceProps, props);
2341
+ return createComponent(Show, {
2342
+ get when() {
2343
+ return !presenceApi().isUnmounted;
2252
2344
  },
2253
2345
  get children() {
2254
2346
  return createComponent(ark.div, mergedProps);
2255
2347
  }
2256
- }));
2348
+ });
2257
2349
  };
2258
2350
 
2259
2351
  const PopoverDescription = props => {
2260
2352
  const api = usePopoverContext();
2261
- const descriptionProps = mergeProps$2(() => api().descriptionProps, props);
2262
- return createComponent(ark.div, descriptionProps);
2353
+ const mergedProps = mergeProps$2(() => api().descriptionProps, props);
2354
+ return createComponent(ark.div, mergedProps);
2263
2355
  };
2264
2356
 
2265
2357
  const PopoverIndicator = props => {
@@ -2270,20 +2362,33 @@ const PopoverIndicator = props => {
2270
2362
 
2271
2363
  const PopoverPositioner = props => {
2272
2364
  const api = usePopoverContext();
2273
- const positionerProps = mergeProps$2(() => api().positionerProps, props);
2274
- return createComponent(ark.div, positionerProps);
2365
+ const presenceApi = usePresenceContext();
2366
+ const mergedProps = mergeProps$2(() => api().positionerProps, props);
2367
+ return createComponent(Show, {
2368
+ get when() {
2369
+ return !presenceApi().isUnmounted;
2370
+ },
2371
+ get children() {
2372
+ return createComponent(ark.div, mergedProps);
2373
+ }
2374
+ });
2275
2375
  };
2276
2376
 
2277
2377
  const PopoverTitle = props => {
2278
2378
  const api = usePopoverContext();
2279
- const titleProps = mergeProps$2(() => api().titleProps, props);
2280
- return createComponent(ark.div, titleProps);
2379
+ const mergedProps = mergeProps$2(() => api().titleProps, props);
2380
+ return createComponent(ark.div, mergedProps);
2281
2381
  };
2282
2382
 
2283
2383
  const PopoverTrigger = props => {
2284
2384
  const api = usePopoverContext();
2285
- const triggerProps = mergeProps$2(() => api().triggerProps, props);
2286
- return createComponent(ark.button, triggerProps);
2385
+ const presenceApi = usePresenceContext();
2386
+ const mergedProps = mergeProps$2(() => api().triggerProps, () => ({
2387
+ 'aria-controls': presenceApi().isUnmounted && null
2388
+ }), props);
2389
+
2390
+ // @ts-expect-error we want aria-controls to be null to remove them if the popover if lazy mounted
2391
+ return createComponent(ark.button, mergedProps);
2287
2392
  };
2288
2393
 
2289
2394
  const Popover = Object.assign(Popover$1, {
@@ -2352,13 +2457,13 @@ const RadioGroupItem = props => {
2352
2457
  });
2353
2458
  };
2354
2459
 
2355
- const _tmpl$$7 = /*#__PURE__*/template(`<input>`);
2460
+ const _tmpl$$5 = /*#__PURE__*/template(`<input>`);
2356
2461
  const RadioGroupItemControl = props => {
2357
2462
  const api = useRadioGroupContext();
2358
2463
  const itemProps = useRadioGroupItemContext();
2359
2464
  const mergedProps = mergeProps$2(() => api().getItemControlProps(itemProps), props);
2360
2465
  return [createComponent(ark.div, mergedProps), (() => {
2361
- const _el$ = _tmpl$$7();
2466
+ const _el$ = _tmpl$$5();
2362
2467
  spread$1(_el$, mergeProps$1(() => api().getItemHiddenInputProps(itemProps)), false, false);
2363
2468
  return _el$;
2364
2469
  })()];
@@ -2415,7 +2520,7 @@ const RatingGroup$1 = props => {
2415
2520
  });
2416
2521
  };
2417
2522
 
2418
- const _tmpl$$6 = /*#__PURE__*/template(`<input>`);
2523
+ const _tmpl$$4 = /*#__PURE__*/template(`<input>`);
2419
2524
  const RatingGroupControl = props => {
2420
2525
  const api = useRatingGroupContext();
2421
2526
  const getChildren = () => runIfFn(props.children, api);
@@ -2425,7 +2530,7 @@ const RatingGroupControl = props => {
2425
2530
  return getChildren();
2426
2531
  }
2427
2532
  })), (() => {
2428
- const _el$ = _tmpl$$6();
2533
+ const _el$ = _tmpl$$4();
2429
2534
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
2430
2535
  return _el$;
2431
2536
  })()];
@@ -2437,11 +2542,11 @@ const [RatingGroupItemProvider, useRatingGroupItemContext] = createContext({
2437
2542
  });
2438
2543
 
2439
2544
  const RatingGroupItem = props => {
2440
- const [ratingParams, restProps] = createSplitProps()(props, ['index']);
2545
+ const [itemProps, localProps] = createSplitProps()(props, ['index']);
2441
2546
  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);
2547
+ const itemState = createMemo(() => api().getItemState(itemProps));
2548
+ const getChildren = () => runIfFn(localProps.children, itemState);
2549
+ const mergedProps = mergeProps$2(() => api().getItemProps(itemProps), localProps);
2445
2550
  return createComponent(RatingGroupItemProvider, {
2446
2551
  value: itemState,
2447
2552
  get children() {
@@ -2519,13 +2624,13 @@ const SegmentGroupItem = props => {
2519
2624
  });
2520
2625
  };
2521
2626
 
2522
- const _tmpl$$5 = /*#__PURE__*/template(`<input>`);
2627
+ const _tmpl$$3 = /*#__PURE__*/template(`<input>`);
2523
2628
  const SegmentGroupItemControl = props => {
2524
2629
  const api = useSegmentGroupContext();
2525
2630
  const itemProps = useSegmentGroupItemContext();
2526
2631
  const mergedProps = mergeProps$2(() => api().getItemControlProps(itemProps), segmentGroupAnatomy.build().itemControl.attrs, props);
2527
2632
  return [createComponent(ark.div, mergedProps), (() => {
2528
- const _el$ = _tmpl$$5();
2633
+ const _el$ = _tmpl$$3();
2529
2634
  spread$1(_el$, mergeProps$1(() => api().getItemHiddenInputProps(itemProps)), false, false);
2530
2635
  return _el$;
2531
2636
  })()];
@@ -2575,18 +2680,27 @@ const useSelect = props => {
2575
2680
  };
2576
2681
 
2577
2682
  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);
2683
+ const [presenceProps, selectProps] = splitPresenceProps(props);
2684
+ 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']);
2685
+ const api = useSelect(useSelectProps);
2686
+ const apiPresence = usePresence(mergeProps$2(presenceProps, () => ({
2687
+ present: api().isOpen
2688
+ })));
2580
2689
  const mergedProps = mergeProps$2(() => api().rootProps, localProps);
2581
2690
  const getChildren = () => runIfFn(localProps.children, api);
2582
2691
  return createComponent(SelectProvider, {
2583
2692
  value: api,
2584
2693
  get children() {
2585
- return createComponent(ark.div, mergeProps$1(mergedProps, {
2694
+ return createComponent(PresenceProvider, {
2695
+ value: apiPresence,
2586
2696
  get children() {
2587
- return getChildren();
2697
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
2698
+ get children() {
2699
+ return getChildren();
2700
+ }
2701
+ }));
2588
2702
  }
2589
- }));
2703
+ });
2590
2704
  }
2591
2705
  });
2592
2706
  };
@@ -2597,36 +2711,27 @@ const SelectClearTrigger = props => {
2597
2711
  return createComponent(ark.button, mergedProps);
2598
2712
  };
2599
2713
 
2600
- const _tmpl$$4 = /*#__PURE__*/template(`<div>`);
2601
2714
  const SelectContent = props => {
2602
- const [presenceProps, localProps] = splitPresenceProps(props);
2603
2715
  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
- })();
2716
+ const presenceApi = usePresenceContext();
2717
+ const mergedProps = mergeProps$2(() => api().contentProps, () => presenceApi().presenceProps, props);
2718
+ return createComponent(Show, {
2719
+ get when() {
2720
+ return !presenceApi().isUnmounted;
2616
2721
  },
2617
2722
  get children() {
2618
2723
  return createComponent(ark.div, mergedProps);
2619
2724
  }
2620
- }));
2725
+ });
2621
2726
  };
2622
2727
 
2623
- const _tmpl$$3 = /*#__PURE__*/template(`<select>`),
2728
+ const _tmpl$$2 = /*#__PURE__*/template(`<select>`),
2624
2729
  _tmpl$2 = /*#__PURE__*/template(`<option>`);
2625
2730
  const SelectControl = props => {
2626
2731
  const api = useSelectContext();
2627
2732
  const mergedProps = mergeProps$2(() => api().controlProps, props);
2628
2733
  return [createComponent(ark.div, mergedProps), (() => {
2629
- const _el$ = _tmpl$$3();
2734
+ const _el$ = _tmpl$$2();
2630
2735
  spread$1(_el$, mergeProps$1(() => api().hiddenSelectProps), false, true);
2631
2736
  insert(_el$, createComponent(Index, {
2632
2737
  get each() {
@@ -2709,8 +2814,16 @@ const SelectLabel = props => {
2709
2814
 
2710
2815
  const SelectPositioner = props => {
2711
2816
  const api = useSelectContext();
2817
+ const presenceApi = usePresenceContext();
2712
2818
  const mergedProps = mergeProps$2(() => api().positionerProps, props);
2713
- return createComponent(ark.div, mergedProps);
2819
+ return createComponent(Show, {
2820
+ get when() {
2821
+ return !presenceApi().isUnmounted;
2822
+ },
2823
+ get children() {
2824
+ return createComponent(ark.div, mergedProps);
2825
+ }
2826
+ });
2714
2827
  };
2715
2828
 
2716
2829
  const SelectTrigger = props => {
@@ -2814,8 +2927,8 @@ const SliderRange = props => {
2814
2927
  const SliderThumb = props => {
2815
2928
  const [thumbProps, localProps] = createSplitProps()(props, ['index']);
2816
2929
  const api = useSliderContext();
2817
- const mergePdrops = mergeProps$2(() => api().getThumbProps(thumbProps), localProps);
2818
- return createComponent(ark.div, mergePdrops);
2930
+ const mergedProps = mergeProps$2(() => api().getThumbProps(thumbProps), localProps);
2931
+ return createComponent(ark.div, mergedProps);
2819
2932
  };
2820
2933
 
2821
2934
  const SliderTrack = props => {
@@ -2826,11 +2939,11 @@ const SliderTrack = props => {
2826
2939
 
2827
2940
  const SliderValueText = props => {
2828
2941
  const api = useSliderContext();
2829
- const getChildren = () => runIfFn(props.children, api);
2830
2942
  const mergedProps = mergeProps$2(() => api().valueTextProps, props);
2943
+ const getChildren = children(() => props.children);
2831
2944
  return createComponent(ark.div, mergeProps$1(mergedProps, {
2832
2945
  get children() {
2833
- return getChildren();
2946
+ return getChildren() || api().value.join(',');
2834
2947
  }
2835
2948
  }));
2836
2949
  };
@@ -2868,11 +2981,11 @@ const Splitter$1 = props => {
2868
2981
  const [splitterParams, localProps] = createSplitProps()(props, ['dir', 'getRootNode', 'id', 'ids', 'onSizeChange', 'onSizeChangeEnd', 'onSizeChangeStart', 'orientation', 'size']);
2869
2982
  const api = useSplitter(splitterParams);
2870
2983
  const getChildren = () => runIfFn(localProps.children, api);
2871
- const rootProps = mergeProps$2(() => api().rootProps, localProps);
2984
+ const mergedProps = mergeProps$2(() => api().rootProps, localProps);
2872
2985
  return createComponent(SplitterProvider, {
2873
2986
  value: api,
2874
2987
  get children() {
2875
- return createComponent(ark.div, mergeProps$1(rootProps, {
2988
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
2876
2989
  get children() {
2877
2990
  return getChildren();
2878
2991
  }
@@ -2884,15 +2997,15 @@ const Splitter$1 = props => {
2884
2997
  const SplitterPanel = props => {
2885
2998
  const [panelParams, restProps] = createSplitProps()(props, ['id', 'snapSize']);
2886
2999
  const api = useSplitterContext();
2887
- const panelProps = mergeProps$2(() => api().getPanelProps(panelParams), restProps);
2888
- return createComponent(ark.div, panelProps);
3000
+ const mergedProps = mergeProps$2(() => api().getPanelProps(panelParams), restProps);
3001
+ return createComponent(ark.div, mergedProps);
2889
3002
  };
2890
3003
 
2891
3004
  const SplitterResizeTrigger = props => {
2892
3005
  const api = useSplitterContext();
2893
3006
  const [triggerParams, restProps] = createSplitProps()(props, ['disabled', 'id', 'step']);
2894
- const triggerProps = mergeProps$2(() => api().getResizeTriggerProps(triggerParams), restProps);
2895
- return createComponent(ark.button, triggerProps);
3007
+ const mergedProps = mergeProps$2(() => api().getResizeTriggerProps(triggerParams), restProps);
3008
+ return createComponent(ark.button, mergedProps);
2896
3009
  };
2897
3010
 
2898
3011
  const Splitter = Object.assign(Splitter$1, {
@@ -2935,12 +3048,12 @@ const Switch$1 = props => {
2935
3048
  });
2936
3049
  };
2937
3050
 
2938
- const _tmpl$$2 = /*#__PURE__*/template(`<input>`);
3051
+ const _tmpl$$1 = /*#__PURE__*/template(`<input>`);
2939
3052
  const SwitchControl = props => {
2940
3053
  const api = useSwitchContext();
2941
3054
  const mergedProps = mergeProps$2(() => api().controlProps, props);
2942
3055
  return [createComponent(ark.span, mergedProps), (() => {
2943
- const _el$ = _tmpl$$2();
3056
+ const _el$ = _tmpl$$1();
2944
3057
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
2945
3058
  return _el$;
2946
3059
  })()];
@@ -2948,14 +3061,14 @@ const SwitchControl = props => {
2948
3061
 
2949
3062
  const SwitchLabel = props => {
2950
3063
  const checkbox = useSwitchContext();
2951
- const labelProps = mergeProps$2(() => checkbox().labelProps, props);
2952
- return createComponent(ark.span, labelProps);
3064
+ const mergedProps = mergeProps$2(() => checkbox().labelProps, props);
3065
+ return createComponent(ark.span, mergedProps);
2953
3066
  };
2954
3067
 
2955
3068
  const SwitchThumb = props => {
2956
3069
  const checkbox = useSwitchContext();
2957
- const thumbProps = mergeProps$2(() => checkbox().thumbProps, props);
2958
- return createComponent(ark.span, thumbProps);
3070
+ const mergedProps = mergeProps$2(() => checkbox().thumbProps, props);
3071
+ return createComponent(ark.span, mergedProps);
2959
3072
  };
2960
3073
 
2961
3074
  const Switch = Object.assign(Switch$1, {
@@ -2970,44 +3083,46 @@ const [TabsProvider, useTabsContext] = createContext({
2970
3083
  providerName: '<TabsProvider />'
2971
3084
  });
2972
3085
 
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
3086
  const TabContent = props => {
2983
- const [presenceProps, localProps] = splitPresenceProps(props);
2984
- const [getContentProps, restProps] = createSplitProps()(localProps, ['value']);
3087
+ const [contentProps, localProps] = createSplitProps()(props, ['value']);
2985
3088
  const api = useTabsContext();
2986
- const contentProps = mergeProps$2(() => api().getContentProps(getContentProps), restProps);
2987
- return createComponent(TabPresence, mergeProps$1(presenceProps, getContentProps, {
3089
+ const presenceProps = usePresencePropsContext();
3090
+ const presenceApi = usePresence(mergeProps$2(presenceProps, () => ({
3091
+ present: api().value === contentProps.value
3092
+ })));
3093
+ const mergedProps = mergeProps$2(() => api().getContentProps(contentProps), () => presenceApi().presenceProps, localProps);
3094
+ return createComponent(PresenceProvider, {
3095
+ value: presenceApi,
2988
3096
  get children() {
2989
- return createComponent(ark.div, contentProps);
3097
+ return createComponent(Show, {
3098
+ get when() {
3099
+ return !presenceApi().isUnmounted;
3100
+ },
3101
+ get children() {
3102
+ return createComponent(ark.div, mergedProps);
3103
+ }
3104
+ });
2990
3105
  }
2991
- }));
3106
+ });
2992
3107
  };
2993
3108
 
2994
3109
  const TabIndicator = props => {
2995
3110
  const api = useTabsContext();
2996
- const indicatorProps = mergeProps$2(() => api().indicatorProps, props);
2997
- return createComponent(ark.div, indicatorProps);
3111
+ const mergedProps = mergeProps$2(() => api().indicatorProps, props);
3112
+ return createComponent(ark.div, mergedProps);
2998
3113
  };
2999
3114
 
3000
3115
  const TabList = props => {
3001
3116
  const api = useTabsContext();
3002
- const tablistProps = mergeProps$2(() => api().tablistProps, props);
3003
- return createComponent(ark.div, tablistProps);
3117
+ const mergedProps = mergeProps$2(() => api().tablistProps, props);
3118
+ return createComponent(ark.div, mergedProps);
3004
3119
  };
3005
3120
 
3006
3121
  const TabTrigger = props => {
3007
3122
  const [tabParams, restProps] = createSplitProps()(props, ['disabled', 'value']);
3008
3123
  const api = useTabsContext();
3009
- const triggerProps = mergeProps$2(() => api().getTriggerProps(tabParams), restProps);
3010
- return createComponent(ark.button, triggerProps);
3124
+ const mergedProps = mergeProps$2(() => api().getTriggerProps(tabParams), restProps);
3125
+ return createComponent(ark.button, mergedProps);
3011
3126
  };
3012
3127
 
3013
3128
  const useTabs = props => {
@@ -3023,13 +3138,19 @@ const useTabs = props => {
3023
3138
  };
3024
3139
 
3025
3140
  const Tabs$1 = props => {
3026
- const [tabsParams, restProps] = createSplitProps()(props, ['activationMode', 'dir', 'getRootNode', 'id', 'ids', 'loop', 'onFocusChange', 'onValueChange', 'orientation', 'translations', 'value']);
3141
+ const [presenceProps, tabsProps] = splitPresenceProps(props);
3142
+ const [tabsParams, restProps] = createSplitProps()(tabsProps, ['activationMode', 'dir', 'getRootNode', 'id', 'ids', 'loop', 'onFocusChange', 'onValueChange', 'orientation', 'translations', 'value']);
3027
3143
  const api = useTabs(tabsParams);
3028
- const rootProps = mergeProps$2(() => api().rootProps, restProps);
3144
+ const mergedProps = mergeProps$2(() => api().rootProps, restProps);
3029
3145
  return createComponent(TabsProvider, {
3030
3146
  value: api,
3031
3147
  get children() {
3032
- return createComponent(ark.div, rootProps);
3148
+ return createComponent(PresencePropsProvider, {
3149
+ value: presenceProps,
3150
+ get children() {
3151
+ return createComponent(ark.div, mergedProps);
3152
+ }
3153
+ });
3033
3154
  }
3034
3155
  });
3035
3156
  };
@@ -3059,7 +3180,7 @@ const useTagsInput = props => {
3059
3180
  return createMemo(() => tagsInput.connect(state, send, normalizeProps));
3060
3181
  };
3061
3182
 
3062
- const _tmpl$$1 = /*#__PURE__*/template(`<input>`);
3183
+ const _tmpl$ = /*#__PURE__*/template(`<input>`);
3063
3184
  const TagsInput$1 = props => {
3064
3185
  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
3186
  const api = useTagsInput(tagsInputParams);
@@ -3073,7 +3194,7 @@ const TagsInput$1 = props => {
3073
3194
  return getChildren();
3074
3195
  }
3075
3196
  })), (() => {
3076
- const _el$ = _tmpl$$1();
3197
+ const _el$ = _tmpl$();
3077
3198
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
3078
3199
  return _el$;
3079
3200
  })()];
@@ -3269,11 +3390,11 @@ const useToggleGroup = props => {
3269
3390
  const ToggleGroup$1 = props => {
3270
3391
  const [groupParams, restProps] = createSplitProps()(props, ['dir', 'disabled', 'getRootNode', 'id', 'ids', 'loop', 'multiple', 'onValueChange', 'orientation', 'rovingFocus', 'value']);
3271
3392
  const api = useToggleGroup(groupParams);
3272
- const rootProps = mergeProps$2(() => api().rootProps, restProps);
3393
+ const mergedProps = mergeProps$2(() => api().rootProps, restProps);
3273
3394
  return createComponent(ToggleGroupProvider, {
3274
3395
  value: api,
3275
3396
  get children() {
3276
- return createComponent(ark.div, rootProps);
3397
+ return createComponent(ark.div, mergedProps);
3277
3398
  }
3278
3399
  });
3279
3400
  };
@@ -3308,58 +3429,70 @@ const useTooltip = props => {
3308
3429
  };
3309
3430
 
3310
3431
  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']);
3432
+ const [presenceProps, tooltipProps] = splitPresenceProps(props);
3433
+ const [useTooltipProps, localProps] = createSplitProps()(tooltipProps, ['aria-label', 'closeDelay', 'closeOnEsc', 'closeOnPointerDown', 'dir', 'disabled', 'getRootNode', 'id', 'ids', 'interactive', 'onOpenChange', 'open', 'openDelay', 'positioning']);
3312
3434
  const api = useTooltip(useTooltipProps);
3313
- return createComponent(TooltipProvider, mergeProps$1({
3314
- value: api
3315
- }, restProps));
3435
+ const apiPresence = usePresence(mergeProps$2(presenceProps, () => ({
3436
+ present: api().isOpen
3437
+ })));
3438
+ const getChildren = () => runIfFn(localProps.children, api);
3439
+ return createComponent(TooltipProvider, {
3440
+ value: api,
3441
+ get children() {
3442
+ return createComponent(PresenceProvider, {
3443
+ value: apiPresence,
3444
+ get children() {
3445
+ return getChildren();
3446
+ }
3447
+ });
3448
+ }
3449
+ });
3316
3450
  };
3317
3451
 
3318
3452
  const TooltipArrow = props => {
3319
3453
  const tooltip = useTooltipContext();
3320
- const arrowProps = mergeProps$2(() => tooltip().arrowProps, props);
3321
- return createComponent(ark.div, arrowProps);
3454
+ const mergedProps = mergeProps$2(() => tooltip().arrowProps, props);
3455
+ return createComponent(ark.div, mergedProps);
3322
3456
  };
3323
3457
 
3324
3458
  const TooltipArrowTip = props => {
3325
3459
  const api = useTooltipContext();
3326
- const arrowTipProps = mergeProps$2(() => api().arrowTipProps, props);
3327
- return createComponent(ark.div, arrowTipProps);
3460
+ const mergedProps = mergeProps$2(() => api().arrowTipProps, props);
3461
+ return createComponent(ark.div, mergedProps);
3328
3462
  };
3329
3463
 
3330
- const _tmpl$ = /*#__PURE__*/template(`<div>`);
3331
3464
  const TooltipContent = props => {
3332
- const [presenceProps, localProps] = splitPresenceProps(props);
3333
3465
  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
- })();
3466
+ const presenceApi = usePresenceContext();
3467
+ const mergedProps = mergeProps$2(() => api().contentProps, () => presenceApi().presenceProps, props);
3468
+ return createComponent(Show, {
3469
+ get when() {
3470
+ return !presenceApi().isUnmounted;
3346
3471
  },
3347
3472
  get children() {
3348
- return createComponent(ark.div, contentProps);
3473
+ return createComponent(ark.div, mergedProps);
3349
3474
  }
3350
- }));
3475
+ });
3351
3476
  };
3352
3477
 
3353
3478
  const TooltipPositioner = props => {
3354
3479
  const api = useTooltipContext();
3355
- const positionerProps = mergeProps$2(() => api().positionerProps, props);
3356
- return createComponent(ark.div, positionerProps);
3480
+ const presenceApi = usePresenceContext();
3481
+ const mergedProps = mergeProps$2(() => api().positionerProps, props);
3482
+ return createComponent(Show, {
3483
+ get when() {
3484
+ return !presenceApi().isUnmounted;
3485
+ },
3486
+ get children() {
3487
+ return createComponent(ark.div, mergedProps);
3488
+ }
3489
+ });
3357
3490
  };
3358
3491
 
3359
3492
  const TooltipTrigger = props => {
3360
3493
  const api = useTooltipContext();
3361
- const triggerProps = mergeProps$2(() => api().triggerProps, props);
3362
- return createComponent(ark.button, triggerProps);
3494
+ const mergedProps = mergeProps$2(() => api().triggerProps, props);
3495
+ return createComponent(ark.button, mergedProps);
3363
3496
  };
3364
3497
 
3365
3498
  const Tooltip = Object.assign(Tooltip$1, {
@@ -3371,5 +3504,5 @@ const Tooltip = Object.assign(Tooltip$1, {
3371
3504
  Trigger: TooltipTrigger
3372
3505
  });
3373
3506
 
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 };
3507
+ 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
3508
  //# sourceMappingURL=index.js.map