intergalactic 15.49.1-prerelease-0cc3d204 → 15.50.0-prerelease-950f60a4

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.
Files changed (127) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/accordion/index.d.ts +14 -3
  3. package/accordion/lib/cjs/Accordion.js +5 -1
  4. package/accordion/lib/cjs/Accordion.js.map +1 -1
  5. package/accordion/lib/cjs/index.d.js.map +1 -1
  6. package/accordion/lib/es6/Accordion.js +3 -0
  7. package/accordion/lib/es6/Accordion.js.map +1 -1
  8. package/accordion/lib/es6/index.d.js.map +1 -1
  9. package/accordion/lib/types/index.d.ts +14 -3
  10. package/components.json +1 -1
  11. package/core/Component.d.ts +14 -2
  12. package/core/lib/cjs/Component.js +5 -1
  13. package/core/lib/cjs/Component.js.map +1 -1
  14. package/core/lib/cjs/index.js.map +1 -1
  15. package/core/lib/es6/Component.js +3 -0
  16. package/core/lib/es6/Component.js.map +1 -1
  17. package/core/lib/es6/index.js.map +1 -1
  18. package/core/lib/types/Component.d.ts +14 -2
  19. package/d3-chart/Plot.d.ts +1 -1
  20. package/d3-chart/RadialTree.d.ts +2 -2
  21. package/d3-chart/Tooltip.d.ts +5 -1
  22. package/d3-chart/lib/cjs/RadialTree.js.map +1 -1
  23. package/d3-chart/lib/cjs/types/Plot.d.js.map +1 -1
  24. package/d3-chart/lib/cjs/types/Tooltip.d.js.map +1 -1
  25. package/d3-chart/lib/es6/RadialTree.js.map +1 -1
  26. package/d3-chart/lib/es6/types/Plot.d.js.map +1 -1
  27. package/d3-chart/lib/es6/types/Tooltip.d.js.map +1 -1
  28. package/d3-chart/lib/types/Plot.d.ts +1 -1
  29. package/d3-chart/lib/types/RadialTree.d.ts +2 -2
  30. package/d3-chart/lib/types/Tooltip.d.ts +5 -1
  31. package/data-table/DataTable.d.ts +71 -7
  32. package/data-table/lib/cjs/DataTable.js +13 -1
  33. package/data-table/lib/cjs/DataTable.js.map +1 -1
  34. package/data-table/lib/es6/DataTable.js +9 -0
  35. package/data-table/lib/es6/DataTable.js.map +1 -1
  36. package/data-table/lib/types/DataTable.d.ts +71 -7
  37. package/input-mask/InputMask.d.ts +1 -1
  38. package/input-mask/lib/types/InputMask.d.ts +1 -1
  39. package/input-tags/InputTags.d.ts +1 -1
  40. package/input-tags/lib/types/InputTags.d.ts +1 -1
  41. package/package.json +1 -1
  42. package/pills/index.d.ts +14 -3
  43. package/pills/lib/cjs/Pills.js +5 -1
  44. package/pills/lib/cjs/Pills.js.map +1 -1
  45. package/pills/lib/cjs/index.d.js.map +1 -1
  46. package/pills/lib/cjs/index.js +14 -2
  47. package/pills/lib/cjs/index.js.map +1 -1
  48. package/pills/lib/es6/Pills.js +3 -0
  49. package/pills/lib/es6/Pills.js.map +1 -1
  50. package/pills/lib/es6/index.d.js.map +1 -1
  51. package/pills/lib/es6/index.js +1 -0
  52. package/pills/lib/es6/index.js.map +1 -1
  53. package/pills/lib/types/index.d.ts +14 -3
  54. package/product-head/Info.d.ts +1 -1
  55. package/product-head/ProductHead.d.ts +1 -1
  56. package/product-head/Title.d.ts +1 -1
  57. package/product-head/lib/types/Info.d.ts +1 -1
  58. package/product-head/lib/types/ProductHead.d.ts +1 -1
  59. package/product-head/lib/types/Title.d.ts +1 -1
  60. package/radio/index.d.ts +14 -3
  61. package/radio/lib/cjs/Radio.js +19 -14
  62. package/radio/lib/cjs/Radio.js.map +1 -1
  63. package/radio/lib/cjs/index.d.js.map +1 -1
  64. package/radio/lib/es6/Radio.js +17 -14
  65. package/radio/lib/es6/Radio.js.map +1 -1
  66. package/radio/lib/es6/index.d.js.map +1 -1
  67. package/radio/lib/types/index.d.ts +14 -3
  68. package/select/index.d.ts +15 -5
  69. package/select/lib/cjs/Select.js +5 -1
  70. package/select/lib/cjs/Select.js.map +1 -1
  71. package/select/lib/cjs/index.d.js.map +1 -1
  72. package/select/lib/cjs/index.js +16 -1
  73. package/select/lib/cjs/index.js.map +1 -1
  74. package/select/lib/es6/Select.js +3 -0
  75. package/select/lib/es6/Select.js.map +1 -1
  76. package/select/lib/es6/index.d.js.map +1 -1
  77. package/select/lib/es6/index.js +1 -0
  78. package/select/lib/es6/index.js.map +1 -1
  79. package/select/lib/types/index.d.ts +15 -5
  80. package/slider/index.d.ts +14 -3
  81. package/slider/lib/cjs/Slider.js +5 -1
  82. package/slider/lib/cjs/Slider.js.map +1 -1
  83. package/slider/lib/cjs/index.d.js.map +1 -1
  84. package/slider/lib/cjs/index.js +14 -2
  85. package/slider/lib/cjs/index.js.map +1 -1
  86. package/slider/lib/es6/Slider.js +3 -0
  87. package/slider/lib/es6/Slider.js.map +1 -1
  88. package/slider/lib/es6/index.d.js.map +1 -1
  89. package/slider/lib/es6/index.js +1 -0
  90. package/slider/lib/es6/index.js.map +1 -1
  91. package/slider/lib/types/index.d.ts +14 -3
  92. package/tab-line/index.d.ts +14 -3
  93. package/tab-line/lib/cjs/TabLine.js +5 -1
  94. package/tab-line/lib/cjs/TabLine.js.map +1 -1
  95. package/tab-line/lib/cjs/index.d.js.map +1 -1
  96. package/tab-line/lib/cjs/index.js +14 -2
  97. package/tab-line/lib/cjs/index.js.map +1 -1
  98. package/tab-line/lib/es6/TabLine.js +3 -0
  99. package/tab-line/lib/es6/TabLine.js.map +1 -1
  100. package/tab-line/lib/es6/index.d.js.map +1 -1
  101. package/tab-line/lib/es6/index.js +1 -0
  102. package/tab-line/lib/es6/index.js.map +1 -1
  103. package/tab-line/lib/types/index.d.ts +14 -3
  104. package/tab-panel/index.d.ts +14 -3
  105. package/tab-panel/lib/cjs/TabPanel.js +5 -1
  106. package/tab-panel/lib/cjs/TabPanel.js.map +1 -1
  107. package/tab-panel/lib/cjs/index.d.js.map +1 -1
  108. package/tab-panel/lib/cjs/index.js +14 -2
  109. package/tab-panel/lib/cjs/index.js.map +1 -1
  110. package/tab-panel/lib/es6/TabPanel.js +3 -0
  111. package/tab-panel/lib/es6/TabPanel.js.map +1 -1
  112. package/tab-panel/lib/es6/index.d.js.map +1 -1
  113. package/tab-panel/lib/es6/index.js +1 -0
  114. package/tab-panel/lib/es6/index.js.map +1 -1
  115. package/tab-panel/lib/types/index.d.ts +14 -3
  116. package/wizard/index.d.ts +14 -3
  117. package/wizard/lib/cjs/Wizard.js +5 -1
  118. package/wizard/lib/cjs/Wizard.js.map +1 -1
  119. package/wizard/lib/cjs/index.d.js.map +1 -1
  120. package/wizard/lib/cjs/index.js +14 -2
  121. package/wizard/lib/cjs/index.js.map +1 -1
  122. package/wizard/lib/es6/Wizard.js +3 -0
  123. package/wizard/lib/es6/Wizard.js.map +1 -1
  124. package/wizard/lib/es6/index.d.js.map +1 -1
  125. package/wizard/lib/es6/index.js +1 -0
  126. package/wizard/lib/es6/index.js.map +1 -1
  127. package/wizard/lib/types/index.d.ts +14 -3
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","names":["PureComponent","Root","undefined","RootComponent","_PureComponent","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","_createClass","key","get","Component","Intergalactic","_Intergalactic","InternalTypings","_InternalTypings"],"sources":["../../src/Component.tsx"],"sourcesContent":["import React, {\n AllHTMLAttributes,\n ForwardRefExoticComponent,\n PureComponent,\n ReactNode,\n RefObject,\n} from 'react';\nimport { IStyledProps } from './styled';\n\n/** @deprecated */\ntype KnownKeys<T> = {\n [K in keyof T]: string extends K ? never : number extends K ? never : K;\n} extends { [_ in keyof T]: infer U }\n ? U\n : never;\n\n/** @deprecated */\nexport type HandlersType<UCProps> = { [K in keyof UCProps]?: <T = unknown>(arg: T) => void };\n/** @deprecated */\nexport type ChildrenType<Props = {}, Ctx = {}, UCProps = {}> =\n | ((props: Props & Ctx, handlers: HandlersType<UCProps>) => ReactNode)\n | ReactNode;\n\n/** @deprecated */\nexport type RootComponentHandler = (...args: any[]) => void | false;\n\n/** @deprecated */\nexport interface IRootComponentHandlers {\n [key: string]: RootComponentHandler;\n}\n\n/** @deprecated */\nexport interface IRootComponentProps<Props = {}, Ctx = {}> {\n forwardRef?: RefObject<any>;\n Children?: any;\n children?: ChildrenType<Props, Ctx>;\n styles?: IStyledProps['styles'];\n 'data-ui-name'?: string;\n}\n\n/** @deprecated */\nexport type IComponentProps<Props = {}, Ctx = {}> = Props & IRootComponentProps<Props, Ctx>;\n\n/** @deprecated */\nexport type IFunctionProps<Props = {}, Ctx = {}> = IComponentProps<Props, Ctx> &\n Omit<AllHTMLAttributes<any>, keyof IComponentProps<Props, Ctx>> & { Root?: Root };\n\n/** @deprecated */\nexport type PropsWithRenderFnChildren<Props = {}, Ctx = {}, UCProps = {}> = Omit<\n Pick<Props, KnownKeys<Props>>,\n 'children'\n> & {\n children?: ChildrenType<Props, Ctx, UCProps>;\n [key: string]: unknown;\n};\n\n/** @deprecated */\nexport type CProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;\n};\n/** @deprecated */\nexport type ReturnEl = React.ReactElement | null;\n\nexport interface IRootNodeProps {\n render: React.ElementType | string;\n tag?: React.ElementType | string;\n\n [key: string]: any;\n}\n\ntype Root = ForwardRefExoticComponent<IRootNodeProps>;\n\n/**\n * @deprecated since version ^1.8.0\n */\nexport type PropGetter<T extends (...args: any) => any> = <P>(props?: P) => ReturnType<T> & P;\n/**\n * @deprecated since version ^1.8.0\n */\n/** @deprecated */\nexport type PropGetterReturn<T extends (...args: any) => any> = Partial<ReturnType<T>>;\n/** @deprecated */\nexport type PropGetterFn = <T extends {}>(props?: T) => T & { [key: string]: unknown };\n/** @deprecated */\nexport type Merge<Props, HTMLProps> = Props & Omit<HTMLProps, keyof Props>;\n/** @deprecated */\nexport type MergeGetters<G1 extends (...args: any) => any, G2 extends (...args: any) => any> = <P>(\n props?: P,\n) => Merge<ReturnType<G1>, ReturnType<G2>> & P;\n\nconst Root: Root = undefined as any;\n\nexport { Root };\n\n/** @deprecated */\nabstract class RootComponent<\n Props = {},\n Context = {},\n State = {},\n Enhance = {},\n> extends PureComponent<Props, State> {\n get handlers(): Readonly<IRootComponentHandlers> {\n return {};\n }\n\n get asProps() {\n return {} as Readonly<\n Merge<Props & IRootComponentProps<Props, Context> & Enhance, AllHTMLAttributes<any>>\n >;\n }\n\n Root: Root = undefined as any;\n\n isControlled = false;\n}\n\nexport const Component = RootComponent;\n/** @deprecated */\nexport type Component<\n Props = {},\n Context = {},\n State = {},\n Handlers extends IRootComponentHandlers = IRootComponentHandlers,\n> = React.ComponentClass<Props, State> & {\n isControlled: boolean;\n\n handlers: Readonly<Handlers>;\n\n asProps: Readonly<Merge<Props & IRootComponentProps<Props, Context>, AllHTMLAttributes<any>>>;\n\n Root: Root;\n};\n\nexport namespace Intergalactic {\n type ReactFCProps<C extends React.FC> = C extends React.FC<infer Props> ? Omit<Props, 'tag'> : {};\n type ReactComponentProps<C extends React.ComponentClass> = C extends React.ComponentClass<\n infer Props\n >\n ? Omit<Props, 'tag'>\n : never;\n type ReactFCLike = (props: any) => any;\n type ReactFCLikeProps<C extends ReactFCLike> = C extends (props: infer Props) => any ? Props : {};\n type ComponentChildren<\n Props,\n Context,\n RenderingResult = InternalTypings.ReturnResult,\n AdditionalContext extends any[] = never[],\n > =\n | ((props: MergeProps<Context, Props>, ...args: AdditionalContext) => RenderingResult)\n | InternalTypings.ReturnResult;\n type ComponentBasicProps<Tag extends InternalTypings.ComponentTag> = {\n ref?: React.Ref<InternalTypings.ComponentHtmlElement<Tag> | null>;\n /** @private DO NOT USE IT. Low-level api that prevents specified props from being applied as DOM attribute. */\n __excludeProps?: string[];\n };\n type MergeProps<HighPriorityProps, LowPriorityProps> = {\n [K in keyof LowPriorityProps]: K extends keyof HighPriorityProps\n ? HighPriorityProps[K]\n : LowPriorityProps[K];\n } & HighPriorityProps;\n /** @private */\n export namespace InternalTypings {\n export type EfficientOmit<Type, Keys> = {\n [Property in keyof Type as Exclude<Property, Keys>]: Type[Property];\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,\n BaseTag extends ComponentTag | never,\n Props,\n Context = never,\n AdditionalContext extends any[] = never[],\n > = {\n tag?: Tag;\n children?: ComponentChildren<\n EfficientOmit<Props, 'children'> & { children: React.ReactNode },\n Context,\n ReturnResult,\n AdditionalContext\n >;\n } & ComponentBasicProps<Tag> &\n MergeProps<\n EfficientOmit<Props, 'tag' | 'children'>,\n MergeProps<ComponentPropsNesting<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<BaseTag extends ComponentTag> = {\n __nestedProps: ComponentPropsNesting<BaseTag>;\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 }\n export type Component<\n BaseTag extends InternalTypings.ComponentTag = never,\n BaseProps = {},\n Context = {},\n AdditionalContext extends any[] = never[],\n > = (<Tag extends InternalTypings.ComponentTag = BaseTag, Props extends BaseProps = BaseProps>(\n props: InternalTypings.ComponentProps<Tag, BaseTag, Props, Context, AdditionalContext>,\n ) => InternalTypings.ComponentRenderingResults) &\n InternalTypings.ComponentAdditive<BaseTag>;\n export type Tag = InternalTypings.ComponentTag;\n export type DomProps<Tag extends keyof JSX.IntrinsicElements> =\n InternalTypings.InferJsxIntrinsicElement<JSX.IntrinsicElements[Tag]>;\n}\n"],"mappings":";;;;;;AAAA,SAGEA,aAAa,QAGR,OAAO;AAoFd,IAAMC,IAAU,GAAGC,SAAgB;AAEnC,SAASD,IAAI;;AAEb;AAAA,IACeE,aAAa,0BAAAC,cAAA;EAAAC,SAAA,CAAAF,aAAA,EAAAC,cAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,aAAA;EAAA,SAAAA,cAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,aAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAAM,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,WAgBbN,SAAS;IAAAiB,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,mBAEP,KAAK;IAAA,OAAAA,KAAA;EAAA;EAAAa,YAAA,CAAAlB,aAAA;IAAAmB,GAAA;IAAAC,GAAA,EAZpB,SAAAA,IAAA,EAAiD;MAC/C,OAAO,CAAC,CAAC;IACX;EAAC;IAAAD,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAc;MACZ,OAAO,CAAC,CAAC;IAGX;EAAC;EAAA,OAAApB,aAAA;AAAA,EATOH,aAAa;AAgBvB,OAAO,IAAMwB,SAAS,GAAGrB,aAAa;AACtC;;AAgBA,WAAAsB,aAAA;AAgIC,WAAAC,cAAA;EAAA,IAAAC,eAAA;EAAA,WAAAC,gBAAA,MApGkBD,eAAe,KAAfA,eAAe,GAAAD,cAAA,CAAfC,eAAe,KAAAD,cAAA,CAAfC,eAAe;AAAA,GA5BjBF,aAAa,KAAbA,aAAa"}
1
+ {"version":3,"file":"Component.js","names":["PureComponent","Root","undefined","RootComponent","_PureComponent","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","_createClass","key","get","Component","Intergalactic","_Intergalactic","InternalTypings","_InternalTypings","wrapIntergalacticComponent","wrapper"],"sources":["../../src/Component.tsx"],"sourcesContent":["import React, {\n AllHTMLAttributes,\n ForwardRefExoticComponent,\n PureComponent,\n ReactNode,\n RefObject,\n} from 'react';\nimport { IStyledProps } from './styled';\n\n/** @deprecated */\ntype KnownKeys<T> = {\n [K in keyof T]: string extends K ? never : number extends K ? never : K;\n} extends { [_ in keyof T]: infer U }\n ? U\n : never;\n\n/** @deprecated */\nexport type HandlersType<UCProps> = { [K in keyof UCProps]?: <T = unknown>(arg: T) => void };\n/** @deprecated */\nexport type ChildrenType<Props = {}, Ctx = {}, UCProps = {}> =\n | ((props: Props & Ctx, handlers: HandlersType<UCProps>) => ReactNode)\n | ReactNode;\n\n/** @deprecated */\nexport type RootComponentHandler = (...args: any[]) => void | false;\n\n/** @deprecated */\nexport interface IRootComponentHandlers {\n [key: string]: RootComponentHandler;\n}\n\n/** @deprecated */\nexport interface IRootComponentProps<Props = {}, Ctx = {}> {\n forwardRef?: RefObject<any>;\n Children?: any;\n children?: ChildrenType<Props, Ctx>;\n styles?: IStyledProps['styles'];\n 'data-ui-name'?: string;\n}\n\n/** @deprecated */\nexport type IComponentProps<Props = {}, Ctx = {}> = Props & IRootComponentProps<Props, Ctx>;\n\n/** @deprecated */\nexport type IFunctionProps<Props = {}, Ctx = {}> = IComponentProps<Props, Ctx> &\n Omit<AllHTMLAttributes<any>, keyof IComponentProps<Props, Ctx>> & { Root?: Root };\n\n/** @deprecated */\nexport type PropsWithRenderFnChildren<Props = {}, Ctx = {}, UCProps = {}> = Omit<\n Pick<Props, KnownKeys<Props>>,\n 'children'\n> & {\n children?: ChildrenType<Props, Ctx, UCProps>;\n [key: string]: unknown;\n};\n\n/** @deprecated */\nexport type CProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;\n};\n/** @deprecated */\nexport type ReturnEl = React.ReactElement | null;\n\nexport interface IRootNodeProps {\n render: React.ElementType | string;\n tag?: React.ElementType | string;\n\n [key: string]: any;\n}\n\ntype Root = ForwardRefExoticComponent<IRootNodeProps>;\n\n/**\n * @deprecated since version ^1.8.0\n */\nexport type PropGetter<T extends (...args: any) => any> = <P>(props?: P) => ReturnType<T> & P;\n/**\n * @deprecated since version ^1.8.0\n */\n/** @deprecated */\nexport type PropGetterReturn<T extends (...args: any) => any> = Partial<ReturnType<T>>;\n/** @deprecated */\nexport type PropGetterFn = <T extends {}>(props?: T) => T & { [key: string]: unknown };\n/** @deprecated */\nexport type Merge<Props, HTMLProps> = Props & Omit<HTMLProps, keyof Props>;\n/** @deprecated */\nexport type MergeGetters<G1 extends (...args: any) => any, G2 extends (...args: any) => any> = <P>(\n props?: P,\n) => Merge<ReturnType<G1>, ReturnType<G2>> & P;\n\nconst Root: Root = undefined as any;\n\nexport { Root };\n\n/** @deprecated */\nabstract class RootComponent<\n Props = {},\n Context = {},\n State = {},\n Enhance = {},\n> extends PureComponent<Props, State> {\n get handlers(): Readonly<IRootComponentHandlers> {\n return {};\n }\n\n get asProps() {\n return {} as Readonly<\n Merge<Props & IRootComponentProps<Props, Context> & Enhance, AllHTMLAttributes<any>>\n >;\n }\n\n Root: Root = undefined as any;\n\n isControlled = false;\n}\n\nexport const Component = RootComponent;\n/** @deprecated */\nexport type Component<\n Props = {},\n Context = {},\n State = {},\n Handlers extends IRootComponentHandlers = IRootComponentHandlers,\n> = React.ComponentClass<Props, State> & {\n isControlled: boolean;\n\n handlers: Readonly<Handlers>;\n\n asProps: Readonly<Merge<Props & IRootComponentProps<Props, Context>, AllHTMLAttributes<any>>>;\n\n Root: Root;\n};\n\nexport namespace Intergalactic {\n type ReactFCProps<C extends React.FC> = C extends React.FC<infer Props> ? Omit<Props, 'tag'> : {};\n type ReactComponentProps<C extends React.ComponentClass> = C extends React.ComponentClass<\n infer Props\n >\n ? Omit<Props, 'tag'>\n : never;\n type ReactFCLike = (props: any) => any;\n type ReactFCLikeProps<C extends ReactFCLike> = C extends (props: infer Props) => any ? Props : {};\n type ComponentChildren<\n Props,\n Context,\n RenderingResult = InternalTypings.ReturnResult,\n AdditionalContext extends any[] = never[],\n > =\n | ((props: MergeProps<Context, Props>, ...args: AdditionalContext) => RenderingResult)\n | InternalTypings.ReturnResult;\n type ComponentBasicProps<Tag extends InternalTypings.ComponentTag> = {\n ref?: React.Ref<InternalTypings.ComponentHtmlElement<Tag> | null>;\n /** @private DO NOT USE IT. Low-level api that prevents specified props from being applied as DOM attribute. */\n __excludeProps?: string[];\n };\n type MergeProps<HighPriorityProps, LowPriorityProps> = {\n [K in keyof LowPriorityProps]: K extends keyof HighPriorityProps\n ? HighPriorityProps[K]\n : LowPriorityProps[K];\n } & HighPriorityProps;\n /** @private */\n export namespace InternalTypings {\n export type EfficientOmit<Type, Keys> = {\n [Property in keyof Type as Exclude<Property, Keys>]: Type[Property];\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,\n BaseTag extends ComponentTag | never,\n Props,\n Context = never,\n AdditionalContext extends any[] = never[],\n > = {\n tag?: Tag;\n children?: ComponentChildren<\n EfficientOmit<Props, 'children'> & { children: React.ReactNode },\n Context,\n ReturnResult,\n AdditionalContext\n >;\n } & ComponentBasicProps<Tag> &\n MergeProps<\n EfficientOmit<Props, 'tag' | 'children'>,\n MergeProps<ComponentPropsNesting<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 };\n export type InferJsxIntrinsicElement<T extends React.DetailedHTMLProps<any, any>> =\n T extends React.DetailedHTMLProps<infer _, infer Element> ? Element : HTMLElement;\n type InferElementFromRef<T> = T extends React.Ref<infer Element> ? Element : never;\n type InferRefElementFromProps<T> = 'ref' extends keyof T\n ? InferElementFromRef<T['ref']>\n : HTMLElement;\n export type ComponentHtmlElement<Tag extends ComponentTag> =\n Tag extends keyof JSX.IntrinsicElements\n ? InferJsxIntrinsicElement<JSX.IntrinsicElements[Tag]>\n : Tag extends { __nestedProps: infer NestedProps }\n ? InferRefElementFromProps<NestedProps>\n : HTMLElement;\n export type UntypeRefAndTag<Props> = Intergalactic.InternalTypings.EfficientOmit<\n Props,\n 'ref' | 'tag'\n > & {\n ref: React.Ref<any>;\n tag: Intergalactic.InternalTypings.ComponentTag;\n };\n }\n export type Component<\n BaseTag extends InternalTypings.ComponentTag = never,\n BaseProps = {},\n Context = {},\n AdditionalContext extends any[] = never[],\n > = (<Tag extends InternalTypings.ComponentTag = BaseTag, Props extends BaseProps = BaseProps>(\n props: InternalTypings.ComponentProps<Tag, BaseTag, Props, Context, AdditionalContext>,\n ) => InternalTypings.ComponentRenderingResults) &\n InternalTypings.ComponentAdditive<BaseTag, Tag, BaseProps, Context, AdditionalContext>;\n export type Tag = InternalTypings.ComponentTag;\n export type DomProps<Tag extends keyof JSX.IntrinsicElements> =\n InternalTypings.InferJsxIntrinsicElement<JSX.IntrinsicElements[Tag]>;\n}\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":";;;;;;AAAA,SAGEA,aAAa,QAGR,OAAO;AAoFd,IAAMC,IAAU,GAAGC,SAAgB;AAEnC,SAASD,IAAI;;AAEb;AAAA,IACeE,aAAa,0BAAAC,cAAA;EAAAC,SAAA,CAAAF,aAAA,EAAAC,cAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,aAAA;EAAA,SAAAA,cAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,aAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAAM,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,WAgBbN,SAAS;IAAAiB,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,mBAEP,KAAK;IAAA,OAAAA,KAAA;EAAA;EAAAa,YAAA,CAAAlB,aAAA;IAAAmB,GAAA;IAAAC,GAAA,EAZpB,SAAAA,IAAA,EAAiD;MAC/C,OAAO,CAAC,CAAC;IACX;EAAC;IAAAD,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAc;MACZ,OAAO,CAAC,CAAC;IAGX;EAAC;EAAA,OAAApB,aAAA;AAAA,EATOH,aAAa;AAgBvB,OAAO,IAAMwB,SAAS,GAAGrB,aAAa;AACtC;;AAgBA,WAAAsB,aAAA;AAiJC,WAAAC,cAAA;EAAA,IAAAC,eAAA;EAAA,WAAAC,gBAAA,MArHkBD,eAAe,KAAfA,eAAe,GAAAD,cAAA,CAAfC,eAAe,KAAAD,cAAA,CAAfC,eAAe;AAAA,GA5BjBF,aAAa,KAAbA,aAAa;AAmJ9B,OAAO,IAAMI,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAIrCC,OAKoB;EAAA,OAMjBA,OAAO;AAAA,CAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","hoistNonReactStatics","useForkRef","useEnhancedEffect","_assignProps","Component","register","childrenEnhancement","CHILDREN_COMPONENT","rootEnhancement","uncontrolledPropsEnhancement","functionDefaultPropsEnhancement","staticChildrenEnhancement","STATIC_COMPONENT","ROOT_COMPONENT","getterMethodNameByDisplayName","inheritedNameEnhancement","INHERITED_NAME","hoistPropsEnhancement","dataNameEnhancement","enhanceEnhancement","styleEnhancement","bindHandlerEnhancement","i18nAppLocaleEnhance","CORE_COMPONENT","Symbol","CORE_INSTANCE","CORE_AS_PROPS","CORE_INIT","CONTEXT_COMPONENT","CREATE_COMPONENT","PARENT_COMPONENTS","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","_ref","ref","_ref$forwardRef","forwardRef","other","_objectWithoutProperties","_excluded","createElement","BindingWrapper","_extends","WrapperForwardRef","_ref2","_ref2$forwardRef","__WRAPPER_PROPS_BIND__","_excluded2","_reduce","WrapperComponent","_reduce$ref","enhancementRef","props","_excluded3","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","_createClass","value","render","_this2","map","fn","bind","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","_OriginComponent2","_super2","context","_this3","get","_this4","Error","setContext","_this5","contextProps","_get","_getPrototypeOf","_this6","asProps","ctx","Provider","_objectSpread","wrapFunction","memo","FunctionMemoComponent","selfRef","useRef","firstRender","current","wrapCore","_ref3","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","createComponent","childComponents","options","_options$context","createContext","_options$parent","parent","_options$enhancements","parents","isArray","wholeFamily","_toConsumableArray","f","_______childrenComponents","_OriginComponent","_childComponents","_options","createBaseComponent"],"sources":["../../src/index.tsx"],"sourcesContent":["import React, { ForwardRefExoticComponent, RefAttributes } from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n// @ts-ignore\nimport { useForkRef } from '@semcore/utils/lib/ref';\n// @ts-ignore\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\n// @ts-ignore\nimport _assignProps from '@semcore/utils/lib/assignProps';\n\nimport { Component, PropsWithRenderFnChildren } from './Component';\nimport register from './register';\n\nimport childrenEnhancement, { CHILDREN_COMPONENT } from './enhancement/Children';\nimport rootEnhancement from './enhancement/Root';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport staticChildrenEnhancement, {\n STATIC_COMPONENT,\n ROOT_COMPONENT,\n getterMethodNameByDisplayName,\n} from './enhancement/staticChildren';\nimport inheritedNameEnhancement, { INHERITED_NAME } from './enhancement/inheritedName';\nimport hoistPropsEnhancement from './enhancement/hoistProps';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport styleEnhancement from './enhancement/style';\nimport bindHandlerEnhancement from './enhancement/bindHandler';\nimport i18nAppLocaleEnhance from './enhancement/i18n';\n\nconst CORE_COMPONENT = Symbol('CORE_COMPONENT');\nconst CORE_INSTANCE = Symbol('CORE_INSTANCE');\nconst CORE_AS_PROPS = Symbol('CORE_AS_PROPS');\nconst CORE_INIT = Symbol('CORE_INIT');\nconst CONTEXT_COMPONENT = Symbol('CONTEXT_COMPONENT');\nconst CREATE_COMPONENT = Symbol('CREATE_COMPONENT');\nconst PARENT_COMPONENTS = Symbol('PARENT_COMPONENTS');\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(\n (acc: any, enhancement: any) => enhancement.call(this, acc, WrapperComponent, false),\n this.props,\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 type PropsAndRef<T, Ctx, UCProps> = PropsWithRenderFnChildren<T, Ctx, UCProps> &\n RefAttributes<unknown>;\nexport type ForwardRefComponent<T, Ctx, UCProps> = ForwardRefExoticComponent<\n PropsAndRef<T, Ctx, UCProps>\n>;\ntype ComponentOrProps<T, Context, UCProps> = T extends [infer ParentProps, infer ChildProps]\n ? ComponentType<ParentProps, ChildProps, Context, UCProps>\n : ForwardRefComponent<T, Context, UCProps>;\n\nexport type ComponentType<\n ComponentProps,\n ChildComponentProps = {},\n ContextType = {},\n UCProps = {},\n FNType = null,\n> = (FNType extends null\n ? ForwardRefComponent<ComponentProps, ContextType, UCProps>\n : FNType & { displayName: string }) & {\n [K in keyof ChildComponentProps]: ComponentOrProps<ChildComponentProps[K], ContextType, UCProps>;\n} & {\n [CORE_COMPONENT]: boolean;\n [CREATE_COMPONENT]: () => ComponentType<\n ComponentProps,\n ChildComponentProps,\n ContextType,\n UCProps\n >;\n};\n\ninterface ClassWithUncontrolledProps<Props> {\n uncontrolledProps(): unknown;\n}\n\nfunction assignProps(p1: any, p2: any) {\n return _assignProps(p2, p1);\n}\n\nfunction createComponent<ComponentProps, ChildComponentProps = {}, ContextType = {}, FNType = null>(\n OriginComponent: any,\n childComponents: any = {},\n options: {\n context?: React.Context<ContextType>;\n parent?: ComponentType<unknown> | ComponentType<unknown>[];\n enhancements?: [any];\n } = {},\n): ComponentType<\n ComponentProps extends Component<infer Props> ? Props : ComponentProps,\n ChildComponentProps,\n ContextType,\n ComponentProps extends ClassWithUncontrolledProps<any>\n ? ReturnType<ComponentProps['uncontrolledProps']>\n : { [key: string]: (arg: unknown) => void },\n FNType\n> {\n const {\n context = React.createContext<ContextType>({} as ContextType),\n parent = [],\n enhancements = [],\n } = options;\n let parents = 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 OriginComponent[PARENT_COMPONENTS] = wholeFamily;\n parents = wholeFamily;\n }\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 bindHandlerEnhancement(),\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 // must be the last one so any properties can be raised\n hoistPropsEnhancement(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[CORE_COMPONENT] = true;\n return Component;\n}\n\nfunction createBaseComponent<ComponentProps>(OriginComponent: any): ComponentType<ComponentProps> {\n let Component = null;\n if (\n !React.PureComponent.isPrototypeOf(OriginComponent) &&\n !React.Component.isPrototypeOf(OriginComponent) &&\n typeof OriginComponent === 'function'\n ) {\n Component = React.forwardRef(OriginComponent);\n Component.displayName = OriginComponent.displayName;\n Component.defaultProps = {\n 'data-ui-name': OriginComponent.displayName,\n ...OriginComponent.defaultProps,\n };\n (Component as any)[CORE_COMPONENT] = true;\n } else {\n throw new Error('createBaseComponent accepts only functional component');\n }\n return Component as any;\n}\n\nexport type UnknownProperties = {\n [key: string]: unknown;\n};\n\nexport * from './Component';\nexport * from './styled';\nexport * from './register';\nexport {\n createBaseComponent,\n register,\n CREATE_COMPONENT,\n CORE_INSTANCE,\n CONTEXT_COMPONENT,\n CHILDREN_COMPONENT,\n INHERITED_NAME,\n CORE_COMPONENT,\n STATIC_COMPONENT,\n ROOT_COMPONENT,\n assignProps,\n};\nexport default createComponent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","hoistNonReactStatics","useForkRef","useEnhancedEffect","_assignProps","Component","register","childrenEnhancement","CHILDREN_COMPONENT","rootEnhancement","uncontrolledPropsEnhancement","functionDefaultPropsEnhancement","staticChildrenEnhancement","STATIC_COMPONENT","ROOT_COMPONENT","getterMethodNameByDisplayName","inheritedNameEnhancement","INHERITED_NAME","hoistPropsEnhancement","dataNameEnhancement","enhanceEnhancement","styleEnhancement","bindHandlerEnhancement","i18nAppLocaleEnhance","CORE_COMPONENT","Symbol","CORE_INSTANCE","CORE_AS_PROPS","CORE_INIT","CONTEXT_COMPONENT","CREATE_COMPONENT","PARENT_COMPONENTS","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","_ref","ref","_ref$forwardRef","forwardRef","other","_objectWithoutProperties","_excluded","createElement","BindingWrapper","_extends","WrapperForwardRef","_ref2","_ref2$forwardRef","__WRAPPER_PROPS_BIND__","_excluded2","_reduce","WrapperComponent","_reduce$ref","enhancementRef","props","_excluded3","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","_createClass","value","render","_this2","map","fn","bind","defaultProps","forEach","assign","wrapClass","OriginComponent","Context","inits","renders","contexts","_OriginComponent2","_super2","context","_this3","get","_this4","Error","setContext","_this5","contextProps","_get","_getPrototypeOf","_this6","asProps","ctx","Provider","_objectSpread","wrapFunction","memo","FunctionMemoComponent","selfRef","useRef","firstRender","current","wrapCore","_ref3","Root","createComposeComponent","PureComponent","isPrototypeOf","assignProps","p1","p2","createComponent","childComponents","options","_options$context","createContext","_options$parent","parent","_options$enhancements","parents","isArray","wholeFamily","_toConsumableArray","f","_______childrenComponents","_OriginComponent","_childComponents","_options","createBaseComponent"],"sources":["../../src/index.tsx"],"sourcesContent":["import React, { ForwardRefExoticComponent, RefAttributes } from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n// @ts-ignore\nimport { useForkRef } from '@semcore/utils/lib/ref';\n// @ts-ignore\nimport useEnhancedEffect from '@semcore/utils/lib/use/useEnhancedEffect';\n// @ts-ignore\nimport _assignProps from '@semcore/utils/lib/assignProps';\n\nimport { Component, PropsWithRenderFnChildren, wrapIntergalacticComponent } from './Component';\nimport register from './register';\n\nimport childrenEnhancement, { CHILDREN_COMPONENT } from './enhancement/Children';\nimport rootEnhancement from './enhancement/Root';\nimport uncontrolledPropsEnhancement from './enhancement/uncontrolledProps';\nimport functionDefaultPropsEnhancement from './enhancement/functionDefaultProps';\nimport staticChildrenEnhancement, {\n STATIC_COMPONENT,\n ROOT_COMPONENT,\n getterMethodNameByDisplayName,\n} from './enhancement/staticChildren';\nimport inheritedNameEnhancement, { INHERITED_NAME } from './enhancement/inheritedName';\nimport hoistPropsEnhancement from './enhancement/hoistProps';\nimport dataNameEnhancement from './enhancement/dataName';\nimport enhanceEnhancement from './enhancement/enhance';\nimport styleEnhancement from './enhancement/style';\nimport bindHandlerEnhancement from './enhancement/bindHandler';\nimport i18nAppLocaleEnhance from './enhancement/i18n';\n\nconst CORE_COMPONENT = Symbol('CORE_COMPONENT');\nconst CORE_INSTANCE = Symbol('CORE_INSTANCE');\nconst CORE_AS_PROPS = Symbol('CORE_AS_PROPS');\nconst CORE_INIT = Symbol('CORE_INIT');\nconst CONTEXT_COMPONENT = Symbol('CONTEXT_COMPONENT');\nconst CREATE_COMPONENT = Symbol('CREATE_COMPONENT');\nconst PARENT_COMPONENTS = Symbol('PARENT_COMPONENTS');\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(\n (acc: any, enhancement: any) => enhancement.call(this, acc, WrapperComponent, false),\n this.props,\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 type PropsAndRef<T, Ctx, UCProps> = PropsWithRenderFnChildren<T, Ctx, UCProps> &\n RefAttributes<unknown>;\nexport type ForwardRefComponent<T, Ctx, UCProps> = ForwardRefExoticComponent<\n PropsAndRef<T, Ctx, UCProps>\n>;\ntype ComponentOrProps<T, Context, UCProps> = T extends [infer ParentProps, infer ChildProps]\n ? ComponentType<ParentProps, ChildProps, Context, UCProps>\n : ForwardRefComponent<T, Context, UCProps>;\n\nexport type ComponentType<\n ComponentProps,\n ChildComponentProps = {},\n ContextType = {},\n UCProps = {},\n FNType = null,\n> = (FNType extends null\n ? ForwardRefComponent<ComponentProps, ContextType, UCProps>\n : FNType & { displayName: string }) & {\n [K in keyof ChildComponentProps]: ComponentOrProps<ChildComponentProps[K], ContextType, UCProps>;\n} & {\n [CORE_COMPONENT]: boolean;\n [CREATE_COMPONENT]: () => ComponentType<\n ComponentProps,\n ChildComponentProps,\n ContextType,\n UCProps\n >;\n};\n\ninterface ClassWithUncontrolledProps<Props> {\n uncontrolledProps(): unknown;\n}\n\nfunction assignProps(p1: any, p2: any) {\n return _assignProps(p2, p1);\n}\n\nfunction createComponent<ComponentProps, ChildComponentProps = {}, ContextType = {}, FNType = null>(\n OriginComponent: any,\n childComponents: any = {},\n options: {\n context?: React.Context<ContextType>;\n parent?: ComponentType<unknown> | ComponentType<unknown>[];\n enhancements?: [any];\n } = {},\n): ComponentType<\n ComponentProps extends Component<infer Props> ? Props : ComponentProps,\n ChildComponentProps,\n ContextType,\n ComponentProps extends ClassWithUncontrolledProps<any>\n ? ReturnType<ComponentProps['uncontrolledProps']>\n : { [key: string]: (arg: unknown) => void },\n FNType\n> {\n const {\n context = React.createContext<ContextType>({} as ContextType),\n parent = [],\n enhancements = [],\n } = options;\n let parents = 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 OriginComponent[PARENT_COMPONENTS] = wholeFamily;\n parents = wholeFamily;\n }\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 bindHandlerEnhancement(),\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 // must be the last one so any properties can be raised\n hoistPropsEnhancement(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[CORE_COMPONENT] = true;\n return Component;\n}\n\nfunction createBaseComponent<ComponentProps>(OriginComponent: any): ComponentType<ComponentProps> {\n let Component = null;\n if (\n !React.PureComponent.isPrototypeOf(OriginComponent) &&\n !React.Component.isPrototypeOf(OriginComponent) &&\n typeof OriginComponent === 'function'\n ) {\n Component = React.forwardRef(OriginComponent);\n Component.displayName = OriginComponent.displayName;\n Component.defaultProps = {\n 'data-ui-name': OriginComponent.displayName,\n ...OriginComponent.defaultProps,\n };\n (Component as any)[CORE_COMPONENT] = true;\n } else {\n throw new Error('createBaseComponent accepts only functional component');\n }\n return Component as any;\n}\n\nexport type UnknownProperties = {\n [key: string]: unknown;\n};\n\nexport * from './Component';\nexport * from './styled';\nexport * from './register';\nexport {\n createBaseComponent,\n register,\n CREATE_COMPONENT,\n CORE_INSTANCE,\n CONTEXT_COMPONENT,\n CHILDREN_COMPONENT,\n INHERITED_NAME,\n CORE_COMPONENT,\n STATIC_COMPONENT,\n ROOT_COMPONENT,\n assignProps,\n};\nexport default createComponent;\n"],"mappings":"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"}
@@ -122,8 +122,12 @@ export declare namespace Intergalactic {
122
122
  }>, AdditionalContext>;
123
123
  } & ComponentBasicProps<Tag> & MergeProps<EfficientOmit<Props, 'tag' | 'children'>, ComponentPropsNesting<Tag>>;
124
124
  export type ComponentRenderingResults = React.ReactElement;
125
- export type ComponentAdditive<BaseTag extends ComponentTag> = {
125
+ export type ComponentAdditive<BaseTag extends ComponentTag, Tag extends ComponentTag, Props = {}, Context = {}, AdditionalContext = {}> = {
126
126
  __nestedProps: ComponentPropsNesting<BaseTag>;
127
+ __tag: Tag;
128
+ __props: Props;
129
+ __context: Context;
130
+ __additionalContext: AdditionalContext;
127
131
  };
128
132
  export type InferJsxIntrinsicElement<T extends React.DetailedHTMLProps<any, any>> = T extends React.DetailedHTMLProps<infer _, infer Element> ? Element : HTMLElement;
129
133
  type InferElementFromRef<T> = T extends React.Ref<infer Element> ? Element : never;
@@ -131,10 +135,18 @@ export declare namespace Intergalactic {
131
135
  export type ComponentHtmlElement<Tag extends ComponentTag> = Tag extends keyof JSX.IntrinsicElements ? InferJsxIntrinsicElement<JSX.IntrinsicElements[Tag]> : Tag extends {
132
136
  __nestedProps: infer NestedProps;
133
137
  } ? InferRefElementFromProps<NestedProps> : HTMLElement;
138
+ export type UntypeRefAndTag<Props> = Intergalactic.InternalTypings.EfficientOmit<Props, 'ref' | 'tag'> & {
139
+ ref: React.Ref<any>;
140
+ tag: Intergalactic.InternalTypings.ComponentTag;
141
+ };
134
142
  export {};
135
143
  }
136
- export type Component<BaseTag extends InternalTypings.ComponentTag = never, BaseProps = {}, Context = {}, AdditionalContext extends any[] = never[]> = (<Tag extends InternalTypings.ComponentTag = BaseTag, Props extends BaseProps = BaseProps>(props: InternalTypings.ComponentProps<Tag, BaseTag, Props, Context, AdditionalContext>) => InternalTypings.ComponentRenderingResults) & InternalTypings.ComponentAdditive<BaseTag>;
144
+ export type Component<BaseTag extends InternalTypings.ComponentTag = never, BaseProps = {}, Context = {}, AdditionalContext extends any[] = never[]> = (<Tag extends InternalTypings.ComponentTag = BaseTag, Props extends BaseProps = BaseProps>(props: InternalTypings.ComponentProps<Tag, BaseTag, Props, Context, AdditionalContext>) => InternalTypings.ComponentRenderingResults) & InternalTypings.ComponentAdditive<BaseTag, Tag, BaseProps, Context, AdditionalContext>;
137
145
  export type Tag = InternalTypings.ComponentTag;
138
146
  export type DomProps<Tag extends keyof JSX.IntrinsicElements> = InternalTypings.InferJsxIntrinsicElement<JSX.IntrinsicElements[Tag]>;
139
147
  export {};
140
148
  }
149
+ export declare const wrapIntergalacticComponent: <Component_1 extends Intergalactic.Component<any, any, any, any>, PropsExtending = {}>(wrapper: (props: Intergalactic.InternalTypings.EfficientOmit<Intergalactic.InternalTypings.ComponentPropsNesting<Component_1>, "ref" | "tag"> & {
150
+ ref: React.Ref<any>;
151
+ tag: Intergalactic.InternalTypings.ComponentTag;
152
+ } & PropsExtending) => React.ReactNode) => Intergalactic.Component<Component_1["__tag"], Component_1["__props"] & Component_1["__nestedProps"] & PropsExtending, Component_1["__context"], Component_1["__additionalContext"]>;
@@ -112,7 +112,7 @@ export type IntergalacticD3Component<BaseTag extends Intergalactic.Tag, Props, C
112
112
  >(
113
113
  props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<Tag, Props, Context>,
114
114
  ) => Intergalactic.InternalTypings.ComponentRenderingResults) &
115
- Intergalactic.InternalTypings.ComponentAdditive<BaseTag>;
115
+ Intergalactic.InternalTypings.ComponentAdditive<BaseTag, BaseTag, Props>;
116
116
 
117
117
  declare const Plot: IntergalacticD3Component<'svg', PlotProps, Context>;
118
118
  export default Plot;
@@ -227,8 +227,8 @@ export type RadialTreeTitleProps = {
227
227
  ['data-radial-animation']?: `${string}-label`;
228
228
  color?: string;
229
229
  };
230
- type IntergalacticD3Component<BaseTag extends Intergalactic.Tag, Props, Context = {}> = (<Tag extends Intergalactic.Tag = Intergalactic.Tag>(props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<Tag, Props, Context>) => Intergalactic.InternalTypings.ComponentRenderingResults) & Intergalactic.InternalTypings.ComponentAdditive<BaseTag>;
231
- declare const RadialTree: (<Tag extends Intergalactic.InternalTypings.ComponentTag = Intergalactic.InternalTypings.ComponentTag>(props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<Tag, RadialTreeProps, {}, never[]>) => Intergalactic.InternalTypings.ComponentRenderingResults) & Intergalactic.InternalTypings.ComponentAdditive<"g"> & {
230
+ type IntergalacticD3Component<BaseTag extends Intergalactic.Tag, Props, Context = {}> = (<Tag extends Intergalactic.Tag = Intergalactic.Tag>(props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<Tag, Props, Context>) => Intergalactic.InternalTypings.ComponentRenderingResults) & Intergalactic.InternalTypings.ComponentAdditive<BaseTag, BaseTag, Props>;
231
+ declare const RadialTree: (<Tag extends Intergalactic.InternalTypings.ComponentTag = Intergalactic.InternalTypings.ComponentTag>(props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<Tag, RadialTreeProps, {}, never[]>) => Intergalactic.InternalTypings.ComponentRenderingResults) & Intergalactic.InternalTypings.ComponentAdditive<"g", "g", RadialTreeProps, {}, {}> & {
232
232
  Title: IntergalacticD3Component<'text', RadialTreeTitleProps>;
233
233
  Radian: IntergalacticD3Component<'g', RadialTreeRadianProps> & {
234
234
  Line: IntergalacticD3Component<'line', RadialTreeRadianLineProps>;
@@ -44,7 +44,11 @@ export type TooltipType<ChildrenRenderProps = {}, TooltipProps = {}> = (<
44
44
  ChildrenRenderProps & TooltipChartContext
45
45
  >,
46
46
  ) => Intergalactic.InternalTypings.ComponentRenderingResults) &
47
- Intergalactic.InternalTypings.ComponentAdditive<Intergalactic.Tag> &
47
+ Intergalactic.InternalTypings.ComponentAdditive<
48
+ Intergalactic.Tag,
49
+ Intergalactic.Tag,
50
+ TooltipProps
51
+ > &
48
52
  TooltipTypeBase;
49
53
 
50
54
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"RadialTree.js","names":["_core","require","_react","_interopRequireDefault","_d3Transition","_uniqueID","_assignProps","_getOriginChildren","_canUseDOM","_createElement","_utils","_excluded","style","sstyled","insert","baseAngle","Math","PI","RadialTreeBase","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","handleRadianClick","bind","_createClass2","key","value","uncontrolledProps","activeKey","runAppearAnimation","_window$matchMedia","_this$asProps","asProps","duration","uid","canUseDOM","preferReduceMotion","window","matchMedia","matches","circlesAnimation","transition","selection","selectAll","concat","interrupt","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","_lineNode$x","_lineNode$x$baseVal","_lineNode$y","_lineNode$y$baseVal","radianIndex","parseInt","dataset","lineNode","from","cx","x1","baseVal","cy","y1","to","attr","_","index","_attrs$index$from","_attrs$index$from2","_attrs$index$to","_attrs$index$to2","_node$width","_node$width$baseVal","_node$height","_node$height$baseVal","_lineNode$x2","_lineNode$x2$baseVal","_lineNode$y2","_lineNode$y2$baseVal","width","height","x","y","_attrs$index$from3","_attrs$index$from4","_attrs$index$to3","_attrs$index$to4","_node$x","_node$x$baseVal","_node$y","_node$y$baseVal","x2","y2","_attrs2$index$from","_attrs2$index$from2","_attrs2$index$to","_attrs2$index$to2","componentDidUpdate","prevProps","$rootProps","data","componentDidMount","_this2","event","newKey","handlers","computeTextWidth","_this$asProps2","textSize","widths","_ref9","label","measureText","max","apply","_toConsumableArray2","getTitleProps","_this$asProps3","size","_size","_slicedToArray2","center","getRadianProps","_this$asProps4","restRootProps","_objectWithoutProperties2","textWidth","_objectSpread2","radiansCount","onRadianClick","render","_ref","SRadialTree","Element","Children","dataHintsHandler","establishDataType","styles","createElement","cn","Component","uniqueIDEnhancement","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","_Component2","_super2","_this3","renderRadian","getInteractiveAreaProps","_ref11","_$rootProps$data","_this$computeRadianPo","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","getLineProps","_ref12","_$rootProps$data2","_color","_ref13","_this$computeRadianPo2","xEnd","yEnd","_this$asProps5","transparent","resolveColor","color","stroke","getCapProps","_ref14","_$rootProps$data3","_color2","_ref15","_this$computeRadianPo3","_this$asProps6","getIconProps","_ref16","_$rootProps$data4","_iconColor","_iconSize","_icon","_ref17","_this$computeRadianPo4","isActive","_this$asProps7","icon","getLabelProps","_ref18","_$rootProps$data5","_color3","_ref20","_this$computeRadianPo5","labelAngle","isHorizontal","_this$asProps8","_ref19","angle","getRadianKey","_data$key","_data$capSize","_this$asProps9","_size2","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","_ref2","_this$asProps10","SRadian","children","getOriginChildren","_child","mergedProps","assignProps","describeValueEntity","InteractiveArea","RadialTree","Radian","_ref3","_this4","SRadianList","_ref21","_ref4","SInteractiveArea","Line","_ref22","_ref5","SLine","Cap","_ref23","_ref6","SCap","radius","Icon","_ref24","_ref7","SIcon","tag","Label","_ref25","SLabel","lines","String","split","linesCount","SLabelLine","angleDegs","toFixed","transformOrigin","transform","join","sstyles","sLabelStyles","textAnchor","dominantBaseline","className","lineText","lineIndex","Title","_ref26","_ref8","STitle","setTitle","_default","exports"],"sources":["../../src/RadialTree.tsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled, ReturnEl, UnknownProperties, Intergalactic } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport createElement from './createElement';\nimport { measureText } from './utils';\nimport { DataHintsHandler } from './a11y/hints';\n\nimport style from './style/radial-tree.shadow.css';\n\nconst baseAngle = -Math.PI / 2; // The top vertical line\n\ntype RadianData = {\n /**\n * Text label on the end of radian.\n */\n label: string;\n /**\n * Radian key. Radian, which `key` is equal to `activeKey` is displayed as active.\n */\n key: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n};\n\n/** @deprecated */\nexport interface IRadialTreeProps extends RadialTreeProps, UnknownProperties {}\nexport type RadialTreeProps = {\n /**\n * List of radians. `{ label: string; key: string; capSize?: number; icon?: React.FC; color?: string; iconColor?: string; iconSize?: number; }`\n */\n data?: RadianData[];\n /**\n * Angel (in rads) that rotates chart. 0 means that first radian is exactly on top vertical line.\n * @default 0\n */\n angleOffset?: number;\n /**\n * Duration of appear and update animation.\n * @default 300\n */\n duration?: number;\n /**\n * Gap between the chart center and radians start point.\n * @default 50\n */\n centralMargin?: number;\n /**\n * Gap around text label.\n * @default 2\n */\n labelMargin?: number;\n /**\n * Color of all radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n /**\n * Text size in radians' labels. 1.5x is used as default text size of center text.\n * @default 14\n */\n textSize?: number;\n /**\n * Used to define the active radian in controlled way. Active radian is highlighted with inreased cap size.\n */\n activeKey?: string | null;\n onActiveKeyChange?: (activeKey: string | null) => void;\n /**\n * Default value for `activeKey` property.\n */\n defaultActiveKey?: string | null;\n /** Enables element transparency */\n transparent?: boolean;\n};\n\ntype RootAsProps = IRadialTreeProps & {\n uid: string;\n styles: React.CSSProperties;\n activeKey: string | null;\n Children: React.FC;\n size: [width: number, height: number];\n data: RadianData[];\n duration: number;\n textSize: number;\n capSize: number;\n centralMargin: number;\n labelMargin: number;\n angleOffset: number;\n transparent: boolean;\n $rootProps: RootAsProps;\n dataHintsHandler: DataHintsHandler;\n};\n\nclass RadialTreeBase extends Component<RootAsProps> {\n static displayName = 'RadialTree';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps: Partial<IRadialTreeProps> = {\n angleOffset: 0,\n duration: 300,\n centralMargin: 50,\n labelMargin: 5,\n iconColor: '#fff',\n capSize: 8,\n iconSize: 8,\n textSize: 14,\n defaultActiveKey: null,\n };\n\n Element!: React.FC<{ children?: React.ReactNode; render: string }>;\n\n constructor(props: any) {\n super(props);\n this.handleRadianClick = this.handleRadianClick.bind(this);\n }\n\n uncontrolledProps() {\n return {\n activeKey: null,\n };\n }\n\n runAppearAnimation() {\n const { duration, uid } = this.asProps;\n if (!canUseDOM()) return;\n const preferReduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)')?.matches;\n\n /** using `!(>)` instead of `<=` to get true on NaN and non numbers stuff */\n if (!(duration > 0)) return;\n if (preferReduceMotion) return;\n\n const circlesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-circle]`)\n .interrupt();\n const iconsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-icon]`)\n .interrupt();\n const linesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-line]`)\n .interrupt();\n const labelsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-label]`)\n .interrupt();\n const circlesNodes = circlesAnimation.nodes() as SVGCircleElement[];\n const iconsNodes = iconsAnimation.nodes() as SVGRectElement[];\n const linesNodes = linesAnimation.nodes() as SVGLineElement[];\n const labelsNodes = linesAnimation.nodes() as SVGTextElement[];\n\n if (circlesNodes.length > 0) {\n const attrs = circlesNodes.map((node) => {\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n cx: lineNode.x1?.baseVal?.value,\n cy: lineNode.y1?.baseVal?.value,\n },\n to: {\n cx: node.dataset['cx'],\n cy: node.dataset['cy'],\n },\n };\n });\n\n circlesAnimation\n .attr('opacity', 0)\n .attr('cx', (_, index) => attrs[index].from?.cx)\n .attr('cy', (_, index) => attrs[index].from?.cy)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('cx', (_, index) => attrs[index].to?.cx!)\n .attr('cy', (_, index) => attrs[index].to?.cy!);\n }\n if (iconsNodes.length > 0) {\n const attrs = iconsNodes.map((node) => {\n const width = node.width?.baseVal?.value;\n const height = node.height?.baseVal?.value;\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n x: lineNode.x1?.baseVal?.value - width / 2,\n y: lineNode.y1?.baseVal?.value - height / 2,\n },\n to: {\n x: node.dataset['x'],\n y: node.dataset['y'],\n },\n };\n });\n\n iconsAnimation\n .attr('opacity', 0)\n .attr('x', (_, index) => attrs[index].from?.x!)\n .attr('y', (_, index) => attrs[index].from?.y!)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x', (_, index) => attrs[index].to?.x!)\n .attr('y', (_, index) => attrs[index].to?.y!);\n }\n if (linesNodes.length > 0) {\n const attrs = linesNodes.map((node) => {\n return {\n from: {\n x2: node.x1?.baseVal?.value,\n y2: node.y1?.baseVal?.value,\n },\n to: {\n x2: node.dataset['x2'],\n y2: node.dataset['y2'],\n },\n };\n });\n\n linesAnimation\n .attr('opacity', 0)\n .attr('x2', (_, index) => attrs[index].from?.x2!)\n .attr('y2', (_, index) => attrs[index].from?.y2!)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x2', (_, index) => attrs[index].to?.x2!)\n .attr('y2', (_, index) => attrs[index].to?.y2!);\n }\n if (labelsNodes.length > 0) {\n labelsAnimation.attr('opacity', 0);\n labelsAnimation.transition().duration(duration).attr('opacity', 1);\n }\n }\n\n componentDidUpdate(prevProps: RootAsProps) {\n if (prevProps.$rootProps.data !== this.asProps.data) {\n this.runAppearAnimation();\n }\n }\n\n componentDidMount() {\n this.runAppearAnimation();\n }\n\n handleRadianClick(key: string) {\n return (event: React.MouseEvent) => {\n const newKey = key !== this.asProps.activeKey ? key : null;\n this.handlers.activeKey(newKey, event);\n };\n }\n\n computeTextWidth() {\n const { data, textSize } = this.asProps;\n const widths = data.map(({ label }) => measureText(label, textSize));\n\n return Math.max(...widths);\n }\n\n getTitleProps() {\n const { uid, size, textSize } = this.asProps;\n\n const [width, height] = size;\n const center = [width / 2, height / 2];\n const [x, y] = center;\n return {\n x,\n y,\n textSize: textSize * 1.5,\n ['data-radial-animation']: `${uid}-label`,\n } as IRadialTreeTitleProps;\n }\n\n getRadianProps() {\n const { data, ...restRootProps } = this.asProps;\n const textWidth = this.computeTextWidth();\n\n return {\n ...restRootProps,\n radiansCount: data.length,\n data,\n textWidth,\n onRadianClick: this.handleRadianClick,\n } as IRadialTreeRadianProps;\n }\n\n render() {\n const SRadialTree = this.Element;\n const { Children } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n\n return sstyled(this.asProps.styles)(\n <SRadialTree render='g'>\n <Children />\n </SRadialTree>,\n );\n }\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianProps extends RadialTreeRadianProps, UnknownProperties {}\nexport type RadialTreeRadianProps = RadialTreeProps & {\n radiansCount?: number;\n textWidth?: number;\n onRadianClick?: (key: string) => (event: React.MouseEvent) => void;\n};\n\ntype RadianAsProps = RootAsProps & {\n radiansCount: number;\n textWidth: number;\n onRadianClick: (key: string) => (event: React.MouseEvent) => void;\n};\n\nclass RadialTreeRadian extends Component<RadianAsProps> {\n static displayName = 'RadialTreeRadian';\n static style = style;\n\n static defaultProps: Partial<IRadialTreeRadianProps> = {\n centralMargin: 50,\n labelMargin: 2,\n iconColor: '#fff',\n capSize: 16,\n iconSize: 16,\n textSize: 14,\n };\n Element!: React.FC<{ render: string }>;\n\n constructor(props: any) {\n super(props);\n this.renderRadian = this.renderRadian.bind(this);\n }\n\n getInteractiveAreaProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xStart, yStart, xLabelCenter, yLabelCenter, capSize } = this.computeRadianPosition(\n data!,\n index,\n );\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xLabelCenter,\n y2: yLabelCenter,\n strokeWidth: capSize * 3,\n } as IRadialTreeRadianInteractiveAreaProps;\n }\n\n getLineProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xStart, yStart, xEnd, yEnd } = this.computeRadianPosition(data!, index);\n const { uid, transparent, resolveColor } = this.asProps;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xEnd,\n y2: yEnd,\n stroke: color,\n resolveColor,\n transparent,\n ['data-x1']: xStart,\n ['data-y1']: yStart,\n ['data-x2']: xEnd,\n ['data-y2']: yEnd,\n ['data-radial-animation']: `${uid}-line`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianLineProps;\n }\n\n getCapProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xEnd, yEnd, capSize } = this.computeRadianPosition(data!, index);\n const { uid, transparent, resolveColor } = this.asProps;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x: xEnd,\n y: yEnd,\n ['data-cx']: xEnd,\n ['data-cy']: yEnd,\n radius: capSize,\n color,\n resolveColor,\n transparent,\n ['data-radial-animation']: `${uid}-cap-circle`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianCapProps;\n }\n\n getIconProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xEnd, yEnd, isActive } = this.computeRadianPosition(data!, index);\n const { uid, resolveColor } = this.asProps;\n const iconColor = data!.iconColor ?? this.asProps.iconColor;\n const iconSize = data!.iconSize ?? this.asProps.iconSize;\n const icon = data!.icon ?? this.asProps.icon;\n const x = xEnd - iconSize! / 2;\n const y = yEnd - iconSize! / 2;\n return {\n x,\n y,\n ['data-x']: x,\n ['data-y']: y,\n iconSize,\n color: iconColor ?? '#fff',\n resolveColor,\n ['data-radial-animation']: `${uid}-cap-icon`,\n ['data-radian-index']: index,\n icon,\n tag: icon,\n isActive,\n } as IRadialTreeRadianIconProps;\n }\n\n getLabelProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xLabelCenter, yLabelCenter, labelAngle, isHorizontal } = this.computeRadianPosition(\n data!,\n index,\n );\n const { uid, textSize, transparent, resolveColor } = this.asProps;\n const { label } = data!;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x: xLabelCenter,\n y: yLabelCenter,\n angle: labelAngle,\n ['data-radial-animation']: `${uid}-label`,\n ['data-radian-index']: index,\n label,\n color,\n resolveColor,\n isHorizontal,\n textSize,\n transparent,\n } as IRadialTreeRadianLabelProps;\n }\n\n getRadianKey(data: RadianData, index: number) {\n return data.key ?? `radian-${index}`;\n }\n\n computeRadianPosition(data: RadianData, index: number) {\n const { centralMargin, labelMargin, angleOffset, activeKey, size, radiansCount, textWidth } =\n this.asProps;\n const [width, height] = size;\n const key = this.getRadianKey(data, index);\n const isActive = activeKey === key;\n const baseCapSize = data.capSize ?? this.asProps.capSize;\n const capSize = baseCapSize * (isActive ? 1 : 0.5);\n\n const minDemSize = Math.min(width, height) / 2;\n const length = Math.max(\n minDemSize - textWidth - baseCapSize - centralMargin - labelMargin * 2,\n 10,\n );\n\n const angle = baseAngle + angleOffset + (index / radiansCount) * (Math.PI * 2);\n const isHorizontal =\n (angle - baseAngle > (1 / 6) * Math.PI && angle - baseAngle < (5 / 6) * Math.PI) ||\n (angle - baseAngle > (7 / 6) * Math.PI && angle - baseAngle < (11 / 6) * Math.PI);\n const topAngle = -Math.PI / 2;\n const labelAngle = ((angle - topAngle) % Math.PI) + topAngle;\n\n const center = [width / 2, height / 2];\n const [xCenter, yCenter] = center;\n const start = [\n xCenter + Math.cos(angle) * centralMargin,\n yCenter + Math.sin(angle) * centralMargin,\n ];\n const end = [\n xCenter + Math.cos(angle) * (centralMargin + length),\n yCenter + Math.sin(angle) * (centralMargin + length),\n ];\n const [xStart, yStart] = start;\n const [xEnd, yEnd] = end;\n\n const labelCenter = [\n xCenter +\n Math.cos(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n yCenter +\n Math.sin(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n ];\n const [xLabelCenter, yLabelCenter] = labelCenter;\n\n return {\n xStart,\n yStart,\n xEnd,\n yEnd,\n xLabelCenter,\n yLabelCenter,\n labelAngle,\n isHorizontal,\n capSize,\n isActive,\n };\n }\n\n renderRadian(data: RadianData, index: number) {\n const { styles, Children, onRadianClick } = this.asProps;\n const key = this.getRadianKey(data, index);\n const SRadian = 'g';\n\n let children = getOriginChildren(Children);\n\n if (typeof children === 'function') {\n const _child = this.asProps.children;\n const mergedProps = assignProps(children(this.asProps), this.asProps as any);\n children = mergedProps.children;\n mergedProps.children = _child;\n }\n\n this.asProps.dataHintsHandler.describeValueEntity(`${index}.${data.label}`, data.label);\n\n // hidden from publicly typed export\n const InteractiveArea = (RadialTree.Radian as any).InteractiveArea;\n\n return sstyled(styles)(\n <SRadian aria-hidden key={key} onClick={onRadianClick(key)}>\n <InteractiveArea />\n {children}\n </SRadian>,\n );\n }\n\n render() {\n const { data } = this.asProps;\n const SRadianList = 'g';\n\n return sstyled(this.asProps.styles)(\n <SRadianList>{data.map((data, index) => this.renderRadian(data, index))}</SRadianList>,\n );\n }\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianInteractiveAreaProps\n extends RadialTreeRadianInteractiveAreaProps {}\nexport type RadialTreeRadianInteractiveAreaProps = {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n strokeWidth?: number;\n};\n\ntype RadialTreeRadianInteractiveAreaAsProps = IRadialTreeRadianInteractiveAreaProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst InteractiveArea: React.FC<RadialTreeRadianInteractiveAreaAsProps> = ({\n Element: SInteractiveArea,\n styles,\n}) => {\n return sstyled(styles)(\n <SInteractiveArea stroke='transparent' render='line' />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianLineProps extends RadialTreeRadianLineProps, UnknownProperties {}\nexport type RadialTreeRadianLineProps = {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n stroke?: string;\n transparent?: boolean;\n ['data-radial-animation']?: `${string}-line`;\n ['data-radian-index']?: number;\n};\n\ntype RadialTreeRadianLineAsProps = IRadialTreeRadianLineProps & {\n Element: React.FC<{ render: string; transparent: boolean } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n resolveColor: (color?: string) => string;\n};\nconst Line: React.FC<RadialTreeRadianLineAsProps> = ({\n Element: SLine,\n styles,\n stroke,\n resolveColor,\n transparent,\n}) => {\n return sstyled(styles)(\n <SLine render='line' stroke={resolveColor(stroke)} transparent={transparent!} />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianCapProps extends RadialTreeRadianCapProps, UnknownProperties {}\nexport type RadialTreeRadianCapProps = {\n x?: number;\n y?: number;\n radius?: number;\n color?: string;\n transparent?: boolean;\n ['data-radial-animation']?: `${string}-cap-circle`;\n ['data-radian-index']?: number;\n};\n\ntype RadialTreeRadianCapAsProps = IRadialTreeRadianCapProps & {\n Element: React.FC<{ render: string; transparent: boolean } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n resolveColor: (color?: string) => string;\n};\nconst Cap: React.FC<RadialTreeRadianCapAsProps> = ({\n Element: SCap,\n styles,\n x,\n y,\n radius,\n color,\n resolveColor,\n transparent,\n}) => {\n return sstyled(styles)(\n <SCap\n render='circle'\n cx={x}\n cy={y}\n r={radius}\n fill={resolveColor(color)}\n transparent={transparent!}\n />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianIconProps extends RadialTreeRadianIconProps, UnknownProperties {}\nexport type RadialTreeRadianIconProps = {\n x?: number;\n y?: number;\n iconSize?: number;\n color?: string;\n ['data-radial-animation']?: `${string}-cap-icon`;\n ['data-radian-index']?: number;\n isActive?: boolean;\n transparent?: boolean;\n};\n\ntype RadialTreeRadianIconAsProps = IRadialTreeRadianIconProps & {\n Element: React.FC<{ render: string | React.FC; transparent: boolean } & React.SVGProps<any>>;\n x: number;\n y: number;\n iconSize: number;\n styles: React.CSSProperties;\n tag?: React.FC;\n};\nconst Icon: React.FC<RadialTreeRadianIconAsProps> = ({\n Element: SIcon,\n styles,\n isActive,\n tag,\n x,\n y,\n iconSize,\n transparent,\n}) => {\n if (!(isActive && tag)) return null;\n const width = iconSize;\n const height = iconSize;\n return sstyled(styles)(\n <SIcon x={x} y={y} width={width} height={height} render={tag} transparent={transparent!} />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianLabelProps\n extends RadialTreeRadianLabelProps,\n UnknownProperties {}\nexport type RadialTreeRadianLabelProps = {\n x?: number;\n y?: number;\n color?: string;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n ['data-radian-index']?: number;\n label?: string;\n isHorizontal?: boolean;\n angle?: number;\n transparent?: boolean;\n};\n\ntype RadialTreeRadianLabelAsProps = IRadialTreeRadianLabelProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n styles: React.CSSProperties;\n x: number;\n y: number;\n angle: number;\n textSize: number;\n resolveColor: (color?: string) => string;\n};\nconst Label: React.FC<RadialTreeRadianLabelAsProps> = ({\n Element: SLabel,\n Children,\n styles,\n label,\n color,\n resolveColor,\n isHorizontal,\n x,\n y,\n textSize,\n angle,\n transparent,\n}) => {\n const lines = String(label).split('\\n');\n const linesCount = lines.length;\n const SLabelLine = 'tspan';\n\n const angleDegs = ((angle / Math.PI) * 180).toFixed(2);\n const transformOrigin = [x.toFixed(2), y.toFixed(2)];\n const transform = `rotate(${[angleDegs, ...transformOrigin].join(', ')})`;\n\n const sstyles = sstyled(styles);\n const sLabelStyles = sstyles.cn('SLabel', {\n color: resolveColor(color),\n 'text-cursor': isHorizontal ? 'text' : 'vertical-text',\n transparent,\n });\n\n return (\n <SLabel\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n className={sLabelStyles.className}\n style={sLabelStyles.style}\n x={x.toFixed(2)}\n y={y.toFixed(2)}\n transform={transform}\n >\n {lines.map((lineText, lineIndex) => (\n <SLabelLine\n x={x}\n y={y + (lineIndex - (linesCount - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </SLabelLine>\n ))}\n <Children />\n </SLabel>\n ) as React.ReactElement;\n};\n\nconst Radian = createElement(RadialTreeRadian, {\n InteractiveArea,\n Line,\n Cap,\n Icon,\n Label,\n});\n\n/** @deprecated */\nexport interface IRadialTreeTitleProps extends RadialTreeTitleProps, UnknownProperties {}\nexport type RadialTreeTitleProps = {\n x?: number;\n y?: number;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n color?: string;\n};\n\ntype RadialTreeTitleAsProps = IRadialTreeTitleProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n children: React.ReactNode;\n styles: React.CSSProperties;\n dataHintsHandler: DataHintsHandler;\n resolveColor: (color?: string) => string;\n};\nconst Title: React.FC<RadialTreeTitleAsProps> = ({\n Element: STitle,\n Children,\n children,\n styles,\n textSize,\n color,\n resolveColor,\n x,\n y,\n dataHintsHandler,\n}) => {\n if (typeof children === 'string') {\n dataHintsHandler.setTitle('vertical', children);\n }\n return sstyled(styles)(\n <STitle\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n fontSize={textSize}\n fill={resolveColor(color)}\n x={x}\n y={y}\n >\n <Children />\n </STitle>,\n ) as React.ReactElement;\n};\n\ntype IntergalacticD3Component<BaseTag extends Intergalactic.Tag, Props, Context = {}> = (<\n Tag extends Intergalactic.Tag = Intergalactic.Tag,\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<Tag, Props, Context>,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<BaseTag>;\n\nconst RadialTree = createElement(RadialTreeBase, { Title, Radian }) as IntergalacticD3Component<\n 'g',\n RadialTreeProps\n> & {\n Title: IntergalacticD3Component<'text', RadialTreeTitleProps>;\n Radian: IntergalacticD3Component<'g', RadialTreeRadianProps> & {\n Line: IntergalacticD3Component<'line', RadialTreeRadianLineProps>;\n Cap: IntergalacticD3Component<'circle', RadialTreeRadianCapProps>;\n Icon: IntergalacticD3Component<'g', RadialTreeRadianIconProps>;\n Label: IntergalacticD3Component<'text', RadialTreeRadianLabelProps>;\n };\n};\n\nexport default RadialTree;\n"],"mappings":"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"}
1
+ {"version":3,"file":"RadialTree.js","names":["_core","require","_react","_interopRequireDefault","_d3Transition","_uniqueID","_assignProps","_getOriginChildren","_canUseDOM","_createElement","_utils","_excluded","style","sstyled","insert","baseAngle","Math","PI","RadialTreeBase","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","handleRadianClick","bind","_createClass2","key","value","uncontrolledProps","activeKey","runAppearAnimation","_window$matchMedia","_this$asProps","asProps","duration","uid","canUseDOM","preferReduceMotion","window","matchMedia","matches","circlesAnimation","transition","selection","selectAll","concat","interrupt","iconsAnimation","linesAnimation","labelsAnimation","circlesNodes","nodes","iconsNodes","linesNodes","labelsNodes","length","attrs","map","node","_lineNode$x","_lineNode$x$baseVal","_lineNode$y","_lineNode$y$baseVal","radianIndex","parseInt","dataset","lineNode","from","cx","x1","baseVal","cy","y1","to","attr","_","index","_attrs$index$from","_attrs$index$from2","_attrs$index$to","_attrs$index$to2","_node$width","_node$width$baseVal","_node$height","_node$height$baseVal","_lineNode$x2","_lineNode$x2$baseVal","_lineNode$y2","_lineNode$y2$baseVal","width","height","x","y","_attrs$index$from3","_attrs$index$from4","_attrs$index$to3","_attrs$index$to4","_node$x","_node$x$baseVal","_node$y","_node$y$baseVal","x2","y2","_attrs2$index$from","_attrs2$index$from2","_attrs2$index$to","_attrs2$index$to2","componentDidUpdate","prevProps","$rootProps","data","componentDidMount","_this2","event","newKey","handlers","computeTextWidth","_this$asProps2","textSize","widths","_ref9","label","measureText","max","apply","_toConsumableArray2","getTitleProps","_this$asProps3","size","_size","_slicedToArray2","center","getRadianProps","_this$asProps4","restRootProps","_objectWithoutProperties2","textWidth","_objectSpread2","radiansCount","onRadianClick","render","_ref","SRadialTree","Element","Children","dataHintsHandler","establishDataType","styles","createElement","cn","Component","uniqueIDEnhancement","angleOffset","centralMargin","labelMargin","iconColor","capSize","iconSize","defaultActiveKey","RadialTreeRadian","_Component2","_super2","_this3","renderRadian","getInteractiveAreaProps","_ref11","_$rootProps$data","_this$computeRadianPo","computeRadianPosition","xStart","yStart","xLabelCenter","yLabelCenter","strokeWidth","getLineProps","_ref12","_$rootProps$data2","_color","_ref13","_this$computeRadianPo2","xEnd","yEnd","_this$asProps5","transparent","resolveColor","color","stroke","getCapProps","_ref14","_$rootProps$data3","_color2","_ref15","_this$computeRadianPo3","_this$asProps6","getIconProps","_ref16","_$rootProps$data4","_iconColor","_iconSize","_icon","_ref17","_this$computeRadianPo4","isActive","_this$asProps7","icon","getLabelProps","_ref18","_$rootProps$data5","_color3","_ref20","_this$computeRadianPo5","labelAngle","isHorizontal","_this$asProps8","_ref19","angle","getRadianKey","_data$key","_data$capSize","_this$asProps9","_size2","baseCapSize","minDemSize","min","topAngle","xCenter","yCenter","start","cos","sin","end","labelCenter","_ref2","_this$asProps10","SRadian","children","getOriginChildren","_child","mergedProps","assignProps","describeValueEntity","InteractiveArea","RadialTree","Radian","_ref3","_this4","SRadianList","_ref21","_ref4","SInteractiveArea","Line","_ref22","_ref5","SLine","Cap","_ref23","_ref6","SCap","radius","Icon","_ref24","_ref7","SIcon","tag","Label","_ref25","SLabel","lines","String","split","linesCount","SLabelLine","angleDegs","toFixed","transformOrigin","transform","join","sstyles","sLabelStyles","textAnchor","dominantBaseline","className","lineText","lineIndex","Title","_ref26","_ref8","STitle","setTitle","_default","exports"],"sources":["../../src/RadialTree.tsx"],"sourcesContent":["import React from 'react';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled, ReturnEl, UnknownProperties, Intergalactic } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport createElement from './createElement';\nimport { measureText } from './utils';\nimport { DataHintsHandler } from './a11y/hints';\n\nimport style from './style/radial-tree.shadow.css';\n\nconst baseAngle = -Math.PI / 2; // The top vertical line\n\ntype RadianData = {\n /**\n * Text label on the end of radian.\n */\n label: string;\n /**\n * Radian key. Radian, which `key` is equal to `activeKey` is displayed as active.\n */\n key: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n};\n\n/** @deprecated */\nexport interface IRadialTreeProps extends RadialTreeProps, UnknownProperties {}\nexport type RadialTreeProps = {\n /**\n * List of radians. `{ label: string; key: string; capSize?: number; icon?: React.FC; color?: string; iconColor?: string; iconSize?: number; }`\n */\n data?: RadianData[];\n /**\n * Angel (in rads) that rotates chart. 0 means that first radian is exactly on top vertical line.\n * @default 0\n */\n angleOffset?: number;\n /**\n * Duration of appear and update animation.\n * @default 300\n */\n duration?: number;\n /**\n * Gap between the chart center and radians start point.\n * @default 50\n */\n centralMargin?: number;\n /**\n * Gap around text label.\n * @default 2\n */\n labelMargin?: number;\n /**\n * Color of all radian's line, cap and label.\n * @default #008FF8\n */\n color?: string;\n /**\n * Size of the cap (filled circle on the end of the radian).\n * @default 16\n */\n capSize?: number;\n /**\n * Icon, that displayed in the cap of the active radian (usage example `icon: UserM`).\n */\n icon?: React.FC;\n /**\n * Color of icon.\n * @default #fff\n */\n iconColor?: string;\n /**\n * Size of icon.\n * @default 16\n */\n iconSize?: number;\n /**\n * Text size in radians' labels. 1.5x is used as default text size of center text.\n * @default 14\n */\n textSize?: number;\n /**\n * Used to define the active radian in controlled way. Active radian is highlighted with inreased cap size.\n */\n activeKey?: string | null;\n onActiveKeyChange?: (activeKey: string | null) => void;\n /**\n * Default value for `activeKey` property.\n */\n defaultActiveKey?: string | null;\n /** Enables element transparency */\n transparent?: boolean;\n};\n\ntype RootAsProps = IRadialTreeProps & {\n uid: string;\n styles: React.CSSProperties;\n activeKey: string | null;\n Children: React.FC;\n size: [width: number, height: number];\n data: RadianData[];\n duration: number;\n textSize: number;\n capSize: number;\n centralMargin: number;\n labelMargin: number;\n angleOffset: number;\n transparent: boolean;\n $rootProps: RootAsProps;\n dataHintsHandler: DataHintsHandler;\n};\n\nclass RadialTreeBase extends Component<RootAsProps> {\n static displayName = 'RadialTree';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps: Partial<IRadialTreeProps> = {\n angleOffset: 0,\n duration: 300,\n centralMargin: 50,\n labelMargin: 5,\n iconColor: '#fff',\n capSize: 8,\n iconSize: 8,\n textSize: 14,\n defaultActiveKey: null,\n };\n\n Element!: React.FC<{ children?: React.ReactNode; render: string }>;\n\n constructor(props: any) {\n super(props);\n this.handleRadianClick = this.handleRadianClick.bind(this);\n }\n\n uncontrolledProps() {\n return {\n activeKey: null,\n };\n }\n\n runAppearAnimation() {\n const { duration, uid } = this.asProps;\n if (!canUseDOM()) return;\n const preferReduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)')?.matches;\n\n /** using `!(>)` instead of `<=` to get true on NaN and non numbers stuff */\n if (!(duration > 0)) return;\n if (preferReduceMotion) return;\n\n const circlesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-circle]`)\n .interrupt();\n const iconsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-cap-icon]`)\n .interrupt();\n const linesAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-line]`)\n .interrupt();\n const labelsAnimation = transition()\n .selection()\n .selectAll(`[data-radial-animation=${uid}-label]`)\n .interrupt();\n const circlesNodes = circlesAnimation.nodes() as SVGCircleElement[];\n const iconsNodes = iconsAnimation.nodes() as SVGRectElement[];\n const linesNodes = linesAnimation.nodes() as SVGLineElement[];\n const labelsNodes = linesAnimation.nodes() as SVGTextElement[];\n\n if (circlesNodes.length > 0) {\n const attrs = circlesNodes.map((node) => {\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n cx: lineNode.x1?.baseVal?.value,\n cy: lineNode.y1?.baseVal?.value,\n },\n to: {\n cx: node.dataset['cx'],\n cy: node.dataset['cy'],\n },\n };\n });\n\n circlesAnimation\n .attr('opacity', 0)\n .attr('cx', (_, index) => attrs[index].from?.cx)\n .attr('cy', (_, index) => attrs[index].from?.cy)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('cx', (_, index) => attrs[index].to?.cx!)\n .attr('cy', (_, index) => attrs[index].to?.cy!);\n }\n if (iconsNodes.length > 0) {\n const attrs = iconsNodes.map((node) => {\n const width = node.width?.baseVal?.value;\n const height = node.height?.baseVal?.value;\n const radianIndex = parseInt(node.dataset.radianIndex!, 10);\n const lineNode = linesNodes[radianIndex];\n return {\n from: {\n x: lineNode.x1?.baseVal?.value - width / 2,\n y: lineNode.y1?.baseVal?.value - height / 2,\n },\n to: {\n x: node.dataset['x'],\n y: node.dataset['y'],\n },\n };\n });\n\n iconsAnimation\n .attr('opacity', 0)\n .attr('x', (_, index) => attrs[index].from?.x!)\n .attr('y', (_, index) => attrs[index].from?.y!)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x', (_, index) => attrs[index].to?.x!)\n .attr('y', (_, index) => attrs[index].to?.y!);\n }\n if (linesNodes.length > 0) {\n const attrs = linesNodes.map((node) => {\n return {\n from: {\n x2: node.x1?.baseVal?.value,\n y2: node.y1?.baseVal?.value,\n },\n to: {\n x2: node.dataset['x2'],\n y2: node.dataset['y2'],\n },\n };\n });\n\n linesAnimation\n .attr('opacity', 0)\n .attr('x2', (_, index) => attrs[index].from?.x2!)\n .attr('y2', (_, index) => attrs[index].from?.y2!)\n .transition()\n .duration(duration)\n .attr('opacity', 1)\n .attr('x2', (_, index) => attrs[index].to?.x2!)\n .attr('y2', (_, index) => attrs[index].to?.y2!);\n }\n if (labelsNodes.length > 0) {\n labelsAnimation.attr('opacity', 0);\n labelsAnimation.transition().duration(duration).attr('opacity', 1);\n }\n }\n\n componentDidUpdate(prevProps: RootAsProps) {\n if (prevProps.$rootProps.data !== this.asProps.data) {\n this.runAppearAnimation();\n }\n }\n\n componentDidMount() {\n this.runAppearAnimation();\n }\n\n handleRadianClick(key: string) {\n return (event: React.MouseEvent) => {\n const newKey = key !== this.asProps.activeKey ? key : null;\n this.handlers.activeKey(newKey, event);\n };\n }\n\n computeTextWidth() {\n const { data, textSize } = this.asProps;\n const widths = data.map(({ label }) => measureText(label, textSize));\n\n return Math.max(...widths);\n }\n\n getTitleProps() {\n const { uid, size, textSize } = this.asProps;\n\n const [width, height] = size;\n const center = [width / 2, height / 2];\n const [x, y] = center;\n return {\n x,\n y,\n textSize: textSize * 1.5,\n ['data-radial-animation']: `${uid}-label`,\n } as IRadialTreeTitleProps;\n }\n\n getRadianProps() {\n const { data, ...restRootProps } = this.asProps;\n const textWidth = this.computeTextWidth();\n\n return {\n ...restRootProps,\n radiansCount: data.length,\n data,\n textWidth,\n onRadianClick: this.handleRadianClick,\n } as IRadialTreeRadianProps;\n }\n\n render() {\n const SRadialTree = this.Element;\n const { Children } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n\n return sstyled(this.asProps.styles)(\n <SRadialTree render='g'>\n <Children />\n </SRadialTree>,\n );\n }\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianProps extends RadialTreeRadianProps, UnknownProperties {}\nexport type RadialTreeRadianProps = RadialTreeProps & {\n radiansCount?: number;\n textWidth?: number;\n onRadianClick?: (key: string) => (event: React.MouseEvent) => void;\n};\n\ntype RadianAsProps = RootAsProps & {\n radiansCount: number;\n textWidth: number;\n onRadianClick: (key: string) => (event: React.MouseEvent) => void;\n};\n\nclass RadialTreeRadian extends Component<RadianAsProps> {\n static displayName = 'RadialTreeRadian';\n static style = style;\n\n static defaultProps: Partial<IRadialTreeRadianProps> = {\n centralMargin: 50,\n labelMargin: 2,\n iconColor: '#fff',\n capSize: 16,\n iconSize: 16,\n textSize: 14,\n };\n Element!: React.FC<{ render: string }>;\n\n constructor(props: any) {\n super(props);\n this.renderRadian = this.renderRadian.bind(this);\n }\n\n getInteractiveAreaProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xStart, yStart, xLabelCenter, yLabelCenter, capSize } = this.computeRadianPosition(\n data!,\n index,\n );\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xLabelCenter,\n y2: yLabelCenter,\n strokeWidth: capSize * 3,\n } as IRadialTreeRadianInteractiveAreaProps;\n }\n\n getLineProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xStart, yStart, xEnd, yEnd } = this.computeRadianPosition(data!, index);\n const { uid, transparent, resolveColor } = this.asProps;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x1: xStart,\n y1: yStart,\n x2: xEnd,\n y2: yEnd,\n stroke: color,\n resolveColor,\n transparent,\n ['data-x1']: xStart,\n ['data-y1']: yStart,\n ['data-x2']: xEnd,\n ['data-y2']: yEnd,\n ['data-radial-animation']: `${uid}-line`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianLineProps;\n }\n\n getCapProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xEnd, yEnd, capSize } = this.computeRadianPosition(data!, index);\n const { uid, transparent, resolveColor } = this.asProps;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x: xEnd,\n y: yEnd,\n ['data-cx']: xEnd,\n ['data-cy']: yEnd,\n radius: capSize,\n color,\n resolveColor,\n transparent,\n ['data-radial-animation']: `${uid}-cap-circle`,\n ['data-radian-index']: index,\n } as IRadialTreeRadianCapProps;\n }\n\n getIconProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xEnd, yEnd, isActive } = this.computeRadianPosition(data!, index);\n const { uid, resolveColor } = this.asProps;\n const iconColor = data!.iconColor ?? this.asProps.iconColor;\n const iconSize = data!.iconSize ?? this.asProps.iconSize;\n const icon = data!.icon ?? this.asProps.icon;\n const x = xEnd - iconSize! / 2;\n const y = yEnd - iconSize! / 2;\n return {\n x,\n y,\n ['data-x']: x,\n ['data-y']: y,\n iconSize,\n color: iconColor ?? '#fff',\n resolveColor,\n ['data-radial-animation']: `${uid}-cap-icon`,\n ['data-radian-index']: index,\n icon,\n tag: icon,\n isActive,\n } as IRadialTreeRadianIconProps;\n }\n\n getLabelProps({ $rootProps }: { $rootProps: IRadialTreeProps }, index: number) {\n const data = $rootProps.data?.[index];\n const { xLabelCenter, yLabelCenter, labelAngle, isHorizontal } = this.computeRadianPosition(\n data!,\n index,\n );\n const { uid, textSize, transparent, resolveColor } = this.asProps;\n const { label } = data!;\n const color = data!.color ?? this.asProps.color;\n\n return {\n x: xLabelCenter,\n y: yLabelCenter,\n angle: labelAngle,\n ['data-radial-animation']: `${uid}-label`,\n ['data-radian-index']: index,\n label,\n color,\n resolveColor,\n isHorizontal,\n textSize,\n transparent,\n } as IRadialTreeRadianLabelProps;\n }\n\n getRadianKey(data: RadianData, index: number) {\n return data.key ?? `radian-${index}`;\n }\n\n computeRadianPosition(data: RadianData, index: number) {\n const { centralMargin, labelMargin, angleOffset, activeKey, size, radiansCount, textWidth } =\n this.asProps;\n const [width, height] = size;\n const key = this.getRadianKey(data, index);\n const isActive = activeKey === key;\n const baseCapSize = data.capSize ?? this.asProps.capSize;\n const capSize = baseCapSize * (isActive ? 1 : 0.5);\n\n const minDemSize = Math.min(width, height) / 2;\n const length = Math.max(\n minDemSize - textWidth - baseCapSize - centralMargin - labelMargin * 2,\n 10,\n );\n\n const angle = baseAngle + angleOffset + (index / radiansCount) * (Math.PI * 2);\n const isHorizontal =\n (angle - baseAngle > (1 / 6) * Math.PI && angle - baseAngle < (5 / 6) * Math.PI) ||\n (angle - baseAngle > (7 / 6) * Math.PI && angle - baseAngle < (11 / 6) * Math.PI);\n const topAngle = -Math.PI / 2;\n const labelAngle = ((angle - topAngle) % Math.PI) + topAngle;\n\n const center = [width / 2, height / 2];\n const [xCenter, yCenter] = center;\n const start = [\n xCenter + Math.cos(angle) * centralMargin,\n yCenter + Math.sin(angle) * centralMargin,\n ];\n const end = [\n xCenter + Math.cos(angle) * (centralMargin + length),\n yCenter + Math.sin(angle) * (centralMargin + length),\n ];\n const [xStart, yStart] = start;\n const [xEnd, yEnd] = end;\n\n const labelCenter = [\n xCenter +\n Math.cos(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n yCenter +\n Math.sin(angle) * (centralMargin + length + baseCapSize + textWidth / 2 + labelMargin),\n ];\n const [xLabelCenter, yLabelCenter] = labelCenter;\n\n return {\n xStart,\n yStart,\n xEnd,\n yEnd,\n xLabelCenter,\n yLabelCenter,\n labelAngle,\n isHorizontal,\n capSize,\n isActive,\n };\n }\n\n renderRadian(data: RadianData, index: number) {\n const { styles, Children, onRadianClick } = this.asProps;\n const key = this.getRadianKey(data, index);\n const SRadian = 'g';\n\n let children = getOriginChildren(Children);\n\n if (typeof children === 'function') {\n const _child = this.asProps.children;\n const mergedProps = assignProps(children(this.asProps), this.asProps as any);\n children = mergedProps.children;\n mergedProps.children = _child;\n }\n\n this.asProps.dataHintsHandler.describeValueEntity(`${index}.${data.label}`, data.label);\n\n // hidden from publicly typed export\n const InteractiveArea = (RadialTree.Radian as any).InteractiveArea;\n\n return sstyled(styles)(\n <SRadian aria-hidden key={key} onClick={onRadianClick(key)}>\n <InteractiveArea />\n {children}\n </SRadian>,\n );\n }\n\n render() {\n const { data } = this.asProps;\n const SRadianList = 'g';\n\n return sstyled(this.asProps.styles)(\n <SRadianList>{data.map((data, index) => this.renderRadian(data, index))}</SRadianList>,\n );\n }\n}\n\n/** @deprecated */\nexport interface IRadialTreeRadianInteractiveAreaProps\n extends RadialTreeRadianInteractiveAreaProps {}\nexport type RadialTreeRadianInteractiveAreaProps = {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n strokeWidth?: number;\n};\n\ntype RadialTreeRadianInteractiveAreaAsProps = IRadialTreeRadianInteractiveAreaProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n};\nconst InteractiveArea: React.FC<RadialTreeRadianInteractiveAreaAsProps> = ({\n Element: SInteractiveArea,\n styles,\n}) => {\n return sstyled(styles)(\n <SInteractiveArea stroke='transparent' render='line' />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianLineProps extends RadialTreeRadianLineProps, UnknownProperties {}\nexport type RadialTreeRadianLineProps = {\n x1?: number;\n y1?: number;\n x2?: number;\n y2?: number;\n stroke?: string;\n transparent?: boolean;\n ['data-radial-animation']?: `${string}-line`;\n ['data-radian-index']?: number;\n};\n\ntype RadialTreeRadianLineAsProps = IRadialTreeRadianLineProps & {\n Element: React.FC<{ render: string; transparent: boolean } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n resolveColor: (color?: string) => string;\n};\nconst Line: React.FC<RadialTreeRadianLineAsProps> = ({\n Element: SLine,\n styles,\n stroke,\n resolveColor,\n transparent,\n}) => {\n return sstyled(styles)(\n <SLine render='line' stroke={resolveColor(stroke)} transparent={transparent!} />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianCapProps extends RadialTreeRadianCapProps, UnknownProperties {}\nexport type RadialTreeRadianCapProps = {\n x?: number;\n y?: number;\n radius?: number;\n color?: string;\n transparent?: boolean;\n ['data-radial-animation']?: `${string}-cap-circle`;\n ['data-radian-index']?: number;\n};\n\ntype RadialTreeRadianCapAsProps = IRadialTreeRadianCapProps & {\n Element: React.FC<{ render: string; transparent: boolean } & React.SVGProps<any>>;\n styles: React.CSSProperties;\n resolveColor: (color?: string) => string;\n};\nconst Cap: React.FC<RadialTreeRadianCapAsProps> = ({\n Element: SCap,\n styles,\n x,\n y,\n radius,\n color,\n resolveColor,\n transparent,\n}) => {\n return sstyled(styles)(\n <SCap\n render='circle'\n cx={x}\n cy={y}\n r={radius}\n fill={resolveColor(color)}\n transparent={transparent!}\n />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianIconProps extends RadialTreeRadianIconProps, UnknownProperties {}\nexport type RadialTreeRadianIconProps = {\n x?: number;\n y?: number;\n iconSize?: number;\n color?: string;\n ['data-radial-animation']?: `${string}-cap-icon`;\n ['data-radian-index']?: number;\n isActive?: boolean;\n transparent?: boolean;\n};\n\ntype RadialTreeRadianIconAsProps = IRadialTreeRadianIconProps & {\n Element: React.FC<{ render: string | React.FC; transparent: boolean } & React.SVGProps<any>>;\n x: number;\n y: number;\n iconSize: number;\n styles: React.CSSProperties;\n tag?: React.FC;\n};\nconst Icon: React.FC<RadialTreeRadianIconAsProps> = ({\n Element: SIcon,\n styles,\n isActive,\n tag,\n x,\n y,\n iconSize,\n transparent,\n}) => {\n if (!(isActive && tag)) return null;\n const width = iconSize;\n const height = iconSize;\n return sstyled(styles)(\n <SIcon x={x} y={y} width={width} height={height} render={tag} transparent={transparent!} />,\n ) as React.ReactElement;\n};\n\n/** @deprecated */\nexport interface IRadialTreeRadianLabelProps\n extends RadialTreeRadianLabelProps,\n UnknownProperties {}\nexport type RadialTreeRadianLabelProps = {\n x?: number;\n y?: number;\n color?: string;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n ['data-radian-index']?: number;\n label?: string;\n isHorizontal?: boolean;\n angle?: number;\n transparent?: boolean;\n};\n\ntype RadialTreeRadianLabelAsProps = IRadialTreeRadianLabelProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n styles: React.CSSProperties;\n x: number;\n y: number;\n angle: number;\n textSize: number;\n resolveColor: (color?: string) => string;\n};\nconst Label: React.FC<RadialTreeRadianLabelAsProps> = ({\n Element: SLabel,\n Children,\n styles,\n label,\n color,\n resolveColor,\n isHorizontal,\n x,\n y,\n textSize,\n angle,\n transparent,\n}) => {\n const lines = String(label).split('\\n');\n const linesCount = lines.length;\n const SLabelLine = 'tspan';\n\n const angleDegs = ((angle / Math.PI) * 180).toFixed(2);\n const transformOrigin = [x.toFixed(2), y.toFixed(2)];\n const transform = `rotate(${[angleDegs, ...transformOrigin].join(', ')})`;\n\n const sstyles = sstyled(styles);\n const sLabelStyles = sstyles.cn('SLabel', {\n color: resolveColor(color),\n 'text-cursor': isHorizontal ? 'text' : 'vertical-text',\n transparent,\n });\n\n return (\n <SLabel\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n className={sLabelStyles.className}\n style={sLabelStyles.style}\n x={x.toFixed(2)}\n y={y.toFixed(2)}\n transform={transform}\n >\n {lines.map((lineText, lineIndex) => (\n <SLabelLine\n x={x}\n y={y + (lineIndex - (linesCount - 1) / 2) * textSize}\n key={`#${lineIndex}-${lineText}`}\n >\n {lineText}\n </SLabelLine>\n ))}\n <Children />\n </SLabel>\n ) as React.ReactElement;\n};\n\nconst Radian = createElement(RadialTreeRadian, {\n InteractiveArea,\n Line,\n Cap,\n Icon,\n Label,\n});\n\n/** @deprecated */\nexport interface IRadialTreeTitleProps extends RadialTreeTitleProps, UnknownProperties {}\nexport type RadialTreeTitleProps = {\n x?: number;\n y?: number;\n textSize?: number;\n ['data-radial-animation']?: `${string}-label`;\n color?: string;\n};\n\ntype RadialTreeTitleAsProps = IRadialTreeTitleProps & {\n Element: React.FC<{ render: string } & React.SVGProps<any>>;\n Children: React.FC;\n children: React.ReactNode;\n styles: React.CSSProperties;\n dataHintsHandler: DataHintsHandler;\n resolveColor: (color?: string) => string;\n};\nconst Title: React.FC<RadialTreeTitleAsProps> = ({\n Element: STitle,\n Children,\n children,\n styles,\n textSize,\n color,\n resolveColor,\n x,\n y,\n dataHintsHandler,\n}) => {\n if (typeof children === 'string') {\n dataHintsHandler.setTitle('vertical', children);\n }\n return sstyled(styles)(\n <STitle\n aria-hidden\n render='text'\n textAnchor='middle'\n dominantBaseline='central'\n fontSize={textSize}\n fill={resolveColor(color)}\n x={x}\n y={y}\n >\n <Children />\n </STitle>,\n ) as React.ReactElement;\n};\n\ntype IntergalacticD3Component<BaseTag extends Intergalactic.Tag, Props, Context = {}> = (<\n Tag extends Intergalactic.Tag = Intergalactic.Tag,\n>(\n props: Intergalactic.InternalTypings.PropsRenderingResultComponentProps<Tag, Props, Context>,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<BaseTag, BaseTag, Props>;\n\nconst RadialTree = createElement(RadialTreeBase, { Title, Radian }) as IntergalacticD3Component<\n 'g',\n RadialTreeProps\n> & {\n Title: IntergalacticD3Component<'text', RadialTreeTitleProps>;\n Radian: IntergalacticD3Component<'g', RadialTreeRadianProps> & {\n Line: IntergalacticD3Component<'line', RadialTreeRadianLineProps>;\n Cap: IntergalacticD3Component<'circle', RadialTreeRadianCapProps>;\n Icon: IntergalacticD3Component<'g', RadialTreeRadianIconProps>;\n Label: IntergalacticD3Component<'text', RadialTreeRadianLabelProps>;\n };\n};\n\nexport default RadialTree;\n"],"mappings":"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"}