@tanstack/redact 0.0.21 → 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.
- package/dist/core/attributes.js +2 -1
- package/dist/core/attributes.js.map +2 -2
- package/dist/core/browser.d.ts +9 -0
- package/dist/core/browser.js +35 -0
- package/dist/core/browser.js.map +7 -0
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.js +3 -3
- package/dist/core/internal.d.ts +31 -8
- package/dist/core/internal.js +3 -1
- package/dist/core/internal.js.map +2 -2
- package/dist/core/resource-hints.d.ts +7 -0
- package/dist/core/resource-hints.js +19 -0
- package/dist/core/resource-hints.js.map +7 -0
- package/dist/core/types.js +1 -1
- package/dist/dom/_all.d.ts +11 -16
- package/dist/dom/_all.js +9 -20
- package/dist/dom/_all.js.map +2 -2
- package/dist/dom/client.d.ts +4 -4
- package/dist/dom/client.js +4 -4
- package/dist/dom/commit.d.ts +23 -0
- package/dist/dom/commit.js +191 -0
- package/dist/dom/commit.js.map +7 -0
- package/dist/dom/dispatcher.d.ts +4 -22
- package/dist/dom/dispatcher.js +184 -126
- package/dist/dom/dispatcher.js.map +3 -3
- package/dist/dom/dom.d.ts +2 -0
- package/dist/dom/dom.js +72 -52
- package/dist/dom/dom.js.map +2 -2
- package/dist/dom/error-info.d.ts +2 -0
- package/dist/dom/error-info.js +16 -0
- package/dist/dom/error-info.js.map +7 -0
- package/dist/dom/event-replay.js +1 -1
- package/dist/dom/features/activity/full.d.ts +1 -0
- package/dist/dom/features/activity/full.js +162 -0
- package/dist/dom/features/activity/full.js.map +7 -0
- package/dist/dom/features/activity/index.d.ts +1 -0
- package/dist/dom/features/activity/index.js +3 -0
- package/dist/dom/features/activity/index.js.map +7 -0
- package/dist/dom/features/activity/stub.d.ts +1 -0
- package/dist/dom/features/activity/stub.js +12 -0
- package/dist/dom/features/activity/stub.js.map +7 -0
- package/dist/dom/features/class/full.js +87 -27
- package/dist/dom/features/class/full.js.map +2 -2
- package/dist/dom/features/class/index.d.ts +1 -1
- package/dist/dom/features/class/index.js +2 -2
- package/dist/dom/features/class/stub.js +3 -3
- package/dist/dom/features/context/full.d.ts +4 -1
- package/dist/dom/features/context/full.js +69 -9
- package/dist/dom/features/context/full.js.map +2 -2
- package/dist/dom/features/context/index.d.ts +1 -1
- package/dist/dom/features/context/index.js +2 -2
- package/dist/dom/features/context/stub.d.ts +4 -1
- package/dist/dom/features/context/stub.js +15 -4
- package/dist/dom/features/context/stub.js.map +2 -2
- package/dist/dom/features/forward-ref/full.js +12 -21
- package/dist/dom/features/forward-ref/full.js.map +2 -2
- package/dist/dom/features/forward-ref/index.d.ts +1 -1
- package/dist/dom/features/forward-ref/index.js +2 -2
- package/dist/dom/features/forward-ref/stub.js +4 -4
- package/dist/dom/features/fragment-refs/index.d.ts +1 -0
- package/dist/dom/features/fragment-refs/index.js +8 -0
- package/dist/dom/features/fragment-refs/index.js.map +7 -0
- package/dist/dom/features/fragment-refs/stub.d.ts +3 -0
- package/dist/dom/features/fragment-refs/stub.js +14 -0
- package/dist/dom/features/fragment-refs/stub.js.map +7 -0
- package/dist/dom/features/hydration/full.d.ts +11 -6
- package/dist/dom/features/hydration/full.js +76 -77
- package/dist/dom/features/hydration/full.js.map +2 -2
- package/dist/dom/features/hydration/index.d.ts +1 -1
- package/dist/dom/features/hydration/index.js +2 -2
- package/dist/dom/features/hydration/stub.d.ts +7 -2
- package/dist/dom/features/hydration/stub.js +1 -1
- package/dist/dom/features/hydration/stub.js.map +1 -1
- package/dist/dom/features/index.d.ts +8 -7
- package/dist/dom/features/index.js +9 -8
- package/dist/dom/features/index.js.map +2 -2
- package/dist/dom/features/lazy/full.js +4 -4
- package/dist/dom/features/lazy/index.d.ts +1 -1
- package/dist/dom/features/lazy/index.js +2 -2
- package/dist/dom/features/lazy/stub.js +4 -4
- package/dist/dom/features/memo/full.js +8 -6
- package/dist/dom/features/memo/full.js.map +2 -2
- package/dist/dom/features/memo/index.d.ts +1 -1
- package/dist/dom/features/memo/index.js +2 -2
- package/dist/dom/features/memo/stub.js +4 -4
- package/dist/dom/features/portal/full.js +4 -4
- package/dist/dom/features/portal/index.d.ts +1 -1
- package/dist/dom/features/portal/index.js +2 -2
- package/dist/dom/features/portal/stub.js +4 -4
- package/dist/dom/features/suspense/full.js +197 -52
- package/dist/dom/features/suspense/full.js.map +2 -2
- package/dist/dom/features/suspense/index.d.ts +1 -1
- package/dist/dom/features/suspense/index.js +2 -2
- package/dist/dom/features/suspense/stub.js +4 -4
- package/dist/dom/features/view-transition/full.d.ts +6 -0
- package/dist/dom/features/view-transition/full.js +280 -0
- package/dist/dom/features/view-transition/full.js.map +7 -0
- package/dist/dom/features/view-transition/index.d.ts +1 -0
- package/dist/dom/features/view-transition/index.js +3 -0
- package/dist/dom/features/view-transition/index.js.map +7 -0
- package/dist/dom/features/view-transition/resources.d.ts +11 -0
- package/dist/dom/features/view-transition/resources.js +108 -0
- package/dist/dom/features/view-transition/resources.js.map +7 -0
- package/dist/dom/features/view-transition/stub.d.ts +6 -0
- package/dist/dom/features/view-transition/stub.js +22 -0
- package/dist/dom/features/view-transition/stub.js.map +7 -0
- package/dist/dom/features/view-transition/visual.d.ts +14 -0
- package/dist/dom/features/view-transition/visual.js +356 -0
- package/dist/dom/features/view-transition/visual.js.map +7 -0
- package/dist/dom/fragment-instance.d.ts +40 -0
- package/dist/dom/fragment-instance.js +324 -0
- package/dist/dom/fragment-instance.js.map +7 -0
- package/dist/dom/index.d.ts +11 -11
- package/dist/dom/index.js +11 -18
- package/dist/dom/index.js.map +3 -3
- package/dist/dom/portal.d.ts +2 -2
- package/dist/dom/portal.js +2 -2
- package/dist/dom/portal.js.map +1 -1
- package/dist/dom/reconcile.d.ts +32 -3
- package/dist/dom/reconcile.js +689 -221
- package/dist/dom/reconcile.js.map +2 -2
- package/dist/dom/resource-hints.d.ts +6 -0
- package/dist/dom/resource-hints.js +115 -0
- package/dist/dom/resource-hints.js.map +7 -0
- package/dist/dom/resource-store.d.ts +13 -0
- package/dist/dom/resource-store.js +43 -0
- package/dist/dom/resource-store.js.map +7 -0
- package/dist/dom/resources.d.ts +1 -0
- package/dist/dom/resources.js +44 -0
- package/dist/dom/resources.js.map +7 -0
- package/dist/dom/retained-effects.d.ts +6 -0
- package/dist/dom/retained-effects.js +49 -0
- package/dist/dom/retained-effects.js.map +7 -0
- package/dist/dom/root-internal.d.ts +4 -4
- package/dist/dom/root-internal.js +2 -2
- package/dist/dom/root-internal.js.map +2 -2
- package/dist/dom/root.d.ts +5 -5
- package/dist/dom/root.js +11 -11
- package/dist/dom/root.js.map +2 -2
- package/dist/dom/test-utils.js +1 -1
- package/dist/react/activity.d.ts +7 -0
- package/dist/react/activity.js +8 -0
- package/dist/react/activity.js.map +7 -0
- package/dist/react/children.d.ts +1 -1
- package/dist/react/children.js +3 -3
- package/dist/react/children.js.map +1 -1
- package/dist/react/class.d.ts +1 -1
- package/dist/react/class.js +3 -3
- package/dist/react/class.js.map +1 -1
- package/dist/react/compiler-runtime.js +2 -2
- package/dist/react/context.d.ts +1 -1
- package/dist/react/context.js +3 -3
- package/dist/react/context.js.map +1 -1
- package/dist/react/element.d.ts +6 -3
- package/dist/react/element.js +2 -2
- package/dist/react/element.js.map +2 -2
- package/dist/react/hooks.d.ts +26 -7
- package/dist/react/hooks.js +13 -3
- package/dist/react/hooks.js.map +2 -2
- package/dist/react/index.d.ts +39 -24
- package/dist/react/index.js +39 -19
- package/dist/react/index.js.map +3 -3
- package/dist/react/jsx-runtime.d.ts +2 -2
- package/dist/react/jsx-runtime.js +3 -3
- package/dist/react/memo.d.ts +1 -1
- package/dist/react/memo.js +1 -1
- package/dist/react/portal.js +1 -1
- package/dist/react/shared-internals.d.ts +15 -5
- package/dist/react/shared-internals.js +2 -3
- package/dist/react/shared-internals.js.map +2 -2
- package/dist/react/suspense.js +1 -1
- package/dist/react/view-transition.d.ts +32 -0
- package/dist/react/view-transition.js +13 -0
- package/dist/react/view-transition.js.map +7 -0
- package/dist/scheduler/index.js +1 -1
- package/dist/server/bootstrap-script.d.ts +1 -23
- package/dist/server/bootstrap-script.js +7 -6
- package/dist/server/bootstrap-script.js.map +2 -2
- package/dist/server/dispatcher.d.ts +28 -6
- package/dist/server/dispatcher.js +33 -15
- package/dist/server/dispatcher.js.map +2 -2
- package/dist/server/escape.js +16 -15
- package/dist/server/escape.js.map +2 -2
- package/dist/server/index.d.ts +6 -6
- package/dist/server/index.js +7 -7
- package/dist/server/renderToString.d.ts +1 -1
- package/dist/server/renderToString.js +12 -8
- package/dist/server/renderToString.js.map +2 -2
- package/dist/server/resource-hints.d.ts +22 -0
- package/dist/server/resource-hints.js +148 -0
- package/dist/server/resource-hints.js.map +7 -0
- package/dist/server/stream.d.ts +15 -2
- package/dist/server/stream.js +155 -63
- package/dist/server/stream.js.map +2 -2
- package/dist/server/walk.d.ts +15 -2
- package/dist/server/walk.js +143 -96
- package/dist/server/walk.js.map +2 -2
- package/dist/vite/index.d.ts +6 -0
- package/dist/vite/index.js +22 -6
- package/dist/vite/index.js.map +2 -2
- package/package.json +1 -1
- package/src/core/attributes.ts +1 -0
- package/src/core/browser.ts +33 -0
- package/src/core/internal.ts +24 -6
- package/src/core/resource-hints.ts +36 -0
- package/src/dom/_all.ts +1 -7
- package/src/dom/commit.ts +186 -0
- package/src/dom/dispatcher.ts +190 -134
- package/src/dom/dom.ts +70 -54
- package/src/dom/error-info.ts +15 -0
- package/src/dom/features/activity/full.ts +166 -0
- package/src/dom/features/activity/index.ts +1 -0
- package/src/dom/features/activity/stub.ts +14 -0
- package/src/dom/features/class/full.ts +72 -28
- package/src/dom/features/context/full.ts +66 -4
- package/src/dom/features/context/stub.ts +6 -0
- package/src/dom/features/forward-ref/full.ts +9 -19
- package/src/dom/features/fragment-refs/index.ts +1 -0
- package/src/dom/features/fragment-refs/stub.ts +3 -0
- package/src/dom/features/hydration/full.ts +84 -85
- package/src/dom/features/hydration/stub.ts +1 -1
- package/src/dom/features/index.ts +1 -0
- package/src/dom/features/memo/full.ts +4 -3
- package/src/dom/features/suspense/full.ts +192 -55
- package/src/dom/features/view-transition/full.ts +288 -0
- package/src/dom/features/view-transition/index.ts +1 -0
- package/src/dom/features/view-transition/resources.ts +107 -0
- package/src/dom/features/view-transition/stub.ts +7 -0
- package/src/dom/features/view-transition/visual.ts +406 -0
- package/src/dom/fragment-instance.ts +337 -0
- package/src/dom/index.ts +6 -7
- package/src/dom/portal.ts +1 -1
- package/src/dom/reconcile.ts +695 -242
- package/src/dom/resource-hints.ts +115 -0
- package/src/dom/resource-store.ts +52 -0
- package/src/dom/resources.ts +39 -0
- package/src/dom/retained-effects.ts +38 -0
- package/src/dom/root-internal.ts +4 -4
- package/src/dom/root.ts +12 -14
- package/src/react/activity.ts +10 -0
- package/src/react/element.ts +6 -2
- package/src/react/hooks.ts +12 -3
- package/src/react/index.ts +18 -0
- package/src/react/shared-internals.ts +3 -3
- package/src/react/view-transition.ts +41 -0
- package/src/server/bootstrap-script.ts +36 -5
- package/src/server/dispatcher.ts +35 -13
- package/src/server/escape.ts +15 -12
- package/src/server/renderToString.ts +7 -5
- package/src/server/resource-hints.ts +165 -0
- package/src/server/stream.ts +154 -62
- package/src/server/walk.ts +72 -11
- package/src/vite/index.ts +30 -13
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/dom/resource-store.ts"],
|
|
4
|
+
"sourcesContent": ["import type { ResourceHintOptions } from '../core/resource-hints'\n\ninterface Resources {\n // Connection and preload selectors are disjoint, so one map deduplicates both.\n preloads: Map<string, ResourceHintOptions>\n instances: Map<string, Element>\n}\n\nexport type ResourceRoot = Document | DocumentFragment\n\nconst roots = /*#__PURE__*/ new WeakMap<ResourceRoot, Resources>()\n// Existing document links can satisfy a shadow declaration. Links created by\n// the resource system belong to their original root instead.\nexport const createdStylesheets = /*#__PURE__*/ new WeakSet<Element>()\n\nexport function resourceAttribute(name: string, value: string): string {\n return `[${name}=\"${value.replace(/[\\n\"\\\\]/g, char => '\\\\' + char.charCodeAt(0).toString(16) + ' ')}\"]`\n}\n\nexport function resourceSelector(href: string, as: string): string {\n return as === 'style'\n ? 'link[rel=\"stylesheet\"]' + resourceAttribute('href', href)\n : 'script[async]' + resourceAttribute('src', href)\n}\n\nexport function getResources(root: ResourceRoot): Resources {\n let resources = roots.get(root)\n if (!resources) roots.set(root, resources = { preloads: new Map(), instances: new Map() })\n return resources\n}\n\nexport function adoptResourceProps(props: any, prior: ResourceHintOptions | undefined, script: boolean): void {\n if (prior) for (const name of ['crossOrigin', 'referrerPolicy', script ? 'integrity' : 'title']) {\n if (props[name] == null && prior[name] != null) props[name] = prior[name]\n }\n}\n\nexport function insertResource(node: Element, precedence?: string, root: ResourceRoot = node.ownerDocument): void {\n const container = root.nodeType === 9 ? (root as Document).head : root\n if (precedence != null) {\n if (node.localName === 'link') createdStylesheets.add(node)\n let previous: Element | undefined\n let matched = false\n for (const sibling of root.querySelectorAll('link[rel=\"stylesheet\"][data-precedence],style[data-precedence]')) {\n if (sibling.getAttribute('data-precedence') === precedence) matched = true\n else if (matched) break\n previous = sibling\n }\n if (previous) previous.parentNode!.insertBefore(node, previous.nextSibling)\n else container.insertBefore(node, container.firstChild)\n } else container.appendChild(node)\n}\n"],
|
|
5
|
+
"mappings": ";AAUA,IAAM,QAAsB,oBAAI,QAAiC;AAG1D,IAAM,qBAAmC,oBAAI,QAAiB;AAE9D,SAAS,kBAAkB,MAAc,OAAuB;AACrE,SAAO,IAAI,IAAI,KAAK,MAAM,QAAQ,YAAY,UAAQ,OAAO,KAAK,WAAW,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,CAAC;AACrG;AAEO,SAAS,iBAAiB,MAAc,IAAoB;AACjE,SAAO,OAAO,UACV,2BAA2B,kBAAkB,QAAQ,IAAI,IACzD,kBAAkB,kBAAkB,OAAO,IAAI;AACrD;AAEO,SAAS,aAAa,MAA+B;AAC1D,MAAI,YAAY,MAAM,IAAI,IAAI;AAC9B,MAAI,CAAC,UAAW,OAAM,IAAI,MAAM,YAAY,EAAE,UAAU,oBAAI,IAAI,GAAG,WAAW,oBAAI,IAAI,EAAE,CAAC;AACzF,SAAO;AACT;AAEO,SAAS,mBAAmB,OAAY,OAAwC,QAAuB;AAC5G,MAAI,MAAO,YAAW,QAAQ,CAAC,eAAe,kBAAkB,SAAS,cAAc,OAAO,GAAG;AAC/F,QAAI,MAAM,IAAI,KAAK,QAAQ,MAAM,IAAI,KAAK,KAAM,OAAM,IAAI,IAAI,MAAM,IAAI;AAAA,EAC1E;AACF;AAEO,SAAS,eAAe,MAAe,YAAqB,OAAqB,KAAK,eAAqB;AAChH,QAAM,YAAY,KAAK,aAAa,IAAK,KAAkB,OAAO;AAClE,MAAI,cAAc,MAAM;AACtB,QAAI,KAAK,cAAc,OAAQ,oBAAmB,IAAI,IAAI;AAC1D,QAAI;AACJ,QAAI,UAAU;AACd,eAAW,WAAW,KAAK,iBAAiB,gEAAgE,GAAG;AAC7G,UAAI,QAAQ,aAAa,iBAAiB,MAAM,WAAY,WAAU;AAAA,eAC7D,QAAS;AAClB,iBAAW;AAAA,IACb;AACA,QAAI,SAAU,UAAS,WAAY,aAAa,MAAM,SAAS,WAAW;AAAA,QACrE,WAAU,aAAa,MAAM,UAAU,UAAU;AAAA,EACxD,MAAO,WAAU,YAAY,IAAI;AACnC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function acquireResource(type: string, props: any, container: Node): Element;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// src/dom/resources.ts
|
|
2
|
+
import { resourceURL } from "../core/resource-hints.js";
|
|
3
|
+
import { setProp } from "./dom.js";
|
|
4
|
+
import { adoptResourceProps, createdStylesheets, getResources, insertResource, resourceAttribute, resourceSelector } from "./resource-store.js";
|
|
5
|
+
function acquireResource(type, props, container) {
|
|
6
|
+
const script = type === "script";
|
|
7
|
+
const style = type === "style";
|
|
8
|
+
const ownerDocument = container.nodeType === 9 ? container : container.ownerDocument;
|
|
9
|
+
const tree = script ? ownerDocument : container.getRootNode();
|
|
10
|
+
const root = tree.nodeType === 9 || tree.nodeType === 11 ? tree : ownerDocument;
|
|
11
|
+
const href = script ? props.src : props.href;
|
|
12
|
+
const resources = getResources(root);
|
|
13
|
+
const key = resourceSelector(href, script ? "script" : "style");
|
|
14
|
+
let node = resources.instances.get(key);
|
|
15
|
+
if (node) return node;
|
|
16
|
+
const existing = !style && !script && root !== ownerDocument ? ownerDocument.querySelector(key) : null;
|
|
17
|
+
node = existing && !createdStylesheets.has(existing) && !existing._p ? existing : root.querySelector(style ? "style" + resourceAttribute("data-href~", href) : key) || void 0;
|
|
18
|
+
if (node) {
|
|
19
|
+
resources.instances.set(key, node);
|
|
20
|
+
return node;
|
|
21
|
+
}
|
|
22
|
+
const next = { ...props };
|
|
23
|
+
if (!script) {
|
|
24
|
+
next["data-precedence"] = props.precedence;
|
|
25
|
+
delete next.precedence;
|
|
26
|
+
if (style) {
|
|
27
|
+
next["data-href"] = props.href;
|
|
28
|
+
delete next.href;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (!style) adoptResourceProps(next, getResources(ownerDocument).preloads.get(key), script);
|
|
32
|
+
node = ownerDocument.createElement(type);
|
|
33
|
+
for (const name in next) {
|
|
34
|
+
setProp(node, name, name === "href" || name === "src" ? resourceURL(next[name]) : next[name], void 0, false);
|
|
35
|
+
}
|
|
36
|
+
if (style && next.dangerouslySetInnerHTML == null && (typeof next.children === "string" || typeof next.children === "number" || typeof next.children === "bigint")) node.textContent = "" + next.children;
|
|
37
|
+
resources.instances.set(key, node);
|
|
38
|
+
insertResource(node, script ? void 0 : props.precedence, root);
|
|
39
|
+
return node;
|
|
40
|
+
}
|
|
41
|
+
export {
|
|
42
|
+
acquireResource
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=resources.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/dom/resources.ts"],
|
|
4
|
+
"sourcesContent": ["import { resourceURL } from '../core/resource-hints'\nimport { setProp } from './dom'\nimport { adoptResourceProps, createdStylesheets, getResources, insertResource, resourceAttribute, resourceSelector, type ResourceRoot } from './resource-store'\n\n// Called only during commit. Resource nodes are shared by href and are not\n// owned by a component's placement or unmount operations.\n// The renderer has already checked this host's resource eligibility.\nexport function acquireResource(type: string, props: any, container: Node): Element {\n const script = type === 'script'\n const style = type === 'style'\n const ownerDocument = (container.nodeType === 9 ? container : container.ownerDocument) as Document\n const tree = script ? ownerDocument : container.getRootNode()\n const root = (tree.nodeType === 9 || tree.nodeType === 11 ? tree : ownerDocument) as ResourceRoot\n const href = script ? props.src : props.href\n const resources = getResources(root)\n const key = resourceSelector(href, script ? 'script' : 'style')\n let node = resources.instances.get(key)\n if (node) return node\n const existing = !style && !script && root !== ownerDocument ? ownerDocument.querySelector(key) : null\n node = existing && !createdStylesheets.has(existing) && !(existing as any)._p ? existing\n : root.querySelector(style ? 'style' + resourceAttribute('data-href~', href) : key) || undefined\n if (node) { resources.instances.set(key, node); return node }\n\n const next = { ...props }\n if (!script) {\n next['data-precedence'] = props.precedence\n delete next.precedence\n if (style) { next['data-href'] = props.href; delete next.href }\n }\n if (!style) adoptResourceProps(next, getResources(ownerDocument).preloads.get(key), script)\n node = ownerDocument.createElement(type)\n for (const name in next) {\n setProp(node, name, name === 'href' || name === 'src' ? resourceURL(next[name]) : next[name], undefined, false)\n }\n if (style && next.dangerouslySetInnerHTML == null && (typeof next.children === 'string' || typeof next.children === 'number' || typeof next.children === 'bigint')) node.textContent = '' + next.children\n resources.instances.set(key, node)\n insertResource(node, script ? undefined : props.precedence, root)\n return node\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,mBAAmB;AAC5B,SAAS,eAAe;AACxB,SAAS,oBAAoB,oBAAoB,cAAc,gBAAgB,mBAAmB,wBAA2C;AAKtI,SAAS,gBAAgB,MAAc,OAAY,WAA0B;AAClF,QAAM,SAAS,SAAS;AACxB,QAAM,QAAQ,SAAS;AACvB,QAAM,gBAAiB,UAAU,aAAa,IAAI,YAAY,UAAU;AACxE,QAAM,OAAO,SAAS,gBAAgB,UAAU,YAAY;AAC5D,QAAM,OAAQ,KAAK,aAAa,KAAK,KAAK,aAAa,KAAK,OAAO;AACnE,QAAM,OAAO,SAAS,MAAM,MAAM,MAAM;AACxC,QAAM,YAAY,aAAa,IAAI;AACnC,QAAM,MAAM,iBAAiB,MAAM,SAAS,WAAW,OAAO;AAC9D,MAAI,OAAO,UAAU,UAAU,IAAI,GAAG;AACtC,MAAI,KAAM,QAAO;AACjB,QAAM,WAAW,CAAC,SAAS,CAAC,UAAU,SAAS,gBAAgB,cAAc,cAAc,GAAG,IAAI;AAClG,SAAO,YAAY,CAAC,mBAAmB,IAAI,QAAQ,KAAK,CAAE,SAAiB,KAAK,WAC5E,KAAK,cAAc,QAAQ,UAAU,kBAAkB,cAAc,IAAI,IAAI,GAAG,KAAK;AACzF,MAAI,MAAM;AAAE,cAAU,UAAU,IAAI,KAAK,IAAI;AAAG,WAAO;AAAA,EAAK;AAE5D,QAAM,OAAO,EAAE,GAAG,MAAM;AACxB,MAAI,CAAC,QAAQ;AACX,SAAK,iBAAiB,IAAI,MAAM;AAChC,WAAO,KAAK;AACZ,QAAI,OAAO;AAAE,WAAK,WAAW,IAAI,MAAM;AAAM,aAAO,KAAK;AAAA,IAAK;AAAA,EAChE;AACA,MAAI,CAAC,MAAO,oBAAmB,MAAM,aAAa,aAAa,EAAE,SAAS,IAAI,GAAG,GAAG,MAAM;AAC1F,SAAO,cAAc,cAAc,IAAI;AACvC,aAAW,QAAQ,MAAM;AACvB,YAAQ,MAAM,MAAM,SAAS,UAAU,SAAS,QAAQ,YAAY,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,QAAW,KAAK;AAAA,EAChH;AACA,MAAI,SAAS,KAAK,2BAA2B,SAAS,OAAO,KAAK,aAAa,YAAY,OAAO,KAAK,aAAa,YAAY,OAAO,KAAK,aAAa,UAAW,MAAK,cAAc,KAAK,KAAK;AACjM,YAAU,UAAU,IAAI,KAAK,IAAI;AACjC,iBAAe,MAAM,SAAS,SAAY,MAAM,YAAY,IAAI;AAChE,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type Fiber, type Hook, type Effect } from "../core/index.js";
|
|
2
|
+
export declare const retainedEffects: WeakMap<Fiber, Map<Hook, Effect>>;
|
|
3
|
+
export declare function rememberRetainedEffect(fiber: Fiber, hook: Hook, effect: Effect): void;
|
|
4
|
+
export declare function setLayoutDisconnected(fiber: Fiber, disconnected: boolean): boolean;
|
|
5
|
+
export declare function walkRetained(fiber: Fiber, visit: (fiber: Fiber) => void, postorder?: boolean): void;
|
|
6
|
+
export declare function inSuspensePrimary(fiber: Fiber): boolean;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// src/dom/retained-effects.ts
|
|
2
|
+
import { FiberTag } from "../core/index.js";
|
|
3
|
+
import { onCommitRollback } from "./commit.js";
|
|
4
|
+
var retainedEffects = /* @__PURE__ */ new WeakMap();
|
|
5
|
+
function rememberRetainedEffect(fiber, hook, effect) {
|
|
6
|
+
let entries = retainedEffects.get(fiber);
|
|
7
|
+
if (!entries) {
|
|
8
|
+
retainedEffects.set(fiber, entries = /* @__PURE__ */ new Map());
|
|
9
|
+
onCommitRollback(() => {
|
|
10
|
+
retainedEffects.delete(fiber);
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
const previous = entries.get(hook), target = entries;
|
|
14
|
+
onCommitRollback(() => {
|
|
15
|
+
if (previous) target.set(hook, previous);
|
|
16
|
+
else target.delete(hook);
|
|
17
|
+
});
|
|
18
|
+
entries.set(hook, effect);
|
|
19
|
+
}
|
|
20
|
+
function setLayoutDisconnected(fiber, disconnected) {
|
|
21
|
+
const previous = !!fiber.ld;
|
|
22
|
+
if (previous !== disconnected) {
|
|
23
|
+
onCommitRollback(() => {
|
|
24
|
+
fiber.ld = previous;
|
|
25
|
+
});
|
|
26
|
+
fiber.ld = disconnected;
|
|
27
|
+
}
|
|
28
|
+
return previous;
|
|
29
|
+
}
|
|
30
|
+
function walkRetained(fiber, visit, postorder = false) {
|
|
31
|
+
if (!postorder) visit(fiber);
|
|
32
|
+
for (let child = fiber.child; child; child = child.sibling) walkRetained(child, visit, postorder);
|
|
33
|
+
if (fiber.tag === FiberTag.Suspense && fiber.ms?.f) walkRetained(fiber.ms.f, visit, postorder);
|
|
34
|
+
if (postorder) visit(fiber);
|
|
35
|
+
}
|
|
36
|
+
function inSuspensePrimary(fiber) {
|
|
37
|
+
for (let child = fiber, parent = fiber.parent; parent; child = parent, parent = parent.parent) {
|
|
38
|
+
if (parent.tag === FiberTag.Suspense && parent.ms?.d && parent.ms.f !== child) return true;
|
|
39
|
+
}
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
inSuspensePrimary,
|
|
44
|
+
rememberRetainedEffect,
|
|
45
|
+
retainedEffects,
|
|
46
|
+
setLayoutDisconnected,
|
|
47
|
+
walkRetained
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=retained-effects.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/dom/retained-effects.ts"],
|
|
4
|
+
"sourcesContent": ["import { FiberTag, type Fiber, type Hook, type Effect } from '../core'\nimport { onCommitRollback } from './commit'\n\nexport const retainedEffects = new WeakMap<Fiber, Map<Hook, Effect>>()\n\nexport function rememberRetainedEffect(fiber: Fiber, hook: Hook, effect: Effect): void {\n let entries = retainedEffects.get(fiber)\n if (!entries) {\n retainedEffects.set(fiber, entries = new Map())\n onCommitRollback(() => { retainedEffects.delete(fiber) })\n }\n const previous = entries.get(hook), target = entries\n onCommitRollback(() => { if (previous) target.set(hook, previous); else target.delete(hook) })\n entries.set(hook, effect)\n}\n\nexport function setLayoutDisconnected(fiber: Fiber, disconnected: boolean): boolean {\n const previous = !!fiber.ld\n if (previous !== disconnected) {\n onCommitRollback(() => { fiber.ld = previous })\n fiber.ld = disconnected\n }\n return previous\n}\n\nexport function walkRetained(fiber: Fiber, visit: (fiber: Fiber) => void, postorder = false): void {\n if (!postorder) visit(fiber)\n for (let child = fiber.child; child; child = child.sibling) walkRetained(child, visit, postorder)\n if (fiber.tag === FiberTag.Suspense && fiber.ms?.f) walkRetained(fiber.ms.f, visit, postorder)\n if (postorder) visit(fiber)\n}\n\nexport function inSuspensePrimary(fiber: Fiber): boolean {\n for (let child = fiber, parent = fiber.parent; parent; child = parent, parent = parent.parent) {\n if (parent.tag === FiberTag.Suspense && parent.ms?.d && parent.ms.f !== child) return true\n }\n return false\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,gBAAoD;AAC7D,SAAS,wBAAwB;AAE1B,IAAM,kBAAkB,oBAAI,QAAkC;AAE9D,SAAS,uBAAuB,OAAc,MAAY,QAAsB;AACrF,MAAI,UAAU,gBAAgB,IAAI,KAAK;AACvC,MAAI,CAAC,SAAS;AACZ,oBAAgB,IAAI,OAAO,UAAU,oBAAI,IAAI,CAAC;AAC9C,qBAAiB,MAAM;AAAE,sBAAgB,OAAO,KAAK;AAAA,IAAE,CAAC;AAAA,EAC1D;AACA,QAAM,WAAW,QAAQ,IAAI,IAAI,GAAG,SAAS;AAC7C,mBAAiB,MAAM;AAAE,QAAI,SAAU,QAAO,IAAI,MAAM,QAAQ;AAAA,QAAQ,QAAO,OAAO,IAAI;AAAA,EAAE,CAAC;AAC7F,UAAQ,IAAI,MAAM,MAAM;AAC1B;AAEO,SAAS,sBAAsB,OAAc,cAAgC;AAClF,QAAM,WAAW,CAAC,CAAC,MAAM;AACzB,MAAI,aAAa,cAAc;AAC7B,qBAAiB,MAAM;AAAE,YAAM,KAAK;AAAA,IAAS,CAAC;AAC9C,UAAM,KAAK;AAAA,EACb;AACA,SAAO;AACT;AAEO,SAAS,aAAa,OAAc,OAA+B,YAAY,OAAa;AACjG,MAAI,CAAC,UAAW,OAAM,KAAK;AAC3B,WAAS,QAAQ,MAAM,OAAO,OAAO,QAAQ,MAAM,QAAS,cAAa,OAAO,OAAO,SAAS;AAChG,MAAI,MAAM,QAAQ,SAAS,YAAY,MAAM,IAAI,EAAG,cAAa,MAAM,GAAG,GAAG,OAAO,SAAS;AAC7F,MAAI,UAAW,OAAM,KAAK;AAC5B;AAEO,SAAS,kBAAkB,OAAuB;AACvD,WAAS,QAAQ,OAAO,SAAS,MAAM,QAAQ,QAAQ,QAAQ,QAAQ,SAAS,OAAO,QAAQ;AAC7F,QAAI,OAAO,QAAQ,SAAS,YAAY,OAAO,IAAI,KAAK,OAAO,GAAG,MAAM,MAAO,QAAO;AAAA,EACxF;AACA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { type FiberRoot } from
|
|
1
|
+
import { type FiberRoot, type RecoverableErrorHandler } from "../core/index.js";
|
|
2
2
|
export interface RootOptionsInternal {
|
|
3
3
|
identifierPrefix?: string;
|
|
4
|
-
onRecoverableError?:
|
|
5
|
-
onCaughtError?:
|
|
6
|
-
onUncaughtError?:
|
|
4
|
+
onRecoverableError?: RecoverableErrorHandler;
|
|
5
|
+
onCaughtError?: RecoverableErrorHandler;
|
|
6
|
+
onUncaughtError?: RecoverableErrorHandler;
|
|
7
7
|
}
|
|
8
8
|
export declare function createFiberRoot(container: Element | Document | DocumentFragment, options: RootOptionsInternal): FiberRoot;
|
|
9
9
|
export declare function attachRootFiber(root: FiberRoot, container: Element | Document | DocumentFragment): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
//
|
|
2
|
-
import { FiberTag, createFiber } from "../core";
|
|
1
|
+
// src/dom/root-internal.ts
|
|
2
|
+
import { FiberTag, createFiber } from "../core/index.js";
|
|
3
3
|
function createFiberRoot(container, options) {
|
|
4
4
|
const rootFiber = createFiber(FiberTag.Root, null, null);
|
|
5
5
|
const root = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/dom/root-internal.ts"],
|
|
4
|
-
"sourcesContent": ["import { FiberTag, createFiber, type Fiber, type FiberRoot } from '../core'\n\nexport interface RootOptionsInternal {\n identifierPrefix?: string\n onRecoverableError?:
|
|
5
|
-
"mappings": ";AAAA,SAAS,UAAU,
|
|
4
|
+
"sourcesContent": ["import { FiberTag, createFiber, type Fiber, type FiberRoot, type RecoverableErrorHandler } from '../core'\n\nexport interface RootOptionsInternal {\n identifierPrefix?: string\n onRecoverableError?: RecoverableErrorHandler\n onCaughtError?: RecoverableErrorHandler\n onUncaughtError?: RecoverableErrorHandler\n}\n\nexport function createFiberRoot(\n container: Element | Document | DocumentFragment,\n options: RootOptionsInternal,\n): FiberRoot {\n const rootFiber = createFiber(FiberTag.Root, null, null)\n const root: FiberRoot = {\n c: container as any,\n r: rootFiber,\n p: new Set(),\n s: false,\n re: options.onRecoverableError,\n ce: options.onCaughtError,\n ue: options.onUncaughtError,\n i: options.identifierPrefix,\n ic: 0,\n h: false,\n }\n rootFiber.root = root\n rootFiber.sn = container\n return root\n}\n\nexport function attachRootFiber(\n root: FiberRoot,\n container: Element | Document | DocumentFragment,\n): void {\n const rootFiber = createFiber(FiberTag.Root, null, null)\n root.c = container as any\n root.ic = 0\n rootFiber.root = root\n rootFiber.sn = container\n root.r = rootFiber\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,UAAU,mBAA6E;AASzF,SAAS,gBACd,WACA,SACW;AACX,QAAM,YAAY,YAAY,SAAS,MAAM,MAAM,IAAI;AACvD,QAAM,OAAkB;AAAA,IACtB,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG,oBAAI,IAAI;AAAA,IACX,GAAG;AAAA,IACH,IAAI,QAAQ;AAAA,IACZ,IAAI,QAAQ;AAAA,IACZ,IAAI,QAAQ;AAAA,IACZ,GAAG,QAAQ;AAAA,IACX,IAAI;AAAA,IACJ,GAAG;AAAA,EACL;AACA,YAAU,OAAO;AACjB,YAAU,KAAK;AACf,SAAO;AACT;AAEO,SAAS,gBACd,MACA,WACM;AACN,QAAM,YAAY,YAAY,SAAS,MAAM,MAAM,IAAI;AACvD,OAAK,IAAI;AACT,OAAK,KAAK;AACV,YAAU,OAAO;AACjB,YAAU,KAAK;AACf,OAAK,IAAI;AACX;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/dom/root.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { ReactNode } from
|
|
2
|
-
import { flushSyncWork, batchedUpdates } from
|
|
1
|
+
import type { ReactNode, RecoverableErrorHandler } from "../core/index.js";
|
|
2
|
+
import { flushSyncWork, batchedUpdates } from "./reconcile.js";
|
|
3
3
|
export interface RootOptions {
|
|
4
4
|
identifierPrefix?: string;
|
|
5
|
-
onRecoverableError?:
|
|
6
|
-
onCaughtError?:
|
|
7
|
-
onUncaughtError?:
|
|
5
|
+
onRecoverableError?: RecoverableErrorHandler;
|
|
6
|
+
onCaughtError?: RecoverableErrorHandler;
|
|
7
|
+
onUncaughtError?: RecoverableErrorHandler;
|
|
8
8
|
}
|
|
9
9
|
export interface Root {
|
|
10
10
|
render(children: ReactNode): void;
|
package/dist/dom/root.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
//
|
|
2
|
-
import { renderRoot, flushSyncWork, batchedUpdates } from "./reconcile";
|
|
3
|
-
import { hydrateRootImpl } from "./features/hydration";
|
|
4
|
-
import { createFiberRoot } from "./root-internal";
|
|
1
|
+
// src/dom/root.ts
|
|
2
|
+
import { renderRoot, scheduleRootRender, flushSyncWork, batchedUpdates } from "./reconcile.js";
|
|
3
|
+
import { hydrateRootImpl } from "./features/hydration/index.js";
|
|
4
|
+
import { createFiberRoot } from "./root-internal.js";
|
|
5
|
+
import { queueMutation } from "./commit.js";
|
|
5
6
|
function createRoot(container, options = {}) {
|
|
6
7
|
const root = createFiberRoot(container, options);
|
|
7
8
|
let firstRender = true;
|
|
8
9
|
return {
|
|
9
10
|
render(children) {
|
|
10
|
-
|
|
11
|
-
firstRender
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
scheduleRootRender(root, () => {
|
|
12
|
+
if (firstRender) {
|
|
13
|
+
queueMutation(() => {
|
|
14
|
+
firstRender = false;
|
|
15
|
+
if (container.nodeType === 1) container.textContent = "";
|
|
16
|
+
});
|
|
15
17
|
}
|
|
16
|
-
}
|
|
17
|
-
flushSyncWork(() => {
|
|
18
18
|
renderRoot(root, children);
|
|
19
19
|
});
|
|
20
20
|
},
|
package/dist/dom/root.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/dom/root.ts"],
|
|
4
|
-
"sourcesContent": ["import type { ReactNode } from '../core'\nimport { renderRoot, flushSyncWork, batchedUpdates } from './reconcile'\nimport { hydrateRootImpl } from './features/hydration'\nimport { createFiberRoot } from './root-internal'\n\nexport interface RootOptions {\n identifierPrefix?: string\n onRecoverableError?:
|
|
5
|
-
"mappings": ";AACA,SAAS,YAAY,eAAe,sBAAsB;
|
|
4
|
+
"sourcesContent": ["import type { ReactNode, RecoverableErrorHandler } from '../core'\nimport { renderRoot, scheduleRootRender, flushSyncWork, batchedUpdates } from './reconcile'\nimport { hydrateRootImpl } from './features/hydration'\nimport { createFiberRoot } from './root-internal'\nimport { queueMutation } from './commit'\n\nexport interface RootOptions {\n identifierPrefix?: string\n onRecoverableError?: RecoverableErrorHandler\n onCaughtError?: RecoverableErrorHandler\n onUncaughtError?: RecoverableErrorHandler\n}\n\nexport interface Root {\n render(children: ReactNode): void\n unmount(): void\n}\n\nexport function createRoot(container: Element | DocumentFragment, options: RootOptions = {}): Root {\n const root = createFiberRoot(container, options)\n\n let firstRender = true\n return {\n render(children) {\n scheduleRootRender(root, () => {\n if (firstRender) {\n queueMutation(() => {\n firstRender = false\n if ((container as Node).nodeType === 1) container.textContent = ''\n })\n }\n renderRoot(root, children)\n })\n },\n unmount() {\n flushSyncWork(() => {\n renderRoot(root, null)\n })\n },\n }\n}\n\nexport function hydrateRoot(\n container: Element | Document,\n initialChildren: ReactNode,\n options: RootOptions = {},\n): Root {\n return hydrateRootImpl(container, initialChildren, options)\n}\n\nexport { flushSyncWork as flushSync, batchedUpdates }\n"],
|
|
5
|
+
"mappings": ";AACA,SAAS,YAAY,oBAAoB,eAAe,sBAAsB;AAC9E,SAAS,uBAAuB;AAChC,SAAS,uBAAuB;AAChC,SAAS,qBAAqB;AAcvB,SAAS,WAAW,WAAuC,UAAuB,CAAC,GAAS;AACjG,QAAM,OAAO,gBAAgB,WAAW,OAAO;AAE/C,MAAI,cAAc;AAClB,SAAO;AAAA,IACL,OAAO,UAAU;AACf,yBAAmB,MAAM,MAAM;AAC7B,YAAI,aAAa;AACf,wBAAc,MAAM;AAClB,0BAAc;AACd,gBAAK,UAAmB,aAAa,EAAG,WAAU,cAAc;AAAA,UAClE,CAAC;AAAA,QACH;AACA,mBAAW,MAAM,QAAQ;AAAA,MAC3B,CAAC;AAAA,IACH;AAAA,IACA,UAAU;AACR,oBAAc,MAAM;AAClB,mBAAW,MAAM,IAAI;AAAA,MACvB,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAEO,SAAS,YACd,WACA,iBACA,UAAuB,CAAC,GAClB;AACN,SAAO,gBAAgB,WAAW,iBAAiB,OAAO;AAC5D;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/dom/test-utils.js
CHANGED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/react/activity.ts"],
|
|
4
|
+
"sourcesContent": ["import type { ReactNode } from '../core'\n\nexport const REACT_ACTIVITY_TYPE = Symbol.for('react.activity')\n\nexport interface ActivityProps {\n children?: ReactNode\n mode?: 'hidden' | 'visible'\n}\n\nexport const Activity = REACT_ACTIVITY_TYPE as any as (props: ActivityProps) => any\n"],
|
|
5
|
+
"mappings": ";AAEO,IAAM,sBAAsB,uBAAO,IAAI,gBAAgB;AAOvD,IAAM,WAAW;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/dist/react/children.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ReactNode, ReactElement } from
|
|
1
|
+
import type { ReactNode, ReactElement } from "../core/index.js";
|
|
2
2
|
export declare const Children: {
|
|
3
3
|
map(children: ReactNode, fn: (child: ReactNode, index: number) => any): any[] | null;
|
|
4
4
|
forEach(children: ReactNode, fn: (child: ReactNode, index: number) => void): void;
|
package/dist/react/children.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
//
|
|
2
|
-
import { isValidElement, cloneElement } from "./element";
|
|
1
|
+
// src/react/children.ts
|
|
2
|
+
import { isValidElement, cloneElement } from "./element.js";
|
|
3
3
|
function flatten(node, out, prefix) {
|
|
4
4
|
if (node == null || typeof node === "boolean") return;
|
|
5
5
|
if (Array.isArray(node)) {
|
|
@@ -64,7 +64,7 @@ var Children = {
|
|
|
64
64
|
},
|
|
65
65
|
only(children) {
|
|
66
66
|
if (!isValidElement(children)) {
|
|
67
|
-
if (
|
|
67
|
+
if (process.env.NODE_ENV !== "production") {
|
|
68
68
|
throw new Error("Children.only expected a single React element.");
|
|
69
69
|
}
|
|
70
70
|
throw new Error();
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/react/children.ts"],
|
|
4
4
|
"sourcesContent": ["import { isValidElement, cloneElement } from './element'\nimport type { ReactNode, ReactElement } from '../core'\n\nfunction flatten(node: ReactNode, out: any[], prefix: string): void {\n if (node == null || typeof node === 'boolean') return\n if (Array.isArray(node)) {\n for (let i = 0; i < node.length; i++) flatten(node[i], out, prefix + '.' + i)\n return\n }\n out.push(node)\n}\n\nfunction getKey(node: any, index: number, prefix: string): string {\n if (isValidElement(node) && node.key != null) return prefix + '$' + node.key\n return prefix + ':' + index\n}\n\nfunction mapChildren(\n children: ReactNode,\n fn: (child: ReactNode, index: number) => any,\n prefix = '',\n): any[] {\n const flat: any[] = []\n flatten(children, flat, prefix)\n const out: any[] = []\n for (let i = 0; i < flat.length; i++) {\n const child = flat[i]\n const mapped = fn(child, i)\n if (mapped == null) continue\n if (Array.isArray(mapped)) {\n for (let j = 0; j < mapped.length; j++) {\n const m = mapped[j]\n if (m == null) continue\n out.push(\n isValidElement(m) && m.key == null\n ? cloneElement(m as ReactElement, { key: getKey(child, i, prefix) + '/' + j })\n : m,\n )\n }\n } else {\n out.push(\n isValidElement(mapped) && mapped.key == null\n ? cloneElement(mapped as ReactElement, { key: getKey(child, i, prefix) })\n : mapped,\n )\n }\n }\n return out\n}\n\nexport const Children = {\n map(children: ReactNode, fn: (child: ReactNode, index: number) => any): any[] | null {\n if (children == null) return null\n return mapChildren(children, fn)\n },\n forEach(children: ReactNode, fn: (child: ReactNode, index: number) => void): void {\n if (children == null) return\n mapChildren(children, (c, i) => {\n fn(c, i)\n return null\n })\n },\n count(children: ReactNode): number {\n let n = 0\n const flat: any[] = []\n flatten(children, flat, '')\n for (let i = 0; i < flat.length; i++) n++\n return n\n },\n toArray(children: ReactNode): any[] {\n const flat: any[] = []\n flatten(children, flat, '')\n return flat.map((c, i) =>\n isValidElement(c) && c.key == null\n ? cloneElement(c as ReactElement, { key: '' + i })\n : c,\n )\n },\n only(children: ReactNode): ReactElement {\n if (!isValidElement(children)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error('Children.only expected a single React element.')\n }\n throw new Error()\n }\n return children\n },\n}\n"],
|
|
5
|
-
"mappings": ";AAAA,SAAS,gBAAgB,oBAAoB;AAG7C,SAAS,QAAQ,MAAiB,KAAY,QAAsB;AAClE,MAAI,QAAQ,QAAQ,OAAO,SAAS,UAAW;AAC/C,MAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,IAAK,SAAQ,KAAK,CAAC,GAAG,KAAK,SAAS,MAAM,CAAC;AAC5E;AAAA,EACF;AACA,MAAI,KAAK,IAAI;AACf;AAEA,SAAS,OAAO,MAAW,OAAe,QAAwB;AAChE,MAAI,eAAe,IAAI,KAAK,KAAK,OAAO,KAAM,QAAO,SAAS,MAAM,KAAK;AACzE,SAAO,SAAS,MAAM;AACxB;AAEA,SAAS,YACP,UACA,IACA,SAAS,IACF;AACP,QAAM,OAAc,CAAC;AACrB,UAAQ,UAAU,MAAM,MAAM;AAC9B,QAAM,MAAa,CAAC;AACpB,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,UAAM,QAAQ,KAAK,CAAC;AACpB,UAAM,SAAS,GAAG,OAAO,CAAC;AAC1B,QAAI,UAAU,KAAM;AACpB,QAAI,MAAM,QAAQ,MAAM,GAAG;AACzB,eAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,cAAM,IAAI,OAAO,CAAC;AAClB,YAAI,KAAK,KAAM;AACf,YAAI;AAAA,UACF,eAAe,CAAC,KAAK,EAAE,OAAO,OAC1B,aAAa,GAAmB,EAAE,KAAK,OAAO,OAAO,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,IAC3E;AAAA,QACN;AAAA,MACF;AAAA,IACF,OAAO;AACL,UAAI;AAAA,QACF,eAAe,MAAM,KAAK,OAAO,OAAO,OACpC,aAAa,QAAwB,EAAE,KAAK,OAAO,OAAO,GAAG,MAAM,EAAE,CAAC,IACtE;AAAA,MACN;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEO,IAAM,WAAW;AAAA,EACtB,IAAI,UAAqB,IAA4D;AACnF,QAAI,YAAY,KAAM,QAAO;AAC7B,WAAO,YAAY,UAAU,EAAE;AAAA,EACjC;AAAA,EACA,QAAQ,UAAqB,IAAqD;AAChF,QAAI,YAAY,KAAM;AACtB,gBAAY,UAAU,CAAC,GAAG,MAAM;AAC9B,SAAG,GAAG,CAAC;AACP,aAAO;AAAA,IACT,CAAC;AAAA,EACH;AAAA,EACA,MAAM,UAA6B;AACjC,QAAI,IAAI;AACR,UAAM,OAAc,CAAC;AACrB,YAAQ,UAAU,MAAM,EAAE;AAC1B,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,IAAK;AACtC,WAAO;AAAA,EACT;AAAA,EACA,QAAQ,UAA4B;AAClC,UAAM,OAAc,CAAC;AACrB,YAAQ,UAAU,MAAM,EAAE;AAC1B,WAAO,KAAK;AAAA,MAAI,CAAC,GAAG,MAClB,eAAe,CAAC,KAAK,EAAE,OAAO,OAC1B,aAAa,GAAmB,EAAE,KAAK,KAAK,EAAE,CAAC,IAC/C;AAAA,IACN;AAAA,EACF;AAAA,EACA,KAAK,UAAmC;AACtC,QAAI,CAAC,eAAe,QAAQ,GAAG;AAC7B,UAAI,
|
|
5
|
+
"mappings": ";AAAA,SAAS,gBAAgB,oBAAoB;AAG7C,SAAS,QAAQ,MAAiB,KAAY,QAAsB;AAClE,MAAI,QAAQ,QAAQ,OAAO,SAAS,UAAW;AAC/C,MAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,IAAK,SAAQ,KAAK,CAAC,GAAG,KAAK,SAAS,MAAM,CAAC;AAC5E;AAAA,EACF;AACA,MAAI,KAAK,IAAI;AACf;AAEA,SAAS,OAAO,MAAW,OAAe,QAAwB;AAChE,MAAI,eAAe,IAAI,KAAK,KAAK,OAAO,KAAM,QAAO,SAAS,MAAM,KAAK;AACzE,SAAO,SAAS,MAAM;AACxB;AAEA,SAAS,YACP,UACA,IACA,SAAS,IACF;AACP,QAAM,OAAc,CAAC;AACrB,UAAQ,UAAU,MAAM,MAAM;AAC9B,QAAM,MAAa,CAAC;AACpB,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,UAAM,QAAQ,KAAK,CAAC;AACpB,UAAM,SAAS,GAAG,OAAO,CAAC;AAC1B,QAAI,UAAU,KAAM;AACpB,QAAI,MAAM,QAAQ,MAAM,GAAG;AACzB,eAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,cAAM,IAAI,OAAO,CAAC;AAClB,YAAI,KAAK,KAAM;AACf,YAAI;AAAA,UACF,eAAe,CAAC,KAAK,EAAE,OAAO,OAC1B,aAAa,GAAmB,EAAE,KAAK,OAAO,OAAO,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,IAC3E;AAAA,QACN;AAAA,MACF;AAAA,IACF,OAAO;AACL,UAAI;AAAA,QACF,eAAe,MAAM,KAAK,OAAO,OAAO,OACpC,aAAa,QAAwB,EAAE,KAAK,OAAO,OAAO,GAAG,MAAM,EAAE,CAAC,IACtE;AAAA,MACN;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEO,IAAM,WAAW;AAAA,EACtB,IAAI,UAAqB,IAA4D;AACnF,QAAI,YAAY,KAAM,QAAO;AAC7B,WAAO,YAAY,UAAU,EAAE;AAAA,EACjC;AAAA,EACA,QAAQ,UAAqB,IAAqD;AAChF,QAAI,YAAY,KAAM;AACtB,gBAAY,UAAU,CAAC,GAAG,MAAM;AAC9B,SAAG,GAAG,CAAC;AACP,aAAO;AAAA,IACT,CAAC;AAAA,EACH;AAAA,EACA,MAAM,UAA6B;AACjC,QAAI,IAAI;AACR,UAAM,OAAc,CAAC;AACrB,YAAQ,UAAU,MAAM,EAAE;AAC1B,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,IAAK;AACtC,WAAO;AAAA,EACT;AAAA,EACA,QAAQ,UAA4B;AAClC,UAAM,OAAc,CAAC;AACrB,YAAQ,UAAU,MAAM,EAAE;AAC1B,WAAO,KAAK;AAAA,MAAI,CAAC,GAAG,MAClB,eAAe,CAAC,KAAK,EAAE,OAAO,OAC1B,aAAa,GAAmB,EAAE,KAAK,KAAK,EAAE,CAAC,IAC/C;AAAA,IACN;AAAA,EACF;AAAA,EACA,KAAK,UAAmC;AACtC,QAAI,CAAC,eAAe,QAAQ,GAAG;AAC7B,UAAI,yBAAyB,cAAc;AACzC,cAAM,IAAI,MAAM,gDAAgD;AAAA,MAClE;AACA,YAAM,IAAI,MAAM;AAAA,IAClB;AACA,WAAO;AAAA,EACT;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/react/class.d.ts
CHANGED
package/dist/react/class.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//
|
|
1
|
+
// src/react/class.ts
|
|
2
2
|
var Component = class {
|
|
3
3
|
static contextType;
|
|
4
4
|
static defaultProps;
|
|
@@ -17,7 +17,7 @@ var Component = class {
|
|
|
17
17
|
}
|
|
18
18
|
setState(updater, callback) {
|
|
19
19
|
if (!this._enqueueUpdate) {
|
|
20
|
-
if (
|
|
20
|
+
if (process.env.NODE_ENV !== "production") {
|
|
21
21
|
throw new Error("Cannot call setState on an um component.");
|
|
22
22
|
}
|
|
23
23
|
throw new Error();
|
|
@@ -29,7 +29,7 @@ var Component = class {
|
|
|
29
29
|
this._forceUpdate(callback);
|
|
30
30
|
}
|
|
31
31
|
render() {
|
|
32
|
-
if (
|
|
32
|
+
if (process.env.NODE_ENV !== "production") {
|
|
33
33
|
throw new Error("Component subclass must implement render().");
|
|
34
34
|
}
|
|
35
35
|
throw new Error();
|
package/dist/react/class.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/react/class.ts"],
|
|
4
4
|
"sourcesContent": ["import type { ReactNode } from '../core'\n\ntype SetStateCallback<S, P> =\n | Partial<S>\n | ((prev: S, props: P) => Partial<S> | null)\n | null\n\nexport class Component<P = {}, S = {}> {\n static contextType?: any\n static getDerivedStateFromProps?(props: any, state: any): any\n static getDerivedStateFromError?(error: any): any\n static defaultProps?: any\n static displayName?: string\n\n props: P\n state: S = {} as S\n context: any\n refs: Record<string, any> = {}\n\n // Injected by reconciler\n _fiber: any = null\n _enqueueUpdate: ((updater: SetStateCallback<S, P>, cb?: () => void) => void) | null = null\n _forceUpdate: ((cb?: () => void) => void) | null = null\n\n constructor(props: P, context?: any) {\n this.props = props\n this.context = context\n }\n\n setState(updater: SetStateCallback<S, P>, callback?: () => void): void {\n if (!this._enqueueUpdate) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error('Cannot call setState on an um component.')\n }\n throw new Error()\n }\n this._enqueueUpdate(updater, callback)\n }\n\n forceUpdate(callback?: () => void): void {\n if (!this._forceUpdate) return\n this._forceUpdate(callback)\n }\n\n render(): ReactNode {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error('Component subclass must implement render().')\n }\n throw new Error()\n }\n\n componentDidMount?(): void\n componentDidUpdate?(prevProps: P, prevState: S, snapshot?: any): void\n componentWillUnmount?(): void\n shouldComponentUpdate?(nextProps: P, nextState: S, nextCtx: any): boolean\n getSnapshotBeforeUpdate?(prevProps: P, prevState: S): any\n componentDidCatch?(error: any, info: { componentStack: string }): void\n}\n;(Component.prototype as any).isReactComponent = {}\n\nexport class PureComponent<P = {}, S = {}> extends Component<P, S> {}\n;(PureComponent.prototype as any).isPureReactComponent = true\n"],
|
|
5
|
-
"mappings": ";AAOO,IAAM,YAAN,MAAgC;AAAA,EACrC,OAAO;AAAA,EAGP,OAAO;AAAA,EACP,OAAO;AAAA,EAEP;AAAA,EACA,QAAW,CAAC;AAAA,EACZ;AAAA,EACA,OAA4B,CAAC;AAAA;AAAA,EAG7B,SAAc;AAAA,EACd,iBAAsF;AAAA,EACtF,eAAmD;AAAA,EAEnD,YAAY,OAAU,SAAe;AACnC,SAAK,QAAQ;AACb,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,SAAS,SAAiC,UAA6B;AACrE,QAAI,CAAC,KAAK,gBAAgB;AACxB,UAAI,
|
|
5
|
+
"mappings": ";AAOO,IAAM,YAAN,MAAgC;AAAA,EACrC,OAAO;AAAA,EAGP,OAAO;AAAA,EACP,OAAO;AAAA,EAEP;AAAA,EACA,QAAW,CAAC;AAAA,EACZ;AAAA,EACA,OAA4B,CAAC;AAAA;AAAA,EAG7B,SAAc;AAAA,EACd,iBAAsF;AAAA,EACtF,eAAmD;AAAA,EAEnD,YAAY,OAAU,SAAe;AACnC,SAAK,QAAQ;AACb,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,SAAS,SAAiC,UAA6B;AACrE,QAAI,CAAC,KAAK,gBAAgB;AACxB,UAAI,yBAAyB,cAAc;AACzC,cAAM,IAAI,MAAM,0CAA0C;AAAA,MAC5D;AACA,YAAM,IAAI,MAAM;AAAA,IAClB;AACA,SAAK,eAAe,SAAS,QAAQ;AAAA,EACvC;AAAA,EAEA,YAAY,UAA6B;AACvC,QAAI,CAAC,KAAK,aAAc;AACxB,SAAK,aAAa,QAAQ;AAAA,EAC5B;AAAA,EAEA,SAAoB;AAClB,QAAI,yBAAyB,cAAc;AACzC,YAAM,IAAI,MAAM,6CAA6C;AAAA,IAC/D;AACA,UAAM,IAAI,MAAM;AAAA,EAClB;AAQF;AACE,UAAU,UAAkB,mBAAmB,CAAC;AAE3C,IAAM,gBAAN,cAA4C,UAAgB;AAAC;AAClE,cAAc,UAAkB,uBAAuB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
//
|
|
2
|
-
import { useRef } from "./hooks";
|
|
1
|
+
// src/react/compiler-runtime.ts
|
|
2
|
+
import { useRef } from "./hooks.js";
|
|
3
3
|
var MEMO_CACHE_SENTINEL = /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel");
|
|
4
4
|
function c(size) {
|
|
5
5
|
const ref = useRef(null);
|
package/dist/react/context.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ReactElement, ReactNode } from
|
|
1
|
+
import type { ReactElement, ReactNode } from "../core/index.js";
|
|
2
2
|
export declare const REACT_CONTEXT_TYPE: unique symbol;
|
|
3
3
|
export declare const REACT_PROVIDER_TYPE: unique symbol;
|
|
4
4
|
export declare const REACT_CONSUMER_TYPE: unique symbol;
|
package/dist/react/context.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
//
|
|
2
|
-
import { useContext } from "./hooks";
|
|
1
|
+
// src/react/context.ts
|
|
2
|
+
import { useContext } from "./hooks.js";
|
|
3
3
|
var REACT_CONTEXT_TYPE = /* @__PURE__ */ Symbol.for("react.context");
|
|
4
4
|
var REACT_PROVIDER_TYPE = /* @__PURE__ */ Symbol.for("react.provider");
|
|
5
5
|
var REACT_CONSUMER_TYPE = /* @__PURE__ */ Symbol.for("react.consumer");
|
|
@@ -9,7 +9,7 @@ function createContext(defaultValue) {
|
|
|
9
9
|
_currentValue: defaultValue
|
|
10
10
|
};
|
|
11
11
|
const Provider = function Provider2(_props) {
|
|
12
|
-
if (
|
|
12
|
+
if (process.env.NODE_ENV !== "production") {
|
|
13
13
|
throw new Error("Provider components are handled by the renderer.");
|
|
14
14
|
}
|
|
15
15
|
throw new Error();
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/react/context.ts"],
|
|
4
4
|
"sourcesContent": ["import type { ReactElement, ReactNode } from '../core'\nimport { useContext } from './hooks'\n\nexport const REACT_CONTEXT_TYPE = Symbol.for('react.context')\nexport const REACT_PROVIDER_TYPE = Symbol.for('react.provider')\nexport const REACT_CONSUMER_TYPE = Symbol.for('react.consumer')\n\nexport interface Context<T> {\n $$typeof: typeof REACT_CONTEXT_TYPE\n _currentValue: T\n Provider: ProviderExoticComponent<{ value: T; children?: ReactNode }>\n Consumer: ConsumerExoticComponent<T>\n displayName?: string\n}\n\nexport interface ProviderExoticComponent<P> {\n $$typeof: typeof REACT_PROVIDER_TYPE\n _context: Context<any>\n (props: P): ReactElement\n}\n\nexport interface ConsumerExoticComponent<T> {\n $$typeof: typeof REACT_CONSUMER_TYPE\n _context: Context<T>\n (props: { children: (value: T) => ReactNode }): ReactElement\n}\n\nexport function createContext<T>(defaultValue: T): Context<T> {\n const context: Context<T> = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n } as Context<T>\n\n const Provider: any = function Provider(_props: any): any {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error('Provider components are handled by the renderer.')\n }\n throw new Error()\n }\n Provider.$$typeof = REACT_PROVIDER_TYPE\n Provider._context = context\n\n const Consumer: any = function Consumer(props: { children: (v: T) => any }): any {\n return props.children(useContext(context))\n }\n Consumer.$$typeof = REACT_CONSUMER_TYPE\n Consumer._context = context\n\n context.Provider = Provider\n context.Consumer = Consumer\n\n return context\n}\n"],
|
|
5
|
-
"mappings": ";AACA,SAAS,kBAAkB;AAEpB,IAAM,qBAAqB,uBAAO,IAAI,eAAe;AACrD,IAAM,sBAAsB,uBAAO,IAAI,gBAAgB;AACvD,IAAM,sBAAsB,uBAAO,IAAI,gBAAgB;AAsBvD,SAAS,cAAiB,cAA6B;AAC5D,QAAM,UAAsB;AAAA,IAC1B,UAAU;AAAA,IACV,eAAe;AAAA,EACjB;AAEA,QAAM,WAAgB,SAASA,UAAS,QAAkB;AACxD,QAAI,
|
|
5
|
+
"mappings": ";AACA,SAAS,kBAAkB;AAEpB,IAAM,qBAAqB,uBAAO,IAAI,eAAe;AACrD,IAAM,sBAAsB,uBAAO,IAAI,gBAAgB;AACvD,IAAM,sBAAsB,uBAAO,IAAI,gBAAgB;AAsBvD,SAAS,cAAiB,cAA6B;AAC5D,QAAM,UAAsB;AAAA,IAC1B,UAAU;AAAA,IACV,eAAe;AAAA,EACjB;AAEA,QAAM,WAAgB,SAASA,UAAS,QAAkB;AACxD,QAAI,yBAAyB,cAAc;AACzC,YAAM,IAAI,MAAM,kDAAkD;AAAA,IACpE;AACA,UAAM,IAAI,MAAM;AAAA,EAClB;AACA,WAAS,WAAW;AACpB,WAAS,WAAW;AAEpB,QAAM,WAAgB,SAASC,UAAS,OAAyC;AAC/E,WAAO,MAAM,SAAS,WAAW,OAAO,CAAC;AAAA,EAC3C;AACA,WAAS,WAAW;AACpB,WAAS,WAAW;AAEpB,UAAQ,WAAW;AACnB,UAAQ,WAAW;AAEnB,SAAO;AACT;",
|
|
6
6
|
"names": ["Provider", "Consumer"]
|
|
7
7
|
}
|
package/dist/react/element.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { type ReactElement, type ReactNode } from
|
|
1
|
+
import { type ReactElement, type ReactNode, type Ref } from "../core/index.js";
|
|
2
|
+
import type { FragmentInstance } from "../dom/fragment-instance.js";
|
|
2
3
|
export declare const Fragment: (props: {
|
|
3
4
|
children?: ReactNode;
|
|
5
|
+
key?: string | number;
|
|
6
|
+
ref?: Ref<FragmentInstance>;
|
|
4
7
|
}) => ReactElement;
|
|
5
|
-
export declare function createElement(type: any, config
|
|
6
|
-
export declare function cloneElement(element: ReactElement, config
|
|
8
|
+
export declare function createElement(type: any, config?: Record<string, any> | null, ...children: ReactNode[]): ReactElement;
|
|
9
|
+
export declare function cloneElement(element: ReactElement, config?: Record<string, any> | null, ...children: ReactNode[]): ReactElement;
|
|
7
10
|
export declare function isValidElement(obj: any): obj is ReactElement;
|
|
8
11
|
export declare function createRef<T = any>(): {
|
|
9
12
|
current: T | null;
|
package/dist/react/element.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
//
|
|
1
|
+
// src/react/element.ts
|
|
2
2
|
import {
|
|
3
3
|
REACT_ELEMENT_TYPE,
|
|
4
4
|
REACT_LEGACY_ELEMENT_TYPE,
|
|
5
5
|
REACT_FRAGMENT_TYPE
|
|
6
|
-
} from "../core";
|
|
6
|
+
} from "../core/index.js";
|
|
7
7
|
var Fragment = REACT_FRAGMENT_TYPE;
|
|
8
8
|
var RESERVED_PROPS = { key: 1, ref: 1, __self: 1, __source: 1 };
|
|
9
9
|
function createElement(type, config, ...children) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/react/element.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n REACT_ELEMENT_TYPE,\n REACT_LEGACY_ELEMENT_TYPE,\n REACT_FRAGMENT_TYPE,\n type ReactElement,\n type ReactNode,\n} from '../core'\n\nexport const Fragment = REACT_FRAGMENT_TYPE as unknown as (props: {\n children?: ReactNode\n}) => ReactElement\n\nconst RESERVED_PROPS: Record<string, 1> = { key: 1, ref: 1, __self: 1, __source: 1 }\n\nexport function createElement(\n type: any,\n config
|
|
5
|
-
"mappings": ";AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,
|
|
4
|
+
"sourcesContent": ["import {\n REACT_ELEMENT_TYPE,\n REACT_LEGACY_ELEMENT_TYPE,\n REACT_FRAGMENT_TYPE,\n type ReactElement,\n type ReactNode,\n type Ref,\n} from '../core'\nimport type { FragmentInstance } from '../dom/fragment-instance'\n\nexport const Fragment = REACT_FRAGMENT_TYPE as unknown as (props: {\n children?: ReactNode\n key?: string | number\n ref?: Ref<FragmentInstance>\n}) => ReactElement\n\nconst RESERVED_PROPS: Record<string, 1> = { key: 1, ref: 1, __self: 1, __source: 1 }\n\nexport function createElement(\n type: any,\n config?: Record<string, any> | null,\n ...children: ReactNode[]\n): ReactElement {\n let key: string | null = null\n let ref: any = null\n const props: Record<string, any> = {}\n\n if (config != null) {\n if (config.key !== undefined && config.key !== null) key = '' + config.key\n if (config.ref !== undefined) ref = config.ref\n for (const k in config) {\n if (!RESERVED_PROPS[k] && Object.prototype.hasOwnProperty.call(config, k)) {\n props[k] = config[k]\n }\n }\n }\n\n if (children.length === 1) props.children = children[0]\n else if (children.length > 1) props.children = children\n\n if (type && type.defaultProps) {\n const dp = type.defaultProps\n for (const k in dp) {\n if (props[k] === undefined) props[k] = dp[k]\n }\n }\n\n return { $$typeof: REACT_ELEMENT_TYPE, type, key, ref, props }\n}\n\nexport function cloneElement(\n element: ReactElement,\n config?: Record<string, any> | null,\n ...children: ReactNode[]\n): ReactElement {\n let key = element.key\n let ref = element.ref\n const props = { ...element.props }\n\n if (config != null) {\n if (config.ref !== undefined) ref = config.ref\n if (config.key !== undefined) key = '' + config.key\n const defaultProps = element.type?.defaultProps\n for (const k in config) {\n if (RESERVED_PROPS[k] || !Object.prototype.hasOwnProperty.call(config, k)) continue\n props[k] = config[k] === undefined && defaultProps ? defaultProps[k] : config[k]\n }\n }\n\n if (children.length === 1) props.children = children[0]\n else if (children.length > 1) props.children = children\n\n return { $$typeof: REACT_ELEMENT_TYPE, type: element.type, key, ref, props }\n}\n\nexport function isValidElement(obj: any): obj is ReactElement {\n if (typeof obj !== 'object' || obj === null) return false\n const t = obj.$$typeof\n return t === REACT_ELEMENT_TYPE || t === REACT_LEGACY_ELEMENT_TYPE\n}\n\nexport function createRef<T = any>() {\n return { current: null as T | null }\n}\n"],
|
|
5
|
+
"mappings": ";AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAIK;AAGA,IAAM,WAAW;AAMxB,IAAM,iBAAoC,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,EAAE;AAE5E,SAAS,cACd,MACA,WACG,UACW;AACd,MAAI,MAAqB;AACzB,MAAI,MAAW;AACf,QAAM,QAA6B,CAAC;AAEpC,MAAI,UAAU,MAAM;AAClB,QAAI,OAAO,QAAQ,UAAa,OAAO,QAAQ,KAAM,OAAM,KAAK,OAAO;AACvE,QAAI,OAAO,QAAQ,OAAW,OAAM,OAAO;AAC3C,eAAW,KAAK,QAAQ;AACtB,UAAI,CAAC,eAAe,CAAC,KAAK,OAAO,UAAU,eAAe,KAAK,QAAQ,CAAC,GAAG;AACzE,cAAM,CAAC,IAAI,OAAO,CAAC;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AAEA,MAAI,SAAS,WAAW,EAAG,OAAM,WAAW,SAAS,CAAC;AAAA,WAC7C,SAAS,SAAS,EAAG,OAAM,WAAW;AAE/C,MAAI,QAAQ,KAAK,cAAc;AAC7B,UAAM,KAAK,KAAK;AAChB,eAAW,KAAK,IAAI;AAClB,UAAI,MAAM,CAAC,MAAM,OAAW,OAAM,CAAC,IAAI,GAAG,CAAC;AAAA,IAC7C;AAAA,EACF;AAEA,SAAO,EAAE,UAAU,oBAAoB,MAAM,KAAK,KAAK,MAAM;AAC/D;AAEO,SAAS,aACd,SACA,WACG,UACW;AACd,MAAI,MAAM,QAAQ;AAClB,MAAI,MAAM,QAAQ;AAClB,QAAM,QAAQ,EAAE,GAAG,QAAQ,MAAM;AAEjC,MAAI,UAAU,MAAM;AAClB,QAAI,OAAO,QAAQ,OAAW,OAAM,OAAO;AAC3C,QAAI,OAAO,QAAQ,OAAW,OAAM,KAAK,OAAO;AAChD,UAAM,eAAe,QAAQ,MAAM;AACnC,eAAW,KAAK,QAAQ;AACtB,UAAI,eAAe,CAAC,KAAK,CAAC,OAAO,UAAU,eAAe,KAAK,QAAQ,CAAC,EAAG;AAC3E,YAAM,CAAC,IAAI,OAAO,CAAC,MAAM,UAAa,eAAe,aAAa,CAAC,IAAI,OAAO,CAAC;AAAA,IACjF;AAAA,EACF;AAEA,MAAI,SAAS,WAAW,EAAG,OAAM,WAAW,SAAS,CAAC;AAAA,WAC7C,SAAS,SAAS,EAAG,OAAM,WAAW;AAE/C,SAAO,EAAE,UAAU,oBAAoB,MAAM,QAAQ,MAAM,KAAK,KAAK,MAAM;AAC7E;AAEO,SAAS,eAAe,KAA+B;AAC5D,MAAI,OAAO,QAAQ,YAAY,QAAQ,KAAM,QAAO;AACpD,QAAM,IAAI,IAAI;AACd,SAAO,MAAM,sBAAsB,MAAM;AAC3C;AAEO,SAAS,YAAqB;AACnC,SAAO,EAAE,SAAS,KAAiB;AACrC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/react/hooks.d.ts
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
import type { Dispatch, SetStateAction, EffectCallback, DependencyList } from
|
|
2
|
-
import type { Context } from
|
|
3
|
-
|
|
4
|
-
export declare function
|
|
1
|
+
import type { Dispatch, SetStateAction, EffectCallback, DependencyList } from "../core/index.js";
|
|
2
|
+
import type { Context } from "./context.js";
|
|
3
|
+
import type { BrowserToken } from "../core/browser.js";
|
|
4
|
+
export declare function useState<S>(initial: S | (() => S)): [
|
|
5
|
+
S,
|
|
6
|
+
Dispatch<SetStateAction<S>>
|
|
7
|
+
];
|
|
8
|
+
export declare function useReducer<S, A>(reducer: (s: S, a: A) => S, initial: any, init?: (a: any) => S): [
|
|
9
|
+
S,
|
|
10
|
+
Dispatch<A>
|
|
11
|
+
];
|
|
5
12
|
export declare function useEffect(create: EffectCallback, deps?: DependencyList): void;
|
|
6
13
|
export declare function useLayoutEffect(create: EffectCallback, deps?: DependencyList): void;
|
|
7
14
|
export declare function useInsertionEffect(create: EffectCallback, deps?: DependencyList): void;
|
|
@@ -20,23 +27,35 @@ export declare function useContext<T>(ctx: Context<T>): T;
|
|
|
20
27
|
export declare function useImperativeHandle<T>(ref: any, factory: () => T, deps?: DependencyList): void;
|
|
21
28
|
export declare function useDebugValue<T>(value: T, formatter?: (v: T) => any): void;
|
|
22
29
|
export declare function useId(): string;
|
|
23
|
-
export declare function useTransition(): [
|
|
30
|
+
export declare function useTransition(): [
|
|
31
|
+
boolean,
|
|
32
|
+
(fn: () => void) => void
|
|
33
|
+
];
|
|
24
34
|
export declare function useDeferredValue<T>(v: T): T;
|
|
25
35
|
export declare function useSyncExternalStore<T>(subscribe: (cb: () => void) => () => void, getSnapshot: () => T, getServerSnapshot?: () => T): T;
|
|
36
|
+
export declare function use(resource: BrowserToken): undefined;
|
|
26
37
|
export declare function use<T>(resource: PromiseLike<T> | {
|
|
27
38
|
_currentValue: T;
|
|
28
39
|
} | {
|
|
29
40
|
$$typeof: symbol;
|
|
30
41
|
_currentValue: T;
|
|
31
42
|
}): T;
|
|
43
|
+
export declare function unstable_useCacheRefresh(): () => void;
|
|
32
44
|
export declare function startTransition(fn: () => void): void;
|
|
33
|
-
export declare function useActionState<S, P>(_action: (state: Awaited<S>, payload: P) => S | Promise<S>, initial: Awaited<S>): [
|
|
45
|
+
export declare function useActionState<S, P>(_action: (state: Awaited<S>, payload: P) => S | Promise<S>, initial: Awaited<S>): [
|
|
46
|
+
Awaited<S>,
|
|
47
|
+
(payload: P) => void,
|
|
48
|
+
boolean
|
|
49
|
+
];
|
|
34
50
|
export declare function useFormStatus(): {
|
|
35
51
|
pending: boolean;
|
|
36
52
|
data: any;
|
|
37
53
|
method: any;
|
|
38
54
|
action: any;
|
|
39
55
|
};
|
|
40
|
-
export declare function useOptimistic<S, A = S>(state: S, _updateFn?: (s: S, a: A) => S): [
|
|
56
|
+
export declare function useOptimistic<S, A = S>(state: S, _updateFn?: (s: S, a: A) => S): [
|
|
57
|
+
S,
|
|
58
|
+
(action: A) => void
|
|
59
|
+
];
|
|
41
60
|
export declare function useEffectEvent<Args extends unknown[], Return>(fn: (...args: Args) => Return): (...args: Args) => Return;
|
|
42
61
|
export declare function useSyncExternalStoreWithSelector<Snapshot, Selection>(subscribe: (cb: () => void) => () => void, getSnapshot: () => Snapshot, getServerSnapshot: (() => Snapshot) | undefined, selector: (snapshot: Snapshot) => Selection, isEqual?: (a: Selection, b: Selection) => boolean): Selection;
|
package/dist/react/hooks.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
//
|
|
2
|
-
import { getDispatcher } from "./shared-internals";
|
|
1
|
+
// src/react/hooks.ts
|
|
2
|
+
import { getDispatcher, ReactSharedInternals } from "./shared-internals.js";
|
|
3
3
|
function useState(initial) {
|
|
4
4
|
return getDispatcher().useState(initial);
|
|
5
5
|
}
|
|
@@ -48,8 +48,17 @@ function useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {
|
|
|
48
48
|
function use(resource) {
|
|
49
49
|
return getDispatcher().use(resource);
|
|
50
50
|
}
|
|
51
|
+
function unstable_useCacheRefresh() {
|
|
52
|
+
return getDispatcher().useCacheRefresh();
|
|
53
|
+
}
|
|
51
54
|
function startTransition(fn) {
|
|
52
|
-
|
|
55
|
+
const previous = ReactSharedInternals.T;
|
|
56
|
+
ReactSharedInternals.T = previous || /* @__PURE__ */ new Set();
|
|
57
|
+
try {
|
|
58
|
+
fn();
|
|
59
|
+
} finally {
|
|
60
|
+
ReactSharedInternals.T = previous;
|
|
61
|
+
}
|
|
53
62
|
}
|
|
54
63
|
function useActionState(_action, initial) {
|
|
55
64
|
return [initial, () => {
|
|
@@ -121,6 +130,7 @@ function useSyncExternalStoreWithSelector(subscribe, getSnapshot, getServerSnaps
|
|
|
121
130
|
}
|
|
122
131
|
export {
|
|
123
132
|
startTransition,
|
|
133
|
+
unstable_useCacheRefresh,
|
|
124
134
|
use,
|
|
125
135
|
useActionState,
|
|
126
136
|
useCallback,
|