@toptal/picasso 41.4.2 → 42.0.0

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.
@@ -1,11 +1,13 @@
1
1
  import type { BaseProps } from '@toptal/picasso-shared';
2
2
  import type { InputProps } from '../Input';
3
3
  import type { Status } from '../OutlinedInput';
4
- export interface Props extends BaseProps, Omit<InputProps, 'id' | 'value' | 'onSelect' | 'type' | 'multiline' | 'rows' | 'defaultValue' | 'step' | 'icon' | 'iconPosition' | 'counter' | 'endAdornment' | 'startAdornment' | 'multilineResizable' | 'rowsMax' | 'limit' | 'placeholder' | 'status'> {
4
+ export interface Props extends BaseProps, Omit<InputProps, 'id' | 'value' | 'onSelect' | 'onChange' | 'type' | 'multiline' | 'rows' | 'defaultValue' | 'step' | 'icon' | 'iconPosition' | 'counter' | 'endAdornment' | 'startAdornment' | 'multilineResizable' | 'rowsMax' | 'limit' | 'placeholder' | 'status'> {
5
5
  /** Time value that will be selected in TimePicker */
6
6
  value?: string;
7
7
  /** Indicate whether `TimePicker` is in `error` or `default` state */
8
8
  status?: Extract<Status, 'error' | 'default'>;
9
+ /** Called on input change */
10
+ onChange?: (value: string) => void;
9
11
  }
10
12
  export declare const TimePicker: {
11
13
  (props: Props): JSX.Element;
@@ -9,7 +9,7 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
- import React from 'react';
12
+ import React, { useEffect, useState } from 'react';
13
13
  import { makeStyles } from '@material-ui/core/styles';
14
14
  import InputMask from 'react-input-mask';
15
15
  import { detect } from 'detect-browser';
@@ -21,8 +21,26 @@ import { usePropDeprecationWarning } from '../utils/use-deprecation-warnings';
21
21
  const useStyles = makeStyles(styles, {
22
22
  name: 'PicassoTimePicker',
23
23
  });
24
+ const VALID_TIME_REGEX = new RegExp(/^([0-1][0-9]|2[0-3]):[0-5][0-9]$/);
24
25
  export const TimePicker = (props) => {
25
- const { onChange, value, width, className, error, status, highlight } = props, rest = __rest(props, ["onChange", "value", "width", "className", "error", "status", "highlight"]);
26
+ const { onChange: externalOnChange, value: externalValue, width, className, error, status, highlight } = props, rest = __rest(props, ["onChange", "value", "width", "className", "error", "status", "highlight"]);
27
+ const [value, setValue] = useState(externalValue);
28
+ useEffect(() => {
29
+ // Set internal value based on the provided one if the later is correct
30
+ if (externalValue && VALID_TIME_REGEX.test(externalValue)) {
31
+ setValue(externalValue);
32
+ }
33
+ }, [externalValue]);
34
+ const onChange = (event) => {
35
+ const newValue = event.target.value;
36
+ setValue(newValue);
37
+ if (newValue && VALID_TIME_REGEX.test(newValue)) {
38
+ externalOnChange === null || externalOnChange === void 0 ? void 0 : externalOnChange(newValue);
39
+ }
40
+ else {
41
+ externalOnChange === null || externalOnChange === void 0 ? void 0 : externalOnChange('');
42
+ }
43
+ };
26
44
  usePropDeprecationWarning({
27
45
  props,
28
46
  name: 'error',
@@ -1 +1 @@
1
- {"version":3,"file":"TimePicker.js","sourceRoot":"","sources":["../../src/TimePicker/TimePicker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TimePicker.js","sourceRoot":"","sources":["../../src/TimePicker/TimePicker.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toptal/picasso",
3
- "version": "41.4.2",
3
+ "version": "42.0.0",
4
4
  "description": "Toptal UI components library",
5
5
  "publishConfig": {
6
6
  "access": "public",