@laerdal/life-react-components 6.0.0-dev.1.full → 6.0.0-dev.12.full

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/dist/Accordion/ContentAccordion.cjs +40 -11
  2. package/dist/Accordion/ContentAccordion.cjs.map +1 -1
  3. package/dist/Accordion/ContentAccordion.js +40 -11
  4. package/dist/Accordion/ContentAccordion.js.map +1 -1
  5. package/dist/Accordion/__tests__/AccordionMenu.test.tsx +42 -0
  6. package/dist/Accordion/__tests__/ContentAccordion.test.tsx +150 -0
  7. package/dist/Accordion/styles.cjs +51 -13
  8. package/dist/Accordion/styles.cjs.map +1 -1
  9. package/dist/Accordion/styles.js +51 -13
  10. package/dist/Accordion/styles.js.map +1 -1
  11. package/dist/AuthPage/__tests__/AuthPage.test.tsx +27 -0
  12. package/dist/Banners/Banner.cjs +38 -34
  13. package/dist/Banners/Banner.cjs.map +1 -1
  14. package/dist/Banners/Banner.d.ts +2 -3
  15. package/dist/Banners/Banner.js +38 -34
  16. package/dist/Banners/Banner.js.map +1 -1
  17. package/dist/Banners/__tests__/Banner.test.tsx +47 -0
  18. package/dist/Banners/__tests__/OverviewBanner.test.tsx +20 -0
  19. package/dist/Banners/styles.cjs +8 -16
  20. package/dist/Banners/styles.cjs.map +1 -1
  21. package/dist/Banners/styles.js +8 -16
  22. package/dist/Banners/styles.js.map +1 -1
  23. package/dist/Breadcrumb/Breadcrumb.cjs +8 -2
  24. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  25. package/dist/Breadcrumb/Breadcrumb.js +8 -2
  26. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  27. package/dist/Breadcrumb/__tests__/Breadcrumb.test.tsx +78 -0
  28. package/dist/Breadcrumb/styles.cjs +15 -4
  29. package/dist/Breadcrumb/styles.cjs.map +1 -1
  30. package/dist/Breadcrumb/styles.js +15 -4
  31. package/dist/Breadcrumb/styles.js.map +1 -1
  32. package/dist/Button/BackButton.cjs +27 -6
  33. package/dist/Button/BackButton.cjs.map +1 -1
  34. package/dist/Button/BackButton.js +27 -6
  35. package/dist/Button/BackButton.js.map +1 -1
  36. package/dist/Button/Button.cjs +179 -47
  37. package/dist/Button/Button.cjs.map +1 -1
  38. package/dist/Button/Button.d.ts +2 -0
  39. package/dist/Button/Button.js +179 -47
  40. package/dist/Button/Button.js.map +1 -1
  41. package/dist/Button/Iconbutton.cjs +83 -21
  42. package/dist/Button/Iconbutton.cjs.map +1 -1
  43. package/dist/Button/Iconbutton.js +83 -21
  44. package/dist/Button/Iconbutton.js.map +1 -1
  45. package/dist/Button/__tests__/BackButton.test.tsx +32 -0
  46. package/dist/Button/__tests__/Button.test.tsx +45 -0
  47. package/dist/Button/__tests__/DualButton.test.tsx +119 -0
  48. package/dist/Card/HorizontalCard/HorizontalCard.cjs +20 -5
  49. package/dist/Card/HorizontalCard/HorizontalCard.cjs.map +1 -1
  50. package/dist/Card/HorizontalCard/HorizontalCard.js +20 -5
  51. package/dist/Card/HorizontalCard/HorizontalCard.js.map +1 -1
  52. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs +12 -3
  53. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs.map +1 -1
  54. package/dist/Card/HorizontalCard/HorizontalCardBody.js +12 -3
  55. package/dist/Card/HorizontalCard/HorizontalCardBody.js.map +1 -1
  56. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs +8 -2
  57. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs.map +1 -1
  58. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js +8 -2
  59. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js.map +1 -1
  60. package/dist/Card/HorizontalCard/__tests__/HorizontalCard.test.tsx +71 -0
  61. package/dist/Card/HorizontalCard/__tests__/VerticalCard.test.tsx +124 -0
  62. package/dist/Card/VerticalCard/Card.cjs +20 -5
  63. package/dist/Card/VerticalCard/Card.cjs.map +1 -1
  64. package/dist/Card/VerticalCard/Card.js +20 -5
  65. package/dist/Card/VerticalCard/Card.js.map +1 -1
  66. package/dist/Card/VerticalCard/CardBottomSection.cjs +72 -19
  67. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
  68. package/dist/Card/VerticalCard/CardBottomSection.d.ts +8 -1
  69. package/dist/Card/VerticalCard/CardBottomSection.js +73 -20
  70. package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
  71. package/dist/Card/VerticalCard/CardMiddleSection.cjs +19 -4
  72. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
  73. package/dist/Card/VerticalCard/CardMiddleSection.js +19 -4
  74. package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
  75. package/dist/Card/VerticalCard/CardTopSection.cjs +9 -2
  76. package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
  77. package/dist/Card/VerticalCard/CardTopSection.js +9 -2
  78. package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
  79. package/dist/Card/__tests__/Card.test.tsx +146 -0
  80. package/dist/Chips/ChipStyles.cjs +4 -1
  81. package/dist/Chips/ChipStyles.cjs.map +1 -1
  82. package/dist/Chips/ChipStyles.js +4 -1
  83. package/dist/Chips/ChipStyles.js.map +1 -1
  84. package/dist/Chips/__tests__/ActionChip.test.tsx +94 -0
  85. package/dist/Chips/__tests__/ChoiceChips.test.tsx +79 -0
  86. package/dist/Chips/__tests__/FilterChip.test.tsx +95 -0
  87. package/dist/Chips/__tests__/InputChip.test.tsx +155 -0
  88. package/dist/ChipsInput/ChipInputField.cjs +16 -4
  89. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  90. package/dist/ChipsInput/ChipInputField.js +16 -4
  91. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  92. package/dist/ChipsInput/__tests__/ChipDropdownInput.test.tsx +100 -0
  93. package/dist/ChipsInput/__tests__/ChipInputFields.test.tsx +155 -0
  94. package/dist/Dropdown/BasicDropdown.cjs +12 -3
  95. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  96. package/dist/Dropdown/BasicDropdown.js +12 -3
  97. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  98. package/dist/Dropdown/CommonStyling.cjs +172 -42
  99. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  100. package/dist/Dropdown/CommonStyling.js +172 -42
  101. package/dist/Dropdown/CommonStyling.js.map +1 -1
  102. package/dist/Dropdown/DropdownContent.cjs +36 -10
  103. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  104. package/dist/Dropdown/DropdownContent.js +36 -10
  105. package/dist/Dropdown/DropdownContent.js.map +1 -1
  106. package/dist/Dropdown/DropdownFilter.cjs +12 -3
  107. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  108. package/dist/Dropdown/DropdownFilter.js +12 -3
  109. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  110. package/dist/Dropdown/__tests__/DropdownFilter.test.tsx +39 -0
  111. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +4 -1
  112. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  113. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +4 -1
  114. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  115. package/dist/Footer/__tests__/Footer.test.tsx +182 -0
  116. package/dist/GlobalNavigationBar/__tests__/GlobalNavigationBar.tests.d.ts +1 -0
  117. package/dist/GlobalNavigationBar/__tests__/Logo.test.tsx +39 -0
  118. package/dist/GlobalNavigationBar/__tests__/Logo.tests.d.ts +1 -0
  119. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +4 -1
  120. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  121. package/dist/GlobalNavigationBar/desktop/UserMenu.js +4 -1
  122. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  123. package/dist/GlobalNavigationBar/desktop/__tests__/DesktopActions.test.tsx +108 -0
  124. package/dist/GlobalNavigationBar/desktop/__tests__/ExtendedMainMenu.test.tsx +28 -0
  125. package/dist/GlobalNavigationBar/desktop/__tests__/MainMenu.test.tsx +55 -0
  126. package/dist/GlobalNavigationBar/desktop/__tests__/RightSideNav.test.tsx +45 -0
  127. package/dist/GlobalNavigationBar/desktop/__tests__/UserMenu.test.tsx +125 -0
  128. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenu.test.tsx +317 -0
  129. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuContent.test.tsx +294 -0
  130. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuHeader.test.tsx +195 -0
  131. package/dist/HyperLink/styling.cjs +38 -8
  132. package/dist/HyperLink/styling.cjs.map +1 -1
  133. package/dist/HyperLink/styling.js +38 -8
  134. package/dist/HyperLink/styling.js.map +1 -1
  135. package/dist/InputFields/Checkbox.cjs +54 -14
  136. package/dist/InputFields/Checkbox.cjs.map +1 -1
  137. package/dist/InputFields/Checkbox.js +54 -14
  138. package/dist/InputFields/Checkbox.js.map +1 -1
  139. package/dist/InputFields/DatepickerField.cjs +149 -43
  140. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  141. package/dist/InputFields/DatepickerField.d.ts +1 -1
  142. package/dist/InputFields/DatepickerField.js +150 -44
  143. package/dist/InputFields/DatepickerField.js.map +1 -1
  144. package/dist/InputFields/DatepickerFieldHeader.cjs +20 -5
  145. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
  146. package/dist/InputFields/DatepickerFieldHeader.js +20 -5
  147. package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
  148. package/dist/InputFields/Label.cjs +38 -11
  149. package/dist/InputFields/Label.cjs.map +1 -1
  150. package/dist/InputFields/Label.js +38 -11
  151. package/dist/InputFields/Label.js.map +1 -1
  152. package/dist/InputFields/NumberField.cjs +66 -16
  153. package/dist/InputFields/NumberField.cjs.map +1 -1
  154. package/dist/InputFields/NumberField.js +66 -16
  155. package/dist/InputFields/NumberField.js.map +1 -1
  156. package/dist/InputFields/PasswordField.cjs +4 -1
  157. package/dist/InputFields/PasswordField.cjs.map +1 -1
  158. package/dist/InputFields/PasswordField.d.ts +1 -1
  159. package/dist/InputFields/PasswordField.js +4 -1
  160. package/dist/InputFields/PasswordField.js.map +1 -1
  161. package/dist/InputFields/QuickSearch.cjs +30 -6
  162. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  163. package/dist/InputFields/QuickSearch.js +30 -6
  164. package/dist/InputFields/QuickSearch.js.map +1 -1
  165. package/dist/InputFields/RadioButton.cjs +63 -15
  166. package/dist/InputFields/RadioButton.cjs.map +1 -1
  167. package/dist/InputFields/RadioButton.js +63 -15
  168. package/dist/InputFields/RadioButton.js.map +1 -1
  169. package/dist/InputFields/RichTextField.cjs +60 -15
  170. package/dist/InputFields/RichTextField.cjs.map +1 -1
  171. package/dist/InputFields/RichTextField.js +60 -15
  172. package/dist/InputFields/RichTextField.js.map +1 -1
  173. package/dist/InputFields/SearchBar.cjs +4 -1
  174. package/dist/InputFields/SearchBar.cjs.map +1 -1
  175. package/dist/InputFields/SearchBar.js +4 -1
  176. package/dist/InputFields/SearchBar.js.map +1 -1
  177. package/dist/InputFields/TextField.cjs +9 -3
  178. package/dist/InputFields/TextField.cjs.map +1 -1
  179. package/dist/InputFields/TextField.d.ts +1 -1
  180. package/dist/InputFields/TextField.js +9 -3
  181. package/dist/InputFields/TextField.js.map +1 -1
  182. package/dist/InputFields/Textarea.cjs +68 -17
  183. package/dist/InputFields/Textarea.cjs.map +1 -1
  184. package/dist/InputFields/Textarea.js +68 -17
  185. package/dist/InputFields/Textarea.js.map +1 -1
  186. package/dist/InputFields/__tests__/NumberField.test.tsx +67 -0
  187. package/dist/InputFields/__tests__/NumberInput.test.tsx +68 -0
  188. package/dist/InputFields/__tests__/QuickSearch.test.tsx +42 -0
  189. package/dist/InputFields/components/SearchBarInput.cjs +28 -7
  190. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  191. package/dist/InputFields/components/SearchBarInput.js +28 -7
  192. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  193. package/dist/InputFields/components/SearchField.cjs +60 -15
  194. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  195. package/dist/InputFields/components/SearchField.js +60 -15
  196. package/dist/InputFields/components/SearchField.js.map +1 -1
  197. package/dist/InputFields/styling.cjs +95 -39
  198. package/dist/InputFields/styling.cjs.map +1 -1
  199. package/dist/InputFields/styling.d.ts +1 -2
  200. package/dist/InputFields/styling.js +95 -39
  201. package/dist/InputFields/styling.js.map +1 -1
  202. package/dist/LinearProgress/LinearProgress.cjs +161 -53
  203. package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
  204. package/dist/LinearProgress/LinearProgress.js +161 -53
  205. package/dist/LinearProgress/LinearProgress.js.map +1 -1
  206. package/dist/LinearProgress/__tests__/LinearProgress.test.tsx +25 -0
  207. package/dist/List/ListRow.cjs +36 -9
  208. package/dist/List/ListRow.cjs.map +1 -1
  209. package/dist/List/ListRow.js +36 -9
  210. package/dist/List/ListRow.js.map +1 -1
  211. package/dist/List/__tests__/ListRow.test.tsx +18 -0
  212. package/dist/List/__tests__/ListRow.tests.d.ts +1 -0
  213. package/dist/LoadingIndicator/LoadingIndicator.cjs +4 -1
  214. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
  215. package/dist/LoadingIndicator/LoadingIndicator.js +4 -1
  216. package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
  217. package/dist/LoadingPage/GlobalLoadingPage.cjs +4 -1
  218. package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -1
  219. package/dist/LoadingPage/GlobalLoadingPage.js +4 -1
  220. package/dist/LoadingPage/GlobalLoadingPage.js.map +1 -1
  221. package/dist/LoadingPage/__tests__/GlobalLoadingPage.test.tsx +23 -0
  222. package/dist/MenuItem/MenuItem.cjs +101 -26
  223. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  224. package/dist/MenuItem/MenuItem.js +101 -26
  225. package/dist/MenuItem/MenuItem.js.map +1 -1
  226. package/dist/Modals/Modal.cjs +4 -1
  227. package/dist/Modals/Modal.cjs.map +1 -1
  228. package/dist/Modals/Modal.js +4 -1
  229. package/dist/Modals/Modal.js.map +1 -1
  230. package/dist/Modals/ModalContent.cjs +24 -6
  231. package/dist/Modals/ModalContent.cjs.map +1 -1
  232. package/dist/Modals/ModalContent.js +24 -6
  233. package/dist/Modals/ModalContent.js.map +1 -1
  234. package/dist/Modals/ModalDialog.cjs +12 -3
  235. package/dist/Modals/ModalDialog.cjs.map +1 -1
  236. package/dist/Modals/ModalDialog.js +12 -3
  237. package/dist/Modals/ModalDialog.js.map +1 -1
  238. package/dist/Modals/ModalNote.cjs +16 -4
  239. package/dist/Modals/ModalNote.cjs.map +1 -1
  240. package/dist/Modals/ModalNote.js +16 -4
  241. package/dist/Modals/ModalNote.js.map +1 -1
  242. package/dist/Modals/ModalStyles.cjs +44 -11
  243. package/dist/Modals/ModalStyles.cjs.map +1 -1
  244. package/dist/Modals/ModalStyles.js +44 -11
  245. package/dist/Modals/ModalStyles.js.map +1 -1
  246. package/dist/Modals/__tests__/Modal.test.tsx +169 -0
  247. package/dist/Modals/__tests__/ModalContainer.test.tsx +77 -0
  248. package/dist/Modals/__tests__/ModalContent.test.tsx +126 -0
  249. package/dist/NavItem/NavItem.cjs +4 -1
  250. package/dist/NavItem/NavItem.cjs.map +1 -1
  251. package/dist/NavItem/NavItem.js +4 -1
  252. package/dist/NavItem/NavItem.js.map +1 -1
  253. package/dist/NavItem/__tests__/NavItem.test.ts +6 -0
  254. package/dist/NotificationDot/NotificationDot.cjs +17 -2
  255. package/dist/NotificationDot/NotificationDot.cjs.map +1 -1
  256. package/dist/NotificationDot/NotificationDot.js +17 -2
  257. package/dist/NotificationDot/NotificationDot.js.map +1 -1
  258. package/dist/NotificationDot/__tests__/NotificationDot.test.tsx +33 -0
  259. package/dist/Paginator/Paginator.cjs +76 -29
  260. package/dist/Paginator/Paginator.cjs.map +1 -1
  261. package/dist/Paginator/Paginator.js +76 -29
  262. package/dist/Paginator/Paginator.js.map +1 -1
  263. package/dist/Paginator/__tests__/Paginator.test.tsx +39 -0
  264. package/dist/Panel/Panel.cjs +4 -1
  265. package/dist/Panel/Panel.cjs.map +1 -1
  266. package/dist/Panel/Panel.js +4 -1
  267. package/dist/Panel/Panel.js.map +1 -1
  268. package/dist/Popover/Popover.cjs +22 -3
  269. package/dist/Popover/Popover.cjs.map +1 -1
  270. package/dist/Popover/Popover.js +22 -3
  271. package/dist/Popover/Popover.js.map +1 -1
  272. package/dist/Popover/__tests__/Popover.test.tsx +64 -0
  273. package/dist/ProfileButton/ProfileButton.cjs +9 -2
  274. package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
  275. package/dist/ProfileButton/ProfileButton.js +9 -2
  276. package/dist/ProfileButton/ProfileButton.js.map +1 -1
  277. package/dist/ProfileButton/__tests__/ProfileButton.test.tsx +31 -0
  278. package/dist/QuizButton/__tests__/QuizButton.test.tsx +53 -0
  279. package/dist/SegmentControl/SegmentControl.cjs +46 -11
  280. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  281. package/dist/SegmentControl/SegmentControl.js +46 -11
  282. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  283. package/dist/SegmentControl/__tests__/SegmentControl.test.tsx +145 -0
  284. package/dist/SideMenu/SideMenuHeader.cjs +12 -3
  285. package/dist/SideMenu/SideMenuHeader.cjs.map +1 -1
  286. package/dist/SideMenu/SideMenuHeader.js +12 -3
  287. package/dist/SideMenu/SideMenuHeader.js.map +1 -1
  288. package/dist/SideMenu/__tests__/SideMenu.test.tsx +99 -0
  289. package/dist/Switcher/SwitcherMenuItem.cjs +4 -1
  290. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  291. package/dist/Switcher/SwitcherMenuItem.js +4 -1
  292. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  293. package/dist/Switcher/__tests__/SwitcherMenuItem.tsx +14 -0
  294. package/dist/Table/TableFooter.cjs +8 -2
  295. package/dist/Table/TableFooter.cjs.map +1 -1
  296. package/dist/Table/TableFooter.js +8 -2
  297. package/dist/Table/TableFooter.js.map +1 -1
  298. package/dist/Table/TableStyles.cjs +132 -33
  299. package/dist/Table/TableStyles.cjs.map +1 -1
  300. package/dist/Table/TableStyles.js +132 -33
  301. package/dist/Table/TableStyles.js.map +1 -1
  302. package/dist/Table/__tests__/Table.test.tsx +499 -0
  303. package/dist/Tabs/HorizontalTabs.cjs +68 -18
  304. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  305. package/dist/Tabs/HorizontalTabs.js +68 -18
  306. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  307. package/dist/Tabs/TabLink.cjs +4 -1
  308. package/dist/Tabs/TabLink.cjs.map +1 -1
  309. package/dist/Tabs/TabLink.js +4 -1
  310. package/dist/Tabs/TabLink.js.map +1 -1
  311. package/dist/Tabs/__tests__/HorizontalTabs.test.tsx +95 -0
  312. package/dist/Tabs/__tests__/TabLink.test.tsx +40 -0
  313. package/dist/Tabs/__tests__/TabLink.tests.d.ts +1 -0
  314. package/dist/Tabs/__tests__/Tablist.test.tsx +37 -0
  315. package/dist/Tabs/__tests__/Tablist.tests.d.ts +2 -0
  316. package/dist/Tag/Tag.cjs +2 -2
  317. package/dist/Tag/Tag.cjs.map +1 -1
  318. package/dist/Tag/Tag.js +2 -2
  319. package/dist/Tag/Tag.js.map +1 -1
  320. package/dist/Tag/__tests__/Tag.test.tsx +86 -0
  321. package/dist/Tile/Tile.cjs +8 -2
  322. package/dist/Tile/Tile.cjs.map +1 -1
  323. package/dist/Tile/Tile.js +8 -2
  324. package/dist/Tile/Tile.js.map +1 -1
  325. package/dist/Tile/TileCommonItems.cjs +8 -2
  326. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  327. package/dist/Tile/TileCommonItems.js +8 -2
  328. package/dist/Tile/TileCommonItems.js.map +1 -1
  329. package/dist/Tile/TileFooter.cjs +4 -1
  330. package/dist/Tile/TileFooter.cjs.map +1 -1
  331. package/dist/Tile/TileFooter.js +4 -1
  332. package/dist/Tile/TileFooter.js.map +1 -1
  333. package/dist/Tile/TileHeader.cjs +12 -3
  334. package/dist/Tile/TileHeader.cjs.map +1 -1
  335. package/dist/Tile/TileHeader.js +12 -3
  336. package/dist/Tile/TileHeader.js.map +1 -1
  337. package/dist/Toasters/Toast.cjs +62 -13
  338. package/dist/Toasters/Toast.cjs.map +1 -1
  339. package/dist/Toasters/Toast.js +62 -13
  340. package/dist/Toasters/Toast.js.map +1 -1
  341. package/dist/Toasters/__tests__/Toast.test.tsx +74 -0
  342. package/dist/Toggles/ToggleButton.cjs +9 -3
  343. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  344. package/dist/Toggles/ToggleButton.d.ts +1 -1
  345. package/dist/Toggles/ToggleButton.js +9 -3
  346. package/dist/Toggles/ToggleButton.js.map +1 -1
  347. package/dist/Toggles/TogglerStyles.cjs +22 -8
  348. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  349. package/dist/Toggles/TogglerStyles.js +22 -8
  350. package/dist/Toggles/TogglerStyles.js.map +1 -1
  351. package/dist/Toggles/__tests__/ToggleButton.test.tsx +53 -0
  352. package/dist/Toggles/__tests__/ToggleSwitch.test.tsx +87 -0
  353. package/dist/Tooltips/TooltipStyles.cjs +28 -6
  354. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  355. package/dist/Tooltips/TooltipStyles.js +28 -6
  356. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  357. package/dist/Tooltips/__tests__/TooltipWrapper.test.tsx +16 -0
  358. package/dist/common/InputStyling.cjs +30 -7
  359. package/dist/common/InputStyling.cjs.map +1 -1
  360. package/dist/common/InputStyling.js +30 -7
  361. package/dist/common/InputStyling.js.map +1 -1
  362. package/dist/common/Link.cjs +45 -0
  363. package/dist/common/Link.cjs.map +1 -0
  364. package/dist/common/Link.d.ts +9 -0
  365. package/dist/common/Link.js +37 -0
  366. package/dist/common/Link.js.map +1 -0
  367. package/dist/common/NavigationHelper.cjs +30 -0
  368. package/dist/common/NavigationHelper.cjs.map +1 -0
  369. package/dist/common/NavigationHelper.d.ts +4 -0
  370. package/dist/common/NavigationHelper.js +23 -0
  371. package/dist/common/NavigationHelper.js.map +1 -0
  372. package/dist/custom.d.ts +2 -0
  373. package/dist/styles/colors.cjs +439 -84
  374. package/dist/styles/colors.cjs.map +1 -1
  375. package/dist/styles/colors.d.ts +200 -11
  376. package/dist/styles/colors.js +439 -84
  377. package/dist/styles/colors.js.map +1 -1
  378. package/dist/styles/global.cjs +19 -2
  379. package/dist/styles/global.cjs.map +1 -1
  380. package/dist/styles/global.d.ts +3 -2
  381. package/dist/styles/global.js +18 -3
  382. package/dist/styles/global.js.map +1 -1
  383. package/dist/styles/index.cjs +21 -9
  384. package/dist/styles/index.cjs.map +1 -1
  385. package/dist/styles/index.d.ts +2 -2
  386. package/dist/styles/index.js +18 -6
  387. package/dist/styles/index.js.map +1 -1
  388. package/dist/styles/react-datepicker.css +766 -0
  389. package/dist/utils/color-tokens.cjs +91 -0
  390. package/dist/utils/color-tokens.cjs.map +1 -0
  391. package/dist/utils/color-tokens.d.ts +19 -0
  392. package/dist/utils/color-tokens.js +82 -0
  393. package/dist/utils/color-tokens.js.map +1 -0
  394. package/package.json +144 -141
@@ -42,22 +42,46 @@ const Loader = styled.div`
42
42
  }
43
43
 
44
44
  &.${ToastColor[ToastColor.BLUE]} {
45
- background: linear-gradient(to right, ${props => COLORS.getColor('accent1_200', props.theme)} 50%, ${props => COLORS.getColor('accent1_600', props.theme)} 50%) left;
45
+ background: linear-gradient(to right, ${props => COLORS.generateToken({
46
+ componentType: 'bg-surface',
47
+ defaultVariant: 'accent1'
48
+ }, props.theme)} 50%, ${props => COLORS.generateToken({
49
+ componentType: 'bg-fill',
50
+ defaultVariant: 'accent1'
51
+ }, props.theme)} 50%) left;
46
52
  background-size: 200% 100%;
47
53
  }
48
54
 
49
55
  &.${ToastColor[ToastColor.GREEN]} {
50
- background: linear-gradient(to right, ${props => COLORS.getColor('correct_200', props.theme)} 50%, ${props => COLORS.getColor('correct_500', props.theme)} 50%) left;
56
+ background: linear-gradient(to right, ${props => COLORS.generateToken({
57
+ componentType: 'bg-surface',
58
+ defaultVariant: 'positive'
59
+ }, props.theme)} 50%, ${props => COLORS.generateToken({
60
+ componentType: 'bg-fill',
61
+ defaultVariant: 'positive'
62
+ }, props.theme)} 50%) left;
51
63
  background-size: 200% 100%;
52
64
  }
53
65
 
54
66
  &.${ToastColor[ToastColor.ORANGE]} {
55
- background: linear-gradient(to right, ${props => COLORS.getColor('warning_200', props.theme)} 50%, ${props => COLORS.getColor('warning_500', props.theme)} 50%) left;
67
+ background: linear-gradient(to right, ${props => COLORS.generateToken({
68
+ componentType: 'bg-surface',
69
+ defaultVariant: 'warning'
70
+ }, props.theme)} 50%, ${props => COLORS.generateToken({
71
+ componentType: 'bg-fill',
72
+ defaultVariant: 'warning'
73
+ }, props.theme)} 50%) left;
56
74
  background-size: 200% 100%;
57
75
  }
58
76
 
59
77
  &.${ToastColor[ToastColor.RED]} {
60
- background: linear-gradient(to right, ${props => COLORS.getColor('critical_200', props.theme)} 50%, ${props => COLORS.getColor('critical_500', props.theme)} 50%) left;
78
+ background: linear-gradient(to right, ${props => COLORS.generateToken({
79
+ componentType: 'bg-surface',
80
+ defaultVariant: 'critical'
81
+ }, props.theme)} 50%, ${props => COLORS.generateToken({
82
+ componentType: 'bg-fill',
83
+ defaultVariant: 'critical'
84
+ }, props.theme)} 50%) left;
61
85
  background-size: 200% 100%;
62
86
  }
63
87
  `;
@@ -84,7 +108,10 @@ export const ToastContainer = styled.div`
84
108
  min-height: 48px;
85
109
  box-sizing: border-box;
86
110
 
87
- ${props => ComponentSStyling(ComponentTextStyle.Regular, COLORS.getColor('white', props.theme))}
111
+ ${props => ComponentSStyling(ComponentTextStyle.Regular, COLORS.generateToken({
112
+ componentType: 'bg-surface',
113
+ defaultVariant: 'default'
114
+ }, props.theme))}
88
115
 
89
116
  & a {
90
117
  display: inline;
@@ -105,19 +132,31 @@ export const ToastContainer = styled.div`
105
132
  }
106
133
 
107
134
  &.${ToastColor[ToastColor.BLUE]} {
108
- background-color: ${props => COLORS.getColor('accent1_600', props.theme)};
135
+ background-color: ${props => COLORS.generateToken({
136
+ componentType: 'bg-fill',
137
+ defaultVariant: 'accent1'
138
+ }, props.theme)};
109
139
  }
110
140
 
111
141
  &.${ToastColor[ToastColor.GREEN]} {
112
- background-color: ${props => COLORS.getColor('correct_500', props.theme)};
142
+ background-color: ${props => COLORS.generateToken({
143
+ componentType: 'bg-fill',
144
+ defaultVariant: 'positive'
145
+ }, props.theme)};
113
146
  }
114
147
 
115
148
  &.${ToastColor[ToastColor.ORANGE]} {
116
- background-color: ${props => COLORS.getColor('warning_500', props.theme)};
149
+ background-color: ${props => COLORS.generateToken({
150
+ componentType: 'bg-fill',
151
+ defaultVariant: 'warning'
152
+ }, props.theme)};
117
153
  }
118
154
 
119
155
  &.${ToastColor[ToastColor.RED]} {
120
- background-color: ${props => COLORS.getColor('critical_500', props.theme)};
156
+ background-color: ${props => COLORS.generateToken({
157
+ componentType: 'bg-fill',
158
+ defaultVariant: 'critical'
159
+ }, props.theme)};
121
160
  }
122
161
  `;
123
162
  export const ToastActionButtons = styled.div`
@@ -140,12 +179,19 @@ export const ToastCloseButton = styled.div`
140
179
  }
141
180
 
142
181
  button svg path{
143
- fill: ${props => COLORS.getColor('white', props.theme)} !important;
182
+ fill: ${props => COLORS.generateToken({
183
+ componentType: 'icon',
184
+ isOnFill: true,
185
+ defaultVariant: 'accent1'
186
+ }, props.theme)} !important;
144
187
  }
145
188
 
146
- &.${ToastColor[ToastColor.WHITE]} {
189
+ &.${ToastColor[ToastColor.WHITE]}, &.${ToastColor[ToastColor.ORANGE]} {
147
190
  button svg path {
148
- fill: ${props => COLORS.getColor('neutral_600', props.theme)} !important;
191
+ fill: ${props => COLORS.generateToken({
192
+ componentType: 'icon',
193
+ defaultVariant: 'subtle'
194
+ }, props.theme)} !important;
149
195
  }
150
196
  }
151
197
  `;
@@ -269,7 +315,10 @@ const Toast = _ref => {
269
315
  action: event => setShouldRemove(true),
270
316
  children: /*#__PURE__*/_jsx(SystemIcons.Close, {
271
317
  size: "24px",
272
- color: COLORS.getColor('neutral_600', styledTheme)
318
+ color: COLORS.generateToken({
319
+ componentType: 'icon',
320
+ defaultVariant: 'subtle'
321
+ }, styledTheme)
273
322
  })
274
323
  })
275
324
  }), !!opts.autoClose && /*#__PURE__*/_jsx(Loader, {
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.js","names":["React","styled","keyframes","useTheme","ToastActionType","ToastColor","ToastEntryDirection","ToastPosition","BOXSHADOWS","COLORS","Size","Button","IconButton","ComponentSStyling","ComponentTextStyle","HyperLinkDefaultStyling","HyperLinkInvertedStyling","SystemIcons","jsx","_jsx","jsxs","_jsxs","LoaderAnimationKeyframes","Loader","div","props","$duration","BLACK","getColor","theme","WHITE","BLUE","GREEN","ORANGE","RED","ToastContainer","BOXSHADOW_L2","animation","$keyframes","$bezier","$transform","$withClose","$withLoader","Regular","ToastActionButtons","ToastCloseButton","ToastTextContainer","span","ToastIconContainer","DEFAULT_OPTIONS","color","autoClose","delay","showCloseButton","position","TOPLEFT","enterFrom","TOP","Toast","_ref","content","remove","options","testId","Error","styledTheme","removeRef","useRef","current","elementRef","shouldRemove","setShouldRemove","useState","dimensions","setDimensions","width","height","opts","_objectSpread","useEffect","id","setTimeout","clearTimeout","undefined","clientHeight","clientWidth","animations","direction","fromY","fromHeight","toY","toHeight","fromX","fromWidth","toX","toWidth","prop","duration","bezier","focus","ref","className","tabIndex","children","icon","action","map","i","size","Small","variant","type","SECONDARY","colorTheme","invertFocus","onClick","handler","label","shape","useTransparentBackground","event","Close","propTypes","_pt","any","isRequired","bool","number","arrayOf","string","func","node","enter","BOTTOM","LEFT","RIGHT","leave"],"sources":["../../src/Toasters/Toast.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { keyframes, useTheme } from 'styled-components';\r\nimport { ToastActionType, ToastColor, ToastEntryDirection, ToastPosition } from '../types';\r\nimport { BOXSHADOWS, COLORS} from '../styles';\r\nimport { Size } from '../types'\r\nimport { Button, IconButton } from '../Button';\r\nimport { ComponentSStyling, ComponentTextStyle } from '../styles';\r\nimport {HyperLinkDefaultStyling, HyperLinkInvertedStyling} from '../HyperLink';\r\nimport { SystemIcons } from '../icons';\r\n\r\nconst LoaderAnimationKeyframes = keyframes`\r\n 0% {\r\n background-position: right;\r\n }\r\n 100% {\r\n background-position: left;\r\n }\r\n`;\r\n\r\nconst Loader = styled.div<{ $duration: number }>`\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 4px;\r\n border-bottom-left-radius: 8px;\r\n border-bottom-right-radius: 8px;\r\n\r\n animation: ${LoaderAnimationKeyframes} ${(props) => props.$duration}ms cubic-bezier(0.18, 0.39, 0.35, 1);\r\n\r\n &.${ToastColor[ToastColor.BLACK]} {\r\n background: linear-gradient(to right, ${props => COLORS.getColor('neutral_200', props.theme)} 50%, ${props => COLORS.getColor('neutral_800', props.theme)} 50%) left;\r\n background-size: 200% 100%;\r\n }\r\n\r\n &.${ToastColor[ToastColor.WHITE]} {\r\n background: linear-gradient(to right, ${props => COLORS.getColor('neutral_400', props.theme)} 50%, ${props => COLORS.getColor('white', props.theme)} 50%) left;\r\n background-size: 200% 100%;\r\n }\r\n\r\n &.${ToastColor[ToastColor.BLUE]} {\r\n background: linear-gradient(to right, ${props => COLORS.getColor('accent1_200', props.theme)} 50%, ${props => COLORS.getColor('accent1_600', props.theme)} 50%) left;\r\n background-size: 200% 100%;\r\n }\r\n\r\n &.${ToastColor[ToastColor.GREEN]} {\r\n background: linear-gradient(to right, ${props => COLORS.getColor('correct_200', props.theme)} 50%, ${props => COLORS.getColor('correct_500', props.theme)} 50%) left;\r\n background-size: 200% 100%;\r\n }\r\n\r\n &.${ToastColor[ToastColor.ORANGE]} {\r\n background: linear-gradient(to right, ${props => COLORS.getColor('warning_200', props.theme)} 50%, ${props => COLORS.getColor('warning_500', props.theme)} 50%) left;\r\n background-size: 200% 100%;\r\n }\r\n\r\n &.${ToastColor[ToastColor.RED]} {\r\n background: linear-gradient(to right, ${props => COLORS.getColor('critical_200', props.theme)} 50%, ${props => COLORS.getColor('critical_500', props.theme)} 50%) left;\r\n background-size: 200% 100%;\r\n }\r\n`;\r\n\r\nexport const ToastContainer = styled.div<{ animation: { $duration: string; $bezier: string; $transform: string; $keyframes: any }; $withLoader: boolean; $withClose: boolean }>`\r\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L2};\r\n border-radius: 4px;\r\n\r\n animation: ${(props) => props.animation.$keyframes} ${(props) => props.animation.$duration} ${(props) => props.animation.$bezier};\r\n transform: ${(props) => props.animation.$transform};\r\n\r\n transition: all 300ms cubic-bezier(0.64, 0.04, 0.35, 1);\r\n\r\n padding: 0 ${(props) => (props.$withClose ? '0' : '16px')} ${(props) => (props.$withLoader ? '4px' : '0')} 16px;\r\n\r\n margin-bottom: 8px;\r\n display: flex;\r\n align-items: center;\r\n gap: 16px;\r\n justify-content: left;\r\n\r\n position: relative;\r\n\r\n width: max-content;\r\n min-height: 48px;\r\n box-sizing: border-box;\r\n\r\n ${props => ComponentSStyling(ComponentTextStyle.Regular, COLORS.getColor('white', props.theme))}\r\n\r\n & a {\r\n display: inline;\r\n ${HyperLinkInvertedStyling}\r\n }\r\n\r\n &.${ToastColor[ToastColor.BLACK]} {\r\n background-color: ${props => COLORS.getColor('neutral_800', props.theme)};\r\n }\r\n\r\n &.${ToastColor[ToastColor.WHITE]} {\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n color: ${props => COLORS.getColor('black', props.theme)};\r\n\r\n & a {\r\n ${HyperLinkDefaultStyling}\r\n }\r\n }\r\n\r\n &.${ToastColor[ToastColor.BLUE]} {\r\n background-color: ${props => COLORS.getColor('accent1_600', props.theme)};\r\n }\r\n\r\n &.${ToastColor[ToastColor.GREEN]} {\r\n background-color: ${props => COLORS.getColor('correct_500', props.theme)};\r\n }\r\n\r\n &.${ToastColor[ToastColor.ORANGE]} {\r\n background-color: ${props => COLORS.getColor('warning_500', props.theme)};\r\n }\r\n\r\n &.${ToastColor[ToastColor.RED]} {\r\n background-color: ${props => COLORS.getColor('critical_500', props.theme)};\r\n }\r\n`;\r\n\r\nexport const ToastActionButtons = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n gap: 8px;\r\n align-items: center;\r\n\r\n & .action {\r\n height: unset;\r\n }\r\n`;\r\n\r\nexport const ToastCloseButton = styled.div`\r\n & > button {\r\n margin-left: 16px;\r\n\r\n & svg {\r\n padding: 0;\r\n }\r\n }\r\n\r\n button svg path{\r\n fill: ${props => COLORS.getColor('white', props.theme)} !important;\r\n }\r\n\r\n &.${ToastColor[ToastColor.WHITE]} {\r\n button svg path {\r\n fill: ${props => COLORS.getColor('neutral_600', props.theme)} !important;\r\n }\r\n }\r\n`;\r\n\r\nexport const ToastTextContainer = styled.span`\r\n font-feature-settings: 'liga' off;\r\n width: 240px;\r\n display: flex;\r\n padding: 16px 0;\r\n`;\r\n\r\nexport const ToastIconContainer = styled.span`\r\n margin-right: -8px;\r\n`;\r\n\r\nexport type ToastOptions = {\r\n /** Optional. Color of the toast. Defaults to 'BLACK' */\r\n color?: ToastColor;\r\n /** Optional. If set Toast will automatically close after delay. Defaults to 'true' */\r\n autoClose?: boolean;\r\n /** Optional. Delay after which toast will disappear in milliseconds. Defaults to '5000' */\r\n delay?: number;\r\n /** Optional. If set then Close button will be shown on the right side of the Toast. Defaults to 'false' */\r\n showCloseButton?: boolean;\r\n\r\n /** Optional. Custom action to be available in the Toast, will be shown on the right side of the Toast. */\r\n action?: {\r\n label: string;\r\n handler: () => void;\r\n type?: ToastActionType;\r\n }[];\r\n /** Required. Position on the screen at which Toast will be shown */\r\n position: ToastPosition;\r\n /** Optional. From which side of the screen appearance animation will start. Defaults to 'TOP' */\r\n enterFrom?: ToastEntryDirection;\r\n /** Optional. Icon that will be shown on the left side of the Toast */\r\n icon?: React.ReactNode;\r\n};\r\n\r\ntype Props = {\r\n remove?: any;\r\n content: any;\r\n options?: ToastOptions;\r\n testId?: string;\r\n};\r\n\r\nconst DEFAULT_OPTIONS: ToastOptions = {\r\n color: ToastColor.BLACK,\r\n autoClose: true,\r\n delay: 5000,\r\n showCloseButton: false,\r\n position: ToastPosition.TOPLEFT,\r\n enterFrom: ToastEntryDirection.TOP,\r\n};\r\n\r\nconst Toast = ({ content, remove, options = DEFAULT_OPTIONS, testId }: Props) => {\r\n\r\n \r\n\r\n if(!remove)\r\n throw new Error('remove function is required when rendering Toast. Make sure that you are using useToast hook and ToastProvider for rendering Toasts');\r\n\r\n const styledTheme = useTheme();\r\n\r\n const removeRef = React.useRef(null);\r\n removeRef.current = remove;\r\n\r\n const elementRef = React.useRef<any>(null);\r\n\r\n const [shouldRemove, setShouldRemove] = React.useState(false);\r\n const [dimensions, setDimensions] = React.useState<{ width: number; height: number }>({ width: 0, height: 0 });\r\n\r\n const opts = { ...DEFAULT_OPTIONS, ...options };\r\n\r\n React.useEffect(() => {\r\n if (opts?.autoClose) {\r\n // @ts-ignore\r\n const id = setTimeout(() => setShouldRemove(true), opts.delay);\r\n return () => clearTimeout(id);\r\n }\r\n return undefined;\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n if (shouldRemove) {\r\n // @ts-ignore\r\n const id = setTimeout(() => removeRef.current(), 200);\r\n return () => clearTimeout(id);\r\n }\r\n }, [shouldRemove]);\r\n\r\n React.useEffect(() => {\r\n setDimensions({ height: elementRef.current?.clientHeight, width: elementRef.current?.clientWidth });\r\n }, []);\r\n\r\n const animation = animations[shouldRemove ? 'leave' : 'enter'];\r\n const direction = animation[opts.enterFrom ?? ToastEntryDirection.TOP];\r\n\r\n const fromY = dimensions.height * direction.fromHeight;\r\n const toY = dimensions.height * direction.toHeight;\r\n const fromX = dimensions.width * direction.fromWidth;\r\n const toX = dimensions.width * direction.toWidth;\r\n\r\n let prop = {\r\n $duration: animation.duration,\r\n $bezier: animation.bezier,\r\n $transform: `translateY(${toY}) translateX(${toX})`,\r\n $keyframes: keyframes`\r\n 0% {\r\n transform: translateY(${fromY}px) translateX(${fromX}px);\r\n }\r\n 100% {\r\n transform: translateY(${toY}px) translateX(${toX}px);\r\n }`,\r\n };\r\n\r\n if (!dimensions.height) {\r\n prop = {\r\n ...prop,\r\n ...{\r\n $transform: 'translateY(-1000vh) translateX(-1000vw)',\r\n $keyframes: keyframes``,\r\n },\r\n };\r\n }\r\n\r\n const theme = ToastColor[opts.color ?? ToastColor.BLACK];\r\n\r\n if (!shouldRemove){\r\n setTimeout(() => elementRef?.current?.focus());\r\n }\r\n\r\n return (\r\n <ToastContainer data-testid={testId}\r\n animation={prop}\r\n ref={elementRef}\r\n $withLoader={!!opts.autoClose}\r\n className={theme}\r\n $withClose={!!opts.showCloseButton}\r\n tabIndex={-1}>\r\n {opts.icon && <ToastIconContainer>{opts.icon}</ToastIconContainer>}\r\n <ToastTextContainer className={'description'}>{content}</ToastTextContainer>\r\n {opts.action && (\r\n <ToastActionButtons>\r\n {opts.action.map((action, i) => (\r\n <Button\r\n size={Size.Small}\r\n variant={action.type === ToastActionType.SECONDARY ? 'secondary' : 'primary'}\r\n colorTheme={opts.color !== ToastColor.WHITE ? 'dark' : 'teal'}\r\n invertFocus={opts.color === ToastColor.BLACK}\r\n key={i}\r\n onClick={() => {\r\n setShouldRemove(true);\r\n action.handler();\r\n }}\r\n className={'action'}>\r\n {action.label}\r\n </Button>\r\n ))}\r\n </ToastActionButtons>\r\n )}\r\n {opts.showCloseButton && (\r\n <ToastCloseButton className={`close-button ${theme}`}>\r\n <IconButton variant={'secondary'}\r\n shape=\"circular\"\r\n useTransparentBackground={true}\r\n invertFocus={opts.color === ToastColor.BLACK}\r\n action={(event) => setShouldRemove(true)}>\r\n <SystemIcons.Close size=\"24px\" color={COLORS.getColor('neutral_600', styledTheme)} />\r\n </IconButton>\r\n </ToastCloseButton>\r\n )}\r\n {!!opts.autoClose && <Loader className={`loader ${theme}`} $duration={opts.delay ?? 0} />}\r\n </ToastContainer>\r\n );\r\n};\r\n\r\nexport default Toast;\r\n\r\nconst animations = {\r\n enter: {\r\n bezier: 'cubic-bezier(0.22, 0.61, 0.35, 1)',\r\n duration: '300ms',\r\n [ToastEntryDirection.TOP]: {\r\n fromHeight: -1,\r\n toHeight: 0,\r\n fromWidth: 0,\r\n toWidth: 0,\r\n },\r\n [ToastEntryDirection.BOTTOM]: {\r\n fromHeight: 1,\r\n toHeight: 0,\r\n fromWidth: 0,\r\n toWidth: 0,\r\n },\r\n [ToastEntryDirection.LEFT]: {\r\n fromHeight: 0,\r\n toHeight: 0,\r\n fromWidth: -1,\r\n toWidth: 0,\r\n },\r\n [ToastEntryDirection.RIGHT]: {\r\n fromHeight: 0,\r\n toHeight: 0,\r\n fromWidth: 1,\r\n toWidth: 0,\r\n },\r\n },\r\n leave: {\r\n bezier: 'cubic-bezier(0.5, 0.05, 0.67, 0.19)',\r\n duration: '205ms',\r\n [ToastEntryDirection.TOP]: {\r\n fromHeight: 0,\r\n toHeight: -1,\r\n fromWidth: 0,\r\n toWidth: 0,\r\n },\r\n [ToastEntryDirection.BOTTOM]: {\r\n fromHeight: 0,\r\n toHeight: 1,\r\n fromWidth: 0,\r\n toWidth: 0,\r\n },\r\n [ToastEntryDirection.LEFT]: {\r\n fromHeight: 0,\r\n toHeight: 0,\r\n fromWidth: 0,\r\n toWidth: -1,\r\n },\r\n [ToastEntryDirection.RIGHT]: {\r\n fromHeight: 0,\r\n toHeight: 0,\r\n fromWidth: 0,\r\n toWidth: 1,\r\n },\r\n },\r\n};\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Toast.js","names":["React","styled","keyframes","useTheme","ToastActionType","ToastColor","ToastEntryDirection","ToastPosition","BOXSHADOWS","COLORS","Size","Button","IconButton","ComponentSStyling","ComponentTextStyle","HyperLinkDefaultStyling","HyperLinkInvertedStyling","SystemIcons","jsx","_jsx","jsxs","_jsxs","LoaderAnimationKeyframes","Loader","div","props","$duration","BLACK","getColor","theme","WHITE","BLUE","generateToken","componentType","defaultVariant","GREEN","ORANGE","RED","ToastContainer","BOXSHADOW_L2","animation","$keyframes","$bezier","$transform","$withClose","$withLoader","Regular","ToastActionButtons","ToastCloseButton","isOnFill","ToastTextContainer","span","ToastIconContainer","DEFAULT_OPTIONS","color","autoClose","delay","showCloseButton","position","TOPLEFT","enterFrom","TOP","Toast","_ref","content","remove","options","testId","Error","styledTheme","removeRef","useRef","current","elementRef","shouldRemove","setShouldRemove","useState","dimensions","setDimensions","width","height","opts","_objectSpread","useEffect","id","setTimeout","clearTimeout","undefined","clientHeight","clientWidth","animations","direction","fromY","fromHeight","toY","toHeight","fromX","fromWidth","toX","toWidth","prop","duration","bezier","focus","ref","className","tabIndex","children","icon","action","map","i","size","Small","variant","type","SECONDARY","colorTheme","invertFocus","onClick","handler","label","shape","useTransparentBackground","event","Close","propTypes","_pt","any","isRequired","bool","number","arrayOf","string","func","node","enter","BOTTOM","LEFT","RIGHT","leave"],"sources":["../../src/Toasters/Toast.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { keyframes, useTheme } from 'styled-components';\r\nimport { ToastActionType, ToastColor, ToastEntryDirection, ToastPosition } from '../types';\r\nimport { BOXSHADOWS, COLORS} from '../styles';\r\nimport { Size } from '../types'\r\nimport { Button, IconButton } from '../Button';\r\nimport { ComponentSStyling, ComponentTextStyle } from '../styles';\r\nimport {HyperLinkDefaultStyling, HyperLinkInvertedStyling} from '../HyperLink';\r\nimport { SystemIcons } from '../icons';\r\n\r\nconst LoaderAnimationKeyframes = keyframes`\r\n 0% {\r\n background-position: right;\r\n }\r\n 100% {\r\n background-position: left;\r\n }\r\n`;\r\n\r\nconst Loader = styled.div<{ $duration: number }>`\r\n position: absolute;\r\n bottom: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 4px;\r\n border-bottom-left-radius: 8px;\r\n border-bottom-right-radius: 8px;\r\n\r\n animation: ${LoaderAnimationKeyframes} ${(props) => props.$duration}ms cubic-bezier(0.18, 0.39, 0.35, 1);\r\n\r\n &.${ToastColor[ToastColor.BLACK]} {\r\n background: linear-gradient(to right, ${props => COLORS.getColor('neutral_200', props.theme)} 50%, ${props => COLORS.getColor('neutral_800', props.theme)} 50%) left;\r\n background-size: 200% 100%;\r\n }\r\n\r\n &.${ToastColor[ToastColor.WHITE]} {\r\n background: linear-gradient(to right, ${props => COLORS.getColor('neutral_400', props.theme)} 50%, ${props => COLORS.getColor('white', props.theme)} 50%) left;\r\n background-size: 200% 100%;\r\n }\r\n\r\n &.${ToastColor[ToastColor.BLUE]} {\r\n background: linear-gradient(to right, ${props => COLORS.generateToken({componentType:'bg-surface', defaultVariant:'accent1'}, props.theme)} 50%, ${props => COLORS.generateToken({componentType:'bg-fill', defaultVariant:'accent1'}, props.theme)} 50%) left;\r\n background-size: 200% 100%;\r\n }\r\n\r\n &.${ToastColor[ToastColor.GREEN]} {\r\n background: linear-gradient(to right, ${props => COLORS.generateToken({componentType:'bg-surface', defaultVariant:'positive'}, props.theme)} 50%, ${props => COLORS.generateToken({componentType:'bg-fill', defaultVariant:'positive'}, props.theme)} 50%) left;\r\n background-size: 200% 100%;\r\n }\r\n\r\n &.${ToastColor[ToastColor.ORANGE]} {\r\n background: linear-gradient(to right, ${props => COLORS.generateToken({componentType:'bg-surface', defaultVariant:'warning'}, props.theme)} 50%, ${props => COLORS.generateToken({componentType:'bg-fill', defaultVariant:'warning'}, props.theme)} 50%) left;\r\n background-size: 200% 100%;\r\n }\r\n\r\n &.${ToastColor[ToastColor.RED]} {\r\n background: linear-gradient(to right, ${props => COLORS.generateToken({componentType:'bg-surface', defaultVariant:'critical'}, props.theme)} 50%, ${props => COLORS.generateToken({componentType:'bg-fill', defaultVariant:'critical'}, props.theme)} 50%) left;\r\n background-size: 200% 100%;\r\n }\r\n`;\r\n\r\nexport const ToastContainer = styled.div<{ animation: { $duration: string; $bezier: string; $transform: string; $keyframes: any }; $withLoader: boolean; $withClose: boolean }>`\r\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L2};\r\n border-radius: 4px;\r\n\r\n animation: ${(props) => props.animation.$keyframes} ${(props) => props.animation.$duration} ${(props) => props.animation.$bezier};\r\n transform: ${(props) => props.animation.$transform};\r\n\r\n transition: all 300ms cubic-bezier(0.64, 0.04, 0.35, 1);\r\n\r\n padding: 0 ${(props) => (props.$withClose ? '0' : '16px')} ${(props) => (props.$withLoader ? '4px' : '0')} 16px;\r\n\r\n margin-bottom: 8px;\r\n display: flex;\r\n align-items: center;\r\n gap: 16px;\r\n justify-content: left;\r\n\r\n position: relative;\r\n\r\n width: max-content;\r\n min-height: 48px;\r\n box-sizing: border-box;\r\n\r\n ${props => ComponentSStyling(ComponentTextStyle.Regular, COLORS.generateToken({componentType: 'bg-surface', defaultVariant: 'default'}, props.theme))}\r\n\r\n & a {\r\n display: inline;\r\n ${HyperLinkInvertedStyling}\r\n }\r\n\r\n &.${ToastColor[ToastColor.BLACK]} {\r\n background-color: ${props => COLORS.getColor('neutral_800', props.theme)};\r\n }\r\n\r\n &.${ToastColor[ToastColor.WHITE]} {\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n color: ${props => COLORS.getColor('black', props.theme)};\r\n\r\n & a {\r\n ${HyperLinkDefaultStyling}\r\n }\r\n }\r\n\r\n &.${ToastColor[ToastColor.BLUE]} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', defaultVariant: 'accent1' }, props.theme)};\r\n }\r\n\r\n &.${ToastColor[ToastColor.GREEN]} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', defaultVariant: 'positive' }, props.theme)};\r\n }\r\n\r\n &.${ToastColor[ToastColor.ORANGE]} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', defaultVariant: 'warning' }, props.theme)};\r\n }\r\n\r\n &.${ToastColor[ToastColor.RED]} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', defaultVariant: 'critical' }, props.theme)};\r\n }\r\n`;\r\n\r\nexport const ToastActionButtons = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n gap: 8px;\r\n align-items: center;\r\n\r\n & .action {\r\n height: unset;\r\n }\r\n`;\r\n\r\nexport const ToastCloseButton = styled.div`\r\n & > button {\r\n margin-left: 16px;\r\n\r\n & svg {\r\n padding: 0;\r\n }\r\n }\r\n\r\n button svg path{\r\n fill: ${props => COLORS.generateToken({ componentType: 'icon', isOnFill: true, defaultVariant: 'accent1' }, props.theme)} !important;\r\n }\r\n\r\n &.${ToastColor[ToastColor.WHITE]}, &.${ToastColor[ToastColor.ORANGE]} {\r\n button svg path {\r\n fill: ${props => COLORS.generateToken({componentType:'icon',defaultVariant:'subtle'}, props.theme)} !important;\r\n }\r\n }\r\n`;\r\n\r\nexport const ToastTextContainer = styled.span`\r\n font-feature-settings: 'liga' off;\r\n width: 240px;\r\n display: flex;\r\n padding: 16px 0;\r\n`;\r\n\r\nexport const ToastIconContainer = styled.span`\r\n margin-right: -8px;\r\n`;\r\n\r\nexport type ToastOptions = {\r\n /** Optional. Color of the toast. Defaults to 'BLACK' */\r\n color?: ToastColor;\r\n /** Optional. If set Toast will automatically close after delay. Defaults to 'true' */\r\n autoClose?: boolean;\r\n /** Optional. Delay after which toast will disappear in milliseconds. Defaults to '5000' */\r\n delay?: number;\r\n /** Optional. If set then Close button will be shown on the right side of the Toast. Defaults to 'false' */\r\n showCloseButton?: boolean;\r\n\r\n /** Optional. Custom action to be available in the Toast, will be shown on the right side of the Toast. */\r\n action?: {\r\n label: string;\r\n handler: () => void;\r\n type?: ToastActionType;\r\n }[];\r\n /** Required. Position on the screen at which Toast will be shown */\r\n position: ToastPosition;\r\n /** Optional. From which side of the screen appearance animation will start. Defaults to 'TOP' */\r\n enterFrom?: ToastEntryDirection;\r\n /** Optional. Icon that will be shown on the left side of the Toast */\r\n icon?: React.ReactNode;\r\n};\r\n\r\ntype Props = {\r\n remove?: any;\r\n content: any;\r\n options?: ToastOptions;\r\n testId?: string;\r\n};\r\n\r\nconst DEFAULT_OPTIONS: ToastOptions = {\r\n color: ToastColor.BLACK,\r\n autoClose: true,\r\n delay: 5000,\r\n showCloseButton: false,\r\n position: ToastPosition.TOPLEFT,\r\n enterFrom: ToastEntryDirection.TOP,\r\n};\r\n\r\nconst Toast = ({ content, remove, options = DEFAULT_OPTIONS, testId }: Props) => {\r\n\r\n \r\n\r\n if(!remove)\r\n throw new Error('remove function is required when rendering Toast. Make sure that you are using useToast hook and ToastProvider for rendering Toasts');\r\n\r\n const styledTheme = useTheme();\r\n\r\n const removeRef = React.useRef(null);\r\n removeRef.current = remove;\r\n\r\n const elementRef = React.useRef<any>(null);\r\n\r\n const [shouldRemove, setShouldRemove] = React.useState(false);\r\n const [dimensions, setDimensions] = React.useState<{ width: number; height: number }>({ width: 0, height: 0 });\r\n\r\n const opts = { ...DEFAULT_OPTIONS, ...options };\r\n\r\n React.useEffect(() => {\r\n if (opts?.autoClose) {\r\n // @ts-ignore\r\n const id = setTimeout(() => setShouldRemove(true), opts.delay);\r\n return () => clearTimeout(id);\r\n }\r\n return undefined;\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n if (shouldRemove) {\r\n // @ts-ignore\r\n const id = setTimeout(() => removeRef.current(), 200);\r\n return () => clearTimeout(id);\r\n }\r\n }, [shouldRemove]);\r\n\r\n React.useEffect(() => {\r\n setDimensions({ height: elementRef.current?.clientHeight, width: elementRef.current?.clientWidth });\r\n }, []);\r\n\r\n const animation = animations[shouldRemove ? 'leave' : 'enter'];\r\n const direction = animation[opts.enterFrom ?? ToastEntryDirection.TOP];\r\n\r\n const fromY = dimensions.height * direction.fromHeight;\r\n const toY = dimensions.height * direction.toHeight;\r\n const fromX = dimensions.width * direction.fromWidth;\r\n const toX = dimensions.width * direction.toWidth;\r\n\r\n let prop = {\r\n $duration: animation.duration,\r\n $bezier: animation.bezier,\r\n $transform: `translateY(${toY}) translateX(${toX})`,\r\n $keyframes: keyframes`\r\n 0% {\r\n transform: translateY(${fromY}px) translateX(${fromX}px);\r\n }\r\n 100% {\r\n transform: translateY(${toY}px) translateX(${toX}px);\r\n }`,\r\n };\r\n\r\n if (!dimensions.height) {\r\n prop = {\r\n ...prop,\r\n ...{\r\n $transform: 'translateY(-1000vh) translateX(-1000vw)',\r\n $keyframes: keyframes``,\r\n },\r\n };\r\n }\r\n\r\n const theme = ToastColor[opts.color ?? ToastColor.BLACK];\r\n\r\n if (!shouldRemove){\r\n setTimeout(() => elementRef?.current?.focus());\r\n }\r\n\r\n return (\r\n <ToastContainer data-testid={testId}\r\n animation={prop}\r\n ref={elementRef}\r\n $withLoader={!!opts.autoClose}\r\n className={theme}\r\n $withClose={!!opts.showCloseButton}\r\n tabIndex={-1}>\r\n {opts.icon && <ToastIconContainer>{opts.icon}</ToastIconContainer>}\r\n <ToastTextContainer className={'description'}>{content}</ToastTextContainer>\r\n {opts.action && (\r\n <ToastActionButtons>\r\n {opts.action.map((action, i) => (\r\n <Button\r\n size={Size.Small}\r\n variant={action.type === ToastActionType.SECONDARY ? 'secondary' : 'primary'}\r\n colorTheme={opts.color !== ToastColor.WHITE ? 'dark' : 'teal'}\r\n invertFocus={opts.color === ToastColor.BLACK}\r\n key={i}\r\n onClick={() => {\r\n setShouldRemove(true);\r\n action.handler();\r\n }}\r\n className={'action'}>\r\n {action.label}\r\n </Button>\r\n ))}\r\n </ToastActionButtons>\r\n )}\r\n {opts.showCloseButton && (\r\n <ToastCloseButton className={`close-button ${theme}`}>\r\n <IconButton variant={'secondary'}\r\n shape=\"circular\"\r\n useTransparentBackground={true}\r\n invertFocus={opts.color === ToastColor.BLACK}\r\n action={(event) => setShouldRemove(true)}>\r\n <SystemIcons.Close size=\"24px\" color={COLORS.generateToken({componentType:'icon',defaultVariant:'subtle'}, styledTheme)} />\r\n </IconButton>\r\n </ToastCloseButton>\r\n )}\r\n {!!opts.autoClose && <Loader className={`loader ${theme}`} $duration={opts.delay ?? 0} />}\r\n </ToastContainer>\r\n );\r\n};\r\n\r\nexport default Toast;\r\n\r\nconst animations = {\r\n enter: {\r\n bezier: 'cubic-bezier(0.22, 0.61, 0.35, 1)',\r\n duration: '300ms',\r\n [ToastEntryDirection.TOP]: {\r\n fromHeight: -1,\r\n toHeight: 0,\r\n fromWidth: 0,\r\n toWidth: 0,\r\n },\r\n [ToastEntryDirection.BOTTOM]: {\r\n fromHeight: 1,\r\n toHeight: 0,\r\n fromWidth: 0,\r\n toWidth: 0,\r\n },\r\n [ToastEntryDirection.LEFT]: {\r\n fromHeight: 0,\r\n toHeight: 0,\r\n fromWidth: -1,\r\n toWidth: 0,\r\n },\r\n [ToastEntryDirection.RIGHT]: {\r\n fromHeight: 0,\r\n toHeight: 0,\r\n fromWidth: 1,\r\n toWidth: 0,\r\n },\r\n },\r\n leave: {\r\n bezier: 'cubic-bezier(0.5, 0.05, 0.67, 0.19)',\r\n duration: '205ms',\r\n [ToastEntryDirection.TOP]: {\r\n fromHeight: 0,\r\n toHeight: -1,\r\n fromWidth: 0,\r\n toWidth: 0,\r\n },\r\n [ToastEntryDirection.BOTTOM]: {\r\n fromHeight: 0,\r\n toHeight: 1,\r\n fromWidth: 0,\r\n toWidth: 0,\r\n },\r\n [ToastEntryDirection.LEFT]: {\r\n fromHeight: 0,\r\n toHeight: 0,\r\n fromWidth: 0,\r\n toWidth: -1,\r\n },\r\n [ToastEntryDirection.RIGHT]: {\r\n fromHeight: 0,\r\n toHeight: 0,\r\n fromWidth: 0,\r\n toWidth: 1,\r\n },\r\n },\r\n};\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,74 @@
1
+ import React from 'react';
2
+ import { render } from '../../test-utils';
3
+ import { Toast } from '../index';
4
+ import 'jest-styled-components';
5
+ import { ToastColor, ToastPosition } from '../../types';
6
+
7
+
8
+
9
+ describe('<Toast />', () => {
10
+ it('Renders black toast', async () => {
11
+ const { queryByText, getByTestId } = render(
12
+ <Toast
13
+ key="a"
14
+ options={{
15
+ color: ToastColor.BLACK,
16
+ position: ToastPosition.TOPMIDDLE,
17
+ }}
18
+ remove={() => {}}
19
+ content="This is a warning"
20
+ testId="TestToast"
21
+ />,
22
+ );
23
+ expect(queryByText('This is a warning')).toBeDefined();
24
+ expect(getByTestId('TestToast').classList.contains('BLACK')).toBe(true);
25
+ });
26
+ it('Renders white toast', async () => {
27
+ const { queryByText, getByTestId } = render(
28
+ <Toast
29
+ key="a"
30
+ options={{
31
+ color: ToastColor.WHITE,
32
+ position: ToastPosition.TOPMIDDLE,
33
+ }}
34
+ remove={() => {}}
35
+ content="This is a warning"
36
+ testId="TestToast"
37
+ />,
38
+ );
39
+ expect(queryByText('This is a warning')).toBeDefined();
40
+ expect(getByTestId('TestToast').classList.contains('WHITE')).toBe(true);
41
+ });
42
+ it('Renders warning toast', async () => {
43
+ const { queryByText, getByTestId } = render(
44
+ <Toast
45
+ key="a"
46
+ options={{
47
+ color: ToastColor.ORANGE,
48
+ position: ToastPosition.TOPMIDDLE,
49
+ }}
50
+ remove={() => {}}
51
+ content="This is a warning"
52
+ testId="TestToast"
53
+ />,
54
+ );
55
+ expect(queryByText('This is a warning')).toBeDefined();
56
+ expect(getByTestId('TestToast').classList.contains('ORANGE')).toBe(true);
57
+ });
58
+ it('Renders error toast', async () => {
59
+ const { queryByText, getByTestId } = render(
60
+ <Toast
61
+ key="a"
62
+ options={{
63
+ color: ToastColor.RED,
64
+ position: ToastPosition.TOPMIDDLE,
65
+ }}
66
+ remove={() => {}}
67
+ content="This is a warning"
68
+ testId="TestToast"
69
+ />,
70
+ );
71
+ expect(queryByText('This is a warning')).toBeDefined();
72
+ expect(getByTestId('TestToast').classList.contains('RED')).toBe(true);
73
+ });
74
+ });
@@ -25,7 +25,7 @@ const Wrapper = _styledComponents.default.div`
25
25
  &.disabled,
26
26
  &.active:not(.state-change) {
27
27
  ${_Iconbutton.IconButtonContentStyles} {
28
- background: ${props => _styles.COLORS.getColor('white', props.theme)};
28
+ background: transparent;
29
29
  }
30
30
  }
31
31
 
@@ -35,7 +35,10 @@ const Wrapper = _styledComponents.default.div`
35
35
  position: absolute;
36
36
  left: 12px;
37
37
  bottom: 1px;
38
- background-color: ${props => _styles.COLORS.getColor('primary_500', props.theme)};
38
+ background-color: ${props => _styles.COLORS.generateToken({
39
+ componentType: 'border',
40
+ defaultVariant: 'selected'
41
+ }, props.theme)};
39
42
  border-radius: 4px;
40
43
  height: 4px;
41
44
  width: 24px;
@@ -44,7 +47,10 @@ const Wrapper = _styledComponents.default.div`
44
47
 
45
48
  &.disabled:not(.state-change) {
46
49
  ${_Iconbutton.IconButtonContentStyles}:after {
47
- background: ${props => _styles.COLORS.getColor('neutral_300', props.theme)};
50
+ background: ${props => _styles.COLORS.generateToken({
51
+ componentType: 'icon',
52
+ state: 'disabled'
53
+ }, props.theme)};
48
54
  }
49
55
  }
50
56
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleButton.cjs","names":["_react","_interopRequireDefault","require","_Button","_styledComponents","_Iconbutton","_styles","_jsxRuntime","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","Wrapper","styled","div","IconButtonContentStyles","props","COLORS","getColor","theme","ToggleButton","exports","React","forwardRef","_ref","ref","id","active","onChange","disabled","defaultState","activeState","className","rest","_objectWithoutProperties2","isActive","setIsActive","useState","useEffect","cls","jsx","children","IconButton","variant","useTransparentBackground","shape","action","iconColor","color","icon","propTypes","_propTypes","bool","isRequired","func","node","string","_default"],"sources":["../../src/Toggles/ToggleButton.tsx"],"sourcesContent":["import React from 'react';\r\nimport { IconButton } from '../Button';\r\nimport styled from 'styled-components';\r\nimport { IconButtonContentStyles } from '../Button/Iconbutton';\r\nimport { COLORS } from '../styles';\r\n\r\nconst Wrapper = styled.div`\r\n ${IconButtonContentStyles} {\r\n transition: all 0.1s ease-in-out;\r\n }\r\n\r\n &.disabled,\r\n &.active:not(.state-change) {\r\n ${IconButtonContentStyles} {\r\n background: ${props => COLORS.getColor('white', props.theme)};\r\n }\r\n }\r\n\r\n &.active:not(.state-change) {\r\n ${IconButtonContentStyles}:after {\r\n content: '';\r\n position: absolute;\r\n left: 12px;\r\n bottom: 1px;\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n border-radius: 4px;\r\n height: 4px;\r\n width: 24px;\r\n }\r\n }\r\n\r\n &.disabled:not(.state-change) {\r\n ${IconButtonContentStyles}:after {\r\n background: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n }\r\n`;\r\n\r\nexport interface ToggleButtonState {\r\n icon: React.ReactNode;\r\n color?: string;\r\n}\r\n\r\nexport interface ToggleButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onChange' | 'disabled' | 'onClick'> {\r\n /** Required. Initial state of the toggle. */\r\n active: boolean;\r\n /** Optional. Handler to be called when toggle state changes. */\r\n onChange?: (value: boolean) => void;\r\n /** Optional. If set user can not interact with ToggleButton. */\r\n disabled?: boolean;\r\n /** Required. Icon and color of toggle in default state. */\r\n defaultState: ToggleButtonState;\r\n /** Optional. Icon and color of toggle in active state. */\r\n activeState?: ToggleButtonState;\r\n}\r\n\r\nexport const ToggleButton = React.forwardRef(({\r\n id,\r\n active,\r\n onChange,\r\n disabled,\r\n defaultState,\r\n activeState,\r\n className,\r\n ...rest\r\n }: ToggleButtonProps, ref: React.Ref<HTMLButtonElement>) => {\r\n const [isActive, setIsActive] = React.useState(false);\r\n\r\n React.useEffect(() => setIsActive(active), [active]);\r\n\r\n const cls = `${className || ''} ${isActive ? 'active' : ''} ${activeState ? 'state-change' : ''} ${disabled ? 'disabled' : ''}`;\r\n\r\n return (\r\n <Wrapper className={cls}>\r\n <IconButton\r\n variant={'secondary'}\r\n ref={ref}\r\n useTransparentBackground={true}\r\n shape={'circular'}\r\n action={() => {\r\n setIsActive(!isActive);\r\n if (onChange) {\r\n onChange(!isActive);\r\n }\r\n }}\r\n id={id}\r\n iconColor={isActive ? activeState?.color ?? defaultState.color : defaultState.color}\r\n disabled={disabled}\r\n aria-pressed={isActive}\r\n {...rest}>\r\n {isActive ? activeState?.icon ?? defaultState.icon : defaultState.icon}\r\n </IconButton>\r\n </Wrapper>\r\n );\r\n});\r\n\r\nexport default ToggleButton;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ToggleButton.cjs","names":["_react","_interopRequireDefault","require","_Button","_styledComponents","_Iconbutton","_styles","_jsxRuntime","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","Wrapper","styled","div","IconButtonContentStyles","props","COLORS","generateToken","componentType","defaultVariant","theme","state","ToggleButton","exports","React","forwardRef","_ref","ref","id","active","onChange","disabled","defaultState","activeState","className","rest","_objectWithoutProperties2","isActive","setIsActive","useState","useEffect","cls","jsx","children","IconButton","variant","useTransparentBackground","shape","action","iconColor","color","icon","propTypes","_propTypes","bool","isRequired","func","node","string","_default"],"sources":["../../src/Toggles/ToggleButton.tsx"],"sourcesContent":["import React from 'react';\r\nimport { IconButton } from '../Button';\r\nimport styled from 'styled-components';\r\nimport { IconButtonContentStyles } from '../Button/Iconbutton';\r\nimport { COLORS } from '../styles';\r\n\r\nconst Wrapper = styled.div`\r\n ${IconButtonContentStyles} {\r\n transition: all 0.1s ease-in-out;\r\n }\r\n\r\n &.disabled,\r\n &.active:not(.state-change) {\r\n ${IconButtonContentStyles} {\r\n background: transparent;\r\n }\r\n }\r\n\r\n &.active:not(.state-change) {\r\n ${IconButtonContentStyles}:after {\r\n content: '';\r\n position: absolute;\r\n left: 12px;\r\n bottom: 1px;\r\n background-color: ${props => COLORS.generateToken({componentType: 'border', defaultVariant: 'selected'}, props.theme)};\r\n border-radius: 4px;\r\n height: 4px;\r\n width: 24px;\r\n }\r\n }\r\n\r\n &.disabled:not(.state-change) {\r\n ${IconButtonContentStyles}:after {\r\n background: ${props => COLORS.generateToken({componentType:'icon',state:'disabled'}, props.theme)};\r\n }\r\n }\r\n`;\r\n\r\nexport interface ToggleButtonState {\r\n icon: React.ReactNode;\r\n color?: string;\r\n}\r\n\r\nexport interface ToggleButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onChange' | 'disabled' | 'onClick'> {\r\n /** Required. Initial state of the toggle. */\r\n active: boolean;\r\n /** Optional. Handler to be called when toggle state changes. */\r\n onChange?: (value: boolean) => void;\r\n /** Optional. If set user can not interact with ToggleButton. */\r\n disabled?: boolean;\r\n /** Required. Icon and color of toggle in default state. */\r\n defaultState: ToggleButtonState;\r\n /** Optional. Icon and color of toggle in active state. If activeState is not provided then when state is changed component will show a small border under the button to highlight the state change. */\r\n activeState?: ToggleButtonState;\r\n}\r\n\r\nexport const ToggleButton = React.forwardRef(({\r\n id,\r\n active,\r\n onChange,\r\n disabled,\r\n defaultState,\r\n activeState,\r\n className,\r\n ...rest\r\n }: ToggleButtonProps, ref: React.Ref<HTMLButtonElement>) => {\r\n const [isActive, setIsActive] = React.useState(false);\r\n\r\n React.useEffect(() => setIsActive(active), [active]);\r\n\r\n const cls = `${className || ''} ${isActive ? 'active' : ''} ${activeState ? 'state-change' : ''} ${disabled ? 'disabled' : ''}`;\r\n\r\n return (\r\n <Wrapper className={cls}>\r\n <IconButton\r\n variant={'secondary'}\r\n ref={ref}\r\n useTransparentBackground={true}\r\n shape={'circular'}\r\n action={() => {\r\n setIsActive(!isActive);\r\n if (onChange) {\r\n onChange(!isActive);\r\n }\r\n }}\r\n id={id}\r\n iconColor={isActive ? activeState?.color ?? defaultState.color : defaultState.color}\r\n disabled={disabled}\r\n aria-pressed={isActive}\r\n {...rest}>\r\n {isActive ? activeState?.icon ?? defaultState.icon : defaultState.icon}\r\n </IconButton>\r\n </Wrapper>\r\n );\r\n});\r\n\r\nexport default ToggleButton;\r\n"],"mappings":"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","ignoreList":[]}
@@ -12,7 +12,7 @@ export interface ToggleButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLB
12
12
  disabled?: boolean;
13
13
  /** Required. Icon and color of toggle in default state. */
14
14
  defaultState: ToggleButtonState;
15
- /** Optional. Icon and color of toggle in active state. */
15
+ /** Optional. Icon and color of toggle in active state. If activeState is not provided then when state is changed component will show a small border under the button to highlight the state change. */
16
16
  activeState?: ToggleButtonState;
17
17
  }
18
18
  export declare const ToggleButton: React.ForwardRefExoticComponent<ToggleButtonProps & React.RefAttributes<HTMLButtonElement>>;
@@ -18,7 +18,7 @@ const Wrapper = styled.div`
18
18
  &.disabled,
19
19
  &.active:not(.state-change) {
20
20
  ${IconButtonContentStyles} {
21
- background: ${props => COLORS.getColor('white', props.theme)};
21
+ background: transparent;
22
22
  }
23
23
  }
24
24
 
@@ -28,7 +28,10 @@ const Wrapper = styled.div`
28
28
  position: absolute;
29
29
  left: 12px;
30
30
  bottom: 1px;
31
- background-color: ${props => COLORS.getColor('primary_500', props.theme)};
31
+ background-color: ${props => COLORS.generateToken({
32
+ componentType: 'border',
33
+ defaultVariant: 'selected'
34
+ }, props.theme)};
32
35
  border-radius: 4px;
33
36
  height: 4px;
34
37
  width: 24px;
@@ -37,7 +40,10 @@ const Wrapper = styled.div`
37
40
 
38
41
  &.disabled:not(.state-change) {
39
42
  ${IconButtonContentStyles}:after {
40
- background: ${props => COLORS.getColor('neutral_300', props.theme)};
43
+ background: ${props => COLORS.generateToken({
44
+ componentType: 'icon',
45
+ state: 'disabled'
46
+ }, props.theme)};
41
47
  }
42
48
  }
43
49
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleButton.js","names":["React","IconButton","styled","IconButtonContentStyles","COLORS","jsx","_jsx","Wrapper","div","props","getColor","theme","ToggleButton","forwardRef","_ref","ref","id","active","onChange","disabled","defaultState","activeState","className","rest","_objectWithoutProperties","_excluded","isActive","setIsActive","useState","useEffect","cls","children","_objectSpread","variant","useTransparentBackground","shape","action","iconColor","color","icon","propTypes","_pt","bool","isRequired","func","node","string"],"sources":["../../src/Toggles/ToggleButton.tsx"],"sourcesContent":["import React from 'react';\r\nimport { IconButton } from '../Button';\r\nimport styled from 'styled-components';\r\nimport { IconButtonContentStyles } from '../Button/Iconbutton';\r\nimport { COLORS } from '../styles';\r\n\r\nconst Wrapper = styled.div`\r\n ${IconButtonContentStyles} {\r\n transition: all 0.1s ease-in-out;\r\n }\r\n\r\n &.disabled,\r\n &.active:not(.state-change) {\r\n ${IconButtonContentStyles} {\r\n background: ${props => COLORS.getColor('white', props.theme)};\r\n }\r\n }\r\n\r\n &.active:not(.state-change) {\r\n ${IconButtonContentStyles}:after {\r\n content: '';\r\n position: absolute;\r\n left: 12px;\r\n bottom: 1px;\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n border-radius: 4px;\r\n height: 4px;\r\n width: 24px;\r\n }\r\n }\r\n\r\n &.disabled:not(.state-change) {\r\n ${IconButtonContentStyles}:after {\r\n background: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n }\r\n`;\r\n\r\nexport interface ToggleButtonState {\r\n icon: React.ReactNode;\r\n color?: string;\r\n}\r\n\r\nexport interface ToggleButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onChange' | 'disabled' | 'onClick'> {\r\n /** Required. Initial state of the toggle. */\r\n active: boolean;\r\n /** Optional. Handler to be called when toggle state changes. */\r\n onChange?: (value: boolean) => void;\r\n /** Optional. If set user can not interact with ToggleButton. */\r\n disabled?: boolean;\r\n /** Required. Icon and color of toggle in default state. */\r\n defaultState: ToggleButtonState;\r\n /** Optional. Icon and color of toggle in active state. */\r\n activeState?: ToggleButtonState;\r\n}\r\n\r\nexport const ToggleButton = React.forwardRef(({\r\n id,\r\n active,\r\n onChange,\r\n disabled,\r\n defaultState,\r\n activeState,\r\n className,\r\n ...rest\r\n }: ToggleButtonProps, ref: React.Ref<HTMLButtonElement>) => {\r\n const [isActive, setIsActive] = React.useState(false);\r\n\r\n React.useEffect(() => setIsActive(active), [active]);\r\n\r\n const cls = `${className || ''} ${isActive ? 'active' : ''} ${activeState ? 'state-change' : ''} ${disabled ? 'disabled' : ''}`;\r\n\r\n return (\r\n <Wrapper className={cls}>\r\n <IconButton\r\n variant={'secondary'}\r\n ref={ref}\r\n useTransparentBackground={true}\r\n shape={'circular'}\r\n action={() => {\r\n setIsActive(!isActive);\r\n if (onChange) {\r\n onChange(!isActive);\r\n }\r\n }}\r\n id={id}\r\n iconColor={isActive ? activeState?.color ?? defaultState.color : defaultState.color}\r\n disabled={disabled}\r\n aria-pressed={isActive}\r\n {...rest}>\r\n {isActive ? activeState?.icon ?? defaultState.icon : defaultState.icon}\r\n </IconButton>\r\n </Wrapper>\r\n );\r\n});\r\n\r\nexport default ToggleButton;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ToggleButton.js","names":["React","IconButton","styled","IconButtonContentStyles","COLORS","jsx","_jsx","Wrapper","div","props","generateToken","componentType","defaultVariant","theme","state","ToggleButton","forwardRef","_ref","ref","id","active","onChange","disabled","defaultState","activeState","className","rest","_objectWithoutProperties","_excluded","isActive","setIsActive","useState","useEffect","cls","children","_objectSpread","variant","useTransparentBackground","shape","action","iconColor","color","icon","propTypes","_pt","bool","isRequired","func","node","string"],"sources":["../../src/Toggles/ToggleButton.tsx"],"sourcesContent":["import React from 'react';\r\nimport { IconButton } from '../Button';\r\nimport styled from 'styled-components';\r\nimport { IconButtonContentStyles } from '../Button/Iconbutton';\r\nimport { COLORS } from '../styles';\r\n\r\nconst Wrapper = styled.div`\r\n ${IconButtonContentStyles} {\r\n transition: all 0.1s ease-in-out;\r\n }\r\n\r\n &.disabled,\r\n &.active:not(.state-change) {\r\n ${IconButtonContentStyles} {\r\n background: transparent;\r\n }\r\n }\r\n\r\n &.active:not(.state-change) {\r\n ${IconButtonContentStyles}:after {\r\n content: '';\r\n position: absolute;\r\n left: 12px;\r\n bottom: 1px;\r\n background-color: ${props => COLORS.generateToken({componentType: 'border', defaultVariant: 'selected'}, props.theme)};\r\n border-radius: 4px;\r\n height: 4px;\r\n width: 24px;\r\n }\r\n }\r\n\r\n &.disabled:not(.state-change) {\r\n ${IconButtonContentStyles}:after {\r\n background: ${props => COLORS.generateToken({componentType:'icon',state:'disabled'}, props.theme)};\r\n }\r\n }\r\n`;\r\n\r\nexport interface ToggleButtonState {\r\n icon: React.ReactNode;\r\n color?: string;\r\n}\r\n\r\nexport interface ToggleButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onChange' | 'disabled' | 'onClick'> {\r\n /** Required. Initial state of the toggle. */\r\n active: boolean;\r\n /** Optional. Handler to be called when toggle state changes. */\r\n onChange?: (value: boolean) => void;\r\n /** Optional. If set user can not interact with ToggleButton. */\r\n disabled?: boolean;\r\n /** Required. Icon and color of toggle in default state. */\r\n defaultState: ToggleButtonState;\r\n /** Optional. Icon and color of toggle in active state. If activeState is not provided then when state is changed component will show a small border under the button to highlight the state change. */\r\n activeState?: ToggleButtonState;\r\n}\r\n\r\nexport const ToggleButton = React.forwardRef(({\r\n id,\r\n active,\r\n onChange,\r\n disabled,\r\n defaultState,\r\n activeState,\r\n className,\r\n ...rest\r\n }: ToggleButtonProps, ref: React.Ref<HTMLButtonElement>) => {\r\n const [isActive, setIsActive] = React.useState(false);\r\n\r\n React.useEffect(() => setIsActive(active), [active]);\r\n\r\n const cls = `${className || ''} ${isActive ? 'active' : ''} ${activeState ? 'state-change' : ''} ${disabled ? 'disabled' : ''}`;\r\n\r\n return (\r\n <Wrapper className={cls}>\r\n <IconButton\r\n variant={'secondary'}\r\n ref={ref}\r\n useTransparentBackground={true}\r\n shape={'circular'}\r\n action={() => {\r\n setIsActive(!isActive);\r\n if (onChange) {\r\n onChange(!isActive);\r\n }\r\n }}\r\n id={id}\r\n iconColor={isActive ? activeState?.color ?? defaultState.color : defaultState.color}\r\n disabled={disabled}\r\n aria-pressed={isActive}\r\n {...rest}>\r\n {isActive ? activeState?.icon ?? defaultState.icon : defaultState.icon}\r\n </IconButton>\r\n </Wrapper>\r\n );\r\n});\r\n\r\nexport default ToggleButton;\r\n"],"mappings":"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","ignoreList":[]}
@@ -24,19 +24,27 @@ const StyledSwitch = exports.StyledSwitch = _styledComponents.default.div`
24
24
  min-width: 48px;
25
25
  align-items: center;
26
26
  cursor: pointer;
27
+ color: ${props => _styles.COLORS.generateToken({
28
+ componentType: 'text',
29
+ defaultVariant: 'default'
30
+ }, props.theme)};
27
31
  &.small {
28
- ${props => (0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Regular, _styles.COLORS.getColor('black', props.theme))}
32
+ ${props => (0, _typography.ComponentSStyling)(_typography.ComponentTextStyle.Regular, null)}
29
33
  }
30
34
 
31
35
  &.medium {
32
- ${props => (0, _typography.ComponentMStyling)(_typography.ComponentTextStyle.Regular, _styles.COLORS.getColor('black', props.theme))}
36
+ ${props => (0, _typography.ComponentMStyling)(_typography.ComponentTextStyle.Regular, null)}
33
37
  }
34
38
 
35
39
  &.large {
36
- ${props => (0, _typography.ComponentLStyling)(_typography.ComponentTextStyle.Regular, _styles.COLORS.getColor('black', props.theme))}
40
+ ${props => (0, _typography.ComponentLStyling)(_typography.ComponentTextStyle.Regular, null)}
37
41
  }
42
+
38
43
  &.disabled {
39
- color: ${props => _styles.COLORS.getColor('neutral_300', props.theme)};
44
+ color: ${props => _styles.COLORS.generateToken({
45
+ componentType: 'text',
46
+ state: 'disabled'
47
+ }, props.theme)};
40
48
 
41
49
  .label {
42
50
  cursor: not-allowed;
@@ -65,7 +73,7 @@ const StyledSwitch = exports.StyledSwitch = _styledComponents.default.div`
65
73
 
66
74
  &[aria-pressed='true']:hover span {
67
75
  &.semantic {
68
- background-color: ${props => _styles.COLORS.getColor('correct_500', props.theme)};
76
+ background-color: ${props => _styles.COLORS.getColor('positive_500', props.theme)};
69
77
  }
70
78
 
71
79
  &:before {
@@ -77,7 +85,7 @@ const StyledSwitch = exports.StyledSwitch = _styledComponents.default.div`
77
85
  background-color: ${props => _styles.COLORS.getColor('primary_500', props.theme)};
78
86
 
79
87
  &.semantic {
80
- background-color: ${props => _styles.COLORS.getColor('correct_500', props.theme)};
88
+ background-color: ${props => _styles.COLORS.getColor('positive_500', props.theme)};
81
89
  }
82
90
 
83
91
  &:before {
@@ -135,11 +143,17 @@ const ToggleSwitch = exports.ToggleSwitch = _styledComponents.default.span`
135
143
  bottom: 0;
136
144
  width: 36px;
137
145
  height: 16px;
138
- background-color: ${props => _styles.COLORS.getColor('neutral_500', props.theme)};
146
+ background-color: ${props => _styles.COLORS.generateToken({
147
+ componentType: 'bg-surface',
148
+ defaultVariant: 'subtle'
149
+ }, props.theme)};
139
150
  border-radius: 100px;
140
151
 
141
152
  &.semantic {
142
- background-color: ${props => _styles.COLORS.getColor('critical_500', props.theme)};
153
+ background-color: ${props => _styles.COLORS.generateToken({
154
+ componentType: 'bg-surface',
155
+ defaultVariant: 'subtle'
156
+ }, props.theme)};
143
157
  }
144
158
 
145
159
  &:before {
@@ -1 +1 @@
1
- {"version":3,"file":"TogglerStyles.cjs","names":["_styles","require","_styledComponents","_interopRequireDefault","_typography","StyledSwitch","exports","styled","div","props","ComponentSStyling","ComponentTextStyle","Regular","COLORS","getColor","theme","ComponentMStyling","ComponentLStyling","focusStyles","ToggleSwitchContainer","label","ToggleSwitch","span"],"sources":["../../src/Toggles/TogglerStyles.ts"],"sourcesContent":["/**\r\n * Import custom styles.\r\n */\r\nimport { COLORS, focusStyles } from '../styles';\r\n\r\n/**\r\n * Import third-party libraries.\r\n */\r\nimport styled, { css } from 'styled-components';\r\nimport { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles/typography';\r\n\r\nexport const StyledSwitch = styled.div<{ $selected: boolean | undefined }>`\r\n display: flex;\r\n flex-direction: row;\r\n width: max-content;\r\n min-height: 48px;\r\n min-width: 48px;\r\n align-items: center;\r\n cursor: pointer;\r\n &.small {\r\n ${props => ComponentSStyling(ComponentTextStyle.Regular, COLORS.getColor('black', props.theme))}\r\n }\r\n\r\n &.medium {\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.getColor('black', props.theme))}\r\n }\r\n\r\n &.large {\r\n ${props => ComponentLStyling(ComponentTextStyle.Regular, COLORS.getColor('black', props.theme))}\r\n }\r\n &.disabled {\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n\r\n .label {\r\n cursor: not-allowed;\r\n }\r\n }\r\n .label {\r\n cursor: inherit;\r\n margin-left: 8px;\r\n }\r\n\r\n &:not(.disabled):active label:first-of-type span {\r\n &:before {\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n }\r\n }\r\n\r\n &.disabled[aria-pressed='true'] label:first-of-type span {\r\n background-color: ${props => COLORS.getColor('neutral_300', props.theme)} !important;\r\n cursor: not-allowed;\r\n\r\n &:before {\r\n background-color: ${props => COLORS.getColor('neutral_200', props.theme)} !important;\r\n cursor: not-allowed;\r\n }\r\n }\r\n\r\n &[aria-pressed='true']:hover span {\r\n &.semantic {\r\n background-color: ${props => COLORS.getColor('correct_500', props.theme)};\r\n }\r\n\r\n &:before {\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n }\r\n\r\n &[aria-pressed='true'] label:first-of-type span {\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n\r\n &.semantic {\r\n background-color: ${props => COLORS.getColor('correct_500', props.theme)};\r\n }\r\n\r\n &:before {\r\n -webkit-transform: translateX(20px);\r\n -ms-transform: translateX(20px);\r\n transform: translateX(20px);\r\n }\r\n }\r\n\r\n &.disabled[aria-pressed='false'] label:first-of-type span {\r\n background-color: ${props => COLORS.getColor('neutral_300', props.theme)} !important;\r\n cursor: not-allowed;\r\n\r\n &:before {\r\n background-color: ${props => COLORS.getColor('neutral_100', props.theme)} !important;\r\n cursor: not-allowed;\r\n }\r\n }\r\n\r\n &[aria-pressed='false']:hover label:first-of-type span {\r\n &.semantic {\r\n background-color: ${props => COLORS.getColor('critical_500', props.theme)};\r\n }\r\n\r\n &:before {\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n }\r\n\r\n &:not(.disabled).focus-visible {\r\n ${focusStyles}\r\n }\r\n\r\n &:not(.disabled) label:first-of-type {\r\n cursor: inherit;\r\n }\r\n`;\r\n\r\nexport const ToggleSwitchContainer = styled.label`\r\n position: relative;\r\n align-items: center;\r\n display: inline-flex;\r\n height: 28px;\r\n width: auto;\r\n padding: 10px 6px;\r\n`;\r\n\r\nexport const ToggleSwitch = styled.span`\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n vertical-align: middle;\r\n cursor: pointer;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n width: 36px;\r\n height: 16px;\r\n background-color: ${props => COLORS.getColor('neutral_500', props.theme)};\r\n border-radius: 100px;\r\n\r\n &.semantic {\r\n background-color: ${props => COLORS.getColor('critical_500', props.theme)};\r\n }\r\n\r\n &:before {\r\n position: absolute;\r\n content: '';\r\n height: 12px;\r\n width: 12px;\r\n left: 2px;\r\n top: calc(50% - 6px);\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n -webkit-transition: background-color 0.1s, transform 0.1s;\r\n transition: 0.1s;\r\n transition-timing-function: ease-in-out;\r\n border-radius: 50%;\r\n }\r\n`;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"TogglerStyles.cjs","names":["_styles","require","_styledComponents","_interopRequireDefault","_typography","StyledSwitch","exports","styled","div","props","COLORS","generateToken","componentType","defaultVariant","theme","ComponentSStyling","ComponentTextStyle","Regular","ComponentMStyling","ComponentLStyling","state","getColor","focusStyles","ToggleSwitchContainer","label","ToggleSwitch","span"],"sources":["../../src/Toggles/TogglerStyles.ts"],"sourcesContent":["/**\r\n * Import custom styles.\r\n */\r\nimport { COLORS, focusStyles } from '../styles';\r\n\r\n/**\r\n * Import third-party libraries.\r\n */\r\nimport styled, { css } from 'styled-components';\r\nimport { ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle } from '../styles/typography';\r\n\r\nexport const StyledSwitch = styled.div<{ $selected: boolean | undefined }>`\r\n display: flex;\r\n flex-direction: row;\r\n width: max-content;\r\n min-height: 48px;\r\n min-width: 48px;\r\n align-items: center;\r\n cursor: pointer;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'default'}, props.theme)};\r\n &.small {\r\n ${props => ComponentSStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n &.medium {\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n &.large {\r\n ${props => ComponentLStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n &.disabled {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'disabled'}, props.theme)};\r\n\r\n .label {\r\n cursor: not-allowed;\r\n }\r\n }\r\n .label {\r\n cursor: inherit;\r\n margin-left: 8px;\r\n }\r\n\r\n &:not(.disabled):active label:first-of-type span {\r\n &:before {\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n }\r\n }\r\n\r\n &.disabled[aria-pressed='true'] label:first-of-type span {\r\n background-color: ${props => COLORS.getColor('neutral_300', props.theme)} !important;\r\n cursor: not-allowed;\r\n\r\n &:before {\r\n background-color: ${props => COLORS.getColor('neutral_200', props.theme)} !important;\r\n cursor: not-allowed;\r\n }\r\n }\r\n\r\n &[aria-pressed='true']:hover span {\r\n &.semantic {\r\n background-color: ${props => COLORS.getColor('positive_500', props.theme)};\r\n }\r\n\r\n &:before {\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n }\r\n\r\n &[aria-pressed='true'] label:first-of-type span {\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n\r\n &.semantic {\r\n background-color: ${props => COLORS.getColor('positive_500', props.theme)};\r\n }\r\n\r\n &:before {\r\n -webkit-transform: translateX(20px);\r\n -ms-transform: translateX(20px);\r\n transform: translateX(20px);\r\n }\r\n }\r\n\r\n &.disabled[aria-pressed='false'] label:first-of-type span {\r\n background-color: ${props => COLORS.getColor('neutral_300', props.theme)} !important;\r\n cursor: not-allowed;\r\n\r\n &:before {\r\n background-color: ${props => COLORS.getColor('neutral_100', props.theme)} !important;\r\n cursor: not-allowed;\r\n }\r\n }\r\n\r\n &[aria-pressed='false']:hover label:first-of-type span {\r\n &.semantic {\r\n background-color: ${props => COLORS.getColor('critical_500', props.theme)};\r\n }\r\n\r\n &:before {\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n }\r\n\r\n &:not(.disabled).focus-visible {\r\n ${focusStyles}\r\n }\r\n\r\n &:not(.disabled) label:first-of-type {\r\n cursor: inherit;\r\n }\r\n`;\r\n\r\nexport const ToggleSwitchContainer = styled.label`\r\n position: relative;\r\n align-items: center;\r\n display: inline-flex;\r\n height: 28px;\r\n width: auto;\r\n padding: 10px 6px;\r\n`;\r\n\r\nexport const ToggleSwitch = styled.span`\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n vertical-align: middle;\r\n cursor: pointer;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n width: 36px;\r\n height: 16px;\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'subtle' }, props.theme)};\r\n border-radius: 100px;\r\n\r\n &.semantic {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'subtle' }, props.theme)};\r\n }\r\n\r\n &:before {\r\n position: absolute;\r\n content: '';\r\n height: 12px;\r\n width: 12px;\r\n left: 2px;\r\n top: calc(50% - 6px);\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n -webkit-transition: background-color 0.1s, transform 0.1s;\r\n transition: 0.1s;\r\n transition-timing-function: ease-in-out;\r\n border-radius: 50%;\r\n }\r\n`;\r\n"],"mappings":"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","ignoreList":[]}