@laerdal/life-react-components 1.9.8-dev.8 → 1.9.8-dev.9.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.
Files changed (83) hide show
  1. package/dist/Card/HorizontalCard/HorizontalCard.cjs +97 -0
  2. package/dist/Card/HorizontalCard/HorizontalCard.cjs.map +1 -0
  3. package/dist/Card/HorizontalCard/HorizontalCard.d.ts +4 -0
  4. package/dist/Card/HorizontalCard/HorizontalCard.js +74 -0
  5. package/dist/Card/HorizontalCard/HorizontalCard.js.map +1 -0
  6. package/dist/Card/HorizontalCard/HorizontalCardActions.cjs +124 -0
  7. package/dist/Card/HorizontalCard/HorizontalCardActions.cjs.map +1 -0
  8. package/dist/Card/HorizontalCard/HorizontalCardActions.d.ts +5 -0
  9. package/dist/Card/HorizontalCard/HorizontalCardActions.js +98 -0
  10. package/dist/Card/HorizontalCard/HorizontalCardActions.js.map +1 -0
  11. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs +60 -0
  12. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs.map +1 -0
  13. package/dist/Card/HorizontalCard/HorizontalCardBody.d.ts +5 -0
  14. package/dist/Card/HorizontalCard/HorizontalCardBody.js +40 -0
  15. package/dist/Card/HorizontalCard/HorizontalCardBody.js.map +1 -0
  16. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs +49 -0
  17. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs.map +1 -0
  18. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.d.ts +5 -0
  19. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js +33 -0
  20. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js.map +1 -0
  21. package/dist/Card/HorizontalCard/index.cjs +33 -0
  22. package/dist/Card/HorizontalCard/index.cjs.map +1 -0
  23. package/dist/Card/HorizontalCard/index.d.ts +2 -0
  24. package/dist/Card/HorizontalCard/index.js +3 -0
  25. package/dist/Card/HorizontalCard/index.js.map +1 -0
  26. package/dist/Card/HorizontalCard/types.cjs +6 -0
  27. package/dist/Card/HorizontalCard/types.cjs.map +1 -0
  28. package/dist/Card/HorizontalCard/types.d.ts +40 -0
  29. package/dist/Card/HorizontalCard/types.js +2 -0
  30. package/dist/Card/HorizontalCard/types.js.map +1 -0
  31. package/dist/Card/{Card.cjs → VerticalCard/Card.cjs} +32 -9
  32. package/dist/Card/VerticalCard/Card.cjs.map +1 -0
  33. package/dist/Card/{Card.d.ts → VerticalCard/Card.d.ts} +2 -1
  34. package/dist/Card/{Card.js → VerticalCard/Card.js} +29 -8
  35. package/dist/Card/VerticalCard/Card.js.map +1 -0
  36. package/dist/Card/{CardBottomSection.cjs → VerticalCard/CardBottomSection.cjs} +40 -25
  37. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -0
  38. package/dist/Card/{CardBottomSection.d.ts → VerticalCard/CardBottomSection.d.ts} +4 -4
  39. package/dist/Card/{CardBottomSection.js → VerticalCard/CardBottomSection.js} +25 -11
  40. package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -0
  41. package/dist/Card/{CardMiddleSection.cjs → VerticalCard/CardMiddleSection.cjs} +13 -13
  42. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -0
  43. package/dist/Card/{CardMiddleSection.d.ts → VerticalCard/CardMiddleSection.d.ts} +2 -2
  44. package/dist/Card/{CardMiddleSection.js → VerticalCard/CardMiddleSection.js} +2 -2
  45. package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -0
  46. package/dist/Card/{CardTopSection.cjs → VerticalCard/CardTopSection.cjs} +11 -12
  47. package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -0
  48. package/dist/Card/{CardTopSection.d.ts → VerticalCard/CardTopSection.d.ts} +5 -5
  49. package/dist/Card/{CardTopSection.js → VerticalCard/CardTopSection.js} +9 -10
  50. package/dist/Card/VerticalCard/CardTopSection.js.map +1 -0
  51. package/dist/Card/VerticalCard/index.cjs +88 -0
  52. package/dist/Card/VerticalCard/index.cjs.map +1 -0
  53. package/dist/Card/VerticalCard/index.d.ts +7 -0
  54. package/dist/Card/VerticalCard/index.js +8 -0
  55. package/dist/Card/VerticalCard/index.js.map +1 -0
  56. package/dist/Card/index.cjs +8 -64
  57. package/dist/Card/index.cjs.map +1 -1
  58. package/dist/Card/index.d.ts +2 -7
  59. package/dist/Card/index.js +2 -7
  60. package/dist/Card/index.js.map +1 -1
  61. package/dist/Dropdown/DropdownButton.cjs +3 -3
  62. package/dist/Dropdown/DropdownButton.cjs.map +1 -1
  63. package/dist/Dropdown/DropdownButton.d.ts +5 -1
  64. package/dist/Dropdown/DropdownButton.js +3 -4
  65. package/dist/Dropdown/DropdownButton.js.map +1 -1
  66. package/dist/Toggles/ToggleButton.cjs +3 -2
  67. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  68. package/dist/Toggles/ToggleButton.d.ts +1 -1
  69. package/dist/Toggles/ToggleButton.js +3 -2
  70. package/dist/Toggles/ToggleButton.js.map +1 -1
  71. package/dist/common/ActionWithin.cjs.map +1 -1
  72. package/dist/common/ActionWithin.js.map +1 -1
  73. package/dist/index.cjs.map +1 -1
  74. package/dist/index.js.map +1 -1
  75. package/package.json +1 -1
  76. package/dist/Card/Card.cjs.map +0 -1
  77. package/dist/Card/Card.js.map +0 -1
  78. package/dist/Card/CardBottomSection.cjs.map +0 -1
  79. package/dist/Card/CardBottomSection.js.map +0 -1
  80. package/dist/Card/CardMiddleSection.cjs.map +0 -1
  81. package/dist/Card/CardMiddleSection.js.map +0 -1
  82. package/dist/Card/CardTopSection.cjs.map +0 -1
  83. package/dist/Card/CardTopSection.js.map +0 -1
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.HorizontalCardThumbnail = void 0;
9
+
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
15
+
16
+ var _styles = require("../../styles");
17
+
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+
20
+ var _templateObject, _templateObject2, _templateObject3;
21
+
22
+ var IconContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n justify-content: center;\n align-items: center;\n width: 80px;\n height: 80px;\n\n color: ", ";\n\n .disabled & {\n color: ", ";\n }\n"])), _styles.COLORS.black, _styles.COLORS.neutral_500);
23
+
24
+ var ImageContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n height: 100%;\n overflow: hidden;\n border-bottom-left-radius: 8px;\n border-top-left-radius: 8px;\n"])));
25
+
26
+ var Image = _styledComponents.default.img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n mix-blend-mode: multiply;\n object-fit: cover;\n width: 80px;\n height: 100%;\n\n .disabled & {\n filter: grayscale(100%);\n }\n"])));
27
+
28
+ var HorizontalCardThumbnail = function HorizontalCardThumbnail(_ref) {
29
+ var image = _ref.image,
30
+ icon = _ref.icon;
31
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
32
+ children: [icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(IconContainer, {
33
+ children: /*#__PURE__*/_react.default.cloneElement(icon, {
34
+ width: 48,
35
+ height: 48
36
+ })
37
+ }), image && /*#__PURE__*/(0, _jsxRuntime.jsx)(ImageContainer, {
38
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Image, {
39
+ src: image.src,
40
+ alt: image.alt,
41
+ width: image.width,
42
+ height: image.height
43
+ })
44
+ })]
45
+ });
46
+ };
47
+
48
+ exports.HorizontalCardThumbnail = HorizontalCardThumbnail;
49
+ //# sourceMappingURL=HorizontalCardThumbnail.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Card/HorizontalCard/HorizontalCardThumbnail.tsx"],"names":["IconContainer","styled","div","COLORS","black","neutral_500","ImageContainer","Image","img","HorizontalCardThumbnail","image","icon","React","cloneElement","width","height","src","alt"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AACA;;;;;;AAEA,IAAMA,aAAa,GAAGC,0BAAOC,GAAV,yPAORC,eAAOC,KAPC,EAUND,eAAOE,WAVD,CAAnB;;AAeA,IAAMC,cAAc,GAAGL,0BAAOC,GAAV,gMAApB;;AAOA,IAAMK,KAAK,GAAGN,0BAAOO,GAAV,iOAAX;;AAaO,IAAMC,uBAAuD,GAAG,SAA1DA,uBAA0D,OAGO;AAAA,MAFJC,KAEI,QAFJA,KAEI;AAAA,MADJC,IACI,QADJA,IACI;AAE5E,sBACE;AAAA,eAEIA,IAAI,iBACJ,qBAAC,aAAD;AAAA,6BACGC,eAAMC,YAAN,CAAmBF,IAAnB,EAAyB;AAACG,QAAAA,KAAK,EAAE,EAAR;AAAYC,QAAAA,MAAM,EAAE;AAApB,OAAzB;AADH,MAHJ,EAQIL,KAAK,iBACL,qBAAC,cAAD;AAAA,6BACE,qBAAC,KAAD;AAAO,QAAA,GAAG,EAAEA,KAAK,CAACM,GAAlB;AAAuB,QAAA,GAAG,EAAEN,KAAK,CAACO,GAAlC;AAAuC,QAAA,KAAK,EAAEP,KAAK,CAACI,KAApD;AAA2D,QAAA,MAAM,EAAEJ,KAAK,CAACK;AAAzE;AADF,MATJ;AAAA,IADF;AAgBD,CArBM","sourcesContent":["import React from 'react';\nimport {HorizontalCardProps} from './types';\nimport styled from 'styled-components';\nimport {COLORS} from '../../styles';\n\nconst IconContainer = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n width: 80px;\n height: 80px;\n\n color: ${COLORS.black};\n\n .disabled & {\n color: ${COLORS.neutral_500};\n }\n`;\n\n\nconst ImageContainer = styled.div`\n height: 100%;\n overflow: hidden;\n border-bottom-left-radius: 8px;\n border-top-left-radius: 8px;\n`;\n\nconst Image = styled.img`\n mix-blend-mode: multiply;\n object-fit: cover;\n width: 80px;\n height: 100%;\n\n .disabled & {\n filter: grayscale(100%);\n }\n`;\n\ntype Props = Pick<HorizontalCardProps, 'image' | 'icon'>;\n\nexport const HorizontalCardThumbnail: React.FunctionComponent<Props> = ({\n image,\n icon\n }) => {\n\n return (\n <>\n {\n icon &&\n <IconContainer>\n {React.cloneElement(icon, {width: 48, height: 48})}\n </IconContainer>\n }\n {\n image &&\n <ImageContainer>\n <Image src={image.src} alt={image.alt} width={image.width} height={image.height}/>\n </ImageContainer>\n }\n </>\n )\n};\n"],"file":"HorizontalCardThumbnail.cjs"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { HorizontalCardProps } from './types';
3
+ declare type Props = Pick<HorizontalCardProps, 'image' | 'icon'>;
4
+ export declare const HorizontalCardThumbnail: React.FunctionComponent<Props>;
5
+ export {};
@@ -0,0 +1,33 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
+
3
+ var _templateObject, _templateObject2, _templateObject3;
4
+
5
+ import React from 'react';
6
+ import styled from 'styled-components';
7
+ import { COLORS } from '../../styles';
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ import { Fragment as _Fragment } from "react/jsx-runtime";
10
+ import { jsxs as _jsxs } from "react/jsx-runtime";
11
+ var IconContainer = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n justify-content: center;\n align-items: center;\n width: 80px;\n height: 80px;\n\n color: ", ";\n\n .disabled & {\n color: ", ";\n }\n"])), COLORS.black, COLORS.neutral_500);
12
+ var ImageContainer = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n height: 100%;\n overflow: hidden;\n border-bottom-left-radius: 8px;\n border-top-left-radius: 8px;\n"])));
13
+ var Image = styled.img(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n mix-blend-mode: multiply;\n object-fit: cover;\n width: 80px;\n height: 100%;\n\n .disabled & {\n filter: grayscale(100%);\n }\n"])));
14
+ export var HorizontalCardThumbnail = function HorizontalCardThumbnail(_ref) {
15
+ var image = _ref.image,
16
+ icon = _ref.icon;
17
+ return /*#__PURE__*/_jsxs(_Fragment, {
18
+ children: [icon && /*#__PURE__*/_jsx(IconContainer, {
19
+ children: /*#__PURE__*/React.cloneElement(icon, {
20
+ width: 48,
21
+ height: 48
22
+ })
23
+ }), image && /*#__PURE__*/_jsx(ImageContainer, {
24
+ children: /*#__PURE__*/_jsx(Image, {
25
+ src: image.src,
26
+ alt: image.alt,
27
+ width: image.width,
28
+ height: image.height
29
+ })
30
+ })]
31
+ });
32
+ };
33
+ //# sourceMappingURL=HorizontalCardThumbnail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Card/HorizontalCard/HorizontalCardThumbnail.tsx"],"names":["React","styled","COLORS","IconContainer","div","black","neutral_500","ImageContainer","Image","img","HorizontalCardThumbnail","image","icon","cloneElement","width","height","src","alt"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,SAAQC,MAAR,QAAqB,cAArB;;;;AAEA,IAAMC,aAAa,GAAGF,MAAM,CAACG,GAAV,2OAORF,MAAM,CAACG,KAPC,EAUNH,MAAM,CAACI,WAVD,CAAnB;AAeA,IAAMC,cAAc,GAAGN,MAAM,CAACG,GAAV,kLAApB;AAOA,IAAMI,KAAK,GAAGP,MAAM,CAACQ,GAAV,mNAAX;AAaA,OAAO,IAAMC,uBAAuD,GAAG,SAA1DA,uBAA0D,OAGO;AAAA,MAFJC,KAEI,QAFJA,KAEI;AAAA,MADJC,IACI,QADJA,IACI;AAE5E,sBACE;AAAA,eAEIA,IAAI,iBACJ,KAAC,aAAD;AAAA,6BACGZ,KAAK,CAACa,YAAN,CAAmBD,IAAnB,EAAyB;AAACE,QAAAA,KAAK,EAAE,EAAR;AAAYC,QAAAA,MAAM,EAAE;AAApB,OAAzB;AADH,MAHJ,EAQIJ,KAAK,iBACL,KAAC,cAAD;AAAA,6BACE,KAAC,KAAD;AAAO,QAAA,GAAG,EAAEA,KAAK,CAACK,GAAlB;AAAuB,QAAA,GAAG,EAAEL,KAAK,CAACM,GAAlC;AAAuC,QAAA,KAAK,EAAEN,KAAK,CAACG,KAApD;AAA2D,QAAA,MAAM,EAAEH,KAAK,CAACI;AAAzE;AADF,MATJ;AAAA,IADF;AAgBD,CArBM","sourcesContent":["import React from 'react';\nimport {HorizontalCardProps} from './types';\nimport styled from 'styled-components';\nimport {COLORS} from '../../styles';\n\nconst IconContainer = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n width: 80px;\n height: 80px;\n\n color: ${COLORS.black};\n\n .disabled & {\n color: ${COLORS.neutral_500};\n }\n`;\n\n\nconst ImageContainer = styled.div`\n height: 100%;\n overflow: hidden;\n border-bottom-left-radius: 8px;\n border-top-left-radius: 8px;\n`;\n\nconst Image = styled.img`\n mix-blend-mode: multiply;\n object-fit: cover;\n width: 80px;\n height: 100%;\n\n .disabled & {\n filter: grayscale(100%);\n }\n`;\n\ntype Props = Pick<HorizontalCardProps, 'image' | 'icon'>;\n\nexport const HorizontalCardThumbnail: React.FunctionComponent<Props> = ({\n image,\n icon\n }) => {\n\n return (\n <>\n {\n icon &&\n <IconContainer>\n {React.cloneElement(icon, {width: 48, height: 48})}\n </IconContainer>\n }\n {\n image &&\n <ImageContainer>\n <Image src={image.src} alt={image.alt} width={image.width} height={image.height}/>\n </ImageContainer>\n }\n </>\n )\n};\n"],"file":"HorizontalCardThumbnail.js"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ var _exportNames = {
9
+ HorizontalCard: true
10
+ };
11
+ Object.defineProperty(exports, "HorizontalCard", {
12
+ enumerable: true,
13
+ get: function get() {
14
+ return _HorizontalCard.default;
15
+ }
16
+ });
17
+
18
+ var _types = require("./types");
19
+
20
+ Object.keys(_types).forEach(function (key) {
21
+ if (key === "default" || key === "__esModule") return;
22
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
23
+ if (key in exports && exports[key] === _types[key]) return;
24
+ Object.defineProperty(exports, key, {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _types[key];
28
+ }
29
+ });
30
+ });
31
+
32
+ var _HorizontalCard = _interopRequireDefault(require("./HorizontalCard"));
33
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Card/HorizontalCard/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA","sourcesContent":["export * from './types';\n\nexport { default as HorizontalCard } from './HorizontalCard';\n"],"file":"index.cjs"}
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ export { default as HorizontalCard } from './HorizontalCard';
@@ -0,0 +1,3 @@
1
+ export * from './types';
2
+ export { default as HorizontalCard } from './HorizontalCard';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Card/HorizontalCard/index.ts"],"names":["default","HorizontalCard"],"mappings":"AAAA,cAAc,SAAd;AAEA,SAASA,OAAO,IAAIC,cAApB,QAA0C,kBAA1C","sourcesContent":["export * from './types';\n\nexport { default as HorizontalCard } from './HorizontalCard';\n"],"file":"index.js"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"types.cjs"}
@@ -0,0 +1,40 @@
1
+ import { IconButtonProps } from '../../Button/Iconbutton';
2
+ import React from 'react';
3
+ import { ToggleButtonProps } from '../../Toggles/ToggleButton';
4
+ import { DropdownButtonProps } from '../../Dropdown/DropdownButtonTypes';
5
+ import { TagVariants } from '../../Tag';
6
+ import { LinearProgressProps } from '../../LinearProgress/LinearProgress';
7
+ export declare type HorizontalCardIconButton = Pick<IconButtonProps, 'action' | 'disabled'> & {
8
+ componentType: 'icon';
9
+ icon: React.ReactNode;
10
+ };
11
+ export declare type HorizontalCardToggleButton = Pick<ToggleButtonProps, 'active' | 'onChange' | 'disabled' | 'defaultState' | 'activeState'> & {
12
+ componentType: 'toggle';
13
+ };
14
+ export declare type HorizontalCardDropdownButton = Pick<DropdownButtonProps, 'items' | 'onClick' | 'disabled' | 'itemsType' | 'action' | 'actionIcon' | 'actionLabel' | 'actionLoading' | 'actionVariant' | 'multiSelect' | 'scrollable' | 'pinTopItem' | 'maxHeight'> & {
15
+ componentType: 'dropdown';
16
+ icon: React.ReactNode;
17
+ };
18
+ export interface HorizontalCardTag {
19
+ label: string;
20
+ icon?: React.ReactNode;
21
+ variant?: TagVariants;
22
+ }
23
+ export declare type HorizontalCardLinearProgression = Pick<LinearProgressProps, 'max' | 'value'>;
24
+ export interface HorizontalCardProps {
25
+ variant?: 'outline' | 'elevated';
26
+ action?: () => void;
27
+ disabled?: boolean;
28
+ title: string;
29
+ description?: string;
30
+ icon?: React.ReactElement;
31
+ image?: {
32
+ src: string;
33
+ alt?: string;
34
+ height?: string;
35
+ width?: string;
36
+ };
37
+ tags?: HorizontalCardTag[];
38
+ progress?: HorizontalCardLinearProgression;
39
+ actions?: (HorizontalCardIconButton | HorizontalCardToggleButton | HorizontalCardDropdownButton)[];
40
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"types.js"}
@@ -11,6 +11,10 @@ exports.default = exports.Wrapper = exports.CardTopLevelContainer = void 0;
11
11
 
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
13
 
14
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
14
18
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
19
 
16
20
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -25,7 +29,7 @@ var _CardMiddleSection = _interopRequireDefault(require("./CardMiddleSection"));
25
29
 
26
30
  var _CardBottomSection = _interopRequireDefault(require("./CardBottomSection"));
27
31
 
28
- var _ = require("..");
32
+ var _index = require("../../index");
29
33
 
30
34
  var _jsxRuntime = require("react/jsx-runtime");
31
35
 
@@ -39,11 +43,11 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
39
43
 
40
44
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
41
45
 
42
- var CardTopLevelContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n background-color: ", ";\n\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);\n border-radius: 8px;\n\n border: 1px solid transparent;\n background-clip: padding-box;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n}\n"])), _.COLORS.white);
46
+ var CardTopLevelContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n background-color: ", ";\n\n border-radius: 8px;\n\n background-clip: padding-box;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n\n .elevated & {\n box-shadow: ", ";\n }\n\n .outline & {\n border: 1px solid ", ";\n }\n"])), _index.COLORS.white, _index.BOXSHADOWS.BOXSHADOW_L1, _index.COLORS.neutral_200);
43
47
 
44
48
  exports.CardTopLevelContainer = CardTopLevelContainer;
45
49
 
46
- var Wrapper = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n height: max-content;\n width: max-content;\n\n &.interactive:focus {\n ", "\n }\n\n &.interactive:not(.disabled) {\n cursor: pointer;\n\n ", " {\n &:active, &.active-state {\n box-shadow: 0px 8px 16px 2px rgba(0, 0, 0, 0.15);\n border: 1px solid ", ";\n }\n\n &:hover {\n overflow: visible;\n border: 1px solid ", ";\n box-shadow: 0px 8px 16px 2px rgba(0, 0, 0, 0.15);\n }\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n }\n"])), _.focusStyles, CardTopLevelContainer, _.COLORS.neutral_200, _.COLORS.neutral_200);
50
+ var Wrapper = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n height: max-content;\n width: max-content;\n\n &.interactive:focus {\n ", "\n }\n\n &.interactive:not(.disabled) {\n cursor: pointer;\n\n &.outline:not(.action-within) {\n ", " {\n &:hover {\n background-color: ", ";\n }\n\n &:active, &.active-state {\n background-color: ", ";\n }\n }\n }\n\n &.elevated:not(.action-within) {\n ", " {\n &:hover {\n box-shadow: ", ";\n }\n\n &:active, &.active-state {\n box-shadow: ", ";\n }\n }\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n }\n"])), _index.focusStyles, CardTopLevelContainer, _index.COLORS.primary_20, _index.COLORS.primary_100, CardTopLevelContainer, _index.BOXSHADOWS.BOXSHADOW_L3, _index.BOXSHADOWS.BOXSHADOW_L2);
47
51
 
48
52
  exports.Wrapper = Wrapper;
49
53
 
@@ -52,12 +56,24 @@ var Card = function Card(_ref) {
52
56
  topSectionProps = _ref.topSectionProps,
53
57
  middleSectionProps = _ref.middleSectionProps,
54
58
  bottomSectionProps = _ref.bottomSectionProps,
55
- disabled = _ref.disabled;
56
- var cls = "".concat(!!onCardClicked ? 'interactive' : '', " ").concat(disabled ? 'disabled' : '');
59
+ disabled = _ref.disabled,
60
+ _ref$variant = _ref.variant,
61
+ variant = _ref$variant === void 0 ? 'outline' : _ref$variant;
62
+
63
+ var _React$useState = React.useState([]),
64
+ _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
65
+ actionsRefs = _React$useState2[0],
66
+ setActionsRefs = _React$useState2[1];
67
+
68
+ var checkBoxRef = React.useRef(null);
69
+ var containerRef = React.useRef(null);
70
+ (0, _index.useActionWithin)(containerRef, [].concat((0, _toConsumableArray2.default)(actionsRefs), [checkBoxRef]));
71
+ var cls = "".concat(!!onCardClicked ? 'interactive' : '', " ").concat(disabled ? 'disabled' : '', " ").concat(variant);
57
72
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapper, {
73
+ ref: containerRef,
58
74
  className: cls,
59
75
  tabIndex: !!onCardClicked && !disabled ? 0 : -1,
60
- onMouseDown: _.defaultOnMouseDownHandler,
76
+ onMouseDown: _index.defaultOnMouseDownHandler,
61
77
  onKeyDown: function onKeyDown(a) {
62
78
  return a.key === 'Enter' && !disabled && onCardClicked && onCardClicked();
63
79
  },
@@ -65,11 +81,17 @@ var Card = function Card(_ref) {
65
81
  return !disabled && onCardClicked && onCardClicked();
66
82
  },
67
83
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(CardTopLevelContainer, {
68
- children: [topSectionProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardTopSection.default, _objectSpread(_objectSpread({}, topSectionProps), {}, {
84
+ children: [topSectionProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardTopSection.default, _objectSpread(_objectSpread({
85
+ ref: checkBoxRef
86
+ }, topSectionProps), {}, {
69
87
  disabled: disabled
70
88
  })), middleSectionProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardMiddleSection.default, _objectSpread(_objectSpread({}, middleSectionProps), {}, {
71
89
  disabled: disabled
72
- })), bottomSectionProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardBottomSection.default, _objectSpread(_objectSpread({}, bottomSectionProps), {}, {
90
+ })), bottomSectionProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardBottomSection.default, _objectSpread(_objectSpread({
91
+ ref: function ref(instance) {
92
+ return setActionsRefs(instance !== null && instance !== void 0 ? instance : []);
93
+ }
94
+ }, bottomSectionProps), {}, {
73
95
  disabled: disabled
74
96
  }))]
75
97
  })
@@ -78,7 +100,8 @@ var Card = function Card(_ref) {
78
100
 
79
101
  Card.propTypes = {
80
102
  onCardClicked: _propTypes.default.func,
81
- disabled: _propTypes.default.bool.isRequired
103
+ disabled: _propTypes.default.bool,
104
+ variant: _propTypes.default.oneOf(['outline', 'elevated'])
82
105
  };
83
106
  var _default = Card;
84
107
  exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Card/VerticalCard/Card.tsx"],"names":["CardTopLevelContainer","styled","div","COLORS","white","BOXSHADOWS","BOXSHADOW_L1","neutral_200","Wrapper","focusStyles","primary_20","primary_100","BOXSHADOW_L3","BOXSHADOW_L2","Card","onCardClicked","topSectionProps","middleSectionProps","bottomSectionProps","disabled","variant","React","useState","actionsRefs","setActionsRefs","checkBoxRef","useRef","containerRef","cls","defaultOnMouseDownHandler","a","key","e","instance"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEO,IAAMA,qBAAqB,GAAGC,0BAAOC,GAAV,wVACZC,cAAOC,KADK,EAWhBC,kBAAWC,YAXK,EAeVH,cAAOI,WAfG,CAA3B;;;;AAoBA,IAAMC,OAAO,GAAGP,0BAAOC,GAAV,0sBAKdO,kBALc,EAYZT,qBAZY,EAcUG,cAAOO,UAdjB,EAkBUP,cAAOQ,WAlBjB,EAwBZX,qBAxBY,EA0BIK,kBAAWO,YA1Bf,EA8BIP,kBAAWQ,YA9Bf,CAAb;;;;AAmDP,IAAMC,IAAwC,GAAG,SAA3CA,IAA2C,OAOkB;AAAA,MANfC,aAMe,QANfA,aAMe;AAAA,MALfC,eAKe,QALfA,eAKe;AAAA,MAJfC,kBAIe,QAJfA,kBAIe;AAAA,MAHfC,kBAGe,QAHfA,kBAGe;AAAA,MAFfC,QAEe,QAFfA,QAEe;AAAA,0BADfC,OACe;AAAA,MADfA,OACe,6BADL,SACK;;AAGjE,wBAAsCC,KAAK,CAACC,QAAN,CAA+C,EAA/C,CAAtC;AAAA;AAAA,MAAOC,WAAP;AAAA,MAAoBC,cAApB;;AACA,MAAMC,WAAW,GAAIJ,KAAK,CAACK,MAAN,CAA6B,IAA7B,CAArB;AACA,MAAMC,YAAY,GAAGN,KAAK,CAACK,MAAN,CAA6B,IAA7B,CAArB;AAEA,8BAAgBC,YAAhB,6CAAkCJ,WAAlC,IAA+CE,WAA/C;AAEA,MAAMG,GAAG,aAAM,CAAC,CAACb,aAAF,GAAkB,aAAlB,GAAkC,EAAxC,cAA8CI,QAAQ,GAAG,UAAH,GAAgB,EAAtE,cAA4EC,OAA5E,CAAT;AAEA,sBAEE,qBAAC,OAAD;AAAS,IAAA,GAAG,EAAEO,YAAd;AACS,IAAA,SAAS,EAAEC,GADpB;AAES,IAAA,QAAQ,EAAE,CAAC,CAACb,aAAF,IAAmB,CAACI,QAApB,GAA+B,CAA/B,GAAmC,CAAC,CAFvD;AAGS,IAAA,WAAW,EAAEU,gCAHtB;AAIS,IAAA,SAAS,EAAE,mBAAAC,CAAC;AAAA,aAAIA,CAAC,CAACC,GAAF,KAAU,OAAV,IAAqB,CAACZ,QAAtB,IAAkCJ,aAAlC,IAAmDA,aAAa,EAApE;AAAA,KAJrB;AAKS,IAAA,OAAO,EAAE,iBAAAiB,CAAC;AAAA,aAAI,CAACb,QAAD,IAAaJ,aAAb,IAA8BA,aAAa,EAA/C;AAAA,KALnB;AAAA,2BAME,sBAAC,qBAAD;AAAA,iBAEIC,eAAe,iBACf,qBAAC,uBAAD;AAAgB,QAAA,GAAG,EAAES;AAArB,SACMT,eADN;AACuB,QAAA,QAAQ,EAAEG;AADjC,SAHJ,EAOIF,kBAAkB,iBAClB,qBAAC,0BAAD,kCAAuBA,kBAAvB;AAA2C,QAAA,QAAQ,EAAEE;AAArD,SARJ,EAWID,kBAAkB,iBAClB,qBAAC,0BAAD;AAAmB,QAAA,GAAG,EAAE,aAAAe,QAAQ;AAAA,iBAAIT,cAAc,CAACS,QAAD,aAACA,QAAD,cAACA,QAAD,GAAa,EAAb,CAAlB;AAAA;AAAhC,SACuBf,kBADvB;AAC2C,QAAA,QAAQ,EAAEC;AADrD,SAZJ;AAAA;AANF,IAFF;AA2BD,CA7CD;;;AAREJ,EAAAA,a;AACAI,EAAAA,Q;AAIAC,EAAAA,O,4BAAU,S,EAAY,U;;eAkDTN,I","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport CardTopSection, {CardTopSectionProps} from './CardTopSection';\nimport CardMiddleSection, {CardMiddleSectionProps} from './CardMiddleSection';\nimport CardBottomSection, {CardBottomSectionProps} from './CardBottomSection';\nimport {BOXSHADOWS, COLORS, defaultOnMouseDownHandler, focusStyles, useActionWithin} from '../../index';\n\nexport const CardTopLevelContainer = styled.div`\n background-color: ${COLORS.white};\n\n border-radius: 8px;\n\n background-clip: padding-box;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n\n .elevated & {\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L1};\n }\n\n .outline & {\n border: 1px solid ${COLORS.neutral_200};\n }\n`;\n\n\nexport const Wrapper = styled.div`\n height: max-content;\n width: max-content;\n\n &.interactive:focus {\n ${focusStyles}\n }\n\n &.interactive:not(.disabled) {\n cursor: pointer;\n\n &.outline:not(.action-within) {\n ${CardTopLevelContainer} {\n &:hover {\n background-color: ${COLORS.primary_20};\n }\n\n &:active, &.active-state {\n background-color: ${COLORS.primary_100};\n }\n }\n }\n\n &.elevated:not(.action-within) {\n ${CardTopLevelContainer} {\n &:hover {\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L3};\n }\n\n &:active, &.active-state {\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L2};\n }\n }\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n }\n`;\n\n\nexport interface CardProps {\n onCardClicked?: () => {};\n disabled?: boolean;\n topSectionProps?: CardTopSectionProps;\n middleSectionProps?: CardMiddleSectionProps;\n bottomSectionProps?: CardBottomSectionProps;\n variant?: 'outline' | 'elevated';\n}\n\nconst Card: React.FunctionComponent<CardProps> = ({\n onCardClicked,\n topSectionProps,\n middleSectionProps,\n bottomSectionProps,\n disabled,\n variant = 'outline'\n }: CardProps) => {\n\n\n const [actionsRefs, setActionsRefs] = React.useState<React.RefObject<HTMLElement>[]>([]);\n const checkBoxRef = React.useRef<HTMLDivElement>(null);\n const containerRef = React.useRef<HTMLDivElement>(null);\n\n useActionWithin(containerRef, [...actionsRefs, checkBoxRef]);\n\n const cls = `${!!onCardClicked ? 'interactive' : ''} ${disabled ? 'disabled' : ''} ${variant}`;\n\n return (\n\n <Wrapper ref={containerRef}\n className={cls}\n tabIndex={!!onCardClicked && !disabled ? 0 : -1}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={a => a.key === 'Enter' && !disabled && onCardClicked && onCardClicked()}\n onClick={e => !disabled && onCardClicked && onCardClicked()}>\n <CardTopLevelContainer>\n {\n topSectionProps &&\n <CardTopSection ref={checkBoxRef}\n {...topSectionProps} disabled={disabled}/>\n }\n {\n middleSectionProps &&\n <CardMiddleSection {...middleSectionProps} disabled={disabled}/>\n }\n {\n bottomSectionProps &&\n <CardBottomSection ref={instance => setActionsRefs(instance ?? [])}\n {...bottomSectionProps} disabled={disabled}/>\n }\n </CardTopLevelContainer>\n </Wrapper>\n\n );\n};\n\nexport default Card;\n"],"file":"Card.cjs"}
@@ -6,10 +6,11 @@ export declare const CardTopLevelContainer: import("styled-components").StyledCo
6
6
  export declare const Wrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
7
7
  export interface CardProps {
8
8
  onCardClicked?: () => {};
9
- disabled: boolean;
9
+ disabled?: boolean;
10
10
  topSectionProps?: CardTopSectionProps;
11
11
  middleSectionProps?: CardMiddleSectionProps;
12
12
  bottomSectionProps?: CardBottomSectionProps;
13
+ variant?: 'outline' | 'elevated';
13
14
  }
14
15
  declare const Card: React.FunctionComponent<CardProps>;
15
16
  export default Card;
@@ -1,4 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
4
  import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
3
5
  import _pt from "prop-types";
4
6
 
@@ -13,20 +15,32 @@ import styled from 'styled-components';
13
15
  import CardTopSection from './CardTopSection';
14
16
  import CardMiddleSection from './CardMiddleSection';
15
17
  import CardBottomSection from './CardBottomSection';
16
- import { COLORS, defaultOnMouseDownHandler, focusStyles } from '..';
18
+ import { BOXSHADOWS, COLORS, defaultOnMouseDownHandler, focusStyles, useActionWithin } from '../../index';
17
19
  import { jsx as _jsx } from "react/jsx-runtime";
18
20
  import { jsxs as _jsxs } from "react/jsx-runtime";
19
- export var CardTopLevelContainer = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background-color: ", ";\n\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);\n border-radius: 8px;\n\n border: 1px solid transparent;\n background-clip: padding-box;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n}\n"])), COLORS.white);
20
- export var Wrapper = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n height: max-content;\n width: max-content;\n\n &.interactive:focus {\n ", "\n }\n\n &.interactive:not(.disabled) {\n cursor: pointer;\n\n ", " {\n &:active, &.active-state {\n box-shadow: 0px 8px 16px 2px rgba(0, 0, 0, 0.15);\n border: 1px solid ", ";\n }\n\n &:hover {\n overflow: visible;\n border: 1px solid ", ";\n box-shadow: 0px 8px 16px 2px rgba(0, 0, 0, 0.15);\n }\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n }\n"])), focusStyles, CardTopLevelContainer, COLORS.neutral_200, COLORS.neutral_200);
21
+ export var CardTopLevelContainer = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background-color: ", ";\n\n border-radius: 8px;\n\n background-clip: padding-box;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n\n .elevated & {\n box-shadow: ", ";\n }\n\n .outline & {\n border: 1px solid ", ";\n }\n"])), COLORS.white, BOXSHADOWS.BOXSHADOW_L1, COLORS.neutral_200);
22
+ export var Wrapper = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n height: max-content;\n width: max-content;\n\n &.interactive:focus {\n ", "\n }\n\n &.interactive:not(.disabled) {\n cursor: pointer;\n\n &.outline:not(.action-within) {\n ", " {\n &:hover {\n background-color: ", ";\n }\n\n &:active, &.active-state {\n background-color: ", ";\n }\n }\n }\n\n &.elevated:not(.action-within) {\n ", " {\n &:hover {\n box-shadow: ", ";\n }\n\n &:active, &.active-state {\n box-shadow: ", ";\n }\n }\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n }\n"])), focusStyles, CardTopLevelContainer, COLORS.primary_20, COLORS.primary_100, CardTopLevelContainer, BOXSHADOWS.BOXSHADOW_L3, BOXSHADOWS.BOXSHADOW_L2);
21
23
 
22
24
  var Card = function Card(_ref) {
23
25
  var onCardClicked = _ref.onCardClicked,
24
26
  topSectionProps = _ref.topSectionProps,
25
27
  middleSectionProps = _ref.middleSectionProps,
26
28
  bottomSectionProps = _ref.bottomSectionProps,
27
- disabled = _ref.disabled;
28
- var cls = "".concat(!!onCardClicked ? 'interactive' : '', " ").concat(disabled ? 'disabled' : '');
29
+ disabled = _ref.disabled,
30
+ _ref$variant = _ref.variant,
31
+ variant = _ref$variant === void 0 ? 'outline' : _ref$variant;
32
+
33
+ var _React$useState = React.useState([]),
34
+ _React$useState2 = _slicedToArray(_React$useState, 2),
35
+ actionsRefs = _React$useState2[0],
36
+ setActionsRefs = _React$useState2[1];
37
+
38
+ var checkBoxRef = React.useRef(null);
39
+ var containerRef = React.useRef(null);
40
+ useActionWithin(containerRef, [].concat(_toConsumableArray(actionsRefs), [checkBoxRef]));
41
+ var cls = "".concat(!!onCardClicked ? 'interactive' : '', " ").concat(disabled ? 'disabled' : '', " ").concat(variant);
29
42
  return /*#__PURE__*/_jsx(Wrapper, {
43
+ ref: containerRef,
30
44
  className: cls,
31
45
  tabIndex: !!onCardClicked && !disabled ? 0 : -1,
32
46
  onMouseDown: defaultOnMouseDownHandler,
@@ -37,11 +51,17 @@ var Card = function Card(_ref) {
37
51
  return !disabled && onCardClicked && onCardClicked();
38
52
  },
39
53
  children: /*#__PURE__*/_jsxs(CardTopLevelContainer, {
40
- children: [topSectionProps && /*#__PURE__*/_jsx(CardTopSection, _objectSpread(_objectSpread({}, topSectionProps), {}, {
54
+ children: [topSectionProps && /*#__PURE__*/_jsx(CardTopSection, _objectSpread(_objectSpread({
55
+ ref: checkBoxRef
56
+ }, topSectionProps), {}, {
41
57
  disabled: disabled
42
58
  })), middleSectionProps && /*#__PURE__*/_jsx(CardMiddleSection, _objectSpread(_objectSpread({}, middleSectionProps), {}, {
43
59
  disabled: disabled
44
- })), bottomSectionProps && /*#__PURE__*/_jsx(CardBottomSection, _objectSpread(_objectSpread({}, bottomSectionProps), {}, {
60
+ })), bottomSectionProps && /*#__PURE__*/_jsx(CardBottomSection, _objectSpread(_objectSpread({
61
+ ref: function ref(instance) {
62
+ return setActionsRefs(instance !== null && instance !== void 0 ? instance : []);
63
+ }
64
+ }, bottomSectionProps), {}, {
45
65
  disabled: disabled
46
66
  }))]
47
67
  })
@@ -50,7 +70,8 @@ var Card = function Card(_ref) {
50
70
 
51
71
  Card.propTypes = {
52
72
  onCardClicked: _pt.func,
53
- disabled: _pt.bool.isRequired
73
+ disabled: _pt.bool,
74
+ variant: _pt.oneOf(['outline', 'elevated'])
54
75
  };
55
76
  export default Card;
56
77
  //# sourceMappingURL=Card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Card/VerticalCard/Card.tsx"],"names":["React","styled","CardTopSection","CardMiddleSection","CardBottomSection","BOXSHADOWS","COLORS","defaultOnMouseDownHandler","focusStyles","useActionWithin","CardTopLevelContainer","div","white","BOXSHADOW_L1","neutral_200","Wrapper","primary_20","primary_100","BOXSHADOW_L3","BOXSHADOW_L2","Card","onCardClicked","topSectionProps","middleSectionProps","bottomSectionProps","disabled","variant","useState","actionsRefs","setActionsRefs","checkBoxRef","useRef","containerRef","cls","a","key","e","instance"],"mappings":";;;;;;;;;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,cAAP,MAAkD,kBAAlD;AACA,OAAOC,iBAAP,MAAwD,qBAAxD;AACA,OAAOC,iBAAP,MAAwD,qBAAxD;AACA,SAAQC,UAAR,EAAoBC,MAApB,EAA4BC,yBAA5B,EAAuDC,WAAvD,EAAoEC,eAApE,QAA0F,aAA1F;;;AAEA,OAAO,IAAMC,qBAAqB,GAAGT,MAAM,CAACU,GAAV,0UACZL,MAAM,CAACM,KADK,EAWhBP,UAAU,CAACQ,YAXK,EAeVP,MAAM,CAACQ,WAfG,CAA3B;AAoBP,OAAO,IAAMC,OAAO,GAAGd,MAAM,CAACU,GAAV,4rBAKdH,WALc,EAYZE,qBAZY,EAcUJ,MAAM,CAACU,UAdjB,EAkBUV,MAAM,CAACW,WAlBjB,EAwBZP,qBAxBY,EA0BIL,UAAU,CAACa,YA1Bf,EA8BIb,UAAU,CAACc,YA9Bf,CAAb;;AAmDP,IAAMC,IAAwC,GAAG,SAA3CA,IAA2C,OAOkB;AAAA,MANfC,aAMe,QANfA,aAMe;AAAA,MALfC,eAKe,QALfA,eAKe;AAAA,MAJfC,kBAIe,QAJfA,kBAIe;AAAA,MAHfC,kBAGe,QAHfA,kBAGe;AAAA,MAFfC,QAEe,QAFfA,QAEe;AAAA,0BADfC,OACe;AAAA,MADfA,OACe,6BADL,SACK;;AAGjE,wBAAsC1B,KAAK,CAAC2B,QAAN,CAA+C,EAA/C,CAAtC;AAAA;AAAA,MAAOC,WAAP;AAAA,MAAoBC,cAApB;;AACA,MAAMC,WAAW,GAAI9B,KAAK,CAAC+B,MAAN,CAA6B,IAA7B,CAArB;AACA,MAAMC,YAAY,GAAGhC,KAAK,CAAC+B,MAAN,CAA6B,IAA7B,CAArB;AAEAtB,EAAAA,eAAe,CAACuB,YAAD,+BAAmBJ,WAAnB,IAAgCE,WAAhC,GAAf;AAEA,MAAMG,GAAG,aAAM,CAAC,CAACZ,aAAF,GAAkB,aAAlB,GAAkC,EAAxC,cAA8CI,QAAQ,GAAG,UAAH,GAAgB,EAAtE,cAA4EC,OAA5E,CAAT;AAEA,sBAEE,KAAC,OAAD;AAAS,IAAA,GAAG,EAAEM,YAAd;AACS,IAAA,SAAS,EAAEC,GADpB;AAES,IAAA,QAAQ,EAAE,CAAC,CAACZ,aAAF,IAAmB,CAACI,QAApB,GAA+B,CAA/B,GAAmC,CAAC,CAFvD;AAGS,IAAA,WAAW,EAAElB,yBAHtB;AAIS,IAAA,SAAS,EAAE,mBAAA2B,CAAC;AAAA,aAAIA,CAAC,CAACC,GAAF,KAAU,OAAV,IAAqB,CAACV,QAAtB,IAAkCJ,aAAlC,IAAmDA,aAAa,EAApE;AAAA,KAJrB;AAKS,IAAA,OAAO,EAAE,iBAAAe,CAAC;AAAA,aAAI,CAACX,QAAD,IAAaJ,aAAb,IAA8BA,aAAa,EAA/C;AAAA,KALnB;AAAA,2BAME,MAAC,qBAAD;AAAA,iBAEIC,eAAe,iBACf,KAAC,cAAD;AAAgB,QAAA,GAAG,EAAEQ;AAArB,SACMR,eADN;AACuB,QAAA,QAAQ,EAAEG;AADjC,SAHJ,EAOIF,kBAAkB,iBAClB,KAAC,iBAAD,kCAAuBA,kBAAvB;AAA2C,QAAA,QAAQ,EAAEE;AAArD,SARJ,EAWID,kBAAkB,iBAClB,KAAC,iBAAD;AAAmB,QAAA,GAAG,EAAE,aAAAa,QAAQ;AAAA,iBAAIR,cAAc,CAACQ,QAAD,aAACA,QAAD,cAACA,QAAD,GAAa,EAAb,CAAlB;AAAA;AAAhC,SACuBb,kBADvB;AAC2C,QAAA,QAAQ,EAAEC;AADrD,SAZJ;AAAA;AANF,IAFF;AA2BD,CA7CD;;;AAREJ,EAAAA,a;AACAI,EAAAA,Q;AAIAC,EAAAA,O,aAAU,S,EAAY,U;;AAkDxB,eAAeN,IAAf","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport CardTopSection, {CardTopSectionProps} from './CardTopSection';\nimport CardMiddleSection, {CardMiddleSectionProps} from './CardMiddleSection';\nimport CardBottomSection, {CardBottomSectionProps} from './CardBottomSection';\nimport {BOXSHADOWS, COLORS, defaultOnMouseDownHandler, focusStyles, useActionWithin} from '../../index';\n\nexport const CardTopLevelContainer = styled.div`\n background-color: ${COLORS.white};\n\n border-radius: 8px;\n\n background-clip: padding-box;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n\n .elevated & {\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L1};\n }\n\n .outline & {\n border: 1px solid ${COLORS.neutral_200};\n }\n`;\n\n\nexport const Wrapper = styled.div`\n height: max-content;\n width: max-content;\n\n &.interactive:focus {\n ${focusStyles}\n }\n\n &.interactive:not(.disabled) {\n cursor: pointer;\n\n &.outline:not(.action-within) {\n ${CardTopLevelContainer} {\n &:hover {\n background-color: ${COLORS.primary_20};\n }\n\n &:active, &.active-state {\n background-color: ${COLORS.primary_100};\n }\n }\n }\n\n &.elevated:not(.action-within) {\n ${CardTopLevelContainer} {\n &:hover {\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L3};\n }\n\n &:active, &.active-state {\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L2};\n }\n }\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n }\n`;\n\n\nexport interface CardProps {\n onCardClicked?: () => {};\n disabled?: boolean;\n topSectionProps?: CardTopSectionProps;\n middleSectionProps?: CardMiddleSectionProps;\n bottomSectionProps?: CardBottomSectionProps;\n variant?: 'outline' | 'elevated';\n}\n\nconst Card: React.FunctionComponent<CardProps> = ({\n onCardClicked,\n topSectionProps,\n middleSectionProps,\n bottomSectionProps,\n disabled,\n variant = 'outline'\n }: CardProps) => {\n\n\n const [actionsRefs, setActionsRefs] = React.useState<React.RefObject<HTMLElement>[]>([]);\n const checkBoxRef = React.useRef<HTMLDivElement>(null);\n const containerRef = React.useRef<HTMLDivElement>(null);\n\n useActionWithin(containerRef, [...actionsRefs, checkBoxRef]);\n\n const cls = `${!!onCardClicked ? 'interactive' : ''} ${disabled ? 'disabled' : ''} ${variant}`;\n\n return (\n\n <Wrapper ref={containerRef}\n className={cls}\n tabIndex={!!onCardClicked && !disabled ? 0 : -1}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={a => a.key === 'Enter' && !disabled && onCardClicked && onCardClicked()}\n onClick={e => !disabled && onCardClicked && onCardClicked()}>\n <CardTopLevelContainer>\n {\n topSectionProps &&\n <CardTopSection ref={checkBoxRef}\n {...topSectionProps} disabled={disabled}/>\n }\n {\n middleSectionProps &&\n <CardMiddleSection {...middleSectionProps} disabled={disabled}/>\n }\n {\n bottomSectionProps &&\n <CardBottomSection ref={instance => setActionsRefs(instance ?? [])}\n {...bottomSectionProps} disabled={disabled}/>\n }\n </CardTopLevelContainer>\n </Wrapper>\n\n );\n};\n\nexport default Card;\n"],"file":"Card.js"}
@@ -9,6 +9,8 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.default = exports.CardProgressContainer = exports.CardNotesContainer = exports.CardNoteRight = exports.CardNoteLeft = exports.CardButtonRowContainer = exports.CardBottomSectionContainer = exports.CardBottomDivider = exports.CardAuthorContainer = void 0;
11
11
 
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
12
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
15
 
14
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -17,9 +19,9 @@ var React = _interopRequireWildcard(require("react"));
17
19
 
18
20
  var _styledComponents = _interopRequireDefault(require("styled-components"));
19
21
 
20
- var _ = require("..");
22
+ var _index = require("../../index");
21
23
 
22
- var _Button = require("../Button");
24
+ var _Button = require("../../Button");
23
25
 
24
26
  var _jsxRuntime = require("react/jsx-runtime");
25
27
 
@@ -33,17 +35,17 @@ var CardProgressContainer = _styledComponents.default.div(_templateObject || (_t
33
35
 
34
36
  exports.CardProgressContainer = CardProgressContainer;
35
37
 
36
- var CardNotesContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n height: 48px;\n position: relative;\n color: ", ";\n display: flex;\n flex-direction: row;\n align-items: center;\n"])), _.COLORS.neutral_500);
38
+ var CardNotesContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n height: 48px;\n position: relative;\n color: ", ";\n display: flex;\n flex-direction: row;\n align-items: center;\n"])), _index.COLORS.neutral_500);
37
39
 
38
40
  exports.CardNotesContainer = CardNotesContainer;
39
41
 
40
42
  var CardAuthorContainer = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n align-items: center;\n height: 48px;\n\n div:first-child {\n flex-grow: 2;\n }\n\n svg, img {\n width: 80px;\n flex-grow: 0;\n flex-shrink: 0;\n }\n\n ", "\n"])), function (props) {
41
- return props.disabled ? "\n color: ".concat(_.COLORS.neutral_300, ";\n svg, img {\n filter: grayscale(100%);\n }\n \n ") : '';
43
+ return props.disabled ? "\n color: ".concat(_index.COLORS.neutral_300, ";\n svg, img {\n filter: grayscale(100%);\n }\n \n ") : '';
42
44
  });
43
45
 
44
46
  exports.CardAuthorContainer = CardAuthorContainer;
45
47
 
46
- var CardBottomDivider = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n border-top: 1px;\n border-top-color: ", ";\n border-top-style: solid;\n width: 100%;\n"])), _.COLORS.neutral_100);
48
+ var CardBottomDivider = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n border-top: 1px;\n border-top-color: ", ";\n border-top-style: solid;\n width: 100%;\n"])), _index.COLORS.neutral_100);
47
49
 
48
50
  exports.CardBottomDivider = CardBottomDivider;
49
51
 
@@ -55,19 +57,18 @@ var CardNoteRight = _styledComponents.default.div(_templateObject6 || (_template
55
57
 
56
58
  exports.CardNoteRight = CardNoteRight;
57
59
 
58
- var CardButtonRowContainer = _styledComponents.default.div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n border-top: 1px;\n border-top-color: ", ";\n border-top-style: solid;\n\n button:last-child{\n margin: 8px 0px 0px 0px;\n }\n\n button:not(:last-child) {\n margin: 8px 0px 0px 0px;\n }\n\n svg {\n color: ", ";\n }\n"])), _.COLORS.neutral_100, _.COLORS.neutral_600);
60
+ var CardButtonRowContainer = _styledComponents.default.div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n border-top: 1px;\n border-top-color: ", ";\n border-top-style: solid;\n\n button:last-child {\n margin: 8px 0px 0px 0px;\n }\n\n button:not(:last-child) {\n margin: 8px 0px 0px 0px;\n }\n\n svg {\n color: ", ";\n }\n"])), _index.COLORS.neutral_100, _index.COLORS.neutral_600);
59
61
 
60
62
  exports.CardButtonRowContainer = CardButtonRowContainer;
61
63
 
62
64
  var CardBottomSectionContainer = _styledComponents.default.div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["\n padding: 0px 16px 8px 16px;\n width: calc(100% - 32px);\n"])));
63
65
 
64
66
  exports.CardBottomSectionContainer = CardBottomSectionContainer;
65
-
66
- var CardBottomSection = function CardBottomSection(_ref) {
67
+ var CardBottomSection = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
67
68
  var progressLevel = _ref.progressLevel,
68
69
  progressMax = _ref.progressMax,
69
70
  _ref$progressType = _ref.progressType,
70
- progressType = _ref$progressType === void 0 ? _.LinearProgressType.Line : _ref$progressType,
71
+ progressType = _ref$progressType === void 0 ? _index.LinearProgressType.Line : _ref$progressType,
71
72
  noteLeft = _ref.noteLeft,
72
73
  noteLeftIcon = _ref.noteLeftIcon,
73
74
  noteRight = _ref.noteRight,
@@ -76,52 +77,66 @@ var CardBottomSection = function CardBottomSection(_ref) {
76
77
  logo = _ref.logo,
77
78
  actions = _ref.actions,
78
79
  disabled = _ref.disabled;
80
+
81
+ var _React$useState = React.useState([]),
82
+ _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
83
+ elRefs = _React$useState2[0],
84
+ setElRefs = _React$useState2[1];
85
+
86
+ var length = (actions === null || actions === void 0 ? void 0 : actions.length) || 0;
87
+ React.useEffect(function () {
88
+ setElRefs(Array(length || 0).fill(null).map(function () {
89
+ return /*#__PURE__*/React.createRef();
90
+ }));
91
+ }, [length]);
92
+ React.useImperativeHandle(ref, function () {
93
+ return elRefs;
94
+ }, [elRefs]);
79
95
  var haveAtLeastSomething = progressLevel != undefined || noteLeft || noteLeftIcon || noteRight || noteRightIcon || authorName;
80
96
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(CardBottomSectionContainer, {
81
97
  children: [haveAtLeastSomething && /*#__PURE__*/(0, _jsxRuntime.jsx)(CardBottomDivider, {}), progressLevel != undefined && /*#__PURE__*/(0, _jsxRuntime.jsx)(CardProgressContainer, {
82
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_.LinearProgress, {
83
- size: _.Size.Small,
98
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.LinearProgress, {
99
+ size: _index.Size.Small,
84
100
  type: progressType,
85
- variant: _.LinearProgressVariant.Normal,
101
+ variant: _index.LinearProgressVariant.Normal,
86
102
  value: progressLevel,
87
103
  max: progressMax !== null && progressMax !== void 0 ? progressMax : progressLevel
88
104
  })
89
105
  }), (noteLeft || noteLeftIcon || noteRight || noteRightIcon) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(CardNotesContainer, {
90
106
  children: [(noteLeft || noteLeftIcon) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(CardNoteLeft, {
91
- children: [noteLeftIcon, /*#__PURE__*/(0, _jsxRuntime.jsx)(_.ComponentXXS, {
92
- color: _.COLORS.neutral_500,
93
- textStyle: _.ComponentTextStyle.Bold,
107
+ children: [noteLeftIcon, /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.ComponentXXS, {
108
+ color: _index.COLORS.neutral_500,
109
+ textStyle: _index.ComponentTextStyle.Bold,
94
110
  children: noteLeft
95
111
  })]
96
112
  }), (noteRight || noteRightIcon) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(CardNoteRight, {
97
- children: [noteRightIcon, /*#__PURE__*/(0, _jsxRuntime.jsx)(_.ComponentXXS, {
98
- color: _.COLORS.neutral_500,
99
- textStyle: _.ComponentTextStyle.Bold,
113
+ children: [noteRightIcon, /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.ComponentXXS, {
114
+ color: _index.COLORS.neutral_500,
115
+ textStyle: _index.ComponentTextStyle.Bold,
100
116
  children: noteRight
101
117
  })]
102
118
  })]
103
119
  }), (authorName || logo) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(CardAuthorContainer, {
104
120
  disabled: disabled,
105
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_.ComponentXXS, {
121
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_index.ComponentXXS, {
106
122
  children: authorName
107
123
  }), logo]
108
124
  }), actions && /*#__PURE__*/(0, _jsxRuntime.jsx)(CardButtonRowContainer, {
109
- children: actions.map(function (x) {
125
+ children: actions.map(function (x, index) {
110
126
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
127
+ ref: elRefs[index],
111
128
  disabled: disabled,
112
129
  variant: "secondary",
113
130
  shape: "circular",
114
131
  action: function action(e) {
115
- e === null || e === void 0 ? void 0 : e.stopPropagation();
116
132
  x.onClick();
117
133
  },
118
134
  children: x.icon
119
- });
135
+ }, index);
120
136
  })
121
137
  })]
122
138
  });
123
- };
124
-
139
+ });
125
140
  CardBottomSection.propTypes = {
126
141
  progressLevel: _propTypes.default.number,
127
142
  progressMax: _propTypes.default.number,
@@ -135,7 +150,7 @@ CardBottomSection.propTypes = {
135
150
  onClick: _propTypes.default.func.isRequired
136
151
  })),
137
152
  logo: _propTypes.default.node,
138
- disabled: _propTypes.default.bool.isRequired
153
+ disabled: _propTypes.default.bool
139
154
  };
140
155
  var _default = CardBottomSection;
141
156
  exports.default = _default;