@itcase/forms 1.0.47 → 1.0.49

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.
@@ -9,6 +9,16 @@
9
9
  }
10
10
  }
11
11
  }
12
+ &_disabled {
13
+ & .input {
14
+ background: var(--input-disabled-background, #ECECEC);
15
+ border: solid 1px var(--input-disabled-border, #747474);
16
+ &:hover {
17
+ background: var(--input-disabled-background, #ECECEC);
18
+ border: solid 1px var(--input-disabled-border, #747474);
19
+ }
20
+ }
21
+ }
12
22
  &_error {
13
23
  & .input {
14
24
  border: solid 1px var(--input-error-border);
@@ -87,3 +87,10 @@
87
87
  }
88
88
  }
89
89
  }
90
+ .form-field {
91
+ &_state {
92
+ &_disabled {
93
+ }
94
+ }
95
+ }
96
+
@@ -160,6 +160,7 @@ function FieldWrapperBase(props) {
160
160
  type,
161
161
  labelHidden,
162
162
  hideMessage,
163
+ isDisabled,
163
164
  isHidden,
164
165
  tag: Tag,
165
166
  dataTour,
@@ -178,8 +179,8 @@ function FieldWrapperBase(props) {
178
179
  const isModifiedAfterSubmit = !metaError && metaSubmitError && metaModifiedSinceLastSubmit;
179
180
  return hasValue && (metaValid || isModifiedAfterSubmit);
180
181
  }, [inputValue, metaValid, metaError, metaSubmitError, metaModifiedSinceLastSubmit]);
181
- const formFieldClass = React.useMemo(() => clsx__default.default(className, showError && 'form__item_state_error', showValid && 'form__item_state_success', isRequired && 'form__item_state_required', metaActive && 'form__item_state_focus', inputValue && 'form__item_state_filled'), [className, showError, showValid, isRequired, metaActive, inputValue]);
182
- const fieldClass = React.useMemo(() => clsx__default.default(fieldClassName, showError && `${fieldClassName}_state_error`, showValid && `${fieldClassName}_state_success`, metaActive && `${fieldClassName}_state_focus`, inputValue && `${fieldClassName}_state_filled`), [fieldClassName, showError, showValid, metaActive, inputValue]);
182
+ const formFieldClass = React.useMemo(() => clsx__default.default(className, showError && 'form__item_state_error', showValid && 'form__item_state_success', isRequired && 'form__item_state_required', isDisabled && 'form__item_state_disabled', metaActive && 'form__item_state_focus', inputValue && 'form__item_state_filled'), [className, showError, showValid, isRequired, metaActive, inputValue, isDisabled]);
183
+ const fieldClass = React.useMemo(() => clsx__default.default(fieldClassName, showError && `${fieldClassName}_state_error`, showValid && `${fieldClassName}_state_success`, metaActive && `${fieldClassName}_state_focus`, inputValue && `${fieldClassName}_state_filled`, isDisabled && `${fieldClassName}_state_disabled`), [fieldClassName, showError, showValid, metaActive, inputValue, isDisabled]);
183
184
  const sizeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
184
185
  prefix: 'form-field_size_',
185
186
  propsKey: 'size'
@@ -212,7 +213,7 @@ function FieldWrapperBase(props) {
212
213
  styles: formFieldStyles
213
214
  } = useStyles.useStyles(props);
214
215
  return /*#__PURE__*/React__default.default.createElement(Tag, {
215
- className: clsx__default.default(formFieldClass, 'form__item', 'form-field', type && `form-field_type_${type}`, set && `form-field_set_${set}`, sizeClass, fillClass, shapeClass, isHidden && `form-field_state_hidden`, directionClass, widthClass),
216
+ className: clsx__default.default(formFieldClass, 'form__item', 'form-field', type && `form-field_type_${type}`, set && `form-field_set_${set}`, sizeClass, fillClass, shapeClass, isDisabled && `form-field_state_disabled`, isHidden && `form-field_state_hidden`, directionClass, widthClass),
216
217
  "data-tour": dataTour,
217
218
  style: formFieldStyles
218
219
  }, before, (label || labelHidden) && /*#__PURE__*/React__default.default.createElement("div", {
@@ -240,18 +241,18 @@ function FieldWrapperBase(props) {
240
241
  fill: dividerFill
241
242
  })), !hideMessage && /*#__PURE__*/React__default.default.createElement("div", {
242
243
  className: "form-field__message"
243
- }, Boolean(showError) && /*#__PURE__*/React__default.default.createElement(Text.Text, {
244
+ }, Boolean(showError) && error && typeof error === 'string' && /*#__PURE__*/React__default.default.createElement(Text.Text, {
244
245
  className: "form-field__message-item form-field__message-item_type-error",
245
246
  size: errorMessageTextSize,
246
247
  textWeight: errorMessageTextWeight,
247
248
  textColor: errorMessageTextColor,
248
249
  id: `${inputName}-error`
249
- }, error), Boolean(message) && !showError && /*#__PURE__*/React__default.default.createElement(Text.Text, {
250
+ }, error), Boolean(message) && (!error || typeof error !== 'string') && /*#__PURE__*/React__default.default.createElement(Text.Text, {
250
251
  className: "form-field__message-item form-field__message-item_type_message",
251
252
  size: messageTextSize,
252
253
  textWeight: messageTextWeight,
253
254
  textColor: messageTextColor
254
- }, message), Boolean(!showError) && Boolean(!message) && /*#__PURE__*/React__default.default.createElement(Text.Text, {
255
+ }, message), (!showError && !message || showError && !message && (!error || typeof error !== 'string')) && /*#__PURE__*/React__default.default.createElement(Text.Text, {
255
256
  className: "form-field__message-item form-field__message-item_type_message",
256
257
  size: messageTextSize
257
258
  }, '\u00A0')), after);
@@ -351,6 +352,7 @@ FieldWrapper.propTypes = {
351
352
  const CheckboxField = /*#__PURE__*/React__default.default.memo(function CheckboxField(props) {
352
353
  const {
353
354
  name,
355
+ isDisabled,
354
356
  isRequired,
355
357
  onChange,
356
358
  fieldProps,
@@ -377,6 +379,7 @@ const CheckboxField = /*#__PURE__*/React__default.default.memo(function Checkbox
377
379
  inputName: input.name,
378
380
  inputValue: input.checked,
379
381
  isRequired: isRequired,
382
+ isDisabled: isDisabled,
380
383
  metaActive: meta.active,
381
384
  metaError: meta.error,
382
385
  metaModifiedSinceLastSubmit: meta.modifiedSinceLastSubmit,
@@ -390,6 +393,7 @@ const CheckboxField = /*#__PURE__*/React__default.default.memo(function Checkbox
390
393
  autoComplete: "nope",
391
394
  checked: input.checked,
392
395
  name: input.name,
396
+ isDisabled: isDisabled,
393
397
  type: "checkbox",
394
398
  onBlur: input.onBlur,
395
399
  onChange: onChangeField,
@@ -418,6 +422,7 @@ const ChoiceField = /*#__PURE__*/React__default.default.memo(function ChoiceFiel
418
422
  inputProps,
419
423
  isMultiple,
420
424
  isRequired,
425
+ isDisabled,
421
426
  label,
422
427
  messageType,
423
428
  name,
@@ -458,6 +463,7 @@ const ChoiceField = /*#__PURE__*/React__default.default.memo(function ChoiceFiel
458
463
  inputName: input.name,
459
464
  inputValue: input.value || [],
460
465
  isRequired: isRequired,
466
+ isDisabled: isDisabled,
461
467
  label: label,
462
468
  messageType: messageType,
463
469
  metaActive: meta.active,
@@ -477,7 +483,8 @@ const ChoiceField = /*#__PURE__*/React__default.default.memo(function ChoiceFiel
477
483
  isRequired: isRequired,
478
484
  placeholder: placeholder,
479
485
  active: activeOption,
480
- setActiveSegment: setActiveSegment
486
+ setActiveSegment: setActiveSegment,
487
+ isDisabled: isDisabled
481
488
  }, inputProps)));
482
489
  });
483
490
  });
@@ -500,6 +507,7 @@ ChoiceField.propTypes = {
500
507
  const CustomField = /*#__PURE__*/React__default.default.memo(function CustomField(props) {
501
508
  const {
502
509
  Component,
510
+ isDisabled,
503
511
  isRequired,
504
512
  name,
505
513
  fieldProps,
@@ -514,6 +522,7 @@ const CustomField = /*#__PURE__*/React__default.default.memo(function CustomFiel
514
522
  }) => /*#__PURE__*/React__default.default.createElement(FieldWrapper, Object.assign({
515
523
  className: clsx__default.default('form-field_type_custom', 'form__item_type_custom', classNameGroupItem),
516
524
  fieldClassName: 'form-custom',
525
+ isDisabled: isDisabled,
517
526
  inputName: input.name,
518
527
  inputValue: input.value,
519
528
  isRequired: isRequired,
@@ -526,6 +535,7 @@ const CustomField = /*#__PURE__*/React__default.default.memo(function CustomFiel
526
535
  metaValid: meta.valid,
527
536
  hideMessage: hideMessage
528
537
  }, fieldProps), /*#__PURE__*/React__default.default.createElement(Component, Object.assign({}, props, {
538
+ isDisabled: isDisabled,
529
539
  input: input,
530
540
  meta: meta
531
541
  }))));
@@ -544,6 +554,7 @@ CustomField.propTypes = {
544
554
  const CodeField = /*#__PURE__*/React__default.default.memo(function CodeField(props) {
545
555
  const {
546
556
  isRequired,
557
+ isDisabled,
547
558
  name,
548
559
  fieldProps,
549
560
  inputProps,
@@ -561,6 +572,7 @@ const CodeField = /*#__PURE__*/React__default.default.memo(function CodeField(pr
561
572
  inputName: input.name,
562
573
  inputValue: input.value,
563
574
  isRequired: isRequired,
575
+ isDisabled: isDisabled,
564
576
  metaActive: meta.active,
565
577
  metaError: meta.error,
566
578
  metaModifiedSinceLastSubmit: meta.modifiedSinceLastSubmit,
@@ -572,6 +584,7 @@ const CodeField = /*#__PURE__*/React__default.default.memo(function CodeField(pr
572
584
  }, fieldProps), /*#__PURE__*/React__default.default.createElement(Code.Code, Object.assign({
573
585
  autoComplete: "nope",
574
586
  name: input.name,
587
+ isDisabled: isDisabled,
575
588
  value: input.value,
576
589
  onBlur: input.onBlur,
577
590
  onChange: input.onChange,
@@ -601,6 +614,7 @@ function DatePickerField(props) {
601
614
  iconBorderHover,
602
615
  iconFill,
603
616
  iconFillHover,
617
+ isDisabled,
604
618
  iconRevealableShow,
605
619
  iconRevealableHide,
606
620
  iconShape,
@@ -626,6 +640,7 @@ function DatePickerField(props) {
626
640
  inputName: input.name,
627
641
  inputValue: input.value || '',
628
642
  isRequired: isRequired,
643
+ isDisabled: isDisabled,
629
644
  metaActive: meta.active,
630
645
  metaError: meta.error,
631
646
  metaModifiedSinceLastSubmit: meta.modifiedSinceLastSubmit,
@@ -638,6 +653,7 @@ function DatePickerField(props) {
638
653
  name: input.name,
639
654
  value: input.value || '',
640
655
  onBlur: input.onBlur,
656
+ isDisabled: isDisabled,
641
657
  onChange: onChangeField,
642
658
  onFocus: input.onFocus,
643
659
  inputProps: inputProps,
@@ -1211,7 +1227,7 @@ const Group = /*#__PURE__*/React__default.default.memo(function Group(props) {
1211
1227
  messageTextColor,
1212
1228
  children,
1213
1229
  dataTour,
1214
- hideMessage,
1230
+ hideGroupMessage,
1215
1231
  name,
1216
1232
  showErrorsOnSubmit
1217
1233
  } = props;
@@ -1242,13 +1258,13 @@ const Group = /*#__PURE__*/React__default.default.memo(function Group(props) {
1242
1258
  textWeight: labelTextWeight
1243
1259
  }, label)), /*#__PURE__*/React__default.default.createElement("div", {
1244
1260
  className: "form__group-items"
1245
- }, children), after), !hideMessage && /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, Boolean(showError) && /*#__PURE__*/React__default.default.createElement(Text.Text, {
1261
+ }, children), after), !hideGroupMessage && /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, Boolean(showError) && /*#__PURE__*/React__default.default.createElement(Text.Text, {
1246
1262
  className: "form__group-message form__group-message_type-error",
1247
1263
  size: errorMessageTextSize,
1248
1264
  textWeight: errorMessageTextWeight,
1249
1265
  textColor: errorMessageTextColor,
1250
1266
  id: `${name}-error`
1251
- }, error), Boolean(message) && !showError && /*#__PURE__*/React__default.default.createElement(Text.Text, {
1267
+ }, error), Boolean(message) && (!error || typeof error !== 'string') && /*#__PURE__*/React__default.default.createElement(Text.Text, {
1252
1268
  className: "form__group-message",
1253
1269
  size: messageTextSize,
1254
1270
  textWeight: messageTextWeight,
@@ -1285,6 +1301,7 @@ const InputField = /*#__PURE__*/React__default.default.memo(function InputField(
1285
1301
  name,
1286
1302
  parse,
1287
1303
  iconSize,
1304
+ isDisabled,
1288
1305
  iconBorder,
1289
1306
  iconBorderHover,
1290
1307
  iconFill,
@@ -1327,6 +1344,7 @@ const InputField = /*#__PURE__*/React__default.default.memo(function InputField(
1327
1344
  inputName: input.name,
1328
1345
  inputValue: input.value || '',
1329
1346
  isRequired: isRequired,
1347
+ isDisabled: isDisabled,
1330
1348
  metaActive: meta.active,
1331
1349
  metaError: meta.error,
1332
1350
  metaModifiedSinceLastSubmit: meta.modifiedSinceLastSubmit,
@@ -1343,7 +1361,8 @@ const InputField = /*#__PURE__*/React__default.default.memo(function InputField(
1343
1361
  value: input.value || '',
1344
1362
  onBlur: input.onBlur,
1345
1363
  onChange: onChangeField,
1346
- onFocus: input.onFocus
1364
+ onFocus: input.onFocus,
1365
+ isDisabled: isDisabled
1347
1366
  }, inputProps)), isRevealable && /*#__PURE__*/React__default.default.createElement(Icon.Icon, {
1348
1367
  className: "form-field__icon",
1349
1368
  iconFill: iconFill,
@@ -1518,6 +1537,7 @@ const RadioGroup = /*#__PURE__*/React__default.default.memo(function RadioGroup(
1518
1537
  editableProps,
1519
1538
  inputProps,
1520
1539
  onChange,
1540
+ isDisabled,
1521
1541
  hideMessage
1522
1542
  } = props;
1523
1543
  return /*#__PURE__*/React__default.default.createElement(reactFinalForm.Field, {
@@ -1531,6 +1551,7 @@ const RadioGroup = /*#__PURE__*/React__default.default.memo(function RadioGroup(
1531
1551
  inputName: input.name,
1532
1552
  inputValue: input.value || '',
1533
1553
  isRequired: isRequired,
1554
+ isDisabled: isDisabled,
1534
1555
  metaActive: meta.active,
1535
1556
  metaError: meta.error,
1536
1557
  metaModifiedSinceLastSubmit: meta.modifiedSinceLastSubmit,
@@ -1542,6 +1563,7 @@ const RadioGroup = /*#__PURE__*/React__default.default.memo(function RadioGroup(
1542
1563
  }, fieldProps), /*#__PURE__*/React__default.default.createElement(RadioGroupList, {
1543
1564
  input: input,
1544
1565
  options: options,
1566
+ isDisabled: isDisabled,
1545
1567
  onChange: onChange,
1546
1568
  editableProps: editableProps,
1547
1569
  inputProps: inputProps
@@ -1571,6 +1593,7 @@ function SegmentedField(props) {
1571
1593
  name,
1572
1594
  fieldProps,
1573
1595
  inputProps,
1596
+ isDisabled,
1574
1597
  hideMessage
1575
1598
  } = props;
1576
1599
  const {
@@ -1602,6 +1625,7 @@ function SegmentedField(props) {
1602
1625
  inputName: input.name,
1603
1626
  inputValue: input.value || [],
1604
1627
  isRequired: isRequired,
1628
+ isDisabled: isDisabled,
1605
1629
  metaActive: meta.active,
1606
1630
  metaError: meta.error,
1607
1631
  metaModifiedSinceLastSubmit: meta.modifiedSinceLastSubmit,
@@ -1612,6 +1636,7 @@ function SegmentedField(props) {
1612
1636
  hideMessage: hideMessage
1613
1637
  }, fieldProps), /*#__PURE__*/React__default.default.createElement(Segmented.Segmented, Object.assign({
1614
1638
  segments: options,
1639
+ isDisabled: isDisabled,
1615
1640
  setActiveSegment: setActiveSegment,
1616
1641
  activeSegment: activeOption
1617
1642
  }, inputProps)));
@@ -1654,6 +1679,7 @@ const SelectField = /*#__PURE__*/React__default.default.memo(function SelectFiel
1654
1679
  classNameGroupItem,
1655
1680
  fieldProps,
1656
1681
  hideMessage,
1682
+ isDisabled,
1657
1683
  isRequired,
1658
1684
  name,
1659
1685
  options,
@@ -1696,6 +1722,7 @@ const SelectField = /*#__PURE__*/React__default.default.memo(function SelectFiel
1696
1722
  inputName: input.name,
1697
1723
  inputValue: input.value,
1698
1724
  isRequired: isRequired,
1725
+ isDisabled: isDisabled,
1699
1726
  metaActive: meta.active,
1700
1727
  metaError: meta.error,
1701
1728
  metaModifiedSinceLastSubmit: meta.modifiedSinceLastSubmit,
@@ -1709,6 +1736,7 @@ const SelectField = /*#__PURE__*/React__default.default.memo(function SelectFiel
1709
1736
  instanceId: `id_${input.name}`,
1710
1737
  value: selectedOptions,
1711
1738
  onChange: onChangeValue,
1739
+ isDisabled: isDisabled,
1712
1740
  options: options,
1713
1741
  ref: selectRef
1714
1742
  }, selectProps)));
@@ -1727,6 +1755,7 @@ SelectField.propTypes = {
1727
1755
  const SwitchField = /*#__PURE__*/React__default.default.memo(function SwitchField(props) {
1728
1756
  const {
1729
1757
  name,
1758
+ isDisabled,
1730
1759
  isRequired,
1731
1760
  onChange,
1732
1761
  fieldProps,
@@ -1753,6 +1782,7 @@ const SwitchField = /*#__PURE__*/React__default.default.memo(function SwitchFiel
1753
1782
  inputName: input.name,
1754
1783
  inputValue: input.checked,
1755
1784
  isRequired: isRequired,
1785
+ isDisabled: isDisabled,
1756
1786
  metaActive: meta.active,
1757
1787
  metaError: meta.error,
1758
1788
  metaModifiedSinceLastSubmit: meta.modifiedSinceLastSubmit,
@@ -1764,6 +1794,7 @@ const SwitchField = /*#__PURE__*/React__default.default.memo(function SwitchFiel
1764
1794
  tag: "label"
1765
1795
  }, fieldProps), /*#__PURE__*/React__default.default.createElement(Switch.Switch, Object.assign({
1766
1796
  autoComplete: "nope",
1797
+ isDisabled: isDisabled,
1767
1798
  checked: input.checked,
1768
1799
  name: input.name,
1769
1800
  type: "checkbox",
@@ -1788,6 +1819,7 @@ SwitchField.propTypes = {
1788
1819
  const TextareaField = /*#__PURE__*/React__default.default.memo(function TextareaField(props) {
1789
1820
  const {
1790
1821
  isRequired,
1822
+ isDisabled,
1791
1823
  name,
1792
1824
  fieldProps,
1793
1825
  inputProps,
@@ -1805,6 +1837,7 @@ const TextareaField = /*#__PURE__*/React__default.default.memo(function Textarea
1805
1837
  inputName: input.name,
1806
1838
  inputValue: input.value,
1807
1839
  isRequired: isRequired,
1840
+ isDisabled: isDisabled,
1808
1841
  metaActive: meta.active,
1809
1842
  metaError: meta.error,
1810
1843
  metaModifiedSinceLastSubmit: meta.modifiedSinceLastSubmit,
@@ -1817,6 +1850,7 @@ const TextareaField = /*#__PURE__*/React__default.default.memo(function Textarea
1817
1850
  autoComplete: "nope",
1818
1851
  name: input.name,
1819
1852
  value: input.value,
1853
+ isDisabled: isDisabled,
1820
1854
  onBlur: input.onBlur,
1821
1855
  onChange: input.onChange,
1822
1856
  onFocus: input.onFocus
@@ -150,6 +150,7 @@ function FieldWrapperBase(props) {
150
150
  type,
151
151
  labelHidden,
152
152
  hideMessage,
153
+ isDisabled,
153
154
  isHidden,
154
155
  tag: Tag,
155
156
  dataTour,
@@ -168,8 +169,8 @@ function FieldWrapperBase(props) {
168
169
  const isModifiedAfterSubmit = !metaError && metaSubmitError && metaModifiedSinceLastSubmit;
169
170
  return hasValue && (metaValid || isModifiedAfterSubmit);
170
171
  }, [inputValue, metaValid, metaError, metaSubmitError, metaModifiedSinceLastSubmit]);
171
- const formFieldClass = useMemo(() => clsx(className, showError && 'form__item_state_error', showValid && 'form__item_state_success', isRequired && 'form__item_state_required', metaActive && 'form__item_state_focus', inputValue && 'form__item_state_filled'), [className, showError, showValid, isRequired, metaActive, inputValue]);
172
- const fieldClass = useMemo(() => clsx(fieldClassName, showError && `${fieldClassName}_state_error`, showValid && `${fieldClassName}_state_success`, metaActive && `${fieldClassName}_state_focus`, inputValue && `${fieldClassName}_state_filled`), [fieldClassName, showError, showValid, metaActive, inputValue]);
172
+ const formFieldClass = useMemo(() => clsx(className, showError && 'form__item_state_error', showValid && 'form__item_state_success', isRequired && 'form__item_state_required', isDisabled && 'form__item_state_disabled', metaActive && 'form__item_state_focus', inputValue && 'form__item_state_filled'), [className, showError, showValid, isRequired, metaActive, inputValue, isDisabled]);
173
+ const fieldClass = useMemo(() => clsx(fieldClassName, showError && `${fieldClassName}_state_error`, showValid && `${fieldClassName}_state_success`, metaActive && `${fieldClassName}_state_focus`, inputValue && `${fieldClassName}_state_filled`, isDisabled && `${fieldClassName}_state_disabled`), [fieldClassName, showError, showValid, metaActive, inputValue, isDisabled]);
173
174
  const sizeClass = useDeviceTargetClass(props, {
174
175
  prefix: 'form-field_size_',
175
176
  propsKey: 'size'
@@ -202,7 +203,7 @@ function FieldWrapperBase(props) {
202
203
  styles: formFieldStyles
203
204
  } = useStyles(props);
204
205
  return /*#__PURE__*/React.createElement(Tag, {
205
- className: clsx(formFieldClass, 'form__item', 'form-field', type && `form-field_type_${type}`, set && `form-field_set_${set}`, sizeClass, fillClass, shapeClass, isHidden && `form-field_state_hidden`, directionClass, widthClass),
206
+ className: clsx(formFieldClass, 'form__item', 'form-field', type && `form-field_type_${type}`, set && `form-field_set_${set}`, sizeClass, fillClass, shapeClass, isDisabled && `form-field_state_disabled`, isHidden && `form-field_state_hidden`, directionClass, widthClass),
206
207
  "data-tour": dataTour,
207
208
  style: formFieldStyles
208
209
  }, before, (label || labelHidden) && /*#__PURE__*/React.createElement("div", {
@@ -230,18 +231,18 @@ function FieldWrapperBase(props) {
230
231
  fill: dividerFill
231
232
  })), !hideMessage && /*#__PURE__*/React.createElement("div", {
232
233
  className: "form-field__message"
233
- }, Boolean(showError) && /*#__PURE__*/React.createElement(Text, {
234
+ }, Boolean(showError) && error && typeof error === 'string' && /*#__PURE__*/React.createElement(Text, {
234
235
  className: "form-field__message-item form-field__message-item_type-error",
235
236
  size: errorMessageTextSize,
236
237
  textWeight: errorMessageTextWeight,
237
238
  textColor: errorMessageTextColor,
238
239
  id: `${inputName}-error`
239
- }, error), Boolean(message) && !showError && /*#__PURE__*/React.createElement(Text, {
240
+ }, error), Boolean(message) && (!error || typeof error !== 'string') && /*#__PURE__*/React.createElement(Text, {
240
241
  className: "form-field__message-item form-field__message-item_type_message",
241
242
  size: messageTextSize,
242
243
  textWeight: messageTextWeight,
243
244
  textColor: messageTextColor
244
- }, message), Boolean(!showError) && Boolean(!message) && /*#__PURE__*/React.createElement(Text, {
245
+ }, message), (!showError && !message || showError && !message && (!error || typeof error !== 'string')) && /*#__PURE__*/React.createElement(Text, {
245
246
  className: "form-field__message-item form-field__message-item_type_message",
246
247
  size: messageTextSize
247
248
  }, '\u00A0')), after);
@@ -341,6 +342,7 @@ FieldWrapper.propTypes = {
341
342
  const CheckboxField = /*#__PURE__*/React.memo(function CheckboxField(props) {
342
343
  const {
343
344
  name,
345
+ isDisabled,
344
346
  isRequired,
345
347
  onChange,
346
348
  fieldProps,
@@ -367,6 +369,7 @@ const CheckboxField = /*#__PURE__*/React.memo(function CheckboxField(props) {
367
369
  inputName: input.name,
368
370
  inputValue: input.checked,
369
371
  isRequired: isRequired,
372
+ isDisabled: isDisabled,
370
373
  metaActive: meta.active,
371
374
  metaError: meta.error,
372
375
  metaModifiedSinceLastSubmit: meta.modifiedSinceLastSubmit,
@@ -380,6 +383,7 @@ const CheckboxField = /*#__PURE__*/React.memo(function CheckboxField(props) {
380
383
  autoComplete: "nope",
381
384
  checked: input.checked,
382
385
  name: input.name,
386
+ isDisabled: isDisabled,
383
387
  type: "checkbox",
384
388
  onBlur: input.onBlur,
385
389
  onChange: onChangeField,
@@ -408,6 +412,7 @@ const ChoiceField = /*#__PURE__*/React.memo(function ChoiceField(props) {
408
412
  inputProps,
409
413
  isMultiple,
410
414
  isRequired,
415
+ isDisabled,
411
416
  label,
412
417
  messageType,
413
418
  name,
@@ -448,6 +453,7 @@ const ChoiceField = /*#__PURE__*/React.memo(function ChoiceField(props) {
448
453
  inputName: input.name,
449
454
  inputValue: input.value || [],
450
455
  isRequired: isRequired,
456
+ isDisabled: isDisabled,
451
457
  label: label,
452
458
  messageType: messageType,
453
459
  metaActive: meta.active,
@@ -467,7 +473,8 @@ const ChoiceField = /*#__PURE__*/React.memo(function ChoiceField(props) {
467
473
  isRequired: isRequired,
468
474
  placeholder: placeholder,
469
475
  active: activeOption,
470
- setActiveSegment: setActiveSegment
476
+ setActiveSegment: setActiveSegment,
477
+ isDisabled: isDisabled
471
478
  }, inputProps)));
472
479
  });
473
480
  });
@@ -490,6 +497,7 @@ ChoiceField.propTypes = {
490
497
  const CustomField = /*#__PURE__*/React.memo(function CustomField(props) {
491
498
  const {
492
499
  Component,
500
+ isDisabled,
493
501
  isRequired,
494
502
  name,
495
503
  fieldProps,
@@ -504,6 +512,7 @@ const CustomField = /*#__PURE__*/React.memo(function CustomField(props) {
504
512
  }) => /*#__PURE__*/React.createElement(FieldWrapper, Object.assign({
505
513
  className: clsx('form-field_type_custom', 'form__item_type_custom', classNameGroupItem),
506
514
  fieldClassName: 'form-custom',
515
+ isDisabled: isDisabled,
507
516
  inputName: input.name,
508
517
  inputValue: input.value,
509
518
  isRequired: isRequired,
@@ -516,6 +525,7 @@ const CustomField = /*#__PURE__*/React.memo(function CustomField(props) {
516
525
  metaValid: meta.valid,
517
526
  hideMessage: hideMessage
518
527
  }, fieldProps), /*#__PURE__*/React.createElement(Component, Object.assign({}, props, {
528
+ isDisabled: isDisabled,
519
529
  input: input,
520
530
  meta: meta
521
531
  }))));
@@ -534,6 +544,7 @@ CustomField.propTypes = {
534
544
  const CodeField = /*#__PURE__*/React.memo(function CodeField(props) {
535
545
  const {
536
546
  isRequired,
547
+ isDisabled,
537
548
  name,
538
549
  fieldProps,
539
550
  inputProps,
@@ -551,6 +562,7 @@ const CodeField = /*#__PURE__*/React.memo(function CodeField(props) {
551
562
  inputName: input.name,
552
563
  inputValue: input.value,
553
564
  isRequired: isRequired,
565
+ isDisabled: isDisabled,
554
566
  metaActive: meta.active,
555
567
  metaError: meta.error,
556
568
  metaModifiedSinceLastSubmit: meta.modifiedSinceLastSubmit,
@@ -562,6 +574,7 @@ const CodeField = /*#__PURE__*/React.memo(function CodeField(props) {
562
574
  }, fieldProps), /*#__PURE__*/React.createElement(Code, Object.assign({
563
575
  autoComplete: "nope",
564
576
  name: input.name,
577
+ isDisabled: isDisabled,
565
578
  value: input.value,
566
579
  onBlur: input.onBlur,
567
580
  onChange: input.onChange,
@@ -591,6 +604,7 @@ function DatePickerField(props) {
591
604
  iconBorderHover,
592
605
  iconFill,
593
606
  iconFillHover,
607
+ isDisabled,
594
608
  iconRevealableShow,
595
609
  iconRevealableHide,
596
610
  iconShape,
@@ -616,6 +630,7 @@ function DatePickerField(props) {
616
630
  inputName: input.name,
617
631
  inputValue: input.value || '',
618
632
  isRequired: isRequired,
633
+ isDisabled: isDisabled,
619
634
  metaActive: meta.active,
620
635
  metaError: meta.error,
621
636
  metaModifiedSinceLastSubmit: meta.modifiedSinceLastSubmit,
@@ -628,6 +643,7 @@ function DatePickerField(props) {
628
643
  name: input.name,
629
644
  value: input.value || '',
630
645
  onBlur: input.onBlur,
646
+ isDisabled: isDisabled,
631
647
  onChange: onChangeField,
632
648
  onFocus: input.onFocus,
633
649
  inputProps: inputProps,
@@ -1201,7 +1217,7 @@ const Group = /*#__PURE__*/React.memo(function Group(props) {
1201
1217
  messageTextColor,
1202
1218
  children,
1203
1219
  dataTour,
1204
- hideMessage,
1220
+ hideGroupMessage,
1205
1221
  name,
1206
1222
  showErrorsOnSubmit
1207
1223
  } = props;
@@ -1232,13 +1248,13 @@ const Group = /*#__PURE__*/React.memo(function Group(props) {
1232
1248
  textWeight: labelTextWeight
1233
1249
  }, label)), /*#__PURE__*/React.createElement("div", {
1234
1250
  className: "form__group-items"
1235
- }, children), after), !hideMessage && /*#__PURE__*/React.createElement(React.Fragment, null, Boolean(showError) && /*#__PURE__*/React.createElement(Text, {
1251
+ }, children), after), !hideGroupMessage && /*#__PURE__*/React.createElement(React.Fragment, null, Boolean(showError) && /*#__PURE__*/React.createElement(Text, {
1236
1252
  className: "form__group-message form__group-message_type-error",
1237
1253
  size: errorMessageTextSize,
1238
1254
  textWeight: errorMessageTextWeight,
1239
1255
  textColor: errorMessageTextColor,
1240
1256
  id: `${name}-error`
1241
- }, error), Boolean(message) && !showError && /*#__PURE__*/React.createElement(Text, {
1257
+ }, error), Boolean(message) && (!error || typeof error !== 'string') && /*#__PURE__*/React.createElement(Text, {
1242
1258
  className: "form__group-message",
1243
1259
  size: messageTextSize,
1244
1260
  textWeight: messageTextWeight,
@@ -1275,6 +1291,7 @@ const InputField = /*#__PURE__*/React.memo(function InputField(props) {
1275
1291
  name,
1276
1292
  parse,
1277
1293
  iconSize,
1294
+ isDisabled,
1278
1295
  iconBorder,
1279
1296
  iconBorderHover,
1280
1297
  iconFill,
@@ -1317,6 +1334,7 @@ const InputField = /*#__PURE__*/React.memo(function InputField(props) {
1317
1334
  inputName: input.name,
1318
1335
  inputValue: input.value || '',
1319
1336
  isRequired: isRequired,
1337
+ isDisabled: isDisabled,
1320
1338
  metaActive: meta.active,
1321
1339
  metaError: meta.error,
1322
1340
  metaModifiedSinceLastSubmit: meta.modifiedSinceLastSubmit,
@@ -1333,7 +1351,8 @@ const InputField = /*#__PURE__*/React.memo(function InputField(props) {
1333
1351
  value: input.value || '',
1334
1352
  onBlur: input.onBlur,
1335
1353
  onChange: onChangeField,
1336
- onFocus: input.onFocus
1354
+ onFocus: input.onFocus,
1355
+ isDisabled: isDisabled
1337
1356
  }, inputProps)), isRevealable && /*#__PURE__*/React.createElement(Icon, {
1338
1357
  className: "form-field__icon",
1339
1358
  iconFill: iconFill,
@@ -1508,6 +1527,7 @@ const RadioGroup = /*#__PURE__*/React.memo(function RadioGroup(props) {
1508
1527
  editableProps,
1509
1528
  inputProps,
1510
1529
  onChange,
1530
+ isDisabled,
1511
1531
  hideMessage
1512
1532
  } = props;
1513
1533
  return /*#__PURE__*/React.createElement(Field, {
@@ -1521,6 +1541,7 @@ const RadioGroup = /*#__PURE__*/React.memo(function RadioGroup(props) {
1521
1541
  inputName: input.name,
1522
1542
  inputValue: input.value || '',
1523
1543
  isRequired: isRequired,
1544
+ isDisabled: isDisabled,
1524
1545
  metaActive: meta.active,
1525
1546
  metaError: meta.error,
1526
1547
  metaModifiedSinceLastSubmit: meta.modifiedSinceLastSubmit,
@@ -1532,6 +1553,7 @@ const RadioGroup = /*#__PURE__*/React.memo(function RadioGroup(props) {
1532
1553
  }, fieldProps), /*#__PURE__*/React.createElement(RadioGroupList, {
1533
1554
  input: input,
1534
1555
  options: options,
1556
+ isDisabled: isDisabled,
1535
1557
  onChange: onChange,
1536
1558
  editableProps: editableProps,
1537
1559
  inputProps: inputProps
@@ -1561,6 +1583,7 @@ function SegmentedField(props) {
1561
1583
  name,
1562
1584
  fieldProps,
1563
1585
  inputProps,
1586
+ isDisabled,
1564
1587
  hideMessage
1565
1588
  } = props;
1566
1589
  const {
@@ -1592,6 +1615,7 @@ function SegmentedField(props) {
1592
1615
  inputName: input.name,
1593
1616
  inputValue: input.value || [],
1594
1617
  isRequired: isRequired,
1618
+ isDisabled: isDisabled,
1595
1619
  metaActive: meta.active,
1596
1620
  metaError: meta.error,
1597
1621
  metaModifiedSinceLastSubmit: meta.modifiedSinceLastSubmit,
@@ -1602,6 +1626,7 @@ function SegmentedField(props) {
1602
1626
  hideMessage: hideMessage
1603
1627
  }, fieldProps), /*#__PURE__*/React.createElement(Segmented, Object.assign({
1604
1628
  segments: options,
1629
+ isDisabled: isDisabled,
1605
1630
  setActiveSegment: setActiveSegment,
1606
1631
  activeSegment: activeOption
1607
1632
  }, inputProps)));
@@ -1644,6 +1669,7 @@ const SelectField = /*#__PURE__*/React.memo(function SelectField(props) {
1644
1669
  classNameGroupItem,
1645
1670
  fieldProps,
1646
1671
  hideMessage,
1672
+ isDisabled,
1647
1673
  isRequired,
1648
1674
  name,
1649
1675
  options,
@@ -1686,6 +1712,7 @@ const SelectField = /*#__PURE__*/React.memo(function SelectField(props) {
1686
1712
  inputName: input.name,
1687
1713
  inputValue: input.value,
1688
1714
  isRequired: isRequired,
1715
+ isDisabled: isDisabled,
1689
1716
  metaActive: meta.active,
1690
1717
  metaError: meta.error,
1691
1718
  metaModifiedSinceLastSubmit: meta.modifiedSinceLastSubmit,
@@ -1699,6 +1726,7 @@ const SelectField = /*#__PURE__*/React.memo(function SelectField(props) {
1699
1726
  instanceId: `id_${input.name}`,
1700
1727
  value: selectedOptions,
1701
1728
  onChange: onChangeValue,
1729
+ isDisabled: isDisabled,
1702
1730
  options: options,
1703
1731
  ref: selectRef
1704
1732
  }, selectProps)));
@@ -1717,6 +1745,7 @@ SelectField.propTypes = {
1717
1745
  const SwitchField = /*#__PURE__*/React.memo(function SwitchField(props) {
1718
1746
  const {
1719
1747
  name,
1748
+ isDisabled,
1720
1749
  isRequired,
1721
1750
  onChange,
1722
1751
  fieldProps,
@@ -1743,6 +1772,7 @@ const SwitchField = /*#__PURE__*/React.memo(function SwitchField(props) {
1743
1772
  inputName: input.name,
1744
1773
  inputValue: input.checked,
1745
1774
  isRequired: isRequired,
1775
+ isDisabled: isDisabled,
1746
1776
  metaActive: meta.active,
1747
1777
  metaError: meta.error,
1748
1778
  metaModifiedSinceLastSubmit: meta.modifiedSinceLastSubmit,
@@ -1754,6 +1784,7 @@ const SwitchField = /*#__PURE__*/React.memo(function SwitchField(props) {
1754
1784
  tag: "label"
1755
1785
  }, fieldProps), /*#__PURE__*/React.createElement(Switch, Object.assign({
1756
1786
  autoComplete: "nope",
1787
+ isDisabled: isDisabled,
1757
1788
  checked: input.checked,
1758
1789
  name: input.name,
1759
1790
  type: "checkbox",
@@ -1778,6 +1809,7 @@ SwitchField.propTypes = {
1778
1809
  const TextareaField = /*#__PURE__*/React.memo(function TextareaField(props) {
1779
1810
  const {
1780
1811
  isRequired,
1812
+ isDisabled,
1781
1813
  name,
1782
1814
  fieldProps,
1783
1815
  inputProps,
@@ -1795,6 +1827,7 @@ const TextareaField = /*#__PURE__*/React.memo(function TextareaField(props) {
1795
1827
  inputName: input.name,
1796
1828
  inputValue: input.value,
1797
1829
  isRequired: isRequired,
1830
+ isDisabled: isDisabled,
1798
1831
  metaActive: meta.active,
1799
1832
  metaError: meta.error,
1800
1833
  metaModifiedSinceLastSubmit: meta.modifiedSinceLastSubmit,
@@ -1807,6 +1840,7 @@ const TextareaField = /*#__PURE__*/React.memo(function TextareaField(props) {
1807
1840
  autoComplete: "nope",
1808
1841
  name: input.name,
1809
1842
  value: input.value,
1843
+ isDisabled: isDisabled,
1810
1844
  onBlur: input.onBlur,
1811
1845
  onChange: input.onChange,
1812
1846
  onFocus: input.onFocus
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itcase/forms",
3
- "version": "1.0.47",
3
+ "version": "1.0.49",
4
4
  "description": "Forms fields, inputs, etc.",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -30,14 +30,14 @@
30
30
  "registry": "https://registry.npmjs.org/"
31
31
  },
32
32
  "dependencies": {
33
- "@itcase/common": "^1.1.10",
34
- "@itcase/ui": "^1.0.84",
33
+ "@itcase/common": "^1.1.11",
34
+ "@itcase/ui": "^1.0.88",
35
35
  "axios": "^1.6.2",
36
36
  "clsx": "^2.0.0",
37
37
  "date-fns": "2.0.0-alpha.7",
38
38
  "final-form": "^4.20.10",
39
39
  "final-form-focus": "^1.1.2",
40
- "libphonenumber-js": "^1.10.51",
40
+ "libphonenumber-js": "^1.10.52",
41
41
  "lodash": "^4.17.21",
42
42
  "luxon": "^3.4.4",
43
43
  "prop-types": "^15.8.1",
@@ -63,12 +63,12 @@
63
63
  "@semantic-release/git": "^10.0.1",
64
64
  "babel-plugin-inline-react-svg": "^2.0.2",
65
65
  "babel-plugin-transform-react-remove-prop-types": "^0.4.24",
66
- "eslint": "8.55.0",
66
+ "eslint": "8.56.0",
67
67
  "eslint-config-prettier": "^9.1.0",
68
68
  "eslint-config-standard": "^17.1.0",
69
69
  "eslint-plugin-import": "^2.29.1",
70
- "eslint-plugin-n": "^16.4.0",
71
- "eslint-plugin-prettier": "^5.0.1",
70
+ "eslint-plugin-n": "^16.5.0",
71
+ "eslint-plugin-prettier": "^5.1.2",
72
72
  "eslint-plugin-promise": "^6.1.1",
73
73
  "eslint-plugin-react": "^7.33.2",
74
74
  "eslint-plugin-standard": "^5.0.0",
@@ -97,12 +97,12 @@
97
97
  "postcss-responsive-type": "github:ITCase/postcss-responsive-type",
98
98
  "postcss-sort-media-queries": "^5.2.0",
99
99
  "prettier": "^3.1.1",
100
- "react-datepicker": "^4.24.0",
101
- "rollup": "^4.9.0",
100
+ "react-datepicker": "^4.25.0",
101
+ "rollup": "^4.9.1",
102
102
  "rollup-plugin-peer-deps-external": "^2.2.4",
103
103
  "semantic-release": "^22.0.12",
104
- "stylelint": "^16.0.2",
105
- "stylelint-config-standard": "^35.0.0",
104
+ "stylelint": "^16.1.0",
105
+ "stylelint-config-standard": "^36.0.0",
106
106
  "stylelint-no-unsupported-browser-features": "^7.0.0",
107
107
  "stylelint-order": "^6.0.4"
108
108
  }