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
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import * as Markup from '../../js/react';
3
3
  import { PropsList, Prop } from '../../../app-typescript';
4
- import { MultiSelect } from '../../../app-typescript/components/MultiSelect';
4
+ import { MultiSelect } from '../../../app-typescript';
5
5
 
6
6
  interface IColor {
7
7
  name: string;
@@ -56,7 +56,7 @@ export class MultiselectDocs extends React.Component<{}, IState> {
56
56
  />
57
57
  `}
58
58
  </Markup.ReactMarkupCodePreview>
59
-
59
+
60
60
  <Markup.ReactMarkup>
61
61
  <Markup.ReactMarkupPreview>
62
62
  <div className='docs-page__content-row docs-page__content-row--no-margin'>
@@ -73,7 +73,6 @@ export class MultiselectDocs extends React.Component<{}, IState> {
73
73
  tabindex={1}
74
74
  label={'This is Label'}
75
75
  info={'This is info'}
76
- error={'This is error'}
77
76
  />
78
77
  </div>
79
78
  </div>
@@ -88,6 +87,10 @@ export class MultiselectDocs extends React.Component<{}, IState> {
88
87
  showSelectAll
89
88
  placeholder='Select a color'
90
89
  optionLabel='name'
90
+ required
91
+ tabindex={1}
92
+ label={'This is Label'}
93
+ info={'This is info'}
91
94
  />
92
95
  `}</Markup.ReactMarkupCode>
93
96
 
@@ -107,7 +110,7 @@ export class MultiselectDocs extends React.Component<{}, IState> {
107
110
  showSelectAll
108
111
  optionLabel='name'
109
112
  itemTemplate={(option) => {
110
- if (option) {
113
+ if (option) {
111
114
  return (
112
115
  <div style={{display: 'flex', alignItems: 'center'}}>
113
116
  <div style={{width: 10, height: 10, marginInlineEnd: 10, backgroundColor: option.colorCode}} />
@@ -144,7 +147,7 @@ export class MultiselectDocs extends React.Component<{}, IState> {
144
147
  showSelectAll
145
148
  optionLabel='name'
146
149
  itemTemplate={(option) => {
147
- if (option) {
150
+ if (option) {
148
151
  return (
149
152
  <div style={{display: 'flex', alignItems: 'center'}}>
150
153
  <div style={{width: 10, height: 10, marginInlineEnd: 10, backgroundColor: option.colorCode}} />
@@ -181,7 +184,7 @@ export class MultiselectDocs extends React.Component<{}, IState> {
181
184
  <Prop name='filter' isRequired={false} type='boolean' default='false' description='When specified, displays an input field to filter the items on keyup.'/>
182
185
  <Prop name='filterPlaceholder' isRequired={false} type='string' default='/' description='Placeholder text to show when filter input is empty.'/>
183
186
  <Prop name='emptyFilterMessage' isRequired={false} type='string' default='No results found' description='Template to display when filtering does not return any results.'/>
184
- <Prop name='maxSelectedLabels' isRequired={false} type='number' default='/' description='Decides how many selected item labels to show at most.'/>
187
+ <Prop name='maxSelectedLabels' isRequired={false} type='number' default='/' description='Decides how many selected item labels to show at most. Its necessary to use selectedItemTemplate.'/>
185
188
  <Prop name='selectedItemsLabel' isRequired={false} type='string' default='{0} items selected' description='Label to display after exceeding max selected labels.'/>
186
189
  <Prop name='ariaLabelledBy' isRequired={false} type='string' default='/' description='Establishes relationships between the component and label(s) where its value should be one or more element IDs.'/>
187
190
  <Prop name='tabIndex' isRequired={false} type='string' default="'0'" description='Index of the element in tabbing order.'/>
@@ -191,7 +194,7 @@ export class MultiselectDocs extends React.Component<{}, IState> {
191
194
  <Prop name='selectedItemTemplate' isRequired={false} type='function' default='/' description='Function that gets an item in the value and returns the content for it.'/>
192
195
  <Prop name='onChange' isRequired={true} type='function' default='/' description='Callback to invoke when value changes.'/>
193
196
  </PropsList>
194
-
197
+
195
198
  </section>
196
199
  )
197
200
  }
@@ -56,13 +56,43 @@ export default class NavButtonsDoc extends React.Component {
56
56
  `}
57
57
  </Markup.ReactMarkupCode>
58
58
  </Markup.ReactMarkup>
59
+ <h3 className="docs-page__h3">Styles / Types</h3>
60
+ <Markup.ReactMarkup>
61
+ <Markup.ReactMarkupPreview>
62
+ <SubNav zIndex={2}>
63
+ <ButtonGroup align='start' spaces='no-space'>
64
+ <NavButton icon='adjust' type='default' text="Adjust" onClick={() => false} />
65
+ <NavButton icon='eye-open' type='darker' text="View" onClick={() => false} />
66
+ <NavButton icon='refresh' type='dark' text="Refresh" onClick={() => false} />
67
+ </ButtonGroup>
68
+ <ButtonGroup align='end' spaces='no-space'>
69
+ <NavButton icon='edit-line' type='primary' text="Edit" onClick={() => false} />
70
+ <NavButton icon='expand-thin' type='highlight' text="Expand" onClick={() => false} />
71
+ </ButtonGroup>
72
+ </SubNav>
73
+ </Markup.ReactMarkupPreview>
74
+ <Markup.ReactMarkupCode>{`
75
+ <SubNav zIndex={2}>
76
+ <ButtonGroup align='start' spaces='no-space'>
77
+ <NavButton icon='adjust' type='default' text="Adjust" onClick={() => false} />
78
+ <NavButton icon='eye-open' type='darker' text="View" onClick={() => false} />
79
+ <NavButton icon='refresh' type='dark' text="Refresh" onClick={() => false} />
80
+ </ButtonGroup>
81
+ <ButtonGroup align='end' spaces='no-space'>
82
+ <NavButton icon='edit-line' type='primary' text="Edit" onClick={() => false} />
83
+ <NavButton icon='expand-thin' type='highlight' text="Expand" onClick={() => false} />
84
+ </ButtonGroup>
85
+ </SubNav>
86
+ `}
87
+ </Markup.ReactMarkupCode>
88
+ </Markup.ReactMarkup>
59
89
 
60
90
  <h3 className="docs-page__h3">Props</h3>
61
91
  <PropsList>
62
92
  <Prop name='icon' isRequired={false} type='string' default='/' description='Icon class name without the icon- part.' />
63
93
  <Prop name='text' isRequired={false} type='string' default='/' description='Defines the value for aria-label, for screen-readers accessibility.' />
64
94
  <Prop name='iconSize' isRequired={false} type='small | big' default='small' description='Specifies a small or big button' />
65
- <Prop name='type' isRequired={false} type='default | primary | success | warning | alert | highlight | sd-green' default='default' description='Default + semantic colour variations (e.g. primary, success etc.).' />
95
+ <Prop name='type' isRequired={false} type='default | primary | highlight | darker | dark' default='default' description='Default + colour variations.' />
66
96
  <Prop name='state' isRequired={false} type='normal | active' default='normal' description='Defines the optional state of the button (e.g. active)' />
67
97
  <Prop name='theme' isRequired={false} type='light | dark' default='light' description='Styles nav button for diffrent background.' />
68
98
  <Prop name='value' isRequired={false} type='button | submit | reset' default='button' description='Specifies a value of nav button' />
@@ -80,9 +80,14 @@ export class SelectWithTemplateDocs extends React.Component<{}, IState> {
80
80
  }
81
81
  }}
82
82
  getLabel={(option) => option.name}
83
- areEqual={(a, b) => a.colorCode === b.colorCode}
83
+ areEqual={(a, b) => a?.colorCode === b?.colorCode}
84
84
  filterPlaceholder="Search..."
85
85
  noResultsFoundMessage="No results found."
86
+ required
87
+ tabindex={1}
88
+ label={'This is Label'}
89
+ info={'This is info'}
90
+ error={'This is error'}
86
91
  />
87
92
  </div>
88
93
  </div>
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import * as Markup from '../../js/react';
3
- import { BoxedList, BoxedListItem, BoxedListContentRow, Prop, PropsList, Icon, IconButton, AvatarWrapper, AvatarContentText, ButtonGroup, Button, Heading, Text, Label, Container, IconLabel, SelectGrid, Dropdown } from '../../../app-typescript';
3
+ import { BoxedList, BoxedListItem, BoxedListContentRow, Prop, PropsList, Icon, IconButton, AvatarWrapper, AvatarContentText, ButtonGroup, Button, Heading, Text, Label, Container, IconLabel, SelectGrid, Dropdown, Tooltip } from '../../../app-typescript';
4
4
  import { TableList, TableListItem } from '../../../app-typescript/components/Lists/TableList';
5
5
 
6
6
  interface IState {
@@ -14,43 +14,46 @@ interface IProps {
14
14
  export default class TableListDoc extends React.Component<IProps, IState> {
15
15
  constructor(props: IState) {
16
16
  super(props);
17
- this.state={
17
+ this.state = {
18
18
  array: [
19
19
  {
20
20
  start: <>
21
- <Label style='translucent' text='aacc' />
22
- <Label style='translucent' type='primary' text='prlg' />
23
- </>,
21
+ <Label style='translucent' text='aacc' />
22
+ <Label style='translucent' type='primary' text='prlg' />
23
+ </>,
24
24
  center: <span>Item 1</span>,
25
25
  end: <IconLabel style='translucent' text='Label success' type='success' icon='time' />,
26
- action: <IconButton icon='dots-vertical' size='small' ariaValue='More actions' onClick={()=> false} />,
27
- onClick: () => {
28
- return false;
29
- }
26
+ action: <Dropdown append={true} items={[
27
+ { label: <Label style='translucent' type='primary' text='aacc' />, onSelect: () => 1 },
28
+ { label: <Label style='translucent' text='prlg' />, onSelect: () => 1 },
29
+ { label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => 1 },
30
+ ]}><IconButton icon='dots-vertical' size='small' ariaValue='More actions' onClick={(e) => e.stopPropagation()} /></Dropdown>,
31
+ onClick: () => console.log('single'),
32
+ onDoubleClick: () => console.log('double'),
33
+ hexColor: '#ccff00'
30
34
  },
31
35
  {
32
36
  start: <>
33
- <Label style='translucent' text='aacc' />
34
- <Label style='translucent' type='primary' text='prlg' />
35
- </>,
37
+ <Label style='translucent' text='aacc' />
38
+ <Label style='translucent' type='primary' text='prlg' />
39
+ </>,
36
40
  center: <span>Item 2</span>,
37
41
  end: <IconLabel style='translucent' text='Label success' type='success' icon='time' />,
38
- action: <IconButton icon='dots-vertical' size='small' ariaValue='More actions' onClick={()=> false} />,
39
- onClick: () => {
40
- return false;
41
- }
42
+ action: <IconButton icon='dots-vertical' size='small' ariaValue='More actions' onClick={() => false} />,
43
+ onClick: () => console.log('single'),
44
+ onDoubleClick: () => console.log('double'),
42
45
  },
43
46
  {
44
47
  start: <>
45
- <Label style='translucent' text='aacc' />
46
- <Label style='translucent' type='primary' text='prlg' />
47
- </>,
48
+ <Label style='translucent' text='aacc' />
49
+ <Label style='translucent' type='primary' text='prlg' />
50
+ </>,
48
51
  center: <span>Item 3</span>,
49
52
  end: <IconLabel style='translucent' text='Label success' type='success' icon='time' />,
50
- action: <IconButton icon='dots-vertical' size='small' ariaValue='More actions' onClick={()=> false} />,
51
- onClick: () => {
52
- return false;
53
- }
53
+ action: <IconButton icon='dots-vertical' size='small' ariaValue='More actions' onClick={() => false} />,
54
+ onClick: () => console.log('single'),
55
+ onDoubleClick: () => console.log('double'),
56
+ hexColor: '#ff9808'
54
57
  },
55
58
  ]
56
59
  }
@@ -61,206 +64,96 @@ export default class TableListDoc extends React.Component<IProps, IState> {
61
64
  return (
62
65
  <section className='docs-page__container'>
63
66
  <h2 className='docs-page__h2'>TableList</h2>
64
-
67
+
65
68
  <Markup.ReactMarkupCodePreview>{`
66
69
  <TableList
67
70
  dragAndDrop
68
71
  addItem
69
72
  array={this.state.array}
70
- itemsDropdown={[
71
- { label: 'Action 1', onSelect: () => 1 },
72
- { label: 'Action 2', onSelect: () => 1 },
73
- { label: 'Action 3', onSelect: () => 1 },
73
+ itemsDropdown={(index) => [
74
+ { label: <Label style='translucent' type='primary' text='aacc' />, onSelect: () => false },
75
+ { label: <Label style='translucent' text='prlg' />, onSelect: () => false },
76
+ { label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => false },
74
77
  ]} />
75
78
  `}
76
79
  </Markup.ReactMarkupCodePreview>
77
80
 
78
- <p className="docs-page__paragraph">Basic:</p>
79
-
81
+ <p className="docs-page__paragraph">Simple list without drag and drop functionality and without functionality for adding item in list:</p>
80
82
  <Markup.ReactMarkup>
81
83
  <Markup.ReactMarkupPreview>
82
-
83
- <TableList>
84
- <TableListItem
85
- addItem
86
- itemsDropdown={[
87
- { label: <Label style='translucent' text='aacc' />, onSelect: () => 1 },
88
- { label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => 1 },
89
- { label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => 1 },
90
- ]}
91
- start={
92
- <>
93
- <Label style='translucent' text='aacc' />
94
- <Label style='translucent' type='primary' text='prlg' />
95
- </>
96
- }
97
- center={
98
- <span>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.</span>
99
- }
100
- end={
101
- <IconLabel style='translucent' text='Label success' type='success' icon='time' />
102
- }
103
- action={
104
- <IconButton icon='dots-vertical' size='small' ariaValue='More actions' onClick={()=> false} />
105
- } />
106
- <TableListItem
107
- addItem
108
- itemsDropdown={[
109
- { label: <Label style='translucent' text='aacc' />, onSelect: () => 1 },
110
- { label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => 1 },
111
- { label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => 1 },
112
- ]}
113
- start={
114
- <>
115
- <Label style='hollow' text='aacc' />
116
- <Label style='filled' type='primary' text='prlg' />
117
- </>
118
- }
119
- center={
120
- <span>Nullam id dolor id nibh ultricies vehicula ut id elit.</span>
121
- }
122
- end={
123
- <IconLabel style='translucent' text='Label success' type='success' icon='time' />
124
- } />
125
- <TableListItem
126
- addItem
127
- itemsDropdown={[
128
- { label: <Label style='translucent' text='aacc' />, onSelect: () => 1 },
129
- { label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => 1 },
130
- { label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => 1 },
131
- ]}
132
- start={
133
- <>
134
- <Label style='translucent' text='aacc' />
135
- <Label style='translucent' type='primary' text='prlg' />
136
- </>
137
- }
138
- center={
139
- <span>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.</span>
140
- }
141
- end={
142
- <IconLabel style='translucent' text='Label success' type='success' icon='time' />
143
- }
144
- action={
145
- <IconButton icon='dots-vertical' size='small' ariaValue='More actions' onClick={()=> false} />
146
- } />
147
- </TableList>
148
-
84
+ <TableList
85
+ array={this.state.array}
86
+ />
149
87
  </Markup.ReactMarkupPreview>
150
88
  <Markup.ReactMarkupCode>{`
151
- <TableList>
152
- <TableListItem
153
- addItem
154
- itemsDropdown={[
155
- { label: <Label style='translucent' text='aacc' />, onSelect: () => 1 },
156
- { label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => 1 },
157
- { label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => 1 },
158
- ]}
159
- start={
160
- <>
161
- <Label style='translucent' text='aacc' />
162
- <Label style='translucent' type='primary' text='prlg' />
163
- </>
164
- }
165
- center={
166
- <span>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.</span>
167
- }
168
- end={
169
- <IconLabel style='translucent' text='Label success' type='success' icon='time' />
170
- }
171
- action={
172
- <IconButton icon='dots-vertical' size='small' ariaValue='More actions' onClick={()=> false} />
173
- } />
174
- <TableListItem
175
- addItem
176
- itemsDropdown={[
177
- { label: <Label style='translucent' text='aacc' />, onSelect: () => 1 },
178
- { label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => 1 },
179
- { label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => 1 },
180
- ]}
181
- start={
182
- <>
183
- <Label style='hollow' text='aacc' />
184
- <Label style='filled' type='primary' text='prlg' />
185
- </>
186
- }
187
- center={
188
- <span>Nullam id dolor id nibh ultricies vehicula ut id elit.</span>
189
- }
190
- end={
191
- <IconLabel style='translucent' text='Label success' type='success' icon='time' />
192
- } />
193
- <TableListItem
194
- addItem
195
- itemsDropdown={[
196
- { label: <Label style='translucent' text='aacc' />, onSelect: () => 1 },
197
- { label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => 1 },
198
- { label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => 1 },
199
- ]}
200
- start={
201
- <>
202
- <Label style='translucent' text='aacc' />
203
- <Label style='translucent' type='primary' text='prlg' />
204
- </>
205
- }
206
- center={
207
- <span>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.</span>
208
- }
209
- end={
210
- <IconLabel style='translucent' text='Label success' type='success' icon='time' />
211
- }
212
- action={
213
- <IconButton icon='dots-vertical' size='small' ariaValue='More actions' onClick={()=> false} />
214
- } />
215
- </TableList>
89
+ <TableList
90
+ array={this.state.array}
91
+ />
216
92
  `}
217
93
  </Markup.ReactMarkupCode>
218
94
  </Markup.ReactMarkup>
95
+
219
96
  <p className="docs-page__paragraph">With drag and drop functionality:</p>
220
97
  <Markup.ReactMarkup>
221
98
  <Markup.ReactMarkupPreview>
222
-
223
99
  <TableList
224
- dragAndDrop
225
- addItem
226
- array={this.state.array}
227
- itemsDropdown={[
228
- { label: <Label style='translucent' type='primary' text='aacc' />, onSelect: () => 1 },
229
- { label: <Label style='translucent' text='prlg' />, onSelect: () => 1 },
230
- { label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => 1 },
231
- ]}
232
- onClick={() => false}
100
+ dragAndDrop
101
+ append
102
+ addItem
103
+ array={this.state.array}
104
+ itemsDropdown={(index) => [
105
+ { label: <Label style='translucent' type='primary' text='aacc' />, onSelect: () => console.log(index) },
106
+ { label: <Label style='translucent' text='prlg' />, onSelect: () => console.log(index) },
107
+ { label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => console.log(index) },
108
+ ]
109
+ }
110
+ onDrag={(start, end) => console.log(start, end)}
233
111
  />
234
-
235
112
  </Markup.ReactMarkupPreview>
236
113
  <Markup.ReactMarkupCode>{`
237
114
  <TableList
238
115
  dragAndDrop
239
116
  addItem
240
117
  array={this.state.array}
241
- itemsDropdown={[
242
- { label: <Label style='translucent' type='primary' text='aacc' />, onSelect: () => 1 },
243
- { label: <Label style='translucent' text='prlg' />, onSelect: () => 1 },
244
- { label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => 1 },
245
- ]}
246
- onClick={() => false}
118
+ itemsDropdown={(index) => [
119
+ { label: <Label style='translucent' type='primary' text='aacc' />, onSelect: () => console.log(index) },
120
+ { label: <Label style='translucent' text='prlg' />, onSelect: () => console.log(index) },
121
+ { label: <Label style='translucent' type='primary' text='prlg' />, onSelect: () => console.log(index) },
122
+ ]
123
+ }
124
+ onDrag={(start, end) => console.log(start, end)}
247
125
  />
248
126
  `}
249
127
  </Markup.ReactMarkupCode>
250
128
  </Markup.ReactMarkup>
251
129
 
252
130
  <h3 className="docs-page__h3">Props</h3>
253
- <p className="docs-page__paragraph">BoxedList</p>
131
+ <p className="docs-page__paragraph">TableList</p>
254
132
  <PropsList>
255
- <Prop name='density' isRequired={false} type='compact | comfortable' default='compact' description='Increase the gap beetween list items.'/>
133
+ <Prop name='array' isRequired={true} type='Array' default='false' description='Array of object.' />
134
+ <Prop name='addItem' isRequired={false} type='boolean' default='false' description='Functionality to add items to the list.' />
135
+ <Prop name='dragAndDrop' isRequired={false} type='boolean' default='false' description='Drag&Drop functionality.' />
136
+ <Prop name='className' isRequired={false} type='string' default='false' description='Add class on TableList container.' />
137
+ <Prop name='showDragHandle' isRequired={false} type='string' default='always' description='"always" | "onHover" | "none".' />
138
+ <Prop name='readOnly' isRequired={false} type='boolean' default='false' description='When specified, component changes are not enabled.' />
139
+ <Prop name='append' isRequired={false} type='boolean' default='false' description='Set append to body on individual item while draging.' />
140
+ <Prop name='onDrag' isRequired={false} type='function' default='false' description='Returns start and end position of draggable item' />
141
+ <Prop name='onAddItem' isRequired={false} type='function' default='false' description='Returns index of draggable item.' />
142
+ <Prop name='itemsDropdown' isRequired={false} type='function' default='false' description='Dropdown for adding items in the list. Returns index of draggable item.' />
256
143
  </PropsList>
257
- <p className="docs-page__paragraph">BoxedListItem</p>
144
+ <p className="docs-page__paragraph">array:</p>
258
145
  <PropsList>
259
- <Prop name='clickable' isRequired={false} type='boolean' default='false' description='Adds hover effect and changes the cursor to poiter.'/>
260
- <Prop name='selected' isRequired={false} type='boolean' default='false' description='Changes the state to selected and adds apropriate styling for it.'/>
261
- <Prop name='slideInActions' isRequired={false} type='boolean' default='false' description='If set to true, the action buttons will be hidden and slide in from the right on hover.'/>
262
- <Prop name='type' isRequired={false} type='default | primary | success | warning | alert | highlight' default='/' description='Adds a clour coded border on the right, based on the selected type.'/>
146
+ <Prop name='start' isRequired={false} type='React.ReactNode' default='false' description='Column of individual items of list.' />
147
+ <Prop name='center' isRequired={false} type='React.ReactNode' default='false' description='Column of individual items of list.' />
148
+ <Prop name='end' isRequired={false} type='React.ReactNode' default='false' description='Column of individual items of list.' />
149
+ <Prop name='action' isRequired={false} type='React.ReactNode' default='false' description='Column of individual list items that is displayed on hover.' />
150
+ <Prop name='hexColor' isRequired={false} type='string' default='false' description='Color of left border for item status.' />
151
+ <Prop name='locked' isRequired={false} type='function' default='false' description='If is true, the individual item of list change state and change style (border).' />
152
+ <Prop name='positionLocked' isRequired={false} type='function' default='false' description='Work in progress...' />
153
+ <Prop name='onClick' isRequired={false} type='function' default='false' description='onClick functionality.' />
154
+ <Prop name='onDoubleClick' isRequired={false} type='function' default='false' description='onDoubleClick functionality.' />
263
155
  </PropsList>
156
+
264
157
 
265
158
  </section>
266
159
  )
@@ -15,10 +15,16 @@ class TimePickerExample extends React.PureComponent<{}, {time: string}> {
15
15
  render() {
16
16
  return (
17
17
  <TimePicker
18
- value={this.state.time}
19
- onChange={(time) => {
20
- this.setState({time});
21
- }}
18
+ value={this.state.time}
19
+ onChange={(time) => {
20
+ this.setState({time});
21
+ }}
22
+ required
23
+ tabindex={1}
24
+ label={'This is Label'}
25
+ info={'This is info'}
26
+ error={'This is error'}
27
+ allowSeconds
22
28
  />
23
29
  );
24
30
  }
@@ -38,10 +44,13 @@ export default class TimePickerDoc extends React.Component {
38
44
  render() {
39
45
  return (
40
46
  <TimePicker
41
- value={this.state.time}
42
- onChange={(time) => {
43
- this.setState({time});
44
- }}
47
+ value={this.state.time}
48
+ onChange={(time) => {
49
+ this.setState({time});
50
+ }}
51
+ label={'This is Label'}
52
+ info={'This is info'}
53
+ error={'This is error'}
45
54
  />
46
55
  );
47
56
  }
@@ -67,14 +76,15 @@ export default class TimePickerDoc extends React.Component {
67
76
 
68
77
  <h3 className='docs-page__h3'>Props</h3>
69
78
  <PropsList>
70
- <Prop name='value' isRequired={true} type='string' default='/' description='Item value' />
71
- <Prop name='required' isRequired={false} type='boolean' default='false' description='Mark field as required' />
72
- <Prop name='disabled' isRequired={false} type='boolean' default='false' description='Mark field as disabled' />
79
+ <Prop name='value' isRequired={true} type='string' default='/' description='Item value.' />
80
+ <Prop name='allowSeconds' isRequired={true} type='string' default='/' description='Allow seconds.' />
81
+ <Prop name='required' isRequired={false} type='boolean' default='false' description='Mark field as required.' />
82
+ <Prop name='disabled' isRequired={false} type='boolean' default='false' description='Mark field as disabled.' />
73
83
  </PropsList>
74
84
 
75
85
  <h3 className='docs-page__h3'>Events</h3>
76
86
  <PropsList>
77
- <Prop name='onChange' isRequired={true} type='function' default='/' description='Returns value of time input' />
87
+ <Prop name='onChange' isRequired={true} type='function' default='/' description='Returns value of time input.' />
78
88
  </PropsList>
79
89
  </section>
80
90
  );
@@ -40,6 +40,7 @@ const ToggleboxDocs = () => {
40
40
  <Prop name='hideUsingCSS' isRequired={false} type='boolean' default='false' description='Usefull when working with forms. Content of togglebox will be hidden but remain rendered.' />
41
41
  <Prop name='initiallyOpen' isRequired={false} type='boolean' default='false' description='Opens togglebox on initial render' />
42
42
  <Prop name='className' isRequired={false} type='string' default='null' description='Style class of the component' />
43
+ <Prop name='margin' isRequired={false} type='none | small | normal | large' default='normal' description='Defines the bottom margin of the toggle box.' />
43
44
  <Prop name='onOpen' isRequired={false} type='function' default='null' description='Callback on open event' />
44
45
  <Prop name='onClose' isRequired={false} type='function' default='null' description='Callback on close event' />
45
46
  </PropsList>
@@ -47,5 +48,4 @@ const ToggleboxDocs = () => {
47
48
  )
48
49
  }
49
50
 
50
-
51
51
  export default ToggleboxDocs;