@eccenca/gui-elements 24.0.0-rc.2 → 24.0.0-rc.4

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 (378) hide show
  1. package/CHANGELOG.md +64 -5
  2. package/README.md +5 -3
  3. package/dist/cjs/cmem/ActivityControl/ActivityControlWidget.js.map +1 -1
  4. package/dist/cjs/cmem/ActivityControl/SilkActivityControl.js.map +1 -1
  5. package/dist/cjs/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js +3 -5
  6. package/dist/cjs/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js.map +1 -1
  7. package/dist/cjs/cmem/DateTimeDisplay/ElapsedDateTimeDisplay.js +4 -8
  8. package/dist/cjs/cmem/DateTimeDisplay/ElapsedDateTimeDisplay.js.map +1 -1
  9. package/dist/cjs/cmem/markdown/Markdown.js +6 -4
  10. package/dist/cjs/cmem/markdown/Markdown.js.map +1 -1
  11. package/dist/cjs/cmem/markdown/highlightSearchWords.js +5 -8
  12. package/dist/cjs/cmem/markdown/highlightSearchWords.js.map +1 -1
  13. package/dist/cjs/cmem/react-flow/nodes/StickyNoteNode.js.map +1 -1
  14. package/dist/cjs/common/index.js +1 -3
  15. package/dist/cjs/common/index.js.map +1 -1
  16. package/dist/cjs/components/Accordion/Accordion.js +2 -7
  17. package/dist/cjs/components/Accordion/Accordion.js.map +1 -1
  18. package/dist/cjs/components/Accordion/AccordionItem.js +1 -2
  19. package/dist/cjs/components/Accordion/AccordionItem.js.map +1 -1
  20. package/dist/cjs/components/AutoSuggestion/AutoSuggestion.js +117 -64
  21. package/dist/cjs/components/AutoSuggestion/AutoSuggestion.js.map +1 -1
  22. package/dist/cjs/components/AutoSuggestion/AutoSuggestionList.js.map +1 -1
  23. package/dist/cjs/components/AutoSuggestion/ExtendedCodeEditor.js +13 -51
  24. package/dist/cjs/components/AutoSuggestion/ExtendedCodeEditor.js.map +1 -1
  25. package/dist/cjs/components/AutoSuggestion/extensions/markText.js +55 -0
  26. package/dist/cjs/components/AutoSuggestion/extensions/markText.js.map +1 -0
  27. package/dist/cjs/components/AutoSuggestion/index.js +1 -3
  28. package/dist/cjs/components/AutoSuggestion/index.js.map +1 -1
  29. package/dist/cjs/components/AutocompleteField/AutoCompleteField.js +2 -6
  30. package/dist/cjs/components/AutocompleteField/AutoCompleteField.js.map +1 -1
  31. package/dist/cjs/components/AutocompleteField/index.js +1 -0
  32. package/dist/cjs/components/AutocompleteField/index.js.map +1 -1
  33. package/dist/cjs/components/Breadcrumb/BreadcrumbList.js +2 -2
  34. package/dist/cjs/components/Breadcrumb/BreadcrumbList.js.map +1 -1
  35. package/dist/cjs/components/Button/Button.js.map +1 -1
  36. package/dist/cjs/components/Card/CardHeader.js +2 -2
  37. package/dist/cjs/components/Card/CardHeader.js.map +1 -1
  38. package/dist/cjs/components/CodeAutocompleteField/CodeAutocompleteField.js +3 -3
  39. package/dist/cjs/components/CodeAutocompleteField/CodeAutocompleteField.js.map +1 -1
  40. package/dist/cjs/components/Dialog/AlertDialog.js.map +1 -1
  41. package/dist/cjs/components/Dialog/Modal.js +2 -2
  42. package/dist/cjs/components/Dialog/Modal.js.map +1 -1
  43. package/dist/cjs/components/Grid/Grid.js.map +1 -1
  44. package/dist/cjs/components/Grid/GridColumn.js +1 -1
  45. package/dist/cjs/components/Grid/GridColumn.js.map +1 -1
  46. package/dist/cjs/components/Icon/Icon.js +3 -5
  47. package/dist/cjs/components/Icon/Icon.js.map +1 -1
  48. package/dist/cjs/components/Icon/canonicalIconNames.js.map +1 -1
  49. package/dist/cjs/components/MultiSelect/MultiSelect.js +33 -16
  50. package/dist/cjs/components/MultiSelect/MultiSelect.js.map +1 -1
  51. package/dist/cjs/components/MultiSuggestField/MultiSuggestField.js +7 -2
  52. package/dist/cjs/components/MultiSuggestField/MultiSuggestField.js.map +1 -1
  53. package/dist/cjs/components/Notification/Notification.js +2 -5
  54. package/dist/cjs/components/Notification/Notification.js.map +1 -1
  55. package/dist/cjs/components/Select/Select.js +0 -6
  56. package/dist/cjs/components/Select/Select.js.map +1 -1
  57. package/dist/cjs/components/Spinner/Spinner.js.map +1 -1
  58. package/dist/cjs/components/SuggestField/SuggestField.js +2 -2
  59. package/dist/cjs/components/SuggestField/SuggestField.js.map +1 -1
  60. package/dist/cjs/components/Table/Table.js +0 -3
  61. package/dist/cjs/components/Table/Table.js.map +1 -1
  62. package/dist/cjs/components/Tag/Tag.js +1 -0
  63. package/dist/cjs/components/Tag/Tag.js.map +1 -1
  64. package/dist/cjs/components/TextField/TextArea.js +1 -19
  65. package/dist/cjs/components/TextField/TextArea.js.map +1 -1
  66. package/dist/cjs/components/TextField/TextField.js +6 -24
  67. package/dist/cjs/components/TextField/TextField.js.map +1 -1
  68. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  69. package/dist/cjs/components/Typography/Highlighter.js +0 -6
  70. package/dist/cjs/components/Typography/Highlighter.js.map +1 -1
  71. package/dist/cjs/components/Typography/index.js +0 -8
  72. package/dist/cjs/components/Typography/index.js.map +1 -1
  73. package/dist/cjs/components/Workspace/WorkspaceContent.js +1 -1
  74. package/dist/cjs/components/Workspace/WorkspaceContent.js.map +1 -1
  75. package/dist/cjs/components/index.js +0 -1
  76. package/dist/cjs/components/index.js.map +1 -1
  77. package/dist/cjs/extensions/codemirror/CodeMirror.js +92 -86
  78. package/dist/cjs/extensions/codemirror/CodeMirror.js.map +1 -1
  79. package/dist/cjs/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js +43 -0
  80. package/dist/cjs/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js.map +1 -0
  81. package/dist/cjs/extensions/codemirror/tests/codemirrorTestHelper.js +49 -0
  82. package/dist/cjs/extensions/codemirror/tests/codemirrorTestHelper.js.map +1 -0
  83. package/dist/cjs/extensions/react-flow/edges/edgeTypes.js +1 -1
  84. package/dist/cjs/extensions/react-flow/edges/edgeTypes.js.map +1 -1
  85. package/dist/cjs/extensions/react-flow/index.js +3 -14
  86. package/dist/cjs/extensions/react-flow/index.js.map +1 -1
  87. package/dist/cjs/extensions/react-flow/minimap/utils.js +4 -7
  88. package/dist/cjs/extensions/react-flow/minimap/utils.js.map +1 -1
  89. package/dist/cjs/extensions/react-flow/nodes/NodeContent.js +2 -10
  90. package/dist/cjs/extensions/react-flow/nodes/NodeContent.js.map +1 -1
  91. package/dist/cjs/extensions/react-flow/nodes/NodeDefault.js.map +1 -1
  92. package/dist/cjs/extensions/react-flow/nodes/nodeTypes.js +1 -1
  93. package/dist/cjs/extensions/react-flow/nodes/nodeTypes.js.map +1 -1
  94. package/dist/cjs/index.js +1 -4
  95. package/dist/cjs/index.js.map +1 -1
  96. package/dist/cjs/legacy-replacements/Button/AffirmativeButton.js +1 -0
  97. package/dist/cjs/legacy-replacements/Button/AffirmativeButton.js.map +1 -1
  98. package/dist/cjs/legacy-replacements/Button/Button.js +2 -0
  99. package/dist/cjs/legacy-replacements/Button/Button.js.map +1 -1
  100. package/dist/cjs/legacy-replacements/Button/DismissiveButton.js +1 -0
  101. package/dist/cjs/legacy-replacements/Button/DismissiveButton.js.map +1 -1
  102. package/dist/cjs/legacy-replacements/Button/DisruptiveButton.js +1 -0
  103. package/dist/cjs/legacy-replacements/Button/DisruptiveButton.js.map +1 -1
  104. package/dist/cjs/legacy-replacements/Checkbox/Checkbox.js +2 -0
  105. package/dist/cjs/legacy-replacements/Checkbox/Checkbox.js.map +1 -1
  106. package/dist/cjs/legacy-replacements/Radio/RadioButton.js +2 -0
  107. package/dist/cjs/legacy-replacements/Radio/RadioButton.js.map +1 -1
  108. package/dist/cjs/legacy-replacements/Tabs/Tabs.js +1 -0
  109. package/dist/cjs/legacy-replacements/Tabs/Tabs.js.map +1 -1
  110. package/dist/cjs/legacy-replacements/TextField/TextField.js +2 -0
  111. package/dist/cjs/legacy-replacements/TextField/TextField.js.map +1 -1
  112. package/dist/esm/cmem/ActivityControl/ActivityControlWidget.js.map +1 -1
  113. package/dist/esm/cmem/ActivityControl/SilkActivityControl.js.map +1 -1
  114. package/dist/esm/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js +3 -4
  115. package/dist/esm/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.js.map +1 -1
  116. package/dist/esm/cmem/DateTimeDisplay/ElapsedDateTimeDisplay.js +2 -4
  117. package/dist/esm/cmem/DateTimeDisplay/ElapsedDateTimeDisplay.js.map +1 -1
  118. package/dist/esm/cmem/markdown/Markdown.js +6 -4
  119. package/dist/esm/cmem/markdown/Markdown.js.map +1 -1
  120. package/dist/esm/cmem/markdown/highlightSearchWords.js +5 -8
  121. package/dist/esm/cmem/markdown/highlightSearchWords.js.map +1 -1
  122. package/dist/esm/cmem/react-flow/nodes/StickyNoteNode.js.map +1 -1
  123. package/dist/esm/common/index.js +0 -2
  124. package/dist/esm/common/index.js.map +1 -1
  125. package/dist/esm/components/Accordion/Accordion.js +2 -7
  126. package/dist/esm/components/Accordion/Accordion.js.map +1 -1
  127. package/dist/esm/components/Accordion/AccordionItem.js +1 -2
  128. package/dist/esm/components/Accordion/AccordionItem.js.map +1 -1
  129. package/dist/esm/components/AutoSuggestion/AutoSuggestion.js +136 -82
  130. package/dist/esm/components/AutoSuggestion/AutoSuggestion.js.map +1 -1
  131. package/dist/esm/components/AutoSuggestion/AutoSuggestionList.js.map +1 -1
  132. package/dist/esm/components/AutoSuggestion/ExtendedCodeEditor.js +36 -60
  133. package/dist/esm/components/AutoSuggestion/ExtendedCodeEditor.js.map +1 -1
  134. package/dist/esm/components/AutoSuggestion/extensions/markText.js +72 -0
  135. package/dist/esm/components/AutoSuggestion/extensions/markText.js.map +1 -0
  136. package/dist/esm/components/AutoSuggestion/index.js +1 -2
  137. package/dist/esm/components/AutoSuggestion/index.js.map +1 -1
  138. package/dist/esm/components/AutocompleteField/AutoCompleteField.js +3 -6
  139. package/dist/esm/components/AutocompleteField/AutoCompleteField.js.map +1 -1
  140. package/dist/esm/components/AutocompleteField/index.js +1 -0
  141. package/dist/esm/components/AutocompleteField/index.js.map +1 -1
  142. package/dist/esm/components/Breadcrumb/BreadcrumbList.js +2 -2
  143. package/dist/esm/components/Breadcrumb/BreadcrumbList.js.map +1 -1
  144. package/dist/esm/components/Button/Button.js.map +1 -1
  145. package/dist/esm/components/Card/CardHeader.js +2 -2
  146. package/dist/esm/components/Card/CardHeader.js.map +1 -1
  147. package/dist/esm/components/CodeAutocompleteField/CodeAutocompleteField.js +2 -2
  148. package/dist/esm/components/CodeAutocompleteField/CodeAutocompleteField.js.map +1 -1
  149. package/dist/esm/components/Dialog/AlertDialog.js.map +1 -1
  150. package/dist/esm/components/Dialog/Modal.js +3 -3
  151. package/dist/esm/components/Dialog/Modal.js.map +1 -1
  152. package/dist/esm/components/Grid/Grid.js.map +1 -1
  153. package/dist/esm/components/Grid/GridColumn.js +1 -1
  154. package/dist/esm/components/Grid/GridColumn.js.map +1 -1
  155. package/dist/esm/components/Icon/Icon.js +1 -2
  156. package/dist/esm/components/Icon/Icon.js.map +1 -1
  157. package/dist/esm/components/Icon/canonicalIconNames.js.map +1 -1
  158. package/dist/esm/components/MultiSelect/MultiSelect.js +36 -18
  159. package/dist/esm/components/MultiSelect/MultiSelect.js.map +1 -1
  160. package/dist/esm/components/MultiSuggestField/MultiSuggestField.js +6 -1
  161. package/dist/esm/components/MultiSuggestField/MultiSuggestField.js.map +1 -1
  162. package/dist/esm/components/Notification/Notification.js +2 -6
  163. package/dist/esm/components/Notification/Notification.js.map +1 -1
  164. package/dist/esm/components/Select/Select.js +0 -6
  165. package/dist/esm/components/Select/Select.js.map +1 -1
  166. package/dist/esm/components/Spinner/Spinner.js.map +1 -1
  167. package/dist/esm/components/SuggestField/SuggestField.js +1 -1
  168. package/dist/esm/components/SuggestField/SuggestField.js.map +1 -1
  169. package/dist/esm/components/Table/Table.js +0 -3
  170. package/dist/esm/components/Table/Table.js.map +1 -1
  171. package/dist/esm/components/Tag/Tag.js +1 -0
  172. package/dist/esm/components/Tag/Tag.js.map +1 -1
  173. package/dist/esm/components/TextField/TextArea.js +2 -20
  174. package/dist/esm/components/TextField/TextArea.js.map +1 -1
  175. package/dist/esm/components/TextField/TextField.js +6 -24
  176. package/dist/esm/components/TextField/TextField.js.map +1 -1
  177. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  178. package/dist/esm/components/Typography/Highlighter.js +3 -6
  179. package/dist/esm/components/Typography/Highlighter.js.map +1 -1
  180. package/dist/esm/components/Typography/index.js +0 -7
  181. package/dist/esm/components/Typography/index.js.map +1 -1
  182. package/dist/esm/components/Workspace/WorkspaceContent.js +1 -1
  183. package/dist/esm/components/Workspace/WorkspaceContent.js.map +1 -1
  184. package/dist/esm/components/index.js +0 -1
  185. package/dist/esm/components/index.js.map +1 -1
  186. package/dist/esm/extensions/codemirror/CodeMirror.js +133 -83
  187. package/dist/esm/extensions/codemirror/CodeMirror.js.map +1 -1
  188. package/dist/esm/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js +39 -0
  189. package/dist/esm/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.js.map +1 -0
  190. package/dist/esm/extensions/codemirror/tests/codemirrorTestHelper.js +55 -0
  191. package/dist/esm/extensions/codemirror/tests/codemirrorTestHelper.js.map +1 -0
  192. package/dist/esm/extensions/react-flow/edges/edgeTypes.js +1 -1
  193. package/dist/esm/extensions/react-flow/edges/edgeTypes.js.map +1 -1
  194. package/dist/esm/extensions/react-flow/index.js +2 -12
  195. package/dist/esm/extensions/react-flow/index.js.map +1 -1
  196. package/dist/esm/extensions/react-flow/minimap/utils.js +4 -7
  197. package/dist/esm/extensions/react-flow/minimap/utils.js.map +1 -1
  198. package/dist/esm/extensions/react-flow/nodes/NodeContent.js +2 -10
  199. package/dist/esm/extensions/react-flow/nodes/NodeContent.js.map +1 -1
  200. package/dist/esm/extensions/react-flow/nodes/NodeDefault.js.map +1 -1
  201. package/dist/esm/extensions/react-flow/nodes/nodeTypes.js +1 -1
  202. package/dist/esm/extensions/react-flow/nodes/nodeTypes.js.map +1 -1
  203. package/dist/esm/index.js +1 -3
  204. package/dist/esm/index.js.map +1 -1
  205. package/dist/esm/legacy-replacements/Button/AffirmativeButton.js +1 -0
  206. package/dist/esm/legacy-replacements/Button/AffirmativeButton.js.map +1 -1
  207. package/dist/esm/legacy-replacements/Button/Button.js +2 -0
  208. package/dist/esm/legacy-replacements/Button/Button.js.map +1 -1
  209. package/dist/esm/legacy-replacements/Button/DismissiveButton.js +1 -0
  210. package/dist/esm/legacy-replacements/Button/DismissiveButton.js.map +1 -1
  211. package/dist/esm/legacy-replacements/Button/DisruptiveButton.js +1 -0
  212. package/dist/esm/legacy-replacements/Button/DisruptiveButton.js.map +1 -1
  213. package/dist/esm/legacy-replacements/Checkbox/Checkbox.js +2 -0
  214. package/dist/esm/legacy-replacements/Checkbox/Checkbox.js.map +1 -1
  215. package/dist/esm/legacy-replacements/Radio/RadioButton.js +2 -0
  216. package/dist/esm/legacy-replacements/Radio/RadioButton.js.map +1 -1
  217. package/dist/esm/legacy-replacements/Tabs/Tabs.js +1 -0
  218. package/dist/esm/legacy-replacements/Tabs/Tabs.js.map +1 -1
  219. package/dist/esm/legacy-replacements/TextField/TextField.js +2 -0
  220. package/dist/esm/legacy-replacements/TextField/TextField.js.map +1 -1
  221. package/dist/types/cmem/ActivityControl/ActivityControlTypes.d.ts +3 -5
  222. package/dist/types/cmem/ActivityControl/ActivityControlWidget.d.ts +0 -2
  223. package/dist/types/cmem/ActivityControl/SilkActivityControl.d.ts +7 -11
  224. package/dist/types/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.d.ts +3 -3
  225. package/dist/types/cmem/DateTimeDisplay/ElapsedDateTimeDisplay.d.ts +1 -12
  226. package/dist/types/cmem/markdown/Markdown.d.ts +0 -1
  227. package/dist/types/cmem/markdown/highlightSearchWords.d.ts +0 -6
  228. package/dist/types/cmem/react-flow/nodes/StickyNoteNode.d.ts +2 -2
  229. package/dist/types/common/index.d.ts +0 -24
  230. package/dist/types/components/Accordion/Accordion.d.ts +1 -6
  231. package/dist/types/components/Accordion/AccordionItem.d.ts +1 -6
  232. package/dist/types/components/AutoSuggestion/AutoSuggestion.d.ts +27 -17
  233. package/dist/types/components/AutoSuggestion/AutoSuggestionList.d.ts +0 -1
  234. package/dist/types/components/AutoSuggestion/ExtendedCodeEditor.d.ts +10 -11
  235. package/dist/types/components/AutoSuggestion/extensions/markText.d.ts +16 -0
  236. package/dist/types/components/AutoSuggestion/index.d.ts +2 -2
  237. package/dist/types/components/AutocompleteField/AutoCompleteField.d.ts +11 -15
  238. package/dist/types/components/AutocompleteField/index.d.ts +1 -0
  239. package/dist/types/components/AutocompleteField/interfaces.d.ts +4 -2
  240. package/dist/types/components/Breadcrumb/BreadcrumbList.d.ts +1 -6
  241. package/dist/types/components/Button/Button.d.ts +0 -2
  242. package/dist/types/components/Card/CardHeader.d.ts +1 -9
  243. package/dist/types/components/Dialog/AlertDialog.d.ts +0 -1
  244. package/dist/types/components/Grid/Grid.d.ts +0 -5
  245. package/dist/types/components/Grid/GridColumn.d.ts +1 -6
  246. package/dist/types/components/Icon/BaseIcon.d.ts +2 -2
  247. package/dist/types/components/Icon/Icon.d.ts +0 -5
  248. package/dist/types/components/Icon/canonicalIconNames.d.ts +2 -7
  249. package/dist/types/components/MultiSelect/MultiSelect.d.ts +12 -8
  250. package/dist/types/components/MultiSuggestField/MultiSuggestField.d.ts +11 -2
  251. package/dist/types/components/Notification/Notification.d.ts +1 -14
  252. package/dist/types/components/Select/Select.d.ts +0 -3
  253. package/dist/types/components/Spinner/Spinner.d.ts +3 -3
  254. package/dist/types/components/SuggestField/SuggestField.d.ts +5 -0
  255. package/dist/types/components/SuggestField/index.d.ts +1 -1
  256. package/dist/types/components/Table/Table.d.ts +1 -4
  257. package/dist/types/components/Tag/Tag.d.ts +0 -5
  258. package/dist/types/components/TextField/TextArea.d.ts +1 -21
  259. package/dist/types/components/TextField/TextField.d.ts +3 -23
  260. package/dist/types/components/Tooltip/Tooltip.d.ts +2 -2
  261. package/dist/types/components/Typography/Highlighter.d.ts +3 -6
  262. package/dist/types/components/Typography/index.d.ts +0 -6
  263. package/dist/types/components/index.d.ts +0 -1
  264. package/dist/types/extensions/codemirror/CodeMirror.d.ts +54 -26
  265. package/dist/types/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.d.ts +23 -0
  266. package/dist/types/extensions/codemirror/tests/codemirrorTestHelper.d.ts +20 -0
  267. package/dist/types/extensions/react-flow/edges/edgeTypes.d.ts +1 -0
  268. package/dist/types/extensions/react-flow/index.d.ts +0 -14
  269. package/dist/types/extensions/react-flow/nodes/NodeContent.d.ts +6 -14
  270. package/dist/types/extensions/react-flow/nodes/NodeDefault.d.ts +0 -1
  271. package/dist/types/extensions/react-flow/nodes/nodeTypes.d.ts +1 -0
  272. package/dist/types/extensions/react-flow/nodes/sharedTypes.d.ts +0 -1
  273. package/dist/types/index.d.ts +1 -9
  274. package/dist/types/legacy-replacements/Button/AffirmativeButton.d.ts +1 -0
  275. package/dist/types/legacy-replacements/Button/Button.d.ts +1 -0
  276. package/dist/types/legacy-replacements/Button/DismissiveButton.d.ts +1 -0
  277. package/dist/types/legacy-replacements/Button/DisruptiveButton.d.ts +1 -0
  278. package/dist/types/legacy-replacements/Checkbox/Checkbox.d.ts +1 -0
  279. package/dist/types/legacy-replacements/Radio/RadioButton.d.ts +1 -0
  280. package/dist/types/legacy-replacements/Tabs/Tabs.d.ts +4 -2
  281. package/dist/types/legacy-replacements/TextField/TextField.d.ts +1 -0
  282. package/package.json +26 -23
  283. package/src/cmem/ActivityControl/ActivityControlTypes.ts +3 -7
  284. package/src/cmem/ActivityControl/ActivityControlWidget.tsx +0 -6
  285. package/src/cmem/ActivityControl/SilkActivityControl.tsx +8 -18
  286. package/src/cmem/ContentBlobToggler/StringPreviewContentBlobToggler.tsx +14 -11
  287. package/src/cmem/DateTimeDisplay/ElapsedDateTimeDisplay.tsx +11 -7
  288. package/src/cmem/DateTimeDisplay/tests/ElapsedDateTimeDisplay.test.tsx +9 -4
  289. package/src/cmem/markdown/Markdown.stories.tsx +6 -0
  290. package/src/cmem/markdown/Markdown.tsx +8 -6
  291. package/src/cmem/markdown/highlightSearchWords.test.ts +3 -2
  292. package/src/cmem/markdown/highlightSearchWords.ts +5 -10
  293. package/src/cmem/markdown/markdown.utils.ts +10 -10
  294. package/src/cmem/markdown/markdownutils.test.ts +9 -5
  295. package/src/cmem/react-flow/StickyNoteModal/StickyNoteModal.tsx +1 -1
  296. package/src/cmem/react-flow/nodes/StickyNoteNode.tsx +2 -2
  297. package/src/common/index.ts +0 -3
  298. package/src/components/Accordion/Accordion.tsx +0 -13
  299. package/src/components/Accordion/AccordionItem.tsx +0 -7
  300. package/src/components/Accordion/accordion.scss +0 -5
  301. package/src/components/Application/_config.scss +1 -1
  302. package/src/components/AutoSuggestion/AutoSuggestion.scss +39 -23
  303. package/src/components/AutoSuggestion/AutoSuggestion.tsx +190 -114
  304. package/src/components/AutoSuggestion/AutoSuggestionList.tsx +0 -3
  305. package/src/components/AutoSuggestion/ExtendedCodeEditor.tsx +47 -83
  306. package/src/components/AutoSuggestion/extensions/markText.ts +63 -0
  307. package/src/components/AutoSuggestion/index.ts +2 -2
  308. package/src/components/AutoSuggestion/tests/ExtendedCodeEditor.test.tsx +13 -11
  309. package/src/components/AutocompleteField/AutoCompleteField.tsx +17 -19
  310. package/src/components/AutocompleteField/index.ts +1 -0
  311. package/src/components/AutocompleteField/interfaces.ts +5 -2
  312. package/src/components/Breadcrumb/BreadcrumbList.tsx +0 -7
  313. package/src/components/Breadcrumb/breadcrumb.scss +8 -1
  314. package/src/components/Button/Button.tsx +0 -5
  315. package/src/components/Card/CardHeader.tsx +2 -10
  316. package/src/components/CodeAutocompleteField/CodeAutocompleteField.stories.tsx +9 -3
  317. package/src/components/CodeAutocompleteField/CodeAutocompleteField.tsx +2 -2
  318. package/src/components/Dialog/AlertDialog.tsx +0 -3
  319. package/src/components/Dialog/Modal.tsx +3 -3
  320. package/src/components/Grid/Grid.tsx +0 -5
  321. package/src/components/Grid/GridColumn.tsx +0 -6
  322. package/src/components/Icon/BaseIcon.tsx +2 -2
  323. package/src/components/Icon/Icon.tsx +1 -5
  324. package/src/components/Icon/canonicalIconNames.tsx +3 -9
  325. package/src/components/MultiSelect/MultiSelect.tsx +46 -19
  326. package/src/components/MultiSuggestField/MultiSuggestField.stories.tsx +24 -21
  327. package/src/components/MultiSuggestField/MultiSuggestField.tsx +16 -3
  328. package/src/components/MultiSuggestField/_multisuggestfield.scss +8 -0
  329. package/src/components/MultiSuggestField/tests/MultiSuggestField.test.tsx +109 -15
  330. package/src/components/Notification/Notification.tsx +2 -17
  331. package/src/components/Notification/notification.scss +1 -2
  332. package/src/components/Select/Select.tsx +0 -10
  333. package/src/components/Spinner/Spinner.tsx +3 -6
  334. package/src/components/SuggestField/SuggestField.tsx +6 -1
  335. package/src/components/Table/Table.tsx +2 -7
  336. package/src/components/Tag/Tag.tsx +1 -8
  337. package/src/components/TextField/TextArea.tsx +2 -45
  338. package/src/components/TextField/TextField.tsx +9 -51
  339. package/src/components/TextField/textfield.scss +1 -2
  340. package/src/components/Tooltip/Tooltip.tsx +2 -2
  341. package/src/components/Typography/Highlighter.tsx +3 -6
  342. package/src/components/Typography/index.ts +0 -9
  343. package/src/components/Typography/typography.scss +10 -0
  344. package/src/components/Workspace/WorkspaceContent.tsx +1 -1
  345. package/src/components/index.scss +1 -1
  346. package/src/components/index.ts +0 -1
  347. package/src/extensions/_index.scss +1 -6
  348. package/src/extensions/codemirror/CodeMirror.tsx +191 -105
  349. package/src/extensions/codemirror/_codemirror.scss +25 -42
  350. package/src/extensions/codemirror/hooks/useCodemirrorModeExtension.hooks.ts +44 -0
  351. package/src/extensions/codemirror/tests/codemirrorTestHelper.ts +57 -0
  352. package/src/extensions/react-flow/edges/edgeTypes.ts +1 -1
  353. package/src/extensions/react-flow/index.ts +2 -13
  354. package/src/extensions/react-flow/minimap/_minimap.scss +0 -22
  355. package/src/extensions/react-flow/minimap/utils.ts +2 -5
  356. package/src/extensions/react-flow/nodes/NodeContent.tsx +4 -27
  357. package/src/extensions/react-flow/nodes/NodeDefault.tsx +0 -3
  358. package/src/extensions/react-flow/nodes/_nodes.scss +0 -55
  359. package/src/extensions/react-flow/nodes/nodeTypes.ts +1 -1
  360. package/src/extensions/react-flow/nodes/sharedTypes.ts +0 -1
  361. package/src/index.scss +0 -1
  362. package/src/index.ts +1 -3
  363. package/src/legacy-replacements/Button/AffirmativeButton.tsx +1 -0
  364. package/src/legacy-replacements/Button/Button.tsx +2 -0
  365. package/src/legacy-replacements/Button/DismissiveButton.tsx +1 -0
  366. package/src/legacy-replacements/Button/DisruptiveButton.tsx +1 -0
  367. package/src/legacy-replacements/Checkbox/Checkbox.tsx +2 -0
  368. package/src/legacy-replacements/Radio/RadioButton.tsx +2 -0
  369. package/src/legacy-replacements/Tabs/Tabs.tsx +5 -4
  370. package/src/legacy-replacements/TextField/TextField.tsx +2 -0
  371. package/dist/cjs/components/NumericInput/NumericInput.js +0 -9
  372. package/dist/cjs/components/NumericInput/NumericInput.js.map +0 -1
  373. package/dist/esm/components/NumericInput/NumericInput.js +0 -6
  374. package/dist/esm/components/NumericInput/NumericInput.js.map +0 -1
  375. package/dist/types/components/NumericInput/NumericInput.d.ts +0 -3
  376. package/src/components/AutoSuggestion/AutoSuggestion.stories.tsx +0 -14
  377. package/src/components/MultiSelect/MultiSelect.stories.tsx +0 -14
  378. package/src/components/NumericInput/NumericInput.tsx +0 -6
@@ -23,11 +23,6 @@ export interface GridColumnProps extends Omit<CarbonGridColumnProps<"div">, "max
23
23
  * Overwrite column sizes by using the original size config of the Carbon grid column.
24
24
  */
25
25
  carbonSizeConfig?: Pick<CarbonGridColumnProps<"div">, "max" | "xlg" | "lg" | "md" | "sm">;
26
- /**
27
- * @deprecated
28
- * Grid column always uses full width if it is the only column and does not have any othe size config.
29
- */
30
- full?: boolean;
31
26
  }
32
27
 
33
28
  /**
@@ -39,7 +34,6 @@ export const GridColumn = ({
39
34
  className = "",
40
35
  small = false,
41
36
  medium = false,
42
- full,
43
37
  verticalAlign = "top",
44
38
  carbonSizeConfig,
45
39
  ...otherProps
@@ -34,7 +34,7 @@ export interface BaseIconProps extends Omit<CarbonIconProps, "icon" | "descripti
34
34
  className?: string;
35
35
  /**
36
36
  * Description for icon as accessibility fallback.
37
- * @deprecated Use `title` as replacement.
37
+ * @deprecated (v25) Use `title` as replacement.
38
38
  */
39
39
  description?: string;
40
40
  /**
@@ -42,7 +42,7 @@ export interface BaseIconProps extends Omit<CarbonIconProps, "icon" | "descripti
42
42
  */
43
43
  tooltipProps?: Partial<Omit<TooltipProps, "content" | "children">>;
44
44
  /**
45
- * @deprecated Use `title` as replacement.
45
+ * @deprecated (v25) Use `title` as replacement.
46
46
  */
47
47
  iconTitle?: CarbonIconProps["title"];
48
48
  }
@@ -25,12 +25,8 @@ const findExistingIcon = (
25
25
 
26
26
  /**
27
27
  * Returns the first icon name that exists or the fallback icon name.
28
- * @deprecated use `iconUtils.findExistingIconName`
29
28
  */
30
- export const findExistingIconName = (
31
- iconNames: string[],
32
- fallbackIconName: ValidIconName = "undefined"
33
- ): ValidIconName => {
29
+ const findExistingIconName = (iconNames: string[], fallbackIconName: ValidIconName = "undefined"): ValidIconName => {
34
30
  let foundIconName: string = fallbackIconName;
35
31
  const iconNameStack = [...iconNames];
36
32
  while (foundIconName === fallbackIconName && iconNameStack.length > 0) {
@@ -1,14 +1,6 @@
1
1
  import * as icons from "@carbon/react/icons";
2
2
  import { CarbonIconType as IconType } from "@carbon/react/icons";
3
3
 
4
- export type CarbonIconType = IconType;
5
-
6
- /**
7
- * @deprecated
8
- * use CarbonIconType instead
9
- */
10
- export type IconSized = CarbonIconType;
11
-
12
4
  const canonicalIcons = {
13
5
  "application-activities": icons.Activity,
14
6
  "application-dataintegration": icons.DataUnstructured,
@@ -180,6 +172,8 @@ const canonicalIcons = {
180
172
  undefined: icons.Undefined,
181
173
  };
182
174
 
183
- export type ValidIconName = keyof typeof canonicalIcons;
184
175
  const canonicalIconNames: Record<ValidIconName, CarbonIconType> = canonicalIcons;
176
+
177
+ export type CarbonIconType = IconType;
178
+ export type ValidIconName = keyof typeof canonicalIcons;
185
179
  export default canonicalIconNames;
@@ -12,15 +12,13 @@ import { TestableComponent } from "../interfaces";
12
12
 
13
13
  import { ContextOverlayProps, Highlighter, IconButton, MenuItem, OverflowText, Spinner } from "./../../index";
14
14
 
15
+ /** @deprecated (v25) use MultiSuggestFieldSelectionProps */
15
16
  export interface MultiSelectSelectionProps<T> {
16
17
  newlySelected?: T;
17
18
  selectedItems: T[];
18
19
  createdItems: Partial<T>[];
19
20
  }
20
21
 
21
- // @deprecated use `MultiSelectSelectionProps<T>`
22
- export type SelectedParamsType<T> = MultiSelectSelectionProps<T>;
23
-
24
22
  interface MultiSelectCommonProps<T>
25
23
  extends TestableComponent,
26
24
  Pick<BlueprintMultiSelectProps<T>, "items" | "placeholder" | "openOnKeyDown"> {
@@ -37,7 +35,6 @@ interface MultiSelectCommonProps<T>
37
35
  * this would be used in the item selection list as well as the multi-select input
38
36
  */
39
37
  itemLabel: (item: T) => string;
40
-
41
38
  /**
42
39
  * function handler that would be called anytime an item is selected/deselected or an item is created/removed
43
40
  */
@@ -122,8 +119,15 @@ interface MultiSelectCommonProps<T>
122
119
  * If not provided, values are filtered by their labels
123
120
  */
124
121
  searchPredicate?: (item: T, query: string) => boolean;
122
+ /**
123
+ * Limits the height of the input target plus its dropdown menu when it is opened.
124
+ * Need to be a `number not greater than 100` (as `vh`, a unit describing a length relative to the viewport height) or `true` (equals 100).
125
+ * If not set than the dropdown menu cannot be larger that appr. the half of the available viewport hight.
126
+ */
127
+ limitHeightOpened?: boolean | number;
125
128
  }
126
129
 
130
+ /** @deprecated (v25) use MultiSuggestFieldProps */
127
131
  export type MultiSelectProps<T> = MultiSelectCommonProps<T> &
128
132
  (
129
133
  | {
@@ -143,13 +147,10 @@ export type MultiSelectProps<T> = MultiSelectCommonProps<T> &
143
147
  );
144
148
 
145
149
  /**
146
- * **Element is deprecated for the current type of usage.**
147
- * Use `MultiSuggestField` as replacement.
148
- *
149
- * This component will be re-implemented later as a `Select` allowing multiple selections.
150
- * @deprecated
150
+ * This component will be re-implemented as `Select` like element allowing multiple selections (or a `Select` option).
151
+ * New name for this component is `MultiSuggestField`.
151
152
  */
152
- export function MultiSelect<T>({
153
+ function MultiSelect<T>({
153
154
  items,
154
155
  selectedItems: externalSelectedItems,
155
156
  prePopulateWithItems,
@@ -177,6 +178,7 @@ export function MultiSelect<T>({
177
178
  "data-testid": dataTestid,
178
179
  wrapperProps,
179
180
  searchPredicate,
181
+ limitHeightOpened,
180
182
  ...otherMultiSelectProps
181
183
  }: MultiSelectProps<T>) {
182
184
  // Options created by a user
@@ -189,6 +191,8 @@ export function MultiSelect<T>({
189
191
  const [selectedItems, setSelectedItems] = React.useState<T[]>(() =>
190
192
  prePopulateWithItems ? [...items] : externalSelectedItems ? [...externalSelectedItems] : []
191
193
  );
194
+ // Max height of the menu
195
+ const [calculatedMaxHeight, setCalculatedMaxHeight] = React.useState<string | null>(null);
192
196
 
193
197
  //currently focused element in popover list
194
198
  const [focusedItem, setFocusedItem] = React.useState<T | null>(null);
@@ -249,6 +253,29 @@ export function MultiSelect<T>({
249
253
  setSelectedItems(externalSelectedItems);
250
254
  }, [externalSelectedItems?.map((item) => itemId(item)).join("|")]);
251
255
 
256
+ React.useEffect(() => {
257
+ const calculateMaxHeight = () => {
258
+ if (inputRef.current) {
259
+ // Get the height of the input target
260
+ const inputTargetHeight = inputRef.current.getBoundingClientRect().height;
261
+ // Calculate the menu dropdown by using the limited height reduced by the target height
262
+ setCalculatedMaxHeight(`calc(${maxHeightToProcess}vh - ${inputTargetHeight}px)`);
263
+ }
264
+ };
265
+
266
+ const removeListener = () => {
267
+ window.removeEventListener("resize", calculateMaxHeight);
268
+ };
269
+
270
+ if (!limitHeightOpened || (typeof limitHeightOpened === "number" && limitHeightOpened > 100))
271
+ return removeListener;
272
+ const maxHeightToProcess = typeof limitHeightOpened === "number" ? limitHeightOpened : 100;
273
+
274
+ calculateMaxHeight();
275
+ window.addEventListener("resize", calculateMaxHeight);
276
+ return removeListener;
277
+ }, [limitHeightOpened, selectedItems]);
278
+
252
279
  /**
253
280
  * using the equality prop specified checks if an item has already been selected
254
281
  * @param matcher
@@ -439,7 +466,7 @@ export function MultiSelect<T>({
439
466
  <IconButton
440
467
  disabled={disabled}
441
468
  name="operation-clear"
442
- data-test-id="clear-all-items" // @deprecated should be created from the given testid plus `_clearance` suffix
469
+ data-test-id={dataTestId ? dataTestId + "_clearance" : "clear-all-items"} // @deprecated (v25) automatically set test id will be removed
443
470
  onClick={handleClear}
444
471
  />
445
472
  ) : undefined;
@@ -519,6 +546,11 @@ export function MultiSelect<T>({
519
546
  {
520
547
  "data-test-id": dataTestId ? dataTestId + "_drowpdown" : undefined,
521
548
  "data-testid": dataTestid ? dataTestid + "_dropdown" : undefined,
549
+ style: calculatedMaxHeight
550
+ ? ({
551
+ "--eccgui-multisuggestfield-max-height": `${calculatedMaxHeight}`,
552
+ } as React.CSSProperties)
553
+ : undefined,
522
554
  } as BlueprintMultiSelectProps<T>["popoverContentProps"]
523
555
  }
524
556
  />
@@ -537,15 +569,10 @@ export function MultiSelect<T>({
537
569
  );
538
570
  }
539
571
 
540
- /** @deprecated */
541
- /*
542
- function ofType<U>() {
543
- return (props: MultiSelectProps<U>) => <MultiSelect<U> {...props} />;
544
- }
545
- // */
546
-
547
572
  // we still return the Blueprint element here because it was already used like that
548
- // MultiSelect.ofType = ofType;
573
+ /**
574
+ * @deprecated (v25) use directly <MultiSelect<TYPE>> (`ofType` also returns the original BlueprintJS element, not ours!)
575
+ */
549
576
  MultiSelect.ofType = BlueprintMultiSelect.ofType;
550
577
 
551
578
  export default MultiSelect;
@@ -1,13 +1,14 @@
1
1
  import React, { useCallback, useMemo, useState } from "react";
2
2
  import { loremIpsum } from "react-lorem-ipsum";
3
+ import { OverlaysProvider } from "@blueprintjs/core";
3
4
  import { Meta, StoryFn } from "@storybook/react";
4
5
  import { fn } from "@storybook/test";
5
6
 
6
- import { MultiSelectSelectionProps, MultiSuggestField, SimpleDialog } from "./../../../index";
7
+ import { MultiSuggestField, MultiSuggestFieldSelectionProps, SimpleDialog } from "./../../../index";
7
8
 
8
9
  const testLabels = loremIpsum({
9
10
  p: 1,
10
- avgSentencesPerParagraph: 5,
11
+ avgSentencesPerParagraph: 50,
11
12
  avgWordsPerSentence: 1,
12
13
  startWithLoremIpsum: false,
13
14
  random: false,
@@ -16,8 +17,8 @@ const testLabels = loremIpsum({
16
17
  .split(".")
17
18
  .map((item) => item.trim());
18
19
 
19
- const items = new Array(5).fill(undefined).map((_, id) => {
20
- const testLabel = testLabels[id];
20
+ const items = new Array(50).fill(undefined).map((_, id) => {
21
+ const testLabel = `${testLabels[id]}${id + 1}`;
21
22
  return { testLabel, testId: `${testLabel}-id` };
22
23
  });
23
24
 
@@ -36,9 +37,9 @@ export default {
36
37
 
37
38
  const Template: StoryFn<typeof MultiSuggestField> = (args) => {
38
39
  return (
39
- <div>
40
+ <OverlaysProvider>
40
41
  <MultiSuggestField {...args} />
41
- </div>
42
+ </OverlaysProvider>
42
43
  );
43
44
  };
44
45
 
@@ -91,7 +92,7 @@ const DeferredSelectionTemplate: StoryFn = () => {
91
92
  const identity = useCallback((item: string): string => item, []);
92
93
 
93
94
  return (
94
- <>
95
+ <OverlaysProvider>
95
96
  <div>Selected items loaded: {loaded.toString()}</div>
96
97
 
97
98
  <br />
@@ -107,7 +108,7 @@ const DeferredSelectionTemplate: StoryFn = () => {
107
108
  <br />
108
109
 
109
110
  <button onClick={() => setLoaded((prev) => !prev)}>Toggle selected</button>
110
- </>
111
+ </OverlaysProvider>
111
112
  );
112
113
  };
113
114
 
@@ -135,21 +136,23 @@ const CreationTemplate: StoryFn = () => {
135
136
 
136
137
  const identity = useCallback((item: string): string => item, []);
137
138
 
138
- const handleOnSelect = useCallback((params: MultiSelectSelectionProps<string>) => {
139
+ const handleOnSelect = useCallback((params: MultiSuggestFieldSelectionProps<string>) => {
139
140
  const selected = params.selectedItems;
140
141
 
141
142
  setSelectedValues(selected);
142
143
  }, []);
143
144
 
144
145
  return (
145
- <MultiSuggestField<string>
146
- items={items}
147
- selectedItems={selectedValues}
148
- onSelection={handleOnSelect}
149
- itemId={identity}
150
- itemLabel={identity}
151
- createNewItemFromQuery={identity}
152
- />
146
+ <OverlaysProvider>
147
+ <MultiSuggestField<string>
148
+ items={items}
149
+ selectedItems={selectedValues}
150
+ onSelection={handleOnSelect}
151
+ itemId={identity}
152
+ itemLabel={identity}
153
+ createNewItemFromQuery={identity}
154
+ />
155
+ </OverlaysProvider>
153
156
  );
154
157
  };
155
158
 
@@ -173,7 +176,7 @@ const WithResetButtonComponent = (): JSX.Element => {
173
176
  };
174
177
 
175
178
  return (
176
- <div>
179
+ <OverlaysProvider>
177
180
  <button onClick={handleReset}>Reset</button>
178
181
  <br />
179
182
  <br />
@@ -185,7 +188,7 @@ const WithResetButtonComponent = (): JSX.Element => {
185
188
  itemLabel={({ testLabel }) => testLabel}
186
189
  createNewItemFromQuery={(query) => ({ testId: `${query}-id`, testLabel: query })}
187
190
  />
188
- </div>
191
+ </OverlaysProvider>
189
192
  );
190
193
  };
191
194
 
@@ -215,7 +218,7 @@ const WithinModal = (): JSX.Element => {
215
218
  };
216
219
 
217
220
  return (
218
- <>
221
+ <OverlaysProvider>
219
222
  <button onClick={() => setIsOpen(true)}>open modal</button>
220
223
 
221
224
  <SimpleDialog isOpen={isOpen} onClose={() => setIsOpen(false)} canOutsideClickClose>
@@ -233,7 +236,7 @@ const WithinModal = (): JSX.Element => {
233
236
  />
234
237
  </div>
235
238
  </SimpleDialog>
236
- </>
239
+ </OverlaysProvider>
237
240
  );
238
241
  };
239
242
 
@@ -1,9 +1,16 @@
1
1
  import React from "react";
2
2
 
3
3
  import { CLASSPREFIX as eccgui } from "../../configuration/constants";
4
- import { MultiSelect, MultiSelectProps } from "../MultiSelect/MultiSelect";
4
+ import MultiSelect, { MultiSelectProps, MultiSelectSelectionProps } from "../MultiSelect/MultiSelect";
5
5
 
6
- export type MultiSuggestFieldProps<T> = MultiSelectProps<T>;
6
+ export type MultiSuggestFieldSelectionProps<T> = MultiSelectSelectionProps<T>;
7
+
8
+ export interface MultiSuggestFieldProps<T> extends Omit<MultiSelectProps<T>, "onSelection"> {
9
+ /**
10
+ * function handler that would be called anytime an item is selected/deselected or an item is created/removed
11
+ */
12
+ onSelection?: (params: MultiSuggestFieldSelectionProps<T>) => void;
13
+ }
7
14
 
8
15
  /**
9
16
  * Element behaves very similar to `SuggestField` but allows multiple selections.
@@ -16,7 +23,13 @@ export function MultiSuggestField<T>({ className, ...otherProps }: MultiSuggestF
16
23
  return (
17
24
  <MultiSelect<T>
18
25
  className={`${eccgui}-multisuggestfield` + (className ? ` ${className}` : "")}
19
- {...otherProps}
26
+ {...(otherProps as MultiSelectProps<T>)}
20
27
  />
21
28
  );
22
29
  }
30
+
31
+ // we still return the Blueprint element here because it was already used like that
32
+ /**
33
+ * @deprecated (v25) use directly <MultiSelect<TYPE>> (`ofType` also returns the original BlueprintJS element, not ours!)
34
+ */
35
+ MultiSuggestField.ofType = MultiSelect.ofType;
@@ -0,0 +1,8 @@
1
+ @import "~@blueprintjs/select/src/components/multi-select/multi-select";
2
+
3
+ .#{$ns}-multi-select-popover {
4
+ .#{$ns}-menu {
5
+ max-width: unset;
6
+ max-height: var(--eccgui-multisuggestfield-max-height, 45vh);
7
+ }
8
+ }
@@ -3,13 +3,13 @@ import { fireEvent, render, screen, waitFor } from "@testing-library/react";
3
3
 
4
4
  import "@testing-library/jest-dom";
5
5
 
6
- import { MultiSuggestField } from "../MultiSuggestField";
6
+ import { MultiSuggestField } from "../../../../index";
7
7
  import { CustomSearch, Default, dropdownOnFocus, predefinedNotControlledValues } from "../MultiSuggestField.stories";
8
8
 
9
- const testLabels = ["label1", "label2", "label3", "label4", "label5"];
9
+ //const testLabels = ["label1", "label2", "label3", "label4", "label5"];
10
10
 
11
- const items = new Array(5).fill(undefined).map((_, id) => {
12
- const testLabel = testLabels[id];
11
+ const items = new Array(50).fill(undefined).map((_, id) => {
12
+ const testLabel = `label${id + 1}`;
13
13
  return { testLabel, testId: `${testLabel}-id` };
14
14
  });
15
15
 
@@ -81,7 +81,7 @@ describe("MultiSuggestField", () => {
81
81
 
82
82
  expect(container.querySelectorAll("[data-tag-index]").length).toBe(selectedLength);
83
83
 
84
- const clearButton = container.querySelector('[data-test-id="clear-all-items"');
84
+ const clearButton = container.querySelector('[data-test-id="multi-suggest-field_clearance"');
85
85
 
86
86
  expect(clearButton).toBeInTheDocument();
87
87
 
@@ -108,7 +108,7 @@ describe("MultiSuggestField", () => {
108
108
  expect(menuItems.length).toBe(dropdownOnFocus.args.items.length);
109
109
  });
110
110
 
111
- fireEvent.change(input, { target: { value: "ex" } });
111
+ fireEvent.change(input, { target: { value: "cras" } });
112
112
 
113
113
  await waitFor(() => {
114
114
  const listbox = screen.getByRole("listbox");
@@ -165,7 +165,7 @@ describe("MultiSuggestField", () => {
165
165
 
166
166
  const { rerender, container } = render(<MultiSuggestField {...args} data-test-id="multi-suggest-field" />);
167
167
 
168
- const clearButtonBefore = container.querySelector("[data-test-id='clear-all-items'");
168
+ const clearButtonBefore = container.querySelector("[data-test-id='multi-suggest-field_clearance'");
169
169
 
170
170
  expect(clearButtonBefore).not.toBeInTheDocument();
171
171
 
@@ -186,7 +186,7 @@ describe("MultiSuggestField", () => {
186
186
  });
187
187
 
188
188
  await waitFor(() => {
189
- const clearButtonAfter = container.querySelector("[data-test-id='clear-all-items'");
189
+ const clearButtonAfter = container.querySelector("[data-test-id='multi-suggest-field_clearance'");
190
190
 
191
191
  expect(clearButtonAfter).toBeInTheDocument();
192
192
 
@@ -277,7 +277,7 @@ describe("MultiSuggestField", () => {
277
277
  expect(menuItems.length).toBe(CustomSearch.args.items.length);
278
278
  });
279
279
 
280
- fireEvent.change(input, { target: { value: "label1" } });
280
+ fireEvent.change(input, { target: { value: "label11" } });
281
281
 
282
282
  await waitFor(() => {
283
283
  const listbox = screen.getByRole("listbox");
@@ -289,10 +289,10 @@ describe("MultiSuggestField", () => {
289
289
  const item = menuItems[0];
290
290
 
291
291
  const [div] = item.getElementsByTagName("div");
292
- expect(div.textContent).toBe("label1");
292
+ expect(div.textContent).toBe("label11");
293
293
  });
294
294
 
295
- fireEvent.change(input, { target: { value: "label1-id" } });
295
+ fireEvent.change(input, { target: { value: "label11-id" } });
296
296
 
297
297
  await waitFor(() => {
298
298
  const listbox = screen.getByRole("listbox");
@@ -304,10 +304,10 @@ describe("MultiSuggestField", () => {
304
304
  const item = menuItems[0];
305
305
 
306
306
  const [div] = item.getElementsByTagName("div");
307
- expect(div.textContent).toBe("label1");
307
+ expect(div.textContent).toBe("label11");
308
308
  });
309
309
 
310
- fireEvent.change(input, { target: { value: "label1-id-other" } });
310
+ fireEvent.change(input, { target: { value: "label11-id-other" } });
311
311
 
312
312
  await waitFor(() => {
313
313
  const listbox = screen.getByRole("listbox");
@@ -399,7 +399,7 @@ describe("MultiSuggestField", () => {
399
399
  const [inputContainer] = container.getElementsByClassName("eccgui-multiselect");
400
400
  const [input] = inputContainer.getElementsByTagName("input");
401
401
 
402
- const clearButtonBefore = container.querySelector("[data-test-id='clear-all-items'");
402
+ const clearButtonBefore = container.querySelector("[data-test-id='multi-suggest-field_clearance'");
403
403
 
404
404
  expect(clearButtonBefore).not.toBeInTheDocument();
405
405
 
@@ -451,7 +451,7 @@ describe("MultiSuggestField", () => {
451
451
  });
452
452
 
453
453
  await waitFor(() => {
454
- const clearButtonAfter = container.querySelector("[data-test-id='clear-all-items'");
454
+ const clearButtonAfter = container.querySelector("[data-test-id='multi-suggest-field_clearance'");
455
455
 
456
456
  expect(clearButtonAfter).toBeInTheDocument();
457
457
 
@@ -549,5 +549,99 @@ describe("MultiSuggestField", () => {
549
549
  const tagsAfterRemove = container.querySelectorAll("span[data-tag-index]");
550
550
  expect(tagsAfterRemove.length).toBe(0);
551
551
  });
552
+
553
+ it("should not contain the custom css property when limitHeightOpened not provided", async () => {
554
+ const { container } = render(
555
+ <MultiSuggestField {...Default.args} openOnKeyDown={false} data-testid="multi-suggest-field" />
556
+ );
557
+
558
+ const [inputTargetContainer] = container.getElementsByClassName("eccgui-multiselect");
559
+
560
+ fireEvent.click(inputTargetContainer);
561
+
562
+ await waitFor(() => {
563
+ const dropdown = screen.getByTestId("multi-suggest-field_dropdown");
564
+ const customProperty = (dropdown as HTMLElement)?.style?.getPropertyValue(
565
+ "--eccgui-multisuggestfield-max-height"
566
+ );
567
+
568
+ expect(customProperty).toBeFalsy();
569
+ });
570
+ });
571
+
572
+ it("should notcontain the custom css property when limitHeightOpened greater than 100", async () => {
573
+ const { container } = render(
574
+ <MultiSuggestField
575
+ {...Default.args}
576
+ openOnKeyDown={false}
577
+ limitHeightOpened={110}
578
+ data-testid="multi-suggest-field"
579
+ />
580
+ );
581
+
582
+ const [inputTargetContainer] = container.getElementsByClassName("eccgui-multiselect");
583
+
584
+ fireEvent.click(inputTargetContainer);
585
+
586
+ await waitFor(() => {
587
+ const dropdown = screen.getByTestId("multi-suggest-field_dropdown");
588
+
589
+ const customProperty = (dropdown as HTMLElement)?.style?.getPropertyValue(
590
+ "--eccgui-multisuggestfield-max-height"
591
+ );
592
+
593
+ expect(customProperty).toBeFalsy();
594
+ });
595
+ });
596
+
597
+ it("should contain the custom css property when limitHeightOpened is true", async () => {
598
+ const { container } = render(
599
+ <MultiSuggestField
600
+ {...Default.args}
601
+ openOnKeyDown={false}
602
+ limitHeightOpened
603
+ data-testid="multi-suggest-field"
604
+ />
605
+ );
606
+
607
+ const [inputTargetContainer] = container.getElementsByClassName("eccgui-multiselect");
608
+
609
+ fireEvent.click(inputTargetContainer);
610
+
611
+ await waitFor(() => {
612
+ const dropdown = screen.getByTestId("multi-suggest-field_dropdown");
613
+
614
+ const customProperty = (dropdown as HTMLElement)?.style?.getPropertyValue(
615
+ "--eccgui-multisuggestfield-max-height"
616
+ );
617
+
618
+ expect(customProperty).toBeDefined();
619
+ });
620
+ });
621
+
622
+ it("should contain the custom css property when limitHeightOpened a valid number value", async () => {
623
+ const { container } = render(
624
+ <MultiSuggestField
625
+ {...Default.args}
626
+ openOnKeyDown={false}
627
+ limitHeightOpened={80}
628
+ data-testid="multi-suggest-field"
629
+ />
630
+ );
631
+
632
+ const [inputTargetContainer] = container.getElementsByClassName("eccgui-multiselect");
633
+
634
+ fireEvent.click(inputTargetContainer);
635
+
636
+ await waitFor(() => {
637
+ const dropdown = screen.getByTestId("multi-suggest-field_dropdown");
638
+
639
+ const customProperty = (dropdown as HTMLElement)?.style?.getPropertyValue(
640
+ "--eccgui-multisuggestfield-max-height"
641
+ );
642
+
643
+ expect(customProperty).toBeDefined();
644
+ });
645
+ });
552
646
  });
553
647
  });
@@ -44,13 +44,6 @@ export interface NotificationProps
44
44
  * This defines the colorization and the icon symbol.
45
45
  */
46
46
  danger?: boolean;
47
- /**
48
- * @deprecated
49
- * Notification uses the the given space more flexible.
50
- * Deprecation notice: Property name will removed in future versions.
51
- * Please use `flexWidth`.
52
- */
53
- fullWidth?: boolean;
54
47
  /**
55
48
  * Notification uses the the given space more flexible.
56
49
  * Default notification is displayed in min and max limits.
@@ -62,11 +55,6 @@ export interface NotificationProps
62
55
  * Set it to false if you need to prevent automatically set icon regarding the notification type.
63
56
  */
64
57
  icon?: false | React.ReactElement<IconProps> | React.ReactElement<TestIconProps>;
65
- /**
66
- * @deprecated
67
- * Icon used as depiction that is displayed with the notification.
68
- */
69
- iconName?: ValidIconName | null;
70
58
  /**
71
59
  * If set then a `div` element is used as wrapper.
72
60
  * It uses the attributes given via this property.
@@ -87,9 +75,7 @@ export const Notification = ({
87
75
  warning = false,
88
76
  danger = false,
89
77
  neutral = false,
90
- fullWidth = false, // deprecated
91
78
  flexWidth = false,
92
- iconName = "state-info", // deprecated
93
79
  icon,
94
80
  timeout,
95
81
  wrapperProps,
@@ -98,7 +84,7 @@ export const Notification = ({
98
84
  ...otherProps
99
85
  }: NotificationProps) => {
100
86
  let intentLevel: string = IntentClassNames.INFO;
101
- let iconSymbol = iconName;
87
+ let iconSymbol = "state-info";
102
88
  switch (true) {
103
89
  case success:
104
90
  intentLevel = IntentClassNames.SUCCESS;
@@ -119,7 +105,7 @@ export const Notification = ({
119
105
 
120
106
  let notificationIcon = icon !== false ? icon : undefined;
121
107
  if (icon !== false && !notificationIcon && !!iconSymbol) {
122
- notificationIcon = <Icon name={iconSymbol} />;
108
+ notificationIcon = <Icon name={iconSymbol as ValidIconName} />;
123
109
  }
124
110
 
125
111
  const content = actions ? (
@@ -139,7 +125,6 @@ export const Notification = ({
139
125
  `${eccgui}-notification ` +
140
126
  intentLevel +
141
127
  (className ? ` ${className}` : "") +
142
- (fullWidth ? ` ${eccgui}-notification--fullwidth` : "") + // deprecated
143
128
  (flexWidth ? ` ${eccgui}-notification--flexwidth` : "") +
144
129
  (otherProps.onDismiss ? "" : ` ${eccgui}-notification--static`)
145
130
  }
@@ -60,8 +60,7 @@
60
60
  }
61
61
  }
62
62
 
63
- .#{$eccgui}-notification--flexwidth,
64
- .#{$eccgui}-notification--fullwidth {
63
+ .#{$eccgui}-notification--flexwidth {
65
64
  min-width: 0;
66
65
  max-width: none;
67
66
  }