@laerdal/life-react-components 1.9.8-dev.9.full → 1.9.9

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 (93) hide show
  1. package/dist/Card/{VerticalCard/Card.cjs → Card.cjs} +9 -32
  2. package/dist/Card/Card.cjs.map +1 -0
  3. package/dist/Card/{VerticalCard/Card.d.ts → Card.d.ts} +1 -2
  4. package/dist/Card/{VerticalCard/Card.js → Card.js} +8 -29
  5. package/dist/Card/Card.js.map +1 -0
  6. package/dist/Card/{VerticalCard/CardBottomSection.cjs → CardBottomSection.cjs} +25 -40
  7. package/dist/Card/CardBottomSection.cjs.map +1 -0
  8. package/dist/Card/{VerticalCard/CardBottomSection.d.ts → CardBottomSection.d.ts} +4 -4
  9. package/dist/Card/{VerticalCard/CardBottomSection.js → CardBottomSection.js} +11 -25
  10. package/dist/Card/CardBottomSection.js.map +1 -0
  11. package/dist/Card/{VerticalCard/CardMiddleSection.cjs → CardMiddleSection.cjs} +13 -13
  12. package/dist/Card/CardMiddleSection.cjs.map +1 -0
  13. package/dist/Card/{VerticalCard/CardMiddleSection.d.ts → CardMiddleSection.d.ts} +2 -2
  14. package/dist/Card/{VerticalCard/CardMiddleSection.js → CardMiddleSection.js} +2 -2
  15. package/dist/Card/CardMiddleSection.js.map +1 -0
  16. package/dist/Card/{VerticalCard/CardTopSection.cjs → CardTopSection.cjs} +12 -11
  17. package/dist/Card/CardTopSection.cjs.map +1 -0
  18. package/dist/Card/{VerticalCard/CardTopSection.d.ts → CardTopSection.d.ts} +5 -5
  19. package/dist/Card/{VerticalCard/CardTopSection.js → CardTopSection.js} +10 -9
  20. package/dist/Card/CardTopSection.js.map +1 -0
  21. package/dist/Card/index.cjs +64 -8
  22. package/dist/Card/index.cjs.map +1 -1
  23. package/dist/Card/index.d.ts +7 -2
  24. package/dist/Card/index.js +7 -2
  25. package/dist/Card/index.js.map +1 -1
  26. package/dist/Dropdown/DropdownButton.cjs +3 -3
  27. package/dist/Dropdown/DropdownButton.cjs.map +1 -1
  28. package/dist/Dropdown/DropdownButton.d.ts +1 -5
  29. package/dist/Dropdown/DropdownButton.js +4 -3
  30. package/dist/Dropdown/DropdownButton.js.map +1 -1
  31. package/dist/InputFields/NumberField.cjs +63 -139
  32. package/dist/InputFields/NumberField.cjs.map +1 -1
  33. package/dist/InputFields/NumberField.d.ts +1 -4
  34. package/dist/InputFields/NumberField.js +63 -138
  35. package/dist/InputFields/NumberField.js.map +1 -1
  36. package/dist/List/ListRow.cjs +3 -24
  37. package/dist/List/ListRow.cjs.map +1 -1
  38. package/dist/List/ListRow.d.ts +0 -3
  39. package/dist/List/ListRow.js +3 -22
  40. package/dist/List/ListRow.js.map +1 -1
  41. package/dist/Toggles/ToggleButton.cjs +2 -3
  42. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  43. package/dist/Toggles/ToggleButton.d.ts +1 -1
  44. package/dist/Toggles/ToggleButton.js +2 -3
  45. package/dist/Toggles/ToggleButton.js.map +1 -1
  46. package/dist/common/ActionWithin.cjs.map +1 -1
  47. package/dist/common/ActionWithin.js.map +1 -1
  48. package/dist/index.cjs.map +1 -1
  49. package/dist/index.js.map +1 -1
  50. package/package.json +1 -1
  51. package/dist/Card/HorizontalCard/HorizontalCard.cjs +0 -97
  52. package/dist/Card/HorizontalCard/HorizontalCard.cjs.map +0 -1
  53. package/dist/Card/HorizontalCard/HorizontalCard.d.ts +0 -4
  54. package/dist/Card/HorizontalCard/HorizontalCard.js +0 -74
  55. package/dist/Card/HorizontalCard/HorizontalCard.js.map +0 -1
  56. package/dist/Card/HorizontalCard/HorizontalCardActions.cjs +0 -124
  57. package/dist/Card/HorizontalCard/HorizontalCardActions.cjs.map +0 -1
  58. package/dist/Card/HorizontalCard/HorizontalCardActions.d.ts +0 -5
  59. package/dist/Card/HorizontalCard/HorizontalCardActions.js +0 -98
  60. package/dist/Card/HorizontalCard/HorizontalCardActions.js.map +0 -1
  61. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs +0 -60
  62. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs.map +0 -1
  63. package/dist/Card/HorizontalCard/HorizontalCardBody.d.ts +0 -5
  64. package/dist/Card/HorizontalCard/HorizontalCardBody.js +0 -40
  65. package/dist/Card/HorizontalCard/HorizontalCardBody.js.map +0 -1
  66. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs +0 -49
  67. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs.map +0 -1
  68. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.d.ts +0 -5
  69. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js +0 -33
  70. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js.map +0 -1
  71. package/dist/Card/HorizontalCard/index.cjs +0 -33
  72. package/dist/Card/HorizontalCard/index.cjs.map +0 -1
  73. package/dist/Card/HorizontalCard/index.d.ts +0 -2
  74. package/dist/Card/HorizontalCard/index.js +0 -3
  75. package/dist/Card/HorizontalCard/index.js.map +0 -1
  76. package/dist/Card/HorizontalCard/types.cjs +0 -6
  77. package/dist/Card/HorizontalCard/types.cjs.map +0 -1
  78. package/dist/Card/HorizontalCard/types.d.ts +0 -40
  79. package/dist/Card/HorizontalCard/types.js +0 -2
  80. package/dist/Card/HorizontalCard/types.js.map +0 -1
  81. package/dist/Card/VerticalCard/Card.cjs.map +0 -1
  82. package/dist/Card/VerticalCard/Card.js.map +0 -1
  83. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +0 -1
  84. package/dist/Card/VerticalCard/CardBottomSection.js.map +0 -1
  85. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +0 -1
  86. package/dist/Card/VerticalCard/CardMiddleSection.js.map +0 -1
  87. package/dist/Card/VerticalCard/CardTopSection.cjs.map +0 -1
  88. package/dist/Card/VerticalCard/CardTopSection.js.map +0 -1
  89. package/dist/Card/VerticalCard/index.cjs +0 -88
  90. package/dist/Card/VerticalCard/index.cjs.map +0 -1
  91. package/dist/Card/VerticalCard/index.d.ts +0 -7
  92. package/dist/Card/VerticalCard/index.js +0 -8
  93. package/dist/Card/VerticalCard/index.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { TagVariants } from '../../index';
2
+ import { TagVariants } from '..';
3
3
  export interface CardMiddleSectionProps {
4
4
  colorBandColor?: string;
5
5
  categoryIcon?: React.ReactNode;
@@ -8,7 +8,7 @@ export interface CardMiddleSectionProps {
8
8
  description?: string;
9
9
  tags?: CardTag[];
10
10
  row2Tags?: CardTag[];
11
- disabled?: boolean;
11
+ disabled: boolean;
12
12
  }
13
13
  export interface CardTag {
14
14
  label: string;
@@ -5,7 +5,7 @@ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
5
5
 
6
6
  import * as React from 'react';
7
7
  import styled from 'styled-components';
8
- import { COLORS, ComponentS, ComponentTextStyle, ComponentXL, Tag } from '../../index';
8
+ import { COLORS, ComponentS, ComponentTextStyle, ComponentXL, Tag } from '..';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  import { jsxs as _jsxs } from "react/jsx-runtime";
11
11
  export var CardMiddleSectionContainer = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-grow: 1;\n width: calc(100% - 32px);\n position: relative;\n flex-direction: column;\n padding: 16px;\n gap: 8px;\n\n .descriptionBlock {\n padding: 2px 0;\n }\n\n .titleBlock {\n padding: 2px 0;\n }\n"])));
@@ -78,7 +78,7 @@ CardMiddleSection.propTypes = {
78
78
  row2Tags: _pt.arrayOf(_pt.shape({
79
79
  label: _pt.string.isRequired
80
80
  })),
81
- disabled: _pt.bool
81
+ disabled: _pt.bool.isRequired
82
82
  };
83
83
  export default CardMiddleSection;
84
84
  //# sourceMappingURL=CardMiddleSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Card/CardMiddleSection.tsx"],"names":["React","styled","COLORS","ComponentS","ComponentTextStyle","ComponentXL","Tag","CardMiddleSectionContainer","div","CardColorBand","props","$color","CardTagsContainer","CardCategoryContainer","neutral_500","CardMiddleSection","colorBandColor","categoryIcon","categoryLabel","title","description","tags","row2Tags","disabled","Boolean","Bold","black","neutral_600","map","x","index","label","variant"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport { COLORS, ComponentS, ComponentTextStyle, ComponentXL, Tag, TagVariants } from '..';\n\nexport interface CardMiddleSectionProps {\n colorBandColor?: string;\n categoryIcon?: React.ReactNode;\n categoryLabel?: string;\n title: string;\n description?: string;\n tags?: CardTag[];\n row2Tags?: CardTag[];\n disabled: boolean;\n}\n\nexport interface CardTag {\n label: string;\n variant?: TagVariants;\n}\n\nexport const CardMiddleSectionContainer = styled.div`\n display: flex;\n flex-grow: 1;\n width: calc(100% - 32px);\n position: relative;\n flex-direction: column;\n padding: 16px;\n gap: 8px;\n\n .descriptionBlock {\n padding: 2px 0;\n }\n\n .titleBlock {\n padding: 2px 0;\n }\n`;\n\nexport const CardColorBand = styled.div<{ $color: string }>`\n position: absolute;\n width: 100%;\n top: 0px;\n left: 0px;\n height: 8px;\n background-color: ${(props) => props.$color};\n`;\n\nexport const CardTagsContainer = styled.div`\n display: flex;\n flex-direction: row;\n padding: 4px 0;\n gap: 4px;\n flex-wrap: wrap;\n`;\n\nexport const CardCategoryContainer = styled.div<{ extraTopMargin: boolean; bottomMargin: boolean }>`\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: none;\n gap: 6px;\n\n svg {\n color: ${COLORS.neutral_500};\n flex-grow: 0;\n flex-shrink: 0;\n }\n`;\n\nconst CardMiddleSection: React.FunctionComponent<CardMiddleSectionProps> = ({\n colorBandColor,\n categoryIcon,\n categoryLabel,\n title,\n description,\n tags,\n row2Tags,\n disabled,\n}: CardMiddleSectionProps) => {\n return (\n <CardMiddleSectionContainer>\n {colorBandColor && <CardColorBand $color={colorBandColor} />}\n <CardCategoryContainer extraTopMargin={Boolean(colorBandColor)} bottomMargin={Boolean(categoryIcon || categoryLabel)}>\n {categoryIcon}\n <ComponentS textStyle={ComponentTextStyle.Bold} color={COLORS.neutral_500}>\n {categoryLabel}\n </ComponentS>\n </CardCategoryContainer>\n <ComponentXL className=\"titleBlock\" textStyle={ComponentTextStyle.Bold} color={disabled ? COLORS.neutral_500 : COLORS.black}>\n {title}\n </ComponentXL>\n {description && (\n <ComponentS className=\"descriptionBlock\" color={COLORS.neutral_600}>\n {description}\n </ComponentS>\n )}\n {tags && (\n <CardTagsContainer>\n {tags.map((x, index) => (\n <Tag key={`${x.label}_${index}`} label={x.label} variant={x.variant ?? 'neutral'} />\n ))}\n </CardTagsContainer>\n )}\n {row2Tags && (\n <CardTagsContainer>\n {row2Tags.map((x, index) => (\n <Tag key={`${x.label}_${index}`} label={x.label} variant={x.variant ?? 'neutral'} />\n ))}\n </CardTagsContainer>\n )}\n </CardMiddleSectionContainer>\n );\n};\n\nexport default CardMiddleSection;\n"],"file":"CardMiddleSection.js"}
@@ -17,13 +17,13 @@ var React = _interopRequireWildcard(require("react"));
17
17
 
18
18
  var _styledComponents = _interopRequireDefault(require("styled-components"));
19
19
 
20
- var _typography = require("../../styles/typography");
20
+ var _typography = require("../styles/typography");
21
21
 
22
- var _Checkbox = _interopRequireDefault(require("../../InputFields/Checkbox"));
22
+ var _Checkbox = _interopRequireDefault(require("../InputFields/Checkbox"));
23
23
 
24
- var _Tag = require("../../Tag");
24
+ var _Tag = require("../Tag");
25
25
 
26
- var _index = require("../../index");
26
+ var _ = require("..");
27
27
 
28
28
  var _jsxRuntime = require("react/jsx-runtime");
29
29
 
@@ -55,10 +55,11 @@ var CardRibbonContainer = _styledComponents.default.div(_templateObject4 || (_te
55
55
 
56
56
  exports.CardRibbonContainer = CardRibbonContainer;
57
57
 
58
- var CardCheckboxContainer = _styledComponents.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n\n .checkbox-icon {\n background-color: ", ";\n }\n"])), _index.COLORS.white);
58
+ var CardCheckboxContainer = _styledComponents.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n\n .checkbox-icon {\n background-color: ", ";\n }\n"])), _.COLORS.white);
59
59
 
60
60
  exports.CardCheckboxContainer = CardCheckboxContainer;
61
- var CardTopSection = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
61
+
62
+ var CardTopSection = function CardTopSection(_ref) {
62
63
  var selected = _ref.selected,
63
64
  setSelected = _ref.setSelected,
64
65
  image = _ref.image,
@@ -77,7 +78,6 @@ var CardTopSection = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
77
78
  src: image
78
79
  }), (!!selected || !!setSelected) && /*#__PURE__*/(0, _jsxRuntime.jsx)(CardCheckboxContainer, {
79
80
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.default, {
80
- ref: ref,
81
81
  disabled: disabled,
82
82
  select: function select(selected) {
83
83
  return setSelected && setSelected(selected);
@@ -92,7 +92,7 @@ var CardTopSection = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
92
92
  })
93
93
  }), (highlightRibbonIcon || highlightRibbonText) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(CardRibbonContainer, {
94
94
  $color: highlightRibbonContentColor !== null && highlightRibbonContentColor !== void 0 ? highlightRibbonContentColor : '',
95
- $backgroundColor: disabled ? _index.COLORS.neutral_300 : highlightRibbonBgColor !== null && highlightRibbonBgColor !== void 0 ? highlightRibbonBgColor : '',
95
+ $backgroundColor: disabled ? _.COLORS.neutral_300 : highlightRibbonBgColor !== null && highlightRibbonBgColor !== void 0 ? highlightRibbonBgColor : '',
96
96
  children: [highlightRibbonIcon, highlightRibbonText && /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.ComponentS, {
97
97
  color: highlightRibbonContentColor !== null && highlightRibbonContentColor !== void 0 ? highlightRibbonContentColor : '',
98
98
  textStyle: _typography.ComponentTextStyle.Regular,
@@ -100,18 +100,19 @@ var CardTopSection = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
100
100
  })]
101
101
  })]
102
102
  });
103
- });
103
+ };
104
+
104
105
  CardTopSection.propTypes = {
105
106
  selected: _propTypes.default.bool,
106
107
  setSelected: _propTypes.default.func,
107
108
  tagLabel: _propTypes.default.string,
108
109
  tagIcon: _propTypes.default.node,
109
110
  highlightRibbonText: _propTypes.default.string,
110
- highlightRibbonIcon: _propTypes.default.node,
111
+ highlightRibbonIcon: _propTypes.default.string,
111
112
  highlightRibbonContentColor: _propTypes.default.string,
112
113
  highlightRibbonBgColor: _propTypes.default.string,
113
114
  image: _propTypes.default.string,
114
- disabled: _propTypes.default.bool
115
+ disabled: _propTypes.default.bool.isRequired
115
116
  };
116
117
  var _default = CardTopSection;
117
118
  exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Card/CardTopSection.tsx"],"names":["CardImg","styled","img","CardTopTagContainer","div","CardTopSectionContainer","props","disabled","CardRibbonContainer","$backgroundColor","$color","CardCheckboxContainer","COLORS","white","CardTopSection","selected","setSelected","image","tagLabel","tagIcon","tagVariant","highlightRibbonIcon","highlightRibbonText","highlightRibbonContentColor","highlightRibbonBgColor","neutral_300","ComponentTextStyle","Regular"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;;;AAgBO,IAAMA,OAAO,GAAGC,0BAAOC,GAAV,6MAAb;;;;AAQA,IAAMC,mBAAmB,GAAGF,0BAAOG,GAAV,0KAAzB;;;;AAQA,IAAMC,uBAAuB,GAAGJ,0BAAOG,GAAV,iLAMhC,UAAAE,KAAK;AAAA,SAAIA,KAAK,CAACC,QAAN,yDAGN,EAHE;AAAA,CAN2B,CAA7B;;;;AAYA,IAAMC,mBAAmB,GAAGP,0BAAOG,GAAV,ocAEV,UAAAE,KAAK;AAAA,SAAIA,KAAK,CAACG,gBAAV;AAAA,CAFK,EAcnB,UAAAH,KAAK;AAAA,SAAIA,KAAK,CAACI,MAAV;AAAA,CAdc,CAAzB;;;;AAsBA,IAAMC,qBAAqB,GAAGV,0BAAOG,GAAV,8MAOVQ,SAAOC,KAPG,CAA3B;;;;AAWP,IAAMC,cAA4D,GAAG,SAA/DA,cAA+D,OAY4B;AAAA,MAXzBC,QAWyB,QAXzBA,QAWyB;AAAA,MAVzBC,WAUyB,QAVzBA,WAUyB;AAAA,MATzBC,KASyB,QATzBA,KASyB;AAAA,MARzBC,QAQyB,QARzBA,QAQyB;AAAA,MAPzBC,OAOyB,QAPzBA,OAOyB;AAAA,6BANzBC,UAMyB;AAAA,MANzBA,UAMyB,gCANZ,UAMY;AAAA,MALzBC,mBAKyB,QALzBA,mBAKyB;AAAA,MAJzBC,mBAIyB,QAJzBA,mBAIyB;AAAA,MAHzBC,2BAGyB,QAHzBA,2BAGyB;AAAA,MAFzBC,sBAEyB,QAFzBA,sBAEyB;AAAA,MADzBjB,QACyB,QADzBA,QACyB;AAC/F,sBACE,sBAAC,uBAAD;AAAyB,IAAA,QAAQ,EAAEA,QAAnC;AAAA,4BACE,qBAAC,OAAD;AAAS,MAAA,GAAG,EAAEU;AAAd,MADF,EAEG,CAAC,CAAC,CAACF,QAAF,IAAc,CAAC,CAACC,WAAjB,kBACC,qBAAC,qBAAD;AAAA,6BACE,qBAAC,iBAAD;AAAU,QAAA,QAAQ,EAAET,QAApB;AAA8B,QAAA,MAAM,EAAE,gBAACQ,QAAD;AAAA,iBAAuBC,WAAW,IAAIA,WAAW,CAACD,QAAD,CAAjD;AAAA,SAAtC;AAAmG,QAAA,QAAQ,EAAEA,QAAQ,IAAI;AAAzH;AADF,MAHJ,EAOG,CAACG,QAAQ,IAAIC,OAAb,kBACC,qBAAC,mBAAD;AAAA,6BACE,qBAAC,QAAD;AAAK,QAAA,KAAK,EAAED,QAAZ;AAAsB,QAAA,OAAO,EAAEE,UAA/B;AAA2C,QAAA,IAAI,EAAED;AAAjD;AADF,MARJ,EAYG,CAACE,mBAAmB,IAAIC,mBAAxB,kBACC,sBAAC,mBAAD;AAAqB,MAAA,MAAM,EAAEC,2BAAF,aAAEA,2BAAF,cAAEA,2BAAF,GAAiC,EAA5D;AACiB,MAAA,gBAAgB,EAAEhB,QAAQ,GAAGK,SAAOa,WAAV,GAAwBD,sBAAxB,aAAwBA,sBAAxB,cAAwBA,sBAAxB,GAAkD,EAD7F;AAAA,iBAEGH,mBAFH,EAGGC,mBAAmB,iBAClB,qBAAC,sBAAD;AAAY,QAAA,KAAK,EAAEC,2BAAF,aAAEA,2BAAF,cAAEA,2BAAF,GAAiC,EAAlD;AAAsD,QAAA,SAAS,EAAEG,+BAAmBC,OAApF;AAAA,kBACGL;AADH,QAJJ;AAAA,MAbJ;AAAA,IADF;AA0BD,CAvCD;;;AA1EEP,EAAAA,Q;AACAC,EAAAA,W;AACAE,EAAAA,Q;AACAC,EAAAA,O;AAEAG,EAAAA,mB;AACAD,EAAAA,mB;AACAE,EAAAA,2B;AACAC,EAAAA,sB;AACAP,EAAAA,K;AACAV,EAAAA,Q;;eAyGaO,c","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {ComponentS, ComponentTextStyle} from '../styles/typography';\nimport Checkbox from '../InputFields/Checkbox';\nimport {Tag, TagVariants} from '../Tag';\n\nimport {COLORS} from '..';\n\nexport interface CardTopSectionProps {\n selected?: boolean;\n setSelected?: (arg0: boolean) => void;\n tagLabel?: string;\n tagIcon?: React.ReactNode;\n tagVariant?: TagVariants;\n highlightRibbonText?: string;\n highlightRibbonIcon?: string;\n highlightRibbonContentColor?: string;\n highlightRibbonBgColor?: string;\n image?: string;\n disabled: boolean;\n}\n\nexport const CardImg = styled.img`\n object-fit: cover;\n width: 100%;\n height: 100%;\n border-top-right-radius: 8px;\n border-top-left-radius: 8px;\n`;\n\nexport const CardTopTagContainer = styled.div`\n position: absolute;\n\n top: 16px;\n left: 16px;\n width: calc(100% - 32px);\n`;\n\nexport const CardTopSectionContainer = styled.div<{ disabled: boolean }>`\n position: relative;\n width: 100%;\n height: 200px;\n overflow: visible;\n\n ${props => props.disabled ? `\n img, svg {\n filter: grayscale(100%);\n }` : ''}\n`;\n\nexport const CardRibbonContainer = styled.div<{ $color: string; $backgroundColor: string }>`\n min-height: calc(40px - 16px);\n background-color: ${props => props.$backgroundColor};\n width: calc(100% - 32px);\n position: absolute;\n bottom: 0px;\n left: 0px;\n padding: 8px 16px 8px 16px;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 8px;\n\n svg {\n color: ${props => props.$color};\n width: 24px;\n height: 24px;\n flex-grow: 0;\n flex-shrink: 0;\n }\n`;\n\nexport const CardCheckboxContainer = styled.div`\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n\n .checkbox-icon {\n background-color: ${COLORS.white};\n }\n`;\n\nconst CardTopSection: React.FunctionComponent<CardTopSectionProps> = ({\n selected,\n setSelected,\n image,\n tagLabel,\n tagIcon,\n tagVariant = 'positive',\n highlightRibbonIcon,\n highlightRibbonText,\n highlightRibbonContentColor,\n highlightRibbonBgColor,\n disabled\n }: CardTopSectionProps) => {\n return (\n <CardTopSectionContainer disabled={disabled}>\n <CardImg src={image}/>\n {(!!selected || !!setSelected) && (\n <CardCheckboxContainer>\n <Checkbox disabled={disabled} select={(selected: boolean) => setSelected && setSelected(selected)} selected={selected || false}/>\n </CardCheckboxContainer>\n )}\n {(tagLabel || tagIcon) && (\n <CardTopTagContainer>\n <Tag label={tagLabel} variant={tagVariant} icon={tagIcon}/>\n </CardTopTagContainer>\n )}\n {(highlightRibbonIcon || highlightRibbonText) && (\n <CardRibbonContainer $color={highlightRibbonContentColor ?? ''}\n $backgroundColor={disabled ? COLORS.neutral_300 : highlightRibbonBgColor ?? ''}>\n {highlightRibbonIcon}\n {highlightRibbonText && (\n <ComponentS color={highlightRibbonContentColor ?? ''} textStyle={ComponentTextStyle.Regular}>\n {highlightRibbonText}\n </ComponentS>\n )}\n </CardRibbonContainer>\n )}\n </CardTopSectionContainer>\n );\n};\n\nexport default CardTopSection;\n"],"file":"CardTopSection.cjs"}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { TagVariants } from '../../Tag';
2
+ import { TagVariants } from '../Tag';
3
3
  export interface CardTopSectionProps {
4
4
  selected?: boolean;
5
5
  setSelected?: (arg0: boolean) => void;
@@ -7,21 +7,21 @@ export interface CardTopSectionProps {
7
7
  tagIcon?: React.ReactNode;
8
8
  tagVariant?: TagVariants;
9
9
  highlightRibbonText?: string;
10
- highlightRibbonIcon?: React.ReactNode;
10
+ highlightRibbonIcon?: string;
11
11
  highlightRibbonContentColor?: string;
12
12
  highlightRibbonBgColor?: string;
13
13
  image?: string;
14
- disabled?: boolean;
14
+ disabled: boolean;
15
15
  }
16
16
  export declare const CardImg: import("styled-components").StyledComponent<"img", any, {}, never>;
17
17
  export declare const CardTopTagContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
18
18
  export declare const CardTopSectionContainer: import("styled-components").StyledComponent<"div", any, {
19
- disabled?: boolean | undefined;
19
+ disabled: boolean;
20
20
  }, never>;
21
21
  export declare const CardRibbonContainer: import("styled-components").StyledComponent<"div", any, {
22
22
  $color: string;
23
23
  $backgroundColor: string;
24
24
  }, never>;
25
25
  export declare const CardCheckboxContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
26
- declare const CardTopSection: React.ForwardRefExoticComponent<CardTopSectionProps & React.RefAttributes<HTMLDivElement>>;
26
+ declare const CardTopSection: React.FunctionComponent<CardTopSectionProps>;
27
27
  export default CardTopSection;
@@ -5,10 +5,10 @@ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _temp
5
5
 
6
6
  import * as React from 'react';
7
7
  import styled from 'styled-components';
8
- import { ComponentS, ComponentTextStyle } from '../../styles/typography';
9
- import Checkbox from '../../InputFields/Checkbox';
10
- import { Tag } from '../../Tag';
11
- import { COLORS } from '../../index';
8
+ import { ComponentS, ComponentTextStyle } from '../styles/typography';
9
+ import Checkbox from '../InputFields/Checkbox';
10
+ import { Tag } from '../Tag';
11
+ import { COLORS } from '..';
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import { jsxs as _jsxs } from "react/jsx-runtime";
14
14
  export var CardImg = styled.img(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n object-fit: cover;\n width: 100%;\n height: 100%;\n border-top-right-radius: 8px;\n border-top-left-radius: 8px;\n"])));
@@ -22,7 +22,8 @@ export var CardRibbonContainer = styled.div(_templateObject4 || (_templateObject
22
22
  return props.$color;
23
23
  });
24
24
  export var CardCheckboxContainer = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n\n .checkbox-icon {\n background-color: ", ";\n }\n"])), COLORS.white);
25
- var CardTopSection = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
25
+
26
+ var CardTopSection = function CardTopSection(_ref) {
26
27
  var selected = _ref.selected,
27
28
  setSelected = _ref.setSelected,
28
29
  image = _ref.image,
@@ -41,7 +42,6 @@ var CardTopSection = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
41
42
  src: image
42
43
  }), (!!selected || !!setSelected) && /*#__PURE__*/_jsx(CardCheckboxContainer, {
43
44
  children: /*#__PURE__*/_jsx(Checkbox, {
44
- ref: ref,
45
45
  disabled: disabled,
46
46
  select: function select(selected) {
47
47
  return setSelected && setSelected(selected);
@@ -64,18 +64,19 @@ var CardTopSection = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
64
64
  })]
65
65
  })]
66
66
  });
67
- });
67
+ };
68
+
68
69
  CardTopSection.propTypes = {
69
70
  selected: _pt.bool,
70
71
  setSelected: _pt.func,
71
72
  tagLabel: _pt.string,
72
73
  tagIcon: _pt.node,
73
74
  highlightRibbonText: _pt.string,
74
- highlightRibbonIcon: _pt.node,
75
+ highlightRibbonIcon: _pt.string,
75
76
  highlightRibbonContentColor: _pt.string,
76
77
  highlightRibbonBgColor: _pt.string,
77
78
  image: _pt.string,
78
- disabled: _pt.bool
79
+ disabled: _pt.bool.isRequired
79
80
  };
80
81
  export default CardTopSection;
81
82
  //# sourceMappingURL=CardTopSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Card/CardTopSection.tsx"],"names":["React","styled","ComponentS","ComponentTextStyle","Checkbox","Tag","COLORS","CardImg","img","CardTopTagContainer","div","CardTopSectionContainer","props","disabled","CardRibbonContainer","$backgroundColor","$color","CardCheckboxContainer","white","CardTopSection","selected","setSelected","image","tagLabel","tagIcon","tagVariant","highlightRibbonIcon","highlightRibbonText","highlightRibbonContentColor","highlightRibbonBgColor","neutral_300","Regular"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {ComponentS, ComponentTextStyle} from '../styles/typography';\nimport Checkbox from '../InputFields/Checkbox';\nimport {Tag, TagVariants} from '../Tag';\n\nimport {COLORS} from '..';\n\nexport interface CardTopSectionProps {\n selected?: boolean;\n setSelected?: (arg0: boolean) => void;\n tagLabel?: string;\n tagIcon?: React.ReactNode;\n tagVariant?: TagVariants;\n highlightRibbonText?: string;\n highlightRibbonIcon?: string;\n highlightRibbonContentColor?: string;\n highlightRibbonBgColor?: string;\n image?: string;\n disabled: boolean;\n}\n\nexport const CardImg = styled.img`\n object-fit: cover;\n width: 100%;\n height: 100%;\n border-top-right-radius: 8px;\n border-top-left-radius: 8px;\n`;\n\nexport const CardTopTagContainer = styled.div`\n position: absolute;\n\n top: 16px;\n left: 16px;\n width: calc(100% - 32px);\n`;\n\nexport const CardTopSectionContainer = styled.div<{ disabled: boolean }>`\n position: relative;\n width: 100%;\n height: 200px;\n overflow: visible;\n\n ${props => props.disabled ? `\n img, svg {\n filter: grayscale(100%);\n }` : ''}\n`;\n\nexport const CardRibbonContainer = styled.div<{ $color: string; $backgroundColor: string }>`\n min-height: calc(40px - 16px);\n background-color: ${props => props.$backgroundColor};\n width: calc(100% - 32px);\n position: absolute;\n bottom: 0px;\n left: 0px;\n padding: 8px 16px 8px 16px;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 8px;\n\n svg {\n color: ${props => props.$color};\n width: 24px;\n height: 24px;\n flex-grow: 0;\n flex-shrink: 0;\n }\n`;\n\nexport const CardCheckboxContainer = styled.div`\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n\n .checkbox-icon {\n background-color: ${COLORS.white};\n }\n`;\n\nconst CardTopSection: React.FunctionComponent<CardTopSectionProps> = ({\n selected,\n setSelected,\n image,\n tagLabel,\n tagIcon,\n tagVariant = 'positive',\n highlightRibbonIcon,\n highlightRibbonText,\n highlightRibbonContentColor,\n highlightRibbonBgColor,\n disabled\n }: CardTopSectionProps) => {\n return (\n <CardTopSectionContainer disabled={disabled}>\n <CardImg src={image}/>\n {(!!selected || !!setSelected) && (\n <CardCheckboxContainer>\n <Checkbox disabled={disabled} select={(selected: boolean) => setSelected && setSelected(selected)} selected={selected || false}/>\n </CardCheckboxContainer>\n )}\n {(tagLabel || tagIcon) && (\n <CardTopTagContainer>\n <Tag label={tagLabel} variant={tagVariant} icon={tagIcon}/>\n </CardTopTagContainer>\n )}\n {(highlightRibbonIcon || highlightRibbonText) && (\n <CardRibbonContainer $color={highlightRibbonContentColor ?? ''}\n $backgroundColor={disabled ? COLORS.neutral_300 : highlightRibbonBgColor ?? ''}>\n {highlightRibbonIcon}\n {highlightRibbonText && (\n <ComponentS color={highlightRibbonContentColor ?? ''} textStyle={ComponentTextStyle.Regular}>\n {highlightRibbonText}\n </ComponentS>\n )}\n </CardRibbonContainer>\n )}\n </CardTopSectionContainer>\n );\n};\n\nexport default CardTopSection;\n"],"file":"CardTopSection.js"}
@@ -1,32 +1,88 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
3
7
  Object.defineProperty(exports, "__esModule", {
4
8
  value: true
5
9
  });
10
+ var _exportNames = {
11
+ Card: true,
12
+ CardBottomSection: true,
13
+ CardMiddleSection: true,
14
+ CardTopSection: true
15
+ };
16
+ Object.defineProperty(exports, "Card", {
17
+ enumerable: true,
18
+ get: function get() {
19
+ return _Card.default;
20
+ }
21
+ });
22
+ Object.defineProperty(exports, "CardBottomSection", {
23
+ enumerable: true,
24
+ get: function get() {
25
+ return _CardBottomSection.default;
26
+ }
27
+ });
28
+ Object.defineProperty(exports, "CardMiddleSection", {
29
+ enumerable: true,
30
+ get: function get() {
31
+ return _CardMiddleSection.default;
32
+ }
33
+ });
34
+ Object.defineProperty(exports, "CardTopSection", {
35
+ enumerable: true,
36
+ get: function get() {
37
+ return _CardTopSection.default;
38
+ }
39
+ });
40
+
41
+ var _Card = _interopRequireDefault(require("./Card"));
42
+
43
+ var _CardBottomSection = _interopRequireWildcard(require("./CardBottomSection"));
44
+
45
+ Object.keys(_CardBottomSection).forEach(function (key) {
46
+ if (key === "default" || key === "__esModule") return;
47
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
48
+ if (key in exports && exports[key] === _CardBottomSection[key]) return;
49
+ Object.defineProperty(exports, key, {
50
+ enumerable: true,
51
+ get: function get() {
52
+ return _CardBottomSection[key];
53
+ }
54
+ });
55
+ });
6
56
 
7
- var _VerticalCard = require("./VerticalCard");
57
+ var _CardMiddleSection = _interopRequireWildcard(require("./CardMiddleSection"));
8
58
 
9
- Object.keys(_VerticalCard).forEach(function (key) {
59
+ Object.keys(_CardMiddleSection).forEach(function (key) {
10
60
  if (key === "default" || key === "__esModule") return;
11
- if (key in exports && exports[key] === _VerticalCard[key]) return;
61
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
62
+ if (key in exports && exports[key] === _CardMiddleSection[key]) return;
12
63
  Object.defineProperty(exports, key, {
13
64
  enumerable: true,
14
65
  get: function get() {
15
- return _VerticalCard[key];
66
+ return _CardMiddleSection[key];
16
67
  }
17
68
  });
18
69
  });
19
70
 
20
- var _HorizontalCard = require("./HorizontalCard");
71
+ var _CardTopSection = _interopRequireWildcard(require("./CardTopSection"));
21
72
 
22
- Object.keys(_HorizontalCard).forEach(function (key) {
73
+ Object.keys(_CardTopSection).forEach(function (key) {
23
74
  if (key === "default" || key === "__esModule") return;
24
- if (key in exports && exports[key] === _HorizontalCard[key]) return;
75
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
76
+ if (key in exports && exports[key] === _CardTopSection[key]) return;
25
77
  Object.defineProperty(exports, key, {
26
78
  enumerable: true,
27
79
  get: function get() {
28
- return _HorizontalCard[key];
80
+ return _CardTopSection[key];
29
81
  }
30
82
  });
31
83
  });
84
+
85
+ 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); }
86
+
87
+ 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; }
32
88
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Card/index.ts"],"names":[],"mappings":";;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './VerticalCard';\nexport * from './HorizontalCard';\n"],"file":"index.cjs"}
1
+ {"version":3,"sources":["../../src/Card/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export {default as Card} from './Card';\n\nexport {default as CardBottomSection} from './CardBottomSection';\nexport * from './CardBottomSection';\nexport {default as CardMiddleSection} from './CardMiddleSection';\nexport * from './CardMiddleSection';\nexport {default as CardTopSection} from './CardTopSection';\nexport * from './CardTopSection';\n"],"file":"index.cjs"}
@@ -1,2 +1,7 @@
1
- export * from './VerticalCard';
2
- export * from './HorizontalCard';
1
+ export { default as Card } from './Card';
2
+ export { default as CardBottomSection } from './CardBottomSection';
3
+ export * from './CardBottomSection';
4
+ export { default as CardMiddleSection } from './CardMiddleSection';
5
+ export * from './CardMiddleSection';
6
+ export { default as CardTopSection } from './CardTopSection';
7
+ export * from './CardTopSection';
@@ -1,3 +1,8 @@
1
- export * from './VerticalCard';
2
- export * from './HorizontalCard';
1
+ export { default as Card } from './Card';
2
+ export { default as CardBottomSection } from './CardBottomSection';
3
+ export * from './CardBottomSection';
4
+ export { default as CardMiddleSection } from './CardMiddleSection';
5
+ export * from './CardMiddleSection';
6
+ export { default as CardTopSection } from './CardTopSection';
7
+ export * from './CardTopSection';
3
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Card/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAd;AACA,cAAc,kBAAd","sourcesContent":["export * from './VerticalCard';\nexport * from './HorizontalCard';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/Card/index.tsx"],"names":["default","Card","CardBottomSection","CardMiddleSection","CardTopSection"],"mappings":"AAAA,SAAQA,OAAO,IAAIC,IAAnB,QAA8B,QAA9B;AAEA,SAAQD,OAAO,IAAIE,iBAAnB,QAA2C,qBAA3C;AACA,cAAc,qBAAd;AACA,SAAQF,OAAO,IAAIG,iBAAnB,QAA2C,qBAA3C;AACA,cAAc,qBAAd;AACA,SAAQH,OAAO,IAAII,cAAnB,QAAwC,kBAAxC;AACA,cAAc,kBAAd","sourcesContent":["export {default as Card} from './Card';\n\nexport {default as CardBottomSection} from './CardBottomSection';\nexport * from './CardBottomSection';\nexport {default as CardMiddleSection} from './CardMiddleSection';\nexport * from './CardMiddleSection';\nexport {default as CardTopSection} from './CardTopSection';\nexport * from './CardTopSection';\n"],"file":"index.js"}
@@ -41,7 +41,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
41
41
 
42
42
  var Wrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n position: relative;\n display: inline-block;\n"])));
43
43
 
44
- var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
44
+ var DropdownButton = function DropdownButton(_ref) {
45
45
  var items = _ref.items,
46
46
  icon = _ref.icon,
47
47
  disabled = _ref.disabled,
@@ -118,7 +118,6 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
118
118
  switch (rest.type) {
119
119
  case 'icon':
120
120
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
121
- ref: ref,
122
121
  variant: "secondary",
123
122
  shape: "circular",
124
123
  action: function action(event) {
@@ -207,7 +206,8 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
207
206
  id: "dropdown-content"
208
207
  })]
209
208
  });
210
- });
209
+ };
210
+
211
211
  var _default = DropdownButton;
212
212
  exports.default = _default;
213
213
  //# sourceMappingURL=DropdownButton.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Dropdown/DropdownButton.tsx"],"names":["Wrapper","styled","div","DropdownButton","React","forwardRef","ref","items","icon","disabled","onClick","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","size","width","alignLeft","multiSelect","scrollable","pinTopItem","maxHeight","className","value","rest","useState","dropdownOpen","setDropdownOpen","selectedValues","setSelectedValues","focused","setFocused","keyboardNavigated","setKeyboardNavigated","containerRef","useEffect","handleValueSelect","values","renderButton","type","event","detail","label","keepLabel","length","filter","a","includes","map","displayLabel","join","cls","defaultOnMouseDownHandler","e","key","preventDefault","stopPropagation","onValueUpdate"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {IconButton} from '../Button';\nimport DropdownContent from './DropdownContent';\nimport styled from 'styled-components';\n\n/**\n * Import custom types.\n */\nimport {DropdownButtonProps} from './DropdownButtonTypes';\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {\n TextButtonDropdownArrow,\n TextButtonDropdownContent,\n TextButtonDropdownIcon,\n TextButtonDropdownText,\n TextButtonDropdownWrapper\n} from './CommonStyling';\nimport {ArrowDropDown, ArrowDropUp} from '../icons/systemicons/SystemIcons';\n\nconst Wrapper = styled.div`\n position: relative;\n display: inline-block;\n`;\n\nconst DropdownButton = React.forwardRef( ({\n items,\n icon,\n disabled,\n onClick,\n itemsType = 'normal',\n action,\n actionLabel = '',\n actionVariant,\n actionIcon,\n actionLoading,\n size,\n width,\n alignLeft,\n multiSelect = false,\n scrollable = false,\n pinTopItem = false,\n maxHeight,\n className,\n value,\n ...rest\n }: DropdownButtonProps, ref: React.Ref<HTMLButtonElement>) => {\n // Globally used variables within the view.\n const [dropdownOpen, setDropdownOpen] = React.useState<boolean>(false);\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\n\n const containerRef = useClickOutsideRef(() => setDropdownOpen(false), [], useFocusOutsideRef(() => setDropdownOpen(false)));\n\n React.useEffect(() => {\n !dropdownOpen && setKeyboardNavigated(false)\n }, [dropdownOpen]);\n\n React.useEffect(() => {\n disabled && setDropdownOpen(false)\n }, [disabled]);\n\n React.useEffect(() => {\n setSelectedValues(value || []);\n }, [value]);\n\n const handleValueSelect = (values: string[]) => {\n // Do all required actions\n onClick(values);\n };\n\n /**\n * Renders Icon Button dropdown menu.\n * @returns HTML View for the Icon button dropdown menu.\n */\n const renderButton = () => {\n switch (rest.type) {\n case 'icon':\n return (\n <IconButton ref={ref}\n variant=\"secondary\"\n shape=\"circular\"\n action={(event: any) => {\n setDropdownOpen(!dropdownOpen);\n if (event?.detail !== 1) {\n setKeyboardNavigated(true);\n }\n }}\n disabled={disabled}>\n {icon}\n </IconButton>\n );\n case 'text':\n const label = rest.keepLabel || !selectedValues?.length\n ? rest.label\n : items.filter(a => selectedValues.includes(a.value)).map(a => a.displayLabel ?? a.value).join(', ');\n const cls = `${disabled && 'disabled'} ${dropdownOpen && 'expanded'} ${className}`;\n return <TextButtonDropdownWrapper tabIndex={!disabled ? 0 : -1}\n className={cls}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n setDropdownOpen(!dropdownOpen);\n setKeyboardNavigated(true);\n }\n }}\n onClick={() => !disabled && setDropdownOpen(!dropdownOpen)}>\n <TextButtonDropdownContent>\n {icon && <TextButtonDropdownIcon>{icon}</TextButtonDropdownIcon>}\n <TextButtonDropdownText>{label}</TextButtonDropdownText>\n <TextButtonDropdownArrow>\n {\n dropdownOpen\n ? <ArrowDropUp size=\"24px\"/>\n : <ArrowDropDown size=\"24px\"/>\n }\n </TextButtonDropdownArrow>\n </TextButtonDropdownContent>\n </TextButtonDropdownWrapper>\n }\n };\n\n return (\n <Wrapper className={className} ref={containerRef}>\n {renderButton()}\n <DropdownContent\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {\n }),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n onValueUpdate: handleValueSelect,\n multiSelect: multiSelect,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n scrollable: scrollable,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n items: items\n }}\n focused={focused}\n setFocused={setFocused}\n size={size}\n width={width}\n alignLeft={alignLeft}\n isOpen={dropdownOpen}\n setIsOpen={setDropdownOpen}\n outline={keyboardNavigated}\n filter=\"\"\n selectedValues={rest.type === 'icon' && itemsType === 'normal' ? [] : selectedValues}\n setSelectedValues={setSelectedValues}\n messageOnNoResults=\"No results\"\n isButton={true}\n id=\"dropdown-content\"\n />\n </Wrapper>\n );\n});\n\nexport default DropdownButton;\n"],"file":"DropdownButton.cjs"}
1
+ {"version":3,"sources":["../../src/Dropdown/DropdownButton.tsx"],"names":["Wrapper","styled","div","DropdownButton","items","icon","disabled","onClick","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","size","width","alignLeft","multiSelect","scrollable","pinTopItem","maxHeight","className","value","rest","React","useState","dropdownOpen","setDropdownOpen","selectedValues","setSelectedValues","focused","setFocused","keyboardNavigated","setKeyboardNavigated","containerRef","useEffect","handleValueSelect","values","renderButton","type","event","detail","label","keepLabel","length","filter","a","includes","map","displayLabel","join","cls","defaultOnMouseDownHandler","e","key","preventDefault","stopPropagation","onValueUpdate"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {IconButton} from '../Button';\nimport DropdownContent from './DropdownContent';\nimport styled from 'styled-components';\n\n/**\n * Import custom types.\n */\nimport {DropdownButtonProps} from './DropdownButtonTypes';\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {\n TextButtonDropdownArrow,\n TextButtonDropdownContent,\n TextButtonDropdownIcon,\n TextButtonDropdownText,\n TextButtonDropdownWrapper\n} from './CommonStyling';\nimport {ArrowDropDown, ArrowDropUp} from '../icons/systemicons/SystemIcons';\n\nconst Wrapper = styled.div`\n position: relative;\n display: inline-block;\n`;\n\nconst DropdownButton = ({\n items,\n icon,\n disabled,\n onClick,\n itemsType = 'normal',\n action,\n actionLabel = '',\n actionVariant,\n actionIcon,\n actionLoading,\n size,\n width,\n alignLeft,\n multiSelect = false,\n scrollable = false,\n pinTopItem = false,\n maxHeight,\n className,\n value,\n ...rest\n }: DropdownButtonProps) => {\n // Globally used variables within the view.\n const [dropdownOpen, setDropdownOpen] = React.useState<boolean>(false);\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\n\n const containerRef = useClickOutsideRef(() => setDropdownOpen(false), [], useFocusOutsideRef(() => setDropdownOpen(false)));\n\n React.useEffect(() => {\n !dropdownOpen && setKeyboardNavigated(false)\n }, [dropdownOpen]);\n\n React.useEffect(() => {\n disabled && setDropdownOpen(false)\n }, [disabled]);\n\n React.useEffect(() => {\n setSelectedValues(value || []);\n }, [value]);\n\n const handleValueSelect = (values: string[]) => {\n // Do all required actions\n onClick(values);\n };\n\n /**\n * Renders Icon Button dropdown menu.\n * @returns HTML View for the Icon button dropdown menu.\n */\n const renderButton = () => {\n switch (rest.type) {\n case 'icon':\n return (\n <IconButton variant=\"secondary\"\n shape=\"circular\"\n action={(event: any) => {\n setDropdownOpen(!dropdownOpen);\n if (event?.detail !== 1) {\n setKeyboardNavigated(true);\n }\n }}\n disabled={disabled}>\n {icon}\n </IconButton>\n );\n case 'text':\n const label = rest.keepLabel || !selectedValues?.length\n ? rest.label\n : items.filter(a => selectedValues.includes(a.value)).map(a => a.displayLabel ?? a.value).join(', ');\n const cls = `${disabled && 'disabled'} ${dropdownOpen && 'expanded'} ${className}`;\n return <TextButtonDropdownWrapper tabIndex={!disabled ? 0 : -1}\n className={cls}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n setDropdownOpen(!dropdownOpen);\n setKeyboardNavigated(true);\n }\n }}\n onClick={() => !disabled && setDropdownOpen(!dropdownOpen)}>\n <TextButtonDropdownContent>\n {icon && <TextButtonDropdownIcon>{icon}</TextButtonDropdownIcon>}\n <TextButtonDropdownText>{label}</TextButtonDropdownText>\n <TextButtonDropdownArrow>\n {\n dropdownOpen\n ? <ArrowDropUp size=\"24px\"/>\n : <ArrowDropDown size=\"24px\"/>\n }\n </TextButtonDropdownArrow>\n </TextButtonDropdownContent>\n </TextButtonDropdownWrapper>\n }\n };\n\n return (\n <Wrapper className={className} ref={containerRef}>\n {renderButton()}\n <DropdownContent\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {\n }),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n onValueUpdate: handleValueSelect,\n multiSelect: multiSelect,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n scrollable: scrollable,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n items: items\n }}\n focused={focused}\n setFocused={setFocused}\n size={size}\n width={width}\n alignLeft={alignLeft}\n isOpen={dropdownOpen}\n setIsOpen={setDropdownOpen}\n outline={keyboardNavigated}\n filter=\"\"\n selectedValues={rest.type === 'icon' && itemsType === 'normal' ? [] : selectedValues}\n setSelectedValues={setSelectedValues}\n messageOnNoResults=\"No results\"\n isButton={true}\n id=\"dropdown-content\"\n />\n </Wrapper>\n );\n};\n\nexport default DropdownButton;\n"],"file":"DropdownButton.cjs"}
@@ -1,10 +1,6 @@
1
- /**
2
- * Import React libraries.
3
- */
4
- import * as React from 'react';
5
1
  /**
6
2
  * Import custom types.
7
3
  */
8
4
  import { DropdownButtonProps } from './DropdownButtonTypes';
9
- declare const DropdownButton: React.ForwardRefExoticComponent<DropdownButtonProps & React.RefAttributes<HTMLButtonElement>>;
5
+ declare const DropdownButton: ({ items, icon, disabled, onClick, itemsType, action, actionLabel, actionVariant, actionIcon, actionLoading, size, width, alignLeft, multiSelect, scrollable, pinTopItem, maxHeight, className, value, ...rest }: DropdownButtonProps) => JSX.Element;
10
6
  export default DropdownButton;
@@ -26,7 +26,8 @@ import { ArrowDropDown, ArrowDropUp } from '../icons/systemicons/SystemIcons';
26
26
  import { jsx as _jsx } from "react/jsx-runtime";
27
27
  import { jsxs as _jsxs } from "react/jsx-runtime";
28
28
  var Wrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n display: inline-block;\n"])));
29
- var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
29
+
30
+ var DropdownButton = function DropdownButton(_ref) {
30
31
  var items = _ref.items,
31
32
  icon = _ref.icon,
32
33
  disabled = _ref.disabled,
@@ -103,7 +104,6 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
103
104
  switch (rest.type) {
104
105
  case 'icon':
105
106
  return /*#__PURE__*/_jsx(IconButton, {
106
- ref: ref,
107
107
  variant: "secondary",
108
108
  shape: "circular",
109
109
  action: function action(event) {
@@ -192,6 +192,7 @@ var DropdownButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
192
192
  id: "dropdown-content"
193
193
  })]
194
194
  });
195
- });
195
+ };
196
+
196
197
  export default DropdownButton;
197
198
  //# sourceMappingURL=DropdownButton.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Dropdown/DropdownButton.tsx"],"names":["React","IconButton","DropdownContent","styled","defaultOnMouseDownHandler","useClickOutsideRef","useFocusOutsideRef","TextButtonDropdownArrow","TextButtonDropdownContent","TextButtonDropdownIcon","TextButtonDropdownText","TextButtonDropdownWrapper","ArrowDropDown","ArrowDropUp","Wrapper","div","DropdownButton","forwardRef","ref","items","icon","disabled","onClick","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","size","width","alignLeft","multiSelect","scrollable","pinTopItem","maxHeight","className","value","rest","useState","dropdownOpen","setDropdownOpen","selectedValues","setSelectedValues","focused","setFocused","keyboardNavigated","setKeyboardNavigated","containerRef","useEffect","handleValueSelect","values","renderButton","type","event","detail","label","keepLabel","length","filter","a","includes","map","displayLabel","join","cls","e","key","preventDefault","stopPropagation","onValueUpdate"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {IconButton} from '../Button';\nimport DropdownContent from './DropdownContent';\nimport styled from 'styled-components';\n\n/**\n * Import custom types.\n */\nimport {DropdownButtonProps} from './DropdownButtonTypes';\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {\n TextButtonDropdownArrow,\n TextButtonDropdownContent,\n TextButtonDropdownIcon,\n TextButtonDropdownText,\n TextButtonDropdownWrapper\n} from './CommonStyling';\nimport {ArrowDropDown, ArrowDropUp} from '../icons/systemicons/SystemIcons';\n\nconst Wrapper = styled.div`\n position: relative;\n display: inline-block;\n`;\n\nconst DropdownButton = React.forwardRef( ({\n items,\n icon,\n disabled,\n onClick,\n itemsType = 'normal',\n action,\n actionLabel = '',\n actionVariant,\n actionIcon,\n actionLoading,\n size,\n width,\n alignLeft,\n multiSelect = false,\n scrollable = false,\n pinTopItem = false,\n maxHeight,\n className,\n value,\n ...rest\n }: DropdownButtonProps, ref: React.Ref<HTMLButtonElement>) => {\n // Globally used variables within the view.\n const [dropdownOpen, setDropdownOpen] = React.useState<boolean>(false);\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\n\n const containerRef = useClickOutsideRef(() => setDropdownOpen(false), [], useFocusOutsideRef(() => setDropdownOpen(false)));\n\n React.useEffect(() => {\n !dropdownOpen && setKeyboardNavigated(false)\n }, [dropdownOpen]);\n\n React.useEffect(() => {\n disabled && setDropdownOpen(false)\n }, [disabled]);\n\n React.useEffect(() => {\n setSelectedValues(value || []);\n }, [value]);\n\n const handleValueSelect = (values: string[]) => {\n // Do all required actions\n onClick(values);\n };\n\n /**\n * Renders Icon Button dropdown menu.\n * @returns HTML View for the Icon button dropdown menu.\n */\n const renderButton = () => {\n switch (rest.type) {\n case 'icon':\n return (\n <IconButton ref={ref}\n variant=\"secondary\"\n shape=\"circular\"\n action={(event: any) => {\n setDropdownOpen(!dropdownOpen);\n if (event?.detail !== 1) {\n setKeyboardNavigated(true);\n }\n }}\n disabled={disabled}>\n {icon}\n </IconButton>\n );\n case 'text':\n const label = rest.keepLabel || !selectedValues?.length\n ? rest.label\n : items.filter(a => selectedValues.includes(a.value)).map(a => a.displayLabel ?? a.value).join(', ');\n const cls = `${disabled && 'disabled'} ${dropdownOpen && 'expanded'} ${className}`;\n return <TextButtonDropdownWrapper tabIndex={!disabled ? 0 : -1}\n className={cls}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n setDropdownOpen(!dropdownOpen);\n setKeyboardNavigated(true);\n }\n }}\n onClick={() => !disabled && setDropdownOpen(!dropdownOpen)}>\n <TextButtonDropdownContent>\n {icon && <TextButtonDropdownIcon>{icon}</TextButtonDropdownIcon>}\n <TextButtonDropdownText>{label}</TextButtonDropdownText>\n <TextButtonDropdownArrow>\n {\n dropdownOpen\n ? <ArrowDropUp size=\"24px\"/>\n : <ArrowDropDown size=\"24px\"/>\n }\n </TextButtonDropdownArrow>\n </TextButtonDropdownContent>\n </TextButtonDropdownWrapper>\n }\n };\n\n return (\n <Wrapper className={className} ref={containerRef}>\n {renderButton()}\n <DropdownContent\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {\n }),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n onValueUpdate: handleValueSelect,\n multiSelect: multiSelect,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n scrollable: scrollable,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n items: items\n }}\n focused={focused}\n setFocused={setFocused}\n size={size}\n width={width}\n alignLeft={alignLeft}\n isOpen={dropdownOpen}\n setIsOpen={setDropdownOpen}\n outline={keyboardNavigated}\n filter=\"\"\n selectedValues={rest.type === 'icon' && itemsType === 'normal' ? [] : selectedValues}\n setSelectedValues={setSelectedValues}\n messageOnNoResults=\"No results\"\n isButton={true}\n id=\"dropdown-content\"\n />\n </Wrapper>\n );\n});\n\nexport default DropdownButton;\n"],"file":"DropdownButton.js"}
1
+ {"version":3,"sources":["../../src/Dropdown/DropdownButton.tsx"],"names":["React","IconButton","DropdownContent","styled","defaultOnMouseDownHandler","useClickOutsideRef","useFocusOutsideRef","TextButtonDropdownArrow","TextButtonDropdownContent","TextButtonDropdownIcon","TextButtonDropdownText","TextButtonDropdownWrapper","ArrowDropDown","ArrowDropUp","Wrapper","div","DropdownButton","items","icon","disabled","onClick","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","size","width","alignLeft","multiSelect","scrollable","pinTopItem","maxHeight","className","value","rest","useState","dropdownOpen","setDropdownOpen","selectedValues","setSelectedValues","focused","setFocused","keyboardNavigated","setKeyboardNavigated","containerRef","useEffect","handleValueSelect","values","renderButton","type","event","detail","label","keepLabel","length","filter","a","includes","map","displayLabel","join","cls","e","key","preventDefault","stopPropagation","onValueUpdate"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {IconButton} from '../Button';\nimport DropdownContent from './DropdownContent';\nimport styled from 'styled-components';\n\n/**\n * Import custom types.\n */\nimport {DropdownButtonProps} from './DropdownButtonTypes';\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {\n TextButtonDropdownArrow,\n TextButtonDropdownContent,\n TextButtonDropdownIcon,\n TextButtonDropdownText,\n TextButtonDropdownWrapper\n} from './CommonStyling';\nimport {ArrowDropDown, ArrowDropUp} from '../icons/systemicons/SystemIcons';\n\nconst Wrapper = styled.div`\n position: relative;\n display: inline-block;\n`;\n\nconst DropdownButton = ({\n items,\n icon,\n disabled,\n onClick,\n itemsType = 'normal',\n action,\n actionLabel = '',\n actionVariant,\n actionIcon,\n actionLoading,\n size,\n width,\n alignLeft,\n multiSelect = false,\n scrollable = false,\n pinTopItem = false,\n maxHeight,\n className,\n value,\n ...rest\n }: DropdownButtonProps) => {\n // Globally used variables within the view.\n const [dropdownOpen, setDropdownOpen] = React.useState<boolean>(false);\n const [selectedValues, setSelectedValues] = React.useState<string[]>([]);\n const [focused, setFocused] = React.useState<number | null>(null);\n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\n\n const containerRef = useClickOutsideRef(() => setDropdownOpen(false), [], useFocusOutsideRef(() => setDropdownOpen(false)));\n\n React.useEffect(() => {\n !dropdownOpen && setKeyboardNavigated(false)\n }, [dropdownOpen]);\n\n React.useEffect(() => {\n disabled && setDropdownOpen(false)\n }, [disabled]);\n\n React.useEffect(() => {\n setSelectedValues(value || []);\n }, [value]);\n\n const handleValueSelect = (values: string[]) => {\n // Do all required actions\n onClick(values);\n };\n\n /**\n * Renders Icon Button dropdown menu.\n * @returns HTML View for the Icon button dropdown menu.\n */\n const renderButton = () => {\n switch (rest.type) {\n case 'icon':\n return (\n <IconButton variant=\"secondary\"\n shape=\"circular\"\n action={(event: any) => {\n setDropdownOpen(!dropdownOpen);\n if (event?.detail !== 1) {\n setKeyboardNavigated(true);\n }\n }}\n disabled={disabled}>\n {icon}\n </IconButton>\n );\n case 'text':\n const label = rest.keepLabel || !selectedValues?.length\n ? rest.label\n : items.filter(a => selectedValues.includes(a.value)).map(a => a.displayLabel ?? a.value).join(', ');\n const cls = `${disabled && 'disabled'} ${dropdownOpen && 'expanded'} ${className}`;\n return <TextButtonDropdownWrapper tabIndex={!disabled ? 0 : -1}\n className={cls}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n setDropdownOpen(!dropdownOpen);\n setKeyboardNavigated(true);\n }\n }}\n onClick={() => !disabled && setDropdownOpen(!dropdownOpen)}>\n <TextButtonDropdownContent>\n {icon && <TextButtonDropdownIcon>{icon}</TextButtonDropdownIcon>}\n <TextButtonDropdownText>{label}</TextButtonDropdownText>\n <TextButtonDropdownArrow>\n {\n dropdownOpen\n ? <ArrowDropUp size=\"24px\"/>\n : <ArrowDropDown size=\"24px\"/>\n }\n </TextButtonDropdownArrow>\n </TextButtonDropdownContent>\n </TextButtonDropdownWrapper>\n }\n };\n\n return (\n <Wrapper className={className} ref={containerRef}>\n {renderButton()}\n <DropdownContent\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {\n }),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n onValueUpdate: handleValueSelect,\n multiSelect: multiSelect,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n scrollable: scrollable,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n items: items\n }}\n focused={focused}\n setFocused={setFocused}\n size={size}\n width={width}\n alignLeft={alignLeft}\n isOpen={dropdownOpen}\n setIsOpen={setDropdownOpen}\n outline={keyboardNavigated}\n filter=\"\"\n selectedValues={rest.type === 'icon' && itemsType === 'normal' ? [] : selectedValues}\n setSelectedValues={setSelectedValues}\n messageOnNoResults=\"No results\"\n isButton={true}\n id=\"dropdown-content\"\n />\n </Wrapper>\n );\n};\n\nexport default DropdownButton;\n"],"file":"DropdownButton.js"}