@remix-run/ui 0.2.0 → 0.4.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 (395) hide show
  1. package/README.md +50 -164
  2. package/dist/accordion/index.d.ts +46 -0
  3. package/dist/accordion/index.js +142 -0
  4. package/dist/accordion/index.js.map +1 -0
  5. package/dist/accordion/primitives.d.ts +104 -0
  6. package/dist/accordion/primitives.js +312 -0
  7. package/dist/accordion/primitives.js.map +1 -0
  8. package/dist/{components/anchor/anchor.d.ts → anchor/index.d.ts} +8 -1
  9. package/dist/{components/anchor/anchor.js → anchor/index.js} +31 -12
  10. package/dist/anchor/index.js.map +1 -0
  11. package/dist/animation/demos/aspect-ratio.d.ts +2 -0
  12. package/dist/animation/demos/aspect-ratio.js +69 -0
  13. package/dist/animation/demos/aspect-ratio.js.map +1 -0
  14. package/dist/animation/demos/bouncy-switch.d.ts +2 -0
  15. package/dist/animation/demos/bouncy-switch.js +36 -0
  16. package/dist/animation/demos/bouncy-switch.js.map +1 -0
  17. package/dist/animation/demos/color-interpolation.d.ts +1 -0
  18. package/dist/animation/demos/color-interpolation.js +53 -0
  19. package/dist/animation/demos/color-interpolation.js.map +1 -0
  20. package/dist/animation/demos/cube.d.ts +2 -0
  21. package/dist/animation/demos/cube.js +86 -0
  22. package/dist/animation/demos/cube.js.map +1 -0
  23. package/dist/animation/demos/default-animate.d.ts +2 -0
  24. package/dist/animation/demos/default-animate.js +89 -0
  25. package/dist/animation/demos/default-animate.js.map +1 -0
  26. package/dist/animation/demos/drag-release.d.ts +24 -0
  27. package/dist/animation/demos/drag-release.js +96 -0
  28. package/dist/animation/demos/drag-release.js.map +1 -0
  29. package/dist/animation/demos/enter.d.ts +1 -0
  30. package/dist/animation/demos/enter.js +19 -0
  31. package/dist/animation/demos/enter.js.map +1 -0
  32. package/dist/animation/demos/exit.d.ts +2 -0
  33. package/dist/animation/demos/exit.js +58 -0
  34. package/dist/animation/demos/exit.js.map +1 -0
  35. package/dist/animation/demos/flip-toggle.d.ts +2 -0
  36. package/dist/animation/demos/flip-toggle.js +37 -0
  37. package/dist/animation/demos/flip-toggle.js.map +1 -0
  38. package/dist/animation/demos/hold-to-confirm.d.ts +13 -0
  39. package/dist/animation/demos/hold-to-confirm.js +211 -0
  40. package/dist/animation/demos/hold-to-confirm.js.map +1 -0
  41. package/dist/animation/demos/html-content.d.ts +2 -0
  42. package/dist/animation/demos/html-content.js +30 -0
  43. package/dist/animation/demos/html-content.js.map +1 -0
  44. package/dist/animation/demos/interruptible-keyframes.d.ts +1 -0
  45. package/dist/animation/demos/interruptible-keyframes.js +48 -0
  46. package/dist/animation/demos/interruptible-keyframes.js.map +1 -0
  47. package/dist/animation/demos/keyframes.d.ts +1 -0
  48. package/dist/animation/demos/keyframes.js +24 -0
  49. package/dist/animation/demos/keyframes.js.map +1 -0
  50. package/dist/animation/demos/material-ripple.d.ts +2 -0
  51. package/dist/animation/demos/material-ripple.js +127 -0
  52. package/dist/animation/demos/material-ripple.js.map +1 -0
  53. package/dist/animation/demos/mixin-presence-list.d.ts +2 -0
  54. package/dist/animation/demos/mixin-presence-list.js +88 -0
  55. package/dist/animation/demos/mixin-presence-list.js.map +1 -0
  56. package/dist/animation/demos/mixin-reclaim.d.ts +2 -0
  57. package/dist/animation/demos/mixin-reclaim.js +90 -0
  58. package/dist/animation/demos/mixin-reclaim.js.map +1 -0
  59. package/dist/animation/demos/multi-state-badge.d.ts +2 -0
  60. package/dist/animation/demos/multi-state-badge.js +231 -0
  61. package/dist/animation/demos/multi-state-badge.js.map +1 -0
  62. package/dist/animation/demos/press.d.ts +2 -0
  63. package/dist/animation/demos/press.js +63 -0
  64. package/dist/animation/demos/press.js.map +1 -0
  65. package/dist/animation/demos/reordering.d.ts +2 -0
  66. package/dist/animation/demos/reordering.js +53 -0
  67. package/dist/animation/demos/reordering.js.map +1 -0
  68. package/dist/animation/demos/rolling-square.d.ts +2 -0
  69. package/dist/animation/demos/rolling-square.js +42 -0
  70. package/dist/animation/demos/rolling-square.js.map +1 -0
  71. package/dist/animation/demos/rotate.d.ts +1 -0
  72. package/dist/animation/demos/rotate.js +18 -0
  73. package/dist/animation/demos/rotate.js.map +1 -0
  74. package/dist/animation/demos/shared-layout.d.ts +2 -0
  75. package/dist/animation/demos/shared-layout.js +114 -0
  76. package/dist/animation/demos/shared-layout.js.map +1 -0
  77. package/dist/animation/demos/transition-options.d.ts +1 -0
  78. package/dist/animation/demos/transition-options.js +21 -0
  79. package/dist/animation/demos/transition-options.js.map +1 -0
  80. package/dist/animation/spring.d.ts +22 -0
  81. package/dist/animation/spring.js +22 -0
  82. package/dist/animation/spring.js.map +1 -1
  83. package/dist/{components/breadcrumbs/breadcrumbs.js → breadcrumbs/index.js} +19 -19
  84. package/dist/breadcrumbs/index.js.map +1 -0
  85. package/dist/button/index.d.ts +15 -0
  86. package/dist/button/index.js +128 -0
  87. package/dist/button/index.js.map +1 -0
  88. package/dist/checkbox/index.d.ts +14 -0
  89. package/dist/checkbox/index.js +125 -0
  90. package/dist/checkbox/index.js.map +1 -0
  91. package/dist/combobox/index.d.ts +21 -0
  92. package/dist/combobox/index.js +58 -0
  93. package/dist/combobox/index.js.map +1 -0
  94. package/dist/{components/combobox/combobox.d.ts → combobox/primitives.d.ts} +3 -7
  95. package/dist/{components/combobox/combobox.js → combobox/primitives.js} +8 -61
  96. package/dist/combobox/primitives.js.map +1 -0
  97. package/dist/input/index.d.ts +13 -0
  98. package/dist/input/index.js +121 -0
  99. package/dist/input/index.js.map +1 -0
  100. package/dist/listbox/flash-attribute.js.map +1 -0
  101. package/dist/{components/listbox/listbox.d.ts → listbox/index.d.ts} +2 -6
  102. package/dist/{components/listbox/listbox.js → listbox/index.js} +4 -82
  103. package/dist/listbox/index.js.map +1 -0
  104. package/dist/menu/hover-aim.js.map +1 -0
  105. package/dist/menu/index.d.ts +42 -0
  106. package/dist/menu/index.js +250 -0
  107. package/dist/menu/index.js.map +1 -0
  108. package/dist/{components/menu/menu.d.ts → menu/primitives.d.ts} +6 -32
  109. package/dist/{components/menu/menu.js → menu/primitives.js} +117 -279
  110. package/dist/menu/primitives.js.map +1 -0
  111. package/dist/{components/popover/popover.d.ts → popover/index.d.ts} +3 -5
  112. package/dist/{components/popover/popover.js → popover/index.js} +15 -51
  113. package/dist/popover/index.js.map +1 -0
  114. package/dist/{interactions/outside-click/outside-click-mixin.js → popover/outside-click.js} +1 -1
  115. package/dist/popover/outside-click.js.map +1 -0
  116. package/dist/popover/scroll-lock.d.ts +1 -0
  117. package/dist/{utils → popover}/scroll-lock.js +0 -18
  118. package/dist/popover/scroll-lock.js.map +1 -0
  119. package/dist/radio/index.d.ts +12 -0
  120. package/dist/radio/index.js +77 -0
  121. package/dist/radio/index.js.map +1 -0
  122. package/dist/runtime/client-entries.d.ts +1 -2
  123. package/dist/runtime/client-entries.js.map +1 -1
  124. package/dist/runtime/component.d.ts +2 -2
  125. package/dist/runtime/component.js +1 -1
  126. package/dist/runtime/component.js.map +1 -1
  127. package/dist/runtime/diff-dom.js +194 -21
  128. package/dist/runtime/diff-dom.js.map +1 -1
  129. package/dist/runtime/frame.d.ts +7 -0
  130. package/dist/runtime/frame.js +176 -41
  131. package/dist/runtime/frame.js.map +1 -1
  132. package/dist/runtime/jsx.d.ts +2 -3
  133. package/dist/runtime/jsx.js.map +1 -1
  134. package/dist/runtime/reconcile.js +11 -5
  135. package/dist/runtime/reconcile.js.map +1 -1
  136. package/dist/runtime/vdom.js +3 -0
  137. package/dist/runtime/vdom.js.map +1 -1
  138. package/dist/select/index.d.ts +19 -0
  139. package/dist/select/index.js +95 -0
  140. package/dist/select/index.js.map +1 -0
  141. package/dist/select/keydown.js.map +1 -0
  142. package/dist/{components/select/select.d.ts → select/primitives.d.ts} +4 -6
  143. package/dist/{components/select/select.js → select/primitives.js} +12 -64
  144. package/dist/select/primitives.js.map +1 -0
  145. package/dist/server/stream.js +5 -4
  146. package/dist/server/stream.js.map +1 -1
  147. package/dist/shared/focus-styles.d.ts +1 -0
  148. package/dist/shared/focus-styles.js +2 -0
  149. package/dist/shared/focus-styles.js.map +1 -0
  150. package/dist/shared/icons.d.ts +9 -0
  151. package/dist/shared/icons.js +42 -0
  152. package/dist/shared/icons.js.map +1 -0
  153. package/dist/shared/listbox-popover-styles.d.ts +6 -0
  154. package/dist/shared/listbox-popover-styles.js +137 -0
  155. package/dist/shared/listbox-popover-styles.js.map +1 -0
  156. package/dist/shared/style-values.d.ts +78 -0
  157. package/dist/{theme/presets/rmx-01/index.js → shared/style-values.js} +3 -34
  158. package/dist/shared/style-values.js.map +1 -0
  159. package/dist/{interactions/typeahead/typeahead-mixin.js → shared/typeahead.js} +1 -1
  160. package/dist/shared/typeahead.js.map +1 -0
  161. package/dist/shared/wait-for-css-transition.js.map +1 -0
  162. package/dist/shared/wait.js.map +1 -0
  163. package/dist/style/style.js +27 -10
  164. package/dist/style/style.js.map +1 -1
  165. package/dist/tabs/index.d.ts +32 -0
  166. package/dist/tabs/index.js +157 -0
  167. package/dist/tabs/index.js.map +1 -0
  168. package/dist/tabs/primitives.d.ts +57 -0
  169. package/dist/tabs/primitives.js +238 -0
  170. package/dist/tabs/primitives.js.map +1 -0
  171. package/dist/toggle/index.d.ts +9 -0
  172. package/dist/toggle/index.js +108 -0
  173. package/dist/toggle/index.js.map +1 -0
  174. package/dist/toggle/primitives.d.ts +29 -0
  175. package/dist/toggle/primitives.js +127 -0
  176. package/dist/toggle/primitives.js.map +1 -0
  177. package/package.json +74 -45
  178. package/src/{components/accordion → accordion}/README.md +50 -14
  179. package/src/accordion/index.tsx +285 -0
  180. package/src/accordion/primitives.tsx +512 -0
  181. package/src/{components/anchor → anchor}/README.md +48 -5
  182. package/src/{components/anchor/anchor.ts → anchor/index.ts} +53 -12
  183. package/src/animation/demos/aspect-ratio.tsx +120 -0
  184. package/src/animation/demos/bouncy-switch.tsx +47 -0
  185. package/src/animation/demos/color-interpolation.tsx +73 -0
  186. package/src/animation/demos/cube.tsx +116 -0
  187. package/src/animation/demos/default-animate.tsx +129 -0
  188. package/src/animation/demos/drag-release.ts +118 -0
  189. package/src/animation/demos/enter.tsx +22 -0
  190. package/src/animation/demos/exit.tsx +79 -0
  191. package/src/animation/demos/flip-toggle.tsx +46 -0
  192. package/src/animation/demos/hold-to-confirm.tsx +317 -0
  193. package/src/animation/demos/html-content.tsx +41 -0
  194. package/src/animation/demos/interruptible-keyframes.tsx +62 -0
  195. package/src/animation/demos/keyframes.tsx +29 -0
  196. package/src/animation/demos/material-ripple.tsx +158 -0
  197. package/src/animation/demos/mixin-presence-list.tsx +121 -0
  198. package/src/animation/demos/mixin-reclaim.tsx +125 -0
  199. package/src/animation/demos/multi-state-badge.tsx +426 -0
  200. package/src/animation/demos/press.tsx +67 -0
  201. package/src/animation/demos/reordering.tsx +68 -0
  202. package/src/animation/demos/rolling-square.tsx +57 -0
  203. package/src/animation/demos/rotate.tsx +21 -0
  204. package/src/animation/demos/shared-layout.tsx +211 -0
  205. package/src/animation/demos/transition-options.tsx +24 -0
  206. package/src/animation/spring.ts +22 -0
  207. package/src/{components/breadcrumbs → breadcrumbs}/README.md +4 -4
  208. package/src/{components/breadcrumbs/breadcrumbs.tsx → breadcrumbs/index.tsx} +18 -18
  209. package/src/button/README.md +44 -0
  210. package/src/button/index.ts +168 -0
  211. package/src/checkbox/README.md +59 -0
  212. package/src/checkbox/index.ts +162 -0
  213. package/src/{components/combobox → combobox}/README.md +58 -9
  214. package/src/combobox/index.tsx +112 -0
  215. package/src/{components/combobox/combobox.tsx → combobox/primitives.tsx} +5 -91
  216. package/src/input/README.md +52 -0
  217. package/src/input/index.ts +147 -0
  218. package/src/{components/listbox → listbox}/README.md +9 -41
  219. package/src/{components/listbox/listbox.ts → listbox/index.ts} +2 -87
  220. package/src/menu/README.md +161 -0
  221. package/src/menu/index.tsx +354 -0
  222. package/src/{components/menu/menu.tsx → menu/primitives.tsx} +117 -359
  223. package/src/{components/popover → popover}/README.md +20 -39
  224. package/src/{components/popover/popover.ts → popover/index.ts} +16 -61
  225. package/src/{utils → popover}/scroll-lock.ts +0 -28
  226. package/src/radio/README.md +53 -0
  227. package/src/radio/index.ts +100 -0
  228. package/src/runtime/client-entries.ts +1 -5
  229. package/src/runtime/component.ts +3 -3
  230. package/src/runtime/demos/readme.demo.tsx +704 -0
  231. package/src/runtime/diff-dom.ts +270 -20
  232. package/src/runtime/frame.ts +218 -41
  233. package/src/runtime/jsx.ts +6 -10
  234. package/src/runtime/reconcile.ts +11 -5
  235. package/src/runtime/vdom.ts +3 -0
  236. package/src/{components/select → select}/README.md +29 -19
  237. package/src/select/index.tsx +159 -0
  238. package/src/{components/select/select.tsx → select/primitives.tsx} +11 -99
  239. package/src/server/stream.ts +10 -5
  240. package/src/shared/focus-styles.ts +2 -0
  241. package/src/shared/icons.tsx +62 -0
  242. package/src/shared/listbox-popover-styles.ts +146 -0
  243. package/src/shared/style-values.ts +165 -0
  244. package/src/style/style.ts +29 -10
  245. package/src/tabs/README.md +141 -0
  246. package/src/tabs/index.tsx +244 -0
  247. package/src/tabs/primitives.ts +365 -0
  248. package/src/toggle/README.md +56 -0
  249. package/src/toggle/index.tsx +134 -0
  250. package/src/toggle/primitives.ts +192 -0
  251. package/dist/components/accordion/accordion.d.ts +0 -92
  252. package/dist/components/accordion/accordion.js +0 -335
  253. package/dist/components/accordion/accordion.js.map +0 -1
  254. package/dist/components/accordion/demos/card.demo.d.ts +0 -6
  255. package/dist/components/accordion/demos/card.demo.js +0 -58
  256. package/dist/components/accordion/demos/card.demo.js.map +0 -1
  257. package/dist/components/accordion/demos/multiple.demo.d.ts +0 -6
  258. package/dist/components/accordion/demos/multiple.demo.js +0 -19
  259. package/dist/components/accordion/demos/multiple.demo.js.map +0 -1
  260. package/dist/components/accordion/demos/overview.demo.d.ts +0 -6
  261. package/dist/components/accordion/demos/overview.demo.js +0 -19
  262. package/dist/components/accordion/demos/overview.demo.js.map +0 -1
  263. package/dist/components/anchor/anchor.js.map +0 -1
  264. package/dist/components/breadcrumbs/breadcrumbs.js.map +0 -1
  265. package/dist/components/breadcrumbs/demos/basic.demo.d.ts +0 -5
  266. package/dist/components/breadcrumbs/demos/basic.demo.js +0 -14
  267. package/dist/components/breadcrumbs/demos/basic.demo.js.map +0 -1
  268. package/dist/components/breadcrumbs/demos/separator.demo.d.ts +0 -5
  269. package/dist/components/breadcrumbs/demos/separator.demo.js +0 -14
  270. package/dist/components/breadcrumbs/demos/separator.demo.js.map +0 -1
  271. package/dist/components/button/button.d.ts +0 -105
  272. package/dist/components/button/button.js +0 -207
  273. package/dist/components/button/button.js.map +0 -1
  274. package/dist/components/button/demos/aliases.demo.d.ts +0 -6
  275. package/dist/components/button/demos/aliases.demo.js +0 -18
  276. package/dist/components/button/demos/aliases.demo.js.map +0 -1
  277. package/dist/components/button/demos/basic.demo.d.ts +0 -6
  278. package/dist/components/button/demos/basic.demo.js +0 -19
  279. package/dist/components/button/demos/basic.demo.js.map +0 -1
  280. package/dist/components/button/demos/states.demo.d.ts +0 -6
  281. package/dist/components/button/demos/states.demo.js +0 -29
  282. package/dist/components/button/demos/states.demo.js.map +0 -1
  283. package/dist/components/combobox/combobox.js.map +0 -1
  284. package/dist/components/combobox/demos/overview.demo.d.ts +0 -6
  285. package/dist/components/combobox/demos/overview.demo.js +0 -153
  286. package/dist/components/combobox/demos/overview.demo.js.map +0 -1
  287. package/dist/components/glyph/glyph.d.ts +0 -14
  288. package/dist/components/glyph/glyph.js +0 -65
  289. package/dist/components/glyph/glyph.js.map +0 -1
  290. package/dist/components/listbox/demos/overview.demo.d.ts +0 -6
  291. package/dist/components/listbox/demos/overview.demo.js +0 -64
  292. package/dist/components/listbox/demos/overview.demo.js.map +0 -1
  293. package/dist/components/listbox/listbox.js.map +0 -1
  294. package/dist/components/menu/demos/bubbling.demo.d.ts +0 -5
  295. package/dist/components/menu/demos/bubbling.demo.js +0 -15
  296. package/dist/components/menu/demos/bubbling.demo.js.map +0 -1
  297. package/dist/components/menu/demos/overview.demo.d.ts +0 -6
  298. package/dist/components/menu/demos/overview.demo.js +0 -32
  299. package/dist/components/menu/demos/overview.demo.js.map +0 -1
  300. package/dist/components/menu/hover-aim.js.map +0 -1
  301. package/dist/components/menu/menu.js.map +0 -1
  302. package/dist/components/popover/demos/overview.demo.d.ts +0 -6
  303. package/dist/components/popover/demos/overview.demo.js +0 -64
  304. package/dist/components/popover/demos/overview.demo.js.map +0 -1
  305. package/dist/components/popover/popover.js.map +0 -1
  306. package/dist/components/select/demos/deconstructed.demo.d.ts +0 -6
  307. package/dist/components/select/demos/deconstructed.demo.js +0 -53
  308. package/dist/components/select/demos/deconstructed.demo.js.map +0 -1
  309. package/dist/components/select/demos/overview.demo.d.ts +0 -5
  310. package/dist/components/select/demos/overview.demo.js +0 -27
  311. package/dist/components/select/demos/overview.demo.js.map +0 -1
  312. package/dist/components/select/select.js.map +0 -1
  313. package/dist/components/separator/separator.d.ts +0 -2
  314. package/dist/components/separator/separator.js +0 -15
  315. package/dist/components/separator/separator.js.map +0 -1
  316. package/dist/components/tabs/tabs.d.ts +0 -78
  317. package/dist/components/tabs/tabs.js +0 -339
  318. package/dist/components/tabs/tabs.js.map +0 -1
  319. package/dist/interactions/keydown/keydown.js.map +0 -1
  320. package/dist/interactions/outside-click/outside-click-mixin.js.map +0 -1
  321. package/dist/interactions/typeahead/typeahead-mixin.js.map +0 -1
  322. package/dist/theme/contract.d.ts +0 -61
  323. package/dist/theme/contract.js +0 -131
  324. package/dist/theme/contract.js.map +0 -1
  325. package/dist/theme/glyph-contract.d.ts +0 -11
  326. package/dist/theme/glyph-contract.js +0 -34
  327. package/dist/theme/glyph-contract.js.map +0 -1
  328. package/dist/theme/presets/rmx-01/glyphs.d.ts +0 -2
  329. package/dist/theme/presets/rmx-01/glyphs.js +0 -252
  330. package/dist/theme/presets/rmx-01/glyphs.js.map +0 -1
  331. package/dist/theme/presets/rmx-01/index.d.ts +0 -4
  332. package/dist/theme/presets/rmx-01/index.js.map +0 -1
  333. package/dist/theme/runtime.d.ts +0 -2
  334. package/dist/theme/runtime.js +0 -84
  335. package/dist/theme/runtime.js.map +0 -1
  336. package/dist/theme/theme.d.ts +0 -6
  337. package/dist/theme/theme.js +0 -5
  338. package/dist/theme/theme.js.map +0 -1
  339. package/dist/utils/flash-attribute.js.map +0 -1
  340. package/dist/utils/scroll-lock.d.ts +0 -3
  341. package/dist/utils/scroll-lock.js.map +0 -1
  342. package/dist/utils/wait-for-css-transition.js.map +0 -1
  343. package/dist/utils/wait.js.map +0 -1
  344. package/src/components/accordion/accordion.tsx +0 -565
  345. package/src/components/accordion/demos/card.demo.tsx +0 -113
  346. package/src/components/accordion/demos/multiple.demo.tsx +0 -56
  347. package/src/components/accordion/demos/overview.demo.tsx +0 -56
  348. package/src/components/breadcrumbs/demos/basic.demo.tsx +0 -17
  349. package/src/components/breadcrumbs/demos/separator.demo.tsx +0 -18
  350. package/src/components/button/README.md +0 -44
  351. package/src/components/button/button.tsx +0 -286
  352. package/src/components/button/demos/aliases.demo.tsx +0 -27
  353. package/src/components/button/demos/basic.demo.tsx +0 -30
  354. package/src/components/button/demos/states.demo.tsx +0 -52
  355. package/src/components/combobox/demos/overview.demo.tsx +0 -199
  356. package/src/components/glyph/README.md +0 -72
  357. package/src/components/glyph/glyph.tsx +0 -110
  358. package/src/components/listbox/demos/overview.demo.tsx +0 -101
  359. package/src/components/menu/README.md +0 -96
  360. package/src/components/menu/demos/bubbling.demo.tsx +0 -34
  361. package/src/components/menu/demos/overview.demo.tsx +0 -76
  362. package/src/components/popover/demos/overview.demo.tsx +0 -143
  363. package/src/components/select/demos/deconstructed.demo.tsx +0 -95
  364. package/src/components/select/demos/overview.demo.tsx +0 -51
  365. package/src/components/separator/separator.ts +0 -19
  366. package/src/components/tabs/README.md +0 -105
  367. package/src/components/tabs/tabs.tsx +0 -504
  368. package/src/theme/README.md +0 -103
  369. package/src/theme/contract.ts +0 -215
  370. package/src/theme/glyph-contract.ts +0 -59
  371. package/src/theme/presets/rmx-01/glyphs.tsx +0 -308
  372. package/src/theme/presets/rmx-01/index.ts +0 -123
  373. package/src/theme/runtime.ts +0 -119
  374. package/src/theme/theme.ts +0 -15
  375. package/src/utils/scroll-lock/README.md +0 -33
  376. /package/dist/{components/breadcrumbs/breadcrumbs.d.ts → breadcrumbs/index.d.ts} +0 -0
  377. /package/dist/{utils → listbox}/flash-attribute.d.ts +0 -0
  378. /package/dist/{utils → listbox}/flash-attribute.js +0 -0
  379. /package/dist/{components/menu → menu}/hover-aim.d.ts +0 -0
  380. /package/dist/{components/menu → menu}/hover-aim.js +0 -0
  381. /package/dist/{interactions/outside-click/outside-click-mixin.d.ts → popover/outside-click.d.ts} +0 -0
  382. /package/dist/{interactions/keydown → select}/keydown.d.ts +0 -0
  383. /package/dist/{interactions/keydown → select}/keydown.js +0 -0
  384. /package/dist/{interactions/typeahead/typeahead-mixin.d.ts → shared/typeahead.d.ts} +0 -0
  385. /package/dist/{utils → shared}/wait-for-css-transition.d.ts +0 -0
  386. /package/dist/{utils → shared}/wait-for-css-transition.js +0 -0
  387. /package/dist/{utils → shared}/wait.d.ts +0 -0
  388. /package/dist/{utils → shared}/wait.js +0 -0
  389. /package/src/{utils → listbox}/flash-attribute.ts +0 -0
  390. /package/src/{components/menu → menu}/hover-aim.ts +0 -0
  391. /package/src/{interactions/outside-click/outside-click-mixin.ts → popover/outside-click.ts} +0 -0
  392. /package/src/{interactions/keydown → select}/keydown.ts +0 -0
  393. /package/src/{interactions/typeahead/typeahead-mixin.ts → shared/typeahead.ts} +0 -0
  394. /package/src/{utils → shared}/wait-for-css-transition.ts +0 -0
  395. /package/src/{utils → shared}/wait.ts +0 -0
@@ -1,4 +1,3 @@
1
- import { createMixin, on } from '@remix-run/ui';
2
1
  const scrollLocks = new WeakMap();
3
2
  export function lockScroll(targetDocument = globalThis.document) {
4
3
  if (!targetDocument?.body || !targetDocument.defaultView) {
@@ -49,21 +48,4 @@ export function lockScroll(targetDocument = globalThis.document) {
49
48
  view.scrollTo(currentState.scrollX, currentState.scrollY);
50
49
  };
51
50
  }
52
- export const lockScrollOnToggle = createMixin((handle) => {
53
- let unlockScroll = () => { };
54
- handle.signal.addEventListener('abort', () => {
55
- unlockScroll();
56
- unlockScroll = () => { };
57
- });
58
- return () => [
59
- on('beforetoggle', (event) => {
60
- unlockScroll();
61
- unlockScroll = () => { };
62
- if (event.newState !== 'open') {
63
- return;
64
- }
65
- unlockScroll = lockScroll(event.currentTarget.ownerDocument);
66
- }),
67
- ];
68
- });
69
51
  //# sourceMappingURL=scroll-lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-lock.js","sourceRoot":"","sources":["../../src/popover/scroll-lock.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,GAAG,IAAI,OAAO,EAA6B,CAAA;AAE5D,MAAM,UAAU,UAAU,CAAC,iBAAuC,UAAU,CAAC,QAAQ;IACnF,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;QACzD,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,QAAQ,GAAG,cAAc,CAAA;IAC7B,IAAI,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAA;IAC9C,IAAI,IAAI,GAAG,QAAQ,CAAC,WAAY,CAAA;IAChC,IAAI,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAErC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC1B,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC1B,IAAI,cAAc,GAChB,eAAe,CAAC,WAAW,GAAG,CAAC;YAC7B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC,CAAA;QACP,IAAI,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,eAAe,CAAA;QAEpF,KAAK,GAAG;YACN,KAAK,EAAE,CAAC;YACR,gBAAgB,EAAE,eAAe,CAAC,KAAK,CAAC,QAAQ;YAChD,uBAAuB,EAAE,eAAe,CAAC,KAAK,CAAC,eAAe;YAC9D,OAAO;YACP,OAAO;SACR,CAAA;QAED,eAAe,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACzC,IAAI,cAAc,GAAG,CAAC,IAAI,uBAAuB,KAAK,MAAM,EAAE,CAAC;YAC7D,eAAe,CAAC,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAA;QAClD,CAAC;QAED,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,KAAK,EAAE,CAAA;IAEb,IAAI,QAAQ,GAAG,KAAK,CAAA;IAEpB,OAAO,GAAG,EAAE;QACV,IAAI,QAAQ,EAAE,CAAC;YACb,OAAM;QACR,CAAC;QAED,QAAQ,GAAG,IAAI,CAAA;QAEf,IAAI,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC5C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAM;QACR,CAAC;QAED,YAAY,CAAC,KAAK,EAAE,CAAA;QACpB,IAAI,YAAY,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAM;QACR,CAAC;QAED,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAE5B,eAAe,CAAC,KAAK,CAAC,QAAQ,GAAG,YAAY,CAAC,gBAAgB,CAAA;QAC9D,eAAe,CAAC,KAAK,CAAC,eAAe,GAAG,YAAY,CAAC,uBAAuB,CAAA;QAC5E,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA;IAC3D,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { CSSMixinDescriptor, ElementProps, MixinDescriptor } from '@remix-run/ui';
2
+ export type RadioSize = 'md' | 'lg';
3
+ export interface RadioOptions {
4
+ size?: RadioSize;
5
+ }
6
+ type RadioMixin = readonly [
7
+ MixinDescriptor<Element, [], ElementProps>,
8
+ CSSMixinDescriptor,
9
+ CSSMixinDescriptor
10
+ ];
11
+ export declare function radio(options?: RadioOptions): RadioMixin;
12
+ export default radio;
@@ -0,0 +1,77 @@
1
+ import { createMixin, css } from '@remix-run/ui';
2
+ import { renderMixinElement } from "../runtime/mixins/mixin.js";
3
+ import { controlFocusShadow } from "../shared/focus-styles.js";
4
+ const checkedSelector = '&:checked, &[aria-checked="true"], &[data-state="checked"]';
5
+ const checkedMarkSelector = '&:checked::before, &[aria-checked="true"]::before, &[data-state="checked"]::before';
6
+ const radioDefaultAttrs = createMixin((handle, hostType) => (props) => {
7
+ if (hostType !== 'input' || props.type !== undefined) {
8
+ return handle.element;
9
+ }
10
+ return renderMixinElement(handle.element, {
11
+ ...props,
12
+ type: 'radio',
13
+ });
14
+ })();
15
+ const baseStyle = css({
16
+ appearance: 'none',
17
+ WebkitAppearance: 'none',
18
+ margin: 0,
19
+ boxSizing: 'border-box',
20
+ position: 'relative',
21
+ display: 'inline-grid',
22
+ placeItems: 'center',
23
+ width: 'var(--rmx-radio-size)',
24
+ height: 'var(--rmx-radio-size)',
25
+ minWidth: 'var(--rmx-radio-size)',
26
+ minHeight: 'var(--rmx-radio-size)',
27
+ padding: 0,
28
+ border: '1px solid rgba(0, 0, 0, 0.12)',
29
+ borderRadius: '9999px',
30
+ background: '#FFFFFF',
31
+ boxShadow: 'inset 0 1px 1px rgba(0, 0, 0, 0.06), inset 0 2px 2px rgba(0, 0, 0, 0.06)',
32
+ verticalAlign: 'middle',
33
+ flex: 'none',
34
+ '&::before': {
35
+ content: '""',
36
+ width: 'var(--rmx-radio-mark-size)',
37
+ height: 'var(--rmx-radio-mark-size)',
38
+ borderRadius: '99px',
39
+ background: 'linear-gradient(180deg, rgba(53, 115, 246, 0) 25%, rgba(53, 115, 246, 0.15) 100%), #FFFFFF',
40
+ boxShadow: '0 1px 1px -0.5px #0944BE, 0 2px 2px -1px #0944BE, 0 4px 4px -2px #0944BE, 0 0 1px 1px rgba(0, 0, 0, 0.25), inset 0 0 2px 1px #FFFFFF',
41
+ opacity: 0,
42
+ pointerEvents: 'none',
43
+ },
44
+ '&:disabled, &[aria-disabled="true"]': {
45
+ opacity: 0.55,
46
+ },
47
+ [checkedSelector]: {
48
+ border: 0,
49
+ borderRadius: '99px',
50
+ background: 'linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0) 75.48%), #3573F6',
51
+ backgroundBlendMode: 'overlay, normal',
52
+ boxShadow: '0 1px 0 rgba(255, 255, 255, 0.6), 0 0 16px rgba(53, 115, 246, 0.25), inset 0 0 3px 1px rgba(0, 0, 0, 0.1)',
53
+ },
54
+ [checkedMarkSelector]: {
55
+ opacity: 1,
56
+ },
57
+ '&:focus-visible': {
58
+ outline: 0,
59
+ boxShadow: controlFocusShadow,
60
+ },
61
+ });
62
+ const sizeStyles = {
63
+ md: css({
64
+ '--rmx-radio-size': '16px',
65
+ '--rmx-radio-mark-size': '8px',
66
+ }),
67
+ lg: css({
68
+ '--rmx-radio-size': '20px',
69
+ '--rmx-radio-mark-size': '10px',
70
+ }),
71
+ };
72
+ export function radio(options = {}) {
73
+ let { size = 'md' } = options;
74
+ return [radioDefaultAttrs, baseStyle, sizeStyles[size]];
75
+ }
76
+ export default radio;
77
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/radio/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAc9D,MAAM,eAAe,GAAG,4DAA4D,CAAA;AACpF,MAAM,mBAAmB,GACvB,oFAAoF,CAAA;AAEtF,MAAM,iBAAiB,GAAG,WAAW,CAA4B,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE;IAC/F,IAAI,QAAQ,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACrD,OAAO,MAAM,CAAC,OAAO,CAAA;IACvB,CAAC;IAED,OAAO,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE;QACxC,GAAG,KAAK;QACR,IAAI,EAAE,OAAO;KACd,CAAC,CAAA;AACJ,CAAC,CAAC,EAAE,CAAA;AAEJ,MAAM,SAAS,GAAuB,GAAG,CAAC;IACxC,UAAU,EAAE,MAAM;IAClB,gBAAgB,EAAE,MAAM;IACxB,MAAM,EAAE,CAAC;IACT,SAAS,EAAE,YAAY;IACvB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,aAAa;IACtB,UAAU,EAAE,QAAQ;IACpB,KAAK,EAAE,uBAAuB;IAC9B,MAAM,EAAE,uBAAuB;IAC/B,QAAQ,EAAE,uBAAuB;IACjC,SAAS,EAAE,uBAAuB;IAClC,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,+BAA+B;IACvC,YAAY,EAAE,QAAQ;IACtB,UAAU,EAAE,SAAS;IACrB,SAAS,EAAE,0EAA0E;IACrF,aAAa,EAAE,QAAQ;IACvB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE;QACX,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,4BAA4B;QACnC,MAAM,EAAE,4BAA4B;QACpC,YAAY,EAAE,MAAM;QACpB,UAAU,EACR,4FAA4F;QAC9F,SAAS,EACP,sIAAsI;QACxI,OAAO,EAAE,CAAC;QACV,aAAa,EAAE,MAAM;KACtB;IACD,qCAAqC,EAAE;QACrC,OAAO,EAAE,IAAI;KACd;IACD,CAAC,eAAe,CAAC,EAAE;QACjB,MAAM,EAAE,CAAC;QACT,YAAY,EAAE,MAAM;QACpB,UAAU,EAAE,kFAAkF;QAC9F,mBAAmB,EAAE,iBAAiB;QACtC,SAAS,EACP,2GAA2G;KAC9G;IACD,CAAC,mBAAmB,CAAC,EAAE;QACrB,OAAO,EAAE,CAAC;KACX;IACD,iBAAiB,EAAE;QACjB,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,kBAAkB;KAC9B;CACF,CAAC,CAAA;AAEF,MAAM,UAAU,GAAG;IACjB,EAAE,EAAE,GAAG,CAAC;QACN,kBAAkB,EAAE,MAAM;QAC1B,uBAAuB,EAAE,KAAK;KAC/B,CAAC;IACF,EAAE,EAAE,GAAG,CAAC;QACN,kBAAkB,EAAE,MAAM;QAC1B,uBAAuB,EAAE,MAAM;KAChC,CAAC;CACsD,CAAA;AAE1D,MAAM,UAAU,KAAK,CAAC,UAAwB,EAAE;IAC9C,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;IAC7B,OAAO,CAAC,iBAAiB,EAAE,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;AACzD,CAAC;AAED,eAAe,KAAK,CAAA"}
@@ -34,7 +34,7 @@ export type EntryMetadata = {
34
34
  /**
35
35
  * An entry component preserves the exact function type with added metadata
36
36
  */
37
- export type EntryComponent<props extends SerializableProps = {}, context = NoContext> = ((handle: Handle<props, context>) => RenderFn<props>) & EntryMetadata;
37
+ export type EntryComponent<props extends SerializableProps = {}, context = NoContext> = ((handle: Handle<props, context>) => RenderFn) & EntryMetadata;
38
38
  /**
39
39
  * Marks a component as a client entry for client-side hydration.
40
40
  *
@@ -68,7 +68,6 @@ export type EntryComponent<props extends SerializableProps = {}, context = NoCon
68
68
  * ```
69
69
  */
70
70
  export declare function clientEntry<props extends SerializableProps = {}, context = NoContext>(entryId: string, component: (handle: Handle<props, context>) => RenderFn): EntryComponent<props, context>;
71
- export declare function clientEntry<props extends SerializableProps = {}, context = NoContext>(entryId: string, component: (handle: Handle<Record<string, never>, context>) => RenderFn<props>): EntryComponent<props, context>;
72
71
  /**
73
72
  * Type guard to check if a component is an entry component
74
73
  *
@@ -1 +1 @@
1
- {"version":3,"file":"client-entries.js","sourceRoot":"","sources":["../../src/runtime/client-entries.ts"],"names":[],"mappings":"AA6FA,iBAAiB;AACjB,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,SAAc;IACzD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;IACvD,CAAC;IAED,4CAA4C;IAC5C,SAAS,CAAC,MAAM,GAAG,IAAI,CAAA;IACvB,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAA;IAE5B,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,SAAkB;IACxC,OAAO,OAAO,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,UAAU,IAAK,SAAiB,CAAC,MAAM,KAAK,IAAI,CAAC,CAAA;AACpG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAG,GAAU;IAChD,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,GAAG,CAAC,CAAA;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAmB;IAC9C,OAAO,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QACvD,MAAM,GAAG,MAAM,CAAC,WAAW,CAAA;IAC7B,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"client-entries.js","sourceRoot":"","sources":["../../src/runtime/client-entries.ts"],"names":[],"mappings":"AAyFA,iBAAiB;AACjB,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,SAAc;IACzD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;IACvD,CAAC;IAED,4CAA4C;IAC5C,SAAS,CAAC,MAAM,GAAG,IAAI,CAAA;IACvB,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAA;IAE5B,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,SAAkB;IACxC,OAAO,OAAO,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,UAAU,IAAK,SAAiB,CAAC,MAAM,KAAK,IAAI,CAAC,CAAA;AACpG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAG,GAAU;IAChD,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,GAAG,CAAC,CAAA;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAmB;IAC9C,OAAO,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;QACvD,MAAM,GAAG,MAAM,CAAC,WAAW,CAAA;IAC7B,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -150,9 +150,9 @@ export interface FrameProps {
150
150
  */
151
151
  export type ComponentFn<Props = Record<string, never>, ContextValue = NoContext> = (handle: Handle<Props, ContextValue>) => RenderFn;
152
152
  /**
153
- * Render function returned by a component factory.
153
+ * Zero-argument render function returned by a component factory.
154
154
  */
155
- export type RenderFn<Props = ElementProps> = (props: Props) => RemixNode;
155
+ export type RenderFn = () => RemixNode;
156
156
  export type { RemixNode } from './jsx.ts';
157
157
  /**
158
158
  * Props accepted by the built-in {@link Fragment} component.
@@ -44,7 +44,7 @@ class ComponentRuntime {
44
44
  renderFn = result;
45
45
  this.#renderFn = renderFn;
46
46
  }
47
- return [renderFn(this.#props), this.#dequeueTasks()];
47
+ return [renderFn(), this.#dequeueTasks()];
48
48
  };
49
49
  remove = () => {
50
50
  if (this.#removed)
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/runtime/component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/runtime/component.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,11 @@ export function diffNodes(curr, next, context) {
6
6
  // nodes before the region tail ref rather than appending to the parent.
7
7
  let regionTailRef = context.regionTailRef ??
8
8
  (curr.length > 0 ? curr[curr.length - 1].nextSibling : null);
9
- let max = Math.max(curr.length, next.length);
10
- for (let i = 0; i < max; i++) {
11
- let c = curr[i];
12
- let n = next[i];
9
+ let currentIndex = 0;
10
+ let nextIndex = 0;
11
+ while (currentIndex < curr.length || nextIndex < next.length) {
12
+ let c = curr[currentIndex];
13
+ let n = next[nextIndex];
13
14
  if (!c && n) {
14
15
  if (regionTailRef) {
15
16
  parent.insertBefore(n, regionTailRef);
@@ -17,12 +18,21 @@ export function diffNodes(curr, next, context) {
17
18
  else {
18
19
  parent.appendChild(n);
19
20
  }
21
+ nextIndex++;
20
22
  }
21
23
  else if (c && !n) {
22
24
  removeNode(c, parent, context);
25
+ currentIndex++;
23
26
  }
24
27
  else if (c && n) {
25
- // Skip hydrated client-entry boundary ranges; hydration pass re-renders
28
+ let replacement = getCommentMarkerRangeReplacement(c, n, curr, next, currentIndex, nextIndex, context);
29
+ if (replacement) {
30
+ replaceCommentMarkerRange(replacement, parent, context);
31
+ currentIndex = replacement.currentEndIndex + 1;
32
+ nextIndex = replacement.nextEndIndex + 1;
33
+ continue;
34
+ }
35
+ // Skip hydrated client-entry marker ranges; hydration pass re-renders
26
36
  // roots with new props from incoming payload
27
37
  if (isVirtualRootStartMarker(c) && isVirtualRootStartMarker(n)) {
28
38
  let currentEnd = findHydrationEndMarker(c);
@@ -32,13 +42,22 @@ export function diffNodes(curr, next, context) {
32
42
  c.data = nextData;
33
43
  let currentEndIndex = curr.indexOf(currentEnd);
34
44
  let nextEndIndex = next.indexOf(nextEnd);
35
- i = Math.max(currentEndIndex, nextEndIndex);
45
+ currentIndex = currentEndIndex + 1;
46
+ nextIndex = nextEndIndex + 1;
36
47
  continue;
37
48
  }
38
49
  let cursor = diffNode(c, n, context);
39
50
  if (cursor) {
40
- i = next.indexOf(cursor);
51
+ let nextEndIndex = next.indexOf(cursor);
52
+ let currentEndIndex = isFrameStartMarker(c) && isFrameEndMarker(cursor)
53
+ ? findFrameEndIndex(curr, currentIndex)
54
+ : currentIndex;
55
+ currentIndex = currentEndIndex + 1;
56
+ nextIndex = nextEndIndex + 1;
57
+ continue;
41
58
  }
59
+ currentIndex++;
60
+ nextIndex++;
42
61
  }
43
62
  }
44
63
  }
@@ -50,7 +69,7 @@ function diffNode(current, next, context) {
50
69
  current.textContent = newText;
51
70
  return;
52
71
  }
53
- // Hydration boundary -> Hydration boundary
72
+ // Hydration marker range -> Hydration marker range
54
73
  if (isVirtualRootStartMarker(current) && isVirtualRootStartMarker(next)) {
55
74
  let nextData = next.data;
56
75
  if (current.data !== nextData) {
@@ -64,9 +83,36 @@ function diffNode(current, next, context) {
64
83
  if (isCommentNode(current) && isCommentNode(next)) {
65
84
  let newData = next.data;
66
85
  if (current.data !== newData) {
67
- if (isFrameStartMarker(current))
68
- disposeFrameStartMarker(current, context);
69
- current.data = newData;
86
+ let updated = false;
87
+ if (isFrameStartMarker(current)) {
88
+ if (shouldPreserveFrameStartMarker(current, next, context)) {
89
+ current.data = newData;
90
+ updated = true;
91
+ let frame = context.frameInstances.get(current);
92
+ let nextMarkerData = getFrameMarkerData(next, context);
93
+ if (frame && nextMarkerData) {
94
+ if (nextMarkerData.status === 'resolved') {
95
+ let nextEnd = findFrameEndMarker(next);
96
+ let nextContent = collectFrameContentFragment(current.ownerDocument, next, nextEnd);
97
+ void frame.renderMarkerContent({ ...nextMarkerData, id: getFrameId(next) }, nextContent, {
98
+ signal: context.signal,
99
+ });
100
+ return nextEnd;
101
+ }
102
+ if (frame.isDisplayingResolvedContent()) {
103
+ return findFrameEndMarker(next);
104
+ }
105
+ }
106
+ }
107
+ else {
108
+ disposeFrameStartMarker(current, context);
109
+ current.data = newData;
110
+ updated = true;
111
+ }
112
+ }
113
+ if (!updated) {
114
+ current.data = newData;
115
+ }
70
116
  }
71
117
  return;
72
118
  }
@@ -190,7 +236,15 @@ function diffElementChildren(current, next, context) {
190
236
  for (let i = 0; i < nextChildren.length; i++) {
191
237
  let nextChild = nextChildren[i];
192
238
  let matchIndex = -1;
193
- if (isElement(nextChild)) {
239
+ if (isFrameEndMarker(nextChild)) {
240
+ for (let j = 0; j < currentChildren.length; j++) {
241
+ if (!used[j] && isFrameEndMarker(currentChildren[j])) {
242
+ matchIndex = j;
243
+ break;
244
+ }
245
+ }
246
+ }
247
+ else if (isElement(nextChild)) {
194
248
  let key = nextChild.getAttribute('data-key');
195
249
  if (key != null && keyToIndex.has(key)) {
196
250
  let idx = keyToIndex.get(key);
@@ -216,13 +270,29 @@ function diffElementChildren(current, next, context) {
216
270
  let mi = matchIndexForNext[i];
217
271
  if (mi !== -1) {
218
272
  let curChild = currentChildren[mi];
219
- let cursor = diffNode(curChild, nextChildren[i], context);
273
+ let nextChild = nextChildren[i];
274
+ let replacement = getCommentMarkerRangeReplacement(curChild, nextChild, currentChildren, nextChildren, mi, i, context);
275
+ if (replacement) {
276
+ replaceCommentMarkerRange(replacement, current, context);
277
+ for (let k = mi; k <= replacement.currentEndIndex; k++)
278
+ used[k] = true;
279
+ committed[i] = replacement.nextStart;
280
+ committed[replacement.nextEndIndex] = nextChildren[replacement.nextEndIndex];
281
+ for (let j = i + 1; j < replacement.nextEndIndex; j++)
282
+ committed[j] = undefined;
283
+ i = replacement.nextEndIndex;
284
+ continue;
285
+ }
286
+ let cursor = diffNode(curChild, nextChild, context);
220
287
  if (cursor) {
221
- // Fast-forward across a hydrated virtual root region.
288
+ // `diffNode` can preserve hydration and frame marker ranges by returning
289
+ // the next end marker, so skip the owned interior nodes here.
222
290
  let nextEndIdx = nextChildren.indexOf(cursor);
223
- let currEndIdx = findHydrationEndIndex(currentChildren, mi);
224
- // Adjacent hydration regions can pre-match into the next region and leave
225
- // an orphaned `<!-- /rmx:h -->` behind. Clear those stale matches first.
291
+ let currEndIdx = isFrameStartMarker(curChild) && isFrameEndMarker(cursor)
292
+ ? findFrameEndIndex(currentChildren, mi)
293
+ : findHydrationEndIndex(currentChildren, mi);
294
+ // Adjacent marker ranges can pre-match into the next range and leave an
295
+ // orphaned end marker behind. Clear those stale matches first.
226
296
  for (let j = i + 1; j <= nextEndIdx; j++) {
227
297
  let matchedIndex = matchIndexForNext[j];
228
298
  if (matchedIndex > currEndIdx) {
@@ -233,7 +303,7 @@ function diffElementChildren(current, next, context) {
233
303
  // Mark the entire current region as used to avoid removals.
234
304
  for (let k = mi; k <= currEndIdx; k++)
235
305
  used[k] = true;
236
- // Preserve both boundary markers in committed; skip interior in reorder pass.
306
+ // Preserve both comment markers in committed; skip interior in reorder pass.
237
307
  committed[i] = curChild; // start marker
238
308
  committed[nextEndIdx] = currentChildren[currEndIdx]; // end marker
239
309
  for (let j = i + 1; j < nextEndIdx; j++)
@@ -256,9 +326,13 @@ function diffElementChildren(current, next, context) {
256
326
  continue;
257
327
  // Use only an anchor that is actually a child of the current parent
258
328
  let ref = anchor && anchor.parentNode === current ? anchor : null;
259
- // Do not move hydration boundary markers; keep region stable.
260
- // If a boundary marker is new, ensure it is inserted before using it as an anchor.
261
- if (isVirtualRootStartMarker(node) || isVirtualRootEndMarker(node)) {
329
+ // Existing comment markers delimit live ranges, so do not reorder them
330
+ // independently from their contents. New markers still need to be inserted
331
+ // before they can be used as anchors.
332
+ if (isVirtualRootStartMarker(node) ||
333
+ isVirtualRootEndMarker(node) ||
334
+ isFrameStartMarker(node) ||
335
+ isFrameEndMarker(node)) {
262
336
  if (node.parentNode !== current) {
263
337
  current.insertBefore(node, ref);
264
338
  }
@@ -330,6 +404,35 @@ function findHydrationEndIndex(nodes, startIdx) {
330
404
  }
331
405
  return startIdx;
332
406
  }
407
+ function findFrameEndMarker(start) {
408
+ let node = start.nextSibling;
409
+ let depth = 1;
410
+ while (node) {
411
+ if (isFrameStartMarker(node))
412
+ depth++;
413
+ if (isFrameEndMarker(node)) {
414
+ depth--;
415
+ if (depth === 0)
416
+ return node;
417
+ }
418
+ node = node.nextSibling;
419
+ }
420
+ throw new Error('Frame end marker not found');
421
+ }
422
+ function findFrameEndIndex(nodes, startIdx) {
423
+ let depth = 1;
424
+ for (let j = startIdx + 1; j < nodes.length; j++) {
425
+ let node = nodes[j];
426
+ if (isFrameStartMarker(node))
427
+ depth++;
428
+ if (isFrameEndMarker(node)) {
429
+ depth--;
430
+ if (depth === 0)
431
+ return j;
432
+ }
433
+ }
434
+ return startIdx;
435
+ }
333
436
  function isTextNode(node) {
334
437
  return node.nodeType === Node.TEXT_NODE;
335
438
  }
@@ -342,6 +445,76 @@ function isCommentNode(node) {
342
445
  function isFrameStartMarker(node) {
343
446
  return node instanceof Comment && node.data.trim().startsWith('rmx:f:');
344
447
  }
448
+ function isFrameEndMarker(node) {
449
+ return node instanceof Comment && node.data.trim() === '/rmx:f';
450
+ }
451
+ function shouldPreserveFrameStartMarker(current, next, context) {
452
+ if (!isFrameStartMarker(next))
453
+ return false;
454
+ let currentData = getFrameMarkerData(current, context);
455
+ let nextData = getFrameMarkerData(next, context);
456
+ return (currentData !== undefined &&
457
+ nextData !== undefined &&
458
+ currentData.src === nextData.src &&
459
+ currentData.name === nextData.name);
460
+ }
461
+ function getCommentMarkerRangeReplacement(current, next, currentNodes, nextNodes, currentIndex, nextIndex, context) {
462
+ // Comment markers can represent owned DOM ranges, not standalone comments. If
463
+ // the incoming range no longer has the same identity, replace the whole range
464
+ // before regular node diffing mutates either marker.
465
+ if (isFrameStartMarker(current) &&
466
+ isFrameStartMarker(next) &&
467
+ !shouldPreserveFrameStartMarker(current, next, context)) {
468
+ return {
469
+ currentStart: current,
470
+ nextStart: next,
471
+ currentEndIndex: findFrameEndIndex(currentNodes, currentIndex),
472
+ nextEndIndex: findFrameEndIndex(nextNodes, nextIndex),
473
+ };
474
+ }
475
+ }
476
+ function getFrameMarkerData(marker, context) {
477
+ let id = getFrameId(marker);
478
+ return context.data.f?.[id];
479
+ }
480
+ function getFrameId(marker) {
481
+ let trimmed = marker.data.trim();
482
+ invariant(trimmed.startsWith('rmx:f:'), 'Invalid frame start marker');
483
+ return trimmed.slice('rmx:f:'.length);
484
+ }
485
+ function replaceCommentMarkerRange(replacement, parent, context) {
486
+ let currentEnd = findFrameEndMarker(replacement.currentStart);
487
+ let nextEnd = findFrameEndMarker(replacement.nextStart);
488
+ let nextNodes = collectNodeRange(replacement.nextStart, nextEnd);
489
+ let currentNodes = collectNodeRange(replacement.currentStart, currentEnd);
490
+ for (let node of nextNodes) {
491
+ parent.insertBefore(node, replacement.currentStart);
492
+ }
493
+ for (let node of currentNodes) {
494
+ removeNode(node, parent, context);
495
+ }
496
+ }
497
+ function collectNodeRange(start, end) {
498
+ let nodes = [];
499
+ let node = start;
500
+ while (node) {
501
+ nodes.push(node);
502
+ if (node === end)
503
+ break;
504
+ node = node.nextSibling;
505
+ }
506
+ return nodes;
507
+ }
508
+ function collectFrameContentFragment(doc, start, end) {
509
+ let fragment = doc.createDocumentFragment();
510
+ let node = start.nextSibling;
511
+ while (node && node !== end) {
512
+ let next = node.nextSibling;
513
+ fragment.appendChild(node);
514
+ node = next;
515
+ }
516
+ return fragment;
517
+ }
345
518
  function removeNode(node, parent, context) {
346
519
  disposeRemovedVirtualRoots(node);
347
520
  disposeRemovedSubFrames(node, context);
@@ -1 +1 @@
1
- {"version":3,"file":"diff-dom.js","sourceRoot":"","sources":["../../src/runtime/diff-dom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAS1C,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,IAAY,EAAE,OAAqB;IACzE,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,CAAA;IAChE,SAAS,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;IAE1C,oFAAoF;IACpF,wEAAwE;IACxE,IAAI,aAAa,GACf,OAAO,CAAC,aAAa;QACrB,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAgC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAEpF,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACf,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAEf,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACZ,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,aAAa,CAAC,CAAA;YACvC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;YACvB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACnB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAChC,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClB,wEAAwE;YACxE,6CAA6C;YAC7C,IAAI,wBAAwB,CAAC,CAAC,CAAC,IAAI,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,IAAI,UAAU,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAA;gBAC1C,IAAI,OAAO,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAA;gBACvC,IAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAA;gBACrB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;oBAAE,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAA;gBAE1C,IAAI,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;gBAC9C,IAAI,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;gBACxC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA;gBAC3C,SAAQ;YACV,CAAC;YAED,IAAI,MAAM,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;YACpC,IAAI,MAAM,EAAE,CAAC;gBACX,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,OAAa,EAAE,IAAU,EAAE,OAAqB;IAChE,eAAe;IACf,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAA;QACpC,IAAI,OAAO,CAAC,WAAW,KAAK,OAAO;YAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAAA;QAClE,OAAM;IACR,CAAC;IAED,2CAA2C;IAC3C,IAAI,wBAAwB,CAAC,OAAO,CAAC,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;QACxE,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAA;QACxB,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAA;QACzB,CAAC;QAED,IAAI,GAAG,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAA;QACtC,4CAA4C;QAC5C,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,qBAAqB;IACrB,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;QACvB,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,IAAI,kBAAkB,CAAC,OAAO,CAAC;gBAAE,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC1E,OAAO,CAAC,IAAI,GAAG,OAAO,CAAA;QACxB,CAAC;QACD,OAAM;IACR,CAAC;IAED,qBAAqB;IACrB,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,0BAA0B;QAC1B,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,MAAM,GAAG,OAAO,CAAC,UAAU,CAAA;YAC/B,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;gBAClC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;YACtC,CAAC;YACD,OAAM;QACR,CAAC;QAED,4CAA4C;QAC5C,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACpC,IAAI,6BAA6B,CAAC,OAAO,EAAE,IAAI,CAAC;YAAE,OAAM;QACxD,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAC3C,OAAM;IACR,CAAC;IAED,yBAAyB;IACzB,IAAI,MAAM,GAAG,OAAO,CAAC,UAAU,CAAA;IAC/B,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAgB,EAAE,IAAa;IAC5D,IAAI,aAAa,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAA;IAC/C,IAAI,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;IAE5C,IAAI,WAAW,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAA;IAExC,WAAW;IACX,KAAK,IAAI,IAAI,IAAI,aAAa,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,IAAI,2BAA2B,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC;gBAAE,SAAQ;YAC9D,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,KAAK,IAAI,IAAI,IAAI,aAAa,EAAE,CAAC;QAC/B,IAAI,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,IAAI,2BAA2B,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC;gBAAE,SAAQ;YAC9D,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;QACpE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,OAAgB,EAAE,IAAa,EAAE,IAAY;IAChF,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,IAAI,OAAO,YAAY,kBAAkB,IAAI,IAAI,YAAY,kBAAkB,EAAE,CAAC;YAChF,OAAO,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAA;QACnC,CAAC;QAED,IAAI,OAAO,YAAY,iBAAiB,IAAI,IAAI,YAAY,iBAAiB,EAAE,CAAC;YAC9E,OAAO,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAA;QACnC,CAAC;IACH,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,OAAO,YAAY,gBAAgB,IAAI,IAAI,YAAY,gBAAgB,EAAE,CAAC;YAC5E,OAAO,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAA;QACzC,CAAC;IACH,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,IACE,OAAO,YAAY,gBAAgB;YACnC,IAAI,YAAY,gBAAgB;YAChC,wBAAwB,CAAC,OAAO,CAAC,EACjC,CAAC;YACD,OAAO,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAA;QACrC,CAAC;IACH,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,IAAI,OAAO,YAAY,iBAAiB,IAAI,IAAI,YAAY,iBAAiB,EAAE,CAAC;YAC9E,OAAO,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAA;QAC3C,CAAC;IACH,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,aAAa,CAAC,OAAO,CAAC,KAAK,aAAa,CAAC,IAAI,CAAC,CAAA;IACvD,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,6BAA6B,CAAC,OAAgB,EAAE,IAAa;IACpE,IAAI,OAAO,YAAY,mBAAmB,IAAI,IAAI,YAAY,mBAAmB,EAAE,CAAC;QAClF,OAAO,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAA;IACrC,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAuB;IACvD,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,QAAQ;QACvB,KAAK,CAAC,IAAI,KAAK,UAAU;QACzB,KAAK,CAAC,IAAI,KAAK,QAAQ;QACvB,KAAK,CAAC,IAAI,KAAK,OAAO;QACtB,KAAK,CAAC,IAAI,KAAK,OAAO;QACtB,KAAK,CAAC,IAAI,KAAK,OAAO;QACtB,KAAK,CAAC,IAAI,KAAK,QAAQ,CACxB,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,OAAgB;IACrC,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgB,EAAE,IAAa,EAAE,OAAqB;IACjF,IAAI,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACpD,IAAI,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAE9C,6CAA6C;IAC7C,IAAI,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,IAAI,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;YACvC,IAAI,GAAG,IAAI,IAAI;gBAAE,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IAED,IAAI,IAAI,GAAG,IAAI,KAAK,CAAU,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjE,IAAI,iBAAiB,GAAG,IAAI,KAAK,CAAS,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAEvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,IAAI,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAC/B,IAAI,UAAU,GAAG,CAAC,CAAC,CAAA;QAEnB,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YACzB,IAAI,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;YAC5C,IAAI,GAAG,IAAI,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvC,IAAI,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAE,CAAA;gBAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;oBAAE,UAAU,GAAG,GAAG,CAAA;YAClC,CAAC;QACH,CAAC;QAED,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,IAAI,cAAc,GAAG,CAAC,CAAA;YACtB,IACE,cAAc,GAAG,eAAe,CAAC,MAAM;gBACvC,CAAC,IAAI,CAAC,cAAc,CAAC;gBACrB,mBAAmB,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,EAC/D,CAAC;gBACD,UAAU,GAAG,cAAc,CAAA;YAC7B,CAAC;QACH,CAAC;QAED,IAAI,UAAU,KAAK,CAAC,CAAC;YAAE,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;QAC9C,iBAAiB,CAAC,CAAC,CAAC,GAAG,UAAU,CAAA;IACnC,CAAC;IAED,kDAAkD;IAClD,IAAI,SAAS,GAA4B,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;IACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,IAAI,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;QAC7B,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;YACd,IAAI,QAAQ,GAAG,eAAe,CAAC,EAAE,CAAC,CAAA;YAClC,IAAI,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YACzD,IAAI,MAAM,EAAE,CAAC;gBACX,sDAAsD;gBACtD,IAAI,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;gBAC7C,IAAI,UAAU,GAAG,qBAAqB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;gBAE3D,0EAA0E;gBAC1E,yEAAyE;gBACzE,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzC,IAAI,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;oBACvC,IAAI,YAAY,GAAG,UAAU,EAAE,CAAC;wBAC9B,IAAI,CAAC,YAAY,CAAC,GAAG,KAAK,CAAA;oBAC5B,CAAC;oBACD,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBAC3B,CAAC;gBAED,4DAA4D;gBAC5D,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE;oBAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;gBAErD,8EAA8E;gBAC9E,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAA,CAAC,eAAe;gBACvC,SAAS,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,CAAA,CAAC,aAAa;gBACjE,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE;oBAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;gBAEjE,yBAAyB;gBACzB,CAAC,GAAG,UAAU,CAAA;gBACd,SAAQ;YACV,CAAC;YACD,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAA;QACzB,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,IAAI,MAAM,GAAqB,SAAS,CAAA;IACxC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI;YAAE,SAAQ;QAEnB,oEAAoE;QACpE,IAAI,GAAG,GAAG,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;QAEjE,8DAA8D;QAC9D,mFAAmF;QACnF,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YACnE,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;gBAChC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YACjC,CAAC;YACD,MAAM,GAAG,IAAI,CAAA;YACb,SAAQ;QACV,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;YAChC,+EAA+E;YAC/E,IAAI,UAAU,GAAG,GAAG,CAAA;YACpB,IAAI,cAAc,GAChB,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU,CAAA;YACvF,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,qDAAqD;YACrD,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACjC,CAAC;QAED,qEAAqE;QACrE,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;YAChC,MAAM,GAAG,IAAI,CAAA;QACf,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACb,IAAI,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;YACrC,UAAU,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAO,EAAE,CAAO;IAC3C,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAC/C,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAA;IAChE,IAAI,wBAAwB,CAAC,CAAC,CAAC,IAAI,wBAAwB,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAC3E,IAAI,sBAAsB,CAAC,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IACvE,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IACrD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAU;IACvC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAA;AAC7D,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,IAAI,GAAgB,KAAK,CAAC,WAAW,CAAA;IACzC,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,wBAAwB,CAAC,IAAI,CAAC;gBAAE,KAAK,EAAE,CAAA;YAC3C,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,KAAK,EAAE,CAAA;gBACP,IAAI,KAAK,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAA;YAC9B,CAAC;QACH,CAAC;QACD,IAAI,GAAG,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;AACnD,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa,EAAE,QAAgB;IAC5D,KAAK,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAA;IAC/C,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,IAAU;IAC5B,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAA;AACzC,CAAC;AAED,SAAS,SAAS,CAAC,IAAU;IAC3B,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,CAAA;AAC5C,CAAC;AAED,SAAS,aAAa,CAAC,IAAU;IAC/B,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,CAAA;AAC5C,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAU;IACpC,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;AACzE,CAAC;AAED,SAAS,UAAU,CAAC,IAAU,EAAE,MAAkB,EAAE,OAAqB;IACvE,0BAA0B,CAAC,IAAI,CAAC,CAAA;IAChC,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAEtC,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QAC/B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAU;IAC5C,IAAI,KAAK,GAAW,CAAC,IAAI,CAAC,CAAA;IAC1B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAA;QACtB,IAAI,CAAC,IAAI;YAAE,SAAQ;QAEnB,IAAI,gCAAgC,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;YACnB,SAAQ;QACV,CAAC;QAED,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAU,EAAE,OAAqB;IAChE,IAAI,KAAK,GAAW,CAAC,IAAI,CAAC,CAAA;IAC1B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAA;QACtB,IAAI,CAAC,IAAI;YAAE,SAAQ;QAEnB,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACxC,CAAC;QAED,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAe,EAAE,OAAqB;IACrE,IAAI,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACjD,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,OAAO,EAAE,CAAA;QAClB,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAU;IAC1C,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;AACrE,CAAC;AAED,SAAS,gCAAgC,CAAC,IAAU;IAClD,OAAO,wBAAwB,CAAC,IAAI,CAAC,IAAI,MAAM,IAAI,IAAI,CAAA;AACzD,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAU;IACxC,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAA;AAC7D,CAAC"}
1
+ {"version":3,"file":"diff-dom.js","sourceRoot":"","sources":["../../src/runtime/diff-dom.ts"],"names":[],"mappings":"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"}
@@ -85,6 +85,7 @@ export type FrameContext = {
85
85
  namedFrames: Map<string, FrameHandle>;
86
86
  regionTailRef?: ChildNode | null;
87
87
  regionParent?: ParentNode | null;
88
+ signal?: AbortSignal;
88
89
  };
89
90
  type FrameInit = {
90
91
  name?: string;
@@ -107,6 +108,11 @@ export type Frame = {
107
108
  render: (content: InternalFrameContent, options?: RenderOptions) => Promise<void>;
108
109
  ready: () => Promise<void>;
109
110
  flush: () => void;
111
+ clearPendingTemplateWatch: () => void;
112
+ isDisplayingResolvedContent: () => boolean;
113
+ startInheritedReload: (signal?: AbortSignal) => void;
114
+ updateMarker: (marker: FrameMarkerData, options?: RenderOptions) => Promise<void>;
115
+ renderMarkerContent: (marker: FrameMarkerData, content: InternalFrameContent, options?: RenderOptions) => Promise<void>;
110
116
  dispose: () => void;
111
117
  handle: FrameHandle;
112
118
  };
@@ -114,6 +120,7 @@ type RenderOptions = {
114
120
  flushKind?: FlushKind;
115
121
  initialHydrationTracker?: InitialHydrationTracker;
116
122
  signal?: AbortSignal;
123
+ contentStatus?: 'pending' | 'resolved';
117
124
  };
118
125
  export declare function createFrame(root: FrameRoot, init: FrameInit): Frame;
119
126
  export declare function createFrameRuntime(init: {