@meonode/ui 0.1.85 → 0.1.87
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/node.type.d.ts +31 -2
- package/dist/node.type.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/node.type.d.ts
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
import type { Attributes as ReactAttributes, ComponentProps, CSSProperties, ReactNode, JSX, ElementType, ComponentType, JSXElementConstructor, Component, Ref } from 'react';
|
|
2
2
|
import type { Root as ReactDOMRoot } from 'react-dom/client';
|
|
3
|
+
/**
|
|
4
|
+
* Extracts the props type from an OverridableComponent.
|
|
5
|
+
* Handles both dual-call signatures (common in MUI) and single-call signatures.
|
|
6
|
+
* @template T - The OverridableComponent type to extract props from.
|
|
7
|
+
* @example
|
|
8
|
+
* type Props = PropsFromOverridableComponent<MyOverridableComponent>
|
|
9
|
+
*/
|
|
10
|
+
type PropsFromOverridableComponent<T> = T extends {
|
|
11
|
+
(props: infer P1): any;
|
|
12
|
+
(props: infer P2): any;
|
|
13
|
+
} ? P1 | P2 : T extends {
|
|
14
|
+
(props: infer P): any;
|
|
15
|
+
} ? P : never;
|
|
16
|
+
/**
|
|
17
|
+
* Signature interface for OverridableComponent types (e.g., MUI components).
|
|
18
|
+
* Supports both generic and non-generic call signatures for flexible component typing.
|
|
19
|
+
* @example
|
|
20
|
+
* const MyComponent: OverridableComponentSignature = (props) => { ... }
|
|
21
|
+
*/
|
|
22
|
+
interface OverridableComponentSignature {
|
|
23
|
+
<RootComponent extends ElementType>(props: {
|
|
24
|
+
component?: RootComponent;
|
|
25
|
+
} & Record<string, any>): JSX.Element | null;
|
|
26
|
+
(props: Record<string, any>): JSX.Element | null;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Union type representing any valid node element in the system.
|
|
30
|
+
* Includes React nodes, component types, node instances, and function-based nodes.
|
|
31
|
+
*/
|
|
3
32
|
export type NodeElement = ReactNode | Component<any, any, any> | ElementType | ComponentType<any> | NodeInstance<any> | ((props?: any) => ReactNode | Promise<ReactNode> | Component<any, any, any> | NodeInstance<any> | ComponentNode);
|
|
4
33
|
/**
|
|
5
34
|
* Defines valid child types that can be passed to a node:
|
|
@@ -27,10 +56,10 @@ export interface NodeInstance<T extends NodeElement = NodeElement> {
|
|
|
27
56
|
}
|
|
28
57
|
/**
|
|
29
58
|
* Extracts the props type from a given element type, handling both intrinsic (HTML) elements
|
|
30
|
-
* and custom React components.
|
|
59
|
+
* and custom React components, including MUI's OverridableComponent.
|
|
31
60
|
* @template E - The element type to extract props from
|
|
32
61
|
*/
|
|
33
|
-
export type PropsOf<E extends NodeElement> = E extends keyof JSX.IntrinsicElements ? JSX.IntrinsicElements[E] : E extends JSXElementConstructor<any> ? ComponentProps<E> : NodeInstance<E>;
|
|
62
|
+
export type PropsOf<E extends NodeElement> = E extends keyof JSX.IntrinsicElements ? JSX.IntrinsicElements[E] : E extends OverridableComponentSignature ? PropsFromOverridableComponent<E> : E extends JSXElementConstructor<any> ? ComponentProps<E> : NodeInstance<E>;
|
|
34
63
|
/**
|
|
35
64
|
* Theme configuration object that can be passed through the node tree.
|
|
36
65
|
* Supports nested theme properties for complex styling systems:
|
package/dist/node.type.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.type.d.ts","sourceRoot":"","sources":["../src/node.type.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,IAAI,eAAe,EAC7B,cAAc,EACd,aAAa,EACb,SAAS,EACT,GAAG,EACH,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,SAAS,EACT,GAAG,EACJ,MAAM,OAAO,CAAA;AACd,OAAO,KAAK,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE5D,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GACxB,WAAW,GACX,aAAa,CAAC,GAAG,CAAC,GAClB,YAAY,CAAC,GAAG,CAAC,GACjB,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,CAAA;AAEpH;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,aAAa,CAAA;AAEnG;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW;IAC/D,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IAEnB,uFAAuF;IACvF,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;IAElC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAA;IAEzB,uEAAuE;IACvE,MAAM,IAAI,SAAS,CAAA;IAEnB,qFAAqF;IACrF,QAAQ,IAAI,YAAY,GAAG,IAAI,CAAA;CAChC;AAED;;;;GAIG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,WAAW,IAAI,CAAC,SAAS,MAAM,GAAG,CAAC,iBAAiB,GAC9E,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,GACxB,CAAC,SAAS,qBAAqB,CAAC,GAAG,CAAC,GAClC,cAAc,CAAC,CAAC,CAAC,GACjB,YAAY,CAAC,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"node.type.d.ts","sourceRoot":"","sources":["../src/node.type.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meonode/ui",
|
|
3
|
-
"description": "A structured approach to component composition
|
|
4
|
-
"version": "0.1.
|
|
3
|
+
"description": "A structured approach to component composition, direct CSS-first prop styling, built-in theming, smart prop handling (including raw property pass-through), and dynamic children.",
|
|
4
|
+
"version": "0.1.87",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/main.js",
|
|
7
7
|
"types": "./dist/main.d.ts",
|