@dynatrace/strato-components-testing 3.11.2 → 3.12.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 (130) hide show
  1. package/esm/jest/index.js +9 -1
  2. package/esm/jest/index.js.map +2 -2
  3. package/esm/jest/mocks/create-range-mock.js +4 -22
  4. package/esm/jest/mocks/create-range-mock.js.map +2 -2
  5. package/esm/jest/mocks/fetch-mock.js +4 -14
  6. package/esm/jest/mocks/fetch-mock.js.map +2 -2
  7. package/esm/jest/mocks/framer-motion-mock.js +3 -48
  8. package/esm/jest/mocks/framer-motion-mock.js.map +3 -3
  9. package/esm/jest/mocks/intersection-observer-mock.js +4 -35
  10. package/esm/jest/mocks/intersection-observer-mock.js.map +2 -2
  11. package/esm/jest/mocks/match-media-mock.js +4 -21
  12. package/esm/jest/mocks/match-media-mock.js.map +2 -2
  13. package/esm/jest/mocks/resize-observer-mock.js +4 -18
  14. package/esm/jest/mocks/resize-observer-mock.js.map +2 -2
  15. package/esm/jest/mocks/scroll-into-view-mock.js +4 -10
  16. package/esm/jest/mocks/scroll-into-view-mock.js.map +2 -2
  17. package/esm/jest/testing-helpers/filters/filter-field.js +12 -415
  18. package/esm/jest/testing-helpers/filters/filter-field.js.map +2 -2
  19. package/esm/jest/testing-helpers/tables/datatable.js +1 -11
  20. package/esm/jest/testing-helpers/tables/datatable.js.map +2 -2
  21. package/esm/jest/testing-helpers/utils/setup-user-event.js +1 -1
  22. package/esm/jest/testing-helpers/utils/setup-user-event.js.map +2 -2
  23. package/esm/shared/mocks/create-range-mock.js +29 -0
  24. package/esm/shared/mocks/create-range-mock.js.map +7 -0
  25. package/esm/shared/mocks/fetch-mock.js +23 -0
  26. package/esm/shared/mocks/fetch-mock.js.map +7 -0
  27. package/esm/shared/mocks/framer-motion-mock.js +54 -0
  28. package/esm/shared/mocks/framer-motion-mock.js.map +7 -0
  29. package/esm/shared/mocks/intersection-observer-mock.js +39 -0
  30. package/esm/shared/mocks/intersection-observer-mock.js.map +7 -0
  31. package/esm/shared/mocks/match-media-mock.js +28 -0
  32. package/esm/shared/mocks/match-media-mock.js.map +7 -0
  33. package/esm/shared/mocks/resize-observer-mock.js +25 -0
  34. package/esm/shared/mocks/resize-observer-mock.js.map +7 -0
  35. package/esm/shared/mocks/scroll-into-view-mock.js +17 -0
  36. package/esm/shared/mocks/scroll-into-view-mock.js.map +7 -0
  37. package/esm/shared/testing-helpers/filters/filter-field.js +439 -0
  38. package/esm/shared/testing-helpers/filters/filter-field.js.map +7 -0
  39. package/esm/vitest/index.js +149 -0
  40. package/esm/vitest/index.js.map +7 -0
  41. package/esm/vitest/mocks/create-range-mock.js +10 -0
  42. package/esm/vitest/mocks/create-range-mock.js.map +7 -0
  43. package/esm/vitest/mocks/fetch-mock.js +10 -0
  44. package/esm/vitest/mocks/fetch-mock.js.map +7 -0
  45. package/esm/vitest/mocks/framer-motion-mock.js +13 -0
  46. package/esm/vitest/mocks/framer-motion-mock.js.map +7 -0
  47. package/esm/vitest/mocks/intersection-observer-mock.js +10 -0
  48. package/esm/vitest/mocks/intersection-observer-mock.js.map +7 -0
  49. package/esm/vitest/mocks/match-media-mock.js +10 -0
  50. package/esm/vitest/mocks/match-media-mock.js.map +7 -0
  51. package/esm/vitest/mocks/resize-observer-mock.js +10 -0
  52. package/esm/vitest/mocks/resize-observer-mock.js.map +7 -0
  53. package/esm/vitest/mocks/scroll-into-view-mock.js +10 -0
  54. package/esm/vitest/mocks/scroll-into-view-mock.js.map +7 -0
  55. package/esm/vitest/preset/index.js +5 -0
  56. package/esm/vitest/preset/index.js.map +7 -0
  57. package/esm/vitest/preset/vitest-preset.js +9 -0
  58. package/esm/vitest/preset/vitest-preset.js.map +7 -0
  59. package/esm/vitest/setup/index.js +77 -0
  60. package/esm/vitest/setup/index.js.map +7 -0
  61. package/esm/vitest/testing-helpers/filters/filter-field.js +24 -0
  62. package/esm/vitest/testing-helpers/filters/filter-field.js.map +7 -0
  63. package/esm/vitest/testing-helpers/utils/isFakeTimersEnabled.js +8 -0
  64. package/esm/vitest/testing-helpers/utils/isFakeTimersEnabled.js.map +7 -0
  65. package/esm/vitest/testing-helpers/utils/setup-user-event.js +16 -0
  66. package/esm/vitest/testing-helpers/utils/setup-user-event.js.map +7 -0
  67. package/jest/index.d.ts +3 -1
  68. package/jest/index.js +4 -0
  69. package/jest/mocks/create-range-mock.d.ts +4 -11
  70. package/jest/mocks/create-range-mock.js +4 -22
  71. package/jest/mocks/fetch-mock.d.ts +4 -10
  72. package/jest/mocks/fetch-mock.js +4 -14
  73. package/jest/mocks/framer-motion-mock.js +3 -46
  74. package/jest/mocks/intersection-observer-mock.d.ts +4 -11
  75. package/jest/mocks/intersection-observer-mock.js +4 -35
  76. package/jest/mocks/match-media-mock.d.ts +4 -11
  77. package/jest/mocks/match-media-mock.js +4 -21
  78. package/jest/mocks/resize-observer-mock.d.ts +4 -13
  79. package/jest/mocks/resize-observer-mock.js +4 -18
  80. package/jest/mocks/scroll-into-view-mock.d.ts +4 -10
  81. package/jest/mocks/scroll-into-view-mock.js +4 -10
  82. package/jest/testing-helpers/filters/filter-field.d.ts +5 -109
  83. package/jest/testing-helpers/filters/filter-field.js +11 -414
  84. package/jest/testing-helpers/tables/datatable.js +1 -11
  85. package/jest/testing-helpers/utils/setup-user-event.js +1 -1
  86. package/package.json +3 -3
  87. package/shared/mocks/create-range-mock.d.ts +7 -0
  88. package/shared/mocks/create-range-mock.js +47 -0
  89. package/shared/mocks/fetch-mock.d.ts +13 -0
  90. package/shared/mocks/fetch-mock.js +41 -0
  91. package/shared/mocks/framer-motion-mock.d.ts +15 -0
  92. package/shared/mocks/framer-motion-mock.js +70 -0
  93. package/shared/mocks/intersection-observer-mock.d.ts +7 -0
  94. package/shared/mocks/intersection-observer-mock.js +57 -0
  95. package/shared/mocks/match-media-mock.d.ts +7 -0
  96. package/shared/mocks/match-media-mock.js +46 -0
  97. package/shared/mocks/resize-observer-mock.d.ts +8 -0
  98. package/shared/mocks/resize-observer-mock.js +43 -0
  99. package/shared/mocks/scroll-into-view-mock.d.ts +7 -0
  100. package/shared/mocks/scroll-into-view-mock.js +35 -0
  101. package/shared/testing-helpers/filters/filter-field.d.ts +128 -0
  102. package/shared/testing-helpers/filters/filter-field.js +449 -0
  103. package/vitest/index.d.ts +32 -0
  104. package/vitest/index.js +98 -0
  105. package/vitest/mocks/create-range-mock.d.ts +5 -0
  106. package/vitest/mocks/create-range-mock.js +28 -0
  107. package/vitest/mocks/fetch-mock.d.ts +5 -0
  108. package/vitest/mocks/fetch-mock.js +28 -0
  109. package/vitest/mocks/framer-motion-mock.d.ts +27 -0
  110. package/vitest/mocks/framer-motion-mock.js +31 -0
  111. package/vitest/mocks/intersection-observer-mock.d.ts +5 -0
  112. package/vitest/mocks/intersection-observer-mock.js +28 -0
  113. package/vitest/mocks/match-media-mock.d.ts +5 -0
  114. package/vitest/mocks/match-media-mock.js +28 -0
  115. package/vitest/mocks/resize-observer-mock.d.ts +5 -0
  116. package/vitest/mocks/resize-observer-mock.js +28 -0
  117. package/vitest/mocks/scroll-into-view-mock.d.ts +5 -0
  118. package/vitest/mocks/scroll-into-view-mock.js +28 -0
  119. package/vitest/preset/index.d.ts +2 -0
  120. package/vitest/preset/index.js +23 -0
  121. package/vitest/preset/vitest-preset.d.ts +24 -0
  122. package/vitest/preset/vitest-preset.js +27 -0
  123. package/vitest/setup/index.d.ts +2 -0
  124. package/vitest/setup/index.js +40 -0
  125. package/vitest/testing-helpers/filters/filter-field.d.ts +6 -0
  126. package/vitest/testing-helpers/filters/filter-field.js +36 -0
  127. package/vitest/testing-helpers/utils/isFakeTimersEnabled.d.ts +6 -0
  128. package/vitest/testing-helpers/utils/isFakeTimersEnabled.js +26 -0
  129. package/vitest/testing-helpers/utils/setup-user-event.d.ts +7 -0
  130. package/vitest/testing-helpers/utils/setup-user-event.js +44 -0
package/esm/jest/index.js CHANGED
@@ -16,7 +16,11 @@ import {
16
16
  getDataTableHelper
17
17
  } from "./testing-helpers/tables/datatable.js";
18
18
  import {
19
- getFilterFieldHelper
19
+ getFilterFieldHelper,
20
+ FilterFieldHelper,
21
+ FilterFieldPinnedAndRecentSuggestionBase,
22
+ FilterFieldPinnedSuggestion,
23
+ FilterFieldRecentSuggestion
20
24
  } from "./testing-helpers/filters/filter-field.js";
21
25
  import {
22
26
  getSelectTestingHelper
@@ -97,6 +101,10 @@ import {
97
101
  clearStructuredCloneMock
98
102
  } from "./mocks/structured-clone-mock.js";
99
103
  export {
104
+ FilterFieldHelper,
105
+ FilterFieldPinnedAndRecentSuggestionBase,
106
+ FilterFieldPinnedSuggestion,
107
+ FilterFieldRecentSuggestion,
100
108
  clearCanvasMeasureTextMock,
101
109
  clearCreateRangeMock,
102
110
  clearDomRectMock,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/jest/index.ts"],
4
- "sourcesContent": ["// we no longer re-export @testing-library/user-event or @testing-library/react\n// export * from '@testing-library/react';\n// import userEvent from '@testing-library/user-event';\n// export { userEvent };\n\nimport '@testing-library/jest-dom';\n\nexport {\n customRender as render,\n type RenderWithIntlOptions,\n} from './custom-render.js';\n\nexport { stratoPreset } from './preset/index.js';\n\n///#region Testing Helpers\nexport {\n getTextInputHelper,\n type TextInputHelper,\n} from './testing-helpers/forms/text-input.js';\nexport {\n getPasswordInputHelper,\n type PasswordInputHelper,\n} from './testing-helpers/forms/password-input.js';\nexport {\n getSearchInputHelper,\n type SearchInputHelper,\n} from './testing-helpers/forms/search-input.js';\n\nexport {\n getDataTableHelper,\n type DataTableHelper,\n type DataTablePaginationHelper,\n type DataTableUserActionHelper,\n type DataTableSortingHelper,\n type DataTableRowSelectionHelper,\n type DataTableSubRowsHelper,\n type DataTableInteractiveRowsHelper,\n type DataTableDownloadHelper,\n type DataTableExpandableRowHelper,\n} from './testing-helpers/tables/datatable.js';\n\nexport type { BaseInputHelper } from './testing-helpers/forms/base-input.js';\n\nexport {\n getFilterFieldHelper,\n type FilterFieldHelper,\n type FilterFieldPinnedAndRecentSuggestionBase,\n type FilterFieldPinnedSuggestion,\n type FilterFieldRecentSuggestion,\n} from './testing-helpers/filters/filter-field.js';\n\nexport {\n getSelectTestingHelper,\n type SelectTestingHelper,\n} from './testing-helpers/forms/select.js';\n///#endregion Testing Helpers\n\n///#region Mocks\nexport {\n setupGetBoundingClientRectMock,\n clearGetBoundingClientRectMock,\n} from './mocks/bounding-client-rect-mock.js';\n\nexport { createMockElement } from './mocks/create-mock-element.js';\n\nexport {\n setupCanvasMeasureTextMock,\n clearCanvasMeasureTextMock,\n} from './mocks/canvas-mock.js';\n\nexport {\n setupResizeObserverMock,\n clearResizeObserverMock,\n} from './mocks/resize-observer-mock.js';\n\nexport {\n setupOffsetWidthMock,\n clearOffsetWidthMock,\n} from './mocks/offset-width-mock.js';\n\nexport {\n setupOffsetHeightMock,\n clearOffsetHeightMock,\n} from './mocks/offset-height-mock.js';\n\nexport { setupDomRectMock, clearDomRectMock } from './mocks/dom-rect-mock.js';\n\nexport {\n setupMatchMediaMock,\n clearMatchMediaMock,\n} from './mocks/match-media-mock.js';\n\nexport {\n setupPointerEventMock,\n clearPointerEventMock,\n} from './mocks/pointer-event-mock.js';\n\nexport {\n setupIntersectionObserverMock,\n clearIntersectionObserverMock,\n} from './mocks/intersection-observer-mock.js';\n\nexport {\n setupCreateRangeMock,\n clearCreateRangeMock,\n} from './mocks/create-range-mock.js';\n\nexport {\n setupScreenSizeMock,\n clearScreenSizeMock,\n} from './mocks/screen-size-mock.js';\n\nexport {\n setupScrollIntoViewMock,\n clearScrollIntoViewMock,\n} from './mocks/scroll-into-view-mock.js';\n\nexport {\n setupScrollWidthMock,\n clearScrollWidthMock,\n} from './mocks/scroll-width-mock.js';\n\nexport { setupFetchMock, clearFetchMock } from './mocks/fetch-mock.js';\n\nexport {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n setupTableVirtualizationMock,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n clearTableVirtualizationMock,\n} from './mocks/table-virtualization-mock.js';\n\nexport {\n setupVirtualizationMock,\n clearVirtualizationMock,\n} from './mocks/virtualization-mock.js';\n\nexport {\n setupTextEllipsisMock,\n clearTextEllipsisMock,\n} from './mocks/text-ellipsis-mock.js';\n\nexport {\n setupFramerMotionMock,\n clearFramerMotionMock,\n} from './mocks/framer-motion-mock.js';\n\nexport {\n setupElementFromPointMock,\n clearElementFromPointMock,\n} from './mocks/element-from-point-mock.js';\n\nexport {\n setupStructuredCloneMock,\n clearStructuredCloneMock,\n} from './mocks/structured-clone-mock.js';\n///#endregion Mocks\n"],
5
- "mappings": "AAKA,OAAO;AAEP;AAAA,EACkB;AAAA,OAEX;AAEP,SAAS,oBAAoB;AAG7B;AAAA,EACE;AAAA,OAEK;AACP;AAAA,EACE;AAAA,OAEK;AACP;AAAA,EACE;AAAA,OAEK;AAEP;AAAA,EACE;AAAA,OAUK;AAIP;AAAA,EACE;AAAA,OAKK;AAEP;AAAA,EACE;AAAA,OAEK;AAIP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP,SAAS,yBAAyB;AAElC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP,SAAS,kBAAkB,wBAAwB;AAEnD;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP,SAAS,gBAAgB,sBAAsB;AAE/C;AAAA,EAEE;AAAA,EAEA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;",
4
+ "sourcesContent": ["// we no longer re-export @testing-library/user-event or @testing-library/react\n// export * from '@testing-library/react';\n// import userEvent from '@testing-library/user-event';\n// export { userEvent };\n\nimport '@testing-library/jest-dom';\n\nexport {\n customRender as render,\n type RenderWithIntlOptions,\n} from './custom-render.js';\n\nexport { stratoPreset } from './preset/index.js';\n\n///#region Testing Helpers\nexport {\n getTextInputHelper,\n type TextInputHelper,\n} from './testing-helpers/forms/text-input.js';\nexport {\n getPasswordInputHelper,\n type PasswordInputHelper,\n} from './testing-helpers/forms/password-input.js';\nexport {\n getSearchInputHelper,\n type SearchInputHelper,\n} from './testing-helpers/forms/search-input.js';\n\nexport {\n getDataTableHelper,\n type DataTableHelper,\n type DataTablePaginationHelper,\n type DataTableUserActionHelper,\n type DataTableSortingHelper,\n type DataTableRowSelectionHelper,\n type DataTableSubRowsHelper,\n type DataTableInteractiveRowsHelper,\n type DataTableDownloadHelper,\n type DataTableExpandableRowHelper,\n} from './testing-helpers/tables/datatable.js';\n\nexport type { BaseInputHelper } from './testing-helpers/forms/base-input.js';\n\nexport {\n getFilterFieldHelper,\n FilterFieldHelper,\n FilterFieldPinnedAndRecentSuggestionBase,\n FilterFieldPinnedSuggestion,\n FilterFieldRecentSuggestion,\n} from './testing-helpers/filters/filter-field.js';\nexport type { _FilterFieldDeps } from './testing-helpers/filters/filter-field.js';\n\nexport {\n getSelectTestingHelper,\n type SelectTestingHelper,\n} from './testing-helpers/forms/select.js';\n///#endregion Testing Helpers\n\n///#region Mocks\nexport {\n setupGetBoundingClientRectMock,\n clearGetBoundingClientRectMock,\n} from './mocks/bounding-client-rect-mock.js';\n\nexport { createMockElement } from './mocks/create-mock-element.js';\n\nexport {\n setupCanvasMeasureTextMock,\n clearCanvasMeasureTextMock,\n} from './mocks/canvas-mock.js';\n\nexport {\n setupResizeObserverMock,\n clearResizeObserverMock,\n} from './mocks/resize-observer-mock.js';\n\nexport {\n setupOffsetWidthMock,\n clearOffsetWidthMock,\n} from './mocks/offset-width-mock.js';\n\nexport {\n setupOffsetHeightMock,\n clearOffsetHeightMock,\n} from './mocks/offset-height-mock.js';\n\nexport { setupDomRectMock, clearDomRectMock } from './mocks/dom-rect-mock.js';\n\nexport {\n setupMatchMediaMock,\n clearMatchMediaMock,\n} from './mocks/match-media-mock.js';\n\nexport {\n setupPointerEventMock,\n clearPointerEventMock,\n} from './mocks/pointer-event-mock.js';\n\nexport {\n setupIntersectionObserverMock,\n clearIntersectionObserverMock,\n} from './mocks/intersection-observer-mock.js';\n\nexport {\n setupCreateRangeMock,\n clearCreateRangeMock,\n} from './mocks/create-range-mock.js';\n\nexport {\n setupScreenSizeMock,\n clearScreenSizeMock,\n} from './mocks/screen-size-mock.js';\n\nexport {\n setupScrollIntoViewMock,\n clearScrollIntoViewMock,\n} from './mocks/scroll-into-view-mock.js';\n\nexport {\n setupScrollWidthMock,\n clearScrollWidthMock,\n} from './mocks/scroll-width-mock.js';\n\nexport { setupFetchMock, clearFetchMock } from './mocks/fetch-mock.js';\nexport type { MockedResponse } from '../shared/mocks/fetch-mock.js';\n\nexport {\n // DEPRECATION: [APPDEV-16006] BREAKING-CHANGE: Remove setupTableVirtualizationMock and clearTableVirtualizationMock\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n setupTableVirtualizationMock,\n // DEPRECATION: [APPDEV-16006] BREAKING-CHANGE: Remove setupTableVirtualizationMock and clearTableVirtualizationMock\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n clearTableVirtualizationMock,\n} from './mocks/table-virtualization-mock.js';\n\nexport {\n setupVirtualizationMock,\n clearVirtualizationMock,\n} from './mocks/virtualization-mock.js';\n\nexport {\n setupTextEllipsisMock,\n clearTextEllipsisMock,\n} from './mocks/text-ellipsis-mock.js';\n\nexport {\n setupFramerMotionMock,\n clearFramerMotionMock,\n} from './mocks/framer-motion-mock.js';\n\nexport {\n setupElementFromPointMock,\n clearElementFromPointMock,\n} from './mocks/element-from-point-mock.js';\n\nexport {\n setupStructuredCloneMock,\n clearStructuredCloneMock,\n} from './mocks/structured-clone-mock.js';\n///#endregion Mocks\n"],
5
+ "mappings": "AAKA,OAAO;AAEP;AAAA,EACkB;AAAA,OAEX;AAEP,SAAS,oBAAoB;AAG7B;AAAA,EACE;AAAA,OAEK;AACP;AAAA,EACE;AAAA,OAEK;AACP;AAAA,EACE;AAAA,OAEK;AAEP;AAAA,EACE;AAAA,OAUK;AAIP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGP;AAAA,EACE;AAAA,OAEK;AAIP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP,SAAS,yBAAyB;AAElC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP,SAAS,kBAAkB,wBAAwB;AAEnD;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP,SAAS,gBAAgB,sBAAsB;AAG/C;AAAA,EAGE;AAAA,EAGA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,OACK;",
6
6
  "names": []
7
7
  }
@@ -1,26 +1,8 @@
1
1
  import { jest } from "@jest/globals";
2
- const pristineCreateRange = global.document.createRange;
3
- function setupCreateRangeMock() {
4
- Object.defineProperty(global.document, "createRange", {
5
- writable: true,
6
- value: () => {
7
- const range = new Range();
8
- range.getBoundingClientRect = jest.fn();
9
- range.getClientRects = () => {
10
- return {
11
- item: () => null,
12
- length: 0,
13
- [Symbol.iterator]: function* () {
14
- }
15
- };
16
- };
17
- return range;
18
- }
19
- });
20
- }
21
- function clearCreateRangeMock() {
22
- global.document.createRange = pristineCreateRange;
23
- }
2
+ import { createCreateRangeMockHelpers } from "../../shared/mocks/create-range-mock.js";
3
+ const _helpers = createCreateRangeMockHelpers(jest.fn);
4
+ const setupCreateRangeMock = _helpers.setupCreateRangeMock;
5
+ const clearCreateRangeMock = _helpers.clearCreateRangeMock;
24
6
  export {
25
7
  clearCreateRangeMock,
26
8
  setupCreateRangeMock
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/jest/mocks/create-range-mock.ts"],
4
- "sourcesContent": ["// eslint-disable-next-line no-restricted-imports\nimport { jest } from '@jest/globals';\n\nconst pristineCreateRange = global.document.createRange;\n\n/**\n * Mocks the `document.createRange()` function so it returns\n * a valid `Range` object.\n * @public\n */\nexport function setupCreateRangeMock() {\n Object.defineProperty(global.document, 'createRange', {\n writable: true,\n value: () => {\n const range = new Range();\n\n range.getBoundingClientRect = jest.fn<() => DOMRect>();\n range.getClientRects = () => {\n return {\n item: () => null,\n length: 0,\n [Symbol.iterator]: function* () {\n // next: () => ({ done: true }),\n },\n };\n };\n\n return range;\n },\n });\n}\n\n/**\n * Clears mocked `document.createRange()` function.\n * @public\n */\nexport function clearCreateRangeMock() {\n global.document.createRange = pristineCreateRange;\n}\n"],
5
- "mappings": "AACA,SAAS,YAAY;AAErB,MAAM,sBAAsB,OAAO,SAAS;AAOrC,SAAS,uBAAuB;AACrC,SAAO,eAAe,OAAO,UAAU,eAAe;AAAA,IACpD,UAAU;AAAA,IACV,OAAO,MAAM;AACX,YAAM,QAAQ,IAAI,MAAM;AAExB,YAAM,wBAAwB,KAAK,GAAkB;AACrD,YAAM,iBAAiB,MAAM;AAC3B,eAAO;AAAA,UACL,MAAM,MAAM;AAAA,UACZ,QAAQ;AAAA,UACR,CAAC,OAAO,QAAQ,GAAG,aAAa;AAAA,UAEhC;AAAA,QACF;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AACH;AAMO,SAAS,uBAAuB;AACrC,SAAO,SAAS,cAAc;AAChC;",
4
+ "sourcesContent": ["// eslint-disable-next-line no-restricted-imports\nimport { jest } from '@jest/globals';\n\nimport { createCreateRangeMockHelpers } from '../../shared/mocks/create-range-mock.js';\n\nconst _helpers = createCreateRangeMockHelpers(jest.fn);\n\n/** @public */\nexport const setupCreateRangeMock = _helpers.setupCreateRangeMock;\n\n/** @public */\nexport const clearCreateRangeMock = _helpers.clearCreateRangeMock;\n"],
5
+ "mappings": "AACA,SAAS,YAAY;AAErB,SAAS,oCAAoC;AAE7C,MAAM,WAAW,6BAA6B,KAAK,EAAE;AAG9C,MAAM,uBAAuB,SAAS;AAGtC,MAAM,uBAAuB,SAAS;",
6
6
  "names": []
7
7
  }
@@ -1,18 +1,8 @@
1
1
  import { jest } from "@jest/globals";
2
- const pristineFetch = global.fetch;
3
- function setupFetchMock(mockedValue = {
4
- ok: true,
5
- status: 200,
6
- json: () => {
7
- return {};
8
- }
9
- }) {
10
- const mockedFetchPromise = Promise.resolve(mockedValue);
11
- global.fetch = jest.fn(() => mockedFetchPromise);
12
- }
13
- function clearFetchMock() {
14
- global.fetch = pristineFetch;
15
- }
2
+ import { createFetchMockHelpers } from "../../shared/mocks/fetch-mock.js";
3
+ const _helpers = createFetchMockHelpers(jest.fn);
4
+ const setupFetchMock = _helpers.setupFetchMock;
5
+ const clearFetchMock = _helpers.clearFetchMock;
16
6
  export {
17
7
  clearFetchMock,
18
8
  setupFetchMock
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/jest/mocks/fetch-mock.ts"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\n// eslint-disable-next-line no-restricted-imports\nimport { jest } from '@jest/globals';\n\nconst pristineFetch = global.fetch;\n\n/**\n * Mocks the global `fetch` function since JSDom has no implementation\n * @public\n */\nexport function setupFetchMock(\n mockedValue: any = {\n ok: true,\n status: 200,\n json: () => {\n return {};\n },\n },\n) {\n const mockedFetchPromise = Promise.resolve(mockedValue) as any;\n\n global.fetch = jest.fn(() => mockedFetchPromise as any);\n}\n\n/**\n * Clears mocked `fetch` function.\n * @public\n */\nexport function clearFetchMock() {\n global.fetch = pristineFetch;\n}\n"],
5
- "mappings": "AAEA,SAAS,YAAY;AAErB,MAAM,gBAAgB,OAAO;AAMtB,SAAS,eACd,cAAmB;AAAA,EACjB,IAAI;AAAA,EACJ,QAAQ;AAAA,EACR,MAAM,MAAM;AACV,WAAO,CAAC;AAAA,EACV;AACF,GACA;AACA,QAAM,qBAAqB,QAAQ,QAAQ,WAAW;AAEtD,SAAO,QAAQ,KAAK,GAAG,MAAM,kBAAyB;AACxD;AAMO,SAAS,iBAAiB;AAC/B,SAAO,QAAQ;AACjB;",
4
+ "sourcesContent": ["// eslint-disable-next-line no-restricted-imports\nimport { jest } from '@jest/globals';\n\nimport { createFetchMockHelpers } from '../../shared/mocks/fetch-mock.js';\n\nconst _helpers = createFetchMockHelpers(jest.fn);\n\n/** @public */\nexport const setupFetchMock = _helpers.setupFetchMock;\n\n/** @public */\nexport const clearFetchMock = _helpers.clearFetchMock;\n"],
5
+ "mappings": "AACA,SAAS,YAAY;AAErB,SAAS,8BAA8B;AAEvC,MAAM,WAAW,uBAAuB,KAAK,EAAE;AAGxC,MAAM,iBAAiB,SAAS;AAGhC,MAAM,iBAAiB,SAAS;",
6
6
  "names": []
7
7
  }
@@ -1,53 +1,8 @@
1
- import { jsx } from "react/jsx-runtime";
2
1
  import { jest } from "@jest/globals";
3
- import {
4
- forwardRef
5
- } from "react";
6
- const actual = jest.requireActual("framer-motion");
2
+ import { buildFramerMotionMock } from "../../shared/mocks/framer-motion-mock.js";
7
3
  function setupFramerMotionMock() {
8
- const MockedTransition = jest.fn(({ children: children2 }) => children2);
9
- const MockedAnimatePresence = jest.fn(({ children: children2 }) => /* @__PURE__ */ jsx(MockedTransition, { children: children2 }));
10
- function motionMock(Component, _customMotionComponentConfig = {}) {
11
- const motion = {
12
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error
13
- // @ts-ignore geo load has some weird type error here in the tests here.
14
- div: forwardRef((props, forwardedRef) => (
15
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
16
- // @ts-expect-error
17
- /* @__PURE__ */ jsx("div", { ...props, ref: forwardedRef })
18
- ))
19
- };
20
- return forwardRef((props, forwardedRef) => {
21
- const componentProps = Object.fromEntries(
22
- // do not pass framer props to DOM element
23
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
- Object.entries(props).filter(
25
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
26
- // @ts-expect-error
27
- ([key]) => !actual.isValidMotionProp(key)
28
- )
29
- );
30
- if (typeof Component === "string") {
31
- const MotionComponent = motion[Component];
32
- return /* @__PURE__ */ jsx(MotionComponent, { ...componentProps, ref: forwardedRef });
33
- }
34
- return (
35
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
36
- // @ts-expect-error
37
- /* @__PURE__ */ jsx(Component, { ref: forwardedRef, ...{ ...componentProps, children } })
38
- );
39
- });
40
- }
41
- const motionProxy = new Proxy(motionMock, {
42
- get: (_target, prop) => motionMock(prop)
43
- });
44
- return {
45
- motion: motionProxy,
46
- AnimatePresence: MockedAnimatePresence,
47
- useReducedMotion: (value = true) => value,
48
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
- cubicBezier: actual.cubicBezier
50
- };
4
+ const actual = jest.requireActual("framer-motion");
5
+ return buildFramerMotionMock(jest.fn, actual);
51
6
  }
52
7
  function clearFramerMotionMock() {
53
8
  jest.unmock("framer-motion");
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/jest/mocks/framer-motion-mock.tsx"],
4
- "sourcesContent": ["// eslint-disable-next-line no-restricted-imports\nimport { jest } from '@jest/globals';\nimport {\n type PropsWithChildren,\n ComponentType,\n type JSXElementConstructor,\n type ReactElement,\n RefAttributes,\n forwardRef,\n} from 'react';\n\nconst actual = jest.requireActual('framer-motion');\n\n// Copy from the framer motion types, as they are not exported any more.\ninterface CustomMotionComponentConfig {\n forwardMotionProps?: boolean;\n}\n\n/**\n * Mocks framer motion so children are rendered without animations for easier testing.\n * Needs to be called inside 'jest.mock' at the root level of the test,\n * since jest hoists 'jest.mock' to before any imports:\n *\n * jest.mock('framer-motion', () =\\> setupFramerMotionMock());\n * @public\n */\nexport function setupFramerMotionMock(): {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n motion: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n AnimatePresence: any;\n useReducedMotion: (value?: boolean) => boolean;\n cubicBezier: (\n mX1: number,\n mY1: number,\n mX2: number,\n mY2: number,\n ) => (t: number) => number;\n} {\n const MockedTransition = jest.fn(({ children }) => children);\n\n const MockedAnimatePresence = jest.fn(({ children }) => (\n <MockedTransition>{children}</MockedTransition>\n ));\n\n // Calling a motion with e.g. 'motion.div', the Component will be a string.\n // Calling a motion with e.g. 'motion(Flex)', the Component is the Flex component.\n // Depending on the type, we return either the corresponding html element or\n // the actual component, exluding all the framer-motion props.\n function motionMock<Props extends Record<string, unknown>>(\n Component: string | ComponentType<PropsWithChildren<Props>>,\n _customMotionComponentConfig: CustomMotionComponentConfig = {},\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): any {\n // Needs to be extended if we need other motion elements.\n const motion: Record<\n string,\n (\n props: RefAttributes<unknown>,\n ) => ReactElement<unknown, string | JSXElementConstructor<unknown>> | null\n > = {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n // @ts-ignore geo load has some weird type error here in the tests here.\n div: forwardRef((props, forwardedRef) => (\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n <div {...props} ref={forwardedRef} />\n )),\n };\n\n return forwardRef((props, forwardedRef) => {\n const componentProps = Object.fromEntries(\n // do not pass framer props to DOM element\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Object.entries(props as any).filter(\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n ([key]) => !actual.isValidMotionProp(key),\n ),\n );\n\n if (typeof Component === 'string') {\n const MotionComponent = motion[Component];\n return <MotionComponent {...componentProps} ref={forwardedRef} />;\n }\n\n return (\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n <Component ref={forwardedRef} {...{ ...componentProps, children }} />\n );\n });\n }\n\n const motionProxy = new Proxy(motionMock, {\n get: (_target, prop: string) => motionMock(prop),\n });\n\n return {\n motion: motionProxy,\n AnimatePresence: MockedAnimatePresence,\n useReducedMotion: (value = true) => value,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n cubicBezier: (actual as any).cubicBezier as (\n mX1: number,\n mY1: number,\n mX2: number,\n mY2: number,\n ) => (t: number) => number,\n };\n}\n\n/**\n * @public\n */\nexport function clearFramerMotionMock() {\n jest.unmock('framer-motion');\n}\n"],
5
- "mappings": "AA0CI;AAzCJ,SAAS,YAAY;AACrB;AAAA,EAME;AAAA,OACK;AAEP,MAAM,SAAS,KAAK,cAAc,eAAe;AAe1C,SAAS,wBAYd;AACA,QAAM,mBAAmB,KAAK,GAAG,CAAC,EAAE,UAAAA,UAAS,MAAMA,SAAQ;AAE3D,QAAM,wBAAwB,KAAK,GAAG,CAAC,EAAE,UAAAA,UAAS,MAChD,oBAAC,oBAAkB,UAAAA,WAAS,CAC7B;AAMD,WAAS,WACP,WACA,+BAA4D,CAAC,GAExD;AAEL,UAAM,SAKF;AAAA;AAAA;AAAA,MAGF,KAAK,WAAW,CAAC,OAAO;AAAA;AAAA;AAAA,QAGtB,oBAAC,SAAK,GAAG,OAAO,KAAK,cAAc;AAAA,OACpC;AAAA,IACH;AAEA,WAAO,WAAW,CAAC,OAAO,iBAAiB;AACzC,YAAM,iBAAiB,OAAO;AAAA;AAAA;AAAA,QAG5B,OAAO,QAAQ,KAAY,EAAE;AAAA;AAAA;AAAA,UAG3B,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,kBAAkB,GAAG;AAAA,QAC1C;AAAA,MACF;AAEA,UAAI,OAAO,cAAc,UAAU;AACjC,cAAM,kBAAkB,OAAO,SAAS;AACxC,eAAO,oBAAC,mBAAiB,GAAG,gBAAgB,KAAK,cAAc;AAAA,MACjE;AAEA;AAAA;AAAA;AAAA,QAGE,oBAAC,aAAU,KAAK,cAAe,GAAG,EAAE,GAAG,gBAAgB,SAAS,GAAG;AAAA;AAAA,IAEvE,CAAC;AAAA,EACH;AAEA,QAAM,cAAc,IAAI,MAAM,YAAY;AAAA,IACxC,KAAK,CAAC,SAAS,SAAiB,WAAW,IAAI;AAAA,EACjD,CAAC;AAED,SAAO;AAAA,IACL,QAAQ;AAAA,IACR,iBAAiB;AAAA,IACjB,kBAAkB,CAAC,QAAQ,SAAS;AAAA;AAAA,IAEpC,aAAc,OAAe;AAAA,EAM/B;AACF;AAKO,SAAS,wBAAwB;AACtC,OAAK,OAAO,eAAe;AAC7B;",
6
- "names": ["children"]
4
+ "sourcesContent": ["// eslint-disable-next-line no-restricted-imports\nimport { jest } from '@jest/globals';\n\nimport { buildFramerMotionMock } from '../../shared/mocks/framer-motion-mock.js';\n\n/**\n * Mocks framer motion so children are rendered without animations for easier testing.\n * Needs to be called inside 'jest.mock' at the root level of the test,\n * since jest hoists 'jest.mock' to before any imports:\n *\n * jest.mock('framer-motion', () =\\> setupFramerMotionMock());\n * @public\n */\nexport function setupFramerMotionMock(): {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n motion: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n AnimatePresence: any;\n useReducedMotion: (value?: boolean) => boolean;\n cubicBezier: (\n mX1: number,\n mY1: number,\n mX2: number,\n mY2: number,\n ) => (t: number) => number;\n} {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const actual = jest.requireActual('framer-motion') as any;\n return buildFramerMotionMock(jest.fn, actual);\n}\n\n/**\n * @public\n */\nexport function clearFramerMotionMock() {\n jest.unmock('framer-motion');\n}\n"],
5
+ "mappings": "AACA,SAAS,YAAY;AAErB,SAAS,6BAA6B;AAU/B,SAAS,wBAYd;AAEA,QAAM,SAAS,KAAK,cAAc,eAAe;AACjD,SAAO,sBAAsB,KAAK,IAAI,MAAM;AAC9C;AAKO,SAAS,wBAAwB;AACtC,OAAK,OAAO,eAAe;AAC7B;",
6
+ "names": []
7
7
  }
@@ -1,39 +1,8 @@
1
1
  import { jest } from "@jest/globals";
2
- const pristineIntersectionObserver = window.IntersectionObserver;
3
- function setupIntersectionObserverMock(entries = [
4
- {
5
- isIntersecting: true,
6
- intersectionRatio: 1
7
- }
8
- ]) {
9
- class MockIntersectionObserver {
10
- root = null;
11
- rootMargin = "";
12
- scrollMargin = "";
13
- thresholds = [];
14
- callback;
15
- /**
16
- * Mock constructor
17
- * @param callback - callback function
18
- * @param options - options
19
- */
20
- constructor(callback, options) {
21
- this.callback = callback;
22
- }
23
- disconnect = jest.fn();
24
- observe = jest.fn(() => this.callback(entries));
25
- takeRecords = jest.fn();
26
- unobserve = jest.fn();
27
- }
28
- Object.defineProperty(global, "IntersectionObserver", {
29
- writable: true,
30
- configurable: true,
31
- value: MockIntersectionObserver
32
- });
33
- }
34
- function clearIntersectionObserverMock() {
35
- global.IntersectionObserver = pristineIntersectionObserver;
36
- }
2
+ import { createIntersectionObserverMockHelpers } from "../../shared/mocks/intersection-observer-mock.js";
3
+ const _helpers = createIntersectionObserverMockHelpers(jest.fn);
4
+ const setupIntersectionObserverMock = _helpers.setupIntersectionObserverMock;
5
+ const clearIntersectionObserverMock = _helpers.clearIntersectionObserverMock;
37
6
  export {
38
7
  clearIntersectionObserverMock,
39
8
  setupIntersectionObserverMock
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/jest/mocks/intersection-observer-mock.ts"],
4
- "sourcesContent": ["// eslint-disable-next-line no-restricted-imports\nimport { jest } from '@jest/globals';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nconst pristineIntersectionObserver = window.IntersectionObserver;\n\n/**\n * Mocks the IntersectionObserver\n * @param entries - entries for the callback function which is called when IntersectionObserver.observe is invoked\n * @public\n */\nexport function setupIntersectionObserverMock(\n entries: any = [\n {\n isIntersecting: true,\n intersectionRatio: 1,\n },\n ],\n) {\n class MockIntersectionObserver implements IntersectionObserver {\n readonly root = null;\n readonly rootMargin: string = '';\n readonly scrollMargin: string = '';\n readonly thresholds: ReadonlyArray<number> = [];\n readonly callback;\n\n /**\n * Mock constructor\n * @param callback - callback function\n * @param options - options\n */\n constructor(callback: any, options?: any) {\n this.callback = callback;\n }\n\n disconnect: () => void = jest.fn();\n observe: (target: Element) => void = jest.fn(() => this.callback(entries));\n takeRecords: () => IntersectionObserverEntry[] =\n jest.fn<() => IntersectionObserverEntry[]>();\n unobserve: (target: Element) => void = jest.fn();\n }\n\n Object.defineProperty(global, 'IntersectionObserver', {\n writable: true,\n configurable: true,\n value: MockIntersectionObserver,\n });\n}\n\n/**\n * Clears `IntersectionObserver` mock.\n * @public\n */\nexport function clearIntersectionObserverMock() {\n global.IntersectionObserver = pristineIntersectionObserver;\n}\n"],
5
- "mappings": "AACA,SAAS,YAAY;AAIrB,MAAM,+BAA+B,OAAO;AAOrC,SAAS,8BACd,UAAe;AAAA,EACb;AAAA,IACE,gBAAgB;AAAA,IAChB,mBAAmB;AAAA,EACrB;AACF,GACA;AAAA,EACA,MAAM,yBAAyD;AAAA,IACpD,OAAO;AAAA,IACP,aAAqB;AAAA,IACrB,eAAuB;AAAA,IACvB,aAAoC,CAAC;AAAA,IACrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOT,YAAY,UAAe,SAAe;AACxC,WAAK,WAAW;AAAA,IAClB;AAAA,IAEA,aAAyB,KAAK,GAAG;AAAA,IACjC,UAAqC,KAAK,GAAG,MAAM,KAAK,SAAS,OAAO,CAAC;AAAA,IACzE,cACE,KAAK,GAAsC;AAAA,IAC7C,YAAuC,KAAK,GAAG;AAAA,EACjD;AAEA,SAAO,eAAe,QAAQ,wBAAwB;AAAA,IACpD,UAAU;AAAA,IACV,cAAc;AAAA,IACd,OAAO;AAAA,EACT,CAAC;AACH;AAMO,SAAS,gCAAgC;AAC9C,SAAO,uBAAuB;AAChC;",
4
+ "sourcesContent": ["// eslint-disable-next-line no-restricted-imports\nimport { jest } from '@jest/globals';\n\nimport { createIntersectionObserverMockHelpers } from '../../shared/mocks/intersection-observer-mock.js';\n\nconst _helpers = createIntersectionObserverMockHelpers(jest.fn);\n\n/** @public */\nexport const setupIntersectionObserverMock =\n _helpers.setupIntersectionObserverMock;\n\n/** @public */\nexport const clearIntersectionObserverMock =\n _helpers.clearIntersectionObserverMock;\n"],
5
+ "mappings": "AACA,SAAS,YAAY;AAErB,SAAS,6CAA6C;AAEtD,MAAM,WAAW,sCAAsC,KAAK,EAAE;AAGvD,MAAM,gCACX,SAAS;AAGJ,MAAM,gCACX,SAAS;",
6
6
  "names": []
7
7
  }
@@ -1,25 +1,8 @@
1
1
  import { jest } from "@jest/globals";
2
- const prisitineMatchMedia = window.matchMedia;
3
- function setupMatchMediaMock(isMatching = false) {
4
- Object.defineProperty(window, "matchMedia", {
5
- writable: true,
6
- value: jest.fn().mockImplementation((query) => ({
7
- matches: isMatching,
8
- media: query,
9
- onchange: null,
10
- addListener: jest.fn(),
11
- // Deprecated
12
- removeListener: jest.fn(),
13
- // Deprecated
14
- addEventListener: jest.fn(),
15
- removeEventListener: jest.fn(),
16
- dispatchEvent: jest.fn()
17
- }))
18
- });
19
- }
20
- function clearMatchMediaMock() {
21
- window.matchMedia = prisitineMatchMedia;
22
- }
2
+ import { createMatchMediaMockHelpers } from "../../shared/mocks/match-media-mock.js";
3
+ const _helpers = createMatchMediaMockHelpers(jest.fn);
4
+ const setupMatchMediaMock = _helpers.setupMatchMediaMock;
5
+ const clearMatchMediaMock = _helpers.clearMatchMediaMock;
23
6
  export {
24
7
  clearMatchMediaMock,
25
8
  setupMatchMediaMock
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/jest/mocks/match-media-mock.ts"],
4
- "sourcesContent": ["// eslint-disable-next-line no-restricted-imports\nimport { jest } from '@jest/globals';\n\nconst prisitineMatchMedia = window.matchMedia;\n\n/**\n * Mocks the match media on the window object\n * @param isMatching - whether or not the match query matches\n * @public\n */\nexport function setupMatchMediaMock(isMatching: boolean = false) {\n Object.defineProperty(window, 'matchMedia', {\n writable: true,\n value: jest.fn().mockImplementation((query) => ({\n matches: isMatching,\n media: query,\n onchange: null,\n addListener: jest.fn(), // Deprecated\n removeListener: jest.fn(), // Deprecated\n addEventListener: jest.fn(),\n removeEventListener: jest.fn(),\n dispatchEvent: jest.fn(),\n })),\n });\n}\n\n/**\n * Clears the Match Media mock\n * @public\n */\nexport function clearMatchMediaMock() {\n window.matchMedia = prisitineMatchMedia;\n}\n"],
5
- "mappings": "AACA,SAAS,YAAY;AAErB,MAAM,sBAAsB,OAAO;AAO5B,SAAS,oBAAoB,aAAsB,OAAO;AAC/D,SAAO,eAAe,QAAQ,cAAc;AAAA,IAC1C,UAAU;AAAA,IACV,OAAO,KAAK,GAAG,EAAE,mBAAmB,CAAC,WAAW;AAAA,MAC9C,SAAS;AAAA,MACT,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAa,KAAK,GAAG;AAAA;AAAA,MACrB,gBAAgB,KAAK,GAAG;AAAA;AAAA,MACxB,kBAAkB,KAAK,GAAG;AAAA,MAC1B,qBAAqB,KAAK,GAAG;AAAA,MAC7B,eAAe,KAAK,GAAG;AAAA,IACzB,EAAE;AAAA,EACJ,CAAC;AACH;AAMO,SAAS,sBAAsB;AACpC,SAAO,aAAa;AACtB;",
4
+ "sourcesContent": ["// eslint-disable-next-line no-restricted-imports\nimport { jest } from '@jest/globals';\n\nimport { createMatchMediaMockHelpers } from '../../shared/mocks/match-media-mock.js';\n\nconst _helpers = createMatchMediaMockHelpers(jest.fn);\n\n/** @public */\nexport const setupMatchMediaMock = _helpers.setupMatchMediaMock;\n\n/** @public */\nexport const clearMatchMediaMock = _helpers.clearMatchMediaMock;\n"],
5
+ "mappings": "AACA,SAAS,YAAY;AAErB,SAAS,mCAAmC;AAE5C,MAAM,WAAW,4BAA4B,KAAK,EAAE;AAG7C,MAAM,sBAAsB,SAAS;AAGrC,MAAM,sBAAsB,SAAS;",
6
6
  "names": []
7
7
  }
@@ -1,22 +1,8 @@
1
1
  import { jest } from "@jest/globals";
2
- const pristineResizeObserver = window.ResizeObserver;
3
- function setupResizeObserverMock(mockedObserveCallbackValue) {
4
- Object.defineProperty(window, "ResizeObserver", {
5
- writable: true,
6
- value: jest.fn(
7
- (callback) => ({
8
- observe: mockedObserveCallbackValue ? jest.fn().mockImplementation(() => {
9
- callback(mockedObserveCallbackValue);
10
- }) : jest.fn(),
11
- unobserve: jest.fn(),
12
- disconnect: jest.fn()
13
- })
14
- )
15
- });
16
- }
17
- function clearResizeObserverMock() {
18
- window.ResizeObserver = pristineResizeObserver;
19
- }
2
+ import { createResizeObserverMockHelpers } from "../../shared/mocks/resize-observer-mock.js";
3
+ const _helpers = createResizeObserverMockHelpers(jest.fn);
4
+ const setupResizeObserverMock = _helpers.setupResizeObserverMock;
5
+ const clearResizeObserverMock = _helpers.clearResizeObserverMock;
20
6
  export {
21
7
  clearResizeObserverMock,
22
8
  setupResizeObserverMock
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/jest/mocks/resize-observer-mock.ts"],
4
- "sourcesContent": ["// eslint-disable-next-line no-restricted-imports\nimport { jest } from '@jest/globals';\nimport { PartialDeep } from 'type-fest';\n\nconst pristineResizeObserver = window.ResizeObserver;\n\n/**\n * Mocks the Resize Observer\n * @public\n */\nexport function setupResizeObserverMock(\n /** When the Resize Observer should return specific results, you can pass them here */\n mockedObserveCallbackValue?: PartialDeep<ResizeObserverEntry>[],\n) {\n Object.defineProperty(window, 'ResizeObserver', {\n writable: true,\n value: jest.fn(\n (callback: (entries: PartialDeep<ResizeObserverEntry>[]) => void) => ({\n observe: mockedObserveCallbackValue\n ? jest.fn().mockImplementation(() => {\n callback(mockedObserveCallbackValue);\n })\n : jest.fn(),\n unobserve: jest.fn(),\n disconnect: jest.fn(),\n }),\n ),\n });\n}\n\n/**\n * Clears the Resize Observer\n * @public\n */\nexport function clearResizeObserverMock() {\n window.ResizeObserver = pristineResizeObserver;\n}\n"],
5
- "mappings": "AACA,SAAS,YAAY;AAGrB,MAAM,yBAAyB,OAAO;AAM/B,SAAS,wBAEd,4BACA;AACA,SAAO,eAAe,QAAQ,kBAAkB;AAAA,IAC9C,UAAU;AAAA,IACV,OAAO,KAAK;AAAA,MACV,CAAC,cAAqE;AAAA,QACpE,SAAS,6BACL,KAAK,GAAG,EAAE,mBAAmB,MAAM;AACjC,mBAAS,0BAA0B;AAAA,QACrC,CAAC,IACD,KAAK,GAAG;AAAA,QACZ,WAAW,KAAK,GAAG;AAAA,QACnB,YAAY,KAAK,GAAG;AAAA,MACtB;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAMO,SAAS,0BAA0B;AACxC,SAAO,iBAAiB;AAC1B;",
4
+ "sourcesContent": ["// eslint-disable-next-line no-restricted-imports\nimport { jest } from '@jest/globals';\n\nimport { createResizeObserverMockHelpers } from '../../shared/mocks/resize-observer-mock.js';\n\nconst _helpers = createResizeObserverMockHelpers(jest.fn);\n\n/** @public */\nexport const setupResizeObserverMock = _helpers.setupResizeObserverMock;\n\n/** @public */\nexport const clearResizeObserverMock = _helpers.clearResizeObserverMock;\n"],
5
+ "mappings": "AACA,SAAS,YAAY;AAErB,SAAS,uCAAuC;AAEhD,MAAM,WAAW,gCAAgC,KAAK,EAAE;AAGjD,MAAM,0BAA0B,SAAS;AAGzC,MAAM,0BAA0B,SAAS;",
6
6
  "names": []
7
7
  }
@@ -1,14 +1,8 @@
1
1
  import { jest } from "@jest/globals";
2
- const pristineScrollIntoView = window.HTMLElement.prototype.scrollIntoView;
3
- function setupScrollIntoViewMock() {
4
- Object.defineProperty(HTMLElement.prototype, "scrollIntoView", {
5
- writable: true,
6
- value: jest.fn()
7
- });
8
- }
9
- function clearScrollIntoViewMock() {
10
- window.HTMLElement.prototype.scrollIntoView = pristineScrollIntoView;
11
- }
2
+ import { createScrollIntoViewMockHelpers } from "../../shared/mocks/scroll-into-view-mock.js";
3
+ const _helpers = createScrollIntoViewMockHelpers(jest.fn);
4
+ const setupScrollIntoViewMock = _helpers.setupScrollIntoViewMock;
5
+ const clearScrollIntoViewMock = _helpers.clearScrollIntoViewMock;
12
6
  export {
13
7
  clearScrollIntoViewMock,
14
8
  setupScrollIntoViewMock
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/jest/mocks/scroll-into-view-mock.ts"],
4
- "sourcesContent": ["// eslint-disable-next-line no-restricted-imports\nimport { jest } from '@jest/globals';\n\nconst pristineScrollIntoView = window.HTMLElement.prototype.scrollIntoView;\n/**\n * Mocks the scrollIntoView function since jsdom doesn't provide it\n * @public\n */\nexport function setupScrollIntoViewMock() {\n Object.defineProperty(HTMLElement.prototype, 'scrollIntoView', {\n writable: true,\n value: jest.fn(),\n });\n}\n\n/**\n * Clears the scrollIntoView\n * @public\n */\nexport function clearScrollIntoViewMock() {\n window.HTMLElement.prototype.scrollIntoView = pristineScrollIntoView;\n}\n"],
5
- "mappings": "AACA,SAAS,YAAY;AAErB,MAAM,yBAAyB,OAAO,YAAY,UAAU;AAKrD,SAAS,0BAA0B;AACxC,SAAO,eAAe,YAAY,WAAW,kBAAkB;AAAA,IAC7D,UAAU;AAAA,IACV,OAAO,KAAK,GAAG;AAAA,EACjB,CAAC;AACH;AAMO,SAAS,0BAA0B;AACxC,SAAO,YAAY,UAAU,iBAAiB;AAChD;",
4
+ "sourcesContent": ["// eslint-disable-next-line no-restricted-imports\nimport { jest } from '@jest/globals';\n\nimport { createScrollIntoViewMockHelpers } from '../../shared/mocks/scroll-into-view-mock.js';\n\nconst _helpers = createScrollIntoViewMockHelpers(jest.fn);\n\n/** @public */\nexport const setupScrollIntoViewMock = _helpers.setupScrollIntoViewMock;\n\n/** @public */\nexport const clearScrollIntoViewMock = _helpers.clearScrollIntoViewMock;\n"],
5
+ "mappings": "AACA,SAAS,YAAY;AAErB,SAAS,uCAAuC;AAEhD,MAAM,WAAW,gCAAgC,KAAK,EAAE;AAGjD,MAAM,0BAA0B,SAAS;AAGzC,MAAM,0BAA0B,SAAS;",
6
6
  "names": []
7
7
  }