@laerdal/life-react-components 6.0.0-dev.2 → 6.0.0-dev.20.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 (421) 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 +28 -7
  67. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
  68. package/dist/Card/VerticalCard/CardBottomSection.js +28 -7
  69. package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
  70. package/dist/Card/VerticalCard/CardMiddleSection.cjs +19 -4
  71. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
  72. package/dist/Card/VerticalCard/CardMiddleSection.js +19 -4
  73. package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
  74. package/dist/Card/VerticalCard/CardTopSection.cjs +9 -2
  75. package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
  76. package/dist/Card/VerticalCard/CardTopSection.js +9 -2
  77. package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
  78. package/dist/Card/__tests__/Card.test.tsx +146 -0
  79. package/dist/Chips/ChipStyles.cjs +4 -1
  80. package/dist/Chips/ChipStyles.cjs.map +1 -1
  81. package/dist/Chips/ChipStyles.js +4 -1
  82. package/dist/Chips/ChipStyles.js.map +1 -1
  83. package/dist/Chips/__tests__/ActionChip.test.tsx +94 -0
  84. package/dist/Chips/__tests__/ChoiceChips.test.tsx +79 -0
  85. package/dist/Chips/__tests__/FilterChip.test.tsx +95 -0
  86. package/dist/Chips/__tests__/InputChip.test.tsx +155 -0
  87. package/dist/ChipsInput/ChipInputField.cjs +16 -4
  88. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  89. package/dist/ChipsInput/ChipInputField.js +16 -4
  90. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  91. package/dist/ChipsInput/__tests__/ChipDropdownInput.test.tsx +100 -0
  92. package/dist/ChipsInput/__tests__/ChipInputFields.test.tsx +155 -0
  93. package/dist/Dropdown/BasicDropdown.cjs +12 -3
  94. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  95. package/dist/Dropdown/BasicDropdown.js +12 -3
  96. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  97. package/dist/Dropdown/CommonStyling.cjs +172 -42
  98. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  99. package/dist/Dropdown/CommonStyling.js +172 -42
  100. package/dist/Dropdown/CommonStyling.js.map +1 -1
  101. package/dist/Dropdown/DropdownContent.cjs +36 -10
  102. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  103. package/dist/Dropdown/DropdownContent.js +36 -10
  104. package/dist/Dropdown/DropdownContent.js.map +1 -1
  105. package/dist/Dropdown/DropdownFilter.cjs +12 -3
  106. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  107. package/dist/Dropdown/DropdownFilter.js +12 -3
  108. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  109. package/dist/Dropdown/__tests__/DropdownFilter.test.tsx +39 -0
  110. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +4 -1
  111. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  112. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +4 -1
  113. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  114. package/dist/Footer/__tests__/Footer.test.tsx +182 -0
  115. package/dist/GlobalNavigationBar/Logo.cjs +2 -1
  116. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  117. package/dist/GlobalNavigationBar/Logo.js +2 -1
  118. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  119. package/dist/GlobalNavigationBar/__tests__/GlobalNavigationBar.tests.d.ts +1 -0
  120. package/dist/GlobalNavigationBar/__tests__/Logo.test.tsx +39 -0
  121. package/dist/GlobalNavigationBar/__tests__/Logo.tests.d.ts +1 -0
  122. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +10 -1
  123. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
  124. package/dist/GlobalNavigationBar/desktop/MainMenu.js +10 -1
  125. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
  126. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs +3 -2
  127. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -1
  128. package/dist/GlobalNavigationBar/desktop/RightSideNav.js +3 -2
  129. package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -1
  130. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +4 -1
  131. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  132. package/dist/GlobalNavigationBar/desktop/UserMenu.js +4 -1
  133. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  134. package/dist/GlobalNavigationBar/desktop/__tests__/DesktopActions.test.tsx +108 -0
  135. package/dist/GlobalNavigationBar/desktop/__tests__/ExtendedMainMenu.test.tsx +28 -0
  136. package/dist/GlobalNavigationBar/desktop/__tests__/MainMenu.test.tsx +55 -0
  137. package/dist/GlobalNavigationBar/desktop/__tests__/RightSideNav.test.tsx +45 -0
  138. package/dist/GlobalNavigationBar/desktop/__tests__/UserMenu.test.tsx +125 -0
  139. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  140. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  141. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenu.test.tsx +317 -0
  142. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuContent.test.tsx +294 -0
  143. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuHeader.test.tsx +195 -0
  144. package/dist/HyperLink/HyperLink.cjs +18 -2
  145. package/dist/HyperLink/HyperLink.cjs.map +1 -1
  146. package/dist/HyperLink/HyperLink.d.ts +2 -0
  147. package/dist/HyperLink/HyperLink.js +18 -2
  148. package/dist/HyperLink/HyperLink.js.map +1 -1
  149. package/dist/HyperLink/styling.cjs +38 -8
  150. package/dist/HyperLink/styling.cjs.map +1 -1
  151. package/dist/HyperLink/styling.js +38 -8
  152. package/dist/HyperLink/styling.js.map +1 -1
  153. package/dist/InputFields/Checkbox.cjs +54 -14
  154. package/dist/InputFields/Checkbox.cjs.map +1 -1
  155. package/dist/InputFields/Checkbox.js +54 -14
  156. package/dist/InputFields/Checkbox.js.map +1 -1
  157. package/dist/InputFields/DatepickerField.cjs +149 -43
  158. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  159. package/dist/InputFields/DatepickerField.d.ts +1 -1
  160. package/dist/InputFields/DatepickerField.js +150 -44
  161. package/dist/InputFields/DatepickerField.js.map +1 -1
  162. package/dist/InputFields/DatepickerFieldHeader.cjs +20 -5
  163. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
  164. package/dist/InputFields/DatepickerFieldHeader.js +20 -5
  165. package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
  166. package/dist/InputFields/Label.cjs +38 -11
  167. package/dist/InputFields/Label.cjs.map +1 -1
  168. package/dist/InputFields/Label.js +38 -11
  169. package/dist/InputFields/Label.js.map +1 -1
  170. package/dist/InputFields/NumberField.cjs +66 -16
  171. package/dist/InputFields/NumberField.cjs.map +1 -1
  172. package/dist/InputFields/NumberField.js +66 -16
  173. package/dist/InputFields/NumberField.js.map +1 -1
  174. package/dist/InputFields/PasswordField.cjs +4 -1
  175. package/dist/InputFields/PasswordField.cjs.map +1 -1
  176. package/dist/InputFields/PasswordField.d.ts +1 -1
  177. package/dist/InputFields/PasswordField.js +4 -1
  178. package/dist/InputFields/PasswordField.js.map +1 -1
  179. package/dist/InputFields/QuickSearch.cjs +30 -6
  180. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  181. package/dist/InputFields/QuickSearch.js +30 -6
  182. package/dist/InputFields/QuickSearch.js.map +1 -1
  183. package/dist/InputFields/RadioButton.cjs +63 -15
  184. package/dist/InputFields/RadioButton.cjs.map +1 -1
  185. package/dist/InputFields/RadioButton.js +63 -15
  186. package/dist/InputFields/RadioButton.js.map +1 -1
  187. package/dist/InputFields/RichTextField.cjs +60 -15
  188. package/dist/InputFields/RichTextField.cjs.map +1 -1
  189. package/dist/InputFields/RichTextField.js +60 -15
  190. package/dist/InputFields/RichTextField.js.map +1 -1
  191. package/dist/InputFields/SearchBar.cjs +4 -1
  192. package/dist/InputFields/SearchBar.cjs.map +1 -1
  193. package/dist/InputFields/SearchBar.js +4 -1
  194. package/dist/InputFields/SearchBar.js.map +1 -1
  195. package/dist/InputFields/TextField.cjs +9 -3
  196. package/dist/InputFields/TextField.cjs.map +1 -1
  197. package/dist/InputFields/TextField.d.ts +1 -1
  198. package/dist/InputFields/TextField.js +9 -3
  199. package/dist/InputFields/TextField.js.map +1 -1
  200. package/dist/InputFields/Textarea.cjs +68 -17
  201. package/dist/InputFields/Textarea.cjs.map +1 -1
  202. package/dist/InputFields/Textarea.js +68 -17
  203. package/dist/InputFields/Textarea.js.map +1 -1
  204. package/dist/InputFields/__tests__/NumberField.test.tsx +67 -0
  205. package/dist/InputFields/__tests__/NumberInput.test.tsx +68 -0
  206. package/dist/InputFields/__tests__/QuickSearch.test.tsx +42 -0
  207. package/dist/InputFields/components/SearchBarInput.cjs +28 -7
  208. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  209. package/dist/InputFields/components/SearchBarInput.js +28 -7
  210. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  211. package/dist/InputFields/components/SearchField.cjs +60 -15
  212. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  213. package/dist/InputFields/components/SearchField.js +60 -15
  214. package/dist/InputFields/components/SearchField.js.map +1 -1
  215. package/dist/InputFields/styling.cjs +95 -39
  216. package/dist/InputFields/styling.cjs.map +1 -1
  217. package/dist/InputFields/styling.d.ts +1 -2
  218. package/dist/InputFields/styling.js +95 -39
  219. package/dist/InputFields/styling.js.map +1 -1
  220. package/dist/LinearProgress/LinearProgress.cjs +161 -53
  221. package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
  222. package/dist/LinearProgress/LinearProgress.js +161 -53
  223. package/dist/LinearProgress/LinearProgress.js.map +1 -1
  224. package/dist/LinearProgress/__tests__/LinearProgress.test.tsx +25 -0
  225. package/dist/List/ListRow.cjs +36 -9
  226. package/dist/List/ListRow.cjs.map +1 -1
  227. package/dist/List/ListRow.js +36 -9
  228. package/dist/List/ListRow.js.map +1 -1
  229. package/dist/List/__tests__/ListRow.test.tsx +18 -0
  230. package/dist/List/__tests__/ListRow.tests.d.ts +1 -0
  231. package/dist/LoadingIndicator/LoadingIndicator.cjs +4 -1
  232. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
  233. package/dist/LoadingIndicator/LoadingIndicator.js +4 -1
  234. package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
  235. package/dist/LoadingPage/GlobalLoadingPage.cjs +4 -1
  236. package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -1
  237. package/dist/LoadingPage/GlobalLoadingPage.js +4 -1
  238. package/dist/LoadingPage/GlobalLoadingPage.js.map +1 -1
  239. package/dist/LoadingPage/__tests__/GlobalLoadingPage.test.tsx +23 -0
  240. package/dist/MenuItem/MenuItem.cjs +101 -26
  241. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  242. package/dist/MenuItem/MenuItem.js +101 -26
  243. package/dist/MenuItem/MenuItem.js.map +1 -1
  244. package/dist/MiniProductCard/MiniProductCard.cjs +15 -1
  245. package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -1
  246. package/dist/MiniProductCard/MiniProductCard.d.ts +1 -0
  247. package/dist/MiniProductCard/MiniProductCard.js +15 -1
  248. package/dist/MiniProductCard/MiniProductCard.js.map +1 -1
  249. package/dist/Modals/Modal.cjs +4 -1
  250. package/dist/Modals/Modal.cjs.map +1 -1
  251. package/dist/Modals/Modal.js +4 -1
  252. package/dist/Modals/Modal.js.map +1 -1
  253. package/dist/Modals/ModalContent.cjs +24 -6
  254. package/dist/Modals/ModalContent.cjs.map +1 -1
  255. package/dist/Modals/ModalContent.js +24 -6
  256. package/dist/Modals/ModalContent.js.map +1 -1
  257. package/dist/Modals/ModalDialog.cjs +12 -3
  258. package/dist/Modals/ModalDialog.cjs.map +1 -1
  259. package/dist/Modals/ModalDialog.js +12 -3
  260. package/dist/Modals/ModalDialog.js.map +1 -1
  261. package/dist/Modals/ModalNote.cjs +16 -4
  262. package/dist/Modals/ModalNote.cjs.map +1 -1
  263. package/dist/Modals/ModalNote.js +16 -4
  264. package/dist/Modals/ModalNote.js.map +1 -1
  265. package/dist/Modals/ModalStyles.cjs +44 -11
  266. package/dist/Modals/ModalStyles.cjs.map +1 -1
  267. package/dist/Modals/ModalStyles.js +44 -11
  268. package/dist/Modals/ModalStyles.js.map +1 -1
  269. package/dist/Modals/__tests__/Modal.test.tsx +169 -0
  270. package/dist/Modals/__tests__/ModalContainer.test.tsx +77 -0
  271. package/dist/Modals/__tests__/ModalContent.test.tsx +126 -0
  272. package/dist/NavItem/NavItem.cjs +11 -2
  273. package/dist/NavItem/NavItem.cjs.map +1 -1
  274. package/dist/NavItem/NavItem.js +11 -2
  275. package/dist/NavItem/NavItem.js.map +1 -1
  276. package/dist/NavItem/__tests__/NavItem.test.ts +6 -0
  277. package/dist/NotificationDot/NotificationDot.cjs +17 -2
  278. package/dist/NotificationDot/NotificationDot.cjs.map +1 -1
  279. package/dist/NotificationDot/NotificationDot.js +17 -2
  280. package/dist/NotificationDot/NotificationDot.js.map +1 -1
  281. package/dist/NotificationDot/__tests__/NotificationDot.test.tsx +33 -0
  282. package/dist/Paginator/Paginator.cjs +76 -29
  283. package/dist/Paginator/Paginator.cjs.map +1 -1
  284. package/dist/Paginator/Paginator.js +76 -29
  285. package/dist/Paginator/Paginator.js.map +1 -1
  286. package/dist/Paginator/__tests__/Paginator.test.tsx +39 -0
  287. package/dist/Panel/Panel.cjs +4 -1
  288. package/dist/Panel/Panel.cjs.map +1 -1
  289. package/dist/Panel/Panel.js +4 -1
  290. package/dist/Panel/Panel.js.map +1 -1
  291. package/dist/Popover/Popover.cjs +22 -3
  292. package/dist/Popover/Popover.cjs.map +1 -1
  293. package/dist/Popover/Popover.js +22 -3
  294. package/dist/Popover/Popover.js.map +1 -1
  295. package/dist/Popover/__tests__/Popover.test.tsx +64 -0
  296. package/dist/ProfileButton/ProfileButton.cjs +9 -2
  297. package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
  298. package/dist/ProfileButton/ProfileButton.js +9 -2
  299. package/dist/ProfileButton/ProfileButton.js.map +1 -1
  300. package/dist/ProfileButton/__tests__/ProfileButton.test.tsx +31 -0
  301. package/dist/QuizButton/__tests__/QuizButton.test.tsx +53 -0
  302. package/dist/SegmentControl/SegmentControl.cjs +46 -11
  303. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  304. package/dist/SegmentControl/SegmentControl.js +46 -11
  305. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  306. package/dist/SegmentControl/__tests__/SegmentControl.test.tsx +145 -0
  307. package/dist/SideMenu/SideMenuHeader.cjs +12 -3
  308. package/dist/SideMenu/SideMenuHeader.cjs.map +1 -1
  309. package/dist/SideMenu/SideMenuHeader.js +12 -3
  310. package/dist/SideMenu/SideMenuHeader.js.map +1 -1
  311. package/dist/SideMenu/__tests__/SideMenu.test.tsx +99 -0
  312. package/dist/Switcher/SwitcherMenuItem.cjs +4 -1
  313. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  314. package/dist/Switcher/SwitcherMenuItem.js +4 -1
  315. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  316. package/dist/Switcher/__tests__/SwitcherMenuItem.tsx +14 -0
  317. package/dist/Table/TableFooter.cjs +8 -2
  318. package/dist/Table/TableFooter.cjs.map +1 -1
  319. package/dist/Table/TableFooter.js +8 -2
  320. package/dist/Table/TableFooter.js.map +1 -1
  321. package/dist/Table/TableStyles.cjs +132 -33
  322. package/dist/Table/TableStyles.cjs.map +1 -1
  323. package/dist/Table/TableStyles.js +132 -33
  324. package/dist/Table/TableStyles.js.map +1 -1
  325. package/dist/Table/__tests__/Table.test.tsx +499 -0
  326. package/dist/Tabs/HorizontalTabs.cjs +68 -18
  327. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  328. package/dist/Tabs/HorizontalTabs.js +68 -18
  329. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  330. package/dist/Tabs/TabLink.cjs +4 -1
  331. package/dist/Tabs/TabLink.cjs.map +1 -1
  332. package/dist/Tabs/TabLink.js +4 -1
  333. package/dist/Tabs/TabLink.js.map +1 -1
  334. package/dist/Tabs/VerticalTabs.cjs +1 -0
  335. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  336. package/dist/Tabs/VerticalTabs.js +1 -0
  337. package/dist/Tabs/VerticalTabs.js.map +1 -1
  338. package/dist/Tabs/__tests__/HorizontalTabs.test.tsx +95 -0
  339. package/dist/Tabs/__tests__/TabLink.test.tsx +40 -0
  340. package/dist/Tabs/__tests__/TabLink.tests.d.ts +1 -0
  341. package/dist/Tabs/__tests__/Tablist.test.tsx +37 -0
  342. package/dist/Tabs/__tests__/Tablist.tests.d.ts +2 -0
  343. package/dist/Tag/Tag.cjs +2 -2
  344. package/dist/Tag/Tag.cjs.map +1 -1
  345. package/dist/Tag/Tag.js +2 -2
  346. package/dist/Tag/Tag.js.map +1 -1
  347. package/dist/Tag/__tests__/Tag.test.tsx +86 -0
  348. package/dist/Tile/Tile.cjs +8 -2
  349. package/dist/Tile/Tile.cjs.map +1 -1
  350. package/dist/Tile/Tile.js +8 -2
  351. package/dist/Tile/Tile.js.map +1 -1
  352. package/dist/Tile/TileCommonItems.cjs +8 -2
  353. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  354. package/dist/Tile/TileCommonItems.js +8 -2
  355. package/dist/Tile/TileCommonItems.js.map +1 -1
  356. package/dist/Tile/TileFooter.cjs +4 -1
  357. package/dist/Tile/TileFooter.cjs.map +1 -1
  358. package/dist/Tile/TileFooter.js +4 -1
  359. package/dist/Tile/TileFooter.js.map +1 -1
  360. package/dist/Tile/TileHeader.cjs +12 -3
  361. package/dist/Tile/TileHeader.cjs.map +1 -1
  362. package/dist/Tile/TileHeader.js +12 -3
  363. package/dist/Tile/TileHeader.js.map +1 -1
  364. package/dist/Toasters/Toast.cjs +62 -13
  365. package/dist/Toasters/Toast.cjs.map +1 -1
  366. package/dist/Toasters/Toast.js +62 -13
  367. package/dist/Toasters/Toast.js.map +1 -1
  368. package/dist/Toasters/__tests__/Toast.test.tsx +74 -0
  369. package/dist/Toggles/ToggleButton.cjs +9 -3
  370. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  371. package/dist/Toggles/ToggleButton.d.ts +1 -1
  372. package/dist/Toggles/ToggleButton.js +9 -3
  373. package/dist/Toggles/ToggleButton.js.map +1 -1
  374. package/dist/Toggles/TogglerStyles.cjs +22 -8
  375. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  376. package/dist/Toggles/TogglerStyles.js +22 -8
  377. package/dist/Toggles/TogglerStyles.js.map +1 -1
  378. package/dist/Toggles/__tests__/ToggleButton.test.tsx +53 -0
  379. package/dist/Toggles/__tests__/ToggleSwitch.test.tsx +87 -0
  380. package/dist/Tooltips/TooltipStyles.cjs +28 -6
  381. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  382. package/dist/Tooltips/TooltipStyles.js +28 -6
  383. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  384. package/dist/Tooltips/__tests__/TooltipWrapper.test.tsx +16 -0
  385. package/dist/common/InputStyling.cjs +30 -7
  386. package/dist/common/InputStyling.cjs.map +1 -1
  387. package/dist/common/InputStyling.js +30 -7
  388. package/dist/common/InputStyling.js.map +1 -1
  389. package/dist/common/Link.cjs +45 -0
  390. package/dist/common/Link.cjs.map +1 -0
  391. package/dist/common/Link.d.ts +9 -0
  392. package/dist/common/Link.js +37 -0
  393. package/dist/common/Link.js.map +1 -0
  394. package/dist/common/NavigationHelper.cjs +30 -0
  395. package/dist/common/NavigationHelper.cjs.map +1 -0
  396. package/dist/common/NavigationHelper.d.ts +4 -0
  397. package/dist/common/NavigationHelper.js +23 -0
  398. package/dist/common/NavigationHelper.js.map +1 -0
  399. package/dist/custom.d.ts +2 -0
  400. package/dist/styles/colors.cjs +439 -84
  401. package/dist/styles/colors.cjs.map +1 -1
  402. package/dist/styles/colors.d.ts +200 -11
  403. package/dist/styles/colors.js +439 -84
  404. package/dist/styles/colors.js.map +1 -1
  405. package/dist/styles/global.cjs +19 -2
  406. package/dist/styles/global.cjs.map +1 -1
  407. package/dist/styles/global.d.ts +3 -2
  408. package/dist/styles/global.js +18 -3
  409. package/dist/styles/global.js.map +1 -1
  410. package/dist/styles/index.cjs +21 -9
  411. package/dist/styles/index.cjs.map +1 -1
  412. package/dist/styles/index.d.ts +2 -2
  413. package/dist/styles/index.js +18 -6
  414. package/dist/styles/index.js.map +1 -1
  415. package/dist/styles/react-datepicker.css +766 -0
  416. package/dist/utils/color-tokens.cjs +91 -0
  417. package/dist/utils/color-tokens.cjs.map +1 -0
  418. package/dist/utils/color-tokens.d.ts +19 -0
  419. package/dist/utils/color-tokens.js +82 -0
  420. package/dist/utils/color-tokens.js.map +1 -0
  421. package/package.json +12 -5
@@ -0,0 +1,53 @@
1
+ import React from 'react';
2
+ import { render } from '../../test-utils';
3
+ import 'jest-styled-components';
4
+ import { QuizButton } from '..';
5
+ import { Size } from '../../types';
6
+ import COLORS from '../../styles/colors';
7
+ import '@testing-library/jest-dom';
8
+
9
+
10
+ describe('<QuizButton />',()=>{
11
+ it('renders correct quiz button', async () => {
12
+ const{getByText, getByTestId} = render(
13
+ <QuizButton size={Size.Small} resultType={'correct'} text={'this is sample text'} type={'radio'} id={'1'}/>
14
+ );
15
+ expect(getByTestId('txtContainer')).toHaveTextContent('this is sample text');
16
+ expect(getByTestId('txtContainer')).toHaveClass('quiz-button-text');
17
+ expect(getByTestId('btnContainer')).toHaveClass('quiz-button-icon');
18
+ });
19
+
20
+ it('renders incorrect quiz button', async () => {
21
+ const{getByText, getByTestId} = render(
22
+ <QuizButton size={Size.Small} resultType={'incorrect'} text={'this is sample text'} type={'checkbox'} id={'1'}/>
23
+ );
24
+ expect(getByTestId('txtContainer')).toHaveTextContent('this is sample text');
25
+ expect(getByTestId('txtContainer')).toHaveClass('quiz-button-text');
26
+ expect(getByTestId('btnContainer')).toHaveClass('quiz-button-icon');
27
+ });
28
+
29
+ it('renders partial quiz button', async () => {
30
+ const{getByText, getByTestId} = render(
31
+ <QuizButton size={Size.Small} resultType={'partial'} text={'this is sample text'} type={'radio'} id={'1'}/>
32
+ );
33
+ expect(getByTestId('txtContainer')).toHaveTextContent('this is sample text');
34
+ expect(getByTestId('txtContainer')).toHaveClass('quiz-button-text');
35
+ expect(getByTestId('btnContainer')).toHaveClass('quiz-button-icon');
36
+ });
37
+
38
+ it('renders quiz button', async () => {
39
+ const{getByText, getByTestId} = render(
40
+ <QuizButton size={Size.Small} text={'this is sample text'} type={'checkbox'} id={'1'}/>
41
+ );
42
+ expect(getByText('this is sample text')).toHaveTextContent('this is sample text');
43
+ expect(getByTestId('txtContainer')).toHaveStyleRule('background',COLORS.accent1_20);
44
+ expect(getByTestId('btnContainer')).toHaveStyleRule('background',COLORS.accent1_100);
45
+ });
46
+
47
+ it('renders selected quiz button', async () => {
48
+ const{getByText} = render(
49
+ <QuizButton size={Size.Small} text={'this is sample text'} selected={true} type={'radio'} id={'1'}/>
50
+ );
51
+ expect(getByText('this is sample text')).toHaveTextContent('this is sample text');
52
+ });
53
+ });
@@ -27,14 +27,20 @@ const SegmentControlItemContent = exports.SegmentControlItemContent = _styledCom
27
27
  padding: 0 16px;
28
28
 
29
29
  background-color: transparent;
30
- color: ${props => _styles.COLORS.getColor('neutral_600', props.theme)};
30
+ color: ${props => _styles.COLORS.generateToken({
31
+ componentType: 'text',
32
+ defaultVariant: 'subtle'
33
+ }, props.theme)};
31
34
  `;
32
35
  const SegmentControlItemBackground = exports.SegmentControlItemBackground = _styledComponents.default.div`
33
36
  flex: 1;
34
37
  display: flex;
35
38
  flex-direction: row;
36
39
  align-items: center;
37
- background-color: ${props => _styles.COLORS.getColor('neutral_20', props.theme)};
40
+ background-color: ${props => _styles.COLORS.generateToken({
41
+ componentType: 'bg-surface',
42
+ defaultVariant: 'subtle'
43
+ }, props.theme)};
38
44
  padding: 4px 0px;
39
45
  `;
40
46
  const SegmentControlItemWrapper = exports.SegmentControlItemWrapper = _styledComponents.default.div`
@@ -54,8 +60,14 @@ const SegmentControlItemWrapper = exports.SegmentControlItemWrapper = _styledCom
54
60
  z-index: ${_styles.Z_INDEXES.hover};
55
61
 
56
62
  ${SegmentControlItemContent} {
57
- background-color: ${props => _styles.COLORS.getColor('primary_100', props.theme)};
58
- color: ${props => _styles.COLORS.getColor('primary_700', props.theme)};
63
+ background-color: ${props => _styles.COLORS.generateToken({
64
+ componentType: 'bg-surface',
65
+ state: 'hover'
66
+ }, props.theme)};
67
+ color: ${props => _styles.COLORS.generateToken({
68
+ componentType: 'text',
69
+ state: 'hover'
70
+ }, props.theme)};
59
71
  }
60
72
  }
61
73
 
@@ -63,8 +75,14 @@ const SegmentControlItemWrapper = exports.SegmentControlItemWrapper = _styledCom
63
75
  z-index: ${_styles.Z_INDEXES.active};
64
76
 
65
77
  ${SegmentControlItemContent} {
66
- background-color: ${props => _styles.COLORS.getColor('primary_200', props.theme)};
67
- color: ${props => _styles.COLORS.getColor('primary_800', props.theme)};
78
+ background-color: ${props => _styles.COLORS.generateToken({
79
+ componentType: 'bg-surface',
80
+ state: 'active'
81
+ }, props.theme)};
82
+ color: ${props => _styles.COLORS.generateToken({
83
+ componentType: 'text',
84
+ state: 'active'
85
+ }, props.theme)};
68
86
  }
69
87
  }
70
88
 
@@ -73,7 +91,10 @@ const SegmentControlItemWrapper = exports.SegmentControlItemWrapper = _styledCom
73
91
 
74
92
  ${SegmentControlItemContent} {
75
93
  background-color: transparent;
76
- color: ${props => _styles.COLORS.getColor('neutral_300', props.theme)};
94
+ color: ${props => _styles.COLORS.generateToken({
95
+ componentType: 'text',
96
+ state: 'disabled'
97
+ }, props.theme)};
77
98
  }
78
99
  }
79
100
 
@@ -82,8 +103,15 @@ const SegmentControlItemWrapper = exports.SegmentControlItemWrapper = _styledCom
82
103
  pointer-events: none;
83
104
 
84
105
  ${SegmentControlItemContent} {
85
- background-color: ${props => _styles.COLORS.getColor('primary_500', props.theme)};
86
- color: ${props => _styles.COLORS.getColor('white', props.theme)};
106
+ background-color: ${props => _styles.COLORS.generateToken({
107
+ componentType: 'bg-fill',
108
+ defaultVariant: 'primary'
109
+ }, props.theme)};
110
+ color: ${props => _styles.COLORS.generateToken({
111
+ componentType: 'text',
112
+ isOnFill: true,
113
+ defaultVariant: 'primary'
114
+ }, props.theme)};
87
115
  }
88
116
  }
89
117
 
@@ -92,8 +120,15 @@ const SegmentControlItemWrapper = exports.SegmentControlItemWrapper = _styledCom
92
120
  pointer-events: unset;
93
121
 
94
122
  ${SegmentControlItemContent} {
95
- background-color: ${props => _styles.COLORS.getColor('neutral_100', props.theme)};
96
- color: ${props => _styles.COLORS.getColor('neutral_300', props.theme)};
123
+ background-color: ${props => _styles.COLORS.generateToken({
124
+ componentType: 'bg-fill',
125
+ state: 'disabled'
126
+ }, props.theme)};
127
+ color: ${props => _styles.COLORS.generateToken({
128
+ componentType: 'text',
129
+ isOnFill: true,
130
+ state: 'disabled'
131
+ }, props.theme)};
97
132
  }
98
133
  }
99
134
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentControl.cjs","names":["_react","_interopRequireDefault","require","_types","_styledComponents","_styles","_common","_jsxRuntime","_excluded","_excluded2","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","SegmentControlItemContent","exports","styled","div","props","COLORS","getColor","theme","SegmentControlItemBackground","SegmentControlItemWrapper","focusStyles","Z_INDEXES","hover","active","SegmentControlWrapper","ComponentSStyling","ComponentTextStyle","Bold","ComponentMStyling","SegmentControl","_ref","items","size","Size","Medium","onChange","selected","className","rest","_objectWithoutProperties2","onKeyPress","item","key","document","activeElement","blur","disabled","onClick","jsx","children","map","a","i","content","tabIndex","undefined","onMouseDown","defaultOnMouseDownHandler","propTypes","_propTypes","arrayOf","shape","string","isRequired","bool","oneOfType","node","func","_default"],"sources":["../../src/SegmentControl/SegmentControl.tsx"],"sourcesContent":["import React from 'react';\r\nimport {Size} from '../types';\r\nimport styled from 'styled-components';\r\nimport {COLORS, ComponentMStyling, ComponentSStyling, ComponentTextStyle, focusStyles, Z_INDEXES} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\n\r\n\r\nexport const SegmentControlItemContent = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n border-radius: 8px;\r\n padding: 0 16px;\r\n\r\n background-color: transparent;\r\n color: ${props => COLORS.getColor('neutral_600', props.theme)};\r\n`\r\n\r\nexport const SegmentControlItemBackground = styled.div`\r\n flex: 1;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n background-color: ${props => COLORS.getColor('neutral_20', props.theme)};\r\n padding: 4px 0px;\r\n`;\r\n\r\nexport const SegmentControlItemWrapper = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: center;\r\n flex: 1;\r\n cursor: pointer;\r\n min-height: 48px;\r\n\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &:hover {\r\n z-index: ${Z_INDEXES.hover};\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n }\r\n }\r\n\r\n &:active {\r\n z-index: ${Z_INDEXES.active};\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.getColor('primary_200', props.theme)};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n }\r\n\r\n &.disabled {\r\n cursor: not-allowed;\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: transparent;\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n }\r\n\r\n &.selected {\r\n cursor: default;\r\n pointer-events: none;\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n color: ${props => COLORS.getColor('white', props.theme)};\r\n }\r\n }\r\n\r\n &.selected.disabled {\r\n cursor: not-allowed;\r\n pointer-events: unset;\r\n \r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.getColor('neutral_100', props.theme)};\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n }\r\n`;\r\n\r\nexport const SegmentControlWrapper = styled.div`\r\n width: 100%;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n\r\n ${SegmentControlItemWrapper}:first-of-type {\r\n ${SegmentControlItemBackground} {\r\n border-bottom-left-radius: 12px;\r\n border-top-left-radius: 12px;\r\n padding-left: 4px;\r\n }\r\n }\r\n\r\n ${SegmentControlItemWrapper}:last-of-type {\r\n ${SegmentControlItemBackground} {\r\n border-bottom-right-radius: 12px;\r\n border-top-right-radius: 12px;\r\n padding-right: 4px;\r\n }\r\n }\r\n\r\n\r\n &.small {\r\n ${SegmentControlItemContent} {\r\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\r\n min-height: 32px;\r\n }\r\n }\r\n\r\n &.medium {\r\n ${SegmentControlItemContent} {\r\n ${ComponentMStyling(ComponentTextStyle.Bold, null)}\r\n min-height: 40px;\r\n }\r\n }\r\n`;\r\n\r\n\r\nexport interface SegmentControlItem extends Omit<React.HTMLAttributes<HTMLDivElement>, 'tabIndex' | 'content' | 'onMouseDown' | 'onKeyDown' | 'onClick'> {\r\n /**\r\n * Required. The key of the segment control item. This should be unique among all items in the segment control.\r\n */\r\n key: string;\r\n\r\n /**\r\n * Optional. A boolean indicating whether the segment control item is disabled.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Required. The content of the segment control item. This can be a string or a React node.\r\n */\r\n content: React.ReactNode | string;\r\n}\r\n\r\nexport interface SegmentControlProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\r\n /**\r\n * Required. An array of SegmentControlItem objects representing the items in the segment control.\r\n */\r\n items: SegmentControlItem[];\r\n\r\n /**\r\n * Optional. The key of the currently selected item in the segment control. In order to change selected item\r\n * when user clicks on it, you should update this prop to display item as 'selected'.\r\n */\r\n selected: string;\r\n\r\n /**\r\n * Required. A function to be called when the selected item in the segment control changes.\r\n * It should take a string representing the key of the new selected item.\r\n */\r\n onChange: (value: string) => void;\r\n\r\n /**\r\n * Optional. The size of the segment control. Can be 'Small' or 'Medium'.\r\n */\r\n size?: Size.Small | Size.Medium;\r\n}\r\n\r\nconst SegmentControl: React.FunctionComponent<SegmentControlProps> = ({\r\n items,\r\n size = Size.Medium,\r\n onChange,\r\n selected,\r\n className,\r\n ...rest\r\n }) => {\r\n const onKeyPress = (e: React.KeyboardEvent<HTMLDivElement>, item: SegmentControlItem) => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n //@ts-ignore\r\n document?.activeElement?.blur();\r\n !item.disabled && onChange(item.key);\r\n }\r\n };\r\n\r\n const onClick = (e: React.MouseEvent, item: SegmentControlItem) => {\r\n !item.disabled && onChange(item.key);\r\n }\r\n\r\n return (\r\n <SegmentControlWrapper className={`${size} ${className || ''}`} {...rest}>\r\n {items.map((a, i) => {\r\n const {key, disabled, content, className, ...rest} = a;\r\n return <SegmentControlItemWrapper key={a.key || i}\r\n className={(className || '') + (a.disabled ? 'disabled' : '') + (a.key === selected ? ' selected' : '')}\r\n tabIndex={a.disabled || a.key === selected ? -1 : 0}\r\n onClick={a.disabled ? undefined : (e) => onClick(e, a)}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onKeyPress={a.disabled ? undefined : (e) => onKeyPress(e, a)}\r\n {...rest}>\r\n <SegmentControlItemBackground>\r\n <SegmentControlItemContent>\r\n {a.content}\r\n </SegmentControlItemContent>\r\n </SegmentControlItemBackground>\r\n </SegmentControlItemWrapper>;\r\n })\r\n }\r\n </SegmentControlWrapper>\r\n );\r\n};\r\n\r\nexport default SegmentControl;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SegmentControl.cjs","names":["_react","_interopRequireDefault","require","_types","_styledComponents","_styles","_common","_jsxRuntime","_excluded","_excluded2","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","SegmentControlItemContent","exports","styled","div","props","COLORS","generateToken","componentType","defaultVariant","theme","SegmentControlItemBackground","SegmentControlItemWrapper","focusStyles","Z_INDEXES","hover","state","active","isOnFill","SegmentControlWrapper","ComponentSStyling","ComponentTextStyle","Bold","ComponentMStyling","SegmentControl","_ref","items","size","Size","Medium","onChange","selected","className","rest","_objectWithoutProperties2","onKeyPress","item","key","document","activeElement","blur","disabled","onClick","jsx","children","map","a","i","content","tabIndex","undefined","onMouseDown","defaultOnMouseDownHandler","propTypes","_propTypes","arrayOf","shape","string","isRequired","bool","oneOfType","node","func","_default"],"sources":["../../src/SegmentControl/SegmentControl.tsx"],"sourcesContent":["import React from 'react';\r\nimport {Size} from '../types';\r\nimport styled from 'styled-components';\r\nimport {COLORS, ComponentMStyling, ComponentSStyling, ComponentTextStyle, focusStyles, Z_INDEXES} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\n\r\n\r\nexport const SegmentControlItemContent = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n border-radius: 8px;\r\n padding: 0 16px;\r\n\r\n background-color: transparent;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme)};\r\n`\r\n\r\nexport const SegmentControlItemBackground = styled.div`\r\n flex: 1;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'subtle' }, props.theme)};\r\n padding: 4px 0px;\r\n`;\r\n\r\nexport const SegmentControlItemWrapper = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: center;\r\n flex: 1;\r\n cursor: pointer;\r\n min-height: 48px;\r\n\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &:hover {\r\n z-index: ${Z_INDEXES.hover};\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'hover' }, props.theme)};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'hover' }, props.theme)};\r\n }\r\n }\r\n\r\n &:active {\r\n z-index: ${Z_INDEXES.active};\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'active' }, props.theme)};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'active' }, props.theme)};\r\n }\r\n }\r\n\r\n &.disabled {\r\n cursor: not-allowed;\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: transparent;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'disabled' }, props.theme)};\r\n }\r\n }\r\n\r\n &.selected {\r\n cursor: default;\r\n pointer-events: none;\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', defaultVariant: 'primary' }, props.theme)};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', isOnFill: true, defaultVariant: 'primary' }, props.theme)};\r\n }\r\n }\r\n\r\n &.selected.disabled {\r\n cursor: not-allowed;\r\n pointer-events: unset;\r\n \r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'disabled'}, props.theme)};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', isOnFill: true, state:'disabled' }, props.theme)};\r\n }\r\n }\r\n`;\r\n\r\nexport const SegmentControlWrapper = styled.div`\r\n width: 100%;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n\r\n ${SegmentControlItemWrapper}:first-of-type {\r\n ${SegmentControlItemBackground} {\r\n border-bottom-left-radius: 12px;\r\n border-top-left-radius: 12px;\r\n padding-left: 4px;\r\n }\r\n }\r\n\r\n ${SegmentControlItemWrapper}:last-of-type {\r\n ${SegmentControlItemBackground} {\r\n border-bottom-right-radius: 12px;\r\n border-top-right-radius: 12px;\r\n padding-right: 4px;\r\n }\r\n }\r\n\r\n\r\n &.small {\r\n ${SegmentControlItemContent} {\r\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\r\n min-height: 32px;\r\n }\r\n }\r\n\r\n &.medium {\r\n ${SegmentControlItemContent} {\r\n ${ComponentMStyling(ComponentTextStyle.Bold, null)}\r\n min-height: 40px;\r\n }\r\n }\r\n`;\r\n\r\n\r\nexport interface SegmentControlItem extends Omit<React.HTMLAttributes<HTMLDivElement>, 'tabIndex' | 'content' | 'onMouseDown' | 'onKeyDown' | 'onClick'> {\r\n /**\r\n * Required. The key of the segment control item. This should be unique among all items in the segment control.\r\n */\r\n key: string;\r\n\r\n /**\r\n * Optional. A boolean indicating whether the segment control item is disabled.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Required. The content of the segment control item. This can be a string or a React node.\r\n */\r\n content: React.ReactNode | string;\r\n}\r\n\r\nexport interface SegmentControlProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\r\n /**\r\n * Required. An array of SegmentControlItem objects representing the items in the segment control.\r\n */\r\n items: SegmentControlItem[];\r\n\r\n /**\r\n * Optional. The key of the currently selected item in the segment control. In order to change selected item\r\n * when user clicks on it, you should update this prop to display item as 'selected'.\r\n */\r\n selected: string;\r\n\r\n /**\r\n * Required. A function to be called when the selected item in the segment control changes.\r\n * It should take a string representing the key of the new selected item.\r\n */\r\n onChange: (value: string) => void;\r\n\r\n /**\r\n * Optional. The size of the segment control. Can be 'Small' or 'Medium'.\r\n */\r\n size?: Size.Small | Size.Medium;\r\n}\r\n\r\nconst SegmentControl: React.FunctionComponent<SegmentControlProps> = ({\r\n items,\r\n size = Size.Medium,\r\n onChange,\r\n selected,\r\n className,\r\n ...rest\r\n }) => {\r\n const onKeyPress = (e: React.KeyboardEvent<HTMLDivElement>, item: SegmentControlItem) => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n //@ts-ignore\r\n document?.activeElement?.blur();\r\n !item.disabled && onChange(item.key);\r\n }\r\n };\r\n\r\n const onClick = (e: React.MouseEvent, item: SegmentControlItem) => {\r\n !item.disabled && onChange(item.key);\r\n }\r\n\r\n return (\r\n <SegmentControlWrapper className={`${size} ${className || ''}`} {...rest}>\r\n {items.map((a, i) => {\r\n const {key, disabled, content, className, ...rest} = a;\r\n return <SegmentControlItemWrapper key={a.key || i}\r\n className={(className || '') + (a.disabled ? 'disabled' : '') + (a.key === selected ? ' selected' : '')}\r\n tabIndex={a.disabled || a.key === selected ? -1 : 0}\r\n onClick={a.disabled ? undefined : (e) => onClick(e, a)}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onKeyPress={a.disabled ? undefined : (e) => onKeyPress(e, a)}\r\n {...rest}>\r\n <SegmentControlItemBackground>\r\n <SegmentControlItemContent>\r\n {a.content}\r\n </SegmentControlItemContent>\r\n </SegmentControlItemBackground>\r\n </SegmentControlItemWrapper>;\r\n })\r\n }\r\n </SegmentControlWrapper>\r\n );\r\n};\r\n\r\nexport default SegmentControl;\r\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAAoD,IAAAK,WAAA,GAAAL,OAAA;AAAA,MAAAM,SAAA;EAAAC,UAAA;AAAA,SAAAC,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,CAAAC,OAAA,EAAAjB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAe,yBAAA,GAAAf,MAAA,CAAAgB,gBAAA,CAAAnB,CAAA,EAAAG,MAAA,CAAAe,yBAAA,CAAAhB,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAiB,cAAA,CAAApB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAG7C,MAAMqB,yBAAyB,GAAAC,OAAA,CAAAD,yBAAA,GAAGE,yBAAM,CAACC,GAAG;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAWC,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEC,cAAc,EAAE;AAAS,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AAC1G,CAAC;AAEM,MAAMC,4BAA4B,GAAAT,OAAA,CAAAS,4BAAA,GAAGR,yBAAM,CAACC,GAAG;AACtD;AACA;AACA;AACA;AACA,sBAAsBC,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,YAAY;EAAEC,cAAc,EAAE;AAAS,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AAC3H;AACA,CAAC;AAEM,MAAME,yBAAyB,GAAAV,OAAA,CAAAU,yBAAA,GAAGT,yBAAM,CAACC,GAAG;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMS,mBAAW;AACjB;AACA;AACA;AACA,eAAeC,iBAAS,CAACC,KAAK;AAC9B;AACA,MAAMd,yBAAyB;AAC/B,0BAA0BI,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,YAAY;EAAEQ,KAAK,EAAE;AAAQ,CAAC,EAAEX,KAAK,CAACK,KAAK,CAAC;AACrH,eAAeL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEQ,KAAK,EAAE;AAAQ,CAAC,EAAEX,KAAK,CAACK,KAAK,CAAC;AACpG;AACA;AACA;AACA;AACA,eAAeI,iBAAS,CAACG,MAAM;AAC/B;AACA,MAAMhB,yBAAyB;AAC/B,0BAA0BI,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,YAAY;EAAEQ,KAAK,EAAE;AAAS,CAAC,EAAEX,KAAK,CAACK,KAAK,CAAC;AACtH,eAAeL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEQ,KAAK,EAAE;AAAS,CAAC,EAAEX,KAAK,CAACK,KAAK,CAAC;AACrG;AACA;AACA;AACA;AACA;AACA;AACA,MAAMT,yBAAyB;AAC/B;AACA,eAAeI,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEQ,KAAK,EAAE;AAAW,CAAC,EAAEX,KAAK,CAACK,KAAK,CAAC;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMT,yBAAyB;AAC/B,0BAA0BI,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,SAAS;EAAEC,cAAc,EAAE;AAAU,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AAC7H,eAAeL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEU,QAAQ,EAAE,IAAI;EAAET,cAAc,EAAE;AAAU,CAAC,EAAEJ,KAAK,CAACK,KAAK,CAAC;AAC/H;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMT,yBAAyB;AAC/B,0BAA0BI,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,SAAS;EAAEQ,KAAK,EAAE;AAAU,CAAC,EAAEX,KAAK,CAACK,KAAK,CAAC;AACpH,eAAeL,KAAK,IAAIC,cAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEU,QAAQ,EAAE,IAAI;EAAEF,KAAK,EAAC;AAAW,CAAC,EAAEX,KAAK,CAACK,KAAK,CAAC;AACtH;AACA;AACA,CAAC;AAEM,MAAMS,qBAAqB,GAAAjB,OAAA,CAAAiB,qBAAA,GAAGhB,yBAAM,CAACC,GAAG;AAC/C;AACA;AACA;AACA;AACA;AACA,IAAIQ,yBAAyB;AAC7B,MAAMD,4BAA4B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,IAAIC,yBAAyB;AAC7B,MAAMD,4BAA4B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMV,yBAAyB;AAC/B,QAAQ,IAAAmB,yBAAiB,EAACC,0BAAkB,CAACC,IAAI,EAAE,IAAI,CAAC;AACxD;AACA;AACA;AACA;AACA;AACA,MAAMrB,yBAAyB;AAC/B,QAAQ,IAAAsB,yBAAiB,EAACF,0BAAkB,CAACC,IAAI,EAAE,IAAI,CAAC;AACxD;AACA;AACA;AACA,CAAC;AA4CD,MAAME,cAA4D,GAAGC,IAAA,IAOO;EAAA,IAPN;MACEC,KAAK;MACLC,IAAI,GAAGC,WAAI,CAACC,MAAM;MAClBC,QAAQ;MACRC,QAAQ;MACRC;IAEF,CAAC,GAAAP,IAAA;IADIQ,IAAI,OAAAC,yBAAA,CAAArC,OAAA,EAAA4B,IAAA,EAAAhD,SAAA;EAE7E,MAAM0D,UAAU,GAAGA,CAACvD,CAAsC,EAAEwD,IAAwB,KAAK;IACvF,IAAIxD,CAAC,CAACyD,GAAG,KAAK,OAAO,IAAIzD,CAAC,CAACyD,GAAG,KAAK,GAAG,EAAE;MACtC;MACAC,QAAQ,EAAEC,aAAa,EAAEC,IAAI,CAAC,CAAC;MAC/B,CAACJ,IAAI,CAACK,QAAQ,IAAIX,QAAQ,CAACM,IAAI,CAACC,GAAG,CAAC;IACtC;EACF,CAAC;EAED,MAAMK,OAAO,GAAGA,CAAC9D,CAAmB,EAAEwD,IAAwB,KAAK;IACjE,CAACA,IAAI,CAACK,QAAQ,IAAIX,QAAQ,CAACM,IAAI,CAACC,GAAG,CAAC;EACtC,CAAC;EAED,oBACE,IAAA7D,WAAA,CAAAmE,GAAA,EAACxB,qBAAqB,EAAA3B,aAAA,CAAAA,aAAA;IAACwC,SAAS,EAAE,GAAGL,IAAI,IAAIK,SAAS,IAAI,EAAE;EAAG,GAAKC,IAAI;IAAAW,QAAA,EACrElB,KAAK,CAACmB,GAAG,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK;MACnB,MAAM;UAACV,GAAG;UAAEI,QAAQ;UAAEO,OAAO;UAAEhB;QAAkB,CAAC,GAAGc,CAAC;QAATb,IAAI,OAAAC,yBAAA,CAAArC,OAAA,EAAIiD,CAAC,EAAApE,UAAA;MACtD,oBAAO,IAAAF,WAAA,CAAAmE,GAAA,EAAC/B,yBAAyB,EAAApB,aAAA,CAAAA,aAAA;QACCwC,SAAS,EAAE,CAACA,SAAS,IAAI,EAAE,KAAKc,CAAC,CAACL,QAAQ,GAAG,UAAU,GAAG,EAAE,CAAC,IAAIK,CAAC,CAACT,GAAG,KAAKN,QAAQ,GAAG,WAAW,GAAG,EAAE,CAAE;QACxGkB,QAAQ,EAAEH,CAAC,CAACL,QAAQ,IAAIK,CAAC,CAACT,GAAG,KAAKN,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAE;QACpDW,OAAO,EAAEI,CAAC,CAACL,QAAQ,GAAGS,SAAS,GAAItE,CAAC,IAAK8D,OAAO,CAAC9D,CAAC,EAAEkE,CAAC,CAAE;QACvDK,WAAW,EAAEC,iCAA0B;QACvCjB,UAAU,EAAEW,CAAC,CAACL,QAAQ,GAAGS,SAAS,GAAItE,CAAC,IAAKuD,UAAU,CAACvD,CAAC,EAAEkE,CAAC;MAAE,GACzDb,IAAI;QAAAW,QAAA,eACxC,IAAApE,WAAA,CAAAmE,GAAA,EAAChC,4BAA4B;UAAAiC,QAAA,eAC3B,IAAApE,WAAA,CAAAmE,GAAA,EAAC1C,yBAAyB;YAAA2C,QAAA,EACvBE,CAAC,CAACE;UAAO,CACe;QAAC,CACA;MAAC,IAXMF,CAAC,CAACT,GAAG,IAAIU,CAYrB,CAAC;IAC9B,CAAC;EAAC,EAEmB,CAAC;AAE5B,CAAC;AAACvB,cAAA,CAAA6B,SAAA;EA7DA3B,KAAK,EAAA4B,UAAA,CAAAzD,OAAA,CAAA0D,OAAA,CAAAD,UAAA,CAAAzD,OAAA,CAAA2D,KAAA;IAjBLnB,GAAG,EAAAiB,UAAA,CAAAzD,OAAA,CAAA4D,MAAA,CAAAC,UAAA;IAKHjB,QAAQ,EAAAa,UAAA,CAAAzD,OAAA,CAAA8D,IAAA;IAKRX,OAAO,EAAAM,UAAA,CAAAzD,OAAA,CAAA+D,SAAA,EAAAN,UAAA,CAAAzD,OAAA,CAAAgE,IAAA,EAAAP,UAAA,CAAAzD,OAAA,CAAA4D,MAAA,GAAAC;EAAA,IAAAA,UAAA;EAaP3B,QAAQ,EAAAuB,UAAA,CAAAzD,OAAA,CAAA4D,MAAA,CAAAC,UAAA;EAMR5B,QAAQ,EAAAwB,UAAA,CAAAzD,OAAA,CAAAiE,IAAA,CAAAJ;AAAA;AAAA,IAAAK,QAAA,GAAA7D,OAAA,CAAAL,OAAA,GAmDK2B,cAAc","ignoreList":[]}
@@ -20,14 +20,20 @@ export const SegmentControlItemContent = styled.div`
20
20
  padding: 0 16px;
21
21
 
22
22
  background-color: transparent;
23
- color: ${props => COLORS.getColor('neutral_600', props.theme)};
23
+ color: ${props => COLORS.generateToken({
24
+ componentType: 'text',
25
+ defaultVariant: 'subtle'
26
+ }, props.theme)};
24
27
  `;
25
28
  export const SegmentControlItemBackground = styled.div`
26
29
  flex: 1;
27
30
  display: flex;
28
31
  flex-direction: row;
29
32
  align-items: center;
30
- background-color: ${props => COLORS.getColor('neutral_20', props.theme)};
33
+ background-color: ${props => COLORS.generateToken({
34
+ componentType: 'bg-surface',
35
+ defaultVariant: 'subtle'
36
+ }, props.theme)};
31
37
  padding: 4px 0px;
32
38
  `;
33
39
  export const SegmentControlItemWrapper = styled.div`
@@ -47,8 +53,14 @@ export const SegmentControlItemWrapper = styled.div`
47
53
  z-index: ${Z_INDEXES.hover};
48
54
 
49
55
  ${SegmentControlItemContent} {
50
- background-color: ${props => COLORS.getColor('primary_100', props.theme)};
51
- color: ${props => COLORS.getColor('primary_700', props.theme)};
56
+ background-color: ${props => COLORS.generateToken({
57
+ componentType: 'bg-surface',
58
+ state: 'hover'
59
+ }, props.theme)};
60
+ color: ${props => COLORS.generateToken({
61
+ componentType: 'text',
62
+ state: 'hover'
63
+ }, props.theme)};
52
64
  }
53
65
  }
54
66
 
@@ -56,8 +68,14 @@ export const SegmentControlItemWrapper = styled.div`
56
68
  z-index: ${Z_INDEXES.active};
57
69
 
58
70
  ${SegmentControlItemContent} {
59
- background-color: ${props => COLORS.getColor('primary_200', props.theme)};
60
- color: ${props => COLORS.getColor('primary_800', props.theme)};
71
+ background-color: ${props => COLORS.generateToken({
72
+ componentType: 'bg-surface',
73
+ state: 'active'
74
+ }, props.theme)};
75
+ color: ${props => COLORS.generateToken({
76
+ componentType: 'text',
77
+ state: 'active'
78
+ }, props.theme)};
61
79
  }
62
80
  }
63
81
 
@@ -66,7 +84,10 @@ export const SegmentControlItemWrapper = styled.div`
66
84
 
67
85
  ${SegmentControlItemContent} {
68
86
  background-color: transparent;
69
- color: ${props => COLORS.getColor('neutral_300', props.theme)};
87
+ color: ${props => COLORS.generateToken({
88
+ componentType: 'text',
89
+ state: 'disabled'
90
+ }, props.theme)};
70
91
  }
71
92
  }
72
93
 
@@ -75,8 +96,15 @@ export const SegmentControlItemWrapper = styled.div`
75
96
  pointer-events: none;
76
97
 
77
98
  ${SegmentControlItemContent} {
78
- background-color: ${props => COLORS.getColor('primary_500', props.theme)};
79
- color: ${props => COLORS.getColor('white', props.theme)};
99
+ background-color: ${props => COLORS.generateToken({
100
+ componentType: 'bg-fill',
101
+ defaultVariant: 'primary'
102
+ }, props.theme)};
103
+ color: ${props => COLORS.generateToken({
104
+ componentType: 'text',
105
+ isOnFill: true,
106
+ defaultVariant: 'primary'
107
+ }, props.theme)};
80
108
  }
81
109
  }
82
110
 
@@ -85,8 +113,15 @@ export const SegmentControlItemWrapper = styled.div`
85
113
  pointer-events: unset;
86
114
 
87
115
  ${SegmentControlItemContent} {
88
- background-color: ${props => COLORS.getColor('neutral_100', props.theme)};
89
- color: ${props => COLORS.getColor('neutral_300', props.theme)};
116
+ background-color: ${props => COLORS.generateToken({
117
+ componentType: 'bg-fill',
118
+ state: 'disabled'
119
+ }, props.theme)};
120
+ color: ${props => COLORS.generateToken({
121
+ componentType: 'text',
122
+ isOnFill: true,
123
+ state: 'disabled'
124
+ }, props.theme)};
90
125
  }
91
126
  }
92
127
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentControl.js","names":["React","Size","styled","COLORS","ComponentMStyling","ComponentSStyling","ComponentTextStyle","focusStyles","Z_INDEXES","defaultOnMouseDownHandler","jsx","_jsx","SegmentControlItemContent","div","props","getColor","theme","SegmentControlItemBackground","SegmentControlItemWrapper","hover","active","SegmentControlWrapper","Bold","SegmentControl","_ref","items","size","Medium","onChange","selected","className","rest","_objectWithoutProperties","_excluded","onKeyPress","e","item","key","document","activeElement","blur","disabled","onClick","_objectSpread","children","map","a","i","content","_excluded2","tabIndex","undefined","onMouseDown","propTypes","_pt","arrayOf","shape","string","isRequired","bool","oneOfType","node","func"],"sources":["../../src/SegmentControl/SegmentControl.tsx"],"sourcesContent":["import React from 'react';\r\nimport {Size} from '../types';\r\nimport styled from 'styled-components';\r\nimport {COLORS, ComponentMStyling, ComponentSStyling, ComponentTextStyle, focusStyles, Z_INDEXES} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\n\r\n\r\nexport const SegmentControlItemContent = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n border-radius: 8px;\r\n padding: 0 16px;\r\n\r\n background-color: transparent;\r\n color: ${props => COLORS.getColor('neutral_600', props.theme)};\r\n`\r\n\r\nexport const SegmentControlItemBackground = styled.div`\r\n flex: 1;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n background-color: ${props => COLORS.getColor('neutral_20', props.theme)};\r\n padding: 4px 0px;\r\n`;\r\n\r\nexport const SegmentControlItemWrapper = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: center;\r\n flex: 1;\r\n cursor: pointer;\r\n min-height: 48px;\r\n\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &:hover {\r\n z-index: ${Z_INDEXES.hover};\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n }\r\n }\r\n\r\n &:active {\r\n z-index: ${Z_INDEXES.active};\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.getColor('primary_200', props.theme)};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n }\r\n\r\n &.disabled {\r\n cursor: not-allowed;\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: transparent;\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n }\r\n\r\n &.selected {\r\n cursor: default;\r\n pointer-events: none;\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.getColor('primary_500', props.theme)};\r\n color: ${props => COLORS.getColor('white', props.theme)};\r\n }\r\n }\r\n\r\n &.selected.disabled {\r\n cursor: not-allowed;\r\n pointer-events: unset;\r\n \r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.getColor('neutral_100', props.theme)};\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n }\r\n`;\r\n\r\nexport const SegmentControlWrapper = styled.div`\r\n width: 100%;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n\r\n ${SegmentControlItemWrapper}:first-of-type {\r\n ${SegmentControlItemBackground} {\r\n border-bottom-left-radius: 12px;\r\n border-top-left-radius: 12px;\r\n padding-left: 4px;\r\n }\r\n }\r\n\r\n ${SegmentControlItemWrapper}:last-of-type {\r\n ${SegmentControlItemBackground} {\r\n border-bottom-right-radius: 12px;\r\n border-top-right-radius: 12px;\r\n padding-right: 4px;\r\n }\r\n }\r\n\r\n\r\n &.small {\r\n ${SegmentControlItemContent} {\r\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\r\n min-height: 32px;\r\n }\r\n }\r\n\r\n &.medium {\r\n ${SegmentControlItemContent} {\r\n ${ComponentMStyling(ComponentTextStyle.Bold, null)}\r\n min-height: 40px;\r\n }\r\n }\r\n`;\r\n\r\n\r\nexport interface SegmentControlItem extends Omit<React.HTMLAttributes<HTMLDivElement>, 'tabIndex' | 'content' | 'onMouseDown' | 'onKeyDown' | 'onClick'> {\r\n /**\r\n * Required. The key of the segment control item. This should be unique among all items in the segment control.\r\n */\r\n key: string;\r\n\r\n /**\r\n * Optional. A boolean indicating whether the segment control item is disabled.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Required. The content of the segment control item. This can be a string or a React node.\r\n */\r\n content: React.ReactNode | string;\r\n}\r\n\r\nexport interface SegmentControlProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\r\n /**\r\n * Required. An array of SegmentControlItem objects representing the items in the segment control.\r\n */\r\n items: SegmentControlItem[];\r\n\r\n /**\r\n * Optional. The key of the currently selected item in the segment control. In order to change selected item\r\n * when user clicks on it, you should update this prop to display item as 'selected'.\r\n */\r\n selected: string;\r\n\r\n /**\r\n * Required. A function to be called when the selected item in the segment control changes.\r\n * It should take a string representing the key of the new selected item.\r\n */\r\n onChange: (value: string) => void;\r\n\r\n /**\r\n * Optional. The size of the segment control. Can be 'Small' or 'Medium'.\r\n */\r\n size?: Size.Small | Size.Medium;\r\n}\r\n\r\nconst SegmentControl: React.FunctionComponent<SegmentControlProps> = ({\r\n items,\r\n size = Size.Medium,\r\n onChange,\r\n selected,\r\n className,\r\n ...rest\r\n }) => {\r\n const onKeyPress = (e: React.KeyboardEvent<HTMLDivElement>, item: SegmentControlItem) => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n //@ts-ignore\r\n document?.activeElement?.blur();\r\n !item.disabled && onChange(item.key);\r\n }\r\n };\r\n\r\n const onClick = (e: React.MouseEvent, item: SegmentControlItem) => {\r\n !item.disabled && onChange(item.key);\r\n }\r\n\r\n return (\r\n <SegmentControlWrapper className={`${size} ${className || ''}`} {...rest}>\r\n {items.map((a, i) => {\r\n const {key, disabled, content, className, ...rest} = a;\r\n return <SegmentControlItemWrapper key={a.key || i}\r\n className={(className || '') + (a.disabled ? 'disabled' : '') + (a.key === selected ? ' selected' : '')}\r\n tabIndex={a.disabled || a.key === selected ? -1 : 0}\r\n onClick={a.disabled ? undefined : (e) => onClick(e, a)}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onKeyPress={a.disabled ? undefined : (e) => onKeyPress(e, a)}\r\n {...rest}>\r\n <SegmentControlItemBackground>\r\n <SegmentControlItemContent>\r\n {a.content}\r\n </SegmentControlItemContent>\r\n </SegmentControlItemBackground>\r\n </SegmentControlItemWrapper>;\r\n })\r\n }\r\n </SegmentControlWrapper>\r\n );\r\n};\r\n\r\nexport default SegmentControl;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SegmentControl.js","names":["React","Size","styled","COLORS","ComponentMStyling","ComponentSStyling","ComponentTextStyle","focusStyles","Z_INDEXES","defaultOnMouseDownHandler","jsx","_jsx","SegmentControlItemContent","div","props","generateToken","componentType","defaultVariant","theme","SegmentControlItemBackground","SegmentControlItemWrapper","hover","state","active","isOnFill","SegmentControlWrapper","Bold","SegmentControl","_ref","items","size","Medium","onChange","selected","className","rest","_objectWithoutProperties","_excluded","onKeyPress","e","item","key","document","activeElement","blur","disabled","onClick","_objectSpread","children","map","a","i","content","_excluded2","tabIndex","undefined","onMouseDown","propTypes","_pt","arrayOf","shape","string","isRequired","bool","oneOfType","node","func"],"sources":["../../src/SegmentControl/SegmentControl.tsx"],"sourcesContent":["import React from 'react';\r\nimport {Size} from '../types';\r\nimport styled from 'styled-components';\r\nimport {COLORS, ComponentMStyling, ComponentSStyling, ComponentTextStyle, focusStyles, Z_INDEXES} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\n\r\n\r\nexport const SegmentControlItemContent = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n border-radius: 8px;\r\n padding: 0 16px;\r\n\r\n background-color: transparent;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme)};\r\n`\r\n\r\nexport const SegmentControlItemBackground = styled.div`\r\n flex: 1;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'subtle' }, props.theme)};\r\n padding: 4px 0px;\r\n`;\r\n\r\nexport const SegmentControlItemWrapper = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: center;\r\n flex: 1;\r\n cursor: pointer;\r\n min-height: 48px;\r\n\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &:hover {\r\n z-index: ${Z_INDEXES.hover};\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'hover' }, props.theme)};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'hover' }, props.theme)};\r\n }\r\n }\r\n\r\n &:active {\r\n z-index: ${Z_INDEXES.active};\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'active' }, props.theme)};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'active' }, props.theme)};\r\n }\r\n }\r\n\r\n &.disabled {\r\n cursor: not-allowed;\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: transparent;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'disabled' }, props.theme)};\r\n }\r\n }\r\n\r\n &.selected {\r\n cursor: default;\r\n pointer-events: none;\r\n\r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', defaultVariant: 'primary' }, props.theme)};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', isOnFill: true, defaultVariant: 'primary' }, props.theme)};\r\n }\r\n }\r\n\r\n &.selected.disabled {\r\n cursor: not-allowed;\r\n pointer-events: unset;\r\n \r\n ${SegmentControlItemContent} {\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-fill', state: 'disabled'}, props.theme)};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', isOnFill: true, state:'disabled' }, props.theme)};\r\n }\r\n }\r\n`;\r\n\r\nexport const SegmentControlWrapper = styled.div`\r\n width: 100%;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n\r\n ${SegmentControlItemWrapper}:first-of-type {\r\n ${SegmentControlItemBackground} {\r\n border-bottom-left-radius: 12px;\r\n border-top-left-radius: 12px;\r\n padding-left: 4px;\r\n }\r\n }\r\n\r\n ${SegmentControlItemWrapper}:last-of-type {\r\n ${SegmentControlItemBackground} {\r\n border-bottom-right-radius: 12px;\r\n border-top-right-radius: 12px;\r\n padding-right: 4px;\r\n }\r\n }\r\n\r\n\r\n &.small {\r\n ${SegmentControlItemContent} {\r\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\r\n min-height: 32px;\r\n }\r\n }\r\n\r\n &.medium {\r\n ${SegmentControlItemContent} {\r\n ${ComponentMStyling(ComponentTextStyle.Bold, null)}\r\n min-height: 40px;\r\n }\r\n }\r\n`;\r\n\r\n\r\nexport interface SegmentControlItem extends Omit<React.HTMLAttributes<HTMLDivElement>, 'tabIndex' | 'content' | 'onMouseDown' | 'onKeyDown' | 'onClick'> {\r\n /**\r\n * Required. The key of the segment control item. This should be unique among all items in the segment control.\r\n */\r\n key: string;\r\n\r\n /**\r\n * Optional. A boolean indicating whether the segment control item is disabled.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Required. The content of the segment control item. This can be a string or a React node.\r\n */\r\n content: React.ReactNode | string;\r\n}\r\n\r\nexport interface SegmentControlProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\r\n /**\r\n * Required. An array of SegmentControlItem objects representing the items in the segment control.\r\n */\r\n items: SegmentControlItem[];\r\n\r\n /**\r\n * Optional. The key of the currently selected item in the segment control. In order to change selected item\r\n * when user clicks on it, you should update this prop to display item as 'selected'.\r\n */\r\n selected: string;\r\n\r\n /**\r\n * Required. A function to be called when the selected item in the segment control changes.\r\n * It should take a string representing the key of the new selected item.\r\n */\r\n onChange: (value: string) => void;\r\n\r\n /**\r\n * Optional. The size of the segment control. Can be 'Small' or 'Medium'.\r\n */\r\n size?: Size.Small | Size.Medium;\r\n}\r\n\r\nconst SegmentControl: React.FunctionComponent<SegmentControlProps> = ({\r\n items,\r\n size = Size.Medium,\r\n onChange,\r\n selected,\r\n className,\r\n ...rest\r\n }) => {\r\n const onKeyPress = (e: React.KeyboardEvent<HTMLDivElement>, item: SegmentControlItem) => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n //@ts-ignore\r\n document?.activeElement?.blur();\r\n !item.disabled && onChange(item.key);\r\n }\r\n };\r\n\r\n const onClick = (e: React.MouseEvent, item: SegmentControlItem) => {\r\n !item.disabled && onChange(item.key);\r\n }\r\n\r\n return (\r\n <SegmentControlWrapper className={`${size} ${className || ''}`} {...rest}>\r\n {items.map((a, i) => {\r\n const {key, disabled, content, className, ...rest} = a;\r\n return <SegmentControlItemWrapper key={a.key || i}\r\n className={(className || '') + (a.disabled ? 'disabled' : '') + (a.key === selected ? ' selected' : '')}\r\n tabIndex={a.disabled || a.key === selected ? -1 : 0}\r\n onClick={a.disabled ? undefined : (e) => onClick(e, a)}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onKeyPress={a.disabled ? undefined : (e) => onKeyPress(e, a)}\r\n {...rest}>\r\n <SegmentControlItemBackground>\r\n <SegmentControlItemContent>\r\n {a.content}\r\n </SegmentControlItemContent>\r\n </SegmentControlItemBackground>\r\n </SegmentControlItemWrapper>;\r\n })\r\n }\r\n </SegmentControlWrapper>\r\n );\r\n};\r\n\r\nexport default SegmentControl;\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,145 @@
1
+ import React from 'react';
2
+ import {SegmentControlItemWrapper, SegmentControlWrapper} from '../SegmentControl';
3
+ import {render} from '../../test-utils';
4
+ import {SegmentControl} from '../index';
5
+ import {SystemIcons} from '../../icons';
6
+ import {fireEvent} from '@testing-library/react';
7
+ import { act } from "react";
8
+
9
+
10
+
11
+
12
+ describe('SegmentControl', () => {
13
+
14
+ const items = [
15
+ {key: 'item1', content: 'Item 1', disabled: false,},
16
+ {key: 'item2', content: 'Item 2', disabled: false,},
17
+ {key: 'item3', content: 'Item 3', disabled: false,},
18
+ {key: 'item4', content: 'Item 4', disabled: false,},
19
+ {key: 'item5', content: 'Item 5', disabled: false,},
20
+ {key: 'item6', content: 'Item 6', disabled: true,}
21
+ ];
22
+
23
+ const icons = [
24
+ {key: 'icon1', content: <SystemIcons.Legend3Star size={'20'}/>, disabled: false,},
25
+ {key: 'icon2', content: <SystemIcons.Legend4Square size={'20'}/>, disabled: false,},
26
+ {key: 'icon3', content: <SystemIcons.Legend5Diamond size={'20'}/>, disabled: false,},
27
+ {key: 'icon4', content: <SystemIcons.Legend6Nabla size={'20'}/>, disabled: false,},
28
+ {key: 'icon5', content: <SystemIcons.Legend7Pentagon size={'20'}/>, disabled: false,},
29
+ {key: 'icon6', content: <SystemIcons.Legend8Rectangle size={'20'}/>, disabled: true,}
30
+ ]
31
+
32
+ it('should render a segment control with items', () => {
33
+ const wrapper = render(
34
+ <SegmentControl items={items}
35
+ selected={items[0].key}
36
+ onChange={jest.fn()}/>
37
+ );
38
+
39
+ expect(wrapper.container.querySelectorAll(`${SegmentControlWrapper}`)).toHaveLength(1);
40
+ expect(wrapper.container.querySelectorAll(`${SegmentControlItemWrapper}`)).toHaveLength(6);
41
+ });
42
+
43
+ it('should render items with correct labels', () => {
44
+ const wrapper = render(
45
+ <SegmentControl items={items}
46
+ selected={items[0].key}
47
+ onChange={jest.fn()}/>
48
+ );
49
+
50
+ for (let item of items) {
51
+ expect(wrapper.getByText(item.content)).toBeTruthy();
52
+ }
53
+ });
54
+
55
+ it('should render items with icons', () => {
56
+ const wrapper = render(
57
+ <SegmentControl items={icons}
58
+ selected={icons[0].key}
59
+ onChange={jest.fn()}/>
60
+ );
61
+
62
+ expect(wrapper.container.querySelectorAll(`${SegmentControlWrapper}`)).toHaveLength(1);
63
+ expect(wrapper.container.querySelectorAll(`${SegmentControlItemWrapper}`)).toHaveLength(6);
64
+ });
65
+
66
+ it('should render correct item as selected', () => {
67
+ const wrapper = render(
68
+ <SegmentControl items={items}
69
+ selected={items[2].key}
70
+ onChange={jest.fn()}/>
71
+ );
72
+
73
+ expect(wrapper.container.querySelectorAll(`${SegmentControlItemWrapper}.selected`)).toHaveLength(1);
74
+ expect(wrapper.container.querySelectorAll(`${SegmentControlItemWrapper}`)[2].classList).toContain('selected');
75
+ });
76
+
77
+ it('should render correct item as disabled', () => {
78
+ const wrapper = render(
79
+ <SegmentControl items={items}
80
+ selected={items[2].key}
81
+ onChange={jest.fn()}/>
82
+ );
83
+
84
+ expect(wrapper.container.querySelectorAll(`${SegmentControlItemWrapper}.disabled`)).toHaveLength(1);
85
+ expect(wrapper.container.querySelectorAll(`${SegmentControlItemWrapper}`)[5].classList).toContain('disabled');
86
+ });
87
+
88
+ it('should call on change function on item click', () => {
89
+ const onChange = jest.fn();
90
+ const wrapper = render(
91
+ <SegmentControl items={items}
92
+ selected={items[2].key}
93
+ onChange={onChange}/>
94
+ );
95
+ act(() => {
96
+ wrapper.getByText(items[0].content).dispatchEvent(new MouseEvent('click', {bubbles: true}));
97
+ })
98
+ expect(onChange).toHaveBeenCalledTimes(1);
99
+ expect(onChange).toHaveBeenCalledWith(items[0].key);
100
+ });
101
+
102
+ it('should call on change function on item key press', () => {
103
+ const onChange = jest.fn();
104
+ const wrapper = render(
105
+ <SegmentControl items={items}
106
+ selected={items[2].key}
107
+ onChange={onChange}/>
108
+ );
109
+ act(() => {
110
+ fireEvent.keyPress(wrapper.getByText(items[0].content), {key: 'Enter', keyCode: 13, which: 13});
111
+ })
112
+
113
+ expect(onChange).toHaveBeenCalledTimes(1);
114
+ expect(onChange).toHaveBeenCalledWith(items[0].key);
115
+ });
116
+
117
+ it('should not call on change function on disabled item click', () => {
118
+ const onChange = jest.fn();
119
+ const wrapper = render(
120
+ <SegmentControl items={items}
121
+ selected={items[2].key}
122
+ onChange={onChange}/>
123
+ );
124
+ act(() => {
125
+ wrapper.getByText(items[5].content).dispatchEvent(new MouseEvent('click', {bubbles: true}));
126
+ })
127
+ expect(onChange).toHaveBeenCalledTimes(0);
128
+ });
129
+
130
+ it('should not call on change function on disabled item key press', () => {
131
+ const onChange = jest.fn();
132
+ const wrapper = render(
133
+ <SegmentControl items={items}
134
+ selected={items[2].key}
135
+ onChange={onChange}/>
136
+ );
137
+ act(() => {
138
+ fireEvent.keyPress(wrapper.getByText(items[5].content), {key: 'Enter', keyCode: 13, which: 13});
139
+ })
140
+
141
+ expect(onChange).toHaveBeenCalledTimes(0);
142
+ });
143
+
144
+
145
+ });
@@ -37,15 +37,24 @@ const LabelContainer = _styledComponents.default.div`
37
37
  margin-left: 8px;
38
38
 
39
39
  .small & {
40
- ${props => (0, _styles.ComponentSStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.getColor('neutral_600', props.theme))}
40
+ ${props => (0, _styles.ComponentSStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.generateToken({
41
+ componentType: 'text',
42
+ defaultVariant: 'subtle'
43
+ }, props.theme))}
41
44
  }
42
45
 
43
46
  .medium & {
44
- ${props => (0, _styles.ComponentMStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.getColor('neutral_600', props.theme))}
47
+ ${props => (0, _styles.ComponentMStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.generateToken({
48
+ componentType: 'text',
49
+ defaultVariant: 'subtle'
50
+ }, props.theme))}
45
51
  }
46
52
 
47
53
  .large & {
48
- ${props => (0, _styles.ComponentLStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.getColor('neutral_600', props.theme))}
54
+ ${props => (0, _styles.ComponentLStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.generateToken({
55
+ componentType: 'text',
56
+ defaultVariant: 'subtle'
57
+ }, props.theme))}
49
58
  }
50
59
  `;
51
60
  const SideMenuHeader = props => {
@@ -1 +1 @@
1
- {"version":3,"file":"SideMenuHeader.cjs","names":["_react","_interopRequireDefault","require","_styledComponents","_styles","_Button","_icons","_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","LabelContainer","props","ComponentSStyling","ComponentTextStyle","Bold","COLORS","getColor","theme","ComponentMStyling","ComponentLStyling","SideMenuHeader","jsxs","children","header","actions","map","_ref","index","icon","rest","_objectWithoutProperties2","jsx","IconButton","variant","shape","label","action","onClose","style","marginLeft","SystemIcons","Close","exports"],"sources":["../../src/SideMenu/SideMenuHeader.tsx"],"sourcesContent":["import React from 'react';\r\nimport {SideMenuProps} from './types';\r\nimport styled from 'styled-components';\r\nimport {COLORS, ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle} from '../styles';\r\nimport {IconButton} from '../Button';\r\nimport {SystemIcons} from '../icons';\r\n\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n align-items: center;\r\n padding: 0 8px;\r\n\r\n .small & {\r\n min-height: 48px;\r\n }\r\n\r\n .medium & {\r\n min-height: 56px;\r\n }\r\n\r\n .large & {\r\n min-height: 64px;\r\n }\r\n`;\r\n\r\nconst LabelContainer = styled.div`\r\n margin-left: 8px;\r\n\r\n .small & {\r\n ${props => ComponentSStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_600', props.theme))}\r\n }\r\n\r\n .medium & {\r\n ${props => ComponentMStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_600', props.theme))}\r\n }\r\n\r\n .large & {\r\n ${props => ComponentLStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_600', props.theme))}\r\n }\r\n`;\r\n\r\nexport const SideMenuHeader = (props: SideMenuProps) => {\r\n\r\n return (\r\n <Wrapper>\r\n {\r\n props.header?.actions?.map(({icon, ...rest}, index) =>\r\n <IconButton key={index} variant={'secondary'} shape={'circular'} {...rest}>\r\n {icon}\r\n </IconButton>\r\n )\r\n }\r\n {\r\n props.header?.label &&\r\n <LabelContainer>\r\n {props.header.label}\r\n </LabelContainer>\r\n }\r\n <IconButton action={props.onClose} variant={'secondary'} shape={'circular'} style={{marginLeft: 'auto'}}>\r\n <SystemIcons.Close/>\r\n </IconButton>\r\n </Wrapper>\r\n )\r\n};\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SideMenuHeader.cjs","names":["_react","_interopRequireDefault","require","_styledComponents","_styles","_Button","_icons","_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","LabelContainer","props","ComponentSStyling","ComponentTextStyle","Bold","COLORS","generateToken","componentType","defaultVariant","theme","ComponentMStyling","ComponentLStyling","SideMenuHeader","jsxs","children","header","actions","map","_ref","index","icon","rest","_objectWithoutProperties2","jsx","IconButton","variant","shape","label","action","onClose","style","marginLeft","SystemIcons","Close","exports"],"sources":["../../src/SideMenu/SideMenuHeader.tsx"],"sourcesContent":["import React from 'react';\r\nimport {SideMenuProps} from './types';\r\nimport styled from 'styled-components';\r\nimport {COLORS, ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle} from '../styles';\r\nimport {IconButton} from '../Button';\r\nimport {SystemIcons} from '../icons';\r\n\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n align-items: center;\r\n padding: 0 8px;\r\n\r\n .small & {\r\n min-height: 48px;\r\n }\r\n\r\n .medium & {\r\n min-height: 56px;\r\n }\r\n\r\n .large & {\r\n min-height: 64px;\r\n }\r\n`;\r\n\r\nconst LabelContainer = styled.div`\r\n margin-left: 8px;\r\n\r\n .small & {\r\n ${props => ComponentSStyling(ComponentTextStyle.Bold, COLORS.generateToken({componentType:'text',defaultVariant:'subtle'}, props.theme))}\r\n }\r\n\r\n .medium & {\r\n ${props => ComponentMStyling(ComponentTextStyle.Bold, COLORS.generateToken({componentType:'text',defaultVariant:'subtle'}, props.theme))}\r\n }\r\n\r\n .large & {\r\n ${props => ComponentLStyling(ComponentTextStyle.Bold, COLORS.generateToken({componentType:'text',defaultVariant:'subtle'}, props.theme))}\r\n }\r\n`;\r\n\r\nexport const SideMenuHeader = (props: SideMenuProps) => {\r\n\r\n return (\r\n <Wrapper>\r\n {\r\n props.header?.actions?.map(({icon, ...rest}, index) =>\r\n <IconButton key={index} variant={'secondary'} shape={'circular'} {...rest}>\r\n {icon}\r\n </IconButton>\r\n )\r\n }\r\n {\r\n props.header?.label &&\r\n <LabelContainer>\r\n {props.header.label}\r\n </LabelContainer>\r\n }\r\n <IconButton action={props.onClose} variant={'secondary'} shape={'circular'} style={{marginLeft: 'auto'}}>\r\n <SystemIcons.Close/>\r\n </IconButton>\r\n </Wrapper>\r\n )\r\n};\r\n"],"mappings":"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","ignoreList":[]}
@@ -30,15 +30,24 @@ const LabelContainer = styled.div`
30
30
  margin-left: 8px;
31
31
 
32
32
  .small & {
33
- ${props => ComponentSStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_600', props.theme))}
33
+ ${props => ComponentSStyling(ComponentTextStyle.Bold, COLORS.generateToken({
34
+ componentType: 'text',
35
+ defaultVariant: 'subtle'
36
+ }, props.theme))}
34
37
  }
35
38
 
36
39
  .medium & {
37
- ${props => ComponentMStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_600', props.theme))}
40
+ ${props => ComponentMStyling(ComponentTextStyle.Bold, COLORS.generateToken({
41
+ componentType: 'text',
42
+ defaultVariant: 'subtle'
43
+ }, props.theme))}
38
44
  }
39
45
 
40
46
  .large & {
41
- ${props => ComponentLStyling(ComponentTextStyle.Bold, COLORS.getColor('neutral_600', props.theme))}
47
+ ${props => ComponentLStyling(ComponentTextStyle.Bold, COLORS.generateToken({
48
+ componentType: 'text',
49
+ defaultVariant: 'subtle'
50
+ }, props.theme))}
42
51
  }
43
52
  `;
44
53
  export const SideMenuHeader = props => {