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

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 (168) hide show
  1. package/app/fonts/sd_big-icons.eot +0 -0
  2. package/app/fonts/sd_big-icons.svg +55 -53
  3. package/app/fonts/sd_big-icons.ttf +0 -0
  4. package/app/fonts/sd_big-icons.woff +0 -0
  5. package/app/fonts/sd_icons.eot +0 -0
  6. package/app/fonts/sd_icons.svg +1 -0
  7. package/app/fonts/sd_icons.ttf +0 -0
  8. package/app/fonts/sd_icons.woff +0 -0
  9. package/app/img/dots.svg +3 -0
  10. package/app/styles/_accessibility.scss +3 -3
  11. package/app/styles/_big-icon-font.scss +60 -23
  12. package/app/styles/_boxed-list.scss +26 -3
  13. package/app/styles/_buttons.scss +4 -0
  14. package/app/styles/_helpers.scss +4 -3
  15. package/app/styles/_icon-font.scss +341 -307
  16. package/app/styles/_icon-labels.scss +66 -10
  17. package/app/styles/_table-list.scss +244 -0
  18. package/app/styles/app.scss +1 -0
  19. package/app/styles/components/_list-item.scss +24 -20
  20. package/app/styles/components/_sd-dropzone.scss +52 -16
  21. package/app/styles/components/_subnav.scss +87 -80
  22. package/app/styles/design-tokens/_design-tokens-general.scss +7 -0
  23. package/app/styles/design-tokens/_new-colors.scss +4 -2
  24. package/app/styles/form-elements/_inputs.scss +4 -0
  25. package/app/styles/grids/_grid-layout.scss +21 -7
  26. package/app/styles/layout/_container.scss +3 -0
  27. package/app/styles/layout/_editor.scss +108 -16
  28. package/app/styles/menus/_sd-sidebar-menu.scss +6 -0
  29. package/app/styles/primereact/_pr-dialog.scss +39 -7
  30. package/app-typescript/components/CreateButton.tsx +38 -0
  31. package/app-typescript/components/DropZone.tsx +4 -4
  32. package/app-typescript/components/Icon.tsx +3 -1
  33. package/app-typescript/components/IconLabel.tsx +8 -1
  34. package/app-typescript/components/Input.tsx +2 -0
  35. package/app-typescript/components/Layouts/AuthoringContainer.tsx +27 -0
  36. package/app-typescript/components/Layouts/AuthoringInnerHeader.tsx +2 -0
  37. package/app-typescript/components/Layouts/AuthoringMain.tsx +11 -7
  38. package/app-typescript/components/Layouts/AuthoringMainToolBar.tsx +7 -1
  39. package/app-typescript/components/Layouts/Container.tsx +1 -1
  40. package/app-typescript/components/Layouts/ContentSplitter.tsx +23 -0
  41. package/app-typescript/components/Layouts/Layout.tsx +33 -0
  42. package/app-typescript/components/Layouts/LayoutContainer.tsx +1 -4
  43. package/app-typescript/components/Layouts/MainPanel.tsx +10 -5
  44. package/app-typescript/components/Layouts/OverlayPanel.tsx +19 -0
  45. package/app-typescript/components/Layouts/Panel.tsx +1 -0
  46. package/app-typescript/components/Layouts/index.tsx +8 -2
  47. package/app-typescript/components/Lists/BoxedList.tsx +6 -2
  48. package/app-typescript/components/Lists/ContentList.tsx +100 -0
  49. package/app-typescript/components/Lists/TableList.tsx +208 -0
  50. package/app-typescript/components/Modal.tsx +27 -17
  51. package/app-typescript/components/Navigation/SideBarTabs.tsx +10 -0
  52. package/app-typescript/components/SearchBar.tsx +79 -0
  53. package/app-typescript/components/Select.tsx +2 -0
  54. package/app-typescript/components/SidebarMenu.tsx +68 -0
  55. package/app-typescript/components/Spinner.tsx +1 -1
  56. package/app-typescript/components/SwitchGroup.tsx +2 -1
  57. package/app-typescript/index.ts +3 -0
  58. package/dist/dots.svg +3 -0
  59. package/dist/examples.bundle.css +7871 -379
  60. package/dist/examples.bundle.js +29461 -15740
  61. package/dist/playgrounds/react-playgrounds/EditorTest.tsx +9 -4
  62. package/dist/playgrounds/react-playgrounds/Index.tsx +3 -1
  63. package/dist/playgrounds/react-playgrounds/PersonalProfile.tsx +13 -0
  64. package/dist/playgrounds/react-playgrounds/RundownEditor.tsx +466 -0
  65. package/dist/playgrounds/react-playgrounds/Rundowns.tsx +1002 -0
  66. package/dist/playgrounds/react-playgrounds/TestGround.tsx +190 -182
  67. package/dist/playgrounds/react-playgrounds/UiPlayground.tsx +4 -0
  68. package/dist/playgrounds/react-playgrounds/components/AuthoringContainer.tsx +26 -0
  69. package/dist/playgrounds/react-playgrounds/components/ContentSplitter.tsx +22 -0
  70. package/dist/playgrounds/react-playgrounds/components/Index.tsx +6 -1
  71. package/dist/playgrounds/react-playgrounds/components/MainPanel.tsx +11 -1
  72. package/dist/playgrounds/react-playgrounds/components/SearchBar.tsx +51 -9
  73. package/dist/react/Container.tsx +1 -1
  74. package/dist/react/ContentList.tsx +280 -0
  75. package/dist/react/CreateButton.tsx +71 -0
  76. package/dist/react/DropZone.tsx +14 -6
  77. package/dist/react/IconButtons.tsx +6 -6
  78. package/dist/react/IconLabels.tsx +24 -2
  79. package/dist/react/Index.tsx +15 -0
  80. package/dist/react/Inputs.tsx +32 -3
  81. package/dist/react/Modal.tsx +1 -0
  82. package/dist/react/TableList.tsx +268 -0
  83. package/dist/sd_big-icons.eot +0 -0
  84. package/dist/sd_big-icons.svg +55 -53
  85. package/dist/sd_big-icons.ttf +0 -0
  86. package/dist/sd_big-icons.woff +0 -0
  87. package/dist/sd_icons.eot +0 -0
  88. package/dist/sd_icons.svg +1 -0
  89. package/dist/sd_icons.ttf +0 -0
  90. package/dist/sd_icons.woff +0 -0
  91. package/dist/superdesk-ui.bundle.css +44994 -24931
  92. package/dist/superdesk-ui.bundle.js +2437 -1949
  93. package/dist/vendor.bundle.js +27 -27
  94. package/examples/css/docs-page.css +2 -3
  95. package/examples/index.js +8 -0
  96. package/examples/pages/playgrounds/react-playgrounds/EditorTest.tsx +9 -4
  97. package/examples/pages/playgrounds/react-playgrounds/Index.tsx +3 -1
  98. package/examples/pages/playgrounds/react-playgrounds/PersonalProfile.tsx +13 -0
  99. package/examples/pages/playgrounds/react-playgrounds/RundownEditor.tsx +466 -0
  100. package/examples/pages/playgrounds/react-playgrounds/Rundowns.tsx +1002 -0
  101. package/examples/pages/playgrounds/react-playgrounds/TestGround.tsx +190 -182
  102. package/examples/pages/playgrounds/react-playgrounds/UiPlayground.tsx +4 -0
  103. package/examples/pages/playgrounds/react-playgrounds/components/AuthoringContainer.tsx +26 -0
  104. package/examples/pages/playgrounds/react-playgrounds/components/ContentSplitter.tsx +22 -0
  105. package/examples/pages/playgrounds/react-playgrounds/components/Index.tsx +6 -1
  106. package/examples/pages/playgrounds/react-playgrounds/components/MainPanel.tsx +11 -1
  107. package/examples/pages/playgrounds/react-playgrounds/components/SearchBar.tsx +51 -9
  108. package/examples/pages/react/Container.tsx +1 -1
  109. package/examples/pages/react/ContentList.tsx +280 -0
  110. package/examples/pages/react/CreateButton.tsx +71 -0
  111. package/examples/pages/react/DropZone.tsx +14 -6
  112. package/examples/pages/react/IconButtons.tsx +6 -6
  113. package/examples/pages/react/IconLabels.tsx +24 -2
  114. package/examples/pages/react/Index.tsx +15 -0
  115. package/examples/pages/react/Inputs.tsx +32 -3
  116. package/examples/pages/react/Modal.tsx +1 -0
  117. package/examples/pages/react/TableList.tsx +268 -0
  118. package/package.json +2 -1
  119. package/react/components/CreateButton.d.ts +17 -0
  120. package/react/components/CreateButton.js +66 -0
  121. package/react/components/DropZone.d.ts +2 -2
  122. package/react/components/DropZone.js +2 -2
  123. package/react/components/Icon.d.ts +1 -0
  124. package/react/components/Icon.js +2 -1
  125. package/react/components/IconLabel.d.ts +2 -0
  126. package/react/components/IconLabel.js +6 -3
  127. package/react/components/Input.d.ts +1 -0
  128. package/react/components/Input.js +1 -0
  129. package/react/components/Layouts/AuthoringContainer.d.ts +11 -0
  130. package/react/components/Layouts/AuthoringContainer.js +58 -0
  131. package/react/components/Layouts/AuthoringInnerHeader.d.ts +1 -0
  132. package/react/components/Layouts/AuthoringInnerHeader.js +6 -3
  133. package/react/components/Layouts/AuthoringMain.d.ts +3 -1
  134. package/react/components/Layouts/AuthoringMain.js +2 -2
  135. package/react/components/Layouts/AuthoringMainToolBar.d.ts +1 -0
  136. package/react/components/Layouts/AuthoringMainToolBar.js +8 -1
  137. package/react/components/Layouts/Container.d.ts +1 -1
  138. package/react/components/Layouts/ContentSplitter.d.ts +10 -0
  139. package/react/components/Layouts/ContentSplitter.js +56 -0
  140. package/react/components/Layouts/Layout.d.ts +8 -0
  141. package/react/components/Layouts/Layout.js +35 -0
  142. package/react/components/Layouts/LayoutContainer.js +1 -1
  143. package/react/components/Layouts/MainPanel.d.ts +1 -0
  144. package/react/components/Layouts/MainPanel.js +11 -4
  145. package/react/components/Layouts/OverlayPanel.d.ts +8 -0
  146. package/react/components/Layouts/OverlayPanel.js +49 -0
  147. package/react/components/Layouts/Panel.d.ts +1 -0
  148. package/react/components/Layouts/index.d.ts +6 -2
  149. package/react/components/Layouts/index.js +12 -4
  150. package/react/components/Lists/BoxedList.d.ts +2 -0
  151. package/react/components/Lists/BoxedList.js +6 -4
  152. package/react/components/Modal.d.ts +2 -0
  153. package/react/components/Modal.js +11 -3
  154. package/react/components/Navigation/SideBarTabs.d.ts +1 -0
  155. package/react/components/Navigation/SideBarTabs.js +4 -0
  156. package/react/components/SearchBar.d.ts +23 -0
  157. package/react/components/SearchBar.js +87 -0
  158. package/react/components/Select.d.ts +1 -0
  159. package/react/components/Select.js +1 -0
  160. package/react/components/Spinner.js +1 -1
  161. package/react/components/SwitchGroup.d.ts +1 -0
  162. package/react/components/SwitchGroup.js +1 -1
  163. package/react/index.d.ts +2 -0
  164. package/react/index.js +5 -0
  165. package/sd_icons.eot +0 -0
  166. package/sd_icons.svg +189 -0
  167. package/sd_icons.ttf +0 -0
  168. package/sd_icons.woff +0 -0
@@ -0,0 +1,280 @@
1
+ import * as React from 'react';
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 } from '../../../app-typescript';
4
+ import { TableList, TableListItem } from '../../../app-typescript/components/Lists/TableList';
5
+ import { ContentList, ContentListItem } from '../../../app-typescript/components/Lists/ContentList';
6
+
7
+ export default class ContentListDoc extends React.Component {
8
+ render() {
9
+ return (
10
+ <section className='docs-page__container'>
11
+ <h2 className='docs-page__h2'>ContentList</h2>
12
+
13
+ <Markup.ReactMarkupCodePreview>{`
14
+ <ContentList
15
+ items: [...]
16
+ />
17
+ `}
18
+ </Markup.ReactMarkupCodePreview>
19
+
20
+ <p className="docs-page__paragraph">...</p>
21
+
22
+ <Markup.ReactMarkup>
23
+ <Markup.ReactMarkupPreview>
24
+ <p className="docs-page__paragraph">// basic</p>
25
+
26
+ <ContentList
27
+ items={[
28
+ {
29
+ itemColum: [
30
+ {
31
+ itemRow: [{content:<>
32
+ <i className="icon-rundown"></i>
33
+ </>}],
34
+ border: true
35
+ },
36
+ {
37
+ itemRow: [
38
+ {
39
+ content:
40
+ <>
41
+ <span className="sd-list-item__slugline">19:00 – 19:45</span>
42
+ <IconLabel style='translucent' innerLabel='Duration:' text='00:38' size='small' type='warning' />
43
+ <IconLabel style='translucent' innerLabel='Planned Duration:'text='00:45' size='small' />
44
+ <time className='sd-margin-s--auto' title="June 01, 2022 11:08 AM">11:08, 01.06.2022</time>
45
+ </>
46
+ },
47
+ {
48
+ content:
49
+ <>
50
+ <Label text='Marker' color='blue--800'/>
51
+ <span className='sd-list-item__compound-text'>
52
+ <span className='sd-list-item__text-label'>Template:</span>
53
+ <span>Marker Daily</span>
54
+ </span>
55
+ <span className="sd-overflow-ellipsis sd-list-item--element-grow sd-list-item__headline">Marker // 01.06.2022</span>
56
+ <Label style='translucent' text='In Progress' type='warning' />
57
+ </>
58
+ },
59
+ ],
60
+ fullwidth: true,
61
+ }
62
+ ],
63
+ action: <IconButton icon='dots-vertical' ariaValue='More actions' onClick={()=> false} />,
64
+ loading: true,
65
+ },
66
+ {
67
+ itemColum: [
68
+ {
69
+ itemRow: [{content:<>
70
+ <i className="icon-rundown"></i>
71
+ </>}],
72
+ border: true
73
+ },
74
+ {
75
+ itemRow: [
76
+ {
77
+ content:
78
+ <>
79
+ <span className="sd-list-item__slugline">19:00 – 19:45</span>
80
+ <IconLabel style='translucent' innerLabel='Duration:' text='00:38' size='small' type='warning' />
81
+ <IconLabel style='translucent' innerLabel='Planned Duration:'text='00:45' size='small' />
82
+ <time className='sd-margin-s--auto' title="June 01, 2022 11:08 AM">11:08, 01.06.2022</time>
83
+ </>
84
+ },
85
+ {
86
+ content:
87
+ <>
88
+ <Label text='Marker' color='blue--800'/>
89
+ <span className='sd-list-item__compound-text'>
90
+ <span className='sd-list-item__text-label'>Template:</span>
91
+ <span>Marker Daily</span>
92
+ </span>
93
+ <span className="sd-overflow-ellipsis sd-list-item--element-grow sd-list-item__headline">Marker // 01.06.2022</span>
94
+ <Label style='translucent' text='In Progress' type='warning' />
95
+ </>
96
+ },
97
+ ],
98
+ fullwidth: true,
99
+ }
100
+ ],
101
+ locked: true,
102
+ action: <IconButton icon='dots-vertical' ariaValue='More actions' onClick={()=> false} />,
103
+ },
104
+ {
105
+ itemColum: [
106
+ {
107
+ itemRow: [{content:<>
108
+ <i className="icon-rundown"></i>
109
+ </>}],
110
+ border: true
111
+ },
112
+ {
113
+ itemRow: [
114
+ {
115
+ content:
116
+ <>
117
+ <span className="sd-list-item__slugline">19:00 – 19:45</span>
118
+ <IconLabel style='translucent' innerLabel='Duration:' text='00:38' size='small' type='warning' />
119
+ <IconLabel style='translucent' innerLabel='Planned Duration:'text='00:45' size='small' />
120
+ <time className='sd-margin-s--auto' title="June 01, 2022 11:08 AM">11:08, 01.06.2022</time>
121
+ </>
122
+ },
123
+ {
124
+ content:
125
+ <>
126
+ <Label text='Marker' color='blue--800'/>
127
+ <span className='sd-list-item__compound-text'>
128
+ <span className='sd-list-item__text-label'>Template:</span>
129
+ <span>Marker Daily</span>
130
+ </span>
131
+ <span className="sd-overflow-ellipsis sd-list-item--element-grow sd-list-item__headline">Marker // 01.06.2022</span>
132
+ <Label style='translucent' text='In Progress' type='warning' />
133
+ </>
134
+ },
135
+ ],
136
+ fullwidth: true,
137
+ }
138
+ ],
139
+ action: <IconButton icon='dots-vertical' ariaValue='More actions' onClick={()=> false} />,
140
+ },
141
+ ]} />
142
+
143
+ </Markup.ReactMarkupPreview>
144
+ <Markup.ReactMarkupCode>{`
145
+ <ContentList
146
+ items={[
147
+ {
148
+ itemColum: [
149
+ {
150
+ itemRow: [{content:<>
151
+ <i className="icon-rundown"></i>
152
+ </>}],
153
+ border: true
154
+ },
155
+ {
156
+ itemRow: [
157
+ {
158
+ content:
159
+ <>
160
+ <span className="sd-list-item__slugline">19:00 – 19:45</span>
161
+ <IconLabel style='translucent' innerLabel='Duration:' text='00:38' size='small' type='warning' />
162
+ <IconLabel style='translucent' innerLabel='Planned Duration:'text='00:45' size='small' />
163
+ <time className='sd-margin-s--auto' title="June 01, 2022 11:08 AM">11:08, 01.06.2022</time>
164
+ </>
165
+ },
166
+ {
167
+ content:
168
+ <>
169
+ <Label text='Marker' color='blue--800'/>
170
+ <span className='sd-list-item__compound-text'>
171
+ <span className='sd-list-item__text-label'>Template:</span>
172
+ <span>Marker Daily</span>
173
+ </span>
174
+ <span className="sd-overflow-ellipsis sd-list-item--element-grow sd-list-item__headline">Marker // 01.06.2022</span>
175
+ <Label style='translucent' text='In Progress' type='warning' />
176
+ </>
177
+ },
178
+ ],
179
+ fullwidth: true,
180
+ }
181
+ ],
182
+ action: <IconButton icon='dots-vertical' ariaValue='More actions' onClick={()=> false} />,
183
+ },
184
+ {
185
+ itemColum: [
186
+ {
187
+ itemRow: [{content:<>
188
+ <i className="icon-rundown"></i>
189
+ </>}],
190
+ border: true
191
+ },
192
+ {
193
+ itemRow: [
194
+ {
195
+ content:
196
+ <>
197
+ <span className="sd-list-item__slugline">19:00 – 19:45</span>
198
+ <IconLabel style='translucent' innerLabel='Duration:' text='00:38' size='small' type='warning' />
199
+ <IconLabel style='translucent' innerLabel='Planned Duration:'text='00:45' size='small' />
200
+ <time className='sd-margin-s--auto' title="June 01, 2022 11:08 AM">11:08, 01.06.2022</time>
201
+ </>
202
+ },
203
+ {
204
+ content:
205
+ <>
206
+ <Label text='Marker' color='blue--800'/>
207
+ <span className='sd-list-item__compound-text'>
208
+ <span className='sd-list-item__text-label'>Template:</span>
209
+ <span>Marker Daily</span>
210
+ </span>
211
+ <span className="sd-overflow-ellipsis sd-list-item--element-grow sd-list-item__headline">Marker // 01.06.2022</span>
212
+ <Label style='translucent' text='In Progress' type='warning' />
213
+ </>
214
+ },
215
+ ],
216
+ fullwidth: true,
217
+ }
218
+ ],
219
+ locked: true,
220
+ action: <IconButton icon='dots-vertical' ariaValue='More actions' onClick={()=> false} />,
221
+ },
222
+ {
223
+ itemColum: [
224
+ {
225
+ itemRow: [{content:<>
226
+ <i className="icon-rundown"></i>
227
+ </>}],
228
+ border: true
229
+ },
230
+ {
231
+ itemRow: [
232
+ {
233
+ content:
234
+ <>
235
+ <span className="sd-list-item__slugline">19:00 – 19:45</span>
236
+ <IconLabel style='translucent' innerLabel='Duration:' text='00:38' size='small' type='warning' />
237
+ <IconLabel style='translucent' innerLabel='Planned Duration:'text='00:45' size='small' />
238
+ <time className='sd-margin-s--auto' title="June 01, 2022 11:08 AM">11:08, 01.06.2022</time>
239
+ </>
240
+ },
241
+ {
242
+ content:
243
+ <>
244
+ <Label text='Marker' color='blue--800'/>
245
+ <span className='sd-list-item__compound-text'>
246
+ <span className='sd-list-item__text-label'>Template:</span>
247
+ <span>Marker Daily</span>
248
+ </span>
249
+ <span className="sd-overflow-ellipsis sd-list-item--element-grow sd-list-item__headline">Marker // 01.06.2022</span>
250
+ <Label style='translucent' text='In Progress' type='warning' />
251
+ </>
252
+ },
253
+ ],
254
+ fullwidth: true,
255
+ }
256
+ ],
257
+ action: <IconButton icon='dots-vertical' ariaValue='More actions' onClick={()=> false} />,
258
+ },
259
+ ]} />
260
+ `}
261
+ </Markup.ReactMarkupCode>
262
+ </Markup.ReactMarkup>
263
+
264
+ <h3 className="docs-page__h3">Props</h3>
265
+ <p className="docs-page__paragraph">BoxedList</p>
266
+ <PropsList>
267
+ <Prop name='density' isRequired={false} type='compact | comfortable' default='compact' description='Increase the gap beetween list items.'/>
268
+ </PropsList>
269
+ <p className="docs-page__paragraph">BoxedListItem</p>
270
+ <PropsList>
271
+ <Prop name='clickable' isRequired={false} type='boolean' default='false' description='Adds hover effect and changes the cursor to poiter.'/>
272
+ <Prop name='selected' isRequired={false} type='boolean' default='false' description='Changes the state to selected and adds apropriate styling for it.'/>
273
+ <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.'/>
274
+ <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.'/>
275
+ </PropsList>
276
+
277
+ </section>
278
+ )
279
+ }
280
+ }
@@ -0,0 +1,71 @@
1
+ import * as React from 'react';
2
+
3
+ import * as Markup from '../../js/react';
4
+
5
+ import { SubNav, NavButton, ButtonGroup, Tooltip, CreateButton, PropsList, Prop } from '../../../app-typescript';
6
+
7
+ export default class CreateButtonDoc extends React.Component {
8
+ render() {
9
+ return (
10
+ <section className='docs-page__container'>
11
+ <h2 className='docs-page__h2'>Navigation button</h2>
12
+ <p></p>
13
+ <Markup.ReactMarkupCodePreview>{`
14
+ <NavButton type='default' icon='home' onClick={()=> false} />
15
+ `}
16
+ </Markup.ReactMarkupCodePreview>
17
+
18
+ <Markup.ReactMarkup>
19
+ <Markup.ReactMarkupPreview>
20
+ <SubNav zIndex={2}>
21
+ <ButtonGroup align='start' spaces='no-space'>
22
+ <Tooltip text='Filters' flow='right'>
23
+ <NavButton icon='filter-large' type='darker' state="active" text="Filter" onClick={() => false} />
24
+ </Tooltip>
25
+ <NavButton icon='search' text="Search" onClick={() => false} />
26
+ </ButtonGroup>
27
+ <ButtonGroup align='end' spaces='no-space'>
28
+ <NavButton icon='list-plus' text="Add to list" onClick={() => false} />
29
+ <Tooltip text='More actions' flow='down'>
30
+ <NavButton icon='dots-vertical' text="More actions" onClick={() => false} />
31
+ </Tooltip>
32
+ <CreateButton ariaValue='Create' onClick={() => false} />
33
+ </ButtonGroup>
34
+ </SubNav>
35
+ </Markup.ReactMarkupPreview>
36
+ <Markup.ReactMarkupCode>{`
37
+ <SubNav zIndex={2}>
38
+ <ButtonGroup align='start' spaces='no-space'>
39
+ <Tooltip text='Filters' flow='right'>
40
+ <NavButton icon='filter-large' type='darker' state="active" text="Filter" onClick={() => false} />
41
+ </Tooltip>
42
+ <NavButton icon='search' text="Search" onClick={() => false} />
43
+ </ButtonGroup>
44
+ <ButtonGroup align='end' spaces='no-space'>
45
+ <NavButton icon='list-plus' text="Add to list" onClick={() => false} />
46
+ <Tooltip text='More actions' flow='down'>
47
+ <NavButton icon='dots-vertical' text="More actions" onClick={() => false} />
48
+ </Tooltip>
49
+ <Tooltip text='Send to / Publish' flow='left'>
50
+ <NavButton icon='expand-thin' text='Send to / Publish' type='highlight' onClick={() => false} />
51
+ </Tooltip>
52
+ </ButtonGroup>
53
+ </SubNav>
54
+ `}
55
+ </Markup.ReactMarkupCode>
56
+ </Markup.ReactMarkup>
57
+
58
+ <h3 className="docs-page__h3">Props</h3>
59
+ <PropsList>
60
+ <Prop name='icon' isRequired={false} type='string' default='/' description='Icon class name without the icon- part.' />
61
+ <Prop name='text' isRequired={false} type='string' default='/' description='Defines the value for aria-label, for screen-readers accessibility.' />
62
+ <Prop name='iconSize' isRequired={false} type='small | big' default='small' description='Specifies a small or big button' />
63
+ <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.).' />
64
+ <Prop name='state' isRequired={false} type='normal | active' default='normal' description='Defines the optional state of the button (e.g. active)' />
65
+ <Prop name='theme' isRequired={false} type='light | dark' default='light' description='Styles nav button for diffrent background.' />
66
+ <Prop name='value' isRequired={false} type='button | submit | reset' default='button' description='Specifies a value of nav button' />
67
+ </PropsList>
68
+ </section>
69
+ );
70
+ }
71
+ }
@@ -29,19 +29,27 @@ export default class DropZoneDoc extends React.Component<IProps> {
29
29
  <Markup.ReactMarkupPreview>
30
30
  <p className="docs-page__paragraph">// Basic</p>
31
31
  <div className='docs-page__content-row'>
32
- <DropZone actionText='Attach file' text="Drag one or more files here to upload them, or just click on the field.">
33
-
32
+ <DropZone text="Drag one or more files here to upload them, or just click on the field.">
34
33
  </DropZone>
35
34
  </div>
36
35
 
37
- <p className="docs-page__paragraph">// Usage examples</p>
38
-
39
-
40
-
36
+ <p className="docs-page__paragraph">// With heading</p>
41
37
  <div className='docs-page__content-row'>
38
+ <DropZone heading="Nothing here yet" text="Drag one or more files here to upload them, or just click on the field.">
39
+ </DropZone>
40
+ </div>
42
41
 
42
+ <p className="docs-page__paragraph">// With icon</p>
43
+ <div className='docs-page__content-row'>
44
+ <DropZone icon={true} text="Drag one or more files here to upload them, or just click on the field.">
45
+ </DropZone>
43
46
  </div>
44
47
 
48
+ <p className="docs-page__paragraph">// With heading & icon</p>
49
+ <div className='docs-page__content-row'>
50
+ <DropZone icon={true} heading="Nothing here yet" text="Drag one or more files here to upload them, or just click on the field.">
51
+ </DropZone>
52
+ </div>
45
53
 
46
54
  </Markup.ReactMarkupPreview>
47
55
  <Markup.ReactMarkupCode>{`
@@ -46,9 +46,9 @@ export default class IconButtonDoc extends React.Component {
46
46
  <p className="docs-page__paragraph--small">The 'outlineWhite' syle forces a white icon and outline. It can be used on dark overlays for example.</p>
47
47
  <div style={{background: 'hsla(214, 13%, 12%, 1)'}} className="sd-container sd-container--flex sd-container--gap-large sd-radius--medium sd-shadow--z2 sd-padding--3">
48
48
  <ButtonGroup align='center' spaces='loose'>
49
- <IconButton style='outlineWhite' size='x-large' icon='pencil' ariaValue='Add' onClick={()=> false} />
50
- <IconButton style='outlineWhite' disabled={true} size='x-large' icon='switches' ariaValue='Add' onClick={()=> false} />
51
- <IconButton style='outlineWhite' size='x-large' icon='crop' ariaValue='Close' onClick={()=> false} />
49
+ <IconButton style='outlineWhite' size='x-large' icon='pencil' ariaValue='Edit metadata' onClick={()=> false} />
50
+ <IconButton style='outlineWhite' disabled={true} size='x-large' icon='switches' ariaValue='Edit image' onClick={()=> false} />
51
+ <IconButton style='outlineWhite' size='x-large' icon='crop' ariaValue='Edit crops' onClick={()=> false} />
52
52
  </ButtonGroup>
53
53
  </div>
54
54
 
@@ -74,9 +74,9 @@ export default class IconButtonDoc extends React.Component {
74
74
 
75
75
  // Xtra large, outlineWhite style
76
76
  <ButtonGroup align='center' spaces='loose'>
77
- <IconButton style='outlineWhite' size='x-large' icon='pencil' ariaValue='Add' onClick={()=> false} />
78
- <IconButton style='outlineWhite' disabled={true} size='x-large' icon='switches' ariaValue='Add' onClick={()=> false} />
79
- <IconButton style='outlineWhite' size='x-large' icon='crop' ariaValue='Close' onClick={()=> false} />
77
+ <IconButton style='outlineWhite' size='x-large' icon='pencil' ariaValue='Edit metadata' onClick={()=> false} />
78
+ <IconButton style='outlineWhite' disabled={true} size='x-large' icon='switches' ariaValue='Edit image' onClick={()=> false} />
79
+ <IconButton style='outlineWhite' size='x-large' icon='crop' ariaValue='Edit crops' onClick={()=> false} />
80
80
  </ButtonGroup>
81
81
  `}
82
82
  </Markup.ReactMarkupCode>
@@ -27,12 +27,34 @@ export default class IconLabelDoc extends React.Component {
27
27
  <IconLabel text='Label sd-green' icon='video' type='sd-green' />
28
28
 
29
29
  <p className="docs-page__paragraph">// Translucent</p>
30
- <IconLabel style='translucent' text='Label success' type='success' icon='time' />
31
- <IconLabel style='translucent' text='Label warning' type='warning' icon='time' />
30
+ <IconLabel innerLabel='Start:' style='translucent' text='00:45' type='success' icon='time' />
31
+ <IconLabel innerLabel='end:' style='translucent' text='00:30' type='warning' icon='time' />
32
32
  <IconLabel style='translucent' text='Label alert' type='alert' icon='time' />
33
33
  <IconLabel style='translucent' text='Label highlight' type='highlight' icon='calendar' />
34
34
  <IconLabel style='translucent' text='Label sd-green' type='sd-green' icon='calendar' />
35
35
  <IconLabel style='translucent' text='Default label' icon='bell' />
36
+ <br />
37
+ <IconLabel innerLabel='Start:' style='translucent' text='00:45' type='success'/>
38
+ <IconLabel innerLabel='end:' style='translucent' text='00:30' type='warning'/>
39
+ <IconLabel style='translucent' text='Label alert' type='alert' />
40
+
41
+ <p className="docs-page__paragraph">// Translucent & Large</p>
42
+ <IconLabel innerLabel='Start:' size='large' style='translucent' text='00:45' type='success' icon='time' />
43
+ <IconLabel innerLabel='Start:' size='large' style='translucent' text='00:55' type='warning' icon='time' />
44
+ <IconLabel innerLabel='Start:' size='large' style='translucent' text='00:15' type='alert' icon='time' />
45
+ <br />
46
+ <IconLabel innerLabel='Start:' size='large' style='translucent' text='18:30' type='success' />
47
+ <IconLabel innerLabel='End:' size='large' style='translucent' text='20:30' type='highlight' />
48
+ <IconLabel innerLabel='Duration:' size='large' style='translucent' text='00:30' type='primary' />
49
+
50
+ <p className="docs-page__paragraph">// Translucent & Small</p>
51
+ <IconLabel innerLabel='Start:' size='small' style='translucent' text='00:45' type='success' icon='time' />
52
+ <IconLabel innerLabel='Start:' size='small' style='translucent' text='00:55' type='warning' icon='time' />
53
+ <IconLabel innerLabel='Start:' size='small' style='translucent' text='00:15' type='alert' icon='time' />
54
+ <br />
55
+ <IconLabel innerLabel='Start:' size='small' style='translucent' text='18:30' type='success' />
56
+ <IconLabel innerLabel='End:' size='small' style='translucent' text='20:30' type='highlight' />
57
+ <IconLabel innerLabel='Duration:' size='small' style='translucent' text='00:30' type='primary' />
36
58
  </div>
37
59
 
38
60
  </Markup.ReactMarkupPreview>
@@ -49,10 +49,13 @@ import SelectGridDocs from './SelectGrid';
49
49
  import IconPickerDocs from "./IconPicker";
50
50
  import SimpleListDoc from "./SimpleList";
51
51
  import BoxedListDoc from "./BoxedList";
52
+ import TableListDoc from "./TableList";
53
+ import ContentListDoc from "./ContentList";
52
54
  import HeadingDoc from "./Heading";
53
55
  import TextDoc from "./Text";
54
56
  import ContainerDoc from './Container';
55
57
  import DropZoneDoc from './DropZone';
58
+ import CreateButtonDoc from './CreateButton';
56
59
 
57
60
  import * as Playgrounds from '../playgrounds/react-playgrounds/Index';
58
61
  import { SelectWithTemplateDocs } from './SelectWithTemplate';
@@ -189,6 +192,12 @@ const pages = {
189
192
  'boxed-list': {
190
193
  name: 'Boxed list'
191
194
  },
195
+ 'table-list': {
196
+ name: 'Table list'
197
+ },
198
+ 'content-list': {
199
+ name: 'Content list'
200
+ },
192
201
  }
193
202
  },
194
203
  formComponents: {
@@ -239,6 +248,9 @@ const pages = {
239
248
  'dropzone': {
240
249
  name: 'DropZone'
241
250
  },
251
+ 'create-button': {
252
+ name: 'CreateButton'
253
+ },
242
254
  }
243
255
  },
244
256
  generalComponents: {
@@ -350,10 +362,13 @@ class ReactDoc extends React.Component<IProps, IState> {
350
362
  <Route path="/react/icon-picker" component={IconPickerDocs} />
351
363
  <Route path="/react/simple-list" component={SimpleListDoc} />
352
364
  <Route path="/react/boxed-list" component={BoxedListDoc} />
365
+ <Route path="/react/table-list" component={TableListDoc} />
366
+ <Route path="/react/content-list" component={ContentListDoc} />
353
367
  <Route path="/react/heading" component={HeadingDoc} />
354
368
  <Route path="/react/text" component={TextDoc} />
355
369
  <Route path="/react/container" component={ContainerDoc} />
356
370
  <Route path="/react/dropzone" component={DropZoneDoc} />
371
+ <Route path="/react/create-button" component={CreateButtonDoc} />
357
372
  <Route path="/" component={ReactDefault} />
358
373
  </Switch>
359
374
  </main>
@@ -9,7 +9,7 @@ interface IState {
9
9
  required: boolean;
10
10
  disabled: boolean;
11
11
  invalid: boolean;
12
- value: number;
12
+ value: any;
13
13
  }
14
14
 
15
15
  export default class InputsDoc extends React.Component<{}, IState> {
@@ -47,9 +47,9 @@ export default class InputsDoc extends React.Component<{}, IState> {
47
47
 
48
48
  <div className='form__row'>
49
49
  <Input label='Input label'
50
- value={this.state.value}
50
+ value={null}
51
51
  maxLength={30}
52
- type='number'
52
+ type='text'
53
53
  error='This is error message'
54
54
  info='This is some hint message'
55
55
  inlineLabel={this.state.inlineLabel}
@@ -59,6 +59,35 @@ export default class InputsDoc extends React.Component<{}, IState> {
59
59
  tabindex={0}
60
60
  onChange={(value) => this.setState({value: value})} />
61
61
  </div>
62
+ <div className='form__row'>
63
+ <Input label='Number Input'
64
+ value={this.state.value}
65
+ type='number'
66
+ error='This is error message'
67
+ info='Morbi leo risus porta ac consectetur ac.'
68
+ inlineLabel={this.state.inlineLabel}
69
+ required={this.state.required}
70
+ disabled={this.state.disabled}
71
+ invalid={this.state.invalid}
72
+ tabindex={0}
73
+ onChange={(value) => this.setState({value: value})} />
74
+ </div>
75
+ <p className="docs-page__paragraph">// Hidden label</p>
76
+ <div className='form__row'>
77
+ <Input label='Input label'
78
+ value={null}
79
+ maxLength={25}
80
+ type='text'
81
+ error='This is error message'
82
+ info='Donec id elit non mi porta gravida at eget metus.'
83
+ inlineLabel={true}
84
+ labelHidden={true}
85
+ required={this.state.required}
86
+ disabled={this.state.disabled}
87
+ invalid={this.state.invalid}
88
+ tabindex={0}
89
+ onChange={(value) => this.setState({value: value})} />
90
+ </div>
62
91
  </div>
63
92
 
64
93
  </Markup.ReactMarkupPreview>
@@ -187,6 +187,7 @@ export default class ModalDoc extends React.Component<{}, IState> {
187
187
  visible={this.state.modalFull}
188
188
  theme='dark'
189
189
  maximized={true}
190
+ className='testClass'
190
191
  onHide={() => {this.setState({modalFull: false})}}>
191
192
  <p className="sd-margin-b--3">Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cum sociis natoque penatibus et magnis dis parturient montes,
192
193
  nascetur ridiculus mus. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Nullam quis risus eget urna mollis ornare vel eu leo.