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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1290) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +483 -0
  3. package/README.md +10 -2
  4. package/_adapters/collection.d.ts +160 -0
  5. package/_adapters/collection.js +235 -0
  6. package/_adapters/collections.d.ts +325 -0
  7. package/_adapters/collections.js +934 -0
  8. package/_adapters/dom-collection.d.ts +42 -0
  9. package/_adapters/dom-collection.js +228 -0
  10. package/_adapters/grid-selection.d.ts +115 -0
  11. package/_adapters/grid-selection.js +436 -0
  12. package/_adapters/interactions.d.ts +19 -0
  13. package/_adapters/interactions.js +45 -0
  14. package/_adapters/intl.d.ts +8 -0
  15. package/_adapters/intl.js +106 -0
  16. package/_adapters/press.d.ts +22 -0
  17. package/_adapters/press.js +34 -0
  18. package/_adapters/selectable.d.ts +132 -0
  19. package/_adapters/selectable.js +599 -0
  20. package/_adapters/selection.d.ts +109 -0
  21. package/_adapters/selection.js +685 -0
  22. package/_adapters/type-select.d.ts +8 -0
  23. package/_adapters/type-select.js +59 -0
  24. package/a11y/aria-describer.d.ts +46 -0
  25. package/a11y/aria-describer.js +169 -0
  26. package/a11y/focus-monitor.d.ts +98 -0
  27. package/a11y/focus-monitor.js +321 -0
  28. package/a11y/focus-trap.d.ts +137 -0
  29. package/a11y/focus-trap.js +378 -0
  30. package/a11y/high-contrast.d.ts +26 -0
  31. package/a11y/high-contrast.js +84 -0
  32. package/a11y/index.d.ts +37 -0
  33. package/a11y/index.js +97 -0
  34. package/a11y/interactivity-checker.d.ts +18 -0
  35. package/a11y/interactivity-checker.js +126 -0
  36. package/a11y/key-manager.d.ts +152 -0
  37. package/a11y/key-manager.js +397 -0
  38. package/a11y/live-announcer.d.ts +53 -0
  39. package/a11y/live-announcer.js +143 -0
  40. package/accordion/index.d.ts +2 -0
  41. package/accordion/index.jsx +10 -0
  42. package/announcer/index.d.ts +8 -0
  43. package/announcer/index.jsx +22 -0
  44. package/announcer/live-announcer.d.ts +15 -0
  45. package/announcer/live-announcer.js +123 -0
  46. package/autocomplete/behaviour.d.ts +94 -0
  47. package/autocomplete/behaviour.jsx +423 -0
  48. package/autocomplete/contexts.d.ts +54 -0
  49. package/autocomplete/contexts.js +28 -0
  50. package/autocomplete/index.d.ts +12 -0
  51. package/autocomplete/index.jsx +31 -0
  52. package/autocomplete/intl.d.ts +2 -0
  53. package/autocomplete/intl.js +36 -0
  54. package/bidi/bidi-dir.d.ts +23 -0
  55. package/bidi/bidi-dir.jsx +36 -0
  56. package/bidi/index.d.ts +58 -0
  57. package/bidi/index.js +84 -0
  58. package/breadcrumbs/behaviour.d.ts +6 -0
  59. package/breadcrumbs/behaviour.js +17 -0
  60. package/breadcrumbs/index.d.ts +68 -0
  61. package/breadcrumbs/index.jsx +224 -0
  62. package/breadcrumbs/intl.d.ts +3 -0
  63. package/breadcrumbs/intl.js +104 -0
  64. package/button/behaviour.d.ts +61 -0
  65. package/button/behaviour.js +90 -0
  66. package/button/index.d.ts +38 -0
  67. package/button/index.jsx +374 -0
  68. package/button/press.d.ts +25 -0
  69. package/button/press.js +54 -0
  70. package/calendar/behaviour.d.ts +250 -0
  71. package/calendar/behaviour.jsx +939 -0
  72. package/calendar/index.d.ts +157 -0
  73. package/calendar/index.jsx +484 -0
  74. package/calendar/intl.d.ts +3 -0
  75. package/calendar/intl.js +36 -0
  76. package/carousel/behaviour.d.ts +50 -0
  77. package/carousel/behaviour.jsx +365 -0
  78. package/carousel/engine/Alignment.d.ts +5 -0
  79. package/carousel/engine/Alignment.js +24 -0
  80. package/carousel/engine/Animations.d.ts +13 -0
  81. package/carousel/engine/Animations.js +28 -0
  82. package/carousel/engine/Axis.d.ts +14 -0
  83. package/carousel/engine/Axis.js +35 -0
  84. package/carousel/engine/Counter.d.ts +7 -0
  85. package/carousel/engine/Counter.js +32 -0
  86. package/carousel/engine/DragHandler.d.ts +22 -0
  87. package/carousel/engine/DragHandler.js +141 -0
  88. package/carousel/engine/DragTracker.d.ts +10 -0
  89. package/carousel/engine/DragTracker.js +29 -0
  90. package/carousel/engine/EmblaCarousel.d.ts +32 -0
  91. package/carousel/engine/EmblaCarousel.js +177 -0
  92. package/carousel/engine/Engine.d.ts +64 -0
  93. package/carousel/engine/Engine.js +137 -0
  94. package/carousel/engine/EventHandler.d.ts +27 -0
  95. package/carousel/engine/EventHandler.js +33 -0
  96. package/carousel/engine/EventStore.d.ts +9 -0
  97. package/carousel/engine/EventStore.js +25 -0
  98. package/carousel/engine/NodeRects.d.ts +12 -0
  99. package/carousel/engine/NodeRects.js +18 -0
  100. package/carousel/engine/Options.d.ts +40 -0
  101. package/carousel/engine/Options.js +22 -0
  102. package/carousel/engine/OptionsHandler.d.ts +10 -0
  103. package/carousel/engine/OptionsHandler.js +26 -0
  104. package/carousel/engine/PercentOfView.d.ts +4 -0
  105. package/carousel/engine/PercentOfView.js +9 -0
  106. package/carousel/engine/Plugins.d.ts +16 -0
  107. package/carousel/engine/Plugins.js +1 -0
  108. package/carousel/engine/PluginsHandler.d.ts +8 -0
  109. package/carousel/engine/PluginsHandler.js +16 -0
  110. package/carousel/engine/ResizeHandler.d.ts +13 -0
  111. package/carousel/engine/ResizeHandler.js +51 -0
  112. package/carousel/engine/ScrollBounds.d.ts +10 -0
  113. package/carousel/engine/ScrollBounds.js +41 -0
  114. package/carousel/engine/ScrollContain.d.ts +7 -0
  115. package/carousel/engine/ScrollContain.js +52 -0
  116. package/carousel/engine/ScrollLimit.d.ts +5 -0
  117. package/carousel/engine/ScrollLimit.js +13 -0
  118. package/carousel/engine/ScrollLooper.d.ts +6 -0
  119. package/carousel/engine/ScrollLooper.js +26 -0
  120. package/carousel/engine/ScrollProgress.d.ts +5 -0
  121. package/carousel/engine/ScrollProgress.js +11 -0
  122. package/carousel/engine/ScrollSnaps.d.ts +9 -0
  123. package/carousel/engine/ScrollSnaps.js +26 -0
  124. package/carousel/engine/ScrollTarget.d.ts +12 -0
  125. package/carousel/engine/ScrollTarget.js +47 -0
  126. package/carousel/engine/ScrollTo.d.ts +11 -0
  127. package/carousel/engine/ScrollTo.js +36 -0
  128. package/carousel/engine/SlideFocus.d.ts +13 -0
  129. package/carousel/engine/SlideFocus.js +39 -0
  130. package/carousel/engine/SlideLooper.d.ts +18 -0
  131. package/carousel/engine/SlideLooper.js +78 -0
  132. package/carousel/engine/SlideRegistry.d.ts +7 -0
  133. package/carousel/engine/SlideRegistry.js +31 -0
  134. package/carousel/engine/SlideSizes.d.ts +10 -0
  135. package/carousel/engine/SlideSizes.js +41 -0
  136. package/carousel/engine/SlidesHandler.d.ts +10 -0
  137. package/carousel/engine/SlidesHandler.js +36 -0
  138. package/carousel/engine/SlidesInView.d.ts +8 -0
  139. package/carousel/engine/SlidesInView.js +59 -0
  140. package/carousel/engine/SlidesToScroll.d.ts +7 -0
  141. package/carousel/engine/SlidesToScroll.js +41 -0
  142. package/carousel/engine/Translate.d.ts +7 -0
  143. package/carousel/engine/Translate.js +38 -0
  144. package/carousel/engine/index.d.ts +11 -0
  145. package/carousel/engine/index.js +1 -0
  146. package/carousel/engine/utils.d.ts +15 -0
  147. package/carousel/engine/utils.js +45 -0
  148. package/carousel/index.d.ts +202 -0
  149. package/carousel/index.jsx +469 -0
  150. package/carousel/plugins/auto-height/AutoHeight.d.ts +14 -0
  151. package/carousel/plugins/auto-height/AutoHeight.js +43 -0
  152. package/carousel/plugins/auto-height/Options.d.ts +2 -0
  153. package/carousel/plugins/auto-height/Options.js +1 -0
  154. package/carousel/plugins/auto-height/index.d.ts +2 -0
  155. package/carousel/plugins/auto-height/index.js +1 -0
  156. package/carousel/plugins/auto-scroll/AutoScroll.d.ts +25 -0
  157. package/carousel/plugins/auto-scroll/AutoScroll.js +185 -0
  158. package/carousel/plugins/auto-scroll/Options.d.ts +13 -0
  159. package/carousel/plugins/auto-scroll/Options.js +12 -0
  160. package/carousel/plugins/auto-scroll/index.d.ts +2 -0
  161. package/carousel/plugins/auto-scroll/index.js +1 -0
  162. package/carousel/plugins/auto-scroll/utils.d.ts +3 -0
  163. package/carousel/plugins/auto-scroll/utils.js +4 -0
  164. package/carousel/plugins/autoplay/Autoplay.d.ts +29 -0
  165. package/carousel/plugins/autoplay/Autoplay.js +173 -0
  166. package/carousel/plugins/autoplay/Options.d.ts +14 -0
  167. package/carousel/plugins/autoplay/Options.js +12 -0
  168. package/carousel/plugins/autoplay/index.d.ts +2 -0
  169. package/carousel/plugins/autoplay/index.js +1 -0
  170. package/carousel/plugins/autoplay/utils.d.ts +4 -0
  171. package/carousel/plugins/autoplay/utils.js +11 -0
  172. package/carousel/plugins/class-names/ClassNames.d.ts +14 -0
  173. package/carousel/plugins/class-names/ClassNames.js +98 -0
  174. package/carousel/plugins/class-names/Options.d.ts +13 -0
  175. package/carousel/plugins/class-names/Options.js +9 -0
  176. package/carousel/plugins/class-names/index.d.ts +2 -0
  177. package/carousel/plugins/class-names/index.js +1 -0
  178. package/carousel/plugins/class-names/utils.d.ts +4 -0
  179. package/carousel/plugins/class-names/utils.js +14 -0
  180. package/carousel/plugins/fade/Fade.d.ts +14 -0
  181. package/carousel/plugins/fade/Fade.js +199 -0
  182. package/carousel/plugins/fade/Options.d.ts +2 -0
  183. package/carousel/plugins/fade/Options.js +1 -0
  184. package/carousel/plugins/fade/index.d.ts +2 -0
  185. package/carousel/plugins/fade/index.js +1 -0
  186. package/carousel/plugins/fade/utils.d.ts +2 -0
  187. package/carousel/plugins/fade/utils.js +8 -0
  188. package/carousel/state.d.ts +81 -0
  189. package/carousel/state.js +71 -0
  190. package/chat/index.d.ts +83 -0
  191. package/chat/index.jsx +287 -0
  192. package/checkbox/behaviour.d.ts +172 -0
  193. package/checkbox/behaviour.jsx +412 -0
  194. package/checkbox/index.d.ts +168 -0
  195. package/checkbox/index.jsx +310 -0
  196. package/clipboard/index.d.ts +49 -0
  197. package/clipboard/index.js +136 -0
  198. package/coercion/index.d.ts +36 -0
  199. package/coercion/index.js +58 -0
  200. package/collections/base.d.ts +115 -0
  201. package/collections/base.js +346 -0
  202. package/collections/builder.d.ts +44 -0
  203. package/collections/builder.js +283 -0
  204. package/collections/components.d.ts +217 -0
  205. package/collections/components.jsx +537 -0
  206. package/collections/data-source.d.ts +26 -0
  207. package/collections/data-source.js +27 -0
  208. package/collections/dom.d.ts +34 -0
  209. package/collections/dom.js +127 -0
  210. package/collections/grid.d.ts +45 -0
  211. package/collections/grid.js +125 -0
  212. package/collections/hidden.d.ts +4 -0
  213. package/collections/hidden.js +12 -0
  214. package/collections/index.d.ts +45 -0
  215. package/collections/index.js +105 -0
  216. package/collections/list-state.d.ts +99 -0
  217. package/collections/list-state.js +156 -0
  218. package/collections/list.d.ts +20 -0
  219. package/collections/list.js +77 -0
  220. package/collections/nodes.d.ts +9 -0
  221. package/collections/nodes.js +81 -0
  222. package/collections/selection-model.d.ts +93 -0
  223. package/collections/selection-model.js +192 -0
  224. package/collections/server-dev.d.ts +5 -0
  225. package/collections/server-dev.js +16 -0
  226. package/collections/server-off.d.ts +5 -0
  227. package/collections/server-off.js +7 -0
  228. package/collections/server-on.d.ts +28 -0
  229. package/collections/server-on.jsx +76 -0
  230. package/collections/table.d.ts +114 -0
  231. package/collections/table.js +439 -0
  232. package/collections/tree-state.d.ts +47 -0
  233. package/collections/tree-state.js +73 -0
  234. package/collections/tree.d.ts +20 -0
  235. package/collections/tree.js +66 -0
  236. package/collections/types.d.ts +229 -0
  237. package/collections/types.js +4 -0
  238. package/collections/unique-selection-dispatcher.d.ts +10 -0
  239. package/collections/unique-selection-dispatcher.js +25 -0
  240. package/color/area-state.d.ts +99 -0
  241. package/color/area-state.js +160 -0
  242. package/color/aria-intl.d.ts +3 -0
  243. package/color/aria-intl.js +274 -0
  244. package/color/channel-field-state.d.ts +50 -0
  245. package/color/channel-field-state.jsx +87 -0
  246. package/color/color.d.ts +78 -0
  247. package/color/color.js +738 -0
  248. package/color/field-state.d.ts +66 -0
  249. package/color/field-state.jsx +159 -0
  250. package/color/index.d.ts +58 -0
  251. package/color/index.js +88 -0
  252. package/color/intl.d.ts +3 -0
  253. package/color/intl.js +1328 -0
  254. package/color/picker-state.d.ts +20 -0
  255. package/color/picker-state.js +19 -0
  256. package/color/slider-state.d.ts +78 -0
  257. package/color/slider-state.jsx +98 -0
  258. package/color/value.d.ts +27 -0
  259. package/color/value.js +36 -0
  260. package/color/wheel-state.d.ts +77 -0
  261. package/color/wheel-state.js +152 -0
  262. package/color-area/behaviour.d.ts +161 -0
  263. package/color-area/behaviour.jsx +454 -0
  264. package/color-area/index.d.ts +34 -0
  265. package/color-area/index.jsx +187 -0
  266. package/color-field/behaviour.d.ts +112 -0
  267. package/color-field/behaviour.jsx +262 -0
  268. package/color-field/index.d.ts +72 -0
  269. package/color-field/index.jsx +309 -0
  270. package/color-picker/index.d.ts +19 -0
  271. package/color-picker/index.jsx +49 -0
  272. package/color-slider/behaviour.d.ts +103 -0
  273. package/color-slider/behaviour.jsx +234 -0
  274. package/color-slider/index.d.ts +40 -0
  275. package/color-slider/index.jsx +162 -0
  276. package/color-swatch/behaviour.d.ts +40 -0
  277. package/color-swatch/behaviour.js +36 -0
  278. package/color-swatch/index.d.ts +29 -0
  279. package/color-swatch/index.jsx +82 -0
  280. package/color-swatch-picker/index.d.ts +62 -0
  281. package/color-swatch-picker/index.jsx +95 -0
  282. package/color-swatch-picker/intl.d.ts +3 -0
  283. package/color-swatch-picker/intl.js +104 -0
  284. package/color-thumb/index.d.ts +85 -0
  285. package/color-thumb/index.jsx +93 -0
  286. package/color-wheel/behaviour.d.ts +123 -0
  287. package/color-wheel/behaviour.jsx +301 -0
  288. package/color-wheel/index.d.ts +50 -0
  289. package/color-wheel/index.jsx +166 -0
  290. package/combobox/behaviour.d.ts +120 -0
  291. package/combobox/behaviour.jsx +588 -0
  292. package/combobox/index.d.ts +101 -0
  293. package/combobox/index.jsx +365 -0
  294. package/combobox/intl.d.ts +2 -0
  295. package/combobox/intl.js +240 -0
  296. package/compare/behaviour.d.ts +101 -0
  297. package/compare/behaviour.js +288 -0
  298. package/compare/index.d.ts +58 -0
  299. package/compare/index.jsx +129 -0
  300. package/data/async-list.d.ts +78 -0
  301. package/data/async-list.jsx +257 -0
  302. package/data/index.d.ts +3 -0
  303. package/data/index.jsx +6 -0
  304. package/data/list-data.d.ts +88 -0
  305. package/data/list-data.jsx +210 -0
  306. package/data/tree-data.d.ts +59 -0
  307. package/data/tree-data.jsx +278 -0
  308. package/data-grid/behaviour.d.ts +95 -0
  309. package/data-grid/behaviour.js +725 -0
  310. package/data-grid/index.d.ts +138 -0
  311. package/data-grid/index.jsx +452 -0
  312. package/data-grid/state.d.ts +131 -0
  313. package/data-grid/state.js +288 -0
  314. package/date/CalendarDate.d.ts +207 -0
  315. package/date/CalendarDate.js +374 -0
  316. package/date/DateFormatter.d.ts +24 -0
  317. package/date/DateFormatter.js +175 -0
  318. package/date/calendars/BuddhistCalendar.d.ts +16 -0
  319. package/date/calendars/BuddhistCalendar.js +46 -0
  320. package/date/calendars/EthiopicCalendar.d.ts +45 -0
  321. package/date/calendars/EthiopicCalendar.js +178 -0
  322. package/date/calendars/GregorianCalendar.d.ts +26 -0
  323. package/date/calendars/GregorianCalendar.js +122 -0
  324. package/date/calendars/HebrewCalendar.d.ts +21 -0
  325. package/date/calendars/HebrewCalendar.js +174 -0
  326. package/date/calendars/IndianCalendar.d.ts +17 -0
  327. package/date/calendars/IndianCalendar.js +111 -0
  328. package/date/calendars/IslamicCalendar.d.ts +51 -0
  329. package/date/calendars/IslamicCalendar.js +205 -0
  330. package/date/calendars/JapaneseCalendar.d.ts +22 -0
  331. package/date/calendars/JapaneseCalendar.js +148 -0
  332. package/date/calendars/PersianCalendar.d.ts +19 -0
  333. package/date/calendars/PersianCalendar.js +85 -0
  334. package/date/calendars/TaiwanCalendar.d.ts +19 -0
  335. package/date/calendars/TaiwanCalendar.js +70 -0
  336. package/date/conversion.d.ts +45 -0
  337. package/date/conversion.js +269 -0
  338. package/date/createCalendar.d.ts +3 -0
  339. package/date/createCalendar.js +55 -0
  340. package/date/index.d.ts +20 -0
  341. package/date/index.js +30 -0
  342. package/date/manipulation.d.ts +25 -0
  343. package/date/manipulation.js +399 -0
  344. package/date/queries.d.ts +93 -0
  345. package/date/queries.js +303 -0
  346. package/date/serialize.d.ts +18 -0
  347. package/date/serialize.js +55 -0
  348. package/date/string.d.ts +36 -0
  349. package/date/string.js +223 -0
  350. package/date/types.d.ts +136 -0
  351. package/date/types.js +14 -0
  352. package/date/utils.d.ts +4 -0
  353. package/date/utils.js +16 -0
  354. package/date/weekStartData.d.ts +1 -0
  355. package/date/weekStartData.js +112 -0
  356. package/date-field/behaviour.d.ts +188 -0
  357. package/date-field/behaviour.jsx +1025 -0
  358. package/date-field/index.d.ts +150 -0
  359. package/date-field/index.jsx +354 -0
  360. package/date-field/intl.d.ts +3 -0
  361. package/date-field/intl.js +36 -0
  362. package/date-field/live-value.d.ts +22 -0
  363. package/date-field/live-value.jsx +44 -0
  364. package/date-picker/behaviour.d.ts +95 -0
  365. package/date-picker/behaviour.jsx +343 -0
  366. package/date-picker/index.d.ts +66 -0
  367. package/date-picker/index.jsx +243 -0
  368. package/dialog/behaviour.d.ts +63 -0
  369. package/dialog/behaviour.jsx +90 -0
  370. package/dialog/contexts.d.ts +12 -0
  371. package/dialog/contexts.js +8 -0
  372. package/dialog/index.d.ts +48 -0
  373. package/dialog/index.jsx +301 -0
  374. package/disclosure/behaviour.d.ts +50 -0
  375. package/disclosure/behaviour.jsx +128 -0
  376. package/disclosure/details.d.ts +21 -0
  377. package/disclosure/details.jsx +14 -0
  378. package/disclosure/index.d.ts +92 -0
  379. package/disclosure/index.jsx +300 -0
  380. package/drag-drop/cdk-index.d.ts +22 -0
  381. package/drag-drop/cdk-index.jsx +25 -0
  382. package/drag-drop/directives/assertions.d.ts +6 -0
  383. package/drag-drop/directives/assertions.js +13 -0
  384. package/drag-drop/directives/config.d.ts +30 -0
  385. package/drag-drop/directives/config.js +7 -0
  386. package/drag-drop/directives/drag-handle.d.ts +10 -0
  387. package/drag-drop/directives/drag-handle.js +29 -0
  388. package/drag-drop/directives/drag.d.ts +194 -0
  389. package/drag-drop/directives/drag.js +522 -0
  390. package/drag-drop/directives/drop-list-group.d.ts +25 -0
  391. package/drag-drop/directives/drop-list-group.js +55 -0
  392. package/drag-drop/directives/drop-list.d.ts +163 -0
  393. package/drag-drop/directives/drop-list.js +396 -0
  394. package/drag-drop/directives/registry.d.ts +32 -0
  395. package/drag-drop/directives/registry.js +61 -0
  396. package/drag-drop/dom/clone-node.d.ts +2 -0
  397. package/drag-drop/dom/clone-node.js +58 -0
  398. package/drag-drop/dom/coerce.d.ts +6 -0
  399. package/drag-drop/dom/coerce.js +8 -0
  400. package/drag-drop/dom/dom-rect.d.ts +37 -0
  401. package/drag-drop/dom/dom-rect.js +71 -0
  402. package/drag-drop/dom/fake-event.d.ts +4 -0
  403. package/drag-drop/dom/fake-event.js +22 -0
  404. package/drag-drop/dom/inherited-text.d.ts +4 -0
  405. package/drag-drop/dom/inherited-text.js +44 -0
  406. package/drag-drop/dom/layout-shift.d.ts +8 -0
  407. package/drag-drop/dom/layout-shift.js +87 -0
  408. package/drag-drop/dom/mount-content.d.ts +2 -0
  409. package/drag-drop/dom/mount-content.js +7 -0
  410. package/drag-drop/dom/parent-position-tracker.d.ts +32 -0
  411. package/drag-drop/dom/parent-position-tracker.js +71 -0
  412. package/drag-drop/dom/root-node.d.ts +21 -0
  413. package/drag-drop/dom/root-node.js +41 -0
  414. package/drag-drop/dom/shadow-dom.d.ts +4 -0
  415. package/drag-drop/dom/shadow-dom.js +18 -0
  416. package/drag-drop/dom/styling.d.ts +52 -0
  417. package/drag-drop/dom/styling.js +86 -0
  418. package/drag-drop/dom/transition-duration.d.ts +2 -0
  419. package/drag-drop/dom/transition-duration.js +29 -0
  420. package/drag-drop/drag-drop-registry.d.ts +69 -0
  421. package/drag-drop/drag-drop-registry.js +224 -0
  422. package/drag-drop/drag-drop.d.ts +19 -0
  423. package/drag-drop/drag-drop.js +10 -0
  424. package/drag-drop/drag-events.d.ts +117 -0
  425. package/drag-drop/drag-events.js +1 -0
  426. package/drag-drop/drag-handle.d.ts +18 -0
  427. package/drag-drop/drag-handle.jsx +53 -0
  428. package/drag-drop/drag-placeholder.d.ts +8 -0
  429. package/drag-drop/drag-placeholder.jsx +25 -0
  430. package/drag-drop/drag-preview.d.ts +10 -0
  431. package/drag-drop/drag-preview.jsx +31 -0
  432. package/drag-drop/drag-ref.d.ts +476 -0
  433. package/drag-drop/drag-ref.js +1306 -0
  434. package/drag-drop/drag-utils.d.ts +25 -0
  435. package/drag-drop/drag-utils.js +53 -0
  436. package/drag-drop/drag.d.ts +23 -0
  437. package/drag-drop/drag.jsx +126 -0
  438. package/drag-drop/drop-list-group.d.ts +22 -0
  439. package/drag-drop/drop-list-group.jsx +19 -0
  440. package/drag-drop/drop-list-ref.d.ts +295 -0
  441. package/drag-drop/drop-list-ref.js +707 -0
  442. package/drag-drop/drop-list.d.ts +19 -0
  443. package/drag-drop/drop-list.jsx +87 -0
  444. package/drag-drop/index.d.ts +1 -0
  445. package/drag-drop/index.jsx +4 -0
  446. package/drag-drop/lazy-refs.d.ts +28 -0
  447. package/drag-drop/lazy-refs.js +133 -0
  448. package/drag-drop/preview-ref.d.ts +38 -0
  449. package/drag-drop/preview-ref.js +132 -0
  450. package/drag-drop/sorting/drop-list-sort-strategy.d.ts +29 -0
  451. package/drag-drop/sorting/drop-list-sort-strategy.js +1 -0
  452. package/drag-drop/sorting/mixed-sort-strategy.d.ts +99 -0
  453. package/drag-drop/sorting/mixed-sort-strategy.js +259 -0
  454. package/drag-drop/sorting/single-axis-sort-strategy.d.ts +112 -0
  455. package/drag-drop/sorting/single-axis-sort-strategy.js +343 -0
  456. package/file-trigger/index.d.ts +24 -0
  457. package/file-trigger/index.jsx +41 -0
  458. package/flip/index.d.ts +59 -0
  459. package/flip/index.js +124 -0
  460. package/focus/focus-ring.d.ts +42 -0
  461. package/focus/focus-ring.jsx +77 -0
  462. package/focus/focus-scope.d.ts +51 -0
  463. package/focus/focus-scope.jsx +431 -0
  464. package/focus/focusable.d.ts +33 -0
  465. package/focus/focusable.jsx +93 -0
  466. package/focus/index.d.ts +74 -0
  467. package/focus/index.js +274 -0
  468. package/form/behaviour.d.ts +29 -0
  469. package/form/behaviour.js +145 -0
  470. package/form/field-error.d.ts +38 -0
  471. package/form/field-error.jsx +67 -0
  472. package/form/index.d.ts +77 -0
  473. package/form/index.jsx +116 -0
  474. package/grid/behaviour.d.ts +290 -0
  475. package/grid/behaviour.js +683 -0
  476. package/grid/intl.d.ts +2 -0
  477. package/grid/intl.js +36 -0
  478. package/grid/keyboard-delegate.d.ts +56 -0
  479. package/grid/keyboard-delegate.js +316 -0
  480. package/grid-list/behaviour.d.ts +242 -0
  481. package/grid-list/behaviour.js +598 -0
  482. package/grid-list/index.d.ts +202 -0
  483. package/grid-list/index.jsx +685 -0
  484. package/grid-list/row.d.ts +24 -0
  485. package/grid-list/row.js +57 -0
  486. package/group/index.d.ts +48 -0
  487. package/group/index.jsx +126 -0
  488. package/header/index.d.ts +13 -0
  489. package/header/index.jsx +34 -0
  490. package/heading/index.d.ts +19 -0
  491. package/heading/index.jsx +55 -0
  492. package/highlight/index.d.ts +12 -0
  493. package/highlight/index.jsx +357 -0
  494. package/i18n/filter.d.ts +16 -0
  495. package/i18n/filter.js +66 -0
  496. package/i18n/i18n-provider.d.ts +10 -0
  497. package/i18n/i18n-provider.jsx +15 -0
  498. package/i18n/index.d.ts +27 -0
  499. package/i18n/index.js +115 -0
  500. package/i18n/intl-cache.d.ts +4 -0
  501. package/i18n/intl-cache.js +40 -0
  502. package/i18n/list-formatter.d.ts +2 -0
  503. package/i18n/list-formatter.js +11 -0
  504. package/input/index.d.ts +51 -0
  505. package/input/index.jsx +95 -0
  506. package/interactions/controllable.d.ts +42 -0
  507. package/interactions/controllable.js +67 -0
  508. package/interactions/focus-visible.d.ts +68 -0
  509. package/interactions/focus-visible.jsx +291 -0
  510. package/interactions/focus.d.ts +58 -0
  511. package/interactions/focus.jsx +152 -0
  512. package/interactions/hover.d.ts +54 -0
  513. package/interactions/hover.jsx +139 -0
  514. package/interactions/index.d.ts +1 -0
  515. package/interactions/index.js +3 -0
  516. package/interactions/interact-outside.d.ts +24 -0
  517. package/interactions/interact-outside.jsx +57 -0
  518. package/interactions/keyboard.d.ts +28 -0
  519. package/interactions/keyboard.jsx +51 -0
  520. package/interactions/long-press.d.ts +41 -0
  521. package/interactions/long-press.jsx +79 -0
  522. package/interactions/merge-props.d.ts +54 -0
  523. package/interactions/merge-props.jsx +257 -0
  524. package/interactions/move.d.ts +48 -0
  525. package/interactions/move.jsx +96 -0
  526. package/interactions/press.d.ts +129 -0
  527. package/interactions/press.jsx +538 -0
  528. package/interactions/pressable.d.ts +22 -0
  529. package/interactions/pressable.jsx +93 -0
  530. package/interactions/scroll-wheel.d.ts +20 -0
  531. package/interactions/scroll-wheel.jsx +40 -0
  532. package/interactions/utils.d.ts +53 -0
  533. package/interactions/utils.js +252 -0
  534. package/keyboard/index.d.ts +12 -0
  535. package/keyboard/index.jsx +34 -0
  536. package/keys/index.d.ts +68 -0
  537. package/keys/index.js +199 -0
  538. package/label/behaviour.d.ts +54 -0
  539. package/label/behaviour.js +60 -0
  540. package/label/index.d.ts +35 -0
  541. package/label/index.jsx +85 -0
  542. package/landmark/index.d.ts +10 -0
  543. package/landmark/index.jsx +35 -0
  544. package/landmark/manager.d.ts +50 -0
  545. package/landmark/manager.js +364 -0
  546. package/layout/index.d.ts +90 -0
  547. package/layout/index.js +207 -0
  548. package/lightbox/behaviour.d.ts +82 -0
  549. package/lightbox/behaviour.js +490 -0
  550. package/lightbox/captions/index.d.ts +39 -0
  551. package/lightbox/captions/index.jsx +44 -0
  552. package/lightbox/counter/index.d.ts +10 -0
  553. package/lightbox/counter/index.jsx +10 -0
  554. package/lightbox/download/index.d.ts +32 -0
  555. package/lightbox/download/index.jsx +89 -0
  556. package/lightbox/embed/index.d.ts +15 -0
  557. package/lightbox/embed/index.jsx +58 -0
  558. package/lightbox/fullscreen/index.d.ts +24 -0
  559. package/lightbox/fullscreen/index.jsx +80 -0
  560. package/lightbox/index.d.ts +129 -0
  561. package/lightbox/index.jsx +284 -0
  562. package/lightbox/inline/index.d.ts +18 -0
  563. package/lightbox/inline/index.jsx +15 -0
  564. package/lightbox/pdf/index.d.ts +18 -0
  565. package/lightbox/pdf/index.jsx +31 -0
  566. package/lightbox/share/index.d.ts +29 -0
  567. package/lightbox/share/index.jsx +43 -0
  568. package/lightbox/slideshow/index.d.ts +24 -0
  569. package/lightbox/slideshow/index.jsx +118 -0
  570. package/lightbox/state.d.ts +334 -0
  571. package/lightbox/state.js +192 -0
  572. package/lightbox/thumbnails/index.d.ts +54 -0
  573. package/lightbox/thumbnails/index.jsx +96 -0
  574. package/lightbox/video/index.d.ts +13 -0
  575. package/lightbox/video/index.jsx +42 -0
  576. package/lightbox/zoom/index.d.ts +67 -0
  577. package/lightbox/zoom/index.jsx +456 -0
  578. package/link/behaviour.d.ts +41 -0
  579. package/link/behaviour.js +58 -0
  580. package/link/index.d.ts +30 -0
  581. package/link/index.jsx +179 -0
  582. package/link/router.d.ts +1 -0
  583. package/link/router.js +5 -0
  584. package/listbox/behaviour.d.ts +175 -0
  585. package/listbox/behaviour.jsx +492 -0
  586. package/listbox/index.d.ts +129 -0
  587. package/listbox/index.jsx +596 -0
  588. package/markdown/index.d.ts +82 -0
  589. package/markdown/index.jsx +654 -0
  590. package/masonry/behaviour.d.ts +121 -0
  591. package/masonry/behaviour.js +676 -0
  592. package/masonry/flip.d.ts +27 -0
  593. package/masonry/flip.js +61 -0
  594. package/masonry/geometry.d.ts +44 -0
  595. package/masonry/geometry.js +184 -0
  596. package/masonry/index.d.ts +153 -0
  597. package/masonry/index.jsx +833 -0
  598. package/masonry/justified.d.ts +49 -0
  599. package/masonry/justified.js +250 -0
  600. package/masonry/layout.d.ts +200 -0
  601. package/masonry/layout.js +668 -0
  602. package/masonry/masonry-layout.d.ts +57 -0
  603. package/masonry/masonry-layout.js +159 -0
  604. package/masonry/masonry.css +29 -0
  605. package/menu/behaviour.d.ts +205 -0
  606. package/menu/behaviour.jsx +847 -0
  607. package/menu/index.d.ts +171 -0
  608. package/menu/index.jsx +671 -0
  609. package/menu/intl.d.ts +2 -0
  610. package/menu/intl.js +36 -0
  611. package/menu/safely-mouse-to-submenu.d.ts +12 -0
  612. package/menu/safely-mouse-to-submenu.js +128 -0
  613. package/meter/behaviour.d.ts +18 -0
  614. package/meter/behaviour.jsx +17 -0
  615. package/meter/index.d.ts +30 -0
  616. package/meter/index.jsx +85 -0
  617. package/modal/index.d.ts +79 -0
  618. package/modal/index.jsx +359 -0
  619. package/modal/provider.d.ts +47 -0
  620. package/modal/provider.jsx +105 -0
  621. package/morph/index.d.ts +91 -0
  622. package/morph/index.jsx +372 -0
  623. package/morph/item.d.ts +89 -0
  624. package/morph/item.jsx +546 -0
  625. package/motion/Animations.d.ts +17 -0
  626. package/motion/Animations.js +56 -0
  627. package/motion/DragRelease.d.ts +22 -0
  628. package/motion/DragRelease.js +26 -0
  629. package/motion/DragTracker.d.ts +7 -0
  630. package/motion/DragTracker.js +43 -0
  631. package/motion/Limit.d.ts +12 -0
  632. package/motion/Limit.js +37 -0
  633. package/motion/Motion1D.d.ts +38 -0
  634. package/motion/Motion1D.js +72 -0
  635. package/motion/ScrollBody.d.ts +13 -0
  636. package/motion/ScrollBody.js +75 -0
  637. package/motion/Vector1d.d.ts +8 -0
  638. package/motion/Vector1d.js +29 -0
  639. package/motion/index.d.ts +8 -0
  640. package/motion/index.js +12 -0
  641. package/motion/utils.d.ts +5 -0
  642. package/motion/utils.js +23 -0
  643. package/native-select/index.d.ts +46 -0
  644. package/native-select/index.jsx +99 -0
  645. package/navigation-tree/index.d.ts +43 -0
  646. package/navigation-tree/index.jsx +110 -0
  647. package/number/NumberFormatter.d.ts +28 -0
  648. package/number/NumberFormatter.js +144 -0
  649. package/number/NumberParser.d.ts +27 -0
  650. package/number/NumberParser.js +316 -0
  651. package/number/index.d.ts +5 -0
  652. package/number/index.jsx +17 -0
  653. package/number/number-field-state.d.ts +132 -0
  654. package/number/number-field-state.jsx +364 -0
  655. package/number-field/behaviour.d.ts +165 -0
  656. package/number-field/behaviour.jsx +512 -0
  657. package/number-field/index.d.ts +52 -0
  658. package/number-field/index.jsx +207 -0
  659. package/number-field/intl.d.ts +2 -0
  660. package/number-field/intl.js +36 -0
  661. package/observers/index.d.ts +70 -0
  662. package/observers/index.js +279 -0
  663. package/overflow/index.d.ts +93 -0
  664. package/overflow/index.jsx +267 -0
  665. package/overlay/aria-hide-outside.d.ts +12 -0
  666. package/overlay/aria-hide-outside.js +141 -0
  667. package/overlay/close-on-scroll.d.ts +1 -0
  668. package/overlay/close-on-scroll.js +6 -0
  669. package/overlay/contexts.d.ts +34 -0
  670. package/overlay/contexts.js +21 -0
  671. package/overlay/dismiss-button.d.ts +10 -0
  672. package/overlay/dismiss-button.jsx +18 -0
  673. package/overlay/hover-trigger.d.ts +54 -0
  674. package/overlay/hover-trigger.jsx +221 -0
  675. package/overlay/index.d.ts +40 -0
  676. package/overlay/index.js +139 -0
  677. package/overlay/modal-overlay.d.ts +16 -0
  678. package/overlay/modal-overlay.js +38 -0
  679. package/overlay/overlay-strings.d.ts +4 -0
  680. package/overlay/overlay-strings.js +52 -0
  681. package/overlay/overlay-trigger-state.d.ts +1 -0
  682. package/overlay/overlay-trigger-state.js +3 -0
  683. package/overlay/overlay-trigger.d.ts +27 -0
  684. package/overlay/overlay-trigger.jsx +50 -0
  685. package/overlay/position.d.ts +160 -0
  686. package/overlay/position.js +559 -0
  687. package/overlay/prevent-scroll-ios.d.ts +17 -0
  688. package/overlay/prevent-scroll-ios.js +331 -0
  689. package/overlay/prevent-scroll.d.ts +18 -0
  690. package/overlay/prevent-scroll.js +122 -0
  691. package/overlay/safe-area.d.ts +28 -0
  692. package/overlay/safe-area.js +108 -0
  693. package/overlay-arrow/index.d.ts +23 -0
  694. package/overlay-arrow/index.jsx +59 -0
  695. package/overlay-service/connected-position.d.ts +163 -0
  696. package/overlay-service/connected-position.js +661 -0
  697. package/overlay-service/global-position.d.ts +34 -0
  698. package/overlay-service/global-position.js +154 -0
  699. package/overlay-service/index.d.ts +15 -0
  700. package/overlay-service/index.js +27 -0
  701. package/overlay-service/overlay-container.d.ts +27 -0
  702. package/overlay-service/overlay-container.js +93 -0
  703. package/overlay-service/overlay-dispatchers.d.ts +44 -0
  704. package/overlay-service/overlay-dispatchers.js +149 -0
  705. package/overlay-service/overlay-position-builder.d.ts +8 -0
  706. package/overlay-service/overlay-position-builder.js +15 -0
  707. package/overlay-service/overlay-ref.d.ts +155 -0
  708. package/overlay-service/overlay-ref.js +436 -0
  709. package/overlay-service/overlay-strategy.d.ts +48 -0
  710. package/overlay-service/overlay-strategy.js +3 -0
  711. package/overlay-service/overlay-viewport.d.ts +85 -0
  712. package/overlay-service/overlay-viewport.js +192 -0
  713. package/overlay-service/overlay.css +94 -0
  714. package/overlay-service/scroll-strategies.d.ts +71 -0
  715. package/overlay-service/scroll-strategies.js +185 -0
  716. package/package.json +754 -4
  717. package/platform/index.d.ts +100 -0
  718. package/platform/index.js +304 -0
  719. package/popover/behaviour.d.ts +23 -0
  720. package/popover/behaviour.js +39 -0
  721. package/popover/index.d.ts +60 -0
  722. package/popover/index.jsx +285 -0
  723. package/popover/popover-overlay.d.ts +27 -0
  724. package/popover/popover-overlay.jsx +60 -0
  725. package/popover/use-popover.d.ts +57 -0
  726. package/popover/use-popover.js +92 -0
  727. package/portal/index.d.ts +47 -0
  728. package/portal/index.jsx +76 -0
  729. package/portal/portal-mount.d.ts +8 -0
  730. package/portal/portal-mount.js +7 -0
  731. package/portal/portal-outlet.d.ts +88 -0
  732. package/portal/portal-outlet.js +222 -0
  733. package/preview-trigger/behaviour.d.ts +70 -0
  734. package/preview-trigger/behaviour.jsx +258 -0
  735. package/preview-trigger/index.d.ts +12 -0
  736. package/preview-trigger/index.jsx +82 -0
  737. package/progress-bar/behaviour.d.ts +77 -0
  738. package/progress-bar/behaviour.jsx +75 -0
  739. package/progress-bar/context.d.ts +4 -0
  740. package/progress-bar/context.js +7 -0
  741. package/progress-bar/index.d.ts +38 -0
  742. package/progress-bar/index.jsx +90 -0
  743. package/radio-group/behaviour.d.ts +11 -0
  744. package/radio-group/behaviour.js +85 -0
  745. package/radio-group/index.d.ts +82 -0
  746. package/radio-group/index.jsx +139 -0
  747. package/radio-group/parts.d.ts +223 -0
  748. package/radio-group/parts.jsx +425 -0
  749. package/range-calendar/behaviour.d.ts +2 -0
  750. package/range-calendar/behaviour.jsx +5 -0
  751. package/range-calendar/index.d.ts +2 -0
  752. package/range-calendar/index.jsx +4 -0
  753. package/resizable/engine/components/group/auto-save/getStorageKey.d.ts +1 -0
  754. package/resizable/engine/components/group/auto-save/getStorageKey.js +5 -0
  755. package/resizable/engine/components/group/compareDocumentPosition.d.ts +5 -0
  756. package/resizable/engine/components/group/compareDocumentPosition.js +19 -0
  757. package/resizable/engine/components/group/readLegacyLayout.d.ts +16 -0
  758. package/resizable/engine/components/group/readLegacyLayout.js +48 -0
  759. package/resizable/engine/components/group/sortByElementOffset.d.ts +4 -0
  760. package/resizable/engine/components/group/sortByElementOffset.js +28 -0
  761. package/resizable/engine/components/group/types.d.ts +50 -0
  762. package/resizable/engine/components/group/types.js +1 -0
  763. package/resizable/engine/components/panel/types.d.ts +90 -0
  764. package/resizable/engine/components/panel/types.js +4 -0
  765. package/resizable/engine/constants.d.ts +15 -0
  766. package/resizable/engine/constants.js +27 -0
  767. package/resizable/engine/global/cursor/getCursorStyle.d.ts +7 -0
  768. package/resizable/engine/global/cursor/getCursorStyle.js +94 -0
  769. package/resizable/engine/global/cursor/supportsAdvancedCursorStyles.d.ts +5 -0
  770. package/resizable/engine/global/cursor/supportsAdvancedCursorStyles.js +20 -0
  771. package/resizable/engine/global/cursor/updateCursorStyle.d.ts +1 -0
  772. package/resizable/engine/global/cursor/updateCursorStyle.js +64 -0
  773. package/resizable/engine/global/dom/calculateAvailableAxisSize.d.ts +4 -0
  774. package/resizable/engine/global/dom/calculateAvailableAxisSize.js +10 -0
  775. package/resizable/engine/global/dom/calculateHitRegions.d.ts +13 -0
  776. package/resizable/engine/global/dom/calculateHitRegions.js +153 -0
  777. package/resizable/engine/global/dom/calculateItemConstraints.d.ts +2 -0
  778. package/resizable/engine/global/dom/calculateItemConstraints.js +82 -0
  779. package/resizable/engine/global/event-handlers/onDocumentContextMenu.d.ts +1 -0
  780. package/resizable/engine/global/event-handlers/onDocumentContextMenu.js +9 -0
  781. package/resizable/engine/global/event-handlers/onDocumentDoubleClick.d.ts +1 -0
  782. package/resizable/engine/global/event-handlers/onDocumentDoubleClick.js +28 -0
  783. package/resizable/engine/global/event-handlers/onDocumentKeyDown.d.ts +1 -0
  784. package/resizable/engine/global/event-handlers/onDocumentKeyDown.js +97 -0
  785. package/resizable/engine/global/event-handlers/onDocumentLostPointerCapture.d.ts +1 -0
  786. package/resizable/engine/global/event-handlers/onDocumentLostPointerCapture.js +18 -0
  787. package/resizable/engine/global/event-handlers/onDocumentPointerCancel.d.ts +1 -0
  788. package/resizable/engine/global/event-handlers/onDocumentPointerCancel.js +8 -0
  789. package/resizable/engine/global/event-handlers/onDocumentPointerDown.d.ts +1 -0
  790. package/resizable/engine/global/event-handlers/onDocumentPointerDown.js +54 -0
  791. package/resizable/engine/global/event-handlers/onDocumentPointerLeave.d.ts +1 -0
  792. package/resizable/engine/global/event-handlers/onDocumentPointerLeave.js +22 -0
  793. package/resizable/engine/global/event-handlers/onDocumentPointerMove.d.ts +1 -0
  794. package/resizable/engine/global/event-handlers/onDocumentPointerMove.js +69 -0
  795. package/resizable/engine/global/event-handlers/onDocumentPointerOut.d.ts +1 -0
  796. package/resizable/engine/global/event-handlers/onDocumentPointerOut.js +20 -0
  797. package/resizable/engine/global/event-handlers/onDocumentPointerUp.d.ts +1 -0
  798. package/resizable/engine/global/event-handlers/onDocumentPointerUp.js +15 -0
  799. package/resizable/engine/global/event-handlers/onWindowBlur.d.ts +1 -0
  800. package/resizable/engine/global/event-handlers/onWindowBlur.js +11 -0
  801. package/resizable/engine/global/mountAxis.d.ts +2 -0
  802. package/resizable/engine/global/mountAxis.js +187 -0
  803. package/resizable/engine/global/mutable-state/axes.d.ts +37 -0
  804. package/resizable/engine/global/mutable-state/axes.js +52 -0
  805. package/resizable/engine/global/mutable-state/interactions.d.ts +17 -0
  806. package/resizable/engine/global/mutable-state/interactions.js +92 -0
  807. package/resizable/engine/global/mutable-state/types.d.ts +32 -0
  808. package/resizable/engine/global/mutable-state/types.js +1 -0
  809. package/resizable/engine/global/styles/convertEmToPixels.d.ts +1 -0
  810. package/resizable/engine/global/styles/convertEmToPixels.js +7 -0
  811. package/resizable/engine/global/styles/convertRemToPixels.d.ts +1 -0
  812. package/resizable/engine/global/styles/convertRemToPixels.js +7 -0
  813. package/resizable/engine/global/styles/convertVhToPixels.d.ts +1 -0
  814. package/resizable/engine/global/styles/convertVhToPixels.js +5 -0
  815. package/resizable/engine/global/styles/convertVwToPixels.d.ts +1 -0
  816. package/resizable/engine/global/styles/convertVwToPixels.js +5 -0
  817. package/resizable/engine/global/styles/parseSizeAndUnit.d.ts +2 -0
  818. package/resizable/engine/global/styles/parseSizeAndUnit.js +29 -0
  819. package/resizable/engine/global/styles/sizeStyleToPixels.d.ts +5 -0
  820. package/resizable/engine/global/styles/sizeStyleToPixels.js +38 -0
  821. package/resizable/engine/global/types.d.ts +120 -0
  822. package/resizable/engine/global/types.js +1 -0
  823. package/resizable/engine/global/utils/abortActivePointerResize.d.ts +9 -0
  824. package/resizable/engine/global/utils/abortActivePointerResize.js +52 -0
  825. package/resizable/engine/global/utils/adjustLayoutByDelta.d.ts +9 -0
  826. package/resizable/engine/global/utils/adjustLayoutByDelta.js +219 -0
  827. package/resizable/engine/global/utils/adjustLayoutForSeparator.d.ts +1 -0
  828. package/resizable/engine/global/utils/adjustLayoutForSeparator.js +48 -0
  829. package/resizable/engine/global/utils/calculateDefaultLayout.d.ts +2 -0
  830. package/resizable/engine/global/utils/calculateDefaultLayout.js +30 -0
  831. package/resizable/engine/global/utils/calculateResizePreviews.d.ts +3 -0
  832. package/resizable/engine/global/utils/calculateResizePreviews.js +39 -0
  833. package/resizable/engine/global/utils/calculateSeparatorAriaValues.d.ts +12 -0
  834. package/resizable/engine/global/utils/calculateSeparatorAriaValues.js +43 -0
  835. package/resizable/engine/global/utils/compareLayoutNumbers.d.ts +1 -0
  836. package/resizable/engine/global/utils/compareLayoutNumbers.js +11 -0
  837. package/resizable/engine/global/utils/completeActivePointerResize.d.ts +6 -0
  838. package/resizable/engine/global/utils/completeActivePointerResize.js +49 -0
  839. package/resizable/engine/global/utils/doRectsIntersect.d.ts +2 -0
  840. package/resizable/engine/global/utils/doRectsIntersect.js +3 -0
  841. package/resizable/engine/global/utils/expandHitTarget.d.ts +10 -0
  842. package/resizable/engine/global/utils/expandHitTarget.js +19 -0
  843. package/resizable/engine/global/utils/findClosestHitRegion.d.ts +9 -0
  844. package/resizable/engine/global/utils/findClosestHitRegion.js +35 -0
  845. package/resizable/engine/global/utils/findClosestRect.d.ts +6 -0
  846. package/resizable/engine/global/utils/findClosestRect.js +22 -0
  847. package/resizable/engine/global/utils/findMatchingHitRegions.d.ts +7 -0
  848. package/resizable/engine/global/utils/findMatchingHitRegions.js +29 -0
  849. package/resizable/engine/global/utils/findSeparatorAxis.d.ts +21 -0
  850. package/resizable/engine/global/utils/findSeparatorAxis.js +12 -0
  851. package/resizable/engine/global/utils/formatLayoutNumber.d.ts +1 -0
  852. package/resizable/engine/global/utils/formatLayoutNumber.js +5 -0
  853. package/resizable/engine/global/utils/getDefaultLayout.d.ts +5 -0
  854. package/resizable/engine/global/utils/getDefaultLayout.js +11 -0
  855. package/resizable/engine/global/utils/getDistanceBetweenPointAndRect.d.ts +5 -0
  856. package/resizable/engine/global/utils/getDistanceBetweenPointAndRect.js +6 -0
  857. package/resizable/engine/global/utils/getImperativeAxisMethods.d.ts +4 -0
  858. package/resizable/engine/global/utils/getImperativeAxisMethods.js +53 -0
  859. package/resizable/engine/global/utils/getImperativeItemMethods.d.ts +5 -0
  860. package/resizable/engine/global/utils/getImperativeItemMethods.js +169 -0
  861. package/resizable/engine/global/utils/isCoarsePointer.d.ts +4 -0
  862. package/resizable/engine/global/utils/isCoarsePointer.js +17 -0
  863. package/resizable/engine/global/utils/isModal.d.ts +1 -0
  864. package/resizable/engine/global/utils/isModal.js +11 -0
  865. package/resizable/engine/global/utils/isViableHitTarget.d.ts +5 -0
  866. package/resizable/engine/global/utils/isViableHitTarget.js +50 -0
  867. package/resizable/engine/global/utils/itemConstraintsEqual.d.ts +2 -0
  868. package/resizable/engine/global/utils/itemConstraintsEqual.js +9 -0
  869. package/resizable/engine/global/utils/layoutNumbersEqual.d.ts +1 -0
  870. package/resizable/engine/global/utils/layoutNumbersEqual.js +6 -0
  871. package/resizable/engine/global/utils/layoutsEqual.d.ts +2 -0
  872. package/resizable/engine/global/utils/layoutsEqual.js +15 -0
  873. package/resizable/engine/global/utils/normalizeLayout.d.ts +11 -0
  874. package/resizable/engine/global/utils/normalizeLayout.js +21 -0
  875. package/resizable/engine/global/utils/notifyItemOnResize.d.ts +2 -0
  876. package/resizable/engine/global/utils/notifyItemOnResize.js +23 -0
  877. package/resizable/engine/global/utils/objectsEqual.d.ts +1 -0
  878. package/resizable/engine/global/utils/objectsEqual.js +14 -0
  879. package/resizable/engine/global/utils/preserveFixedItemSizes.d.ts +7 -0
  880. package/resizable/engine/global/utils/preserveFixedItemSizes.js +53 -0
  881. package/resizable/engine/global/utils/recordAxisLayoutChange.d.ts +15 -0
  882. package/resizable/engine/global/utils/recordAxisLayoutChange.js +25 -0
  883. package/resizable/engine/global/utils/updateActiveHitRegion.d.ts +18 -0
  884. package/resizable/engine/global/utils/updateActiveHitRegion.js +119 -0
  885. package/resizable/engine/global/utils/validateAxisLayout.d.ts +5 -0
  886. package/resizable/engine/global/utils/validateAxisLayout.js +70 -0
  887. package/resizable/engine/global/utils/validateItemSize.d.ts +7 -0
  888. package/resizable/engine/global/utils/validateItemSize.js +31 -0
  889. package/resizable/engine/global/utils/validateLayoutKeys.d.ts +2 -0
  890. package/resizable/engine/global/utils/validateLayoutKeys.js +13 -0
  891. package/resizable/engine/types.d.ts +13 -0
  892. package/resizable/engine/types.js +1 -0
  893. package/resizable/engine/utils/EventEmitter.d.ts +11 -0
  894. package/resizable/engine/utils/EventEmitter.js +60 -0
  895. package/resizable/engine/utils/assert.d.ts +1 -0
  896. package/resizable/engine/utils/assert.js +7 -0
  897. package/resizable/engine/utils/isArrayEqual.d.ts +1 -0
  898. package/resizable/engine/utils/isArrayEqual.js +15 -0
  899. package/resizable/engine/utils/isHTMLElement.d.ts +1 -0
  900. package/resizable/engine/utils/isHTMLElement.js +6 -0
  901. package/resizable/engine/utils/isShadowRoot.d.ts +1 -0
  902. package/resizable/engine/utils/isShadowRoot.js +6 -0
  903. package/resizable/engine/vendor/stacking-order.d.ts +7 -0
  904. package/resizable/engine/vendor/stacking-order.js +122 -0
  905. package/resizable/index.d.ts +263 -0
  906. package/resizable/index.jsx +537 -0
  907. package/resizable/mount.d.ts +115 -0
  908. package/resizable/mount.js +540 -0
  909. package/scheduler/behaviour.d.ts +71 -0
  910. package/scheduler/behaviour.js +243 -0
  911. package/scheduler/context.d.ts +100 -0
  912. package/scheduler/context.jsx +7 -0
  913. package/scheduler/dates.d.ts +53 -0
  914. package/scheduler/dates.js +183 -0
  915. package/scheduler/drag.d.ts +20 -0
  916. package/scheduler/drag.js +361 -0
  917. package/scheduler/event.d.ts +26 -0
  918. package/scheduler/event.jsx +93 -0
  919. package/scheduler/index.d.ts +57 -0
  920. package/scheduler/index.jsx +303 -0
  921. package/scheduler/intl.d.ts +16 -0
  922. package/scheduler/intl.js +529 -0
  923. package/scheduler/keys-month.d.ts +7 -0
  924. package/scheduler/keys-month.js +110 -0
  925. package/scheduler/keys-time-grid.d.ts +9 -0
  926. package/scheduler/keys-time-grid.js +115 -0
  927. package/scheduler/keys.d.ts +103 -0
  928. package/scheduler/keys.js +527 -0
  929. package/scheduler/layout-index.d.ts +3 -0
  930. package/scheduler/layout-index.js +6 -0
  931. package/scheduler/layout.d.ts +285 -0
  932. package/scheduler/layout.js +378 -0
  933. package/scheduler/menus.d.ts +66 -0
  934. package/scheduler/menus.jsx +88 -0
  935. package/scheduler/month.d.ts +26 -0
  936. package/scheduler/month.jsx +215 -0
  937. package/scheduler/pointer.d.ts +64 -0
  938. package/scheduler/pointer.js +203 -0
  939. package/scheduler/select.d.ts +11 -0
  940. package/scheduler/select.js +64 -0
  941. package/scheduler/selection.d.ts +34 -0
  942. package/scheduler/selection.js +39 -0
  943. package/scheduler/state.d.ts +296 -0
  944. package/scheduler/state.js +496 -0
  945. package/scheduler/time-grid-client.d.ts +32 -0
  946. package/scheduler/time-grid-client.jsx +133 -0
  947. package/scheduler/time-grid.d.ts +26 -0
  948. package/scheduler/time-grid.jsx +266 -0
  949. package/scheduler/time.d.ts +35 -0
  950. package/scheduler/time.js +56 -0
  951. package/scheduler/toolbar.d.ts +43 -0
  952. package/scheduler/toolbar.jsx +38 -0
  953. package/scroll-area/dom.d.ts +11 -0
  954. package/scroll-area/dom.js +55 -0
  955. package/scroll-area/index.d.ts +96 -0
  956. package/scroll-area/index.jsx +884 -0
  957. package/scroll-area/presence.d.ts +12 -0
  958. package/scroll-area/presence.jsx +131 -0
  959. package/scrolling/auto-size-virtual-scroll.d.ts +53 -0
  960. package/scrolling/auto-size-virtual-scroll.js +213 -0
  961. package/scrolling/behaviour.d.ts +3 -0
  962. package/scrolling/behaviour.js +5 -0
  963. package/scrolling/emitter.d.ts +34 -0
  964. package/scrolling/emitter.js +144 -0
  965. package/scrolling/fixed-size-virtual-scroll.d.ts +28 -0
  966. package/scrolling/fixed-size-virtual-scroll.js +107 -0
  967. package/scrolling/index.d.ts +11 -0
  968. package/scrolling/index.jsx +13 -0
  969. package/scrolling/rtl.d.ts +16 -0
  970. package/scrolling/rtl.js +64 -0
  971. package/scrolling/scroll-dispatcher.d.ts +49 -0
  972. package/scrolling/scroll-dispatcher.js +107 -0
  973. package/scrolling/scrollable.d.ts +75 -0
  974. package/scrolling/scrollable.js +149 -0
  975. package/scrolling/scrolling.css +11 -0
  976. package/scrolling/state.d.ts +92 -0
  977. package/scrolling/state.js +94 -0
  978. package/scrolling/viewport-ruler.d.ts +47 -0
  979. package/scrolling/viewport-ruler.js +100 -0
  980. package/scrolling/viewport.d.ts +54 -0
  981. package/scrolling/viewport.jsx +105 -0
  982. package/scrolling/virtual-scroll-strategy.d.ts +41 -0
  983. package/scrolling/virtual-scroll-strategy.js +2 -0
  984. package/scrolling/virtual-scroll-viewport.d.ts +95 -0
  985. package/scrolling/virtual-scroll-viewport.js +370 -0
  986. package/search-field/behaviour.d.ts +62 -0
  987. package/search-field/behaviour.jsx +116 -0
  988. package/search-field/index.d.ts +57 -0
  989. package/search-field/index.jsx +158 -0
  990. package/search-field/intl.d.ts +2 -0
  991. package/search-field/intl.js +36 -0
  992. package/select/behaviour.d.ts +188 -0
  993. package/select/behaviour.jsx +445 -0
  994. package/select/hidden-select.d.ts +44 -0
  995. package/select/hidden-select.jsx +68 -0
  996. package/select/index.d.ts +123 -0
  997. package/select/index.jsx +255 -0
  998. package/select/intl.d.ts +2 -0
  999. package/select/intl.js +36 -0
  1000. package/select/parts.d.ts +11 -0
  1001. package/select/parts.jsx +12 -0
  1002. package/select/select-parts.d.ts +73 -0
  1003. package/select/select-parts.jsx +293 -0
  1004. package/select/select-value.d.ts +58 -0
  1005. package/select/select-value.jsx +142 -0
  1006. package/selection/dom-utils.d.ts +25 -0
  1007. package/selection/dom-utils.js +77 -0
  1008. package/selection/keyed.d.ts +19 -0
  1009. package/selection/keyed.js +76 -0
  1010. package/selection/list-keyboard-delegate.d.ts +67 -0
  1011. package/selection/list-keyboard-delegate.js +274 -0
  1012. package/selection/manager.d.ts +112 -0
  1013. package/selection/manager.js +340 -0
  1014. package/selection/selectable-collection.d.ts +123 -0
  1015. package/selection/selectable-collection.js +535 -0
  1016. package/selection/selectable-item.d.ts +128 -0
  1017. package/selection/selectable-item.js +486 -0
  1018. package/selection/selectable-list.d.ts +42 -0
  1019. package/selection/selectable-list.js +34 -0
  1020. package/selection/state.d.ts +96 -0
  1021. package/selection/state.js +131 -0
  1022. package/selection/type-select.d.ts +37 -0
  1023. package/selection/type-select.js +114 -0
  1024. package/selection/utils.d.ts +23 -0
  1025. package/selection/utils.js +38 -0
  1026. package/selection-indicator/context.d.ts +10 -0
  1027. package/selection-indicator/context.js +7 -0
  1028. package/selection-indicator/index.d.ts +20 -0
  1029. package/selection-indicator/index.jsx +25 -0
  1030. package/separator/behaviour.d.ts +17 -0
  1031. package/separator/behaviour.js +17 -0
  1032. package/separator/index.d.ts +23 -0
  1033. package/separator/index.jsx +64 -0
  1034. package/shared-element-transition/index.d.ts +36 -0
  1035. package/shared-element-transition/index.jsx +182 -0
  1036. package/shared-element-transition/transition.d.ts +19 -0
  1037. package/shared-element-transition/transition.jsx +20 -0
  1038. package/sheet-motion/index.d.ts +82 -0
  1039. package/sheet-motion/index.js +386 -0
  1040. package/sidebar/index.d.ts +257 -0
  1041. package/sidebar/index.jsx +624 -0
  1042. package/sidebar/pages.d.ts +71 -0
  1043. package/sidebar/pages.jsx +177 -0
  1044. package/sidebar/resize.d.ts +69 -0
  1045. package/sidebar/resize.js +237 -0
  1046. package/sidebar/sheet-motion.d.ts +15 -0
  1047. package/sidebar/sheet-motion.js +170 -0
  1048. package/sidebar/state.d.ts +126 -0
  1049. package/sidebar/state.js +204 -0
  1050. package/slider/behaviour.d.ts +141 -0
  1051. package/slider/behaviour.jsx +492 -0
  1052. package/slider/index.d.ts +171 -0
  1053. package/slider/index.jsx +392 -0
  1054. package/slider/state.d.ts +203 -0
  1055. package/slider/state.js +377 -0
  1056. package/slots/index.d.ts +248 -0
  1057. package/slots/index.jsx +473 -0
  1058. package/spinbutton/behaviour.d.ts +66 -0
  1059. package/spinbutton/behaviour.jsx +312 -0
  1060. package/spinbutton/intl.d.ts +2 -0
  1061. package/spinbutton/intl.js +36 -0
  1062. package/state/autocomplete.d.ts +26 -0
  1063. package/state/autocomplete.js +32 -0
  1064. package/state/calendar.d.ts +284 -0
  1065. package/state/calendar.js +755 -0
  1066. package/state/checkbox-group.d.ts +67 -0
  1067. package/state/checkbox-group.js +76 -0
  1068. package/state/combobox.d.ts +238 -0
  1069. package/state/combobox.js +708 -0
  1070. package/state/date-field.d.ts +407 -0
  1071. package/state/date-field.js +1117 -0
  1072. package/state/date-intl.d.ts +3 -0
  1073. package/state/date-intl.js +36 -0
  1074. package/state/date-picker.d.ts +144 -0
  1075. package/state/date-picker.js +387 -0
  1076. package/state/disclosure.d.ts +90 -0
  1077. package/state/disclosure.js +148 -0
  1078. package/state/form-validation.d.ts +89 -0
  1079. package/state/form-validation.js +158 -0
  1080. package/state/grid.d.ts +62 -0
  1081. package/state/grid.js +127 -0
  1082. package/state/list.d.ts +58 -0
  1083. package/state/list.js +124 -0
  1084. package/state/menu.d.ts +159 -0
  1085. package/state/menu.js +184 -0
  1086. package/state/overlays.d.ts +35 -0
  1087. package/state/overlays.js +29 -0
  1088. package/state/radio-group.d.ts +58 -0
  1089. package/state/radio-group.js +68 -0
  1090. package/state/search-field.d.ts +20 -0
  1091. package/state/search-field.js +21 -0
  1092. package/state/select.d.ts +150 -0
  1093. package/state/select.js +187 -0
  1094. package/state/selection.d.ts +3 -0
  1095. package/state/selection.js +5 -0
  1096. package/state/table-column-resize.d.ts +58 -0
  1097. package/state/table-column-resize.js +76 -0
  1098. package/state/table.d.ts +81 -0
  1099. package/state/table.js +114 -0
  1100. package/state/tabs.d.ts +85 -0
  1101. package/state/tabs.js +161 -0
  1102. package/state/time-field.d.ts +32 -0
  1103. package/state/time-field.js +34 -0
  1104. package/state/toast.d.ts +80 -0
  1105. package/state/toast.js +146 -0
  1106. package/state/toggle-group.d.ts +70 -0
  1107. package/state/toggle-group.js +110 -0
  1108. package/state/toggle.d.ts +40 -0
  1109. package/state/toggle.js +39 -0
  1110. package/state/tooltip.d.ts +53 -0
  1111. package/state/tooltip.js +153 -0
  1112. package/stepper/index.d.ts +117 -0
  1113. package/stepper/index.jsx +405 -0
  1114. package/stepper/state.d.ts +200 -0
  1115. package/stepper/state.js +325 -0
  1116. package/switch/behaviour.d.ts +12 -0
  1117. package/switch/behaviour.jsx +9 -0
  1118. package/switch/index.d.ts +150 -0
  1119. package/switch/index.jsx +186 -0
  1120. package/table/behaviour.d.ts +181 -0
  1121. package/table/behaviour.js +334 -0
  1122. package/table/collection.d.ts +49 -0
  1123. package/table/collection.js +259 -0
  1124. package/table/column-resize.d.ts +48 -0
  1125. package/table/column-resize.jsx +247 -0
  1126. package/table/index.d.ts +339 -0
  1127. package/table/index.jsx +982 -0
  1128. package/table/intl.d.ts +2 -0
  1129. package/table/intl.js +36 -0
  1130. package/table/keyboard-delegate.d.ts +21 -0
  1131. package/table/keyboard-delegate.js +166 -0
  1132. package/table/rac-intl.d.ts +2 -0
  1133. package/table/rac-intl.js +36 -0
  1134. package/tabs/behaviour.d.ts +49 -0
  1135. package/tabs/behaviour.js +173 -0
  1136. package/tabs/index.d.ts +248 -0
  1137. package/tabs/index.jsx +577 -0
  1138. package/tabs/keyboard-delegate.d.ts +17 -0
  1139. package/tabs/keyboard-delegate.js +64 -0
  1140. package/tag-group/behaviour.d.ts +59 -0
  1141. package/tag-group/behaviour.js +112 -0
  1142. package/tag-group/index.d.ts +138 -0
  1143. package/tag-group/index.jsx +565 -0
  1144. package/tag-group/intl.d.ts +2 -0
  1145. package/tag-group/intl.js +36 -0
  1146. package/tailwind.css +12 -0
  1147. package/tests-components/app/src/routes/index.d.ts +4 -0
  1148. package/tests-components/app/src/routes/index.jsx +7 -0
  1149. package/text/index.d.ts +15 -0
  1150. package/text/index.jsx +61 -0
  1151. package/text-area/index.d.ts +19 -0
  1152. package/text-area/index.jsx +76 -0
  1153. package/text-field/autosize.d.ts +70 -0
  1154. package/text-field/autosize.js +355 -0
  1155. package/text-field/behaviour.d.ts +140 -0
  1156. package/text-field/behaviour.jsx +260 -0
  1157. package/text-field/fields.d.ts +12 -0
  1158. package/text-field/fields.js +20 -0
  1159. package/text-field/index.d.ts +50 -0
  1160. package/text-field/index.jsx +174 -0
  1161. package/text-field/text-field.css +45 -0
  1162. package/theme.css +1006 -0
  1163. package/time-wheels/behaviour.d.ts +29 -0
  1164. package/time-wheels/behaviour.js +156 -0
  1165. package/time-wheels/index.d.ts +27 -0
  1166. package/time-wheels/index.jsx +91 -0
  1167. package/toast/behaviour.d.ts +51 -0
  1168. package/toast/behaviour.jsx +273 -0
  1169. package/toast/index.d.ts +94 -0
  1170. package/toast/index.jsx +256 -0
  1171. package/toast/intl.d.ts +2 -0
  1172. package/toast/intl.js +36 -0
  1173. package/toggle-button/behaviour.d.ts +15 -0
  1174. package/toggle-button/behaviour.js +37 -0
  1175. package/toggle-button/index.d.ts +59 -0
  1176. package/toggle-button/index.jsx +206 -0
  1177. package/toggle-button-group/behaviour.d.ts +19 -0
  1178. package/toggle-button-group/behaviour.jsx +13 -0
  1179. package/toggle-button-group/context.d.ts +7 -0
  1180. package/toggle-button-group/context.js +9 -0
  1181. package/toggle-button-group/index.d.ts +39 -0
  1182. package/toggle-button-group/index.jsx +85 -0
  1183. package/toggle-button-group/item.d.ts +30 -0
  1184. package/toggle-button-group/item.jsx +37 -0
  1185. package/toolbar/behaviour.d.ts +22 -0
  1186. package/toolbar/behaviour.js +89 -0
  1187. package/toolbar/index.d.ts +16 -0
  1188. package/toolbar/index.jsx +67 -0
  1189. package/tooltip/behaviour.d.ts +93 -0
  1190. package/tooltip/behaviour.jsx +299 -0
  1191. package/tooltip/index.d.ts +59 -0
  1192. package/tooltip/index.jsx +193 -0
  1193. package/tree/behaviour.d.ts +51 -0
  1194. package/tree/behaviour.jsx +51 -0
  1195. package/tree/cdk-index.d.ts +2 -0
  1196. package/tree/cdk-index.js +6 -0
  1197. package/tree/collection.d.ts +16 -0
  1198. package/tree/collection.js +138 -0
  1199. package/tree/control.d.ts +125 -0
  1200. package/tree/control.js +166 -0
  1201. package/tree/index.d.ts +154 -0
  1202. package/tree/index.jsx +815 -0
  1203. package/tree/intl.d.ts +2 -0
  1204. package/tree/intl.js +36 -0
  1205. package/tree/navigation-context.d.ts +44 -0
  1206. package/tree/navigation-context.jsx +63 -0
  1207. package/tree/tree-key-manager.d.ts +149 -0
  1208. package/tree/tree-key-manager.js +336 -0
  1209. package/utils/animation.d.ts +32 -0
  1210. package/utils/animation.jsx +236 -0
  1211. package/utils/data-attrs.d.ts +71 -0
  1212. package/utils/data-attrs.jsx +193 -0
  1213. package/utils/dev-off.d.ts +3 -0
  1214. package/utils/dev-off.js +7 -0
  1215. package/utils/dev-on.d.ts +3 -0
  1216. package/utils/dev-on.js +17 -0
  1217. package/utils/dom-props.d.ts +44 -0
  1218. package/utils/dom-props.js +73 -0
  1219. package/utils/dom.d.ts +85 -0
  1220. package/utils/dom.js +402 -0
  1221. package/utils/id.d.ts +23 -0
  1222. package/utils/id.js +100 -0
  1223. package/utils/index.d.ts +57 -0
  1224. package/utils/index.js +257 -0
  1225. package/utils/links.d.ts +87 -0
  1226. package/utils/links.jsx +152 -0
  1227. package/utils/live-element.d.ts +8 -0
  1228. package/utils/live-element.jsx +76 -0
  1229. package/utils/live.d.ts +53 -0
  1230. package/utils/live.jsx +169 -0
  1231. package/utils/load-more-sentinel.d.ts +28 -0
  1232. package/utils/load-more-sentinel.jsx +52 -0
  1233. package/utils/motion-token.d.ts +4 -0
  1234. package/utils/motion-token.js +48 -0
  1235. package/utils/render.d.ts +19 -0
  1236. package/utils/render.js +18 -0
  1237. package/utils/types.d.ts +111 -0
  1238. package/utils/types.js +1 -0
  1239. package/virtualizer/behaviour.d.ts +98 -0
  1240. package/virtualizer/behaviour.js +315 -0
  1241. package/virtualizer/collection.d.ts +103 -0
  1242. package/virtualizer/collection.js +155 -0
  1243. package/virtualizer/dom.d.ts +50 -0
  1244. package/virtualizer/dom.js +233 -0
  1245. package/virtualizer/engine.d.ts +21 -0
  1246. package/virtualizer/engine.js +21 -0
  1247. package/virtualizer/grid-layout.d.ts +50 -0
  1248. package/virtualizer/grid-layout.js +247 -0
  1249. package/virtualizer/index.d.ts +2 -0
  1250. package/virtualizer/index.jsx +4 -0
  1251. package/virtualizer/layout-info.d.ts +33 -0
  1252. package/virtualizer/layout-info.js +54 -0
  1253. package/virtualizer/layout.d.ts +44 -0
  1254. package/virtualizer/layout.js +30 -0
  1255. package/virtualizer/list-layout.d.ts +103 -0
  1256. package/virtualizer/list-layout.js +508 -0
  1257. package/virtualizer/overscan-manager.d.ts +9 -0
  1258. package/virtualizer/overscan-manager.js +32 -0
  1259. package/virtualizer/point.d.ts +13 -0
  1260. package/virtualizer/point.js +23 -0
  1261. package/virtualizer/rect.d.ts +49 -0
  1262. package/virtualizer/rect.js +105 -0
  1263. package/virtualizer/reusable-view.d.ts +29 -0
  1264. package/virtualizer/reusable-view.js +56 -0
  1265. package/virtualizer/scroll-anchor.d.ts +62 -0
  1266. package/virtualizer/scroll-anchor.js +130 -0
  1267. package/virtualizer/size.d.ts +11 -0
  1268. package/virtualizer/size.js +21 -0
  1269. package/virtualizer/state.d.ts +35 -0
  1270. package/virtualizer/state.js +79 -0
  1271. package/virtualizer/table-collection.d.ts +45 -0
  1272. package/virtualizer/table-collection.js +80 -0
  1273. package/virtualizer/table-column-layout.d.ts +44 -0
  1274. package/virtualizer/table-column-layout.js +210 -0
  1275. package/virtualizer/table-layout.d.ts +55 -0
  1276. package/virtualizer/table-layout.js +482 -0
  1277. package/virtualizer/types.d.ts +63 -0
  1278. package/virtualizer/types.js +1 -0
  1279. package/virtualizer/utils.d.ts +2 -0
  1280. package/virtualizer/utils.js +12 -0
  1281. package/virtualizer/virtualizer-core.d.ts +61 -0
  1282. package/virtualizer/virtualizer-core.js +304 -0
  1283. package/virtualizer/virtualizer.d.ts +62 -0
  1284. package/virtualizer/virtualizer.jsx +88 -0
  1285. package/virtualizer/waterfall-layout.d.ts +41 -0
  1286. package/virtualizer/waterfall-layout.js +227 -0
  1287. package/wheel-picker/behaviour.d.ts +94 -0
  1288. package/wheel-picker/behaviour.js +482 -0
  1289. package/wheel-picker/index.d.ts +33 -0
  1290. package/wheel-picker/index.jsx +66 -0
@@ -0,0 +1,3 @@
1
+ import type { LocalizedStrings } from "@rivetjs/cdk/i18n";
2
+ export type DateValidationMessageKey = "rangeUnderflow" | "rangeOverflow" | "rangeReversed" | "unavailableDate";
3
+ export declare const dateValidationMessages: LocalizedStrings<DateValidationMessageKey>;
@@ -0,0 +1,36 @@
1
+ export const dateValidationMessages = {
2
+ "ar-AE": { "rangeOverflow": "يجب أن تكون القيمة {maxValue} أو قبل ذلك.", "rangeReversed": "تاريخ البدء يجب أن يكون قبل تاريخ الانتهاء.", "rangeUnderflow": "يجب أن تكون القيمة {minValue} أو بعد ذلك.", "unavailableDate": "البيانات المحددة غير متاحة." },
3
+ "bg-BG": { "rangeOverflow": "Стойността трябва да е {maxValue} или по-ранна.", "rangeReversed": "Началната дата трябва да е преди крайната.", "rangeUnderflow": "Стойността трябва да е {minValue} или по-късно.", "unavailableDate": "Избраната дата не е налична." },
4
+ "cs-CZ": { "rangeOverflow": "Hodnota musí být {maxValue} nebo dřívější.", "rangeReversed": "Datum zahájení musí předcházet datu ukončení.", "rangeUnderflow": "Hodnota musí být {minValue} nebo pozdější.", "unavailableDate": "Vybrané datum není k dispozici." },
5
+ "da-DK": { "rangeOverflow": "Værdien skal være {maxValue} eller tidligere.", "rangeReversed": "Startdatoen skal være før slutdatoen.", "rangeUnderflow": "Værdien skal være {minValue} eller nyere.", "unavailableDate": "Den valgte dato er ikke tilgængelig." },
6
+ "de-DE": { "rangeOverflow": "Der Wert muss {maxValue} oder früher sein.", "rangeReversed": "Das Startdatum muss vor dem Enddatum liegen.", "rangeUnderflow": "Der Wert muss {minValue} oder später sein.", "unavailableDate": "Das ausgewählte Datum ist nicht verfügbar." },
7
+ "el-GR": { "rangeOverflow": "Η τιμή πρέπει να είναι {maxValue} ή παλαιότερη.", "rangeReversed": "Η ημερομηνία έναρξης πρέπει να είναι πριν από την ημερομηνία λήξης.", "rangeUnderflow": "Η τιμή πρέπει να είναι {minValue} ή μεταγενέστερη.", "unavailableDate": "Η επιλεγμένη ημερομηνία δεν είναι διαθέσιμη." },
8
+ "en-US": { "rangeUnderflow": "Value must be {minValue} or later.", "rangeOverflow": "Value must be {maxValue} or earlier.", "rangeReversed": "Start date must be before end date.", "unavailableDate": "Selected date unavailable." },
9
+ "es-ES": { "rangeOverflow": "El valor debe ser {maxValue} o anterior.", "rangeReversed": "La fecha de inicio debe ser anterior a la fecha de finalización.", "rangeUnderflow": "El valor debe ser {minValue} o posterior.", "unavailableDate": "Fecha seleccionada no disponible." },
10
+ "et-EE": { "rangeOverflow": "Väärtus peab olema {maxValue} või varasem.", "rangeReversed": "Alguskuupäev peab olema enne lõppkuupäeva.", "rangeUnderflow": "Väärtus peab olema {minValue} või hilisem.", "unavailableDate": "Valitud kuupäev pole saadaval." },
11
+ "fi-FI": { "rangeOverflow": "Arvon on oltava {maxValue} tai sitä aikaisempi.", "rangeReversed": "Aloituspäivän on oltava ennen lopetuspäivää.", "rangeUnderflow": "Arvon on oltava {minValue} tai sitä myöhäisempi.", "unavailableDate": "Valittu päivämäärä ei ole käytettävissä." },
12
+ "fr-FR": { "rangeOverflow": "La valeur doit être {maxValue} ou antérieure.", "rangeReversed": "La date de début doit être antérieure à la date de fin.", "rangeUnderflow": "La valeur doit être {minValue} ou ultérieure.", "unavailableDate": "La date sélectionnée n’est pas disponible." },
13
+ "he-IL": { "rangeOverflow": "הערך חייב להיות {maxValue} או מוקדם יותר.", "rangeReversed": "תאריך ההתחלה חייב להיות לפני תאריך הסיום.", "rangeUnderflow": "הערך חייב להיות {minValue} או מאוחר יותר.", "unavailableDate": "התאריך הנבחר אינו זמין." },
14
+ "hr-HR": { "rangeOverflow": "Vrijednost mora biti {maxValue} ili ranije.", "rangeReversed": "Datum početka mora biti prije datuma završetka.", "rangeUnderflow": "Vrijednost mora biti {minValue} ili kasnije.", "unavailableDate": "Odabrani datum nije dostupan." },
15
+ "hu-HU": { "rangeOverflow": "Az értéknek {maxValue} vagy korábbinak kell lennie.", "rangeReversed": "A kezdő dátumnak a befejező dátumnál korábbinak kell lennie.", "rangeUnderflow": "Az értéknek {minValue} vagy későbbinek kell lennie.", "unavailableDate": "A kiválasztott dátum nem érhető el." },
16
+ "it-IT": { "rangeOverflow": "Il valore deve essere {maxValue} o precedente.", "rangeReversed": "La data di inizio deve essere antecedente alla data di fine.", "rangeUnderflow": "Il valore deve essere {minValue} o successivo.", "unavailableDate": "Data selezionata non disponibile." },
17
+ "ja-JP": { "rangeOverflow": "値は {maxValue} 以下にする必要があります。", "rangeReversed": "開始日は終了日より前にする必要があります。", "rangeUnderflow": "値は {minValue} 以上にする必要があります。", "unavailableDate": "選択した日付は使用できません。" },
18
+ "ko-KR": { "rangeOverflow": "값은 {maxValue} 이전이어야 합니다.", "rangeReversed": "시작일은 종료일 이전이어야 합니다.", "rangeUnderflow": "값은 {minValue} 이후여야 합니다.", "unavailableDate": "선택한 날짜를 사용할 수 없습니다." },
19
+ "lt-LT": { "rangeOverflow": "Reikšmė turi būti {maxValue} arba ankstesnė.", "rangeReversed": "Pradžios data turi būti ankstesnė nei pabaigos data.", "rangeUnderflow": "Reikšmė turi būti {minValue} arba naujesnė.", "unavailableDate": "Pasirinkta data nepasiekiama." },
20
+ "lv-LV": { "rangeOverflow": "Vērtībai ir jābūt {maxValue} vai agrākai.", "rangeReversed": "Sākuma datumam ir jābūt pirms beigu datuma.", "rangeUnderflow": "Vērtībai ir jābūt {minValue} vai vēlākai.", "unavailableDate": "Atlasītais datums nav pieejams." },
21
+ "nb-NO": { "rangeOverflow": "Verdien må være {maxValue} eller tidligere.", "rangeReversed": "Startdatoen må være før sluttdatoen.", "rangeUnderflow": "Verdien må være {minValue} eller senere.", "unavailableDate": "Valgt dato utilgjengelig." },
22
+ "nl-NL": { "rangeOverflow": "Waarde moet {maxValue} of eerder zijn.", "rangeReversed": "De startdatum moet voor de einddatum liggen.", "rangeUnderflow": "Waarde moet {minValue} of later zijn.", "unavailableDate": "Geselecteerde datum niet beschikbaar." },
23
+ "pl-PL": { "rangeOverflow": "Wartość musi mieć wartość {maxValue} lub wcześniejszą.", "rangeReversed": "Data rozpoczęcia musi być wcześniejsza niż data zakończenia.", "rangeUnderflow": "Wartość musi mieć wartość {minValue} lub późniejszą.", "unavailableDate": "Wybrana data jest niedostępna." },
24
+ "pt-BR": { "rangeOverflow": "O valor deve ser {maxValue} ou anterior.", "rangeReversed": "A data inicial deve ser anterior à data final.", "rangeUnderflow": "O valor deve ser {minValue} ou posterior.", "unavailableDate": "Data selecionada indisponível." },
25
+ "pt-PT": { "rangeOverflow": "O valor tem de ser {maxValue} ou anterior.", "rangeReversed": "A data de início deve ser anterior à data de fim.", "rangeUnderflow": "O valor tem de ser {minValue} ou posterior.", "unavailableDate": "Data selecionada indisponível." },
26
+ "ro-RO": { "rangeOverflow": "Valoarea trebuie să fie {maxValue} sau anterioară.", "rangeReversed": "Data de început trebuie să fie anterioară datei de sfârșit.", "rangeUnderflow": "Valoarea trebuie să fie {minValue} sau ulterioară.", "unavailableDate": "Data selectată nu este disponibilă." },
27
+ "ru-RU": { "rangeOverflow": "Значение должно быть не позже {maxValue}.", "rangeReversed": "Дата начала должна предшествовать дате окончания.", "rangeUnderflow": "Значение должно быть не раньше {minValue}.", "unavailableDate": "Выбранная дата недоступна." },
28
+ "sk-SK": { "rangeOverflow": "Hodnota musí byť {maxValue} alebo skoršia.", "rangeReversed": "Dátum začiatku musí byť skorší ako dátum konca.", "rangeUnderflow": "Hodnota musí byť {minValue} alebo neskoršia.", "unavailableDate": "Vybratý dátum je nedostupný." },
29
+ "sl-SI": { "rangeOverflow": "Vrednost mora biti {maxValue} ali starejša.", "rangeReversed": "Začetni datum mora biti pred končnim datumom.", "rangeUnderflow": "Vrednost mora biti {minValue} ali novejša.", "unavailableDate": "Izbrani datum ni na voljo." },
30
+ "sr-SP": { "rangeOverflow": "Vrednost mora da bude {maxValue} ili starija.", "rangeReversed": "Datum početka mora biti pre datuma završetka.", "rangeUnderflow": "Vrednost mora da bude {minValue} ili novija.", "unavailableDate": "Izabrani datum nije dostupan." },
31
+ "sv-SE": { "rangeOverflow": "Värdet måste vara {maxValue} eller tidigare.", "rangeReversed": "Startdatumet måste vara före slutdatumet.", "rangeUnderflow": "Värdet måste vara {minValue} eller senare.", "unavailableDate": "Det valda datumet är inte tillgängligt." },
32
+ "tr-TR": { "rangeOverflow": "Değer, {maxValue} veya öncesi olmalıdır.", "rangeReversed": "Başlangıç tarihi bitiş tarihinden önce olmalıdır.", "rangeUnderflow": "Değer, {minValue} veya sonrası olmalıdır.", "unavailableDate": "Seçilen tarih kullanılamıyor." },
33
+ "uk-UA": { "rangeOverflow": "Значення має бути не пізніше {maxValue}.", "rangeReversed": "Дата початку має передувати даті завершення.", "rangeUnderflow": "Значення має бути не раніше {minValue}.", "unavailableDate": "Вибрана дата недоступна." },
34
+ "zh-CN": { "rangeOverflow": "值必须是 {maxValue} 或更早日期。", "rangeReversed": "开始日期必须早于结束日期。", "rangeUnderflow": "值必须是 {minValue} 或更晚日期。", "unavailableDate": "所选日期不可用。" },
35
+ "zh-TW": { "rangeOverflow": "值必須是 {maxValue} 或更早。", "rangeReversed": "開始日期必須在結束日期之前。", "rangeUnderflow": "值必須是 {minValue} 或更晚。", "unavailableDate": "所選日期無法使用。" },
36
+ };
@@ -0,0 +1,144 @@
1
+ import { type Signal } from "@rivetjs/reactivity";
2
+ import { DateFormatter, type CalendarDate, type DateValueString } from "@rivetjs/cdk/date";
3
+ import { type ValidationFunction, type ValidationResult } from "./form-validation.js";
4
+ import { type OverlayTriggerProps, type OverlayTriggerState } from "./overlays.js";
5
+ import { type DateFieldBaseOptions, type DateInput, type DateRangeOwner, type DateValue, type DateValueOwner, type DateValueProp, type FieldOptions, type MappedDateValue, type FormatterOptions, type Granularity, type RangeValue, type TimeValue } from "./date-field.js";
6
+ export type { DateInput, DateValue, DateValueString, Granularity, RangeValue, TimeValue };
7
+ export type PageBehavior = "single" | "visible";
8
+ export type FirstDayOfWeek = "sun" | "mon" | "tue" | "wed" | "thu" | "fri" | "sat";
9
+ interface DatePickerBaseOptions extends DateFieldBaseOptions, OverlayTriggerProps {
10
+ /** Determines whether the date picker popover should close automatically when a date is selected. @default true */
11
+ shouldCloseOnSelect?: boolean | (() => boolean);
12
+ /** Controls the behavior of paging (the calendar's `pageBehavior`). @default visible */
13
+ pageBehavior?: PageBehavior;
14
+ /** The day that starts the week. */
15
+ firstDayOfWeek?: FirstDayOfWeek;
16
+ id?: string;
17
+ }
18
+ export interface DatePickerStateOptions<T extends DateValue = DateValue> extends DatePickerBaseOptions {
19
+ /** Controlled value: a date, or a two-way signal of its string form. */
20
+ value?: DateValueProp<T>;
21
+ /** Uncontrolled initial value. */
22
+ defaultValue?: T | DateValueString | null;
23
+ /** Called with the new value (date object). */
24
+ onChange?: (value: MappedDateValue<T> | null) => void;
25
+ /** Callback that is called for each date of the calendar. If it returns true, then the date is unavailable. */
26
+ isDateUnavailable?: (date: DateValue) => boolean;
27
+ /** Custom client validation of the value (a date object). */
28
+ validate?: ValidationFunction<MappedDateValue<T>>;
29
+ }
30
+ export interface DateRangePickerStateOptions<T extends DateValue = DateValue> extends DatePickerBaseOptions {
31
+ /** Controlled value: a range of dates, or a two-way signal of `{ start, end }` string forms. */
32
+ value?: RangeValue<T | DateValueString> | null | Signal<RangeValue<DateValueString> | null>;
33
+ defaultValue?: RangeValue<T | DateValueString> | null;
34
+ onChange?: (value: RangeValue<MappedDateValue<T>> | null) => void;
35
+ /** When combined with `isDateUnavailable`, determines whether non-contiguous ranges, i.e. ranges containing unavailable dates, may be selected. */
36
+ allowsNonContiguousRanges?: boolean;
37
+ /** Callback that is called for each date of the calendar. If it returns true, then the date is unavailable. */
38
+ isDateUnavailable?: (date: DateValue, anchorDate: CalendarDate | null) => boolean;
39
+ /** Custom client validation of the range (date objects). */
40
+ validate?: ValidationFunction<RangeValue<MappedDateValue<T>>>;
41
+ /** The name of the start date input element, used when submitting an HTML form. */
42
+ startName?: string;
43
+ /** The name of the end date input element, used when submitting an HTML form. */
44
+ endName?: string;
45
+ }
46
+ interface PickerStateBase extends OverlayTriggerState {
47
+ readonly id: string;
48
+ readonly shouldCloseOnSelect: boolean | (() => boolean);
49
+ readonly pageBehavior?: PageBehavior | undefined;
50
+ readonly firstDayOfWeek?: FirstDayOfWeek | undefined;
51
+ /** Focus is within the picker (RAC `isFocusWithin`, `data-focus-within`). */
52
+ readonly isFocusWithin: Signal<boolean>;
53
+ /** Keyboard focus is within the picker (RAC `isFocusVisible`, `data-focus-visible`). */
54
+ readonly isFocusVisible: Signal<boolean>;
55
+ }
56
+ export interface DatePickerState extends PickerStateBase, DateValueOwner {
57
+ readonly kind: "picker";
58
+ /** The default date (`defaultValue ?? initial value`). */
59
+ readonly defaultValue: DateValueString | null;
60
+ /** The date portion selected in the calendar before a time was (string form). */
61
+ readonly selectedDate: Signal<DateValueString | null>;
62
+ /** The time portion set before a date was (string form). */
63
+ readonly selectedTime: Signal<DateValueString | null>;
64
+ }
65
+ export interface DateRangePickerState extends PickerStateBase, DateRangeOwner {
66
+ /** The default selected date range. */
67
+ readonly defaultValue: RangeValue<DateValueString> | null;
68
+ readonly allowsNonContiguousRanges: boolean;
69
+ readonly startName?: string | undefined;
70
+ readonly endName?: string | undefined;
71
+ /** The date portion of the selected range before a time range was. */
72
+ readonly selectedDateRange: Signal<RangeValue<DateValueString | null> | null>;
73
+ /** The time portion of the selected range before a date range was. */
74
+ readonly selectedTimeRange: Signal<RangeValue<DateValueString | null> | null>;
75
+ }
76
+ export type AnyDatePickerState = DatePickerState | DateRangePickerState;
77
+ /**
78
+ * `useDatePickerState`: state of a date picker (a DateField plus a Calendar popover to enter or
79
+ * select a date and time value).
80
+ */
81
+ export declare function createDatePickerState<T extends DateValue = DateValue>(options?: DatePickerStateOptions<T>): DatePickerState;
82
+ /**
83
+ * `useDateRangePickerState`: state of a date range picker (two DateFields plus a RangeCalendar
84
+ * popover to enter or select a date and time range).
85
+ */
86
+ export declare function createDateRangePickerState<T extends DateValue = DateValue>(options?: DateRangePickerStateOptions<T>): DateRangePickerState;
87
+ /** The currently selected date (DatePicker). */
88
+ export declare const pickerValue: (state: DatePickerState) => DateValue | null;
89
+ /** The current range (`{start, end}` may be partial while the fields are edited). */
90
+ export declare function pickerRangeValue(state: DateRangePickerState): RangeValue<DateValue | null>;
91
+ /** The granularity for the field, based on the `granularity` prop and current value. */
92
+ export declare function granularity(state: AnyDatePickerState): Granularity;
93
+ /** Whether the date picker supports selecting a time, according to the `granularity` prop and current value. */
94
+ export declare function hasTime(state: AnyDatePickerState): boolean;
95
+ /** The date portion of the value; may be set prior to `value` if a date was selected but no time yet. */
96
+ export declare function dateValue(state: DatePickerState): DateValue | null;
97
+ /** The time portion of the value; may be set prior to `value` if a time was selected but no date yet. */
98
+ export declare function timeValue(state: DatePickerState): TimeValue | null;
99
+ /** The date portion of the selected range (DateRangePicker). */
100
+ export declare function dateRange(state: DateRangePickerState): RangeValue<DateValue | null> | null;
101
+ /** The time portion of the selected range (DateRangePicker). */
102
+ export declare function timeRange(state: DateRangePickerState): RangeValue<TimeValue | null> | null;
103
+ /** Whether the date picker is invalid, based on the `isInvalid`, `minValue`, and `maxValue` props. */
104
+ export declare const isInvalid: (state: AnyDatePickerState) => boolean;
105
+ /** @deprecated Use `isInvalid` instead. */
106
+ export declare const validationState: (state: AnyDatePickerState) => "invalid" | null;
107
+ /** The displayed validation (`state.displayValidation`). */
108
+ export declare const pickerDisplayValidation: (state: AnyDatePickerState) => ValidationResult;
109
+ /** Sets the selected date (DatePicker) or range (DateRangePicker). */
110
+ export declare function setValue(state: DatePickerState, value: DateValue | null): void;
111
+ export declare function setValue(state: DateRangePickerState, value: RangeValue<DateValue | null> | null): void;
112
+ /**
113
+ * Sets the date portion of the value (the Calendar's `onChange`); intercepts so a time is not changed by date selection.
114
+ * `beforeCommit` runs after the value is written, right before the validation commit (the picker syncs its hidden
115
+ * inputs there, so the commit sees their new native validity: RA reads it in a layout effect after the update).
116
+ */
117
+ export declare function setDateValue(state: DatePickerState, newValue: DateValue, beforeCommit?: () => void): void;
118
+ /** Sets the time portion of the value. */
119
+ export declare function setTimeValue(state: DatePickerState, newValue: TimeValue): void;
120
+ /** Sets the date portion of the selected range (the RangeCalendar's `onChange`); `beforeCommit` as `setDateValue`. */
121
+ export declare function setDateRange(state: DateRangePickerState, range: RangeValue<DateValue | null>, beforeCommit?: () => void): void;
122
+ /** Sets the time portion of the selected range. */
123
+ export declare function setTimeRange(state: DateRangePickerState, range: RangeValue<TimeValue | null>): void;
124
+ /** Sets the date portion of either the start or end of the selected range. */
125
+ export declare function setDate(state: DateRangePickerState, part: "start" | "end", date: DateValue | null): void;
126
+ /** Sets the time portion of either the start or end of the selected range. */
127
+ export declare function setTime(state: DateRangePickerState, part: "start" | "end", time: TimeValue | null): void;
128
+ /** Sets the date and time of either the start or end of the selected range. */
129
+ export declare function setDateTime(state: DateRangePickerState, part: "start" | "end", dateTime: DateValue | null): void;
130
+ /**
131
+ * Sets whether the calendar popover is open. Closing commits a selected date (range) without a time
132
+ * using a placeholder time; if only the time was set, nothing commits (kept until the next open).
133
+ */
134
+ export declare function setOpen(state: AnyDatePickerState, isOpen: boolean): void;
135
+ /** The commit `setOpen(false)` does (also run when the popover closes by Escape / outside press). */
136
+ export declare function commitOnClose(state: AnyDatePickerState): void;
137
+ /** Formats the selected value (DatePicker: a string; DateRangePicker: `{start, end}` or null). */
138
+ export declare function formatValue(state: DatePickerState, locale: string, fieldOptions: FieldOptions): string;
139
+ export declare function formatValue(state: DateRangePickerState, locale: string, fieldOptions: FieldOptions): {
140
+ start: string;
141
+ end: string;
142
+ } | null;
143
+ /** Gets a formatter based on state's props. */
144
+ export declare function getDateFormatter(state: AnyDatePickerState, locale: string, formatOptions: FormatterOptions): DateFormatter;
@@ -0,0 +1,387 @@
1
+ // Ported from react-stately (react-spectrum, Apache-2.0, © Adobe): datepicker/useDatePickerState.ts
2
+ // and datepicker/useDateRangePickerState.ts.
3
+ //
4
+ // Rivet shape: plain signals + JSON (resumable); React Stately's methods are functions taking the
5
+ // state first (`state.setDateValue(d)` → `setDateValue(state, d)`); DatePicker and DateRangePicker
6
+ // share `setOpen` / `isInvalid` / `formatValue` (dispatch on `kind`). Dates are strings in the
7
+ // signals. The overlay state is `createOverlayTriggerState`'s (the popover's open signal); the
8
+ // whole state is region state, so a resumed page re-creating the picker's region keeps it.
9
+ // The fields (`createPickerFieldState`, ./date-field.ts) read and write these values.
10
+ import { signal, untrack, _regionState } from "@rivetjs/reactivity";
11
+ import { DateFormatter, stringifyDateValue, toCalendarDate, toCalendarDateTime, toDateValueString, } from "@rivetjs/cdk/date";
12
+ import { controllable } from "@rivetjs/cdk/interactions";
13
+ import { createId } from "@rivetjs/cdk/id";
14
+ import { resolveLocale } from "@rivetjs/cdk/i18n";
15
+ import { createFormValidationState, commitValidation, displayValidation, DEFAULT_VALIDATION_RESULT, } from "./form-validation.js";
16
+ import { createOverlayTriggerState, setOpen as setOverlayOpen } from "./overlays.js";
17
+ import { builtinValidation, dateValueSignal, isWritable, defaultProps, getFormatOptions, getPlaceholderTime, isCompleteRange, noteLast, ownerBase, ownerFormat, parseInput, parseValue, rangeValueOf, writeRange, } from "./date-field.js";
18
+ const pickerBase = (options) => ({
19
+ ...createOverlayTriggerState(options),
20
+ id: options.id ?? createId(),
21
+ shouldCloseOnSelect: options.shouldCloseOnSelect ?? true,
22
+ ...(options.pageBehavior ? { pageBehavior: options.pageBehavior } : {}),
23
+ ...(options.firstDayOfWeek ? { firstDayOfWeek: options.firstDayOfWeek } : {}),
24
+ isFocusWithin: signal(false),
25
+ isFocusVisible: signal(false),
26
+ });
27
+ /**
28
+ * `useDatePickerState`: state of a date picker (a DateField plus a Calendar popover to enter or
29
+ * select a date and time value).
30
+ */
31
+ export function createDatePickerState(options = {}) {
32
+ return _regionState(() => {
33
+ const locale = resolveLocale(options.locale);
34
+ const value = dateValueSignal(options.value, options.defaultValue);
35
+ const initial = untrack(value);
36
+ const v = parseValue(initial) || parseInput(options.placeholderValue);
37
+ // props.granularity must actually exist in the value if one is provided.
38
+ const [granularity] = defaultProps(v, options.granularity, { granularity: "day", timeZone: null });
39
+ if (v && !(granularity in v))
40
+ throw new Error("Invalid granularity " + granularity + " for value " + v.toString());
41
+ const base = ownerBase(options, v, locale);
42
+ const state = {
43
+ ...pickerBase(options),
44
+ ...base,
45
+ kind: "picker",
46
+ value,
47
+ defaultValue: toDateValueString(options.defaultValue) ?? initial,
48
+ ...(options.onChange ? { onChange: options.onChange } : {}),
49
+ ...(options.isDateUnavailable ? { isDateUnavailable: options.isDateUnavailable } : {}),
50
+ ...(options.validate ? { validate: options.validate } : {}),
51
+ selectedDate: signal(null),
52
+ selectedTime: signal(null),
53
+ validation: createFormValidationState({
54
+ isInvalid: options.isInvalid,
55
+ validationState: options.validationState,
56
+ validationBehavior: options.validationBehavior ?? "aria",
57
+ name: options.name,
58
+ validationErrors: options.validationErrors,
59
+ builtinValidation: base.builtin,
60
+ value,
61
+ }),
62
+ };
63
+ state.builtin.set(untrack(() => builtinValidation(state)));
64
+ return state;
65
+ });
66
+ }
67
+ /**
68
+ * `useDateRangePickerState`: state of a date range picker (two DateFields plus a RangeCalendar
69
+ * popover to enter or select a date and time range).
70
+ */
71
+ export function createDateRangePickerState(options = {}) {
72
+ return _regionState(() => {
73
+ const locale = resolveLocale(options.locale);
74
+ const toText = (range) => range ? { start: toDateValueString(range.start), end: toDateValueString(range.end) } : null;
75
+ const defaultText = toText(options.defaultValue);
76
+ const valueProp = options.value;
77
+ // A plain controlled value is the state's starting value (Rivet: the signal form is two-way).
78
+ const value = typeof valueProp === "function" ? controllable(valueProp, null) : controllable(undefined, valueProp !== undefined ? toText(valueProp) : defaultText);
79
+ const initial = untrack(value);
80
+ const partial = signal(initial || { start: null, end: null });
81
+ const v = parseValue(initial?.start) || parseValue(initial?.end) || parseInput(options.placeholderValue);
82
+ const [granularity] = defaultProps(v, options.granularity, { granularity: "day", timeZone: null });
83
+ if (v && !(granularity in v))
84
+ throw new Error("Invalid granularity " + granularity + " for value " + v.toString());
85
+ const base = ownerBase(options, v, locale);
86
+ const names = [options.startName, options.endName].filter((n) => n != null);
87
+ const state = {
88
+ ...pickerBase(options),
89
+ ...base,
90
+ kind: "range",
91
+ value,
92
+ partial,
93
+ defaultValue: defaultText ?? initial,
94
+ ...(options.onChange ? { onChange: options.onChange } : {}),
95
+ ...(options.isDateUnavailable ? { isDateUnavailable: options.isDateUnavailable } : {}),
96
+ ...(options.validate ? { validate: options.validate } : {}),
97
+ allowsNonContiguousRanges: options.allowsNonContiguousRanges ?? false,
98
+ ...(options.startName != null ? { startName: options.startName } : {}),
99
+ ...(options.endName != null ? { endName: options.endName } : {}),
100
+ selectedDateRange: signal(null),
101
+ selectedTimeRange: signal(null),
102
+ partValidity: signal({ start: DEFAULT_VALIDATION_RESULT, end: DEFAULT_VALIDATION_RESULT }),
103
+ validation: createFormValidationState({
104
+ isInvalid: options.isInvalid,
105
+ validationState: options.validationState,
106
+ validationBehavior: options.validationBehavior ?? "aria",
107
+ name: names,
108
+ validationErrors: options.validationErrors,
109
+ builtinValidation: base.builtin,
110
+ value,
111
+ }),
112
+ };
113
+ state.builtin.set(untrack(() => builtinValidation(state)));
114
+ return state;
115
+ });
116
+ }
117
+ // ---------------------------------------------------------------------------------------------
118
+ // Accessors (reactive reads)
119
+ /** The currently selected date (DatePicker). */
120
+ export const pickerValue = (state) => parseValue(state.value());
121
+ /** The current range (`{start, end}` may be partial while the fields are edited). */
122
+ export function pickerRangeValue(state) {
123
+ const range = rangeValueOf(state);
124
+ return { start: parseValue(range.start), end: parseValue(range.end) };
125
+ }
126
+ /** The granularity for the field, based on the `granularity` prop and current value. */
127
+ export function granularity(state) {
128
+ return ownerFormat(state).granularity;
129
+ }
130
+ /** Whether the date picker supports selecting a time, according to the `granularity` prop and current value. */
131
+ export function hasTime(state) {
132
+ const g = granularity(state);
133
+ return g === "hour" || g === "minute" || g === "second";
134
+ }
135
+ /** The date portion of the value; may be set prior to `value` if a date was selected but no time yet. */
136
+ export function dateValue(state) {
137
+ return pickerValue(state) ?? parseValue(state.selectedDate());
138
+ }
139
+ /** The time portion of the value; may be set prior to `value` if a time was selected but no date yet. */
140
+ export function timeValue(state) {
141
+ const value = pickerValue(state);
142
+ if (value)
143
+ return "hour" in value ? value : parseValue(state.selectedTime());
144
+ return parseTime(state.selectedTime());
145
+ }
146
+ const parseTime = (text) => (text ? parseInput(text) : null);
147
+ /** The date portion of the selected range (DateRangePicker). */
148
+ export function dateRange(state) {
149
+ const value = pickerRangeValue(state);
150
+ if (isCompleteRange(value))
151
+ return value;
152
+ const selected = state.selectedDateRange();
153
+ return selected ? { start: parseValue(selected.start), end: parseValue(selected.end) } : null;
154
+ }
155
+ /** The time portion of the selected range (DateRangePicker). */
156
+ export function timeRange(state) {
157
+ const value = pickerRangeValue(state);
158
+ if (isCompleteRange(value) && "hour" in value.start)
159
+ return value;
160
+ const selected = state.selectedTimeRange();
161
+ return selected ? { start: parseTime(selected.start), end: parseTime(selected.end) } : null;
162
+ }
163
+ /** Whether the date picker is invalid, based on the `isInvalid`, `minValue`, and `maxValue` props. */
164
+ export const isInvalid = (state) => displayValidation(state.validation).isInvalid;
165
+ /** @deprecated Use `isInvalid` instead. */
166
+ export const validationState = (state) => (isInvalid(state) ? "invalid" : null);
167
+ /** The displayed validation (`state.displayValidation`). */
168
+ export const pickerDisplayValidation = (state) => displayValidation(state.validation);
169
+ // ---------------------------------------------------------------------------------------------
170
+ // Writes
171
+ const shouldClose = (state) => typeof state.shouldCloseOnSelect === "function" ? state.shouldCloseOnSelect() : state.shouldCloseOnSelect;
172
+ const afterWrite = (state, v) => {
173
+ noteLast(state.last, v);
174
+ state.builtin.set(untrack(() => builtinValidation(state)));
175
+ };
176
+ export function setValue(state, value) {
177
+ if (state.kind === "range") {
178
+ const range = value;
179
+ writeRange(state, range);
180
+ afterWrite(state, range?.start ?? range?.end ?? null);
181
+ return;
182
+ }
183
+ const text = stringifyDateValue(value);
184
+ if (untrack(state.value) !== text) {
185
+ if (isWritable(state.value))
186
+ state.value.set(text);
187
+ state.onChange?.(value);
188
+ }
189
+ afterWrite(state, value);
190
+ }
191
+ function commitValue(state, date, time, beforeCommit) {
192
+ setValue(state, "timeZone" in time ? time.set(toCalendarDate(date)) : toCalendarDateTime(date, time));
193
+ state.selectedDate.set(null);
194
+ state.selectedTime.set(null);
195
+ beforeCommit?.();
196
+ commitValidation(state.validation);
197
+ }
198
+ /**
199
+ * Sets the date portion of the value (the Calendar's `onChange`); intercepts so a time is not changed by date selection.
200
+ * `beforeCommit` runs after the value is written, right before the validation commit (the picker syncs its hidden
201
+ * inputs there, so the commit sees their new native validity: RA reads it in a layout effect after the update).
202
+ */
203
+ export function setDateValue(state, newValue, beforeCommit) {
204
+ const close = shouldClose(state);
205
+ if (untrack(() => hasTime(state))) {
206
+ const selectedTime = untrack(() => timeValue(state));
207
+ if (selectedTime || close)
208
+ commitValue(state, newValue, selectedTime || getPlaceholderTime(parseValue(state.defaultValue) || parseValue(state.placeholderValue)), beforeCommit);
209
+ else
210
+ state.selectedDate.set(stringifyDateValue(newValue));
211
+ }
212
+ else {
213
+ setValue(state, newValue);
214
+ beforeCommit?.();
215
+ commitValidation(state.validation);
216
+ }
217
+ if (close)
218
+ setOverlayOpen(state, false);
219
+ }
220
+ /** Sets the time portion of the value. */
221
+ export function setTimeValue(state, newValue) {
222
+ const selectedDate = untrack(() => dateValue(state));
223
+ if (selectedDate && newValue)
224
+ commitValue(state, selectedDate, newValue);
225
+ else
226
+ state.selectedTime.set(stringifyDateValue(newValue));
227
+ }
228
+ function commitRange(state, range, time, beforeCommit) {
229
+ setValue(state, {
230
+ start: "timeZone" in time.start ? time.start.set(toCalendarDate(range.start)) : toCalendarDateTime(range.start, time.start),
231
+ end: "timeZone" in time.end ? time.end.set(toCalendarDate(range.end)) : toCalendarDateTime(range.end, time.end),
232
+ });
233
+ state.selectedDateRange.set(null);
234
+ state.selectedTimeRange.set(null);
235
+ beforeCommit?.();
236
+ commitValidation(state.validation);
237
+ }
238
+ const rangeText = (range) => ({
239
+ start: stringifyDateValue(range.start),
240
+ end: stringifyDateValue(range.end),
241
+ });
242
+ /** Sets the date portion of the selected range (the RangeCalendar's `onChange`); `beforeCommit` as `setDateValue`. */
243
+ export function setDateRange(state, range, beforeCommit) {
244
+ const close = shouldClose(state);
245
+ const time = untrack(() => timeRange(state));
246
+ const placeholder = parseValue(state.placeholderValue);
247
+ if (untrack(() => hasTime(state))) {
248
+ // Set a placeholder time if the popover is closing so we don't leave the field in an incomplete state.
249
+ if (isCompleteRange(range) && (close || (time?.start && time?.end)))
250
+ commitRange(state, range, { start: time?.start || getPlaceholderTime(placeholder), end: time?.end || getPlaceholderTime(placeholder) }, beforeCommit);
251
+ else
252
+ state.selectedDateRange.set(rangeText(range));
253
+ }
254
+ else if (isCompleteRange(range)) {
255
+ setValue(state, range);
256
+ beforeCommit?.();
257
+ commitValidation(state.validation);
258
+ }
259
+ else
260
+ state.selectedDateRange.set(rangeText(range));
261
+ if (close)
262
+ setOverlayOpen(state, false);
263
+ }
264
+ /** Sets the time portion of the selected range. */
265
+ export function setTimeRange(state, range) {
266
+ const dates = untrack(() => dateRange(state));
267
+ if (isCompleteRange(dates) && isCompleteRange(range))
268
+ commitRange(state, dates, range);
269
+ else
270
+ state.selectedTimeRange.set(rangeText(range));
271
+ }
272
+ /** Sets the date portion of either the start or end of the selected range. */
273
+ export function setDate(state, part, date) {
274
+ const dates = untrack(() => dateRange(state));
275
+ setDateRange(state, part === "start" ? { start: date, end: dates?.end ?? null } : { start: dates?.start ?? null, end: date });
276
+ }
277
+ /** Sets the time portion of either the start or end of the selected range. */
278
+ export function setTime(state, part, time) {
279
+ const times = untrack(() => timeRange(state));
280
+ setTimeRange(state, part === "start" ? { start: time, end: times?.end ?? null } : { start: times?.start ?? null, end: time });
281
+ }
282
+ /** Sets the date and time of either the start or end of the selected range. */
283
+ export function setDateTime(state, part, dateTime) {
284
+ const value = untrack(() => pickerRangeValue(state));
285
+ setValue(state, part === "start" ? { start: dateTime, end: value.end } : { start: value.start, end: dateTime });
286
+ }
287
+ /**
288
+ * Sets whether the calendar popover is open. Closing commits a selected date (range) without a time
289
+ * using a placeholder time; if only the time was set, nothing commits (kept until the next open).
290
+ */
291
+ export function setOpen(state, isOpen) {
292
+ if (!isOpen)
293
+ commitOnClose(state);
294
+ setOverlayOpen(state, isOpen);
295
+ }
296
+ /** The commit `setOpen(false)` does (also run when the popover closes by Escape / outside press). */
297
+ export function commitOnClose(state) {
298
+ if (!untrack(() => hasTime(state)))
299
+ return;
300
+ const placeholder = parseValue(state.placeholderValue);
301
+ if (state.kind === "range") {
302
+ const value = untrack(() => pickerRangeValue(state)), dates = untrack(() => dateRange(state)), time = untrack(() => timeRange(state));
303
+ if (!(value.start && value.end) && isCompleteRange(dates))
304
+ commitRange(state, dates, { start: time?.start || getPlaceholderTime(placeholder), end: time?.end || getPlaceholderTime(placeholder) });
305
+ return;
306
+ }
307
+ const value = untrack(() => pickerValue(state)), selectedDate = parseValue(untrack(state.selectedDate));
308
+ if (!value && selectedDate)
309
+ commitValue(state, selectedDate, parseTime(untrack(state.selectedTime)) || getPlaceholderTime(parseValue(state.defaultValue) || placeholder));
310
+ }
311
+ export function formatValue(state, locale, fieldOptions) {
312
+ if (state.kind === "range")
313
+ return formatRange(state, locale, fieldOptions);
314
+ const value = pickerValue(state);
315
+ if (!value)
316
+ return "";
317
+ const formatOpts = ownerFormat(state);
318
+ const formatter = new DateFormatter(locale, getFormatOptions(fieldOptions, formatOpts));
319
+ return formatter.format(value.toDate(formatOpts.timeZone ?? "UTC"));
320
+ }
321
+ function formatRange(state, locale, fieldOptions) {
322
+ const value = pickerRangeValue(state);
323
+ if (!value || !value.start || !value.end)
324
+ return null;
325
+ const startTimeZone = "timeZone" in value.start ? value.start.timeZone : undefined;
326
+ const startGranularity = state.granularityProp || (value.start && "minute" in value.start ? "minute" : "day");
327
+ const endTimeZone = "timeZone" in value.end ? value.end.timeZone : undefined;
328
+ const endGranularity = state.granularityProp || (value.end && "minute" in value.end ? "minute" : "day");
329
+ const startOptions = getFormatOptions(fieldOptions, {
330
+ granularity: startGranularity,
331
+ timeZone: startTimeZone,
332
+ hideTimeZone: state.hideTimeZone,
333
+ hourCycle: state.hourCycleProp,
334
+ showEra: (value.start.calendar.identifier === "gregory" && value.start.era === "BC") || (value.end.calendar.identifier === "gregory" && value.end.era === "BC"),
335
+ });
336
+ const startDate = value.start.toDate(startTimeZone || "UTC");
337
+ const endDate = value.end.toDate(endTimeZone || "UTC");
338
+ const startFormatter = new DateFormatter(locale, startOptions);
339
+ let endFormatter;
340
+ if (startTimeZone === endTimeZone && startGranularity === endGranularity && value.start.compare(value.end) !== 0) {
341
+ // Use formatRange, as it results in shorter output when some of the fields
342
+ // are shared between the start and end dates (e.g. the same month).
343
+ // Formatting will fail if the end date is before the start date. Fall back below when that happens.
344
+ try {
345
+ const parts = startFormatter.formatRangeToParts(startDate, endDate);
346
+ // Find the separator between the start and end date. This is determined
347
+ // by finding the last shared literal before the end range.
348
+ let separatorIndex = -1;
349
+ for (let i = 0; i < parts.length; i++) {
350
+ const part = parts[i];
351
+ if (part.source === "shared" && part.type === "literal")
352
+ separatorIndex = i;
353
+ else if (part.source === "endRange")
354
+ break;
355
+ }
356
+ // Now we can combine the parts into start and end strings.
357
+ let start = "";
358
+ let end = "";
359
+ for (let i = 0; i < parts.length; i++) {
360
+ if (i < separatorIndex)
361
+ start += parts[i].value;
362
+ else if (i > separatorIndex)
363
+ end += parts[i].value;
364
+ }
365
+ return { start, end };
366
+ }
367
+ catch {
368
+ // ignore
369
+ }
370
+ endFormatter = startFormatter;
371
+ }
372
+ else {
373
+ const endOptions = getFormatOptions(fieldOptions, {
374
+ granularity: endGranularity,
375
+ timeZone: endTimeZone,
376
+ hideTimeZone: state.hideTimeZone,
377
+ hourCycle: state.hourCycleProp,
378
+ });
379
+ endFormatter = new DateFormatter(locale, endOptions);
380
+ }
381
+ return { start: startFormatter.format(startDate), end: endFormatter.format(endDate) };
382
+ }
383
+ /** Gets a formatter based on state's props. */
384
+ export function getDateFormatter(state, locale, formatOptions) {
385
+ const newOptions = { ...untrack(() => ownerFormat(state)), ...formatOptions };
386
+ return new DateFormatter(locale, getFormatOptions({}, newOptions));
387
+ }