victory-core 36.5.0 → 36.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/victory-core.js +13817 -10827
- package/dist/victory-core.min.js +1 -1
- package/es/index.d.ts +7 -27
- package/es/index.js +7 -53
- package/es/{types.d.ts → types/callbacks.d.ts} +12 -8
- package/es/types/callbacks.js +2 -0
- package/es/types/prop-types.d.ts +130 -0
- package/es/types/prop-types.js +2 -0
- package/es/victory-accessible-group/victory-accessible-group.d.ts +1 -0
- package/es/victory-accessible-group/victory-accessible-group.js +2 -1
- package/es/victory-animation/util.d.ts +2 -1
- package/es/victory-animation/util.js +6 -4
- package/es/victory-animation/victory-animation.d.ts +1 -0
- package/es/victory-animation/victory-animation.js +2 -1
- package/es/victory-clip-container/victory-clip-container.d.ts +6 -5
- package/es/victory-clip-container/victory-clip-container.js +2 -1
- package/es/victory-container/victory-container.d.ts +8 -7
- package/es/victory-container/victory-container.js +2 -1
- package/es/victory-label/victory-label.d.ts +3 -2
- package/es/victory-label/victory-label.js +4 -4
- package/es/victory-portal/portal-context.d.ts +1 -0
- package/es/victory-portal/portal-context.js +2 -1
- package/es/victory-portal/portal.d.ts +3 -2
- package/es/victory-portal/portal.js +2 -1
- package/es/victory-portal/victory-portal.d.ts +1 -0
- package/es/victory-portal/victory-portal.js +2 -1
- package/es/victory-primitives/arc.d.ts +31 -2
- package/es/victory-primitives/arc.js +3 -2
- package/es/victory-primitives/background.d.ts +31 -2
- package/es/victory-primitives/background.js +3 -2
- package/es/victory-primitives/border.d.ts +28 -2
- package/es/victory-primitives/border.js +3 -2
- package/es/victory-primitives/circle.d.ts +1 -0
- package/es/victory-primitives/circle.js +2 -1
- package/es/victory-primitives/clip-path.d.ts +2 -1
- package/es/victory-primitives/clip-path.js +2 -1
- package/es/victory-primitives/index.d.ts +1 -0
- package/es/victory-primitives/index.js +2 -1
- package/es/victory-primitives/line-segment.d.ts +29 -2
- package/es/victory-primitives/line-segment.js +3 -2
- package/es/victory-primitives/line.d.ts +1 -0
- package/es/victory-primitives/line.js +2 -1
- package/es/victory-primitives/path.d.ts +1 -0
- package/es/victory-primitives/path.js +2 -1
- package/es/victory-primitives/point.d.ts +30 -2
- package/es/victory-primitives/point.js +3 -2
- package/es/victory-primitives/rect.d.ts +1 -0
- package/es/victory-primitives/rect.js +2 -1
- package/es/victory-primitives/text.d.ts +2 -1
- package/es/victory-primitives/text.js +2 -1
- package/es/victory-primitives/tspan.d.ts +2 -1
- package/es/victory-primitives/tspan.js +2 -1
- package/es/victory-primitives/types.d.ts +2 -1
- package/es/victory-primitives/types.js +2 -1
- package/es/victory-primitives/whisker.d.ts +37 -2
- package/es/victory-primitives/whisker.js +3 -2
- package/es/victory-state/defaults.d.ts +3 -0
- package/es/victory-state/defaults.js +3 -0
- package/es/victory-state/helpers/get-axis-data.d.ts +3 -0
- package/es/victory-state/helpers/get-axis-data.js +15 -0
- package/es/victory-state/helpers/get-data.d.ts +15 -0
- package/es/victory-state/helpers/get-data.js +88 -0
- package/es/victory-state/helpers/get-domain.d.ts +6 -0
- package/es/victory-state/helpers/get-domain.js +68 -0
- package/es/victory-state/helpers/get-range.d.ts +6 -0
- package/es/victory-state/helpers/get-range.js +37 -0
- package/es/victory-state/helpers/get-scale.d.ts +6 -0
- package/es/victory-state/helpers/get-scale.js +59 -0
- package/es/victory-state/index.d.ts +3 -0
- package/es/victory-state/index.js +3 -0
- package/es/victory-state/types.d.ts +24 -0
- package/es/victory-state/types.js +2 -0
- package/es/victory-state/victory-provider.d.ts +19 -0
- package/es/victory-state/victory-provider.js +118 -0
- package/es/victory-theme/grayscale.d.ts +2 -1
- package/es/victory-theme/grayscale.js +2 -1
- package/es/victory-theme/material.d.ts +2 -1
- package/es/victory-theme/material.js +2 -1
- package/{lib/victory-theme/victory-theme-definition.d.ts → es/victory-theme/types.d.ts} +3 -8
- package/es/victory-theme/types.js +2 -0
- package/es/victory-theme/victory-theme.d.ts +4 -3
- package/es/victory-theme/victory-theme.js +3 -2
- package/es/victory-transition/victory-transition.d.ts +1 -0
- package/es/victory-transition/victory-transition.js +2 -1
- package/es/victory-util/add-events.d.ts +106 -0
- package/es/victory-util/add-events.js +40 -33
- package/es/victory-util/axis.d.ts +51 -0
- package/es/victory-util/axis.js +9 -7
- package/es/victory-util/collection.d.ts +9 -0
- package/es/victory-util/collection.js +6 -4
- package/es/victory-util/common-props.d.ts +84 -0
- package/es/victory-util/common-props.js +29 -12
- package/es/victory-util/data.d.ts +75 -0
- package/es/victory-util/data.js +2 -1
- package/es/victory-util/default-transitions.d.ts +5 -0
- package/es/victory-util/default-transitions.js +2 -1
- package/es/victory-util/domain.d.ts +91 -0
- package/es/victory-util/domain.js +6 -2
- package/es/victory-util/events.d.ts +65 -0
- package/es/victory-util/events.js +13 -8
- package/es/victory-util/helpers.d.ts +61 -0
- package/es/victory-util/helpers.js +8 -4
- package/es/victory-util/hooks/index.d.ts +3 -0
- package/es/victory-util/hooks/index.js +2 -1
- package/es/victory-util/hooks/use-animation-state.js +4 -3
- package/es/victory-util/hooks/use-previous-props.d.ts +2 -0
- package/es/victory-util/hooks/use-previous-props.js +4 -3
- package/es/victory-util/immutable.d.ts +12 -0
- package/es/victory-util/immutable.js +5 -4
- package/es/victory-util/index.d.ts +29 -0
- package/es/victory-util/index.js +48 -0
- package/es/victory-util/label-helpers.d.ts +27 -0
- package/es/victory-util/label-helpers.js +2 -1
- package/es/victory-util/line-helpers.d.ts +5 -0
- package/es/victory-util/line-helpers.js +24 -6
- package/es/victory-util/log.d.ts +2 -0
- package/es/victory-util/log.js +2 -1
- package/es/victory-util/point-path-helpers.d.ts +1 -0
- package/es/victory-util/point-path-helpers.js +2 -1
- package/es/victory-util/prop-types.d.ts +51 -0
- package/es/victory-util/prop-types.js +35 -44
- package/es/victory-util/scale.d.ts +10 -0
- package/es/victory-util/scale.js +14 -6
- package/es/victory-util/selection.d.ts +25 -23
- package/es/victory-util/selection.js +25 -14
- package/es/victory-util/style.d.ts +19 -0
- package/es/victory-util/style.js +2 -1
- package/es/victory-util/textsize.d.ts +37 -8
- package/es/victory-util/textsize.js +9 -6
- package/es/victory-util/timer-context.d.ts +1 -0
- package/es/victory-util/timer-context.js +2 -1
- package/es/victory-util/timer.d.ts +3 -2
- package/es/victory-util/timer.js +2 -1
- package/es/victory-util/transitions.d.ts +49 -0
- package/es/victory-util/transitions.js +5 -4
- package/es/victory-util/type-helpers.d.ts +10 -0
- package/es/victory-util/type-helpers.js +28 -0
- package/es/victory-util/user-props.d.ts +21 -0
- package/es/victory-util/user-props.js +6 -5
- package/es/victory-util/with-container.d.ts +5 -0
- package/es/victory-util/with-container.js +32 -0
- package/es/victory-util/wrapper.d.ts +38 -0
- package/es/victory-util/wrapper.js +4 -3
- package/lib/index.d.ts +7 -27
- package/lib/index.js +58 -147
- package/lib/{types.d.ts → types/callbacks.d.ts} +12 -8
- package/lib/types/callbacks.js +2 -0
- package/lib/types/prop-types.d.ts +130 -0
- package/lib/types/prop-types.js +2 -0
- package/lib/victory-accessible-group/victory-accessible-group.d.ts +1 -0
- package/lib/victory-accessible-group/victory-accessible-group.js +2 -1
- package/lib/victory-animation/util.d.ts +2 -1
- package/lib/victory-animation/util.js +6 -4
- package/lib/victory-animation/victory-animation.d.ts +1 -0
- package/lib/victory-animation/victory-animation.js +2 -1
- package/lib/victory-clip-container/victory-clip-container.d.ts +6 -5
- package/lib/victory-clip-container/victory-clip-container.js +2 -1
- package/lib/victory-container/victory-container.d.ts +8 -7
- package/lib/victory-container/victory-container.js +2 -1
- package/lib/victory-label/victory-label.d.ts +3 -2
- package/lib/victory-label/victory-label.js +4 -4
- package/lib/victory-portal/portal-context.d.ts +1 -0
- package/lib/victory-portal/portal-context.js +2 -1
- package/lib/victory-portal/portal.d.ts +3 -2
- package/lib/victory-portal/portal.js +2 -1
- package/lib/victory-portal/victory-portal.d.ts +1 -0
- package/lib/victory-portal/victory-portal.js +2 -1
- package/lib/victory-primitives/arc.d.ts +31 -2
- package/lib/victory-primitives/arc.js +4 -3
- package/lib/victory-primitives/background.d.ts +31 -2
- package/lib/victory-primitives/background.js +4 -3
- package/lib/victory-primitives/border.d.ts +28 -2
- package/lib/victory-primitives/border.js +4 -3
- package/lib/victory-primitives/circle.d.ts +1 -0
- package/lib/victory-primitives/circle.js +2 -1
- package/lib/victory-primitives/clip-path.d.ts +2 -1
- package/lib/victory-primitives/clip-path.js +2 -1
- package/lib/victory-primitives/index.d.ts +1 -0
- package/lib/victory-primitives/index.js +2 -1
- package/lib/victory-primitives/line-segment.d.ts +29 -2
- package/lib/victory-primitives/line-segment.js +4 -3
- package/lib/victory-primitives/line.d.ts +1 -0
- package/lib/victory-primitives/line.js +2 -1
- package/lib/victory-primitives/path.d.ts +1 -0
- package/lib/victory-primitives/path.js +2 -1
- package/lib/victory-primitives/point.d.ts +30 -2
- package/lib/victory-primitives/point.js +4 -3
- package/lib/victory-primitives/rect.d.ts +1 -0
- package/lib/victory-primitives/rect.js +2 -1
- package/lib/victory-primitives/text.d.ts +2 -1
- package/lib/victory-primitives/text.js +2 -1
- package/lib/victory-primitives/tspan.d.ts +2 -1
- package/lib/victory-primitives/tspan.js +2 -1
- package/lib/victory-primitives/types.d.ts +2 -1
- package/lib/victory-primitives/types.js +2 -1
- package/lib/victory-primitives/whisker.d.ts +37 -2
- package/lib/victory-primitives/whisker.js +4 -3
- package/lib/victory-state/defaults.d.ts +3 -0
- package/lib/victory-state/defaults.js +11 -0
- package/lib/victory-state/helpers/get-axis-data.d.ts +3 -0
- package/lib/victory-state/helpers/get-axis-data.js +23 -0
- package/lib/victory-state/helpers/get-data.d.ts +15 -0
- package/lib/victory-state/helpers/get-data.js +99 -0
- package/lib/victory-state/helpers/get-domain.d.ts +6 -0
- package/lib/victory-state/helpers/get-domain.js +82 -0
- package/lib/victory-state/helpers/get-range.d.ts +6 -0
- package/lib/victory-state/helpers/get-range.js +46 -0
- package/lib/victory-state/helpers/get-scale.d.ts +6 -0
- package/lib/victory-state/helpers/get-scale.js +74 -0
- package/lib/victory-state/index.d.ts +3 -0
- package/lib/victory-state/index.js +32 -0
- package/lib/victory-state/types.d.ts +24 -0
- package/lib/victory-state/types.js +2 -0
- package/lib/victory-state/victory-provider.d.ts +19 -0
- package/lib/victory-state/victory-provider.js +144 -0
- package/lib/victory-theme/grayscale.d.ts +2 -1
- package/lib/victory-theme/grayscale.js +2 -1
- package/lib/victory-theme/material.d.ts +2 -1
- package/lib/victory-theme/material.js +2 -1
- package/{es/victory-theme/victory-theme-definition.d.ts → lib/victory-theme/types.d.ts} +3 -8
- package/lib/victory-theme/types.js +2 -0
- package/lib/victory-theme/victory-theme.d.ts +4 -3
- package/lib/victory-theme/victory-theme.js +6 -5
- package/lib/victory-transition/victory-transition.d.ts +1 -0
- package/lib/victory-transition/victory-transition.js +2 -1
- package/lib/victory-util/add-events.d.ts +106 -0
- package/lib/victory-util/add-events.js +40 -36
- package/lib/victory-util/axis.d.ts +51 -0
- package/lib/victory-util/axis.js +8 -6
- package/lib/victory-util/collection.d.ts +9 -0
- package/lib/victory-util/collection.js +6 -4
- package/lib/victory-util/common-props.d.ts +84 -0
- package/lib/victory-util/common-props.js +27 -12
- package/lib/victory-util/data.d.ts +75 -0
- package/lib/victory-util/data.js +2 -1
- package/lib/victory-util/default-transitions.d.ts +5 -0
- package/lib/victory-util/default-transitions.js +2 -1
- package/lib/victory-util/domain.d.ts +91 -0
- package/lib/victory-util/domain.js +6 -2
- package/lib/victory-util/events.d.ts +65 -0
- package/lib/victory-util/events.js +13 -9
- package/lib/victory-util/helpers.d.ts +61 -0
- package/lib/victory-util/helpers.js +8 -4
- package/lib/victory-util/hooks/index.d.ts +3 -0
- package/lib/victory-util/hooks/index.js +2 -1
- package/lib/victory-util/hooks/use-animation-state.js +4 -3
- package/lib/victory-util/hooks/use-previous-props.d.ts +2 -0
- package/lib/victory-util/hooks/use-previous-props.js +5 -6
- package/lib/victory-util/immutable.d.ts +12 -0
- package/lib/victory-util/immutable.js +5 -4
- package/lib/victory-util/index.d.ts +29 -0
- package/lib/victory-util/index.js +181 -0
- package/lib/victory-util/label-helpers.d.ts +27 -0
- package/lib/victory-util/label-helpers.js +2 -1
- package/lib/victory-util/line-helpers.d.ts +5 -0
- package/lib/victory-util/line-helpers.js +28 -7
- package/lib/victory-util/log.d.ts +2 -0
- package/lib/victory-util/log.js +2 -1
- package/lib/victory-util/point-path-helpers.d.ts +1 -0
- package/lib/victory-util/point-path-helpers.js +2 -1
- package/lib/victory-util/prop-types.d.ts +51 -0
- package/lib/victory-util/prop-types.js +36 -44
- package/lib/victory-util/scale.d.ts +10 -0
- package/lib/victory-util/scale.js +14 -5
- package/lib/victory-util/selection.d.ts +25 -23
- package/lib/victory-util/selection.js +25 -19
- package/lib/victory-util/style.d.ts +19 -0
- package/lib/victory-util/style.js +2 -1
- package/lib/victory-util/textsize.d.ts +37 -8
- package/lib/victory-util/textsize.js +9 -6
- package/lib/victory-util/timer-context.d.ts +1 -0
- package/lib/victory-util/timer-context.js +2 -1
- package/lib/victory-util/timer.d.ts +3 -2
- package/lib/victory-util/timer.js +2 -1
- package/lib/victory-util/transitions.d.ts +49 -0
- package/lib/victory-util/transitions.js +5 -4
- package/lib/victory-util/type-helpers.d.ts +10 -0
- package/lib/victory-util/type-helpers.js +45 -0
- package/lib/victory-util/user-props.d.ts +21 -0
- package/lib/victory-util/user-props.js +6 -5
- package/lib/victory-util/with-container.d.ts +5 -0
- package/lib/victory-util/with-container.js +44 -0
- package/lib/victory-util/wrapper.d.ts +38 -0
- package/lib/victory-util/wrapper.js +4 -3
- package/package.json +3 -3
- package/src/index.ts +9 -31
- package/src/{types.ts → types/callbacks.ts} +21 -13
- package/src/types/prop-types.ts +195 -0
- package/src/victory-accessible-group/victory-accessible-group.tsx +3 -3
- package/src/victory-animation/util.ts +3 -2
- package/src/victory-animation/victory-animation.tsx +13 -13
- package/src/victory-clip-container/victory-clip-container.tsx +23 -23
- package/src/victory-container/victory-container.tsx +19 -19
- package/src/victory-label/victory-label.tsx +41 -39
- package/src/victory-portal/portal.tsx +1 -1
- package/src/victory-portal/victory-portal.tsx +3 -3
- package/src/victory-primitives/arc.tsx +8 -6
- package/src/victory-primitives/background.tsx +8 -6
- package/src/victory-primitives/border.tsx +8 -6
- package/src/victory-primitives/clip-path.tsx +3 -3
- package/src/victory-primitives/line-segment.tsx +8 -6
- package/src/victory-primitives/point.tsx +10 -8
- package/src/victory-primitives/text.tsx +2 -2
- package/src/victory-primitives/tspan.tsx +1 -1
- package/src/victory-primitives/types.ts +1 -1
- package/src/victory-primitives/whisker.tsx +15 -13
- package/src/victory-state/defaults.ts +2 -0
- package/src/victory-state/helpers/get-axis-data.ts +14 -0
- package/src/victory-state/helpers/get-data.ts +79 -0
- package/src/victory-state/helpers/get-domain.ts +62 -0
- package/src/victory-state/helpers/get-range.ts +39 -0
- package/src/victory-state/helpers/get-scale.ts +64 -0
- package/src/victory-state/index.ts +2 -0
- package/src/victory-state/types.ts +32 -0
- package/src/victory-state/victory-provider.tsx +116 -0
- package/src/victory-theme/grayscale.tsx +62 -62
- package/src/victory-theme/material.tsx +67 -67
- package/src/victory-theme/{victory-theme-definition.ts → types.ts} +10 -14
- package/src/victory-theme/victory-theme.tsx +1 -1
- package/src/victory-transition/victory-transition.tsx +19 -19
- package/src/victory-util/{add-events.js → add-events.tsx} +136 -59
- package/src/victory-util/{axis.js → axis.tsx} +17 -18
- package/src/victory-util/{collection.js → collection.tsx} +14 -10
- package/src/victory-util/common-props.tsx +307 -0
- package/src/victory-util/{data.js → data.ts} +14 -10
- package/src/victory-util/{default-transitions.js → default-transitions.ts} +20 -18
- package/src/victory-util/{domain.js → domain.ts} +26 -23
- package/src/victory-util/{events.js → events.ts} +82 -31
- package/src/victory-util/{helpers.js → helpers.ts} +41 -22
- package/src/victory-util/hooks/{index.js → index.ts} +0 -0
- package/src/victory-util/hooks/use-animation-state.js +12 -12
- package/src/victory-util/hooks/use-previous-props.ts +9 -0
- package/src/victory-util/{immutable.js → immutable.ts} +14 -10
- package/src/victory-util/index.ts +28 -0
- package/src/victory-util/{label-helpers.js → label-helpers.ts} +7 -7
- package/src/victory-util/line-helpers.ts +104 -0
- package/src/victory-util/{log.js → log.ts} +1 -1
- package/src/victory-util/{prop-types.js → prop-types.ts} +103 -101
- package/src/victory-util/{scale.js → scale.ts} +29 -16
- package/src/victory-util/selection.ts +158 -0
- package/src/victory-util/{style.js → style.ts} +3 -3
- package/src/victory-util/{textsize.js → textsize.ts} +32 -17
- package/src/victory-util/timer-context.ts +1 -1
- package/src/victory-util/timer.ts +5 -10
- package/src/victory-util/{transitions.js → transitions.ts} +50 -22
- package/src/victory-util/type-helpers.ts +50 -0
- package/src/victory-util/{user-props.js → user-props.ts} +16 -11
- package/src/victory-util/with-container.tsx +41 -0
- package/src/victory-util/{wrapper.js → wrapper.tsx} +38 -33
- package/es/types.js +0 -1
- package/es/victory-theme/victory-theme-definition.js +0 -1
- package/es/victory-util/types.d.ts +0 -188
- package/es/victory-util/types.js +0 -1
- package/lib/types.js +0 -1
- package/lib/victory-theme/victory-theme-definition.js +0 -1
- package/lib/victory-util/types.d.ts +0 -188
- package/lib/victory-util/types.js +0 -1
- package/src/victory-util/common-props.js +0 -197
- package/src/victory-util/hooks/use-previous-props.js +0 -9
- package/src/victory-util/line-helpers.js +0 -54
- package/src/victory-util/selection.d.ts +0 -23
- package/src/victory-util/selection.js +0 -98
- package/src/victory-util/textsize.d.ts +0 -8
- package/src/victory-util/types.ts +0 -247
|
@@ -8,21 +8,52 @@ import {
|
|
|
8
8
|
omitBy,
|
|
9
9
|
uniq,
|
|
10
10
|
includes,
|
|
11
|
-
keys
|
|
11
|
+
keys,
|
|
12
12
|
} from "lodash";
|
|
13
|
+
import type { EventMixinCalculatedValues } from "./add-events";
|
|
13
14
|
|
|
14
15
|
const GLOBAL_EVENT_REGEX = /^onGlobal(.*)$/;
|
|
15
16
|
|
|
17
|
+
type ComponentEventKey = string | number;
|
|
18
|
+
export interface ComponentEvent {
|
|
19
|
+
target?: "parent" | string;
|
|
20
|
+
eventKey?: ComponentEventKey | ComponentEventKey[];
|
|
21
|
+
eventHandlers: ComponentEventHandlers;
|
|
22
|
+
}
|
|
23
|
+
export type ComponentEventName = `on${Capitalize<string>}`;
|
|
24
|
+
export interface ComponentEventHandlers {
|
|
25
|
+
[k: ComponentEventName]: ComponentEventHandler;
|
|
26
|
+
}
|
|
27
|
+
export type ComponentEventHandler = (
|
|
28
|
+
evt: React.SyntheticEvent,
|
|
29
|
+
childProps: unknown,
|
|
30
|
+
eventKey: ComponentEventKey,
|
|
31
|
+
eventName: ComponentEventName,
|
|
32
|
+
) => UpdatedProps;
|
|
33
|
+
export type UpdatedProps = any;
|
|
34
|
+
|
|
35
|
+
interface ComponentWithEvents extends EventMixinCalculatedValues {
|
|
36
|
+
state;
|
|
37
|
+
setState;
|
|
38
|
+
}
|
|
39
|
+
|
|
16
40
|
/* Returns all own and shared events that should be attached to a single target element,
|
|
17
41
|
* i.e. an individual bar specified by target: "data", eventKey: [index].
|
|
18
42
|
* Returned events are scoped to the appropriate state. Either that of the component itself
|
|
19
43
|
* (i.e. VictoryBar) in the case of own events, or that of the parent component
|
|
20
44
|
* (i.e. VictoryChart) in the case of shared events
|
|
21
45
|
*/
|
|
22
|
-
// eslint-disable-next-line max-params
|
|
23
|
-
export function getEvents(
|
|
46
|
+
// eslint-disable-next-line max-params
|
|
47
|
+
export function getEvents(
|
|
48
|
+
this: ComponentWithEvents,
|
|
49
|
+
props,
|
|
50
|
+
target,
|
|
51
|
+
eventKey,
|
|
52
|
+
// eslint-disable-next-line no-shadow
|
|
53
|
+
getScopedEvents,
|
|
54
|
+
) {
|
|
24
55
|
// Returns all events that apply to a particular target element
|
|
25
|
-
const getEventsByTarget = (events) => {
|
|
56
|
+
const getEventsByTarget = (events: Array<ComponentEvent>) => {
|
|
26
57
|
const getSelectedEvents = () => {
|
|
27
58
|
const targetEvents = events.reduce((memo, event) => {
|
|
28
59
|
if (event.target !== undefined) {
|
|
@@ -32,7 +63,7 @@ export function getEvents(props, target, eventKey, getScopedEvents) {
|
|
|
32
63
|
return matchesTarget ? memo.concat(event) : memo;
|
|
33
64
|
}
|
|
34
65
|
return memo.concat(event);
|
|
35
|
-
}, []);
|
|
66
|
+
}, [] as ComponentEvent[]);
|
|
36
67
|
|
|
37
68
|
if (eventKey !== undefined && target !== "parent") {
|
|
38
69
|
return targetEvents.filter((obj) => {
|
|
@@ -51,7 +82,7 @@ export function getEvents(props, target, eventKey, getScopedEvents) {
|
|
|
51
82
|
Array.isArray(selectedEvents) &&
|
|
52
83
|
selectedEvents.reduce((memo, event) => {
|
|
53
84
|
return event ? assign(memo, event.eventHandlers) : memo;
|
|
54
|
-
}, {})
|
|
85
|
+
}, {} as ComponentEvent["eventHandlers"])
|
|
55
86
|
);
|
|
56
87
|
};
|
|
57
88
|
|
|
@@ -92,7 +123,13 @@ export function getEvents(props, target, eventKey, getScopedEvents) {
|
|
|
92
123
|
* element.
|
|
93
124
|
*/
|
|
94
125
|
// eslint-disable-next-line max-params
|
|
95
|
-
export function getScopedEvents(
|
|
126
|
+
export function getScopedEvents(
|
|
127
|
+
this: ComponentWithEvents,
|
|
128
|
+
events,
|
|
129
|
+
namespace,
|
|
130
|
+
childType,
|
|
131
|
+
baseProps,
|
|
132
|
+
) {
|
|
96
133
|
if (isEmpty(events)) {
|
|
97
134
|
return {};
|
|
98
135
|
}
|
|
@@ -149,15 +186,15 @@ export function getScopedEvents(events, namespace, childType, baseProps) {
|
|
|
149
186
|
}
|
|
150
187
|
const mutationTargetProps = getTargetProps(
|
|
151
188
|
{ childName, key, target },
|
|
152
|
-
"props"
|
|
189
|
+
"props",
|
|
153
190
|
);
|
|
154
191
|
const mutationTargetState = getTargetProps(
|
|
155
192
|
{ childName, key, target },
|
|
156
|
-
"state"
|
|
193
|
+
"state",
|
|
157
194
|
);
|
|
158
195
|
const mutatedProps = eventReturn.mutation(
|
|
159
196
|
assign({}, mutationTargetProps, mutationTargetState),
|
|
160
|
-
baseProps
|
|
197
|
+
baseProps,
|
|
161
198
|
);
|
|
162
199
|
const childState = baseState[childName] || {};
|
|
163
200
|
|
|
@@ -175,7 +212,7 @@ export function getScopedEvents(events, namespace, childType, baseProps) {
|
|
|
175
212
|
return target === "parent"
|
|
176
213
|
? assign(state, { [key]: assign(state[key], mutatedProps) })
|
|
177
214
|
: assign(state, {
|
|
178
|
-
[key]: assign(state[key], { [target]: mutatedProps })
|
|
215
|
+
[key]: assign(state[key], { [target]: mutatedProps }),
|
|
179
216
|
});
|
|
180
217
|
};
|
|
181
218
|
|
|
@@ -249,24 +286,38 @@ export function getScopedEvents(events, namespace, childType, baseProps) {
|
|
|
249
286
|
}, {});
|
|
250
287
|
}
|
|
251
288
|
|
|
252
|
-
/*
|
|
289
|
+
/*
|
|
290
|
+
* Returns a partially applied event handler for a specific target element
|
|
253
291
|
* This allows event handlers to have access to props controlling each element
|
|
254
292
|
*/
|
|
255
|
-
export function getPartialEvents(
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
293
|
+
export function getPartialEvents(
|
|
294
|
+
events: ComponentEventHandlers,
|
|
295
|
+
eventKey: ComponentEventKey,
|
|
296
|
+
childProps: unknown,
|
|
297
|
+
): PartialEvents {
|
|
298
|
+
if (!events) return {};
|
|
299
|
+
|
|
300
|
+
return keys(events).reduce((memo, eventName) => {
|
|
301
|
+
const appliedEvent = (evt) =>
|
|
302
|
+
events[eventName](evt, childProps, eventKey, eventName);
|
|
303
|
+
memo[eventName] = appliedEvent;
|
|
304
|
+
return memo;
|
|
305
|
+
}, {} as PartialEvents);
|
|
306
|
+
}
|
|
307
|
+
export interface PartialEvents {
|
|
308
|
+
[eventName: ComponentEventName]: (evt: React.SyntheticEvent) => UpdatedProps;
|
|
264
309
|
}
|
|
265
310
|
|
|
266
311
|
/* Returns the property of the state object corresponding to event changes for
|
|
267
312
|
* a particular element
|
|
268
313
|
*/
|
|
269
|
-
|
|
314
|
+
// eslint-disable-next-line max-params
|
|
315
|
+
export function getEventState(
|
|
316
|
+
this: ComponentWithEvents,
|
|
317
|
+
eventKey: ComponentEventKey,
|
|
318
|
+
namespace: string,
|
|
319
|
+
childType?: string,
|
|
320
|
+
) {
|
|
270
321
|
// Mandatory usage: `getEventState.bind(this)`
|
|
271
322
|
// eslint-disable-next-line no-invalid-this
|
|
272
323
|
const state = this.state || {};
|
|
@@ -297,7 +348,7 @@ export function getExternalMutationsWithChildren(
|
|
|
297
348
|
mutations,
|
|
298
349
|
baseProps,
|
|
299
350
|
baseState,
|
|
300
|
-
childNames
|
|
351
|
+
childNames,
|
|
301
352
|
) {
|
|
302
353
|
baseProps = baseProps || {};
|
|
303
354
|
baseState = baseState || {};
|
|
@@ -308,7 +359,7 @@ export function getExternalMutationsWithChildren(
|
|
|
308
359
|
mutations,
|
|
309
360
|
baseProps[childName],
|
|
310
361
|
baseState[childName],
|
|
311
|
-
childName
|
|
362
|
+
childName,
|
|
312
363
|
);
|
|
313
364
|
memo[childName] = mutation ? mutation : childState;
|
|
314
365
|
return pickBy(memo, (v) => !isEmpty(v));
|
|
@@ -330,7 +381,7 @@ export function getExternalMutations(
|
|
|
330
381
|
mutations,
|
|
331
382
|
baseProps,
|
|
332
383
|
baseState,
|
|
333
|
-
childName
|
|
384
|
+
childName?,
|
|
334
385
|
) {
|
|
335
386
|
baseProps = baseProps || {};
|
|
336
387
|
baseState = baseState || {};
|
|
@@ -345,7 +396,7 @@ export function getExternalMutations(
|
|
|
345
396
|
mutations,
|
|
346
397
|
keyProps,
|
|
347
398
|
keyState,
|
|
348
|
-
identifier
|
|
399
|
+
identifier,
|
|
349
400
|
);
|
|
350
401
|
memo[eventKey] =
|
|
351
402
|
mutation !== undefined ? assign({}, keyState, mutation) : keyState;
|
|
@@ -359,7 +410,7 @@ export function getExternalMutations(
|
|
|
359
410
|
mutations,
|
|
360
411
|
keyProps[target],
|
|
361
412
|
keyState[target],
|
|
362
|
-
identifier
|
|
413
|
+
identifier,
|
|
363
414
|
);
|
|
364
415
|
m[target] =
|
|
365
416
|
mutation !== undefined
|
|
@@ -387,7 +438,7 @@ export function getExternalMutation(
|
|
|
387
438
|
mutations,
|
|
388
439
|
baseProps,
|
|
389
440
|
baseState,
|
|
390
|
-
identifier
|
|
441
|
+
identifier,
|
|
391
442
|
) {
|
|
392
443
|
const filterMutations = (mutation, type) => {
|
|
393
444
|
if (typeof mutation[type] === "string") {
|
|
@@ -408,13 +459,13 @@ export function getExternalMutation(
|
|
|
408
459
|
}
|
|
409
460
|
// find any mutation objects that match the target
|
|
410
461
|
const targetMutations = scopedMutations.filter((m) =>
|
|
411
|
-
filterMutations(m, "target")
|
|
462
|
+
filterMutations(m, "target"),
|
|
412
463
|
);
|
|
413
464
|
if (isEmpty(targetMutations)) {
|
|
414
465
|
return undefined;
|
|
415
466
|
}
|
|
416
467
|
const keyMutations = targetMutations.filter((m) =>
|
|
417
|
-
filterMutations(m, "eventKey")
|
|
468
|
+
filterMutations(m, "eventKey"),
|
|
418
469
|
);
|
|
419
470
|
if (isEmpty(keyMutations)) {
|
|
420
471
|
return undefined;
|
|
@@ -444,7 +495,7 @@ export function getComponentEvents(props, components) {
|
|
|
444
495
|
? memo.concat(...componentEvents)
|
|
445
496
|
: memo;
|
|
446
497
|
return memo;
|
|
447
|
-
}, []);
|
|
498
|
+
}, [] as ComponentEvent[]);
|
|
448
499
|
return events && events.length ? events : undefined;
|
|
449
500
|
}
|
|
450
501
|
|
|
@@ -27,15 +27,19 @@ function getPolarRange(props, axis) {
|
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
29
|
* creates an object with some keys excluded
|
|
30
|
-
* replacement for lodash.omit for performance. does not
|
|
30
|
+
* replacement for lodash.omit for performance. does not mimic the entire lodash.omit api
|
|
31
31
|
* @param {Object} originalObject: created object will be based on this object
|
|
32
32
|
* @param {Array<String>} ks: an array of keys to omit from the new object
|
|
33
33
|
* @returns {Object} new object with same properties as originalObject
|
|
34
34
|
*/
|
|
35
|
-
export function omit
|
|
35
|
+
export function omit<T, Keys extends keyof T>(
|
|
36
|
+
originalObject: T,
|
|
37
|
+
ks: Array<Keys> = [],
|
|
38
|
+
): Omit<T, Keys> {
|
|
36
39
|
// code based on babel's _objectWithoutProperties
|
|
37
|
-
const newObject = {};
|
|
40
|
+
const newObject = {} as T;
|
|
38
41
|
for (const key in originalObject) {
|
|
42
|
+
// @ts-expect-error String is not assignable to Key
|
|
39
43
|
if (ks.indexOf(key) >= 0) {
|
|
40
44
|
continue;
|
|
41
45
|
}
|
|
@@ -56,7 +60,7 @@ export function getPoint(datum) {
|
|
|
56
60
|
x: exists(_voronoiX) ? _voronoiX : defaultX,
|
|
57
61
|
x0: exists(_x0) ? _x0 : _x,
|
|
58
62
|
y: exists(_voronoiY) ? _voronoiY : defaultY,
|
|
59
|
-
y0: exists(_y0) ? _y0 : _y
|
|
63
|
+
y0: exists(_y0) ? _y0 : _y,
|
|
60
64
|
};
|
|
61
65
|
return defaults({}, point, datum);
|
|
62
66
|
}
|
|
@@ -73,7 +77,7 @@ export function scalePoint(props, datum) {
|
|
|
73
77
|
x: polar ? y * Math.cos(x) + origin.x : x,
|
|
74
78
|
x0: polar ? y0 * Math.cos(x0) + origin.x : x0,
|
|
75
79
|
y: polar ? -y * Math.sin(x) + origin.y : y,
|
|
76
|
-
y0: polar ? -y0 * Math.sin(x0) + origin.x : y0
|
|
80
|
+
y0: polar ? -y0 * Math.sin(x0) + origin.x : y0,
|
|
77
81
|
};
|
|
78
82
|
}
|
|
79
83
|
|
|
@@ -85,7 +89,7 @@ export function getPadding(props, name = "padding") {
|
|
|
85
89
|
top: paddingObj.top || paddingVal,
|
|
86
90
|
bottom: paddingObj.bottom || paddingVal,
|
|
87
91
|
left: paddingObj.left || paddingVal,
|
|
88
|
-
right: paddingObj.right || paddingVal
|
|
92
|
+
right: paddingObj.right || paddingVal,
|
|
89
93
|
};
|
|
90
94
|
}
|
|
91
95
|
|
|
@@ -118,7 +122,7 @@ export function getStyles(style, defaultStyles) {
|
|
|
118
122
|
return {
|
|
119
123
|
parent: defaults({}, parent, defaultParent, { width, height }),
|
|
120
124
|
labels: defaults({}, labels, defaultLabels),
|
|
121
|
-
data: defaults({}, data, defaultData)
|
|
125
|
+
data: defaults({}, data, defaultData),
|
|
122
126
|
};
|
|
123
127
|
}
|
|
124
128
|
|
|
@@ -161,7 +165,7 @@ export function getPolarOrigin(props) {
|
|
|
161
165
|
const offsetHeight = height / 2 + top - bottom;
|
|
162
166
|
return {
|
|
163
167
|
x: offsetWidth + radius > width ? radius + left - right : offsetWidth,
|
|
164
|
-
y: offsetHeight + radius > height ? radius + top - bottom : offsetHeight
|
|
168
|
+
y: offsetHeight + radius > height ? radius + top - bottom : offsetHeight,
|
|
165
169
|
};
|
|
166
170
|
}
|
|
167
171
|
|
|
@@ -189,7 +193,7 @@ export function createAccessor(key) {
|
|
|
189
193
|
return property(key);
|
|
190
194
|
}
|
|
191
195
|
|
|
192
|
-
export function modifyProps(props, fallbackProps
|
|
196
|
+
export function modifyProps(props, fallbackProps?, role?) {
|
|
193
197
|
const theme = props.theme && props.theme[role] ? props.theme[role] : {};
|
|
194
198
|
const themeProps = omit(theme, ["style"]);
|
|
195
199
|
const horizontal = isHorizontal(props);
|
|
@@ -218,13 +222,24 @@ export function getCurrentAxis(axis, horizontal) {
|
|
|
218
222
|
* @returns {Array} returns an array of results from calling the iteratee on all nested children
|
|
219
223
|
*/
|
|
220
224
|
/* eslint-disable max-params */
|
|
221
|
-
export function reduceChildren
|
|
222
|
-
|
|
223
|
-
|
|
225
|
+
export function reduceChildren<
|
|
226
|
+
TChildren extends React.ReactNode,
|
|
227
|
+
TItem,
|
|
228
|
+
TResult = TItem[],
|
|
229
|
+
>(
|
|
230
|
+
children: TChildren[],
|
|
231
|
+
iteratee: (
|
|
232
|
+
child: TChildren,
|
|
233
|
+
childName: string,
|
|
234
|
+
parent?: TChildren,
|
|
235
|
+
) => TItem | null,
|
|
224
236
|
parentProps = {},
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
)
|
|
237
|
+
// @ts-expect-error These defaults are hard to type
|
|
238
|
+
initialMemo: TResult = [],
|
|
239
|
+
combine: (memo: TResult, item: TItem) => TResult = (memo, item) =>
|
|
240
|
+
// @ts-expect-error These defaults are hard to type
|
|
241
|
+
memo.concat(item),
|
|
242
|
+
): TResult {
|
|
228
243
|
const sharedProps = [
|
|
229
244
|
"data",
|
|
230
245
|
"domain",
|
|
@@ -234,9 +249,9 @@ export function reduceChildren(
|
|
|
234
249
|
"endAngle",
|
|
235
250
|
"minDomain",
|
|
236
251
|
"maxDomain",
|
|
237
|
-
"horizontal"
|
|
252
|
+
"horizontal",
|
|
238
253
|
];
|
|
239
|
-
const traverseChildren = (childArray, names, parent) => {
|
|
254
|
+
const traverseChildren = (childArray, names, parent?) => {
|
|
240
255
|
return childArray.reduce((memo, child, index) => {
|
|
241
256
|
const childRole = child.type && child.type.role;
|
|
242
257
|
const childName = child.props.name || `${childRole}-${names[index]}`;
|
|
@@ -244,7 +259,7 @@ export function reduceChildren(
|
|
|
244
259
|
const childProps = assign(
|
|
245
260
|
{},
|
|
246
261
|
child.props,
|
|
247
|
-
pick(parentProps, sharedProps)
|
|
262
|
+
pick(parentProps, sharedProps),
|
|
248
263
|
);
|
|
249
264
|
|
|
250
265
|
const nestedChildren =
|
|
@@ -252,11 +267,15 @@ export function reduceChildren(
|
|
|
252
267
|
child.type.role === "stack" &&
|
|
253
268
|
isFunction(child.type.getChildren)
|
|
254
269
|
? child.type.getChildren(childProps)
|
|
255
|
-
:
|
|
270
|
+
: (
|
|
271
|
+
React.Children.toArray(
|
|
272
|
+
child.props.children,
|
|
273
|
+
) as Array<React.ReactElement>
|
|
274
|
+
).map((c) => {
|
|
256
275
|
const nestedChildProps = assign(
|
|
257
276
|
{},
|
|
258
277
|
c.props,
|
|
259
|
-
pick(childProps, sharedProps)
|
|
278
|
+
pick(childProps, sharedProps),
|
|
260
279
|
);
|
|
261
280
|
return React.cloneElement(c, nestedChildProps);
|
|
262
281
|
});
|
|
@@ -265,7 +284,7 @@ export function reduceChildren(
|
|
|
265
284
|
const nestedResults = traverseChildren(
|
|
266
285
|
nestedChildren,
|
|
267
286
|
childNames,
|
|
268
|
-
child
|
|
287
|
+
child,
|
|
269
288
|
);
|
|
270
289
|
memo = combine(memo, nestedResults);
|
|
271
290
|
} else {
|
|
@@ -284,7 +303,7 @@ export function reduceChildren(
|
|
|
284
303
|
/**
|
|
285
304
|
* @param {Object} props: the props object
|
|
286
305
|
* @returns {Boolean} returns true if the props object contains `horizontal: true` of if any
|
|
287
|
-
* children or nested children are
|
|
306
|
+
* children or nested children are horizontal
|
|
288
307
|
*/
|
|
289
308
|
export function isHorizontal(props) {
|
|
290
309
|
if (props.horizontal !== undefined || !props.children) {
|
|
File without changes
|
|
@@ -7,7 +7,7 @@ import * as Transitions from "../transitions";
|
|
|
7
7
|
const INITIAL_STATE = {
|
|
8
8
|
nodesShouldLoad: false,
|
|
9
9
|
nodesDoneLoad: false,
|
|
10
|
-
animating: true
|
|
10
|
+
animating: true,
|
|
11
11
|
};
|
|
12
12
|
|
|
13
13
|
export const useAnimationState = (initialState = INITIAL_STATE) => {
|
|
@@ -18,13 +18,13 @@ export const useAnimationState = (initialState = INITIAL_STATE) => {
|
|
|
18
18
|
(newState) => {
|
|
19
19
|
_setState((oldState) => ({ ...oldState, ...newState }));
|
|
20
20
|
},
|
|
21
|
-
[_setState]
|
|
21
|
+
[_setState],
|
|
22
22
|
);
|
|
23
23
|
|
|
24
24
|
// This is a copy of Wrapper.getAnimationProps
|
|
25
25
|
const getAnimationProps = React.useCallback(
|
|
26
26
|
(props, child, index) => {
|
|
27
|
-
if (!props
|
|
27
|
+
if (!props?.animate) {
|
|
28
28
|
return child.props.animate;
|
|
29
29
|
}
|
|
30
30
|
const getFilteredState = () => {
|
|
@@ -43,7 +43,7 @@ export const useAnimationState = (initialState = INITIAL_STATE) => {
|
|
|
43
43
|
const getTransitionProps = Transitions.getTransitionPropsFactory(
|
|
44
44
|
props,
|
|
45
45
|
filteredState,
|
|
46
|
-
(newState) => setState(newState)
|
|
46
|
+
(newState) => setState(newState),
|
|
47
47
|
);
|
|
48
48
|
getTransitions = (childComponent) =>
|
|
49
49
|
getTransitionProps(childComponent, index);
|
|
@@ -51,16 +51,16 @@ export const useAnimationState = (initialState = INITIAL_STATE) => {
|
|
|
51
51
|
return defaults(
|
|
52
52
|
{ getTransitions, parentState },
|
|
53
53
|
props.animate,
|
|
54
|
-
child.props.animate
|
|
54
|
+
child.props.animate,
|
|
55
55
|
);
|
|
56
56
|
},
|
|
57
|
-
[state, setState]
|
|
57
|
+
[state, setState],
|
|
58
58
|
);
|
|
59
59
|
|
|
60
60
|
// This is a copy of Wrapper.setAnimationState
|
|
61
61
|
const setAnimationState = React.useCallback(
|
|
62
62
|
(props, nextProps) => {
|
|
63
|
-
if (!props.animate) {
|
|
63
|
+
if (!props || !props.animate) {
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
66
|
if (props.animate.parentState) {
|
|
@@ -68,7 +68,7 @@ export const useAnimationState = (initialState = INITIAL_STATE) => {
|
|
|
68
68
|
const oldProps = nodesWillExit ? props : null;
|
|
69
69
|
const newState = defaults(
|
|
70
70
|
{ oldProps, nextProps },
|
|
71
|
-
props.animate.parentState
|
|
71
|
+
props.animate.parentState,
|
|
72
72
|
);
|
|
73
73
|
setState(newState);
|
|
74
74
|
} else {
|
|
@@ -91,7 +91,7 @@ export const useAnimationState = (initialState = INITIAL_STATE) => {
|
|
|
91
91
|
nodesWillExit,
|
|
92
92
|
nodesWillEnter,
|
|
93
93
|
childrenTransitions,
|
|
94
|
-
nodesShouldEnter
|
|
94
|
+
nodesShouldEnter,
|
|
95
95
|
} = Transitions.getInitialTransitionState(oldChildren, nextChildren);
|
|
96
96
|
|
|
97
97
|
setState({
|
|
@@ -103,11 +103,11 @@ export const useAnimationState = (initialState = INITIAL_STATE) => {
|
|
|
103
103
|
: childrenTransitions,
|
|
104
104
|
oldProps: nodesWillExit ? props : null,
|
|
105
105
|
nextProps,
|
|
106
|
-
continuous
|
|
106
|
+
continuous,
|
|
107
107
|
});
|
|
108
108
|
}
|
|
109
109
|
},
|
|
110
|
-
[setState]
|
|
110
|
+
[setState],
|
|
111
111
|
);
|
|
112
112
|
|
|
113
113
|
const getProps = React.useCallback(
|
|
@@ -116,7 +116,7 @@ export const useAnimationState = (initialState = INITIAL_STATE) => {
|
|
|
116
116
|
? state.oldProps || initialProps
|
|
117
117
|
: initialProps;
|
|
118
118
|
},
|
|
119
|
-
[state]
|
|
119
|
+
[state],
|
|
120
120
|
);
|
|
121
121
|
|
|
122
122
|
return { state, setState, getAnimationProps, setAnimationState, getProps };
|
|
@@ -1,39 +1,43 @@
|
|
|
1
|
+
import type { Iterable, Record, List, Map } from "immutable";
|
|
2
|
+
|
|
1
3
|
export const IMMUTABLE_ITERABLE = "@@__IMMUTABLE_ITERABLE__@@";
|
|
2
4
|
export const IMMUTABLE_RECORD = "@@__IMMUTABLE_RECORD__@@";
|
|
3
5
|
export const IMMUTABLE_LIST = "@@__IMMUTABLE_LIST__@@";
|
|
4
6
|
export const IMMUTABLE_MAP = "@@__IMMUTABLE_MAP__@@";
|
|
5
7
|
|
|
6
|
-
export function isIterable(x) {
|
|
8
|
+
export function isIterable(x): x is Iterable<unknown, unknown> {
|
|
7
9
|
return !!(x && x[IMMUTABLE_ITERABLE]);
|
|
8
10
|
}
|
|
9
11
|
|
|
10
|
-
export function isRecord(x) {
|
|
12
|
+
export function isRecord(x): x is Record<string, unknown> {
|
|
11
13
|
return !!(x && x[IMMUTABLE_RECORD]);
|
|
12
14
|
}
|
|
13
15
|
|
|
14
|
-
export function isImmutable(
|
|
16
|
+
export function isImmutable(
|
|
17
|
+
x,
|
|
18
|
+
): x is Iterable<unknown, unknown> | Record<string, unknown> {
|
|
15
19
|
return isIterable(x) || isRecord(x);
|
|
16
20
|
}
|
|
17
21
|
|
|
18
|
-
export function isList(x) {
|
|
22
|
+
export function isList(x): x is List<unknown> {
|
|
19
23
|
return !!(x && x[IMMUTABLE_LIST]);
|
|
20
24
|
}
|
|
21
25
|
|
|
22
|
-
export function isMap(x) {
|
|
26
|
+
export function isMap(x): x is Map<unknown, unknown> {
|
|
23
27
|
return !!(x && x[IMMUTABLE_MAP]);
|
|
24
28
|
}
|
|
25
29
|
|
|
26
|
-
export function shallowToJS(x, whitelist) {
|
|
30
|
+
export function shallowToJS(x, whitelist?: Record<string, boolean | unknown>) {
|
|
27
31
|
return isIterable(x)
|
|
28
32
|
? x.reduce(
|
|
29
|
-
(
|
|
33
|
+
(result: any, curr: any, key: any) => {
|
|
30
34
|
if (whitelist && whitelist[key]) {
|
|
31
35
|
curr = shallowToJS(curr);
|
|
32
36
|
}
|
|
33
|
-
|
|
34
|
-
return
|
|
37
|
+
result[key] = curr;
|
|
38
|
+
return result;
|
|
35
39
|
},
|
|
36
|
-
isList(x) ? [] : {}
|
|
40
|
+
isList(x) ? [] : {},
|
|
37
41
|
)
|
|
38
42
|
: x;
|
|
39
43
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export * from "./add-events";
|
|
2
|
+
export * as Axis from "./axis";
|
|
3
|
+
export * as Collection from "./collection";
|
|
4
|
+
export * from "./common-props";
|
|
5
|
+
export * as Data from "./data";
|
|
6
|
+
export * as DefaultTransitions from "./default-transitions";
|
|
7
|
+
export * as Domain from "./domain";
|
|
8
|
+
export * as Events from "./events";
|
|
9
|
+
export * as Helpers from "./helpers";
|
|
10
|
+
export * as Hooks from "./hooks";
|
|
11
|
+
export * as Immutable from "./immutable";
|
|
12
|
+
export * as LabelHelpers from "./label-helpers";
|
|
13
|
+
export * as LineHelpers from "./line-helpers";
|
|
14
|
+
export * as Log from "./log";
|
|
15
|
+
export * as PointPathHelpers from "./point-path-helpers";
|
|
16
|
+
export * as PropTypes from "./prop-types";
|
|
17
|
+
export * as Scale from "./scale";
|
|
18
|
+
export * as Selection from "./selection";
|
|
19
|
+
export type { SVGCoordinateType, SVGCoordinateBounds } from "./selection";
|
|
20
|
+
export * as Style from "./style";
|
|
21
|
+
export * as TextSize from "./textsize";
|
|
22
|
+
export type { TextSizeStyleInterface } from "./textsize";
|
|
23
|
+
export { default as Timer } from "./timer";
|
|
24
|
+
export { default as TimerContext } from "./timer-context";
|
|
25
|
+
export * as Transitions from "./transitions";
|
|
26
|
+
export * as UserProps from "./user-props";
|
|
27
|
+
export * as Wrapper from "./wrapper";
|
|
28
|
+
export * from "./with-container";
|
|
@@ -45,7 +45,7 @@ function getPadding(props, datum) {
|
|
|
45
45
|
const sign = datum._y < 0 ? -1 : 1;
|
|
46
46
|
return {
|
|
47
47
|
x: horizontal ? sign * defaultPadding : 0,
|
|
48
|
-
y: horizontal ? 0 : -1 * sign * defaultPadding
|
|
48
|
+
y: horizontal ? 0 : -1 * sign * defaultPadding,
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
51
|
|
|
@@ -57,7 +57,7 @@ function getOffset(props, datum) {
|
|
|
57
57
|
|
|
58
58
|
return {
|
|
59
59
|
dx: padding.x,
|
|
60
|
-
dy: padding.y
|
|
60
|
+
dy: padding.y,
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
63
|
|
|
@@ -70,7 +70,7 @@ function getPosition(props, datum) {
|
|
|
70
70
|
const polarPadding = getPolarPadding(props, datum);
|
|
71
71
|
return {
|
|
72
72
|
x: x + polarPadding.x,
|
|
73
|
-
y: y + polarPadding.y
|
|
73
|
+
y: y + polarPadding.y,
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
76
|
}
|
|
@@ -83,7 +83,7 @@ function getPolarPadding(props, datum) {
|
|
|
83
83
|
const angle = Helpers.degreesToRadians(degrees);
|
|
84
84
|
return {
|
|
85
85
|
x: padding * Math.cos(angle),
|
|
86
|
-
y: -padding * Math.sin(angle)
|
|
86
|
+
y: -padding * Math.sin(angle),
|
|
87
87
|
};
|
|
88
88
|
}
|
|
89
89
|
|
|
@@ -145,7 +145,7 @@ export function getPolarVerticalAnchor(props, degrees) {
|
|
|
145
145
|
return orientation === "top" ? "end" : "start";
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
export function getPolarAngle(props, baseAngle) {
|
|
148
|
+
export function getPolarAngle(props, baseAngle?) {
|
|
149
149
|
const { labelPlacement, datum } = props;
|
|
150
150
|
if (!labelPlacement || labelPlacement === "vertical") {
|
|
151
151
|
return 0;
|
|
@@ -181,7 +181,7 @@ export function getProps(props, index) {
|
|
|
181
181
|
height,
|
|
182
182
|
theme,
|
|
183
183
|
labelComponent,
|
|
184
|
-
disableInlineStyles
|
|
184
|
+
disableInlineStyles,
|
|
185
185
|
} = props;
|
|
186
186
|
const datum = data[index];
|
|
187
187
|
const degrees = getDegrees(props, datum);
|
|
@@ -215,7 +215,7 @@ export function getProps(props, index) {
|
|
|
215
215
|
dy,
|
|
216
216
|
width,
|
|
217
217
|
height,
|
|
218
|
-
style: style.labels
|
|
218
|
+
style: style.labels,
|
|
219
219
|
};
|
|
220
220
|
if (!Helpers.isTooltip(labelComponent)) {
|
|
221
221
|
return labelProps;
|