@rivetjs/cdk 0.0.0-stage → 0.1.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1298) 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 +120 -0
  21. package/_adapters/selection.js +709 -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 +376 -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 +252 -0
  205. package/collections/components.jsx +745 -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 +17 -0
  221. package/collections/nodes.js +107 -0
  222. package/collections/row-stamps.d.ts +17 -0
  223. package/collections/row-stamps.js +108 -0
  224. package/collections/selection-model.d.ts +93 -0
  225. package/collections/selection-model.js +192 -0
  226. package/collections/server-dev.d.ts +6 -0
  227. package/collections/server-dev.js +18 -0
  228. package/collections/server-off.d.ts +6 -0
  229. package/collections/server-off.js +9 -0
  230. package/collections/server-on.d.ts +29 -0
  231. package/collections/server-on.jsx +86 -0
  232. package/collections/table.d.ts +114 -0
  233. package/collections/table.js +439 -0
  234. package/collections/tree-state.d.ts +47 -0
  235. package/collections/tree-state.js +73 -0
  236. package/collections/tree.d.ts +20 -0
  237. package/collections/tree.js +66 -0
  238. package/collections/types.d.ts +229 -0
  239. package/collections/types.js +4 -0
  240. package/collections/unique-selection-dispatcher.d.ts +10 -0
  241. package/collections/unique-selection-dispatcher.js +25 -0
  242. package/color/area-state.d.ts +99 -0
  243. package/color/area-state.js +160 -0
  244. package/color/aria-intl.d.ts +3 -0
  245. package/color/aria-intl.js +274 -0
  246. package/color/channel-field-state.d.ts +50 -0
  247. package/color/channel-field-state.jsx +87 -0
  248. package/color/color.d.ts +78 -0
  249. package/color/color.js +738 -0
  250. package/color/field-state.d.ts +66 -0
  251. package/color/field-state.jsx +159 -0
  252. package/color/index.d.ts +58 -0
  253. package/color/index.js +88 -0
  254. package/color/intl.d.ts +3 -0
  255. package/color/intl.js +1328 -0
  256. package/color/picker-state.d.ts +20 -0
  257. package/color/picker-state.js +19 -0
  258. package/color/slider-state.d.ts +78 -0
  259. package/color/slider-state.jsx +98 -0
  260. package/color/value.d.ts +27 -0
  261. package/color/value.js +36 -0
  262. package/color/wheel-state.d.ts +77 -0
  263. package/color/wheel-state.js +152 -0
  264. package/color-area/behaviour.d.ts +161 -0
  265. package/color-area/behaviour.jsx +454 -0
  266. package/color-area/index.d.ts +34 -0
  267. package/color-area/index.jsx +187 -0
  268. package/color-field/behaviour.d.ts +112 -0
  269. package/color-field/behaviour.jsx +262 -0
  270. package/color-field/index.d.ts +72 -0
  271. package/color-field/index.jsx +309 -0
  272. package/color-picker/index.d.ts +19 -0
  273. package/color-picker/index.jsx +49 -0
  274. package/color-slider/behaviour.d.ts +103 -0
  275. package/color-slider/behaviour.jsx +234 -0
  276. package/color-slider/index.d.ts +40 -0
  277. package/color-slider/index.jsx +162 -0
  278. package/color-swatch/behaviour.d.ts +40 -0
  279. package/color-swatch/behaviour.js +36 -0
  280. package/color-swatch/index.d.ts +29 -0
  281. package/color-swatch/index.jsx +82 -0
  282. package/color-swatch-picker/index.d.ts +62 -0
  283. package/color-swatch-picker/index.jsx +95 -0
  284. package/color-swatch-picker/intl.d.ts +3 -0
  285. package/color-swatch-picker/intl.js +104 -0
  286. package/color-thumb/index.d.ts +85 -0
  287. package/color-thumb/index.jsx +93 -0
  288. package/color-wheel/behaviour.d.ts +123 -0
  289. package/color-wheel/behaviour.jsx +301 -0
  290. package/color-wheel/index.d.ts +50 -0
  291. package/color-wheel/index.jsx +166 -0
  292. package/combobox/behaviour.d.ts +120 -0
  293. package/combobox/behaviour.jsx +588 -0
  294. package/combobox/index.d.ts +101 -0
  295. package/combobox/index.jsx +365 -0
  296. package/combobox/intl.d.ts +2 -0
  297. package/combobox/intl.js +240 -0
  298. package/compare/behaviour.d.ts +101 -0
  299. package/compare/behaviour.js +288 -0
  300. package/compare/index.d.ts +58 -0
  301. package/compare/index.jsx +129 -0
  302. package/data/async-list.d.ts +78 -0
  303. package/data/async-list.jsx +257 -0
  304. package/data/index.d.ts +3 -0
  305. package/data/index.jsx +6 -0
  306. package/data/list-data.d.ts +88 -0
  307. package/data/list-data.jsx +210 -0
  308. package/data/tree-data.d.ts +59 -0
  309. package/data/tree-data.jsx +278 -0
  310. package/data-grid/behaviour.d.ts +95 -0
  311. package/data-grid/behaviour.js +725 -0
  312. package/data-grid/index.d.ts +138 -0
  313. package/data-grid/index.jsx +452 -0
  314. package/data-grid/state.d.ts +131 -0
  315. package/data-grid/state.js +288 -0
  316. package/date/CalendarDate.d.ts +207 -0
  317. package/date/CalendarDate.js +374 -0
  318. package/date/DateFormatter.d.ts +24 -0
  319. package/date/DateFormatter.js +175 -0
  320. package/date/calendars/BuddhistCalendar.d.ts +16 -0
  321. package/date/calendars/BuddhistCalendar.js +46 -0
  322. package/date/calendars/EthiopicCalendar.d.ts +45 -0
  323. package/date/calendars/EthiopicCalendar.js +178 -0
  324. package/date/calendars/GregorianCalendar.d.ts +26 -0
  325. package/date/calendars/GregorianCalendar.js +122 -0
  326. package/date/calendars/HebrewCalendar.d.ts +21 -0
  327. package/date/calendars/HebrewCalendar.js +174 -0
  328. package/date/calendars/IndianCalendar.d.ts +17 -0
  329. package/date/calendars/IndianCalendar.js +111 -0
  330. package/date/calendars/IslamicCalendar.d.ts +51 -0
  331. package/date/calendars/IslamicCalendar.js +205 -0
  332. package/date/calendars/JapaneseCalendar.d.ts +22 -0
  333. package/date/calendars/JapaneseCalendar.js +148 -0
  334. package/date/calendars/PersianCalendar.d.ts +19 -0
  335. package/date/calendars/PersianCalendar.js +85 -0
  336. package/date/calendars/TaiwanCalendar.d.ts +19 -0
  337. package/date/calendars/TaiwanCalendar.js +70 -0
  338. package/date/conversion.d.ts +45 -0
  339. package/date/conversion.js +269 -0
  340. package/date/createCalendar.d.ts +3 -0
  341. package/date/createCalendar.js +55 -0
  342. package/date/index.d.ts +20 -0
  343. package/date/index.js +30 -0
  344. package/date/manipulation.d.ts +25 -0
  345. package/date/manipulation.js +399 -0
  346. package/date/queries.d.ts +93 -0
  347. package/date/queries.js +303 -0
  348. package/date/serialize.d.ts +18 -0
  349. package/date/serialize.js +55 -0
  350. package/date/string.d.ts +36 -0
  351. package/date/string.js +223 -0
  352. package/date/types.d.ts +136 -0
  353. package/date/types.js +14 -0
  354. package/date/utils.d.ts +4 -0
  355. package/date/utils.js +16 -0
  356. package/date/weekStartData.d.ts +1 -0
  357. package/date/weekStartData.js +112 -0
  358. package/date-field/behaviour.d.ts +188 -0
  359. package/date-field/behaviour.jsx +1025 -0
  360. package/date-field/index.d.ts +150 -0
  361. package/date-field/index.jsx +354 -0
  362. package/date-field/intl.d.ts +3 -0
  363. package/date-field/intl.js +36 -0
  364. package/date-field/live-value.d.ts +22 -0
  365. package/date-field/live-value.jsx +44 -0
  366. package/date-picker/behaviour.d.ts +95 -0
  367. package/date-picker/behaviour.jsx +343 -0
  368. package/date-picker/index.d.ts +66 -0
  369. package/date-picker/index.jsx +243 -0
  370. package/dialog/behaviour.d.ts +63 -0
  371. package/dialog/behaviour.jsx +90 -0
  372. package/dialog/contexts.d.ts +12 -0
  373. package/dialog/contexts.js +8 -0
  374. package/dialog/index.d.ts +48 -0
  375. package/dialog/index.jsx +301 -0
  376. package/disclosure/behaviour.d.ts +50 -0
  377. package/disclosure/behaviour.jsx +128 -0
  378. package/disclosure/details.d.ts +21 -0
  379. package/disclosure/details.jsx +14 -0
  380. package/disclosure/index.d.ts +92 -0
  381. package/disclosure/index.jsx +300 -0
  382. package/drag-drop/cdk-index.d.ts +22 -0
  383. package/drag-drop/cdk-index.jsx +25 -0
  384. package/drag-drop/directives/assertions.d.ts +6 -0
  385. package/drag-drop/directives/assertions.js +13 -0
  386. package/drag-drop/directives/config.d.ts +30 -0
  387. package/drag-drop/directives/config.js +7 -0
  388. package/drag-drop/directives/drag-handle.d.ts +10 -0
  389. package/drag-drop/directives/drag-handle.js +29 -0
  390. package/drag-drop/directives/drag.d.ts +210 -0
  391. package/drag-drop/directives/drag.js +550 -0
  392. package/drag-drop/directives/drop-list-group.d.ts +25 -0
  393. package/drag-drop/directives/drop-list-group.js +55 -0
  394. package/drag-drop/directives/drop-list.d.ts +163 -0
  395. package/drag-drop/directives/drop-list.js +396 -0
  396. package/drag-drop/directives/registry.d.ts +32 -0
  397. package/drag-drop/directives/registry.js +61 -0
  398. package/drag-drop/dom/clone-node.d.ts +2 -0
  399. package/drag-drop/dom/clone-node.js +58 -0
  400. package/drag-drop/dom/coerce.d.ts +6 -0
  401. package/drag-drop/dom/coerce.js +8 -0
  402. package/drag-drop/dom/dom-rect.d.ts +37 -0
  403. package/drag-drop/dom/dom-rect.js +71 -0
  404. package/drag-drop/dom/fake-event.d.ts +4 -0
  405. package/drag-drop/dom/fake-event.js +22 -0
  406. package/drag-drop/dom/inherited-text.d.ts +4 -0
  407. package/drag-drop/dom/inherited-text.js +44 -0
  408. package/drag-drop/dom/layout-shift.d.ts +8 -0
  409. package/drag-drop/dom/layout-shift.js +87 -0
  410. package/drag-drop/dom/mount-content.d.ts +2 -0
  411. package/drag-drop/dom/mount-content.js +7 -0
  412. package/drag-drop/dom/parent-position-tracker.d.ts +32 -0
  413. package/drag-drop/dom/parent-position-tracker.js +71 -0
  414. package/drag-drop/dom/root-node.d.ts +21 -0
  415. package/drag-drop/dom/root-node.js +41 -0
  416. package/drag-drop/dom/shadow-dom.d.ts +4 -0
  417. package/drag-drop/dom/shadow-dom.js +18 -0
  418. package/drag-drop/dom/styling.d.ts +52 -0
  419. package/drag-drop/dom/styling.js +86 -0
  420. package/drag-drop/dom/transition-duration.d.ts +2 -0
  421. package/drag-drop/dom/transition-duration.js +29 -0
  422. package/drag-drop/drag-drop-registry.d.ts +69 -0
  423. package/drag-drop/drag-drop-registry.js +224 -0
  424. package/drag-drop/drag-drop.d.ts +19 -0
  425. package/drag-drop/drag-drop.js +10 -0
  426. package/drag-drop/drag-events.d.ts +117 -0
  427. package/drag-drop/drag-events.js +1 -0
  428. package/drag-drop/drag-handle.d.ts +18 -0
  429. package/drag-drop/drag-handle.jsx +53 -0
  430. package/drag-drop/drag-placeholder.d.ts +8 -0
  431. package/drag-drop/drag-placeholder.jsx +25 -0
  432. package/drag-drop/drag-preview.d.ts +10 -0
  433. package/drag-drop/drag-preview.jsx +31 -0
  434. package/drag-drop/drag-ref.d.ts +476 -0
  435. package/drag-drop/drag-ref.js +1306 -0
  436. package/drag-drop/drag-utils.d.ts +25 -0
  437. package/drag-drop/drag-utils.js +53 -0
  438. package/drag-drop/drag.d.ts +23 -0
  439. package/drag-drop/drag.jsx +128 -0
  440. package/drag-drop/drop-list-group.d.ts +22 -0
  441. package/drag-drop/drop-list-group.jsx +19 -0
  442. package/drag-drop/drop-list-ref.d.ts +295 -0
  443. package/drag-drop/drop-list-ref.js +707 -0
  444. package/drag-drop/drop-list.d.ts +19 -0
  445. package/drag-drop/drop-list.jsx +87 -0
  446. package/drag-drop/index.d.ts +1 -0
  447. package/drag-drop/index.jsx +4 -0
  448. package/drag-drop/lazy-refs.d.ts +28 -0
  449. package/drag-drop/lazy-refs.js +144 -0
  450. package/drag-drop/preview-ref.d.ts +38 -0
  451. package/drag-drop/preview-ref.js +132 -0
  452. package/drag-drop/sorting/drop-list-sort-strategy.d.ts +29 -0
  453. package/drag-drop/sorting/drop-list-sort-strategy.js +1 -0
  454. package/drag-drop/sorting/mixed-sort-strategy.d.ts +99 -0
  455. package/drag-drop/sorting/mixed-sort-strategy.js +259 -0
  456. package/drag-drop/sorting/single-axis-sort-strategy.d.ts +112 -0
  457. package/drag-drop/sorting/single-axis-sort-strategy.js +343 -0
  458. package/file-trigger/index.d.ts +24 -0
  459. package/file-trigger/index.jsx +41 -0
  460. package/flip/index.d.ts +59 -0
  461. package/flip/index.js +124 -0
  462. package/focus/focus-ring.d.ts +42 -0
  463. package/focus/focus-ring.jsx +77 -0
  464. package/focus/focus-scope.d.ts +51 -0
  465. package/focus/focus-scope.jsx +431 -0
  466. package/focus/focusable.d.ts +33 -0
  467. package/focus/focusable.jsx +93 -0
  468. package/focus/index.d.ts +74 -0
  469. package/focus/index.js +274 -0
  470. package/form/behaviour.d.ts +29 -0
  471. package/form/behaviour.js +145 -0
  472. package/form/field-error.d.ts +38 -0
  473. package/form/field-error.jsx +67 -0
  474. package/form/index.d.ts +77 -0
  475. package/form/index.jsx +116 -0
  476. package/grid/behaviour.d.ts +290 -0
  477. package/grid/behaviour.js +683 -0
  478. package/grid/intl.d.ts +2 -0
  479. package/grid/intl.js +36 -0
  480. package/grid/keyboard-delegate.d.ts +56 -0
  481. package/grid/keyboard-delegate.js +316 -0
  482. package/grid-list/behaviour.d.ts +248 -0
  483. package/grid-list/behaviour.js +616 -0
  484. package/grid-list/index.d.ts +204 -0
  485. package/grid-list/index.jsx +721 -0
  486. package/grid-list/row.d.ts +24 -0
  487. package/grid-list/row.js +57 -0
  488. package/group/index.d.ts +48 -0
  489. package/group/index.jsx +126 -0
  490. package/header/index.d.ts +13 -0
  491. package/header/index.jsx +34 -0
  492. package/heading/index.d.ts +19 -0
  493. package/heading/index.jsx +55 -0
  494. package/highlight/index.d.ts +12 -0
  495. package/highlight/index.jsx +357 -0
  496. package/i18n/filter.d.ts +16 -0
  497. package/i18n/filter.js +66 -0
  498. package/i18n/i18n-provider.d.ts +10 -0
  499. package/i18n/i18n-provider.jsx +15 -0
  500. package/i18n/index.d.ts +27 -0
  501. package/i18n/index.js +115 -0
  502. package/i18n/intl-cache.d.ts +4 -0
  503. package/i18n/intl-cache.js +40 -0
  504. package/i18n/list-formatter.d.ts +2 -0
  505. package/i18n/list-formatter.js +11 -0
  506. package/input/index.d.ts +51 -0
  507. package/input/index.jsx +95 -0
  508. package/interactions/controllable.d.ts +42 -0
  509. package/interactions/controllable.js +67 -0
  510. package/interactions/focus-visible.d.ts +68 -0
  511. package/interactions/focus-visible.jsx +291 -0
  512. package/interactions/focus.d.ts +58 -0
  513. package/interactions/focus.jsx +152 -0
  514. package/interactions/hover.d.ts +54 -0
  515. package/interactions/hover.jsx +139 -0
  516. package/interactions/index.d.ts +1 -0
  517. package/interactions/index.js +3 -0
  518. package/interactions/interact-outside.d.ts +24 -0
  519. package/interactions/interact-outside.jsx +57 -0
  520. package/interactions/keyboard.d.ts +28 -0
  521. package/interactions/keyboard.jsx +51 -0
  522. package/interactions/long-press.d.ts +41 -0
  523. package/interactions/long-press.jsx +79 -0
  524. package/interactions/merge-props.d.ts +54 -0
  525. package/interactions/merge-props.jsx +257 -0
  526. package/interactions/move.d.ts +48 -0
  527. package/interactions/move.jsx +96 -0
  528. package/interactions/press.d.ts +129 -0
  529. package/interactions/press.jsx +539 -0
  530. package/interactions/pressable.d.ts +22 -0
  531. package/interactions/pressable.jsx +93 -0
  532. package/interactions/scroll-wheel.d.ts +20 -0
  533. package/interactions/scroll-wheel.jsx +40 -0
  534. package/interactions/utils.d.ts +52 -0
  535. package/interactions/utils.js +253 -0
  536. package/keyboard/index.d.ts +12 -0
  537. package/keyboard/index.jsx +34 -0
  538. package/keys/index.d.ts +68 -0
  539. package/keys/index.js +199 -0
  540. package/label/behaviour.d.ts +54 -0
  541. package/label/behaviour.js +60 -0
  542. package/label/index.d.ts +35 -0
  543. package/label/index.jsx +85 -0
  544. package/landmark/index.d.ts +10 -0
  545. package/landmark/index.jsx +35 -0
  546. package/landmark/manager.d.ts +50 -0
  547. package/landmark/manager.js +364 -0
  548. package/layout/index.d.ts +90 -0
  549. package/layout/index.js +207 -0
  550. package/lightbox/behaviour.d.ts +82 -0
  551. package/lightbox/behaviour.js +490 -0
  552. package/lightbox/captions/index.d.ts +39 -0
  553. package/lightbox/captions/index.jsx +44 -0
  554. package/lightbox/counter/index.d.ts +10 -0
  555. package/lightbox/counter/index.jsx +10 -0
  556. package/lightbox/download/index.d.ts +32 -0
  557. package/lightbox/download/index.jsx +89 -0
  558. package/lightbox/embed/index.d.ts +15 -0
  559. package/lightbox/embed/index.jsx +58 -0
  560. package/lightbox/fullscreen/index.d.ts +24 -0
  561. package/lightbox/fullscreen/index.jsx +80 -0
  562. package/lightbox/index.d.ts +129 -0
  563. package/lightbox/index.jsx +284 -0
  564. package/lightbox/inline/index.d.ts +18 -0
  565. package/lightbox/inline/index.jsx +15 -0
  566. package/lightbox/pdf/index.d.ts +18 -0
  567. package/lightbox/pdf/index.jsx +31 -0
  568. package/lightbox/share/index.d.ts +29 -0
  569. package/lightbox/share/index.jsx +43 -0
  570. package/lightbox/slideshow/index.d.ts +24 -0
  571. package/lightbox/slideshow/index.jsx +118 -0
  572. package/lightbox/state.d.ts +334 -0
  573. package/lightbox/state.js +192 -0
  574. package/lightbox/thumbnails/index.d.ts +54 -0
  575. package/lightbox/thumbnails/index.jsx +96 -0
  576. package/lightbox/video/index.d.ts +13 -0
  577. package/lightbox/video/index.jsx +42 -0
  578. package/lightbox/zoom/index.d.ts +67 -0
  579. package/lightbox/zoom/index.jsx +456 -0
  580. package/link/behaviour.d.ts +41 -0
  581. package/link/behaviour.js +58 -0
  582. package/link/index.d.ts +30 -0
  583. package/link/index.jsx +179 -0
  584. package/link/router.d.ts +1 -0
  585. package/link/router.js +5 -0
  586. package/listbox/behaviour.d.ts +175 -0
  587. package/listbox/behaviour.jsx +515 -0
  588. package/listbox/index.d.ts +129 -0
  589. package/listbox/index.jsx +632 -0
  590. package/markdown/index.d.ts +82 -0
  591. package/markdown/index.jsx +654 -0
  592. package/masonry/behaviour.d.ts +121 -0
  593. package/masonry/behaviour.js +676 -0
  594. package/masonry/flip.d.ts +27 -0
  595. package/masonry/flip.js +61 -0
  596. package/masonry/geometry.d.ts +44 -0
  597. package/masonry/geometry.js +184 -0
  598. package/masonry/index.d.ts +153 -0
  599. package/masonry/index.jsx +833 -0
  600. package/masonry/justified.d.ts +49 -0
  601. package/masonry/justified.js +250 -0
  602. package/masonry/layout.d.ts +200 -0
  603. package/masonry/layout.js +668 -0
  604. package/masonry/masonry-layout.d.ts +57 -0
  605. package/masonry/masonry-layout.js +159 -0
  606. package/masonry/masonry.css +29 -0
  607. package/menu/behaviour.d.ts +205 -0
  608. package/menu/behaviour.jsx +847 -0
  609. package/menu/index.d.ts +171 -0
  610. package/menu/index.jsx +702 -0
  611. package/menu/intl.d.ts +2 -0
  612. package/menu/intl.js +36 -0
  613. package/menu/safely-mouse-to-submenu.d.ts +12 -0
  614. package/menu/safely-mouse-to-submenu.js +128 -0
  615. package/meter/behaviour.d.ts +18 -0
  616. package/meter/behaviour.jsx +17 -0
  617. package/meter/index.d.ts +30 -0
  618. package/meter/index.jsx +85 -0
  619. package/modal/index.d.ts +79 -0
  620. package/modal/index.jsx +359 -0
  621. package/modal/provider.d.ts +47 -0
  622. package/modal/provider.jsx +105 -0
  623. package/morph/index.d.ts +91 -0
  624. package/morph/index.jsx +372 -0
  625. package/morph/item.d.ts +89 -0
  626. package/morph/item.jsx +546 -0
  627. package/motion/Animations.d.ts +17 -0
  628. package/motion/Animations.js +56 -0
  629. package/motion/DragRelease.d.ts +22 -0
  630. package/motion/DragRelease.js +26 -0
  631. package/motion/DragTracker.d.ts +7 -0
  632. package/motion/DragTracker.js +43 -0
  633. package/motion/Limit.d.ts +12 -0
  634. package/motion/Limit.js +37 -0
  635. package/motion/Motion1D.d.ts +38 -0
  636. package/motion/Motion1D.js +72 -0
  637. package/motion/ScrollBody.d.ts +13 -0
  638. package/motion/ScrollBody.js +75 -0
  639. package/motion/Vector1d.d.ts +8 -0
  640. package/motion/Vector1d.js +29 -0
  641. package/motion/index.d.ts +8 -0
  642. package/motion/index.js +12 -0
  643. package/motion/utils.d.ts +5 -0
  644. package/motion/utils.js +23 -0
  645. package/native-select/index.d.ts +46 -0
  646. package/native-select/index.jsx +99 -0
  647. package/navigation-tree/index.d.ts +43 -0
  648. package/navigation-tree/index.jsx +110 -0
  649. package/number/NumberFormatter.d.ts +28 -0
  650. package/number/NumberFormatter.js +144 -0
  651. package/number/NumberParser.d.ts +27 -0
  652. package/number/NumberParser.js +316 -0
  653. package/number/index.d.ts +5 -0
  654. package/number/index.jsx +17 -0
  655. package/number/number-field-state.d.ts +132 -0
  656. package/number/number-field-state.jsx +364 -0
  657. package/number-field/behaviour.d.ts +165 -0
  658. package/number-field/behaviour.jsx +512 -0
  659. package/number-field/index.d.ts +52 -0
  660. package/number-field/index.jsx +207 -0
  661. package/number-field/intl.d.ts +2 -0
  662. package/number-field/intl.js +36 -0
  663. package/observers/index.d.ts +70 -0
  664. package/observers/index.js +279 -0
  665. package/overflow/index.d.ts +93 -0
  666. package/overflow/index.jsx +267 -0
  667. package/overlay/aria-hide-outside.d.ts +12 -0
  668. package/overlay/aria-hide-outside.js +141 -0
  669. package/overlay/close-on-scroll.d.ts +1 -0
  670. package/overlay/close-on-scroll.js +6 -0
  671. package/overlay/contexts.d.ts +34 -0
  672. package/overlay/contexts.js +21 -0
  673. package/overlay/dismiss-button.d.ts +10 -0
  674. package/overlay/dismiss-button.jsx +18 -0
  675. package/overlay/hover-trigger.d.ts +54 -0
  676. package/overlay/hover-trigger.jsx +221 -0
  677. package/overlay/index.d.ts +40 -0
  678. package/overlay/index.js +139 -0
  679. package/overlay/modal-overlay.d.ts +16 -0
  680. package/overlay/modal-overlay.js +38 -0
  681. package/overlay/overlay-strings.d.ts +4 -0
  682. package/overlay/overlay-strings.js +52 -0
  683. package/overlay/overlay-trigger-state.d.ts +1 -0
  684. package/overlay/overlay-trigger-state.js +3 -0
  685. package/overlay/overlay-trigger.d.ts +27 -0
  686. package/overlay/overlay-trigger.jsx +50 -0
  687. package/overlay/position.d.ts +160 -0
  688. package/overlay/position.js +559 -0
  689. package/overlay/prevent-scroll-ios.d.ts +17 -0
  690. package/overlay/prevent-scroll-ios.js +331 -0
  691. package/overlay/prevent-scroll.d.ts +18 -0
  692. package/overlay/prevent-scroll.js +122 -0
  693. package/overlay/safe-area.d.ts +28 -0
  694. package/overlay/safe-area.js +108 -0
  695. package/overlay-arrow/index.d.ts +23 -0
  696. package/overlay-arrow/index.jsx +59 -0
  697. package/overlay-service/connected-position.d.ts +163 -0
  698. package/overlay-service/connected-position.js +661 -0
  699. package/overlay-service/global-position.d.ts +34 -0
  700. package/overlay-service/global-position.js +154 -0
  701. package/overlay-service/index.d.ts +15 -0
  702. package/overlay-service/index.js +27 -0
  703. package/overlay-service/overlay-container.d.ts +27 -0
  704. package/overlay-service/overlay-container.js +93 -0
  705. package/overlay-service/overlay-dispatchers.d.ts +44 -0
  706. package/overlay-service/overlay-dispatchers.js +149 -0
  707. package/overlay-service/overlay-position-builder.d.ts +8 -0
  708. package/overlay-service/overlay-position-builder.js +15 -0
  709. package/overlay-service/overlay-ref.d.ts +155 -0
  710. package/overlay-service/overlay-ref.js +436 -0
  711. package/overlay-service/overlay-strategy.d.ts +48 -0
  712. package/overlay-service/overlay-strategy.js +3 -0
  713. package/overlay-service/overlay-viewport.d.ts +85 -0
  714. package/overlay-service/overlay-viewport.js +192 -0
  715. package/overlay-service/overlay.css +94 -0
  716. package/overlay-service/scroll-strategies.d.ts +71 -0
  717. package/overlay-service/scroll-strategies.js +185 -0
  718. package/package.json +754 -4
  719. package/platform/index.d.ts +100 -0
  720. package/platform/index.js +304 -0
  721. package/popover/behaviour.d.ts +23 -0
  722. package/popover/behaviour.js +39 -0
  723. package/popover/index.d.ts +60 -0
  724. package/popover/index.jsx +285 -0
  725. package/popover/popover-overlay.d.ts +27 -0
  726. package/popover/popover-overlay.jsx +60 -0
  727. package/popover/use-popover.d.ts +57 -0
  728. package/popover/use-popover.js +92 -0
  729. package/portal/index.d.ts +55 -0
  730. package/portal/index.jsx +83 -0
  731. package/portal/portal-mount.d.ts +8 -0
  732. package/portal/portal-mount.js +7 -0
  733. package/portal/portal-outlet.d.ts +88 -0
  734. package/portal/portal-outlet.js +222 -0
  735. package/preview-trigger/behaviour.d.ts +70 -0
  736. package/preview-trigger/behaviour.jsx +258 -0
  737. package/preview-trigger/index.d.ts +12 -0
  738. package/preview-trigger/index.jsx +82 -0
  739. package/progress-bar/behaviour.d.ts +77 -0
  740. package/progress-bar/behaviour.jsx +75 -0
  741. package/progress-bar/context.d.ts +4 -0
  742. package/progress-bar/context.js +7 -0
  743. package/progress-bar/index.d.ts +38 -0
  744. package/progress-bar/index.jsx +90 -0
  745. package/radio-group/behaviour.d.ts +11 -0
  746. package/radio-group/behaviour.js +85 -0
  747. package/radio-group/index.d.ts +82 -0
  748. package/radio-group/index.jsx +142 -0
  749. package/radio-group/parts.d.ts +223 -0
  750. package/radio-group/parts.jsx +425 -0
  751. package/range-calendar/behaviour.d.ts +2 -0
  752. package/range-calendar/behaviour.jsx +5 -0
  753. package/range-calendar/index.d.ts +2 -0
  754. package/range-calendar/index.jsx +4 -0
  755. package/resizable/engine/components/group/auto-save/getStorageKey.d.ts +1 -0
  756. package/resizable/engine/components/group/auto-save/getStorageKey.js +5 -0
  757. package/resizable/engine/components/group/compareDocumentPosition.d.ts +5 -0
  758. package/resizable/engine/components/group/compareDocumentPosition.js +19 -0
  759. package/resizable/engine/components/group/readLegacyLayout.d.ts +16 -0
  760. package/resizable/engine/components/group/readLegacyLayout.js +48 -0
  761. package/resizable/engine/components/group/sortByElementOffset.d.ts +4 -0
  762. package/resizable/engine/components/group/sortByElementOffset.js +28 -0
  763. package/resizable/engine/components/group/types.d.ts +50 -0
  764. package/resizable/engine/components/group/types.js +1 -0
  765. package/resizable/engine/components/panel/types.d.ts +90 -0
  766. package/resizable/engine/components/panel/types.js +4 -0
  767. package/resizable/engine/constants.d.ts +15 -0
  768. package/resizable/engine/constants.js +27 -0
  769. package/resizable/engine/global/cursor/getCursorStyle.d.ts +7 -0
  770. package/resizable/engine/global/cursor/getCursorStyle.js +94 -0
  771. package/resizable/engine/global/cursor/supportsAdvancedCursorStyles.d.ts +5 -0
  772. package/resizable/engine/global/cursor/supportsAdvancedCursorStyles.js +20 -0
  773. package/resizable/engine/global/cursor/updateCursorStyle.d.ts +1 -0
  774. package/resizable/engine/global/cursor/updateCursorStyle.js +64 -0
  775. package/resizable/engine/global/dom/calculateAvailableAxisSize.d.ts +4 -0
  776. package/resizable/engine/global/dom/calculateAvailableAxisSize.js +10 -0
  777. package/resizable/engine/global/dom/calculateHitRegions.d.ts +13 -0
  778. package/resizable/engine/global/dom/calculateHitRegions.js +153 -0
  779. package/resizable/engine/global/dom/calculateItemConstraints.d.ts +2 -0
  780. package/resizable/engine/global/dom/calculateItemConstraints.js +82 -0
  781. package/resizable/engine/global/event-handlers/onDocumentContextMenu.d.ts +1 -0
  782. package/resizable/engine/global/event-handlers/onDocumentContextMenu.js +9 -0
  783. package/resizable/engine/global/event-handlers/onDocumentDoubleClick.d.ts +1 -0
  784. package/resizable/engine/global/event-handlers/onDocumentDoubleClick.js +28 -0
  785. package/resizable/engine/global/event-handlers/onDocumentKeyDown.d.ts +1 -0
  786. package/resizable/engine/global/event-handlers/onDocumentKeyDown.js +97 -0
  787. package/resizable/engine/global/event-handlers/onDocumentLostPointerCapture.d.ts +1 -0
  788. package/resizable/engine/global/event-handlers/onDocumentLostPointerCapture.js +18 -0
  789. package/resizable/engine/global/event-handlers/onDocumentPointerCancel.d.ts +1 -0
  790. package/resizable/engine/global/event-handlers/onDocumentPointerCancel.js +8 -0
  791. package/resizable/engine/global/event-handlers/onDocumentPointerDown.d.ts +1 -0
  792. package/resizable/engine/global/event-handlers/onDocumentPointerDown.js +54 -0
  793. package/resizable/engine/global/event-handlers/onDocumentPointerLeave.d.ts +1 -0
  794. package/resizable/engine/global/event-handlers/onDocumentPointerLeave.js +22 -0
  795. package/resizable/engine/global/event-handlers/onDocumentPointerMove.d.ts +1 -0
  796. package/resizable/engine/global/event-handlers/onDocumentPointerMove.js +69 -0
  797. package/resizable/engine/global/event-handlers/onDocumentPointerOut.d.ts +1 -0
  798. package/resizable/engine/global/event-handlers/onDocumentPointerOut.js +20 -0
  799. package/resizable/engine/global/event-handlers/onDocumentPointerUp.d.ts +1 -0
  800. package/resizable/engine/global/event-handlers/onDocumentPointerUp.js +15 -0
  801. package/resizable/engine/global/event-handlers/onWindowBlur.d.ts +1 -0
  802. package/resizable/engine/global/event-handlers/onWindowBlur.js +11 -0
  803. package/resizable/engine/global/mountAxis.d.ts +2 -0
  804. package/resizable/engine/global/mountAxis.js +187 -0
  805. package/resizable/engine/global/mutable-state/axes.d.ts +37 -0
  806. package/resizable/engine/global/mutable-state/axes.js +52 -0
  807. package/resizable/engine/global/mutable-state/interactions.d.ts +17 -0
  808. package/resizable/engine/global/mutable-state/interactions.js +92 -0
  809. package/resizable/engine/global/mutable-state/types.d.ts +32 -0
  810. package/resizable/engine/global/mutable-state/types.js +1 -0
  811. package/resizable/engine/global/styles/convertEmToPixels.d.ts +1 -0
  812. package/resizable/engine/global/styles/convertEmToPixels.js +7 -0
  813. package/resizable/engine/global/styles/convertRemToPixels.d.ts +1 -0
  814. package/resizable/engine/global/styles/convertRemToPixels.js +7 -0
  815. package/resizable/engine/global/styles/convertVhToPixels.d.ts +1 -0
  816. package/resizable/engine/global/styles/convertVhToPixels.js +5 -0
  817. package/resizable/engine/global/styles/convertVwToPixels.d.ts +1 -0
  818. package/resizable/engine/global/styles/convertVwToPixels.js +5 -0
  819. package/resizable/engine/global/styles/parseSizeAndUnit.d.ts +2 -0
  820. package/resizable/engine/global/styles/parseSizeAndUnit.js +29 -0
  821. package/resizable/engine/global/styles/sizeStyleToPixels.d.ts +5 -0
  822. package/resizable/engine/global/styles/sizeStyleToPixels.js +38 -0
  823. package/resizable/engine/global/types.d.ts +120 -0
  824. package/resizable/engine/global/types.js +1 -0
  825. package/resizable/engine/global/utils/abortActivePointerResize.d.ts +9 -0
  826. package/resizable/engine/global/utils/abortActivePointerResize.js +52 -0
  827. package/resizable/engine/global/utils/adjustLayoutByDelta.d.ts +9 -0
  828. package/resizable/engine/global/utils/adjustLayoutByDelta.js +219 -0
  829. package/resizable/engine/global/utils/adjustLayoutForSeparator.d.ts +1 -0
  830. package/resizable/engine/global/utils/adjustLayoutForSeparator.js +48 -0
  831. package/resizable/engine/global/utils/calculateDefaultLayout.d.ts +2 -0
  832. package/resizable/engine/global/utils/calculateDefaultLayout.js +30 -0
  833. package/resizable/engine/global/utils/calculateResizePreviews.d.ts +3 -0
  834. package/resizable/engine/global/utils/calculateResizePreviews.js +39 -0
  835. package/resizable/engine/global/utils/calculateSeparatorAriaValues.d.ts +12 -0
  836. package/resizable/engine/global/utils/calculateSeparatorAriaValues.js +43 -0
  837. package/resizable/engine/global/utils/compareLayoutNumbers.d.ts +1 -0
  838. package/resizable/engine/global/utils/compareLayoutNumbers.js +11 -0
  839. package/resizable/engine/global/utils/completeActivePointerResize.d.ts +6 -0
  840. package/resizable/engine/global/utils/completeActivePointerResize.js +49 -0
  841. package/resizable/engine/global/utils/doRectsIntersect.d.ts +2 -0
  842. package/resizable/engine/global/utils/doRectsIntersect.js +3 -0
  843. package/resizable/engine/global/utils/expandHitTarget.d.ts +10 -0
  844. package/resizable/engine/global/utils/expandHitTarget.js +19 -0
  845. package/resizable/engine/global/utils/findClosestHitRegion.d.ts +9 -0
  846. package/resizable/engine/global/utils/findClosestHitRegion.js +35 -0
  847. package/resizable/engine/global/utils/findClosestRect.d.ts +6 -0
  848. package/resizable/engine/global/utils/findClosestRect.js +22 -0
  849. package/resizable/engine/global/utils/findMatchingHitRegions.d.ts +7 -0
  850. package/resizable/engine/global/utils/findMatchingHitRegions.js +29 -0
  851. package/resizable/engine/global/utils/findSeparatorAxis.d.ts +21 -0
  852. package/resizable/engine/global/utils/findSeparatorAxis.js +12 -0
  853. package/resizable/engine/global/utils/formatLayoutNumber.d.ts +1 -0
  854. package/resizable/engine/global/utils/formatLayoutNumber.js +5 -0
  855. package/resizable/engine/global/utils/getDefaultLayout.d.ts +5 -0
  856. package/resizable/engine/global/utils/getDefaultLayout.js +11 -0
  857. package/resizable/engine/global/utils/getDistanceBetweenPointAndRect.d.ts +5 -0
  858. package/resizable/engine/global/utils/getDistanceBetweenPointAndRect.js +6 -0
  859. package/resizable/engine/global/utils/getImperativeAxisMethods.d.ts +4 -0
  860. package/resizable/engine/global/utils/getImperativeAxisMethods.js +53 -0
  861. package/resizable/engine/global/utils/getImperativeItemMethods.d.ts +5 -0
  862. package/resizable/engine/global/utils/getImperativeItemMethods.js +169 -0
  863. package/resizable/engine/global/utils/isCoarsePointer.d.ts +4 -0
  864. package/resizable/engine/global/utils/isCoarsePointer.js +17 -0
  865. package/resizable/engine/global/utils/isModal.d.ts +1 -0
  866. package/resizable/engine/global/utils/isModal.js +11 -0
  867. package/resizable/engine/global/utils/isViableHitTarget.d.ts +5 -0
  868. package/resizable/engine/global/utils/isViableHitTarget.js +50 -0
  869. package/resizable/engine/global/utils/itemConstraintsEqual.d.ts +2 -0
  870. package/resizable/engine/global/utils/itemConstraintsEqual.js +9 -0
  871. package/resizable/engine/global/utils/layoutNumbersEqual.d.ts +1 -0
  872. package/resizable/engine/global/utils/layoutNumbersEqual.js +6 -0
  873. package/resizable/engine/global/utils/layoutsEqual.d.ts +2 -0
  874. package/resizable/engine/global/utils/layoutsEqual.js +15 -0
  875. package/resizable/engine/global/utils/normalizeLayout.d.ts +11 -0
  876. package/resizable/engine/global/utils/normalizeLayout.js +21 -0
  877. package/resizable/engine/global/utils/notifyItemOnResize.d.ts +2 -0
  878. package/resizable/engine/global/utils/notifyItemOnResize.js +23 -0
  879. package/resizable/engine/global/utils/objectsEqual.d.ts +1 -0
  880. package/resizable/engine/global/utils/objectsEqual.js +14 -0
  881. package/resizable/engine/global/utils/preserveFixedItemSizes.d.ts +7 -0
  882. package/resizable/engine/global/utils/preserveFixedItemSizes.js +53 -0
  883. package/resizable/engine/global/utils/recordAxisLayoutChange.d.ts +15 -0
  884. package/resizable/engine/global/utils/recordAxisLayoutChange.js +25 -0
  885. package/resizable/engine/global/utils/updateActiveHitRegion.d.ts +18 -0
  886. package/resizable/engine/global/utils/updateActiveHitRegion.js +119 -0
  887. package/resizable/engine/global/utils/validateAxisLayout.d.ts +5 -0
  888. package/resizable/engine/global/utils/validateAxisLayout.js +70 -0
  889. package/resizable/engine/global/utils/validateItemSize.d.ts +7 -0
  890. package/resizable/engine/global/utils/validateItemSize.js +31 -0
  891. package/resizable/engine/global/utils/validateLayoutKeys.d.ts +2 -0
  892. package/resizable/engine/global/utils/validateLayoutKeys.js +13 -0
  893. package/resizable/engine/types.d.ts +13 -0
  894. package/resizable/engine/types.js +1 -0
  895. package/resizable/engine/utils/EventEmitter.d.ts +11 -0
  896. package/resizable/engine/utils/EventEmitter.js +60 -0
  897. package/resizable/engine/utils/assert.d.ts +1 -0
  898. package/resizable/engine/utils/assert.js +7 -0
  899. package/resizable/engine/utils/isArrayEqual.d.ts +1 -0
  900. package/resizable/engine/utils/isArrayEqual.js +15 -0
  901. package/resizable/engine/utils/isHTMLElement.d.ts +1 -0
  902. package/resizable/engine/utils/isHTMLElement.js +6 -0
  903. package/resizable/engine/utils/isShadowRoot.d.ts +1 -0
  904. package/resizable/engine/utils/isShadowRoot.js +6 -0
  905. package/resizable/engine/vendor/stacking-order.d.ts +7 -0
  906. package/resizable/engine/vendor/stacking-order.js +122 -0
  907. package/resizable/index.d.ts +263 -0
  908. package/resizable/index.jsx +537 -0
  909. package/resizable/mount.d.ts +115 -0
  910. package/resizable/mount.js +540 -0
  911. package/scheduler/behaviour.d.ts +71 -0
  912. package/scheduler/behaviour.js +243 -0
  913. package/scheduler/context.d.ts +100 -0
  914. package/scheduler/context.jsx +7 -0
  915. package/scheduler/dates.d.ts +53 -0
  916. package/scheduler/dates.js +183 -0
  917. package/scheduler/drag.d.ts +20 -0
  918. package/scheduler/drag.js +361 -0
  919. package/scheduler/event.d.ts +26 -0
  920. package/scheduler/event.jsx +93 -0
  921. package/scheduler/index.d.ts +57 -0
  922. package/scheduler/index.jsx +303 -0
  923. package/scheduler/intl.d.ts +16 -0
  924. package/scheduler/intl.js +529 -0
  925. package/scheduler/keys-month.d.ts +7 -0
  926. package/scheduler/keys-month.js +110 -0
  927. package/scheduler/keys-time-grid.d.ts +9 -0
  928. package/scheduler/keys-time-grid.js +115 -0
  929. package/scheduler/keys.d.ts +103 -0
  930. package/scheduler/keys.js +527 -0
  931. package/scheduler/layout-index.d.ts +3 -0
  932. package/scheduler/layout-index.js +6 -0
  933. package/scheduler/layout.d.ts +285 -0
  934. package/scheduler/layout.js +378 -0
  935. package/scheduler/menus.d.ts +66 -0
  936. package/scheduler/menus.jsx +88 -0
  937. package/scheduler/month.d.ts +26 -0
  938. package/scheduler/month.jsx +215 -0
  939. package/scheduler/pointer.d.ts +64 -0
  940. package/scheduler/pointer.js +203 -0
  941. package/scheduler/select.d.ts +11 -0
  942. package/scheduler/select.js +64 -0
  943. package/scheduler/selection.d.ts +34 -0
  944. package/scheduler/selection.js +39 -0
  945. package/scheduler/state.d.ts +296 -0
  946. package/scheduler/state.js +496 -0
  947. package/scheduler/time-grid-client.d.ts +32 -0
  948. package/scheduler/time-grid-client.jsx +133 -0
  949. package/scheduler/time-grid.d.ts +26 -0
  950. package/scheduler/time-grid.jsx +266 -0
  951. package/scheduler/time.d.ts +35 -0
  952. package/scheduler/time.js +56 -0
  953. package/scheduler/toolbar.d.ts +43 -0
  954. package/scheduler/toolbar.jsx +38 -0
  955. package/scroll-area/dom.d.ts +11 -0
  956. package/scroll-area/dom.js +55 -0
  957. package/scroll-area/index.d.ts +96 -0
  958. package/scroll-area/index.jsx +884 -0
  959. package/scroll-area/presence.d.ts +12 -0
  960. package/scroll-area/presence.jsx +131 -0
  961. package/scrolling/auto-size-virtual-scroll.d.ts +53 -0
  962. package/scrolling/auto-size-virtual-scroll.js +213 -0
  963. package/scrolling/behaviour.d.ts +3 -0
  964. package/scrolling/behaviour.js +5 -0
  965. package/scrolling/emitter.d.ts +34 -0
  966. package/scrolling/emitter.js +144 -0
  967. package/scrolling/fixed-size-virtual-scroll.d.ts +28 -0
  968. package/scrolling/fixed-size-virtual-scroll.js +107 -0
  969. package/scrolling/index.d.ts +11 -0
  970. package/scrolling/index.jsx +13 -0
  971. package/scrolling/rtl.d.ts +16 -0
  972. package/scrolling/rtl.js +64 -0
  973. package/scrolling/scroll-dispatcher.d.ts +49 -0
  974. package/scrolling/scroll-dispatcher.js +107 -0
  975. package/scrolling/scrollable.d.ts +75 -0
  976. package/scrolling/scrollable.js +149 -0
  977. package/scrolling/scrolling.css +11 -0
  978. package/scrolling/state.d.ts +92 -0
  979. package/scrolling/state.js +94 -0
  980. package/scrolling/viewport-ruler.d.ts +47 -0
  981. package/scrolling/viewport-ruler.js +100 -0
  982. package/scrolling/viewport.d.ts +54 -0
  983. package/scrolling/viewport.jsx +105 -0
  984. package/scrolling/virtual-scroll-strategy.d.ts +41 -0
  985. package/scrolling/virtual-scroll-strategy.js +2 -0
  986. package/scrolling/virtual-scroll-viewport.d.ts +95 -0
  987. package/scrolling/virtual-scroll-viewport.js +370 -0
  988. package/search-field/behaviour.d.ts +62 -0
  989. package/search-field/behaviour.jsx +116 -0
  990. package/search-field/index.d.ts +57 -0
  991. package/search-field/index.jsx +158 -0
  992. package/search-field/intl.d.ts +2 -0
  993. package/search-field/intl.js +36 -0
  994. package/select/behaviour.d.ts +188 -0
  995. package/select/behaviour.jsx +445 -0
  996. package/select/hidden-select.d.ts +44 -0
  997. package/select/hidden-select.jsx +68 -0
  998. package/select/index.d.ts +123 -0
  999. package/select/index.jsx +255 -0
  1000. package/select/intl.d.ts +2 -0
  1001. package/select/intl.js +36 -0
  1002. package/select/parts.d.ts +11 -0
  1003. package/select/parts.jsx +12 -0
  1004. package/select/select-parts.d.ts +73 -0
  1005. package/select/select-parts.jsx +293 -0
  1006. package/select/select-value.d.ts +58 -0
  1007. package/select/select-value.jsx +142 -0
  1008. package/selection/dom-utils.d.ts +25 -0
  1009. package/selection/dom-utils.js +77 -0
  1010. package/selection/keyed.d.ts +19 -0
  1011. package/selection/keyed.js +66 -0
  1012. package/selection/list-keyboard-delegate.d.ts +67 -0
  1013. package/selection/list-keyboard-delegate.js +274 -0
  1014. package/selection/manager.d.ts +112 -0
  1015. package/selection/manager.js +340 -0
  1016. package/selection/selectable-collection.d.ts +123 -0
  1017. package/selection/selectable-collection.js +560 -0
  1018. package/selection/selectable-item.d.ts +128 -0
  1019. package/selection/selectable-item.js +486 -0
  1020. package/selection/selectable-list.d.ts +42 -0
  1021. package/selection/selectable-list.js +34 -0
  1022. package/selection/state.d.ts +96 -0
  1023. package/selection/state.js +131 -0
  1024. package/selection/type-select.d.ts +37 -0
  1025. package/selection/type-select.js +114 -0
  1026. package/selection/utils.d.ts +23 -0
  1027. package/selection/utils.js +38 -0
  1028. package/selection-indicator/context.d.ts +10 -0
  1029. package/selection-indicator/context.js +7 -0
  1030. package/selection-indicator/index.d.ts +20 -0
  1031. package/selection-indicator/index.jsx +25 -0
  1032. package/separator/behaviour.d.ts +17 -0
  1033. package/separator/behaviour.js +17 -0
  1034. package/separator/index.d.ts +23 -0
  1035. package/separator/index.jsx +64 -0
  1036. package/shared-element-transition/index.d.ts +36 -0
  1037. package/shared-element-transition/index.jsx +182 -0
  1038. package/shared-element-transition/transition.d.ts +19 -0
  1039. package/shared-element-transition/transition.jsx +20 -0
  1040. package/sheet-motion/index.d.ts +82 -0
  1041. package/sheet-motion/index.js +386 -0
  1042. package/sidebar/index.d.ts +257 -0
  1043. package/sidebar/index.jsx +625 -0
  1044. package/sidebar/pages.d.ts +71 -0
  1045. package/sidebar/pages.jsx +177 -0
  1046. package/sidebar/resize.d.ts +69 -0
  1047. package/sidebar/resize.js +237 -0
  1048. package/sidebar/sheet-motion.d.ts +15 -0
  1049. package/sidebar/sheet-motion.js +170 -0
  1050. package/sidebar/state.d.ts +126 -0
  1051. package/sidebar/state.js +204 -0
  1052. package/slider/behaviour.d.ts +141 -0
  1053. package/slider/behaviour.jsx +492 -0
  1054. package/slider/index.d.ts +171 -0
  1055. package/slider/index.jsx +392 -0
  1056. package/slider/state.d.ts +203 -0
  1057. package/slider/state.js +377 -0
  1058. package/slots/index.d.ts +248 -0
  1059. package/slots/index.jsx +473 -0
  1060. package/spinbutton/behaviour.d.ts +66 -0
  1061. package/spinbutton/behaviour.jsx +312 -0
  1062. package/spinbutton/intl.d.ts +2 -0
  1063. package/spinbutton/intl.js +36 -0
  1064. package/state/autocomplete.d.ts +26 -0
  1065. package/state/autocomplete.js +32 -0
  1066. package/state/calendar.d.ts +284 -0
  1067. package/state/calendar.js +755 -0
  1068. package/state/checkbox-group.d.ts +67 -0
  1069. package/state/checkbox-group.js +76 -0
  1070. package/state/combobox.d.ts +238 -0
  1071. package/state/combobox.js +708 -0
  1072. package/state/date-field.d.ts +407 -0
  1073. package/state/date-field.js +1117 -0
  1074. package/state/date-intl.d.ts +3 -0
  1075. package/state/date-intl.js +36 -0
  1076. package/state/date-picker.d.ts +144 -0
  1077. package/state/date-picker.js +387 -0
  1078. package/state/disclosure.d.ts +90 -0
  1079. package/state/disclosure.js +148 -0
  1080. package/state/form-validation.d.ts +89 -0
  1081. package/state/form-validation.js +158 -0
  1082. package/state/grid.d.ts +62 -0
  1083. package/state/grid.js +127 -0
  1084. package/state/list.d.ts +58 -0
  1085. package/state/list.js +124 -0
  1086. package/state/menu.d.ts +162 -0
  1087. package/state/menu.js +185 -0
  1088. package/state/overlays.d.ts +35 -0
  1089. package/state/overlays.js +29 -0
  1090. package/state/radio-group.d.ts +58 -0
  1091. package/state/radio-group.js +68 -0
  1092. package/state/search-field.d.ts +20 -0
  1093. package/state/search-field.js +21 -0
  1094. package/state/select.d.ts +150 -0
  1095. package/state/select.js +187 -0
  1096. package/state/selection.d.ts +3 -0
  1097. package/state/selection.js +5 -0
  1098. package/state/table-column-resize.d.ts +58 -0
  1099. package/state/table-column-resize.js +76 -0
  1100. package/state/table.d.ts +81 -0
  1101. package/state/table.js +114 -0
  1102. package/state/tabs.d.ts +85 -0
  1103. package/state/tabs.js +161 -0
  1104. package/state/time-field.d.ts +32 -0
  1105. package/state/time-field.js +34 -0
  1106. package/state/toast.d.ts +80 -0
  1107. package/state/toast.js +146 -0
  1108. package/state/toggle-group.d.ts +70 -0
  1109. package/state/toggle-group.js +110 -0
  1110. package/state/toggle.d.ts +40 -0
  1111. package/state/toggle.js +39 -0
  1112. package/state/tooltip.d.ts +53 -0
  1113. package/state/tooltip.js +153 -0
  1114. package/stepper/index.d.ts +117 -0
  1115. package/stepper/index.jsx +405 -0
  1116. package/stepper/state.d.ts +200 -0
  1117. package/stepper/state.js +325 -0
  1118. package/switch/behaviour.d.ts +12 -0
  1119. package/switch/behaviour.jsx +9 -0
  1120. package/switch/index.d.ts +150 -0
  1121. package/switch/index.jsx +186 -0
  1122. package/table/behaviour.d.ts +181 -0
  1123. package/table/behaviour.js +334 -0
  1124. package/table/collection.d.ts +49 -0
  1125. package/table/collection.js +259 -0
  1126. package/table/column-resize.d.ts +48 -0
  1127. package/table/column-resize.jsx +247 -0
  1128. package/table/index.d.ts +339 -0
  1129. package/table/index.jsx +1326 -0
  1130. package/table/intl.d.ts +2 -0
  1131. package/table/intl.js +36 -0
  1132. package/table/keyboard-delegate.d.ts +21 -0
  1133. package/table/keyboard-delegate.js +166 -0
  1134. package/table/rac-intl.d.ts +2 -0
  1135. package/table/rac-intl.js +36 -0
  1136. package/tabs/behaviour.d.ts +49 -0
  1137. package/tabs/behaviour.js +173 -0
  1138. package/tabs/index.d.ts +248 -0
  1139. package/tabs/index.jsx +577 -0
  1140. package/tabs/keyboard-delegate.d.ts +17 -0
  1141. package/tabs/keyboard-delegate.js +64 -0
  1142. package/tag-group/behaviour.d.ts +59 -0
  1143. package/tag-group/behaviour.js +112 -0
  1144. package/tag-group/index.d.ts +138 -0
  1145. package/tag-group/index.jsx +565 -0
  1146. package/tag-group/intl.d.ts +2 -0
  1147. package/tag-group/intl.js +36 -0
  1148. package/tailwind.css +12 -0
  1149. package/tests-components/app/src/routes/index.d.ts +4 -0
  1150. package/tests-components/app/src/routes/index.jsx +7 -0
  1151. package/text/index.d.ts +15 -0
  1152. package/text/index.jsx +61 -0
  1153. package/text-area/index.d.ts +19 -0
  1154. package/text-area/index.jsx +76 -0
  1155. package/text-field/autosize.d.ts +70 -0
  1156. package/text-field/autosize.js +355 -0
  1157. package/text-field/behaviour.d.ts +140 -0
  1158. package/text-field/behaviour.jsx +260 -0
  1159. package/text-field/fields.d.ts +12 -0
  1160. package/text-field/fields.js +20 -0
  1161. package/text-field/index.d.ts +50 -0
  1162. package/text-field/index.jsx +174 -0
  1163. package/text-field/text-field.css +45 -0
  1164. package/theme.css +1006 -0
  1165. package/time-wheels/behaviour.d.ts +29 -0
  1166. package/time-wheels/behaviour.js +156 -0
  1167. package/time-wheels/index.d.ts +27 -0
  1168. package/time-wheels/index.jsx +91 -0
  1169. package/toast/behaviour.d.ts +51 -0
  1170. package/toast/behaviour.jsx +273 -0
  1171. package/toast/index.d.ts +94 -0
  1172. package/toast/index.jsx +256 -0
  1173. package/toast/intl.d.ts +2 -0
  1174. package/toast/intl.js +36 -0
  1175. package/toggle-button/behaviour.d.ts +15 -0
  1176. package/toggle-button/behaviour.js +37 -0
  1177. package/toggle-button/index.d.ts +59 -0
  1178. package/toggle-button/index.jsx +206 -0
  1179. package/toggle-button-group/behaviour.d.ts +19 -0
  1180. package/toggle-button-group/behaviour.jsx +13 -0
  1181. package/toggle-button-group/context.d.ts +7 -0
  1182. package/toggle-button-group/context.js +9 -0
  1183. package/toggle-button-group/index.d.ts +39 -0
  1184. package/toggle-button-group/index.jsx +85 -0
  1185. package/toggle-button-group/item.d.ts +30 -0
  1186. package/toggle-button-group/item.jsx +37 -0
  1187. package/toolbar/behaviour.d.ts +22 -0
  1188. package/toolbar/behaviour.js +89 -0
  1189. package/toolbar/index.d.ts +16 -0
  1190. package/toolbar/index.jsx +67 -0
  1191. package/tooltip/behaviour.d.ts +93 -0
  1192. package/tooltip/behaviour.jsx +299 -0
  1193. package/tooltip/index.d.ts +59 -0
  1194. package/tooltip/index.jsx +193 -0
  1195. package/tree/behaviour.d.ts +51 -0
  1196. package/tree/behaviour.jsx +51 -0
  1197. package/tree/cdk-index.d.ts +2 -0
  1198. package/tree/cdk-index.js +6 -0
  1199. package/tree/collection.d.ts +16 -0
  1200. package/tree/collection.js +138 -0
  1201. package/tree/control.d.ts +125 -0
  1202. package/tree/control.js +166 -0
  1203. package/tree/index.d.ts +154 -0
  1204. package/tree/index.jsx +837 -0
  1205. package/tree/intl.d.ts +2 -0
  1206. package/tree/intl.js +36 -0
  1207. package/tree/navigation-context.d.ts +44 -0
  1208. package/tree/navigation-context.jsx +63 -0
  1209. package/tree/tree-key-manager.d.ts +149 -0
  1210. package/tree/tree-key-manager.js +336 -0
  1211. package/utils/animation.d.ts +32 -0
  1212. package/utils/animation.jsx +236 -0
  1213. package/utils/data-attrs.d.ts +73 -0
  1214. package/utils/data-attrs.jsx +217 -0
  1215. package/utils/dev-off.d.ts +3 -0
  1216. package/utils/dev-off.js +7 -0
  1217. package/utils/dev-on.d.ts +3 -0
  1218. package/utils/dev-on.js +17 -0
  1219. package/utils/dom-props.d.ts +44 -0
  1220. package/utils/dom-props.js +73 -0
  1221. package/utils/dom.d.ts +85 -0
  1222. package/utils/dom.js +402 -0
  1223. package/utils/id.d.ts +23 -0
  1224. package/utils/id.js +100 -0
  1225. package/utils/index.d.ts +43 -0
  1226. package/utils/index.js +160 -0
  1227. package/utils/link-state.d.ts +6 -0
  1228. package/utils/link-state.js +6 -0
  1229. package/utils/links.d.ts +82 -0
  1230. package/utils/links.jsx +150 -0
  1231. package/utils/live-element.d.ts +8 -0
  1232. package/utils/live-element.jsx +76 -0
  1233. package/utils/live.d.ts +53 -0
  1234. package/utils/live.jsx +169 -0
  1235. package/utils/load-more-sentinel.d.ts +28 -0
  1236. package/utils/load-more-sentinel.jsx +52 -0
  1237. package/utils/motion-token.d.ts +4 -0
  1238. package/utils/motion-token.js +48 -0
  1239. package/utils/render.d.ts +19 -0
  1240. package/utils/render.js +18 -0
  1241. package/utils/transitions.d.ts +15 -0
  1242. package/utils/transitions.js +104 -0
  1243. package/utils/types.d.ts +111 -0
  1244. package/utils/types.js +1 -0
  1245. package/virtualizer/behaviour.d.ts +129 -0
  1246. package/virtualizer/behaviour.js +437 -0
  1247. package/virtualizer/collection-renderer.d.ts +62 -0
  1248. package/virtualizer/collection-renderer.jsx +190 -0
  1249. package/virtualizer/collection.d.ts +103 -0
  1250. package/virtualizer/collection.js +155 -0
  1251. package/virtualizer/dom.d.ts +50 -0
  1252. package/virtualizer/dom.js +233 -0
  1253. package/virtualizer/engine.d.ts +21 -0
  1254. package/virtualizer/engine.js +21 -0
  1255. package/virtualizer/grid-layout.d.ts +50 -0
  1256. package/virtualizer/grid-layout.js +247 -0
  1257. package/virtualizer/index.d.ts +3 -0
  1258. package/virtualizer/index.jsx +5 -0
  1259. package/virtualizer/layout-info.d.ts +33 -0
  1260. package/virtualizer/layout-info.js +54 -0
  1261. package/virtualizer/layout.d.ts +44 -0
  1262. package/virtualizer/layout.js +30 -0
  1263. package/virtualizer/list-layout.d.ts +103 -0
  1264. package/virtualizer/list-layout.js +510 -0
  1265. package/virtualizer/overscan-manager.d.ts +9 -0
  1266. package/virtualizer/overscan-manager.js +32 -0
  1267. package/virtualizer/point.d.ts +13 -0
  1268. package/virtualizer/point.js +23 -0
  1269. package/virtualizer/rect.d.ts +49 -0
  1270. package/virtualizer/rect.js +105 -0
  1271. package/virtualizer/reusable-view.d.ts +29 -0
  1272. package/virtualizer/reusable-view.js +56 -0
  1273. package/virtualizer/scroll-anchor.d.ts +62 -0
  1274. package/virtualizer/scroll-anchor.js +130 -0
  1275. package/virtualizer/size.d.ts +11 -0
  1276. package/virtualizer/size.js +21 -0
  1277. package/virtualizer/state.d.ts +35 -0
  1278. package/virtualizer/state.js +89 -0
  1279. package/virtualizer/table-collection.d.ts +45 -0
  1280. package/virtualizer/table-collection.js +80 -0
  1281. package/virtualizer/table-column-layout.d.ts +44 -0
  1282. package/virtualizer/table-column-layout.js +210 -0
  1283. package/virtualizer/table-layout.d.ts +55 -0
  1284. package/virtualizer/table-layout.js +482 -0
  1285. package/virtualizer/types.d.ts +63 -0
  1286. package/virtualizer/types.js +1 -0
  1287. package/virtualizer/utils.d.ts +2 -0
  1288. package/virtualizer/utils.js +12 -0
  1289. package/virtualizer/virtualizer-core.d.ts +61 -0
  1290. package/virtualizer/virtualizer-core.js +304 -0
  1291. package/virtualizer/virtualizer.d.ts +64 -0
  1292. package/virtualizer/virtualizer.jsx +91 -0
  1293. package/virtualizer/waterfall-layout.d.ts +41 -0
  1294. package/virtualizer/waterfall-layout.js +227 -0
  1295. package/wheel-picker/behaviour.d.ts +94 -0
  1296. package/wheel-picker/behaviour.js +482 -0
  1297. package/wheel-picker/index.d.ts +33 -0
  1298. package/wheel-picker/index.jsx +66 -0
@@ -0,0 +1,560 @@
1
+ // Ported from @react-aria/selection (useSelectableCollection.ts), Apache-2.0, © Adobe.
2
+ //
3
+ // Rivet shape: react-aria returns a props bag with closures; here the behaviour is a set of handler
4
+ // bodies taking `(options, event)` — wire them as explicit `onKeyDown` / `onFocusIn` / … attributes
5
+ // so they resume — plus attribute accessors (`collectionTabIndex`). React's effects (focus the item
6
+ // that became `focusedKey`, scroll it into view, focus the collection when the focused item goes
7
+ // away) run synchronously at the end of each handler (`syncFocus`). Options are cheap to rebuild per
8
+ // event from serializable state; never capture a `SelectionManager` in a resumable closure.
9
+ import { untrack } from "@rivetjs/reactivity";
10
+ import { direction as elementDirection } from "../bidi/index.js";
11
+ import { tabbables, isTabbable } from "../a11y/index.js";
12
+ import { dispatchVirtualFocus, focusSafely, focusWithoutScrolling, getInteractionModality, isOpeningLink, moveVirtualFocus, nodeContains, openLink, scrollIntoView, scrollIntoViewport, trackModality, } from "./dom-utils.js";
13
+ import { typeSelectKeyDown, typeSelectKeyDownCapture } from "./type-select.js";
14
+ import { getItemElement, isCtrlKeyPressed, isNonContiguousSelectionModifier, refElement } from "./utils.js";
15
+ import { isMac } from "../platform/index.js";
16
+ /** Custom events for updating an autocomplete's aria-activedescendant (react-aria constants). */
17
+ export const CLEAR_FOCUS_EVENT = "react-aria-clear-focus";
18
+ export const FOCUS_EVENT = "react-aria-focus";
19
+ function resolve(options, event) {
20
+ const ref = refElement(options.ref) ?? (event?.currentTarget || null);
21
+ const manager = options.selectionManager;
22
+ return {
23
+ manager,
24
+ delegate: options.keyboardDelegate,
25
+ ref,
26
+ scrollRef: refElement(options.scrollRef) ?? ref,
27
+ selectOnFocus: options.selectOnFocus ?? manager.selectionBehavior === "replace",
28
+ shouldFocusWrap: options.shouldFocusWrap ?? false,
29
+ disallowEmptySelection: options.disallowEmptySelection ?? false,
30
+ disallowSelectAll: options.disallowSelectAll ?? false,
31
+ escapeKeyBehavior: options.escapeKeyBehavior ?? "clearSelection",
32
+ shouldUseVirtualFocus: !!options.shouldUseVirtualFocus,
33
+ allowsTabNavigation: options.allowsTabNavigation ?? false,
34
+ linkBehavior: options.linkBehavior ?? "action",
35
+ direction: options.direction ?? (ref ? elementDirection(ref) : "ltr"),
36
+ options,
37
+ };
38
+ }
39
+ function navigateToKey(r, e, key, childFocus) {
40
+ const { manager, selectOnFocus, linkBehavior } = r;
41
+ if (key != null) {
42
+ if (manager.isLink(key) && linkBehavior === "selection" && selectOnFocus && !isNonContiguousSelectionModifier(e)) {
43
+ // Set focused key (synchronously brings the item into view), then follow the link.
44
+ manager.setFocusedKey(key, childFocus);
45
+ const item = getItemElement(r.ref, key);
46
+ const itemProps = manager.getItemProps(key);
47
+ if (item) {
48
+ openLink(item, e, itemProps.href);
49
+ return;
50
+ }
51
+ return false;
52
+ }
53
+ manager.setFocusedKey(key, childFocus);
54
+ if (manager.isLink(key) && linkBehavior === "override")
55
+ return false;
56
+ if (e.shiftKey && manager.selectionMode === "multiple") {
57
+ manager.extendSelection(key);
58
+ return;
59
+ }
60
+ else if (selectOnFocus && !isNonContiguousSelectionModifier(e)) {
61
+ manager.replaceSelection(key);
62
+ return;
63
+ }
64
+ }
65
+ return false;
66
+ }
67
+ function arrowDown(r, e) {
68
+ const { manager, delegate } = r;
69
+ if (delegate.getKeyBelow) {
70
+ let nextKey = manager.focusedKey != null ? delegate.getKeyBelow(manager.focusedKey) : delegate.getFirstKey?.();
71
+ if (nextKey == null && r.shouldFocusWrap)
72
+ nextKey = delegate.getFirstKey?.(manager.focusedKey);
73
+ if (nextKey != null) {
74
+ navigateToKey(r, e, nextKey);
75
+ return;
76
+ }
77
+ }
78
+ return false;
79
+ }
80
+ function arrowUp(r, e) {
81
+ const { manager, delegate } = r;
82
+ if (delegate.getKeyAbove) {
83
+ let nextKey = manager.focusedKey != null ? delegate.getKeyAbove(manager.focusedKey) : delegate.getLastKey?.();
84
+ if (nextKey == null && r.shouldFocusWrap)
85
+ nextKey = delegate.getLastKey?.(manager.focusedKey);
86
+ if (nextKey != null) {
87
+ navigateToKey(r, e, nextKey);
88
+ return;
89
+ }
90
+ }
91
+ return false;
92
+ }
93
+ function arrowLeft(r, e) {
94
+ const { manager, delegate, direction } = r;
95
+ if (delegate.getKeyLeftOf) {
96
+ let nextKey = manager.focusedKey != null ? delegate.getKeyLeftOf(manager.focusedKey) : delegate.getFirstKey?.();
97
+ if (nextKey == null && r.shouldFocusWrap)
98
+ nextKey = direction === "rtl" ? delegate.getFirstKey?.(manager.focusedKey) : delegate.getLastKey?.(manager.focusedKey);
99
+ if (nextKey != null) {
100
+ navigateToKey(r, e, nextKey, direction === "rtl" ? "first" : "last");
101
+ return;
102
+ }
103
+ }
104
+ return false;
105
+ }
106
+ function arrowRight(r, e) {
107
+ const { manager, delegate, direction } = r;
108
+ if (delegate.getKeyRightOf) {
109
+ let nextKey = manager.focusedKey != null ? delegate.getKeyRightOf(manager.focusedKey) : delegate.getFirstKey?.();
110
+ if (nextKey == null && r.shouldFocusWrap)
111
+ nextKey = direction === "rtl" ? delegate.getLastKey?.(manager.focusedKey) : delegate.getFirstKey?.(manager.focusedKey);
112
+ if (nextKey != null) {
113
+ navigateToKey(r, e, nextKey, direction === "rtl" ? "last" : "first");
114
+ return;
115
+ }
116
+ }
117
+ return false;
118
+ }
119
+ function home(r, e) {
120
+ const { manager, delegate } = r;
121
+ if (delegate.getFirstKey) {
122
+ if (manager.focusedKey === null && e.shiftKey)
123
+ return false;
124
+ const firstKey = delegate.getFirstKey(manager.focusedKey, isCtrlKeyPressed(e));
125
+ manager.setFocusedKey(firstKey);
126
+ if (firstKey != null) {
127
+ if (isCtrlKeyPressed(e) && e.shiftKey && manager.selectionMode === "multiple") {
128
+ manager.extendSelection(firstKey);
129
+ return;
130
+ }
131
+ else if (r.selectOnFocus) {
132
+ manager.replaceSelection(firstKey);
133
+ return;
134
+ }
135
+ }
136
+ }
137
+ return false;
138
+ }
139
+ function end(r, e) {
140
+ const { manager, delegate } = r;
141
+ if (delegate.getLastKey) {
142
+ if (manager.focusedKey === null && e.shiftKey)
143
+ return false;
144
+ const lastKey = delegate.getLastKey(manager.focusedKey, isCtrlKeyPressed(e));
145
+ manager.setFocusedKey(lastKey);
146
+ if (lastKey != null) {
147
+ if (isCtrlKeyPressed(e) && e.shiftKey && manager.selectionMode === "multiple") {
148
+ manager.extendSelection(lastKey);
149
+ return;
150
+ }
151
+ else if (r.selectOnFocus) {
152
+ manager.replaceSelection(lastKey);
153
+ return;
154
+ }
155
+ }
156
+ }
157
+ return false;
158
+ }
159
+ function pageDown(r, e) {
160
+ const { manager, delegate } = r;
161
+ if (delegate.getKeyPageBelow && manager.focusedKey != null) {
162
+ const nextKey = delegate.getKeyPageBelow(manager.focusedKey);
163
+ if (nextKey != null)
164
+ return navigateToKey(r, e, nextKey);
165
+ }
166
+ return false;
167
+ }
168
+ function pageUp(r, e) {
169
+ const { manager, delegate } = r;
170
+ if (delegate.getKeyPageAbove && manager.focusedKey != null) {
171
+ const nextKey = delegate.getKeyPageAbove(manager.focusedKey);
172
+ if (nextKey != null)
173
+ return navigateToKey(r, e, nextKey);
174
+ }
175
+ return false;
176
+ }
177
+ function selectAllKey(r) {
178
+ if (r.manager.selectionMode === "multiple" && r.disallowSelectAll !== true) {
179
+ r.manager.selectAll();
180
+ return;
181
+ }
182
+ return false;
183
+ }
184
+ function escape(r) {
185
+ if (r.escapeKeyBehavior === "clearSelection" && !r.disallowEmptySelection && r.manager.selectedKeys.size !== 0) {
186
+ r.manager.clearSelection();
187
+ return;
188
+ }
189
+ return false;
190
+ }
191
+ function tab(r) {
192
+ if (!r.allowsTabNavigation && r.ref) {
193
+ // Collections are a single tab stop: move focus to the last tabbable element inside, so the
194
+ // browser default Tab continues from there (out of the collection).
195
+ const list = tabbables(r.ref);
196
+ const next = list[list.length - 1];
197
+ const activeElement = r.ref.ownerDocument.activeElement;
198
+ // If the active element is not tabbable but is contained by a tabbable element (a cell), the
199
+ // browser moves focus to the container: special-case it so Tab leaves the grid.
200
+ if (next && (!nodeContains(next, activeElement) || (activeElement && !isTabbable(activeElement))))
201
+ focusWithoutScrolling(next);
202
+ }
203
+ return { shouldContinuePropagation: true, shouldPreventDefault: false };
204
+ }
205
+ function shiftTab(r) {
206
+ if (!r.allowsTabNavigation && r.ref)
207
+ r.ref.focus();
208
+ return { shouldContinuePropagation: true, shouldPreventDefault: false };
209
+ }
210
+ /** Shortcut match: `Key`, `Key+Shift`, `Key+Alt|Control` (non-contiguous), `Key+Shift+Alt|Control`. */
211
+ function withShiftSel(e) {
212
+ // The non-contiguous modifier (Alt on Mac, Control elsewhere) and Shift are allowed; others not.
213
+ return isMac() ? !e.ctrlKey && !e.metaKey : !e.altKey && !e.metaKey;
214
+ }
215
+ function runShortcut(e, action) {
216
+ let result = action();
217
+ let handled;
218
+ if (result === undefined)
219
+ handled = { shouldContinuePropagation: false, shouldPreventDefault: true };
220
+ else if (typeof result === "boolean")
221
+ handled = { shouldContinuePropagation: !result, shouldPreventDefault: result };
222
+ else
223
+ handled = result;
224
+ if (handled.shouldPreventDefault)
225
+ e.preventDefault();
226
+ if (!handled.shouldContinuePropagation)
227
+ e.stopPropagation();
228
+ return !handled.shouldContinuePropagation;
229
+ }
230
+ /** Keys the collection handles on keydown (for `data-rk`, held while a cold chunk loads). */
231
+ export const selectableCollectionKeys = "ArrowDown ArrowUp ArrowLeft ArrowRight Home End PageUp PageDown";
232
+ /**
233
+ * keydown, capture phase, on the collection element (react-aria's `onKeyDownCapture` of the type
234
+ * select): while a search is in progress, Space extends it and is stopped before items see it.
235
+ * Delegated wiring calls this first; returns whether it handled the event.
236
+ */
237
+ export function selectableCollectionKeyDownCapture(options, e) {
238
+ if (options.disallowTypeAhead)
239
+ return false;
240
+ const r = resolve(options, e);
241
+ trackModality(e);
242
+ const before = untrack(() => r.manager.focusedKey);
243
+ const handled = typeSelectKeyDownCapture(r.ref ?? options, { keyboardDelegate: r.delegate, selectionManager: r.manager }, e);
244
+ if (handled)
245
+ syncFocus(options, before, e);
246
+ return handled;
247
+ }
248
+ /**
249
+ * keydown (bubble phase) on the collection element: arrow / Home / End / Page navigation, Shift
250
+ * range extension, Mod+A, Escape, Tab, then typeahead. Item-level Space / Enter presses belong to
251
+ * `selectableItemKeyDown` (on the item, before this). Returns whether the event was handled.
252
+ */
253
+ export function selectableCollectionKeyDown(options, e) {
254
+ const r = resolve(options, e);
255
+ trackModality(e);
256
+ const before = untrack(() => r.manager.focusedKey);
257
+ let handled = false;
258
+ // Events from portals (not inside the collection element) are ignored.
259
+ if (!r.ref || nodeContains(r.ref, e.target)) {
260
+ if (!e.isComposing)
261
+ handled = shortcut(r, e);
262
+ if (!handled && !options.disallowTypeAhead)
263
+ handled = typeSelectKeyDown(r.ref ?? options, { keyboardDelegate: r.delegate, selectionManager: r.manager }, e);
264
+ }
265
+ syncFocus(options, before, e);
266
+ return handled;
267
+ }
268
+ function shortcut(r, e) {
269
+ const key = e.key;
270
+ const repeatable = {
271
+ ArrowDown: arrowDown,
272
+ ArrowUp: arrowUp,
273
+ ArrowLeft: arrowLeft,
274
+ ArrowRight: arrowRight,
275
+ PageDown: pageDown,
276
+ PageUp: pageUp,
277
+ };
278
+ const fn = repeatable[key];
279
+ if (fn)
280
+ return withShiftSel(e) ? runShortcut(e, () => fn(r, e)) : false;
281
+ if (e.repeat)
282
+ return false;
283
+ if (key === "Home" || key === "End")
284
+ return withShiftSel(e) ? runShortcut(e, () => (key === "Home" ? home : end)(r, e)) : false;
285
+ const mod = isMac() ? e.metaKey && !e.ctrlKey : e.ctrlKey && !e.metaKey;
286
+ if (key.toLowerCase() === "a" && mod && !e.shiftKey && !e.altKey)
287
+ return runShortcut(e, () => selectAllKey(r));
288
+ const noMods = !e.altKey && !e.ctrlKey && !e.metaKey;
289
+ if (key === "Escape" && noMods && !e.shiftKey)
290
+ return runShortcut(e, () => escape(r));
291
+ if (key === "Tab" && noMods)
292
+ return runShortcut(e, () => (e.shiftKey ? shiftTab(r) : tab(r)));
293
+ return false;
294
+ }
295
+ const memos = new WeakMap();
296
+ const memoOf = (owner) => {
297
+ let m = memos.get(owner);
298
+ if (!m)
299
+ memos.set(owner, (m = { scrollTop: 0, scrollLeft: 0, shouldVirtualFocusFirst: false, lastFocusedKey: null, didAutoFocus: false, autoFocusPending: true }));
300
+ return m;
301
+ };
302
+ /** scroll on the scrollable body: remember the position (restored when focus re-enters). */
303
+ export function selectableCollectionScroll(options, e) {
304
+ // RA: not for a virtualized collection (the virtualizer owns its scroll position).
305
+ if (options.isVirtualized)
306
+ return;
307
+ const r = resolve(options, e);
308
+ const m = memoOf(r.ref ?? options);
309
+ m.scrollTop = r.scrollRef?.scrollTop ?? 0;
310
+ m.scrollLeft = r.scrollRef?.scrollLeft ?? 0;
311
+ }
312
+ /**
313
+ * focus (wire as `onFocusIn`: Rivet delegates `focusin`) on the collection element. Restores the
314
+ * last focused item, or picks the first / last (selected) item depending on where focus came from.
315
+ */
316
+ export function selectableCollectionFocus(options, e) {
317
+ const r = resolve(options, e);
318
+ const { manager, delegate } = r;
319
+ const target = e.target;
320
+ const current = (r.ref ?? e.currentTarget);
321
+ if (manager.isFocused) {
322
+ // If a focus event bubbled through a portal, reset focus state.
323
+ if (!nodeContains(current, target))
324
+ manager.setFocused(false);
325
+ return;
326
+ }
327
+ // Focus events can bubble through portals. Ignore these events.
328
+ if (!nodeContains(current, target))
329
+ return;
330
+ const modality = getInteractionModality();
331
+ manager.setFocused(true);
332
+ const navigate = (key) => {
333
+ if (key != null) {
334
+ manager.setFocusedKey(key);
335
+ if (r.selectOnFocus && !manager.isSelected(key))
336
+ manager.replaceSelection(key);
337
+ }
338
+ };
339
+ const m = memoOf(r.ref ?? options);
340
+ if (options.UNSTABLE_focusOnEntry && (modality === "keyboard" || modality === "virtual")) {
341
+ navigate(options.UNSTABLE_focusOnEntry === "first" ? delegate.getFirstKey?.() : delegate.getLastKey?.());
342
+ }
343
+ else if (manager.focusedKey == null) {
344
+ // No focused key yet: detect whether the user is tabbing forward or backward into the
345
+ // collection and focus the first or last item accordingly.
346
+ const relatedTarget = e.relatedTarget;
347
+ if (relatedTarget && current && current.compareDocumentPosition(relatedTarget) & Node.DOCUMENT_POSITION_FOLLOWING) {
348
+ navigate(manager.lastSelectedKey ?? delegate.getLastKey?.());
349
+ }
350
+ else
351
+ navigate(manager.firstSelectedKey ?? delegate.getFirstKey?.());
352
+ }
353
+ else if (!options.isVirtualized && r.scrollRef) {
354
+ // Restore the scroll position to what it was before.
355
+ r.scrollRef.scrollTop = m.scrollTop;
356
+ r.scrollRef.scrollLeft = m.scrollLeft;
357
+ }
358
+ if (manager.focusedKey != null && r.scrollRef) {
359
+ // Refocus and scroll the focused item into view if it exists within the scrollable region.
360
+ const element = getItemElement(r.ref, manager.focusedKey);
361
+ if (element) {
362
+ // This prevents a flash of focus on the first/last element in the collection, or the collection itself.
363
+ if (!nodeContains(element, element.ownerDocument.activeElement) && !r.shouldUseVirtualFocus)
364
+ focusWithoutScrolling(element);
365
+ if (modality === "keyboard" || (options.UNSTABLE_focusOnEntry && modality === "virtual"))
366
+ scrollIntoViewport(element, { containingElement: r.ref });
367
+ }
368
+ }
369
+ m.lastFocusedKey = manager.focusedKey;
370
+ }
371
+ /** blur (wire as `onFocusOut`) on the collection element. */
372
+ export function selectableCollectionBlur(options, e) {
373
+ const r = resolve(options, e);
374
+ // Don't set blurred and then focused again if moving focus within the collection.
375
+ if (!nodeContains((r.ref ?? e.currentTarget), e.relatedTarget))
376
+ r.manager.setFocused(false);
377
+ }
378
+ /** mousedown on the collection element: clicking the scrollbar must not focus the collection. */
379
+ export function selectableCollectionMouseDown(options, e) {
380
+ const r = resolve(options, e);
381
+ trackModality(e);
382
+ if (r.scrollRef === e.target)
383
+ e.preventDefault();
384
+ }
385
+ /** `FOCUS_EVENT` (virtual focus, autocomplete): the collection takes virtual focus. */
386
+ export function selectableCollectionVirtualFocus(options, e) {
387
+ if (!options.shouldUseVirtualFocus)
388
+ return;
389
+ const r = resolve(options, e);
390
+ e.stopPropagation();
391
+ r.manager.setFocused(true);
392
+ // If the user is typing forwards, autofocus the first option in the list.
393
+ if (e.detail?.focusStrategy === "first")
394
+ memoOf(r.ref ?? options).shouldVirtualFocusFirst = true;
395
+ }
396
+ /** `CLEAR_FOCUS_EVENT` (virtual focus): drop virtual focus, optionally clearing the focused key. */
397
+ export function selectableCollectionClearVirtualFocus(options, e) {
398
+ if (!options.shouldUseVirtualFocus)
399
+ return;
400
+ const r = resolve(options, e);
401
+ e.stopPropagation();
402
+ r.manager.setFocused(false);
403
+ if (e.detail?.clearFocusKey)
404
+ r.manager.setFocusedKey(null);
405
+ }
406
+ /**
407
+ * Collection contents changed (call from the component's effect after a filter / load): with a
408
+ * pending "virtual focus first" request, focus the first key, or clear the active descendant when
409
+ * nothing is focusable.
410
+ */
411
+ export function selectableCollectionUpdated(options) {
412
+ const r = resolve(options);
413
+ const m = memoOf(r.ref ?? options);
414
+ if (!m.shouldVirtualFocusFirst)
415
+ return;
416
+ const firstKey = r.delegate.getFirstKey?.() ?? null;
417
+ if (firstKey == null) {
418
+ const previousActiveElement = r.ref?.ownerDocument.activeElement ?? null;
419
+ moveVirtualFocus(r.ref);
420
+ if (previousActiveElement)
421
+ dispatchVirtualFocus(previousActiveElement, null);
422
+ // All keys disabled (not a loading state): stop trying.
423
+ if (r.manager.collection.size > 0)
424
+ m.shouldVirtualFocusFirst = false;
425
+ }
426
+ else {
427
+ r.manager.setFocusedKey(firstKey);
428
+ m.shouldVirtualFocusFirst = false;
429
+ }
430
+ }
431
+ /**
432
+ * Auto focus (react-aria's mount effect for `autoFocus`): focus the first selectable selected key,
433
+ * else the first / last key, else the collection. Call once the collection element is connected
434
+ * (e.g. from a `clientEffect`). Returns whether it ran (retries while the collection is empty).
435
+ */
436
+ export function selectableCollectionAutoFocus(options) {
437
+ const r = resolve(options);
438
+ const { manager, delegate } = r;
439
+ const m = memoOf(r.ref ?? options);
440
+ if (!options.autoFocus || !m.autoFocusPending)
441
+ return false;
442
+ let focusedKey = null;
443
+ if (options.autoFocus === "first")
444
+ focusedKey = delegate.getFirstKey?.() ?? null;
445
+ if (options.autoFocus === "last")
446
+ focusedKey = delegate.getLastKey?.() ?? null;
447
+ // If there are any selected keys, make the first one the new focus target.
448
+ const selectedKeys = manager.selectedKeys;
449
+ if (selectedKeys.size) {
450
+ for (const key of selectedKeys) {
451
+ if (manager.canSelectItem(key)) {
452
+ focusedKey = key;
453
+ break;
454
+ }
455
+ }
456
+ }
457
+ manager.setFocused(true);
458
+ manager.setFocusedKey(focusedKey);
459
+ if (focusedKey != null && r.selectOnFocus && !selectedKeys.size && manager.canSelectItem(focusedKey))
460
+ manager.replaceSelection(focusedKey);
461
+ // If no default focus key is selected, focus the collection itself.
462
+ if (focusedKey == null && !r.shouldUseVirtualFocus && r.ref)
463
+ focusSafely(r.ref);
464
+ // Wait until the collection has items to autofocus.
465
+ if (manager.collection.size > 0) {
466
+ m.autoFocusPending = false;
467
+ m.didAutoFocus = true;
468
+ }
469
+ syncFocus(options, null);
470
+ return true;
471
+ }
472
+ /** useSelectableItem's focus + useSelectableCollection's scroll-into-view for the focused item element. */
473
+ function focusItem(r, element, didAutoFocus) {
474
+ if (!r.shouldUseVirtualFocus) {
475
+ if (element.ownerDocument.activeElement !== element)
476
+ focusSafely(element);
477
+ }
478
+ else
479
+ moveVirtualFocus(element);
480
+ const modality = getInteractionModality();
481
+ if ((modality === "keyboard" || didAutoFocus) && r.scrollRef) {
482
+ scrollIntoView(r.scrollRef, element);
483
+ // Avoid scroll in iOS VO, since it may cause overlay to close.
484
+ if (modality !== "virtual")
485
+ scrollIntoViewport(element, { containingElement: r.ref });
486
+ }
487
+ }
488
+ /** Virtualized collections: focus the item of `key` after the render that adds it (a microtask, then a few frames). */
489
+ function whenRendered(r, key, didAutoFocus) {
490
+ let frames = 0;
491
+ const attempt = () => {
492
+ const manager = r.manager;
493
+ if (untrack(() => manager.focusedKey) !== key || !untrack(() => manager.isFocused) || !r.ref)
494
+ return;
495
+ const element = getItemElement(r.ref, key);
496
+ if (element)
497
+ focusItem(r, element, didAutoFocus);
498
+ else if (frames++ < 3)
499
+ requestAnimationFrame(attempt);
500
+ };
501
+ queueMicrotask(attempt);
502
+ }
503
+ /**
504
+ * react-aria's post-render effects, run after a handler changed state: move DOM (or virtual) focus
505
+ * to the focused item, scroll it into view (keyboard modality / after auto focus), and focus the
506
+ * collection when the focused item went away.
507
+ */
508
+ export function syncFocus(options, previousKey, event) {
509
+ const r = resolve(options, event);
510
+ const { manager } = r;
511
+ const m = memoOf(r.ref ?? options);
512
+ const focusedKey = untrack(() => manager.focusedKey);
513
+ const isFocused = untrack(() => manager.isFocused);
514
+ const changed = focusedKey !== previousKey;
515
+ if (isFocused && focusedKey != null && (changed || m.didAutoFocus) && r.ref) {
516
+ const element = getItemElement(r.ref, focusedKey);
517
+ const didAutoFocus = m.didAutoFocus;
518
+ if (element)
519
+ focusItem(r, element, didAutoFocus);
520
+ // Virtualized: the item renders once the virtualizer persists the new focused key (RA: useSelectableItem's
521
+ // effect after that render) — focus and scroll it in when it appears.
522
+ else if (options.isVirtualized)
523
+ whenRendered(r, focusedKey, didAutoFocus);
524
+ }
525
+ // If the focused key becomes null (e.g. the last item is deleted), focus the whole collection.
526
+ if (!r.shouldUseVirtualFocus && isFocused && focusedKey == null && previousKey != null && r.ref)
527
+ focusSafely(r.ref);
528
+ m.lastFocusedKey = focusedKey;
529
+ m.didAutoFocus = false;
530
+ // Any other focused key change clears a pending "virtual focus first".
531
+ if (changed && manager.collection.size > 0)
532
+ m.shouldVirtualFocusFirst = false;
533
+ }
534
+ /**
535
+ * tabIndex of the collection element: tabbable while nothing inside is focused (marshalled to the
536
+ * first / last item on focus); undefined with virtual focus. Reads `focusedKey` (bind as accessor).
537
+ */
538
+ export function collectionTabIndex(manager, shouldUseVirtualFocus) {
539
+ if (shouldUseVirtualFocus)
540
+ return undefined;
541
+ return manager.focusedKey == null ? 0 : -1;
542
+ }
543
+ /**
544
+ * react-aria `useSelectableCollection` shape for imperative / client-only use (`addEventListener`).
545
+ * Resumable components wire the handler bodies above instead.
546
+ */
547
+ export function useSelectableCollection(options) {
548
+ return {
549
+ collectionProps: {
550
+ tabIndex: collectionTabIndex(options.selectionManager, options.shouldUseVirtualFocus),
551
+ "data-collection": options.collectionId,
552
+ onKeyDownCapture: (e) => void selectableCollectionKeyDownCapture(options, e),
553
+ onKeyDown: (e) => void selectableCollectionKeyDown(options, e),
554
+ onFocusIn: (e) => selectableCollectionFocus(options, e),
555
+ onFocusOut: (e) => selectableCollectionBlur(options, e),
556
+ onMouseDown: (e) => selectableCollectionMouseDown(options, e),
557
+ },
558
+ };
559
+ }
560
+ export { isOpeningLink };
@@ -0,0 +1,128 @@
1
+ import type { Key } from "../collections/types.js";
2
+ import type { MultipleSelectionManager, PointerType } from "./manager.js";
3
+ import { type RefLike } from "./utils.js";
4
+ import { type Router } from "../utils/links.jsx";
5
+ export type ItemLinkBehavior = "action" | "selection" | "override" | "none";
6
+ export interface SelectableItemOptions {
7
+ /** An interface for reading and updating multiple selection state. */
8
+ selectionManager: MultipleSelectionManager;
9
+ /** A unique key for the item. */
10
+ key: Key;
11
+ /** The item element (ref or element; handlers default to the item under the event target). */
12
+ ref?: RefLike;
13
+ /** Item id (react-aria `useId(id)`). */
14
+ id?: string | undefined;
15
+ /** Select on press up instead of press down (menus). */
16
+ shouldSelectOnPressUp?: boolean | undefined;
17
+ /** Whether selection may start on another element than the one released on (menu triggers). */
18
+ allowsDifferentPressOrigin?: boolean | undefined;
19
+ /** Whether the option is contained in a virtual scroller. */
20
+ isVirtualized?: boolean | undefined;
21
+ /** Function to focus the item. */
22
+ focus?: (() => void) | undefined;
23
+ /** Whether the option should use virtual focus instead of being focused directly. */
24
+ shouldUseVirtualFocus?: boolean | undefined;
25
+ /** Whether the item is disabled. */
26
+ isDisabled?: boolean | undefined;
27
+ /** Handler that is called when a user performs an action on the item. */
28
+ onAction?: (() => void) | undefined;
29
+ /** The behavior of links in the collection. Default "action". */
30
+ linkBehavior?: ItemLinkBehavior | undefined;
31
+ /** @private RAC: actions override selection. */
32
+ UNSTABLE_itemBehavior?: "action" | undefined;
33
+ /**
34
+ * The router link items open through (react-aria `useRouter()`: `RouterProvider`); absent or native: the
35
+ * browser opens them.
36
+ */
37
+ router?: Router | undefined;
38
+ /**
39
+ * The item's own props (react-aria `manager.getItemProps(key)`): `onPressStart` / `onPressEnd` /
40
+ * `onPressChange` / `onPress` / `onPressUp` / `onClick` chain after the selection logic, `href` /
41
+ * `routerOptions` for links. Default: `selectionManager.getItemProps(key)` (a built collection's node props).
42
+ */
43
+ itemProps?: ItemPressProps | undefined;
44
+ }
45
+ /** Press callbacks + link props of an item (react-aria's `collectionItemProps` subset). */
46
+ export interface ItemPressProps {
47
+ onPressStart?: ((e: ItemPressEventFull) => void) | undefined;
48
+ onPressEnd?: ((e: ItemPressEventFull) => void) | undefined;
49
+ onPressChange?: ((isPressed: boolean) => void) | undefined;
50
+ onPress?: ((e: ItemPressEventFull) => void) | undefined;
51
+ onPressUp?: ((e: ItemPressEventFull) => void) | undefined;
52
+ onClick?: ((e: MouseEvent) => void) | undefined;
53
+ href?: string | undefined;
54
+ routerOptions?: Record<string, unknown> | undefined;
55
+ [key: string]: unknown;
56
+ }
57
+ /** The press event item press callbacks receive (react-aria PressEvent fields). */
58
+ export interface ItemPressEventFull extends ItemPressEvent {
59
+ type: "pressstart" | "pressend" | "pressup" | "press";
60
+ target: Element;
61
+ x: number;
62
+ y: number;
63
+ continuePropagation(): void;
64
+ }
65
+ export interface SelectableItemStates {
66
+ /** Whether the item is currently in a pressed state. */
67
+ isPressed: boolean;
68
+ /** Whether the item is currently selected. */
69
+ isSelected: boolean;
70
+ /** Whether the item is currently focused. */
71
+ isFocused: boolean;
72
+ /** Whether the item is non-interactive (selection and actions disabled, not focusable). */
73
+ isDisabled: boolean;
74
+ /** Whether the item may be selected. */
75
+ allowsSelection: boolean;
76
+ /** Whether the item has an action (onAction or link). */
77
+ hasAction: boolean;
78
+ }
79
+ /** A press event as the selection logic reads it (react-aria PressEvent subset). */
80
+ export interface ItemPressEvent {
81
+ pointerType: PointerType;
82
+ key?: string | undefined;
83
+ shiftKey: boolean;
84
+ ctrlKey: boolean;
85
+ metaKey: boolean;
86
+ altKey: boolean;
87
+ }
88
+ /** Item state flags (react-aria `useSelectableItem` return minus props). Reads state: use in bindings. */
89
+ export declare function selectableItemStates(options: SelectableItemOptions): SelectableItemStates;
90
+ /**
91
+ * Attributes of the item (`tabIndex` roving: 0 for the focused key, -1 otherwise, none with virtual
92
+ * focus or when disabled; `data-key`, `data-collection`, `id`). Reads state: bind as accessors.
93
+ */
94
+ export declare function selectableItemAttrs(options: SelectableItemOptions): Record<string, unknown>;
95
+ /** Long press threshold (react-aria useLongPress default). */
96
+ export declare const LONG_PRESS_THRESHOLD_MS = 500;
97
+ /** pointerdown on the item (press start for mouse / pen / touch; long press timer on touch). */
98
+ export declare function selectableItemPointerDown(options: SelectableItemOptions, e: PointerEvent): void;
99
+ /** pointerup on the item (press up; cancels a pending long press). */
100
+ export declare function selectableItemPointerUp(options: SelectableItemOptions, e: PointerEvent): void;
101
+ /** pointercancel / pointerleave: drop the press. */
102
+ export declare function selectableItemPointerCancel(options: SelectableItemOptions, e: PointerEvent): void;
103
+ /**
104
+ * click on the item: the press (pointer presses that started on the item, and virtual clicks from
105
+ * screen readers / `element.click()`); link clicks are prevented so links open exactly when the
106
+ * selection logic says so.
107
+ */
108
+ export declare function selectableItemClick(options: SelectableItemOptions, e: MouseEvent): void;
109
+ /** keydown on the item: Space / Enter start a keyboard press. */
110
+ export declare function selectableItemKeyDown(options: SelectableItemOptions, e: KeyboardEvent): void;
111
+ /** keyup on the item: Space / Enter complete a keyboard press. */
112
+ export declare function selectableItemKeyUp(options: SelectableItemOptions, e: KeyboardEvent): void;
113
+ /** dblclick: with selectionBehavior "replace", a mouse double click performs the action. */
114
+ export declare function selectableItemDoubleClick(options: SelectableItemOptions, e: MouseEvent): void;
115
+ /** focus on the item element itself: it becomes the focused key. */
116
+ export declare function selectableItemFocus(options: SelectableItemOptions, e: FocusEvent): void;
117
+ /** dragstart: no native drag after a touch long press that selected. */
118
+ export declare function selectableItemDragStart(options: SelectableItemOptions, e: DragEvent): void;
119
+ /**
120
+ * Focus the item when it is the focused key of a focused collection (react-aria's item effect),
121
+ * or move virtual focus to it. `selectableCollection*` handlers call this through `syncFocus`.
122
+ */
123
+ export declare function focusSelectableItem(options: SelectableItemOptions): void;
124
+ /** The collection item element containing `target` (inside `collection`), with its key. */
125
+ export declare function closestItem(collection: Element, target: EventTarget | null, selector?: string): {
126
+ element: HTMLElement;
127
+ key: Key;
128
+ } | null;