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,5 +1,5 @@
1
- import * as React from "react";
2
- import { Icon } from "../Icon";
1
+ import * as React from 'react';
2
+ import {Icon} from '../Icon';
3
3
  import {getTextColor} from '../../helpers';
4
4
  import {ITreeNode} from './TreeSelect';
5
5
 
@@ -27,8 +27,8 @@ export class TreeSelectItem<T> extends React.Component<IProps<T>> {
27
27
  render() {
28
28
  return (
29
29
  <li
30
- className='suggestion-item suggestion-item--multi-select'
31
- role='none'
30
+ className="suggestion-item suggestion-item--multi-select"
31
+ role="none"
32
32
  onClick={(event) => {
33
33
  if (!this.props.disabledItem) {
34
34
  this.props.onClick?.();
@@ -41,8 +41,8 @@ export class TreeSelectItem<T> extends React.Component<IProps<T>> {
41
41
  <button
42
42
  // the className is generated in order to focus the element later
43
43
  className={
44
- `suggestion-item--btn ${getPrefixedItemId(this.props.getId(this.props.option.value))}`
45
- + (this.props.disabledItem ? ' suggestion-item--disabled' : '')
44
+ `suggestion-item--btn ${getPrefixedItemId(this.props.getId(this.props.option.value))}` +
45
+ (this.props.disabledItem ? ' suggestion-item--disabled' : '')
46
46
  }
47
47
  onKeyDown={(event) => {
48
48
  if (event.key === 'Enter' && this.props.option.children) {
@@ -51,46 +51,42 @@ export class TreeSelectItem<T> extends React.Component<IProps<T>> {
51
51
  }}
52
52
  disabled={this.props.disabledItem}
53
53
  data-test-id="option"
54
- role='treeitem'
54
+ role="treeitem"
55
55
  aria-selected={this.props.selectedItem === true}
56
56
  aria-disabled={this.props.disabledItem === true}
57
57
  >
58
- {(this.props.getBorderColor && !this.props.allowMultiple)
59
- && <div
58
+ {this.props.getBorderColor && !this.props.allowMultiple && (
59
+ <div
60
60
  className="item-border"
61
61
  style={{
62
62
  backgroundColor: this.props.getBorderColor(this.props.option.value),
63
63
  }}
64
- >
65
- </div>
66
- }
64
+ ></div>
65
+ )}
67
66
 
68
67
  <span
69
68
  className={
70
- 'suggestion-item--bgcolor'
71
- + (this.props.selectedItem ? ' suggestion-item--selected' : '')
69
+ 'suggestion-item--bgcolor' + (this.props.selectedItem ? ' suggestion-item--selected' : '')
72
70
  }
73
71
  style={
74
- (this.props.getBackgroundColor && this.props.option.value)
72
+ this.props.getBackgroundColor && this.props.option.value
75
73
  ? {
76
- backgroundColor: this.props.getBackgroundColor(this.props.option.value),
77
- color: getTextColor(this.props.getBackgroundColor(this.props.option.value),
78
- ),
79
- }
74
+ backgroundColor: this.props.getBackgroundColor(this.props.option.value),
75
+ color: getTextColor(this.props.getBackgroundColor(this.props.option.value)),
76
+ }
80
77
  : undefined
81
78
  }
82
79
  >
83
80
  {this.props.optionTemplate
84
81
  ? this.props.optionTemplate(this.props.option.value)
85
- : this.props.getLabel(this.props.option.value)
86
- }
82
+ : this.props.getLabel(this.props.option.value)}
87
83
  </span>
88
84
 
89
- {this.props.option.children
90
- && <span className="suggestion-item__icon" aria-hidden="true" data-test-id="children-indicator">
85
+ {this.props.option.children && (
86
+ <span className="suggestion-item__icon" aria-hidden="true" data-test-id="children-indicator">
91
87
  <Icon name="chevron-right-thin"></Icon>
92
88
  </span>
93
- }
89
+ )}
94
90
  </button>
95
91
  </li>
96
92
  );
@@ -1,7 +1,7 @@
1
1
  import classNames from 'classnames';
2
- import * as React from "react";
2
+ import * as React from 'react';
3
3
  import {DragHandle} from '../DragHandle';
4
- import {Icon} from "../Icon";
4
+ import {Icon} from '../Icon';
5
5
  import {getTextColor} from '../../helpers';
6
6
 
7
7
  interface IProps<T> {
@@ -28,36 +28,33 @@ export class TreeSelectPill<T> extends React.Component<IProps<T>> {
28
28
  style={
29
29
  this.props.valueTemplate
30
30
  ? {backgroundColor: this.props.backgroundColor}
31
- : this.props.getBackgroundColor
32
- && {backgroundColor: this.props.getBackgroundColor(this.props.item)}
31
+ : this.props.getBackgroundColor && {
32
+ backgroundColor: this.props.getBackgroundColor(this.props.item),
33
+ }
33
34
  }
34
35
  data-test-id="item"
35
36
  >
36
- {this.props.draggable && (
37
- <DragHandle blank={true} dotsInRow='3' dotRows='4' />
38
- )}
37
+ {this.props.draggable && <DragHandle blank={true} dotsInRow="3" dotRows="4" />}
39
38
  <span
40
39
  className="tags-input__helper-box"
41
40
  style={{
42
41
  color: this.props.backgroundColor
43
42
  ? getTextColor(this.props.backgroundColor)
44
- : this.props.getBackgroundColor
45
- && getTextColor(this.props.getBackgroundColor(this.props.item)),
43
+ : this.props.getBackgroundColor &&
44
+ getTextColor(this.props.getBackgroundColor(this.props.item)),
46
45
  }}
47
46
  >
48
47
  {this.props.children}
49
48
 
50
- {!this.props.readOnly
51
- && <button
49
+ {!this.props.readOnly && (
50
+ <button
52
51
  className="tags-input__remove-button"
53
52
  data-test-id="remove"
54
- onClick={() => (!this.props.readOnly && !this.props.disabled)
55
- && this.props.onRemove()
56
- }
53
+ onClick={() => !this.props.readOnly && !this.props.disabled && this.props.onRemove()}
57
54
  >
58
55
  <Icon name="close-small"></Icon>
59
56
  </button>
60
- }
57
+ )}
61
58
  </span>
62
59
  </li>
63
60
  );
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import {Icon} from '../components/Icon';
3
3
 
4
4
  interface IProps<T> {
5
- getItems(pageNo: number, pageSize: number, signal: AbortSignal): Promise<{items: Array<T>, itemCount: number}>;
5
+ getItems(pageNo: number, pageSize: number, signal: AbortSignal): Promise<{items: Array<T>; itemCount: number}>;
6
6
  children: (items: Array<T>) => JSX.Element;
7
7
  pageSize?: number;
8
8
  }
@@ -25,33 +25,27 @@ export function getPagination(currentPage: number, totalPages: number): Array<nu
25
25
  currentPage + 2,
26
26
  ].filter((page) => page >= 1 && page <= totalPages);
27
27
 
28
- if (!basePages.includes(1)) { // include first and maybe dots
28
+ if (!basePages.includes(1)) {
29
+ // include first and maybe dots
29
30
  const firstInCurrentList = basePages[0];
30
31
 
31
32
  if (firstInCurrentList !== 1) {
32
- basePages = [
33
- 'dots',
34
- ...basePages,
35
- ];
33
+ basePages = ['dots', ...basePages];
36
34
  }
37
35
 
38
- basePages = [
39
- 1,
40
- ...basePages,
41
- ];
36
+ basePages = [1, ...basePages];
42
37
  }
43
38
 
44
- if (!basePages.includes(totalPages)) { // include last and maybe dots
39
+ if (!basePages.includes(totalPages)) {
40
+ // include last and maybe dots
45
41
  const lastInCurrentList = basePages[basePages.length - 1];
46
42
 
47
- if (lastInCurrentList !== totalPages - 1) { // add dots if we're skipping some numbers
43
+ if (lastInCurrentList !== totalPages - 1) {
44
+ // add dots if we're skipping some numbers
48
45
  basePages = basePages.concat('dots');
49
46
  }
50
47
 
51
- basePages = [
52
- ...basePages,
53
- totalPages,
54
- ];
48
+ basePages = [...basePages, totalPages];
55
49
  }
56
50
 
57
51
  return basePages;
@@ -111,9 +105,10 @@ export class WithPagination<T> extends React.PureComponent<IProps<T>, IState<T>>
111
105
  this.inProgress = false;
112
106
  this.setState({items: res.items, currentPage: page}, () => {
113
107
  const scrollableEl = getScrollParent(this.ref);
114
- const diff = scrollableEl != null && this.ref?.scrollHeight != null
115
- ? scrollableEl.offsetHeight - this.ref.scrollHeight
116
- : null;
108
+ const diff =
109
+ scrollableEl != null && this.ref?.scrollHeight != null
110
+ ? scrollableEl.offsetHeight - this.ref.scrollHeight
111
+ : null;
117
112
 
118
113
  if (scrollableEl != null) {
119
114
  scrollableEl.scrollTop = diff != null ? diff : 0;
@@ -137,7 +132,9 @@ export class WithPagination<T> extends React.PureComponent<IProps<T>, IState<T>>
137
132
  const pageElements = getPagination(this.state.currentPage, this.pageCount).map((el, i) => {
138
133
  if (el === 'dots') {
139
134
  return (
140
- <span data-test-id="more-pages" className='sd-pagination__item sd-pagination__item--more'>...</span>
135
+ <span data-test-id="more-pages" className="sd-pagination__item sd-pagination__item--more">
136
+ ...
137
+ </span>
141
138
  );
142
139
  } else {
143
140
  return (
@@ -160,19 +157,19 @@ export class WithPagination<T> extends React.PureComponent<IProps<T>, IState<T>>
160
157
  <>
161
158
  <button
162
159
  data-test-id="btn-1"
163
- className='sd-pagination__item sd-pagination__item--start'
160
+ className="sd-pagination__item sd-pagination__item--start"
164
161
  disabled={this.state.currentPage === 1}
165
162
  onClick={() => this.switchPage(1)}
166
163
  >
167
- <Icon name='backward-thin' />
164
+ <Icon name="backward-thin" />
168
165
  </button>
169
166
  <button
170
167
  data-test-id="btn-2"
171
- className='sd-pagination__item sd-pagination__item--start'
168
+ className="sd-pagination__item sd-pagination__item--start"
172
169
  disabled={this.state.currentPage <= 1}
173
170
  onClick={() => this.switchPage(this.state.currentPage - 1)}
174
171
  >
175
- <Icon name='chevron-left-thin' />
172
+ <Icon name="chevron-left-thin" />
176
173
  </button>
177
174
  </>,
178
175
  );
@@ -181,19 +178,19 @@ export class WithPagination<T> extends React.PureComponent<IProps<T>, IState<T>>
181
178
  <>
182
179
  <button
183
180
  data-test-id="btn-3"
184
- className='sd-pagination__item sd-pagination__item--forward'
181
+ className="sd-pagination__item sd-pagination__item--forward"
185
182
  onClick={() => this.switchPage(this.state.currentPage + 1)}
186
183
  disabled={this.state.currentPage === this.pageCount}
187
184
  >
188
- <Icon name='chevron-right-thin' />
185
+ <Icon name="chevron-right-thin" />
189
186
  </button>
190
187
  <button
191
188
  data-test-id="btn-4"
192
- className='sd-pagination__item sd-pagination__item--end'
189
+ className="sd-pagination__item sd-pagination__item--end"
193
190
  onClick={() => this.switchPage(this.pageCount)}
194
191
  disabled={this.state.currentPage === this.pageCount}
195
192
  >
196
- <Icon name='forward-thin' />
193
+ <Icon name="forward-thin" />
197
194
  </button>
198
195
  </>,
199
196
  );
@@ -222,17 +219,15 @@ export class WithPagination<T> extends React.PureComponent<IProps<T>, IState<T>>
222
219
  this.ref = element;
223
220
  }}
224
221
  >
225
- {
226
- this.pageCount > 1 ? (
227
- <>
228
- <StyledPagination />
229
- {this.props.children(this.state.items)}
230
- <StyledPagination />
231
- </>
232
- ) : (
233
- this.props.children(this.state.items)
234
- )
235
- }
222
+ {this.pageCount > 1 ? (
223
+ <>
224
+ <StyledPagination />
225
+ {this.props.children(this.state.items)}
226
+ <StyledPagination />
227
+ </>
228
+ ) : (
229
+ this.props.children(this.state.items)
230
+ )}
236
231
  </div>
237
232
  );
238
233
  }
@@ -1,4 +1,3 @@
1
-
2
1
  import * as React from 'react';
3
2
  import {Placement} from '@popperjs/core';
4
3
  import {showPopup} from './ShowPopup';
@@ -1,4 +1,4 @@
1
- import * as React from "react";
1
+ import * as React from 'react';
2
2
  import {createPortal} from 'react-dom';
3
3
 
4
4
  interface IProps {
@@ -6,9 +6,7 @@ interface IProps {
6
6
  'data-test-id'?: string;
7
7
  }
8
8
 
9
- export function findParent(
10
- element: HTMLElement | null,
11
- ) {
9
+ export function findParent(element: HTMLElement | null) {
12
10
  let dataTheme = element;
13
11
 
14
12
  while (dataTheme != null && dataTheme?.getAttribute('data-theme') == null) {
@@ -35,14 +33,13 @@ export class WithPortal extends React.Component<IProps> {
35
33
  render() {
36
34
  return (
37
35
  <div ref={this.ref}>
38
- {this.props.active && (
36
+ {this.props.active &&
39
37
  createPortal(
40
38
  <div data-theme={this.dataTheme} data-test-id={this.props['data-test-id']}>
41
39
  {this.props.children}
42
40
  </div>,
43
41
  document.body,
44
- )
45
- )}
42
+ )}
46
43
  </div>
47
44
  );
48
45
  }
@@ -74,13 +74,9 @@ export class WithSizeObserver extends React.PureComponent<IProps, IState> {
74
74
  * but if parent of `ResizeObserverComponent` is resized down,
75
75
  * it would include its own size(which is based on the initial result from this component),
76
76
  * including children, into calculation and would produce a wrong result.
77
- */}
77
+ */}
78
78
  <div style={{position: 'absolute', top: 0, left: 0, width: '100%', height: '100%'}}>
79
- {
80
- dimensions === 'not-initialized'
81
- ? null
82
- : this.props.children(dimensions)
83
- }
79
+ {dimensions === 'not-initialized' ? null : this.props.children(dimensions)}
84
80
  </div>
85
81
  </div>
86
82
  );
@@ -52,7 +52,7 @@ class PopperWrapper extends React.Component<IPropsPopperWrapper> {
52
52
  const viewportWidth = document.documentElement.clientWidth;
53
53
 
54
54
  const availableSpaceTop = rect.top - padding;
55
- const availableSpaceBottom = (viewportHeight - rect.bottom) - padding;
55
+ const availableSpaceBottom = viewportHeight - rect.bottom - padding;
56
56
 
57
57
  const availableSpaceLeft = rect.left;
58
58
  const availableSpaceRight = viewportWidth - rect.right;
@@ -92,8 +92,8 @@ class PopperWrapper extends React.Component<IPropsPopperWrapper> {
92
92
  }
93
93
  }}
94
94
  tabIndex={0}
95
- role='dialog'
96
- aria-labelledby='popoverTitle'
95
+ role="dialog"
96
+ aria-labelledby="popoverTitle"
97
97
  onKeyDown={(event) => {
98
98
  if (event.key === 'Escape') {
99
99
  event.preventDefault();
@@ -168,11 +168,13 @@ export class Positioner extends React.Component<IPropsPositioner, IStatePosition
168
168
  // the toggle button. Even if the toggle button is inside the list item.
169
169
  e.stopPropagation();
170
170
 
171
- window.dispatchEvent(new CustomEvent(eventCloseOthers, {
172
- detail: {
173
- triggerElement: this.triggerElement,
174
- },
175
- }));
171
+ window.dispatchEvent(
172
+ new CustomEvent(eventCloseOthers, {
173
+ detail: {
174
+ triggerElement: this.triggerElement,
175
+ },
176
+ }),
177
+ );
176
178
 
177
179
  this.setState({open: !this.state.open});
178
180
  }
@@ -180,13 +182,13 @@ export class Positioner extends React.Component<IPropsPositioner, IStatePosition
180
182
  // arguments are in a different order, because the method is bound
181
183
  closeDropdownOnOutsideClick(wrapper: HTMLElement, event: MouseEvent) {
182
184
  if (
183
- this.state.open === true
184
- && event != null
185
- && event.target !== this.triggerElement
186
- && event.target != null
187
- && event.target instanceof Node // wrapper.contains accepts only Node type
188
- && wrapper != null
189
- && !wrapper.contains(event.target)
185
+ this.state.open === true &&
186
+ event != null &&
187
+ event.target !== this.triggerElement &&
188
+ event.target != null &&
189
+ event.target instanceof Node && // wrapper.contains accepts only Node type
190
+ wrapper != null &&
191
+ !wrapper.contains(event.target)
190
192
  ) {
191
193
  this.setState({
192
194
  open: false,
@@ -197,17 +199,15 @@ export class Positioner extends React.Component<IPropsPositioner, IStatePosition
197
199
  componentDidUpdate() {
198
200
  if (this.state.open === true) {
199
201
  ReactDOM.render(
200
- (
201
- <PopperWrapper
202
- {...this.props}
203
- handleCloseOthers={this.handleCloseOthers}
204
- closeDropdownOnOutsideClick={this.closeDropdownOnOutsideClick}
205
- triggerElement={this.triggerElement}
206
- close={() => {
207
- this.setState({open: false});
208
- }}
209
- />
210
- ),
202
+ <PopperWrapper
203
+ {...this.props}
204
+ handleCloseOthers={this.handleCloseOthers}
205
+ closeDropdownOnOutsideClick={this.closeDropdownOnOutsideClick}
206
+ triggerElement={this.triggerElement}
207
+ close={() => {
208
+ this.setState({open: false});
209
+ }}
210
+ />,
211
211
  this.elementForPositioner,
212
212
  );
213
213
  } else {
@@ -8,12 +8,7 @@ interface IProps extends IPropsBase {
8
8
  export class AvatarContentAdd extends React.PureComponent<IProps> {
9
9
  render() {
10
10
  if (this.props.onClick == null) {
11
- return (
12
- <span
13
- className="sd-avatar-content sd-avatar-content--add-item"
14
- title={this.props.tooltipText}
15
- />
16
- );
11
+ return <span className="sd-avatar-content sd-avatar-content--add-item" title={this.props.tooltipText} />;
17
12
  } else {
18
13
  return (
19
14
  <button
@@ -12,7 +12,7 @@ export type IAvatarPlaceholderInGroup = Omit<IPropsAvatarPlaceholder, 'size'>;
12
12
 
13
13
  export type IAvatarGroupItem = IAvatarInGroup | IAvatarPlaceholderInGroup;
14
14
 
15
- type IGap = 'none' | 'small'| 'medium'| 'large';
15
+ type IGap = 'none' | 'small' | 'medium' | 'large';
16
16
 
17
17
  export interface IPropsAvatarGroup {
18
18
  size: IPropsAvatar['size'];
@@ -37,9 +37,9 @@ function isAvatar(item: IAvatarInGroup | IAvatarPlaceholderInGroup): item is IAv
37
37
  export class AvatarGroup extends React.PureComponent<IPropsAvatarGroup> {
38
38
  render() {
39
39
  const {size, items} = this.props;
40
- const someIconsHaveExtraElements = items.filter(isAvatar).some(
41
- ({icon, administratorIndicator}) => icon != null || administratorIndicator != null,
42
- );
40
+ const someIconsHaveExtraElements = items
41
+ .filter(isAvatar)
42
+ .some(({icon, administratorIndicator}) => icon != null || administratorIndicator != null);
43
43
  const gap: IGap = someIconsHaveExtraElements ? 'medium' : 'none';
44
44
 
45
45
  const max: number = (() => {
@@ -64,7 +64,7 @@ export class AvatarGroup extends React.PureComponent<IPropsAvatarGroup> {
64
64
  }
65
65
  }}
66
66
  >
67
- {children}
67
+ {children}
68
68
  </button>
69
69
  );
70
70
  } else {
@@ -76,49 +76,42 @@ export class AvatarGroup extends React.PureComponent<IPropsAvatarGroup> {
76
76
 
77
77
  return (
78
78
  <WithPopover
79
- placement='bottom-end'
79
+ placement="bottom-end"
80
80
  component={() => (
81
81
  <div className="avatar-popup">
82
82
  {this.props.items.map((item, index) => {
83
- return (
84
- someHaveDisplayName
85
- ? <Spacer h alignItems='center' gap='16' noGrow key={index}>
86
- {
87
- isAvatar(item)
88
- && item.displayName
89
- }
83
+ return someHaveDisplayName ? (
84
+ <Spacer h alignItems="center" gap="16" noGrow key={index}>
85
+ {isAvatar(item) && item.displayName}
90
86
 
91
- {
92
- isAvatar(item)
93
- ? (
94
- <Avatar
95
- size='small'
96
- imageUrl={item.imageUrl}
97
- initials={item.initials}
98
- displayName={item.displayName}
99
- icon={item.icon}
100
- statusDot={item.statusDot}
101
- />
102
- )
103
- : (
104
- <AvatarPlaceholder
105
- kind='plus-button'
106
- size='small'
107
- icon={item.icon}
108
- onClick={item.onClick}
109
- />
110
- )
111
- }
112
- </Spacer>
113
- : <div>
87
+ {isAvatar(item) ? (
88
+ <Avatar
89
+ size="small"
90
+ imageUrl={item.imageUrl}
91
+ initials={item.initials}
92
+ displayName={item.displayName}
93
+ icon={item.icon}
94
+ statusDot={item.statusDot}
95
+ />
96
+ ) : (
114
97
  <AvatarPlaceholder
115
- kind='plus-button'
116
- size='small'
98
+ kind="plus-button"
99
+ size="small"
117
100
  icon={item.icon}
118
- onClick={isAvatar(item) ? undefined : item.onClick}
119
- key={index}
101
+ onClick={item.onClick}
120
102
  />
121
- </div>
103
+ )}
104
+ </Spacer>
105
+ ) : (
106
+ <div>
107
+ <AvatarPlaceholder
108
+ kind="plus-button"
109
+ size="small"
110
+ icon={item.icon}
111
+ onClick={isAvatar(item) ? undefined : item.onClick}
112
+ key={index}
113
+ />
114
+ </div>
122
115
  );
123
116
  })}
124
117
  </div>
@@ -131,36 +124,24 @@ export class AvatarGroup extends React.PureComponent<IPropsAvatarGroup> {
131
124
  'sd-avatar-group--stacked',
132
125
  `sd-avatar-group--stacked--gap-${gap}`,
133
126
  )}
134
- role='group'
127
+ role="group"
135
128
  onClick={this.props.onClick}
136
129
  >
137
- {
138
- items.slice(0, max).map((item, index) => {
139
- if (isAvatar(item)) {
140
- return (
141
- <Avatar {...item} key={index} size={size} />
142
- );
143
- } else {
144
- return (
145
- <AvatarPlaceholder
146
- {...item}
147
- key={index}
148
- size={this.props.size}
149
- />
150
- );
151
- }
152
- })
153
- }
130
+ {items.slice(0, max).map((item, index) => {
131
+ if (isAvatar(item)) {
132
+ return <Avatar {...item} key={index} size={size} />;
133
+ } else {
134
+ return <AvatarPlaceholder {...item} key={index} size={this.props.size} />;
135
+ }
136
+ })}
154
137
 
155
- {
156
- itemsOverLimit > 0 && (
157
- <PlusButtonWrapper onToggle={onToggle}>
158
- <AvatarWrapper size={size}>
159
- <AvatarContentNumber number={`${itemsOverLimit}`} />
160
- </AvatarWrapper>
161
- </PlusButtonWrapper>
162
- )
163
- }
138
+ {itemsOverLimit > 0 && (
139
+ <PlusButtonWrapper onToggle={onToggle}>
140
+ <AvatarWrapper size={size}>
141
+ <AvatarContentNumber number={`${itemsOverLimit}`} />
142
+ </AvatarWrapper>
143
+ </PlusButtonWrapper>
144
+ )}
164
145
  </div>
165
146
  )}
166
147
  </WithPopover>