@invoicebox/ui 0.1.0-alpha.40 → 0.1.0-alpha.42
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/InputLabel/palette.d.ts +1 -1
- package/dist/components/form/InputLabel/palette.js +1 -1
- package/dist/components/form/InputLabel/styles.js +2 -2
- package/dist/components/form/PositiveIntegerInput/index.js +2 -2
- 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 +10 -0
- package/dist/components/form/Select/index.js +125 -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/palette.d.ts +5 -0
- package/dist/components/form/Select/palette.js +13 -0
- package/dist/components/form/Select/styles.d.ts +8 -0
- package/dist/components/form/Select/styles.js +28 -0
- package/dist/hooks/useClickOutside.d.ts +2 -0
- package/dist/hooks/useClickOutside.js +22 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +7 -0
- package/dist/palette/context.d.ts +2 -0
- package/dist/palette/context.js +3 -1
- package/dist/palette/provider.js +3 -1
- package/dist/palette/usePalette.d.ts +1 -0
- package/package.json +1 -1
- /package/dist/hooks/{useFocusField.d.ts → useInputFocus.d.ts} +0 -0
- /package/dist/hooks/{useFocusField.js → useInputFocus.js} +0 -0
|
@@ -2,6 +2,6 @@ import { TAbstractPalette } from '../../../palette';
|
|
|
2
2
|
export type TInputLabelPalette = {
|
|
3
3
|
bg: string;
|
|
4
4
|
text: string;
|
|
5
|
-
|
|
5
|
+
textHighlight: string;
|
|
6
6
|
};
|
|
7
7
|
export declare const generateInputLabelPalette: (abstractPalette: TAbstractPalette) => TInputLabelPalette;
|
|
@@ -18,7 +18,7 @@ var Label = exports.Label = (0, _styledComponents["default"])(_Typography.Typogr
|
|
|
18
18
|
}, function (_ref2) {
|
|
19
19
|
var $inFocus = _ref2.$inFocus,
|
|
20
20
|
$palette = _ref2.$palette;
|
|
21
|
-
return $inFocus ? $palette.
|
|
21
|
+
return $inFocus ? $palette.textHighlight : $palette.text;
|
|
22
22
|
});
|
|
23
23
|
var Wrapper = exports.Wrapper = _styledComponents["default"].div.withConfig({
|
|
24
24
|
displayName: "styles__Wrapper",
|
|
@@ -32,7 +32,7 @@ var Wrapper = exports.Wrapper = _styledComponents["default"].div.withConfig({
|
|
|
32
32
|
}, Label, function (_ref5) {
|
|
33
33
|
var $disabled = _ref5.$disabled,
|
|
34
34
|
$palette = _ref5.$palette;
|
|
35
|
-
return !$disabled && (0, _styledComponents.css)(["color:", ";"], $palette.
|
|
35
|
+
return !$disabled && (0, _styledComponents.css)(["color:", ";"], $palette.textHighlight);
|
|
36
36
|
});
|
|
37
37
|
var InputWrapper = exports.InputWrapper = _styledComponents["default"].div.withConfig({
|
|
38
38
|
displayName: "styles__InputWrapper",
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.PositiveIntegerInput = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var S = _interopRequireWildcard(require("./styles"));
|
|
10
|
-
var
|
|
10
|
+
var _useInputFocus2 = require("../../../hooks/useInputFocus");
|
|
11
11
|
var _InputLabel = require("../InputLabel");
|
|
12
12
|
var _PureInput = require("../PureInput");
|
|
13
13
|
var _Arrow = require("../../common/Arrow");
|
|
@@ -30,7 +30,7 @@ var PositiveIntegerInput = exports.PositiveIntegerInput = function PositiveInteg
|
|
|
30
30
|
onFocus = _ref.onFocus,
|
|
31
31
|
onBlur = _ref.onBlur,
|
|
32
32
|
name = _ref.name;
|
|
33
|
-
var _useInputFocus = (0,
|
|
33
|
+
var _useInputFocus = (0, _useInputFocus2.useInputFocus)({
|
|
34
34
|
onFocus: onFocus,
|
|
35
35
|
onBlur: onBlur
|
|
36
36
|
}),
|
|
@@ -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,10 @@
|
|
|
1
|
+
import { TProps as TInputProps } from './components/Input';
|
|
2
|
+
export 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;
|
|
@@ -0,0 +1,125 @@
|
|
|
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
|
+
var _palette = require("../../../palette");
|
|
16
|
+
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); }
|
|
17
|
+
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; }
|
|
18
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
19
|
+
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."); }
|
|
20
|
+
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); }
|
|
21
|
+
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; }
|
|
22
|
+
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; } }
|
|
23
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
24
|
+
var LIST_HEIGHT = 294;
|
|
25
|
+
var OPTION_IDENTIFIER = 'option-identifier';
|
|
26
|
+
var Select = exports.Select = function Select(_ref) {
|
|
27
|
+
var label = _ref.label,
|
|
28
|
+
hasError = _ref.hasError,
|
|
29
|
+
placeholder = _ref.placeholder,
|
|
30
|
+
onFocus = _ref.onFocus,
|
|
31
|
+
onBlur = _ref.onBlur,
|
|
32
|
+
name = _ref.name,
|
|
33
|
+
value = _ref.value,
|
|
34
|
+
onChange = _ref.onChange,
|
|
35
|
+
options = _ref.options;
|
|
36
|
+
var palette = (0, _palette.useComponentPalette)('select');
|
|
37
|
+
var _useInputFocus = (0, _useInputFocus2.useInputFocus)({
|
|
38
|
+
onFocus: onFocus,
|
|
39
|
+
onBlur: onBlur
|
|
40
|
+
}),
|
|
41
|
+
inFocus = _useInputFocus.inFocus,
|
|
42
|
+
focusHandler = _useInputFocus.handleFocus,
|
|
43
|
+
blurHandler = _useInputFocus.handleBlur;
|
|
44
|
+
var _useState = (0, _react.useState)(false),
|
|
45
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
46
|
+
isOpen = _useState2[0],
|
|
47
|
+
setIsOpen = _useState2[1];
|
|
48
|
+
|
|
49
|
+
/*
|
|
50
|
+
существует интеграционная проблема селекта с final-form
|
|
51
|
+
Суть:
|
|
52
|
+
- пользователь выбирает опцию;
|
|
53
|
+
- срабатывает onBlur;
|
|
54
|
+
- final-form помечает поле, как toched;
|
|
55
|
+
- если поле не валидно, hasError становится true, отображается красная рамка;
|
|
56
|
+
- срабатывает onChange, и если поле валидно рамка пропадает;
|
|
57
|
+
т.е. рамка мигает, хотя такого быть не должно;
|
|
58
|
+
так появилась логика delayBlur
|
|
59
|
+
*/
|
|
60
|
+
var delayBlur = (0, _react.useRef)(null);
|
|
61
|
+
var selectedOption = (0, _react.useMemo)(function () {
|
|
62
|
+
return options.find(function (option) {
|
|
63
|
+
return option.value === value;
|
|
64
|
+
});
|
|
65
|
+
}, [options, value]);
|
|
66
|
+
var handleShow = (0, _react.useCallback)(function () {
|
|
67
|
+
return setIsOpen(true);
|
|
68
|
+
}, []);
|
|
69
|
+
var handleHide = (0, _react.useCallback)(function () {
|
|
70
|
+
return setIsOpen(false);
|
|
71
|
+
}, []);
|
|
72
|
+
var wrapperRef = (0, _useClickOutside.useOutsideClick)(handleHide);
|
|
73
|
+
var handleFocus = (0, _react.useCallback)(function (event) {
|
|
74
|
+
handleShow();
|
|
75
|
+
focusHandler(event);
|
|
76
|
+
}, [focusHandler, handleShow]);
|
|
77
|
+
var handleBlur = (0, _react.useCallback)(function (event) {
|
|
78
|
+
var relatedTarget = event.relatedTarget;
|
|
79
|
+
var isOptionClick = (relatedTarget === null || relatedTarget === void 0 ? void 0 : relatedTarget.dataset.optionIdentifier) === OPTION_IDENTIFIER;
|
|
80
|
+
if (!isOptionClick) {
|
|
81
|
+
blurHandler(event);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
delayBlur.current = function () {
|
|
85
|
+
return blurHandler(event);
|
|
86
|
+
};
|
|
87
|
+
}, [blurHandler]);
|
|
88
|
+
var handleSelect = (0, _react.useCallback)(function (event) {
|
|
89
|
+
var newValue = JSON.parse(event.currentTarget.dataset.value);
|
|
90
|
+
onChange(newValue);
|
|
91
|
+
handleHide();
|
|
92
|
+
if (delayBlur.current) {
|
|
93
|
+
delayBlur.current();
|
|
94
|
+
delayBlur.current = null;
|
|
95
|
+
}
|
|
96
|
+
}, [handleHide, onChange]);
|
|
97
|
+
return /*#__PURE__*/_react["default"].createElement(S.Wrapper, {
|
|
98
|
+
ref: wrapperRef
|
|
99
|
+
}, /*#__PURE__*/_react["default"].createElement(S.InputWrapper, null, /*#__PURE__*/_react["default"].createElement(_Input.Input, {
|
|
100
|
+
label: label,
|
|
101
|
+
hasError: hasError,
|
|
102
|
+
inFocus: inFocus,
|
|
103
|
+
placeholder: placeholder,
|
|
104
|
+
onFocus: handleFocus,
|
|
105
|
+
onBlur: handleBlur,
|
|
106
|
+
value: (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) || '',
|
|
107
|
+
name: name,
|
|
108
|
+
isOpen: isOpen
|
|
109
|
+
})), /*#__PURE__*/_react["default"].createElement(_Dropdown.Dropdown, {
|
|
110
|
+
isOpen: isOpen,
|
|
111
|
+
isAutoPosition: true,
|
|
112
|
+
width: "100%"
|
|
113
|
+
}, /*#__PURE__*/_react["default"].createElement(S.Options, null, /*#__PURE__*/_react["default"].createElement(_Scrollbar.Scrollbar, {
|
|
114
|
+
maxHeight: LIST_HEIGHT
|
|
115
|
+
}, options.map(function (option) {
|
|
116
|
+
return /*#__PURE__*/_react["default"].createElement(S.Option, {
|
|
117
|
+
key: option.value,
|
|
118
|
+
$palette: palette,
|
|
119
|
+
variant: "bodyMRegular",
|
|
120
|
+
onClick: handleSelect,
|
|
121
|
+
"data-value": JSON.stringify(option.value),
|
|
122
|
+
"data-option-identifier": OPTION_IDENTIFIER
|
|
123
|
+
}, option.label);
|
|
124
|
+
})))));
|
|
125
|
+
};
|
|
@@ -0,0 +1,83 @@
|
|
|
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/Select',
|
|
22
|
+
component: _.Select,
|
|
23
|
+
tags: ['autodocs']
|
|
24
|
+
};
|
|
25
|
+
var _default = exports["default"] = meta;
|
|
26
|
+
var selectOptions = [{
|
|
27
|
+
label: 'Option 1',
|
|
28
|
+
value: 'option-1'
|
|
29
|
+
}, {
|
|
30
|
+
label: 'Option 2',
|
|
31
|
+
value: 'option-2'
|
|
32
|
+
}, {
|
|
33
|
+
label: 'Option 3',
|
|
34
|
+
value: 'option-3'
|
|
35
|
+
}, {
|
|
36
|
+
label: 'Option 4',
|
|
37
|
+
value: 'option-4'
|
|
38
|
+
}, {
|
|
39
|
+
label: 'Option 5',
|
|
40
|
+
value: 'option-5'
|
|
41
|
+
}, {
|
|
42
|
+
label: 'Option 6',
|
|
43
|
+
value: 'option-6'
|
|
44
|
+
}, {
|
|
45
|
+
label: 'Option 7',
|
|
46
|
+
value: 'option-7'
|
|
47
|
+
}, {
|
|
48
|
+
label: 'Option 8',
|
|
49
|
+
value: 'option-8'
|
|
50
|
+
}, {
|
|
51
|
+
label: 'Option 9',
|
|
52
|
+
value: 'option-9'
|
|
53
|
+
}, {
|
|
54
|
+
label: 'Option 10',
|
|
55
|
+
value: 'option-10'
|
|
56
|
+
}, {
|
|
57
|
+
label: 'Option 11',
|
|
58
|
+
value: 'option-11'
|
|
59
|
+
}, {
|
|
60
|
+
label: 'Option 12',
|
|
61
|
+
value: 'option-12'
|
|
62
|
+
}];
|
|
63
|
+
var Default = exports.Default = {
|
|
64
|
+
args: {
|
|
65
|
+
hasError: false,
|
|
66
|
+
label: 'Label',
|
|
67
|
+
name: 'name',
|
|
68
|
+
onBlur: (0, _addonActions.action)('blur'),
|
|
69
|
+
onFocus: (0, _addonActions.action)('focus'),
|
|
70
|
+
placeholder: 'Placeholder'
|
|
71
|
+
},
|
|
72
|
+
render: function Component(props) {
|
|
73
|
+
var _useState = (0, _react.useState)(null),
|
|
74
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
75
|
+
value = _useState2[0],
|
|
76
|
+
setValue = _useState2[1];
|
|
77
|
+
return /*#__PURE__*/_react["default"].createElement(_.Select, _extends({}, props, {
|
|
78
|
+
value: value,
|
|
79
|
+
onChange: setValue,
|
|
80
|
+
options: selectOptions
|
|
81
|
+
}));
|
|
82
|
+
}
|
|
83
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.generateSelectPalette = void 0;
|
|
7
|
+
var _hexToRgba = _interopRequireDefault(require("hex-to-rgba"));
|
|
8
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
9
|
+
var generateSelectPalette = exports.generateSelectPalette = function generateSelectPalette(abstractPalette) {
|
|
10
|
+
return {
|
|
11
|
+
bgHover: (0, _hexToRgba["default"])(abstractPalette.neutralUsual, 0.5)
|
|
12
|
+
};
|
|
13
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { TSelectPalette } from './palette';
|
|
3
|
+
export declare const Wrapper: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
|
|
4
|
+
export declare const InputWrapper: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
|
|
5
|
+
export declare const Options: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
|
|
6
|
+
export declare const Option: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("../../common/Typography").TProps, {
|
|
7
|
+
$palette: TSelectPalette;
|
|
8
|
+
}>> & Omit<import("react").FC<import("../../common/Typography").TProps>, keyof import("react").Component<any, {}, any>>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Wrapper = exports.Options = exports.Option = exports.InputWrapper = 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 = _styledComponents["default"].div.withConfig({
|
|
11
|
+
displayName: "styles__Wrapper",
|
|
12
|
+
componentId: "sc-1x9n0z5-0"
|
|
13
|
+
})(["position:relative;width:100%;"]);
|
|
14
|
+
var InputWrapper = exports.InputWrapper = _styledComponents["default"].div.withConfig({
|
|
15
|
+
displayName: "styles__InputWrapper",
|
|
16
|
+
componentId: "sc-1x9n0z5-1"
|
|
17
|
+
})(["cursor:pointer;input{cursor:pointer;}"]);
|
|
18
|
+
var Options = exports.Options = _styledComponents["default"].div.withConfig({
|
|
19
|
+
displayName: "styles__Options",
|
|
20
|
+
componentId: "sc-1x9n0z5-2"
|
|
21
|
+
})(["display:flex;flex-direction:column;"]);
|
|
22
|
+
var Option = exports.Option = (0, _styledComponents["default"])(_Typography.Typography).withConfig({
|
|
23
|
+
displayName: "styles__Option",
|
|
24
|
+
componentId: "sc-1x9n0z5-3"
|
|
25
|
+
})(["overflow:hidden;display:flex;width:100%;text-align:left;flex-direction:column;padding:12px 20px;transition:all 0.2s ease-in-out 0s;box-sizing:border-box;cursor:pointer;&:hover{background-color:", ";}"], function (_ref) {
|
|
26
|
+
var $palette = _ref.$palette;
|
|
27
|
+
return $palette.bgHover;
|
|
28
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useOutsideClick = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var useOutsideClick = exports.useOutsideClick = function useOutsideClick(onClick) {
|
|
9
|
+
var ref = (0, _react.useRef)(null);
|
|
10
|
+
(0, _react.useEffect)(function () {
|
|
11
|
+
var handleOutsideClick = function handleOutsideClick(event) {
|
|
12
|
+
if (ref.current && !ref.current.contains(event.target)) {
|
|
13
|
+
onClick();
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
document.addEventListener('mousedown', handleOutsideClick);
|
|
17
|
+
return function () {
|
|
18
|
+
document.removeEventListener('mousedown', handleOutsideClick);
|
|
19
|
+
};
|
|
20
|
+
}, [ref, onClick]);
|
|
21
|
+
return ref;
|
|
22
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -11,4 +11,6 @@ export type { TProps as TPositiveIntegerInputProps } from './components/form/Pos
|
|
|
11
11
|
export { Dropdown } from './components/common/Dropdown';
|
|
12
12
|
export type { TProps as TDropdownProps } from './components/common/Dropdown';
|
|
13
13
|
export { Scrollbar } from './components/common/Scrollbar';
|
|
14
|
+
export { Select } from './components/form/Select';
|
|
15
|
+
export type { TProps as TSelectProps } from './components/form/Select';
|
|
14
16
|
export { PaletteProvider } from './palette';
|
package/dist/index.js
CHANGED
|
@@ -63,6 +63,12 @@ Object.defineProperty(exports, "SecondaryButton", {
|
|
|
63
63
|
return _SecondaryButton.SecondaryButton;
|
|
64
64
|
}
|
|
65
65
|
});
|
|
66
|
+
Object.defineProperty(exports, "Select", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function get() {
|
|
69
|
+
return _Select.Select;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
66
72
|
Object.defineProperty(exports, "Skeleton", {
|
|
67
73
|
enumerable: true,
|
|
68
74
|
get: function get() {
|
|
@@ -92,4 +98,5 @@ var _PureInput = require("./components/form/PureInput");
|
|
|
92
98
|
var _PositiveIntegerInput = require("./components/form/PositiveIntegerInput");
|
|
93
99
|
var _Dropdown = require("./components/common/Dropdown");
|
|
94
100
|
var _Scrollbar = require("./components/common/Scrollbar");
|
|
101
|
+
var _Select = require("./components/form/Select");
|
|
95
102
|
var _palette = require("./palette");
|
|
@@ -7,6 +7,7 @@ import { TInputLabelPalette } from '../components/form/InputLabel/palette';
|
|
|
7
7
|
import { TPureInputPalette } from '../components/form/PureInput/palette';
|
|
8
8
|
import { TDropdownPalette } from '../components/common/Dropdown/palette';
|
|
9
9
|
import { TScrollbarPalette } from '../components/common/Scrollbar/palette';
|
|
10
|
+
import { TSelectPalette } from '../components/form/Select/palette';
|
|
10
11
|
type TContext = {
|
|
11
12
|
skeleton: TSkeletonPalette;
|
|
12
13
|
invoiceboxSpinner: TInvoiceboxSpinnerPalette;
|
|
@@ -16,6 +17,7 @@ type TContext = {
|
|
|
16
17
|
pureInput: TPureInputPalette;
|
|
17
18
|
dropdown: TDropdownPalette;
|
|
18
19
|
scrollbar: TScrollbarPalette;
|
|
20
|
+
select: TSelectPalette;
|
|
19
21
|
};
|
|
20
22
|
export declare const PaletteContext: import("react").Context<TContext>;
|
|
21
23
|
export {};
|
package/dist/palette/context.js
CHANGED
|
@@ -14,6 +14,7 @@ var _palette5 = require("../components/form/InputLabel/palette");
|
|
|
14
14
|
var _palette6 = require("../components/form/PureInput/palette");
|
|
15
15
|
var _palette7 = require("../components/common/Dropdown/palette");
|
|
16
16
|
var _palette8 = require("../components/common/Scrollbar/palette");
|
|
17
|
+
var _palette9 = require("../components/form/Select/palette");
|
|
17
18
|
var PaletteContext = exports.PaletteContext = /*#__PURE__*/(0, _react.createContext)({
|
|
18
19
|
skeleton: (0, _palette.generateSkeletonPalette)(_constants.defaultAbstractPalette),
|
|
19
20
|
invoiceboxSpinner: (0, _palette2.generateInvoiceboxSpinnerPalette)(_constants.defaultAbstractPalette),
|
|
@@ -22,5 +23,6 @@ var PaletteContext = exports.PaletteContext = /*#__PURE__*/(0, _react.createCont
|
|
|
22
23
|
inputLabel: (0, _palette5.generateInputLabelPalette)(_constants.defaultAbstractPalette),
|
|
23
24
|
pureInput: (0, _palette6.generatePureInputPalette)(_constants.defaultAbstractPalette),
|
|
24
25
|
dropdown: (0, _palette7.generateDropdownPalette)(_constants.defaultAbstractPalette),
|
|
25
|
-
scrollbar: (0, _palette8.generateScrollbarPalette)(_constants.defaultAbstractPalette)
|
|
26
|
+
scrollbar: (0, _palette8.generateScrollbarPalette)(_constants.defaultAbstractPalette),
|
|
27
|
+
select: (0, _palette9.generateSelectPalette)(_constants.defaultAbstractPalette)
|
|
26
28
|
});
|
package/dist/palette/provider.js
CHANGED
|
@@ -15,6 +15,7 @@ var _palette5 = require("../components/form/InputLabel/palette");
|
|
|
15
15
|
var _palette6 = require("../components/form/PureInput/palette");
|
|
16
16
|
var _palette7 = require("../components/common/Dropdown/palette");
|
|
17
17
|
var _palette8 = require("../components/common/Scrollbar/palette");
|
|
18
|
+
var _palette9 = require("../components/form/Select/palette");
|
|
18
19
|
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
20
|
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
21
|
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); }
|
|
@@ -62,7 +63,8 @@ var PaletteProvider = exports.PaletteProvider = function PaletteProvider(_ref) {
|
|
|
62
63
|
inputLabel: mergedInputLabelPalette,
|
|
63
64
|
pureInput: mergedPureInputPalette,
|
|
64
65
|
dropdown: (0, _palette7.generateDropdownPalette)(mergedAbstractPalette),
|
|
65
|
-
scrollbar: (0, _palette8.generateScrollbarPalette)(mergedAbstractPalette)
|
|
66
|
+
scrollbar: (0, _palette8.generateScrollbarPalette)(mergedAbstractPalette),
|
|
67
|
+
select: (0, _palette9.generateSelectPalette)(mergedAbstractPalette)
|
|
66
68
|
};
|
|
67
69
|
}, [mergedSkeletonPalette, mergedInvoiceboxSpinnerPalette, mergedSecondaryButtonPalette, mergedArrowPalette, mergedInputLabelPalette, mergedPureInputPalette, mergedAbstractPalette]);
|
|
68
70
|
return /*#__PURE__*/_react["default"].createElement(_context.PaletteContext.Provider, {
|
|
@@ -7,4 +7,5 @@ export declare const usePalette: () => {
|
|
|
7
7
|
pureInput: import("../components/form/PureInput/palette").TPureInputPalette;
|
|
8
8
|
dropdown: import("../components/common/Dropdown/palette").TDropdownPalette;
|
|
9
9
|
scrollbar: import("../components/common/Scrollbar/palette").TScrollbarPalette;
|
|
10
|
+
select: import("../components/form/Select/palette").TSelectPalette;
|
|
10
11
|
};
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|