@remix-run/ui 0.8.0 → 0.9.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 (52) hide show
  1. package/README.md +56 -8
  2. package/dist/runtime/component.d.ts +9 -4
  3. package/dist/runtime/component.js +38 -9
  4. package/dist/runtime/component.js.map +1 -1
  5. package/dist/runtime/core/mix.d.ts +21 -0
  6. package/dist/runtime/core/mix.js +128 -0
  7. package/dist/runtime/core/mix.js.map +1 -0
  8. package/dist/runtime/diff-dom.js +7 -13
  9. package/dist/runtime/diff-dom.js.map +1 -1
  10. package/dist/runtime/document-reload.d.ts +2 -0
  11. package/dist/runtime/document-reload.js +14 -0
  12. package/dist/runtime/document-reload.js.map +1 -0
  13. package/dist/runtime/frame.d.ts +19 -4
  14. package/dist/runtime/frame.js +80 -11
  15. package/dist/runtime/frame.js.map +1 -1
  16. package/dist/runtime/import-map-manager.d.ts +8 -0
  17. package/dist/runtime/import-map-manager.js +295 -0
  18. package/dist/runtime/import-map-manager.js.map +1 -0
  19. package/dist/runtime/mixins/mixin.d.ts +0 -1
  20. package/dist/runtime/mixins/mixin.js +18 -132
  21. package/dist/runtime/mixins/mixin.js.map +1 -1
  22. package/dist/runtime/module-preloader.d.ts +2 -1
  23. package/dist/runtime/module-preloader.js +3 -2
  24. package/dist/runtime/module-preloader.js.map +1 -1
  25. package/dist/runtime/navigation.js +143 -48
  26. package/dist/runtime/navigation.js.map +1 -1
  27. package/dist/runtime/reconcile.js +9 -0
  28. package/dist/runtime/reconcile.js.map +1 -1
  29. package/dist/runtime/run.d.ts +3 -0
  30. package/dist/runtime/run.js +3 -1
  31. package/dist/runtime/run.js.map +1 -1
  32. package/dist/runtime/to-vnode.js +1 -1
  33. package/dist/runtime/to-vnode.js.map +1 -1
  34. package/dist/server/stream.d.ts +25 -2
  35. package/dist/server/stream.js +361 -166
  36. package/dist/server/stream.js.map +1 -1
  37. package/package.json +1 -1
  38. package/src/runtime/component.ts +52 -14
  39. package/src/runtime/core/mix.ts +157 -0
  40. package/src/runtime/diff-dom.ts +7 -12
  41. package/src/runtime/document-reload.ts +14 -0
  42. package/src/runtime/frame.ts +105 -16
  43. package/src/runtime/import-map-manager.ts +369 -0
  44. package/src/runtime/mixins/mixin.ts +18 -145
  45. package/src/runtime/module-preloader.ts +6 -3
  46. package/src/runtime/navigation.ts +178 -58
  47. package/src/runtime/reconcile.ts +9 -0
  48. package/src/runtime/run.ts +7 -1
  49. package/src/runtime/to-vnode.ts +1 -1
  50. package/src/server/README.md +25 -5
  51. package/src/server/stream.ts +478 -197
  52. package/src/test/utils.ts +1 -6
package/README.md CHANGED
@@ -79,10 +79,9 @@ function Actions() {
79
79
  }
80
80
  ```
81
81
 
82
- ## Frame Navigation
82
+ ## Client Entry Loading
83
83
 
84
- `run()` progressively enhances same-origin links and forms using a default `resolveFrame` that
85
- fetches the frame source:
84
+ `run()` hydrates client entries by calling `loadModule` for each component module:
86
85
 
87
86
  ```tsx
88
87
  import { run } from 'remix/ui'
@@ -97,6 +96,47 @@ let app = run({
97
96
  await app.ready()
98
97
  ```
99
98
 
99
+ Client entries introduced after the initial document may depend on import maps added at runtime.
100
+ When targeting browsers without native support for multiple import maps, use
101
+ `remix/multiple-import-maps-polyfill` to load these modules and process their preloads:
102
+
103
+ ```tsx
104
+ import {
105
+ detectMultipleImportMapSupport,
106
+ importModule,
107
+ preloadShim,
108
+ } from 'remix/multiple-import-maps-polyfill'
109
+
110
+ let app = run({
111
+ async loadModule(moduleUrl, exportName) {
112
+ let module = await importModule(moduleUrl)
113
+ let Component = module[exportName]
114
+ if (typeof Component !== 'function') {
115
+ throw new Error(`Unknown component: ${moduleUrl}#${exportName}`)
116
+ }
117
+ return Component
118
+ },
119
+ async processClientEntryPreloads(preloads) {
120
+ if (await detectMultipleImportMapSupport()) return preloads
121
+
122
+ preloadShim(preloads)
123
+ return []
124
+ },
125
+ })
126
+ ```
127
+
128
+ ## Frame Navigation
129
+
130
+ The same runtime represents the current document as `app.frames.top` and intercepts eligible
131
+ same-origin links and forms through the browser's Navigation API. Those navigations fetch HTML with
132
+ the frame resolver and update the existing document in place instead of loading a new document.
133
+ This soft-navigation behavior applies even when the page only uses `clientEntry()` and does not
134
+ render an explicit `<Frame>`.
135
+
136
+ Frame navigation requires both `window.navigation` and `NavigateEvent.sourceElement`. Browsers
137
+ missing either capability use document navigation for links, forms, and `navigate()`. Hydration and
138
+ explicit frame reloads still work.
139
+
100
140
  The default resolver is equivalent to:
101
141
 
102
142
  ```js
@@ -108,7 +148,8 @@ async function resolveFrame(src, options) {
108
148
  signal: options?.signal,
109
149
  })
110
150
 
111
- if (!response.ok) {
151
+ let isHtml = response.headers.get('Content-Type')?.toLowerCase().includes('text/html')
152
+ if (response.status >= 500 || (response.status >= 300 && !isHtml)) {
112
153
  throw new Error(`Failed to resolve frame: ${response.status} ${response.statusText}`.trimEnd())
113
154
  }
114
155
 
@@ -149,11 +190,18 @@ CRLF-delimited text, and `multipart/form-data` submissions use `FormData`. Pass
149
190
  `resolveFrame` when the server requires additional headers, another body encoding, or a different
150
191
  response policy.
151
192
 
152
- Add `data-rmx-document` to a link or form to leave its navigation to the browser.
193
+ Add `data-rmx-document` to a link or form to leave that navigation to the browser. To keep all links
194
+ and forms as document navigations while still hydrating client entries and using explicit frames,
195
+ register a listener before calling `run()`:
196
+
197
+ ```ts
198
+ window.navigation?.addEventListener('navigate', (e) => e.stopImmediatePropagation())
199
+ ```
200
+
201
+ This prevents Remix from intercepting Navigation API events. Explicit frame reloads such as
202
+ `handle.frame.reload()` continue to use the frame resolver.
153
203
 
154
- The default resolver rejects non-OK responses with an error containing their status and status text.
155
- A custom `resolveFrame` may return a `Response` with any status when it wants Remix UI to render the
156
- response body.
204
+ The default resolver accepts `2xx` responses and `3xx` or `4xx` responses whose `Content-Type` includes `text/html`, ignoring case. It rejects other `3xx` or `4xx` responses and all `5xx` responses with an error containing their status and status text. A custom `resolveFrame` may return a `Response` with any status when it wants Remix UI to render the response body.
157
205
 
158
206
  Forms remain ordinary HTML forms before the runtime starts. Add `data-rmx-target` to reload a named frame, or `data-rmx-document` to require a full-document submission:
159
207
 
@@ -26,10 +26,14 @@ export interface Handle<Props = Record<string, never>, ContextValue = NoContext>
26
26
  context: Context<ContextValue>;
27
27
  /**
28
28
  * Schedules an update for the component to render again. Returns a promise
29
- * that resolves with an AbortSignal after the update completes. The signal
30
- * is aborted when the component re-renders or is removed.
29
+ * that resolves with an AbortSignal after the update completes. Call this
30
+ * from an event handler, queued task, or other work that runs after the
31
+ * component commits. The signal is aborted when the component re-renders or
32
+ * is removed. Calling this during setup warns and skips the extra render;
33
+ * the promise resolves after the initial commit.
31
34
  *
32
35
  * @returns A promise that resolves with an AbortSignal after the update
36
+ * @throws If called during rendering or before the initial commit outside setup
33
37
  */
34
38
  update(): Promise<AbortSignal>;
35
39
  /**
@@ -121,8 +125,9 @@ export type FrameContent = ReadableStream<Uint8Array> | string | RemixNode;
121
125
  * Value returned by a browser frame resolver.
122
126
  *
123
127
  * Response bodies are rendered as frame content regardless of status. The default browser resolver
124
- * rejects non-OK responses before returning them. When `fetch()` followed a redirect, the response's
125
- * final URL updates the frame source and browser URL for a top-frame navigation.
128
+ * accepts 2xx responses and 3xx or 4xx HTML responses. It rejects other 3xx or 4xx responses and all
129
+ * 5xx responses. When `fetch()` followed a redirect, the response's final URL updates the frame source
130
+ * and browser URL for a top-frame navigation.
126
131
  */
127
132
  export type FrameResolution = FrameContent | Response;
128
133
  /**
@@ -18,6 +18,7 @@ class ComponentRuntime {
18
18
  #renderController;
19
19
  #renderFn;
20
20
  #removed = false;
21
+ #phase = 'idle';
21
22
  // The schedule target is stored as fields (updated each render) rather than
22
23
  // a closure so re-renders don't allocate a new function per component.
23
24
  #updateQueue;
@@ -49,7 +50,14 @@ class ComponentRuntime {
49
50
  let renderFn = this.#renderFn;
50
51
  if (renderFn === undefined) {
51
52
  let initialize = this.#config.type;
52
- let result = initialize(this.#handle);
53
+ let result;
54
+ this.#phase = 'setup';
55
+ try {
56
+ result = initialize(this.#handle);
57
+ }
58
+ finally {
59
+ this.#phase = 'idle';
60
+ }
53
61
  if (!isRenderFn(result)) {
54
62
  let name = this.#config.type.name || 'Anonymous';
55
63
  throw new Error(`${name} must return a render function, received ${typeof result}`);
@@ -57,7 +65,15 @@ class ComponentRuntime {
57
65
  renderFn = result;
58
66
  this.#renderFn = renderFn;
59
67
  }
60
- return [renderFn(), this.#dequeueTasks()];
68
+ let element;
69
+ this.#phase = 'render';
70
+ try {
71
+ element = renderFn();
72
+ }
73
+ finally {
74
+ this.#phase = 'idle';
75
+ }
76
+ return [element, this.#dequeueTasks()];
61
77
  };
62
78
  remove = () => {
63
79
  if (this.#removed)
@@ -87,14 +103,27 @@ class ComponentRuntime {
87
103
  return {
88
104
  id: this.#config.id,
89
105
  props: this.#props,
90
- update: () => new Promise((resolve) => {
91
- if (component.#removed) {
92
- resolve(AbortSignal.abort());
93
- return;
106
+ update: () => {
107
+ if (component.#removed)
108
+ return Promise.resolve(AbortSignal.abort());
109
+ let name = component.#config.type.name || 'Anonymous';
110
+ if (component.#phase === 'setup') {
111
+ console.warn(`Ignored handle.update() while ${name} is running its setup function. The initial render includes setup changes.`);
112
+ return new Promise((resolve) => {
113
+ this.#tasks.push((signal) => resolve(signal));
114
+ });
94
115
  }
95
- this.#tasks.push((signal) => resolve(signal));
96
- this.#scheduleUpdate();
97
- }),
116
+ if (component.#phase !== 'idle') {
117
+ throw new Error(`Cannot call handle.update() while ${name} is running its ${component.#phase} function. Call it from an event handler or handle.queueTask() instead.`);
118
+ }
119
+ if (component.#updateQueue === undefined) {
120
+ throw new Error(`Cannot call handle.update() before ${name}'s initial render commits. Call it from an event handler or handle.queueTask() instead.`);
121
+ }
122
+ return new Promise((resolve) => {
123
+ this.#tasks.push((signal) => resolve(signal));
124
+ this.#scheduleUpdate();
125
+ });
126
+ },
98
127
  queueTask: (task) => {
99
128
  this.#tasks.push(task);
100
129
  },
@@ -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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"}
@@ -0,0 +1,21 @@
1
+ import type { ElementProps } from '../jsx.ts';
2
+ interface MixDescriptor {
3
+ type: (...args: any[]) => unknown;
4
+ args: readonly unknown[];
5
+ }
6
+ type MixDescriptorRunner = (descriptor: MixDescriptor, index: number, mixinProps: ElementProps) => unknown;
7
+ /**
8
+ * Composes an element's `mix` descriptors into its final props.
9
+ *
10
+ * @param hostType Host element tag name the mixins are composed for.
11
+ * @param props Original element props, including `mix`.
12
+ * @param runDescriptor Runs each mixin using the caller's state and error handling.
13
+ * @returns The composed props.
14
+ */
15
+ export declare function composeMixedProps(hostType: string, props: ElementProps, runDescriptor: MixDescriptorRunner): ElementProps;
16
+ export declare function resolveMixDescriptors(props: ElementProps): MixDescriptor[];
17
+ export declare function isMixinDescriptor(value: unknown): value is MixDescriptor;
18
+ export declare function isMixinElementFunction(value: unknown): value is ((...args: unknown[]) => unknown) & {
19
+ __rmxMixinElementType: string;
20
+ };
21
+ export {};
@@ -0,0 +1,128 @@
1
+ // Stop mixins that return themselves from expanding forever.
2
+ const MAX_MIX_DESCRIPTORS = 1024;
3
+ /**
4
+ * Composes an element's `mix` descriptors into its final props.
5
+ *
6
+ * @param hostType Host element tag name the mixins are composed for.
7
+ * @param props Original element props, including `mix`.
8
+ * @param runDescriptor Runs each mixin using the caller's state and error handling.
9
+ * @returns The composed props.
10
+ */
11
+ export function composeMixedProps(hostType, props, runDescriptor) {
12
+ let descriptors = resolveMixDescriptors(props);
13
+ let composedProps = withoutMix(props);
14
+ let mixinProps = withoutMixinTreeProps(composedProps);
15
+ for (let index = 0; index < descriptors.length && index < MAX_MIX_DESCRIPTORS; index++) {
16
+ let result = runDescriptor(descriptors[index], index, mixinProps);
17
+ if (!result)
18
+ continue;
19
+ if (isMixinElementFunction(result))
20
+ continue;
21
+ let returnedDescriptors = resolveReturnedMixDescriptors(result);
22
+ if (returnedDescriptors) {
23
+ for (let returned of returnedDescriptors)
24
+ descriptors.push(returned);
25
+ continue;
26
+ }
27
+ if (!isRemixElementResult(result)) {
28
+ console.error(new Error('mixins must return a remix element'));
29
+ continue;
30
+ }
31
+ let resultType = typeof result.type === 'string'
32
+ ? result.type
33
+ : isMixinElementFunction(result.type)
34
+ ? result.type.__rmxMixinElementType
35
+ : null;
36
+ if (resultType !== hostType) {
37
+ console.error(new Error('mixins must return an element with the same host type'));
38
+ continue;
39
+ }
40
+ let nextProps = sanitizeReturnedMixinProps(result.props);
41
+ for (let nested of resolveMixDescriptors(nextProps))
42
+ descriptors.push(nested);
43
+ composedProps = { ...composedProps, ...withoutMix(nextProps) };
44
+ mixinProps = withoutMixinTreeProps(composedProps);
45
+ }
46
+ let nextMix = props.mix;
47
+ return {
48
+ ...composedProps,
49
+ ...(nextMix === undefined ? {} : { mix: nextMix }),
50
+ };
51
+ }
52
+ // JSX creation flattens nested mix arrays before composition.
53
+ export function resolveMixDescriptors(props) {
54
+ let mix = props.mix;
55
+ if (!mix)
56
+ return [];
57
+ if (Array.isArray(mix)) {
58
+ if (mix.length === 0)
59
+ return [];
60
+ return mix.filter(Boolean);
61
+ }
62
+ return [mix];
63
+ }
64
+ function withoutMix(props) {
65
+ if (!('mix' in props))
66
+ return props;
67
+ let output = { ...props };
68
+ delete output.mix;
69
+ return output;
70
+ }
71
+ function withoutMixinTreeProps(props) {
72
+ if (!('children' in props) && !('innerHTML' in props))
73
+ return props;
74
+ let output = { ...props };
75
+ delete output.children;
76
+ delete output.innerHTML;
77
+ return output;
78
+ }
79
+ function sanitizeReturnedMixinProps(props) {
80
+ if (!('children' in props) && !('innerHTML' in props))
81
+ return props;
82
+ console.error(new Error('mixins must not return children or innerHTML'));
83
+ return withoutMixinTreeProps(props);
84
+ }
85
+ export function isMixinDescriptor(value) {
86
+ if (!value || typeof value !== 'object' || isRemixElementResult(value)) {
87
+ return false;
88
+ }
89
+ let descriptor = value;
90
+ return typeof descriptor.type === 'function' && Array.isArray(descriptor.args);
91
+ }
92
+ export function isMixinElementFunction(value) {
93
+ if (typeof value !== 'function')
94
+ return false;
95
+ return '__rmxMixinElementType' in value;
96
+ }
97
+ // The composition loop checks the returned element's host type separately.
98
+ function isRemixElementResult(value) {
99
+ if (!value || typeof value !== 'object')
100
+ return false;
101
+ return value.$rmx === true;
102
+ }
103
+ function resolveReturnedMixDescriptors(value) {
104
+ let descriptors = [];
105
+ if (!collectReturnedMixDescriptors(value, descriptors)) {
106
+ return null;
107
+ }
108
+ return descriptors;
109
+ }
110
+ function collectReturnedMixDescriptors(value, output) {
111
+ if (!value) {
112
+ return true;
113
+ }
114
+ if (Array.isArray(value)) {
115
+ for (let item of value) {
116
+ if (!collectReturnedMixDescriptors(item, output)) {
117
+ return false;
118
+ }
119
+ }
120
+ return true;
121
+ }
122
+ if (!isMixinDescriptor(value)) {
123
+ return false;
124
+ }
125
+ output.push(value);
126
+ return true;
127
+ }
128
+ //# sourceMappingURL=mix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mix.js","sourceRoot":"","sources":["../../../src/runtime/core/mix.ts"],"names":[],"mappings":"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"}
@@ -184,21 +184,15 @@ function isPopoverOpen(element) {
184
184
  }
185
185
  }
186
186
  function diffElementChildren(current, next, context) {
187
- let currentChildren;
188
- // Allow actively managed preload link tags in the head to stay in the document
189
- // during diffing rather than removing them which aborts the preload in Safari
190
- if (context.isActiveModulePreload && current === current.ownerDocument.head) {
191
- currentChildren = [];
192
- for (let node of current.childNodes) {
193
- if (!context.isActiveModulePreload(node))
194
- currentChildren.push(node);
195
- }
196
- }
197
- else {
198
- currentChildren = Array.from(current.childNodes);
187
+ let shouldPreserveHeadNode = context.shouldPreserveHeadNode;
188
+ let preservedHeadNodes = [];
189
+ let currentChildren = Array.from(current.childNodes);
190
+ if (current === current.ownerDocument.head && shouldPreserveHeadNode) {
191
+ preservedHeadNodes = currentChildren.filter(shouldPreserveHeadNode);
192
+ currentChildren = currentChildren.filter((node) => !shouldPreserveHeadNode(node));
199
193
  }
200
194
  let nextChildren = Array.from(next.childNodes);
201
- diffSiblingUnits(currentChildren, nextChildren, current, null, context);
195
+ diffSiblingUnits(currentChildren, nextChildren, current, preservedHeadNodes[0] ?? null, context);
202
196
  }
203
197
  function diffSiblingUnits(currentNodes, nextNodes, parent, regionTailRef, context) {
204
198
  let currentUnits = parseSiblingUnits(currentNodes);
@@ -1 +1 @@
1
- {"version":3,"file":"diff-dom.js","sourceRoot":"","sources":["../../src/runtime/diff-dom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diff-dom.js","sourceRoot":"","sources":["../../src/runtime/diff-dom.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function isDocumentReload(info: unknown): boolean;
2
+ export declare function reloadDocument(doc: Document, href?: string): void;
@@ -0,0 +1,14 @@
1
+ const documentReloadInfo = 'remix-document-reload';
2
+ export function isDocumentReload(info) {
3
+ return info === documentReloadInfo;
4
+ }
5
+ export function reloadDocument(doc, href = doc.location.href) {
6
+ let navigation = doc.defaultView?.navigation;
7
+ if (navigation) {
8
+ navigation.navigate(href, { history: 'replace', info: documentReloadInfo });
9
+ }
10
+ else {
11
+ doc.location.replace(href);
12
+ }
13
+ }
14
+ //# sourceMappingURL=document-reload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-reload.js","sourceRoot":"","sources":["../../src/runtime/document-reload.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG,uBAAuB,CAAA;AAElD,MAAM,UAAU,gBAAgB,CAAC,IAAa;IAC5C,OAAO,IAAI,KAAK,kBAAkB,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAa,EAAE,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI;IACpE,IAAI,UAAU,GAAG,GAAG,CAAC,WAAW,EAAE,UAAU,CAAA;IAC5C,IAAI,UAAU,EAAE,CAAC;QACf,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAA;IAC7E,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;AACH,CAAC"}