@laerdal/life-react-components 1.5.1 → 1.6.0-dev.10

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 (164) hide show
  1. package/dist/Banners/Banner.cjs +21 -5
  2. package/dist/Banners/Banner.cjs.map +1 -1
  3. package/dist/Banners/Banner.js +20 -5
  4. package/dist/Banners/Banner.js.map +1 -1
  5. package/dist/Button/Iconbutton.cjs +16 -14
  6. package/dist/Button/Iconbutton.cjs.map +1 -1
  7. package/dist/Button/Iconbutton.d.ts +2 -0
  8. package/dist/Button/Iconbutton.js +16 -14
  9. package/dist/Button/Iconbutton.js.map +1 -1
  10. package/dist/Card/Card.cjs +101 -0
  11. package/dist/Card/Card.cjs.map +1 -0
  12. package/dist/Card/Card.d.ts +23 -0
  13. package/dist/Card/Card.js +74 -0
  14. package/dist/Card/Card.js.map +1 -0
  15. package/dist/Card/CardBottomSection.cjs +133 -0
  16. package/dist/Card/CardBottomSection.cjs.map +1 -0
  17. package/dist/Card/CardBottomSection.d.ts +22 -0
  18. package/dist/Card/CardBottomSection.js +105 -0
  19. package/dist/Card/CardBottomSection.js.map +1 -0
  20. package/dist/Card/CardMiddleSection.cjs +94 -0
  21. package/dist/Card/CardMiddleSection.cjs.map +1 -0
  22. package/dist/Card/CardMiddleSection.d.ts +14 -0
  23. package/dist/Card/CardMiddleSection.js +71 -0
  24. package/dist/Card/CardMiddleSection.js.map +1 -0
  25. package/dist/Card/CardTopSection.cjs +112 -0
  26. package/dist/Card/CardTopSection.cjs.map +1 -0
  27. package/dist/Card/CardTopSection.d.ts +19 -0
  28. package/dist/Card/CardTopSection.js +85 -0
  29. package/dist/Card/CardTopSection.js.map +1 -0
  30. package/dist/Card/index.cjs +52 -0
  31. package/dist/Card/index.cjs.map +1 -0
  32. package/dist/Card/index.d.ts +5 -0
  33. package/dist/Card/index.js +6 -0
  34. package/dist/Card/index.js.map +1 -0
  35. package/dist/Dropdown/BasicDropdown.cjs +38 -55
  36. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  37. package/dist/Dropdown/BasicDropdown.js +36 -53
  38. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  39. package/dist/Dropdown/CommonStyling.cjs +9 -17
  40. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  41. package/dist/Dropdown/CommonStyling.d.ts +0 -3
  42. package/dist/Dropdown/CommonStyling.js +8 -12
  43. package/dist/Dropdown/CommonStyling.js.map +1 -1
  44. package/dist/Dropdown/DropdownButton.cjs +11 -24
  45. package/dist/Dropdown/DropdownButton.cjs.map +1 -1
  46. package/dist/Dropdown/DropdownButton.js +11 -24
  47. package/dist/Dropdown/DropdownButton.js.map +1 -1
  48. package/dist/Dropdown/DropdownContent.cjs +21 -12
  49. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  50. package/dist/Dropdown/DropdownContent.js +21 -12
  51. package/dist/Dropdown/DropdownContent.js.map +1 -1
  52. package/dist/Dropdown/DropdownFilter.cjs +43 -46
  53. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  54. package/dist/Dropdown/DropdownFilter.js +41 -45
  55. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  56. package/dist/HyperLink/HyperLink.cjs +3 -1
  57. package/dist/HyperLink/HyperLink.cjs.map +1 -1
  58. package/dist/HyperLink/HyperLink.d.ts +4 -0
  59. package/dist/HyperLink/HyperLink.js +1 -1
  60. package/dist/HyperLink/HyperLink.js.map +1 -1
  61. package/dist/HyperLink/styling.cjs +1 -1
  62. package/dist/HyperLink/styling.cjs.map +1 -1
  63. package/dist/HyperLink/styling.js +1 -1
  64. package/dist/HyperLink/styling.js.map +1 -1
  65. package/dist/Image/ImageWithFallbacks.cjs +122 -0
  66. package/dist/Image/ImageWithFallbacks.cjs.map +1 -0
  67. package/dist/Image/ImageWithFallbacks.d.ts +21 -0
  68. package/dist/Image/ImageWithFallbacks.js +109 -0
  69. package/dist/Image/ImageWithFallbacks.js.map +1 -0
  70. package/dist/Image/index.cjs +16 -0
  71. package/dist/Image/index.cjs.map +1 -0
  72. package/dist/Image/index.d.ts +2 -0
  73. package/dist/Image/index.js +3 -0
  74. package/dist/Image/index.js.map +1 -0
  75. package/dist/InputFields/DatepickerField.cjs +53 -17
  76. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  77. package/dist/InputFields/DatepickerField.js +52 -16
  78. package/dist/InputFields/DatepickerField.js.map +1 -1
  79. package/dist/InputFields/styling.cjs +2 -2
  80. package/dist/InputFields/styling.cjs.map +1 -1
  81. package/dist/InputFields/styling.js +2 -2
  82. package/dist/InputFields/styling.js.map +1 -1
  83. package/dist/LinearProgress/LinearProgress.cjs +142 -0
  84. package/dist/LinearProgress/LinearProgress.cjs.map +1 -0
  85. package/dist/LinearProgress/LinearProgress.d.ts +25 -0
  86. package/dist/LinearProgress/LinearProgress.js +111 -0
  87. package/dist/LinearProgress/LinearProgress.js.map +1 -0
  88. package/dist/LinearProgress/index.cjs +32 -0
  89. package/dist/LinearProgress/index.cjs.map +1 -0
  90. package/dist/LinearProgress/index.d.ts +3 -0
  91. package/dist/LinearProgress/index.js +4 -0
  92. package/dist/LinearProgress/index.js.map +1 -0
  93. package/dist/Modals/ModalContainer.cjs +10 -4
  94. package/dist/Modals/ModalContainer.cjs.map +1 -1
  95. package/dist/Modals/ModalContainer.d.ts +1 -0
  96. package/dist/Modals/ModalContainer.js +10 -4
  97. package/dist/Modals/ModalContainer.js.map +1 -1
  98. package/dist/Modals/ModalContent.cjs +235 -0
  99. package/dist/Modals/ModalContent.cjs.map +1 -0
  100. package/dist/Modals/ModalContent.d.ts +18 -0
  101. package/dist/Modals/ModalContent.js +204 -0
  102. package/dist/Modals/ModalContent.js.map +1 -0
  103. package/dist/Modals/ModalDialog.cjs +71 -8
  104. package/dist/Modals/ModalDialog.cjs.map +1 -1
  105. package/dist/Modals/ModalDialog.d.ts +8 -1
  106. package/dist/Modals/ModalDialog.js +74 -11
  107. package/dist/Modals/ModalDialog.js.map +1 -1
  108. package/dist/Modals/ModalStyles.cjs +3 -3
  109. package/dist/Modals/ModalStyles.cjs.map +1 -1
  110. package/dist/Modals/ModalStyles.js +3 -3
  111. package/dist/Modals/ModalStyles.js.map +1 -1
  112. package/dist/Modals/ModalTypes.d.ts +5 -0
  113. package/dist/Modals/index.cjs +8 -0
  114. package/dist/Modals/index.cjs.map +1 -1
  115. package/dist/Modals/index.d.ts +3 -2
  116. package/dist/Modals/index.js +2 -1
  117. package/dist/Modals/index.js.map +1 -1
  118. package/dist/SegmentControl/SegmentControl.cjs +99 -0
  119. package/dist/SegmentControl/SegmentControl.cjs.map +1 -0
  120. package/dist/SegmentControl/SegmentControl.d.ts +19 -0
  121. package/dist/SegmentControl/SegmentControl.js +71 -0
  122. package/dist/SegmentControl/SegmentControl.js.map +1 -0
  123. package/dist/SegmentControl/index.cjs +16 -0
  124. package/dist/SegmentControl/index.cjs.map +1 -0
  125. package/dist/SegmentControl/index.d.ts +3 -0
  126. package/dist/SegmentControl/index.js +3 -0
  127. package/dist/SegmentControl/index.js.map +1 -0
  128. package/dist/SkipToContent/SkipToContent.cjs +2 -2
  129. package/dist/SkipToContent/SkipToContent.cjs.map +1 -1
  130. package/dist/SkipToContent/SkipToContent.js +2 -2
  131. package/dist/SkipToContent/SkipToContent.js.map +1 -1
  132. package/dist/Table/TableFooter.cjs +1 -1
  133. package/dist/Table/TableFooter.cjs.map +1 -1
  134. package/dist/Table/TableFooter.js +1 -1
  135. package/dist/Table/TableFooter.js.map +1 -1
  136. package/dist/Table/TableStyles.cjs +1 -1
  137. package/dist/Table/TableStyles.cjs.map +1 -1
  138. package/dist/Table/TableStyles.js +1 -1
  139. package/dist/Table/TableStyles.js.map +1 -1
  140. package/dist/Tag/Tag.cjs +95 -0
  141. package/dist/Tag/Tag.cjs.map +1 -0
  142. package/dist/Tag/Tag.d.ts +9 -0
  143. package/dist/Tag/Tag.js +73 -0
  144. package/dist/Tag/Tag.js.map +1 -0
  145. package/dist/Tag/index.cjs +16 -0
  146. package/dist/Tag/index.cjs.map +1 -0
  147. package/dist/Tag/index.d.ts +2 -0
  148. package/dist/Tag/index.js +2 -0
  149. package/dist/Tag/index.js.map +1 -0
  150. package/dist/common/InputStyling.cjs +1 -1
  151. package/dist/common/InputStyling.cjs.map +1 -1
  152. package/dist/common/InputStyling.js +1 -1
  153. package/dist/common/InputStyling.js.map +1 -1
  154. package/dist/index.cjs +113 -0
  155. package/dist/index.cjs.map +1 -1
  156. package/dist/index.d.ts +6 -0
  157. package/dist/index.js +6 -0
  158. package/dist/index.js.map +1 -1
  159. package/dist/types.cjs +9 -1
  160. package/dist/types.cjs.map +1 -1
  161. package/dist/types.d.ts +4 -0
  162. package/dist/types.js +7 -0
  163. package/dist/types.js.map +1 -1
  164. package/package.json +4 -3
@@ -31,6 +31,8 @@ var _typography = require("../styles/typography");
31
31
 
32
32
  var _HyperLink = require("../HyperLink");
33
33
 
34
+ var _HyperLink2 = require("../HyperLink/HyperLink");
35
+
34
36
  var _jsxRuntime = require("react/jsx-runtime");
35
37
 
36
38
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
@@ -39,13 +41,17 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
39
41
 
40
42
  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; }
41
43
 
42
- var BannerContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n background: ", ";\n min-height: 48px;\n display: flex;\n color: ", ";\n margin-top: ", ";\n\n button:last-child {\n line-height: 0;\n margin: 0 0 0 8px;\n ", " {\n margin: 0 0 0 16px;\n }\n ", " {\n margin: 0 0 0 32px;\n }\n &.small {\n margin: 0 0 0 8px;\n }\n &.medium {\n margin: 0 0 0 16px;\n }\n &.large {\n margin: 0 0 0 32px;\n }\n }\n\n a {\n color: ", " !important;\n }\n"])), function (props) {
44
+ var BannerContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n background: ", ";\n min-height: 48px;\n display: flex;\n color: ", ";\n margin-top: ", ";\n\n button:last-child {\n line-height: 0;\n margin: 0 0 0 8px;\n ", " {\n margin: 0 0 0 16px;\n }\n ", " {\n margin: 0 0 0 32px;\n }\n &.small {\n margin: 0 0 0 8px;\n }\n &.medium {\n margin: 0 0 0 16px;\n }\n &.large {\n margin: 0 0 0 32px;\n }\n }\n\n ", " {\n &:link{\n color: ", ";\n }\n &:visited{\n color: ", ";\n }\n &:focus,\n &:active{\n background-color: ", ";\n color: ", ";\n }\n }\n"])), function (props) {
43
45
  return props.$type ? props.$type : _styles.COLORS.correct_100;
44
46
  }, _styles.COLORS.black, function (props) {
45
47
  return props.bottom ? 'auto' : '0';
46
- }, _styles.BREAKPOINTS.MEDIUM, _styles.BREAKPOINTS.LARGE, function (props) {
48
+ }, _styles.BREAKPOINTS.MEDIUM, _styles.BREAKPOINTS.LARGE, _HyperLink2.StyledLink, function (props) {
47
49
  return props.link;
48
- });
50
+ }, function (props) {
51
+ return props.linkVisited;
52
+ }, function (props) {
53
+ return props.linkFocused;
54
+ }, _styles.COLORS.white);
49
55
 
50
56
  var BannerCenter = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n\n display: flex;\n width: 100%;\n margin: 0 16px;\n ", " {\n margin: 0 32px;\n }\n ", " {\n margin: 0 56px;\n }\n &.small {\n margin: 0 16px;\n }\n &.medium {\n margin: 0 32px;\n }\n &.large {\n margin: 0 56px;\n }\n\n > svg {\n flex-shrink: 0;\n margin: 12px 0;\n }\n"])), function (props) {
51
57
  return (0, _typography.ComponentMStyling)(_styles.ComponentTextStyle.Regular, props.$color);
@@ -91,7 +97,9 @@ var Banner = function Banner(_ref) {
91
97
  closeIconColor: _styles.COLORS.primary_500,
92
98
  icon: _SystemIcons.Tip,
93
99
  containerType: 'neutral',
94
- focusBgColor: _styles.COLORS.primary_200
100
+ focusBgColor: _styles.COLORS.primary_200,
101
+ linkVisited: _styles.COLORS.primary_600,
102
+ linkFocused: _styles.COLORS.primary_800
95
103
  };
96
104
  var formatTypeToLowerCase = type === null || type === void 0 ? void 0 : type.toLowerCase();
97
105
 
@@ -103,6 +111,8 @@ var Banner = function Banner(_ref) {
103
111
  bannerParams.icon = _SystemIcons.Help;
104
112
  bannerParams.closeIconColor = _styles.COLORS.warning_500;
105
113
  bannerParams.containerType = formatTypeToLowerCase;
114
+ bannerParams.linkVisited = _styles.COLORS.warning_600;
115
+ bannerParams.linkFocused = _styles.COLORS.warning_800;
106
116
  } else if (formatTypeToLowerCase == 'critical') {
107
117
  bannerParams.typeColor = _styles.COLORS.critical_100;
108
118
  bannerParams.accentColor = _styles.COLORS.critical_700;
@@ -111,6 +121,8 @@ var Banner = function Banner(_ref) {
111
121
  bannerParams.icon = _SystemIcons.TechnicalWarning;
112
122
  bannerParams.closeIconColor = _styles.COLORS.critical_500;
113
123
  bannerParams.containerType = formatTypeToLowerCase;
124
+ bannerParams.linkVisited = _styles.COLORS.critical_600;
125
+ bannerParams.linkFocused = _styles.COLORS.critical_800;
114
126
  } else if (formatTypeToLowerCase == 'positive') {
115
127
  bannerParams.typeColor = _styles.COLORS.correct_100;
116
128
  bannerParams.accentColor = _styles.COLORS.correct_700;
@@ -119,11 +131,15 @@ var Banner = function Banner(_ref) {
119
131
  bannerParams.icon = _SystemIcons.ThumbsUp;
120
132
  bannerParams.closeIconColor = _styles.COLORS.correct_500;
121
133
  bannerParams.containerType = formatTypeToLowerCase;
134
+ bannerParams.linkVisited = _styles.COLORS.correct_600;
135
+ bannerParams.linkFocused = _styles.COLORS.correct_800;
122
136
  }
123
137
 
124
138
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(BannerContainer, {
125
139
  "data-testid": testId,
126
140
  $type: bannerParams.typeColor,
141
+ linkFocused: bannerParams.linkFocused,
142
+ linkVisited: bannerParams.linkVisited,
127
143
  link: bannerParams.accentColor,
128
144
  hover: bannerParams.hoverColor,
129
145
  bottom: bottom,
@@ -138,7 +154,7 @@ var Banner = function Banner(_ref) {
138
154
  size: size,
139
155
  width: width,
140
156
  color: bannerParams.accentColor,
141
- children: [children, "\xA0\xA0", link && linkText && /*#__PURE__*/(0, _jsxRuntime.jsx)(_HyperLink.HyperLink, {
157
+ children: [children, "\xA0", link && linkText && /*#__PURE__*/(0, _jsxRuntime.jsx)(_HyperLink.HyperLink, {
142
158
  id: "".concat(Math.floor(Math.random() * 999999999999), "_BannerLink"),
143
159
  onClick: function onClick(e) {
144
160
  if (linkAction) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Banners/Banner.tsx"],"names":["BannerContainer","styled","div","props","$type","COLORS","correct_100","black","bottom","BREAKPOINTS","MEDIUM","LARGE","link","BannerCenter","ComponentTextStyle","Regular","$color","ButtonWrapper","ButtonContainer","BannerContentWrapper","Banner","size","type","children","testId","linkText","onClose","icon","noIcon","linkAction","React","useState","window","innerWidth","width","setWidth","useEffect","handleResize","addEventListener","bannerParams","typeColor","primary_100","accentColor","primary_700","hoverColor","primary_20","closeIconColor","primary_500","Tip","containerType","focusBgColor","primary_200","formatTypeToLowerCase","toLowerCase","warning_100","warning_700","warning_200","warning_20","Help","warning_500","critical_100","critical_700","critical_200","critical_20","TechnicalWarning","critical_500","correct_700","correct_200","correct_20","ThumbsUp","correct_500","Math","floor","random","e","preventDefault","hover"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport { BREAKPOINTS, COLORS, ComponentTextStyle } from '../styles';\nimport { Close, Help, TechnicalWarning, ThumbsUp, Tip } from '../icons/systemicons/SystemIcons';\nimport { IconButton } from '../Button';\nimport { getButtonStyle } from './styles';\nimport { Size } from '../types';\nimport { ComponentMStyling, ComponentResponsive } from '../styles/typography';\nimport { HyperLink } from '../HyperLink';\nimport { stringify } from 'querystring';\n\n/**\n * Styles for <Banner />\n */\ntype StyleBannerProps = BannerProps & { $type: string };\n\nconst BannerContainer = styled.div<StyleBannerProps>`\n background: ${(props: StyleBannerProps) => (props.$type ? props.$type : COLORS.correct_100)};\n min-height: 48px;\n display: flex;\n color: ${COLORS.black};\n margin-top: ${(props: StyleBannerProps) => (props.bottom ? 'auto' : '0')};\n\n button:last-child {\n line-height: 0;\n margin: 0 0 0 8px;\n ${BREAKPOINTS.MEDIUM} {\n margin: 0 0 0 16px;\n }\n ${BREAKPOINTS.LARGE} {\n margin: 0 0 0 32px;\n }\n &.small {\n margin: 0 0 0 8px;\n }\n &.medium {\n margin: 0 0 0 16px;\n }\n &.large {\n margin: 0 0 0 32px;\n }\n }\n\n a {\n color: ${(props: BannerProps) => props.link} !important;\n }\n`;\n\nconst BannerCenter = styled.div<{ $color: string }>`\n ${(props) => ComponentMStyling(ComponentTextStyle.Regular, props.$color)}\n\n display: flex;\n width: 100%;\n margin: 0 16px;\n ${BREAKPOINTS.MEDIUM} {\n margin: 0 32px;\n }\n ${BREAKPOINTS.LARGE} {\n margin: 0 56px;\n }\n &.small {\n margin: 0 16px;\n }\n &.medium {\n margin: 0 32px;\n }\n &.large {\n margin: 0 56px;\n }\n\n > svg {\n flex-shrink: 0;\n margin: 12px 0;\n }\n`;\n\nconst ButtonWrapper = styled.div`\n margin: 0 0 0 auto;\n`;\n\nconst ButtonContainer = styled.div<{ $type?: string }>`\n display: contents;\n ${(props) => (props.$type ? getButtonStyle(props.$type) : null)};\n`;\n\nconst BannerContentWrapper = styled.div`\n display: flex;\n align-items: center;\n margin: 12px 0;\n &:not(:first-child) {\n margin-left: 8px;\n }\n`;\n\ntype BannerProps = {\n size?: Size.Small | Size.Medium | Size.Large;\n type?: string;\n link?: string;\n linkText?: string;\n linkAction?: (ev: React.MouseEvent) => void;\n hover?: string;\n bottom?: boolean;\n testId?: string;\n icon?: React.ReactNode;\n onClose?: () => void;\n noIcon?: boolean;\n};\n\nconst Banner: React.FunctionComponent<BannerProps> = ({ size, type, children, bottom, testId, linkText, link, onClose, icon, noIcon, linkAction }) => {\n const [width, setWidth] = React.useState<number>(window.innerWidth);\n React.useEffect(() => {\n function handleResize() {\n setWidth(window.innerWidth);\n }\n window.addEventListener('resize', handleResize);\n });\n\n let bannerParams = {\n typeColor: COLORS.primary_100,\n accentColor: COLORS.primary_700,\n hoverColor: COLORS.primary_20,\n closeIconColor: COLORS.primary_500,\n icon: Tip,\n containerType: 'neutral',\n focusBgColor: COLORS.primary_200,\n };\n const formatTypeToLowerCase = type?.toLowerCase();\n if (formatTypeToLowerCase == 'warning') {\n bannerParams.typeColor = COLORS.warning_100;\n bannerParams.accentColor = COLORS.warning_700;\n bannerParams.focusBgColor = COLORS.warning_200;\n bannerParams.hoverColor = COLORS.warning_20;\n bannerParams.icon = Help;\n bannerParams.closeIconColor = COLORS.warning_500;\n bannerParams.containerType = formatTypeToLowerCase;\n } else if (formatTypeToLowerCase == 'critical') {\n bannerParams.typeColor = COLORS.critical_100;\n bannerParams.accentColor = COLORS.critical_700;\n bannerParams.focusBgColor = COLORS.critical_200;\n bannerParams.hoverColor = COLORS.critical_20;\n bannerParams.icon = TechnicalWarning;\n bannerParams.closeIconColor = COLORS.critical_500;\n bannerParams.containerType = formatTypeToLowerCase;\n } else if (formatTypeToLowerCase == 'positive') {\n bannerParams.typeColor = COLORS.correct_100;\n bannerParams.accentColor = COLORS.correct_700;\n bannerParams.focusBgColor = COLORS.correct_200;\n bannerParams.hoverColor = COLORS.correct_20;\n bannerParams.icon = ThumbsUp;\n bannerParams.closeIconColor = COLORS.correct_500;\n bannerParams.containerType = formatTypeToLowerCase;\n }\n\n return (\n <BannerContainer data-testid={testId} $type={bannerParams.typeColor} link={bannerParams.accentColor} hover={bannerParams.hoverColor} bottom={bottom}>\n <BannerCenter $color={bannerParams.accentColor} className={size}>\n {icon ? icon : noIcon ? null : <bannerParams.icon color={bannerParams.accentColor} size=\"24px\" />}\n <BannerContentWrapper>\n <ComponentResponsive size={size} width={width} color={bannerParams.accentColor}>\n {children}&nbsp;&nbsp;\n {link && linkText && (\n <HyperLink\n id={`${Math.floor(Math.random() * 999999999999)}_BannerLink`}\n onClick={(e) => {\n if (linkAction) {\n e.preventDefault();\n linkAction(e);\n }\n }}\n href={link}\n variant=\"default\">\n {linkText}\n </HyperLink>\n )}\n </ComponentResponsive>\n </BannerContentWrapper>\n {onClose && (\n <ButtonWrapper>\n <ButtonContainer $type={bannerParams.containerType}>\n <IconButton variant=\"secondary\" shape=\"circular\" useTransparentBackground focusBackgroundColor={bannerParams.focusBgColor} action={() => onClose()}>\n <Close color={bannerParams.closeIconColor} size=\"24px\" />\n </IconButton>\n </ButtonContainer>\n </ButtonWrapper>\n )}\n </BannerCenter>\n </BannerContainer>\n );\n};\n\nexport default Banner;\n"],"file":"Banner.cjs"}
1
+ {"version":3,"sources":["../../src/Banners/Banner.tsx"],"names":["BannerContainer","styled","div","props","$type","COLORS","correct_100","black","bottom","BREAKPOINTS","MEDIUM","LARGE","StyledLink","link","linkVisited","linkFocused","white","BannerCenter","ComponentTextStyle","Regular","$color","ButtonWrapper","ButtonContainer","BannerContentWrapper","Banner","size","type","children","testId","linkText","onClose","icon","noIcon","linkAction","React","useState","window","innerWidth","width","setWidth","useEffect","handleResize","addEventListener","bannerParams","typeColor","primary_100","accentColor","primary_700","hoverColor","primary_20","closeIconColor","primary_500","Tip","containerType","focusBgColor","primary_200","primary_600","primary_800","formatTypeToLowerCase","toLowerCase","warning_100","warning_700","warning_200","warning_20","Help","warning_500","warning_600","warning_800","critical_100","critical_700","critical_200","critical_20","TechnicalWarning","critical_500","critical_600","critical_800","correct_700","correct_200","correct_20","ThumbsUp","correct_500","correct_600","correct_800","Math","floor","random","e","preventDefault","hover"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport { BREAKPOINTS, COLORS, ComponentTextStyle } from '../styles';\nimport { Close, Help, TechnicalWarning, ThumbsUp, Tip } from '../icons/systemicons/SystemIcons';\nimport { IconButton } from '../Button';\nimport { getButtonStyle } from './styles';\nimport { Size } from '../types';\nimport { ComponentMStyling, ComponentResponsive } from '../styles/typography';\nimport { HyperLink } from '../HyperLink';\nimport {StyledLink} from '../HyperLink/HyperLink';\nimport {defaultOnMouseDownHandler} from '../common';\nimport {defaultStyle} from '../HyperLink/styling';\n\n/**\n * Styles for <Banner />\n */\ntype StyleBannerProps = BannerProps & { $type: string, linkVisited: string, linkFocused: string };\n\nconst BannerContainer = styled.div<StyleBannerProps>`\n background: ${(props: StyleBannerProps) => (props.$type ? props.$type : COLORS.correct_100)};\n min-height: 48px;\n display: flex;\n color: ${COLORS.black};\n margin-top: ${(props: StyleBannerProps) => (props.bottom ? 'auto' : '0')};\n\n button:last-child {\n line-height: 0;\n margin: 0 0 0 8px;\n ${BREAKPOINTS.MEDIUM} {\n margin: 0 0 0 16px;\n }\n ${BREAKPOINTS.LARGE} {\n margin: 0 0 0 32px;\n }\n &.small {\n margin: 0 0 0 8px;\n }\n &.medium {\n margin: 0 0 0 16px;\n }\n &.large {\n margin: 0 0 0 32px;\n }\n }\n\n ${StyledLink} {\n &:link{\n color: ${(props) => props.link};\n }\n &:visited{\n color: ${(props) => props.linkVisited};\n }\n &:focus,\n &:active{\n background-color: ${(props) => props.linkFocused};\n color: ${COLORS.white};\n }\n }\n`;\n\nconst BannerCenter = styled.div<{ $color: string }>`\n ${(props) => ComponentMStyling(ComponentTextStyle.Regular, props.$color)}\n\n display: flex;\n width: 100%;\n margin: 0 16px;\n ${BREAKPOINTS.MEDIUM} {\n margin: 0 32px;\n }\n ${BREAKPOINTS.LARGE} {\n margin: 0 56px;\n }\n &.small {\n margin: 0 16px;\n }\n &.medium {\n margin: 0 32px;\n }\n &.large {\n margin: 0 56px;\n }\n\n > svg {\n flex-shrink: 0;\n margin: 12px 0;\n }\n`;\n\nconst ButtonWrapper = styled.div`\n margin: 0 0 0 auto;\n`;\n\nconst ButtonContainer = styled.div<{ $type?: string }>`\n display: contents;\n ${(props) => (props.$type ? getButtonStyle(props.$type) : null)};\n`;\n\nconst BannerContentWrapper = styled.div`\n display: flex;\n align-items: center;\n margin: 12px 0;\n &:not(:first-child) {\n margin-left: 8px;\n }\n`;\n\ntype BannerProps = {\n size?: Size.Small | Size.Medium | Size.Large;\n type?: string;\n link?: string;\n linkText?: string;\n linkAction?: (ev: React.MouseEvent) => void;\n hover?: string;\n bottom?: boolean;\n testId?: string;\n icon?: React.ReactNode;\n onClose?: () => void;\n noIcon?: boolean;\n};\n\nconst Banner: React.FunctionComponent<BannerProps> = ({ size, type, children, bottom, testId, linkText, link, onClose, icon, noIcon, linkAction }) => {\n const [width, setWidth] = React.useState<number>(window.innerWidth);\n React.useEffect(() => {\n function handleResize() {\n setWidth(window.innerWidth);\n }\n window.addEventListener('resize', handleResize);\n });\n\n let bannerParams = {\n typeColor: COLORS.primary_100,\n accentColor: COLORS.primary_700,\n hoverColor: COLORS.primary_20,\n closeIconColor: COLORS.primary_500,\n icon: Tip,\n containerType: 'neutral',\n focusBgColor: COLORS.primary_200,\n linkVisited: COLORS.primary_600,\n linkFocused: COLORS.primary_800\n };\n const formatTypeToLowerCase = type?.toLowerCase();\n if (formatTypeToLowerCase == 'warning') {\n bannerParams.typeColor = COLORS.warning_100;\n bannerParams.accentColor = COLORS.warning_700;\n bannerParams.focusBgColor = COLORS.warning_200;\n bannerParams.hoverColor = COLORS.warning_20;\n bannerParams.icon = Help;\n bannerParams.closeIconColor = COLORS.warning_500;\n bannerParams.containerType = formatTypeToLowerCase;\n bannerParams.linkVisited = COLORS.warning_600;\n bannerParams.linkFocused = COLORS.warning_800;\n } else if (formatTypeToLowerCase == 'critical') {\n bannerParams.typeColor = COLORS.critical_100;\n bannerParams.accentColor = COLORS.critical_700;\n bannerParams.focusBgColor = COLORS.critical_200;\n bannerParams.hoverColor = COLORS.critical_20;\n bannerParams.icon = TechnicalWarning;\n bannerParams.closeIconColor = COLORS.critical_500;\n bannerParams.containerType = formatTypeToLowerCase;\n bannerParams.linkVisited = COLORS.critical_600;\n bannerParams.linkFocused = COLORS.critical_800;\n } else if (formatTypeToLowerCase == 'positive') {\n bannerParams.typeColor = COLORS.correct_100;\n bannerParams.accentColor = COLORS.correct_700;\n bannerParams.focusBgColor = COLORS.correct_200;\n bannerParams.hoverColor = COLORS.correct_20;\n bannerParams.icon = ThumbsUp;\n bannerParams.closeIconColor = COLORS.correct_500;\n bannerParams.containerType = formatTypeToLowerCase;\n bannerParams.linkVisited = COLORS.correct_600;\n bannerParams.linkFocused = COLORS.correct_800;\n }\n\n return (\n <BannerContainer data-testid={testId} $type={bannerParams.typeColor} linkFocused={bannerParams.linkFocused} linkVisited={bannerParams.linkVisited} link={bannerParams.accentColor} hover={bannerParams.hoverColor} bottom={bottom}>\n <BannerCenter $color={bannerParams.accentColor} className={size}>\n {icon ? icon : noIcon ? null : <bannerParams.icon color={bannerParams.accentColor} size=\"24px\" />}\n <BannerContentWrapper>\n <ComponentResponsive size={size} width={width} color={bannerParams.accentColor}>\n {children}&nbsp;\n {link && linkText && (\n <HyperLink\n id={`${Math.floor(Math.random() * 999999999999)}_BannerLink`}\n onClick={(e) => {\n if (linkAction) {\n e.preventDefault();\n linkAction(e);\n }\n }}\n href={link}\n variant=\"default\">\n {linkText}\n </HyperLink>\n )}\n </ComponentResponsive>\n </BannerContentWrapper>\n {onClose && (\n <ButtonWrapper>\n <ButtonContainer $type={bannerParams.containerType}>\n <IconButton variant=\"secondary\" shape=\"circular\" useTransparentBackground focusBackgroundColor={bannerParams.focusBgColor} action={() => onClose()}>\n <Close color={bannerParams.closeIconColor} size=\"24px\" />\n </IconButton>\n </ButtonContainer>\n </ButtonWrapper>\n )}\n </BannerCenter>\n </BannerContainer>\n );\n};\n\nexport default Banner;\n"],"file":"Banner.cjs"}
@@ -12,15 +12,20 @@ import { IconButton } from '../Button';
12
12
  import { getButtonStyle } from './styles';
13
13
  import { ComponentMStyling, ComponentResponsive } from '../styles/typography';
14
14
  import { HyperLink } from '../HyperLink';
15
+ import { StyledLink } from '../HyperLink/HyperLink';
15
16
  import { jsx as _jsx } from "react/jsx-runtime";
16
17
  import { jsxs as _jsxs } from "react/jsx-runtime";
17
- var BannerContainer = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background: ", ";\n min-height: 48px;\n display: flex;\n color: ", ";\n margin-top: ", ";\n\n button:last-child {\n line-height: 0;\n margin: 0 0 0 8px;\n ", " {\n margin: 0 0 0 16px;\n }\n ", " {\n margin: 0 0 0 32px;\n }\n &.small {\n margin: 0 0 0 8px;\n }\n &.medium {\n margin: 0 0 0 16px;\n }\n &.large {\n margin: 0 0 0 32px;\n }\n }\n\n a {\n color: ", " !important;\n }\n"])), function (props) {
18
+ var BannerContainer = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background: ", ";\n min-height: 48px;\n display: flex;\n color: ", ";\n margin-top: ", ";\n\n button:last-child {\n line-height: 0;\n margin: 0 0 0 8px;\n ", " {\n margin: 0 0 0 16px;\n }\n ", " {\n margin: 0 0 0 32px;\n }\n &.small {\n margin: 0 0 0 8px;\n }\n &.medium {\n margin: 0 0 0 16px;\n }\n &.large {\n margin: 0 0 0 32px;\n }\n }\n\n ", " {\n &:link{\n color: ", ";\n }\n &:visited{\n color: ", ";\n }\n &:focus,\n &:active{\n background-color: ", ";\n color: ", ";\n }\n }\n"])), function (props) {
18
19
  return props.$type ? props.$type : COLORS.correct_100;
19
20
  }, COLORS.black, function (props) {
20
21
  return props.bottom ? 'auto' : '0';
21
- }, BREAKPOINTS.MEDIUM, BREAKPOINTS.LARGE, function (props) {
22
+ }, BREAKPOINTS.MEDIUM, BREAKPOINTS.LARGE, StyledLink, function (props) {
22
23
  return props.link;
23
- });
24
+ }, function (props) {
25
+ return props.linkVisited;
26
+ }, function (props) {
27
+ return props.linkFocused;
28
+ }, COLORS.white);
24
29
  var BannerCenter = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n ", "\n\n display: flex;\n width: 100%;\n margin: 0 16px;\n ", " {\n margin: 0 32px;\n }\n ", " {\n margin: 0 56px;\n }\n &.small {\n margin: 0 16px;\n }\n &.medium {\n margin: 0 32px;\n }\n &.large {\n margin: 0 56px;\n }\n\n > svg {\n flex-shrink: 0;\n margin: 12px 0;\n }\n"])), function (props) {
25
30
  return ComponentMStyling(ComponentTextStyle.Regular, props.$color);
26
31
  }, BREAKPOINTS.MEDIUM, BREAKPOINTS.LARGE);
@@ -62,7 +67,9 @@ var Banner = function Banner(_ref) {
62
67
  closeIconColor: COLORS.primary_500,
63
68
  icon: Tip,
64
69
  containerType: 'neutral',
65
- focusBgColor: COLORS.primary_200
70
+ focusBgColor: COLORS.primary_200,
71
+ linkVisited: COLORS.primary_600,
72
+ linkFocused: COLORS.primary_800
66
73
  };
67
74
  var formatTypeToLowerCase = type === null || type === void 0 ? void 0 : type.toLowerCase();
68
75
 
@@ -74,6 +81,8 @@ var Banner = function Banner(_ref) {
74
81
  bannerParams.icon = Help;
75
82
  bannerParams.closeIconColor = COLORS.warning_500;
76
83
  bannerParams.containerType = formatTypeToLowerCase;
84
+ bannerParams.linkVisited = COLORS.warning_600;
85
+ bannerParams.linkFocused = COLORS.warning_800;
77
86
  } else if (formatTypeToLowerCase == 'critical') {
78
87
  bannerParams.typeColor = COLORS.critical_100;
79
88
  bannerParams.accentColor = COLORS.critical_700;
@@ -82,6 +91,8 @@ var Banner = function Banner(_ref) {
82
91
  bannerParams.icon = TechnicalWarning;
83
92
  bannerParams.closeIconColor = COLORS.critical_500;
84
93
  bannerParams.containerType = formatTypeToLowerCase;
94
+ bannerParams.linkVisited = COLORS.critical_600;
95
+ bannerParams.linkFocused = COLORS.critical_800;
85
96
  } else if (formatTypeToLowerCase == 'positive') {
86
97
  bannerParams.typeColor = COLORS.correct_100;
87
98
  bannerParams.accentColor = COLORS.correct_700;
@@ -90,11 +101,15 @@ var Banner = function Banner(_ref) {
90
101
  bannerParams.icon = ThumbsUp;
91
102
  bannerParams.closeIconColor = COLORS.correct_500;
92
103
  bannerParams.containerType = formatTypeToLowerCase;
104
+ bannerParams.linkVisited = COLORS.correct_600;
105
+ bannerParams.linkFocused = COLORS.correct_800;
93
106
  }
94
107
 
95
108
  return /*#__PURE__*/_jsx(BannerContainer, {
96
109
  "data-testid": testId,
97
110
  $type: bannerParams.typeColor,
111
+ linkFocused: bannerParams.linkFocused,
112
+ linkVisited: bannerParams.linkVisited,
98
113
  link: bannerParams.accentColor,
99
114
  hover: bannerParams.hoverColor,
100
115
  bottom: bottom,
@@ -109,7 +124,7 @@ var Banner = function Banner(_ref) {
109
124
  size: size,
110
125
  width: width,
111
126
  color: bannerParams.accentColor,
112
- children: [children, "\xA0\xA0", link && linkText && /*#__PURE__*/_jsx(HyperLink, {
127
+ children: [children, "\xA0", link && linkText && /*#__PURE__*/_jsx(HyperLink, {
113
128
  id: "".concat(Math.floor(Math.random() * 999999999999), "_BannerLink"),
114
129
  onClick: function onClick(e) {
115
130
  if (linkAction) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Banners/Banner.tsx"],"names":["React","styled","BREAKPOINTS","COLORS","ComponentTextStyle","Close","Help","TechnicalWarning","ThumbsUp","Tip","IconButton","getButtonStyle","ComponentMStyling","ComponentResponsive","HyperLink","BannerContainer","div","props","$type","correct_100","black","bottom","MEDIUM","LARGE","link","BannerCenter","Regular","$color","ButtonWrapper","ButtonContainer","BannerContentWrapper","Banner","size","type","children","testId","linkText","onClose","icon","noIcon","linkAction","useState","window","innerWidth","width","setWidth","useEffect","handleResize","addEventListener","bannerParams","typeColor","primary_100","accentColor","primary_700","hoverColor","primary_20","closeIconColor","primary_500","containerType","focusBgColor","primary_200","formatTypeToLowerCase","toLowerCase","warning_100","warning_700","warning_200","warning_20","warning_500","critical_100","critical_700","critical_200","critical_20","critical_500","correct_700","correct_200","correct_20","correct_500","Math","floor","random","e","preventDefault","hover"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport { BREAKPOINTS, COLORS, ComponentTextStyle } from '../styles';\nimport { Close, Help, TechnicalWarning, ThumbsUp, Tip } from '../icons/systemicons/SystemIcons';\nimport { IconButton } from '../Button';\nimport { getButtonStyle } from './styles';\nimport { Size } from '../types';\nimport { ComponentMStyling, ComponentResponsive } from '../styles/typography';\nimport { HyperLink } from '../HyperLink';\nimport { stringify } from 'querystring';\n\n/**\n * Styles for <Banner />\n */\ntype StyleBannerProps = BannerProps & { $type: string };\n\nconst BannerContainer = styled.div<StyleBannerProps>`\n background: ${(props: StyleBannerProps) => (props.$type ? props.$type : COLORS.correct_100)};\n min-height: 48px;\n display: flex;\n color: ${COLORS.black};\n margin-top: ${(props: StyleBannerProps) => (props.bottom ? 'auto' : '0')};\n\n button:last-child {\n line-height: 0;\n margin: 0 0 0 8px;\n ${BREAKPOINTS.MEDIUM} {\n margin: 0 0 0 16px;\n }\n ${BREAKPOINTS.LARGE} {\n margin: 0 0 0 32px;\n }\n &.small {\n margin: 0 0 0 8px;\n }\n &.medium {\n margin: 0 0 0 16px;\n }\n &.large {\n margin: 0 0 0 32px;\n }\n }\n\n a {\n color: ${(props: BannerProps) => props.link} !important;\n }\n`;\n\nconst BannerCenter = styled.div<{ $color: string }>`\n ${(props) => ComponentMStyling(ComponentTextStyle.Regular, props.$color)}\n\n display: flex;\n width: 100%;\n margin: 0 16px;\n ${BREAKPOINTS.MEDIUM} {\n margin: 0 32px;\n }\n ${BREAKPOINTS.LARGE} {\n margin: 0 56px;\n }\n &.small {\n margin: 0 16px;\n }\n &.medium {\n margin: 0 32px;\n }\n &.large {\n margin: 0 56px;\n }\n\n > svg {\n flex-shrink: 0;\n margin: 12px 0;\n }\n`;\n\nconst ButtonWrapper = styled.div`\n margin: 0 0 0 auto;\n`;\n\nconst ButtonContainer = styled.div<{ $type?: string }>`\n display: contents;\n ${(props) => (props.$type ? getButtonStyle(props.$type) : null)};\n`;\n\nconst BannerContentWrapper = styled.div`\n display: flex;\n align-items: center;\n margin: 12px 0;\n &:not(:first-child) {\n margin-left: 8px;\n }\n`;\n\ntype BannerProps = {\n size?: Size.Small | Size.Medium | Size.Large;\n type?: string;\n link?: string;\n linkText?: string;\n linkAction?: (ev: React.MouseEvent) => void;\n hover?: string;\n bottom?: boolean;\n testId?: string;\n icon?: React.ReactNode;\n onClose?: () => void;\n noIcon?: boolean;\n};\n\nconst Banner: React.FunctionComponent<BannerProps> = ({ size, type, children, bottom, testId, linkText, link, onClose, icon, noIcon, linkAction }) => {\n const [width, setWidth] = React.useState<number>(window.innerWidth);\n React.useEffect(() => {\n function handleResize() {\n setWidth(window.innerWidth);\n }\n window.addEventListener('resize', handleResize);\n });\n\n let bannerParams = {\n typeColor: COLORS.primary_100,\n accentColor: COLORS.primary_700,\n hoverColor: COLORS.primary_20,\n closeIconColor: COLORS.primary_500,\n icon: Tip,\n containerType: 'neutral',\n focusBgColor: COLORS.primary_200,\n };\n const formatTypeToLowerCase = type?.toLowerCase();\n if (formatTypeToLowerCase == 'warning') {\n bannerParams.typeColor = COLORS.warning_100;\n bannerParams.accentColor = COLORS.warning_700;\n bannerParams.focusBgColor = COLORS.warning_200;\n bannerParams.hoverColor = COLORS.warning_20;\n bannerParams.icon = Help;\n bannerParams.closeIconColor = COLORS.warning_500;\n bannerParams.containerType = formatTypeToLowerCase;\n } else if (formatTypeToLowerCase == 'critical') {\n bannerParams.typeColor = COLORS.critical_100;\n bannerParams.accentColor = COLORS.critical_700;\n bannerParams.focusBgColor = COLORS.critical_200;\n bannerParams.hoverColor = COLORS.critical_20;\n bannerParams.icon = TechnicalWarning;\n bannerParams.closeIconColor = COLORS.critical_500;\n bannerParams.containerType = formatTypeToLowerCase;\n } else if (formatTypeToLowerCase == 'positive') {\n bannerParams.typeColor = COLORS.correct_100;\n bannerParams.accentColor = COLORS.correct_700;\n bannerParams.focusBgColor = COLORS.correct_200;\n bannerParams.hoverColor = COLORS.correct_20;\n bannerParams.icon = ThumbsUp;\n bannerParams.closeIconColor = COLORS.correct_500;\n bannerParams.containerType = formatTypeToLowerCase;\n }\n\n return (\n <BannerContainer data-testid={testId} $type={bannerParams.typeColor} link={bannerParams.accentColor} hover={bannerParams.hoverColor} bottom={bottom}>\n <BannerCenter $color={bannerParams.accentColor} className={size}>\n {icon ? icon : noIcon ? null : <bannerParams.icon color={bannerParams.accentColor} size=\"24px\" />}\n <BannerContentWrapper>\n <ComponentResponsive size={size} width={width} color={bannerParams.accentColor}>\n {children}&nbsp;&nbsp;\n {link && linkText && (\n <HyperLink\n id={`${Math.floor(Math.random() * 999999999999)}_BannerLink`}\n onClick={(e) => {\n if (linkAction) {\n e.preventDefault();\n linkAction(e);\n }\n }}\n href={link}\n variant=\"default\">\n {linkText}\n </HyperLink>\n )}\n </ComponentResponsive>\n </BannerContentWrapper>\n {onClose && (\n <ButtonWrapper>\n <ButtonContainer $type={bannerParams.containerType}>\n <IconButton variant=\"secondary\" shape=\"circular\" useTransparentBackground focusBackgroundColor={bannerParams.focusBgColor} action={() => onClose()}>\n <Close color={bannerParams.closeIconColor} size=\"24px\" />\n </IconButton>\n </ButtonContainer>\n </ButtonWrapper>\n )}\n </BannerCenter>\n </BannerContainer>\n );\n};\n\nexport default Banner;\n"],"file":"Banner.js"}
1
+ {"version":3,"sources":["../../src/Banners/Banner.tsx"],"names":["React","styled","BREAKPOINTS","COLORS","ComponentTextStyle","Close","Help","TechnicalWarning","ThumbsUp","Tip","IconButton","getButtonStyle","ComponentMStyling","ComponentResponsive","HyperLink","StyledLink","BannerContainer","div","props","$type","correct_100","black","bottom","MEDIUM","LARGE","link","linkVisited","linkFocused","white","BannerCenter","Regular","$color","ButtonWrapper","ButtonContainer","BannerContentWrapper","Banner","size","type","children","testId","linkText","onClose","icon","noIcon","linkAction","useState","window","innerWidth","width","setWidth","useEffect","handleResize","addEventListener","bannerParams","typeColor","primary_100","accentColor","primary_700","hoverColor","primary_20","closeIconColor","primary_500","containerType","focusBgColor","primary_200","primary_600","primary_800","formatTypeToLowerCase","toLowerCase","warning_100","warning_700","warning_200","warning_20","warning_500","warning_600","warning_800","critical_100","critical_700","critical_200","critical_20","critical_500","critical_600","critical_800","correct_700","correct_200","correct_20","correct_500","correct_600","correct_800","Math","floor","random","e","preventDefault","hover"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport { BREAKPOINTS, COLORS, ComponentTextStyle } from '../styles';\nimport { Close, Help, TechnicalWarning, ThumbsUp, Tip } from '../icons/systemicons/SystemIcons';\nimport { IconButton } from '../Button';\nimport { getButtonStyle } from './styles';\nimport { Size } from '../types';\nimport { ComponentMStyling, ComponentResponsive } from '../styles/typography';\nimport { HyperLink } from '../HyperLink';\nimport {StyledLink} from '../HyperLink/HyperLink';\nimport {defaultOnMouseDownHandler} from '../common';\nimport {defaultStyle} from '../HyperLink/styling';\n\n/**\n * Styles for <Banner />\n */\ntype StyleBannerProps = BannerProps & { $type: string, linkVisited: string, linkFocused: string };\n\nconst BannerContainer = styled.div<StyleBannerProps>`\n background: ${(props: StyleBannerProps) => (props.$type ? props.$type : COLORS.correct_100)};\n min-height: 48px;\n display: flex;\n color: ${COLORS.black};\n margin-top: ${(props: StyleBannerProps) => (props.bottom ? 'auto' : '0')};\n\n button:last-child {\n line-height: 0;\n margin: 0 0 0 8px;\n ${BREAKPOINTS.MEDIUM} {\n margin: 0 0 0 16px;\n }\n ${BREAKPOINTS.LARGE} {\n margin: 0 0 0 32px;\n }\n &.small {\n margin: 0 0 0 8px;\n }\n &.medium {\n margin: 0 0 0 16px;\n }\n &.large {\n margin: 0 0 0 32px;\n }\n }\n\n ${StyledLink} {\n &:link{\n color: ${(props) => props.link};\n }\n &:visited{\n color: ${(props) => props.linkVisited};\n }\n &:focus,\n &:active{\n background-color: ${(props) => props.linkFocused};\n color: ${COLORS.white};\n }\n }\n`;\n\nconst BannerCenter = styled.div<{ $color: string }>`\n ${(props) => ComponentMStyling(ComponentTextStyle.Regular, props.$color)}\n\n display: flex;\n width: 100%;\n margin: 0 16px;\n ${BREAKPOINTS.MEDIUM} {\n margin: 0 32px;\n }\n ${BREAKPOINTS.LARGE} {\n margin: 0 56px;\n }\n &.small {\n margin: 0 16px;\n }\n &.medium {\n margin: 0 32px;\n }\n &.large {\n margin: 0 56px;\n }\n\n > svg {\n flex-shrink: 0;\n margin: 12px 0;\n }\n`;\n\nconst ButtonWrapper = styled.div`\n margin: 0 0 0 auto;\n`;\n\nconst ButtonContainer = styled.div<{ $type?: string }>`\n display: contents;\n ${(props) => (props.$type ? getButtonStyle(props.$type) : null)};\n`;\n\nconst BannerContentWrapper = styled.div`\n display: flex;\n align-items: center;\n margin: 12px 0;\n &:not(:first-child) {\n margin-left: 8px;\n }\n`;\n\ntype BannerProps = {\n size?: Size.Small | Size.Medium | Size.Large;\n type?: string;\n link?: string;\n linkText?: string;\n linkAction?: (ev: React.MouseEvent) => void;\n hover?: string;\n bottom?: boolean;\n testId?: string;\n icon?: React.ReactNode;\n onClose?: () => void;\n noIcon?: boolean;\n};\n\nconst Banner: React.FunctionComponent<BannerProps> = ({ size, type, children, bottom, testId, linkText, link, onClose, icon, noIcon, linkAction }) => {\n const [width, setWidth] = React.useState<number>(window.innerWidth);\n React.useEffect(() => {\n function handleResize() {\n setWidth(window.innerWidth);\n }\n window.addEventListener('resize', handleResize);\n });\n\n let bannerParams = {\n typeColor: COLORS.primary_100,\n accentColor: COLORS.primary_700,\n hoverColor: COLORS.primary_20,\n closeIconColor: COLORS.primary_500,\n icon: Tip,\n containerType: 'neutral',\n focusBgColor: COLORS.primary_200,\n linkVisited: COLORS.primary_600,\n linkFocused: COLORS.primary_800\n };\n const formatTypeToLowerCase = type?.toLowerCase();\n if (formatTypeToLowerCase == 'warning') {\n bannerParams.typeColor = COLORS.warning_100;\n bannerParams.accentColor = COLORS.warning_700;\n bannerParams.focusBgColor = COLORS.warning_200;\n bannerParams.hoverColor = COLORS.warning_20;\n bannerParams.icon = Help;\n bannerParams.closeIconColor = COLORS.warning_500;\n bannerParams.containerType = formatTypeToLowerCase;\n bannerParams.linkVisited = COLORS.warning_600;\n bannerParams.linkFocused = COLORS.warning_800;\n } else if (formatTypeToLowerCase == 'critical') {\n bannerParams.typeColor = COLORS.critical_100;\n bannerParams.accentColor = COLORS.critical_700;\n bannerParams.focusBgColor = COLORS.critical_200;\n bannerParams.hoverColor = COLORS.critical_20;\n bannerParams.icon = TechnicalWarning;\n bannerParams.closeIconColor = COLORS.critical_500;\n bannerParams.containerType = formatTypeToLowerCase;\n bannerParams.linkVisited = COLORS.critical_600;\n bannerParams.linkFocused = COLORS.critical_800;\n } else if (formatTypeToLowerCase == 'positive') {\n bannerParams.typeColor = COLORS.correct_100;\n bannerParams.accentColor = COLORS.correct_700;\n bannerParams.focusBgColor = COLORS.correct_200;\n bannerParams.hoverColor = COLORS.correct_20;\n bannerParams.icon = ThumbsUp;\n bannerParams.closeIconColor = COLORS.correct_500;\n bannerParams.containerType = formatTypeToLowerCase;\n bannerParams.linkVisited = COLORS.correct_600;\n bannerParams.linkFocused = COLORS.correct_800;\n }\n\n return (\n <BannerContainer data-testid={testId} $type={bannerParams.typeColor} linkFocused={bannerParams.linkFocused} linkVisited={bannerParams.linkVisited} link={bannerParams.accentColor} hover={bannerParams.hoverColor} bottom={bottom}>\n <BannerCenter $color={bannerParams.accentColor} className={size}>\n {icon ? icon : noIcon ? null : <bannerParams.icon color={bannerParams.accentColor} size=\"24px\" />}\n <BannerContentWrapper>\n <ComponentResponsive size={size} width={width} color={bannerParams.accentColor}>\n {children}&nbsp;\n {link && linkText && (\n <HyperLink\n id={`${Math.floor(Math.random() * 999999999999)}_BannerLink`}\n onClick={(e) => {\n if (linkAction) {\n e.preventDefault();\n linkAction(e);\n }\n }}\n href={link}\n variant=\"default\">\n {linkText}\n </HyperLink>\n )}\n </ComponentResponsive>\n </BannerContentWrapper>\n {onClose && (\n <ButtonWrapper>\n <ButtonContainer $type={bannerParams.containerType}>\n <IconButton variant=\"secondary\" shape=\"circular\" useTransparentBackground focusBackgroundColor={bannerParams.focusBgColor} action={() => onClose()}>\n <Close color={bannerParams.closeIconColor} size=\"24px\" />\n </IconButton>\n </ButtonContainer>\n </ButtonWrapper>\n )}\n </BannerCenter>\n </BannerContainer>\n );\n};\n\nexport default Banner;\n"],"file":"Banner.js"}
@@ -53,27 +53,27 @@ var StyledIconButton = _styledComponents.default.button(_templateObject || (_tem
53
53
  return props.unsetIconSize ? 'unset' : '24px';
54
54
  });
55
55
 
56
- var StyledPrimaryIconButton = (0, _styledComponents.default)(StyledIconButton)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n div {\n background-color: ", ";\n\n svg {\n fill: ", ";\n path {\n fill: ", ";\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:active:not(:disabled) {\n div {\n background: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:disabled {\n div {\n background-color: ", ";\n }\n svg {\n path {\n fill: ", ";\n }\n fill: ", ";\n }\n }\n &:focus:not(:disabled) {\n div {\n background-color: ", " !important;\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n"])), function (props) {
56
+ var StyledPrimaryIconButton = (0, _styledComponents.default)(StyledIconButton)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n div {\n background-color: ", ";\n\n svg {\n fill: ", ";\n path {\n fill: ", ";\n }\n }\n }\n &:focus:not(:disabled) {\n div {\n background-color: ", " !important;\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:active:not(:disabled) {\n div {\n background: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:disabled {\n div {\n background-color: ", ";\n }\n svg {\n path {\n fill: ", ";\n }\n fill: ", ";\n }\n }\n\n"])), function (props) {
57
57
  return props.useTransparentBackground ? 'transparent' : _styles.COLORS.primary_500;
58
58
  }, function (props) {
59
59
  return props.iconColor || _styles.COLORS.white;
60
60
  }, function (props) {
61
61
  return props.iconColor || _styles.COLORS.white;
62
- }, _styles.COLORS.primary_700, _styles.COLORS.white, _styles.COLORS.primary_800, _styles.COLORS.white, _styles.COLORS.neutral_200, _styles.COLORS.white, _styles.COLORS.white, function (props) {
62
+ }, function (props) {
63
63
  return props.focusBackgroundColor || _styles.COLORS.primary_700;
64
- }, _styles.COLORS.white);
64
+ }, _styles.COLORS.white, _styles.COLORS.primary_700, _styles.COLORS.white, _styles.COLORS.primary_800, _styles.COLORS.white, _styles.COLORS.neutral_200, _styles.COLORS.white, _styles.COLORS.white);
65
65
  exports.StyledPrimaryIconButton = StyledPrimaryIconButton;
66
- var StyledSecondaryIconButton = (0, _styledComponents.default)(StyledIconButton)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n div {\n background-color: ", ";\n\n svg {\n fill: ", ";\n path {\n fill: ", ";\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:active:not(:disabled) {\n div {\n background: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n\n &:disabled {\n div {\n background-color: ", ";\n }\n svg {\n path {\n fill: ", ";\n }\n fill: ", ";\n }\n }\n\n &:focus:not(:disabled) {\n div {\n background-color: ", ";\n box-shadow: 0px 0px 8px ", ", 0px 4px 12px rgba(46, 127, 161, 0.25);\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n"])), function (props) {
66
+ var StyledSecondaryIconButton = (0, _styledComponents.default)(StyledIconButton)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n div {\n background-color: ", ";\n\n svg {\n fill: ", ";\n path {\n fill: ", ";\n }\n }\n }\n\n &:focus:not(:disabled) {\n div {\n background-color: ", ";\n box-shadow: 0px 0px 8px ", ", 0px 4px 12px rgba(46, 127, 161, 0.25);\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n \n &:hover:not(:disabled) {\n div {\n background-color: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:active:not(:disabled) {\n div {\n background: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n\n &:disabled {\n div {\n background-color: ", ";\n }\n svg {\n path {\n fill: ", ";\n }\n fill: ", ";\n }\n }\n\n"])), function (props) {
67
67
  return props.useTransparentBackground ? 'transparent' : _styles.COLORS.white;
68
68
  }, function (props) {
69
69
  return props.iconColor || _styles.COLORS.neutral_600;
70
70
  }, function (props) {
71
71
  return props.iconColor || _styles.COLORS.neutral_600;
72
- }, _styles.COLORS.primary_20, _styles.COLORS.primary_700, _styles.COLORS.primary_100, _styles.COLORS.primary_800, function (props) {
73
- return props.useTransparentBackground ? 'transparent' : _styles.COLORS.white;
74
- }, _styles.COLORS.neutral_300, _styles.COLORS.neutral_300, function (props) {
72
+ }, function (props) {
75
73
  return props.focusBackgroundColor || 'transparent';
76
- }, _styles.COLORS.primary_500, _styles.COLORS.neutral_600);
74
+ }, _styles.COLORS.primary_500, _styles.COLORS.neutral_600, _styles.COLORS.primary_20, _styles.COLORS.primary_700, _styles.COLORS.primary_100, _styles.COLORS.primary_800, function (props) {
75
+ return props.useTransparentBackground ? 'transparent' : _styles.COLORS.white;
76
+ }, _styles.COLORS.neutral_300, _styles.COLORS.neutral_300);
77
77
  exports.StyledSecondaryIconButton = StyledSecondaryIconButton;
78
78
 
79
79
  var IconButton = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
@@ -94,11 +94,11 @@ var IconButton = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
94
94
  onKeyPress = _ref.onKeyPress,
95
95
  focusBackgroundColor = _ref.focusBackgroundColor,
96
96
  type = _ref.type,
97
- hidden = _ref.hidden;
97
+ hidden = _ref.hidden,
98
+ style = _ref.style;
98
99
 
99
- var isPressingEnter = function isPressingEnter(e) {
100
- if (e.key === 'Enter') {
101
- e.preventDefault();
100
+ var isPressingEnterOrSpace = function isPressingEnterOrSpace(e) {
101
+ if (e.key === 'Enter' || e.key === ' ') {
102
102
  e.stopPropagation();
103
103
  return true;
104
104
  }
@@ -119,7 +119,7 @@ var IconButton = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
119
119
  action(event);
120
120
  },
121
121
  onKeyDown: function onKeyDown(e) {
122
- return isPressingEnter(e) ? action() : null;
122
+ return isPressingEnterOrSpace(e) ? action() : null;
123
123
  },
124
124
  disabled: disabled,
125
125
  hideOnLowWidth: hideOnLowWidth || false,
@@ -132,6 +132,7 @@ var IconButton = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
132
132
  onMouseDown: _common.defaultOnMouseDownHandler,
133
133
  onKeyPress: onKeyPress,
134
134
  hidden: hidden,
135
+ style: style,
135
136
  focusBackgroundColor: focusBackgroundColor,
136
137
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
137
138
  children: children
@@ -151,7 +152,7 @@ var IconButton = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
151
152
  action(event);
152
153
  },
153
154
  onKeyDown: function onKeyDown(e) {
154
- return isPressingEnter(e) ? action() : null;
155
+ return isPressingEnterOrSpace(e) ? action() : null;
155
156
  },
156
157
  disabled: disabled,
157
158
  hideOnLowWidth: hideOnLowWidth || false,
@@ -164,6 +165,7 @@ var IconButton = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
164
165
  onMouseDown: _common.defaultOnMouseDownHandler,
165
166
  onKeyPress: onKeyPress,
166
167
  hidden: hidden,
168
+ style: style,
167
169
  focusBackgroundColor: focusBackgroundColor,
168
170
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
169
171
  children: children
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Button/Iconbutton.tsx"],"names":["getBorderRadius","props","borderRadius","getBorderRadiusStyle","radius","flatEdge","StyledIconButton","styled","button","hideOnLowWidth","BREAKPOINTS","MEDIUM","unsetIconSize","StyledPrimaryIconButton","useTransparentBackground","COLORS","primary_500","iconColor","white","primary_700","primary_800","neutral_200","focusBackgroundColor","StyledSecondaryIconButton","neutral_600","primary_20","primary_100","neutral_300","IconButton","React","forwardRef","ref","id","variant","shape","action","isInMobileMenu","children","disabled","tabIndex","onKeyPress","type","hidden","isPressingEnter","e","key","preventDefault","stopPropagation","event","defaultOnMouseDownHandler"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { BREAKPOINTS, COLORS } from '../styles';\nimport {defaultOnMouseDownHandler} from '../common';\n\ninterface HeaderItemProps {\n hideOnLowWidth: boolean;\n inMobileMenu?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n borderRadius?: number;\n shape?: string;\n flatEdge?: string;\n focusBackgroundColor?: string;\n}\n\nconst getBorderRadius = (props:HeaderItemProps) => (props.borderRadius ? `${props.borderRadius}px` : '4px');\n\nconst getBorderRadiusStyle = (props:HeaderItemProps) => {\n const radius = getBorderRadius(props);\n switch(props.flatEdge)\n {\n case 'left':\n return `0px ${radius} ${radius} 0px`;\n \n case 'right':\n return `${radius} 0px 0px ${radius}`;\n\n case 'none':\n default:\n return `${radius}`;\n }\n};\n\nconst StyledIconButton = styled.button<HeaderItemProps>`\n border-width: 0;\n cursor: pointer;\n height: 48px;\n width: 48px;\n background: transparent;\n\n display: ${(props) => (props.hideOnLowWidth ? 'none' : 'block')};\n ${BREAKPOINTS.MEDIUM} {\n display: block;\n }\n\n border-radius: ${(props) => (props.borderRadius ? `${props.borderRadius}px` : '4px')};\n div {\n height: 36px;\n width: 36px;\n border-radius: ${getBorderRadiusStyle};\n display: flex;\n justify-content: center;\n align-items: center;\n svg {\n height: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n width: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n padding: 0;\n }\n }\n &:only-child {\n margin: 0;\n }\n &:disabled {\n cursor: not-allowed;\n }\n &:focus:not(:disabled) {\n outline: none;\n div {\n outline: none;\n }\n }\n &:active:not(:disabled) {\n div {\n box-shadow: none !important;\n }\n }\n`;\n\nexport const StyledPrimaryIconButton = styled(StyledIconButton)`\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.primary_500)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.white};\n path {\n fill: ${(props) => props.iconColor || COLORS.white};\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ${COLORS.primary_700};\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n &:active:not(:disabled) {\n div {\n background: ${COLORS.primary_800};\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n &:disabled {\n div {\n background-color: ${COLORS.neutral_200};\n }\n svg {\n path {\n fill: ${COLORS.white};\n }\n fill: ${COLORS.white};\n }\n }\n &:focus:not(:disabled) {\n div {\n background-color: ${(props) => props.focusBackgroundColor || COLORS.primary_700} !important;\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n`;\n\nexport const StyledSecondaryIconButton = styled(StyledIconButton)`\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n path {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ${COLORS.primary_20};\n }\n div svg path,\n div svg {\n fill: ${COLORS.primary_700};\n }\n }\n &:active:not(:disabled) {\n div {\n background: ${COLORS.primary_100};\n }\n div svg path,\n div svg {\n fill: ${COLORS.primary_800};\n }\n }\n\n &:disabled {\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n }\n svg {\n path {\n fill: ${COLORS.neutral_300};\n }\n fill: ${COLORS.neutral_300};\n }\n }\n\n &:focus:not(:disabled) {\n div {\n background-color: ${(props) => props.focusBackgroundColor || 'transparent'};\n box-shadow: 0px 0px 8px ${COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);\n }\n div svg path,\n div svg {\n fill: ${COLORS.neutral_600};\n }\n }\n`;\n\nexport interface IconButtonProps {\n id?: string;\n variant?: 'primary' | 'secondary';\n shape?: 'square' | 'circular';\n action: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n hideOnLowWidth?: boolean;\n flatEdge?: 'right' | 'left' | 'none' | undefined;\n isInMobileMenu?: boolean;\n disabled?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n tabIndex?: number;\n borderRadius?: number;\n onKeyPress?: React.KeyboardEventHandler<HTMLButtonElement>;\n focusBackgroundColor?: string;\n type?: 'submit' | 'reset' | 'button' | undefined;\n children?: React.ReactNode;\n hidden?: boolean;\n}\n\nconst IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(({\n id,\n variant,\n shape,\n action,\n hideOnLowWidth,\n isInMobileMenu,\n children,\n useTransparentBackground,\n disabled,\n iconColor,\n unsetIconSize,\n tabIndex,\n flatEdge,\n borderRadius,\n onKeyPress,\n focusBackgroundColor,\n type,\n hidden\n}: IconButtonProps, ref) => {\n\n const isPressingEnter = (e: any) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n e.stopPropagation();\n return true;\n }\n return false;\n };\n\n // Let's render button\n switch (variant) {\n case 'secondary':\n return (\n <StyledSecondaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {event.stopPropagation(); action(event);}}\n onKeyDown={(e: any) => (isPressingEnter(e) ? action() : null)}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex || 0}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={onKeyPress}\n hidden={hidden}\n focusBackgroundColor={focusBackgroundColor}>\n <div>{children}</div>\n </StyledSecondaryIconButton>\n );\n case 'primary':\n default:\n return (\n <StyledPrimaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n flatEdge={flatEdge}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {event.stopPropagation(); action(event);}}\n onKeyDown={(e: any) => (isPressingEnter(e) ? action() : null)}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex || 0}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={onKeyPress}\n hidden={hidden}\n focusBackgroundColor={focusBackgroundColor}>\n <div>{children}</div>\n </StyledPrimaryIconButton>\n );\n }\n});\n\nexport default IconButton;\n"],"file":"Iconbutton.cjs"}
1
+ {"version":3,"sources":["../../src/Button/Iconbutton.tsx"],"names":["getBorderRadius","props","borderRadius","getBorderRadiusStyle","radius","flatEdge","StyledIconButton","styled","button","hideOnLowWidth","BREAKPOINTS","MEDIUM","unsetIconSize","StyledPrimaryIconButton","useTransparentBackground","COLORS","primary_500","iconColor","white","focusBackgroundColor","primary_700","primary_800","neutral_200","StyledSecondaryIconButton","neutral_600","primary_20","primary_100","neutral_300","IconButton","React","forwardRef","ref","id","variant","shape","action","isInMobileMenu","children","disabled","tabIndex","onKeyPress","type","hidden","style","isPressingEnterOrSpace","e","key","stopPropagation","event","defaultOnMouseDownHandler"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled, {css, CSSProperties} from 'styled-components';\n\nimport { BREAKPOINTS, COLORS } from '../styles';\nimport {defaultOnMouseDownHandler} from '../common';\n\ninterface HeaderItemProps {\n hideOnLowWidth: boolean;\n inMobileMenu?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n borderRadius?: number;\n shape?: string;\n flatEdge?: string;\n focusBackgroundColor?: string;\n}\n\nconst getBorderRadius = (props:HeaderItemProps) => (props.borderRadius ? `${props.borderRadius}px` : '4px');\n\nconst getBorderRadiusStyle = (props:HeaderItemProps) => {\n const radius = getBorderRadius(props);\n switch(props.flatEdge)\n {\n case 'left':\n return `0px ${radius} ${radius} 0px`;\n\n case 'right':\n return `${radius} 0px 0px ${radius}`;\n\n case 'none':\n default:\n return `${radius}`;\n }\n};\n\nconst StyledIconButton = styled.button<HeaderItemProps>`\n border-width: 0;\n cursor: pointer;\n height: 48px;\n width: 48px;\n background: transparent;\n\n display: ${(props) => (props.hideOnLowWidth ? 'none' : 'block')};\n ${BREAKPOINTS.MEDIUM} {\n display: block;\n }\n\n border-radius: ${(props) => (props.borderRadius ? `${props.borderRadius}px` : '4px')};\n div {\n height: 36px;\n width: 36px;\n border-radius: ${getBorderRadiusStyle};\n display: flex;\n justify-content: center;\n align-items: center;\n svg {\n height: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n width: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n padding: 0;\n }\n }\n &:only-child {\n margin: 0;\n }\n &:disabled {\n cursor: not-allowed;\n }\n &:focus:not(:disabled) {\n outline: none;\n div {\n outline: none;\n }\n }\n &:active:not(:disabled) {\n div {\n box-shadow: none !important;\n }\n }\n`;\n\nexport const StyledPrimaryIconButton = styled(StyledIconButton)`\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.primary_500)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.white};\n path {\n fill: ${(props) => props.iconColor || COLORS.white};\n }\n }\n }\n &:focus:not(:disabled) {\n div {\n background-color: ${(props) => props.focusBackgroundColor || COLORS.primary_700} !important;\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ${COLORS.primary_700};\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n &:active:not(:disabled) {\n div {\n background: ${COLORS.primary_800};\n }\n div svg path,\n div svg {\n fill: ${COLORS.white};\n }\n }\n &:disabled {\n div {\n background-color: ${COLORS.neutral_200};\n }\n svg {\n path {\n fill: ${COLORS.white};\n }\n fill: ${COLORS.white};\n }\n }\n\n`;\n\nexport const StyledSecondaryIconButton = styled(StyledIconButton)`\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n path {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n }\n }\n }\n\n &:focus:not(:disabled) {\n div {\n background-color: ${(props) => props.focusBackgroundColor || 'transparent'};\n box-shadow: 0px 0px 8px ${COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);\n }\n div svg path,\n div svg {\n fill: ${COLORS.neutral_600};\n }\n }\n \n &:hover:not(:disabled) {\n div {\n background-color: ${COLORS.primary_20};\n }\n div svg path,\n div svg {\n fill: ${COLORS.primary_700};\n }\n }\n &:active:not(:disabled) {\n div {\n background: ${COLORS.primary_100};\n }\n div svg path,\n div svg {\n fill: ${COLORS.primary_800};\n }\n }\n\n &:disabled {\n div {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n }\n svg {\n path {\n fill: ${COLORS.neutral_300};\n }\n fill: ${COLORS.neutral_300};\n }\n }\n\n`;\n\nexport interface IconButtonProps {\n id?: string;\n variant?: 'primary' | 'secondary';\n shape?: 'square' | 'circular';\n action: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n hideOnLowWidth?: boolean;\n flatEdge?: 'right' | 'left' | 'none' | undefined;\n isInMobileMenu?: boolean;\n disabled?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n tabIndex?: number;\n borderRadius?: number;\n onKeyPress?: React.KeyboardEventHandler<HTMLButtonElement>;\n focusBackgroundColor?: string;\n type?: 'submit' | 'reset' | 'button' | undefined;\n children?: React.ReactNode;\n hidden?: boolean;\n style?: CSSProperties | undefined;\n}\n\nconst IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(({\n id,\n variant,\n shape,\n action,\n hideOnLowWidth,\n isInMobileMenu,\n children,\n useTransparentBackground,\n disabled,\n iconColor,\n unsetIconSize,\n tabIndex,\n flatEdge,\n borderRadius,\n onKeyPress,\n focusBackgroundColor,\n type,\n hidden,\n style\n}: IconButtonProps, ref) => {\n\n const isPressingEnterOrSpace = (e: React.KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.stopPropagation();\n return true;\n }\n return false;\n };\n\n // Let's render button\n switch (variant) {\n case 'secondary':\n return (\n <StyledSecondaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {event.stopPropagation(); action(event);}}\n onKeyDown={(e: any) => isPressingEnterOrSpace(e) ? action() : null}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex || 0}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={onKeyPress}\n hidden={hidden}\n style={style}\n focusBackgroundColor={focusBackgroundColor}>\n <div>{children}</div>\n </StyledSecondaryIconButton>\n );\n case 'primary':\n default:\n return (\n <StyledPrimaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n flatEdge={flatEdge}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {event.stopPropagation(); action(event);}}\n onKeyDown={(e: any) => isPressingEnterOrSpace(e) ? action() : null}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex || 0}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={onKeyPress}\n hidden={hidden}\n style={style}\n focusBackgroundColor={focusBackgroundColor}>\n <div>{children}</div>\n </StyledPrimaryIconButton>\n );\n }\n});\n\nexport default IconButton;\n"],"file":"Iconbutton.cjs"}
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { CSSProperties } from 'styled-components';
2
3
  interface HeaderItemProps {
3
4
  hideOnLowWidth: boolean;
4
5
  inMobileMenu?: boolean;
@@ -31,6 +32,7 @@ export interface IconButtonProps {
31
32
  type?: 'submit' | 'reset' | 'button' | undefined;
32
33
  children?: React.ReactNode;
33
34
  hidden?: boolean;
35
+ style?: CSSProperties | undefined;
34
36
  }
35
37
  declare const IconButton: React.ForwardRefExoticComponent<IconButtonProps & React.RefAttributes<HTMLButtonElement>>;
36
38
  export default IconButton;
@@ -38,26 +38,26 @@ var StyledIconButton = styled.button(_templateObject || (_templateObject = _tagg
38
38
  }, function (props) {
39
39
  return props.unsetIconSize ? 'unset' : '24px';
40
40
  });
41
- export var StyledPrimaryIconButton = styled(StyledIconButton)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n div {\n background-color: ", ";\n\n svg {\n fill: ", ";\n path {\n fill: ", ";\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:active:not(:disabled) {\n div {\n background: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:disabled {\n div {\n background-color: ", ";\n }\n svg {\n path {\n fill: ", ";\n }\n fill: ", ";\n }\n }\n &:focus:not(:disabled) {\n div {\n background-color: ", " !important;\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n"])), function (props) {
41
+ export var StyledPrimaryIconButton = styled(StyledIconButton)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n div {\n background-color: ", ";\n\n svg {\n fill: ", ";\n path {\n fill: ", ";\n }\n }\n }\n &:focus:not(:disabled) {\n div {\n background-color: ", " !important;\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:active:not(:disabled) {\n div {\n background: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:disabled {\n div {\n background-color: ", ";\n }\n svg {\n path {\n fill: ", ";\n }\n fill: ", ";\n }\n }\n\n"])), function (props) {
42
42
  return props.useTransparentBackground ? 'transparent' : COLORS.primary_500;
43
43
  }, function (props) {
44
44
  return props.iconColor || COLORS.white;
45
45
  }, function (props) {
46
46
  return props.iconColor || COLORS.white;
47
- }, COLORS.primary_700, COLORS.white, COLORS.primary_800, COLORS.white, COLORS.neutral_200, COLORS.white, COLORS.white, function (props) {
47
+ }, function (props) {
48
48
  return props.focusBackgroundColor || COLORS.primary_700;
49
- }, COLORS.white);
50
- export var StyledSecondaryIconButton = styled(StyledIconButton)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n div {\n background-color: ", ";\n\n svg {\n fill: ", ";\n path {\n fill: ", ";\n }\n }\n }\n &:hover:not(:disabled) {\n div {\n background-color: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:active:not(:disabled) {\n div {\n background: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n\n &:disabled {\n div {\n background-color: ", ";\n }\n svg {\n path {\n fill: ", ";\n }\n fill: ", ";\n }\n }\n\n &:focus:not(:disabled) {\n div {\n background-color: ", ";\n box-shadow: 0px 0px 8px ", ", 0px 4px 12px rgba(46, 127, 161, 0.25);\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n"])), function (props) {
49
+ }, COLORS.white, COLORS.primary_700, COLORS.white, COLORS.primary_800, COLORS.white, COLORS.neutral_200, COLORS.white, COLORS.white);
50
+ export var StyledSecondaryIconButton = styled(StyledIconButton)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n div {\n background-color: ", ";\n\n svg {\n fill: ", ";\n path {\n fill: ", ";\n }\n }\n }\n\n &:focus:not(:disabled) {\n div {\n background-color: ", ";\n box-shadow: 0px 0px 8px ", ", 0px 4px 12px rgba(46, 127, 161, 0.25);\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n \n &:hover:not(:disabled) {\n div {\n background-color: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n &:active:not(:disabled) {\n div {\n background: ", ";\n }\n div svg path,\n div svg {\n fill: ", ";\n }\n }\n\n &:disabled {\n div {\n background-color: ", ";\n }\n svg {\n path {\n fill: ", ";\n }\n fill: ", ";\n }\n }\n\n"])), function (props) {
51
51
  return props.useTransparentBackground ? 'transparent' : COLORS.white;
52
52
  }, function (props) {
53
53
  return props.iconColor || COLORS.neutral_600;
54
54
  }, function (props) {
55
55
  return props.iconColor || COLORS.neutral_600;
56
- }, COLORS.primary_20, COLORS.primary_700, COLORS.primary_100, COLORS.primary_800, function (props) {
57
- return props.useTransparentBackground ? 'transparent' : COLORS.white;
58
- }, COLORS.neutral_300, COLORS.neutral_300, function (props) {
56
+ }, function (props) {
59
57
  return props.focusBackgroundColor || 'transparent';
60
- }, COLORS.primary_500, COLORS.neutral_600);
58
+ }, COLORS.primary_500, COLORS.neutral_600, COLORS.primary_20, COLORS.primary_700, COLORS.primary_100, COLORS.primary_800, function (props) {
59
+ return props.useTransparentBackground ? 'transparent' : COLORS.white;
60
+ }, COLORS.neutral_300, COLORS.neutral_300);
61
61
  var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
62
62
  var id = _ref.id,
63
63
  variant = _ref.variant,
@@ -76,11 +76,11 @@ var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
76
76
  onKeyPress = _ref.onKeyPress,
77
77
  focusBackgroundColor = _ref.focusBackgroundColor,
78
78
  type = _ref.type,
79
- hidden = _ref.hidden;
79
+ hidden = _ref.hidden,
80
+ style = _ref.style;
80
81
 
81
- var isPressingEnter = function isPressingEnter(e) {
82
- if (e.key === 'Enter') {
83
- e.preventDefault();
82
+ var isPressingEnterOrSpace = function isPressingEnterOrSpace(e) {
83
+ if (e.key === 'Enter' || e.key === ' ') {
84
84
  e.stopPropagation();
85
85
  return true;
86
86
  }
@@ -101,7 +101,7 @@ var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
101
101
  action(event);
102
102
  },
103
103
  onKeyDown: function onKeyDown(e) {
104
- return isPressingEnter(e) ? action() : null;
104
+ return isPressingEnterOrSpace(e) ? action() : null;
105
105
  },
106
106
  disabled: disabled,
107
107
  hideOnLowWidth: hideOnLowWidth || false,
@@ -114,6 +114,7 @@ var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
114
114
  onMouseDown: defaultOnMouseDownHandler,
115
115
  onKeyPress: onKeyPress,
116
116
  hidden: hidden,
117
+ style: style,
117
118
  focusBackgroundColor: focusBackgroundColor,
118
119
  children: /*#__PURE__*/_jsx("div", {
119
120
  children: children
@@ -133,7 +134,7 @@ var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
133
134
  action(event);
134
135
  },
135
136
  onKeyDown: function onKeyDown(e) {
136
- return isPressingEnter(e) ? action() : null;
137
+ return isPressingEnterOrSpace(e) ? action() : null;
137
138
  },
138
139
  disabled: disabled,
139
140
  hideOnLowWidth: hideOnLowWidth || false,
@@ -146,6 +147,7 @@ var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
146
147
  onMouseDown: defaultOnMouseDownHandler,
147
148
  onKeyPress: onKeyPress,
148
149
  hidden: hidden,
150
+ style: style,
149
151
  focusBackgroundColor: focusBackgroundColor,
150
152
  children: /*#__PURE__*/_jsx("div", {
151
153
  children: children