@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,26 @@
1
+ import { type DOMValue } from "@rivetjs/runtime/dom";
2
+ /** One slot row of a day column. */
3
+ export interface SchedulerTimeSlot {
4
+ /** Start, minutes of day. */
5
+ readonly minutes: number;
6
+ /** `"<date>, <time>"` (`slotLabel`). */
7
+ readonly label: string;
8
+ /** Outside `businessHours` (never set while `businessHours` is unset). */
9
+ readonly outsideBusiness: boolean;
10
+ /** Starts on a full hour. */
11
+ readonly hour: boolean;
12
+ }
13
+ /** One rendered day of the time grid (malva `MlvSchedulerTimeColumn`, day numbers instead of dates). */
14
+ export interface SchedulerTimeColumn {
15
+ readonly dayIndex: number;
16
+ readonly day: number;
17
+ /** Accessible name: the full date, `", today"` suffixed when it is. */
18
+ readonly label: string;
19
+ readonly weekday: string;
20
+ readonly dayNumber: string;
21
+ readonly today: boolean;
22
+ readonly weekend: boolean;
23
+ readonly slots: readonly SchedulerTimeSlot[];
24
+ }
25
+ /** Week / day time grid (internal part of `Scheduler`). */
26
+ export declare function SchedulerTimeGrid<T>(): DOMValue;
@@ -0,0 +1,266 @@
1
+ // Ported from @malva-ui/scheduler (src/lib/time-grid/scheduler-time-grid.ts + .html: labelled sheet group, header +
2
+ // all-day 2-row grid, one listbox of option slots per day, hour gutter, clustered timed chips, business-hours shading,
3
+ // now-line, roving tab stop default), MIT, © 2026 Malva UI.
4
+ // Rivet:
5
+ // - geometry as inline custom properties computed on the server (`--rv-scheduler-event-top` / `-height` / `-start` /
6
+ // `-width`, `--rv-scheduler-offset` of hour labels): the HTML is final, nothing measures before input.
7
+ // - client work = `SchedulerTimeGridClient` (leaf module): initial scroll + `scrollToTime` requests (boots by design,
8
+ // week / day only) and the minute clock (`visible`); the server renders no now-line.
9
+ // - roving tab stop = a region signal of `{ day, minutes }` (day number, not a column index) instead of malva's
10
+ // `linkedSignal`; a stop whose day leaves the range or whose slot leaves the window falls back to the default
11
+ // (today, else the first day, at the business start / 08:00 snapped to a rendered slot).
12
+ // - today: the root's day until the minute clock ticks, then the clock's (advances past midnight; the boot-free month
13
+ // keeps the day it rendered until its next recompute).
14
+ // - all-day band: lanes never collapse (malva, `layoutRow(…, Infinity)`), the band grows (`--rv-scheduler-all-day-lanes`).
15
+ // - Chip drag / resize: delegated `schedulerPress` on the sheet (T6, lazy `drag.ts`); the target is the slot under the
16
+ // floating clone's top edge. Range selection (T7): empty-slot presses go to the lazy `select.ts`; slots / all-day
17
+ // cells paint `state.selection` continuously (malva).
18
+ // - Keyboard, clicks, focus hand-off (T8): delegated on the sheet (`keys-time-grid.ts` / `keys.ts`, leaf chunks);
19
+ // timed chips carry their owning slot (`data-rv-slot`) so `Enter` / `Escape` / the hand-off are DOM lookups.
20
+ import { _regionState, computed, signal, untrack, useContext } from "@rivetjs/reactivity";
21
+ import { For, Show, ref as elementRef } from "@rivetjs/runtime/dom";
22
+ import { SchedulerContext } from "./context.jsx";
23
+ import { SchedulerEventChip } from "./event.jsx";
24
+ import { SchedulerTimeGridClient, initialMinutes, snapToSlot } from "./time-grid-client.jsx";
25
+ import { schedulerPress, timeGridFocusIn } from "./behaviour.js";
26
+ import { SCHEDULER_KEYS, chipFocusIn, chipFocusOut, schedulerInteraction } from "./keys.js";
27
+ import { timeGridKeyDown } from "./keys-time-grid.js";
28
+ import { formatDay, formatWall } from "./dates.js";
29
+ import { DEFAULT_BUSINESS_DAYS, MINUTES_PER_DAY, parseTime, slotCount } from "./time.js";
30
+ import { dateLabel, isCellSelected, schedulerSelectionBounds, schedulerSlotDuration, schedulerTimeGridLayout, schedulerTimeWindow, timeLabel, } from "./state.js";
31
+ const read = (value) => (typeof value === "function" ? value() : value);
32
+ const keep = (previous, next) => previous === next || next == null;
33
+ const sameNumbers = (a, b) => a.length === b.length && a.every((v, i) => v === b[i]);
34
+ const sameWindow = (a, b) => a.min === b.min && a.max === b.max;
35
+ const NO_LANES = Object.freeze([]);
36
+ const NO_COLUMNS = Object.freeze([]);
37
+ const percent = (value) => value + "%";
38
+ /** Week / day time grid (internal part of `Scheduler`). */
39
+ export function SchedulerTimeGrid() {
40
+ const ctx = useContext(SchedulerContext);
41
+ const state = ctx.state;
42
+ const scroller = elementRef();
43
+ const now = _regionState(() => signal(null));
44
+ const focus = _regionState(() => signal(null));
45
+ // Today follows the minute clock once it ticks (past midnight the header, `data-today` and the default tab stop move
46
+ // with the now-line); before the first tick (server, resumed page) it is the root's.
47
+ const today = computed(() => {
48
+ const base = ctx.today();
49
+ const wall = now();
50
+ return base === null || wall === null ? base : Math.floor(wall / MINUTES_PER_DAY);
51
+ });
52
+ const window = computed(() => schedulerTimeWindow(state), { equals: sameWindow });
53
+ const slotDuration = computed(() => schedulerSlotDuration(state));
54
+ const slots = computed(() => slotCount(window().min, window().max, slotDuration()));
55
+ // Minutes covered by the RENDERED rows (`slotCount` is a ceil): every percentage divides by this (malva rule).
56
+ const span = computed(() => slots() * slotDuration());
57
+ const business = computed(() => {
58
+ const hours = read(state.options.businessHours);
59
+ return hours ? { days: hours.days ?? DEFAULT_BUSINESS_DAYS, start: parseTime(hours.start), end: parseTime(hours.end) } : null;
60
+ });
61
+ const selection = computed(() => schedulerSelectionBounds(state.selection(), ctx.days()));
62
+ const layout = computed(() => schedulerTimeGridLayout(ctx.events(), ctx.days(), window(), Number.POSITIVE_INFINITY));
63
+ const dayKeys = computed(() => ctx.days().map((_day, index) => index), { equals: sameNumbers });
64
+ // Static scaffolding only (headers, labels, slots): free of the events, so a drag preview never rebuilds the
65
+ // `days × slots` labels (malva rule).
66
+ const columns = computed(() => {
67
+ const locale = ctx.locale();
68
+ const { min, max } = window();
69
+ const step = slotDuration();
70
+ const hours = business();
71
+ const todayDay = today();
72
+ const weekend = ctx.weekend();
73
+ return ctx.days().map((day, dayIndex) => {
74
+ const plain = dateLabel(day, locale);
75
+ const weekday = (day + 4) % 7;
76
+ const out = [];
77
+ for (let minutes = min; minutes < max; minutes += step)
78
+ out.push({
79
+ minutes,
80
+ label: ctx.t("slotLabel", { date: plain, time: timeLabel(day * MINUTES_PER_DAY + minutes, locale) }),
81
+ outsideBusiness: !!hours && !(hours.days.includes(weekday) && minutes >= hours.start && minutes < hours.end),
82
+ hour: minutes % 60 === 0,
83
+ });
84
+ return {
85
+ dayIndex,
86
+ day,
87
+ label: todayDay === day ? ctx.t("dayLabelToday", { date: plain }) : plain,
88
+ weekday: formatDay(day, locale, { weekday: "short" }),
89
+ dayNumber: formatDay(day, locale, { day: "numeric" }),
90
+ today: todayDay === day,
91
+ weekend: weekend.includes(weekday),
92
+ slots: out,
93
+ };
94
+ });
95
+ });
96
+ const lanesByDay = computed(() => {
97
+ const byDay = new Map();
98
+ for (const segment of layout().allDay.visible) {
99
+ const bucket = byDay.get(segment.startIndex);
100
+ if (bucket)
101
+ bucket.push(segment);
102
+ else
103
+ byDay.set(segment.startIndex, [segment]);
104
+ }
105
+ return byDay;
106
+ });
107
+ const allDayLanes = () => Math.max(1, layout().allDay.laneCount);
108
+ const hours = computed(() => {
109
+ const { min, max } = window();
110
+ const locale = ctx.locale();
111
+ const total = span();
112
+ const day = ctx.days()[0];
113
+ const out = [];
114
+ if (day === undefined)
115
+ return out;
116
+ for (let minutes = Math.ceil(min / 60) * 60; minutes < max; minutes += 60)
117
+ out.push({ minutes, label: formatWall(day * MINUTES_PER_DAY + minutes, locale, { hour: "numeric" }), offset: percent(((minutes - min) / total) * 100) });
118
+ return out;
119
+ });
120
+ const gridLabel = () => {
121
+ const days = ctx.days();
122
+ const locale = ctx.locale();
123
+ if (!days.length)
124
+ return "";
125
+ const first = dateLabel(days[0], locale);
126
+ return ctx.view() === "day"
127
+ ? ctx.t("gridLabel.day", { period: first })
128
+ : ctx.t("gridLabel.week", { period: first + " – " + dateLabel(days[days.length - 1], locale) });
129
+ };
130
+ // Now-line: the column of the clock's day, offset in percent of the rendered span; hidden outside the window.
131
+ const nowLine = computed(() => {
132
+ const wall = now();
133
+ if (wall === null || today() === null)
134
+ return null;
135
+ const dayIndex = ctx.days().indexOf(Math.floor(wall / MINUTES_PER_DAY));
136
+ const minutes = wall % MINUTES_PER_DAY;
137
+ const { min, max } = window();
138
+ if (dayIndex < 0 || minutes < min || minutes > max)
139
+ return null;
140
+ return { dayIndex, offset: percent(((minutes - min) / span()) * 100) };
141
+ });
142
+ // Today (read untracked: a clock value, malva rule) else the first day, at the initial scroll time.
143
+ const tabStop = computed(() => {
144
+ const days = ctx.days();
145
+ const { min, max } = window();
146
+ const step = slotDuration();
147
+ const focused = focus();
148
+ if (focused) {
149
+ const dayIndex = days.indexOf(focused.day);
150
+ const minutes = focused.minutes;
151
+ if (dayIndex >= 0 && (minutes === null || (minutes >= min && minutes < max && (minutes - min) % step === 0)))
152
+ return { dayIndex, minutes };
153
+ }
154
+ const current = untrack(today);
155
+ const todayIndex = current === null ? -1 : days.indexOf(current);
156
+ const start = read(state.options.businessHours)?.start;
157
+ return { dayIndex: Math.max(0, todayIndex), minutes: snapToSlot(initialMinutes(start), min, max, step) };
158
+ });
159
+ const isStop = (dayIndex, minutes) => {
160
+ const stop = tabStop();
161
+ return stop.dayIndex === dayIndex && stop.minutes === minutes;
162
+ };
163
+ return (<div class="rv-SchedulerTimeGrid" style={{
164
+ "--rv-scheduler-day-count": String(dayKeys().length),
165
+ "--rv-scheduler-slot-count": String(slots()),
166
+ "--rv-scheduler-all-day-lanes": String(allDayLanes()),
167
+ }}>
168
+ <div ref={scroller} class="rv-SchedulerTimeGrid-scroller" data-rv-scroller="" style={{ overflow: "auto", "overflow-anchor": "none" }}>
169
+ <div class="rv-SchedulerTimeGrid-sheet" role="group" aria-label={gridLabel()} style={{ "touch-action": "pan-x pan-y pinch-zoom", "user-select": "none", "-webkit-user-select": "none" }} data-rk={SCHEDULER_KEYS} onKeyDown={(e) => timeGridKeyDown(e, ctx)} onClick={(e) => schedulerInteraction("click", e, ctx)} onDblClick={(e) => schedulerInteraction("dblclick", e, ctx)} onContextMenu={(e) => schedulerInteraction("contextmenu", e, ctx)} onFocusIn={(e) => {
170
+ timeGridFocusIn(e, ctx.days(), focus);
171
+ chipFocusIn(e, ctx);
172
+ }} onFocusOut={(e) => chipFocusOut(e, ctx)} onMouseDown={(e) => schedulerPress(e, state)} onTouchStart={(e) => schedulerPress(e, state)} onPointerDown={(e) => schedulerPress(e, state)}>
173
+ <div class="rv-SchedulerTimeGrid-top" role="grid" aria-label={ctx.t("allDay")}>
174
+ <div class="rv-SchedulerTimeGrid-header" role="row">
175
+ <div class="rv-SchedulerTimeGrid-corner" role="presentation"/>
176
+ <For each={dayKeys} by={(i) => i}>
177
+ {(indexOf) => {
178
+ const dayIndex = indexOf();
179
+ const column = computed(() => columns()[dayIndex], { equals: keep });
180
+ return (<div class="rv-SchedulerTimeGrid-day-header" role="columnheader" aria-label={column().label} data-today={column().today ? "true" : undefined} data-weekend={column().weekend ? "true" : undefined}>
181
+ <span class="rv-SchedulerTimeGrid-weekday" aria-hidden="true">
182
+ {column().weekday}
183
+ </span>
184
+ <span class="rv-SchedulerTimeGrid-day-number" aria-hidden="true">
185
+ {column().dayNumber}
186
+ </span>
187
+ </div>);
188
+ }}
189
+ </For>
190
+ </div>
191
+ <div class="rv-SchedulerTimeGrid-all-day" role="row">
192
+ <div class="rv-SchedulerTimeGrid-all-day-label" role="presentation" aria-hidden="true">
193
+ {ctx.t("allDay")}
194
+ </div>
195
+ <For each={dayKeys} by={(i) => i}>
196
+ {(indexOf) => {
197
+ const dayIndex = indexOf();
198
+ const column = computed(() => columns()[dayIndex], { equals: keep });
199
+ const lanes = () => lanesByDay().get(dayIndex) ?? NO_LANES;
200
+ return (<div class="rv-SchedulerTimeGrid-all-day-cell" role="gridcell" aria-label={column().label} tabIndex={isStop(dayIndex, null) ? 0 : -1} data-rv-day-index={String(dayIndex)} data-rv-minutes="all-day" data-today={column().today ? "true" : undefined} data-weekend={column().weekend ? "true" : undefined} aria-selected={isCellSelected(selection(), dayIndex, null) ? "true" : undefined} data-selected={isCellSelected(selection(), dayIndex, null) ? "true" : undefined}>
201
+ <div class="rv-SchedulerTimeGrid-all-day-lanes">
202
+ <For each={lanes} by={(segment) => segment.key}>
203
+ {(segment) => (<SchedulerEventChip segment={() => segment()} lane={true} spanning={() => segment().endIndex > segment().startIndex} geometry={() => ({
204
+ "--rv-scheduler-lane": String(segment().lane + 1),
205
+ "--rv-scheduler-span": String(segment().endIndex - segment().startIndex + 1),
206
+ })}/>)}
207
+ </For>
208
+ </div>
209
+ </div>);
210
+ }}
211
+ </For>
212
+ </div>
213
+ </div>
214
+ <div class="rv-SchedulerTimeGrid-body" role="presentation">
215
+ <div class="rv-SchedulerTimeGrid-gutter" aria-hidden="true">
216
+ <For each={hours} by={(hour) => hour.minutes}>
217
+ {(hour) => (<span class="rv-SchedulerTimeGrid-hour" style={{ "--rv-scheduler-offset": hour().offset }}>
218
+ <bdi>{hour().label}</bdi>
219
+ </span>)}
220
+ </For>
221
+ </div>
222
+ <For each={dayKeys} by={(i) => i}>
223
+ {(indexOf) => {
224
+ const dayIndex = indexOf();
225
+ const column = computed(() => columns()[dayIndex], { equals: keep });
226
+ const slotsOf = () => column().slots;
227
+ const segments = () => layout().columns[dayIndex] ?? NO_COLUMNS;
228
+ return (<div class="rv-SchedulerTimeGrid-column" role="presentation" data-rv-day-index={String(dayIndex)} data-today={column().today ? "true" : undefined}>
229
+ <div class="rv-SchedulerTimeGrid-slots" role="listbox" aria-label={column().label} aria-multiselectable={ctx.selectable() ? "true" : undefined}>
230
+ <For each={slotsOf} by={(slot) => slot.minutes}>
231
+ {(slot) => (<div class="rv-SchedulerTimeGrid-slot" role="option" aria-label={slot().label} tabIndex={isStop(dayIndex, slot().minutes) ? 0 : -1} data-rv-day-index={String(dayIndex)} data-rv-minutes={String(slot().minutes)} data-outside-business={slot().outsideBusiness ? "true" : undefined} data-hour={slot().hour ? "true" : undefined} aria-selected={isCellSelected(selection(), dayIndex, slot().minutes) ? "true" : undefined} data-selected={isCellSelected(selection(), dayIndex, slot().minutes) ? "true" : undefined}/>)}
232
+ </For>
233
+ </div>
234
+ <div class="rv-SchedulerTimeGrid-events" role="presentation">
235
+ <For each={segments} by={(segment) => segment.key}>
236
+ {(segment) => (<SchedulerEventChip segment={() => segment()} lane={false} slot={() => {
237
+ // The slot owning the chip (malva `_owningSlotMinutes`): its start snapped down to a rendered row.
238
+ const { min } = window();
239
+ const step = slotDuration();
240
+ const last = min + (slots() - 1) * step;
241
+ return min + Math.floor((Math.min(last, segment().startMinutes) - min) / step) * step;
242
+ }} geometry={() => {
243
+ const s = segment();
244
+ const { min } = window();
245
+ const total = span();
246
+ return {
247
+ "--rv-scheduler-event-top": percent(((s.startMinutes - min) / total) * 100),
248
+ "--rv-scheduler-event-height": percent(((s.endMinutes - s.startMinutes) / total) * 100),
249
+ "--rv-scheduler-event-start": percent((s.column / s.columns) * 100),
250
+ "--rv-scheduler-event-width": percent(100 / s.columns),
251
+ };
252
+ }}/>)}
253
+ </For>
254
+ </div>
255
+ <Show when={() => nowLine()?.dayIndex === dayIndex}>
256
+ {() => <div class="rv-SchedulerTimeGrid-now" aria-hidden="true" style={{ "--rv-scheduler-offset": nowLine()?.offset }}/>}
257
+ </Show>
258
+ </div>);
259
+ }}
260
+ </For>
261
+ </div>
262
+ </div>
263
+ </div>
264
+ <SchedulerTimeGridClient state={state} scroller={scroller} now={now}/>
265
+ </div>);
266
+ }
@@ -0,0 +1,35 @@
1
+ /** Minutes in one calendar day. */
2
+ export declare const MINUTES_PER_DAY = 1440;
3
+ /** Weekdays (0 = Sunday) `SchedulerBusinessHours.days` defaults to. */
4
+ export declare const DEFAULT_BUSINESS_DAYS: readonly number[];
5
+ /** Parses `'HH:mm'` (two-digit hours, `'24:00'` allowed) into minutes of day. */
6
+ export declare function parseTime(value: string): number;
7
+ /**
8
+ * Rounds to the nearest multiple of `snap`. A non-positive `snap` means "no snapping", which still rounds to a
9
+ * whole minute: layout minutes are integers (written back through `fromLayout`, which takes whole minutes).
10
+ */
11
+ export declare function snapMinutes(minutes: number, snap: number): number;
12
+ /** Clamps into `[min, max]`. */
13
+ export declare function clampMinutes(minutes: number, min: number, max: number): number;
14
+ /**
15
+ * What the caller does with the minutes `minutesFromOffset` returns.
16
+ *
17
+ * - `'end'` — an edge. `maxMinutes` is legal: an event may end at the window's close, midnight included.
18
+ * - `'start'` — the start of a slot or of a dropped event. `maxMinutes` is **not** legal there: no slot starts at
19
+ * the window's close, and a start of `MINUTES_PER_DAY` rolls onto the next day. The ceiling drops one snap step
20
+ * below `maxMinutes`.
21
+ */
22
+ export type SchedulerOffsetBound = "start" | "end";
23
+ /**
24
+ * Maps a block offset inside a time column to snapped minutes of day. `offsetPx` is measured from the column's
25
+ * block-start edge; the column spans `[minMinutes, maxMinutes)` over `heightPx`.
26
+ *
27
+ * Snapping is relative to `minMinutes`, not to midnight, so an unaligned window (`08:15`–`18:15`) still snaps onto
28
+ * its own slot boundaries. Aligned windows are unaffected.
29
+ */
30
+ export declare function minutesFromOffset(offsetPx: number, heightPx: number, minMinutes: number, maxMinutes: number, snap: number, bound?: SchedulerOffsetBound): number;
31
+ /**
32
+ * Number of slot rows needed to cover `[minMinutes, maxMinutes)`. Throws on a non-positive `slotDuration`: the
33
+ * caller renders one row per slot, and a zero or negative duration makes that count infinite.
34
+ */
35
+ export declare function slotCount(minMinutes: number, maxMinutes: number, slotDuration: number): number;
@@ -0,0 +1,56 @@
1
+ // Ported from @malva-ui/scheduler (src/lib/layout/scheduler-time.ts), MIT, © 2026 Malva UI.
2
+ // Rivet:
3
+ // - `MlvSchedulerOffsetBound` → `SchedulerOffsetBound`; everything else 1:1 (names, throw texts, rounding rules).
4
+ // - Pure and server-safe: no DOM, no date objects (minutes of day only).
5
+ /** Minutes in one calendar day. */
6
+ export const MINUTES_PER_DAY = 1440;
7
+ /** Weekdays (0 = Sunday) `SchedulerBusinessHours.days` defaults to. */
8
+ export const DEFAULT_BUSINESS_DAYS = [1, 2, 3, 4, 5];
9
+ const TIME_PATTERN = /^([01]\d|2[0-4]):([0-5]\d)$/;
10
+ /** Parses `'HH:mm'` (two-digit hours, `'24:00'` allowed) into minutes of day. */
11
+ export function parseTime(value) {
12
+ const match = TIME_PATTERN.exec(value);
13
+ if (!match)
14
+ throw new Error(`Invalid time "${value}". Expected "HH:mm" between 00:00 and 24:00.`);
15
+ const minutes = Number(match[1]) * 60 + Number(match[2]);
16
+ if (minutes > MINUTES_PER_DAY)
17
+ throw new Error(`Invalid time "${value}". Expected "HH:mm" between 00:00 and 24:00.`);
18
+ return minutes;
19
+ }
20
+ /**
21
+ * Rounds to the nearest multiple of `snap`. A non-positive `snap` means "no snapping", which still rounds to a
22
+ * whole minute: layout minutes are integers (written back through `fromLayout`, which takes whole minutes).
23
+ */
24
+ export function snapMinutes(minutes, snap) {
25
+ if (snap <= 0)
26
+ return Math.round(minutes);
27
+ return Math.round(minutes / snap) * snap;
28
+ }
29
+ /** Clamps into `[min, max]`. */
30
+ export function clampMinutes(minutes, min, max) {
31
+ return Math.min(max, Math.max(min, minutes));
32
+ }
33
+ /**
34
+ * Maps a block offset inside a time column to snapped minutes of day. `offsetPx` is measured from the column's
35
+ * block-start edge; the column spans `[minMinutes, maxMinutes)` over `heightPx`.
36
+ *
37
+ * Snapping is relative to `minMinutes`, not to midnight, so an unaligned window (`08:15`–`18:15`) still snaps onto
38
+ * its own slot boundaries. Aligned windows are unaffected.
39
+ */
40
+ export function minutesFromOffset(offsetPx, heightPx, minMinutes, maxMinutes, snap, bound = "end") {
41
+ if (heightPx <= 0)
42
+ return minMinutes;
43
+ const raw = (offsetPx / heightPx) * (maxMinutes - minMinutes);
44
+ const step = snap > 0 ? snap : 1;
45
+ const ceiling = bound === "start" ? Math.max(minMinutes, maxMinutes - step) : maxMinutes;
46
+ return clampMinutes(minMinutes + snapMinutes(raw, snap), minMinutes, ceiling);
47
+ }
48
+ /**
49
+ * Number of slot rows needed to cover `[minMinutes, maxMinutes)`. Throws on a non-positive `slotDuration`: the
50
+ * caller renders one row per slot, and a zero or negative duration makes that count infinite.
51
+ */
52
+ export function slotCount(minMinutes, maxMinutes, slotDuration) {
53
+ if (!(slotDuration > 0))
54
+ throw new Error(`Invalid slotDuration ${slotDuration}. Expected positive minutes.`);
55
+ return Math.max(1, Math.ceil((maxMinutes - minMinutes) / slotDuration));
56
+ }
@@ -0,0 +1,43 @@
1
+ import type { Content } from "@rivetjs/runtime/jsx-runtime";
2
+ import type { SchedulerView, SchedulerVisibleRange } from "./layout.js";
3
+ import type { SchedulerDate } from "./dates.js";
4
+ /** What `renderHeader` receives (malva `MlvSchedulerHeaderApi` + `goTo`): accessors and actions. */
5
+ export interface SchedulerHeaderApi {
6
+ /** Localized title of the rendered period ("September 2026", "Aug 31 – Sep 6, 2026", the day label). */
7
+ readonly title: () => string;
8
+ /** The active view. */
9
+ readonly view: () => SchedulerView;
10
+ /** The rendered period (dates in the anchor's form). */
11
+ readonly range: () => SchedulerVisibleRange;
12
+ /** One period forward. */
13
+ readonly next: () => void;
14
+ /** One period back. */
15
+ readonly previous: () => void;
16
+ /** Jumps to today. */
17
+ readonly today: () => void;
18
+ /** Switches the view. */
19
+ readonly setView: (view: SchedulerView) => void;
20
+ /** Jumps to the period containing `date`. */
21
+ readonly goTo: (date: SchedulerDate) => void;
22
+ }
23
+ /** `renderHeader` (read once at mount): replaces the default toolbar. */
24
+ export type SchedulerRenderHeader = (api: SchedulerHeaderApi) => Content;
25
+ /** Labels of the default toolbar (translated by the root). */
26
+ export interface SchedulerToolbarLabels {
27
+ readonly previous: () => string;
28
+ readonly next: () => string;
29
+ readonly today: () => string;
30
+ readonly viewSwitch: () => string;
31
+ readonly month: () => string;
32
+ readonly week: () => string;
33
+ readonly day: () => string;
34
+ }
35
+ /**
36
+ * The default toolbar (malva `.mlv-scheduler__toolbar`): `div.rv-SchedulerToolbar` > `.rv-SchedulerToolbar-nav`
37
+ * (previous, next, today) + `h2.rv-SchedulerToolbar-title` + `.rv-SchedulerToolbar-views` (radio group of the three
38
+ * views). DOM order and labels stay the same in RTL (mirroring is CSS).
39
+ */
40
+ export declare function SchedulerToolbar(props: {
41
+ api: SchedulerHeaderApi;
42
+ labels: SchedulerToolbarLabels;
43
+ }): import("@rivetjs/runtime/jsx-runtime").CompiledElement;
@@ -0,0 +1,38 @@
1
+ import { Button } from "../button/index.jsx";
2
+ import { ToggleButton } from "../toggle-button/index.jsx";
3
+ import { ToggleButtonGroup } from "../toggle-button-group/index.jsx";
4
+ const VIEWS = ["month", "week", "day"];
5
+ /**
6
+ * The default toolbar (malva `.mlv-scheduler__toolbar`): `div.rv-SchedulerToolbar` > `.rv-SchedulerToolbar-nav`
7
+ * (previous, next, today) + `h2.rv-SchedulerToolbar-title` + `.rv-SchedulerToolbar-views` (radio group of the three
8
+ * views). DOM order and labels stay the same in RTL (mirroring is CSS).
9
+ */
10
+ export function SchedulerToolbar(props) {
11
+ const api = props.api;
12
+ const labels = props.labels;
13
+ return (<div class="rv-SchedulerToolbar">
14
+ <div class="rv-SchedulerToolbar-nav">
15
+ <Button class="rv-SchedulerToolbar-previous" aria-label={labels.previous()} onPress={() => api.previous()}/>
16
+ <Button class="rv-SchedulerToolbar-next" aria-label={labels.next()} onPress={() => api.next()}/>
17
+ <Button class="rv-SchedulerToolbar-today" onPress={() => api.today()}>
18
+ {labels.today()}
19
+ </Button>
20
+ </div>
21
+ <h2 class="rv-SchedulerToolbar-title">{api.title()}</h2>
22
+ <ToggleButtonGroup class="rv-SchedulerToolbar-views" aria-label={labels.viewSwitch()} selectionMode="single" disallowEmptySelection selectedKeys={() => [api.view()]} onSelectionChange={(keys) => {
23
+ const next = [...keys][0];
24
+ if (next && VIEWS.includes(next))
25
+ api.setView(next);
26
+ }}>
27
+ <ToggleButton id="month" class="rv-SchedulerToolbar-view">
28
+ {labels.month()}
29
+ </ToggleButton>
30
+ <ToggleButton id="week" class="rv-SchedulerToolbar-view">
31
+ {labels.week()}
32
+ </ToggleButton>
33
+ <ToggleButton id="day" class="rv-SchedulerToolbar-view">
34
+ {labels.day()}
35
+ </ToggleButton>
36
+ </ToggleButtonGroup>
37
+ </div>);
38
+ }
@@ -0,0 +1,11 @@
1
+ /** Hides the native scrollbars cross-browser and enables momentum scroll on touch devices (Radix, attribute renamed). */
2
+ export declare const VIEWPORT_STYLE = "[data-rv-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-rv-scroll-area-viewport]::-webkit-scrollbar{display:none}";
3
+ /** Inserts the viewport stylesheet into `document.head` once (`nonce`: CSP nonce of the `<style>`). */
4
+ export declare function insertViewportStyle(nonce: string | undefined): void;
5
+ /** A rAF loop calling `handler` whenever the scroll position changed (no scroll-linked effects). Returns the stop function. */
6
+ export declare function addUnlinkedScrollListener(node: HTMLElement, handler: () => void): () => void;
7
+ /**
8
+ * Radix `useResizeObserver`: `onResize` once per frame while `element` resizes (a rAF per notification avoids the
9
+ * benign "ResizeObserver loop completed with undelivered notifications" error). Returns the stop function.
10
+ */
11
+ export declare function observeResize(element: Element | null | undefined, onResize: () => void): () => void;
@@ -0,0 +1,55 @@
1
+ // Ported from @radix-ui/react-scroll-area 1.3.0 (src/scroll-area.tsx `ScrollAreaViewportStyle`, `addUnlinkedScrollListener`,
2
+ // `useResizeObserver`), MIT, © 2022 WorkOS.
3
+ // Browser-only helpers of `index.tsx` (`.ts`: never server-rewritten; called from handlers / `clientEffect`s only).
4
+ // - `insertViewportStyle`: the declarations are inline on the Viewport (`HIDE_NATIVE_SCROLLBAR` in `index.tsx`: SSR + CSP safe); this
5
+ // nonce'd stylesheet (one per document, client only — Radix renders a `<style>` next to every viewport) carries the
6
+ // rule inline styles cannot express: `::-webkit-scrollbar` (WebKit without `scrollbar-width`).
7
+ /** Hides the native scrollbars cross-browser and enables momentum scroll on touch devices (Radix, attribute renamed). */
8
+ export const VIEWPORT_STYLE = "[data-rv-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-rv-scroll-area-viewport]::-webkit-scrollbar{display:none}";
9
+ const styledDocuments = new WeakSet();
10
+ /** Inserts the viewport stylesheet into `document.head` once (`nonce`: CSP nonce of the `<style>`). */
11
+ export function insertViewportStyle(nonce) {
12
+ if (styledDocuments.has(document))
13
+ return;
14
+ styledDocuments.add(document);
15
+ const style = document.createElement("style");
16
+ if (nonce)
17
+ style.setAttribute("nonce", nonce);
18
+ style.setAttribute("data-rv-scroll-area-style", "");
19
+ style.textContent = VIEWPORT_STYLE;
20
+ document.head.appendChild(style);
21
+ }
22
+ /** A rAF loop calling `handler` whenever the scroll position changed (no scroll-linked effects). Returns the stop function. */
23
+ export function addUnlinkedScrollListener(node, handler) {
24
+ let prevPosition = { left: node.scrollLeft, top: node.scrollTop };
25
+ let rAF = 0;
26
+ const loop = () => {
27
+ const position = { left: node.scrollLeft, top: node.scrollTop };
28
+ const isHorizontalScroll = prevPosition.left !== position.left;
29
+ const isVerticalScroll = prevPosition.top !== position.top;
30
+ if (isHorizontalScroll || isVerticalScroll)
31
+ handler();
32
+ prevPosition = position;
33
+ rAF = window.requestAnimationFrame(loop);
34
+ };
35
+ loop();
36
+ return () => window.cancelAnimationFrame(rAF);
37
+ }
38
+ /**
39
+ * Radix `useResizeObserver`: `onResize` once per frame while `element` resizes (a rAF per notification avoids the
40
+ * benign "ResizeObserver loop completed with undelivered notifications" error). Returns the stop function.
41
+ */
42
+ export function observeResize(element, onResize) {
43
+ if (!element)
44
+ return () => { };
45
+ let rAF = 0;
46
+ const resizeObserver = new ResizeObserver(() => {
47
+ cancelAnimationFrame(rAF);
48
+ rAF = window.requestAnimationFrame(onResize);
49
+ });
50
+ resizeObserver.observe(element);
51
+ return () => {
52
+ window.cancelAnimationFrame(rAF);
53
+ resizeObserver.unobserve(element);
54
+ };
55
+ }
@@ -0,0 +1,96 @@
1
+ import { type Signal } from "@rivetjs/reactivity";
2
+ import { type Ref } from "@rivetjs/runtime/dom";
3
+ import type { Content, JSX } from "@rivetjs/runtime/jsx-runtime";
4
+ import { type RefValue } from "../slots/index.jsx";
5
+ import type { DOMRenderProps } from "../utils/render.js";
6
+ import type { StyleObject } from "../utils/types.js";
7
+ export type ScrollAreaType = "auto" | "always" | "scroll" | "hover";
8
+ export type ScrollAreaOrientation = "vertical" | "horizontal";
9
+ export type ScrollAreaDirection = "ltr" | "rtl";
10
+ /** Every `<div>` attribute (Radix `Primitive.div` props) except the ones a part types itself. */
11
+ type DivAttributes = Omit<JSX.IntrinsicElements["div"], "children" | "style" | "ref" | "class" | "dir">;
12
+ interface PartProps extends DivAttributes, DOMRenderProps<"div", undefined> {
13
+ class?: string;
14
+ style?: StyleObject;
15
+ ref?: RefValue<HTMLDivElement>;
16
+ children?: Content;
17
+ }
18
+ export interface ScrollAreaContextValue {
19
+ type: ScrollAreaType;
20
+ dir: ScrollAreaDirection;
21
+ scrollHideDelay: number;
22
+ scrollArea: Ref<HTMLDivElement>;
23
+ viewport: Ref<HTMLDivElement>;
24
+ content: Ref<HTMLDivElement>;
25
+ scrollbarX: Ref<HTMLDivElement>;
26
+ scrollbarY: Ref<HTMLDivElement>;
27
+ scrollbarXEnabled: Signal<boolean>;
28
+ scrollbarYEnabled: Signal<boolean>;
29
+ /** Whether the scrollbar element of an axis is mounted (Radix: `scrollbarX` / `scrollbarY` state non-null). */
30
+ scrollbarXMounted: Signal<boolean>;
31
+ scrollbarYMounted: Signal<boolean>;
32
+ cornerWidth: Signal<number>;
33
+ cornerHeight: Signal<number>;
34
+ /**
35
+ * Whether the parts run their client behaviour (Rivet). `false` on the server: a resumed page stays static — native
36
+ * scrolling, no scrollbar code — until the first `pointerenter` / `wheel` / `focusin` on the Root or `scroll` of the
37
+ * Viewport (`type="auto"` / `"always"`: also when the Root becomes visible, they need measuring); `true` from the
38
+ * start in a client render.
39
+ */
40
+ active: Signal<boolean>;
41
+ }
42
+ /** The Root's state (Radix `ScrollAreaProvider`). */
43
+ export declare const ScrollAreaContext: import("@rivetjs/reactivity").Context<ScrollAreaContextValue | null>;
44
+ export interface ScrollAreaProps extends PartProps {
45
+ /**
46
+ * Describes the nature of scrollbar visibility, similar to how the scrollbar preferences in macOS control
47
+ * visibility of native scrollbars. `auto`: visible when content is overflowing on the corresponding orientation;
48
+ * `always`: always visible regardless of overflow; `scroll`: visible while scrolling; `hover`: visible while
49
+ * scrolling and while the pointer is over the scroll area. @default "hover"
50
+ */
51
+ type?: ScrollAreaType;
52
+ /** The reading direction of the scroll area (inherits from a `<Dir>` ancestor). @default "ltr" */
53
+ dir?: ScrollAreaDirection;
54
+ /** With `type="scroll"` / `"hover"`: the delay in milliseconds before the scrollbars hide after the user stops interacting. @default 600 */
55
+ scrollHideDelay?: number;
56
+ }
57
+ /** Augments native scroll functionality for custom, cross-browser styling (Radix `ScrollArea.Root`). */
58
+ export declare function ScrollArea(props: ScrollAreaProps): import("@rivetjs/runtime/jsx-runtime").CompiledElement;
59
+ export interface ScrollAreaViewportProps extends PartProps {
60
+ /** Nonce of the `<style>` that hides the native scrollbars (CSP). */
61
+ nonce?: string;
62
+ /**
63
+ * Disables implicit rendering of an additional wrapper element that measures the content size. When `true`, a
64
+ * child `<ScrollAreaContent>` must be rendered as a direct child of the viewport.
65
+ */
66
+ disableImplicitContentElement?: boolean;
67
+ }
68
+ /** The viewport area of the scroll area: scrolls natively (Radix `ScrollArea.Viewport`). */
69
+ export declare function ScrollAreaViewport(props: ScrollAreaViewportProps): import("@rivetjs/runtime/jsx-runtime").CompiledElement;
70
+ export interface ScrollAreaContentProps extends PartProps {
71
+ }
72
+ /**
73
+ * The measured content of the viewport (Radix `ScrollArea.Content`): rendered implicitly by the Viewport unless it
74
+ * has `disableImplicitContentElement`. `display: table` makes it match the size of its children on both axes, so a
75
+ * change of the scroll size re-measures the thumbs.
76
+ */
77
+ export declare function ScrollAreaContent(props: ScrollAreaContentProps): import("@rivetjs/runtime/jsx-runtime").CompiledElement;
78
+ export interface ScrollAreaScrollbarProps extends PartProps {
79
+ /** @default "vertical" */
80
+ orientation?: ScrollAreaOrientation;
81
+ /** Mount the scrollbar whatever its visibility (animation libraries). */
82
+ forceMount?: true;
83
+ }
84
+ /** The vertical or horizontal scrollbar (Radix `ScrollArea.Scrollbar`); its visibility follows the Root's `type`. */
85
+ export declare function ScrollAreaScrollbar(props: ScrollAreaScrollbarProps): import("@rivetjs/runtime/jsx-runtime").CompiledElement;
86
+ export interface ScrollAreaThumbProps extends PartProps {
87
+ /** Mount the thumb whatever the overflow (animation libraries). */
88
+ forceMount?: true;
89
+ }
90
+ /** The thumb of a scrollbar (Radix `ScrollArea.Thumb`): rendered while the content overflows the viewport. */
91
+ export declare function ScrollAreaThumb(props: ScrollAreaThumbProps): import("@rivetjs/runtime/jsx-runtime").CompiledElement;
92
+ export interface ScrollAreaCornerProps extends PartProps {
93
+ }
94
+ /** The corner where both scrollbars meet (Radix `ScrollArea.Corner`): rendered while both are, except for `type="scroll"`. */
95
+ export declare function ScrollAreaCorner(props: ScrollAreaCornerProps): import("@rivetjs/runtime/jsx-runtime").CompiledElement;
96
+ export { ScrollArea as Root, ScrollAreaViewport as Viewport, ScrollAreaContent as Content, ScrollAreaScrollbar as Scrollbar, ScrollAreaThumb as Thumb, ScrollAreaCorner as Corner, };