superdesk-ui-framework 3.0.1-beta.3 → 3.0.1-beta.30

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 (262) hide show
  1. package/app/fonts/sd_icons.eot +0 -0
  2. package/app/fonts/sd_icons.svg +14 -7
  3. package/app/fonts/sd_icons.ttf +0 -0
  4. package/app/fonts/sd_icons.woff +0 -0
  5. package/app/scripts/toggleBoxNext.js +1 -1
  6. package/app/styles/_big-icon-font.scss +1 -1
  7. package/app/styles/_buttons.scss +11 -6
  8. package/app/styles/_content-divider.scss +63 -8
  9. package/app/styles/_helpers.scss +24 -1
  10. package/app/styles/_icon-font.scss +17 -10
  11. package/app/styles/_labels.scss +0 -1
  12. package/app/styles/_master-desk.scss +3 -2
  13. package/app/styles/_modals.scss +6 -3
  14. package/app/styles/_normalize.scss +4 -0
  15. package/app/styles/_sd-tag-input.scss +256 -296
  16. package/app/styles/_simple-list.scss +0 -2
  17. package/app/styles/_table-list.scss +116 -12
  18. package/app/styles/app.scss +1 -0
  19. package/app/styles/components/_list-item.scss +36 -17
  20. package/app/styles/components/_sd-collapse-box.scss +6 -6
  21. package/app/styles/components/_sd-comment-box.scss +8 -4
  22. package/app/styles/components/_sd-editor-popup.scss +4 -4
  23. package/app/styles/components/_sd-grid-item.scss +30 -16
  24. package/app/styles/components/_sd-media-carousel.scss +37 -2
  25. package/app/styles/components/_sd-photo-preview.scss +3 -3
  26. package/app/styles/components/_sd-searchbar.scss +7 -0
  27. package/app/styles/components/_subnav.scss +470 -470
  28. package/app/styles/design-tokens/_design-tokens-general.scss +1 -1
  29. package/app/styles/design-tokens/_new-colors.scss +30 -13
  30. package/app/styles/dropdowns/_basic-dropdown.scss +6 -0
  31. package/app/styles/form-elements/_forms-general.scss +81 -7
  32. package/app/styles/form-elements/_input-wrap.scss +138 -0
  33. package/app/styles/form-elements/_inputs.scss +368 -110
  34. package/app/styles/grids/_grid-layout.scss +34 -1
  35. package/app/styles/interface-elements/_side-panel.scss +1 -1
  36. package/app/styles/layout/_basic-layout.scss +2 -2
  37. package/app/styles/layout/_editor.scss +10 -4
  38. package/app/styles/primereact/_pr-datepicker.scss +4 -2
  39. package/app/styles/primereact/_pr-dialog.scss +5 -0
  40. package/app/styles/primereact/_pr-dropdown.scss +17 -1
  41. package/app/styles/primereact/_pr-menu.scss +6 -5
  42. package/app/styles/variables/_colors.scss +21 -21
  43. package/app-typescript/components/Badge.tsx +3 -2
  44. package/app-typescript/components/ContentDivider.tsx +3 -0
  45. package/app-typescript/components/DatePicker.tsx +40 -52
  46. package/app-typescript/components/Dropdown.tsx +127 -82
  47. package/app-typescript/components/DurationInput.tsx +400 -0
  48. package/app-typescript/components/EmptyState.tsx +2 -1
  49. package/app-typescript/components/Form/FormLabel.tsx +8 -1
  50. package/app-typescript/components/Form/FormRowNew.tsx +41 -0
  51. package/app-typescript/components/Form/InputBase.tsx +95 -0
  52. package/app-typescript/components/Form/InputNew.tsx +107 -0
  53. package/app-typescript/components/Form/InputWrapper.tsx +79 -0
  54. package/app-typescript/components/Form/index.tsx +4 -0
  55. package/app-typescript/components/Input.tsx +28 -45
  56. package/app-typescript/components/Label.tsx +65 -10
  57. package/app-typescript/components/Layouts/AuthoringContainer.tsx +2 -1
  58. package/app-typescript/components/Layouts/AuthoringFrame.tsx +2 -1
  59. package/app-typescript/components/Layouts/AuthoringFrameRightBar.tsx +21 -2
  60. package/app-typescript/components/Layouts/AuthoringInnerHeader.tsx +1 -1
  61. package/app-typescript/components/Layouts/AuthoringMain.tsx +4 -2
  62. package/app-typescript/components/Layouts/CoreLayout.tsx +2 -1
  63. package/app-typescript/components/Layouts/CoreLayoutMain.tsx +7 -1
  64. package/app-typescript/components/Layouts/Layout.tsx +1 -1
  65. package/app-typescript/components/LeftMenu.tsx +127 -122
  66. package/app-typescript/components/Lists/ContentList.tsx +66 -33
  67. package/app-typescript/components/Lists/TableList.tsx +348 -151
  68. package/app-typescript/components/Menu.tsx +2 -2
  69. package/app-typescript/components/MultiSelect.tsx +37 -50
  70. package/app-typescript/components/NavButton.tsx +2 -1
  71. package/app-typescript/components/Navigation/BottomNav.tsx +3 -2
  72. package/app-typescript/components/SearchBar.tsx +39 -12
  73. package/app-typescript/components/Select.tsx +23 -41
  74. package/app-typescript/components/SelectWithTemplate.tsx +32 -7
  75. package/app-typescript/components/Spacer.tsx +87 -0
  76. package/app-typescript/components/TimePicker.tsx +38 -15
  77. package/app-typescript/components/TreeSelect.tsx +546 -212
  78. package/app-typescript/index.ts +6 -1
  79. package/dist/examples.bundle.css +344 -71
  80. package/dist/examples.bundle.js +48203 -45174
  81. package/dist/playgrounds/react-playgrounds/CoreLayout.tsx +65 -54
  82. package/dist/playgrounds/react-playgrounds/Index.tsx +1 -0
  83. package/dist/playgrounds/react-playgrounds/Multiedit.tsx +321 -0
  84. package/dist/playgrounds/react-playgrounds/RundownEditor.tsx +26 -23
  85. package/dist/playgrounds/react-playgrounds/Rundowns.tsx +20 -21
  86. package/dist/playgrounds/react-playgrounds/SamsPlayground.tsx +12 -3
  87. package/dist/playgrounds/react-playgrounds/TestGround.tsx +379 -25
  88. package/dist/playgrounds/react-playgrounds/components/Layout.tsx +1 -1
  89. package/dist/react/Badges.tsx +18 -0
  90. package/dist/react/ContentDivider.tsx +22 -18
  91. package/dist/react/ContentList.tsx +200 -18
  92. package/dist/react/DatePicker.tsx +21 -1
  93. package/dist/react/Dropdowns.tsx +580 -48
  94. package/dist/react/DurationInput.tsx +108 -0
  95. package/dist/react/Index.tsx +5 -0
  96. package/dist/react/Inputs.tsx +147 -2
  97. package/dist/react/Labels.tsx +51 -1
  98. package/dist/react/LeftNavigations.tsx +71 -44
  99. package/dist/react/MultiSelect.tsx +10 -7
  100. package/dist/react/NavButtons.tsx +31 -1
  101. package/dist/react/SelectWithTemplate.tsx +6 -1
  102. package/dist/react/TableList.tsx +79 -186
  103. package/dist/react/TimePicker.tsx +22 -12
  104. package/dist/react/Togglebox.tsx +1 -1
  105. package/dist/react/TreeSelect.tsx +295 -51
  106. package/dist/react/tree-select/TreeSelect.tsx +273 -0
  107. package/dist/react/tree-select/example-1.tsx +71 -0
  108. package/dist/react/tree-select/example-2.tsx +59 -0
  109. package/dist/sd_icons.eot +0 -0
  110. package/dist/sd_icons.svg +14 -7
  111. package/dist/sd_icons.ttf +0 -0
  112. package/dist/sd_icons.woff +0 -0
  113. package/dist/superdesk-ui.bundle.css +2282 -782
  114. package/dist/superdesk-ui.bundle.js +37312 -21800
  115. package/dist/vendor.bundle.js +27 -27
  116. package/examples/css/docs-page.css +4 -4
  117. package/examples/index.js +4 -0
  118. package/examples/pages/playgrounds/react-playgrounds/CoreLayout.tsx +65 -54
  119. package/examples/pages/playgrounds/react-playgrounds/Index.tsx +1 -0
  120. package/examples/pages/playgrounds/react-playgrounds/Multiedit.tsx +321 -0
  121. package/examples/pages/playgrounds/react-playgrounds/RundownEditor.tsx +26 -23
  122. package/examples/pages/playgrounds/react-playgrounds/Rundowns.tsx +20 -21
  123. package/examples/pages/playgrounds/react-playgrounds/SamsPlayground.tsx +12 -3
  124. package/examples/pages/playgrounds/react-playgrounds/TestGround.tsx +379 -25
  125. package/examples/pages/playgrounds/react-playgrounds/components/Layout.tsx +1 -1
  126. package/examples/pages/react/Badges.tsx +18 -0
  127. package/examples/pages/react/ContentDivider.tsx +22 -18
  128. package/examples/pages/react/ContentList.tsx +200 -18
  129. package/examples/pages/react/DatePicker.tsx +21 -1
  130. package/examples/pages/react/Dropdowns.tsx +580 -48
  131. package/examples/pages/react/DurationInput.tsx +108 -0
  132. package/examples/pages/react/Index.tsx +5 -0
  133. package/examples/pages/react/Inputs.tsx +147 -2
  134. package/examples/pages/react/Labels.tsx +51 -1
  135. package/examples/pages/react/LeftNavigations.tsx +71 -44
  136. package/examples/pages/react/MultiSelect.tsx +10 -7
  137. package/examples/pages/react/NavButtons.tsx +31 -1
  138. package/examples/pages/react/SelectWithTemplate.tsx +6 -1
  139. package/examples/pages/react/TableList.tsx +79 -186
  140. package/examples/pages/react/TimePicker.tsx +22 -12
  141. package/examples/pages/react/Togglebox.tsx +1 -1
  142. package/examples/pages/react/TreeSelect.tsx +295 -51
  143. package/examples/pages/react/tree-select/TreeSelect.tsx +273 -0
  144. package/examples/pages/react/tree-select/example-1.tsx +71 -0
  145. package/examples/pages/react/tree-select/example-2.tsx +59 -0
  146. package/package.json +5 -5
  147. package/react/components/Badge.d.ts +1 -0
  148. package/react/components/Badge.js +2 -2
  149. package/react/components/ContentDivider.d.ts +1 -0
  150. package/react/components/ContentDivider.js +2 -0
  151. package/react/components/DatePicker.d.ts +1 -0
  152. package/react/components/DatePicker.js +6 -22
  153. package/react/components/Dropdown.d.ts +6 -5
  154. package/react/components/Dropdown.js +57 -30
  155. package/react/components/DurationInput.d.ts +42 -0
  156. package/react/components/DurationInput.js +364 -0
  157. package/react/components/EmptyState.d.ts +1 -0
  158. package/react/components/EmptyState.js +1 -1
  159. package/react/components/Form/FormLabel.d.ts +4 -1
  160. package/react/components/Form/FormLabel.js +9 -3
  161. package/react/components/Form/FormRowNew.d.ts +12 -0
  162. package/react/components/Form/FormRowNew.js +67 -0
  163. package/react/components/Form/InputBase.d.ts +41 -0
  164. package/react/components/Form/InputBase.js +86 -0
  165. package/react/components/Form/InputNew.d.ts +45 -0
  166. package/react/components/Form/InputNew.js +75 -0
  167. package/react/components/Form/InputWrapper.d.ts +28 -0
  168. package/react/components/Form/InputWrapper.js +91 -0
  169. package/react/components/Form/index.d.ts +4 -0
  170. package/react/components/Form/index.js +9 -1
  171. package/react/components/Input.js +5 -34
  172. package/react/components/Label.d.ts +2 -0
  173. package/react/components/Label.js +34 -3
  174. package/react/components/Layouts/AuthoringContainer.d.ts +1 -0
  175. package/react/components/Layouts/AuthoringContainer.js +1 -1
  176. package/react/components/Layouts/AuthoringFrame.d.ts +1 -0
  177. package/react/components/Layouts/AuthoringFrame.js +1 -1
  178. package/react/components/Layouts/AuthoringFrameRightBar.d.ts +9 -2
  179. package/react/components/Layouts/AuthoringFrameRightBar.js +14 -3
  180. package/react/components/Layouts/AuthoringInnerHeader.js +1 -1
  181. package/react/components/Layouts/AuthoringMain.js +1 -1
  182. package/react/components/Layouts/CoreLayout.d.ts +1 -0
  183. package/react/components/Layouts/CoreLayout.js +1 -1
  184. package/react/components/Layouts/CoreLayoutMain.d.ts +1 -0
  185. package/react/components/Layouts/CoreLayoutMain.js +8 -1
  186. package/react/components/Layouts/Layout.js +1 -1
  187. package/react/components/LeftMenu.d.ts +3 -1
  188. package/react/components/LeftMenu.js +8 -1
  189. package/react/components/Lists/ContentList.d.ts +51 -0
  190. package/react/components/Lists/ContentList.js +110 -0
  191. package/react/components/Lists/TableList.d.ts +64 -0
  192. package/react/components/Lists/TableList.js +240 -0
  193. package/react/components/Menu.js +1 -1
  194. package/react/components/MultiSelect.d.ts +40 -0
  195. package/react/components/MultiSelect.js +70 -0
  196. package/react/components/NavButton.d.ts +1 -1
  197. package/react/components/Navigation/BottomNav.d.ts +1 -0
  198. package/react/components/Navigation/BottomNav.js +2 -2
  199. package/react/components/SearchBar.d.ts +3 -2
  200. package/react/components/SearchBar.js +28 -4
  201. package/react/components/Select.d.ts +1 -1
  202. package/react/components/Select.js +4 -26
  203. package/react/components/SelectWithTemplate.d.ts +11 -1
  204. package/react/components/SelectWithTemplate.js +19 -10
  205. package/react/components/TimePicker.d.ts +11 -1
  206. package/react/components/TimePicker.js +10 -3
  207. package/react/components/TreeSelect.d.ts +82 -0
  208. package/react/components/TreeSelect.js +521 -0
  209. package/react/index.d.ts +6 -0
  210. package/react/index.js +16 -3
  211. package/.vscode/settings.json +0 -5
  212. package/app-typescript/dist/components/Alert.d.ts +0 -16
  213. package/app-typescript/dist/components/Autocomplete.d.ts +0 -48
  214. package/app-typescript/dist/components/Avatar.d.ts +0 -33
  215. package/app-typescript/dist/components/Badge.d.ts +0 -13
  216. package/app-typescript/dist/components/Button.d.ts +0 -23
  217. package/app-typescript/dist/components/ButtonGroup.d.ts +0 -12
  218. package/app-typescript/dist/components/CheckButtonGroup.d.ts +0 -11
  219. package/app-typescript/dist/components/CheckGroup.d.ts +0 -9
  220. package/app-typescript/dist/components/Checkbox.d.ts +0 -19
  221. package/app-typescript/dist/components/CheckboxButton.d.ts +0 -19
  222. package/app-typescript/dist/components/DatePicker.d.ts +0 -37
  223. package/app-typescript/dist/components/Divider.d.ts +0 -9
  224. package/app-typescript/dist/components/DonutChart.d.ts +0 -12
  225. package/app-typescript/dist/components/Dropdown.d.ts +0 -28
  226. package/app-typescript/dist/components/DropdownFirst.d.ts +0 -42
  227. package/app-typescript/dist/components/EmptyState.d.ts +0 -11
  228. package/app-typescript/dist/components/FormLabel.d.ts +0 -9
  229. package/app-typescript/dist/components/Genie.d.ts +0 -13
  230. package/app-typescript/dist/components/GridItem.d.ts +0 -69
  231. package/app-typescript/dist/components/GridList.d.ts +0 -14
  232. package/app-typescript/dist/components/HeadingText.d.ts +0 -10
  233. package/app-typescript/dist/components/HelloWorld.d.ts +0 -8
  234. package/app-typescript/dist/components/Icon.d.ts +0 -12
  235. package/app-typescript/dist/components/IconButton.d.ts +0 -12
  236. package/app-typescript/dist/components/IconLabel.d.ts +0 -11
  237. package/app-typescript/dist/components/Input.d.ts +0 -24
  238. package/app-typescript/dist/components/Label.d.ts +0 -15
  239. package/app-typescript/dist/components/LeftMenu.d.ts +0 -26
  240. package/app-typescript/dist/components/Loader.d.ts +0 -8
  241. package/app-typescript/dist/components/NavButton.d.ts +0 -15
  242. package/app-typescript/dist/components/Popover.d.ts +0 -13
  243. package/app-typescript/dist/components/PropsList.d.ts +0 -15
  244. package/app-typescript/dist/components/Radio.d.ts +0 -19
  245. package/app-typescript/dist/components/RadioButton.d.ts +0 -20
  246. package/app-typescript/dist/components/Select.d.ts +0 -29
  247. package/app-typescript/dist/components/SelectWithTemplate.d.ts +0 -32
  248. package/app-typescript/dist/components/SlidingToolbar.d.ts +0 -8
  249. package/app-typescript/dist/components/StrechBar.d.ts +0 -4
  250. package/app-typescript/dist/components/SubNav.d.ts +0 -10
  251. package/app-typescript/dist/components/Switch.d.ts +0 -12
  252. package/app-typescript/dist/components/TabCustom.d.ts +0 -25
  253. package/app-typescript/dist/components/TabList.d.ts +0 -22
  254. package/app-typescript/dist/components/Tag.d.ts +0 -9
  255. package/app-typescript/dist/components/TagInput.d.ts +0 -7
  256. package/app-typescript/dist/components/TagInputTest.d.ts +0 -18
  257. package/app-typescript/dist/components/TimePicker.d.ts +0 -11
  258. package/app-typescript/dist/components/Tooltip.d.ts +0 -11
  259. package/app-typescript/dist/components/_Positioner.d.ts +0 -27
  260. package/app-typescript/dist/index.d.ts +0 -56
  261. package/patches/@superdesk+primereact+5.0.2-4.patch +0 -57
  262. package/yarn-error.log +0 -111
@@ -5,6 +5,7 @@ import * as Layout from '../../../../app-typescript/components/Layouts';
5
5
  import * as Form from '../../../../app-typescript/components/Form';
6
6
  import * as Nav from '../../../../app-typescript/components/Navigation';
7
7
  import { BottomNav } from '../../../../app-typescript/components/Navigation/BottomNav';
8
+ import { clone } from 'lodash';
8
9
 
9
10
  interface IProps {
10
11
  children?: React.ReactNode;
@@ -19,6 +20,7 @@ interface IState {
19
20
  theme: 'dark' | 'light' | string;
20
21
  mainMenuOpen: boolean;
21
22
  notificationsOpen: boolean;
23
+ botNavArray: any;
22
24
  }
23
25
 
24
26
  export class CoreLayout extends React.Component<IProps, IState> {
@@ -28,9 +30,16 @@ export class CoreLayout extends React.Component<IProps, IState> {
28
30
  theme: 'light',
29
31
  mainMenuOpen: false,
30
32
  notificationsOpen: false,
33
+ botNavArray: [
34
+ { icon:'photo', title: 'Sed posuere consectetur est at lobortis.', onClick: () => false, onRemove: (e) => this.handleDelete(e) },
35
+ { title: 'Nullam id dolor id nibh ultricies.', onClick: () => false, onRemove: (e) => this.handleDelete(e)},
36
+ { icon:'video', title: 'Nulla vitae elit libero, a pharetra augue.', onClick: () => false, onRemove: (e) => this.handleDelete(e)},
37
+ { title: 'Donec sed odio dui.', onClick: () => false, onRemove: (e) => this.handleDelete(e)},
38
+ ]
31
39
  }
32
40
  this.handleMainMenu = this.handleMainMenu.bind(this);
33
41
  this.handleNotifications = this.handleNotifications.bind(this);
42
+ this.handleDelete = this.handleDelete.bind(this);
34
43
  }
35
44
 
36
45
  handleMainMenu() {
@@ -38,56 +47,65 @@ export class CoreLayout extends React.Component<IProps, IState> {
38
47
  mainMenuOpen: !state.mainMenuOpen,
39
48
  }));
40
49
  }
50
+
41
51
  handleNotifications() {
42
52
  this.setState((state) => ({
43
53
  notificationsOpen: !state.notificationsOpen,
44
54
  }));
45
55
  }
56
+
57
+ handleDelete(indexNumber: number) {
58
+ const newItems = clone(this.state.botNavArray);
59
+ newItems.splice(indexNumber, 1);
46
60
 
61
+ this.setState({
62
+ botNavArray: newItems,
63
+ });
64
+ }
47
65
 
48
66
  render() {
49
67
  return (
50
68
  <Layout.CoreLayout
51
- heading='Core Layout'
52
- menuOpen={this.state.mainMenuOpen}
53
- onClick={this.handleMainMenu}
54
- active={this.state.mainMenuOpen}
55
- ariaControls='main-menu'
56
- menuId='main-menu'
57
- slideInMenu={(
58
- <Layout.MainMenu
59
- headerTitle='Main Menu'
60
- poweredBy='Powered by Superdesk technology'
61
- header={(null)}
62
- footerContent={true}
63
- footer={(
64
- <p>Menu footer testing</p>
65
- )}
66
- >
67
- <LeftMenu
68
- style='blanc'
69
- reverseItemBorder={true}
70
- size='large'
71
- ariaLabel={'Left navigation'}
72
- activeItemId='1'
73
- groups={[
74
- { label: 'MAIN SECTIONS', items: [
75
- { id: '1', label: 'Section 1', ref:'section1'},
76
- { id: '2', label: 'Section 2', ref: 'section2' },
77
- { id: '3', label: 'Section 3', ref: 'section3' },
78
-
79
- ]},
80
- { label:'OTHER SECTIONS', items: [
81
- { id: '4', label: 'Section 4', ref: 'section4' },
82
- { id: '5', label: 'Section 5', ref: 'section5' },
83
- ]},
84
- { label:'OTHER SECTIONS', items: [
85
- { id: '6', label: 'Section 6', ref: 'section6' },
86
- { id: '7', label: 'Section 7', ref: 'section7' },
87
- ]}
88
- ]}
89
- onSelect={() => false} />
90
- </Layout.MainMenu>
69
+ heading='Core Layout'
70
+ menuOpen={this.state.mainMenuOpen}
71
+ onClick={this.handleMainMenu}
72
+ active={this.state.mainMenuOpen}
73
+ ariaControls='main-menu'
74
+ menuId='main-menu'
75
+ editorFullWidth={false}
76
+ slideInMenu={(
77
+ <Layout.MainMenu
78
+ headerTitle='Main Menu'
79
+ poweredBy='Powered by Superdesk technology'
80
+ header={(null)}
81
+ footerContent={true}
82
+ footer={(
83
+ <p>Menu footer testing</p>
84
+ )}>
85
+ <LeftMenu
86
+ style='blanc'
87
+ reverseItemBorder={true}
88
+ size='large'
89
+ ariaLabel={'Left navigation'}
90
+ activeItemId='1'
91
+ groups={[
92
+ { label: 'MAIN SECTIONS', items: [
93
+ { id: '1', label: 'Section 1', ref:'section1'},
94
+ { id: '2', label: 'Section 2', ref: 'section2' },
95
+ { id: '3', label: 'Section 3', ref: 'section3' },
96
+
97
+ ]},
98
+ { label:'OTHER SECTIONS', items: [
99
+ { id: '4', label: 'Section 4', ref: 'section4' },
100
+ { id: '5', label: 'Section 5', ref: 'section5' },
101
+ ]},
102
+ { label:'OTHER SECTIONS', items: [
103
+ { id: '6', label: 'Section 6', ref: 'section6' },
104
+ { id: '7', label: 'Section 7', ref: 'section7' },
105
+ ]}
106
+ ]}
107
+ onSelect={() => false} />
108
+ </Layout.MainMenu>
91
109
  )}
92
110
  topMenu={(
93
111
  <NavButton badgeValue='6' icon='bell' text='Show notifications' onClick={this.handleNotifications} />
@@ -96,22 +114,16 @@ export class CoreLayout extends React.Component<IProps, IState> {
96
114
  <>
97
115
  <Layout.BottomBarAction onClick={()=> false} />
98
116
  <BottomNav
99
- items={[
100
- { icon:'photo', title: 'Sed posuere consectetur est at lobortis.', onClick: () => console.log('test1') },
101
- { title: 'Nullam id dolor id nibh ultricies.', onClick: () => console.log('test2')},
102
- { icon:'video', title: 'Nulla vitae elit libero, a pharetra augue.', onClick: () => false},
103
- { title: 'Donec sed odio dui.', onClick: () => false},
104
- ]} />
117
+ items={this.state.botNavArray} />
105
118
  </>
106
119
  )}
107
120
  overlay={(
108
121
  <Layout.NotificationPanel
109
- header={(null)}
110
- headerTitle='Notifications'
111
- open={this.state.notificationsOpen}
112
- onClick={this.handleNotifications}
113
- theme='dark'
114
- >
122
+ header={(null)}
123
+ headerTitle='Notifications'
124
+ open={this.state.notificationsOpen}
125
+ onClick={this.handleNotifications}
126
+ theme='dark'>
115
127
  <BoxedList>
116
128
  <BoxedListItem unread={true}>
117
129
  <Time datetime='29.06.2022'>29.06.2022</Time>
@@ -137,8 +149,7 @@ export class CoreLayout extends React.Component<IProps, IState> {
137
149
  </BoxedList>
138
150
 
139
151
  </Layout.NotificationPanel>
140
- )}
141
- >
152
+ )}>
142
153
  </Layout.CoreLayout>
143
154
  );
144
155
  }
@@ -4,6 +4,7 @@ export { TestGround } from './TestGround';
4
4
  export { UiPlayground } from './UiPlayground';
5
5
  export { PageLayoutTest } from './PageLayoutTest';
6
6
  export { EditorTest } from './EditorTest';
7
+ export { Multiedit } from './Multiedit';
7
8
  export { RundownEditor } from './RundownEditor';
8
9
  export { PersonalProfile } from './PersonalProfile';
9
10
  export { Rundowns } from './Rundowns';
@@ -0,0 +1,321 @@
1
+ import * as React from 'react';
2
+ import * as Components from './components/Index';
3
+ import { ButtonGroup, Button, NavButton, SubNav, Dropdown, Input, IconButton, Divider, Tooltip, Select, Option, Switch, Icon, AvatarWrapper, AvatarContentImage, AvatarContentText, Text, EmptyState, Alert, SlidingToolbar, TabLabel, Tabs, Heading, Modal } from '../../../../app-typescript/index';
4
+ import * as Layout from '../../../../app-typescript/components/Layouts';
5
+ import * as Form from '../../../../app-typescript/components/Form';
6
+ import * as Nav from '../../../../app-typescript/components/Navigation';
7
+ import { BoxedList, BoxedListItem, BoxedListContentRow } from '../../../../app-typescript/components/Lists';
8
+ import { Spacer } from '../../../../app-typescript/components/Spacer';
9
+
10
+ interface IProps {
11
+ children?: React.ReactNode;
12
+ }
13
+
14
+ interface IState {
15
+ theme: 'dark' | 'light' | string;
16
+ itemType: string;
17
+ dropDownState: string;
18
+ itemSelected1: boolean;
19
+ itemSelected2: boolean;
20
+ itemSelected3: boolean;
21
+ value1: boolean;
22
+ value2: boolean;
23
+ value3: boolean;
24
+ leftPanelOpen: boolean;
25
+ rightPanelOpen: boolean;
26
+ rightPanelPinned: boolean;
27
+ sideOverlayOpen: boolean;
28
+ sideBarOpen: boolean;
29
+ arr: any;
30
+ }
31
+
32
+ export class Multiedit extends React.Component<IProps, IState> {
33
+ constructor(props: IProps) {
34
+ super(props);
35
+ this.state = {
36
+ theme: 'light',
37
+ itemType: 'itemtype01',
38
+ dropDownState: '',
39
+ itemSelected1: false,
40
+ itemSelected2: false,
41
+ itemSelected3: false,
42
+ value1: false,
43
+ value2: false,
44
+ value3: false,
45
+ leftPanelOpen: false,
46
+ rightPanelOpen: false,
47
+ rightPanelPinned: false,
48
+ sideOverlayOpen: false,
49
+ sideBarOpen: false,
50
+ arr: [<Editor />, <Editor />]
51
+
52
+ }
53
+ this.handleTheme = this.handleTheme.bind(this);
54
+ }
55
+
56
+ handleTheme(newTheme: string) {
57
+ this.setState({
58
+ theme: newTheme
59
+ })
60
+ }
61
+
62
+ changeStatus(item: any, status: string) {
63
+ if (item.status.includes(status)) {
64
+ item.status.splice(item.status.indexOf(status), 1);
65
+ } else {
66
+ item.status.push(status);
67
+ }
68
+ }
69
+
70
+ render() {
71
+ return (
72
+ <Modal
73
+ className='p-dialog-flex'
74
+ onHide={() => false}
75
+ maximized={true} contentPadding={"none"}
76
+ headerTemplate="Multiedit"
77
+ visible={true} >
78
+ <Spacer children={this.state.arr} gap={'0'}></Spacer>
79
+ <div style={{
80
+ padding: '0 20px',
81
+ display: 'flex',
82
+ alignItems: 'center'
83
+ }}>
84
+ <Dropdown
85
+ append
86
+ items={[
87
+ { label: 'Action 1', onSelect: () => this.setState({arr: [...this.state.arr, <Editor />]}) },
88
+ ]}>
89
+ <Button type="primary" icon="plus-large" text="Add article" style="filled" size="large" shape="round" iconOnly={true} onClick={()=> false} />
90
+ </Dropdown>
91
+ </div>
92
+ </Modal>
93
+ );
94
+ }
95
+ }
96
+
97
+ interface IEditor {
98
+ sideBarOpen?: boolean;
99
+ }
100
+
101
+ export class Editor extends React.Component<IEditor, IEditor> {
102
+ constructor(props: IEditor) {
103
+ super(props);
104
+ this.state = {
105
+ sideBarOpen: false,
106
+
107
+ }
108
+ }
109
+
110
+ render() {
111
+ return <div style={{borderRight: '4px solid grey'}}>
112
+ <Layout.AuthoringFrame
113
+ header={(
114
+ <SubNav zIndex={2}>
115
+ <ButtonGroup align='end'>
116
+ <ButtonGroup subgroup={true} spaces="no-space">
117
+ <Tooltip text='More actions' flow='left'>
118
+ <NavButton type='default' icon='dots-vertical' text='More actions' onClick={()=> false} />
119
+ </Tooltip>
120
+ <Tooltip text='Send to / Publish' flow='left'>
121
+ <NavButton type='highlight' icon='send-to' iconSize='big' text='Send to / Publish' onClick={()=> false} />
122
+ </Tooltip>
123
+ <Tooltip text='Send to / Publish' flow='left'>
124
+ <NavButton type='darker' icon={this.state.sideBarOpen ? 'forward-thin' : 'backward-thin'} text='More actions' onClick={()=> this.setState({sideBarOpen: !this.state.sideBarOpen})} />
125
+ </Tooltip>
126
+ </ButtonGroup>
127
+ </ButtonGroup>
128
+ </SubNav>
129
+ )}
130
+ main={(
131
+ <Layout.AuthoringMain
132
+ headerPadding='medium'
133
+ toolBar={(
134
+ <React.Fragment>
135
+ <div className="sd-editor-toolbar__content">
136
+ <dl>
137
+ <dt>Created</dt>
138
+ <dd><time title="July 29, 2021 3:58 PM">07/29</time></dd>
139
+ <dt>by</dt>
140
+ <dt>Nareg Asmarian</dt>
141
+ </dl>
142
+ <dl>
143
+ <dt>Modified</dt>
144
+ <dd><time title="July 29, 2021 3:58 PM">07/29</time></dd>
145
+ </dl>
146
+ </div>
147
+ <ButtonGroup align='end'>
148
+ <IconButton icon="preview-mode" toolTipAppend={true} ariaValue="Print preview" onClick={()=> false} />
149
+ <IconButton icon="adjust" ariaValue="Toogle theme" onClick={()=> false} />
150
+ <IconButton icon="switches" ariaValue="Theme settings" onClick={()=> false} />
151
+ </ButtonGroup>
152
+ </React.Fragment>
153
+ )}
154
+ authoringHeader ={(
155
+ <React.Fragment>
156
+ <Form.FormGroup inlineLabel={true}>
157
+ <Form.FormItem>
158
+ <Input
159
+ type='text'
160
+ label='Slugline'
161
+ value='This is some value'
162
+ maxLength={30}
163
+ error='This is error message'
164
+ info='This is some hint message'
165
+ required={false}
166
+ disabled={false}
167
+ invalid={false}
168
+ onChange={(value) => {}} />
169
+ </Form.FormItem>
170
+ <Form.FormItem>
171
+ <Input
172
+ type='text'
173
+ label='Slugline'
174
+ value='This is some value'
175
+ maxLength={30}
176
+ error='This is error message'
177
+ info='This is some hint message'
178
+ required={false}
179
+ disabled={false}
180
+ invalid={false}
181
+ onChange={(value) => {}} />
182
+ </Form.FormItem>
183
+ </Form.FormGroup>
184
+ <Form.FormGroup inlineLabel={true}>
185
+ <Form.FormItem>
186
+ <Input
187
+ type='text'
188
+ label='Genre'
189
+ value='This is some value'
190
+ maxLength={30}
191
+ error='This is error message'
192
+ info='This is some hint message'
193
+ required={false}
194
+ disabled={false}
195
+ invalid={false}
196
+ onChange={(value) => {}} />
197
+ </Form.FormItem>
198
+ </Form.FormGroup>
199
+ <Form.FormGroup marginBottom='0' inlineLabel={true}>
200
+ <Form.FormItem>
201
+ <Input
202
+ type='text'
203
+ label='Subject'
204
+ value='This is some value'
205
+ maxLength={30}
206
+ error='This is error message'
207
+ info='This is some hint message'
208
+ required={true}
209
+ disabled={false}
210
+ invalid={false}
211
+ onChange={(value) => {}} />
212
+ </Form.FormItem>
213
+ <Form.FormItem autoWidth={true}>
214
+ <Form.FormText>Just testing:</Form.FormText>
215
+ </Form.FormItem>
216
+ <Form.FormItem>
217
+ <Select
218
+ label='Categories'
219
+ labelHidden={true}
220
+ value='This is some value'
221
+ error='This is error message'
222
+ info='This is some hint message'
223
+ required={true}
224
+ disabled={false}
225
+ invalid={false}
226
+ onChange={(value) => {}}>
227
+ <Option>Option 1</Option>
228
+ <Option>Option 2</Option>
229
+ </Select>
230
+ </Form.FormItem>
231
+ <Form.FormItem autoWidth={true}>
232
+ <ButtonGroup>
233
+ <IconButton ariaValue="Submit" icon="picture" onClick={()=> false} />
234
+ <Button text="Cancel" onClick={()=> false} type="default" style="hollow" />
235
+ <Button text="Submit" onClick={()=> false} type="primary" />
236
+ </ButtonGroup>
237
+ </Form.FormItem>
238
+ </Form.FormGroup>
239
+ </React.Fragment>
240
+ )}>
241
+ </Layout.AuthoringMain>
242
+ )}
243
+ sidePanel={(
244
+ <Layout.Panel side='right' background='grey' open={false} size='x-small'>
245
+ <Layout.PanelHeader title='Pinned content' onClose={() => false}>
246
+ </Layout.PanelHeader>
247
+ <Layout.PanelContent>
248
+ <Layout.PanelContentBlock>
249
+ <BoxedList density='comfortable'>
250
+ <BoxedListItem
251
+ type="success"
252
+ clickable={true}
253
+ media={(
254
+ <Icon name='slideshow' />
255
+ )}
256
+ actions={(
257
+ <IconButton icon="dots-vertical" ariaValue="More actions" onClick={()=> false} />
258
+ )}
259
+ >
260
+ <BoxedListContentRow>
261
+ Maecenas sed diam eget risus varius blandit sit amet non magna. Vestibulum id ligula porta felis euismod semper.
262
+ </BoxedListContentRow>
263
+ <BoxedListContentRow>
264
+ Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
265
+ </BoxedListContentRow>
266
+ </BoxedListItem>
267
+ <BoxedListItem
268
+ type="warning"
269
+ media={(
270
+ <AvatarWrapper
271
+ size="medium"
272
+ >
273
+ <AvatarContentText text="JL" tooltipText="Jeffrey Lebowski" />
274
+ </AvatarWrapper>
275
+ )}
276
+ footer={(
277
+ <ButtonGroup align="end">
278
+ <Button text="cancel" size="small" style="hollow" onClick={()=> false} />
279
+ <Button text="yes" size="small" style="hollow" type="primary" onClick={()=> false} />
280
+ </ButtonGroup>
281
+ )}
282
+ actions={(
283
+ <IconButton icon="dots-vertical" ariaValue="More actions" onClick={()=> false} />
284
+ )}
285
+ >
286
+ <BoxedListContentRow>
287
+ Maecenas sed diam eget risus varius blandit sit amet magna.
288
+ </BoxedListContentRow>
289
+ </BoxedListItem>
290
+ <BoxedListItem
291
+ selected={true}
292
+ actions={(
293
+ <IconButton icon="dots-vertical" ariaValue="More actions" onClick={()=> false} />
294
+ )}
295
+ >
296
+ <BoxedListContentRow>
297
+ Maecenas sed diam eget risus varius blandit sit amet magna. Vestibulum id ligula porta felis euismod semper.
298
+ </BoxedListContentRow>
299
+ </BoxedListItem>
300
+ </BoxedList>
301
+ </Layout.PanelContentBlock>
302
+ </Layout.PanelContent>
303
+ </Layout.Panel>
304
+ )}
305
+
306
+ sideBarClosed={this.state.sideBarOpen}
307
+ sideBar={(
308
+ <Nav.SideBarTabs
309
+ items={[
310
+ { icon: 'info', size: 'big', tooltip: 'Info', onClick: () => false },
311
+ { icon: 'chat', size: 'big', tooltip: 'Comments', onClick: () => false },
312
+ { icon: 'history', size: 'big', tooltip: 'History', onClick: () => false },
313
+ { icon: 'package', size: 'big', tooltip: 'Packages', onClick: () => false },
314
+ { icon: 'attachment', size: 'big', tooltip: 'Attachments', onClick: () => false },
315
+ { icon: 'comments', size: 'big', tooltip: 'Inline Comments', onClick: () => false },
316
+ { icon: 'suggestion', size: 'big', tooltip: 'Suggestions', onClick: () => false }]} />
317
+ )}
318
+ />
319
+ </div>
320
+ }
321
+ }
@@ -1,11 +1,8 @@
1
1
  import * as React from 'react';
2
- import * as Components from './components/Index';
3
- import { ButtonGroup, Button, NavButton, SubNav, Dropdown, Input, IconButton, Divider, Tooltip, Select, Option, Switch, Icon, AvatarWrapper, AvatarContentImage, AvatarContentText, Text, EmptyState, Alert, SlidingToolbar, TabLabel, Tabs, Heading, RadioButtonGroup, Container, Label, IconLabel } from '../../../../app-typescript/index';
2
+ import { ButtonGroup, Button, NavButton, SubNav, Dropdown, Input, IconButton, Divider, Tooltip, Select, Option, Text, SlidingToolbar, Container, Label, IconLabel } from '../../../../app-typescript/index';
4
3
  import * as Layout from '../../../../app-typescript/components/Layouts';
5
4
  import * as Form from '../../../../app-typescript/components/Form';
6
5
  import * as Nav from '../../../../app-typescript/components/Navigation';
7
- import { BoxedList, BoxedListItem, BoxedListContentRow } from '../../../../app-typescript/components/Lists';
8
- import { SimpleList, SimpleListItem } from '../../../../app-typescript/components/Lists';
9
6
  import { TableList } from '../../../../app-typescript/components/Lists/TableList';
10
7
 
11
8
  interface IProps {
@@ -27,6 +24,7 @@ interface IState {
27
24
  rightPanelPinned: boolean;
28
25
  sideOverlayOpen: boolean;
29
26
  array: any;
27
+ inputValue: string;
30
28
  }
31
29
 
32
30
  export class RundownEditor extends React.Component<IProps, IState> {
@@ -46,6 +44,7 @@ export class RundownEditor extends React.Component<IProps, IState> {
46
44
  rightPanelOpen: false,
47
45
  rightPanelPinned: false,
48
46
  sideOverlayOpen: false,
47
+ inputValue: 'string',
49
48
  array: [
50
49
  {
51
50
  start: <>
@@ -113,7 +112,6 @@ export class RundownEditor extends React.Component<IProps, IState> {
113
112
  onClick: () => { this.setState({rightPanelOpen: !this.state.rightPanelOpen})}
114
113
  },
115
114
  ]
116
-
117
115
  }
118
116
  this.handleTheme = this.handleTheme.bind(this);
119
117
  }
@@ -137,7 +135,7 @@ export class RundownEditor extends React.Component<IProps, IState> {
137
135
  <Layout.HeaderPanel>
138
136
  <SubNav>
139
137
  <ButtonGroup align='end'>
140
- <Button text="Cancel" onClick={()=> false} type="default" />
138
+ <Button text="Cancel" onClick={()=> false} type="default" />
141
139
  <Button text="Save Rundown" onClick={()=> false} type="primary" />
142
140
  <Divider size="mini" />
143
141
  <ButtonGroup subgroup={true} spaces="no-space">
@@ -299,31 +297,35 @@ export class RundownEditor extends React.Component<IProps, IState> {
299
297
  )}
300
298
  >
301
299
  <Container direction='column' className='sd-margin-y--2'>
302
- <input
303
- onChange={()=> false}
300
+ <Input
301
+ label='Rundown title'
302
+ value={'Marker // 01.06.2022'}
303
+ boxedStyle={true}
304
+ boxedLable={true}
305
+ size='x-large'
306
+ placeholder='Rundown title'
307
+ labelHidden={true}
304
308
  type='text'
305
- value='Marker // 01.06.2022'
306
- className='sd-editor__input--title' />
309
+ tabindex={0}
310
+ onChange={(value) => this.setState({inputValue: value})} />
307
311
  </Container>
308
312
  <ButtonGroup>
309
313
  <IconLabel style='translucent' innerLabel='Airtime:' text='19:00 - 19:45' size='large' type='primary' icon='time' />
310
314
  <IconLabel style='translucent' innerLabel='Duration:' text='00:38' size='large' type='warning' />
311
315
  <Text color='light' size='medium' className='sd-margin--0'>OF</Text>
312
- <IconLabel style='translucent' innerLabel='Planned Duration:'text='00:45' size='large' />
316
+ <IconLabel style='translucent' innerLabel='Planned:'text='00:45' size='large' />
313
317
  </ButtonGroup>
314
-
315
318
  <TableList
316
- className='sd-margin-y--4'
317
- dragAndDrop
318
- addItem
319
- array={this.state.array}
320
- itemsDropdown={[
321
- { label: <Label style='translucent' type='primary' text='aacc' />, onSelect: () => 1 },
322
- { label: <Label style='translucent' text='prlg' />, onSelect: () => 1 },
323
- { label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => 1 },
324
- ]}
325
- onClick={() => false}
326
- />
319
+ className='sd-margin-y--4'
320
+ dragAndDrop
321
+ addItem
322
+ array={this.state.array}
323
+ itemsDropdown={() => [
324
+ { label: <Label style='translucent' type='primary' text='aacc' />, onSelect: () => 1 },
325
+ { label: <Label style='translucent' text='prlg' />, onSelect: () => 1 },
326
+ { label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => 1 },
327
+ ]}
328
+ />
327
329
 
328
330
  </Layout.AuthoringMain>
329
331
  </Layout.MainPanel>
@@ -336,6 +338,7 @@ export class RundownEditor extends React.Component<IProps, IState> {
336
338
  <Layout.AuthoringMain
337
339
  headerPadding='medium'
338
340
  toolbarCustom={true}
341
+ headerCollapsed={true}
339
342
  toolBar={(
340
343
  <React.Fragment>
341
344
  <SubNav className='sd-shadow--z0'>