@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,496 @@
1
+ // Ported from @malva-ui/scheduler (src/lib/scheduler/scheduler.ts models, computeds and public methods,
2
+ // src/lib/scheduler/scheduler-context.ts `commitChange` / `announce`), MIT, © 2026 Malva UI.
3
+ // Rivet:
4
+ // - Angular `model()` / `input()` / `computed()` on a component class → `createSchedulerState(props)`: plain data
5
+ // (region state) of `controllable` values (`events`, `view`, `date`), the caller's option values / accessors as
6
+ // given (never wrapped: closures built in a `.ts` module do not resume) and interaction signals holding strings /
7
+ // numbers only. Derived values are pure free functions over the state (`schedulerVisibleRange(state)`,
8
+ // `schedulerTitle(state)`, `schedulerMonthLayout(…)`, …); components memoize them in `computed`s of their own
9
+ // (`.tsx`, resumable), so the server-rendered layout is rebuilt from serialized inputs.
10
+ // - Methods → free functions: `next()` → `schedulerNext(state)`, `previous()` → `schedulerPrevious`, `goToToday()` →
11
+ // `schedulerToday`, `goTo(d)` → `schedulerGoTo`, `setView(v)` → `schedulerSetView`, `scrollToTime(t)` →
12
+ // `schedulerScrollToTime`; `commitChange(kind, normalized, next, source)` → `commitChange(state, change)`.
13
+ // - `MlvDateAdapter` → integer layout (`dates.ts`); written-back dates keep the form of the value they replace.
14
+ // - Announcements: malva's two alternating polite regions → `announcement` signal pair (`schedulerAnnounce`), the
15
+ // root renders them (kept over the cdk `announcer`, T8 ruling: server-rendered regions exist before the first
16
+ // message — no Safari 100 ms creation skip — and a repeat is still a change, the two-slot rule).
17
+ // Deviation: `onVisibleRangeChange` fires when a state function moves the range bounds (toolbar, keys, API) — not on
18
+ // init (the initial range belongs to the route loader: no client work at load) and not for writes the caller makes
19
+ // to its own `date` / `view` signal (the caller made that change).
20
+ import { signal, untrack, _regionState } from "@rivetjs/reactivity";
21
+ import { DEV, devWhere } from "#dev";
22
+ import { controllable, controlledValue, setControlledValue } from "../interactions/controllable.js";
23
+ import { CalendarDate } from "../date/CalendarDate.js";
24
+ import { getDayOfWeek, getLocalTimeZone, isWeekend } from "../date/queries.js";
25
+ import { addCalendarMonths, civilFromDay, dayFromCivil, dayOf, dayOfWeek, formatDay, formatWall, fromLayout, minuteOf, todayDay, toWallMinutes, } from "./dates.js";
26
+ import { assignLanes, clusterColumns, computeVisibleRange, layoutRow, nextVisibleDate, normalizeEvents, rowLength as computeRowLength, sliceColumns, sliceRows, visibleDays, } from "./layout.js";
27
+ import { schedulerString, schedulerStrings } from "./intl.js";
28
+ import { MINUTES_PER_DAY, parseTime } from "./time.js";
29
+ import { schedulerDaysKey, schedulerSelectionBounds } from "./selection.js";
30
+ export * from "./selection.js";
31
+ const read = (value) => (typeof value === "function" ? value() : value);
32
+ /** Lanes per month row / all-day band when `visibleLanes` is `"auto"` (malva's fallback before measuring). */
33
+ export const DEFAULT_VISIBLE_LANES = 3;
34
+ const isServer = () => typeof document === "undefined";
35
+ /** Creates the scheduler state (region state: a re-created region of a resumed page keeps it). */
36
+ export function createSchedulerState(props = {}) {
37
+ return _regionState(() => {
38
+ const { events, defaultEvents, onEventsChange, view, defaultView, onViewChange, date, defaultDate, onDateChange, canMove, canResize, onEventMove, onEventResize, onVisibleRangeChange, onRangeSelect, onExternalDrop, onEventAction, onEventDoubleClick, onEventContextMenu, onEventDelete, onSlotAction, onSlotDoubleClick, onSlotContextMenu, ...options } = props;
39
+ const given = untrack(() => read(options.timeZone));
40
+ const zone = defaultTimeZone();
41
+ if (DEV && given === undefined && isServer() && !warnedZone) {
42
+ warnedZone = true;
43
+ console.warn('[rivet:cdk] scheduler: no `timeZone` on a server-rendered Scheduler: the page lays out in "UTC" (the server\'s ' +
44
+ "default, kept on the resumed page). Pass `timeZone` (e.g. the user's zone from a cookie) for local time." +
45
+ devWhere());
46
+ }
47
+ const timeZone = given ?? zone;
48
+ return {
49
+ events: controllable(events, defaultEvents ?? [], onEventsChange),
50
+ view: controllable(view, defaultView ?? "month", onViewChange),
51
+ date: controllable(date, defaultDate ?? todayString(timeZone), onDateChange),
52
+ options,
53
+ zone,
54
+ canMove,
55
+ canResize,
56
+ onEventMove,
57
+ onEventResize,
58
+ onVisibleRangeChange,
59
+ onRangeSelect,
60
+ onExternalDrop,
61
+ onEventAction,
62
+ onEventDoubleClick,
63
+ onEventContextMenu,
64
+ onEventDelete,
65
+ onSlotAction,
66
+ onSlotDoubleClick,
67
+ onSlotContextMenu,
68
+ selection: signal(null),
69
+ dragPreview: signal(null),
70
+ dragging: signal(false),
71
+ scrollRequest: signal(null),
72
+ pendingFocus: signal(null),
73
+ popoverDay: signal(null),
74
+ announcement: signal(["", ""]),
75
+ };
76
+ });
77
+ }
78
+ let warnedZone = false;
79
+ function defaultTimeZone() {
80
+ return isServer() ? "UTC" : getLocalTimeZone();
81
+ }
82
+ function todayString(timeZone) {
83
+ const [y, m, d] = civilFromDay(todayDay(timeZone));
84
+ return new CalendarDate(y, m, d).toString();
85
+ }
86
+ // ─── Options ───────────────────────────────────────────────────────────────
87
+ /** The layout zone: `timeZone`, else the zone resolved when the state was created (`state.zone`). */
88
+ export function schedulerTimeZone(state) {
89
+ return read(state.options.timeZone) ?? state.zone;
90
+ }
91
+ /** The locale. */
92
+ export function schedulerLocale(state) {
93
+ return read(state.options.locale) ?? "en-US";
94
+ }
95
+ const DAY_OF_WEEK = { sun: 0, mon: 1, tue: 2, wed: 3, thu: 4, fri: 5, sat: 6 };
96
+ const localeWeek = new Map();
97
+ function weekInfo(locale) {
98
+ let info = localeWeek.get(locale);
99
+ if (!info) {
100
+ // 1970-01-04 is a Sunday (weekday 0).
101
+ const sunday = new CalendarDate(1970, 1, 4);
102
+ const first = (7 - getDayOfWeek(sunday, locale)) % 7;
103
+ const weekend = [];
104
+ for (let i = 0; i < 7; i++)
105
+ if (isWeekend(sunday.add({ days: i }), locale))
106
+ weekend.push(i);
107
+ if (localeWeek.size >= 64)
108
+ localeWeek.clear();
109
+ localeWeek.set(locale, (info = { first, weekend }));
110
+ }
111
+ return info;
112
+ }
113
+ /** First day of the week, 0 = Sunday (`firstDayOfWeek` or the locale's). */
114
+ export function schedulerFirstDay(state) {
115
+ const first = read(state.options.firstDayOfWeek);
116
+ return first ? DAY_OF_WEEK[first] : weekInfo(schedulerLocale(state)).first;
117
+ }
118
+ /** Weekend weekdays (`weekendDays` or the locale's). */
119
+ export function schedulerWeekendDays(state) {
120
+ return read(state.options.weekendDays) ?? weekInfo(schedulerLocale(state)).weekend;
121
+ }
122
+ /** `hiddenDays` (raw; layout functions repair it). */
123
+ export function schedulerHiddenDays(state) {
124
+ return read(state.options.hiddenDays) ?? [];
125
+ }
126
+ /** Slot duration in minutes. */
127
+ export function schedulerSlotDuration(state) {
128
+ return read(state.options.slotDuration) ?? 30;
129
+ }
130
+ /** Effective snap: `snapDuration` or `slotDuration`. */
131
+ export function schedulerSnap(state) {
132
+ return read(state.options.snapDuration) ?? schedulerSlotDuration(state);
133
+ }
134
+ /** `defaultEventDuration` in minutes. */
135
+ export function schedulerDefaultDuration(state) {
136
+ return read(state.options.defaultEventDuration) ?? 60;
137
+ }
138
+ /** Lane cap of month rows (the time grid's all-day band never collapses: it passes `Infinity`). */
139
+ export function schedulerVisibleLanes(state) {
140
+ const lanes = read(state.options.visibleLanes);
141
+ return lanes === undefined || lanes === "auto" ? DEFAULT_VISIBLE_LANES : lanes;
142
+ }
143
+ /** Whether move / resize / delete are allowed (scheduler level). */
144
+ export function schedulerEditable(state) {
145
+ return !read(state.options.isReadOnly);
146
+ }
147
+ /** Whether the now-line / today highlight shows. */
148
+ export function schedulerShowsCurrentTime(state) {
149
+ return read(state.options.showCurrentTime) ?? true;
150
+ }
151
+ /**
152
+ * `[minTime, maxTime)` as minutes of day, validated as one pair: a window that is not strictly ascending would write
153
+ * `NaN%` / `Infinity%` geometry, so it fails loudly (malva text).
154
+ */
155
+ export function schedulerTimeWindow(state) {
156
+ const minTime = read(state.options.minTime) ?? "00:00";
157
+ const maxTime = read(state.options.maxTime) ?? "24:00";
158
+ const min = parseTime(minTime);
159
+ const max = parseTime(maxTime);
160
+ if (max <= min)
161
+ throw new Error(`[rivet:cdk] scheduler: Invalid scheduler time window "${minTime}"–"${maxTime}". minTime must be earlier than maxTime.`);
162
+ return { min, max };
163
+ }
164
+ /** Resolved strings (locale table + `strings` overrides). */
165
+ export function schedulerStringTable(state) {
166
+ return schedulerStrings(schedulerLocale(state), read(state.options.strings));
167
+ }
168
+ /** One translated message (`schedulerString` over the resolved table). */
169
+ export function schedulerTranslate(state, key, vars) {
170
+ return schedulerString(schedulerStringTable(state), key, vars, schedulerLocale(state));
171
+ }
172
+ // ─── Derived values (pure; components memoize them) ────────────────────────
173
+ /** Day number of the anchor date (today when it does not parse). */
174
+ export function schedulerAnchorDay(state, date = state.date.value()) {
175
+ const wall = toWallMinutes(date, schedulerTimeZone(state));
176
+ return wall === null ? todayDay(schedulerTimeZone(state)) : dayOf(wall);
177
+ }
178
+ /** The rendered period in day numbers. */
179
+ export function schedulerDayRange(state, view = state.view.value(), date) {
180
+ return computeVisibleRange(view, schedulerAnchorDay(state, date ?? state.date.value()), schedulerFirstDay(state));
181
+ }
182
+ /** The rendered period, dates in the form of the anchor date (malva public `visibleRange`). */
183
+ export function schedulerVisibleRange(state) {
184
+ return toDateRange(state, schedulerDayRange(state), state.date.value());
185
+ }
186
+ function toDateRange(state, range, like) {
187
+ const timeZone = schedulerTimeZone(state);
188
+ return { view: range.view, start: fromLayout(range.start, 0, like, timeZone, true), end: fromLayout(range.end, 0, like, timeZone, true) };
189
+ }
190
+ /**
191
+ * Days rendered by the active view, after `hiddenDays`. In the day view `hiddenDays` steers navigation but never
192
+ * blanks the grid: an anchor on a hidden weekday renders that day as asked.
193
+ */
194
+ export function schedulerDays(state, range = schedulerDayRange(state)) {
195
+ const days = visibleDays(range, schedulerHiddenDays(state));
196
+ return days.length === 0 && range.view === "day" ? visibleDays(range, []) : days;
197
+ }
198
+ /** Visible days per month week row. */
199
+ export function schedulerRowLength(state) {
200
+ return computeRowLength(schedulerHiddenDays(state));
201
+ }
202
+ /** Localized title: month-year, "Aug 31 – Sep 6, 2026", or the full day label. */
203
+ export function schedulerTitle(state) {
204
+ const locale = schedulerLocale(state);
205
+ const range = schedulerDayRange(state);
206
+ const anchor = schedulerAnchorDay(state);
207
+ switch (range.view) {
208
+ case "month":
209
+ return formatDay(anchor, locale, { month: "long", year: "numeric" });
210
+ case "week":
211
+ return (formatDay(range.start, locale, { day: "numeric", month: "short" }) +
212
+ " – " +
213
+ formatDay(range.end - 1, locale, { day: "numeric", month: "short", year: "numeric" }));
214
+ case "day":
215
+ return formatDay(anchor, locale, { weekday: "long", year: "numeric", month: "long", day: "numeric" });
216
+ }
217
+ }
218
+ /** `events` normalized (wall minutes in `timeZone`; unparsable dates dropped, dev warning once per event object). */
219
+ export function schedulerNormalizedEvents(state) {
220
+ const events = state.events.value();
221
+ const normalized = normalizeEvents(events, schedulerDefaultDuration(state), schedulerTimeZone(state));
222
+ if (DEV && normalized.length < events.length)
223
+ warnUnplaced(events, normalized);
224
+ return normalized;
225
+ }
226
+ let warned;
227
+ function warnUnplaced(events, normalized) {
228
+ const placed = new Set(normalized.map((n) => n.event));
229
+ for (const event of events) {
230
+ if (placed.has(event) || (warned ??= new WeakSet()).has(event))
231
+ continue;
232
+ warned.add(event);
233
+ console.warn(`[rivet:cdk] scheduler: event "${event.id}" is not shown: its start / end does not parse as a date (${String(event.start)} – ${String(event.end)}).` +
234
+ devWhere());
235
+ }
236
+ }
237
+ /** Ghost id suffix of the drag preview copy. */
238
+ export const GHOST_SUFFIX = "__rv-ghost";
239
+ /**
240
+ * `normalized` plus the drag preview ghost (a copy of the dragged event at its would-be dates, `ghost: true`, id
241
+ * suffixed with `GHOST_SUFFIX`) while a gesture is in flight.
242
+ */
243
+ export function schedulerWithPreview(state, normalized) {
244
+ const preview = state.dragPreview();
245
+ if (!preview)
246
+ return normalized;
247
+ const source = normalized.find((n) => n.event.id === preview.id);
248
+ if (!source)
249
+ return normalized;
250
+ const ghost = {
251
+ event: { ...source.event, id: source.event.id + GHOST_SUFFIX },
252
+ start: preview.start,
253
+ end: preview.end,
254
+ allDay: preview.allDay,
255
+ ghost: true,
256
+ };
257
+ return [...normalized, ghost];
258
+ }
259
+ /** Month rows → lane-packed segments with the lane budget applied (server-exact: no measurement). */
260
+ export function schedulerMonthLayout(events, days, rowLength, visibleLanes) {
261
+ const segments = sliceRows(events, days, rowLength, "all");
262
+ const byRow = [];
263
+ for (const segment of segments)
264
+ (byRow[Math.floor(segment.startIndex / rowLength)] ??= []).push(segment);
265
+ const rows = [];
266
+ for (let row = 0; row * rowLength < days.length; row++) {
267
+ const rowSegments = byRow[row] ?? [];
268
+ rows.push({
269
+ index: row,
270
+ startIndex: row * rowLength,
271
+ endIndex: Math.min(days.length, (row + 1) * rowLength) - 1,
272
+ segments: rowSegments,
273
+ layout: layoutRow(assignLanes(rowSegments), visibleLanes),
274
+ });
275
+ }
276
+ return rows;
277
+ }
278
+ /** Time-grid layout (lanes for all-day / ≥ 24 h events, clusters for timed ones). */
279
+ export function schedulerTimeGridLayout(events, days, window, visibleLanes) {
280
+ const lanes = assignLanes(sliceRows(events, days, Math.max(1, days.length), "lane"));
281
+ const columns = days.map(() => []);
282
+ for (const segment of clusterColumns(sliceColumns(events, days, window.min, window.max)))
283
+ columns[segment.dayIndex].push(segment);
284
+ return { allDay: layoutRow(lanes, visibleLanes), allDaySegments: lanes, columns };
285
+ }
286
+ /** ISO week number (Monday-based) of a day number — month grid week-number column. */
287
+ export function isoWeekNumber(day) {
288
+ const thursday = day - ((dayOfWeek(day) + 6) % 7) + 3;
289
+ const [year] = civilFromDay(thursday);
290
+ return Math.floor((thursday - dayFromCivil(year, 1, 1)) / 7) + 1;
291
+ }
292
+ // ─── Mutations (free functions) ────────────────────────────────────────────
293
+ function emitRange(state, before) {
294
+ const view = controlledValue(state.view);
295
+ const date = controlledValue(state.date);
296
+ const after = schedulerDayRange(state, view, date);
297
+ if (after.view === before.view && after.start === before.start && after.end === before.end)
298
+ return;
299
+ state.onVisibleRangeChange?.(toDateRange(state, after, date));
300
+ // The single place a period change is announced (malva `_announceRange`): title of the range that just won.
301
+ schedulerAnnounce(state, schedulerTranslate(state, "rangeChanged", { period: titleFor(state, after, date) }));
302
+ }
303
+ function titleFor(state, range, date) {
304
+ const locale = schedulerLocale(state);
305
+ const anchor = schedulerAnchorDay(state, date);
306
+ return range.view === "month"
307
+ ? formatDay(anchor, locale, { month: "long", year: "numeric" })
308
+ : range.view === "week"
309
+ ? formatDay(range.start, locale, { day: "numeric", month: "short" }) +
310
+ " – " +
311
+ formatDay(range.end - 1, locale, { day: "numeric", month: "short", year: "numeric" })
312
+ : formatDay(anchor, locale, { weekday: "long", year: "numeric", month: "long", day: "numeric" });
313
+ }
314
+ function withRange(state, change) {
315
+ const before = untrack(() => schedulerDayRange(state, controlledValue(state.view), controlledValue(state.date)));
316
+ change();
317
+ untrack(() => emitRange(state, before));
318
+ }
319
+ /** Jumps to `date` (the period containing it becomes visible). */
320
+ export function schedulerGoTo(state, date) {
321
+ withRange(state, () => setControlledValue(state.date, date));
322
+ }
323
+ /** Switches the view. A switch to the month drops a pending `schedulerScrollToTime` request (no grid to apply it). */
324
+ export function schedulerSetView(state, view) {
325
+ withRange(state, () => setControlledValue(state.view, view));
326
+ if (view === "month" && untrack(state.scrollRequest))
327
+ state.scrollRequest.set(null);
328
+ }
329
+ /** Jumps to today (written in the form of the current anchor). */
330
+ export function schedulerToday(state) {
331
+ const like = untrack(() => controlledValue(state.date));
332
+ schedulerGoTo(state, fromLayout(todayDay(schedulerTimeZone(state)), 0, like, schedulerTimeZone(state), true));
333
+ }
334
+ /** Moves one period forward (month / week / day per `view`). */
335
+ export function schedulerNext(state) {
336
+ step(state, 1);
337
+ }
338
+ /** Moves one period back. */
339
+ export function schedulerPrevious(state) {
340
+ step(state, -1);
341
+ }
342
+ function step(state, direction) {
343
+ untrack(() => {
344
+ const date = controlledValue(state.date);
345
+ const timeZone = schedulerTimeZone(state);
346
+ const wall = toWallMinutes(date, timeZone) ?? todayDay(timeZone) * MINUTES_PER_DAY;
347
+ const day = dayOf(wall);
348
+ let next;
349
+ switch (controlledValue(state.view)) {
350
+ case "month":
351
+ next = addCalendarMonths(day, direction);
352
+ break;
353
+ case "week":
354
+ next = day + 7 * direction;
355
+ break;
356
+ case "day":
357
+ // A single-day range on a hidden weekday would render nothing, so the day view steps over them.
358
+ next = nextVisibleDate(day, direction, schedulerHiddenDays(state));
359
+ break;
360
+ }
361
+ schedulerGoTo(state, fromLayout(next, minuteOf(wall), date, timeZone));
362
+ });
363
+ }
364
+ /**
365
+ * Scrolls the time grid so `time` (`"HH:mm"`) sits at the top. No-op in the settled month view: a request still
366
+ * standing at the end of the task while the month shows is dropped (malva rule); a switch to week / day in the same
367
+ * task still wins.
368
+ */
369
+ export function schedulerScrollToTime(state, time) {
370
+ const sequence = (untrack(state.scrollRequest)?.sequence ?? 0) + 1;
371
+ state.scrollRequest.set({ time, sequence });
372
+ // The settled view decides (malva constructor effect), not the view at call time: a switch to week / day written
373
+ // after this call in the same task still wins, a month that is still showing once the task settles drops it — a
374
+ // request left standing would beat the next time grid's documented initial scroll. No load-time effect: the month
375
+ // view stays boot-free.
376
+ queueMicrotask(() => untrack(() => {
377
+ if (controlledValue(state.view) === "month" && state.scrollRequest()?.sequence === sequence)
378
+ state.scrollRequest.set(null);
379
+ }));
380
+ }
381
+ /** Time grid → state: clears the request it applied (a newer request survives). */
382
+ export function consumeScrollRequest(state, sequence) {
383
+ const current = untrack(state.scrollRequest);
384
+ if (current && current.sequence === sequence)
385
+ state.scrollRequest.set(null);
386
+ }
387
+ // ─── Range selection ───────────────────────────────────────────────────────
388
+ /**
389
+ * The selection as a half-open wall-minute range (malva `_selectionRange`): all-day = midnight of the first day →
390
+ * midnight after the last; timed = first slot start → end of the last slot, capped at `maxTime` (24:00 = the next
391
+ * day's midnight).
392
+ */
393
+ export function schedulerSelectionRange(state, bounds) {
394
+ return untrack(() => {
395
+ const days = schedulerDays(state);
396
+ const first = days[Math.max(0, Math.min(days.length - 1, bounds.dayFrom))];
397
+ const last = days[Math.max(0, Math.min(days.length - 1, bounds.dayTo))];
398
+ if (bounds.allDay)
399
+ return { start: first * MINUTES_PER_DAY, end: (last + 1) * MINUTES_PER_DAY, allDay: true };
400
+ const end = Math.min(bounds.to + schedulerSlotDuration(state), schedulerTimeWindow(state).max);
401
+ return { start: first * MINUTES_PER_DAY + bounds.from, end: last * MINUTES_PER_DAY + end, allDay: false };
402
+ });
403
+ }
404
+ /** Wall minutes → the caller's date form (the anchor date's: string in → string out). */
405
+ export function schedulerDateOf(state, wall, allDay) {
406
+ return untrack(() => fromLayout(dayOf(wall), minuteOf(wall), state.date.value(), schedulerTimeZone(state), allDay));
407
+ }
408
+ /** Commits the pending selection as `onRangeSelect` and clears it (malva `_commitSelection`). */
409
+ export function commitSelection(state, source) {
410
+ untrack(() => {
411
+ const bounds = schedulerSelectionBounds(state.selection(), schedulerDays(state));
412
+ state.selection.set(null);
413
+ if (!bounds)
414
+ return;
415
+ const range = schedulerSelectionRange(state, bounds);
416
+ state.onRangeSelect?.({
417
+ start: schedulerDateOf(state, range.start, range.allDay),
418
+ end: schedulerDateOf(state, range.end, range.allDay),
419
+ allDay: range.allDay,
420
+ source,
421
+ });
422
+ });
423
+ }
424
+ /** Per-state live-region bookkeeping (runtime only, never region state): next slot + messages of this task. */
425
+ const liveSlots = new WeakMap();
426
+ /**
427
+ * Announces `message` politely (malva `announce`): written into the region the previous message did not use, the
428
+ * other one emptied, so a repeat of the same text is a change the screen reader speaks (two-slot rule). The second and
429
+ * further messages of one task keep the other region (they share one render: a keyboard move that also leaves the
430
+ * period announces the move and the new period, and clearing would drop the move).
431
+ */
432
+ export function schedulerAnnounce(state, message) {
433
+ const [first, second] = untrack(state.announcement);
434
+ let live = liveSlots.get(state);
435
+ if (!live)
436
+ liveSlots.set(state, (live = { slot: first ? 1 : 0, batch: 0 }));
437
+ const slot = live.slot;
438
+ const keepOther = live.batch > 0;
439
+ live.slot = slot === 0 ? 1 : 0;
440
+ if (live.batch++ === 0)
441
+ queueMicrotask(() => (live.batch = 0));
442
+ state.announcement.set(slot === 0 ? [message, keepOther ? second : ""] : [keepOther ? first : "", message]);
443
+ }
444
+ /**
445
+ * Applies a move / resize: the veto hook decides (`false` → `moveRejected` announced, nothing written), else the
446
+ * event is replaced in a new array (`onEventsChange` / the Signal), `onEventMove` / `onEventResize` fire and the
447
+ * change is announced. Dates are written in the form of the values they replace. Returns whether it was applied.
448
+ */
449
+ export function commitChange(state, change) {
450
+ return untrack(() => {
451
+ const list = controlledValue(state.events);
452
+ const current = list.find((event) => event.id === change.normalized.event.id);
453
+ if (!current)
454
+ return false;
455
+ const timeZone = schedulerTimeZone(state);
456
+ const { next } = change;
457
+ const range = {
458
+ start: fromLayout(dayOf(next.start), minuteOf(next.start), current.start, timeZone, next.allDay),
459
+ end: fromLayout(dayOf(next.end), minuteOf(next.end), current.end, timeZone, next.allDay),
460
+ allDay: next.allDay,
461
+ };
462
+ const hook = change.kind === "move" ? state.canMove : state.canResize;
463
+ if (hook && !hook(current, range)) {
464
+ schedulerAnnounce(state, schedulerTranslate(state, "moveRejected", { title: current.title }));
465
+ return false;
466
+ }
467
+ const updated = { ...current, start: range.start, end: range.end, allDay: range.allDay };
468
+ setControlledValue(state.events, list.map((event) => (event.id === updated.id ? updated : event)));
469
+ const previous = { start: current.start, end: current.end, allDay: change.normalized.allDay };
470
+ const payload = { event: updated, previous, source: change.source };
471
+ const locale = schedulerLocale(state);
472
+ if (change.kind === "move") {
473
+ state.onEventMove?.(payload);
474
+ const start = next.allDay ? dateLabel(dayOf(next.start), locale) : dateTimeLabel(next.start, locale);
475
+ schedulerAnnounce(state, schedulerTranslate(state, "eventMoved", { title: updated.title, start }));
476
+ }
477
+ else {
478
+ state.onEventResize?.(payload);
479
+ const end = next.allDay ? dateLabel(dayOf(next.end) - 1, locale) : dateTimeLabel(next.end, locale);
480
+ schedulerAnnounce(state, schedulerTranslate(state, "eventResized", { title: updated.title, end }));
481
+ }
482
+ return true;
483
+ });
484
+ }
485
+ /** Full date label (malva `getDateLabel`). */
486
+ export function dateLabel(day, locale) {
487
+ return formatDay(day, locale, { weekday: "long", year: "numeric", month: "long", day: "numeric" });
488
+ }
489
+ /** Time of day (malva `formatTime`, e.g. "9:30 AM"). */
490
+ export function timeLabel(wall, locale) {
491
+ return formatWall(wall, locale, { hour: "numeric", minute: "2-digit" });
492
+ }
493
+ /** Date + time (malva `formatDateTime`), used whenever a label crosses a day boundary. */
494
+ export function dateTimeLabel(wall, locale) {
495
+ return formatWall(wall, locale, { month: "short", day: "numeric", hour: "numeric", minute: "2-digit" });
496
+ }
@@ -0,0 +1,32 @@
1
+ import { type Signal } from "@rivetjs/reactivity";
2
+ import type { SchedulerState } from "./state.js";
3
+ /**
4
+ * Pixel offset that puts `minutes` at the top of the viewport (malva `scrollOffsetFor`). `headroomPx` = pixels kept
5
+ * above the target (half an hour label top-aligned, half the visible region centred); clamped at `0`.
6
+ */
7
+ export declare function scrollOffsetFor(minutes: number, minMinutes: number, slotDuration: number, slotHeightPx: number, headroomPx?: number): number;
8
+ /** `08:00`, or the business-hours start (malva `_initialMinutes`). */
9
+ export declare function initialMinutes(businessStart: string | undefined): number;
10
+ /** Clamps to the rendered rows and snaps down to a slot start (malva `_snapToSlot`). */
11
+ export declare function snapToSlot(minutes: number, min: number, max: number, slotDuration: number): number;
12
+ interface Axis {
13
+ min: number;
14
+ max: number;
15
+ slot: number;
16
+ }
17
+ /**
18
+ * Scrolls the time grid (malva `_scrollTo`): `"start"` snaps down to the owning slot and keeps half an hour label of
19
+ * headroom (the label straddles its line); `"center"` keeps the exact minute and centres it in the region below the
20
+ * sticky header + all-day band. Nothing measurable → no-op.
21
+ */
22
+ export declare function scrollTimeGrid(scroller: HTMLElement, minutes: number, axis: Axis, align?: "start" | "center"): void;
23
+ export interface SchedulerTimeGridClientProps {
24
+ state: SchedulerState<any>;
25
+ /** The scroll container (`.rv-SchedulerTimeGrid-scroller`). */
26
+ scroller: () => HTMLElement | undefined | null;
27
+ /** Wall minutes of the clock (region signal of the grid; `null` until the first tick). */
28
+ now: Signal<number | null>;
29
+ }
30
+ /** Client effects of the time grid (internal; renders nothing). */
31
+ export declare function SchedulerTimeGridClient(props: SchedulerTimeGridClientProps): null;
32
+ export {};
@@ -0,0 +1,133 @@
1
+ // Ported from @malva-ui/scheduler (src/lib/time-grid/scheduler-time-grid.ts `scrollOffsetFor`, `_initialMinutes`,
2
+ // `_snapToSlot`, `_scrollTo`, the initial-scroll + `scrollRequest` `afterRenderEffect`s; src/lib/scheduler/scheduler.ts
3
+ // minute tick), MIT, © 2026 Malva UI.
4
+ // Rivet: the time grid's only load-time client work, in a leaf module (its chunk imports reactivity, `time.ts` and the
5
+ // zone lookup only — never the view's render graph, `docs/guides/resumability.md` "App guidance"):
6
+ // - initial scroll: one `clientEffect` re-applied when the view / `minTime` / `maxTime` / `slotDuration` /
7
+ // `scrollToCurrentTime` change (week ↔ day reuse one grid, malva rule);
8
+ // - `schedulerScrollToTime` request: applied once, then consumed (registered after the initial scroll: the later
9
+ // writer wins in the same tick, malva rule);
10
+ // - the minute clock behind the now-line (`when: "visible"`, ticks only while `showCurrentTime` is on and the tab is
11
+ // visible (`visibilitychange`); never imports drag code; the server
12
+ // renders no now-line, so no stale time sits in the HTML).
13
+ import { untrack } from "@rivetjs/reactivity";
14
+ import { clientEffect } from "@rivetjs/runtime/dom";
15
+ import { now as zonedNow } from "../date/queries.js";
16
+ import { MINUTES_PER_DAY, parseTime, slotCount } from "./time.js";
17
+ /**
18
+ * Pixel offset that puts `minutes` at the top of the viewport (malva `scrollOffsetFor`). `headroomPx` = pixels kept
19
+ * above the target (half an hour label top-aligned, half the visible region centred); clamped at `0`.
20
+ */
21
+ export function scrollOffsetFor(minutes, minMinutes, slotDuration, slotHeightPx, headroomPx = 0) {
22
+ return Math.max(0, ((minutes - minMinutes) / slotDuration) * slotHeightPx - headroomPx);
23
+ }
24
+ /** `08:00`, or the business-hours start (malva `_initialMinutes`). */
25
+ export function initialMinutes(businessStart) {
26
+ return businessStart ? parseTime(businessStart) : 8 * 60;
27
+ }
28
+ /** Clamps to the rendered rows and snaps down to a slot start (malva `_snapToSlot`). */
29
+ export function snapToSlot(minutes, min, max, slotDuration) {
30
+ const last = min + (slotCount(min, max, slotDuration) - 1) * slotDuration;
31
+ const clamped = Math.min(last, Math.max(min, minutes));
32
+ return min + Math.floor((clamped - min) / slotDuration) * slotDuration;
33
+ }
34
+ const read = (value) => (typeof value === "function" ? value() : value);
35
+ function axisOf(state) {
36
+ const options = state.options;
37
+ return { min: parseTime(read(options.minTime) ?? "00:00"), max: parseTime(read(options.maxTime) ?? "24:00"), slot: read(options.slotDuration) ?? 30 };
38
+ }
39
+ /** Minutes of day of the wall clock in the scheduler zone. */
40
+ function nowMinutes(state) {
41
+ const n = zonedNow(read(state.options.timeZone) ?? state.zone);
42
+ return n.hour * 60 + n.minute;
43
+ }
44
+ /** The current wall minutes (`day * 1440 + minute`) in the scheduler zone. */
45
+ function nowWallMinutes(state) {
46
+ const n = zonedNow(read(state.options.timeZone) ?? state.zone);
47
+ return Math.floor(Date.UTC(n.year, n.month - 1, n.day) / 86_400_000) * MINUTES_PER_DAY + n.hour * 60 + n.minute;
48
+ }
49
+ /**
50
+ * Scrolls the time grid (malva `_scrollTo`): `"start"` snaps down to the owning slot and keeps half an hour label of
51
+ * headroom (the label straddles its line); `"center"` keeps the exact minute and centres it in the region below the
52
+ * sticky header + all-day band. Nothing measurable → no-op.
53
+ */
54
+ export function scrollTimeGrid(scroller, minutes, axis, align = "start") {
55
+ const slot = scroller.querySelector(".rv-SchedulerTimeGrid-slot");
56
+ if (!slot)
57
+ return;
58
+ if (align === "center") {
59
+ const top = scroller.querySelector(".rv-SchedulerTimeGrid-top");
60
+ const target = Math.min(axis.max, Math.max(axis.min, minutes));
61
+ scroller.scrollTop = scrollOffsetFor(target, axis.min, axis.slot, slot.offsetHeight, (scroller.clientHeight + (top?.offsetHeight ?? 0)) / 2);
62
+ return;
63
+ }
64
+ const label = scroller.querySelector(".rv-SchedulerTimeGrid-hour");
65
+ scroller.scrollTop = scrollOffsetFor(snapToSlot(minutes, axis.min, axis.max, axis.slot), axis.min, axis.slot, slot.offsetHeight, (label?.offsetHeight ?? 0) / 2);
66
+ }
67
+ /** Client effects of the time grid (internal; renders nothing). */
68
+ export function SchedulerTimeGridClient(props) {
69
+ const state = props.state;
70
+ const scroller = props.scroller;
71
+ const now = props.now;
72
+ // Initial scroll, re-applied when the axis or the view changes. The clock is read here, untracked, not through the
73
+ // now-line signal (malva rule: a hidden line never ticks, so its minute would be stale).
74
+ clientEffect(() => {
75
+ const element = scroller();
76
+ state.view.value();
77
+ const axis = axisOf(state);
78
+ const centre = !!read(state.options.scrollToCurrentTime);
79
+ const business = read(state.options.businessHours);
80
+ if (!element)
81
+ return;
82
+ untrack(() => {
83
+ const minutes = nowMinutes(state);
84
+ if (centre && minutes >= axis.min && minutes < axis.max)
85
+ scrollTimeGrid(element, minutes, axis, "center");
86
+ else
87
+ scrollTimeGrid(element, initialMinutes(business?.start), axis);
88
+ });
89
+ });
90
+ // `schedulerScrollToTime`: applied once by the live grid, then consumed; only the request is tracked.
91
+ clientEffect(() => {
92
+ const request = state.scrollRequest();
93
+ const element = scroller();
94
+ if (!request || !element)
95
+ return;
96
+ untrack(() => {
97
+ scrollTimeGrid(element, parseTime(request.time), axisOf(state));
98
+ if (untrack(state.scrollRequest)?.sequence === request.sequence)
99
+ state.scrollRequest.set(null);
100
+ });
101
+ });
102
+ // Minute clock of the now-line.
103
+ clientEffect(() => {
104
+ if (!(read(state.options.showCurrentTime) ?? true))
105
+ return void now.set(null);
106
+ const tick = () => now.set(nowWallMinutes(state));
107
+ let timeout;
108
+ let interval;
109
+ const stop = () => {
110
+ clearTimeout(timeout);
111
+ clearInterval(interval);
112
+ timeout = interval = undefined;
113
+ };
114
+ // Ticks on the minute while the tab is visible; a hidden tab runs no timer and catches up on its return.
115
+ const start = () => {
116
+ stop();
117
+ if (document.hidden)
118
+ return;
119
+ tick();
120
+ timeout = setTimeout(() => {
121
+ tick();
122
+ interval = setInterval(tick, 60_000);
123
+ }, 60_000 - (Date.now() % 60_000));
124
+ };
125
+ start();
126
+ document.addEventListener("visibilitychange", start);
127
+ return () => {
128
+ stop();
129
+ document.removeEventListener("visibilitychange", start);
130
+ };
131
+ }, { when: "visible" });
132
+ return null;
133
+ }