@hazelcast/ui 3.0.1-canary.0 → 3.0.1-canary.2

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 (528) hide show
  1. package/lib/components/Alert.js +50 -116
  2. package/lib/components/Alert.js.map +1 -1
  3. package/lib/components/Alert.module.scss +141 -0
  4. package/lib/components/AppHeader/AppHeader.js +17 -39
  5. package/lib/components/AppHeader/AppHeader.js.map +1 -1
  6. package/lib/components/AppHeader/AppHeader.module.scss +29 -0
  7. package/lib/components/AppHeader/AppHeaderLogo/AppHeaderLogo.js +7 -24
  8. package/lib/components/AppHeader/AppHeaderLogo/AppHeaderLogo.js.map +1 -1
  9. package/lib/components/AppHeader/AppHeaderLogo/AppHeaderLogo.module.scss +29 -0
  10. package/lib/components/AppHeader/AppHeaderLogo/index.js +2 -8
  11. package/lib/components/AppHeader/AppHeaderLogo/index.js.map +1 -1
  12. package/lib/components/AppHeader/AppHeaderMenu/AppHeaderMenu.js +14 -46
  13. package/lib/components/AppHeader/AppHeaderMenu/AppHeaderMenu.js.map +1 -1
  14. package/lib/components/AppHeader/AppHeaderMenu/AppHeaderMenu.module.scss +20 -0
  15. package/lib/components/AppHeader/AppHeaderMenu/index.js +2 -8
  16. package/lib/components/AppHeader/AppHeaderMenu/index.js.map +1 -1
  17. package/lib/components/AppHeader/EnvironmentBadge/EnvironmentBadge.js +9 -19
  18. package/lib/components/AppHeader/EnvironmentBadge/EnvironmentBadge.js.map +1 -1
  19. package/lib/components/AppHeader/EnvironmentBadge/EnvironmentBadge.module.scss +13 -0
  20. package/lib/components/AppHeader/EnvironmentBadge/index.js +2 -8
  21. package/lib/components/AppHeader/EnvironmentBadge/index.js.map +1 -1
  22. package/lib/components/AppHeader/SelectCluster/SelectCluster.js +32 -72
  23. package/lib/components/AppHeader/SelectCluster/SelectCluster.js.map +1 -1
  24. package/lib/components/AppHeader/SelectCluster/SelectCluster.module.scss +101 -0
  25. package/lib/components/AppHeader/SelectCluster/index.js +2 -8
  26. package/lib/components/AppHeader/SelectCluster/index.js.map +1 -1
  27. package/lib/components/AppHeader/index.js +2 -8
  28. package/lib/components/AppHeader/index.js.map +1 -1
  29. package/lib/components/AppSidebar/AppSidebar.js +30 -56
  30. package/lib/components/AppSidebar/AppSidebar.js.map +1 -1
  31. package/lib/components/AppSidebar/AppSidebar.module.scss +66 -0
  32. package/lib/components/AppSidebar/AppSidebarFavoriteButton/AppSidebarFavoriteButton.js +21 -37
  33. package/lib/components/AppSidebar/AppSidebarFavoriteButton/AppSidebarFavoriteButton.js.map +1 -1
  34. package/lib/components/AppSidebar/AppSidebarFavoriteButton/AppSidebarFavoriteButton.module.scss +16 -0
  35. package/lib/components/AppSidebar/AppSidebarFavoriteButton/index.js +2 -8
  36. package/lib/components/AppSidebar/AppSidebarFavoriteButton/index.js.map +1 -1
  37. package/lib/components/AppSidebar/AppSidebarFavorites/AppSidebarFavorites.js +10 -31
  38. package/lib/components/AppSidebar/AppSidebarFavorites/AppSidebarFavorites.js.map +1 -1
  39. package/lib/components/AppSidebar/AppSidebarFavorites/AppSidebarFavorites.module.scss +13 -0
  40. package/lib/components/AppSidebar/AppSidebarFavorites/index.js +2 -8
  41. package/lib/components/AppSidebar/AppSidebarFavorites/index.js.map +1 -1
  42. package/lib/components/AppSidebar/AppSidebarItem/AppSidebarItem.js +22 -77
  43. package/lib/components/AppSidebar/AppSidebarItem/AppSidebarItem.js.map +1 -1
  44. package/lib/components/AppSidebar/AppSidebarItem/AppSidebarItem.module.scss +92 -0
  45. package/lib/components/AppSidebar/AppSidebarItem/index.js +2 -8
  46. package/lib/components/AppSidebar/AppSidebarItem/index.js.map +1 -1
  47. package/lib/components/AppSidebar/AppSidebarMenuItemCounter/AppSidebarMenuItemCounter.js +6 -17
  48. package/lib/components/AppSidebar/AppSidebarMenuItemCounter/AppSidebarMenuItemCounter.js.map +1 -1
  49. package/lib/components/AppSidebar/AppSidebarMenuItemCounter/AppSidebarMenuItemCounter.module.scss +24 -0
  50. package/lib/components/AppSidebar/AppSidebarMenuItemCounter/index.js +2 -8
  51. package/lib/components/AppSidebar/AppSidebarMenuItemCounter/index.js.map +1 -1
  52. package/lib/components/AppSidebar/AppSidebarSection/AppSidebarSection.js +14 -39
  53. package/lib/components/AppSidebar/AppSidebarSection/AppSidebarSection.js.map +1 -1
  54. package/lib/components/AppSidebar/AppSidebarSection/AppSidebarSection.module.scss +58 -0
  55. package/lib/components/AppSidebar/AppSidebarSection/AppSidebarSectionExpandable.js +53 -94
  56. package/lib/components/AppSidebar/AppSidebarSection/AppSidebarSectionExpandable.js.map +1 -1
  57. package/lib/components/AppSidebar/AppSidebarSection/appSidebarSectionContext.js +3 -8
  58. package/lib/components/AppSidebar/AppSidebarSection/appSidebarSectionContext.js.map +1 -1
  59. package/lib/components/AppSidebar/AppSidebarSection/index.js +2 -8
  60. package/lib/components/AppSidebar/AppSidebarSection/index.js.map +1 -1
  61. package/lib/components/AppSidebar/appSidebarContext.js +9 -14
  62. package/lib/components/AppSidebar/appSidebarContext.js.map +1 -1
  63. package/lib/components/AppSidebar/index.js +6 -16
  64. package/lib/components/AppSidebar/index.js.map +1 -1
  65. package/lib/components/AutocompleteField.js +154 -229
  66. package/lib/components/AutocompleteField.js.map +1 -1
  67. package/lib/components/AutocompleteField.module.scss +164 -0
  68. package/lib/components/AutocompleteFieldFormik.js +18 -41
  69. package/lib/components/AutocompleteFieldFormik.js.map +1 -1
  70. package/lib/components/Badge.js +42 -66
  71. package/lib/components/Badge.js.map +1 -1
  72. package/lib/components/Badge.module.scss +55 -0
  73. package/lib/components/Button.js +42 -115
  74. package/lib/components/Button.js.map +1 -1
  75. package/lib/components/Button.module.scss +329 -0
  76. package/lib/components/Calendar/Calendar.js +23 -77
  77. package/lib/components/Calendar/Calendar.js.map +1 -1
  78. package/lib/components/Calendar/Calendar.module.scss +185 -0
  79. package/lib/components/Calendar/CalendarRange.js +12 -60
  80. package/lib/components/Calendar/CalendarRange.js.map +1 -1
  81. package/lib/components/Calendar/CalendarRange.module.scss +21 -0
  82. package/lib/components/Calendar/components/CalendarHeader.js +12 -35
  83. package/lib/components/Calendar/components/CalendarHeader.js.map +1 -1
  84. package/lib/components/Calendar/components/CalendarInput.js +9 -39
  85. package/lib/components/Calendar/components/CalendarInput.js.map +1 -1
  86. package/lib/components/Calendar/components/CalendarTime.js +66 -104
  87. package/lib/components/Calendar/components/CalendarTime.js.map +1 -1
  88. package/lib/components/Calendar/components/CalendarTime.module.scss +72 -0
  89. package/lib/components/Calendar/helpers/consts.js +100 -8
  90. package/lib/components/Calendar/helpers/consts.js.map +1 -1
  91. package/lib/components/Card.js +14 -60
  92. package/lib/components/Card.js.map +1 -1
  93. package/lib/components/Card.module.scss +92 -0
  94. package/lib/components/Carousel.js +27 -60
  95. package/lib/components/Carousel.js.map +1 -1
  96. package/lib/components/Carousel.module.scss +43 -0
  97. package/lib/components/CenteredLoader.js +6 -18
  98. package/lib/components/CenteredLoader.js.map +1 -1
  99. package/lib/components/CenteredLoader.module.scss +11 -0
  100. package/lib/components/Checkbox.js +26 -87
  101. package/lib/components/Checkbox.js.map +1 -1
  102. package/lib/components/Checkbox.module.scss +106 -0
  103. package/lib/components/CheckboxFormik.js +16 -37
  104. package/lib/components/CheckboxFormik.js.map +1 -1
  105. package/lib/components/CircularProgressBar.js +27 -78
  106. package/lib/components/CircularProgressBar.js.map +1 -1
  107. package/lib/components/CircularProgressBar.module.scss +37 -0
  108. package/lib/components/ContextMenu.js +60 -86
  109. package/lib/components/ContextMenu.js.map +1 -1
  110. package/lib/components/ContextMenu.module.scss +37 -0
  111. package/lib/components/Dialog.js +30 -50
  112. package/lib/components/Dialog.js.map +1 -1
  113. package/lib/components/Dialog.module.scss +62 -0
  114. package/lib/components/EmptyState.js +20 -66
  115. package/lib/components/EmptyState.js.map +1 -1
  116. package/lib/components/EmptyState.module.scss +87 -0
  117. package/lib/components/Error.js +7 -28
  118. package/lib/components/Error.js.map +1 -1
  119. package/lib/components/Error.module.scss +12 -0
  120. package/lib/components/FieldHeader.js +14 -43
  121. package/lib/components/FieldHeader.js.map +1 -1
  122. package/lib/components/FieldHeader.module.scss +20 -0
  123. package/lib/components/Help.js +13 -42
  124. package/lib/components/Help.js.map +1 -1
  125. package/lib/components/Help.module.scss +9 -0
  126. package/lib/components/Icon.js +25 -48
  127. package/lib/components/Icon.js.map +1 -1
  128. package/lib/components/Icon.module.scss +33 -0
  129. package/lib/components/IconButton.js +23 -81
  130. package/lib/components/IconButton.js.map +1 -1
  131. package/lib/components/IconButton.module.scss +59 -0
  132. package/lib/components/InteractiveList.js +41 -115
  133. package/lib/components/InteractiveList.js.map +1 -1
  134. package/lib/components/InteractiveList.module.scss +72 -0
  135. package/lib/components/InteractiveListFormik.js +81 -110
  136. package/lib/components/InteractiveListFormik.js.map +1 -1
  137. package/lib/components/Label.js +5 -20
  138. package/lib/components/Label.js.map +1 -1
  139. package/lib/components/Label.module.scss +12 -0
  140. package/lib/components/Link.js +31 -59
  141. package/lib/components/Link.js.map +1 -1
  142. package/lib/components/Link.module.scss +64 -0
  143. package/lib/components/Loader.js +23 -82
  144. package/lib/components/Loader.js.map +1 -1
  145. package/lib/components/Loader.module.scss +74 -0
  146. package/lib/components/Modal.js +26 -93
  147. package/lib/components/Modal.js.map +1 -1
  148. package/lib/components/Modal.module.scss +109 -0
  149. package/lib/components/Notification.js +37 -75
  150. package/lib/components/Notification.js.map +1 -1
  151. package/lib/components/Notification.module.scss +97 -0
  152. package/lib/components/NumberBadge.js +7 -18
  153. package/lib/components/NumberBadge.js.map +1 -1
  154. package/lib/components/NumberBadge.module.scss +13 -0
  155. package/lib/components/NumberField.js +140 -181
  156. package/lib/components/NumberField.js.map +1 -1
  157. package/lib/components/NumberField.module.scss +76 -0
  158. package/lib/components/NumberFieldFormik.js +49 -69
  159. package/lib/components/NumberFieldFormik.js.map +1 -1
  160. package/lib/components/Overlay.js +29 -92
  161. package/lib/components/Overlay.js.map +1 -1
  162. package/lib/components/Overlay.module.scss +108 -0
  163. package/lib/components/Pagination.js +91 -198
  164. package/lib/components/Pagination.js.map +1 -1
  165. package/lib/components/Pagination.module.scss +117 -0
  166. package/lib/components/PasswordField.js +25 -61
  167. package/lib/components/PasswordField.js.map +1 -1
  168. package/lib/components/PasswordField.module.scss +26 -0
  169. package/lib/components/PasswordFieldFormik.js +16 -37
  170. package/lib/components/PasswordFieldFormik.js.map +1 -1
  171. package/lib/components/Popover.js +67 -85
  172. package/lib/components/Popover.js.map +1 -1
  173. package/lib/components/Popover.module.scss +12 -0
  174. package/lib/components/Radio.js +26 -67
  175. package/lib/components/Radio.js.map +1 -1
  176. package/lib/components/Radio.module.scss +112 -0
  177. package/lib/components/RadioFormik.js +11 -26
  178. package/lib/components/RadioFormik.js.map +1 -1
  179. package/lib/components/RadioGroup.js +18 -51
  180. package/lib/components/RadioGroup.js.map +1 -1
  181. package/lib/components/RadioGroup.module.scss +21 -0
  182. package/lib/components/RadioGroupContext.js +3 -10
  183. package/lib/components/RadioGroupContext.js.map +1 -1
  184. package/lib/components/RadioGroupFormik.js +16 -34
  185. package/lib/components/RadioGroupFormik.js.map +1 -1
  186. package/lib/components/SegmentedControl.js +9 -43
  187. package/lib/components/SegmentedControl.js.map +1 -1
  188. package/lib/components/SegmentedControl.module.scss +81 -0
  189. package/lib/components/SegmentedControlFormik.js +12 -30
  190. package/lib/components/SegmentedControlFormik.js.map +1 -1
  191. package/lib/components/Select/CheckableSelectField.js +74 -178
  192. package/lib/components/Select/CheckableSelectField.js.map +1 -1
  193. package/lib/components/Select/CheckableSelectField.module.scss +100 -0
  194. package/lib/components/Select/CheckableSelectFieldFormik.js +18 -41
  195. package/lib/components/Select/CheckableSelectFieldFormik.js.map +1 -1
  196. package/lib/components/Select/Common.js +44 -87
  197. package/lib/components/Select/Common.js.map +1 -1
  198. package/lib/components/Select/Common.module.scss +69 -0
  199. package/lib/components/Select/MultiSelectField.js +107 -187
  200. package/lib/components/Select/MultiSelectField.js.map +1 -1
  201. package/lib/components/Select/MultiSelectField.module.scss +72 -0
  202. package/lib/components/Select/MultiSelectFieldFormik.js +18 -41
  203. package/lib/components/Select/MultiSelectFieldFormik.js.map +1 -1
  204. package/lib/components/Select/SelectField.js +100 -169
  205. package/lib/components/Select/SelectField.js.map +1 -1
  206. package/lib/components/Select/SelectField.module.scss +194 -0
  207. package/lib/components/Select/SelectFieldFormik.js +18 -38
  208. package/lib/components/Select/SelectFieldFormik.js.map +1 -1
  209. package/lib/components/Select/helpers.js +25 -30
  210. package/lib/components/Select/helpers.js.map +1 -1
  211. package/lib/components/Select/index.js +8 -21
  212. package/lib/components/Select/index.js.map +1 -1
  213. package/lib/components/SimpleTable.js +13 -36
  214. package/lib/components/SimpleTable.js.map +1 -1
  215. package/lib/components/SimpleTable.module.scss +28 -0
  216. package/lib/components/Slider.js +173 -294
  217. package/lib/components/Slider.js.map +1 -1
  218. package/lib/components/Slider.module.scss +277 -0
  219. package/lib/components/SliderFormik.js +13 -30
  220. package/lib/components/SliderFormik.js.map +1 -1
  221. package/lib/components/Table/Cell.js +58 -111
  222. package/lib/components/Table/Cell.js.map +1 -1
  223. package/lib/components/Table/Cell.module.scss +61 -0
  224. package/lib/components/Table/CellWrapper.js +27 -44
  225. package/lib/components/Table/CellWrapper.js.map +1 -1
  226. package/lib/components/Table/EnhancedRenderers.js +12 -31
  227. package/lib/components/Table/EnhancedRenderers.js.map +1 -1
  228. package/lib/components/Table/Header.js +92 -141
  229. package/lib/components/Table/Header.js.map +1 -1
  230. package/lib/components/Table/Header.module.scss +128 -0
  231. package/lib/components/Table/Row.js +22 -77
  232. package/lib/components/Table/Row.js.map +1 -1
  233. package/lib/components/Table/Row.module.scss +59 -0
  234. package/lib/components/Table/Table.js +245 -456
  235. package/lib/components/Table/Table.js.map +1 -1
  236. package/lib/components/Table/Table.module.scss +31 -0
  237. package/lib/components/Table/TableContent.js +57 -129
  238. package/lib/components/Table/TableContent.js.map +1 -1
  239. package/lib/components/Table/TableContent.module.scss +21 -0
  240. package/lib/components/Table/constants.js +3 -8
  241. package/lib/components/Table/constants.js.map +1 -1
  242. package/lib/components/Table/features/columnsSelection/CellCopyablePopover.js +12 -39
  243. package/lib/components/Table/features/columnsSelection/CellCopyablePopover.js.map +1 -1
  244. package/lib/components/Table/features/columnsSelection/CellCopyablePopover.module.scss +12 -0
  245. package/lib/components/Table/features/columnsSelection/ContextMenu/ContextMenu.js +16 -23
  246. package/lib/components/Table/features/columnsSelection/ContextMenu/ContextMenu.js.map +1 -1
  247. package/lib/components/Table/features/columnsSelection/ContextMenu/ContextMenu.module.scss +6 -0
  248. package/lib/components/Table/features/columnsSelection/ContextMenu/index.js +2 -8
  249. package/lib/components/Table/features/columnsSelection/ContextMenu/index.js.map +1 -1
  250. package/lib/components/Table/features/columnsSelection/columnsSelection.js +68 -76
  251. package/lib/components/Table/features/columnsSelection/columnsSelection.js.map +1 -1
  252. package/lib/components/Table/features/columnsSelection/helpers.js +22 -28
  253. package/lib/components/Table/features/columnsSelection/helpers.js.map +1 -1
  254. package/lib/components/Table/features/columnsSelection/index.js +5 -16
  255. package/lib/components/Table/features/columnsSelection/index.js.map +1 -1
  256. package/lib/components/Table/helpers.js +9 -17
  257. package/lib/components/Table/helpers.js.map +1 -1
  258. package/lib/components/Table/tableTypes.js +2 -3
  259. package/lib/components/Table/tableTypes.js.map +1 -1
  260. package/lib/components/Table/useTrackTableState.js +29 -43
  261. package/lib/components/Table/useTrackTableState.js.map +1 -1
  262. package/lib/components/Table/utils.js +111 -176
  263. package/lib/components/Table/utils.js.map +1 -1
  264. package/lib/components/Tabs/Tab.js +27 -61
  265. package/lib/components/Tabs/Tab.js.map +1 -1
  266. package/lib/components/Tabs/Tab.module.scss +58 -0
  267. package/lib/components/Tabs/TabContext.js +26 -51
  268. package/lib/components/Tabs/TabContext.js.map +1 -1
  269. package/lib/components/Tabs/TabList.js +49 -62
  270. package/lib/components/Tabs/TabList.js.map +1 -1
  271. package/lib/components/Tabs/TabList.module.scss +3 -0
  272. package/lib/components/Tabs/TabPanel.js +9 -29
  273. package/lib/components/Tabs/TabPanel.js.map +1 -1
  274. package/lib/components/Tabs/TabPanel.module.scss +7 -0
  275. package/lib/components/Tabs/index.js +5 -20
  276. package/lib/components/Tabs/index.js.map +1 -1
  277. package/lib/components/Terminal.js +108 -179
  278. package/lib/components/Terminal.js.map +1 -1
  279. package/lib/components/Terminal.module.scss +109 -0
  280. package/lib/components/TextArea.js +24 -79
  281. package/lib/components/TextArea.js.map +1 -1
  282. package/lib/components/TextArea.module.scss +144 -0
  283. package/lib/components/TextAreaFormik.js +10 -26
  284. package/lib/components/TextAreaFormik.js.map +1 -1
  285. package/lib/components/TextField.js +48 -154
  286. package/lib/components/TextField.js.map +1 -1
  287. package/lib/components/TextField.module.scss +209 -0
  288. package/lib/components/TextFieldFormik.js +22 -46
  289. package/lib/components/TextFieldFormik.js.map +1 -1
  290. package/lib/components/TimeField.js +14 -62
  291. package/lib/components/TimeField.js.map +1 -1
  292. package/lib/components/TimeField.module.scss +4 -0
  293. package/lib/components/TimeFieldFormik.js +10 -26
  294. package/lib/components/TimeFieldFormik.js.map +1 -1
  295. package/lib/components/Toast.js +44 -79
  296. package/lib/components/Toast.js.map +1 -1
  297. package/lib/components/Toast.module.scss +53 -0
  298. package/lib/components/Toggle.js +21 -71
  299. package/lib/components/Toggle.js.map +1 -1
  300. package/lib/components/Toggle.module.scss +175 -0
  301. package/lib/components/ToggleFormik.js +11 -27
  302. package/lib/components/ToggleFormik.js.map +1 -1
  303. package/lib/components/Tooltip.js +39 -79
  304. package/lib/components/Tooltip.js.map +1 -1
  305. package/lib/components/Tooltip.module.scss +44 -0
  306. package/lib/components/TruncatedText.js +22 -49
  307. package/lib/components/TruncatedText.js.map +1 -1
  308. package/lib/components/TruncatedText.module.scss +9 -0
  309. package/lib/helpers/array.js +17 -26
  310. package/lib/helpers/array.js.map +1 -1
  311. package/lib/helpers/escapeHtml.js +6 -10
  312. package/lib/helpers/escapeHtml.js.map +1 -1
  313. package/lib/helpers/forms.js +14 -20
  314. package/lib/helpers/forms.js.map +1 -1
  315. package/lib/helpers/math.js +6 -10
  316. package/lib/helpers/math.js.map +1 -1
  317. package/lib/helpers/types.js +2 -6
  318. package/lib/helpers/types.js.map +1 -1
  319. package/lib/hooks/index.js +7 -17
  320. package/lib/hooks/index.js.map +1 -1
  321. package/lib/hooks/useCloseOnResize.js +12 -17
  322. package/lib/hooks/useCloseOnResize.js.map +1 -1
  323. package/lib/hooks/useDeepCompareMemo.js +7 -12
  324. package/lib/hooks/useDeepCompareMemo.js.map +1 -1
  325. package/lib/hooks/useDeepEqual.js +9 -14
  326. package/lib/hooks/useDeepEqual.js.map +1 -1
  327. package/lib/hooks/useDimensions.js +15 -26
  328. package/lib/hooks/useDimensions.js.map +1 -1
  329. package/lib/hooks/useIsMounted.js +11 -16
  330. package/lib/hooks/useIsMounted.js.map +1 -1
  331. package/lib/hooks/useOnClickOutside.js +32 -41
  332. package/lib/hooks/useOnClickOutside.js.map +1 -1
  333. package/lib/hooks/useOpenCloseState.js +13 -18
  334. package/lib/hooks/useOpenCloseState.js.map +1 -1
  335. package/lib/hooks/usePagination.js +60 -64
  336. package/lib/hooks/usePagination.js.map +1 -1
  337. package/lib/hooks/usePersistedState.js +33 -35
  338. package/lib/hooks/usePersistedState.js.map +1 -1
  339. package/lib/hooks/usePrevious.js +8 -13
  340. package/lib/hooks/usePrevious.js.map +1 -1
  341. package/lib/hooks/useRefValue.js +8 -13
  342. package/lib/hooks/useRefValue.js.map +1 -1
  343. package/lib/icons/Cluster.js +7 -44
  344. package/lib/icons/Cluster.js.map +1 -1
  345. package/lib/icons/Compare.js +7 -46
  346. package/lib/icons/Compare.js.map +1 -1
  347. package/lib/icons/Compute.js +7 -43
  348. package/lib/icons/Compute.js.map +1 -1
  349. package/lib/icons/Folder.js +4 -25
  350. package/lib/icons/Folder.js.map +1 -1
  351. package/lib/icons/PlusCircle.js +6 -37
  352. package/lib/icons/PlusCircle.js.map +1 -1
  353. package/lib/icons/Streaming.js +8 -45
  354. package/lib/icons/Streaming.js.map +1 -1
  355. package/lib/index.js +71 -178
  356. package/lib/index.js.map +1 -1
  357. package/lib/services/logger.js +75 -85
  358. package/lib/services/logger.js.map +1 -1
  359. package/lib/services/time.js +14 -18
  360. package/lib/services/time.js.map +1 -1
  361. package/lib/test-helpers/index.d.ts +3 -0
  362. package/lib/test-helpers/index.js +4 -0
  363. package/lib/test-helpers/index.js.map +1 -0
  364. package/lib/test-helpers/render.d.ts +10 -0
  365. package/lib/test-helpers/render.js +24 -0
  366. package/lib/test-helpers/render.js.map +1 -0
  367. package/lib/test-helpers/time.d.ts +1 -0
  368. package/lib/test-helpers/time.js +2 -0
  369. package/lib/test-helpers/time.js.map +1 -0
  370. package/lib/test-helpers/utils.d.ts +5 -0
  371. package/lib/test-helpers/utils.js +11 -0
  372. package/lib/test-helpers/utils.js.map +1 -0
  373. package/lib/types.js +2 -3
  374. package/lib/types.js.map +1 -1
  375. package/lib/utils/formik.js +7 -12
  376. package/lib/utils/formik.js.map +1 -1
  377. package/lib/utils/keyboard.js +3 -8
  378. package/lib/utils/keyboard.js.map +1 -1
  379. package/lib/utils/portal.js +14 -19
  380. package/lib/utils/portal.js.map +1 -1
  381. package/lib/utils/ssr.js +2 -6
  382. package/lib/utils/ssr.js.map +1 -1
  383. package/lib/utils/types.js +2 -3
  384. package/lib/utils/types.js.map +1 -1
  385. package/package.json +3 -2
  386. package/lib/components/Alert.module.scss.js +0 -8
  387. package/lib/components/Alert.module.scss.js.map +0 -1
  388. package/lib/components/AppHeader/AppHeader.module.scss.js +0 -8
  389. package/lib/components/AppHeader/AppHeader.module.scss.js.map +0 -1
  390. package/lib/components/AppHeader/AppHeaderLogo/AppHeaderLogo.module.scss.js +0 -8
  391. package/lib/components/AppHeader/AppHeaderLogo/AppHeaderLogo.module.scss.js.map +0 -1
  392. package/lib/components/AppHeader/AppHeaderMenu/AppHeaderMenu.module.scss.js +0 -8
  393. package/lib/components/AppHeader/AppHeaderMenu/AppHeaderMenu.module.scss.js.map +0 -1
  394. package/lib/components/AppHeader/EnvironmentBadge/EnvironmentBadge.module.scss.js +0 -8
  395. package/lib/components/AppHeader/EnvironmentBadge/EnvironmentBadge.module.scss.js.map +0 -1
  396. package/lib/components/AppHeader/SelectCluster/SelectCluster.module.scss.js +0 -8
  397. package/lib/components/AppHeader/SelectCluster/SelectCluster.module.scss.js.map +0 -1
  398. package/lib/components/AppSidebar/AppSidebar.module.scss.js +0 -8
  399. package/lib/components/AppSidebar/AppSidebar.module.scss.js.map +0 -1
  400. package/lib/components/AppSidebar/AppSidebarFavoriteButton/AppSidebarFavoriteButton.module.scss.js +0 -8
  401. package/lib/components/AppSidebar/AppSidebarFavoriteButton/AppSidebarFavoriteButton.module.scss.js.map +0 -1
  402. package/lib/components/AppSidebar/AppSidebarFavorites/AppSidebarFavorites.module.scss.js +0 -8
  403. package/lib/components/AppSidebar/AppSidebarFavorites/AppSidebarFavorites.module.scss.js.map +0 -1
  404. package/lib/components/AppSidebar/AppSidebarItem/AppSidebarItem.module.scss.js +0 -8
  405. package/lib/components/AppSidebar/AppSidebarItem/AppSidebarItem.module.scss.js.map +0 -1
  406. package/lib/components/AppSidebar/AppSidebarMenuItemCounter/AppSidebarMenuItemCounter.module.scss.js +0 -8
  407. package/lib/components/AppSidebar/AppSidebarMenuItemCounter/AppSidebarMenuItemCounter.module.scss.js.map +0 -1
  408. package/lib/components/AppSidebar/AppSidebarSection/AppSidebarSection.module.scss.js +0 -8
  409. package/lib/components/AppSidebar/AppSidebarSection/AppSidebarSection.module.scss.js.map +0 -1
  410. package/lib/components/AutocompleteField.module.scss.js +0 -8
  411. package/lib/components/AutocompleteField.module.scss.js.map +0 -1
  412. package/lib/components/Badge.module.scss.js +0 -8
  413. package/lib/components/Badge.module.scss.js.map +0 -1
  414. package/lib/components/Button.module.scss.js +0 -8
  415. package/lib/components/Button.module.scss.js.map +0 -1
  416. package/lib/components/Calendar/Calendar.module.scss.js +0 -8
  417. package/lib/components/Calendar/Calendar.module.scss.js.map +0 -1
  418. package/lib/components/Calendar/CalendarRange.module.scss.js +0 -8
  419. package/lib/components/Calendar/CalendarRange.module.scss.js.map +0 -1
  420. package/lib/components/Calendar/components/CalendarTime.module.scss.js +0 -8
  421. package/lib/components/Calendar/components/CalendarTime.module.scss.js.map +0 -1
  422. package/lib/components/Card.module.scss.js +0 -8
  423. package/lib/components/Card.module.scss.js.map +0 -1
  424. package/lib/components/Carousel.module.scss.js +0 -8
  425. package/lib/components/Carousel.module.scss.js.map +0 -1
  426. package/lib/components/CenteredLoader.module.scss.js +0 -8
  427. package/lib/components/CenteredLoader.module.scss.js.map +0 -1
  428. package/lib/components/Checkbox.module.scss.js +0 -8
  429. package/lib/components/Checkbox.module.scss.js.map +0 -1
  430. package/lib/components/CircularProgressBar.module.scss.js +0 -8
  431. package/lib/components/CircularProgressBar.module.scss.js.map +0 -1
  432. package/lib/components/ContextMenu.module.scss.js +0 -8
  433. package/lib/components/ContextMenu.module.scss.js.map +0 -1
  434. package/lib/components/Dialog.module.scss.js +0 -8
  435. package/lib/components/Dialog.module.scss.js.map +0 -1
  436. package/lib/components/EmptyState.module.scss.js +0 -8
  437. package/lib/components/EmptyState.module.scss.js.map +0 -1
  438. package/lib/components/Error.module.scss.js +0 -8
  439. package/lib/components/Error.module.scss.js.map +0 -1
  440. package/lib/components/FieldHeader.module.scss.js +0 -8
  441. package/lib/components/FieldHeader.module.scss.js.map +0 -1
  442. package/lib/components/Help.module.scss.js +0 -8
  443. package/lib/components/Help.module.scss.js.map +0 -1
  444. package/lib/components/Icon.module.scss.js +0 -8
  445. package/lib/components/Icon.module.scss.js.map +0 -1
  446. package/lib/components/IconButton.module.scss.js +0 -8
  447. package/lib/components/IconButton.module.scss.js.map +0 -1
  448. package/lib/components/InteractiveList.module.scss.js +0 -8
  449. package/lib/components/InteractiveList.module.scss.js.map +0 -1
  450. package/lib/components/Label.module.scss.js +0 -8
  451. package/lib/components/Label.module.scss.js.map +0 -1
  452. package/lib/components/Link.module.scss.js +0 -8
  453. package/lib/components/Link.module.scss.js.map +0 -1
  454. package/lib/components/Loader.module.scss.js +0 -8
  455. package/lib/components/Loader.module.scss.js.map +0 -1
  456. package/lib/components/Modal.module.scss.js +0 -8
  457. package/lib/components/Modal.module.scss.js.map +0 -1
  458. package/lib/components/Notification.module.scss.js +0 -8
  459. package/lib/components/Notification.module.scss.js.map +0 -1
  460. package/lib/components/NumberBadge.module.scss.js +0 -8
  461. package/lib/components/NumberBadge.module.scss.js.map +0 -1
  462. package/lib/components/NumberField.module.scss.js +0 -8
  463. package/lib/components/NumberField.module.scss.js.map +0 -1
  464. package/lib/components/Overlay.module.scss.js +0 -8
  465. package/lib/components/Overlay.module.scss.js.map +0 -1
  466. package/lib/components/Pagination.module.scss.js +0 -8
  467. package/lib/components/Pagination.module.scss.js.map +0 -1
  468. package/lib/components/PasswordField.module.scss.js +0 -8
  469. package/lib/components/PasswordField.module.scss.js.map +0 -1
  470. package/lib/components/Popover.module.scss.js +0 -8
  471. package/lib/components/Popover.module.scss.js.map +0 -1
  472. package/lib/components/Radio.module.scss.js +0 -8
  473. package/lib/components/Radio.module.scss.js.map +0 -1
  474. package/lib/components/RadioGroup.module.scss.js +0 -8
  475. package/lib/components/RadioGroup.module.scss.js.map +0 -1
  476. package/lib/components/SegmentedControl.module.scss.js +0 -8
  477. package/lib/components/SegmentedControl.module.scss.js.map +0 -1
  478. package/lib/components/Select/CheckableSelectField.module.scss.js +0 -8
  479. package/lib/components/Select/CheckableSelectField.module.scss.js.map +0 -1
  480. package/lib/components/Select/Common.module.scss.js +0 -8
  481. package/lib/components/Select/Common.module.scss.js.map +0 -1
  482. package/lib/components/Select/MultiSelectField.module.scss.js +0 -8
  483. package/lib/components/Select/MultiSelectField.module.scss.js.map +0 -1
  484. package/lib/components/Select/SelectField.module.scss.js +0 -8
  485. package/lib/components/Select/SelectField.module.scss.js.map +0 -1
  486. package/lib/components/SimpleTable.module.scss.js +0 -8
  487. package/lib/components/SimpleTable.module.scss.js.map +0 -1
  488. package/lib/components/Slider.module.scss.js +0 -8
  489. package/lib/components/Slider.module.scss.js.map +0 -1
  490. package/lib/components/Table/Cell.module.scss.js +0 -8
  491. package/lib/components/Table/Cell.module.scss.js.map +0 -1
  492. package/lib/components/Table/Header.module.scss.js +0 -8
  493. package/lib/components/Table/Header.module.scss.js.map +0 -1
  494. package/lib/components/Table/Row.module.scss.js +0 -8
  495. package/lib/components/Table/Row.module.scss.js.map +0 -1
  496. package/lib/components/Table/Table.module.scss.js +0 -8
  497. package/lib/components/Table/Table.module.scss.js.map +0 -1
  498. package/lib/components/Table/TableContent.module.scss.js +0 -8
  499. package/lib/components/Table/TableContent.module.scss.js.map +0 -1
  500. package/lib/components/Table/features/columnsSelection/CellCopyablePopover.module.scss.js +0 -8
  501. package/lib/components/Table/features/columnsSelection/CellCopyablePopover.module.scss.js.map +0 -1
  502. package/lib/components/Table/features/columnsSelection/ContextMenu/ContextMenu.module.scss.js +0 -8
  503. package/lib/components/Table/features/columnsSelection/ContextMenu/ContextMenu.module.scss.js.map +0 -1
  504. package/lib/components/Tabs/Tab.module.scss.js +0 -8
  505. package/lib/components/Tabs/Tab.module.scss.js.map +0 -1
  506. package/lib/components/Tabs/TabList.module.scss.js +0 -8
  507. package/lib/components/Tabs/TabList.module.scss.js.map +0 -1
  508. package/lib/components/Tabs/TabPanel.module.scss.js +0 -8
  509. package/lib/components/Tabs/TabPanel.module.scss.js.map +0 -1
  510. package/lib/components/Terminal.module.scss.js +0 -8
  511. package/lib/components/Terminal.module.scss.js.map +0 -1
  512. package/lib/components/TextArea.module.scss.js +0 -8
  513. package/lib/components/TextArea.module.scss.js.map +0 -1
  514. package/lib/components/TextField.module.scss.js +0 -8
  515. package/lib/components/TextField.module.scss.js.map +0 -1
  516. package/lib/components/TimeField.module.scss.js +0 -8
  517. package/lib/components/TimeField.module.scss.js.map +0 -1
  518. package/lib/components/Toast.module.scss.js +0 -8
  519. package/lib/components/Toast.module.scss.js.map +0 -1
  520. package/lib/components/Toggle.module.scss.js +0 -8
  521. package/lib/components/Toggle.module.scss.js.map +0 -1
  522. package/lib/components/Tooltip.module.scss.js +0 -8
  523. package/lib/components/Tooltip.module.scss.js.map +0 -1
  524. package/lib/components/TruncatedText.module.scss.js +0 -8
  525. package/lib/components/TruncatedText.module.scss.js.map +0 -1
  526. package/lib/styles/constants/export.module.scss.js +0 -8
  527. package/lib/styles/constants/export.module.scss.js.map +0 -1
  528. package/lib/styles.css +0 -1
@@ -1,241 +1,166 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var ReactSelect = require('react-select');
5
- var reactUid = require('react-uid');
6
- var cn = require('classnames');
7
- var reactFeather = require('react-feather');
8
- var useIsomorphicLayoutEffect = require('react-use/lib/useIsomorphicLayoutEffect');
9
- var AutocompleteField_module = require('./AutocompleteField.module.scss.js');
10
- var components_Error = require('./Error.js');
11
- var utils_ssr = require('../utils/ssr.js');
12
- var components_IconButton = require('./IconButton.js');
13
- var components_FieldHeader = require('./FieldHeader.js');
14
-
1
+ import React, { useMemo, useState } from 'react';
2
+ import ReactSelect, { components } from 'react-select';
3
+ import { useUID } from 'react-uid';
4
+ import cn from 'classnames';
5
+ import { Search, X } from 'react-feather';
6
+ import useIsomorphicLayoutEffect from 'react-use/lib/useIsomorphicLayoutEffect';
7
+ import styles from './AutocompleteField.module.scss';
8
+ import { Error, errorId } from './Error';
9
+ import { canUseDOM } from '../utils/ssr';
10
+ import { IconButton } from './IconButton';
11
+ import { FieldHeader } from './FieldHeader';
15
12
  /**
16
13
  * Transforms the value passed to the Autocomplete component so that it's in a format as underlying react-select expects
17
14
  * @param value - single value or an array of values
18
15
  * @param optionsMap - an object where option values are mapped to react-select expected objects
19
16
  */
20
- function getSelectedOptionFromValue({
21
- value,
22
- optionsMap
23
- }) {
24
- var _a;
25
- let option = null;
26
- if (value) {
27
- option = (_a = optionsMap[value]) !== null && _a !== void 0 ? _a : {
28
- value: value,
29
- label: value
30
- };
31
- }
32
- return option;
17
+ export function getSelectedOptionFromValue({ value, optionsMap }) {
18
+ var _a;
19
+ let option = null;
20
+ if (value) {
21
+ option = (_a = optionsMap[value]) !== null && _a !== void 0 ? _a : { value: value, label: value };
22
+ }
23
+ return option;
33
24
  }
34
- const Input = innerProps => {
35
- // autoComplete='off' is hard-coded inside SelectField, but doesn't work in Chrome.
36
- // Having an invalid value hard-coded disabled it in all browsers.
37
- const props = {
38
- ...innerProps,
39
- autoComplete: 'chrome-off'
40
- };
41
- return /*#__PURE__*/React.createElement(ReactSelect.components.Input, {
42
- ...props
43
- });
25
+ const Input = (innerProps) => {
26
+ // autoComplete='off' is hard-coded inside SelectField, but doesn't work in Chrome.
27
+ // Having an invalid value hard-coded disabled it in all browsers.
28
+ const props = {
29
+ ...innerProps,
30
+ autoComplete: 'chrome-off',
31
+ };
32
+ return React.createElement(components.Input, { ...props });
44
33
  };
45
- const DropdownIndicator = props => {
46
- return /*#__PURE__*/React.createElement(ReactSelect.components.DropdownIndicator, {
47
- ...props
48
- }, /*#__PURE__*/React.createElement(reactFeather.Search, {
49
- size: 20
50
- }));
34
+ const DropdownIndicator = (props) => {
35
+ return (React.createElement(components.DropdownIndicator, { ...props },
36
+ React.createElement(Search, { size: 20 })));
51
37
  };
52
38
  // innerProps set event handling
53
- const ClearIndicator = ({
54
- innerProps
55
- }) => {
56
- // Visually impaired people will use the keyboard (backspace) to remove the value. We do not want to confuse them by allowing to focus this button.
57
- // @ts-ignore
58
- return /*#__PURE__*/React.createElement(components_IconButton.IconButton, {
59
- ...innerProps,
60
- icon: reactFeather.X,
61
- ariaHidden: true,
62
- kind: "primary",
63
- size: "medium",
64
- className: AutocompleteField_module.default.clear,
65
- tabIndex: -1
66
- });
39
+ const ClearIndicator = ({ innerProps }) => {
40
+ // Visually impaired people will use the keyboard (backspace) to remove the value. We do not want to confuse them by allowing to focus this button.
41
+ // @ts-ignore
42
+ return React.createElement(IconButton, { ...innerProps, icon: X, ariaHidden: true, kind: "primary", size: "medium", className: styles.clear, tabIndex: -1 });
67
43
  };
68
- const highlightOptionText = (labelText, inputValue) => {
69
- const separator = '<%>';
70
- const query = inputValue || '';
71
- return query ? labelText.replace(new RegExp(query, 'ig'), `${separator}$&${separator}`).split(separator).filter(val => val).map((val, i) => (/*#__PURE__*/React.createElement("span", {
72
- className: cn({
73
- 'hz-autocomplete-field__matched-option-text': val.toLowerCase() === query.toLowerCase()
74
- }),
75
- key: val + `${i}`
76
- }, val))) : labelText;
44
+ export const highlightOptionText = (labelText, inputValue) => {
45
+ const separator = '<%>';
46
+ const query = inputValue || '';
47
+ return query
48
+ ? labelText
49
+ .replace(new RegExp(query, 'ig'), `${separator}$&${separator}`)
50
+ .split(separator)
51
+ .filter((val) => val)
52
+ .map((val, i) => (React.createElement("span", { className: cn({
53
+ 'hz-autocomplete-field__matched-option-text': val.toLowerCase() === query.toLowerCase(),
54
+ }), key: val + `${i}` }, val)))
55
+ : labelText;
77
56
  };
78
- const AutocompleteField = ({
79
- 'data-test': dataTest = 'autocomplete-field',
80
- className,
81
- disabled,
82
- error,
83
- errorClassName,
84
- isClearable,
85
- label,
86
- labelClassName,
87
- helperText,
88
- size = 'medium',
89
- menuPortalTarget = 'body',
90
- name,
91
- onChange,
92
- onFocus,
93
- onBlur,
94
- onInputChange,
95
- options,
96
- required,
97
- value,
98
- placeholder = 'Search...',
99
- showAriaLabel = false,
100
- renderOption,
101
- openMenuOnClick = true,
102
- ...rest
103
- }) => {
104
- // when the user clicks on an input with the value, the value should disappear,
105
- // but then it should appear after the user selects something or blurs the input
106
- const [isValueHidden, setValueHidden] = React.useState(false);
107
- const id = reactUid.useUID();
108
- useIsomorphicLayoutEffect(() => {
109
- const menuContainer = getMenuContainer(menuPortalTarget);
110
- if (menuContainer && !menuContainer.className.includes(AutocompleteField_module.default.menuContainer)) {
111
- menuContainer.className = `${menuContainer.className} ${AutocompleteField_module.default.menuContainer}`;
112
- }
113
- }, [menuPortalTarget]);
114
- const optionsMap = React.useMemo(() => options.reduce((acc, option) => {
115
- acc[`${option.value}`] = option;
116
- return acc;
117
- }, {}), [options]);
118
- const selectedOption = React.useMemo(() => getSelectedOptionFromValue({
119
- value,
120
- optionsMap
121
- }), [optionsMap, value]);
122
- const onChangeFn = React.useCallback(option => {
123
- setValueHidden(false);
124
- onChange(option === null ? null : option.value);
125
- }, [onChange]);
126
- const onFocusFn = React.useCallback(e => {
127
- if (onFocus) {
128
- onFocus(e);
129
- }
130
- if (!openMenuOnClick) {
131
- setValueHidden(true);
132
- }
133
- }, [onFocus, openMenuOnClick]);
134
- const onBlurFn = React.useCallback(e => {
135
- if (onBlur) {
136
- onBlur(e);
137
- }
138
- setValueHidden(false);
139
- }, [onBlur]);
140
- const formatOptionLabelFn = React.useCallback((option, labelMeta) => {
141
- const {
142
- inputValue
143
- } = labelMeta;
144
- let optionText = option.label;
145
- if (inputValue) {
146
- optionText = highlightOptionText(option.label, inputValue);
147
- }
148
- return renderOption ? renderOption(optionText, option, labelMeta) : optionText;
149
- }, [renderOption]);
150
- const getMenuContainer = menuPortalTarget => {
151
- if (menuPortalTarget == 'body') {
152
- // There is no document is SSR environment
153
- return utils_ssr.canUseDOM ? document.body : undefined;
154
- }
155
- if (menuPortalTarget == 'self') {
156
- return undefined;
157
- }
158
- return menuPortalTarget;
159
- };
160
- const props = {
161
- inputId: id,
162
- className: 'hz-autocomplete-field',
163
- classNamePrefix: 'hz-autocomplete-field',
164
- // https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-invalid_attribute
165
- 'aria-errormessage': error && components_Error.errorId(id),
166
- 'aria-invalid': !!error,
167
- // @ts-ignore
168
- 'aria-required': required,
169
- error,
170
- isClearable: isClearable !== null && isClearable !== void 0 ? isClearable : false,
171
- isDisabled: disabled,
172
- isSearchable: true,
173
- isMulti: false,
174
- name: name,
175
- value: selectedOption,
176
- placeholder,
177
- options,
178
- onChange: onChangeFn,
179
- onFocus: onFocusFn,
180
- onBlur: onBlurFn,
181
- menuPortalTarget: getMenuContainer(menuPortalTarget),
182
- components: {
183
- DropdownIndicator,
184
- ClearIndicator,
185
- Input
186
- },
187
- openMenuOnClick,
188
- ...rest
189
- };
190
- return /*#__PURE__*/React.createElement("div", {
191
- "data-test": dataTest,
192
- className: cn(AutocompleteField_module.default.container, {
193
- [AutocompleteField_module.default.withError]: 'error' in props,
194
- [AutocompleteField_module.default.disabled]: disabled,
195
- [AutocompleteField_module.default.hasError]: error,
196
- [AutocompleteField_module.default.small]: size === 'small',
197
- [AutocompleteField_module.default.empty]: !value
198
- },
199
- // Menu container is either this select itself or any other element
200
- // We can always add this class to the select itself because even if the menu container is any parent it won't break it
201
- // However, if it is the select itself, it will properly add necessary specificity level to the menu styles.
202
- AutocompleteField_module.default.menuContainer, className)
203
- }, /*#__PURE__*/React.createElement(components_FieldHeader.FieldHeader, {
204
- label: label,
205
- id: id,
206
- size: size,
207
- "data-test": dataTest,
208
- helperText: helperText,
209
- showAriaLabel: showAriaLabel,
210
- labelClassName: labelClassName
211
- }), /*#__PURE__*/React.createElement("div", {
212
- className: AutocompleteField_module.default.selectBlock
213
- }, /*#__PURE__*/React.createElement(ReactSelect, {
214
- onInputChange: onInputChange,
215
- formatOptionLabel: formatOptionLabelFn,
216
- styles: {
217
- ...props.styles,
218
- // @ts-ignore
219
- singleValue: base => {
220
- var _a;
221
- return {
222
- ...base,
223
- ...((_a = props.styles) === null || _a === void 0 ? void 0 : _a.singleValue),
224
- visibility: isValueHidden ? 'hidden' : 'visible'
225
- };
226
- }
227
- },
228
- ...props
229
- })), /*#__PURE__*/React.createElement(components_Error.Error, {
230
- "data-test": `${dataTest}-error`,
231
- truncated: true,
232
- error: error,
233
- className: cn(AutocompleteField_module.default.errorContainer, errorClassName),
234
- inputId: id
235
- }));
57
+ export const AutocompleteField = ({ 'data-test': dataTest = 'autocomplete-field', className, disabled, error, errorClassName, isClearable, label, labelClassName, helperText, size = 'medium', menuPortalTarget = 'body', name, onChange, onFocus, onBlur, onInputChange, options, required, value, placeholder = 'Search...', showAriaLabel = false, renderOption, openMenuOnClick = true, ...rest }) => {
58
+ // when the user clicks on an input with the value, the value should disappear,
59
+ // but then it should appear after the user selects something or blurs the input
60
+ const [isValueHidden, setValueHidden] = useState(false);
61
+ const id = useUID();
62
+ useIsomorphicLayoutEffect(() => {
63
+ const menuContainer = getMenuContainer(menuPortalTarget);
64
+ if (menuContainer && !menuContainer.className.includes(styles.menuContainer)) {
65
+ menuContainer.className = `${menuContainer.className} ${styles.menuContainer}`;
66
+ }
67
+ }, [menuPortalTarget]);
68
+ const optionsMap = React.useMemo(() => options.reduce((acc, option) => {
69
+ acc[`${option.value}`] = option;
70
+ return acc;
71
+ }, {}), [options]);
72
+ const selectedOption = useMemo(() => getSelectedOptionFromValue({ value, optionsMap }), [optionsMap, value]);
73
+ const onChangeFn = React.useCallback((option) => {
74
+ setValueHidden(false);
75
+ onChange(option === null ? null : option.value);
76
+ }, [onChange]);
77
+ const onFocusFn = React.useCallback((e) => {
78
+ if (onFocus) {
79
+ onFocus(e);
80
+ }
81
+ if (!openMenuOnClick) {
82
+ setValueHidden(true);
83
+ }
84
+ }, [onFocus, openMenuOnClick]);
85
+ const onBlurFn = React.useCallback((e) => {
86
+ if (onBlur) {
87
+ onBlur(e);
88
+ }
89
+ setValueHidden(false);
90
+ }, [onBlur]);
91
+ const formatOptionLabelFn = React.useCallback((option, labelMeta) => {
92
+ const { inputValue } = labelMeta;
93
+ let optionText = option.label;
94
+ if (inputValue) {
95
+ optionText = highlightOptionText(option.label, inputValue);
96
+ }
97
+ return renderOption ? renderOption(optionText, option, labelMeta) : optionText;
98
+ }, [renderOption]);
99
+ const getMenuContainer = (menuPortalTarget) => {
100
+ if (menuPortalTarget == 'body') {
101
+ // There is no document is SSR environment
102
+ return canUseDOM ? document.body : undefined;
103
+ }
104
+ if (menuPortalTarget == 'self') {
105
+ return undefined;
106
+ }
107
+ return menuPortalTarget;
108
+ };
109
+ const props = {
110
+ inputId: id,
111
+ className: 'hz-autocomplete-field',
112
+ classNamePrefix: 'hz-autocomplete-field',
113
+ // https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-invalid_attribute
114
+ 'aria-errormessage': error && errorId(id),
115
+ 'aria-invalid': !!error,
116
+ // @ts-ignore
117
+ 'aria-required': required,
118
+ error,
119
+ isClearable: isClearable !== null && isClearable !== void 0 ? isClearable : false,
120
+ isDisabled: disabled,
121
+ isSearchable: true,
122
+ isMulti: false,
123
+ name: name,
124
+ value: selectedOption,
125
+ placeholder,
126
+ options,
127
+ onChange: onChangeFn,
128
+ onFocus: onFocusFn,
129
+ onBlur: onBlurFn,
130
+ menuPortalTarget: getMenuContainer(menuPortalTarget),
131
+ components: {
132
+ DropdownIndicator,
133
+ ClearIndicator,
134
+ Input,
135
+ },
136
+ openMenuOnClick,
137
+ ...rest,
138
+ };
139
+ return (React.createElement("div", { "data-test": dataTest, className: cn(styles.container, {
140
+ [styles.withError]: 'error' in props,
141
+ [styles.disabled]: disabled,
142
+ [styles.hasError]: error,
143
+ [styles.small]: size === 'small',
144
+ [styles.empty]: !value,
145
+ },
146
+ // Menu container is either this select itself or any other element
147
+ // We can always add this class to the select itself because even if the menu container is any parent it won't break it
148
+ // However, if it is the select itself, it will properly add necessary specificity level to the menu styles.
149
+ styles.menuContainer, className) },
150
+ React.createElement(FieldHeader, { label: label, id: id, size: size, "data-test": dataTest, helperText: helperText, showAriaLabel: showAriaLabel, labelClassName: labelClassName }),
151
+ React.createElement("div", { className: styles.selectBlock },
152
+ React.createElement(ReactSelect, { onInputChange: onInputChange, formatOptionLabel: formatOptionLabelFn, styles: {
153
+ ...props.styles,
154
+ // @ts-ignore
155
+ singleValue: (base) => {
156
+ var _a;
157
+ return ({
158
+ ...base,
159
+ ...(_a = props.styles) === null || _a === void 0 ? void 0 : _a.singleValue,
160
+ visibility: isValueHidden ? 'hidden' : 'visible',
161
+ });
162
+ },
163
+ }, ...props })),
164
+ React.createElement(Error, { "data-test": `${dataTest}-error`, truncated: true, error: error, className: cn(styles.errorContainer, errorClassName), inputId: id })));
236
165
  };
237
-
238
- exports.AutocompleteField = AutocompleteField;
239
- exports.getSelectedOptionFromValue = getSelectedOptionFromValue;
240
- exports.highlightOptionText = highlightOptionText;
241
- //# sourceMappingURL=AutocompleteField.js.map
166
+ //# sourceMappingURL=AutocompleteField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutocompleteField.js","sources":["../../src/components/AutocompleteField.tsx"],"sourcesContent":[null],"names":["getSelectedOptionFromValue","value","optionsMap","option","_a","label","Input","innerProps","props","autoComplete","React","components","DropdownIndicator","createElement","Search","size","ClearIndicator","IconButton","icon","X","ariaHidden","kind","className","styles","clear","tabIndex","highlightOptionText","labelText","inputValue","separator","query","replace","RegExp","split","filter","val","map","i","cn","toLowerCase","key","AutocompleteField","dataTest","disabled","error","errorClassName","isClearable","labelClassName","helperText","menuPortalTarget","name","onChange","onFocus","onBlur","onInputChange","options","required","placeholder","showAriaLabel","renderOption","openMenuOnClick","rest","isValueHidden","setValueHidden","useState","id","useUID","useIsomorphicLayoutEffect","menuContainer","getMenuContainer","includes","useMemo","reduce","acc","selectedOption","onChangeFn","useCallback","onFocusFn","e","onBlurFn","formatOptionLabelFn","labelMeta","optionText","canUseDOM","document","body","undefined","inputId","classNamePrefix","errorId","isDisabled","isSearchable","isMulti","container","withError","hasError","small","empty","FieldHeader","selectBlock","ReactSelect","formatOptionLabel","singleValue","base","visibility","Error","truncated","errorContainer"],"mappings":"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"}
1
+ {"version":3,"file":"AutocompleteField.js","sourceRoot":"","sources":["../../src/components/AutocompleteField.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,164 @@
1
+ @use '../../styles/constants' as c;
2
+ @use '../../styles/helpers' as h;
3
+
4
+ $selectHorizontalPadding: c.$grid * 3;
5
+ $menuMargin: c.$grid * 3;
6
+ $select: ':global .hz-autocomplete-field__control';
7
+ $selectValueContainer: ':global .hz-autocomplete-field__value-container';
8
+
9
+ .container {
10
+ .label {
11
+ display: block;
12
+ margin-bottom: c.$grid;
13
+
14
+ &.small {
15
+ @include c.typographyBodySmall;
16
+ }
17
+ }
18
+
19
+ &.small {
20
+ #{$selectValueContainer} {
21
+ padding: 0;
22
+ }
23
+
24
+ #{$select} {
25
+ min-height: c.$inputHeightSmall;
26
+ }
27
+ }
28
+
29
+ .helperText {
30
+ margin-left: c.$grid * 1.5;
31
+ display: block;
32
+ }
33
+
34
+ .clear {
35
+ margin-left: $selectHorizontalPadding;
36
+ }
37
+
38
+ :global .hz-autocomplete-field {
39
+ flex: 1 1 auto;
40
+
41
+ @include c.typographyBodySmall;
42
+ }
43
+
44
+ :global .hz-autocomplete-field__value-container {
45
+ padding: 0;
46
+ }
47
+
48
+ :global .hz-autocomplete-field__single-value {
49
+ color: c.$colorText;
50
+ }
51
+
52
+ :global .hz-autocomplete-field__indicator-separator {
53
+ display: none;
54
+ }
55
+
56
+ #{$select} {
57
+ cursor: pointer;
58
+ color: c.$colorText;
59
+ min-height: c.$inputHeight;
60
+ padding-left: c.$grid * 3;
61
+ padding-right: c.$grid * 2;
62
+ box-sizing: border-box;
63
+ border: c.$borderWidth solid c.$colorNeutralLight;
64
+ border-radius: c.$borderRadius;
65
+ background-color: c.$colorNeutralWhite;
66
+ transition: none;
67
+
68
+ &.hz-autocomplete-field__control--menu-is-open {
69
+ border-radius: c.$borderRadius c.$borderRadius 0 0;
70
+ }
71
+
72
+ .hz-autocomplete-field__dropdown-indicator {
73
+ color: c.$colorNeutralLight;
74
+ padding: 0 c.$grid * 0.5;
75
+ }
76
+ }
77
+
78
+ &.disabled {
79
+ #{$select} {
80
+ color: c.$colorTextSecondary;
81
+ background-color: c.$colorNeutral;
82
+ border-color: c.$colorNeutralLight;
83
+ }
84
+ }
85
+
86
+ &.hasError {
87
+ #{$select} {
88
+ border-color: c.$colorError;
89
+ }
90
+ }
91
+
92
+ // We target specifically #{$select} not to apply hover styles to the select when a helper icon is hovered
93
+ #{$select}:hover,
94
+ &.hover #{$select} {
95
+ border-color: c.$colorPrimary;
96
+ transition: none;
97
+ }
98
+
99
+ &.focus #{$select},
100
+ #{$select}.hz-autocomplete-field__control--is-focused {
101
+ @include h.outlineFormField;
102
+ }
103
+
104
+ .selectBlock {
105
+ display: flex;
106
+ flex-direction: row;
107
+ align-items: center;
108
+ position: relative;
109
+ }
110
+ }
111
+
112
+ .menuContainer {
113
+ :global .hz-autocomplete-field__menu-portal {
114
+ z-index: c.$zIndex2000;
115
+ }
116
+
117
+ :global .hz-autocomplete-field__matched-option-text {
118
+ font-weight: bolder;
119
+ color: c.$colorText;
120
+ }
121
+
122
+ :global .hz-autocomplete-field__menu {
123
+ margin-top: 0;
124
+ margin-bottom: $menuMargin;
125
+ border: c.$borderWidth solid c.$colorNeutralLight;
126
+ border-radius: 0 0 c.$borderRadius c.$borderRadius;
127
+ background-color: c.$colorNeutralWhite;
128
+ overflow: hidden;
129
+ box-shadow: 0 c.$selectMenuShadowSize c.$selectMenuShadowBlur 0 c.$colorShadow;
130
+ z-index: c.$zIndex1000;
131
+
132
+ @include c.typographyBodySmall;
133
+
134
+ :global .hz-autocomplete-field__menu-list {
135
+ padding: 0;
136
+ color: c.$colorTextSecondary;
137
+ }
138
+
139
+ :global .hz-autocomplete-field__option,
140
+ :global .hz-autocomplete-field__menu-notice {
141
+ height: c.$grid * 8;
142
+ line-height: c.$grid * 8;
143
+ padding: 0 $selectHorizontalPadding;
144
+ background-color: transparent;
145
+
146
+ // Do not remove outline for high-contrast modes
147
+ // https://stackoverflow.com/a/52616313
148
+ outline: c.$outlineWidth solid transparent;
149
+ text-align: left;
150
+ white-space: pre;
151
+
152
+ &:global.hz-autocomplete-field__option--is-focused {
153
+ @include h.outlineSimple;
154
+ }
155
+
156
+ &:global.hz-autocomplete-field__option--is-selected {
157
+ color: c.$colorTextSecondary;
158
+ text-decoration: underline;
159
+ }
160
+ }
161
+ }
162
+ }
163
+
164
+ @include h.withError;