@redneckz/wildless-cms-uni-blocks 0.14.594 → 0.14.595
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/bundle/bundle.umd.js +18 -17
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/model/DefaultControlType.d.ts +7 -0
- package/bundle/ui-kit/DatePicker/DatePickerControl.d.ts +3 -7
- package/bundle/ui-kit/Input/InputProps.d.ts +2 -6
- package/bundle/ui-kit/RadioButtonGroup/RadioButtonGroup.d.ts +3 -5
- package/bundle/ui-kit/RadioButtonGroup/RadioButtonGroupControl.d.ts +2 -0
- package/bundle/ui-kit/Select/Select.d.ts +4 -7
- package/bundle/ui-kit/Select/SelectControl.d.ts +1 -8
- package/bundle/utils/getRequiredLabel.d.ts +2 -0
- package/dist/model/DefaultControlType.d.ts +7 -0
- package/dist/model/DefaultControlType.js +2 -0
- package/dist/model/DefaultControlType.js.map +1 -0
- package/dist/ui-kit/Calculator/renderBinaryRadioButtonGroup.js +1 -1
- package/dist/ui-kit/Calculator/renderBinaryRadioButtonGroup.js.map +1 -1
- package/dist/ui-kit/DatePicker/DatePickerControl.d.ts +3 -7
- package/dist/ui-kit/DatePicker/DatePickerControl.js +2 -1
- package/dist/ui-kit/DatePicker/DatePickerControl.js.map +1 -1
- package/dist/ui-kit/FormField/Fields/SexField.js +5 -4
- package/dist/ui-kit/FormField/Fields/SexField.js.map +1 -1
- package/dist/ui-kit/FormField/Fields/VedField.js +1 -1
- package/dist/ui-kit/FormField/Fields/VedField.js.map +1 -1
- package/dist/ui-kit/Input/InputControl.js +2 -2
- package/dist/ui-kit/Input/InputControl.js.map +1 -1
- package/dist/ui-kit/Input/InputPhoneControl.js +2 -1
- package/dist/ui-kit/Input/InputPhoneControl.js.map +1 -1
- package/dist/ui-kit/Input/InputProps.d.ts +2 -6
- package/dist/ui-kit/Input/InputSnilsControl.js +2 -1
- package/dist/ui-kit/Input/InputSnilsControl.js.map +1 -1
- package/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.d.ts +3 -5
- package/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
- package/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
- package/dist/ui-kit/RadioButtonGroup/RadioButtonGroupControl.d.ts +2 -0
- package/dist/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js +10 -0
- package/dist/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js.map +1 -0
- package/dist/ui-kit/Select/Select.d.ts +4 -7
- package/dist/ui-kit/Select/Select.js +3 -4
- package/dist/ui-kit/Select/Select.js.map +1 -1
- package/dist/ui-kit/Select/SelectControl.d.ts +1 -8
- package/dist/ui-kit/Select/SelectControl.js +2 -1
- package/dist/ui-kit/Select/SelectControl.js.map +1 -1
- package/dist/utils/getRequiredLabel.d.ts +2 -0
- package/dist/utils/getRequiredLabel.js +5 -0
- package/dist/utils/getRequiredLabel.js.map +1 -0
- package/lib/model/DefaultControlType.d.ts +7 -0
- package/lib/model/DefaultControlType.js +2 -0
- package/lib/model/DefaultControlType.js.map +1 -0
- package/lib/ui-kit/Calculator/renderBinaryRadioButtonGroup.js +1 -1
- package/lib/ui-kit/Calculator/renderBinaryRadioButtonGroup.js.map +1 -1
- package/lib/ui-kit/DatePicker/DatePickerControl.d.ts +3 -7
- package/lib/ui-kit/DatePicker/DatePickerControl.js +2 -1
- package/lib/ui-kit/DatePicker/DatePickerControl.js.map +1 -1
- package/lib/ui-kit/FormField/Fields/SexField.js +5 -4
- package/lib/ui-kit/FormField/Fields/SexField.js.map +1 -1
- package/lib/ui-kit/FormField/Fields/VedField.js +1 -1
- package/lib/ui-kit/FormField/Fields/VedField.js.map +1 -1
- package/lib/ui-kit/Input/InputControl.js +2 -2
- package/lib/ui-kit/Input/InputControl.js.map +1 -1
- package/lib/ui-kit/Input/InputPhoneControl.js +2 -1
- package/lib/ui-kit/Input/InputPhoneControl.js.map +1 -1
- package/lib/ui-kit/Input/InputProps.d.ts +2 -6
- package/lib/ui-kit/Input/InputSnilsControl.js +2 -1
- package/lib/ui-kit/Input/InputSnilsControl.js.map +1 -1
- package/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.d.ts +3 -5
- package/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
- package/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
- package/lib/ui-kit/RadioButtonGroup/RadioButtonGroupControl.d.ts +2 -0
- package/lib/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js +8 -0
- package/lib/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js.map +1 -0
- package/lib/ui-kit/Select/Select.d.ts +4 -7
- package/lib/ui-kit/Select/Select.js +3 -4
- package/lib/ui-kit/Select/Select.js.map +1 -1
- package/lib/ui-kit/Select/SelectControl.d.ts +1 -8
- package/lib/ui-kit/Select/SelectControl.js +2 -1
- package/lib/ui-kit/Select/SelectControl.js.map +1 -1
- package/lib/utils/getRequiredLabel.d.ts +2 -0
- package/lib/utils/getRequiredLabel.js +2 -0
- package/lib/utils/getRequiredLabel.js.map +1 -0
- package/mobile/bundle/bundle.umd.js +18 -17
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/model/DefaultControlType.d.ts +7 -0
- package/mobile/bundle/ui-kit/DatePicker/DatePickerControl.d.ts +3 -7
- package/mobile/bundle/ui-kit/Input/InputProps.d.ts +2 -6
- package/mobile/bundle/ui-kit/RadioButtonGroup/RadioButtonGroup.d.ts +3 -5
- package/mobile/bundle/ui-kit/RadioButtonGroup/RadioButtonGroupControl.d.ts +2 -0
- package/mobile/bundle/ui-kit/Select/Select.d.ts +4 -7
- package/mobile/bundle/ui-kit/Select/SelectControl.d.ts +1 -8
- package/mobile/bundle/utils/getRequiredLabel.d.ts +2 -0
- package/mobile/dist/model/DefaultControlType.d.ts +7 -0
- package/mobile/dist/model/DefaultControlType.js +2 -0
- package/mobile/dist/model/DefaultControlType.js.map +1 -0
- package/mobile/dist/ui-kit/Calculator/renderBinaryRadioButtonGroup.js +1 -1
- package/mobile/dist/ui-kit/Calculator/renderBinaryRadioButtonGroup.js.map +1 -1
- package/mobile/dist/ui-kit/DatePicker/DatePickerControl.d.ts +3 -7
- package/mobile/dist/ui-kit/DatePicker/DatePickerControl.js +2 -1
- package/mobile/dist/ui-kit/DatePicker/DatePickerControl.js.map +1 -1
- package/mobile/dist/ui-kit/FormField/Fields/SexField.js +5 -4
- package/mobile/dist/ui-kit/FormField/Fields/SexField.js.map +1 -1
- package/mobile/dist/ui-kit/FormField/Fields/VedField.js +1 -1
- package/mobile/dist/ui-kit/FormField/Fields/VedField.js.map +1 -1
- package/mobile/dist/ui-kit/Input/InputControl.js +2 -2
- package/mobile/dist/ui-kit/Input/InputControl.js.map +1 -1
- package/mobile/dist/ui-kit/Input/InputPhoneControl.js +2 -1
- package/mobile/dist/ui-kit/Input/InputPhoneControl.js.map +1 -1
- package/mobile/dist/ui-kit/Input/InputProps.d.ts +2 -6
- package/mobile/dist/ui-kit/Input/InputSnilsControl.js +2 -1
- package/mobile/dist/ui-kit/Input/InputSnilsControl.js.map +1 -1
- package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.d.ts +3 -5
- package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
- package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
- package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroupControl.d.ts +2 -0
- package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js +10 -0
- package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js.map +1 -0
- package/mobile/dist/ui-kit/Select/Select.d.ts +4 -7
- package/mobile/dist/ui-kit/Select/Select.js +3 -4
- package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
- package/mobile/dist/ui-kit/Select/SelectControl.d.ts +1 -8
- package/mobile/dist/ui-kit/Select/SelectControl.js +2 -1
- package/mobile/dist/ui-kit/Select/SelectControl.js.map +1 -1
- package/mobile/dist/utils/getRequiredLabel.d.ts +2 -0
- package/mobile/dist/utils/getRequiredLabel.js +5 -0
- package/mobile/dist/utils/getRequiredLabel.js.map +1 -0
- package/mobile/lib/model/DefaultControlType.d.ts +7 -0
- package/mobile/lib/model/DefaultControlType.js +2 -0
- package/mobile/lib/model/DefaultControlType.js.map +1 -0
- package/mobile/lib/ui-kit/Calculator/renderBinaryRadioButtonGroup.js +1 -1
- package/mobile/lib/ui-kit/Calculator/renderBinaryRadioButtonGroup.js.map +1 -1
- package/mobile/lib/ui-kit/DatePicker/DatePickerControl.d.ts +3 -7
- package/mobile/lib/ui-kit/DatePicker/DatePickerControl.js +2 -1
- package/mobile/lib/ui-kit/DatePicker/DatePickerControl.js.map +1 -1
- package/mobile/lib/ui-kit/FormField/Fields/SexField.js +5 -4
- package/mobile/lib/ui-kit/FormField/Fields/SexField.js.map +1 -1
- package/mobile/lib/ui-kit/FormField/Fields/VedField.js +1 -1
- package/mobile/lib/ui-kit/FormField/Fields/VedField.js.map +1 -1
- package/mobile/lib/ui-kit/Input/InputControl.js +2 -2
- package/mobile/lib/ui-kit/Input/InputControl.js.map +1 -1
- package/mobile/lib/ui-kit/Input/InputPhoneControl.js +2 -1
- package/mobile/lib/ui-kit/Input/InputPhoneControl.js.map +1 -1
- package/mobile/lib/ui-kit/Input/InputProps.d.ts +2 -6
- package/mobile/lib/ui-kit/Input/InputSnilsControl.js +2 -1
- package/mobile/lib/ui-kit/Input/InputSnilsControl.js.map +1 -1
- package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.d.ts +3 -5
- package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
- package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
- package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroupControl.d.ts +2 -0
- package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js +8 -0
- package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js.map +1 -0
- package/mobile/lib/ui-kit/Select/Select.d.ts +4 -7
- package/mobile/lib/ui-kit/Select/Select.js +3 -4
- package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
- package/mobile/lib/ui-kit/Select/SelectControl.d.ts +1 -8
- package/mobile/lib/ui-kit/Select/SelectControl.js +2 -1
- package/mobile/lib/ui-kit/Select/SelectControl.js.map +1 -1
- package/mobile/lib/utils/getRequiredLabel.d.ts +2 -0
- package/mobile/lib/utils/getRequiredLabel.js +2 -0
- package/mobile/lib/utils/getRequiredLabel.js.map +1 -0
- package/mobile/src/model/DefaultControlType.ts +7 -0
- package/mobile/src/ui-kit/Calculator/renderBinaryRadioButtonGroup.tsx +1 -1
- package/mobile/src/ui-kit/DatePicker/DatePickerControl.tsx +6 -14
- package/mobile/src/ui-kit/FormField/Fields/SexField.tsx +13 -11
- package/mobile/src/ui-kit/FormField/Fields/VedField.tsx +1 -1
- package/mobile/src/ui-kit/Input/InputControl.tsx +2 -3
- package/mobile/src/ui-kit/Input/InputPhoneControl.tsx +2 -1
- package/mobile/src/ui-kit/Input/InputProps.ts +2 -6
- package/mobile/src/ui-kit/Input/InputSnilsControl.tsx +2 -1
- package/mobile/src/ui-kit/RadioButtonGroup/RadioButtonGroup.tsx +9 -10
- package/mobile/src/ui-kit/RadioButtonGroup/RadioButtonGroupControl.tsx +18 -0
- package/mobile/src/ui-kit/Select/Select.tsx +8 -10
- package/mobile/src/ui-kit/Select/SelectControl.tsx +4 -10
- package/mobile/src/utils/getRequiredLabel.ts +4 -0
- package/package.json +1 -1
- package/src/model/DefaultControlType.ts +7 -0
- package/src/ui-kit/Calculator/renderBinaryRadioButtonGroup.tsx +1 -1
- package/src/ui-kit/DatePicker/DatePickerControl.tsx +6 -14
- package/src/ui-kit/FormField/Fields/SexField.tsx +13 -11
- package/src/ui-kit/FormField/Fields/VedField.tsx +1 -1
- package/src/ui-kit/Input/InputControl.tsx +2 -3
- package/src/ui-kit/Input/InputPhoneControl.tsx +2 -1
- package/src/ui-kit/Input/InputProps.ts +2 -6
- package/src/ui-kit/Input/InputSnilsControl.tsx +2 -1
- package/src/ui-kit/RadioButtonGroup/RadioButtonGroup.fixture.tsx +2 -2
- package/src/ui-kit/RadioButtonGroup/RadioButtonGroup.tsx +9 -10
- package/src/ui-kit/RadioButtonGroup/RadioButtonGroupControl.tsx +18 -0
- package/src/ui-kit/Select/Select.tsx +8 -10
- package/src/ui-kit/Select/SelectControl.tsx +4 -10
- package/src/utils/getRequiredLabel.ts +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SexField.js","sourceRoot":"","sources":["../../../../src/ui-kit/FormField/Fields/SexField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"SexField.js","sourceRoot":"","sources":["../../../../src/ui-kit/FormField/Fields/SexField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AAEzF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,CAAC,MAAM,SAAS,GAAsB;IAC1C,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/B,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAmB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;IACjE,OAAO,CACL,wBACE,KAAC,uBAAuB,IACtB,KAAK,EAAC,oBAAK,EACX,WAAW,EAAC,YAAY,EACxB,KAAK,EAAE,SAAS,KACZ,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,GAClE,GACE,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -16,6 +16,6 @@ export const VedField = JSX(({ field }) => {
|
|
|
16
16
|
field?.('region')?.onChange?.('');
|
|
17
17
|
}
|
|
18
18
|
}, [value]);
|
|
19
|
-
return (_jsx("div", { className: "py-m gap-m grid @xl:flex @xl:items-center", children: _jsx(RadioButtonGroup, { className: "whitespace-normal", orientation: "horizontal", items: VED_TYPES,
|
|
19
|
+
return (_jsx("div", { className: "py-m gap-m grid @xl:flex @xl:items-center", children: _jsx(RadioButtonGroup, { className: "whitespace-normal", orientation: "horizontal", items: VED_TYPES, value: value, onChange: (_) => onChange && onChange(_) }) }));
|
|
20
20
|
});
|
|
21
21
|
//# sourceMappingURL=VedField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VedField.js","sourceRoot":"","sources":["../../../../src/ui-kit/FormField/Fields/VedField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAwB,MAAM,yCAAyC,CAAC;AAGjG,MAAM,CAAC,MAAM,SAAS,GAAsB;IAC1C,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,mBAAmB,EAAE;IACpD,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,wBAAwB,EAAE;IAC5D,EAAE,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,wBAAwB,EAAE;IAChE,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE;CAChD,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAmB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC1D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,KAAK,iBAAiB,EAAE;YAC/B,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/B,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;SACnC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACL,cAAK,SAAS,EAAC,2CAA2C,YACxD,KAAC,gBAAgB,IACf,SAAS,EAAC,mBAAmB,EAC7B,WAAW,EAAC,YAAY,EACxB,KAAK,EAAE,SAAS,EAChB,
|
|
1
|
+
{"version":3,"file":"VedField.js","sourceRoot":"","sources":["../../../../src/ui-kit/FormField/Fields/VedField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAwB,MAAM,yCAAyC,CAAC;AAGjG,MAAM,CAAC,MAAM,SAAS,GAAsB;IAC1C,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,mBAAmB,EAAE;IACpD,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,wBAAwB,EAAE;IAC5D,EAAE,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,wBAAwB,EAAE;IAChE,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE;CAChD,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAmB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC1D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,KAAK,iBAAiB,EAAE;YAC/B,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/B,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;SACnC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACL,cAAK,SAAS,EAAC,2CAA2C,YACxD,KAAC,gBAAgB,IACf,SAAS,EAAC,mBAAmB,EAC7B,WAAW,EAAC,YAAY,EACxB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,GACxC,GACE,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
3
|
import { useBool } from '@redneckz/uni-jsx/lib/hooks/useBool';
|
|
4
4
|
import { useOutsideClick } from '@redneckz/uni-jsx/lib/hooks/useOutsideClick';
|
|
5
|
+
import { getRequiredLabel } from '../../utils/getRequiredLabel.js';
|
|
5
6
|
import { noop } from '../../utils/noop.js';
|
|
6
7
|
import { style } from '../../utils/style.js';
|
|
7
8
|
import { Input } from './Input.js';
|
|
@@ -16,8 +17,7 @@ export const InputControl = JSX(({ className, label, value = '', placeholder, er
|
|
|
16
17
|
value,
|
|
17
18
|
onChange,
|
|
18
19
|
});
|
|
19
|
-
return (_jsxs("div", { className: style('shrink-0 w-full', className), ref: popupRef, onBlur: close, onFocus: open, children: [_jsx("div", { ref: inputRef, children: _jsx(Input, { type: type || 'text', "aria-label": label, label:
|
|
20
|
+
return (_jsxs("div", { className: style('shrink-0 w-full', className), ref: popupRef, onBlur: close, onFocus: open, children: [_jsx("div", { ref: inputRef, children: _jsx(Input, { type: type || 'text', "aria-label": label, label: getRequiredLabel({ label, errors }), valid: Boolean(!error), value: value, onChange: onChange, onBlur: onBlur, isTextarea: isTextarea, placeholder: getPlaceholder(placeholder, errors, label) }) }), renderErrorText(error)] }));
|
|
20
21
|
});
|
|
21
|
-
const getLabel = (errors, label) => (label && errors ? `${label}*` : label);
|
|
22
22
|
const getPlaceholder = (placeholder, errors, label) => errors && !label ? `${placeholder}*` : placeholder;
|
|
23
23
|
//# sourceMappingURL=InputControl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputControl.js","sourceRoot":"","sources":["../../../src/ui-kit/Input/InputControl.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAC7B,CAAC,EACC,SAAS,EACT,KAAK,EACL,KAAK,GAAG,EAAE,EACV,WAAW,EACX,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,IAAI,EACf,MAAM,EACN,UAAU,EACV,IAAI,EACJ,IAAI,GAAG,EAAE,EACT,MAAM,GAAG,KAAK,GACf,EAAE,EAAE;IACH,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC;IAC/D,MAAM,QAAQ,GAAG,eAAe,CAAiB,KAAK,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,aAAa,CAAC;QAC7B,MAAM,EAAE,MAAM,IAAI,MAAM;QACxB,IAAI;QACJ,KAAK;QACL,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO,CACL,eACE,SAAS,EAAE,KAAK,CAAC,iBAAiB,EAAE,SAAS,CAAC,EAC9C,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,KAAK,EACb,OAAO,EAAE,IAAI,aAEb,cAAK,GAAG,EAAE,QAAQ,YAChB,KAAC,KAAK,IACJ,IAAI,EAAE,IAAI,IAAI,MAAM,gBACR,KAAK,EACjB,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"InputControl.js","sourceRoot":"","sources":["../../../src/ui-kit/Input/InputControl.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAC7B,CAAC,EACC,SAAS,EACT,KAAK,EACL,KAAK,GAAG,EAAE,EACV,WAAW,EACX,KAAK,EACL,MAAM,EACN,QAAQ,GAAG,IAAI,EACf,MAAM,EACN,UAAU,EACV,IAAI,EACJ,IAAI,GAAG,EAAE,EACT,MAAM,GAAG,KAAK,GACf,EAAE,EAAE;IACH,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC;IAC/D,MAAM,QAAQ,GAAG,eAAe,CAAiB,KAAK,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,aAAa,CAAC;QAC7B,MAAM,EAAE,MAAM,IAAI,MAAM;QACxB,IAAI;QACJ,KAAK;QACL,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO,CACL,eACE,SAAS,EAAE,KAAK,CAAC,iBAAiB,EAAE,SAAS,CAAC,EAC9C,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,KAAK,EACb,OAAO,EAAE,IAAI,aAEb,cAAK,GAAG,EAAE,QAAQ,YAChB,KAAC,KAAK,IACJ,IAAI,EAAE,IAAI,IAAI,MAAM,gBACR,KAAK,EACjB,KAAK,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAC1C,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,EACtB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,GACvD,GACE,EACL,eAAe,CAAC,KAAK,CAAC,IACnB,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,WAAoB,EAAE,MAAiB,EAAE,KAAc,EAAE,EAAE,CACjF,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
|
+
import { getRequiredLabel } from '../../utils/getRequiredLabel.js';
|
|
3
4
|
import { style } from '../../utils/style.js';
|
|
4
5
|
import { PhoneInput } from '../PhoneInput/PhoneInput.js';
|
|
5
6
|
import { renderErrorText } from './renderErrorText.js';
|
|
6
|
-
export const InputPhoneControl = JSX(({ className, label, error, ...rest }) => (_jsxs("div", { className: style('shrink-0 w-full', className), children: [_jsx(PhoneInput, { "aria-label": label, label: rest?.errors
|
|
7
|
+
export const InputPhoneControl = JSX(({ className, label, error, ...rest }) => (_jsxs("div", { className: style('shrink-0 w-full', className), children: [_jsx(PhoneInput, { "aria-label": label, label: getRequiredLabel({ label, errors: rest?.errors }), valid: Boolean(!error), placeholder: "+7 (___) ___-__-__", ...rest }), renderErrorText(error)] })));
|
|
7
8
|
//# sourceMappingURL=InputPhoneControl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputPhoneControl.js","sourceRoot":"","sources":["../../../src/ui-kit/Input/InputPhoneControl.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAa,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CACzF,eAAK,SAAS,EAAE,KAAK,CAAC,iBAAiB,EAAE,SAAS,CAAC,aACjD,KAAC,UAAU,kBACG,KAAK,EACjB,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"InputPhoneControl.js","sourceRoot":"","sources":["../../../src/ui-kit/Input/InputPhoneControl.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAa,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CACzF,eAAK,SAAS,EAAE,KAAK,CAAC,iBAAiB,EAAE,SAAS,CAAC,aACjD,KAAC,UAAU,kBACG,KAAK,EACjB,KAAK,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EACxD,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,EACtB,WAAW,EAAC,oBAAoB,KAC5B,IAAI,GACR,EACD,eAAe,CAAC,KAAK,CAAC,IACnB,CACP,CAAC,CAAC"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type DefaultControlType } from '../../model/DefaultControlType';
|
|
2
2
|
import { type InputTypes } from '../../model/InputTypes';
|
|
3
3
|
import { type ControlProps } from '../ControlProps';
|
|
4
4
|
import { type PreventableEventWithTarget } from '../PreventableEvent';
|
|
5
|
-
export interface InputProps<V = string> extends ControlProps<V
|
|
6
|
-
className?: string;
|
|
5
|
+
export interface InputProps<V = string> extends DefaultControlType, ControlProps<V> {
|
|
7
6
|
id?: string;
|
|
8
7
|
name?: string;
|
|
9
8
|
type?: InputTypes;
|
|
10
|
-
placeholder?: string;
|
|
11
9
|
pattern?: string;
|
|
12
10
|
onFocus?: (ev: PreventableEventWithTarget) => void;
|
|
13
11
|
onBlur?: (ev?: PreventableEventWithTarget) => void;
|
|
@@ -15,7 +13,5 @@ export interface InputProps<V = string> extends ControlProps<V>, LabelProps {
|
|
|
15
13
|
disabled?: boolean;
|
|
16
14
|
autoFocus?: boolean;
|
|
17
15
|
isTextarea?: boolean;
|
|
18
|
-
error?: string;
|
|
19
|
-
errors?: string[];
|
|
20
16
|
dadata?: boolean;
|
|
21
17
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
|
+
import { getRequiredLabel } from '../../utils/getRequiredLabel.js';
|
|
3
4
|
import { style } from '../../utils/style.js';
|
|
4
5
|
import { SnilsInput } from '../SnilsInput/SnilsInput.js';
|
|
5
6
|
import { renderErrorText } from './renderErrorText.js';
|
|
6
|
-
export const InputSnilsControl = JSX(({ className, label, value, error, onChange, onBlur, ...rest }) => (_jsxs("div", { className: style('shrink-0 w-full', className), children: [_jsx(SnilsInput, { "aria-label": label, label: rest?.errors
|
|
7
|
+
export const InputSnilsControl = JSX(({ className, label, value, error, onChange, onBlur, ...rest }) => (_jsxs("div", { className: style('shrink-0 w-full', className), children: [_jsx(SnilsInput, { "aria-label": label, label: getRequiredLabel({ label, errors: rest?.errors }), valid: Boolean(!error), value: value, onChange: onChange, onBlur: onBlur, placeholder: "___-___-___ __" }), renderErrorText(error)] })));
|
|
7
8
|
//# sourceMappingURL=InputSnilsControl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputSnilsControl.js","sourceRoot":"","sources":["../../../src/ui-kit/Input/InputSnilsControl.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAClC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CACjE,eAAK,SAAS,EAAE,KAAK,CAAC,iBAAiB,EAAE,SAAS,CAAC,aACjD,KAAC,UAAU,kBACG,KAAK,EACjB,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"InputSnilsControl.js","sourceRoot":"","sources":["../../../src/ui-kit/Input/InputSnilsControl.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAClC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CACjE,eAAK,SAAS,EAAE,KAAK,CAAC,iBAAiB,EAAE,SAAS,CAAC,aACjD,KAAC,UAAU,kBACG,KAAK,EACjB,KAAK,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EACxD,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,EACtB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,WAAW,EAAC,gBAAgB,GAC5B,EACD,eAAe,CAAC,KAAK,CAAC,IACnB,CACP,CACF,CAAC"}
|
|
@@ -1,16 +1,14 @@
|
|
|
1
|
+
import { type DefaultControlType } from '../../model/DefaultControlType';
|
|
1
2
|
import { type TextProps } from '../../model/HeadlineType';
|
|
2
3
|
import { type ListOrientation } from '../../model/ListOrientation';
|
|
4
|
+
import { type ControlProps } from '../ControlProps';
|
|
3
5
|
export declare type RadioButtonItem = TextProps & {
|
|
4
6
|
id: string;
|
|
5
7
|
};
|
|
6
|
-
interface RadioButtonGroupProps {
|
|
7
|
-
title?: string;
|
|
8
|
+
export interface RadioButtonGroupProps extends DefaultControlType, ControlProps<string> {
|
|
8
9
|
items?: RadioButtonItem[];
|
|
9
|
-
checkedItem?: string;
|
|
10
|
-
className?: string;
|
|
11
10
|
onChange?: (id: string) => void;
|
|
12
11
|
disabled?: boolean;
|
|
13
12
|
orientation?: ListOrientation;
|
|
14
13
|
}
|
|
15
14
|
export declare const RadioButtonGroup: import("@redneckz/uni-jsx").UNIComponent<RadioButtonGroupProps, any, any>;
|
|
16
|
-
export {};
|
|
@@ -7,5 +7,5 @@ const orientationStyleMap = {
|
|
|
7
7
|
horizontal: '@lg:flex-row',
|
|
8
8
|
vertical: '',
|
|
9
9
|
};
|
|
10
|
-
export const RadioButtonGroup = JSX(({
|
|
10
|
+
export const RadioButtonGroup = JSX(({ label, items, value, className, onChange: onChangeCheckedItem, disabled = false, orientation = 'horizontal', }) => (_jsxs("div", { className: "grid gap-xs whitespace-nowrap", children: [label ? (_jsx("div", { role: "radiogroup", "aria-label": label, children: _jsx(Text, { color: "text-secondary-text", font: "font-light", children: label }) })) : null, _jsx("div", { className: style('flex flex-col gap-s', orientationStyleMap[orientation], className), role: "radiogroup", "aria-label": "\u0413\u0440\u0443\u043F\u043F\u0430 \u043A\u043D\u043E\u043F\u043E\u043A", children: items?.map(({ id, text }) => (_jsx(Checkbox, { isRadio: true, text: text, value: value === id, onChange: () => onChangeCheckedItem && onChangeCheckedItem(id), disabled: disabled }, String(id)))) })] })));
|
|
11
11
|
//# sourceMappingURL=RadioButtonGroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioButtonGroup.js","sourceRoot":"","sources":["../../../src/ui-kit/RadioButtonGroup/RadioButtonGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"RadioButtonGroup.js","sourceRoot":"","sources":["../../../src/ui-kit/RadioButtonGroup/RadioButtonGroup.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAIxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAapC,MAAM,mBAAmB,GAAoC;IAC3D,UAAU,EAAE,cAAc;IAC1B,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CACjC,CAAC,EACC,KAAK,EACL,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,EAAE,mBAAmB,EAC7B,QAAQ,GAAG,KAAK,EAChB,WAAW,GAAG,YAAY,GAC3B,EAAE,EAAE,CAAC,CACJ,eAAK,SAAS,EAAC,+BAA+B,aAC3C,KAAK,CAAC,CAAC,CAAC,CACP,cAAK,IAAI,EAAC,YAAY,gBAAa,KAAK,YACtC,KAAC,IAAI,IAAC,KAAK,EAAC,qBAAqB,EAAC,IAAI,EAAC,YAAY,YAChD,KAAK,GACD,GACH,CACP,CAAC,CAAC,CAAC,IAAI,EACR,cACE,SAAS,EAAE,KAAK,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,EACpF,IAAI,EAAC,YAAY,gBACN,2EAAe,YAEzB,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAC5B,KAAC,QAAQ,IAEP,OAAO,QACP,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,KAAK,EAAE,EACnB,QAAQ,EAAE,GAAG,EAAE,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,EAAE,CAAC,EAC9D,QAAQ,EAAE,QAAQ,IALb,MAAM,CAAC,EAAE,CAAC,CAMf,CACH,CAAC,GACE,IACF,CACP,CACF,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
3
|
+
import { getRequiredLabel } from '../../utils/getRequiredLabel.js';
|
|
4
|
+
import { style } from '../../utils/style.js';
|
|
5
|
+
import { renderErrorText } from '../Input/renderErrorText.js';
|
|
6
|
+
import { RadioButtonGroup } from './RadioButtonGroup.js';
|
|
7
|
+
export const RadioButtonGroupControl = JSX(({ className, label, onChange, error, ...rest }) => (_jsxs("div", { className: style('shrink-0 w-full', className), children: [_jsx(RadioButtonGroup, { label: getRequiredLabel({ label, errors: rest?.errors }), onChange: (_) => onChange && onChange(_), ...rest }), renderErrorText(error)] })));
|
|
8
|
+
//# sourceMappingURL=RadioButtonGroupControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadioButtonGroupControl.js","sourceRoot":"","sources":["../../../src/ui-kit/RadioButtonGroup/RadioButtonGroupControl.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAA8B,MAAM,oBAAoB,CAAC;AAElF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CACxC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAClD,eAAK,SAAS,EAAE,KAAK,CAAC,iBAAiB,EAAE,SAAS,CAAC,aACjD,KAAC,gBAAgB,IACf,KAAK,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EACxD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,KACpC,IAAI,GACR,EACD,eAAe,CAAC,KAAK,CAAC,IACnB,CACP,CACF,CAAC"}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type DefaultControlType } from '../../model/DefaultControlType';
|
|
2
2
|
import { type IconVersion } from '../../model/IconVersion';
|
|
3
|
+
import { type ControlProps } from '../ControlProps';
|
|
3
4
|
import { type Option } from './Option';
|
|
4
|
-
export
|
|
5
|
-
className?: string;
|
|
5
|
+
export interface SelectProps extends DefaultControlType, ControlProps<Option> {
|
|
6
6
|
options?: Option[];
|
|
7
|
-
value?: Option;
|
|
8
7
|
valid?: boolean;
|
|
9
8
|
isBorder?: boolean;
|
|
10
|
-
placeholder?: string;
|
|
11
9
|
isSearch?: boolean;
|
|
12
|
-
onChange?: (value: Option) => void;
|
|
13
10
|
iconVersion?: IconVersion;
|
|
14
11
|
disabled?: boolean;
|
|
15
|
-
}
|
|
12
|
+
}
|
|
16
13
|
export declare const Select: import("@redneckz/uni-jsx").UNIComponent<SelectProps, any, any>;
|
|
@@ -8,12 +8,10 @@ import { Input } from '../Input/Input.js';
|
|
|
8
8
|
import { renderLabel } from '../Input/renderLabel.js';
|
|
9
9
|
import { formatOption } from './formatOption.js';
|
|
10
10
|
import { useSelectPopup } from './useSelectPopup.js';
|
|
11
|
-
export const Select = JSX(
|
|
12
|
-
// eslint-disable-next-line complexity
|
|
13
|
-
({ className, label, options = [], value, valid = true, isBorder = true, placeholder = '', isSearch = false, iconVersion = 'black', onChange, disabled, }) => {
|
|
11
|
+
export const Select = JSX(({ className, label, options = [], value, valid = true, isBorder = true, placeholder = '', isSearch = false, iconVersion = 'black', onChange, disabled = false, }) => {
|
|
14
12
|
const [isOpen, { setFalse: close, setTrue: open }] = useBool();
|
|
15
13
|
const [query, setQuery] = useState('');
|
|
16
|
-
const isDisabled = disabled
|
|
14
|
+
const isDisabled = getDisabled(disabled, options.length);
|
|
17
15
|
const hasOpen = isOpen && !isDisabled;
|
|
18
16
|
const handleClose = useCallback(() => {
|
|
19
17
|
setQuery('');
|
|
@@ -32,4 +30,5 @@ export const Select = JSX(
|
|
|
32
30
|
});
|
|
33
31
|
const renderIcon = (isOpen, iconVersion) => (_jsx(Icon, { className: style('absolute right-0 flex self-center', { 'rotate-180': !isOpen }), iconVersion: iconVersion, name: "ArrowUpIcon", width: "16", height: "16" }));
|
|
34
32
|
const getStyle = (isBorder, valid, disabled) => style(isBorder ? 'border rounded-md ' : '', isBorder && !disabled ? 'hover:border-primary-hover' : '', disabled ? 'bg-main-divider' : 'cursor-pointer ', valid ? 'border-gray' : 'border-error');
|
|
33
|
+
const getDisabled = (disabled, length) => disabled || length === 0;
|
|
35
34
|
//# sourceMappingURL=Select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/ui-kit/Select/Select.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAG9D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/ui-kit/Select/Select.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,2 @@
|
|
|
1
1
|
import { type SelectProps } from './Select';
|
|
2
|
-
|
|
3
|
-
label?: string;
|
|
4
|
-
error?: string;
|
|
5
|
-
errors?: string[];
|
|
6
|
-
className?: string;
|
|
7
|
-
}
|
|
8
|
-
export declare const SelectControl: import("@redneckz/uni-jsx").UNIComponent<SelectControlProps, any, any>;
|
|
9
|
-
export {};
|
|
2
|
+
export declare const SelectControl: import("@redneckz/uni-jsx").UNIComponent<SelectProps, any, any>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
|
+
import { getRequiredLabel } from '../../utils/getRequiredLabel.js';
|
|
3
4
|
import { renderErrorText } from '../Input/renderErrorText.js';
|
|
4
5
|
import { Select } from './Select.js';
|
|
5
|
-
export const SelectControl = JSX(({ className = '', label, error, ...rest }) => (_jsxs("div", { className: className, children: [_jsx(Select, { ...rest, valid: !error, label:
|
|
6
|
+
export const SelectControl = JSX(({ className = '', label, error, errors, ...rest }) => (_jsxs("div", { className: className, children: [_jsx(Select, { ...rest, valid: !error, label: getRequiredLabel({ label, errors }) }), renderErrorText(error)] })));
|
|
6
7
|
//# sourceMappingURL=SelectControl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectControl.js","sourceRoot":"","sources":["../../../src/ui-kit/Select/SelectControl.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"SelectControl.js","sourceRoot":"","sources":["../../../src/ui-kit/Select/SelectControl.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAC;AAEpD,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAC9B,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CACrD,eAAK,SAAS,EAAE,SAAS,aACvB,KAAC,MAAM,OAAK,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAI,EAC9E,eAAe,CAAC,KAAK,CAAC,IACnB,CACP,CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getRequiredLabel.js","sourceRoot":"","sources":["../../src/utils/getRequiredLabel.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAsB,EAAE,EAAE,CACxE,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC"}
|
|
@@ -44,7 +44,7 @@ export const renderBinaryRadioButtonGroup = ({
|
|
|
44
44
|
<RadioButtonGroup
|
|
45
45
|
orientation={orientation}
|
|
46
46
|
items={items}
|
|
47
|
-
|
|
47
|
+
value={items[value ? 0 : 1].id}
|
|
48
48
|
onChange={(_) => onChange && onChange(_ === items[0].id)}
|
|
49
49
|
{...rest}
|
|
50
50
|
/>
|
|
@@ -1,25 +1,17 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { type DefaultControlType } from '../../model/DefaultControlType';
|
|
3
|
+
import { getRequiredLabel } from '../../utils/getRequiredLabel';
|
|
2
4
|
import { style } from '../../utils/style';
|
|
5
|
+
import { type ControlProps } from '../ControlProps';
|
|
3
6
|
import { renderErrorText } from '../Input/renderErrorText';
|
|
4
7
|
import { DatePicker } from './DatePicker';
|
|
5
8
|
|
|
6
|
-
export interface DatePickerControlProps {
|
|
7
|
-
className?: string;
|
|
8
|
-
label: string;
|
|
9
|
-
value?: Date;
|
|
10
|
-
error?: string;
|
|
11
|
-
errors?: string[];
|
|
12
|
-
onChange?: (value: Date) => void;
|
|
13
|
-
}
|
|
9
|
+
export interface DatePickerControlProps extends DefaultControlType, ControlProps<Date> {}
|
|
14
10
|
|
|
15
11
|
export const DatePickerControl = JSX<DatePickerControlProps>(
|
|
16
|
-
({ className, label, error, ...rest }) => (
|
|
12
|
+
({ className, label, error, errors, ...rest }) => (
|
|
17
13
|
<div className={style('shrink-0 w-full', className)}>
|
|
18
|
-
<DatePicker
|
|
19
|
-
label={label && rest?.errors ? `${label}*` : label}
|
|
20
|
-
valid={Boolean(!error)}
|
|
21
|
-
{...rest}
|
|
22
|
-
/>
|
|
14
|
+
<DatePicker label={getRequiredLabel({ label, errors })} valid={Boolean(!error)} {...rest} />
|
|
23
15
|
{renderErrorText(error)}
|
|
24
16
|
</div>
|
|
25
17
|
),
|
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import {
|
|
2
|
+
import { type RadioButtonItem } from '../../RadioButtonGroup/RadioButtonGroup';
|
|
3
|
+
import { RadioButtonGroupControl } from '../../RadioButtonGroup/RadioButtonGroupControl';
|
|
3
4
|
import { type CustomFieldProps } from '../CustomFieldProps';
|
|
5
|
+
import { validatorObj } from '../getObjectValidator';
|
|
6
|
+
import { getValidation } from '../getValidation';
|
|
4
7
|
|
|
5
8
|
export const SEX_TYPES: RadioButtonItem[] = [
|
|
6
9
|
{ id: 'male', text: 'Мужской' },
|
|
7
10
|
{ id: 'female', text: 'Женский' },
|
|
8
11
|
];
|
|
9
12
|
|
|
10
|
-
export const SexField = JSX<CustomFieldProps>(({ field }) => {
|
|
11
|
-
const { value, onChange } = field('sex');
|
|
12
|
-
|
|
13
|
+
export const SexField = JSX<CustomFieldProps>(({ field, input }) => {
|
|
13
14
|
return (
|
|
14
|
-
<
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
<div>
|
|
16
|
+
<RadioButtonGroupControl
|
|
17
|
+
label="Пол"
|
|
18
|
+
orientation="horizontal"
|
|
19
|
+
items={SEX_TYPES}
|
|
20
|
+
{...getValidation(field('sex'), validatorObj.sex, input?.required)}
|
|
21
|
+
/>
|
|
22
|
+
</div>
|
|
21
23
|
);
|
|
22
24
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { useBool } from '@redneckz/uni-jsx/lib/hooks/useBool';
|
|
3
3
|
import { useOutsideClick } from '@redneckz/uni-jsx/lib/hooks/useOutsideClick';
|
|
4
|
+
import { getRequiredLabel } from '../../utils/getRequiredLabel';
|
|
4
5
|
import { noop } from '../../utils/noop';
|
|
5
6
|
import { style } from '../../utils/style';
|
|
6
7
|
import { Input } from './Input';
|
|
@@ -44,7 +45,7 @@ export const InputControl = JSX<InputProps>(
|
|
|
44
45
|
<Input
|
|
45
46
|
type={type || 'text'}
|
|
46
47
|
aria-label={label}
|
|
47
|
-
label={
|
|
48
|
+
label={getRequiredLabel({ label, errors })}
|
|
48
49
|
valid={Boolean(!error)}
|
|
49
50
|
value={value}
|
|
50
51
|
onChange={onChange}
|
|
@@ -59,7 +60,5 @@ export const InputControl = JSX<InputProps>(
|
|
|
59
60
|
},
|
|
60
61
|
);
|
|
61
62
|
|
|
62
|
-
const getLabel = (errors?: string[], label?: string) => (label && errors ? `${label}*` : label);
|
|
63
|
-
|
|
64
63
|
const getPlaceholder = (placeholder?: string, errors?: string[], label?: string) =>
|
|
65
64
|
errors && !label ? `${placeholder}*` : placeholder;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { getRequiredLabel } from '../../utils/getRequiredLabel';
|
|
2
3
|
import { style } from '../../utils/style';
|
|
3
4
|
import { PhoneInput } from '../PhoneInput/PhoneInput';
|
|
4
5
|
import { type InputProps } from './InputProps';
|
|
@@ -8,7 +9,7 @@ export const InputPhoneControl = JSX<InputProps>(({ className, label, error, ...
|
|
|
8
9
|
<div className={style('shrink-0 w-full', className)}>
|
|
9
10
|
<PhoneInput
|
|
10
11
|
aria-label={label}
|
|
11
|
-
label={
|
|
12
|
+
label={getRequiredLabel({ label, errors: rest?.errors })}
|
|
12
13
|
valid={Boolean(!error)}
|
|
13
14
|
placeholder="+7 (___) ___-__-__"
|
|
14
15
|
{...rest}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type DefaultControlType } from '../../model/DefaultControlType';
|
|
2
2
|
import { type InputTypes } from '../../model/InputTypes';
|
|
3
3
|
import { type ControlProps } from '../ControlProps';
|
|
4
4
|
import { type PreventableEventWithTarget } from '../PreventableEvent';
|
|
5
5
|
|
|
6
|
-
export interface InputProps<V = string> extends ControlProps<V
|
|
7
|
-
className?: string;
|
|
6
|
+
export interface InputProps<V = string> extends DefaultControlType, ControlProps<V> {
|
|
8
7
|
id?: string;
|
|
9
8
|
name?: string;
|
|
10
9
|
type?: InputTypes;
|
|
11
|
-
placeholder?: string;
|
|
12
10
|
pattern?: string;
|
|
13
11
|
onFocus?: (ev: PreventableEventWithTarget) => void;
|
|
14
12
|
onBlur?: (ev?: PreventableEventWithTarget) => void;
|
|
@@ -16,7 +14,5 @@ export interface InputProps<V = string> extends ControlProps<V>, LabelProps {
|
|
|
16
14
|
disabled?: boolean;
|
|
17
15
|
autoFocus?: boolean;
|
|
18
16
|
isTextarea?: boolean;
|
|
19
|
-
error?: string;
|
|
20
|
-
errors?: string[];
|
|
21
17
|
dadata?: boolean;
|
|
22
18
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { getRequiredLabel } from '../../utils/getRequiredLabel';
|
|
2
3
|
import { style } from '../../utils/style';
|
|
3
4
|
import { SnilsInput } from '../SnilsInput/SnilsInput';
|
|
4
5
|
import { type InputProps } from './InputProps';
|
|
@@ -9,7 +10,7 @@ export const InputSnilsControl = JSX<InputProps>(
|
|
|
9
10
|
<div className={style('shrink-0 w-full', className)}>
|
|
10
11
|
<SnilsInput
|
|
11
12
|
aria-label={label}
|
|
12
|
-
label={
|
|
13
|
+
label={getRequiredLabel({ label, errors: rest?.errors })}
|
|
13
14
|
valid={Boolean(!error)}
|
|
14
15
|
value={value}
|
|
15
16
|
onChange={onChange}
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { type DefaultControlType } from '../../model/DefaultControlType';
|
|
2
3
|
import { type TextProps } from '../../model/HeadlineType';
|
|
3
4
|
import { type ListOrientation } from '../../model/ListOrientation';
|
|
4
5
|
import { style } from '../../utils/style';
|
|
5
6
|
import { Checkbox } from '../Checkbox/Checkbox';
|
|
7
|
+
import { type ControlProps } from '../ControlProps';
|
|
6
8
|
import { Text } from '../Text/Text';
|
|
7
9
|
|
|
8
10
|
export type RadioButtonItem = TextProps & {
|
|
9
11
|
id: string;
|
|
10
12
|
};
|
|
11
13
|
|
|
12
|
-
interface RadioButtonGroupProps {
|
|
13
|
-
title?: string;
|
|
14
|
+
export interface RadioButtonGroupProps extends DefaultControlType, ControlProps<string> {
|
|
14
15
|
items?: RadioButtonItem[];
|
|
15
|
-
checkedItem?: string;
|
|
16
|
-
className?: string;
|
|
17
16
|
onChange?: (id: string) => void;
|
|
18
17
|
disabled?: boolean;
|
|
19
18
|
orientation?: ListOrientation;
|
|
@@ -26,19 +25,19 @@ const orientationStyleMap: Record<ListOrientation, string> = {
|
|
|
26
25
|
|
|
27
26
|
export const RadioButtonGroup = JSX<RadioButtonGroupProps>(
|
|
28
27
|
({
|
|
29
|
-
|
|
28
|
+
label,
|
|
30
29
|
items,
|
|
31
|
-
|
|
30
|
+
value,
|
|
32
31
|
className,
|
|
33
32
|
onChange: onChangeCheckedItem,
|
|
34
33
|
disabled = false,
|
|
35
34
|
orientation = 'horizontal',
|
|
36
35
|
}) => (
|
|
37
36
|
<div className="grid gap-xs whitespace-nowrap">
|
|
38
|
-
{
|
|
39
|
-
<div role="radiogroup" aria-label={
|
|
37
|
+
{label ? (
|
|
38
|
+
<div role="radiogroup" aria-label={label}>
|
|
40
39
|
<Text color="text-secondary-text" font="font-light">
|
|
41
|
-
{
|
|
40
|
+
{label}
|
|
42
41
|
</Text>
|
|
43
42
|
</div>
|
|
44
43
|
) : null}
|
|
@@ -52,7 +51,7 @@ export const RadioButtonGroup = JSX<RadioButtonGroupProps>(
|
|
|
52
51
|
key={String(id)}
|
|
53
52
|
isRadio
|
|
54
53
|
text={text}
|
|
55
|
-
value={
|
|
54
|
+
value={value === id}
|
|
56
55
|
onChange={() => onChangeCheckedItem && onChangeCheckedItem(id)}
|
|
57
56
|
disabled={disabled}
|
|
58
57
|
/>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { getRequiredLabel } from '../../utils/getRequiredLabel';
|
|
3
|
+
import { style } from '../../utils/style';
|
|
4
|
+
import { renderErrorText } from '../Input/renderErrorText';
|
|
5
|
+
import { RadioButtonGroup, type RadioButtonGroupProps } from './RadioButtonGroup';
|
|
6
|
+
|
|
7
|
+
export const RadioButtonGroupControl = JSX<RadioButtonGroupProps>(
|
|
8
|
+
({ className, label, onChange, error, ...rest }) => (
|
|
9
|
+
<div className={style('shrink-0 w-full', className)}>
|
|
10
|
+
<RadioButtonGroup
|
|
11
|
+
label={getRequiredLabel({ label, errors: rest?.errors })}
|
|
12
|
+
onChange={(_) => onChange && onChange(_)}
|
|
13
|
+
{...rest}
|
|
14
|
+
/>
|
|
15
|
+
{renderErrorText(error)}
|
|
16
|
+
</div>
|
|
17
|
+
),
|
|
18
|
+
);
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { useCallback, useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
3
|
import { useBool } from '@redneckz/uni-jsx/lib/hooks/useBool';
|
|
4
|
-
import { type
|
|
4
|
+
import { type DefaultControlType } from '../../model/DefaultControlType';
|
|
5
5
|
import { type IconVersion } from '../../model/IconVersion';
|
|
6
6
|
import { style } from '../../utils/style';
|
|
7
|
+
import { type ControlProps } from '../ControlProps';
|
|
7
8
|
import { Icon } from '../Icon/Icon';
|
|
8
9
|
import { Input } from '../Input/Input';
|
|
9
10
|
import { renderLabel } from '../Input/renderLabel';
|
|
@@ -11,21 +12,16 @@ import { formatOption } from './formatOption';
|
|
|
11
12
|
import { type Option } from './Option';
|
|
12
13
|
import { useSelectPopup } from './useSelectPopup';
|
|
13
14
|
|
|
14
|
-
export
|
|
15
|
-
className?: string;
|
|
15
|
+
export interface SelectProps extends DefaultControlType, ControlProps<Option> {
|
|
16
16
|
options?: Option[];
|
|
17
|
-
value?: Option;
|
|
18
17
|
valid?: boolean;
|
|
19
18
|
isBorder?: boolean;
|
|
20
|
-
placeholder?: string;
|
|
21
19
|
isSearch?: boolean;
|
|
22
|
-
onChange?: (value: Option) => void;
|
|
23
20
|
iconVersion?: IconVersion;
|
|
24
21
|
disabled?: boolean;
|
|
25
|
-
}
|
|
22
|
+
}
|
|
26
23
|
|
|
27
24
|
export const Select = JSX<SelectProps>(
|
|
28
|
-
// eslint-disable-next-line complexity
|
|
29
25
|
({
|
|
30
26
|
className,
|
|
31
27
|
label,
|
|
@@ -37,11 +33,11 @@ export const Select = JSX<SelectProps>(
|
|
|
37
33
|
isSearch = false,
|
|
38
34
|
iconVersion = 'black',
|
|
39
35
|
onChange,
|
|
40
|
-
disabled,
|
|
36
|
+
disabled = false,
|
|
41
37
|
}) => {
|
|
42
38
|
const [isOpen, { setFalse: close, setTrue: open }] = useBool();
|
|
43
39
|
const [query, setQuery] = useState('');
|
|
44
|
-
const isDisabled = disabled
|
|
40
|
+
const isDisabled = getDisabled(disabled, options.length);
|
|
45
41
|
const hasOpen = isOpen && !isDisabled;
|
|
46
42
|
|
|
47
43
|
const handleClose = useCallback(() => {
|
|
@@ -101,3 +97,5 @@ const getStyle = (isBorder: boolean, valid: boolean, disabled: boolean) =>
|
|
|
101
97
|
disabled ? 'bg-main-divider' : 'cursor-pointer ',
|
|
102
98
|
valid ? 'border-gray' : 'border-error',
|
|
103
99
|
);
|
|
100
|
+
|
|
101
|
+
const getDisabled = (disabled: boolean, length: number) => disabled || length === 0;
|