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
@@ -70,7 +70,7 @@ return /******/ (function(modules) { // webpackBootstrap
70
70
  /******/ __webpack_require__.p = "";
71
71
  /******/
72
72
  /******/ // Load entry module and return exports
73
- /******/ return __webpack_require__(__webpack_require__.s = 565);
73
+ /******/ return __webpack_require__(__webpack_require__.s = 566);
74
74
  /******/ })
75
75
  /************************************************************************/
76
76
  /******/ ({
@@ -28246,7 +28246,7 @@ module.exports = function(module) {
28246
28246
 
28247
28247
  /***/ }),
28248
28248
 
28249
- /***/ 565:
28249
+ /***/ 566:
28250
28250
  /***/ (function(module, exports, __webpack_require__) {
28251
28251
 
28252
28252
  "use strict";
@@ -28256,11 +28256,11 @@ __webpack_require__(21);
28256
28256
 
28257
28257
  __webpack_require__(42);
28258
28258
 
28259
- __webpack_require__(566);
28259
+ __webpack_require__(567);
28260
28260
 
28261
- __webpack_require__(568);
28261
+ __webpack_require__(569);
28262
28262
 
28263
- __webpack_require__(570);
28263
+ __webpack_require__(571);
28264
28264
 
28265
28265
  __webpack_require__(0);
28266
28266
 
@@ -28268,7 +28268,7 @@ __webpack_require__(7);
28268
28268
 
28269
28269
  /***/ }),
28270
28270
 
28271
- /***/ 566:
28271
+ /***/ 567:
28272
28272
  /***/ (function(module, exports, __webpack_require__) {
28273
28273
 
28274
28274
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -28292,7 +28292,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
28292
28292
  if ( true ) {
28293
28293
 
28294
28294
  // AMD. Register as an anonymous module.
28295
- !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(42), __webpack_require__(567) ], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
28295
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ __webpack_require__(42), __webpack_require__(568) ], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
28296
28296
  __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
28297
28297
  (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
28298
28298
  __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
@@ -29030,7 +29030,7 @@ return $.widget;
29030
29030
 
29031
29031
  /***/ }),
29032
29032
 
29033
- /***/ 567:
29033
+ /***/ 568:
29034
29034
  /***/ (function(module, exports, __webpack_require__) {
29035
29035
 
29036
29036
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;( function( factory ) {
@@ -29060,16 +29060,16 @@ return $.ui.version = "1.13.0";
29060
29060
 
29061
29061
  /***/ }),
29062
29062
 
29063
- /***/ 568:
29063
+ /***/ 569:
29064
29064
  /***/ (function(module, exports, __webpack_require__) {
29065
29065
 
29066
- __webpack_require__(569);
29066
+ __webpack_require__(570);
29067
29067
  module.exports = angular;
29068
29068
 
29069
29069
 
29070
29070
  /***/ }),
29071
29071
 
29072
- /***/ 569:
29072
+ /***/ 570:
29073
29073
  /***/ (function(module, exports, __webpack_require__) {
29074
29074
 
29075
29075
  /* WEBPACK VAR INJECTION */(function(__webpack_provided_window_dot_jQuery) {/**
@@ -65676,16 +65676,16 @@ $provide.value("$locale", {
65676
65676
 
65677
65677
  /***/ }),
65678
65678
 
65679
- /***/ 570:
65679
+ /***/ 571:
65680
65680
  /***/ (function(module, exports, __webpack_require__) {
65681
65681
 
65682
- __webpack_require__(571);
65682
+ __webpack_require__(572);
65683
65683
  module.exports = 'ngAnimate';
65684
65684
 
65685
65685
 
65686
65686
  /***/ }),
65687
65687
 
65688
- /***/ 571:
65688
+ /***/ 572:
65689
65689
  /***/ (function(module, exports) {
65690
65690
 
65691
65691
  /**
@@ -9,7 +9,6 @@ interface IState {
9
9
  inlineLabel: boolean;
10
10
  required: boolean;
11
11
  disabled: boolean;
12
- invalid: boolean;
13
12
  }
14
13
 
15
14
  export default class AutocompleteDoc extends React.Component<{}, IState> {
@@ -23,9 +22,8 @@ export default class AutocompleteDoc extends React.Component<{}, IState> {
23
22
  { name: 'Item 4', value: 'item-4', description: 'Some description for item 4'}
24
23
  ],
25
24
  inlineLabel: false,
26
- required: true,
25
+ required: false,
27
26
  disabled: false,
28
- invalid: false,
29
27
  }
30
28
  }
31
29
 
@@ -84,7 +82,6 @@ export default class AutocompleteDoc extends React.Component<{}, IState> {
84
82
  <CheckGroup>
85
83
  <Checkbox checked={this.state.required} label={{ text: 'Required input' }} onChange={(value) => { this.setState({ required: value }) }} />
86
84
  <Checkbox checked={this.state.disabled} label={{ text: 'Disabled input' }} onChange={(value) => { this.setState({ disabled: value }) }} />
87
- <Checkbox checked={this.state.invalid} label={{ text: 'Invalid input' }} onChange={(value) => { this.setState({ invalid: value }) }} />
88
85
  <Checkbox checked={this.state.inlineLabel} label={{ text: 'Label positioned inline' }} onChange={(value) => { this.setState({ inlineLabel: value }) }} />
89
86
  </CheckGroup>
90
87
  </div>
@@ -99,9 +96,9 @@ export default class AutocompleteDoc extends React.Component<{}, IState> {
99
96
  inlineLabel={this.state.inlineLabel}
100
97
  required={this.state.required}
101
98
  disabled={this.state.disabled}
102
- invalid={this.state.invalid}
103
- onChange={() => { }}
104
- onSelect={() => { }} />
99
+ onChange={() => false}
100
+ onSelect={() => false}
101
+ />
105
102
  </div>
106
103
  </div>
107
104
 
@@ -122,9 +119,9 @@ export default class AutocompleteDoc extends React.Component<{}, IState> {
122
119
  inlineLabel="Autocomplete label
123
120
  required={this.state.required}
124
121
  disabled={this.state.disabled}
125
- invalid={this.state.invalid}
126
- onChange={() => { }}
127
- onSelect={() => { }} />
122
+ onChange={() => false}
123
+ onSelect={() => false}
124
+ />
128
125
  `}</Markup.ReactMarkupCode>
129
126
  </Markup.ReactMarkup>
130
127
 
@@ -149,9 +146,9 @@ export default class AutocompleteDoc extends React.Component<{}, IState> {
149
146
  placeholder='Search'
150
147
  required={this.state.required}
151
148
  disabled={this.state.disabled}
152
- invalid={this.state.invalid}
153
- onChange={() => { }}
154
- onSelect={() => { }} />
149
+ onChange={() => false}
150
+ onSelect={() => false}
151
+ />
155
152
  </div>
156
153
  </div>
157
154
 
@@ -173,9 +170,9 @@ export default class AutocompleteDoc extends React.Component<{}, IState> {
173
170
  placeholder='Search'
174
171
  required={this.state.required}
175
172
  disabled={this.state.disabled}
176
- invalid={this.state.invalid}
177
- onChange={() => { }}
178
- onSelect={() => { }} />
173
+ onChange={() => false}
174
+ onSelect={() => false}
175
+ />
179
176
  `}</Markup.ReactMarkupCode>
180
177
  </Markup.ReactMarkup>
181
178
 
@@ -199,9 +196,9 @@ export default class AutocompleteDoc extends React.Component<{}, IState> {
199
196
  inlineLabel={this.state.inlineLabel}
200
197
  required={this.state.required}
201
198
  disabled={this.state.disabled}
202
- invalid={this.state.invalid}
203
- onChange={(value) => { this.setState({ }) }}
204
- onSelect={(value) => { this.setState({ }) }} />
199
+ onChange={(value) => false}
200
+ onSelect={(value) => false}
201
+ />
205
202
  </div>
206
203
  </div>
207
204
 
@@ -236,9 +233,9 @@ export default class AutocompleteDoc extends React.Component<{}, IState> {
236
233
  inlineLabel={this.state.inlineLabel}
237
234
  required={this.state.required}
238
235
  disabled={this.state.disabled}
239
- invalid={this.state.invalid}
240
- onChange={(value) => { this.setState({ }) }}
241
- onSelect={(value) => { this.setState({ }) }} />
236
+ onChange={(value) => false}
237
+ onSelect={(value) => false}
238
+ />
242
239
  `}</Markup.ReactMarkupCode>
243
240
  </Markup.ReactMarkup>
244
241
 
@@ -262,9 +259,9 @@ export default class AutocompleteDoc extends React.Component<{}, IState> {
262
259
  inlineLabel={this.state.inlineLabel}
263
260
  required={this.state.required}
264
261
  disabled={this.state.disabled}
265
- invalid={this.state.invalid}
266
- onChange={(value) => { this.setState({ }) }}
267
- onSelect={(value) => { this.setState({ }) }} />
262
+ onChange={(value) => false}
263
+ onSelect={(value) => false}
264
+ />
268
265
  </div>
269
266
  </div>
270
267
 
@@ -286,9 +283,9 @@ export default class AutocompleteDoc extends React.Component<{}, IState> {
286
283
  inlineLabel={this.state.inlineLabel}
287
284
  required={this.state.required}
288
285
  disabled={this.state.disabled}
289
- invalid={this.state.invalid}
290
- onChange={(value) => { this.setState({ }) }}
291
- onSelect={(value) => { this.setState({ }) }} />
286
+ onChange={(value) => false}
287
+ onSelect={(value) => false}
288
+ />
292
289
  `}</Markup.ReactMarkupCode>
293
290
  </Markup.ReactMarkup>
294
291
 
@@ -303,9 +300,13 @@ export default class AutocompleteDoc extends React.Component<{}, IState> {
303
300
  <Prop name='info' isRequired={false} type='string' default='/' description='Hint text' />
304
301
  <Prop name='error' isRequired={false} type='string' default='/' description='Error text' />
305
302
  <Prop name='placeholder' isRequired={false} type='string' default='/' description='Placeholder text for the input field.' />
306
- <Prop name='isSearchField' isRequired={false} type='boolean' default='false'
307
- description='Styles the input as a search field, adds a search icon and the option to clear the field. No visible
308
- lable is present in this option.' />
303
+ <Prop
304
+ name='isSearchField'
305
+ isRequired={false}
306
+ type='boolean'
307
+ default='false'
308
+ description='Styles the input as a search field, adds a search icon and the option to clear the field. No visible lable is present in this option.'
309
+ />
309
310
  <Prop name='inlineLabel' isRequired={false} type='boolean' default='false' description='Position labels as inline' />
310
311
  <Prop name='required' isRequired={false} type='boolean' default='false' description='Mark field as required' />
311
312
  <Prop name='disabled' isRequired={false} type='boolean' default='false' description='Mark field as disabled' />
@@ -1,9 +1,8 @@
1
1
  import * as React from 'react';
2
-
3
2
  import * as Markup from '../../js/react';
4
3
  import {DatePicker, PropsList, Prop, DatePickerISO} from '../../../app-typescript';
5
4
 
6
- class DatePickerExample extends React.PureComponent<{}, {date: Date}> {
5
+ class DatePickerExample extends React.PureComponent<{}, {date: Date | null}> {
7
6
  constructor(props) {
8
7
  super(props);
9
8
 
@@ -14,27 +13,31 @@ class DatePickerExample extends React.PureComponent<{}, {date: Date}> {
14
13
  render() {
15
14
  return (
16
15
  <DatePicker
17
- value={this.state.date}
18
- dateFormat="YYYY-MM-DD"
19
- onChange={(date) => {
20
- this.setState({date});
21
- }}
22
- required
23
- tabindex={1}
24
- label={'This is Label'}
25
- info={'This is info'}
26
- error={'This is error'}
16
+ value={this.state.date}
17
+ dateFormat="YYYY-MM-DD"
18
+ onChange={(date) => {
19
+ this.setState({date});
20
+ }}
21
+ label={'This is Label'}
22
+ info={'This is info'}
23
+ error={'This is error'}
27
24
  />
28
25
  );
29
26
  }
30
27
  }
31
28
 
32
- export default class DatePickerDoc extends React.Component {
29
+ interface IState {
30
+ today: string;
31
+ date: Date | null;
32
+ }
33
+
34
+ export default class DatePickerDoc extends React.Component<{}, IState> {
33
35
  constructor(props) {
34
36
  super(props);
35
37
 
36
38
  this.state = {
37
- today: new Date(),
39
+ today: '',
40
+ date: new Date(),
38
41
  };
39
42
  }
40
43
  render() {
@@ -42,28 +45,13 @@ export default class DatePickerDoc extends React.Component {
42
45
  <section className="docs-page__container">
43
46
  <h2 className="docs-page__h2">Date picker</h2>
44
47
  <Markup.ReactMarkupCodePreview>{`
45
- class DatePickerExample extends React.PureComponent<{}, {date: Date}> {
46
- constructor(props) {
47
- super(props);
48
- this.state = {date: new Date()};
49
- }
50
- render() {
51
- return (
52
- <DatePicker
53
- value={this.state.date}
54
- dateFormat="YYYY-MM-DD"
55
- onChange={(date) => {
56
- this.setState({date});
57
- }}
58
- required
59
- tabindex={1}
60
- label={'This is Label'}
61
- info={'This is info'}
62
- error={'This is error'}
63
- />
64
- );
65
- }
66
- }
48
+ <DatePicker
49
+ value={this.state.date}
50
+ dateFormat="YYYY-MM-DD"
51
+ onChange={(date) => {
52
+ this.setState({date});
53
+ }}
54
+ />
67
55
  `}</Markup.ReactMarkupCodePreview>
68
56
  <Markup.ReactMarkup>
69
57
  <Markup.ReactMarkupPreview>
@@ -74,25 +62,23 @@ export default class DatePickerDoc extends React.Component {
74
62
  <p className="docs-page__paragraph">// DatePickerISO</p>
75
63
  <div className='docs-page__content-row'>
76
64
  <DatePickerISO
77
- value={'2019-01-01'}
78
- dateFormat="YYYY-MM-DD"
79
- onChange={(date) => {
80
- this.setState({date});
81
- }}
82
- tabindex={1}
83
- label={'This is Label'}
84
- info={'This is info'}
85
- error={'This is error'}
65
+ value={'2019-01-01'}
66
+ dateFormat="YYYY-MM-DD"
67
+ onChange={(date) => {
68
+ this.setState({today: date});
69
+ }}
70
+ label={'This is Label'}
71
+ info={'This is info'}
72
+ error={'This is error'}
86
73
  />
87
74
  </div>
88
75
  </Markup.ReactMarkupPreview>
89
76
  <Markup.ReactMarkupCode>{`
90
- <DatePicker
77
+ <DatePicker
91
78
  value={this.state.date}
92
79
  onChange={(date) => {
93
80
  this.setState({date});
94
81
  }}
95
- disabled={false}
96
82
  dateFormat="YYYY-MM-DD"
97
83
  shortcuts={[
98
84
  {label: 'tomorrow', days: 1},
@@ -131,19 +117,17 @@ export default class DatePickerDoc extends React.Component {
131
117
  <Markup.ReactMarkup>
132
118
  <Markup.ReactMarkupPreview>
133
119
  <div className='docs-page__content-row'>
134
- <DatePicker
135
- value={this.state.today}
136
- dateFormat="YYYY-MM-DD"
137
- onChange={(today) => {
138
- this.setState({today});
139
- }}
140
- required
141
- tabindex={1}
142
- label={'This is Label'}
143
- info={'This is info'}
144
- error={'This is error'}
145
- headerButtonBar={[{days: 0, label: 'today'}, {days: 1, label: 'tomorow'}, {days: 2, label: 'in 2 days'}]}
146
- />
120
+ <DatePicker
121
+ value={this.state.date}
122
+ dateFormat="YYYY-MM-DD"
123
+ onChange={(date) => {
124
+ this.setState({date});
125
+ }}
126
+ label={'This is Label'}
127
+ info={'This is info'}
128
+ error={'This is error'}
129
+ headerButtonBar={[{days: 0, label: 'today'}, {days: 1, label: 'tomorow'}, {days: 2, label: 'in 2 days'}]}
130
+ />
147
131
  </div>
148
132
  </Markup.ReactMarkupPreview>
149
133
  <Markup.ReactMarkupCode>{`
@@ -153,8 +137,6 @@ export default class DatePickerDoc extends React.Component {
153
137
  onChange={(date) => {
154
138
  this.setState({date});
155
139
  }}
156
- required
157
- tabindex={1}
158
140
  label={'This is Label'}
159
141
  info={'This is info'}
160
142
  error={'This is error'}
@@ -165,17 +147,18 @@ export default class DatePickerDoc extends React.Component {
165
147
 
166
148
  <h3 className='docs-page__h3'>Props</h3>
167
149
  <PropsList>
168
- <Prop name='value' isRequired={false} type='Date' default='/' description='Item value' />
169
- <Prop name='dateFormat' isRequired={true} type='string' default='/' description='Date format to use, i.e. "MM/DD/YYYY"' />
170
- <Prop name='locale' isRequired={false} type='string' default='/' description='see: https://primefaces.org/primereact/showcase/#/calendar' />
171
- <Prop name='headerButtonBar' isRequired={false} type='Array' default='/' description='Aditional button in header, ex. [{label: "today", days: 0}, {label: "tomorrow", days: 1}]' />
172
- <Prop name='label' isRequired={false} type='string' default='/' description='Input label'/>
173
- <Prop name='info' isRequired={false} type='string' default='/' description='Hint text'/>
174
- <Prop name='error' isRequired={false} type='string' default='/' description='Error text'/>
175
- <Prop name='inlineLabel' isRequired={false} type='boolean' default='false' description='Position labels as inline'/>
176
- <Prop name='required' isRequired={false} type='boolean' default='false' description='Mark field as required'/>
177
- <Prop name='disabled' isRequired={false} type='boolean' default='false' description='Mark field as disabled'/>
178
- <Prop name='invalid' isRequired={false} type='boolean' default='false' description='Mark field as invalid'/>
150
+ <Prop name='value' isRequired={false} type='Date' default='/' description='Value of the component.' />
151
+ <Prop name='dateFormat' isRequired={true} type='string' default='/' description='Date format to use, i.e. "MM/DD/YYYY".' />
152
+ <Prop name='locale' isRequired={false} type='string' default='/' description='see: https://primefaces.org/primereact/showcase/#/calendar.' />
153
+ <Prop name='headerButtonBar' isRequired={false} type='Array' default='/' description='Aditional button in header, ex. [{label: "today", days: 0}, {label: "tomorrow", days: 1}].' />
154
+ <Prop name='onChange' isRequired={true} type='Function' default='/' description='Callback to invoke when value changes.'/>
155
+ <Prop name='label' isRequired={false} type='string' default='/' description='Label of component.' />
156
+ <Prop name='inlineLabel' isRequired={false} type='boolean' default='false' description='Position labels as inline.' />
157
+ <Prop name='tabindex' isRequired={false} type='number' default='/' description='Indicates an element can be focused on, and determines how that focus is handled.'/>
158
+ <Prop name='info' isRequired={false} type='string' default='/' description='Info message of component.' />
159
+ <Prop name='error' isRequired={false} type='string' default='/' description='Error message of component.' />
160
+ <Prop name='required' isRequired={false} type='boolean' default='false' description='Mark field as required.' />
161
+ <Prop name='disabled' isRequired={false} type='boolean' default='false' description='Mark field as disabled.' />
179
162
  </PropsList>
180
163
 
181
164
  <h3 className='docs-page__h3'>Events</h3>
@@ -1,14 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import * as Markup from '../../js/react';
3
- import { Input, Select, CheckGroup, Checkbox, PropsList, Prop } from '../../../app-typescript';
3
+ import { CheckGroup, Checkbox, PropsList, Prop } from '../../../app-typescript';
4
4
  import { DurationInput } from '../../../app-typescript/components/DurationInput';
5
- import { getDurationString } from '../../../app-typescript/components/DurationInput';
6
5
 
7
6
  interface IState {
8
7
  inlineLabel: boolean;
9
8
  required: boolean;
10
9
  disabled: boolean;
11
- invalid: boolean;
12
10
  value: any
13
11
  }
14
12
 
@@ -17,29 +15,22 @@ export default class DurationInputDoc extends React.Component<{}, IState> {
17
15
  super(props);
18
16
  this.state = {
19
17
  inlineLabel: false,
20
- required: true,
18
+ required: false,
21
19
  disabled: false,
22
- invalid: false,
23
20
  value: 3661,
24
21
  }
25
22
  }
26
23
 
27
24
  render() {
28
-
29
25
  return (
30
26
  <section className='docs-page__container'>
31
27
  <h2 className='docs-page__h2'>Duration Input</h2>
32
28
  <Markup.ReactMarkupCodePreview>{`
33
29
  <DurationInput
34
- label='Label'
35
- info='info message'
36
- disabled={this.state.disabled}
37
- required={this.state.required}
38
- invalid={this.state.invalid}
39
- inlineLabel={this.state.inlineLabel}
40
- onChange={(e) => {
41
- console.log(e)
42
- }}
30
+ seconds={this.state.value}
31
+ onChange={(e) => {
32
+ this.setState({value: e})
33
+ }}
43
34
  />
44
35
  `}
45
36
  </Markup.ReactMarkupCodePreview>
@@ -51,24 +42,21 @@ export default class DurationInputDoc extends React.Component<{}, IState> {
51
42
  <CheckGroup>
52
43
  <Checkbox checked={this.state.required} label={{text:'Required input'}} onChange={(value) => {this.setState({required: value})}} />
53
44
  <Checkbox checked={this.state.disabled} label={{text:'Disabled input'}} onChange={(value) => {this.setState({disabled: value})}} />
54
- <Checkbox checked={this.state.invalid} label={{text:'Invalid input'}} onChange={(value) => {this.setState({invalid: value})}} />
55
45
  <Checkbox checked={this.state.inlineLabel} label={{text:'Label positioned inline'}} onChange={(value) => {this.setState({inlineLabel: value})}} />
56
46
  </CheckGroup>
57
47
  </div>
58
48
 
59
49
  <div className='form__row'>
60
50
  <DurationInput
61
- label='Label'
62
- info='info message'
63
- disabled={this.state.disabled}
64
- required={this.state.required}
65
- invalid={this.state.invalid}
66
- inlineLabel={this.state.inlineLabel}
67
- seconds={this.state.value}
68
- onChange={(e) => {
69
- this.setState({value: e})
70
- console.log(e);
71
- }}
51
+ seconds={this.state.value}
52
+ label='Label'
53
+ info='info message'
54
+ disabled={this.state.disabled}
55
+ required={this.state.required}
56
+ inlineLabel={this.state.inlineLabel}
57
+ onChange={(value) => {
58
+ this.setState({value})
59
+ }}
72
60
  />
73
61
  </div>
74
62
  </div>
@@ -76,33 +64,34 @@ export default class DurationInputDoc extends React.Component<{}, IState> {
76
64
  </Markup.ReactMarkupPreview>
77
65
  <Markup.ReactMarkupCode>{`
78
66
  <DurationInput
79
- label='Label'
80
- info='info message'
81
- disabled={this.state.disabled}
82
- required={this.state.required}
83
- invalid={this.state.invalid}
84
- inlineLabel={this.state.inlineLabel}
85
- onChange={(e) => {
86
- console.log(e)
87
- }}
67
+ seconds={this.state.value}
68
+ label='Label'
69
+ info='info message'
70
+ disabled={this.state.disabled}
71
+ required={this.state.required}
72
+ inlineLabel={this.state.inlineLabel}
73
+ onChange={(e) => {
74
+ this.setState({value: e})
75
+ }}
88
76
  />
89
77
  `}</Markup.ReactMarkupCode>
90
78
  </Markup.ReactMarkup>
91
79
 
92
80
  <h3 className='docs-page__h3'>Props</h3>
93
81
  <PropsList>
94
- <Prop name='hours' isRequired={false} type='number' default='00' description='Hours value'/>
95
- <Prop name='minutes' isRequired={false} type='number' default='00' description='Minutes value'/>
96
- <Prop name='seconds' isRequired={false} type='number' default='00' description='Seconds value'/>
97
- <Prop name='label' isRequired={false} type='string' default='/' description='Input label'/>
98
- <Prop name='info' isRequired={false} type='string' default='/' description='Hint text'/>
99
- <Prop name='error' isRequired={false} type='string' default='/' description='Error text'/>
100
- <Prop name='inlineLabel' isRequired={false} type='boolean' default='false' description='Position labels as inline'/>
101
- <Prop name='required' isRequired={false} type='boolean' default='false' description='Mark field as required'/>
102
- <Prop name='disabled' isRequired={false} type='boolean' default='false' description='Mark field as disabled'/>
103
- <Prop name='invalid' isRequired={false} type='boolean' default='false' description='Mark field as invalid'/>
82
+ <Prop name='hours' isRequired={false} type='number' default='00' description='Hours value.'/>
83
+ <Prop name='minutes' isRequired={false} type='number' default='00' description='Minutes value.'/>
84
+ <Prop name='seconds' isRequired={false} type='number' default='00' description='Seconds value.'/>
85
+ <Prop name='onChange' isRequired={true} type='Function' default='/' description='Callback to invoke when value changes.'/>
86
+ <Prop name='label' isRequired={false} type='string' default='/' description='Label of component.' />
87
+ <Prop name='inlineLabel' isRequired={false} type='boolean' default='false' description='Position labels as inline.' />
88
+ <Prop name='tabindex' isRequired={false} type='number' default='/' description='Indicates an element can be focused on, and determines how that focus is handled.'/>
89
+ <Prop name='info' isRequired={false} type='string' default='/' description='Info message of component.' />
90
+ <Prop name='error' isRequired={false} type='string' default='/' description='Error message of component.' />
91
+ <Prop name='required' isRequired={false} type='boolean' default='false' description='Mark field as required.' />
92
+ <Prop name='disabled' isRequired={false} type='boolean' default='false' description='Mark field as disabled.' />
104
93
  </PropsList>
105
94
  </section>
106
95
  )
107
96
  }
108
- }
97
+ }