superdesk-ui-framework 3.0.35 → 3.0.38

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 (65) hide show
  1. package/app/styles/_sd-tag-input.scss +3 -5
  2. package/app/styles/_tag-labels.scss +0 -2
  3. package/app/styles/app.scss +1 -0
  4. package/app/styles/form-elements/_checkbox.scss +3 -0
  5. package/app/styles/form-elements/_input-preview.scss +70 -0
  6. package/app/styles/form-elements/_inputs.scss +10 -14
  7. package/app/styles/primereact/_pr-tag-input.scss +1 -1
  8. package/app-typescript/components/DatePicker.tsx +101 -101
  9. package/app-typescript/components/DurationInput.tsx +76 -76
  10. package/app-typescript/components/Form/InputNew.tsx +1 -1
  11. package/app-typescript/components/Form/InputWrapper.tsx +34 -18
  12. package/app-typescript/components/Input.tsx +38 -62
  13. package/app-typescript/components/MultiSelect.tsx +49 -47
  14. package/app-typescript/components/Select.tsx +13 -22
  15. package/app-typescript/components/SelectPreview.tsx +100 -0
  16. package/app-typescript/components/SelectWithTemplate.tsx +2 -12
  17. package/app-typescript/components/TagInput.tsx +25 -24
  18. package/app-typescript/components/TimePicker.tsx +13 -16
  19. package/app-typescript/components/TreeSelect.tsx +218 -158
  20. package/dist/examples.bundle.js +2400 -2258
  21. package/dist/react/Autocomplete.tsx +32 -31
  22. package/dist/react/DatePicker.tsx +56 -73
  23. package/dist/react/DurationInput.tsx +36 -47
  24. package/dist/react/Inputs.tsx +86 -248
  25. package/dist/react/MultiSelect.tsx +30 -23
  26. package/dist/react/Selects.tsx +12 -44
  27. package/dist/react/TagInputDocs.tsx +15 -21
  28. package/dist/react/TimePicker.tsx +25 -32
  29. package/dist/react/TreeSelect.tsx +97 -90
  30. package/dist/superdesk-ui.bundle.css +85 -18
  31. package/dist/superdesk-ui.bundle.js +1973 -1816
  32. package/dist/vendor.bundle.js +14 -14
  33. package/examples/pages/react/Autocomplete.tsx +32 -31
  34. package/examples/pages/react/DatePicker.tsx +56 -73
  35. package/examples/pages/react/DurationInput.tsx +36 -47
  36. package/examples/pages/react/Inputs.tsx +86 -248
  37. package/examples/pages/react/MultiSelect.tsx +30 -23
  38. package/examples/pages/react/Selects.tsx +12 -44
  39. package/examples/pages/react/TagInputDocs.tsx +15 -21
  40. package/examples/pages/react/TimePicker.tsx +25 -32
  41. package/examples/pages/react/TreeSelect.tsx +97 -90
  42. package/package.json +1 -1
  43. package/react/components/DatePicker.d.ts +2 -12
  44. package/react/components/DatePicker.js +14 -8
  45. package/react/components/DurationInput.d.ts +2 -11
  46. package/react/components/DurationInput.js +14 -4
  47. package/react/components/Form/InputNew.d.ts +1 -1
  48. package/react/components/Form/InputWrapper.d.ts +11 -5
  49. package/react/components/Form/InputWrapper.js +6 -9
  50. package/react/components/Input.d.ts +3 -19
  51. package/react/components/Input.js +8 -21
  52. package/react/components/MultiSelect.d.ts +4 -13
  53. package/react/components/MultiSelect.js +6 -2
  54. package/react/components/Select.d.ts +3 -15
  55. package/react/components/Select.js +7 -8
  56. package/react/components/SelectPreview.d.ts +17 -0
  57. package/react/components/SelectPreview.js +109 -0
  58. package/react/components/SelectWithTemplate.d.ts +2 -11
  59. package/react/components/SelectWithTemplate.js +0 -1
  60. package/react/components/TagInput.d.ts +3 -12
  61. package/react/components/TagInput.js +6 -2
  62. package/react/components/TimePicker.d.ts +2 -11
  63. package/react/components/TimePicker.js +6 -2
  64. package/react/components/TreeSelect.d.ts +5 -11
  65. package/react/components/TreeSelect.js +78 -47
@@ -1,8 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import * as Markup from '../../js/react';
3
3
  import { Input, CheckGroup, Checkbox, PropsList, Prop, InputNew } from '../../../app-typescript';
4
- import { DurationInput } from '../../../app-typescript/components/DurationInput';
5
-
6
4
 
7
5
  interface IState {
8
6
  inlineLabel: boolean;
@@ -11,6 +9,9 @@ interface IState {
11
9
  invalid: boolean;
12
10
  value: any;
13
11
  value2: any;
12
+ value3: any;
13
+ value4: any;
14
+ value5: any;
14
15
  }
15
16
 
16
17
  export default class InputsDoc extends React.Component<{}, IState> {
@@ -21,17 +22,20 @@ export default class InputsDoc extends React.Component<{}, IState> {
21
22
  required: true,
22
23
  disabled: false,
23
24
  invalid: false,
24
- value: null,
25
- value2: '',
25
+ value: '',
26
+ value2: null,
27
+ value3: '',
28
+ value4: '',
29
+ value5: '',
26
30
  }
27
31
  }
28
-
32
+
29
33
  render() {
30
34
  return (
31
35
  <section className='docs-page__container'>
32
36
  <h2 className='docs-page__h2'>Input</h2>
33
37
  <Markup.ReactMarkupCodePreview>{`
34
- <Input value={value} maxLength={30} required={true} />
38
+ <Input type='text' onChange={(value) => this.setState({value: value})} />
35
39
  `}
36
40
  </Markup.ReactMarkupCodePreview>
37
41
  <p className='docs-page__paragraph'></p>
@@ -42,332 +46,166 @@ export default class InputsDoc extends React.Component<{}, IState> {
42
46
  <CheckGroup>
43
47
  <Checkbox checked={this.state.required} label={{text:'Required input'}} onChange={(value) => {this.setState({required: value})}} />
44
48
  <Checkbox checked={this.state.disabled} label={{text:'Disabled input'}} onChange={(value) => {this.setState({disabled: value})}} />
45
- <Checkbox checked={this.state.invalid} label={{text:'Invalid input'}} onChange={(value) => {this.setState({invalid: value})}} />
46
49
  <Checkbox checked={this.state.inlineLabel} label={{text:'Label positioned inline'}} onChange={(value) => {this.setState({inlineLabel: value})}} />
47
50
  </CheckGroup>
48
51
  </div>
49
- <div className='form__row'>
50
- <InputNew
51
- label='Label'
52
- value=''
53
- onChange={(value) => false
54
- }
55
-
56
- required={true}
57
- info='Nullam Sollicitudin'
58
- maxLength={20}
59
- //invalid={true}
60
- //disabled={true}
61
- error='Error message'
62
- //inlineLabel={true}
63
- //labelHidden={true}
64
- type='text' />
65
- </div>
66
52
 
67
53
  <div className='form__row'>
68
- <Input label='Input label'
69
- value={''}
70
- maxLength={30}
54
+ <Input
55
+ label='Input label'
56
+ value={this.state.value}
71
57
  type='text'
72
- error='This is error message'
73
58
  info='This is some hint message'
74
59
  inlineLabel={this.state.inlineLabel}
75
60
  required={this.state.required}
76
61
  disabled={this.state.disabled}
77
- invalid={this.state.invalid}
62
+ maxLength={30}
78
63
  tabindex={0}
79
- onChange={(value) => this.setState({value2: value})} />
64
+ onChange={(value) => this.setState({value: value})}
65
+ />
80
66
  </div>
67
+
81
68
  <div className='form__row'>
82
- <Input label='Number Input'
83
- value={this.state.value}
69
+ <Input
70
+ label='Number Input'
71
+ value={this.state.value2}
84
72
  type='number'
85
- error='This is error message'
86
73
  info='Morbi leo risus porta ac consectetur ac.'
87
- inlineLabel={this.state.inlineLabel}
88
- required={this.state.required}
89
- disabled={this.state.disabled}
90
- invalid={this.state.invalid}
91
74
  tabindex={0}
92
- onChange={(value) => this.setState({value: value})} />
75
+ onChange={(value) => this.setState({value2: value})}
76
+ />
93
77
  </div>
78
+
94
79
  <p className="docs-page__paragraph">// Hidden label</p>
95
80
  <div className='form__row'>
96
- <Input label='Input label'
97
- value={''}
98
- maxLength={25}
81
+ <Input
82
+ label='Input label'
83
+ value={this.state.value3}
99
84
  type='text'
100
85
  placeholder='Placeholder'
101
- error='This is error message'
102
86
  info='Donec id elit non mi porta gravida at eget metus.'
103
87
  inlineLabel={true}
104
88
  labelHidden={true}
105
- required={this.state.required}
106
- disabled={this.state.disabled}
107
- invalid={this.state.invalid}
108
89
  tabindex={0}
109
- onChange={(value) => this.setState({value2: value})} />
90
+ onChange={(value) => this.setState({value3: value})}
91
+ />
110
92
  </div>
111
93
 
112
- <p className="docs-page__paragraph">// Boxed with hidden label</p>
113
- <div className='form__row'>
114
- <Input label='Input label'
115
- value={''}
116
- boxedStyle={true}
117
- maxLength={25}
118
- type='text'
119
- placeholder='Default boxed input'
120
- error='This is error message'
121
- inlineLabel={true}
122
- labelHidden={true}
123
- required={this.state.required}
124
- disabled={this.state.disabled}
125
- invalid={this.state.invalid}
126
- tabindex={0}
127
- onChange={(value) => this.setState({value2: value})} />
128
- </div>
129
- <div className='form__row'>
130
- <Input label='Input label'
131
- value={''}
132
- boxedStyle={true}
133
- size='large'
134
- maxLength={25}
135
- type='text'
136
- placeholder='Large boxed input'
137
- error='This is error message'
138
- inlineLabel={true}
139
- labelHidden={true}
140
- required={this.state.required}
141
- disabled={this.state.disabled}
142
- invalid={this.state.invalid}
143
- tabindex={0}
144
- onChange={(value) => this.setState({value2: value})} />
145
- </div>
94
+ <p className="docs-page__paragraph">// Boxed input</p>
146
95
  <div className='form__row'>
147
- <Input label='Input label'
148
- value={''}
96
+ <Input
97
+ label='Input label'
98
+ value={this.state.value4}
149
99
  boxedStyle={true}
150
- size='x-large'
151
- maxLength={25}
152
- type='text'
153
- placeholder='Extra large boxed input'
154
- error='This is error message'
155
- inlineLabel={true}
156
- labelHidden={true}
157
- required={this.state.required}
158
- disabled={this.state.disabled}
159
- invalid={this.state.invalid}
160
- tabindex={0}
161
- onChange={(value) => this.setState({value2: value})} />
162
- </div>
163
- <p className="docs-page__paragraph">// Boxed with default label</p>
164
- <div className='form__row'>
165
- <Input label='Input label'
166
- value={''}
167
- boxedStyle={true}
168
- size='large'
169
- maxLength={25}
100
+ maxLength={30}
170
101
  placeholder='Placeholder'
171
102
  type='text'
172
- error='This is error message'
173
- required={this.state.required}
174
- disabled={this.state.disabled}
175
- invalid={this.state.invalid}
176
103
  tabindex={0}
177
- onChange={(value) => this.setState({value2: value})} />
104
+ onChange={(value) => this.setState({value4: value})}
105
+ />
178
106
  </div>
179
- <p className="docs-page__paragraph">// Boxed with boxed label</p>
107
+
108
+ <p className="docs-page__paragraph">// Boxed input with boxed label</p>
180
109
  <div className='form__row'>
181
- <Input label='Input label'
182
- value={''}
110
+ <Input
111
+ label='Input label'
112
+ value={this.state.value5}
183
113
  boxedStyle={true}
184
114
  boxedLable={true}
185
- size='large'
186
- maxLength={25}
115
+ maxLength={30}
187
116
  placeholder='Placeholder'
188
117
  type='text'
189
- error='This is error message'
190
- required={this.state.required}
191
- disabled={this.state.disabled}
192
- invalid={this.state.invalid}
193
118
  tabindex={0}
194
- onChange={(value) => this.setState({value2: value})} />
195
- </div>
196
- <div className='form__row'>
197
- <Input label='Input label'
198
- value={''}
199
- boxedStyle={true}
200
- boxedLable={true}
201
- size='large'
202
- placeholder='Hide my label'
203
- labelHidden={true}
204
- type='text'
205
- error='This is error message'
206
- required={this.state.required}
207
- disabled={this.state.disabled}
208
- invalid={this.state.invalid}
209
- tabindex={0}
210
- onChange={(value) => this.setState({value2: value})} />
119
+ onChange={(value) => this.setState({value5: value})}
120
+ />
211
121
  </div>
212
122
  </div>
213
123
 
214
124
  </Markup.ReactMarkupPreview>
215
125
  <Markup.ReactMarkupCode>{`
216
- <Input label='Input label'
217
- value='This is some value'
218
- maxLength={30}
219
- error='This is error message'
126
+ <Input
127
+ label='Input label'
128
+ value={''}
129
+ type='text'
220
130
  info='This is some hint message'
221
- inlineLabel={false}
222
- required={true}
223
- disabled={false}
224
- invalid={false}
225
- onChange={(value) => {}} />
131
+ inlineLabel={this.state.inlineLabel}
132
+ required={this.state.required}
133
+ disabled={this.state.disabled}
134
+ maxLength={30}
135
+ tabindex={0}
136
+ onChange={(value) => this.setState({value: value})}
137
+ />
226
138
 
227
- <Input label='Number Input'
139
+ <Input
140
+ label='Number Input'
228
141
  value={this.state.value}
229
142
  type='number'
230
- error='This is error message'
231
143
  info='Morbi leo risus porta ac consectetur ac.'
232
- inlineLabel={this.state.inlineLabel}
233
- required={this.state.required}
234
- disabled={this.state.disabled}
235
- invalid={this.state.invalid}
236
144
  tabindex={0}
237
- onChange={(value) => {}} />
238
-
145
+ onChange={(value) => this.setState({value2: value})}
146
+ />
147
+
239
148
  // Hidden label
240
- <Input label='Input label'
149
+ <Input
150
+ label='Input label'
241
151
  value={''}
242
- maxLength={25}
243
152
  type='text'
244
153
  placeholder='Placeholder'
245
- error='This is error message'
246
154
  info='Donec id elit non mi porta gravida at eget metus.'
247
155
  inlineLabel={true}
248
156
  labelHidden={true}
249
- required={this.state.required}
250
- disabled={this.state.disabled}
251
- invalid={this.state.invalid}
252
- tabindex={0}
253
- onChange={(value) => {}} />
254
-
255
- // Boxed with hidden label
256
- <Input label='Input label'
257
- value={''}
258
- boxedStyle={true}
259
- maxLength={25}
260
- type='text'
261
- placeholder='Default boxed input'
262
- error='This is error message'
263
- inlineLabel={true}
264
- labelHidden={true}
265
- required={this.state.required}
266
- disabled={this.state.disabled}
267
- invalid={this.state.invalid}
268
- tabindex={0}
269
- onChange={(value) => {}} />
270
-
271
- <Input label='Input label'
272
- value={''}
273
- boxedStyle={true}
274
- size='large'
275
- maxLength={25}
276
- type='text'
277
- placeholder='Large boxed input'
278
- error='This is error message'
279
- inlineLabel={true}
280
- labelHidden={true}
281
- required={this.state.required}
282
- disabled={this.state.disabled}
283
- invalid={this.state.invalid}
284
157
  tabindex={0}
285
- onChange={(value) => {}} />
158
+ onChange={(value) => this.setState({value2: value})}
159
+ />
286
160
 
287
- <Input label='Input label'
161
+ // Boxed input
162
+ <Input
163
+ label='Input label'
288
164
  value={''}
289
165
  boxedStyle={true}
290
- size='x-large'
291
- maxLength={25}
292
- type='text'
293
- placeholder='Extra large boxed input'
294
- error='This is error message'
295
- inlineLabel={true}
296
- labelHidden={true}
297
- required={this.state.required}
298
- disabled={this.state.disabled}
299
- invalid={this.state.invalid}
300
- tabindex={0}
301
- onChange={(value) => {}} />
302
-
303
- // Boxed with default label
304
- <Input label='Input label'
305
- value={''}
306
- boxedStyle={true}
307
- size='large'
166
+ boxedLable={true}
308
167
  maxLength={25}
309
168
  placeholder='Placeholder'
310
169
  type='text'
311
- error='This is error message'
312
- required={this.state.required}
313
- disabled={this.state.disabled}
314
- invalid={this.state.invalid}
315
170
  tabindex={0}
316
- onChange={(value) => {}} />
317
-
318
- // Boxed with boxed label
319
- <Input label='Input label'
171
+ onChange={(value) => this.setState({value2: value})}
172
+ />
173
+
174
+ // Boxed input with boxed label
175
+ <Input
176
+ label='Input label'
320
177
  value={''}
321
178
  boxedStyle={true}
322
179
  boxedLable={true}
323
- size='large'
324
180
  maxLength={25}
325
181
  placeholder='Placeholder'
326
182
  type='text'
327
- error='This is error message'
328
- required={this.state.required}
329
- disabled={this.state.disabled}
330
- invalid={this.state.invalid}
331
183
  tabindex={0}
332
- onChange={(value) => {}} />
333
-
334
- <Input label='Input label'
335
- value={''}
336
- boxedStyle={true}
337
- boxedLable={true}
338
- size='large'
339
- placeholder='Hide my label'
340
- labelHidden={true}
341
- type='text'
342
- error='This is error message'
343
- required={this.state.required}
344
- disabled={this.state.disabled}
345
- invalid={this.state.invalid}
346
- tabindex={0}
347
- onChange={(value) => {}} />
184
+ onChange={(value) => this.setState({value2: value})}
185
+ />
348
186
  `}</Markup.ReactMarkupCode>
349
187
  </Markup.ReactMarkup>
350
188
 
351
189
  <h3 className='docs-page__h3'>Props</h3>
352
190
  <PropsList>
353
- <Prop name='value' isRequired={false} type='string' default='/' description='Item value'/>
191
+ <Prop name='value' isRequired={false} type='string' default='/' description='Input value.'/>
354
192
  <Prop name='type' isRequired={false} type='text | number | password' default='text' description='Input type. Defaults to type text.'/>
355
- <Prop name='label' isRequired={false} type='string' default='/' description='Input label'/>
356
- <Prop name='maxLength' isRequired={false} type='number' default='/' description='Sets max length for input text'/>
357
- <Prop name='info' isRequired={false} type='string' default='/' description='Hint text'/>
358
- <Prop name='error' isRequired={false} type='string' default='/' description='Error text'/>
359
- <Prop name='inlineLabel' isRequired={false} type='boolean' default='false' description='Position labels as inline'/>
360
- <Prop name='required' isRequired={false} type='boolean' default='false' description='Mark field as required'/>
361
- <Prop name='disabled' isRequired={false} type='boolean' default='false' description='Mark field as disabled'/>
362
- <Prop name='invalid' isRequired={false} type='boolean' default='false' description='Mark field as invalid'/>
363
- <Prop name='tabindex' isRequired={false} type='number' default='/' description='Indicates an element can be focused on, and determines how that focus is handled.'/>
193
+ <Prop name='maxLength' isRequired={false} type='number' default='/' description='Sets max length for input text.'/>
364
194
  <Prop name='placeholder' isRequired={false} type='string' default='/' description='Defines the text for the placeholder pseudo-element.'/>
365
195
  <Prop name='fullWidth' isRequired={false} type='boolean' default='false' description='Forces the input to take 100% of the container width.'/>
366
196
  <Prop name='boxedStyle' isRequired={false} type='boolean' default='false' description='Applies a boxed style to the input. This style should be used only in the authoring enviroment and similar.'/>
367
197
  <Prop name='boxedLable' isRequired={false} type='boolean' default='false' description='Applies a boxed style to the input label. This label style should be used only in combination with the boxedStyle input inside the authoring enviroment.'/>
368
198
  <Prop name='size' isRequired={false} type='medium | large | x-large' default='medium' description='Specifies the size of the input. Defaults to medium and should be changed only in special cases (e.g. titles, headlines etc.).'/>
199
+ <Prop name='onChange' isRequired={true} type='Function' default='/' description='Callback to invoke when value changes.'/>
200
+ <Prop name='label' isRequired={false} type='string' default='/' description='Label of component.' />
201
+ <Prop name='inlineLabel' isRequired={false} type='boolean' default='false' description='Position labels as inline.' />
202
+ <Prop name='tabindex' isRequired={false} type='number' default='/' description='Indicates an element can be focused on, and determines how that focus is handled.'/>
203
+ <Prop name='info' isRequired={false} type='string' default='/' description='Info message of component.' />
204
+ <Prop name='error' isRequired={false} type='string' default='/' description='Error message of component.' />
205
+ <Prop name='required' isRequired={false} type='boolean' default='false' description='Mark field as required.' />
206
+ <Prop name='disabled' isRequired={false} type='boolean' default='false' description='Mark field as disabled.' />
369
207
  </PropsList>
370
208
  </section>
371
209
  )
372
210
  }
373
- }
211
+ }
@@ -36,8 +36,8 @@ export class MultiselectDocs extends React.Component<{}, IState> {
36
36
  constructor(props) {
37
37
  super(props);
38
38
  this.state = {
39
- value: null,
40
- value2: null,
39
+ value: [{name: 'Red', colorCode: '#FF0000'},],
40
+ value2: [{name: 'Red', colorCode: '#FF0000'},],
41
41
  }
42
42
  }
43
43
 
@@ -48,11 +48,11 @@ export class MultiselectDocs extends React.Component<{}, IState> {
48
48
 
49
49
  <Markup.ReactMarkupCodePreview>{`
50
50
  <MultiSelect
51
- value={this.state.value2}
51
+ value={this.state.value}
52
52
  options={ItemArr}
53
- onChange={(e: any) => this.setState({value2: e.value})}
54
- placeholder='Select Item'
55
- optionLabel='name'
53
+ optionLabel={(option) => option.name}
54
+ placeholder='Select a color'
55
+ onChange={(e: any) => false}
56
56
  />
57
57
  `}
58
58
  </Markup.ReactMarkupCodePreview>
@@ -62,18 +62,17 @@ export class MultiselectDocs extends React.Component<{}, IState> {
62
62
  <div className='docs-page__content-row docs-page__content-row--no-margin'>
63
63
  <div className='form__row'>
64
64
  <MultiSelect
65
+ preview
65
66
  value={this.state.value}
66
67
  options={ItemArr}
67
- onChange={(e: any) => this.setState({value: e})}
68
+ optionLabel={(option) => option.name}
69
+ label='This is Label'
70
+ info='This is info'
71
+ placeholder='Select a color'
68
72
  filter
69
73
  showSelectAll
70
74
  zIndex={2000}
71
- placeholder='Select a color'
72
- optionLabel={(option) => `${option.name} :: ${option.colorCode}`}
73
- required
74
- tabindex={1}
75
- label={'This is Label'}
76
- info={'This is info'}
75
+ onChange={(e: any) => this.setState({value: e})}
77
76
  />
78
77
  </div>
79
78
  </div>
@@ -83,15 +82,14 @@ export class MultiselectDocs extends React.Component<{}, IState> {
83
82
  <MultiSelect
84
83
  value={this.state.value}
85
84
  options={ItemArr}
86
- onChange={(e: any) => this.setState({value: e.value})}
85
+ optionLabel={(option) => option.name}
86
+ label='This is Label'
87
+ info='This is info'
88
+ placeholder='Select a color'
87
89
  filter
88
90
  showSelectAll
89
- placeholder='Select a color'
90
- optionLabel='name'
91
- required
92
- tabindex={1}
93
- label={'This is Label'}
94
- info={'This is info'}
91
+ zIndex={2000}
92
+ onChange={(e: any) => this.setState({value: e})}
95
93
  />
96
94
  `}</Markup.ReactMarkupCode>
97
95
 
@@ -107,9 +105,11 @@ export class MultiselectDocs extends React.Component<{}, IState> {
107
105
  value={this.state.value2}
108
106
  options={ItemArr}
109
107
  optionLabel={(option) => `${option.name} :: ${option.colorCode}`}
110
- onChange={(e: any) => this.setState({value2: e})}
111
108
  filter
112
109
  showSelectAll
110
+ label='This is Label'
111
+ info='This is info'
112
+ placeholder='Select a color'
113
113
  itemTemplate={(option) => {
114
114
  if (option) {
115
115
  return (
@@ -134,6 +134,7 @@ export class MultiselectDocs extends React.Component<{}, IState> {
134
134
  );
135
135
  }
136
136
  }}
137
+ onChange={(e: any) => this.setState({value2: e})}
137
138
  />
138
139
  </div>
139
140
  </div>
@@ -188,12 +189,18 @@ export class MultiselectDocs extends React.Component<{}, IState> {
188
189
  <Prop name='maxSelectedLabels' isRequired={false} type='number' default='/' description='Decides how many selected item labels to show at most. Its necessary to use selectedItemTemplate.'/>
189
190
  <Prop name='selectedItemsLabel' isRequired={false} type='string' default='{0} items selected' description='Label to display after exceeding max selected labels.'/>
190
191
  <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.'/>
191
- <Prop name='tabIndex' isRequired={false} type='string' default="'0'" description='Index of the element in tabbing order.'/>
192
192
  <Prop name='showClear' isRequired={false} type='boolean' default='false' description='When enabled, a clear icon is displayed to clear the value.'/>
193
193
  <Prop name='showSelectAll' isRequired={false} type='boolean' default='false' description='Whether to show the select all checkbox inside the panel header.'/>
194
194
  <Prop name='itemTemplate' isRequired={false} type='function' default='/' description='Function that gets the option and returns the content for it.'/>
195
195
  <Prop name='selectedItemTemplate' isRequired={false} type='function' default='/' description='Function that gets an item in the value and returns the content for it.'/>
196
- <Prop name='onChange' isRequired={true} type='function' default='/' description='Callback to invoke when value changes.'/>
196
+ <Prop name='onChange' isRequired={true} type='Function' default='/' description='Callback to invoke when value changes.'/>
197
+ <Prop name='label' isRequired={false} type='string' default='/' description='Label of component.' />
198
+ <Prop name='inlineLabel' isRequired={false} type='boolean' default='false' description='Position labels as inline.' />
199
+ <Prop name='tabindex' isRequired={false} type='number' default='/' description='Indicates an element can be focused on, and determines how that focus is handled.'/>
200
+ <Prop name='info' isRequired={false} type='string' default='/' description='Info message of component.' />
201
+ <Prop name='error' isRequired={false} type='string' default='/' description='Error message of component.' />
202
+ <Prop name='required' isRequired={false} type='boolean' default='false' description='Mark field as required.' />
203
+ <Prop name='disabled' isRequired={false} type='boolean' default='false' description='Mark field as disabled.' />
197
204
  </PropsList>
198
205
 
199
206
  </section>