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.
- package/app/fonts/sd_big-icons.eot +0 -0
- package/app/fonts/sd_big-icons.svg +55 -53
- package/app/fonts/sd_big-icons.ttf +0 -0
- package/app/fonts/sd_big-icons.woff +0 -0
- package/app/fonts/sd_icons.eot +0 -0
- package/app/fonts/sd_icons.svg +1 -0
- package/app/fonts/sd_icons.ttf +0 -0
- package/app/fonts/sd_icons.woff +0 -0
- package/app/img/dots.svg +3 -0
- package/app/styles/_accessibility.scss +3 -3
- package/app/styles/_big-icon-font.scss +60 -23
- package/app/styles/_boxed-list.scss +26 -3
- package/app/styles/_buttons.scss +4 -0
- package/app/styles/_helpers.scss +4 -3
- package/app/styles/_icon-font.scss +341 -307
- package/app/styles/_icon-labels.scss +66 -10
- package/app/styles/_table-list.scss +244 -0
- package/app/styles/app.scss +1 -0
- package/app/styles/components/_list-item.scss +24 -20
- package/app/styles/components/_sd-dropzone.scss +52 -16
- package/app/styles/components/_subnav.scss +87 -80
- package/app/styles/design-tokens/_design-tokens-general.scss +7 -0
- package/app/styles/design-tokens/_new-colors.scss +4 -2
- package/app/styles/form-elements/_inputs.scss +4 -0
- package/app/styles/grids/_grid-layout.scss +21 -7
- package/app/styles/layout/_container.scss +3 -0
- package/app/styles/layout/_editor.scss +108 -16
- package/app/styles/menus/_sd-sidebar-menu.scss +6 -0
- package/app/styles/primereact/_pr-dialog.scss +39 -7
- package/app-typescript/components/CreateButton.tsx +38 -0
- package/app-typescript/components/DropZone.tsx +4 -4
- package/app-typescript/components/Icon.tsx +3 -1
- package/app-typescript/components/IconLabel.tsx +8 -1
- package/app-typescript/components/Input.tsx +2 -0
- package/app-typescript/components/Layouts/AuthoringContainer.tsx +27 -0
- package/app-typescript/components/Layouts/AuthoringInnerHeader.tsx +2 -0
- package/app-typescript/components/Layouts/AuthoringMain.tsx +11 -7
- package/app-typescript/components/Layouts/AuthoringMainToolBar.tsx +7 -1
- package/app-typescript/components/Layouts/Container.tsx +1 -1
- package/app-typescript/components/Layouts/ContentSplitter.tsx +23 -0
- package/app-typescript/components/Layouts/Layout.tsx +33 -0
- package/app-typescript/components/Layouts/LayoutContainer.tsx +1 -4
- package/app-typescript/components/Layouts/MainPanel.tsx +10 -5
- package/app-typescript/components/Layouts/OverlayPanel.tsx +19 -0
- package/app-typescript/components/Layouts/Panel.tsx +1 -0
- package/app-typescript/components/Layouts/index.tsx +8 -2
- package/app-typescript/components/Lists/BoxedList.tsx +6 -2
- package/app-typescript/components/Lists/ContentList.tsx +100 -0
- package/app-typescript/components/Lists/TableList.tsx +208 -0
- package/app-typescript/components/Modal.tsx +27 -17
- package/app-typescript/components/Navigation/SideBarTabs.tsx +10 -0
- package/app-typescript/components/SearchBar.tsx +79 -0
- package/app-typescript/components/Select.tsx +2 -0
- package/app-typescript/components/SidebarMenu.tsx +68 -0
- package/app-typescript/components/Spinner.tsx +1 -1
- package/app-typescript/components/SwitchGroup.tsx +2 -1
- package/app-typescript/index.ts +3 -0
- package/dist/dots.svg +3 -0
- package/dist/examples.bundle.css +7871 -379
- package/dist/examples.bundle.js +29461 -15740
- package/dist/playgrounds/react-playgrounds/EditorTest.tsx +9 -4
- package/dist/playgrounds/react-playgrounds/Index.tsx +3 -1
- package/dist/playgrounds/react-playgrounds/PersonalProfile.tsx +13 -0
- package/dist/playgrounds/react-playgrounds/RundownEditor.tsx +466 -0
- package/dist/playgrounds/react-playgrounds/Rundowns.tsx +1002 -0
- package/dist/playgrounds/react-playgrounds/TestGround.tsx +190 -182
- package/dist/playgrounds/react-playgrounds/UiPlayground.tsx +4 -0
- package/dist/playgrounds/react-playgrounds/components/AuthoringContainer.tsx +26 -0
- package/dist/playgrounds/react-playgrounds/components/ContentSplitter.tsx +22 -0
- package/dist/playgrounds/react-playgrounds/components/Index.tsx +6 -1
- package/dist/playgrounds/react-playgrounds/components/MainPanel.tsx +11 -1
- package/dist/playgrounds/react-playgrounds/components/SearchBar.tsx +51 -9
- package/dist/react/Container.tsx +1 -1
- package/dist/react/ContentList.tsx +280 -0
- package/dist/react/CreateButton.tsx +71 -0
- package/dist/react/DropZone.tsx +14 -6
- package/dist/react/IconButtons.tsx +6 -6
- package/dist/react/IconLabels.tsx +24 -2
- package/dist/react/Index.tsx +15 -0
- package/dist/react/Inputs.tsx +32 -3
- package/dist/react/Modal.tsx +1 -0
- package/dist/react/TableList.tsx +268 -0
- package/dist/sd_big-icons.eot +0 -0
- package/dist/sd_big-icons.svg +55 -53
- package/dist/sd_big-icons.ttf +0 -0
- package/dist/sd_big-icons.woff +0 -0
- package/dist/sd_icons.eot +0 -0
- package/dist/sd_icons.svg +1 -0
- package/dist/sd_icons.ttf +0 -0
- package/dist/sd_icons.woff +0 -0
- package/dist/superdesk-ui.bundle.css +44994 -24931
- package/dist/superdesk-ui.bundle.js +2437 -1949
- package/dist/vendor.bundle.js +27 -27
- package/examples/css/docs-page.css +2 -3
- package/examples/index.js +8 -0
- package/examples/pages/playgrounds/react-playgrounds/EditorTest.tsx +9 -4
- package/examples/pages/playgrounds/react-playgrounds/Index.tsx +3 -1
- package/examples/pages/playgrounds/react-playgrounds/PersonalProfile.tsx +13 -0
- package/examples/pages/playgrounds/react-playgrounds/RundownEditor.tsx +466 -0
- package/examples/pages/playgrounds/react-playgrounds/Rundowns.tsx +1002 -0
- package/examples/pages/playgrounds/react-playgrounds/TestGround.tsx +190 -182
- package/examples/pages/playgrounds/react-playgrounds/UiPlayground.tsx +4 -0
- package/examples/pages/playgrounds/react-playgrounds/components/AuthoringContainer.tsx +26 -0
- package/examples/pages/playgrounds/react-playgrounds/components/ContentSplitter.tsx +22 -0
- package/examples/pages/playgrounds/react-playgrounds/components/Index.tsx +6 -1
- package/examples/pages/playgrounds/react-playgrounds/components/MainPanel.tsx +11 -1
- package/examples/pages/playgrounds/react-playgrounds/components/SearchBar.tsx +51 -9
- package/examples/pages/react/Container.tsx +1 -1
- package/examples/pages/react/ContentList.tsx +280 -0
- package/examples/pages/react/CreateButton.tsx +71 -0
- package/examples/pages/react/DropZone.tsx +14 -6
- package/examples/pages/react/IconButtons.tsx +6 -6
- package/examples/pages/react/IconLabels.tsx +24 -2
- package/examples/pages/react/Index.tsx +15 -0
- package/examples/pages/react/Inputs.tsx +32 -3
- package/examples/pages/react/Modal.tsx +1 -0
- package/examples/pages/react/TableList.tsx +268 -0
- package/package.json +2 -1
- package/react/components/CreateButton.d.ts +17 -0
- package/react/components/CreateButton.js +66 -0
- package/react/components/DropZone.d.ts +2 -2
- package/react/components/DropZone.js +2 -2
- package/react/components/Icon.d.ts +1 -0
- package/react/components/Icon.js +2 -1
- package/react/components/IconLabel.d.ts +2 -0
- package/react/components/IconLabel.js +6 -3
- package/react/components/Input.d.ts +1 -0
- package/react/components/Input.js +1 -0
- package/react/components/Layouts/AuthoringContainer.d.ts +11 -0
- package/react/components/Layouts/AuthoringContainer.js +58 -0
- package/react/components/Layouts/AuthoringInnerHeader.d.ts +1 -0
- package/react/components/Layouts/AuthoringInnerHeader.js +6 -3
- package/react/components/Layouts/AuthoringMain.d.ts +3 -1
- package/react/components/Layouts/AuthoringMain.js +2 -2
- package/react/components/Layouts/AuthoringMainToolBar.d.ts +1 -0
- package/react/components/Layouts/AuthoringMainToolBar.js +8 -1
- package/react/components/Layouts/Container.d.ts +1 -1
- package/react/components/Layouts/ContentSplitter.d.ts +10 -0
- package/react/components/Layouts/ContentSplitter.js +56 -0
- package/react/components/Layouts/Layout.d.ts +8 -0
- package/react/components/Layouts/Layout.js +35 -0
- package/react/components/Layouts/LayoutContainer.js +1 -1
- package/react/components/Layouts/MainPanel.d.ts +1 -0
- package/react/components/Layouts/MainPanel.js +11 -4
- package/react/components/Layouts/OverlayPanel.d.ts +8 -0
- package/react/components/Layouts/OverlayPanel.js +49 -0
- package/react/components/Layouts/Panel.d.ts +1 -0
- package/react/components/Layouts/index.d.ts +6 -2
- package/react/components/Layouts/index.js +12 -4
- package/react/components/Lists/BoxedList.d.ts +2 -0
- package/react/components/Lists/BoxedList.js +6 -4
- package/react/components/Modal.d.ts +2 -0
- package/react/components/Modal.js +11 -3
- package/react/components/Navigation/SideBarTabs.d.ts +1 -0
- package/react/components/Navigation/SideBarTabs.js +4 -0
- package/react/components/SearchBar.d.ts +23 -0
- package/react/components/SearchBar.js +87 -0
- package/react/components/Select.d.ts +1 -0
- package/react/components/Select.js +1 -0
- package/react/components/Spinner.js +1 -1
- package/react/components/SwitchGroup.d.ts +1 -0
- package/react/components/SwitchGroup.js +1 -1
- package/react/index.d.ts +2 -0
- package/react/index.js +5 -0
- package/sd_icons.eot +0 -0
- package/sd_icons.svg +189 -0
- package/sd_icons.ttf +0 -0
- 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
|
+
}
|
package/dist/react/DropZone.tsx
CHANGED
@@ -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
|
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">//
|
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='
|
50
|
-
<IconButton style='outlineWhite' disabled={true} size='x-large' icon='switches' ariaValue='
|
51
|
-
<IconButton style='outlineWhite' size='x-large' icon='crop' ariaValue='
|
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='
|
78
|
-
<IconButton style='outlineWhite' disabled={true} size='x-large' icon='switches' ariaValue='
|
79
|
-
<IconButton style='outlineWhite' size='x-large' icon='crop' ariaValue='
|
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='
|
31
|
-
<IconLabel style='translucent' text='
|
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>
|
package/dist/react/Index.tsx
CHANGED
@@ -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>
|
package/dist/react/Inputs.tsx
CHANGED
@@ -9,7 +9,7 @@ interface IState {
|
|
9
9
|
required: boolean;
|
10
10
|
disabled: boolean;
|
11
11
|
invalid: boolean;
|
12
|
-
value:
|
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={
|
50
|
+
value={null}
|
51
51
|
maxLength={30}
|
52
|
-
type='
|
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>
|
package/dist/react/Modal.tsx
CHANGED
@@ -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.
|