victory-core 36.4.1 → 36.5.2
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 +14463 -11478
- package/dist/victory-core.min.js +1 -1
- package/dist/victory-core.min.js.LICENSE.txt +19 -0
- package/es/index.d.ts +18 -941
- package/es/index.js +18 -73
- package/es/types/callbacks.d.ts +37 -0
- 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 +26 -0
- package/es/victory-accessible-group/victory-accessible-group.js +9 -16
- package/es/victory-animation/util.d.ts +67 -0
- package/es/victory-animation/util.js +7 -4
- package/es/victory-animation/victory-animation.d.ts +70 -0
- package/es/victory-animation/victory-animation.js +60 -67
- package/es/victory-clip-container/victory-clip-container.d.ts +77 -0
- package/es/victory-clip-container/victory-clip-container.js +16 -21
- package/es/victory-container/victory-container.d.ts +100 -0
- package/es/victory-container/victory-container.js +32 -31
- package/es/victory-label/victory-label.d.ts +62 -0
- package/es/victory-label/victory-label.js +14 -9
- package/es/victory-portal/portal-context.d.ts +12 -0
- package/es/victory-portal/portal-context.js +3 -3
- package/es/victory-portal/portal.d.ts +29 -0
- package/es/victory-portal/portal.js +26 -33
- package/es/victory-portal/victory-portal.d.ts +32 -0
- package/es/victory-portal/victory-portal.js +24 -22
- package/es/victory-primitives/arc.d.ts +50 -0
- package/es/victory-primitives/arc.js +4 -5
- package/es/victory-primitives/background.d.ts +51 -0
- package/es/victory-primitives/background.js +5 -6
- package/es/victory-primitives/border.d.ts +44 -0
- package/es/victory-primitives/border.js +4 -5
- package/es/victory-primitives/circle.d.ts +3 -0
- package/es/victory-primitives/circle.js +11 -7
- package/es/victory-primitives/clip-path.d.ts +15 -0
- package/es/victory-primitives/clip-path.js +6 -5
- package/es/victory-primitives/index.d.ts +15 -0
- package/es/victory-primitives/index.js +15 -0
- package/es/victory-primitives/line-segment.d.ts +46 -0
- package/es/victory-primitives/line-segment.js +4 -5
- package/es/victory-primitives/line.d.ts +3 -0
- package/es/victory-primitives/line.js +11 -7
- package/es/victory-primitives/path.d.ts +3 -0
- package/es/victory-primitives/path.js +9 -5
- package/es/victory-primitives/point.d.ts +49 -0
- package/es/victory-primitives/point.js +10 -19
- package/es/victory-primitives/rect.d.ts +3 -0
- package/es/victory-primitives/rect.js +11 -7
- package/es/victory-primitives/text.d.ts +17 -0
- package/es/victory-primitives/text.js +7 -5
- package/es/victory-primitives/tspan.d.ts +3 -0
- package/es/victory-primitives/tspan.js +7 -5
- package/es/victory-primitives/types.d.ts +8 -0
- package/es/victory-primitives/types.js +2 -0
- package/es/victory-primitives/whisker.d.ts +59 -0
- package/es/victory-primitives/whisker.js +4 -5
- 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 +3 -0
- package/es/victory-theme/grayscale.js +3 -2
- package/es/victory-theme/material.d.ts +3 -0
- package/es/victory-theme/material.js +3 -2
- package/es/victory-theme/types.d.ts +239 -0
- package/es/victory-theme/types.js +2 -0
- package/es/victory-theme/victory-theme.d.ts +6 -0
- package/es/victory-theme/victory-theme.js +8 -6
- package/es/victory-transition/victory-transition.d.ts +60 -0
- package/es/victory-transition/victory-transition.js +20 -23
- package/es/victory-util/add-events.d.ts +106 -0
- package/es/victory-util/add-events.js +44 -34
- package/es/victory-util/axis.d.ts +51 -0
- package/es/victory-util/axis.js +9 -8
- package/es/victory-util/collection.d.ts +9 -0
- package/es/victory-util/collection.js +6 -6
- 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 -3
- package/es/victory-util/default-transitions.d.ts +5 -0
- package/es/victory-util/default-transitions.js +2 -2
- package/es/victory-util/domain.d.ts +91 -0
- package/es/victory-util/domain.js +6 -4
- 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 -6
- 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 +2 -1
- 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 -5
- 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 -3
- 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 -2
- package/es/victory-util/point-path-helpers.d.ts +10 -0
- package/es/victory-util/point-path-helpers.js +60 -61
- 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 -0
- package/es/victory-util/selection.js +25 -16
- package/es/victory-util/style.d.ts +19 -0
- package/es/victory-util/style.js +2 -3
- package/es/victory-util/textsize.d.ts +37 -0
- package/es/victory-util/textsize.js +9 -6
- package/es/victory-util/timer-context.d.ts +12 -0
- package/es/victory-util/timer-context.js +2 -1
- package/es/victory-util/timer.d.ts +17 -0
- package/es/victory-util/timer.js +15 -9
- 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 +18 -941
- package/lib/index.js +224 -311
- package/lib/types/callbacks.d.ts +37 -0
- 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 +26 -0
- package/lib/victory-accessible-group/victory-accessible-group.js +10 -15
- package/lib/victory-animation/util.d.ts +67 -0
- package/lib/victory-animation/util.js +7 -4
- package/lib/victory-animation/victory-animation.d.ts +70 -0
- package/lib/victory-animation/victory-animation.js +61 -65
- package/lib/victory-clip-container/victory-clip-container.d.ts +77 -0
- package/lib/victory-clip-container/victory-clip-container.js +20 -22
- package/lib/victory-container/victory-container.d.ts +100 -0
- package/lib/victory-container/victory-container.js +35 -31
- package/lib/victory-label/victory-label.d.ts +62 -0
- package/lib/victory-label/victory-label.js +20 -14
- package/lib/victory-portal/portal-context.d.ts +12 -0
- package/lib/victory-portal/portal-context.js +3 -3
- package/lib/victory-portal/portal.d.ts +29 -0
- package/lib/victory-portal/portal.js +27 -31
- package/lib/victory-portal/victory-portal.d.ts +32 -0
- package/lib/victory-portal/victory-portal.js +25 -20
- package/lib/victory-primitives/arc.d.ts +50 -0
- package/lib/victory-primitives/arc.js +7 -7
- package/lib/victory-primitives/background.d.ts +51 -0
- package/lib/victory-primitives/background.js +9 -9
- package/lib/victory-primitives/border.d.ts +44 -0
- package/lib/victory-primitives/border.js +7 -7
- package/lib/victory-primitives/circle.d.ts +3 -0
- package/lib/victory-primitives/circle.js +12 -6
- package/lib/victory-primitives/clip-path.d.ts +15 -0
- package/lib/victory-primitives/clip-path.js +7 -4
- package/lib/victory-primitives/index.d.ts +15 -0
- package/lib/victory-primitives/index.js +188 -0
- package/lib/victory-primitives/line-segment.d.ts +46 -0
- package/lib/victory-primitives/line-segment.js +7 -7
- package/lib/victory-primitives/line.d.ts +3 -0
- package/lib/victory-primitives/line.js +12 -6
- package/lib/victory-primitives/path.d.ts +3 -0
- package/lib/victory-primitives/path.js +10 -4
- package/lib/victory-primitives/point.d.ts +49 -0
- package/lib/victory-primitives/point.js +15 -22
- package/lib/victory-primitives/rect.d.ts +3 -0
- package/lib/victory-primitives/rect.js +12 -6
- package/lib/victory-primitives/text.d.ts +17 -0
- package/lib/victory-primitives/text.js +8 -4
- package/lib/victory-primitives/tspan.d.ts +3 -0
- package/lib/victory-primitives/tspan.js +8 -4
- package/lib/victory-primitives/types.d.ts +8 -0
- package/lib/victory-primitives/types.js +2 -0
- package/lib/victory-primitives/whisker.d.ts +59 -0
- package/lib/victory-primitives/whisker.js +7 -7
- 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 +3 -0
- package/lib/victory-theme/grayscale.js +4 -3
- package/lib/victory-theme/material.d.ts +3 -0
- package/lib/victory-theme/material.js +4 -3
- package/lib/victory-theme/types.d.ts +239 -0
- package/lib/victory-theme/types.js +2 -0
- package/lib/victory-theme/victory-theme.d.ts +6 -0
- package/lib/victory-theme/victory-theme.js +23 -8
- package/lib/victory-transition/victory-transition.d.ts +60 -0
- package/lib/victory-transition/victory-transition.js +22 -23
- package/lib/victory-util/add-events.d.ts +106 -0
- package/lib/victory-util/add-events.js +48 -40
- 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 -6
- 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 -2
- 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 -6
- 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 +2 -1
- 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 -6
- 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 -3
- 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 -2
- package/lib/victory-util/point-path-helpers.d.ts +10 -0
- package/lib/victory-util/point-path-helpers.js +87 -73
- 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 -0
- package/lib/victory-util/selection.js +25 -21
- package/lib/victory-util/style.d.ts +19 -0
- package/lib/victory-util/style.js +2 -3
- package/lib/victory-util/textsize.d.ts +37 -0
- package/lib/victory-util/textsize.js +9 -6
- package/lib/victory-util/timer-context.d.ts +12 -0
- package/lib/victory-util/timer-context.js +2 -1
- package/lib/victory-util/timer.d.ts +17 -0
- package/lib/victory-util/timer.js +15 -9
- 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 +4 -4
- package/src/index.ts +17 -0
- package/src/types/callbacks.ts +53 -0
- package/src/types/prop-types.ts +195 -0
- package/src/victory-accessible-group/{victory-accessible-group.js → victory-accessible-group.tsx} +13 -6
- package/src/victory-animation/{util.js → util.ts} +6 -4
- package/src/victory-animation/{victory-animation.js → victory-animation.tsx} +100 -23
- package/src/victory-clip-container/{victory-clip-container.js → victory-clip-container.tsx} +52 -28
- package/src/victory-container/{victory-container.js → victory-container.tsx} +86 -42
- package/src/victory-label/{victory-label.js → victory-label.tsx} +108 -49
- package/src/victory-portal/portal-context.ts +14 -0
- package/src/victory-portal/{portal.js → portal.tsx} +24 -13
- package/src/victory-portal/{victory-portal.js → victory-portal.tsx} +24 -9
- package/src/victory-primitives/{arc.js → arc.tsx} +22 -10
- package/src/victory-primitives/{background.js → background.tsx} +24 -12
- package/src/victory-primitives/{border.js → border.tsx} +19 -10
- package/src/victory-primitives/{circle.js → circle.tsx} +4 -3
- package/src/victory-primitives/clip-path.tsx +25 -0
- package/src/victory-primitives/index.ts +14 -0
- package/src/victory-primitives/{line-segment.js → line-segment.tsx} +20 -10
- package/src/victory-primitives/{line.js → line.tsx} +4 -3
- package/src/victory-primitives/{path.js → path.tsx} +4 -3
- package/src/victory-primitives/{point.js → point.tsx} +33 -26
- package/src/victory-primitives/{rect.js → rect.tsx} +4 -2
- package/src/victory-primitives/{text.js → text.tsx} +10 -4
- package/src/victory-primitives/tspan.tsx +7 -0
- package/src/victory-primitives/types.ts +19 -0
- package/src/victory-primitives/{whisker.js → whisker.tsx} +34 -19
- 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.js → grayscale.tsx} +63 -62
- package/src/victory-theme/{material.js → material.tsx} +68 -67
- package/src/victory-theme/types.ts +257 -0
- package/src/victory-theme/victory-theme.tsx +5 -0
- package/src/victory-transition/{victory-transition.js → victory-transition.tsx} +82 -33
- package/src/victory-util/{add-events.js → add-events.tsx} +142 -60
- package/src/victory-util/{axis.js → axis.tsx} +17 -19
- package/src/victory-util/{collection.js → collection.tsx} +14 -11
- package/src/victory-util/common-props.tsx +307 -0
- package/src/victory-util/{data.js → data.ts} +14 -11
- package/src/victory-util/{default-transitions.js → default-transitions.ts} +20 -19
- package/src/victory-util/{domain.js → domain.ts} +26 -24
- package/src/victory-util/{events.js → events.ts} +83 -32
- package/src/victory-util/{helpers.js → helpers.ts} +41 -23
- package/src/victory-util/hooks/{index.js → index.ts} +0 -0
- package/src/victory-util/hooks/use-animation-state.js +10 -10
- package/src/victory-util/hooks/use-previous-props.ts +9 -0
- package/src/victory-util/{immutable.js → immutable.ts} +14 -11
- package/src/victory-util/index.ts +28 -0
- package/src/victory-util/{label-helpers.js → label-helpers.ts} +7 -8
- package/src/victory-util/line-helpers.ts +104 -0
- package/src/victory-util/{log.js → log.ts} +1 -2
- package/src/victory-util/point-path-helpers.ts +119 -0
- package/src/victory-util/{prop-types.js → prop-types.ts} +103 -102
- package/src/victory-util/{scale.js → scale.ts} +29 -17
- package/src/victory-util/selection.ts +158 -0
- package/src/victory-util/{style.js → style.ts} +3 -4
- package/src/victory-util/{textsize.js → textsize.ts} +32 -17
- package/src/victory-util/{timer-context.js → timer-context.ts} +1 -1
- package/src/victory-util/{timer.js → timer.ts} +16 -6
- package/src/victory-util/{transitions.js → transitions.ts} +50 -23
- 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 -34
- package/src/index.d.ts +0 -941
- package/src/index.js +0 -51
- package/src/victory-portal/portal-context.js +0 -10
- package/src/victory-primitives/clip-path.js +0 -18
- package/src/victory-primitives/tspan.js +0 -5
- package/src/victory-theme/victory-theme.js +0 -7
- 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/point-path-helpers.js +0 -121
- package/src/victory-util/selection.js +0 -99
|
@@ -1,40 +1,43 @@
|
|
|
1
|
-
|
|
1
|
+
import type { Iterable, Record, List, Map } from "immutable";
|
|
2
|
+
|
|
2
3
|
export const IMMUTABLE_ITERABLE = "@@__IMMUTABLE_ITERABLE__@@";
|
|
3
4
|
export const IMMUTABLE_RECORD = "@@__IMMUTABLE_RECORD__@@";
|
|
4
5
|
export const IMMUTABLE_LIST = "@@__IMMUTABLE_LIST__@@";
|
|
5
6
|
export const IMMUTABLE_MAP = "@@__IMMUTABLE_MAP__@@";
|
|
6
7
|
|
|
7
|
-
export function isIterable(x) {
|
|
8
|
+
export function isIterable(x): x is Iterable<unknown, unknown> {
|
|
8
9
|
return !!(x && x[IMMUTABLE_ITERABLE]);
|
|
9
10
|
}
|
|
10
11
|
|
|
11
|
-
export function isRecord(x) {
|
|
12
|
+
export function isRecord(x): x is Record<string, unknown> {
|
|
12
13
|
return !!(x && x[IMMUTABLE_RECORD]);
|
|
13
14
|
}
|
|
14
15
|
|
|
15
|
-
export function isImmutable(
|
|
16
|
+
export function isImmutable(
|
|
17
|
+
x,
|
|
18
|
+
): x is Iterable<unknown, unknown> | Record<string, unknown> {
|
|
16
19
|
return isIterable(x) || isRecord(x);
|
|
17
20
|
}
|
|
18
21
|
|
|
19
|
-
export function isList(x) {
|
|
22
|
+
export function isList(x): x is List<unknown> {
|
|
20
23
|
return !!(x && x[IMMUTABLE_LIST]);
|
|
21
24
|
}
|
|
22
25
|
|
|
23
|
-
export function isMap(x) {
|
|
26
|
+
export function isMap(x): x is Map<unknown, unknown> {
|
|
24
27
|
return !!(x && x[IMMUTABLE_MAP]);
|
|
25
28
|
}
|
|
26
29
|
|
|
27
|
-
export function shallowToJS(x, whitelist) {
|
|
30
|
+
export function shallowToJS(x, whitelist?: Record<string, boolean | unknown>) {
|
|
28
31
|
return isIterable(x)
|
|
29
32
|
? x.reduce(
|
|
30
|
-
(
|
|
33
|
+
(result: any, curr: any, key: any) => {
|
|
31
34
|
if (whitelist && whitelist[key]) {
|
|
32
35
|
curr = shallowToJS(curr);
|
|
33
36
|
}
|
|
34
|
-
|
|
35
|
-
return
|
|
37
|
+
result[key] = curr;
|
|
38
|
+
return result;
|
|
36
39
|
},
|
|
37
|
-
isList(x) ? [] : {}
|
|
40
|
+
isList(x) ? [] : {},
|
|
38
41
|
)
|
|
39
42
|
: x;
|
|
40
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";
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* eslint-disable func-style */
|
|
2
1
|
/* eslint-disable no-use-before-define */
|
|
3
2
|
import * as Helpers from "./helpers";
|
|
4
3
|
import { defaults } from "lodash";
|
|
@@ -46,7 +45,7 @@ function getPadding(props, datum) {
|
|
|
46
45
|
const sign = datum._y < 0 ? -1 : 1;
|
|
47
46
|
return {
|
|
48
47
|
x: horizontal ? sign * defaultPadding : 0,
|
|
49
|
-
y: horizontal ? 0 : -1 * sign * defaultPadding
|
|
48
|
+
y: horizontal ? 0 : -1 * sign * defaultPadding,
|
|
50
49
|
};
|
|
51
50
|
}
|
|
52
51
|
|
|
@@ -58,7 +57,7 @@ function getOffset(props, datum) {
|
|
|
58
57
|
|
|
59
58
|
return {
|
|
60
59
|
dx: padding.x,
|
|
61
|
-
dy: padding.y
|
|
60
|
+
dy: padding.y,
|
|
62
61
|
};
|
|
63
62
|
}
|
|
64
63
|
|
|
@@ -71,7 +70,7 @@ function getPosition(props, datum) {
|
|
|
71
70
|
const polarPadding = getPolarPadding(props, datum);
|
|
72
71
|
return {
|
|
73
72
|
x: x + polarPadding.x,
|
|
74
|
-
y: y + polarPadding.y
|
|
73
|
+
y: y + polarPadding.y,
|
|
75
74
|
};
|
|
76
75
|
}
|
|
77
76
|
}
|
|
@@ -84,7 +83,7 @@ function getPolarPadding(props, datum) {
|
|
|
84
83
|
const angle = Helpers.degreesToRadians(degrees);
|
|
85
84
|
return {
|
|
86
85
|
x: padding * Math.cos(angle),
|
|
87
|
-
y: -padding * Math.sin(angle)
|
|
86
|
+
y: -padding * Math.sin(angle),
|
|
88
87
|
};
|
|
89
88
|
}
|
|
90
89
|
|
|
@@ -146,7 +145,7 @@ export function getPolarVerticalAnchor(props, degrees) {
|
|
|
146
145
|
return orientation === "top" ? "end" : "start";
|
|
147
146
|
}
|
|
148
147
|
|
|
149
|
-
export function getPolarAngle(props, baseAngle) {
|
|
148
|
+
export function getPolarAngle(props, baseAngle?) {
|
|
150
149
|
const { labelPlacement, datum } = props;
|
|
151
150
|
if (!labelPlacement || labelPlacement === "vertical") {
|
|
152
151
|
return 0;
|
|
@@ -182,7 +181,7 @@ export function getProps(props, index) {
|
|
|
182
181
|
height,
|
|
183
182
|
theme,
|
|
184
183
|
labelComponent,
|
|
185
|
-
disableInlineStyles
|
|
184
|
+
disableInlineStyles,
|
|
186
185
|
} = props;
|
|
187
186
|
const datum = data[index];
|
|
188
187
|
const degrees = getDegrees(props, datum);
|
|
@@ -216,7 +215,7 @@ export function getProps(props, index) {
|
|
|
216
215
|
dy,
|
|
217
216
|
width,
|
|
218
217
|
height,
|
|
219
|
-
style: style.labels
|
|
218
|
+
style: style.labels,
|
|
220
219
|
};
|
|
221
220
|
if (!Helpers.isTooltip(labelComponent)) {
|
|
222
221
|
return labelProps;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import * as d3Shape from "victory-vendor/d3-shape";
|
|
2
|
+
|
|
3
|
+
const defined = (d) => {
|
|
4
|
+
const y = d._y1 !== undefined ? d._y1 : d._y;
|
|
5
|
+
return y !== null && y !== undefined && d._y0 !== null;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
const getXAccessor = (scale) => {
|
|
9
|
+
return (d) => scale.x(d._x1 !== undefined ? d._x1 : d._x);
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const getYAccessor = (scale) => {
|
|
13
|
+
return (d) => scale.y(d._y1 !== undefined ? d._y1 : d._y);
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const getAngleAccessor = (scale) => {
|
|
17
|
+
return (d) => {
|
|
18
|
+
const x = scale.x(d._x1 !== undefined ? d._x1 : d._x);
|
|
19
|
+
return -1 * x + Math.PI / 2;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export type CurveName =
|
|
24
|
+
| "basis"
|
|
25
|
+
| "cardinal"
|
|
26
|
+
| "bumpX"
|
|
27
|
+
| "bumpY"
|
|
28
|
+
| "bundle"
|
|
29
|
+
| "catmullRom"
|
|
30
|
+
| "linear"
|
|
31
|
+
| "monotoneX"
|
|
32
|
+
| "monotoneY"
|
|
33
|
+
| "step"
|
|
34
|
+
| "stepAfter"
|
|
35
|
+
| "stepBefore"
|
|
36
|
+
| "natural";
|
|
37
|
+
|
|
38
|
+
type ShapeMethod = keyof Pick<
|
|
39
|
+
typeof d3Shape,
|
|
40
|
+
| "curveBasis"
|
|
41
|
+
| "curveCardinal"
|
|
42
|
+
| "curveBumpX"
|
|
43
|
+
| "curveBumpY"
|
|
44
|
+
| "curveBundle"
|
|
45
|
+
| "curveCatmullRom"
|
|
46
|
+
| "curveLinear"
|
|
47
|
+
| "curveMonotoneX"
|
|
48
|
+
| "curveMonotoneY"
|
|
49
|
+
| "curveStep"
|
|
50
|
+
| "curveStepAfter"
|
|
51
|
+
| "curveStepBefore"
|
|
52
|
+
| "curveNatural"
|
|
53
|
+
>;
|
|
54
|
+
type ShapeMethodClosed = keyof Pick<
|
|
55
|
+
typeof d3Shape,
|
|
56
|
+
| "curveBasisClosed"
|
|
57
|
+
| "curveCardinalClosed"
|
|
58
|
+
| "curveLinearClosed"
|
|
59
|
+
| "curveCatmullRomClosed"
|
|
60
|
+
>;
|
|
61
|
+
|
|
62
|
+
const toNewName = (interpolation: CurveName) => {
|
|
63
|
+
// d3 shape changed the naming scheme for interpolators from "basis" -> "curveBasis" etc.
|
|
64
|
+
const capitalize = (s) => s && s[0].toUpperCase() + s.slice(1);
|
|
65
|
+
return `curve${capitalize(interpolation)}` as ShapeMethod;
|
|
66
|
+
};
|
|
67
|
+
const toNewNameClosed = (interpolation: CurveName) => {
|
|
68
|
+
return `${toNewName(interpolation)}Closed` as ShapeMethodClosed;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export const getInterpolationFunction = (props) => {
|
|
72
|
+
const { interpolation } = props;
|
|
73
|
+
|
|
74
|
+
if (typeof interpolation === "function") {
|
|
75
|
+
return interpolation;
|
|
76
|
+
}
|
|
77
|
+
if (typeof interpolation === "string") {
|
|
78
|
+
const { polar, openCurve = !polar } = props;
|
|
79
|
+
const interpolationName = !openCurve
|
|
80
|
+
? toNewNameClosed(interpolation as CurveName)
|
|
81
|
+
: toNewName(interpolation as CurveName);
|
|
82
|
+
|
|
83
|
+
return d3Shape[interpolationName];
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return d3Shape.curveLinear;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export const getLineFunction = (props) => {
|
|
90
|
+
const { polar, scale, horizontal } = props;
|
|
91
|
+
return polar
|
|
92
|
+
? d3Shape
|
|
93
|
+
.lineRadial()
|
|
94
|
+
.defined(defined)
|
|
95
|
+
.curve(getInterpolationFunction(props))
|
|
96
|
+
.angle(getAngleAccessor(scale))
|
|
97
|
+
.radius(getYAccessor(scale))
|
|
98
|
+
: d3Shape
|
|
99
|
+
.line()
|
|
100
|
+
.defined(defined)
|
|
101
|
+
.curve(getInterpolationFunction(props))
|
|
102
|
+
.x(horizontal ? getYAccessor(scale) : getXAccessor(scale))
|
|
103
|
+
.y(horizontal ? getXAccessor(scale) : getYAccessor(scale));
|
|
104
|
+
};
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
/* eslint-disable no-console */
|
|
3
3
|
|
|
4
4
|
// TODO: Use "warning" npm module like React is switching to.
|
|
5
|
-
|
|
6
|
-
export function warn(message) {
|
|
5
|
+
export function warn(message: string) {
|
|
7
6
|
if (process.env.NODE_ENV !== "production") {
|
|
8
7
|
if (console && console.warn) {
|
|
9
8
|
console.warn(message);
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/*eslint no-magic-numbers: ["error", { "ignore": [0, 1, 2, 2.5, 3] }]*/
|
|
2
|
+
import { range } from "lodash";
|
|
3
|
+
|
|
4
|
+
export function circle(x: number, y: number, size: number) {
|
|
5
|
+
return `M ${x}, ${y}
|
|
6
|
+
m ${-size}, 0
|
|
7
|
+
a ${size}, ${size} 0 1,0 ${size * 2},0
|
|
8
|
+
a ${size}, ${size} 0 1,0 ${-size * 2},0`;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export function square(x: number, y: number, size: number) {
|
|
12
|
+
const baseSize = 0.87 * size; // eslint-disable-line no-magic-numbers
|
|
13
|
+
const x0 = x - baseSize;
|
|
14
|
+
const y1 = y + baseSize;
|
|
15
|
+
const distance = x + baseSize - x0;
|
|
16
|
+
return `M ${x0}, ${y1}
|
|
17
|
+
h${distance}
|
|
18
|
+
v-${distance}
|
|
19
|
+
h-${distance}
|
|
20
|
+
z`;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function diamond(x: number, y: number, size: number) {
|
|
24
|
+
const baseSize = 0.87 * size; // eslint-disable-line no-magic-numbers
|
|
25
|
+
const length = Math.sqrt(2 * (baseSize * baseSize));
|
|
26
|
+
return `M ${x}, ${y + length}
|
|
27
|
+
l ${length}, -${length}
|
|
28
|
+
l -${length}, -${length}
|
|
29
|
+
l -${length}, ${length}
|
|
30
|
+
l ${length}, ${length}
|
|
31
|
+
z`;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export function triangleDown(x: number, y: number, size: number) {
|
|
35
|
+
const height = (size / 2) * Math.sqrt(3);
|
|
36
|
+
const x0 = x - size;
|
|
37
|
+
const x1 = x + size;
|
|
38
|
+
const y0 = y - size;
|
|
39
|
+
const y1 = y + height;
|
|
40
|
+
return `M ${x0}, ${y0}
|
|
41
|
+
L ${x1}, ${y0}
|
|
42
|
+
L ${x}, ${y1}
|
|
43
|
+
z`;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function triangleUp(x: number, y: number, size: number) {
|
|
47
|
+
const height = (size / 2) * Math.sqrt(3);
|
|
48
|
+
const x0 = x - size;
|
|
49
|
+
const x1 = x + size;
|
|
50
|
+
const y0 = y - height;
|
|
51
|
+
const y1 = y + size;
|
|
52
|
+
return `M ${x0}, ${y1}
|
|
53
|
+
L ${x1}, ${y1}
|
|
54
|
+
L ${x}, ${y0}
|
|
55
|
+
z`;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export function plus(x: number, y: number, size: number) {
|
|
59
|
+
const baseSize = 1.1 * size; // eslint-disable-line no-magic-numbers
|
|
60
|
+
const distance = baseSize / 1.5; // eslint-disable-line no-magic-numbers
|
|
61
|
+
return `
|
|
62
|
+
M ${x - distance / 2}, ${y + baseSize}
|
|
63
|
+
v-${distance}
|
|
64
|
+
h-${distance}
|
|
65
|
+
v-${distance}
|
|
66
|
+
h${distance}
|
|
67
|
+
v-${distance}
|
|
68
|
+
h${distance}
|
|
69
|
+
v${distance}
|
|
70
|
+
h${distance}
|
|
71
|
+
v${distance}
|
|
72
|
+
h-${distance}
|
|
73
|
+
v${distance}
|
|
74
|
+
z`;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export function cross(x: number, y: number, size: number) {
|
|
78
|
+
const baseSize = 0.8 * size; // eslint-disable-line no-magic-numbers
|
|
79
|
+
const distance = baseSize / 1.5; // eslint-disable-line no-magic-numbers
|
|
80
|
+
return `
|
|
81
|
+
M ${x - distance / 2}, ${y + baseSize + distance}
|
|
82
|
+
v-${distance * 2}
|
|
83
|
+
h-${distance}
|
|
84
|
+
v-${distance}
|
|
85
|
+
h${distance}
|
|
86
|
+
v-${distance}
|
|
87
|
+
h${distance}
|
|
88
|
+
v${distance}
|
|
89
|
+
h${distance}
|
|
90
|
+
v${distance}
|
|
91
|
+
h-${distance}
|
|
92
|
+
v${distance * 2}
|
|
93
|
+
z`;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export function minus(x: number, y: number, size: number) {
|
|
97
|
+
const baseSize = 1.1 * size; // eslint-disable-line no-magic-numbers
|
|
98
|
+
const lineHeight = baseSize - baseSize * 0.3; // eslint-disable-line no-magic-numbers
|
|
99
|
+
const x0 = x - baseSize;
|
|
100
|
+
const y1 = y + lineHeight / 2;
|
|
101
|
+
const distance = x + baseSize - x0;
|
|
102
|
+
return `M ${x0}, ${y1}
|
|
103
|
+
h${distance}
|
|
104
|
+
v-${lineHeight}
|
|
105
|
+
h-${distance}
|
|
106
|
+
z`;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export function star(x: number, y: number, size: number) {
|
|
110
|
+
const baseSize = 1.35 * size; // eslint-disable-line no-magic-numbers
|
|
111
|
+
const angle = Math.PI / 5; // eslint-disable-line no-magic-numbers
|
|
112
|
+
// eslint-disable-next-line no-magic-numbers
|
|
113
|
+
const starCoords = range(10).map((index) => {
|
|
114
|
+
const length = index % 2 === 0 ? baseSize : baseSize / 2;
|
|
115
|
+
return `${length * Math.sin(angle * (index + 1)) + x},
|
|
116
|
+
${length * Math.cos(angle * (index + 1)) + y}`;
|
|
117
|
+
});
|
|
118
|
+
return `M ${starCoords.join("L")} z`;
|
|
119
|
+
}
|