@meonode/ui 1.0.0 → 1.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/CHANGELOG.md +42 -0
- package/README.md +0 -1
- package/dist/cjs/hoc/component.hoc.js +1 -1
- package/dist/cjs/main.js +1 -1
- package/dist/cjs/util/node.util.js +1 -1
- package/dist/cjs/util/theme.util.js +1 -1
- package/dist/esm/components/html.node.d.ts +549 -139
- package/dist/esm/components/html.node.d.ts.map +1 -1
- package/dist/esm/components/react.node.d.ts +3 -3
- package/dist/esm/components/theme-provider.d.ts +1 -1
- package/dist/esm/core.node.d.ts +10 -6
- package/dist/esm/core.node.d.ts.map +1 -1
- package/dist/esm/hoc/component.hoc.d.ts +6 -4
- package/dist/esm/hoc/component.hoc.d.ts.map +1 -1
- package/dist/esm/hoc/component.hoc.js +1 -1
- package/dist/esm/hoc/portal.hoc.d.ts +1 -1
- package/dist/esm/hoc/portal.hoc.d.ts.map +1 -1
- package/dist/esm/main.js +1 -1
- package/dist/esm/nextjs-registry/index.d.ts +1 -1
- package/dist/esm/types/node.type.d.ts +167 -85
- package/dist/esm/types/node.type.d.ts.map +1 -1
- package/dist/esm/util/node.util.d.ts +2 -2
- package/dist/esm/util/node.util.d.ts.map +1 -1
- package/dist/esm/util/node.util.js +1 -1
- package/dist/esm/util/theme.util.d.ts.map +1 -1
- package/dist/esm/util/theme.util.js +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.node.d.ts","sourceRoot":"","sources":["../../../src/components/html.node.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,GAAG;;CAAoB,CAAA;AAEpC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,SAAS;;CAAM,CAAA;AAE5B;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,IAAI;;CAKf,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,MAAM;;CAGjB,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,GAAG;;CAGd,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,IAAI;;CAAyC,CAAA;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,MAAM;;CAKjB,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,KAAK;;CAA2C,CAAA;AAE7D;;;;GAIG;AACH,eAAO,MAAM,QAAQ;;CAA8C,CAAA;AAEnE;;;;GAIG;AACH,eAAO,MAAM,QAAQ;;CAA8C,CAAA;AAEnE;;;;GAIG;AACH,eAAO,MAAM,MAAM;;CAA4C,CAAA;AAE/D;;;;GAIG;AACH,eAAO,MAAM,MAAM;;CAA4C,CAAA;AAI/D;;;;;GAKG;AACH,eAAO,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"html.node.d.ts","sourceRoot":"","sources":["../../../src/components/html.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* })
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
18
|
-
export declare const Fragment: (<AdditionalProps extends
|
|
18
|
+
export declare const Fragment: (<AdditionalProps, ExactProps extends object = object>(props?: import("../main").MergedProps<import("react").ExoticComponent<import("react").FragmentProps>, AdditionalProps, ExactProps> | undefined, deps?: import("../main").DependencyList | undefined) => import("../main").NodeInstance<import("react").ExoticComponent<import("react").FragmentProps>>) & {
|
|
19
19
|
element: import("react").ExoticComponent<import("react").FragmentProps>;
|
|
20
20
|
};
|
|
21
21
|
/**
|
|
@@ -32,7 +32,7 @@ export declare const Fragment: (<AdditionalProps extends Record<string, unknown>
|
|
|
32
32
|
* })
|
|
33
33
|
* ```
|
|
34
34
|
*/
|
|
35
|
-
export declare const Activity: (<AdditionalProps extends
|
|
35
|
+
export declare const Activity: (<AdditionalProps, ExactProps extends object = object>(props: import("../main").MergedProps<import("react").ExoticComponent<import("react").ActivityProps>, AdditionalProps, ExactProps>, deps?: import("../main").DependencyList | undefined) => import("../main").NodeInstance<import("react").ExoticComponent<import("react").ActivityProps>>) & {
|
|
36
36
|
element: import("react").ExoticComponent<import("react").ActivityProps>;
|
|
37
37
|
};
|
|
38
38
|
/**
|
|
@@ -49,7 +49,7 @@ export declare const Activity: (<AdditionalProps extends Record<string, unknown>
|
|
|
49
49
|
* })
|
|
50
50
|
* ```
|
|
51
51
|
*/
|
|
52
|
-
export declare const Suspense: (<AdditionalProps extends
|
|
52
|
+
export declare const Suspense: (<AdditionalProps, ExactProps extends object = object>(props?: import("../main").MergedProps<import("react").ExoticComponent<import("react").SuspenseProps>, AdditionalProps, ExactProps> | undefined, deps?: import("../main").DependencyList | undefined) => import("../main").NodeInstance<import("react").ExoticComponent<import("react").SuspenseProps>>) & {
|
|
53
53
|
element: import("react").ExoticComponent<import("react").SuspenseProps>;
|
|
54
54
|
};
|
|
55
55
|
//# sourceMappingURL=react.node.d.ts.map
|
|
@@ -2,7 +2,7 @@ import _ThemeProvider from '../components/theme-provider.client.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* A component that provides a theme to its children.
|
|
4
4
|
*/
|
|
5
|
-
export declare const ThemeProvider: (<AdditionalProps extends
|
|
5
|
+
export declare const ThemeProvider: (<AdditionalProps, ExactProps extends object = object>(props: import("../main").MergedProps<typeof _ThemeProvider, AdditionalProps, ExactProps>, deps?: import("../main").DependencyList | undefined) => import("../main").NodeInstance<typeof _ThemeProvider>) & {
|
|
6
6
|
element: typeof _ThemeProvider;
|
|
7
7
|
};
|
|
8
8
|
//# sourceMappingURL=theme-provider.d.ts.map
|
package/dist/esm/core.node.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export declare class BaseNode<E extends NodeElementType = NodeElementType> {
|
|
|
17
17
|
stableKey?: string;
|
|
18
18
|
lastPropsObj?: Record<string, unknown>;
|
|
19
19
|
lastSignature?: string;
|
|
20
|
-
static get elementCache(): Map<string, ElementCacheEntry
|
|
20
|
+
static get elementCache(): Map<string, ElementCacheEntry<NodeElementType>>;
|
|
21
21
|
private static get _navigationStarted();
|
|
22
22
|
private static set _navigationStarted(value);
|
|
23
23
|
private static get renderContextPool();
|
|
@@ -123,7 +123,7 @@ export declare class BaseNode<E extends NodeElementType = NodeElementType> {
|
|
|
123
123
|
* It's the simplest way to wrap a component or element.
|
|
124
124
|
* @function Node
|
|
125
125
|
*/
|
|
126
|
-
declare function Node<AdditionalProps extends
|
|
126
|
+
declare function Node<AdditionalProps, E extends NodeElementType, ExactProps extends object = object>(element: E, props?: MergedProps<E, AdditionalProps, ExactProps>, deps?: DependencyList): NodeInstance<E>;
|
|
127
127
|
declare namespace Node {
|
|
128
128
|
var clearCaches: typeof BaseNode.clearCaches;
|
|
129
129
|
}
|
|
@@ -133,9 +133,9 @@ export { Node };
|
|
|
133
133
|
* This is useful for creating reusable, specialized factory functions (e.g., `const Div = createNode('div')`).
|
|
134
134
|
* @function createNode
|
|
135
135
|
*/
|
|
136
|
-
export declare function createNode<AdditionalInitialProps extends
|
|
136
|
+
export declare function createNode<AdditionalInitialProps, E extends NodeElementType, ExactInitialProps extends object = object>(element: E, initialProps?: MergedProps<E, AdditionalInitialProps, ExactInitialProps>): HasRequiredProps<PropsOf<E>> extends true ? (<AdditionalProps, ExactProps extends object = object>(props: MergedProps<E, AdditionalProps, ExactProps>, deps?: DependencyList) => NodeInstance<E>) & {
|
|
137
137
|
element: E;
|
|
138
|
-
} : (<AdditionalProps extends
|
|
138
|
+
} : (<AdditionalProps, ExactProps extends object = object>(props?: MergedProps<E, AdditionalProps, ExactProps>, deps?: DependencyList) => NodeInstance<E>) & {
|
|
139
139
|
element: E;
|
|
140
140
|
};
|
|
141
141
|
/**
|
|
@@ -143,9 +143,13 @@ export declare function createNode<AdditionalInitialProps extends Record<string,
|
|
|
143
143
|
* This provides a more ergonomic API for components that primarily wrap content (e.g., `P('Some text')`).
|
|
144
144
|
* @function createChildrenFirstNode
|
|
145
145
|
*/
|
|
146
|
-
export declare function createChildrenFirstNode<AdditionalInitialProps extends
|
|
146
|
+
export declare function createChildrenFirstNode<AdditionalInitialProps, E extends NodeElementType, ExactInitialProps extends object = object>(element: E, initialProps?: MergedProps<E, AdditionalInitialProps, ExactInitialProps>): HasRequiredProps<PropsOf<E>> extends true ? (<AdditionalProps = undefined, ExactProps extends object = object>(children: Children, props: MergedProps<E, AdditionalProps, ExactProps> & {
|
|
147
|
+
children?: never;
|
|
148
|
+
}, deps?: DependencyList) => NodeInstance<E>) & {
|
|
147
149
|
element: E;
|
|
148
|
-
} : (<AdditionalProps
|
|
150
|
+
} : (<AdditionalProps = undefined, ExactProps extends object = object>(children?: Children, props?: MergedProps<E, AdditionalProps, ExactProps> & {
|
|
151
|
+
children?: never;
|
|
152
|
+
}, deps?: DependencyList) => NodeInstance<E>) & {
|
|
149
153
|
element: E;
|
|
150
154
|
};
|
|
151
155
|
//# sourceMappingURL=core.node.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.node.d.ts","sourceRoot":"","sources":["../../src/core.node.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,YAAY,EAElB,MAAM,OAAO,CAAA;AACd,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,WAAW,EAEX,eAAe,EACf,YAAY,EACZ,UAAU,EACV,SAAS,EACT,OAAO,EAER,MAAM,yBAAyB,CAAA;AAgBhC;;;;;;GAMG;AACH,qBAAa,QAAQ,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe;IACxD,UAAU,EAAE,MAAM,CAAgE;IAElF,OAAO,EAAE,CAAC,CAAA;IACV,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAK;IAC3C,SAAgB,UAAU,UAAO;IAEjC,OAAO,CAAC,MAAM,CAAC,CAAgB;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAgB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAGzB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEtC,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB,WAAkB,YAAY,
|
|
1
|
+
{"version":3,"file":"core.node.d.ts","sourceRoot":"","sources":["../../src/core.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Children, ComponentNode, DependencyList, HasCSSCompatibleStyleProp } from '../types/node.type.js';
|
|
2
|
-
import
|
|
1
|
+
import type { Children, ComponentNode, DependencyList, HasCSSCompatibleStyleProp, ThemedCSSProperties } from '../types/node.type.js';
|
|
2
|
+
import type { ReactElement } from 'react';
|
|
3
3
|
/**
|
|
4
4
|
* Props definition for components wrapped using the `Component` higher-order function.
|
|
5
5
|
*
|
|
@@ -15,8 +15,10 @@ import { type CSSProperties, type ReactElement } from 'react';
|
|
|
15
15
|
*/
|
|
16
16
|
export type ComponentNodeProps<TProps> = TProps extends undefined ? Partial<{
|
|
17
17
|
children: Children;
|
|
18
|
-
}> : TProps & (HasCSSCompatibleStyleProp<TProps> extends true ?
|
|
19
|
-
props: Partial<
|
|
18
|
+
}> : TProps & (HasCSSCompatibleStyleProp<TProps> extends true ? ThemedCSSProperties : object) & Partial<{
|
|
19
|
+
props: Partial<TProps> & {
|
|
20
|
+
children?: never;
|
|
21
|
+
};
|
|
20
22
|
children: Children;
|
|
21
23
|
}>;
|
|
22
24
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.hoc.d.ts","sourceRoot":"","sources":["../../../src/hoc/component.hoc.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"component.hoc.d.ts","sourceRoot":"","sources":["../../../src/hoc/component.hoc.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AACtI,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,OAAO,CAAA;AAIpD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,kBAAkB,CAAC,MAAM,IAAI,MAAM,SAAS,SAAS,GAC7D,OAAO,CAAC;IACN,QAAQ,EAAE,QAAQ,CAAA;CACnB,CAAC,GACF,MAAM,GACJ,CAAC,yBAAyB,CAAC,MAAM,CAAC,SAAS,IAAI,GAAG,mBAAmB,GAAG,MAAM,CAAC,GAC/E,OAAO,CAAC;IACN,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,KAAK,CAAA;KAAE,CAAA;IAC7C,QAAQ,EAAE,QAAQ,CAAA;CACnB,CAAC,CAAA;AAER;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,MAAM,SAAS,SAAS,EAChD,SAAS,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,aAAa,GAC9D,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,KAAK,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;AAE/G;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,SAAS,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1D,SAAS,EAAE,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,aAAa,GAC9D,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,KAAK,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Node as e,BaseNode as r}from"../core.node.js";import
|
|
1
|
+
import{Node as e,BaseNode as r}from"../core.node.js";import{getElementTypeName as n}from"../helper/common.helper.js";import{NodeUtil as o}from"../util/node.util.js";function t(t){const m=n(t),i=n=>{const m=t(n);return m instanceof r||o.isNodeInstance(m)?e(m.element,m.rawProps).render():m};function s(r={},n){return e(i,r,n).render()}return i.displayName=`Renderer(${m})`,s.displayName=`Component(${m})`,s}export{t as Component};
|
|
@@ -47,6 +47,6 @@ import type { BasePortalProps, ComponentNode, NodeInstance, PortalLauncher, Port
|
|
|
47
47
|
* // Launching the portal with a dynamic provider
|
|
48
48
|
* const portalInstance = MyPortal({ provider: AnotherProviderNodeInstance, someProp: 'value' });
|
|
49
49
|
*/
|
|
50
|
-
export declare function Portal<P extends BasePortalProps | Record<string, any> = BasePortalProps>(provider: NodeInstance
|
|
50
|
+
export declare function Portal<P extends BasePortalProps | Record<string, any> = BasePortalProps>(provider: NodeInstance, component: (props: PortalProps<P>) => ComponentNode): PortalLauncher<P>;
|
|
51
51
|
export declare function Portal<P extends BasePortalProps | Record<string, any> = BasePortalProps>(component: (props: PortalProps<P>) => ComponentNode): PortalLauncher<P>;
|
|
52
52
|
//# sourceMappingURL=portal.hoc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portal.hoc.d.ts","sourceRoot":"","sources":["../../../src/hoc/portal.hoc.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAe,YAAY,EAAyB,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAK5J;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,eAAe,EACtF,QAAQ,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"portal.hoc.d.ts","sourceRoot":"","sources":["../../../src/hoc/portal.hoc.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAe,YAAY,EAAyB,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAK5J;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,eAAe,EACtF,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,aAAa,GAClD,cAAc,CAAC,CAAC,CAAC,CAAA;AAEpB,wBAAgB,MAAM,CAAC,CAAC,SAAS,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,eAAe,EACtF,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,aAAa,GAClD,cAAc,CAAC,CAAC,CAAC,CAAA"}
|
package/dist/esm/main.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{setDebugMode}from"./constant/common.const.js";export{Node,createChildrenFirstNode,createNode}from"./core.node.js";export{Portal}from"./hoc/portal.hoc.js";export{Component}from"./hoc/component.hoc.js";import"react";export{Activity,Fragment,Suspense}from"./components/react.node.js";export{A,Abbr,Absolute,Address,Area,Article,Aside,Audio,B,Base,Bdi,Bdo,Blockquote,Body,Br,Button,Canvas,Caption,Center,Cite,Code,Col,Colgroup,Column,Container,Data,Datalist,Dd,Details,Dfn,Dialog,Div,Dl,Dt,Em,Embed,Fieldset,Figcaption,Figure,Fixed,Footer,Form,Grid,H1,H2,H3,H4,H5,H6,Head,Header,Hgroup,Hr,Html,I,Iframe,Img,Input,Kbd,Label,Legend,Li,Link,Main,MapElement,Mark,Menu,Meta,Meter,Nav,Noscript,ObjectElement,Ol,Optgroup,Option,Output,P,Param,Picture,Pre,Progress,Q,Relative,Root,Row,Rp,Rt,Ruby,S,Samp,Script,Search,Section,Select,Small,Source,Span,Static,Sticky,Strong,Style,Sub,Summary,Sup,Svg,SvgCircle,SvgDefs,SvgEllipse,SvgG,SvgLine,SvgLinearGradient,SvgPath,SvgPolygon,SvgPolyline,SvgRadialGradient,SvgRect,SvgStop,SvgSymbol,SvgText,SvgTspan,SvgUse,Table,Tbody,Td,Template,Text,Textarea,Tfoot,Th,Thead,Time,Title,Tr,Track,U,Ul,Var,Video,Wbr}from"./components/html.node.js";export{ThemeProvider}from"./components/theme-provider.js";export{usePortal}from"./hook/usePortal.js";export{useTheme}from"./hook/useTheme.js";
|
|
1
|
+
export{setDebugMode}from"./constant/common.const.js";export{Node,createChildrenFirstNode,createNode}from"./core.node.js";export{Portal}from"./hoc/portal.hoc.js";export{Component}from"./hoc/component.hoc.js";import"react";import"csstype";export{Activity,Fragment,Suspense}from"./components/react.node.js";export{A,Abbr,Absolute,Address,Area,Article,Aside,Audio,B,Base,Bdi,Bdo,Blockquote,Body,Br,Button,Canvas,Caption,Center,Cite,Code,Col,Colgroup,Column,Container,Data,Datalist,Dd,Details,Dfn,Dialog,Div,Dl,Dt,Em,Embed,Fieldset,Figcaption,Figure,Fixed,Footer,Form,Grid,H1,H2,H3,H4,H5,H6,Head,Header,Hgroup,Hr,Html,I,Iframe,Img,Input,Kbd,Label,Legend,Li,Link,Main,MapElement,Mark,Menu,Meta,Meter,Nav,Noscript,ObjectElement,Ol,Optgroup,Option,Output,P,Param,Picture,Pre,Progress,Q,Relative,Root,Row,Rp,Rt,Ruby,S,Samp,Script,Search,Section,Select,Small,Source,Span,Static,Sticky,Strong,Style,Sub,Summary,Sup,Svg,SvgCircle,SvgDefs,SvgEllipse,SvgG,SvgLine,SvgLinearGradient,SvgPath,SvgPolygon,SvgPolyline,SvgRadialGradient,SvgRect,SvgStop,SvgSymbol,SvgText,SvgTspan,SvgUse,Table,Tbody,Td,Template,Text,Textarea,Tfoot,Th,Thead,Time,Title,Tr,Track,U,Ul,Var,Video,Wbr}from"./components/html.node.js";export{ThemeProvider}from"./components/theme-provider.js";export{usePortal}from"./hook/usePortal.js";export{useTheme}from"./hook/useTheme.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _StyleRegistry from '../components/registry.client.js';
|
|
2
|
-
export declare const StyleRegistry: (<AdditionalProps extends
|
|
2
|
+
export declare const StyleRegistry: (<AdditionalProps, ExactProps extends object = object>(props: import("../main").MergedProps<typeof _StyleRegistry, AdditionalProps, ExactProps>, deps?: import("../main").DependencyList | undefined) => import("../main").NodeInstance<typeof _StyleRegistry>) & {
|
|
3
3
|
element: typeof _StyleRegistry;
|
|
4
4
|
};
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,26 +1,20 @@
|
|
|
1
|
-
import React, { type CSSProperties, type ReactNode, type JSX, type ElementType, type ComponentType, type JSXElementConstructor, type Component, type
|
|
1
|
+
import React, { type CSSProperties, type ReactNode, type JSX, type ElementType, type ComponentType, type JSXElementConstructor, type Component, type ComponentProps, type ExoticComponent, type ReactElement } from 'react';
|
|
2
2
|
import type { NO_STYLE_TAGS } from '../constant/common.const.js';
|
|
3
3
|
import type { ComponentNodeProps } from '../hoc/component.hoc.js';
|
|
4
4
|
import type { CSSObject, CSSInterpolation } from '@emotion/serialize';
|
|
5
5
|
import { BaseNode } from '../core.node.js';
|
|
6
|
+
import * as CSS from 'csstype';
|
|
7
|
+
/** Utility to get keys of required properties in a type T */
|
|
6
8
|
type RequiredKeys<T> = {
|
|
7
9
|
[K in keyof T]-?: object extends Pick<T, K> ? never : K;
|
|
8
10
|
}[keyof T];
|
|
11
|
+
/** Utility to check if a type T has any required properties */
|
|
9
12
|
export type HasRequiredProps<T> = RequiredKeys<T> extends never ? false : true;
|
|
10
13
|
/**
|
|
11
14
|
* A list of dependencies for a memoized value.
|
|
12
15
|
* Mimics React's `DependencyList`.
|
|
13
16
|
*/
|
|
14
17
|
export type DependencyList = readonly any[];
|
|
15
|
-
/** Basic React attributes, currently only includes 'key' */
|
|
16
|
-
export interface ReactAttributes {
|
|
17
|
-
key?: string;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Type guard to check if a given element is a built-in React component (Fragment, Suspense, Activity).
|
|
21
|
-
* @template E - The element type to check
|
|
22
|
-
*/
|
|
23
|
-
export type IsReactBuiltInComponent<E> = E extends ExoticComponent<FragmentProps> ? true : E extends ExoticComponent<SuspenseProps> ? true : E extends ExoticComponent<ActivityProps> ? true : false;
|
|
24
18
|
/**
|
|
25
19
|
* Excludes array types from ReactNode, ensuring a single, non-array React element or primitive.
|
|
26
20
|
*/
|
|
@@ -29,41 +23,91 @@ export type NonArrayReactNode = Exclude<ReactNode, ReactNode[]>;
|
|
|
29
23
|
* Defines the various types that can represent a "node" in the Meonode system.
|
|
30
24
|
* This includes React elements, components, promises resolving to React nodes, and NodeInstance objects.
|
|
31
25
|
*/
|
|
32
|
-
export type NodeElement = ExoticComponent<
|
|
26
|
+
export type NodeElement<E extends NodeElementType = NodeElementType, P extends Record<string, unknown> = Record<string, unknown>> = ExoticComponent<P> | NonArrayReactNode | Promise<Awaited<NonArrayReactNode>> | Component<P, any, any> | ComponentType<P> | NodeInstance<E> | NodeFunction<E> | E | ((props?: Record<string, unknown>) => ExoticComponent | NonArrayReactNode | Component | ComponentType | NodeInstance);
|
|
27
|
+
/**
|
|
28
|
+
* Valid element types that can be passed to Node/createNode.
|
|
29
|
+
* More precise type for element type parameters.
|
|
30
|
+
*/
|
|
33
31
|
export type NodeElementType = ElementType | (ExoticComponent & {
|
|
34
32
|
$$typeof?: symbol;
|
|
35
|
-
}) | (<TProps extends Record<string,
|
|
33
|
+
}) | (<TProps extends Record<string, unknown> | undefined>(props: ComponentNodeProps<TProps>) => ComponentNode);
|
|
36
34
|
/** A single NodeElement or an array of NodeElements */
|
|
37
35
|
export type Children = NodeElement | NodeElement[];
|
|
36
|
+
/** List of HTML tags that should not receive style props */
|
|
37
|
+
export type NoStyleTags = (typeof NO_STYLE_TAGS)[number];
|
|
38
|
+
/**
|
|
39
|
+
* Helper type to determine if the element E is a tag that should not receive style props.
|
|
40
|
+
* Uses the NO_STYLE_TAGS constant to check against known tags.
|
|
41
|
+
* @template E - The element type (e.g., 'div', 'span', 'script')
|
|
42
|
+
*/
|
|
43
|
+
export type HasNoStyleProp<E extends NodeElement> = E extends NoStyleTags ? true : false;
|
|
44
|
+
/**
|
|
45
|
+
* Forward declaration of the BaseNode interface to avoid circular dependencies.
|
|
46
|
+
* Defines the core structure and capabilities of a BaseNode instance.
|
|
47
|
+
* @template E - The type of React element/component that this node represents
|
|
48
|
+
*/
|
|
49
|
+
export type NodeInstance<E extends NodeElementType = NodeElementType> = BaseNode<E>;
|
|
38
50
|
/**
|
|
39
51
|
* Represents an entry in the element cache.
|
|
40
52
|
* Stores the rendered React element and its previous dependencies for memoization.
|
|
41
53
|
*/
|
|
42
|
-
export interface ElementCacheEntry {
|
|
54
|
+
export interface ElementCacheEntry<E extends NodeElementType = NodeElementType> {
|
|
55
|
+
/** The fully rendered React element, ready to be returned by the component. */
|
|
43
56
|
renderedElement: ReactElement<FinalNodeProps>;
|
|
57
|
+
/** The list of dependencies from the previous render, used for change detection. */
|
|
44
58
|
prevDeps?: DependencyList;
|
|
45
|
-
|
|
59
|
+
/** A weak reference to the `NodeInstance` that owns this cache entry. */
|
|
60
|
+
nodeRef: WeakRef<NodeInstance<E>>;
|
|
61
|
+
/** Timestamp of when this cache entry was created. */
|
|
46
62
|
createdAt: number;
|
|
63
|
+
/** Number of times this cache entry has been accessed/reused. */
|
|
47
64
|
accessCount: number;
|
|
65
|
+
/** Unique identifier of the node instance, used for validation. */
|
|
48
66
|
instanceId: string;
|
|
49
67
|
}
|
|
50
68
|
/**
|
|
51
|
-
*
|
|
52
|
-
* Defines the core structure and capabilities of a BaseNode instance.
|
|
53
|
-
* @template E - The type of React element/component that this node represents
|
|
69
|
+
* Work item for processing queue.
|
|
54
70
|
*/
|
|
55
|
-
export
|
|
71
|
+
export interface WorkItem {
|
|
72
|
+
/** The node instance being processed. */
|
|
73
|
+
node: NodeInstance;
|
|
74
|
+
/** Flag indicating if the node has been visited (begin phase) or is being completed (end phase). */
|
|
75
|
+
isProcessed: boolean;
|
|
76
|
+
/** Flag indicating if the node's children should be skipped (blocked) due to memoization. */
|
|
77
|
+
blocked: boolean;
|
|
78
|
+
/** The depth of the node in the tree (for debugging/profiling). */
|
|
79
|
+
depth: number;
|
|
80
|
+
/** The index of the child in the parent's children array. */
|
|
81
|
+
childIndex: number;
|
|
82
|
+
}
|
|
56
83
|
/**
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
* -
|
|
60
|
-
* -
|
|
61
|
-
* -
|
|
62
|
-
* @template E - The
|
|
84
|
+
* Extracts props type from a given element type.
|
|
85
|
+
* Uses a hybrid approach for maximum compatibility:
|
|
86
|
+
* - Intrinsic elements (div, span, etc.): JSX.IntrinsicElements
|
|
87
|
+
* - Simple function components: JSXElementConstructor inference (MUST come before ElementType!)
|
|
88
|
+
* - Complex components (MUI, etc.): ComponentProps fallback
|
|
89
|
+
* @template E - The element type to extract props from
|
|
63
90
|
*/
|
|
64
|
-
export type PropsOf<E extends
|
|
91
|
+
export type PropsOf<E extends NodeElementType> = E extends keyof JSX.IntrinsicElements ? JSX.IntrinsicElements[E] : E extends JSXElementConstructor<infer P> ? P : E extends ElementType ? ComponentProps<E> : E extends {
|
|
65
92
|
props: infer Q;
|
|
66
93
|
} ? Q : never;
|
|
94
|
+
/**
|
|
95
|
+
* Helper type to determine if the props P have a 'style' property
|
|
96
|
+
* that is compatible with CSSProperties.
|
|
97
|
+
* @template P - The props object of a component (e.g., PropsOf<E>)
|
|
98
|
+
*/
|
|
99
|
+
export type HasCSSCompatibleStyleProp<P> = P extends {
|
|
100
|
+
style?: infer S;
|
|
101
|
+
} ? S extends CSS.Properties<string | number> | Record<string, unknown> | undefined ? true : false : false;
|
|
102
|
+
/**
|
|
103
|
+
* Helper type to enforce strict prop validation for React components.
|
|
104
|
+
* Uses a mapped type to check each prop against NodeProps.
|
|
105
|
+
* - For HTML elements: allows any props (permissive)
|
|
106
|
+
* - For Components: maps invalid props to `never`, causing a type error on that specific prop
|
|
107
|
+
*/
|
|
108
|
+
export type ValidateComponentProps<E extends NodeElementType, P> = E extends keyof JSX.IntrinsicElements ? P : {
|
|
109
|
+
[K in keyof P]: K extends keyof NodeProps<E> ? P[K] : never;
|
|
110
|
+
};
|
|
67
111
|
/**
|
|
68
112
|
* Theme mode - light or dark theme variant
|
|
69
113
|
*/
|
|
@@ -92,30 +136,14 @@ export type Theme = {
|
|
|
92
136
|
} & Partial<{
|
|
93
137
|
[key: string]: string | number | boolean | null | undefined | any | Theme | Record<string, Theme | string | number | boolean | null | undefined | any>;
|
|
94
138
|
}>;
|
|
95
|
-
/**
|
|
96
|
-
* Internal props type used by BaseNode instances after initial processing.
|
|
97
|
-
* Ensures consistent prop shape throughout the node's lifecycle:
|
|
98
|
-
* - Normalizes style properties into a CSSProperties object
|
|
99
|
-
* - Processes children into known concrete types
|
|
100
|
-
* @template E - The element type these props apply to
|
|
101
|
-
*/
|
|
102
|
-
export type FinalNodeProps = ReactAttributes & Partial<{
|
|
103
|
-
nativeProps: Omit<Omit<PropsOf<NodeElement>, 'children'>, 'style'>;
|
|
104
|
-
ref: any | React.Ref<unknown> | undefined;
|
|
105
|
-
style: any;
|
|
106
|
-
css: CssProp;
|
|
107
|
-
disableEmotion: boolean;
|
|
108
|
-
children: Children;
|
|
109
|
-
[key: string]: any;
|
|
110
|
-
}>;
|
|
111
139
|
/**
|
|
112
140
|
* A value that can be a direct value or a function of the theme.
|
|
113
141
|
*/
|
|
114
|
-
type ThemedValue<T> = T | ((theme: Theme) => T);
|
|
142
|
+
export type ThemedValue<T> = T | ((theme: Theme) => T);
|
|
115
143
|
/**
|
|
116
144
|
* A themed version of CSSProperties where each property can be a theme-dependent function.
|
|
117
145
|
*/
|
|
118
|
-
type ThemedCSSProperties = {
|
|
146
|
+
export type ThemedCSSProperties = {
|
|
119
147
|
[P in keyof CSSProperties]: ThemedValue<CSSProperties[P]>;
|
|
120
148
|
};
|
|
121
149
|
/**
|
|
@@ -123,7 +151,7 @@ type ThemedCSSProperties = {
|
|
|
123
151
|
* functions that receive the theme. This is applied recursively to handle
|
|
124
152
|
* nested objects like pseudo-selectors and media queries.
|
|
125
153
|
*/
|
|
126
|
-
type ThemedCSSObject = {
|
|
154
|
+
export type ThemedCSSObject = {
|
|
127
155
|
[P in keyof CSSObject]: ThemedValue<CSSObject[P] extends object ? ThemedCSSObject : CSSObject[P]>;
|
|
128
156
|
};
|
|
129
157
|
/**
|
|
@@ -132,21 +160,72 @@ type ThemedCSSObject = {
|
|
|
132
160
|
*/
|
|
133
161
|
export type CssProp = ThemedCSSObject | CSSInterpolation;
|
|
134
162
|
/**
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
style?: infer S;
|
|
141
|
-
} ? S extends CSSProperties | undefined ? true : false : false;
|
|
142
|
-
/** List of HTML tags that should not receive style props */
|
|
143
|
-
export type NoStyleTags = (typeof NO_STYLE_TAGS)[number];
|
|
144
|
-
/**
|
|
145
|
-
* Helper type to determine if the element E is a tag that should not receive style props.
|
|
146
|
-
* Uses the NO_STYLE_TAGS constant to check against known tags.
|
|
147
|
-
* @template E - The element type (e.g., 'div', 'span', 'script')
|
|
163
|
+
* Internal props type used by BaseNode instances after initial processing.
|
|
164
|
+
* Ensures consistent prop shape throughout the node's lifecycle:
|
|
165
|
+
* - Normalizes style properties into a CSSProperties object
|
|
166
|
+
* - Processes children into known concrete types
|
|
167
|
+
* @template E - The element type these props apply to
|
|
148
168
|
*/
|
|
149
|
-
export type
|
|
169
|
+
export type FinalNodeProps = React.Attributes & Partial<{
|
|
170
|
+
/**
|
|
171
|
+
* Props native to the element (e.g., HTML attributes like `id`, `className`, `src`),
|
|
172
|
+
* excluding `children` and `style` which are handled separately.
|
|
173
|
+
*/
|
|
174
|
+
nativeProps: PropsOf<NodeElementType> & {
|
|
175
|
+
children?: never;
|
|
176
|
+
style?: never;
|
|
177
|
+
};
|
|
178
|
+
/**
|
|
179
|
+
* React ref to access the underlying DOM element or component instance.
|
|
180
|
+
*/
|
|
181
|
+
ref: any | React.Ref<unknown> | undefined;
|
|
182
|
+
/**
|
|
183
|
+
* Inline styles for the element.
|
|
184
|
+
* Can be a standard `CSSProperties` object or a themed style function.
|
|
185
|
+
*/
|
|
186
|
+
style: any;
|
|
187
|
+
/**
|
|
188
|
+
* Emotion CSS prop for styling.
|
|
189
|
+
* Accepts a CSS object, a template literal, or a themed style function that receives the theme.
|
|
190
|
+
*/
|
|
191
|
+
css: CssProp;
|
|
192
|
+
/**
|
|
193
|
+
* If true, disables the Emotion-based `StyledRenderer` for this node.
|
|
194
|
+
*/
|
|
195
|
+
disableEmotion: boolean;
|
|
196
|
+
/**
|
|
197
|
+
* The content of the node.
|
|
198
|
+
*/
|
|
199
|
+
children: Children;
|
|
200
|
+
/**
|
|
201
|
+
* Index signature to allow for any other properties that might be passed
|
|
202
|
+
* (though strict typing usually catches these at the creation site).
|
|
203
|
+
*/
|
|
204
|
+
[key: string]: any;
|
|
205
|
+
}>;
|
|
206
|
+
export type BaseNodeProps<E extends NodeElementType> = Partial<{
|
|
207
|
+
/**
|
|
208
|
+
* If true, disables the Emotion-based `StyledRenderer` for this node.
|
|
209
|
+
* This prevents the creation of a styled component wrapper, which can improve performance
|
|
210
|
+
* for nodes that do not require dynamic styling or theme access.
|
|
211
|
+
* When disabled, the `css` prop will be ignored.
|
|
212
|
+
*/
|
|
213
|
+
disableEmotion: boolean;
|
|
214
|
+
/**
|
|
215
|
+
* The properties of the node, excluding children.
|
|
216
|
+
* We use Omit to safely exclude children even if the component's props type has children as a required property.
|
|
217
|
+
* This allows for cleaner prop spreading and manipulation within the node logic.
|
|
218
|
+
*/
|
|
219
|
+
props: Partial<Omit<PropsOf<E>, 'children'> & {
|
|
220
|
+
children?: never;
|
|
221
|
+
}>;
|
|
222
|
+
/**
|
|
223
|
+
* The children of the node.
|
|
224
|
+
* Can be a single `NodeElement` (e.g., a string, a React element, another `NodeInstance`)
|
|
225
|
+
* or an array of `NodeElement`s.
|
|
226
|
+
*/
|
|
227
|
+
children: Children;
|
|
228
|
+
}>;
|
|
150
229
|
/**
|
|
151
230
|
* Public API for node creation props, providing a flexible and type-safe interface:
|
|
152
231
|
* - Preserves original component props while allowing direct style properties (conditionally)
|
|
@@ -154,23 +233,23 @@ export type HasNoStyleProp<E extends NodeElement> = E extends NoStyleTags ? true
|
|
|
154
233
|
* - Maintains React's key prop for reconciliation
|
|
155
234
|
* @template E - The element type these props apply to
|
|
156
235
|
*/
|
|
157
|
-
export type NodeProps<E extends
|
|
236
|
+
export type NodeProps<E extends NodeElementType = NodeElementType> = Omit<PropsOf<E>, keyof CSSProperties | 'children' | 'props' | 'key'> & React.Attributes & React.RefAttributes<unknown> & (HasCSSCompatibleStyleProp<PropsOf<E>> extends true ? ThemedCSSProperties : object) & (HasNoStyleProp<E> extends false ? Partial<{
|
|
158
237
|
css: CssProp;
|
|
159
|
-
}> : object) &
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
238
|
+
}> : object) & BaseNodeProps<E>;
|
|
239
|
+
/**
|
|
240
|
+
* Merges `NodeProps<E>` with additional custom props, giving precedence to `AdditionalProps`.
|
|
241
|
+
* Useful for extending node props with extra properties, while overriding any overlapping keys.
|
|
242
|
+
* @template E - The node element type
|
|
243
|
+
* @template AdditionalProps - The additional props to merge in
|
|
244
|
+
*/
|
|
245
|
+
export type MergedProps<E extends NodeElementType, AdditionalProps, ExactProps> = NodeProps<E> & ValidateComponentProps<E, ExactProps> & (AdditionalProps extends undefined ? ValidateComponentProps<E, ExactProps> : AdditionalProps);
|
|
167
246
|
/**
|
|
168
247
|
* Function type for dynamic node content generation.
|
|
169
248
|
* Accepts optional NodeProps and returns a ReactNode or NodeInstance.
|
|
170
249
|
* Enables advanced patterns like render props and dynamic theming.
|
|
171
250
|
* @template E - The element type these props apply to
|
|
172
251
|
*/
|
|
173
|
-
export type NodeFunction<E extends
|
|
252
|
+
export type NodeFunction<E extends NodeElementType = NodeElementType> = (props?: NodeProps<E>) => ReactNode | NodeInstance | React.Component;
|
|
174
253
|
/**
|
|
175
254
|
* Props interface for the internal FunctionRenderer component.
|
|
176
255
|
* Handles dynamic function children within React's component lifecycle:
|
|
@@ -178,12 +257,21 @@ export type NodeFunction<E extends ReactNode | NodeInstance = ReactNode | NodeIn
|
|
|
178
257
|
* - Maintains theme context for rendered content
|
|
179
258
|
* - Enables hook usage in function children
|
|
180
259
|
*/
|
|
181
|
-
export interface FunctionRendererProps<E extends
|
|
260
|
+
export interface FunctionRendererProps<E extends NodeElementType> {
|
|
182
261
|
/** Function that returns the child content to render */
|
|
183
262
|
render: NodeFunction<E>;
|
|
263
|
+
/**
|
|
264
|
+
* If true, disables the Emotion-based `StyledRenderer` for this node.
|
|
265
|
+
*/
|
|
184
266
|
disableEmotion?: boolean;
|
|
185
267
|
}
|
|
186
|
-
|
|
268
|
+
/**
|
|
269
|
+
* Represents a component node which can be:
|
|
270
|
+
* - A `NodeInstance` (created via `Node()` or `createNode()`)
|
|
271
|
+
* - A standard `ReactNode`
|
|
272
|
+
* - A function returning either of the above (for lazy evaluation)
|
|
273
|
+
*/
|
|
274
|
+
export type ComponentNode = (NodeInstance | ReactNode) | (() => NodeInstance | ReactNode);
|
|
187
275
|
/**
|
|
188
276
|
* Base props interface for components rendered inside a portal.
|
|
189
277
|
* @property children - The content to render within the portal. Accepts a single NodeElement or an array of NodeElements.
|
|
@@ -210,7 +298,15 @@ export type PortalProps<T extends BasePortalProps | Record<string, any> = Record
|
|
|
210
298
|
* Provides methods to unmount the portal and update its content dynamically.
|
|
211
299
|
*/
|
|
212
300
|
export interface NodePortal {
|
|
301
|
+
/**
|
|
302
|
+
* Unmounts the portal and cleans up the DOM element.
|
|
303
|
+
* This removes the portal container from the document body.
|
|
304
|
+
*/
|
|
213
305
|
unmount: () => void;
|
|
306
|
+
/**
|
|
307
|
+
* Updates the content of the portal with a new node.
|
|
308
|
+
* @param node The new `NodeElement` to render inside the portal.
|
|
309
|
+
*/
|
|
214
310
|
update: (node: NodeElement) => void;
|
|
215
311
|
}
|
|
216
312
|
/**
|
|
@@ -219,21 +315,7 @@ export interface NodePortal {
|
|
|
219
315
|
* @template P The portal content component's prop types
|
|
220
316
|
*/
|
|
221
317
|
export type PortalLauncher<P extends BasePortalProps | Record<string, any>> = (props?: (P & {
|
|
222
|
-
provider?: NodeInstance
|
|
318
|
+
provider?: NodeInstance;
|
|
223
319
|
}) & Omit<PortalProps<P>, 'portal'>) => NodePortal;
|
|
224
|
-
/**
|
|
225
|
-
* Merges `NodeProps<E>` with additional custom props, giving precedence to `AdditionalProps`.
|
|
226
|
-
* Useful for extending node props with extra properties, while overriding any overlapping keys.
|
|
227
|
-
* @template E - The node element type
|
|
228
|
-
* @template AdditionalProps - The additional props to merge in
|
|
229
|
-
*/
|
|
230
|
-
export type MergedProps<E extends NodeElement, AdditionalProps extends Record<string, any>> = Omit<NodeProps<E> & AdditionalProps, keyof AdditionalProps> & AdditionalProps;
|
|
231
|
-
export interface WorkItem {
|
|
232
|
-
node: NodeInstance;
|
|
233
|
-
isProcessed: boolean;
|
|
234
|
-
blocked: boolean;
|
|
235
|
-
depth: number;
|
|
236
|
-
childIndex: number;
|
|
237
|
-
}
|
|
238
320
|
export {};
|
|
239
321
|
//# sourceMappingURL=node.type.d.ts.map
|