@imposium-hub/components 2.14.4 → 2.14.6

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 (267) hide show
  1. package/dist/cjs/components/advanced-number-field/AdvancedNumberField.d.ts +1 -1
  2. package/dist/cjs/components/advanced-number-field/AdvancedNumberField.test.d.ts +1 -0
  3. package/dist/cjs/components/advanced-number-field/AdvancedNumberField.test.js +377 -0
  4. package/dist/cjs/components/advanced-number-field/AdvancedNumberField.test.js.map +1 -0
  5. package/dist/cjs/components/anchor-field/AnchorField.d.ts +1 -1
  6. package/dist/cjs/components/anchor-field/AnchorField.test.d.ts +1 -0
  7. package/dist/cjs/components/anchor-field/AnchorField.test.js +87 -0
  8. package/dist/cjs/components/anchor-field/AnchorField.test.js.map +1 -0
  9. package/dist/cjs/components/app-wrapper/AppWrapper.d.ts +0 -1
  10. package/dist/cjs/components/app-wrapper/AppWrapper.js +1 -1
  11. package/dist/cjs/components/app-wrapper/AppWrapper.js.map +1 -1
  12. package/dist/cjs/components/asset-details/AssetDetails.test.d.ts +1 -0
  13. package/dist/cjs/components/asset-details/AssetDetails.test.js +439 -0
  14. package/dist/cjs/components/asset-details/AssetDetails.test.js.map +1 -0
  15. package/dist/cjs/components/assets/AssetField.test.d.ts +1 -0
  16. package/dist/cjs/components/assets/AssetField.test.js +464 -0
  17. package/dist/cjs/components/assets/AssetField.test.js.map +1 -0
  18. package/dist/cjs/components/assets/AssetsTableAssetIdCell.test.d.ts +1 -0
  19. package/dist/cjs/components/assets/AssetsTableAssetIdCell.test.js +190 -0
  20. package/dist/cjs/components/assets/AssetsTableAssetIdCell.test.js.map +1 -0
  21. package/dist/cjs/components/assets/AssetsTableAssetIdFilter.test.d.ts +1 -0
  22. package/dist/cjs/components/assets/AssetsTableAssetIdFilter.test.js +82 -0
  23. package/dist/cjs/components/assets/AssetsTableAssetIdFilter.test.js.map +1 -0
  24. package/dist/cjs/components/assets/AssetsTableComplexTagCell.test.d.ts +1 -0
  25. package/dist/cjs/components/assets/AssetsTableComplexTagCell.test.js +125 -0
  26. package/dist/cjs/components/assets/AssetsTableComplexTagCell.test.js.map +1 -0
  27. package/dist/cjs/components/assets/AssetsTableDateCell.d.ts +1 -6
  28. package/dist/cjs/components/assets/AssetsTableDateCell.test.d.ts +1 -0
  29. package/dist/cjs/components/assets/AssetsTableDateCell.test.js +116 -0
  30. package/dist/cjs/components/assets/AssetsTableDateCell.test.js.map +1 -0
  31. package/dist/cjs/components/assets/AssetsTableGlobalCell.d.ts +1 -5
  32. package/dist/cjs/components/assets/AssetsTablePreviewCell.d.ts +1 -17
  33. package/dist/cjs/components/assets/AssetsTableStatusCell.d.ts +1 -5
  34. package/dist/cjs/components/assets/AssetsTableTagsCell.d.ts +1 -6
  35. package/dist/cjs/components/assets/AssetsTableTypeCell.d.ts +1 -5
  36. package/dist/cjs/components/assets/AssetsTypeIcon.d.ts +1 -5
  37. package/dist/cjs/components/assets/FontAssetPreview.d.ts +1 -1
  38. package/dist/cjs/components/assets/StoryTableTotalRendersCell.d.ts +1 -2
  39. package/dist/cjs/components/button/Button.d.ts +1 -1
  40. package/dist/cjs/components/button/Button.stories.d.ts +5 -6
  41. package/dist/cjs/components/button-group-field/ButtonGroupField.d.ts +1 -1
  42. package/dist/cjs/components/button-group-field/ButtonGroupField.stories.d.ts +1 -2
  43. package/dist/cjs/components/button-menu/ButtonMenu.d.ts +2 -2
  44. package/dist/cjs/components/button-menu/ButtonMenu.stories.d.ts +1 -2
  45. package/dist/cjs/components/button-menu/ButtonMenuItem.d.ts +1 -1
  46. package/dist/cjs/components/card/Card.d.ts +4 -4
  47. package/dist/cjs/components/card/Card.stories.d.ts +1 -2
  48. package/dist/cjs/components/checkbox-field/CheckboxField.d.ts +1 -1
  49. package/dist/cjs/components/checkbox-field/CheckboxField.stories.d.ts +1 -2
  50. package/dist/cjs/components/color-field/ColorField.d.ts +1 -1
  51. package/dist/cjs/components/color-field/ColorFiled.stories.d.ts +1 -2
  52. package/dist/cjs/components/compositions/TextLayer.d.ts +1 -1
  53. package/dist/cjs/components/config-variable-button/ConfigVariableButton.d.ts +1 -42
  54. package/dist/cjs/components/confirm-modal/ConfirmModal.d.ts +1 -2
  55. package/dist/cjs/components/controlled-list/ControlledList.d.ts +2 -2
  56. package/dist/cjs/components/controlled-list/ControlledList.stories.d.ts +1 -2
  57. package/dist/cjs/components/controlled-list/ControlledList.test.d.ts +1 -0
  58. package/dist/cjs/components/controlled-list/ControlledList.test.js +427 -0
  59. package/dist/cjs/components/controlled-list/ControlledList.test.js.map +1 -0
  60. package/dist/cjs/components/copy-prop-id-button/CopyPropIdButton.d.ts +1 -1
  61. package/dist/cjs/components/copy-prop-id-button/CopyPropIdButton.test.d.ts +1 -0
  62. package/dist/cjs/components/copy-prop-id-button/CopyPropIdButton.test.js +495 -0
  63. package/dist/cjs/components/copy-prop-id-button/CopyPropIdButton.test.js.map +1 -0
  64. package/dist/cjs/components/determinate-loader/DeterminateLoader.stories.d.ts +3 -4
  65. package/dist/cjs/components/dropdown/Dropdown.d.ts +1 -1
  66. package/dist/cjs/components/dropdown/dropdown.stories.d.ts +1 -1
  67. package/dist/cjs/components/field-wrapper/FieldWrapper.d.ts +2 -2
  68. package/dist/cjs/components/field-wrapper/FieldWrapper.stories.d.ts +1 -2
  69. package/dist/cjs/components/font-field/FontField.d.ts +1 -2
  70. package/dist/cjs/components/font-picker/FontPicker.d.ts +1 -1
  71. package/dist/cjs/components/h-rule/HRule.d.ts +1 -2
  72. package/dist/cjs/components/h-rule/HRule.stories.d.ts +2 -3
  73. package/dist/cjs/components/header/ProjectDropdown.d.ts +1 -2
  74. package/dist/cjs/components/list-field/ListField.d.ts +1 -1
  75. package/dist/cjs/components/list-field/ListField.stories.d.ts +1 -2
  76. package/dist/cjs/components/log-viewer/LogViewer.d.ts +1 -1
  77. package/dist/cjs/components/media-variable-field/MediaVariableField.d.ts +1 -1
  78. package/dist/cjs/components/modal/Modal.d.ts +1 -1
  79. package/dist/cjs/components/modal/Modal.stories.d.ts +1 -2
  80. package/dist/cjs/components/number-field/NumberField.d.ts +1 -1
  81. package/dist/cjs/components/number-field/NumberField.stories.d.ts +1 -2
  82. package/dist/cjs/components/number-field/NumberField.test.d.ts +1 -0
  83. package/dist/cjs/components/number-field/NumberField.test.js +241 -0
  84. package/dist/cjs/components/number-field/NumberField.test.js.map +1 -0
  85. package/dist/cjs/components/players/AudioPlayer.d.ts +1 -1
  86. package/dist/cjs/components/players/AudioPreview.d.ts +1 -1
  87. package/dist/cjs/components/players/ImagePlayer.d.ts +1 -1
  88. package/dist/cjs/components/players/ImagePreview.d.ts +1 -1
  89. package/dist/cjs/components/players/ImageSequencePlayer.d.ts +1 -1
  90. package/dist/cjs/components/players/TemplatePlayer.d.ts +1 -1
  91. package/dist/cjs/components/players/VideoPlayer.d.ts +1 -1
  92. package/dist/cjs/components/players/VideoPreview.d.ts +1 -1
  93. package/dist/cjs/components/publish-wizard/PublishWizard.d.ts +3 -3
  94. package/dist/cjs/components/publish-wizard/publish/APIIntegration.d.ts +1 -1
  95. package/dist/cjs/components/publish-wizard/publish/HubSpotFlow.d.ts +1 -1
  96. package/dist/cjs/components/publish-wizard/publish/WebpageHosted.d.ts +2 -2
  97. package/dist/cjs/components/section/Section.d.ts +1 -2
  98. package/dist/cjs/components/section/Section.stories.d.ts +2 -3
  99. package/dist/cjs/components/select-field/SelectField.d.ts +1 -1
  100. package/dist/cjs/components/select-field/SelectField.stories.d.ts +1 -2
  101. package/dist/cjs/components/shortcut-menu/ShortcutMenu.stories.d.ts +1 -2
  102. package/dist/cjs/components/slider-field/SliderField.d.ts +1 -1
  103. package/dist/cjs/components/slider-field/SliderField.stories.d.ts +1 -2
  104. package/dist/cjs/components/smpte-field/SMPTEField.d.ts +1 -1
  105. package/dist/cjs/components/story-previewer/StoryPreviewer.js +10 -2
  106. package/dist/cjs/components/story-previewer/StoryPreviewer.js.map +1 -1
  107. package/dist/cjs/components/tabs/Tabs.stories.d.ts +2 -3
  108. package/dist/cjs/components/tag/Tag.d.ts +1 -9
  109. package/dist/cjs/components/text-area-autocomplete/TextAreaAutocomplete.d.ts +1 -2
  110. package/dist/cjs/components/text-area-field/TextAreaField.d.ts +1 -1
  111. package/dist/cjs/components/text-area-field/TextAreaField.stories.d.ts +1 -2
  112. package/dist/cjs/components/text-field/TextField.d.ts +1 -1
  113. package/dist/cjs/components/text-field/TextField.stories.d.ts +1 -2
  114. package/dist/cjs/components/text-field/TextField.test.d.ts +1 -0
  115. package/dist/cjs/components/text-field/TextField.test.js +540 -0
  116. package/dist/cjs/components/text-field/TextField.test.js.map +1 -0
  117. package/dist/cjs/constants/icons.d.ts +79 -80
  118. package/dist/cjs/test/setup.d.ts +1 -0
  119. package/dist/cjs/test/setup.js +97 -0
  120. package/dist/cjs/test/setup.js.map +1 -0
  121. package/dist/cjs/test/utils.d.ts +26 -0
  122. package/dist/cjs/test/utils.js +44 -0
  123. package/dist/cjs/test/utils.js.map +1 -0
  124. package/dist/esm/components/advanced-number-field/AdvancedNumberField.d.ts +1 -1
  125. package/dist/esm/components/advanced-number-field/AdvancedNumberField.test.d.ts +1 -0
  126. package/dist/esm/components/advanced-number-field/AdvancedNumberField.test.js +361 -0
  127. package/dist/esm/components/advanced-number-field/AdvancedNumberField.test.js.map +1 -0
  128. package/dist/esm/components/anchor-field/AnchorField.d.ts +1 -1
  129. package/dist/esm/components/anchor-field/AnchorField.test.d.ts +1 -0
  130. package/dist/esm/components/anchor-field/AnchorField.test.js +81 -0
  131. package/dist/esm/components/anchor-field/AnchorField.test.js.map +1 -0
  132. package/dist/esm/components/app-wrapper/AppWrapper.d.ts +0 -1
  133. package/dist/esm/components/app-wrapper/AppWrapper.js +1 -1
  134. package/dist/esm/components/app-wrapper/AppWrapper.js.map +1 -1
  135. package/dist/esm/components/asset-details/AssetDetails.test.d.ts +1 -0
  136. package/dist/esm/components/asset-details/AssetDetails.test.js +367 -0
  137. package/dist/esm/components/asset-details/AssetDetails.test.js.map +1 -0
  138. package/dist/esm/components/assets/AssetField.test.d.ts +1 -0
  139. package/dist/esm/components/assets/AssetField.test.js +311 -0
  140. package/dist/esm/components/assets/AssetField.test.js.map +1 -0
  141. package/dist/esm/components/assets/AssetsTableAssetIdCell.test.d.ts +1 -0
  142. package/dist/esm/components/assets/AssetsTableAssetIdCell.test.js +105 -0
  143. package/dist/esm/components/assets/AssetsTableAssetIdCell.test.js.map +1 -0
  144. package/dist/esm/components/assets/AssetsTableAssetIdFilter.test.d.ts +1 -0
  145. package/dist/esm/components/assets/AssetsTableAssetIdFilter.test.js +63 -0
  146. package/dist/esm/components/assets/AssetsTableAssetIdFilter.test.js.map +1 -0
  147. package/dist/esm/components/assets/AssetsTableComplexTagCell.test.d.ts +1 -0
  148. package/dist/esm/components/assets/AssetsTableComplexTagCell.test.js +100 -0
  149. package/dist/esm/components/assets/AssetsTableComplexTagCell.test.js.map +1 -0
  150. package/dist/esm/components/assets/AssetsTableDateCell.d.ts +1 -6
  151. package/dist/esm/components/assets/AssetsTableDateCell.test.d.ts +1 -0
  152. package/dist/esm/components/assets/AssetsTableDateCell.test.js +60 -0
  153. package/dist/esm/components/assets/AssetsTableDateCell.test.js.map +1 -0
  154. package/dist/esm/components/assets/AssetsTableGlobalCell.d.ts +1 -5
  155. package/dist/esm/components/assets/AssetsTablePreviewCell.d.ts +1 -17
  156. package/dist/esm/components/assets/AssetsTableStatusCell.d.ts +1 -5
  157. package/dist/esm/components/assets/AssetsTableTagsCell.d.ts +1 -6
  158. package/dist/esm/components/assets/AssetsTableTypeCell.d.ts +1 -5
  159. package/dist/esm/components/assets/AssetsTypeIcon.d.ts +1 -5
  160. package/dist/esm/components/assets/FontAssetPreview.d.ts +1 -1
  161. package/dist/esm/components/assets/StoryTableTotalRendersCell.d.ts +1 -2
  162. package/dist/esm/components/button/Button.d.ts +1 -1
  163. package/dist/esm/components/button/Button.stories.d.ts +5 -6
  164. package/dist/esm/components/button-group-field/ButtonGroupField.d.ts +1 -1
  165. package/dist/esm/components/button-group-field/ButtonGroupField.stories.d.ts +1 -2
  166. package/dist/esm/components/button-menu/ButtonMenu.d.ts +2 -2
  167. package/dist/esm/components/button-menu/ButtonMenu.stories.d.ts +1 -2
  168. package/dist/esm/components/button-menu/ButtonMenuItem.d.ts +1 -1
  169. package/dist/esm/components/card/Card.d.ts +4 -4
  170. package/dist/esm/components/card/Card.stories.d.ts +1 -2
  171. package/dist/esm/components/checkbox-field/CheckboxField.d.ts +1 -1
  172. package/dist/esm/components/checkbox-field/CheckboxField.stories.d.ts +1 -2
  173. package/dist/esm/components/color-field/ColorField.d.ts +1 -1
  174. package/dist/esm/components/color-field/ColorFiled.stories.d.ts +1 -2
  175. package/dist/esm/components/compositions/TextLayer.d.ts +1 -1
  176. package/dist/esm/components/config-variable-button/ConfigVariableButton.d.ts +1 -42
  177. package/dist/esm/components/confirm-modal/ConfirmModal.d.ts +1 -2
  178. package/dist/esm/components/controlled-list/ControlledList.d.ts +2 -2
  179. package/dist/esm/components/controlled-list/ControlledList.stories.d.ts +1 -2
  180. package/dist/esm/components/controlled-list/ControlledList.test.d.ts +1 -0
  181. package/dist/esm/components/controlled-list/ControlledList.test.js +400 -0
  182. package/dist/esm/components/controlled-list/ControlledList.test.js.map +1 -0
  183. package/dist/esm/components/copy-prop-id-button/CopyPropIdButton.d.ts +1 -1
  184. package/dist/esm/components/copy-prop-id-button/CopyPropIdButton.test.d.ts +1 -0
  185. package/dist/esm/components/copy-prop-id-button/CopyPropIdButton.test.js +357 -0
  186. package/dist/esm/components/copy-prop-id-button/CopyPropIdButton.test.js.map +1 -0
  187. package/dist/esm/components/determinate-loader/DeterminateLoader.stories.d.ts +3 -4
  188. package/dist/esm/components/dropdown/Dropdown.d.ts +1 -1
  189. package/dist/esm/components/dropdown/dropdown.stories.d.ts +1 -1
  190. package/dist/esm/components/field-wrapper/FieldWrapper.d.ts +2 -2
  191. package/dist/esm/components/field-wrapper/FieldWrapper.stories.d.ts +1 -2
  192. package/dist/esm/components/font-field/FontField.d.ts +1 -2
  193. package/dist/esm/components/font-picker/FontPicker.d.ts +1 -1
  194. package/dist/esm/components/h-rule/HRule.d.ts +1 -2
  195. package/dist/esm/components/h-rule/HRule.stories.d.ts +2 -3
  196. package/dist/esm/components/header/ProjectDropdown.d.ts +1 -2
  197. package/dist/esm/components/list-field/ListField.d.ts +1 -1
  198. package/dist/esm/components/list-field/ListField.stories.d.ts +1 -2
  199. package/dist/esm/components/log-viewer/LogViewer.d.ts +1 -1
  200. package/dist/esm/components/media-variable-field/MediaVariableField.d.ts +1 -1
  201. package/dist/esm/components/modal/Modal.d.ts +1 -1
  202. package/dist/esm/components/modal/Modal.stories.d.ts +1 -2
  203. package/dist/esm/components/number-field/NumberField.d.ts +1 -1
  204. package/dist/esm/components/number-field/NumberField.stories.d.ts +1 -2
  205. package/dist/esm/components/number-field/NumberField.test.d.ts +1 -0
  206. package/dist/esm/components/number-field/NumberField.test.js +192 -0
  207. package/dist/esm/components/number-field/NumberField.test.js.map +1 -0
  208. package/dist/esm/components/players/AudioPlayer.d.ts +1 -1
  209. package/dist/esm/components/players/AudioPreview.d.ts +1 -1
  210. package/dist/esm/components/players/ImagePlayer.d.ts +1 -1
  211. package/dist/esm/components/players/ImagePreview.d.ts +1 -1
  212. package/dist/esm/components/players/ImageSequencePlayer.d.ts +1 -1
  213. package/dist/esm/components/players/TemplatePlayer.d.ts +1 -1
  214. package/dist/esm/components/players/VideoPlayer.d.ts +1 -1
  215. package/dist/esm/components/players/VideoPreview.d.ts +1 -1
  216. package/dist/esm/components/publish-wizard/PublishWizard.d.ts +3 -3
  217. package/dist/esm/components/publish-wizard/publish/APIIntegration.d.ts +1 -1
  218. package/dist/esm/components/publish-wizard/publish/HubSpotFlow.d.ts +1 -1
  219. package/dist/esm/components/publish-wizard/publish/WebpageHosted.d.ts +2 -2
  220. package/dist/esm/components/section/Section.d.ts +1 -2
  221. package/dist/esm/components/section/Section.stories.d.ts +2 -3
  222. package/dist/esm/components/select-field/SelectField.d.ts +1 -1
  223. package/dist/esm/components/select-field/SelectField.stories.d.ts +1 -2
  224. package/dist/esm/components/shortcut-menu/ShortcutMenu.stories.d.ts +1 -2
  225. package/dist/esm/components/slider-field/SliderField.d.ts +1 -1
  226. package/dist/esm/components/slider-field/SliderField.stories.d.ts +1 -2
  227. package/dist/esm/components/smpte-field/SMPTEField.d.ts +1 -1
  228. package/dist/esm/components/story-previewer/StoryPreviewer.js +10 -2
  229. package/dist/esm/components/story-previewer/StoryPreviewer.js.map +1 -1
  230. package/dist/esm/components/tabs/Tabs.stories.d.ts +2 -3
  231. package/dist/esm/components/tag/Tag.d.ts +1 -9
  232. package/dist/esm/components/text-area-autocomplete/TextAreaAutocomplete.d.ts +1 -2
  233. package/dist/esm/components/text-area-field/TextAreaField.d.ts +1 -1
  234. package/dist/esm/components/text-area-field/TextAreaField.stories.d.ts +1 -2
  235. package/dist/esm/components/text-field/TextField.d.ts +1 -1
  236. package/dist/esm/components/text-field/TextField.stories.d.ts +1 -2
  237. package/dist/esm/components/text-field/TextField.test.d.ts +1 -0
  238. package/dist/esm/components/text-field/TextField.test.js +469 -0
  239. package/dist/esm/components/text-field/TextField.test.js.map +1 -0
  240. package/dist/esm/constants/icons.d.ts +79 -80
  241. package/dist/esm/test/setup.d.ts +1 -0
  242. package/dist/esm/test/setup.js +70 -0
  243. package/dist/esm/test/setup.js.map +1 -0
  244. package/dist/esm/test/utils.d.ts +26 -0
  245. package/dist/esm/test/utils.js +27 -0
  246. package/dist/esm/test/utils.js.map +1 -0
  247. package/package.json +17 -6
  248. package/src/components/advanced-number-field/AdvancedNumberField.test.tsx +704 -0
  249. package/src/components/anchor-field/AnchorField.test.tsx +130 -0
  250. package/src/components/app-wrapper/AppWrapper.tsx +1 -6
  251. package/src/components/asset-details/AssetDetails.test.tsx +494 -0
  252. package/src/components/assets/AssetField.test.tsx +439 -0
  253. package/src/components/assets/AssetsTableAssetIdCell.test.tsx +134 -0
  254. package/src/components/assets/AssetsTableAssetIdFilter.test.tsx +95 -0
  255. package/src/components/assets/AssetsTableComplexTagCell.test.tsx +159 -0
  256. package/src/components/assets/AssetsTableDateCell.test.tsx +106 -0
  257. package/src/components/number-field/NumberField.test.tsx +383 -0
  258. package/src/components/number-field/NumberField.tsx +15 -9
  259. package/src/components/story-previewer/StoryPreviewer.tsx +10 -2
  260. package/src/components/text-field/TextField.test.tsx +988 -0
  261. package/src/test/setup.ts +91 -0
  262. package/src/test/utils.tsx +44 -0
  263. package/tsconfig.eslint.json +8 -0
  264. package/tsconfig.json +1 -1
  265. package/vitest.config.ts +31 -0
  266. package/src/components/service-icon/ServiceIcon.test.tsx +0 -0
  267. package/src/components/tag/Tag.test.tsx +0 -0
@@ -0,0 +1,91 @@
1
+ // Test setup file for Vitest
2
+ import React from 'react';
3
+ import { beforeAll, vi } from 'vitest';
4
+
5
+ // Mock hotkeys-js
6
+ vi.mock('hotkeys-js', () => {
7
+ const mockHotkeys = vi.fn();
8
+ mockHotkeys.filter = vi.fn();
9
+ mockHotkeys.unbind = vi.fn();
10
+ return {
11
+ default: mockHotkeys
12
+ };
13
+ });
14
+
15
+ // Mock Font Awesome icons - return simple div elements
16
+ vi.mock('../../constants/icons', () => ({
17
+ ICON_CHECK: '<div data-testid="icon-check">✓</div>',
18
+ ICON_EDIT: '<div data-testid="icon-edit">✎</div>',
19
+ ICON_SEARCH: '<div data-testid="icon-search">🔍</div>',
20
+ ICON_PLUS: '<div data-testid="icon-plus">+</div>',
21
+ ICON_CLIPBOARD: '<div data-testid="icon-clipboard">📋</div>',
22
+ ICON_TIMES: '<div data-testid="icon-times">×</div>',
23
+ ICON_CIRCLE_NOTCH: '<div data-testid="icon-loading">⟳</div>',
24
+ ICON_CARET_UP: '<div data-testid="icon-caret-up">▲</div>',
25
+ ICON_CARET_DOWN: '<div data-testid="icon-caret-down">▼</div>'
26
+ }));
27
+
28
+ // Mock react-textarea-autocomplete
29
+ vi.mock('@imposium-hub/react-textarea-autocomplete', () => ({
30
+ default: vi.fn(() => 'input')
31
+ }));
32
+
33
+ // Mock utility functions
34
+ vi.mock('../../Util', () => ({
35
+ generateUUID: vi.fn(() => 'test-uuid-123'),
36
+ filterHotkeys: vi.fn(() => true)
37
+ }));
38
+
39
+ // Mock FieldWrapper to simplify testing
40
+ vi.mock('../../components/field-wrapper/FieldWrapper', () => ({
41
+ default: ({ children, customClass, buttons, info, label }) =>
42
+ React.createElement(
43
+ 'div',
44
+ {
45
+ 'className': `field-wrapper ${customClass || ''}`,
46
+ 'data-testid': 'field-wrapper'
47
+ },
48
+ [
49
+ label && React.createElement('label', { key: 'label' }, label),
50
+ children,
51
+ info && React.createElement('div', { key: 'info', className: 'field-info' }, info),
52
+ buttons &&
53
+ React.createElement(
54
+ 'div',
55
+ { key: 'buttons', className: 'field-buttons' },
56
+ buttons
57
+ )
58
+ ]
59
+ )
60
+ }));
61
+
62
+ // Mock Button component to include proper accessibility
63
+ vi.mock('../../components/button/Button', () => ({
64
+ default: ({ children, onClick, tooltip, style, color, ...props }) =>
65
+ React.createElement(
66
+ 'button',
67
+ {
68
+ 'role': 'button',
69
+ 'className': `imposium-btn btn-${style || 'default'} ${color || ''}`,
70
+ onClick,
71
+ 'data-tooltip-content': typeof tooltip === 'string' ? tooltip : tooltip?.content,
72
+ ...props
73
+ },
74
+ children
75
+ )
76
+ }));
77
+
78
+ // Setup global mocks
79
+ beforeAll(() => {
80
+ // Mock clipboard API
81
+ Object.assign(navigator, {
82
+ clipboard: {
83
+ writeText: vi.fn(() => Promise.resolve())
84
+ }
85
+ });
86
+
87
+ // Mock hotkeys global object
88
+ global.hotkeys = vi.fn();
89
+ global.hotkeys.filter = vi.fn();
90
+ global.hotkeys.unbind = vi.fn();
91
+ });
@@ -0,0 +1,44 @@
1
+ import React from 'react';
2
+ import { render, RenderOptions } from '@testing-library/react';
3
+ import { vi, MockedFunction } from 'vitest';
4
+
5
+ // Interface for mock props with common component callbacks
6
+ interface IMockProps {
7
+ onChange: MockedFunction<any>;
8
+ onSubmit: MockedFunction<any>;
9
+ onBlur: MockedFunction<any>;
10
+ onFocus: MockedFunction<any>;
11
+ onNotification: MockedFunction<any>;
12
+ onError: MockedFunction<any>;
13
+ doSubmit: MockedFunction<any>;
14
+ [key: string]: any;
15
+ }
16
+
17
+ // Custom render function that can be extended with providers if needed
18
+ const customRender = (ui: React.ReactElement, options?: Omit<RenderOptions, 'wrapper'>) => {
19
+ return render(ui, {
20
+ // Add any global providers here if needed in the future
21
+ ...options
22
+ });
23
+ };
24
+
25
+ // Re-export everything from React Testing Library
26
+ export * from '@testing-library/react';
27
+
28
+ // Override render method
29
+ export { customRender as render };
30
+
31
+ // Helper functions for common test scenarios
32
+ export const createMockProps = (overrides: IMockProps) => ({
33
+ onChange: vi.fn(),
34
+ onSubmit: vi.fn(),
35
+ onBlur: vi.fn(),
36
+ onFocus: vi.fn(),
37
+ onNotification: vi.fn(),
38
+ onError: vi.fn(),
39
+ doSubmit: vi.fn(),
40
+ ...overrides
41
+ });
42
+
43
+ // Helper to wait for async updates
44
+ export const waitForUpdate = () => new Promise((resolve) => setTimeout(resolve, 0));
@@ -0,0 +1,8 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "skipLibCheck": true
5
+ },
6
+ "include": ["src/**/*"],
7
+ "exclude": ["node_modules", "dist"]
8
+ }
package/tsconfig.json CHANGED
@@ -14,5 +14,5 @@
14
14
  "moduleResolution": "node"
15
15
  },
16
16
  "include": ["src"],
17
- "exclude": ["node_modules", "dist"]
17
+ "exclude": ["node_modules", "dist", "**/*.test.*", "**/*.spec.*", "src/test/**/*"]
18
18
  }
@@ -0,0 +1,31 @@
1
+ /// <reference types="vitest" />
2
+ import { defineConfig } from 'vitest/config';
3
+
4
+ export default defineConfig({
5
+ test: {
6
+ environment: 'jsdom',
7
+ setupFiles: ['./src/test/setup.ts'],
8
+ include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
9
+ exclude: ['node_modules', 'dist', '.git', '.storybook'],
10
+ globals: true,
11
+ coverage: {
12
+ provider: 'v8',
13
+ reporter: ['text'],
14
+ reportsDirectory: './coverage',
15
+ include: ['src/components/**/*.{ts,tsx}'],
16
+ exclude: [
17
+ 'src/**/*.test.{ts,tsx}',
18
+ 'src/**/*.stories.{ts,tsx}',
19
+ 'src/test/**',
20
+ 'src/constants/**',
21
+ 'src/utils/**'
22
+ ],
23
+ skipFull: false
24
+ }
25
+ },
26
+ resolve: {
27
+ alias: {
28
+ '@': '/src'
29
+ }
30
+ }
31
+ });
File without changes
File without changes