@cloudscape-design/components 3.0.23 → 3.0.26
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/alert/styles.scoped.css +0 -34
- package/annotation-context/annotation/styles.scoped.css +0 -18
- package/app-layout/content-wrapper/styles.scoped.css +0 -4
- package/app-layout/mobile-toolbar/styles.scoped.css +0 -9
- package/app-layout/styles.scoped.css +0 -20
- package/app-layout/toggles/styles.scoped.css +0 -16
- package/app-layout/visual-refresh/styles.scoped.css +0 -71
- package/area-chart/styles.scoped.css +0 -13
- package/attribute-editor/styles.scoped.css +0 -23
- package/badge/styles.scoped.css +0 -15
- package/bar-chart/interfaces.d.ts +1 -1
- package/bar-chart/interfaces.d.ts.map +1 -1
- package/bar-chart/interfaces.js.map +1 -1
- package/box/styles.scoped.css +0 -171
- package/breadcrumb-group/item/styles.scoped.css +0 -11
- package/breadcrumb-group/styles.scoped.css +0 -10
- package/button/styles.scoped.css +0 -264
- package/button-dropdown/category-elements/styles.scoped.css +0 -26
- package/button-dropdown/item-element/styles.scoped.css +0 -22
- package/button-dropdown/mobile-expandable-group/styles.scoped.css +0 -5
- package/button-dropdown/styles.scoped.css +0 -7
- package/cards/styles.scoped.css +0 -45
- package/checkbox/styles.scoped.css +0 -11
- package/code-editor/styles.scoped.css +0 -87
- package/collection-preferences/styles.scoped.css +0 -12
- package/column-layout/styles.scoped.css +0 -12
- package/container/styles.scoped.css +0 -27
- package/date-picker/styles.scoped.css +0 -45
- package/date-range-picker/calendar/grids/day/styles.scoped.css +0 -45
- package/date-range-picker/index.d.ts.map +1 -1
- package/date-range-picker/index.js +13 -15
- package/date-range-picker/index.js.map +1 -1
- package/date-range-picker/relative-range/styles.scoped.css +0 -3
- package/date-range-picker/styles.css.js +41 -42
- package/date-range-picker/styles.scoped.css +49 -92
- package/date-range-picker/styles.selectors.js +41 -42
- package/expandable-section/styles.scoped.css +0 -33
- package/flashbar/styles.scoped.css +0 -36
- package/form/styles.scoped.css +0 -12
- package/form-field/styles.scoped.css +0 -26
- package/grid/styles.scoped.css +0 -6
- package/header/styles.scoped.css +0 -51
- package/help-panel/styles.scoped.css +0 -73
- package/hotspot/styles.scoped.css +0 -3
- package/icon/styles.scoped.css +0 -33
- package/input/styles.scoped.css +0 -49
- package/internal/base-component/styles.scoped.css +0 -1
- package/internal/components/abstract-switch/styles.scoped.css +0 -7
- package/internal/components/button-trigger/styles.scoped.css +0 -42
- package/internal/components/cartesian-chart/styles.scoped.css +0 -10
- package/internal/components/chart-filter/styles.scoped.css +0 -4
- package/internal/components/chart-legend/styles.scoped.css +0 -8
- package/internal/components/chart-plot/styles.scoped.css +0 -1
- package/internal/components/chart-popover/styles.scoped.css +0 -4
- package/internal/components/chart-series-details/styles.scoped.css +0 -12
- package/internal/components/chart-series-marker/styles.scoped.css +0 -7
- package/internal/components/chart-status-container/styles.scoped.css +0 -1
- package/internal/components/checkbox-icon/styles.scoped.css +0 -10
- package/internal/components/content-layout/styles.scoped.css +0 -5
- package/internal/components/dark-ribbon/styles.scoped.css +0 -1
- package/internal/components/dropdown/styles.scoped.css +0 -17
- package/internal/components/dropdown-footer/styles.scoped.css +0 -6
- package/internal/components/dropdown-status/styles.scoped.css +0 -6
- package/internal/components/filtering-token/styles.scoped.css +0 -21
- package/internal/components/menu-dropdown/styles.scoped.css +0 -17
- package/internal/components/option/styles.scoped.css +0 -16
- package/internal/components/options-list/styles.scoped.css +0 -5
- package/internal/components/selectable-item/styles.scoped.css +0 -44
- package/internal/environment.js +1 -1
- package/line-chart/interfaces.d.ts +1 -1
- package/line-chart/interfaces.d.ts.map +1 -1
- package/line-chart/interfaces.js.map +1 -1
- package/link/styles.scoped.css +0 -77
- package/mixed-line-bar-chart/bar-series.d.ts +1 -1
- package/mixed-line-bar-chart/bar-series.d.ts.map +1 -1
- package/mixed-line-bar-chart/bar-series.js.map +1 -1
- package/mixed-line-bar-chart/chart-container.d.ts.map +1 -1
- package/mixed-line-bar-chart/chart-container.js +9 -10
- package/mixed-line-bar-chart/chart-container.js.map +1 -1
- package/mixed-line-bar-chart/chart-filters.d.ts +2 -2
- package/mixed-line-bar-chart/chart-filters.d.ts.map +1 -1
- package/mixed-line-bar-chart/chart-filters.js +1 -2
- package/mixed-line-bar-chart/chart-filters.js.map +1 -1
- package/mixed-line-bar-chart/chart-legend.d.ts +2 -2
- package/mixed-line-bar-chart/chart-legend.d.ts.map +1 -1
- package/mixed-line-bar-chart/chart-legend.js +1 -2
- package/mixed-line-bar-chart/chart-legend.js.map +1 -1
- package/mixed-line-bar-chart/domain.d.ts +4 -0
- package/mixed-line-bar-chart/domain.d.ts.map +1 -0
- package/mixed-line-bar-chart/domain.js +138 -0
- package/mixed-line-bar-chart/domain.js.map +1 -0
- package/mixed-line-bar-chart/format-highlighted.d.ts +2 -4
- package/mixed-line-bar-chart/format-highlighted.d.ts.map +1 -1
- package/mixed-line-bar-chart/format-highlighted.js +26 -15
- package/mixed-line-bar-chart/format-highlighted.js.map +1 -1
- package/mixed-line-bar-chart/hooks/use-mouse-hover.d.ts.map +1 -1
- package/mixed-line-bar-chart/hooks/use-mouse-hover.js +3 -2
- package/mixed-line-bar-chart/hooks/use-mouse-hover.js.map +1 -1
- package/mixed-line-bar-chart/hooks/use-navigation.d.ts.map +1 -1
- package/mixed-line-bar-chart/hooks/use-navigation.js +23 -35
- package/mixed-line-bar-chart/hooks/use-navigation.js.map +1 -1
- package/mixed-line-bar-chart/interfaces.d.ts +12 -2
- package/mixed-line-bar-chart/interfaces.d.ts.map +1 -1
- package/mixed-line-bar-chart/interfaces.js.map +1 -1
- package/mixed-line-bar-chart/internal.d.ts.map +1 -1
- package/mixed-line-bar-chart/internal.js +14 -6
- package/mixed-line-bar-chart/internal.js.map +1 -1
- package/mixed-line-bar-chart/line-series.d.ts +2 -2
- package/mixed-line-bar-chart/line-series.d.ts.map +1 -1
- package/mixed-line-bar-chart/line-series.js +21 -9
- package/mixed-line-bar-chart/line-series.js.map +1 -1
- package/mixed-line-bar-chart/make-scaled-bar-groups.d.ts.map +1 -1
- package/mixed-line-bar-chart/make-scaled-bar-groups.js +11 -4
- package/mixed-line-bar-chart/make-scaled-bar-groups.js.map +1 -1
- package/mixed-line-bar-chart/make-scaled-series.d.ts +2 -4
- package/mixed-line-bar-chart/make-scaled-series.d.ts.map +1 -1
- package/mixed-line-bar-chart/make-scaled-series.js +89 -25
- package/mixed-line-bar-chart/make-scaled-series.js.map +1 -1
- package/mixed-line-bar-chart/styles.scoped.css +0 -13
- package/mixed-line-bar-chart/utils.d.ts +5 -6
- package/mixed-line-bar-chart/utils.d.ts.map +1 -1
- package/mixed-line-bar-chart/utils.js +11 -112
- package/mixed-line-bar-chart/utils.js.map +1 -1
- package/modal/styles.scoped.css +0 -31
- package/multiselect/styles.scoped.css +0 -4
- package/package.json +1 -1
- package/pagination/styles.scoped.css +0 -22
- package/pie-chart/styles.scoped.css +0 -25
- package/popover/styles.scoped.css +0 -35
- package/progress-bar/styles.scoped.css +0 -25
- package/property-filter/styles.scoped.css +0 -22
- package/radio-group/styles.scoped.css +0 -22
- package/s3-resource-selector/s3-in-context/styles.scoped.css +0 -6
- package/segmented-control/styles.scoped.css +0 -36
- package/select/parts/styles.scoped.css +0 -6
- package/select/styles.scoped.css +0 -4
- package/side-navigation/styles.scoped.css +0 -38
- package/space-between/styles.scoped.css +0 -40
- package/spinner/styles.scoped.css +0 -17
- package/split-panel/styles.scoped.css +0 -65
- package/status-indicator/styles.scoped.css +0 -20
- package/table/body-cell/styles.scoped.css +0 -29
- package/table/header-cell/styles.scoped.css +0 -32
- package/table/resizer/styles.scoped.css +0 -6
- package/table/selection-control/styles.scoped.css +0 -3
- package/table/styles.scoped.css +0 -39
- package/table/use-selection.d.ts.map +1 -1
- package/table/use-selection.js +5 -5
- package/table/use-selection.js.map +1 -1
- package/tabs/styles.scoped.css +0 -41
- package/tag-editor/styles.scoped.css +0 -12
- package/text-content/styles.scoped.css +0 -54
- package/text-filter/styles.scoped.css +0 -7
- package/textarea/styles.scoped.css +0 -30
- package/tiles/styles.scoped.css +0 -55
- package/toggle/styles.scoped.css +0 -14
- package/token-group/styles.scoped.css +0 -35
- package/top-navigation/1.0-beta/styles.scoped.css +0 -40
- package/top-navigation/styles.scoped.css +0 -75
- package/tutorial-panel/components/tutorial-detail-view/styles.scoped.css +0 -22
- package/tutorial-panel/components/tutorial-list/styles.scoped.css +0 -24
- package/tutorial-panel/styles.scoped.css +0 -5
- package/wizard/styles.scoped.css +0 -54
|
@@ -8,6 +8,6 @@ interface InternalChartFiltersProps<T extends ChartDataTypes> {
|
|
|
8
8
|
hideFilter?: boolean;
|
|
9
9
|
additionalFilters?: React.ReactNode;
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
export
|
|
11
|
+
export default function InternalChartFilters<T extends number | string | Date>({ series, visibleSeries, onChange, i18nStrings, hideFilter, additionalFilters, }: InternalChartFiltersProps<T>): JSX.Element;
|
|
12
|
+
export {};
|
|
13
13
|
//# sourceMappingURL=chart-filters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-filters.d.ts","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/chart-filters.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAMvC,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAI3F,UAAU,yBAAyB,CAAC,CAAC,SAAS,cAAc;IAC1D,MAAM,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,aAAa,EAAE,aAAa,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,QAAQ,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACzF,WAAW,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACtD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACrC;AAED,
|
|
1
|
+
{"version":3,"file":"chart-filters.d.ts","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/chart-filters.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAMvC,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAI3F,UAAU,yBAAyB,CAAC,CAAC,SAAS,cAAc;IAC1D,MAAM,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,aAAa,EAAE,aAAa,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,QAAQ,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACzF,WAAW,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACtD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACrC;AAED,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,EAC7E,MAAM,EACN,aAAa,EACb,QAAQ,EACR,WAAW,EACX,UAAU,EACV,iBAAiB,GAClB,EAAE,yBAAyB,CAAC,CAAC,CAAC,eA0B9B"}
|
|
@@ -6,7 +6,7 @@ import InternalSpaceBetween from '../space-between/internal';
|
|
|
6
6
|
import Filter from '../internal/components/chart-filter';
|
|
7
7
|
import { chartLegendMap } from './utils';
|
|
8
8
|
import styles from './styles.css.js';
|
|
9
|
-
function InternalChartFilters(_a) {
|
|
9
|
+
export default function InternalChartFilters(_a) {
|
|
10
10
|
var _b;
|
|
11
11
|
var series = _a.series, visibleSeries = _a.visibleSeries, onChange = _a.onChange, i18nStrings = _a.i18nStrings, hideFilter = _a.hideFilter, additionalFilters = _a.additionalFilters;
|
|
12
12
|
var filterItems = useMemo(function () {
|
|
@@ -26,5 +26,4 @@ function InternalChartFilters(_a) {
|
|
|
26
26
|
!hideFilter && (React.createElement(Filter, { series: filterItems, onChange: onChange, selectedSeries: visibleSeries, i18nStrings: i18nStrings })),
|
|
27
27
|
additionalFilters));
|
|
28
28
|
}
|
|
29
|
-
export default InternalChartFilters;
|
|
30
29
|
//# sourceMappingURL=chart-filters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-filters.js","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/chart-filters.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAC7D,OAAO,MAA4B,MAAM,qCAAqC,CAAC;AAG/E,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAWrC,
|
|
1
|
+
{"version":3,"file":"chart-filters.js","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/chart-filters.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAC7D,OAAO,MAA4B,MAAM,qCAAqC,CAAC;AAG/E,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAWrC,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAmC,EAOhD;;QAN7B,MAAM,YAAA,EACN,aAAa,mBAAA,EACb,QAAQ,cAAA,EACR,WAAW,iBAAA,EACX,UAAU,gBAAA,EACV,iBAAiB,uBAAA;IAEjB,IAAM,WAAW,GAAsE,OAAO,CAC5F;QACE,OAAA,MAAM,CAAC,GAAG,CAAC,UAAC,EAAiB;gBAAf,MAAM,YAAA,EAAE,KAAK,WAAA;YAAO,OAAA,CAAC;gBACjC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjC,KAAK,OAAA;gBACL,KAAK,EAAE,MAAM;aACd,CAAC;QALgC,CAKhC,CAAC;IALH,CAKG,EACL,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,OAAO,CACL,oBAAC,oBAAoB,IACnB,IAAI,EAAC,GAAG,EACR,SAAS,EAAC,YAAY,EACtB,SAAS,EAAE,IAAI;YACb,GAAC,MAAM,CAAC,oBAAoB,CAAC,IAAG,CAAC,UAAU;gBAC3C;QAED,CAAC,UAAU,IAAI,CACd,oBAAC,MAAM,IAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,GAAI,CAC7G;QACA,iBAAiB,CACG,CACxB,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useMemo } from 'react';\nimport clsx from 'clsx';\n\nimport InternalSpaceBetween from '../space-between/internal';\nimport Filter, { ChartFilterProps } from '../internal/components/chart-filter';\n\nimport { ChartDataTypes, MixedLineBarChartProps, InternalChartSeries } from './interfaces';\nimport { chartLegendMap } from './utils';\nimport styles from './styles.css.js';\n\ninterface InternalChartFiltersProps<T extends ChartDataTypes> {\n series: ReadonlyArray<InternalChartSeries<T>>;\n visibleSeries: ReadonlyArray<MixedLineBarChartProps.ChartSeries<T>>;\n onChange: (selectedSeries: ReadonlyArray<MixedLineBarChartProps.ChartSeries<T>>) => void;\n i18nStrings: MixedLineBarChartProps<T>['i18nStrings'];\n hideFilter?: boolean;\n additionalFilters?: React.ReactNode;\n}\n\nexport default function InternalChartFilters<T extends number | string | Date>({\n series,\n visibleSeries,\n onChange,\n i18nStrings,\n hideFilter,\n additionalFilters,\n}: InternalChartFiltersProps<T>) {\n const filterItems: ChartFilterProps<MixedLineBarChartProps.ChartSeries<T>>['series'] = useMemo(\n () =>\n series.map(({ series, color }) => ({\n label: series.title,\n type: chartLegendMap[series.type],\n color,\n datum: series,\n })),\n [series]\n );\n\n return (\n <InternalSpaceBetween\n size=\"l\"\n direction=\"horizontal\"\n className={clsx({\n [styles['has-default-filter']]: !hideFilter,\n })}\n >\n {!hideFilter && (\n <Filter series={filterItems} onChange={onChange} selectedSeries={visibleSeries} i18nStrings={i18nStrings} />\n )}\n {additionalFilters}\n </InternalSpaceBetween>\n );\n}\n"]}
|
|
@@ -9,6 +9,6 @@ interface InternalChartLegendProps<T extends ChartDataTypes> {
|
|
|
9
9
|
legendTitle?: string;
|
|
10
10
|
ariaLabel?: string;
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
export
|
|
12
|
+
export default function InternalChartLegend<T extends number | string | Date>({ series, visibleSeries, highlightedSeries, onHighlightChange, legendTitle, ariaLabel, plotContainerRef, }: InternalChartLegendProps<T>): JSX.Element;
|
|
13
|
+
export {};
|
|
14
14
|
//# sourceMappingURL=chart-legend.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-legend.d.ts","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/chart-legend.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAKvC,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAG3F,UAAU,wBAAwB,CAAC,CAAC,SAAS,cAAc;IACzD,MAAM,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,aAAa,EAAE,aAAa,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAClD,iBAAiB,CAAC,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACjE,iBAAiB,EAAE,CAAC,MAAM,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,
|
|
1
|
+
{"version":3,"file":"chart-legend.d.ts","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/chart-legend.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAKvC,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAG3F,UAAU,wBAAwB,CAAC,CAAC,SAAS,cAAc;IACzD,MAAM,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,aAAa,EAAE,aAAa,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAClD,iBAAiB,CAAC,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACjE,iBAAiB,EAAE,CAAC,MAAM,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,EAC5E,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,SAAS,EACT,gBAAgB,GACjB,EAAE,wBAAwB,CAAC,CAAC,CAAC,eAsB7B"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import React, { useMemo } from 'react';
|
|
4
4
|
import ChartLegend from '../internal/components/chart-legend';
|
|
5
5
|
import { chartLegendMap } from './utils';
|
|
6
|
-
function InternalChartLegend(_a) {
|
|
6
|
+
export default function InternalChartLegend(_a) {
|
|
7
7
|
var series = _a.series, visibleSeries = _a.visibleSeries, highlightedSeries = _a.highlightedSeries, onHighlightChange = _a.onHighlightChange, legendTitle = _a.legendTitle, ariaLabel = _a.ariaLabel, plotContainerRef = _a.plotContainerRef;
|
|
8
8
|
var legendItems = useMemo(function () {
|
|
9
9
|
return series
|
|
@@ -20,5 +20,4 @@ function InternalChartLegend(_a) {
|
|
|
20
20
|
}, [series, visibleSeries]);
|
|
21
21
|
return (React.createElement(ChartLegend, { series: legendItems, highlightedSeries: highlightedSeries || null, onHighlightChange: onHighlightChange, legendTitle: legendTitle, ariaLabel: ariaLabel, plotContainerRef: plotContainerRef }));
|
|
22
22
|
}
|
|
23
|
-
export default InternalChartLegend;
|
|
24
23
|
//# sourceMappingURL=chart-legend.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-legend.js","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/chart-legend.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,WAAW,MAAM,qCAAqC,CAAC;AAI9D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAYzC,
|
|
1
|
+
{"version":3,"file":"chart-legend.js","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/chart-legend.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,WAAW,MAAM,qCAAqC,CAAC;AAI9D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAYzC,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAmC,EAQhD;QAP5B,MAAM,YAAA,EACN,aAAa,mBAAA,EACb,iBAAiB,uBAAA,EACjB,iBAAiB,uBAAA,EACjB,WAAW,iBAAA,EACX,SAAS,eAAA,EACT,gBAAgB,sBAAA;IAEhB,IAAM,WAAW,GAAsE,OAAO,CAAC;QAC7F,OAAO,MAAM;aACV,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAtC,CAAsC,CAAC;aACnD,GAAG,CAAC,UAAC,EAAiB;gBAAf,MAAM,YAAA,EAAE,KAAK,WAAA;YAAO,OAAA,CAAC;gBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjC,KAAK,OAAA;gBACL,KAAK,EAAE,MAAM;aACd,CAAC;QAL0B,CAK1B,CAAC,CAAC;IACR,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IAE5B,OAAO,CACL,oBAAC,WAAW,IACV,MAAM,EAAE,WAAW,EACnB,iBAAiB,EAAE,iBAAiB,IAAI,IAAI,EAC5C,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB,GAClC,CACH,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useMemo } from 'react';\n\nimport ChartLegend from '../internal/components/chart-legend';\nimport { ChartFilterProps } from '../internal/components/chart-filter';\n\nimport { ChartDataTypes, MixedLineBarChartProps, InternalChartSeries } from './interfaces';\nimport { chartLegendMap } from './utils';\n\ninterface InternalChartLegendProps<T extends ChartDataTypes> {\n series: ReadonlyArray<InternalChartSeries<T>>;\n visibleSeries: ReadonlyArray<MixedLineBarChartProps.ChartSeries<T>>;\n plotContainerRef: React.RefObject<HTMLDivElement>;\n highlightedSeries?: MixedLineBarChartProps.ChartSeries<T> | null;\n onHighlightChange: (series: MixedLineBarChartProps.ChartSeries<T> | null) => void;\n legendTitle?: string;\n ariaLabel?: string;\n}\n\nexport default function InternalChartLegend<T extends number | string | Date>({\n series,\n visibleSeries,\n highlightedSeries,\n onHighlightChange,\n legendTitle,\n ariaLabel,\n plotContainerRef,\n}: InternalChartLegendProps<T>) {\n const legendItems: ChartFilterProps<MixedLineBarChartProps.ChartSeries<T>>['series'] = useMemo(() => {\n return series\n .filter(s => visibleSeries.indexOf(s.series) !== -1)\n .map(({ series, color }) => ({\n label: series.title,\n type: chartLegendMap[series.type],\n color,\n datum: series,\n }));\n }, [series, visibleSeries]);\n\n return (\n <ChartLegend<MixedLineBarChartProps.ChartSeries<T>>\n series={legendItems}\n highlightedSeries={highlightedSeries || null}\n onHighlightChange={onHighlightChange}\n legendTitle={legendTitle}\n ariaLabel={ariaLabel}\n plotContainerRef={plotContainerRef}\n />\n );\n}\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { InternalChartSeries, ScaleType } from './interfaces';
|
|
2
|
+
export declare function computeDomainX<T>(series: readonly InternalChartSeries<T>[], xScaleType: ScaleType): T[];
|
|
3
|
+
export declare function computeDomainY<T>(series: readonly InternalChartSeries<T>[], scaleType: 'linear' | 'log', stackedBars: boolean): number[];
|
|
4
|
+
//# sourceMappingURL=domain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/domain.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAA0B,SAAS,EAAE,MAAM,cAAc,CAAC;AAGtF,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS,OA4CjG;AAYD,wBAAgB,cAAc,CAAC,CAAC,EAC9B,MAAM,EAAE,SAAS,mBAAmB,CAAC,CAAC,CAAC,EAAE,EACzC,SAAS,EAAE,QAAQ,GAAG,KAAK,EAC3B,WAAW,EAAE,OAAO,YA0FrB"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import { __spreadArray } from "tslib";
|
|
4
|
+
import { isDataSeries, isXThreshold, isYThreshold, matchesX } from './utils';
|
|
5
|
+
export function computeDomainX(series, xScaleType) {
|
|
6
|
+
if (xScaleType === 'categorical') {
|
|
7
|
+
return series.reduce(function (acc, s) {
|
|
8
|
+
if (isDataSeries(s.series)) {
|
|
9
|
+
s.series.data.forEach(function (_a) {
|
|
10
|
+
var x = _a.x;
|
|
11
|
+
if (acc.indexOf(x) === -1) {
|
|
12
|
+
acc.push(x);
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
if (isXThreshold(s.series)) {
|
|
17
|
+
if (acc.indexOf(s.series.x) === -1) {
|
|
18
|
+
acc.push(s.series.x);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return acc;
|
|
22
|
+
}, []);
|
|
23
|
+
}
|
|
24
|
+
return series.reduce(function (acc, curr) {
|
|
25
|
+
// Y-thresholds don't have X value.
|
|
26
|
+
if (isYThreshold(curr.series)) {
|
|
27
|
+
return acc;
|
|
28
|
+
}
|
|
29
|
+
// Compare x-threshold X with current min, max.
|
|
30
|
+
if (isXThreshold(curr.series)) {
|
|
31
|
+
var min = acc[0], max = acc[1];
|
|
32
|
+
var newMin = min === undefined || curr.series.x < min ? curr.series.x : min;
|
|
33
|
+
var newMax = max === undefined || max < curr.series.x ? curr.series.x : max;
|
|
34
|
+
return [newMin, newMax];
|
|
35
|
+
}
|
|
36
|
+
// Compare all series X values with current min, max.
|
|
37
|
+
if (isDataSeries(curr.series)) {
|
|
38
|
+
return curr.series.data.reduce(function (_a, _b) {
|
|
39
|
+
var min = _a[0], max = _a[1];
|
|
40
|
+
var x = _b.x;
|
|
41
|
+
var newMin = min === undefined || x < min ? x : min;
|
|
42
|
+
var newMax = max === undefined || max < x ? x : max;
|
|
43
|
+
return [newMin, newMax];
|
|
44
|
+
}, acc);
|
|
45
|
+
}
|
|
46
|
+
return acc;
|
|
47
|
+
}, []);
|
|
48
|
+
}
|
|
49
|
+
function find(arr, func) {
|
|
50
|
+
for (var i = 0; i < arr.length; i++) {
|
|
51
|
+
var found = func(arr[i]);
|
|
52
|
+
if (found) {
|
|
53
|
+
return arr[i];
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
export function computeDomainY(series, scaleType, stackedBars) {
|
|
59
|
+
var _series = series;
|
|
60
|
+
// For stacked bars, we need to accumulate all the bar series into a positive and a negative series
|
|
61
|
+
if (stackedBars) {
|
|
62
|
+
var _a = series.reduce(function (acc, curr) {
|
|
63
|
+
if (curr.series.type === 'bar') {
|
|
64
|
+
curr.series.data.forEach(function (_a) {
|
|
65
|
+
var x = _a.x, y = _a.y;
|
|
66
|
+
var data = y < 0 ? acc.negativeData : acc.positiveData;
|
|
67
|
+
var stackedDatum = find(data, function (el) { return matchesX(el.x, x); });
|
|
68
|
+
if (stackedDatum) {
|
|
69
|
+
stackedDatum.y += y;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
data.push({ x: x, y: y });
|
|
73
|
+
}
|
|
74
|
+
return acc;
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
return acc;
|
|
78
|
+
}, {
|
|
79
|
+
positiveData: [],
|
|
80
|
+
negativeData: []
|
|
81
|
+
}), positiveData = _a.positiveData, negativeData = _a.negativeData;
|
|
82
|
+
// Artificial series with the sum of all bars when stacked
|
|
83
|
+
var stackedSeries = [
|
|
84
|
+
{
|
|
85
|
+
color: '',
|
|
86
|
+
index: NaN,
|
|
87
|
+
series: {
|
|
88
|
+
type: 'bar',
|
|
89
|
+
title: 'positive',
|
|
90
|
+
data: positiveData
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
color: '',
|
|
95
|
+
index: NaN,
|
|
96
|
+
series: {
|
|
97
|
+
type: 'bar',
|
|
98
|
+
title: 'negative',
|
|
99
|
+
data: negativeData
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
];
|
|
103
|
+
// MixedLineBarChart can also contain other non-bar series,
|
|
104
|
+
// so we replace all bars with the artificial bar series
|
|
105
|
+
// Then proceed to compute range with it and the remaining (non-bar) series
|
|
106
|
+
_series = __spreadArray(__spreadArray([], stackedSeries, true), _series.filter(function (s) { return s.series.type !== 'bar'; }), true);
|
|
107
|
+
}
|
|
108
|
+
var domain = _series.reduce(function (acc, curr) {
|
|
109
|
+
// Compare threshold Y value with current min, max.
|
|
110
|
+
if (isYThreshold(curr.series)) {
|
|
111
|
+
var min = acc[0], max = acc[1];
|
|
112
|
+
var newMin = min === undefined || curr.series.y < min ? curr.series.y : min;
|
|
113
|
+
var newMax = max === undefined || max < curr.series.y ? curr.series.y : max;
|
|
114
|
+
return [newMin, newMax];
|
|
115
|
+
}
|
|
116
|
+
// X-thresholds don't have Y value.
|
|
117
|
+
if (isXThreshold(curr.series)) {
|
|
118
|
+
return acc;
|
|
119
|
+
}
|
|
120
|
+
// Compare all series Y values with current min, max.
|
|
121
|
+
if (isDataSeries(curr.series)) {
|
|
122
|
+
return curr.series.data.reduce(function (_a, _b) {
|
|
123
|
+
var min = _a[0], max = _a[1];
|
|
124
|
+
var y = _b.y;
|
|
125
|
+
var newMin = min === undefined || y < min ? y : min;
|
|
126
|
+
var newMax = max === undefined || max < y ? y : max;
|
|
127
|
+
return [newMin, newMax];
|
|
128
|
+
}, acc);
|
|
129
|
+
}
|
|
130
|
+
return acc;
|
|
131
|
+
}, [0, 0]);
|
|
132
|
+
// Log scales can't start from 0, so if possible, start from 1.
|
|
133
|
+
if (scaleType === 'log' && domain[0] === 0 && domain[1] > 1) {
|
|
134
|
+
return [1, domain[1]];
|
|
135
|
+
}
|
|
136
|
+
return domain;
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=domain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain.js","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/domain.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { InternalChartSeries, MixedLineBarChartProps, ScaleType } from './interfaces';\nimport { isDataSeries, isXThreshold, isYThreshold, matchesX } from './utils';\n\nexport function computeDomainX<T>(series: readonly InternalChartSeries<T>[], xScaleType: ScaleType) {\n if (xScaleType === 'categorical') {\n return series.reduce((acc, s) => {\n if (isDataSeries(s.series)) {\n s.series.data.forEach(({ x }) => {\n if (acc.indexOf(x) === -1) {\n acc.push(x);\n }\n });\n }\n if (isXThreshold(s.series)) {\n if (acc.indexOf(s.series.x) === -1) {\n acc.push(s.series.x);\n }\n }\n return acc;\n }, [] as T[]);\n }\n\n return series.reduce((acc, curr) => {\n // Y-thresholds don't have X value.\n if (isYThreshold(curr.series)) {\n return acc;\n }\n\n // Compare x-threshold X with current min, max.\n if (isXThreshold(curr.series)) {\n const [min, max] = acc;\n const newMin = min === undefined || curr.series.x < min ? curr.series.x : min;\n const newMax = max === undefined || max < curr.series.x ? curr.series.x : max;\n return [newMin, newMax] as T[];\n }\n\n // Compare all series X values with current min, max.\n if (isDataSeries(curr.series)) {\n return curr.series.data.reduce(([min, max], { x }) => {\n const newMin = min === undefined || x < min ? x : min;\n const newMax = max === undefined || max < x ? x : max;\n return [newMin, newMax] as T[];\n }, acc);\n }\n\n return acc;\n }, [] as T[]);\n}\n\nfunction find<Q>(arr: readonly Q[], func: (el: Q) => boolean) {\n for (let i = 0; i < arr.length; i++) {\n const found = func(arr[i]);\n if (found) {\n return arr[i];\n }\n }\n return null;\n}\n\nexport function computeDomainY<T>(\n series: readonly InternalChartSeries<T>[],\n scaleType: 'linear' | 'log',\n stackedBars: boolean\n) {\n let _series = series;\n\n // For stacked bars, we need to accumulate all the bar series into a positive and a negative series\n if (stackedBars) {\n const { positiveData, negativeData } = series.reduce(\n (acc, curr) => {\n if (curr.series.type === 'bar') {\n curr.series.data.forEach(({ x, y }) => {\n const data = y < 0 ? acc.negativeData : acc.positiveData;\n const stackedDatum = find(data, el => matchesX(el.x, x));\n if (stackedDatum) {\n stackedDatum.y += y;\n } else {\n data.push({ x, y });\n }\n return acc;\n });\n }\n return acc;\n },\n {\n positiveData: [] as MixedLineBarChartProps.Datum<T>[],\n negativeData: [] as MixedLineBarChartProps.Datum<T>[],\n }\n );\n\n // Artificial series with the sum of all bars when stacked\n const stackedSeries: InternalChartSeries<T>[] = [\n {\n color: '',\n index: NaN,\n series: {\n type: 'bar',\n title: 'positive',\n data: positiveData as any,\n },\n },\n {\n color: '',\n index: NaN,\n series: {\n type: 'bar',\n title: 'negative',\n data: negativeData as any,\n },\n },\n ];\n\n // MixedLineBarChart can also contain other non-bar series,\n // so we replace all bars with the artificial bar series\n // Then proceed to compute range with it and the remaining (non-bar) series\n _series = [...stackedSeries, ..._series.filter(s => s.series.type !== 'bar')];\n }\n\n const domain = _series.reduce(\n (acc, curr) => {\n // Compare threshold Y value with current min, max.\n if (isYThreshold(curr.series)) {\n const [min, max] = acc;\n const newMin = min === undefined || curr.series.y < min ? curr.series.y : min;\n const newMax = max === undefined || max < curr.series.y ? curr.series.y : max;\n return [newMin, newMax];\n }\n\n // X-thresholds don't have Y value.\n if (isXThreshold(curr.series)) {\n return acc;\n }\n\n // Compare all series Y values with current min, max.\n if (isDataSeries(curr.series)) {\n return curr.series.data.reduce(([min, max], { y }) => {\n const newMin = min === undefined || y < min ? y : min;\n const newMax = max === undefined || max < y ? y : max;\n return [newMin, newMax];\n }, acc);\n }\n\n return acc;\n },\n [0, 0]\n );\n\n // Log scales can't start from 0, so if possible, start from 1.\n if (scaleType === 'log' && domain[0] === 0 && domain[1] > 1) {\n return [1, domain[1]];\n }\n return domain;\n}\n"]}
|
|
@@ -5,8 +5,6 @@ export interface HighlightDetails {
|
|
|
5
5
|
position: string;
|
|
6
6
|
details: ChartSeriesDetailItem[];
|
|
7
7
|
}
|
|
8
|
-
/**
|
|
9
|
-
|
|
10
|
-
*/
|
|
11
|
-
export default function formatPosition<T extends ChartDataTypes>(position: T, series: readonly InternalChartSeries<T>[], xTickFormatter?: CartesianChartProps.TickFormatter<T>): HighlightDetails;
|
|
8
|
+
/** Formats provided x-position and its corresponding series values. */
|
|
9
|
+
export default function formatHighlighted<T extends ChartDataTypes>(position: T, series: readonly InternalChartSeries<T>[], xTickFormatter?: CartesianChartProps.TickFormatter<T>): HighlightDetails;
|
|
12
10
|
//# sourceMappingURL=format-highlighted.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-highlighted.d.ts","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/format-highlighted.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAGxF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,qBAAqB,EAAE,CAAC;CAClC;AAED
|
|
1
|
+
{"version":3,"file":"format-highlighted.d.ts","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/format-highlighted.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAGxF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,qBAAqB,EAAE,CAAC;CAClC;AAED,uEAAuE;AACvE,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,CAAC,SAAS,cAAc,EAChE,QAAQ,EAAE,CAAC,EACX,MAAM,EAAE,SAAS,mBAAmB,CAAC,CAAC,CAAC,EAAE,EACzC,cAAc,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,GACpD,gBAAgB,CAYlB"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { matchesX } from './utils';
|
|
2
|
-
/**
|
|
3
|
-
|
|
4
|
-
*/
|
|
5
|
-
export default function formatPosition(position, series, xTickFormatter) {
|
|
1
|
+
import { isDataSeries, isXThreshold, isYThreshold, matchesX } from './utils';
|
|
2
|
+
/** Formats provided x-position and its corresponding series values. */
|
|
3
|
+
export default function formatHighlighted(position, series, xTickFormatter) {
|
|
6
4
|
var formattedPosition = xTickFormatter ? xTickFormatter(position) : position.toString();
|
|
7
5
|
var details = [];
|
|
8
6
|
series.forEach(function (s) {
|
|
@@ -15,7 +13,18 @@ export default function formatPosition(position, series, xTickFormatter) {
|
|
|
15
13
|
}
|
|
16
14
|
function getSeriesDetail(internalSeries, targetX) {
|
|
17
15
|
var series = internalSeries.series, color = internalSeries.color;
|
|
18
|
-
|
|
16
|
+
// X-thresholds are only shown when X matches.
|
|
17
|
+
if (isXThreshold(series)) {
|
|
18
|
+
return series.x === targetX
|
|
19
|
+
? {
|
|
20
|
+
key: series.title,
|
|
21
|
+
value: '',
|
|
22
|
+
color: color,
|
|
23
|
+
markerType: 'dashed'
|
|
24
|
+
}
|
|
25
|
+
: null;
|
|
26
|
+
}
|
|
27
|
+
if (isYThreshold(series)) {
|
|
19
28
|
return {
|
|
20
29
|
key: series.title,
|
|
21
30
|
value: series.valueFormatter ? series.valueFormatter(series.y) : series.y,
|
|
@@ -23,15 +32,17 @@ function getSeriesDetail(internalSeries, targetX) {
|
|
|
23
32
|
markerType: 'dashed'
|
|
24
33
|
};
|
|
25
34
|
}
|
|
26
|
-
|
|
27
|
-
var
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
+
if (isDataSeries(series)) {
|
|
36
|
+
for (var _i = 0, _a = series.data; _i < _a.length; _i++) {
|
|
37
|
+
var datum = _a[_i];
|
|
38
|
+
if (matchesX(targetX, datum.x)) {
|
|
39
|
+
return {
|
|
40
|
+
key: series.title,
|
|
41
|
+
value: series.valueFormatter ? series.valueFormatter(datum.y, targetX) : datum.y,
|
|
42
|
+
color: color,
|
|
43
|
+
markerType: series.type === 'line' ? 'line' : 'rectangle'
|
|
44
|
+
};
|
|
45
|
+
}
|
|
35
46
|
}
|
|
36
47
|
}
|
|
37
48
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-highlighted.js","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/format-highlighted.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"format-highlighted.js","sourceRoot":"","sources":["../../../src/mixed-line-bar-chart/format-highlighted.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAO7E,uEAAuE;AACvE,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,QAAW,EACX,MAAyC,EACzC,cAAqD;IAErD,IAAM,iBAAiB,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAE1F,IAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,MAAM,CAAC,OAAO,CAAC,UAAA,CAAC;QACd,IAAM,MAAM,GAAG,eAAe,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE;YACV,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACtB;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,OAAO,SAAA,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,eAAe,CAAI,cAAsC,EAAE,OAAU;IACpE,IAAA,MAAM,GAAY,cAAc,OAA1B,EAAE,KAAK,GAAK,cAAc,MAAnB,CAAoB;IAEzC,8CAA8C;IAC9C,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;QACxB,OAAO,MAAM,CAAC,CAAC,KAAK,OAAO;YACzB,CAAC,CAAC;gBACE,GAAG,EAAE,MAAM,CAAC,KAAK;gBACjB,KAAK,EAAE,EAAE;gBACT,KAAK,OAAA;gBACL,UAAU,EAAE,QAAQ;aACrB;YACH,CAAC,CAAC,IAAI,CAAC;KACV;IAED,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;QACxB,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,KAAK;YACjB,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACzE,KAAK,OAAA;YACL,UAAU,EAAE,QAAQ;SACrB,CAAC;KACH;IAED,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;QACxB,KAAoB,UAAW,EAAX,KAAA,MAAM,CAAC,IAAI,EAAX,cAAW,EAAX,IAAW,EAAE;YAA5B,IAAM,KAAK,SAAA;YACd,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE;gBAC9B,OAAO;oBACL,GAAG,EAAE,MAAM,CAAC,KAAK;oBACjB,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAChF,KAAK,OAAA;oBACL,UAAU,EAAE,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW;iBAC1D,CAAC;aACH;SACF;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ChartDataTypes, InternalChartSeries } from './interfaces';\nimport { ChartSeriesDetailItem } from '../internal/components/chart-series-details';\nimport { CartesianChartProps } from '../internal/components/cartesian-chart/interfaces';\nimport { isDataSeries, isXThreshold, isYThreshold, matchesX } from './utils';\n\nexport interface HighlightDetails {\n position: string;\n details: ChartSeriesDetailItem[];\n}\n\n/** Formats provided x-position and its corresponding series values. */\nexport default function formatHighlighted<T extends ChartDataTypes>(\n position: T,\n series: readonly InternalChartSeries<T>[],\n xTickFormatter?: CartesianChartProps.TickFormatter<T>\n): HighlightDetails {\n const formattedPosition = xTickFormatter ? xTickFormatter(position) : position.toString();\n\n const details: ChartSeriesDetailItem[] = [];\n series.forEach(s => {\n const detail = getSeriesDetail(s, position);\n if (detail) {\n details.push(detail);\n }\n });\n\n return { position: formattedPosition, details };\n}\n\nfunction getSeriesDetail<T>(internalSeries: InternalChartSeries<T>, targetX: T): ChartSeriesDetailItem | null {\n const { series, color } = internalSeries;\n\n // X-thresholds are only shown when X matches.\n if (isXThreshold(series)) {\n return series.x === targetX\n ? {\n key: series.title,\n value: '',\n color,\n markerType: 'dashed',\n }\n : null;\n }\n\n if (isYThreshold(series)) {\n return {\n key: series.title,\n value: series.valueFormatter ? series.valueFormatter(series.y) : series.y,\n color,\n markerType: 'dashed',\n };\n }\n\n if (isDataSeries(series)) {\n for (const datum of series.data) {\n if (matchesX(targetX, datum.x)) {\n return {\n key: series.title,\n value: series.valueFormatter ? series.valueFormatter(datum.y, targetX) : datum.y,\n color,\n markerType: series.type === 'line' ? 'line' : 'rectangle',\n };\n }\n }\n }\n\n return null;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-mouse-hover.d.ts","sourceRoot":"","sources":["../../../../src/mixed-line-bar-chart/hooks/use-mouse-hover.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"use-mouse-hover.d.ts","sourceRoot":"","sources":["../../../../src/mixed-line-bar-chart/hooks/use-mouse-hover.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAKvD,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACvC,YAAY,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,eAAe,EAAE,CAAC,MAAM,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAChF,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,cAAc,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,sBAAsB,EAAE,MAAM,IAAI,CAAC;IACnC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAC/B,OAAO,EACP,YAAY,EACZ,SAAS,EACT,eAAe,EACf,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,GACnB,EAAE,kBAAkB,CAAC,CAAC,CAAC;;4BAwDS,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC;2BAUzC,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC;EAiBvE"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { useState } from 'react';
|
|
4
4
|
import { nodeContains } from '../../internal/utils/dom';
|
|
5
5
|
import styles from '../styles.css.js';
|
|
6
|
+
import { isYThreshold } from '../utils';
|
|
6
7
|
var MAX_HOVER_MARGIN = 6;
|
|
7
8
|
export function useMouseHover(_a) {
|
|
8
9
|
var plotRef = _a.plotRef, scaledSeries = _a.scaledSeries, barGroups = _a.barGroups, highlightSeries = _a.highlightSeries, highlightPoint = _a.highlightPoint, highlightGroup = _a.highlightGroup, clearHighlightedSeries = _a.clearHighlightedSeries, isGroupNavigation = _a.isGroupNavigation, isHandlersDisabled = _a.isHandlersDisabled;
|
|
@@ -15,7 +16,7 @@ export function useMouseHover(_a) {
|
|
|
15
16
|
.map(function (v) { return v.x; })
|
|
16
17
|
.reduce(function (prev, curr) { return (Math.abs(curr - offsetX) < Math.abs(prev - offsetX) ? curr : prev); }, -Infinity);
|
|
17
18
|
var closestY = scaledSeries
|
|
18
|
-
.filter(function (v) { return v.x === closestX || v.series
|
|
19
|
+
.filter(function (v) { return v.x === closestX || isYThreshold(v.series); })
|
|
19
20
|
.map(function (v) { return v.y; })
|
|
20
21
|
.reduce(function (prev, curr) { return (Math.abs(curr - offsetY) < Math.abs(prev - offsetY) ? curr : prev); }, -Infinity);
|
|
21
22
|
if (isFinite(closestX)) {
|
|
@@ -23,7 +24,7 @@ export function useMouseHover(_a) {
|
|
|
23
24
|
if (isFinite(closestY) &&
|
|
24
25
|
Math.abs(offsetX - closestX) < MAX_HOVER_MARGIN &&
|
|
25
26
|
Math.abs(offsetY - closestY) < MAX_HOVER_MARGIN) {
|
|
26
|
-
var _a = scaledSeries.filter(function (s) { return (s.x === closestX || s.series
|
|
27
|
+
var _a = scaledSeries.filter(function (s) { return (s.x === closestX || isYThreshold(s.series)) && s.y === closestY; })[0], color = _a.color, datum = _a.datum, series = _a.series;
|
|
27
28
|
highlightSeries(series);
|
|
28
29
|
highlightPoint({ x: closestX, y: closestY, color: color, datum: datum, series: series });
|
|
29
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-mouse-hover.js","sourceRoot":"","sources":["../../../../src/mixed-line-bar-chart/hooks/use-mouse-hover.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKxD,OAAO,MAAM,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"use-mouse-hover.js","sourceRoot":"","sources":["../../../../src/mixed-line-bar-chart/hooks/use-mouse-hover.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKxD,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAGtC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,IAAM,gBAAgB,GAAG,CAAC,CAAC;AAc3B,MAAM,UAAU,aAAa,CAAI,EAUT;QATtB,OAAO,aAAA,EACP,YAAY,kBAAA,EACZ,SAAS,eAAA,EACT,eAAe,qBAAA,EACf,cAAc,oBAAA,EACd,cAAc,oBAAA,EACd,sBAAsB,4BAAA,EACtB,iBAAiB,uBAAA,EACjB,kBAAkB,wBAAA;IAEZ,IAAA,KAA8C,QAAQ,CAAgB,IAAI,CAAC,EAA1E,kBAAkB,QAAA,EAAE,qBAAqB,QAAiC,CAAC;IAElF,IAAM,iBAAiB,GAAG,UAAC,KAA+C;QACxE,IAAM,OAAO,GAAI,KAAK,CAAC,MAAqB,CAAC,qBAAqB,EAAE,CAAC;QACrE,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7C,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;QAE5C,IAAM,QAAQ,GAAG,YAAY;aAC1B,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,EAAH,CAAG,CAAC;aACb,MAAM,CAAC,UAAC,IAAI,EAAE,IAAI,IAAK,OAAA,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAnE,CAAmE,EAAE,CAAC,QAAQ,CAAC,CAAC;QAE1G,IAAM,QAAQ,GAAG,YAAY;aAC1B,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,EAA1C,CAA0C,CAAC;aACvD,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,EAAH,CAAG,CAAC;aACb,MAAM,CAAC,UAAC,IAAI,EAAE,IAAI,IAAK,OAAA,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAnE,CAAmE,EAAE,CAAC,QAAQ,CAAC,CAAC;QAE1G,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACtB,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAChC,IACE,QAAQ,CAAC,QAAQ,CAAC;gBAClB,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,gBAAgB;gBAC/C,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,gBAAgB,EAC/C;gBACO,IAAA,KAA4B,YAAY,CAAC,MAAM,CACpD,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAhE,CAAgE,CACtE,GAF8B,EAAtB,KAAK,WAAA,EAAE,KAAK,WAAA,EAAE,MAAM,YAAE,CAE7B;gBACF,eAAe,CAAC,MAAM,CAAC,CAAC;gBACxB,cAAc,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,OAAA,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC;aACpE;iBAAM;gBACL,eAAe,CAAC,IAAI,CAAC,CAAC;gBACtB,cAAc,CAAC,IAAI,CAAC,CAAC;aACtB;SACF;IACH,CAAC,CAAC;IAEF,IAAM,gBAAgB,GAAG,UAAC,KAA+C;QACvE,IAAM,OAAO,GAAI,KAAK,CAAC,MAAqB,CAAC,qBAAqB,EAAE,CAAC;QACrE,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7C,IAAM,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;QAE5C,8CAA8C;QAC9C,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;YAElE,IAAA,KACE,SAAS,CAAC,UAAU,CAAC,SADU,EAArB,CAAC,OAAA,EAAE,CAAC,OAAA,EAAE,KAAK,WAAA,EAAE,MAAM,YAAE,CACT;YAE1B,IAAI,CAAC,IAAI,OAAO,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,IAAI,OAAO,IAAI,OAAO,IAAI,CAAC,GAAG,MAAM,EAAE;gBACjF,cAAc,CAAC,UAAU,CAAC,CAAC;gBAC3B,OAAO;aACR;SACF;QACD,mCAAmC;QACnC,sBAAsB,EAAE,CAAC;IAC3B,CAAC,CAAC;IAEF,IAAM,cAAc,GAAG,UAAC,KAA+C;QACrE,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,OAAQ,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE;YAChE,IAAI,iBAAiB,EAAE;gBACrB,gBAAgB,CAAC,KAAK,CAAC,CAAC;aACzB;iBAAM,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClC,iBAAiB,CAAC,KAAK,CAAC,CAAC;aAC1B;SACF;IACH,CAAC,CAAC;IAEF,IAAM,aAAa,GAAG,UAAC,KAA+C;QACpE,IAAI,kBAAkB,EAAE;YACtB,OAAO;SACR;QACD,IACE,CAAC,YAAY,CAAC,OAAO,CAAC,OAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,aAAwB,CAAC;YACnE,wDAAwD;YACxD,CAAC,CAAC,KAAK,CAAC,aAAa,IAAK,KAAK,CAAC,aAAyB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpF,KAAK,CAAC,GAAG,CAAC;iBACV,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAC9B;YACA,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC5B,sBAAsB,EAAE,CAAC;SAC1B;IACH,CAAC,CAAC;IAEF,OAAO,EAAE,kBAAkB,oBAAA,EAAE,cAAc,gBAAA,EAAE,aAAa,eAAA,EAAE,CAAC;AAC/D,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useState } from 'react';\nimport { nodeContains } from '../../internal/utils/dom';\n\nimport { ScaledBarGroup } from '../make-scaled-bar-groups';\nimport { ScaledPoint } from '../make-scaled-series';\n\nimport styles from '../styles.css.js';\nimport { ChartPlotRef } from '../../internal/components/chart-plot';\nimport { MixedLineBarChartProps } from '../interfaces';\nimport { isYThreshold } from '../utils';\n\nconst MAX_HOVER_MARGIN = 6;\n\nexport interface UseMouseHoverProps<T> {\n plotRef: React.RefObject<ChartPlotRef>;\n scaledSeries: ReadonlyArray<ScaledPoint<T>>;\n barGroups: ScaledBarGroup<T>[];\n highlightSeries: (series: MixedLineBarChartProps.ChartSeries<T> | null) => void;\n highlightPoint: (point: ScaledPoint<T> | null) => void;\n highlightGroup: (groupIndex: number) => void;\n clearHighlightedSeries: () => void;\n isGroupNavigation: boolean;\n isHandlersDisabled: boolean;\n}\n\nexport function useMouseHover<T>({\n plotRef,\n scaledSeries,\n barGroups,\n highlightSeries,\n highlightPoint,\n highlightGroup,\n clearHighlightedSeries,\n isGroupNavigation,\n isHandlersDisabled,\n}: UseMouseHoverProps<T>) {\n const [verticalMarkerLeft, setVerticalMarkerLeft] = useState<number | null>(null);\n\n const onSeriesMouseMove = (event: React.MouseEvent<SVGElement, MouseEvent>) => {\n const svgRect = (event.target as SVGElement).getBoundingClientRect();\n const offsetX = event.clientX - svgRect.left;\n const offsetY = event.clientY - svgRect.top;\n\n const closestX = scaledSeries\n .map(v => v.x)\n .reduce((prev, curr) => (Math.abs(curr - offsetX) < Math.abs(prev - offsetX) ? curr : prev), -Infinity);\n\n const closestY = scaledSeries\n .filter(v => v.x === closestX || isYThreshold(v.series))\n .map(v => v.y)\n .reduce((prev, curr) => (Math.abs(curr - offsetY) < Math.abs(prev - offsetY) ? curr : prev), -Infinity);\n\n if (isFinite(closestX)) {\n setVerticalMarkerLeft(closestX);\n if (\n isFinite(closestY) &&\n Math.abs(offsetX - closestX) < MAX_HOVER_MARGIN &&\n Math.abs(offsetY - closestY) < MAX_HOVER_MARGIN\n ) {\n const [{ color, datum, series }] = scaledSeries.filter(\n s => (s.x === closestX || isYThreshold(s.series)) && s.y === closestY\n );\n highlightSeries(series);\n highlightPoint({ x: closestX, y: closestY, color, datum, series });\n } else {\n highlightSeries(null);\n highlightPoint(null);\n }\n }\n };\n\n const onGroupMouseMove = (event: React.MouseEvent<SVGElement, MouseEvent>) => {\n const svgRect = (event.target as SVGElement).getBoundingClientRect();\n const offsetX = event.clientX - svgRect.left;\n const offsetY = event.clientY - svgRect.top;\n\n // If hovering over some group - highlight it.\n for (let groupIndex = 0; groupIndex < barGroups.length; groupIndex++) {\n const {\n position: { x, y, width, height },\n } = barGroups[groupIndex];\n\n if (x <= offsetX && offsetX <= x + width && y <= offsetY && offsetY <= y + height) {\n highlightGroup(groupIndex);\n return;\n }\n }\n // Otherwise - clear the highlight.\n clearHighlightedSeries();\n };\n\n const onSVGMouseMove = (event: React.MouseEvent<SVGElement, MouseEvent>) => {\n if (event.target === plotRef.current!.svg && !isHandlersDisabled) {\n if (isGroupNavigation) {\n onGroupMouseMove(event);\n } else if (scaledSeries.length > 0) {\n onSeriesMouseMove(event);\n }\n }\n };\n\n const onSVGMouseOut = (event: React.MouseEvent<SVGElement, MouseEvent>) => {\n if (isHandlersDisabled) {\n return;\n }\n if (\n !nodeContains(plotRef.current!.svg, event.relatedTarget as Element) ||\n // `classList` is not supported on IE11 for SVG elements\n ((event.relatedTarget && (event.relatedTarget as Element).getAttribute('class')) || '')\n .split(' ')\n .indexOf(styles.series) > -1\n ) {\n setVerticalMarkerLeft(null);\n clearHighlightedSeries();\n }\n };\n\n return { verticalMarkerLeft, onSVGMouseMove, onSVGMouseOut };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-navigation.d.ts","sourceRoot":"","sources":["../../../../src/mixed-line-bar-chart/hooks/use-navigation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAEjG,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,oBAAY,kBAAkB,CAAC,CAAC,SAAS,cAAc,IAAI,IAAI,CAC7D,mBAAmB,CAAC,CAAC,CAAC,EACtB,mBAAmB,GAAG,QAAQ,GAAG,eAAe,CACjD,GAAG;IACF,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,YAAY,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5C,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACxC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,YAAY,EAAE,IAAI,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC3D,kBAAkB,EAAE,OAAO,CAAC;IAE5B,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,eAAe,CAAC,MAAM,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5E,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACnD,sBAAsB,IAAI,IAAI,CAAC;CAChC,CAAC;AAEF,wBAAgB,aAAa,CAAC,CAAC,SAAS,cAAc,EAAE,EACtD,MAAM,EACN,aAAa,EACb,YAAY,EACZ,SAAS,EACT,MAAM,EACN,MAAM,EACN,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,cAAc,EACd,cAAc,GACf,EAAE,kBAAkB,CAAC,CAAC,CAAC;;;
|
|
1
|
+
{"version":3,"file":"use-navigation.d.ts","sourceRoot":"","sources":["../../../../src/mixed-line-bar-chart/hooks/use-navigation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAEjG,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,oBAAY,kBAAkB,CAAC,CAAC,SAAS,cAAc,IAAI,IAAI,CAC7D,mBAAmB,CAAC,CAAC,CAAC,EACtB,mBAAmB,GAAG,QAAQ,GAAG,eAAe,CACjD,GAAG;IACF,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,YAAY,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5C,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACxC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,YAAY,EAAE,IAAI,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC3D,kBAAkB,EAAE,OAAO,CAAC;IAE5B,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,eAAe,CAAC,MAAM,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5E,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACnD,sBAAsB,IAAI,IAAI,CAAC;CAChC,CAAC;AAEF,wBAAgB,aAAa,CAAC,CAAC,SAAS,cAAc,EAAE,EACtD,MAAM,EACN,aAAa,EACb,YAAY,EACZ,SAAS,EACT,MAAM,EACN,MAAM,EACN,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,cAAc,EACd,cAAc,GACf,EAAE,kBAAkB,CAAC,CAAC,CAAC;;;uBAqKZ,mBAAmB;EA+B9B"}
|
|
@@ -3,7 +3,7 @@ import { __assign } from "tslib";
|
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
import { useCallback, useMemo, useState } from 'react';
|
|
5
5
|
import { KeyCode } from '../../internal/keycode';
|
|
6
|
-
import { findNavigableSeries, nextValidDomainIndex } from '../utils';
|
|
6
|
+
import { findNavigableSeries, isXThreshold, isYThreshold, nextValidDomainIndex } from '../utils';
|
|
7
7
|
export function useNavigation(_a) {
|
|
8
8
|
var series = _a.series, visibleSeries = _a.visibleSeries, scaledSeries = _a.scaledSeries, barGroups = _a.barGroups, xScale = _a.xScale, yScale = _a.yScale, highlightedPoint = _a.highlightedPoint, highlightedGroupIndex = _a.highlightedGroupIndex, highlightedSeries = _a.highlightedSeries, legendSeries = _a.legendSeries, isHandlersDisabled = _a.isHandlersDisabled, pinPopover = _a.pinPopover, highlightSeries = _a.highlightSeries, highlightGroup = _a.highlightGroup, highlightPoint = _a.highlightPoint;
|
|
9
9
|
var _b = useState(null), targetX = _b[0], setTargetX = _b[1];
|
|
@@ -44,7 +44,7 @@ export function useNavigation(_a) {
|
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
46
|
var moveBetweenSeries = useCallback(function (direction) {
|
|
47
|
-
var _a, _b, _c;
|
|
47
|
+
var _a, _b, _c, _d;
|
|
48
48
|
if (isGroupNavigation) {
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
@@ -77,21 +77,12 @@ export function useNavigation(_a) {
|
|
|
77
77
|
targetXPoint = 0;
|
|
78
78
|
}
|
|
79
79
|
if (nextSeries.type === 'line') {
|
|
80
|
-
var
|
|
81
|
-
var
|
|
82
|
-
var nextPoint = nextSeriesData
|
|
83
|
-
// scale all points in series
|
|
84
|
-
.map(function (d) { return ({
|
|
85
|
-
x: (xScale.d3Scale(d.x) || 0) + xOffset,
|
|
86
|
-
y: yScale.d3Scale(d.y) || 0,
|
|
87
|
-
datum: d
|
|
88
|
-
}); })
|
|
89
|
-
// find the closest point to previous X
|
|
90
|
-
.reduce(function (prev, curr) { return (Math.abs(curr.x - lookingForScaled_1) < Math.abs(prev.x - lookingForScaled_1) ? curr : prev); }, { x: -Infinity, y: -Infinity });
|
|
80
|
+
var nextScaledSeries = scaledSeries.filter(function (it) { return it.series === nextSeries; });
|
|
81
|
+
var closestNextSeriesPoint = nextScaledSeries.reduce(function (prev, curr) { return (Math.abs(curr.x - targetXPoint) < Math.abs(prev.x - targetXPoint) ? curr : prev); }, { x: -Infinity, y: -Infinity });
|
|
91
82
|
highlightSeries(nextSeries);
|
|
92
|
-
highlightPoint(__assign(__assign({},
|
|
83
|
+
highlightPoint(__assign(__assign({}, closestNextSeriesPoint), { color: nextInternalSeries.color, series: nextSeries }));
|
|
93
84
|
}
|
|
94
|
-
else if (nextSeries
|
|
85
|
+
else if (isYThreshold(nextSeries)) {
|
|
95
86
|
var scaledTargetIndex = scaledSeries.map(function (it) { var _a; return ((_a = it.datum) === null || _a === void 0 ? void 0 : _a.x) || null; }).indexOf(targetX);
|
|
96
87
|
highlightSeries(nextSeries);
|
|
97
88
|
highlightPoint({
|
|
@@ -102,6 +93,16 @@ export function useNavigation(_a) {
|
|
|
102
93
|
datum: (_c = scaledSeries[scaledTargetIndex]) === null || _c === void 0 ? void 0 : _c.datum
|
|
103
94
|
});
|
|
104
95
|
}
|
|
96
|
+
else if (isXThreshold(nextSeries)) {
|
|
97
|
+
highlightSeries(nextSeries);
|
|
98
|
+
highlightPoint({
|
|
99
|
+
x: (_d = xScale.d3Scale(nextSeries.x)) !== null && _d !== void 0 ? _d : NaN,
|
|
100
|
+
y: yScale.d3Scale.range()[0],
|
|
101
|
+
color: nextInternalSeries.color,
|
|
102
|
+
series: nextSeries,
|
|
103
|
+
datum: { x: nextSeries.x, y: NaN }
|
|
104
|
+
});
|
|
105
|
+
}
|
|
105
106
|
}, [
|
|
106
107
|
isGroupNavigation,
|
|
107
108
|
xScale,
|
|
@@ -118,27 +119,14 @@ export function useNavigation(_a) {
|
|
|
118
119
|
var _a;
|
|
119
120
|
var series = highlightedSeries || visibleSeries[0].series;
|
|
120
121
|
var previousPoint = highlightedPoint || scaledSeries[0];
|
|
121
|
-
if (series.type === 'line') {
|
|
122
|
-
|
|
123
|
-
var indexOfPreviousPoint = (
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
var nextPoint_1 = series.data[nextPointIndex];
|
|
128
|
-
// find scaled next point
|
|
129
|
-
var nextPointScaled = scaledSeries.filter(function (s) { return s.datum === nextPoint_1; })[0] || null;
|
|
130
|
-
setTargetX(nextPoint_1.x);
|
|
131
|
-
highlightSeries(series);
|
|
132
|
-
highlightPoint(nextPointScaled);
|
|
133
|
-
}
|
|
134
|
-
else if (series.type === 'threshold') {
|
|
135
|
-
var scaledThresholdSeries = scaledSeries.filter(function (it) { return it.series === series; })[0];
|
|
136
|
-
var scaledDataSeries = scaledSeries.filter(function (it) { return it.datum; });
|
|
137
|
-
var indexOfPreviousPoint = scaledDataSeries.map(function (it) { return it.x; }).indexOf(previousPoint.x);
|
|
138
|
-
var nextPointIndex = circleIndex(indexOfPreviousPoint + direction, [0, scaledDataSeries.length - 1]);
|
|
139
|
-
setTargetX(((_a = scaledDataSeries[nextPointIndex].datum) === null || _a === void 0 ? void 0 : _a.x) || null);
|
|
122
|
+
if (series.type === 'line' || isYThreshold(series)) {
|
|
123
|
+
var targetScaledSeries = scaledSeries.filter(function (it) { return it.series === series; });
|
|
124
|
+
var indexOfPreviousPoint = targetScaledSeries.map(function (it) { return it.x; }).indexOf(previousPoint.x);
|
|
125
|
+
var nextPointIndex = circleIndex(indexOfPreviousPoint + direction, [0, targetScaledSeries.length - 1]);
|
|
126
|
+
var nextPoint = targetScaledSeries[nextPointIndex];
|
|
127
|
+
setTargetX(((_a = nextPoint.datum) === null || _a === void 0 ? void 0 : _a.x) || null);
|
|
140
128
|
highlightSeries(series);
|
|
141
|
-
highlightPoint(
|
|
129
|
+
highlightPoint(nextPoint);
|
|
142
130
|
}
|
|
143
131
|
else if (series.type === 'bar') {
|
|
144
132
|
var xDomain = xScale.domain;
|