superdesk-ui-framework 4.0.47 → 4.0.49

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 (575) hide show
  1. package/.eslintrc.js +0 -1
  2. package/.eslintrc.json +2 -5
  3. package/.github/workflows/test.yml +22 -26
  4. package/.prettierignore +3 -0
  5. package/.prettierrc.js +9 -0
  6. package/.travis.yml +4 -4
  7. package/README.md +14 -1
  8. package/app/styles/_time.scss +28 -0
  9. package/app/styles/app.scss +1 -0
  10. package/app/styles/design-tokens/_design-tokens-general.scss +6 -3
  11. package/app/styles/form-elements/_forms-general.scss +0 -4
  12. package/app-typescript/components/Alert.tsx +12 -16
  13. package/app-typescript/components/Autocomplete.tsx +53 -42
  14. package/app-typescript/components/Badge.tsx +1 -1
  15. package/app-typescript/components/Button.tsx +5 -11
  16. package/app-typescript/components/ButtonGroup.tsx +15 -10
  17. package/app-typescript/components/Carousel.tsx +25 -26
  18. package/app-typescript/components/CheckButtonGroup.tsx +6 -10
  19. package/app-typescript/components/Checkbox.tsx +16 -10
  20. package/app-typescript/components/CheckboxButton.tsx +22 -13
  21. package/app-typescript/components/ContentDivider.tsx +6 -7
  22. package/app-typescript/components/CreateButton.tsx +8 -6
  23. package/app-typescript/components/DatePicker.tsx +59 -55
  24. package/app-typescript/components/DateTimePicker.tsx +51 -48
  25. package/app-typescript/components/Divider.tsx +2 -4
  26. package/app-typescript/components/DonutChart.tsx +11 -6
  27. package/app-typescript/components/DragHandle.tsx +10 -6
  28. package/app-typescript/components/DragHandleDots.tsx +1 -3
  29. package/app-typescript/components/DropZone.tsx +27 -25
  30. package/app-typescript/components/Dropdown.tsx +61 -102
  31. package/app-typescript/components/DropdownFirst.tsx +57 -69
  32. package/app-typescript/components/DurationInput.tsx +64 -54
  33. package/app-typescript/components/Editor/EditorButton.tsx +4 -3
  34. package/app-typescript/components/EmptyState.tsx +10 -14
  35. package/app-typescript/components/Form/FormGroup.tsx +9 -16
  36. package/app-typescript/components/Form/FormItem.tsx +1 -5
  37. package/app-typescript/components/Form/FormLabel.tsx +0 -1
  38. package/app-typescript/components/Form/FormRow.tsx +12 -19
  39. package/app-typescript/components/Form/FormRowNew.tsx +9 -16
  40. package/app-typescript/components/Form/FormText.tsx +1 -5
  41. package/app-typescript/components/Form/InputBase.tsx +12 -11
  42. package/app-typescript/components/Form/InputNew.tsx +11 -12
  43. package/app-typescript/components/Form/InputWrapper.tsx +9 -18
  44. package/app-typescript/components/Form/index.tsx +9 -9
  45. package/app-typescript/components/FormLabel.tsx +1 -5
  46. package/app-typescript/components/GridItem.tsx +38 -69
  47. package/app-typescript/components/GridList.tsx +2 -6
  48. package/app-typescript/components/HeadingText.tsx +4 -5
  49. package/app-typescript/components/IconButton.tsx +4 -10
  50. package/app-typescript/components/IconLabel.tsx +5 -5
  51. package/app-typescript/components/IconPicker.tsx +128 -126
  52. package/app-typescript/components/IllustrationButton.tsx +2 -8
  53. package/app-typescript/components/Input.tsx +2 -2
  54. package/app-typescript/components/Label.tsx +11 -7
  55. package/app-typescript/components/Layouts/AuthorinInnerSideBar.tsx +1 -5
  56. package/app-typescript/components/Layouts/AuthoringContainer.tsx +4 -6
  57. package/app-typescript/components/Layouts/AuthoringFrame.tsx +4 -20
  58. package/app-typescript/components/Layouts/AuthoringFrameContainer.tsx +1 -5
  59. package/app-typescript/components/Layouts/AuthoringFrameLeftBar.tsx +1 -5
  60. package/app-typescript/components/Layouts/AuthoringFrameMain.tsx +1 -5
  61. package/app-typescript/components/Layouts/AuthoringFrameNavBar.tsx +1 -5
  62. package/app-typescript/components/Layouts/AuthoringFrameOverlay.tsx +1 -5
  63. package/app-typescript/components/Layouts/AuthoringFrameRightBar.tsx +1 -5
  64. package/app-typescript/components/Layouts/AuthoringFrameSidePanel.tsx +1 -5
  65. package/app-typescript/components/Layouts/AuthoringFrameSidePanelOverlay.tsx +1 -3
  66. package/app-typescript/components/Layouts/AuthoringInnerBody.tsx +3 -6
  67. package/app-typescript/components/Layouts/AuthoringInnerHeader.tsx +5 -5
  68. package/app-typescript/components/Layouts/AuthoringMain.tsx +3 -4
  69. package/app-typescript/components/Layouts/AuthoringMainContainer.tsx +1 -5
  70. package/app-typescript/components/Layouts/AuthoringMainContent.tsx +1 -5
  71. package/app-typescript/components/Layouts/AuthoringMainToolBar.tsx +1 -6
  72. package/app-typescript/components/Layouts/BottomBarAction.tsx +8 -10
  73. package/app-typescript/components/Layouts/Container.tsx +13 -8
  74. package/app-typescript/components/Layouts/ContentSplitter.tsx +2 -6
  75. package/app-typescript/components/Layouts/CoreLayout.tsx +5 -12
  76. package/app-typescript/components/Layouts/CoreLayoutContainer.tsx +1 -1
  77. package/app-typescript/components/Layouts/CoreLayoutFooter.tsx +1 -5
  78. package/app-typescript/components/Layouts/CoreLayoutMain.tsx +4 -4
  79. package/app-typescript/components/Layouts/CoreLayoutOverlay.tsx +1 -5
  80. package/app-typescript/components/Layouts/CoreLayoutSlideInMenu.tsx +2 -4
  81. package/app-typescript/components/Layouts/CoreLayoutTopMenu.tsx +8 -9
  82. package/app-typescript/components/Layouts/HamburgerButton.tsx +13 -14
  83. package/app-typescript/components/Layouts/HeaderPanel.tsx +1 -5
  84. package/app-typescript/components/Layouts/Layout.tsx +10 -16
  85. package/app-typescript/components/Layouts/LayoutContainer.tsx +2 -7
  86. package/app-typescript/components/Layouts/LeftPanel.tsx +4 -11
  87. package/app-typescript/components/Layouts/MainMenu.tsx +18 -32
  88. package/app-typescript/components/Layouts/MainPanel.tsx +10 -11
  89. package/app-typescript/components/Layouts/NotificationPanel.tsx +20 -29
  90. package/app-typescript/components/Layouts/OverlayPanel.tsx +3 -5
  91. package/app-typescript/components/Layouts/PageLayout.tsx +4 -21
  92. package/app-typescript/components/Layouts/Panel.tsx +45 -81
  93. package/app-typescript/components/Layouts/index.tsx +39 -39
  94. package/app-typescript/components/LeftMenu.tsx +51 -53
  95. package/app-typescript/components/ListItemLoader.tsx +1 -1
  96. package/app-typescript/components/Lists/BoxedList.tsx +16 -41
  97. package/app-typescript/components/Lists/CalendarWeekDayItem.tsx +2 -10
  98. package/app-typescript/components/Lists/ContentList.tsx +68 -62
  99. package/app-typescript/components/Lists/SimpleList.tsx +13 -12
  100. package/app-typescript/components/Lists/TableList.tsx +169 -217
  101. package/app-typescript/components/Lists/index.tsx +2 -2
  102. package/app-typescript/components/Loader.tsx +1 -3
  103. package/app-typescript/components/Menu.tsx +2 -4
  104. package/app-typescript/components/Modal.tsx +21 -21
  105. package/app-typescript/components/MultiSelect.tsx +6 -6
  106. package/app-typescript/components/NavButton.tsx +10 -8
  107. package/app-typescript/components/Navigation/BottomNav.tsx +21 -17
  108. package/app-typescript/components/Navigation/QuickNavBar.tsx +40 -37
  109. package/app-typescript/components/Navigation/SideBarMenu.tsx +21 -17
  110. package/app-typescript/components/Navigation/SideBarTabs.tsx +13 -19
  111. package/app-typescript/components/Navigation/index.tsx +3 -3
  112. package/app-typescript/components/Popover.tsx +19 -21
  113. package/app-typescript/components/PropsList.tsx +2 -4
  114. package/app-typescript/components/RadioButtonGroup.tsx +48 -45
  115. package/app-typescript/components/RadioGroup.tsx +9 -8
  116. package/app-typescript/components/ResizablePanels.tsx +2 -3
  117. package/app-typescript/components/ResizeObserverComponent.tsx +1 -5
  118. package/app-typescript/components/SearchBar.tsx +53 -45
  119. package/app-typescript/components/Select.tsx +6 -8
  120. package/app-typescript/components/SelectGrid.tsx +32 -40
  121. package/app-typescript/components/SelectPreview.tsx +31 -25
  122. package/app-typescript/components/SelectWithTemplate.tsx +10 -11
  123. package/app-typescript/components/ShowPopup.tsx +32 -46
  124. package/app-typescript/components/SidebarMenu.tsx +19 -18
  125. package/app-typescript/components/Skeleton.tsx +12 -11
  126. package/app-typescript/components/SlidingToolbar.tsx +1 -6
  127. package/app-typescript/components/Spinner.tsx +2 -6
  128. package/app-typescript/components/StrechBar.tsx +1 -5
  129. package/app-typescript/components/SubNav.tsx +10 -8
  130. package/app-typescript/components/SvgIconIllustration.tsx +477 -105
  131. package/app-typescript/components/Switch.tsx +14 -12
  132. package/app-typescript/components/SwitchGroup.tsx +10 -10
  133. package/app-typescript/components/TabCustom.tsx +28 -35
  134. package/app-typescript/components/TabList.tsx +13 -10
  135. package/app-typescript/components/Tag.tsx +21 -24
  136. package/app-typescript/components/TagInput.tsx +4 -11
  137. package/app-typescript/components/Text/Heading.tsx +21 -41
  138. package/app-typescript/components/Text/Text.tsx +16 -12
  139. package/app-typescript/components/Text/Time.tsx +14 -10
  140. package/app-typescript/components/ThemeSelector.tsx +15 -14
  141. package/app-typescript/components/TimePicker.tsx +60 -6
  142. package/app-typescript/components/TimePickerPopover.tsx +274 -0
  143. package/app-typescript/components/TimePickerV2.tsx +20 -20
  144. package/app-typescript/components/Toast.tsx +11 -7
  145. package/app-typescript/components/ToastMessage.tsx +3 -14
  146. package/app-typescript/components/ToastText.tsx +30 -32
  147. package/app-typescript/components/ToastWrapper.tsx +76 -74
  148. package/app-typescript/components/ToggleBox/CustomHeaderToggleBox.tsx +30 -45
  149. package/app-typescript/components/ToggleBox/SimpleToggleBox.tsx +31 -33
  150. package/app-typescript/components/ToggleBox/index.tsx +3 -7
  151. package/app-typescript/components/Tooltip.tsx +1 -1
  152. package/app-typescript/components/TreeMenu.tsx +72 -81
  153. package/app-typescript/components/TreeSelect/KeyboardNavigation.tsx +1 -5
  154. package/app-typescript/components/TreeSelect/TreeSelect.tsx +221 -238
  155. package/app-typescript/components/TreeSelect/TreeSelectItem.tsx +20 -24
  156. package/app-typescript/components/TreeSelect/TreeSelectPill.tsx +12 -15
  157. package/app-typescript/components/WithPagination.tsx +34 -39
  158. package/app-typescript/components/WithPopover.tsx +0 -1
  159. package/app-typescript/components/WithPortal.tsx +4 -7
  160. package/app-typescript/components/WithSizeObserver.tsx +2 -6
  161. package/app-typescript/components/_Positioner.tsx +26 -26
  162. package/app-typescript/components/avatar/avatar-action-add.tsx +1 -6
  163. package/app-typescript/components/avatar/avatar-group.tsx +49 -68
  164. package/app-typescript/components/avatar/avatar-image.tsx +18 -12
  165. package/app-typescript/components/avatar/avatar-placeholder.tsx +3 -15
  166. package/app-typescript/components/avatar/avatar-text.tsx +1 -4
  167. package/app-typescript/components/avatar/avatar-wrapper.tsx +18 -30
  168. package/app-typescript/components/avatar/avatar.tsx +5 -8
  169. package/app-typescript/components/with-pagination.spec.tsx +8 -27
  170. package/app-typescript/helpers.tsx +2 -2
  171. package/app-typescript/index.ts +111 -100
  172. package/app-typescript/utils/time.tsx +31 -0
  173. package/declarations.d.ts +1 -1
  174. package/dist/components/Alerts.tsx +171 -78
  175. package/dist/components/Autocomplete.tsx +187 -78
  176. package/dist/components/Avatar.tsx +52 -112
  177. package/dist/components/Badges.tsx +111 -67
  178. package/dist/components/BigIconFont.tsx +29 -17
  179. package/dist/components/BoxedList.tsx +244 -114
  180. package/dist/components/ButtonGroups.tsx +213 -147
  181. package/dist/components/Buttons.tsx +409 -137
  182. package/dist/components/Card.tsx +6 -7
  183. package/dist/components/Carousel.tsx +126 -39
  184. package/dist/components/Checkboxs.tsx +446 -105
  185. package/dist/components/Container.tsx +95 -48
  186. package/dist/components/ContentDivider.tsx +110 -63
  187. package/dist/components/ContentList.tsx +577 -253
  188. package/dist/components/CreateButton.tsx +71 -21
  189. package/dist/components/DatePicker.tsx +102 -26
  190. package/dist/components/DateTimePicker.tsx +49 -11
  191. package/dist/components/DragHandleDocs.tsx +56 -26
  192. package/dist/components/DropZone.tsx +67 -29
  193. package/dist/components/Dropdowns.tsx +220 -131
  194. package/dist/components/DurationInput.tsx +92 -32
  195. package/dist/components/EmptyStates.tsx +61 -26
  196. package/dist/components/GridItem.tsx +190 -91
  197. package/dist/components/GridList.tsx +37 -17
  198. package/dist/components/Heading.tsx +81 -35
  199. package/dist/components/IconButtons.tsx +125 -32
  200. package/dist/components/IconFont.tsx +24 -12
  201. package/dist/components/IconLabels.tsx +146 -39
  202. package/dist/components/IconPicker.tsx +30 -13
  203. package/dist/components/IllustrationButton.tsx +40 -20
  204. package/dist/components/Index.tsx +128 -114
  205. package/dist/components/Inputs.tsx +153 -51
  206. package/dist/components/Labels.tsx +191 -117
  207. package/dist/components/LeftNavigations.tsx +327 -100
  208. package/dist/components/ListItems.tsx +8 -9
  209. package/dist/components/Loader.tsx +5 -4
  210. package/dist/components/Menu.tsx +48 -26
  211. package/dist/components/Modal.tsx +298 -104
  212. package/dist/components/MultiSelect.tsx +189 -53
  213. package/dist/components/NavButtons.tsx +86 -30
  214. package/dist/components/Panel.tsx +367 -120
  215. package/dist/components/Popover.tsx +37 -17
  216. package/dist/components/QuickNavigationBar.tsx +222 -86
  217. package/dist/components/RadioGroup.tsx +375 -137
  218. package/dist/components/ResizablePanels.tsx +8 -14
  219. package/dist/components/SelectGrid.tsx +79 -38
  220. package/dist/components/SelectWithTemplate.tsx +23 -14
  221. package/dist/components/Selects.tsx +94 -29
  222. package/dist/components/SimpleList.tsx +91 -41
  223. package/dist/components/SubNav.tsx +57 -37
  224. package/dist/components/Switch.tsx +168 -42
  225. package/dist/components/TableList.tsx +220 -66
  226. package/dist/components/Tabs.tsx +149 -64
  227. package/dist/components/TagInputDocs.tsx +73 -17
  228. package/dist/components/Tags.tsx +104 -73
  229. package/dist/components/Text.tsx +108 -58
  230. package/dist/components/TimePicker.tsx +76 -22
  231. package/dist/components/Toasts.tsx +162 -80
  232. package/dist/components/Togglebox.tsx +164 -62
  233. package/dist/components/Tooltips.tsx +27 -15
  234. package/dist/components/TreeMenu.tsx +95 -59
  235. package/dist/components/TreeSelect.tsx +297 -162
  236. package/dist/components/WithPaginationDocs.tsx +15 -16
  237. package/dist/components/WithSizeObserver.tsx +9 -9
  238. package/dist/components/tree-select/TreeSelect.tsx +126 -77
  239. package/dist/components/tree-select/example-1.tsx +8 -12
  240. package/dist/components/tree-select/example-2.tsx +2 -5
  241. package/dist/components/utilities/BorderRadiusUtilities.tsx +28 -13
  242. package/dist/components/utilities/BorderUtilities.tsx +31 -32
  243. package/dist/components/utilities/DisplayUtilities.tsx +4 -5
  244. package/dist/components/utilities/FlexAndGridUtilities.tsx +38 -38
  245. package/dist/components/utilities/ObjectFitUtilities.tsx +4 -6
  246. package/dist/components/utilities/ObjectPositionUtilities.tsx +3 -4
  247. package/dist/components/utilities/OpacityUtilities.tsx +4 -7
  248. package/dist/components/utilities/OverflowUtilities.tsx +4 -5
  249. package/dist/components/utilities/PositionUtilities.tsx +4 -5
  250. package/dist/components/utilities/ShadowUtilities.tsx +15 -16
  251. package/dist/components/utilities/SpacingUtilities.tsx +483 -178
  252. package/dist/components/utilities/TextUtilities.tsx +109 -60
  253. package/dist/design-patterns/Index.tsx +8 -11
  254. package/dist/design-patterns/ThreePaneLayoutPattern.tsx +92 -76
  255. package/dist/examples.bundle.css +1257 -1155
  256. package/dist/examples.bundle.js +7904 -7035
  257. package/dist/playgrounds/dummy-data/items.ts +9 -8
  258. package/dist/playgrounds/react-playgrounds/CoreLayout.tsx +559 -277
  259. package/dist/playgrounds/react-playgrounds/EditorTest.tsx +387 -204
  260. package/dist/playgrounds/react-playgrounds/FirstPlayground.tsx +74 -52
  261. package/dist/playgrounds/react-playgrounds/Index.tsx +11 -11
  262. package/dist/playgrounds/react-playgrounds/Multiedit.tsx +294 -218
  263. package/dist/playgrounds/react-playgrounds/PageLayoutTest.tsx +151 -105
  264. package/dist/playgrounds/react-playgrounds/PersonalProfile.tsx +481 -261
  265. package/dist/playgrounds/react-playgrounds/RundownEditor.tsx +261 -149
  266. package/dist/playgrounds/react-playgrounds/Rundowns.tsx +757 -395
  267. package/dist/playgrounds/react-playgrounds/SamsPlayground.tsx +173 -91
  268. package/dist/playgrounds/react-playgrounds/TestGround.tsx +1364 -818
  269. package/dist/playgrounds/react-playgrounds/UiPlayground.tsx +178 -86
  270. package/dist/playgrounds/react-playgrounds/components/AuthoringContainer.tsx +6 -7
  271. package/dist/playgrounds/react-playgrounds/components/AuthoringContent.tsx +42 -42
  272. package/dist/playgrounds/react-playgrounds/components/ContentSplitter.tsx +5 -8
  273. package/dist/playgrounds/react-playgrounds/components/GraphicButton.tsx +11 -11
  274. package/dist/playgrounds/react-playgrounds/components/GraphicButtonsGroup.tsx +2 -6
  275. package/dist/playgrounds/react-playgrounds/components/HeaderPanel.tsx +1 -5
  276. package/dist/playgrounds/react-playgrounds/components/Index.tsx +19 -21
  277. package/dist/playgrounds/react-playgrounds/components/Layout.tsx +11 -17
  278. package/dist/playgrounds/react-playgrounds/components/LayoutContainer.tsx +1 -1
  279. package/dist/playgrounds/react-playgrounds/components/MainPanel.tsx +11 -12
  280. package/dist/playgrounds/react-playgrounds/components/OverlayPanel.tsx +3 -5
  281. package/dist/playgrounds/react-playgrounds/components/Panel.tsx +6 -7
  282. package/dist/playgrounds/react-playgrounds/components/PanelContent.tsx +1 -5
  283. package/dist/playgrounds/react-playgrounds/components/PanelContentBlock.tsx +1 -6
  284. package/dist/playgrounds/react-playgrounds/components/PanelHeader.tsx +3 -3
  285. package/dist/playgrounds/react-playgrounds/components/SearchBar.tsx +16 -12
  286. package/dist/playgrounds/react-playgrounds/components/SidebarMenu.tsx +23 -14
  287. package/dist/playgrounds/react-playgrounds/components/SubNav.tsx +1 -5
  288. package/dist/playgrounds/react-playgrounds/components/ThemeDropdown.tsx +14 -11
  289. package/dist/playgrounds/react-playgrounds/tsconfig.json +1 -1
  290. package/dist/superdesk-ui.bundle.css +25 -4
  291. package/dist/superdesk-ui.bundle.js +3072 -2903
  292. package/dist/vendor.bundle.js +18 -18
  293. package/examples/css/docs-page.css +1135 -1116
  294. package/examples/css/reset.css +124 -43
  295. package/examples/css/vendor.css +125 -125
  296. package/examples/index.js +138 -139
  297. package/examples/js/doc.js +41 -40
  298. package/examples/js/react.js +82 -48
  299. package/examples/pages/components/Alerts.tsx +171 -78
  300. package/examples/pages/components/Autocomplete.tsx +187 -78
  301. package/examples/pages/components/Avatar.tsx +52 -112
  302. package/examples/pages/components/Badges.tsx +111 -67
  303. package/examples/pages/components/BigIconFont.tsx +29 -17
  304. package/examples/pages/components/BoxedList.tsx +244 -114
  305. package/examples/pages/components/ButtonGroups.tsx +213 -147
  306. package/examples/pages/components/Buttons.tsx +409 -137
  307. package/examples/pages/components/Card.tsx +6 -7
  308. package/examples/pages/components/Carousel.tsx +126 -39
  309. package/examples/pages/components/Checkboxs.tsx +446 -105
  310. package/examples/pages/components/Container.tsx +95 -48
  311. package/examples/pages/components/ContentDivider.tsx +110 -63
  312. package/examples/pages/components/ContentList.tsx +577 -253
  313. package/examples/pages/components/CreateButton.tsx +71 -21
  314. package/examples/pages/components/DatePicker.tsx +102 -26
  315. package/examples/pages/components/DateTimePicker.tsx +49 -11
  316. package/examples/pages/components/DragHandleDocs.tsx +56 -26
  317. package/examples/pages/components/DropZone.tsx +67 -29
  318. package/examples/pages/components/Dropdowns.tsx +220 -131
  319. package/examples/pages/components/DurationInput.tsx +92 -32
  320. package/examples/pages/components/EmptyStates.tsx +61 -26
  321. package/examples/pages/components/GridItem.tsx +190 -91
  322. package/examples/pages/components/GridList.tsx +37 -17
  323. package/examples/pages/components/Heading.tsx +81 -35
  324. package/examples/pages/components/IconButtons.tsx +125 -32
  325. package/examples/pages/components/IconFont.tsx +24 -12
  326. package/examples/pages/components/IconLabels.tsx +146 -39
  327. package/examples/pages/components/IconPicker.tsx +30 -13
  328. package/examples/pages/components/IllustrationButton.tsx +40 -20
  329. package/examples/pages/components/Index.tsx +128 -114
  330. package/examples/pages/components/Inputs.tsx +153 -51
  331. package/examples/pages/components/Labels.tsx +191 -117
  332. package/examples/pages/components/LeftNavigations.tsx +327 -100
  333. package/examples/pages/components/ListItems.tsx +8 -9
  334. package/examples/pages/components/Loader.tsx +5 -4
  335. package/examples/pages/components/Menu.tsx +48 -26
  336. package/examples/pages/components/Modal.tsx +298 -104
  337. package/examples/pages/components/MultiSelect.tsx +189 -53
  338. package/examples/pages/components/NavButtons.tsx +86 -30
  339. package/examples/pages/components/Panel.tsx +367 -120
  340. package/examples/pages/components/Popover.tsx +37 -17
  341. package/examples/pages/components/QuickNavigationBar.tsx +222 -86
  342. package/examples/pages/components/RadioGroup.tsx +375 -137
  343. package/examples/pages/components/ResizablePanels.tsx +8 -14
  344. package/examples/pages/components/SelectGrid.tsx +79 -38
  345. package/examples/pages/components/SelectWithTemplate.tsx +23 -14
  346. package/examples/pages/components/Selects.tsx +94 -29
  347. package/examples/pages/components/SimpleList.tsx +91 -41
  348. package/examples/pages/components/SubNav.tsx +57 -37
  349. package/examples/pages/components/Switch.tsx +168 -42
  350. package/examples/pages/components/TableList.tsx +220 -66
  351. package/examples/pages/components/Tabs.tsx +149 -64
  352. package/examples/pages/components/TagInputDocs.tsx +73 -17
  353. package/examples/pages/components/Tags.tsx +104 -73
  354. package/examples/pages/components/Text.tsx +108 -58
  355. package/examples/pages/components/TimePicker.tsx +76 -22
  356. package/examples/pages/components/Toasts.tsx +162 -80
  357. package/examples/pages/components/Togglebox.tsx +164 -62
  358. package/examples/pages/components/Tooltips.tsx +27 -15
  359. package/examples/pages/components/TreeMenu.tsx +95 -59
  360. package/examples/pages/components/TreeSelect.tsx +297 -162
  361. package/examples/pages/components/WithPaginationDocs.tsx +15 -16
  362. package/examples/pages/components/WithSizeObserver.tsx +9 -9
  363. package/examples/pages/components/tree-select/TreeSelect.tsx +126 -77
  364. package/examples/pages/components/tree-select/example-1.tsx +8 -12
  365. package/examples/pages/components/tree-select/example-2.tsx +2 -5
  366. package/examples/pages/components/utilities/BorderRadiusUtilities.tsx +28 -13
  367. package/examples/pages/components/utilities/BorderUtilities.tsx +31 -32
  368. package/examples/pages/components/utilities/DisplayUtilities.tsx +4 -5
  369. package/examples/pages/components/utilities/FlexAndGridUtilities.tsx +38 -38
  370. package/examples/pages/components/utilities/ObjectFitUtilities.tsx +4 -6
  371. package/examples/pages/components/utilities/ObjectPositionUtilities.tsx +3 -4
  372. package/examples/pages/components/utilities/OpacityUtilities.tsx +4 -7
  373. package/examples/pages/components/utilities/OverflowUtilities.tsx +4 -5
  374. package/examples/pages/components/utilities/PositionUtilities.tsx +4 -5
  375. package/examples/pages/components/utilities/ShadowUtilities.tsx +15 -16
  376. package/examples/pages/components/utilities/SpacingUtilities.tsx +483 -178
  377. package/examples/pages/components/utilities/TextUtilities.tsx +109 -60
  378. package/examples/pages/design-patterns/Index.tsx +8 -11
  379. package/examples/pages/design-patterns/ThreePaneLayoutPattern.tsx +92 -76
  380. package/examples/pages/playgrounds/dummy-data/items.ts +9 -8
  381. package/examples/pages/playgrounds/react-playgrounds/CoreLayout.tsx +559 -277
  382. package/examples/pages/playgrounds/react-playgrounds/EditorTest.tsx +387 -204
  383. package/examples/pages/playgrounds/react-playgrounds/FirstPlayground.tsx +74 -52
  384. package/examples/pages/playgrounds/react-playgrounds/Index.tsx +11 -11
  385. package/examples/pages/playgrounds/react-playgrounds/Multiedit.tsx +294 -218
  386. package/examples/pages/playgrounds/react-playgrounds/PageLayoutTest.tsx +151 -105
  387. package/examples/pages/playgrounds/react-playgrounds/PersonalProfile.tsx +481 -261
  388. package/examples/pages/playgrounds/react-playgrounds/RundownEditor.tsx +261 -149
  389. package/examples/pages/playgrounds/react-playgrounds/Rundowns.tsx +757 -395
  390. package/examples/pages/playgrounds/react-playgrounds/SamsPlayground.tsx +173 -91
  391. package/examples/pages/playgrounds/react-playgrounds/TestGround.tsx +1364 -818
  392. package/examples/pages/playgrounds/react-playgrounds/UiPlayground.tsx +178 -86
  393. package/examples/pages/playgrounds/react-playgrounds/components/AuthoringContainer.tsx +6 -7
  394. package/examples/pages/playgrounds/react-playgrounds/components/AuthoringContent.tsx +42 -42
  395. package/examples/pages/playgrounds/react-playgrounds/components/ContentSplitter.tsx +5 -8
  396. package/examples/pages/playgrounds/react-playgrounds/components/GraphicButton.tsx +11 -11
  397. package/examples/pages/playgrounds/react-playgrounds/components/GraphicButtonsGroup.tsx +2 -6
  398. package/examples/pages/playgrounds/react-playgrounds/components/HeaderPanel.tsx +1 -5
  399. package/examples/pages/playgrounds/react-playgrounds/components/Index.tsx +19 -21
  400. package/examples/pages/playgrounds/react-playgrounds/components/Layout.tsx +11 -17
  401. package/examples/pages/playgrounds/react-playgrounds/components/LayoutContainer.tsx +1 -1
  402. package/examples/pages/playgrounds/react-playgrounds/components/MainPanel.tsx +11 -12
  403. package/examples/pages/playgrounds/react-playgrounds/components/OverlayPanel.tsx +3 -5
  404. package/examples/pages/playgrounds/react-playgrounds/components/Panel.tsx +6 -7
  405. package/examples/pages/playgrounds/react-playgrounds/components/PanelContent.tsx +1 -5
  406. package/examples/pages/playgrounds/react-playgrounds/components/PanelContentBlock.tsx +1 -6
  407. package/examples/pages/playgrounds/react-playgrounds/components/PanelHeader.tsx +3 -3
  408. package/examples/pages/playgrounds/react-playgrounds/components/SearchBar.tsx +16 -12
  409. package/examples/pages/playgrounds/react-playgrounds/components/SidebarMenu.tsx +23 -14
  410. package/examples/pages/playgrounds/react-playgrounds/components/SubNav.tsx +1 -5
  411. package/examples/pages/playgrounds/react-playgrounds/components/ThemeDropdown.tsx +14 -11
  412. package/examples/pages/playgrounds/react-playgrounds/tsconfig.json +1 -1
  413. package/globals.d.ts +1 -1
  414. package/mocha-setup.ts +3 -3
  415. package/package.json +119 -117
  416. package/react/components/Alert.js +6 -9
  417. package/react/components/Autocomplete.js +15 -23
  418. package/react/components/Badge.js +1 -1
  419. package/react/components/Button.js +4 -6
  420. package/react/components/ButtonGroup.js +1 -1
  421. package/react/components/Carousel.js +3 -3
  422. package/react/components/CheckButtonGroup.js +3 -6
  423. package/react/components/CheckboxButton.js +2 -4
  424. package/react/components/ContentDivider.js +1 -1
  425. package/react/components/DatePicker.js +29 -26
  426. package/react/components/DateTimePicker.d.ts +8 -4
  427. package/react/components/DateTimePicker.js +6 -8
  428. package/react/components/Divider.js +1 -1
  429. package/react/components/DonutChart.js +1 -1
  430. package/react/components/DragHandle.js +1 -1
  431. package/react/components/DragHandleDots.js +1 -1
  432. package/react/components/DropZone.js +6 -8
  433. package/react/components/Dropdown.d.ts +1 -1
  434. package/react/components/Dropdown.js +34 -38
  435. package/react/components/DropdownFirst.d.ts +11 -11
  436. package/react/components/DropdownFirst.js +20 -24
  437. package/react/components/DurationInput.js +37 -34
  438. package/react/components/EmptyState.js +5 -5
  439. package/react/components/Form/FormGroup.js +1 -1
  440. package/react/components/Form/FormItem.js +1 -1
  441. package/react/components/Form/FormRow.js +1 -1
  442. package/react/components/Form/FormRowNew.js +3 -3
  443. package/react/components/Form/FormText.js +1 -1
  444. package/react/components/Form/InputNew.js +3 -3
  445. package/react/components/Form/InputWrapper.js +7 -10
  446. package/react/components/GridItem.d.ts +1 -1
  447. package/react/components/GridItem.js +16 -16
  448. package/react/components/GridList.js +1 -1
  449. package/react/components/HeadingText.js +4 -5
  450. package/react/components/IconLabel.js +3 -5
  451. package/react/components/IconPicker.d.ts +1 -1
  452. package/react/components/IconPicker.js +111 -104
  453. package/react/components/IllustrationButton.js +1 -1
  454. package/react/components/Input.js +1 -1
  455. package/react/components/Layouts/AuthorinInnerSideBar.js +1 -1
  456. package/react/components/Layouts/AuthoringContainer.js +1 -1
  457. package/react/components/Layouts/AuthoringFrame.js +4 -4
  458. package/react/components/Layouts/AuthoringFrameContainer.js +1 -1
  459. package/react/components/Layouts/AuthoringFrameLeftBar.js +1 -1
  460. package/react/components/Layouts/AuthoringFrameMain.js +1 -1
  461. package/react/components/Layouts/AuthoringFrameNavBar.js +1 -1
  462. package/react/components/Layouts/AuthoringFrameOverlay.js +1 -1
  463. package/react/components/Layouts/AuthoringFrameRightBar.js +1 -1
  464. package/react/components/Layouts/AuthoringFrameSidePanel.js +1 -1
  465. package/react/components/Layouts/AuthoringFrameSidePanelOverlay.js +1 -1
  466. package/react/components/Layouts/AuthoringMainContainer.js +1 -1
  467. package/react/components/Layouts/AuthoringMainContent.js +1 -1
  468. package/react/components/Layouts/AuthoringMainToolBar.js +1 -1
  469. package/react/components/Layouts/BottomBarAction.js +2 -2
  470. package/react/components/Layouts/ContentSplitter.js +1 -1
  471. package/react/components/Layouts/CoreLayout.js +2 -2
  472. package/react/components/Layouts/CoreLayoutContainer.js +1 -1
  473. package/react/components/Layouts/CoreLayoutFooter.js +1 -1
  474. package/react/components/Layouts/CoreLayoutOverlay.js +1 -1
  475. package/react/components/Layouts/CoreLayoutSlideInMenu.js +2 -2
  476. package/react/components/Layouts/CoreLayoutTopMenu.js +3 -3
  477. package/react/components/Layouts/HamburgerButton.js +1 -1
  478. package/react/components/Layouts/HeaderPanel.js +1 -1
  479. package/react/components/Layouts/Layout.d.ts +1 -1
  480. package/react/components/Layouts/Layout.js +9 -9
  481. package/react/components/Layouts/LayoutContainer.js +1 -1
  482. package/react/components/Layouts/LeftPanel.js +1 -1
  483. package/react/components/Layouts/MainMenu.js +8 -10
  484. package/react/components/Layouts/MainPanel.js +1 -1
  485. package/react/components/Layouts/NotificationPanel.d.ts +1 -1
  486. package/react/components/Layouts/NotificationPanel.js +7 -7
  487. package/react/components/Layouts/OverlayPanel.js +3 -3
  488. package/react/components/Layouts/PageLayout.js +2 -2
  489. package/react/components/Layouts/Panel.d.ts +1 -1
  490. package/react/components/Layouts/Panel.js +12 -18
  491. package/react/components/LeftMenu.d.ts +3 -3
  492. package/react/components/LeftMenu.js +11 -13
  493. package/react/components/Lists/BoxedList.js +6 -6
  494. package/react/components/Lists/CalendarWeekDayItem.js +2 -2
  495. package/react/components/Lists/ContentList.js +24 -26
  496. package/react/components/Lists/TableList.d.ts +1 -1
  497. package/react/components/Lists/TableList.js +59 -79
  498. package/react/components/Loader.js +1 -1
  499. package/react/components/Menu.js +1 -1
  500. package/react/components/Modal.d.ts +1 -1
  501. package/react/components/MultiSelect.d.ts +1 -1
  502. package/react/components/MultiSelect.js +2 -2
  503. package/react/components/NavButton.js +2 -4
  504. package/react/components/Navigation/BottomNav.js +9 -8
  505. package/react/components/Navigation/QuickNavBar.js +17 -20
  506. package/react/components/Navigation/SideBarMenu.js +11 -9
  507. package/react/components/Navigation/SideBarTabs.js +9 -8
  508. package/react/components/Popover.js +1 -1
  509. package/react/components/RadioButtonGroup.js +15 -23
  510. package/react/components/ResizablePanels.js +1 -3
  511. package/react/components/ResizeObserverComponent.js +1 -3
  512. package/react/components/SearchBar.js +14 -16
  513. package/react/components/Select.js +3 -3
  514. package/react/components/SelectGrid.js +15 -20
  515. package/react/components/SelectPreview.js +13 -13
  516. package/react/components/SelectWithTemplate.js +3 -5
  517. package/react/components/ShowPopup.d.ts +1 -0
  518. package/react/components/ShowPopup.js +7 -10
  519. package/react/components/Skeleton.js +1 -1
  520. package/react/components/SlidingToolbar.js +1 -1
  521. package/react/components/Spinner.js +1 -1
  522. package/react/components/StrechBar.js +1 -1
  523. package/react/components/SubNav.js +1 -1
  524. package/react/components/Switch.js +4 -6
  525. package/react/components/SwitchGroup.js +1 -1
  526. package/react/components/TabCustom.js +6 -4
  527. package/react/components/TabList.js +4 -8
  528. package/react/components/Tag.js +13 -17
  529. package/react/components/TagInput.js +1 -1
  530. package/react/components/Text/Heading.js +6 -6
  531. package/react/components/ThemeSelector.js +1 -1
  532. package/react/components/TimePicker.d.ts +9 -2
  533. package/react/components/TimePicker.js +29 -4
  534. package/react/components/TimePickerPopover.d.ts +19 -0
  535. package/react/components/TimePickerPopover.js +225 -0
  536. package/react/components/TimePickerV2.js +17 -17
  537. package/react/components/Toast.js +3 -3
  538. package/react/components/ToastMessage.d.ts +1 -1
  539. package/react/components/ToastMessage.js +1 -1
  540. package/react/components/ToastText.js +5 -8
  541. package/react/components/ToastWrapper.js +3 -5
  542. package/react/components/ToggleBox/CustomHeaderToggleBox.d.ts +1 -1
  543. package/react/components/ToggleBox/CustomHeaderToggleBox.js +7 -7
  544. package/react/components/ToggleBox/SimpleToggleBox.d.ts +1 -1
  545. package/react/components/ToggleBox/SimpleToggleBox.js +5 -5
  546. package/react/components/ToggleBox/index.js +3 -3
  547. package/react/components/TreeMenu.d.ts +1 -1
  548. package/react/components/TreeMenu.js +38 -44
  549. package/react/components/TreeSelect/TreeSelect.d.ts +2 -2
  550. package/react/components/TreeSelect/TreeSelect.js +105 -127
  551. package/react/components/TreeSelect/TreeSelectItem.d.ts +1 -1
  552. package/react/components/TreeSelect/TreeSelectItem.js +10 -13
  553. package/react/components/TreeSelect/TreeSelectPill.d.ts +1 -1
  554. package/react/components/TreeSelect/TreeSelectPill.js +8 -9
  555. package/react/components/WithPagination.js +18 -21
  556. package/react/components/WithPortal.d.ts +1 -1
  557. package/react/components/WithPortal.js +2 -1
  558. package/react/components/WithSizeObserver.js +1 -3
  559. package/react/components/_Positioner.js +11 -11
  560. package/react/components/avatar/avatar-action-add.js +1 -1
  561. package/react/components/avatar/avatar-group.js +11 -14
  562. package/react/components/avatar/avatar-image.js +6 -4
  563. package/react/components/avatar/avatar-placeholder.js +1 -1
  564. package/react/components/avatar/avatar-wrapper.js +2 -4
  565. package/react/components/avatar/avatar.js +4 -3
  566. package/react/helpers.js +2 -2
  567. package/react/index.d.ts +1 -1
  568. package/react/utils/time.d.ts +5 -0
  569. package/react/utils/time.js +36 -0
  570. package/tasks/webpack.dev.js +1 -1
  571. package/tasks/webpack.js +5 -5
  572. package/tasks/webpack.prod.js +1 -5
  573. package/tsconfig.json +2 -5
  574. package/tslint.json +6 -12
  575. package/webpack.config.js +2 -5
@@ -1,10 +1,10 @@
1
- import * as React from "react";
2
- import { Icon } from "../Icon";
3
- import { Loader } from "../Loader";
4
- import nextId from "react-id-generator";
1
+ import * as React from 'react';
2
+ import {Icon} from '../Icon';
3
+ import {Loader} from '../Loader';
4
+ import nextId from 'react-id-generator';
5
5
  import _debounce from 'lodash/debounce';
6
- import { InputWrapper } from "../Form";
7
- import { createPopper, Instance } from '@popperjs/core';
6
+ import {InputWrapper} from '../Form';
7
+ import {createPopper, Instance} from '@popperjs/core';
8
8
  import {isEqual} from 'lodash';
9
9
  import {getTextColor} from '../../helpers';
10
10
  import {IInputWrapper} from '../Form/InputWrapper';
@@ -13,7 +13,7 @@ import {TreeSelectPill} from './TreeSelectPill';
13
13
  import {getPrefixedItemId, TreeSelectItem} from './TreeSelectItem';
14
14
  import {keyboardNavigation} from './KeyboardNavigation';
15
15
  import {WithPortal} from '../WithPortal';
16
- import { DragDropContext, Droppable, Draggable, DropResult } from "react-beautiful-dnd";
16
+ import {DragDropContext, Droppable, Draggable, DropResult} from 'react-beautiful-dnd';
17
17
  import {getNextZIndex} from '../../zIndex';
18
18
  import {arrayMove} from '@sourcefabric/common';
19
19
 
@@ -93,10 +93,10 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
93
93
  private zIndex: number = getNextZIndex();
94
94
 
95
95
  /*
96
- * This variable is used to distinguish changes coming from outside (from props.value)
97
- * from those made by the user through interaction with the component.
98
- * It prevents triggering `onChange` when `props.value` updates externally.
99
- */
96
+ * This variable is used to distinguish changes coming from outside (from props.value)
97
+ * from those made by the user through interaction with the component.
98
+ * It prevents triggering `onChange` when `props.value` updates externally.
99
+ */
100
100
  private changesFromOutside: boolean;
101
101
 
102
102
  constructor(props: IProps<T>) {
@@ -141,29 +141,29 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
141
141
 
142
142
  inputFocus = () => {
143
143
  this.inputRef.current?.focus();
144
- }
144
+ };
145
145
 
146
146
  listNavigation = () => {
147
147
  const element: HTMLElement = document.querySelector('.suggestion-item--btn') as HTMLElement;
148
148
  element.focus();
149
- }
149
+ };
150
150
 
151
151
  buttonFocus = () => {
152
152
  this.categoryButtonRef.current?.focus();
153
- }
153
+ };
154
154
 
155
155
  onMouseDown = (event: MouseEvent) => {
156
156
  if (
157
- (this.dropdownRef.current?.contains(event.target as HTMLElement) !== true)
158
- && (this.treeSelectRef.current?.contains(event.target as HTMLElement) !== true)
159
- && this.state.openDropdown
157
+ this.dropdownRef.current?.contains(event.target as HTMLElement) !== true &&
158
+ this.treeSelectRef.current?.contains(event.target as HTMLElement) !== true &&
159
+ this.state.openDropdown
160
160
  ) {
161
161
  this.setState({
162
162
  openDropdown: false,
163
163
  searchFieldValue: '',
164
164
  });
165
165
  }
166
- }
166
+ };
167
167
 
168
168
  onKeyDown = (e: KeyboardEvent) => {
169
169
  if (this.state.openDropdown && this.ref.current) {
@@ -185,7 +185,7 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
185
185
  }
186
186
  }
187
187
  }
188
- }
188
+ };
189
189
 
190
190
  onPressEsc = (event: KeyboardEvent) => {
191
191
  if (event.key === 'Escape' && this.state.openDropdown) {
@@ -194,24 +194,24 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
194
194
  searchFieldValue: '',
195
195
  });
196
196
  }
197
- }
197
+ };
198
198
 
199
199
  componentDidMount = () => {
200
200
  this.recursion(this.state.options);
201
201
 
202
- document.addEventListener("mousedown", this.onMouseDown);
203
- document.addEventListener("keydown", this.onKeyDown);
204
- document.addEventListener("keydown", this.onPressEsc);
202
+ document.addEventListener('mousedown', this.onMouseDown);
203
+ document.addEventListener('keydown', this.onKeyDown);
204
+ document.addEventListener('keydown', this.onPressEsc);
205
205
 
206
206
  if (this.props.dropdownInitiallyOpen) {
207
207
  this.setState({openDropdown: true});
208
208
  }
209
- }
209
+ };
210
210
 
211
211
  componentWillUnmount(): void {
212
- document.removeEventListener("mousedown", this.onMouseDown);
213
- document.removeEventListener("keydown", this.onKeyDown);
214
- document.addEventListener("keydown", this.onPressEsc);
212
+ document.removeEventListener('mousedown', this.onMouseDown);
213
+ document.removeEventListener('keydown', this.onKeyDown);
214
+ document.addEventListener('keydown', this.onPressEsc);
215
215
  }
216
216
 
217
217
  componentDidUpdate(prevProps: Readonly<IProps<T>>, prevState: Readonly<IState<T>>): void {
@@ -234,9 +234,9 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
234
234
 
235
235
  if (this.props.kind === 'synchronous') {
236
236
  if (
237
- (prevState.activeTree !== this.state.activeTree)
238
- || (prevState.filterArr !== this.state.filterArr)
239
- || (prevState.options !== this.state.options)
237
+ prevState.activeTree !== this.state.activeTree ||
238
+ prevState.filterArr !== this.state.filterArr ||
239
+ prevState.options !== this.state.options
240
240
  ) {
241
241
  this.popperInstance?.update();
242
242
  }
@@ -342,8 +342,7 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
342
342
  this.setState({
343
343
  options: this.state.firstBranchOptions,
344
344
  activeTree: [],
345
- buttonTarget:
346
- [],
345
+ buttonTarget: [],
347
346
  openDropdown: false,
348
347
  });
349
348
  }
@@ -403,7 +402,7 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
403
402
  if (this.props.selectBranchWithChildren) {
404
403
  let filteredItems: Array<T> = [];
405
404
 
406
- option.children.forEach((item: { value: T; }) => {
405
+ option.children.forEach((item: {value: T}) => {
407
406
  if (!this.state.value.includes(item.value)) {
408
407
  filteredItems.push(item.value);
409
408
  }
@@ -420,8 +419,7 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
420
419
  let filteredItems: Array<T> = [];
421
420
 
422
421
  option.children.forEach((item: ITreeNode<T>) => {
423
- if (!this.state.value.includes(item.value)
424
- && !item.children) {
422
+ if (!this.state.value.includes(item.value) && !item.children) {
425
423
  filteredItems.push(item.value);
426
424
  }
427
425
  });
@@ -479,9 +477,11 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
479
477
  if (this.props.kind === 'synchronous') {
480
478
  let filteredArr = arr.filter((item) => {
481
479
  if (this.state.searchFieldValue) {
482
- if (this.props.getLabel(item.value)
483
- .toLowerCase()
484
- .includes(this.state.searchFieldValue.toLowerCase())
480
+ if (
481
+ this.props
482
+ .getLabel(item.value)
483
+ .toLowerCase()
484
+ .includes(this.state.searchFieldValue.toLowerCase())
485
485
  ) {
486
486
  return item.value;
487
487
  } else {
@@ -496,8 +496,8 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
496
496
  return <li className="suggestion-item--nothing-found">Nothing found</li>;
497
497
  } else {
498
498
  return filteredArr.map((option, i) => {
499
- let selectedItem = this.state.value.some((obj) =>
500
- this.props.getId(obj) === this.props.getId(option.value),
499
+ let selectedItem = this.state.value.some(
500
+ (obj) => this.props.getId(obj) === this.props.getId(option.value),
501
501
  );
502
502
 
503
503
  return (
@@ -512,9 +512,11 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
512
512
  getId={this.props.getId}
513
513
  optionTemplate={this.props.optionTemplate}
514
514
  getLabel={this.props.getLabel}
515
- onClick={() => this.setState({
516
- searchFieldValue: '',
517
- })}
515
+ onClick={() =>
516
+ this.setState({
517
+ searchFieldValue: '',
518
+ })
519
+ }
518
520
  />
519
521
  );
520
522
  });
@@ -522,36 +524,36 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
522
524
  } else if (this.props.kind === 'asynchronous') {
523
525
  if (this.state.options.length > 0) {
524
526
  return this.state.options.map((item, i) => {
525
- let selectedItem = this.state.value.some((obj) =>
526
- this.props.getId(obj) === this.props.getId(item.value),
527
+ let selectedItem = this.state.value.some(
528
+ (obj) => this.props.getId(obj) === this.props.getId(item.value),
527
529
  );
528
530
 
529
531
  return (
530
532
  <li
531
533
  key={i}
532
- className='suggestion-item suggestion-item--multi-select'
534
+ className="suggestion-item suggestion-item--multi-select"
533
535
  onClick={(event) => {
534
536
  this.handleValue(event, item);
535
537
  }}
536
538
  >
537
539
  <button className="suggestion-item--btn" data-test-id="option">
538
- {this.props.optionTemplate
539
- ? this.props.optionTemplate(item.value)
540
- : (
541
- <span
542
- className={selectedItem ? 'suggestion-item--selected' : undefined}
543
- >
544
- {this.props.getLabel(item.value)}
545
- </span>
546
- )
547
- }
540
+ {this.props.optionTemplate ? (
541
+ this.props.optionTemplate(item.value)
542
+ ) : (
543
+ <span className={selectedItem ? 'suggestion-item--selected' : undefined}>
544
+ {this.props.getLabel(item.value)}
545
+ </span>
546
+ )}
548
547
  </button>
549
548
  </li>
550
549
  );
551
550
  });
552
-
553
551
  } else {
554
- return <li className="suggestion-item--nothing-found">{this.props.noResultsFoundMessage ?? 'Nothing found'}</li>;
552
+ return (
553
+ <li className="suggestion-item--nothing-found">
554
+ {this.props.noResultsFoundMessage ?? 'Nothing found'}
555
+ </li>
556
+ );
555
557
  }
556
558
  } else {
557
559
  return;
@@ -580,14 +582,14 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
580
582
  });
581
583
  });
582
584
 
583
- let selectedButton = this.state.value.some((obj) =>
584
- this.props.getId(obj) === this.props.getId(buttonValue.value),
585
+ let selectedButton = this.state.value.some(
586
+ (obj) => this.props.getId(obj) === this.props.getId(buttonValue.value),
585
587
  );
586
588
 
587
589
  if (!selectedButton) {
588
590
  return (
589
591
  <button
590
- className='autocomplete__button autocomplete__button--multi-select'
592
+ className="autocomplete__button autocomplete__button--multi-select"
591
593
  ref={this.categoryButtonRef}
592
594
  onMouseOver={() => this.setState({buttonMouseEvent: true})}
593
595
  onMouseOut={() => this.setState({buttonMouseEvent: false})}
@@ -598,9 +600,7 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
598
600
  );
599
601
  } else {
600
602
  return (
601
- <button
602
- className='autocomplete__button autocomplete__button--multi-select autocomplete__button--disabled'
603
- >
603
+ <button className="autocomplete__button autocomplete__button--multi-select autocomplete__button--disabled">
604
604
  Category selected
605
605
  </button>
606
606
  );
@@ -640,32 +640,25 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
640
640
  return this.props.valueTemplate(item, Wrapper);
641
641
  }
642
642
 
643
- const content = this.props.optionTemplate?.(item) ?? (
644
- <span>
645
- {this.props.getLabel(item)}
646
- </span>
647
- );
643
+ const content = this.props.optionTemplate?.(item) ?? <span>{this.props.getLabel(item)}</span>;
648
644
 
649
- return (
650
- <Wrapper>
651
- {content}
652
- </Wrapper>
653
- );
645
+ return <Wrapper>{content}</Wrapper>;
654
646
  }
655
647
 
656
648
  render() {
657
649
  if (this.props.preview) {
658
650
  return (
659
651
  <SelectPreview
660
- kind={this.props.allowMultiple
661
- ? {
662
- mode: 'multi-select',
663
- getBackgroundColor: this.props.getBackgroundColor,
664
- }
665
- : {
666
- mode: 'single-select',
667
- getBorderColor: this.props.getBorderColor,
668
- }
652
+ kind={
653
+ this.props.allowMultiple
654
+ ? {
655
+ mode: 'multi-select',
656
+ getBackgroundColor: this.props.getBackgroundColor,
657
+ }
658
+ : {
659
+ mode: 'single-select',
660
+ getBorderColor: this.props.getBorderColor,
661
+ }
669
662
  }
670
663
  items={this.state.value}
671
664
  valueTemplate={this.props.valueTemplate}
@@ -676,39 +669,35 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
676
669
 
677
670
  const ListWrapper = this.props.sortable
678
671
  ? ({children}: {children: React.ReactNode}) => (
679
- <DragDropContext onDragEnd={this.onDragEnd}>
680
- <Droppable droppableId="droppable" direction="horizontal">
681
- {(provided, _snapshot) => (
682
- <ul
683
- className="tags-input__tag-list"
684
- ref={provided.innerRef}
685
- {...provided.droppableProps}
686
- >
687
- {children}
688
- {provided.placeholder}
689
- </ul>
690
- )}
691
- </Droppable>
692
- </DragDropContext>
693
- )
672
+ <DragDropContext onDragEnd={this.onDragEnd}>
673
+ <Droppable droppableId="droppable" direction="horizontal">
674
+ {(provided, _snapshot) => (
675
+ <ul className="tags-input__tag-list" ref={provided.innerRef} {...provided.droppableProps}>
676
+ {children}
677
+ {provided.placeholder}
678
+ </ul>
679
+ )}
680
+ </Droppable>
681
+ </DragDropContext>
682
+ )
694
683
  : ({children}: {children: React.ReactNode}) => <ul className="tags-input__tag-list">{children}</ul>;
695
684
 
696
685
  const ItemWrapper = this.props.sortable
697
- ? ({children, itemId, i}: {children: React.ReactNode, itemId: string, i: number}) => {
698
- return (
699
- <Draggable draggableId={itemId} index={i}>
700
- {(provided2) => (
701
- <div
702
- ref={provided2.innerRef}
703
- {...provided2.draggableProps}
704
- {...provided2.dragHandleProps}
705
- >
706
- {children}
707
- </div>
708
- )}
709
- </Draggable>
710
- );
711
- }
686
+ ? ({children, itemId, i}: {children: React.ReactNode; itemId: string; i: number}) => {
687
+ return (
688
+ <Draggable draggableId={itemId} index={i}>
689
+ {(provided2) => (
690
+ <div
691
+ ref={provided2.innerRef}
692
+ {...provided2.draggableProps}
693
+ {...provided2.dragHandleProps}
694
+ >
695
+ {children}
696
+ </div>
697
+ )}
698
+ </Draggable>
699
+ );
700
+ }
712
701
  : ({children}: {children: React.ReactNode}) => <React.Fragment>{children}</React.Fragment>;
713
702
 
714
703
  return (
@@ -730,20 +719,18 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
730
719
  <div
731
720
  className={`
732
721
  tags-input sd-input__input
733
- tags-input--${this.props.allowMultiple ? 'multi-select' : 'single-select'}`
734
- }
722
+ tags-input--${this.props.allowMultiple ? 'multi-select' : 'single-select'}`}
735
723
  ref={this.treeSelectRef}
736
724
  data-test-id={this.props.allowMultiple ? undefined : 'open-popover'}
737
725
  >
738
- {this.props.allowMultiple
739
- ? <div className="tags-input__tags">
740
- {this.props.readOnly
741
- || <button
726
+ {this.props.allowMultiple ? (
727
+ <div className="tags-input__tags">
728
+ {this.props.readOnly || (
729
+ <button
742
730
  ref={this.openDropdownRef}
743
731
  className={`
744
732
  tags-input__add-button
745
- ${this.props.disabled ? 'tags-input__add-button--disabled' : ''}`
746
- }
733
+ ${this.props.disabled ? 'tags-input__add-button--disabled' : ''}`}
747
734
  onClick={(e) => {
748
735
  e.stopPropagation();
749
736
 
@@ -760,12 +747,14 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
760
747
  >
761
748
  <i className="icon-plus-large"></i>
762
749
  </button>
763
- }
750
+ )}
764
751
 
765
752
  <ListWrapper>
766
753
  {this.state.value.map((item, i: number) => {
767
- const Wrapper: React.ComponentType<{backgroundColor?: string}>
768
- = ({backgroundColor, children}) => (
754
+ const Wrapper: React.ComponentType<{backgroundColor?: string}> = ({
755
+ backgroundColor,
756
+ children,
757
+ }) => (
769
758
  <TreeSelectPill
770
759
  item={item}
771
760
  readOnly={this.props.readOnly}
@@ -791,63 +780,66 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
791
780
  </ListWrapper>
792
781
 
793
782
  {this.state.value.length > 0
794
- ? (this.props.readOnly || this.props.disabled)
795
- || <button
796
- className="tags-input__remove-value"
797
- style={{position: 'relative', bottom: '2px'}}
798
- onClick={(e) => {
799
- e.stopPropagation();
800
- this.setState({value: []});
801
- }}
802
- >
803
- <Icon name='remove-sign'></Icon>
804
- </button>
805
- : null
806
- }
783
+ ? this.props.readOnly ||
784
+ this.props.disabled || (
785
+ <button
786
+ className="tags-input__remove-value"
787
+ style={{position: 'relative', bottom: '2px'}}
788
+ onClick={(e) => {
789
+ e.stopPropagation();
790
+ this.setState({value: []});
791
+ }}
792
+ >
793
+ <Icon name="remove-sign"></Icon>
794
+ </button>
795
+ )
796
+ : null}
807
797
  </div>
808
- : <div className="tags-input__tags">
809
- {this.props.readOnly
810
- || <button
798
+ ) : (
799
+ <div className="tags-input__tags">
800
+ {this.props.readOnly || (
801
+ <button
811
802
  className="tags-input__overlay-button"
812
803
  ref={this.openDropdownRef}
813
804
  onClick={() => {
814
805
  this.setState({openDropdown: !this.state.openDropdown});
815
806
  }}
816
807
  />
817
- }
808
+ )}
818
809
 
819
- {this.state.value.length < 1
820
- && <span
821
- className={ 'tags-input__single-item'
822
- + (this.props.readOnly ? ' tags-input__tag-item--readonly' : '')
823
- }
824
- >
825
- <span className="tags-input__placeholder">
826
- {this.props.placeholder}
827
- </span>
810
+ {this.state.value.length < 1 && (
811
+ <span
812
+ className={
813
+ 'tags-input__single-item' +
814
+ (this.props.readOnly ? ' tags-input__tag-item--readonly' : '')
815
+ }
816
+ >
817
+ <span className="tags-input__placeholder">{this.props.placeholder}</span>
828
818
  </span>
829
- }
819
+ )}
830
820
 
831
821
  {this.state.value.map((item, i: number) => {
832
- const Wrapper: React.ComponentType<{backgroundColor?: string, borderColor?: string}>
833
- = ({backgroundColor, borderColor, children}) => (
822
+ const Wrapper: React.ComponentType<{
823
+ backgroundColor?: string;
824
+ borderColor?: string;
825
+ }> = ({backgroundColor, borderColor, children}) => (
834
826
  <span
835
827
  className={
836
- 'tags-input__single-item'
837
- + (this.props.readOnly ? ' tags-input__tag-item--readonly' : '')
828
+ 'tags-input__single-item' +
829
+ (this.props.readOnly ? ' tags-input__tag-item--readonly' : '')
838
830
  }
839
831
  onClick={() => !this.props.readOnly && this.removeClick(i)}
840
832
  >
841
- {this.props.getBorderColor
842
- && <div
833
+ {this.props.getBorderColor && (
834
+ <div
843
835
  className="item-border item-border-selected"
844
- style={borderColor
845
- ? {backgroundColor: borderColor}
846
- : {backgroundColor: this.props.getBorderColor(item)}
836
+ style={
837
+ borderColor
838
+ ? {backgroundColor: borderColor}
839
+ : {backgroundColor: this.props.getBorderColor(item)}
847
840
  }
848
- >
849
- </div>
850
- }
841
+ ></div>
842
+ )}
851
843
 
852
844
  <span
853
845
  className="tags-input__helper-box"
@@ -861,33 +853,26 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
861
853
  {children}
862
854
  </span>
863
855
 
864
- {
865
- (this.props.readOnly !== true && this.props.required !== true) && (
866
- <span
867
- className="tags-input__remove-button"
868
- data-test-id="clear-value"
869
- >
870
- <Icon name='remove-sign'></Icon>
871
- </span>
872
- )
873
- }
856
+ {this.props.readOnly !== true && this.props.required !== true && (
857
+ <span className="tags-input__remove-button" data-test-id="clear-value">
858
+ <Icon name="remove-sign"></Icon>
859
+ </span>
860
+ )}
874
861
  </span>
875
862
  </span>
876
863
  );
877
864
 
878
- return <React.Fragment key={i}>
879
- {this.renderItemContent(item, Wrapper)}
880
- </React.Fragment>;
865
+ return <React.Fragment key={i}>{this.renderItemContent(item, Wrapper)}</React.Fragment>;
881
866
  })}
882
867
  </div>
883
- }
868
+ )}
884
869
  </div>
885
870
 
886
871
  <WithPortal active={this.state.openDropdown} data-test-id="tree-select-popover">
887
872
  <div
888
873
  className={
889
- "autocomplete autocomplete--multi-select"
890
- + (this.props.width === 'medium' ? ' autocomplete--fixed-width' : '')
874
+ 'autocomplete autocomplete--multi-select' +
875
+ (this.props.width === 'medium' ? ' autocomplete--fixed-width' : '')
891
876
  }
892
877
  style={{
893
878
  zIndex: this.zIndex,
@@ -896,12 +881,12 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
896
881
  }}
897
882
  ref={this.dropdownRef}
898
883
  >
899
- <div className='autocomplete__header'>
884
+ <div className="autocomplete__header">
900
885
  <div className="autocomplete__icon">
901
886
  <Icon name="search" className="search"></Icon>
902
887
  </div>
903
888
 
904
- <div className='autocomplete__filter'>
889
+ <div className="autocomplete__filter">
905
890
  <input
906
891
  className="autocomplete__input"
907
892
  type="text"
@@ -933,8 +918,8 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
933
918
  </div>
934
919
  </div>
935
920
 
936
- {(this.state.activeTree.length > 0 && this.state.buttonValue != null)
937
- && <div className='autocomplete__category-header'>
921
+ {this.state.activeTree.length > 0 && this.state.buttonValue != null && (
922
+ <div className="autocomplete__category-header">
938
923
  <div
939
924
  className="autocomplete__icon"
940
925
  onClick={() => {
@@ -944,75 +929,73 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
944
929
  <Icon name="arrow-left" className="arrow-left"></Icon>
945
930
  </div>
946
931
 
947
- <div className='autocomplete__filter'>
948
- <button className='autocomplete__category-title'>
932
+ <div className="autocomplete__filter">
933
+ <button className="autocomplete__category-title">
949
934
  {this.props.optionTemplate
950
935
  ? this.props.optionTemplate(this.state.buttonValue.value)
951
- : this.props.getLabel(this.state.buttonValue.value)
952
- }
936
+ : this.props.getLabel(this.state.buttonValue.value)}
953
937
  </button>
954
938
 
955
- {this.props.selectBranchWithChildren
956
- && this.branchButton(this.state.buttonValue)
957
- }
939
+ {this.props.selectBranchWithChildren && this.branchButton(this.state.buttonValue)}
958
940
  </div>
959
941
  </div>
960
- }
942
+ )}
961
943
 
962
- {this.state.loading
963
- ? <ul className="suggestion-list--loader"><Loader overlay={true}></Loader></ul>
964
- : this.state.searchFieldValue === ''
965
- ? this.props.getOptions
966
- ? <ul
967
- className="suggestion-list suggestion-list--multi-select"
968
- ref={this.ref}
969
- data-test-id="options"
970
- role='tree'
971
- aria-multiselectable={this.props.allowMultiple}
972
- >
973
- {this.state.options.map((option, i: React.Key | undefined) => {
974
- let selectedItem = this.state.value.some((obj) =>
975
- this.props.getId(obj) === this.props.getId(option.value),
976
- );
977
-
978
- return (
979
- <TreeSelectItem
980
- key={i}
981
- option={option}
982
- handleTree={this.handleTree}
983
- selectedItem={selectedItem}
984
- allowMultiple={this.props.allowMultiple}
985
- parentCategory={this.state.buttonValue == null
944
+ {this.state.loading ? (
945
+ <ul className="suggestion-list--loader">
946
+ <Loader overlay={true}></Loader>
947
+ </ul>
948
+ ) : this.state.searchFieldValue === '' ? (
949
+ this.props.getOptions ? (
950
+ <ul
951
+ className="suggestion-list suggestion-list--multi-select"
952
+ ref={this.ref}
953
+ data-test-id="options"
954
+ role="tree"
955
+ aria-multiselectable={this.props.allowMultiple}
956
+ >
957
+ {this.state.options.map((option, i: React.Key | undefined) => {
958
+ let selectedItem = this.state.value.some(
959
+ (obj) => this.props.getId(obj) === this.props.getId(option.value),
960
+ );
961
+
962
+ return (
963
+ <TreeSelectItem
964
+ key={i}
965
+ option={option}
966
+ handleTree={this.handleTree}
967
+ selectedItem={selectedItem}
968
+ allowMultiple={this.props.allowMultiple}
969
+ parentCategory={
970
+ this.state.buttonValue == null
986
971
  ? undefined
987
972
  : this.props.getLabel(this.state.buttonValue.value)
988
- }
989
- getBorderColor={this.props.getBorderColor}
990
- getBackgroundColor={this.props.getBackgroundColor}
991
- getId={this.props.getId}
992
- getLabel={this.props.getLabel}
993
- optionTemplate={this.props.optionTemplate}
994
- onKeyDown={() => this.setState({
973
+ }
974
+ getBorderColor={this.props.getBorderColor}
975
+ getBackgroundColor={this.props.getBackgroundColor}
976
+ getId={this.props.getId}
977
+ getLabel={this.props.getLabel}
978
+ optionTemplate={this.props.optionTemplate}
979
+ onKeyDown={() =>
980
+ this.setState({
995
981
  buttonTarget: [
996
982
  ...this.state.buttonTarget,
997
983
  this.props.getId(option.value),
998
984
  ],
999
- })}
1000
- />
1001
- );
1002
- })}
1003
- </ul>
1004
- : null
1005
- : <ul
1006
- className="suggestion-list suggestion-list--multi-select"
1007
- ref={this.ref}
1008
- >
1009
- {this.filteredItem(
1010
- this.props.singleLevelSearch
1011
- ? this.state.options
1012
- : this.state.filterArr,
1013
- )}
985
+ })
986
+ }
987
+ />
988
+ );
989
+ })}
1014
990
  </ul>
1015
- }
991
+ ) : null
992
+ ) : (
993
+ <ul className="suggestion-list suggestion-list--multi-select" ref={this.ref}>
994
+ {this.filteredItem(
995
+ this.props.singleLevelSearch ? this.state.options : this.state.filterArr,
996
+ )}
997
+ </ul>
998
+ )}
1016
999
  </div>
1017
1000
  </WithPortal>
1018
1001
  </InputWrapper>