@invoicebox/ui 0.1.0-alpha.182 → 0.1.0-alpha.184
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/dist/components/form/Select/components/Input/index.d.ts +6 -3
- package/dist/components/form/Select/components/Input/index.js +9 -6
- package/dist/components/form/Select/index.d.ts +4 -2
- package/dist/components/form/Select/index.js +45 -30
- package/dist/components/form/Select/styles.d.ts +2 -0
- package/dist/components/form/Select/styles.js +10 -2
- package/package.json +1 -1
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { TProps as TInputLabelProps } from '../../../InputLabel';
|
|
3
3
|
import { TProps as TPureInputProps } from '../../../PureInput';
|
|
4
4
|
import { TProps as TArrowProps } from '../../../../common/Arrow';
|
|
5
5
|
import { TSizes } from '../../../constants';
|
|
6
|
-
export type TProps = Pick<TInputLabelProps, 'inFocus' | 'label'> & Pick<TPureInputProps, 'hasError' | 'placeholder' | 'name' | 'onFocus' | 'onBlur' | 'value'> & Pick<TArrowProps, 'isOpen'> & {
|
|
6
|
+
export type TProps = Pick<TInputLabelProps, 'inFocus' | 'label'> & Pick<TPureInputProps, 'hasError' | 'placeholder' | 'name' | 'onFocus' | 'onBlur' | 'value' | 'onClick'> & Pick<TArrowProps, 'isOpen'> & {
|
|
7
7
|
onReset?: () => void;
|
|
8
8
|
size?: TSizes;
|
|
9
9
|
};
|
|
10
|
-
export declare const Input:
|
|
10
|
+
export declare const Input: React.ForwardRefExoticComponent<Pick<TInputLabelProps, "label" | "inFocus"> & Pick<TPureInputProps, "name" | "value" | "placeholder" | "onFocus" | "onBlur" | "onClick" | "hasError"> & Pick<TArrowProps, "isOpen"> & {
|
|
11
|
+
onReset?: (() => void) | undefined;
|
|
12
|
+
size?: TSizes | undefined;
|
|
13
|
+
} & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.Input = void 0;
|
|
8
|
-
var _react =
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var S = _interopRequireWildcard(require("./styles"));
|
|
10
10
|
var _InputLabel = require("../../../InputLabel");
|
|
11
11
|
var _PureInput = require("../../../PureInput");
|
|
@@ -14,9 +14,8 @@ var _ResetButton = require("../../../ResetButton");
|
|
|
14
14
|
var _constants = require("../../../constants");
|
|
15
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
16
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
17
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
18
17
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
19
|
-
var Input = exports.Input = function
|
|
18
|
+
var Input = exports.Input = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
20
19
|
var hasError = _ref.hasError,
|
|
21
20
|
inFocus = _ref.inFocus,
|
|
22
21
|
placeholder = _ref.placeholder,
|
|
@@ -28,12 +27,14 @@ var Input = exports.Input = function Input(_ref) {
|
|
|
28
27
|
isOpen = _ref.isOpen,
|
|
29
28
|
onReset = _ref.onReset,
|
|
30
29
|
_ref$size = _ref.size,
|
|
31
|
-
size = _ref$size === void 0 ? 'M' : _ref$size
|
|
30
|
+
size = _ref$size === void 0 ? 'M' : _ref$size,
|
|
31
|
+
onClick = _ref.onClick;
|
|
32
32
|
var isShowResetIcon = !!value && !!onReset;
|
|
33
33
|
return /*#__PURE__*/_react["default"].createElement(_InputLabel.InputLabel, {
|
|
34
34
|
inFocus: inFocus,
|
|
35
35
|
label: label
|
|
36
36
|
}, /*#__PURE__*/_react["default"].createElement(S.ControlWrapper, null, /*#__PURE__*/_react["default"].createElement(_PureInput.PureInput, _extends({
|
|
37
|
+
ref: ref,
|
|
37
38
|
hasError: hasError,
|
|
38
39
|
inFocus: inFocus,
|
|
39
40
|
name: name,
|
|
@@ -42,7 +43,8 @@ var Input = exports.Input = function Input(_ref) {
|
|
|
42
43
|
onBlur: onBlur,
|
|
43
44
|
value: value,
|
|
44
45
|
readOnly: true,
|
|
45
|
-
paddingRight: 52
|
|
46
|
+
paddingRight: 52,
|
|
47
|
+
onClick: onClick
|
|
46
48
|
}, _constants.SIZE_PARAMS_MAP[size])), /*#__PURE__*/_react["default"].createElement(S.IconWrapper, {
|
|
47
49
|
$pointerEvents: isShowResetIcon ? 'default' : 'none'
|
|
48
50
|
}, isShowResetIcon ? /*#__PURE__*/_react["default"].createElement(_ResetButton.ResetButton, {
|
|
@@ -50,4 +52,5 @@ var Input = exports.Input = function Input(_ref) {
|
|
|
50
52
|
}) : /*#__PURE__*/_react["default"].createElement(_Arrow.Arrow, {
|
|
51
53
|
isOpen: isOpen
|
|
52
54
|
}))));
|
|
53
|
-
};
|
|
55
|
+
});
|
|
56
|
+
Input.displayName = 'Input';
|
|
@@ -10,7 +10,7 @@ export type TGroup = {
|
|
|
10
10
|
label: string;
|
|
11
11
|
id: string;
|
|
12
12
|
};
|
|
13
|
-
export type TProps<TValue> = Pick<TInputProps, 'label' | 'hasError' | 'placeholder' | '
|
|
13
|
+
export type TProps<TValue> = Pick<TInputProps, 'label' | 'hasError' | 'placeholder' | 'name' | 'size'> & {
|
|
14
14
|
value: TValue | null;
|
|
15
15
|
onChange: (value: TValue | null) => void;
|
|
16
16
|
options: TOption<TValue>[];
|
|
@@ -18,5 +18,7 @@ export type TProps<TValue> = Pick<TInputProps, 'label' | 'hasError' | 'placehold
|
|
|
18
18
|
isResetButtonEnabled?: boolean;
|
|
19
19
|
renderOption?: (entity?: any) => ReactNode;
|
|
20
20
|
dropdownHeader?: ReactNode;
|
|
21
|
+
isDrawerOptions?: boolean;
|
|
22
|
+
scrollbarMaxHeight?: number;
|
|
21
23
|
};
|
|
22
|
-
export declare const Select: <TValue extends string | number>({ label, hasError, placeholder,
|
|
24
|
+
export declare const Select: <TValue extends string | number>({ label, hasError, placeholder, name, value, onChange, options, groups, isResetButtonEnabled, size, renderOption, dropdownHeader, isDrawerOptions, scrollbarMaxHeight, }: TProps<TValue>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -14,6 +14,7 @@ var _Scrollbar = require("../../common/Scrollbar");
|
|
|
14
14
|
var _useOutsideClick = require("../../../hooks/useOutsideClick");
|
|
15
15
|
var _palette = require("../../../palette");
|
|
16
16
|
var _useOptionGroups = require("./hooks/useOptionGroups");
|
|
17
|
+
var _Drawer = require("../../common/Drawer");
|
|
17
18
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
18
19
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
19
20
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
@@ -22,14 +23,12 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
|
|
|
22
23
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
23
24
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
24
25
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
25
|
-
var
|
|
26
|
+
var MAX_LIST_HEIGHT = 294;
|
|
26
27
|
var OPTION_IDENTIFIER = 'option-identifier';
|
|
27
28
|
var Select = exports.Select = function Select(_ref) {
|
|
28
29
|
var label = _ref.label,
|
|
29
30
|
hasError = _ref.hasError,
|
|
30
31
|
placeholder = _ref.placeholder,
|
|
31
|
-
onFocus = _ref.onFocus,
|
|
32
|
-
onBlur = _ref.onBlur,
|
|
33
32
|
name = _ref.name,
|
|
34
33
|
value = _ref.value,
|
|
35
34
|
onChange = _ref.onChange,
|
|
@@ -40,12 +39,13 @@ var Select = exports.Select = function Select(_ref) {
|
|
|
40
39
|
isResetButtonEnabled = _ref$isResetButtonEna === void 0 ? false : _ref$isResetButtonEna,
|
|
41
40
|
size = _ref.size,
|
|
42
41
|
renderOption = _ref.renderOption,
|
|
43
|
-
dropdownHeader = _ref.dropdownHeader
|
|
42
|
+
dropdownHeader = _ref.dropdownHeader,
|
|
43
|
+
_ref$isDrawerOptions = _ref.isDrawerOptions,
|
|
44
|
+
isDrawerOptions = _ref$isDrawerOptions === void 0 ? false : _ref$isDrawerOptions,
|
|
45
|
+
_ref$scrollbarMaxHeig = _ref.scrollbarMaxHeight,
|
|
46
|
+
scrollbarMaxHeight = _ref$scrollbarMaxHeig === void 0 ? MAX_LIST_HEIGHT : _ref$scrollbarMaxHeig;
|
|
44
47
|
var palette = (0, _palette.useComponentPalette)('select');
|
|
45
|
-
var _useInputFocus = (0, _useInputFocus2.useInputFocus)(
|
|
46
|
-
onFocus: onFocus,
|
|
47
|
-
onBlur: onBlur
|
|
48
|
-
}),
|
|
48
|
+
var _useInputFocus = (0, _useInputFocus2.useInputFocus)(),
|
|
49
49
|
inFocus = _useInputFocus.inFocus,
|
|
50
50
|
focusHandler = _useInputFocus.handleFocus,
|
|
51
51
|
blurHandler = _useInputFocus.handleBlur;
|
|
@@ -66,6 +66,7 @@ var Select = exports.Select = function Select(_ref) {
|
|
|
66
66
|
так появилась логика delayBlur
|
|
67
67
|
*/
|
|
68
68
|
var delayBlur = (0, _react.useRef)(null);
|
|
69
|
+
var inputRef = (0, _react.useRef)(null);
|
|
69
70
|
var selectedOption = (0, _react.useMemo)(function () {
|
|
70
71
|
return options.find(function (option) {
|
|
71
72
|
return option.value === value;
|
|
@@ -106,27 +107,12 @@ var Select = exports.Select = function Select(_ref) {
|
|
|
106
107
|
var handleReset = (0, _react.useCallback)(function () {
|
|
107
108
|
return onChange(null);
|
|
108
109
|
}, [onChange]);
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
placeholder: placeholder,
|
|
116
|
-
onFocus: handleFocus,
|
|
117
|
-
onBlur: handleBlur,
|
|
118
|
-
value: (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) || '',
|
|
119
|
-
name: name,
|
|
120
|
-
isOpen: isOpen,
|
|
121
|
-
onReset: isResetButtonEnabled ? handleReset : undefined,
|
|
122
|
-
size: size
|
|
123
|
-
})), /*#__PURE__*/_react["default"].createElement(_Dropdown.Dropdown, {
|
|
124
|
-
isOpen: isOpen,
|
|
125
|
-
isAutoPosition: true,
|
|
126
|
-
width: "100%"
|
|
127
|
-
}, /*#__PURE__*/_react["default"].createElement(_Scrollbar.Scrollbar, {
|
|
128
|
-
maxHeight: LIST_HEIGHT
|
|
129
|
-
}, dropdownHeader, optionGroups.map(function (_ref2) {
|
|
110
|
+
var handleInputClick = function handleInputClick() {
|
|
111
|
+
var _inputRef$current;
|
|
112
|
+
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.blur();
|
|
113
|
+
handleShow();
|
|
114
|
+
};
|
|
115
|
+
var dropdownContent = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, dropdownHeader, optionGroups.map(function (_ref2) {
|
|
130
116
|
var group = _ref2.group,
|
|
131
117
|
groupOptions = _ref2.options;
|
|
132
118
|
return /*#__PURE__*/_react["default"].createElement(_react.Fragment, {
|
|
@@ -144,5 +130,34 @@ var Select = exports.Select = function Select(_ref) {
|
|
|
144
130
|
$isGrouped: !!group
|
|
145
131
|
}, renderOption ? renderOption(option.entity) : /*#__PURE__*/_react["default"].createElement(S.DefaultOptionWrapper, null, " ", option.label));
|
|
146
132
|
}));
|
|
147
|
-
}))
|
|
133
|
+
}));
|
|
134
|
+
return /*#__PURE__*/_react["default"].createElement(S.Wrapper, {
|
|
135
|
+
ref: isDrawerOptions ? undefined : wrapperRef
|
|
136
|
+
}, /*#__PURE__*/_react["default"].createElement(S.InputWrapper, null, /*#__PURE__*/_react["default"].createElement(_Input.Input, {
|
|
137
|
+
ref: inputRef,
|
|
138
|
+
label: label,
|
|
139
|
+
hasError: hasError,
|
|
140
|
+
inFocus: inFocus,
|
|
141
|
+
placeholder: placeholder,
|
|
142
|
+
onFocus: isDrawerOptions ? undefined : handleFocus,
|
|
143
|
+
onBlur: isDrawerOptions ? undefined : handleBlur,
|
|
144
|
+
value: (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) || '',
|
|
145
|
+
name: name,
|
|
146
|
+
isOpen: isOpen,
|
|
147
|
+
onReset: isResetButtonEnabled ? handleReset : undefined,
|
|
148
|
+
size: size,
|
|
149
|
+
onClick: isDrawerOptions ? handleInputClick : undefined
|
|
150
|
+
})), isDrawerOptions ? /*#__PURE__*/_react["default"].createElement(_Drawer.Drawer, {
|
|
151
|
+
onClose: handleHide,
|
|
152
|
+
isOpen: isOpen,
|
|
153
|
+
isPadding: false
|
|
154
|
+
}, /*#__PURE__*/_react["default"].createElement(S.DrawerContent, null, /*#__PURE__*/_react["default"].createElement(_Scrollbar.Scrollbar, {
|
|
155
|
+
maxHeight: scrollbarMaxHeight
|
|
156
|
+
}, dropdownContent, /*#__PURE__*/_react["default"].createElement(S.DrawerBottom, null)))) : /*#__PURE__*/_react["default"].createElement(_Dropdown.Dropdown, {
|
|
157
|
+
isOpen: isOpen,
|
|
158
|
+
isAutoPosition: true,
|
|
159
|
+
width: "100%"
|
|
160
|
+
}, /*#__PURE__*/_react["default"].createElement(_Scrollbar.Scrollbar, {
|
|
161
|
+
maxHeight: scrollbarMaxHeight
|
|
162
|
+
}, dropdownContent)));
|
|
148
163
|
};
|
|
@@ -8,3 +8,5 @@ export declare const Option: import("styled-components/dist/types").IStyledCompo
|
|
|
8
8
|
}>> & string & Omit<import("react").FC<import("../../common/Typography").TTypographyProps>, keyof import("react").Component<any, {}, any>>;
|
|
9
9
|
export declare const Group: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("../../common/Typography").TTypographyProps & import("styled-components/dist/types").BaseObject, import("styled-components/dist/types").BaseObject>> & string & Omit<import("react").FC<import("../../common/Typography").TTypographyProps>, keyof import("react").Component<any, {}, any>>;
|
|
10
10
|
export declare const DefaultOptionWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
11
|
+
export declare const DrawerContent: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
12
|
+
export declare const DrawerBottom: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
@@ -4,7 +4,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.Wrapper = exports.Option = exports.InputWrapper = exports.Group = exports.DefaultOptionWrapper = void 0;
|
|
7
|
+
exports.Wrapper = exports.Option = exports.InputWrapper = exports.Group = exports.DrawerContent = exports.DrawerBottom = exports.DefaultOptionWrapper = void 0;
|
|
8
8
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
9
9
|
var _Typography = require("../../common/Typography");
|
|
10
10
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
@@ -34,4 +34,12 @@ var Group = exports.Group = (0, _styledComponents["default"])(_Typography.Typogr
|
|
|
34
34
|
var DefaultOptionWrapper = exports.DefaultOptionWrapper = _styledComponents["default"].div.withConfig({
|
|
35
35
|
displayName: "styles__DefaultOptionWrapper",
|
|
36
36
|
componentId: "sc-1x9n0z5-4"
|
|
37
|
-
})(["padding:12px 20px;"]);
|
|
37
|
+
})(["padding:12px 20px;"]);
|
|
38
|
+
var DrawerContent = exports.DrawerContent = _styledComponents["default"].div.withConfig({
|
|
39
|
+
displayName: "styles__DrawerContent",
|
|
40
|
+
componentId: "sc-1x9n0z5-5"
|
|
41
|
+
})(["padding-top:36px;"]);
|
|
42
|
+
var DrawerBottom = exports.DrawerBottom = _styledComponents["default"].div.withConfig({
|
|
43
|
+
displayName: "styles__DrawerBottom",
|
|
44
|
+
componentId: "sc-1x9n0z5-6"
|
|
45
|
+
})(["height:36px;"]);
|