@zohodesk/components 1.6.23-exp-2 → 1.6.24

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 (167) hide show
  1. package/README.md +4 -0
  2. package/es/Accordion/__tests__/__snapshots__/Accordion.spec.js.snap +1 -1
  3. package/es/Accordion/__tests__/__snapshots__/AccordionItem.spec.js.snap +1 -1
  4. package/es/Animation/__tests__/__snapshots__/Animation.spec.js.snap +1 -1
  5. package/es/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +1 -1
  6. package/es/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +1 -1
  7. package/es/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +1 -1
  8. package/es/Button/__tests__/__snapshots__/Button.spec.js.snap +1 -1
  9. package/es/Buttongroup/__tests__/__snapshots__/Buttongroup.spec.js.snap +1 -1
  10. package/es/Card/__tests__/__snapshots__/Card.spec.js.snap +1 -1
  11. package/es/Card/__tests__/__snapshots__/CardContent.spec.js.snap +1 -1
  12. package/es/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +1 -1
  13. package/es/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +1 -1
  14. package/es/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +5 -5
  15. package/es/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +17 -17
  16. package/es/ColorSelect/_shared/ColorIndicator/__tests__/__snapshots__/ColorIndicator.spec.js.snap +1 -1
  17. package/es/ColorSelect/_shared/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +9 -9
  18. package/es/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +1 -1
  19. package/es/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +1 -1
  20. package/es/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +1 -1
  21. package/es/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +1 -1
  22. package/es/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +1 -1
  23. package/es/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +1 -1
  24. package/es/DateTime/__tests__/__snapshots__/Time.spec.js.snap +1 -1
  25. package/es/DropBox/DropBoxElement/__tests__/__snapshots__/DropBoxElement.spec.js.snap +1 -1
  26. package/es/DropBox/__tests__/__snapshots__/DropBox.spec.js.snap +1 -1
  27. package/es/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +1 -1
  28. package/es/DropDown/__tests__/__snapshots__/DropDownHeading.spec.js.snap +1 -1
  29. package/es/DropDown/__tests__/__snapshots__/DropDownItem.spec.js.snap +1 -1
  30. package/es/DropDown/__tests__/__snapshots__/DropDownSearch.spec.js.snap +1 -1
  31. package/es/DropDown/__tests__/__snapshots__/DropDownSeparator.spec.js.snap +1 -1
  32. package/es/Heading/__tests__/__snapshots__/Heading.spec.js.snap +1 -1
  33. package/es/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
  34. package/es/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +1 -1
  35. package/es/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +1 -1
  36. package/es/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +1 -1
  37. package/es/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +1 -1
  38. package/es/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +1 -1
  39. package/es/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +1 -1
  40. package/es/Modal/Portal/__tests__/__snapshots__/Portal.spec.js.snap +1 -1
  41. package/es/Modal/__tests__/__snapshots__/Modal.spec.js.snap +1 -1
  42. package/es/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +1 -1
  43. package/es/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +1 -1
  44. package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +1 -1
  45. package/es/MultiSelect/__tests__/__snapshots__/EmptyState.spec.js.snap +1 -1
  46. package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +7 -7
  47. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +1 -1
  48. package/es/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +1 -1
  49. package/es/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +1 -1
  50. package/es/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +1 -1
  51. package/es/PopOver/__tests__/__snapshots__/PopOver.spec.js.snap +1 -1
  52. package/es/Radio/__tests__/__snapshots__/Radio.spec.js.snap +1 -1
  53. package/es/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +1 -1
  54. package/es/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +1 -1
  55. package/es/RippleEffect/RippleEffect.js +1 -1
  56. package/es/RippleEffect/__tests__/__snapshots__/RippleEffect.spec.js.snap +17 -17
  57. package/es/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +1 -1
  58. package/es/Select/__tests__/__snapshots__/Select.spec.js.snap +57 -47
  59. package/es/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +1 -1
  60. package/es/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +1 -1
  61. package/es/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +1 -1
  62. package/es/Switch/__tests__/__snapshots__/Switch.spec.js.snap +1 -1
  63. package/es/Tab/__tests__/__snapshots__/Tab.spec.js.snap +1 -1
  64. package/es/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +1 -1
  65. package/es/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +1 -1
  66. package/es/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +1 -1
  67. package/es/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +1 -1
  68. package/es/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +1 -1
  69. package/es/Tag/__tests__/__snapshots__/Tag.spec.js.snap +1 -1
  70. package/es/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +1 -1
  71. package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +1 -1
  72. package/es/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +1 -1
  73. package/es/Typography/__tests__/__snapshots__/Typography.spec.js.snap +5 -5
  74. package/es/VelocityAnimation/VelocityAnimation/__tests__/__snapshots__/VelocityAnimation.spec.js.snap +1 -1
  75. package/es/VelocityAnimation/VelocityAnimationGroup/__tests__/__snapshots__/VelocityAnimationGroup.spec.js.snap +1 -1
  76. package/es/semantic/Button/__tests__/__snapshots__/Button.spec.js.snap +1 -1
  77. package/es/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +1 -1
  78. package/es/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +1 -1
  79. package/es/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +1 -1
  80. package/es/v1/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
  81. package/es/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +1 -1
  82. package/es/v1/shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap +1 -1
  83. package/es/v1/shared/SuccessTick/__tests__/__snapshots__/SuccessTick.spec.js.snap +1 -1
  84. package/lib/Accordion/__tests__/__snapshots__/Accordion.spec.js.snap +1 -1
  85. package/lib/Accordion/__tests__/__snapshots__/AccordionItem.spec.js.snap +1 -1
  86. package/lib/Animation/__tests__/__snapshots__/Animation.spec.js.snap +1 -1
  87. package/lib/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +1 -1
  88. package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +1 -1
  89. package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +1 -1
  90. package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +1 -1
  91. package/lib/Buttongroup/__tests__/__snapshots__/Buttongroup.spec.js.snap +1 -1
  92. package/lib/Card/__tests__/__snapshots__/Card.spec.js.snap +1 -1
  93. package/lib/Card/__tests__/__snapshots__/CardContent.spec.js.snap +1 -1
  94. package/lib/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +1 -1
  95. package/lib/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +1 -1
  96. package/lib/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +5 -5
  97. package/lib/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +17 -17
  98. package/lib/ColorSelect/_shared/ColorIndicator/__tests__/__snapshots__/ColorIndicator.spec.js.snap +1 -1
  99. package/lib/ColorSelect/_shared/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +9 -9
  100. package/lib/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +1 -1
  101. package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +1 -1
  102. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +1 -1
  103. package/lib/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +1 -1
  104. package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +1 -1
  105. package/lib/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +1 -1
  106. package/lib/DateTime/__tests__/__snapshots__/Time.spec.js.snap +1 -1
  107. package/lib/DropBox/DropBoxElement/__tests__/__snapshots__/DropBoxElement.spec.js.snap +1 -1
  108. package/lib/DropBox/__tests__/__snapshots__/DropBox.spec.js.snap +1 -1
  109. package/lib/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +1 -1
  110. package/lib/DropDown/__tests__/__snapshots__/DropDownHeading.spec.js.snap +1 -1
  111. package/lib/DropDown/__tests__/__snapshots__/DropDownItem.spec.js.snap +1 -1
  112. package/lib/DropDown/__tests__/__snapshots__/DropDownSearch.spec.js.snap +1 -1
  113. package/lib/DropDown/__tests__/__snapshots__/DropDownSeparator.spec.js.snap +1 -1
  114. package/lib/Heading/__tests__/__snapshots__/Heading.spec.js.snap +1 -1
  115. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
  116. package/lib/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +1 -1
  117. package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +1 -1
  118. package/lib/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +1 -1
  119. package/lib/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +1 -1
  120. package/lib/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +1 -1
  121. package/lib/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +1 -1
  122. package/lib/Modal/Portal/__tests__/__snapshots__/Portal.spec.js.snap +1 -1
  123. package/lib/Modal/__tests__/__snapshots__/Modal.spec.js.snap +1 -1
  124. package/lib/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +1 -1
  125. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +1 -1
  126. package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +1 -1
  127. package/lib/MultiSelect/__tests__/__snapshots__/EmptyState.spec.js.snap +1 -1
  128. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +7 -7
  129. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +1 -1
  130. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +1 -1
  131. package/lib/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +1 -1
  132. package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +1 -1
  133. package/lib/PopOver/__tests__/__snapshots__/PopOver.spec.js.snap +1 -1
  134. package/lib/Radio/__tests__/__snapshots__/Radio.spec.js.snap +1 -1
  135. package/lib/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +1 -1
  136. package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +1 -1
  137. package/lib/RippleEffect/RippleEffect.js +1 -1
  138. package/lib/RippleEffect/__tests__/__snapshots__/RippleEffect.spec.js.snap +17 -17
  139. package/lib/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +1 -1
  140. package/lib/Select/__tests__/__snapshots__/Select.spec.js.snap +57 -47
  141. package/lib/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +1 -1
  142. package/lib/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +1 -1
  143. package/lib/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +1 -1
  144. package/lib/Switch/__tests__/__snapshots__/Switch.spec.js.snap +1 -1
  145. package/lib/Tab/__tests__/__snapshots__/Tab.spec.js.snap +1 -1
  146. package/lib/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +1 -1
  147. package/lib/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +1 -1
  148. package/lib/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +1 -1
  149. package/lib/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +1 -1
  150. package/lib/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +1 -1
  151. package/lib/Tag/__tests__/__snapshots__/Tag.spec.js.snap +1 -1
  152. package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +1 -1
  153. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +1 -1
  154. package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +1 -1
  155. package/lib/Typography/__tests__/__snapshots__/Typography.spec.js.snap +5 -5
  156. package/lib/VelocityAnimation/VelocityAnimation/__tests__/__snapshots__/VelocityAnimation.spec.js.snap +1 -1
  157. package/lib/VelocityAnimation/VelocityAnimationGroup/__tests__/__snapshots__/VelocityAnimationGroup.spec.js.snap +1 -1
  158. package/lib/semantic/Button/__tests__/__snapshots__/Button.spec.js.snap +1 -1
  159. package/lib/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +1 -1
  160. package/lib/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +1 -1
  161. package/lib/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +1 -1
  162. package/lib/v1/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
  163. package/lib/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +1 -1
  164. package/lib/v1/shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap +1 -1
  165. package/lib/v1/shared/SuccessTick/__tests__/__snapshots__/SuccessTick.spec.js.snap +1 -1
  166. package/package.json +13 -10
  167. package/ut.config.js +106 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohodesk/components",
3
- "version": "1.6.23-exp-2",
3
+ "version": "1.6.24",
4
4
  "main": "es/index.js",
5
5
  "module": "es/index.js",
6
6
  "private": false,
@@ -19,7 +19,7 @@
19
19
  "scripts": {
20
20
  "lintAllFix": "npm run lintAll --eslint:fix=true",
21
21
  "lint": "npx eslint ./src",
22
- "clean": "cdt clean build unittest coverage es lib assets && mkdir assets",
22
+ "clean": "cdt clean build unittest test-slices coverage es lib assets && mkdir assets",
23
23
  "dubCheck": "npx z-node-plugins dub:check node_modules/@zohodesk/icons/es node_modules/@zohodesk/variables/es ../dot/src ../internal/desk-components/src",
24
24
  "init": "npm run clean && cd ../assets && npm run componentsassets && cd ../components",
25
25
  "common_package_build": "cd ../common && npm run build && cd ../components",
@@ -29,15 +29,16 @@
29
29
  "build": "npm run theme:validate && npm run build:lib && npm run build:es && npm run cssVariableConvert ",
30
30
  "build:local": "npm run build",
31
31
  "build:watch": "npm run build:es:watch --module:mode=dev -- -w",
32
- "coverage": "react-cli coverage",
33
32
  "prepare": "npm run init && npm run css:build ",
34
33
  "prepublishOnly": "node ../prePublish.js && npm run download_only && npm run css:review && npm run review:props ",
35
34
  "postpublish": "node ../postPublish.js",
36
- "report": "react-cli publish:report",
37
- "test": "react-cli test",
35
+ "test": "ZDTestingFramework unit-test",
36
+ "test:changed": "ZDTestingFramework unit-test --onlyChanged",
37
+ "snap-update": "npm run test-clean && ZDTestingFramework unit-test -u",
38
+ "unit:report": "ZDTestingFramework ut-report",
39
+ "coverage": "ZDTestingFramework unit-test --coverage",
38
40
  "customTest": "node ./__testUtils__/runTest.js",
39
- "test-clean": "cdt clean ./coverage ./unittest ./es ./lib ./package-lock.json ./result.json ",
40
- "snap-update": "npm run test-clean && npm run test -- -u",
41
+ "test-clean": "cdt clean ./coverage ./test-slices ./unittest ./es ./lib ./package-lock.json ./result.json ",
41
42
  "sstest": "npm run init && react-cli sstest",
42
43
  "build:external": "npm run clean && npm run init && npm run docsjs:build && npm run build:externalDocCopy && npm run externalDocHTMLChange",
43
44
  "download": "npm run download_only && cd ../ && npm run download",
@@ -92,8 +93,10 @@
92
93
  "@zohodesk/client_build_tool": "0.0.23",
93
94
  "color": "4.2.3",
94
95
  "@zohodesk/jsx_attribute_wrapper": "1.0.0",
95
- "@dot-system/css-utility": "0.1.1",
96
- "@zohodesk-private/client_deployment_tool": "0.0.7"
96
+ "@dot-system/css-utility": "0.1.2",
97
+ "@zohodesk-private/client_deployment_tool": "0.0.7",
98
+ "@babel/preset-react": "7.29.7",
99
+ "@zohodesk/testinglibrary": "4.1.10"
97
100
  },
98
101
  "dependencies": {
99
102
  "hoist-non-react-statics": "3.0.1",
@@ -114,6 +117,6 @@
114
117
  "@zohodesk/layout": "3.2.1",
115
118
  "@zohodesk/dotkit": "1.0.10",
116
119
  "color": "4.2.3",
117
- "@dot-system/css-utility": "0.1.1"
120
+ "@dot-system/css-utility": "0.1.2"
118
121
  }
119
122
  }
package/ut.config.js ADDED
@@ -0,0 +1,106 @@
1
+ const path = require('path');
2
+
3
+ // Notes for future maintainers:
4
+ // - @zohodesk/unit-testing-framework runs `JSON.stringify(config)` before
5
+ // handing this to Jest, so every value here must be JSON-serializable
6
+ // (no functions, no live RegExp objects — patterns are strings).
7
+ // - The framework REPLACES its default config with this file when present
8
+ // (despite the "Merging..." log line in config-loader.js), so this file
9
+ // must be self-contained.
10
+
11
+ // `@zohodesk/unit-testing-framework/package.json` isn't in its exports map,
12
+ // so resolve via the main entry (points to build/index.js) and step up.
13
+ const FRAMEWORK_BUILD = path.dirname(
14
+ require.resolve('@zohodesk/unit-testing-framework')
15
+ );
16
+
17
+ // Pin Jest 30's jsdom env — bare "jsdom" can resolve to Jest 26/27 copies
18
+ // pulled in by react-cli / react-scripts, which crash under Jest 30.
19
+ const JEST_JSDOM_ENV = require.resolve('jest-environment-jsdom', {
20
+ paths: [require.resolve('@zohodesk/unit-testing-framework')]
21
+ });
22
+
23
+ module.exports = {
24
+ rootDir: __dirname,
25
+ roots: ['<rootDir>/src'],
26
+
27
+ testEnvironment: JEST_JSDOM_ENV,
28
+
29
+ testMatch: [
30
+ '<rootDir>/src/**/__tests__/**/*.(spec|test).[jt]s?(x)',
31
+ '<rootDir>/src/**/?(*.)+(spec|test).[jt]s?(x)'
32
+ ],
33
+
34
+ testPathIgnorePatterns: [
35
+ '/node_modules/',
36
+ '/build/',
37
+ '/lib/',
38
+ '/es/',
39
+ '/dist/',
40
+ '/coverage/',
41
+ '/unittest/'
42
+ ],
43
+
44
+ moduleFileExtensions: ['js', 'jsx', 'mjs', 'cjs', 'json', 'ts', 'tsx', 'node'],
45
+
46
+ transform: {
47
+ // Absolute paths — the framework JSON.stringifies this config before Jest
48
+ // resolves transforms, so bare package names can point at a missing nested
49
+ // copy under unit-testing-framework/node_modules.
50
+ '^.+\\.[jt]sx?$': [
51
+ require.resolve('babel-jest'),
52
+ {
53
+ presets: [
54
+ [require.resolve('@babel/preset-env'), { targets: { node: 'current' } }],
55
+ [require.resolve('@babel/preset-react'), { runtime: 'classic' }]
56
+ ]
57
+ }
58
+ ],
59
+ '^.+\\.(svg|png|jpg|jpeg|gif|webp|woff2?|ttf|eot|otf|mp4|webm)$':
60
+ '<rootDir>/__testUtils__/fileTransform.js',
61
+ // Enumerable class-name map (not identity-obj-proxy) — mergeStyle spreads
62
+ // the style object, which yields {} for a non-enumerable Proxy.
63
+ '^.+\\.(css|less|scss|sass)$':
64
+ '<rootDir>/__testUtils__/cssModulesTransform.js'
65
+ },
66
+
67
+ // @zohodesk/* and @dot-system/* ship untranspiled ESM in some places, so
68
+ // let babel-jest transform them.
69
+ transformIgnorePatterns: [
70
+ '/node_modules/(?!(@zohodesk|@zohodesk-private|@dot-system)/)'
71
+ ],
72
+
73
+ moduleNameMapper: {
74
+ // Prefer the ES build for @zohodesk libraries (mirrors react-cli's libAlias).
75
+ '^@zohodesk/(components|dot|icons|svg|variables|virtualizer|hooks|utils|a11y|layout|dotkit)/lib(.*)$':
76
+ '@zohodesk/$1/es$2'
77
+ },
78
+
79
+ // Injects `jest` on globalThis so tests that don't `import { jest }` from
80
+ // '@jest/globals' still work under the framework's runner. before run
81
+ setupFiles: [
82
+ path.join(FRAMEWORK_BUILD, 'src', 'environment', 'globals-inject.js')
83
+ ],
84
+
85
+ // Existing test bootstrap: @testing-library/react configure, ResizeObserver
86
+ // mock, requestAnimationFrame shim, className `cn` wrapper on React.createElement.
87
+ setupFilesAfterEnv: [
88
+ '<rootDir>/__testUtils__/globals.js',
89
+ '@testing-library/jest-dom'
90
+ ],
91
+
92
+ clearMocks: true,
93
+ passWithNoTests: true,
94
+ testTimeout: 20000,
95
+
96
+ // Coverage tuning (used only when `--coverage` is passed).
97
+ collectCoverageFrom: [
98
+ 'src/**/*.{js,jsx,ts,tsx}',
99
+ '!src/**/__tests__/**',
100
+ '!src/**/*.spec.{js,jsx,ts,tsx}',
101
+ '!src/**/*.test.{js,jsx,ts,tsx}',
102
+ '!src/**/index.js'
103
+ ],
104
+ coverageDirectory: 'coverage',
105
+ coverageReporters: ['json', 'json-summary', 'text', 'html']
106
+ };