@ltht-react/select 1.3.152 → 1.3.154
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 -15
- package/lib/index.d.ts +4 -8
- package/lib/index.js +4 -38
- package/lib/index.js.map +1 -1
- package/package.json +6 -6
- package/lib/atoms/option.d.ts +0 -6
- package/lib/atoms/option.js +0 -48
- package/lib/atoms/option.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
# Select
|
|
2
|
-
|
|
3
|
-
<!-- STORY -->
|
|
4
|
-
|
|
5
|
-
### Import
|
|
6
|
-
|
|
7
|
-
```js
|
|
8
|
-
import Select from '@ltht-react/select'
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
### Usage
|
|
12
|
-
|
|
13
|
-
```jsx
|
|
14
|
-
<Select />
|
|
15
|
-
```
|
|
1
|
+
# Select
|
|
2
|
+
|
|
3
|
+
<!-- STORY -->
|
|
4
|
+
|
|
5
|
+
### Import
|
|
6
|
+
|
|
7
|
+
```js
|
|
8
|
+
import Select from '@ltht-react/select'
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
### Usage
|
|
12
|
+
|
|
13
|
+
```jsx
|
|
14
|
+
<Select />
|
|
15
|
+
```
|
package/lib/index.d.ts
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import { FC,
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Option: FC<OptionProps>;
|
|
6
|
-
}
|
|
7
|
-
interface IProps extends HTMLAttributes<HTMLDivElement> {
|
|
8
|
-
activeOption?: string;
|
|
1
|
+
import { FC, OptionHTMLAttributes, SelectHTMLAttributes } from 'react';
|
|
2
|
+
declare const Select: FC<ISelectProps>;
|
|
3
|
+
interface ISelectProps extends SelectHTMLAttributes<HTMLSelectElement> {
|
|
4
|
+
options: OptionHTMLAttributes<HTMLOptionElement>[];
|
|
9
5
|
}
|
|
10
6
|
export default Select;
|
package/lib/index.js
CHANGED
|
@@ -30,47 +30,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
30
30
|
};
|
|
31
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
32
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
33
|
-
var react_1 = require("react");
|
|
34
33
|
var styled_1 = __importDefault(require("@emotion/styled"));
|
|
35
34
|
var styles_1 = require("@ltht-react/styles");
|
|
36
|
-
var
|
|
37
|
-
var option_1 = __importDefault(require("./atoms/option"));
|
|
38
|
-
var StyledSelect = styled_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", ";\n display: flex;\n flex-direction: column;\n position: relative;\n"], ["\n ", ";\n display: flex;\n flex-direction: column;\n position: relative;\n"])), styles_1.CSS_RESET);
|
|
39
|
-
var SelectTrigger = styled_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n justify-content: flex-start;\n align-items: center;\n width: 100%;\n min-height: 32px;\n border: 1px solid black;\n padding: 0.5rem 1rem;\n background: white;\n cursor: pointer;\n\n ", " {\n min-height: 39px;\n }\n"], ["\n display: flex;\n justify-content: flex-start;\n align-items: center;\n width: 100%;\n min-height: 32px;\n border: 1px solid black;\n padding: 0.5rem 1rem;\n background: white;\n cursor: pointer;\n\n ", " {\n min-height: 39px;\n }\n"])), styles_1.DESKTOP_MINIMUM_MEDIA_QUERY);
|
|
40
|
-
var ActiveOption = styled_1.default.span(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n font-weight: bold;\n flex: 1;\n"], ["\n font-weight: bold;\n flex: 1;\n"])));
|
|
41
|
-
var SelectOptions = styled_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n width: 100%;\n display: ", ";\n position: absolute;\n top: 100%;\n left: 0;\n"], ["\n width: 100%;\n display: ", ";\n position: absolute;\n top: 100%;\n left: 0;\n"])), function (_a) {
|
|
42
|
-
var open = _a.open;
|
|
43
|
-
return (open ? 'block' : 'none');
|
|
44
|
-
});
|
|
35
|
+
var StyledSelect = styled_1.default.select(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", "\n height:100%;\n width: 100%;\n color: black;\n\n option:disabled {\n display: none;\n }\n"], ["\n ", "\n height:100%;\n width: 100%;\n color: black;\n\n option:disabled {\n display: none;\n }\n"])), styles_1.inputBaseStyles);
|
|
45
36
|
var Select = function (_a) {
|
|
46
|
-
var
|
|
47
|
-
|
|
48
|
-
var selectRef = react_1.useRef(null);
|
|
49
|
-
var handleOnEscapeKey = function (e) {
|
|
50
|
-
// IE11 has the key of 'Esc'
|
|
51
|
-
if (e.key === 'Escape' || e.key === 'Esc') {
|
|
52
|
-
setOpen(false);
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
var handleOutsideClick = function (e) {
|
|
56
|
-
if (selectRef.current && !selectRef.current.contains(e.target)) {
|
|
57
|
-
setOpen(false);
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
react_1.useEffect(function () {
|
|
61
|
-
document.addEventListener('keydown', handleOnEscapeKey, true);
|
|
62
|
-
document.addEventListener('click', handleOutsideClick, true);
|
|
63
|
-
// Cleanup
|
|
64
|
-
return function () {
|
|
65
|
-
document.removeEventListener('keydown', handleOnEscapeKey, true);
|
|
66
|
-
document.removeEventListener('click', handleOutsideClick, true);
|
|
67
|
-
};
|
|
68
|
-
});
|
|
69
|
-
return (jsx_runtime_1.jsxs(StyledSelect, __assign({}, rest, { ref: selectRef }, { children: [jsx_runtime_1.jsxs(SelectTrigger, __assign({ "data-testid": "select-trigger", onClick: function () { return setOpen(function (open) { return !open; }); } }, { children: [jsx_runtime_1.jsx(ActiveOption, __assign({ "data-testid": "select-active-option" }, { children: activeOption }), void 0),
|
|
70
|
-
jsx_runtime_1.jsx(icon_1.ChevronIcon, { direction: open ? 'up' : 'down', size: "small" }, void 0)] }), void 0),
|
|
71
|
-
jsx_runtime_1.jsx(SelectOptions, __assign({ "data-testid": "select-options", open: open, onClick: function () { return setOpen(false); } }, { children: children }), void 0)] }), void 0));
|
|
37
|
+
var onChange = _a.onChange, options = _a.options, value = _a.value, rest = __rest(_a, ["onChange", "options", "value"]);
|
|
38
|
+
return (jsx_runtime_1.jsx(StyledSelect, __assign({ required: true, onChange: function (e) { return onChange && onChange(e); }, value: value }, rest, { children: options.map(function (item, key) { return (jsx_runtime_1.jsx("option", __assign({ value: item.value }, { children: item.label }), key)); }) }), void 0));
|
|
72
39
|
};
|
|
73
|
-
Select.Option = option_1.default;
|
|
74
40
|
exports.default = Select;
|
|
75
|
-
var templateObject_1
|
|
41
|
+
var templateObject_1;
|
|
76
42
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2DAAoC;AACpC,6CAAoD;AAEpD,IAAM,YAAY,GAAG,gBAAM,CAAC,MAAM,gLAAA,MAC9B,EAAe,qGAQlB,KARG,wBAAe,CAQlB,CAAA;AAED,IAAM,MAAM,GAAqB,UAAC,EAAqC;IAAnC,IAAA,QAAQ,cAAA,EAAE,OAAO,aAAA,EAAE,KAAK,WAAA,EAAK,IAAI,cAAnC,gCAAqC,CAAF;IAAO,OAAA,CAC1E,kBAAC,YAAY,aAAC,QAAQ,QAAC,QAAQ,EAAE,UAAC,CAAC,IAAK,OAAA,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAvB,CAAuB,EAAE,KAAK,EAAE,KAAK,IAAM,IAAI,cACpF,OAAO,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,GAAG,IAAK,OAAA,CAC1B,uCAAkB,KAAK,EAAE,IAAI,CAAC,KAAK,gBAChC,IAAI,CAAC,KAAK,KADA,GAAG,CAEP,CACV,EAJ2B,CAI3B,CAAC,YACW,CAChB,CAAA;CAAA,CAAA;AAMD,kBAAe,MAAM,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ltht-react/select",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.154",
|
|
4
4
|
"description": "ltht-react atoms Select component.",
|
|
5
5
|
"author": "LTHT",
|
|
6
6
|
"homepage": "",
|
|
@@ -27,11 +27,11 @@
|
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@emotion/react": "^11.0.0",
|
|
29
29
|
"@emotion/styled": "^11.0.0",
|
|
30
|
-
"@ltht-react/icon": "^1.3.
|
|
31
|
-
"@ltht-react/styles": "^1.3.
|
|
32
|
-
"@ltht-react/types": "^1.0.
|
|
33
|
-
"@ltht-react/utils": "^1.1.
|
|
30
|
+
"@ltht-react/icon": "^1.3.154",
|
|
31
|
+
"@ltht-react/styles": "^1.3.146",
|
|
32
|
+
"@ltht-react/types": "^1.0.150",
|
|
33
|
+
"@ltht-react/utils": "^1.1.152",
|
|
34
34
|
"react": "^17.0.0"
|
|
35
35
|
},
|
|
36
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "abd34475b9d9fa3a8206fe8fcc761060ae723ee1"
|
|
37
37
|
}
|
package/lib/atoms/option.d.ts
DELETED
package/lib/atoms/option.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
-
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
-
return cooked;
|
|
5
|
-
};
|
|
6
|
-
var __assign = (this && this.__assign) || function () {
|
|
7
|
-
__assign = Object.assign || function(t) {
|
|
8
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
9
|
-
s = arguments[i];
|
|
10
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
11
|
-
t[p] = s[p];
|
|
12
|
-
}
|
|
13
|
-
return t;
|
|
14
|
-
};
|
|
15
|
-
return __assign.apply(this, arguments);
|
|
16
|
-
};
|
|
17
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
18
|
-
var t = {};
|
|
19
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
20
|
-
t[p] = s[p];
|
|
21
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
22
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
23
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
24
|
-
t[p[i]] = s[p[i]];
|
|
25
|
-
}
|
|
26
|
-
return t;
|
|
27
|
-
};
|
|
28
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
29
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
30
|
-
};
|
|
31
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
|
-
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
33
|
-
var styled_1 = __importDefault(require("@emotion/styled"));
|
|
34
|
-
var styles_1 = require("@ltht-react/styles");
|
|
35
|
-
var StyledOption = styled_1.default.span(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n width: 100%;\n display: block;\n border: 1px solid black;\n border-top: 0;\n padding: 0.5rem 1rem;\n background: ", ";\n cursor: pointer;\n font-weight: ", ";\n transition: all 0.2s ease-in-out;\n\n &:hover {\n background-color: ", ";\n }\n"], ["\n width: 100%;\n display: block;\n border: 1px solid black;\n border-top: 0;\n padding: 0.5rem 1rem;\n background: ", ";\n cursor: pointer;\n font-weight: ", ";\n transition: all 0.2s ease-in-out;\n\n &:hover {\n background-color: ", ";\n }\n"])), function (_a) {
|
|
36
|
-
var active = _a.active;
|
|
37
|
-
return (active ? "" + styles_1.SELECT_COLOURS.OPTION_SELECTED : 'white');
|
|
38
|
-
}, function (_a) {
|
|
39
|
-
var active = _a.active;
|
|
40
|
-
return (active ? 'bold' : 'normal');
|
|
41
|
-
}, styles_1.SELECT_COLOURS.OPTION_HOVER);
|
|
42
|
-
var Option = function (_a) {
|
|
43
|
-
var children = _a.children, _b = _a.active, active = _b === void 0 ? false : _b, rest = __rest(_a, ["children", "active"]);
|
|
44
|
-
return (jsx_runtime_1.jsx(StyledOption, __assign({ active: active }, rest, { children: children }), void 0));
|
|
45
|
-
};
|
|
46
|
-
exports.default = Option;
|
|
47
|
-
var templateObject_1;
|
|
48
|
-
//# sourceMappingURL=option.js.map
|
package/lib/atoms/option.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"option.js","sourceRoot":"","sources":["../../src/atoms/option.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2DAAoC;AACpC,6CAAmD;AAEnD,IAAM,YAAY,GAAG,gBAAM,CAAC,IAAI,sUAAe,4HAM/B,EAAwE,wCAEvE,EAA4C,+EAIrC,EAA2B,UAElD,KARe,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,CAAC,MAAM,CAAC,CAAC,CAAC,KAAG,uBAAc,CAAC,eAAiB,CAAC,CAAC,CAAC,OAAO,CAAC;AAAxD,CAAwD,EAEvE,UAAC,EAAU;QAAR,MAAM,YAAA;IAAO,OAAA,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AAA5B,CAA4B,EAIrC,uBAAc,CAAC,YAAY,CAElD,CAAA;AAED,IAAM,MAAM,GAAe,UAAC,EAAqC;IAAnC,IAAA,QAAQ,cAAA,EAAE,cAAc,EAAd,MAAM,mBAAG,KAAK,KAAA,EAAK,IAAI,cAAnC,sBAAqC,CAAF;IAAO,OAAA,CACpE,kBAAC,YAAY,aAAC,MAAM,EAAE,MAAM,IAAM,IAAI,cACnC,QAAQ,YACI,CAChB,CAAA;CAAA,CAAA;AAUD,kBAAe,MAAM,CAAA"}
|