@innovaccer/design-system 2.13.0-0 → 2.13.1

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 (50) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/core/components/atoms/metricInput/__stories__/DefaultMetric.story.jsx +1 -1
  3. package/core/components/molecules/inputMask/InputMask.tsx +6 -1
  4. package/core/components/molecules/popover/__stories__/variants/boundaryElement.story.jsx +2 -2
  5. package/core/components/organisms/datePicker/__tests__/DatePicker.test.tsx +1 -1
  6. package/core/components/organisms/dateRangePicker/SingleInputTrigger.tsx +22 -1
  7. package/core/components/organisms/dateRangePicker/Trigger.tsx +19 -2
  8. package/core/components/organisms/timePicker/TimePicker.tsx +1 -0
  9. package/core/utils/masks.ts +3 -3
  10. package/dist/index.esm.js +62 -11
  11. package/dist/index.js +63 -11
  12. package/dist/index.js.map +1 -1
  13. package/dist/index.umd.js +1 -1
  14. package/dist/index.umd.js.br +0 -0
  15. package/dist/index.umd.js.gz +0 -0
  16. package/docs/package.json +1 -1
  17. package/docs/src/data/components/index.js +12 -0
  18. package/docs/src/data/components/mobile.js +12 -0
  19. package/docs/src/data/nav/components.yaml +0 -1
  20. package/docs/src/pages/components/chips/images/chips-1.png +0 -0
  21. package/docs/src/pages/components/chips/usage.mdx +7 -1
  22. package/docs/src/pages/components/helpText/images/helpText-1.png +0 -0
  23. package/docs/src/pages/components/helpText/images/helpText-2.png +0 -0
  24. package/docs/src/pages/components/helpText/images/helpText-3.png +0 -0
  25. package/docs/src/pages/components/helpText/images/helpText-4.png +0 -0
  26. package/docs/src/pages/components/helpText/images/helpText-5.png +0 -0
  27. package/docs/src/pages/components/helpText/usage.mdx +74 -0
  28. package/docs/src/pages/components/pills/images/pills-1.png +0 -0
  29. package/docs/src/pages/components/pills/usage.mdx +7 -1
  30. package/docs/src/pages/components/radio/images/radio-1.png +0 -0
  31. package/docs/src/pages/components/radio/usage.mdx +7 -1
  32. package/docs/src/pages/components/switch/images/switch-4.png +0 -0
  33. package/docs/src/pages/components/switch/images/switch-5.png +0 -0
  34. package/docs/src/pages/components/switch/images/switch-6.png +0 -0
  35. package/docs/src/pages/components/switch/usage.mdx +10 -3
  36. package/docs/src/pages/mobile/components/bottomSheet/images/bottomsheet-8.png +0 -0
  37. package/docs/src/pages/mobile/components/bottomSheet/usage.mdx +4 -1
  38. package/docs/src/pages/mobile/components/checkbox/images/checkbox-1.png +0 -0
  39. package/docs/src/pages/mobile/components/checkbox/images/checkbox-10.png +0 -0
  40. package/docs/src/pages/mobile/components/checkbox/images/checkbox-11.png +0 -0
  41. package/docs/src/pages/mobile/components/checkbox/images/checkbox-2.png +0 -0
  42. package/docs/src/pages/mobile/components/checkbox/images/checkbox-3.png +0 -0
  43. package/docs/src/pages/mobile/components/checkbox/images/checkbox-4.png +0 -0
  44. package/docs/src/pages/mobile/components/checkbox/images/checkbox-5.png +0 -0
  45. package/docs/src/pages/mobile/components/checkbox/images/checkbox-6.png +0 -0
  46. package/docs/src/pages/mobile/components/checkbox/images/checkbox-7.png +0 -0
  47. package/docs/src/pages/mobile/components/checkbox/images/checkbox-8.png +0 -0
  48. package/docs/src/pages/mobile/components/checkbox/images/checkbox-9.png +0 -0
  49. package/docs/src/pages/mobile/components/checkbox/usage.mdx +122 -0
  50. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,4 +1,76 @@
1
1
 
2
+ ## 2.13.1 (2022-06-24)
3
+
4
+ ### Highlights
5
+ NA
6
+
7
+ ### Breaking changes
8
+ NA
9
+
10
+ ### Migration guide
11
+ NA
12
+
13
+ ### Deprecations
14
+ NA
15
+
16
+ ### Features
17
+ NA
18
+
19
+ ### Fixes
20
+ * fix(daterangepicker): fix error state on blur event (fcc00594)
21
+ * fix(daterangepicker): fix dateRangePicker input freeze (c98352c0)
22
+ * fix(popover): fix boundary element story (ca351ed5)
23
+ * fix(metricInput): fix default metric input story (0eb7e111)
24
+
25
+ ### Improvements
26
+ NA
27
+
28
+ ### Documentation
29
+ * fix(docs): update distribution id for docs-dev (6e21010d)
30
+ * fix(docs): update distribution id for docs-dev (6c23c6ed)
31
+ * feat(docs): add component images (3f9e1fc4)
32
+ * feat(docs): add helptext component (4601c1e0)
33
+
34
+ -------------------
35
+ ## 2.13.0 (2022-06-21)
36
+
37
+ ### Highlights
38
+ NA
39
+
40
+ ### Breaking changes
41
+ NA
42
+
43
+ ### Migration guide
44
+ NA
45
+
46
+ ### Deprecations
47
+ NA
48
+
49
+ ### Features
50
+ NA
51
+
52
+ ### Fixes
53
+ * fix(timepicker): fix placeholder value getting disappear (1ac69560)
54
+ * fix(modal): fix modal closing animation (d0236cfe)
55
+ * fix(popover): fix popover animation flickering issue (3c01529b)
56
+ * fix(inputMask): fix cursor position on input mask (cbd7f31a)
57
+ * fix(grid): fix grid loading state (aa3672bb)
58
+ * fix(grid): fix loading state in grid (0a8719d5)
59
+ * fix(datepicker): reset to default on blur state (d5565fd2)
60
+ * fix(docs): remove checkbox from mobile nav (3d4aa0f1)
61
+ * fix(datePicker): fix event handlers for datepicker (f79e3c29)
62
+ * fix(docs): fix links on mobile overview page (17e621ba)
63
+ * fix(docs): add missing images (17483411)
64
+
65
+ ### Improvements
66
+ NA
67
+
68
+ ### Documentation
69
+ * docs(docs): add checkbox in mobile (929861d6)
70
+ * docs(docs): add help text in web components (c5e9fd8a)
71
+
72
+ -------------------
73
+
2
74
  ## 2.13.0-0 (2022-06-20)
3
75
 
4
76
  ### Highlights
@@ -30,7 +30,7 @@ const customCode = `() => {
30
30
 
31
31
  return (
32
32
  <div className="d-flex align-items-center">
33
- <Label htmlFor="metric-input" className="mr-5">
33
+ <Label htmlFor="metric-input" className="mr-5"> No. of Days </Label>
34
34
  <div style={{ width: 'var(--spacing-6)' }}>
35
35
  <MetricInput
36
36
  id="metric-input"
@@ -79,6 +79,7 @@ const InputMask = React.forwardRef<HTMLInputElement, InputMaskProps>((props, for
79
79
  onFocus,
80
80
  onClear,
81
81
  className,
82
+ id,
82
83
  ...rest
83
84
  } = props;
84
85
 
@@ -125,6 +126,10 @@ const InputMask = React.forwardRef<HTMLInputElement, InputMaskProps>((props, for
125
126
 
126
127
  React.useImperativeHandle(forwardRef, () => ref.current as HTMLInputElement);
127
128
 
129
+ React.useEffect(() => {
130
+ setValue(valueProp || '');
131
+ }, [valueProp]);
132
+
128
133
  React.useEffect(() => {
129
134
  setCursorPosition(newSelectionPos.current);
130
135
  }, [value]);
@@ -213,7 +218,7 @@ const InputMask = React.forwardRef<HTMLInputElement, InputMaskProps>((props, for
213
218
  enteredVal = inputVal.slice(start, end);
214
219
  updatedVal = insertAtIndex(enteredVal, start);
215
220
  let oldValue = value;
216
- if (oldValue.length === 0) {
221
+ if (oldValue.length === 0 && id === 'parent-TimePicker') {
217
222
  oldValue = defaultPlaceholderValue;
218
223
  }
219
224
  insertedStringLength = updatedVal.length;
@@ -38,8 +38,8 @@ export const boundaryElement = () => {
38
38
  const ref = React.useRef<HTMLDivElement>(null);
39
39
 
40
40
  return (
41
- <div ref={ref} style={{ height: 150, border: '1px dashed', padding: 20, overflow: 'auto' }}>
42
- <Popover {...options} boundaryElement={ref}>
41
+ <div ref={ref.current} style={{ height: 150, border: '1px dashed', padding: 20, overflow: 'auto' }}>
42
+ <Popover {...options} boundaryElement={ref.current}>
43
43
  <div style={{ width: 100 }} className="mx-6 my-6">
44
44
  <Text>Popup</Text>
45
45
  <Button className="mt-4" appearance="primary" onClick={action('button clicked inside popover')}>
@@ -133,7 +133,7 @@ describe('renders DatePicker component Event Handlers ', () => {
133
133
  const { getByTestId } = render(<DatePicker onDateChange={FunctionValue} withInput={true} />);
134
134
  const input = getByTestId('DesignSystem-Input');
135
135
  fireEvent.blur(input);
136
- expect(input).toHaveValue('');
136
+ expect(input).toHaveValue('__/__/____');
137
137
  });
138
138
  it('checks onFocus Event', () => {
139
139
  const { getByTestId } = render(<DatePicker onDateChange={FunctionValue} withInput={true} />);
@@ -76,6 +76,20 @@ export const SingleInputTrigger = (props: TriggerProps) => {
76
76
  });
77
77
  };
78
78
 
79
+ const getErrorState = (currentVal: string, siblingVal: string) => {
80
+ const hasNumber = /\d/;
81
+
82
+ if (currentVal && siblingVal && !currentVal.includes(placeholderChar) && siblingVal.includes(placeholderChar)) {
83
+ return true;
84
+ } else if (currentVal && hasNumber.test(currentVal) && currentVal.includes(placeholderChar)) {
85
+ return true;
86
+ } else if ((currentVal && !hasNumber.test(currentVal)) || !currentVal) {
87
+ return false;
88
+ }
89
+
90
+ return null;
91
+ };
92
+
79
93
  const onBlurHandler = (_e: React.ChangeEvent<HTMLInputElement>, val: string) => {
80
94
  setState({
81
95
  init: true,
@@ -85,6 +99,13 @@ export const SingleInputTrigger = (props: TriggerProps) => {
85
99
  const startVal = date[0];
86
100
  const endVal = date[1];
87
101
 
102
+ const startErr = getErrorState(startVal, endVal);
103
+ const endErr = getErrorState(endVal, startVal);
104
+
105
+ if (startErr !== null && endErr !== null) {
106
+ setState({ startError: startErr, endError: endErr });
107
+ }
108
+
88
109
  if (!startVal || startVal.includes(placeholderChar)) setState({ startDate: undefined });
89
110
  if (!endVal || endVal.includes(placeholderChar)) setState({ endDate: undefined });
90
111
  };
@@ -123,7 +144,7 @@ export const SingleInputTrigger = (props: TriggerProps) => {
123
144
  error={showError}
124
145
  caption={showError ? errorMessage : ''}
125
146
  validators={[inputValidator]}
126
- clearOnEmptyBlur={false}
147
+ clearOnEmptyBlur={true}
127
148
  />
128
149
  </Column>
129
150
  </Row>
@@ -66,12 +66,29 @@ export const Trigger = (props: TriggerProps) => {
66
66
  setState({
67
67
  init: true,
68
68
  });
69
+ const hasNumber = /\d/;
70
+
69
71
  if (type === 'start') {
70
72
  const { placeholderChar = '_' } = startInputOptions;
73
+
74
+ if (val && hasNumber.test(val) && val.includes(placeholderChar)) {
75
+ setState({ startError: true });
76
+ } else if ((val && !hasNumber.test(val)) || !val) {
77
+ setState({ startError: false });
78
+ }
79
+
71
80
  if (!val || val.includes(placeholderChar)) setState({ startDate: undefined });
72
81
  }
82
+
73
83
  if (type === 'end') {
74
84
  const { placeholderChar = '_' } = endInputOptions;
85
+
86
+ if (val && hasNumber.test(val) && val.includes(placeholderChar)) {
87
+ setState({ endError: true });
88
+ } else if ((val && !hasNumber.test(val)) || !val) {
89
+ setState({ endError: false });
90
+ }
91
+
75
92
  if (!val || val.includes(placeholderChar)) setState({ endDate: undefined });
76
93
  }
77
94
  };
@@ -145,7 +162,7 @@ export const Trigger = (props: TriggerProps) => {
145
162
  error={showStartError}
146
163
  caption={showStartError ? startErrorMessage : ''}
147
164
  validators={[inputValidator]}
148
- clearOnEmptyBlur={false}
165
+ clearOnEmptyBlur={true}
149
166
  />
150
167
  </Column>
151
168
  <Column size={'6'} sizeXS={'12'} className="DateRangePicker-input DateRangePicker-input--endDate">
@@ -177,7 +194,7 @@ export const Trigger = (props: TriggerProps) => {
177
194
  error={showEndError}
178
195
  caption={showEndError ? endErrorMessage : ''}
179
196
  validators={[inputValidator]}
180
- clearOnEmptyBlur={false}
197
+ clearOnEmptyBlur={true}
181
198
  />
182
199
  </Column>
183
200
  </Row>
@@ -108,6 +108,7 @@ export const TimePicker = (props: TimePickerProps) => {
108
108
  onChange={onChangeHandler}
109
109
  onClear={onClearHandler}
110
110
  onBlur={onBlurHandler}
111
+ id="parent-TimePicker"
111
112
  />
112
113
  );
113
114
  };
@@ -3,7 +3,7 @@ import { DatePickerProps, InputMaskProps } from '@/index.type';
3
3
 
4
4
  type DateFormat = DatePickerProps['inputFormat'];
5
5
  export const date: Record<DateFormat, Mask> = {
6
- 'dd/mm/yyyy': [/[0123]/, /\d/, '/', /\[01]/, /\d/, '/', /\d/, /\d/, /\d/, /\d/],
6
+ 'dd/mm/yyyy': [/[0123]/, /\d/, '/', /[01]/, /\d/, '/', /\d/, /\d/, /\d/, /\d/],
7
7
  'mm/dd/yyyy': [/[01]/, /\d/, '/', /[0123]/, /\d/, '/', /\d/, /\d/, /\d/, /\d/],
8
8
  'yyyy/mm/dd': [/\d/, /\d/, /\d/, /\d/, '/', /[01]/, /\d/, '/', /[0123]/, /\d/],
9
9
  'dd-mm-yyyy': [/[0123]/, /\d/, '-', /[01]/, /\d/, '-', /\d/, /\d/, /\d/, /\d/],
@@ -16,7 +16,7 @@ export const rangeDate: Record<DateFormat, Mask> = {
16
16
  /[0123]/,
17
17
  /\d/,
18
18
  '/',
19
- /\[01]/,
19
+ /[01]/,
20
20
  /\d/,
21
21
  '/',
22
22
  /\d/,
@@ -29,7 +29,7 @@ export const rangeDate: Record<DateFormat, Mask> = {
29
29
  /[0123]/,
30
30
  /\d/,
31
31
  '/',
32
- /\[01]/,
32
+ /[01]/,
33
33
  /\d/,
34
34
  '/',
35
35
  /\d/,
package/dist/index.esm.js CHANGED
@@ -1,8 +1,8 @@
1
1
 
2
2
  /**
3
- * Generated on: 1655715450312
3
+ * Generated on: 1656070414104
4
4
  * Package: @innovaccer/design-system
5
- * Version: v2.13.0-0
5
+ * Version: v2.13.1
6
6
  * License: MIT
7
7
  * Docs: https://innovaccer.github.io/design-system
8
8
  */
@@ -667,7 +667,7 @@ var validators = /*#__PURE__*/Object.freeze({
667
667
  var _time;
668
668
 
669
669
  var date = {
670
- 'dd/mm/yyyy': [/[0123]/, /\d/, '/', /\[01]/, /\d/, '/', /\d/, /\d/, /\d/, /\d/],
670
+ 'dd/mm/yyyy': [/[0123]/, /\d/, '/', /[01]/, /\d/, '/', /\d/, /\d/, /\d/, /\d/],
671
671
  'mm/dd/yyyy': [/[01]/, /\d/, '/', /[0123]/, /\d/, '/', /\d/, /\d/, /\d/, /\d/],
672
672
  'yyyy/mm/dd': [/\d/, /\d/, /\d/, /\d/, '/', /[01]/, /\d/, '/', /[0123]/, /\d/],
673
673
  'dd-mm-yyyy': [/[0123]/, /\d/, '-', /[01]/, /\d/, '-', /\d/, /\d/, /\d/, /\d/],
@@ -675,7 +675,7 @@ var date = {
675
675
  'yyyy-mm-dd': [/\d/, /\d/, /\d/, /\d/, '-', /[01]/, /\d/, '-', /[0123]/, /\d/]
676
676
  };
677
677
  var rangeDate = {
678
- 'dd/mm/yyyy': [/[0123]/, /\d/, '/', /\[01]/, /\d/, '/', /\d/, /\d/, /\d/, /\d/, ' ', '-', ' ', /[0123]/, /\d/, '/', /\[01]/, /\d/, '/', /\d/, /\d/, /\d/, /\d/],
678
+ 'dd/mm/yyyy': [/[0123]/, /\d/, '/', /[01]/, /\d/, '/', /\d/, /\d/, /\d/, /\d/, ' ', '-', ' ', /[0123]/, /\d/, '/', /[01]/, /\d/, '/', /\d/, /\d/, /\d/, /\d/],
679
679
  'mm/dd/yyyy': [/[01]/, /\d/, '/', /[0123]/, /\d/, '/', /\d/, /\d/, /\d/, /\d/, ' ', '-', ' ', /[01]/, /\d/, '/', /[0123]/, /\d/, '/', /\d/, /\d/, /\d/, /\d/],
680
680
  'yyyy/mm/dd': [/\d/, /\d/, /\d/, /\d/, '/', /[01]/, /\d/, '/', /[0123]/, /\d/, ' ', '-', ' ', /\d/, /\d/, /\d/, /\d/, '/', /[01]/, /\d/, '/', /[0123]/, /\d/],
681
681
  'dd-mm-yyyy': [/[0123]/, /\d/, '-', /[01]/, /\d/, '-', /\d/, /\d/, /\d/, /\d/, ' ', '-', ' ', /[0123]/, /\d/, '-', /[01]/, /\d/, '-', /\d/, /\d/, /\d/, /\d/],
@@ -5204,7 +5204,8 @@ var TimePicker = function TimePicker(props) {
5204
5204
  validators: inputValidator,
5205
5205
  onChange: onChangeHandler,
5206
5206
  onClear: onClearHandler,
5207
- onBlur: onBlurHandler
5207
+ onBlur: onBlurHandler,
5208
+ id: "parent-TimePicker"
5208
5209
  }));
5209
5210
  };
5210
5211
  TimePicker.defaultProps = {
@@ -5587,7 +5588,7 @@ var getDefaultValue = function getDefaultValue(mask, placeholderChar) {
5587
5588
  return val;
5588
5589
  };
5589
5590
 
5590
- var _excluded$m = ["mask", "value", "placeholderChar", "validators", "clearOnEmptyBlur", "defaultValue", "mask", "error", "caption", "required", "onChange", "onBlur", "onFocus", "onClear", "className"];
5591
+ var _excluded$m = ["mask", "value", "placeholderChar", "validators", "clearOnEmptyBlur", "defaultValue", "mask", "error", "caption", "required", "onChange", "onBlur", "onFocus", "onClear", "className", "id"];
5591
5592
 
5592
5593
  /**
5593
5594
  * It works as Uncontrolled Input
@@ -5613,6 +5614,7 @@ var InputMask = /*#__PURE__*/React.forwardRef(function (props, forwardRef) {
5613
5614
  onFocus = props.onFocus,
5614
5615
  onClear = props.onClear,
5615
5616
  className = props.className,
5617
+ id = props.id,
5616
5618
  rest = _objectWithoutProperties(props, _excluded$m);
5617
5619
 
5618
5620
  var isEditable = React.useCallback(function (pos) {
@@ -5668,6 +5670,9 @@ var InputMask = /*#__PURE__*/React.forwardRef(function (props, forwardRef) {
5668
5670
  React.useImperativeHandle(forwardRef, function () {
5669
5671
  return ref.current;
5670
5672
  });
5673
+ React.useEffect(function () {
5674
+ setValue(valueProp || '');
5675
+ }, [valueProp]);
5671
5676
  React.useEffect(function () {
5672
5677
  setCursorPosition(newSelectionPos.current);
5673
5678
  }, [value]);
@@ -5749,7 +5754,7 @@ var InputMask = /*#__PURE__*/React.forwardRef(function (props, forwardRef) {
5749
5754
  updatedVal = insertAtIndex(enteredVal, start);
5750
5755
  var oldValue = value;
5751
5756
 
5752
- if (oldValue.length === 0) {
5757
+ if (oldValue.length === 0 && id === 'parent-TimePicker') {
5753
5758
  oldValue = defaultPlaceholderValue;
5754
5759
  }
5755
5760
 
@@ -15183,10 +15188,22 @@ var Trigger = function Trigger(props) {
15183
15188
  setState({
15184
15189
  init: true
15185
15190
  });
15191
+ var hasNumber = /\d/;
15186
15192
 
15187
15193
  if (type === 'start') {
15188
15194
  var _startInputOptions$pl = startInputOptions.placeholderChar,
15189
15195
  placeholderChar = _startInputOptions$pl === void 0 ? '_' : _startInputOptions$pl;
15196
+
15197
+ if (val && hasNumber.test(val) && val.includes(placeholderChar)) {
15198
+ setState({
15199
+ startError: true
15200
+ });
15201
+ } else if (val && !hasNumber.test(val) || !val) {
15202
+ setState({
15203
+ startError: false
15204
+ });
15205
+ }
15206
+
15190
15207
  if (!val || val.includes(placeholderChar)) setState({
15191
15208
  startDate: undefined
15192
15209
  });
@@ -15196,6 +15213,16 @@ var Trigger = function Trigger(props) {
15196
15213
  var _endInputOptions$plac = endInputOptions.placeholderChar,
15197
15214
  _placeholderChar2 = _endInputOptions$plac === void 0 ? '_' : _endInputOptions$plac;
15198
15215
 
15216
+ if (val && hasNumber.test(val) && val.includes(_placeholderChar2)) {
15217
+ setState({
15218
+ endError: true
15219
+ });
15220
+ } else if (val && !hasNumber.test(val) || !val) {
15221
+ setState({
15222
+ endError: false
15223
+ });
15224
+ }
15225
+
15199
15226
  if (!val || val.includes(_placeholderChar2)) setState({
15200
15227
  endDate: undefined
15201
15228
  });
@@ -15274,7 +15301,7 @@ var Trigger = function Trigger(props) {
15274
15301
  error: showStartError,
15275
15302
  caption: showStartError ? startErrorMessage : '',
15276
15303
  validators: [inputValidator],
15277
- clearOnEmptyBlur: false
15304
+ clearOnEmptyBlur: true
15278
15305
  }))), /*#__PURE__*/React.createElement(Column, {
15279
15306
  size: '6',
15280
15307
  sizeXS: '12',
@@ -15303,7 +15330,7 @@ var Trigger = function Trigger(props) {
15303
15330
  error: showEndError,
15304
15331
  caption: showEndError ? endErrorMessage : '',
15305
15332
  validators: [inputValidator],
15306
- clearOnEmptyBlur: false
15333
+ clearOnEmptyBlur: true
15307
15334
  }))));
15308
15335
  };
15309
15336
 
@@ -15387,6 +15414,20 @@ var SingleInputTrigger = function SingleInputTrigger(props) {
15387
15414
  });
15388
15415
  };
15389
15416
 
15417
+ var getErrorState = function getErrorState(currentVal, siblingVal) {
15418
+ var hasNumber = /\d/;
15419
+
15420
+ if (currentVal && siblingVal && !currentVal.includes(placeholderChar) && siblingVal.includes(placeholderChar)) {
15421
+ return true;
15422
+ } else if (currentVal && hasNumber.test(currentVal) && currentVal.includes(placeholderChar)) {
15423
+ return true;
15424
+ } else if (currentVal && !hasNumber.test(currentVal) || !currentVal) {
15425
+ return false;
15426
+ }
15427
+
15428
+ return null;
15429
+ };
15430
+
15390
15431
  var onBlurHandler = function onBlurHandler(_e, val) {
15391
15432
  setState({
15392
15433
  init: true
@@ -15394,6 +15435,16 @@ var SingleInputTrigger = function SingleInputTrigger(props) {
15394
15435
  var date = val.split(' - ');
15395
15436
  var startVal = date[0];
15396
15437
  var endVal = date[1];
15438
+ var startErr = getErrorState(startVal, endVal);
15439
+ var endErr = getErrorState(endVal, startVal);
15440
+
15441
+ if (startErr !== null && endErr !== null) {
15442
+ setState({
15443
+ startError: startErr,
15444
+ endError: endErr
15445
+ });
15446
+ }
15447
+
15397
15448
  if (!startVal || startVal.includes(placeholderChar)) setState({
15398
15449
  startDate: undefined
15399
15450
  });
@@ -15433,7 +15484,7 @@ var SingleInputTrigger = function SingleInputTrigger(props) {
15433
15484
  error: showError,
15434
15485
  caption: showError ? errorMessage : '',
15435
15486
  validators: [inputValidator],
15436
- clearOnEmptyBlur: false
15487
+ clearOnEmptyBlur: true
15437
15488
  }))));
15438
15489
  };
15439
15490
 
@@ -20303,6 +20354,6 @@ Divider.defaultProps = {
20303
20354
  vertical: false
20304
20355
  };
20305
20356
 
20306
- var version = "2.13.0-0";
20357
+ var version = "2.13.1";
20307
20358
 
20308
20359
  export { Avatar, AvatarGroup, Backdrop, Badge, Breadcrumbs, Button, Calendar, Caption, Card, CardBody, CardFooter, CardHeader, CardSubdued, ChatMessage, Checkbox, Chip, ChipGroup, ChipInput, ChoiceList, Collapsible, Column, DatePicker, DateRangePicker, Dialog, Divider, Dropdown, Dropzone, EditableChipInput, EditableDropdown, EditableInput, EmptyState, FileList, FileUploader, FileUploaderList, FullscreenModal, Grid, GridCell, Heading, HorizontalNav, Icon, InlineMessage, Input, X as InputMask, Label, Legend, Link, List, Message, MetaList, MetricInput, Modal, ModalBody, ModalDescription, ModalFooter, ModalHeader, MultiSlider, Navigation, OutsideClick, PageHeader, Pagination, Paragraph, Pills, Placeholder, PlaceholderParagraph, Popover, ProgressBar, ProgressRing, Radio, RangeSlider, Row, Sidesheet, Slider, Spinner, StatusHint, Stepper, Subheading, Switch, Tab, Table, Tabs, TabsWrapper, Text, Textarea, TimePicker, Toast, Tooltip, index as Utils, VerificationCodeInput, VerticalNav, version };
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
 
2
2
  /**
3
- * Generated on: 1655715450571
3
+ * Generated on: 1656070414367
4
4
  * Package: @innovaccer/design-system
5
- * Version: v2.13.0-0
5
+ * Version: v2.13.1
6
6
  * License: MIT
7
7
  * Docs: https://innovaccer.github.io/design-system
8
8
  */
@@ -278,7 +278,7 @@
278
278
  var _a$1;
279
279
 
280
280
  var date = {
281
- 'dd/mm/yyyy': [/[0123]/, /\d/, '/', /\[01]/, /\d/, '/', /\d/, /\d/, /\d/, /\d/],
281
+ 'dd/mm/yyyy': [/[0123]/, /\d/, '/', /[01]/, /\d/, '/', /\d/, /\d/, /\d/, /\d/],
282
282
  'mm/dd/yyyy': [/[01]/, /\d/, '/', /[0123]/, /\d/, '/', /\d/, /\d/, /\d/, /\d/],
283
283
  'yyyy/mm/dd': [/\d/, /\d/, /\d/, /\d/, '/', /[01]/, /\d/, '/', /[0123]/, /\d/],
284
284
  'dd-mm-yyyy': [/[0123]/, /\d/, '-', /[01]/, /\d/, '-', /\d/, /\d/, /\d/, /\d/],
@@ -286,7 +286,7 @@
286
286
  'yyyy-mm-dd': [/\d/, /\d/, /\d/, /\d/, '-', /[01]/, /\d/, '-', /[0123]/, /\d/]
287
287
  };
288
288
  var rangeDate = {
289
- 'dd/mm/yyyy': [/[0123]/, /\d/, '/', /\[01]/, /\d/, '/', /\d/, /\d/, /\d/, /\d/, ' ', '-', ' ', /[0123]/, /\d/, '/', /\[01]/, /\d/, '/', /\d/, /\d/, /\d/, /\d/],
289
+ 'dd/mm/yyyy': [/[0123]/, /\d/, '/', /[01]/, /\d/, '/', /\d/, /\d/, /\d/, /\d/, ' ', '-', ' ', /[0123]/, /\d/, '/', /[01]/, /\d/, '/', /\d/, /\d/, /\d/, /\d/],
290
290
  'mm/dd/yyyy': [/[01]/, /\d/, '/', /[0123]/, /\d/, '/', /\d/, /\d/, /\d/, /\d/, ' ', '-', ' ', /[01]/, /\d/, '/', /[0123]/, /\d/, '/', /\d/, /\d/, /\d/, /\d/],
291
291
  'yyyy/mm/dd': [/\d/, /\d/, /\d/, /\d/, '/', /[01]/, /\d/, '/', /[0123]/, /\d/, ' ', '-', ' ', /\d/, /\d/, /\d/, /\d/, '/', /[01]/, /\d/, '/', /[0123]/, /\d/],
292
292
  'dd-mm-yyyy': [/[0123]/, /\d/, '-', /[01]/, /\d/, '-', /\d/, /\d/, /\d/, /\d/, ' ', '-', ' ', /[0123]/, /\d/, '-', /[01]/, /\d/, '-', /\d/, /\d/, /\d/, /\d/],
@@ -4733,7 +4733,8 @@
4733
4733
  validators: inputValidator,
4734
4734
  onChange: onChangeHandler,
4735
4735
  onClear: onClearHandler,
4736
- onBlur: onBlurHandler
4736
+ onBlur: onBlurHandler,
4737
+ id: "parent-TimePicker"
4737
4738
  }));
4738
4739
  };
4739
4740
  TimePicker.defaultProps = {
@@ -5123,7 +5124,8 @@
5123
5124
  onFocus = props.onFocus,
5124
5125
  onClear = props.onClear,
5125
5126
  className = props.className,
5126
- rest = __rest(props, ["mask", "value", "placeholderChar", "validators", "clearOnEmptyBlur", "defaultValue", "mask", "error", "caption", "required", "onChange", "onBlur", "onFocus", "onClear", "className"]);
5127
+ id = props.id,
5128
+ rest = __rest(props, ["mask", "value", "placeholderChar", "validators", "clearOnEmptyBlur", "defaultValue", "mask", "error", "caption", "required", "onChange", "onBlur", "onFocus", "onClear", "className", "id"]);
5127
5129
 
5128
5130
  var isEditable = React__namespace.useCallback(function (pos) {
5129
5131
  return _typeof(mask[pos]) === 'object';
@@ -5183,6 +5185,9 @@
5183
5185
  React__namespace.useImperativeHandle(forwardRef, function () {
5184
5186
  return ref.current;
5185
5187
  });
5188
+ React__namespace.useEffect(function () {
5189
+ setValue(valueProp || '');
5190
+ }, [valueProp]);
5186
5191
  React__namespace.useEffect(function () {
5187
5192
  setCursorPosition(newSelectionPos.current);
5188
5193
  }, [value]);
@@ -5267,7 +5272,7 @@
5267
5272
  updatedVal = insertAtIndex(enteredVal, start);
5268
5273
  var oldValue = value;
5269
5274
 
5270
- if (oldValue.length === 0) {
5275
+ if (oldValue.length === 0 && id === 'parent-TimePicker') {
5271
5276
  oldValue = defaultPlaceholderValue;
5272
5277
  }
5273
5278
 
@@ -9865,10 +9870,22 @@
9865
9870
  setState({
9866
9871
  init: true
9867
9872
  });
9873
+ var hasNumber = /\d/;
9868
9874
 
9869
9875
  if (type === 'start') {
9870
9876
  var _a = startInputOptions.placeholderChar,
9871
9877
  placeholderChar = _a === void 0 ? '_' : _a;
9878
+
9879
+ if (val && hasNumber.test(val) && val.includes(placeholderChar)) {
9880
+ setState({
9881
+ startError: true
9882
+ });
9883
+ } else if (val && !hasNumber.test(val) || !val) {
9884
+ setState({
9885
+ startError: false
9886
+ });
9887
+ }
9888
+
9872
9889
  if (!val || val.includes(placeholderChar)) setState({
9873
9890
  startDate: undefined
9874
9891
  });
@@ -9877,6 +9894,17 @@
9877
9894
  if (type === 'end') {
9878
9895
  var _b = endInputOptions.placeholderChar,
9879
9896
  placeholderChar = _b === void 0 ? '_' : _b;
9897
+
9898
+ if (val && hasNumber.test(val) && val.includes(placeholderChar)) {
9899
+ setState({
9900
+ endError: true
9901
+ });
9902
+ } else if (val && !hasNumber.test(val) || !val) {
9903
+ setState({
9904
+ endError: false
9905
+ });
9906
+ }
9907
+
9880
9908
  if (!val || val.includes(placeholderChar)) setState({
9881
9909
  endDate: undefined
9882
9910
  });
@@ -9955,7 +9983,7 @@
9955
9983
  error: showStartError,
9956
9984
  caption: showStartError ? startErrorMessage : '',
9957
9985
  validators: [inputValidator],
9958
- clearOnEmptyBlur: false
9986
+ clearOnEmptyBlur: true
9959
9987
  }))), /*#__PURE__*/React__namespace.createElement(Column, {
9960
9988
  size: '6',
9961
9989
  sizeXS: '12',
@@ -9984,7 +10012,7 @@
9984
10012
  error: showEndError,
9985
10013
  caption: showEndError ? endErrorMessage : '',
9986
10014
  validators: [inputValidator],
9987
- clearOnEmptyBlur: false
10015
+ clearOnEmptyBlur: true
9988
10016
  }))));
9989
10017
  };
9990
10018
 
@@ -10067,6 +10095,20 @@
10067
10095
  });
10068
10096
  };
10069
10097
 
10098
+ var getErrorState = function getErrorState(currentVal, siblingVal) {
10099
+ var hasNumber = /\d/;
10100
+
10101
+ if (currentVal && siblingVal && !currentVal.includes(placeholderChar) && siblingVal.includes(placeholderChar)) {
10102
+ return true;
10103
+ } else if (currentVal && hasNumber.test(currentVal) && currentVal.includes(placeholderChar)) {
10104
+ return true;
10105
+ } else if (currentVal && !hasNumber.test(currentVal) || !currentVal) {
10106
+ return false;
10107
+ }
10108
+
10109
+ return null;
10110
+ };
10111
+
10070
10112
  var onBlurHandler = function onBlurHandler(_e, val) {
10071
10113
  setState({
10072
10114
  init: true
@@ -10074,6 +10116,16 @@
10074
10116
  var date = val.split(' - ');
10075
10117
  var startVal = date[0];
10076
10118
  var endVal = date[1];
10119
+ var startErr = getErrorState(startVal, endVal);
10120
+ var endErr = getErrorState(endVal, startVal);
10121
+
10122
+ if (startErr !== null && endErr !== null) {
10123
+ setState({
10124
+ startError: startErr,
10125
+ endError: endErr
10126
+ });
10127
+ }
10128
+
10077
10129
  if (!startVal || startVal.includes(placeholderChar)) setState({
10078
10130
  startDate: undefined
10079
10131
  });
@@ -10113,7 +10165,7 @@
10113
10165
  error: showError,
10114
10166
  caption: showError ? errorMessage : '',
10115
10167
  validators: [inputValidator],
10116
- clearOnEmptyBlur: false
10168
+ clearOnEmptyBlur: true
10117
10169
  }))));
10118
10170
  };
10119
10171
 
@@ -14738,7 +14790,7 @@
14738
14790
  vertical: false
14739
14791
  };
14740
14792
 
14741
- var version = "2.13.0-0";
14793
+ var version = "2.13.1";
14742
14794
 
14743
14795
  exports.Avatar = Avatar;
14744
14796
  exports.AvatarGroup = AvatarGroup;