@websolutespa/bom-mixer-ui 1.10.6 → 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 +12 -0
- package/dist/cjs/index.js +126 -50
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/components/page-loader/page-loader.js +4 -0
- package/dist/esm/components/page-loader/page-loader.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/forms/select/select.js +8 -0
- package/dist/esm/forms/select/select.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/types/components/page-loader/page-loader.d.ts.map +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/dist/types/forms/select/select.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/page-loader/page-loader.tsx +4 -0
- 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/src/forms/select/select.tsx +11 -0
package/CHANGELOG.md
CHANGED
package/dist/cjs/index.js
CHANGED
|
@@ -7005,6 +7005,10 @@ const StyledContent = styled__default.default.div`
|
|
|
7005
7005
|
display: flex;
|
|
7006
7006
|
justify-content: center;
|
|
7007
7007
|
align-items: center;
|
|
7008
|
+
|
|
7009
|
+
[data-loading=true] > & {
|
|
7010
|
+
pointer-events: auto;
|
|
7011
|
+
}
|
|
7008
7012
|
`;
|
|
7009
7013
|
function PageLoader(_ref) {
|
|
7010
7014
|
let {
|
|
@@ -11389,12 +11393,11 @@ const Input = /*#__PURE__*/React.forwardRef(function Input(_a, ref) {
|
|
|
11389
11393
|
}, className, variant);
|
|
11390
11394
|
const globalVariants = useVariants('input', inputVariants);
|
|
11391
11395
|
variants = variants || globalVariants;
|
|
11392
|
-
return jsxRuntime.jsxs(StyledInputContainer,
|
|
11396
|
+
return jsxRuntime.jsxs(StyledInputContainer, {
|
|
11393
11397
|
className: classNames,
|
|
11394
11398
|
variant: variant,
|
|
11395
11399
|
variants: variants,
|
|
11396
|
-
"data-focus-visible": focus || undefined
|
|
11397
|
-
}, props, {
|
|
11400
|
+
"data-focus-visible": focus || undefined,
|
|
11398
11401
|
children: [before, jsxRuntime.jsx(StyledInput, Object.assign({
|
|
11399
11402
|
className: 'input',
|
|
11400
11403
|
ref: ref,
|
|
@@ -11407,7 +11410,7 @@ const Input = /*#__PURE__*/React.forwardRef(function Input(_a, ref) {
|
|
|
11407
11410
|
onFocus: onFocus_,
|
|
11408
11411
|
onBlur: onBlur_
|
|
11409
11412
|
}, props)), after]
|
|
11410
|
-
})
|
|
11413
|
+
});
|
|
11411
11414
|
});
|
|
11412
11415
|
|
|
11413
11416
|
const RadioContext = /*#__PURE__*/React.createContext(null);
|
|
@@ -12632,6 +12635,14 @@ function Select$1(_a) {
|
|
|
12632
12635
|
// console.log('onChange_.setOuterValue', outerValue);
|
|
12633
12636
|
}
|
|
12634
12637
|
};
|
|
12638
|
+
/*
|
|
12639
|
+
const store = Ariakit.useSelectStore({
|
|
12640
|
+
// value: value,
|
|
12641
|
+
defaultValue: defaultValue,
|
|
12642
|
+
setValue: (value) => onChange_(value),
|
|
12643
|
+
});
|
|
12644
|
+
console.log('Select', value, defaultValue);
|
|
12645
|
+
*/
|
|
12635
12646
|
const onBlur_ = event => {
|
|
12636
12647
|
onBlur && onBlur(event);
|
|
12637
12648
|
};
|
|
@@ -13017,12 +13028,21 @@ const StyledFieldError = styled__default.default.div`
|
|
|
13017
13028
|
function FieldError(_a) {
|
|
13018
13029
|
var {
|
|
13019
13030
|
state,
|
|
13031
|
+
label,
|
|
13020
13032
|
className,
|
|
13021
13033
|
variant = 'default',
|
|
13022
13034
|
variants
|
|
13023
13035
|
} = _a,
|
|
13024
|
-
props = __rest(_a, ["state", "className", "variant", "variants"]);
|
|
13025
|
-
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
|
+
};
|
|
13026
13046
|
const classNames = bomCore.getClassNames('field-error', className, variant);
|
|
13027
13047
|
const globalVariants = useVariants('fieldError', fieldErrorVariants);
|
|
13028
13048
|
variants = variants || globalVariants;
|
|
@@ -13030,9 +13050,10 @@ function FieldError(_a) {
|
|
|
13030
13050
|
children: state.flags.touched && state.errors.map(error => jsxRuntime.jsx(StyledFieldError, Object.assign({
|
|
13031
13051
|
className: classNames,
|
|
13032
13052
|
variant: variant,
|
|
13033
|
-
variants: variants
|
|
13053
|
+
variants: variants,
|
|
13054
|
+
role: "alert"
|
|
13034
13055
|
}, props, {
|
|
13035
|
-
children:
|
|
13056
|
+
children: getErrorLabel(error)
|
|
13036
13057
|
}), error.key))
|
|
13037
13058
|
});
|
|
13038
13059
|
}
|
|
@@ -13062,6 +13083,7 @@ function FieldAccept(_ref) {
|
|
|
13062
13083
|
const onFocus = _ => {
|
|
13063
13084
|
setFocus(true);
|
|
13064
13085
|
};
|
|
13086
|
+
const controlLabel = control.label && label(control.label);
|
|
13065
13087
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13066
13088
|
type: "hidden",
|
|
13067
13089
|
value: state.value ? 'true' : 'false'
|
|
@@ -13081,7 +13103,9 @@ function FieldAccept(_ref) {
|
|
|
13081
13103
|
value: "true",
|
|
13082
13104
|
name: uniqueNameTrue,
|
|
13083
13105
|
id: uniqueNameTrue,
|
|
13084
|
-
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`
|
|
13085
13109
|
}), label('form.accept.true')]
|
|
13086
13110
|
}), jsxRuntime.jsxs(Label, {
|
|
13087
13111
|
name: uniqueNameFalse,
|
|
@@ -13093,10 +13117,11 @@ function FieldAccept(_ref) {
|
|
|
13093
13117
|
disabled: state.flags.disabled || state.flags.readonly
|
|
13094
13118
|
}), label('form.accept.false')]
|
|
13095
13119
|
})]
|
|
13096
|
-
}),
|
|
13097
|
-
children:
|
|
13120
|
+
}), controlLabel && jsxRuntime.jsx(Text, {
|
|
13121
|
+
children: controlLabel
|
|
13098
13122
|
}), jsxRuntime.jsx(FieldError, {
|
|
13099
|
-
state: state
|
|
13123
|
+
state: state,
|
|
13124
|
+
id: `${uniqueName}-error`
|
|
13100
13125
|
})]
|
|
13101
13126
|
});
|
|
13102
13127
|
}
|
|
@@ -13170,14 +13195,15 @@ function FieldAutocomplete(_ref) {
|
|
|
13170
13195
|
}
|
|
13171
13196
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
13172
13197
|
}, []);
|
|
13198
|
+
const controlLabel = control.label && label(control.label);
|
|
13173
13199
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13174
13200
|
type: "hidden",
|
|
13175
13201
|
value: bomMixerForms.valueToString(state.value)
|
|
13176
13202
|
}) : jsxRuntime.jsxs(Field, {
|
|
13177
13203
|
state: state,
|
|
13178
|
-
children: [jsxRuntime.jsx(Label, {
|
|
13204
|
+
children: [controlLabel && jsxRuntime.jsx(Label, {
|
|
13179
13205
|
htmlFor: uniqueName,
|
|
13180
|
-
children:
|
|
13206
|
+
children: controlLabel
|
|
13181
13207
|
}), jsxRuntime.jsx(Autocomplete, {
|
|
13182
13208
|
id: uniqueName,
|
|
13183
13209
|
name: uniqueName,
|
|
@@ -13190,7 +13216,8 @@ function FieldAutocomplete(_ref) {
|
|
|
13190
13216
|
background: "var(--color-neutral-100)",
|
|
13191
13217
|
overflow: "hidden"
|
|
13192
13218
|
}), jsxRuntime.jsx(FieldError, {
|
|
13193
|
-
state: state
|
|
13219
|
+
state: state,
|
|
13220
|
+
id: `${uniqueName}-error`
|
|
13194
13221
|
})]
|
|
13195
13222
|
});
|
|
13196
13223
|
}
|
|
@@ -13219,16 +13246,17 @@ function FieldCard(_a) {
|
|
|
13219
13246
|
const onFocus = _ => {
|
|
13220
13247
|
setFocus(true);
|
|
13221
13248
|
};
|
|
13249
|
+
const controlLabel = control.label && label(control.label);
|
|
13222
13250
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13223
13251
|
type: "hidden",
|
|
13224
13252
|
value: state.value ? state.value.toString() : ''
|
|
13225
13253
|
}) : jsxRuntime.jsxs(Field, Object.assign({
|
|
13226
13254
|
state: state
|
|
13227
13255
|
}, props, {
|
|
13228
|
-
children: [jsxRuntime.jsx(Label, {
|
|
13256
|
+
children: [controlLabel && jsxRuntime.jsx(Label, {
|
|
13229
13257
|
htmlFor: uniqueName,
|
|
13230
13258
|
margin: "0",
|
|
13231
|
-
children:
|
|
13259
|
+
children: controlLabel
|
|
13232
13260
|
}), jsxRuntime.jsx(RadioCard.Group, {
|
|
13233
13261
|
id: uniqueName,
|
|
13234
13262
|
name: uniqueName,
|
|
@@ -13248,7 +13276,9 @@ function FieldCard(_a) {
|
|
|
13248
13276
|
})]
|
|
13249
13277
|
}, option.id))
|
|
13250
13278
|
}), jsxRuntime.jsx(FieldError, {
|
|
13251
|
-
state: state
|
|
13279
|
+
state: state,
|
|
13280
|
+
label: controlLabel,
|
|
13281
|
+
id: `${uniqueName}-error`
|
|
13252
13282
|
})]
|
|
13253
13283
|
}));
|
|
13254
13284
|
}
|
|
@@ -13274,6 +13304,7 @@ function FieldCheckbox(_a) {
|
|
|
13274
13304
|
const onFocus = _ => {
|
|
13275
13305
|
setFocus(true);
|
|
13276
13306
|
};
|
|
13307
|
+
const controlLabel = control.label && label(control.label);
|
|
13277
13308
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13278
13309
|
type: "hidden",
|
|
13279
13310
|
value: state.value ? state.value.toString() : ''
|
|
@@ -13290,14 +13321,17 @@ function FieldCheckbox(_a) {
|
|
|
13290
13321
|
onBlur: onBlur,
|
|
13291
13322
|
onFocus: onFocus,
|
|
13292
13323
|
disabled: state.flags.disabled || state.flags.readonly,
|
|
13293
|
-
checked: state.value === true
|
|
13294
|
-
|
|
13324
|
+
checked: state.value === true,
|
|
13325
|
+
"aria-invalid": state.flags.invalid,
|
|
13326
|
+
"aria-describedby": `${uniqueName}-error`
|
|
13327
|
+
}), controlLabel && jsxRuntime.jsx("span", {
|
|
13295
13328
|
dangerouslySetInnerHTML: {
|
|
13296
|
-
__html:
|
|
13329
|
+
__html: controlLabel
|
|
13297
13330
|
}
|
|
13298
13331
|
})]
|
|
13299
13332
|
}), jsxRuntime.jsx(FieldError, {
|
|
13300
|
-
state: state
|
|
13333
|
+
state: state,
|
|
13334
|
+
id: `${uniqueName}-error`
|
|
13301
13335
|
})]
|
|
13302
13336
|
}));
|
|
13303
13337
|
}
|
|
@@ -13324,6 +13358,7 @@ function FieldCombobox(_ref) {
|
|
|
13324
13358
|
setValue(option);
|
|
13325
13359
|
};
|
|
13326
13360
|
// console.log('FieldCombobox', control.value);
|
|
13361
|
+
const controlLabel = control.label && label(control.label);
|
|
13327
13362
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13328
13363
|
type: "hidden",
|
|
13329
13364
|
value: bomMixerForms.valueToString(state.value)
|
|
@@ -13336,12 +13371,14 @@ function FieldCombobox(_ref) {
|
|
|
13336
13371
|
onChange: onChange,
|
|
13337
13372
|
onFocus: onFocus,
|
|
13338
13373
|
onBlur: onBlur,
|
|
13339
|
-
children: [
|
|
13340
|
-
children:
|
|
13374
|
+
children: [controlLabel && jsxRuntime.jsx(Combobox.Label, {
|
|
13375
|
+
children: controlLabel
|
|
13341
13376
|
}), jsxRuntime.jsx(Combobox.Combobox, {
|
|
13342
13377
|
after: icon || jsxRuntime.jsx(bomMixerIcons.IconChevronDown, {}),
|
|
13343
13378
|
autoSelect: true,
|
|
13344
|
-
placeholder: control.placeholder && label(control.placeholder)
|
|
13379
|
+
placeholder: control.placeholder && label(control.placeholder),
|
|
13380
|
+
"aria-invalid": state.flags.invalid,
|
|
13381
|
+
"aria-describedby": `${uniqueName}-error`
|
|
13345
13382
|
}), jsxRuntime.jsx(Combobox.Popover, {
|
|
13346
13383
|
gutter: 4,
|
|
13347
13384
|
sameWidth: true,
|
|
@@ -13360,7 +13397,9 @@ function FieldCombobox(_ref) {
|
|
|
13360
13397
|
}
|
|
13361
13398
|
})]
|
|
13362
13399
|
}), ((_a = control.customData) === null || _a === void 0 ? void 0 : _a.after) && control.customData.after, jsxRuntime.jsx(FieldError, {
|
|
13363
|
-
state: state
|
|
13400
|
+
state: state,
|
|
13401
|
+
label: controlLabel,
|
|
13402
|
+
id: `${uniqueName}-error`
|
|
13364
13403
|
})]
|
|
13365
13404
|
});
|
|
13366
13405
|
}
|
|
@@ -13403,6 +13442,7 @@ function FieldConsent(_ref) {
|
|
|
13403
13442
|
};
|
|
13404
13443
|
const detail = (_a = control.customData) === null || _a === void 0 ? void 0 : _a.detail;
|
|
13405
13444
|
const [active, setActive] = React.useState(false);
|
|
13445
|
+
const controlLabel = control.label && label(control.label);
|
|
13406
13446
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13407
13447
|
type: "hidden",
|
|
13408
13448
|
value: state.value ? 'true' : 'false'
|
|
@@ -13415,9 +13455,9 @@ function FieldConsent(_ref) {
|
|
|
13415
13455
|
borderBottom: "1px solid var(--color-neutral-200)",
|
|
13416
13456
|
children: [jsxRuntime.jsxs("div", {
|
|
13417
13457
|
className: "field-consent__description",
|
|
13418
|
-
children: [
|
|
13458
|
+
children: [controlLabel && jsxRuntime.jsx("span", {
|
|
13419
13459
|
dangerouslySetInnerHTML: {
|
|
13420
|
-
__html:
|
|
13460
|
+
__html: controlLabel
|
|
13421
13461
|
}
|
|
13422
13462
|
}), detail && jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
13423
13463
|
children: ["\u00A0", jsxRuntime.jsx(Button, {
|
|
@@ -13442,7 +13482,9 @@ function FieldConsent(_ref) {
|
|
|
13442
13482
|
onBlur: onTrueBlur,
|
|
13443
13483
|
onFocus: onTrueFocus,
|
|
13444
13484
|
disabled: state.flags.disabled || state.flags.readonly,
|
|
13445
|
-
checked: state.value === true
|
|
13485
|
+
checked: state.value === true,
|
|
13486
|
+
"aria-invalid": state.flags.invalid,
|
|
13487
|
+
"aria-describedby": `${uniqueName}-error`
|
|
13446
13488
|
}), jsxRuntime.jsx("span", {
|
|
13447
13489
|
children: label('form.consent.true')
|
|
13448
13490
|
})]
|
|
@@ -13462,7 +13504,8 @@ function FieldConsent(_ref) {
|
|
|
13462
13504
|
})]
|
|
13463
13505
|
})]
|
|
13464
13506
|
}), jsxRuntime.jsx(FieldError, {
|
|
13465
|
-
state: state
|
|
13507
|
+
state: state,
|
|
13508
|
+
id: `${uniqueName}-error`
|
|
13466
13509
|
})]
|
|
13467
13510
|
});
|
|
13468
13511
|
}
|
|
@@ -13478,6 +13521,7 @@ function FieldImplicit(_a) {
|
|
|
13478
13521
|
const label = bomMixerHooks.useLabel();
|
|
13479
13522
|
const uniqueName = `${control.name}-${uid}`;
|
|
13480
13523
|
const [state, setValue, setTouched] = bomMixerForms.useControl(control);
|
|
13524
|
+
const controlLabel = control.label && label(control.label);
|
|
13481
13525
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13482
13526
|
type: "hidden",
|
|
13483
13527
|
value: state.value || ''
|
|
@@ -13491,9 +13535,9 @@ function FieldImplicit(_a) {
|
|
|
13491
13535
|
id: uniqueName,
|
|
13492
13536
|
name: uniqueName,
|
|
13493
13537
|
value: String(state.value)
|
|
13494
|
-
}),
|
|
13538
|
+
}), controlLabel && jsxRuntime.jsx("span", {
|
|
13495
13539
|
dangerouslySetInnerHTML: {
|
|
13496
|
-
__html:
|
|
13540
|
+
__html: controlLabel
|
|
13497
13541
|
}
|
|
13498
13542
|
})]
|
|
13499
13543
|
}), jsxRuntime.jsx(FieldError, {
|
|
@@ -13545,6 +13589,7 @@ function FieldPassword(_ref) {
|
|
|
13545
13589
|
const onToggle = () => {
|
|
13546
13590
|
setType(type === 'password' ? 'text' : 'password');
|
|
13547
13591
|
};
|
|
13592
|
+
const controlLabel = control.label && label(control.label);
|
|
13548
13593
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13549
13594
|
type: "hidden",
|
|
13550
13595
|
value: state.value || ''
|
|
@@ -13553,9 +13598,9 @@ function FieldPassword(_ref) {
|
|
|
13553
13598
|
className: bomCore.getClassNames({
|
|
13554
13599
|
required: control.required && !control.disabled
|
|
13555
13600
|
}),
|
|
13556
|
-
children: [jsxRuntime.jsx(Label, {
|
|
13601
|
+
children: [controlLabel && jsxRuntime.jsx(Label, {
|
|
13557
13602
|
htmlFor: uniqueName,
|
|
13558
|
-
children:
|
|
13603
|
+
children: controlLabel
|
|
13559
13604
|
}), jsxRuntime.jsx(Input, {
|
|
13560
13605
|
width: "100%",
|
|
13561
13606
|
ref: ref,
|
|
@@ -13567,15 +13612,20 @@ function FieldPassword(_ref) {
|
|
|
13567
13612
|
onChange: onChange,
|
|
13568
13613
|
onBlur: onBlur,
|
|
13569
13614
|
onFocus: onFocus,
|
|
13615
|
+
required: state.errors.some(x => x.key === 'required'),
|
|
13570
13616
|
disabled: state.flags.disabled,
|
|
13571
13617
|
readOnly: state.flags.readonly,
|
|
13572
|
-
|
|
13618
|
+
"aria-invalid": state.flags.invalid,
|
|
13619
|
+
"aria-describedby": `${uniqueName}-error`,
|
|
13620
|
+
autoComplete: "on",
|
|
13573
13621
|
after: jsxRuntime.jsx(Button, {
|
|
13574
13622
|
onClick: () => onToggle(),
|
|
13575
13623
|
children: icon(type)
|
|
13576
13624
|
})
|
|
13577
13625
|
}), jsxRuntime.jsx(FieldError, {
|
|
13578
|
-
state: state
|
|
13626
|
+
state: state,
|
|
13627
|
+
label: controlLabel,
|
|
13628
|
+
id: `${uniqueName}-error`
|
|
13579
13629
|
})]
|
|
13580
13630
|
});
|
|
13581
13631
|
}
|
|
@@ -13609,6 +13659,7 @@ function FieldRadio(_a) {
|
|
|
13609
13659
|
const onFocus = _ => {
|
|
13610
13660
|
setFocus(true);
|
|
13611
13661
|
};
|
|
13662
|
+
const controlLabel = control.label && label(control.label);
|
|
13612
13663
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13613
13664
|
type: "hidden",
|
|
13614
13665
|
value: bomMixerForms.valueToString(state.value)
|
|
@@ -13620,8 +13671,8 @@ function FieldRadio(_a) {
|
|
|
13620
13671
|
onChange: onChange,
|
|
13621
13672
|
onBlur: onBlur,
|
|
13622
13673
|
onFocus: onFocus,
|
|
13623
|
-
children: [
|
|
13624
|
-
children:
|
|
13674
|
+
children: [controlLabel && jsxRuntime.jsx(Radio.GroupLabel, {
|
|
13675
|
+
children: controlLabel
|
|
13625
13676
|
}), (_b = control.options) === null || _b === void 0 ? void 0 : _b.map(option => {
|
|
13626
13677
|
var _a;
|
|
13627
13678
|
return jsxRuntime.jsxs(Label, {
|
|
@@ -13636,7 +13687,9 @@ function FieldRadio(_a) {
|
|
|
13636
13687
|
}, getUniqueName(option));
|
|
13637
13688
|
})]
|
|
13638
13689
|
}), jsxRuntime.jsx(FieldError, {
|
|
13639
|
-
state: state
|
|
13690
|
+
state: state,
|
|
13691
|
+
label: controlLabel,
|
|
13692
|
+
id: `${uniqueName}-error`
|
|
13640
13693
|
})]
|
|
13641
13694
|
}));
|
|
13642
13695
|
}
|
|
@@ -13662,6 +13715,7 @@ function FieldSelect(_ref) {
|
|
|
13662
13715
|
const onChange = option => {
|
|
13663
13716
|
setValue(option);
|
|
13664
13717
|
};
|
|
13718
|
+
const controlLabel = control.label && label(control.label);
|
|
13665
13719
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13666
13720
|
type: "hidden",
|
|
13667
13721
|
value: bomMixerForms.valueToString(state.value)
|
|
@@ -13678,10 +13732,14 @@ function FieldSelect(_ref) {
|
|
|
13678
13732
|
onChange: onChange,
|
|
13679
13733
|
onFocus: onFocus,
|
|
13680
13734
|
onBlur: onBlur,
|
|
13681
|
-
children: [
|
|
13682
|
-
|
|
13735
|
+
children: [controlLabel && jsxRuntime.jsx(Select.Label, {
|
|
13736
|
+
htmlFor: uniqueName,
|
|
13737
|
+
children: controlLabel
|
|
13683
13738
|
}), jsxRuntime.jsx(Select.Select, {
|
|
13684
|
-
|
|
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`,
|
|
13685
13743
|
children: icon || jsxRuntime.jsx(bomMixerIcons.IconChevronDown, {})
|
|
13686
13744
|
}), jsxRuntime.jsx(Select.Popover, {
|
|
13687
13745
|
gutter: 4,
|
|
@@ -13692,12 +13750,15 @@ function FieldSelect(_ref) {
|
|
|
13692
13750
|
children: option.name
|
|
13693
13751
|
}, i))
|
|
13694
13752
|
}), jsxRuntime.jsx(FieldError, {
|
|
13695
|
-
state: state
|
|
13753
|
+
state: state,
|
|
13754
|
+
label: controlLabel,
|
|
13755
|
+
id: `${uniqueName}-error`
|
|
13696
13756
|
})]
|
|
13697
13757
|
}), ((_a = control.customData) === null || _a === void 0 ? void 0 : _a.after) && control.customData.after]
|
|
13698
13758
|
});
|
|
13699
13759
|
}
|
|
13700
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]));
|
|
13701
13762
|
function FieldText(_a) {
|
|
13702
13763
|
var {
|
|
13703
13764
|
control,
|
|
@@ -13736,6 +13797,8 @@ function FieldText(_a) {
|
|
|
13736
13797
|
const onFocus = _ => {
|
|
13737
13798
|
setFocus(true);
|
|
13738
13799
|
};
|
|
13800
|
+
const type = INPUT_TYPES[control.schema] || 'text';
|
|
13801
|
+
const controlLabel = control.label && label(control.label);
|
|
13739
13802
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13740
13803
|
type: "hidden",
|
|
13741
13804
|
value: state.value || ''
|
|
@@ -13744,27 +13807,33 @@ function FieldText(_a) {
|
|
|
13744
13807
|
className: bomCore.getClassNames({
|
|
13745
13808
|
required: control.required && !control.disabled
|
|
13746
13809
|
}),
|
|
13747
|
-
children: [jsxRuntime.jsx(Label, {
|
|
13810
|
+
children: [controlLabel && jsxRuntime.jsx(Label, {
|
|
13748
13811
|
htmlFor: uniqueName,
|
|
13749
|
-
children:
|
|
13812
|
+
children: controlLabel
|
|
13750
13813
|
}), jsxRuntime.jsx(Input, Object.assign({
|
|
13751
13814
|
width: "100%"
|
|
13752
13815
|
}, props, {
|
|
13753
13816
|
ref: ref,
|
|
13754
13817
|
id: uniqueName,
|
|
13755
13818
|
name: uniqueName,
|
|
13819
|
+
type: type,
|
|
13756
13820
|
placeholder: label(control.placeholder || control.label || ''),
|
|
13757
13821
|
defaultValue: state.value || '',
|
|
13758
13822
|
onChange: onChange,
|
|
13759
13823
|
onBlur: onBlur,
|
|
13760
13824
|
onFocus: onFocus,
|
|
13825
|
+
required: state.errors.some(x => x.key === 'required'),
|
|
13761
13826
|
disabled: state.flags.disabled,
|
|
13762
13827
|
readOnly: state.flags.readonly,
|
|
13828
|
+
"aria-invalid": state.flags.invalid,
|
|
13829
|
+
"aria-describedby": `${uniqueName}-error`,
|
|
13763
13830
|
before: before,
|
|
13764
13831
|
after: after,
|
|
13765
|
-
autoComplete:
|
|
13832
|
+
autoComplete: "on"
|
|
13766
13833
|
})), jsxRuntime.jsx(FieldError, {
|
|
13767
|
-
state: state
|
|
13834
|
+
state: state,
|
|
13835
|
+
label: controlLabel,
|
|
13836
|
+
id: `${uniqueName}-error`
|
|
13768
13837
|
})]
|
|
13769
13838
|
});
|
|
13770
13839
|
}
|
|
@@ -13790,14 +13859,15 @@ function FieldTextArea(_ref) {
|
|
|
13790
13859
|
const onFocus = _ => {
|
|
13791
13860
|
setFocus(true);
|
|
13792
13861
|
};
|
|
13862
|
+
const controlLabel = control.label && label(control.label);
|
|
13793
13863
|
return state.flags.hidden ? jsxRuntime.jsx("input", {
|
|
13794
13864
|
type: "hidden",
|
|
13795
13865
|
value: state.value || ''
|
|
13796
13866
|
}) : jsxRuntime.jsxs(Field, {
|
|
13797
13867
|
state: state,
|
|
13798
|
-
children: [jsxRuntime.jsx(Label, {
|
|
13868
|
+
children: [controlLabel && jsxRuntime.jsx(Label, {
|
|
13799
13869
|
htmlFor: uniqueName,
|
|
13800
|
-
children:
|
|
13870
|
+
children: controlLabel
|
|
13801
13871
|
}), jsxRuntime.jsx(TextArea, {
|
|
13802
13872
|
id: uniqueName,
|
|
13803
13873
|
name: uniqueName,
|
|
@@ -13806,11 +13876,16 @@ function FieldTextArea(_ref) {
|
|
|
13806
13876
|
onChange: onChange,
|
|
13807
13877
|
onBlur: onBlur,
|
|
13808
13878
|
onFocus: onFocus,
|
|
13879
|
+
required: state.errors.some(x => x.key === 'required'),
|
|
13809
13880
|
disabled: state.flags.disabled,
|
|
13810
13881
|
readOnly: state.flags.readonly,
|
|
13882
|
+
"aria-invalid": state.flags.invalid,
|
|
13883
|
+
"aria-describedby": `${uniqueName}-error`,
|
|
13811
13884
|
width: "100%"
|
|
13812
13885
|
}), jsxRuntime.jsx(FieldError, {
|
|
13813
|
-
state: state
|
|
13886
|
+
state: state,
|
|
13887
|
+
label: controlLabel,
|
|
13888
|
+
id: `${uniqueName}-error`
|
|
13814
13889
|
})]
|
|
13815
13890
|
});
|
|
13816
13891
|
}
|
|
@@ -14703,6 +14778,7 @@ exports.Grid = Grid;
|
|
|
14703
14778
|
exports.GridRow = GridRow;
|
|
14704
14779
|
exports.Header = Header;
|
|
14705
14780
|
exports.Highlight = Highlight;
|
|
14781
|
+
exports.INPUT_TYPES = INPUT_TYPES;
|
|
14706
14782
|
exports.Icons = Icons;
|
|
14707
14783
|
exports.InfiniteLoader = InfiniteLoader;
|
|
14708
14784
|
exports.Input = Input;
|