@cloudscape-design/chart-components 1.0.45 → 1.0.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/cartesian-chart/chart-cartesian-internal.js.map +1 -1
  2. package/cartesian-chart/chart-series-cartesian.js.map +1 -1
  3. package/cartesian-chart/index.js.map +1 -1
  4. package/cartesian-chart/interfaces.js.map +1 -1
  5. package/core/chart-api/chart-extra-axis-titles.js.map +1 -1
  6. package/core/chart-api/chart-extra-context.js.map +1 -1
  7. package/core/chart-api/chart-extra-highlight.js.map +1 -1
  8. package/core/chart-api/chart-extra-legend.js.map +1 -1
  9. package/core/chart-api/chart-extra-navigation.js.map +1 -1
  10. package/core/chart-api/chart-extra-nodata.js.map +1 -1
  11. package/core/chart-api/chart-extra-pointer.js.map +1 -1
  12. package/core/chart-api/chart-extra-tooltip.d.ts +2 -2
  13. package/core/chart-api/chart-extra-tooltip.js.map +1 -1
  14. package/core/chart-api/index.d.ts +7 -7
  15. package/core/chart-api/index.js.map +1 -1
  16. package/core/chart-core.js.map +1 -1
  17. package/core/components/core-legend.js.map +1 -1
  18. package/core/components/core-no-data.js.map +1 -1
  19. package/core/components/core-tooltip.js.map +1 -1
  20. package/core/components/core-vertical-axis-title.js.map +1 -1
  21. package/core/formatters.js.map +1 -1
  22. package/core/i18n-utils.js.map +1 -1
  23. package/core/interfaces.js.map +1 -1
  24. package/core/utils.js +3 -0
  25. package/core/utils.js.map +1 -1
  26. package/internal/api-docs/components/cartesian-chart.js +2 -2
  27. package/internal/api-docs/components/pie-chart.js +2 -2
  28. package/internal/base-component/get-data-attributes.js.map +1 -1
  29. package/internal/components/chart-legend/index.js.map +1 -1
  30. package/internal/components/series-details/index.js.map +1 -1
  31. package/internal/components/series-marker/render-marker.js.map +1 -1
  32. package/internal/environment.js +1 -1
  33. package/internal/environment.json +1 -1
  34. package/internal/events/index.js.map +1 -1
  35. package/internal/manifest.json +1 -1
  36. package/internal/utils/async-store.js.map +1 -1
  37. package/internal/utils/dom.js.map +1 -1
  38. package/internal/utils/renderer-utils.js.map +1 -1
  39. package/internal/utils/use-debounced-value.js.map +1 -1
  40. package/internal/utils/utils.js.map +1 -1
  41. package/internal-do-not-use/core-legend/index.js.map +1 -1
  42. package/package.json +4 -4
  43. package/pie-chart/chart-inner-area.js.map +1 -1
  44. package/pie-chart/chart-pie-internal.js.map +1 -1
  45. package/pie-chart/index.js.map +1 -1
  46. package/test-utils/dom/cartesian-chart/index.js +1 -1
  47. package/test-utils/dom/cartesian-chart/index.js.map +1 -1
  48. package/test-utils/dom/index.js +1 -1
  49. package/test-utils/dom/index.js.map +1 -1
  50. package/test-utils/dom/internal/base.js +1 -1
  51. package/test-utils/dom/internal/base.js.map +1 -1
  52. package/test-utils/dom/pie-chart/index.js +1 -1
  53. package/test-utils/dom/pie-chart/index.js.map +1 -1
  54. package/test-utils/selectors/cartesian-chart/index.js +1 -1
  55. package/test-utils/selectors/cartesian-chart/index.js.map +1 -1
  56. package/test-utils/selectors/index.js +1 -1
  57. package/test-utils/selectors/index.js.map +1 -1
  58. package/test-utils/selectors/internal/base.js +1 -1
  59. package/test-utils/selectors/internal/base.js.map +1 -1
  60. package/test-utils/selectors/pie-chart/index.js +1 -1
  61. package/test-utils/selectors/pie-chart/index.js.map +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "PACKAGE_SOURCE": "chart-components",
3
- "PACKAGE_VERSION": "1.0.0 (1885ee4f)",
3
+ "PACKAGE_VERSION": "1.0.0 (668220c0)",
4
4
  "THEME": "open-source-visual-refresh",
5
5
  "ALWAYS_VISUAL_REFRESH": true,
6
6
  "SYSTEM": "core"
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/events/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAiBtC,MAAM,OAAO,eAAe;IAG1B,YACS,aAAsB,KAAK,EAC3B,SAAmB,IAAI;QADvB,eAAU,GAAV,UAAU,CAAiB;QAC3B,WAAM,GAAN,MAAM,CAAiB;QAJhC,qBAAgB,GAAG,KAAK,CAAC;QACzB,iBAAY,GAAG,KAAK,CAAC;IAIlB,CAAC;IAEJ,cAAc;QACZ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,eAAe;QACb,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,UAAU,iBAAiB,CAAI,EAAE,UAAU,EAAE,MAAM,EAAsB;IAC7E,OAAO,IAAI,eAAe,CAAC,UAAU,EAAE,MAAM,CAAgB,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAA8C,EAC9C,MAAS,EACT,WAA0C;IAE1C,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,KAAK,CAAC;KACd;IACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,KAAK,CAAC,CAAC;IACf,IAAI,KAAK,CAAC,gBAAgB,IAAI,WAAW,EAAE;QACzC,WAAW,CAAC,cAAc,EAAE,CAAC;KAC9B;IACD,IAAI,KAAK,CAAC,YAAY,IAAI,WAAW,EAAE;QACrC,WAAW,CAAC,eAAe,EAAE,CAAC;KAC/B;IACD,OAAO,KAAK,CAAC,gBAAgB,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAW,OAAiD,EAAE,MAAU;IAC5G,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO;KACR;IACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport type CancelableEventHandler<Detail = object> = (event: CustomEvent<Detail>) => void;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport type NonCancelableEventHandler<Detail = {}> = (event: NonCancelableCustomEvent<Detail>) => void;\n\nexport type NonCancelableCustomEvent<DetailType> = Omit<CustomEvent<DetailType>, \"preventDefault\">;\n\nexport interface ClickDetail {\n button: number;\n ctrlKey: boolean;\n shiftKey: boolean;\n altKey: boolean;\n metaKey: boolean;\n}\n\nexport class CustomEventStub<T> {\n defaultPrevented = false;\n cancelBubble = false;\n constructor(\n public cancelable: boolean = false,\n public detail: T | null = null,\n ) {}\n\n preventDefault() {\n this.defaultPrevented = true;\n }\n\n stopPropagation() {\n this.cancelBubble = true;\n }\n}\n\nexport function createCustomEvent<T>({ cancelable, detail }: CustomEventInit<T>): CustomEvent<T> {\n return new CustomEventStub(cancelable, detail) as CustomEvent;\n}\n\nexport function fireCancelableEvent<T>(\n handler: CancelableEventHandler<T> | undefined,\n detail: T,\n sourceEvent?: React.SyntheticEvent | Event,\n) {\n if (!handler) {\n return false;\n }\n const event = createCustomEvent({ cancelable: true, detail });\n handler(event);\n if (event.defaultPrevented && sourceEvent) {\n sourceEvent.preventDefault();\n }\n if (event.cancelBubble && sourceEvent) {\n sourceEvent.stopPropagation();\n }\n return event.defaultPrevented;\n}\n\nexport function fireNonCancelableEvent<T = null>(handler: NonCancelableEventHandler<T> | undefined, detail?: T) {\n if (!handler) {\n return;\n }\n const event = createCustomEvent({ cancelable: false, detail });\n handler(event);\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/events/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAiBtC,MAAM,OAAO,eAAe;IAG1B,YACS,aAAsB,KAAK,EAC3B,SAAmB,IAAI;QADvB,eAAU,GAAV,UAAU,CAAiB;QAC3B,WAAM,GAAN,MAAM,CAAiB;QAJhC,qBAAgB,GAAG,KAAK,CAAC;QACzB,iBAAY,GAAG,KAAK,CAAC;IAIlB,CAAC;IAEJ,cAAc;QACZ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,eAAe;QACb,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,UAAU,iBAAiB,CAAI,EAAE,UAAU,EAAE,MAAM,EAAsB;IAC7E,OAAO,IAAI,eAAe,CAAC,UAAU,EAAE,MAAM,CAAgB,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAA8C,EAC9C,MAAS,EACT,WAA0C;IAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,KAAK,CAAC,CAAC;IACf,IAAI,KAAK,CAAC,gBAAgB,IAAI,WAAW,EAAE,CAAC;QAC1C,WAAW,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,IAAI,WAAW,EAAE,CAAC;QACtC,WAAW,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC,gBAAgB,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAW,OAAiD,EAAE,MAAU;IAC5G,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport type CancelableEventHandler<Detail = object> = (event: CustomEvent<Detail>) => void;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport type NonCancelableEventHandler<Detail = {}> = (event: NonCancelableCustomEvent<Detail>) => void;\n\nexport type NonCancelableCustomEvent<DetailType> = Omit<CustomEvent<DetailType>, \"preventDefault\">;\n\nexport interface ClickDetail {\n button: number;\n ctrlKey: boolean;\n shiftKey: boolean;\n altKey: boolean;\n metaKey: boolean;\n}\n\nexport class CustomEventStub<T> {\n defaultPrevented = false;\n cancelBubble = false;\n constructor(\n public cancelable: boolean = false,\n public detail: T | null = null,\n ) {}\n\n preventDefault() {\n this.defaultPrevented = true;\n }\n\n stopPropagation() {\n this.cancelBubble = true;\n }\n}\n\nexport function createCustomEvent<T>({ cancelable, detail }: CustomEventInit<T>): CustomEvent<T> {\n return new CustomEventStub(cancelable, detail) as CustomEvent;\n}\n\nexport function fireCancelableEvent<T>(\n handler: CancelableEventHandler<T> | undefined,\n detail: T,\n sourceEvent?: React.SyntheticEvent | Event,\n) {\n if (!handler) {\n return false;\n }\n const event = createCustomEvent({ cancelable: true, detail });\n handler(event);\n if (event.defaultPrevented && sourceEvent) {\n sourceEvent.preventDefault();\n }\n if (event.cancelBubble && sourceEvent) {\n sourceEvent.stopPropagation();\n }\n return event.defaultPrevented;\n}\n\nexport function fireNonCancelableEvent<T = null>(handler: NonCancelableEventHandler<T> | undefined, detail?: T) {\n if (!handler) {\n return;\n }\n const event = createCustomEvent({ cancelable: false, detail });\n handler(event);\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  {
2
- "commit": "1885ee4f46f0dd395f03aeedeb26d1f0f244ad95"
2
+ "commit": "668220c088c4e7f47c878de379595ddfec0a74ac"
3
3
  }
@@ -1 +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"]}
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,CAAC;YACnD,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/C,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;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,CAAC;QAC9C,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/B,CAAC;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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../../../src/internal/utils/dom.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC;;;;;;;GAOG;AACH,MAAM,UAAU,8BAA8B,CAC5C,OAAoB,EACpB,OAAiE;;IAEjE,oGAAoG;IACpG,IAAI,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,EAAE;QAC5B,OAAO;KACR;IAED,oDAAoD;IACpD,yEAAyE;IACzE,oEAAoE;IACpE,MAAM,YAAY,GAAG,MAAA,eAAe,CAAC,OAAO,CAAC,mCAAI,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC;IACvF,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAC1G,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC,qBAAqB,EAAE,CAAC;IAE5G,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,MAAK,WAAW,EAAE;QACvC,gGAAgG;QAChG,uGAAuG;QACvG,MAAM,QAAQ,GAAG,UAAU,GAAG,SAAS,IAAI,aAAa,GAAG,YAAY,CAAC;QACxE,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;KACF;IAED,MAAM,mBAAmB,GAAG,UAAU,GAAG,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5E,MAAM,iBAAiB,GAAG,YAAY,GAAG,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC;IAC/D,YAAY,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,mBAAmB,GAAG,iBAAiB,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,eAAe,CAAC,OAAoB;IAC3C,KACE,IAAI,IAAI,GAAuB,OAAO,CAAC,aAAa,EACpD,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,OAAO,CAAC,aAAa,CAAC,IAAI,EACpD,IAAI,GAAG,IAAI,CAAC,aAAa,EACzB;QACA,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;QACjD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,EAAE;YACnD,OAAO,IAAI,CAAC;SACb;KACF;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * Polyfill for `element.scrollIntoView({ container: \"nearest\", scrollMode: \"...\" })`\n * For ease of implementation, behaves like `{ block: \"center\" }` is provided.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView (for `container`)\n * @see https://caniuse.com/wf-scroll-into-view-container (for `container` browser support)\n * @see https://github.com/w3c/csswg-drafts/pull/5677 (for discussion of `if-needed`)\n */\nexport function scrollIntoViewNearestContainer(\n element: HTMLElement,\n options?: ScrollOptions & { scrollMode?: \"always\" | \"if-needed\" },\n) {\n // Scroll methods (scrollTo, scrollIntoView, etc) are not supported in test environments like JSDOM.\n if (!(\"scrollTo\" in element)) {\n return;\n }\n\n // Get element boundaries to measure scroll offsets.\n // In the future, could be replaced with a simple `element.scrollParent`.\n // https://drafts.csswg.org/cssom-view/#dom-htmlelement-scrollparent\n const scrollParent = getScrollParent(element) ?? element.ownerDocument.documentElement;\n const { top: elementTop, bottom: elementBottom, height: elementHeight } = element.getBoundingClientRect();\n const { top: scrollTop, bottom: scrollBottom, height: scrollHeight } = scrollParent.getBoundingClientRect();\n\n if (options?.scrollMode === \"if-needed\") {\n // Technically, getBoundingClientRect() returns the border-box, which includes the border width.\n // We should subtract the border width to get the padding box, but all that computation isn't worth it.\n const isNeeded = elementTop < scrollTop || elementBottom > scrollBottom;\n if (!isNeeded) {\n return;\n }\n }\n\n const topRelativeToParent = elementTop + scrollParent.scrollTop - scrollTop;\n const blockCenterOffset = scrollHeight / 2 - elementHeight / 2;\n scrollParent.scrollTo({ top: topRelativeToParent - blockCenterOffset, ...options });\n}\n\nfunction getScrollParent(element: HTMLElement): HTMLElement | null {\n for (\n let node: HTMLElement | null = element.parentElement;\n node !== null && node !== element.ownerDocument.body;\n node = node.parentElement\n ) {\n const overflow = getComputedStyle(node).overflow;\n if (overflow !== \"visible\" && overflow !== \"hidden\") {\n return node;\n }\n }\n return null;\n}\n"]}
1
+ {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../../../src/internal/utils/dom.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC;;;;;;;GAOG;AACH,MAAM,UAAU,8BAA8B,CAC5C,OAAoB,EACpB,OAAiE;;IAEjE,oGAAoG;IACpG,IAAI,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,oDAAoD;IACpD,yEAAyE;IACzE,oEAAoE;IACpE,MAAM,YAAY,GAAG,MAAA,eAAe,CAAC,OAAO,CAAC,mCAAI,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC;IACvF,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAC1G,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC,qBAAqB,EAAE,CAAC;IAE5G,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,MAAK,WAAW,EAAE,CAAC;QACxC,gGAAgG;QAChG,uGAAuG;QACvG,MAAM,QAAQ,GAAG,UAAU,GAAG,SAAS,IAAI,aAAa,GAAG,YAAY,CAAC;QACxE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,mBAAmB,GAAG,UAAU,GAAG,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5E,MAAM,iBAAiB,GAAG,YAAY,GAAG,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC;IAC/D,YAAY,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,mBAAmB,GAAG,iBAAiB,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,eAAe,CAAC,OAAoB;IAC3C,KACE,IAAI,IAAI,GAAuB,OAAO,CAAC,aAAa,EACpD,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,OAAO,CAAC,aAAa,CAAC,IAAI,EACpD,IAAI,GAAG,IAAI,CAAC,aAAa,EACzB,CAAC;QACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;QACjD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * Polyfill for `element.scrollIntoView({ container: \"nearest\", scrollMode: \"...\" })`\n * For ease of implementation, behaves like `{ block: \"center\" }` is provided.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView (for `container`)\n * @see https://caniuse.com/wf-scroll-into-view-container (for `container` browser support)\n * @see https://github.com/w3c/csswg-drafts/pull/5677 (for discussion of `if-needed`)\n */\nexport function scrollIntoViewNearestContainer(\n element: HTMLElement,\n options?: ScrollOptions & { scrollMode?: \"always\" | \"if-needed\" },\n) {\n // Scroll methods (scrollTo, scrollIntoView, etc) are not supported in test environments like JSDOM.\n if (!(\"scrollTo\" in element)) {\n return;\n }\n\n // Get element boundaries to measure scroll offsets.\n // In the future, could be replaced with a simple `element.scrollParent`.\n // https://drafts.csswg.org/cssom-view/#dom-htmlelement-scrollparent\n const scrollParent = getScrollParent(element) ?? element.ownerDocument.documentElement;\n const { top: elementTop, bottom: elementBottom, height: elementHeight } = element.getBoundingClientRect();\n const { top: scrollTop, bottom: scrollBottom, height: scrollHeight } = scrollParent.getBoundingClientRect();\n\n if (options?.scrollMode === \"if-needed\") {\n // Technically, getBoundingClientRect() returns the border-box, which includes the border width.\n // We should subtract the border width to get the padding box, but all that computation isn't worth it.\n const isNeeded = elementTop < scrollTop || elementBottom > scrollBottom;\n if (!isNeeded) {\n return;\n }\n }\n\n const topRelativeToParent = elementTop + scrollParent.scrollTop - scrollTop;\n const blockCenterOffset = scrollHeight / 2 - elementHeight / 2;\n scrollParent.scrollTo({ top: topRelativeToParent - blockCenterOffset, ...options });\n}\n\nfunction getScrollParent(element: HTMLElement): HTMLElement | null {\n for (\n let node: HTMLElement | null = element.parentElement;\n node !== null && node !== element.ownerDocument.body;\n node = node.parentElement\n ) {\n const overflow = getComputedStyle(node).overflow;\n if (overflow !== \"visible\" && overflow !== \"hidden\") {\n return node;\n }\n }\n return null;\n}\n"]}
@@ -1 +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"]}
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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"use-debounced-value.js","sourceRoot":"","sources":["../../../../src/internal/utils/use-debounced-value.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,UAAU,iBAAiB,CAAI,KAAQ,EAAE,QAAgB;IAC7D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAW,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAQ,IAAI,CAAC,EAAE;YACjB,OAAO;SACR;QAED,eAAe,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;YAChB,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,eAAe,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,EAAE,QAAQ,CAAC,CAAC;QAEb,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IACxC,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEtB,IAAI,QAAQ,IAAI,CAAC,EAAE;QACjB,OAAO,KAAK,CAAC;KACd;IAED,OAAO,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9C,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { DebouncedCall } from \"./utils\";\n\nexport function useDebouncedValue<T>(value: T, duration: number) {\n const [debouncedValue, setDebouncedValue] = useState<T | null>(null);\n const [shouldRender, setShouldRender] = useState(false);\n const debouncedCall = useRef(new DebouncedCall());\n\n useEffect(() => {\n if (duration <= 0) {\n return;\n }\n\n setShouldRender(false);\n const current = debouncedCall.current;\n current.call(() => {\n setDebouncedValue(value);\n setShouldRender(true);\n }, duration);\n\n return () => current.cancelPrevious();\n }, [value, duration]);\n\n if (duration <= 0) {\n return value;\n }\n\n return shouldRender ? debouncedValue : null;\n}\n"]}
1
+ {"version":3,"file":"use-debounced-value.js","sourceRoot":"","sources":["../../../../src/internal/utils/use-debounced-value.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,UAAU,iBAAiB,CAAI,KAAQ,EAAE,QAAgB;IAC7D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAW,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,eAAe,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;YAChB,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,eAAe,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,EAAE,QAAQ,CAAC,CAAC;QAEb,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IACxC,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEtB,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9C,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { DebouncedCall } from \"./utils\";\n\nexport function useDebouncedValue<T>(value: T, duration: number) {\n const [debouncedValue, setDebouncedValue] = useState<T | null>(null);\n const [shouldRender, setShouldRender] = useState(false);\n const debouncedCall = useRef(new DebouncedCall());\n\n useEffect(() => {\n if (duration <= 0) {\n return;\n }\n\n setShouldRender(false);\n const current = debouncedCall.current;\n current.call(() => {\n setDebouncedValue(value);\n setShouldRender(true);\n }, duration);\n\n return () => current.cancelPrevious();\n }, [value, duration]);\n\n if (duration <= 0) {\n return value;\n }\n\n return shouldRender ? debouncedValue : null;\n}\n"]}
@@ -1 +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"]}
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,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,OAAO,YAAY,CAAC;IACtB,CAAC;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,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;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,CAAC;YACjB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,QAAQ,EAAE,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal-do-not-use/core-legend/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,wDAAwD,CAAC;AAGzF,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,EAAE,eAAe,EAC1B,SAAS,GAAG,YAAY,EACxB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,GAAG,OAAO,GACb,EAAE,EAAE;IACpB,MAAM,IAAI,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,6BAA6B,EAAE,eAAe,CAAC,CAAC;IAEvE,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,EAAE;QACtC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACjC,sBAAsB,CAAC,oBAAoB,EAAE;gBAC3C,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,KAAK,MAAM,CAAC;aACxE,CAAC,CAAC;SACJ;aAAM;YACL,sBAAsB,CAAC,oBAAoB,EAAE;gBAC3C,KAAK,EAAE,CAAC,GAAG,YAAY,EAAE,MAAM,CAAC;aACjC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,EAAE;QACtC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;YAC3D,sBAAsB,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACjF;aAAM;YACL,sBAAsB,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACnE;IACH,CAAC,CAAC;IAEF,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,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,mBAAmB,EACxC,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EACvD,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,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,GACjF,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 { useInternalI18n } from \"@cloudscape-design/components/internal/do-not-use/i18n\";\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: legendAriaLabel,\n alignment = \"horizontal\",\n onItemHighlight,\n onClearHighlight,\n onVisibleItemsChange,\n getLegendTooltipContent,\n horizontalAlignment = \"start\",\n}: CoreLegendProps) => {\n const i18n = useInternalI18n(\"[charts]\");\n const ariaLabel = i18n(\"i18nStrings.legendAriaLabel\", legendAriaLabel);\n\n const onToggleItem = (itemId: string) => {\n const visibleItems = items.filter((i) => i.visible).map((i) => i.id);\n if (visibleItems.includes(itemId)) {\n fireNonCancelableEvent(onVisibleItemsChange, {\n items: visibleItems.filter((visibleItemId) => visibleItemId !== itemId),\n });\n } else {\n fireNonCancelableEvent(onVisibleItemsChange, {\n items: [...visibleItems, itemId],\n });\n }\n };\n\n const onSelectItem = (itemId: string) => {\n const visibleItems = items.filter((i) => i.visible).map((i) => i.id);\n if (visibleItems.length === 1 && visibleItems[0] === itemId) {\n fireNonCancelableEvent(onVisibleItemsChange, { items: items.map((i) => i.id) });\n } else {\n fireNonCancelableEvent(onVisibleItemsChange, { items: [itemId] });\n }\n };\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 alignment={alignment}\n horizontalAlignment={horizontalAlignment}\n ariaLabel={ariaLabel}\n someHighlighted={items.some((item) => item.highlighted)}\n onToggleItem={onToggleItem}\n onSelectItem={onSelectItem}\n getTooltipContent={(props) => getLegendTooltipContent?.(props) ?? null}\n onItemHighlightExit={() => fireNonCancelableEvent(onClearHighlight)}\n onItemHighlightEnter={(item) => fireNonCancelableEvent(onItemHighlight, { item })}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal-do-not-use/core-legend/index.tsx"],"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 { useInternalI18n } from \"@cloudscape-design/components/internal/do-not-use/i18n\";\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: legendAriaLabel,\n alignment = \"horizontal\",\n onItemHighlight,\n onClearHighlight,\n onVisibleItemsChange,\n getLegendTooltipContent,\n horizontalAlignment = \"start\",\n}: CoreLegendProps) => {\n const i18n = useInternalI18n(\"[charts]\");\n const ariaLabel = i18n(\"i18nStrings.legendAriaLabel\", legendAriaLabel);\n\n const onToggleItem = (itemId: string) => {\n const visibleItems = items.filter((i) => i.visible).map((i) => i.id);\n if (visibleItems.includes(itemId)) {\n fireNonCancelableEvent(onVisibleItemsChange, {\n items: visibleItems.filter((visibleItemId) => visibleItemId !== itemId),\n });\n } else {\n fireNonCancelableEvent(onVisibleItemsChange, {\n items: [...visibleItems, itemId],\n });\n }\n };\n\n const onSelectItem = (itemId: string) => {\n const visibleItems = items.filter((i) => i.visible).map((i) => i.id);\n if (visibleItems.length === 1 && visibleItems[0] === itemId) {\n fireNonCancelableEvent(onVisibleItemsChange, { items: items.map((i) => i.id) });\n } else {\n fireNonCancelableEvent(onVisibleItemsChange, { items: [itemId] });\n }\n };\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 alignment={alignment}\n horizontalAlignment={horizontalAlignment}\n ariaLabel={ariaLabel}\n someHighlighted={items.some((item) => item.highlighted)}\n onToggleItem={onToggleItem}\n onSelectItem={onSelectItem}\n getTooltipContent={(props) => getLegendTooltipContent?.(props) ?? null}\n onItemHighlightExit={() => fireNonCancelableEvent(onClearHighlight)}\n onItemHighlightEnter={(item) => fireNonCancelableEvent(onItemHighlight, { item })}\n />\n );\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudscape-design/chart-components",
3
- "version": "1.0.45",
3
+ "version": "1.0.46",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/cloudscape-design/chart-components.git"
@@ -84,13 +84,13 @@
84
84
  "stylelint": "^16.9.0",
85
85
  "stylelint-config-recommended-scss": "^14.1.0",
86
86
  "stylelint-prettier": "^5.0.2",
87
- "typescript": "^4.9.4",
87
+ "typescript": "^5.9.2",
88
88
  "vite": "^6.4.1",
89
89
  "vitest": "^3.0.7"
90
90
  },
91
91
  "//": "ensure that typedoc uses latest typescript. It prints a warning, but works",
92
92
  "overrides": {
93
- "typescript": "^4.9.4",
93
+ "typescript": "^5.9.2",
94
94
  "glob": "^10.5.0"
95
95
  },
96
96
  "lint-staged": {
@@ -101,7 +101,7 @@
101
101
  "stylelint --fix"
102
102
  ],
103
103
  "package-lock.json": [
104
- "./scripts/prepare-package-lock.js"
104
+ "prepare-package-lock"
105
105
  ]
106
106
  },
107
107
  "license": "Apache-2.0",
@@ -1 +1 @@
1
- {"version":3,"file":"chart-inner-area.js","sourceRoot":"","sources":["../../../src/pie-chart/chart-inner-area.tsx"],"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 { useRef } from \"react\";\nimport type Highcharts from \"highcharts\";\n\nimport * as Styles from \"../internal/chart-styles\";\nimport { getChartSeries } from \"../internal/utils/chart-series\";\nimport { PieChartProps } from \"./interfaces\";\n\nimport testClasses from \"./test-classes/styles.css.js\";\n\ninterface InnerAreaProps {\n innerAreaTitle?: string;\n innerAreaDescription?: string;\n}\n\nexport function useInnerArea(series: readonly PieChartProps.SeriesOptions[], innerAreaProps: InnerAreaProps) {\n const hasDonutSeries = series.some((s) => s.type === \"donut\");\n const innerAreaRef = useRef(new ChartInnerDescriptions());\n const onChartRender: Highcharts.ChartRenderCallbackFunction = function () {\n innerAreaRef.current.destroy();\n if (hasDonutSeries && findVisibleSeries(this.series).length > 0) {\n innerAreaRef.current.create(innerAreaProps, this);\n }\n };\n return { onChartRender };\n}\n\nclass ChartInnerDescriptions {\n private titleElement: null | Highcharts.SVGElement = null;\n private descriptionElement: null | Highcharts.SVGElement = null;\n\n public create({ innerAreaTitle, innerAreaDescription }: InnerAreaProps, chart: Highcharts.Chart) {\n const centerX = chart.plotLeft + getChartSeries(chart.series)[0].center[0];\n const centerY = chart.plotTop + getChartSeries(chart.series)[0].center[1];\n\n if (innerAreaTitle) {\n this.titleElement = chart.renderer\n .text(innerAreaTitle, -9999, -9999)\n .attr({ zIndex: 5, class: testClasses[\"inner-value\"] })\n .css(Styles.innerAreaTitleCss)\n .add();\n }\n if (innerAreaDescription) {\n this.descriptionElement = chart.renderer\n .text(innerAreaDescription, -9999, -9999)\n .attr({ zIndex: 5, class: testClasses[\"inner-description\"] })\n .css(Styles.innerAreaDescriptionCss)\n .add();\n }\n\n const titleBox = this.titleElement?.getBBox();\n const descriptionBox = this.descriptionElement?.getBBox();\n\n if (titleBox && descriptionBox) {\n this.titleElement!.attr({ x: centerX - titleBox.width / 2, y: centerY - titleBox.height / 4 });\n this.descriptionElement!.attr({ x: centerX - descriptionBox.width / 2, y: centerY + descriptionBox.height / 2 });\n } else if (titleBox) {\n this.titleElement!.attr({ x: centerX - titleBox.width / 2, y: centerY + titleBox.height / 4 });\n } else if (descriptionBox) {\n this.descriptionElement!.attr({ x: centerX - descriptionBox.width / 2, y: centerY + descriptionBox.height / 4 });\n }\n }\n\n public destroy() {\n this.titleElement?.destroy();\n this.descriptionElement?.destroy();\n }\n}\n\nfunction findVisibleSeries(series: Highcharts.Series[]) {\n return series.filter((s) => s.visible && s.data.some((d) => d.y !== null && d.visible));\n}\n"]}
1
+ {"version":3,"file":"chart-inner-area.js","sourceRoot":"","sources":["../../../src/pie-chart/chart-inner-area.tsx"],"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 { useRef } from \"react\";\nimport type Highcharts from \"highcharts\";\n\nimport * as Styles from \"../internal/chart-styles\";\nimport { getChartSeries } from \"../internal/utils/chart-series\";\nimport { PieChartProps } from \"./interfaces\";\n\nimport testClasses from \"./test-classes/styles.css.js\";\n\ninterface InnerAreaProps {\n innerAreaTitle?: string;\n innerAreaDescription?: string;\n}\n\nexport function useInnerArea(series: readonly PieChartProps.SeriesOptions[], innerAreaProps: InnerAreaProps) {\n const hasDonutSeries = series.some((s) => s.type === \"donut\");\n const innerAreaRef = useRef(new ChartInnerDescriptions());\n const onChartRender: Highcharts.ChartRenderCallbackFunction = function () {\n innerAreaRef.current.destroy();\n if (hasDonutSeries && findVisibleSeries(this.series).length > 0) {\n innerAreaRef.current.create(innerAreaProps, this);\n }\n };\n return { onChartRender };\n}\n\nclass ChartInnerDescriptions {\n private titleElement: null | Highcharts.SVGElement = null;\n private descriptionElement: null | Highcharts.SVGElement = null;\n\n public create({ innerAreaTitle, innerAreaDescription }: InnerAreaProps, chart: Highcharts.Chart) {\n const centerX = chart.plotLeft + getChartSeries(chart.series)[0].center[0];\n const centerY = chart.plotTop + getChartSeries(chart.series)[0].center[1];\n\n if (innerAreaTitle) {\n this.titleElement = chart.renderer\n .text(innerAreaTitle, -9999, -9999)\n .attr({ zIndex: 5, class: testClasses[\"inner-value\"] })\n .css(Styles.innerAreaTitleCss)\n .add();\n }\n if (innerAreaDescription) {\n this.descriptionElement = chart.renderer\n .text(innerAreaDescription, -9999, -9999)\n .attr({ zIndex: 5, class: testClasses[\"inner-description\"] })\n .css(Styles.innerAreaDescriptionCss)\n .add();\n }\n\n const titleBox = this.titleElement?.getBBox();\n const descriptionBox = this.descriptionElement?.getBBox();\n\n if (titleBox && descriptionBox) {\n this.titleElement!.attr({ x: centerX - titleBox.width / 2, y: centerY - titleBox.height / 4 });\n this.descriptionElement!.attr({ x: centerX - descriptionBox.width / 2, y: centerY + descriptionBox.height / 2 });\n } else if (titleBox) {\n this.titleElement!.attr({ x: centerX - titleBox.width / 2, y: centerY + titleBox.height / 4 });\n } else if (descriptionBox) {\n this.descriptionElement!.attr({ x: centerX - descriptionBox.width / 2, y: centerY + descriptionBox.height / 4 });\n }\n }\n\n public destroy() {\n this.titleElement?.destroy();\n this.descriptionElement?.destroy();\n }\n}\n\nfunction findVisibleSeries(series: Highcharts.Series[]) {\n return series.filter((s) => s.visible && s.data.some((d) => d.y !== null && d.visible));\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"chart-pie-internal.js","sourceRoot":"","sources":["../../../src/pie-chart/chart-pie-internal.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,WAAW,MAAM,8BAA8B,CAAC;AAQvD,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CACxC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,KAAK,EAAyB,EAAE,GAAiC,EAAE,EAAE;IAC1G,MAAM,MAAM,GAAG,MAAM,CAAiC,IAAI,CAAC,CAAC;IAE5D,8HAA8H;IAC9H,kFAAkF;IAClF,oBAAoB,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,uBAAuB,EAAE,SAAS,EAAE;QACpF,aAAa,EAAE,UAAU;QACzB,YAAY,EAAE,iBAAiB;QAC/B,iBAAiB,EAAE,yBAAyB;KAC7C,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,MAAM,uBAAuB,GAA2C,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;QAChG,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxE,sBAAsB,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;IAC7E,CAAC,CAAC;IAEF,oDAAoD;IACpD,MAAM,MAAM,GAAmC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACtE,MAAM,IAAI,GAAG,CAAC,CAAC,IAAoD,CAAC;QACpE,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;QACvE,OAAO,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,4BAA4B;IAC5B,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B,kBAAkB,EAAE,CAAC,kBAAkB,EAAE,EAAE,WAAC,OAAA,MAAA,MAAM,CAAC,OAAO,0CAAE,eAAe,CAAC,kBAAkB,CAAC,CAAA,EAAA;QAC/F,eAAe,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,MAAM,CAAC,OAAO,0CAAE,eAAe,CAAC,aAAa,CAAC,CAAA,EAAA;KACtE,CAAC,CAAC,CAAC;IAEJ,wDAAwD;IACxD,MAAM,SAAS,GAAG,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAEtD,iFAAiF;IACjF,mFAAmF;IACnF,MAAM,iBAAiB,GAAwC,GAAG,EAAE;QAClE,MAAM,qBAAqB,GAAG,CAAC,EAC7B,KAAK,GAC8B,EAA2C,EAAE;;YAChF,OAAO;gBACL,UAAU,EAAE,MAAA,KAAK,CAAC,KAAK,mCAAI,CAAC;gBAC5B,YAAY,EAAE,MAAA,KAAK,CAAC,CAAC,mCAAI,CAAC;gBAC1B,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC;gBACtC,WAAW,EAAE,MAAA,KAAK,CAAC,IAAI,mCAAI,EAAE;aAC9B,CAAC;QACJ,CAAC,CAAC;QACF,MAAM,kBAAkB,GAAG,CAAC,KAAsC,EAA2C,EAAE;YAC7G,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACnC,OAAO,qBAAqB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1E,CAAC,CAAC;QACF,OAAO;YACL,MAAM,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAC3F,OAAO,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YACjG,IAAI,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YACrF,MAAM,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;SAC5F,CAAC;IACJ,CAAC,CAAC;IAEF,+DAA+D;IAC/D,MAAM,iBAAiB,GAE6B;QAClD,QAAQ,EAAE,MAAM;QAChB,SAAS;;YACP,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC;YACnD,MAAM,YAAY,GAAG;gBACnB,mHAAmH;gBACnH,gFAAgF;gBAChF,UAAU,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,CAAC;gBAC3B,YAAY,EAAE,MAAA,IAAI,CAAC,CAAC,mCAAI,CAAC;gBACzB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC1B,WAAW,EAAE,MAAA,IAAI,CAAC,OAAO,CAAC,IAAI,mCAAI,EAAE;aACrC,CAAC;YACF,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACpE,MAAM,WAAW,GAAG,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAG,YAAY,CAAC,CAAC;YACvD,IAAI,KAAK,IAAI,WAAW,EAAE;gBACxB,OAAO,oBAAoB,CACzB,2BACG,KAAK,CAAC,CAAC,CAAC,0BAAQ,KAAK,GAAS,CAAC,CAAC,CAAC,IAAI,EACtC,cAAM,EACL,WAAW,CAAC,CAAC,CAAC,gBAAO,KAAK,EAAE,MAAM,CAAC,qBAAqB,YAAG,WAAW,GAAS,CAAC,CAAC,CAAC,IAAI,IAClF,CACR,CAAC;aACH;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EAAE,KAAK;KACf,CAAC;IAEF,MAAM,iBAAiB,GAAuB;QAC5C,KAAK,EAAE;YACL,MAAM,EAAE;gBACN,MAAM,CAAC,KAAK;oBACV,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC5C,CAAC;aACF;SACF;QACD,WAAW,EAAE;YACX,GAAG,EAAE;gBACH,UAAU,EAAE,iBAAiB;aAC9B;SACF;QACD,MAAM;KACP,CAAC;IAEF,OAAO,CACL,KAAC,iBAAiB,OACZ,KAAK,EACT,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,EACzC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,iBAAiB,EACpC,YAAY,EAAE,KAAK,CAAC,eAAe,EACnC,oBAAoB,EAAE,uBAAuB,EAC7C,SAAS,EAAE,WAAW,CAAC,IAAI,GAC3B,CACH,CAAC;AACJ,CAAC,CACF,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { forwardRef, useImperativeHandle, useRef } from \"react\";\nimport { renderToStaticMarkup } from \"react-dom/server\";\nimport type Highcharts from \"highcharts\";\n\nimport { useControllableState } from \"@cloudscape-design/component-toolkit\";\n\nimport { InternalCoreChart } from \"../core/chart-core\";\nimport { CoreChartProps } from \"../core/interfaces\";\nimport { getOptionsId } from \"../core/utils\";\nimport { InternalBaseComponentProps } from \"../internal/base-component/use-base-component\";\nimport * as Styles from \"../internal/chart-styles\";\nimport { fireNonCancelableEvent } from \"../internal/events\";\nimport { SomeRequired, Writeable } from \"../internal/utils/utils\";\nimport { useInnerArea } from \"./chart-inner-area\";\nimport { PieChartProps } from \"./interfaces\";\n\nimport testClasses from \"./test-classes/styles.css.js\";\n\ninterface InternalPieChartProps extends InternalBaseComponentProps, Omit<PieChartProps, \"series\"> {\n series: readonly PieChartProps.SeriesOptions[];\n tooltip: SomeRequired<PieChartProps.TooltipOptions, \"enabled\" | \"size\">;\n legend: SomeRequired<PieChartProps.LegendOptions, \"enabled\">;\n}\n\nexport const InternalPieChart = forwardRef(\n ({ series: originalSeries, tooltip, ...props }: InternalPieChartProps, ref: React.Ref<PieChartProps.Ref>) => {\n const apiRef = useRef<null | CoreChartProps.ChartAPI>(null);\n\n // When visibleSegments and onVisibleSegmentsChange are provided - the segments visibility can be controlled from the outside.\n // Otherwise - the component handles segments visibility using its internal state.\n useControllableState(props.visibleSegments, props.onVisibleSegmentsChange, undefined, {\n componentName: \"PieChart\",\n propertyName: \"visibleSegments\",\n changeHandlerName: \"onVisibleSegmentsChange\",\n });\n const allSegmentIds = originalSeries.flatMap((s) => s.data.map((d) => getOptionsId(d)));\n const onVisibleSegmentsChange: CoreChartProps[\"onVisibleItemsChange\"] = ({ detail: { items } }) => {\n const visibleSegments = items.filter((i) => i.visible).map((i) => i.id);\n fireNonCancelableEvent(props.onVisibleSegmentsChange, { visibleSegments });\n };\n\n // Converting donut series to Highcharts pie series.\n const series: Highcharts.SeriesOptionsType[] = originalSeries.map((s) => {\n const data = s.data as Writeable<PieChartProps.PieSegmentOptions[]>;\n const style = s.type === \"pie\" ? Styles.pieSeries : Styles.donutSeries;\n return { ...s, type: \"pie\", data, ...style };\n });\n\n // Pie chart imperative API.\n useImperativeHandle(ref, () => ({\n setVisibleSegments: (visibleSegmentsIds) => apiRef.current?.setItemsVisible(visibleSegmentsIds),\n showAllSegments: () => apiRef.current?.setItemsVisible(allSegmentIds),\n }));\n\n // Get inner area title and description for donut chart.\n const innerArea = useInnerArea(originalSeries, props);\n\n // We convert pie tooltip options to the core chart's getTooltipContent callback,\n // ensuring no internal types are exposed to the consumer-defined render functions.\n const getTooltipContent: CoreChartProps[\"getTooltipContent\"] = () => {\n const transformDetailsProps = ({\n point,\n }: CoreChartProps.TooltipDetailsProps): PieChartProps.TooltipDetailsRenderProps => {\n return {\n totalValue: point.total ?? 0,\n segmentValue: point.y ?? 0,\n segmentId: getOptionsId(point.options),\n segmentName: point.name ?? \"\",\n };\n };\n const transformSlotProps = (props: CoreChartProps.TooltipSlotProps): PieChartProps.TooltipDetailsRenderProps => {\n const point = props.items[0].point;\n return transformDetailsProps({ point, hideTooltip: props.hideTooltip });\n };\n return {\n header: tooltip?.header ? (props) => tooltip.header!(transformSlotProps(props)) : undefined,\n details: tooltip?.details ? (props) => tooltip.details!(transformDetailsProps(props)) : undefined,\n body: tooltip?.body ? (props) => tooltip.body!(transformSlotProps(props)) : undefined,\n footer: tooltip?.footer ? (props) => tooltip.footer!(transformSlotProps(props)) : undefined,\n };\n };\n\n // Convert pie segment props to Highcharts segment data labels.\n const segmentDataLabels:\n | Highcharts.SeriesPieDataLabelsOptionsObject\n | Highcharts.SeriesPieDataLabelsOptionsObject[] = {\n position: \"left\",\n formatter() {\n const { segmentTitle, segmentDescription } = props;\n const segmentProps = {\n // For pie series, we expect y, total, and name to be always present, and y to be non-null for any visible segment.\n // However, these are optional in Highcharts types, so we need to do a fallback.\n totalValue: this.total ?? 0,\n segmentValue: this.y ?? 0,\n segmentId: this.options.id,\n segmentName: this.options.name ?? \"\",\n };\n const title = segmentTitle ? segmentTitle(segmentProps) : this.name;\n const description = segmentDescription?.(segmentProps);\n if (title || description) {\n return renderToStaticMarkup(\n <text>\n {title ? <tspan>{title}</tspan> : null}\n <br />\n {description ? <tspan style={Styles.segmentDescriptionCss}>{description}</tspan> : null}\n </text>,\n );\n }\n return null;\n },\n useHTML: false,\n };\n\n const highchartsOptions: Highcharts.Options = {\n chart: {\n events: {\n render(event) {\n innerArea.onChartRender.call(this, event);\n },\n },\n },\n plotOptions: {\n pie: {\n dataLabels: segmentDataLabels,\n },\n },\n series,\n };\n\n return (\n <InternalCoreChart\n {...props}\n callback={(api) => (apiRef.current = api)}\n options={highchartsOptions}\n tooltip={tooltip}\n getTooltipContent={getTooltipContent}\n visibleItems={props.visibleSegments}\n onVisibleItemsChange={onVisibleSegmentsChange}\n className={testClasses.root}\n />\n );\n },\n);\n"]}
1
+ {"version":3,"file":"chart-pie-internal.js","sourceRoot":"","sources":["../../../src/pie-chart/chart-pie-internal.tsx"],"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 { forwardRef, useImperativeHandle, useRef } from \"react\";\nimport { renderToStaticMarkup } from \"react-dom/server\";\nimport type Highcharts from \"highcharts\";\n\nimport { useControllableState } from \"@cloudscape-design/component-toolkit\";\n\nimport { InternalCoreChart } from \"../core/chart-core\";\nimport { CoreChartProps } from \"../core/interfaces\";\nimport { getOptionsId } from \"../core/utils\";\nimport { InternalBaseComponentProps } from \"../internal/base-component/use-base-component\";\nimport * as Styles from \"../internal/chart-styles\";\nimport { fireNonCancelableEvent } from \"../internal/events\";\nimport { SomeRequired, Writeable } from \"../internal/utils/utils\";\nimport { useInnerArea } from \"./chart-inner-area\";\nimport { PieChartProps } from \"./interfaces\";\n\nimport testClasses from \"./test-classes/styles.css.js\";\n\ninterface InternalPieChartProps extends InternalBaseComponentProps, Omit<PieChartProps, \"series\"> {\n series: readonly PieChartProps.SeriesOptions[];\n tooltip: SomeRequired<PieChartProps.TooltipOptions, \"enabled\" | \"size\">;\n legend: SomeRequired<PieChartProps.LegendOptions, \"enabled\">;\n}\n\nexport const InternalPieChart = forwardRef(\n ({ series: originalSeries, tooltip, ...props }: InternalPieChartProps, ref: React.Ref<PieChartProps.Ref>) => {\n const apiRef = useRef<null | CoreChartProps.ChartAPI>(null);\n\n // When visibleSegments and onVisibleSegmentsChange are provided - the segments visibility can be controlled from the outside.\n // Otherwise - the component handles segments visibility using its internal state.\n useControllableState(props.visibleSegments, props.onVisibleSegmentsChange, undefined, {\n componentName: \"PieChart\",\n propertyName: \"visibleSegments\",\n changeHandlerName: \"onVisibleSegmentsChange\",\n });\n const allSegmentIds = originalSeries.flatMap((s) => s.data.map((d) => getOptionsId(d)));\n const onVisibleSegmentsChange: CoreChartProps[\"onVisibleItemsChange\"] = ({ detail: { items } }) => {\n const visibleSegments = items.filter((i) => i.visible).map((i) => i.id);\n fireNonCancelableEvent(props.onVisibleSegmentsChange, { visibleSegments });\n };\n\n // Converting donut series to Highcharts pie series.\n const series: Highcharts.SeriesOptionsType[] = originalSeries.map((s) => {\n const data = s.data as Writeable<PieChartProps.PieSegmentOptions[]>;\n const style = s.type === \"pie\" ? Styles.pieSeries : Styles.donutSeries;\n return { ...s, type: \"pie\", data, ...style };\n });\n\n // Pie chart imperative API.\n useImperativeHandle(ref, () => ({\n setVisibleSegments: (visibleSegmentsIds) => apiRef.current?.setItemsVisible(visibleSegmentsIds),\n showAllSegments: () => apiRef.current?.setItemsVisible(allSegmentIds),\n }));\n\n // Get inner area title and description for donut chart.\n const innerArea = useInnerArea(originalSeries, props);\n\n // We convert pie tooltip options to the core chart's getTooltipContent callback,\n // ensuring no internal types are exposed to the consumer-defined render functions.\n const getTooltipContent: CoreChartProps[\"getTooltipContent\"] = () => {\n const transformDetailsProps = ({\n point,\n }: CoreChartProps.TooltipDetailsProps): PieChartProps.TooltipDetailsRenderProps => {\n return {\n totalValue: point.total ?? 0,\n segmentValue: point.y ?? 0,\n segmentId: getOptionsId(point.options),\n segmentName: point.name ?? \"\",\n };\n };\n const transformSlotProps = (props: CoreChartProps.TooltipSlotProps): PieChartProps.TooltipDetailsRenderProps => {\n const point = props.items[0].point;\n return transformDetailsProps({ point, hideTooltip: props.hideTooltip });\n };\n return {\n header: tooltip?.header ? (props) => tooltip.header!(transformSlotProps(props)) : undefined,\n details: tooltip?.details ? (props) => tooltip.details!(transformDetailsProps(props)) : undefined,\n body: tooltip?.body ? (props) => tooltip.body!(transformSlotProps(props)) : undefined,\n footer: tooltip?.footer ? (props) => tooltip.footer!(transformSlotProps(props)) : undefined,\n };\n };\n\n // Convert pie segment props to Highcharts segment data labels.\n const segmentDataLabels:\n | Highcharts.SeriesPieDataLabelsOptionsObject\n | Highcharts.SeriesPieDataLabelsOptionsObject[] = {\n position: \"left\",\n formatter() {\n const { segmentTitle, segmentDescription } = props;\n const segmentProps = {\n // For pie series, we expect y, total, and name to be always present, and y to be non-null for any visible segment.\n // However, these are optional in Highcharts types, so we need to do a fallback.\n totalValue: this.total ?? 0,\n segmentValue: this.y ?? 0,\n segmentId: this.options.id,\n segmentName: this.options.name ?? \"\",\n };\n const title = segmentTitle ? segmentTitle(segmentProps) : this.name;\n const description = segmentDescription?.(segmentProps);\n if (title || description) {\n return renderToStaticMarkup(\n <text>\n {title ? <tspan>{title}</tspan> : null}\n <br />\n {description ? <tspan style={Styles.segmentDescriptionCss}>{description}</tspan> : null}\n </text>,\n );\n }\n return null;\n },\n useHTML: false,\n };\n\n const highchartsOptions: Highcharts.Options = {\n chart: {\n events: {\n render(event) {\n innerArea.onChartRender.call(this, event);\n },\n },\n },\n plotOptions: {\n pie: {\n dataLabels: segmentDataLabels,\n },\n },\n series,\n };\n\n return (\n <InternalCoreChart\n {...props}\n callback={(api) => (apiRef.current = api)}\n options={highchartsOptions}\n tooltip={tooltip}\n getTooltipContent={getTooltipContent}\n visibleItems={props.visibleSegments}\n onVisibleItemsChange={onVisibleSegmentsChange}\n className={testClasses.root}\n />\n );\n },\n);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pie-chart/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,gBAAgB,MAAM,+CAA+C,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAKxD,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,KAAK,EAAiB,EAAE,GAAiC,EAAE,EAAE;IAChH,0FAA0F;IAC1F,2FAA2F;IAC3F,0EAA0E;IAC1E,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE7C,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAElF,OAAO,CACL,KAAC,gBAAgB,IACf,GAAG,EAAE,GAAG,KACJ,KAAK,EACT,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,KACV,iBAAiB,CAAC,KAAK,CAAC,KACxB,kBAAkB,GACtB,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEvC,eAAe,QAAQ,CAAC;AAExB,SAAS,eAAe,CAAC,MAA0C;IACjE,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,EAAE,CAAC;KACX;IACD,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,KAAK,CAAC;QACX,KAAK,OAAO;YACV,OAAO;gBACL,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;aAC/G,CAAC;KACL;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAgD;IACrE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAsC;;IAEtC,OAAO;QACL,GAAG,OAAO;QACV,OAAO,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,IAAI;QACjC,IAAI,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,QAAQ;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,MAAoC;;IAC3D,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,mCAAI,IAAI,EAAE,CAAC;AACzD,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { forwardRef } from \"react\";\n\nimport { getDataAttributes } from \"../internal/base-component/get-data-attributes\";\nimport useBaseComponent from \"../internal/base-component/use-base-component\";\nimport { applyDisplayName } from \"../internal/utils/apply-display-name\";\nimport { SomeRequired } from \"../internal/utils/utils\";\nimport { InternalPieChart } from \"./chart-pie-internal\";\nimport { PieChartProps } from \"./interfaces\";\n\nexport type { PieChartProps };\n\nconst PieChart = forwardRef(({ fitHeight = false, ...props }: PieChartProps, ref: React.Ref<PieChartProps.Ref>) => {\n // We transform options before propagating them to the internal chart to ensure only those\n // defined in the component's contract can be propagated down to the underlying Highcharts.\n // Additionally, we assign all default options, including the nested ones.\n const series = transformSeries(props.series);\n const tooltip = transformTooltip(props.tooltip);\n const legend = transformLegend(props.legend);\n\n const baseComponentProps = useBaseComponent(\"PieChart\", { props: { fitHeight } });\n\n return (\n <InternalPieChart\n ref={ref}\n {...props}\n fitHeight={fitHeight}\n series={series}\n tooltip={tooltip}\n legend={legend}\n {...getDataAttributes(props)}\n {...baseComponentProps}\n />\n );\n});\n\napplyDisplayName(PieChart, \"PieChart\");\n\nexport default PieChart;\n\nfunction transformSeries(series: null | PieChartProps.SeriesOptions): readonly PieChartProps.SeriesOptions[] {\n if (!series) {\n return [];\n }\n switch (series.type) {\n case \"pie\":\n case \"donut\":\n return [\n { type: series.type, id: series.id, name: series.name, color: series.color, data: transformData(series.data) },\n ];\n }\n}\n\nfunction transformData(data: readonly PieChartProps.PieSegmentOptions[]): readonly PieChartProps.PieSegmentOptions[] {\n return data.map((d) => ({ id: d.id, name: d.name, color: d.color, y: d.y }));\n}\n\nfunction transformTooltip(\n tooltip?: PieChartProps.TooltipOptions,\n): SomeRequired<PieChartProps.TooltipOptions, \"enabled\" | \"size\"> {\n return {\n ...tooltip,\n enabled: tooltip?.enabled ?? true,\n size: tooltip?.size ?? \"medium\",\n };\n}\n\nfunction transformLegend(legend?: PieChartProps.LegendOptions): SomeRequired<PieChartProps.LegendOptions, \"enabled\"> {\n return { ...legend, enabled: legend?.enabled ?? true };\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pie-chart/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,gBAAgB,MAAM,+CAA+C,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAKxD,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,KAAK,EAAiB,EAAE,GAAiC,EAAE,EAAE;IAChH,0FAA0F;IAC1F,2FAA2F;IAC3F,0EAA0E;IAC1E,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE7C,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IAElF,OAAO,CACL,KAAC,gBAAgB,IACf,GAAG,EAAE,GAAG,KACJ,KAAK,EACT,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,KACV,iBAAiB,CAAC,KAAK,CAAC,KACxB,kBAAkB,GACtB,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEvC,eAAe,QAAQ,CAAC;AAExB,SAAS,eAAe,CAAC,MAA0C;IACjE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,KAAK,CAAC;QACX,KAAK,OAAO;YACV,OAAO;gBACL,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;aAC/G,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAgD;IACrE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAsC;;IAEtC,OAAO;QACL,GAAG,OAAO;QACV,OAAO,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,IAAI;QACjC,IAAI,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,QAAQ;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,MAAoC;;IAC3D,OAAO,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,mCAAI,IAAI,EAAE,CAAC;AACzD,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { forwardRef } from \"react\";\n\nimport { getDataAttributes } from \"../internal/base-component/get-data-attributes\";\nimport useBaseComponent from \"../internal/base-component/use-base-component\";\nimport { applyDisplayName } from \"../internal/utils/apply-display-name\";\nimport { SomeRequired } from \"../internal/utils/utils\";\nimport { InternalPieChart } from \"./chart-pie-internal\";\nimport { PieChartProps } from \"./interfaces\";\n\nexport type { PieChartProps };\n\nconst PieChart = forwardRef(({ fitHeight = false, ...props }: PieChartProps, ref: React.Ref<PieChartProps.Ref>) => {\n // We transform options before propagating them to the internal chart to ensure only those\n // defined in the component's contract can be propagated down to the underlying Highcharts.\n // Additionally, we assign all default options, including the nested ones.\n const series = transformSeries(props.series);\n const tooltip = transformTooltip(props.tooltip);\n const legend = transformLegend(props.legend);\n\n const baseComponentProps = useBaseComponent(\"PieChart\", { props: { fitHeight } });\n\n return (\n <InternalPieChart\n ref={ref}\n {...props}\n fitHeight={fitHeight}\n series={series}\n tooltip={tooltip}\n legend={legend}\n {...getDataAttributes(props)}\n {...baseComponentProps}\n />\n );\n});\n\napplyDisplayName(PieChart, \"PieChart\");\n\nexport default PieChart;\n\nfunction transformSeries(series: null | PieChartProps.SeriesOptions): readonly PieChartProps.SeriesOptions[] {\n if (!series) {\n return [];\n }\n switch (series.type) {\n case \"pie\":\n case \"donut\":\n return [\n { type: series.type, id: series.id, name: series.name, color: series.color, data: transformData(series.data) },\n ];\n }\n}\n\nfunction transformData(data: readonly PieChartProps.PieSegmentOptions[]): readonly PieChartProps.PieSegmentOptions[] {\n return data.map((d) => ({ id: d.id, name: d.name, color: d.color, y: d.y }));\n}\n\nfunction transformTooltip(\n tooltip?: PieChartProps.TooltipOptions,\n): SomeRequired<PieChartProps.TooltipOptions, \"enabled\" | \"size\"> {\n return {\n ...tooltip,\n enabled: tooltip?.enabled ?? true,\n size: tooltip?.size ?? \"medium\",\n };\n}\n\nfunction transformLegend(legend?: PieChartProps.LegendOptions): SomeRequired<PieChartProps.LegendOptions, \"enabled\"> {\n return { ...legend, enabled: legend?.enabled ?? true };\n}\n"]}
@@ -19,6 +19,6 @@ class CartesianChartWrapper extends base_1.default {
19
19
  return this.findAllByClassName("highcharts-series");
20
20
  }
21
21
  }
22
- exports.default = CartesianChartWrapper;
23
22
  CartesianChartWrapper.rootSelector = styles_selectors_js_1.default.root;
23
+ exports.default = CartesianChartWrapper;
24
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/test-utils/dom/cartesian-chart/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;AAItC,2CAAgD;AAChD,uCAAyD;AAEzD,mGAAoF;AAEpF,MAAqB,qBAAsB,SAAQ,cAAgB;IAGjE;;OAEG;IACI,WAAW;QAChB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,sCAA4B,CAAC,YAAY,EAAE,EAAE,sCAA4B,CAAC,CAAC;IAC3G,CAAC;IAED;;OAEG;IACI,UAAU;QACf,OAAO,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;IACtD,CAAC;;AAfH,wCAgBC;AAfQ,kCAAY,GAAW,6BAAW,CAAC,IAAI,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { ElementWrapper } from \"@cloudscape-design/test-utils-core/dom\";\n\nimport BaseChartWrapper from \"../internal/base\";\nimport { CartesianChartTooltipWrapper } from \"./tooltip\";\n\nimport testClasses from \"../../../cartesian-chart/test-classes/styles.selectors.js\";\n\nexport default class CartesianChartWrapper extends BaseChartWrapper {\n static rootSelector: string = testClasses.root;\n\n /**\n * Finds chart's tooltip when visible.\n */\n public findTooltip(): null | CartesianChartTooltipWrapper {\n return this.findComponent(`.${CartesianChartTooltipWrapper.rootSelector}`, CartesianChartTooltipWrapper);\n }\n\n /**\n * Finds series elements. Use this to assert the number of visible series.\n */\n public findSeries(): Array<ElementWrapper> {\n return this.findAllByClassName(\"highcharts-series\");\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/test-utils/dom/cartesian-chart/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;AAItC,2CAAgD;AAChD,uCAAyD;AAEzD,mGAAoF;AAEpF,MAAqB,qBAAsB,SAAQ,cAAgB;IAGjE;;OAEG;IACI,WAAW;QAChB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,sCAA4B,CAAC,YAAY,EAAE,EAAE,sCAA4B,CAAC,CAAC;IAC3G,CAAC;IAED;;OAEG;IACI,UAAU;QACf,OAAO,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;IACtD,CAAC;;AAdM,kCAAY,GAAW,6BAAW,CAAC,IAAI,CAAC;kBAD5B,qBAAqB","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { ElementWrapper } from \"@cloudscape-design/test-utils-core/dom\";\n\nimport BaseChartWrapper from \"../internal/base\";\nimport { CartesianChartTooltipWrapper } from \"./tooltip\";\n\nimport testClasses from \"../../../cartesian-chart/test-classes/styles.selectors.js\";\n\nexport default class CartesianChartWrapper extends BaseChartWrapper {\n static rootSelector: string = testClasses.root;\n\n /**\n * Finds chart's tooltip when visible.\n */\n public findTooltip(): null | CartesianChartTooltipWrapper {\n return this.findComponent(`.${CartesianChartTooltipWrapper.rootSelector}`, CartesianChartTooltipWrapper);\n }\n\n /**\n * Finds series elements. Use this to assert the number of visible series.\n */\n public findSeries(): Array<ElementWrapper> {\n return this.findAllByClassName(\"highcharts-series\");\n }\n}\n"]}
@@ -3,6 +3,7 @@
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.PieChartWrapper = exports.CartesianChartWrapper = exports.ElementWrapper = void 0;
6
+ exports.default = wrapper;
6
7
  const dom_1 = require("@cloudscape-design/test-utils-core/dom");
7
8
  Object.defineProperty(exports, "ElementWrapper", { enumerable: true, get: function () { return dom_1.ElementWrapper; } });
8
9
  const utils_1 = require("@cloudscape-design/test-utils-core/utils");
@@ -31,5 +32,4 @@ function wrapper(root = document.body) {
31
32
  }
32
33
  return new dom_1.ElementWrapper(root);
33
34
  }
34
- exports.default = wrapper;
35
35
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/test-utils/dom/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;;AAEtC,gEAAwE;AAG/D,+FAHA,oBAAc,OAGA;AAFvB,oEAA0E;AAI1E,uDAAsD;AAG7C,gCAHF,yBAAqB,CAGE;AAF9B,2CAA0C;AAEV,0BAFzB,mBAAe,CAEyB;AA2C/C,oBAAc,CAAC,SAAS,CAAC,uBAAuB,GAAG,UAAU,QAAQ;IACnE,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,yBAAqB,EAAE,QAAQ,CAAC,EAAE,yBAAqB,CAAC,CAAC;AAC1G,CAAC,CAAC;AACF,oBAAc,CAAC,SAAS,CAAC,iBAAiB,GAAG,UAAU,QAAQ;IAC7D,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,mBAAe,EAAE,QAAQ,CAAC,EAAE,mBAAe,CAAC,CAAC;AAC9F,CAAC,CAAC;AACF,oBAAc,CAAC,SAAS,CAAC,0BAA0B,GAAG,UAAU,QAAQ;IACtE,OAAO,IAAI,CAAC,iBAAiB,CAAC,yBAAqB,EAAE,QAAQ,CAAC,CAAC;AACjE,CAAC,CAAC;AACF,oBAAc,CAAC,SAAS,CAAC,oBAAoB,GAAG,UAAU,QAAQ;IAChE,OAAO,IAAI,CAAC,iBAAiB,CAAC,mBAAe,EAAE,QAAQ,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,SAAS,oBAAoB,CAAC,OAAiC,EAAE,QAAiB;IAChF,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAc,EAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;AACtG,CAAC;AAED,SAAwB,OAAO,CAAC,OAAgB,QAAQ,CAAC,IAAI;IAC3D,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAC9D,OAAO,CAAC,IAAI,CACV,2GAA2G,CAC5G,CAAC;KACH;IACD,OAAO,IAAI,oBAAc,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAPD,0BAOC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { ElementWrapper } from \"@cloudscape-design/test-utils-core/dom\";\nimport { appendSelector } from \"@cloudscape-design/test-utils-core/utils\";\n\nexport { ElementWrapper };\n\nimport CartesianChartWrapper from \"./cartesian-chart\";\nimport PieChartWrapper from \"./pie-chart\";\n\nexport { CartesianChartWrapper, PieChartWrapper };\n\ndeclare module \"@cloudscape-design/test-utils-core/dist/dom\" {\n interface ElementWrapper {\n /**\n * Returns the wrapper of the first cartesian chart that matches the specified CSS selector.\n * If no CSS selector is specified, returns the wrapper of the first cartesian chart.\n * If no matching chart is found, returns `null`.\n *\n * @param {string} [selector] CSS Selector\n * @returns {CartesianChartWrapper | null}\n */\n findCartesianHighcharts(selector?: string): CartesianChartWrapper | null;\n /**\n * Returns the wrapper of the first pie chart that matches the specified CSS selector.\n * If no CSS selector is specified, returns the wrapper of the first pie chart.\n * If no matching chart is found, returns `null`.\n *\n * @param {string} [selector] CSS Selector\n * @returns {PieChartWrapper | null}\n */\n findPieHighcharts(selector?: string): PieChartWrapper | null;\n /**\n * Returns an array of cartesian chart wrappers that matches the specified CSS selector.\n * If no CSS selector is specified, returns all cartesian charts inside the current wrapper.\n * If no matching chart is found, returns an empty array.\n *\n * @param {string} [selector] CSS Selector\n * @returns {CartesianChartWrapper[]}\n */\n findAllCartesianHighcharts(selector?: string): Array<CartesianChartWrapper>;\n /**\n * Returns an array of pie chart wrappers that matches the specified CSS selector.\n * If no CSS selector is specified, returns all pie charts inside the current wrapper.\n * If no matching chart is found, returns an empty array.\n *\n * @param {string} [selector] CSS Selector\n * @returns {PieChartWrapper[]}\n */\n findAllPieHighcharts(selector?: string): Array<PieChartWrapper>;\n }\n}\n\nElementWrapper.prototype.findCartesianHighcharts = function (selector) {\n return this.findComponent(getComponentSelector(CartesianChartWrapper, selector), CartesianChartWrapper);\n};\nElementWrapper.prototype.findPieHighcharts = function (selector) {\n return this.findComponent(getComponentSelector(PieChartWrapper, selector), PieChartWrapper);\n};\nElementWrapper.prototype.findAllCartesianHighcharts = function (selector) {\n return this.findAllComponents(CartesianChartWrapper, selector);\n};\nElementWrapper.prototype.findAllPieHighcharts = function (selector) {\n return this.findAllComponents(PieChartWrapper, selector);\n};\n\nfunction getComponentSelector(wrapper: { rootSelector: string }, selector?: string) {\n return selector ? appendSelector(selector, `.${wrapper.rootSelector}`) : `.${wrapper.rootSelector}`;\n}\n\nexport default function wrapper(root: Element = document.body) {\n if (document && document.body && !document.body.contains(root)) {\n console.warn(\n \"[AwsUi] [test-utils] provided element is not part of the document body, interactions may work incorrectly\",\n );\n }\n return new ElementWrapper(root);\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/test-utils/dom/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;;AAsEtC,0BAOC;AA3ED,gEAAwE;AAG/D,+FAHA,oBAAc,OAGA;AAFvB,oEAA0E;AAI1E,uDAAsD;AAG7C,gCAHF,yBAAqB,CAGE;AAF9B,2CAA0C;AAEV,0BAFzB,mBAAe,CAEyB;AA2C/C,oBAAc,CAAC,SAAS,CAAC,uBAAuB,GAAG,UAAU,QAAQ;IACnE,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,yBAAqB,EAAE,QAAQ,CAAC,EAAE,yBAAqB,CAAC,CAAC;AAC1G,CAAC,CAAC;AACF,oBAAc,CAAC,SAAS,CAAC,iBAAiB,GAAG,UAAU,QAAQ;IAC7D,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,mBAAe,EAAE,QAAQ,CAAC,EAAE,mBAAe,CAAC,CAAC;AAC9F,CAAC,CAAC;AACF,oBAAc,CAAC,SAAS,CAAC,0BAA0B,GAAG,UAAU,QAAQ;IACtE,OAAO,IAAI,CAAC,iBAAiB,CAAC,yBAAqB,EAAE,QAAQ,CAAC,CAAC;AACjE,CAAC,CAAC;AACF,oBAAc,CAAC,SAAS,CAAC,oBAAoB,GAAG,UAAU,QAAQ;IAChE,OAAO,IAAI,CAAC,iBAAiB,CAAC,mBAAe,EAAE,QAAQ,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,SAAS,oBAAoB,CAAC,OAAiC,EAAE,QAAiB;IAChF,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAc,EAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;AACtG,CAAC;AAED,SAAwB,OAAO,CAAC,OAAgB,QAAQ,CAAC,IAAI;IAC3D,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/D,OAAO,CAAC,IAAI,CACV,2GAA2G,CAC5G,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,oBAAc,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { ElementWrapper } from \"@cloudscape-design/test-utils-core/dom\";\nimport { appendSelector } from \"@cloudscape-design/test-utils-core/utils\";\n\nexport { ElementWrapper };\n\nimport CartesianChartWrapper from \"./cartesian-chart\";\nimport PieChartWrapper from \"./pie-chart\";\n\nexport { CartesianChartWrapper, PieChartWrapper };\n\ndeclare module \"@cloudscape-design/test-utils-core/dist/dom\" {\n interface ElementWrapper {\n /**\n * Returns the wrapper of the first cartesian chart that matches the specified CSS selector.\n * If no CSS selector is specified, returns the wrapper of the first cartesian chart.\n * If no matching chart is found, returns `null`.\n *\n * @param {string} [selector] CSS Selector\n * @returns {CartesianChartWrapper | null}\n */\n findCartesianHighcharts(selector?: string): CartesianChartWrapper | null;\n /**\n * Returns the wrapper of the first pie chart that matches the specified CSS selector.\n * If no CSS selector is specified, returns the wrapper of the first pie chart.\n * If no matching chart is found, returns `null`.\n *\n * @param {string} [selector] CSS Selector\n * @returns {PieChartWrapper | null}\n */\n findPieHighcharts(selector?: string): PieChartWrapper | null;\n /**\n * Returns an array of cartesian chart wrappers that matches the specified CSS selector.\n * If no CSS selector is specified, returns all cartesian charts inside the current wrapper.\n * If no matching chart is found, returns an empty array.\n *\n * @param {string} [selector] CSS Selector\n * @returns {CartesianChartWrapper[]}\n */\n findAllCartesianHighcharts(selector?: string): Array<CartesianChartWrapper>;\n /**\n * Returns an array of pie chart wrappers that matches the specified CSS selector.\n * If no CSS selector is specified, returns all pie charts inside the current wrapper.\n * If no matching chart is found, returns an empty array.\n *\n * @param {string} [selector] CSS Selector\n * @returns {PieChartWrapper[]}\n */\n findAllPieHighcharts(selector?: string): Array<PieChartWrapper>;\n }\n}\n\nElementWrapper.prototype.findCartesianHighcharts = function (selector) {\n return this.findComponent(getComponentSelector(CartesianChartWrapper, selector), CartesianChartWrapper);\n};\nElementWrapper.prototype.findPieHighcharts = function (selector) {\n return this.findComponent(getComponentSelector(PieChartWrapper, selector), PieChartWrapper);\n};\nElementWrapper.prototype.findAllCartesianHighcharts = function (selector) {\n return this.findAllComponents(CartesianChartWrapper, selector);\n};\nElementWrapper.prototype.findAllPieHighcharts = function (selector) {\n return this.findAllComponents(PieChartWrapper, selector);\n};\n\nfunction getComponentSelector(wrapper: { rootSelector: string }, selector?: string) {\n return selector ? appendSelector(selector, `.${wrapper.rootSelector}`) : `.${wrapper.rootSelector}`;\n}\n\nexport default function wrapper(root: Element = document.body) {\n if (document && document.body && !document.body.contains(root)) {\n console.warn(\n \"[AwsUi] [test-utils] provided element is not part of the document body, interactions may work incorrectly\",\n );\n }\n return new ElementWrapper(root);\n}\n"]}
@@ -61,8 +61,8 @@ class BaseChartWrapper extends dom_2.ComponentWrapper {
61
61
  return ((_a = this.findByClassName(styles_selectors_js_1.default["axis-y-title"])) !== null && _a !== void 0 ? _a : this.find(`.highcharts-axis.${styles_selectors_js_1.default["axis-y"]} > .highcharts-axis-title`));
62
62
  }
63
63
  }
64
- exports.default = BaseChartWrapper;
65
64
  BaseChartWrapper.rootSelector = styles_selectors_js_1.default.root;
65
+ exports.default = BaseChartWrapper;
66
66
  class BaseChartFilterWrapper extends dom_2.ComponentWrapper {
67
67
  /**
68
68
  * Finds default series filter when defined.
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/test-utils/dom/internal/base.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 { ButtonWrapper } from \"@cloudscape-design/components/test-utils/dom\";\nimport ChartTooltipWrapper from \"@cloudscape-design/components/test-utils/dom/internal/chart-tooltip\";\nimport { ComponentWrapper, ElementWrapper } from \"@cloudscape-design/test-utils-core/dom\";\n\nimport testClasses from \"../../../core/test-classes/styles.selectors.js\";\nimport legendTestClasses from \"../../../internal/components/chart-legend/test-classes/styles.selectors.js\";\n\nexport default class BaseChartWrapper extends ComponentWrapper {\n static rootSelector: string = testClasses.root;\n\n /**\n * Finds chart's filters area when default series filter or additional filters are defined.\n */\n public findFilter(): null | BaseChartFilterWrapper {\n return this.findComponent(`.${BaseChartFilterWrapper.rootSelector}`, BaseChartFilterWrapper);\n }\n\n /**\n * Finds chart's legend when defined.\n */\n public findLegend(): null | BaseChartLegendWrapper {\n return this.findComponent(`.${BaseChartLegendWrapper.rootSelector}`, BaseChartLegendWrapper);\n }\n\n /**\n * Finds chart's tooltip when visible.\n */\n public findTooltip(): null | ChartTooltipWrapper {\n return this.findComponent(`.${ChartTooltipWrapper.rootSelector}`, ChartTooltipWrapper);\n }\n\n /**\n * Finds chart's no-data when the chart is in no-data state.\n */\n public findNoData(): null | BaseChartNoDataWrapper {\n return this.findComponent(`.${testClasses[\"no-data\"]}`, BaseChartNoDataWrapper);\n }\n\n /**\n * Finds fallback slot, rendered when highcharts=`null`.\n */\n public findFallback(): null | ElementWrapper {\n return this.findByClassName(testClasses.fallback);\n }\n\n /**\n * Finds focusable chart application element. When focused, it renders a focus outline around the chart,\n * and accepts keyboard commands. The application element is not available in empty charts.\n */\n public findApplication(): null | ElementWrapper {\n return this.findByClassName(testClasses.application);\n }\n\n /**\n * Finds visible title of the x axis.\n */\n public findXAxisTitle(): null | ElementWrapper {\n return (\n this.findByClassName(testClasses[\"axis-x-title\"]) ??\n this.find(`.highcharts-axis.${testClasses[\"axis-x\"]} > .highcharts-axis-title`)\n );\n }\n\n /**\n * Finds visible title of the y axis.\n */\n public findYAxisTitle(): null | ElementWrapper {\n return (\n this.findByClassName(testClasses[\"axis-y-title\"]) ??\n this.find(`.highcharts-axis.${testClasses[\"axis-y\"]} > .highcharts-axis-title`)\n );\n }\n}\n\nexport class BaseChartFilterWrapper extends ComponentWrapper {\n static rootSelector: string = testClasses[\"chart-filters\"];\n\n /**\n * Finds default series filter when defined.\n */\n public findSeriesFilter(): null | ElementWrapper {\n return this.findByClassName(testClasses[\"chart-filters-series\"]);\n }\n\n /**\n * Finds custom additional filters slot when defined.\n */\n public findAdditionalFilters(): null | ElementWrapper {\n return this.findByClassName(testClasses[\"chart-filters-additional\"]);\n }\n}\n\nexport class BaseChartNoDataWrapper extends ComponentWrapper {\n /**\n * Finds no-data empty slot when the chart is in empty state.\n */\n public findEmpty(): null | ElementWrapper {\n return this.findByClassName(testClasses[\"no-data-empty\"]);\n }\n\n /**\n * Finds no-data no-match slot when the chart is in no-match state.\n */\n public findNoMatch(): null | ElementWrapper {\n return this.findByClassName(testClasses[\"no-data-no-match\"]);\n }\n\n /**\n * Finds no-data loading slot when the chart is in loading state.\n */\n public findLoading(): null | ElementWrapper {\n return this.findByClassName(testClasses[\"no-data-loading\"]);\n }\n\n /**\n * Finds no-data error slot when the chart is in error state.\n */\n public findError(): null | ElementWrapper {\n return this.findByClassName(testClasses[\"no-data-error\"]);\n }\n\n /**\n * Finds no-data retry button when the chart is in error state, and uses the default recovery button.\n */\n public findRetryButton(): null | ButtonWrapper {\n return this.findComponent(`.${testClasses[\"no-data-retry\"]}`, ButtonWrapper);\n }\n}\n\ninterface LegendItemOptions {\n active?: boolean;\n}\n\nexport class BaseChartLegendWrapper extends ComponentWrapper {\n static rootSelector: string = legendTestClasses.root;\n\n /**\n * Finds legend's visible title element when defined.\n */\n findTitle(): ElementWrapper | null {\n return this.findByClassName(legendTestClasses.title);\n }\n\n /**\n * Finds legend's actions slot when defined.\n */\n findActions(): ElementWrapper | null {\n return this.findByClassName(legendTestClasses.actions);\n }\n\n /**\n * Finds legend items that match given options:\n * * `active` (optional, boolean) - Matches only active legend items when `true`, and only inactive when `false`.\n * When options are not set, the function matches all legend items.\n */\n findItems(options?: LegendItemOptions): Array<ElementWrapper> {\n let selector = `.${legendTestClasses.item}`;\n if (options?.active === true) {\n selector += `:not(.${legendTestClasses[\"hidden-item\"]})`;\n }\n if (options?.active === false) {\n selector += `.${legendTestClasses[\"hidden-item\"]}`;\n }\n return this.findAll(selector);\n }\n}\n"]}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/test-utils/dom/internal/base.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 { ButtonWrapper } from \"@cloudscape-design/components/test-utils/dom\";\nimport ChartTooltipWrapper from \"@cloudscape-design/components/test-utils/dom/internal/chart-tooltip\";\nimport { ComponentWrapper, ElementWrapper } from \"@cloudscape-design/test-utils-core/dom\";\n\nimport testClasses from \"../../../core/test-classes/styles.selectors.js\";\nimport legendTestClasses from \"../../../internal/components/chart-legend/test-classes/styles.selectors.js\";\n\nexport default class BaseChartWrapper extends ComponentWrapper {\n static rootSelector: string = testClasses.root;\n\n /**\n * Finds chart's filters area when default series filter or additional filters are defined.\n */\n public findFilter(): null | BaseChartFilterWrapper {\n return this.findComponent(`.${BaseChartFilterWrapper.rootSelector}`, BaseChartFilterWrapper);\n }\n\n /**\n * Finds chart's legend when defined.\n */\n public findLegend(): null | BaseChartLegendWrapper {\n return this.findComponent(`.${BaseChartLegendWrapper.rootSelector}`, BaseChartLegendWrapper);\n }\n\n /**\n * Finds chart's tooltip when visible.\n */\n public findTooltip(): null | ChartTooltipWrapper {\n return this.findComponent(`.${ChartTooltipWrapper.rootSelector}`, ChartTooltipWrapper);\n }\n\n /**\n * Finds chart's no-data when the chart is in no-data state.\n */\n public findNoData(): null | BaseChartNoDataWrapper {\n return this.findComponent(`.${testClasses[\"no-data\"]}`, BaseChartNoDataWrapper);\n }\n\n /**\n * Finds fallback slot, rendered when highcharts=`null`.\n */\n public findFallback(): null | ElementWrapper {\n return this.findByClassName(testClasses.fallback);\n }\n\n /**\n * Finds focusable chart application element. When focused, it renders a focus outline around the chart,\n * and accepts keyboard commands. The application element is not available in empty charts.\n */\n public findApplication(): null | ElementWrapper {\n return this.findByClassName(testClasses.application);\n }\n\n /**\n * Finds visible title of the x axis.\n */\n public findXAxisTitle(): null | ElementWrapper {\n return (\n this.findByClassName(testClasses[\"axis-x-title\"]) ??\n this.find(`.highcharts-axis.${testClasses[\"axis-x\"]} > .highcharts-axis-title`)\n );\n }\n\n /**\n * Finds visible title of the y axis.\n */\n public findYAxisTitle(): null | ElementWrapper {\n return (\n this.findByClassName(testClasses[\"axis-y-title\"]) ??\n this.find(`.highcharts-axis.${testClasses[\"axis-y\"]} > .highcharts-axis-title`)\n );\n }\n}\n\nexport class BaseChartFilterWrapper extends ComponentWrapper {\n static rootSelector: string = testClasses[\"chart-filters\"];\n\n /**\n * Finds default series filter when defined.\n */\n public findSeriesFilter(): null | ElementWrapper {\n return this.findByClassName(testClasses[\"chart-filters-series\"]);\n }\n\n /**\n * Finds custom additional filters slot when defined.\n */\n public findAdditionalFilters(): null | ElementWrapper {\n return this.findByClassName(testClasses[\"chart-filters-additional\"]);\n }\n}\n\nexport class BaseChartNoDataWrapper extends ComponentWrapper {\n /**\n * Finds no-data empty slot when the chart is in empty state.\n */\n public findEmpty(): null | ElementWrapper {\n return this.findByClassName(testClasses[\"no-data-empty\"]);\n }\n\n /**\n * Finds no-data no-match slot when the chart is in no-match state.\n */\n public findNoMatch(): null | ElementWrapper {\n return this.findByClassName(testClasses[\"no-data-no-match\"]);\n }\n\n /**\n * Finds no-data loading slot when the chart is in loading state.\n */\n public findLoading(): null | ElementWrapper {\n return this.findByClassName(testClasses[\"no-data-loading\"]);\n }\n\n /**\n * Finds no-data error slot when the chart is in error state.\n */\n public findError(): null | ElementWrapper {\n return this.findByClassName(testClasses[\"no-data-error\"]);\n }\n\n /**\n * Finds no-data retry button when the chart is in error state, and uses the default recovery button.\n */\n public findRetryButton(): null | ButtonWrapper {\n return this.findComponent(`.${testClasses[\"no-data-retry\"]}`, ButtonWrapper);\n }\n}\n\ninterface LegendItemOptions {\n active?: boolean;\n}\n\nexport class BaseChartLegendWrapper extends ComponentWrapper {\n static rootSelector: string = legendTestClasses.root;\n\n /**\n * Finds legend's visible title element when defined.\n */\n findTitle(): ElementWrapper | null {\n return this.findByClassName(legendTestClasses.title);\n }\n\n /**\n * Finds legend's actions slot when defined.\n */\n findActions(): ElementWrapper | null {\n return this.findByClassName(legendTestClasses.actions);\n }\n\n /**\n * Finds legend items that match given options:\n * * `active` (optional, boolean) - Matches only active legend items when `true`, and only inactive when `false`.\n * When options are not set, the function matches all legend items.\n */\n findItems(options?: LegendItemOptions): Array<ElementWrapper> {\n let selector = `.${legendTestClasses.item}`;\n if (options?.active === true) {\n selector += `:not(.${legendTestClasses[\"hidden-item\"]})`;\n }\n if (options?.active === false) {\n selector += `.${legendTestClasses[\"hidden-item\"]}`;\n }\n return this.findAll(selector);\n }\n}\n"]}
@@ -24,6 +24,6 @@ class PieChartWrapper extends base_1.default {
24
24
  return this.findByClassName(styles_selectors_js_1.default["inner-description"]);
25
25
  }
26
26
  }
27
- exports.default = PieChartWrapper;
28
27
  PieChartWrapper.rootSelector = styles_selectors_js_1.default.root;
28
+ exports.default = PieChartWrapper;
29
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/test-utils/dom/pie-chart/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;AAItC,2CAAgD;AAEhD,6FAA8E;AAE9E,MAAqB,eAAgB,SAAQ,cAAgB;IAG3D;;OAEG;IACI,YAAY;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACI,kBAAkB;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC,6BAAW,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACI,wBAAwB;QAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,6BAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAChE,CAAC;;AAtBH,kCAuBC;AAtBQ,4BAAY,GAAW,6BAAW,CAAC,IAAI,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { ElementWrapper } from \"@cloudscape-design/test-utils-core/dom\";\n\nimport BaseChartWrapper from \"../internal/base\";\n\nimport testClasses from \"../../../pie-chart/test-classes/styles.selectors.js\";\n\nexport default class PieChartWrapper extends BaseChartWrapper {\n static rootSelector: string = testClasses.root;\n\n /**\n * Finds segments elements. Use this to assert the number of visible segments.\n */\n public findSegments(): Array<ElementWrapper> {\n return this.findAllByClassName(\"highcharts-point\");\n }\n\n /**\n * Finds donut chart's inner area title when defined.\n */\n public findInnerAreaTitle(): null | ElementWrapper {\n return this.findByClassName(testClasses[\"inner-value\"]);\n }\n\n /**\n * Finds donut chart's inner area description when defined.\n */\n public findInnerAreaDescription(): null | ElementWrapper {\n return this.findByClassName(testClasses[\"inner-description\"]);\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/test-utils/dom/pie-chart/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;AAItC,2CAAgD;AAEhD,6FAA8E;AAE9E,MAAqB,eAAgB,SAAQ,cAAgB;IAG3D;;OAEG;IACI,YAAY;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACI,kBAAkB;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC,6BAAW,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACI,wBAAwB;QAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,6BAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAChE,CAAC;;AArBM,4BAAY,GAAW,6BAAW,CAAC,IAAI,CAAC;kBAD5B,eAAe","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { ElementWrapper } from \"@cloudscape-design/test-utils-core/dom\";\n\nimport BaseChartWrapper from \"../internal/base\";\n\nimport testClasses from \"../../../pie-chart/test-classes/styles.selectors.js\";\n\nexport default class PieChartWrapper extends BaseChartWrapper {\n static rootSelector: string = testClasses.root;\n\n /**\n * Finds segments elements. Use this to assert the number of visible segments.\n */\n public findSegments(): Array<ElementWrapper> {\n return this.findAllByClassName(\"highcharts-point\");\n }\n\n /**\n * Finds donut chart's inner area title when defined.\n */\n public findInnerAreaTitle(): null | ElementWrapper {\n return this.findByClassName(testClasses[\"inner-value\"]);\n }\n\n /**\n * Finds donut chart's inner area description when defined.\n */\n public findInnerAreaDescription(): null | ElementWrapper {\n return this.findByClassName(testClasses[\"inner-description\"]);\n }\n}\n"]}
@@ -19,6 +19,6 @@ class CartesianChartWrapper extends base_1.default {
19
19
  return this.findAllByClassName("highcharts-series");
20
20
  }
21
21
  }
22
- exports.default = CartesianChartWrapper;
23
22
  CartesianChartWrapper.rootSelector = styles_selectors_js_1.default.root;
23
+ exports.default = CartesianChartWrapper;
24
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/test-utils/selectors/cartesian-chart/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;AAGtC,2CAAgD;AAChD,uCAAyD;AACzD,mGAAoF;AACpF,MAAqB,qBAAsB,SAAQ,cAAgB;IAGjE;;OAEG;IACI,WAAW;QAChB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,sCAA4B,CAAC,YAAY,EAAE,EAAE,sCAA4B,CAAC,CAAC;IAC3G,CAAC;IAED;;OAEG;IACI,UAAU;QACf,OAAO,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;IACtD,CAAC;;AAfH,wCAgBC;AAfQ,kCAAY,GAAW,6BAAW,CAAC,IAAI,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { ElementWrapper } from \"@cloudscape-design/test-utils-core/selectors\";\nimport BaseChartWrapper from \"../internal/base\";\nimport { CartesianChartTooltipWrapper } from \"./tooltip\";\nimport testClasses from \"../../../cartesian-chart/test-classes/styles.selectors.js\";\nexport default class CartesianChartWrapper extends BaseChartWrapper {\n static rootSelector: string = testClasses.root;\n\n /**\n * Finds chart's tooltip when visible.\n */\n public findTooltip() {\n return this.findComponent(`.${CartesianChartTooltipWrapper.rootSelector}`, CartesianChartTooltipWrapper);\n }\n\n /**\n * Finds series elements. Use this to assert the number of visible series.\n */\n public findSeries() {\n return this.findAllByClassName(\"highcharts-series\");\n }\n}"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/test-utils/selectors/cartesian-chart/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;AAGtC,2CAAgD;AAChD,uCAAyD;AACzD,mGAAoF;AACpF,MAAqB,qBAAsB,SAAQ,cAAgB;IAGjE;;OAEG;IACI,WAAW;QAChB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,sCAA4B,CAAC,YAAY,EAAE,EAAE,sCAA4B,CAAC,CAAC;IAC3G,CAAC;IAED;;OAEG;IACI,UAAU;QACf,OAAO,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;IACtD,CAAC;;AAdM,kCAAY,GAAW,6BAAW,CAAC,IAAI,CAAC;kBAD5B,qBAAqB","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { ElementWrapper } from \"@cloudscape-design/test-utils-core/selectors\";\nimport BaseChartWrapper from \"../internal/base\";\nimport { CartesianChartTooltipWrapper } from \"./tooltip\";\nimport testClasses from \"../../../cartesian-chart/test-classes/styles.selectors.js\";\nexport default class CartesianChartWrapper extends BaseChartWrapper {\n static rootSelector: string = testClasses.root;\n\n /**\n * Finds chart's tooltip when visible.\n */\n public findTooltip() {\n return this.findComponent(`.${CartesianChartTooltipWrapper.rootSelector}`, CartesianChartTooltipWrapper);\n }\n\n /**\n * Finds series elements. Use this to assert the number of visible series.\n */\n public findSeries() {\n return this.findAllByClassName(\"highcharts-series\");\n }\n}"]}
@@ -3,6 +3,7 @@
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.PieChartWrapper = exports.CartesianChartWrapper = exports.ElementWrapper = void 0;
6
+ exports.default = wrapper;
6
7
  const selectors_1 = require("@cloudscape-design/test-utils-core/selectors");
7
8
  Object.defineProperty(exports, "ElementWrapper", { enumerable: true, get: function () { return selectors_1.ElementWrapper; } });
8
9
  const utils_1 = require("@cloudscape-design/test-utils-core/utils");
@@ -28,5 +29,4 @@ function getComponentSelector(wrapper, selector) {
28
29
  function wrapper(root = "body") {
29
30
  return new selectors_1.ElementWrapper(root);
30
31
  }
31
- exports.default = wrapper;
32
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/test-utils/selectors/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;;AAEtC,4EAA8E;AAGrE,+FAHA,0BAAc,OAGA;AAFvB,oEAA0E;AAI1E,uDAAsD;AAG7C,gCAHF,yBAAqB,CAGE;AAF9B,2CAA0C;AAEV,0BAFzB,mBAAe,CAEyB;AA2C/C,0BAAc,CAAC,SAAS,CAAC,uBAAuB,GAAG,UAAU,QAAQ;IACnE,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,yBAAqB,EAAE,QAAQ,CAAC,EAAE,yBAAqB,CAAC,CAAC;AAC1G,CAAC,CAAC;AACF,0BAAc,CAAC,SAAS,CAAC,iBAAiB,GAAG,UAAU,QAAQ;IAC7D,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,mBAAe,EAAE,QAAQ,CAAC,EAAE,mBAAe,CAAC,CAAC;AAC9F,CAAC,CAAC;AACF,0BAAc,CAAC,SAAS,CAAC,0BAA0B,GAAG,UAAU,QAAQ;IACtE,OAAO,IAAI,CAAC,iBAAiB,CAAC,yBAAqB,EAAE,QAAQ,CAAC,CAAC;AACjE,CAAC,CAAC;AACF,0BAAc,CAAC,SAAS,CAAC,oBAAoB,GAAG,UAAU,QAAQ;IAChE,OAAO,IAAI,CAAC,iBAAiB,CAAC,mBAAe,EAAE,QAAQ,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,SAAS,oBAAoB,CAAC,OAAiC,EAAE,QAAiB;IAChF,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAc,EAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;AACtG,CAAC;AAED,SAAwB,OAAO,CAAC,OAAe,MAAM;IACnD,OAAO,IAAI,0BAAc,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAFD,0BAEC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { ElementWrapper } from \"@cloudscape-design/test-utils-core/selectors\";\nimport { appendSelector } from \"@cloudscape-design/test-utils-core/utils\";\n\nexport { ElementWrapper };\n\nimport CartesianChartWrapper from \"./cartesian-chart\";\nimport PieChartWrapper from \"./pie-chart\";\n\nexport { CartesianChartWrapper, PieChartWrapper };\n\ndeclare module \"@cloudscape-design/test-utils-core/dist/selectors\" {\n interface ElementWrapper {\n /**\n * Returns the wrapper of the first cartesian chart that matches the specified CSS selector.\n * If no CSS selector is specified, returns the wrapper of the first cartesian chart.\n * If no matching chart is found, returns `null`.\n *\n * @param {string} [selector] CSS Selector\n * @returns {CartesianChartWrapper | null}\n */\n findCartesianHighcharts(selector?: string): CartesianChartWrapper;\n /**\n * Returns the wrapper of the first pie chart that matches the specified CSS selector.\n * If no CSS selector is specified, returns the wrapper of the first pie chart.\n * If no matching chart is found, returns `null`.\n *\n * @param {string} [selector] CSS Selector\n * @returns {PieChartWrapper | null}\n */\n findPieHighcharts(selector?: string): PieChartWrapper;\n /**\n * Returns an array of cartesian chart wrappers that matches the specified CSS selector.\n * If no CSS selector is specified, returns all cartesian charts inside the current wrapper.\n * If no matching chart is found, returns an empty array.\n *\n * @param {string} [selector] CSS Selector\n * @returns {CartesianChartWrapper[]}\n */\n findAllCartesianHighcharts(selector?: string): MultiElementWrapper<CartesianChartWrapper>;\n /**\n * Returns an array of pie chart wrappers that matches the specified CSS selector.\n * If no CSS selector is specified, returns all pie charts inside the current wrapper.\n * If no matching chart is found, returns an empty array.\n *\n * @param {string} [selector] CSS Selector\n * @returns {PieChartWrapper[]}\n */\n findAllPieHighcharts(selector?: string): MultiElementWrapper<PieChartWrapper>;\n }\n}\n\nElementWrapper.prototype.findCartesianHighcharts = function (selector) {\n return this.findComponent(getComponentSelector(CartesianChartWrapper, selector), CartesianChartWrapper);\n};\nElementWrapper.prototype.findPieHighcharts = function (selector) {\n return this.findComponent(getComponentSelector(PieChartWrapper, selector), PieChartWrapper);\n};\nElementWrapper.prototype.findAllCartesianHighcharts = function (selector) {\n return this.findAllComponents(CartesianChartWrapper, selector);\n};\nElementWrapper.prototype.findAllPieHighcharts = function (selector) {\n return this.findAllComponents(PieChartWrapper, selector);\n};\n\nfunction getComponentSelector(wrapper: { rootSelector: string }, selector?: string) {\n return selector ? appendSelector(selector, `.${wrapper.rootSelector}`) : `.${wrapper.rootSelector}`;\n}\n\nexport default function wrapper(root: string = \"body\") {\n return new ElementWrapper(root);\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/test-utils/selectors/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;;AAsEtC,0BAEC;AAtED,4EAA8E;AAGrE,+FAHA,0BAAc,OAGA;AAFvB,oEAA0E;AAI1E,uDAAsD;AAG7C,gCAHF,yBAAqB,CAGE;AAF9B,2CAA0C;AAEV,0BAFzB,mBAAe,CAEyB;AA2C/C,0BAAc,CAAC,SAAS,CAAC,uBAAuB,GAAG,UAAU,QAAQ;IACnE,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,yBAAqB,EAAE,QAAQ,CAAC,EAAE,yBAAqB,CAAC,CAAC;AAC1G,CAAC,CAAC;AACF,0BAAc,CAAC,SAAS,CAAC,iBAAiB,GAAG,UAAU,QAAQ;IAC7D,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,mBAAe,EAAE,QAAQ,CAAC,EAAE,mBAAe,CAAC,CAAC;AAC9F,CAAC,CAAC;AACF,0BAAc,CAAC,SAAS,CAAC,0BAA0B,GAAG,UAAU,QAAQ;IACtE,OAAO,IAAI,CAAC,iBAAiB,CAAC,yBAAqB,EAAE,QAAQ,CAAC,CAAC;AACjE,CAAC,CAAC;AACF,0BAAc,CAAC,SAAS,CAAC,oBAAoB,GAAG,UAAU,QAAQ;IAChE,OAAO,IAAI,CAAC,iBAAiB,CAAC,mBAAe,EAAE,QAAQ,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,SAAS,oBAAoB,CAAC,OAAiC,EAAE,QAAiB;IAChF,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAc,EAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;AACtG,CAAC;AAED,SAAwB,OAAO,CAAC,OAAe,MAAM;IACnD,OAAO,IAAI,0BAAc,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { ElementWrapper } from \"@cloudscape-design/test-utils-core/selectors\";\nimport { appendSelector } from \"@cloudscape-design/test-utils-core/utils\";\n\nexport { ElementWrapper };\n\nimport CartesianChartWrapper from \"./cartesian-chart\";\nimport PieChartWrapper from \"./pie-chart\";\n\nexport { CartesianChartWrapper, PieChartWrapper };\n\ndeclare module \"@cloudscape-design/test-utils-core/dist/selectors\" {\n interface ElementWrapper {\n /**\n * Returns the wrapper of the first cartesian chart that matches the specified CSS selector.\n * If no CSS selector is specified, returns the wrapper of the first cartesian chart.\n * If no matching chart is found, returns `null`.\n *\n * @param {string} [selector] CSS Selector\n * @returns {CartesianChartWrapper | null}\n */\n findCartesianHighcharts(selector?: string): CartesianChartWrapper;\n /**\n * Returns the wrapper of the first pie chart that matches the specified CSS selector.\n * If no CSS selector is specified, returns the wrapper of the first pie chart.\n * If no matching chart is found, returns `null`.\n *\n * @param {string} [selector] CSS Selector\n * @returns {PieChartWrapper | null}\n */\n findPieHighcharts(selector?: string): PieChartWrapper;\n /**\n * Returns an array of cartesian chart wrappers that matches the specified CSS selector.\n * If no CSS selector is specified, returns all cartesian charts inside the current wrapper.\n * If no matching chart is found, returns an empty array.\n *\n * @param {string} [selector] CSS Selector\n * @returns {CartesianChartWrapper[]}\n */\n findAllCartesianHighcharts(selector?: string): MultiElementWrapper<CartesianChartWrapper>;\n /**\n * Returns an array of pie chart wrappers that matches the specified CSS selector.\n * If no CSS selector is specified, returns all pie charts inside the current wrapper.\n * If no matching chart is found, returns an empty array.\n *\n * @param {string} [selector] CSS Selector\n * @returns {PieChartWrapper[]}\n */\n findAllPieHighcharts(selector?: string): MultiElementWrapper<PieChartWrapper>;\n }\n}\n\nElementWrapper.prototype.findCartesianHighcharts = function (selector) {\n return this.findComponent(getComponentSelector(CartesianChartWrapper, selector), CartesianChartWrapper);\n};\nElementWrapper.prototype.findPieHighcharts = function (selector) {\n return this.findComponent(getComponentSelector(PieChartWrapper, selector), PieChartWrapper);\n};\nElementWrapper.prototype.findAllCartesianHighcharts = function (selector) {\n return this.findAllComponents(CartesianChartWrapper, selector);\n};\nElementWrapper.prototype.findAllPieHighcharts = function (selector) {\n return this.findAllComponents(PieChartWrapper, selector);\n};\n\nfunction getComponentSelector(wrapper: { rootSelector: string }, selector?: string) {\n return selector ? appendSelector(selector, `.${wrapper.rootSelector}`) : `.${wrapper.rootSelector}`;\n}\n\nexport default function wrapper(root: string = \"body\") {\n return new ElementWrapper(root);\n}\n"]}
@@ -61,8 +61,8 @@ class BaseChartWrapper extends selectors_2.ComponentWrapper {
61
61
  return (_a = this.findByClassName(styles_selectors_js_1.default["axis-y-title"])) !== null && _a !== void 0 ? _a : this.find(`.highcharts-axis.${styles_selectors_js_1.default["axis-y"]} > .highcharts-axis-title`);
62
62
  }
63
63
  }
64
- exports.default = BaseChartWrapper;
65
64
  BaseChartWrapper.rootSelector = styles_selectors_js_1.default.root;
65
+ exports.default = BaseChartWrapper;
66
66
  class BaseChartFilterWrapper extends selectors_2.ComponentWrapper {
67
67
  /**
68
68
  * Finds default series filter when defined.
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/test-utils/selectors/internal/base.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 { ButtonWrapper } from \"@cloudscape-design/components/test-utils/selectors\";\nimport ChartTooltipWrapper from \"@cloudscape-design/components/test-utils/selectors/internal/chart-tooltip\";\nimport { ComponentWrapper, ElementWrapper } from \"@cloudscape-design/test-utils-core/selectors\";\nimport testClasses from \"../../../core/test-classes/styles.selectors.js\";\nimport legendTestClasses from \"../../../internal/components/chart-legend/test-classes/styles.selectors.js\";\nexport default class BaseChartWrapper extends ComponentWrapper {\n static rootSelector: string = testClasses.root;\n\n /**\n * Finds chart's filters area when default series filter or additional filters are defined.\n */\n public findFilter() {\n return this.findComponent(`.${BaseChartFilterWrapper.rootSelector}`, BaseChartFilterWrapper);\n }\n\n /**\n * Finds chart's legend when defined.\n */\n public findLegend() {\n return this.findComponent(`.${BaseChartLegendWrapper.rootSelector}`, BaseChartLegendWrapper);\n }\n\n /**\n * Finds chart's tooltip when visible.\n */\n public findTooltip() {\n return this.findComponent(`.${ChartTooltipWrapper.rootSelector}`, ChartTooltipWrapper);\n }\n\n /**\n * Finds chart's no-data when the chart is in no-data state.\n */\n public findNoData() {\n return this.findComponent(`.${testClasses[\"no-data\"]}`, BaseChartNoDataWrapper);\n }\n\n /**\n * Finds fallback slot, rendered when highcharts=`null`.\n */\n public findFallback() {\n return this.findByClassName(testClasses.fallback);\n }\n\n /**\n * Finds focusable chart application element. When focused, it renders a focus outline around the chart,\n * and accepts keyboard commands. The application element is not available in empty charts.\n */\n public findApplication() {\n return this.findByClassName(testClasses.application);\n }\n\n /**\n * Finds visible title of the x axis.\n */\n public findXAxisTitle() {\n return this.findByClassName(testClasses[\"axis-x-title\"]) ?? this.find(`.highcharts-axis.${testClasses[\"axis-x\"]} > .highcharts-axis-title`);\n }\n\n /**\n * Finds visible title of the y axis.\n */\n public findYAxisTitle() {\n return this.findByClassName(testClasses[\"axis-y-title\"]) ?? this.find(`.highcharts-axis.${testClasses[\"axis-y\"]} > .highcharts-axis-title`);\n }\n}\nexport class BaseChartFilterWrapper extends ComponentWrapper {\n static rootSelector: string = testClasses[\"chart-filters\"];\n\n /**\n * Finds default series filter when defined.\n */\n public findSeriesFilter() {\n return this.findByClassName(testClasses[\"chart-filters-series\"]);\n }\n\n /**\n * Finds custom additional filters slot when defined.\n */\n public findAdditionalFilters() {\n return this.findByClassName(testClasses[\"chart-filters-additional\"]);\n }\n}\nexport class BaseChartNoDataWrapper extends ComponentWrapper {\n /**\n * Finds no-data empty slot when the chart is in empty state.\n */\n public findEmpty() {\n return this.findByClassName(testClasses[\"no-data-empty\"]);\n }\n\n /**\n * Finds no-data no-match slot when the chart is in no-match state.\n */\n public findNoMatch() {\n return this.findByClassName(testClasses[\"no-data-no-match\"]);\n }\n\n /**\n * Finds no-data loading slot when the chart is in loading state.\n */\n public findLoading() {\n return this.findByClassName(testClasses[\"no-data-loading\"]);\n }\n\n /**\n * Finds no-data error slot when the chart is in error state.\n */\n public findError() {\n return this.findByClassName(testClasses[\"no-data-error\"]);\n }\n\n /**\n * Finds no-data retry button when the chart is in error state, and uses the default recovery button.\n */\n public findRetryButton() {\n return this.findComponent(`.${testClasses[\"no-data-retry\"]}`, ButtonWrapper);\n }\n}\ninterface LegendItemOptions {\n active?: boolean;\n}\nexport class BaseChartLegendWrapper extends ComponentWrapper {\n static rootSelector: string = legendTestClasses.root;\n\n /**\n * Finds legend's visible title element when defined.\n */\n findTitle() {\n return this.findByClassName(legendTestClasses.title);\n }\n\n /**\n * Finds legend's actions slot when defined.\n */\n findActions() {\n return this.findByClassName(legendTestClasses.actions);\n }\n\n /**\n * Finds legend items that match given options:\n * * `active` (optional, boolean) - Matches only active legend items when `true`, and only inactive when `false`.\n * When options are not set, the function matches all legend items.\n */\n findItems(options?: LegendItemOptions) {\n let selector = `.${legendTestClasses.item}`;\n if (options?.active === true) {\n selector += `:not(.${legendTestClasses[\"hidden-item\"]})`;\n }\n if (options?.active === false) {\n selector += `.${legendTestClasses[\"hidden-item\"]}`;\n }\n return this.findAll(selector);\n }\n}"]}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/test-utils/selectors/internal/base.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 { ButtonWrapper } from \"@cloudscape-design/components/test-utils/selectors\";\nimport ChartTooltipWrapper from \"@cloudscape-design/components/test-utils/selectors/internal/chart-tooltip\";\nimport { ComponentWrapper, ElementWrapper } from \"@cloudscape-design/test-utils-core/selectors\";\nimport testClasses from \"../../../core/test-classes/styles.selectors.js\";\nimport legendTestClasses from \"../../../internal/components/chart-legend/test-classes/styles.selectors.js\";\nexport default class BaseChartWrapper extends ComponentWrapper {\n static rootSelector: string = testClasses.root;\n\n /**\n * Finds chart's filters area when default series filter or additional filters are defined.\n */\n public findFilter() {\n return this.findComponent(`.${BaseChartFilterWrapper.rootSelector}`, BaseChartFilterWrapper);\n }\n\n /**\n * Finds chart's legend when defined.\n */\n public findLegend() {\n return this.findComponent(`.${BaseChartLegendWrapper.rootSelector}`, BaseChartLegendWrapper);\n }\n\n /**\n * Finds chart's tooltip when visible.\n */\n public findTooltip() {\n return this.findComponent(`.${ChartTooltipWrapper.rootSelector}`, ChartTooltipWrapper);\n }\n\n /**\n * Finds chart's no-data when the chart is in no-data state.\n */\n public findNoData() {\n return this.findComponent(`.${testClasses[\"no-data\"]}`, BaseChartNoDataWrapper);\n }\n\n /**\n * Finds fallback slot, rendered when highcharts=`null`.\n */\n public findFallback() {\n return this.findByClassName(testClasses.fallback);\n }\n\n /**\n * Finds focusable chart application element. When focused, it renders a focus outline around the chart,\n * and accepts keyboard commands. The application element is not available in empty charts.\n */\n public findApplication() {\n return this.findByClassName(testClasses.application);\n }\n\n /**\n * Finds visible title of the x axis.\n */\n public findXAxisTitle() {\n return this.findByClassName(testClasses[\"axis-x-title\"]) ?? this.find(`.highcharts-axis.${testClasses[\"axis-x\"]} > .highcharts-axis-title`);\n }\n\n /**\n * Finds visible title of the y axis.\n */\n public findYAxisTitle() {\n return this.findByClassName(testClasses[\"axis-y-title\"]) ?? this.find(`.highcharts-axis.${testClasses[\"axis-y\"]} > .highcharts-axis-title`);\n }\n}\nexport class BaseChartFilterWrapper extends ComponentWrapper {\n static rootSelector: string = testClasses[\"chart-filters\"];\n\n /**\n * Finds default series filter when defined.\n */\n public findSeriesFilter() {\n return this.findByClassName(testClasses[\"chart-filters-series\"]);\n }\n\n /**\n * Finds custom additional filters slot when defined.\n */\n public findAdditionalFilters() {\n return this.findByClassName(testClasses[\"chart-filters-additional\"]);\n }\n}\nexport class BaseChartNoDataWrapper extends ComponentWrapper {\n /**\n * Finds no-data empty slot when the chart is in empty state.\n */\n public findEmpty() {\n return this.findByClassName(testClasses[\"no-data-empty\"]);\n }\n\n /**\n * Finds no-data no-match slot when the chart is in no-match state.\n */\n public findNoMatch() {\n return this.findByClassName(testClasses[\"no-data-no-match\"]);\n }\n\n /**\n * Finds no-data loading slot when the chart is in loading state.\n */\n public findLoading() {\n return this.findByClassName(testClasses[\"no-data-loading\"]);\n }\n\n /**\n * Finds no-data error slot when the chart is in error state.\n */\n public findError() {\n return this.findByClassName(testClasses[\"no-data-error\"]);\n }\n\n /**\n * Finds no-data retry button when the chart is in error state, and uses the default recovery button.\n */\n public findRetryButton() {\n return this.findComponent(`.${testClasses[\"no-data-retry\"]}`, ButtonWrapper);\n }\n}\ninterface LegendItemOptions {\n active?: boolean;\n}\nexport class BaseChartLegendWrapper extends ComponentWrapper {\n static rootSelector: string = legendTestClasses.root;\n\n /**\n * Finds legend's visible title element when defined.\n */\n findTitle() {\n return this.findByClassName(legendTestClasses.title);\n }\n\n /**\n * Finds legend's actions slot when defined.\n */\n findActions() {\n return this.findByClassName(legendTestClasses.actions);\n }\n\n /**\n * Finds legend items that match given options:\n * * `active` (optional, boolean) - Matches only active legend items when `true`, and only inactive when `false`.\n * When options are not set, the function matches all legend items.\n */\n findItems(options?: LegendItemOptions) {\n let selector = `.${legendTestClasses.item}`;\n if (options?.active === true) {\n selector += `:not(.${legendTestClasses[\"hidden-item\"]})`;\n }\n if (options?.active === false) {\n selector += `.${legendTestClasses[\"hidden-item\"]}`;\n }\n return this.findAll(selector);\n }\n}"]}