@dynatrace/strato-components-testing 3.8.0 → 3.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/esm/jest/custom-render.js +2 -1
  2. package/esm/jest/custom-render.js.map +2 -2
  3. package/index.d.ts +1 -0
  4. package/jest/custom-render.d.ts +2 -1
  5. package/jest/custom-render.js +2 -1
  6. package/jest/index.d.ts +1 -0
  7. package/jest/mocks/bounding-client-rect-mock.d.ts +1 -0
  8. package/jest/mocks/canvas-mock.d.ts +1 -0
  9. package/jest/mocks/create-mock-element.d.ts +1 -0
  10. package/jest/mocks/create-range-mock.d.ts +1 -0
  11. package/jest/mocks/crypto-mock.d.ts +1 -0
  12. package/jest/mocks/dom-rect-mock.d.ts +1 -0
  13. package/jest/mocks/element-from-point-mock.d.ts +1 -0
  14. package/jest/mocks/fetch-mock.d.ts +1 -0
  15. package/jest/mocks/framer-motion-mock.d.ts +1 -0
  16. package/jest/mocks/intersection-observer-mock.d.ts +1 -0
  17. package/jest/mocks/match-media-mock.d.ts +1 -0
  18. package/jest/mocks/offset-height-mock.d.ts +1 -0
  19. package/jest/mocks/offset-width-mock.d.ts +1 -0
  20. package/jest/mocks/pointer-event-mock.d.ts +1 -0
  21. package/jest/mocks/resize-observer-mock.d.ts +1 -0
  22. package/jest/mocks/screen-size-mock.d.ts +1 -0
  23. package/jest/mocks/scroll-into-view-mock.d.ts +1 -0
  24. package/jest/mocks/scroll-width-mock.d.ts +1 -0
  25. package/jest/mocks/streamdown.mock.d.ts +2 -1
  26. package/jest/mocks/structured-clone-mock.d.ts +1 -0
  27. package/jest/mocks/table-virtualization-mock.d.ts +1 -0
  28. package/jest/mocks/text-ellipsis-mock.d.ts +1 -0
  29. package/jest/mocks/virtualization-mock.d.ts +1 -0
  30. package/jest/preset/index.d.ts +1 -0
  31. package/jest/preset/jest-preset.d.ts +1 -0
  32. package/jest/preset/resolver.d.ts +1 -0
  33. package/jest/setup/index.d.ts +1 -0
  34. package/jest/testing-helpers/filters/filter-field.d.ts +1 -0
  35. package/jest/testing-helpers/forms/base-input.d.ts +1 -0
  36. package/jest/testing-helpers/forms/password-input.d.ts +1 -0
  37. package/jest/testing-helpers/forms/search-input.d.ts +1 -0
  38. package/jest/testing-helpers/forms/select.d.ts +1 -0
  39. package/jest/testing-helpers/forms/text-input.d.ts +1 -0
  40. package/jest/testing-helpers/tables/datatable.d.ts +1 -0
  41. package/jest/testing-helpers/utils/isFakeTimersEnabled.d.ts +1 -0
  42. package/jest/testing-helpers/utils/setup-user-event.d.ts +1 -0
  43. package/package.json +12 -5
@@ -3,12 +3,13 @@ import {
3
3
  render as rtlRender
4
4
  } from "@testing-library/react";
5
5
  import { IntlProvider } from "react-intl";
6
+ const IntlProviderCompat = IntlProvider;
6
7
  const AllProviders = ({
7
8
  children,
8
9
  locale = "en",
9
10
  timeZone = "UTC"
10
11
  }) => {
11
- return /* @__PURE__ */ jsx(IntlProvider, { locale, timeZone, children });
12
+ return /* @__PURE__ */ jsx(IntlProviderCompat, { locale, timeZone, children });
12
13
  };
13
14
  const DefaultWrapper = (props) => (
14
15
  // eslint-disable-next-line react/jsx-no-useless-fragment
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/jest/custom-render.tsx"],
4
- "sourcesContent": ["/* eslint-disable no-restricted-imports */\nimport {\n render as rtlRender,\n RenderOptions,\n RenderResult,\n} from '@testing-library/react';\nimport { type PropsWithChildren, type ReactElement } from 'react';\nimport { IntlProvider } from 'react-intl';\n\ninterface AllProvidersProps {\n locale?: string;\n timeZone?: string;\n}\n\n/** The wrapper component to always have the providers in place */\nconst AllProviders = ({\n children,\n locale = 'en',\n timeZone = 'UTC',\n}: PropsWithChildren<AllProvidersProps>) => {\n return (\n <IntlProvider locale={locale} timeZone={timeZone}>\n {children}\n </IntlProvider>\n );\n};\n\n/**\n * @public\n */\nexport type RenderWithIntlOptions = {\n locale?: string;\n timeZone?: string;\n} & Omit<RenderOptions, 'queries'>;\n\nconst DefaultWrapper = (props: PropsWithChildren<unknown>) => (\n // eslint-disable-next-line react/jsx-no-useless-fragment\n <>{props.children}</>\n);\n\n/**\n * Wrapper to render components with all required providers\n * @public\n */\nexport const customRender = (\n ui: ReactElement,\n {\n locale = 'en',\n timeZone = 'UTC',\n wrapper: CustomWrapper = DefaultWrapper,\n ...renderOptions\n }: RenderWithIntlOptions = {},\n): RenderResult =>\n rtlRender(ui, {\n wrapper: ({ children }) => (\n <AllProviders locale={locale} timeZone={timeZone}>\n <CustomWrapper>{children}</CustomWrapper>\n </AllProviders>\n ),\n ...renderOptions,\n });\n"],
5
- "mappings": "AAqBI,SAgBF,UAhBE;AApBJ;AAAA,EACE,UAAU;AAAA,OAGL;AAEP,SAAS,oBAAoB;AAQ7B,MAAM,eAAe,CAAC;AAAA,EACpB;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AACb,MAA4C;AAC1C,SACE,oBAAC,gBAAa,QAAgB,UAC3B,UACH;AAEJ;AAUA,MAAM,iBAAiB,CAAC;AAAA;AAAA,EAEtB,gCAAG,gBAAM,UAAS;AAAA;AAOb,MAAM,eAAe,CAC1B,IACA;AAAA,EACE,SAAS;AAAA,EACT,WAAW;AAAA,EACX,SAAS,gBAAgB;AAAA,EACzB,GAAG;AACL,IAA2B,CAAC,MAE5B,UAAU,IAAI;AAAA,EACZ,SAAS,CAAC,EAAE,SAAS,MACnB,oBAAC,gBAAa,QAAgB,UAC5B,8BAAC,iBAAe,UAAS,GAC3B;AAAA,EAEF,GAAG;AACL,CAAC;",
4
+ "sourcesContent": ["/* eslint-disable no-restricted-imports */\nimport {\n render as rtlRender,\n RenderOptions,\n RenderResult,\n} from '@testing-library/react';\nimport type {\n ComponentType,\n PropsWithChildren,\n ReactElement,\n ReactNode,\n} from 'react';\nimport { IntlProvider } from 'react-intl';\n\n// react-intl ships @types/react@18 types. Its `contextType` references the\n// React 18 `Context<any>` which is missing the `$$typeof` symbol required by\n// React 19. The cast sidesteps the cross-version mismatch while keeping the\n// relevant props explicit.\nconst IntlProviderCompat = IntlProvider as unknown as ComponentType<{\n locale: string;\n timeZone?: string;\n children?: ReactNode;\n}>;\n\ninterface AllProvidersProps {\n locale?: string;\n timeZone?: string;\n}\n\n/** The wrapper component to always have the providers in place */\nconst AllProviders = ({\n children,\n locale = 'en',\n timeZone = 'UTC',\n}: PropsWithChildren<AllProvidersProps>) => {\n return (\n <IntlProviderCompat locale={locale} timeZone={timeZone}>\n {children}\n </IntlProviderCompat>\n );\n};\n\n/**\n * @public\n */\nexport type RenderWithIntlOptions = {\n locale?: string;\n timeZone?: string;\n} & Omit<RenderOptions, 'queries'>;\n\nconst DefaultWrapper = (props: PropsWithChildren<unknown>) => (\n // eslint-disable-next-line react/jsx-no-useless-fragment\n <>{props.children}</>\n);\n\n/**\n * Wrapper to render components with all required providers\n * @public\n */\nexport const customRender = (\n ui: ReactElement,\n {\n locale = 'en',\n timeZone = 'UTC',\n wrapper: CustomWrapper = DefaultWrapper,\n ...renderOptions\n }: RenderWithIntlOptions = {},\n): RenderResult =>\n rtlRender(ui, {\n wrapper: ({ children }) => (\n <AllProviders locale={locale} timeZone={timeZone}>\n <CustomWrapper>{children}</CustomWrapper>\n </AllProviders>\n ),\n ...renderOptions,\n });\n"],
5
+ "mappings": "AAoCI,SAgBF,UAhBE;AAnCJ;AAAA,EACE,UAAU;AAAA,OAGL;AAOP,SAAS,oBAAoB;AAM7B,MAAM,qBAAqB;AAY3B,MAAM,eAAe,CAAC;AAAA,EACpB;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AACb,MAA4C;AAC1C,SACE,oBAAC,sBAAmB,QAAgB,UACjC,UACH;AAEJ;AAUA,MAAM,iBAAiB,CAAC;AAAA;AAAA,EAEtB,gCAAG,gBAAM,UAAS;AAAA;AAOb,MAAM,eAAe,CAC1B,IACA;AAAA,EACE,SAAS;AAAA,EACT,WAAW;AAAA,EACX,SAAS,gBAAgB;AAAA,EACzB,GAAG;AACL,IAA2B,CAAC,MAE5B,UAAU,IAAI;AAAA,EACZ,SAAS,CAAC,EAAE,SAAS,MACnB,oBAAC,gBAAa,QAAgB,UAC5B,8BAAC,iBAAe,UAAS,GAC3B;AAAA,EAEF,GAAG;AACL,CAAC;",
6
6
  "names": []
7
7
  }
package/index.d.ts CHANGED
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { RenderOptions, RenderResult } from '@testing-library/react';
2
- import { type ReactElement } from 'react';
2
+ import type { ReactElement } from 'react';
3
3
  /**
4
4
  * @public
5
5
  */
@@ -12,3 +12,4 @@ export type RenderWithIntlOptions = {
12
12
  * @public
13
13
  */
14
14
  export declare const customRender: (ui: ReactElement, { locale, timeZone, wrapper: CustomWrapper, ...renderOptions }?: RenderWithIntlOptions) => RenderResult;
15
+ //# sourceMappingURL=custom-render.d.ts.map
@@ -23,12 +23,13 @@ module.exports = __toCommonJS(custom_render_exports);
23
23
  var import_jsx_runtime = require("react/jsx-runtime");
24
24
  var import_react = require("@testing-library/react");
25
25
  var import_react_intl = require("react-intl");
26
+ const IntlProviderCompat = import_react_intl.IntlProvider;
26
27
  const AllProviders = ({
27
28
  children,
28
29
  locale = "en",
29
30
  timeZone = "UTC"
30
31
  }) => {
31
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_intl.IntlProvider, { locale, timeZone, children });
32
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IntlProviderCompat, { locale, timeZone, children });
32
33
  };
33
34
  const DefaultWrapper = (props) => (
34
35
  // eslint-disable-next-line react/jsx-no-useless-fragment
package/jest/index.d.ts CHANGED
@@ -29,3 +29,4 @@ export { setupTextEllipsisMock, clearTextEllipsisMock, } from './mocks/text-elli
29
29
  export { setupFramerMotionMock, clearFramerMotionMock, } from './mocks/framer-motion-mock.js';
30
30
  export { setupElementFromPointMock, clearElementFromPointMock, } from './mocks/element-from-point-mock.js';
31
31
  export { setupStructuredCloneMock, clearStructuredCloneMock, } from './mocks/structured-clone-mock.js';
32
+ //# sourceMappingURL=index.d.ts.map
@@ -8,3 +8,4 @@ export declare function setupGetBoundingClientRectMock(widthOrMockFn: number | (
8
8
  * @public
9
9
  */
10
10
  export declare function clearGetBoundingClientRectMock(): void;
11
+ //# sourceMappingURL=bounding-client-rect-mock.d.ts.map
@@ -13,3 +13,4 @@ export declare function setupCanvasMeasureTextMock(mockTextWidth?: number): void
13
13
  * @public
14
14
  */
15
15
  export declare function clearCanvasMeasureTextMock(): void;
16
+ //# sourceMappingURL=canvas-mock.d.ts.map
@@ -13,3 +13,4 @@ top: number,
13
13
  width: number,
14
14
  /** Element height */
15
15
  height: number): HTMLElement;
16
+ //# sourceMappingURL=create-mock-element.d.ts.map
@@ -9,3 +9,4 @@ export declare function setupCreateRangeMock(): void;
9
9
  * @public
10
10
  */
11
11
  export declare function clearCreateRangeMock(): void;
12
+ //# sourceMappingURL=create-range-mock.d.ts.map
@@ -10,3 +10,4 @@ export declare function setupCryptoMock(): void;
10
10
  * @internal
11
11
  */
12
12
  export declare function clearCryptoMock(): void;
13
+ //# sourceMappingURL=crypto-mock.d.ts.map
@@ -16,3 +16,4 @@ export declare function setupDomRectMock(mockDomRect?: DOMRect): void;
16
16
  * @public
17
17
  */
18
18
  export declare function clearDomRectMock(): void;
19
+ //# sourceMappingURL=dom-rect-mock.d.ts.map
@@ -9,3 +9,4 @@ export declare function setupElementFromPointMock(element?: Element | null): voi
9
9
  * @public
10
10
  */
11
11
  export declare function clearElementFromPointMock(): void;
12
+ //# sourceMappingURL=element-from-point-mock.d.ts.map
@@ -8,3 +8,4 @@ export declare function setupFetchMock(mockedValue?: any): void;
8
8
  * @public
9
9
  */
10
10
  export declare function clearFetchMock(): void;
11
+ //# sourceMappingURL=fetch-mock.d.ts.map
@@ -16,3 +16,4 @@ export declare function setupFramerMotionMock(): {
16
16
  * @public
17
17
  */
18
18
  export declare function clearFramerMotionMock(): void;
19
+ //# sourceMappingURL=framer-motion-mock.d.ts.map
@@ -9,3 +9,4 @@ export declare function setupIntersectionObserverMock(entries?: any): void;
9
9
  * @public
10
10
  */
11
11
  export declare function clearIntersectionObserverMock(): void;
12
+ //# sourceMappingURL=intersection-observer-mock.d.ts.map
@@ -9,3 +9,4 @@ export declare function setupMatchMediaMock(isMatching?: boolean): void;
9
9
  * @public
10
10
  */
11
11
  export declare function clearMatchMediaMock(): void;
12
+ //# sourceMappingURL=match-media-mock.d.ts.map
@@ -8,3 +8,4 @@ export declare function setupOffsetHeightMock(containerHeightOrMockFn: number |
8
8
  * @public
9
9
  */
10
10
  export declare function clearOffsetHeightMock(): void;
11
+ //# sourceMappingURL=offset-height-mock.d.ts.map
@@ -8,3 +8,4 @@ export declare function setupOffsetWidthMock(containerWidthOrMockFn: number | ((
8
8
  * @public
9
9
  */
10
10
  export declare function clearOffsetWidthMock(): void;
11
+ //# sourceMappingURL=offset-width-mock.d.ts.map
@@ -8,3 +8,4 @@ export declare function setupPointerEventMock(): void;
8
8
  * @public
9
9
  */
10
10
  export declare function clearPointerEventMock(): void;
11
+ //# sourceMappingURL=pointer-event-mock.d.ts.map
@@ -11,3 +11,4 @@ mockedObserveCallbackValue?: PartialDeep<ResizeObserverEntry>[]): void;
11
11
  * @public
12
12
  */
13
13
  export declare function clearResizeObserverMock(): void;
14
+ //# sourceMappingURL=resize-observer-mock.d.ts.map
@@ -8,3 +8,4 @@ export declare function setupScreenSizeMock(width?: number, height?: number): vo
8
8
  * @public
9
9
  */
10
10
  export declare function clearScreenSizeMock(): void;
11
+ //# sourceMappingURL=screen-size-mock.d.ts.map
@@ -8,3 +8,4 @@ export declare function setupScrollIntoViewMock(): void;
8
8
  * @public
9
9
  */
10
10
  export declare function clearScrollIntoViewMock(): void;
11
+ //# sourceMappingURL=scroll-into-view-mock.d.ts.map
@@ -8,3 +8,4 @@ export declare function setupScrollWidthMock(scrollWidth: number): void;
8
8
  * @public
9
9
  */
10
10
  export declare function clearScrollWidthMock(): void;
11
+ //# sourceMappingURL=scroll-width-mock.d.ts.map
@@ -1,2 +1,3 @@
1
1
  import type { PropsWithChildren } from 'react';
2
- export declare function Streamdown(props: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
2
+ export declare function Streamdown(props: PropsWithChildren): import("react").JSX.Element;
3
+ //# sourceMappingURL=streamdown.mock.d.ts.map
@@ -10,3 +10,4 @@ export declare function setupStructuredCloneMock(): void;
10
10
  * @public
11
11
  */
12
12
  export declare function clearStructuredCloneMock(): void;
13
+ //# sourceMappingURL=structured-clone-mock.d.ts.map
@@ -13,3 +13,4 @@ export declare function setupTableVirtualizationMock(containerHeight?: number):
13
13
  * @deprecated this mock is deprecated and will be removed in future versions. Instead, use `clearVirtualizationMock`.
14
14
  */
15
15
  export declare function clearTableVirtualizationMock(): void;
16
+ //# sourceMappingURL=table-virtualization-mock.d.ts.map
@@ -8,3 +8,4 @@ export declare function setupTextEllipsisMock(containerWidth?: number, textWidth
8
8
  * @public
9
9
  */
10
10
  export declare function clearTextEllipsisMock(): void;
11
+ //# sourceMappingURL=text-ellipsis-mock.d.ts.map
@@ -7,3 +7,4 @@ export declare function setupVirtualizationMock(): void;
7
7
  * @public
8
8
  */
9
9
  export declare function clearVirtualizationMock(): void;
10
+ //# sourceMappingURL=virtualization-mock.d.ts.map
@@ -1 +1,2 @@
1
1
  export { stratoPreset } from './jest-preset.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -9,3 +9,4 @@ export declare const stratoPreset: {
9
9
  };
10
10
  resolver: string;
11
11
  };
12
+ //# sourceMappingURL=jest-preset.d.ts.map
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=resolver.d.ts.map
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -107,3 +107,4 @@ export declare class FilterFieldHelper {
107
107
  export declare function getFilterFieldHelper(
108
108
  /** The accessible test id used to locate the filter field wrapper. */
109
109
  dataTestId: string): FilterFieldHelper;
110
+ //# sourceMappingURL=filter-field.d.ts.map
@@ -15,3 +15,4 @@ export declare class BaseInputHelper {
15
15
  /** Clears the text input value. */
16
16
  clear(): Promise<void>;
17
17
  }
18
+ //# sourceMappingURL=base-input.d.ts.map
@@ -14,3 +14,4 @@ export declare class PasswordInputHelper extends BaseInputHelper {
14
14
  export declare function getPasswordInputHelper(
15
15
  /** The accessible test id used to locate the password input wrapper. */
16
16
  dataTestId: string): PasswordInputHelper;
17
+ //# sourceMappingURL=password-input.d.ts.map
@@ -18,3 +18,4 @@ export declare class SearchInputHelper extends BaseInputHelper {
18
18
  export declare function getSearchInputHelper(
19
19
  /** The accessible test id used to locate the input wrapper. */
20
20
  dataTestId: string): SearchInputHelper;
21
+ //# sourceMappingURL=search-input.d.ts.map
@@ -63,3 +63,4 @@ export declare class SelectTestingHelper {
63
63
  * @public
64
64
  */
65
65
  export declare function getSelectTestingHelper(dataTestId: string): SelectTestingHelper;
66
+ //# sourceMappingURL=select.d.ts.map
@@ -17,3 +17,4 @@ export declare class TextInputHelper extends BaseInputHelper {
17
17
  export declare function getTextInputHelper(
18
18
  /** The accessible test id used to locate the input wrapper. */
19
19
  dataTestId: string): TextInputHelper;
20
+ //# sourceMappingURL=text-input.d.ts.map
@@ -237,3 +237,4 @@ export declare class DataTableHelper {
237
237
  }
238
238
  /** @public */
239
239
  export declare function getDataTableHelper(testid: string): DataTableHelper;
240
+ //# sourceMappingURL=datatable.d.ts.map
@@ -3,3 +3,4 @@
3
3
  * @internal
4
4
  */
5
5
  export declare function isFakeTimersEnabled(): boolean;
6
+ //# sourceMappingURL=isFakeTimersEnabled.d.ts.map
@@ -4,3 +4,4 @@ import { type Options } from '@testing-library/user-event';
4
4
  * @internal
5
5
  */
6
6
  export declare function setupUserEvent(options?: Options): import("@testing-library/user-event").UserEvent;
7
+ //# sourceMappingURL=setup-user-event.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynatrace/strato-components-testing",
3
- "version": "3.8.0",
3
+ "version": "3.10.0",
4
4
  "private": false,
5
5
  "license": "Apache-2.0",
6
6
  "types": "./index.d.ts",
@@ -34,18 +34,25 @@
34
34
  "browser": "./esm/jest/mocks/streamdown.mock.js",
35
35
  "module": "./esm/jest/mocks/streamdown.mock.js",
36
36
  "import": "./esm/jest/mocks/streamdown.mock.js"
37
+ },
38
+ ".": {
39
+ "types": "./index.d.ts",
40
+ "require": "./index.js",
41
+ "browser": "./esm/index.js",
42
+ "module": "./esm/index.js",
43
+ "import": "./esm/index.js"
37
44
  }
38
45
  },
39
46
  "peerDependencies": {
40
- "@dynatrace/strato-components": "^3.8.0",
47
+ "@dynatrace/strato-components": "^3.10.0",
41
48
  "@testing-library/react": "^16.0.0",
42
49
  "@testing-library/user-event": "^14.0.0",
43
50
  "framer-motion": "^11.3.19 || ^12.0.0",
44
51
  "jest": "^29.0.0 || ^30.0.0",
45
- "react": "^18.0.0",
46
- "react-dom": "^18.0.0",
52
+ "react": "^18.0.0 || ^19.0.0",
53
+ "react-dom": "^18.0.0 || ^19.0.0",
47
54
  "react-intl": "^6.0.8 || ^7.0.0",
48
- "react-is": "^18.0.0",
55
+ "react-is": "^18.0.0 || ^19.0.0",
49
56
  "type-fest": "^5.0.0"
50
57
  },
51
58
  "sideEffects": false