@itcase/forms 1.0.56 → 1.0.58

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.
@@ -19,6 +19,7 @@
19
19
  }
20
20
  }
21
21
  }
22
+
22
23
  &_error {
23
24
  & .input {
24
25
  border: solid 1px var(--input-error-border);
@@ -7,40 +7,6 @@
7
7
  }
8
8
  }
9
9
  }
10
- .form {
11
- &__header {
12
- width: 100%;
13
- position: relative;
14
- &-wrapper {
15
- position: relative;
16
- }
17
- &-title {
18
- width: 100%;
19
- position: relative;
20
- &-text {
21
- width: 100%;
22
- max-width: var(--max);
23
- color: var(--color-surface-text-primary);
24
- margin: 0 auto;
25
- position: relative;
26
- align-self: center;
27
- @mixin h4 500;
28
- }
29
- &-desc {
30
- width: 100%;
31
- color: var(--color-surface-text-primary);
32
- padding: 12px 0 0 0;
33
- position: relative;
34
- @mixin text-xl;
35
- @media (--mobile) {
36
- padding: 24px 0 0 0;
37
- grid-row-start: 3;
38
- grid-column: 1 / 3;
39
- }
40
- }
41
- }
42
- }
43
- }
44
10
  .form {
45
11
  &__loader {
46
12
  width: 100%;
@@ -70,10 +36,6 @@
70
36
  .form {
71
37
  &__item {
72
38
  &&_state_required {
73
- & ^&-inner {
74
- &-item {
75
- }
76
- }
77
39
  }
78
40
  }
79
41
  }
@@ -153,10 +115,10 @@
153
115
  .form-notification {
154
116
  &_type {
155
117
  &_sticky {
156
- z-index: 100;
157
118
  position: sticky;
158
- top: 20px;
159
119
  left: 0;
120
+ top: 20px;
121
+ z-index: 100;
160
122
  }
161
123
  &_global {
162
124
  margin: 0 0 16px 0;
@@ -179,8 +141,8 @@
179
141
  ^&__button {
180
142
  width: 100%;
181
143
  position: fixed;
182
- bottom: 0;
183
144
  left: 0;
145
+ bottom: 0;
184
146
  z-index: 100;
185
147
  }
186
148
  }
@@ -1,10 +1,6 @@
1
1
  .form {
2
2
  &__item {
3
3
  &&_state_required {
4
- & ^&-inner {
5
- &-item {
6
- }
7
- }
8
4
  }
9
5
  }
10
6
  }
@@ -1,10 +1,10 @@
1
1
  .form-notification {
2
2
  &_type {
3
3
  &_sticky {
4
- z-index: 100;
5
4
  position: sticky;
6
- top: 20px;
7
5
  left: 0;
6
+ top: 20px;
7
+ z-index: 100;
8
8
  }
9
9
  &_global {
10
10
  margin: 0 0 16px 0;
@@ -15,3 +15,4 @@
15
15
  border-radius: 12px;
16
16
  }
17
17
  }
18
+
@@ -153,6 +153,9 @@ function FieldWrapperBase(props) {
153
153
  helpTextSize,
154
154
  helpTextWeight,
155
155
  helpTextColor,
156
+ errorBorderWidth,
157
+ errorBorderColor,
158
+ errorFill,
156
159
  message,
157
160
  messageTextColor,
158
161
  messageTextSize,
@@ -220,19 +223,19 @@ function FieldWrapperBase(props) {
220
223
  return /*#__PURE__*/React__default.default.createElement(Tag, {
221
224
  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),
222
225
  "data-tour": dataTour,
223
- "data-testid": `${inputName}Field`,
226
+ "data-test-id": `${inputName}Field`,
224
227
  style: formFieldStyles
225
228
  }, before, (label || labelHidden) && /*#__PURE__*/React__default.default.createElement("div", {
226
229
  htmlFor: id,
227
230
  className: clsx__default.default('form-field__label'),
228
- "data-testid": `${inputName}FieldLabel`
231
+ "data-test-id": `${inputName}FieldLabel`
229
232
  }, /*#__PURE__*/React__default.default.createElement(Text.Text, {
230
233
  size: labelTextSize,
231
234
  textWeight: labelTextWidth,
232
235
  textColor: labelTextColor
233
236
  }, label, labelHidden && '\u00A0')), desc && /*#__PURE__*/React__default.default.createElement("div", {
234
237
  className: "form-field__desc",
235
- "data-testid": `${inputName}FieldDesc`
238
+ "data-test-id": `${inputName}FieldDesc`
236
239
  }, /*#__PURE__*/React__default.default.createElement(Text.Text, {
237
240
  size: descTextSize,
238
241
  textWeight: descTextWidth,
@@ -249,7 +252,7 @@ function FieldWrapperBase(props) {
249
252
  fill: dividerFill
250
253
  })), showMessage && /*#__PURE__*/React__default.default.createElement("div", {
251
254
  className: "form-field__message",
252
- "data-testid": `${inputName}FieldMessage`
255
+ "data-test-id": `${inputName}FieldMessage`
253
256
  }, Boolean(showError) && error && typeof error === 'string' && /*#__PURE__*/React__default.default.createElement(Text.Text, {
254
257
  className: "form-field__message-item form-field__message-item_type-error",
255
258
  size: errorMessageTextSize,
@@ -257,16 +260,16 @@ function FieldWrapperBase(props) {
257
260
  textColor: errorMessageTextColor,
258
261
  id: `${inputName}-error`,
259
262
  dataTestId: `${inputName}FieldMessageError`
260
- }, error), Boolean(helpText) && (!error || typeof error !== 'string') && /*#__PURE__*/React__default.default.createElement(Text.Text, {
263
+ }, error), Boolean(helpText) && Boolean(!showError) && /*#__PURE__*/React__default.default.createElement(Text.Text, {
261
264
  className: "form-field__message-item form-field__message-item_type_help-text",
262
265
  size: helpTextSize,
263
266
  textWeight: helpTextWeight,
264
267
  textColor: helpTextColor,
265
268
  dataTestId: `${inputName}FieldMessageHelpText`
266
269
  }, helpText), (!showError && !helpText || showError && !helpText && (!error || typeof error !== 'string')) && /*#__PURE__*/React__default.default.createElement(Text.Text, {
267
- className: "form-field__message-item form-field__message-item_type_message",
270
+ className: "form-field__message-item form-field__message-item_type_help-text",
268
271
  size: messageTextSize,
269
- dataTestId: `${inputName}FieldMessagePlaceholder`
272
+ dataTestId: `${inputName}FieldMessageHelpText`
270
273
  }, '\u00A0')), after);
271
274
  }
272
275
  FieldWrapperBase.defaultProps = {
@@ -308,7 +311,7 @@ FieldWrapperBase.propTypes = {
308
311
  isRequired: PropTypes__default.default.bool,
309
312
  itemType: PropTypes__default.default.string,
310
313
  label: PropTypes__default.default.any,
311
- labelHidden: PropTypes__default.default.string,
314
+ labelHidden: PropTypes__default.default.bool,
312
315
  labelTextColor: PropTypes__default.default.string,
313
316
  labelTextSize: PropTypes__default.default.string,
314
317
  labelTextWidth: PropTypes__default.default.string,
@@ -319,7 +322,7 @@ FieldWrapperBase.propTypes = {
319
322
  messageTextWeight: PropTypes__default.default.oneOfType([PropTypes__default.default.string, PropTypes__default.default.number]),
320
323
  messageTextWidth: PropTypes__default.default.string,
321
324
  metaActive: PropTypes__default.default.bool,
322
- metaError: PropTypes__default.default.string,
325
+ metaError: PropTypes__default.default.oneOfType([PropTypes__default.default.string, PropTypes__default.default.bool]),
323
326
  metaModifiedSinceLastSubmit: PropTypes__default.default.bool,
324
327
  metaSubmitError: PropTypes__default.default.string,
325
328
  metaSubmitFailed: PropTypes__default.default.bool,
@@ -2240,7 +2243,9 @@ const FinalForm = /*#__PURE__*/React__default.default.forwardRef(function FinalF
2240
2243
  className: clsx__default.default(className, 'form', set && `form_set_${set}`, type && `form_type_${type}`, directionClass, fillClass, shapeClass, elevationClass),
2241
2244
  name: formName,
2242
2245
  "data-tour": dataTour,
2243
- "data-testId": dataTestId,
2246
+ "data-test-id": dataTestId
2247
+ // We no need set reference to html element, we need reference to "final-form" instance
2248
+ ,
2244
2249
  ref: () => onRefFormInstance(form),
2245
2250
  onSubmit: handleSubmit,
2246
2251
  autoComplete: disableFieldsAutoComplete ? 'off' : undefined,
@@ -143,6 +143,9 @@ function FieldWrapperBase(props) {
143
143
  helpTextSize,
144
144
  helpTextWeight,
145
145
  helpTextColor,
146
+ errorBorderWidth,
147
+ errorBorderColor,
148
+ errorFill,
146
149
  message,
147
150
  messageTextColor,
148
151
  messageTextSize,
@@ -210,19 +213,19 @@ function FieldWrapperBase(props) {
210
213
  return /*#__PURE__*/React.createElement(Tag, {
211
214
  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),
212
215
  "data-tour": dataTour,
213
- "data-testid": `${inputName}Field`,
216
+ "data-test-id": `${inputName}Field`,
214
217
  style: formFieldStyles
215
218
  }, before, (label || labelHidden) && /*#__PURE__*/React.createElement("div", {
216
219
  htmlFor: id,
217
220
  className: clsx('form-field__label'),
218
- "data-testid": `${inputName}FieldLabel`
221
+ "data-test-id": `${inputName}FieldLabel`
219
222
  }, /*#__PURE__*/React.createElement(Text, {
220
223
  size: labelTextSize,
221
224
  textWeight: labelTextWidth,
222
225
  textColor: labelTextColor
223
226
  }, label, labelHidden && '\u00A0')), desc && /*#__PURE__*/React.createElement("div", {
224
227
  className: "form-field__desc",
225
- "data-testid": `${inputName}FieldDesc`
228
+ "data-test-id": `${inputName}FieldDesc`
226
229
  }, /*#__PURE__*/React.createElement(Text, {
227
230
  size: descTextSize,
228
231
  textWeight: descTextWidth,
@@ -239,7 +242,7 @@ function FieldWrapperBase(props) {
239
242
  fill: dividerFill
240
243
  })), showMessage && /*#__PURE__*/React.createElement("div", {
241
244
  className: "form-field__message",
242
- "data-testid": `${inputName}FieldMessage`
245
+ "data-test-id": `${inputName}FieldMessage`
243
246
  }, Boolean(showError) && error && typeof error === 'string' && /*#__PURE__*/React.createElement(Text, {
244
247
  className: "form-field__message-item form-field__message-item_type-error",
245
248
  size: errorMessageTextSize,
@@ -247,16 +250,16 @@ function FieldWrapperBase(props) {
247
250
  textColor: errorMessageTextColor,
248
251
  id: `${inputName}-error`,
249
252
  dataTestId: `${inputName}FieldMessageError`
250
- }, error), Boolean(helpText) && (!error || typeof error !== 'string') && /*#__PURE__*/React.createElement(Text, {
253
+ }, error), Boolean(helpText) && Boolean(!showError) && /*#__PURE__*/React.createElement(Text, {
251
254
  className: "form-field__message-item form-field__message-item_type_help-text",
252
255
  size: helpTextSize,
253
256
  textWeight: helpTextWeight,
254
257
  textColor: helpTextColor,
255
258
  dataTestId: `${inputName}FieldMessageHelpText`
256
259
  }, helpText), (!showError && !helpText || showError && !helpText && (!error || typeof error !== 'string')) && /*#__PURE__*/React.createElement(Text, {
257
- className: "form-field__message-item form-field__message-item_type_message",
260
+ className: "form-field__message-item form-field__message-item_type_help-text",
258
261
  size: messageTextSize,
259
- dataTestId: `${inputName}FieldMessagePlaceholder`
262
+ dataTestId: `${inputName}FieldMessageHelpText`
260
263
  }, '\u00A0')), after);
261
264
  }
262
265
  FieldWrapperBase.defaultProps = {
@@ -298,7 +301,7 @@ FieldWrapperBase.propTypes = {
298
301
  isRequired: PropTypes.bool,
299
302
  itemType: PropTypes.string,
300
303
  label: PropTypes.any,
301
- labelHidden: PropTypes.string,
304
+ labelHidden: PropTypes.bool,
302
305
  labelTextColor: PropTypes.string,
303
306
  labelTextSize: PropTypes.string,
304
307
  labelTextWidth: PropTypes.string,
@@ -309,7 +312,7 @@ FieldWrapperBase.propTypes = {
309
312
  messageTextWeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
310
313
  messageTextWidth: PropTypes.string,
311
314
  metaActive: PropTypes.bool,
312
- metaError: PropTypes.string,
315
+ metaError: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
313
316
  metaModifiedSinceLastSubmit: PropTypes.bool,
314
317
  metaSubmitError: PropTypes.string,
315
318
  metaSubmitFailed: PropTypes.bool,
@@ -2230,7 +2233,9 @@ const FinalForm = /*#__PURE__*/React.forwardRef(function FinalForm(props, ref) {
2230
2233
  className: clsx(className, 'form', set && `form_set_${set}`, type && `form_type_${type}`, directionClass, fillClass, shapeClass, elevationClass),
2231
2234
  name: formName,
2232
2235
  "data-tour": dataTour,
2233
- "data-testId": dataTestId,
2236
+ "data-test-id": dataTestId
2237
+ // We no need set reference to html element, we need reference to "final-form" instance
2238
+ ,
2234
2239
  ref: () => onRefFormInstance(form),
2235
2240
  onSubmit: handleSubmit,
2236
2241
  autoComplete: disableFieldsAutoComplete ? 'off' : undefined,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itcase/forms",
3
- "version": "1.0.56",
3
+ "version": "1.0.58",
4
4
  "description": "Forms fields, inputs, etc.",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -1,34 +0,0 @@
1
- .form {
2
- &__header {
3
- width: 100%;
4
- position: relative;
5
- &-wrapper {
6
- position: relative;
7
- }
8
- &-title {
9
- width: 100%;
10
- position: relative;
11
- &-text {
12
- width: 100%;
13
- max-width: var(--max);
14
- color: var(--color-surface-text-primary);
15
- margin: 0 auto;
16
- position: relative;
17
- align-self: center;
18
- @mixin h4 500;
19
- }
20
- &-desc {
21
- width: 100%;
22
- color: var(--color-surface-text-primary);
23
- padding: 12px 0 0 0;
24
- position: relative;
25
- @mixin text-xl;
26
- @media (--mobile) {
27
- padding: 24px 0 0 0;
28
- grid-row-start: 3;
29
- grid-column: 1 / 3;
30
- }
31
- }
32
- }
33
- }
34
- }