@jobber/components 6.103.0 → 6.103.2-JOB-140609-f6002b5.12

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 (60) hide show
  1. package/dist/Autocomplete/index.cjs +0 -12
  2. package/dist/Autocomplete/index.mjs +0 -12
  3. package/dist/Chips/InternalChipDismissible/hooks/index.cjs +2 -2
  4. package/dist/Chips/InternalChipDismissible/hooks/index.mjs +2 -2
  5. package/dist/Chips/InternalChipDismissible/index.cjs +2 -2
  6. package/dist/Chips/InternalChipDismissible/index.mjs +2 -2
  7. package/dist/Chips/index.cjs +2 -2
  8. package/dist/Chips/index.mjs +2 -2
  9. package/dist/DataList/components/DataListSearch/index.cjs +1 -12
  10. package/dist/DataList/components/DataListSearch/index.mjs +1 -12
  11. package/dist/DataList/index.cjs +0 -8
  12. package/dist/DataList/index.mjs +0 -8
  13. package/dist/DataTable/index.cjs +2 -2
  14. package/dist/DataTable/index.mjs +2 -2
  15. package/dist/DatePicker/index.cjs +2 -2
  16. package/dist/DatePicker/index.mjs +2 -2
  17. package/dist/FormField/FormFieldTypes.d.ts +195 -0
  18. package/dist/FormField-cjs.js +0 -1
  19. package/dist/FormField-es.js +1 -1
  20. package/dist/InputDate/index.cjs +8 -4
  21. package/dist/InputDate/index.mjs +8 -4
  22. package/dist/InputDate/useInputDateActivatorActions.d.ts +2 -2
  23. package/dist/InputEmail/InputEmail.types.d.ts +28 -21
  24. package/dist/InputEmail/hooks/useInputEmailActions.d.ts +1 -1
  25. package/dist/InputEmail/index.cjs +10 -45
  26. package/dist/InputEmail/index.mjs +10 -45
  27. package/dist/InputPhoneNumber/InputPhoneNumber.types.d.ts +25 -24
  28. package/dist/InputPhoneNumber/hooks/useInputPhoneActions.d.ts +1 -1
  29. package/dist/InputPhoneNumber/index.cjs +24 -36
  30. package/dist/InputPhoneNumber/index.mjs +24 -36
  31. package/dist/InputText/InputText.d.ts +2 -2
  32. package/dist/InputText/InputText.types.d.ts +39 -24
  33. package/dist/InputText/index.cjs +26 -55
  34. package/dist/InputText/index.mjs +27 -56
  35. package/dist/InputText/useInputTextActions.d.ts +1 -1
  36. package/dist/InputTime/index.cjs +1 -1
  37. package/dist/InputTime/index.mjs +1 -1
  38. package/dist/List/index.cjs +2 -2
  39. package/dist/List/index.mjs +2 -2
  40. package/dist/RecurringSelect/index.cjs +2 -2
  41. package/dist/RecurringSelect/index.mjs +2 -2
  42. package/dist/Select/index.cjs +2 -2
  43. package/dist/Select/index.mjs +2 -2
  44. package/dist/_baseEach-cjs.js +12 -12
  45. package/dist/_baseEach-es.js +1 -1
  46. package/dist/_baseFlatten-cjs.js +2 -2
  47. package/dist/_baseFlatten-es.js +1 -1
  48. package/dist/{_baseGet-cjs.js → _getAllKeys-cjs.js} +181 -181
  49. package/dist/{_baseGet-es.js → _getAllKeys-es.js} +182 -182
  50. package/dist/index.cjs +2 -2
  51. package/dist/index.mjs +2 -2
  52. package/dist/omit-cjs.js +14 -14
  53. package/dist/omit-es.js +1 -1
  54. package/dist/styles.css +11 -3
  55. package/dist/useScrollToActive-cjs.js +3 -3
  56. package/dist/useScrollToActive-es.js +1 -1
  57. package/package.json +2 -2
  58. package/dist/InputEmail/hooks/useInputEmailFormField.d.ts +0 -32
  59. package/dist/InputPhoneNumber/hooks/useInputPhoneFormField.d.ts +0 -71
  60. package/dist/InputText/useInputTextFormField.d.ts +0 -352
@@ -4,12 +4,11 @@ var React = require('react');
4
4
  var jobberHooks = require('@jobber/hooks');
5
5
  var FormField = require('../FormField-cjs.js');
6
6
  require('classnames');
7
- var tslib_es6 = require('../tslib.es6-cjs.js');
7
+ require('../tslib.es6-cjs.js');
8
8
  require('react-hook-form');
9
9
  require('framer-motion');
10
10
  require('@jobber/design');
11
11
  require('../Button-cjs.js');
12
- var omit = require('../omit-cjs.js');
13
12
  require('../Icon-cjs.js');
14
13
  require('../Text-cjs.js');
15
14
  require('../Typography-cjs.js');
@@ -17,17 +16,6 @@ require('../useFormFieldFocus-cjs.js');
17
16
  require('../InputValidation-cjs.js');
18
17
  require('../Spinner-cjs.js');
19
18
  require('react-router-dom');
20
- require('../_commonjsHelpers-cjs.js');
21
- require('../_baseGet-cjs.js');
22
- require('../isTypedArray-cjs.js');
23
- require('../isObjectLike-cjs.js');
24
- require('../identity-cjs.js');
25
- require('../_getTag-cjs.js');
26
- require('../isSymbol-cjs.js');
27
- require('../keysIn-cjs.js');
28
- require('../_baseAssignValue-cjs.js');
29
- require('../_baseFlatten-cjs.js');
30
- require('../_setToString-cjs.js');
31
19
 
32
20
  /**
33
21
  * Hook for resizing a textarea based on its content. The textarea will grow up to the max number of rows specified.
@@ -162,7 +150,7 @@ function insertAtCursor(input, newText) {
162
150
  function useInputTextActions({ onChange, inputRef, onEnter, onFocus, onBlur, onKeyDown, }) {
163
151
  function handleClear() {
164
152
  var _a;
165
- handleBlur();
153
+ // Don't call blur handler when programmatically clearing
166
154
  onChange && onChange("");
167
155
  (_a = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
168
156
  }
@@ -196,23 +184,10 @@ function useInputTextActions({ onChange, inputRef, onEnter, onFocus, onBlur, onK
196
184
  };
197
185
  }
198
186
 
199
- /**
200
- * Provides the props for the html fields rendered by the html input.
201
- * DO not repeat this pattern. We are doing this as a proof of concept relating to the refactoring of Form inputs to see what can be removed.
202
- */
203
- function useInputTextFormField(_a) {
204
- var { id, name, description, inline, handleChange, handleBlur, handleFocus, handleKeyDown, error } = _a, rest = tslib_es6.__rest(_a, ["id", "name", "description", "inline", "handleChange", "handleBlur", "handleFocus", "handleKeyDown", "error"]);
205
- const descriptionIdentifier = `descriptionUUID--${id}`;
206
- const fieldProps = Object.assign(Object.assign(Object.assign(Object.assign({}, rest), { id, className: FormField.styles.input, name, disabled: rest.disabled, inputMode: rest.inputMode, onChange: handleChange, onBlur: handleBlur, onFocus: handleFocus }), (description &&
207
- !inline && { "aria-describedby": descriptionIdentifier })), { "aria-invalid": rest["aria-invalid"] || error || rest.invalid ? true : undefined, autoFocus: rest.autoFocus, invalid: error || rest.invalid ? "true" : undefined, onKeyDown: handleKeyDown });
208
- return { fieldProps, descriptionIdentifier };
209
- }
210
-
211
187
  const InputTextSPAR = React.forwardRef(function InputTextInternal(props, inputRefs) {
212
188
  var _a, _b, _c;
213
189
  const inputTextRef = React.useRef(null);
214
190
  const wrapperRef = React.useRef(null);
215
- const legacyPropHelper = Object.assign(Object.assign({}, props), { version: 1 });
216
191
  const id = useInputTextId(props);
217
192
  const { rowRange } = useTextAreaResize({
218
193
  rows: props.rows,
@@ -220,8 +195,19 @@ const InputTextSPAR = React.forwardRef(function InputTextInternal(props, inputRe
220
195
  inputRef: inputTextRef,
221
196
  wrapperRef: wrapperRef,
222
197
  });
223
- const type = props.multiline ? "textarea" : "text";
224
- const { inputStyle } = FormField.useFormFieldWrapperStyles(legacyPropHelper);
198
+ const { inputStyle } = FormField.useFormFieldWrapperStyles({
199
+ size: props.size,
200
+ align: props.align,
201
+ placeholder: props.placeholder,
202
+ value: props.value,
203
+ invalid: props.invalid,
204
+ error: props.error,
205
+ max: typeof props.max === "string" ? parseFloat(props.max) : props.max,
206
+ maxLength: undefined, // v2: maxLength is for HTML validation only, not for width styling
207
+ type: props.multiline ? "textarea" : "text",
208
+ disabled: props.disabled,
209
+ inline: props.inline,
210
+ });
225
211
  const { name } = FormField.useAtlantisFormFieldName({
226
212
  nameProp: props.name,
227
213
  id: id,
@@ -234,40 +220,25 @@ const InputTextSPAR = React.forwardRef(function InputTextInternal(props, inputRe
234
220
  onEnter: props.onEnter,
235
221
  inputRef: inputTextRef,
236
222
  });
237
- const inputProps = omit.omit(props, [
238
- "onChange",
239
- "onBlur",
240
- "onFocus",
241
- "onEnter",
242
- "size",
243
- "placeholder",
244
- "multiline",
245
- "prefix",
246
- "suffix",
247
- "version",
248
- ]);
249
- const { fieldProps, descriptionIdentifier } = useInputTextFormField(Object.assign(Object.assign({}, inputProps), { id,
250
- name,
251
- handleChange,
252
- handleBlur,
253
- handleFocus,
254
- handleKeyDown }));
223
+ const descriptionIdentifier = `descriptionUUID--${id}`;
224
+ const hasDescription = props.description && !props.inline;
225
+ const isInvalid = Boolean(props["aria-invalid"] || props.error || props.invalid);
255
226
  return (React.createElement(FormField.FormFieldWrapper, { disabled: props.disabled, size: props.size, align: props.align, inline: props.inline, autofocus: props.autoFocus, name: name, wrapperRef: wrapperRef, error: (_a = props.error) !== null && _a !== void 0 ? _a : "", invalid: Boolean(props.error || props.invalid), identifier: id, descriptionIdentifier: descriptionIdentifier, description: props.description, clearable: (_b = props.clearable) !== null && _b !== void 0 ? _b : "never", onClear: handleClear, type: props.multiline ? "textarea" : "text", placeholder: props.placeholder, value: props.value, prefix: props.prefix, suffix: props.suffix, rows: rowRange.min, toolbar: props.toolbar, toolbarVisibility: props.toolbarVisibility },
256
227
  React.createElement(React.Fragment, null,
257
- type === "textarea" ? (React.createElement(TextArea, { fieldProps: fieldProps, rowRange: rowRange, inputRefs: [inputRefs, inputTextRef], value: props.value, inputStyle: inputStyle })) : (React.createElement(TextInput, { fieldProps: fieldProps, inputRefs: [inputRefs, inputTextRef], value: props.value, inputStyle: inputStyle })),
228
+ props.multiline ? (React.createElement(TextArea, { id: id, name: name, className: inputStyle, value: props.value, rows: rowRange.min, disabled: props.disabled, readOnly: props.readOnly, required: props.required, autoFocus: props.autoFocus, autoComplete: props.autoComplete, maxLength: props.maxLength, minLength: props.minLength, inputMode: props.inputMode, tabIndex: props.tabIndex, role: props.role, "aria-label": props["aria-label"], "aria-describedby": hasDescription ? descriptionIdentifier : props["aria-describedby"], "aria-invalid": isInvalid ? true : undefined, "aria-controls": props["aria-controls"], "aria-expanded": props["aria-expanded"], "aria-activedescendant": props["aria-activedescendant"], "aria-autocomplete": props["aria-autocomplete"], "aria-required": props["aria-required"], invalid: isInvalid ? "true" : undefined, onChange: handleChange, onBlur: handleBlur, onFocus: handleFocus, onKeyDown: handleKeyDown, onKeyUp: props.onKeyUp, ref: FormField.mergeRefs([inputRefs, inputTextRef]) })) : (React.createElement(TextInput, { id: id, name: name, className: inputStyle, value: props.value, disabled: props.disabled, readOnly: props.readOnly, required: props.required, autoFocus: props.autoFocus, autoComplete: props.autoComplete, maxLength: props.maxLength, minLength: props.minLength, max: props.max, min: props.min, pattern: props.pattern, inputMode: props.inputMode, tabIndex: props.tabIndex, role: props.role, "aria-label": props["aria-label"], "aria-describedby": hasDescription ? descriptionIdentifier : props["aria-describedby"], "aria-invalid": isInvalid ? true : undefined, "aria-controls": props["aria-controls"], "aria-expanded": props["aria-expanded"], "aria-activedescendant": props["aria-activedescendant"], "aria-autocomplete": props["aria-autocomplete"], "aria-required": props["aria-required"], invalid: isInvalid ? "true" : undefined, onChange: handleChange, onBlur: handleBlur, onFocus: handleFocus, onKeyDown: handleKeyDown, onKeyUp: props.onKeyUp, ref: FormField.mergeRefs([inputRefs, inputTextRef]) })),
258
229
  React.createElement(FormField.FormFieldPostFix, { variation: "spinner", visible: (_c = props.loading) !== null && _c !== void 0 ? _c : false }),
259
230
  props.children)));
260
231
  });
261
232
  function useInputTextId(props) {
262
233
  const generatedId = React.useId();
263
- return props.id || generatedId;
264
- }
265
- function TextArea({ fieldProps, rowRange, inputRefs, value, inputStyle, }) {
266
- return (React.createElement("textarea", Object.assign({}, fieldProps, { rows: rowRange.min, ref: FormField.mergeRefs(inputRefs), className: inputStyle, value: value })));
267
- }
268
- function TextInput({ fieldProps, inputRefs, value, inputStyle, }) {
269
- return (React.createElement("input", Object.assign({}, fieldProps, { ref: FormField.mergeRefs(inputRefs), className: inputStyle, value: value })));
234
+ return props.identifier || props.id || generatedId;
270
235
  }
236
+ const TextArea = React.forwardRef(function TextArea(props, ref) {
237
+ return React.createElement("textarea", Object.assign({}, props, { ref: ref }));
238
+ });
239
+ const TextInput = React.forwardRef(function TextInput(props, ref) {
240
+ return React.createElement("input", Object.assign({}, props, { ref: ref }));
241
+ });
271
242
 
272
243
  function isNewInputTextProps(props) {
273
244
  return props.version === 2;
@@ -1,13 +1,12 @@
1
1
  import React__default, { forwardRef, useRef, useImperativeHandle, useId } from 'react';
2
2
  import { useSafeLayoutEffect } from '@jobber/hooks';
3
- import { k as FormField, s as styles, j as useFormFieldWrapperStyles, b as useAtlantisFormFieldName, f as FormFieldWrapper, l as FormFieldPostFix, m as mergeRefs } from '../FormField-es.js';
3
+ import { k as FormField, j as useFormFieldWrapperStyles, b as useAtlantisFormFieldName, f as FormFieldWrapper, m as mergeRefs, l as FormFieldPostFix } from '../FormField-es.js';
4
4
  import 'classnames';
5
- import { _ as __rest } from '../tslib.es6-es.js';
5
+ import '../tslib.es6-es.js';
6
6
  import 'react-hook-form';
7
7
  import 'framer-motion';
8
8
  import '@jobber/design';
9
9
  import '../Button-es.js';
10
- import { o as omit } from '../omit-es.js';
11
10
  import '../Icon-es.js';
12
11
  import '../Text-es.js';
13
12
  import '../Typography-es.js';
@@ -15,17 +14,6 @@ import '../useFormFieldFocus-es.js';
15
14
  import '../InputValidation-es.js';
16
15
  import '../Spinner-es.js';
17
16
  import 'react-router-dom';
18
- import '../_commonjsHelpers-es.js';
19
- import '../_baseGet-es.js';
20
- import '../isTypedArray-es.js';
21
- import '../isObjectLike-es.js';
22
- import '../identity-es.js';
23
- import '../_getTag-es.js';
24
- import '../isSymbol-es.js';
25
- import '../keysIn-es.js';
26
- import '../_baseAssignValue-es.js';
27
- import '../_baseFlatten-es.js';
28
- import '../_setToString-es.js';
29
17
 
30
18
  /**
31
19
  * Hook for resizing a textarea based on its content. The textarea will grow up to the max number of rows specified.
@@ -160,7 +148,7 @@ function insertAtCursor(input, newText) {
160
148
  function useInputTextActions({ onChange, inputRef, onEnter, onFocus, onBlur, onKeyDown, }) {
161
149
  function handleClear() {
162
150
  var _a;
163
- handleBlur();
151
+ // Don't call blur handler when programmatically clearing
164
152
  onChange && onChange("");
165
153
  (_a = inputRef === null || inputRef === void 0 ? void 0 : inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
166
154
  }
@@ -194,23 +182,10 @@ function useInputTextActions({ onChange, inputRef, onEnter, onFocus, onBlur, onK
194
182
  };
195
183
  }
196
184
 
197
- /**
198
- * Provides the props for the html fields rendered by the html input.
199
- * DO not repeat this pattern. We are doing this as a proof of concept relating to the refactoring of Form inputs to see what can be removed.
200
- */
201
- function useInputTextFormField(_a) {
202
- var { id, name, description, inline, handleChange, handleBlur, handleFocus, handleKeyDown, error } = _a, rest = __rest(_a, ["id", "name", "description", "inline", "handleChange", "handleBlur", "handleFocus", "handleKeyDown", "error"]);
203
- const descriptionIdentifier = `descriptionUUID--${id}`;
204
- const fieldProps = Object.assign(Object.assign(Object.assign(Object.assign({}, rest), { id, className: styles.input, name, disabled: rest.disabled, inputMode: rest.inputMode, onChange: handleChange, onBlur: handleBlur, onFocus: handleFocus }), (description &&
205
- !inline && { "aria-describedby": descriptionIdentifier })), { "aria-invalid": rest["aria-invalid"] || error || rest.invalid ? true : undefined, autoFocus: rest.autoFocus, invalid: error || rest.invalid ? "true" : undefined, onKeyDown: handleKeyDown });
206
- return { fieldProps, descriptionIdentifier };
207
- }
208
-
209
185
  const InputTextSPAR = forwardRef(function InputTextInternal(props, inputRefs) {
210
186
  var _a, _b, _c;
211
187
  const inputTextRef = React__default.useRef(null);
212
188
  const wrapperRef = React__default.useRef(null);
213
- const legacyPropHelper = Object.assign(Object.assign({}, props), { version: 1 });
214
189
  const id = useInputTextId(props);
215
190
  const { rowRange } = useTextAreaResize({
216
191
  rows: props.rows,
@@ -218,8 +193,19 @@ const InputTextSPAR = forwardRef(function InputTextInternal(props, inputRefs) {
218
193
  inputRef: inputTextRef,
219
194
  wrapperRef: wrapperRef,
220
195
  });
221
- const type = props.multiline ? "textarea" : "text";
222
- const { inputStyle } = useFormFieldWrapperStyles(legacyPropHelper);
196
+ const { inputStyle } = useFormFieldWrapperStyles({
197
+ size: props.size,
198
+ align: props.align,
199
+ placeholder: props.placeholder,
200
+ value: props.value,
201
+ invalid: props.invalid,
202
+ error: props.error,
203
+ max: typeof props.max === "string" ? parseFloat(props.max) : props.max,
204
+ maxLength: undefined, // v2: maxLength is for HTML validation only, not for width styling
205
+ type: props.multiline ? "textarea" : "text",
206
+ disabled: props.disabled,
207
+ inline: props.inline,
208
+ });
223
209
  const { name } = useAtlantisFormFieldName({
224
210
  nameProp: props.name,
225
211
  id: id,
@@ -232,40 +218,25 @@ const InputTextSPAR = forwardRef(function InputTextInternal(props, inputRefs) {
232
218
  onEnter: props.onEnter,
233
219
  inputRef: inputTextRef,
234
220
  });
235
- const inputProps = omit(props, [
236
- "onChange",
237
- "onBlur",
238
- "onFocus",
239
- "onEnter",
240
- "size",
241
- "placeholder",
242
- "multiline",
243
- "prefix",
244
- "suffix",
245
- "version",
246
- ]);
247
- const { fieldProps, descriptionIdentifier } = useInputTextFormField(Object.assign(Object.assign({}, inputProps), { id,
248
- name,
249
- handleChange,
250
- handleBlur,
251
- handleFocus,
252
- handleKeyDown }));
221
+ const descriptionIdentifier = `descriptionUUID--${id}`;
222
+ const hasDescription = props.description && !props.inline;
223
+ const isInvalid = Boolean(props["aria-invalid"] || props.error || props.invalid);
253
224
  return (React__default.createElement(FormFieldWrapper, { disabled: props.disabled, size: props.size, align: props.align, inline: props.inline, autofocus: props.autoFocus, name: name, wrapperRef: wrapperRef, error: (_a = props.error) !== null && _a !== void 0 ? _a : "", invalid: Boolean(props.error || props.invalid), identifier: id, descriptionIdentifier: descriptionIdentifier, description: props.description, clearable: (_b = props.clearable) !== null && _b !== void 0 ? _b : "never", onClear: handleClear, type: props.multiline ? "textarea" : "text", placeholder: props.placeholder, value: props.value, prefix: props.prefix, suffix: props.suffix, rows: rowRange.min, toolbar: props.toolbar, toolbarVisibility: props.toolbarVisibility },
254
225
  React__default.createElement(React__default.Fragment, null,
255
- type === "textarea" ? (React__default.createElement(TextArea, { fieldProps: fieldProps, rowRange: rowRange, inputRefs: [inputRefs, inputTextRef], value: props.value, inputStyle: inputStyle })) : (React__default.createElement(TextInput, { fieldProps: fieldProps, inputRefs: [inputRefs, inputTextRef], value: props.value, inputStyle: inputStyle })),
226
+ props.multiline ? (React__default.createElement(TextArea, { id: id, name: name, className: inputStyle, value: props.value, rows: rowRange.min, disabled: props.disabled, readOnly: props.readOnly, required: props.required, autoFocus: props.autoFocus, autoComplete: props.autoComplete, maxLength: props.maxLength, minLength: props.minLength, inputMode: props.inputMode, tabIndex: props.tabIndex, role: props.role, "aria-label": props["aria-label"], "aria-describedby": hasDescription ? descriptionIdentifier : props["aria-describedby"], "aria-invalid": isInvalid ? true : undefined, "aria-controls": props["aria-controls"], "aria-expanded": props["aria-expanded"], "aria-activedescendant": props["aria-activedescendant"], "aria-autocomplete": props["aria-autocomplete"], "aria-required": props["aria-required"], invalid: isInvalid ? "true" : undefined, onChange: handleChange, onBlur: handleBlur, onFocus: handleFocus, onKeyDown: handleKeyDown, onKeyUp: props.onKeyUp, ref: mergeRefs([inputRefs, inputTextRef]) })) : (React__default.createElement(TextInput, { id: id, name: name, className: inputStyle, value: props.value, disabled: props.disabled, readOnly: props.readOnly, required: props.required, autoFocus: props.autoFocus, autoComplete: props.autoComplete, maxLength: props.maxLength, minLength: props.minLength, max: props.max, min: props.min, pattern: props.pattern, inputMode: props.inputMode, tabIndex: props.tabIndex, role: props.role, "aria-label": props["aria-label"], "aria-describedby": hasDescription ? descriptionIdentifier : props["aria-describedby"], "aria-invalid": isInvalid ? true : undefined, "aria-controls": props["aria-controls"], "aria-expanded": props["aria-expanded"], "aria-activedescendant": props["aria-activedescendant"], "aria-autocomplete": props["aria-autocomplete"], "aria-required": props["aria-required"], invalid: isInvalid ? "true" : undefined, onChange: handleChange, onBlur: handleBlur, onFocus: handleFocus, onKeyDown: handleKeyDown, onKeyUp: props.onKeyUp, ref: mergeRefs([inputRefs, inputTextRef]) })),
256
227
  React__default.createElement(FormFieldPostFix, { variation: "spinner", visible: (_c = props.loading) !== null && _c !== void 0 ? _c : false }),
257
228
  props.children)));
258
229
  });
259
230
  function useInputTextId(props) {
260
231
  const generatedId = useId();
261
- return props.id || generatedId;
262
- }
263
- function TextArea({ fieldProps, rowRange, inputRefs, value, inputStyle, }) {
264
- return (React__default.createElement("textarea", Object.assign({}, fieldProps, { rows: rowRange.min, ref: mergeRefs(inputRefs), className: inputStyle, value: value })));
265
- }
266
- function TextInput({ fieldProps, inputRefs, value, inputStyle, }) {
267
- return (React__default.createElement("input", Object.assign({}, fieldProps, { ref: mergeRefs(inputRefs), className: inputStyle, value: value })));
232
+ return props.identifier || props.id || generatedId;
268
233
  }
234
+ const TextArea = forwardRef(function TextArea(props, ref) {
235
+ return React__default.createElement("textarea", Object.assign({}, props, { ref: ref }));
236
+ });
237
+ const TextInput = forwardRef(function TextInput(props, ref) {
238
+ return React__default.createElement("input", Object.assign({}, props, { ref: ref }));
239
+ });
269
240
 
270
241
  function isNewInputTextProps(props) {
271
242
  return props.version === 2;
@@ -12,5 +12,5 @@ export declare function useInputTextActions({ onChange, inputRef, onEnter, onFoc
12
12
  handleChange: (event: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
13
13
  handleKeyDown: (event: KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
14
14
  handleFocus: (event: FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
15
- handleBlur: (event?: FocusEvent) => void;
15
+ handleBlur: (event: FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
16
16
  };
@@ -21,7 +21,7 @@ require('../useFormFieldFocus-cjs.js');
21
21
  require('../InputValidation-cjs.js');
22
22
  require('../Spinner-cjs.js');
23
23
  require('react-router-dom');
24
- require('../_baseGet-cjs.js');
24
+ require('../_getAllKeys-cjs.js');
25
25
  require('../isTypedArray-cjs.js');
26
26
  require('../identity-cjs.js');
27
27
  require('../_getTag-cjs.js');
@@ -19,7 +19,7 @@ import '../useFormFieldFocus-es.js';
19
19
  import '../InputValidation-es.js';
20
20
  import '../Spinner-es.js';
21
21
  import 'react-router-dom';
22
- import '../_baseGet-es.js';
22
+ import '../_getAllKeys-es.js';
23
23
  import '../isTypedArray-es.js';
24
24
  import '../identity-es.js';
25
25
  import '../_getTag-es.js';
@@ -8,9 +8,9 @@ require('../identity-cjs.js');
8
8
  require('../isTypedArray-cjs.js');
9
9
  require('../isObjectLike-cjs.js');
10
10
  require('../_commonjsHelpers-cjs.js');
11
- require('../_baseGet-cjs.js');
12
- require('../_getTag-cjs.js');
11
+ require('../_getAllKeys-cjs.js');
13
12
  require('../isSymbol-cjs.js');
13
+ require('../_getTag-cjs.js');
14
14
  require('../_baseFor-cjs.js');
15
15
  require('../_baseAssignValue-cjs.js');
16
16
  require('../Typography-cjs.js');
@@ -6,9 +6,9 @@ import '../identity-es.js';
6
6
  import '../isTypedArray-es.js';
7
7
  import '../isObjectLike-es.js';
8
8
  import '../_commonjsHelpers-es.js';
9
- import '../_baseGet-es.js';
10
- import '../_getTag-es.js';
9
+ import '../_getAllKeys-es.js';
11
10
  import '../isSymbol-es.js';
11
+ import '../_getTag-es.js';
12
12
  import '../_baseFor-es.js';
13
13
  import '../_baseAssignValue-es.js';
14
14
  import '../Typography-es.js';
@@ -9,12 +9,12 @@ require('classnames');
9
9
  require('../Select/index.cjs');
10
10
  require('../omit-cjs.js');
11
11
  require('../_commonjsHelpers-cjs.js');
12
- require('../_baseGet-cjs.js');
12
+ require('../_getAllKeys-cjs.js');
13
13
  require('../isTypedArray-cjs.js');
14
14
  require('../isObjectLike-cjs.js');
15
+ require('../isSymbol-cjs.js');
15
16
  require('../identity-cjs.js');
16
17
  require('../_getTag-cjs.js');
17
- require('../isSymbol-cjs.js');
18
18
  require('../keysIn-cjs.js');
19
19
  require('../_baseAssignValue-cjs.js');
20
20
  require('../_baseFlatten-cjs.js');
@@ -7,12 +7,12 @@ import 'classnames';
7
7
  import '../Select/index.mjs';
8
8
  import '../omit-es.js';
9
9
  import '../_commonjsHelpers-es.js';
10
- import '../_baseGet-es.js';
10
+ import '../_getAllKeys-es.js';
11
11
  import '../isTypedArray-es.js';
12
12
  import '../isObjectLike-es.js';
13
+ import '../isSymbol-es.js';
13
14
  import '../identity-es.js';
14
15
  import '../_getTag-es.js';
15
- import '../isSymbol-es.js';
16
16
  import '../keysIn-es.js';
17
17
  import '../_baseAssignValue-es.js';
18
18
  import '../_baseFlatten-es.js';
@@ -11,12 +11,12 @@ require('framer-motion');
11
11
  require('@jobber/design');
12
12
  require('../Button-cjs.js');
13
13
  require('../_commonjsHelpers-cjs.js');
14
- require('../_baseGet-cjs.js');
14
+ require('../_getAllKeys-cjs.js');
15
15
  require('../isTypedArray-cjs.js');
16
16
  require('../isObjectLike-cjs.js');
17
+ require('../isSymbol-cjs.js');
17
18
  require('../identity-cjs.js');
18
19
  require('../_getTag-cjs.js');
19
- require('../isSymbol-cjs.js');
20
20
  require('../keysIn-cjs.js');
21
21
  require('../_baseAssignValue-cjs.js');
22
22
  require('../_baseFlatten-cjs.js');
@@ -9,12 +9,12 @@ import 'framer-motion';
9
9
  import '@jobber/design';
10
10
  import '../Button-es.js';
11
11
  import '../_commonjsHelpers-es.js';
12
- import '../_baseGet-es.js';
12
+ import '../_getAllKeys-es.js';
13
13
  import '../isTypedArray-es.js';
14
14
  import '../isObjectLike-es.js';
15
+ import '../isSymbol-es.js';
15
16
  import '../identity-es.js';
16
17
  import '../_getTag-es.js';
17
- import '../isSymbol-es.js';
18
18
  import '../keysIn-es.js';
19
19
  import '../_baseAssignValue-es.js';
20
20
  import '../_baseFlatten-es.js';
@@ -2,7 +2,7 @@
2
2
 
3
3
  var identity$1 = require('./identity-cjs.js');
4
4
  var isObjectLike$1 = require('./isObjectLike-cjs.js');
5
- var _baseGet = require('./_baseGet-cjs.js');
5
+ var _getAllKeys = require('./_getAllKeys-cjs.js');
6
6
  var _getTag = require('./_getTag-cjs.js');
7
7
  var isTypedArray$1 = require('./isTypedArray-cjs.js');
8
8
  var _commonjsHelpers = require('./_commonjsHelpers-cjs.js');
@@ -351,7 +351,7 @@ function equalByTag$1(object, other, tag, bitmask, customizer, equalFunc, stack)
351
351
 
352
352
  var _equalByTag = equalByTag$1;
353
353
 
354
- var getAllKeys = _baseGet._getAllKeys;
354
+ var getAllKeys = _getAllKeys._getAllKeys;
355
355
 
356
356
  /** Used to compose bitmasks for value comparisons. */
357
357
  var COMPARE_PARTIAL_FLAG$3 = 1;
@@ -635,7 +635,7 @@ function isStrictComparable$2(value) {
635
635
  var _isStrictComparable = isStrictComparable$2;
636
636
 
637
637
  var isStrictComparable$1 = _isStrictComparable,
638
- keys$1 = _baseGet.keys_1;
638
+ keys$1 = _getAllKeys.keys_1;
639
639
 
640
640
  /**
641
641
  * Gets the property names, values, and compare flags of `object`.
@@ -704,7 +704,7 @@ function baseMatches$1(source) {
704
704
 
705
705
  var _baseMatches = baseMatches$1;
706
706
 
707
- var baseGet$1 = _baseGet._baseGet;
707
+ var baseGet$1 = _getAllKeys._baseGet;
708
708
 
709
709
  /**
710
710
  * Gets the value at `path` of `object`. If the resolved value is
@@ -755,12 +755,12 @@ function baseHasIn$1(object, key) {
755
755
 
756
756
  var _baseHasIn = baseHasIn$1;
757
757
 
758
- var castPath = _baseGet._castPath,
758
+ var castPath = _getAllKeys._castPath,
759
759
  isArguments = isTypedArray$1.isArguments_1,
760
760
  isArray$1 = isTypedArray$1.isArray_1,
761
761
  isIndex = identity$1._isIndex,
762
762
  isLength = isTypedArray$1.isLength_1,
763
- toKey$2 = _baseGet._toKey;
763
+ toKey$2 = _getAllKeys._toKey;
764
764
 
765
765
  /**
766
766
  * Checks if `path` exists on `object`.
@@ -833,10 +833,10 @@ var hasIn_1 = hasIn$1;
833
833
  var baseIsEqual = _baseIsEqual,
834
834
  get = get_1,
835
835
  hasIn = hasIn_1,
836
- isKey$1 = _baseGet._isKey,
836
+ isKey$1 = _getAllKeys._isKey,
837
837
  isStrictComparable = _isStrictComparable,
838
838
  matchesStrictComparable = _matchesStrictComparable,
839
- toKey$1 = _baseGet._toKey;
839
+ toKey$1 = _getAllKeys._toKey;
840
840
 
841
841
  /** Used to compose bitmasks for value comparisons. */
842
842
  var COMPARE_PARTIAL_FLAG = 1,
@@ -880,7 +880,7 @@ function baseProperty$1(key) {
880
880
 
881
881
  var _baseProperty = baseProperty$1;
882
882
 
883
- var baseGet = _baseGet._baseGet;
883
+ var baseGet = _getAllKeys._baseGet;
884
884
 
885
885
  /**
886
886
  * A specialized version of `baseProperty` which supports deep paths.
@@ -899,8 +899,8 @@ var _basePropertyDeep = basePropertyDeep$1;
899
899
 
900
900
  var baseProperty = _baseProperty,
901
901
  basePropertyDeep = _basePropertyDeep,
902
- isKey = _baseGet._isKey,
903
- toKey = _baseGet._toKey;
902
+ isKey = _getAllKeys._isKey,
903
+ toKey = _getAllKeys._toKey;
904
904
 
905
905
  /**
906
906
  * Creates a function that returns the value at `path` of a given object.
@@ -963,7 +963,7 @@ function baseIteratee(value) {
963
963
  var _baseIteratee = baseIteratee;
964
964
 
965
965
  var baseFor = _baseFor._baseFor,
966
- keys = _baseGet.keys_1;
966
+ keys = _getAllKeys.keys_1;
967
967
 
968
968
  /**
969
969
  * The base implementation of `_.forOwn` without support for iteratee shorthands.
@@ -1,6 +1,6 @@
1
1
  import { g as _MapCache, d as _Uint8Array, e as eq_1, c as _Stack, a as _isIndex, i as identity_1 } from './identity-es.js';
2
2
  import { b as _Symbol, i as isObjectLike_1, a as isObject_1 } from './isObjectLike-es.js';
3
- import { e as _getAllKeys, k as keys_1, b as _baseGet, f as _castPath, g as _toKey, h as _isKey } from './_baseGet-es.js';
3
+ import { e as _getAllKeys, k as keys_1, b as _baseGet, f as _castPath, g as _toKey, h as _isKey } from './_getAllKeys-es.js';
4
4
  import { a as _getTag } from './_getTag-es.js';
5
5
  import { c as isBufferExports, d as isTypedArray_1, a as isArray_1, i as isArguments_1, m as isLength_1, b as isArrayLike_1 } from './isTypedArray-es.js';
6
6
  import { g as getDefaultExportFromCjs } from './_commonjsHelpers-es.js';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var _baseGet = require('./_baseGet-cjs.js');
3
+ var _getAllKeys = require('./_getAllKeys-cjs.js');
4
4
  var isObjectLike = require('./isObjectLike-cjs.js');
5
5
  var isTypedArray = require('./isTypedArray-cjs.js');
6
6
 
@@ -25,7 +25,7 @@ function isFlattenable$1(value) {
25
25
 
26
26
  var _isFlattenable = isFlattenable$1;
27
27
 
28
- var arrayPush = _baseGet._arrayPush,
28
+ var arrayPush = _getAllKeys._arrayPush,
29
29
  isFlattenable = _isFlattenable;
30
30
 
31
31
  /**
@@ -1,4 +1,4 @@
1
- import { _ as _arrayPush } from './_baseGet-es.js';
1
+ import { _ as _arrayPush } from './_getAllKeys-es.js';
2
2
  import { b as _Symbol } from './isObjectLike-es.js';
3
3
  import { i as isArguments_1, a as isArray_1 } from './isTypedArray-es.js';
4
4