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,16 +1,12 @@
1
1
  import * as React from 'react';
2
-
3
2
  import * as Markup from '../../js/react';
4
-
5
3
  import { Select, Option, CheckGroup, Checkbox, PropsList, Prop } from '../../../app-typescript';
6
4
 
7
5
  interface IState {
8
6
  inlineLabel: boolean;
9
7
  required: boolean;
10
8
  disabled: boolean;
11
- invalid: boolean;
12
9
  value: string;
13
- value2: string;
14
10
  }
15
11
 
16
12
  export default class InputsDoc extends React.Component<{}, IState> {
@@ -18,11 +14,9 @@ export default class InputsDoc extends React.Component<{}, IState> {
18
14
  super(props);
19
15
  this.state = {
20
16
  inlineLabel: false,
21
- required: true,
17
+ required: false,
22
18
  disabled: false,
23
- invalid: false,
24
- value: '',
25
- value2: '',
19
+ value: 'Option 1',
26
20
  }
27
21
  }
28
22
 
@@ -53,7 +47,6 @@ export default class InputsDoc extends React.Component<{}, IState> {
53
47
  <CheckGroup>
54
48
  <Checkbox checked={this.state.required} label={{ text: 'Required input' }} onChange={(value) => { this.setState({ required: value }) }} />
55
49
  <Checkbox checked={this.state.disabled} label={{ text: 'Disabled input' }} onChange={(value) => { this.setState({ disabled: value }) }} />
56
- <Checkbox checked={this.state.invalid} label={{ text: 'Invalid input' }} onChange={(value) => { this.setState({ invalid: value }) }} />
57
50
  <Checkbox checked={this.state.inlineLabel} label={{ text: 'Label positioned inline' }} onChange={(value) => { this.setState({ inlineLabel: value }) }} />
58
51
  </CheckGroup>
59
52
  </div>
@@ -64,11 +57,9 @@ export default class InputsDoc extends React.Component<{}, IState> {
64
57
  label='Select label'
65
58
  error='This is error message'
66
59
  info='This is some hint message'
67
- inlineLabel={this.state.inlineLabel}
68
60
  required={this.state.required}
69
61
  disabled={this.state.disabled}
70
- invalid={this.state.invalid}
71
- tabindex={0}
62
+ inlineLabel={this.state.inlineLabel}
72
63
  onChange={(value) => {
73
64
  this.setState({
74
65
  value: value,
@@ -78,26 +69,6 @@ export default class InputsDoc extends React.Component<{}, IState> {
78
69
  <Option>Option 1</Option>
79
70
  <Option>Option 2</Option>
80
71
  </Select>
81
- </div>
82
-
83
- <p className="docs-page__paragraph">// Boxed with hidden label</p>
84
- <div className='form__row'>
85
- <Select
86
- value={this.state.value2}
87
- label='Select label'
88
- labelHidden
89
- error='This is error message'
90
- info='This is some hint message'
91
- tabindex={0}
92
- onChange={(value) => {
93
- this.setState({
94
- value2: value,
95
- })
96
- }}
97
- >
98
- <Option>Option 1</Option>
99
- <Option>Option 2</Option>
100
- </Select>
101
72
  </div>
102
73
  </div>
103
74
 
@@ -108,11 +79,9 @@ export default class InputsDoc extends React.Component<{}, IState> {
108
79
  label='Select label'
109
80
  error='This is error message'
110
81
  info='This is some hint message'
111
- inlineLabel={this.state.inlineLabel}
112
82
  required={this.state.required}
113
83
  disabled={this.state.disabled}
114
- invalid={this.state.invalid}
115
- tabindex={0}
84
+ inlineLabel={this.state.inlineLabel}
116
85
  onChange={(value) => {
117
86
  this.setState({
118
87
  value: value,
@@ -127,16 +96,15 @@ export default class InputsDoc extends React.Component<{}, IState> {
127
96
 
128
97
  <h3 className='docs-page__h3'>Props</h3>
129
98
  <PropsList>
130
- <Prop name='value' isRequired={false} type='string' default='/' description='Item value' />
131
- <Prop name='label' isRequired={false} type='string' default='/' description='Label of component' />
132
- <Prop name='info' isRequired={false} type='string' default='/' description='Info message of component' />
133
- <Prop name='error' isRequired={false} type='string' default='/' description='Error message of component' />
134
- <Prop name='inlineLabel' isRequired={false} type='boolean' default='false' description='Position labels as inline' />
135
- <Prop name='required' isRequired={false} type='boolean' default='false' description='Mark field as required' />
136
- <Prop name='disabled' isRequired={false} type='boolean' default='false' description='Mark field as disabled' />
137
- <Prop name='invalid' isRequired={false} type='boolean' default='false' description='Mark field as invalid' />
138
- <Prop name='tabindex' isRequired={false} type='number' default='/' description='Indicates an element can be focused on, and determines how that focus is handled.' />
99
+ <Prop name='value' isRequired={false} type='string' default='/' description='Value of the component.' />
139
100
  <Prop name='onChange' isRequired={true} type='Function' default='/' description='Callback to invoke when value changes.'/>
101
+ <Prop name='label' isRequired={false} type='string' default='/' description='Label of component.' />
102
+ <Prop name='inlineLabel' isRequired={false} type='boolean' default='false' description='Position labels as inline.' />
103
+ <Prop name='tabindex' isRequired={false} type='number' default='/' description='Indicates an element can be focused on, and determines how that focus is handled.'/>
104
+ <Prop name='info' isRequired={false} type='string' default='/' description='Info message of component.' />
105
+ <Prop name='error' isRequired={false} type='string' default='/' description='Error message of component.' />
106
+ <Prop name='required' isRequired={false} type='boolean' default='false' description='Mark field as required.' />
107
+ <Prop name='disabled' isRequired={false} type='boolean' default='false' description='Mark field as disabled.' />
140
108
  </PropsList>
141
109
  </section>
142
110
  )
@@ -8,7 +8,7 @@ export default class TagInputDocs extends React.Component<{}, {value: Array<stri
8
8
  super(props);
9
9
 
10
10
  this.state = {
11
- value: ['Item'],
11
+ value: ['Item 1', 'item 2'],
12
12
  }
13
13
  }
14
14
 
@@ -18,13 +18,9 @@ export default class TagInputDocs extends React.Component<{}, {value: Array<stri
18
18
  <h2 className="docs-page__h2">Tag Input</h2>
19
19
  <Markup.ReactMarkupCodePreview>{`
20
20
  <TagInput
21
- onChange={(value) => {
22
- this.setState({
23
- value: value,
24
- });
25
- }}
26
21
  value={this.state.value}
27
22
  placeholder="Type Here"
23
+ onChange={(value) => false}
28
24
  />
29
25
  `}
30
26
  </Markup.ReactMarkupCodePreview>
@@ -32,33 +28,31 @@ export default class TagInputDocs extends React.Component<{}, {value: Array<stri
32
28
  <Markup.ReactMarkupPreview>
33
29
  <div className='docs-page__content-row'>
34
30
  <TagInput
35
- required
31
+ value={this.state.value}
32
+ placeholder="Type Here"
33
+ label={'Tag-input Label'}
36
34
  info={'Info Message'}
37
35
  error={'Error Message'}
38
- label={'Tag-input Label'}
39
36
  onChange={(value) => {
40
37
  this.setState({
41
38
  value: value,
42
39
  });
43
40
  }}
44
- value={this.state.value}
45
- placeholder="Type Here"
46
41
  />
47
42
  </div>
48
43
  </Markup.ReactMarkupPreview>
49
44
  <Markup.ReactMarkupCode>{`
50
45
  <TagInput
51
- required
46
+ value={this.state.value}
47
+ placeholder="Type Here"
48
+ label={'Tag-input Label'}
52
49
  info={'Info Message'}
53
50
  error={'Error Message'}
54
- label={'TreeSelect Label'}
55
51
  onChange={(value) => {
56
52
  this.setState({
57
53
  value: value,
58
54
  });
59
55
  }}
60
- value={this.state.value}
61
- placeholder="Type Here"
62
56
  />
63
57
  `}
64
58
  </Markup.ReactMarkupCode>
@@ -68,13 +62,13 @@ export default class TagInputDocs extends React.Component<{}, {value: Array<stri
68
62
  <Prop name='value' isRequired={false} type='Array<T>' default='/' description='Value of the component.'/>
69
63
  <Prop name='placeholder' isRequired={false} type='string' default='/' description='Input placeholder.'/>
70
64
  <Prop name='onChange' isRequired={true} type='Function' default='/' description='Callback to invoke when value changes.'/>
71
- <Prop name='label' isRequired={false} type='string' default='/' description='Input label.'/>
72
- <Prop name='info' isRequired={false} type='string' default='/' description='Hint text.'/>
73
- <Prop name='error' isRequired={false} type='string' default='/' description='Error text.'/>
74
- <Prop name='inlineLabel' isRequired={false} type='boolean' default='false' description='Position labels as inline.'/>
75
- <Prop name='required' isRequired={false} type='boolean' default='false' description='Mark field as required.'/>
76
- <Prop name='disabled' isRequired={false} type='boolean' default='false' description='Mark field as disabled.'/>
77
- <Prop name='invalid' isRequired={false} type='boolean' default='false' description='Mark field as invalid.'/>
65
+ <Prop name='label' isRequired={false} type='string' default='/' description='Label of component.' />
66
+ <Prop name='inlineLabel' isRequired={false} type='boolean' default='false' description='Position labels as inline.' />
67
+ <Prop name='tabindex' isRequired={false} type='number' default='/' description='Indicates an element can be focused on, and determines how that focus is handled.'/>
68
+ <Prop name='info' isRequired={false} type='string' default='/' description='Info message of component.' />
69
+ <Prop name='error' isRequired={false} type='string' default='/' description='Error message of component.' />
70
+ <Prop name='required' isRequired={false} type='boolean' default='false' description='Mark field as required.' />
71
+ <Prop name='disabled' isRequired={false} type='boolean' default='false' description='Mark field as disabled.' />
78
72
  </PropsList>
79
73
  </section>
80
74
  )
@@ -15,16 +15,14 @@ class TimePickerExample extends React.PureComponent<{}, {time: string}> {
15
15
  render() {
16
16
  return (
17
17
  <TimePicker
18
- value={this.state.time}
19
- onChange={(time) => {
20
- this.setState({time});
21
- }}
22
- required
23
- tabindex={1}
24
- label={'This is Label'}
25
- info={'This is info'}
26
- error={'This is error'}
27
- allowSeconds
18
+ value={this.state.time}
19
+ onChange={(time) => {
20
+ this.setState({time});
21
+ }}
22
+ allowSeconds
23
+ label={'This is Label'}
24
+ info={'This is info'}
25
+ error={'This is error'}
28
26
  />
29
27
  );
30
28
  }
@@ -36,25 +34,12 @@ export default class TimePickerDoc extends React.Component {
36
34
  <section className="docs-page__container">
37
35
  <h2 className="docs-page__h2">Time picker</h2>
38
36
  <Markup.ReactMarkupCodePreview>{`
39
- class TimePickerExample extends React.PureComponent<{}, {time: string}> {
40
- constructor(props) {
41
- super(props);
42
- this.state = {time: ''};
43
- }
44
- render() {
45
- return (
46
- <TimePicker
47
- value={this.state.time}
48
- onChange={(time) => {
49
- this.setState({time});
50
- }}
51
- label={'This is Label'}
52
- info={'This is info'}
53
- error={'This is error'}
54
- />
55
- );
56
- }
57
- }
37
+ <TimePicker
38
+ value={this.state.time}
39
+ onChange={(time) => {
40
+ this.setState({time});
41
+ }}
42
+ />
58
43
  `}</Markup.ReactMarkupCodePreview>
59
44
  <Markup.ReactMarkup>
60
45
  <Markup.ReactMarkupPreview>
@@ -63,13 +48,15 @@ export default class TimePickerDoc extends React.Component {
63
48
  </div>
64
49
  </Markup.ReactMarkupPreview>
65
50
  <Markup.ReactMarkupCode>{`
66
- <TimePickerExample
51
+ <TimePicker
67
52
  value={this.state.time}
68
- disabled={false}
69
- required={true}
70
53
  onChange={(time) => {
71
54
  this.setState({time});
72
55
  }}
56
+ allowSeconds
57
+ label={'This is Label'}
58
+ info={'This is info'}
59
+ error={'This is error'}
73
60
  />
74
61
  `}</Markup.ReactMarkupCode>
75
62
  </Markup.ReactMarkup>
@@ -78,6 +65,12 @@ export default class TimePickerDoc extends React.Component {
78
65
  <PropsList>
79
66
  <Prop name='value' isRequired={true} type='string' default='/' description='Item value.' />
80
67
  <Prop name='allowSeconds' isRequired={true} type='string' default='/' description='Allow seconds.' />
68
+ <Prop name='onChange' isRequired={true} type='Function' default='/' description='Callback to invoke when value changes.'/>
69
+ <Prop name='label' isRequired={false} type='string' default='/' description='Label of component.' />
70
+ <Prop name='inlineLabel' isRequired={false} type='boolean' default='false' description='Position labels as inline.' />
71
+ <Prop name='tabindex' isRequired={false} type='number' default='/' description='Indicates an element can be focused on, and determines how that focus is handled.'/>
72
+ <Prop name='info' isRequired={false} type='string' default='/' description='Info message of component.' />
73
+ <Prop name='error' isRequired={false} type='string' default='/' description='Error message of component.' />
81
74
  <Prop name='required' isRequired={false} type='boolean' default='false' description='Mark field as required.' />
82
75
  <Prop name='disabled' isRequired={false} type='boolean' default='false' description='Mark field as disabled.' />
83
76
  </PropsList>