@websolutespa/bom-mixer-ui 1.10.7 → 1.10.8
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.
- package/CHANGELOG.md +6 -0
- package/dist/cjs/index.js +114 -50
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/fields/field-accept.js +8 -4
- package/dist/esm/fields/field-accept.js.map +1 -1
- package/dist/esm/fields/field-autocomplete.js +5 -3
- package/dist/esm/fields/field-autocomplete.js.map +1 -1
- package/dist/esm/fields/field-card.js +6 -3
- package/dist/esm/fields/field-card.js.map +1 -1
- package/dist/esm/fields/field-checkbox.js +8 -4
- package/dist/esm/fields/field-checkbox.js.map +1 -1
- package/dist/esm/fields/field-combobox.js +9 -4
- package/dist/esm/fields/field-combobox.js.map +1 -1
- package/dist/esm/fields/field-consent.js +8 -4
- package/dist/esm/fields/field-consent.js.map +1 -1
- package/dist/esm/fields/field-error.js +14 -4
- package/dist/esm/fields/field-error.js.map +1 -1
- package/dist/esm/fields/field-implicit.js +3 -2
- package/dist/esm/fields/field-implicit.js.map +1 -1
- package/dist/esm/fields/field-password.js +10 -4
- package/dist/esm/fields/field-password.js.map +1 -1
- package/dist/esm/fields/field-radio.js +6 -3
- package/dist/esm/fields/field-radio.js.map +1 -1
- package/dist/esm/fields/field-select.js +11 -4
- package/dist/esm/fields/field-select.js.map +1 -1
- package/dist/esm/fields/field-text.js +14 -5
- package/dist/esm/fields/field-text.js.map +1 -1
- package/dist/esm/fields/field-textarea.js +9 -3
- package/dist/esm/fields/field-textarea.js.map +1 -1
- package/dist/esm/forms/input/input.js +3 -4
- package/dist/esm/forms/input/input.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/types/fields/field-accept.d.ts.map +1 -1
- package/dist/types/fields/field-autocomplete.d.ts.map +1 -1
- package/dist/types/fields/field-card.d.ts.map +1 -1
- package/dist/types/fields/field-checkbox.d.ts.map +1 -1
- package/dist/types/fields/field-combobox.d.ts.map +1 -1
- package/dist/types/fields/field-consent.d.ts.map +1 -1
- package/dist/types/fields/field-error.d.ts +2 -1
- package/dist/types/fields/field-error.d.ts.map +1 -1
- package/dist/types/fields/field-implicit.d.ts.map +1 -1
- package/dist/types/fields/field-password.d.ts.map +1 -1
- package/dist/types/fields/field-radio.d.ts.map +1 -1
- package/dist/types/fields/field-select.d.ts.map +1 -1
- package/dist/types/fields/field-text.d.ts +3 -0
- package/dist/types/fields/field-text.d.ts.map +1 -1
- package/dist/types/fields/field-textarea.d.ts.map +1 -1
- package/dist/types/forms/input/input.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/fields/field-accept.tsx +14 -5
- package/src/fields/field-autocomplete.tsx +7 -4
- package/src/fields/field-card.tsx +8 -4
- package/src/fields/field-checkbox.tsx +7 -2
- package/src/fields/field-combobox.tsx +6 -3
- package/src/fields/field-consent.tsx +6 -3
- package/src/fields/field-error.tsx +11 -3
- package/src/fields/field-implicit.tsx +4 -1
- package/src/fields/field-password.tsx +11 -5
- package/src/fields/field-radio.tsx +5 -2
- package/src/fields/field-select.tsx +10 -4
- package/src/fields/field-text.tsx +17 -5
- package/src/fields/field-textarea.tsx +10 -4
- package/src/forms/input/input.tsx +0 -1
package/CHANGELOG.md
CHANGED
package/dist/cjs/index.js
CHANGED
|
@@ -11393,12 +11393,11 @@ const Input = /*#__PURE__*/React.forwardRef(function Input(_a, ref) {
|
|
|
11393
11393
|
}, className, variant);
|
|
11394
11394
|
const globalVariants = useVariants('input', inputVariants);
|
|
11395
11395
|
variants = variants || globalVariants;
|
|
11396
|
-
return jsxRuntime.jsxs(StyledInputContainer,
|
|
11396
|
+
return jsxRuntime.jsxs(StyledInputContainer, {
|
|
11397
11397
|
className: classNames,
|
|
11398
11398
|
variant: variant,
|
|
11399
11399
|
variants: variants,
|
|
11400
|
-
"data-focus-visible": focus || undefined
|
|
11401
|
-
}, props, {
|
|
11400
|
+
"data-focus-visible": focus || undefined,
|
|
11402
11401
|
children: [before, jsxRuntime.jsx(StyledInput, Object.assign({
|
|
11403
11402
|
className: 'input',
|
|
11404
11403
|
ref: ref,
|
|
@@ -11411,7 +11410,7 @@ const Input = /*#__PURE__*/React.forwardRef(function Input(_a, ref) {
|
|
|
11411
11410
|
onFocus: onFocus_,
|
|
11412
11411
|
onBlur: onBlur_
|
|
11413
11412
|
}, props)), after]
|
|
11414
|
-
})
|
|
11413
|
+
});
|
|
11415
11414
|
});
|
|
11416
11415
|
|
|
11417
11416
|
const RadioContext = /*#__PURE__*/React.createContext(null);
|
|
@@ -13029,12 +13028,21 @@ const StyledFieldError = styled__default.default.div`
|
|
|
13029
13028
|
function FieldError(_a) {
|
|
13030
13029
|
var {
|
|
13031
13030
|
state,
|
|
13031
|
+
label,
|
|
13032
13032
|
className,
|
|
13033
13033
|
variant = 'default',
|
|
13034
13034
|
variants
|
|
13035
13035
|
} = _a,
|
|
13036
|
-
props = __rest(_a, ["state", "className", "variant", "variants"]);
|
|
13037
|
-
const
|
|
13036
|
+
props = __rest(_a, ["state", "label", "className", "variant", "variants"]);
|
|
13037
|
+
const errorLabel = bomMixerHooks.useLabel();
|
|
13038
|
+
const getErrorLabel = error => {
|
|
13039
|
+
const text = label ? errorLabel(`error.${error.key}.label`, {
|
|
13040
|
+
label
|
|
13041
|
+
}) || errorLabel(`error.${error.key}`, {
|
|
13042
|
+
label
|
|
13043
|
+
}) : errorLabel(`error.${error.key}`);
|
|
13044
|
+
return text;
|
|
13045
|
+
};
|
|
13038
13046
|
const classNames = bomCore.getClassNames('field-error', className, variant);
|
|
13039
13047
|
const globalVariants = useVariants('fieldError', fieldErrorVariants);
|
|
13040
13048
|
variants = variants || globalVariants;
|
|
@@ -13042,9 +13050,10 @@ function FieldError(_a) {
|
|
|
13042
13050
|
children: state.flags.touched && state.errors.map(error => jsxRuntime.jsx(StyledFieldError, Object.assign({
|
|
13043
13051
|
className: classNames,
|
|
13044
13052
|
variant: variant,
|
|
13045
|
-
variants: variants
|
|
13053
|
+
variants: variants,
|
|
13054
|
+
role: "alert"
|
|
13046
13055
|
}, props, {
|
|
13047
|
-
children:
|
|
13056
|
+
children: getErrorLabel(error)
|
|
13048
13057
|
}), error.key))
|
|
13049
13058
|
});
|
|
13050
13059
|
}
|
|
@@ -13074,6 +13083,7 @@ function FieldAccept(_ref) {
|
|
|
13074
13083
|
const onFocus = _ => {
|
|
13075
13084
|
setFocus(true);
|
|
13076
13085
|
};
|
|
13086
|
+
const controlLabel = control.label && label(control.label);
|
|
13077
13087
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13078
13088
|
type: "hidden",
|
|
13079
13089
|
value: state.value ? 'true' : 'false'
|
|
@@ -13093,7 +13103,9 @@ function FieldAccept(_ref) {
|
|
|
13093
13103
|
value: "true",
|
|
13094
13104
|
name: uniqueNameTrue,
|
|
13095
13105
|
id: uniqueNameTrue,
|
|
13096
|
-
disabled: state.flags.disabled || state.flags.readonly
|
|
13106
|
+
disabled: state.flags.disabled || state.flags.readonly,
|
|
13107
|
+
"aria-invalid": state.flags.invalid,
|
|
13108
|
+
"aria-describedby": `${uniqueName}-error`
|
|
13097
13109
|
}), label('form.accept.true')]
|
|
13098
13110
|
}), jsxRuntime.jsxs(Label, {
|
|
13099
13111
|
name: uniqueNameFalse,
|
|
@@ -13105,10 +13117,11 @@ function FieldAccept(_ref) {
|
|
|
13105
13117
|
disabled: state.flags.disabled || state.flags.readonly
|
|
13106
13118
|
}), label('form.accept.false')]
|
|
13107
13119
|
})]
|
|
13108
|
-
}),
|
|
13109
|
-
children:
|
|
13120
|
+
}), controlLabel && jsxRuntime.jsx(Text, {
|
|
13121
|
+
children: controlLabel
|
|
13110
13122
|
}), jsxRuntime.jsx(FieldError, {
|
|
13111
|
-
state: state
|
|
13123
|
+
state: state,
|
|
13124
|
+
id: `${uniqueName}-error`
|
|
13112
13125
|
})]
|
|
13113
13126
|
});
|
|
13114
13127
|
}
|
|
@@ -13182,14 +13195,15 @@ function FieldAutocomplete(_ref) {
|
|
|
13182
13195
|
}
|
|
13183
13196
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
13184
13197
|
}, []);
|
|
13198
|
+
const controlLabel = control.label && label(control.label);
|
|
13185
13199
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13186
13200
|
type: "hidden",
|
|
13187
13201
|
value: bomMixerForms.valueToString(state.value)
|
|
13188
13202
|
}) : jsxRuntime.jsxs(Field, {
|
|
13189
13203
|
state: state,
|
|
13190
|
-
children: [jsxRuntime.jsx(Label, {
|
|
13204
|
+
children: [controlLabel && jsxRuntime.jsx(Label, {
|
|
13191
13205
|
htmlFor: uniqueName,
|
|
13192
|
-
children:
|
|
13206
|
+
children: controlLabel
|
|
13193
13207
|
}), jsxRuntime.jsx(Autocomplete, {
|
|
13194
13208
|
id: uniqueName,
|
|
13195
13209
|
name: uniqueName,
|
|
@@ -13202,7 +13216,8 @@ function FieldAutocomplete(_ref) {
|
|
|
13202
13216
|
background: "var(--color-neutral-100)",
|
|
13203
13217
|
overflow: "hidden"
|
|
13204
13218
|
}), jsxRuntime.jsx(FieldError, {
|
|
13205
|
-
state: state
|
|
13219
|
+
state: state,
|
|
13220
|
+
id: `${uniqueName}-error`
|
|
13206
13221
|
})]
|
|
13207
13222
|
});
|
|
13208
13223
|
}
|
|
@@ -13231,16 +13246,17 @@ function FieldCard(_a) {
|
|
|
13231
13246
|
const onFocus = _ => {
|
|
13232
13247
|
setFocus(true);
|
|
13233
13248
|
};
|
|
13249
|
+
const controlLabel = control.label && label(control.label);
|
|
13234
13250
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13235
13251
|
type: "hidden",
|
|
13236
13252
|
value: state.value ? state.value.toString() : ''
|
|
13237
13253
|
}) : jsxRuntime.jsxs(Field, Object.assign({
|
|
13238
13254
|
state: state
|
|
13239
13255
|
}, props, {
|
|
13240
|
-
children: [jsxRuntime.jsx(Label, {
|
|
13256
|
+
children: [controlLabel && jsxRuntime.jsx(Label, {
|
|
13241
13257
|
htmlFor: uniqueName,
|
|
13242
13258
|
margin: "0",
|
|
13243
|
-
children:
|
|
13259
|
+
children: controlLabel
|
|
13244
13260
|
}), jsxRuntime.jsx(RadioCard.Group, {
|
|
13245
13261
|
id: uniqueName,
|
|
13246
13262
|
name: uniqueName,
|
|
@@ -13260,7 +13276,9 @@ function FieldCard(_a) {
|
|
|
13260
13276
|
})]
|
|
13261
13277
|
}, option.id))
|
|
13262
13278
|
}), jsxRuntime.jsx(FieldError, {
|
|
13263
|
-
state: state
|
|
13279
|
+
state: state,
|
|
13280
|
+
label: controlLabel,
|
|
13281
|
+
id: `${uniqueName}-error`
|
|
13264
13282
|
})]
|
|
13265
13283
|
}));
|
|
13266
13284
|
}
|
|
@@ -13286,6 +13304,7 @@ function FieldCheckbox(_a) {
|
|
|
13286
13304
|
const onFocus = _ => {
|
|
13287
13305
|
setFocus(true);
|
|
13288
13306
|
};
|
|
13307
|
+
const controlLabel = control.label && label(control.label);
|
|
13289
13308
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13290
13309
|
type: "hidden",
|
|
13291
13310
|
value: state.value ? state.value.toString() : ''
|
|
@@ -13302,14 +13321,17 @@ function FieldCheckbox(_a) {
|
|
|
13302
13321
|
onBlur: onBlur,
|
|
13303
13322
|
onFocus: onFocus,
|
|
13304
13323
|
disabled: state.flags.disabled || state.flags.readonly,
|
|
13305
|
-
checked: state.value === true
|
|
13306
|
-
|
|
13324
|
+
checked: state.value === true,
|
|
13325
|
+
"aria-invalid": state.flags.invalid,
|
|
13326
|
+
"aria-describedby": `${uniqueName}-error`
|
|
13327
|
+
}), controlLabel && jsxRuntime.jsx("span", {
|
|
13307
13328
|
dangerouslySetInnerHTML: {
|
|
13308
|
-
__html:
|
|
13329
|
+
__html: controlLabel
|
|
13309
13330
|
}
|
|
13310
13331
|
})]
|
|
13311
13332
|
}), jsxRuntime.jsx(FieldError, {
|
|
13312
|
-
state: state
|
|
13333
|
+
state: state,
|
|
13334
|
+
id: `${uniqueName}-error`
|
|
13313
13335
|
})]
|
|
13314
13336
|
}));
|
|
13315
13337
|
}
|
|
@@ -13336,6 +13358,7 @@ function FieldCombobox(_ref) {
|
|
|
13336
13358
|
setValue(option);
|
|
13337
13359
|
};
|
|
13338
13360
|
// console.log('FieldCombobox', control.value);
|
|
13361
|
+
const controlLabel = control.label && label(control.label);
|
|
13339
13362
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13340
13363
|
type: "hidden",
|
|
13341
13364
|
value: bomMixerForms.valueToString(state.value)
|
|
@@ -13348,12 +13371,14 @@ function FieldCombobox(_ref) {
|
|
|
13348
13371
|
onChange: onChange,
|
|
13349
13372
|
onFocus: onFocus,
|
|
13350
13373
|
onBlur: onBlur,
|
|
13351
|
-
children: [
|
|
13352
|
-
children:
|
|
13374
|
+
children: [controlLabel && jsxRuntime.jsx(Combobox.Label, {
|
|
13375
|
+
children: controlLabel
|
|
13353
13376
|
}), jsxRuntime.jsx(Combobox.Combobox, {
|
|
13354
13377
|
after: icon || jsxRuntime.jsx(bomMixerIcons.IconChevronDown, {}),
|
|
13355
13378
|
autoSelect: true,
|
|
13356
|
-
placeholder: control.placeholder && label(control.placeholder)
|
|
13379
|
+
placeholder: control.placeholder && label(control.placeholder),
|
|
13380
|
+
"aria-invalid": state.flags.invalid,
|
|
13381
|
+
"aria-describedby": `${uniqueName}-error`
|
|
13357
13382
|
}), jsxRuntime.jsx(Combobox.Popover, {
|
|
13358
13383
|
gutter: 4,
|
|
13359
13384
|
sameWidth: true,
|
|
@@ -13372,7 +13397,9 @@ function FieldCombobox(_ref) {
|
|
|
13372
13397
|
}
|
|
13373
13398
|
})]
|
|
13374
13399
|
}), ((_a = control.customData) === null || _a === void 0 ? void 0 : _a.after) && control.customData.after, jsxRuntime.jsx(FieldError, {
|
|
13375
|
-
state: state
|
|
13400
|
+
state: state,
|
|
13401
|
+
label: controlLabel,
|
|
13402
|
+
id: `${uniqueName}-error`
|
|
13376
13403
|
})]
|
|
13377
13404
|
});
|
|
13378
13405
|
}
|
|
@@ -13415,6 +13442,7 @@ function FieldConsent(_ref) {
|
|
|
13415
13442
|
};
|
|
13416
13443
|
const detail = (_a = control.customData) === null || _a === void 0 ? void 0 : _a.detail;
|
|
13417
13444
|
const [active, setActive] = React.useState(false);
|
|
13445
|
+
const controlLabel = control.label && label(control.label);
|
|
13418
13446
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13419
13447
|
type: "hidden",
|
|
13420
13448
|
value: state.value ? 'true' : 'false'
|
|
@@ -13427,9 +13455,9 @@ function FieldConsent(_ref) {
|
|
|
13427
13455
|
borderBottom: "1px solid var(--color-neutral-200)",
|
|
13428
13456
|
children: [jsxRuntime.jsxs("div", {
|
|
13429
13457
|
className: "field-consent__description",
|
|
13430
|
-
children: [
|
|
13458
|
+
children: [controlLabel && jsxRuntime.jsx("span", {
|
|
13431
13459
|
dangerouslySetInnerHTML: {
|
|
13432
|
-
__html:
|
|
13460
|
+
__html: controlLabel
|
|
13433
13461
|
}
|
|
13434
13462
|
}), detail && jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
13435
13463
|
children: ["\u00A0", jsxRuntime.jsx(Button, {
|
|
@@ -13454,7 +13482,9 @@ function FieldConsent(_ref) {
|
|
|
13454
13482
|
onBlur: onTrueBlur,
|
|
13455
13483
|
onFocus: onTrueFocus,
|
|
13456
13484
|
disabled: state.flags.disabled || state.flags.readonly,
|
|
13457
|
-
checked: state.value === true
|
|
13485
|
+
checked: state.value === true,
|
|
13486
|
+
"aria-invalid": state.flags.invalid,
|
|
13487
|
+
"aria-describedby": `${uniqueName}-error`
|
|
13458
13488
|
}), jsxRuntime.jsx("span", {
|
|
13459
13489
|
children: label('form.consent.true')
|
|
13460
13490
|
})]
|
|
@@ -13474,7 +13504,8 @@ function FieldConsent(_ref) {
|
|
|
13474
13504
|
})]
|
|
13475
13505
|
})]
|
|
13476
13506
|
}), jsxRuntime.jsx(FieldError, {
|
|
13477
|
-
state: state
|
|
13507
|
+
state: state,
|
|
13508
|
+
id: `${uniqueName}-error`
|
|
13478
13509
|
})]
|
|
13479
13510
|
});
|
|
13480
13511
|
}
|
|
@@ -13490,6 +13521,7 @@ function FieldImplicit(_a) {
|
|
|
13490
13521
|
const label = bomMixerHooks.useLabel();
|
|
13491
13522
|
const uniqueName = `${control.name}-${uid}`;
|
|
13492
13523
|
const [state, setValue, setTouched] = bomMixerForms.useControl(control);
|
|
13524
|
+
const controlLabel = control.label && label(control.label);
|
|
13493
13525
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13494
13526
|
type: "hidden",
|
|
13495
13527
|
value: state.value || ''
|
|
@@ -13503,9 +13535,9 @@ function FieldImplicit(_a) {
|
|
|
13503
13535
|
id: uniqueName,
|
|
13504
13536
|
name: uniqueName,
|
|
13505
13537
|
value: String(state.value)
|
|
13506
|
-
}),
|
|
13538
|
+
}), controlLabel && jsxRuntime.jsx("span", {
|
|
13507
13539
|
dangerouslySetInnerHTML: {
|
|
13508
|
-
__html:
|
|
13540
|
+
__html: controlLabel
|
|
13509
13541
|
}
|
|
13510
13542
|
})]
|
|
13511
13543
|
}), jsxRuntime.jsx(FieldError, {
|
|
@@ -13557,6 +13589,7 @@ function FieldPassword(_ref) {
|
|
|
13557
13589
|
const onToggle = () => {
|
|
13558
13590
|
setType(type === 'password' ? 'text' : 'password');
|
|
13559
13591
|
};
|
|
13592
|
+
const controlLabel = control.label && label(control.label);
|
|
13560
13593
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13561
13594
|
type: "hidden",
|
|
13562
13595
|
value: state.value || ''
|
|
@@ -13565,9 +13598,9 @@ function FieldPassword(_ref) {
|
|
|
13565
13598
|
className: bomCore.getClassNames({
|
|
13566
13599
|
required: control.required && !control.disabled
|
|
13567
13600
|
}),
|
|
13568
|
-
children: [jsxRuntime.jsx(Label, {
|
|
13601
|
+
children: [controlLabel && jsxRuntime.jsx(Label, {
|
|
13569
13602
|
htmlFor: uniqueName,
|
|
13570
|
-
children:
|
|
13603
|
+
children: controlLabel
|
|
13571
13604
|
}), jsxRuntime.jsx(Input, {
|
|
13572
13605
|
width: "100%",
|
|
13573
13606
|
ref: ref,
|
|
@@ -13579,15 +13612,20 @@ function FieldPassword(_ref) {
|
|
|
13579
13612
|
onChange: onChange,
|
|
13580
13613
|
onBlur: onBlur,
|
|
13581
13614
|
onFocus: onFocus,
|
|
13615
|
+
required: state.errors.some(x => x.key === 'required'),
|
|
13582
13616
|
disabled: state.flags.disabled,
|
|
13583
13617
|
readOnly: state.flags.readonly,
|
|
13584
|
-
|
|
13618
|
+
"aria-invalid": state.flags.invalid,
|
|
13619
|
+
"aria-describedby": `${uniqueName}-error`,
|
|
13620
|
+
autoComplete: "on",
|
|
13585
13621
|
after: jsxRuntime.jsx(Button, {
|
|
13586
13622
|
onClick: () => onToggle(),
|
|
13587
13623
|
children: icon(type)
|
|
13588
13624
|
})
|
|
13589
13625
|
}), jsxRuntime.jsx(FieldError, {
|
|
13590
|
-
state: state
|
|
13626
|
+
state: state,
|
|
13627
|
+
label: controlLabel,
|
|
13628
|
+
id: `${uniqueName}-error`
|
|
13591
13629
|
})]
|
|
13592
13630
|
});
|
|
13593
13631
|
}
|
|
@@ -13621,6 +13659,7 @@ function FieldRadio(_a) {
|
|
|
13621
13659
|
const onFocus = _ => {
|
|
13622
13660
|
setFocus(true);
|
|
13623
13661
|
};
|
|
13662
|
+
const controlLabel = control.label && label(control.label);
|
|
13624
13663
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13625
13664
|
type: "hidden",
|
|
13626
13665
|
value: bomMixerForms.valueToString(state.value)
|
|
@@ -13632,8 +13671,8 @@ function FieldRadio(_a) {
|
|
|
13632
13671
|
onChange: onChange,
|
|
13633
13672
|
onBlur: onBlur,
|
|
13634
13673
|
onFocus: onFocus,
|
|
13635
|
-
children: [
|
|
13636
|
-
children:
|
|
13674
|
+
children: [controlLabel && jsxRuntime.jsx(Radio.GroupLabel, {
|
|
13675
|
+
children: controlLabel
|
|
13637
13676
|
}), (_b = control.options) === null || _b === void 0 ? void 0 : _b.map(option => {
|
|
13638
13677
|
var _a;
|
|
13639
13678
|
return jsxRuntime.jsxs(Label, {
|
|
@@ -13648,7 +13687,9 @@ function FieldRadio(_a) {
|
|
|
13648
13687
|
}, getUniqueName(option));
|
|
13649
13688
|
})]
|
|
13650
13689
|
}), jsxRuntime.jsx(FieldError, {
|
|
13651
|
-
state: state
|
|
13690
|
+
state: state,
|
|
13691
|
+
label: controlLabel,
|
|
13692
|
+
id: `${uniqueName}-error`
|
|
13652
13693
|
})]
|
|
13653
13694
|
}));
|
|
13654
13695
|
}
|
|
@@ -13674,6 +13715,7 @@ function FieldSelect(_ref) {
|
|
|
13674
13715
|
const onChange = option => {
|
|
13675
13716
|
setValue(option);
|
|
13676
13717
|
};
|
|
13718
|
+
const controlLabel = control.label && label(control.label);
|
|
13677
13719
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13678
13720
|
type: "hidden",
|
|
13679
13721
|
value: bomMixerForms.valueToString(state.value)
|
|
@@ -13690,10 +13732,14 @@ function FieldSelect(_ref) {
|
|
|
13690
13732
|
onChange: onChange,
|
|
13691
13733
|
onFocus: onFocus,
|
|
13692
13734
|
onBlur: onBlur,
|
|
13693
|
-
children: [
|
|
13694
|
-
|
|
13735
|
+
children: [controlLabel && jsxRuntime.jsx(Select.Label, {
|
|
13736
|
+
htmlFor: uniqueName,
|
|
13737
|
+
children: controlLabel
|
|
13695
13738
|
}), jsxRuntime.jsx(Select.Select, {
|
|
13696
|
-
|
|
13739
|
+
required: state.errors.some(x => x.key === 'required'),
|
|
13740
|
+
disabled: state.flags.disabled || state.flags.readonly,
|
|
13741
|
+
"aria-invalid": state.flags.invalid,
|
|
13742
|
+
"aria-describedby": `${uniqueName}-error`,
|
|
13697
13743
|
children: icon || jsxRuntime.jsx(bomMixerIcons.IconChevronDown, {})
|
|
13698
13744
|
}), jsxRuntime.jsx(Select.Popover, {
|
|
13699
13745
|
gutter: 4,
|
|
@@ -13704,12 +13750,15 @@ function FieldSelect(_ref) {
|
|
|
13704
13750
|
children: option.name
|
|
13705
13751
|
}, i))
|
|
13706
13752
|
}), jsxRuntime.jsx(FieldError, {
|
|
13707
|
-
state: state
|
|
13753
|
+
state: state,
|
|
13754
|
+
label: controlLabel,
|
|
13755
|
+
id: `${uniqueName}-error`
|
|
13708
13756
|
})]
|
|
13709
13757
|
}), ((_a = control.customData) === null || _a === void 0 ? void 0 : _a.after) && control.customData.after]
|
|
13710
13758
|
});
|
|
13711
13759
|
}
|
|
13712
13760
|
|
|
13761
|
+
const INPUT_TYPES = Object.fromEntries(['button', 'checkbox', 'color', 'date', 'datetime-local', 'email', 'file', 'hidden', 'image', 'month', 'number', 'password', 'radio', 'range', 'reset', 'search', 'submit', 'tel', 'text', 'time', 'url', 'week'].map(k => [k, k]));
|
|
13713
13762
|
function FieldText(_a) {
|
|
13714
13763
|
var {
|
|
13715
13764
|
control,
|
|
@@ -13748,6 +13797,8 @@ function FieldText(_a) {
|
|
|
13748
13797
|
const onFocus = _ => {
|
|
13749
13798
|
setFocus(true);
|
|
13750
13799
|
};
|
|
13800
|
+
const type = INPUT_TYPES[control.schema] || 'text';
|
|
13801
|
+
const controlLabel = control.label && label(control.label);
|
|
13751
13802
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13752
13803
|
type: "hidden",
|
|
13753
13804
|
value: state.value || ''
|
|
@@ -13756,27 +13807,33 @@ function FieldText(_a) {
|
|
|
13756
13807
|
className: bomCore.getClassNames({
|
|
13757
13808
|
required: control.required && !control.disabled
|
|
13758
13809
|
}),
|
|
13759
|
-
children: [jsxRuntime.jsx(Label, {
|
|
13810
|
+
children: [controlLabel && jsxRuntime.jsx(Label, {
|
|
13760
13811
|
htmlFor: uniqueName,
|
|
13761
|
-
children:
|
|
13812
|
+
children: controlLabel
|
|
13762
13813
|
}), jsxRuntime.jsx(Input, Object.assign({
|
|
13763
13814
|
width: "100%"
|
|
13764
13815
|
}, props, {
|
|
13765
13816
|
ref: ref,
|
|
13766
13817
|
id: uniqueName,
|
|
13767
13818
|
name: uniqueName,
|
|
13819
|
+
type: type,
|
|
13768
13820
|
placeholder: label(control.placeholder || control.label || ''),
|
|
13769
13821
|
defaultValue: state.value || '',
|
|
13770
13822
|
onChange: onChange,
|
|
13771
13823
|
onBlur: onBlur,
|
|
13772
13824
|
onFocus: onFocus,
|
|
13825
|
+
required: state.errors.some(x => x.key === 'required'),
|
|
13773
13826
|
disabled: state.flags.disabled,
|
|
13774
13827
|
readOnly: state.flags.readonly,
|
|
13828
|
+
"aria-invalid": state.flags.invalid,
|
|
13829
|
+
"aria-describedby": `${uniqueName}-error`,
|
|
13775
13830
|
before: before,
|
|
13776
13831
|
after: after,
|
|
13777
|
-
autoComplete:
|
|
13832
|
+
autoComplete: "on"
|
|
13778
13833
|
})), jsxRuntime.jsx(FieldError, {
|
|
13779
|
-
state: state
|
|
13834
|
+
state: state,
|
|
13835
|
+
label: controlLabel,
|
|
13836
|
+
id: `${uniqueName}-error`
|
|
13780
13837
|
})]
|
|
13781
13838
|
});
|
|
13782
13839
|
}
|
|
@@ -13802,14 +13859,15 @@ function FieldTextArea(_ref) {
|
|
|
13802
13859
|
const onFocus = _ => {
|
|
13803
13860
|
setFocus(true);
|
|
13804
13861
|
};
|
|
13862
|
+
const controlLabel = control.label && label(control.label);
|
|
13805
13863
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13806
13864
|
type: "hidden",
|
|
13807
13865
|
value: state.value || ''
|
|
13808
13866
|
}) : jsxRuntime.jsxs(Field, {
|
|
13809
13867
|
state: state,
|
|
13810
|
-
children: [jsxRuntime.jsx(Label, {
|
|
13868
|
+
children: [controlLabel && jsxRuntime.jsx(Label, {
|
|
13811
13869
|
htmlFor: uniqueName,
|
|
13812
|
-
children:
|
|
13870
|
+
children: controlLabel
|
|
13813
13871
|
}), jsxRuntime.jsx(TextArea, {
|
|
13814
13872
|
id: uniqueName,
|
|
13815
13873
|
name: uniqueName,
|
|
@@ -13818,11 +13876,16 @@ function FieldTextArea(_ref) {
|
|
|
13818
13876
|
onChange: onChange,
|
|
13819
13877
|
onBlur: onBlur,
|
|
13820
13878
|
onFocus: onFocus,
|
|
13879
|
+
required: state.errors.some(x => x.key === 'required'),
|
|
13821
13880
|
disabled: state.flags.disabled,
|
|
13822
13881
|
readOnly: state.flags.readonly,
|
|
13882
|
+
"aria-invalid": state.flags.invalid,
|
|
13883
|
+
"aria-describedby": `${uniqueName}-error`,
|
|
13823
13884
|
width: "100%"
|
|
13824
13885
|
}), jsxRuntime.jsx(FieldError, {
|
|
13825
|
-
state: state
|
|
13886
|
+
state: state,
|
|
13887
|
+
label: controlLabel,
|
|
13888
|
+
id: `${uniqueName}-error`
|
|
13826
13889
|
})]
|
|
13827
13890
|
});
|
|
13828
13891
|
}
|
|
@@ -14715,6 +14778,7 @@ exports.Grid = Grid;
|
|
|
14715
14778
|
exports.GridRow = GridRow;
|
|
14716
14779
|
exports.Header = Header;
|
|
14717
14780
|
exports.Highlight = Highlight;
|
|
14781
|
+
exports.INPUT_TYPES = INPUT_TYPES;
|
|
14718
14782
|
exports.Icons = Icons;
|
|
14719
14783
|
exports.InfiniteLoader = InfiniteLoader;
|
|
14720
14784
|
exports.Input = Input;
|