@semcore/core 17.1.0 → 17.2.0-prerelease.3

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 CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [17.2.0] - 2026-06-05
6
+
7
+ ### Added
8
+
9
+ - Flag to define `Icon` components.
10
+ - Flag to define `Icon` components.
11
+
12
+ ### Fixed
13
+
14
+ - FeatureHighlight tokens didn't work in color variables.
15
+ - Update internal core types.
16
+
5
17
  ## [17.1.0] - 2026-05-13
6
18
 
7
19
  ### Added
@@ -1,4 +1,4 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import canUseDOM from "./utils/canUseDOM.mjs";
3
3
  class LastInteractionType {
4
4
  constructor() {
@@ -1,6 +1,7 @@
1
1
  import type React from 'react';
2
2
  import { type AllHTMLAttributes, type ForwardRefExoticComponent, PureComponent, type ReactNode, type RefObject } from 'react';
3
3
  import type { CORE_COMPONENT } from './symbols';
4
+ import { CORE_INSTANCE } from './symbols';
4
5
  import type { IStyledProps } from '../styled/index';
5
6
  type HandlersType<UCProps> = {
6
7
  [K in keyof UCProps]?: <T = unknown>(arg: T) => void;
@@ -26,19 +27,29 @@ declare const Root: Root;
26
27
  export { Root };
27
28
  type RootResult<T extends Intergalactic.Tag | never> = ForwardRefExoticComponent<IRootNodeProps & Intergalactic.InternalTypings.ComponentPropsNesting<T>>;
28
29
  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
+ type UncontrolledPropValueSetterFunction<V> = (event?: any) => void | boolean | V;
31
+ type UncontrolledPropValueChainHandler<V> = (value: V, event?: any) => void | boolean | V;
32
+ type UncontrolledPropValue<V> = V | null | UncontrolledPropValueSetterFunction<V> | Array<UncontrolledPropValueChainHandler<V>> | [UncontrolledPropValueSetterFunction<V> | null, ...UncontrolledPropValueChainHandler<V>[]];
33
+ export interface IComponent<C, P = C extends {
34
+ props: Readonly<infer P>;
35
+ } ? P : never, DP = C extends Component<any, any, any, any, any, infer DP> ? DP extends never ? never : DP : never> {
36
+ new (...args: any[]): C;
37
+ defaultProps?: DP | ((props: P) => DP) | (() => DP);
38
+ }
30
39
  export declare abstract class Component<Props = {}, Enhance extends readonly ((...args: any[]) => any)[] = [], Uncontrolled extends Readonly<{
31
40
  [key in keyof Props]?: UncontrolledPropValue<Props[key]>;
32
- }> = never, InnerProps = {}, State = {}> extends PureComponent<Props, State> {
41
+ }> = never, InnerProps = {}, State = {}, DefaultProps extends Intergalactic.InternalTypings.ValidDefaultProps<DefaultProps, Props & InnerProps> = never> extends PureComponent<Props, State> {
42
+ protected __defaultProps: DefaultProps;
33
43
  protected uncontrolledProps(): [Uncontrolled] extends [never] ? never : Uncontrolled;
34
44
  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;
45
+ [key in keyof Uncontrolled]: key extends keyof Props ? Uncontrolled[key] extends null | Props[key] ? (value: Props[key], e?: any) => void : Uncontrolled[key] extends [UncontrolledPropValueSetterFunction<any> | null, ...UncontrolledPropValueChainHandler<any>[]] ? Uncontrolled[key][1] : Uncontrolled[key] extends Array<UncontrolledPropValueChainHandler<any>> ? Uncontrolled[key][0] : Uncontrolled[key] : never;
36
46
  }>;
37
47
  protected get asProps(): Readonly<{
38
48
  Root: RootResult<any>;
39
- } & BaseAsProps<Props, Enhance, InnerProps> & Intergalactic.InternalTypings.EfficientOmit<AllHTMLAttributes<any>, keyof BaseAsProps<Props, Enhance, InnerProps>>>;
49
+ } & BaseAsProps<Props, Enhance, InnerProps> & Intergalactic.InternalTypings.EfficientOmit<AllHTMLAttributes<any>, keyof BaseAsProps<Props, Enhance, InnerProps>> & ([DefaultProps] extends [never] ? {} : Intergalactic.InternalTypings.MappedDefaultProps<DefaultProps, Props & InnerProps>)>;
40
50
  protected Root: RootResult<any>;
41
51
  protected isControlled: boolean;
52
+ protected [CORE_INSTANCE]: any;
42
53
  }
43
54
  export declare namespace Intergalactic {
44
55
  type ReactFCProps<C extends React.FC> = C extends React.FC<infer Props> ? Omit<Props, 'tag'> : {};
@@ -56,6 +67,13 @@ export declare namespace Intergalactic {
56
67
  } & HighPriorityProps;
57
68
  /** @private */
58
69
  export namespace InternalTypings {
70
+ type StripDefaultPrefix<K> = K extends `default${infer Rest}` ? Uncapitalize<Rest> : K;
71
+ export type ValidDefaultProps<DefaultProps, MergedProps> = {
72
+ [K in keyof DefaultProps]: K extends keyof MergedProps ? MergedProps[K] : StripDefaultPrefix<K> extends keyof MergedProps ? MergedProps[StripDefaultPrefix<K>] : never;
73
+ };
74
+ export type MappedDefaultProps<DefaultProps, MergedProps> = {
75
+ [K in keyof DefaultProps as StripDefaultPrefix<K>]: K extends keyof MergedProps ? Required<MergedProps>[K] : StripDefaultPrefix<K> extends keyof MergedProps ? Required<MergedProps>[StripDefaultPrefix<K>] : never;
76
+ };
59
77
  type MergeChildProps<Root, Component> = {
60
78
  [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
79
  };
@@ -115,6 +133,7 @@ export declare namespace Intergalactic {
115
133
  __props: Props;
116
134
  __context: Context;
117
135
  __additionalContext: AdditionalContext;
136
+ __IS_ICON: boolean;
118
137
  displayName: string;
119
138
  newInstance: () => Component<BaseTag, Props, Context>;
120
139
  [CORE_COMPONENT]: boolean;
@@ -7,14 +7,17 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.wrapIntergalacticComponent = exports.Root = exports.Intergalactic = exports.Component = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _react = require("react");
10
+ var _symbols = require("./symbols");
10
11
  /** @deprecated */
11
12
 
12
13
  const Root = exports.Root = undefined;
13
14
  class Component extends _react.PureComponent {
14
15
  constructor(...args) {
15
16
  super(...args);
17
+ (0, _defineProperty2.default)(this, "__defaultProps", {});
16
18
  (0, _defineProperty2.default)(this, "Root", undefined);
17
19
  (0, _defineProperty2.default)(this, "isControlled", false);
20
+ (0, _defineProperty2.default)(this, _symbols.CORE_INSTANCE, void 0);
18
21
  }
19
22
  uncontrolledProps() {
20
23
  // @ts-ignore. This is a default value. Should be defined in related classes.
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","names":["_react","require","Root","exports","undefined","Component","PureComponent","constructor","args","_defineProperty2","default","uncontrolledProps","handlers","asProps","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,MAAMC,IAAU,GAAAC,OAAA,CAAAD,IAAA,GAAGE,SAAgB;AAoB5B,MAAeC,SAAS,SAMrBC,oBAAa,CAAe;EAAAC,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,gBAyBFN,SAAS;IAAA,IAAAK,gBAAA,CAAAC,OAAA,wBAElB,KAAK;EAAA;EA1BpBC,iBAAiBA,CAAA,EAA0D;IACnF;IACA,OAAO,CAAC,CAAC;EACX;EAEA,IAAcC,QAAQA,CAAA,EAMnB;IACD;IACA,OAAO,CAAC,CAAC;EACX;EAEA,IAAcC,OAAOA,CAAA,EAAG;IACtB,OAAO,CAAC,CAAC;EAKX;AAKF;;AAEA;AAAAV,OAAA,CAAAE,SAAA,GAAAA,SAAA;AAAA,IACiBS,aAAa,GAAAX,OAAA,CAAAW,aAAA;AAoOvB,MAAMC,0BAA0B,GAIrCC,OAKoB,IAMjBA,OAAc;AAACb,OAAA,CAAAY,0BAAA,GAAAA,0BAAA","ignoreList":[]}
1
+ {"version":3,"file":"Component.js","names":["_react","require","_symbols","Root","exports","undefined","Component","PureComponent","constructor","args","_defineProperty2","default","CORE_INSTANCE","uncontrolledProps","handlers","asProps","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 { CORE_INSTANCE } 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 UncontrolledPropValueSetterFunction<V> = (event?: any) => void | boolean | V;\ntype UncontrolledPropValueChainHandler<V> = (value: V, event?: any) => void | boolean | V;\n\ntype UncontrolledPropValue<V> =\n | V\n | null\n | UncontrolledPropValueSetterFunction<V>\n | Array<UncontrolledPropValueChainHandler<V>>\n | [UncontrolledPropValueSetterFunction<V> | null, ...UncontrolledPropValueChainHandler<V>[]];\n\nexport interface IComponent<\n C,\n /*\n * Infered this way since `Props` within `Component` abstract class\n * is used in multiple places in different variance positions\n * causing the final type to be `never`.\n * */\n P = C extends { props: Readonly<infer P> } ? P : never,\n DP = C extends Component<any, any, any, any, any, infer DP> ?\n DP extends never\n ? never\n : DP\n : never,\n> {\n new (...args: any[]): C;\n defaultProps?: DP | ((props: P) => DP) | (() => DP);\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 DefaultProps extends Intergalactic.InternalTypings.ValidDefaultProps<DefaultProps, Props & InnerProps> = never,\n> extends PureComponent<Props, State> {\n protected __defaultProps: DefaultProps = {} as DefaultProps;\n\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 [UncontrolledPropValueSetterFunction<any> | null, ...UncontrolledPropValueChainHandler<any>[]]\n ? Uncontrolled[key][1]\n : Uncontrolled[key] extends Array<UncontrolledPropValueChainHandler<any>>\n ? Uncontrolled[key][0]\n : 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> } & BaseAsProps<Props, Enhance, InnerProps> &\n Intergalactic.InternalTypings.EfficientOmit<\n AllHTMLAttributes<any>,\n keyof BaseAsProps<Props, Enhance, InnerProps>\n > &\n ([DefaultProps] extends [never] ? {} : Intergalactic.InternalTypings.MappedDefaultProps<DefaultProps, Props & InnerProps>)\n >;\n }\n\n protected Root: RootResult<any> = undefined as any;\n\n protected isControlled = false;\n\n protected [CORE_INSTANCE]: any;\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 StripDefaultPrefix<K> = K extends `default${infer Rest}` ? Uncapitalize<Rest> : K;\n\n export type ValidDefaultProps<DefaultProps, MergedProps> = {\n [K in keyof DefaultProps]: K extends keyof MergedProps\n ? MergedProps[K]\n : StripDefaultPrefix<K> extends keyof MergedProps\n ? MergedProps[StripDefaultPrefix<K>]\n : never;\n };\n\n export type MappedDefaultProps<DefaultProps, MergedProps> = {\n [K in keyof DefaultProps as StripDefaultPrefix<K>]: K extends keyof MergedProps\n ? Required<MergedProps>[K]\n : StripDefaultPrefix<K> extends keyof MergedProps\n ? Required<MergedProps>[StripDefaultPrefix<K>]\n : never;\n };\n\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 __IS_ICON: boolean;\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;AASA,IAAAC,QAAA,GAAAD,OAAA;AAsBA;;AAGA,MAAME,IAAU,GAAAC,OAAA,CAAAD,IAAA,GAAGE,SAAgB;AAwC5B,MAAeC,SAAS,SAOrBC,oBAAa,CAAe;EAAAC,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,0BACK,CAAC,CAAC;IAAA,IAAAD,gBAAA,CAAAC,OAAA,gBAiCTN,SAAS;IAAA,IAAAK,gBAAA,CAAAC,OAAA,wBAElB,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,QAEnBC,sBAAa;EAAA;EAnCdC,iBAAiBA,CAAA,EAA0D;IACnF;IACA,OAAO,CAAC,CAAC;EACX;EAEA,IAAcC,QAAQA,CAAA,EAUnB;IACD;IACA,OAAO,CAAC,CAAC;EACX;EAEA,IAAcC,OAAOA,CAAA,EAAG;IACtB,OAAO,CAAC,CAAC;EAQX;AAOF;;AAEA;AAAAX,OAAA,CAAAE,SAAA,GAAAA,SAAA;AAAA,IACiBU,aAAa,GAAAZ,OAAA,CAAAY,aAAA;AAuPvB,MAAMC,0BAA0B,GAIrCC,OAKoB,IAMjBA,OAAc;AAACd,OAAA,CAAAa,0BAAA,GAAAA,0BAAA","ignoreList":[]}
@@ -1,11 +1,14 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import { PureComponent } from "react";
3
+ import { CORE_INSTANCE } from "./symbols.mjs";
3
4
  const Root = void 0;
4
5
  class Component extends PureComponent {
5
6
  constructor(...args) {
6
7
  super(...args);
8
+ _defineProperty(this, "__defaultProps", {});
7
9
  _defineProperty(this, "Root", void 0);
8
10
  _defineProperty(this, "isControlled", false);
11
+ _defineProperty(this, CORE_INSTANCE, void 0);
9
12
  }
10
13
  uncontrolledProps() {
11
14
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"Component.mjs","names":["PureComponent","Root","undefined","Component","constructor","args","_defineProperty","uncontrolledProps","handlers","asProps","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,MAAMC,IAAU,GAAGC,SAAgB;AAEnC,SAASD,IAAI;AAkBb,OAAO,MAAeE,SAAS,SAMrBH,aAAa,CAAe;EAAAI,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,eAyBFJ,SAAS;IAAAI,eAAA,uBAElB,KAAK;EAAA;EA1BpBC,iBAAiBA,CAAA,EAA0D;IACnF;IACA,OAAO,CAAC,CAAC;EACX;EAEA,IAAcC,QAAQA,CAAA,EAMnB;IACD;IACA,OAAO,CAAC,CAAC;EACX;EAEA,IAAcC,OAAOA,CAAA,EAAG;IACtB,OAAO,CAAC,CAAC;EAKX;AAKF;;AAEA;AAAA,WACiBC,aAAa;AAoO9B,OAAO,MAAMC,0BAA0B,GAIrCC,OAKoB,IAMjBA,OAAc","ignoreList":[]}
1
+ {"version":3,"file":"Component.mjs","names":["PureComponent","CORE_INSTANCE","Root","undefined","Component","constructor","args","_defineProperty","uncontrolledProps","handlers","asProps","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 { CORE_INSTANCE } 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 UncontrolledPropValueSetterFunction<V> = (event?: any) => void | boolean | V;\ntype UncontrolledPropValueChainHandler<V> = (value: V, event?: any) => void | boolean | V;\n\ntype UncontrolledPropValue<V> =\n | V\n | null\n | UncontrolledPropValueSetterFunction<V>\n | Array<UncontrolledPropValueChainHandler<V>>\n | [UncontrolledPropValueSetterFunction<V> | null, ...UncontrolledPropValueChainHandler<V>[]];\n\nexport interface IComponent<\n C,\n /*\n * Infered this way since `Props` within `Component` abstract class\n * is used in multiple places in different variance positions\n * causing the final type to be `never`.\n * */\n P = C extends { props: Readonly<infer P> } ? P : never,\n DP = C extends Component<any, any, any, any, any, infer DP> ?\n DP extends never\n ? never\n : DP\n : never,\n> {\n new (...args: any[]): C;\n defaultProps?: DP | ((props: P) => DP) | (() => DP);\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 DefaultProps extends Intergalactic.InternalTypings.ValidDefaultProps<DefaultProps, Props & InnerProps> = never,\n> extends PureComponent<Props, State> {\n protected __defaultProps: DefaultProps = {} as DefaultProps;\n\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 [UncontrolledPropValueSetterFunction<any> | null, ...UncontrolledPropValueChainHandler<any>[]]\n ? Uncontrolled[key][1]\n : Uncontrolled[key] extends Array<UncontrolledPropValueChainHandler<any>>\n ? Uncontrolled[key][0]\n : 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> } & BaseAsProps<Props, Enhance, InnerProps> &\n Intergalactic.InternalTypings.EfficientOmit<\n AllHTMLAttributes<any>,\n keyof BaseAsProps<Props, Enhance, InnerProps>\n > &\n ([DefaultProps] extends [never] ? {} : Intergalactic.InternalTypings.MappedDefaultProps<DefaultProps, Props & InnerProps>)\n >;\n }\n\n protected Root: RootResult<any> = undefined as any;\n\n protected isControlled = false;\n\n protected [CORE_INSTANCE]: any;\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 StripDefaultPrefix<K> = K extends `default${infer Rest}` ? Uncapitalize<Rest> : K;\n\n export type ValidDefaultProps<DefaultProps, MergedProps> = {\n [K in keyof DefaultProps]: K extends keyof MergedProps\n ? MergedProps[K]\n : StripDefaultPrefix<K> extends keyof MergedProps\n ? MergedProps[StripDefaultPrefix<K>]\n : never;\n };\n\n export type MappedDefaultProps<DefaultProps, MergedProps> = {\n [K in keyof DefaultProps as StripDefaultPrefix<K>]: K extends keyof MergedProps\n ? Required<MergedProps>[K]\n : StripDefaultPrefix<K> extends keyof MergedProps\n ? Required<MergedProps>[StripDefaultPrefix<K>]\n : never;\n };\n\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 __IS_ICON: boolean;\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;AAGd,SAASC,aAAa,QAAQ,eAAW;;AAsBzC;;AAGA,MAAMC,IAAU,GAAGC,SAAgB;AAEnC,SAASD,IAAI;AAsCb,OAAO,MAAeE,SAAS,SAOrBJ,aAAa,CAAe;EAAAK,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,yBACK,CAAC,CAAC;IAAAA,eAAA,eAiCTJ,SAAS;IAAAI,eAAA,uBAElB,KAAK;IAAAA,eAAA,OAEnBN,aAAa;EAAA;EAnCdO,iBAAiBA,CAAA,EAA0D;IACnF;IACA,OAAO,CAAC,CAAC;EACX;EAEA,IAAcC,QAAQA,CAAA,EAUnB;IACD;IACA,OAAO,CAAC,CAAC;EACX;EAEA,IAAcC,OAAOA,CAAA,EAAG;IACtB,OAAO,CAAC,CAAC;EAQX;AAOF;;AAEA;AAAA,WACiBC,aAAa;AAuP9B,OAAO,MAAMC,0BAA0B,GAIrCC,OAKoB,IAMjBA,OAAc","ignoreList":[]}
@@ -1,10 +1,17 @@
1
1
  import React from 'react';
2
- import { type Intergalactic } from './core-types/Component';
2
+ import type { IComponent, Intergalactic } from './core-types/Component';
3
+ import { Component } from './core-types/Component';
3
4
  export declare function assignProps(p1: any, p2: any): any;
4
- declare function createComponent<T extends Intergalactic.InternalTypings.ComponentTag = 'div', ComponentProps = {}, ContextType = {}, E extends Readonly<any[]> = never[]>(OriginComponent: any, childComponents?: any, options?: {
5
- context?: React.Context<ContextType>;
5
+ type ClassComponent = new (...args: any[]) => Component<any, any, any, any, any, any>;
6
+ type FunctionComponent = React.FunctionComponent<any>;
7
+ type OriginComponent<OC> = OC extends FunctionComponent ? FunctionComponent : OC extends ClassComponent ? IComponent<InstanceType<OC>> : never;
8
+ declare function createComponent<C = never, OC extends ClassComponent | FunctionComponent = never>(OriginComponent: OriginComponent<OC>, childComponents?: any, options?: {
9
+ context?: React.Context<any>;
6
10
  parent?: Intergalactic.Component<any, any, any, any> | Intergalactic.Component<any, any, any, any>[];
7
11
  enhancements?: [any];
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[]>;
12
+ }): C;
13
+ type BaseComponentOptions = {
14
+ isIcon?: boolean;
15
+ };
16
+ declare function createBaseComponent<C = never, OC extends React.ForwardRefRenderFunction<unknown, any> = never, OCRef = OC extends React.ForwardRefRenderFunction<infer Ref, any> ? Ref : never, OCProps = OC extends React.ForwardRefRenderFunction<OCRef, infer Props> ? Props : never>(OriginComponent: React.ForwardRefRenderFunction<OCRef, OCProps>, opt?: BaseComponentOptions): C;
10
17
  export { createComponent, createBaseComponent };
@@ -291,14 +291,18 @@ function createComponent(OriginComponent, childComponents = {}, options = {}) {
291
291
  Component[_symbols.CORE_COMPONENT] = true;
292
292
  return Component;
293
293
  }
294
- function createBaseComponent(OriginComponent) {
294
+ function createBaseComponent(OriginComponent, opt) {
295
295
  const Component = /*#__PURE__*/_react.default.forwardRef(OriginComponent);
296
296
  Component.displayName = OriginComponent.displayName ?? '';
297
- // @ts-ignore
298
297
  Component.defaultProps = {
298
+ // @ts-ignore
299
299
  'data-ui-name': OriginComponent.displayName
300
300
  };
301
+ // @ts-ignore
301
302
  Component[_symbols.CORE_COMPONENT] = true;
303
+
304
+ // @ts-ignore
305
+ Component.__IS_ICON = Boolean(opt?.isIcon);
302
306
  return Component;
303
307
  }
304
308
  //# sourceMappingURL=coreFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coreFactory.js","names":["_hoistNonReactStatics","_interopRequireDefault","require","_react","_Component2","_symbols","_Children","_dataName","_enhance","_functionDefaultProps","_i18n","_inheritedName","_Root","_staticChildren","_interopRequireWildcard","_style","_uncontrolledProps","_assignProps2","_ref","_useEnhancedEffect","isEmptyObject","obj","Object","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","prototype","createGetField","enhancements","Component","isFunction","getField","key","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","RootComponent","ROOT_COMPONENT","getterMethodName","getterMethodNameByDisplayName","displayName","getterMethod","undefined","useGetterIndex","WrapperForwardRefWithBind","forwardRef","other","ref","default","createElement","BindingWrapper","_extends2","useForkRef","WrapperForwardRef","__WRAPPER_PROPS_BIND__","enhancementRef","props","WrapperComponent","React","constructor","args","_defineProperty2","render","map","fn","bind","hoistNonReactStatics","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","CORE_AS_PROPS","CORE_INSTANCE","CORE_INIT","call","asProps","Error","prefixesMap","Map","entries","value","prefix","propertyKey","split","get","set","defineProperty","setContext","contextProps","ctx","STATIC_COMPONENT","Provider","wrapFunction","memo","FunctionMemoComponent","selfRef","useRef","firstRender","useEnhancedEffect","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","CORE_COMPONENT","assignProps","p1","p2","_assignProps","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","PARENT_COMPONENTS","f","i18nAppLocaleEnhance","childrenEnhancement","rootEnhancement","uncontrolledPropsEnhancement","staticChildrenEnhancement","functionDefaultPropsEnhancement","inheritedNameEnhancement","dataNameEnhancement","enhanceEnhancement","styleEnhancement","CONTEXT_COMPONENT","_______childrenComponents","CREATE_COMPONENT","_OriginComponent","_childComponents","_options","newInstance","createBaseComponent"],"sources":["../src/coreFactory.tsx"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport React from 'react';\n\nimport { type Intergalactic, Component } from './core-types/Component';\nimport {\n CONTEXT_COMPONENT,\n CORE_AS_PROPS,\n CORE_COMPONENT,\n CORE_INIT,\n CORE_INSTANCE,\n CREATE_COMPONENT,\n PARENT_COMPONENTS,\n} from './core-types/symbols';\nimport childrenEnhancement from './enhancement/Children';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport i18nAppLocaleEnhance from './enhancement/i18n';\nimport inheritedNameEnhancement from './enhancement/inheritedName';\nimport rootEnhancement from './enhancement/Root';\nimport staticChildrenEnhancement, {\n getterMethodNameByDisplayName,\n ROOT_COMPONENT,\n STATIC_COMPONENT,\n} from './enhancement/staticChildren';\nimport styleEnhancement from './enhancement/style';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport _assignProps from './utils/assignProps';\nimport { useForkRef } from './utils/ref';\nimport useEnhancedEffect from './utils/use/useEnhancedEffect';\n\nfunction isEmptyObject(obj: any) {\n return (\n Object.getOwnPropertyNames(obj).length === 0 &&\n Object.getOwnPropertySymbols && // For IE 11\n Object.getOwnPropertySymbols(obj).length === 0 &&\n Object.getPrototypeOf(obj) === Object.prototype\n );\n}\n\nfunction createGetField(enhancements: any, Component: any, isFunction: boolean) {\n return function getField(key: string) {\n return enhancements\n .filter((enhancement: any) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc: any, item: any) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component: any, wrapperProps: any, statics: any, isFunction: any) {\n const RootComponent = Component[ROOT_COMPONENT];\n const getterMethodName = getterMethodNameByDisplayName(Component?.displayName);\n const getterMethod = RootComponent?.prototype\n ? RootComponent.prototype[getterMethodName]\n : undefined;\n const useGetterIndex = getterMethod?.length >= 2;\n\n function WrapperForwardRefWithBind({ forwardRef = null, ...other }, ref: any) {\n return <BindingWrapper {...other} forwardRef={useForkRef(ref, forwardRef)} />;\n }\n\n function WrapperForwardRef(\n { forwardRef = null, __WRAPPER_PROPS_BIND__, ...other }: any,\n ref: any,\n ) {\n const { ref: enhancementRef = null, ...props } = (\n __WRAPPER_PROPS_BIND__ || wrapperProps\n ).reduce((acc: any, enhancement: any) => enhancement(acc, WrapperComponent, isFunction), other);\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\n }\n\n class BindingWrapper extends React.Component<any> {\n index = -1;\n render() {\n return (\n <WrapperForwardRef\n {...this.props}\n __WRAPPER_PROPS_BIND__={wrapperProps.map((fn: any) => fn.bind(this))}\n />\n );\n }\n }\n\n const WrapperComponent = React.forwardRef(\n useGetterIndex ? WrapperForwardRefWithBind : WrapperForwardRef,\n );\n\n hoistNonReactStatics(WrapperComponent, Component);\n\n WrapperComponent.displayName = Component.displayName;\n // TODO: defaultProps is only empty\n WrapperComponent.defaultProps = Component.defaultProps;\n // STATIC\n statics.forEach((enhancement: any) =>\n Object.assign(WrapperComponent, enhancement(WrapperComponent, Component, isFunction)),\n );\n\n return WrapperComponent;\n}\n\nfunction wrapClass(OriginComponent: any, enhancements: any, Context: any) {\n const getField = createGetField(enhancements, OriginComponent, false);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n class Component extends OriginComponent {\n [CORE_AS_PROPS] = null;\n [CORE_INSTANCE] = WrapperComponent;\n [CORE_INIT] = false;\n\n constructor(props: any, context: any) {\n super(props, context);\n // INITS\n inits.forEach((enhancement: any) => enhancement.call(this, props, WrapperComponent, false));\n this[CORE_INIT] = true;\n }\n\n get asProps() {\n // TODO if not production\n if (!this[CORE_INIT]) {\n throw new Error('Can not call asProps in constructor');\n }\n if (!this[CORE_AS_PROPS]) {\n // PROPS\n this[CORE_AS_PROPS] = props.reduce((acc: any, enhancement: any) => {\n return enhancement.call(this, acc, WrapperComponent, false);\n }, this.props);\n\n if (this[CORE_AS_PROPS] !== null) {\n const prefixesMap = new Map<string, Record<string, unknown>>();\n Object.entries(this[CORE_AS_PROPS]).forEach(([key, value]) => {\n const [prefix, propertyKey] = key.split(':');\n if (prefix !== 'use' && propertyKey) {\n const obj = prefixesMap.get(prefix) ?? {};\n obj[propertyKey] = value;\n\n prefixesMap.set(prefix, obj);\n }\n });\n\n for (const [key, value] of prefixesMap.entries()) {\n Object.defineProperty(this[CORE_AS_PROPS], `${key}Props`, { value });\n }\n }\n }\n return this[CORE_AS_PROPS];\n }\n\n setContext() {\n const contextProps = super.setContext ? super.setContext() : {};\n // CONTEXT\n return contexts.reduce(\n (acc: any, enhancement: any) => enhancement.call(this, acc, WrapperComponent, false),\n contextProps,\n );\n }\n\n render() {\n this[CORE_AS_PROPS] = null;\n // TODO if not production\n if (!super.render) {\n throw new Error('Component `render` method is not defined');\n }\n const asProps: any = this.asProps;\n const ctx = this.setContext();\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(this, acc, asProps, WrapperComponent, false),\n super.render(),\n );\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n }\n }\n\n const WrapperComponent: any = createForwardWrapper(Component, wrapperProps, statics, false);\n return WrapperComponent;\n}\n\nfunction wrapFunction(OriginComponent: any, enhancements: any, Context: any) {\n const getField = createGetField(enhancements, OriginComponent, true);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n const Component = React.memo(function FunctionMemoComponent(other) {\n const selfRef = React.useRef({});\n const firstRender = React.useRef(true);\n useEnhancedEffect(() => {\n firstRender.current = false;\n }, []);\n if (firstRender.current) {\n // INITS\n inits.forEach((enhancement: any) =>\n enhancement.call(selfRef.current, other, WrapperComponent, true),\n );\n }\n // PROPS\n const asProps = props.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n other,\n );\n // CONTEXT\n const ctx = contexts.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n {},\n );\n\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, asProps, WrapperComponent, true),\n <OriginComponent {...asProps} />,\n );\n\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n });\n Object.assign(Component, OriginComponent);\n const WrapperComponent: any = createForwardWrapper(Component, wrapperProps, statics, true);\n return WrapperComponent;\n}\n\nfunction wrapCore(OriginComponent: any, enhancements: any, Context: any) {\n const Component = function ({ Root }: any) {\n const defaultProps = OriginComponent.defaultProps || {};\n return <Root {...defaultProps} render={OriginComponent} />;\n };\n hoistNonReactStatics(Component, OriginComponent);\n Component.displayName = OriginComponent.displayName;\n return wrapFunction(Component, enhancements, Context);\n}\n\nfunction createComposeComponent(OriginComponent: any, Context: any, enhancements: any): any {\n if (\n React.PureComponent.isPrototypeOf(OriginComponent) ||\n React.Component.isPrototypeOf(OriginComponent)\n ) {\n if (OriginComponent.prototype instanceof Component) {\n return wrapClass(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must inherit from our component');\n }\n } else if (typeof OriginComponent === 'function') {\n return wrapFunction(OriginComponent, enhancements, Context);\n } else if (OriginComponent[CORE_COMPONENT]) {\n return wrapCore(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must be a React component');\n }\n}\n\nexport function assignProps(p1: any, p2: any) {\n return _assignProps(p2, p1);\n}\n\nfunction createComponent<T extends Intergalactic.InternalTypings.ComponentTag = 'div', ComponentProps = {}, ContextType = {}, E extends Readonly<any[]> = never[]>(\n OriginComponent: any,\n childComponents: any = {},\n options: {\n context?: React.Context<ContextType>;\n parent?: Intergalactic.Component<any, any, any, any> | Intergalactic.Component<any, any, any, any>[];\n enhancements?: [any];\n } = {},\n): Intergalactic.Component<T, ComponentProps, ContextType, E> {\n const {\n context = React.createContext<ContextType>({} as ContextType),\n parent = [],\n enhancements = [],\n } = options;\n let parents: any[] = Array.isArray(parent) ? parent : [parent];\n if (parents.length) {\n const wholeFamily = parents.reduce((acc: any, parent: any) => {\n if (parent[PARENT_COMPONENTS]) {\n acc = [...parent[PARENT_COMPONENTS], ...acc];\n }\n return acc;\n }, parents);\n // @ts-ignore\n OriginComponent[PARENT_COMPONENTS] = wholeFamily;\n parents = wholeFamily;\n }\n // @ts-ignore\n if (OriginComponent[CORE_COMPONENT]) {\n parents.push(OriginComponent);\n }\n const Component = createComposeComponent(OriginComponent, context, [\n // @ts-ignore\n ...enhancements.map((f) => f(context, parents, createComponent, childComponents)),\n i18nAppLocaleEnhance(),\n childrenEnhancement(context, parents),\n // root must be under the children\n rootEnhancement(),\n uncontrolledPropsEnhancement(),\n staticChildrenEnhancement(childComponents, createComponent, {\n context,\n parent,\n enhancements,\n }),\n // functionDefaultProps must be under the staticChild\n functionDefaultPropsEnhancement(),\n // inheritedName must be under the staticChild\n inheritedNameEnhancement(),\n // dataName must be under the staticChild\n dataNameEnhancement(),\n // enhanceEnhancement must be under the functionDefaultPropsEnhancement\n enhanceEnhancement(),\n styleEnhancement(childComponents, context),\n ]);\n Component[CONTEXT_COMPONENT] = context;\n Component._______childrenComponents = childComponents;\n Component[CREATE_COMPONENT] = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent(_OriginComponent, _childComponents, _options);\n };\n Component.newInstance = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent(_OriginComponent, _childComponents, _options);\n };\n Component[CORE_COMPONENT] = true;\n return Component;\n}\n\nfunction createBaseComponent<T extends keyof React.JSX.IntrinsicElements, P>(OriginComponent: React.ForwardRefRenderFunction<React.ElementRef<T>, P>) {\n const Component = React.forwardRef<React.ElementRef<T>, P>(OriginComponent) as unknown as Intergalactic.Component<T, P>;\n Component.displayName = OriginComponent.displayName ?? '';\n // @ts-ignore\n Component.defaultProps = {\n 'data-ui-name': OriginComponent.displayName,\n };\n Component[CORE_COMPONENT] = true;\n\n return Component;\n}\n\nexport { createComponent, createBaseComponent };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"coreFactory.js","names":["_hoistNonReactStatics","_interopRequireDefault","require","_react","_Component2","_symbols","_Children","_dataName","_enhance","_functionDefaultProps","_i18n","_inheritedName","_Root","_staticChildren","_interopRequireWildcard","_style","_uncontrolledProps","_assignProps2","_ref","_useEnhancedEffect","isEmptyObject","obj","Object","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","prototype","createGetField","enhancements","Component","isFunction","getField","key","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","RootComponent","ROOT_COMPONENT","getterMethodName","getterMethodNameByDisplayName","displayName","getterMethod","undefined","useGetterIndex","WrapperForwardRefWithBind","forwardRef","other","ref","default","createElement","BindingWrapper","_extends2","useForkRef","WrapperForwardRef","__WRAPPER_PROPS_BIND__","enhancementRef","props","WrapperComponent","React","constructor","args","_defineProperty2","render","map","fn","bind","hoistNonReactStatics","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","CORE_AS_PROPS","CORE_INSTANCE","CORE_INIT","call","asProps","Error","prefixesMap","Map","entries","value","prefix","propertyKey","split","get","set","defineProperty","setContext","contextProps","ctx","STATIC_COMPONENT","Provider","wrapFunction","memo","FunctionMemoComponent","selfRef","useRef","firstRender","useEnhancedEffect","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","CORE_COMPONENT","assignProps","p1","p2","_assignProps","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","PARENT_COMPONENTS","f","i18nAppLocaleEnhance","childrenEnhancement","rootEnhancement","uncontrolledPropsEnhancement","staticChildrenEnhancement","functionDefaultPropsEnhancement","inheritedNameEnhancement","dataNameEnhancement","enhanceEnhancement","styleEnhancement","CONTEXT_COMPONENT","_______childrenComponents","CREATE_COMPONENT","_OriginComponent","_childComponents","_options","newInstance","createBaseComponent","opt","__IS_ICON","Boolean","isIcon"],"sources":["../src/coreFactory.tsx"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport React from 'react';\n\nimport type { IComponent, Intergalactic } from './core-types/Component';\nimport { Component } from './core-types/Component';\nimport {\n CONTEXT_COMPONENT,\n CORE_AS_PROPS,\n CORE_COMPONENT,\n CORE_INIT,\n CORE_INSTANCE,\n CREATE_COMPONENT,\n PARENT_COMPONENTS,\n} from './core-types/symbols';\nimport childrenEnhancement from './enhancement/Children';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport i18nAppLocaleEnhance from './enhancement/i18n';\nimport inheritedNameEnhancement from './enhancement/inheritedName';\nimport rootEnhancement from './enhancement/Root';\nimport staticChildrenEnhancement, {\n getterMethodNameByDisplayName,\n ROOT_COMPONENT,\n STATIC_COMPONENT,\n} from './enhancement/staticChildren';\nimport styleEnhancement from './enhancement/style';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport _assignProps from './utils/assignProps';\nimport { useForkRef } from './utils/ref';\nimport useEnhancedEffect from './utils/use/useEnhancedEffect';\n\nfunction isEmptyObject(obj: any) {\n return (\n Object.getOwnPropertyNames(obj).length === 0 &&\n Object.getOwnPropertySymbols && // For IE 11\n Object.getOwnPropertySymbols(obj).length === 0 &&\n Object.getPrototypeOf(obj) === Object.prototype\n );\n}\n\nfunction createGetField(enhancements: any, Component: any, isFunction: boolean) {\n return function getField(key: string) {\n return enhancements\n .filter((enhancement: any) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc: any, item: any) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component: any, wrapperProps: any, statics: any, isFunction: any) {\n const RootComponent = Component[ROOT_COMPONENT];\n const getterMethodName = getterMethodNameByDisplayName(Component?.displayName);\n const getterMethod = RootComponent?.prototype\n ? RootComponent.prototype[getterMethodName]\n : undefined;\n const useGetterIndex = getterMethod?.length >= 2;\n\n function WrapperForwardRefWithBind({ forwardRef = null, ...other }, ref: any) {\n return <BindingWrapper {...other} forwardRef={useForkRef(ref, forwardRef)} />;\n }\n\n function WrapperForwardRef(\n { forwardRef = null, __WRAPPER_PROPS_BIND__, ...other }: any,\n ref: any,\n ) {\n const { ref: enhancementRef = null, ...props } = (\n __WRAPPER_PROPS_BIND__ || wrapperProps\n ).reduce((acc: any, enhancement: any) => enhancement(acc, WrapperComponent, isFunction), other);\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\n }\n\n class BindingWrapper extends React.Component<any> {\n index = -1;\n render() {\n return (\n <WrapperForwardRef\n {...this.props}\n __WRAPPER_PROPS_BIND__={wrapperProps.map((fn: any) => fn.bind(this))}\n />\n );\n }\n }\n\n const WrapperComponent = React.forwardRef(\n useGetterIndex ? WrapperForwardRefWithBind : WrapperForwardRef,\n );\n\n hoistNonReactStatics(WrapperComponent, Component);\n\n WrapperComponent.displayName = Component.displayName;\n // TODO: defaultProps is only empty\n WrapperComponent.defaultProps = Component.defaultProps;\n // STATIC\n statics.forEach((enhancement: any) =>\n Object.assign(WrapperComponent, enhancement(WrapperComponent, Component, isFunction)),\n );\n\n return WrapperComponent;\n}\n\nfunction wrapClass(OriginComponent: any, enhancements: any, Context: any) {\n const getField = createGetField(enhancements, OriginComponent, false);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n class Component extends OriginComponent {\n [CORE_AS_PROPS] = null;\n [CORE_INSTANCE] = WrapperComponent;\n [CORE_INIT] = false;\n\n constructor(props: any, context: any) {\n super(props, context);\n // INITS\n inits.forEach((enhancement: any) => enhancement.call(this, props, WrapperComponent, false));\n this[CORE_INIT] = true;\n }\n\n get asProps() {\n // TODO if not production\n if (!this[CORE_INIT]) {\n throw new Error('Can not call asProps in constructor');\n }\n if (!this[CORE_AS_PROPS]) {\n // PROPS\n this[CORE_AS_PROPS] = props.reduce((acc: any, enhancement: any) => {\n return enhancement.call(this, acc, WrapperComponent, false);\n }, this.props);\n\n if (this[CORE_AS_PROPS] !== null) {\n const prefixesMap = new Map<string, Record<string, unknown>>();\n Object.entries(this[CORE_AS_PROPS]).forEach(([key, value]) => {\n const [prefix, propertyKey] = key.split(':');\n if (prefix !== 'use' && propertyKey) {\n const obj = prefixesMap.get(prefix) ?? {};\n obj[propertyKey] = value;\n\n prefixesMap.set(prefix, obj);\n }\n });\n\n for (const [key, value] of prefixesMap.entries()) {\n Object.defineProperty(this[CORE_AS_PROPS], `${key}Props`, { value });\n }\n }\n }\n return this[CORE_AS_PROPS];\n }\n\n setContext() {\n const contextProps = super.setContext ? super.setContext() : {};\n // CONTEXT\n return contexts.reduce(\n (acc: any, enhancement: any) => enhancement.call(this, acc, WrapperComponent, false),\n contextProps,\n );\n }\n\n render() {\n this[CORE_AS_PROPS] = null;\n // TODO if not production\n if (!super.render) {\n throw new Error('Component `render` method is not defined');\n }\n const asProps: any = this.asProps;\n const ctx = this.setContext();\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(this, acc, asProps, WrapperComponent, false),\n super.render(),\n );\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n }\n }\n\n const WrapperComponent: any = createForwardWrapper(Component, wrapperProps, statics, false);\n return WrapperComponent;\n}\n\nfunction wrapFunction(OriginComponent: any, enhancements: any, Context: any) {\n const getField = createGetField(enhancements, OriginComponent, true);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n const Component = React.memo(function FunctionMemoComponent(other) {\n const selfRef = React.useRef({});\n const firstRender = React.useRef(true);\n useEnhancedEffect(() => {\n firstRender.current = false;\n }, []);\n if (firstRender.current) {\n // INITS\n inits.forEach((enhancement: any) =>\n enhancement.call(selfRef.current, other, WrapperComponent, true),\n );\n }\n // PROPS\n const asProps = props.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n other,\n );\n // CONTEXT\n const ctx = contexts.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n {},\n );\n\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, asProps, WrapperComponent, true),\n <OriginComponent {...asProps} />,\n );\n\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n });\n Object.assign(Component, OriginComponent);\n const WrapperComponent: any = createForwardWrapper(Component, wrapperProps, statics, true);\n return WrapperComponent;\n}\n\nfunction wrapCore(OriginComponent: any, enhancements: any, Context: any) {\n const Component = function ({ Root }: any) {\n const defaultProps = OriginComponent.defaultProps || {};\n return <Root {...defaultProps} render={OriginComponent} />;\n };\n hoistNonReactStatics(Component, OriginComponent);\n Component.displayName = OriginComponent.displayName;\n return wrapFunction(Component, enhancements, Context);\n}\n\nfunction createComposeComponent(OriginComponent: any, Context: any, enhancements: any): any {\n if (\n React.PureComponent.isPrototypeOf(OriginComponent) ||\n React.Component.isPrototypeOf(OriginComponent)\n ) {\n if (OriginComponent.prototype instanceof Component) {\n return wrapClass(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must inherit from our component');\n }\n } else if (typeof OriginComponent === 'function') {\n return wrapFunction(OriginComponent, enhancements, Context);\n } else if (OriginComponent[CORE_COMPONENT]) {\n return wrapCore(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must be a React component');\n }\n}\n\nexport function assignProps(p1: any, p2: any) {\n return _assignProps(p2, p1);\n}\n\ntype ClassComponent = new (...args: any[]) => Component<any, any, any, any, any, any>;\ntype FunctionComponent = React.FunctionComponent<any>;\n\ntype OriginComponent<OC> =\n OC extends FunctionComponent\n ? FunctionComponent\n : OC extends ClassComponent\n ? IComponent<InstanceType<OC>>\n : never;\n\nfunction createComponent<\n C = never,\n OC extends ClassComponent | FunctionComponent = never,\n>(\n OriginComponent: OriginComponent<OC>,\n childComponents: any = {},\n options: {\n context?: React.Context<any>;\n parent?: Intergalactic.Component<any, any, any, any> | Intergalactic.Component<any, any, any, any>[];\n enhancements?: [any];\n } = {},\n): C {\n const {\n context = React.createContext({}),\n parent = [],\n enhancements = [],\n } = options;\n let parents: any[] = Array.isArray(parent) ? parent : [parent];\n if (parents.length) {\n const wholeFamily = parents.reduce((acc: any, parent: any) => {\n if (parent[PARENT_COMPONENTS]) {\n acc = [...parent[PARENT_COMPONENTS], ...acc];\n }\n return acc;\n }, parents);\n // @ts-ignore\n OriginComponent[PARENT_COMPONENTS] = wholeFamily;\n parents = wholeFamily;\n }\n // @ts-ignore\n if (OriginComponent[CORE_COMPONENT]) {\n parents.push(OriginComponent);\n }\n const Component = createComposeComponent(OriginComponent, context, [\n // @ts-ignore\n ...enhancements.map((f) => f(context, parents, createComponent, childComponents)),\n i18nAppLocaleEnhance(),\n childrenEnhancement(context, parents),\n // root must be under the children\n rootEnhancement(),\n uncontrolledPropsEnhancement(),\n staticChildrenEnhancement(childComponents, createComponent, {\n context,\n parent,\n enhancements,\n }),\n // functionDefaultProps must be under the staticChild\n functionDefaultPropsEnhancement(),\n // inheritedName must be under the staticChild\n inheritedNameEnhancement(),\n // dataName must be under the staticChild\n dataNameEnhancement(),\n // enhanceEnhancement must be under the functionDefaultPropsEnhancement\n enhanceEnhancement(),\n styleEnhancement(childComponents, context),\n ]);\n Component[CONTEXT_COMPONENT] = context;\n Component._______childrenComponents = childComponents;\n Component[CREATE_COMPONENT] = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent<C, OC>(_OriginComponent, _childComponents, _options);\n };\n Component.newInstance = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent<C, OC>(_OriginComponent, _childComponents, _options);\n };\n Component[CORE_COMPONENT] = true;\n return Component;\n}\n\ntype BaseComponentOptions = {\n isIcon?: boolean;\n};\n\nfunction createBaseComponent<\n C = never,\n OC extends React.ForwardRefRenderFunction<unknown, any> = never,\n OCRef = OC extends React.ForwardRefRenderFunction<infer Ref, any> ? Ref : never,\n OCProps = OC extends React.ForwardRefRenderFunction<OCRef, infer Props> ? Props : never,\n>(\n OriginComponent: React.ForwardRefRenderFunction<OCRef, OCProps>,\n opt?: BaseComponentOptions,\n): C {\n const Component = React.forwardRef(OriginComponent);\n Component.displayName = OriginComponent.displayName ?? '';\n Component.defaultProps = {\n // @ts-ignore\n 'data-ui-name': OriginComponent.displayName,\n };\n // @ts-ignore\n Component[CORE_COMPONENT] = true;\n\n // @ts-ignore\n Component.__IS_ICON = Boolean(opt?.isIcon);\n\n return Component as C;\n}\n\nexport { createComponent, createBaseComponent };\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,qBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AASA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,SAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,QAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,qBAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,KAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,cAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,KAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,eAAA,GAAAC,uBAAA,CAAAZ,OAAA;AAKA,IAAAa,MAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,kBAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,aAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,IAAA,GAAAhB,OAAA;AACA,IAAAiB,kBAAA,GAAAlB,sBAAA,CAAAC,OAAA;AAEA,SAASkB,aAAaA,CAACC,GAAQ,EAAE;EAC/B,OACEC,MAAM,CAACC,mBAAmB,CAACF,GAAG,CAAC,CAACG,MAAM,KAAK,CAAC,IAC5CF,MAAM,CAACG,qBAAqB;EAAI;EAChCH,MAAM,CAACG,qBAAqB,CAACJ,GAAG,CAAC,CAACG,MAAM,KAAK,CAAC,IAC9CF,MAAM,CAACI,cAAc,CAACL,GAAG,CAAC,KAAKC,MAAM,CAACK,SAAS;AAEnD;AAEA,SAASC,cAAcA,CAACC,YAAiB,EAAEC,SAAc,EAAEC,UAAmB,EAAE;EAC9E,OAAO,SAASC,QAAQA,CAACC,GAAW,EAAE;IACpC,OAAOJ,YAAY,CAChBK,MAAM,CAAEC,WAAgB,IAAK;MAC5B,IAAI,CAACA,WAAW,CAACC,SAAS,EAAE;QAC1B,OAAO,IAAI;MACb;MACA,OAAOD,WAAW,CAACC,SAAS,CAACN,SAAS,EAAEC,UAAU,CAAC;IACrD,CAAC,CAAC,CACDM,MAAM,CAAC,CAACC,GAAQ,EAAEC,IAAS,KAAK;MAC/B,IAAIA,IAAI,CAACN,GAAG,CAAC,EAAE;QACbK,GAAG,CAACE,IAAI,CAACD,IAAI,CAACN,GAAG,CAAC,CAAC;MACrB;MACA,OAAOK,GAAG;IACZ,CAAC,EAAE,EAAE,CAAC;EACV,CAAC;AACH;AAEA,SAASG,oBAAoBA,CAACX,SAAc,EAAEY,YAAiB,EAAEC,OAAY,EAAEZ,UAAe,EAAE;EAC9F,MAAMa,aAAa,GAAGd,SAAS,CAACe,8BAAc,CAAC;EAC/C,MAAMC,gBAAgB,GAAG,IAAAC,6CAA6B,EAACjB,SAAS,EAAEkB,WAAW,CAAC;EAC9E,MAAMC,YAAY,GAAGL,aAAa,EAAEjB,SAAS,GACzCiB,aAAa,CAACjB,SAAS,CAACmB,gBAAgB,CAAC,GACzCI,SAAS;EACb,MAAMC,cAAc,GAAGF,YAAY,EAAEzB,MAAM,IAAI,CAAC;EAEhD,SAAS4B,yBAAyBA,CAAC;IAAEC,UAAU,GAAG,IAAI;IAAE,GAAGC;EAAM,CAAC,EAAEC,GAAQ,EAAE;IAC5E,oBAAOpD,MAAA,CAAAqD,OAAA,CAAAC,aAAA,CAACC,cAAc,MAAAC,SAAA,CAAAH,OAAA,MAAKF,KAAK;MAAED,UAAU,EAAE,IAAAO,eAAU,EAACL,GAAG,EAAEF,UAAU;IAAE,EAAE,CAAC;EAC/E;EAEA,SAASQ,iBAAiBA,CACxB;IAAER,UAAU,GAAG,IAAI;IAAES,sBAAsB;IAAE,GAAGR;EAAW,CAAC,EAC5DC,GAAQ,EACR;IACA,MAAM;MAAEA,GAAG,EAAEQ,cAAc,GAAG,IAAI;MAAE,GAAGC;IAAM,CAAC,GAAG,CAC/CF,sBAAsB,IAAIpB,YAAY,EACtCL,MAAM,CAAC,CAACC,GAAQ,EAAEH,WAAgB,KAAKA,WAAW,CAACG,GAAG,EAAE2B,gBAAgB,EAAElC,UAAU,CAAC,EAAEuB,KAAK,CAAC;IAC/F,oBAAOnD,MAAA,CAAAqD,OAAA,CAAAC,aAAA,CAAC3B,SAAS,MAAA6B,SAAA,CAAAH,OAAA,MAAKQ,KAAK;MAAEX,UAAU,EAAE,IAAAO,eAAU,EAACG,cAAc,EAAER,GAAG,EAAEF,UAAU;IAAE,EAAE,CAAC;EAC1F;EAEA,MAAMK,cAAc,SAASQ,cAAK,CAACpC,SAAS,CAAM;IAAAqC,YAAA,GAAAC,IAAA;MAAA,SAAAA,IAAA;MAAA,IAAAC,gBAAA,CAAAb,OAAA,iBACxC,CAAC,CAAC;IAAA;IACVc,MAAMA,CAAA,EAAG;MACP,oBACEnE,MAAA,CAAAqD,OAAA,CAAAC,aAAA,CAACI,iBAAiB,MAAAF,SAAA,CAAAH,OAAA,MACZ,IAAI,CAACQ,KAAK;QACdF,sBAAsB,EAAEpB,YAAY,CAAC6B,GAAG,CAAEC,EAAO,IAAKA,EAAE,CAACC,IAAI,CAAC,IAAI,CAAC;MAAE,EACtE,CAAC;IAEN;EACF;EAEA,MAAMR,gBAAgB,gBAAGC,cAAK,CAACb,UAAU,CACvCF,cAAc,GAAGC,yBAAyB,GAAGS,iBAC/C,CAAC;EAED,IAAAa,6BAAoB,EAACT,gBAAgB,EAAEnC,SAAS,CAAC;EAEjDmC,gBAAgB,CAACjB,WAAW,GAAGlB,SAAS,CAACkB,WAAW;EACpD;EACAiB,gBAAgB,CAACU,YAAY,GAAG7C,SAAS,CAAC6C,YAAY;EACtD;EACAhC,OAAO,CAACiC,OAAO,CAAEzC,WAAgB,IAC/Bb,MAAM,CAACuD,MAAM,CAACZ,gBAAgB,EAAE9B,WAAW,CAAC8B,gBAAgB,EAAEnC,SAAS,EAAEC,UAAU,CAAC,CACtF,CAAC;EAED,OAAOkC,gBAAgB;AACzB;AAEA,SAASa,SAASA,CAACC,eAAoB,EAAElD,YAAiB,EAAEmD,OAAY,EAAE;EACxE,MAAMhD,QAAQ,GAAGJ,cAAc,CAACC,YAAY,EAAEkD,eAAe,EAAE,KAAK,CAAC;EAErE,MAAME,KAAK,GAAGjD,QAAQ,CAAC,MAAM,CAAC;EAC9B,MAAMgC,KAAK,GAAGhC,QAAQ,CAAC,SAAS,CAAC;EACjC,MAAMkD,OAAO,GAAGlD,QAAQ,CAAC,QAAQ,CAAC;EAClC,MAAMW,OAAO,GAAGX,QAAQ,CAAC,QAAQ,CAAC;EAClC,MAAMU,YAAY,GAAGV,QAAQ,CAAC,cAAc,CAAC;EAC7C,MAAMmD,QAAQ,GAAGnD,QAAQ,CAAC,SAAS,CAAC;EAEpC,MAAMF,SAAS,SAASiD,eAAe,CAAC;IAKtCZ,WAAWA,CAACH,KAAU,EAAEoB,OAAY,EAAE;MACpC,KAAK,CAACpB,KAAK,EAAEoB,OAAO,CAAC;MACrB;MAAA,IAAAf,gBAAA,CAAAb,OAAA,QAND6B,sBAAa,EAAI,IAAI;MAAA,IAAAhB,gBAAA,CAAAb,OAAA,QACrB8B,sBAAa,EAAIrB,gBAAgB;MAAA,IAAAI,gBAAA,CAAAb,OAAA,QACjC+B,kBAAS,EAAI,KAAK;MAKjBN,KAAK,CAACL,OAAO,CAAEzC,WAAgB,IAAKA,WAAW,CAACqD,IAAI,CAAC,IAAI,EAAExB,KAAK,EAAEC,gBAAgB,EAAE,KAAK,CAAC,CAAC;MAC3F,IAAI,CAACsB,kBAAS,CAAC,GAAG,IAAI;IACxB;IAEA,IAAIE,OAAOA,CAAA,EAAG;MACZ;MACA,IAAI,CAAC,IAAI,CAACF,kBAAS,CAAC,EAAE;QACpB,MAAM,IAAIG,KAAK,CAAC,qCAAqC,CAAC;MACxD;MACA,IAAI,CAAC,IAAI,CAACL,sBAAa,CAAC,EAAE;QACxB;QACA,IAAI,CAACA,sBAAa,CAAC,GAAGrB,KAAK,CAAC3B,MAAM,CAAC,CAACC,GAAQ,EAAEH,WAAgB,KAAK;UACjE,OAAOA,WAAW,CAACqD,IAAI,CAAC,IAAI,EAAElD,GAAG,EAAE2B,gBAAgB,EAAE,KAAK,CAAC;QAC7D,CAAC,EAAE,IAAI,CAACD,KAAK,CAAC;QAEd,IAAI,IAAI,CAACqB,sBAAa,CAAC,KAAK,IAAI,EAAE;UAChC,MAAMM,WAAW,GAAG,IAAIC,GAAG,CAAkC,CAAC;UAC9DtE,MAAM,CAACuE,OAAO,CAAC,IAAI,CAACR,sBAAa,CAAC,CAAC,CAACT,OAAO,CAAC,CAAC,CAAC3C,GAAG,EAAE6D,KAAK,CAAC,KAAK;YAC5D,MAAM,CAACC,MAAM,EAAEC,WAAW,CAAC,GAAG/D,GAAG,CAACgE,KAAK,CAAC,GAAG,CAAC;YAC5C,IAAIF,MAAM,KAAK,KAAK,IAAIC,WAAW,EAAE;cACnC,MAAM3E,GAAG,GAAGsE,WAAW,CAACO,GAAG,CAACH,MAAM,CAAC,IAAI,CAAC,CAAC;cACzC1E,GAAG,CAAC2E,WAAW,CAAC,GAAGF,KAAK;cAExBH,WAAW,CAACQ,GAAG,CAACJ,MAAM,EAAE1E,GAAG,CAAC;YAC9B;UACF,CAAC,CAAC;UAEF,KAAK,MAAM,CAACY,GAAG,EAAE6D,KAAK,CAAC,IAAIH,WAAW,CAACE,OAAO,CAAC,CAAC,EAAE;YAChDvE,MAAM,CAAC8E,cAAc,CAAC,IAAI,CAACf,sBAAa,CAAC,EAAE,GAAGpD,GAAG,OAAO,EAAE;cAAE6D;YAAM,CAAC,CAAC;UACtE;QACF;MACF;MACA,OAAO,IAAI,CAACT,sBAAa,CAAC;IAC5B;IAEAgB,UAAUA,CAAA,EAAG;MACX,MAAMC,YAAY,GAAG,KAAK,CAACD,UAAU,GAAG,KAAK,CAACA,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;MAC/D;MACA,OAAOlB,QAAQ,CAAC9C,MAAM,CACpB,CAACC,GAAQ,EAAEH,WAAgB,KAAKA,WAAW,CAACqD,IAAI,CAAC,IAAI,EAAElD,GAAG,EAAE2B,gBAAgB,EAAE,KAAK,CAAC,EACpFqC,YACF,CAAC;IACH;IAEAhC,MAAMA,CAAA,EAAG;MACP,IAAI,CAACe,sBAAa,CAAC,GAAG,IAAI;MAC1B;MACA,IAAI,CAAC,KAAK,CAACf,MAAM,EAAE;QACjB,MAAM,IAAIoB,KAAK,CAAC,0CAA0C,CAAC;MAC7D;MACA,MAAMD,OAAY,GAAG,IAAI,CAACA,OAAO;MACjC,MAAMc,GAAG,GAAG,IAAI,CAACF,UAAU,CAAC,CAAC;MAC7B;MACA,MAAM/B,MAAM,GAAGY,OAAO,CAAC7C,MAAM,CAC3B,CAACC,GAAQ,EAAEH,WAAgB,KACzBA,WAAW,CAACqD,IAAI,CAAC,IAAI,EAAElD,GAAG,EAAEmD,OAAO,EAAExB,gBAAgB,EAAE,KAAK,CAAC,EAC/D,KAAK,CAACK,MAAM,CAAC,CACf,CAAC;MACD,IAAI,CAACL,gBAAgB,CAACuC,gCAAgB,CAAC,IAAI,CAACpF,aAAa,CAACmF,GAAG,CAAC,EAAE;QAC9D,oBAAOpG,MAAA,CAAAqD,OAAA,CAAAC,aAAA,CAACuB,OAAO,CAACyB,QAAQ;UAACX,KAAK,EAAE;YAAE,GAAGL,OAAO;YAAE,GAAGc;UAAI;QAAE,GAAEjC,MAAyB,CAAC;MACrF,CAAC,MAAM;QACL,OAAOA,MAAM;MACf;IACF;EACF;EAEA,MAAML,gBAAqB,GAAGxB,oBAAoB,CAACX,SAAS,EAAEY,YAAY,EAAEC,OAAO,EAAE,KAAK,CAAC;EAC3F,OAAOsB,gBAAgB;AACzB;AAEA,SAASyC,YAAYA,CAAC3B,eAAoB,EAAElD,YAAiB,EAAEmD,OAAY,EAAE;EAC3E,MAAMhD,QAAQ,GAAGJ,cAAc,CAACC,YAAY,EAAEkD,eAAe,EAAE,IAAI,CAAC;EAEpE,MAAME,KAAK,GAAGjD,QAAQ,CAAC,MAAM,CAAC;EAC9B,MAAMgC,KAAK,GAAGhC,QAAQ,CAAC,SAAS,CAAC;EACjC,MAAMkD,OAAO,GAAGlD,QAAQ,CAAC,QAAQ,CAAC;EAClC,MAAMW,OAAO,GAAGX,QAAQ,CAAC,QAAQ,CAAC;EAClC,MAAMU,YAAY,GAAGV,QAAQ,CAAC,cAAc,CAAC;EAC7C,MAAMmD,QAAQ,GAAGnD,QAAQ,CAAC,SAAS,CAAC;EAEpC,MAAMF,SAAS,gBAAGoC,cAAK,CAACyC,IAAI,CAAC,SAASC,qBAAqBA,CAACtD,KAAK,EAAE;IACjE,MAAMuD,OAAO,GAAG3C,cAAK,CAAC4C,MAAM,CAAC,CAAC,CAAC,CAAC;IAChC,MAAMC,WAAW,GAAG7C,cAAK,CAAC4C,MAAM,CAAC,IAAI,CAAC;IACtC,IAAAE,0BAAiB,EAAC,MAAM;MACtBD,WAAW,CAACE,OAAO,GAAG,KAAK;IAC7B,CAAC,EAAE,EAAE,CAAC;IACN,IAAIF,WAAW,CAACE,OAAO,EAAE;MACvB;MACAhC,KAAK,CAACL,OAAO,CAAEzC,WAAgB,IAC7BA,WAAW,CAACqD,IAAI,CAACqB,OAAO,CAACI,OAAO,EAAE3D,KAAK,EAAEW,gBAAgB,EAAE,IAAI,CACjE,CAAC;IACH;IACA;IACA,MAAMwB,OAAO,GAAGzB,KAAK,CAAC3B,MAAM,CAC1B,CAACC,GAAQ,EAAEH,WAAgB,KACzBA,WAAW,CAACqD,IAAI,CAACqB,OAAO,CAACI,OAAO,EAAE3E,GAAG,EAAE2B,gBAAgB,EAAE,IAAI,CAAC,EAChEX,KACF,CAAC;IACD;IACA,MAAMiD,GAAG,GAAGpB,QAAQ,CAAC9C,MAAM,CACzB,CAACC,GAAQ,EAAEH,WAAgB,KACzBA,WAAW,CAACqD,IAAI,CAACqB,OAAO,CAACI,OAAO,EAAE3E,GAAG,EAAE2B,gBAAgB,EAAE,IAAI,CAAC,EAChE,CAAC,CACH,CAAC;;IAED;IACA,MAAMK,MAAM,GAAGY,OAAO,CAAC7C,MAAM,CAC3B,CAACC,GAAQ,EAAEH,WAAgB,KACzBA,WAAW,CAACqD,IAAI,CAACqB,OAAO,CAACI,OAAO,EAAE3E,GAAG,EAAEmD,OAAO,EAAExB,gBAAgB,EAAE,IAAI,CAAC,eACzE9D,MAAA,CAAAqD,OAAA,CAAAC,aAAA,CAACsB,eAAe,EAAKU,OAAU,CACjC,CAAC;IAED,IAAI,CAACxB,gBAAgB,CAACuC,gCAAgB,CAAC,IAAI,CAACpF,aAAa,CAACmF,GAAG,CAAC,EAAE;MAC9D,oBAAOpG,MAAA,CAAAqD,OAAA,CAAAC,aAAA,CAACuB,OAAO,CAACyB,QAAQ;QAACX,KAAK,EAAE;UAAE,GAAGL,OAAO;UAAE,GAAGc;QAAI;MAAE,GAAEjC,MAAyB,CAAC;IACrF,CAAC,MAAM;MACL,OAAOA,MAAM;IACf;EACF,CAAC,CAAC;EACFhD,MAAM,CAACuD,MAAM,CAAC/C,SAAS,EAAEiD,eAAe,CAAC;EACzC,MAAMd,gBAAqB,GAAGxB,oBAAoB,CAACX,SAAS,EAAEY,YAAY,EAAEC,OAAO,EAAE,IAAI,CAAC;EAC1F,OAAOsB,gBAAgB;AACzB;AAEA,SAASiD,QAAQA,CAACnC,eAAoB,EAAElD,YAAiB,EAAEmD,OAAY,EAAE;EACvE,MAAMlD,SAAS,GAAG,SAAAA,CAAU;IAAEqF;EAAU,CAAC,EAAE;IACzC,MAAMxC,YAAY,GAAGI,eAAe,CAACJ,YAAY,IAAI,CAAC,CAAC;IACvD,oBAAOxE,MAAA,CAAAqD,OAAA,CAAAC,aAAA,CAAC0D,IAAI,MAAAxD,SAAA,CAAAH,OAAA,MAAKmB,YAAY;MAAEL,MAAM,EAAES;IAAgB,EAAE,CAAC;EAC5D,CAAC;EACD,IAAAL,6BAAoB,EAAC5C,SAAS,EAAEiD,eAAe,CAAC;EAChDjD,SAAS,CAACkB,WAAW,GAAG+B,eAAe,CAAC/B,WAAW;EACnD,OAAO0D,YAAY,CAAC5E,SAAS,EAAED,YAAY,EAAEmD,OAAO,CAAC;AACvD;AAEA,SAASoC,sBAAsBA,CAACrC,eAAoB,EAAEC,OAAY,EAAEnD,YAAiB,EAAO;EAC1F,IACEqC,cAAK,CAACmD,aAAa,CAACC,aAAa,CAACvC,eAAe,CAAC,IAClDb,cAAK,CAACpC,SAAS,CAACwF,aAAa,CAACvC,eAAe,CAAC,EAC9C;IACA,IAAIA,eAAe,CAACpD,SAAS,YAAYG,qBAAS,EAAE;MAClD,OAAOgD,SAAS,CAACC,eAAe,EAAElD,YAAY,EAAEmD,OAAO,CAAC;IAC1D,CAAC,MAAM;MACL,MAAM,IAAIU,KAAK,CAAC,iCAAiC,CAAC;IACpD;EACF,CAAC,MAAM,IAAI,OAAOX,eAAe,KAAK,UAAU,EAAE;IAChD,OAAO2B,YAAY,CAAC3B,eAAe,EAAElD,YAAY,EAAEmD,OAAO,CAAC;EAC7D,CAAC,MAAM,IAAID,eAAe,CAACwC,uBAAc,CAAC,EAAE;IAC1C,OAAOL,QAAQ,CAACnC,eAAe,EAAElD,YAAY,EAAEmD,OAAO,CAAC;EACzD,CAAC,MAAM;IACL,MAAM,IAAIU,KAAK,CAAC,2BAA2B,CAAC;EAC9C;AACF;AAEO,SAAS8B,WAAWA,CAACC,EAAO,EAAEC,EAAO,EAAE;EAC5C,OAAO,IAAAC,qBAAY,EAACD,EAAE,EAAED,EAAE,CAAC;AAC7B;AAYA,SAASG,eAAeA,CAItB7C,eAAoC,EACpC8C,eAAoB,GAAG,CAAC,CAAC,EACzBC,OAIC,GAAG,CAAC,CAAC,EACH;EACH,MAAM;IACJ1C,OAAO,gBAAGlB,cAAK,CAAC6D,aAAa,CAAC,CAAC,CAAC,CAAC;IACjCC,MAAM,GAAG,EAAE;IACXnG,YAAY,GAAG;EACjB,CAAC,GAAGiG,OAAO;EACX,IAAIG,OAAc,GAAGC,KAAK,CAACC,OAAO,CAACH,MAAM,CAAC,GAAGA,MAAM,GAAG,CAACA,MAAM,CAAC;EAC9D,IAAIC,OAAO,CAACzG,MAAM,EAAE;IAClB,MAAM4G,WAAW,GAAGH,OAAO,CAAC5F,MAAM,CAAC,CAACC,GAAQ,EAAE0F,MAAW,KAAK;MAC5D,IAAIA,MAAM,CAACK,0BAAiB,CAAC,EAAE;QAC7B/F,GAAG,GAAG,CAAC,GAAG0F,MAAM,CAACK,0BAAiB,CAAC,EAAE,GAAG/F,GAAG,CAAC;MAC9C;MACA,OAAOA,GAAG;IACZ,CAAC,EAAE2F,OAAO,CAAC;IACX;IACAlD,eAAe,CAACsD,0BAAiB,CAAC,GAAGD,WAAW;IAChDH,OAAO,GAAGG,WAAW;EACvB;EACA;EACA,IAAIrD,eAAe,CAACwC,uBAAc,CAAC,EAAE;IACnCU,OAAO,CAACzF,IAAI,CAACuC,eAAe,CAAC;EAC/B;EACA,MAAMjD,SAAS,GAAGsF,sBAAsB,CAACrC,eAAe,EAAEK,OAAO,EAAE;EACjE;EACA,GAAGvD,YAAY,CAAC0C,GAAG,CAAE+D,CAAC,IAAKA,CAAC,CAAClD,OAAO,EAAE6C,OAAO,EAAEL,eAAe,EAAEC,eAAe,CAAC,CAAC,EACjF,IAAAU,aAAoB,EAAC,CAAC,EACtB,IAAAC,iBAAmB,EAACpD,OAAO,EAAE6C,OAAO,CAAC;EACrC;EACA,IAAAQ,aAAe,EAAC,CAAC,EACjB,IAAAC,0BAA4B,EAAC,CAAC,EAC9B,IAAAC,uBAAyB,EAACd,eAAe,EAAED,eAAe,EAAE;IAC1DxC,OAAO;IACP4C,MAAM;IACNnG;EACF,CAAC,CAAC;EACF;EACA,IAAA+G,6BAA+B,EAAC,CAAC;EACjC;EACA,IAAAC,sBAAwB,EAAC,CAAC;EAC1B;EACA,IAAAC,iBAAmB,EAAC,CAAC;EACrB;EACA,IAAAC,gBAAkB,EAAC,CAAC,EACpB,IAAAC,cAAgB,EAACnB,eAAe,EAAEzC,OAAO,CAAC,CAC3C,CAAC;EACFtD,SAAS,CAACmH,0BAAiB,CAAC,GAAG7D,OAAO;EACtCtD,SAAS,CAACoH,yBAAyB,GAAGrB,eAAe;EACrD/F,SAAS,CAACqH,yBAAgB,CAAC,GAAG,UAC5BC,gBAAgB,GAAGrE,eAAe,EAClCsE,gBAAgB,GAAGxB,eAAe,EAClCyB,QAAQ,GAAGxB,OAAO,EAClB;IACA,OAAOF,eAAe,CAAQwB,gBAAgB,EAAEC,gBAAgB,EAAEC,QAAQ,CAAC;EAC7E,CAAC;EACDxH,SAAS,CAACyH,WAAW,GAAG,UAChBH,gBAAgB,GAAGrE,eAAe,EAClCsE,gBAAgB,GAAGxB,eAAe,EAClCyB,QAAQ,GAAGxB,OAAO,EACxB;IACA,OAAOF,eAAe,CAAQwB,gBAAgB,EAAEC,gBAAgB,EAAEC,QAAQ,CAAC;EAC7E,CAAC;EACDxH,SAAS,CAACyF,uBAAc,CAAC,GAAG,IAAI;EAChC,OAAOzF,SAAS;AAClB;AAMA,SAAS0H,mBAAmBA,CAM1BzE,eAA+D,EAC/D0E,GAA0B,EACvB;EACH,MAAM3H,SAAS,gBAAGoC,cAAK,CAACb,UAAU,CAAC0B,eAAe,CAAC;EACnDjD,SAAS,CAACkB,WAAW,GAAG+B,eAAe,CAAC/B,WAAW,IAAI,EAAE;EACzDlB,SAAS,CAAC6C,YAAY,GAAG;IACvB;IACA,cAAc,EAAEI,eAAe,CAAC/B;EAClC,CAAC;EACD;EACAlB,SAAS,CAACyF,uBAAc,CAAC,GAAG,IAAI;;EAEhC;EACAzF,SAAS,CAAC4H,SAAS,GAAGC,OAAO,CAACF,GAAG,EAAEG,MAAM,CAAC;EAE1C,OAAO9H,SAAS;AAClB","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import _extends from "@babel/runtime/helpers/esm/extends";
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _extends from "@babel/runtime/helpers/extends";
3
3
  import hoistNonReactStatics from "hoist-non-react-statics";
4
4
  import React from "react";
5
5
  import { Component } from "./core-types/Component.mjs";
@@ -271,13 +271,15 @@ function createComponent(OriginComponent, childComponents = {}, options = {}) {
271
271
  Component2[CORE_COMPONENT] = true;
272
272
  return Component2;
273
273
  }
274
- function createBaseComponent(OriginComponent) {
274
+ function createBaseComponent(OriginComponent, opt) {
275
275
  const Component2 = /* @__PURE__ */ React.forwardRef(OriginComponent);
276
276
  Component2.displayName = OriginComponent.displayName ?? "";
277
277
  Component2.defaultProps = {
278
+ // @ts-ignore
278
279
  "data-ui-name": OriginComponent.displayName
279
280
  };
280
281
  Component2[CORE_COMPONENT] = true;
282
+ Component2.__IS_ICON = Boolean(opt?.isIcon);
281
283
  return Component2;
282
284
  }
283
285
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"coreFactory.mjs","names":["hoistNonReactStatics","React","Component","CONTEXT_COMPONENT","CORE_AS_PROPS","CORE_COMPONENT","CORE_INIT","CORE_INSTANCE","CREATE_COMPONENT","PARENT_COMPONENTS","childrenEnhancement","dataNameEnhancement","enhanceEnhancement","functionDefaultPropsEnhancement","i18nAppLocaleEnhance","inheritedNameEnhancement","rootEnhancement","staticChildrenEnhancement","getterMethodNameByDisplayName","ROOT_COMPONENT","STATIC_COMPONENT","styleEnhancement","uncontrolledPropsEnhancement","_assignProps","useForkRef","useEnhancedEffect","isEmptyObject","obj","Object","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","prototype","createGetField","enhancements","isFunction","getField","key","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","RootComponent","getterMethodName","displayName","getterMethod","undefined","useGetterIndex","WrapperForwardRefWithBind","forwardRef","other","ref","createElement","BindingWrapper","_extends","WrapperForwardRef","__WRAPPER_PROPS_BIND__","enhancementRef","props","WrapperComponent","constructor","args","_defineProperty","render","map","fn","bind","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","call","asProps","Error","prefixesMap","Map","entries","value","prefix","propertyKey","split","get","set","defineProperty","setContext","contextProps","ctx","Provider","wrapFunction","memo","FunctionMemoComponent","selfRef","useRef","firstRender","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","f","_______childrenComponents","_OriginComponent","_childComponents","_options","newInstance","createBaseComponent"],"sources":["../src/coreFactory.tsx"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport React from 'react';\n\nimport { type Intergalactic, Component } from './core-types/Component';\nimport {\n CONTEXT_COMPONENT,\n CORE_AS_PROPS,\n CORE_COMPONENT,\n CORE_INIT,\n CORE_INSTANCE,\n CREATE_COMPONENT,\n PARENT_COMPONENTS,\n} from './core-types/symbols';\nimport childrenEnhancement from './enhancement/Children';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport i18nAppLocaleEnhance from './enhancement/i18n';\nimport inheritedNameEnhancement from './enhancement/inheritedName';\nimport rootEnhancement from './enhancement/Root';\nimport staticChildrenEnhancement, {\n getterMethodNameByDisplayName,\n ROOT_COMPONENT,\n STATIC_COMPONENT,\n} from './enhancement/staticChildren';\nimport styleEnhancement from './enhancement/style';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport _assignProps from './utils/assignProps';\nimport { useForkRef } from './utils/ref';\nimport useEnhancedEffect from './utils/use/useEnhancedEffect';\n\nfunction isEmptyObject(obj: any) {\n return (\n Object.getOwnPropertyNames(obj).length === 0 &&\n Object.getOwnPropertySymbols && // For IE 11\n Object.getOwnPropertySymbols(obj).length === 0 &&\n Object.getPrototypeOf(obj) === Object.prototype\n );\n}\n\nfunction createGetField(enhancements: any, Component: any, isFunction: boolean) {\n return function getField(key: string) {\n return enhancements\n .filter((enhancement: any) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc: any, item: any) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component: any, wrapperProps: any, statics: any, isFunction: any) {\n const RootComponent = Component[ROOT_COMPONENT];\n const getterMethodName = getterMethodNameByDisplayName(Component?.displayName);\n const getterMethod = RootComponent?.prototype\n ? RootComponent.prototype[getterMethodName]\n : undefined;\n const useGetterIndex = getterMethod?.length >= 2;\n\n function WrapperForwardRefWithBind({ forwardRef = null, ...other }, ref: any) {\n return <BindingWrapper {...other} forwardRef={useForkRef(ref, forwardRef)} />;\n }\n\n function WrapperForwardRef(\n { forwardRef = null, __WRAPPER_PROPS_BIND__, ...other }: any,\n ref: any,\n ) {\n const { ref: enhancementRef = null, ...props } = (\n __WRAPPER_PROPS_BIND__ || wrapperProps\n ).reduce((acc: any, enhancement: any) => enhancement(acc, WrapperComponent, isFunction), other);\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\n }\n\n class BindingWrapper extends React.Component<any> {\n index = -1;\n render() {\n return (\n <WrapperForwardRef\n {...this.props}\n __WRAPPER_PROPS_BIND__={wrapperProps.map((fn: any) => fn.bind(this))}\n />\n );\n }\n }\n\n const WrapperComponent = React.forwardRef(\n useGetterIndex ? WrapperForwardRefWithBind : WrapperForwardRef,\n );\n\n hoistNonReactStatics(WrapperComponent, Component);\n\n WrapperComponent.displayName = Component.displayName;\n // TODO: defaultProps is only empty\n WrapperComponent.defaultProps = Component.defaultProps;\n // STATIC\n statics.forEach((enhancement: any) =>\n Object.assign(WrapperComponent, enhancement(WrapperComponent, Component, isFunction)),\n );\n\n return WrapperComponent;\n}\n\nfunction wrapClass(OriginComponent: any, enhancements: any, Context: any) {\n const getField = createGetField(enhancements, OriginComponent, false);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n class Component extends OriginComponent {\n [CORE_AS_PROPS] = null;\n [CORE_INSTANCE] = WrapperComponent;\n [CORE_INIT] = false;\n\n constructor(props: any, context: any) {\n super(props, context);\n // INITS\n inits.forEach((enhancement: any) => enhancement.call(this, props, WrapperComponent, false));\n this[CORE_INIT] = true;\n }\n\n get asProps() {\n // TODO if not production\n if (!this[CORE_INIT]) {\n throw new Error('Can not call asProps in constructor');\n }\n if (!this[CORE_AS_PROPS]) {\n // PROPS\n this[CORE_AS_PROPS] = props.reduce((acc: any, enhancement: any) => {\n return enhancement.call(this, acc, WrapperComponent, false);\n }, this.props);\n\n if (this[CORE_AS_PROPS] !== null) {\n const prefixesMap = new Map<string, Record<string, unknown>>();\n Object.entries(this[CORE_AS_PROPS]).forEach(([key, value]) => {\n const [prefix, propertyKey] = key.split(':');\n if (prefix !== 'use' && propertyKey) {\n const obj = prefixesMap.get(prefix) ?? {};\n obj[propertyKey] = value;\n\n prefixesMap.set(prefix, obj);\n }\n });\n\n for (const [key, value] of prefixesMap.entries()) {\n Object.defineProperty(this[CORE_AS_PROPS], `${key}Props`, { value });\n }\n }\n }\n return this[CORE_AS_PROPS];\n }\n\n setContext() {\n const contextProps = super.setContext ? super.setContext() : {};\n // CONTEXT\n return contexts.reduce(\n (acc: any, enhancement: any) => enhancement.call(this, acc, WrapperComponent, false),\n contextProps,\n );\n }\n\n render() {\n this[CORE_AS_PROPS] = null;\n // TODO if not production\n if (!super.render) {\n throw new Error('Component `render` method is not defined');\n }\n const asProps: any = this.asProps;\n const ctx = this.setContext();\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(this, acc, asProps, WrapperComponent, false),\n super.render(),\n );\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n }\n }\n\n const WrapperComponent: any = createForwardWrapper(Component, wrapperProps, statics, false);\n return WrapperComponent;\n}\n\nfunction wrapFunction(OriginComponent: any, enhancements: any, Context: any) {\n const getField = createGetField(enhancements, OriginComponent, true);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n const Component = React.memo(function FunctionMemoComponent(other) {\n const selfRef = React.useRef({});\n const firstRender = React.useRef(true);\n useEnhancedEffect(() => {\n firstRender.current = false;\n }, []);\n if (firstRender.current) {\n // INITS\n inits.forEach((enhancement: any) =>\n enhancement.call(selfRef.current, other, WrapperComponent, true),\n );\n }\n // PROPS\n const asProps = props.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n other,\n );\n // CONTEXT\n const ctx = contexts.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n {},\n );\n\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, asProps, WrapperComponent, true),\n <OriginComponent {...asProps} />,\n );\n\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n });\n Object.assign(Component, OriginComponent);\n const WrapperComponent: any = createForwardWrapper(Component, wrapperProps, statics, true);\n return WrapperComponent;\n}\n\nfunction wrapCore(OriginComponent: any, enhancements: any, Context: any) {\n const Component = function ({ Root }: any) {\n const defaultProps = OriginComponent.defaultProps || {};\n return <Root {...defaultProps} render={OriginComponent} />;\n };\n hoistNonReactStatics(Component, OriginComponent);\n Component.displayName = OriginComponent.displayName;\n return wrapFunction(Component, enhancements, Context);\n}\n\nfunction createComposeComponent(OriginComponent: any, Context: any, enhancements: any): any {\n if (\n React.PureComponent.isPrototypeOf(OriginComponent) ||\n React.Component.isPrototypeOf(OriginComponent)\n ) {\n if (OriginComponent.prototype instanceof Component) {\n return wrapClass(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must inherit from our component');\n }\n } else if (typeof OriginComponent === 'function') {\n return wrapFunction(OriginComponent, enhancements, Context);\n } else if (OriginComponent[CORE_COMPONENT]) {\n return wrapCore(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must be a React component');\n }\n}\n\nexport function assignProps(p1: any, p2: any) {\n return _assignProps(p2, p1);\n}\n\nfunction createComponent<T extends Intergalactic.InternalTypings.ComponentTag = 'div', ComponentProps = {}, ContextType = {}, E extends Readonly<any[]> = never[]>(\n OriginComponent: any,\n childComponents: any = {},\n options: {\n context?: React.Context<ContextType>;\n parent?: Intergalactic.Component<any, any, any, any> | Intergalactic.Component<any, any, any, any>[];\n enhancements?: [any];\n } = {},\n): Intergalactic.Component<T, ComponentProps, ContextType, E> {\n const {\n context = React.createContext<ContextType>({} as ContextType),\n parent = [],\n enhancements = [],\n } = options;\n let parents: any[] = Array.isArray(parent) ? parent : [parent];\n if (parents.length) {\n const wholeFamily = parents.reduce((acc: any, parent: any) => {\n if (parent[PARENT_COMPONENTS]) {\n acc = [...parent[PARENT_COMPONENTS], ...acc];\n }\n return acc;\n }, parents);\n // @ts-ignore\n OriginComponent[PARENT_COMPONENTS] = wholeFamily;\n parents = wholeFamily;\n }\n // @ts-ignore\n if (OriginComponent[CORE_COMPONENT]) {\n parents.push(OriginComponent);\n }\n const Component = createComposeComponent(OriginComponent, context, [\n // @ts-ignore\n ...enhancements.map((f) => f(context, parents, createComponent, childComponents)),\n i18nAppLocaleEnhance(),\n childrenEnhancement(context, parents),\n // root must be under the children\n rootEnhancement(),\n uncontrolledPropsEnhancement(),\n staticChildrenEnhancement(childComponents, createComponent, {\n context,\n parent,\n enhancements,\n }),\n // functionDefaultProps must be under the staticChild\n functionDefaultPropsEnhancement(),\n // inheritedName must be under the staticChild\n inheritedNameEnhancement(),\n // dataName must be under the staticChild\n dataNameEnhancement(),\n // enhanceEnhancement must be under the functionDefaultPropsEnhancement\n enhanceEnhancement(),\n styleEnhancement(childComponents, context),\n ]);\n Component[CONTEXT_COMPONENT] = context;\n Component._______childrenComponents = childComponents;\n Component[CREATE_COMPONENT] = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent(_OriginComponent, _childComponents, _options);\n };\n Component.newInstance = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent(_OriginComponent, _childComponents, _options);\n };\n Component[CORE_COMPONENT] = true;\n return Component;\n}\n\nfunction createBaseComponent<T extends keyof React.JSX.IntrinsicElements, P>(OriginComponent: React.ForwardRefRenderFunction<React.ElementRef<T>, P>) {\n const Component = React.forwardRef<React.ElementRef<T>, P>(OriginComponent) as unknown as Intergalactic.Component<T, P>;\n Component.displayName = OriginComponent.displayName ?? '';\n // @ts-ignore\n Component.defaultProps = {\n 'data-ui-name': OriginComponent.displayName,\n };\n Component[CORE_COMPONENT] = true;\n\n return Component;\n}\n\nexport { createComponent, createBaseComponent };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"coreFactory.mjs","names":["hoistNonReactStatics","React","Component","CONTEXT_COMPONENT","CORE_AS_PROPS","CORE_COMPONENT","CORE_INIT","CORE_INSTANCE","CREATE_COMPONENT","PARENT_COMPONENTS","childrenEnhancement","dataNameEnhancement","enhanceEnhancement","functionDefaultPropsEnhancement","i18nAppLocaleEnhance","inheritedNameEnhancement","rootEnhancement","staticChildrenEnhancement","getterMethodNameByDisplayName","ROOT_COMPONENT","STATIC_COMPONENT","styleEnhancement","uncontrolledPropsEnhancement","_assignProps","useForkRef","useEnhancedEffect","isEmptyObject","obj","Object","getOwnPropertyNames","length","getOwnPropertySymbols","getPrototypeOf","prototype","createGetField","enhancements","isFunction","getField","key","filter","enhancement","condition","reduce","acc","item","push","createForwardWrapper","wrapperProps","statics","RootComponent","getterMethodName","displayName","getterMethod","undefined","useGetterIndex","WrapperForwardRefWithBind","forwardRef","other","ref","createElement","BindingWrapper","_extends","WrapperForwardRef","__WRAPPER_PROPS_BIND__","enhancementRef","props","WrapperComponent","constructor","args","_defineProperty","render","map","fn","bind","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","context","call","asProps","Error","prefixesMap","Map","entries","value","prefix","propertyKey","split","get","set","defineProperty","setContext","contextProps","ctx","Provider","wrapFunction","memo","FunctionMemoComponent","selfRef","useRef","firstRender","current","wrapCore","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","createComponent","childComponents","options","createContext","parent","parents","Array","isArray","wholeFamily","f","_______childrenComponents","_OriginComponent","_childComponents","_options","newInstance","createBaseComponent","opt","__IS_ICON","Boolean","isIcon"],"sources":["../src/coreFactory.tsx"],"sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport React from 'react';\n\nimport type { IComponent, Intergalactic } from './core-types/Component';\nimport { Component } from './core-types/Component';\nimport {\n CONTEXT_COMPONENT,\n CORE_AS_PROPS,\n CORE_COMPONENT,\n CORE_INIT,\n CORE_INSTANCE,\n CREATE_COMPONENT,\n PARENT_COMPONENTS,\n} from './core-types/symbols';\nimport childrenEnhancement from './enhancement/Children';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport i18nAppLocaleEnhance from './enhancement/i18n';\nimport inheritedNameEnhancement from './enhancement/inheritedName';\nimport rootEnhancement from './enhancement/Root';\nimport staticChildrenEnhancement, {\n getterMethodNameByDisplayName,\n ROOT_COMPONENT,\n STATIC_COMPONENT,\n} from './enhancement/staticChildren';\nimport styleEnhancement from './enhancement/style';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport _assignProps from './utils/assignProps';\nimport { useForkRef } from './utils/ref';\nimport useEnhancedEffect from './utils/use/useEnhancedEffect';\n\nfunction isEmptyObject(obj: any) {\n return (\n Object.getOwnPropertyNames(obj).length === 0 &&\n Object.getOwnPropertySymbols && // For IE 11\n Object.getOwnPropertySymbols(obj).length === 0 &&\n Object.getPrototypeOf(obj) === Object.prototype\n );\n}\n\nfunction createGetField(enhancements: any, Component: any, isFunction: boolean) {\n return function getField(key: string) {\n return enhancements\n .filter((enhancement: any) => {\n if (!enhancement.condition) {\n return true;\n }\n return enhancement.condition(Component, isFunction);\n })\n .reduce((acc: any, item: any) => {\n if (item[key]) {\n acc.push(item[key]);\n }\n return acc;\n }, []);\n };\n}\n\nfunction createForwardWrapper(Component: any, wrapperProps: any, statics: any, isFunction: any) {\n const RootComponent = Component[ROOT_COMPONENT];\n const getterMethodName = getterMethodNameByDisplayName(Component?.displayName);\n const getterMethod = RootComponent?.prototype\n ? RootComponent.prototype[getterMethodName]\n : undefined;\n const useGetterIndex = getterMethod?.length >= 2;\n\n function WrapperForwardRefWithBind({ forwardRef = null, ...other }, ref: any) {\n return <BindingWrapper {...other} forwardRef={useForkRef(ref, forwardRef)} />;\n }\n\n function WrapperForwardRef(\n { forwardRef = null, __WRAPPER_PROPS_BIND__, ...other }: any,\n ref: any,\n ) {\n const { ref: enhancementRef = null, ...props } = (\n __WRAPPER_PROPS_BIND__ || wrapperProps\n ).reduce((acc: any, enhancement: any) => enhancement(acc, WrapperComponent, isFunction), other);\n return <Component {...props} forwardRef={useForkRef(enhancementRef, ref, forwardRef)} />;\n }\n\n class BindingWrapper extends React.Component<any> {\n index = -1;\n render() {\n return (\n <WrapperForwardRef\n {...this.props}\n __WRAPPER_PROPS_BIND__={wrapperProps.map((fn: any) => fn.bind(this))}\n />\n );\n }\n }\n\n const WrapperComponent = React.forwardRef(\n useGetterIndex ? WrapperForwardRefWithBind : WrapperForwardRef,\n );\n\n hoistNonReactStatics(WrapperComponent, Component);\n\n WrapperComponent.displayName = Component.displayName;\n // TODO: defaultProps is only empty\n WrapperComponent.defaultProps = Component.defaultProps;\n // STATIC\n statics.forEach((enhancement: any) =>\n Object.assign(WrapperComponent, enhancement(WrapperComponent, Component, isFunction)),\n );\n\n return WrapperComponent;\n}\n\nfunction wrapClass(OriginComponent: any, enhancements: any, Context: any) {\n const getField = createGetField(enhancements, OriginComponent, false);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n class Component extends OriginComponent {\n [CORE_AS_PROPS] = null;\n [CORE_INSTANCE] = WrapperComponent;\n [CORE_INIT] = false;\n\n constructor(props: any, context: any) {\n super(props, context);\n // INITS\n inits.forEach((enhancement: any) => enhancement.call(this, props, WrapperComponent, false));\n this[CORE_INIT] = true;\n }\n\n get asProps() {\n // TODO if not production\n if (!this[CORE_INIT]) {\n throw new Error('Can not call asProps in constructor');\n }\n if (!this[CORE_AS_PROPS]) {\n // PROPS\n this[CORE_AS_PROPS] = props.reduce((acc: any, enhancement: any) => {\n return enhancement.call(this, acc, WrapperComponent, false);\n }, this.props);\n\n if (this[CORE_AS_PROPS] !== null) {\n const prefixesMap = new Map<string, Record<string, unknown>>();\n Object.entries(this[CORE_AS_PROPS]).forEach(([key, value]) => {\n const [prefix, propertyKey] = key.split(':');\n if (prefix !== 'use' && propertyKey) {\n const obj = prefixesMap.get(prefix) ?? {};\n obj[propertyKey] = value;\n\n prefixesMap.set(prefix, obj);\n }\n });\n\n for (const [key, value] of prefixesMap.entries()) {\n Object.defineProperty(this[CORE_AS_PROPS], `${key}Props`, { value });\n }\n }\n }\n return this[CORE_AS_PROPS];\n }\n\n setContext() {\n const contextProps = super.setContext ? super.setContext() : {};\n // CONTEXT\n return contexts.reduce(\n (acc: any, enhancement: any) => enhancement.call(this, acc, WrapperComponent, false),\n contextProps,\n );\n }\n\n render() {\n this[CORE_AS_PROPS] = null;\n // TODO if not production\n if (!super.render) {\n throw new Error('Component `render` method is not defined');\n }\n const asProps: any = this.asProps;\n const ctx = this.setContext();\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(this, acc, asProps, WrapperComponent, false),\n super.render(),\n );\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n }\n }\n\n const WrapperComponent: any = createForwardWrapper(Component, wrapperProps, statics, false);\n return WrapperComponent;\n}\n\nfunction wrapFunction(OriginComponent: any, enhancements: any, Context: any) {\n const getField = createGetField(enhancements, OriginComponent, true);\n\n const inits = getField('init');\n const props = getField('asProps');\n const renders = getField('render');\n const statics = getField('static');\n const wrapperProps = getField('wrapperProps');\n const contexts = getField('context');\n\n const Component = React.memo(function FunctionMemoComponent(other) {\n const selfRef = React.useRef({});\n const firstRender = React.useRef(true);\n useEnhancedEffect(() => {\n firstRender.current = false;\n }, []);\n if (firstRender.current) {\n // INITS\n inits.forEach((enhancement: any) =>\n enhancement.call(selfRef.current, other, WrapperComponent, true),\n );\n }\n // PROPS\n const asProps = props.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n other,\n );\n // CONTEXT\n const ctx = contexts.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, WrapperComponent, true),\n {},\n );\n\n // RENDER\n const render = renders.reduce(\n (acc: any, enhancement: any) =>\n enhancement.call(selfRef.current, acc, asProps, WrapperComponent, true),\n <OriginComponent {...asProps} />,\n );\n\n if (!WrapperComponent[STATIC_COMPONENT] && !isEmptyObject(ctx)) {\n return <Context.Provider value={{ ...asProps, ...ctx }}>{render}</Context.Provider>;\n } else {\n return render;\n }\n });\n Object.assign(Component, OriginComponent);\n const WrapperComponent: any = createForwardWrapper(Component, wrapperProps, statics, true);\n return WrapperComponent;\n}\n\nfunction wrapCore(OriginComponent: any, enhancements: any, Context: any) {\n const Component = function ({ Root }: any) {\n const defaultProps = OriginComponent.defaultProps || {};\n return <Root {...defaultProps} render={OriginComponent} />;\n };\n hoistNonReactStatics(Component, OriginComponent);\n Component.displayName = OriginComponent.displayName;\n return wrapFunction(Component, enhancements, Context);\n}\n\nfunction createComposeComponent(OriginComponent: any, Context: any, enhancements: any): any {\n if (\n React.PureComponent.isPrototypeOf(OriginComponent) ||\n React.Component.isPrototypeOf(OriginComponent)\n ) {\n if (OriginComponent.prototype instanceof Component) {\n return wrapClass(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must inherit from our component');\n }\n } else if (typeof OriginComponent === 'function') {\n return wrapFunction(OriginComponent, enhancements, Context);\n } else if (OriginComponent[CORE_COMPONENT]) {\n return wrapCore(OriginComponent, enhancements, Context);\n } else {\n throw new Error('Must be a React component');\n }\n}\n\nexport function assignProps(p1: any, p2: any) {\n return _assignProps(p2, p1);\n}\n\ntype ClassComponent = new (...args: any[]) => Component<any, any, any, any, any, any>;\ntype FunctionComponent = React.FunctionComponent<any>;\n\ntype OriginComponent<OC> =\n OC extends FunctionComponent\n ? FunctionComponent\n : OC extends ClassComponent\n ? IComponent<InstanceType<OC>>\n : never;\n\nfunction createComponent<\n C = never,\n OC extends ClassComponent | FunctionComponent = never,\n>(\n OriginComponent: OriginComponent<OC>,\n childComponents: any = {},\n options: {\n context?: React.Context<any>;\n parent?: Intergalactic.Component<any, any, any, any> | Intergalactic.Component<any, any, any, any>[];\n enhancements?: [any];\n } = {},\n): C {\n const {\n context = React.createContext({}),\n parent = [],\n enhancements = [],\n } = options;\n let parents: any[] = Array.isArray(parent) ? parent : [parent];\n if (parents.length) {\n const wholeFamily = parents.reduce((acc: any, parent: any) => {\n if (parent[PARENT_COMPONENTS]) {\n acc = [...parent[PARENT_COMPONENTS], ...acc];\n }\n return acc;\n }, parents);\n // @ts-ignore\n OriginComponent[PARENT_COMPONENTS] = wholeFamily;\n parents = wholeFamily;\n }\n // @ts-ignore\n if (OriginComponent[CORE_COMPONENT]) {\n parents.push(OriginComponent);\n }\n const Component = createComposeComponent(OriginComponent, context, [\n // @ts-ignore\n ...enhancements.map((f) => f(context, parents, createComponent, childComponents)),\n i18nAppLocaleEnhance(),\n childrenEnhancement(context, parents),\n // root must be under the children\n rootEnhancement(),\n uncontrolledPropsEnhancement(),\n staticChildrenEnhancement(childComponents, createComponent, {\n context,\n parent,\n enhancements,\n }),\n // functionDefaultProps must be under the staticChild\n functionDefaultPropsEnhancement(),\n // inheritedName must be under the staticChild\n inheritedNameEnhancement(),\n // dataName must be under the staticChild\n dataNameEnhancement(),\n // enhanceEnhancement must be under the functionDefaultPropsEnhancement\n enhanceEnhancement(),\n styleEnhancement(childComponents, context),\n ]);\n Component[CONTEXT_COMPONENT] = context;\n Component._______childrenComponents = childComponents;\n Component[CREATE_COMPONENT] = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent<C, OC>(_OriginComponent, _childComponents, _options);\n };\n Component.newInstance = function (\n _OriginComponent = OriginComponent,\n _childComponents = childComponents,\n _options = options,\n ) {\n return createComponent<C, OC>(_OriginComponent, _childComponents, _options);\n };\n Component[CORE_COMPONENT] = true;\n return Component;\n}\n\ntype BaseComponentOptions = {\n isIcon?: boolean;\n};\n\nfunction createBaseComponent<\n C = never,\n OC extends React.ForwardRefRenderFunction<unknown, any> = never,\n OCRef = OC extends React.ForwardRefRenderFunction<infer Ref, any> ? Ref : never,\n OCProps = OC extends React.ForwardRefRenderFunction<OCRef, infer Props> ? Props : never,\n>(\n OriginComponent: React.ForwardRefRenderFunction<OCRef, OCProps>,\n opt?: BaseComponentOptions,\n): C {\n const Component = React.forwardRef(OriginComponent);\n Component.displayName = OriginComponent.displayName ?? '';\n Component.defaultProps = {\n // @ts-ignore\n 'data-ui-name': OriginComponent.displayName,\n };\n // @ts-ignore\n Component[CORE_COMPONENT] = true;\n\n // @ts-ignore\n Component.__IS_ICON = Boolean(opt?.isIcon);\n\n return Component as C;\n}\n\nexport { createComponent, createBaseComponent };\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import canUseDOM from "./utils/canUseDOM.mjs";
3
3
  class LastInteractionType {
4
4
  constructor() {
@@ -1,11 +1,14 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import { PureComponent } from "react";
3
+ import { CORE_INSTANCE } from "./symbols.mjs";
3
4
  const Root = void 0;
4
5
  class Component extends PureComponent {
5
6
  constructor(...args) {
6
7
  super(...args);
8
+ _defineProperty(this, "__defaultProps", {});
7
9
  _defineProperty(this, "Root", void 0);
8
10
  _defineProperty(this, "isControlled", false);
11
+ _defineProperty(this, CORE_INSTANCE, void 0);
9
12
  }
10
13
  uncontrolledProps() {
11
14
  return {};
@@ -1,5 +1,5 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
- import _extends from "@babel/runtime/helpers/esm/extends";
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _extends from "@babel/runtime/helpers/extends";
3
3
  import hoistNonReactStatics from "hoist-non-react-statics";
4
4
  import React from "react";
5
5
  import { Component } from "./core-types/Component.mjs";
@@ -271,13 +271,15 @@ function createComponent(OriginComponent, childComponents = {}, options = {}) {
271
271
  Component2[CORE_COMPONENT] = true;
272
272
  return Component2;
273
273
  }
274
- function createBaseComponent(OriginComponent) {
274
+ function createBaseComponent(OriginComponent, opt) {
275
275
  const Component2 = /* @__PURE__ */ React.forwardRef(OriginComponent);
276
276
  Component2.displayName = OriginComponent.displayName ?? "";
277
277
  Component2.defaultProps = {
278
+ // @ts-ignore
278
279
  "data-ui-name": OriginComponent.displayName
279
280
  };
280
281
  Component2[CORE_COMPONENT] = true;
282
+ Component2.__IS_ICON = Boolean(opt?.isIcon);
281
283
  return Component2;
282
284
  }
283
285
  export {
@@ -1,4 +1,4 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  class Register {
3
3
  constructor() {
4
4
  _defineProperty(this, "data", {});
@@ -1,4 +1,4 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  const DEV = process.env.NODE_ENV !== "production";
3
3
  class Logger {
4
4
  constructor(logger2) {
package/lib/register.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  class Register {
3
3
  constructor() {
4
4
  _defineProperty(this, "data", {});
@@ -27,7 +27,7 @@ function injectStyle(css) {
27
27
  sh = prevSh;
28
28
  } else {
29
29
  // @ts-ignore
30
- const version = "17.1.0";
30
+ const version = "17.2.0";
31
31
  sh = document.createElement('style');
32
32
  sh.setAttribute('data-ui-v', version);
33
33
  sh.classList.add(selectorClass);
@@ -21,7 +21,7 @@ function injectStyle(css) {
21
21
  sh = prevSh;
22
22
  } else {
23
23
  // @ts-ignore
24
- const version = "17.1.0";
24
+ const version = "17.2.0";
25
25
  sh = document.createElement('style');
26
26
  sh.setAttribute('data-ui-v', version);
27
27
  sh.classList.add(selectorClass);
@@ -1,4 +1,4 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  const DEV = process.env.NODE_ENV !== "production";
3
3
  class Logger {
4
4
  constructor(logger2) {
@@ -5,10 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.useColorResolver = void 0;
8
+ var _highlightsLight = _interopRequireDefault(require("@semcore/theme/highlights-light"));
8
9
  var _light = _interopRequireDefault(require("@semcore/theme/light"));
9
10
  var _logger = _interopRequireDefault(require("../logger"));
10
11
  var _ThemeProvider = require("../ThemeProvider");
11
- const defaultDesignTheme = _light.default;
12
+ const defaultDesignTheme = {
13
+ ..._light.default,
14
+ ..._highlightsLight.default
15
+ };
12
16
  const deprecatedPalette = {
13
17
  '--denim-blue': '#006dca',
14
18
  '--light-blue': '#008ff8',
@@ -1 +1 @@
1
- {"version":3,"file":"useColorResolver.js","names":["_light","_interopRequireDefault","require","_logger","_ThemeProvider","defaultDesignTheme","defaultDesignThemeJson","deprecatedPalette","makeDeprecationMessage","color","useColorResolver","contextTheme","useContextTokens","undefined","startsWith","logger","warn","resolvedColor","exports"],"sources":["../../../src/utils/use/useColorResolver.ts"],"sourcesContent":["import defaultDesignThemeJson from '@semcore/theme/light';\n\nimport logger from '../logger';\nimport { useContextTokens } from '../ThemeProvider';\n\nconst defaultDesignTheme = defaultDesignThemeJson as Record<string, string>;\nconst deprecatedPalette: Record<string, string> = {\n '--denim-blue': '#006dca',\n '--light-blue': '#008ff8',\n '--neon-blue': '#8ecdff',\n '--cyan': '#2bb3ff',\n '--green': '#009f81',\n '--dark-green': '#007c65',\n '--yellow': '#fdc23c',\n '--light-orange': '#ff8c43',\n '--orange': '#ff642d',\n '--dark-orange': '#c33909',\n '--red': '#ff4953',\n '--dark-red': '#d1002f',\n '--violet': '#ab6cfe',\n '--dark-violet': '#8649e1',\n '--pink': '#e14adf',\n '--asphalt': '#6c6e79',\n '--wall': '#8a8e9b',\n '--mist': '#a9abb6',\n '--mist-light': '#c4c7cf',\n '--stone': '#a9abb6',\n '--stone-light': '#c4c7cf',\n '--gray20': '#191b23',\n '--gray30': '#191b23',\n '--gray40': '#484a54',\n '--gray60': '#6c6e79',\n '--gray70': '#a9abb6',\n '--gray80': '#c4c7cf',\n '--gray94': '#e0e1e9',\n '--gray96': '#f4f5f9',\n '--mystic': '#f4f5f9',\n '--mercury': '#e0e1e9',\n '--blue50': '#e9f7ff',\n '--blue100': '#c4e5fe',\n '--blue400': '#008ff8',\n '--blue600': '#044792',\n '--green50': '#dbfee8',\n '--green100': '#9ef2c9',\n '--green200': '#59ddaa',\n '--green300': '#00c192',\n '--green600': '#055345',\n '--red50': '#fff0f7',\n '--red100': '#ffd7df',\n '--red200': '#ffaeb5',\n '--red300': '#ff8786',\n '--red600': '#8e0016',\n '--orange50': '#fff3d9',\n '--orange100': '#ffdca2',\n '--orange200': '#ffb26e',\n '--yellow100': '#fce081',\n '--iceberg-blue': '#6fafd4',\n '--salad': '#8bc835',\n '--granitic': '#2f3439',\n '--gray10': '#222222',\n '--sky': '#e1f2ff',\n '--lily': '#e6f9fd',\n '--marble': '#f1f6f8',\n '--googleplus': '#e14b3f',\n '--linkedin': '#1a7ab2',\n};\n\nconst makeDeprecationMessage = (color: string) =>\n `You are using ${color} color in your app. It's deprecated and will be removed from palette in the next major release. Please use colors from https://developer.semrush.com/intergalactic/style/design-tokens/ instead.`;\n\nexport const useColorResolver = () => {\n const contextTheme = useContextTokens();\n\n return (color?: string) => {\n if (!color) return undefined as any;\n if (color.startsWith('--')) {\n if (deprecatedPalette[color]) {\n logger.warn(true, makeDeprecationMessage(color), undefined);\n return deprecatedPalette[color];\n }\n let resolvedColor: string | undefined;\n\n if (contextTheme?.[color]) {\n resolvedColor = contextTheme[color];\n }\n if (defaultDesignTheme[color]) {\n resolvedColor = defaultDesignTheme[color];\n }\n\n if (resolvedColor) {\n return `var(${color}, ${resolvedColor})`;\n }\n\n return `var(${color})`;\n }\n if (defaultDesignTheme[`--intergalactic-${color}`]) {\n return `var(--intergalactic-${color}, ${defaultDesignTheme[`--intergalactic-${color}`]})`;\n }\n if (defaultDesignTheme[`--${color}`]) {\n return `var(--${color}, ${defaultDesignTheme[`--${color}`]})`;\n }\n if (deprecatedPalette[`--${color}`]) {\n logger.warn(true, makeDeprecationMessage(color), undefined);\n return deprecatedPalette[`--${color}`];\n }\n return color;\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useColorResolver.js","names":["_highlightsLight","_interopRequireDefault","require","_light","_logger","_ThemeProvider","defaultDesignTheme","defaultDesignThemeJson","highlightsDesignThemeJson","deprecatedPalette","makeDeprecationMessage","color","useColorResolver","contextTheme","useContextTokens","undefined","startsWith","logger","warn","resolvedColor","exports"],"sources":["../../../src/utils/use/useColorResolver.ts"],"sourcesContent":["import highlightsDesignThemeJson from '@semcore/theme/highlights-light';\nimport defaultDesignThemeJson from '@semcore/theme/light';\n\nimport logger from '../logger';\nimport { useContextTokens } from '../ThemeProvider';\n\nconst defaultDesignTheme: Record<string, string> = {\n ...defaultDesignThemeJson,\n ...highlightsDesignThemeJson,\n};\nconst deprecatedPalette: Record<string, string> = {\n '--denim-blue': '#006dca',\n '--light-blue': '#008ff8',\n '--neon-blue': '#8ecdff',\n '--cyan': '#2bb3ff',\n '--green': '#009f81',\n '--dark-green': '#007c65',\n '--yellow': '#fdc23c',\n '--light-orange': '#ff8c43',\n '--orange': '#ff642d',\n '--dark-orange': '#c33909',\n '--red': '#ff4953',\n '--dark-red': '#d1002f',\n '--violet': '#ab6cfe',\n '--dark-violet': '#8649e1',\n '--pink': '#e14adf',\n '--asphalt': '#6c6e79',\n '--wall': '#8a8e9b',\n '--mist': '#a9abb6',\n '--mist-light': '#c4c7cf',\n '--stone': '#a9abb6',\n '--stone-light': '#c4c7cf',\n '--gray20': '#191b23',\n '--gray30': '#191b23',\n '--gray40': '#484a54',\n '--gray60': '#6c6e79',\n '--gray70': '#a9abb6',\n '--gray80': '#c4c7cf',\n '--gray94': '#e0e1e9',\n '--gray96': '#f4f5f9',\n '--mystic': '#f4f5f9',\n '--mercury': '#e0e1e9',\n '--blue50': '#e9f7ff',\n '--blue100': '#c4e5fe',\n '--blue400': '#008ff8',\n '--blue600': '#044792',\n '--green50': '#dbfee8',\n '--green100': '#9ef2c9',\n '--green200': '#59ddaa',\n '--green300': '#00c192',\n '--green600': '#055345',\n '--red50': '#fff0f7',\n '--red100': '#ffd7df',\n '--red200': '#ffaeb5',\n '--red300': '#ff8786',\n '--red600': '#8e0016',\n '--orange50': '#fff3d9',\n '--orange100': '#ffdca2',\n '--orange200': '#ffb26e',\n '--yellow100': '#fce081',\n '--iceberg-blue': '#6fafd4',\n '--salad': '#8bc835',\n '--granitic': '#2f3439',\n '--gray10': '#222222',\n '--sky': '#e1f2ff',\n '--lily': '#e6f9fd',\n '--marble': '#f1f6f8',\n '--googleplus': '#e14b3f',\n '--linkedin': '#1a7ab2',\n};\n\nconst makeDeprecationMessage = (color: string) =>\n `You are using ${color} color in your app. It's deprecated and will be removed from palette in the next major release. Please use colors from https://developer.semrush.com/intergalactic/style/design-tokens/ instead.`;\n\nexport const useColorResolver = () => {\n const contextTheme = useContextTokens();\n\n return (color?: string) => {\n if (!color) return undefined as any;\n if (color.startsWith('--')) {\n if (deprecatedPalette[color]) {\n logger.warn(true, makeDeprecationMessage(color), undefined);\n return deprecatedPalette[color];\n }\n let resolvedColor: string | undefined;\n\n if (contextTheme?.[color]) {\n resolvedColor = contextTheme[color];\n }\n if (defaultDesignTheme[color]) {\n resolvedColor = defaultDesignTheme[color];\n }\n\n if (resolvedColor) {\n return `var(${color}, ${resolvedColor})`;\n }\n\n return `var(${color})`;\n }\n if (defaultDesignTheme[`--intergalactic-${color}`]) {\n return `var(--intergalactic-${color}, ${defaultDesignTheme[`--intergalactic-${color}`]})`;\n }\n if (defaultDesignTheme[`--${color}`]) {\n return `var(--${color}, ${defaultDesignTheme[`--${color}`]})`;\n }\n if (deprecatedPalette[`--${color}`]) {\n logger.warn(true, makeDeprecationMessage(color), undefined);\n return deprecatedPalette[`--${color}`];\n }\n return color;\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,11 @@
1
+ import highlightsDesignThemeJson from '@semcore/theme/highlights-light';
1
2
  import defaultDesignThemeJson from '@semcore/theme/light';
2
3
  import logger from "../logger.mjs";
3
4
  import { useContextTokens } from "../ThemeProvider.mjs";
4
- const defaultDesignTheme = defaultDesignThemeJson;
5
+ const defaultDesignTheme = {
6
+ ...defaultDesignThemeJson,
7
+ ...highlightsDesignThemeJson
8
+ };
5
9
  const deprecatedPalette = {
6
10
  '--denim-blue': '#006dca',
7
11
  '--light-blue': '#008ff8',
@@ -1 +1 @@
1
- {"version":3,"file":"useColorResolver.mjs","names":["defaultDesignThemeJson","logger","useContextTokens","defaultDesignTheme","deprecatedPalette","makeDeprecationMessage","color","useColorResolver","contextTheme","undefined","startsWith","warn","resolvedColor"],"sources":["../../../src/utils/use/useColorResolver.ts"],"sourcesContent":["import defaultDesignThemeJson from '@semcore/theme/light';\n\nimport logger from '../logger';\nimport { useContextTokens } from '../ThemeProvider';\n\nconst defaultDesignTheme = defaultDesignThemeJson as Record<string, string>;\nconst deprecatedPalette: Record<string, string> = {\n '--denim-blue': '#006dca',\n '--light-blue': '#008ff8',\n '--neon-blue': '#8ecdff',\n '--cyan': '#2bb3ff',\n '--green': '#009f81',\n '--dark-green': '#007c65',\n '--yellow': '#fdc23c',\n '--light-orange': '#ff8c43',\n '--orange': '#ff642d',\n '--dark-orange': '#c33909',\n '--red': '#ff4953',\n '--dark-red': '#d1002f',\n '--violet': '#ab6cfe',\n '--dark-violet': '#8649e1',\n '--pink': '#e14adf',\n '--asphalt': '#6c6e79',\n '--wall': '#8a8e9b',\n '--mist': '#a9abb6',\n '--mist-light': '#c4c7cf',\n '--stone': '#a9abb6',\n '--stone-light': '#c4c7cf',\n '--gray20': '#191b23',\n '--gray30': '#191b23',\n '--gray40': '#484a54',\n '--gray60': '#6c6e79',\n '--gray70': '#a9abb6',\n '--gray80': '#c4c7cf',\n '--gray94': '#e0e1e9',\n '--gray96': '#f4f5f9',\n '--mystic': '#f4f5f9',\n '--mercury': '#e0e1e9',\n '--blue50': '#e9f7ff',\n '--blue100': '#c4e5fe',\n '--blue400': '#008ff8',\n '--blue600': '#044792',\n '--green50': '#dbfee8',\n '--green100': '#9ef2c9',\n '--green200': '#59ddaa',\n '--green300': '#00c192',\n '--green600': '#055345',\n '--red50': '#fff0f7',\n '--red100': '#ffd7df',\n '--red200': '#ffaeb5',\n '--red300': '#ff8786',\n '--red600': '#8e0016',\n '--orange50': '#fff3d9',\n '--orange100': '#ffdca2',\n '--orange200': '#ffb26e',\n '--yellow100': '#fce081',\n '--iceberg-blue': '#6fafd4',\n '--salad': '#8bc835',\n '--granitic': '#2f3439',\n '--gray10': '#222222',\n '--sky': '#e1f2ff',\n '--lily': '#e6f9fd',\n '--marble': '#f1f6f8',\n '--googleplus': '#e14b3f',\n '--linkedin': '#1a7ab2',\n};\n\nconst makeDeprecationMessage = (color: string) =>\n `You are using ${color} color in your app. It's deprecated and will be removed from palette in the next major release. Please use colors from https://developer.semrush.com/intergalactic/style/design-tokens/ instead.`;\n\nexport const useColorResolver = () => {\n const contextTheme = useContextTokens();\n\n return (color?: string) => {\n if (!color) return undefined as any;\n if (color.startsWith('--')) {\n if (deprecatedPalette[color]) {\n logger.warn(true, makeDeprecationMessage(color), undefined);\n return deprecatedPalette[color];\n }\n let resolvedColor: string | undefined;\n\n if (contextTheme?.[color]) {\n resolvedColor = contextTheme[color];\n }\n if (defaultDesignTheme[color]) {\n resolvedColor = defaultDesignTheme[color];\n }\n\n if (resolvedColor) {\n return `var(${color}, ${resolvedColor})`;\n }\n\n return `var(${color})`;\n }\n if (defaultDesignTheme[`--intergalactic-${color}`]) {\n return `var(--intergalactic-${color}, ${defaultDesignTheme[`--intergalactic-${color}`]})`;\n }\n if (defaultDesignTheme[`--${color}`]) {\n return `var(--${color}, ${defaultDesignTheme[`--${color}`]})`;\n }\n if (deprecatedPalette[`--${color}`]) {\n logger.warn(true, makeDeprecationMessage(color), undefined);\n return deprecatedPalette[`--${color}`];\n }\n return color;\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useColorResolver.mjs","names":["highlightsDesignThemeJson","defaultDesignThemeJson","logger","useContextTokens","defaultDesignTheme","deprecatedPalette","makeDeprecationMessage","color","useColorResolver","contextTheme","undefined","startsWith","warn","resolvedColor"],"sources":["../../../src/utils/use/useColorResolver.ts"],"sourcesContent":["import highlightsDesignThemeJson from '@semcore/theme/highlights-light';\nimport defaultDesignThemeJson from '@semcore/theme/light';\n\nimport logger from '../logger';\nimport { useContextTokens } from '../ThemeProvider';\n\nconst defaultDesignTheme: Record<string, string> = {\n ...defaultDesignThemeJson,\n ...highlightsDesignThemeJson,\n};\nconst deprecatedPalette: Record<string, string> = {\n '--denim-blue': '#006dca',\n '--light-blue': '#008ff8',\n '--neon-blue': '#8ecdff',\n '--cyan': '#2bb3ff',\n '--green': '#009f81',\n '--dark-green': '#007c65',\n '--yellow': '#fdc23c',\n '--light-orange': '#ff8c43',\n '--orange': '#ff642d',\n '--dark-orange': '#c33909',\n '--red': '#ff4953',\n '--dark-red': '#d1002f',\n '--violet': '#ab6cfe',\n '--dark-violet': '#8649e1',\n '--pink': '#e14adf',\n '--asphalt': '#6c6e79',\n '--wall': '#8a8e9b',\n '--mist': '#a9abb6',\n '--mist-light': '#c4c7cf',\n '--stone': '#a9abb6',\n '--stone-light': '#c4c7cf',\n '--gray20': '#191b23',\n '--gray30': '#191b23',\n '--gray40': '#484a54',\n '--gray60': '#6c6e79',\n '--gray70': '#a9abb6',\n '--gray80': '#c4c7cf',\n '--gray94': '#e0e1e9',\n '--gray96': '#f4f5f9',\n '--mystic': '#f4f5f9',\n '--mercury': '#e0e1e9',\n '--blue50': '#e9f7ff',\n '--blue100': '#c4e5fe',\n '--blue400': '#008ff8',\n '--blue600': '#044792',\n '--green50': '#dbfee8',\n '--green100': '#9ef2c9',\n '--green200': '#59ddaa',\n '--green300': '#00c192',\n '--green600': '#055345',\n '--red50': '#fff0f7',\n '--red100': '#ffd7df',\n '--red200': '#ffaeb5',\n '--red300': '#ff8786',\n '--red600': '#8e0016',\n '--orange50': '#fff3d9',\n '--orange100': '#ffdca2',\n '--orange200': '#ffb26e',\n '--yellow100': '#fce081',\n '--iceberg-blue': '#6fafd4',\n '--salad': '#8bc835',\n '--granitic': '#2f3439',\n '--gray10': '#222222',\n '--sky': '#e1f2ff',\n '--lily': '#e6f9fd',\n '--marble': '#f1f6f8',\n '--googleplus': '#e14b3f',\n '--linkedin': '#1a7ab2',\n};\n\nconst makeDeprecationMessage = (color: string) =>\n `You are using ${color} color in your app. It's deprecated and will be removed from palette in the next major release. Please use colors from https://developer.semrush.com/intergalactic/style/design-tokens/ instead.`;\n\nexport const useColorResolver = () => {\n const contextTheme = useContextTokens();\n\n return (color?: string) => {\n if (!color) return undefined as any;\n if (color.startsWith('--')) {\n if (deprecatedPalette[color]) {\n logger.warn(true, makeDeprecationMessage(color), undefined);\n return deprecatedPalette[color];\n }\n let resolvedColor: string | undefined;\n\n if (contextTheme?.[color]) {\n resolvedColor = contextTheme[color];\n }\n if (defaultDesignTheme[color]) {\n resolvedColor = defaultDesignTheme[color];\n }\n\n if (resolvedColor) {\n return `var(${color}, ${resolvedColor})`;\n }\n\n return `var(${color})`;\n }\n if (defaultDesignTheme[`--intergalactic-${color}`]) {\n return `var(--intergalactic-${color}, ${defaultDesignTheme[`--intergalactic-${color}`]})`;\n }\n if (defaultDesignTheme[`--${color}`]) {\n return `var(--${color}, ${defaultDesignTheme[`--${color}`]})`;\n }\n if (deprecatedPalette[`--${color}`]) {\n logger.warn(true, makeDeprecationMessage(color), undefined);\n return deprecatedPalette[`--${color}`];\n }\n return color;\n };\n};\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/core",
3
3
  "description": "Semrush Core Component",
4
- "version": "17.1.0",
4
+ "version": "17.2.0-prerelease.3",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib/index.mjs",
7
7
  "typings": "lib/index.d.ts",
@@ -330,7 +330,7 @@
330
330
  "@types/classnames": "2.2.6",
331
331
  "@types/hoist-non-react-statics": "^3.3.6",
332
332
  "@semcore/testing-utils": "1.0.0",
333
- "@semcore/theme": "2.1.0"
333
+ "@semcore/theme": "2.1.3"
334
334
  },
335
335
  "scripts": {
336
336
  "build": "pnpm semcore-builder --coreUtils && pnpm vite build"