@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,301 @@
1
+ // Ported from packages/react-aria-components/src/Dialog.tsx (DialogTrigger, Dialog), Apache-2.0, © Adobe.
2
+ // RAC composition: `<DialogTrigger><Button/><Modal|Popover><Dialog>…</Dialog></…></DialogTrigger>`.
3
+ // Rivet:
4
+ // - `DialogTrigger` renders no element: it provides OverlayTriggerStateContext / DialogContext /
5
+ // PopoverContext (`../overlay/contexts.ts`) and a `PressResponder` whose trigger props reach the user's
6
+ // `<Button>` (`aria-expanded` / `aria-controls` / `isPressed` as accessors, read in the button's bindings).
7
+ // State = `createMenuTriggerState` (react-stately useMenuTriggerState, so a menu inside the dialog can
8
+ // open submenus); the trigger ref is region state (`ref()`, serializable).
9
+ // - `Dialog`: useDialog = `dialogProps` (./behaviour.tsx) with slot ids (`createSlotId`): the Heading
10
+ // (`slot="title"`) and Text (`slot="description"`) mark them rendered (with their own `id` prop when set: RA
11
+ // mergeIds, the owner follows it). Server: the children are called inside the body Provider's slot, which runs
12
+ // while `body` is built, before the `<section>` record reads its attributes, so `aria-labelledby` /
13
+ // `aria-describedby` are final in the server HTML; client: an accessor (reactive binding), the attribute
14
+ // bindings follow the slot ids' `rendered` signals. No title → the trigger id from context (RAC fallback).
15
+ // `close` = `closeOverlay` of the context state.
16
+ // - render props / `class` / `style` functions via `renderProps` (`../slots`); default class `rv-Dialog`.
17
+ // Client: children reach the body Provider as `[() => rp.children()]` (a reactive binding): plain text children
18
+ // (`A {p()}`) update like RAC re-renders; Provider alone resolves its slot once. Server: `rp.children()` (above).
19
+ // - `trigger` (DialogTrigger): Rivet extension, RAC vocabulary — see DialogTriggerProps.trigger; hover / focus use
20
+ // `../overlay/hover-trigger.tsx` (safe area attached while open from an own anchor site), longPress RA useLongPress.
21
+ // `render` (RAC DOMRenderProps, renderProps `undefined`) replaces the `<section>`. Deviations: an `[autofocus]` descendant is focused on mount (React's `autoFocus`); the iOS VoiceOver refocus and the focus-on-mount run from a client effect
22
+ // (a server-rendered Dialog whose effect wakes after the user moved focus does not take it: `focusMovedByUser`);
23
+ // in a collection's hidden build pass (`isHidden()`) DialogTrigger renders nothing (RAC `useIsHidden`).
24
+ import { _regionState, untrack, useContext } from "@rivetjs/reactivity";
25
+ import { Show, clientEffect, ref as createRef } from "@rivetjs/runtime/dom";
26
+ import { createId, idSignal } from "../utils/id.js";
27
+ import { isFocusWithin } from "../utils/dom.js";
28
+ import { focusMovedByUser, focusSafely } from "../focus/index.js";
29
+ import {} from "../utils/render.js";
30
+ import { globalDOMProps } from "../utils/dom-props.js";
31
+ import { read } from "../interactions/utils.js";
32
+ import { PressResponder } from "../interactions/pressable.jsx";
33
+ import { OverlayTriggerStateContext, PopoverContext } from "../overlay/contexts.js";
34
+ import { closeOverlay, openOverlay } from "../state/overlays.js";
35
+ import { createMenuTriggerState, toggleMenu } from "../state/menu.js";
36
+ import { longPressEnd, longPressStart } from "../interactions/long-press.jsx";
37
+ import { attachHoverTrigger, hoverTriggerBlur, hoverTriggerFocus, hoverTriggerOverlayBlurWithin, hoverTriggerOverlayFocusWithin, hoverTriggerPointerEnter, hoverTriggerPointerLeave, } from "../overlay/hover-trigger.jsx";
38
+ import { isHidden } from "../collections/components.jsx";
39
+ import { ButtonContext } from "../button/index.jsx";
40
+ import { HeadingContext } from "../heading/index.jsx";
41
+ import { TextContext } from "../text/index.jsx";
42
+ import { probeSlots, slotProbing } from "#server";
43
+ import { DEFAULT_SLOT, Provider, contextProps, createSlotId, mergeRefValues, renderProps, } from "../slots/index.jsx";
44
+ import { dialogBlur, dialogFocus, dialogProps, dialogTitleWarning } from "./behaviour.jsx";
45
+ import { DialogContext } from "./contexts.js";
46
+ import { renderPropsOf } from "../slots/index.jsx";
47
+ import { hasLive, liveOptions } from "../utils/live.jsx";
48
+ export { DialogContext, OverlayTriggerStateContext };
49
+ /** A DialogTrigger opens a dialog when a trigger element is pressed (RAC `DialogTrigger`). */
50
+ export function DialogTrigger(props) {
51
+ // Use the menu trigger state instead of the overlay trigger state in case a menu is embedded in the dialog.
52
+ // This is needed to handle submenus.
53
+ // Live props: a controlled `isOpen={open()}` stays live (accessor; `controllable` reads it, never writes it).
54
+ const state = createMenuTriggerState({ isOpen: liveOptions(props, [], ["isOpen"]).isOpen, defaultOpen: props.defaultOpen, onOpenChange: props.onOpenChange });
55
+ const buttonRef = _regionState(() => createRef());
56
+ // useOverlayTrigger({ type: "dialog" }): no aria-haspopup for dialogs; `aria-controls` while open.
57
+ const overlayId = idSignal();
58
+ // Label dialog by the trigger as a fallback if there is no title slot.
59
+ // This is done in RAC instead of hooks because otherwise we cannot distinguish
60
+ // between context and props. Normally aria-labelledby overrides the title
61
+ // but when sent by context we want the title to win.
62
+ const triggerId = idSignal();
63
+ // Initial ids (plain strings for the contexts / trigger props; a merged id updates the signals, read in accessors).
64
+ const initialOverlayId = untrack(overlayId), initialTriggerId = untrack(triggerId);
65
+ // If within a collection (e.g. Tabs), render nothing.
66
+ if (isHidden())
67
+ return null;
68
+ const children = props.children;
69
+ const mode = props.trigger ?? "press";
70
+ // Live `delay` / `closeDelay` (LIVE-SWEEP round 2): accessors the hover handlers read at event time.
71
+ const timing = hasLive(props) ? liveOptions(props, ["delay", "closeDelay"]) : props;
72
+ // useOverlayTrigger trigger props (accessors: read in the Button's bindings).
73
+ const triggerProps = {
74
+ id: initialTriggerId,
75
+ "aria-expanded": () => state.isOpen(),
76
+ "aria-controls": () => (state.isOpen() ? overlayId() : undefined),
77
+ };
78
+ // Server, open: the trigger's `aria-controls` is written before the Dialog renders, so a Dialog with its own `id` (RA
79
+ // mergeIds, `idRef`) would leave the generated id in the server HTML (an IDREF to nothing; the client render follows
80
+ // the merge). Probe the children first (`probeSlots`, browser: a no-op): a probed Dialog sets `idRef` and renders
81
+ // nothing. Only server-open triggers pay the probe (their overlay subtree renders twice up to the Dialog).
82
+ if (SERVER && untrack(state.isOpen))
83
+ probeSlots([
84
+ [OverlayTriggerStateContext, state],
85
+ [DialogContext, { id: initialOverlayId, idRef: overlayId }],
86
+ ], children);
87
+ if (mode === "press" || mode === "focus") {
88
+ return (<Provider values={[
89
+ [OverlayTriggerStateContext, state],
90
+ [DialogContext, { id: initialOverlayId, "aria-labelledby": () => triggerId(), idRef: overlayId }],
91
+ [PopoverContext, { trigger: "DialogTrigger", triggerRef: buttonRef, id: initialOverlayId, "aria-labelledby": () => triggerId() }],
92
+ ]}>
93
+ {mode === "press" ? (<PressResponder {...triggerProps} onPress={() => toggleMenu(state)} ref={buttonRef} isPressed={() => state.isOpen()}>
94
+ {children}
95
+ </PressResponder>) : (<HoverModeTrigger state={state} mode="focus" triggerProps={triggerProps} buttonRef={buttonRef} overlayId={initialOverlayId} triggerId={triggerId} idRef={overlayId}>
96
+ {children}
97
+ </HoverModeTrigger>)}
98
+ </Provider>);
99
+ }
100
+ if (mode === "longPress") {
101
+ // useMenuTrigger `trigger: 'longPress'`: a long press opens; a keyboard / virtual press toggles.
102
+ const longPress = { props: { onLongPress: () => openOverlay(state) }, state: { timer: undefined, globals: [] } };
103
+ const description = props.longPressAccessibilityDescription;
104
+ const descriptionId = description ? createId() : undefined;
105
+ return (<Provider values={[
106
+ [OverlayTriggerStateContext, state],
107
+ [DialogContext, { id: initialOverlayId, "aria-labelledby": () => triggerId(), idRef: overlayId }],
108
+ [PopoverContext, { trigger: "DialogTrigger", triggerRef: buttonRef, id: initialOverlayId, "aria-labelledby": () => triggerId() }],
109
+ ]}>
110
+ <PressResponder {...triggerProps} aria-describedby={descriptionId} onPressStart={(e) => {
111
+ if (e.pointerType === "mouse" || e.pointerType === "touch")
112
+ longPressStart(longPress, e);
113
+ }} onPressEnd={(e) => longPressEnd(longPress, e)} onPress={(e) => {
114
+ if (e.pointerType !== "mouse" && e.pointerType !== "touch")
115
+ toggleMenu(state);
116
+ }} ref={buttonRef} isPressed={() => state.isOpen()}>
117
+ {children}
118
+ </PressResponder>
119
+ {description ? (<span id={descriptionId} hidden>
120
+ {description}
121
+ </span>) : null}
122
+ </Provider>);
123
+ }
124
+ return (<HoverModeTrigger state={state} mode="hover" delay={timing.delay} closeDelay={timing.closeDelay} triggerProps={triggerProps} buttonRef={buttonRef} overlayId={initialOverlayId} triggerId={triggerId} idRef={overlayId}>
125
+ {children}
126
+ </HoverModeTrigger>);
127
+ }
128
+ /** `trigger="hover" | "focus"`: C1b's hover-trigger handlers (`../overlay/hover-trigger.tsx`) on the trigger and popover. */
129
+ function HoverModeTrigger(input) {
130
+ const { state, mode, triggerProps, buttonRef, overlayId, triggerId, idRef } = input;
131
+ const children = input.children;
132
+ const overlayRef = createRef();
133
+ const hover = { trigger: mode, delay: input.delay, closeDelay: input.closeDelay, triggerRef: buttonRef, overlayRef };
134
+ const responderProps = {
135
+ ...triggerProps,
136
+ onPointerEnter: (e) => {
137
+ if (mode === "hover")
138
+ hoverTriggerPointerEnter(e, hover, state);
139
+ },
140
+ onPointerLeave: (e) => {
141
+ if (mode === "hover")
142
+ hoverTriggerPointerLeave(e, hover, state);
143
+ },
144
+ onFocus: (e) => hoverTriggerFocus(e, hover, state),
145
+ onBlur: (e) => hoverTriggerBlur(e, hover, state),
146
+ onPress: (e) => {
147
+ // Hover mode: mouse / pen open by hovering; touch, keyboard and screen readers keep the press toggle.
148
+ if (mode === "focus" || (e.pointerType !== "mouse" && e.pointerType !== "pen"))
149
+ toggleMenu(state);
150
+ },
151
+ };
152
+ return (<Provider values={[
153
+ [OverlayTriggerStateContext, state],
154
+ [DialogContext, { id: overlayId, "aria-labelledby": () => triggerId(), idRef }],
155
+ [
156
+ PopoverContext,
157
+ {
158
+ trigger: "DialogTrigger",
159
+ triggerRef: buttonRef,
160
+ ref: overlayRef,
161
+ id: overlayId,
162
+ "aria-labelledby": () => triggerId(),
163
+ onFocusWithin: () => hoverTriggerOverlayFocusWithin(state),
164
+ onBlurWithin: (e) => hoverTriggerOverlayBlurWithin(e, hover, state),
165
+ },
166
+ ],
167
+ ]}>
168
+ <PressResponder {...responderProps} ref={buttonRef} isPressed={() => state.isOpen()}>
169
+ {children}
170
+ </PressResponder>
171
+ {/* Safe area while open (an own binding site: re-created alone on a resumed page). */}
172
+ <span data-rv-overlay-anchor="" style={{ display: "contents" }}>
173
+ <Show when={() => state.isOpen()}>{() => <HoverSafeArea hover={hover} state={state}/>}</Show>
174
+ </span>
175
+ </Provider>);
176
+ }
177
+ function HoverSafeArea(input) {
178
+ const { hover, state } = input;
179
+ clientEffect(() => attachHoverTrigger(hover, state));
180
+ return null;
181
+ }
182
+ const OWNED = ["style"];
183
+ const SERVER = typeof document === "undefined";
184
+ /** A dialog is an overlay shown above other content in an application (RAC `Dialog`). */
185
+ export function Dialog(inProps) {
186
+ const originalAriaLabelledby = inProps["aria-labelledby"];
187
+ // RA mergeIds: a user id replaces the trigger's generated overlay id, so `aria-controls` follows it
188
+ // (Rivet: the trigger's id signal travels in context, `idRef`; resumable, unlike mergeIds' browser map).
189
+ const rawContext = useContext(DialogContext);
190
+ if (rawContext?.idRef && inProps.id)
191
+ rawContext.idRef.set(inProps.id);
192
+ // A server-open DialogTrigger's probe: the id merge above is all it needs.
193
+ if (slotProbing)
194
+ return null;
195
+ const [merged, contextRef] = contextProps(inProps, inProps.ref, DialogContext);
196
+ const { idRef: _idRef, ...props } = merged;
197
+ if (rawContext?.idRef && inProps.id)
198
+ props.id = inProps.id;
199
+ const title = createSlotId();
200
+ const content = createSlotId();
201
+ const { dialogProps: d, titleProps, contentProps, } = dialogProps({
202
+ ...props,
203
+ // Only pass aria-labelledby from props, not context.
204
+ // Context is used as a fallback below.
205
+ "aria-labelledby": originalAriaLabelledby,
206
+ isEntering: undefined,
207
+ }, { title, content });
208
+ const state = useContext(OverlayTriggerStateContext);
209
+ // If aria-labelledby exists on props (and not on the original props), it came from context: the fallback
210
+ // when there is no title slot.
211
+ const contextLabelledBy = props["aria-labelledby"] !== originalAriaLabelledby ? props["aria-labelledby"] : undefined;
212
+ const ariaLabel = d["aria-label"];
213
+ const labelledBy = () => (ariaLabel ? undefined : (d["aria-labelledby"]() ?? read(contextLabelledBy)));
214
+ // One local arrow (R2: render props capture it), not `state ? f : g`.
215
+ const close = () => {
216
+ if (state)
217
+ closeOverlay(state);
218
+ };
219
+ const rp = renderPropsOf(props, { defaultClassName: "rv-Dialog", values: { close } });
220
+ // Client: an accessor, not `{rp.children()}`: Provider resolves its slot once (untracked), so plain text
221
+ // children (`A {p()}`) would stay static; a function inside an array is inserted as a reactive binding (a
222
+ // bare function child is a render prop: Provider would call it once).
223
+ // Server: the children run inside the Provider's slot, which the server Provider calls while `body` is built —
224
+ // before the `<section>` record reads aria-labelledby / -describedby — so the title / description parts have
225
+ // marked their slot ids (an own `id` prop included: RA mergeIds). The traversal would call the accessor later,
226
+ // after the open tag's attributes. Same work, same owner (the provide scope); the server inserts no binding
227
+ // for a function child of a component either way.
228
+ const childContent = () => rp.children();
229
+ // Rivet (server): an alert dialog's `aria-describedby` names its description only when a part takes it (the content id
230
+ // was kept by expectation: an IDREF to nothing without one) — probe which description part renders (`probeSlots`).
231
+ if (SERVER && contentProps.id)
232
+ probeSlots([[TextContext, { slots: { [DEFAULT_SLOT]: {}, description: { id: content } } }]], childContent);
233
+ const body = (<Provider values={[
234
+ [HeadingContext, { slots: { [DEFAULT_SLOT]: {}, title: { id: titleProps.id ? title : undefined, level: 2 } } }],
235
+ [TextContext, { slots: { [DEFAULT_SLOT]: {}, description: { id: contentProps.id ? content : undefined } } }],
236
+ [
237
+ ButtonContext,
238
+ {
239
+ slots: {
240
+ [DEFAULT_SLOT]: {},
241
+ close: {
242
+ onPress: () => {
243
+ if (state)
244
+ closeOverlay(state);
245
+ },
246
+ },
247
+ },
248
+ },
249
+ ],
250
+ ]}>
251
+ {SERVER ? childContent() : [childContent]}
252
+ </Provider>);
253
+ const element = createRef();
254
+ const ref = mergeRefValues(element, contextRef);
255
+ const isEntering = props.isEntering;
256
+ // Rendered by the server: the mount effect runs on a resumed page when its chunk wakes (idle / visible).
257
+ const resumed = typeof document === "undefined";
258
+ // useDialog: focus the dialog itself on mount (or once it has entered), unless a child element is already focused.
259
+ clientEffect(() => {
260
+ const el = element();
261
+ // Resumed page: the user already moved focus elsewhere (React focuses at hydration, before any interaction).
262
+ if (resumed && el && !isFocusWithin(el) && focusMovedByUser(el.ownerDocument))
263
+ return;
264
+ const entering = !!read(isEntering);
265
+ // React focuses an `autoFocus` child on mount (commit, before useDialog's effect); a re-inserted Rivet
266
+ // element only carries the `autofocus` attribute, which the browser ignores after page load.
267
+ if (el && !entering && !isFocusWithin(el)) {
268
+ const auto = el.querySelector("[autofocus]");
269
+ if (auto)
270
+ focusSafely(auto);
271
+ }
272
+ return dialogFocus(el, entering);
273
+ });
274
+ if (isDev())
275
+ clientEffect(() => dialogTitleWarning(element()));
276
+ const dom = globalDOMProps(props, OWNED);
277
+ const id = d.id, role = d.role, ariaDetails = d["aria-details"], describedBy = d["aria-describedby"], slot = props.slot ?? undefined;
278
+ if (props.render) {
279
+ const attrs = {
280
+ ...dom,
281
+ id,
282
+ slot,
283
+ class: () => rp.class(),
284
+ style: () => rp.style(),
285
+ ref,
286
+ role,
287
+ tabindex: -1,
288
+ "aria-label": ariaLabel,
289
+ "aria-labelledby": () => labelledBy(),
290
+ "aria-describedby": () => describedBy(),
291
+ "aria-details": ariaDetails,
292
+ onBlur: (event) => dialogBlur(event),
293
+ children: () => body,
294
+ };
295
+ return props.render(attrs, undefined);
296
+ }
297
+ return (<section {...dom} id={id} slot={slot} class={rp.class()} style={rp.style()} ref={ref} role={role} tabIndex={-1} aria-label={ariaLabel} aria-labelledby={labelledBy()} aria-describedby={describedBy()} aria-details={ariaDetails} onBlur={(event) => dialogBlur(event)}>
298
+ {body}
299
+ </section>);
300
+ }
301
+ const isDev = () => globalThis.process?.env?.NODE_ENV === "development";
@@ -0,0 +1,50 @@
1
+ import type { PressEvent } from "../interactions/press.jsx";
2
+ import { type DisclosureState } from "../state/disclosure.js";
3
+ export interface AriaDisclosureProps {
4
+ /** Id base of the button / panel (Rivet: replaces `useId`). */
5
+ id: string;
6
+ /** Rivet: the panel element (RA `ref`), read by the `hidden` binding in the browser. */
7
+ panelRef?: () => HTMLElement | null | undefined;
8
+ /** Whether the disclosure is disabled (Rivet, live props: an accessor read at press time). */
9
+ isDisabled?: boolean | (() => boolean);
10
+ }
11
+ export interface DisclosureAria {
12
+ /** Props for the disclosure button (AriaButtonProps: spread onto / pass to a Button). */
13
+ buttonProps: {
14
+ id: string;
15
+ "aria-expanded": () => boolean;
16
+ "aria-controls": string;
17
+ isDisabled: boolean | (() => boolean);
18
+ onPress: (e: PressEvent) => void;
19
+ onPressStart: (e: PressEvent) => void;
20
+ };
21
+ /** Props for the disclosure panel. */
22
+ panelProps: {
23
+ id: string;
24
+ role: "group";
25
+ "aria-labelledby": string;
26
+ "aria-hidden": () => boolean;
27
+ hidden: () => "until-found" | undefined;
28
+ };
29
+ }
30
+ export declare const disclosureTriggerId: (id: string) => string;
31
+ export declare const disclosurePanelId: (id: string) => string;
32
+ /** `onPress` of the button: toggles for non-keyboard presses. */
33
+ export declare function disclosureButtonPress(e: PressEvent, props: AriaDisclosureProps, state: DisclosureState): void;
34
+ /** `onPressStart` of the button: keyboard presses toggle on key down. */
35
+ export declare function disclosureButtonPressStart(e: PressEvent, props: AriaDisclosureProps, state: DisclosureState): void;
36
+ /** `beforematch` on the panel (find-in-page hit a collapsed panel): expand, restore `until-found` next frame. */
37
+ export declare function disclosurePanelBeforeMatch(e: Event, _props: AriaDisclosureProps, state: DisclosureState): void;
38
+ /** Server style of the panel: the size variables of the initial state. */
39
+ export declare const disclosurePanelStyle: (isExpanded: boolean) => string;
40
+ /**
41
+ * The panel's `hidden` value (binding): on the server / first read the static value; in the browser on
42
+ * each change the upstream layout effect (size variables in px, wait for the animations, then `auto` /
43
+ * `hidden="until-found"`).
44
+ */
45
+ export declare function disclosurePanelHidden(state: DisclosureState, panelRef: () => HTMLElement | null | undefined): "until-found" | undefined;
46
+ /**
47
+ * Provides the behavior and accessibility implementation for a disclosure component
48
+ * (react-aria `useDisclosure`).
49
+ */
50
+ export declare function disclosureProps(props: AriaDisclosureProps, state: DisclosureState): DisclosureAria;
@@ -0,0 +1,128 @@
1
+ // Ported from react-aria disclosure/useDisclosure.ts (packages/react-aria/src/disclosure), Apache-2.0, © Adobe.
2
+ //
3
+ // Rivet:
4
+ // - `useDisclosure(props, state, ref)` → `disclosureProps(props, state)` returning `{ buttonProps, panelProps }`
5
+ // (RA keys); reactive values are accessors (bind them). Handlers are free functions
6
+ // (`disclosureButtonPress`, `disclosureButtonPressStart`, `disclosurePanelBeforeMatch`) for inline arrows.
7
+ // - Ids derive from `props.id` (`<id>-trigger`, `<id>-panel`) instead of `useId`, so they are stable
8
+ // across server render and resume.
9
+ // - The layout effect (hidden + `--disclosure-panel-width/height` + animation wait) runs inside the
10
+ // panel's `hidden` binding (`disclosurePanelHidden`): the server renders the final value
11
+ // (`hidden="until-found"` when collapsed, which unsupporting browsers treat as `hidden`), the browser
12
+ // runs it only on a change, so nothing runs at load.
13
+ // Deviation: upstream SSR renders boolean `hidden` and switches to `until-found` in a layout effect; Rivet's
14
+ // binding returns `until-found` from the start and every target writes the keyword verbatim (server
15
+ // `template.ts`, compiler literals `html.rs`, DOM v1 / v2), so the server HTML is already `hidden="until-found"`.
16
+ import { untrack } from "@rivetjs/reactivity";
17
+ import { toggleDisclosure } from "../state/disclosure.js";
18
+ export const disclosureTriggerId = (id) => id + "-trigger";
19
+ export const disclosurePanelId = (id) => id + "-panel";
20
+ const disabledNow = (props) => !!(typeof props.isDisabled === "function" ? props.isDisabled() : props.isDisabled);
21
+ /** `onPress` of the button: toggles for non-keyboard presses. */
22
+ export function disclosureButtonPress(e, props, state) {
23
+ if (!disabledNow(props) && e.pointerType !== "keyboard")
24
+ toggleDisclosure(state);
25
+ }
26
+ /** `onPressStart` of the button: keyboard presses toggle on key down. */
27
+ export function disclosureButtonPressStart(e, props, state) {
28
+ if (e.pointerType === "keyboard" && !disabledNow(props))
29
+ toggleDisclosure(state);
30
+ }
31
+ // Pending "restore until-found" frames, by panel (upstream `raf` ref).
32
+ const frames = new WeakMap();
33
+ // Last expanded value the browser applied, by panel (upstream `isExpandedRef`).
34
+ const applied = new WeakMap();
35
+ /** `beforematch` on the panel (find-in-page hit a collapsed panel): expand, restore `until-found` next frame. */
36
+ export function disclosurePanelBeforeMatch(e, _props, state) {
37
+ const panel = e.currentTarget;
38
+ if (!panel)
39
+ return;
40
+ // Wait a frame to revert browser's removal of hidden attribute.
41
+ frames.set(panel, requestAnimationFrame(() => panel.setAttribute("hidden", "until-found")));
42
+ toggleDisclosure(state);
43
+ }
44
+ const setSize = (panel, width, height) => {
45
+ panel.style.setProperty("--disclosure-panel-width", width);
46
+ panel.style.setProperty("--disclosure-panel-height", height);
47
+ };
48
+ /** Server style of the panel: the size variables of the initial state. */
49
+ export const disclosurePanelStyle = (isExpanded) => isExpanded ? "--disclosure-panel-width:auto;--disclosure-panel-height:auto" : "--disclosure-panel-width:0px;--disclosure-panel-height:0px";
50
+ /**
51
+ * The panel's `hidden` value (binding): on the server / first read the static value; in the browser on
52
+ * each change the upstream layout effect (size variables in px, wait for the animations, then `auto` /
53
+ * `hidden="until-found"`).
54
+ */
55
+ export function disclosurePanelHidden(state, panelRef) {
56
+ const isExpanded = state.isExpanded();
57
+ const value = isExpanded ? undefined : "until-found";
58
+ // Server render / first read: no element yet.
59
+ const panel = untrack(panelRef);
60
+ if (!panel)
61
+ return value;
62
+ // Cancel any pending RAF to prevent stale updates.
63
+ const frame = frames.get(panel);
64
+ if (frame !== undefined) {
65
+ cancelAnimationFrame(frame);
66
+ frames.delete(panel);
67
+ }
68
+ const previous = applied.has(panel) ? applied.get(panel) : !panel.hasAttribute("hidden");
69
+ applied.set(panel, isExpanded);
70
+ if (typeof panel.getAnimations !== "function") {
71
+ // Without animation support (and in tests), set attributes without animation.
72
+ setSize(panel, isExpanded ? "auto" : "0px", isExpanded ? "auto" : "0px");
73
+ return value;
74
+ }
75
+ if (isExpanded === previous)
76
+ return value;
77
+ if (isExpanded) {
78
+ panel.removeAttribute("hidden");
79
+ // Set the width and height as pixels so they can be animated.
80
+ setSize(panel, panel.scrollWidth + "px", panel.scrollHeight + "px");
81
+ Promise.all(panel.getAnimations().map((a) => a.finished))
82
+ // After the animations complete, switch back to auto so the content can resize.
83
+ .then(() => untrack(state.isExpanded) && setSize(panel, "auto", "auto"))
84
+ .catch(() => { });
85
+ return undefined;
86
+ }
87
+ setSize(panel, panel.scrollWidth + "px", panel.scrollHeight + "px");
88
+ // Force style re-calculation to trigger animations.
89
+ void panel.ownerDocument.defaultView?.getComputedStyle(panel).height;
90
+ // Animate to zero size.
91
+ setSize(panel, "0px", "0px");
92
+ const animations = panel.getAnimations();
93
+ if (!animations.length)
94
+ return value;
95
+ // Wait for animations to apply the hidden attribute.
96
+ Promise.all(animations.map((a) => a.finished))
97
+ .then(() => !untrack(state.isExpanded) && panel.setAttribute("hidden", "until-found"))
98
+ .catch(() => { });
99
+ return undefined;
100
+ }
101
+ /**
102
+ * Provides the behavior and accessibility implementation for a disclosure component
103
+ * (react-aria `useDisclosure`).
104
+ */
105
+ export function disclosureProps(props, state) {
106
+ const { isDisabled = false } = props;
107
+ const triggerId = disclosureTriggerId(props.id);
108
+ const panelId = disclosurePanelId(props.id);
109
+ const panelRef = props.panelRef ?? (() => null);
110
+ return {
111
+ buttonProps: {
112
+ id: triggerId,
113
+ "aria-expanded": () => state.isExpanded(),
114
+ "aria-controls": panelId,
115
+ isDisabled,
116
+ onPress: (e) => disclosureButtonPress(e, props, state),
117
+ onPressStart: (e) => disclosureButtonPressStart(e, props, state),
118
+ },
119
+ panelProps: {
120
+ id: panelId,
121
+ // This can be overridden at the panel element level.
122
+ role: "group",
123
+ "aria-labelledby": triggerId,
124
+ "aria-hidden": () => !state.isExpanded(),
125
+ hidden: () => disclosurePanelHidden(state, panelRef),
126
+ },
127
+ };
128
+ }
@@ -0,0 +1,21 @@
1
+ import type { Content } from "@rivetjs/runtime/jsx-runtime";
2
+ import { type GlobalDOMAttributes } from "../utils/dom-props.js";
3
+ /** Global DOM events / attributes go on the `<details>` root. */
4
+ export interface DetailsDisclosureProps extends GlobalDOMAttributes<HTMLDetailsElement> {
5
+ /** The `<summary>` content. */
6
+ title: Content;
7
+ /** Whether the disclosure starts open. */
8
+ defaultExpanded?: boolean;
9
+ /** Exclusive accordion: at most one open disclosure per group name (native `name`). */
10
+ group?: string;
11
+ id?: string;
12
+ /** @default 'rv-DetailsDisclosure' */
13
+ class?: string;
14
+ /** @default 'rv-DetailsDisclosure-summary' */
15
+ summaryClass?: string;
16
+ /** @default 'rv-DetailsDisclosure-panel' */
17
+ panelClass?: string;
18
+ children?: Content;
19
+ }
20
+ /** A disclosure on native `<details>` (no JavaScript). */
21
+ export declare function DetailsDisclosure(props: DetailsDisclosureProps): import("@rivetjs/runtime/jsx-runtime").CompiledElement;
@@ -0,0 +1,14 @@
1
+ import { globalDOMProps } from "../utils/dom-props.js";
2
+ /** A disclosure on native `<details>` (no JavaScript). */
3
+ export function DetailsDisclosure(props) {
4
+ const dom = globalDOMProps(props);
5
+ const idProp = props.id;
6
+ const className = props.class;
7
+ const group = props.group;
8
+ const defaultExpanded = props.defaultExpanded;
9
+ const summaryClass = props.summaryClass ?? "rv-DetailsDisclosure-summary", panelClass = props.panelClass ?? "rv-DetailsDisclosure-panel";
10
+ return (<details {...dom} id={idProp} class={className ?? "rv-DetailsDisclosure"} name={group} open={defaultExpanded}>
11
+ <summary class={summaryClass}>{props.title}</summary>
12
+ <div class={panelClass}>{props.children}</div>
13
+ </details>);
14
+ }
@@ -0,0 +1,92 @@
1
+ import { type Signal } from "@rivetjs/reactivity";
2
+ import type { Content } from "@rivetjs/runtime/jsx-runtime";
3
+ import { type ClassNameOrFunction, type ContextValue, type RefValue, type SlotProps, type StyleOrFunction } from "../slots/index.jsx";
4
+ import { type DOMRenderProps } from "../utils/render.js";
5
+ import { type GlobalDOMAttributes } from "../utils/dom-props.js";
6
+ import { allowsMultiple, createDisclosureGroupState, createDisclosureState, closeAll, openAll, type DisclosureGroupProps as StatelyDisclosureGroupProps, type DisclosureGroupState, type DisclosureState, type Key } from "../state/disclosure.js";
7
+ export type { DisclosureGroupState, DisclosureState, Key };
8
+ export { allowsMultiple, createDisclosureGroupState, createDisclosureState, openAll, closeAll };
9
+ export { DetailsDisclosure, type DetailsDisclosureProps } from "./details.jsx";
10
+ export interface DisclosureGroupRenderProps {
11
+ /** Whether the disclosure group is disabled. @selector [data-disabled] */
12
+ isDisabled: boolean;
13
+ /** State of the disclosure group. */
14
+ state: DisclosureGroupState;
15
+ }
16
+ export interface DisclosureGroupProps extends StatelyDisclosureGroupProps, SlotProps, DOMRenderProps<"div", DisclosureGroupRenderProps>, Omit<GlobalDOMAttributes<HTMLDivElement>, "style"> {
17
+ /** The CSS class for the element. A function may be provided to compute the class based on component state. @default 'rv-DisclosureGroup' */
18
+ class?: ClassNameOrFunction<DisclosureGroupRenderProps>;
19
+ style?: StyleOrFunction<DisclosureGroupRenderProps>;
20
+ children?: Content | ((values: DisclosureGroupRenderProps & {
21
+ defaultChildren: Content | undefined;
22
+ }) => Content);
23
+ id?: string;
24
+ /** Rivet (Angular CDK accordion extra): an existing group state, e.g. for `openAll` / `closeAll` from outside the group. */
25
+ state?: DisclosureGroupState;
26
+ ref?: RefValue<HTMLDivElement>;
27
+ }
28
+ /** RAC `DisclosureGroupStateContext`. */
29
+ export declare const DisclosureGroupStateContext: import("@rivetjs/reactivity").Context<DisclosureGroupState | null>;
30
+ /** A DisclosureGroup is a grouping of related disclosures, sometimes called an accordion (RAC `DisclosureGroup`). */
31
+ export declare function DisclosureGroup(props: DisclosureGroupProps): import("@rivetjs/runtime/jsx-runtime").CompiledElement;
32
+ export interface DisclosureRenderProps {
33
+ /** Whether the disclosure is expanded. @selector [data-expanded] */
34
+ isExpanded: () => boolean;
35
+ /** Whether the disclosure has keyboard focus. @selector [data-focus-visible-within] */
36
+ isFocusVisibleWithin: () => boolean;
37
+ /** Whether the disclosure is disabled. @selector [data-disabled] */
38
+ isDisabled: boolean;
39
+ /** State of the disclosure. */
40
+ state: DisclosureState;
41
+ }
42
+ export interface DisclosureProps extends SlotProps, DOMRenderProps<"div", DisclosureRenderProps>, Omit<GlobalDOMAttributes<HTMLDivElement>, "style" | "id"> {
43
+ /** An id for the disclosure when used within a DisclosureGroup, matching the id used in `expandedKeys`. */
44
+ id?: Key;
45
+ /** Whether the disclosure is disabled. */
46
+ isDisabled?: boolean;
47
+ /** Whether the disclosure is expanded (controlled): a plain value or a two-way Signal. */
48
+ isExpanded?: boolean | Signal<boolean>;
49
+ /** Whether the disclosure is expanded by default (uncontrolled). */
50
+ defaultExpanded?: boolean;
51
+ /** Handler that is called when the disclosure's expanded state changes. */
52
+ onExpandedChange?: (isExpanded: boolean) => void;
53
+ /** Rivet (Angular CDK accordion item `opened`): called after the disclosure expands. */
54
+ onOpened?: () => void;
55
+ /** Rivet (Angular CDK accordion item `closed`): called after the disclosure collapses (also when the group collapses it). */
56
+ onClosed?: () => void;
57
+ /** Rivet (Angular CDK accordion item `destroyed`): called when the disclosure is removed (client-rendered). */
58
+ onDestroyed?: () => void;
59
+ /** The CSS class for the element. A function may be provided to compute the class based on component state. @default 'rv-Disclosure' */
60
+ class?: ClassNameOrFunction<DisclosureRenderProps>;
61
+ style?: StyleOrFunction<DisclosureRenderProps>;
62
+ children?: Content | ((values: DisclosureRenderProps & {
63
+ defaultChildren: Content | undefined;
64
+ }) => Content);
65
+ ref?: RefValue<HTMLDivElement>;
66
+ }
67
+ /** RAC `DisclosureContext`. */
68
+ export declare const DisclosureContext: import("@rivetjs/reactivity").Context<ContextValue<DisclosureProps, HTMLDivElement>>;
69
+ /** RAC `DisclosureStateContext`. */
70
+ export declare const DisclosureStateContext: import("@rivetjs/reactivity").Context<DisclosureState | null>;
71
+ /** A disclosure is a collapsible section of content (RAC `Disclosure`). */
72
+ export declare function Disclosure(inProps: DisclosureProps): import("@rivetjs/runtime/jsx-runtime").CompiledElement;
73
+ export interface DisclosurePanelRenderProps {
74
+ /** Whether keyboard focus is within the disclosure panel. @selector [data-focus-visible-within] */
75
+ isFocusVisibleWithin: () => boolean;
76
+ }
77
+ export interface DisclosurePanelProps extends DOMRenderProps<"div", DisclosurePanelRenderProps>, Omit<GlobalDOMAttributes<HTMLDivElement>, "style"> {
78
+ /** The accessibility role for the disclosure's panel. @default 'group' */
79
+ role?: "group" | "region";
80
+ id?: string;
81
+ "aria-label"?: string;
82
+ "aria-labelledby"?: string;
83
+ /** The CSS class for the element. @default 'rv-DisclosurePanel' */
84
+ class?: ClassNameOrFunction<DisclosurePanelRenderProps>;
85
+ style?: StyleOrFunction<DisclosurePanelRenderProps>;
86
+ children?: Content | ((values: DisclosurePanelRenderProps & {
87
+ defaultChildren: Content | undefined;
88
+ }) => Content);
89
+ ref?: RefValue<HTMLDivElement>;
90
+ }
91
+ /** A DisclosurePanel provides the content for a disclosure (RAC `DisclosurePanel`). */
92
+ export declare function DisclosurePanel(props: DisclosurePanelProps): import("@rivetjs/runtime/jsx-runtime").CompiledElement;