@ltht-react/select 1.3.147 → 1.3.149

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.
@@ -0,0 +1,6 @@
1
+ import { FC, HTMLAttributes } from 'react';
2
+ declare const Option: FC<IProps>;
3
+ export interface IProps extends HTMLAttributes<HTMLSpanElement> {
4
+ active: boolean;
5
+ }
6
+ export default Option;
@@ -0,0 +1,48 @@
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
@@ -0,0 +1 @@
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"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ import { FC, HTMLAttributes } from 'react';
2
+ import { IProps as OptionProps } from './atoms/option';
3
+ declare const Select: FC<IProps> & SelectComposition;
4
+ interface SelectComposition {
5
+ Option: FC<OptionProps>;
6
+ }
7
+ interface IProps extends HTMLAttributes<HTMLDivElement> {
8
+ activeOption?: string;
9
+ }
10
+ export default Select;
package/lib/index.js ADDED
@@ -0,0 +1,76 @@
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 react_1 = require("react");
34
+ var styled_1 = __importDefault(require("@emotion/styled"));
35
+ var styles_1 = require("@ltht-react/styles");
36
+ var icon_1 = require("@ltht-react/icon");
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
+ });
45
+ var Select = function (_a) {
46
+ var children = _a.children, _b = _a.activeOption, activeOption = _b === void 0 ? '' : _b, rest = __rest(_a, ["children", "activeOption"]);
47
+ var _c = react_1.useState(false), open = _c[0], setOpen = _c[1];
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));
72
+ };
73
+ Select.Option = option_1.default;
74
+ exports.default = Select;
75
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
76
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAuE;AACvE,2DAAoC;AACpC,6CAA2E;AAC3E,yCAA8C;AAE9C,0DAA8D;AAE9D,IAAM,YAAY,GAAG,gBAAM,CAAC,GAAG,oJAAA,MAC3B,EAAS,yEAIZ,KAJG,kBAAS,CAIZ,CAAA;AAED,IAAM,aAAa,GAAG,gBAAM,CAAC,GAAG,6TAAA,sNAW5B,EAA2B,kCAG9B,KAHG,oCAA2B,CAG9B,CAAA;AAED,IAAM,YAAY,GAAG,gBAAM,CAAC,IAAI,yGAAA,sCAG/B,IAAA,CAAA;AAED,IAAM,aAAa,GAAG,gBAAM,CAAC,GAAG,0JAAgB,+BAEnC,EAAuC,sDAInD,KAJY,UAAC,EAAQ;QAAN,IAAI,UAAA;IAAO,OAAA,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AAAzB,CAAyB,CAInD,CAAA;AAED,IAAM,MAAM,GAAmC,UAAC,EAAwC;IAAtC,IAAA,QAAQ,cAAA,EAAE,oBAAiB,EAAjB,YAAY,mBAAG,EAAE,KAAA,EAAK,IAAI,cAAtC,4BAAwC,CAAF;IAC9E,IAAA,KAAkB,gBAAQ,CAAC,KAAK,CAAC,EAAhC,IAAI,QAAA,EAAE,OAAO,QAAmB,CAAA;IACvC,IAAM,SAAS,GAAG,cAAM,CAAiB,IAAI,CAAC,CAAA;IAE9C,IAAM,iBAAiB,GAAG,UAAC,CAAgB;QACzC,4BAA4B;QAC5B,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,EAAE;YACzC,OAAO,CAAC,KAAK,CAAC,CAAA;SACf;IACH,CAAC,CAAA;IAED,IAAM,kBAAkB,GAAG,UAAC,CAAa;QACvC,IAAI,SAAS,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,EAAE;YACtE,OAAO,CAAC,KAAK,CAAC,CAAA;SACf;IACH,CAAC,CAAA;IAED,iBAAS,CAAC;QACR,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAA;QAC7D,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAA;QAE5D,UAAU;QACV,OAAO;YACL,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAA;YAChE,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAA;QACjE,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,CACL,mBAAC,YAAY,eAAK,IAAI,IAAE,GAAG,EAAE,SAAS,iBACpC,mBAAC,aAAa,4BAAa,gBAAgB,EAAC,OAAO,EAAE,cAAM,OAAA,OAAO,CAAC,UAAC,IAAI,IAAK,OAAA,CAAC,IAAI,EAAL,CAAK,CAAC,EAAxB,CAAwB,iBACjF,kBAAC,YAAY,4BAAa,sBAAsB,gBAAE,YAAY,YAAgB;oBAC9E,kBAAC,kBAAW,IAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAC,OAAO,WAAG,aAC/C;YAChB,kBAAC,aAAa,4BAAa,gBAAgB,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,cAAM,OAAA,OAAO,CAAC,KAAK,CAAC,EAAd,CAAc,gBAClF,QAAQ,YACK,aACH,CAChB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,GAAG,gBAAM,CAAA;AActB,kBAAe,MAAM,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ltht-react/select",
3
- "version": "1.3.147",
3
+ "version": "1.3.149",
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.147",
31
- "@ltht-react/styles": "^1.3.139",
32
- "@ltht-react/types": "^1.0.143",
33
- "@ltht-react/utils": "^1.1.145",
30
+ "@ltht-react/icon": "^1.3.149",
31
+ "@ltht-react/styles": "^1.3.141",
32
+ "@ltht-react/types": "^1.0.145",
33
+ "@ltht-react/utils": "^1.1.147",
34
34
  "react": "^17.0.0"
35
35
  },
36
- "gitHead": "1ac20069f8b41b756197d507839383a7fd53daf1"
36
+ "gitHead": "246a8d47057a859c4a0bea7d618afee2229b7d70"
37
37
  }