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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (358) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/cjs/index.js +659 -381
  3. package/cjs/index.js.map +1 -1
  4. package/esm/index.js +655 -383
  5. package/esm/index.js.map +1 -1
  6. package/package.json +45 -45
  7. package/source/accordion/accordion-item-content.jsx +7 -6
  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 +7 -2
  17. package/source/color-picker/color-picker-positioner.jsx +6 -1
  18. package/source/color-picker/color-picker-value-text.jsx +9 -0
  19. package/source/color-picker/color-picker-view.jsx +13 -0
  20. package/source/color-picker/color-picker.jsx +8 -3
  21. package/source/color-picker/index.js +5 -1
  22. package/source/combobox/combobox-content.jsx +6 -5
  23. package/source/combobox/combobox-item-group-label.jsx +2 -2
  24. package/source/combobox/combobox-positioner.jsx +8 -3
  25. package/source/combobox/combobox.jsx +8 -3
  26. package/source/date-picker/date-picker-content.jsx +7 -2
  27. package/source/date-picker/date-picker-positioner.jsx +6 -1
  28. package/source/date-picker/date-picker-view.jsx +4 -1
  29. package/source/date-picker/date-picker.jsx +9 -4
  30. package/source/dialog/dialog-backdrop.jsx +6 -5
  31. package/source/dialog/dialog-close-trigger.jsx +2 -2
  32. package/source/dialog/dialog-content.jsx +6 -5
  33. package/source/dialog/dialog-description.jsx +2 -2
  34. package/source/dialog/dialog-positioner.jsx +8 -3
  35. package/source/dialog/dialog-title.jsx +2 -2
  36. package/source/dialog/dialog-trigger.jsx +6 -3
  37. package/source/dialog/dialog.jsx +9 -3
  38. package/source/editable/editable-area.jsx +2 -2
  39. package/source/editable/editable-cancel-trigger.jsx +2 -2
  40. package/source/editable/editable-control.jsx +2 -2
  41. package/source/editable/editable-edit-trigger.jsx +2 -2
  42. package/source/editable/editable-input.jsx +2 -2
  43. package/source/editable/editable-label.jsx +2 -2
  44. package/source/editable/editable-preview.jsx +2 -2
  45. package/source/editable/editable-submit-trigger.jsx +2 -2
  46. package/source/editable/editable.jsx +2 -2
  47. package/source/hover-card/hover-card-arrow-tip.jsx +2 -2
  48. package/source/hover-card/hover-card-arrow.jsx +2 -2
  49. package/source/hover-card/hover-card-content.jsx +6 -5
  50. package/source/hover-card/hover-card-positioner.jsx +8 -3
  51. package/source/hover-card/hover-card-trigger.jsx +2 -2
  52. package/source/hover-card/hover-card.jsx +9 -3
  53. package/source/menu/menu-arrow-tip.jsx +2 -2
  54. package/source/menu/menu-arrow.jsx +2 -2
  55. package/source/menu/menu-content.jsx +6 -5
  56. package/source/menu/menu-context-trigger.jsx +2 -2
  57. package/source/menu/menu-item-group-label.jsx +3 -5
  58. package/source/menu/menu-item-group.jsx +2 -2
  59. package/source/menu/menu-item.jsx +2 -2
  60. package/source/menu/menu-option-item.jsx +2 -2
  61. package/source/menu/menu-positioner.jsx +8 -3
  62. package/source/menu/menu-separator.jsx +2 -2
  63. package/source/menu/menu-trigger-item.jsx +2 -2
  64. package/source/menu/menu-trigger.jsx +2 -2
  65. package/source/menu/menu.jsx +11 -12
  66. package/source/number-input/number-input-control.jsx +2 -2
  67. package/source/number-input/number-input-decrement-trigger.jsx +2 -2
  68. package/source/number-input/number-input-field.jsx +2 -2
  69. package/source/number-input/number-input-increment-trigger.jsx +2 -2
  70. package/source/number-input/number-input-label.jsx +2 -2
  71. package/source/number-input/number-input-scrubber.jsx +2 -2
  72. package/source/number-input/number-input.jsx +2 -2
  73. package/source/pagination/pagination.jsx +2 -2
  74. package/source/pin-input/pin-input-field.jsx +2 -2
  75. package/source/pin-input/pin-input-label.jsx +2 -2
  76. package/source/popover/popover-anchor.jsx +2 -2
  77. package/source/popover/popover-arrow-tip.jsx +2 -2
  78. package/source/popover/popover-arrow.jsx +2 -2
  79. package/source/popover/popover-close-trigger.jsx +2 -2
  80. package/source/popover/popover-content.jsx +6 -5
  81. package/source/popover/popover-description.jsx +2 -2
  82. package/source/popover/popover-positioner.jsx +7 -2
  83. package/source/popover/popover-title.jsx +2 -2
  84. package/source/popover/popover-trigger.jsx +5 -2
  85. package/source/popover/popover.jsx +10 -2
  86. package/source/presence/index.js +4 -1
  87. package/source/presence/presence-context.js +5 -0
  88. package/source/presence/presence-props-context.js +5 -0
  89. package/source/presence/presence.jsx +9 -28
  90. package/source/presence/use-presence.js +21 -4
  91. package/source/rating-group/rating-group-item.jsx +5 -4
  92. package/source/select/select-content.jsx +6 -5
  93. package/source/select/select-control.jsx +9 -1
  94. package/source/select/select-item-group-label.jsx +2 -2
  95. package/source/select/select-positioner.jsx +6 -1
  96. package/source/select/select.jsx +8 -3
  97. package/source/slider/index.js +3 -3
  98. package/source/slider/slider-thumb.jsx +2 -2
  99. package/source/slider/slider-value-text.jsx +10 -0
  100. package/source/splitter/splitter-panel.jsx +2 -2
  101. package/source/splitter/splitter-resize-trigger.jsx +2 -2
  102. package/source/splitter/splitter.jsx +2 -2
  103. package/source/switch/switch-label.jsx +2 -2
  104. package/source/switch/switch-thumb.jsx +2 -2
  105. package/source/tabs/tab-content.jsx +11 -8
  106. package/source/tabs/tab-indicator.jsx +2 -2
  107. package/source/tabs/tab-list.jsx +2 -2
  108. package/source/tabs/tab-trigger.jsx +2 -2
  109. package/source/tabs/tabs.jsx +7 -3
  110. package/source/toggle-group/toggle-group.jsx +2 -2
  111. package/source/tooltip/tooltip-arrow-tip.jsx +2 -2
  112. package/source/tooltip/tooltip-arrow.jsx +2 -2
  113. package/source/tooltip/tooltip-content.jsx +7 -6
  114. package/source/tooltip/tooltip-positioner.jsx +7 -2
  115. package/source/tooltip/tooltip-trigger.jsx +2 -2
  116. package/source/tooltip/tooltip.jsx +10 -2
  117. package/types/accordion/accordion-context.d.ts +3 -2
  118. package/types/accordion/accordion-item-content.d.ts +2 -2
  119. package/types/accordion/accordion-item-context.d.ts +3 -2
  120. package/types/accordion/accordion-item-indicator.d.ts +2 -1
  121. package/types/accordion/accordion-item-trigger.d.ts +2 -1
  122. package/types/accordion/accordion-item.d.ts +5 -4
  123. package/types/accordion/accordion.d.ts +3 -1
  124. package/types/accordion/use-accordion.d.ts +4 -2
  125. package/types/avatar/avatar-context.d.ts +3 -2
  126. package/types/avatar/avatar-fallback.d.ts +2 -1
  127. package/types/avatar/avatar-image.d.ts +2 -1
  128. package/types/avatar/avatar.d.ts +2 -1
  129. package/types/avatar/use-avatar.d.ts +4 -2
  130. package/types/carousel/carousel-context.d.ts +3 -2
  131. package/types/carousel/carousel-control.d.ts +2 -1
  132. package/types/carousel/carousel-indicator-group.d.ts +2 -1
  133. package/types/carousel/carousel-indicator.d.ts +2 -1
  134. package/types/carousel/carousel-next-trigger.d.ts +2 -1
  135. package/types/carousel/carousel-prev-trigger.d.ts +2 -1
  136. package/types/carousel/carousel-slide-group.d.ts +2 -1
  137. package/types/carousel/carousel-slide.d.ts +2 -1
  138. package/types/carousel/carousel-viewport.d.ts +2 -1
  139. package/types/carousel/carousel.d.ts +7 -3
  140. package/types/carousel/use-carousel.d.ts +4 -2
  141. package/types/checkbox/checkbox-context.d.ts +3 -2
  142. package/types/checkbox/checkbox-control.d.ts +2 -1
  143. package/types/checkbox/checkbox-indicator.d.ts +2 -1
  144. package/types/checkbox/checkbox-label.d.ts +2 -1
  145. package/types/checkbox/checkbox.d.ts +5 -5
  146. package/types/checkbox/use-checkbox.d.ts +4 -2
  147. package/types/color-picker/color-picker-transparency-grid.d.ts +2 -2
  148. package/types/color-picker/color-picker-value-text.d.ts +5 -0
  149. package/types/color-picker/color-picker-view.d.ts +7 -0
  150. package/types/color-picker/color-picker.d.ts +5 -3
  151. package/types/color-picker/index.d.ts +8 -4
  152. package/types/combobox/combobox-clear-trigger.d.ts +2 -1
  153. package/types/combobox/combobox-content.d.ts +2 -2
  154. package/types/combobox/combobox-context.d.ts +2 -1
  155. package/types/combobox/combobox-control.d.ts +2 -1
  156. package/types/combobox/combobox-input.d.ts +2 -1
  157. package/types/combobox/combobox-item-context.d.ts +3 -2
  158. package/types/combobox/combobox-item-group-label.d.ts +6 -2
  159. package/types/combobox/combobox-item-group.d.ts +2 -1
  160. package/types/combobox/combobox-item-indicator.d.ts +2 -1
  161. package/types/combobox/combobox-item-text.d.ts +2 -1
  162. package/types/combobox/combobox-item.d.ts +5 -4
  163. package/types/combobox/combobox-label.d.ts +2 -1
  164. package/types/combobox/combobox-positioner.d.ts +2 -1
  165. package/types/combobox/combobox-trigger.d.ts +2 -1
  166. package/types/combobox/combobox.d.ts +7 -6
  167. package/types/combobox/use-combobox.d.ts +2 -1
  168. package/types/date-picker/date-picker-context.d.ts +3 -2
  169. package/types/date-picker/date-picker-view.d.ts +4 -3
  170. package/types/date-picker/date-picker.d.ts +5 -3
  171. package/types/dialog/dialog-backdrop.d.ts +2 -2
  172. package/types/dialog/dialog-close-trigger.d.ts +2 -1
  173. package/types/dialog/dialog-content.d.ts +2 -2
  174. package/types/dialog/dialog-context.d.ts +3 -2
  175. package/types/dialog/dialog-description.d.ts +2 -1
  176. package/types/dialog/dialog-positioner.d.ts +2 -1
  177. package/types/dialog/dialog-title.d.ts +2 -1
  178. package/types/dialog/dialog-trigger.d.ts +2 -1
  179. package/types/dialog/dialog.d.ts +4 -3
  180. package/types/dialog/use-dialog.d.ts +4 -2
  181. package/types/editable/editable-area.d.ts +2 -1
  182. package/types/editable/editable-cancel-trigger.d.ts +2 -1
  183. package/types/editable/editable-context.d.ts +3 -2
  184. package/types/editable/editable-control.d.ts +2 -1
  185. package/types/editable/editable-edit-trigger.d.ts +2 -1
  186. package/types/editable/editable-input.d.ts +2 -1
  187. package/types/editable/editable-label.d.ts +2 -1
  188. package/types/editable/editable-preview.d.ts +2 -1
  189. package/types/editable/editable-submit-trigger.d.ts +2 -1
  190. package/types/editable/editable.d.ts +5 -5
  191. package/types/editable/use-editable.d.ts +4 -2
  192. package/types/environment/environment.d.ts +2 -2
  193. package/types/hover-card/hover-card-arrow-tip.d.ts +2 -1
  194. package/types/hover-card/hover-card-arrow.d.ts +2 -1
  195. package/types/hover-card/hover-card-content.d.ts +2 -2
  196. package/types/hover-card/hover-card-context.d.ts +3 -2
  197. package/types/hover-card/hover-card-positioner.d.ts +2 -1
  198. package/types/hover-card/hover-card-trigger.d.ts +2 -1
  199. package/types/hover-card/hover-card.d.ts +4 -3
  200. package/types/hover-card/use-hover-card.d.ts +4 -2
  201. package/types/menu/menu-arrow-tip.d.ts +2 -1
  202. package/types/menu/menu-arrow.d.ts +2 -1
  203. package/types/menu/menu-content.d.ts +2 -2
  204. package/types/menu/menu-context-trigger.d.ts +2 -1
  205. package/types/menu/menu-item-group-label.d.ts +5 -4
  206. package/types/menu/menu-item-group.d.ts +2 -1
  207. package/types/menu/menu-item.d.ts +2 -1
  208. package/types/menu/menu-option-item.d.ts +3 -2
  209. package/types/menu/menu-positioner.d.ts +2 -1
  210. package/types/menu/menu-separator.d.ts +2 -1
  211. package/types/menu/menu-trigger-item.d.ts +2 -1
  212. package/types/menu/menu-trigger.d.ts +2 -1
  213. package/types/menu/menu.d.ts +6 -9
  214. package/types/menu/use-menu.d.ts +2 -1
  215. package/types/number-input/number-input-context.d.ts +3 -2
  216. package/types/number-input/number-input-control.d.ts +2 -1
  217. package/types/number-input/number-input-decrement-trigger.d.ts +2 -1
  218. package/types/number-input/number-input-field.d.ts +2 -1
  219. package/types/number-input/number-input-increment-trigger.d.ts +2 -1
  220. package/types/number-input/number-input-label.d.ts +2 -1
  221. package/types/number-input/number-input-scrubber.d.ts +2 -1
  222. package/types/number-input/number-input.d.ts +2 -1
  223. package/types/number-input/use-number-input.d.ts +4 -2
  224. package/types/pagination/pagination-context.d.ts +3 -2
  225. package/types/pagination/pagination-ellipsis.d.ts +2 -1
  226. package/types/pagination/pagination-item.d.ts +2 -1
  227. package/types/pagination/pagination.d.ts +4 -3
  228. package/types/pagination/use-pagination.d.ts +4 -2
  229. package/types/pin-input/pin-input-context.d.ts +3 -2
  230. package/types/pin-input/pin-input-control.d.ts +2 -1
  231. package/types/pin-input/pin-input-field.d.ts +3 -2
  232. package/types/pin-input/pin-input-label.d.ts +2 -1
  233. package/types/pin-input/pin-input.d.ts +2 -1
  234. package/types/pin-input/use-pin-input.d.ts +4 -2
  235. package/types/popover/popover-anchor.d.ts +2 -1
  236. package/types/popover/popover-arrow-tip.d.ts +2 -1
  237. package/types/popover/popover-arrow.d.ts +2 -1
  238. package/types/popover/popover-close-trigger.d.ts +2 -1
  239. package/types/popover/popover-content.d.ts +2 -2
  240. package/types/popover/popover-context.d.ts +3 -2
  241. package/types/popover/popover-description.d.ts +2 -1
  242. package/types/popover/popover-indicator.d.ts +2 -1
  243. package/types/popover/popover-positioner.d.ts +2 -1
  244. package/types/popover/popover-title.d.ts +2 -1
  245. package/types/popover/popover-trigger.d.ts +2 -1
  246. package/types/popover/popover.d.ts +5 -4
  247. package/types/popover/use-popover.d.ts +4 -2
  248. package/types/presence/index.d.ts +5 -2
  249. package/types/presence/presence-context.d.ts +4 -0
  250. package/types/presence/presence-props-context.d.ts +4 -0
  251. package/types/presence/presence.d.ts +4 -15
  252. package/types/presence/split-presence-props.d.ts +2 -2
  253. package/types/presence/use-presence.d.ts +23 -2
  254. package/types/radio-group/radio-group-context.d.ts +3 -2
  255. package/types/radio-group/radio-group-indicator.d.ts +2 -1
  256. package/types/radio-group/radio-group-item-context.d.ts +3 -2
  257. package/types/radio-group/radio-group-item-control.d.ts +2 -1
  258. package/types/radio-group/radio-group-item-text.d.ts +2 -1
  259. package/types/radio-group/radio-group-item.d.ts +2 -1
  260. package/types/radio-group/radio-group-label.d.ts +2 -1
  261. package/types/radio-group/radio-group.d.ts +2 -1
  262. package/types/radio-group/use-radio-group.d.ts +4 -2
  263. package/types/rating-group/rating-group-context.d.ts +3 -2
  264. package/types/rating-group/rating-group-control.d.ts +6 -5
  265. package/types/rating-group/rating-group-item-context.d.ts +4 -2
  266. package/types/rating-group/rating-group-item.d.ts +6 -6
  267. package/types/rating-group/rating-group-label.d.ts +2 -1
  268. package/types/rating-group/rating-group.d.ts +2 -1
  269. package/types/rating-group/use-rating-group.d.ts +4 -2
  270. package/types/segment-group/segment-group-context.d.ts +3 -2
  271. package/types/segment-group/segment-group-indicator.d.ts +2 -1
  272. package/types/segment-group/segment-group-item-control.d.ts +2 -1
  273. package/types/segment-group/segment-group-item-text.d.ts +2 -1
  274. package/types/segment-group/segment-group-item.d.ts +2 -1
  275. package/types/segment-group/segment-group-label.d.ts +2 -1
  276. package/types/segment-group/segment-group.d.ts +2 -1
  277. package/types/segment-group/use-segment-group.d.ts +4 -2
  278. package/types/select/select-clear-trigger.d.ts +2 -1
  279. package/types/select/select-content.d.ts +2 -2
  280. package/types/select/select-context.d.ts +2 -1
  281. package/types/select/select-control.d.ts +2 -1
  282. package/types/select/select-indicator.d.ts +2 -1
  283. package/types/select/select-item-context.d.ts +2 -1
  284. package/types/select/select-item-group-label.d.ts +6 -2
  285. package/types/select/select-item-group.d.ts +2 -1
  286. package/types/select/select-item-indicator.d.ts +2 -1
  287. package/types/select/select-item-text.d.ts +2 -1
  288. package/types/select/select-item.d.ts +5 -4
  289. package/types/select/select-label.d.ts +2 -1
  290. package/types/select/select-positioner.d.ts +2 -1
  291. package/types/select/select-trigger.d.ts +2 -1
  292. package/types/select/select.d.ts +7 -6
  293. package/types/select/use-select.d.ts +2 -1
  294. package/types/slider/index.d.ts +4 -4
  295. package/types/slider/slider-context.d.ts +3 -2
  296. package/types/slider/slider-control.d.ts +2 -1
  297. package/types/slider/slider-label.d.ts +2 -1
  298. package/types/slider/slider-marker-group.d.ts +2 -1
  299. package/types/slider/slider-marker.d.ts +2 -1
  300. package/types/slider/slider-range.d.ts +2 -1
  301. package/types/slider/slider-thumb.d.ts +2 -1
  302. package/types/slider/slider-track.d.ts +2 -1
  303. package/types/slider/slider-value-text.d.ts +4 -0
  304. package/types/slider/slider.d.ts +4 -3
  305. package/types/slider/use-slider.d.ts +4 -2
  306. package/types/splitter/splitter-context.d.ts +3 -2
  307. package/types/splitter/splitter-panel.d.ts +2 -1
  308. package/types/splitter/splitter-resize-trigger.d.ts +2 -1
  309. package/types/splitter/splitter.d.ts +4 -3
  310. package/types/splitter/use-splitter.d.ts +4 -2
  311. package/types/switch/switch-context.d.ts +3 -2
  312. package/types/switch/switch-control.d.ts +2 -1
  313. package/types/switch/switch-label.d.ts +2 -1
  314. package/types/switch/switch-thumb.d.ts +2 -1
  315. package/types/switch/switch.d.ts +5 -5
  316. package/types/switch/use-switch.d.ts +4 -2
  317. package/types/tabs/tab-content.d.ts +2 -2
  318. package/types/tabs/tab-indicator.d.ts +2 -1
  319. package/types/tabs/tab-list.d.ts +2 -1
  320. package/types/tabs/tab-trigger.d.ts +2 -1
  321. package/types/tabs/tabs-context.d.ts +3 -2
  322. package/types/tabs/tabs.d.ts +3 -1
  323. package/types/tabs/use-tabs.d.ts +4 -2
  324. package/types/tags-input/tags-input-clear-trigger.d.ts +2 -1
  325. package/types/tags-input/tags-input-context.d.ts +3 -2
  326. package/types/tags-input/tags-input-control.d.ts +2 -1
  327. package/types/tags-input/tags-input-input.d.ts +2 -1
  328. package/types/tags-input/tags-input-item-context.d.ts +3 -2
  329. package/types/tags-input/tags-input-item-delete-trigger.d.ts +2 -1
  330. package/types/tags-input/tags-input-item-input.d.ts +2 -1
  331. package/types/tags-input/tags-input-item-text.d.ts +2 -1
  332. package/types/tags-input/tags-input-item.d.ts +5 -4
  333. package/types/tags-input/tags-input-label.d.ts +2 -1
  334. package/types/tags-input/tags-input.d.ts +5 -5
  335. package/types/tags-input/use-tags-input.d.ts +4 -2
  336. package/types/toast/toast-close-trigger.d.ts +2 -1
  337. package/types/toast/toast-description.d.ts +2 -1
  338. package/types/toast/toast-title.d.ts +2 -1
  339. package/types/toast/toast.d.ts +2 -1
  340. package/types/toggle-group/toggle-group-context.d.ts +3 -2
  341. package/types/toggle-group/toggle-group.d.ts +2 -1
  342. package/types/toggle-group/use-toggle-group.d.ts +4 -2
  343. package/types/tooltip/tooltip-arrow-tip.d.ts +2 -1
  344. package/types/tooltip/tooltip-arrow.d.ts +2 -1
  345. package/types/tooltip/tooltip-content.d.ts +2 -2
  346. package/types/tooltip/tooltip-context.d.ts +3 -2
  347. package/types/tooltip/tooltip-positioner.d.ts +2 -1
  348. package/types/tooltip/tooltip-trigger.d.ts +2 -1
  349. package/types/tooltip/tooltip.d.ts +6 -5
  350. package/types/tooltip/use-tooltip.d.ts +4 -2
  351. package/source/slider/slider-output.jsx +0 -10
  352. package/source/tabs/tab-presence.jsx +0 -6
  353. package/types/slider/slider-output.d.ts +0 -8
  354. package/types/tabs/tab-presence.d.ts +0 -4
  355. /package/source/date-picker/{use-date-picker.jsx → use-date-picker.js} +0 -0
  356. /package/source/radio-group/{use-radio-group.jsx → use-radio-group.js} +0 -0
  357. /package/source/rating-group/{use-rating-group.jsx → use-rating-group.js} +0 -0
  358. /package/source/segment-group/{use-segment-group.jsx → use-segment-group.js} +0 -0
package/esm/index.js CHANGED
@@ -1,11 +1,11 @@
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, onCleanup, Index } 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
- import { carouselAnatomy, segmentGroupAnatomy, selectAnatomy } from '@ark-ui/anatomy';
8
+ import { carouselAnatomy, colorPickerAnatomy, datePickerAnatomy, segmentGroupAnatomy, selectAnatomy } from '@ark-ui/anatomy';
9
9
  import * as checkbox from '@zag-js/checkbox';
10
10
  import * as colorPicker from '@zag-js/color-picker';
11
11
  import * as combobox from '@zag-js/combobox';
@@ -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$$a = /*#__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$$a();
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,75 +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$() ? null : getChildren();
533
- })());
534
575
  };
535
576
 
536
- function splitPresenceProps(props) {
537
- return createSplitProps()(props, ['lazyMount', 'onExitComplete', 'present', 'unmountOnExit']);
538
- }
539
-
540
- const Presence = Object.assign(Presence$1, {
541
- Root: Presence$1
542
- });
543
-
544
577
  const AccordionItemContent = props => {
545
- const [presenceProps, localProps] = splitPresenceProps(props);
546
578
  const api = useAccordionContext();
547
579
  const accordionItem = useAccordionItemContext();
548
- const contentProps = mergeProps$2(() => api().getItemContentProps(accordionItem), localProps);
549
- return createComponent(Presence, mergeProps$1({
550
- get present() {
551
- return accordionItem.isOpen;
552
- }
553
- }, presenceProps, {
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;
585
+ },
554
586
  get children() {
555
- return createComponent(ark.div, contentProps);
587
+ return createComponent(ark.div, mergedProps);
556
588
  }
557
- }));
589
+ });
558
590
  };
559
591
 
560
592
  const AccordionItemIndicator = props => {
@@ -567,7 +599,12 @@ const AccordionItemIndicator = props => {
567
599
  const AccordionItemTrigger = props => {
568
600
  const api = useAccordionContext();
569
601
  const item = useAccordionItemContext();
570
- 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
571
608
  return createComponent(ark.button, mergedProps);
572
609
  };
573
610
 
@@ -599,25 +636,25 @@ const useAvatar = props => {
599
636
  const Avatar$1 = props => {
600
637
  const [params, localProps] = createSplitProps()(props, ['dir', 'getRootNode', 'id', 'onLoadingStatusChange']);
601
638
  const api = useAvatar(params);
602
- const rootProps = mergeProps$2(() => api().rootProps, localProps);
639
+ const mergedProps = mergeProps$2(() => api().rootProps, localProps);
603
640
  return createComponent(AvatarProvider, {
604
641
  value: api,
605
642
  get children() {
606
- return createComponent(ark.div, rootProps);
643
+ return createComponent(ark.div, mergedProps);
607
644
  }
608
645
  });
609
646
  };
610
647
 
611
648
  const AvatarFallback = props => {
612
649
  const avatar = useAvatarContext();
613
- const fallbackProps = mergeProps$2(() => avatar().fallbackProps, props);
614
- return createComponent(ark.span, fallbackProps);
650
+ const mergedProps = mergeProps$2(() => avatar().fallbackProps, props);
651
+ return createComponent(ark.span, mergedProps);
615
652
  };
616
653
 
617
654
  const AvatarImage = props => {
618
655
  const avatar = useAvatarContext();
619
- const imageProps = mergeProps$2(() => avatar().imageProps, props);
620
- return createComponent(ark.img, imageProps);
656
+ const mergedProps = mergeProps$2(() => avatar().imageProps, props);
657
+ return createComponent(ark.img, mergedProps);
621
658
  };
622
659
 
623
660
  const Avatar = Object.assign(Avatar$1, {
@@ -645,12 +682,17 @@ const useCarousel = props => {
645
682
 
646
683
  const Carousel$1 = props => {
647
684
  const [useCarouselProps, localProps] = createSplitProps()(props, ['align', 'dir', 'getRootNode', 'id', 'ids', 'index', 'loop', 'onIndexChange', 'orientation', 'slidesPerView', 'spacing']);
648
- const carousel = useCarousel(useCarouselProps);
649
- 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);
650
688
  return createComponent(CarouselProvider, {
651
- value: carousel,
689
+ value: api,
652
690
  get children() {
653
- return createComponent(ark.div, rootProps);
691
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
692
+ get children() {
693
+ return getChildren();
694
+ }
695
+ }));
654
696
  }
655
697
  });
656
698
  };
@@ -750,12 +792,12 @@ const Checkbox$1 = props => {
750
792
  });
751
793
  };
752
794
 
753
- const _tmpl$$9 = /*#__PURE__*/template(`<input>`);
795
+ const _tmpl$$a = /*#__PURE__*/template(`<input>`);
754
796
  const CheckboxControl = props => {
755
797
  const api = useCheckboxContext();
756
798
  const mergedProps = mergeProps$2(() => api().controlProps, props);
757
799
  return [createComponent(ark.div, mergedProps), (() => {
758
- const _el$ = _tmpl$$9();
800
+ const _el$ = _tmpl$$a();
759
801
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
760
802
  return _el$;
761
803
  })()];
@@ -769,8 +811,8 @@ const CheckboxIndicator = props => {
769
811
 
770
812
  const CheckboxLabel = props => {
771
813
  const checkbox = useCheckboxContext();
772
- const labelProps = mergeProps$2(() => checkbox().labelProps, props);
773
- return createComponent(ark.span, labelProps);
814
+ const mergedProps = mergeProps$2(() => checkbox().labelProps, props);
815
+ return createComponent(ark.span, mergedProps);
774
816
  };
775
817
 
776
818
  const Checkbox = Object.assign(Checkbox$1, {
@@ -799,21 +841,30 @@ const useColorPicker = props => {
799
841
  return createMemo(() => colorPicker.connect(state, send, normalizeProps));
800
842
  };
801
843
 
802
- const _tmpl$$8 = /*#__PURE__*/template(`<input>`);
844
+ const _tmpl$$9 = /*#__PURE__*/template(`<input>`);
803
845
  const ColorPicker$1 = props => {
804
- const [colorPickerProps, localProps] = createSplitProps()(props, ['autoFocus', 'dir', 'disabled', 'getRootNode', 'id', 'ids', 'initialFocusEl', 'name', 'name', 'onFocusOutside', 'onInteractOutside', 'onOpenChange', 'onPointerDownOutside', 'onValueChange', 'onValueChangeEnd', 'open', 'positioning', 'readOnly', 'value']);
805
- 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
+ })));
806
852
  const mergedProps = mergeProps$2(() => api().rootProps, localProps);
807
853
  const getChildren = () => runIfFn(localProps.children, api);
808
854
  return createComponent(ColorPickerProvider, {
809
855
  value: api,
810
856
  get children() {
811
- return [createComponent(ark.div, mergeProps$1(mergedProps, {
857
+ return [createComponent(PresenceProvider, {
858
+ value: apiPresence,
812
859
  get children() {
813
- return getChildren();
860
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
861
+ get children() {
862
+ return getChildren();
863
+ }
864
+ }));
814
865
  }
815
- })), (() => {
816
- const _el$ = _tmpl$$8();
866
+ }), (() => {
867
+ const _el$ = _tmpl$$9();
817
868
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
818
869
  return _el$;
819
870
  })()];
@@ -892,8 +943,16 @@ const ColorPickerChannelSliderTrack = props => {
892
943
 
893
944
  const ColorPickerContent = props => {
894
945
  const api = useColorPickerContext();
895
- const mergedProps = mergeProps$2(() => api().contentProps, props);
896
- return createComponent(ark.div, mergedProps);
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;
951
+ },
952
+ get children() {
953
+ return createComponent(ark.div, mergedProps);
954
+ }
955
+ });
897
956
  };
898
957
 
899
958
  const ColorPickerControl = props => {
@@ -916,8 +975,16 @@ const ColorPickerLabel = props => {
916
975
 
917
976
  const ColorPickerPositioner = props => {
918
977
  const api = useColorPickerContext();
978
+ const presenceApi = usePresenceContext();
919
979
  const mergedProps = mergeProps$2(() => api().positionerProps, props);
920
- 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
+ });
921
988
  };
922
989
 
923
990
  const ColorPickerSwatch = props => {
@@ -953,6 +1020,35 @@ const ColorPickerTrigger = props => {
953
1020
  return createComponent(ark.button, mergedProps);
954
1021
  };
955
1022
 
1023
+ const ColorPickerValueText = props => {
1024
+ const api = useColorPickerContext();
1025
+ const mergedProps = mergeProps$2(() => colorPickerAnatomy.build().valueText.attrs, props);
1026
+ return createComponent(ark.span, mergeProps$1(mergedProps, {
1027
+ get children() {
1028
+ return api().valueAsString || props.children;
1029
+ }
1030
+ }));
1031
+ };
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
+
956
1052
  const ColorPicker = Object.assign(ColorPicker$1, {
957
1053
  Root: ColorPicker$1,
958
1054
  Area: ColorPickerArea,
@@ -971,7 +1067,9 @@ const ColorPicker = Object.assign(ColorPicker$1, {
971
1067
  SwatchGroup: ColorPickerSwatchGroup,
972
1068
  SwatchTrigger: ColorPickerSwatchTrigger,
973
1069
  TransparencyGrid: ColorPickerTransparencyGrid,
974
- Trigger: ColorPickerTrigger
1070
+ Trigger: ColorPickerTrigger,
1071
+ ValueText: ColorPickerValueText,
1072
+ View: ColorPickerView
975
1073
  });
976
1074
 
977
1075
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -996,18 +1094,27 @@ const useCombobox = props => {
996
1094
  };
997
1095
 
998
1096
  const Combobox$1 = props => {
999
- 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']);
1000
- 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
+ })));
1001
1103
  const mergedProps = mergeProps$2(() => api().rootProps, localProps);
1002
1104
  const getChildren = () => runIfFn(localProps.children, api);
1003
1105
  return createComponent(ComboboxProvider, {
1004
1106
  value: api,
1005
1107
  get children() {
1006
- return createComponent(ark.div, mergeProps$1(mergedProps, {
1108
+ return createComponent(PresenceProvider, {
1109
+ value: apiPresence,
1007
1110
  get children() {
1008
- return getChildren();
1111
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
1112
+ get children() {
1113
+ return getChildren();
1114
+ }
1115
+ }));
1009
1116
  }
1010
- }));
1117
+ });
1011
1118
  }
1012
1119
  });
1013
1120
  };
@@ -1019,18 +1126,17 @@ const ComboboxClearTrigger = props => {
1019
1126
  };
1020
1127
 
1021
1128
  const ComboboxContent = props => {
1022
- const [presenceProps, localProps] = splitPresenceProps(props);
1023
1129
  const api = useComboboxContext();
1024
- const mergedProps = mergeProps$2(() => api().contentProps, localProps);
1025
- return createComponent(Presence, mergeProps$1({
1026
- get present() {
1027
- return api().isOpen;
1028
- }
1029
- }, presenceProps, {
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;
1135
+ },
1030
1136
  get children() {
1031
1137
  return createComponent(ark.div, mergedProps);
1032
1138
  }
1033
- }));
1139
+ });
1034
1140
  };
1035
1141
 
1036
1142
  const ComboboxControl = props => {
@@ -1075,9 +1181,11 @@ const ComboboxItemGroup = props => {
1075
1181
  };
1076
1182
 
1077
1183
  const ComboboxItemGroupLabel = props => {
1078
- const [labelProps, localProps] = createSplitProps()(props, ['htmlFor']);
1184
+ const [labelProps, localProps] = createSplitProps()(props, ['for']);
1079
1185
  const api = useComboboxContext();
1080
- const mergedProps = mergeProps$2(() => api().getItemGroupLabelProps(labelProps), localProps);
1186
+ const mergedProps = mergeProps$2(() => api().getItemGroupLabelProps({
1187
+ htmlFor: labelProps.for
1188
+ }), localProps);
1081
1189
  return createComponent(ark.div, mergedProps);
1082
1190
  };
1083
1191
 
@@ -1102,9 +1210,17 @@ const ComboboxLabel = props => {
1102
1210
  };
1103
1211
 
1104
1212
  const ComboboxPositioner = props => {
1105
- const combobox = useComboboxContext();
1106
- const mergedProps = mergeProps$2(() => combobox().positionerProps, props);
1107
- 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
+ });
1108
1224
  };
1109
1225
 
1110
1226
  const ComboboxTrigger = props => {
@@ -1150,18 +1266,27 @@ const useDatePicker = props => {
1150
1266
  };
1151
1267
 
1152
1268
  const DatePicker$1 = props => {
1153
- const [datePickerProps, localProps] = createSplitProps()(props, ['dir', 'disabled', 'fixedWeeks', 'focusedValue', 'format', 'getRootNode', 'id', 'ids', 'inline', 'isDateUnavailable', 'isDateUnavailable', 'locale', 'max', 'messages', 'min', 'modal', 'name', 'numOfMonths', 'onFocusChange', 'onOpenChange', 'onValueChange', 'onViewChange', 'open', 'parse', 'positioning', 'readOnly', 'selectionMode', 'startOfWeek', 'timeZone', 'value', 'view']);
1154
- 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
+ })));
1155
1275
  const mergedProps = mergeProps$2(() => api().rootProps, localProps);
1156
1276
  const getChildren = () => runIfFn(localProps.children, api);
1157
1277
  return createComponent(DatePickerProvider, {
1158
1278
  value: api,
1159
1279
  get children() {
1160
- return createComponent(ark.div, mergeProps$1(mergedProps, {
1280
+ return createComponent(PresenceProvider, {
1281
+ value: apiPresence,
1161
1282
  get children() {
1162
- return getChildren();
1283
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
1284
+ get children() {
1285
+ return getChildren();
1286
+ }
1287
+ }));
1163
1288
  }
1164
- }));
1289
+ });
1165
1290
  }
1166
1291
  });
1167
1292
  };
@@ -1174,8 +1299,16 @@ const DatePickerClearTrigger = props => {
1174
1299
 
1175
1300
  const DatePickerContent = props => {
1176
1301
  const api = useDatePickerContext();
1177
- const mergedProps = mergeProps$2(() => api().contentProps, props);
1178
- return createComponent(ark.div, mergedProps);
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;
1307
+ },
1308
+ get children() {
1309
+ return createComponent(ark.div, mergedProps);
1310
+ }
1311
+ });
1179
1312
  };
1180
1313
 
1181
1314
  const DatePickerControl = props => {
@@ -1196,14 +1329,14 @@ const DatePickerLabel = props => {
1196
1329
  return createComponent(ark.label, mergedProps);
1197
1330
  };
1198
1331
 
1199
- const _tmpl$$7 = /*#__PURE__*/template(`<option>`);
1332
+ const _tmpl$$8 = /*#__PURE__*/template(`<option>`);
1200
1333
  const DatePickerMonthSelect = props => {
1201
1334
  const api = useDatePickerContext();
1202
1335
  const mergedProps = mergeProps$2(() => api().monthSelectProps, props);
1203
1336
  return createComponent(ark.select, mergeProps$1(mergedProps, {
1204
1337
  get children() {
1205
1338
  return api().getMonths().map(month => (() => {
1206
- const _el$ = _tmpl$$7();
1339
+ const _el$ = _tmpl$$8();
1207
1340
  insert(_el$, () => month.label);
1208
1341
  effect(() => _el$.value = month.value);
1209
1342
  return _el$;
@@ -1226,8 +1359,16 @@ const DatePickerNextTrigger = props => {
1226
1359
 
1227
1360
  const DatePickerPositioner = props => {
1228
1361
  const api = useDatePickerContext();
1362
+ const presenceApi = usePresenceContext();
1229
1363
  const mergedProps = mergeProps$2(() => api().positionerProps, props);
1230
- 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
+ });
1231
1372
  };
1232
1373
 
1233
1374
  const DatePickerPrevTrigger = props => {
@@ -1348,10 +1489,11 @@ const DatePickerView = props => {
1348
1489
  const [viewProps, localProps] = createSplitProps()(props, ['view']);
1349
1490
  const api = useDatePickerContext();
1350
1491
  const getChildren = () => runIfFn(localProps.children, api);
1492
+ const mergedProps = mergeProps$2(() => datePickerAnatomy.build().view.attrs, localProps);
1351
1493
  return createComponent(DatePickerViewProvider, {
1352
1494
  value: viewProps,
1353
1495
  get children() {
1354
- return createComponent(ark.div, mergeProps$1(localProps, {
1496
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
1355
1497
  get hidden() {
1356
1498
  return api().view !== viewProps.view;
1357
1499
  },
@@ -1377,7 +1519,7 @@ const DatePickerViewTrigger = props => {
1377
1519
  return createComponent(ark.button, mergedProps);
1378
1520
  };
1379
1521
 
1380
- const _tmpl$$6 = /*#__PURE__*/template(`<option>`);
1522
+ const _tmpl$$7 = /*#__PURE__*/template(`<option>`);
1381
1523
  const DatePickerYearSelect = props => {
1382
1524
  const api = useDatePickerContext();
1383
1525
  const mergedProps = mergeProps$2(() => api().yearSelectProps, props);
@@ -1387,7 +1529,7 @@ const DatePickerYearSelect = props => {
1387
1529
  from: 1_000,
1388
1530
  to: 4_000
1389
1531
  }).map(year => (() => {
1390
- const _el$ = _tmpl$$6();
1532
+ const _el$ = _tmpl$$7();
1391
1533
  _el$.value = year;
1392
1534
  insert(_el$, year);
1393
1535
  return _el$;
@@ -1447,75 +1589,95 @@ const useDialog = props => {
1447
1589
  };
1448
1590
 
1449
1591
  const Dialog$1 = props => {
1450
- 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']);
1451
- 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
+ })));
1452
1598
  const getChildren = () => runIfFn(localProps.children, api);
1453
1599
  return createComponent(DialogProvider, {
1454
1600
  value: api,
1455
1601
  get children() {
1456
- return getChildren();
1602
+ return createComponent(PresenceProvider, {
1603
+ value: apiPresence,
1604
+ get children() {
1605
+ return getChildren();
1606
+ }
1607
+ });
1457
1608
  }
1458
1609
  });
1459
1610
  };
1460
1611
 
1461
1612
  const DialogBackdrop = props => {
1462
- const [presenceProps, localProps] = splitPresenceProps(props);
1463
1613
  const api = useDialogContext();
1464
- const mergedProps = mergeProps$2(() => api().backdropProps, localProps);
1465
- return createComponent(Presence, mergeProps$1({
1466
- get present() {
1467
- return api().isOpen;
1468
- }
1469
- }, presenceProps, {
1614
+ const presenceApi = usePresenceContext();
1615
+ const mergedProps = mergeProps$2(() => api().backdropProps, props);
1616
+ return createComponent(Show, {
1617
+ get when() {
1618
+ return !presenceApi().isUnmounted;
1619
+ },
1470
1620
  get children() {
1471
1621
  return createComponent(ark.div, mergedProps);
1472
1622
  }
1473
- }));
1623
+ });
1474
1624
  };
1475
1625
 
1476
1626
  const DialogCloseTrigger = props => {
1477
1627
  const dialog = useDialogContext();
1478
- const triggerProps = mergeProps$2(() => dialog().triggerProps, props);
1479
- return createComponent(ark.button, triggerProps);
1628
+ const mergedProps = mergeProps$2(() => dialog().triggerProps, props);
1629
+ return createComponent(ark.button, mergedProps);
1480
1630
  };
1481
1631
 
1482
1632
  const DialogContent = props => {
1483
- const [presenceProps, localProps] = splitPresenceProps(props);
1484
1633
  const api = useDialogContext();
1485
- const mergedProps = mergeProps$2(() => api().contentProps, localProps);
1486
- return createComponent(Presence, mergeProps$1({
1487
- get present() {
1488
- return api().isOpen;
1489
- }
1490
- }, presenceProps, {
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;
1639
+ },
1491
1640
  get children() {
1492
1641
  return createComponent(ark.div, mergedProps);
1493
1642
  }
1494
- }));
1643
+ });
1495
1644
  };
1496
1645
 
1497
1646
  const DialogDescription = props => {
1498
1647
  const dialog = useDialogContext();
1499
- const descriptionProps = mergeProps$2(() => dialog().descriptionProps, props);
1500
- return createComponent(ark.p, descriptionProps);
1648
+ const mergedProps = mergeProps$2(() => dialog().descriptionProps, props);
1649
+ return createComponent(ark.p, mergedProps);
1501
1650
  };
1502
1651
 
1503
1652
  const DialogPositioner = props => {
1504
- const dialog = useDialogContext();
1505
- const mergedProps = mergeProps$2(() => dialog().positionerProps, props);
1506
- 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
+ });
1507
1664
  };
1508
1665
 
1509
1666
  const DialogTitle = props => {
1510
1667
  const dialog = useDialogContext();
1511
- const titleProps = mergeProps$2(() => dialog().titleProps, props);
1512
- return createComponent(ark.h2, titleProps);
1668
+ const mergedProps = mergeProps$2(() => dialog().titleProps, props);
1669
+ return createComponent(ark.h2, mergedProps);
1513
1670
  };
1514
1671
 
1515
1672
  const DialogTrigger = props => {
1516
- const dialog = useDialogContext();
1517
- const triggerProps = mergeProps$2(() => dialog().triggerProps, props);
1518
- 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);
1519
1681
  };
1520
1682
 
1521
1683
  const Dialog = Object.assign(Dialog$1, {
@@ -1550,12 +1712,12 @@ const Editable$1 = props => {
1550
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']);
1551
1713
  const editable = useEditable(useEditableProps);
1552
1714
  const [childrenProps, localProps] = splitProps(restProps, ['children']);
1553
- const rootProps = mergeProps$2(() => editable().rootProps, localProps);
1715
+ const mergedProps = mergeProps$2(() => editable().rootProps, localProps);
1554
1716
  const getChildren = () => runIfFn(childrenProps.children, editable);
1555
1717
  return createComponent(EditableProvider, {
1556
1718
  value: editable,
1557
1719
  get children() {
1558
- return createComponent(ark.div, mergeProps$1(rootProps, {
1720
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
1559
1721
  get children() {
1560
1722
  return getChildren();
1561
1723
  }
@@ -1566,50 +1728,50 @@ const Editable$1 = props => {
1566
1728
 
1567
1729
  const EditableArea = props => {
1568
1730
  const editable = useEditableContext();
1569
- const areaProps = mergeProps$2(() => editable().areaProps, props);
1570
- return createComponent(ark.div, areaProps);
1731
+ const mergedProps = mergeProps$2(() => editable().areaProps, props);
1732
+ return createComponent(ark.div, mergedProps);
1571
1733
  };
1572
1734
 
1573
1735
  const EditableCancelTrigger = props => {
1574
1736
  const editable = useEditableContext();
1575
- const triggerProps = mergeProps$2(() => editable().cancelTriggerProps, props);
1576
- return createComponent(ark.button, triggerProps);
1737
+ const mergedProps = mergeProps$2(() => editable().cancelTriggerProps, props);
1738
+ return createComponent(ark.button, mergedProps);
1577
1739
  };
1578
1740
 
1579
1741
  const EditableControl = props => {
1580
1742
  const editable = useEditableContext();
1581
- const controlProps = mergeProps$2(() => editable().controlProps, props);
1582
- return createComponent(ark.div, controlProps);
1743
+ const mergedProps = mergeProps$2(() => editable().controlProps, props);
1744
+ return createComponent(ark.div, mergedProps);
1583
1745
  };
1584
1746
 
1585
1747
  const EditableEditTrigger = props => {
1586
1748
  const editable = useEditableContext();
1587
- const triggerProps = mergeProps$2(() => editable().editTriggerProps, props);
1588
- return createComponent(ark.button, triggerProps);
1749
+ const mergedProps = mergeProps$2(() => editable().editTriggerProps, props);
1750
+ return createComponent(ark.button, mergedProps);
1589
1751
  };
1590
1752
 
1591
1753
  const EditableInput = props => {
1592
1754
  const editable = useEditableContext();
1593
- const inputProps = mergeProps$2(() => editable().inputProps, props);
1594
- return createComponent(ark.input, inputProps);
1755
+ const mergedProps = mergeProps$2(() => editable().inputProps, props);
1756
+ return createComponent(ark.input, mergedProps);
1595
1757
  };
1596
1758
 
1597
1759
  const EditableLabel = props => {
1598
1760
  const editable = useEditableContext();
1599
- const labelProps = mergeProps$2(() => editable().labelProps, props);
1600
- return createComponent(ark.label, labelProps);
1761
+ const mergedProps = mergeProps$2(() => editable().labelProps, props);
1762
+ return createComponent(ark.label, mergedProps);
1601
1763
  };
1602
1764
 
1603
1765
  const EditablePreview = props => {
1604
1766
  const editable = useEditableContext();
1605
- const previewProps = mergeProps$2(() => editable().previewProps, props);
1606
- return createComponent(ark.span, previewProps);
1767
+ const mergedProps = mergeProps$2(() => editable().previewProps, props);
1768
+ return createComponent(ark.span, mergedProps);
1607
1769
  };
1608
1770
 
1609
1771
  const EditableSubmitTrigger = props => {
1610
1772
  const dialog = useEditableContext();
1611
- const triggerProps = mergeProps$2(() => dialog().submitTriggerProps, props);
1612
- return createComponent(ark.button, triggerProps);
1773
+ const mergedProps = mergeProps$2(() => dialog().submitTriggerProps, props);
1774
+ return createComponent(ark.button, mergedProps);
1613
1775
  };
1614
1776
 
1615
1777
  const Editable = Object.assign(Editable$1, {
@@ -1642,54 +1804,70 @@ const useHoverCard = props => {
1642
1804
  };
1643
1805
 
1644
1806
  const HoverCard$1 = props => {
1645
- const [hoverCardProps, localProps] = createSplitProps()(props, ['closeDelay', 'dir', 'getRootNode', 'id', 'ids', 'onOpenChange', 'open', 'openDelay', 'positioning']);
1646
- 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
+ })));
1647
1813
  const getChildren = () => runIfFn(localProps.children, api);
1648
1814
  return createComponent(HoverCardProvider, {
1649
1815
  value: api,
1650
1816
  get children() {
1651
- return getChildren();
1817
+ return createComponent(PresenceProvider, {
1818
+ value: apiPresence,
1819
+ get children() {
1820
+ return getChildren();
1821
+ }
1822
+ });
1652
1823
  }
1653
1824
  });
1654
1825
  };
1655
1826
 
1656
1827
  const HoverCardArrow = props => {
1657
1828
  const hoverCard = useHoverCardContext();
1658
- const arrowProps = mergeProps$2(() => hoverCard().arrowProps, props);
1659
- return createComponent(ark.div, arrowProps);
1829
+ const mergedProps = mergeProps$2(() => hoverCard().arrowProps, props);
1830
+ return createComponent(ark.div, mergedProps);
1660
1831
  };
1661
1832
 
1662
1833
  const HoverCardArrowTip = props => {
1663
1834
  const hoverCard = useHoverCardContext();
1664
- const tipProps = mergeProps$2(() => hoverCard().arrowTipProps, props);
1665
- return createComponent(ark.div, tipProps);
1835
+ const mergedProps = mergeProps$2(() => hoverCard().arrowTipProps, props);
1836
+ return createComponent(ark.div, mergedProps);
1666
1837
  };
1667
1838
 
1668
1839
  const HoverCardContent = props => {
1669
- const [presenceProps, localProps] = splitPresenceProps(props);
1670
1840
  const api = useHoverCardContext();
1671
- const mergedProps = mergeProps$2(() => api().contentProps, localProps);
1672
- return createComponent(Presence, mergeProps$1({
1673
- get present() {
1674
- return api().isOpen;
1675
- }
1676
- }, presenceProps, {
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;
1846
+ },
1677
1847
  get children() {
1678
1848
  return createComponent(ark.div, mergedProps);
1679
1849
  }
1680
- }));
1850
+ });
1681
1851
  };
1682
1852
 
1683
1853
  const HoverCardPositioner = props => {
1684
- const hoverCard = useHoverCardContext();
1685
- const positionerProps = mergeProps$2(() => hoverCard().positionerProps, props);
1686
- 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
+ });
1687
1865
  };
1688
1866
 
1689
1867
  const HoverCardTrigger = props => {
1690
1868
  const hoverCard = useHoverCardContext();
1691
- const triggerProps = mergeProps$2(() => hoverCard().triggerProps, props);
1692
- return createComponent(ark.button, triggerProps);
1869
+ const mergedProps = mergeProps$2(() => hoverCard().triggerProps, props);
1870
+ return createComponent(ark.button, mergedProps);
1693
1871
  };
1694
1872
 
1695
1873
  const HoverCard = Object.assign(HoverCard$1, {
@@ -1733,25 +1911,22 @@ const useMenu = props => {
1733
1911
  };
1734
1912
 
1735
1913
  const Menu$1 = props => {
1736
- 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']);
1737
1916
  const parentMenu = useMenuContext();
1738
1917
  const parentMachine = useMenuMachineContext();
1739
- const menu = useMenu(menuParams);
1918
+ const menu = useMenu(useMenuProps);
1919
+ const apiPresence = usePresence(mergeProps$2(presenceProps, () => ({
1920
+ present: menu().api().isOpen
1921
+ })));
1740
1922
  createEffect(() => {
1741
1923
  if (!parentMachine) return;
1742
1924
  parentMenu?.().setChild(menu().machine);
1743
1925
  menu().api().setParent(parentMachine());
1744
1926
  });
1745
- createEffect(() => {
1746
- if (!restProps.isOpen) return;
1747
- restProps.isOpen?.() ? menu().api().open() : menu().api().close();
1748
- });
1749
1927
  const triggerItemContext = createMemo(() => parentMenu?.().getTriggerItemProps(menu().api()));
1750
1928
  const machineContext = () => menu().machine;
1751
- const getChildren = () => runIfFn(restProps.children, () => ({
1752
- isOpen: menu?.().api().isOpen,
1753
- onClose: menu?.().api().close
1754
- }));
1929
+ const getChildren = () => runIfFn(localProps.children, menu().api);
1755
1930
  return createComponent(MenuTriggerItemProvider, {
1756
1931
  value: triggerItemContext,
1757
1932
  get children() {
@@ -1763,7 +1938,12 @@ const Menu$1 = props => {
1763
1938
  return menu().api;
1764
1939
  },
1765
1940
  get children() {
1766
- return getChildren();
1941
+ return createComponent(PresenceProvider, {
1942
+ value: apiPresence,
1943
+ get children() {
1944
+ return getChildren();
1945
+ }
1946
+ });
1767
1947
  }
1768
1948
  });
1769
1949
  }
@@ -1774,65 +1954,66 @@ const Menu$1 = props => {
1774
1954
 
1775
1955
  const MenuArrow = props => {
1776
1956
  const menu = useMenuContext();
1777
- const arrowProps = mergeProps$2(() => menu?.().arrowProps, props);
1778
- return createComponent(ark.div, arrowProps);
1957
+ const mergedProps = mergeProps$2(() => menu?.().arrowProps, props);
1958
+ return createComponent(ark.div, mergedProps);
1779
1959
  };
1780
1960
 
1781
1961
  const MenuArrowTip = props => {
1782
1962
  const menu = useMenuContext();
1783
- const arrowTipProps = mergeProps$2(() => menu?.().arrowTipProps, props);
1784
- return createComponent(ark.div, arrowTipProps);
1963
+ const mergedProps = mergeProps$2(() => menu?.().arrowTipProps, props);
1964
+ return createComponent(ark.div, mergedProps);
1785
1965
  };
1786
1966
 
1787
1967
  const MenuContent = props => {
1788
- const [presenceProps, localProps] = splitPresenceProps(props);
1789
1968
  const api = useMenuContext();
1790
- const mergedProps = mergeProps$2(() => api?.().contentProps, localProps);
1791
- return createComponent(Presence, mergeProps$1({
1792
- get present() {
1793
- return api?.().isOpen;
1794
- }
1795
- }, presenceProps, {
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;
1974
+ },
1796
1975
  get children() {
1797
1976
  return createComponent(ark.div, mergedProps);
1798
1977
  }
1799
- }));
1978
+ });
1800
1979
  };
1801
1980
 
1802
1981
  const MenuContextTrigger = props => {
1803
1982
  const menu = useMenuContext();
1804
- const triggerProps = mergeProps$2(() => menu?.().contextTriggerProps, props);
1805
- return createComponent(ark.button, triggerProps);
1983
+ const mergedProps = mergeProps$2(() => menu?.().contextTriggerProps, props);
1984
+ return createComponent(ark.button, mergedProps);
1806
1985
  };
1807
1986
 
1808
1987
  const MenuItem = props => {
1809
1988
  const menu = useMenuContext();
1810
1989
  const [itemParams, restProps] = createSplitProps()(props, ['id', 'disabled', 'valueText', 'closeOnSelect']);
1811
- const itemProps = mergeProps$2(() => menu?.().getItemProps(itemParams), restProps);
1812
- return createComponent(ark.div, itemProps);
1990
+ const mergedProps = mergeProps$2(() => menu?.().getItemProps(itemParams), restProps);
1991
+ return createComponent(ark.div, mergedProps);
1813
1992
  };
1814
1993
 
1815
1994
  const MenuItemGroup = props => {
1816
1995
  const menu = useMenuContext();
1817
1996
  const [itemGroupProps, localProps] = createSplitProps()(props, ['id']);
1818
- const groupProps = mergeProps$2(() => menu?.().getItemGroupProps(itemGroupProps), localProps);
1819
- return createComponent(ark.div, groupProps);
1997
+ const mergedProps = mergeProps$2(() => menu?.().getItemGroupProps(itemGroupProps), localProps);
1998
+ return createComponent(ark.div, mergedProps);
1820
1999
  };
1821
2000
 
1822
2001
  const MenuItemGroupLabel = props => {
1823
2002
  const menu = useMenuContext();
1824
- const [itemGroupLabelProps, localProps] = createSplitProps()(props, ['htmlFor']);
1825
- const labelProps = mergeProps$2(() => menu?.().getItemGroupLabelProps(itemGroupLabelProps), localProps);
1826
- return createComponent(ark.label, labelProps);
2003
+ const [labelProps, localProps] = createSplitProps()(props, ['for']);
2004
+ const mergedProps = mergeProps$2(() => menu?.().getItemGroupLabelProps({
2005
+ htmlFor: labelProps.for
2006
+ }), localProps);
2007
+ return createComponent(ark.div, mergedProps);
1827
2008
  };
1828
2009
 
1829
2010
  const MenuOptionItem = props => {
1830
2011
  const menu = useMenuContext();
1831
2012
  const [optionProps, localProps] = createSplitProps()(props, ['id', 'disabled', 'valueText', 'closeOnSelect', 'name', 'type', 'value', 'onCheckedChange']);
1832
- const itemProps = mergeProps$2(() => menu().getOptionItemProps(optionProps), localProps);
2013
+ const mergedProps = mergeProps$2(() => menu().getOptionItemProps(optionProps), localProps);
1833
2014
  const itemState = createMemo(() => menu().getOptionItemState(optionProps));
1834
2015
  const getChildren = () => runIfFn(localProps.children, itemState);
1835
- return createComponent(ark.div, mergeProps$1(itemProps, {
2016
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
1836
2017
  get children() {
1837
2018
  return getChildren();
1838
2019
  }
@@ -1840,27 +2021,35 @@ const MenuOptionItem = props => {
1840
2021
  };
1841
2022
 
1842
2023
  const MenuPositioner = props => {
1843
- const menu = useMenuContext();
1844
- const positionerProps = mergeProps$2(() => menu?.().positionerProps, props);
1845
- 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
+ });
1846
2035
  };
1847
2036
 
1848
2037
  const MenuSeparator = props => {
1849
2038
  const menu = useMenuContext();
1850
- const separatorProps = mergeProps$2(() => menu?.().separatorProps, props);
1851
- return createComponent(ark.hr, separatorProps);
2039
+ const mergedProps = mergeProps$2(() => menu?.().separatorProps, props);
2040
+ return createComponent(ark.hr, mergedProps);
1852
2041
  };
1853
2042
 
1854
2043
  const MenuTrigger = props => {
1855
2044
  const menu = useMenuContext();
1856
- const triggerProps = mergeProps$2(() => menu?.().triggerProps, props);
1857
- return createComponent(ark.button, triggerProps);
2045
+ const mergedProps = mergeProps$2(() => menu?.().triggerProps, props);
2046
+ return createComponent(ark.button, mergedProps);
1858
2047
  };
1859
2048
 
1860
2049
  const MenuTriggerItem = props => {
1861
2050
  const getTriggerItemProps = useMenuTriggerItemContext();
1862
- const triggerProps = mergeProps$2(() => getTriggerItemProps?.(), props);
1863
- return createComponent(ark.div, triggerProps);
2051
+ const mergedProps = mergeProps$2(() => getTriggerItemProps?.(), props);
2052
+ return createComponent(ark.div, mergedProps);
1864
2053
  };
1865
2054
 
1866
2055
  const Menu = Object.assign(Menu$1, {
@@ -1899,49 +2088,49 @@ const useNumberInput = props => {
1899
2088
  const NumberInput$1 = props => {
1900
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']);
1901
2090
  const api = useNumberInput(useNumberInputProps);
1902
- const rootProps = mergeProps$2(() => api().rootProps, localProps);
2091
+ const mergedProps = mergeProps$2(() => api().rootProps, localProps);
1903
2092
  return createComponent(NumberInputProvider, {
1904
2093
  value: api,
1905
2094
  get children() {
1906
- return createComponent(ark.div, rootProps);
2095
+ return createComponent(ark.div, mergedProps);
1907
2096
  }
1908
2097
  });
1909
2098
  };
1910
2099
 
1911
2100
  const NumberInputControl = props => {
1912
2101
  const api = useNumberInputContext();
1913
- const controlProps = mergeProps$2(() => api().controlProps, props);
1914
- return createComponent(ark.div, controlProps);
2102
+ const mergedProps = mergeProps$2(() => api().controlProps, props);
2103
+ return createComponent(ark.div, mergedProps);
1915
2104
  };
1916
2105
 
1917
2106
  const NumberInputDecrementTrigger = props => {
1918
2107
  const api = useNumberInputContext();
1919
- const triggerProps = mergeProps$2(() => api().decrementTriggerProps, props);
1920
- return createComponent(ark.button, triggerProps);
2108
+ const mergedProps = mergeProps$2(() => api().decrementTriggerProps, props);
2109
+ return createComponent(ark.button, mergedProps);
1921
2110
  };
1922
2111
 
1923
2112
  const NumberInputInput = props => {
1924
2113
  const api = useNumberInputContext();
1925
- const inputProps = mergeProps$2(() => api().inputProps, props);
1926
- return createComponent(ark.input, inputProps);
2114
+ const mergedProps = mergeProps$2(() => api().inputProps, props);
2115
+ return createComponent(ark.input, mergedProps);
1927
2116
  };
1928
2117
 
1929
2118
  const NumberInputIncrementTrigger = props => {
1930
2119
  const api = useNumberInputContext();
1931
- const triggerProps = mergeProps$2(() => api().incrementTriggerProps, props);
1932
- return createComponent(ark.button, triggerProps);
2120
+ const mergedProps = mergeProps$2(() => api().incrementTriggerProps, props);
2121
+ return createComponent(ark.button, mergedProps);
1933
2122
  };
1934
2123
 
1935
2124
  const NumberInputLabel = props => {
1936
2125
  const api = useNumberInputContext();
1937
- const labelProps = mergeProps$2(() => api().labelProps, props);
1938
- return createComponent(ark.label, labelProps);
2126
+ const mergedProps = mergeProps$2(() => api().labelProps, props);
2127
+ return createComponent(ark.label, mergedProps);
1939
2128
  };
1940
2129
 
1941
2130
  const NumberInputScrubber = props => {
1942
2131
  const api = useNumberInputContext();
1943
- const scrubberProps = mergeProps$2(() => api().scrubberProps, props);
1944
- return createComponent(ark.div, scrubberProps);
2132
+ const mergedProps = mergeProps$2(() => api().scrubberProps, props);
2133
+ return createComponent(ark.div, mergedProps);
1945
2134
  };
1946
2135
 
1947
2136
  const NumberInput = Object.assign(NumberInput$1, {
@@ -1976,11 +2165,11 @@ const Pagination$1 = props => {
1976
2165
  const [childrenProps, localProps] = splitProps(restProps, ['children']);
1977
2166
  const api = usePagination(paginationParams);
1978
2167
  const getChildren = () => runIfFn(childrenProps.children, api);
1979
- const rootProps = mergeProps$2(() => api().rootProps, localProps);
2168
+ const mergedProps = mergeProps$2(() => api().rootProps, localProps);
1980
2169
  return createComponent(PaginationProvider, {
1981
2170
  value: api,
1982
2171
  get children() {
1983
- return createComponent(ark.nav, mergeProps$1(rootProps, {
2172
+ return createComponent(ark.nav, mergeProps$1(mergedProps, {
1984
2173
  get children() {
1985
2174
  return getChildren();
1986
2175
  }
@@ -2040,7 +2229,7 @@ const usePinInput = props => {
2040
2229
  return createMemo(() => pinInput.connect(state, send, normalizeProps));
2041
2230
  };
2042
2231
 
2043
- const _tmpl$$5 = /*#__PURE__*/template(`<input>`);
2232
+ const _tmpl$$6 = /*#__PURE__*/template(`<input>`);
2044
2233
  const PinInput$1 = props => {
2045
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']);
2046
2235
  const api = usePinInput(pinInputProps);
@@ -2049,7 +2238,7 @@ const PinInput$1 = props => {
2049
2238
  value: api,
2050
2239
  get children() {
2051
2240
  return [createComponent(ark.div, mergedProps), (() => {
2052
- const _el$ = _tmpl$$5();
2241
+ const _el$ = _tmpl$$6();
2053
2242
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
2054
2243
  return _el$;
2055
2244
  })()];
@@ -2066,14 +2255,14 @@ const PinInputControl = props => {
2066
2255
  const PinInputInput = props => {
2067
2256
  const [inputParams, localProps] = splitProps(props, ['index']);
2068
2257
  const api = usePinInputContext();
2069
- const inputProps = mergeProps$2(() => api().getInputProps(inputParams), localProps);
2070
- return createComponent(ark.input, inputProps);
2258
+ const mergedProps = mergeProps$2(() => api().getInputProps(inputParams), localProps);
2259
+ return createComponent(ark.input, mergedProps);
2071
2260
  };
2072
2261
 
2073
2262
  const PinInputLabel = props => {
2074
2263
  const api = usePinInputContext();
2075
- const labelProps = mergeProps$2(() => api().labelProps, props);
2076
- return createComponent(ark.label, labelProps);
2264
+ const mergedProps = mergeProps$2(() => api().labelProps, props);
2265
+ return createComponent(ark.label, mergedProps);
2077
2266
  };
2078
2267
 
2079
2268
  const PinInput = Object.assign(PinInput$1, {
@@ -2101,59 +2290,68 @@ const usePopover = props => {
2101
2290
  };
2102
2291
 
2103
2292
  const Popover$1 = props => {
2104
- 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']);
2105
2295
  const api = usePopover(usePopoverProps);
2296
+ const apiPresence = usePresence(mergeProps$2(presenceProps, () => ({
2297
+ present: api().isOpen
2298
+ })));
2299
+ const getChildren = () => runIfFn(localProps.children, api);
2106
2300
  return createComponent(PopoverProvider, {
2107
2301
  value: api,
2108
2302
  get children() {
2109
- return restProps.children;
2303
+ return createComponent(PresenceProvider, {
2304
+ value: apiPresence,
2305
+ get children() {
2306
+ return getChildren();
2307
+ }
2308
+ });
2110
2309
  }
2111
2310
  });
2112
2311
  };
2113
2312
 
2114
2313
  const PopoverAnchor = props => {
2115
2314
  const api = usePopoverContext();
2116
- const anchorProps = mergeProps$2(() => api().anchorProps, props);
2117
- return createComponent(ark.div, anchorProps);
2315
+ const mergedProps = mergeProps$2(() => api().anchorProps, props);
2316
+ return createComponent(ark.div, mergedProps);
2118
2317
  };
2119
2318
 
2120
2319
  const PopoverArrow = props => {
2121
2320
  const popover = usePopoverContext();
2122
- const arrowProps = mergeProps$2(() => popover().arrowProps, props);
2123
- return createComponent(ark.div, arrowProps);
2321
+ const mergedProps = mergeProps$2(() => popover().arrowProps, props);
2322
+ return createComponent(ark.div, mergedProps);
2124
2323
  };
2125
2324
 
2126
2325
  const PopoverArrowTip = props => {
2127
2326
  const popover = usePopoverContext();
2128
- const arrowTipProps = mergeProps$2(() => popover().arrowTipProps, props);
2129
- return createComponent(ark.div, arrowTipProps);
2327
+ const mergedProps = mergeProps$2(() => popover().arrowTipProps, props);
2328
+ return createComponent(ark.div, mergedProps);
2130
2329
  };
2131
2330
 
2132
2331
  const PopoverCloseTrigger = props => {
2133
2332
  const api = usePopoverContext();
2134
- const triggerProps = mergeProps$2(() => api().closeTriggerProps, props);
2135
- return createComponent(ark.button, triggerProps);
2333
+ const mergedProps = mergeProps$2(() => api().closeTriggerProps, props);
2334
+ return createComponent(ark.button, mergedProps);
2136
2335
  };
2137
2336
 
2138
2337
  const PopoverContent = props => {
2139
- const [presenceProps, localProps] = splitPresenceProps(props);
2140
2338
  const api = usePopoverContext();
2141
- const mergedProps = mergeProps$2(() => api().contentProps, localProps);
2142
- return createComponent(Presence, mergeProps$1({
2143
- get present() {
2144
- return api().isOpen;
2145
- }
2146
- }, presenceProps, {
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;
2344
+ },
2147
2345
  get children() {
2148
2346
  return createComponent(ark.div, mergedProps);
2149
2347
  }
2150
- }));
2348
+ });
2151
2349
  };
2152
2350
 
2153
2351
  const PopoverDescription = props => {
2154
2352
  const api = usePopoverContext();
2155
- const descriptionProps = mergeProps$2(() => api().descriptionProps, props);
2156
- return createComponent(ark.div, descriptionProps);
2353
+ const mergedProps = mergeProps$2(() => api().descriptionProps, props);
2354
+ return createComponent(ark.div, mergedProps);
2157
2355
  };
2158
2356
 
2159
2357
  const PopoverIndicator = props => {
@@ -2164,20 +2362,33 @@ const PopoverIndicator = props => {
2164
2362
 
2165
2363
  const PopoverPositioner = props => {
2166
2364
  const api = usePopoverContext();
2167
- const positionerProps = mergeProps$2(() => api().positionerProps, props);
2168
- 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
+ });
2169
2375
  };
2170
2376
 
2171
2377
  const PopoverTitle = props => {
2172
2378
  const api = usePopoverContext();
2173
- const titleProps = mergeProps$2(() => api().titleProps, props);
2174
- return createComponent(ark.div, titleProps);
2379
+ const mergedProps = mergeProps$2(() => api().titleProps, props);
2380
+ return createComponent(ark.div, mergedProps);
2175
2381
  };
2176
2382
 
2177
2383
  const PopoverTrigger = props => {
2178
2384
  const api = usePopoverContext();
2179
- const triggerProps = mergeProps$2(() => api().triggerProps, props);
2180
- 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);
2181
2392
  };
2182
2393
 
2183
2394
  const Popover = Object.assign(Popover$1, {
@@ -2246,13 +2457,13 @@ const RadioGroupItem = props => {
2246
2457
  });
2247
2458
  };
2248
2459
 
2249
- const _tmpl$$4 = /*#__PURE__*/template(`<input>`);
2460
+ const _tmpl$$5 = /*#__PURE__*/template(`<input>`);
2250
2461
  const RadioGroupItemControl = props => {
2251
2462
  const api = useRadioGroupContext();
2252
2463
  const itemProps = useRadioGroupItemContext();
2253
2464
  const mergedProps = mergeProps$2(() => api().getItemControlProps(itemProps), props);
2254
2465
  return [createComponent(ark.div, mergedProps), (() => {
2255
- const _el$ = _tmpl$$4();
2466
+ const _el$ = _tmpl$$5();
2256
2467
  spread$1(_el$, mergeProps$1(() => api().getItemHiddenInputProps(itemProps)), false, false);
2257
2468
  return _el$;
2258
2469
  })()];
@@ -2309,7 +2520,7 @@ const RatingGroup$1 = props => {
2309
2520
  });
2310
2521
  };
2311
2522
 
2312
- const _tmpl$$3 = /*#__PURE__*/template(`<input>`);
2523
+ const _tmpl$$4 = /*#__PURE__*/template(`<input>`);
2313
2524
  const RatingGroupControl = props => {
2314
2525
  const api = useRatingGroupContext();
2315
2526
  const getChildren = () => runIfFn(props.children, api);
@@ -2319,7 +2530,7 @@ const RatingGroupControl = props => {
2319
2530
  return getChildren();
2320
2531
  }
2321
2532
  })), (() => {
2322
- const _el$ = _tmpl$$3();
2533
+ const _el$ = _tmpl$$4();
2323
2534
  spread$1(_el$, mergeProps$1(() => api().hiddenInputProps), false, false);
2324
2535
  return _el$;
2325
2536
  })()];
@@ -2331,11 +2542,11 @@ const [RatingGroupItemProvider, useRatingGroupItemContext] = createContext({
2331
2542
  });
2332
2543
 
2333
2544
  const RatingGroupItem = props => {
2334
- const [ratingParams, restProps] = createSplitProps()(props, ['index']);
2545
+ const [itemProps, localProps] = createSplitProps()(props, ['index']);
2335
2546
  const api = useRatingGroupContext();
2336
- const itemState = api().getItemState(ratingParams);
2337
- const mergedProps = mergeProps$2(() => api().getItemProps(ratingParams), restProps);
2338
- 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);
2339
2550
  return createComponent(RatingGroupItemProvider, {
2340
2551
  value: itemState,
2341
2552
  get children() {
@@ -2413,13 +2624,13 @@ const SegmentGroupItem = props => {
2413
2624
  });
2414
2625
  };
2415
2626
 
2416
- const _tmpl$$2 = /*#__PURE__*/template(`<input>`);
2627
+ const _tmpl$$3 = /*#__PURE__*/template(`<input>`);
2417
2628
  const SegmentGroupItemControl = props => {
2418
2629
  const api = useSegmentGroupContext();
2419
2630
  const itemProps = useSegmentGroupItemContext();
2420
2631
  const mergedProps = mergeProps$2(() => api().getItemControlProps(itemProps), segmentGroupAnatomy.build().itemControl.attrs, props);
2421
2632
  return [createComponent(ark.div, mergedProps), (() => {
2422
- const _el$ = _tmpl$$2();
2633
+ const _el$ = _tmpl$$3();
2423
2634
  spread$1(_el$, mergeProps$1(() => api().getItemHiddenInputProps(itemProps)), false, false);
2424
2635
  return _el$;
2425
2636
  })()];
@@ -2469,18 +2680,27 @@ const useSelect = props => {
2469
2680
  };
2470
2681
 
2471
2682
  const Select$1 = props => {
2472
- 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']);
2473
- 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
+ })));
2474
2689
  const mergedProps = mergeProps$2(() => api().rootProps, localProps);
2475
2690
  const getChildren = () => runIfFn(localProps.children, api);
2476
2691
  return createComponent(SelectProvider, {
2477
2692
  value: api,
2478
2693
  get children() {
2479
- return createComponent(ark.div, mergeProps$1(mergedProps, {
2694
+ return createComponent(PresenceProvider, {
2695
+ value: apiPresence,
2480
2696
  get children() {
2481
- return getChildren();
2697
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
2698
+ get children() {
2699
+ return getChildren();
2700
+ }
2701
+ }));
2482
2702
  }
2483
- }));
2703
+ });
2484
2704
  }
2485
2705
  });
2486
2706
  };
@@ -2492,24 +2712,40 @@ const SelectClearTrigger = props => {
2492
2712
  };
2493
2713
 
2494
2714
  const SelectContent = props => {
2495
- const [presenceProps, localProps] = splitPresenceProps(props);
2496
2715
  const api = useSelectContext();
2497
- const mergedProps = mergeProps$2(() => api().contentProps, localProps);
2498
- return createComponent(Presence, mergeProps$1({
2499
- get present() {
2500
- return api().isOpen;
2501
- }
2502
- }, presenceProps, {
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;
2721
+ },
2503
2722
  get children() {
2504
2723
  return createComponent(ark.div, mergedProps);
2505
2724
  }
2506
- }));
2725
+ });
2507
2726
  };
2508
2727
 
2728
+ const _tmpl$$2 = /*#__PURE__*/template(`<select>`),
2729
+ _tmpl$2 = /*#__PURE__*/template(`<option>`);
2509
2730
  const SelectControl = props => {
2510
2731
  const api = useSelectContext();
2511
2732
  const mergedProps = mergeProps$2(() => api().controlProps, props);
2512
- return createComponent(ark.div, mergedProps);
2733
+ return [createComponent(ark.div, mergedProps), (() => {
2734
+ const _el$ = _tmpl$$2();
2735
+ spread$1(_el$, mergeProps$1(() => api().hiddenSelectProps), false, true);
2736
+ insert(_el$, createComponent(Index, {
2737
+ get each() {
2738
+ return api().collection.toArray();
2739
+ },
2740
+ children: option => (() => {
2741
+ const _el$2 = _tmpl$2();
2742
+ insert(_el$2, () => option().label);
2743
+ effect(() => _el$2.value = option().value);
2744
+ return _el$2;
2745
+ })()
2746
+ }));
2747
+ return _el$;
2748
+ })()];
2513
2749
  };
2514
2750
 
2515
2751
  const SelectIndicator = props => {
@@ -2548,9 +2784,11 @@ const SelectItemGroup = props => {
2548
2784
  };
2549
2785
 
2550
2786
  const SelectItemGroupLabel = props => {
2551
- const [labelProps, localProps] = createSplitProps()(props, ['htmlFor']);
2787
+ const [labelProps, localProps] = createSplitProps()(props, ['for']);
2552
2788
  const api = useSelectContext();
2553
- const mergedProps = mergeProps$2(() => api().getItemGroupLabelProps(labelProps), localProps);
2789
+ const mergedProps = mergeProps$2(() => api().getItemGroupLabelProps({
2790
+ htmlFor: labelProps.for
2791
+ }), localProps);
2554
2792
  return createComponent(ark.div, mergedProps);
2555
2793
  };
2556
2794
 
@@ -2576,8 +2814,16 @@ const SelectLabel = props => {
2576
2814
 
2577
2815
  const SelectPositioner = props => {
2578
2816
  const api = useSelectContext();
2817
+ const presenceApi = usePresenceContext();
2579
2818
  const mergedProps = mergeProps$2(() => api().positionerProps, props);
2580
- 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
+ });
2581
2827
  };
2582
2828
 
2583
2829
  const SelectTrigger = props => {
@@ -2672,17 +2918,6 @@ const SliderMarkerGroup = props => {
2672
2918
  return createComponent(ark.div, mergedProps);
2673
2919
  };
2674
2920
 
2675
- const SliderOutput = props => {
2676
- const slider = useSliderContext();
2677
- const getChildren = () => runIfFn(props.children, slider);
2678
- const outputProps = mergeProps$2(() => slider().outputProps, props);
2679
- return createComponent(ark.output, mergeProps$1(outputProps, {
2680
- get children() {
2681
- return getChildren();
2682
- }
2683
- }));
2684
- };
2685
-
2686
2921
  const SliderRange = props => {
2687
2922
  const api = useSliderContext();
2688
2923
  const mergedProps = mergeProps$2(() => api().rangeProps, props);
@@ -2692,8 +2927,8 @@ const SliderRange = props => {
2692
2927
  const SliderThumb = props => {
2693
2928
  const [thumbProps, localProps] = createSplitProps()(props, ['index']);
2694
2929
  const api = useSliderContext();
2695
- const mergePdrops = mergeProps$2(() => api().getThumbProps(thumbProps), localProps);
2696
- return createComponent(ark.div, mergePdrops);
2930
+ const mergedProps = mergeProps$2(() => api().getThumbProps(thumbProps), localProps);
2931
+ return createComponent(ark.div, mergedProps);
2697
2932
  };
2698
2933
 
2699
2934
  const SliderTrack = props => {
@@ -2702,16 +2937,27 @@ const SliderTrack = props => {
2702
2937
  return createComponent(ark.div, mergedProps);
2703
2938
  };
2704
2939
 
2940
+ const SliderValueText = props => {
2941
+ const api = useSliderContext();
2942
+ const mergedProps = mergeProps$2(() => api().valueTextProps, props);
2943
+ const getChildren = children(() => props.children);
2944
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
2945
+ get children() {
2946
+ return getChildren() || api().value.join(',');
2947
+ }
2948
+ }));
2949
+ };
2950
+
2705
2951
  const Slider = Object.assign(Slider$1, {
2706
2952
  Root: Slider$1,
2707
2953
  Control: SliderControl,
2708
2954
  Label: SliderLabel,
2709
2955
  Marker: SliderMarker,
2710
2956
  MarkerGroup: SliderMarkerGroup,
2711
- Output: SliderOutput,
2712
2957
  Range: SliderRange,
2713
2958
  Thumb: SliderThumb,
2714
- Track: SliderTrack
2959
+ Track: SliderTrack,
2960
+ ValueText: SliderValueText
2715
2961
  });
2716
2962
 
2717
2963
  const [SplitterProvider, useSplitterContext] = createContext({
@@ -2735,11 +2981,11 @@ const Splitter$1 = props => {
2735
2981
  const [splitterParams, localProps] = createSplitProps()(props, ['dir', 'getRootNode', 'id', 'ids', 'onSizeChange', 'onSizeChangeEnd', 'onSizeChangeStart', 'orientation', 'size']);
2736
2982
  const api = useSplitter(splitterParams);
2737
2983
  const getChildren = () => runIfFn(localProps.children, api);
2738
- const rootProps = mergeProps$2(() => api().rootProps, localProps);
2984
+ const mergedProps = mergeProps$2(() => api().rootProps, localProps);
2739
2985
  return createComponent(SplitterProvider, {
2740
2986
  value: api,
2741
2987
  get children() {
2742
- return createComponent(ark.div, mergeProps$1(rootProps, {
2988
+ return createComponent(ark.div, mergeProps$1(mergedProps, {
2743
2989
  get children() {
2744
2990
  return getChildren();
2745
2991
  }
@@ -2751,15 +2997,15 @@ const Splitter$1 = props => {
2751
2997
  const SplitterPanel = props => {
2752
2998
  const [panelParams, restProps] = createSplitProps()(props, ['id', 'snapSize']);
2753
2999
  const api = useSplitterContext();
2754
- const panelProps = mergeProps$2(() => api().getPanelProps(panelParams), restProps);
2755
- return createComponent(ark.div, panelProps);
3000
+ const mergedProps = mergeProps$2(() => api().getPanelProps(panelParams), restProps);
3001
+ return createComponent(ark.div, mergedProps);
2756
3002
  };
2757
3003
 
2758
3004
  const SplitterResizeTrigger = props => {
2759
3005
  const api = useSplitterContext();
2760
3006
  const [triggerParams, restProps] = createSplitProps()(props, ['disabled', 'id', 'step']);
2761
- const triggerProps = mergeProps$2(() => api().getResizeTriggerProps(triggerParams), restProps);
2762
- return createComponent(ark.button, triggerProps);
3007
+ const mergedProps = mergeProps$2(() => api().getResizeTriggerProps(triggerParams), restProps);
3008
+ return createComponent(ark.button, mergedProps);
2763
3009
  };
2764
3010
 
2765
3011
  const Splitter = Object.assign(Splitter$1, {
@@ -2815,14 +3061,14 @@ const SwitchControl = props => {
2815
3061
 
2816
3062
  const SwitchLabel = props => {
2817
3063
  const checkbox = useSwitchContext();
2818
- const labelProps = mergeProps$2(() => checkbox().labelProps, props);
2819
- return createComponent(ark.span, labelProps);
3064
+ const mergedProps = mergeProps$2(() => checkbox().labelProps, props);
3065
+ return createComponent(ark.span, mergedProps);
2820
3066
  };
2821
3067
 
2822
3068
  const SwitchThumb = props => {
2823
3069
  const checkbox = useSwitchContext();
2824
- const thumbProps = mergeProps$2(() => checkbox().thumbProps, props);
2825
- return createComponent(ark.span, thumbProps);
3070
+ const mergedProps = mergeProps$2(() => checkbox().thumbProps, props);
3071
+ return createComponent(ark.span, mergedProps);
2826
3072
  };
2827
3073
 
2828
3074
  const Switch = Object.assign(Switch$1, {
@@ -2837,44 +3083,46 @@ const [TabsProvider, useTabsContext] = createContext({
2837
3083
  providerName: '<TabsProvider />'
2838
3084
  });
2839
3085
 
2840
- const TabPresence = props => {
2841
- const api = useTabsContext();
2842
- return createComponent(Presence, mergeProps$1({
2843
- get present() {
2844
- return api().value === props.value;
2845
- }
2846
- }, props));
2847
- };
2848
-
2849
3086
  const TabContent = props => {
2850
- const [presenceProps, localProps] = splitPresenceProps(props);
2851
- const [getContentProps, restProps] = createSplitProps()(localProps, ['value']);
3087
+ const [contentProps, localProps] = createSplitProps()(props, ['value']);
2852
3088
  const api = useTabsContext();
2853
- const contentProps = mergeProps$2(() => api().getContentProps(getContentProps), restProps);
2854
- 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,
2855
3096
  get children() {
2856
- 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
+ });
2857
3105
  }
2858
- }));
3106
+ });
2859
3107
  };
2860
3108
 
2861
3109
  const TabIndicator = props => {
2862
3110
  const api = useTabsContext();
2863
- const indicatorProps = mergeProps$2(() => api().indicatorProps, props);
2864
- return createComponent(ark.div, indicatorProps);
3111
+ const mergedProps = mergeProps$2(() => api().indicatorProps, props);
3112
+ return createComponent(ark.div, mergedProps);
2865
3113
  };
2866
3114
 
2867
3115
  const TabList = props => {
2868
3116
  const api = useTabsContext();
2869
- const tablistProps = mergeProps$2(() => api().tablistProps, props);
2870
- return createComponent(ark.div, tablistProps);
3117
+ const mergedProps = mergeProps$2(() => api().tablistProps, props);
3118
+ return createComponent(ark.div, mergedProps);
2871
3119
  };
2872
3120
 
2873
3121
  const TabTrigger = props => {
2874
3122
  const [tabParams, restProps] = createSplitProps()(props, ['disabled', 'value']);
2875
3123
  const api = useTabsContext();
2876
- const triggerProps = mergeProps$2(() => api().getTriggerProps(tabParams), restProps);
2877
- return createComponent(ark.button, triggerProps);
3124
+ const mergedProps = mergeProps$2(() => api().getTriggerProps(tabParams), restProps);
3125
+ return createComponent(ark.button, mergedProps);
2878
3126
  };
2879
3127
 
2880
3128
  const useTabs = props => {
@@ -2890,13 +3138,19 @@ const useTabs = props => {
2890
3138
  };
2891
3139
 
2892
3140
  const Tabs$1 = props => {
2893
- 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']);
2894
3143
  const api = useTabs(tabsParams);
2895
- const rootProps = mergeProps$2(() => api().rootProps, restProps);
3144
+ const mergedProps = mergeProps$2(() => api().rootProps, restProps);
2896
3145
  return createComponent(TabsProvider, {
2897
3146
  value: api,
2898
3147
  get children() {
2899
- return createComponent(ark.div, rootProps);
3148
+ return createComponent(PresencePropsProvider, {
3149
+ value: presenceProps,
3150
+ get children() {
3151
+ return createComponent(ark.div, mergedProps);
3152
+ }
3153
+ });
2900
3154
  }
2901
3155
  });
2902
3156
  };
@@ -3032,8 +3286,6 @@ const [ToastProvider, useToastContext] = createContext({
3032
3286
  providerName: '<ToastProvider />'
3033
3287
  });
3034
3288
 
3035
- // TODO simplify types after next zag.js upgrade
3036
-
3037
3289
  const createToaster = props => {
3038
3290
  const {
3039
3291
  placement,
@@ -3138,11 +3390,11 @@ const useToggleGroup = props => {
3138
3390
  const ToggleGroup$1 = props => {
3139
3391
  const [groupParams, restProps] = createSplitProps()(props, ['dir', 'disabled', 'getRootNode', 'id', 'ids', 'loop', 'multiple', 'onValueChange', 'orientation', 'rovingFocus', 'value']);
3140
3392
  const api = useToggleGroup(groupParams);
3141
- const rootProps = mergeProps$2(() => api().rootProps, restProps);
3393
+ const mergedProps = mergeProps$2(() => api().rootProps, restProps);
3142
3394
  return createComponent(ToggleGroupProvider, {
3143
3395
  value: api,
3144
3396
  get children() {
3145
- return createComponent(ark.div, rootProps);
3397
+ return createComponent(ark.div, mergedProps);
3146
3398
  }
3147
3399
  });
3148
3400
  };
@@ -3177,50 +3429,70 @@ const useTooltip = props => {
3177
3429
  };
3178
3430
 
3179
3431
  const Tooltip$1 = props => {
3180
- 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']);
3181
3434
  const api = useTooltip(useTooltipProps);
3182
- return createComponent(TooltipProvider, mergeProps$1({
3183
- value: api
3184
- }, 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
+ });
3185
3450
  };
3186
3451
 
3187
3452
  const TooltipArrow = props => {
3188
3453
  const tooltip = useTooltipContext();
3189
- const arrowProps = mergeProps$2(() => tooltip().arrowProps, props);
3190
- return createComponent(ark.div, arrowProps);
3454
+ const mergedProps = mergeProps$2(() => tooltip().arrowProps, props);
3455
+ return createComponent(ark.div, mergedProps);
3191
3456
  };
3192
3457
 
3193
3458
  const TooltipArrowTip = props => {
3194
3459
  const api = useTooltipContext();
3195
- const arrowTipProps = mergeProps$2(() => api().arrowTipProps, props);
3196
- return createComponent(ark.div, arrowTipProps);
3460
+ const mergedProps = mergeProps$2(() => api().arrowTipProps, props);
3461
+ return createComponent(ark.div, mergedProps);
3197
3462
  };
3198
3463
 
3199
3464
  const TooltipContent = props => {
3200
- const [presenceProps, localProps] = splitPresenceProps(props);
3201
3465
  const api = useTooltipContext();
3202
- const contentProps = mergeProps$2(() => api().contentProps, localProps);
3203
- return createComponent(Presence, mergeProps$1({
3204
- get present() {
3205
- return api().isOpen;
3206
- }
3207
- }, presenceProps, {
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;
3471
+ },
3208
3472
  get children() {
3209
- return createComponent(ark.div, contentProps);
3473
+ return createComponent(ark.div, mergedProps);
3210
3474
  }
3211
- }));
3475
+ });
3212
3476
  };
3213
3477
 
3214
3478
  const TooltipPositioner = props => {
3215
3479
  const api = useTooltipContext();
3216
- const positionerProps = mergeProps$2(() => api().positionerProps, props);
3217
- 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
+ });
3218
3490
  };
3219
3491
 
3220
3492
  const TooltipTrigger = props => {
3221
3493
  const api = useTooltipContext();
3222
- const triggerProps = mergeProps$2(() => api().triggerProps, props);
3223
- return createComponent(ark.button, triggerProps);
3494
+ const mergedProps = mergeProps$2(() => api().triggerProps, props);
3495
+ return createComponent(ark.button, mergedProps);
3224
3496
  };
3225
3497
 
3226
3498
  const Tooltip = Object.assign(Tooltip$1, {
@@ -3232,5 +3504,5 @@ const Tooltip = Object.assign(Tooltip$1, {
3232
3504
  Trigger: TooltipTrigger
3233
3505
  });
3234
3506
 
3235
- 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, 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, SliderOutput, SliderRange, SliderThumb, SliderTrack, 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 };
3236
3508
  //# sourceMappingURL=index.js.map