@websolutespa/bom-mixer-ui 1.10.7 → 1.10.9
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 +12 -0
- package/dist/cjs/index.js +117 -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 +17 -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 +14 -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,24 @@ 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 keyLabel = `error.${error.key}.label`;
|
|
13040
|
+
const key = `error.${error.key}`;
|
|
13041
|
+
const errorKeyLabel = label && errorLabel(keyLabel, {
|
|
13042
|
+
label
|
|
13043
|
+
});
|
|
13044
|
+
const errorKey = label ? errorKeyLabel === keyLabel ? errorLabel(key, {
|
|
13045
|
+
label
|
|
13046
|
+
}) : undefined : errorLabel(key);
|
|
13047
|
+
return errorKey;
|
|
13048
|
+
};
|
|
13038
13049
|
const classNames = bomCore.getClassNames('field-error', className, variant);
|
|
13039
13050
|
const globalVariants = useVariants('fieldError', fieldErrorVariants);
|
|
13040
13051
|
variants = variants || globalVariants;
|
|
@@ -13042,9 +13053,10 @@ function FieldError(_a) {
|
|
|
13042
13053
|
children: state.flags.touched && state.errors.map(error => jsxRuntime.jsx(StyledFieldError, Object.assign({
|
|
13043
13054
|
className: classNames,
|
|
13044
13055
|
variant: variant,
|
|
13045
|
-
variants: variants
|
|
13056
|
+
variants: variants,
|
|
13057
|
+
role: "alert"
|
|
13046
13058
|
}, props, {
|
|
13047
|
-
children:
|
|
13059
|
+
children: getErrorLabel(error)
|
|
13048
13060
|
}), error.key))
|
|
13049
13061
|
});
|
|
13050
13062
|
}
|
|
@@ -13074,6 +13086,7 @@ function FieldAccept(_ref) {
|
|
|
13074
13086
|
const onFocus = _ => {
|
|
13075
13087
|
setFocus(true);
|
|
13076
13088
|
};
|
|
13089
|
+
const controlLabel = control.label && label(control.label);
|
|
13077
13090
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13078
13091
|
type: "hidden",
|
|
13079
13092
|
value: state.value ? 'true' : 'false'
|
|
@@ -13093,7 +13106,9 @@ function FieldAccept(_ref) {
|
|
|
13093
13106
|
value: "true",
|
|
13094
13107
|
name: uniqueNameTrue,
|
|
13095
13108
|
id: uniqueNameTrue,
|
|
13096
|
-
disabled: state.flags.disabled || state.flags.readonly
|
|
13109
|
+
disabled: state.flags.disabled || state.flags.readonly,
|
|
13110
|
+
"aria-invalid": state.flags.invalid,
|
|
13111
|
+
"aria-describedby": `${uniqueName}-error`
|
|
13097
13112
|
}), label('form.accept.true')]
|
|
13098
13113
|
}), jsxRuntime.jsxs(Label, {
|
|
13099
13114
|
name: uniqueNameFalse,
|
|
@@ -13105,10 +13120,11 @@ function FieldAccept(_ref) {
|
|
|
13105
13120
|
disabled: state.flags.disabled || state.flags.readonly
|
|
13106
13121
|
}), label('form.accept.false')]
|
|
13107
13122
|
})]
|
|
13108
|
-
}),
|
|
13109
|
-
children:
|
|
13123
|
+
}), controlLabel && jsxRuntime.jsx(Text, {
|
|
13124
|
+
children: controlLabel
|
|
13110
13125
|
}), jsxRuntime.jsx(FieldError, {
|
|
13111
|
-
state: state
|
|
13126
|
+
state: state,
|
|
13127
|
+
id: `${uniqueName}-error`
|
|
13112
13128
|
})]
|
|
13113
13129
|
});
|
|
13114
13130
|
}
|
|
@@ -13182,14 +13198,15 @@ function FieldAutocomplete(_ref) {
|
|
|
13182
13198
|
}
|
|
13183
13199
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
13184
13200
|
}, []);
|
|
13201
|
+
const controlLabel = control.label && label(control.label);
|
|
13185
13202
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13186
13203
|
type: "hidden",
|
|
13187
13204
|
value: bomMixerForms.valueToString(state.value)
|
|
13188
13205
|
}) : jsxRuntime.jsxs(Field, {
|
|
13189
13206
|
state: state,
|
|
13190
|
-
children: [jsxRuntime.jsx(Label, {
|
|
13207
|
+
children: [controlLabel && jsxRuntime.jsx(Label, {
|
|
13191
13208
|
htmlFor: uniqueName,
|
|
13192
|
-
children:
|
|
13209
|
+
children: controlLabel
|
|
13193
13210
|
}), jsxRuntime.jsx(Autocomplete, {
|
|
13194
13211
|
id: uniqueName,
|
|
13195
13212
|
name: uniqueName,
|
|
@@ -13202,7 +13219,8 @@ function FieldAutocomplete(_ref) {
|
|
|
13202
13219
|
background: "var(--color-neutral-100)",
|
|
13203
13220
|
overflow: "hidden"
|
|
13204
13221
|
}), jsxRuntime.jsx(FieldError, {
|
|
13205
|
-
state: state
|
|
13222
|
+
state: state,
|
|
13223
|
+
id: `${uniqueName}-error`
|
|
13206
13224
|
})]
|
|
13207
13225
|
});
|
|
13208
13226
|
}
|
|
@@ -13231,16 +13249,17 @@ function FieldCard(_a) {
|
|
|
13231
13249
|
const onFocus = _ => {
|
|
13232
13250
|
setFocus(true);
|
|
13233
13251
|
};
|
|
13252
|
+
const controlLabel = control.label && label(control.label);
|
|
13234
13253
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13235
13254
|
type: "hidden",
|
|
13236
13255
|
value: state.value ? state.value.toString() : ''
|
|
13237
13256
|
}) : jsxRuntime.jsxs(Field, Object.assign({
|
|
13238
13257
|
state: state
|
|
13239
13258
|
}, props, {
|
|
13240
|
-
children: [jsxRuntime.jsx(Label, {
|
|
13259
|
+
children: [controlLabel && jsxRuntime.jsx(Label, {
|
|
13241
13260
|
htmlFor: uniqueName,
|
|
13242
13261
|
margin: "0",
|
|
13243
|
-
children:
|
|
13262
|
+
children: controlLabel
|
|
13244
13263
|
}), jsxRuntime.jsx(RadioCard.Group, {
|
|
13245
13264
|
id: uniqueName,
|
|
13246
13265
|
name: uniqueName,
|
|
@@ -13260,7 +13279,9 @@ function FieldCard(_a) {
|
|
|
13260
13279
|
})]
|
|
13261
13280
|
}, option.id))
|
|
13262
13281
|
}), jsxRuntime.jsx(FieldError, {
|
|
13263
|
-
state: state
|
|
13282
|
+
state: state,
|
|
13283
|
+
label: controlLabel,
|
|
13284
|
+
id: `${uniqueName}-error`
|
|
13264
13285
|
})]
|
|
13265
13286
|
}));
|
|
13266
13287
|
}
|
|
@@ -13286,6 +13307,7 @@ function FieldCheckbox(_a) {
|
|
|
13286
13307
|
const onFocus = _ => {
|
|
13287
13308
|
setFocus(true);
|
|
13288
13309
|
};
|
|
13310
|
+
const controlLabel = control.label && label(control.label);
|
|
13289
13311
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13290
13312
|
type: "hidden",
|
|
13291
13313
|
value: state.value ? state.value.toString() : ''
|
|
@@ -13302,14 +13324,17 @@ function FieldCheckbox(_a) {
|
|
|
13302
13324
|
onBlur: onBlur,
|
|
13303
13325
|
onFocus: onFocus,
|
|
13304
13326
|
disabled: state.flags.disabled || state.flags.readonly,
|
|
13305
|
-
checked: state.value === true
|
|
13306
|
-
|
|
13327
|
+
checked: state.value === true,
|
|
13328
|
+
"aria-invalid": state.flags.invalid,
|
|
13329
|
+
"aria-describedby": `${uniqueName}-error`
|
|
13330
|
+
}), controlLabel && jsxRuntime.jsx("span", {
|
|
13307
13331
|
dangerouslySetInnerHTML: {
|
|
13308
|
-
__html:
|
|
13332
|
+
__html: controlLabel
|
|
13309
13333
|
}
|
|
13310
13334
|
})]
|
|
13311
13335
|
}), jsxRuntime.jsx(FieldError, {
|
|
13312
|
-
state: state
|
|
13336
|
+
state: state,
|
|
13337
|
+
id: `${uniqueName}-error`
|
|
13313
13338
|
})]
|
|
13314
13339
|
}));
|
|
13315
13340
|
}
|
|
@@ -13336,6 +13361,7 @@ function FieldCombobox(_ref) {
|
|
|
13336
13361
|
setValue(option);
|
|
13337
13362
|
};
|
|
13338
13363
|
// console.log('FieldCombobox', control.value);
|
|
13364
|
+
const controlLabel = control.label && label(control.label);
|
|
13339
13365
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13340
13366
|
type: "hidden",
|
|
13341
13367
|
value: bomMixerForms.valueToString(state.value)
|
|
@@ -13348,12 +13374,14 @@ function FieldCombobox(_ref) {
|
|
|
13348
13374
|
onChange: onChange,
|
|
13349
13375
|
onFocus: onFocus,
|
|
13350
13376
|
onBlur: onBlur,
|
|
13351
|
-
children: [
|
|
13352
|
-
children:
|
|
13377
|
+
children: [controlLabel && jsxRuntime.jsx(Combobox.Label, {
|
|
13378
|
+
children: controlLabel
|
|
13353
13379
|
}), jsxRuntime.jsx(Combobox.Combobox, {
|
|
13354
13380
|
after: icon || jsxRuntime.jsx(bomMixerIcons.IconChevronDown, {}),
|
|
13355
13381
|
autoSelect: true,
|
|
13356
|
-
placeholder: control.placeholder && label(control.placeholder)
|
|
13382
|
+
placeholder: control.placeholder && label(control.placeholder),
|
|
13383
|
+
"aria-invalid": state.flags.invalid,
|
|
13384
|
+
"aria-describedby": `${uniqueName}-error`
|
|
13357
13385
|
}), jsxRuntime.jsx(Combobox.Popover, {
|
|
13358
13386
|
gutter: 4,
|
|
13359
13387
|
sameWidth: true,
|
|
@@ -13372,7 +13400,9 @@ function FieldCombobox(_ref) {
|
|
|
13372
13400
|
}
|
|
13373
13401
|
})]
|
|
13374
13402
|
}), ((_a = control.customData) === null || _a === void 0 ? void 0 : _a.after) && control.customData.after, jsxRuntime.jsx(FieldError, {
|
|
13375
|
-
state: state
|
|
13403
|
+
state: state,
|
|
13404
|
+
label: controlLabel,
|
|
13405
|
+
id: `${uniqueName}-error`
|
|
13376
13406
|
})]
|
|
13377
13407
|
});
|
|
13378
13408
|
}
|
|
@@ -13415,6 +13445,7 @@ function FieldConsent(_ref) {
|
|
|
13415
13445
|
};
|
|
13416
13446
|
const detail = (_a = control.customData) === null || _a === void 0 ? void 0 : _a.detail;
|
|
13417
13447
|
const [active, setActive] = React.useState(false);
|
|
13448
|
+
const controlLabel = control.label && label(control.label);
|
|
13418
13449
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13419
13450
|
type: "hidden",
|
|
13420
13451
|
value: state.value ? 'true' : 'false'
|
|
@@ -13427,9 +13458,9 @@ function FieldConsent(_ref) {
|
|
|
13427
13458
|
borderBottom: "1px solid var(--color-neutral-200)",
|
|
13428
13459
|
children: [jsxRuntime.jsxs("div", {
|
|
13429
13460
|
className: "field-consent__description",
|
|
13430
|
-
children: [
|
|
13461
|
+
children: [controlLabel && jsxRuntime.jsx("span", {
|
|
13431
13462
|
dangerouslySetInnerHTML: {
|
|
13432
|
-
__html:
|
|
13463
|
+
__html: controlLabel
|
|
13433
13464
|
}
|
|
13434
13465
|
}), detail && jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
13435
13466
|
children: ["\u00A0", jsxRuntime.jsx(Button, {
|
|
@@ -13454,7 +13485,9 @@ function FieldConsent(_ref) {
|
|
|
13454
13485
|
onBlur: onTrueBlur,
|
|
13455
13486
|
onFocus: onTrueFocus,
|
|
13456
13487
|
disabled: state.flags.disabled || state.flags.readonly,
|
|
13457
|
-
checked: state.value === true
|
|
13488
|
+
checked: state.value === true,
|
|
13489
|
+
"aria-invalid": state.flags.invalid,
|
|
13490
|
+
"aria-describedby": `${uniqueName}-error`
|
|
13458
13491
|
}), jsxRuntime.jsx("span", {
|
|
13459
13492
|
children: label('form.consent.true')
|
|
13460
13493
|
})]
|
|
@@ -13474,7 +13507,8 @@ function FieldConsent(_ref) {
|
|
|
13474
13507
|
})]
|
|
13475
13508
|
})]
|
|
13476
13509
|
}), jsxRuntime.jsx(FieldError, {
|
|
13477
|
-
state: state
|
|
13510
|
+
state: state,
|
|
13511
|
+
id: `${uniqueName}-error`
|
|
13478
13512
|
})]
|
|
13479
13513
|
});
|
|
13480
13514
|
}
|
|
@@ -13490,6 +13524,7 @@ function FieldImplicit(_a) {
|
|
|
13490
13524
|
const label = bomMixerHooks.useLabel();
|
|
13491
13525
|
const uniqueName = `${control.name}-${uid}`;
|
|
13492
13526
|
const [state, setValue, setTouched] = bomMixerForms.useControl(control);
|
|
13527
|
+
const controlLabel = control.label && label(control.label);
|
|
13493
13528
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13494
13529
|
type: "hidden",
|
|
13495
13530
|
value: state.value || ''
|
|
@@ -13503,9 +13538,9 @@ function FieldImplicit(_a) {
|
|
|
13503
13538
|
id: uniqueName,
|
|
13504
13539
|
name: uniqueName,
|
|
13505
13540
|
value: String(state.value)
|
|
13506
|
-
}),
|
|
13541
|
+
}), controlLabel && jsxRuntime.jsx("span", {
|
|
13507
13542
|
dangerouslySetInnerHTML: {
|
|
13508
|
-
__html:
|
|
13543
|
+
__html: controlLabel
|
|
13509
13544
|
}
|
|
13510
13545
|
})]
|
|
13511
13546
|
}), jsxRuntime.jsx(FieldError, {
|
|
@@ -13557,6 +13592,7 @@ function FieldPassword(_ref) {
|
|
|
13557
13592
|
const onToggle = () => {
|
|
13558
13593
|
setType(type === 'password' ? 'text' : 'password');
|
|
13559
13594
|
};
|
|
13595
|
+
const controlLabel = control.label && label(control.label);
|
|
13560
13596
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13561
13597
|
type: "hidden",
|
|
13562
13598
|
value: state.value || ''
|
|
@@ -13565,9 +13601,9 @@ function FieldPassword(_ref) {
|
|
|
13565
13601
|
className: bomCore.getClassNames({
|
|
13566
13602
|
required: control.required && !control.disabled
|
|
13567
13603
|
}),
|
|
13568
|
-
children: [jsxRuntime.jsx(Label, {
|
|
13604
|
+
children: [controlLabel && jsxRuntime.jsx(Label, {
|
|
13569
13605
|
htmlFor: uniqueName,
|
|
13570
|
-
children:
|
|
13606
|
+
children: controlLabel
|
|
13571
13607
|
}), jsxRuntime.jsx(Input, {
|
|
13572
13608
|
width: "100%",
|
|
13573
13609
|
ref: ref,
|
|
@@ -13579,15 +13615,20 @@ function FieldPassword(_ref) {
|
|
|
13579
13615
|
onChange: onChange,
|
|
13580
13616
|
onBlur: onBlur,
|
|
13581
13617
|
onFocus: onFocus,
|
|
13618
|
+
required: state.errors.some(x => x.key === 'required'),
|
|
13582
13619
|
disabled: state.flags.disabled,
|
|
13583
13620
|
readOnly: state.flags.readonly,
|
|
13584
|
-
|
|
13621
|
+
"aria-invalid": state.flags.invalid,
|
|
13622
|
+
"aria-describedby": `${uniqueName}-error`,
|
|
13623
|
+
autoComplete: "on",
|
|
13585
13624
|
after: jsxRuntime.jsx(Button, {
|
|
13586
13625
|
onClick: () => onToggle(),
|
|
13587
13626
|
children: icon(type)
|
|
13588
13627
|
})
|
|
13589
13628
|
}), jsxRuntime.jsx(FieldError, {
|
|
13590
|
-
state: state
|
|
13629
|
+
state: state,
|
|
13630
|
+
label: controlLabel,
|
|
13631
|
+
id: `${uniqueName}-error`
|
|
13591
13632
|
})]
|
|
13592
13633
|
});
|
|
13593
13634
|
}
|
|
@@ -13621,6 +13662,7 @@ function FieldRadio(_a) {
|
|
|
13621
13662
|
const onFocus = _ => {
|
|
13622
13663
|
setFocus(true);
|
|
13623
13664
|
};
|
|
13665
|
+
const controlLabel = control.label && label(control.label);
|
|
13624
13666
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13625
13667
|
type: "hidden",
|
|
13626
13668
|
value: bomMixerForms.valueToString(state.value)
|
|
@@ -13632,8 +13674,8 @@ function FieldRadio(_a) {
|
|
|
13632
13674
|
onChange: onChange,
|
|
13633
13675
|
onBlur: onBlur,
|
|
13634
13676
|
onFocus: onFocus,
|
|
13635
|
-
children: [
|
|
13636
|
-
children:
|
|
13677
|
+
children: [controlLabel && jsxRuntime.jsx(Radio.GroupLabel, {
|
|
13678
|
+
children: controlLabel
|
|
13637
13679
|
}), (_b = control.options) === null || _b === void 0 ? void 0 : _b.map(option => {
|
|
13638
13680
|
var _a;
|
|
13639
13681
|
return jsxRuntime.jsxs(Label, {
|
|
@@ -13648,7 +13690,9 @@ function FieldRadio(_a) {
|
|
|
13648
13690
|
}, getUniqueName(option));
|
|
13649
13691
|
})]
|
|
13650
13692
|
}), jsxRuntime.jsx(FieldError, {
|
|
13651
|
-
state: state
|
|
13693
|
+
state: state,
|
|
13694
|
+
label: controlLabel,
|
|
13695
|
+
id: `${uniqueName}-error`
|
|
13652
13696
|
})]
|
|
13653
13697
|
}));
|
|
13654
13698
|
}
|
|
@@ -13674,6 +13718,7 @@ function FieldSelect(_ref) {
|
|
|
13674
13718
|
const onChange = option => {
|
|
13675
13719
|
setValue(option);
|
|
13676
13720
|
};
|
|
13721
|
+
const controlLabel = control.label && label(control.label);
|
|
13677
13722
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13678
13723
|
type: "hidden",
|
|
13679
13724
|
value: bomMixerForms.valueToString(state.value)
|
|
@@ -13690,10 +13735,14 @@ function FieldSelect(_ref) {
|
|
|
13690
13735
|
onChange: onChange,
|
|
13691
13736
|
onFocus: onFocus,
|
|
13692
13737
|
onBlur: onBlur,
|
|
13693
|
-
children: [
|
|
13694
|
-
|
|
13738
|
+
children: [controlLabel && jsxRuntime.jsx(Select.Label, {
|
|
13739
|
+
htmlFor: uniqueName,
|
|
13740
|
+
children: controlLabel
|
|
13695
13741
|
}), jsxRuntime.jsx(Select.Select, {
|
|
13696
|
-
|
|
13742
|
+
required: state.errors.some(x => x.key === 'required'),
|
|
13743
|
+
disabled: state.flags.disabled || state.flags.readonly,
|
|
13744
|
+
"aria-invalid": state.flags.invalid,
|
|
13745
|
+
"aria-describedby": `${uniqueName}-error`,
|
|
13697
13746
|
children: icon || jsxRuntime.jsx(bomMixerIcons.IconChevronDown, {})
|
|
13698
13747
|
}), jsxRuntime.jsx(Select.Popover, {
|
|
13699
13748
|
gutter: 4,
|
|
@@ -13704,12 +13753,15 @@ function FieldSelect(_ref) {
|
|
|
13704
13753
|
children: option.name
|
|
13705
13754
|
}, i))
|
|
13706
13755
|
}), jsxRuntime.jsx(FieldError, {
|
|
13707
|
-
state: state
|
|
13756
|
+
state: state,
|
|
13757
|
+
label: controlLabel,
|
|
13758
|
+
id: `${uniqueName}-error`
|
|
13708
13759
|
})]
|
|
13709
13760
|
}), ((_a = control.customData) === null || _a === void 0 ? void 0 : _a.after) && control.customData.after]
|
|
13710
13761
|
});
|
|
13711
13762
|
}
|
|
13712
13763
|
|
|
13764
|
+
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
13765
|
function FieldText(_a) {
|
|
13714
13766
|
var {
|
|
13715
13767
|
control,
|
|
@@ -13748,6 +13800,8 @@ function FieldText(_a) {
|
|
|
13748
13800
|
const onFocus = _ => {
|
|
13749
13801
|
setFocus(true);
|
|
13750
13802
|
};
|
|
13803
|
+
const type = INPUT_TYPES[control.schema] || 'text';
|
|
13804
|
+
const controlLabel = control.label && label(control.label);
|
|
13751
13805
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13752
13806
|
type: "hidden",
|
|
13753
13807
|
value: state.value || ''
|
|
@@ -13756,27 +13810,33 @@ function FieldText(_a) {
|
|
|
13756
13810
|
className: bomCore.getClassNames({
|
|
13757
13811
|
required: control.required && !control.disabled
|
|
13758
13812
|
}),
|
|
13759
|
-
children: [jsxRuntime.jsx(Label, {
|
|
13813
|
+
children: [controlLabel && jsxRuntime.jsx(Label, {
|
|
13760
13814
|
htmlFor: uniqueName,
|
|
13761
|
-
children:
|
|
13815
|
+
children: controlLabel
|
|
13762
13816
|
}), jsxRuntime.jsx(Input, Object.assign({
|
|
13763
13817
|
width: "100%"
|
|
13764
13818
|
}, props, {
|
|
13765
13819
|
ref: ref,
|
|
13766
13820
|
id: uniqueName,
|
|
13767
13821
|
name: uniqueName,
|
|
13822
|
+
type: type,
|
|
13768
13823
|
placeholder: label(control.placeholder || control.label || ''),
|
|
13769
13824
|
defaultValue: state.value || '',
|
|
13770
13825
|
onChange: onChange,
|
|
13771
13826
|
onBlur: onBlur,
|
|
13772
13827
|
onFocus: onFocus,
|
|
13828
|
+
required: state.errors.some(x => x.key === 'required'),
|
|
13773
13829
|
disabled: state.flags.disabled,
|
|
13774
13830
|
readOnly: state.flags.readonly,
|
|
13831
|
+
"aria-invalid": state.flags.invalid,
|
|
13832
|
+
"aria-describedby": `${uniqueName}-error`,
|
|
13775
13833
|
before: before,
|
|
13776
13834
|
after: after,
|
|
13777
|
-
autoComplete:
|
|
13835
|
+
autoComplete: "on"
|
|
13778
13836
|
})), jsxRuntime.jsx(FieldError, {
|
|
13779
|
-
state: state
|
|
13837
|
+
state: state,
|
|
13838
|
+
label: controlLabel,
|
|
13839
|
+
id: `${uniqueName}-error`
|
|
13780
13840
|
})]
|
|
13781
13841
|
});
|
|
13782
13842
|
}
|
|
@@ -13802,14 +13862,15 @@ function FieldTextArea(_ref) {
|
|
|
13802
13862
|
const onFocus = _ => {
|
|
13803
13863
|
setFocus(true);
|
|
13804
13864
|
};
|
|
13865
|
+
const controlLabel = control.label && label(control.label);
|
|
13805
13866
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13806
13867
|
type: "hidden",
|
|
13807
13868
|
value: state.value || ''
|
|
13808
13869
|
}) : jsxRuntime.jsxs(Field, {
|
|
13809
13870
|
state: state,
|
|
13810
|
-
children: [jsxRuntime.jsx(Label, {
|
|
13871
|
+
children: [controlLabel && jsxRuntime.jsx(Label, {
|
|
13811
13872
|
htmlFor: uniqueName,
|
|
13812
|
-
children:
|
|
13873
|
+
children: controlLabel
|
|
13813
13874
|
}), jsxRuntime.jsx(TextArea, {
|
|
13814
13875
|
id: uniqueName,
|
|
13815
13876
|
name: uniqueName,
|
|
@@ -13818,11 +13879,16 @@ function FieldTextArea(_ref) {
|
|
|
13818
13879
|
onChange: onChange,
|
|
13819
13880
|
onBlur: onBlur,
|
|
13820
13881
|
onFocus: onFocus,
|
|
13882
|
+
required: state.errors.some(x => x.key === 'required'),
|
|
13821
13883
|
disabled: state.flags.disabled,
|
|
13822
13884
|
readOnly: state.flags.readonly,
|
|
13885
|
+
"aria-invalid": state.flags.invalid,
|
|
13886
|
+
"aria-describedby": `${uniqueName}-error`,
|
|
13823
13887
|
width: "100%"
|
|
13824
13888
|
}), jsxRuntime.jsx(FieldError, {
|
|
13825
|
-
state: state
|
|
13889
|
+
state: state,
|
|
13890
|
+
label: controlLabel,
|
|
13891
|
+
id: `${uniqueName}-error`
|
|
13826
13892
|
})]
|
|
13827
13893
|
});
|
|
13828
13894
|
}
|
|
@@ -14715,6 +14781,7 @@ exports.Grid = Grid;
|
|
|
14715
14781
|
exports.GridRow = GridRow;
|
|
14716
14782
|
exports.Header = Header;
|
|
14717
14783
|
exports.Highlight = Highlight;
|
|
14784
|
+
exports.INPUT_TYPES = INPUT_TYPES;
|
|
14718
14785
|
exports.Icons = Icons;
|
|
14719
14786
|
exports.InfiniteLoader = InfiniteLoader;
|
|
14720
14787
|
exports.Input = Input;
|