@itcase/forms 1.1.35 → 1.1.37

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.
@@ -7,7 +7,7 @@
7
7
  outline: 0;
8
8
  @mixin easing easeOutQuart, all, 0.2s;
9
9
  &_size {
10
- @each $size in normal, compact {
10
+ @each $size in xl, l, m, s {
11
11
  &_$(size) {
12
12
  ^^&-wrapper {
13
13
  padding: var(--fileinput-size-$(size)-padding);
@@ -19,6 +19,7 @@
19
19
  display: grid;
20
20
  gap: 16px;
21
21
  grid-template-columns: repeat(3, minmax(0, 1fr));
22
+ transition: var(--fileinput-transition);
22
23
  }
23
24
  ^&__hint {
24
25
  width: 100%;
@@ -91,10 +92,10 @@
91
92
  }
92
93
  &-name {
93
94
  width: 100%;
95
+ white-space: wrap;
94
96
  padding: 12px 0 0 0;
95
- grid-column-start: 2;
96
97
  align-self: flex-start;
97
- white-space: wrap;
98
+ grid-column-start: 2;
98
99
  &-inner {
99
100
  display: inline-block;
100
101
  @mixin word-wrap;
@@ -116,7 +117,7 @@
116
117
  .form-dropzone {
117
118
  &_shape {
118
119
  &_rounded {
119
- @each $size in normal, compact {
120
+ @each $size in xl, l, m, s {
120
121
  &.form-dropzone__dropzone_size_$(size) {
121
122
  & .form-dropzone__dropzone-wrapper {
122
123
  border-radius: var(--fileinput-size-$(size)-shape-rounded);
@@ -155,4 +156,5 @@
155
156
  :root {
156
157
  --fileinput-size-normal-padding: 16px 16px;
157
158
  --fileinput-size-normal-shape-rounded: 6px;
159
+ --fileinput-transition: all 0.2s ease 0s;
158
160
  }
@@ -132,8 +132,8 @@ function useYupValidationSchema(schema, language) {
132
132
  function useFieldValidationState(props) {
133
133
  const {
134
134
  fieldProps = {},
135
- meta = {},
136
- input = {}
135
+ input = {},
136
+ meta = {}
137
137
  } = props;
138
138
  // Determines if there's a submission error that hasn't been rectified since the last submission.
139
139
  const submitError = !meta.modifiedSinceLastSubmit && meta.submitError;
@@ -179,10 +179,10 @@ function useFieldValidationState(props) {
179
179
  }, [meta.error, submitError]);
180
180
  return {
181
181
  errorKey,
182
- successKey,
182
+ errorMessage,
183
183
  isErrorState,
184
- isValidState,
185
- errorMessage
184
+ successKey,
185
+ isValidState
186
186
  };
187
187
  }
188
188
 
@@ -371,13 +371,13 @@ function FieldWrapperBase(props) {
371
371
  const errorTextColor = props[`${errorKey}MessageTextColor`];
372
372
  const errorTextWeight = props[`${errorKey}MessageTextWeight`];
373
373
  return /*#__PURE__*/React__default.default.createElement(Tag, {
374
- dataTestId: `${inputName}Field`,
375
- dataTour: dataTour,
376
374
  className: clsx__default.default(formFieldClass, 'form__item', 'form-field', type && `form-field_type_${type}`, sizeClass, fillClass, shapeClass, isDisabled && `form-field_state_disabled`, isHidden && `form-field_state_hidden`, directionClass, widthClass),
375
+ "data-test-id": `${inputName}Field`,
376
+ "data-tour": dataTour,
377
377
  style: formFieldStyles
378
378
  }, before, (label || labelHidden) && /*#__PURE__*/React__default.default.createElement("div", {
379
- dataTestId: `${inputName}FieldLabel`,
380
379
  className: clsx__default.default('form-field__label'),
380
+ "data-test-id": `${inputName}FieldLabel`,
381
381
  htmlFor: id
382
382
  }, /*#__PURE__*/React__default.default.createElement(Text.Text, {
383
383
  size: labelTextSize,
@@ -386,8 +386,8 @@ function FieldWrapperBase(props) {
386
386
  sizeMobile: labelTextSizeMobile,
387
387
  sizeTablet: labelTextSizeTablet
388
388
  }, label, labelHidden && '\u00A0')), desc && /*#__PURE__*/React__default.default.createElement("div", {
389
- dataTestId: `${inputName}FieldDesc`,
390
- className: "form-field__desc"
389
+ className: "form-field__desc",
390
+ "data-test-id": `${inputName}FieldDesc`
391
391
  }, /*#__PURE__*/React__default.default.createElement(Text.Text, {
392
392
  size: descTextSize,
393
393
  textColor: descTextColor,
@@ -403,8 +403,8 @@ function FieldWrapperBase(props) {
403
403
  size: dividerSize,
404
404
  fill: dividerFill
405
405
  })), showMessage && /*#__PURE__*/React__default.default.createElement("div", {
406
- dataTestId: `${inputName}FieldMessage`,
407
- className: "form-field__message"
406
+ className: "form-field__message",
407
+ "data-test-id": `${inputName}FieldMessage`
408
408
  }, isErrorState && errorMessage && /*#__PURE__*/React__default.default.createElement(Text.Text, {
409
409
  id: `${inputName}-error`,
410
410
  dataTestId: `${inputName}FieldMessageError`,
@@ -442,9 +442,10 @@ function FieldWrapper(props) {
442
442
  }
443
443
 
444
444
  const defaultDropzoneProps = {
445
- fill: 'surfacePrimary',
446
- borderColor: 'surfaceBorderTertiary',
447
- borderColorHover: 'surfaceBorderQuaternary',
445
+ fill: 'surfaceSecondary',
446
+ fillHover: 'surfaceTertiary',
447
+ // borderColor: 'surfaceBorderTertiary',
448
+ // borderColorHover: 'surfaceBorderQuaternary',
448
449
  hintTitle: 'Перетащите изображение или выберите файл с компьютера',
449
450
  hintTitleTextColor: 'surfaceTextPrimary',
450
451
  hintTitleTextSize: 'm',
@@ -646,11 +647,12 @@ const FileInputDropzone = /*#__PURE__*/React__default.default.memo(function File
646
647
  thumbNameTextWrap
647
648
  } = propsGenerator;
648
649
  return /*#__PURE__*/React__default.default.createElement(React__default.default.Fragment, null, /*#__PURE__*/React__default.default.createElement("div", getRootProps({
649
- className: `form-dropzone__dropzone dropzone ${className} form-dropzone__dropzone_size_${size} ${shapeClass}`
650
+ // className: `form-dropzone__dropzone dropzone ${className} form-dropzone__dropzone_size_${size} ${shapeClass}`,
651
+ className: `form-dropzone__dropzone dropzone`
650
652
  }), /*#__PURE__*/React__default.default.createElement("input", Object.assign({}, getInputProps(), {
651
653
  name: inputName
652
654
  })), /*#__PURE__*/React__default.default.createElement("div", {
653
- className: clsx__default.default('form-dropzone__dropzone-wrapper', thumbColumn && `form-dropzone__dropzone-wrapper_column_${thumbColumn}`, fillClass, fillHoverClass, borderWidthClass, borderColorClass, borderColorHoverClass, borderTypeClass)
655
+ className: clsx__default.default('form-dropzone__dropzone-wrapper', thumbColumn && `form-dropzone__dropzone-wrapper_column_${thumbColumn}`, fillClass && `fill_${fillClass}`, fillHoverClass && `fill_hover_${fillHoverClass}`, borderWidthClass && `border-width_${borderWidthClass}`, borderColorClass && `border-color_${borderColorClass}`, borderColorHoverClass && `border-color_hover_${borderColorHoverClass}`, borderTypeClass && `border_type_${borderTypeClass}`, shapeClass && `shape_${shapeClass}`)
654
656
  }, filesList.map((file, index) => /*#__PURE__*/React__default.default.createElement("aside", {
655
657
  className: clsx__default.default('form-dropzone__thumb', fillClass, thumbDirectionClass, thumbBorderWidthClass, thumbBorderColorClass, thumbBorderColorHoverClass, thumbBorderTypeClass),
656
658
  key: file.id || `${file.name}_${index}`
@@ -680,10 +682,7 @@ const FileInputDropzone = /*#__PURE__*/React__default.default.memo(function File
680
682
  className: "form-dropzone__thumb-loader"
681
683
  }, /*#__PURE__*/React__default.default.createElement(Loader.Loader, {
682
684
  width: "fill",
683
- height: "fill",
684
- fill: "surfacePrimary",
685
- itemFill: "surfaceItemAccent",
686
- set: "simple"
685
+ height: "fill"
687
686
  })), /*#__PURE__*/React__default.default.createElement("div", {
688
687
  className: clsx__default.default('form-dropzone__thumb-remove')
689
688
  }, /*#__PURE__*/React__default.default.createElement(Button.Button, {
@@ -844,9 +843,9 @@ const FileInput = /*#__PURE__*/React__default.default.memo(function FileInput(pr
844
843
  hintTitleTextWeight,
845
844
  hintTitleTextWrap,
846
845
  removeThumbAppearance,
846
+ removeThumbShape,
847
847
  removeThumbText,
848
848
  removeThumbTextWeight,
849
- removeThumbShape,
850
849
  shape,
851
850
  thumbBorderColor,
852
851
  thumbBorderColorHover,
@@ -938,9 +937,9 @@ const FileInput = /*#__PURE__*/React__default.default.memo(function FileInput(pr
938
937
  inputValue: input.value,
939
938
  metaTouched: meta.touched,
940
939
  removeThumbAppearance: removeThumbAppearance,
940
+ removeThumbShape: removeThumbShape,
941
941
  removeThumbText: removeThumbText,
942
942
  removeThumbTextWeight: removeThumbTextWeight,
943
- removeThumbShape: removeThumbShape,
944
943
  shape: shape,
945
944
  showFilename: showFilename,
946
945
  thumbBorderColor: thumbBorderColor,
@@ -996,6 +995,11 @@ const FormBlockGroup = /*#__PURE__*/React__default.default.memo(function Group(p
996
995
  isHidden,
997
996
  children
998
997
  } = props;
998
+
999
+ // @ts-expect-error
1000
+ const {
1001
+ styles: styles
1002
+ } = useStyles.useStyles(props);
999
1003
  return /*#__PURE__*/React__default.default.createElement(reactFinalForm.Field, {
1000
1004
  name: name
1001
1005
  }, function Render({
@@ -1024,7 +1028,8 @@ const FormBlockGroup = /*#__PURE__*/React__default.default.memo(function Group(p
1024
1028
  });
1025
1029
  return /*#__PURE__*/React__default.default.createElement("div", {
1026
1030
  className: clsx__default.default('form__group', className, isHidden && 'form__group_hidden', column && `form__group_column_${column}`),
1027
- "data-tour": dataTour
1031
+ "data-tour": dataTour,
1032
+ style: styles
1028
1033
  }, /*#__PURE__*/React__default.default.createElement("div", {
1029
1034
  className: "form__group-wrapper"
1030
1035
  }, before, title && /*#__PURE__*/React__default.default.createElement("div", {
@@ -1682,6 +1687,8 @@ const FormFieldInput = /*#__PURE__*/React__default.default.memo(function FormFie
1682
1687
  inputProps: inputProps,
1683
1688
  validationStateKey: isErrorState ? errorKey : isValidState ? successKey : null
1684
1689
  });
1690
+ console.log('updatedInputProps');
1691
+ console.log(updatedInputProps);
1685
1692
  return /*#__PURE__*/React__default.default.createElement(FieldWrapper, Object.assign({
1686
1693
  className: clsx__default.default('form-field_input', 'form__item_input', classNameGroupItem),
1687
1694
  errorKey: errorKey,
@@ -1830,7 +1837,7 @@ const defaultSegmentedProps = {
1830
1837
  // Error
1831
1838
  errorAppearance: 'errorPrimary sizeM solid rounded',
1832
1839
  // Required
1833
- requiredAppearance: 'requirePrimary sizeM solid rounded'
1840
+ requiredAppearance: 'warningPrimary sizeM solid rounded'
1834
1841
  };
1835
1842
 
1836
1843
  function FormFieldSegmented(props) {
@@ -121,8 +121,8 @@ function useYupValidationSchema(schema, language) {
121
121
  function useFieldValidationState(props) {
122
122
  const {
123
123
  fieldProps = {},
124
- meta = {},
125
- input = {}
124
+ input = {},
125
+ meta = {}
126
126
  } = props;
127
127
  // Determines if there's a submission error that hasn't been rectified since the last submission.
128
128
  const submitError = !meta.modifiedSinceLastSubmit && meta.submitError;
@@ -168,10 +168,10 @@ function useFieldValidationState(props) {
168
168
  }, [meta.error, submitError]);
169
169
  return {
170
170
  errorKey,
171
- successKey,
171
+ errorMessage,
172
172
  isErrorState,
173
- isValidState,
174
- errorMessage
173
+ successKey,
174
+ isValidState
175
175
  };
176
176
  }
177
177
 
@@ -360,13 +360,13 @@ function FieldWrapperBase(props) {
360
360
  const errorTextColor = props[`${errorKey}MessageTextColor`];
361
361
  const errorTextWeight = props[`${errorKey}MessageTextWeight`];
362
362
  return /*#__PURE__*/React.createElement(Tag, {
363
- dataTestId: `${inputName}Field`,
364
- dataTour: dataTour,
365
363
  className: clsx(formFieldClass, 'form__item', 'form-field', type && `form-field_type_${type}`, sizeClass, fillClass, shapeClass, isDisabled && `form-field_state_disabled`, isHidden && `form-field_state_hidden`, directionClass, widthClass),
364
+ "data-test-id": `${inputName}Field`,
365
+ "data-tour": dataTour,
366
366
  style: formFieldStyles
367
367
  }, before, (label || labelHidden) && /*#__PURE__*/React.createElement("div", {
368
- dataTestId: `${inputName}FieldLabel`,
369
368
  className: clsx('form-field__label'),
369
+ "data-test-id": `${inputName}FieldLabel`,
370
370
  htmlFor: id
371
371
  }, /*#__PURE__*/React.createElement(Text, {
372
372
  size: labelTextSize,
@@ -375,8 +375,8 @@ function FieldWrapperBase(props) {
375
375
  sizeMobile: labelTextSizeMobile,
376
376
  sizeTablet: labelTextSizeTablet
377
377
  }, label, labelHidden && '\u00A0')), desc && /*#__PURE__*/React.createElement("div", {
378
- dataTestId: `${inputName}FieldDesc`,
379
- className: "form-field__desc"
378
+ className: "form-field__desc",
379
+ "data-test-id": `${inputName}FieldDesc`
380
380
  }, /*#__PURE__*/React.createElement(Text, {
381
381
  size: descTextSize,
382
382
  textColor: descTextColor,
@@ -392,8 +392,8 @@ function FieldWrapperBase(props) {
392
392
  size: dividerSize,
393
393
  fill: dividerFill
394
394
  })), showMessage && /*#__PURE__*/React.createElement("div", {
395
- dataTestId: `${inputName}FieldMessage`,
396
- className: "form-field__message"
395
+ className: "form-field__message",
396
+ "data-test-id": `${inputName}FieldMessage`
397
397
  }, isErrorState && errorMessage && /*#__PURE__*/React.createElement(Text, {
398
398
  id: `${inputName}-error`,
399
399
  dataTestId: `${inputName}FieldMessageError`,
@@ -431,9 +431,10 @@ function FieldWrapper(props) {
431
431
  }
432
432
 
433
433
  const defaultDropzoneProps = {
434
- fill: 'surfacePrimary',
435
- borderColor: 'surfaceBorderTertiary',
436
- borderColorHover: 'surfaceBorderQuaternary',
434
+ fill: 'surfaceSecondary',
435
+ fillHover: 'surfaceTertiary',
436
+ // borderColor: 'surfaceBorderTertiary',
437
+ // borderColorHover: 'surfaceBorderQuaternary',
437
438
  hintTitle: 'Перетащите изображение или выберите файл с компьютера',
438
439
  hintTitleTextColor: 'surfaceTextPrimary',
439
440
  hintTitleTextSize: 'm',
@@ -635,11 +636,12 @@ const FileInputDropzone = /*#__PURE__*/React.memo(function FileInputDropzone(pro
635
636
  thumbNameTextWrap
636
637
  } = propsGenerator;
637
638
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", getRootProps({
638
- className: `form-dropzone__dropzone dropzone ${className} form-dropzone__dropzone_size_${size} ${shapeClass}`
639
+ // className: `form-dropzone__dropzone dropzone ${className} form-dropzone__dropzone_size_${size} ${shapeClass}`,
640
+ className: `form-dropzone__dropzone dropzone`
639
641
  }), /*#__PURE__*/React.createElement("input", Object.assign({}, getInputProps(), {
640
642
  name: inputName
641
643
  })), /*#__PURE__*/React.createElement("div", {
642
- className: clsx('form-dropzone__dropzone-wrapper', thumbColumn && `form-dropzone__dropzone-wrapper_column_${thumbColumn}`, fillClass, fillHoverClass, borderWidthClass, borderColorClass, borderColorHoverClass, borderTypeClass)
644
+ className: clsx('form-dropzone__dropzone-wrapper', thumbColumn && `form-dropzone__dropzone-wrapper_column_${thumbColumn}`, fillClass && `fill_${fillClass}`, fillHoverClass && `fill_hover_${fillHoverClass}`, borderWidthClass && `border-width_${borderWidthClass}`, borderColorClass && `border-color_${borderColorClass}`, borderColorHoverClass && `border-color_hover_${borderColorHoverClass}`, borderTypeClass && `border_type_${borderTypeClass}`, shapeClass && `shape_${shapeClass}`)
643
645
  }, filesList.map((file, index) => /*#__PURE__*/React.createElement("aside", {
644
646
  className: clsx('form-dropzone__thumb', fillClass, thumbDirectionClass, thumbBorderWidthClass, thumbBorderColorClass, thumbBorderColorHoverClass, thumbBorderTypeClass),
645
647
  key: file.id || `${file.name}_${index}`
@@ -669,10 +671,7 @@ const FileInputDropzone = /*#__PURE__*/React.memo(function FileInputDropzone(pro
669
671
  className: "form-dropzone__thumb-loader"
670
672
  }, /*#__PURE__*/React.createElement(Loader, {
671
673
  width: "fill",
672
- height: "fill",
673
- fill: "surfacePrimary",
674
- itemFill: "surfaceItemAccent",
675
- set: "simple"
674
+ height: "fill"
676
675
  })), /*#__PURE__*/React.createElement("div", {
677
676
  className: clsx('form-dropzone__thumb-remove')
678
677
  }, /*#__PURE__*/React.createElement(Button, {
@@ -833,9 +832,9 @@ const FileInput = /*#__PURE__*/React.memo(function FileInput(props) {
833
832
  hintTitleTextWeight,
834
833
  hintTitleTextWrap,
835
834
  removeThumbAppearance,
835
+ removeThumbShape,
836
836
  removeThumbText,
837
837
  removeThumbTextWeight,
838
- removeThumbShape,
839
838
  shape,
840
839
  thumbBorderColor,
841
840
  thumbBorderColorHover,
@@ -927,9 +926,9 @@ const FileInput = /*#__PURE__*/React.memo(function FileInput(props) {
927
926
  inputValue: input.value,
928
927
  metaTouched: meta.touched,
929
928
  removeThumbAppearance: removeThumbAppearance,
929
+ removeThumbShape: removeThumbShape,
930
930
  removeThumbText: removeThumbText,
931
931
  removeThumbTextWeight: removeThumbTextWeight,
932
- removeThumbShape: removeThumbShape,
933
932
  shape: shape,
934
933
  showFilename: showFilename,
935
934
  thumbBorderColor: thumbBorderColor,
@@ -985,6 +984,11 @@ const FormBlockGroup = /*#__PURE__*/React.memo(function Group(props) {
985
984
  isHidden,
986
985
  children
987
986
  } = props;
987
+
988
+ // @ts-expect-error
989
+ const {
990
+ styles: styles
991
+ } = useStyles(props);
988
992
  return /*#__PURE__*/React.createElement(Field, {
989
993
  name: name
990
994
  }, function Render({
@@ -1013,7 +1017,8 @@ const FormBlockGroup = /*#__PURE__*/React.memo(function Group(props) {
1013
1017
  });
1014
1018
  return /*#__PURE__*/React.createElement("div", {
1015
1019
  className: clsx('form__group', className, isHidden && 'form__group_hidden', column && `form__group_column_${column}`),
1016
- "data-tour": dataTour
1020
+ "data-tour": dataTour,
1021
+ style: styles
1017
1022
  }, /*#__PURE__*/React.createElement("div", {
1018
1023
  className: "form__group-wrapper"
1019
1024
  }, before, title && /*#__PURE__*/React.createElement("div", {
@@ -1671,6 +1676,8 @@ const FormFieldInput = /*#__PURE__*/React.memo(function FormFieldInput(props) {
1671
1676
  inputProps: inputProps,
1672
1677
  validationStateKey: isErrorState ? errorKey : isValidState ? successKey : null
1673
1678
  });
1679
+ console.log('updatedInputProps');
1680
+ console.log(updatedInputProps);
1674
1681
  return /*#__PURE__*/React.createElement(FieldWrapper, Object.assign({
1675
1682
  className: clsx('form-field_input', 'form__item_input', classNameGroupItem),
1676
1683
  errorKey: errorKey,
@@ -1819,7 +1826,7 @@ const defaultSegmentedProps = {
1819
1826
  // Error
1820
1827
  errorAppearance: 'errorPrimary sizeM solid rounded',
1821
1828
  // Required
1822
- requiredAppearance: 'requirePrimary sizeM solid rounded'
1829
+ requiredAppearance: 'warningPrimary sizeM solid rounded'
1823
1830
  };
1824
1831
 
1825
1832
  function FormFieldSegmented(props) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itcase/forms",
3
- "version": "1.1.35",
3
+ "version": "1.1.37",
4
4
  "description": "Forms fields, inputs, etc.",
5
5
  "keywords": [],
6
6
  "license": "MIT",