@remix-run/ui 0.0.0 → 0.1.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 (273) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +195 -2
  3. package/dist/animation/animate-layout-mixin.d.ts +12 -0
  4. package/dist/animation/animate-layout-mixin.js +214 -0
  5. package/dist/animation/animate-layout-mixin.js.map +1 -0
  6. package/dist/animation/animate-mixins.d.ts +29 -0
  7. package/dist/animation/animate-mixins.js +235 -0
  8. package/dist/animation/animate-mixins.js.map +1 -0
  9. package/dist/animation/index.d.ts +6 -0
  10. package/dist/animation/index.js +5 -0
  11. package/dist/animation/index.js.map +1 -0
  12. package/dist/animation/spring.d.ts +75 -0
  13. package/dist/animation/spring.js +183 -0
  14. package/dist/animation/spring.js.map +1 -0
  15. package/dist/animation/tween.d.ts +70 -0
  16. package/dist/animation/tween.js +93 -0
  17. package/dist/animation/tween.js.map +1 -0
  18. package/dist/components/accordion/accordion.d.ts +92 -0
  19. package/dist/components/accordion/accordion.js +337 -0
  20. package/dist/components/accordion/accordion.js.map +1 -0
  21. package/dist/components/anchor/anchor.d.ts +13 -0
  22. package/dist/components/anchor/anchor.js +558 -0
  23. package/dist/components/anchor/anchor.js.map +1 -0
  24. package/dist/components/breadcrumbs/breadcrumbs.d.ts +11 -0
  25. package/dist/components/breadcrumbs/breadcrumbs.js +78 -0
  26. package/dist/components/breadcrumbs/breadcrumbs.js.map +1 -0
  27. package/dist/components/button/button.d.ts +23 -0
  28. package/dist/components/button/button.js +147 -0
  29. package/dist/components/button/button.js.map +1 -0
  30. package/dist/components/combobox/combobox.d.ts +101 -0
  31. package/dist/components/combobox/combobox.js +708 -0
  32. package/dist/components/combobox/combobox.js.map +1 -0
  33. package/dist/components/glyph/glyph.d.ts +14 -0
  34. package/dist/components/glyph/glyph.js +65 -0
  35. package/dist/components/glyph/glyph.js.map +1 -0
  36. package/dist/components/listbox/listbox.d.ts +67 -0
  37. package/dist/components/listbox/listbox.js +340 -0
  38. package/dist/components/listbox/listbox.js.map +1 -0
  39. package/dist/components/menu/hover-aim.d.ts +5 -0
  40. package/dist/components/menu/hover-aim.js +308 -0
  41. package/dist/components/menu/hover-aim.js.map +1 -0
  42. package/dist/components/menu/menu.d.ts +164 -0
  43. package/dist/components/menu/menu.js +1106 -0
  44. package/dist/components/menu/menu.js.map +1 -0
  45. package/dist/components/popover/popover.d.ts +35 -0
  46. package/dist/components/popover/popover.js +138 -0
  47. package/dist/components/popover/popover.js.map +1 -0
  48. package/dist/components/select/select.d.ts +67 -0
  49. package/dist/components/select/select.js +397 -0
  50. package/dist/components/select/select.js.map +1 -0
  51. package/dist/components/separator/separator.d.ts +2 -0
  52. package/dist/components/separator/separator.js +15 -0
  53. package/dist/components/separator/separator.js.map +1 -0
  54. package/dist/components/tabs/tabs.d.ts +78 -0
  55. package/dist/components/tabs/tabs.js +341 -0
  56. package/dist/components/tabs/tabs.js.map +1 -0
  57. package/dist/index.d.ts +28 -0
  58. package/dist/index.js +21 -0
  59. package/dist/index.js.map +1 -0
  60. package/dist/interactions/keydown/keydown.d.ts +1 -0
  61. package/dist/interactions/keydown/keydown.js +8 -0
  62. package/dist/interactions/keydown/keydown.js.map +1 -0
  63. package/dist/interactions/outside-click/outside-click-mixin.d.ts +2 -0
  64. package/dist/interactions/outside-click/outside-click-mixin.js +29 -0
  65. package/dist/interactions/outside-click/outside-click-mixin.js.map +1 -0
  66. package/dist/interactions/typeahead/typeahead-mixin.d.ts +8 -0
  67. package/dist/interactions/typeahead/typeahead-mixin.js +59 -0
  68. package/dist/interactions/typeahead/typeahead-mixin.js.map +1 -0
  69. package/dist/jsx-runtime.d.ts +2 -0
  70. package/dist/jsx-runtime.js +3 -0
  71. package/dist/jsx-runtime.js.map +1 -0
  72. package/dist/runtime/client-entries.d.ts +91 -0
  73. package/dist/runtime/client-entries.js +40 -0
  74. package/dist/runtime/client-entries.js.map +1 -0
  75. package/dist/runtime/component.d.ts +223 -0
  76. package/dist/runtime/component.js +152 -0
  77. package/dist/runtime/component.js.map +1 -0
  78. package/dist/runtime/create-element.d.ts +10 -0
  79. package/dist/runtime/create-element.js +29 -0
  80. package/dist/runtime/create-element.js.map +1 -0
  81. package/dist/runtime/diff-dom.d.ts +2 -0
  82. package/dist/runtime/diff-dom.js +364 -0
  83. package/dist/runtime/diff-dom.js.map +1 -0
  84. package/dist/runtime/diff-props.d.ts +9 -0
  85. package/dist/runtime/diff-props.js +195 -0
  86. package/dist/runtime/diff-props.js.map +1 -0
  87. package/dist/runtime/document-state.d.ts +11 -0
  88. package/dist/runtime/document-state.js +106 -0
  89. package/dist/runtime/document-state.js.map +1 -0
  90. package/dist/runtime/dom.d.ts +3189 -0
  91. package/dist/runtime/dom.js +2 -0
  92. package/dist/runtime/dom.js.map +1 -0
  93. package/dist/runtime/error-event.d.ts +20 -0
  94. package/dist/runtime/error-event.js +19 -0
  95. package/dist/runtime/error-event.js.map +1 -0
  96. package/dist/runtime/event-listeners.d.ts +50 -0
  97. package/dist/runtime/event-listeners.js +31 -0
  98. package/dist/runtime/event-listeners.js.map +1 -0
  99. package/dist/runtime/frame.d.ts +119 -0
  100. package/dist/runtime/frame.js +915 -0
  101. package/dist/runtime/frame.js.map +1 -0
  102. package/dist/runtime/invariant.d.ts +23 -0
  103. package/dist/runtime/invariant.js +33 -0
  104. package/dist/runtime/invariant.js.map +1 -0
  105. package/dist/runtime/jsx.d.ts +320 -0
  106. package/dist/runtime/jsx.js +31 -0
  107. package/dist/runtime/jsx.js.map +1 -0
  108. package/dist/runtime/mixins/attrs-mixin.d.ts +9 -0
  109. package/dist/runtime/mixins/attrs-mixin.js +23 -0
  110. package/dist/runtime/mixins/attrs-mixin.js.map +1 -0
  111. package/dist/runtime/mixins/link-mixin.d.ts +17 -0
  112. package/dist/runtime/mixins/link-mixin.js +101 -0
  113. package/dist/runtime/mixins/link-mixin.js.map +1 -0
  114. package/dist/runtime/mixins/mixin.d.ts +145 -0
  115. package/dist/runtime/mixins/mixin.js +570 -0
  116. package/dist/runtime/mixins/mixin.js.map +1 -0
  117. package/dist/runtime/mixins/on-mixin.d.ts +16 -0
  118. package/dist/runtime/mixins/on-mixin.js +49 -0
  119. package/dist/runtime/mixins/on-mixin.js.map +1 -0
  120. package/dist/runtime/mixins/ref-mixin.d.ts +9 -0
  121. package/dist/runtime/mixins/ref-mixin.js +21 -0
  122. package/dist/runtime/mixins/ref-mixin.js.map +1 -0
  123. package/dist/runtime/navigation.d.ts +22 -0
  124. package/dist/runtime/navigation.js +102 -0
  125. package/dist/runtime/navigation.js.map +1 -0
  126. package/dist/runtime/reconcile.d.ts +11 -0
  127. package/dist/runtime/reconcile.js +1240 -0
  128. package/dist/runtime/reconcile.js.map +1 -0
  129. package/dist/runtime/render.d.ts +54 -0
  130. package/dist/runtime/render.js +50 -0
  131. package/dist/runtime/render.js.map +1 -0
  132. package/dist/runtime/run.d.ts +45 -0
  133. package/dist/runtime/run.js +68 -0
  134. package/dist/runtime/run.js.map +1 -0
  135. package/dist/runtime/scheduler.d.ts +30 -0
  136. package/dist/runtime/scheduler.js +185 -0
  137. package/dist/runtime/scheduler.js.map +1 -0
  138. package/dist/runtime/svg-attributes.d.ts +5 -0
  139. package/dist/runtime/svg-attributes.js +124 -0
  140. package/dist/runtime/svg-attributes.js.map +1 -0
  141. package/dist/runtime/to-vnode.d.ts +3 -0
  142. package/dist/runtime/to-vnode.js +43 -0
  143. package/dist/runtime/to-vnode.js.map +1 -0
  144. package/dist/runtime/typed-event-target.d.ts +50 -0
  145. package/dist/runtime/typed-event-target.js +6 -0
  146. package/dist/runtime/typed-event-target.js.map +1 -0
  147. package/dist/runtime/vdom.d.ts +55 -0
  148. package/dist/runtime/vdom.js +198 -0
  149. package/dist/runtime/vdom.js.map +1 -0
  150. package/dist/runtime/vnode.d.ts +79 -0
  151. package/dist/runtime/vnode.js +38 -0
  152. package/dist/runtime/vnode.js.map +1 -0
  153. package/dist/server/stream.d.ts +57 -0
  154. package/dist/server/stream.js +1007 -0
  155. package/dist/server/stream.js.map +1 -0
  156. package/dist/style/css-mixin.d.ts +8 -0
  157. package/dist/style/css-mixin.js +54 -0
  158. package/dist/style/css-mixin.js.map +1 -0
  159. package/dist/style/index.d.ts +5 -0
  160. package/dist/style/index.js +4 -0
  161. package/dist/style/index.js.map +1 -0
  162. package/dist/style/style.d.ts +24 -0
  163. package/dist/style/style.js +269 -0
  164. package/dist/style/style.js.map +1 -0
  165. package/dist/style/stylesheet.d.ts +11 -0
  166. package/dist/style/stylesheet.js +174 -0
  167. package/dist/style/stylesheet.js.map +1 -0
  168. package/dist/test.d.ts +2 -0
  169. package/dist/test.js +2 -0
  170. package/dist/test.js.map +1 -0
  171. package/dist/theme/contract.d.ts +259 -0
  172. package/dist/theme/contract.js +131 -0
  173. package/dist/theme/contract.js.map +1 -0
  174. package/dist/theme/glyph-contract.d.ts +13 -0
  175. package/dist/theme/glyph-contract.js +34 -0
  176. package/dist/theme/glyph-contract.js.map +1 -0
  177. package/dist/theme/presets/rmx-01/glyphs.d.ts +2 -0
  178. package/dist/theme/presets/rmx-01/glyphs.js +252 -0
  179. package/dist/theme/presets/rmx-01/glyphs.js.map +1 -0
  180. package/dist/theme/presets/rmx-01/index.d.ts +2 -0
  181. package/dist/theme/presets/rmx-01/index.js +119 -0
  182. package/dist/theme/presets/rmx-01/index.js.map +1 -0
  183. package/dist/theme/runtime.d.ts +2 -0
  184. package/dist/theme/runtime.js +81 -0
  185. package/dist/theme/runtime.js.map +1 -0
  186. package/dist/theme/theme.d.ts +6 -0
  187. package/dist/theme/theme.js +5 -0
  188. package/dist/theme/theme.js.map +1 -0
  189. package/dist/utils/flash-attribute.d.ts +1 -0
  190. package/dist/utils/flash-attribute.js +11 -0
  191. package/dist/utils/flash-attribute.js.map +1 -0
  192. package/dist/utils/scroll-lock.d.ts +3 -0
  193. package/dist/utils/scroll-lock.js +69 -0
  194. package/dist/utils/scroll-lock.js.map +1 -0
  195. package/dist/utils/wait-for-css-transition.d.ts +1 -0
  196. package/dist/utils/wait-for-css-transition.js +58 -0
  197. package/dist/utils/wait-for-css-transition.js.map +1 -0
  198. package/dist/utils/wait.d.ts +1 -0
  199. package/dist/utils/wait.js +6 -0
  200. package/dist/utils/wait.js.map +1 -0
  201. package/package.json +125 -5
  202. package/src/animation/animate-layout-mixin.ts +266 -0
  203. package/src/animation/animate-mixins.ts +292 -0
  204. package/src/animation/index.ts +6 -0
  205. package/src/animation/spring.ts +299 -0
  206. package/src/animation/tween.ts +134 -0
  207. package/src/components/accordion/accordion.tsx +565 -0
  208. package/src/components/anchor/anchor.ts +904 -0
  209. package/src/components/breadcrumbs/breadcrumbs.tsx +124 -0
  210. package/src/components/button/README.md +44 -0
  211. package/src/components/button/button.tsx +188 -0
  212. package/src/components/combobox/README.md +145 -0
  213. package/src/components/combobox/combobox.tsx +1014 -0
  214. package/src/components/glyph/glyph.tsx +110 -0
  215. package/src/components/listbox/listbox.ts +447 -0
  216. package/src/components/menu/hover-aim.ts +428 -0
  217. package/src/components/menu/menu.tsx +1547 -0
  218. package/src/components/popover/README.md +122 -0
  219. package/src/components/popover/popover.ts +201 -0
  220. package/src/components/select/select.tsx +585 -0
  221. package/src/components/separator/separator.ts +19 -0
  222. package/src/components/tabs/README.md +105 -0
  223. package/src/components/tabs/tabs.tsx +499 -0
  224. package/src/index.ts +72 -0
  225. package/src/interactions/keydown/keydown.ts +14 -0
  226. package/src/interactions/outside-click/outside-click-mixin.ts +55 -0
  227. package/src/interactions/typeahead/typeahead-mixin.ts +89 -0
  228. package/src/jsx-runtime.ts +2 -0
  229. package/src/runtime/client-entries.ts +137 -0
  230. package/src/runtime/component.ts +402 -0
  231. package/src/runtime/create-element.ts +38 -0
  232. package/src/runtime/diff-dom.ts +404 -0
  233. package/src/runtime/diff-props.ts +209 -0
  234. package/src/runtime/document-state.ts +130 -0
  235. package/src/runtime/dom.ts +3971 -0
  236. package/src/runtime/error-event.ts +26 -0
  237. package/src/runtime/event-listeners.ts +171 -0
  238. package/src/runtime/frame.ts +1211 -0
  239. package/src/runtime/invariant.ts +31 -0
  240. package/src/runtime/jsx.ts +398 -0
  241. package/src/runtime/mixins/attrs-mixin.ts +35 -0
  242. package/src/runtime/mixins/link-mixin.ts +131 -0
  243. package/src/runtime/mixins/mixin.ts +908 -0
  244. package/src/runtime/mixins/on-mixin.ts +89 -0
  245. package/src/runtime/mixins/ref-mixin.ts +32 -0
  246. package/src/runtime/navigation.ts +136 -0
  247. package/src/runtime/reconcile.ts +1722 -0
  248. package/src/runtime/render.ts +101 -0
  249. package/src/runtime/run.ts +100 -0
  250. package/src/runtime/scheduler.ts +262 -0
  251. package/src/runtime/svg-attributes.ts +133 -0
  252. package/src/runtime/to-vnode.ts +50 -0
  253. package/src/runtime/typed-event-target.ts +67 -0
  254. package/src/runtime/vdom.ts +295 -0
  255. package/src/runtime/vnode.ts +137 -0
  256. package/src/server/stream.ts +1342 -0
  257. package/src/style/css-mixin.ts +82 -0
  258. package/src/style/index.ts +10 -0
  259. package/src/style/style.ts +312 -0
  260. package/src/style/stylesheet.ts +209 -0
  261. package/src/test/setup.ts +7 -0
  262. package/src/test/utils.ts +45 -0
  263. package/src/test.ts +2 -0
  264. package/src/theme/contract.ts +183 -0
  265. package/src/theme/glyph-contract.ts +57 -0
  266. package/src/theme/presets/rmx-01/glyphs.tsx +308 -0
  267. package/src/theme/presets/rmx-01/index.ts +121 -0
  268. package/src/theme/runtime.ts +116 -0
  269. package/src/theme/theme.ts +15 -0
  270. package/src/utils/flash-attribute.ts +11 -0
  271. package/src/utils/scroll-lock.ts +97 -0
  272. package/src/utils/wait-for-css-transition.ts +66 -0
  273. package/src/utils/wait.ts +5 -0
@@ -0,0 +1,9 @@
1
+ import type { ElementProps } from '../jsx.ts';
2
+ /**
3
+ * Callback invoked with the bound node and a lifetime signal.
4
+ */
5
+ export type RefCallback<node extends EventTarget> = (node: node, signal: AbortSignal) => void;
6
+ /**
7
+ * Calls a callback when an element is inserted and aborts it when removed.
8
+ */
9
+ export declare const ref: <boundNode extends Element = Element>(callback: (node: boundNode, signal: AbortSignal) => void) => import("./mixin.ts").MixinDescriptor<boundNode, [callback: (node: boundNode, signal: AbortSignal) => void], ElementProps>;
@@ -0,0 +1,21 @@
1
+ import { createMixin } from "./mixin.js";
2
+ /**
3
+ * Calls a callback when an element is inserted and aborts it when removed.
4
+ */
5
+ export const ref = createMixin((handle) => {
6
+ let controller;
7
+ handle.addEventListener('insert', (event) => {
8
+ controller = new AbortController();
9
+ callback(event.node, controller.signal);
10
+ });
11
+ handle.addEventListener('remove', () => {
12
+ controller?.abort(new DOMException('', 'AbortError'));
13
+ controller = undefined;
14
+ });
15
+ let callback = () => { };
16
+ return (nextCallback) => {
17
+ callback = nextCallback;
18
+ return handle.element;
19
+ };
20
+ });
21
+ //# sourceMappingURL=ref-mixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ref-mixin.js","sourceRoot":"","sources":["../../../src/runtime/mixins/ref-mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAQxC;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,WAAW,CAC5B,CAAC,MAAM,EAAE,EAAE;IACT,IAAI,UAAuC,CAAA;IAE3C,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1C,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QAClC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;QACrC,UAAU,EAAE,KAAK,CAAC,IAAI,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAA;QACrD,UAAU,GAAG,SAAS,CAAA;IACxB,CAAC,CAAC,CAAA;IAEF,IAAI,QAAQ,GAAyB,GAAG,EAAE,GAAE,CAAC,CAAA;IAC7C,OAAO,CAAC,YAAY,EAAE,EAAE;QACtB,QAAQ,GAAG,YAAY,CAAA;QACvB,OAAO,MAAM,CAAC,OAAO,CAAA;IACvB,CAAC,CAAA;AACH,CAAC,CACF,CAAA"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Options for client-side frame-aware navigation.
3
+ */
4
+ export type NavigationOptions = {
5
+ src?: string;
6
+ target?: string;
7
+ history?: 'push' | 'replace';
8
+ resetScroll?: boolean;
9
+ };
10
+ /**
11
+ * Performs a Navigation API transition understood by Remix frame runtime state.
12
+ *
13
+ * @param href Destination URL.
14
+ * @param options Navigation options.
15
+ */
16
+ export declare function navigate(href: string, options?: NavigationOptions): Promise<void>;
17
+ /**
18
+ * Starts listening for Navigation API transitions and routes them through frame reloads.
19
+ *
20
+ * @param signal Abort signal used to remove the listener.
21
+ */
22
+ export declare function startNavigationListener(signal: AbortSignal): void;
@@ -0,0 +1,102 @@
1
+ import { getTopFrame, getNamedFrame } from "./run.js";
2
+ /**
3
+ * Performs a Navigation API transition understood by Remix frame runtime state.
4
+ *
5
+ * @param href Destination URL.
6
+ * @param options Navigation options.
7
+ */
8
+ export async function navigate(href, options) {
9
+ let state = {
10
+ target: options?.target,
11
+ src: options?.src ?? href,
12
+ resetScroll: options?.resetScroll !== false,
13
+ $rmx: true,
14
+ };
15
+ let transition = window.navigation.navigate(href, { state, history: options?.history });
16
+ await transition.finished;
17
+ }
18
+ /**
19
+ * Starts listening for Navigation API transitions and routes them through frame reloads.
20
+ *
21
+ * @param signal Abort signal used to remove the listener.
22
+ */
23
+ export function startNavigationListener(signal) {
24
+ let navigation = window.navigation;
25
+ navigation.updateCurrentEntry({
26
+ state: { target: undefined, src: window.location.href, resetScroll: true, $rmx: true },
27
+ });
28
+ navigation.addEventListener('navigate', (event) => {
29
+ if (!event.canIntercept)
30
+ return;
31
+ let state = getRuntimeNavigationState(event);
32
+ if (!state)
33
+ return;
34
+ let topFrame = getTopFrame();
35
+ let namedFrame = state.target ? getNamedFrame(state.target) : undefined;
36
+ let frame = namedFrame ?? topFrame;
37
+ event.intercept({
38
+ async handler() {
39
+ if (event.navigationType !== 'traverse') {
40
+ navigation.updateCurrentEntry({ state });
41
+ }
42
+ frame.src = frame === topFrame ? event.destination.url : state.src;
43
+ await frame.reload();
44
+ let isNewEntry = event.navigationType === 'push' || event.navigationType === 'replace';
45
+ if (state.resetScroll && isNewEntry) {
46
+ window.scrollTo(0, 0);
47
+ }
48
+ },
49
+ });
50
+ }, { signal });
51
+ }
52
+ function isRuntimeNavigation(info) {
53
+ return typeof info === 'object' && info != null && '$rmx' in info;
54
+ }
55
+ function getRuntimeNavigationState(event) {
56
+ if (event.navigationType === 'traverse') {
57
+ return getTraverseNavigationState(event);
58
+ }
59
+ let sourceState = getSourceElementNavigationState(event);
60
+ if (sourceState)
61
+ return sourceState;
62
+ let destinationState = event.destination.getState();
63
+ if (isRuntimeNavigation(destinationState))
64
+ return destinationState;
65
+ }
66
+ function getTraverseNavigationState(event) {
67
+ let destinationState = event.destination.getState();
68
+ if (isRuntimeNavigation(destinationState)) {
69
+ return destinationState;
70
+ }
71
+ // Safari returns `null` for destination.getState(), even though its in the
72
+ // navigation.entries(), so we do its job for it and look it up.
73
+ let navigation = window.navigation;
74
+ let matchingEntry = navigation.entries().find((entry) => entry.key === event.destination.key);
75
+ if (matchingEntry) {
76
+ let state = matchingEntry.getState();
77
+ if (isRuntimeNavigation(state)) {
78
+ return state;
79
+ }
80
+ }
81
+ return undefined;
82
+ }
83
+ function getSourceElementNavigationState(event) {
84
+ let sourceEvent = event;
85
+ let sourceElement = sourceEvent.sourceElement;
86
+ if (!(sourceElement instanceof Element))
87
+ return;
88
+ let linkElement = sourceElement.closest('a, area');
89
+ if (!(linkElement instanceof Element))
90
+ return;
91
+ if (linkElement.hasAttribute('rmx-document'))
92
+ return;
93
+ if (linkElement.hasAttribute('download'))
94
+ return;
95
+ return {
96
+ target: linkElement.getAttribute('rmx-target') ?? undefined,
97
+ src: linkElement.getAttribute('rmx-src') ?? event.destination.url,
98
+ resetScroll: linkElement.getAttribute('rmx-reset-scroll') !== 'false',
99
+ $rmx: true,
100
+ };
101
+ }
102
+ //# sourceMappingURL=navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/runtime/navigation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { ComponentHandle, FrameHandle } from './component.ts';
2
+ import type { ComponentNode, VNode } from './vnode.ts';
3
+ import type { StyleManager } from '../style/index.ts';
4
+ import type { Scheduler } from './scheduler.ts';
5
+ export declare function diffVNodes(curr: VNode | null, next: VNode, domParent: ParentNode, frame: FrameHandle, scheduler: Scheduler, styles: StyleManager, vParent: VNode, rootTarget: EventTarget, anchor?: Node, rootCursor?: Node | null): Node | null | undefined;
6
+ export declare function renderComponent(handle: ComponentHandle, currContent: VNode | null, next: ComponentNode, domParent: ParentNode, frame: FrameHandle, scheduler: Scheduler, styles: StyleManager, rootTarget: EventTarget, vParent?: VNode, anchor?: Node, cursor?: Node | null): Node | null | undefined;
7
+ export declare function remove(node: VNode, domParent: ParentNode, scheduler: Scheduler, styles: StyleManager): void;
8
+ export declare function findFirstDomAnchor(node: VNode | null | undefined): Node | null;
9
+ export declare function findLastDomAnchor(node: VNode | null | undefined): Node | null;
10
+ export declare function setActiveSchedulerUpdateParents(parents: ParentNode[] | undefined): void;
11
+ export declare function findNextSiblingDomAnchor(curr: VNode, vParent?: VNode): Node | null;