@rivetjs/cdk 0.0.0-stage → 0.1.0-alpha.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 (1290) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +483 -0
  3. package/README.md +10 -2
  4. package/_adapters/collection.d.ts +160 -0
  5. package/_adapters/collection.js +235 -0
  6. package/_adapters/collections.d.ts +325 -0
  7. package/_adapters/collections.js +934 -0
  8. package/_adapters/dom-collection.d.ts +42 -0
  9. package/_adapters/dom-collection.js +228 -0
  10. package/_adapters/grid-selection.d.ts +115 -0
  11. package/_adapters/grid-selection.js +436 -0
  12. package/_adapters/interactions.d.ts +19 -0
  13. package/_adapters/interactions.js +45 -0
  14. package/_adapters/intl.d.ts +8 -0
  15. package/_adapters/intl.js +106 -0
  16. package/_adapters/press.d.ts +22 -0
  17. package/_adapters/press.js +34 -0
  18. package/_adapters/selectable.d.ts +132 -0
  19. package/_adapters/selectable.js +599 -0
  20. package/_adapters/selection.d.ts +109 -0
  21. package/_adapters/selection.js +685 -0
  22. package/_adapters/type-select.d.ts +8 -0
  23. package/_adapters/type-select.js +59 -0
  24. package/a11y/aria-describer.d.ts +46 -0
  25. package/a11y/aria-describer.js +169 -0
  26. package/a11y/focus-monitor.d.ts +98 -0
  27. package/a11y/focus-monitor.js +321 -0
  28. package/a11y/focus-trap.d.ts +137 -0
  29. package/a11y/focus-trap.js +378 -0
  30. package/a11y/high-contrast.d.ts +26 -0
  31. package/a11y/high-contrast.js +84 -0
  32. package/a11y/index.d.ts +37 -0
  33. package/a11y/index.js +97 -0
  34. package/a11y/interactivity-checker.d.ts +18 -0
  35. package/a11y/interactivity-checker.js +126 -0
  36. package/a11y/key-manager.d.ts +152 -0
  37. package/a11y/key-manager.js +397 -0
  38. package/a11y/live-announcer.d.ts +53 -0
  39. package/a11y/live-announcer.js +143 -0
  40. package/accordion/index.d.ts +2 -0
  41. package/accordion/index.jsx +10 -0
  42. package/announcer/index.d.ts +8 -0
  43. package/announcer/index.jsx +22 -0
  44. package/announcer/live-announcer.d.ts +15 -0
  45. package/announcer/live-announcer.js +123 -0
  46. package/autocomplete/behaviour.d.ts +94 -0
  47. package/autocomplete/behaviour.jsx +423 -0
  48. package/autocomplete/contexts.d.ts +54 -0
  49. package/autocomplete/contexts.js +28 -0
  50. package/autocomplete/index.d.ts +12 -0
  51. package/autocomplete/index.jsx +31 -0
  52. package/autocomplete/intl.d.ts +2 -0
  53. package/autocomplete/intl.js +36 -0
  54. package/bidi/bidi-dir.d.ts +23 -0
  55. package/bidi/bidi-dir.jsx +36 -0
  56. package/bidi/index.d.ts +58 -0
  57. package/bidi/index.js +84 -0
  58. package/breadcrumbs/behaviour.d.ts +6 -0
  59. package/breadcrumbs/behaviour.js +17 -0
  60. package/breadcrumbs/index.d.ts +68 -0
  61. package/breadcrumbs/index.jsx +224 -0
  62. package/breadcrumbs/intl.d.ts +3 -0
  63. package/breadcrumbs/intl.js +104 -0
  64. package/button/behaviour.d.ts +61 -0
  65. package/button/behaviour.js +90 -0
  66. package/button/index.d.ts +38 -0
  67. package/button/index.jsx +374 -0
  68. package/button/press.d.ts +25 -0
  69. package/button/press.js +54 -0
  70. package/calendar/behaviour.d.ts +250 -0
  71. package/calendar/behaviour.jsx +939 -0
  72. package/calendar/index.d.ts +157 -0
  73. package/calendar/index.jsx +484 -0
  74. package/calendar/intl.d.ts +3 -0
  75. package/calendar/intl.js +36 -0
  76. package/carousel/behaviour.d.ts +50 -0
  77. package/carousel/behaviour.jsx +365 -0
  78. package/carousel/engine/Alignment.d.ts +5 -0
  79. package/carousel/engine/Alignment.js +24 -0
  80. package/carousel/engine/Animations.d.ts +13 -0
  81. package/carousel/engine/Animations.js +28 -0
  82. package/carousel/engine/Axis.d.ts +14 -0
  83. package/carousel/engine/Axis.js +35 -0
  84. package/carousel/engine/Counter.d.ts +7 -0
  85. package/carousel/engine/Counter.js +32 -0
  86. package/carousel/engine/DragHandler.d.ts +22 -0
  87. package/carousel/engine/DragHandler.js +141 -0
  88. package/carousel/engine/DragTracker.d.ts +10 -0
  89. package/carousel/engine/DragTracker.js +29 -0
  90. package/carousel/engine/EmblaCarousel.d.ts +32 -0
  91. package/carousel/engine/EmblaCarousel.js +177 -0
  92. package/carousel/engine/Engine.d.ts +64 -0
  93. package/carousel/engine/Engine.js +137 -0
  94. package/carousel/engine/EventHandler.d.ts +27 -0
  95. package/carousel/engine/EventHandler.js +33 -0
  96. package/carousel/engine/EventStore.d.ts +9 -0
  97. package/carousel/engine/EventStore.js +25 -0
  98. package/carousel/engine/NodeRects.d.ts +12 -0
  99. package/carousel/engine/NodeRects.js +18 -0
  100. package/carousel/engine/Options.d.ts +40 -0
  101. package/carousel/engine/Options.js +22 -0
  102. package/carousel/engine/OptionsHandler.d.ts +10 -0
  103. package/carousel/engine/OptionsHandler.js +26 -0
  104. package/carousel/engine/PercentOfView.d.ts +4 -0
  105. package/carousel/engine/PercentOfView.js +9 -0
  106. package/carousel/engine/Plugins.d.ts +16 -0
  107. package/carousel/engine/Plugins.js +1 -0
  108. package/carousel/engine/PluginsHandler.d.ts +8 -0
  109. package/carousel/engine/PluginsHandler.js +16 -0
  110. package/carousel/engine/ResizeHandler.d.ts +13 -0
  111. package/carousel/engine/ResizeHandler.js +51 -0
  112. package/carousel/engine/ScrollBounds.d.ts +10 -0
  113. package/carousel/engine/ScrollBounds.js +41 -0
  114. package/carousel/engine/ScrollContain.d.ts +7 -0
  115. package/carousel/engine/ScrollContain.js +52 -0
  116. package/carousel/engine/ScrollLimit.d.ts +5 -0
  117. package/carousel/engine/ScrollLimit.js +13 -0
  118. package/carousel/engine/ScrollLooper.d.ts +6 -0
  119. package/carousel/engine/ScrollLooper.js +26 -0
  120. package/carousel/engine/ScrollProgress.d.ts +5 -0
  121. package/carousel/engine/ScrollProgress.js +11 -0
  122. package/carousel/engine/ScrollSnaps.d.ts +9 -0
  123. package/carousel/engine/ScrollSnaps.js +26 -0
  124. package/carousel/engine/ScrollTarget.d.ts +12 -0
  125. package/carousel/engine/ScrollTarget.js +47 -0
  126. package/carousel/engine/ScrollTo.d.ts +11 -0
  127. package/carousel/engine/ScrollTo.js +36 -0
  128. package/carousel/engine/SlideFocus.d.ts +13 -0
  129. package/carousel/engine/SlideFocus.js +39 -0
  130. package/carousel/engine/SlideLooper.d.ts +18 -0
  131. package/carousel/engine/SlideLooper.js +78 -0
  132. package/carousel/engine/SlideRegistry.d.ts +7 -0
  133. package/carousel/engine/SlideRegistry.js +31 -0
  134. package/carousel/engine/SlideSizes.d.ts +10 -0
  135. package/carousel/engine/SlideSizes.js +41 -0
  136. package/carousel/engine/SlidesHandler.d.ts +10 -0
  137. package/carousel/engine/SlidesHandler.js +36 -0
  138. package/carousel/engine/SlidesInView.d.ts +8 -0
  139. package/carousel/engine/SlidesInView.js +59 -0
  140. package/carousel/engine/SlidesToScroll.d.ts +7 -0
  141. package/carousel/engine/SlidesToScroll.js +41 -0
  142. package/carousel/engine/Translate.d.ts +7 -0
  143. package/carousel/engine/Translate.js +38 -0
  144. package/carousel/engine/index.d.ts +11 -0
  145. package/carousel/engine/index.js +1 -0
  146. package/carousel/engine/utils.d.ts +15 -0
  147. package/carousel/engine/utils.js +45 -0
  148. package/carousel/index.d.ts +202 -0
  149. package/carousel/index.jsx +469 -0
  150. package/carousel/plugins/auto-height/AutoHeight.d.ts +14 -0
  151. package/carousel/plugins/auto-height/AutoHeight.js +43 -0
  152. package/carousel/plugins/auto-height/Options.d.ts +2 -0
  153. package/carousel/plugins/auto-height/Options.js +1 -0
  154. package/carousel/plugins/auto-height/index.d.ts +2 -0
  155. package/carousel/plugins/auto-height/index.js +1 -0
  156. package/carousel/plugins/auto-scroll/AutoScroll.d.ts +25 -0
  157. package/carousel/plugins/auto-scroll/AutoScroll.js +185 -0
  158. package/carousel/plugins/auto-scroll/Options.d.ts +13 -0
  159. package/carousel/plugins/auto-scroll/Options.js +12 -0
  160. package/carousel/plugins/auto-scroll/index.d.ts +2 -0
  161. package/carousel/plugins/auto-scroll/index.js +1 -0
  162. package/carousel/plugins/auto-scroll/utils.d.ts +3 -0
  163. package/carousel/plugins/auto-scroll/utils.js +4 -0
  164. package/carousel/plugins/autoplay/Autoplay.d.ts +29 -0
  165. package/carousel/plugins/autoplay/Autoplay.js +173 -0
  166. package/carousel/plugins/autoplay/Options.d.ts +14 -0
  167. package/carousel/plugins/autoplay/Options.js +12 -0
  168. package/carousel/plugins/autoplay/index.d.ts +2 -0
  169. package/carousel/plugins/autoplay/index.js +1 -0
  170. package/carousel/plugins/autoplay/utils.d.ts +4 -0
  171. package/carousel/plugins/autoplay/utils.js +11 -0
  172. package/carousel/plugins/class-names/ClassNames.d.ts +14 -0
  173. package/carousel/plugins/class-names/ClassNames.js +98 -0
  174. package/carousel/plugins/class-names/Options.d.ts +13 -0
  175. package/carousel/plugins/class-names/Options.js +9 -0
  176. package/carousel/plugins/class-names/index.d.ts +2 -0
  177. package/carousel/plugins/class-names/index.js +1 -0
  178. package/carousel/plugins/class-names/utils.d.ts +4 -0
  179. package/carousel/plugins/class-names/utils.js +14 -0
  180. package/carousel/plugins/fade/Fade.d.ts +14 -0
  181. package/carousel/plugins/fade/Fade.js +199 -0
  182. package/carousel/plugins/fade/Options.d.ts +2 -0
  183. package/carousel/plugins/fade/Options.js +1 -0
  184. package/carousel/plugins/fade/index.d.ts +2 -0
  185. package/carousel/plugins/fade/index.js +1 -0
  186. package/carousel/plugins/fade/utils.d.ts +2 -0
  187. package/carousel/plugins/fade/utils.js +8 -0
  188. package/carousel/state.d.ts +81 -0
  189. package/carousel/state.js +71 -0
  190. package/chat/index.d.ts +83 -0
  191. package/chat/index.jsx +287 -0
  192. package/checkbox/behaviour.d.ts +172 -0
  193. package/checkbox/behaviour.jsx +412 -0
  194. package/checkbox/index.d.ts +168 -0
  195. package/checkbox/index.jsx +310 -0
  196. package/clipboard/index.d.ts +49 -0
  197. package/clipboard/index.js +136 -0
  198. package/coercion/index.d.ts +36 -0
  199. package/coercion/index.js +58 -0
  200. package/collections/base.d.ts +115 -0
  201. package/collections/base.js +346 -0
  202. package/collections/builder.d.ts +44 -0
  203. package/collections/builder.js +283 -0
  204. package/collections/components.d.ts +217 -0
  205. package/collections/components.jsx +537 -0
  206. package/collections/data-source.d.ts +26 -0
  207. package/collections/data-source.js +27 -0
  208. package/collections/dom.d.ts +34 -0
  209. package/collections/dom.js +127 -0
  210. package/collections/grid.d.ts +45 -0
  211. package/collections/grid.js +125 -0
  212. package/collections/hidden.d.ts +4 -0
  213. package/collections/hidden.js +12 -0
  214. package/collections/index.d.ts +45 -0
  215. package/collections/index.js +105 -0
  216. package/collections/list-state.d.ts +99 -0
  217. package/collections/list-state.js +156 -0
  218. package/collections/list.d.ts +20 -0
  219. package/collections/list.js +77 -0
  220. package/collections/nodes.d.ts +9 -0
  221. package/collections/nodes.js +81 -0
  222. package/collections/selection-model.d.ts +93 -0
  223. package/collections/selection-model.js +192 -0
  224. package/collections/server-dev.d.ts +5 -0
  225. package/collections/server-dev.js +16 -0
  226. package/collections/server-off.d.ts +5 -0
  227. package/collections/server-off.js +7 -0
  228. package/collections/server-on.d.ts +28 -0
  229. package/collections/server-on.jsx +76 -0
  230. package/collections/table.d.ts +114 -0
  231. package/collections/table.js +439 -0
  232. package/collections/tree-state.d.ts +47 -0
  233. package/collections/tree-state.js +73 -0
  234. package/collections/tree.d.ts +20 -0
  235. package/collections/tree.js +66 -0
  236. package/collections/types.d.ts +229 -0
  237. package/collections/types.js +4 -0
  238. package/collections/unique-selection-dispatcher.d.ts +10 -0
  239. package/collections/unique-selection-dispatcher.js +25 -0
  240. package/color/area-state.d.ts +99 -0
  241. package/color/area-state.js +160 -0
  242. package/color/aria-intl.d.ts +3 -0
  243. package/color/aria-intl.js +274 -0
  244. package/color/channel-field-state.d.ts +50 -0
  245. package/color/channel-field-state.jsx +87 -0
  246. package/color/color.d.ts +78 -0
  247. package/color/color.js +738 -0
  248. package/color/field-state.d.ts +66 -0
  249. package/color/field-state.jsx +159 -0
  250. package/color/index.d.ts +58 -0
  251. package/color/index.js +88 -0
  252. package/color/intl.d.ts +3 -0
  253. package/color/intl.js +1328 -0
  254. package/color/picker-state.d.ts +20 -0
  255. package/color/picker-state.js +19 -0
  256. package/color/slider-state.d.ts +78 -0
  257. package/color/slider-state.jsx +98 -0
  258. package/color/value.d.ts +27 -0
  259. package/color/value.js +36 -0
  260. package/color/wheel-state.d.ts +77 -0
  261. package/color/wheel-state.js +152 -0
  262. package/color-area/behaviour.d.ts +161 -0
  263. package/color-area/behaviour.jsx +454 -0
  264. package/color-area/index.d.ts +34 -0
  265. package/color-area/index.jsx +187 -0
  266. package/color-field/behaviour.d.ts +112 -0
  267. package/color-field/behaviour.jsx +262 -0
  268. package/color-field/index.d.ts +72 -0
  269. package/color-field/index.jsx +309 -0
  270. package/color-picker/index.d.ts +19 -0
  271. package/color-picker/index.jsx +49 -0
  272. package/color-slider/behaviour.d.ts +103 -0
  273. package/color-slider/behaviour.jsx +234 -0
  274. package/color-slider/index.d.ts +40 -0
  275. package/color-slider/index.jsx +162 -0
  276. package/color-swatch/behaviour.d.ts +40 -0
  277. package/color-swatch/behaviour.js +36 -0
  278. package/color-swatch/index.d.ts +29 -0
  279. package/color-swatch/index.jsx +82 -0
  280. package/color-swatch-picker/index.d.ts +62 -0
  281. package/color-swatch-picker/index.jsx +95 -0
  282. package/color-swatch-picker/intl.d.ts +3 -0
  283. package/color-swatch-picker/intl.js +104 -0
  284. package/color-thumb/index.d.ts +85 -0
  285. package/color-thumb/index.jsx +93 -0
  286. package/color-wheel/behaviour.d.ts +123 -0
  287. package/color-wheel/behaviour.jsx +301 -0
  288. package/color-wheel/index.d.ts +50 -0
  289. package/color-wheel/index.jsx +166 -0
  290. package/combobox/behaviour.d.ts +120 -0
  291. package/combobox/behaviour.jsx +588 -0
  292. package/combobox/index.d.ts +101 -0
  293. package/combobox/index.jsx +365 -0
  294. package/combobox/intl.d.ts +2 -0
  295. package/combobox/intl.js +240 -0
  296. package/compare/behaviour.d.ts +101 -0
  297. package/compare/behaviour.js +288 -0
  298. package/compare/index.d.ts +58 -0
  299. package/compare/index.jsx +129 -0
  300. package/data/async-list.d.ts +78 -0
  301. package/data/async-list.jsx +257 -0
  302. package/data/index.d.ts +3 -0
  303. package/data/index.jsx +6 -0
  304. package/data/list-data.d.ts +88 -0
  305. package/data/list-data.jsx +210 -0
  306. package/data/tree-data.d.ts +59 -0
  307. package/data/tree-data.jsx +278 -0
  308. package/data-grid/behaviour.d.ts +95 -0
  309. package/data-grid/behaviour.js +725 -0
  310. package/data-grid/index.d.ts +138 -0
  311. package/data-grid/index.jsx +452 -0
  312. package/data-grid/state.d.ts +131 -0
  313. package/data-grid/state.js +288 -0
  314. package/date/CalendarDate.d.ts +207 -0
  315. package/date/CalendarDate.js +374 -0
  316. package/date/DateFormatter.d.ts +24 -0
  317. package/date/DateFormatter.js +175 -0
  318. package/date/calendars/BuddhistCalendar.d.ts +16 -0
  319. package/date/calendars/BuddhistCalendar.js +46 -0
  320. package/date/calendars/EthiopicCalendar.d.ts +45 -0
  321. package/date/calendars/EthiopicCalendar.js +178 -0
  322. package/date/calendars/GregorianCalendar.d.ts +26 -0
  323. package/date/calendars/GregorianCalendar.js +122 -0
  324. package/date/calendars/HebrewCalendar.d.ts +21 -0
  325. package/date/calendars/HebrewCalendar.js +174 -0
  326. package/date/calendars/IndianCalendar.d.ts +17 -0
  327. package/date/calendars/IndianCalendar.js +111 -0
  328. package/date/calendars/IslamicCalendar.d.ts +51 -0
  329. package/date/calendars/IslamicCalendar.js +205 -0
  330. package/date/calendars/JapaneseCalendar.d.ts +22 -0
  331. package/date/calendars/JapaneseCalendar.js +148 -0
  332. package/date/calendars/PersianCalendar.d.ts +19 -0
  333. package/date/calendars/PersianCalendar.js +85 -0
  334. package/date/calendars/TaiwanCalendar.d.ts +19 -0
  335. package/date/calendars/TaiwanCalendar.js +70 -0
  336. package/date/conversion.d.ts +45 -0
  337. package/date/conversion.js +269 -0
  338. package/date/createCalendar.d.ts +3 -0
  339. package/date/createCalendar.js +55 -0
  340. package/date/index.d.ts +20 -0
  341. package/date/index.js +30 -0
  342. package/date/manipulation.d.ts +25 -0
  343. package/date/manipulation.js +399 -0
  344. package/date/queries.d.ts +93 -0
  345. package/date/queries.js +303 -0
  346. package/date/serialize.d.ts +18 -0
  347. package/date/serialize.js +55 -0
  348. package/date/string.d.ts +36 -0
  349. package/date/string.js +223 -0
  350. package/date/types.d.ts +136 -0
  351. package/date/types.js +14 -0
  352. package/date/utils.d.ts +4 -0
  353. package/date/utils.js +16 -0
  354. package/date/weekStartData.d.ts +1 -0
  355. package/date/weekStartData.js +112 -0
  356. package/date-field/behaviour.d.ts +188 -0
  357. package/date-field/behaviour.jsx +1025 -0
  358. package/date-field/index.d.ts +150 -0
  359. package/date-field/index.jsx +354 -0
  360. package/date-field/intl.d.ts +3 -0
  361. package/date-field/intl.js +36 -0
  362. package/date-field/live-value.d.ts +22 -0
  363. package/date-field/live-value.jsx +44 -0
  364. package/date-picker/behaviour.d.ts +95 -0
  365. package/date-picker/behaviour.jsx +343 -0
  366. package/date-picker/index.d.ts +66 -0
  367. package/date-picker/index.jsx +243 -0
  368. package/dialog/behaviour.d.ts +63 -0
  369. package/dialog/behaviour.jsx +90 -0
  370. package/dialog/contexts.d.ts +12 -0
  371. package/dialog/contexts.js +8 -0
  372. package/dialog/index.d.ts +48 -0
  373. package/dialog/index.jsx +301 -0
  374. package/disclosure/behaviour.d.ts +50 -0
  375. package/disclosure/behaviour.jsx +128 -0
  376. package/disclosure/details.d.ts +21 -0
  377. package/disclosure/details.jsx +14 -0
  378. package/disclosure/index.d.ts +92 -0
  379. package/disclosure/index.jsx +300 -0
  380. package/drag-drop/cdk-index.d.ts +22 -0
  381. package/drag-drop/cdk-index.jsx +25 -0
  382. package/drag-drop/directives/assertions.d.ts +6 -0
  383. package/drag-drop/directives/assertions.js +13 -0
  384. package/drag-drop/directives/config.d.ts +30 -0
  385. package/drag-drop/directives/config.js +7 -0
  386. package/drag-drop/directives/drag-handle.d.ts +10 -0
  387. package/drag-drop/directives/drag-handle.js +29 -0
  388. package/drag-drop/directives/drag.d.ts +194 -0
  389. package/drag-drop/directives/drag.js +522 -0
  390. package/drag-drop/directives/drop-list-group.d.ts +25 -0
  391. package/drag-drop/directives/drop-list-group.js +55 -0
  392. package/drag-drop/directives/drop-list.d.ts +163 -0
  393. package/drag-drop/directives/drop-list.js +396 -0
  394. package/drag-drop/directives/registry.d.ts +32 -0
  395. package/drag-drop/directives/registry.js +61 -0
  396. package/drag-drop/dom/clone-node.d.ts +2 -0
  397. package/drag-drop/dom/clone-node.js +58 -0
  398. package/drag-drop/dom/coerce.d.ts +6 -0
  399. package/drag-drop/dom/coerce.js +8 -0
  400. package/drag-drop/dom/dom-rect.d.ts +37 -0
  401. package/drag-drop/dom/dom-rect.js +71 -0
  402. package/drag-drop/dom/fake-event.d.ts +4 -0
  403. package/drag-drop/dom/fake-event.js +22 -0
  404. package/drag-drop/dom/inherited-text.d.ts +4 -0
  405. package/drag-drop/dom/inherited-text.js +44 -0
  406. package/drag-drop/dom/layout-shift.d.ts +8 -0
  407. package/drag-drop/dom/layout-shift.js +87 -0
  408. package/drag-drop/dom/mount-content.d.ts +2 -0
  409. package/drag-drop/dom/mount-content.js +7 -0
  410. package/drag-drop/dom/parent-position-tracker.d.ts +32 -0
  411. package/drag-drop/dom/parent-position-tracker.js +71 -0
  412. package/drag-drop/dom/root-node.d.ts +21 -0
  413. package/drag-drop/dom/root-node.js +41 -0
  414. package/drag-drop/dom/shadow-dom.d.ts +4 -0
  415. package/drag-drop/dom/shadow-dom.js +18 -0
  416. package/drag-drop/dom/styling.d.ts +52 -0
  417. package/drag-drop/dom/styling.js +86 -0
  418. package/drag-drop/dom/transition-duration.d.ts +2 -0
  419. package/drag-drop/dom/transition-duration.js +29 -0
  420. package/drag-drop/drag-drop-registry.d.ts +69 -0
  421. package/drag-drop/drag-drop-registry.js +224 -0
  422. package/drag-drop/drag-drop.d.ts +19 -0
  423. package/drag-drop/drag-drop.js +10 -0
  424. package/drag-drop/drag-events.d.ts +117 -0
  425. package/drag-drop/drag-events.js +1 -0
  426. package/drag-drop/drag-handle.d.ts +18 -0
  427. package/drag-drop/drag-handle.jsx +53 -0
  428. package/drag-drop/drag-placeholder.d.ts +8 -0
  429. package/drag-drop/drag-placeholder.jsx +25 -0
  430. package/drag-drop/drag-preview.d.ts +10 -0
  431. package/drag-drop/drag-preview.jsx +31 -0
  432. package/drag-drop/drag-ref.d.ts +476 -0
  433. package/drag-drop/drag-ref.js +1306 -0
  434. package/drag-drop/drag-utils.d.ts +25 -0
  435. package/drag-drop/drag-utils.js +53 -0
  436. package/drag-drop/drag.d.ts +23 -0
  437. package/drag-drop/drag.jsx +126 -0
  438. package/drag-drop/drop-list-group.d.ts +22 -0
  439. package/drag-drop/drop-list-group.jsx +19 -0
  440. package/drag-drop/drop-list-ref.d.ts +295 -0
  441. package/drag-drop/drop-list-ref.js +707 -0
  442. package/drag-drop/drop-list.d.ts +19 -0
  443. package/drag-drop/drop-list.jsx +87 -0
  444. package/drag-drop/index.d.ts +1 -0
  445. package/drag-drop/index.jsx +4 -0
  446. package/drag-drop/lazy-refs.d.ts +28 -0
  447. package/drag-drop/lazy-refs.js +133 -0
  448. package/drag-drop/preview-ref.d.ts +38 -0
  449. package/drag-drop/preview-ref.js +132 -0
  450. package/drag-drop/sorting/drop-list-sort-strategy.d.ts +29 -0
  451. package/drag-drop/sorting/drop-list-sort-strategy.js +1 -0
  452. package/drag-drop/sorting/mixed-sort-strategy.d.ts +99 -0
  453. package/drag-drop/sorting/mixed-sort-strategy.js +259 -0
  454. package/drag-drop/sorting/single-axis-sort-strategy.d.ts +112 -0
  455. package/drag-drop/sorting/single-axis-sort-strategy.js +343 -0
  456. package/file-trigger/index.d.ts +24 -0
  457. package/file-trigger/index.jsx +41 -0
  458. package/flip/index.d.ts +59 -0
  459. package/flip/index.js +124 -0
  460. package/focus/focus-ring.d.ts +42 -0
  461. package/focus/focus-ring.jsx +77 -0
  462. package/focus/focus-scope.d.ts +51 -0
  463. package/focus/focus-scope.jsx +431 -0
  464. package/focus/focusable.d.ts +33 -0
  465. package/focus/focusable.jsx +93 -0
  466. package/focus/index.d.ts +74 -0
  467. package/focus/index.js +274 -0
  468. package/form/behaviour.d.ts +29 -0
  469. package/form/behaviour.js +145 -0
  470. package/form/field-error.d.ts +38 -0
  471. package/form/field-error.jsx +67 -0
  472. package/form/index.d.ts +77 -0
  473. package/form/index.jsx +116 -0
  474. package/grid/behaviour.d.ts +290 -0
  475. package/grid/behaviour.js +683 -0
  476. package/grid/intl.d.ts +2 -0
  477. package/grid/intl.js +36 -0
  478. package/grid/keyboard-delegate.d.ts +56 -0
  479. package/grid/keyboard-delegate.js +316 -0
  480. package/grid-list/behaviour.d.ts +242 -0
  481. package/grid-list/behaviour.js +598 -0
  482. package/grid-list/index.d.ts +202 -0
  483. package/grid-list/index.jsx +685 -0
  484. package/grid-list/row.d.ts +24 -0
  485. package/grid-list/row.js +57 -0
  486. package/group/index.d.ts +48 -0
  487. package/group/index.jsx +126 -0
  488. package/header/index.d.ts +13 -0
  489. package/header/index.jsx +34 -0
  490. package/heading/index.d.ts +19 -0
  491. package/heading/index.jsx +55 -0
  492. package/highlight/index.d.ts +12 -0
  493. package/highlight/index.jsx +357 -0
  494. package/i18n/filter.d.ts +16 -0
  495. package/i18n/filter.js +66 -0
  496. package/i18n/i18n-provider.d.ts +10 -0
  497. package/i18n/i18n-provider.jsx +15 -0
  498. package/i18n/index.d.ts +27 -0
  499. package/i18n/index.js +115 -0
  500. package/i18n/intl-cache.d.ts +4 -0
  501. package/i18n/intl-cache.js +40 -0
  502. package/i18n/list-formatter.d.ts +2 -0
  503. package/i18n/list-formatter.js +11 -0
  504. package/input/index.d.ts +51 -0
  505. package/input/index.jsx +95 -0
  506. package/interactions/controllable.d.ts +42 -0
  507. package/interactions/controllable.js +67 -0
  508. package/interactions/focus-visible.d.ts +68 -0
  509. package/interactions/focus-visible.jsx +291 -0
  510. package/interactions/focus.d.ts +58 -0
  511. package/interactions/focus.jsx +152 -0
  512. package/interactions/hover.d.ts +54 -0
  513. package/interactions/hover.jsx +139 -0
  514. package/interactions/index.d.ts +1 -0
  515. package/interactions/index.js +3 -0
  516. package/interactions/interact-outside.d.ts +24 -0
  517. package/interactions/interact-outside.jsx +57 -0
  518. package/interactions/keyboard.d.ts +28 -0
  519. package/interactions/keyboard.jsx +51 -0
  520. package/interactions/long-press.d.ts +41 -0
  521. package/interactions/long-press.jsx +79 -0
  522. package/interactions/merge-props.d.ts +54 -0
  523. package/interactions/merge-props.jsx +257 -0
  524. package/interactions/move.d.ts +48 -0
  525. package/interactions/move.jsx +96 -0
  526. package/interactions/press.d.ts +129 -0
  527. package/interactions/press.jsx +538 -0
  528. package/interactions/pressable.d.ts +22 -0
  529. package/interactions/pressable.jsx +93 -0
  530. package/interactions/scroll-wheel.d.ts +20 -0
  531. package/interactions/scroll-wheel.jsx +40 -0
  532. package/interactions/utils.d.ts +53 -0
  533. package/interactions/utils.js +252 -0
  534. package/keyboard/index.d.ts +12 -0
  535. package/keyboard/index.jsx +34 -0
  536. package/keys/index.d.ts +68 -0
  537. package/keys/index.js +199 -0
  538. package/label/behaviour.d.ts +54 -0
  539. package/label/behaviour.js +60 -0
  540. package/label/index.d.ts +35 -0
  541. package/label/index.jsx +85 -0
  542. package/landmark/index.d.ts +10 -0
  543. package/landmark/index.jsx +35 -0
  544. package/landmark/manager.d.ts +50 -0
  545. package/landmark/manager.js +364 -0
  546. package/layout/index.d.ts +90 -0
  547. package/layout/index.js +207 -0
  548. package/lightbox/behaviour.d.ts +82 -0
  549. package/lightbox/behaviour.js +490 -0
  550. package/lightbox/captions/index.d.ts +39 -0
  551. package/lightbox/captions/index.jsx +44 -0
  552. package/lightbox/counter/index.d.ts +10 -0
  553. package/lightbox/counter/index.jsx +10 -0
  554. package/lightbox/download/index.d.ts +32 -0
  555. package/lightbox/download/index.jsx +89 -0
  556. package/lightbox/embed/index.d.ts +15 -0
  557. package/lightbox/embed/index.jsx +58 -0
  558. package/lightbox/fullscreen/index.d.ts +24 -0
  559. package/lightbox/fullscreen/index.jsx +80 -0
  560. package/lightbox/index.d.ts +129 -0
  561. package/lightbox/index.jsx +284 -0
  562. package/lightbox/inline/index.d.ts +18 -0
  563. package/lightbox/inline/index.jsx +15 -0
  564. package/lightbox/pdf/index.d.ts +18 -0
  565. package/lightbox/pdf/index.jsx +31 -0
  566. package/lightbox/share/index.d.ts +29 -0
  567. package/lightbox/share/index.jsx +43 -0
  568. package/lightbox/slideshow/index.d.ts +24 -0
  569. package/lightbox/slideshow/index.jsx +118 -0
  570. package/lightbox/state.d.ts +334 -0
  571. package/lightbox/state.js +192 -0
  572. package/lightbox/thumbnails/index.d.ts +54 -0
  573. package/lightbox/thumbnails/index.jsx +96 -0
  574. package/lightbox/video/index.d.ts +13 -0
  575. package/lightbox/video/index.jsx +42 -0
  576. package/lightbox/zoom/index.d.ts +67 -0
  577. package/lightbox/zoom/index.jsx +456 -0
  578. package/link/behaviour.d.ts +41 -0
  579. package/link/behaviour.js +58 -0
  580. package/link/index.d.ts +30 -0
  581. package/link/index.jsx +179 -0
  582. package/link/router.d.ts +1 -0
  583. package/link/router.js +5 -0
  584. package/listbox/behaviour.d.ts +175 -0
  585. package/listbox/behaviour.jsx +492 -0
  586. package/listbox/index.d.ts +129 -0
  587. package/listbox/index.jsx +596 -0
  588. package/markdown/index.d.ts +82 -0
  589. package/markdown/index.jsx +654 -0
  590. package/masonry/behaviour.d.ts +121 -0
  591. package/masonry/behaviour.js +676 -0
  592. package/masonry/flip.d.ts +27 -0
  593. package/masonry/flip.js +61 -0
  594. package/masonry/geometry.d.ts +44 -0
  595. package/masonry/geometry.js +184 -0
  596. package/masonry/index.d.ts +153 -0
  597. package/masonry/index.jsx +833 -0
  598. package/masonry/justified.d.ts +49 -0
  599. package/masonry/justified.js +250 -0
  600. package/masonry/layout.d.ts +200 -0
  601. package/masonry/layout.js +668 -0
  602. package/masonry/masonry-layout.d.ts +57 -0
  603. package/masonry/masonry-layout.js +159 -0
  604. package/masonry/masonry.css +29 -0
  605. package/menu/behaviour.d.ts +205 -0
  606. package/menu/behaviour.jsx +847 -0
  607. package/menu/index.d.ts +171 -0
  608. package/menu/index.jsx +671 -0
  609. package/menu/intl.d.ts +2 -0
  610. package/menu/intl.js +36 -0
  611. package/menu/safely-mouse-to-submenu.d.ts +12 -0
  612. package/menu/safely-mouse-to-submenu.js +128 -0
  613. package/meter/behaviour.d.ts +18 -0
  614. package/meter/behaviour.jsx +17 -0
  615. package/meter/index.d.ts +30 -0
  616. package/meter/index.jsx +85 -0
  617. package/modal/index.d.ts +79 -0
  618. package/modal/index.jsx +359 -0
  619. package/modal/provider.d.ts +47 -0
  620. package/modal/provider.jsx +105 -0
  621. package/morph/index.d.ts +91 -0
  622. package/morph/index.jsx +372 -0
  623. package/morph/item.d.ts +89 -0
  624. package/morph/item.jsx +546 -0
  625. package/motion/Animations.d.ts +17 -0
  626. package/motion/Animations.js +56 -0
  627. package/motion/DragRelease.d.ts +22 -0
  628. package/motion/DragRelease.js +26 -0
  629. package/motion/DragTracker.d.ts +7 -0
  630. package/motion/DragTracker.js +43 -0
  631. package/motion/Limit.d.ts +12 -0
  632. package/motion/Limit.js +37 -0
  633. package/motion/Motion1D.d.ts +38 -0
  634. package/motion/Motion1D.js +72 -0
  635. package/motion/ScrollBody.d.ts +13 -0
  636. package/motion/ScrollBody.js +75 -0
  637. package/motion/Vector1d.d.ts +8 -0
  638. package/motion/Vector1d.js +29 -0
  639. package/motion/index.d.ts +8 -0
  640. package/motion/index.js +12 -0
  641. package/motion/utils.d.ts +5 -0
  642. package/motion/utils.js +23 -0
  643. package/native-select/index.d.ts +46 -0
  644. package/native-select/index.jsx +99 -0
  645. package/navigation-tree/index.d.ts +43 -0
  646. package/navigation-tree/index.jsx +110 -0
  647. package/number/NumberFormatter.d.ts +28 -0
  648. package/number/NumberFormatter.js +144 -0
  649. package/number/NumberParser.d.ts +27 -0
  650. package/number/NumberParser.js +316 -0
  651. package/number/index.d.ts +5 -0
  652. package/number/index.jsx +17 -0
  653. package/number/number-field-state.d.ts +132 -0
  654. package/number/number-field-state.jsx +364 -0
  655. package/number-field/behaviour.d.ts +165 -0
  656. package/number-field/behaviour.jsx +512 -0
  657. package/number-field/index.d.ts +52 -0
  658. package/number-field/index.jsx +207 -0
  659. package/number-field/intl.d.ts +2 -0
  660. package/number-field/intl.js +36 -0
  661. package/observers/index.d.ts +70 -0
  662. package/observers/index.js +279 -0
  663. package/overflow/index.d.ts +93 -0
  664. package/overflow/index.jsx +267 -0
  665. package/overlay/aria-hide-outside.d.ts +12 -0
  666. package/overlay/aria-hide-outside.js +141 -0
  667. package/overlay/close-on-scroll.d.ts +1 -0
  668. package/overlay/close-on-scroll.js +6 -0
  669. package/overlay/contexts.d.ts +34 -0
  670. package/overlay/contexts.js +21 -0
  671. package/overlay/dismiss-button.d.ts +10 -0
  672. package/overlay/dismiss-button.jsx +18 -0
  673. package/overlay/hover-trigger.d.ts +54 -0
  674. package/overlay/hover-trigger.jsx +221 -0
  675. package/overlay/index.d.ts +40 -0
  676. package/overlay/index.js +139 -0
  677. package/overlay/modal-overlay.d.ts +16 -0
  678. package/overlay/modal-overlay.js +38 -0
  679. package/overlay/overlay-strings.d.ts +4 -0
  680. package/overlay/overlay-strings.js +52 -0
  681. package/overlay/overlay-trigger-state.d.ts +1 -0
  682. package/overlay/overlay-trigger-state.js +3 -0
  683. package/overlay/overlay-trigger.d.ts +27 -0
  684. package/overlay/overlay-trigger.jsx +50 -0
  685. package/overlay/position.d.ts +160 -0
  686. package/overlay/position.js +559 -0
  687. package/overlay/prevent-scroll-ios.d.ts +17 -0
  688. package/overlay/prevent-scroll-ios.js +331 -0
  689. package/overlay/prevent-scroll.d.ts +18 -0
  690. package/overlay/prevent-scroll.js +122 -0
  691. package/overlay/safe-area.d.ts +28 -0
  692. package/overlay/safe-area.js +108 -0
  693. package/overlay-arrow/index.d.ts +23 -0
  694. package/overlay-arrow/index.jsx +59 -0
  695. package/overlay-service/connected-position.d.ts +163 -0
  696. package/overlay-service/connected-position.js +661 -0
  697. package/overlay-service/global-position.d.ts +34 -0
  698. package/overlay-service/global-position.js +154 -0
  699. package/overlay-service/index.d.ts +15 -0
  700. package/overlay-service/index.js +27 -0
  701. package/overlay-service/overlay-container.d.ts +27 -0
  702. package/overlay-service/overlay-container.js +93 -0
  703. package/overlay-service/overlay-dispatchers.d.ts +44 -0
  704. package/overlay-service/overlay-dispatchers.js +149 -0
  705. package/overlay-service/overlay-position-builder.d.ts +8 -0
  706. package/overlay-service/overlay-position-builder.js +15 -0
  707. package/overlay-service/overlay-ref.d.ts +155 -0
  708. package/overlay-service/overlay-ref.js +436 -0
  709. package/overlay-service/overlay-strategy.d.ts +48 -0
  710. package/overlay-service/overlay-strategy.js +3 -0
  711. package/overlay-service/overlay-viewport.d.ts +85 -0
  712. package/overlay-service/overlay-viewport.js +192 -0
  713. package/overlay-service/overlay.css +94 -0
  714. package/overlay-service/scroll-strategies.d.ts +71 -0
  715. package/overlay-service/scroll-strategies.js +185 -0
  716. package/package.json +754 -4
  717. package/platform/index.d.ts +100 -0
  718. package/platform/index.js +304 -0
  719. package/popover/behaviour.d.ts +23 -0
  720. package/popover/behaviour.js +39 -0
  721. package/popover/index.d.ts +60 -0
  722. package/popover/index.jsx +285 -0
  723. package/popover/popover-overlay.d.ts +27 -0
  724. package/popover/popover-overlay.jsx +60 -0
  725. package/popover/use-popover.d.ts +57 -0
  726. package/popover/use-popover.js +92 -0
  727. package/portal/index.d.ts +47 -0
  728. package/portal/index.jsx +76 -0
  729. package/portal/portal-mount.d.ts +8 -0
  730. package/portal/portal-mount.js +7 -0
  731. package/portal/portal-outlet.d.ts +88 -0
  732. package/portal/portal-outlet.js +222 -0
  733. package/preview-trigger/behaviour.d.ts +70 -0
  734. package/preview-trigger/behaviour.jsx +258 -0
  735. package/preview-trigger/index.d.ts +12 -0
  736. package/preview-trigger/index.jsx +82 -0
  737. package/progress-bar/behaviour.d.ts +77 -0
  738. package/progress-bar/behaviour.jsx +75 -0
  739. package/progress-bar/context.d.ts +4 -0
  740. package/progress-bar/context.js +7 -0
  741. package/progress-bar/index.d.ts +38 -0
  742. package/progress-bar/index.jsx +90 -0
  743. package/radio-group/behaviour.d.ts +11 -0
  744. package/radio-group/behaviour.js +85 -0
  745. package/radio-group/index.d.ts +82 -0
  746. package/radio-group/index.jsx +139 -0
  747. package/radio-group/parts.d.ts +223 -0
  748. package/radio-group/parts.jsx +425 -0
  749. package/range-calendar/behaviour.d.ts +2 -0
  750. package/range-calendar/behaviour.jsx +5 -0
  751. package/range-calendar/index.d.ts +2 -0
  752. package/range-calendar/index.jsx +4 -0
  753. package/resizable/engine/components/group/auto-save/getStorageKey.d.ts +1 -0
  754. package/resizable/engine/components/group/auto-save/getStorageKey.js +5 -0
  755. package/resizable/engine/components/group/compareDocumentPosition.d.ts +5 -0
  756. package/resizable/engine/components/group/compareDocumentPosition.js +19 -0
  757. package/resizable/engine/components/group/readLegacyLayout.d.ts +16 -0
  758. package/resizable/engine/components/group/readLegacyLayout.js +48 -0
  759. package/resizable/engine/components/group/sortByElementOffset.d.ts +4 -0
  760. package/resizable/engine/components/group/sortByElementOffset.js +28 -0
  761. package/resizable/engine/components/group/types.d.ts +50 -0
  762. package/resizable/engine/components/group/types.js +1 -0
  763. package/resizable/engine/components/panel/types.d.ts +90 -0
  764. package/resizable/engine/components/panel/types.js +4 -0
  765. package/resizable/engine/constants.d.ts +15 -0
  766. package/resizable/engine/constants.js +27 -0
  767. package/resizable/engine/global/cursor/getCursorStyle.d.ts +7 -0
  768. package/resizable/engine/global/cursor/getCursorStyle.js +94 -0
  769. package/resizable/engine/global/cursor/supportsAdvancedCursorStyles.d.ts +5 -0
  770. package/resizable/engine/global/cursor/supportsAdvancedCursorStyles.js +20 -0
  771. package/resizable/engine/global/cursor/updateCursorStyle.d.ts +1 -0
  772. package/resizable/engine/global/cursor/updateCursorStyle.js +64 -0
  773. package/resizable/engine/global/dom/calculateAvailableAxisSize.d.ts +4 -0
  774. package/resizable/engine/global/dom/calculateAvailableAxisSize.js +10 -0
  775. package/resizable/engine/global/dom/calculateHitRegions.d.ts +13 -0
  776. package/resizable/engine/global/dom/calculateHitRegions.js +153 -0
  777. package/resizable/engine/global/dom/calculateItemConstraints.d.ts +2 -0
  778. package/resizable/engine/global/dom/calculateItemConstraints.js +82 -0
  779. package/resizable/engine/global/event-handlers/onDocumentContextMenu.d.ts +1 -0
  780. package/resizable/engine/global/event-handlers/onDocumentContextMenu.js +9 -0
  781. package/resizable/engine/global/event-handlers/onDocumentDoubleClick.d.ts +1 -0
  782. package/resizable/engine/global/event-handlers/onDocumentDoubleClick.js +28 -0
  783. package/resizable/engine/global/event-handlers/onDocumentKeyDown.d.ts +1 -0
  784. package/resizable/engine/global/event-handlers/onDocumentKeyDown.js +97 -0
  785. package/resizable/engine/global/event-handlers/onDocumentLostPointerCapture.d.ts +1 -0
  786. package/resizable/engine/global/event-handlers/onDocumentLostPointerCapture.js +18 -0
  787. package/resizable/engine/global/event-handlers/onDocumentPointerCancel.d.ts +1 -0
  788. package/resizable/engine/global/event-handlers/onDocumentPointerCancel.js +8 -0
  789. package/resizable/engine/global/event-handlers/onDocumentPointerDown.d.ts +1 -0
  790. package/resizable/engine/global/event-handlers/onDocumentPointerDown.js +54 -0
  791. package/resizable/engine/global/event-handlers/onDocumentPointerLeave.d.ts +1 -0
  792. package/resizable/engine/global/event-handlers/onDocumentPointerLeave.js +22 -0
  793. package/resizable/engine/global/event-handlers/onDocumentPointerMove.d.ts +1 -0
  794. package/resizable/engine/global/event-handlers/onDocumentPointerMove.js +69 -0
  795. package/resizable/engine/global/event-handlers/onDocumentPointerOut.d.ts +1 -0
  796. package/resizable/engine/global/event-handlers/onDocumentPointerOut.js +20 -0
  797. package/resizable/engine/global/event-handlers/onDocumentPointerUp.d.ts +1 -0
  798. package/resizable/engine/global/event-handlers/onDocumentPointerUp.js +15 -0
  799. package/resizable/engine/global/event-handlers/onWindowBlur.d.ts +1 -0
  800. package/resizable/engine/global/event-handlers/onWindowBlur.js +11 -0
  801. package/resizable/engine/global/mountAxis.d.ts +2 -0
  802. package/resizable/engine/global/mountAxis.js +187 -0
  803. package/resizable/engine/global/mutable-state/axes.d.ts +37 -0
  804. package/resizable/engine/global/mutable-state/axes.js +52 -0
  805. package/resizable/engine/global/mutable-state/interactions.d.ts +17 -0
  806. package/resizable/engine/global/mutable-state/interactions.js +92 -0
  807. package/resizable/engine/global/mutable-state/types.d.ts +32 -0
  808. package/resizable/engine/global/mutable-state/types.js +1 -0
  809. package/resizable/engine/global/styles/convertEmToPixels.d.ts +1 -0
  810. package/resizable/engine/global/styles/convertEmToPixels.js +7 -0
  811. package/resizable/engine/global/styles/convertRemToPixels.d.ts +1 -0
  812. package/resizable/engine/global/styles/convertRemToPixels.js +7 -0
  813. package/resizable/engine/global/styles/convertVhToPixels.d.ts +1 -0
  814. package/resizable/engine/global/styles/convertVhToPixels.js +5 -0
  815. package/resizable/engine/global/styles/convertVwToPixels.d.ts +1 -0
  816. package/resizable/engine/global/styles/convertVwToPixels.js +5 -0
  817. package/resizable/engine/global/styles/parseSizeAndUnit.d.ts +2 -0
  818. package/resizable/engine/global/styles/parseSizeAndUnit.js +29 -0
  819. package/resizable/engine/global/styles/sizeStyleToPixels.d.ts +5 -0
  820. package/resizable/engine/global/styles/sizeStyleToPixels.js +38 -0
  821. package/resizable/engine/global/types.d.ts +120 -0
  822. package/resizable/engine/global/types.js +1 -0
  823. package/resizable/engine/global/utils/abortActivePointerResize.d.ts +9 -0
  824. package/resizable/engine/global/utils/abortActivePointerResize.js +52 -0
  825. package/resizable/engine/global/utils/adjustLayoutByDelta.d.ts +9 -0
  826. package/resizable/engine/global/utils/adjustLayoutByDelta.js +219 -0
  827. package/resizable/engine/global/utils/adjustLayoutForSeparator.d.ts +1 -0
  828. package/resizable/engine/global/utils/adjustLayoutForSeparator.js +48 -0
  829. package/resizable/engine/global/utils/calculateDefaultLayout.d.ts +2 -0
  830. package/resizable/engine/global/utils/calculateDefaultLayout.js +30 -0
  831. package/resizable/engine/global/utils/calculateResizePreviews.d.ts +3 -0
  832. package/resizable/engine/global/utils/calculateResizePreviews.js +39 -0
  833. package/resizable/engine/global/utils/calculateSeparatorAriaValues.d.ts +12 -0
  834. package/resizable/engine/global/utils/calculateSeparatorAriaValues.js +43 -0
  835. package/resizable/engine/global/utils/compareLayoutNumbers.d.ts +1 -0
  836. package/resizable/engine/global/utils/compareLayoutNumbers.js +11 -0
  837. package/resizable/engine/global/utils/completeActivePointerResize.d.ts +6 -0
  838. package/resizable/engine/global/utils/completeActivePointerResize.js +49 -0
  839. package/resizable/engine/global/utils/doRectsIntersect.d.ts +2 -0
  840. package/resizable/engine/global/utils/doRectsIntersect.js +3 -0
  841. package/resizable/engine/global/utils/expandHitTarget.d.ts +10 -0
  842. package/resizable/engine/global/utils/expandHitTarget.js +19 -0
  843. package/resizable/engine/global/utils/findClosestHitRegion.d.ts +9 -0
  844. package/resizable/engine/global/utils/findClosestHitRegion.js +35 -0
  845. package/resizable/engine/global/utils/findClosestRect.d.ts +6 -0
  846. package/resizable/engine/global/utils/findClosestRect.js +22 -0
  847. package/resizable/engine/global/utils/findMatchingHitRegions.d.ts +7 -0
  848. package/resizable/engine/global/utils/findMatchingHitRegions.js +29 -0
  849. package/resizable/engine/global/utils/findSeparatorAxis.d.ts +21 -0
  850. package/resizable/engine/global/utils/findSeparatorAxis.js +12 -0
  851. package/resizable/engine/global/utils/formatLayoutNumber.d.ts +1 -0
  852. package/resizable/engine/global/utils/formatLayoutNumber.js +5 -0
  853. package/resizable/engine/global/utils/getDefaultLayout.d.ts +5 -0
  854. package/resizable/engine/global/utils/getDefaultLayout.js +11 -0
  855. package/resizable/engine/global/utils/getDistanceBetweenPointAndRect.d.ts +5 -0
  856. package/resizable/engine/global/utils/getDistanceBetweenPointAndRect.js +6 -0
  857. package/resizable/engine/global/utils/getImperativeAxisMethods.d.ts +4 -0
  858. package/resizable/engine/global/utils/getImperativeAxisMethods.js +53 -0
  859. package/resizable/engine/global/utils/getImperativeItemMethods.d.ts +5 -0
  860. package/resizable/engine/global/utils/getImperativeItemMethods.js +169 -0
  861. package/resizable/engine/global/utils/isCoarsePointer.d.ts +4 -0
  862. package/resizable/engine/global/utils/isCoarsePointer.js +17 -0
  863. package/resizable/engine/global/utils/isModal.d.ts +1 -0
  864. package/resizable/engine/global/utils/isModal.js +11 -0
  865. package/resizable/engine/global/utils/isViableHitTarget.d.ts +5 -0
  866. package/resizable/engine/global/utils/isViableHitTarget.js +50 -0
  867. package/resizable/engine/global/utils/itemConstraintsEqual.d.ts +2 -0
  868. package/resizable/engine/global/utils/itemConstraintsEqual.js +9 -0
  869. package/resizable/engine/global/utils/layoutNumbersEqual.d.ts +1 -0
  870. package/resizable/engine/global/utils/layoutNumbersEqual.js +6 -0
  871. package/resizable/engine/global/utils/layoutsEqual.d.ts +2 -0
  872. package/resizable/engine/global/utils/layoutsEqual.js +15 -0
  873. package/resizable/engine/global/utils/normalizeLayout.d.ts +11 -0
  874. package/resizable/engine/global/utils/normalizeLayout.js +21 -0
  875. package/resizable/engine/global/utils/notifyItemOnResize.d.ts +2 -0
  876. package/resizable/engine/global/utils/notifyItemOnResize.js +23 -0
  877. package/resizable/engine/global/utils/objectsEqual.d.ts +1 -0
  878. package/resizable/engine/global/utils/objectsEqual.js +14 -0
  879. package/resizable/engine/global/utils/preserveFixedItemSizes.d.ts +7 -0
  880. package/resizable/engine/global/utils/preserveFixedItemSizes.js +53 -0
  881. package/resizable/engine/global/utils/recordAxisLayoutChange.d.ts +15 -0
  882. package/resizable/engine/global/utils/recordAxisLayoutChange.js +25 -0
  883. package/resizable/engine/global/utils/updateActiveHitRegion.d.ts +18 -0
  884. package/resizable/engine/global/utils/updateActiveHitRegion.js +119 -0
  885. package/resizable/engine/global/utils/validateAxisLayout.d.ts +5 -0
  886. package/resizable/engine/global/utils/validateAxisLayout.js +70 -0
  887. package/resizable/engine/global/utils/validateItemSize.d.ts +7 -0
  888. package/resizable/engine/global/utils/validateItemSize.js +31 -0
  889. package/resizable/engine/global/utils/validateLayoutKeys.d.ts +2 -0
  890. package/resizable/engine/global/utils/validateLayoutKeys.js +13 -0
  891. package/resizable/engine/types.d.ts +13 -0
  892. package/resizable/engine/types.js +1 -0
  893. package/resizable/engine/utils/EventEmitter.d.ts +11 -0
  894. package/resizable/engine/utils/EventEmitter.js +60 -0
  895. package/resizable/engine/utils/assert.d.ts +1 -0
  896. package/resizable/engine/utils/assert.js +7 -0
  897. package/resizable/engine/utils/isArrayEqual.d.ts +1 -0
  898. package/resizable/engine/utils/isArrayEqual.js +15 -0
  899. package/resizable/engine/utils/isHTMLElement.d.ts +1 -0
  900. package/resizable/engine/utils/isHTMLElement.js +6 -0
  901. package/resizable/engine/utils/isShadowRoot.d.ts +1 -0
  902. package/resizable/engine/utils/isShadowRoot.js +6 -0
  903. package/resizable/engine/vendor/stacking-order.d.ts +7 -0
  904. package/resizable/engine/vendor/stacking-order.js +122 -0
  905. package/resizable/index.d.ts +263 -0
  906. package/resizable/index.jsx +537 -0
  907. package/resizable/mount.d.ts +115 -0
  908. package/resizable/mount.js +540 -0
  909. package/scheduler/behaviour.d.ts +71 -0
  910. package/scheduler/behaviour.js +243 -0
  911. package/scheduler/context.d.ts +100 -0
  912. package/scheduler/context.jsx +7 -0
  913. package/scheduler/dates.d.ts +53 -0
  914. package/scheduler/dates.js +183 -0
  915. package/scheduler/drag.d.ts +20 -0
  916. package/scheduler/drag.js +361 -0
  917. package/scheduler/event.d.ts +26 -0
  918. package/scheduler/event.jsx +93 -0
  919. package/scheduler/index.d.ts +57 -0
  920. package/scheduler/index.jsx +303 -0
  921. package/scheduler/intl.d.ts +16 -0
  922. package/scheduler/intl.js +529 -0
  923. package/scheduler/keys-month.d.ts +7 -0
  924. package/scheduler/keys-month.js +110 -0
  925. package/scheduler/keys-time-grid.d.ts +9 -0
  926. package/scheduler/keys-time-grid.js +115 -0
  927. package/scheduler/keys.d.ts +103 -0
  928. package/scheduler/keys.js +527 -0
  929. package/scheduler/layout-index.d.ts +3 -0
  930. package/scheduler/layout-index.js +6 -0
  931. package/scheduler/layout.d.ts +285 -0
  932. package/scheduler/layout.js +378 -0
  933. package/scheduler/menus.d.ts +66 -0
  934. package/scheduler/menus.jsx +88 -0
  935. package/scheduler/month.d.ts +26 -0
  936. package/scheduler/month.jsx +215 -0
  937. package/scheduler/pointer.d.ts +64 -0
  938. package/scheduler/pointer.js +203 -0
  939. package/scheduler/select.d.ts +11 -0
  940. package/scheduler/select.js +64 -0
  941. package/scheduler/selection.d.ts +34 -0
  942. package/scheduler/selection.js +39 -0
  943. package/scheduler/state.d.ts +296 -0
  944. package/scheduler/state.js +496 -0
  945. package/scheduler/time-grid-client.d.ts +32 -0
  946. package/scheduler/time-grid-client.jsx +133 -0
  947. package/scheduler/time-grid.d.ts +26 -0
  948. package/scheduler/time-grid.jsx +266 -0
  949. package/scheduler/time.d.ts +35 -0
  950. package/scheduler/time.js +56 -0
  951. package/scheduler/toolbar.d.ts +43 -0
  952. package/scheduler/toolbar.jsx +38 -0
  953. package/scroll-area/dom.d.ts +11 -0
  954. package/scroll-area/dom.js +55 -0
  955. package/scroll-area/index.d.ts +96 -0
  956. package/scroll-area/index.jsx +884 -0
  957. package/scroll-area/presence.d.ts +12 -0
  958. package/scroll-area/presence.jsx +131 -0
  959. package/scrolling/auto-size-virtual-scroll.d.ts +53 -0
  960. package/scrolling/auto-size-virtual-scroll.js +213 -0
  961. package/scrolling/behaviour.d.ts +3 -0
  962. package/scrolling/behaviour.js +5 -0
  963. package/scrolling/emitter.d.ts +34 -0
  964. package/scrolling/emitter.js +144 -0
  965. package/scrolling/fixed-size-virtual-scroll.d.ts +28 -0
  966. package/scrolling/fixed-size-virtual-scroll.js +107 -0
  967. package/scrolling/index.d.ts +11 -0
  968. package/scrolling/index.jsx +13 -0
  969. package/scrolling/rtl.d.ts +16 -0
  970. package/scrolling/rtl.js +64 -0
  971. package/scrolling/scroll-dispatcher.d.ts +49 -0
  972. package/scrolling/scroll-dispatcher.js +107 -0
  973. package/scrolling/scrollable.d.ts +75 -0
  974. package/scrolling/scrollable.js +149 -0
  975. package/scrolling/scrolling.css +11 -0
  976. package/scrolling/state.d.ts +92 -0
  977. package/scrolling/state.js +94 -0
  978. package/scrolling/viewport-ruler.d.ts +47 -0
  979. package/scrolling/viewport-ruler.js +100 -0
  980. package/scrolling/viewport.d.ts +54 -0
  981. package/scrolling/viewport.jsx +105 -0
  982. package/scrolling/virtual-scroll-strategy.d.ts +41 -0
  983. package/scrolling/virtual-scroll-strategy.js +2 -0
  984. package/scrolling/virtual-scroll-viewport.d.ts +95 -0
  985. package/scrolling/virtual-scroll-viewport.js +370 -0
  986. package/search-field/behaviour.d.ts +62 -0
  987. package/search-field/behaviour.jsx +116 -0
  988. package/search-field/index.d.ts +57 -0
  989. package/search-field/index.jsx +158 -0
  990. package/search-field/intl.d.ts +2 -0
  991. package/search-field/intl.js +36 -0
  992. package/select/behaviour.d.ts +188 -0
  993. package/select/behaviour.jsx +445 -0
  994. package/select/hidden-select.d.ts +44 -0
  995. package/select/hidden-select.jsx +68 -0
  996. package/select/index.d.ts +123 -0
  997. package/select/index.jsx +255 -0
  998. package/select/intl.d.ts +2 -0
  999. package/select/intl.js +36 -0
  1000. package/select/parts.d.ts +11 -0
  1001. package/select/parts.jsx +12 -0
  1002. package/select/select-parts.d.ts +73 -0
  1003. package/select/select-parts.jsx +293 -0
  1004. package/select/select-value.d.ts +58 -0
  1005. package/select/select-value.jsx +142 -0
  1006. package/selection/dom-utils.d.ts +25 -0
  1007. package/selection/dom-utils.js +77 -0
  1008. package/selection/keyed.d.ts +19 -0
  1009. package/selection/keyed.js +76 -0
  1010. package/selection/list-keyboard-delegate.d.ts +67 -0
  1011. package/selection/list-keyboard-delegate.js +274 -0
  1012. package/selection/manager.d.ts +112 -0
  1013. package/selection/manager.js +340 -0
  1014. package/selection/selectable-collection.d.ts +123 -0
  1015. package/selection/selectable-collection.js +535 -0
  1016. package/selection/selectable-item.d.ts +128 -0
  1017. package/selection/selectable-item.js +486 -0
  1018. package/selection/selectable-list.d.ts +42 -0
  1019. package/selection/selectable-list.js +34 -0
  1020. package/selection/state.d.ts +96 -0
  1021. package/selection/state.js +131 -0
  1022. package/selection/type-select.d.ts +37 -0
  1023. package/selection/type-select.js +114 -0
  1024. package/selection/utils.d.ts +23 -0
  1025. package/selection/utils.js +38 -0
  1026. package/selection-indicator/context.d.ts +10 -0
  1027. package/selection-indicator/context.js +7 -0
  1028. package/selection-indicator/index.d.ts +20 -0
  1029. package/selection-indicator/index.jsx +25 -0
  1030. package/separator/behaviour.d.ts +17 -0
  1031. package/separator/behaviour.js +17 -0
  1032. package/separator/index.d.ts +23 -0
  1033. package/separator/index.jsx +64 -0
  1034. package/shared-element-transition/index.d.ts +36 -0
  1035. package/shared-element-transition/index.jsx +182 -0
  1036. package/shared-element-transition/transition.d.ts +19 -0
  1037. package/shared-element-transition/transition.jsx +20 -0
  1038. package/sheet-motion/index.d.ts +82 -0
  1039. package/sheet-motion/index.js +386 -0
  1040. package/sidebar/index.d.ts +257 -0
  1041. package/sidebar/index.jsx +624 -0
  1042. package/sidebar/pages.d.ts +71 -0
  1043. package/sidebar/pages.jsx +177 -0
  1044. package/sidebar/resize.d.ts +69 -0
  1045. package/sidebar/resize.js +237 -0
  1046. package/sidebar/sheet-motion.d.ts +15 -0
  1047. package/sidebar/sheet-motion.js +170 -0
  1048. package/sidebar/state.d.ts +126 -0
  1049. package/sidebar/state.js +204 -0
  1050. package/slider/behaviour.d.ts +141 -0
  1051. package/slider/behaviour.jsx +492 -0
  1052. package/slider/index.d.ts +171 -0
  1053. package/slider/index.jsx +392 -0
  1054. package/slider/state.d.ts +203 -0
  1055. package/slider/state.js +377 -0
  1056. package/slots/index.d.ts +248 -0
  1057. package/slots/index.jsx +473 -0
  1058. package/spinbutton/behaviour.d.ts +66 -0
  1059. package/spinbutton/behaviour.jsx +312 -0
  1060. package/spinbutton/intl.d.ts +2 -0
  1061. package/spinbutton/intl.js +36 -0
  1062. package/state/autocomplete.d.ts +26 -0
  1063. package/state/autocomplete.js +32 -0
  1064. package/state/calendar.d.ts +284 -0
  1065. package/state/calendar.js +755 -0
  1066. package/state/checkbox-group.d.ts +67 -0
  1067. package/state/checkbox-group.js +76 -0
  1068. package/state/combobox.d.ts +238 -0
  1069. package/state/combobox.js +708 -0
  1070. package/state/date-field.d.ts +407 -0
  1071. package/state/date-field.js +1117 -0
  1072. package/state/date-intl.d.ts +3 -0
  1073. package/state/date-intl.js +36 -0
  1074. package/state/date-picker.d.ts +144 -0
  1075. package/state/date-picker.js +387 -0
  1076. package/state/disclosure.d.ts +90 -0
  1077. package/state/disclosure.js +148 -0
  1078. package/state/form-validation.d.ts +89 -0
  1079. package/state/form-validation.js +158 -0
  1080. package/state/grid.d.ts +62 -0
  1081. package/state/grid.js +127 -0
  1082. package/state/list.d.ts +58 -0
  1083. package/state/list.js +124 -0
  1084. package/state/menu.d.ts +159 -0
  1085. package/state/menu.js +184 -0
  1086. package/state/overlays.d.ts +35 -0
  1087. package/state/overlays.js +29 -0
  1088. package/state/radio-group.d.ts +58 -0
  1089. package/state/radio-group.js +68 -0
  1090. package/state/search-field.d.ts +20 -0
  1091. package/state/search-field.js +21 -0
  1092. package/state/select.d.ts +150 -0
  1093. package/state/select.js +187 -0
  1094. package/state/selection.d.ts +3 -0
  1095. package/state/selection.js +5 -0
  1096. package/state/table-column-resize.d.ts +58 -0
  1097. package/state/table-column-resize.js +76 -0
  1098. package/state/table.d.ts +81 -0
  1099. package/state/table.js +114 -0
  1100. package/state/tabs.d.ts +85 -0
  1101. package/state/tabs.js +161 -0
  1102. package/state/time-field.d.ts +32 -0
  1103. package/state/time-field.js +34 -0
  1104. package/state/toast.d.ts +80 -0
  1105. package/state/toast.js +146 -0
  1106. package/state/toggle-group.d.ts +70 -0
  1107. package/state/toggle-group.js +110 -0
  1108. package/state/toggle.d.ts +40 -0
  1109. package/state/toggle.js +39 -0
  1110. package/state/tooltip.d.ts +53 -0
  1111. package/state/tooltip.js +153 -0
  1112. package/stepper/index.d.ts +117 -0
  1113. package/stepper/index.jsx +405 -0
  1114. package/stepper/state.d.ts +200 -0
  1115. package/stepper/state.js +325 -0
  1116. package/switch/behaviour.d.ts +12 -0
  1117. package/switch/behaviour.jsx +9 -0
  1118. package/switch/index.d.ts +150 -0
  1119. package/switch/index.jsx +186 -0
  1120. package/table/behaviour.d.ts +181 -0
  1121. package/table/behaviour.js +334 -0
  1122. package/table/collection.d.ts +49 -0
  1123. package/table/collection.js +259 -0
  1124. package/table/column-resize.d.ts +48 -0
  1125. package/table/column-resize.jsx +247 -0
  1126. package/table/index.d.ts +339 -0
  1127. package/table/index.jsx +982 -0
  1128. package/table/intl.d.ts +2 -0
  1129. package/table/intl.js +36 -0
  1130. package/table/keyboard-delegate.d.ts +21 -0
  1131. package/table/keyboard-delegate.js +166 -0
  1132. package/table/rac-intl.d.ts +2 -0
  1133. package/table/rac-intl.js +36 -0
  1134. package/tabs/behaviour.d.ts +49 -0
  1135. package/tabs/behaviour.js +173 -0
  1136. package/tabs/index.d.ts +248 -0
  1137. package/tabs/index.jsx +577 -0
  1138. package/tabs/keyboard-delegate.d.ts +17 -0
  1139. package/tabs/keyboard-delegate.js +64 -0
  1140. package/tag-group/behaviour.d.ts +59 -0
  1141. package/tag-group/behaviour.js +112 -0
  1142. package/tag-group/index.d.ts +138 -0
  1143. package/tag-group/index.jsx +565 -0
  1144. package/tag-group/intl.d.ts +2 -0
  1145. package/tag-group/intl.js +36 -0
  1146. package/tailwind.css +12 -0
  1147. package/tests-components/app/src/routes/index.d.ts +4 -0
  1148. package/tests-components/app/src/routes/index.jsx +7 -0
  1149. package/text/index.d.ts +15 -0
  1150. package/text/index.jsx +61 -0
  1151. package/text-area/index.d.ts +19 -0
  1152. package/text-area/index.jsx +76 -0
  1153. package/text-field/autosize.d.ts +70 -0
  1154. package/text-field/autosize.js +355 -0
  1155. package/text-field/behaviour.d.ts +140 -0
  1156. package/text-field/behaviour.jsx +260 -0
  1157. package/text-field/fields.d.ts +12 -0
  1158. package/text-field/fields.js +20 -0
  1159. package/text-field/index.d.ts +50 -0
  1160. package/text-field/index.jsx +174 -0
  1161. package/text-field/text-field.css +45 -0
  1162. package/theme.css +1006 -0
  1163. package/time-wheels/behaviour.d.ts +29 -0
  1164. package/time-wheels/behaviour.js +156 -0
  1165. package/time-wheels/index.d.ts +27 -0
  1166. package/time-wheels/index.jsx +91 -0
  1167. package/toast/behaviour.d.ts +51 -0
  1168. package/toast/behaviour.jsx +273 -0
  1169. package/toast/index.d.ts +94 -0
  1170. package/toast/index.jsx +256 -0
  1171. package/toast/intl.d.ts +2 -0
  1172. package/toast/intl.js +36 -0
  1173. package/toggle-button/behaviour.d.ts +15 -0
  1174. package/toggle-button/behaviour.js +37 -0
  1175. package/toggle-button/index.d.ts +59 -0
  1176. package/toggle-button/index.jsx +206 -0
  1177. package/toggle-button-group/behaviour.d.ts +19 -0
  1178. package/toggle-button-group/behaviour.jsx +13 -0
  1179. package/toggle-button-group/context.d.ts +7 -0
  1180. package/toggle-button-group/context.js +9 -0
  1181. package/toggle-button-group/index.d.ts +39 -0
  1182. package/toggle-button-group/index.jsx +85 -0
  1183. package/toggle-button-group/item.d.ts +30 -0
  1184. package/toggle-button-group/item.jsx +37 -0
  1185. package/toolbar/behaviour.d.ts +22 -0
  1186. package/toolbar/behaviour.js +89 -0
  1187. package/toolbar/index.d.ts +16 -0
  1188. package/toolbar/index.jsx +67 -0
  1189. package/tooltip/behaviour.d.ts +93 -0
  1190. package/tooltip/behaviour.jsx +299 -0
  1191. package/tooltip/index.d.ts +59 -0
  1192. package/tooltip/index.jsx +193 -0
  1193. package/tree/behaviour.d.ts +51 -0
  1194. package/tree/behaviour.jsx +51 -0
  1195. package/tree/cdk-index.d.ts +2 -0
  1196. package/tree/cdk-index.js +6 -0
  1197. package/tree/collection.d.ts +16 -0
  1198. package/tree/collection.js +138 -0
  1199. package/tree/control.d.ts +125 -0
  1200. package/tree/control.js +166 -0
  1201. package/tree/index.d.ts +154 -0
  1202. package/tree/index.jsx +815 -0
  1203. package/tree/intl.d.ts +2 -0
  1204. package/tree/intl.js +36 -0
  1205. package/tree/navigation-context.d.ts +44 -0
  1206. package/tree/navigation-context.jsx +63 -0
  1207. package/tree/tree-key-manager.d.ts +149 -0
  1208. package/tree/tree-key-manager.js +336 -0
  1209. package/utils/animation.d.ts +32 -0
  1210. package/utils/animation.jsx +236 -0
  1211. package/utils/data-attrs.d.ts +71 -0
  1212. package/utils/data-attrs.jsx +193 -0
  1213. package/utils/dev-off.d.ts +3 -0
  1214. package/utils/dev-off.js +7 -0
  1215. package/utils/dev-on.d.ts +3 -0
  1216. package/utils/dev-on.js +17 -0
  1217. package/utils/dom-props.d.ts +44 -0
  1218. package/utils/dom-props.js +73 -0
  1219. package/utils/dom.d.ts +85 -0
  1220. package/utils/dom.js +402 -0
  1221. package/utils/id.d.ts +23 -0
  1222. package/utils/id.js +100 -0
  1223. package/utils/index.d.ts +57 -0
  1224. package/utils/index.js +257 -0
  1225. package/utils/links.d.ts +87 -0
  1226. package/utils/links.jsx +152 -0
  1227. package/utils/live-element.d.ts +8 -0
  1228. package/utils/live-element.jsx +76 -0
  1229. package/utils/live.d.ts +53 -0
  1230. package/utils/live.jsx +169 -0
  1231. package/utils/load-more-sentinel.d.ts +28 -0
  1232. package/utils/load-more-sentinel.jsx +52 -0
  1233. package/utils/motion-token.d.ts +4 -0
  1234. package/utils/motion-token.js +48 -0
  1235. package/utils/render.d.ts +19 -0
  1236. package/utils/render.js +18 -0
  1237. package/utils/types.d.ts +111 -0
  1238. package/utils/types.js +1 -0
  1239. package/virtualizer/behaviour.d.ts +98 -0
  1240. package/virtualizer/behaviour.js +315 -0
  1241. package/virtualizer/collection.d.ts +103 -0
  1242. package/virtualizer/collection.js +155 -0
  1243. package/virtualizer/dom.d.ts +50 -0
  1244. package/virtualizer/dom.js +233 -0
  1245. package/virtualizer/engine.d.ts +21 -0
  1246. package/virtualizer/engine.js +21 -0
  1247. package/virtualizer/grid-layout.d.ts +50 -0
  1248. package/virtualizer/grid-layout.js +247 -0
  1249. package/virtualizer/index.d.ts +2 -0
  1250. package/virtualizer/index.jsx +4 -0
  1251. package/virtualizer/layout-info.d.ts +33 -0
  1252. package/virtualizer/layout-info.js +54 -0
  1253. package/virtualizer/layout.d.ts +44 -0
  1254. package/virtualizer/layout.js +30 -0
  1255. package/virtualizer/list-layout.d.ts +103 -0
  1256. package/virtualizer/list-layout.js +508 -0
  1257. package/virtualizer/overscan-manager.d.ts +9 -0
  1258. package/virtualizer/overscan-manager.js +32 -0
  1259. package/virtualizer/point.d.ts +13 -0
  1260. package/virtualizer/point.js +23 -0
  1261. package/virtualizer/rect.d.ts +49 -0
  1262. package/virtualizer/rect.js +105 -0
  1263. package/virtualizer/reusable-view.d.ts +29 -0
  1264. package/virtualizer/reusable-view.js +56 -0
  1265. package/virtualizer/scroll-anchor.d.ts +62 -0
  1266. package/virtualizer/scroll-anchor.js +130 -0
  1267. package/virtualizer/size.d.ts +11 -0
  1268. package/virtualizer/size.js +21 -0
  1269. package/virtualizer/state.d.ts +35 -0
  1270. package/virtualizer/state.js +79 -0
  1271. package/virtualizer/table-collection.d.ts +45 -0
  1272. package/virtualizer/table-collection.js +80 -0
  1273. package/virtualizer/table-column-layout.d.ts +44 -0
  1274. package/virtualizer/table-column-layout.js +210 -0
  1275. package/virtualizer/table-layout.d.ts +55 -0
  1276. package/virtualizer/table-layout.js +482 -0
  1277. package/virtualizer/types.d.ts +63 -0
  1278. package/virtualizer/types.js +1 -0
  1279. package/virtualizer/utils.d.ts +2 -0
  1280. package/virtualizer/utils.js +12 -0
  1281. package/virtualizer/virtualizer-core.d.ts +61 -0
  1282. package/virtualizer/virtualizer-core.js +304 -0
  1283. package/virtualizer/virtualizer.d.ts +62 -0
  1284. package/virtualizer/virtualizer.jsx +88 -0
  1285. package/virtualizer/waterfall-layout.d.ts +41 -0
  1286. package/virtualizer/waterfall-layout.js +227 -0
  1287. package/wheel-picker/behaviour.d.ts +94 -0
  1288. package/wheel-picker/behaviour.js +482 -0
  1289. package/wheel-picker/index.d.ts +33 -0
  1290. package/wheel-picker/index.jsx +66 -0
@@ -0,0 +1,285 @@
1
+ // Ported from React Aria Components (Popover.tsx), Apache-2.0, © Adobe.
2
+ // A popover is an overlay element positioned relative to a trigger. Trigger components (DialogTrigger,
3
+ // MenuTrigger, Select, ComboBox, DatePicker, PreviewTrigger, SubmenuTrigger) feed it through
4
+ // `PopoverContext` (`trigger` name, `triggerRef`, placement, …) and `OverlayTriggerStateContext`;
5
+ // standalone it takes `triggerRef` + `isOpen` / `defaultOpen` / `onOpenChange`.
6
+ // Rivet:
7
+ // - renders in the div overlay layer (`<Overlay>`: portal + focus scope) while open or exiting; the
8
+ // presence sits in its own binding site (`span[data-rv-overlay-anchor]`, `display: contents`), so on a
9
+ // resumed page the first open re-creates only the popover, never the trigger.
10
+ // - usePopover (`popoverProps`, ./use-popover.ts) runs from a client effect while open (released on
11
+ // close / unmount); positioning writes styles through CSSOM, `data-placement` on popover + arrow.
12
+ // - enter / exit: `createEnterAnimation` / `createExitAnimation` (`@rivetjs/cdk/animation`), state on
13
+ // `data-entering` / `data-exiting` (`"true"`); render props are accessors (`placement()`, `isEntering()`).
14
+ // - `class` (RAC `className`), default `rv-Popover`; `ref` is a Rivet ref.
15
+ // - RAC's role detection runs in a client effect: role=dialog (and the id) once the element is mounted,
16
+ // unless a `[role=dialog]` is nested; the server renders RAC's initial state (dialog only for
17
+ // PreviewTrigger).
18
+ // - collection build pass (`isHidden()`): children render directly (RAC `useIsHidden`).
19
+ // Deviations: no `UNSTABLE_portalContainer` (PortalProvider only, decision 12); `render` (RAC DOMRenderProps) replaces the popover `<div>` (the underlay, `data-rv-overlay` marker and the JS-set stacking stay); no
20
+ // `runAfterKeyboard` defer of the reveal (the virtual keyboard tracker is lazy-loaded); focus
21
+ // containment is decided once when the popover renders (`!isNonModal || SubmenuTrigger`, never for
22
+ // PreviewTrigger) — RAC also contains when a nested Dialog calls `useOverlayFocusContain` inside a
23
+ // non-modal popover.
24
+ import { read as readAccessor } from "../interactions/utils.js";
25
+ import { createContext, effect, signal, untrack, useContext } from "@rivetjs/reactivity";
26
+ import { Show, clientEffect, ref as createRef } from "@rivetjs/runtime/dom";
27
+ import { resumableContext } from "@rivetjs/runtime/resume-format";
28
+ import { Provider, contextProps, slottedContext, } from "../slots/index.jsx";
29
+ import { createEnterAnimation, createExitAnimationState, watchExitAnimation } from "../utils/animation.jsx";
30
+ import { dataBool } from "../utils/data-attrs.jsx";
31
+ import {} from "../utils/render.js";
32
+ import { globalDOMProps } from "../utils/dom-props.js";
33
+ import { isFocusWithin } from "../utils/dom.js";
34
+ import { focusSafely } from "../focus/index.js";
35
+ import { getInteractionModality } from "../interactions/focus-visible.jsx";
36
+ import { useLocale } from "../i18n/index.js";
37
+ import { isHidden } from "../collections/components.jsx";
38
+ import { slotProbing } from "#server";
39
+ import { DismissButton } from "../overlay/dismiss-button.jsx";
40
+ import { OverlayArrowContext, OverlayTriggerStateContext, PopoverContext } from "../overlay/contexts.js";
41
+ import { Overlay } from "../portal/index.jsx";
42
+ import { closeOverlay, createOverlayTriggerState } from "../state/overlays.js";
43
+ import { popoverProps } from "./use-popover.js";
44
+ import { isSlot, renderSlot } from "@rivetjs/runtime/slot";
45
+ import { renderPropsOf } from "../slots/index.jsx";
46
+ import { liveOptions } from "../utils/live.jsx";
47
+ export { PopoverContext, OverlayTriggerStateContext };
48
+ /** Stores a ref for the portal container for a group of popovers (e.g. submenus). */
49
+ const PopoverGroupContext = resumableContext(createContext(null, { id: "rv-popover-group" }));
50
+ const readBool = (value) => (typeof value === "function" ? value() : !!value);
51
+ /** Context values may be accessors (e.g. DialogTrigger's `aria-labelledby`): read inside the binding. */
52
+ const readValue = (value) => (typeof value === "function" ? value() : value);
53
+ /** A popover is an overlay element positioned relative to a trigger. */
54
+ export function Popover(props) {
55
+ // The trigger's ref (PopoverContext `ref`, e.g. ComboBox's popoverRef) is the element ref itself when it is a Rivet
56
+ // ref: RA mergeRefs assigns it at commit, before any child effect; a merged copy (`mergeRefValues`) would wait for
57
+ // a client effect — on a resumed page until idle — and a popover opened by a cold press would see it unset (ComboBox:
58
+ // the listbox's first virtual focus blurred the input "outside" the popover and closed it).
59
+ const contextRef = slottedContext(PopoverContext, props.slot)?.ref;
60
+ // A Rivet `ref()` (browser: a signal; server render: a `rivet.ref` cell function) — not a callback / `{ current }` ref.
61
+ const isRivetRef = typeof contextRef === "function" && (typeof contextRef.set === "function" || Symbol.for("rivet.ref") in contextRef);
62
+ const element = isRivetRef ? contextRef : createRef();
63
+ // RA mergeIds: a user id replaces the trigger's generated id, so the trigger's ARIA follows it.
64
+ const rawContext = useContext(PopoverContext);
65
+ if (rawContext?.idRef && props.id)
66
+ rawContext.idRef.set(props.id);
67
+ const [merged, mergedRef] = contextProps(props, element, PopoverContext);
68
+ const p = merged;
69
+ // The user's own ref receives the element too.
70
+ const ownRef = props.ref;
71
+ if (ownRef)
72
+ clientEffect(() => {
73
+ const el = element() ?? null;
74
+ untrack(() => {
75
+ if (typeof ownRef === "function") {
76
+ const signalRef = ownRef;
77
+ if (signalRef.set)
78
+ signalRef.set(el ?? undefined);
79
+ else
80
+ ownRef(el);
81
+ }
82
+ else
83
+ ownRef.current = el;
84
+ });
85
+ });
86
+ // If we are in a hidden tree, we still need to preserve our children.
87
+ if (isHidden()) {
88
+ // A field's server slot probe stops here: the popover's contexts are cleared in the real render (`probeSlots`).
89
+ if (slotProbing)
90
+ return null;
91
+ const children = p.children;
92
+ if (typeof children === "function" && !isSlot(children))
93
+ return children({
94
+ trigger: p.trigger || null,
95
+ placement: () => "bottom",
96
+ isEntering: () => false,
97
+ isExiting: () => false,
98
+ defaultChildren: null,
99
+ });
100
+ return renderSlot(children);
101
+ }
102
+ const contextState = useContext(OverlayTriggerStateContext);
103
+ const state = p.isOpen != null || p.defaultOpen != null || !contextState ? createOverlayTriggerState(liveOptions(p, [], ["isOpen"])) : contextState;
104
+ // Skip the automatic exit animation when closing instantly (e.g. swapping between previews during
105
+ // warmup). An explicitly provided isExiting prop still takes precedence.
106
+ // State here, its effect inside the branch (`watchExitAnimation` in PopoverInner): a closed popover records no
107
+ // client effect, so a resumed page with a closed Select / popover does not boot the runtime at load (tooltip: same).
108
+ const exit = createExitAnimationState(state.isOpen);
109
+ const explicitExiting = p.isExiting, skip = p.shouldSkipAnimation;
110
+ const isExiting = () => !!readAccessor(explicitExiting) || (!readBool(skip) && exit.isExiting());
111
+ const { direction } = useLocale();
112
+ const popoverRef = mergedRef;
113
+ return (<span data-rv-overlay-anchor="" style={{ display: "contents" }}>
114
+ <Show when={() => state.isOpen() || isExiting()}>
115
+ {() => <PopoverInner {...p} state={state} popoverRef={popoverRef} element={element} isExitingNow={isExiting} exit={exit} dir={direction}/>}
116
+ </Show>
117
+ </span>);
118
+ }
119
+ /** Global DOM props the popover sets itself. */
120
+ const OWNED = ["style"];
121
+ function PopoverInner(props) {
122
+ const { state, popoverRef, element, isExitingNow: isExiting, exit } = props;
123
+ watchExitAnimation(element, exit);
124
+ const arrowRef = createRef();
125
+ const containerRef = createRef();
126
+ const groupCtx = useContext(PopoverGroupContext);
127
+ const trigger = props.trigger;
128
+ const isSubPopover = !!groupCtx && trigger === "SubmenuTrigger";
129
+ const isNonModal = !!props.isNonModal;
130
+ const placement = signal(null);
131
+ const arrowOffset = signal(null);
132
+ const isOpen = signal(false);
133
+ // Skip the automatic entry animation when opening instantly (e.g. swapping between previews during
134
+ // warmup). An explicitly provided isEntering prop still takes precedence.
135
+ const enterAnimation = createEnterAnimation(element, () => !!placement() && isOpen());
136
+ const explicitEntering = props.isEntering, skip = props.shouldSkipAnimation;
137
+ const isEntering = () => !!readAccessor(explicitEntering) || (!readBool(skip) && enterAnimation());
138
+ const rp = renderPropsOf(props, {
139
+ defaultClassName: "rv-Popover",
140
+ values: { trigger: trigger || null, placement, isEntering, isExiting },
141
+ });
142
+ // Automatically render Popover with role=dialog except when isNonModal is true,
143
+ // or a dialog is already nested inside the popover.
144
+ const shouldBeDialog = !isNonModal || trigger === "SubmenuTrigger" || trigger === "PreviewTrigger";
145
+ const isDialog = signal(trigger === "PreviewTrigger");
146
+ // usePopover while open (released on close / unmount).
147
+ const options = {
148
+ triggerRef: props.triggerRef ?? null,
149
+ popoverRef: element,
150
+ arrowRef,
151
+ arrowStyle: false,
152
+ // If this is a submenu/subdialog, use the root popover's container to detect outside interaction and add aria-hidden.
153
+ groupRef: isSubPopover ? groupCtx : containerRef,
154
+ placement: props.placement ?? "bottom",
155
+ offset: props.offset ?? 8,
156
+ crossOffset: props.crossOffset,
157
+ containerPadding: props.containerPadding,
158
+ shouldFlip: props.shouldFlip,
159
+ maxHeight: props.maxHeight,
160
+ arrowBoundaryOffset: props.arrowBoundaryOffset,
161
+ boundaryElement: props.boundaryElement,
162
+ scroll: props.scroll,
163
+ shouldUpdatePosition: props.shouldUpdatePosition,
164
+ getTargetRect: props.getTargetRect,
165
+ isNonModal,
166
+ isKeyboardDismissDisabled: props.isKeyboardDismissDisabled,
167
+ shouldCloseOnInteractOutside: props.shouldCloseOnInteractOutside,
168
+ onFocusWithin: props.onFocusWithin,
169
+ onBlurWithin: props.onBlurWithin,
170
+ onFocusWithinChange: props.onFocusWithinChange,
171
+ trigger,
172
+ };
173
+ // Positioned once the Overlay's portal has moved the popover into the overlay layer (`onPlaced`): before that its
174
+ // host sits in place (a flex item next to the trigger: a gap shifts the trigger), the first position was off by
175
+ // that shift and the ResizeObserver re-positioned it inside its own callback ("ResizeObserver loop completed with
176
+ // undelivered notifications"). RA positions in a layout effect, after the portal rendered.
177
+ const placed = signal(false);
178
+ const triggerSource = options.triggerRef;
179
+ clientEffect(() => {
180
+ const el = element();
181
+ if (!el || !state.isOpen() || !placed())
182
+ return;
183
+ // RA positions in a layout effect once the trigger and the overlay both exist, in either order. On a resumed
184
+ // page the trigger's ref can bind after the popover opened (a cold press before the ref's client binding ran):
185
+ // track it, so the popover positions when it arrives instead of staying unpositioned.
186
+ if (typeof triggerSource === "function")
187
+ triggerSource();
188
+ return untrack(() => {
189
+ // RAC: overlayProps' zIndex is overridden by the render props' style.
190
+ const aria = popoverProps(rp.style()?.zIndex != null ? { ...options, zIndex: null } : options, state);
191
+ const stop = effect(() => {
192
+ placement.set(aria.placement());
193
+ const result = aria.position();
194
+ arrowOffset.set(result ? { left: result.arrowOffsetLeft, top: result.arrowOffsetTop } : null);
195
+ });
196
+ return () => {
197
+ stop();
198
+ aria.dispose();
199
+ };
200
+ });
201
+ });
202
+ // Since our trigger may open the OSK, RAC defers the reveal as a courtesy (here: right after mount).
203
+ clientEffect(() => {
204
+ if (element())
205
+ untrack(() => isOpen.set(true));
206
+ });
207
+ // Role detection, then focus the popover itself on mount, unless a child element is already focused.
208
+ // Skip this for submenus since hovering a submenutrigger should keep focus on the trigger.
209
+ clientEffect(() => {
210
+ const el = element();
211
+ if (!el)
212
+ return;
213
+ untrack(() => {
214
+ const dialog = shouldBeDialog && !el.querySelector("[role=dialog]");
215
+ isDialog.set(dialog);
216
+ if (dialog && trigger !== "PreviewTrigger" && (trigger !== "SubmenuTrigger" || getInteractionModality() !== "pointer") && !isFocusWithin(el)) {
217
+ // On a resumed page the `tabIndex` binding flushes after this effect: a div without tabindex is
218
+ // not focusable, so write it now (the binding writes the same value).
219
+ if (!el.hasAttribute("tabindex"))
220
+ el.tabIndex = -1;
221
+ focusSafely(el);
222
+ }
223
+ });
224
+ });
225
+ // Read up front: an element with a spread is one binding, and it must not capture `props`.
226
+ const domProps = globalDOMProps(props, OWNED), id = props.id, ariaLabel = props["aria-label"], ariaLabelledBy = props["aria-labelledby"], slot = props.slot || undefined, dir = props.dir;
227
+ // RAC: the trigger's contexts (Label, Button, Input, … of a ComboBox) do not leak into the popover.
228
+ const clearContexts = (props.clearContexts ?? []);
229
+ const children = () => (<Provider values={[
230
+ [OverlayArrowContext, { placement, ref: arrowRef, offset: arrowOffset }],
231
+ [PopoverContext, null],
232
+ ...clearContexts.map((context) => [context, null]),
233
+ ]}>
234
+ {() => () => rp.children()}
235
+ </Provider>);
236
+ const overlay = () => {
237
+ if (props.render) {
238
+ const attrs = {
239
+ ...domProps,
240
+ class: () => rp.class(),
241
+ style: () => rp.style(),
242
+ id: () => (isDialog() ? id : undefined),
243
+ role: () => (isDialog() ? "dialog" : undefined),
244
+ tabindex: () => (isDialog() ? -1 : undefined),
245
+ "aria-label": () => readValue(ariaLabel),
246
+ "aria-labelledby": () => readValue(ariaLabelledBy),
247
+ ref: popoverRef,
248
+ slot,
249
+ dir,
250
+ "data-trigger": trigger,
251
+ "data-placement": () => placement() ?? undefined,
252
+ "data-entering": () => dataBool(isEntering()),
253
+ "data-exiting": () => dataBool(isExiting()),
254
+ "data-rv-overlay": "",
255
+ children: () => [
256
+ !isNonModal ? <DismissButton onDismiss={() => closeOverlay(state)}/> : null,
257
+ children(),
258
+ <DismissButton onDismiss={() => closeOverlay(state)}/>,
259
+ ],
260
+ };
261
+ return props.render(attrs, { trigger: trigger || null, placement, isEntering, isExiting });
262
+ }
263
+ return (<div {...domProps} class={rp.class()} style={rp.style()} id={isDialog() ? id : undefined} role={isDialog() ? "dialog" : undefined} tabIndex={isDialog() ? -1 : undefined} aria-label={readValue(ariaLabel)} aria-labelledby={readValue(ariaLabelledBy)} ref={popoverRef} slot={slot} dir={dir} data-trigger={trigger} data-placement={placement() ?? undefined} data-entering={dataBool(isEntering())} data-exiting={dataBool(isExiting())} data-rv-overlay="">
264
+ {!isNonModal ? <DismissButton onDismiss={() => closeOverlay(state)}/> : null}
265
+ {children()}
266
+ <DismissButton onDismiss={() => closeOverlay(state)}/>
267
+ </div>);
268
+ };
269
+ const shouldContainFocus = shouldBeDialog && trigger !== "PreviewTrigger";
270
+ // Submenus/subdialogs are mounted into the root popover's container.
271
+ if (isSubPopover)
272
+ return (<Overlay shouldContainFocus={shouldContainFocus} portalContainer={groupCtx ?? undefined} onPlaced={() => placed.set(true)}>
273
+ {overlay()}
274
+ </Overlay>);
275
+ // A root popover renders an extra div to act as the portal container for submenus/subdialogs.
276
+ return (<Overlay shouldContainFocus={shouldContainFocus} onPlaced={() => placed.set(true)}>
277
+ {/* Own binding: reading `state.isOpen()` directly in the slot re-creates the whole overlay content on close (exit animation). */}
278
+ {() => !isNonModal && state.isOpen() ? (<div data-testid="underlay" data-rv-underlay="" onPointerDown={(event) => event.target === event.currentTarget && event.preventDefault()} style={{ position: "fixed", inset: "0" }}/>) : null}
279
+ <div ref={containerRef} style={{ display: "contents" }}>
280
+ <Provider values={[[PopoverGroupContext, containerRef]]}>{() => overlay()}</Provider>
281
+ </div>
282
+ </Overlay>);
283
+ }
284
+ export { PopoverOverlay } from "./popover-overlay.jsx";
285
+ export * from "./use-popover.js";
@@ -0,0 +1,27 @@
1
+ import type { Content, Slot } from "@rivetjs/runtime/jsx-runtime";
2
+ import { type TransitionClasses } from "@rivetjs/kit/transition";
3
+ import { type GlobalDOMAttributes } from "../utils/dom-props.js";
4
+ import { type OverlayTriggerState } from "../state/overlays.js";
5
+ import { type PopoverOverlayOptions } from "./behaviour.js";
6
+ /** @internal */
7
+ export interface PopoverOverlayProps extends Omit<PopoverOverlayOptions, "triggerId">, TransitionClasses, GlobalDOMAttributes<HTMLDivElement> {
8
+ id: string;
9
+ triggerId: string;
10
+ state: OverlayTriggerState;
11
+ /** Role of the popover element. `null`: none (menus, listboxes inside). @default 'dialog' */
12
+ role?: string | null;
13
+ class?: string;
14
+ /** Heading of the popover. */
15
+ title?: Content;
16
+ /** Run the enter transition when the popover is open on first render. */
17
+ appear?: boolean;
18
+ /** Called with the popover element when it opened (after usePopover attached). */
19
+ onOpened?: (element: HTMLElement) => void;
20
+ /** Extra attributes of the popover element. */
21
+ attributes?: Record<string, unknown>;
22
+ children?: Content | Slot<[{
23
+ close: () => void;
24
+ }]>;
25
+ }
26
+ /** @internal The popover part without a trigger (legacy shim for menu / select / date-picker). */
27
+ export declare function PopoverOverlay(props: PopoverOverlayProps): import("@rivetjs/runtime/jsx-runtime").CompiledElement;
@@ -0,0 +1,60 @@
1
+ import { clientEffect } from "@rivetjs/runtime/dom";
2
+ import { createTransition, TransitionPresence } from "@rivetjs/kit/transition";
3
+ import { renderSlot } from "@rivetjs/runtime/slot";
4
+ import { globalDOMProps } from "../utils/dom-props.js";
5
+ import { DismissButton } from "../overlay/dismiss-button.jsx";
6
+ import { Overlay } from "../portal/index.jsx";
7
+ import { closeOverlay } from "../state/overlays.js";
8
+ import { attachPopoverOverlay } from "./behaviour.js";
9
+ /** @internal The popover part without a trigger (legacy shim for menu / select / date-picker). */
10
+ export function PopoverOverlay(props) {
11
+ const state = props.state;
12
+ const t = createTransition(state.isOpen, {
13
+ appear: props.appear,
14
+ enter: props.enter,
15
+ enterFrom: props.enterFrom,
16
+ enterTo: props.enterTo,
17
+ entered: props.entered,
18
+ leave: props.leave,
19
+ leaveFrom: props.leaveFrom,
20
+ leaveTo: props.leaveTo,
21
+ ariaComponents: true,
22
+ });
23
+ return <TransitionPresence transition={t}>{() => <PopoverOverlayContent {...props} t={t}/>}</TransitionPresence>;
24
+ }
25
+ function PopoverOverlayContent(props) {
26
+ const { id, state, t } = props;
27
+ const options = {
28
+ triggerId: props.triggerId,
29
+ placement: props.placement ?? "bottom",
30
+ offset: props.offset,
31
+ crossOffset: props.crossOffset,
32
+ containerPadding: props.containerPadding,
33
+ shouldFlip: props.shouldFlip,
34
+ maxHeight: props.maxHeight,
35
+ arrowBoundaryOffset: props.arrowBoundaryOffset,
36
+ boundaryId: props.boundaryId,
37
+ isNonModal: props.isNonModal,
38
+ isKeyboardDismissDisabled: props.isKeyboardDismissDisabled,
39
+ shouldCloseOnInteractOutside: props.shouldCloseOnInteractOutside,
40
+ };
41
+ const role = props.role === undefined ? "dialog" : props.role;
42
+ const isDialog = role === "dialog";
43
+ const hasTitle = props.title != null;
44
+ const children = props.children;
45
+ const onOpened = props.onOpened;
46
+ const isNonModal = !!props.isNonModal;
47
+ const domProps = globalDOMProps(props), attributes = props.attributes, className = props.class ?? "rv-Popover", labelledBy = role ? (hasTitle ? id + "-title" : props.triggerId) : undefined;
48
+ clientEffect(() => attachPopoverOverlay(t.ref(), state, options, isDialog, onOpened), { when: "load" });
49
+ return (<Overlay shouldContainFocus={!isNonModal}>
50
+ {!isNonModal && state.isOpen() ? <div data-testid="underlay" data-rv-underlay="" style={{ position: "fixed", inset: "0" }}/> : null}
51
+ <div {...domProps} {...attributes} id={id} class={t.className(className)} {...t.attributes()} ref={t.ref} role={role ?? undefined} tabIndex={role ? -1 : undefined} aria-labelledby={labelledBy} data-rv-overlay="">
52
+ {!isNonModal ? <DismissButton onDismiss={() => closeOverlay(state)}/> : null}
53
+ {hasTitle ? (<h2 id={id + "-title"} data-slot="title">
54
+ {props.title}
55
+ </h2>) : null}
56
+ {renderSlot(children, { close: () => closeOverlay(state) })}
57
+ <DismissButton onDismiss={() => closeOverlay(state)}/>
58
+ </div>
59
+ </Overlay>);
60
+ }
@@ -0,0 +1,57 @@
1
+ import { type AriaPositionProps, type ElementSource, type PositionAria } from "../overlay/position.js";
2
+ import { type FocusWithinProps } from "../interactions/focus.jsx";
3
+ import { type OverlayTriggerState } from "../state/overlays.js";
4
+ export interface AriaPopoverProps extends Omit<AriaPositionProps, "isOpen" | "onClose" | "target" | "overlay" | "arrow">, Omit<FocusWithinProps, "isDisabled"> {
5
+ /** The ref for the element which the popover positions itself with respect to. */
6
+ triggerRef: ElementSource;
7
+ /** The ref for the popover element. */
8
+ popoverRef: ElementSource<HTMLElement>;
9
+ /** A ref for the popover arrow element. */
10
+ arrowRef?: ElementSource;
11
+ /**
12
+ * An optional ref for a group of popovers, e.g. submenus.
13
+ * When provided, this element is used to detect outside interactions
14
+ * and hiding elements from assistive technologies instead of the popoverRef.
15
+ */
16
+ groupRef?: ElementSource;
17
+ /**
18
+ * Whether the popover is non-modal, i.e. elements outside the popover may be
19
+ * interacted with by assistive technologies.
20
+ *
21
+ * Most popovers should not use this option as it may negatively impact the screen
22
+ * reader experience. Only use with components such as combobox, which are designed
23
+ * to handle this situation carefully.
24
+ */
25
+ isNonModal?: boolean;
26
+ /**
27
+ * Whether pressing the escape key to close the popover should be disabled.
28
+ *
29
+ * Most popovers should not use this option. When set to true, an alternative
30
+ * way to close the popover with a keyboard must be provided.
31
+ *
32
+ * @default false
33
+ */
34
+ isKeyboardDismissDisabled?: boolean;
35
+ /**
36
+ * When user interacts with the argument element outside of the popover ref,
37
+ * return true if onClose should be called. This gives you a chance to filter
38
+ * out interaction with elements that should not dismiss the popover.
39
+ * By default, onClose will always be called on interaction outside the popover ref.
40
+ */
41
+ shouldCloseOnInteractOutside?: (element: Element) => boolean;
42
+ /** The name of the component that triggered the popover (RA reads `trigger === "SubmenuTrigger"`). */
43
+ trigger?: string;
44
+ }
45
+ export interface PopoverAria extends Pick<PositionAria, "placement" | "triggerAnchorPoint" | "position" | "updatePosition"> {
46
+ /** Props to apply to the underlay element, if any (its `onPointerDown`). */
47
+ underlayProps: {
48
+ onPointerDown: (event: PointerEvent) => void;
49
+ };
50
+ /** Release everything (call on close / unmount). */
51
+ dispose(): void;
52
+ }
53
+ /**
54
+ * Provides the behavior and accessibility implementation for a popover component. A popover is an
55
+ * overlay element positioned relative to a trigger (React Aria `usePopover`). Call on open.
56
+ */
57
+ export declare function popoverProps(props: AriaPopoverProps, state: OverlayTriggerState): PopoverAria;
@@ -0,0 +1,92 @@
1
+ // Ported from @react-aria/overlays (usePopover.ts), Apache-2.0, © Adobe.
2
+ // Popover behaviour (React Aria `usePopover` → `popoverProps`): an overlay positioned relative to its
3
+ // trigger — `overlay()` (Escape, close on outside interaction unless non-modal, close on blur),
4
+ // `overlayPosition()` (flip, offsets, arrow, max height; non-modal popovers close when a scroll
5
+ // parent of the trigger scrolls), document scroll lock and `inert` outside (modal popovers) or
6
+ // `keepVisible` (non-modal), focus-within events on the popover.
7
+ // Rivet:
8
+ // - imperative: call it in the browser when the popover is open and rendered; it attaches the
9
+ // handlers RA spreads as `popoverProps` (overlay keydown / outside / blur, focusin / focusout of
10
+ // useFocusWithin) and the position styles (CSSOM) to the elements directly. Returns RA's result
11
+ // (`placement`, `triggerAnchorPoint` as signals, `underlayProps`) plus `updatePosition` and
12
+ // `dispose` (release on close / unmount; `<Popover>` does both from a client effect).
13
+ // - refs are `ElementSource`s (an element, a `ref()` or an accessor).
14
+ import { ariaHideOutside, keepVisible } from "../overlay/aria-hide-outside.js";
15
+ import { overlay } from "../overlay/index.js";
16
+ import { overlayPosition } from "../overlay/position.js";
17
+ import { modalUnderlayPointerDown } from "../overlay/modal-overlay.js";
18
+ import { preventScroll } from "../overlay/prevent-scroll.js";
19
+ import { focusWithinBlur, focusWithinFocus } from "../interactions/focus.jsx";
20
+ import { closeOverlay } from "../state/overlays.js";
21
+ const read = (source) => (typeof source === "function" ? source() : source) ?? null;
22
+ /**
23
+ * Provides the behavior and accessibility implementation for a popover component. A popover is an
24
+ * overlay element positioned relative to a trigger (React Aria `usePopover`). Call on open.
25
+ */
26
+ export function popoverProps(props, state) {
27
+ const { triggerRef, popoverRef, groupRef, arrowRef, isNonModal, isKeyboardDismissDisabled, shouldCloseOnInteractOutside, onFocusWithin, onBlurWithin, onFocusWithinChange, trigger, ...otherProps } = props;
28
+ const element = read(popoverRef);
29
+ const groupElement = read(groupRef);
30
+ if (!element)
31
+ throw new Error("popoverProps(): missing popover element");
32
+ const isSubmenu = trigger === "SubmenuTrigger";
33
+ const cleanups = [];
34
+ cleanups.push(overlay(groupElement ?? element, {
35
+ isOpen: true,
36
+ onClose: () => closeOverlay(state),
37
+ shouldCloseOnBlur: true,
38
+ isDismissable: !isNonModal || isSubmenu,
39
+ isKeyboardDismissDisabled,
40
+ shouldCloseOnInteractOutside,
41
+ keyTarget: element,
42
+ }));
43
+ const point = state.point?.();
44
+ const position = overlayPosition({
45
+ ...otherProps,
46
+ target: triggerRef,
47
+ overlay: element,
48
+ arrow: arrowRef,
49
+ isOpen: true,
50
+ onClose: isNonModal && !isSubmenu ? () => closeOverlay(state) : null,
51
+ getTargetRect: otherProps.getTargetRect ?? (point ? () => new DOMRect(point.x, point.y, 0, 0) : undefined),
52
+ });
53
+ cleanups.push(() => position.dispose());
54
+ if (!isNonModal)
55
+ cleanups.push(preventScroll());
56
+ const undo = isNonModal ? keepVisible(groupElement ?? element) : ariaHideOutside([groupElement ?? element], { shouldUseInert: true });
57
+ if (undo)
58
+ cleanups.push(undo);
59
+ // useFocusWithin(props) merged into popoverProps.
60
+ if (onFocusWithin || onBlurWithin || onFocusWithinChange) {
61
+ const within = { props: { onFocusWithin, onBlurWithin, onFocusWithinChange }, state: { isFocusWithin: false, globals: [] } };
62
+ const onIn = (e) => focusWithinFocus(within, e);
63
+ const onOut = (e) => focusWithinBlur(within, e);
64
+ element.addEventListener("focusin", onIn);
65
+ element.addEventListener("focusout", onOut);
66
+ // Focus already inside (a popover that focused itself before this ran).
67
+ if (element.contains(element.ownerDocument.activeElement)) {
68
+ const active = element.ownerDocument.activeElement;
69
+ const event = new FocusEvent("focusin", { bubbles: true });
70
+ Object.defineProperty(event, "target", { value: active });
71
+ Object.defineProperty(event, "currentTarget", { value: element });
72
+ focusWithinFocus(within, event);
73
+ }
74
+ cleanups.push(() => {
75
+ element.removeEventListener("focusin", onIn);
76
+ element.removeEventListener("focusout", onOut);
77
+ for (const remove of within.state.globals.splice(0))
78
+ remove();
79
+ });
80
+ }
81
+ return {
82
+ placement: position.placement,
83
+ triggerAnchorPoint: position.triggerAnchorPoint,
84
+ position: position.position,
85
+ updatePosition: position.updatePosition,
86
+ underlayProps: { onPointerDown: modalUnderlayPointerDown },
87
+ dispose() {
88
+ for (const cleanup of cleanups.splice(0).reverse())
89
+ cleanup();
90
+ },
91
+ };
92
+ }
@@ -0,0 +1,47 @@
1
+ import type { Content } from "@rivetjs/runtime/jsx-runtime";
2
+ import { resolveMount, type PortalMount } from "./portal-mount.js";
3
+ export { resolveMount, type PortalMount };
4
+ /** Default mount for portals below a `PortalProvider` (`null`: none). */
5
+ export declare const PortalContext: import("@rivetjs/reactivity").Context<PortalMount>;
6
+ /** Set the container of every `Portal` / `Overlay` / `OverlayContainer` rendered below it. */
7
+ export declare function PortalProvider(props: {
8
+ container?: PortalMount;
9
+ children?: Content | (() => Content);
10
+ }): import("@rivetjs/runtime/jsx-runtime").CompiledElement;
11
+ export interface PortalProps {
12
+ /** Where to render. @default the nearest PortalProvider's container, else document.body */
13
+ mount?: PortalMount;
14
+ /** Class of the host element. */
15
+ class?: string;
16
+ /**
17
+ * Rivet: called once the host is in its mount (the move runs in a client effect, after the content's own effects
18
+ * may have run). Content measuring its layout (popover positioning) waits for it.
19
+ */
20
+ onPlaced?: () => void;
21
+ children?: Content;
22
+ }
23
+ /**
24
+ * Render `children` at the end of `mount` (default `document.body`), inside a
25
+ * `<div data-rivet-portal>`. Server: rendered in place and moved at `load`.
26
+ */
27
+ export declare function Portal(props: PortalProps): import("@rivetjs/runtime/jsx-runtime").CompiledElement;
28
+ export interface OverlayProps {
29
+ /** Container of the portal. @default the nearest PortalProvider's container, else document.body */
30
+ portalContainer?: PortalMount;
31
+ /** No focus containment / restoration (you implement both). */
32
+ disableFocusManagement?: boolean;
33
+ /** Keep Tab inside the overlay. React Aria turns this on for modal overlays (`useModalOverlay`). */
34
+ shouldContainFocus?: boolean;
35
+ /** Exit animation running: focus may leave. A value or an accessor (read when the scope mounts). */
36
+ isExiting?: boolean | (() => boolean | undefined);
37
+ /** Rivet: `Portal` `onPlaced` (the overlay is in its container). */
38
+ onPlaced?: () => void;
39
+ children?: Content;
40
+ }
41
+ /**
42
+ * React Aria `Overlay`: a `Portal` with a `FocusScope` — focus returns to the element focused before
43
+ * it rendered when it goes away, and with `shouldContainFocus` Tab stays inside. Its content is wrapped
44
+ * in a `ClearPressResponder` (RA): press props of the trigger's `PressResponder` (DialogTrigger, …) do
45
+ * not reach buttons inside the overlay.
46
+ */
47
+ export declare function Overlay(props: OverlayProps): import("@rivetjs/runtime/jsx-runtime").CompiledElement;
@@ -0,0 +1,76 @@
1
+ // Portals that render on the server. `<Portal>` renders its children inside an owned
2
+ // `<div data-rivet-portal>`: in place in the server HTML (visible without JavaScript, indexable),
3
+ // then moved to its mount (default `document.body`) — at `load` on a resumed page, right after
4
+ // mounting when rendered in the browser. Its owner's cleanup removes it (a `<Show>` turning false,
5
+ // a re-created region, a client navigation). Because the move is a resumable `clientEffect`, a portal
6
+ // behind `<Show when>` works whether `when` starts true (server-rendered branch: moved at load) or
7
+ // false (created in the browser). Server markers inside the host stay balanced, so resumption is
8
+ // unaffected by the move.
9
+ //
10
+ // Also: `PortalProvider` (React Aria `UNSAFE_PortalProvider`: default container for portals below
11
+ // it), `Overlay` (React Aria `Overlay`: a portal + focus containment / restoration).
12
+ //
13
+ // `PortalProvider`, `Overlay` ported from @react-aria/overlays (PortalProvider.tsx, Overlay.tsx),
14
+ // Apache-2.0, © Adobe. Imperative portals / outlets (Angular CDK): ./portal-outlet.ts.
15
+ import { createContext, useContext } from "@rivetjs/reactivity";
16
+ import { resumableContext } from "@rivetjs/runtime/resume-format";
17
+ import { clientEffect, ref, Provider } from "@rivetjs/runtime/dom";
18
+ import { FocusScope } from "../focus/focus-scope.jsx";
19
+ import { ClearPressResponder } from "../interactions/pressable.jsx";
20
+ import { resolveMount } from "./portal-mount.js";
21
+ import { renderSlot } from "@rivetjs/runtime/slot";
22
+ export { resolveMount };
23
+ /** Default mount for portals below a `PortalProvider` (`null`: none). */
24
+ export const PortalContext = resumableContext(createContext(null, { id: "rv-portal" }));
25
+ /** Set the container of every `Portal` / `Overlay` / `OverlayContainer` rendered below it. */
26
+ export function PortalProvider(props) {
27
+ // Plain children are a lazy compiler slot rendered under the provider; function children work too.
28
+ const children = props.children;
29
+ return (<Provider token={PortalContext} value={props.container ?? null}>
30
+ {renderSlot(children)}
31
+ </Provider>);
32
+ }
33
+ /**
34
+ * Render `children` at the end of `mount` (default `document.body`), inside a
35
+ * `<div data-rivet-portal>`. Server: rendered in place and moved at `load`.
36
+ */
37
+ export function Portal(props) {
38
+ const host = ref();
39
+ const mount = props.mount ?? useContext(PortalContext), onPlaced = props.onPlaced;
40
+ clientEffect(() => {
41
+ const element = host();
42
+ if (!element)
43
+ return;
44
+ const target = resolveMount(mount);
45
+ if (element.parentNode !== target) {
46
+ // Moving a node blurs focus inside it (content that focused itself on mount, e.g. a menu item).
47
+ const focused = element.ownerDocument.activeElement;
48
+ const inside = !!focused && element.contains(focused);
49
+ target.append(element);
50
+ if (inside && element.ownerDocument.activeElement !== focused)
51
+ focused.focus({ preventScroll: true });
52
+ }
53
+ onPlaced?.();
54
+ return () => element.remove();
55
+ }, { when: "load" });
56
+ return (<div data-rivet-portal="" class={props.class} ref={host}>
57
+ {props.children}
58
+ </div>);
59
+ }
60
+ /**
61
+ * React Aria `Overlay`: a `Portal` with a `FocusScope` — focus returns to the element focused before
62
+ * it rendered when it goes away, and with `shouldContainFocus` Tab stays inside. Its content is wrapped
63
+ * in a `ClearPressResponder` (RA): press props of the trigger's `PressResponder` (DialogTrigger, …) do
64
+ * not reach buttons inside the overlay.
65
+ */
66
+ export function Overlay(props) {
67
+ const children = props.children, exiting = props.isExiting;
68
+ const isExiting = typeof exiting === "function" ? !!exiting() : !!exiting;
69
+ return (<Portal mount={props.portalContainer} onPlaced={props.onPlaced}>
70
+ <ClearPressResponder>
71
+ {props.disableFocusManagement ? (children) : (<FocusScope restoreFocus contain={!!props.shouldContainFocus && !isExiting}>
72
+ {children}
73
+ </FocusScope>)}
74
+ </ClearPressResponder>
75
+ </Portal>);
76
+ }