@semcore/core 16.6.0-prerelease.1 → 16.6.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/lib/core-types/Component.d.ts +33 -79
- package/lib/core-types/Component.js +14 -46
- package/lib/core-types/Component.js.map +1 -1
- package/lib/core-types/Component.mjs +11 -7
- package/lib/core-types/Component.mjs.map +1 -1
- package/lib/core-types/symbols.mjs +9 -9
- package/lib/coreFactory.d.ts +6 -23
- package/lib/coreFactory.js +53 -22
- package/lib/coreFactory.js.map +1 -1
- package/lib/coreFactory.mjs +54 -35
- package/lib/coreFactory.mjs.map +1 -1
- package/lib/decorators/propsObserver.d.ts +11 -0
- package/lib/decorators/propsObserver.js +77 -0
- package/lib/decorators/propsObserver.js.map +1 -0
- package/lib/decorators/propsObserver.mjs +70 -0
- package/lib/decorators/propsObserver.mjs.map +1 -0
- package/lib/decorators/reactive.d.ts +11 -0
- package/lib/decorators/reactive.js +51 -0
- package/lib/decorators/reactive.js.map +1 -0
- package/lib/decorators/reactive.mjs +45 -0
- package/lib/decorators/reactive.mjs.map +1 -0
- package/lib/enhancement/Children.mjs +1 -1
- package/lib/enhancement/staticChildren.mjs +3 -3
- package/lib/enhancement/style.mjs +2 -2
- package/lib/enhancement/uncontrolledProps.js +2 -1
- package/lib/enhancement/uncontrolledProps.js.map +1 -1
- package/lib/enhancement/uncontrolledProps.mjs +2 -1
- package/lib/enhancement/uncontrolledProps.mjs.map +1 -1
- package/lib/esm/core-types/Component.mjs +11 -7
- package/lib/esm/core-types/symbols.mjs +9 -9
- package/lib/esm/coreFactory.mjs +54 -35
- package/lib/esm/enhancement/Children.mjs +1 -1
- package/lib/esm/enhancement/staticChildren.mjs +3 -3
- package/lib/esm/enhancement/style.mjs +2 -2
- package/lib/esm/enhancement/uncontrolledProps.mjs +2 -1
- package/lib/esm/styled/sstyled.mjs +1 -1
- package/lib/esm/utils/enhances/WithI18n.mjs +1 -46
- package/lib/esm/utils/ref.mjs +0 -14
- package/lib/index.d.ts +3 -3
- package/lib/index.js.map +1 -1
- package/lib/index.mjs.map +1 -1
- package/lib/styled/index.d.ts +1 -5
- package/lib/styled/index.js.map +1 -1
- package/lib/styled/index.mjs.map +1 -1
- package/lib/styled/sstyled.mjs +1 -1
- package/lib/utils/enhances/WithCSS.d.ts +2 -30
- package/lib/utils/enhances/WithCSS.js +4 -57
- package/lib/utils/enhances/WithCSS.js.map +1 -1
- package/lib/utils/enhances/WithCSS.mjs +2 -53
- package/lib/utils/enhances/WithCSS.mjs.map +1 -1
- package/lib/utils/enhances/WithI18n.d.ts +1 -30
- package/lib/utils/enhances/WithI18n.js +1 -57
- package/lib/utils/enhances/WithI18n.js.map +1 -1
- package/lib/utils/enhances/WithI18n.mjs +1 -46
- package/lib/utils/enhances/WithI18n.mjs.map +1 -1
- package/lib/utils/enhances/animatedSizeEnhance.d.ts +0 -4
- package/lib/utils/enhances/animatedSizeEnhance.js +0 -2
- package/lib/utils/enhances/animatedSizeEnhance.js.map +1 -1
- package/lib/utils/enhances/animatedSizeEnhance.mjs +0 -3
- package/lib/utils/enhances/animatedSizeEnhance.mjs.map +1 -1
- package/lib/utils/enhances/i18nEnhance.d.ts +0 -4
- package/lib/utils/enhances/i18nEnhance.js +0 -2
- package/lib/utils/enhances/i18nEnhance.js.map +1 -1
- package/lib/utils/enhances/i18nEnhance.mjs.map +1 -1
- package/lib/utils/eventEmitter.d.ts +10 -6
- package/lib/utils/eventEmitter.js +55 -27
- package/lib/utils/eventEmitter.js.map +1 -1
- package/lib/utils/eventEmitter.mjs +55 -27
- package/lib/utils/eventEmitter.mjs.map +1 -1
- package/lib/utils/getDisplayName.mjs +3 -5
- package/lib/utils/indentStyles.d.ts +3 -0
- package/lib/utils/indentStyles.js +45 -0
- package/lib/utils/indentStyles.js.map +1 -0
- package/lib/utils/indentStyles.mjs +36 -0
- package/lib/utils/indentStyles.mjs.map +1 -0
- package/lib/utils/injectStyle.js +1 -1
- package/lib/utils/injectStyle.js.map +1 -1
- package/lib/utils/injectStyle.mjs +1 -1
- package/lib/utils/injectStyle.mjs.map +1 -1
- package/lib/utils/ref.d.ts +1 -3
- package/lib/utils/ref.js +0 -14
- package/lib/utils/ref.js.map +1 -1
- package/lib/utils/ref.mjs +0 -14
- package/lib/utils/ref.mjs.map +1 -1
- package/lib/utils/uniqueID.d.ts +0 -4
- package/lib/utils/uniqueID.js +1 -3
- package/lib/utils/uniqueID.js.map +1 -1
- package/lib/utils/uniqueID.mjs +1 -4
- package/lib/utils/uniqueID.mjs.map +1 -1
- package/lib/utils/use/useColorResolver.js +1 -1
- package/lib/utils/use/useColorResolver.js.map +1 -1
- package/lib/utils/use/useColorResolver.mjs +1 -1
- package/lib/utils/use/useColorResolver.mjs.map +1 -1
- package/lib/utils/use/useEnhancedEffect.d.ts +1 -1
- package/lib/utils/zIndexStacking.d.ts +3 -1
- package/lib/utils/zIndexStacking.js.map +1 -1
- package/lib/utils/zIndexStacking.mjs.map +1 -1
- package/package.json +2 -2
- package/lib/enhancement/bindHandler.d.ts +0 -5
- package/lib/enhancement/bindHandler.js +0 -53
- package/lib/enhancement/bindHandler.js.map +0 -1
- package/lib/enhancement/bindHandler.mjs +0 -48
- package/lib/enhancement/bindHandler.mjs.map +0 -1
- package/lib/enhancement/hoistProps.d.ts +0 -10
- package/lib/enhancement/hoistProps.js +0 -95
- package/lib/enhancement/hoistProps.js.map +0 -1
- package/lib/enhancement/hoistProps.mjs +0 -78
- package/lib/enhancement/hoistProps.mjs.map +0 -1
- package/lib/esm/enhancement/bindHandler.mjs +0 -48
- package/lib/esm/enhancement/hoistProps.mjs +0 -78
- package/lib/esm/utils/createHoc.mjs +0 -42
- package/lib/esm/utils/getDisplayName.mjs +0 -6
- package/lib/utils/ScreenReaderOnly.d.ts +0 -8
- package/lib/utils/ScreenReaderOnly.js +0 -30
- package/lib/utils/ScreenReaderOnly.js.map +0 -1
- package/lib/utils/ScreenReaderOnly.mjs +0 -24
- package/lib/utils/ScreenReaderOnly.mjs.map +0 -1
- package/lib/utils/createHoc.d.ts +0 -3
- package/lib/utils/createHoc.js +0 -52
- package/lib/utils/createHoc.js.map +0 -1
- package/lib/utils/createHoc.mjs +0 -42
- package/lib/utils/createHoc.mjs.map +0 -1
- package/lib/utils/enhances/WithAutoFocus.d.ts +0 -14
- package/lib/utils/enhances/WithAutoFocus.js +0 -72
- package/lib/utils/enhances/WithAutoFocus.js.map +0 -1
- package/lib/utils/enhances/WithAutoFocus.mjs +0 -66
- package/lib/utils/enhances/WithAutoFocus.mjs.map +0 -1
- package/lib/utils/enhances/WithKeyboardFocus.d.ts +0 -46
- package/lib/utils/enhances/WithKeyboardFocus.js +0 -94
- package/lib/utils/enhances/WithKeyboardFocus.js.map +0 -1
- package/lib/utils/enhances/WithKeyboardFocus.mjs +0 -88
- package/lib/utils/enhances/WithKeyboardFocus.mjs.map +0 -1
- package/lib/utils/enhances/WithRef.d.ts +0 -3
- package/lib/utils/enhances/WithRef.js +0 -25
- package/lib/utils/enhances/WithRef.js.map +0 -1
- package/lib/utils/enhances/WithRef.mjs +0 -18
- package/lib/utils/enhances/WithRef.mjs.map +0 -1
- package/lib/utils/enhances/autoFocusEnhance.d.ts +0 -10
- package/lib/utils/enhances/autoFocusEnhance.js +0 -45
- package/lib/utils/enhances/autoFocusEnhance.js.map +0 -1
- package/lib/utils/enhances/autoFocusEnhance.mjs +0 -38
- package/lib/utils/enhances/autoFocusEnhance.mjs.map +0 -1
- package/lib/utils/enhances/keyboardFocusEnhance.d.ts +0 -27
- package/lib/utils/enhances/keyboardFocusEnhance.js +0 -63
- package/lib/utils/enhances/keyboardFocusEnhance.js.map +0 -1
- package/lib/utils/enhances/keyboardFocusEnhance.mjs +0 -57
- package/lib/utils/enhances/keyboardFocusEnhance.mjs.map +0 -1
- package/lib/utils/if.d.ts +0 -11
- package/lib/utils/if.js +0 -15
- package/lib/utils/if.js.map +0 -1
- package/lib/utils/if.mjs +0 -9
- package/lib/utils/if.mjs.map +0 -1
- package/lib/utils/use/useCss.d.ts +0 -4
- package/lib/utils/use/useCss.js +0 -19
- package/lib/utils/use/useCss.js.map +0 -1
- package/lib/utils/use/useCss.mjs +0 -12
- package/lib/utils/use/useCss.mjs.map +0 -1
|
@@ -1,96 +1,51 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import { type AllHTMLAttributes, type ForwardRefExoticComponent, PureComponent, type ReactNode, type
|
|
3
|
-
import type { CORE_COMPONENT
|
|
2
|
+
import { type AllHTMLAttributes, type ForwardRefExoticComponent, PureComponent, type ReactNode, type RefObject } from 'react';
|
|
3
|
+
import type { CORE_COMPONENT } from './symbols';
|
|
4
4
|
import type { IStyledProps } from '../styled/index';
|
|
5
|
-
|
|
6
|
-
type KnownKeys<T> = {
|
|
7
|
-
[K in keyof T]: string extends K ? never : number extends K ? never : K;
|
|
8
|
-
} extends {
|
|
9
|
-
[_ in keyof T]: infer U;
|
|
10
|
-
} ? U : never;
|
|
11
|
-
/** @deprecated */
|
|
12
|
-
export type HandlersType<UCProps> = {
|
|
5
|
+
type HandlersType<UCProps> = {
|
|
13
6
|
[K in keyof UCProps]?: <T = unknown>(arg: T) => void;
|
|
14
7
|
};
|
|
15
|
-
|
|
16
|
-
export type ChildrenType<Props = {}, Ctx = {}, UCProps = {}> = ((props: Props & Ctx, handlers: HandlersType<UCProps>) => ReactNode) | ReactNode;
|
|
17
|
-
/** @deprecated */
|
|
18
|
-
export type RootComponentHandler = (...args: any[]) => void | false;
|
|
19
|
-
/** @deprecated */
|
|
20
|
-
export interface IRootComponentHandlers {
|
|
21
|
-
[key: string]: RootComponentHandler;
|
|
22
|
-
}
|
|
23
|
-
/** @deprecated */
|
|
24
|
-
export interface IRootComponentProps<Props = {}, Ctx = {}> {
|
|
8
|
+
export interface IRootComponentProps<Props = {}, Ctx = {}, H = {}> {
|
|
25
9
|
'forwardRef'?: RefObject<any>;
|
|
26
10
|
'Children'?: any;
|
|
27
|
-
'children'?:
|
|
11
|
+
'children'?: ReactNode | ((props: Props & Ctx, handlers: HandlersType<H>) => ReactNode);
|
|
28
12
|
'styles'?: IStyledProps['styles'];
|
|
29
13
|
'data-ui-name'?: string;
|
|
30
14
|
}
|
|
31
|
-
/** @deprecated */
|
|
32
|
-
export type IComponentProps<Props = {}, Ctx = {}> = Props & IRootComponentProps<Props, Ctx>;
|
|
33
|
-
/** @deprecated */
|
|
34
|
-
export type IFunctionProps<Props = {}, Ctx = {}> = IComponentProps<Props, Ctx> & Omit<AllHTMLAttributes<any>, keyof IComponentProps<Props, Ctx>> & {
|
|
35
|
-
Root?: Root;
|
|
36
|
-
};
|
|
37
|
-
/** @deprecated */
|
|
38
|
-
export type PropsWithRenderFnChildren<Props = {}, Ctx = {}, UCProps = {}> = Omit<Pick<Props, KnownKeys<Props>>, 'children'> & {
|
|
39
|
-
children?: ChildrenType<Props, Ctx, UCProps>;
|
|
40
|
-
[key: string]: unknown;
|
|
41
|
-
};
|
|
42
|
-
/** @deprecated */
|
|
43
|
-
export type CProps<Props, Ctx = {}, UCProps = {}> = Props & {
|
|
44
|
-
children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;
|
|
45
|
-
};
|
|
46
|
-
/** @deprecated */
|
|
47
|
-
export type ReturnEl = React.ReactElement | null;
|
|
48
15
|
export interface IRootNodeProps {
|
|
49
16
|
render: React.ElementType | string;
|
|
50
17
|
tag?: React.ElementType | string;
|
|
51
18
|
[key: string]: any;
|
|
52
19
|
}
|
|
53
20
|
type Root = ForwardRefExoticComponent<IRootNodeProps>;
|
|
54
|
-
/**
|
|
55
|
-
* @deprecated since version ^1.8.0
|
|
56
|
-
*/
|
|
57
|
-
export type PropGetter<T extends (...args: any) => any> = <P>(props?: P) => ReturnType<T> & P;
|
|
58
|
-
/**
|
|
59
|
-
* @deprecated since version ^1.8.0
|
|
60
|
-
*/
|
|
61
|
-
/** @deprecated */
|
|
62
|
-
export type PropGetterReturn<T extends (...args: any) => any> = Partial<ReturnType<T>>;
|
|
63
21
|
/** @deprecated */
|
|
64
22
|
export type PropGetterFn = <T extends {}>(props?: T) => T & {
|
|
65
23
|
[key: string]: unknown;
|
|
66
24
|
};
|
|
67
|
-
/** @deprecated */
|
|
68
|
-
export type Merge<Props, HTMLProps> = Props & Omit<HTMLProps, keyof Props>;
|
|
69
|
-
/** @deprecated */
|
|
70
|
-
export type MergeGetters<G1 extends (...args: any) => any, G2 extends (...args: any) => any> = <P>(props?: P) => Merge<ReturnType<G1>, ReturnType<G2>> & P;
|
|
71
25
|
declare const Root: Root;
|
|
72
26
|
export { Root };
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
27
|
+
type RootResult<T extends Intergalactic.Tag | never> = ForwardRefExoticComponent<IRootNodeProps & Intergalactic.InternalTypings.ComponentPropsNesting<T>>;
|
|
28
|
+
type BaseAsProps<Props = {}, Enhance extends readonly ((...args: any[]) => any)[] = [], InnerProps = {}> = Readonly<Props & IRootComponentProps & Intergalactic.InternalTypings.ExtractEnhanceType<Enhance> & InnerProps>;
|
|
29
|
+
type UncontrolledPropValue<V> = V | null | ((value: V, e?: any) => void | boolean | V) | ((value: V, e?: any) => void | boolean | V)[] | ((e?: any) => void | boolean | V);
|
|
30
|
+
export declare abstract class Component<Props = {}, Enhance extends readonly ((...args: any[]) => any)[] = [], Uncontrolled extends Readonly<{
|
|
31
|
+
[key in keyof Props]?: UncontrolledPropValue<Props[key]>;
|
|
32
|
+
}> = never, InnerProps = {}, State = {}> extends PureComponent<Props, State> {
|
|
33
|
+
protected uncontrolledProps(): [Uncontrolled] extends [never] ? never : Uncontrolled;
|
|
34
|
+
protected get handlers(): Readonly<{
|
|
35
|
+
[key in keyof Uncontrolled]: key extends keyof Props ? Uncontrolled[key] extends (null | Props[key]) ? (value: Props[key], e?: any) => void : Uncontrolled[key] extends Array<any> ? Uncontrolled[key][0] : Uncontrolled[key] : never;
|
|
36
|
+
}>;
|
|
37
|
+
protected get asProps(): Readonly<{
|
|
38
|
+
Root: RootResult<any>;
|
|
39
|
+
} & BaseAsProps<Props, Enhance, InnerProps> & Intergalactic.InternalTypings.EfficientOmit<AllHTMLAttributes<any>, keyof BaseAsProps<Props, Enhance, InnerProps>>>;
|
|
40
|
+
protected Root: RootResult<any>;
|
|
41
|
+
protected isControlled: boolean;
|
|
79
42
|
}
|
|
80
|
-
export declare const Component: typeof RootComponent;
|
|
81
|
-
/** @deprecated */
|
|
82
|
-
export type Component<Props = {}, Context = {}, State = {}, Handlers extends IRootComponentHandlers = IRootComponentHandlers> = React.ComponentClass<Props, State> & {
|
|
83
|
-
isControlled: boolean;
|
|
84
|
-
handlers: Readonly<Handlers>;
|
|
85
|
-
asProps: Readonly<Merge<Props & IRootComponentProps<Props, Context>, AllHTMLAttributes<any>>>;
|
|
86
|
-
Root: Root;
|
|
87
|
-
};
|
|
88
43
|
export declare namespace Intergalactic {
|
|
89
44
|
type ReactFCProps<C extends React.FC> = C extends React.FC<infer Props> ? Omit<Props, 'tag'> : {};
|
|
90
45
|
type ReactComponentProps<C extends React.ComponentClass> = C extends React.ComponentClass<infer Props> ? Omit<Props, 'tag'> : never;
|
|
91
46
|
type ReactFCLike = (props: any) => any;
|
|
92
47
|
type ReactFCLikeProps<C extends ReactFCLike> = C extends (props: infer Props) => any ? Props : {};
|
|
93
|
-
type ComponentChildren<Props, Context, RenderingResult = InternalTypings.ReturnResult, AdditionalContext extends any[] = never[]> = ((props: MergeProps<Context, Props>, ...args: AdditionalContext) => RenderingResult) | InternalTypings.ReturnResult;
|
|
48
|
+
type ComponentChildren<Props, Context, RenderingResult = InternalTypings.ReturnResult, AdditionalContext extends Readonly<any[]> = never[]> = ((props: MergeProps<Context, Props>, ...args: AdditionalContext) => RenderingResult) | InternalTypings.ReturnResult;
|
|
94
49
|
type ComponentBasicProps<Tag extends InternalTypings.ComponentTag> = {
|
|
95
50
|
ref?: React.Ref<InternalTypings.ComponentHtmlElement<Tag> | null>;
|
|
96
51
|
/** @private DO NOT USE IT. Low-level api that prevents specified props from being applied as DOM attribute. */
|
|
@@ -101,6 +56,15 @@ export declare namespace Intergalactic {
|
|
|
101
56
|
} & HighPriorityProps;
|
|
102
57
|
/** @private */
|
|
103
58
|
export namespace InternalTypings {
|
|
59
|
+
type MergeChildProps<Root, Component> = {
|
|
60
|
+
[K in keyof Root | keyof Component]: K extends keyof Root ? K extends keyof Component ? Root[K] & Component[K] extends never ? Root[K] | Component[K] : Root[K] & Component[K] : Root[K] : K extends keyof Component ? Component[K] : never;
|
|
61
|
+
};
|
|
62
|
+
type InferPropsFromRoot<Root extends new (...args: any) => any, Child extends string> = InstanceType<Root>[`get${Child}Props`] extends (...args: any[]) => infer R ? R : Record<string, never>;
|
|
63
|
+
export type InferComponentProps<Component extends ReactFCLike> = Omit<IRootComponentProps & ReactFCLikeProps<Component>, 'tag'>;
|
|
64
|
+
export type InferChildComponentProps<Component extends ReactFCLike, Root extends new (...args: any) => any, ChildName extends string, MergedProps = MergeChildProps<InferPropsFromRoot<Root, ChildName>, InferComponentProps<Component>>> = MergedProps & IStyledProps;
|
|
65
|
+
export type PartialRequired<T, K extends keyof T> = Omit<T, K> & {
|
|
66
|
+
[key in K]-?: T[key];
|
|
67
|
+
};
|
|
104
68
|
export type EfficientOmit<Type, Keys> = {
|
|
105
69
|
[Property in keyof Type as Exclude<Property, Keys>]: Type[Property];
|
|
106
70
|
};
|
|
@@ -130,7 +94,7 @@ export declare namespace Intergalactic {
|
|
|
130
94
|
} ? NestedProps : {}>, 'children' | 'tag'>;
|
|
131
95
|
export type ReturnResult = React.ReactElement | React.ReactNode | React.ReactNode[] | string | null;
|
|
132
96
|
export type ComponentTag = keyof JSX.IntrinsicElements | React.ComponentClass | React.FC | ReactFCLike;
|
|
133
|
-
export type ComponentProps<Tag extends ComponentTag | [ComponentTag, keyof JSX.IntrinsicElements], BaseTag extends ComponentTag | never, Props, Context = never, AdditionalContext extends any[] = never[]> = {
|
|
97
|
+
export type ComponentProps<Tag extends ComponentTag | [ComponentTag, keyof JSX.IntrinsicElements], BaseTag extends ComponentTag | never, Props, Context = never, AdditionalContext extends Readonly<any[]> = never[]> = {
|
|
134
98
|
tag?: Tag;
|
|
135
99
|
children?: ComponentChildren<EfficientOmit<Props, 'children'> & {
|
|
136
100
|
children: React.ReactNode;
|
|
@@ -153,6 +117,7 @@ export declare namespace Intergalactic {
|
|
|
153
117
|
__additionalContext: AdditionalContext;
|
|
154
118
|
displayName: string;
|
|
155
119
|
newInstance: () => Component<BaseTag, Props, Context>;
|
|
120
|
+
[CORE_COMPONENT]: boolean;
|
|
156
121
|
};
|
|
157
122
|
export type InferJsxIntrinsicElement<T extends React.DetailedHTMLProps<any, any>> = T extends React.DetailedHTMLProps<infer _, infer Element> ? Element : HTMLElement;
|
|
158
123
|
type InferElementFromRef<T> = T extends React.Ref<infer Element> ? Element : never;
|
|
@@ -166,7 +131,7 @@ export declare namespace Intergalactic {
|
|
|
166
131
|
};
|
|
167
132
|
export {};
|
|
168
133
|
}
|
|
169
|
-
export type Component<BaseTag extends InternalTypings.ComponentTag = never, BaseProps = {}, Context = {}, AdditionalContext extends any[] = never[]> = (<Tag extends InternalTypings.ComponentTag | [InternalTypings.ComponentTag, keyof JSX.IntrinsicElements] = BaseTag, Props extends BaseProps = BaseProps>(props: InternalTypings.ComponentProps<Tag, BaseTag, Props, Context, AdditionalContext>) => InternalTypings.ComponentRenderingResults) & InternalTypings.ComponentAdditive<BaseTag, Tag, BaseProps, Context, AdditionalContext>;
|
|
134
|
+
export type Component<BaseTag extends InternalTypings.ComponentTag = never, BaseProps = {}, Context = {}, AdditionalContext extends Readonly<any[]> = never[]> = (<Tag extends InternalTypings.ComponentTag | [InternalTypings.ComponentTag, keyof JSX.IntrinsicElements] = BaseTag, Props extends BaseProps = BaseProps>(props: InternalTypings.ComponentProps<Tag, BaseTag, Props, Context, AdditionalContext>) => InternalTypings.ComponentRenderingResults) & InternalTypings.ComponentAdditive<BaseTag, Tag, BaseProps, Context, AdditionalContext>;
|
|
170
135
|
export type Tag = InternalTypings.ComponentTag;
|
|
171
136
|
export type DomProps<Tag extends keyof JSX.IntrinsicElements> = InternalTypings.InferJsxIntrinsicElement<JSX.IntrinsicElements[Tag]>;
|
|
172
137
|
export type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<keyof T, Keys>> & {
|
|
@@ -175,14 +140,3 @@ export declare namespace Intergalactic {
|
|
|
175
140
|
export {};
|
|
176
141
|
}
|
|
177
142
|
export declare const wrapIntergalacticComponent: <Component extends Intergalactic.Component<any, any, any, any>, PropsExtending = {}>(wrapper: (props: Intergalactic.InternalTypings.UntypeRefAndTag<Intergalactic.InternalTypings.ComponentPropsNesting<Component>> & PropsExtending) => React.ReactNode) => Intergalactic.Component<Component["__tag"], Component["__props"] & Component["__nestedProps"] & PropsExtending, Component["__context"], Component["__additionalContext"]>;
|
|
178
|
-
export type PropsAndRef<T, Ctx, UCProps> = PropsWithRenderFnChildren<T, Ctx, UCProps> & RefAttributes<unknown>;
|
|
179
|
-
export type ForwardRefComponent<T, Ctx, UCProps> = ForwardRefExoticComponent<PropsAndRef<T, Ctx, UCProps>>;
|
|
180
|
-
type ComponentOrProps<T, Context, UCProps> = T extends [infer ParentProps, infer ChildProps] ? ComponentType<ParentProps, ChildProps, Context, UCProps> : ForwardRefComponent<T, Context, UCProps>;
|
|
181
|
-
export type ComponentType<ComponentProps, ChildComponentProps = {}, ContextType = {}, UCProps = {}, FNType = null> = (FNType extends null ? ForwardRefComponent<ComponentProps, ContextType, UCProps> : FNType & {
|
|
182
|
-
displayName: string;
|
|
183
|
-
}) & {
|
|
184
|
-
[K in keyof ChildComponentProps]: ComponentOrProps<ChildComponentProps[K], ContextType, UCProps>;
|
|
185
|
-
} & {
|
|
186
|
-
[CORE_COMPONENT]: boolean;
|
|
187
|
-
[CREATE_COMPONENT]: () => ComponentType<ComponentProps, ChildComponentProps, ContextType, UCProps>;
|
|
188
|
-
};
|
|
@@ -13,59 +13,30 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
13
13
|
var _react = require("react");
|
|
14
14
|
/** @deprecated */
|
|
15
15
|
|
|
16
|
-
/** @deprecated */
|
|
17
|
-
|
|
18
|
-
/** @deprecated */
|
|
19
|
-
|
|
20
|
-
/** @deprecated */
|
|
21
|
-
|
|
22
|
-
/** @deprecated */
|
|
23
|
-
|
|
24
|
-
/** @deprecated */
|
|
25
|
-
|
|
26
|
-
/** @deprecated */
|
|
27
|
-
|
|
28
|
-
/** @deprecated */
|
|
29
|
-
|
|
30
|
-
/** @deprecated */
|
|
31
|
-
|
|
32
|
-
/** @deprecated */
|
|
33
|
-
|
|
34
|
-
/** @deprecated */
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* @deprecated since version ^1.8.0
|
|
38
|
-
*/
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* @deprecated since version ^1.8.0
|
|
42
|
-
*/
|
|
43
|
-
/** @deprecated */
|
|
44
|
-
|
|
45
|
-
/** @deprecated */
|
|
46
|
-
|
|
47
|
-
/** @deprecated */
|
|
48
|
-
|
|
49
|
-
/** @deprecated */
|
|
50
|
-
|
|
51
16
|
var Root = exports.Root = undefined;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
function RootComponent() {
|
|
17
|
+
var Component = exports.Component = /*#__PURE__*/function (_PureComponent) {
|
|
18
|
+
function Component() {
|
|
55
19
|
var _this;
|
|
56
20
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
57
21
|
args[_key] = arguments[_key];
|
|
58
22
|
}
|
|
59
|
-
(0, _classCallCheck2["default"])(this,
|
|
60
|
-
_this = (0, _callSuper2["default"])(this,
|
|
23
|
+
(0, _classCallCheck2["default"])(this, Component);
|
|
24
|
+
_this = (0, _callSuper2["default"])(this, Component, [].concat(args));
|
|
61
25
|
(0, _defineProperty2["default"])(_this, "Root", undefined);
|
|
62
26
|
(0, _defineProperty2["default"])(_this, "isControlled", false);
|
|
63
27
|
return _this;
|
|
64
28
|
}
|
|
65
|
-
(0, _inherits2["default"])(
|
|
66
|
-
return (0, _createClass2["default"])(
|
|
29
|
+
(0, _inherits2["default"])(Component, _PureComponent);
|
|
30
|
+
return (0, _createClass2["default"])(Component, [{
|
|
31
|
+
key: "uncontrolledProps",
|
|
32
|
+
value: function uncontrolledProps() {
|
|
33
|
+
// @ts-ignore. This is a default value. Should be defined in related classes.
|
|
34
|
+
return {};
|
|
35
|
+
}
|
|
36
|
+
}, {
|
|
67
37
|
key: "handlers",
|
|
68
38
|
get: function get() {
|
|
39
|
+
// @ts-ignore. The body will be generated in factory
|
|
69
40
|
return {};
|
|
70
41
|
}
|
|
71
42
|
}, {
|
|
@@ -74,10 +45,7 @@ var RootComponent = /*#__PURE__*/function (_PureComponent) {
|
|
|
74
45
|
return {};
|
|
75
46
|
}
|
|
76
47
|
}]);
|
|
77
|
-
}(_react.PureComponent);
|
|
78
|
-
var Component = exports.Component = RootComponent;
|
|
79
|
-
/** @deprecated */
|
|
80
|
-
// eslint-disable-next-line @typescript-eslint/no-namespace
|
|
48
|
+
}(_react.PureComponent); // eslint-disable-next-line @typescript-eslint/no-namespace
|
|
81
49
|
var Intergalactic;
|
|
82
50
|
var wrapIntergalacticComponent = exports.wrapIntergalacticComponent = function wrapIntergalacticComponent(wrapper) {
|
|
83
51
|
return wrapper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","names":["_react","require","Root","exports","undefined","RootComponent","_PureComponent","_this","_len","arguments","length","args","Array","_key","_classCallCheck2","_callSuper2","concat","_defineProperty2","_inherits2","_createClass2","key","get","PureComponent","Component","Intergalactic","wrapIntergalacticComponent","wrapper"],"sources":["../../src/core-types/Component.ts"],"sourcesContent":["import type React from 'react';\nimport { type\nAllHTMLAttributes, type\nForwardRefExoticComponent,\nPureComponent, type\nReactNode, type\nRefAttributes, type\nRefObject,\n} from 'react';\n\nimport type { CORE_COMPONENT, CREATE_COMPONENT } from './symbols';\nimport type { IStyledProps } from '../styled/index';\n\n/** @deprecated */\ntype KnownKeys<T> = {\n [K in keyof T]: string extends K ? never : number extends K ? never : K;\n} extends { [_ in keyof T]: infer U }\n ? U\n : never;\n\n/** @deprecated */\nexport type HandlersType<UCProps> = { [K in keyof UCProps]?: <T = unknown>(arg: T) => void };\n/** @deprecated */\nexport type ChildrenType<Props = {}, Ctx = {}, UCProps = {}> =\n | ((props: Props & Ctx, handlers: HandlersType<UCProps>) => ReactNode)\n | ReactNode;\n\n/** @deprecated */\nexport type RootComponentHandler = (...args: any[]) => void | false;\n\n/** @deprecated */\nexport interface IRootComponentHandlers {\n [key: string]: RootComponentHandler;\n}\n\n/** @deprecated */\nexport interface IRootComponentProps<Props = {}, Ctx = {}> {\n 'forwardRef'?: RefObject<any>;\n 'Children'?: any;\n 'children'?: ChildrenType<Props, Ctx>;\n 'styles'?: IStyledProps['styles'];\n 'data-ui-name'?: string;\n}\n\n/** @deprecated */\nexport type IComponentProps<Props = {}, Ctx = {}> = Props & IRootComponentProps<Props, Ctx>;\n\n/** @deprecated */\nexport type IFunctionProps<Props = {}, Ctx = {}> = IComponentProps<Props, Ctx> &\n Omit<AllHTMLAttributes<any>, keyof IComponentProps<Props, Ctx>> & { Root?: Root };\n\n/** @deprecated */\nexport type PropsWithRenderFnChildren<Props = {}, Ctx = {}, UCProps = {}> = Omit<\n Pick<Props, KnownKeys<Props>>,\n 'children'\n> & {\n children?: ChildrenType<Props, Ctx, UCProps>;\n [key: string]: unknown;\n};\n\n/** @deprecated */\nexport type CProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;\n};\n/** @deprecated */\nexport type ReturnEl = React.ReactElement | null;\n\nexport interface IRootNodeProps {\n render: React.ElementType | string;\n tag?: React.ElementType | string;\n\n [key: string]: any;\n}\n\ntype Root = ForwardRefExoticComponent<IRootNodeProps>;\n\n/**\n * @deprecated since version ^1.8.0\n */\nexport type PropGetter<T extends (...args: any) => any> = <P>(props?: P) => ReturnType<T> & P;\n/**\n * @deprecated since version ^1.8.0\n */\n/** @deprecated */\nexport type PropGetterReturn<T extends (...args: any) => any> = Partial<ReturnType<T>>;\n/** @deprecated */\nexport type PropGetterFn = <T extends {}>(props?: T) => T & { [key: string]: unknown };\n/** @deprecated */\nexport type Merge<Props, HTMLProps> = Props & Omit<HTMLProps, keyof Props>;\n/** @deprecated */\nexport type MergeGetters<G1 extends (...args: any) => any, G2 extends (...args: any) => any> = <P>(\n props?: P,\n) => Merge<ReturnType<G1>, ReturnType<G2>> & P;\n\nconst Root: Root = undefined as any;\n\nexport { Root };\n\n/** @deprecated */\nabstract class RootComponent<\n Props = {},\n Context = {},\n State = {},\n Enhance extends readonly ((...args: any[]) => any)[] = [],\n InnerProps = {},\n> extends PureComponent<Props, State> {\n get handlers(): Readonly<IRootComponentHandlers> {\n return {};\n }\n\n get asProps() {\n return {} as Readonly<\n Merge<\n Props &\n IRootComponentProps<Props, Context> &\n Intergalactic.InternalTypings.ExtractEnhanceType<Enhance> &\n InnerProps,\n AllHTMLAttributes<any>\n >\n >;\n }\n\n Root: Root = undefined as any;\n\n isControlled = false;\n}\n\nexport const Component = RootComponent;\n/** @deprecated */\nexport type Component<\n Props = {},\n Context = {},\n State = {},\n Handlers extends IRootComponentHandlers = IRootComponentHandlers,\n> = React.ComponentClass<Props, State> & {\n isControlled: boolean;\n\n handlers: Readonly<Handlers>;\n\n asProps: Readonly<Merge<Props & IRootComponentProps<Props, Context>, AllHTMLAttributes<any>>>;\n\n Root: Root;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace Intergalactic {\n type ReactFCProps<C extends React.FC> = C extends React.FC<infer Props> ? Omit<Props, 'tag'> : {};\n type ReactComponentProps<C extends React.ComponentClass> = C extends React.ComponentClass<\n infer Props\n >\n ? Omit<Props, 'tag'>\n : never;\n type ReactFCLike = (props: any) => any;\n type ReactFCLikeProps<C extends ReactFCLike> = C extends (props: infer Props) => any ? Props : {};\n type ComponentChildren<\n Props,\n Context,\n RenderingResult = InternalTypings.ReturnResult,\n AdditionalContext extends any[] = never[],\n > =\n | ((props: MergeProps<Context, Props>, ...args: AdditionalContext) => RenderingResult)\n | InternalTypings.ReturnResult;\n type ComponentBasicProps<Tag extends InternalTypings.ComponentTag> = {\n ref?: React.Ref<InternalTypings.ComponentHtmlElement<Tag> | null>;\n /** @private DO NOT USE IT. Low-level api that prevents specified props from being applied as DOM attribute. */\n __excludeProps?: string[];\n };\n type MergeProps<HighPriorityProps, LowPriorityProps> = {\n [K in keyof LowPriorityProps]: K extends keyof HighPriorityProps\n ? HighPriorityProps[K]\n : LowPriorityProps[K];\n } & HighPriorityProps;\n /** @private */\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace InternalTypings {\n export type EfficientOmit<Type, Keys> = {\n [Property in keyof Type as Exclude<Property, Keys>]: Type[Property];\n };\n export type ExtractEnhanceType<F extends readonly ((...args: any[]) => any)[]> =\n F['length'] extends 0\n ? {}\n : F['length'] extends 1\n ? {\n [K in keyof ReturnType<F[0]>]: ReturnType<F[0]>[K];\n }\n : F['length'] extends 2\n // eslint-disable-next-line @stylistic/indent-binary-ops\n ? {\n [K in keyof ReturnType<F[0]>]: ReturnType<F[0]>[K];\n } & {\n [K in keyof ReturnType<F[1]>]: ReturnType<F[1]>[K];\n }\n : F['length'] extends 3\n // eslint-disable-next-line @stylistic/indent-binary-ops\n ? {\n [K in keyof ReturnType<F[0]>]: ReturnType<F[0]>[K];\n } & {\n [K in keyof ReturnType<F[1]>]: ReturnType<F[1]>[K];\n } & {\n [K in keyof ReturnType<F[2]>]: ReturnType<F[2]>[K];\n }\n : F['length'] extends 4\n // eslint-disable-next-line @stylistic/indent-binary-ops\n ? {\n [K in keyof ReturnType<F[0]>]: ReturnType<F[0]>[K];\n } & {\n [K in keyof ReturnType<F[1]>]: ReturnType<F[1]>[K];\n } & {\n [K in keyof ReturnType<F[2]>]: ReturnType<F[2]>[K];\n } & {\n [K in keyof ReturnType<F[3]>]: ReturnType<F[3]>[K];\n }\n : {};\n export type ComponentPropsNesting<Tag extends InternalTypings.ComponentTag> = Omit<\n MergeProps<\n Tag extends React.FC\n ? ReactFCProps<Tag>\n : Tag extends React.ComponentClass\n ? ReactComponentProps<Tag>\n : Tag extends ReactFCLike\n ? ReactFCLikeProps<Tag>\n : Tag extends keyof JSX.IntrinsicElements\n ? JSX.IntrinsicElements[Tag]\n : {},\n Tag extends { __nestedProps: infer NestedProps } ? NestedProps : {}\n >,\n 'children' | 'tag'\n >;\n export type ReturnResult =\n | React.ReactElement\n | React.ReactNode\n | React.ReactNode[]\n | string\n | null;\n export type ComponentTag =\n | keyof JSX.IntrinsicElements\n | React.ComponentClass\n | React.FC\n | ReactFCLike;\n export type ComponentProps<\n Tag extends ComponentTag | [ComponentTag, keyof JSX.IntrinsicElements],\n BaseTag extends ComponentTag | never,\n Props,\n Context = never,\n AdditionalContext extends any[] = never[],\n > = {\n tag?: Tag;\n children?: ComponentChildren<\n EfficientOmit<Props, 'children'> & { children: React.ReactNode },\n Context,\n ReturnResult,\n AdditionalContext\n >;\n } & ComponentBasicProps<Tag extends [ComponentTag, keyof JSX.IntrinsicElements] ? Tag[0] : Tag> &\n MergeProps<\n EfficientOmit<Props, 'tag' | 'children'>,\n MergeProps<ComponentPropsNesting<Tag extends [ComponentTag, keyof JSX.IntrinsicElements] ? Tag[0] : Tag>, ComponentPropsNesting<BaseTag>>\n >;\n export type PropsRenderingResultComponentProps<\n Tag extends ComponentTag,\n Props,\n Context = {},\n AdditionalContext extends any[] = never[],\n > = {\n tag?: Tag;\n children?: ComponentChildren<\n EfficientOmit<Props, 'children'> & { children: React.ReactNode },\n Context,\n Partial<\n EfficientOmit<\n MergeProps<Props, ComponentPropsNesting<Tag>>,\n 'children' | 'tag' | 'ref'\n > & {\n children?: React.ReactNode;\n }\n >,\n AdditionalContext\n >;\n } & ComponentBasicProps<Tag> &\n MergeProps<EfficientOmit<Props, 'tag' | 'children'>, ComponentPropsNesting<Tag>>;\n export type ComponentRenderingResults = React.ReactElement;\n export type ComponentAdditive<\n BaseTag extends ComponentTag,\n Tag extends ComponentTag,\n Props = {},\n Context = {},\n AdditionalContext = {},\n > = {\n __nestedProps: ComponentPropsNesting<BaseTag>;\n __tag: Tag;\n __props: Props;\n __context: Context;\n __additionalContext: AdditionalContext;\n displayName: string;\n newInstance: () => Component<BaseTag, Props, Context>;\n };\n export type InferJsxIntrinsicElement<T extends React.DetailedHTMLProps<any, any>> =\n T extends React.DetailedHTMLProps<infer _, infer Element> ? Element : HTMLElement;\n type InferElementFromRef<T> = T extends React.Ref<infer Element> ? Element : never;\n type InferRefElementFromProps<T> = 'ref' extends keyof T\n ? InferElementFromRef<T['ref']>\n : HTMLElement;\n export type ComponentHtmlElement<Tag extends ComponentTag> =\n Tag extends keyof JSX.IntrinsicElements\n ? InferJsxIntrinsicElement<JSX.IntrinsicElements[Tag]>\n : Tag extends { __nestedProps: infer NestedProps }\n ? InferRefElementFromProps<NestedProps>\n : HTMLElement;\n export type UntypeRefAndTag<Props> = Intergalactic.InternalTypings.EfficientOmit<\n Props,\n 'ref' | 'tag'\n > & {\n ref: React.Ref<any>;\n tag: Intergalactic.InternalTypings.ComponentTag;\n };\n }\n export type Component<\n BaseTag extends InternalTypings.ComponentTag = never,\n BaseProps = {},\n Context = {},\n AdditionalContext extends any[] = never[],\n > = (<Tag extends InternalTypings.ComponentTag | [InternalTypings.ComponentTag, keyof JSX.IntrinsicElements] = BaseTag, Props extends BaseProps = BaseProps>(\n props: InternalTypings.ComponentProps<Tag, BaseTag, Props, Context, AdditionalContext>,\n ) => InternalTypings.ComponentRenderingResults) &\n InternalTypings.ComponentAdditive<BaseTag, Tag, BaseProps, Context, AdditionalContext>;\n export type Tag = InternalTypings.ComponentTag;\n export type DomProps<Tag extends keyof JSX.IntrinsicElements> =\n InternalTypings.InferJsxIntrinsicElement<JSX.IntrinsicElements[Tag]>;\n export type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<\n T,\n Exclude<keyof T, Keys>\n > &\n {\n [K in Keys]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<Keys, K>>>;\n }[Keys];\n}\n\nexport const wrapIntergalacticComponent = <\n Component extends Intergalactic.Component<any, any, any, any>,\n PropsExtending = {},\n>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<Component>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): Intergalactic.Component<\n Component['__tag'],\n Component['__props'] & Component['__nestedProps'] & PropsExtending,\n Component['__context'],\n Component['__additionalContext']\n> => wrapper as any;\n\nexport type PropsAndRef<T, Ctx, UCProps> = PropsWithRenderFnChildren<T, Ctx, UCProps> &\n RefAttributes<unknown>;\nexport type ForwardRefComponent<T, Ctx, UCProps> = ForwardRefExoticComponent<\n PropsAndRef<T, Ctx, UCProps>\n>;\ntype ComponentOrProps<T, Context, UCProps> = T extends [infer ParentProps, infer ChildProps]\n ? ComponentType<ParentProps, ChildProps, Context, UCProps>\n : ForwardRefComponent<T, Context, UCProps>;\n\nexport type ComponentType<\n ComponentProps,\n ChildComponentProps = {},\n ContextType = {},\n UCProps = {},\n FNType = null,\n> = (FNType extends null\n ? ForwardRefComponent<ComponentProps, ContextType, UCProps>\n : FNType & { displayName: string }) & {\n [K in keyof ChildComponentProps]: ComponentOrProps<ChildComponentProps[K], ContextType, UCProps>;\n } & {\n [CORE_COMPONENT]: boolean;\n [CREATE_COMPONENT]: () => ComponentType<\n ComponentProps,\n ChildComponentProps,\n ContextType,\n UCProps\n >;\n };\n"],"mappings":";;;;;;;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAYA;;AAOA;;AAEA;;AAKA;;AAGA;;AAKA;;AASA;;AAGA;;AAIA;;AASA;;AAIA;;AAYA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAKA,IAAMC,IAAU,GAAAC,OAAA,CAAAD,IAAA,GAAGE,SAAgB;AAInC;AAAA,IACeC,aAAa,0BAAAC,cAAA;EAAA,SAAAD,cAAA;IAAA,IAAAE,KAAA;IAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAA,IAAAC,gBAAA,mBAAAT,aAAA;IAAAE,KAAA,OAAAQ,WAAA,mBAAAV,aAAA,KAAAW,MAAA,CAAAL,IAAA;IAAA,IAAAM,gBAAA,aAAAV,KAAA,UAuBbH,SAAS;IAAA,IAAAa,gBAAA,aAAAV,KAAA,kBAEP,KAAK;IAAA,OAAAA,KAAA;EAAA;EAAA,IAAAW,UAAA,aAAAb,aAAA,EAAAC,cAAA;EAAA,WAAAa,aAAA,aAAAd,aAAA;IAAAe,GAAA;IAAAC,GAAA,EAlBpB,SAAAA,IAAA,EAAiD;MAC/C,OAAO,CAAC,CAAC;IACX;EAAC;IAAAD,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAc;MACZ,OAAO,CAAC,CAAC;IASX;EAAC;AAAA,EAfOC,oBAAa;AAsBhB,IAAMC,SAAS,GAAApB,OAAA,CAAAoB,SAAA,GAAGlB,aAAa;AACtC;AAgBA;AAAA,IACiBmB,aAAa;AAgMvB,IAAMC,0BAA0B,GAAAtB,OAAA,CAAAsB,0BAAA,GAAG,SAA7BA,0BAA0BA,CAIrCC,OAKoB;EAAA,OAMjBA,OAAO;AAAA,CAAO","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Component.js","names":["_react","require","Root","exports","undefined","Component","_PureComponent","_this","_len","arguments","length","args","Array","_key","_classCallCheck2","_callSuper2","concat","_defineProperty2","_inherits2","_createClass2","key","value","uncontrolledProps","get","PureComponent","Intergalactic","wrapIntergalacticComponent","wrapper"],"sources":["../../src/core-types/Component.ts"],"sourcesContent":["import type React from 'react';\nimport { type\nAllHTMLAttributes, type\nForwardRefExoticComponent,\nPureComponent, type\nReactNode, type\nRefObject,\n} from 'react';\n\nimport type { CORE_COMPONENT } from './symbols';\nimport type { IStyledProps } from '../styled/index';\n\ntype HandlersType<UCProps> = { [K in keyof UCProps]?: <T = unknown>(arg: T) => void };\n\nexport interface IRootComponentProps<Props = {}, Ctx = {}, H = {}> {\n 'forwardRef'?: RefObject<any>;\n 'Children'?: any;\n 'children'?: ReactNode | ((props: Props & Ctx, handlers: HandlersType<H>) => ReactNode);\n 'styles'?: IStyledProps['styles'];\n 'data-ui-name'?: string;\n}\n\nexport interface IRootNodeProps {\n render: React.ElementType | string;\n tag?: React.ElementType | string;\n\n [key: string]: any;\n}\n\ntype Root = ForwardRefExoticComponent<IRootNodeProps>;\n\n/** @deprecated */\nexport type PropGetterFn = <T extends {}>(props?: T) => T & { [key: string]: unknown };\n\nconst Root: Root = undefined as any;\n\nexport { Root };\n\ntype RootResult<T extends Intergalactic.Tag | never> = ForwardRefExoticComponent<IRootNodeProps & Intergalactic.InternalTypings.ComponentPropsNesting<T>>;\n\ntype BaseAsProps<Props = {}, Enhance extends readonly ((...args: any[]) => any)[] = [], InnerProps = {}> = Readonly<\n Props &\n IRootComponentProps &\n Intergalactic.InternalTypings.ExtractEnhanceType<Enhance> &\n InnerProps\n>;\n\ntype UncontrolledPropValue<V> =\n | V\n | null\n | ((value: V, e?: any) => void | boolean | V)\n | ((value: V, e?: any) => void | boolean | V)[]\n | ((e?: any) => void | boolean | V);\n\nexport abstract class Component<\n Props = {},\n Enhance extends readonly ((...args: any[]) => any)[] = [],\n Uncontrolled extends Readonly<{ [key in keyof Props]?: UncontrolledPropValue<Props[key]> }> = never,\n InnerProps = {},\n State = {},\n> extends PureComponent<Props, State> {\n protected uncontrolledProps(): [Uncontrolled] extends [never] ? never : Uncontrolled {\n // @ts-ignore. This is a default value. Should be defined in related classes.\n return {};\n };\n\n protected get handlers(): Readonly<{\n [key in keyof Uncontrolled]: key extends keyof Props\n ? Uncontrolled[key] extends (null | Props[key])\n ? (value: Props[key], e?: any) => void\n : Uncontrolled[key] extends Array<any> ? Uncontrolled[key][0] : Uncontrolled[key]\n : never\n }> {\n // @ts-ignore. The body will be generated in factory\n return {};\n }\n\n protected get asProps() {\n return {} as Readonly<\n { Root: RootResult<any> } &\n BaseAsProps<Props, Enhance, InnerProps> &\n Intergalactic.InternalTypings.EfficientOmit<AllHTMLAttributes<any>, keyof BaseAsProps<Props, Enhance, InnerProps>>\n >;\n }\n\n protected Root: RootResult<any> = undefined as any;\n\n protected isControlled = false;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace Intergalactic {\n type ReactFCProps<C extends React.FC> = C extends React.FC<infer Props> ? Omit<Props, 'tag'> : {};\n type ReactComponentProps<C extends React.ComponentClass> = C extends React.ComponentClass<\n infer Props\n >\n ? Omit<Props, 'tag'>\n : never;\n type ReactFCLike = (props: any) => any;\n type ReactFCLikeProps<C extends ReactFCLike> = C extends (props: infer Props) => any ? Props : {};\n type ComponentChildren<\n Props,\n Context,\n RenderingResult = InternalTypings.ReturnResult,\n AdditionalContext extends Readonly<any[]> = never[],\n > =\n | ((props: MergeProps<Context, Props>, ...args: AdditionalContext) => RenderingResult)\n | InternalTypings.ReturnResult;\n type ComponentBasicProps<Tag extends InternalTypings.ComponentTag> = {\n ref?: React.Ref<InternalTypings.ComponentHtmlElement<Tag> | null>;\n /** @private DO NOT USE IT. Low-level api that prevents specified props from being applied as DOM attribute. */\n __excludeProps?: string[];\n };\n type MergeProps<HighPriorityProps, LowPriorityProps> = {\n [K in keyof LowPriorityProps]: K extends keyof HighPriorityProps\n ? HighPriorityProps[K]\n : LowPriorityProps[K];\n } & HighPriorityProps;\n /** @private */\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace InternalTypings {\n type MergeChildProps<Root, Component> = {\n [K in keyof Root | keyof Component]:\n K extends keyof Root\n ? K extends keyof Component\n ? Root[K] & Component[K] extends never\n ? Root[K] | Component[K]\n : Root[K] & Component[K]\n : Root[K]\n : K extends keyof Component\n ? Component[K]\n : never\n };\n\n type InferPropsFromRoot<\n Root extends new (...args: any) => any,\n Child extends string,\n > = InstanceType<Root>[`get${Child}Props`] extends (...args: any[]) => infer R ? R : Record<string, never>;\n\n export type InferComponentProps<\n Component extends ReactFCLike,\n > = Omit<IRootComponentProps & ReactFCLikeProps<Component>, 'tag'>;\n\n export type InferChildComponentProps<\n Component extends ReactFCLike,\n Root extends new (...args: any) => any,\n ChildName extends string,\n MergedProps = MergeChildProps<InferPropsFromRoot<Root, ChildName>, InferComponentProps<Component>>,\n > = MergedProps & IStyledProps;\n\n export type PartialRequired<T, K extends keyof T> = Omit<T, K> & {\n [key in K]-?: T[key];\n };\n export type EfficientOmit<Type, Keys> = {\n [Property in keyof Type as Exclude<Property, Keys>]: Type[Property];\n };\n export type ExtractEnhanceType<F extends readonly ((...args: any[]) => any)[]> =\n F['length'] extends 0\n ? {}\n : F['length'] extends 1\n ? {\n [K in keyof ReturnType<F[0]>]: ReturnType<F[0]>[K];\n }\n : F['length'] extends 2\n // eslint-disable-next-line @stylistic/indent-binary-ops\n ? {\n [K in keyof ReturnType<F[0]>]: ReturnType<F[0]>[K];\n } & {\n [K in keyof ReturnType<F[1]>]: ReturnType<F[1]>[K];\n }\n : F['length'] extends 3\n // eslint-disable-next-line @stylistic/indent-binary-ops\n ? {\n [K in keyof ReturnType<F[0]>]: ReturnType<F[0]>[K];\n } & {\n [K in keyof ReturnType<F[1]>]: ReturnType<F[1]>[K];\n } & {\n [K in keyof ReturnType<F[2]>]: ReturnType<F[2]>[K];\n }\n : F['length'] extends 4\n // eslint-disable-next-line @stylistic/indent-binary-ops\n ? {\n [K in keyof ReturnType<F[0]>]: ReturnType<F[0]>[K];\n } & {\n [K in keyof ReturnType<F[1]>]: ReturnType<F[1]>[K];\n } & {\n [K in keyof ReturnType<F[2]>]: ReturnType<F[2]>[K];\n } & {\n [K in keyof ReturnType<F[3]>]: ReturnType<F[3]>[K];\n }\n : {};\n export type ComponentPropsNesting<Tag extends InternalTypings.ComponentTag> = Omit<\n MergeProps<\n Tag extends React.FC\n ? ReactFCProps<Tag>\n : Tag extends React.ComponentClass\n ? ReactComponentProps<Tag>\n : Tag extends ReactFCLike\n ? ReactFCLikeProps<Tag>\n : Tag extends keyof JSX.IntrinsicElements\n ? JSX.IntrinsicElements[Tag]\n : {},\n Tag extends { __nestedProps: infer NestedProps } ? NestedProps : {}\n >,\n 'children' | 'tag'\n >;\n export type ReturnResult =\n | React.ReactElement\n | React.ReactNode\n | React.ReactNode[]\n | string\n | null;\n export type ComponentTag =\n | keyof JSX.IntrinsicElements\n | React.ComponentClass\n | React.FC\n | ReactFCLike;\n export type ComponentProps<\n Tag extends ComponentTag | [ComponentTag, keyof JSX.IntrinsicElements],\n BaseTag extends ComponentTag | never,\n Props,\n Context = never,\n AdditionalContext extends Readonly<any[]> = never[],\n > = {\n tag?: Tag;\n children?: ComponentChildren<\n EfficientOmit<Props, 'children'> & { children: React.ReactNode },\n Context,\n ReturnResult,\n AdditionalContext\n >;\n } & ComponentBasicProps<Tag extends [ComponentTag, keyof JSX.IntrinsicElements] ? Tag[0] : Tag> &\n MergeProps<\n EfficientOmit<Props, 'tag' | 'children'>,\n MergeProps<ComponentPropsNesting<Tag extends [ComponentTag, keyof JSX.IntrinsicElements] ? Tag[0] : Tag>, ComponentPropsNesting<BaseTag>>\n >;\n export type PropsRenderingResultComponentProps<\n Tag extends ComponentTag,\n Props,\n Context = {},\n AdditionalContext extends any[] = never[],\n > = {\n tag?: Tag;\n children?: ComponentChildren<\n EfficientOmit<Props, 'children'> & { children: React.ReactNode },\n Context,\n Partial<\n EfficientOmit<\n MergeProps<Props, ComponentPropsNesting<Tag>>,\n 'children' | 'tag' | 'ref'\n > & {\n children?: React.ReactNode;\n }\n >,\n AdditionalContext\n >;\n } & ComponentBasicProps<Tag> &\n MergeProps<EfficientOmit<Props, 'tag' | 'children'>, ComponentPropsNesting<Tag>>;\n export type ComponentRenderingResults = React.ReactElement;\n export type ComponentAdditive<\n BaseTag extends ComponentTag,\n Tag extends ComponentTag,\n Props = {},\n Context = {},\n AdditionalContext = {},\n > = {\n __nestedProps: ComponentPropsNesting<BaseTag>;\n __tag: Tag;\n __props: Props;\n __context: Context;\n __additionalContext: AdditionalContext;\n displayName: string;\n newInstance: () => Component<BaseTag, Props, Context>;\n [CORE_COMPONENT]: boolean;\n };\n export type InferJsxIntrinsicElement<T extends React.DetailedHTMLProps<any, any>> =\n T extends React.DetailedHTMLProps<infer _, infer Element> ? Element : HTMLElement;\n type InferElementFromRef<T> = T extends React.Ref<infer Element> ? Element : never;\n type InferRefElementFromProps<T> = 'ref' extends keyof T\n ? InferElementFromRef<T['ref']>\n : HTMLElement;\n export type ComponentHtmlElement<Tag extends ComponentTag> =\n Tag extends keyof JSX.IntrinsicElements\n ? InferJsxIntrinsicElement<JSX.IntrinsicElements[Tag]>\n : Tag extends { __nestedProps: infer NestedProps }\n ? InferRefElementFromProps<NestedProps>\n : HTMLElement;\n export type UntypeRefAndTag<Props> = Intergalactic.InternalTypings.EfficientOmit<\n Props,\n 'ref' | 'tag'\n > & {\n ref: React.Ref<any>;\n tag: Intergalactic.InternalTypings.ComponentTag;\n };\n }\n export type Component<\n BaseTag extends InternalTypings.ComponentTag = never,\n BaseProps = {},\n Context = {},\n AdditionalContext extends Readonly<any[]> = never[],\n > = (<\n Tag extends InternalTypings.ComponentTag | [InternalTypings.ComponentTag, keyof JSX.IntrinsicElements] = BaseTag,\n Props extends BaseProps = BaseProps,\n >(\n props: InternalTypings.ComponentProps<Tag, BaseTag, Props, Context, AdditionalContext>,\n ) => InternalTypings.ComponentRenderingResults) &\n InternalTypings.ComponentAdditive<BaseTag, Tag, BaseProps, Context, AdditionalContext>;\n export type Tag = InternalTypings.ComponentTag;\n export type DomProps<Tag extends keyof JSX.IntrinsicElements> =\n InternalTypings.InferJsxIntrinsicElement<JSX.IntrinsicElements[Tag]>;\n export type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<\n T,\n Exclude<keyof T, Keys>\n > &\n {\n [K in Keys]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<Keys, K>>>;\n }[Keys];\n}\n\nexport const wrapIntergalacticComponent = <\n Component extends Intergalactic.Component<any, any, any, any>,\n PropsExtending = {},\n>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<Component>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): Intergalactic.Component<\n Component['__tag'],\n Component['__props'] & Component['__nestedProps'] & PropsExtending,\n Component['__context'],\n Component['__additionalContext']\n> => wrapper as any;\n"],"mappings":";;;;;;;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AA8BA;;AAGA,IAAMC,IAAU,GAAAC,OAAA,CAAAD,IAAA,GAAGE,SAAgB;AAAC,IAoBdC,SAAS,GAAAF,OAAA,CAAAE,SAAA,0BAAAC,cAAA;EAAA,SAAAD,UAAA;IAAA,IAAAE,KAAA;IAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAA,IAAAC,gBAAA,mBAAAT,SAAA;IAAAE,KAAA,OAAAQ,WAAA,mBAAAV,SAAA,KAAAW,MAAA,CAAAL,IAAA;IAAA,IAAAM,gBAAA,aAAAV,KAAA,UA+BKH,SAAS;IAAA,IAAAa,gBAAA,aAAAV,KAAA,kBAElB,KAAK;IAAA,OAAAA,KAAA;EAAA;EAAA,IAAAW,UAAA,aAAAb,SAAA,EAAAC,cAAA;EAAA,WAAAa,aAAA,aAAAd,SAAA;IAAAe,GAAA;IAAAC,KAAA,EA1B9B,SAAUC,iBAAiBA,CAAA,EAA0D;MACnF;MACA,OAAO,CAAC,CAAC;IACX;EAAC;IAAAF,GAAA;IAAAG,GAAA,EAED,SAAAA,IAAA,EAMG;MACD;MACA,OAAO,CAAC,CAAC;IACX;EAAC;IAAAH,GAAA;IAAAG,GAAA,EAED,SAAAA,IAAA,EAAwB;MACtB,OAAO,CAAC,CAAC;IAKX;EAAC;AAAA,EAvBOC,oBAAa,GA8BvB;AAAA,IACiBC,aAAa;AAoOvB,IAAMC,0BAA0B,GAAAvB,OAAA,CAAAuB,0BAAA,GAAG,SAA7BA,0BAA0BA,CAIrCC,OAKoB;EAAA,OAMjBA,OAAO;AAAA,CAAO","ignoreList":[]}
|
|
@@ -5,20 +5,25 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
|
5
5
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
6
6
|
import { PureComponent } from "react";
|
|
7
7
|
var Root = void 0;
|
|
8
|
-
var
|
|
9
|
-
function
|
|
8
|
+
var Component = /* @__PURE__ */ (function(_PureComponent) {
|
|
9
|
+
function Component2() {
|
|
10
10
|
var _this;
|
|
11
11
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
12
12
|
args[_key] = arguments[_key];
|
|
13
13
|
}
|
|
14
|
-
_classCallCheck(this,
|
|
15
|
-
_this = _callSuper(this,
|
|
14
|
+
_classCallCheck(this, Component2);
|
|
15
|
+
_this = _callSuper(this, Component2, [].concat(args));
|
|
16
16
|
_defineProperty(_this, "Root", void 0);
|
|
17
17
|
_defineProperty(_this, "isControlled", false);
|
|
18
18
|
return _this;
|
|
19
19
|
}
|
|
20
|
-
_inherits(
|
|
21
|
-
return _createClass(
|
|
20
|
+
_inherits(Component2, _PureComponent);
|
|
21
|
+
return _createClass(Component2, [{
|
|
22
|
+
key: "uncontrolledProps",
|
|
23
|
+
value: function uncontrolledProps() {
|
|
24
|
+
return {};
|
|
25
|
+
}
|
|
26
|
+
}, {
|
|
22
27
|
key: "handlers",
|
|
23
28
|
get: function get() {
|
|
24
29
|
return {};
|
|
@@ -30,7 +35,6 @@ var RootComponent = /* @__PURE__ */ (function(_PureComponent) {
|
|
|
30
35
|
}
|
|
31
36
|
}]);
|
|
32
37
|
})(PureComponent);
|
|
33
|
-
var Component = RootComponent;
|
|
34
38
|
var Intergalactic;
|
|
35
39
|
var wrapIntergalacticComponent = function wrapIntergalacticComponent2(wrapper) {
|
|
36
40
|
return wrapper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.mjs","names":["PureComponent","Root","undefined","RootComponent","_PureComponent","_this","_len","arguments","length","args","Array","_key","_classCallCheck","_callSuper","concat","_defineProperty","_inherits","_createClass","key","get","Component","Intergalactic","wrapIntergalacticComponent","wrapper"],"sources":["../../src/core-types/Component.ts"],"sourcesContent":["import type React from 'react';\nimport { type\nAllHTMLAttributes, type\nForwardRefExoticComponent,\nPureComponent, type\nReactNode, type\nRefAttributes, type\nRefObject,\n} from 'react';\n\nimport type { CORE_COMPONENT, CREATE_COMPONENT } from './symbols';\nimport type { IStyledProps } from '../styled/index';\n\n/** @deprecated */\ntype KnownKeys<T> = {\n [K in keyof T]: string extends K ? never : number extends K ? never : K;\n} extends { [_ in keyof T]: infer U }\n ? U\n : never;\n\n/** @deprecated */\nexport type HandlersType<UCProps> = { [K in keyof UCProps]?: <T = unknown>(arg: T) => void };\n/** @deprecated */\nexport type ChildrenType<Props = {}, Ctx = {}, UCProps = {}> =\n | ((props: Props & Ctx, handlers: HandlersType<UCProps>) => ReactNode)\n | ReactNode;\n\n/** @deprecated */\nexport type RootComponentHandler = (...args: any[]) => void | false;\n\n/** @deprecated */\nexport interface IRootComponentHandlers {\n [key: string]: RootComponentHandler;\n}\n\n/** @deprecated */\nexport interface IRootComponentProps<Props = {}, Ctx = {}> {\n 'forwardRef'?: RefObject<any>;\n 'Children'?: any;\n 'children'?: ChildrenType<Props, Ctx>;\n 'styles'?: IStyledProps['styles'];\n 'data-ui-name'?: string;\n}\n\n/** @deprecated */\nexport type IComponentProps<Props = {}, Ctx = {}> = Props & IRootComponentProps<Props, Ctx>;\n\n/** @deprecated */\nexport type IFunctionProps<Props = {}, Ctx = {}> = IComponentProps<Props, Ctx> &\n Omit<AllHTMLAttributes<any>, keyof IComponentProps<Props, Ctx>> & { Root?: Root };\n\n/** @deprecated */\nexport type PropsWithRenderFnChildren<Props = {}, Ctx = {}, UCProps = {}> = Omit<\n Pick<Props, KnownKeys<Props>>,\n 'children'\n> & {\n children?: ChildrenType<Props, Ctx, UCProps>;\n [key: string]: unknown;\n};\n\n/** @deprecated */\nexport type CProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;\n};\n/** @deprecated */\nexport type ReturnEl = React.ReactElement | null;\n\nexport interface IRootNodeProps {\n render: React.ElementType | string;\n tag?: React.ElementType | string;\n\n [key: string]: any;\n}\n\ntype Root = ForwardRefExoticComponent<IRootNodeProps>;\n\n/**\n * @deprecated since version ^1.8.0\n */\nexport type PropGetter<T extends (...args: any) => any> = <P>(props?: P) => ReturnType<T> & P;\n/**\n * @deprecated since version ^1.8.0\n */\n/** @deprecated */\nexport type PropGetterReturn<T extends (...args: any) => any> = Partial<ReturnType<T>>;\n/** @deprecated */\nexport type PropGetterFn = <T extends {}>(props?: T) => T & { [key: string]: unknown };\n/** @deprecated */\nexport type Merge<Props, HTMLProps> = Props & Omit<HTMLProps, keyof Props>;\n/** @deprecated */\nexport type MergeGetters<G1 extends (...args: any) => any, G2 extends (...args: any) => any> = <P>(\n props?: P,\n) => Merge<ReturnType<G1>, ReturnType<G2>> & P;\n\nconst Root: Root = undefined as any;\n\nexport { Root };\n\n/** @deprecated */\nabstract class RootComponent<\n Props = {},\n Context = {},\n State = {},\n Enhance extends readonly ((...args: any[]) => any)[] = [],\n InnerProps = {},\n> extends PureComponent<Props, State> {\n get handlers(): Readonly<IRootComponentHandlers> {\n return {};\n }\n\n get asProps() {\n return {} as Readonly<\n Merge<\n Props &\n IRootComponentProps<Props, Context> &\n Intergalactic.InternalTypings.ExtractEnhanceType<Enhance> &\n InnerProps,\n AllHTMLAttributes<any>\n >\n >;\n }\n\n Root: Root = undefined as any;\n\n isControlled = false;\n}\n\nexport const Component = RootComponent;\n/** @deprecated */\nexport type Component<\n Props = {},\n Context = {},\n State = {},\n Handlers extends IRootComponentHandlers = IRootComponentHandlers,\n> = React.ComponentClass<Props, State> & {\n isControlled: boolean;\n\n handlers: Readonly<Handlers>;\n\n asProps: Readonly<Merge<Props & IRootComponentProps<Props, Context>, AllHTMLAttributes<any>>>;\n\n Root: Root;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace Intergalactic {\n type ReactFCProps<C extends React.FC> = C extends React.FC<infer Props> ? Omit<Props, 'tag'> : {};\n type ReactComponentProps<C extends React.ComponentClass> = C extends React.ComponentClass<\n infer Props\n >\n ? Omit<Props, 'tag'>\n : never;\n type ReactFCLike = (props: any) => any;\n type ReactFCLikeProps<C extends ReactFCLike> = C extends (props: infer Props) => any ? Props : {};\n type ComponentChildren<\n Props,\n Context,\n RenderingResult = InternalTypings.ReturnResult,\n AdditionalContext extends any[] = never[],\n > =\n | ((props: MergeProps<Context, Props>, ...args: AdditionalContext) => RenderingResult)\n | InternalTypings.ReturnResult;\n type ComponentBasicProps<Tag extends InternalTypings.ComponentTag> = {\n ref?: React.Ref<InternalTypings.ComponentHtmlElement<Tag> | null>;\n /** @private DO NOT USE IT. Low-level api that prevents specified props from being applied as DOM attribute. */\n __excludeProps?: string[];\n };\n type MergeProps<HighPriorityProps, LowPriorityProps> = {\n [K in keyof LowPriorityProps]: K extends keyof HighPriorityProps\n ? HighPriorityProps[K]\n : LowPriorityProps[K];\n } & HighPriorityProps;\n /** @private */\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace InternalTypings {\n export type EfficientOmit<Type, Keys> = {\n [Property in keyof Type as Exclude<Property, Keys>]: Type[Property];\n };\n export type ExtractEnhanceType<F extends readonly ((...args: any[]) => any)[]> =\n F['length'] extends 0\n ? {}\n : F['length'] extends 1\n ? {\n [K in keyof ReturnType<F[0]>]: ReturnType<F[0]>[K];\n }\n : F['length'] extends 2\n // eslint-disable-next-line @stylistic/indent-binary-ops\n ? {\n [K in keyof ReturnType<F[0]>]: ReturnType<F[0]>[K];\n } & {\n [K in keyof ReturnType<F[1]>]: ReturnType<F[1]>[K];\n }\n : F['length'] extends 3\n // eslint-disable-next-line @stylistic/indent-binary-ops\n ? {\n [K in keyof ReturnType<F[0]>]: ReturnType<F[0]>[K];\n } & {\n [K in keyof ReturnType<F[1]>]: ReturnType<F[1]>[K];\n } & {\n [K in keyof ReturnType<F[2]>]: ReturnType<F[2]>[K];\n }\n : F['length'] extends 4\n // eslint-disable-next-line @stylistic/indent-binary-ops\n ? {\n [K in keyof ReturnType<F[0]>]: ReturnType<F[0]>[K];\n } & {\n [K in keyof ReturnType<F[1]>]: ReturnType<F[1]>[K];\n } & {\n [K in keyof ReturnType<F[2]>]: ReturnType<F[2]>[K];\n } & {\n [K in keyof ReturnType<F[3]>]: ReturnType<F[3]>[K];\n }\n : {};\n export type ComponentPropsNesting<Tag extends InternalTypings.ComponentTag> = Omit<\n MergeProps<\n Tag extends React.FC\n ? ReactFCProps<Tag>\n : Tag extends React.ComponentClass\n ? ReactComponentProps<Tag>\n : Tag extends ReactFCLike\n ? ReactFCLikeProps<Tag>\n : Tag extends keyof JSX.IntrinsicElements\n ? JSX.IntrinsicElements[Tag]\n : {},\n Tag extends { __nestedProps: infer NestedProps } ? NestedProps : {}\n >,\n 'children' | 'tag'\n >;\n export type ReturnResult =\n | React.ReactElement\n | React.ReactNode\n | React.ReactNode[]\n | string\n | null;\n export type ComponentTag =\n | keyof JSX.IntrinsicElements\n | React.ComponentClass\n | React.FC\n | ReactFCLike;\n export type ComponentProps<\n Tag extends ComponentTag | [ComponentTag, keyof JSX.IntrinsicElements],\n BaseTag extends ComponentTag | never,\n Props,\n Context = never,\n AdditionalContext extends any[] = never[],\n > = {\n tag?: Tag;\n children?: ComponentChildren<\n EfficientOmit<Props, 'children'> & { children: React.ReactNode },\n Context,\n ReturnResult,\n AdditionalContext\n >;\n } & ComponentBasicProps<Tag extends [ComponentTag, keyof JSX.IntrinsicElements] ? Tag[0] : Tag> &\n MergeProps<\n EfficientOmit<Props, 'tag' | 'children'>,\n MergeProps<ComponentPropsNesting<Tag extends [ComponentTag, keyof JSX.IntrinsicElements] ? Tag[0] : Tag>, ComponentPropsNesting<BaseTag>>\n >;\n export type PropsRenderingResultComponentProps<\n Tag extends ComponentTag,\n Props,\n Context = {},\n AdditionalContext extends any[] = never[],\n > = {\n tag?: Tag;\n children?: ComponentChildren<\n EfficientOmit<Props, 'children'> & { children: React.ReactNode },\n Context,\n Partial<\n EfficientOmit<\n MergeProps<Props, ComponentPropsNesting<Tag>>,\n 'children' | 'tag' | 'ref'\n > & {\n children?: React.ReactNode;\n }\n >,\n AdditionalContext\n >;\n } & ComponentBasicProps<Tag> &\n MergeProps<EfficientOmit<Props, 'tag' | 'children'>, ComponentPropsNesting<Tag>>;\n export type ComponentRenderingResults = React.ReactElement;\n export type ComponentAdditive<\n BaseTag extends ComponentTag,\n Tag extends ComponentTag,\n Props = {},\n Context = {},\n AdditionalContext = {},\n > = {\n __nestedProps: ComponentPropsNesting<BaseTag>;\n __tag: Tag;\n __props: Props;\n __context: Context;\n __additionalContext: AdditionalContext;\n displayName: string;\n newInstance: () => Component<BaseTag, Props, Context>;\n };\n export type InferJsxIntrinsicElement<T extends React.DetailedHTMLProps<any, any>> =\n T extends React.DetailedHTMLProps<infer _, infer Element> ? Element : HTMLElement;\n type InferElementFromRef<T> = T extends React.Ref<infer Element> ? Element : never;\n type InferRefElementFromProps<T> = 'ref' extends keyof T\n ? InferElementFromRef<T['ref']>\n : HTMLElement;\n export type ComponentHtmlElement<Tag extends ComponentTag> =\n Tag extends keyof JSX.IntrinsicElements\n ? InferJsxIntrinsicElement<JSX.IntrinsicElements[Tag]>\n : Tag extends { __nestedProps: infer NestedProps }\n ? InferRefElementFromProps<NestedProps>\n : HTMLElement;\n export type UntypeRefAndTag<Props> = Intergalactic.InternalTypings.EfficientOmit<\n Props,\n 'ref' | 'tag'\n > & {\n ref: React.Ref<any>;\n tag: Intergalactic.InternalTypings.ComponentTag;\n };\n }\n export type Component<\n BaseTag extends InternalTypings.ComponentTag = never,\n BaseProps = {},\n Context = {},\n AdditionalContext extends any[] = never[],\n > = (<Tag extends InternalTypings.ComponentTag | [InternalTypings.ComponentTag, keyof JSX.IntrinsicElements] = BaseTag, Props extends BaseProps = BaseProps>(\n props: InternalTypings.ComponentProps<Tag, BaseTag, Props, Context, AdditionalContext>,\n ) => InternalTypings.ComponentRenderingResults) &\n InternalTypings.ComponentAdditive<BaseTag, Tag, BaseProps, Context, AdditionalContext>;\n export type Tag = InternalTypings.ComponentTag;\n export type DomProps<Tag extends keyof JSX.IntrinsicElements> =\n InternalTypings.InferJsxIntrinsicElement<JSX.IntrinsicElements[Tag]>;\n export type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<\n T,\n Exclude<keyof T, Keys>\n > &\n {\n [K in Keys]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<Keys, K>>>;\n }[Keys];\n}\n\nexport const wrapIntergalacticComponent = <\n Component extends Intergalactic.Component<any, any, any, any>,\n PropsExtending = {},\n>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<Component>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): Intergalactic.Component<\n Component['__tag'],\n Component['__props'] & Component['__nestedProps'] & PropsExtending,\n Component['__context'],\n Component['__additionalContext']\n> => wrapper as any;\n\nexport type PropsAndRef<T, Ctx, UCProps> = PropsWithRenderFnChildren<T, Ctx, UCProps> &\n RefAttributes<unknown>;\nexport type ForwardRefComponent<T, Ctx, UCProps> = ForwardRefExoticComponent<\n PropsAndRef<T, Ctx, UCProps>\n>;\ntype ComponentOrProps<T, Context, UCProps> = T extends [infer ParentProps, infer ChildProps]\n ? ComponentType<ParentProps, ChildProps, Context, UCProps>\n : ForwardRefComponent<T, Context, UCProps>;\n\nexport type ComponentType<\n ComponentProps,\n ChildComponentProps = {},\n ContextType = {},\n UCProps = {},\n FNType = null,\n> = (FNType extends null\n ? ForwardRefComponent<ComponentProps, ContextType, UCProps>\n : FNType & { displayName: string }) & {\n [K in keyof ChildComponentProps]: ComponentOrProps<ChildComponentProps[K], ContextType, UCProps>;\n } & {\n [CORE_COMPONENT]: boolean;\n [CREATE_COMPONENT]: () => ComponentType<\n ComponentProps,\n ChildComponentProps,\n ContextType,\n UCProps\n >;\n };\n"],"mappings":";;;;;AACA,SAGAA,aAAa,QAIN,OAAO;;AAKd;;AAOA;;AAEA;;AAKA;;AAGA;;AAKA;;AASA;;AAGA;;AAIA;;AASA;;AAIA;;AAYA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAKA,IAAMC,IAAU,GAAGC,SAAgB;AAEnC,SAASD,IAAI;;AAEb;AAAA,IACeE,aAAa,0BAAAC,cAAA;EAAA,SAAAD,cAAA;IAAA,IAAAE,KAAA;IAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAC,eAAA,OAAAT,aAAA;IAAAE,KAAA,GAAAQ,UAAA,OAAAV,aAAA,KAAAW,MAAA,CAAAL,IAAA;IAAAM,eAAA,CAAAV,KAAA,UAuBbH,SAAS;IAAAa,eAAA,CAAAV,KAAA,kBAEP,KAAK;IAAA,OAAAA,KAAA;EAAA;EAAAW,SAAA,CAAAb,aAAA,EAAAC,cAAA;EAAA,OAAAa,YAAA,CAAAd,aAAA;IAAAe,GAAA;IAAAC,GAAA,EAlBpB,SAAAA,IAAA,EAAiD;MAC/C,OAAO,CAAC,CAAC;IACX;EAAC;IAAAD,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAc;MACZ,OAAO,CAAC,CAAC;IASX;EAAC;AAAA,EAfOnB,aAAa;AAsBvB,OAAO,IAAMoB,SAAS,GAAGjB,aAAa;AACtC;AAgBA;AAAA,WACiBkB,aAAa;AAgM9B,OAAO,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAIrCC,OAKoB;EAAA,OAMjBA,OAAO;AAAA,CAAO","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Component.mjs","names":["PureComponent","Root","undefined","Component","_PureComponent","_this","_len","arguments","length","args","Array","_key","_classCallCheck","_callSuper","concat","_defineProperty","_inherits","_createClass","key","value","uncontrolledProps","get","Intergalactic","wrapIntergalacticComponent","wrapper"],"sources":["../../src/core-types/Component.ts"],"sourcesContent":["import type React from 'react';\nimport { type\nAllHTMLAttributes, type\nForwardRefExoticComponent,\nPureComponent, type\nReactNode, type\nRefObject,\n} from 'react';\n\nimport type { CORE_COMPONENT } from './symbols';\nimport type { IStyledProps } from '../styled/index';\n\ntype HandlersType<UCProps> = { [K in keyof UCProps]?: <T = unknown>(arg: T) => void };\n\nexport interface IRootComponentProps<Props = {}, Ctx = {}, H = {}> {\n 'forwardRef'?: RefObject<any>;\n 'Children'?: any;\n 'children'?: ReactNode | ((props: Props & Ctx, handlers: HandlersType<H>) => ReactNode);\n 'styles'?: IStyledProps['styles'];\n 'data-ui-name'?: string;\n}\n\nexport interface IRootNodeProps {\n render: React.ElementType | string;\n tag?: React.ElementType | string;\n\n [key: string]: any;\n}\n\ntype Root = ForwardRefExoticComponent<IRootNodeProps>;\n\n/** @deprecated */\nexport type PropGetterFn = <T extends {}>(props?: T) => T & { [key: string]: unknown };\n\nconst Root: Root = undefined as any;\n\nexport { Root };\n\ntype RootResult<T extends Intergalactic.Tag | never> = ForwardRefExoticComponent<IRootNodeProps & Intergalactic.InternalTypings.ComponentPropsNesting<T>>;\n\ntype BaseAsProps<Props = {}, Enhance extends readonly ((...args: any[]) => any)[] = [], InnerProps = {}> = Readonly<\n Props &\n IRootComponentProps &\n Intergalactic.InternalTypings.ExtractEnhanceType<Enhance> &\n InnerProps\n>;\n\ntype UncontrolledPropValue<V> =\n | V\n | null\n | ((value: V, e?: any) => void | boolean | V)\n | ((value: V, e?: any) => void | boolean | V)[]\n | ((e?: any) => void | boolean | V);\n\nexport abstract class Component<\n Props = {},\n Enhance extends readonly ((...args: any[]) => any)[] = [],\n Uncontrolled extends Readonly<{ [key in keyof Props]?: UncontrolledPropValue<Props[key]> }> = never,\n InnerProps = {},\n State = {},\n> extends PureComponent<Props, State> {\n protected uncontrolledProps(): [Uncontrolled] extends [never] ? never : Uncontrolled {\n // @ts-ignore. This is a default value. Should be defined in related classes.\n return {};\n };\n\n protected get handlers(): Readonly<{\n [key in keyof Uncontrolled]: key extends keyof Props\n ? Uncontrolled[key] extends (null | Props[key])\n ? (value: Props[key], e?: any) => void\n : Uncontrolled[key] extends Array<any> ? Uncontrolled[key][0] : Uncontrolled[key]\n : never\n }> {\n // @ts-ignore. The body will be generated in factory\n return {};\n }\n\n protected get asProps() {\n return {} as Readonly<\n { Root: RootResult<any> } &\n BaseAsProps<Props, Enhance, InnerProps> &\n Intergalactic.InternalTypings.EfficientOmit<AllHTMLAttributes<any>, keyof BaseAsProps<Props, Enhance, InnerProps>>\n >;\n }\n\n protected Root: RootResult<any> = undefined as any;\n\n protected isControlled = false;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace Intergalactic {\n type ReactFCProps<C extends React.FC> = C extends React.FC<infer Props> ? Omit<Props, 'tag'> : {};\n type ReactComponentProps<C extends React.ComponentClass> = C extends React.ComponentClass<\n infer Props\n >\n ? Omit<Props, 'tag'>\n : never;\n type ReactFCLike = (props: any) => any;\n type ReactFCLikeProps<C extends ReactFCLike> = C extends (props: infer Props) => any ? Props : {};\n type ComponentChildren<\n Props,\n Context,\n RenderingResult = InternalTypings.ReturnResult,\n AdditionalContext extends Readonly<any[]> = never[],\n > =\n | ((props: MergeProps<Context, Props>, ...args: AdditionalContext) => RenderingResult)\n | InternalTypings.ReturnResult;\n type ComponentBasicProps<Tag extends InternalTypings.ComponentTag> = {\n ref?: React.Ref<InternalTypings.ComponentHtmlElement<Tag> | null>;\n /** @private DO NOT USE IT. Low-level api that prevents specified props from being applied as DOM attribute. */\n __excludeProps?: string[];\n };\n type MergeProps<HighPriorityProps, LowPriorityProps> = {\n [K in keyof LowPriorityProps]: K extends keyof HighPriorityProps\n ? HighPriorityProps[K]\n : LowPriorityProps[K];\n } & HighPriorityProps;\n /** @private */\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace InternalTypings {\n type MergeChildProps<Root, Component> = {\n [K in keyof Root | keyof Component]:\n K extends keyof Root\n ? K extends keyof Component\n ? Root[K] & Component[K] extends never\n ? Root[K] | Component[K]\n : Root[K] & Component[K]\n : Root[K]\n : K extends keyof Component\n ? Component[K]\n : never\n };\n\n type InferPropsFromRoot<\n Root extends new (...args: any) => any,\n Child extends string,\n > = InstanceType<Root>[`get${Child}Props`] extends (...args: any[]) => infer R ? R : Record<string, never>;\n\n export type InferComponentProps<\n Component extends ReactFCLike,\n > = Omit<IRootComponentProps & ReactFCLikeProps<Component>, 'tag'>;\n\n export type InferChildComponentProps<\n Component extends ReactFCLike,\n Root extends new (...args: any) => any,\n ChildName extends string,\n MergedProps = MergeChildProps<InferPropsFromRoot<Root, ChildName>, InferComponentProps<Component>>,\n > = MergedProps & IStyledProps;\n\n export type PartialRequired<T, K extends keyof T> = Omit<T, K> & {\n [key in K]-?: T[key];\n };\n export type EfficientOmit<Type, Keys> = {\n [Property in keyof Type as Exclude<Property, Keys>]: Type[Property];\n };\n export type ExtractEnhanceType<F extends readonly ((...args: any[]) => any)[]> =\n F['length'] extends 0\n ? {}\n : F['length'] extends 1\n ? {\n [K in keyof ReturnType<F[0]>]: ReturnType<F[0]>[K];\n }\n : F['length'] extends 2\n // eslint-disable-next-line @stylistic/indent-binary-ops\n ? {\n [K in keyof ReturnType<F[0]>]: ReturnType<F[0]>[K];\n } & {\n [K in keyof ReturnType<F[1]>]: ReturnType<F[1]>[K];\n }\n : F['length'] extends 3\n // eslint-disable-next-line @stylistic/indent-binary-ops\n ? {\n [K in keyof ReturnType<F[0]>]: ReturnType<F[0]>[K];\n } & {\n [K in keyof ReturnType<F[1]>]: ReturnType<F[1]>[K];\n } & {\n [K in keyof ReturnType<F[2]>]: ReturnType<F[2]>[K];\n }\n : F['length'] extends 4\n // eslint-disable-next-line @stylistic/indent-binary-ops\n ? {\n [K in keyof ReturnType<F[0]>]: ReturnType<F[0]>[K];\n } & {\n [K in keyof ReturnType<F[1]>]: ReturnType<F[1]>[K];\n } & {\n [K in keyof ReturnType<F[2]>]: ReturnType<F[2]>[K];\n } & {\n [K in keyof ReturnType<F[3]>]: ReturnType<F[3]>[K];\n }\n : {};\n export type ComponentPropsNesting<Tag extends InternalTypings.ComponentTag> = Omit<\n MergeProps<\n Tag extends React.FC\n ? ReactFCProps<Tag>\n : Tag extends React.ComponentClass\n ? ReactComponentProps<Tag>\n : Tag extends ReactFCLike\n ? ReactFCLikeProps<Tag>\n : Tag extends keyof JSX.IntrinsicElements\n ? JSX.IntrinsicElements[Tag]\n : {},\n Tag extends { __nestedProps: infer NestedProps } ? NestedProps : {}\n >,\n 'children' | 'tag'\n >;\n export type ReturnResult =\n | React.ReactElement\n | React.ReactNode\n | React.ReactNode[]\n | string\n | null;\n export type ComponentTag =\n | keyof JSX.IntrinsicElements\n | React.ComponentClass\n | React.FC\n | ReactFCLike;\n export type ComponentProps<\n Tag extends ComponentTag | [ComponentTag, keyof JSX.IntrinsicElements],\n BaseTag extends ComponentTag | never,\n Props,\n Context = never,\n AdditionalContext extends Readonly<any[]> = never[],\n > = {\n tag?: Tag;\n children?: ComponentChildren<\n EfficientOmit<Props, 'children'> & { children: React.ReactNode },\n Context,\n ReturnResult,\n AdditionalContext\n >;\n } & ComponentBasicProps<Tag extends [ComponentTag, keyof JSX.IntrinsicElements] ? Tag[0] : Tag> &\n MergeProps<\n EfficientOmit<Props, 'tag' | 'children'>,\n MergeProps<ComponentPropsNesting<Tag extends [ComponentTag, keyof JSX.IntrinsicElements] ? Tag[0] : Tag>, ComponentPropsNesting<BaseTag>>\n >;\n export type PropsRenderingResultComponentProps<\n Tag extends ComponentTag,\n Props,\n Context = {},\n AdditionalContext extends any[] = never[],\n > = {\n tag?: Tag;\n children?: ComponentChildren<\n EfficientOmit<Props, 'children'> & { children: React.ReactNode },\n Context,\n Partial<\n EfficientOmit<\n MergeProps<Props, ComponentPropsNesting<Tag>>,\n 'children' | 'tag' | 'ref'\n > & {\n children?: React.ReactNode;\n }\n >,\n AdditionalContext\n >;\n } & ComponentBasicProps<Tag> &\n MergeProps<EfficientOmit<Props, 'tag' | 'children'>, ComponentPropsNesting<Tag>>;\n export type ComponentRenderingResults = React.ReactElement;\n export type ComponentAdditive<\n BaseTag extends ComponentTag,\n Tag extends ComponentTag,\n Props = {},\n Context = {},\n AdditionalContext = {},\n > = {\n __nestedProps: ComponentPropsNesting<BaseTag>;\n __tag: Tag;\n __props: Props;\n __context: Context;\n __additionalContext: AdditionalContext;\n displayName: string;\n newInstance: () => Component<BaseTag, Props, Context>;\n [CORE_COMPONENT]: boolean;\n };\n export type InferJsxIntrinsicElement<T extends React.DetailedHTMLProps<any, any>> =\n T extends React.DetailedHTMLProps<infer _, infer Element> ? Element : HTMLElement;\n type InferElementFromRef<T> = T extends React.Ref<infer Element> ? Element : never;\n type InferRefElementFromProps<T> = 'ref' extends keyof T\n ? InferElementFromRef<T['ref']>\n : HTMLElement;\n export type ComponentHtmlElement<Tag extends ComponentTag> =\n Tag extends keyof JSX.IntrinsicElements\n ? InferJsxIntrinsicElement<JSX.IntrinsicElements[Tag]>\n : Tag extends { __nestedProps: infer NestedProps }\n ? InferRefElementFromProps<NestedProps>\n : HTMLElement;\n export type UntypeRefAndTag<Props> = Intergalactic.InternalTypings.EfficientOmit<\n Props,\n 'ref' | 'tag'\n > & {\n ref: React.Ref<any>;\n tag: Intergalactic.InternalTypings.ComponentTag;\n };\n }\n export type Component<\n BaseTag extends InternalTypings.ComponentTag = never,\n BaseProps = {},\n Context = {},\n AdditionalContext extends Readonly<any[]> = never[],\n > = (<\n Tag extends InternalTypings.ComponentTag | [InternalTypings.ComponentTag, keyof JSX.IntrinsicElements] = BaseTag,\n Props extends BaseProps = BaseProps,\n >(\n props: InternalTypings.ComponentProps<Tag, BaseTag, Props, Context, AdditionalContext>,\n ) => InternalTypings.ComponentRenderingResults) &\n InternalTypings.ComponentAdditive<BaseTag, Tag, BaseProps, Context, AdditionalContext>;\n export type Tag = InternalTypings.ComponentTag;\n export type DomProps<Tag extends keyof JSX.IntrinsicElements> =\n InternalTypings.InferJsxIntrinsicElement<JSX.IntrinsicElements[Tag]>;\n export type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<\n T,\n Exclude<keyof T, Keys>\n > &\n {\n [K in Keys]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<Keys, K>>>;\n }[Keys];\n}\n\nexport const wrapIntergalacticComponent = <\n Component extends Intergalactic.Component<any, any, any, any>,\n PropsExtending = {},\n>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<Component>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): Intergalactic.Component<\n Component['__tag'],\n Component['__props'] & Component['__nestedProps'] & PropsExtending,\n Component['__context'],\n Component['__additionalContext']\n> => wrapper as any;\n"],"mappings":";;;;;AACA,SAGAA,aAAa,QAGN,OAAO;;AAwBd;;AAGA,IAAMC,IAAU,GAAGC,SAAgB;AAEnC,SAASD,IAAI;AAkBb,WAAsBE,SAAS,0BAAAC,cAAA;EAAA,SAAAD,UAAA;IAAA,IAAAE,KAAA;IAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAC,eAAA,OAAAT,SAAA;IAAAE,KAAA,GAAAQ,UAAA,OAAAV,SAAA,KAAAW,MAAA,CAAAL,IAAA;IAAAM,eAAA,CAAAV,KAAA,UA+BKH,SAAS;IAAAa,eAAA,CAAAV,KAAA,kBAElB,KAAK;IAAA,OAAAA,KAAA;EAAA;EAAAW,SAAA,CAAAb,SAAA,EAAAC,cAAA;EAAA,OAAAa,YAAA,CAAAd,SAAA;IAAAe,GAAA;IAAAC,KAAA,EA1B9B,SAAUC,iBAAiBA,CAAA,EAA0D;MACnF;MACA,OAAO,CAAC,CAAC;IACX;EAAC;IAAAF,GAAA;IAAAG,GAAA,EAED,SAAAA,IAAA,EAMG;MACD;MACA,OAAO,CAAC,CAAC;IACX;EAAC;IAAAH,GAAA;IAAAG,GAAA,EAED,SAAAA,IAAA,EAAwB;MACtB,OAAO,CAAC,CAAC;IAKX;EAAC;AAAA,EAvBOrB,aAAa;;AA8BvB;AAAA,WACiBsB,aAAa;AAoO9B,OAAO,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAIrCC,OAKoB;EAAA,OAMjBA,OAAO;AAAA,CAAO","ignoreList":[]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
var CORE_COMPONENT = Symbol("CORE_COMPONENT");
|
|
2
|
-
var CORE_INSTANCE = Symbol("CORE_INSTANCE");
|
|
3
|
-
var CORE_AS_PROPS = Symbol("CORE_AS_PROPS");
|
|
4
|
-
var CORE_INIT = Symbol("CORE_INIT");
|
|
5
|
-
var CONTEXT_COMPONENT = Symbol("CONTEXT_COMPONENT");
|
|
6
|
-
var CREATE_COMPONENT = Symbol("CREATE_COMPONENT");
|
|
7
|
-
var PARENT_COMPONENTS = Symbol("PARENT_COMPONENTS");
|
|
8
|
-
var CHILDREN_COMPONENT = Symbol("CHILDREN_COMPONENT");
|
|
9
|
-
var INHERITED_NAME = Symbol("INHERITED_NAME");
|
|
1
|
+
var CORE_COMPONENT = /* @__PURE__ */ Symbol("CORE_COMPONENT");
|
|
2
|
+
var CORE_INSTANCE = /* @__PURE__ */ Symbol("CORE_INSTANCE");
|
|
3
|
+
var CORE_AS_PROPS = /* @__PURE__ */ Symbol("CORE_AS_PROPS");
|
|
4
|
+
var CORE_INIT = /* @__PURE__ */ Symbol("CORE_INIT");
|
|
5
|
+
var CONTEXT_COMPONENT = /* @__PURE__ */ Symbol("CONTEXT_COMPONENT");
|
|
6
|
+
var CREATE_COMPONENT = /* @__PURE__ */ Symbol("CREATE_COMPONENT");
|
|
7
|
+
var PARENT_COMPONENTS = /* @__PURE__ */ Symbol("PARENT_COMPONENTS");
|
|
8
|
+
var CHILDREN_COMPONENT = /* @__PURE__ */ Symbol("CHILDREN_COMPONENT");
|
|
9
|
+
var INHERITED_NAME = /* @__PURE__ */ Symbol("INHERITED_NAME");
|
|
10
10
|
export {
|
|
11
11
|
CHILDREN_COMPONENT,
|
|
12
12
|
CONTEXT_COMPONENT,
|
package/lib/coreFactory.d.ts
CHANGED
|
@@ -1,27 +1,10 @@
|
|
|
1
|
-
import React
|
|
2
|
-
import {
|
|
3
|
-
import { CORE_COMPONENT, CREATE_COMPONENT } from './core-types/symbols';
|
|
4
|
-
export type PropsAndRef<T, Ctx, UCProps> = PropsWithRenderFnChildren<T, Ctx, UCProps> & RefAttributes<unknown>;
|
|
5
|
-
export type ForwardRefComponent<T, Ctx, UCProps> = ForwardRefExoticComponent<PropsAndRef<T, Ctx, UCProps>>;
|
|
6
|
-
type ComponentOrProps<T, Context, UCProps> = T extends [infer ParentProps, infer ChildProps] ? ComponentType<ParentProps, ChildProps, Context, UCProps> : ForwardRefComponent<T, Context, UCProps>;
|
|
7
|
-
export type ComponentType<ComponentProps, ChildComponentProps = {}, ContextType = {}, UCProps = {}, FNType = null> = (FNType extends null ? ForwardRefComponent<ComponentProps, ContextType, UCProps> : FNType & {
|
|
8
|
-
displayName: string;
|
|
9
|
-
}) & {
|
|
10
|
-
[K in keyof ChildComponentProps]: ComponentOrProps<ChildComponentProps[K], ContextType, UCProps>;
|
|
11
|
-
} & {
|
|
12
|
-
[CORE_COMPONENT]: boolean;
|
|
13
|
-
[CREATE_COMPONENT]: () => ComponentType<ComponentProps, ChildComponentProps, ContextType, UCProps>;
|
|
14
|
-
};
|
|
15
|
-
interface ClassWithUncontrolledProps {
|
|
16
|
-
uncontrolledProps(): unknown;
|
|
17
|
-
}
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type Intergalactic } from './core-types/Component';
|
|
18
3
|
export declare function assignProps(p1: any, p2: any): any;
|
|
19
|
-
declare function createComponent<
|
|
4
|
+
declare function createComponent<T extends Intergalactic.InternalTypings.ComponentTag = 'div', ComponentProps = {}, ContextType = {}, E extends Readonly<any[]> = never[]>(OriginComponent: any, childComponents?: any, options?: {
|
|
20
5
|
context?: React.Context<ContextType>;
|
|
21
|
-
parent?:
|
|
6
|
+
parent?: Intergalactic.Component<any, any, any, any> | Intergalactic.Component<any, any, any, any>[];
|
|
22
7
|
enhancements?: [any];
|
|
23
|
-
}):
|
|
24
|
-
|
|
25
|
-
}, FNType>;
|
|
26
|
-
declare function createBaseComponent<ComponentProps>(OriginComponent: any): ComponentType<ComponentProps>;
|
|
8
|
+
}): Intergalactic.Component<T, ComponentProps, ContextType, E>;
|
|
9
|
+
declare function createBaseComponent<T extends keyof React.JSX.IntrinsicElements, P>(OriginComponent: React.ForwardRefRenderFunction<React.ElementRef<T>, P>): Intergalactic.Component<T, P, {}, never[]>;
|
|
27
10
|
export { createComponent, createBaseComponent };
|