@laerdal/life-react-components 1.7.0 → 1.8.0

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 (387) 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 +5 -2
  18. package/dist/Button/BackButton.cjs.map +1 -1
  19. package/dist/Button/BackButton.js +5 -3
  20. package/dist/Button/BackButton.js.map +1 -1
  21. package/dist/Button/Button.cjs +11 -25
  22. package/dist/Button/Button.cjs.map +1 -1
  23. package/dist/Button/Button.d.ts +2 -1
  24. package/dist/Button/Button.js +12 -26
  25. package/dist/Button/Button.js.map +1 -1
  26. package/dist/Button/DualFunctionButton.cjs +29 -7
  27. package/dist/Button/DualFunctionButton.cjs.map +1 -1
  28. package/dist/Button/DualFunctionButton.js +27 -6
  29. package/dist/Button/DualFunctionButton.js.map +1 -1
  30. package/dist/Button/Iconbutton.cjs +23 -32
  31. package/dist/Button/Iconbutton.cjs.map +1 -1
  32. package/dist/Button/Iconbutton.d.ts +3 -0
  33. package/dist/Button/Iconbutton.js +20 -32
  34. package/dist/Button/Iconbutton.js.map +1 -1
  35. package/dist/Card/Card.cjs +28 -44
  36. package/dist/Card/Card.cjs.map +1 -1
  37. package/dist/Card/Card.d.ts +3 -11
  38. package/dist/Card/Card.js +26 -44
  39. package/dist/Card/Card.js.map +1 -1
  40. package/dist/Card/CardBottomSection.cjs +33 -24
  41. package/dist/Card/CardBottomSection.cjs.map +1 -1
  42. package/dist/Card/CardBottomSection.d.ts +11 -2
  43. package/dist/Card/CardBottomSection.js +17 -24
  44. package/dist/Card/CardBottomSection.js.map +1 -1
  45. package/dist/Card/CardMiddleSection.cjs +38 -17
  46. package/dist/Card/CardMiddleSection.cjs.map +1 -1
  47. package/dist/Card/CardMiddleSection.d.ts +16 -3
  48. package/dist/Card/CardMiddleSection.js +30 -17
  49. package/dist/Card/CardMiddleSection.js.map +1 -1
  50. package/dist/Card/CardTopSection.cjs +27 -20
  51. package/dist/Card/CardTopSection.cjs.map +1 -1
  52. package/dist/Card/CardTopSection.d.ts +12 -4
  53. package/dist/Card/CardTopSection.js +17 -20
  54. package/dist/Card/CardTopSection.js.map +1 -1
  55. package/dist/Card/index.cjs +45 -9
  56. package/dist/Card/index.cjs.map +1 -1
  57. package/dist/Card/index.d.ts +3 -1
  58. package/dist/Card/index.js +3 -1
  59. package/dist/Card/index.js.map +1 -1
  60. package/dist/Chips/ActionChip.cjs +4 -4
  61. package/dist/Chips/ActionChip.cjs.map +1 -1
  62. package/dist/Chips/ActionChip.js +4 -4
  63. package/dist/Chips/ActionChip.js.map +1 -1
  64. package/dist/Chips/ChipStyles.cjs +5 -17
  65. package/dist/Chips/ChipStyles.cjs.map +1 -1
  66. package/dist/Chips/ChipStyles.d.ts +0 -3
  67. package/dist/Chips/ChipStyles.js +5 -8
  68. package/dist/Chips/ChipStyles.js.map +1 -1
  69. package/dist/Chips/ChipTypes.d.ts +7 -19
  70. package/dist/Chips/ChoiceChips.cjs +2 -2
  71. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  72. package/dist/Chips/ChoiceChips.js +2 -2
  73. package/dist/Chips/ChoiceChips.js.map +1 -1
  74. package/dist/Chips/FilterChip.cjs +3 -3
  75. package/dist/Chips/FilterChip.cjs.map +1 -1
  76. package/dist/Chips/FilterChip.js +3 -3
  77. package/dist/Chips/FilterChip.js.map +1 -1
  78. package/dist/Chips/InputChip.cjs +21 -12
  79. package/dist/Chips/InputChip.cjs.map +1 -1
  80. package/dist/Chips/InputChip.js +20 -12
  81. package/dist/Chips/InputChip.js.map +1 -1
  82. package/dist/Chips/index.cjs +1 -1
  83. package/dist/Chips/index.cjs.map +1 -1
  84. package/dist/Chips/index.d.ts +1 -1
  85. package/dist/Chips/index.js +1 -1
  86. package/dist/Chips/index.js.map +1 -1
  87. package/dist/ChipsInput/ChipDropdownInput.cjs +401 -0
  88. package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -0
  89. package/dist/ChipsInput/ChipDropdownInput.d.ts +22 -0
  90. package/dist/ChipsInput/ChipDropdownInput.js +383 -0
  91. package/dist/ChipsInput/ChipDropdownInput.js.map +1 -0
  92. package/dist/ChipsInput/ChipInput.cjs +141 -0
  93. package/dist/ChipsInput/ChipInput.cjs.map +1 -0
  94. package/dist/{Chips → ChipsInput}/ChipInput.d.ts +1 -4
  95. package/dist/ChipsInput/ChipInput.js +122 -0
  96. package/dist/ChipsInput/ChipInput.js.map +1 -0
  97. package/dist/ChipsInput/ChipInputField.cjs +238 -0
  98. package/dist/ChipsInput/ChipInputField.cjs.map +1 -0
  99. package/dist/ChipsInput/ChipInputField.d.ts +25 -0
  100. package/dist/ChipsInput/ChipInputField.js +198 -0
  101. package/dist/ChipsInput/ChipInputField.js.map +1 -0
  102. package/dist/ChipsInput/ChipInputTypes.cjs +6 -0
  103. package/dist/ChipsInput/ChipInputTypes.cjs.map +1 -0
  104. package/dist/ChipsInput/ChipInputTypes.d.ts +22 -0
  105. package/dist/ChipsInput/ChipInputTypes.js +2 -0
  106. package/dist/ChipsInput/ChipInputTypes.js.map +1 -0
  107. package/dist/ChipsInput/index.cjs +19 -0
  108. package/dist/ChipsInput/index.cjs.map +1 -0
  109. package/dist/ChipsInput/index.d.ts +1 -0
  110. package/dist/ChipsInput/index.js +2 -0
  111. package/dist/ChipsInput/index.js.map +1 -0
  112. package/dist/Dropdown/BasicDropdown.cjs +31 -11
  113. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  114. package/dist/Dropdown/BasicDropdown.js +33 -12
  115. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  116. package/dist/Dropdown/CommonStyling.cjs +12 -10
  117. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  118. package/dist/Dropdown/CommonStyling.js +12 -11
  119. package/dist/Dropdown/CommonStyling.js.map +1 -1
  120. package/dist/Dropdown/DropdownButton.cjs +22 -15
  121. package/dist/Dropdown/DropdownButton.cjs.map +1 -1
  122. package/dist/Dropdown/DropdownButton.js +21 -15
  123. package/dist/Dropdown/DropdownButton.js.map +1 -1
  124. package/dist/Dropdown/DropdownContent.cjs +167 -132
  125. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  126. package/dist/Dropdown/DropdownContent.d.ts +2 -2
  127. package/dist/Dropdown/DropdownContent.js +164 -133
  128. package/dist/Dropdown/DropdownContent.js.map +1 -1
  129. package/dist/Dropdown/DropdownFilter.cjs +66 -24
  130. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  131. package/dist/Dropdown/DropdownFilter.js +65 -25
  132. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  133. package/dist/Dropdown/index.cjs +0 -8
  134. package/dist/Dropdown/index.cjs.map +1 -1
  135. package/dist/Dropdown/index.d.ts +1 -2
  136. package/dist/Dropdown/index.js +1 -2
  137. package/dist/Dropdown/index.js.map +1 -1
  138. package/dist/Footer/Components/FooterDropdownLinks.cjs +6 -3
  139. package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -1
  140. package/dist/Footer/Components/FooterDropdownLinks.js +6 -4
  141. package/dist/Footer/Components/FooterDropdownLinks.js.map +1 -1
  142. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +5 -3
  143. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  144. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +5 -4
  145. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  146. package/dist/Footer/Components/FooterTop.cjs +2 -1
  147. package/dist/Footer/Components/FooterTop.cjs.map +1 -1
  148. package/dist/Footer/Components/FooterTop.js +3 -2
  149. package/dist/Footer/Components/FooterTop.js.map +1 -1
  150. package/dist/GlobalNavigationBar/Avatar.cjs +5 -7
  151. package/dist/GlobalNavigationBar/Avatar.cjs.map +1 -1
  152. package/dist/GlobalNavigationBar/Avatar.js +5 -8
  153. package/dist/GlobalNavigationBar/Avatar.js.map +1 -1
  154. package/dist/GlobalNavigationBar/Logo.cjs +9 -6
  155. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  156. package/dist/GlobalNavigationBar/Logo.d.ts +2 -1
  157. package/dist/GlobalNavigationBar/Logo.js +9 -7
  158. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  159. package/dist/GlobalNavigationBar/MainMenu.cjs +10 -13
  160. package/dist/GlobalNavigationBar/MainMenu.cjs.map +1 -1
  161. package/dist/GlobalNavigationBar/MainMenu.js +9 -13
  162. package/dist/GlobalNavigationBar/MainMenu.js.map +1 -1
  163. package/dist/GlobalNavigationBar/RightSideNav.cjs +3 -5
  164. package/dist/GlobalNavigationBar/RightSideNav.cjs.map +1 -1
  165. package/dist/GlobalNavigationBar/RightSideNav.js +2 -5
  166. package/dist/GlobalNavigationBar/RightSideNav.js.map +1 -1
  167. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs +4 -0
  168. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs.map +1 -1
  169. package/dist/GlobalNavigationBar/UserMenu/MenuLink.js +3 -0
  170. package/dist/GlobalNavigationBar/UserMenu/MenuLink.js.map +1 -1
  171. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs +1 -1
  172. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  173. package/dist/GlobalNavigationBar/mobile/CommonStyles.js +2 -2
  174. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  175. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +1 -1
  176. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
  177. package/dist/GlobalNavigationBar/mobile/MobileMenu.js +2 -2
  178. package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
  179. package/dist/HyperLink/styling.cjs +1 -1
  180. package/dist/HyperLink/styling.cjs.map +1 -1
  181. package/dist/HyperLink/styling.js +1 -1
  182. package/dist/HyperLink/styling.js.map +1 -1
  183. package/dist/Image/ImageWithFallbacks.cjs +3 -1
  184. package/dist/Image/ImageWithFallbacks.cjs.map +1 -1
  185. package/dist/Image/ImageWithFallbacks.js +3 -1
  186. package/dist/Image/ImageWithFallbacks.js.map +1 -1
  187. package/dist/InputFields/Checkbox.cjs +11 -8
  188. package/dist/InputFields/Checkbox.cjs.map +1 -1
  189. package/dist/InputFields/Checkbox.d.ts +1 -0
  190. package/dist/InputFields/Checkbox.js +12 -9
  191. package/dist/InputFields/Checkbox.js.map +1 -1
  192. package/dist/InputFields/DatepickerField.cjs +4 -4
  193. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  194. package/dist/InputFields/DatepickerField.js +5 -5
  195. package/dist/InputFields/DatepickerField.js.map +1 -1
  196. package/dist/InputFields/QuickSearch.cjs +119 -96
  197. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  198. package/dist/InputFields/QuickSearch.js +119 -96
  199. package/dist/InputFields/QuickSearch.js.map +1 -1
  200. package/dist/InputFields/RadioButton.cjs +10 -7
  201. package/dist/InputFields/RadioButton.cjs.map +1 -1
  202. package/dist/InputFields/RadioButton.d.ts +1 -0
  203. package/dist/InputFields/RadioButton.js +11 -8
  204. package/dist/InputFields/RadioButton.js.map +1 -1
  205. package/dist/InputFields/SearchBar.cjs +3 -3
  206. package/dist/InputFields/SearchBar.cjs.map +1 -1
  207. package/dist/InputFields/SearchBar.js +3 -3
  208. package/dist/InputFields/SearchBar.js.map +1 -1
  209. package/dist/InputFields/Textarea.cjs +1 -1
  210. package/dist/InputFields/Textarea.cjs.map +1 -1
  211. package/dist/InputFields/Textarea.js +1 -1
  212. package/dist/InputFields/Textarea.js.map +1 -1
  213. package/dist/InputFields/components/SearchBarInput.cjs +6 -8
  214. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  215. package/dist/InputFields/components/SearchBarInput.d.ts +0 -3
  216. package/dist/InputFields/components/SearchBarInput.js +4 -5
  217. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  218. package/dist/InputFields/components/SearchField.cjs +29 -19
  219. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  220. package/dist/InputFields/components/SearchField.d.ts +8 -8
  221. package/dist/InputFields/components/SearchField.js +25 -18
  222. package/dist/InputFields/components/SearchField.js.map +1 -1
  223. package/dist/InputFields/styling.cjs +6 -8
  224. package/dist/InputFields/styling.cjs.map +1 -1
  225. package/dist/InputFields/styling.js +7 -8
  226. package/dist/InputFields/styling.js.map +1 -1
  227. package/dist/List/ListRow.cjs +5 -5
  228. package/dist/List/ListRow.cjs.map +1 -1
  229. package/dist/List/ListRow.js +8 -5
  230. package/dist/List/ListRow.js.map +1 -1
  231. package/dist/LoadingIndicator/LoadingIndicator.cjs +6 -1
  232. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
  233. package/dist/LoadingIndicator/LoadingIndicator.d.ts +2 -1
  234. package/dist/LoadingIndicator/LoadingIndicator.js +6 -1
  235. package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
  236. package/dist/MenuItem/MenuItem.cjs +6 -2
  237. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  238. package/dist/MenuItem/MenuItem.d.ts +1 -0
  239. package/dist/MenuItem/MenuItem.js +7 -3
  240. package/dist/MenuItem/MenuItem.js.map +1 -1
  241. package/dist/Modals/ModalContainer.cjs +78 -38
  242. package/dist/Modals/ModalContainer.cjs.map +1 -1
  243. package/dist/Modals/ModalContainer.d.ts +15 -8
  244. package/dist/Modals/ModalContainer.js +78 -36
  245. package/dist/Modals/ModalContainer.js.map +1 -1
  246. package/dist/Modals/ModalContent.cjs +0 -1
  247. package/dist/Modals/ModalContent.cjs.map +1 -1
  248. package/dist/Modals/ModalContent.d.ts +0 -1
  249. package/dist/Modals/ModalContent.js +0 -1
  250. package/dist/Modals/ModalContent.js.map +1 -1
  251. package/dist/Modals/ModalDialog.cjs +18 -26
  252. package/dist/Modals/ModalDialog.cjs.map +1 -1
  253. package/dist/Modals/ModalDialog.d.ts +1 -1
  254. package/dist/Modals/ModalDialog.js +19 -26
  255. package/dist/Modals/ModalDialog.js.map +1 -1
  256. package/dist/Modals/ModalStyles.cjs +33 -25
  257. package/dist/Modals/ModalStyles.cjs.map +1 -1
  258. package/dist/Modals/ModalStyles.d.ts +7 -1
  259. package/dist/Modals/ModalStyles.js +26 -24
  260. package/dist/Modals/ModalStyles.js.map +1 -1
  261. package/dist/NavItem/NavItem.cjs +1 -1
  262. package/dist/NavItem/NavItem.cjs.map +1 -1
  263. package/dist/NavItem/NavItem.js +2 -2
  264. package/dist/NavItem/NavItem.js.map +1 -1
  265. package/dist/Paginator/Paginator.cjs +1 -1
  266. package/dist/Paginator/Paginator.cjs.map +1 -1
  267. package/dist/Paginator/Paginator.js +2 -2
  268. package/dist/Paginator/Paginator.js.map +1 -1
  269. package/dist/QuizButton/QuizButton.cjs +4 -8
  270. package/dist/QuizButton/QuizButton.cjs.map +1 -1
  271. package/dist/QuizButton/QuizButton.js +5 -9
  272. package/dist/QuizButton/QuizButton.js.map +1 -1
  273. package/dist/SegmentControl/SegmentControl.cjs +1 -1
  274. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  275. package/dist/SegmentControl/SegmentControl.js +2 -2
  276. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  277. package/dist/Switcher/SwitcherMenuItem.cjs +1 -1
  278. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  279. package/dist/Switcher/SwitcherMenuItem.js +2 -2
  280. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  281. package/dist/Table/TableStyles.cjs +4 -4
  282. package/dist/Table/TableStyles.cjs.map +1 -1
  283. package/dist/Table/TableStyles.js +5 -5
  284. package/dist/Table/TableStyles.js.map +1 -1
  285. package/dist/Tabs/HorizontalTabs.cjs +5 -1
  286. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  287. package/dist/Tabs/HorizontalTabs.js +6 -3
  288. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  289. package/dist/Tabs/TabLink.cjs +48 -45
  290. package/dist/Tabs/TabLink.cjs.map +1 -1
  291. package/dist/Tabs/TabLink.js +47 -46
  292. package/dist/Tabs/TabLink.js.map +1 -1
  293. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  294. package/dist/Tabs/VerticalTabs.js.map +1 -1
  295. package/dist/Toasters/Toast.cjs +2 -0
  296. package/dist/Toasters/Toast.cjs.map +1 -1
  297. package/dist/Toasters/Toast.js +2 -0
  298. package/dist/Toasters/Toast.js.map +1 -1
  299. package/dist/Toggles/ToggleButton.cjs +81 -0
  300. package/dist/Toggles/ToggleButton.cjs.map +1 -0
  301. package/dist/Toggles/ToggleButton.d.ts +14 -0
  302. package/dist/Toggles/ToggleButton.js +59 -0
  303. package/dist/Toggles/ToggleButton.js.map +1 -0
  304. package/dist/Toggles/ToggleSwitch.cjs +12 -6
  305. package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
  306. package/dist/Toggles/ToggleSwitch.js +11 -6
  307. package/dist/Toggles/ToggleSwitch.js.map +1 -1
  308. package/dist/Toggles/TogglerStyles.cjs +2 -2
  309. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  310. package/dist/Toggles/TogglerStyles.js +3 -3
  311. package/dist/Toggles/TogglerStyles.js.map +1 -1
  312. package/dist/Toggles/index.cjs +8 -0
  313. package/dist/Toggles/index.cjs.map +1 -1
  314. package/dist/Toggles/index.d.ts +2 -1
  315. package/dist/Toggles/index.js +2 -1
  316. package/dist/Toggles/index.js.map +1 -1
  317. package/dist/Tooltips/TooltipStyles.cjs +2 -2
  318. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  319. package/dist/Tooltips/TooltipStyles.js +3 -3
  320. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  321. package/dist/Tooltips/TooltipTypes.cjs.map +1 -1
  322. package/dist/Tooltips/TooltipTypes.d.ts +1 -0
  323. package/dist/Tooltips/TooltipTypes.js.map +1 -1
  324. package/dist/Tooltips/TooltipWrapper.cjs +2 -0
  325. package/dist/Tooltips/TooltipWrapper.cjs.map +1 -1
  326. package/dist/Tooltips/TooltipWrapper.d.ts +1 -1
  327. package/dist/Tooltips/TooltipWrapper.js +2 -0
  328. package/dist/Tooltips/TooltipWrapper.js.map +1 -1
  329. package/dist/common/{HoverWithin.cjs → ActionWithin.cjs} +9 -5
  330. package/dist/common/ActionWithin.cjs.map +1 -0
  331. package/dist/common/{HoverWithin.d.ts → ActionWithin.d.ts} +0 -0
  332. package/dist/common/{HoverWithin.js → ActionWithin.js} +9 -5
  333. package/dist/common/ActionWithin.js.map +1 -0
  334. package/dist/common/ClickOutside.cjs +39 -0
  335. package/dist/common/ClickOutside.cjs.map +1 -0
  336. package/dist/common/ClickOutside.d.ts +1 -0
  337. package/dist/common/ClickOutside.js +25 -0
  338. package/dist/common/ClickOutside.js.map +1 -0
  339. package/dist/common/FocusOutside.cjs +39 -0
  340. package/dist/common/FocusOutside.cjs.map +1 -0
  341. package/dist/common/FocusOutside.d.ts +1 -0
  342. package/dist/common/FocusOutside.js +25 -0
  343. package/dist/common/FocusOutside.js.map +1 -0
  344. package/dist/common/FocusVisible.cjs +67 -19
  345. package/dist/common/FocusVisible.cjs.map +1 -1
  346. package/dist/common/FocusVisible.js +66 -19
  347. package/dist/common/FocusVisible.js.map +1 -1
  348. package/dist/common/InputStyling.cjs +1 -1
  349. package/dist/common/InputStyling.cjs.map +1 -1
  350. package/dist/common/InputStyling.js +2 -2
  351. package/dist/common/InputStyling.js.map +1 -1
  352. package/dist/common/index.cjs +18 -2
  353. package/dist/common/index.cjs.map +1 -1
  354. package/dist/common/index.d.ts +3 -1
  355. package/dist/common/index.js +3 -1
  356. package/dist/common/index.js.map +1 -1
  357. package/dist/icons/index.cjs +1 -1
  358. package/dist/icons/index.cjs.map +1 -1
  359. package/dist/icons/index.js +1 -1
  360. package/dist/icons/index.js.map +1 -1
  361. package/dist/index.cjs +14 -0
  362. package/dist/index.cjs.map +1 -1
  363. package/dist/index.d.ts +1 -0
  364. package/dist/index.js +1 -0
  365. package/dist/index.js.map +1 -1
  366. package/dist/styles/focus-styles.cjs +22 -0
  367. package/dist/styles/focus-styles.cjs.map +1 -0
  368. package/dist/styles/focus-styles.d.ts +2 -0
  369. package/dist/styles/focus-styles.js +9 -0
  370. package/dist/styles/focus-styles.js.map +1 -0
  371. package/dist/styles/index.cjs +60 -0
  372. package/dist/styles/index.cjs.map +1 -1
  373. package/dist/styles/index.d.ts +1 -0
  374. package/dist/styles/index.js +1 -0
  375. package/dist/styles/index.js.map +1 -1
  376. package/package.json +1 -1
  377. package/dist/Chips/ChipInput.cjs +0 -199
  378. package/dist/Chips/ChipInput.cjs.map +0 -1
  379. package/dist/Chips/ChipInput.js +0 -182
  380. package/dist/Chips/ChipInput.js.map +0 -1
  381. package/dist/Dropdown/ChipDropdownInput.cjs +0 -431
  382. package/dist/Dropdown/ChipDropdownInput.cjs.map +0 -1
  383. package/dist/Dropdown/ChipDropdownInput.d.ts +0 -24
  384. package/dist/Dropdown/ChipDropdownInput.js +0 -418
  385. package/dist/Dropdown/ChipDropdownInput.js.map +0 -1
  386. package/dist/common/HoverWithin.cjs.map +0 -1
  387. package/dist/common/HoverWithin.js.map +0 -1
@@ -1,28 +1,30 @@
1
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
2
2
  import _pt from "prop-types";
3
3
 
4
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
4
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
5
5
 
6
6
  import * as React from 'react';
7
7
  import { NavLink, useLocation } from 'react-router-dom';
8
8
  import styled from 'styled-components';
9
9
  import { NotificationDot } from '../NotificationDot';
10
10
  import { Size } from '../types';
11
- import { COLORS } from '../styles';
11
+ import { COLORS, focusStyles } from '../styles';
12
12
  import { Z_INDEXES } from '../styles/z-indexes';
13
+ import { defaultOnMouseDownHandler } from '../common';
13
14
  import { jsx as _jsx } from "react/jsx-runtime";
14
15
  import { jsxs as _jsxs } from "react/jsx-runtime";
15
16
  import { Fragment as _Fragment } from "react/jsx-runtime";
16
- var StyledTabLink = styled(NavLink)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n font-size: 16px;\n line-height: 120%;\n color: ", ";\n\n background-color: ", ";\n cursor: ", ";\n border-left: 1px solid transparent;\n text-decoration: none;\n position: relative;\n border-radius: 2px;\n\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n\n &:focus {\n z-index: ", ";\n background-color: ", ";\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n outline: none;\n\n &::after {\n background-color: ", ";\n }\n }\n\n &.active {\n z-index: ", ";\n background-color: ", ";\n }\n\n &.active:hover {\n background-color: ", ";\n }\n\n &.active:focus {\n background-color: ", ";\n }\n\n &:hover {\n z-index: ", ";\n background-color: ", ";\n color: ", ";\n }\n\n &:active {\n z-index: ", ";\n box-shadow: none;\n background-color: ", ";\n color: ", ";\n }\n\n &.active {\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: -1px;\n background-color: ", ";\n\n border-radius: 2px;\n }\n }\n\n &.active:hover {\n &::after {\n background-color: ", ";\n }\n }\n\n &.active:active {\n background-color: ", ";\n\n &::after {\n background-color: ", ";\n }\n }\n\n &:disabled {\n box-shadow: none;\n background-color: ", ";\n\n span {\n color: ", ";\n }\n\n &::after {\n background-color: ", ";\n }\n }\n"])), COLORS.neutral_600, function (props) {
17
+ var StyledTabLink = styled(NavLink)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n font-size: 16px;\n line-height: 120%;\n color: ", ";\n\n background-color: ", ";\n cursor: ", ";\n border-left: 1px solid transparent;\n text-decoration: none;\n position: relative;\n border-radius: 2px;\n\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n\n &:focus {\n ", "\n }\n\n &.active {\n z-index: ", ";\n background-color: ", ";\n }\n\n &.active:hover {\n background-color: ", ";\n }\n\n &:hover {\n z-index: ", ";\n background-color: ", ";\n color: ", ";\n }\n\n &:active {\n z-index: ", ";\n background-color: ", ";\n color: ", ";\n }\n\n &.active {\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: -1px;\n background-color: ", ";\n\n border-radius: 2px;\n }\n }\n\n &.active:hover {\n &::after {\n background-color: ", ";\n }\n }\n\n &.active:active {\n background-color: ", ";\n\n &::after {\n background-color: ", ";\n }\n }\n\n &.disabled {\n background-color: ", ";\n color: ", ";\n\n span {\n color: ", ";\n }\n\n &::after {\n background-color: ", ";\n }\n }\n"])), COLORS.neutral_600, function (props) {
17
18
  return props.disabled ? COLORS.neutral_100 : 'transparent';
18
19
  }, function (props) {
19
20
  return props.disabled ? 'not-allowed' : 'pointer';
20
- }, Z_INDEXES.focus, COLORS.white, COLORS.white, Z_INDEXES.active, COLORS.neutral_20, COLORS.primary_20, COLORS.white, Z_INDEXES.hover, COLORS.primary_20, COLORS.primary_600, Z_INDEXES.active, COLORS.primary_100, COLORS.primary_800, COLORS.primary_500, COLORS.primary_600, COLORS.primary_100, COLORS.primary_800, COLORS.white, COLORS.neutral_300, COLORS.white);
21
- var OptionalLineWrapperWithIcon = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n span {\n margin: 0 0 0 4px !important;\n font-size: 12px;\n line-height: 16px;\n }\n"])));
22
- var TopWrapper = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n span:not(:only-child) {\n width: calc(100% - 32px);\n }\n"])));
21
+ }, focusStyles, Z_INDEXES.active, COLORS.neutral_20, COLORS.primary_20, Z_INDEXES.hover, COLORS.primary_20, COLORS.primary_600, Z_INDEXES.active, COLORS.primary_100, COLORS.primary_800, COLORS.primary_500, COLORS.primary_600, COLORS.primary_100, COLORS.primary_800, COLORS.white, COLORS.neutral_300, COLORS.neutral_300, COLORS.neutral_300);
22
+ var OptionalLineWrapperWithIcon = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n\n span {\n margin: 0 0 0 4px !important;\n font-size: 12px;\n line-height: 16px;\n }\n"])));
23
+ var TopWrapper = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n\n span:not(:only-child) {\n width: calc(100% - 32px);\n }\n"])));
23
24
  var TextContainer = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n width: 100%;\n margin: auto 0 auto 16px !important;\n"])));
24
25
  var StyledNotification = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n margin: 0 15px 0 0 !important;\n"])));
25
26
  var OptionalLineWrapper = styled.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n font-size: 12px;\n"])));
27
+ var Wrapper = styled.div(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n &.disabled {\n cursor: not-allowed;\n\n ", " {\n pointer-events: none;\n }\n }\n"])), StyledTabLink);
26
28
 
27
29
  var TabLink = function TabLink(_ref) {
28
30
  var to = _ref.to,
@@ -43,47 +45,46 @@ var TabLink = function TabLink(_ref) {
43
45
  variant = _ref$variant === void 0 ? 'critical' : _ref$variant;
44
46
  var location = useLocation();
45
47
  var ref = React.useRef(null);
46
- return /*#__PURE__*/_jsxs(StyledTabLink, {
47
- to: to.toString(),
48
- activeClassName: "active",
49
- disabled: disabled,
50
- exact: exact,
51
- role: "tab",
52
- "aria-selected": to === location.pathname,
53
- onClick: function onClick() {
54
- var _ref$current;
55
-
56
- ref === null || ref === void 0 ? void 0 : (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.blur();
57
-
58
- if (onLinkClick) {
59
- onLinkClick();
60
- }
61
- },
62
- ref: ref,
63
- "data-testid": testId,
64
- children: [/*#__PURE__*/_jsxs(TextContainer, {
65
- children: [/*#__PURE__*/_jsx(TopWrapper, {
66
- children: /*#__PURE__*/_jsx("span", {
67
- children: requiredLine
68
- })
69
- }), optionalLine && OptionalLineIcon ? /*#__PURE__*/_jsxs(OptionalLineWrapperWithIcon, {
70
- children: [OptionalLineIcon && /*#__PURE__*/_jsx(OptionalLineIcon, {
71
- size: "16px"
72
- }), optionalLine !== undefined && /*#__PURE__*/_jsx("span", {
73
- children: optionalLine
74
- })]
75
- }) : optionalLine ? /*#__PURE__*/_jsx(OptionalLineWrapper, {
76
- children: /*#__PURE__*/_jsx("span", {
77
- children: optionalLine
48
+ return /*#__PURE__*/_jsx(Wrapper, {
49
+ className: disabled ? 'disabled' : '',
50
+ children: /*#__PURE__*/_jsxs(StyledTabLink, {
51
+ to: to.toString(),
52
+ className: disabled ? 'disabled' : '',
53
+ activeClassName: "active",
54
+ onMouseDown: defaultOnMouseDownHandler,
55
+ exact: exact,
56
+ tabIndex: disabled ? -1 : 0,
57
+ role: "tab",
58
+ "aria-selected": to === location.pathname,
59
+ onClick: function onClick() {
60
+ return !disabled && onLinkClick && onLinkClick();
61
+ },
62
+ ref: ref,
63
+ "data-testid": testId,
64
+ children: [/*#__PURE__*/_jsxs(TextContainer, {
65
+ children: [/*#__PURE__*/_jsx(TopWrapper, {
66
+ children: /*#__PURE__*/_jsx("span", {
67
+ children: requiredLine
68
+ })
69
+ }), optionalLine && OptionalLineIcon ? /*#__PURE__*/_jsxs(OptionalLineWrapperWithIcon, {
70
+ children: [OptionalLineIcon && /*#__PURE__*/_jsx(OptionalLineIcon, {
71
+ size: "16px"
72
+ }), !!optionalLine && /*#__PURE__*/_jsx("span", {
73
+ children: optionalLine
74
+ })]
75
+ }) : optionalLine ? /*#__PURE__*/_jsx(OptionalLineWrapper, {
76
+ children: /*#__PURE__*/_jsx("span", {
77
+ children: optionalLine
78
+ })
79
+ }) : /*#__PURE__*/_jsx(_Fragment, {})]
80
+ }), /*#__PURE__*/_jsx(StyledNotification, {
81
+ children: showNotificationDot && /*#__PURE__*/_jsx(NotificationDot, {
82
+ testId: "NotificationDot",
83
+ size: size,
84
+ variant: variant
78
85
  })
79
- }) : /*#__PURE__*/_jsx(_Fragment, {})]
80
- }), /*#__PURE__*/_jsx(StyledNotification, {
81
- children: showNotificationDot && /*#__PURE__*/_jsx(NotificationDot, {
82
- testId: "NotificationDot",
83
- size: size,
84
- variant: variant
85
- })
86
- })]
86
+ })]
87
+ })
87
88
  });
88
89
  };
89
90
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Tabs/TabLink.tsx"],"names":["React","NavLink","useLocation","styled","NotificationDot","Size","COLORS","Z_INDEXES","StyledTabLink","neutral_600","props","disabled","neutral_100","focus","white","active","neutral_20","primary_20","hover","primary_600","primary_100","primary_800","primary_500","neutral_300","OptionalLineWrapperWithIcon","div","TopWrapper","TextContainer","StyledNotification","OptionalLineWrapper","TabLink","to","exact","requiredLine","optionalLine","OptionalLineIcon","onLinkClick","testId","showNotificationDot","size","Small","variant","location","ref","useRef","toString","pathname","current","blur","undefined"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { NavLink, NavLinkProps, useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { NotificationDot } from '../NotificationDot';\nimport { BaseProps } from '../icons';\nimport { Size } from '../types';\nimport { COLORS } from '../styles';\nimport {Z_INDEXES} from '../styles/z-indexes';\n\ntype TabLinkProps = {\n disabled?: boolean;\n requiredLine: string;\n optionalLine?: string;\n OptionalLineIcon?: React.FunctionComponent<BaseProps>;\n onLinkClick?: () => void;\n testId?: string;\n showNotificationDot?: boolean;\n size?: Size.Small | Size.Medium | Size.Large;\n variant?: 'positive' | 'critical';\n} & NavLinkProps;\n\ntype StyledTabLinkProps = {\n disabled?: boolean;\n exact: boolean;\n};\n\nconst StyledTabLink = styled(NavLink)<StyledTabLinkProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n font-size: 16px;\n line-height: 120%;\n color: ${COLORS.neutral_600};\n\n background-color: ${(props) => (props.disabled ? COLORS.neutral_100 : 'transparent')};\n cursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};\n border-left: 1px solid transparent;\n text-decoration: none;\n position: relative;\n border-radius: 2px;\n\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n\n &:focus {\n z-index: ${Z_INDEXES.focus};\n background-color: ${COLORS.white};\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n outline: none;\n\n &::after {\n background-color: ${COLORS.white};\n }\n }\n\n &.active {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.neutral_20};\n }\n\n &.active:hover {\n background-color: ${COLORS.primary_20};\n }\n\n &.active:focus {\n background-color: ${COLORS.white};\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_600};\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n box-shadow: none;\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n &.active {\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: -1px;\n background-color: ${COLORS.primary_500};\n\n border-radius: 2px;\n }\n }\n\n &.active:hover {\n &::after {\n background-color: ${COLORS.primary_600};\n }\n }\n\n &.active:active {\n background-color: ${COLORS.primary_100};\n\n &::after {\n background-color: ${COLORS.primary_800};\n }\n }\n\n &:disabled {\n box-shadow: none;\n background-color: ${COLORS.white};\n\n span {\n color: ${COLORS.neutral_300};\n }\n\n &::after {\n background-color: ${COLORS.white};\n }\n }\n`;\n\nconst OptionalLineWrapperWithIcon = styled.div`\n display: flex;\n flex-direction: row;\n span {\n margin: 0 0 0 4px !important;\n font-size: 12px;\n line-height: 16px;\n }\n`;\n\nconst TopWrapper = styled.div`\n display: flex;\n flex-direction: row;\n span:not(:only-child) {\n width: calc(100% - 32px);\n }\n`;\n\nconst TextContainer = styled.div`\n width: 100%;\n margin: auto 0 auto 16px !important;\n`;\n\nconst StyledNotification = styled.div`\n margin: 0 15px 0 0 !important;\n`;\n\nconst OptionalLineWrapper = styled.div`\n font-size: 12px;\n`;\n\nconst TabLink = ({ to, disabled = false, exact = false, requiredLine, optionalLine, OptionalLineIcon, onLinkClick, testId, showNotificationDot = false, size = Size.Small, variant = 'critical' }: TabLinkProps) => {\n const location = useLocation();\n const ref = React.useRef<any>(null);\n\n return (\n <StyledTabLink\n to={to.toString()}\n activeClassName=\"active\"\n disabled={disabled}\n exact={exact}\n role=\"tab\"\n aria-selected={to === location.pathname}\n onClick={() => {\n ref?.current?.blur();\n if (onLinkClick) {\n onLinkClick();\n }\n }}\n ref={ref}\n data-testid={testId}>\n <TextContainer> \n <TopWrapper>\n <span>{requiredLine}</span> \n </TopWrapper>\n {optionalLine && OptionalLineIcon ? (\n <OptionalLineWrapperWithIcon>\n {OptionalLineIcon && <OptionalLineIcon size=\"16px\" />}\n {optionalLine !== undefined && <span>{optionalLine}</span>}\n </OptionalLineWrapperWithIcon>\n ) : optionalLine ? (\n <OptionalLineWrapper>\n <span>{optionalLine}</span>\n </OptionalLineWrapper>\n ) : (\n <></>\n )}\n </TextContainer>\n <StyledNotification>\n {showNotificationDot && <NotificationDot testId=\"NotificationDot\" size={size} variant={variant} />}\n </StyledNotification>\n </StyledTabLink>\n );\n};\n\nexport default TabLink;\n"],"file":"TabLink.js"}
1
+ {"version":3,"sources":["../../src/Tabs/TabLink.tsx"],"names":["React","NavLink","useLocation","styled","NotificationDot","Size","COLORS","focusStyles","Z_INDEXES","defaultOnMouseDownHandler","StyledTabLink","neutral_600","props","disabled","neutral_100","active","neutral_20","primary_20","hover","primary_600","primary_100","primary_800","primary_500","white","neutral_300","OptionalLineWrapperWithIcon","div","TopWrapper","TextContainer","StyledNotification","OptionalLineWrapper","Wrapper","TabLink","to","exact","requiredLine","optionalLine","OptionalLineIcon","onLinkClick","testId","showNotificationDot","size","Small","variant","location","ref","useRef","toString","pathname"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {NavLink, NavLinkProps, useLocation} from 'react-router-dom';\nimport styled from 'styled-components';\nimport {NotificationDot} from '../NotificationDot';\nimport {BaseProps} from '../icons';\nimport {Size} from '../types';\nimport {COLORS, focusStyles} from '../styles';\nimport {Z_INDEXES} from '../styles/z-indexes';\nimport {defaultOnMouseDownHandler} from '../common';\n\ntype TabLinkProps = {\n disabled?: boolean;\n requiredLine: string;\n optionalLine?: string;\n OptionalLineIcon?: React.FunctionComponent<BaseProps>;\n onLinkClick?: () => void;\n testId?: string;\n showNotificationDot?: boolean;\n size?: Size.Small | Size.Medium | Size.Large;\n variant?: 'positive' | 'critical';\n} & NavLinkProps;\n\ntype StyledTabLinkProps = {\n disabled?: boolean;\n exact: boolean;\n};\n\nconst StyledTabLink = styled(NavLink)<StyledTabLinkProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n font-size: 16px;\n line-height: 120%;\n color: ${COLORS.neutral_600};\n\n background-color: ${(props) => (props.disabled ? COLORS.neutral_100 : 'transparent')};\n cursor: ${(props) => (props.disabled ? 'not-allowed' : 'pointer')};\n border-left: 1px solid transparent;\n text-decoration: none;\n position: relative;\n border-radius: 2px;\n\n &:not(:last-child) {\n margin-bottom: 4px;\n }\n\n &:focus {\n ${focusStyles}\n }\n\n &.active {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.neutral_20};\n }\n\n &.active:hover {\n background-color: ${COLORS.primary_20};\n }\n\n &:hover {\n z-index: ${Z_INDEXES.hover};\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_600};\n }\n\n &:active {\n z-index: ${Z_INDEXES.active};\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n }\n\n &.active {\n &::after {\n position: absolute;\n content: ' ';\n width: 4px;\n top: 0;\n bottom: 0;\n left: -1px;\n background-color: ${COLORS.primary_500};\n\n border-radius: 2px;\n }\n }\n\n &.active:hover {\n &::after {\n background-color: ${COLORS.primary_600};\n }\n }\n\n &.active:active {\n background-color: ${COLORS.primary_100};\n\n &::after {\n background-color: ${COLORS.primary_800};\n }\n }\n\n &.disabled {\n background-color: ${COLORS.white};\n color: ${COLORS.neutral_300};\n\n span {\n color: ${COLORS.neutral_300};\n }\n\n &::after {\n background-color: ${COLORS.neutral_300};\n }\n }\n`;\n\nconst OptionalLineWrapperWithIcon = styled.div`\n display: flex;\n flex-direction: row;\n\n span {\n margin: 0 0 0 4px !important;\n font-size: 12px;\n line-height: 16px;\n }\n`;\n\nconst TopWrapper = styled.div`\n display: flex;\n flex-direction: row;\n\n span:not(:only-child) {\n width: calc(100% - 32px);\n }\n`;\n\nconst TextContainer = styled.div`\n width: 100%;\n margin: auto 0 auto 16px !important;\n`;\n\nconst StyledNotification = styled.div`\n margin: 0 15px 0 0 !important;\n`;\n\nconst OptionalLineWrapper = styled.div`\n font-size: 12px;\n`;\n\nconst Wrapper = styled.div`\n &.disabled {\n cursor: not-allowed;\n\n ${StyledTabLink} {\n pointer-events: none;\n }\n }\n`;\n\nconst TabLink = ({\n to,\n disabled = false,\n exact = false,\n requiredLine,\n optionalLine,\n OptionalLineIcon,\n onLinkClick,\n testId,\n showNotificationDot = false,\n size = Size.Small,\n variant = 'critical'\n }: TabLinkProps) => {\n const location = useLocation();\n const ref = React.useRef<any>(null);\n\n return (\n <Wrapper className={disabled ? 'disabled' : ''}>\n <StyledTabLink\n to={to.toString()}\n className={disabled ? 'disabled' : ''}\n activeClassName=\"active\"\n onMouseDown={defaultOnMouseDownHandler}\n exact={exact}\n tabIndex={disabled ? -1 : 0}\n role=\"tab\"\n aria-selected={to === location.pathname}\n onClick={() => !disabled && onLinkClick && onLinkClick()}\n ref={ref}\n data-testid={testId}>\n <TextContainer>\n <TopWrapper>\n <span>{requiredLine}</span>\n </TopWrapper>\n {optionalLine && OptionalLineIcon ? (\n <OptionalLineWrapperWithIcon>\n {OptionalLineIcon && <OptionalLineIcon size=\"16px\"/>}\n {!!optionalLine && <span>{optionalLine}</span>}\n </OptionalLineWrapperWithIcon>\n ) : optionalLine ? (\n <OptionalLineWrapper>\n <span>{optionalLine}</span>\n </OptionalLineWrapper>\n ) : (\n <></>\n )}\n </TextContainer>\n <StyledNotification>\n {showNotificationDot && <NotificationDot testId=\"NotificationDot\" size={size} variant={variant}/>}\n </StyledNotification>\n </StyledTabLink>\n </Wrapper>\n );\n};\n\nexport default TabLink;\n"],"file":"TabLink.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Tabs/VerticalTabs.tsx"],"names":["VerticalTabs","size","entries","Size","Large","map","entry","to","exact","requiredLine","optionalLine","optionalLineIcon","disabled","showNotificationDot","variant","onClick"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;AAkBA,IAAMA,YAAY,GAAG,SAAfA,YAAe,OAA0C;AAAA,MAAvCC,IAAuC,QAAvCA,IAAuC;AAAA,MAAjCC,OAAiC,QAAjCA,OAAiC;AAC7D,sBACE,qBAAC,aAAD;AAAM,IAAA,IAAI,EAAED,IAAF,aAAEA,IAAF,cAAEA,IAAF,GAAUE,YAAKC,KAAzB;AAAA,cACGF,OADH,aACGA,OADH,uBACGA,OAAO,CAAEG,GAAT,CAAa,UAACC,KAAD;AAAA,0BACZ,qBAAC,gBAAD;AAEE,QAAA,EAAE,EAAEA,KAAK,CAACC,EAFZ;AAGE,QAAA,KAAK,EAAED,KAAK,CAACE,KAHf;AAIE,QAAA,YAAY,EAAEF,KAAK,CAACG,YAJtB;AAKE,QAAA,YAAY,EAAEH,KAAK,CAACI,YALtB;AAME,QAAA,gBAAgB,EAAEJ,KAAK,CAACK,gBAN1B;AAOE,QAAA,QAAQ,EAAEL,KAAK,CAACM,QAPlB;AAQE,QAAA,mBAAmB,EAAEN,KAAK,CAACO,mBAR7B;AASE,QAAA,IAAI,EAAEZ,IATR;AAUE,QAAA,OAAO,EAAEK,KAAK,CAACQ,OAVjB;AAWE,QAAA,WAAW,EAAE,uBAAM;AACjB,cAAIR,KAAK,CAACS,OAAV,EAAmB;AACjBT,YAAAA,KAAK,CAACS,OAAN;AACD;AACF;AAfH,SACOT,KAAK,CAACC,EADb,CADY;AAAA,KAAb;AADH,IADF;AAsBD,CAvBD;;;AAHEL,EAAAA,O;AAZAO,IAAAA,Y;AACAC,IAAAA,Y;AAEAH,IAAAA,E;AACAK,IAAAA,Q;AACAG,IAAAA,O;AACAP,IAAAA,K;AACAK,IAAAA,mB;AACAC,IAAAA,O,4BAAU,U,EAAa,U;;;eAgCVd,Y","sourcesContent":["import * as React from 'react';\nimport Tabs from './Tabs';\nimport TabLink from './TabLink';\nimport { BaseProps } from '../icons';\nimport { Size } from '../types';\n\nexport interface VerticalTabEntry {\n requiredLine: string;\n optionalLine?: string;\n optionalLineIcon?: React.FunctionComponent<BaseProps>;\n to: string;\n disabled?: boolean;\n onClick?: () => void;\n exact?: boolean;\n showNotificationDot?: boolean;\n variant?: 'critical' | 'positive';\n}\ninterface VerticalTabsProps {\n size?: Size.Small | Size.Medium | Size.Large;\n entries: VerticalTabEntry[];\n}\n\nconst VerticalTabs = ({ size, entries }: VerticalTabsProps) => {\n return (\n <Tabs size={size ?? Size.Large}>\n {entries?.map((entry: VerticalTabEntry) => (\n <TabLink\n key={entry.to}\n to={entry.to}\n exact={entry.exact}\n requiredLine={entry.requiredLine}\n optionalLine={entry.optionalLine}\n OptionalLineIcon={entry.optionalLineIcon}\n disabled={entry.disabled}\n showNotificationDot={entry.showNotificationDot}\n size={size}\n variant={entry.variant}\n onLinkClick={() => {\n if (entry.onClick) {\n entry.onClick();\n }\n }}></TabLink>\n ))}\n </Tabs>\n );\n};\n\nexport default VerticalTabs;\n"],"file":"VerticalTabs.cjs"}
1
+ {"version":3,"sources":["../../src/Tabs/VerticalTabs.tsx"],"names":["VerticalTabs","size","entries","Size","Large","map","entry","to","exact","requiredLine","optionalLine","optionalLineIcon","disabled","showNotificationDot","variant","onClick"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;AAkBA,IAAMA,YAAY,GAAG,SAAfA,YAAe,OAA0C;AAAA,MAAvCC,IAAuC,QAAvCA,IAAuC;AAAA,MAAjCC,OAAiC,QAAjCA,OAAiC;AAC7D,sBACE,qBAAC,aAAD;AAAM,IAAA,IAAI,EAAED,IAAF,aAAEA,IAAF,cAAEA,IAAF,GAAUE,YAAKC,KAAzB;AAAA,cACGF,OADH,aACGA,OADH,uBACGA,OAAO,CAAEG,GAAT,CAAa,UAACC,KAAD;AAAA,0BACZ,qBAAC,gBAAD;AAEE,QAAA,EAAE,EAAEA,KAAK,CAACC,EAFZ;AAGE,QAAA,KAAK,EAAED,KAAK,CAACE,KAHf;AAIE,QAAA,YAAY,EAAEF,KAAK,CAACG,YAJtB;AAKE,QAAA,YAAY,EAAEH,KAAK,CAACI,YALtB;AAME,QAAA,gBAAgB,EAAEJ,KAAK,CAACK,gBAN1B;AAOE,QAAA,QAAQ,EAAEL,KAAK,CAACM,QAPlB;AAQE,QAAA,mBAAmB,EAAEN,KAAK,CAACO,mBAR7B;AASE,QAAA,IAAI,EAAEZ,IATR;AAUE,QAAA,OAAO,EAAEK,KAAK,CAACQ,OAVjB;AAWE,QAAA,WAAW,EAAE,uBAAM;AACjB,cAAIR,KAAK,CAACS,OAAV,EAAmB;AACjBT,YAAAA,KAAK,CAACS,OAAN;AACD;AACF;AAfH,SACOT,KAAK,CAACC,EADb,CADY;AAAA,KAAb;AADH,IADF;AAsBD,CAvBD;;;AAHEL,EAAAA,O;AAZAO,IAAAA,Y;AACAC,IAAAA,Y;AAEAH,IAAAA,E;AACAK,IAAAA,Q;AACAG,IAAAA,O;AACAP,IAAAA,K;AACAK,IAAAA,mB;AACAC,IAAAA,O,4BAAU,U,EAAa,U;;;eAgCVd,Y","sourcesContent":["import * as React from 'react';\nimport Tabs from './Tabs';\nimport TabLink from './TabLink';\nimport { BaseProps } from '../icons';\nimport { Size } from '../types';\n\nexport interface VerticalTabEntry {\n requiredLine: string;\n optionalLine?: string;\n optionalLineIcon?: React.FunctionComponent<BaseProps>;\n to: string;\n disabled?: boolean;\n onClick?: () => void;\n exact?: boolean;\n showNotificationDot?: boolean;\n variant?: 'critical' | 'positive';\n}\ninterface VerticalTabsProps {\n size?: Size.Small | Size.Medium | Size.Large;\n entries: VerticalTabEntry[];\n}\n\nconst VerticalTabs = ({ size, entries }: VerticalTabsProps) => {\n return (\n <Tabs size={size ?? Size.Large}>\n {entries?.map((entry: VerticalTabEntry) => (\n <TabLink\n key={entry.to}\n to={entry.to}\n exact={entry.exact}\n requiredLine={entry.requiredLine}\n optionalLine={entry.optionalLine}\n OptionalLineIcon={entry.optionalLineIcon}\n disabled={entry.disabled}\n showNotificationDot={entry.showNotificationDot}\n size={size}\n variant={entry.variant}\n onLinkClick={() => {\n if (entry.onClick) {\n entry.onClick();\n }\n }}/>\n ))}\n </Tabs>\n );\n};\n\nexport default VerticalTabs;\n"],"file":"VerticalTabs.cjs"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Tabs/VerticalTabs.tsx"],"names":["React","Tabs","TabLink","Size","VerticalTabs","size","entries","Large","map","entry","to","exact","requiredLine","optionalLine","optionalLineIcon","disabled","showNotificationDot","variant","onClick"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,OAAP,MAAoB,WAApB;AAEA,SAASC,IAAT,QAAqB,UAArB;;;AAkBA,IAAMC,YAAY,GAAG,SAAfA,YAAe,OAA0C;AAAA,MAAvCC,IAAuC,QAAvCA,IAAuC;AAAA,MAAjCC,OAAiC,QAAjCA,OAAiC;AAC7D,sBACE,KAAC,IAAD;AAAM,IAAA,IAAI,EAAED,IAAF,aAAEA,IAAF,cAAEA,IAAF,GAAUF,IAAI,CAACI,KAAzB;AAAA,cACGD,OADH,aACGA,OADH,uBACGA,OAAO,CAAEE,GAAT,CAAa,UAACC,KAAD;AAAA,0BACZ,KAAC,OAAD;AAEE,QAAA,EAAE,EAAEA,KAAK,CAACC,EAFZ;AAGE,QAAA,KAAK,EAAED,KAAK,CAACE,KAHf;AAIE,QAAA,YAAY,EAAEF,KAAK,CAACG,YAJtB;AAKE,QAAA,YAAY,EAAEH,KAAK,CAACI,YALtB;AAME,QAAA,gBAAgB,EAAEJ,KAAK,CAACK,gBAN1B;AAOE,QAAA,QAAQ,EAAEL,KAAK,CAACM,QAPlB;AAQE,QAAA,mBAAmB,EAAEN,KAAK,CAACO,mBAR7B;AASE,QAAA,IAAI,EAAEX,IATR;AAUE,QAAA,OAAO,EAAEI,KAAK,CAACQ,OAVjB;AAWE,QAAA,WAAW,EAAE,uBAAM;AACjB,cAAIR,KAAK,CAACS,OAAV,EAAmB;AACjBT,YAAAA,KAAK,CAACS,OAAN;AACD;AACF;AAfH,SACOT,KAAK,CAACC,EADb,CADY;AAAA,KAAb;AADH,IADF;AAsBD,CAvBD;;;AAHEJ,EAAAA,O;AAZAM,IAAAA,Y;AACAC,IAAAA,Y;AAEAH,IAAAA,E;AACAK,IAAAA,Q;AACAG,IAAAA,O;AACAP,IAAAA,K;AACAK,IAAAA,mB;AACAC,IAAAA,O,aAAU,U,EAAa,U;;;AAgCzB,eAAeb,YAAf","sourcesContent":["import * as React from 'react';\nimport Tabs from './Tabs';\nimport TabLink from './TabLink';\nimport { BaseProps } from '../icons';\nimport { Size } from '../types';\n\nexport interface VerticalTabEntry {\n requiredLine: string;\n optionalLine?: string;\n optionalLineIcon?: React.FunctionComponent<BaseProps>;\n to: string;\n disabled?: boolean;\n onClick?: () => void;\n exact?: boolean;\n showNotificationDot?: boolean;\n variant?: 'critical' | 'positive';\n}\ninterface VerticalTabsProps {\n size?: Size.Small | Size.Medium | Size.Large;\n entries: VerticalTabEntry[];\n}\n\nconst VerticalTabs = ({ size, entries }: VerticalTabsProps) => {\n return (\n <Tabs size={size ?? Size.Large}>\n {entries?.map((entry: VerticalTabEntry) => (\n <TabLink\n key={entry.to}\n to={entry.to}\n exact={entry.exact}\n requiredLine={entry.requiredLine}\n optionalLine={entry.optionalLine}\n OptionalLineIcon={entry.optionalLineIcon}\n disabled={entry.disabled}\n showNotificationDot={entry.showNotificationDot}\n size={size}\n variant={entry.variant}\n onLinkClick={() => {\n if (entry.onClick) {\n entry.onClick();\n }\n }}></TabLink>\n ))}\n </Tabs>\n );\n};\n\nexport default VerticalTabs;\n"],"file":"VerticalTabs.js"}
1
+ {"version":3,"sources":["../../src/Tabs/VerticalTabs.tsx"],"names":["React","Tabs","TabLink","Size","VerticalTabs","size","entries","Large","map","entry","to","exact","requiredLine","optionalLine","optionalLineIcon","disabled","showNotificationDot","variant","onClick"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,OAAP,MAAoB,WAApB;AAEA,SAASC,IAAT,QAAqB,UAArB;;;AAkBA,IAAMC,YAAY,GAAG,SAAfA,YAAe,OAA0C;AAAA,MAAvCC,IAAuC,QAAvCA,IAAuC;AAAA,MAAjCC,OAAiC,QAAjCA,OAAiC;AAC7D,sBACE,KAAC,IAAD;AAAM,IAAA,IAAI,EAAED,IAAF,aAAEA,IAAF,cAAEA,IAAF,GAAUF,IAAI,CAACI,KAAzB;AAAA,cACGD,OADH,aACGA,OADH,uBACGA,OAAO,CAAEE,GAAT,CAAa,UAACC,KAAD;AAAA,0BACZ,KAAC,OAAD;AAEE,QAAA,EAAE,EAAEA,KAAK,CAACC,EAFZ;AAGE,QAAA,KAAK,EAAED,KAAK,CAACE,KAHf;AAIE,QAAA,YAAY,EAAEF,KAAK,CAACG,YAJtB;AAKE,QAAA,YAAY,EAAEH,KAAK,CAACI,YALtB;AAME,QAAA,gBAAgB,EAAEJ,KAAK,CAACK,gBAN1B;AAOE,QAAA,QAAQ,EAAEL,KAAK,CAACM,QAPlB;AAQE,QAAA,mBAAmB,EAAEN,KAAK,CAACO,mBAR7B;AASE,QAAA,IAAI,EAAEX,IATR;AAUE,QAAA,OAAO,EAAEI,KAAK,CAACQ,OAVjB;AAWE,QAAA,WAAW,EAAE,uBAAM;AACjB,cAAIR,KAAK,CAACS,OAAV,EAAmB;AACjBT,YAAAA,KAAK,CAACS,OAAN;AACD;AACF;AAfH,SACOT,KAAK,CAACC,EADb,CADY;AAAA,KAAb;AADH,IADF;AAsBD,CAvBD;;;AAHEJ,EAAAA,O;AAZAM,IAAAA,Y;AACAC,IAAAA,Y;AAEAH,IAAAA,E;AACAK,IAAAA,Q;AACAG,IAAAA,O;AACAP,IAAAA,K;AACAK,IAAAA,mB;AACAC,IAAAA,O,aAAU,U,EAAa,U;;;AAgCzB,eAAeb,YAAf","sourcesContent":["import * as React from 'react';\nimport Tabs from './Tabs';\nimport TabLink from './TabLink';\nimport { BaseProps } from '../icons';\nimport { Size } from '../types';\n\nexport interface VerticalTabEntry {\n requiredLine: string;\n optionalLine?: string;\n optionalLineIcon?: React.FunctionComponent<BaseProps>;\n to: string;\n disabled?: boolean;\n onClick?: () => void;\n exact?: boolean;\n showNotificationDot?: boolean;\n variant?: 'critical' | 'positive';\n}\ninterface VerticalTabsProps {\n size?: Size.Small | Size.Medium | Size.Large;\n entries: VerticalTabEntry[];\n}\n\nconst VerticalTabs = ({ size, entries }: VerticalTabsProps) => {\n return (\n <Tabs size={size ?? Size.Large}>\n {entries?.map((entry: VerticalTabEntry) => (\n <TabLink\n key={entry.to}\n to={entry.to}\n exact={entry.exact}\n requiredLine={entry.requiredLine}\n optionalLine={entry.optionalLine}\n OptionalLineIcon={entry.optionalLineIcon}\n disabled={entry.disabled}\n showNotificationDot={entry.showNotificationDot}\n size={size}\n variant={entry.variant}\n onLinkClick={() => {\n if (entry.onClick) {\n entry.onClick();\n }\n }}/>\n ))}\n </Tabs>\n );\n};\n\nexport default VerticalTabs;\n"],"file":"VerticalTabs.js"}
@@ -190,6 +190,7 @@ var Toast = function Toast(_ref) {
190
190
  size: _types.Size.Small,
191
191
  variant: action.type === _types.ToastActionType.SECONDARY ? 'secondary' : 'primary',
192
192
  colorTheme: opts.color !== _types.ToastColor.WHITE ? 'dark' : 'teal',
193
+ invertFocus: opts.color === _types.ToastColor.BLACK,
193
194
  onClick: function onClick() {
194
195
  setShouldRemove(true);
195
196
  action.handler();
@@ -204,6 +205,7 @@ var Toast = function Toast(_ref) {
204
205
  variant: 'secondary',
205
206
  shape: "circular",
206
207
  useTransparentBackground: true,
208
+ invertFocus: opts.color === _types.ToastColor.BLACK,
207
209
  action: function action(event) {
208
210
  return setShouldRemove(true);
209
211
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Toasters/Toast.tsx"],"names":["LoaderAnimationKeyframes","keyframes","Loader","styled","div","props","duration","ToastColor","BLACK","COLORS","neutral_200","neutral_800","WHITE","neutral_400","white","BLUE","accent1_200","accent1_600","GREEN","correct_200","correct_500","ORANGE","warning_200","warning_500","RED","critical_200","critical_500","Container","BOXSHADOWS","BOXSHADOW_L2","animation","bezier","transform","withClose","withLoader","ComponentTextStyle","Regular","HyperLinkInvertedStyling","black","HyperLinkDefaultStyling","ActionButtons","CloseButton","neutral_600","TextContainer","span","IconContainer","DEFAULT_OPTIONS","color","autoClose","delay","showCloseButton","position","ToastPosition","TOPLEFT","enterFrom","ToastEntryDirection","TOP","Toast","content","remove","options","testId","removeRef","React","useRef","current","elementRef","useState","shouldRemove","setShouldRemove","width","height","dimensions","setDimensions","opts","useEffect","id","setTimeout","clearTimeout","undefined","clientHeight","clientWidth","animations","direction","fromY","fromHeight","toY","toHeight","fromX","fromWidth","toX","toWidth","prop","theme","focus","icon","action","map","i","Size","Small","type","ToastActionType","SECONDARY","handler","label","event","enter","BOTTOM","LEFT","RIGHT","leave"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled, { keyframes } from 'styled-components';\nimport { ToastActionType, ToastColor, ToastEntryDirection, ToastPosition } from '../types';\nimport { BOXSHADOWS, COLORS, TYPOGRAPHY } from '../styles';\nimport { Close } from '../icons/systemicons/SystemIcons';\nimport { Size } from '../types' \nimport { Button, IconButton } from '../Button';\nimport { ComponentSStyling, ComponentTextStyle } from '../styles/typography';\nimport {HyperLinkDefaultStyling, HyperLinkInvertedStyling} from '../HyperLink';\n\nconst LoaderAnimationKeyframes = keyframes`\n 0% {\n background-position: right;\n }\n 100% {\n background-position: left;\n }\n`;\n\nconst Loader = styled.div<{ duration: number }>`\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 4px;\n border-bottom-left-radius: 8px;\n border-bottom-right-radius: 8px;\n\n animation: ${LoaderAnimationKeyframes} ${(props) => props.duration}ms cubic-bezier(0.18, 0.39, 0.35, 1);\n\n &.${ToastColor[ToastColor.BLACK]} {\n background: linear-gradient(to right, ${COLORS.neutral_200} 50%, ${COLORS.neutral_800} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.WHITE]} {\n background: linear-gradient(to right, ${COLORS.neutral_400} 50%, ${COLORS.white} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.BLUE]} {\n background: linear-gradient(to right, ${COLORS.accent1_200} 50%, ${COLORS.accent1_600} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.GREEN]} {\n background: linear-gradient(to right, ${COLORS.correct_200} 50%, ${COLORS.correct_500} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.ORANGE]} {\n background: linear-gradient(to right, ${COLORS.warning_200} 50%, ${COLORS.warning_500} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.RED]} {\n background: linear-gradient(to right, ${COLORS.critical_200} 50%, ${COLORS.critical_500} 50%) left;\n background-size: 200% 100%;\n }\n`;\n\nconst Container = styled.div<{ animation: { duration: string; bezier: string; transform: string; keyframes: any }; withLoader: boolean; withClose: boolean }>`\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L2};\n border-radius: 4px;\n\n animation: ${(props) => props.animation.keyframes} ${(props) => props.animation.duration} ${(props) => props.animation.bezier};\n transform: ${(props) => props.animation.transform};\n\n transition: all 300ms cubic-bezier(0.64, 0.04, 0.35, 1);\n\n padding: 0 ${(props) => (props.withClose ? '0' : '16px')} ${(props) => (props.withLoader ? '4px' : '0')} 16px;\n\n margin-bottom: 8px;\n display: flex;\n align-items: center;\n gap: 16px;\n justify-content: left;\n\n position: relative;\n\n width: max-content;\n min-height: 48px;\n box-sizing: border-box;\n\n ${ComponentSStyling(ComponentTextStyle.Regular, COLORS.white)}\n\n & a {\n display: inline;\n ${HyperLinkInvertedStyling}\n }\n\n &.${ToastColor[ToastColor.BLACK]} {\n background-color: ${COLORS.neutral_800};\n }\n\n &.${ToastColor[ToastColor.WHITE]} {\n background-color: ${COLORS.white};\n color: ${COLORS.black};\n\n & a {\n ${HyperLinkDefaultStyling}\n }\n }\n\n &.${ToastColor[ToastColor.BLUE]} {\n background-color: ${COLORS.accent1_600};\n }\n\n &.${ToastColor[ToastColor.GREEN]} {\n background-color: ${COLORS.correct_500};\n }\n\n &.${ToastColor[ToastColor.ORANGE]} {\n background-color: ${COLORS.warning_500};\n }\n\n &.${ToastColor[ToastColor.RED]} {\n background-color: ${COLORS.critical_500};\n }\n`;\n\nconst ActionButtons = styled.div`\n display: flex;\n flex-direction: row;\n gap: 8px;\n align-items: center;\n\n & .action {\n height: unset;\n }\n`;\n\nconst CloseButton = styled.div`\n & > button {\n margin-left: 16px;\n\n & svg {\n padding: 0;\n }\n }\n\n button svg path{\n fill: ${COLORS.white} !important;\n }\n\n &.${ToastColor[ToastColor.WHITE]} {\n button svg path {\n fill: ${COLORS.neutral_600} !important;\n }\n }\n`;\n\nconst TextContainer = styled.span`\n font-feature-settings: 'liga' off;\n width: 240px;\n display: flex;\n padding: 16px 0;\n`;\n\nconst IconContainer = styled.span`\n margin-right: -8px;\n`;\n\nexport type ToastOptions = {\n color?: ToastColor;\n autoClose?: boolean;\n delay?: number;\n showCloseButton?: boolean;\n action?: {\n label: string;\n handler: () => void;\n type?: ToastActionType;\n }[];\n position: ToastPosition;\n enterFrom?: ToastEntryDirection;\n icon?: React.ReactNode;\n};\n\ntype Props = {\n remove?: any;\n content: any;\n options?: ToastOptions;\n testId?: string;\n};\n\nconst DEFAULT_OPTIONS: ToastOptions = {\n color: ToastColor.BLACK,\n autoClose: true,\n delay: 5000,\n showCloseButton: false,\n position: ToastPosition.TOPLEFT,\n enterFrom: ToastEntryDirection.TOP,\n};\n\nconst Toast = ({ content, remove, options = DEFAULT_OPTIONS, testId }: Props) => {\n const removeRef = React.useRef();\n removeRef.current = remove;\n\n const elementRef = React.useRef<any>(null);\n\n const [shouldRemove, setShouldRemove] = React.useState(false);\n const [dimensions, setDimensions] = React.useState<{ width: number; height: number }>({ width: 0, height: 0 });\n\n const opts = { ...DEFAULT_OPTIONS, ...options };\n\n React.useEffect(() => {\n if (opts?.autoClose) {\n // @ts-ignore\n const id = setTimeout(() => setShouldRemove(true), opts.delay);\n return () => clearTimeout(id);\n }\n return undefined;\n }, []);\n\n React.useEffect(() => {\n if (shouldRemove) {\n // @ts-ignore\n const id = setTimeout(() => removeRef.current(), 200);\n return () => clearTimeout(id);\n }\n }, [shouldRemove]);\n\n React.useEffect(() => {\n setDimensions({ height: elementRef.current?.clientHeight, width: elementRef.current?.clientWidth });\n }, []);\n\n const animation = animations[shouldRemove ? 'leave' : 'enter'];\n const direction = animation[opts.enterFrom ?? ToastEntryDirection.TOP];\n\n const fromY = dimensions.height * direction.fromHeight;\n const toY = dimensions.height * direction.toHeight;\n const fromX = dimensions.width * direction.fromWidth;\n const toX = dimensions.width * direction.toWidth;\n\n let prop = {\n duration: animation.duration,\n bezier: animation.bezier,\n transform: `translateY(${toY}) translateX(${toX})`,\n keyframes: keyframes`\n 0% {\n transform: translateY(${fromY}px) translateX(${fromX}px);\n }\n 100% {\n transform: translateY(${toY}px) translateX(${toX}px);\n }`,\n };\n\n if (!dimensions.height) {\n prop = {\n ...prop,\n ...{\n transform: 'translateY(-1000vh) translateX(-1000vw)',\n keyframes: keyframes``,\n },\n };\n }\n\n const theme = ToastColor[opts.color ?? ToastColor.BLACK];\n\n if (!shouldRemove){\n setTimeout(() => elementRef?.current?.focus());\n }\n\n return (\n <Container data-testid={testId} animation={prop} ref={elementRef} withLoader={!!opts.autoClose} className={theme} withClose={!!opts.showCloseButton} tabIndex={-1}>\n {opts.icon && <IconContainer>{opts.icon}</IconContainer>}\n <TextContainer className={'description'}>{content}</TextContainer>\n {opts.action && (\n <ActionButtons>\n {opts.action.map((action, i) => (\n <Button\n size={Size.Small}\n variant={action.type === ToastActionType.SECONDARY ? 'secondary' : 'primary'}\n colorTheme={opts.color !== ToastColor.WHITE ? 'dark' : 'teal'}\n key={i}\n onClick={() => {\n setShouldRemove(true);\n action.handler();\n }}\n className={'action'}>\n {action.label}\n </Button>\n ))}\n </ActionButtons>\n )}\n {opts.showCloseButton && (\n <CloseButton className={`close-button ${theme}`}>\n <IconButton variant={'secondary'}\n shape=\"circular\"\n useTransparentBackground={true}\n action={(event) => setShouldRemove(true)}>\n <Close size=\"24px\" color={COLORS.neutral_600} />\n </IconButton>\n </CloseButton>\n )}\n {!!opts.autoClose && <Loader className={`loader ${theme}`} duration={opts.delay ?? 0} />}\n </Container>\n );\n};\n\nexport default Toast;\n\nconst animations = {\n enter: {\n bezier: 'cubic-bezier(0.22, 0.61, 0.35, 1)',\n duration: '300ms',\n [ToastEntryDirection.TOP]: {\n fromHeight: -1,\n toHeight: 0,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.BOTTOM]: {\n fromHeight: 1,\n toHeight: 0,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.LEFT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: -1,\n toWidth: 0,\n },\n [ToastEntryDirection.RIGHT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: 1,\n toWidth: 0,\n },\n },\n leave: {\n bezier: 'cubic-bezier(0.5, 0.05, 0.67, 0.19)',\n duration: '205ms',\n [ToastEntryDirection.TOP]: {\n fromHeight: 0,\n toHeight: -1,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.BOTTOM]: {\n fromHeight: 0,\n toHeight: 1,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.LEFT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: 0,\n toWidth: -1,\n },\n [ToastEntryDirection.RIGHT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: 0,\n toWidth: 1,\n },\n },\n};\n"],"file":"Toast.cjs"}
1
+ {"version":3,"sources":["../../src/Toasters/Toast.tsx"],"names":["LoaderAnimationKeyframes","keyframes","Loader","styled","div","props","duration","ToastColor","BLACK","COLORS","neutral_200","neutral_800","WHITE","neutral_400","white","BLUE","accent1_200","accent1_600","GREEN","correct_200","correct_500","ORANGE","warning_200","warning_500","RED","critical_200","critical_500","Container","BOXSHADOWS","BOXSHADOW_L2","animation","bezier","transform","withClose","withLoader","ComponentTextStyle","Regular","HyperLinkInvertedStyling","black","HyperLinkDefaultStyling","ActionButtons","CloseButton","neutral_600","TextContainer","span","IconContainer","DEFAULT_OPTIONS","color","autoClose","delay","showCloseButton","position","ToastPosition","TOPLEFT","enterFrom","ToastEntryDirection","TOP","Toast","content","remove","options","testId","removeRef","React","useRef","current","elementRef","useState","shouldRemove","setShouldRemove","width","height","dimensions","setDimensions","opts","useEffect","id","setTimeout","clearTimeout","undefined","clientHeight","clientWidth","animations","direction","fromY","fromHeight","toY","toHeight","fromX","fromWidth","toX","toWidth","prop","theme","focus","icon","action","map","i","Size","Small","type","ToastActionType","SECONDARY","handler","label","event","enter","BOTTOM","LEFT","RIGHT","leave"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled, { keyframes } from 'styled-components';\nimport { ToastActionType, ToastColor, ToastEntryDirection, ToastPosition } from '../types';\nimport { BOXSHADOWS, COLORS, TYPOGRAPHY } from '../styles';\nimport { Close } from '../icons/systemicons/SystemIcons';\nimport { Size } from '../types' \nimport { Button, IconButton } from '../Button';\nimport { ComponentSStyling, ComponentTextStyle } from '../styles/typography';\nimport {HyperLinkDefaultStyling, HyperLinkInvertedStyling} from '../HyperLink';\n\nconst LoaderAnimationKeyframes = keyframes`\n 0% {\n background-position: right;\n }\n 100% {\n background-position: left;\n }\n`;\n\nconst Loader = styled.div<{ duration: number }>`\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 4px;\n border-bottom-left-radius: 8px;\n border-bottom-right-radius: 8px;\n\n animation: ${LoaderAnimationKeyframes} ${(props) => props.duration}ms cubic-bezier(0.18, 0.39, 0.35, 1);\n\n &.${ToastColor[ToastColor.BLACK]} {\n background: linear-gradient(to right, ${COLORS.neutral_200} 50%, ${COLORS.neutral_800} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.WHITE]} {\n background: linear-gradient(to right, ${COLORS.neutral_400} 50%, ${COLORS.white} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.BLUE]} {\n background: linear-gradient(to right, ${COLORS.accent1_200} 50%, ${COLORS.accent1_600} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.GREEN]} {\n background: linear-gradient(to right, ${COLORS.correct_200} 50%, ${COLORS.correct_500} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.ORANGE]} {\n background: linear-gradient(to right, ${COLORS.warning_200} 50%, ${COLORS.warning_500} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.RED]} {\n background: linear-gradient(to right, ${COLORS.critical_200} 50%, ${COLORS.critical_500} 50%) left;\n background-size: 200% 100%;\n }\n`;\n\nconst Container = styled.div<{ animation: { duration: string; bezier: string; transform: string; keyframes: any }; withLoader: boolean; withClose: boolean }>`\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L2};\n border-radius: 4px;\n\n animation: ${(props) => props.animation.keyframes} ${(props) => props.animation.duration} ${(props) => props.animation.bezier};\n transform: ${(props) => props.animation.transform};\n\n transition: all 300ms cubic-bezier(0.64, 0.04, 0.35, 1);\n\n padding: 0 ${(props) => (props.withClose ? '0' : '16px')} ${(props) => (props.withLoader ? '4px' : '0')} 16px;\n\n margin-bottom: 8px;\n display: flex;\n align-items: center;\n gap: 16px;\n justify-content: left;\n\n position: relative;\n\n width: max-content;\n min-height: 48px;\n box-sizing: border-box;\n\n ${ComponentSStyling(ComponentTextStyle.Regular, COLORS.white)}\n\n & a {\n display: inline;\n ${HyperLinkInvertedStyling}\n }\n\n &.${ToastColor[ToastColor.BLACK]} {\n background-color: ${COLORS.neutral_800};\n }\n\n &.${ToastColor[ToastColor.WHITE]} {\n background-color: ${COLORS.white};\n color: ${COLORS.black};\n\n & a {\n ${HyperLinkDefaultStyling}\n }\n }\n\n &.${ToastColor[ToastColor.BLUE]} {\n background-color: ${COLORS.accent1_600};\n }\n\n &.${ToastColor[ToastColor.GREEN]} {\n background-color: ${COLORS.correct_500};\n }\n\n &.${ToastColor[ToastColor.ORANGE]} {\n background-color: ${COLORS.warning_500};\n }\n\n &.${ToastColor[ToastColor.RED]} {\n background-color: ${COLORS.critical_500};\n }\n`;\n\nconst ActionButtons = styled.div`\n display: flex;\n flex-direction: row;\n gap: 8px;\n align-items: center;\n\n & .action {\n height: unset;\n }\n`;\n\nconst CloseButton = styled.div`\n & > button {\n margin-left: 16px;\n\n & svg {\n padding: 0;\n }\n }\n\n button svg path{\n fill: ${COLORS.white} !important;\n }\n\n &.${ToastColor[ToastColor.WHITE]} {\n button svg path {\n fill: ${COLORS.neutral_600} !important;\n }\n }\n`;\n\nconst TextContainer = styled.span`\n font-feature-settings: 'liga' off;\n width: 240px;\n display: flex;\n padding: 16px 0;\n`;\n\nconst IconContainer = styled.span`\n margin-right: -8px;\n`;\n\nexport type ToastOptions = {\n color?: ToastColor;\n autoClose?: boolean;\n delay?: number;\n showCloseButton?: boolean;\n action?: {\n label: string;\n handler: () => void;\n type?: ToastActionType;\n }[];\n position: ToastPosition;\n enterFrom?: ToastEntryDirection;\n icon?: React.ReactNode;\n};\n\ntype Props = {\n remove?: any;\n content: any;\n options?: ToastOptions;\n testId?: string;\n};\n\nconst DEFAULT_OPTIONS: ToastOptions = {\n color: ToastColor.BLACK,\n autoClose: true,\n delay: 5000,\n showCloseButton: false,\n position: ToastPosition.TOPLEFT,\n enterFrom: ToastEntryDirection.TOP,\n};\n\nconst Toast = ({ content, remove, options = DEFAULT_OPTIONS, testId }: Props) => {\n const removeRef = React.useRef();\n removeRef.current = remove;\n\n const elementRef = React.useRef<any>(null);\n\n const [shouldRemove, setShouldRemove] = React.useState(false);\n const [dimensions, setDimensions] = React.useState<{ width: number; height: number }>({ width: 0, height: 0 });\n\n const opts = { ...DEFAULT_OPTIONS, ...options };\n\n React.useEffect(() => {\n if (opts?.autoClose) {\n // @ts-ignore\n const id = setTimeout(() => setShouldRemove(true), opts.delay);\n return () => clearTimeout(id);\n }\n return undefined;\n }, []);\n\n React.useEffect(() => {\n if (shouldRemove) {\n // @ts-ignore\n const id = setTimeout(() => removeRef.current(), 200);\n return () => clearTimeout(id);\n }\n }, [shouldRemove]);\n\n React.useEffect(() => {\n setDimensions({ height: elementRef.current?.clientHeight, width: elementRef.current?.clientWidth });\n }, []);\n\n const animation = animations[shouldRemove ? 'leave' : 'enter'];\n const direction = animation[opts.enterFrom ?? ToastEntryDirection.TOP];\n\n const fromY = dimensions.height * direction.fromHeight;\n const toY = dimensions.height * direction.toHeight;\n const fromX = dimensions.width * direction.fromWidth;\n const toX = dimensions.width * direction.toWidth;\n\n let prop = {\n duration: animation.duration,\n bezier: animation.bezier,\n transform: `translateY(${toY}) translateX(${toX})`,\n keyframes: keyframes`\n 0% {\n transform: translateY(${fromY}px) translateX(${fromX}px);\n }\n 100% {\n transform: translateY(${toY}px) translateX(${toX}px);\n }`,\n };\n\n if (!dimensions.height) {\n prop = {\n ...prop,\n ...{\n transform: 'translateY(-1000vh) translateX(-1000vw)',\n keyframes: keyframes``,\n },\n };\n }\n\n const theme = ToastColor[opts.color ?? ToastColor.BLACK];\n\n if (!shouldRemove){\n setTimeout(() => elementRef?.current?.focus());\n }\n\n return (\n <Container data-testid={testId} animation={prop} ref={elementRef} withLoader={!!opts.autoClose} className={theme} withClose={!!opts.showCloseButton} tabIndex={-1}>\n {opts.icon && <IconContainer>{opts.icon}</IconContainer>}\n <TextContainer className={'description'}>{content}</TextContainer>\n {opts.action && (\n <ActionButtons>\n {opts.action.map((action, i) => (\n <Button\n size={Size.Small}\n variant={action.type === ToastActionType.SECONDARY ? 'secondary' : 'primary'}\n colorTheme={opts.color !== ToastColor.WHITE ? 'dark' : 'teal'}\n invertFocus={opts.color === ToastColor.BLACK}\n key={i}\n onClick={() => {\n setShouldRemove(true);\n action.handler();\n }}\n className={'action'}>\n {action.label}\n </Button>\n ))}\n </ActionButtons>\n )}\n {opts.showCloseButton && (\n <CloseButton className={`close-button ${theme}`}>\n <IconButton variant={'secondary'}\n shape=\"circular\"\n useTransparentBackground={true}\n invertFocus={opts.color === ToastColor.BLACK}\n action={(event) => setShouldRemove(true)}>\n <Close size=\"24px\" color={COLORS.neutral_600} />\n </IconButton>\n </CloseButton>\n )}\n {!!opts.autoClose && <Loader className={`loader ${theme}`} duration={opts.delay ?? 0} />}\n </Container>\n );\n};\n\nexport default Toast;\n\nconst animations = {\n enter: {\n bezier: 'cubic-bezier(0.22, 0.61, 0.35, 1)',\n duration: '300ms',\n [ToastEntryDirection.TOP]: {\n fromHeight: -1,\n toHeight: 0,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.BOTTOM]: {\n fromHeight: 1,\n toHeight: 0,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.LEFT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: -1,\n toWidth: 0,\n },\n [ToastEntryDirection.RIGHT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: 1,\n toWidth: 0,\n },\n },\n leave: {\n bezier: 'cubic-bezier(0.5, 0.05, 0.67, 0.19)',\n duration: '205ms',\n [ToastEntryDirection.TOP]: {\n fromHeight: 0,\n toHeight: -1,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.BOTTOM]: {\n fromHeight: 0,\n toHeight: 1,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.LEFT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: 0,\n toWidth: -1,\n },\n [ToastEntryDirection.RIGHT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: 0,\n toWidth: 1,\n },\n },\n};\n"],"file":"Toast.cjs"}
@@ -158,6 +158,7 @@ var Toast = function Toast(_ref) {
158
158
  size: Size.Small,
159
159
  variant: action.type === ToastActionType.SECONDARY ? 'secondary' : 'primary',
160
160
  colorTheme: opts.color !== ToastColor.WHITE ? 'dark' : 'teal',
161
+ invertFocus: opts.color === ToastColor.BLACK,
161
162
  onClick: function onClick() {
162
163
  setShouldRemove(true);
163
164
  action.handler();
@@ -172,6 +173,7 @@ var Toast = function Toast(_ref) {
172
173
  variant: 'secondary',
173
174
  shape: "circular",
174
175
  useTransparentBackground: true,
176
+ invertFocus: opts.color === ToastColor.BLACK,
175
177
  action: function action(event) {
176
178
  return setShouldRemove(true);
177
179
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Toasters/Toast.tsx"],"names":["React","styled","keyframes","ToastActionType","ToastColor","ToastEntryDirection","ToastPosition","BOXSHADOWS","COLORS","Close","Size","Button","IconButton","ComponentSStyling","ComponentTextStyle","HyperLinkDefaultStyling","HyperLinkInvertedStyling","LoaderAnimationKeyframes","Loader","div","props","duration","BLACK","neutral_200","neutral_800","WHITE","neutral_400","white","BLUE","accent1_200","accent1_600","GREEN","correct_200","correct_500","ORANGE","warning_200","warning_500","RED","critical_200","critical_500","Container","BOXSHADOW_L2","animation","bezier","transform","withClose","withLoader","Regular","black","ActionButtons","CloseButton","neutral_600","TextContainer","span","IconContainer","DEFAULT_OPTIONS","color","autoClose","delay","showCloseButton","position","TOPLEFT","enterFrom","TOP","Toast","content","remove","options","testId","removeRef","useRef","current","elementRef","useState","shouldRemove","setShouldRemove","width","height","dimensions","setDimensions","opts","useEffect","id","setTimeout","clearTimeout","undefined","clientHeight","clientWidth","animations","direction","fromY","fromHeight","toY","toHeight","fromX","fromWidth","toX","toWidth","prop","theme","focus","icon","action","map","i","Small","type","SECONDARY","handler","label","event","enter","BOTTOM","LEFT","RIGHT","leave"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled, { keyframes } from 'styled-components';\nimport { ToastActionType, ToastColor, ToastEntryDirection, ToastPosition } from '../types';\nimport { BOXSHADOWS, COLORS, TYPOGRAPHY } from '../styles';\nimport { Close } from '../icons/systemicons/SystemIcons';\nimport { Size } from '../types' \nimport { Button, IconButton } from '../Button';\nimport { ComponentSStyling, ComponentTextStyle } from '../styles/typography';\nimport {HyperLinkDefaultStyling, HyperLinkInvertedStyling} from '../HyperLink';\n\nconst LoaderAnimationKeyframes = keyframes`\n 0% {\n background-position: right;\n }\n 100% {\n background-position: left;\n }\n`;\n\nconst Loader = styled.div<{ duration: number }>`\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 4px;\n border-bottom-left-radius: 8px;\n border-bottom-right-radius: 8px;\n\n animation: ${LoaderAnimationKeyframes} ${(props) => props.duration}ms cubic-bezier(0.18, 0.39, 0.35, 1);\n\n &.${ToastColor[ToastColor.BLACK]} {\n background: linear-gradient(to right, ${COLORS.neutral_200} 50%, ${COLORS.neutral_800} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.WHITE]} {\n background: linear-gradient(to right, ${COLORS.neutral_400} 50%, ${COLORS.white} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.BLUE]} {\n background: linear-gradient(to right, ${COLORS.accent1_200} 50%, ${COLORS.accent1_600} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.GREEN]} {\n background: linear-gradient(to right, ${COLORS.correct_200} 50%, ${COLORS.correct_500} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.ORANGE]} {\n background: linear-gradient(to right, ${COLORS.warning_200} 50%, ${COLORS.warning_500} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.RED]} {\n background: linear-gradient(to right, ${COLORS.critical_200} 50%, ${COLORS.critical_500} 50%) left;\n background-size: 200% 100%;\n }\n`;\n\nconst Container = styled.div<{ animation: { duration: string; bezier: string; transform: string; keyframes: any }; withLoader: boolean; withClose: boolean }>`\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L2};\n border-radius: 4px;\n\n animation: ${(props) => props.animation.keyframes} ${(props) => props.animation.duration} ${(props) => props.animation.bezier};\n transform: ${(props) => props.animation.transform};\n\n transition: all 300ms cubic-bezier(0.64, 0.04, 0.35, 1);\n\n padding: 0 ${(props) => (props.withClose ? '0' : '16px')} ${(props) => (props.withLoader ? '4px' : '0')} 16px;\n\n margin-bottom: 8px;\n display: flex;\n align-items: center;\n gap: 16px;\n justify-content: left;\n\n position: relative;\n\n width: max-content;\n min-height: 48px;\n box-sizing: border-box;\n\n ${ComponentSStyling(ComponentTextStyle.Regular, COLORS.white)}\n\n & a {\n display: inline;\n ${HyperLinkInvertedStyling}\n }\n\n &.${ToastColor[ToastColor.BLACK]} {\n background-color: ${COLORS.neutral_800};\n }\n\n &.${ToastColor[ToastColor.WHITE]} {\n background-color: ${COLORS.white};\n color: ${COLORS.black};\n\n & a {\n ${HyperLinkDefaultStyling}\n }\n }\n\n &.${ToastColor[ToastColor.BLUE]} {\n background-color: ${COLORS.accent1_600};\n }\n\n &.${ToastColor[ToastColor.GREEN]} {\n background-color: ${COLORS.correct_500};\n }\n\n &.${ToastColor[ToastColor.ORANGE]} {\n background-color: ${COLORS.warning_500};\n }\n\n &.${ToastColor[ToastColor.RED]} {\n background-color: ${COLORS.critical_500};\n }\n`;\n\nconst ActionButtons = styled.div`\n display: flex;\n flex-direction: row;\n gap: 8px;\n align-items: center;\n\n & .action {\n height: unset;\n }\n`;\n\nconst CloseButton = styled.div`\n & > button {\n margin-left: 16px;\n\n & svg {\n padding: 0;\n }\n }\n\n button svg path{\n fill: ${COLORS.white} !important;\n }\n\n &.${ToastColor[ToastColor.WHITE]} {\n button svg path {\n fill: ${COLORS.neutral_600} !important;\n }\n }\n`;\n\nconst TextContainer = styled.span`\n font-feature-settings: 'liga' off;\n width: 240px;\n display: flex;\n padding: 16px 0;\n`;\n\nconst IconContainer = styled.span`\n margin-right: -8px;\n`;\n\nexport type ToastOptions = {\n color?: ToastColor;\n autoClose?: boolean;\n delay?: number;\n showCloseButton?: boolean;\n action?: {\n label: string;\n handler: () => void;\n type?: ToastActionType;\n }[];\n position: ToastPosition;\n enterFrom?: ToastEntryDirection;\n icon?: React.ReactNode;\n};\n\ntype Props = {\n remove?: any;\n content: any;\n options?: ToastOptions;\n testId?: string;\n};\n\nconst DEFAULT_OPTIONS: ToastOptions = {\n color: ToastColor.BLACK,\n autoClose: true,\n delay: 5000,\n showCloseButton: false,\n position: ToastPosition.TOPLEFT,\n enterFrom: ToastEntryDirection.TOP,\n};\n\nconst Toast = ({ content, remove, options = DEFAULT_OPTIONS, testId }: Props) => {\n const removeRef = React.useRef();\n removeRef.current = remove;\n\n const elementRef = React.useRef<any>(null);\n\n const [shouldRemove, setShouldRemove] = React.useState(false);\n const [dimensions, setDimensions] = React.useState<{ width: number; height: number }>({ width: 0, height: 0 });\n\n const opts = { ...DEFAULT_OPTIONS, ...options };\n\n React.useEffect(() => {\n if (opts?.autoClose) {\n // @ts-ignore\n const id = setTimeout(() => setShouldRemove(true), opts.delay);\n return () => clearTimeout(id);\n }\n return undefined;\n }, []);\n\n React.useEffect(() => {\n if (shouldRemove) {\n // @ts-ignore\n const id = setTimeout(() => removeRef.current(), 200);\n return () => clearTimeout(id);\n }\n }, [shouldRemove]);\n\n React.useEffect(() => {\n setDimensions({ height: elementRef.current?.clientHeight, width: elementRef.current?.clientWidth });\n }, []);\n\n const animation = animations[shouldRemove ? 'leave' : 'enter'];\n const direction = animation[opts.enterFrom ?? ToastEntryDirection.TOP];\n\n const fromY = dimensions.height * direction.fromHeight;\n const toY = dimensions.height * direction.toHeight;\n const fromX = dimensions.width * direction.fromWidth;\n const toX = dimensions.width * direction.toWidth;\n\n let prop = {\n duration: animation.duration,\n bezier: animation.bezier,\n transform: `translateY(${toY}) translateX(${toX})`,\n keyframes: keyframes`\n 0% {\n transform: translateY(${fromY}px) translateX(${fromX}px);\n }\n 100% {\n transform: translateY(${toY}px) translateX(${toX}px);\n }`,\n };\n\n if (!dimensions.height) {\n prop = {\n ...prop,\n ...{\n transform: 'translateY(-1000vh) translateX(-1000vw)',\n keyframes: keyframes``,\n },\n };\n }\n\n const theme = ToastColor[opts.color ?? ToastColor.BLACK];\n\n if (!shouldRemove){\n setTimeout(() => elementRef?.current?.focus());\n }\n\n return (\n <Container data-testid={testId} animation={prop} ref={elementRef} withLoader={!!opts.autoClose} className={theme} withClose={!!opts.showCloseButton} tabIndex={-1}>\n {opts.icon && <IconContainer>{opts.icon}</IconContainer>}\n <TextContainer className={'description'}>{content}</TextContainer>\n {opts.action && (\n <ActionButtons>\n {opts.action.map((action, i) => (\n <Button\n size={Size.Small}\n variant={action.type === ToastActionType.SECONDARY ? 'secondary' : 'primary'}\n colorTheme={opts.color !== ToastColor.WHITE ? 'dark' : 'teal'}\n key={i}\n onClick={() => {\n setShouldRemove(true);\n action.handler();\n }}\n className={'action'}>\n {action.label}\n </Button>\n ))}\n </ActionButtons>\n )}\n {opts.showCloseButton && (\n <CloseButton className={`close-button ${theme}`}>\n <IconButton variant={'secondary'}\n shape=\"circular\"\n useTransparentBackground={true}\n action={(event) => setShouldRemove(true)}>\n <Close size=\"24px\" color={COLORS.neutral_600} />\n </IconButton>\n </CloseButton>\n )}\n {!!opts.autoClose && <Loader className={`loader ${theme}`} duration={opts.delay ?? 0} />}\n </Container>\n );\n};\n\nexport default Toast;\n\nconst animations = {\n enter: {\n bezier: 'cubic-bezier(0.22, 0.61, 0.35, 1)',\n duration: '300ms',\n [ToastEntryDirection.TOP]: {\n fromHeight: -1,\n toHeight: 0,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.BOTTOM]: {\n fromHeight: 1,\n toHeight: 0,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.LEFT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: -1,\n toWidth: 0,\n },\n [ToastEntryDirection.RIGHT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: 1,\n toWidth: 0,\n },\n },\n leave: {\n bezier: 'cubic-bezier(0.5, 0.05, 0.67, 0.19)',\n duration: '205ms',\n [ToastEntryDirection.TOP]: {\n fromHeight: 0,\n toHeight: -1,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.BOTTOM]: {\n fromHeight: 0,\n toHeight: 1,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.LEFT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: 0,\n toWidth: -1,\n },\n [ToastEntryDirection.RIGHT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: 0,\n toWidth: 1,\n },\n },\n};\n"],"file":"Toast.js"}
1
+ {"version":3,"sources":["../../src/Toasters/Toast.tsx"],"names":["React","styled","keyframes","ToastActionType","ToastColor","ToastEntryDirection","ToastPosition","BOXSHADOWS","COLORS","Close","Size","Button","IconButton","ComponentSStyling","ComponentTextStyle","HyperLinkDefaultStyling","HyperLinkInvertedStyling","LoaderAnimationKeyframes","Loader","div","props","duration","BLACK","neutral_200","neutral_800","WHITE","neutral_400","white","BLUE","accent1_200","accent1_600","GREEN","correct_200","correct_500","ORANGE","warning_200","warning_500","RED","critical_200","critical_500","Container","BOXSHADOW_L2","animation","bezier","transform","withClose","withLoader","Regular","black","ActionButtons","CloseButton","neutral_600","TextContainer","span","IconContainer","DEFAULT_OPTIONS","color","autoClose","delay","showCloseButton","position","TOPLEFT","enterFrom","TOP","Toast","content","remove","options","testId","removeRef","useRef","current","elementRef","useState","shouldRemove","setShouldRemove","width","height","dimensions","setDimensions","opts","useEffect","id","setTimeout","clearTimeout","undefined","clientHeight","clientWidth","animations","direction","fromY","fromHeight","toY","toHeight","fromX","fromWidth","toX","toWidth","prop","theme","focus","icon","action","map","i","Small","type","SECONDARY","handler","label","event","enter","BOTTOM","LEFT","RIGHT","leave"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled, { keyframes } from 'styled-components';\nimport { ToastActionType, ToastColor, ToastEntryDirection, ToastPosition } from '../types';\nimport { BOXSHADOWS, COLORS, TYPOGRAPHY } from '../styles';\nimport { Close } from '../icons/systemicons/SystemIcons';\nimport { Size } from '../types' \nimport { Button, IconButton } from '../Button';\nimport { ComponentSStyling, ComponentTextStyle } from '../styles/typography';\nimport {HyperLinkDefaultStyling, HyperLinkInvertedStyling} from '../HyperLink';\n\nconst LoaderAnimationKeyframes = keyframes`\n 0% {\n background-position: right;\n }\n 100% {\n background-position: left;\n }\n`;\n\nconst Loader = styled.div<{ duration: number }>`\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 4px;\n border-bottom-left-radius: 8px;\n border-bottom-right-radius: 8px;\n\n animation: ${LoaderAnimationKeyframes} ${(props) => props.duration}ms cubic-bezier(0.18, 0.39, 0.35, 1);\n\n &.${ToastColor[ToastColor.BLACK]} {\n background: linear-gradient(to right, ${COLORS.neutral_200} 50%, ${COLORS.neutral_800} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.WHITE]} {\n background: linear-gradient(to right, ${COLORS.neutral_400} 50%, ${COLORS.white} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.BLUE]} {\n background: linear-gradient(to right, ${COLORS.accent1_200} 50%, ${COLORS.accent1_600} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.GREEN]} {\n background: linear-gradient(to right, ${COLORS.correct_200} 50%, ${COLORS.correct_500} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.ORANGE]} {\n background: linear-gradient(to right, ${COLORS.warning_200} 50%, ${COLORS.warning_500} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.RED]} {\n background: linear-gradient(to right, ${COLORS.critical_200} 50%, ${COLORS.critical_500} 50%) left;\n background-size: 200% 100%;\n }\n`;\n\nconst Container = styled.div<{ animation: { duration: string; bezier: string; transform: string; keyframes: any }; withLoader: boolean; withClose: boolean }>`\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L2};\n border-radius: 4px;\n\n animation: ${(props) => props.animation.keyframes} ${(props) => props.animation.duration} ${(props) => props.animation.bezier};\n transform: ${(props) => props.animation.transform};\n\n transition: all 300ms cubic-bezier(0.64, 0.04, 0.35, 1);\n\n padding: 0 ${(props) => (props.withClose ? '0' : '16px')} ${(props) => (props.withLoader ? '4px' : '0')} 16px;\n\n margin-bottom: 8px;\n display: flex;\n align-items: center;\n gap: 16px;\n justify-content: left;\n\n position: relative;\n\n width: max-content;\n min-height: 48px;\n box-sizing: border-box;\n\n ${ComponentSStyling(ComponentTextStyle.Regular, COLORS.white)}\n\n & a {\n display: inline;\n ${HyperLinkInvertedStyling}\n }\n\n &.${ToastColor[ToastColor.BLACK]} {\n background-color: ${COLORS.neutral_800};\n }\n\n &.${ToastColor[ToastColor.WHITE]} {\n background-color: ${COLORS.white};\n color: ${COLORS.black};\n\n & a {\n ${HyperLinkDefaultStyling}\n }\n }\n\n &.${ToastColor[ToastColor.BLUE]} {\n background-color: ${COLORS.accent1_600};\n }\n\n &.${ToastColor[ToastColor.GREEN]} {\n background-color: ${COLORS.correct_500};\n }\n\n &.${ToastColor[ToastColor.ORANGE]} {\n background-color: ${COLORS.warning_500};\n }\n\n &.${ToastColor[ToastColor.RED]} {\n background-color: ${COLORS.critical_500};\n }\n`;\n\nconst ActionButtons = styled.div`\n display: flex;\n flex-direction: row;\n gap: 8px;\n align-items: center;\n\n & .action {\n height: unset;\n }\n`;\n\nconst CloseButton = styled.div`\n & > button {\n margin-left: 16px;\n\n & svg {\n padding: 0;\n }\n }\n\n button svg path{\n fill: ${COLORS.white} !important;\n }\n\n &.${ToastColor[ToastColor.WHITE]} {\n button svg path {\n fill: ${COLORS.neutral_600} !important;\n }\n }\n`;\n\nconst TextContainer = styled.span`\n font-feature-settings: 'liga' off;\n width: 240px;\n display: flex;\n padding: 16px 0;\n`;\n\nconst IconContainer = styled.span`\n margin-right: -8px;\n`;\n\nexport type ToastOptions = {\n color?: ToastColor;\n autoClose?: boolean;\n delay?: number;\n showCloseButton?: boolean;\n action?: {\n label: string;\n handler: () => void;\n type?: ToastActionType;\n }[];\n position: ToastPosition;\n enterFrom?: ToastEntryDirection;\n icon?: React.ReactNode;\n};\n\ntype Props = {\n remove?: any;\n content: any;\n options?: ToastOptions;\n testId?: string;\n};\n\nconst DEFAULT_OPTIONS: ToastOptions = {\n color: ToastColor.BLACK,\n autoClose: true,\n delay: 5000,\n showCloseButton: false,\n position: ToastPosition.TOPLEFT,\n enterFrom: ToastEntryDirection.TOP,\n};\n\nconst Toast = ({ content, remove, options = DEFAULT_OPTIONS, testId }: Props) => {\n const removeRef = React.useRef();\n removeRef.current = remove;\n\n const elementRef = React.useRef<any>(null);\n\n const [shouldRemove, setShouldRemove] = React.useState(false);\n const [dimensions, setDimensions] = React.useState<{ width: number; height: number }>({ width: 0, height: 0 });\n\n const opts = { ...DEFAULT_OPTIONS, ...options };\n\n React.useEffect(() => {\n if (opts?.autoClose) {\n // @ts-ignore\n const id = setTimeout(() => setShouldRemove(true), opts.delay);\n return () => clearTimeout(id);\n }\n return undefined;\n }, []);\n\n React.useEffect(() => {\n if (shouldRemove) {\n // @ts-ignore\n const id = setTimeout(() => removeRef.current(), 200);\n return () => clearTimeout(id);\n }\n }, [shouldRemove]);\n\n React.useEffect(() => {\n setDimensions({ height: elementRef.current?.clientHeight, width: elementRef.current?.clientWidth });\n }, []);\n\n const animation = animations[shouldRemove ? 'leave' : 'enter'];\n const direction = animation[opts.enterFrom ?? ToastEntryDirection.TOP];\n\n const fromY = dimensions.height * direction.fromHeight;\n const toY = dimensions.height * direction.toHeight;\n const fromX = dimensions.width * direction.fromWidth;\n const toX = dimensions.width * direction.toWidth;\n\n let prop = {\n duration: animation.duration,\n bezier: animation.bezier,\n transform: `translateY(${toY}) translateX(${toX})`,\n keyframes: keyframes`\n 0% {\n transform: translateY(${fromY}px) translateX(${fromX}px);\n }\n 100% {\n transform: translateY(${toY}px) translateX(${toX}px);\n }`,\n };\n\n if (!dimensions.height) {\n prop = {\n ...prop,\n ...{\n transform: 'translateY(-1000vh) translateX(-1000vw)',\n keyframes: keyframes``,\n },\n };\n }\n\n const theme = ToastColor[opts.color ?? ToastColor.BLACK];\n\n if (!shouldRemove){\n setTimeout(() => elementRef?.current?.focus());\n }\n\n return (\n <Container data-testid={testId} animation={prop} ref={elementRef} withLoader={!!opts.autoClose} className={theme} withClose={!!opts.showCloseButton} tabIndex={-1}>\n {opts.icon && <IconContainer>{opts.icon}</IconContainer>}\n <TextContainer className={'description'}>{content}</TextContainer>\n {opts.action && (\n <ActionButtons>\n {opts.action.map((action, i) => (\n <Button\n size={Size.Small}\n variant={action.type === ToastActionType.SECONDARY ? 'secondary' : 'primary'}\n colorTheme={opts.color !== ToastColor.WHITE ? 'dark' : 'teal'}\n invertFocus={opts.color === ToastColor.BLACK}\n key={i}\n onClick={() => {\n setShouldRemove(true);\n action.handler();\n }}\n className={'action'}>\n {action.label}\n </Button>\n ))}\n </ActionButtons>\n )}\n {opts.showCloseButton && (\n <CloseButton className={`close-button ${theme}`}>\n <IconButton variant={'secondary'}\n shape=\"circular\"\n useTransparentBackground={true}\n invertFocus={opts.color === ToastColor.BLACK}\n action={(event) => setShouldRemove(true)}>\n <Close size=\"24px\" color={COLORS.neutral_600} />\n </IconButton>\n </CloseButton>\n )}\n {!!opts.autoClose && <Loader className={`loader ${theme}`} duration={opts.delay ?? 0} />}\n </Container>\n );\n};\n\nexport default Toast;\n\nconst animations = {\n enter: {\n bezier: 'cubic-bezier(0.22, 0.61, 0.35, 1)',\n duration: '300ms',\n [ToastEntryDirection.TOP]: {\n fromHeight: -1,\n toHeight: 0,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.BOTTOM]: {\n fromHeight: 1,\n toHeight: 0,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.LEFT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: -1,\n toWidth: 0,\n },\n [ToastEntryDirection.RIGHT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: 1,\n toWidth: 0,\n },\n },\n leave: {\n bezier: 'cubic-bezier(0.5, 0.05, 0.67, 0.19)',\n duration: '205ms',\n [ToastEntryDirection.TOP]: {\n fromHeight: 0,\n toHeight: -1,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.BOTTOM]: {\n fromHeight: 0,\n toHeight: 1,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.LEFT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: 0,\n toWidth: -1,\n },\n [ToastEntryDirection.RIGHT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: 0,\n toWidth: 1,\n },\n },\n};\n"],"file":"Toast.js"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.ToggleButton = void 0;
9
+
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var _react = _interopRequireDefault(require("react"));
17
+
18
+ var _Button = require("../Button");
19
+
20
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
21
+
22
+ var _Iconbutton = require("../Button/Iconbutton");
23
+
24
+ var _styles = require("../styles");
25
+
26
+ var _jsxRuntime = require("react/jsx-runtime");
27
+
28
+ var _templateObject;
29
+
30
+ var Wrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", " {\n transition: all 0.1s ease-in-out;\n }\n\n &.disabled,\n &.active:not(.state-change) {\n ", " {\n background: ", ";\n }\n }\n\n &.active:not(.state-change) {\n ", ":after {\n content: '';\n position: absolute;\n left: 12px;\n bottom: 1px;\n background-color: ", ";\n border-radius: 4px;\n height: 4px;\n width: 24px;\n }\n }\n\n &.disabled:not(.state-change) {\n ", ":after {\n background: ", ";\n }\n }\n"])), _Iconbutton.IconButtonContent, _Iconbutton.IconButtonContent, _styles.COLORS.white, _Iconbutton.IconButtonContent, _styles.COLORS.primary_500, _Iconbutton.IconButtonContent, _styles.COLORS.neutral_300);
31
+
32
+ var ToggleButton = function ToggleButton(props) {
33
+ var _props$activeState$co, _props$activeState, _props$activeState$ic, _props$activeState2;
34
+
35
+ var _React$useState = _react.default.useState(false),
36
+ _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
37
+ active = _React$useState2[0],
38
+ setActive = _React$useState2[1];
39
+
40
+ _react.default.useEffect(function () {
41
+ return setActive(props.active);
42
+ }, [props.active]);
43
+
44
+ var cls = "".concat(active ? 'active' : '', " ").concat(props.activeState ? 'state-change' : '', " ").concat(props.disabled ? 'disabled' : '');
45
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Wrapper, {
46
+ className: cls,
47
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
48
+ variant: 'secondary',
49
+ useTransparentBackground: true,
50
+ shape: 'circular',
51
+ action: function action() {
52
+ setActive(!active);
53
+
54
+ if (props.onChange) {
55
+ props.onChange(!active);
56
+ }
57
+ },
58
+ iconColor: active ? (_props$activeState$co = (_props$activeState = props.activeState) === null || _props$activeState === void 0 ? void 0 : _props$activeState.color) !== null && _props$activeState$co !== void 0 ? _props$activeState$co : props.defaultState.color : props.defaultState.color,
59
+ disabled: props.disabled,
60
+ children: active ? (_props$activeState$ic = (_props$activeState2 = props.activeState) === null || _props$activeState2 === void 0 ? void 0 : _props$activeState2.icon) !== null && _props$activeState$ic !== void 0 ? _props$activeState$ic : props.defaultState.icon : props.defaultState.icon
61
+ })
62
+ });
63
+ };
64
+
65
+ exports.ToggleButton = ToggleButton;
66
+ ToggleButton.propTypes = {
67
+ active: _propTypes.default.bool.isRequired,
68
+ onChange: _propTypes.default.func,
69
+ disabled: _propTypes.default.bool,
70
+ defaultState: _propTypes.default.shape({
71
+ icon: _propTypes.default.node.isRequired,
72
+ color: _propTypes.default.string
73
+ }).isRequired,
74
+ activeState: _propTypes.default.shape({
75
+ icon: _propTypes.default.node.isRequired,
76
+ color: _propTypes.default.string
77
+ })
78
+ };
79
+ var _default = ToggleButton;
80
+ exports.default = _default;
81
+ //# sourceMappingURL=ToggleButton.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Toggles/ToggleButton.tsx"],"names":["Wrapper","styled","div","IconButtonContent","COLORS","white","primary_500","neutral_300","ToggleButton","props","React","useState","active","setActive","useEffect","cls","activeState","disabled","onChange","color","defaultState","icon"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,OAAO,GAAGC,0BAAOC,GAAV,okBACTC,6BADS,EAOPA,6BAPO,EAQOC,eAAOC,KARd,EAaPF,6BAbO,EAkBaC,eAAOE,WAlBpB,EA0BPH,6BA1BO,EA2BOC,eAAOG,WA3Bd,CAAb;;AA8CO,IAAMC,YAAwD,GAAG,SAA3DA,YAA2D,CAACC,KAAD,EAAW;AAAA;;AAEjF,wBAA4BC,eAAMC,QAAN,CAAe,KAAf,CAA5B;AAAA;AAAA,MAAOC,MAAP;AAAA,MAAeC,SAAf;;AAEAH,iBAAMI,SAAN,CAAgB;AAAA,WAAMD,SAAS,CAACJ,KAAK,CAACG,MAAP,CAAf;AAAA,GAAhB,EAA+C,CAACH,KAAK,CAACG,MAAP,CAA/C;;AAEA,MAAMG,GAAG,aAAMH,MAAM,GAAG,QAAH,GAAc,EAA1B,cAAgCH,KAAK,CAACO,WAAN,GAAoB,cAApB,GAAqC,EAArE,cAA2EP,KAAK,CAACQ,QAAN,GAAiB,UAAjB,GAA8B,EAAzG,CAAT;AAEA,sBACE,qBAAC,OAAD;AAAS,IAAA,SAAS,EAAEF,GAApB;AAAA,2BACE,qBAAC,kBAAD;AAAY,MAAA,OAAO,EAAE,WAArB;AACY,MAAA,wBAAwB,EAAE,IADtC;AAEY,MAAA,KAAK,EAAE,UAFnB;AAGY,MAAA,MAAM,EAAE,kBAAM;AACZF,QAAAA,SAAS,CAAC,CAACD,MAAF,CAAT;;AACA,YAAIH,KAAK,CAACS,QAAV,EAAoB;AAClBT,UAAAA,KAAK,CAACS,QAAN,CAAe,CAACN,MAAhB;AACD;AACF,OARb;AASY,MAAA,SAAS,EAAEA,MAAM,kDAAGH,KAAK,CAACO,WAAT,uDAAG,mBAAmBG,KAAtB,yEAA+BV,KAAK,CAACW,YAAN,CAAmBD,KAAlD,GAA0DV,KAAK,CAACW,YAAN,CAAmBD,KAT1G;AAUY,MAAA,QAAQ,EAAEV,KAAK,CAACQ,QAV5B;AAAA,gBAWGL,MAAM,mDAAGH,KAAK,CAACO,WAAT,wDAAG,oBAAmBK,IAAtB,yEAA8BZ,KAAK,CAACW,YAAN,CAAmBC,IAAjD,GAAwDZ,KAAK,CAACW,YAAN,CAAmBC;AAXpF;AADF,IADF;AAiBD,CAzBM;;;;AARLT,EAAAA,M;AACAM,EAAAA,Q;AACAD,EAAAA,Q;AAEAG,EAAAA,Y;AATAC,IAAAA,I;AACAF,IAAAA,K;;AASAH,EAAAA,W;AAVAK,IAAAA,I;AACAF,IAAAA,K;;;eAuCaX,Y","sourcesContent":["import React from 'react';\nimport {IconButton} from '../Button';\nimport styled from 'styled-components';\nimport {IconButtonContent} from '../Button/Iconbutton';\nimport {COLORS} from '../styles';\n\nconst Wrapper = styled.div`\n ${IconButtonContent} {\n transition: all 0.1s ease-in-out;\n }\n\n &.disabled,\n &.active:not(.state-change) {\n ${IconButtonContent} {\n background: ${COLORS.white};\n }\n }\n\n &.active:not(.state-change) {\n ${IconButtonContent}:after {\n content: '';\n position: absolute;\n left: 12px;\n bottom: 1px;\n background-color: ${COLORS.primary_500};\n border-radius: 4px;\n height: 4px;\n width: 24px;\n }\n }\n\n &.disabled:not(.state-change) {\n ${IconButtonContent}:after {\n background: ${COLORS.neutral_300};\n }\n }\n`;\n\nexport interface ToggleButtonState {\n icon: React.ReactNode;\n color?: string;\n}\n\nexport interface ToggleButtonProps {\n active: boolean;\n onChange?: (value: boolean) => void;\n disabled?: boolean;\n\n defaultState: ToggleButtonState;\n activeState?: ToggleButtonState;\n}\n\nexport const ToggleButton: React.FunctionComponent<ToggleButtonProps> = (props) => {\n\n const [active, setActive] = React.useState(false);\n\n React.useEffect(() => setActive(props.active), [props.active]);\n\n const cls = `${active ? 'active' : ''} ${props.activeState ? 'state-change' : ''} ${props.disabled ? 'disabled' : ''}`;\n\n return (\n <Wrapper className={cls}>\n <IconButton variant={'secondary'}\n useTransparentBackground={true}\n shape={'circular'}\n action={() => {\n setActive(!active);\n if (props.onChange) {\n props.onChange(!active);\n }\n }}\n iconColor={active ? props.activeState?.color ?? props.defaultState.color : props.defaultState.color}\n disabled={props.disabled}>\n {active ? props.activeState?.icon ?? props.defaultState.icon : props.defaultState.icon}\n </IconButton>\n </Wrapper>\n )\n}\n\nexport default ToggleButton;\n"],"file":"ToggleButton.cjs"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ export interface ToggleButtonState {
3
+ icon: React.ReactNode;
4
+ color?: string;
5
+ }
6
+ export interface ToggleButtonProps {
7
+ active: boolean;
8
+ onChange?: (value: boolean) => void;
9
+ disabled?: boolean;
10
+ defaultState: ToggleButtonState;
11
+ activeState?: ToggleButtonState;
12
+ }
13
+ export declare const ToggleButton: React.FunctionComponent<ToggleButtonProps>;
14
+ export default ToggleButton;