@laerdal/life-react-components 1.7.0-dev.9.full → 1.7.0-dev.95

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 (321) hide show
  1. package/dist/Accordion/ContentAccordion.cjs +1 -1
  2. package/dist/Accordion/ContentAccordion.cjs.map +1 -1
  3. package/dist/Accordion/ContentAccordion.js +2 -2
  4. package/dist/Accordion/ContentAccordion.js.map +1 -1
  5. package/dist/Accordion/styles.cjs +1 -1
  6. package/dist/Accordion/styles.cjs.map +1 -1
  7. package/dist/Accordion/styles.js +2 -2
  8. package/dist/Accordion/styles.js.map +1 -1
  9. package/dist/Banners/Banner.cjs +3 -3
  10. package/dist/Banners/Banner.cjs.map +1 -1
  11. package/dist/Banners/Banner.js +3 -3
  12. package/dist/Banners/Banner.js.map +1 -1
  13. package/dist/Banners/styles.cjs +1 -1
  14. package/dist/Banners/styles.cjs.map +1 -1
  15. package/dist/Banners/styles.js +1 -1
  16. package/dist/Banners/styles.js.map +1 -1
  17. package/dist/Button/BackButton.cjs +2 -2
  18. package/dist/Button/BackButton.cjs.map +1 -1
  19. package/dist/Button/BackButton.js +3 -3
  20. package/dist/Button/BackButton.js.map +1 -1
  21. package/dist/Button/Button.cjs +21 -8
  22. package/dist/Button/Button.cjs.map +1 -1
  23. package/dist/Button/Button.d.ts +0 -1
  24. package/dist/Button/Button.js +22 -9
  25. package/dist/Button/Button.js.map +1 -1
  26. package/dist/Button/Iconbutton.cjs +27 -14
  27. package/dist/Button/Iconbutton.cjs.map +1 -1
  28. package/dist/Button/Iconbutton.d.ts +0 -2
  29. package/dist/Button/Iconbutton.js +28 -15
  30. package/dist/Button/Iconbutton.js.map +1 -1
  31. package/dist/Card/Card.cjs +44 -28
  32. package/dist/Card/Card.cjs.map +1 -1
  33. package/dist/Card/Card.d.ts +11 -3
  34. package/dist/Card/Card.js +44 -26
  35. package/dist/Card/Card.js.map +1 -1
  36. package/dist/Card/CardBottomSection.cjs +9 -2
  37. package/dist/Card/CardBottomSection.cjs.map +1 -1
  38. package/dist/Card/CardBottomSection.d.ts +2 -1
  39. package/dist/Card/CardBottomSection.js +10 -3
  40. package/dist/Card/CardBottomSection.js.map +1 -1
  41. package/dist/Card/CardMiddleSection.cjs +7 -2
  42. package/dist/Card/CardMiddleSection.cjs.map +1 -1
  43. package/dist/Card/CardMiddleSection.d.ts +2 -0
  44. package/dist/Card/CardMiddleSection.js +8 -3
  45. package/dist/Card/CardMiddleSection.js.map +1 -1
  46. package/dist/Card/CardTopSection.cjs +12 -9
  47. package/dist/Card/CardTopSection.cjs.map +1 -1
  48. package/dist/Card/CardTopSection.d.ts +4 -2
  49. package/dist/Card/CardTopSection.js +13 -10
  50. package/dist/Card/CardTopSection.js.map +1 -1
  51. package/dist/Card/index.cjs +13 -1
  52. package/dist/Card/index.cjs.map +1 -1
  53. package/dist/Card/index.d.ts +1 -0
  54. package/dist/Card/index.js +1 -0
  55. package/dist/Card/index.js.map +1 -1
  56. package/dist/Chips/ActionChip.cjs +4 -4
  57. package/dist/Chips/ActionChip.cjs.map +1 -1
  58. package/dist/Chips/ActionChip.js +4 -4
  59. package/dist/Chips/ActionChip.js.map +1 -1
  60. package/dist/Chips/ChipInput.cjs +199 -0
  61. package/dist/Chips/ChipInput.cjs.map +1 -0
  62. package/dist/{ChipsInput → Chips}/ChipInput.d.ts +4 -1
  63. package/dist/Chips/ChipInput.js +182 -0
  64. package/dist/Chips/ChipInput.js.map +1 -0
  65. package/dist/Chips/ChipStyles.cjs +15 -3
  66. package/dist/Chips/ChipStyles.cjs.map +1 -1
  67. package/dist/Chips/ChipStyles.d.ts +3 -0
  68. package/dist/Chips/ChipStyles.js +6 -3
  69. package/dist/Chips/ChipStyles.js.map +1 -1
  70. package/dist/Chips/ChipTypes.d.ts +18 -6
  71. package/dist/Chips/ChoiceChips.cjs +2 -2
  72. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  73. package/dist/Chips/ChoiceChips.js +2 -2
  74. package/dist/Chips/ChoiceChips.js.map +1 -1
  75. package/dist/Chips/FilterChip.cjs +3 -3
  76. package/dist/Chips/FilterChip.cjs.map +1 -1
  77. package/dist/Chips/FilterChip.js +3 -3
  78. package/dist/Chips/FilterChip.js.map +1 -1
  79. package/dist/Chips/InputChip.cjs +4 -4
  80. package/dist/Chips/InputChip.cjs.map +1 -1
  81. package/dist/Chips/InputChip.js +4 -4
  82. package/dist/Chips/InputChip.js.map +1 -1
  83. package/dist/Chips/index.cjs +1 -1
  84. package/dist/Chips/index.cjs.map +1 -1
  85. package/dist/Chips/index.d.ts +1 -1
  86. package/dist/Chips/index.js +1 -1
  87. package/dist/Chips/index.js.map +1 -1
  88. package/dist/Dropdown/BasicDropdown.cjs +0 -1
  89. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  90. package/dist/Dropdown/BasicDropdown.js +1 -2
  91. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  92. package/dist/Dropdown/ChipDropdownInput.cjs +431 -0
  93. package/dist/Dropdown/ChipDropdownInput.cjs.map +1 -0
  94. package/dist/Dropdown/ChipDropdownInput.d.ts +24 -0
  95. package/dist/Dropdown/ChipDropdownInput.js +418 -0
  96. package/dist/Dropdown/ChipDropdownInput.js.map +1 -0
  97. package/dist/Dropdown/CommonStyling.cjs +5 -7
  98. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  99. package/dist/Dropdown/CommonStyling.js +6 -7
  100. package/dist/Dropdown/CommonStyling.js.map +1 -1
  101. package/dist/Dropdown/DropdownContent.cjs +22 -17
  102. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  103. package/dist/Dropdown/DropdownContent.js +22 -17
  104. package/dist/Dropdown/DropdownContent.js.map +1 -1
  105. package/dist/Dropdown/index.cjs +8 -0
  106. package/dist/Dropdown/index.cjs.map +1 -1
  107. package/dist/Dropdown/index.d.ts +2 -1
  108. package/dist/Dropdown/index.js +2 -1
  109. package/dist/Dropdown/index.js.map +1 -1
  110. package/dist/Footer/Components/FooterDropdownLinks.cjs +3 -6
  111. package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -1
  112. package/dist/Footer/Components/FooterDropdownLinks.js +4 -6
  113. package/dist/Footer/Components/FooterDropdownLinks.js.map +1 -1
  114. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +3 -5
  115. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  116. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +4 -5
  117. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  118. package/dist/Footer/Components/FooterTop.cjs +1 -2
  119. package/dist/Footer/Components/FooterTop.cjs.map +1 -1
  120. package/dist/Footer/Components/FooterTop.js +2 -3
  121. package/dist/Footer/Components/FooterTop.js.map +1 -1
  122. package/dist/GlobalNavigationBar/Avatar.cjs +7 -5
  123. package/dist/GlobalNavigationBar/Avatar.cjs.map +1 -1
  124. package/dist/GlobalNavigationBar/Avatar.js +8 -5
  125. package/dist/GlobalNavigationBar/Avatar.js.map +1 -1
  126. package/dist/GlobalNavigationBar/Logo.cjs +6 -9
  127. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  128. package/dist/GlobalNavigationBar/Logo.d.ts +1 -2
  129. package/dist/GlobalNavigationBar/Logo.js +7 -9
  130. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  131. package/dist/GlobalNavigationBar/MainMenu.cjs +13 -11
  132. package/dist/GlobalNavigationBar/MainMenu.cjs.map +1 -1
  133. package/dist/GlobalNavigationBar/MainMenu.js +13 -10
  134. package/dist/GlobalNavigationBar/MainMenu.js.map +1 -1
  135. package/dist/GlobalNavigationBar/RightSideNav.cjs +5 -3
  136. package/dist/GlobalNavigationBar/RightSideNav.cjs.map +1 -1
  137. package/dist/GlobalNavigationBar/RightSideNav.js +5 -2
  138. package/dist/GlobalNavigationBar/RightSideNav.js.map +1 -1
  139. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs +1 -1
  140. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  141. package/dist/GlobalNavigationBar/mobile/CommonStyles.js +2 -2
  142. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  143. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +1 -1
  144. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
  145. package/dist/GlobalNavigationBar/mobile/MobileMenu.js +2 -2
  146. package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
  147. package/dist/HyperLink/styling.cjs +1 -1
  148. package/dist/HyperLink/styling.cjs.map +1 -1
  149. package/dist/HyperLink/styling.js +1 -1
  150. package/dist/HyperLink/styling.js.map +1 -1
  151. package/dist/InputFields/Checkbox.cjs +2 -2
  152. package/dist/InputFields/Checkbox.cjs.map +1 -1
  153. package/dist/InputFields/Checkbox.js +3 -3
  154. package/dist/InputFields/Checkbox.js.map +1 -1
  155. package/dist/InputFields/DatepickerField.cjs +21 -33
  156. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  157. package/dist/InputFields/DatepickerField.js +22 -34
  158. package/dist/InputFields/DatepickerField.js.map +1 -1
  159. package/dist/InputFields/QuickSearch.cjs +96 -119
  160. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  161. package/dist/InputFields/QuickSearch.js +96 -119
  162. package/dist/InputFields/QuickSearch.js.map +1 -1
  163. package/dist/InputFields/RadioButton.cjs +2 -2
  164. package/dist/InputFields/RadioButton.cjs.map +1 -1
  165. package/dist/InputFields/RadioButton.js +3 -3
  166. package/dist/InputFields/RadioButton.js.map +1 -1
  167. package/dist/InputFields/SearchBar.cjs +3 -3
  168. package/dist/InputFields/SearchBar.cjs.map +1 -1
  169. package/dist/InputFields/SearchBar.js +3 -3
  170. package/dist/InputFields/SearchBar.js.map +1 -1
  171. package/dist/InputFields/Textarea.cjs +1 -1
  172. package/dist/InputFields/Textarea.cjs.map +1 -1
  173. package/dist/InputFields/Textarea.js +1 -1
  174. package/dist/InputFields/Textarea.js.map +1 -1
  175. package/dist/InputFields/components/SearchBarInput.cjs +8 -6
  176. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  177. package/dist/InputFields/components/SearchBarInput.d.ts +3 -0
  178. package/dist/InputFields/components/SearchBarInput.js +5 -4
  179. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  180. package/dist/InputFields/components/SearchField.cjs +19 -29
  181. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  182. package/dist/InputFields/components/SearchField.d.ts +8 -8
  183. package/dist/InputFields/components/SearchField.js +18 -25
  184. package/dist/InputFields/components/SearchField.js.map +1 -1
  185. package/dist/InputFields/styling.cjs +8 -6
  186. package/dist/InputFields/styling.cjs.map +1 -1
  187. package/dist/InputFields/styling.js +8 -7
  188. package/dist/InputFields/styling.js.map +1 -1
  189. package/dist/List/ListRow.cjs +5 -5
  190. package/dist/List/ListRow.cjs.map +1 -1
  191. package/dist/List/ListRow.js +5 -8
  192. package/dist/List/ListRow.js.map +1 -1
  193. package/dist/MenuItem/MenuItem.cjs +0 -1
  194. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  195. package/dist/MenuItem/MenuItem.js +1 -2
  196. package/dist/MenuItem/MenuItem.js.map +1 -1
  197. package/dist/Modals/ModalContainer.cjs +38 -78
  198. package/dist/Modals/ModalContainer.cjs.map +1 -1
  199. package/dist/Modals/ModalContainer.d.ts +8 -15
  200. package/dist/Modals/ModalContainer.js +36 -78
  201. package/dist/Modals/ModalContainer.js.map +1 -1
  202. package/dist/Modals/ModalContent.cjs +1 -0
  203. package/dist/Modals/ModalContent.cjs.map +1 -1
  204. package/dist/Modals/ModalContent.d.ts +1 -0
  205. package/dist/Modals/ModalContent.js +1 -0
  206. package/dist/Modals/ModalContent.js.map +1 -1
  207. package/dist/Modals/ModalDialog.cjs +17 -2
  208. package/dist/Modals/ModalDialog.cjs.map +1 -1
  209. package/dist/Modals/ModalDialog.d.ts +1 -0
  210. package/dist/Modals/ModalDialog.js +16 -2
  211. package/dist/Modals/ModalDialog.js.map +1 -1
  212. package/dist/Modals/ModalStyles.cjs +8 -2
  213. package/dist/Modals/ModalStyles.cjs.map +1 -1
  214. package/dist/Modals/ModalStyles.js +8 -2
  215. package/dist/Modals/ModalStyles.js.map +1 -1
  216. package/dist/NavItem/NavItem.cjs +1 -1
  217. package/dist/NavItem/NavItem.cjs.map +1 -1
  218. package/dist/NavItem/NavItem.js +2 -2
  219. package/dist/NavItem/NavItem.js.map +1 -1
  220. package/dist/Paginator/Paginator.cjs +1 -1
  221. package/dist/Paginator/Paginator.cjs.map +1 -1
  222. package/dist/Paginator/Paginator.js +2 -2
  223. package/dist/Paginator/Paginator.js.map +1 -1
  224. package/dist/QuizButton/QuizButton.cjs +8 -4
  225. package/dist/QuizButton/QuizButton.cjs.map +1 -1
  226. package/dist/QuizButton/QuizButton.js +9 -5
  227. package/dist/QuizButton/QuizButton.js.map +1 -1
  228. package/dist/SegmentControl/SegmentControl.cjs +1 -1
  229. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  230. package/dist/SegmentControl/SegmentControl.js +2 -2
  231. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  232. package/dist/Switcher/SwitcherMenuItem.cjs +1 -1
  233. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  234. package/dist/Switcher/SwitcherMenuItem.js +2 -2
  235. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  236. package/dist/Table/TableStyles.cjs +4 -4
  237. package/dist/Table/TableStyles.cjs.map +1 -1
  238. package/dist/Table/TableStyles.js +5 -5
  239. package/dist/Table/TableStyles.js.map +1 -1
  240. package/dist/Tabs/HorizontalTabs.cjs +1 -5
  241. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  242. package/dist/Tabs/HorizontalTabs.js +3 -6
  243. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  244. package/dist/Tabs/TabLink.cjs +45 -48
  245. package/dist/Tabs/TabLink.cjs.map +1 -1
  246. package/dist/Tabs/TabLink.js +46 -47
  247. package/dist/Tabs/TabLink.js.map +1 -1
  248. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  249. package/dist/Tabs/VerticalTabs.js.map +1 -1
  250. package/dist/Toasters/Toast.cjs +0 -2
  251. package/dist/Toasters/Toast.cjs.map +1 -1
  252. package/dist/Toasters/Toast.js +0 -2
  253. package/dist/Toasters/Toast.js.map +1 -1
  254. package/dist/Toggles/ToggleSwitch.cjs +6 -8
  255. package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
  256. package/dist/Toggles/ToggleSwitch.js +6 -8
  257. package/dist/Toggles/ToggleSwitch.js.map +1 -1
  258. package/dist/Toggles/TogglerStyles.cjs +2 -2
  259. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  260. package/dist/Toggles/TogglerStyles.js +3 -3
  261. package/dist/Toggles/TogglerStyles.js.map +1 -1
  262. package/dist/Tooltips/TooltipStyles.cjs +2 -2
  263. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  264. package/dist/Tooltips/TooltipStyles.js +3 -3
  265. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  266. package/dist/Tooltips/TooltipTypes.cjs.map +1 -1
  267. package/dist/Tooltips/TooltipTypes.d.ts +0 -1
  268. package/dist/Tooltips/TooltipTypes.js.map +1 -1
  269. package/dist/Tooltips/TooltipWrapper.cjs +0 -2
  270. package/dist/Tooltips/TooltipWrapper.cjs.map +1 -1
  271. package/dist/Tooltips/TooltipWrapper.d.ts +1 -1
  272. package/dist/Tooltips/TooltipWrapper.js +0 -2
  273. package/dist/Tooltips/TooltipWrapper.js.map +1 -1
  274. package/dist/common/FocusVisible.cjs +1 -24
  275. package/dist/common/FocusVisible.cjs.map +1 -1
  276. package/dist/common/FocusVisible.js +1 -24
  277. package/dist/common/FocusVisible.js.map +1 -1
  278. package/dist/common/InputStyling.cjs +1 -1
  279. package/dist/common/InputStyling.cjs.map +1 -1
  280. package/dist/common/InputStyling.js +2 -2
  281. package/dist/common/InputStyling.js.map +1 -1
  282. package/dist/index.cjs +0 -14
  283. package/dist/index.cjs.map +1 -1
  284. package/dist/index.d.ts +0 -1
  285. package/dist/index.js +0 -1
  286. package/dist/index.js.map +1 -1
  287. package/dist/styles/index.cjs +0 -60
  288. package/dist/styles/index.cjs.map +1 -1
  289. package/dist/styles/index.d.ts +0 -1
  290. package/dist/styles/index.js +0 -1
  291. package/dist/styles/index.js.map +1 -1
  292. package/package.json +1 -1
  293. package/dist/ChipsInput/ChipDropdownInput.cjs +0 -398
  294. package/dist/ChipsInput/ChipDropdownInput.cjs.map +0 -1
  295. package/dist/ChipsInput/ChipDropdownInput.d.ts +0 -22
  296. package/dist/ChipsInput/ChipDropdownInput.js +0 -382
  297. package/dist/ChipsInput/ChipDropdownInput.js.map +0 -1
  298. package/dist/ChipsInput/ChipInput.cjs +0 -141
  299. package/dist/ChipsInput/ChipInput.cjs.map +0 -1
  300. package/dist/ChipsInput/ChipInput.js +0 -122
  301. package/dist/ChipsInput/ChipInput.js.map +0 -1
  302. package/dist/ChipsInput/ChipInputField.cjs +0 -193
  303. package/dist/ChipsInput/ChipInputField.cjs.map +0 -1
  304. package/dist/ChipsInput/ChipInputField.d.ts +0 -24
  305. package/dist/ChipsInput/ChipInputField.js +0 -158
  306. package/dist/ChipsInput/ChipInputField.js.map +0 -1
  307. package/dist/ChipsInput/ChipInputTypes.cjs +0 -6
  308. package/dist/ChipsInput/ChipInputTypes.cjs.map +0 -1
  309. package/dist/ChipsInput/ChipInputTypes.d.ts +0 -22
  310. package/dist/ChipsInput/ChipInputTypes.js +0 -2
  311. package/dist/ChipsInput/ChipInputTypes.js.map +0 -1
  312. package/dist/ChipsInput/index.cjs +0 -19
  313. package/dist/ChipsInput/index.cjs.map +0 -1
  314. package/dist/ChipsInput/index.d.ts +0 -1
  315. package/dist/ChipsInput/index.js +0 -2
  316. package/dist/ChipsInput/index.js.map +0 -1
  317. package/dist/styles/focus-styles.cjs +0 -22
  318. package/dist/styles/focus-styles.cjs.map +0 -1
  319. package/dist/styles/focus-styles.d.ts +0 -2
  320. package/dist/styles/focus-styles.js +0 -9
  321. package/dist/styles/focus-styles.js.map +0 -1
@@ -43,7 +43,7 @@ var getBorderRadiusStyle = function getBorderRadiusStyle(props) {
43
43
  }
44
44
  };
45
45
 
46
- var StyledIconButton = _styledComponents.default.button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n border-width: 0;\n cursor: pointer;\n height: 48px;\n width: 48px;\n background: transparent;\n position: relative;\n\n display: ", ";\n ", " {\n display: block;\n }\n\n border-radius: ", ";\n div {\n height: 36px;\n width: 36px;\n border-radius: ", ";\n display: flex;\n justify-content: center;\n align-items: center;\n svg {\n height: ", ";\n width: ", ";\n padding: 0;\n }\n }\n &:only-child {\n margin: 0;\n }\n &:disabled {\n cursor: not-allowed;\n }\n\n &:focus {\n ", "\n }\n"])), function (props) {
46
+ var StyledIconButton = _styledComponents.default.button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n border-width: 0;\n cursor: pointer;\n height: 48px;\n width: 48px;\n background: transparent;\n\n display: ", ";\n ", " {\n display: block;\n }\n\n border-radius: ", ";\n div {\n height: 36px;\n width: 36px;\n border-radius: ", ";\n display: flex;\n justify-content: center;\n align-items: center;\n svg {\n height: ", ";\n width: ", ";\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"])), function (props) {
47
47
  return props.hideOnLowWidth ? 'none' : 'block';
48
48
  }, _styles.BREAKPOINTS.MEDIUM, function (props) {
49
49
  return props.borderRadius ? "".concat(props.borderRadius, "px") : '4px';
@@ -51,25 +51,27 @@ var StyledIconButton = _styledComponents.default.button(_templateObject || (_tem
51
51
  return props.unsetIconSize ? 'unset' : '24px';
52
52
  }, function (props) {
53
53
  return props.unsetIconSize ? 'unset' : '24px';
54
- }, function (props) {
55
- return props.invertFocus ? _styles.invertedFocusStyles : _styles.focusStyles;
56
54
  });
57
55
 
58
- 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\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) {
59
57
  return props.useTransparentBackground ? 'transparent' : _styles.COLORS.primary_500;
60
58
  }, function (props) {
61
59
  return props.iconColor || _styles.COLORS.white;
62
60
  }, function (props) {
63
61
  return props.iconColor || _styles.COLORS.white;
64
- }, _styles.COLORS.primary_700, _styles.COLORS.white, _styles.COLORS.primary_800, _styles.COLORS.white, _styles.COLORS.neutral_200, _styles.COLORS.white, _styles.COLORS.white);
62
+ }, function (props) {
63
+ return props.focusBackgroundColor || _styles.COLORS.primary_700;
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 \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) {
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) {
72
+ }, function (props) {
73
+ return props.focusBackgroundColor || 'transparent';
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) {
73
75
  return props.useTransparentBackground ? 'transparent' : _styles.COLORS.white;
74
76
  }, _styles.COLORS.neutral_300, _styles.COLORS.neutral_300);
75
77
  exports.StyledSecondaryIconButton = StyledSecondaryIconButton;
@@ -93,10 +95,18 @@ var IconButton = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
93
95
  focusBackgroundColor = _ref.focusBackgroundColor,
94
96
  type = _ref.type,
95
97
  hidden = _ref.hidden,
96
- style = _ref.style,
97
- invertFocus = _ref.invertFocus;
98
+ style = _ref.style;
99
+
100
+ var isPressingEnterOrSpace = function isPressingEnterOrSpace(e) {
101
+ if (e.key === 'Enter' || e.key === ' ') {
102
+ e.stopPropagation();
103
+ return true;
104
+ }
105
+
106
+ return false;
107
+ }; // Let's render button
108
+
98
109
 
99
- // Let's render button
100
110
  switch (variant) {
101
111
  case 'secondary':
102
112
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledSecondaryIconButton, {
@@ -108,6 +118,9 @@ var IconButton = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
108
118
  event.stopPropagation();
109
119
  action(event);
110
120
  },
121
+ onKeyDown: function onKeyDown(e) {
122
+ return isPressingEnterOrSpace(e) ? action() : null;
123
+ },
111
124
  disabled: disabled,
112
125
  hideOnLowWidth: hideOnLowWidth || false,
113
126
  inMobileMenu: isInMobileMenu,
@@ -120,7 +133,6 @@ var IconButton = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
120
133
  onKeyPress: onKeyPress,
121
134
  hidden: hidden,
122
135
  style: style,
123
- invertFocus: invertFocus,
124
136
  focusBackgroundColor: focusBackgroundColor,
125
137
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
126
138
  children: children
@@ -139,6 +151,9 @@ var IconButton = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
139
151
  event.stopPropagation();
140
152
  action(event);
141
153
  },
154
+ onKeyDown: function onKeyDown(e) {
155
+ return isPressingEnterOrSpace(e) ? action() : null;
156
+ },
142
157
  disabled: disabled,
143
158
  hideOnLowWidth: hideOnLowWidth || false,
144
159
  inMobileMenu: isInMobileMenu,
@@ -151,7 +166,6 @@ var IconButton = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
151
166
  onKeyPress: onKeyPress,
152
167
  hidden: hidden,
153
168
  style: style,
154
- invertFocus: invertFocus,
155
169
  focusBackgroundColor: focusBackgroundColor,
156
170
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
157
171
  children: children
@@ -176,8 +190,7 @@ IconButton.propTypes = {
176
190
  onKeyPress: _propTypes.default.func,
177
191
  focusBackgroundColor: _propTypes.default.string,
178
192
  children: _propTypes.default.node,
179
- hidden: _propTypes.default.bool,
180
- invertFocus: _propTypes.default.bool
193
+ hidden: _propTypes.default.bool
181
194
  };
182
195
  var _default = IconButton;
183
196
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Button/Iconbutton.tsx"],"names":["getBorderRadius","props","borderRadius","getBorderRadiusStyle","radius","flatEdge","StyledIconButton","styled","button","hideOnLowWidth","BREAKPOINTS","MEDIUM","unsetIconSize","invertFocus","invertedFocusStyles","focusStyles","StyledPrimaryIconButton","useTransparentBackground","COLORS","primary_500","iconColor","white","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","focusBackgroundColor","type","hidden","style","event","stopPropagation","defaultOnMouseDownHandler"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled, {css, CSSProperties} from 'styled-components';\n\nimport {BREAKPOINTS, COLORS, focusStyles, invertedFocusStyles} 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 invertFocus?: boolean;\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 position: relative;\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\n &:focus {\n ${props => props.invertFocus ? invertedFocusStyles : focusStyles}\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\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 &: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 invertFocus?: 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 style,\n invertFocus\n}: IconButtonProps, ref) => {\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 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 invertFocus={invertFocus}\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 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 invertFocus={invertFocus}\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"}
@@ -10,7 +10,6 @@ interface HeaderItemProps {
10
10
  shape?: string;
11
11
  flatEdge?: string;
12
12
  focusBackgroundColor?: string;
13
- invertFocus?: boolean;
14
13
  }
15
14
  export declare const StyledPrimaryIconButton: import("styled-components").StyledComponent<"button", any, HeaderItemProps, never>;
16
15
  export declare const StyledSecondaryIconButton: import("styled-components").StyledComponent<"button", any, HeaderItemProps, never>;
@@ -34,7 +33,6 @@ export interface IconButtonProps {
34
33
  children?: React.ReactNode;
35
34
  hidden?: boolean;
36
35
  style?: CSSProperties | undefined;
37
- invertFocus?: boolean;
38
36
  }
39
37
  declare const IconButton: React.ForwardRefExoticComponent<IconButtonProps & React.RefAttributes<HTMLButtonElement>>;
40
38
  export default IconButton;
@@ -5,7 +5,7 @@ var _templateObject, _templateObject2, _templateObject3;
5
5
 
6
6
  import React from 'react';
7
7
  import styled from 'styled-components';
8
- import { BREAKPOINTS, COLORS, focusStyles, invertedFocusStyles } from '../styles';
8
+ import { BREAKPOINTS, COLORS } from '../styles';
9
9
  import { defaultOnMouseDownHandler } from '../common';
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
 
@@ -29,7 +29,7 @@ var getBorderRadiusStyle = function getBorderRadiusStyle(props) {
29
29
  }
30
30
  };
31
31
 
32
- var StyledIconButton = styled.button(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n border-width: 0;\n cursor: pointer;\n height: 48px;\n width: 48px;\n background: transparent;\n position: relative;\n\n display: ", ";\n ", " {\n display: block;\n }\n\n border-radius: ", ";\n div {\n height: 36px;\n width: 36px;\n border-radius: ", ";\n display: flex;\n justify-content: center;\n align-items: center;\n svg {\n height: ", ";\n width: ", ";\n padding: 0;\n }\n }\n &:only-child {\n margin: 0;\n }\n &:disabled {\n cursor: not-allowed;\n }\n\n &:focus {\n ", "\n }\n"])), function (props) {
32
+ var StyledIconButton = styled.button(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n border-width: 0;\n cursor: pointer;\n height: 48px;\n width: 48px;\n background: transparent;\n\n display: ", ";\n ", " {\n display: block;\n }\n\n border-radius: ", ";\n div {\n height: 36px;\n width: 36px;\n border-radius: ", ";\n display: flex;\n justify-content: center;\n align-items: center;\n svg {\n height: ", ";\n width: ", ";\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"])), function (props) {
33
33
  return props.hideOnLowWidth ? 'none' : 'block';
34
34
  }, BREAKPOINTS.MEDIUM, function (props) {
35
35
  return props.borderRadius ? "".concat(props.borderRadius, "px") : '4px';
@@ -37,23 +37,25 @@ var StyledIconButton = styled.button(_templateObject || (_templateObject = _tagg
37
37
  return props.unsetIconSize ? 'unset' : '24px';
38
38
  }, function (props) {
39
39
  return props.unsetIconSize ? 'unset' : '24px';
40
- }, function (props) {
41
- return props.invertFocus ? invertedFocusStyles : focusStyles;
42
40
  });
43
- 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\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) {
44
42
  return props.useTransparentBackground ? 'transparent' : COLORS.primary_500;
45
43
  }, function (props) {
46
44
  return props.iconColor || COLORS.white;
47
45
  }, function (props) {
48
46
  return props.iconColor || COLORS.white;
49
- }, 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 &: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) {
47
+ }, function (props) {
48
+ return props.focusBackgroundColor || COLORS.primary_700;
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) {
56
+ }, function (props) {
57
+ return props.focusBackgroundColor || 'transparent';
58
+ }, COLORS.primary_500, COLORS.neutral_600, COLORS.primary_20, COLORS.primary_700, COLORS.primary_100, COLORS.primary_800, function (props) {
57
59
  return props.useTransparentBackground ? 'transparent' : COLORS.white;
58
60
  }, COLORS.neutral_300, COLORS.neutral_300);
59
61
  var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
@@ -75,10 +77,18 @@ var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
75
77
  focusBackgroundColor = _ref.focusBackgroundColor,
76
78
  type = _ref.type,
77
79
  hidden = _ref.hidden,
78
- style = _ref.style,
79
- invertFocus = _ref.invertFocus;
80
+ style = _ref.style;
81
+
82
+ var isPressingEnterOrSpace = function isPressingEnterOrSpace(e) {
83
+ if (e.key === 'Enter' || e.key === ' ') {
84
+ e.stopPropagation();
85
+ return true;
86
+ }
87
+
88
+ return false;
89
+ }; // Let's render button
90
+
80
91
 
81
- // Let's render button
82
92
  switch (variant) {
83
93
  case 'secondary':
84
94
  return /*#__PURE__*/_jsx(StyledSecondaryIconButton, {
@@ -90,6 +100,9 @@ var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
90
100
  event.stopPropagation();
91
101
  action(event);
92
102
  },
103
+ onKeyDown: function onKeyDown(e) {
104
+ return isPressingEnterOrSpace(e) ? action() : null;
105
+ },
93
106
  disabled: disabled,
94
107
  hideOnLowWidth: hideOnLowWidth || false,
95
108
  inMobileMenu: isInMobileMenu,
@@ -102,7 +115,6 @@ var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
102
115
  onKeyPress: onKeyPress,
103
116
  hidden: hidden,
104
117
  style: style,
105
- invertFocus: invertFocus,
106
118
  focusBackgroundColor: focusBackgroundColor,
107
119
  children: /*#__PURE__*/_jsx("div", {
108
120
  children: children
@@ -121,6 +133,9 @@ var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
121
133
  event.stopPropagation();
122
134
  action(event);
123
135
  },
136
+ onKeyDown: function onKeyDown(e) {
137
+ return isPressingEnterOrSpace(e) ? action() : null;
138
+ },
124
139
  disabled: disabled,
125
140
  hideOnLowWidth: hideOnLowWidth || false,
126
141
  inMobileMenu: isInMobileMenu,
@@ -133,7 +148,6 @@ var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
133
148
  onKeyPress: onKeyPress,
134
149
  hidden: hidden,
135
150
  style: style,
136
- invertFocus: invertFocus,
137
151
  focusBackgroundColor: focusBackgroundColor,
138
152
  children: /*#__PURE__*/_jsx("div", {
139
153
  children: children
@@ -157,8 +171,7 @@ IconButton.propTypes = {
157
171
  onKeyPress: _pt.func,
158
172
  focusBackgroundColor: _pt.string,
159
173
  children: _pt.node,
160
- hidden: _pt.bool,
161
- invertFocus: _pt.bool
174
+ hidden: _pt.bool
162
175
  };
163
176
  export default IconButton;
164
177
  //# sourceMappingURL=Iconbutton.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Button/Iconbutton.tsx"],"names":["React","styled","BREAKPOINTS","COLORS","focusStyles","invertedFocusStyles","defaultOnMouseDownHandler","getBorderRadius","props","borderRadius","getBorderRadiusStyle","radius","flatEdge","StyledIconButton","button","hideOnLowWidth","MEDIUM","unsetIconSize","invertFocus","StyledPrimaryIconButton","useTransparentBackground","primary_500","iconColor","white","primary_700","primary_800","neutral_200","StyledSecondaryIconButton","neutral_600","primary_20","primary_100","neutral_300","IconButton","forwardRef","ref","id","variant","shape","action","isInMobileMenu","children","disabled","tabIndex","onKeyPress","focusBackgroundColor","type","hidden","style","event","stopPropagation"],"mappings":"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","sourcesContent":["import React from 'react';\nimport styled, {css, CSSProperties} from 'styled-components';\n\nimport {BREAKPOINTS, COLORS, focusStyles, invertedFocusStyles} 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 invertFocus?: boolean;\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 position: relative;\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\n &:focus {\n ${props => props.invertFocus ? invertedFocusStyles : focusStyles}\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\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 &: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 invertFocus?: 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 style,\n invertFocus\n}: IconButtonProps, ref) => {\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 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 invertFocus={invertFocus}\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 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 invertFocus={invertFocus}\n focusBackgroundColor={focusBackgroundColor}>\n <div>{children}</div>\n </StyledPrimaryIconButton>\n );\n }\n});\n\nexport default IconButton;\n"],"file":"Iconbutton.js"}
1
+ {"version":3,"sources":["../../src/Button/Iconbutton.tsx"],"names":["React","styled","BREAKPOINTS","COLORS","defaultOnMouseDownHandler","getBorderRadius","props","borderRadius","getBorderRadiusStyle","radius","flatEdge","StyledIconButton","button","hideOnLowWidth","MEDIUM","unsetIconSize","StyledPrimaryIconButton","useTransparentBackground","primary_500","iconColor","white","focusBackgroundColor","primary_700","primary_800","neutral_200","StyledSecondaryIconButton","neutral_600","primary_20","primary_100","neutral_300","IconButton","forwardRef","ref","id","variant","shape","action","isInMobileMenu","children","disabled","tabIndex","onKeyPress","type","hidden","style","isPressingEnterOrSpace","e","key","stopPropagation","event"],"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.js"}
@@ -7,7 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.default = exports.Wrapper = exports.CardTopLevelContainer = void 0;
10
+ exports.default = exports.InteractionType = exports.CardTopLevelContainer = void 0;
11
11
 
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
13
 
@@ -29,7 +29,7 @@ var _ = require("..");
29
29
 
30
30
  var _jsxRuntime = require("react/jsx-runtime");
31
31
 
32
- var _templateObject, _templateObject2;
32
+ var _templateObject;
33
33
 
34
34
  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); }
35
35
 
@@ -39,45 +39,61 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
39
39
 
40
40
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
41
41
 
42
- var CardTopLevelContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n background-color: ", ";\n\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);\n border-radius: 8px;\n\n border: 1px solid transparent;\n background-clip: padding-box;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n}\n"])), _.COLORS.white);
42
+ var CardTopLevelContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n background-color: ", ";\n\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);\n border-radius: 8px;\n\n border: 1px solid transparent;\n background-clip: padding-box;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n\n ", "\n"])), _.COLORS.white, function (props) {
43
+ return props.interactionType == InteractionType.Clickable && !props.disabled ? "\n\n &:active, &.active-state {\n box-shadow: 0px 8px 16px 2px rgba(0, 0, 0, 0.15);\n border: 1px solid ".concat(_.COLORS.neutral_200, ";\n }\n\n &:hover:focus, &:hover {\n outline: none;\n overflow: visible;\n border-width: 0px;\n border: 1px solid ").concat(_.COLORS.neutral_200, ";\n box-shadow: 0px 8px 16px 2px rgba(0, 0, 0, 0.15);\n }\n \n &:focus, &.focus-state {\n border-width: 0px;\n border: 1px solid ").concat(_.COLORS.neutral_200, ";\n outline: none;\n overflow: hidden;\n box-shadow: 0px 4px 12px 2px rgba(46, 127, 161, 0.25), 0px 0px 8px 2px #2E7FA1;\n }") : "";
44
+ });
43
45
 
44
46
  exports.CardTopLevelContainer = CardTopLevelContainer;
47
+ var InteractionType;
48
+ exports.InteractionType = InteractionType;
45
49
 
46
- var Wrapper = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n height: max-content;\n width: max-content;\n\n &.interactive:focus {\n ", "\n }\n\n &.interactive:not(.disabled) {\n cursor: pointer;\n\n ", " {\n &:active, &.active-state {\n box-shadow: 0px 8px 16px 2px rgba(0, 0, 0, 0.15);\n border: 1px solid ", ";\n }\n\n &:hover {\n overflow: visible;\n border: 1px solid ", ";\n box-shadow: 0px 8px 16px 2px rgba(0, 0, 0, 0.15);\n }\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n }\n"])), _.focusStyles, CardTopLevelContainer, _.COLORS.neutral_200, _.COLORS.neutral_200);
47
-
48
- exports.Wrapper = Wrapper;
50
+ (function (InteractionType) {
51
+ InteractionType[InteractionType["None"] = 0] = "None";
52
+ InteractionType[InteractionType["Clickable"] = 1] = "Clickable";
53
+ InteractionType[InteractionType["Selectable"] = 2] = "Selectable";
54
+ })(InteractionType || (exports.InteractionType = InteractionType = {}));
49
55
 
50
56
  var Card = function Card(_ref) {
51
- var onCardClicked = _ref.onCardClicked,
57
+ var _ref$interactionType = _ref.interactionType,
58
+ interactionType = _ref$interactionType === void 0 ? InteractionType.None : _ref$interactionType,
59
+ onCardClicked = _ref.onCardClicked,
52
60
  topSectionProps = _ref.topSectionProps,
53
61
  middleSectionProps = _ref.middleSectionProps,
54
62
  bottomSectionProps = _ref.bottomSectionProps,
55
63
  disabled = _ref.disabled;
56
- var cls = "".concat(!!onCardClicked ? 'interactive' : '', " ").concat(disabled ? 'disabled' : '');
57
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapper, {
58
- className: cls,
59
- tabIndex: !!onCardClicked && !disabled ? 0 : -1,
60
- onMouseDown: _.defaultOnMouseDownHandler,
61
- onKeyDown: function onKeyDown(a) {
62
- return a.key === 'Enter' && !disabled && onCardClicked && onCardClicked();
63
- },
64
- onClick: function onClick(e) {
65
- return !disabled && onCardClicked && onCardClicked();
66
- },
67
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(CardTopLevelContainer, {
68
- children: [topSectionProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardTopSection.default, _objectSpread(_objectSpread({}, topSectionProps), {}, {
69
- disabled: disabled
70
- })), middleSectionProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardMiddleSection.default, _objectSpread(_objectSpread({}, middleSectionProps), {}, {
71
- disabled: disabled
72
- })), bottomSectionProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardBottomSection.default, _objectSpread(_objectSpread({}, bottomSectionProps), {}, {
73
- disabled: disabled
74
- }))]
75
- })
64
+ var rootRef = React.useRef(null);
65
+
66
+ var onCardClick = function onCardClick() {
67
+ if (interactionType == InteractionType.Clickable) {
68
+ var _rootRef$current;
69
+
70
+ if (onCardClicked) onCardClicked();
71
+ (_rootRef$current = rootRef.current) === null || _rootRef$current === void 0 ? void 0 : _rootRef$current.blur();
72
+ }
73
+ };
74
+
75
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(CardTopLevelContainer, {
76
+ disabled: disabled,
77
+ ref: rootRef,
78
+ tabIndex: interactionType == InteractionType.Clickable && !disabled ? 0 : -1,
79
+ interactionType: interactionType,
80
+ onClick: onCardClick,
81
+ children: [topSectionProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardTopSection.default, _objectSpread(_objectSpread({}, topSectionProps), {}, {
82
+ disabled: disabled,
83
+ interactionType: interactionType
84
+ })), middleSectionProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardMiddleSection.default, _objectSpread(_objectSpread({}, middleSectionProps), {}, {
85
+ disabled: disabled,
86
+ interactionType: interactionType
87
+ })), bottomSectionProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardBottomSection.default, _objectSpread(_objectSpread({}, bottomSectionProps), {}, {
88
+ disabled: disabled,
89
+ interactionType: interactionType
90
+ }))]
76
91
  });
77
92
  };
78
93
 
79
94
  Card.propTypes = {
80
- onCardClicked: _propTypes.default.func,
95
+ interactionType: _propTypes.default.oneOf([0, 1, 2]).isRequired,
96
+ onCardClicked: _propTypes.default.func.isRequired,
81
97
  disabled: _propTypes.default.bool.isRequired
82
98
  };
83
99
  var _default = Card;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Card/Card.tsx"],"names":["CardTopLevelContainer","styled","div","COLORS","white","Wrapper","focusStyles","neutral_200","Card","onCardClicked","topSectionProps","middleSectionProps","bottomSectionProps","disabled","cls","defaultOnMouseDownHandler","a","key","e"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEO,IAAMA,qBAAqB,GAAGC,0BAAOC,GAAV,0UACZC,SAAOC,KADK,CAA3B;;;;AAeA,IAAMC,OAAO,GAAGJ,0BAAOC,GAAV,ilBAKdI,aALc,EAWdN,qBAXc,EAcQG,SAAOI,WAdf,EAmBQJ,SAAOI,WAnBf,CAAb;;;;AAuCP,IAAMC,IAAwC,GAAG,SAA3CA,IAA2C,OAMkB;AAAA,MALfC,aAKe,QALfA,aAKe;AAAA,MAJfC,eAIe,QAJfA,eAIe;AAAA,MAHfC,kBAGe,QAHfA,kBAGe;AAAA,MAFfC,kBAEe,QAFfA,kBAEe;AAAA,MADfC,QACe,QADfA,QACe;AAGjE,MAAMC,GAAG,aAAM,CAAC,CAACL,aAAF,GAAkB,aAAlB,GAAkC,EAAxC,cAA8CI,QAAQ,GAAG,UAAH,GAAgB,EAAtE,CAAT;AAEA,sBAEE,qBAAC,OAAD;AAAS,IAAA,SAAS,EAAEC,GAApB;AACS,IAAA,QAAQ,EAAE,CAAC,CAACL,aAAF,IAAmB,CAACI,QAApB,GAA+B,CAA/B,GAAmC,CAAC,CADvD;AAES,IAAA,WAAW,EAAEE,2BAFtB;AAGS,IAAA,SAAS,EAAE,mBAAAC,CAAC;AAAA,aAAIA,CAAC,CAACC,GAAF,KAAU,OAAV,IAAqB,CAACJ,QAAtB,IAAkCJ,aAAlC,IAAmDA,aAAa,EAApE;AAAA,KAHrB;AAIS,IAAA,OAAO,EAAE,iBAAAS,CAAC;AAAA,aAAI,CAACL,QAAD,IAAaJ,aAAb,IAA8BA,aAAa,EAA/C;AAAA,KAJnB;AAAA,2BAKE,sBAAC,qBAAD;AAAA,iBACGC,eAAe,iBAAI,qBAAC,uBAAD,kCAAoBA,eAApB;AAAqC,QAAA,QAAQ,EAAEG;AAA/C,SADtB,EAEGF,kBAAkB,iBACjB,qBAAC,0BAAD,kCAAuBA,kBAAvB;AAA2C,QAAA,QAAQ,EAAEE;AAArD,SAHJ,EAIGD,kBAAkB,iBACjB,qBAAC,0BAAD,kCAAuBA,kBAAvB;AAA2C,QAAA,QAAQ,EAAEC;AAArD,SALJ;AAAA;AALF,IAFF;AAiBD,CA5BD;;;AAPEJ,EAAAA,a;AACAI,EAAAA,Q;;eAoCaL,I","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport CardTopSection, {CardTopSectionProps} from './CardTopSection';\nimport CardMiddleSection, {CardMiddleSectionProps} from './CardMiddleSection';\nimport CardBottomSection, {CardBottomSectionProps} from './CardBottomSection';\nimport {COLORS, defaultOnMouseDownHandler, focusStyles} from '..';\n\nexport const CardTopLevelContainer = styled.div`\n background-color: ${COLORS.white};\n\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);\n border-radius: 8px;\n\n border: 1px solid transparent;\n background-clip: padding-box;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n}\n`;\n\n\nexport const Wrapper = styled.div`\n height: max-content;\n width: max-content;\n\n &.interactive:focus {\n ${focusStyles}\n }\n\n &.interactive:not(.disabled) {\n cursor: pointer;\n\n ${CardTopLevelContainer} {\n &:active, &.active-state {\n box-shadow: 0px 8px 16px 2px rgba(0, 0, 0, 0.15);\n border: 1px solid ${COLORS.neutral_200};\n }\n\n &:hover {\n overflow: visible;\n border: 1px solid ${COLORS.neutral_200};\n box-shadow: 0px 8px 16px 2px rgba(0, 0, 0, 0.15);\n }\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n }\n`;\n\n\nexport interface CardProps {\n onCardClicked?: () => {};\n disabled: boolean;\n topSectionProps?: CardTopSectionProps;\n middleSectionProps?: CardMiddleSectionProps;\n bottomSectionProps?: CardBottomSectionProps;\n}\n\nconst Card: React.FunctionComponent<CardProps> = ({\n onCardClicked,\n topSectionProps,\n middleSectionProps,\n bottomSectionProps,\n disabled\n }: CardProps) => {\n\n\n const cls = `${!!onCardClicked ? 'interactive' : ''} ${disabled ? 'disabled' : ''}`;\n\n return (\n\n <Wrapper className={cls}\n tabIndex={!!onCardClicked && !disabled ? 0 : -1}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={a => a.key === 'Enter' && !disabled && onCardClicked && onCardClicked()}\n onClick={e => !disabled && onCardClicked && onCardClicked()}>\n <CardTopLevelContainer>\n {topSectionProps && <CardTopSection {...topSectionProps} disabled={disabled}/>}\n {middleSectionProps &&\n <CardMiddleSection {...middleSectionProps} disabled={disabled}/>}\n {bottomSectionProps &&\n <CardBottomSection {...bottomSectionProps} disabled={disabled}/>}\n </CardTopLevelContainer>\n </Wrapper>\n\n );\n};\n\nexport default Card;\n"],"file":"Card.cjs"}
1
+ {"version":3,"sources":["../../src/Card/Card.tsx"],"names":["CardTopLevelContainer","styled","div","COLORS","white","props","interactionType","InteractionType","Clickable","disabled","neutral_200","Card","None","onCardClicked","topSectionProps","middleSectionProps","bottomSectionProps","rootRef","React","useRef","onCardClick","current","blur"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEO,IAAMA,qBAAqB,GAAGC,0BAAOC,GAAV,iVACZC,SAAOC,KADK,EAY9B,UAAAC,KAAK;AAAA,SACLA,KAAK,CAACC,eAAN,IAAyBC,eAAe,CAACC,SAAzC,IAAsD,CAACH,KAAK,CAACI,QAA7D,kIAKsBN,SAAOO,WAL7B,yJAYsBP,SAAOO,WAZ7B,sKAkBsBP,SAAOO,WAlB7B,wJADK;AAAA,CAZyB,CAA3B;;;IAuCKH,e;;;WAAAA,e;AAAAA,EAAAA,e,CAAAA,e;AAAAA,EAAAA,e,CAAAA,e;AAAAA,EAAAA,e,CAAAA,e;GAAAA,e,+BAAAA,e;;AAeZ,IAAMI,IAAwC,GAAG,SAA3CA,IAA2C,OAOhC;AAAA,kCANfL,eAMe;AAAA,MANfA,eAMe,qCANGC,eAAe,CAACK,IAMnB;AAAA,MALfC,aAKe,QALfA,aAKe;AAAA,MAJfC,eAIe,QAJfA,eAIe;AAAA,MAHfC,kBAGe,QAHfA,kBAGe;AAAA,MAFfC,kBAEe,QAFfA,kBAEe;AAAA,MADfP,QACe,QADfA,QACe;AACf,MAAMQ,OAAO,GAAGC,KAAK,CAACC,MAAN,CAA6B,IAA7B,CAAhB;;AAEA,MAAMC,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxB,QAAId,eAAe,IAAIC,eAAe,CAACC,SAAvC,EAAkD;AAAA;;AAChD,UAAGK,aAAH,EAAkBA,aAAa;AAC/B,0BAAAI,OAAO,CAACI,OAAR,sEAAiBC,IAAjB;AACD;AACF,GALD;;AAOA,sBACE,sBAAC,qBAAD;AAAuB,IAAA,QAAQ,EAAEb,QAAjC;AAA2C,IAAA,GAAG,EAAEQ,OAAhD;AAAyD,IAAA,QAAQ,EAAEX,eAAe,IAAIC,eAAe,CAACC,SAAnC,IAAgD,CAACC,QAAjD,GAA4D,CAA5D,GAAgE,CAAC,CAApI;AAAuI,IAAA,eAAe,EAAEH,eAAxJ;AAAyK,IAAA,OAAO,EAAEc,WAAlL;AAAA,eACGN,eAAe,iBAAI,qBAAC,uBAAD,kCAAoBA,eAApB;AAAqC,MAAA,QAAQ,EAAEL,QAA/C;AAAyD,MAAA,eAAe,EAAEH;AAA1E,OADtB,EAEGS,kBAAkB,iBAAI,qBAAC,0BAAD,kCAAuBA,kBAAvB;AAA2C,MAAA,QAAQ,EAAEN,QAArD;AAA+D,MAAA,eAAe,EAAEH;AAAhF,OAFzB,EAGGU,kBAAkB,iBAAI,qBAAC,0BAAD,kCAAuBA,kBAAvB;AAA2C,MAAA,QAAQ,EAAEP,QAArD;AAA+D,MAAA,eAAe,EAAEH;AAAhF,OAHzB;AAAA,IADF;AAOD,CAxBD;;;AAREA,EAAAA,e;AACAO,EAAAA,a;AACAJ,EAAAA,Q;;eAgCaE,I","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport CardTopSection, { CardTopSectionProps } from './CardTopSection';\nimport CardMiddleSection, { CardMiddleSectionProps } from './CardMiddleSection';\nimport CardBottomSection, { CardBottomSectionProps } from './CardBottomSection';\nimport { COLORS, CommonInteractionStyling } from '..';\n\nexport const CardTopLevelContainer = styled.div<{ interactionType: InteractionType; disabled: boolean; }>`\n background-color: ${COLORS.white};\n\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);\n border-radius: 8px;\n\n border: 1px solid transparent;\n background-clip: padding-box;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n\n ${props =>\n props.interactionType == InteractionType.Clickable && !props.disabled\n ? `\n\n &:active, &.active-state {\n box-shadow: 0px 8px 16px 2px rgba(0, 0, 0, 0.15);\n border: 1px solid ${COLORS.neutral_200};\n }\n\n &:hover:focus, &:hover {\n outline: none;\n overflow: visible;\n border-width: 0px;\n border: 1px solid ${COLORS.neutral_200};\n box-shadow: 0px 8px 16px 2px rgba(0, 0, 0, 0.15);\n }\n \n &:focus, &.focus-state {\n border-width: 0px;\n border: 1px solid ${COLORS.neutral_200};\n outline: none;\n overflow: hidden;\n box-shadow: 0px 4px 12px 2px rgba(46, 127, 161, 0.25), 0px 0px 8px 2px #2E7FA1;\n }`\n : ``}\n`;\n\nexport enum InteractionType {\n None,\n Clickable,\n Selectable,\n}\n\nexport interface CardProps {\n interactionType: InteractionType;\n onCardClicked: () => {};\n disabled: boolean;\n topSectionProps?: CardTopSectionProps;\n middleSectionProps?: CardMiddleSectionProps;\n bottomSectionProps?: CardBottomSectionProps;\n}\n\nconst Card: React.FunctionComponent<CardProps> = ({\n interactionType = InteractionType.None,\n onCardClicked,\n topSectionProps,\n middleSectionProps,\n bottomSectionProps,\n disabled\n}: CardProps) => {\n const rootRef = React.useRef<HTMLDivElement>(null);\n\n const onCardClick = () => {\n if (interactionType == InteractionType.Clickable) {\n if(onCardClicked) onCardClicked();\n rootRef.current?.blur();\n }\n };\n\n return (\n <CardTopLevelContainer disabled={disabled} ref={rootRef} tabIndex={interactionType == InteractionType.Clickable && !disabled ? 0 : -1} interactionType={interactionType} onClick={onCardClick}>\n {topSectionProps && <CardTopSection {...topSectionProps} disabled={disabled} interactionType={interactionType} />}\n {middleSectionProps && <CardMiddleSection {...middleSectionProps} disabled={disabled} interactionType={interactionType} />}\n {bottomSectionProps && <CardBottomSection {...bottomSectionProps} disabled={disabled} interactionType={interactionType} />}\n </CardTopLevelContainer>\n );\n};\n\nexport default Card;\n"],"file":"Card.cjs"}
@@ -2,10 +2,18 @@ import * as React from 'react';
2
2
  import { CardTopSectionProps } from './CardTopSection';
3
3
  import { CardMiddleSectionProps } from './CardMiddleSection';
4
4
  import { CardBottomSectionProps } from './CardBottomSection';
5
- export declare const CardTopLevelContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
6
- export declare const Wrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ export declare const CardTopLevelContainer: import("styled-components").StyledComponent<"div", any, {
6
+ interactionType: InteractionType;
7
+ disabled: boolean;
8
+ }, never>;
9
+ export declare enum InteractionType {
10
+ None = 0,
11
+ Clickable = 1,
12
+ Selectable = 2
13
+ }
7
14
  export interface CardProps {
8
- onCardClicked?: () => {};
15
+ interactionType: InteractionType;
16
+ onCardClicked: () => {};
9
17
  disabled: boolean;
10
18
  topSectionProps?: CardTopSectionProps;
11
19
  middleSectionProps?: CardMiddleSectionProps;