@invoicebox/ui 0.1.0-alpha.4 → 0.1.0-alpha.41
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/README.md +15 -1
- package/dist/breakpoints/index.d.ts +7 -0
- package/dist/breakpoints/index.js +13 -0
- package/dist/components/common/Arrow/components/StyledSvg/index.d.ts +11 -0
- package/dist/components/common/Arrow/components/StyledSvg/index.js +31 -0
- package/dist/components/common/Arrow/components/StyledSvg/index.stories.d.ts +5 -0
- package/dist/components/common/Arrow/components/StyledSvg/index.stories.js +29 -0
- package/dist/components/common/Arrow/components/Svg/index.d.ts +6 -0
- package/dist/components/common/Arrow/components/Svg/index.js +26 -0
- package/dist/components/common/Arrow/components/Svg/index.stories.d.ts +6 -0
- package/dist/components/common/Arrow/components/Svg/index.stories.js +21 -0
- package/dist/components/common/Arrow/index.d.ts +11 -0
- package/dist/components/common/Arrow/index.js +34 -0
- package/dist/components/common/Arrow/index.stories.d.ts +6 -0
- package/dist/components/common/Arrow/index.stories.js +22 -0
- package/dist/components/common/Arrow/palette.d.ts +8 -0
- package/dist/components/common/Arrow/palette.js +16 -0
- package/dist/components/common/Dropdown/index.d.ts +14 -0
- package/dist/components/common/Dropdown/index.js +117 -0
- package/dist/components/common/Dropdown/index.stories.d.ts +6 -0
- package/dist/components/common/Dropdown/index.stories.js +59 -0
- package/dist/components/common/Dropdown/palette.d.ts +6 -0
- package/dist/components/common/Dropdown/palette.js +14 -0
- package/dist/components/common/Dropdown/styles.d.ts +14 -0
- package/dist/components/common/Dropdown/styles.js +47 -0
- package/dist/components/common/InvoiceboxLoader/index.d.ts +5 -0
- package/dist/components/common/InvoiceboxLoader/index.js +878 -0
- package/dist/components/common/InvoiceboxLoader/index.stories.d.ts +5 -0
- package/dist/components/common/InvoiceboxLoader/index.stories.js +18 -0
- package/dist/components/common/InvoiceboxSpinner/index.d.ts +8 -0
- package/dist/components/common/InvoiceboxSpinner/index.js +41 -0
- package/dist/components/common/InvoiceboxSpinner/index.stories.d.ts +10 -0
- package/dist/components/common/InvoiceboxSpinner/index.stories.js +19 -0
- package/dist/components/common/InvoiceboxSpinner/palette.d.ts +8 -0
- package/dist/components/common/InvoiceboxSpinner/palette.js +14 -0
- package/dist/components/common/InvoiceboxSpinner/styles.d.ts +4 -0
- package/dist/components/common/InvoiceboxSpinner/styles.js +19 -0
- package/dist/components/common/Scrollbar/index.d.ts +6 -0
- package/dist/components/common/Scrollbar/index.js +69 -0
- package/dist/components/common/Scrollbar/index.stories.d.ts +12 -0
- package/dist/components/common/Scrollbar/index.stories.js +36 -0
- package/dist/components/common/Scrollbar/palette.d.ts +5 -0
- package/dist/components/common/Scrollbar/palette.js +11 -0
- package/dist/components/common/SecondaryButton/index.d.ts +19 -0
- package/dist/components/common/SecondaryButton/index.js +51 -0
- package/dist/components/common/SecondaryButton/index.stories.d.ts +11 -0
- package/dist/components/common/SecondaryButton/index.stories.js +38 -0
- package/dist/components/common/SecondaryButton/palette.d.ts +8 -0
- package/dist/components/common/SecondaryButton/palette.js +14 -0
- package/dist/components/common/SecondaryButton/styles.d.ts +11 -0
- package/dist/components/common/SecondaryButton/styles.js +46 -0
- package/dist/components/common/Skeleton/index.d.ts +8 -0
- package/dist/components/common/Skeleton/index.js +28 -0
- package/dist/components/common/Skeleton/index.stories.d.ts +11 -0
- package/dist/components/common/Skeleton/index.stories.js +29 -0
- package/dist/components/common/Skeleton/palette.d.ts +6 -0
- package/dist/components/common/Skeleton/palette.js +12 -0
- package/dist/components/common/Skeleton/styles.d.ts +10 -0
- package/dist/components/common/Skeleton/styles.js +37 -0
- package/dist/components/common/Typography/docs.stories.d.ts +6 -0
- package/dist/components/common/Typography/docs.stories.js +20 -0
- package/dist/components/common/Typography/index.d.ts +26 -0
- package/dist/components/common/Typography/index.js +49 -0
- package/dist/components/common/Typography/index.stories.d.ts +11 -0
- package/dist/components/common/Typography/index.stories.js +35 -0
- package/dist/components/common/Typography/styles.d.ts +5 -0
- package/dist/components/common/Typography/styles.js +16 -0
- package/dist/components/common/Typography/typography.d.ts +20 -0
- package/dist/components/common/Typography/typography.js +28 -0
- package/dist/components/form/InputLabel/index.d.ts +10 -0
- package/dist/components/form/InputLabel/index.js +32 -0
- package/dist/components/form/InputLabel/index.stories.d.ts +5 -0
- package/dist/components/form/InputLabel/index.stories.js +33 -0
- package/dist/components/form/InputLabel/palette.d.ts +7 -0
- package/dist/components/form/InputLabel/palette.js +13 -0
- package/dist/components/form/InputLabel/styles.d.ts +12 -0
- package/dist/components/form/InputLabel/styles.js +40 -0
- package/dist/components/form/PositiveIntegerInput/hooks/useFilters.d.ts +6 -0
- package/dist/components/form/PositiveIntegerInput/hooks/useFilters.js +21 -0
- package/dist/components/form/PositiveIntegerInput/hooks/useIncrement.d.ts +4 -0
- package/dist/components/form/PositiveIntegerInput/hooks/useIncrement.js +22 -0
- package/dist/components/form/PositiveIntegerInput/hooks/useIncrementDisabledFlags.d.ts +9 -0
- package/dist/components/form/PositiveIntegerInput/hooks/useIncrementDisabledFlags.js +24 -0
- package/dist/components/form/PositiveIntegerInput/hooks/useNormalizers.d.ts +4 -0
- package/dist/components/form/PositiveIntegerInput/hooks/useNormalizers.js +22 -0
- package/dist/components/form/PositiveIntegerInput/index.d.ts +10 -0
- package/dist/components/form/PositiveIntegerInput/index.js +94 -0
- package/dist/components/form/PositiveIntegerInput/index.stories.d.ts +5 -0
- package/dist/components/form/PositiveIntegerInput/index.stories.js +49 -0
- package/dist/components/form/PositiveIntegerInput/styles.d.ts +5 -0
- package/dist/components/form/PositiveIntegerInput/styles.js +21 -0
- package/dist/components/form/PureInput/index.d.ts +12 -0
- package/dist/components/form/PureInput/index.js +43 -0
- package/dist/components/form/PureInput/index.stories.d.ts +5 -0
- package/dist/components/form/PureInput/index.stories.js +23 -0
- package/dist/components/form/PureInput/palette.d.ts +10 -0
- package/dist/components/form/PureInput/palette.js +18 -0
- package/dist/components/form/PureInput/styles.d.ts +10 -0
- package/dist/components/form/PureInput/styles.js +34 -0
- package/dist/components/form/Select/components/Input/index.d.ts +6 -0
- package/dist/components/form/Select/components/Input/index.js +42 -0
- package/dist/components/form/Select/components/Input/index.stories.d.ts +5 -0
- package/dist/components/form/Select/components/Input/index.stories.js +27 -0
- package/dist/components/form/Select/components/Input/styles.d.ts +2 -0
- package/dist/components/form/Select/components/Input/styles.js +12 -0
- package/dist/components/form/Select/index.d.ts +11 -0
- package/dist/components/form/Select/index.js +122 -0
- package/dist/components/form/Select/index.stories.d.ts +5 -0
- package/dist/components/form/Select/index.stories.js +83 -0
- package/dist/components/form/Select/styles.d.ts +5 -0
- package/dist/components/form/Select/styles.js +25 -0
- package/dist/hooks/useClickOutside.d.ts +2 -0
- package/dist/hooks/useClickOutside.js +22 -0
- package/dist/hooks/useInputFocus.d.ts +11 -0
- package/dist/hooks/useInputFocus.js +37 -0
- package/dist/index.d.ts +14 -1
- package/dist/index.js +94 -4
- package/dist/palette/colors.stories.d.ts +4 -0
- package/dist/palette/colors.stories.js +40 -0
- package/dist/palette/constants.d.ts +2 -0
- package/dist/palette/constants.js +18 -0
- package/dist/palette/context.d.ts +21 -0
- package/dist/palette/context.js +26 -0
- package/dist/palette/index.d.ts +3 -0
- package/dist/palette/index.js +19 -0
- package/dist/palette/index.stories.d.ts +4 -0
- package/dist/palette/index.stories.js +81 -0
- package/dist/palette/provider.d.ts +20 -0
- package/dist/palette/provider.js +71 -0
- package/dist/palette/types.d.ts +12 -0
- package/dist/palette/types.js +1 -0
- package/dist/palette/useComponentPalette.d.ts +2 -0
- package/dist/palette/useComponentPalette.js +22 -0
- package/dist/palette/usePalette.d.ts +10 -0
- package/dist/palette/usePalette.js +11 -0
- package/package.json +22 -10
- package/dist/stories/Button.d.ts +0 -26
- package/dist/stories/Button.js +0 -41
- package/dist/stories/Button.stories.d.ts +0 -21
- package/dist/stories/Button.stories.js +0 -44
- package/dist/stories/styles.d.ts +0 -30
- package/dist/stories/styles.js +0 -33
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.PositiveIntegerInput = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var S = _interopRequireWildcard(require("./styles"));
|
|
10
|
+
var _useInputFocus2 = require("../../../hooks/useInputFocus");
|
|
11
|
+
var _InputLabel = require("../InputLabel");
|
|
12
|
+
var _PureInput = require("../PureInput");
|
|
13
|
+
var _Arrow = require("../../common/Arrow");
|
|
14
|
+
var _useFilters = require("./hooks/useFilters");
|
|
15
|
+
var _useNormalizers2 = require("./hooks/useNormalizers");
|
|
16
|
+
var _useIncrement2 = require("./hooks/useIncrement");
|
|
17
|
+
var _useIncrementDisabledFlags = require("./hooks/useIncrementDisabledFlags");
|
|
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); }
|
|
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 && Object.prototype.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; }
|
|
20
|
+
var PositiveIntegerInput = exports.PositiveIntegerInput = function PositiveIntegerInput(_ref) {
|
|
21
|
+
var value = _ref.value,
|
|
22
|
+
onChange = _ref.onChange,
|
|
23
|
+
_ref$max = _ref.max,
|
|
24
|
+
max = _ref$max === void 0 ? Infinity : _ref$max,
|
|
25
|
+
_ref$upAndDown = _ref.upAndDown,
|
|
26
|
+
upAndDown = _ref$upAndDown === void 0 ? false : _ref$upAndDown,
|
|
27
|
+
label = _ref.label,
|
|
28
|
+
placeholder = _ref.placeholder,
|
|
29
|
+
hasError = _ref.hasError,
|
|
30
|
+
onFocus = _ref.onFocus,
|
|
31
|
+
onBlur = _ref.onBlur,
|
|
32
|
+
name = _ref.name;
|
|
33
|
+
var _useInputFocus = (0, _useInputFocus2.useInputFocus)({
|
|
34
|
+
onFocus: onFocus,
|
|
35
|
+
onBlur: onBlur
|
|
36
|
+
}),
|
|
37
|
+
inFocus = _useInputFocus.inFocus,
|
|
38
|
+
handleFocus = _useInputFocus.handleFocus,
|
|
39
|
+
handleBlur = _useInputFocus.handleBlur;
|
|
40
|
+
var filters = (0, _useFilters.useFilters)({
|
|
41
|
+
max: max
|
|
42
|
+
});
|
|
43
|
+
var _useNormalizers = (0, _useNormalizers2.useNormalizers)(),
|
|
44
|
+
normalizeFrom = _useNormalizers.normalizeFrom,
|
|
45
|
+
normalizeTo = _useNormalizers.normalizeTo;
|
|
46
|
+
var _useIncrement = (0, _useIncrement2.useIncrement)(),
|
|
47
|
+
increment = _useIncrement.increment,
|
|
48
|
+
decrement = _useIncrement.decrement;
|
|
49
|
+
var _useIncrementDisabled = (0, _useIncrementDisabledFlags.useIncrementDisabledFlags)({
|
|
50
|
+
max: max,
|
|
51
|
+
value: value
|
|
52
|
+
}),
|
|
53
|
+
isDecrementDisabled = _useIncrementDisabled.isDecrementDisabled,
|
|
54
|
+
isIncrementDisabled = _useIncrementDisabled.isIncrementDisabled;
|
|
55
|
+
var handleChange = (0, _react.useCallback)(function (event) {
|
|
56
|
+
var newValue = event.target.value;
|
|
57
|
+
var filtredValue = filters.reduce(function (acc, fn) {
|
|
58
|
+
return fn(acc);
|
|
59
|
+
}, newValue);
|
|
60
|
+
onChange(normalizeTo(filtredValue));
|
|
61
|
+
}, [normalizeTo, onChange, filters]);
|
|
62
|
+
var handleUp = (0, _react.useCallback)(function () {
|
|
63
|
+
onChange(increment(value));
|
|
64
|
+
}, [increment, value, onChange]);
|
|
65
|
+
var handleDown = (0, _react.useCallback)(function () {
|
|
66
|
+
onChange(decrement(value));
|
|
67
|
+
}, [decrement, value, onChange]);
|
|
68
|
+
return /*#__PURE__*/_react["default"].createElement(_InputLabel.InputLabel, {
|
|
69
|
+
inFocus: inFocus,
|
|
70
|
+
label: label
|
|
71
|
+
}, /*#__PURE__*/_react["default"].createElement(_PureInput.PureInput, {
|
|
72
|
+
name: name,
|
|
73
|
+
hasError: hasError,
|
|
74
|
+
inFocus: inFocus,
|
|
75
|
+
placeholder: placeholder,
|
|
76
|
+
onFocus: handleFocus,
|
|
77
|
+
onBlur: handleBlur,
|
|
78
|
+
value: normalizeFrom(value),
|
|
79
|
+
onChange: handleChange,
|
|
80
|
+
paddingRight: upAndDown ? 44 : undefined
|
|
81
|
+
}), upAndDown && /*#__PURE__*/_react["default"].createElement(S.Arrows, null, /*#__PURE__*/_react["default"].createElement(S.Arrow, {
|
|
82
|
+
onClick: handleUp,
|
|
83
|
+
$disabled: isIncrementDisabled
|
|
84
|
+
}, /*#__PURE__*/_react["default"].createElement(_Arrow.Arrow, {
|
|
85
|
+
isOpen: true,
|
|
86
|
+
outterSize: 12
|
|
87
|
+
})), /*#__PURE__*/_react["default"].createElement(S.Arrow, {
|
|
88
|
+
onClick: handleDown,
|
|
89
|
+
$disabled: isDecrementDisabled
|
|
90
|
+
}, /*#__PURE__*/_react["default"].createElement(_Arrow.Arrow, {
|
|
91
|
+
isOpen: false,
|
|
92
|
+
outterSize: 12
|
|
93
|
+
}))));
|
|
94
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = exports.Default = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _addonActions = require("@storybook/addon-actions");
|
|
10
|
+
var _ = require(".");
|
|
11
|
+
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); }
|
|
12
|
+
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 && Object.prototype.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; }
|
|
13
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
14
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
15
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
16
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
17
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
18
|
+
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; } }
|
|
19
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
20
|
+
var meta = {
|
|
21
|
+
title: 'form/PositiveIntegerInput',
|
|
22
|
+
component: _.PositiveIntegerInput,
|
|
23
|
+
tags: ['autodocs']
|
|
24
|
+
};
|
|
25
|
+
var _default = exports["default"] = meta;
|
|
26
|
+
var Component = function Component(props) {
|
|
27
|
+
var _useState = (0, _react.useState)(null),
|
|
28
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
29
|
+
value = _useState2[0],
|
|
30
|
+
setValue = _useState2[1];
|
|
31
|
+
var handleChange = (0, _react.useCallback)(function (newValue) {
|
|
32
|
+
setValue(newValue);
|
|
33
|
+
(0, _addonActions.action)('onChange')(newValue);
|
|
34
|
+
}, []);
|
|
35
|
+
return /*#__PURE__*/_react["default"].createElement(_.PositiveIntegerInput, _extends({}, props, {
|
|
36
|
+
value: value,
|
|
37
|
+
onChange: handleChange
|
|
38
|
+
}));
|
|
39
|
+
};
|
|
40
|
+
var Default = exports.Default = {
|
|
41
|
+
args: {
|
|
42
|
+
max: 1000,
|
|
43
|
+
upAndDown: true,
|
|
44
|
+
label: 'Label',
|
|
45
|
+
placeholder: 'Placeholder',
|
|
46
|
+
hasError: false
|
|
47
|
+
},
|
|
48
|
+
render: Component
|
|
49
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const Arrows: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
|
|
3
|
+
export declare const Arrow: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
|
|
4
|
+
$disabled: boolean;
|
|
5
|
+
}>>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.Arrows = exports.Arrow = void 0;
|
|
8
|
+
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
9
|
+
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); }
|
|
10
|
+
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 && Object.prototype.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; }
|
|
11
|
+
var Arrows = exports.Arrows = _styledComponents["default"].div.withConfig({
|
|
12
|
+
displayName: "styles__Arrows",
|
|
13
|
+
componentId: "sc-ctutr8-0"
|
|
14
|
+
})(["display:flex;flex-direction:column;position:absolute;height:100%;justify-content:center;top:0;right:18px;"]);
|
|
15
|
+
var Arrow = exports.Arrow = _styledComponents["default"].div.withConfig({
|
|
16
|
+
displayName: "styles__Arrow",
|
|
17
|
+
componentId: "sc-ctutr8-1"
|
|
18
|
+
})(["cursor:pointer;display:flex;user-select:none;", ""], function (_ref) {
|
|
19
|
+
var $disabled = _ref.$disabled;
|
|
20
|
+
return $disabled && (0, _styledComponents.css)(["opacity:0.4;pointer-events:none;"]);
|
|
21
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FC, InputHTMLAttributes } from 'react';
|
|
2
|
+
import { TPureInputPalette } from './palette';
|
|
3
|
+
export type TProps = InputHTMLAttributes<HTMLInputElement> & {
|
|
4
|
+
paddingLeft?: number;
|
|
5
|
+
paddingRight?: number;
|
|
6
|
+
hasError?: boolean;
|
|
7
|
+
inFocus?: boolean;
|
|
8
|
+
hasBorder?: boolean;
|
|
9
|
+
className?: never;
|
|
10
|
+
palette?: Partial<TPureInputPalette>;
|
|
11
|
+
};
|
|
12
|
+
export declare const PureInput: FC<TProps>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.PureInput = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var S = _interopRequireWildcard(require("./styles"));
|
|
10
|
+
var _palette = require("../../../palette");
|
|
11
|
+
var _excluded = ["paddingLeft", "paddingRight", "hasError", "inFocus", "hasBorder", "className", "palette"];
|
|
12
|
+
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); }
|
|
13
|
+
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 && Object.prototype.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; }
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
16
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
17
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
18
|
+
var PureInput = exports.PureInput = function PureInput(_ref) {
|
|
19
|
+
var _ref$paddingLeft = _ref.paddingLeft,
|
|
20
|
+
paddingLeft = _ref$paddingLeft === void 0 ? 18 : _ref$paddingLeft,
|
|
21
|
+
_ref$paddingRight = _ref.paddingRight,
|
|
22
|
+
paddingRight = _ref$paddingRight === void 0 ? 18 : _ref$paddingRight,
|
|
23
|
+
_ref$hasError = _ref.hasError,
|
|
24
|
+
hasError = _ref$hasError === void 0 ? false : _ref$hasError,
|
|
25
|
+
_ref$inFocus = _ref.inFocus,
|
|
26
|
+
inFocus = _ref$inFocus === void 0 ? false : _ref$inFocus,
|
|
27
|
+
_ref$hasBorder = _ref.hasBorder,
|
|
28
|
+
hasBorder = _ref$hasBorder === void 0 ? true : _ref$hasBorder,
|
|
29
|
+
className = _ref.className,
|
|
30
|
+
palette = _ref.palette,
|
|
31
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
32
|
+
var mergedPalette = (0, _palette.useComponentPalette)('pureInput', palette);
|
|
33
|
+
return /*#__PURE__*/_react["default"].createElement(S.Wrapper, _extends({
|
|
34
|
+
variant: "bodyMRegular",
|
|
35
|
+
element: "input",
|
|
36
|
+
$paddingLeft: paddingLeft,
|
|
37
|
+
$paddingRight: paddingRight,
|
|
38
|
+
$hasError: hasError,
|
|
39
|
+
$inFocus: inFocus,
|
|
40
|
+
$hasBorder: hasBorder,
|
|
41
|
+
$palette: mergedPalette
|
|
42
|
+
}, rest));
|
|
43
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.Default = void 0;
|
|
7
|
+
var _ = require(".");
|
|
8
|
+
var meta = {
|
|
9
|
+
title: 'form/PureInput',
|
|
10
|
+
component: _.PureInput,
|
|
11
|
+
tags: ['autodocs']
|
|
12
|
+
};
|
|
13
|
+
var _default = exports["default"] = meta;
|
|
14
|
+
var Default = exports.Default = {
|
|
15
|
+
args: {
|
|
16
|
+
paddingLeft: 18,
|
|
17
|
+
paddingRight: 18,
|
|
18
|
+
hasError: false,
|
|
19
|
+
inFocus: false,
|
|
20
|
+
hasBorder: true,
|
|
21
|
+
placeholder: 'Введите текст'
|
|
22
|
+
}
|
|
23
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TAbstractPalette } from '../../../palette';
|
|
2
|
+
export type TPureInputPalette = {
|
|
3
|
+
text: string;
|
|
4
|
+
bg: string;
|
|
5
|
+
error: string;
|
|
6
|
+
border: string;
|
|
7
|
+
borderFocus: string;
|
|
8
|
+
placeholder: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const generatePureInputPalette: (abstractPalette: TAbstractPalette) => TPureInputPalette;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.generatePureInputPalette = void 0;
|
|
7
|
+
var _hexToRgba = _interopRequireDefault(require("hex-to-rgba"));
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
9
|
+
var generatePureInputPalette = exports.generatePureInputPalette = function generatePureInputPalette(abstractPalette) {
|
|
10
|
+
return {
|
|
11
|
+
text: abstractPalette.primary,
|
|
12
|
+
bg: abstractPalette.base,
|
|
13
|
+
error: abstractPalette.error,
|
|
14
|
+
border: (0, _hexToRgba["default"])(abstractPalette.neutralBrutal, 0.3),
|
|
15
|
+
borderFocus: abstractPalette.primary,
|
|
16
|
+
placeholder: (0, _hexToRgba["default"])(abstractPalette.primary, 0.3)
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { TPureInputPalette } from './palette';
|
|
3
|
+
export declare const Wrapper: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("../../common/Typography").TProps, {
|
|
4
|
+
$paddingLeft: number;
|
|
5
|
+
$paddingRight: number;
|
|
6
|
+
$hasError: boolean;
|
|
7
|
+
$inFocus: boolean;
|
|
8
|
+
$hasBorder: boolean;
|
|
9
|
+
$palette: TPureInputPalette;
|
|
10
|
+
}>> & Omit<import("react").FC<import("../../common/Typography").TProps>, keyof import("react").Component<any, {}, any>>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Wrapper = void 0;
|
|
7
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
8
|
+
var _Typography = require("../../common/Typography");
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
10
|
+
var Wrapper = exports.Wrapper = (0, _styledComponents["default"])(_Typography.Typography).withConfig({
|
|
11
|
+
displayName: "styles__Wrapper",
|
|
12
|
+
componentId: "sc-1g8ijo6-0"
|
|
13
|
+
})(["color:", ";border-radius:10px;outline:none;padding:12px 18px;width:100%;background-color:", ";transition:all 0.2s ease-in-out 0s;box-sizing:border-box;padding-right:", "px;padding-left:", "px;border:1px solid ", ";&::placeholder{color:", ";}&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&[type='number']{-moz-appearance:textfield;}&:-webkit-autofill,&:-webkit-autofill:hover,&:-webkit-autofill:focus{transition:background-color 0s 600000s,color 0s 600000s !important;}"], function (_ref) {
|
|
14
|
+
var $palette = _ref.$palette;
|
|
15
|
+
return $palette.text;
|
|
16
|
+
}, function (_ref2) {
|
|
17
|
+
var $palette = _ref2.$palette;
|
|
18
|
+
return $palette.bg;
|
|
19
|
+
}, function (_ref3) {
|
|
20
|
+
var $paddingRight = _ref3.$paddingRight;
|
|
21
|
+
return $paddingRight;
|
|
22
|
+
}, function (_ref4) {
|
|
23
|
+
var $paddingLeft = _ref4.$paddingLeft;
|
|
24
|
+
return $paddingLeft;
|
|
25
|
+
}, function (_ref5) {
|
|
26
|
+
var $hasError = _ref5.$hasError,
|
|
27
|
+
$inFocus = _ref5.$inFocus,
|
|
28
|
+
$hasBorder = _ref5.$hasBorder,
|
|
29
|
+
$palette = _ref5.$palette;
|
|
30
|
+
return !$hasBorder ? 'transparent' : $hasError ? $palette.error : $inFocus ? $palette.borderFocus : $palette.border;
|
|
31
|
+
}, function (_ref6) {
|
|
32
|
+
var $palette = _ref6.$palette;
|
|
33
|
+
return $palette.placeholder;
|
|
34
|
+
});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { TProps as TInputLabelProps } from '../../../InputLabel';
|
|
3
|
+
import { TProps as TPureInputProps } from '../../../PureInput';
|
|
4
|
+
import { TProps as TArrowProps } from '../../../../common/Arrow';
|
|
5
|
+
export type TProps = Pick<TInputLabelProps, 'inFocus' | 'label'> & Pick<TPureInputProps, 'hasError' | 'placeholder' | 'name' | 'onFocus' | 'onBlur' | 'value'> & Pick<TArrowProps, 'isOpen'>;
|
|
6
|
+
export declare const Input: FC<TProps>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.Input = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var S = _interopRequireWildcard(require("./styles"));
|
|
10
|
+
var _InputLabel = require("../../../InputLabel");
|
|
11
|
+
var _PureInput = require("../../../PureInput");
|
|
12
|
+
var _Arrow = require("../../../../common/Arrow");
|
|
13
|
+
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); }
|
|
14
|
+
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 && Object.prototype.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; }
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
16
|
+
var Input = exports.Input = function Input(_ref) {
|
|
17
|
+
var hasError = _ref.hasError,
|
|
18
|
+
inFocus = _ref.inFocus,
|
|
19
|
+
placeholder = _ref.placeholder,
|
|
20
|
+
onFocus = _ref.onFocus,
|
|
21
|
+
onBlur = _ref.onBlur,
|
|
22
|
+
value = _ref.value,
|
|
23
|
+
name = _ref.name,
|
|
24
|
+
label = _ref.label,
|
|
25
|
+
isOpen = _ref.isOpen;
|
|
26
|
+
return /*#__PURE__*/_react["default"].createElement(_InputLabel.InputLabel, {
|
|
27
|
+
inFocus: inFocus,
|
|
28
|
+
label: label
|
|
29
|
+
}, /*#__PURE__*/_react["default"].createElement(_PureInput.PureInput, {
|
|
30
|
+
hasError: hasError,
|
|
31
|
+
inFocus: inFocus,
|
|
32
|
+
name: name,
|
|
33
|
+
placeholder: placeholder,
|
|
34
|
+
onFocus: onFocus,
|
|
35
|
+
onBlur: onBlur,
|
|
36
|
+
value: value,
|
|
37
|
+
readOnly: true,
|
|
38
|
+
paddingRight: 52
|
|
39
|
+
}), /*#__PURE__*/_react["default"].createElement(S.IconWrapper, null, /*#__PURE__*/_react["default"].createElement(_Arrow.Arrow, {
|
|
40
|
+
isOpen: isOpen
|
|
41
|
+
})));
|
|
42
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.Default = void 0;
|
|
7
|
+
var _addonActions = require("@storybook/addon-actions");
|
|
8
|
+
var _ = require(".");
|
|
9
|
+
var meta = {
|
|
10
|
+
title: 'form/Select/_components/Input',
|
|
11
|
+
component: _.Input,
|
|
12
|
+
tags: ['autodocs']
|
|
13
|
+
};
|
|
14
|
+
var _default = exports["default"] = meta;
|
|
15
|
+
var Default = exports.Default = {
|
|
16
|
+
args: {
|
|
17
|
+
hasError: false,
|
|
18
|
+
inFocus: false,
|
|
19
|
+
placeholder: 'placeholder',
|
|
20
|
+
onFocus: (0, _addonActions.action)('focus'),
|
|
21
|
+
onBlur: (0, _addonActions.action)('blur'),
|
|
22
|
+
value: 'Selected option',
|
|
23
|
+
name: 'name',
|
|
24
|
+
label: 'label',
|
|
25
|
+
isOpen: false
|
|
26
|
+
}
|
|
27
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.IconWrapper = void 0;
|
|
7
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
9
|
+
var IconWrapper = exports.IconWrapper = _styledComponents["default"].div.withConfig({
|
|
10
|
+
displayName: "styles__IconWrapper",
|
|
11
|
+
componentId: "sc-1fsrle6-0"
|
|
12
|
+
})(["position:absolute;right:14px;height:100%;top:0;display:flex;align-items:center;"]);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TProps as TInputProps } from './components/Input';
|
|
2
|
+
type TProps<TValue> = Pick<TInputProps, 'label' | 'hasError' | 'placeholder' | 'onFocus' | 'onBlur' | 'name'> & {
|
|
3
|
+
value: TValue | null;
|
|
4
|
+
onChange: (value: TValue) => void;
|
|
5
|
+
options: {
|
|
6
|
+
label: string;
|
|
7
|
+
value: TValue;
|
|
8
|
+
}[];
|
|
9
|
+
};
|
|
10
|
+
export declare const Select: <TValue extends string | number>({ label, hasError, placeholder, onFocus, onBlur, name, value, onChange, options, }: TProps<TValue>) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.Select = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var S = _interopRequireWildcard(require("./styles"));
|
|
10
|
+
var _Input = require("./components/Input");
|
|
11
|
+
var _useInputFocus2 = require("../../../hooks/useInputFocus");
|
|
12
|
+
var _Dropdown = require("../../common/Dropdown");
|
|
13
|
+
var _Scrollbar = require("../../common/Scrollbar");
|
|
14
|
+
var _useClickOutside = require("../../../hooks/useClickOutside");
|
|
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
|
+
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 && Object.prototype.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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
18
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
19
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
20
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
21
|
+
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; } }
|
|
22
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
23
|
+
var LIST_HEIGHT = 294;
|
|
24
|
+
var OPTION_IDENTIFIER = 'option-identifier';
|
|
25
|
+
var Select = exports.Select = function Select(_ref) {
|
|
26
|
+
var label = _ref.label,
|
|
27
|
+
hasError = _ref.hasError,
|
|
28
|
+
placeholder = _ref.placeholder,
|
|
29
|
+
onFocus = _ref.onFocus,
|
|
30
|
+
onBlur = _ref.onBlur,
|
|
31
|
+
name = _ref.name,
|
|
32
|
+
value = _ref.value,
|
|
33
|
+
onChange = _ref.onChange,
|
|
34
|
+
options = _ref.options;
|
|
35
|
+
var _useInputFocus = (0, _useInputFocus2.useInputFocus)({
|
|
36
|
+
onFocus: onFocus,
|
|
37
|
+
onBlur: onBlur
|
|
38
|
+
}),
|
|
39
|
+
inFocus = _useInputFocus.inFocus,
|
|
40
|
+
focusHandler = _useInputFocus.handleFocus,
|
|
41
|
+
blurHandler = _useInputFocus.handleBlur;
|
|
42
|
+
var _useState = (0, _react.useState)(false),
|
|
43
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
44
|
+
isOpen = _useState2[0],
|
|
45
|
+
setIsOpen = _useState2[1];
|
|
46
|
+
|
|
47
|
+
/*
|
|
48
|
+
существует интеграционная проблема селекта с final-form
|
|
49
|
+
Суть:
|
|
50
|
+
- пользователь выбирает опцию;
|
|
51
|
+
- срабатывает onBlur;
|
|
52
|
+
- final-form помечает поле, как toched;
|
|
53
|
+
- если поле не валидно, hasError становится true, отображается красная рамка;
|
|
54
|
+
- срабатывает onChange, и если поле валидно рамка пропадает;
|
|
55
|
+
т.е. рамка мигает, хотя такого быть не должно;
|
|
56
|
+
так появилась логика delayBlur
|
|
57
|
+
*/
|
|
58
|
+
var delayBlur = (0, _react.useRef)(null);
|
|
59
|
+
var selectedOption = (0, _react.useMemo)(function () {
|
|
60
|
+
return options.find(function (option) {
|
|
61
|
+
return option.value === value;
|
|
62
|
+
});
|
|
63
|
+
}, [options, value]);
|
|
64
|
+
var handleShow = (0, _react.useCallback)(function () {
|
|
65
|
+
return setIsOpen(true);
|
|
66
|
+
}, []);
|
|
67
|
+
var handleHide = (0, _react.useCallback)(function () {
|
|
68
|
+
return setIsOpen(false);
|
|
69
|
+
}, []);
|
|
70
|
+
var wrapperRef = (0, _useClickOutside.useOutsideClick)(handleHide);
|
|
71
|
+
var handleFocus = (0, _react.useCallback)(function (event) {
|
|
72
|
+
handleShow();
|
|
73
|
+
focusHandler(event);
|
|
74
|
+
}, [focusHandler, handleShow]);
|
|
75
|
+
var handleBlur = (0, _react.useCallback)(function (event) {
|
|
76
|
+
var relatedTarget = event.relatedTarget;
|
|
77
|
+
var isOptionClick = (relatedTarget === null || relatedTarget === void 0 ? void 0 : relatedTarget.dataset.optionIdentifier) === OPTION_IDENTIFIER;
|
|
78
|
+
if (!isOptionClick) {
|
|
79
|
+
blurHandler(event);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
delayBlur.current = function () {
|
|
83
|
+
return blurHandler(event);
|
|
84
|
+
};
|
|
85
|
+
}, [blurHandler]);
|
|
86
|
+
var handleSelect = (0, _react.useCallback)(function (event) {
|
|
87
|
+
var newValue = JSON.parse(event.currentTarget.dataset.value);
|
|
88
|
+
onChange(newValue);
|
|
89
|
+
handleHide();
|
|
90
|
+
if (delayBlur.current) {
|
|
91
|
+
delayBlur.current();
|
|
92
|
+
delayBlur.current = null;
|
|
93
|
+
}
|
|
94
|
+
}, [handleHide, onChange]);
|
|
95
|
+
return /*#__PURE__*/_react["default"].createElement(S.Wrapper, {
|
|
96
|
+
ref: wrapperRef
|
|
97
|
+
}, /*#__PURE__*/_react["default"].createElement(S.InputWrapper, null, /*#__PURE__*/_react["default"].createElement(_Input.Input, {
|
|
98
|
+
label: label,
|
|
99
|
+
hasError: hasError,
|
|
100
|
+
inFocus: inFocus,
|
|
101
|
+
placeholder: placeholder,
|
|
102
|
+
onFocus: handleFocus,
|
|
103
|
+
onBlur: handleBlur,
|
|
104
|
+
value: (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) || '',
|
|
105
|
+
name: name,
|
|
106
|
+
isOpen: isOpen
|
|
107
|
+
})), /*#__PURE__*/_react["default"].createElement(_Dropdown.Dropdown, {
|
|
108
|
+
isOpen: isOpen,
|
|
109
|
+
isAutoPosition: true,
|
|
110
|
+
width: "100%"
|
|
111
|
+
}, /*#__PURE__*/_react["default"].createElement(S.Options, null, /*#__PURE__*/_react["default"].createElement(_Scrollbar.Scrollbar, {
|
|
112
|
+
maxHeight: LIST_HEIGHT
|
|
113
|
+
}, options.map(function (option) {
|
|
114
|
+
return /*#__PURE__*/_react["default"].createElement(S.Option, {
|
|
115
|
+
key: option.value,
|
|
116
|
+
variant: "bodyMRegular",
|
|
117
|
+
onClick: handleSelect,
|
|
118
|
+
"data-value": JSON.stringify(option.value),
|
|
119
|
+
"data-option-identifier": OPTION_IDENTIFIER
|
|
120
|
+
}, option.label);
|
|
121
|
+
})))));
|
|
122
|
+
};
|