@jobber/components 4.5.2-pre.0 → 4.5.2

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.
@@ -11,10 +11,10 @@ var useEventListener = require('@use-it/event-listener');
11
11
  var Text = require('../Text-e7ed0974.js');
12
12
  var Icon = require('../Icon-405a216c.js');
13
13
  var Heading = require('../Heading-a1191b15.js');
14
- var InputText = require('../InputText-af0a7aec.js');
14
+ var InputText = require('../InputText-59318225.js');
15
15
  require('../Typography-fd6f932a.js');
16
16
  require('@jobber/design');
17
- require('../FormField-2e112287.js');
17
+ require('../FormField-e80faa93.js');
18
18
  require('uuid');
19
19
  require('react-hook-form');
20
20
  require('../Button-69409e46.js');
@@ -8,10 +8,10 @@ var React = require('react');
8
8
  var jobberHooks = require('@jobber/hooks');
9
9
  var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
10
10
  var tslib_es6 = require('../tslib.es6-5b8768b7.js');
11
- var Option = require('../Option-96aa34a4.js');
11
+ var Option = require('../Option-29bdb453.js');
12
12
  var Button = require('../Button-69409e46.js');
13
13
  var Text = require('../Text-e7ed0974.js');
14
- require('../FormField-2e112287.js');
14
+ require('../FormField-e80faa93.js');
15
15
  require('uuid');
16
16
  require('react-hook-form');
17
17
  require('../Icon-405a216c.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var FormField = require('../FormField-2e112287.js');
5
+ var FormField = require('../FormField-e80faa93.js');
6
6
  require('../tslib.es6-5b8768b7.js');
7
7
  require('react');
8
8
  require('uuid');
@@ -118,7 +118,8 @@ function FormField(props) {
118
118
  const { actionsRef, autocomplete = true, children, defaultValue, description, disabled, inputRef, inline, keyboard, max, maxLength, min, name, readonly, rows, loading, type = "text", validations, value, onChange, onEnter, onFocus, onBlur, onValidation, } = props;
119
119
  const { control, errors, setValue, watch } = reactHookForm.useFormContext() != undefined
120
120
  ? reactHookForm.useFormContext()
121
- : reactHookForm.useForm({ mode: "onTouched" });
121
+ : // If there isn't a Form Context being provided, get a form for this field.
122
+ reactHookForm.useForm({ mode: "onTouched" });
122
123
  const [identifier] = React.useState(uuid.v1());
123
124
  const [descriptionIdentifier] = React.useState(`descriptionUUID--${uuid.v1()}`);
124
125
  /**
@@ -129,12 +130,12 @@ function FormField(props) {
129
130
  const [controlledName] = React.useState(name ? name : `generatedName--${identifier}`);
130
131
  React.useEffect(() => {
131
132
  if (value != undefined) {
132
- setValue(controlledName, value);
133
+ setValue(controlledName, value, { shouldValidate: true });
133
134
  }
134
135
  }, [value, watch(controlledName)]);
135
136
  React.useImperativeHandle(actionsRef, () => ({
136
137
  setValue: newValue => {
137
- setValue(controlledName, newValue);
138
+ setValue(controlledName, newValue, { shouldValidate: true });
138
139
  },
139
140
  }));
140
141
  const error = errors[controlledName] && errors[controlledName].message;
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var lodash = require('lodash');
6
6
  var React = require('react');
7
- var FormField = require('../FormField-2e112287.js');
7
+ var FormField = require('../FormField-e80faa93.js');
8
8
  var DatePicker = require('../DatePicker-b704c15b.js');
9
9
  require('../tslib.es6-5b8768b7.js');
10
10
  require('uuid');
@@ -28,20 +28,25 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
28
28
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
29
29
 
30
30
  function InputDate(inputProps) {
31
+ const formFieldActionsRef = React.useRef(null);
31
32
  return (React__default["default"].createElement(DatePicker.DatePicker, { selected: inputProps.value, onChange: inputProps.onChange, disabled: inputProps.disabled, readonly: inputProps.readonly, fullWidth: !inputProps.inline, minDate: inputProps.minDate, maxDate: inputProps.maxDate, smartAutofocus: false, activator: activatorProps => {
33
+ var _a;
32
34
  const { onChange, onClick, value } = activatorProps;
33
35
  const newActivatorProps = lodash.omit(activatorProps, ["activator"]);
34
36
  const suffix = Object.assign({ icon: "calendar" }, (onClick && {
35
37
  onClick: onClick,
36
38
  ariaLabel: "Show calendar",
37
39
  }));
40
+ // Set form field to formatted date string immediately, to avoid validations
41
+ // triggering incorrectly when it blurs (to handle the datepicker UI click)
42
+ value && ((_a = formFieldActionsRef.current) === null || _a === void 0 ? void 0 : _a.setValue(value));
38
43
  return (React__default["default"].createElement(FormField.FormField, Object.assign({}, newActivatorProps, inputProps, { value: value, onChange: (_, event) => onChange && onChange(event), onBlur: () => {
39
44
  inputProps.onBlur && inputProps.onBlur();
40
45
  activatorProps.onBlur && activatorProps.onBlur();
41
46
  }, onFocus: () => {
42
47
  inputProps.onFocus && inputProps.onFocus();
43
48
  activatorProps.onFocus && activatorProps.onFocus();
44
- }, suffix: suffix })));
49
+ }, actionsRef: formFieldActionsRef, suffix: suffix })));
45
50
  } }));
46
51
  }
47
52
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var FormField = require('../FormField-2e112287.js');
6
+ var FormField = require('../FormField-e80faa93.js');
7
7
  require('../tslib.es6-5b8768b7.js');
8
8
  require('uuid');
9
9
  require('react-hook-form');
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var FormField = require('../FormField-2e112287.js');
6
+ var FormField = require('../FormField-e80faa93.js');
7
7
  require('../tslib.es6-5b8768b7.js');
8
8
  require('uuid');
9
9
  require('react-hook-form');
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var FormField = require('../FormField-2e112287.js');
6
+ var FormField = require('../FormField-e80faa93.js');
7
7
  require('../tslib.es6-5b8768b7.js');
8
8
  require('uuid');
9
9
  require('react-hook-form');
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var InputText = require('../InputText-af0a7aec.js');
5
+ var InputText = require('../InputText-59318225.js');
6
6
  require('react');
7
- require('../FormField-2e112287.js');
7
+ require('../FormField-e80faa93.js');
8
8
  require('../tslib.es6-5b8768b7.js');
9
9
  require('uuid');
10
10
  require('react-hook-form');
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var FormField = require('./FormField-2e112287.js');
4
+ var FormField = require('./FormField-e80faa93.js');
5
5
 
6
6
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
7
 
@@ -6,7 +6,7 @@ var tslib_es6 = require('../tslib.es6-5b8768b7.js');
6
6
  var React = require('react');
7
7
  var debounce = require('lodash/debounce');
8
8
  var temporal = require('@std-proposal/temporal');
9
- var FormField = require('../FormField-2e112287.js');
9
+ var FormField = require('../FormField-e80faa93.js');
10
10
  require('uuid');
11
11
  require('react-hook-form');
12
12
  require('../style-inject.es-9d2f5f4e.js');
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var FormField = require('./FormField-2e112287.js');
4
+ var FormField = require('./FormField-e80faa93.js');
5
5
 
6
6
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
7
 
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Option = require('../Option-96aa34a4.js');
5
+ var Option = require('../Option-29bdb453.js');
6
6
  require('react');
7
- require('../FormField-2e112287.js');
7
+ require('../FormField-e80faa93.js');
8
8
  require('../tslib.es6-5b8768b7.js');
9
9
  require('uuid');
10
10
  require('react-hook-form');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobber/components",
3
- "version": "4.5.2-pre.0+4c8a0c8",
3
+ "version": "4.5.2",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -17,9 +17,9 @@
17
17
  "dist/*"
18
18
  ],
19
19
  "dependencies": {
20
- "@jobber/design": "^0.31.3-pre.0+4c8a0c8",
21
- "@jobber/formatters": "^0.2.3-pre.0+4c8a0c8",
22
- "@jobber/hooks": "^2.0.3-pre.0+4c8a0c8",
20
+ "@jobber/design": "^0.31.2",
21
+ "@jobber/formatters": "*",
22
+ "@jobber/hooks": "*",
23
23
  "@popperjs/core": "^2.0.6",
24
24
  "@std-proposal/temporal": "0.0.1",
25
25
  "@tanstack/react-table": "8.5.13",
@@ -82,5 +82,5 @@
82
82
  "> 1%",
83
83
  "IE 10"
84
84
  ],
85
- "gitHead": "4c8a0c822579d668d2fcac5bcf64c1419951c040"
85
+ "gitHead": "e5237697249d929c6779ec85bea684cae383b515"
86
86
  }