@laerdal/life-react-components 1.4.1-dev.22.full → 1.4.1-dev.24.full
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/Banners/Banner.cjs +83 -184
- package/dist/Banners/Banner.cjs.map +1 -1
- package/dist/Banners/Banner.d.ts +1 -0
- package/dist/Banners/Banner.js +83 -188
- package/dist/Banners/Banner.js.map +1 -1
- package/dist/Banners/styles.cjs +43 -7
- package/dist/Banners/styles.cjs.map +1 -1
- package/dist/Banners/styles.js +43 -7
- package/dist/Banners/styles.js.map +1 -1
- package/dist/Button/Button.cjs +27 -101
- package/dist/Button/Button.cjs.map +1 -1
- package/dist/Button/Button.js +27 -101
- package/dist/Button/Button.js.map +1 -1
- package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
- package/dist/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/Dropdown/ChipDropdownInput.cjs +2 -6
- package/dist/Dropdown/ChipDropdownInput.cjs.map +1 -1
- package/dist/Dropdown/ChipDropdownInput.js +2 -4
- package/dist/Dropdown/ChipDropdownInput.js.map +1 -1
- package/dist/Dropdown/CommonStyling.cjs +3 -17
- package/dist/Dropdown/CommonStyling.cjs.map +1 -1
- package/dist/Dropdown/CommonStyling.d.ts +0 -5
- package/dist/Dropdown/CommonStyling.js +3 -10
- package/dist/Dropdown/CommonStyling.js.map +1 -1
- package/dist/Dropdown/DropdownContent.cjs +18 -52
- package/dist/Dropdown/DropdownContent.cjs.map +1 -1
- package/dist/Dropdown/DropdownContent.js +19 -54
- package/dist/Dropdown/DropdownContent.js.map +1 -1
- package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
- package/dist/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/MenuItem/MenuItem.cjs +104 -0
- package/dist/MenuItem/MenuItem.cjs.map +1 -0
- package/dist/MenuItem/MenuItem.d.ts +21 -0
- package/dist/MenuItem/MenuItem.js +64 -0
- package/dist/MenuItem/MenuItem.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = exports.ItemLabel = exports.ItemIconOld = exports.ItemIcon = exports.ItemContent = exports.DropdownButtonCSS = exports.DropdownButton = void 0;
|
|
11
|
+
|
|
12
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
+
|
|
14
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
+
|
|
16
|
+
var React = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
18
|
+
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
19
|
+
|
|
20
|
+
var _styles = require("../styles");
|
|
21
|
+
|
|
22
|
+
var _types = require("../types");
|
|
23
|
+
|
|
24
|
+
var _typography = require("../styles/typography");
|
|
25
|
+
|
|
26
|
+
var _common = require("../common");
|
|
27
|
+
|
|
28
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
29
|
+
|
|
30
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
31
|
+
|
|
32
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
|
+
|
|
34
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
|
+
|
|
36
|
+
var DropdownButton = _styledComponents.default.button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n"])), function (props) {
|
|
37
|
+
return DropdownButtonCSS(props.size);
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
exports.DropdownButton = DropdownButton;
|
|
41
|
+
|
|
42
|
+
var ItemLabel = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)([""])));
|
|
43
|
+
|
|
44
|
+
exports.ItemLabel = ItemLabel;
|
|
45
|
+
|
|
46
|
+
var ItemIcon = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)([""])));
|
|
47
|
+
|
|
48
|
+
exports.ItemIcon = ItemIcon;
|
|
49
|
+
|
|
50
|
+
var ItemIconOld = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)([""])));
|
|
51
|
+
|
|
52
|
+
exports.ItemIconOld = ItemIconOld;
|
|
53
|
+
|
|
54
|
+
var ItemContent = _styledComponents.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n margin: auto 0 auto 16px;\n display: flex;\n align-items: center;\n\n ", " {\n flex: 1 0 calc(100% - 40px); \n }\n\n ", " {\n margin-right: 6px;\n svg {\n display: block;\n margin: auto;\n }\n }\n ", " {\n flex: 1 0 40px;\n display: flex;\n justify-content: flex-end;\n }\n"])), ItemLabel, ItemIcon, ItemIconOld);
|
|
55
|
+
|
|
56
|
+
exports.ItemContent = ItemContent;
|
|
57
|
+
|
|
58
|
+
var DropdownButtonCSS = function DropdownButtonCSS(size) {
|
|
59
|
+
return (0, _styledComponents.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n ", "\n ", "\n\n position: relative;\n text-decoration: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n min-height: ", ";\n background-color: ", ";\n border: none;\n cursor: pointer;\n background: transparent;\n width: 100%;\n text-align: left;\n\n span {\n margin: auto 0 auto 16px;\n line-height: 48px;\n }\n\n ", ";\n\n &.active {\n background: ", ";\n\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: 2px;\n background-color: ", ";\n\n border-radius: 2px;\n }\n }\n\n &:disabled {\n background-color: transparent;\n cursor: not-allowed;\n color: ", ";\n }\n\n &.active:hover {\n background-color: ", ";\n\n svg {\n color: ", ";\n }\n\n &::after {\n background-color: ", ";\n }\n }\n\n &.active:active {\n background-color: ", ";\n\n svg {\n color: ", ";\n }\n\n &::after {\n background-color: ", ";\n }\n }\n "])), size == _types.Size.Small && (0, _typography.ComponentSStyling)(_styles.ComponentTextStyle.Regular, _styles.COLORS.neutral_600), size == _types.Size.Medium && (0, _typography.ComponentMStyling)(_styles.ComponentTextStyle.Regular, _styles.COLORS.neutral_600), size == _types.Size.Large && (0, _typography.ComponentLStyling)(_styles.ComponentTextStyle.Regular, _styles.COLORS.neutral_600), size == _types.Size.Large ? '64px' : size == _types.Size.Medium ? '56px' : '48px', _styles.COLORS.white, _common.CommonInteractionStyling, _styles.COLORS.neutral_20, _styles.COLORS.primary_500, _styles.COLORS.neutral_200, _styles.COLORS.primary_20, _styles.COLORS.primary_600, _styles.COLORS.primary_500, _styles.COLORS.primary_100, _styles.COLORS.primary_800, _styles.COLORS.primary_500);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
exports.DropdownButtonCSS = DropdownButtonCSS;
|
|
63
|
+
var MenuItem = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
64
|
+
var _item$displayLabel;
|
|
65
|
+
|
|
66
|
+
var active = _ref.active,
|
|
67
|
+
item = _ref.item,
|
|
68
|
+
onClickHandler = _ref.onClickHandler,
|
|
69
|
+
key = _ref.key,
|
|
70
|
+
size = _ref.size,
|
|
71
|
+
id = _ref.id;
|
|
72
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(DropdownButton, {
|
|
73
|
+
type: "button",
|
|
74
|
+
size: size,
|
|
75
|
+
disabled: item.disabled,
|
|
76
|
+
ref: ref,
|
|
77
|
+
onClick: onClickHandler,
|
|
78
|
+
className: (item.showDividerAbove ? 'show-divider-above' : '') + ' ' + (active ? 'active' : ''),
|
|
79
|
+
id: id,
|
|
80
|
+
children: [item.showDividerAbove && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
81
|
+
className: "divider"
|
|
82
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(ItemContent, {
|
|
83
|
+
children: [item.icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(ItemIcon, {
|
|
84
|
+
children: item.icon
|
|
85
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(ItemLabel, {
|
|
86
|
+
children: [(_item$displayLabel = item.displayLabel) !== null && _item$displayLabel !== void 0 ? _item$displayLabel : item.value, item.noteLabel && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
87
|
+
style: {
|
|
88
|
+
fontSize: '12px'
|
|
89
|
+
},
|
|
90
|
+
children: item.noteLabel
|
|
91
|
+
})]
|
|
92
|
+
})]
|
|
93
|
+
})]
|
|
94
|
+
}, key);
|
|
95
|
+
});
|
|
96
|
+
MenuItem.propTypes = {
|
|
97
|
+
onClickHandler: _propTypes.default.func.isRequired,
|
|
98
|
+
active: _propTypes.default.bool.isRequired,
|
|
99
|
+
id: _propTypes.default.string.isRequired,
|
|
100
|
+
key: _propTypes.default.string.isRequired
|
|
101
|
+
};
|
|
102
|
+
var _default = MenuItem;
|
|
103
|
+
exports.default = _default;
|
|
104
|
+
//# sourceMappingURL=MenuItem.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/MenuItem/MenuItem.tsx"],"names":["DropdownButton","styled","button","props","DropdownButtonCSS","size","ItemLabel","div","ItemIcon","ItemIconOld","ItemContent","css","Size","Small","ComponentTextStyle","Regular","COLORS","neutral_600","Medium","Large","white","CommonInteractionStyling","neutral_20","primary_500","neutral_200","primary_20","primary_600","primary_100","primary_800","MenuItem","React","forwardRef","ref","active","item","onClickHandler","key","id","disabled","showDividerAbove","icon","displayLabel","value","noteLabel","fontSize"],"mappings":";;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AAEA;;AACA;;AAEA;;;;;;;;;;AAWO,IAAMA,cAAc,GAAGC,0BAAOC,MAAV,8FACvB,UAACC,KAAD;AAAA,SAAWC,iBAAiB,CAACD,KAAK,CAACE,IAAP,CAA5B;AAAA,CADuB,CAApB;;;;AAIA,IAAMC,SAAS,GAAGL,0BAAOM,GAAV,qFAAf;;;;AACA,IAAMC,QAAQ,GAAGP,0BAAOM,GAAV,qFAAd;;;;AACA,IAAME,WAAW,GAAGR,0BAAOM,GAAV,qFAAjB;;;;AAEA,IAAMG,WAAW,GAAGT,0BAAOM,GAAV,ybAKlBD,SALkB,EASlBE,QATkB,EAgBlBC,WAhBkB,CAAjB;;;;AAuBA,IAAML,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,IAAD,EAAiB;AAChD,aAAOM,qBAAP,gtCACIN,IAAI,IAAIO,YAAKC,KAAb,IAAsB,mCAAkBC,2BAAmBC,OAArC,EAA8CC,eAAOC,WAArD,CAD1B,EAEIZ,IAAI,IAAIO,YAAKM,MAAb,IAAuB,mCAAkBJ,2BAAmBC,OAArC,EAA8CC,eAAOC,WAArD,CAF3B,EAGIZ,IAAI,IAAIO,YAAKO,KAAb,IAAsB,mCAAkBL,2BAAmBC,OAArC,EAA8CC,eAAOC,WAArD,CAH1B,EAUgBZ,IAAI,IAAIO,YAAKO,KAAb,GAAqB,MAArB,GAA8Bd,IAAI,IAAIO,YAAKM,MAAb,GAAsB,MAAtB,GAA+B,MAV7E,EAWsBF,eAAOI,KAX7B,EAuBIC,gCAvBJ,EA0BkBL,eAAOM,UA1BzB,EAmC0BN,eAAOO,WAnCjC,EA4CaP,eAAOQ,WA5CpB,EAgDwBR,eAAOS,UAhD/B,EAmDeT,eAAOU,WAnDtB,EAuD0BV,eAAOO,WAvDjC,EA4DwBP,eAAOW,WA5D/B,EA+DeX,eAAOY,WA/DtB,EAmE0BZ,eAAOO,WAnEjC;AAuED,CAxEM;;;AA0EP,IAAMM,QAAQ,gBAAGC,KAAK,CAACC,UAAN,CAAmD,gBAM3CC,GAN2C,EAMnC;AAAA;;AAAA,MAL7BC,MAK6B,QAL7BA,MAK6B;AAAA,MAJ7BC,IAI6B,QAJ7BA,IAI6B;AAAA,MAH7BC,cAG6B,QAH7BA,cAG6B;AAAA,MAF7BC,GAE6B,QAF7BA,GAE6B;AAAA,MAD7B/B,IAC6B,QAD7BA,IAC6B;AAAA,MAA7BgC,EAA6B,QAA7BA,EAA6B;AAC/B,sBACE,sBAAC,cAAD;AACI,IAAA,IAAI,EAAC,QADT;AAEI,IAAA,IAAI,EAAEhC,IAFV;AAGI,IAAA,QAAQ,EAAE6B,IAAI,CAACI,QAHnB;AAII,IAAA,GAAG,EAAEN,GAJT;AAKI,IAAA,OAAO,EAAEG,cALb;AAMI,IAAA,SAAS,EAAG,CAACD,IAAI,CAACK,gBAAL,GAAwB,oBAAxB,GAA+C,EAAhD,IAAsD,GAAtD,IAA6DN,MAAM,GAAG,QAAH,GAAc,EAAjF,CANhB;AAQI,IAAA,EAAE,EAAEI,EARR;AAAA,eASKH,IAAI,CAACK,gBAAL,iBAAyB;AAAK,MAAA,SAAS,EAAC;AAAf,MAT9B,eAUI,sBAAC,WAAD;AAAA,iBACGL,IAAI,CAACM,IAAL,iBAAa,qBAAC,QAAD;AAAA,kBAAWN,IAAI,CAACM;AAAhB,QADhB,eAEE,sBAAC,SAAD;AAAA,yCACKN,IAAI,CAACO,YADV,mEAC0BP,IAAI,CAACQ,KAD/B,EAEKR,IAAI,CAACS,SAAL,iBAAkB;AAAK,UAAA,KAAK,EAAE;AAAEC,YAAAA,QAAQ,EAAE;AAAZ,WAAZ;AAAA,oBAAmCV,IAAI,CAACS;AAAxC,UAFvB;AAAA,QAFF;AAAA,MAVJ;AAAA,KAOSP,GAPT,CADF;AAoBD,CA3BgB,CAAjB;;AAhHGD,EAAAA,c;AACAF,EAAAA,M;AACAI,EAAAA,E;AACAD,EAAAA,G;;eA0IYP,Q","sourcesContent":["import * as React from 'react';\nimport {Link} from 'react-router-dom';\nimport styled, { css } from 'styled-components';\nimport {BREAKPOINTS, COLORS, ComponentTextStyle} from '../styles';\nimport {ChevronRight} from '../icons/systemicons/SystemIcons';\nimport {Product, Size} from '../types';\nimport {ComponentLStyling, ComponentMStyling, ComponentSStyling} from '../styles/typography';\nimport { DropdownItem } from '../Dropdown/DropdownContent';\nimport { CommonInteractionStyling } from '../common';\n\nexport interface MenuItemProps {\n item: DropdownItem;\n onClickHandler: (e: any) => void;\n active: boolean;\n id: string;\n key: string;\n size?: Size;\n}\n\nexport const DropdownButton = styled.button<{ size?: Size }>`\n ${(props) => DropdownButtonCSS(props.size)}\n`;\n\nexport const ItemLabel = styled.div``;\nexport const ItemIcon = styled.div``;\nexport const ItemIconOld = styled.div``;\n\nexport const ItemContent = styled.div`\n margin: auto 0 auto 16px;\n display: flex;\n align-items: center;\n\n ${ItemLabel} {\n flex: 1 0 calc(100% - 40px); \n }\n\n ${ItemIcon} {\n margin-right: 6px;\n svg {\n display: block;\n margin: auto;\n }\n }\n ${ItemIconOld} {\n flex: 1 0 40px;\n display: flex;\n justify-content: flex-end;\n }\n`;\n\nexport const DropdownButtonCSS = (size?: Size) => {\n return css`\n ${size == Size.Small && ComponentSStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n ${size == Size.Medium && ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n ${size == Size.Large && ComponentLStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n position: relative;\n text-decoration: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n min-height: ${size == Size.Large ? '64px' : size == Size.Medium ? '56px' : '48px'};\n background-color: ${COLORS.white};\n border: none;\n cursor: pointer;\n background: transparent;\n width: 100%;\n text-align: left;\n\n span {\n margin: auto 0 auto 16px;\n line-height: 48px;\n }\n\n ${CommonInteractionStyling};\n\n &.active {\n background: ${COLORS.neutral_20};\n\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: 2px;\n background-color: ${COLORS.primary_500};\n\n border-radius: 2px;\n }\n }\n\n &:disabled {\n background-color: transparent;\n cursor: not-allowed;\n color: ${COLORS.neutral_200};\n }\n\n &.active:hover {\n background-color: ${COLORS.primary_20};\n\n svg {\n color: ${COLORS.primary_600};\n }\n\n &::after {\n background-color: ${COLORS.primary_500};\n }\n }\n\n &.active:active {\n background-color: ${COLORS.primary_100};\n\n svg {\n color: ${COLORS.primary_800};\n }\n\n &::after {\n background-color: ${COLORS.primary_500};\n }\n }\n `;\n};\n\nconst MenuItem = React.forwardRef<HTMLButtonElement, MenuItemProps>(({\n active,\n item,\n onClickHandler,\n key,\n size,\n id }: MenuItemProps, ref) => {\n return (\n <DropdownButton\n type=\"button\"\n size={size}\n disabled={item.disabled}\n ref={ref}\n onClick={onClickHandler}\n className={ (item.showDividerAbove ? 'show-divider-above' : '') + ' ' + (active ? 'active' : '')}\n key={key}\n id={id}>\n {item.showDividerAbove && <div className=\"divider\" />}\n <ItemContent>\n {item.icon && <ItemIcon>{item.icon}</ItemIcon>}\n <ItemLabel>\n {item.displayLabel ?? item.value}\n {item.noteLabel && <div style={{ fontSize: '12px' }}>{item.noteLabel}</div>}\n </ItemLabel>\n </ItemContent>\n </DropdownButton>\n );\n});\n\nexport default MenuItem;\n"],"file":"MenuItem.cjs"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Size } from '../types';
|
|
3
|
+
import { DropdownItem } from '../Dropdown/DropdownContent';
|
|
4
|
+
export interface MenuItemProps {
|
|
5
|
+
item: DropdownItem;
|
|
6
|
+
onClickHandler: (e: any) => void;
|
|
7
|
+
active: boolean;
|
|
8
|
+
id: string;
|
|
9
|
+
key: string;
|
|
10
|
+
size?: Size;
|
|
11
|
+
}
|
|
12
|
+
export declare const DropdownButton: import("styled-components").StyledComponent<"button", any, {
|
|
13
|
+
size?: Size | undefined;
|
|
14
|
+
}, never>;
|
|
15
|
+
export declare const ItemLabel: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
16
|
+
export declare const ItemIcon: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
17
|
+
export declare const ItemIconOld: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
18
|
+
export declare const ItemContent: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
19
|
+
export declare const DropdownButtonCSS: (size?: Size | undefined) => import("styled-components").FlattenSimpleInterpolation;
|
|
20
|
+
declare const MenuItem: React.ForwardRefExoticComponent<MenuItemProps & React.RefAttributes<HTMLButtonElement>>;
|
|
21
|
+
export default MenuItem;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
|
|
2
|
+
import _pt from "prop-types";
|
|
3
|
+
|
|
4
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
5
|
+
|
|
6
|
+
import * as React from 'react';
|
|
7
|
+
import styled, { css } from 'styled-components';
|
|
8
|
+
import { COLORS, ComponentTextStyle } from '../styles';
|
|
9
|
+
import { Size } from '../types';
|
|
10
|
+
import { ComponentLStyling, ComponentMStyling, ComponentSStyling } from '../styles/typography';
|
|
11
|
+
import { CommonInteractionStyling } from '../common';
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
+
export var DropdownButton = styled.button(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", "\n"])), function (props) {
|
|
15
|
+
return DropdownButtonCSS(props.size);
|
|
16
|
+
});
|
|
17
|
+
export var ItemLabel = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([""])));
|
|
18
|
+
export var ItemIcon = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([""])));
|
|
19
|
+
export var ItemIconOld = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([""])));
|
|
20
|
+
export var ItemContent = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n margin: auto 0 auto 16px;\n display: flex;\n align-items: center;\n\n ", " {\n flex: 1 0 calc(100% - 40px); \n }\n\n ", " {\n margin-right: 6px;\n svg {\n display: block;\n margin: auto;\n }\n }\n ", " {\n flex: 1 0 40px;\n display: flex;\n justify-content: flex-end;\n }\n"])), ItemLabel, ItemIcon, ItemIconOld);
|
|
21
|
+
export var DropdownButtonCSS = function DropdownButtonCSS(size) {
|
|
22
|
+
return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n ", "\n ", "\n ", "\n\n position: relative;\n text-decoration: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n min-height: ", ";\n background-color: ", ";\n border: none;\n cursor: pointer;\n background: transparent;\n width: 100%;\n text-align: left;\n\n span {\n margin: auto 0 auto 16px;\n line-height: 48px;\n }\n\n ", ";\n\n &.active {\n background: ", ";\n\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: 2px;\n background-color: ", ";\n\n border-radius: 2px;\n }\n }\n\n &:disabled {\n background-color: transparent;\n cursor: not-allowed;\n color: ", ";\n }\n\n &.active:hover {\n background-color: ", ";\n\n svg {\n color: ", ";\n }\n\n &::after {\n background-color: ", ";\n }\n }\n\n &.active:active {\n background-color: ", ";\n\n svg {\n color: ", ";\n }\n\n &::after {\n background-color: ", ";\n }\n }\n "])), size == Size.Small && ComponentSStyling(ComponentTextStyle.Regular, COLORS.neutral_600), size == Size.Medium && ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600), size == Size.Large && ComponentLStyling(ComponentTextStyle.Regular, COLORS.neutral_600), size == Size.Large ? '64px' : size == Size.Medium ? '56px' : '48px', COLORS.white, CommonInteractionStyling, COLORS.neutral_20, COLORS.primary_500, COLORS.neutral_200, COLORS.primary_20, COLORS.primary_600, COLORS.primary_500, COLORS.primary_100, COLORS.primary_800, COLORS.primary_500);
|
|
23
|
+
};
|
|
24
|
+
var MenuItem = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
25
|
+
var _item$displayLabel;
|
|
26
|
+
|
|
27
|
+
var active = _ref.active,
|
|
28
|
+
item = _ref.item,
|
|
29
|
+
onClickHandler = _ref.onClickHandler,
|
|
30
|
+
key = _ref.key,
|
|
31
|
+
size = _ref.size,
|
|
32
|
+
id = _ref.id;
|
|
33
|
+
return /*#__PURE__*/_jsxs(DropdownButton, {
|
|
34
|
+
type: "button",
|
|
35
|
+
size: size,
|
|
36
|
+
disabled: item.disabled,
|
|
37
|
+
ref: ref,
|
|
38
|
+
onClick: onClickHandler,
|
|
39
|
+
className: (item.showDividerAbove ? 'show-divider-above' : '') + ' ' + (active ? 'active' : ''),
|
|
40
|
+
id: id,
|
|
41
|
+
children: [item.showDividerAbove && /*#__PURE__*/_jsx("div", {
|
|
42
|
+
className: "divider"
|
|
43
|
+
}), /*#__PURE__*/_jsxs(ItemContent, {
|
|
44
|
+
children: [item.icon && /*#__PURE__*/_jsx(ItemIcon, {
|
|
45
|
+
children: item.icon
|
|
46
|
+
}), /*#__PURE__*/_jsxs(ItemLabel, {
|
|
47
|
+
children: [(_item$displayLabel = item.displayLabel) !== null && _item$displayLabel !== void 0 ? _item$displayLabel : item.value, item.noteLabel && /*#__PURE__*/_jsx("div", {
|
|
48
|
+
style: {
|
|
49
|
+
fontSize: '12px'
|
|
50
|
+
},
|
|
51
|
+
children: item.noteLabel
|
|
52
|
+
})]
|
|
53
|
+
})]
|
|
54
|
+
})]
|
|
55
|
+
}, key);
|
|
56
|
+
});
|
|
57
|
+
MenuItem.propTypes = {
|
|
58
|
+
onClickHandler: _pt.func.isRequired,
|
|
59
|
+
active: _pt.bool.isRequired,
|
|
60
|
+
id: _pt.string.isRequired,
|
|
61
|
+
key: _pt.string.isRequired
|
|
62
|
+
};
|
|
63
|
+
export default MenuItem;
|
|
64
|
+
//# sourceMappingURL=MenuItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/MenuItem/MenuItem.tsx"],"names":["React","styled","css","COLORS","ComponentTextStyle","Size","ComponentLStyling","ComponentMStyling","ComponentSStyling","CommonInteractionStyling","DropdownButton","button","props","DropdownButtonCSS","size","ItemLabel","div","ItemIcon","ItemIconOld","ItemContent","Small","Regular","neutral_600","Medium","Large","white","neutral_20","primary_500","neutral_200","primary_20","primary_600","primary_100","primary_800","MenuItem","forwardRef","ref","active","item","onClickHandler","key","id","disabled","showDividerAbove","icon","displayLabel","value","noteLabel","fontSize"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,OAAOC,MAAP,IAAiBC,GAAjB,QAA4B,mBAA5B;AACA,SAAqBC,MAArB,EAA6BC,kBAA7B,QAAsD,WAAtD;AAEA,SAAiBC,IAAjB,QAA4B,UAA5B;AACA,SAAQC,iBAAR,EAA2BC,iBAA3B,EAA8CC,iBAA9C,QAAsE,sBAAtE;AAEA,SAASC,wBAAT,QAAyC,WAAzC;;;AAWA,OAAO,IAAMC,cAAc,GAAGT,MAAM,CAACU,MAAV,gFACvB,UAACC,KAAD;AAAA,SAAWC,iBAAiB,CAACD,KAAK,CAACE,IAAP,CAA5B;AAAA,CADuB,CAApB;AAIP,OAAO,IAAMC,SAAS,GAAGd,MAAM,CAACe,GAAV,uEAAf;AACP,OAAO,IAAMC,QAAQ,GAAGhB,MAAM,CAACe,GAAV,uEAAd;AACP,OAAO,IAAME,WAAW,GAAGjB,MAAM,CAACe,GAAV,uEAAjB;AAEP,OAAO,IAAMG,WAAW,GAAGlB,MAAM,CAACe,GAAV,2aAKlBD,SALkB,EASlBE,QATkB,EAgBlBC,WAhBkB,CAAjB;AAuBP,OAAO,IAAML,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,IAAD,EAAiB;AAChD,SAAOZ,GAAP,isCACIY,IAAI,IAAIT,IAAI,CAACe,KAAb,IAAsBZ,iBAAiB,CAACJ,kBAAkB,CAACiB,OAApB,EAA6BlB,MAAM,CAACmB,WAApC,CAD3C,EAEIR,IAAI,IAAIT,IAAI,CAACkB,MAAb,IAAuBhB,iBAAiB,CAACH,kBAAkB,CAACiB,OAApB,EAA6BlB,MAAM,CAACmB,WAApC,CAF5C,EAGIR,IAAI,IAAIT,IAAI,CAACmB,KAAb,IAAsBlB,iBAAiB,CAACF,kBAAkB,CAACiB,OAApB,EAA6BlB,MAAM,CAACmB,WAApC,CAH3C,EAUgBR,IAAI,IAAIT,IAAI,CAACmB,KAAb,GAAqB,MAArB,GAA8BV,IAAI,IAAIT,IAAI,CAACkB,MAAb,GAAsB,MAAtB,GAA+B,MAV7E,EAWsBpB,MAAM,CAACsB,KAX7B,EAuBIhB,wBAvBJ,EA0BkBN,MAAM,CAACuB,UA1BzB,EAmC0BvB,MAAM,CAACwB,WAnCjC,EA4CaxB,MAAM,CAACyB,WA5CpB,EAgDwBzB,MAAM,CAAC0B,UAhD/B,EAmDe1B,MAAM,CAAC2B,WAnDtB,EAuD0B3B,MAAM,CAACwB,WAvDjC,EA4DwBxB,MAAM,CAAC4B,WA5D/B,EA+De5B,MAAM,CAAC6B,WA/DtB,EAmE0B7B,MAAM,CAACwB,WAnEjC;AAuED,CAxEM;AA0EP,IAAMM,QAAQ,gBAAGjC,KAAK,CAACkC,UAAN,CAAmD,gBAM3CC,GAN2C,EAMnC;AAAA;;AAAA,MAL7BC,MAK6B,QAL7BA,MAK6B;AAAA,MAJ7BC,IAI6B,QAJ7BA,IAI6B;AAAA,MAH7BC,cAG6B,QAH7BA,cAG6B;AAAA,MAF7BC,GAE6B,QAF7BA,GAE6B;AAAA,MAD7BzB,IAC6B,QAD7BA,IAC6B;AAAA,MAA7B0B,EAA6B,QAA7BA,EAA6B;AAC/B,sBACE,MAAC,cAAD;AACI,IAAA,IAAI,EAAC,QADT;AAEI,IAAA,IAAI,EAAE1B,IAFV;AAGI,IAAA,QAAQ,EAAEuB,IAAI,CAACI,QAHnB;AAII,IAAA,GAAG,EAAEN,GAJT;AAKI,IAAA,OAAO,EAAEG,cALb;AAMI,IAAA,SAAS,EAAG,CAACD,IAAI,CAACK,gBAAL,GAAwB,oBAAxB,GAA+C,EAAhD,IAAsD,GAAtD,IAA6DN,MAAM,GAAG,QAAH,GAAc,EAAjF,CANhB;AAQI,IAAA,EAAE,EAAEI,EARR;AAAA,eASKH,IAAI,CAACK,gBAAL,iBAAyB;AAAK,MAAA,SAAS,EAAC;AAAf,MAT9B,eAUI,MAAC,WAAD;AAAA,iBACGL,IAAI,CAACM,IAAL,iBAAa,KAAC,QAAD;AAAA,kBAAWN,IAAI,CAACM;AAAhB,QADhB,eAEE,MAAC,SAAD;AAAA,yCACKN,IAAI,CAACO,YADV,mEAC0BP,IAAI,CAACQ,KAD/B,EAEKR,IAAI,CAACS,SAAL,iBAAkB;AAAK,UAAA,KAAK,EAAE;AAAEC,YAAAA,QAAQ,EAAE;AAAZ,WAAZ;AAAA,oBAAmCV,IAAI,CAACS;AAAxC,UAFvB;AAAA,QAFF;AAAA,MAVJ;AAAA,KAOSP,GAPT,CADF;AAoBD,CA3BgB,CAAjB;;AAhHGD,EAAAA,c;AACAF,EAAAA,M;AACAI,EAAAA,E;AACAD,EAAAA,G;;AA0IH,eAAeN,QAAf","sourcesContent":["import * as React from 'react';\nimport {Link} from 'react-router-dom';\nimport styled, { css } from 'styled-components';\nimport {BREAKPOINTS, COLORS, ComponentTextStyle} from '../styles';\nimport {ChevronRight} from '../icons/systemicons/SystemIcons';\nimport {Product, Size} from '../types';\nimport {ComponentLStyling, ComponentMStyling, ComponentSStyling} from '../styles/typography';\nimport { DropdownItem } from '../Dropdown/DropdownContent';\nimport { CommonInteractionStyling } from '../common';\n\nexport interface MenuItemProps {\n item: DropdownItem;\n onClickHandler: (e: any) => void;\n active: boolean;\n id: string;\n key: string;\n size?: Size;\n}\n\nexport const DropdownButton = styled.button<{ size?: Size }>`\n ${(props) => DropdownButtonCSS(props.size)}\n`;\n\nexport const ItemLabel = styled.div``;\nexport const ItemIcon = styled.div``;\nexport const ItemIconOld = styled.div``;\n\nexport const ItemContent = styled.div`\n margin: auto 0 auto 16px;\n display: flex;\n align-items: center;\n\n ${ItemLabel} {\n flex: 1 0 calc(100% - 40px); \n }\n\n ${ItemIcon} {\n margin-right: 6px;\n svg {\n display: block;\n margin: auto;\n }\n }\n ${ItemIconOld} {\n flex: 1 0 40px;\n display: flex;\n justify-content: flex-end;\n }\n`;\n\nexport const DropdownButtonCSS = (size?: Size) => {\n return css`\n ${size == Size.Small && ComponentSStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n ${size == Size.Medium && ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n ${size == Size.Large && ComponentLStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n position: relative;\n text-decoration: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n min-height: ${size == Size.Large ? '64px' : size == Size.Medium ? '56px' : '48px'};\n background-color: ${COLORS.white};\n border: none;\n cursor: pointer;\n background: transparent;\n width: 100%;\n text-align: left;\n\n span {\n margin: auto 0 auto 16px;\n line-height: 48px;\n }\n\n ${CommonInteractionStyling};\n\n &.active {\n background: ${COLORS.neutral_20};\n\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: 2px;\n background-color: ${COLORS.primary_500};\n\n border-radius: 2px;\n }\n }\n\n &:disabled {\n background-color: transparent;\n cursor: not-allowed;\n color: ${COLORS.neutral_200};\n }\n\n &.active:hover {\n background-color: ${COLORS.primary_20};\n\n svg {\n color: ${COLORS.primary_600};\n }\n\n &::after {\n background-color: ${COLORS.primary_500};\n }\n }\n\n &.active:active {\n background-color: ${COLORS.primary_100};\n\n svg {\n color: ${COLORS.primary_800};\n }\n\n &::after {\n background-color: ${COLORS.primary_500};\n }\n }\n `;\n};\n\nconst MenuItem = React.forwardRef<HTMLButtonElement, MenuItemProps>(({\n active,\n item,\n onClickHandler,\n key,\n size,\n id }: MenuItemProps, ref) => {\n return (\n <DropdownButton\n type=\"button\"\n size={size}\n disabled={item.disabled}\n ref={ref}\n onClick={onClickHandler}\n className={ (item.showDividerAbove ? 'show-divider-above' : '') + ' ' + (active ? 'active' : '')}\n key={key}\n id={id}>\n {item.showDividerAbove && <div className=\"divider\" />}\n <ItemContent>\n {item.icon && <ItemIcon>{item.icon}</ItemIcon>}\n <ItemLabel>\n {item.displayLabel ?? item.value}\n {item.noteLabel && <div style={{ fontSize: '12px' }}>{item.noteLabel}</div>}\n </ItemLabel>\n </ItemContent>\n </DropdownButton>\n );\n});\n\nexport default MenuItem;\n"],"file":"MenuItem.js"}
|