superdesk-ui-framework 3.0.1-beta.2 → 3.0.1-beta.22

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 (445) hide show
  1. package/.vscode/settings.json +5 -0
  2. package/app/fonts/sd_icons.eot +0 -0
  3. package/app/fonts/sd_icons.svg +14 -7
  4. package/app/fonts/sd_icons.ttf +0 -0
  5. package/app/fonts/sd_icons.woff +0 -0
  6. package/app/img/SD-logo.svg +52 -0
  7. package/app/scripts/toggleBoxNext.js +1 -1
  8. package/app/styles/_accessibility.scss +1 -0
  9. package/app/styles/_big-icon-font.scss +3 -0
  10. package/app/styles/_boxed-list.scss +3 -0
  11. package/app/styles/_buttons.scss +11 -6
  12. package/app/styles/_content-divider.scss +63 -8
  13. package/app/styles/_hamburger.scss +160 -0
  14. package/app/styles/_helpers.scss +35 -5
  15. package/app/styles/_icon-font.scss +20 -10
  16. package/app/styles/_master-desk.scss +3 -2
  17. package/app/styles/_modals.scss +6 -3
  18. package/app/styles/_normalize.scss +4 -0
  19. package/app/styles/_sd-tag-input.scss +221 -296
  20. package/app/styles/_simple-list.scss +1 -0
  21. package/app/styles/_table-list.scss +115 -12
  22. package/app/styles/app.scss +4 -0
  23. package/app/styles/components/_list-item.scss +36 -17
  24. package/app/styles/components/_sd-collapse-box.scss +6 -6
  25. package/app/styles/components/_sd-grid-item.scss +30 -16
  26. package/app/styles/components/_sd-notification-panel.scss +48 -0
  27. package/app/styles/components/_sd-photo-preview.scss +3 -3
  28. package/app/styles/components/_sd-searchbar.scss +7 -0
  29. package/app/styles/design-tokens/_design-tokens-general.scss +3 -6
  30. package/app/styles/design-tokens/_new-colors.scss +16 -6
  31. package/app/styles/dropdowns/_basic-dropdown.scss +6 -0
  32. package/app/styles/form-elements/_forms-general.scss +81 -7
  33. package/app/styles/form-elements/_input-wrap.scss +138 -0
  34. package/app/styles/form-elements/_inputs.scss +577 -102
  35. package/app/styles/grids/_grid-layout.scss +153 -40
  36. package/app/styles/interface-elements/_side-panel.scss +1 -1
  37. package/app/styles/layout/_basic-layout.scss +2 -2
  38. package/app/styles/layout/_editor.scss +10 -4
  39. package/app/styles/menus/_sd-bottom-tabs.scss +70 -0
  40. package/app/styles/menus/_sd-left-navigation.scss +24 -1
  41. package/app/styles/menus/_sd-sidebar-menu.scss +10 -14
  42. package/app/styles/menus/_sd-top-menu.scss +19 -5
  43. package/app/styles/primereact/_pr-dialog.scss +1 -0
  44. package/app/styles/primereact/_pr-dropdown.scss +17 -3
  45. package/app/styles/primereact/_pr-menu.scss +6 -5
  46. package/app-typescript/components/Badge.tsx +3 -2
  47. package/app-typescript/components/ContentDivider.tsx +3 -0
  48. package/app-typescript/components/DatePicker.tsx +71 -36
  49. package/app-typescript/components/DonutChart.tsx +1 -1
  50. package/app-typescript/components/Dropdown.tsx +127 -82
  51. package/app-typescript/components/DurationInput.tsx +400 -0
  52. package/app-typescript/components/EmptyState.tsx +2 -1
  53. package/app-typescript/components/Form/FormLabel.tsx +8 -1
  54. package/app-typescript/components/Form/FormRowNew.tsx +41 -0
  55. package/app-typescript/components/Form/InputBase.tsx +95 -0
  56. package/app-typescript/components/Form/InputNew.tsx +107 -0
  57. package/app-typescript/components/Form/InputWrapper.tsx +79 -0
  58. package/app-typescript/components/Form/index.tsx +4 -0
  59. package/app-typescript/components/Icon.tsx +1 -1
  60. package/app-typescript/components/IconButton.tsx +5 -1
  61. package/app-typescript/components/Input.tsx +39 -42
  62. package/app-typescript/components/Label.tsx +49 -10
  63. package/app-typescript/components/Layouts/AuthoringContainer.tsx +2 -1
  64. package/app-typescript/components/Layouts/AuthoringInnerHeader.tsx +1 -1
  65. package/app-typescript/components/Layouts/AuthoringMain.tsx +4 -2
  66. package/app-typescript/components/Layouts/BottomBarAction.tsx +35 -0
  67. package/app-typescript/components/Layouts/CoreLayout.tsx +63 -0
  68. package/app-typescript/components/Layouts/CoreLayoutContainer.tsx +16 -0
  69. package/app-typescript/components/Layouts/CoreLayoutFooter.tsx +15 -0
  70. package/app-typescript/components/Layouts/CoreLayoutMain.tsx +22 -0
  71. package/app-typescript/components/Layouts/CoreLayoutOverlay.tsx +15 -0
  72. package/app-typescript/components/Layouts/CoreLayoutSlideInMenu.tsx +24 -0
  73. package/app-typescript/components/Layouts/CoreLayoutTopMenu.tsx +35 -0
  74. package/app-typescript/components/Layouts/HamburgerButton.tsx +41 -0
  75. package/app-typescript/components/Layouts/Layout.tsx +2 -2
  76. package/app-typescript/components/Layouts/MainMenu.tsx +101 -0
  77. package/app-typescript/components/Layouts/NotificationPanel.tsx +109 -0
  78. package/app-typescript/components/Layouts/index.tsx +12 -0
  79. package/app-typescript/components/LeftMenu.tsx +127 -116
  80. package/app-typescript/components/Lists/BoxedList.tsx +36 -4
  81. package/app-typescript/components/Lists/ContentList.tsx +38 -10
  82. package/app-typescript/components/Lists/TableList.tsx +283 -151
  83. package/app-typescript/components/Menu.tsx +31 -7
  84. package/app-typescript/components/Modal.tsx +5 -2
  85. package/app-typescript/components/MultiSelect.tsx +35 -5
  86. package/app-typescript/components/NavButton.tsx +4 -0
  87. package/app-typescript/components/Navigation/BottomNav.tsx +83 -0
  88. package/app-typescript/components/SearchBar.tsx +39 -12
  89. package/app-typescript/components/Select.tsx +27 -37
  90. package/app-typescript/components/SelectGrid.tsx +1 -1
  91. package/app-typescript/components/SelectWithTemplate.tsx +32 -7
  92. package/app-typescript/components/Skeleton.tsx +1 -1
  93. package/app-typescript/components/Spacer.tsx +87 -0
  94. package/app-typescript/components/Text/Time.tsx +34 -0
  95. package/app-typescript/components/TimePicker.tsx +38 -15
  96. package/app-typescript/components/Togglebox.tsx +1 -1
  97. package/app-typescript/components/Tooltip.tsx +7 -5
  98. package/app-typescript/components/TreeSelect.tsx +490 -208
  99. package/app-typescript/components/WithSizeObserver.tsx +88 -0
  100. package/app-typescript/dist/components/Alert.d.ts +16 -0
  101. package/app-typescript/dist/components/Autocomplete.d.ts +48 -0
  102. package/app-typescript/dist/components/Avatar.d.ts +33 -0
  103. package/app-typescript/dist/components/Badge.d.ts +13 -0
  104. package/app-typescript/dist/components/Button.d.ts +23 -0
  105. package/app-typescript/dist/components/ButtonGroup.d.ts +12 -0
  106. package/app-typescript/dist/components/CheckButtonGroup.d.ts +11 -0
  107. package/app-typescript/dist/components/CheckGroup.d.ts +9 -0
  108. package/app-typescript/dist/components/Checkbox.d.ts +19 -0
  109. package/app-typescript/dist/components/CheckboxButton.d.ts +19 -0
  110. package/app-typescript/dist/components/DatePicker.d.ts +37 -0
  111. package/app-typescript/dist/components/Divider.d.ts +9 -0
  112. package/app-typescript/dist/components/DonutChart.d.ts +12 -0
  113. package/app-typescript/dist/components/Dropdown.d.ts +28 -0
  114. package/app-typescript/dist/components/DropdownFirst.d.ts +42 -0
  115. package/app-typescript/dist/components/EmptyState.d.ts +11 -0
  116. package/app-typescript/dist/components/FormLabel.d.ts +9 -0
  117. package/app-typescript/dist/components/Genie.d.ts +13 -0
  118. package/app-typescript/dist/components/GridItem.d.ts +69 -0
  119. package/app-typescript/dist/components/GridList.d.ts +14 -0
  120. package/app-typescript/dist/components/HeadingText.d.ts +10 -0
  121. package/app-typescript/dist/components/HelloWorld.d.ts +8 -0
  122. package/app-typescript/dist/components/Icon.d.ts +12 -0
  123. package/app-typescript/dist/components/IconButton.d.ts +12 -0
  124. package/app-typescript/dist/components/IconLabel.d.ts +11 -0
  125. package/app-typescript/dist/components/Input.d.ts +24 -0
  126. package/app-typescript/dist/components/Label.d.ts +15 -0
  127. package/app-typescript/dist/components/LeftMenu.d.ts +26 -0
  128. package/app-typescript/dist/components/Loader.d.ts +8 -0
  129. package/app-typescript/dist/components/NavButton.d.ts +15 -0
  130. package/app-typescript/dist/components/Popover.d.ts +13 -0
  131. package/app-typescript/dist/components/PropsList.d.ts +15 -0
  132. package/app-typescript/dist/components/Radio.d.ts +19 -0
  133. package/app-typescript/dist/components/RadioButton.d.ts +20 -0
  134. package/app-typescript/dist/components/Select.d.ts +29 -0
  135. package/app-typescript/dist/components/SelectWithTemplate.d.ts +32 -0
  136. package/app-typescript/dist/components/SlidingToolbar.d.ts +8 -0
  137. package/app-typescript/dist/components/StrechBar.d.ts +4 -0
  138. package/app-typescript/dist/components/SubNav.d.ts +10 -0
  139. package/app-typescript/dist/components/Switch.d.ts +12 -0
  140. package/app-typescript/dist/components/TabCustom.d.ts +25 -0
  141. package/app-typescript/dist/components/TabList.d.ts +22 -0
  142. package/app-typescript/dist/components/Tag.d.ts +9 -0
  143. package/app-typescript/dist/components/TagInput.d.ts +7 -0
  144. package/app-typescript/dist/components/TagInputTest.d.ts +18 -0
  145. package/app-typescript/dist/components/TimePicker.d.ts +11 -0
  146. package/app-typescript/dist/components/Tooltip.d.ts +11 -0
  147. package/app-typescript/dist/components/_Positioner.d.ts +27 -0
  148. package/app-typescript/dist/index.d.ts +56 -0
  149. package/app-typescript/helpers.tsx +3 -0
  150. package/app-typescript/index.ts +9 -1
  151. package/dist/SD-logo.svg +52 -0
  152. package/dist/examples.bundle.css +942 -9
  153. package/dist/examples.bundle.js +92935 -88376
  154. package/dist/playgrounds/accessible-theme-test.html +1 -1
  155. package/dist/playgrounds/layout-test-2.html +1 -1
  156. package/dist/playgrounds/list-item-test.html +1 -1
  157. package/dist/playgrounds/master-desk.html +1 -1
  158. package/dist/playgrounds/media-carousel.html +1 -1
  159. package/dist/playgrounds/photo-desk.html +1 -1
  160. package/dist/playgrounds/planning.html +1 -1
  161. package/dist/playgrounds/publish.html +1 -1
  162. package/dist/playgrounds/publisher-content-analytics.html +1 -1
  163. package/dist/playgrounds/publisher-content-list-automatic.html +1 -1
  164. package/dist/playgrounds/publisher-content-list-manual.html +1 -1
  165. package/dist/playgrounds/publisher-content-lists.html +1 -1
  166. package/dist/playgrounds/publisher-dashboard.html +1 -1
  167. package/dist/playgrounds/publisher-output-control.html +1 -1
  168. package/dist/playgrounds/react-playgrounds/CoreLayout.tsx +156 -0
  169. package/dist/playgrounds/react-playgrounds/Index.tsx +1 -0
  170. package/dist/playgrounds/react-playgrounds/RundownEditor.tsx +26 -23
  171. package/dist/playgrounds/react-playgrounds/Rundowns.tsx +20 -21
  172. package/dist/playgrounds/react-playgrounds/SamsPlayground.tsx +12 -3
  173. package/dist/playgrounds/react-playgrounds/TestGround.tsx +415 -25
  174. package/dist/playgrounds/react-playgrounds/components/Layout.tsx +2 -2
  175. package/dist/playgrounds/swimlane-view.html +1 -1
  176. package/dist/playgrounds/toasts.html +1 -1
  177. package/dist/playgrounds/video-editor.html +1 -1
  178. package/dist/react/Badges.tsx +18 -0
  179. package/dist/react/ContentDivider.tsx +22 -18
  180. package/dist/react/ContentList.tsx +200 -18
  181. package/dist/react/DatePicker.tsx +31 -6
  182. package/dist/react/Dropdowns.tsx +580 -48
  183. package/dist/react/DurationInput.tsx +108 -0
  184. package/dist/react/Index.tsx +10 -0
  185. package/dist/react/Inputs.tsx +256 -8
  186. package/dist/react/Labels.tsx +51 -1
  187. package/dist/react/LeftNavigations.tsx +71 -44
  188. package/dist/react/MultiSelect.tsx +10 -2
  189. package/dist/react/SelectWithTemplate.tsx +6 -1
  190. package/dist/react/Selects.tsx +55 -0
  191. package/dist/react/TableList.tsx +77 -186
  192. package/dist/react/TimePicker.tsx +22 -12
  193. package/dist/react/Togglebox.tsx +1 -1
  194. package/dist/react/TreeSelect.tsx +270 -48
  195. package/dist/react/WithSizeObserver.tsx +44 -0
  196. package/dist/react/tree-select/TreeSelect.tsx +273 -0
  197. package/dist/react/tree-select/example-1.tsx +71 -0
  198. package/dist/react/tree-select/example-2.tsx +59 -0
  199. package/dist/sd_icons.eot +0 -0
  200. package/dist/sd_icons.svg +14 -7
  201. package/dist/sd_icons.ttf +0 -0
  202. package/dist/sd_icons.woff +0 -0
  203. package/dist/superdesk-ui.bundle.css +4330 -639
  204. package/dist/superdesk-ui.bundle.js +75169 -58238
  205. package/dist/vendor.bundle.js +25027 -25027
  206. package/examples/index.js +4 -0
  207. package/examples/pages/playgrounds/accessible-theme-test.html +1 -1
  208. package/examples/pages/playgrounds/layout-test-2.html +1 -1
  209. package/examples/pages/playgrounds/list-item-test.html +1 -1
  210. package/examples/pages/playgrounds/master-desk.html +1 -1
  211. package/examples/pages/playgrounds/media-carousel.html +1 -1
  212. package/examples/pages/playgrounds/photo-desk.html +1 -1
  213. package/examples/pages/playgrounds/planning.html +1 -1
  214. package/examples/pages/playgrounds/publish.html +1 -1
  215. package/examples/pages/playgrounds/publisher-content-analytics.html +1 -1
  216. package/examples/pages/playgrounds/publisher-content-list-automatic.html +1 -1
  217. package/examples/pages/playgrounds/publisher-content-list-manual.html +1 -1
  218. package/examples/pages/playgrounds/publisher-content-lists.html +1 -1
  219. package/examples/pages/playgrounds/publisher-dashboard.html +1 -1
  220. package/examples/pages/playgrounds/publisher-output-control.html +1 -1
  221. package/examples/pages/playgrounds/react-playgrounds/CoreLayout.tsx +156 -0
  222. package/examples/pages/playgrounds/react-playgrounds/Index.tsx +1 -0
  223. package/examples/pages/playgrounds/react-playgrounds/RundownEditor.tsx +26 -23
  224. package/examples/pages/playgrounds/react-playgrounds/Rundowns.tsx +20 -21
  225. package/examples/pages/playgrounds/react-playgrounds/SamsPlayground.tsx +12 -3
  226. package/examples/pages/playgrounds/react-playgrounds/TestGround.tsx +415 -25
  227. package/examples/pages/playgrounds/react-playgrounds/components/Layout.tsx +2 -2
  228. package/examples/pages/playgrounds/swimlane-view.html +1 -1
  229. package/examples/pages/playgrounds/toasts.html +1 -1
  230. package/examples/pages/playgrounds/video-editor.html +1 -1
  231. package/examples/pages/react/Badges.tsx +18 -0
  232. package/examples/pages/react/ContentDivider.tsx +22 -18
  233. package/examples/pages/react/ContentList.tsx +200 -18
  234. package/examples/pages/react/DatePicker.tsx +31 -6
  235. package/examples/pages/react/Dropdowns.tsx +580 -48
  236. package/examples/pages/react/DurationInput.tsx +108 -0
  237. package/examples/pages/react/Index.tsx +10 -0
  238. package/examples/pages/react/Inputs.tsx +256 -8
  239. package/examples/pages/react/Labels.tsx +51 -1
  240. package/examples/pages/react/LeftNavigations.tsx +71 -44
  241. package/examples/pages/react/MultiSelect.tsx +10 -2
  242. package/examples/pages/react/SelectWithTemplate.tsx +6 -1
  243. package/examples/pages/react/Selects.tsx +55 -0
  244. package/examples/pages/react/TableList.tsx +77 -186
  245. package/examples/pages/react/TimePicker.tsx +22 -12
  246. package/examples/pages/react/Togglebox.tsx +1 -1
  247. package/examples/pages/react/TreeSelect.tsx +270 -48
  248. package/examples/pages/react/WithSizeObserver.tsx +44 -0
  249. package/examples/pages/react/tree-select/TreeSelect.tsx +273 -0
  250. package/examples/pages/react/tree-select/example-1.tsx +71 -0
  251. package/examples/pages/react/tree-select/example-2.tsx +59 -0
  252. package/package.json +8 -8
  253. package/react/components/Alert.js +10 -8
  254. package/react/components/Autocomplete.js +16 -12
  255. package/react/components/Avatar.js +8 -6
  256. package/react/components/Badge.d.ts +1 -0
  257. package/react/components/Badge.js +9 -7
  258. package/react/components/Button.js +8 -6
  259. package/react/components/ButtonGroup.js +7 -5
  260. package/react/components/Carousel.js +4 -2
  261. package/react/components/CheckButtonGroup.js +6 -4
  262. package/react/components/CheckGroup.js +5 -3
  263. package/react/components/Checkbox.js +5 -3
  264. package/react/components/CheckboxButton.js +6 -4
  265. package/react/components/ContentDivider.d.ts +1 -0
  266. package/react/components/ContentDivider.js +10 -6
  267. package/react/components/CreateButton.js +6 -4
  268. package/react/components/DatePicker.d.ts +11 -0
  269. package/react/components/DatePicker.js +44 -35
  270. package/react/components/Divider.js +6 -4
  271. package/react/components/DonutChart.d.ts +1 -1
  272. package/react/components/DonutChart.js +24 -6
  273. package/react/components/DropZone.js +6 -4
  274. package/react/components/Dropdown.d.ts +6 -5
  275. package/react/components/Dropdown.js +63 -35
  276. package/react/components/DropdownFirst.js +18 -11
  277. package/react/components/DurationInput.d.ts +42 -0
  278. package/react/components/DurationInput.js +364 -0
  279. package/react/components/EmptyState.d.ts +1 -0
  280. package/react/components/EmptyState.js +8 -6
  281. package/react/components/Form/FormGroup.js +7 -5
  282. package/react/components/Form/FormItem.js +5 -3
  283. package/react/components/Form/FormLabel.d.ts +4 -1
  284. package/react/components/Form/FormLabel.js +13 -5
  285. package/react/components/Form/FormRow.js +5 -3
  286. package/react/components/Form/FormRowNew.d.ts +12 -0
  287. package/react/components/Form/FormRowNew.js +67 -0
  288. package/react/components/Form/FormText.js +4 -2
  289. package/react/components/Form/InputBase.d.ts +41 -0
  290. package/react/components/Form/InputBase.js +86 -0
  291. package/react/components/Form/InputNew.d.ts +45 -0
  292. package/react/components/Form/InputNew.js +75 -0
  293. package/react/components/Form/InputWrapper.d.ts +28 -0
  294. package/react/components/Form/InputWrapper.js +91 -0
  295. package/react/components/Form/index.d.ts +4 -0
  296. package/react/components/Form/index.js +9 -0
  297. package/react/components/FormLabel.js +5 -3
  298. package/react/components/GridItem.js +9 -7
  299. package/react/components/GridList.js +8 -6
  300. package/react/components/HeadingText.js +4 -2
  301. package/react/components/HelloWorld.js +4 -2
  302. package/react/components/Icon.d.ts +1 -1
  303. package/react/components/Icon.js +9 -7
  304. package/react/components/IconButton.js +8 -6
  305. package/react/components/IconLabel.js +7 -5
  306. package/react/components/IconPicker.js +13 -9
  307. package/react/components/Input.d.ts +6 -2
  308. package/react/components/Input.js +16 -31
  309. package/react/components/Label.d.ts +1 -0
  310. package/react/components/Label.js +28 -10
  311. package/react/components/Layouts/AuthorinInnerSideBar.js +4 -2
  312. package/react/components/Layouts/AuthoringContainer.d.ts +1 -0
  313. package/react/components/Layouts/AuthoringContainer.js +8 -6
  314. package/react/components/Layouts/AuthoringFrame.js +4 -2
  315. package/react/components/Layouts/AuthoringFrameContainer.js +4 -2
  316. package/react/components/Layouts/AuthoringFrameLeftBar.js +4 -2
  317. package/react/components/Layouts/AuthoringFrameMain.js +4 -2
  318. package/react/components/Layouts/AuthoringFrameNavBar.js +4 -2
  319. package/react/components/Layouts/AuthoringFrameOverlay.js +4 -2
  320. package/react/components/Layouts/AuthoringFrameRightBar.js +4 -2
  321. package/react/components/Layouts/AuthoringFrameSidePanel.js +5 -3
  322. package/react/components/Layouts/AuthoringFrameSidePanelOverlay.js +5 -3
  323. package/react/components/Layouts/AuthoringInnerBody.js +4 -2
  324. package/react/components/Layouts/AuthoringInnerHeader.js +7 -5
  325. package/react/components/Layouts/AuthoringMain.js +5 -3
  326. package/react/components/Layouts/AuthoringMainContainer.js +4 -2
  327. package/react/components/Layouts/AuthoringMainContent.js +4 -2
  328. package/react/components/Layouts/AuthoringMainToolBar.js +5 -3
  329. package/react/components/Layouts/BottomBarAction.d.ts +12 -0
  330. package/react/components/Layouts/BottomBarAction.js +59 -0
  331. package/react/components/Layouts/Container.js +9 -7
  332. package/react/components/Layouts/ContentSplitter.js +6 -4
  333. package/react/components/Layouts/CoreLayout.d.ts +20 -0
  334. package/react/components/Layouts/CoreLayout.js +55 -0
  335. package/react/components/Layouts/CoreLayoutContainer.d.ts +9 -0
  336. package/react/components/Layouts/CoreLayoutContainer.js +49 -0
  337. package/react/components/Layouts/CoreLayoutFooter.d.ts +8 -0
  338. package/react/components/Layouts/CoreLayoutFooter.js +49 -0
  339. package/react/components/Layouts/CoreLayoutMain.d.ts +10 -0
  340. package/react/components/Layouts/CoreLayoutMain.js +56 -0
  341. package/react/components/Layouts/CoreLayoutOverlay.d.ts +8 -0
  342. package/react/components/Layouts/CoreLayoutOverlay.js +49 -0
  343. package/react/components/Layouts/CoreLayoutSlideInMenu.d.ts +11 -0
  344. package/react/components/Layouts/CoreLayoutSlideInMenu.js +58 -0
  345. package/react/components/Layouts/CoreLayoutTopMenu.d.ts +14 -0
  346. package/react/components/Layouts/CoreLayoutTopMenu.js +54 -0
  347. package/react/components/Layouts/HamburgerButton.d.ts +14 -0
  348. package/react/components/Layouts/HamburgerButton.js +63 -0
  349. package/react/components/Layouts/HeaderPanel.js +4 -2
  350. package/react/components/Layouts/Layout.js +4 -3
  351. package/react/components/Layouts/LayoutContainer.js +4 -2
  352. package/react/components/Layouts/LeftPanel.js +5 -3
  353. package/react/components/Layouts/MainMenu.d.ts +41 -0
  354. package/react/components/Layouts/MainMenu.js +103 -0
  355. package/react/components/Layouts/MainPanel.js +5 -3
  356. package/react/components/Layouts/NotificationPanel.d.ts +45 -0
  357. package/react/components/Layouts/NotificationPanel.js +110 -0
  358. package/react/components/Layouts/OverlayPanel.js +4 -2
  359. package/react/components/Layouts/PageLayout.js +4 -2
  360. package/react/components/Layouts/Panel.js +16 -14
  361. package/react/components/Layouts/RightPanel.js +4 -2
  362. package/react/components/Layouts/index.d.ts +11 -0
  363. package/react/components/Layouts/index.js +23 -0
  364. package/react/components/LeftMenu.d.ts +5 -1
  365. package/react/components/LeftMenu.js +27 -13
  366. package/react/components/ListItemLoader.js +4 -2
  367. package/react/components/Lists/BoxedList.d.ts +6 -0
  368. package/react/components/Lists/BoxedList.js +36 -15
  369. package/react/components/Lists/ContentList.d.ts +50 -0
  370. package/react/components/Lists/ContentList.js +106 -0
  371. package/react/components/Lists/SimpleList.js +9 -7
  372. package/react/components/Lists/TableList.d.ts +62 -0
  373. package/react/components/Lists/TableList.js +208 -0
  374. package/react/components/Lists/index.js +1 -0
  375. package/react/components/Loader.js +4 -2
  376. package/react/components/Menu.d.ts +2 -1
  377. package/react/components/Menu.js +48 -12
  378. package/react/components/Modal.d.ts +2 -1
  379. package/react/components/Modal.js +30 -9
  380. package/react/components/MultiSelect.d.ts +40 -0
  381. package/react/components/MultiSelect.js +70 -0
  382. package/react/components/NavButton.d.ts +1 -0
  383. package/react/components/NavButton.js +9 -4
  384. package/react/components/Navigation/BottomNav.d.ts +24 -0
  385. package/react/components/Navigation/BottomNav.js +88 -0
  386. package/react/components/Navigation/QuickNavBar.js +13 -9
  387. package/react/components/Navigation/SideBarMenu.js +4 -2
  388. package/react/components/Navigation/SideBarTabs.js +4 -2
  389. package/react/components/Navigation/index.js +1 -0
  390. package/react/components/Popover.js +4 -2
  391. package/react/components/PropsList.js +4 -2
  392. package/react/components/RadioButtonGroup.js +9 -7
  393. package/react/components/RadioGroup.js +6 -4
  394. package/react/components/SearchBar.d.ts +3 -2
  395. package/react/components/SearchBar.js +34 -8
  396. package/react/components/Select.d.ts +5 -1
  397. package/react/components/Select.js +9 -23
  398. package/react/components/SelectGrid.d.ts +1 -1
  399. package/react/components/SelectGrid.js +44 -23
  400. package/react/components/SelectWithTemplate.d.ts +11 -1
  401. package/react/components/SelectWithTemplate.js +23 -12
  402. package/react/components/Skeleton.d.ts +1 -1
  403. package/react/components/Skeleton.js +26 -5
  404. package/react/components/SlidingToolbar.js +6 -4
  405. package/react/components/Spinner.js +6 -4
  406. package/react/components/StrechBar.js +4 -2
  407. package/react/components/SubNav.js +9 -7
  408. package/react/components/Switch.js +6 -4
  409. package/react/components/SwitchGroup.js +5 -3
  410. package/react/components/TabCustom.js +11 -7
  411. package/react/components/TabList.js +6 -4
  412. package/react/components/Tag.js +5 -4
  413. package/react/components/TagInput.js +7 -6
  414. package/react/components/TagInputTest.js +13 -9
  415. package/react/components/Text/Heading.js +10 -8
  416. package/react/components/Text/Text.js +10 -8
  417. package/react/components/Text/Time.d.ts +15 -0
  418. package/react/components/Text/Time.js +65 -0
  419. package/react/components/ThemeSelector.js +7 -5
  420. package/react/components/TimePicker.d.ts +11 -1
  421. package/react/components/TimePicker.js +14 -5
  422. package/react/components/Toast.js +1 -1
  423. package/react/components/ToastMessage.js +6 -5
  424. package/react/components/ToastText.js +1 -1
  425. package/react/components/ToastWrapper.d.ts +2 -2
  426. package/react/components/ToastWrapper.js +14 -10
  427. package/react/components/Togglebox.d.ts +1 -1
  428. package/react/components/Togglebox.js +36 -15
  429. package/react/components/Tooltip.d.ts +1 -0
  430. package/react/components/Tooltip.js +14 -10
  431. package/react/components/TreeSelect.d.ts +80 -0
  432. package/react/components/TreeSelect.js +494 -0
  433. package/react/components/WithSizeObserver.d.ts +25 -0
  434. package/react/components/WithSizeObserver.js +95 -0
  435. package/react/components/_Positioner.js +4 -2
  436. package/react/helpers.d.ts +1 -0
  437. package/react/helpers.js +7 -0
  438. package/react/index.d.ts +9 -0
  439. package/react/index.js +23 -2
  440. package/yarn-error.log +111 -0
  441. package/patches/@superdesk+primereact+5.0.2-4.patch +0 -13
  442. package/sd_icons.eot +0 -0
  443. package/sd_icons.svg +0 -189
  444. package/sd_icons.ttf +0 -0
  445. package/sd_icons.woff +0 -0
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.ContentListItem = exports.ContentList = void 0;
41
+ var React = __importStar(require("react"));
42
+ var classnames_1 = __importDefault(require("classnames"));
43
+ var ContentListItem = /** @class */ (function (_super) {
44
+ __extends(ContentListItem, _super);
45
+ function ContentListItem() {
46
+ var _this = _super !== null && _super.apply(this, arguments) || this;
47
+ _this.delay = 200;
48
+ _this.prevent = false;
49
+ _this.onSingleClick = function () {
50
+ _this.timer = setTimeout(function () {
51
+ if (!_this.prevent) {
52
+ if (_this.props.onClick) {
53
+ _this.props.onClick();
54
+ }
55
+ }
56
+ }, _this.delay);
57
+ };
58
+ _this.onDoubleClick = function () {
59
+ clearTimeout(_this.timer);
60
+ _this.prevent = true;
61
+ if (_this.props.onDoubleClick) {
62
+ _this.props.onDoubleClick();
63
+ }
64
+ setTimeout(function () {
65
+ _this.prevent = false;
66
+ }, _this.delay);
67
+ };
68
+ return _this;
69
+ }
70
+ ContentListItem.prototype.render = function () {
71
+ var classes = (0, classnames_1.default)('sd-list-item sd-shadow--z1', {
72
+ 'sd-list-item--activated': this.props.activated,
73
+ 'sd-list-item--selected': this.props.selected,
74
+ 'fetched': this.props.archived,
75
+ 'actioning': this.props.loading,
76
+ });
77
+ return (React.createElement("div", { role: 'listitem', className: classes, onClick: this.onSingleClick, onDoubleClick: this.onDoubleClick },
78
+ this.props.locked
79
+ ? React.createElement("div", { className: "sd-list-item__border sd-list-item__border--locked" })
80
+ : React.createElement("div", { className: "sd-list-item__border" }),
81
+ this.props.itemColum.map(function (item, index) {
82
+ return React.createElement("div", { className: "sd-list-item__column ".concat(item.fullwidth && 'sd-list-item__column--grow', " ").concat(!item.border && 'sd-list-item__column--no-border'), key: index }, item.itemRow.map(function (e, i) {
83
+ return (item.itemRow.length <= 1
84
+ ? React.createElement(React.Fragment, { key: i }, e.content)
85
+ : React.createElement("div", { className: "sd-list-item__row", key: i }, e.content));
86
+ }));
87
+ }),
88
+ React.createElement("div", { className: "sd-list-item__action-menu" }, this.props.action)));
89
+ };
90
+ return ContentListItem;
91
+ }(React.PureComponent));
92
+ exports.ContentListItem = ContentListItem;
93
+ var ContentList = /** @class */ (function (_super) {
94
+ __extends(ContentList, _super);
95
+ function ContentList() {
96
+ return _super !== null && _super.apply(this, arguments) || this;
97
+ }
98
+ ContentList.prototype.render = function () {
99
+ var classes = (0, classnames_1.default)('sd-list-item-group sd-list-item-group--space-between-items');
100
+ return (React.createElement("div", { role: 'list', className: classes }, this.props.items.map(function (item, index) {
101
+ return React.createElement(ContentListItem, { key: index, itemColum: item.itemColum, locked: item.locked, action: item.action, loading: item.loading, activated: item.activated, selected: item.selected, archived: item.archived, onClick: item.onClick, onDoubleClick: item.onDoubleClick });
102
+ })));
103
+ };
104
+ return ContentList;
105
+ }(React.PureComponent));
106
+ exports.ContentList = ContentList;
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -27,7 +29,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
27
29
  var __importStar = (this && this.__importStar) || function (mod) {
28
30
  if (mod && mod.__esModule) return mod;
29
31
  var result = {};
30
- if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
31
33
  __setModuleDefault(result, mod);
32
34
  return result;
33
35
  };
@@ -45,11 +47,11 @@ var SimpleListItem = /** @class */ (function (_super) {
45
47
  }
46
48
  SimpleListItem.prototype.render = function () {
47
49
  var _a;
48
- var classes = classnames_1.default('simple-list__item', (_a = {
50
+ var classes = (0, classnames_1.default)('simple-list__item', (_a = {
49
51
  'simple-list__item--stacked': this.props.stacked,
50
52
  'simple-list__item--justify-flex-start': this.props.justify === undefined
51
53
  },
52
- _a["simple-list__item--justify-" + this.props.justify] = this.props.justify || this.props.justify !== undefined,
54
+ _a["simple-list__item--justify-".concat(this.props.justify)] = this.props.justify || this.props.justify !== undefined,
53
55
  _a));
54
56
  return (React.createElement("li", { className: classes, id: this.props.id || undefined }, this.props.children));
55
57
  };
@@ -63,13 +65,13 @@ var SimpleList = /** @class */ (function (_super) {
63
65
  }
64
66
  SimpleList.prototype.render = function () {
65
67
  var _a;
66
- var classes = classnames_1.default('simple-list', (_a = {
68
+ var classes = (0, classnames_1.default)('simple-list', (_a = {
67
69
  'simple-list--compact': this.props.density === undefined,
68
70
  'simple-list--dotted': this.props.border === true
69
71
  },
70
- _a["simple-list--" + this.props.density] = this.props.density || this.props.density !== undefined,
72
+ _a["simple-list--".concat(this.props.density)] = this.props.density || this.props.density !== undefined,
71
73
  _a[''] = this.props.width === undefined,
72
- _a["simple-list--fixedW-" + this.props.width] = this.props.width || this.props.width !== undefined,
74
+ _a["simple-list--fixedW-".concat(this.props.width)] = this.props.width || this.props.width !== undefined,
73
75
  _a), this.props.className);
74
76
  return (React.createElement("ul", { className: classes, id: this.props.id || undefined }, this.props.children));
75
77
  };
@@ -0,0 +1,62 @@
1
+ import * as React from 'react';
2
+ import { DropResult } from "react-beautiful-dnd";
3
+ import { IMenuItem, ISubmenu, IMenuGroup } from '../Dropdown';
4
+ export interface IProps {
5
+ array: Array<IPropsArrayItem>;
6
+ addItem?: boolean;
7
+ dragAndDrop?: boolean;
8
+ className?: string;
9
+ readOnly?: boolean;
10
+ showDragHandle?: 'always' | 'onHover' | 'none';
11
+ onDrag?(start: number, end: number): void;
12
+ onAddItem?(index: number, item?: IPropsArrayItem): void;
13
+ itemsDropdown?(index?: number): Array<IMenuItem | ISubmenu | IMenuGroup | 'divider'>;
14
+ }
15
+ export interface IPropsArrayItem {
16
+ start?: React.ReactNode;
17
+ center?: React.ReactNode;
18
+ end?: React.ReactNode;
19
+ action?: React.ReactNode;
20
+ hexColor?: string;
21
+ onClick?(): void;
22
+ onDoubleClick?(): void;
23
+ locked?: boolean;
24
+ positionLocked?: boolean;
25
+ }
26
+ interface IState {
27
+ items: Array<IPropsArrayItem>;
28
+ }
29
+ declare class TableList extends React.PureComponent<IProps, IState> {
30
+ constructor(props: IProps);
31
+ componentDidMount(): void;
32
+ componentDidUpdate(prevProps: IProps): void;
33
+ onDragEnd(result: DropResult): void | null;
34
+ dropDown(): JSX.Element;
35
+ render(): JSX.Element | null;
36
+ }
37
+ export interface IPropsItem {
38
+ start?: React.ReactNode;
39
+ center?: React.ReactNode;
40
+ end?: React.ReactNode;
41
+ action?: React.ReactNode;
42
+ addItem?: boolean;
43
+ dragAndDrop?: boolean;
44
+ hexColor?: string;
45
+ showDragHandle?: 'always' | 'onHover' | 'none';
46
+ locked?: boolean;
47
+ positionLocked?: boolean;
48
+ onClick?(): void;
49
+ onDoubleClick?(): void;
50
+ onSelect?(): void;
51
+ onAddItem?(e: number): void;
52
+ itemsDropdown?(index?: number): Array<IMenuItem | ISubmenu | IMenuGroup | 'divider'>;
53
+ }
54
+ declare class TableListItem extends React.PureComponent<IPropsItem> {
55
+ private timer;
56
+ private delay;
57
+ private prevent;
58
+ onSingleClick: () => void;
59
+ onDoubleClick: () => void;
60
+ render(): JSX.Element;
61
+ }
62
+ export { TableList, TableListItem };
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
29
+ if (k2 === undefined) k2 = k;
30
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
31
+ }) : (function(o, m, k, k2) {
32
+ if (k2 === undefined) k2 = k;
33
+ o[k2] = m[k];
34
+ }));
35
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
36
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
37
+ }) : function(o, v) {
38
+ o["default"] = v;
39
+ });
40
+ var __importStar = (this && this.__importStar) || function (mod) {
41
+ if (mod && mod.__esModule) return mod;
42
+ var result = {};
43
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
44
+ __setModuleDefault(result, mod);
45
+ return result;
46
+ };
47
+ var __importDefault = (this && this.__importDefault) || function (mod) {
48
+ return (mod && mod.__esModule) ? mod : { "default": mod };
49
+ };
50
+ Object.defineProperty(exports, "__esModule", { value: true });
51
+ exports.TableListItem = exports.TableList = void 0;
52
+ var React = __importStar(require("react"));
53
+ var classnames_1 = __importDefault(require("classnames"));
54
+ var react_beautiful_dnd_1 = require("react-beautiful-dnd");
55
+ var Tooltip_1 = require("../Tooltip");
56
+ var Button_1 = require("../Button");
57
+ var Dropdown_1 = require("../Dropdown");
58
+ var reorder = function (list, startIndex, endIndex) {
59
+ var result = Array.from(list);
60
+ var removed = result.splice(startIndex, 1)[0];
61
+ result.splice(endIndex, 0, removed);
62
+ return result;
63
+ };
64
+ var TableList = /** @class */ (function (_super) {
65
+ __extends(TableList, _super);
66
+ function TableList(props) {
67
+ var _this = _super.call(this, props) || this;
68
+ _this.state = {
69
+ items: [],
70
+ };
71
+ _this.onDragEnd = _this.onDragEnd.bind(_this);
72
+ _this.dropDown = _this.dropDown.bind(_this);
73
+ return _this;
74
+ }
75
+ TableList.prototype.componentDidMount = function () {
76
+ if (this.props.array) {
77
+ this.setState({ items: this.props.array });
78
+ }
79
+ };
80
+ TableList.prototype.componentDidUpdate = function (prevProps) {
81
+ if (this.props.array) {
82
+ if (prevProps.array !== this.props.array) {
83
+ this.setState({
84
+ items: this.props.array,
85
+ });
86
+ }
87
+ }
88
+ };
89
+ TableList.prototype.onDragEnd = function (result) {
90
+ if (!result.destination) {
91
+ return;
92
+ }
93
+ var items = reorder(this.state.items, result.source.index, result.destination.index);
94
+ this.setState({
95
+ items: items,
96
+ });
97
+ return this.props.onDrag ?
98
+ this.props.onDrag(result.source.index, result.destination.index) : null;
99
+ };
100
+ TableList.prototype.dropDown = function () {
101
+ return (React.createElement(Dropdown_1.Dropdown, { items: this.props.itemsDropdown ? this.props.itemsDropdown() : [] },
102
+ React.createElement(Button_1.Button, { type: "primary", icon: "plus-large", text: "Add item", size: "small", shape: "round", iconOnly: true, onClick: function () { return false; } })));
103
+ };
104
+ TableList.prototype.render = function () {
105
+ var _a;
106
+ var _this = this;
107
+ var classes = (0, classnames_1.default)('', (_a = {
108
+ 'table-list': !this.props.addItem,
109
+ 'table-list--read-only': this.props.readOnly
110
+ },
111
+ _a["".concat(this.props.className)] = this.props.className,
112
+ _a));
113
+ return (this.state.items.length > 0
114
+ ? this.props.dragAndDrop
115
+ ? React.createElement(react_beautiful_dnd_1.DragDropContext, { onDragEnd: this.onDragEnd },
116
+ React.createElement(react_beautiful_dnd_1.Droppable, { droppableId: "droppable" }, function (provided, _snapshot) { return (React.createElement("div", __assign({ role: 'list', className: classes, ref: provided.innerRef }, provided.droppableProps),
117
+ _this.state.items.map(function (item, index) { return (React.createElement(react_beautiful_dnd_1.Draggable, { key: index, draggableId: "".concat(index), index: index }, function (provided2, _snapshot2) { return (React.createElement("div", __assign({ ref: provided2.innerRef }, provided2.draggableProps, provided2.dragHandleProps),
118
+ React.createElement(TableListItem, { dragAndDrop: _this.props.dragAndDrop, start: item.start, center: item.center, end: item.end, action: item.action, onClick: item.onClick ? item.onClick : undefined, onDoubleClick: item.onDoubleClick
119
+ ? item.onDoubleClick
120
+ : undefined, addItem: _this.props.addItem, itemsDropdown: function () { return _this.props.itemsDropdown
121
+ ? _this.props.itemsDropdown(index)
122
+ : []; }, hexColor: item.hexColor, locked: item.locked, positionLocked: item.positionLocked, onAddItem: function () { return _this.props.onAddItem
123
+ && _this.props.onAddItem(index, item); }, showDragHandle: _this.props.showDragHandle }))); })); }),
124
+ provided.placeholder,
125
+ (_this.props.addItem && !_this.props.readOnly) &&
126
+ React.createElement("div", { className: "table-list__add-item table-list__item--margin" },
127
+ React.createElement(Tooltip_1.Tooltip, { text: 'Add item', flow: 'top', appendToBody: true },
128
+ React.createElement("div", { className: 'table-list__add-item--container sd-margin-x--auto' }, _this.dropDown()))))); }))
129
+ : React.createElement("div", { role: 'list', className: classes },
130
+ this.state.items.map(function (item, index) { return (React.createElement(TableListItem, { key: index, start: item.start, center: item.center, end: item.end, action: item.action, onClick: item.onClick ? item.onClick : undefined, onDoubleClick: item.onDoubleClick
131
+ ? item.onDoubleClick
132
+ : undefined, addItem: _this.props.addItem, itemsDropdown: function () { return _this.props.itemsDropdown ? _this.props.itemsDropdown(index) : []; }, hexColor: item.hexColor, locked: item.locked, positionLocked: item.positionLocked, onAddItem: function () { return _this.props.onAddItem
133
+ && _this.props.onAddItem(index, item); } })); }),
134
+ (this.props.addItem && !this.props.readOnly) &&
135
+ React.createElement("div", { className: "table-list__add-item table-list__item--margin" },
136
+ React.createElement(Tooltip_1.Tooltip, { text: 'Add item', flow: 'top', appendToBody: true },
137
+ React.createElement("div", { className: 'table-list__add-item--container sd-margin-x--auto' }, this.dropDown()))))
138
+ : (this.props.addItem && !this.props.readOnly) ? React.createElement("div", { role: 'list', className: classes },
139
+ React.createElement("div", { className: "table-list__add-item table-list__item--margin" },
140
+ React.createElement(Tooltip_1.Tooltip, { text: 'Add item', flow: 'top', appendToBody: true },
141
+ React.createElement("div", { className: 'table-list__add-item--container sd-margin-x--auto' }, this.dropDown()))))
142
+ : null);
143
+ };
144
+ return TableList;
145
+ }(React.PureComponent));
146
+ exports.TableList = TableList;
147
+ var TableListItem = /** @class */ (function (_super) {
148
+ __extends(TableListItem, _super);
149
+ function TableListItem() {
150
+ var _this = _super !== null && _super.apply(this, arguments) || this;
151
+ _this.delay = 200;
152
+ _this.prevent = false;
153
+ _this.onSingleClick = function () {
154
+ _this.timer = setTimeout(function () {
155
+ if (!_this.prevent) {
156
+ if (_this.props.onClick) {
157
+ _this.props.onClick();
158
+ }
159
+ }
160
+ }, _this.delay);
161
+ };
162
+ _this.onDoubleClick = function () {
163
+ clearTimeout(_this.timer);
164
+ _this.prevent = true;
165
+ if (_this.props.onDoubleClick) {
166
+ _this.props.onDoubleClick();
167
+ }
168
+ setTimeout(function () {
169
+ _this.prevent = false;
170
+ }, _this.delay);
171
+ };
172
+ return _this;
173
+ }
174
+ TableListItem.prototype.render = function () {
175
+ var _this = this;
176
+ var classes = (0, classnames_1.default)('table-list__item', {
177
+ 'table-list__item--clickable': this.props.onClick,
178
+ 'table-list__item--draggable': this.props.dragAndDrop,
179
+ 'table-list__item--locked': this.props.locked,
180
+ 'table-list__item--position-locked': this.props.positionLocked,
181
+ 'table-list__item--drag-handles-always': !this.props.showDragHandle,
182
+ 'table-list__item--drag-handles-none': this.props.showDragHandle === 'none',
183
+ });
184
+ return (this.props.addItem ?
185
+ React.createElement("div", { className: 'table-list__item-container' },
186
+ React.createElement("div", { role: 'listitem', onClick: function () { return _this.onSingleClick(); }, onDoubleClick: function () { return _this.onDoubleClick(); }, className: classes },
187
+ React.createElement("div", { className: 'table-list__item-border', style: { backgroundColor: this.props.hexColor } }),
188
+ React.createElement("div", { className: 'table-list__item-content' },
189
+ React.createElement("div", { className: 'table-list__item-content-block' }, this.props.start && this.props.start),
190
+ React.createElement("div", { className: 'table-list__item-content-block table-list__item-content-block--center' }, this.props.center && this.props.center),
191
+ React.createElement("div", { className: 'table-list__item-content-block' }, this.props.end && this.props.end)),
192
+ this.props.action && React.createElement("div", { className: 'table-list__slide-in-actions' }, this.props.action)),
193
+ React.createElement("div", { className: 'table-list__add-bar-container' },
194
+ React.createElement(Tooltip_1.Tooltip, { text: 'Add item', flow: 'top', appendToBody: true },
195
+ React.createElement("div", { className: 'table-list__add-bar' },
196
+ React.createElement(Dropdown_1.Dropdown, { onChange: this.props.onAddItem, items: this.props.itemsDropdown ? this.props.itemsDropdown() : [] },
197
+ React.createElement(Button_1.Button, { type: "primary", icon: "plus-large", text: "Add item", size: "small", shape: "round", iconOnly: true, onClick: function () { return false; } }))))))
198
+ : React.createElement("div", { role: 'listitem', className: "".concat(classes, " table-list__item--margin"), onClick: function () { return _this.onSingleClick(); }, onDoubleClick: function () { return _this.onDoubleClick(); } },
199
+ React.createElement("div", { className: 'table-list__item-border', style: { backgroundColor: this.props.hexColor } }),
200
+ React.createElement("div", { className: 'table-list__item-content' },
201
+ React.createElement("div", { className: 'table-list__item-content-block' }, this.props.start && this.props.start),
202
+ React.createElement("div", { className: 'table-list__item-content-block table-list__item-content-block--center' }, this.props.center && this.props.center),
203
+ React.createElement("div", { className: 'table-list__item-content-block' }, this.props.end && this.props.end)),
204
+ this.props.action && React.createElement("div", { className: 'table-list__slide-in-actions' }, this.props.action)));
205
+ };
206
+ return TableListItem;
207
+ }(React.PureComponent));
208
+ exports.TableListItem = TableListItem;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BoxedListContentRow = exports.BoxedListItem = exports.BoxedList = exports.SimpleListItem = exports.SimpleList = void 0;
3
4
  var SimpleList_1 = require("./SimpleList");
4
5
  Object.defineProperty(exports, "SimpleList", { enumerable: true, get: function () { return SimpleList_1.SimpleList; } });
5
6
  Object.defineProperty(exports, "SimpleListItem", { enumerable: true, get: function () { return SimpleList_1.SimpleListItem; } });
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -27,7 +29,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
27
29
  var __importStar = (this && this.__importStar) || function (mod) {
28
30
  if (mod && mod.__esModule) return mod;
29
31
  var result = {};
30
- if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
31
33
  __setModuleDefault(result, mod);
32
34
  return result;
33
35
  };
@@ -1,4 +1,5 @@
1
- import React, { SyntheticEvent } from 'react';
1
+ import * as React from 'react';
2
+ import { SyntheticEvent } from 'react';
2
3
  /**
3
4
  * Known issues:
4
5
  *
@@ -3,23 +3,51 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
15
  };
14
16
  })();
15
- var __importDefault = (this && this.__importDefault) || function (mod) {
16
- return (mod && mod.__esModule) ? mod : { "default": mod };
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
17
35
  };
18
36
  Object.defineProperty(exports, "__esModule", { value: true });
19
37
  exports.Menu = void 0;
20
- var react_1 = __importDefault(require("react"));
38
+ var React = __importStar(require("react"));
21
39
  var tieredmenu_1 = require("@superdesk/primereact/tieredmenu");
40
+ var helpers_1 = require("../helpers");
22
41
  var superdeskTopBarZIndex = 1030;
42
+ function isSeparator(item) {
43
+ return item['separator'] === true;
44
+ }
45
+ function isMenuLeaf(item) {
46
+ return item['onClick'] != null;
47
+ }
48
+ function isMenuBranch(item) {
49
+ return isSeparator(item) !== true && isMenuLeaf(item) !== true;
50
+ }
23
51
  var Menu = /** @class */ (function (_super) {
24
52
  __extends(Menu, _super);
25
53
  function Menu(props) {
@@ -34,27 +62,35 @@ var Menu = /** @class */ (function (_super) {
34
62
  Menu.prototype.toPrimeReactInterface = function (items) {
35
63
  var _this = this;
36
64
  return items.map(function (item) {
37
- if (item.separator != null) {
65
+ if (isSeparator(item)) {
38
66
  return { separator: true };
39
67
  }
40
- else if (item.children != null) {
68
+ else if (isMenuBranch(item)) {
41
69
  return {
42
70
  label: item.label,
43
71
  icon: item.icon,
44
72
  items: _this.toPrimeReactInterface(item.children),
45
73
  };
46
74
  }
47
- else {
75
+ else if (isMenuLeaf(item)) {
48
76
  return {
49
77
  label: item.label,
50
78
  icon: item.icon,
51
79
  command: function (event) {
52
- _this.close(event);
80
+ /**
81
+ * a click on menu item should not trigger other click handlers
82
+ * above in the DOM tree. e.g. if menu is inside a clickable list item
83
+ */
84
+ event.originalEvent.stopPropagation();
85
+ _this.close(event.originalEvent);
53
86
  item.onClick();
54
87
  },
55
88
  disabled: item.disabled,
56
89
  };
57
90
  }
91
+ else {
92
+ return (0, helpers_1.assertNever)(item);
93
+ }
58
94
  });
59
95
  };
60
96
  Menu.prototype.toggle = function (event) {
@@ -68,9 +104,9 @@ var Menu = /** @class */ (function (_super) {
68
104
  Menu.prototype.render = function () {
69
105
  var _this = this;
70
106
  var _a;
71
- return (react_1.default.createElement("div", null,
107
+ return (React.createElement("div", null,
72
108
  this.props.children(this.toggle),
73
- react_1.default.createElement("div", { onKeyDown: function (event) {
109
+ React.createElement("div", { onKeyDown: function (event) {
74
110
  if (event.key === 'Escape') {
75
111
  event.stopPropagation();
76
112
  _this.close(event);
@@ -79,7 +115,7 @@ var Menu = /** @class */ (function (_super) {
79
115
  }
80
116
  }
81
117
  } },
82
- react_1.default.createElement(tieredmenu_1.TieredMenu, { popup: true, model: this.toPrimeReactInterface(this.props.items), ref: function (el) { return _this.menu = el; }, appendTo: document.body, onShow: function () {
118
+ React.createElement(tieredmenu_1.TieredMenu, { popup: true, model: this.toPrimeReactInterface(this.props.items), ref: function (el) { return _this.menu = el; }, appendTo: document.body, onShow: function () {
83
119
  _this.focusedBefore = document.activeElement;
84
120
  var firstMenuItem = document.querySelectorAll('.p-tieredmenu [role="menuitem"]')[0];
85
121
  if (firstMenuItem instanceof HTMLElement) {
@@ -88,5 +124,5 @@ var Menu = /** @class */ (function (_super) {
88
124
  }, "data-test-id": "menu", baseZIndex: (_a = this.props.zIndex) !== null && _a !== void 0 ? _a : superdeskTopBarZIndex }))));
89
125
  };
90
126
  return Menu;
91
- }(react_1.default.Component));
127
+ }(React.Component));
92
128
  exports.Menu = Menu;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import * as React from 'react';
2
2
  interface IProps {
3
3
  id?: string;
4
4
  className?: string;
@@ -11,6 +11,7 @@ interface IProps {
11
11
  headerTemplate?: JSX.Element | string;
12
12
  footerTemplate?: JSX.Element | string;
13
13
  closeOnEscape?: boolean;
14
+ zIndex?: number;
14
15
  onShow?(): void;
15
16
  onHide(): void;
16
17
  }