@cloudscape-design/chart-components 1.0.0
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/LICENSE +175 -0
- package/NOTICE +1 -0
- package/README.md +25 -0
- package/cartesian-chart/chart-cartesian-internal.d.ts +10 -0
- package/cartesian-chart/chart-cartesian-internal.js +99 -0
- package/cartesian-chart/chart-cartesian-internal.js.map +1 -0
- package/cartesian-chart/chart-series-cartesian.d.ts +7 -0
- package/cartesian-chart/chart-series-cartesian.js +95 -0
- package/cartesian-chart/chart-series-cartesian.js.map +1 -0
- package/cartesian-chart/index.d.ts +5 -0
- package/cartesian-chart/index.js +133 -0
- package/cartesian-chart/index.js.map +1 -0
- package/cartesian-chart/interfaces.d.ts +166 -0
- package/cartesian-chart/interfaces.js +4 -0
- package/cartesian-chart/interfaces.js.map +1 -0
- package/cartesian-chart/test-classes/styles.css.js +6 -0
- package/cartesian-chart/test-classes/styles.scoped.css +7 -0
- package/cartesian-chart/test-classes/styles.selectors.js +7 -0
- package/core/chart-api/chart-extra-axis-titles.d.ts +10 -0
- package/core/chart-api/chart-extra-axis-titles.js +42 -0
- package/core/chart-api/chart-extra-axis-titles.js.map +1 -0
- package/core/chart-api/chart-extra-context.d.ts +41 -0
- package/core/chart-api/chart-extra-context.js +93 -0
- package/core/chart-api/chart-extra-context.js.map +1 -0
- package/core/chart-api/chart-extra-highlight.d.ts +20 -0
- package/core/chart-api/chart-extra-highlight.js +205 -0
- package/core/chart-api/chart-extra-highlight.js.map +1 -0
- package/core/chart-api/chart-extra-legend.d.ts +27 -0
- package/core/chart-api/chart-extra-legend.js +118 -0
- package/core/chart-api/chart-extra-legend.js.map +1 -0
- package/core/chart-api/chart-extra-navigation.d.ts +84 -0
- package/core/chart-api/chart-extra-navigation.js +470 -0
- package/core/chart-api/chart-extra-navigation.js.map +1 -0
- package/core/chart-api/chart-extra-nodata.d.ts +15 -0
- package/core/chart-api/chart-extra-nodata.js +45 -0
- package/core/chart-api/chart-extra-nodata.js.map +1 -0
- package/core/chart-api/chart-extra-pointer.d.ts +33 -0
- package/core/chart-api/chart-extra-pointer.js +173 -0
- package/core/chart-api/chart-extra-pointer.js.map +1 -0
- package/core/chart-api/chart-extra-tooltip.d.ts +33 -0
- package/core/chart-api/chart-extra-tooltip.js +209 -0
- package/core/chart-api/chart-extra-tooltip.js.map +1 -0
- package/core/chart-api/index.d.ts +75 -0
- package/core/chart-api/index.js +383 -0
- package/core/chart-api/index.js.map +1 -0
- package/core/chart-container.d.ts +20 -0
- package/core/chart-container.js +55 -0
- package/core/chart-container.js.map +1 -0
- package/core/chart-core.d.ts +7 -0
- package/core/chart-core.js +287 -0
- package/core/chart-core.js.map +1 -0
- package/core/components/core-application.d.ts +6 -0
- package/core/components/core-application.js +16 -0
- package/core/components/core-application.js.map +1 -0
- package/core/components/core-filters.d.ts +9 -0
- package/core/components/core-filters.js +22 -0
- package/core/components/core-filters.js.map +1 -0
- package/core/components/core-legend.d.ts +13 -0
- package/core/components/core-legend.js +27 -0
- package/core/components/core-legend.js.map +1 -0
- package/core/components/core-no-data.d.ts +6 -0
- package/core/components/core-no-data.js +48 -0
- package/core/components/core-no-data.js.map +1 -0
- package/core/components/core-slots.d.ts +7 -0
- package/core/components/core-slots.js +11 -0
- package/core/components/core-slots.js.map +1 -0
- package/core/components/core-tooltip.d.ts +7 -0
- package/core/components/core-tooltip.js +183 -0
- package/core/components/core-tooltip.js.map +1 -0
- package/core/components/core-vertical-axis-title.d.ts +5 -0
- package/core/components/core-vertical-axis-title.js +15 -0
- package/core/components/core-vertical-axis-title.js.map +1 -0
- package/core/formatters.d.ts +2 -0
- package/core/formatters.js +113 -0
- package/core/formatters.js.map +1 -0
- package/core/i18n-utils.d.ts +21 -0
- package/core/i18n-utils.js +18 -0
- package/core/i18n-utils.js.map +1 -0
- package/core/interfaces.d.ts +436 -0
- package/core/interfaces.js +4 -0
- package/core/interfaces.js.map +1 -0
- package/core/styles.css.js +25 -0
- package/core/styles.scoped.css +115 -0
- package/core/styles.selectors.js +26 -0
- package/core/test-classes/styles.css.js +33 -0
- package/core/test-classes/styles.scoped.css +34 -0
- package/core/test-classes/styles.selectors.js +34 -0
- package/core/utils.d.ts +45 -0
- package/core/utils.js +262 -0
- package/core/utils.js.map +1 -0
- package/index.d.ts +4 -0
- package/index.js +5 -0
- package/index.js.map +1 -0
- package/internal/api-docs/components/cartesian-chart.js +571 -0
- package/internal/api-docs/components/index.d.ts +3 -0
- package/internal/api-docs/components/index.js +4 -0
- package/internal/api-docs/components/interfaces.d.ts +81 -0
- package/internal/api-docs/components/pie-chart.js +430 -0
- package/internal/api-docs/test-utils-doc/dom.js +4 -0
- package/internal/api-docs/test-utils-doc/selectors.js +4 -0
- package/internal/base-component/get-data-attributes.d.ts +1 -0
- package/internal/base-component/get-data-attributes.js +12 -0
- package/internal/base-component/get-data-attributes.js.map +1 -0
- package/internal/base-component/use-base-component.d.ts +13 -0
- package/internal/base-component/use-base-component.js +18 -0
- package/internal/base-component/use-base-component.js.map +1 -0
- package/internal/base-component/use-telemetry.d.ts +2 -0
- package/internal/base-component/use-telemetry.js +8 -0
- package/internal/base-component/use-telemetry.js.map +1 -0
- package/internal/chart-styles.d.ts +88 -0
- package/internal/chart-styles.js +145 -0
- package/internal/chart-styles.js.map +1 -0
- package/internal/components/chart-legend/index.d.ts +14 -0
- package/internal/components/chart-legend/index.js +245 -0
- package/internal/components/chart-legend/index.js.map +1 -0
- package/internal/components/chart-legend/styles.css.js +22 -0
- package/internal/components/chart-legend/styles.scoped.css +233 -0
- package/internal/components/chart-legend/styles.selectors.js +23 -0
- package/internal/components/chart-legend/test-classes/styles.css.js +11 -0
- package/internal/components/chart-legend/test-classes/styles.scoped.css +12 -0
- package/internal/components/chart-legend/test-classes/styles.selectors.js +12 -0
- package/internal/components/chart-series-filter/index.d.ts +17 -0
- package/internal/components/chart-series-filter/index.js +14 -0
- package/internal/components/chart-series-filter/index.js.map +1 -0
- package/internal/components/interfaces.d.ts +17 -0
- package/internal/components/interfaces.js +4 -0
- package/internal/components/interfaces.js.map +1 -0
- package/internal/components/series-details/index.d.ts +23 -0
- package/internal/components/series-details/index.js +45 -0
- package/internal/components/series-details/index.js.map +1 -0
- package/internal/components/series-details/styles.css.js +22 -0
- package/internal/components/series-details/styles.scoped.css +150 -0
- package/internal/components/series-details/styles.selectors.js +23 -0
- package/internal/components/series-details/test-classes/styles.css.js +10 -0
- package/internal/components/series-details/test-classes/styles.scoped.css +11 -0
- package/internal/components/series-details/test-classes/styles.selectors.js +11 -0
- package/internal/components/series-marker/index.d.ts +8 -0
- package/internal/components/series-marker/index.js +45 -0
- package/internal/components/series-marker/index.js.map +1 -0
- package/internal/components/series-marker/interfaces.d.ts +1 -0
- package/internal/components/series-marker/interfaces.js +4 -0
- package/internal/components/series-marker/interfaces.js.map +1 -0
- package/internal/components/series-marker/render-marker.d.ts +3 -0
- package/internal/components/series-marker/render-marker.js +74 -0
- package/internal/components/series-marker/render-marker.js.map +1 -0
- package/internal/components/series-marker/styles.css.js +7 -0
- package/internal/components/series-marker/styles.scoped.css +55 -0
- package/internal/components/series-marker/styles.selectors.js +8 -0
- package/internal/environment.d.ts +4 -0
- package/internal/environment.js +5 -0
- package/internal/environment.json +7 -0
- package/internal/events/index.d.ts +23 -0
- package/internal/events/index.js +41 -0
- package/internal/events/index.js.map +1 -0
- package/internal/generated/styles/tokens.d.ts +756 -0
- package/internal/generated/styles/tokens.js +756 -0
- package/internal/generated/theming/index.cjs +12584 -0
- package/internal/generated/theming/index.cjs.d.ts +2399 -0
- package/internal/generated/theming/index.d.ts +2399 -0
- package/internal/generated/theming/index.js +12584 -0
- package/internal/manifest.json +3 -0
- package/internal/styles.css.js +6 -0
- package/internal/styles.scoped.css +13 -0
- package/internal/styles.selectors.js +7 -0
- package/internal/utils/apply-display-name.d.ts +1 -0
- package/internal/utils/apply-display-name.js +6 -0
- package/internal/utils/apply-display-name.js.map +1 -0
- package/internal/utils/async-store.d.ts +19 -0
- package/internal/utils/async-store.js +58 -0
- package/internal/utils/async-store.js.map +1 -0
- package/internal/utils/chart-series.d.ts +8 -0
- package/internal/utils/chart-series.js +11 -0
- package/internal/utils/chart-series.js.map +1 -0
- package/internal/utils/renderer-utils.d.ts +17 -0
- package/internal/utils/renderer-utils.js +95 -0
- package/internal/utils/renderer-utils.js.map +1 -0
- package/internal/utils/series-data.d.ts +2 -0
- package/internal/utils/series-data.js +8 -0
- package/internal/utils/series-data.js.map +1 -0
- package/internal/utils/test-i18n-provider.d.ts +8 -0
- package/internal/utils/test-i18n-provider.js +8 -0
- package/internal/utils/test-i18n-provider.js.map +1 -0
- package/internal/utils/use-previous.d.ts +4 -0
- package/internal/utils/use-previous.js +14 -0
- package/internal/utils/use-previous.js.map +1 -0
- package/internal/utils/utils.d.ts +16 -0
- package/internal/utils/utils.js +49 -0
- package/internal/utils/utils.js.map +1 -0
- package/internal-do-not-use/core-chart/index.d.ts +4 -0
- package/internal-do-not-use/core-chart/index.js +13 -0
- package/internal-do-not-use/core-chart/index.js.map +1 -0
- package/internal-do-not-use/core-legend/index.d.ts +2 -0
- package/internal-do-not-use/core-legend/index.js +11 -0
- package/internal-do-not-use/core-legend/index.js.map +1 -0
- package/package.json +106 -0
- package/pie-chart/chart-inner-area.d.ts +10 -0
- package/pie-chart/chart-inner-area.js +63 -0
- package/pie-chart/chart-inner-area.js.map +1 -0
- package/pie-chart/chart-pie-internal.d.ts +11 -0
- package/pie-chart/chart-pie-internal.js +103 -0
- package/pie-chart/chart-pie-internal.js.map +1 -0
- package/pie-chart/index.d.ts +5 -0
- package/pie-chart/index.js +48 -0
- package/pie-chart/index.js.map +1 -0
- package/pie-chart/interfaces.d.ts +101 -0
- package/pie-chart/interfaces.js +4 -0
- package/pie-chart/interfaces.js.map +1 -0
- package/pie-chart/test-classes/styles.css.js +8 -0
- package/pie-chart/test-classes/styles.scoped.css +9 -0
- package/pie-chart/test-classes/styles.selectors.js +9 -0
- package/test-utils/dom/cartesian-chart/index.d.ts +14 -0
- package/test-utils/dom/cartesian-chart/index.js +24 -0
- package/test-utils/dom/cartesian-chart/index.js.map +1 -0
- package/test-utils/dom/cartesian-chart/tooltip.d.ts +28 -0
- package/test-utils/dom/cartesian-chart/tooltip.js +48 -0
- package/test-utils/dom/cartesian-chart/tooltip.js.map +1 -0
- package/test-utils/dom/index.d.ts +46 -0
- package/test-utils/dom/index.js +35 -0
- package/test-utils/dom/index.js.map +1 -0
- package/test-utils/dom/internal/base.d.ts +93 -0
- package/test-utils/dom/internal/base.js +146 -0
- package/test-utils/dom/internal/base.js.map +1 -0
- package/test-utils/dom/internal/core.d.ts +14 -0
- package/test-utils/dom/internal/core.js +37 -0
- package/test-utils/dom/internal/core.js.map +1 -0
- package/test-utils/dom/pie-chart/index.d.ts +17 -0
- package/test-utils/dom/pie-chart/index.js +29 -0
- package/test-utils/dom/pie-chart/index.js.map +1 -0
- package/test-utils/selectors/cartesian-chart/index.d.ts +14 -0
- package/test-utils/selectors/cartesian-chart/index.js +24 -0
- package/test-utils/selectors/cartesian-chart/index.js.map +1 -0
- package/test-utils/selectors/cartesian-chart/tooltip.d.ts +28 -0
- package/test-utils/selectors/cartesian-chart/tooltip.js +48 -0
- package/test-utils/selectors/cartesian-chart/tooltip.js.map +1 -0
- package/test-utils/selectors/index.d.ts +46 -0
- package/test-utils/selectors/index.js +32 -0
- package/test-utils/selectors/index.js.map +1 -0
- package/test-utils/selectors/internal/base.d.ts +93 -0
- package/test-utils/selectors/internal/base.js +146 -0
- package/test-utils/selectors/internal/base.js.map +1 -0
- package/test-utils/selectors/internal/core.d.ts +14 -0
- package/test-utils/selectors/internal/core.js +37 -0
- package/test-utils/selectors/internal/core.js.map +1 -0
- package/test-utils/selectors/pie-chart/index.d.ts +17 -0
- package/test-utils/selectors/pie-chart/index.js +29 -0
- package/test-utils/selectors/pie-chart/index.js.map +1 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
*/
|
|
5
|
+
/*
|
|
6
|
+
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
7
|
+
SPDX-License-Identifier: Apache-2.0
|
|
8
|
+
*/
|
|
9
|
+
/* stylelint-disable @cloudscape-design/no-motion-outside-of-mixin, selector-combinator-disallowed-list, selector-pseudo-class-no-unknown, selector-class-pattern */
|
|
10
|
+
/* stylelint-enable @cloudscape-design/no-motion-outside-of-mixin, selector-combinator-disallowed-list, selector-pseudo-class-no-unknown, selector-class-pattern */
|
|
11
|
+
body[data-awsui-focus-visible=true] .awsui_focus-outline_1lyyo_15xpt_11:not(#\9) {
|
|
12
|
+
stroke: var(--color-border-item-focused-uk47pl, #006ce0);
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function applyDisplayName<T>(component: T, displayName: string): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-display-name.js","sourceRoot":"","sources":["../../../../src/internal/utils/apply-display-name.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,MAAM,UAAU,gBAAgB,CAAI,SAAY,EAAE,WAAmB;IAClE,SAAiB,CAAC,WAAW,GAAG,WAAW,CAAC;AAC/C,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport function applyDisplayName<T>(component: T, displayName: string): void {\n (component as any).displayName = displayName;\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
type Selector<S, R> = (state: S) => R;
|
|
2
|
+
type Listener<S> = (state: S, prevState: S) => void;
|
|
3
|
+
export interface ReadonlyAsyncStore<S> {
|
|
4
|
+
get(): S;
|
|
5
|
+
subscribe<R>(selector: Selector<S, R>, listener: Listener<S>): () => void;
|
|
6
|
+
unsubscribe(listener: Listener<S>): void;
|
|
7
|
+
}
|
|
8
|
+
export default class AsyncStore<S> implements ReadonlyAsyncStore<S> {
|
|
9
|
+
private _state;
|
|
10
|
+
private _listeners;
|
|
11
|
+
constructor(state: S);
|
|
12
|
+
get(): S;
|
|
13
|
+
set(cb: (state: S) => S): void;
|
|
14
|
+
subscribe<R>(selector: Selector<S, R>, listener: Listener<S>): () => void;
|
|
15
|
+
unsubscribe(listener: Listener<S>): void;
|
|
16
|
+
}
|
|
17
|
+
export declare function useReaction<S, R>(store: ReadonlyAsyncStore<S>, selector: Selector<S, R>, effect: Listener<R>): void;
|
|
18
|
+
export declare function useSelector<S, R>(store: ReadonlyAsyncStore<S>, selector: Selector<S, R>): R;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import { useLayoutEffect, useState } from "react";
|
|
4
|
+
import { usePrevious } from "./use-previous";
|
|
5
|
+
export default class AsyncStore {
|
|
6
|
+
constructor(state) {
|
|
7
|
+
this._listeners = [];
|
|
8
|
+
this._state = state;
|
|
9
|
+
}
|
|
10
|
+
get() {
|
|
11
|
+
return this._state;
|
|
12
|
+
}
|
|
13
|
+
set(cb) {
|
|
14
|
+
const prevState = this._state;
|
|
15
|
+
const newState = cb(prevState);
|
|
16
|
+
this._state = newState;
|
|
17
|
+
for (const [selector, listener] of this._listeners) {
|
|
18
|
+
if (selector(prevState) !== selector(newState)) {
|
|
19
|
+
listener(newState, prevState);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
subscribe(selector, listener) {
|
|
24
|
+
this._listeners.push([selector, listener]);
|
|
25
|
+
return () => this.unsubscribe(listener);
|
|
26
|
+
}
|
|
27
|
+
unsubscribe(listener) {
|
|
28
|
+
this._listeners = this._listeners.filter(([, storedListener]) => storedListener !== listener);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export function useReaction(store, selector, effect) {
|
|
32
|
+
useLayoutEffect(() => {
|
|
33
|
+
const unsubscribe = store.subscribe(selector, (newState, prevState) => effect(selector(newState), selector(prevState)));
|
|
34
|
+
return unsubscribe;
|
|
35
|
+
},
|
|
36
|
+
// ignoring selector and effect as they are expected to stay constant
|
|
37
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
38
|
+
[store]);
|
|
39
|
+
}
|
|
40
|
+
export function useSelector(store, selector) {
|
|
41
|
+
const [state, setState] = useState(selector(store.get()));
|
|
42
|
+
useReaction(store, selector, (newState) => {
|
|
43
|
+
setState(newState);
|
|
44
|
+
});
|
|
45
|
+
useLayoutEffect(() => {
|
|
46
|
+
setState(selector(store.get()));
|
|
47
|
+
},
|
|
48
|
+
// ignoring selector as we only need a single time update
|
|
49
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
50
|
+
[]);
|
|
51
|
+
// When store changes we need the state to be updated synchronously to avoid inconsistencies.
|
|
52
|
+
const prevStore = usePrevious(store);
|
|
53
|
+
if (prevStore !== null && prevStore !== store) {
|
|
54
|
+
return selector(store.get());
|
|
55
|
+
}
|
|
56
|
+
return state;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=async-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-store.js","sourceRoot":"","sources":["../../../../src/internal/utils/async-store.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAW7C,MAAM,CAAC,OAAO,OAAO,UAAU;IAI7B,YAAY,KAAQ;QAFZ,eAAU,GAA0C,EAAE,CAAC;QAG7D,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAEM,GAAG;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,GAAG,CAAC,EAAmB;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9B,MAAM,QAAQ,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAE/B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QAEvB,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE;YAClD,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAC9C,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;aAC/B;SACF;IACH,CAAC;IAEM,SAAS,CAAI,QAAwB,EAAE,QAAqB;QACjE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE3C,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAEM,WAAW,CAAC,QAAqB;QACtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC;IAChG,CAAC;CACF;AAED,MAAM,UAAU,WAAW,CAAO,KAA4B,EAAE,QAAwB,EAAE,MAAmB;IAC3G,eAAe,CACb,GAAG,EAAE;QACH,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,CACpE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAChD,CAAC;QACF,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,qEAAqE;IACrE,uDAAuD;IACvD,CAAC,KAAK,CAAC,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAO,KAA4B,EAAE,QAAwB;IACtF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAE7D,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;QACxC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,eAAe,CACb,GAAG,EAAE;QACH,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,yDAAyD;IACzD,uDAAuD;IACvD,EAAE,CACH,CAAC;IAEF,6FAA6F;IAC7F,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,KAAK,EAAE;QAC7C,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;KAC9B;IAED,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useLayoutEffect, useState } from \"react\";\n\nimport { usePrevious } from \"./use-previous\";\n\ntype Selector<S, R> = (state: S) => R;\ntype Listener<S> = (state: S, prevState: S) => void;\n\nexport interface ReadonlyAsyncStore<S> {\n get(): S;\n subscribe<R>(selector: Selector<S, R>, listener: Listener<S>): () => void;\n unsubscribe(listener: Listener<S>): void;\n}\n\nexport default class AsyncStore<S> implements ReadonlyAsyncStore<S> {\n private _state: S;\n private _listeners: [Selector<S, unknown>, Listener<S>][] = [];\n\n constructor(state: S) {\n this._state = state;\n }\n\n public get(): S {\n return this._state;\n }\n\n public set(cb: (state: S) => S): void {\n const prevState = this._state;\n const newState = cb(prevState);\n\n this._state = newState;\n\n for (const [selector, listener] of this._listeners) {\n if (selector(prevState) !== selector(newState)) {\n listener(newState, prevState);\n }\n }\n }\n\n public subscribe<R>(selector: Selector<S, R>, listener: Listener<S>): () => void {\n this._listeners.push([selector, listener]);\n\n return () => this.unsubscribe(listener);\n }\n\n public unsubscribe(listener: Listener<S>): void {\n this._listeners = this._listeners.filter(([, storedListener]) => storedListener !== listener);\n }\n}\n\nexport function useReaction<S, R>(store: ReadonlyAsyncStore<S>, selector: Selector<S, R>, effect: Listener<R>): void {\n useLayoutEffect(\n () => {\n const unsubscribe = store.subscribe(selector, (newState, prevState) =>\n effect(selector(newState), selector(prevState)),\n );\n return unsubscribe;\n },\n // ignoring selector and effect as they are expected to stay constant\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [store],\n );\n}\n\nexport function useSelector<S, R>(store: ReadonlyAsyncStore<S>, selector: Selector<S, R>): R {\n const [state, setState] = useState<R>(selector(store.get()));\n\n useReaction(store, selector, (newState) => {\n setState(newState);\n });\n\n useLayoutEffect(\n () => {\n setState(selector(store.get()));\n },\n // ignoring selector as we only need a single time update\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n // When store changes we need the state to be updated synchronously to avoid inconsistencies.\n const prevStore = usePrevious(store);\n if (prevStore !== null && prevStore !== store) {\n return selector(store.get());\n }\n\n return state;\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
export function getChartSeries(series) {
|
|
4
|
+
// Filters out internal series from chart, e.g., series from navigator, scrollbar, etc.
|
|
5
|
+
// When calling chart.series, the result includes both the main chart series
|
|
6
|
+
// and additional internal series (e.g., navigator series) when using Highstock navigator.
|
|
7
|
+
// We are adding datapoints and doing other calculations and using Highstock version with a
|
|
8
|
+
// navigator is causing duplicated unexpected datapoints and series entries in the chart.
|
|
9
|
+
return series.filter((s) => !s.options.isInternal);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=chart-series.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chart-series.js","sourceRoot":"","sources":["../../../../src/internal/utils/chart-series.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAYtC,MAAM,UAAU,cAAc,CAAC,MAAwB;IACrD,uFAAuF;IAEvF,4EAA4E;IAC5E,0FAA0F;IAE1F,2FAA2F;IAC3F,yFAAyF;IAEzF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACrD,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Series } from \"highcharts\";\n\n// isInternal is currently not a publicly supported prop\n// https://github.com/highcharts/highcharts/issues/23278\ninterface InternalSeries extends Series {\n options: Series[\"options\"] & {\n isInternal?: boolean;\n };\n}\n\nexport function getChartSeries(series: InternalSeries[]) {\n // Filters out internal series from chart, e.g., series from navigator, scrollbar, etc.\n\n // When calling chart.series, the result includes both the main chart series\n // and additional internal series (e.g., navigator series) when using Highstock navigator.\n\n // We are adding datapoints and doing other calculations and using Highstock version with a\n // navigator is causing duplicated unexpected datapoints and series entries in the chart.\n\n return series.filter((s) => !s.options.isInternal);\n}\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare class SVGRendererSingle {
|
|
2
|
+
element: null | Highcharts.SVGElement;
|
|
3
|
+
hide(): void;
|
|
4
|
+
destroy(): void;
|
|
5
|
+
circle(rr: Highcharts.SVGRenderer, attr: Highcharts.SVGAttributes): Highcharts.SVGElement;
|
|
6
|
+
rect(rr: Highcharts.SVGRenderer, attr: Highcharts.SVGAttributes): Highcharts.SVGElement;
|
|
7
|
+
path(rr: Highcharts.SVGRenderer, attr: Highcharts.SVGAttributes): Highcharts.SVGElement;
|
|
8
|
+
}
|
|
9
|
+
export declare class SVGRendererPool {
|
|
10
|
+
private elements;
|
|
11
|
+
private indices;
|
|
12
|
+
hideAll(): void;
|
|
13
|
+
destroyAll(): void;
|
|
14
|
+
circle(rr: Highcharts.SVGRenderer, attr: Highcharts.SVGAttributes): Highcharts.SVGElement;
|
|
15
|
+
rect(rr: Highcharts.SVGRenderer, attr: Highcharts.SVGAttributes): Highcharts.SVGElement;
|
|
16
|
+
path(rr: Highcharts.SVGRenderer, attr: Highcharts.SVGAttributes): Highcharts.SVGElement;
|
|
17
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
export class SVGRendererSingle {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.element = null;
|
|
6
|
+
}
|
|
7
|
+
hide() {
|
|
8
|
+
if (this.element && document.contains(this.element.element)) {
|
|
9
|
+
this.element.attr({ class: undefined }).hide();
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
this.destroy();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
destroy() {
|
|
16
|
+
var _a;
|
|
17
|
+
(_a = this.element) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
18
|
+
this.element = null;
|
|
19
|
+
}
|
|
20
|
+
circle(rr, attr) {
|
|
21
|
+
if (!this.element) {
|
|
22
|
+
this.element = rr.circle().add();
|
|
23
|
+
}
|
|
24
|
+
return this.element.attr(attr).show();
|
|
25
|
+
}
|
|
26
|
+
rect(rr, attr) {
|
|
27
|
+
if (!this.element) {
|
|
28
|
+
this.element = rr.rect().add();
|
|
29
|
+
}
|
|
30
|
+
return this.element.attr(attr).show();
|
|
31
|
+
}
|
|
32
|
+
path(rr, attr) {
|
|
33
|
+
if (!this.element) {
|
|
34
|
+
this.element = rr.path().add();
|
|
35
|
+
}
|
|
36
|
+
return this.element.attr(attr).show();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export class SVGRendererPool {
|
|
40
|
+
constructor() {
|
|
41
|
+
this.elements = {
|
|
42
|
+
circle: [],
|
|
43
|
+
rect: [],
|
|
44
|
+
path: [],
|
|
45
|
+
};
|
|
46
|
+
this.indices = { circle: 0, rect: 0, path: 0 };
|
|
47
|
+
}
|
|
48
|
+
hideAll() {
|
|
49
|
+
for (const key of ["circle", "rect", "path"]) {
|
|
50
|
+
this.elements[key] = this.elements[key].filter((element) => {
|
|
51
|
+
if (!document.contains(element.element)) {
|
|
52
|
+
element.destroy();
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
element.attr({ class: undefined }).hide();
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
this.indices[key] = 0;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
destroyAll() {
|
|
64
|
+
for (const key of ["circle", "rect", "path"]) {
|
|
65
|
+
this.elements[key].forEach((element) => element.destroy());
|
|
66
|
+
this.elements[key] = [];
|
|
67
|
+
this.indices[key] = 0;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
circle(rr, attr) {
|
|
71
|
+
if (this.elements.circle[this.indices.circle]) {
|
|
72
|
+
return this.elements.circle[this.indices.circle++].attr(attr).show();
|
|
73
|
+
}
|
|
74
|
+
const newCircle = rr.circle().add();
|
|
75
|
+
this.elements.circle.push(newCircle);
|
|
76
|
+
return this.circle(rr, attr);
|
|
77
|
+
}
|
|
78
|
+
rect(rr, attr) {
|
|
79
|
+
if (this.elements.rect[this.indices.rect]) {
|
|
80
|
+
return this.elements.rect[this.indices.rect++].attr(attr).show();
|
|
81
|
+
}
|
|
82
|
+
const newRect = rr.rect().add();
|
|
83
|
+
this.elements.rect.push(newRect);
|
|
84
|
+
return this.rect(rr, attr);
|
|
85
|
+
}
|
|
86
|
+
path(rr, attr) {
|
|
87
|
+
if (this.elements.path[this.indices.path]) {
|
|
88
|
+
return this.elements.path[this.indices.path++].attr(attr).show();
|
|
89
|
+
}
|
|
90
|
+
const newPath = rr.path().add();
|
|
91
|
+
this.elements.path.push(newPath);
|
|
92
|
+
return this.path(rr, attr);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=renderer-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer-utils.js","sourceRoot":"","sources":["../../../../src/internal/utils/renderer-utils.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\nexport class SVGRendererSingle {\n public element: null | Highcharts.SVGElement = null;\n\n public hide() {\n if (this.element && document.contains(this.element.element)) {\n this.element.attr({ class: undefined }).hide();\n } else {\n this.destroy();\n }\n }\n\n public destroy() {\n this.element?.destroy();\n this.element = null;\n }\n\n public circle(rr: Highcharts.SVGRenderer, attr: Highcharts.SVGAttributes): Highcharts.SVGElement {\n if (!this.element) {\n this.element = rr.circle().add();\n }\n return this.element.attr(attr).show();\n }\n\n public rect(rr: Highcharts.SVGRenderer, attr: Highcharts.SVGAttributes): Highcharts.SVGElement {\n if (!this.element) {\n this.element = rr.rect().add();\n }\n return this.element.attr(attr).show();\n }\n\n public path(rr: Highcharts.SVGRenderer, attr: Highcharts.SVGAttributes): Highcharts.SVGElement {\n if (!this.element) {\n this.element = rr.path().add();\n }\n return this.element.attr(attr).show();\n }\n}\n\nexport class SVGRendererPool {\n private elements = {\n circle: [] as Highcharts.SVGElement[],\n rect: [] as Highcharts.SVGElement[],\n path: [] as Highcharts.SVGElement[],\n };\n private indices = { circle: 0, rect: 0, path: 0 };\n\n public hideAll() {\n for (const key of [\"circle\", \"rect\", \"path\"] as const) {\n this.elements[key] = this.elements[key].filter((element) => {\n if (!document.contains(element.element)) {\n element.destroy();\n return false;\n } else {\n element.attr({ class: undefined }).hide();\n return true;\n }\n });\n this.indices[key] = 0;\n }\n }\n\n public destroyAll() {\n for (const key of [\"circle\", \"rect\", \"path\"] as const) {\n this.elements[key].forEach((element) => element.destroy());\n this.elements[key] = [];\n this.indices[key] = 0;\n }\n }\n\n public circle(rr: Highcharts.SVGRenderer, attr: Highcharts.SVGAttributes): Highcharts.SVGElement {\n if (this.elements.circle[this.indices.circle]) {\n return this.elements.circle[this.indices.circle++].attr(attr).show();\n }\n const newCircle = rr.circle().add();\n this.elements.circle.push(newCircle);\n return this.circle(rr, attr);\n }\n\n public rect(rr: Highcharts.SVGRenderer, attr: Highcharts.SVGAttributes): Highcharts.SVGElement {\n if (this.elements.rect[this.indices.rect]) {\n return this.elements.rect[this.indices.rect++].attr(attr).show();\n }\n const newRect = rr.rect().add();\n this.elements.rect.push(newRect);\n return this.rect(rr, attr);\n }\n\n public path(rr: Highcharts.SVGRenderer, attr: Highcharts.SVGAttributes): Highcharts.SVGElement {\n if (this.elements.path[this.indices.path]) {\n return this.elements.path[this.indices.path++].attr(attr).show();\n }\n const newPath = rr.path().add();\n this.elements.path.push(newPath);\n return this.path(rr, attr);\n }\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
// Although series data can't be undefined according to Highcharts API, it does become undefined for chart containing more datapoints
|
|
4
|
+
// than the cropThreshold for that series (specific cases of re-rendering the chart with updated options listening to setExteme updates)
|
|
5
|
+
export const getSeriesData = (data) => {
|
|
6
|
+
return data.filter((d) => !!d);
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=series-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"series-data.js","sourceRoot":"","sources":["../../../../src/internal/utils/series-data.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAItC,qIAAqI;AACrI,wIAAwI;AACxI,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAkB,EAAgB,EAAE;IAChE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { Point } from \"highcharts\";\n\n// Although series data can't be undefined according to Highcharts API, it does become undefined for chart containing more datapoints\n// than the cropThreshold for that series (specific cases of re-rendering the chart with updated options listening to setExteme updates)\nexport const getSeriesData = (data: Array<Point>): Array<Point> => {\n return data.filter((d) => !!d);\n};\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
interface TestI18nProviderProps {
|
|
3
|
+
messages: Record<string, Record<string, string>>;
|
|
4
|
+
locale?: string;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare function TestI18nProvider({ messages, locale, children }: TestI18nProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
import { I18nProvider } from "@cloudscape-design/components/i18n";
|
|
5
|
+
export function TestI18nProvider({ messages = {}, locale = "en", children }) {
|
|
6
|
+
return (_jsx(I18nProvider, { locale: locale, messages: [{ "@cloudscape-design/components": { [locale]: messages } }], children: children }));
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=test-i18n-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-i18n-provider.js","sourceRoot":"","sources":["../../../../src/internal/utils/test-i18n-provider.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAQlE,MAAM,UAAU,gBAAgB,CAAC,EAAE,QAAQ,GAAG,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAyB;IAChG,OAAO,CACL,KAAC,YAAY,IAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,+BAA+B,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,YAClG,QAAQ,GACI,CAChB,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { I18nProvider } from \"@cloudscape-design/components/i18n\";\n\ninterface TestI18nProviderProps {\n messages: Record<string, Record<string, string>>;\n locale?: string;\n children: React.ReactNode;\n}\n\nexport function TestI18nProvider({ messages = {}, locale = \"en\", children }: TestI18nProviderProps) {\n return (\n <I18nProvider locale={locale} messages={[{ \"@cloudscape-design/components\": { [locale]: messages } }]}>\n {children}\n </I18nProvider>\n );\n}\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import { useEffect, useRef } from "react";
|
|
4
|
+
/**
|
|
5
|
+
* This hook gives the value of any variable from the previous render invocation
|
|
6
|
+
*/
|
|
7
|
+
export const usePrevious = (value) => {
|
|
8
|
+
const ref = useRef();
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
ref.current = value;
|
|
11
|
+
});
|
|
12
|
+
return ref.current;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=use-previous.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-previous.js","sourceRoot":"","sources":["../../../../src/internal/utils/use-previous.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE1C;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,KAAQ,EAAE,EAAE;IACzC,MAAM,GAAG,GAAG,MAAM,EAAK,CAAC;IACxB,SAAS,CAAC,GAAG,EAAE;QACb,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC,OAAO,CAAC;AACrB,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useEffect, useRef } from \"react\";\n\n/**\n * This hook gives the value of any variable from the previous render invocation\n */\nexport const usePrevious = <T>(value: T) => {\n const ref = useRef<T>();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n};\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type SomeRequired<Type, Keys extends keyof Type> = Type & {
|
|
2
|
+
[Key in Keys]-?: Type[Key];
|
|
3
|
+
};
|
|
4
|
+
export type Writeable<T> = {
|
|
5
|
+
-readonly [P in keyof T]: T[P];
|
|
6
|
+
};
|
|
7
|
+
export declare function castArray<T>(valueOrArray?: T | T[]): undefined | T[];
|
|
8
|
+
export declare function isEqualArrays<T>(a: readonly T[], b: readonly T[], eq: (a: T, b: T) => boolean): boolean;
|
|
9
|
+
export declare class DebouncedCall {
|
|
10
|
+
private locked;
|
|
11
|
+
private lockTimeoutRef;
|
|
12
|
+
private timeoutRef;
|
|
13
|
+
call(callback: () => void, delay?: number): void;
|
|
14
|
+
cancelPrevious(): void;
|
|
15
|
+
lock(timeout: number): void;
|
|
16
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
export function castArray(valueOrArray) {
|
|
4
|
+
if (!valueOrArray) {
|
|
5
|
+
return undefined;
|
|
6
|
+
}
|
|
7
|
+
if (Array.isArray(valueOrArray)) {
|
|
8
|
+
return valueOrArray;
|
|
9
|
+
}
|
|
10
|
+
return [valueOrArray];
|
|
11
|
+
}
|
|
12
|
+
export function isEqualArrays(a, b, eq) {
|
|
13
|
+
if (a.length !== b.length) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
for (let i = 0; i < a.length; i++) {
|
|
17
|
+
if (!eq(a[i], b[i])) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
export class DebouncedCall {
|
|
24
|
+
constructor() {
|
|
25
|
+
this.locked = false;
|
|
26
|
+
this.lockTimeoutRef = setTimeout(() => { }, 0);
|
|
27
|
+
this.timeoutRef = setTimeout(() => { }, 0);
|
|
28
|
+
}
|
|
29
|
+
call(callback, delay = -1) {
|
|
30
|
+
if (!this.locked) {
|
|
31
|
+
this.cancelPrevious();
|
|
32
|
+
if (delay === -1) {
|
|
33
|
+
callback();
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
this.timeoutRef = setTimeout(callback, delay);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
cancelPrevious() {
|
|
41
|
+
clearTimeout(this.timeoutRef);
|
|
42
|
+
}
|
|
43
|
+
lock(timeout) {
|
|
44
|
+
clearTimeout(this.lockTimeoutRef);
|
|
45
|
+
this.locked = true;
|
|
46
|
+
this.lockTimeoutRef = setTimeout(() => (this.locked = false), timeout);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/internal/utils/utils.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAWtC,MAAM,UAAU,SAAS,CAAI,YAAsB;IACjD,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,SAAS,CAAC;KAClB;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QAC/B,OAAO,YAAY,CAAC;KACrB;IACD,OAAO,CAAC,YAAY,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,aAAa,CAAI,CAAe,EAAE,CAAe,EAAE,EAA2B;IAC5F,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE;QACzB,OAAO,KAAK,CAAC;KACd;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACjC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACnB,OAAO,KAAK,CAAC;SACd;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,OAAO,aAAa;IAA1B;QACU,WAAM,GAAG,KAAK,CAAC;QACf,mBAAc,GAAG,UAAU,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACzC,eAAU,GAAG,UAAU,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAsB/C,CAAC;IApBQ,IAAI,CAAC,QAAoB,EAAE,KAAK,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBAChB,QAAQ,EAAE,CAAC;aACZ;iBAAM;gBACL,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;aAC/C;SACF;IACH,CAAC;IAEM,cAAc;QACnB,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAEM,IAAI,CAAC,OAAe;QACzB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;CACF","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport type SomeRequired<Type, Keys extends keyof Type> = Type & {\n [Key in Keys]-?: Type[Key];\n};\n\n// Highcharts series and data arrays are not marked as readonly in TS, but are readonly effectively.\n// This creates a conflict with Cloudscape type definitions as we use readonly arrays on input.\n// To resolve the conflict, we cast out readonly types to writeable.\nexport type Writeable<T> = { -readonly [P in keyof T]: T[P] };\n\nexport function castArray<T>(valueOrArray?: T | T[]): undefined | T[] {\n if (!valueOrArray) {\n return undefined;\n }\n if (Array.isArray(valueOrArray)) {\n return valueOrArray;\n }\n return [valueOrArray];\n}\n\nexport function isEqualArrays<T>(a: readonly T[], b: readonly T[], eq: (a: T, b: T) => boolean) {\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (!eq(a[i], b[i])) {\n return false;\n }\n }\n return true;\n}\n\nexport class DebouncedCall {\n private locked = false;\n private lockTimeoutRef = setTimeout(() => {}, 0);\n private timeoutRef = setTimeout(() => {}, 0);\n\n public call(callback: () => void, delay = -1) {\n if (!this.locked) {\n this.cancelPrevious();\n if (delay === -1) {\n callback();\n } else {\n this.timeoutRef = setTimeout(callback, delay);\n }\n }\n }\n\n public cancelPrevious() {\n clearTimeout(this.timeoutRef);\n }\n\n public lock(timeout: number) {\n clearTimeout(this.lockTimeoutRef);\n this.locked = true;\n this.lockTimeoutRef = setTimeout(() => (this.locked = false), timeout);\n }\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
import { InternalCoreChart } from "../../core/chart-core";
|
|
5
|
+
import useBaseComponent from "../../internal/base-component/use-base-component";
|
|
6
|
+
import { applyDisplayName } from "../../internal/utils/apply-display-name";
|
|
7
|
+
function CoreChart({ keyboardNavigation = true, ...props }) {
|
|
8
|
+
const baseComponentProps = useBaseComponent("ChartCore", { props: {} });
|
|
9
|
+
return _jsx(InternalCoreChart, { keyboardNavigation: keyboardNavigation, ...props, ...baseComponentProps });
|
|
10
|
+
}
|
|
11
|
+
applyDisplayName(CoreChart, "CoreChart");
|
|
12
|
+
export default CoreChart;
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal-do-not-use/core-chart/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,gBAAgB,MAAM,kDAAkD,CAAC;AAChF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAI3E,SAAS,SAAS,CAAC,EAAE,kBAAkB,GAAG,IAAI,EAAE,GAAG,KAAK,EAAkB;IACxE,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACxE,OAAO,KAAC,iBAAiB,IAAC,kBAAkB,EAAE,kBAAkB,KAAM,KAAK,KAAM,kBAAkB,GAAI,CAAC;AAC1G,CAAC;AAED,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAEzC,eAAe,SAAS,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { InternalCoreChart } from \"../../core/chart-core\";\nimport { type CoreChartProps } from \"../../core/interfaces\";\nimport useBaseComponent from \"../../internal/base-component/use-base-component\";\nimport { applyDisplayName } from \"../../internal/utils/apply-display-name\";\n\nexport { CoreChartProps };\n\nfunction CoreChart({ keyboardNavigation = true, ...props }: CoreChartProps) {\n const baseComponentProps = useBaseComponent(\"ChartCore\", { props: {} });\n return <InternalCoreChart keyboardNavigation={keyboardNavigation} {...props} {...baseComponentProps} />;\n}\n\napplyDisplayName(CoreChart, \"CoreChart\");\n\nexport default CoreChart;\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { CoreLegendProps } from "../../core/interfaces";
|
|
2
|
+
export declare const CoreLegend: ({ items, title, actions, ariaLabel, alignment, onItemHighlight, onClearHighlight, onVisibleItemsChange, getLegendTooltipContent, }: CoreLegendProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ChartLegend as ChartLegendComponent } from "../../internal/components/chart-legend";
|
|
3
|
+
import { fireNonCancelableEvent } from "../../internal/events";
|
|
4
|
+
export const CoreLegend = ({ items, title, actions, ariaLabel, alignment = "horizontal", onItemHighlight, onClearHighlight, onVisibleItemsChange, getLegendTooltipContent, }) => {
|
|
5
|
+
const position = alignment === "horizontal" ? "bottom" : "side";
|
|
6
|
+
if (items.length === 0) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
return (_jsx(ChartLegendComponent, { items: items, actions: actions, legendTitle: title, position: position, ariaLabel: ariaLabel, getTooltipContent: (props) => { var _a; return (_a = getLegendTooltipContent === null || getLegendTooltipContent === void 0 ? void 0 : getLegendTooltipContent(props)) !== null && _a !== void 0 ? _a : null; }, onItemHighlightExit: () => fireNonCancelableEvent(onClearHighlight), onItemHighlightEnter: (item) => fireNonCancelableEvent(onItemHighlight, { item }), onItemVisibilityChange: (items) => fireNonCancelableEvent(onVisibleItemsChange, { items }) }));
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal-do-not-use/core-legend/index.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,KAAK,EACL,KAAK,EACL,OAAO,EACP,SAAS,EACT,SAAS,GAAG,YAAY,EACxB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,GACP,EAAE,EAAE;IACpB,MAAM,QAAQ,GAAG,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IAEhE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,KAAC,oBAAoB,IACnB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,KAAK,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,MAAA,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAG,KAAK,CAAC,mCAAI,IAAI,CAAA,EAAA,EACtE,mBAAmB,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,EACnE,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC,EACjF,sBAAsB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,CAAC,GAC1F,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { CoreLegendProps } from \"../../core/interfaces\";\nimport { ChartLegend as ChartLegendComponent } from \"../../internal/components/chart-legend\";\nimport { fireNonCancelableEvent } from \"../../internal/events\";\n\nexport const CoreLegend = ({\n items,\n title,\n actions,\n ariaLabel,\n alignment = \"horizontal\",\n onItemHighlight,\n onClearHighlight,\n onVisibleItemsChange,\n getLegendTooltipContent,\n}: CoreLegendProps) => {\n const position = alignment === \"horizontal\" ? \"bottom\" : \"side\";\n\n if (items.length === 0) {\n return null;\n }\n\n return (\n <ChartLegendComponent\n items={items}\n actions={actions}\n legendTitle={title}\n position={position}\n ariaLabel={ariaLabel}\n getTooltipContent={(props) => getLegendTooltipContent?.(props) ?? null}\n onItemHighlightExit={() => fireNonCancelableEvent(onClearHighlight)}\n onItemHighlightEnter={(item) => fireNonCancelableEvent(onItemHighlight, { item })}\n onItemVisibilityChange={(items) => fireNonCancelableEvent(onVisibleItemsChange, { items })}\n />\n );\n};\n"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cloudscape-design/chart-components",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"repository": {
|
|
5
|
+
"type": "git",
|
|
6
|
+
"url": "git+https://github.com/cloudscape-design/chart-components.git"
|
|
7
|
+
},
|
|
8
|
+
"homepage": "https://cloudscape.design",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": "./index.js",
|
|
11
|
+
"./cartesian-chart": "./cartesian-chart/index.js",
|
|
12
|
+
"./pie-chart": "./pie-chart/index.js",
|
|
13
|
+
"./test-utils/dom": "./test-utils/dom/index.js",
|
|
14
|
+
"./test-utils/dom/internal/core": "./test-utils/dom/internal/core.js",
|
|
15
|
+
"./test-utils/selectors": "./test-utils/selectors/index.js",
|
|
16
|
+
"./test-utils/selectors/internal/core": "./test-utils/selectors/internal/core.js",
|
|
17
|
+
"./internal/api-docs/*.js": "./internal/api-docs/*.js",
|
|
18
|
+
"./internal-do-not-use/core-chart": "./internal-do-not-use/core-chart/index.js",
|
|
19
|
+
"./internal-do-not-use/core-legend": "./internal-do-not-use/core-legend/index.js"
|
|
20
|
+
},
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"@cloudscape-design/component-toolkit": "^1.0.0-beta",
|
|
23
|
+
"clsx": "^1.2.1",
|
|
24
|
+
"highcharts-react-official": "^3.2.1"
|
|
25
|
+
},
|
|
26
|
+
"peerDependencies": {
|
|
27
|
+
"@cloudscape-design/components": "^3",
|
|
28
|
+
"@cloudscape-design/design-tokens": "^3",
|
|
29
|
+
"highcharts": "^12.2.0",
|
|
30
|
+
"react": ">=16.0.0"
|
|
31
|
+
},
|
|
32
|
+
"devDependencies": {
|
|
33
|
+
"@cloudscape-design/browser-test-tools": "^3.0.4",
|
|
34
|
+
"@cloudscape-design/build-tools": "^3.0.1",
|
|
35
|
+
"@cloudscape-design/code-view": "^3.0.45",
|
|
36
|
+
"@cloudscape-design/components": "^3",
|
|
37
|
+
"@cloudscape-design/design-tokens": "^3",
|
|
38
|
+
"@cloudscape-design/documenter": "^1.0.0",
|
|
39
|
+
"@cloudscape-design/global-styles": "^1.0.1",
|
|
40
|
+
"@cloudscape-design/test-utils-converter": "^1.0.0",
|
|
41
|
+
"@cloudscape-design/test-utils-core": "^1.0.0",
|
|
42
|
+
"@cloudscape-design/theming-build": "^1",
|
|
43
|
+
"@testing-library/jest-dom": "^5.16.5",
|
|
44
|
+
"@testing-library/react": "^15.0.7",
|
|
45
|
+
"@types/jest-image-snapshot": "^6.1.0",
|
|
46
|
+
"@types/lodash": "^4.17.16",
|
|
47
|
+
"@types/node": "^18.19.4",
|
|
48
|
+
"@types/react": "^18.0.26",
|
|
49
|
+
"@types/react-dom": "^18.0.10",
|
|
50
|
+
"@typescript-eslint/eslint-plugin": "^8.24.1",
|
|
51
|
+
"@typescript-eslint/parser": "^8.24.1",
|
|
52
|
+
"@vitejs/plugin-react": "^4.2.1",
|
|
53
|
+
"@vitest/coverage-v8": "^3.0.7",
|
|
54
|
+
"@vitest/eslint-plugin": "^1.1.31",
|
|
55
|
+
"chokidar-cli": "^3.0.0",
|
|
56
|
+
"deep-freeze-es6": "^1.4.1",
|
|
57
|
+
"delay-cli": "^2.0.0",
|
|
58
|
+
"eslint": "^8.57.0",
|
|
59
|
+
"eslint-config-prettier": "^9.1.0",
|
|
60
|
+
"eslint-plugin-header": "^3.1.1",
|
|
61
|
+
"eslint-plugin-import": "^2.26.0",
|
|
62
|
+
"eslint-plugin-no-unsanitized": "^4.0.2",
|
|
63
|
+
"eslint-plugin-prettier": "^5.1.3",
|
|
64
|
+
"eslint-plugin-react": "^7.31.11",
|
|
65
|
+
"eslint-plugin-react-hooks": "^4.6.0",
|
|
66
|
+
"eslint-plugin-simple-import-sort": "^12.1.1",
|
|
67
|
+
"eslint-plugin-unicorn": "^45.0.2",
|
|
68
|
+
"execa": "^6.1.0",
|
|
69
|
+
"globby": "^13.1.3",
|
|
70
|
+
"highcharts": "^12.2.0",
|
|
71
|
+
"husky": "^8.0.3",
|
|
72
|
+
"jest-image-snapshot": "^6.1.0",
|
|
73
|
+
"jsdom": "^20.0.3",
|
|
74
|
+
"lint-staged": "^15.5.0",
|
|
75
|
+
"lodash": "^4.17.21",
|
|
76
|
+
"npm-run-all": "^4.1.5",
|
|
77
|
+
"prettier": "^3.2.5",
|
|
78
|
+
"puppeteer-core": "^24.10.2",
|
|
79
|
+
"react": "^18.2.0",
|
|
80
|
+
"react-dom": "^18.2.0",
|
|
81
|
+
"react-router-dom": "^6.6.1",
|
|
82
|
+
"stylelint": "^16.9.0",
|
|
83
|
+
"stylelint-config-recommended-scss": "^14.1.0",
|
|
84
|
+
"stylelint-prettier": "^5.0.2",
|
|
85
|
+
"typescript": "^4.9.4",
|
|
86
|
+
"vite": "^6.3.4",
|
|
87
|
+
"vitest": "^3.0.7"
|
|
88
|
+
},
|
|
89
|
+
"//": "ensure that typedoc uses latest typescript. It prints a warning, but works",
|
|
90
|
+
"overrides": {
|
|
91
|
+
"typescript": "^4.9.4"
|
|
92
|
+
},
|
|
93
|
+
"lint-staged": {
|
|
94
|
+
"*.{js,jsx,ts,tsx}": [
|
|
95
|
+
"eslint --fix"
|
|
96
|
+
],
|
|
97
|
+
"*.{scss,css}": [
|
|
98
|
+
"stylelint --fix"
|
|
99
|
+
],
|
|
100
|
+
"package-lock.json": [
|
|
101
|
+
"./scripts/prepare-package-lock.js"
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
"license": "Apache-2.0",
|
|
105
|
+
"scripts": {}
|
|
106
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type Highcharts from "highcharts";
|
|
2
|
+
import { PieChartProps } from "./interfaces";
|
|
3
|
+
interface InnerAreaProps {
|
|
4
|
+
innerAreaTitle?: string;
|
|
5
|
+
innerAreaDescription?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function useInnerArea(series: readonly PieChartProps.SeriesOptions[], innerAreaProps: InnerAreaProps): {
|
|
8
|
+
onChartRender: Highcharts.ChartRenderCallbackFunction;
|
|
9
|
+
};
|
|
10
|
+
export {};
|