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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (315) hide show
  1. package/README.md +1 -1
  2. package/dist/Accordion/__tests__/AccordionMenu.test.tsx +42 -0
  3. package/dist/Accordion/__tests__/ContentAccordion.test.tsx +150 -0
  4. package/dist/AuthPage/__tests__/AuthPage.test.tsx +27 -0
  5. package/dist/Banners/__tests__/Banner.test.tsx +47 -0
  6. package/dist/Banners/__tests__/OverviewBanner.test.tsx +20 -0
  7. package/dist/Breadcrumb/__tests__/Breadcrumb.test.tsx +78 -0
  8. package/dist/Button/DualFunctionButton.cjs +4 -4
  9. package/dist/Button/DualFunctionButton.cjs.map +1 -1
  10. package/dist/Button/DualFunctionButton.d.ts +2 -2
  11. package/dist/Button/DualFunctionButton.js +4 -4
  12. package/dist/Button/DualFunctionButton.js.map +1 -1
  13. package/dist/Button/{Button.cjs → TextButton.cjs} +179 -92
  14. package/dist/Button/TextButton.cjs.map +1 -0
  15. package/dist/Button/TextButton.d.ts +70 -0
  16. package/dist/Button/{Button.js → TextButton.js} +178 -91
  17. package/dist/Button/TextButton.js.map +1 -0
  18. package/dist/Button/__tests__/BackButton.test.tsx +32 -0
  19. package/dist/Button/__tests__/Button.test.tsx +45 -0
  20. package/dist/Button/__tests__/DualButton.test.tsx +119 -0
  21. package/dist/Button/__tests__/TextButton.test.tsx +45 -0
  22. package/dist/Button/index.cjs +11 -11
  23. package/dist/Button/index.cjs.map +1 -1
  24. package/dist/Button/index.d.ts +2 -2
  25. package/dist/Button/index.js +2 -2
  26. package/dist/Button/index.js.map +1 -1
  27. package/dist/Card/HorizontalCard/__tests__/HorizontalCard.test.tsx +71 -0
  28. package/dist/Card/VerticalCard/{Card.cjs → VerticalCard.cjs} +62 -26
  29. package/dist/Card/VerticalCard/VerticalCard.cjs.map +1 -0
  30. package/dist/Card/VerticalCard/VerticalCard.d.ts +25 -0
  31. package/dist/Card/VerticalCard/{Card.js → VerticalCard.js} +62 -26
  32. package/dist/Card/VerticalCard/VerticalCard.js.map +1 -0
  33. package/dist/Card/VerticalCard/{CardBottomSection.cjs → VerticalCardBottomSection.cjs} +45 -27
  34. package/dist/Card/VerticalCard/VerticalCardBottomSection.cjs.map +1 -0
  35. package/dist/Card/VerticalCard/VerticalCardBottomSection.d.ts +53 -0
  36. package/dist/Card/VerticalCard/{CardBottomSection.js → VerticalCardBottomSection.js} +45 -27
  37. package/dist/Card/VerticalCard/VerticalCardBottomSection.js.map +1 -0
  38. package/dist/Card/VerticalCard/{CardMiddleSection.cjs → VerticalCardMiddleSection.cjs} +46 -23
  39. package/dist/Card/VerticalCard/VerticalCardMiddleSection.cjs.map +1 -0
  40. package/dist/Card/VerticalCard/VerticalCardMiddleSection.d.ts +42 -0
  41. package/dist/Card/VerticalCard/{CardMiddleSection.js → VerticalCardMiddleSection.js} +45 -23
  42. package/dist/Card/VerticalCard/VerticalCardMiddleSection.js.map +1 -0
  43. package/dist/Card/VerticalCard/{CardTopSection.cjs → VerticalCardTopSection.cjs} +18 -16
  44. package/dist/Card/VerticalCard/VerticalCardTopSection.cjs.map +1 -0
  45. package/dist/Card/VerticalCard/{CardTopSection.d.ts → VerticalCardTopSection.d.ts} +8 -8
  46. package/dist/Card/VerticalCard/{CardTopSection.js → VerticalCardTopSection.js} +17 -15
  47. package/dist/Card/VerticalCard/VerticalCardTopSection.js.map +1 -0
  48. package/dist/Card/VerticalCard/__tests__/VerticalCard.test.tsx +124 -0
  49. package/dist/Card/VerticalCard/index.cjs +25 -25
  50. package/dist/Card/VerticalCard/index.cjs.map +1 -1
  51. package/dist/Card/VerticalCard/index.d.ts +7 -7
  52. package/dist/Card/VerticalCard/index.js +7 -7
  53. package/dist/Card/VerticalCard/index.js.map +1 -1
  54. package/dist/Chips/ActionChip.cjs +6 -0
  55. package/dist/Chips/ActionChip.cjs.map +1 -1
  56. package/dist/Chips/ActionChip.js +6 -0
  57. package/dist/Chips/ActionChip.js.map +1 -1
  58. package/dist/Chips/ChipStyles.cjs +210 -31
  59. package/dist/Chips/ChipStyles.cjs.map +1 -1
  60. package/dist/Chips/ChipStyles.js +210 -31
  61. package/dist/Chips/ChipStyles.js.map +1 -1
  62. package/dist/Chips/ChoiceChips.cjs +1 -1
  63. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  64. package/dist/Chips/ChoiceChips.js +1 -1
  65. package/dist/Chips/ChoiceChips.js.map +1 -1
  66. package/dist/Chips/FilterChip.cjs +8 -1
  67. package/dist/Chips/FilterChip.cjs.map +1 -1
  68. package/dist/Chips/FilterChip.js +8 -1
  69. package/dist/Chips/FilterChip.js.map +1 -1
  70. package/dist/Chips/InputChip.cjs +14 -0
  71. package/dist/Chips/InputChip.cjs.map +1 -1
  72. package/dist/Chips/InputChip.js +14 -0
  73. package/dist/Chips/InputChip.js.map +1 -1
  74. package/dist/Chips/__tests__/ActionChip.test.tsx +94 -0
  75. package/dist/Chips/__tests__/ChoiceChips.test.tsx +79 -0
  76. package/dist/Chips/__tests__/FilterChip.test.tsx +95 -0
  77. package/dist/Chips/__tests__/InputChip.test.tsx +155 -0
  78. package/dist/ChipsInput/ChipInputField.cjs +8 -2
  79. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  80. package/dist/ChipsInput/ChipInputField.js +8 -2
  81. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  82. package/dist/ChipsInput/__tests__/ChipDropdownInput.test.tsx +100 -0
  83. package/dist/ChipsInput/__tests__/ChipInputFields.test.tsx +155 -0
  84. package/dist/Dropdown/DropdownContent.cjs +2 -2
  85. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  86. package/dist/Dropdown/DropdownContent.js +2 -2
  87. package/dist/Dropdown/DropdownContent.js.map +1 -1
  88. package/dist/Dropdown/__tests__/DropdownFilter.test.tsx +39 -0
  89. package/dist/Footer/Components/FooterTop.cjs +3 -0
  90. package/dist/Footer/Components/FooterTop.cjs.map +1 -1
  91. package/dist/Footer/Components/FooterTop.js +3 -0
  92. package/dist/Footer/Components/FooterTop.js.map +1 -1
  93. package/dist/Footer/__tests__/Footer.test.tsx +182 -0
  94. package/dist/GlobalNavigationBar/Logo.cjs +2 -1
  95. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  96. package/dist/GlobalNavigationBar/Logo.js +2 -1
  97. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  98. package/dist/GlobalNavigationBar/__tests__/Logo.test.tsx +39 -0
  99. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +10 -1
  100. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
  101. package/dist/GlobalNavigationBar/desktop/MainMenu.js +10 -1
  102. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
  103. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs +5 -4
  104. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -1
  105. package/dist/GlobalNavigationBar/desktop/RightSideNav.js +6 -5
  106. package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -1
  107. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +1 -1
  108. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  109. package/dist/GlobalNavigationBar/desktop/UserMenu.js +2 -2
  110. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  111. package/dist/GlobalNavigationBar/desktop/__tests__/DesktopActions.test.tsx +108 -0
  112. package/dist/GlobalNavigationBar/desktop/__tests__/ExtendedMainMenu.test.tsx +28 -0
  113. package/dist/GlobalNavigationBar/desktop/__tests__/MainMenu.test.tsx +55 -0
  114. package/dist/GlobalNavigationBar/desktop/__tests__/RightSideNav.test.tsx +45 -0
  115. package/dist/GlobalNavigationBar/desktop/__tests__/UserMenu.test.tsx +125 -0
  116. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  117. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  118. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.cjs +1 -1
  119. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.cjs.map +1 -1
  120. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.js +2 -2
  121. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.js.map +1 -1
  122. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenu.test.tsx +317 -0
  123. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuContent.test.tsx +294 -0
  124. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuHeader.test.tsx +195 -0
  125. package/dist/GlobalNavigationBar/types.cjs.map +1 -1
  126. package/dist/GlobalNavigationBar/types.d.ts +2 -2
  127. package/dist/GlobalNavigationBar/types.js.map +1 -1
  128. package/dist/HyperLink/HyperLink.cjs +18 -2
  129. package/dist/HyperLink/HyperLink.cjs.map +1 -1
  130. package/dist/HyperLink/HyperLink.d.ts +2 -0
  131. package/dist/HyperLink/HyperLink.js +18 -2
  132. package/dist/HyperLink/HyperLink.js.map +1 -1
  133. package/dist/HyperLink/styling.cjs +4 -0
  134. package/dist/HyperLink/styling.cjs.map +1 -1
  135. package/dist/HyperLink/styling.js +4 -0
  136. package/dist/HyperLink/styling.js.map +1 -1
  137. package/dist/InputFields/DatepickerField.cjs +21 -5
  138. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  139. package/dist/InputFields/DatepickerField.d.ts +1 -1
  140. package/dist/InputFields/DatepickerField.js +21 -5
  141. package/dist/InputFields/DatepickerField.js.map +1 -1
  142. package/dist/InputFields/NumberField.cjs +4 -0
  143. package/dist/InputFields/NumberField.cjs.map +1 -1
  144. package/dist/InputFields/NumberField.js +4 -0
  145. package/dist/InputFields/NumberField.js.map +1 -1
  146. package/dist/InputFields/RadioButton.cjs +2 -2
  147. package/dist/InputFields/RadioButton.cjs.map +1 -1
  148. package/dist/InputFields/RadioButton.d.ts +4 -4
  149. package/dist/InputFields/RadioButton.js +2 -2
  150. package/dist/InputFields/RadioButton.js.map +1 -1
  151. package/dist/InputFields/__tests__/NumberField.test.tsx +67 -0
  152. package/dist/InputFields/__tests__/NumberInput.test.tsx +68 -0
  153. package/dist/InputFields/__tests__/QuickSearch.test.tsx +42 -0
  154. package/dist/InputFields/components/SearchBarInput.cjs +5 -0
  155. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  156. package/dist/InputFields/components/SearchBarInput.js +5 -0
  157. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  158. package/dist/LinearProgress/__tests__/LinearProgress.test.tsx +25 -0
  159. package/dist/List/__tests__/ListRow.test.tsx +18 -0
  160. package/dist/LoadingPage/__tests__/GlobalLoadingPage.test.tsx +23 -0
  161. package/dist/MiniProductCard/MiniProductCard.cjs +15 -1
  162. package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -1
  163. package/dist/MiniProductCard/MiniProductCard.d.ts +1 -0
  164. package/dist/MiniProductCard/MiniProductCard.js +15 -1
  165. package/dist/MiniProductCard/MiniProductCard.js.map +1 -1
  166. package/dist/Modals/ModalContainer.cjs +102 -83
  167. package/dist/Modals/ModalContainer.cjs.map +1 -1
  168. package/dist/Modals/ModalContainer.d.ts +20 -1
  169. package/dist/Modals/ModalContainer.js +103 -84
  170. package/dist/Modals/ModalContainer.js.map +1 -1
  171. package/dist/Modals/ModalContent.cjs +7 -3
  172. package/dist/Modals/ModalContent.cjs.map +1 -1
  173. package/dist/Modals/ModalContent.js +8 -4
  174. package/dist/Modals/ModalContent.js.map +1 -1
  175. package/dist/Modals/ModalDialog.cjs +2 -2
  176. package/dist/Modals/ModalDialog.cjs.map +1 -1
  177. package/dist/Modals/ModalDialog.js +3 -3
  178. package/dist/Modals/ModalDialog.js.map +1 -1
  179. package/dist/Modals/ModalStyles.cjs +12 -0
  180. package/dist/Modals/ModalStyles.cjs.map +1 -1
  181. package/dist/Modals/ModalStyles.js +12 -0
  182. package/dist/Modals/ModalStyles.js.map +1 -1
  183. package/dist/Modals/ModalTypes.cjs.map +1 -1
  184. package/dist/Modals/ModalTypes.d.ts +3 -3
  185. package/dist/Modals/ModalTypes.js.map +1 -1
  186. package/dist/Modals/__tests__/Modal.test.tsx +169 -0
  187. package/dist/Modals/__tests__/ModalContainer.test.tsx +77 -0
  188. package/dist/Modals/__tests__/ModalContent.test.tsx +126 -0
  189. package/dist/NavItem/NavItem.cjs +7 -1
  190. package/dist/NavItem/NavItem.cjs.map +1 -1
  191. package/dist/NavItem/NavItem.js +7 -1
  192. package/dist/NavItem/NavItem.js.map +1 -1
  193. package/dist/NavItem/__tests__/NavItem.test.ts +6 -0
  194. package/dist/Navigation/NavigationProvider.cjs.map +1 -1
  195. package/dist/Navigation/NavigationProvider.d.ts +3 -0
  196. package/dist/Navigation/NavigationProvider.js.map +1 -1
  197. package/dist/NotificationDot/__tests__/NotificationDot.test.tsx +33 -0
  198. package/dist/Paginator/Paginator.cjs +18 -14
  199. package/dist/Paginator/Paginator.cjs.map +1 -1
  200. package/dist/Paginator/Paginator.d.ts +1 -5
  201. package/dist/Paginator/Paginator.js +18 -14
  202. package/dist/Paginator/Paginator.js.map +1 -1
  203. package/dist/Paginator/__tests__/Paginator.test.tsx +33 -0
  204. package/dist/Popover/Popover.cjs +1 -1
  205. package/dist/Popover/Popover.cjs.map +1 -1
  206. package/dist/Popover/Popover.js +2 -2
  207. package/dist/Popover/Popover.js.map +1 -1
  208. package/dist/Popover/__tests__/Popover.test.tsx +64 -0
  209. package/dist/ProfileButton/__tests__/ProfileButton.test.tsx +31 -0
  210. package/dist/QuizButton/__tests__/QuizButton.test.tsx +53 -0
  211. package/dist/SegmentControl/__tests__/SegmentControl.test.tsx +145 -0
  212. package/dist/SideMenu/SideMenuFooter.cjs +1 -1
  213. package/dist/SideMenu/SideMenuFooter.cjs.map +1 -1
  214. package/dist/SideMenu/SideMenuFooter.js +2 -2
  215. package/dist/SideMenu/SideMenuFooter.js.map +1 -1
  216. package/dist/SideMenu/__tests__/SideMenu.test.tsx +99 -0
  217. package/dist/SideMenu/types.cjs.map +1 -1
  218. package/dist/SideMenu/types.d.ts +2 -2
  219. package/dist/SideMenu/types.js.map +1 -1
  220. package/dist/Switcher/__tests__/SwitcherMenuItem.tsx +14 -0
  221. package/dist/Table/TableBody.cjs +1 -1
  222. package/dist/Table/TableBody.cjs.map +1 -1
  223. package/dist/Table/TableBody.js +2 -2
  224. package/dist/Table/TableBody.js.map +1 -1
  225. package/dist/Table/TableStyles.cjs +4 -1
  226. package/dist/Table/TableStyles.cjs.map +1 -1
  227. package/dist/Table/TableStyles.js +4 -1
  228. package/dist/Table/TableStyles.js.map +1 -1
  229. package/dist/Table/TableTypes.cjs.map +1 -1
  230. package/dist/Table/TableTypes.d.ts +2 -2
  231. package/dist/Table/TableTypes.js.map +1 -1
  232. package/dist/Table/__tests__/Table.test.tsx +499 -0
  233. package/dist/Tabs/VerticalTabs.cjs +1 -0
  234. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  235. package/dist/Tabs/VerticalTabs.js +1 -0
  236. package/dist/Tabs/VerticalTabs.js.map +1 -1
  237. package/dist/Tabs/__tests__/HorizontalTabs.test.tsx +95 -0
  238. package/dist/Tabs/__tests__/TabLink.test.tsx +40 -0
  239. package/dist/Tabs/__tests__/Tablist.test.tsx +37 -0
  240. package/dist/Tag/Tag.cjs +48 -12
  241. package/dist/Tag/Tag.cjs.map +1 -1
  242. package/dist/Tag/Tag.js +48 -12
  243. package/dist/Tag/Tag.js.map +1 -1
  244. package/dist/Tag/__tests__/Tag.test.tsx +86 -0
  245. package/dist/Tile/TileCommonItems.cjs +1 -1
  246. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  247. package/dist/Tile/TileCommonItems.js +2 -2
  248. package/dist/Tile/TileCommonItems.js.map +1 -1
  249. package/dist/Tile/TileTypes.cjs.map +1 -1
  250. package/dist/Tile/TileTypes.d.ts +2 -2
  251. package/dist/Tile/TileTypes.js.map +1 -1
  252. package/dist/Toasters/Toast.cjs +1 -2
  253. package/dist/Toasters/Toast.cjs.map +1 -1
  254. package/dist/Toasters/Toast.js +2 -3
  255. package/dist/Toasters/Toast.js.map +1 -1
  256. package/dist/Toasters/__tests__/Toast.test.tsx +74 -0
  257. package/dist/Toggles/TogglerStyles.cjs +171 -15
  258. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  259. package/dist/Toggles/TogglerStyles.js +171 -15
  260. package/dist/Toggles/TogglerStyles.js.map +1 -1
  261. package/dist/Toggles/__tests__/ToggleButton.test.tsx +53 -0
  262. package/dist/Toggles/__tests__/ToggleSwitch.test.tsx +87 -0
  263. package/dist/Tooltips/__tests__/TooltipWrapper.test.tsx +16 -0
  264. package/dist/common/NavigationHelper.cjs +0 -28
  265. package/dist/common/NavigationHelper.cjs.map +1 -1
  266. package/dist/common/NavigationHelper.d.ts +0 -4
  267. package/dist/common/NavigationHelper.js +1 -22
  268. package/dist/common/NavigationHelper.js.map +1 -1
  269. package/dist/styles/colors.cjs +6 -0
  270. package/dist/styles/colors.cjs.map +1 -1
  271. package/dist/styles/colors.d.ts +6 -0
  272. package/dist/styles/colors.js +6 -0
  273. package/dist/styles/colors.js.map +1 -1
  274. package/dist/styles/design-tokens/dark/tokens.css +481 -0
  275. package/dist/styles/design-tokens/light/tokens.css +481 -0
  276. package/dist/styles/design-tokens/rqi_dark/tokens.css +481 -0
  277. package/dist/styles/design-tokens/rqi_light/tokens.css +481 -0
  278. package/dist/styles/global.cjs +4 -4
  279. package/dist/styles/global.cjs.map +1 -1
  280. package/dist/styles/global.js +4 -4
  281. package/dist/styles/global.js.map +1 -1
  282. package/dist/styles/react-datepicker.css +766 -0
  283. package/dist/styles/typography.cjs +4 -1
  284. package/dist/styles/typography.cjs.map +1 -1
  285. package/dist/styles/typography.js +4 -1
  286. package/dist/styles/typography.js.map +1 -1
  287. package/dist/test-utils.cjs +7 -1
  288. package/dist/test-utils.cjs.map +1 -1
  289. package/dist/test-utils.js +7 -1
  290. package/dist/test-utils.js.map +1 -1
  291. package/package.json +11 -6
  292. package/dist/Button/Button.cjs.map +0 -1
  293. package/dist/Button/Button.d.ts +0 -70
  294. package/dist/Button/Button.js.map +0 -1
  295. package/dist/Card/VerticalCard/Card.cjs.map +0 -1
  296. package/dist/Card/VerticalCard/Card.d.ts +0 -24
  297. package/dist/Card/VerticalCard/Card.js.map +0 -1
  298. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +0 -1
  299. package/dist/Card/VerticalCard/CardBottomSection.d.ts +0 -49
  300. package/dist/Card/VerticalCard/CardBottomSection.js.map +0 -1
  301. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +0 -1
  302. package/dist/Card/VerticalCard/CardMiddleSection.d.ts +0 -37
  303. package/dist/Card/VerticalCard/CardMiddleSection.js.map +0 -1
  304. package/dist/Card/VerticalCard/CardTopSection.cjs.map +0 -1
  305. package/dist/Card/VerticalCard/CardTopSection.js.map +0 -1
  306. package/dist/GlobalNavigationBar/__tests__/GlobalNavigationBar.tests.d.ts +0 -1
  307. package/dist/GlobalNavigationBar/__tests__/Logo.tests.d.ts +0 -1
  308. package/dist/List/__tests__/ListRow.tests.d.ts +0 -1
  309. package/dist/Tabs/__tests__/TabLink.tests.d.ts +0 -1
  310. package/dist/Tabs/__tests__/Tablist.tests.d.ts +0 -2
  311. package/dist/common/Link.cjs +0 -45
  312. package/dist/common/Link.cjs.map +0 -1
  313. package/dist/common/Link.d.ts +0 -9
  314. package/dist/common/Link.js +0 -37
  315. package/dist/common/Link.js.map +0 -1
@@ -91,7 +91,7 @@ const ItemContent = styled('div')`
91
91
  width: 100%;
92
92
  height: 100%;
93
93
 
94
- &.somename {
94
+ &.currentPage {
95
95
  z-index: ${Z_INDEXES.active};
96
96
  color: ${props => COLORS.generateToken({
97
97
  componentType: 'text',
@@ -124,7 +124,7 @@ const ItemContent = styled('div')`
124
124
  }
125
125
  }
126
126
 
127
- &.somename:after{
127
+ &.currentPage:after{
128
128
  content: '';
129
129
  position: absolute;
130
130
  bottom: 4px;
@@ -136,13 +136,13 @@ const ItemContent = styled('div')`
136
136
  defaultVariant: 'selected'
137
137
  }, props.theme)}
138
138
  }
139
- &.somename:hover:after{
139
+ &.currentPage:hover:after{
140
140
  background-color: ${props => COLORS.generateToken({
141
141
  componentType: 'border',
142
142
  defaultVariant: 'selected'
143
143
  }, props.theme)}
144
144
  }
145
- &.somename:active:after{
145
+ &.currentPage:active:after{
146
146
  background-color: ${props => COLORS.generateToken({
147
147
  componentType: 'border',
148
148
  defaultVariant: 'selected'
@@ -153,14 +153,13 @@ const ItemContent = styled('div')`
153
153
  const Step = _ref => {
154
154
  let {
155
155
  up = true,
156
- target = '',
157
156
  disabled = false,
158
157
  page,
159
158
  onPageChange,
160
159
  id
161
160
  } = _ref;
162
161
  const handleButtonClick = () => {
163
- onPageChange && !onPageChange(page);
162
+ onPageChange && onPageChange(page);
164
163
  };
165
164
  return /*#__PURE__*/_jsx(IconButton, {
166
165
  id: id,
@@ -168,14 +167,17 @@ const Step = _ref => {
168
167
  variant: 'secondary',
169
168
  shape: 'circular',
170
169
  disabled: disabled,
171
- children: up ? /*#__PURE__*/_jsx(SystemIcons.ChevronRight, {}) : /*#__PURE__*/_jsx(SystemIcons.ChevronLeft, {})
170
+ children: up ? /*#__PURE__*/_jsx(SystemIcons.ChevronRight, {
171
+ "aria-label": "Next Page"
172
+ }) : /*#__PURE__*/_jsx(SystemIcons.ChevronLeft, {
173
+ "aria-label": "Previous Page"
174
+ })
172
175
  });
173
176
  };
174
177
  const Paginator = _ref2 => {
175
178
  let {
176
179
  pageCount = 1,
177
180
  currentPage = 1,
178
- baseUrl = '',
179
181
  onPageChange
180
182
  } = _ref2;
181
183
  const pages = [];
@@ -198,15 +200,16 @@ const Paginator = _ref2 => {
198
200
  }
199
201
  }
200
202
  return /*#__PURE__*/_jsx(Container, {
203
+ "aria-label": "Pagination",
201
204
  children: /*#__PURE__*/_jsxs(Items, {
202
205
  children: [/*#__PURE__*/_jsx(Step, {
203
206
  up: false,
204
- target: `${baseUrl}/${currentPage - 1}`,
205
207
  page: currentPage - 1,
206
208
  disabled: currentPage === 1,
207
209
  onPageChange: onPageChange,
208
210
  id: "paginator-left"
209
211
  }), pages.findIndex(item => item === 1) === -1 && /*#__PURE__*/_jsx(Item, {
212
+ "aria-current": currentPage === 1,
210
213
  children: /*#__PURE__*/_jsx(HyperLink, {
211
214
  target: "_self",
212
215
  onClick: e => {
@@ -216,29 +219,32 @@ const Paginator = _ref2 => {
216
219
  variant: 'styleless',
217
220
  href: '',
218
221
  children: /*#__PURE__*/_jsx(ItemContent, {
219
- className: currentPage === 1 ? 'somename' : '',
222
+ className: currentPage === 1 ? 'currentPage' : '',
220
223
  children: /*#__PURE__*/_jsx("span", {
221
224
  children: "1"
222
225
  })
223
226
  })
224
227
  })
225
228
  }), currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && /*#__PURE__*/_jsx(Dots, {}), pages.map(page => /*#__PURE__*/_jsx(Item, {
229
+ "aria-current": currentPage === page,
226
230
  children: /*#__PURE__*/_jsx(HyperLink, {
227
231
  target: "_self",
228
232
  href: '',
229
233
  onClick: e => {
234
+ console.log(`Page changed to: ${page}`);
230
235
  onPageChange && onPageChange(page);
231
236
  e.preventDefault();
232
237
  },
233
238
  variant: 'styleless',
234
239
  children: /*#__PURE__*/_jsx(ItemContent, {
235
- className: currentPage === page ? 'somename' : '',
240
+ className: currentPage === page ? 'currentPage' : '',
236
241
  children: /*#__PURE__*/_jsx("span", {
237
242
  children: page
238
243
  })
239
244
  })
240
245
  })
241
246
  }, page)), pageCount > 5 && currentPage <= pageCount - 3 && /*#__PURE__*/_jsx(Dots, {}), pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && /*#__PURE__*/_jsx(Item, {
247
+ "aria-current": currentPage === pageCount,
242
248
  children: /*#__PURE__*/_jsx(HyperLink, {
243
249
  target: "_self",
244
250
  href: '',
@@ -248,7 +254,7 @@ const Paginator = _ref2 => {
248
254
  e.preventDefault();
249
255
  },
250
256
  children: /*#__PURE__*/_jsx(ItemContent, {
251
- className: currentPage === pageCount ? 'somename' : '',
257
+ className: currentPage === pageCount ? 'currentPage' : '',
252
258
  children: /*#__PURE__*/_jsx("span", {
253
259
  children: pageCount
254
260
  })
@@ -256,7 +262,6 @@ const Paginator = _ref2 => {
256
262
  })
257
263
  }), /*#__PURE__*/_jsx(Step, {
258
264
  up: true,
259
- target: `${baseUrl}/${currentPage + 1}`,
260
265
  page: currentPage + 1,
261
266
  disabled: currentPage === pageCount,
262
267
  onPageChange: onPageChange,
@@ -268,7 +273,6 @@ const Paginator = _ref2 => {
268
273
  Paginator.propTypes = {
269
274
  pageCount: _pt.number.isRequired,
270
275
  currentPage: _pt.number.isRequired,
271
- baseUrl: _pt.string.isRequired,
272
276
  onPageChange: _pt.func
273
277
  };
274
278
  export default Paginator;
@@ -1 +1 @@
1
- {"version":3,"file":"Paginator.js","names":["React","styled","BREAKPOINTS","COLORS","ComponentTextStyle","focusStyles","SystemIcons","ComponentMStyling","Z_INDEXES","IconButton","HyperLink","jsx","_jsx","jsxs","_jsxs","Container","nav","MEDIUM","Items","ul","Item","li","props","Regular","generateToken","componentType","defaultVariant","theme","hover","state","active","Dots","ItemContent","Step","_ref","up","target","disabled","page","onPageChange","id","handleButtonClick","action","event","variant","shape","children","ChevronRight","ChevronLeft","Paginator","_ref2","pageCount","currentPage","baseUrl","pages","from","to","i","push","findIndex","item","onClick","e","preventDefault","href","className","map","propTypes","_pt","number","isRequired","string","func"],"sources":["../../src/Paginator/Paginator.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport {BREAKPOINTS, COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\nimport {SystemIcons} from '../icons';\r\nimport {ComponentMStyling} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport {IconButton} from '../Button';\r\nimport { HyperLink } from '../HyperLink';\r\n\r\nconst Container = styled.nav`\r\n margin: 20px 0;\r\n display: flex;\r\n justify-content: center;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: 75%;\r\n }\r\n`;\r\n\r\nconst Items = styled.ul`\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n display: flex;\r\n`;\r\n\r\nconst Item = styled.li`\r\n width: 48px;\r\n height: 48px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n & > * {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n text-decoration: none;\r\n\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.generateToken({componentType:'text', defaultVariant: 'subtle'}, props.theme))}\r\n\r\n &:focus,\r\n &:focus-within {\r\n ${focusStyles}\r\n }\r\n }\r\n & > a:hover {\r\n z-index: ${Z_INDEXES.hover};\r\n color: ${props => COLORS.generateToken({ componentType:'text', state: 'hover' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType:'bg-surface', state:'hover' }, props.theme)};\r\n }\r\n\r\n & > a:active {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.generateToken({ componentType:'text', state:'active' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType:'bg-surface', state:'active' }, props.theme)};\r\n }\r\n`;\r\n\r\nconst Dots = styled(Item)`\r\n cursor: not-allowed;\r\n &:after{\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.generateToken({componentType:'icon',defaultVariant:'subtle'}, props.theme))}\r\n content: '...';\r\n }\r\n`;\r\n\r\nconst ItemContent = styled('div')`\r\n text-align:center;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n \r\n &.somename {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'default' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'selected' }, props.theme)};\r\n cursor: default;\r\n &:hover {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'hover' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'hover' }, props.theme)};\r\n }\r\n &:active {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'active' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'active' }, props.theme)};\r\n }\r\n }\r\n\r\n &.somename:after{\r\n content: '';\r\n position: absolute;\r\n bottom: 4px;\r\n width: 32px;\r\n border-radius: 4px;\r\n height: 4px;\r\n background-color: ${props => COLORS.generateToken({componentType: 'border', defaultVariant: 'selected'}, props.theme)}\r\n }\r\n &.somename:hover:after{\r\n background-color: ${props => COLORS.generateToken({componentType: 'border', defaultVariant: 'selected'}, props.theme)}\r\n }\r\n &.somename:active:after{\r\n background-color: ${props => COLORS.generateToken({componentType: 'border', defaultVariant: 'selected'}, props.theme)}\r\n }\r\n`\r\n\r\nexport interface PaginatorProps {\r\n /**\r\n * Required. The total number of pages.\r\n */\r\n pageCount: number;\r\n\r\n /**\r\n * Required. The current active page.\r\n */\r\n currentPage: number;\r\n\r\n /**\r\n * Required. The base URL to which the page number will be appended.\r\n */\r\n baseUrl: string;\r\n\r\n /**\r\n * Optional. A callback function that will be called when the page changes.\r\n * It receives the new page number as its argument.\r\n * If the function returns false, the page change will be prevented.\r\n */\r\n onPageChange?: (page: number) => boolean | void;\r\n};\r\n\r\nconst Step = ({\r\n up = true,\r\n target = '',\r\n disabled = false,\r\n page,\r\n onPageChange,\r\n id,\r\n}: {\r\n up: boolean;\r\n target: string;\r\n disabled: boolean;\r\n page: number;\r\n onPageChange?: (page: number) => void | boolean;\r\n id?: string;\r\n}) => {\r\n \r\n const handleButtonClick = () => {\r\n onPageChange && !onPageChange(page);\r\n }\r\n\r\n return (\r\n <IconButton id={id}\r\n action={event => handleButtonClick()}\r\n variant={'secondary'}\r\n shape={'circular'}\r\n disabled={disabled}>\r\n {up ? <SystemIcons.ChevronRight/> : <SystemIcons.ChevronLeft/>}\r\n </IconButton>\r\n )\r\n};\r\n\r\nconst Paginator = ({ pageCount = 1, currentPage = 1, baseUrl = '', onPageChange }: PaginatorProps) => {\r\n const pages = [];\r\n let from = 2;\r\n let to = 4;\r\n if (pageCount === 0) return null;\r\n\r\n if (pageCount > 1) {\r\n if (currentPage >= 4 && currentPage <= pageCount - 2) {\r\n from = currentPage - 1;\r\n to = currentPage + 1;\r\n } else if (pageCount - 2 > 1 && currentPage > pageCount - 2) {\r\n from = pageCount - 3;\r\n to = pageCount - 1;\r\n }\r\n if (to > pageCount) {\r\n to = pageCount;\r\n }\r\n for (let i = from; i <= to; i += 1) {\r\n pages.push(i);\r\n }\r\n }\r\n\r\n return (\r\n <Container>\r\n <Items>\r\n <Step up={false}\r\n target={`${baseUrl}/${currentPage - 1}`}\r\n page={currentPage - 1}\r\n disabled={currentPage === 1}\r\n onPageChange={onPageChange}\r\n id=\"paginator-left\"/>\r\n {pages.findIndex(item => item === 1) === -1 && (\r\n <Item>\r\n <HyperLink\r\n target='_self'\r\n onClick={(e) => {\r\n onPageChange && onPageChange(1);\r\n e.preventDefault();\r\n } } variant={'styleless'} href={''}>\r\n <ItemContent className={currentPage === 1 ? 'somename' : ''}>\r\n <span>1</span>\r\n </ItemContent>\r\n </HyperLink>\r\n </Item>\r\n )}\r\n {currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && (\r\n <Dots/>\r\n )}\r\n {pages.map(page => (\r\n <Item key={page}>\r\n <HyperLink\r\n target='_self'\r\n href={''}\r\n onClick={(e) => {\r\n onPageChange && onPageChange(page);\r\n e.preventDefault();\r\n } } variant={'styleless'}>\r\n <ItemContent className={currentPage === page ? 'somename' : ''}>\r\n <span>{page}</span>\r\n </ItemContent>\r\n </HyperLink>\r\n </Item>\r\n ))}\r\n {pageCount > 5 && currentPage <= pageCount - 3 && (\r\n <Dots/>\r\n )}\r\n {pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && (\r\n <Item>\r\n <HyperLink\r\n target='_self'\r\n href={''}\r\n variant='styleless'\r\n onClick={(e) => {\r\n onPageChange && onPageChange(pageCount);\r\n e.preventDefault();\r\n }}>\r\n <ItemContent className={currentPage === pageCount ? 'somename' : ''}>\r\n <span>{pageCount}</span>\r\n </ItemContent>\r\n </HyperLink>\r\n </Item>\r\n )}\r\n <Step up\r\n target={`${baseUrl}/${currentPage + 1}`}\r\n page={currentPage + 1}\r\n disabled={currentPage === pageCount}\r\n onPageChange={onPageChange}\r\n id=\"paginator-right\"/>\r\n </Items>\r\n </Container>\r\n );\r\n};\r\n\r\nexport default Paginator;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Paginator.js","names":["React","styled","BREAKPOINTS","COLORS","ComponentTextStyle","focusStyles","SystemIcons","ComponentMStyling","Z_INDEXES","IconButton","HyperLink","jsx","_jsx","jsxs","_jsxs","Container","nav","MEDIUM","Items","ul","Item","li","props","Regular","generateToken","componentType","defaultVariant","theme","hover","state","active","Dots","ItemContent","Step","_ref","up","disabled","page","onPageChange","id","handleButtonClick","action","event","variant","shape","children","ChevronRight","ChevronLeft","Paginator","_ref2","pageCount","currentPage","pages","from","to","i","push","findIndex","item","target","onClick","e","preventDefault","href","className","map","console","log","propTypes","_pt","number","isRequired","func"],"sources":["../../src/Paginator/Paginator.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport {BREAKPOINTS, COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\nimport {SystemIcons} from '../icons';\r\nimport {ComponentMStyling} from '../styles';\r\nimport {Z_INDEXES} from '../styles';\r\nimport {IconButton} from '../Button';\r\nimport { HyperLink } from '../HyperLink';\r\n\r\nconst Container = styled.nav`\r\n margin: 20px 0;\r\n display: flex;\r\n justify-content: center;\r\n\r\n ${BREAKPOINTS.MEDIUM} {\r\n width: 75%;\r\n }\r\n`;\r\n\r\nconst Items = styled.ul`\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n display: flex;\r\n`;\r\n\r\nconst Item = styled.li`\r\n width: 48px;\r\n height: 48px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n & > * {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n text-decoration: none;\r\n\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.generateToken({componentType:'text', defaultVariant: 'subtle'}, props.theme))}\r\n\r\n &:focus,\r\n &:focus-within {\r\n ${focusStyles}\r\n }\r\n }\r\n & > a:hover {\r\n z-index: ${Z_INDEXES.hover};\r\n color: ${props => COLORS.generateToken({ componentType:'text', state: 'hover' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType:'bg-surface', state:'hover' }, props.theme)};\r\n }\r\n\r\n & > a:active {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.generateToken({ componentType:'text', state:'active' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType:'bg-surface', state:'active' }, props.theme)};\r\n }\r\n`;\r\n\r\nconst Dots = styled(Item)`\r\n cursor: not-allowed;\r\n &:after{\r\n ${props => ComponentMStyling(ComponentTextStyle.Regular, COLORS.generateToken({componentType:'icon',defaultVariant:'subtle'}, props.theme))}\r\n content: '...';\r\n }\r\n`;\r\n\r\nconst ItemContent = styled('div')`\r\n text-align:center;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n position: relative;\r\n width: 100%;\r\n height: 100%;\r\n \r\n &.currentPage {\r\n z-index: ${Z_INDEXES.active};\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'default' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'selected' }, props.theme)};\r\n cursor: default;\r\n &:hover {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'hover' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'hover' }, props.theme)};\r\n }\r\n &:active {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'active' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'active' }, props.theme)};\r\n }\r\n }\r\n\r\n &.currentPage:after{\r\n content: '';\r\n position: absolute;\r\n bottom: 4px;\r\n width: 32px;\r\n border-radius: 4px;\r\n height: 4px;\r\n background-color: ${props => COLORS.generateToken({componentType: 'border', defaultVariant: 'selected'}, props.theme)}\r\n }\r\n &.currentPage:hover:after{\r\n background-color: ${props => COLORS.generateToken({componentType: 'border', defaultVariant: 'selected'}, props.theme)}\r\n }\r\n &.currentPage:active:after{\r\n background-color: ${props => COLORS.generateToken({componentType: 'border', defaultVariant: 'selected'}, props.theme)}\r\n }\r\n`\r\n\r\nexport interface PaginatorProps {\r\n /**\r\n * Required. The total number of pages.\r\n */\r\n pageCount: number;\r\n\r\n /**\r\n * Required. The current active page.\r\n */\r\n currentPage: number;\r\n\r\n /**\r\n * Optional. A callback function that will be called when the page changes.\r\n * It receives the new page number as its argument.\r\n * If the function returns false, the page change will be prevented.\r\n */\r\n onPageChange?: (page: number) => boolean | void;\r\n};\r\n\r\nconst Step = ({\r\n up = true,\r\n disabled = false,\r\n page,\r\n onPageChange,\r\n id,\r\n}: {\r\n up: boolean;\r\n disabled: boolean;\r\n page: number;\r\n onPageChange?: (page: number) => void | boolean;\r\n id?: string;\r\n}) => {\r\n \r\n const handleButtonClick = () => {\r\n onPageChange && onPageChange(page);\r\n }\r\n\r\n return (\r\n <IconButton id={id}\r\n action={event => handleButtonClick()}\r\n variant={'secondary'}\r\n shape={'circular'}\r\n disabled={disabled}>\r\n {up ? <SystemIcons.ChevronRight aria-label=\"Next Page\" /> : <SystemIcons.ChevronLeft aria-label=\"Previous Page\"/>}\r\n </IconButton>\r\n )\r\n};\r\n\r\nconst Paginator = ({ pageCount = 1, currentPage = 1, onPageChange }: PaginatorProps) => {\r\n const pages = [];\r\n let from = 2;\r\n let to = 4;\r\n if (pageCount === 0) return null;\r\n\r\n if (pageCount > 1) {\r\n if (currentPage >= 4 && currentPage <= pageCount - 2) {\r\n from = currentPage - 1;\r\n to = currentPage + 1;\r\n } else if (pageCount - 2 > 1 && currentPage > pageCount - 2) {\r\n from = pageCount - 3;\r\n to = pageCount - 1;\r\n }\r\n if (to > pageCount) {\r\n to = pageCount;\r\n }\r\n for (let i = from; i <= to; i += 1) {\r\n pages.push(i);\r\n }\r\n }\r\n\r\n return (\r\n <Container aria-label=\"Pagination\">\r\n <Items>\r\n <Step up={false}\r\n page={currentPage - 1}\r\n disabled={currentPage === 1}\r\n onPageChange={onPageChange}\r\n id=\"paginator-left\"/>\r\n {pages.findIndex(item => item === 1) === -1 && (\r\n <Item aria-current={currentPage === 1}>\r\n <HyperLink\r\n target='_self'\r\n onClick={(e) => {\r\n onPageChange && onPageChange(1);\r\n e.preventDefault();\r\n } } variant={'styleless'} href={''}>\r\n <ItemContent className={currentPage === 1 ? 'currentPage' : ''}>\r\n <span>1</span>\r\n </ItemContent>\r\n </HyperLink>\r\n </Item>\r\n )}\r\n {currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && (\r\n <Dots/>\r\n )}\r\n {pages.map(page => (\r\n <Item key={page} aria-current={currentPage === page}>\r\n <HyperLink\r\n target='_self'\r\n href={''}\r\n onClick={(e) => {\r\n console.log(`Page changed to: ${page}`);\r\n onPageChange && onPageChange(page);\r\n e.preventDefault();\r\n } } variant={'styleless'}>\r\n <ItemContent className={currentPage === page ? 'currentPage' : ''}>\r\n <span>{page}</span>\r\n </ItemContent>\r\n </HyperLink>\r\n </Item>\r\n ))}\r\n {pageCount > 5 && currentPage <= pageCount - 3 && (\r\n <Dots/>\r\n )}\r\n {pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && (\r\n <Item aria-current={currentPage === pageCount}>\r\n <HyperLink\r\n target='_self'\r\n href={''}\r\n variant='styleless'\r\n onClick={(e) => {\r\n onPageChange && onPageChange(pageCount);\r\n e.preventDefault();\r\n }}>\r\n <ItemContent className={currentPage === pageCount ? 'currentPage' : ''}>\r\n <span>{pageCount}</span>\r\n </ItemContent>\r\n </HyperLink>\r\n </Item>\r\n )}\r\n <Step up\r\n page={currentPage + 1}\r\n disabled={currentPage === pageCount}\r\n onPageChange={onPageChange}\r\n id=\"paginator-right\"/>\r\n </Items>\r\n </Container>\r\n );\r\n};\r\n\r\nexport default Paginator;\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { queryByAttribute, render } from '../../test-utils';
3
+ import { Paginator } from '../index';
4
+ import { createMemoryHistory } from 'history';
5
+ import 'jest-styled-components';
6
+
7
+
8
+
9
+ describe('<Paginator />', () => {
10
+
11
+ it('Renders Paginator', async () => {
12
+
13
+ let curPage = 1;
14
+ const { queryByText, container } = render(
15
+ <Paginator pageCount={6} currentPage={1} onPageChange={(page) => {
16
+ console.log(`Page changed to: ${page}`);
17
+ curPage = page; }} />
18
+ );
19
+
20
+ expect(queryByText('1')).toBeDefined();
21
+ expect(container.querySelector('#paginator-left')).toBeDefined();
22
+ expect(container.querySelector('#paginator-right')).toBeDefined();
23
+ expect(queryByText('6')).toBeDefined();
24
+
25
+ // Click on stepper to the right. Expect to be taken from 1 to 2
26
+ (container.querySelector('#paginator-right') as HTMLElement)?.click();
27
+ expect(curPage).toBe(2);
28
+
29
+ // Click directly on 6. Expect to be taken to /6
30
+ (queryByText('6') as HTMLElement)?.click();
31
+ expect(curPage).toBe(6);
32
+ });
33
+ });
@@ -251,7 +251,7 @@ const Popover = _ref => {
251
251
  children: [!!bottomSectionProps?.textButton?.icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(TextButtonContainer, {
252
252
  $size: size,
253
253
  "data-testid": 'textBtn',
254
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
254
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.TextButton, {
255
255
  size: size,
256
256
  variant: "secondary",
257
257
  icon: bottomSectionProps.textButton.icon,
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_","_Button","_icons","_styles","_types","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PopoverContainer","exports","styled","div","props","$size","Size","Small","Large","COLORS","generateToken","componentType","defaultVariant","theme","BOXSHADOWS","BOXSHADOW_CENTERED","Z_INDEXES","popover","$position","Position","Bottom","Top","Left","Right","$showArrowPointer","renderArrowStyles","PopoverTopSectionContainer","PopoverMiddleSectionContainer","scrollBarStyling","PopoverBottomSectionContainer","TextContainer","renderMargins","$note","NoteContainer","ComponentXXSStyling","ComponentTextStyle","Regular","ComponentSStyling","ComponentXSStyling","LabelContainer","Bold","ComponentLStyling","ComponentMStyling","CloseButtonContainer","TextButtonContainer","IconButtonContainer","PopoverWrapper","$showOnClick","$showPopover","isNotePresent","size","position","Popover","_ref","Medium","topSectionProps","bottomSectionProps","mainContent","children","showOnClick","showArrowPointer","showPopover","setShowPopover","useState","useTheme","popoverRef","useRef","useEffect","checkIfClickedOutside","current","contains","target","document","addEventListener","removeEventListener","jsxs","ref","note","jsx","text","IconButton","action","useTransparentBackground","iconColor","variant","shape","SystemIcons","Close","textButton","icon","Button","onClick","label","className","iconButtons","map","iconButton","propTypes","_propTypes","string","isRequired","arrayOf","node","func","bool","_default"],"sources":["../../src/Popover/Popover.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { useTheme } from 'styled-components';\r\nimport { COLORS, ComponentTextStyle, ComponentXSStyling } from '..';\r\nimport { Button, IconButton } from '../Button';\r\nimport { SystemIcons } from '../icons';\r\nimport { BOXSHADOWS, ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXXSStyling, scrollBarStyling, Z_INDEXES } from '../styles';\r\nimport { Position, Size } from '../types';\r\n\r\nexport const PopoverContainer = styled.div<{ $size: Size; $position: Position; $showArrowPointer: boolean }>`\r\n //height: ${(props) => (props.$size === Size.Small ? '240px' : props.$size === Size.Large ? '480px' : '360px')};\r\n min-width: ${(props) => (props.$size === Size.Small ? '320px' : props.$size === Size.Large ? '640px' : '480px')};\r\n border-radius: 4px;\r\n background: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'high' }, props.theme)};\r\n cursor: default;\r\n box-shadow: ${BOXSHADOWS.BOXSHADOW_CENTERED};\r\n\r\n position: absolute; \r\n visibility: hidden;\r\n opacity: 0;\r\n z-index: ${Z_INDEXES.popover};\r\n\r\n ${(props) => (props.$position == Position.Bottom ? 'right: 50%; top: calc(100% + 16px); transform: translateX(50%);' : '')}\r\n ${(props) => (props.$position == Position.Top ? 'right: 50%; bottom: calc(100% + 16px); transform: translateX(50%);' : '')}\r\n\r\n ${(props) => (props.$position == Position.Left ? 'bottom: 50%; right: calc(100% + 16px); transform: translateY(50%);' : '')}\r\n ${(props) => (props.$position == Position.Right ? 'bottom: 50%; left: calc(100% + 16px); transform: translateY(50%);' : '')}\r\n\r\n &::after {\r\n ${(props) => (props.$showArrowPointer ? renderArrowStyles(props.$position) : '')}\r\n`;\r\n\r\nexport const PopoverTopSectionContainer = styled.div<{ $size: Size }>`\r\n height: ${(props) => (props.$size === Size.Small ? '56px' : props.$size === Size.Large ? '72px' : '64px')};\r\n display: flex;\r\n`;\r\n\r\nexport const PopoverMiddleSectionContainer = styled.div<{ $size: Size }>`\r\n margin: 8px;\r\n height: ${(props) => (props.$size === Size.Small ? '104px' : props.$size === Size.Large ? '304px' : '208px')};\r\n padding: ${(props) => (props.$size === Size.Small ? '0 8px' : props.$size === Size.Large ? '0 16px' : '0 12px')};\r\n overflow-y: auto;\r\n ${scrollBarStyling(Size.Small)}\r\n`;\r\n\r\nexport const PopoverBottomSectionContainer = styled.div<{ $size: Size }>`\r\n height: ${(props) => (props.$size === Size.Small ? '64px' : props.$size === Size.Large ? '88px' : '72px')}; \r\n display: flex;\r\n\r\n .bottom-flex {\r\n flex: 1;\r\n }\r\n`;\r\n\r\nconst TextContainer = styled.div<{ $note: boolean; $size: Size }>`\r\n display: flex;\r\n flex-direction: column;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'default' }, props.theme)};\r\n margin: ${(props) => renderMargins(props.$note, props.$size)};\r\n flex-grow: 1;\r\n`;\r\n\r\nconst NoteContainer = styled.div<{ $size: Size }>`\r\n ${(props) =>\r\n props.$size === Size.Small\r\n ? ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme))\r\n : props.$size === Size.Large\r\n ? ComponentSStyling(ComponentTextStyle.Regular, COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme))\r\n : ComponentXSStyling(ComponentTextStyle.Regular, COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme))}\r\n`;\r\n\r\nconst LabelContainer = styled.div<{ $size: Size }>`\r\n ${(props) =>\r\n props.$size === Size.Small\r\n ? ComponentSStyling(ComponentTextStyle.Bold, null)\r\n : props.$size === Size.Large\r\n ? ComponentLStyling(ComponentTextStyle.Bold, null)\r\n : ComponentMStyling(ComponentTextStyle.Bold, null)}\r\n`;\r\n\r\nconst CloseButtonContainer = styled.div<{ $size: Size }>`\r\n margin: ${(props) => (props.$size === Size.Small ? '4px 16px 4px 0' : props.$size === Size.Large ? '12px 24px 12px 0' : '8px 20px 8px 0')};\r\n`;\r\n\r\nconst TextButtonContainer = styled.div<{ $size: Size }>`\r\n margin: ${(props) => (props.$size === Size.Small ? '8px 0 8px 16px' : props.$size === Size.Large ? '16px 0 16px 24px' : '12px 0 12px 20px')};\r\n`;\r\n\r\nconst IconButtonContainer = styled.div<{ $size: Size }>`\r\n margin: ${(props) => (props.$size === Size.Small ? '8px 16px 8px 0' : props.$size === Size.Large ? '16px 24px 16px 0' : '12px 20px 12px 0')};\r\n display: flex;\r\n`;\r\n\r\nexport const PopoverWrapper = styled.div<{ $position: Position; $showOnClick: boolean; $showPopover: boolean }>`\r\n position: relative;\r\n\r\n .pointer-space {\r\n height: ${(props) => (props.$position === Position.Top || props.$position === Position.Bottom ? '16px' : '100%')};\r\n width: ${(props) => (props.$position === Position.Left || props.$position === Position.Right ? '16px' : '100%')};\r\n position: absolute;\r\n\r\n ${(props) => (props.$position === Position.Left ? 'right:100%; bottom: 0%' : '')};\r\n ${(props) => (props.$position === Position.Right ? 'left:100%; bottom: 0%' : '')};\r\n\r\n ${(props) => (props.$position === Position.Top ? 'bottom: 100%' : '')};\r\n ${(props) => (props.$position === Position.Bottom ? 'top: 100%' : '')};\r\n }\r\n\r\n ${(props) =>\r\n props.$showOnClick\r\n ? `${PopoverContainer} {\r\n visibility: ${props.$showPopover ? 'visible' : 'hidden'};\r\n opacity: ${props.$showPopover ? '1' : '0'};\r\n }\r\n cursor: pointer;`\r\n : `&:hover {\r\n ${PopoverContainer} {\r\n visibility: visible;\r\n opacity: 1;\r\n }\r\n }`}\r\n`;\r\n\r\nconst renderMargins = (isNotePresent: boolean, size: Size): string => {\r\n if (isNotePresent) {\r\n return size === Size.Small ? '10px 16px' : size === Size.Large ? '14px 24px' : '12px 20px';\r\n } else {\r\n return size === Size.Small ? '18px 16px' : size === Size.Large ? '24px' : '20px';\r\n }\r\n};\r\n\r\nconst renderArrowStyles = (position: Position) => {\r\n if (position === Position.Bottom) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 16px solid transparent;\r\n border-right: 12px solid transparent;\r\n border-bottom: 16px solid rgb(255,255,255);\r\n border-left: 12px solid transparent;\r\n content: \"\";\r\n position: absolute;\r\n right: calc(50% - 12px);\r\n bottom: calc(100% - 1px);`;\r\n }\r\n\r\n if (position === Position.Top) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 16px solid rgb(255,255,255);\r\n border-right: 12px solid transparent;\r\n border-bottom: 16px solid transparent;\r\n border-left: 12px solid transparent;\r\n content: \"\";\r\n position: absolute;\r\n right: calc(50% - 12px);\r\n top: calc(100% - 1px);`;\r\n }\r\n\r\n if (position === Position.Left) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 12px solid transparent;\r\n border-right: 16px solid transparent;\r\n border-bottom: 12px solid transparent;\r\n border-left: 16px solid rgb(255,255,255);\r\n content: \"\";\r\n position: absolute;\r\n left: calc(100% - 1px);\r\n bottom: calc(50% - 12px);`;\r\n }\r\n\r\n if (position === Position.Right) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 12px solid transparent;\r\n border-right: 16px solid rgb(255,255,255);\r\n border-bottom: 12px solid transparent;\r\n border-left: 16px solid transparent;\r\n content: \"\";\r\n position: absolute;\r\n right: calc(100% - 1px);\r\n bottom: calc(50% - 12px);`;\r\n }\r\n};\r\n\r\nexport interface PopoverTopSectionProps {\r\n /**\r\n * Required. The main text to be displayed in the top section of the popover.\r\n */\r\n text: string;\r\n\r\n /**\r\n * Optional. A note to be displayed below the main text in the top section of the popover.\r\n */\r\n note?: string;\r\n};\r\n\r\nexport interface PopoverActionButtonProps {\r\n /**\r\n * Required. The icon to be displayed on the button.\r\n */\r\n icon: React.ReactNode;\r\n\r\n /**\r\n * Required. The handler function to be called when the button is clicked.\r\n */\r\n action: () => void;\r\n\r\n /**\r\n * Optional. The label for the button. If provided, the button will display this text.\r\n */\r\n label?: string;\r\n};\r\n\r\nexport interface PopoverBottomSectionProps {\r\n /**\r\n * Optional. An array of PopoverActionButtonProps objects.\r\n * Each object represents an icon button to be displayed in the bottom section of the popover.\r\n */\r\n iconButtons?: PopoverActionButtonProps[];\r\n\r\n /**\r\n * Optional. A PopoverActionButtonProps object representing a text button to be displayed in the bottom section of the popover.\r\n */\r\n textButton?: PopoverActionButtonProps;\r\n};\r\n\r\nexport interface PopoverProps {\r\n /**\r\n * Optional. The size of the popover. It can be 'Small', 'Medium', or 'Large'.\r\n * Defaults to 'Medium' if not specified.\r\n */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n\r\n /**\r\n * Optional. Properties for the top section of the popover.\r\n */\r\n topSectionProps?: PopoverTopSectionProps;\r\n\r\n /**\r\n * Optional. Properties for the bottom section of the popover.\r\n */\r\n bottomSectionProps?: PopoverBottomSectionProps;\r\n\r\n /**\r\n * Required. The main content to be displayed in the popover.\r\n */\r\n mainContent: React.ReactNode;\r\n\r\n /**\r\n * Required. The children to be rendered inside the popover.\r\n */\r\n children: React.ReactNode;\r\n\r\n /**\r\n * Required. The position of the popover relative to the target element.\r\n * It can be 'Top', 'Bottom', 'Right', or 'Left'.\r\n */\r\n position: Position.Top | Position.Bottom | Position.Right | Position.Left;\r\n\r\n /**\r\n * Required. A boolean indicating whether the popover should be shown when the target element is clicked. Defaults to 'false', meaning that popover will be shown on mouse hover.\r\n */\r\n showOnClick: boolean;\r\n\r\n /**\r\n * Optional. A boolean indicating whether an arrow pointer should be shown on the popover.\r\n * Defaults to 'false' if not specified.\r\n */\r\n showArrowPointer?: boolean;\r\n};\r\n\r\nconst Popover: React.FunctionComponent<PopoverProps> = ({\r\n size = Size.Medium,\r\n topSectionProps,\r\n bottomSectionProps,\r\n mainContent,\r\n children,\r\n position,\r\n showOnClick = false,\r\n showArrowPointer = false,\r\n}) => {\r\n const [showPopover, setShowPopover] = React.useState(false);\r\n const theme = useTheme();\r\n const popoverRef = React.useRef<any>(null);\r\n\r\n React.useEffect(() => {\r\n const checkIfClickedOutside = (e: { target: any }) => {\r\n if (showPopover && popoverRef.current && !popoverRef.current.contains(e.target)) {\r\n setShowPopover(false);\r\n }\r\n };\r\n\r\n document.addEventListener('mousedown', checkIfClickedOutside);\r\n\r\n return () => {\r\n document.removeEventListener('mousedown', checkIfClickedOutside);\r\n };\r\n }, [showPopover]);\r\n\r\n return (\r\n <PopoverWrapper $position={position} $showOnClick={showOnClick} $showPopover={showPopover}>\r\n <PopoverContainer $size={size} $position={position} ref={popoverRef} $showArrowPointer={showArrowPointer}>\r\n {!!topSectionProps && (\r\n <PopoverTopSectionContainer $size={size}>\r\n <TextContainer $note={!!topSectionProps?.note} $size={size}>\r\n {topSectionProps?.note && <NoteContainer $size={size}>{topSectionProps.note}</NoteContainer>}\r\n <LabelContainer $size={size}>{topSectionProps?.text}</LabelContainer>\r\n </TextContainer>\r\n\r\n {showOnClick && (\r\n <CloseButtonContainer $size={size} data-testid={'closeBtn'}>\r\n <IconButton action={() => setShowPopover(false)} useTransparentBackground \r\n iconColor={COLORS.generateToken({ componentType: 'icon', defaultVariant: 'subtle' }, theme)} variant=\"secondary\" shape=\"circular\">\r\n <SystemIcons.Close />\r\n </IconButton>\r\n </CloseButtonContainer>\r\n )}\r\n </PopoverTopSectionContainer>\r\n )}\r\n\r\n <PopoverMiddleSectionContainer $size={size}>{mainContent}</PopoverMiddleSectionContainer>\r\n\r\n {!!bottomSectionProps && (\r\n <PopoverBottomSectionContainer $size={size}>\r\n {!!bottomSectionProps?.textButton?.icon && (\r\n <TextButtonContainer $size={size} data-testid={'textBtn'}>\r\n <Button size={size} variant=\"secondary\" icon={bottomSectionProps.textButton.icon} onClick={bottomSectionProps.textButton.action}>\r\n {bottomSectionProps.textButton.label}\r\n </Button>\r\n </TextButtonContainer>\r\n )}\r\n\r\n <div className=\"bottom-flex\" />\r\n\r\n <IconButtonContainer $size={size} data-testid={'iconBtn'}>\r\n {bottomSectionProps?.iconButtons?.map((iconButton) => (\r\n <IconButton action={iconButton.action} variant=\"secondary\" shape=\"circular\" useTransparentBackground>\r\n {iconButton.icon}\r\n </IconButton>\r\n ))}\r\n </IconButtonContainer>\r\n </PopoverBottomSectionContainer>\r\n )}\r\n </PopoverContainer>\r\n\r\n <div onClick={() => showOnClick && setShowPopover(!showPopover)}>\r\n {children}\r\n\r\n <div className=\"pointer-space\" />\r\n </div>\r\n </PopoverWrapper>\r\n );\r\n};\r\n\r\nexport default Popover;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Popover.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_","_Button","_icons","_styles","_types","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PopoverContainer","exports","styled","div","props","$size","Size","Small","Large","COLORS","generateToken","componentType","defaultVariant","theme","BOXSHADOWS","BOXSHADOW_CENTERED","Z_INDEXES","popover","$position","Position","Bottom","Top","Left","Right","$showArrowPointer","renderArrowStyles","PopoverTopSectionContainer","PopoverMiddleSectionContainer","scrollBarStyling","PopoverBottomSectionContainer","TextContainer","renderMargins","$note","NoteContainer","ComponentXXSStyling","ComponentTextStyle","Regular","ComponentSStyling","ComponentXSStyling","LabelContainer","Bold","ComponentLStyling","ComponentMStyling","CloseButtonContainer","TextButtonContainer","IconButtonContainer","PopoverWrapper","$showOnClick","$showPopover","isNotePresent","size","position","Popover","_ref","Medium","topSectionProps","bottomSectionProps","mainContent","children","showOnClick","showArrowPointer","showPopover","setShowPopover","useState","useTheme","popoverRef","useRef","useEffect","checkIfClickedOutside","current","contains","target","document","addEventListener","removeEventListener","jsxs","ref","note","jsx","text","IconButton","action","useTransparentBackground","iconColor","variant","shape","SystemIcons","Close","textButton","icon","TextButton","onClick","label","className","iconButtons","map","iconButton","propTypes","_propTypes","string","isRequired","arrayOf","node","func","bool","_default"],"sources":["../../src/Popover/Popover.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { useTheme } from 'styled-components';\r\nimport { COLORS, ComponentTextStyle, ComponentXSStyling } from '..';\r\nimport { TextButton, IconButton } from '../Button';\r\nimport { SystemIcons } from '../icons';\r\nimport { BOXSHADOWS, ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXXSStyling, scrollBarStyling, Z_INDEXES } from '../styles';\r\nimport { Position, Size } from '../types';\r\n\r\nexport const PopoverContainer = styled.div<{ $size: Size; $position: Position; $showArrowPointer: boolean }>`\r\n //height: ${(props) => (props.$size === Size.Small ? '240px' : props.$size === Size.Large ? '480px' : '360px')};\r\n min-width: ${(props) => (props.$size === Size.Small ? '320px' : props.$size === Size.Large ? '640px' : '480px')};\r\n border-radius: 4px;\r\n background: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'high' }, props.theme)};\r\n cursor: default;\r\n box-shadow: ${BOXSHADOWS.BOXSHADOW_CENTERED};\r\n\r\n position: absolute; \r\n visibility: hidden;\r\n opacity: 0;\r\n z-index: ${Z_INDEXES.popover};\r\n\r\n ${(props) => (props.$position == Position.Bottom ? 'right: 50%; top: calc(100% + 16px); transform: translateX(50%);' : '')}\r\n ${(props) => (props.$position == Position.Top ? 'right: 50%; bottom: calc(100% + 16px); transform: translateX(50%);' : '')}\r\n\r\n ${(props) => (props.$position == Position.Left ? 'bottom: 50%; right: calc(100% + 16px); transform: translateY(50%);' : '')}\r\n ${(props) => (props.$position == Position.Right ? 'bottom: 50%; left: calc(100% + 16px); transform: translateY(50%);' : '')}\r\n\r\n &::after {\r\n ${(props) => (props.$showArrowPointer ? renderArrowStyles(props.$position) : '')}\r\n`;\r\n\r\nexport const PopoverTopSectionContainer = styled.div<{ $size: Size }>`\r\n height: ${(props) => (props.$size === Size.Small ? '56px' : props.$size === Size.Large ? '72px' : '64px')};\r\n display: flex;\r\n`;\r\n\r\nexport const PopoverMiddleSectionContainer = styled.div<{ $size: Size }>`\r\n margin: 8px;\r\n height: ${(props) => (props.$size === Size.Small ? '104px' : props.$size === Size.Large ? '304px' : '208px')};\r\n padding: ${(props) => (props.$size === Size.Small ? '0 8px' : props.$size === Size.Large ? '0 16px' : '0 12px')};\r\n overflow-y: auto;\r\n ${scrollBarStyling(Size.Small)}\r\n`;\r\n\r\nexport const PopoverBottomSectionContainer = styled.div<{ $size: Size }>`\r\n height: ${(props) => (props.$size === Size.Small ? '64px' : props.$size === Size.Large ? '88px' : '72px')}; \r\n display: flex;\r\n\r\n .bottom-flex {\r\n flex: 1;\r\n }\r\n`;\r\n\r\nconst TextContainer = styled.div<{ $note: boolean; $size: Size }>`\r\n display: flex;\r\n flex-direction: column;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'default' }, props.theme)};\r\n margin: ${(props) => renderMargins(props.$note, props.$size)};\r\n flex-grow: 1;\r\n`;\r\n\r\nconst NoteContainer = styled.div<{ $size: Size }>`\r\n ${(props) =>\r\n props.$size === Size.Small\r\n ? ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme))\r\n : props.$size === Size.Large\r\n ? ComponentSStyling(ComponentTextStyle.Regular, COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme))\r\n : ComponentXSStyling(ComponentTextStyle.Regular, COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme))}\r\n`;\r\n\r\nconst LabelContainer = styled.div<{ $size: Size }>`\r\n ${(props) =>\r\n props.$size === Size.Small\r\n ? ComponentSStyling(ComponentTextStyle.Bold, null)\r\n : props.$size === Size.Large\r\n ? ComponentLStyling(ComponentTextStyle.Bold, null)\r\n : ComponentMStyling(ComponentTextStyle.Bold, null)}\r\n`;\r\n\r\nconst CloseButtonContainer = styled.div<{ $size: Size }>`\r\n margin: ${(props) => (props.$size === Size.Small ? '4px 16px 4px 0' : props.$size === Size.Large ? '12px 24px 12px 0' : '8px 20px 8px 0')};\r\n`;\r\n\r\nconst TextButtonContainer = styled.div<{ $size: Size }>`\r\n margin: ${(props) => (props.$size === Size.Small ? '8px 0 8px 16px' : props.$size === Size.Large ? '16px 0 16px 24px' : '12px 0 12px 20px')};\r\n`;\r\n\r\nconst IconButtonContainer = styled.div<{ $size: Size }>`\r\n margin: ${(props) => (props.$size === Size.Small ? '8px 16px 8px 0' : props.$size === Size.Large ? '16px 24px 16px 0' : '12px 20px 12px 0')};\r\n display: flex;\r\n`;\r\n\r\nexport const PopoverWrapper = styled.div<{ $position: Position; $showOnClick: boolean; $showPopover: boolean }>`\r\n position: relative;\r\n\r\n .pointer-space {\r\n height: ${(props) => (props.$position === Position.Top || props.$position === Position.Bottom ? '16px' : '100%')};\r\n width: ${(props) => (props.$position === Position.Left || props.$position === Position.Right ? '16px' : '100%')};\r\n position: absolute;\r\n\r\n ${(props) => (props.$position === Position.Left ? 'right:100%; bottom: 0%' : '')};\r\n ${(props) => (props.$position === Position.Right ? 'left:100%; bottom: 0%' : '')};\r\n\r\n ${(props) => (props.$position === Position.Top ? 'bottom: 100%' : '')};\r\n ${(props) => (props.$position === Position.Bottom ? 'top: 100%' : '')};\r\n }\r\n\r\n ${(props) =>\r\n props.$showOnClick\r\n ? `${PopoverContainer} {\r\n visibility: ${props.$showPopover ? 'visible' : 'hidden'};\r\n opacity: ${props.$showPopover ? '1' : '0'};\r\n }\r\n cursor: pointer;`\r\n : `&:hover {\r\n ${PopoverContainer} {\r\n visibility: visible;\r\n opacity: 1;\r\n }\r\n }`}\r\n`;\r\n\r\nconst renderMargins = (isNotePresent: boolean, size: Size): string => {\r\n if (isNotePresent) {\r\n return size === Size.Small ? '10px 16px' : size === Size.Large ? '14px 24px' : '12px 20px';\r\n } else {\r\n return size === Size.Small ? '18px 16px' : size === Size.Large ? '24px' : '20px';\r\n }\r\n};\r\n\r\nconst renderArrowStyles = (position: Position) => {\r\n if (position === Position.Bottom) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 16px solid transparent;\r\n border-right: 12px solid transparent;\r\n border-bottom: 16px solid rgb(255,255,255);\r\n border-left: 12px solid transparent;\r\n content: \"\";\r\n position: absolute;\r\n right: calc(50% - 12px);\r\n bottom: calc(100% - 1px);`;\r\n }\r\n\r\n if (position === Position.Top) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 16px solid rgb(255,255,255);\r\n border-right: 12px solid transparent;\r\n border-bottom: 16px solid transparent;\r\n border-left: 12px solid transparent;\r\n content: \"\";\r\n position: absolute;\r\n right: calc(50% - 12px);\r\n top: calc(100% - 1px);`;\r\n }\r\n\r\n if (position === Position.Left) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 12px solid transparent;\r\n border-right: 16px solid transparent;\r\n border-bottom: 12px solid transparent;\r\n border-left: 16px solid rgb(255,255,255);\r\n content: \"\";\r\n position: absolute;\r\n left: calc(100% - 1px);\r\n bottom: calc(50% - 12px);`;\r\n }\r\n\r\n if (position === Position.Right) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 12px solid transparent;\r\n border-right: 16px solid rgb(255,255,255);\r\n border-bottom: 12px solid transparent;\r\n border-left: 16px solid transparent;\r\n content: \"\";\r\n position: absolute;\r\n right: calc(100% - 1px);\r\n bottom: calc(50% - 12px);`;\r\n }\r\n};\r\n\r\nexport interface PopoverTopSectionProps {\r\n /**\r\n * Required. The main text to be displayed in the top section of the popover.\r\n */\r\n text: string;\r\n\r\n /**\r\n * Optional. A note to be displayed below the main text in the top section of the popover.\r\n */\r\n note?: string;\r\n};\r\n\r\nexport interface PopoverActionButtonProps {\r\n /**\r\n * Required. The icon to be displayed on the button.\r\n */\r\n icon: React.ReactNode;\r\n\r\n /**\r\n * Required. The handler function to be called when the button is clicked.\r\n */\r\n action: () => void;\r\n\r\n /**\r\n * Optional. The label for the button. If provided, the button will display this text.\r\n */\r\n label?: string;\r\n};\r\n\r\nexport interface PopoverBottomSectionProps {\r\n /**\r\n * Optional. An array of PopoverActionButtonProps objects.\r\n * Each object represents an icon button to be displayed in the bottom section of the popover.\r\n */\r\n iconButtons?: PopoverActionButtonProps[];\r\n\r\n /**\r\n * Optional. A PopoverActionButtonProps object representing a text button to be displayed in the bottom section of the popover.\r\n */\r\n textButton?: PopoverActionButtonProps;\r\n};\r\n\r\nexport interface PopoverProps {\r\n /**\r\n * Optional. The size of the popover. It can be 'Small', 'Medium', or 'Large'.\r\n * Defaults to 'Medium' if not specified.\r\n */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n\r\n /**\r\n * Optional. Properties for the top section of the popover.\r\n */\r\n topSectionProps?: PopoverTopSectionProps;\r\n\r\n /**\r\n * Optional. Properties for the bottom section of the popover.\r\n */\r\n bottomSectionProps?: PopoverBottomSectionProps;\r\n\r\n /**\r\n * Required. The main content to be displayed in the popover.\r\n */\r\n mainContent: React.ReactNode;\r\n\r\n /**\r\n * Required. The children to be rendered inside the popover.\r\n */\r\n children: React.ReactNode;\r\n\r\n /**\r\n * Required. The position of the popover relative to the target element.\r\n * It can be 'Top', 'Bottom', 'Right', or 'Left'.\r\n */\r\n position: Position.Top | Position.Bottom | Position.Right | Position.Left;\r\n\r\n /**\r\n * Required. A boolean indicating whether the popover should be shown when the target element is clicked. Defaults to 'false', meaning that popover will be shown on mouse hover.\r\n */\r\n showOnClick: boolean;\r\n\r\n /**\r\n * Optional. A boolean indicating whether an arrow pointer should be shown on the popover.\r\n * Defaults to 'false' if not specified.\r\n */\r\n showArrowPointer?: boolean;\r\n};\r\n\r\nconst Popover: React.FunctionComponent<PopoverProps> = ({\r\n size = Size.Medium,\r\n topSectionProps,\r\n bottomSectionProps,\r\n mainContent,\r\n children,\r\n position,\r\n showOnClick = false,\r\n showArrowPointer = false,\r\n}) => {\r\n const [showPopover, setShowPopover] = React.useState(false);\r\n const theme = useTheme();\r\n const popoverRef = React.useRef<any>(null);\r\n\r\n React.useEffect(() => {\r\n const checkIfClickedOutside = (e: { target: any }) => {\r\n if (showPopover && popoverRef.current && !popoverRef.current.contains(e.target)) {\r\n setShowPopover(false);\r\n }\r\n };\r\n\r\n document.addEventListener('mousedown', checkIfClickedOutside);\r\n\r\n return () => {\r\n document.removeEventListener('mousedown', checkIfClickedOutside);\r\n };\r\n }, [showPopover]);\r\n\r\n return (\r\n <PopoverWrapper $position={position} $showOnClick={showOnClick} $showPopover={showPopover}>\r\n <PopoverContainer $size={size} $position={position} ref={popoverRef} $showArrowPointer={showArrowPointer}>\r\n {!!topSectionProps && (\r\n <PopoverTopSectionContainer $size={size}>\r\n <TextContainer $note={!!topSectionProps?.note} $size={size}>\r\n {topSectionProps?.note && <NoteContainer $size={size}>{topSectionProps.note}</NoteContainer>}\r\n <LabelContainer $size={size}>{topSectionProps?.text}</LabelContainer>\r\n </TextContainer>\r\n\r\n {showOnClick && (\r\n <CloseButtonContainer $size={size} data-testid={'closeBtn'}>\r\n <IconButton action={() => setShowPopover(false)} useTransparentBackground \r\n iconColor={COLORS.generateToken({ componentType: 'icon', defaultVariant: 'subtle' }, theme)} variant=\"secondary\" shape=\"circular\">\r\n <SystemIcons.Close />\r\n </IconButton>\r\n </CloseButtonContainer>\r\n )}\r\n </PopoverTopSectionContainer>\r\n )}\r\n\r\n <PopoverMiddleSectionContainer $size={size}>{mainContent}</PopoverMiddleSectionContainer>\r\n\r\n {!!bottomSectionProps && (\r\n <PopoverBottomSectionContainer $size={size}>\r\n {!!bottomSectionProps?.textButton?.icon && (\r\n <TextButtonContainer $size={size} data-testid={'textBtn'}>\r\n <TextButton size={size} variant=\"secondary\" icon={bottomSectionProps.textButton.icon} onClick={bottomSectionProps.textButton.action}>\r\n {bottomSectionProps.textButton.label}\r\n </TextButton>\r\n </TextButtonContainer>\r\n )}\r\n\r\n <div className=\"bottom-flex\" />\r\n\r\n <IconButtonContainer $size={size} data-testid={'iconBtn'}>\r\n {bottomSectionProps?.iconButtons?.map((iconButton) => (\r\n <IconButton action={iconButton.action} variant=\"secondary\" shape=\"circular\" useTransparentBackground>\r\n {iconButton.icon}\r\n </IconButton>\r\n ))}\r\n </IconButtonContainer>\r\n </PopoverBottomSectionContainer>\r\n )}\r\n </PopoverContainer>\r\n\r\n <div onClick={() => showOnClick && setShowPopover(!showPopover)}>\r\n {children}\r\n\r\n <div className=\"pointer-space\" />\r\n </div>\r\n </PopoverWrapper>\r\n );\r\n};\r\n\r\nexport default Popover;\r\n"],"mappings":";;;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,CAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAA0C,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAQ,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEnC,MAAMW,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAGE,yBAAM,CAACC,GAAqE;AAC5G,cAAeC,KAAK,IAAMA,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACC,KAAK,GAAG,OAAO,GAAGH,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACE,KAAK,GAAG,OAAO,GAAG,OAAQ;AAChH,eAAgBJ,KAAK,IAAMA,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACC,KAAK,GAAG,OAAO,GAAGH,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACE,KAAK,GAAG,OAAO,GAAG,OAAQ;AACjH;AACA,gBAAgBJ,KAAK,IAAIK,QAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,YAAY;EAAEC,cAAc,EAAE;AAAO,CAAC,EAAER,KAAK,CAACS,KAAK,CAAC;AACnH;AACA,gBAAgBC,kBAAU,CAACC,kBAAkB;AAC7C;AACA;AACA;AACA;AACA,aAAaC,iBAAS,CAACC,OAAO;AAC9B;AACA,IAAKb,KAAK,IAAMA,KAAK,CAACc,SAAS,IAAIC,eAAQ,CAACC,MAAM,GAAG,iEAAiE,GAAG,EAAG;AAC5H,IAAKhB,KAAK,IAAMA,KAAK,CAACc,SAAS,IAAIC,eAAQ,CAACE,GAAG,GAAG,oEAAoE,GAAG,EAAG;AAC5H;AACA,IAAKjB,KAAK,IAAMA,KAAK,CAACc,SAAS,IAAIC,eAAQ,CAACG,IAAI,GAAG,oEAAoE,GAAG,EAAG;AAC7H,IAAKlB,KAAK,IAAMA,KAAK,CAACc,SAAS,IAAIC,eAAQ,CAACI,KAAK,GAAG,mEAAmE,GAAG,EAAG;AAC7H;AACA;AACA,MAAOnB,KAAK,IAAMA,KAAK,CAACoB,iBAAiB,GAAGC,iBAAiB,CAACrB,KAAK,CAACc,SAAS,CAAC,GAAG,EAAG;AACpF,CAAC;AAEM,MAAMQ,0BAA0B,GAAAzB,OAAA,CAAAyB,0BAAA,GAAGxB,yBAAM,CAACC,GAAoB;AACrE,YAAaC,KAAK,IAAMA,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACC,KAAK,GAAG,MAAM,GAAGH,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACE,KAAK,GAAG,MAAM,GAAG,MAAO;AAC3G;AACA,CAAC;AAEM,MAAMmB,6BAA6B,GAAA1B,OAAA,CAAA0B,6BAAA,GAAGzB,yBAAM,CAACC,GAAoB;AACxE;AACA,YAAaC,KAAK,IAAMA,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACC,KAAK,GAAG,OAAO,GAAGH,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACE,KAAK,GAAG,OAAO,GAAG,OAAQ;AAC9G,aAAcJ,KAAK,IAAMA,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACC,KAAK,GAAG,OAAO,GAAGH,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACE,KAAK,GAAG,QAAQ,GAAG,QAAS;AACjH;AACA,IAAI,IAAAoB,wBAAgB,EAACtB,WAAI,CAACC,KAAK,CAAC;AAChC,CAAC;AAEM,MAAMsB,6BAA6B,GAAA5B,OAAA,CAAA4B,6BAAA,GAAG3B,yBAAM,CAACC,GAAoB;AACxE,YAAaC,KAAK,IAAMA,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACC,KAAK,GAAG,MAAM,GAAGH,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACE,KAAK,GAAG,MAAM,GAAG,MAAO;AAC3G;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMsB,aAAa,GAAG5B,yBAAM,CAACC,GAAoC;AACjE;AACA;AACA,WAAWC,KAAK,IAAIK,QAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEC,cAAc,EAAE;AAAU,CAAC,EAAER,KAAK,CAACS,KAAK,CAAC;AAC3G,YAAaT,KAAK,IAAK2B,aAAa,CAAC3B,KAAK,CAAC4B,KAAK,EAAE5B,KAAK,CAACC,KAAK,CAAC;AAC9D;AACA,CAAC;AAED,MAAM4B,aAAa,GAAG/B,yBAAM,CAACC,GAAoB;AACjD,IAAKC,KAAK,IACNA,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACC,KAAK,GACtB,IAAA2B,2BAAmB,EAACC,oBAAkB,CAACC,OAAO,EAAE3B,QAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEC,cAAc,EAAE;AAAS,CAAC,EAAER,KAAK,CAACS,KAAK,CAAC,CAAC,GACvIT,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACE,KAAK,GAC1B,IAAA6B,yBAAiB,EAACF,oBAAkB,CAACC,OAAO,EAAE3B,QAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEC,cAAc,EAAE;AAAS,CAAC,EAAER,KAAK,CAACS,KAAK,CAAC,CAAC,GACrI,IAAAyB,oBAAkB,EAACH,oBAAkB,CAACC,OAAO,EAAE3B,QAAM,CAACC,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEC,cAAc,EAAE;AAAS,CAAC,EAAER,KAAK,CAACS,KAAK,CAAC,CAAC;AAC9I,CAAC;AAED,MAAM0B,cAAc,GAAGrC,yBAAM,CAACC,GAAoB;AAClD,IAAKC,KAAK,IACNA,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACC,KAAK,GACtB,IAAA8B,yBAAiB,EAACF,oBAAkB,CAACK,IAAI,EAAE,IAAI,CAAC,GAChDpC,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACE,KAAK,GAC1B,IAAAiC,yBAAiB,EAACN,oBAAkB,CAACK,IAAI,EAAE,IAAI,CAAC,GAChD,IAAAE,yBAAiB,EAACP,oBAAkB,CAACK,IAAI,EAAE,IAAI,CAAC;AACxD,CAAC;AAED,MAAMG,oBAAoB,GAAGzC,yBAAM,CAACC,GAAoB;AACxD,YAAaC,KAAK,IAAMA,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACC,KAAK,GAAG,gBAAgB,GAAGH,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACE,KAAK,GAAG,kBAAkB,GAAG,gBAAiB;AAC3I,CAAC;AAED,MAAMoC,mBAAmB,GAAG1C,yBAAM,CAACC,GAAoB;AACvD,YAAaC,KAAK,IAAMA,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACC,KAAK,GAAG,gBAAgB,GAAGH,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACE,KAAK,GAAG,kBAAkB,GAAG,kBAAmB;AAC7I,CAAC;AAED,MAAMqC,mBAAmB,GAAG3C,yBAAM,CAACC,GAAoB;AACvD,YAAaC,KAAK,IAAMA,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACC,KAAK,GAAG,gBAAgB,GAAGH,KAAK,CAACC,KAAK,KAAKC,WAAI,CAACE,KAAK,GAAG,kBAAkB,GAAG,kBAAmB;AAC7I;AACA,CAAC;AAEM,MAAMsC,cAAc,GAAA7C,OAAA,CAAA6C,cAAA,GAAG5C,yBAAM,CAACC,GAA0E;AAC/G;AACA;AACA;AACA,cAAeC,KAAK,IAAMA,KAAK,CAACc,SAAS,KAAKC,eAAQ,CAACE,GAAG,IAAIjB,KAAK,CAACc,SAAS,KAAKC,eAAQ,CAACC,MAAM,GAAG,MAAM,GAAG,MAAO;AACpH,aAAchB,KAAK,IAAMA,KAAK,CAACc,SAAS,KAAKC,eAAQ,CAACG,IAAI,IAAIlB,KAAK,CAACc,SAAS,KAAKC,eAAQ,CAACI,KAAK,GAAG,MAAM,GAAG,MAAO;AACnH;AACA;AACA,MAAOnB,KAAK,IAAMA,KAAK,CAACc,SAAS,KAAKC,eAAQ,CAACG,IAAI,GAAG,wBAAwB,GAAG,EAAG;AACpF,MAAOlB,KAAK,IAAMA,KAAK,CAACc,SAAS,KAAKC,eAAQ,CAACI,KAAK,GAAG,uBAAuB,GAAG,EAAG;AACpF;AACA,MAAOnB,KAAK,IAAMA,KAAK,CAACc,SAAS,KAAKC,eAAQ,CAACE,GAAG,GAAG,cAAc,GAAG,EAAG;AACzE,MAAOjB,KAAK,IAAMA,KAAK,CAACc,SAAS,KAAKC,eAAQ,CAACC,MAAM,GAAG,WAAW,GAAG,EAAG;AACzE;AACA;AACA,IAAKhB,KAAK,IACNA,KAAK,CAAC2C,YAAY,GACd,GAAG/C,gBAAgB;AAC3B,sBAAsBI,KAAK,CAAC4C,YAAY,GAAG,SAAS,GAAG,QAAQ;AAC/D,mBAAmB5C,KAAK,CAAC4C,YAAY,GAAG,GAAG,GAAG,GAAG;AACjD;AACA,qBAAqB,GACb;AACR,QAAQhD,gBAAgB;AACxB;AACA;AACA;AACA,MAAM;AACN,CAAC;AAED,MAAM+B,aAAa,GAAGA,CAACkB,aAAsB,EAAEC,IAAU,KAAa;EACpE,IAAID,aAAa,EAAE;IACjB,OAAOC,IAAI,KAAK5C,WAAI,CAACC,KAAK,GAAG,WAAW,GAAG2C,IAAI,KAAK5C,WAAI,CAACE,KAAK,GAAG,WAAW,GAAG,WAAW;EAC5F,CAAC,MAAM;IACL,OAAO0C,IAAI,KAAK5C,WAAI,CAACC,KAAK,GAAG,WAAW,GAAG2C,IAAI,KAAK5C,WAAI,CAACE,KAAK,GAAG,MAAM,GAAG,MAAM;EAClF;AACF,CAAC;AAED,MAAMiB,iBAAiB,GAAI0B,QAAkB,IAAK;EAChD,IAAIA,QAAQ,KAAKhC,eAAQ,CAACC,MAAM,EAAE;IAChC,OAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;EACpC;EAEA,IAAI+B,QAAQ,KAAKhC,eAAQ,CAACE,GAAG,EAAE;IAC7B,OAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;EACjC;EAEA,IAAI8B,QAAQ,KAAKhC,eAAQ,CAACG,IAAI,EAAE;IAC9B,OAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;EACpC;EAEA,IAAI6B,QAAQ,KAAKhC,eAAQ,CAACI,KAAK,EAAE;IAC/B,OAAO;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;EACpC;AACF,CAAC;AAYA;AAiBA;AAaA;AA6CA;AAED,MAAM6B,OAA8C,GAAGC,IAAA,IASjD;EAAA,IATkD;IACtDH,IAAI,GAAG5C,WAAI,CAACgD,MAAM;IAClBC,eAAe;IACfC,kBAAkB;IAClBC,WAAW;IACXC,QAAQ;IACRP,QAAQ;IACRQ,WAAW,GAAG,KAAK;IACnBC,gBAAgB,GAAG;EACrB,CAAC,GAAAP,IAAA;EACC,MAAM,CAACQ,WAAW,EAAEC,cAAc,CAAC,GAAG5F,KAAK,CAAC6F,QAAQ,CAAC,KAAK,CAAC;EAC3D,MAAMlD,KAAK,GAAG,IAAAmD,0BAAQ,EAAC,CAAC;EACxB,MAAMC,UAAU,GAAG/F,KAAK,CAACgG,MAAM,CAAM,IAAI,CAAC;EAE1ChG,KAAK,CAACiG,SAAS,CAAC,MAAM;IACpB,MAAMC,qBAAqB,GAAIvF,CAAkB,IAAK;MACpD,IAAIgF,WAAW,IAAII,UAAU,CAACI,OAAO,IAAI,CAACJ,UAAU,CAACI,OAAO,CAACC,QAAQ,CAACzF,CAAC,CAAC0F,MAAM,CAAC,EAAE;QAC/ET,cAAc,CAAC,KAAK,CAAC;MACvB;IACF,CAAC;IAEDU,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEL,qBAAqB,CAAC;IAE7D,OAAO,MAAM;MACXI,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEN,qBAAqB,CAAC;IAClE,CAAC;EACH,CAAC,EAAE,CAACP,WAAW,CAAC,CAAC;EAEjB,oBACE,IAAAlF,WAAA,CAAAgG,IAAA,EAAC7B,cAAc;IAAC5B,SAAS,EAAEiC,QAAS;IAACJ,YAAY,EAAEY,WAAY;IAACX,YAAY,EAAEa,WAAY;IAAAH,QAAA,gBACxF,IAAA/E,WAAA,CAAAgG,IAAA,EAAC3E,gBAAgB;MAACK,KAAK,EAAE6C,IAAK;MAAChC,SAAS,EAAEiC,QAAS;MAACyB,GAAG,EAAEX,UAAW;MAACzC,iBAAiB,EAAEoC,gBAAiB;MAAAF,QAAA,GACtG,CAAC,CAACH,eAAe,iBAChB,IAAA5E,WAAA,CAAAgG,IAAA,EAACjD,0BAA0B;QAACrB,KAAK,EAAE6C,IAAK;QAAAQ,QAAA,gBACtC,IAAA/E,WAAA,CAAAgG,IAAA,EAAC7C,aAAa;UAACE,KAAK,EAAE,CAAC,CAACuB,eAAe,EAAEsB,IAAK;UAACxE,KAAK,EAAE6C,IAAK;UAAAQ,QAAA,GACxDH,eAAe,EAAEsB,IAAI,iBAAI,IAAAlG,WAAA,CAAAmG,GAAA,EAAC7C,aAAa;YAAC5B,KAAK,EAAE6C,IAAK;YAAAQ,QAAA,EAAEH,eAAe,CAACsB;UAAI,CAAgB,CAAC,eAC5F,IAAAlG,WAAA,CAAAmG,GAAA,EAACvC,cAAc;YAAClC,KAAK,EAAE6C,IAAK;YAAAQ,QAAA,EAAEH,eAAe,EAAEwB;UAAI,CAAiB,CAAC;QAAA,CACxD,CAAC,EAEfpB,WAAW,iBACV,IAAAhF,WAAA,CAAAmG,GAAA,EAACnC,oBAAoB;UAACtC,KAAK,EAAE6C,IAAK;UAAC,eAAa,UAAW;UAAAQ,QAAA,eACzD,IAAA/E,WAAA,CAAAmG,GAAA,EAACvG,OAAA,CAAAyG,UAAU;YAACC,MAAM,EAAEA,CAAA,KAAMnB,cAAc,CAAC,KAAK,CAAE;YAACoB,wBAAwB;YACvEC,SAAS,EAAE1E,QAAM,CAACC,aAAa,CAAC;cAAEC,aAAa,EAAE,MAAM;cAAEC,cAAc,EAAE;YAAS,CAAC,EAAEC,KAAK,CAAE;YAACuE,OAAO,EAAC,WAAW;YAACC,KAAK,EAAC,UAAU;YAAA3B,QAAA,eACjI,IAAA/E,WAAA,CAAAmG,GAAA,EAACtG,MAAA,CAAA8G,WAAW,CAACC,KAAK,IAAE;UAAC,CACX;QAAC,CACO,CACvB;MAAA,CACyB,CAC7B,eAED,IAAA5G,WAAA,CAAAmG,GAAA,EAACnD,6BAA6B;QAACtB,KAAK,EAAE6C,IAAK;QAAAQ,QAAA,EAAED;MAAW,CAAgC,CAAC,EAExF,CAAC,CAACD,kBAAkB,iBACnB,IAAA7E,WAAA,CAAAgG,IAAA,EAAC9C,6BAA6B;QAACxB,KAAK,EAAE6C,IAAK;QAAAQ,QAAA,GACxC,CAAC,CAACF,kBAAkB,EAAEgC,UAAU,EAAEC,IAAI,iBACrC,IAAA9G,WAAA,CAAAmG,GAAA,EAAClC,mBAAmB;UAACvC,KAAK,EAAE6C,IAAK;UAAC,eAAa,SAAU;UAAAQ,QAAA,eACvD,IAAA/E,WAAA,CAAAmG,GAAA,EAACvG,OAAA,CAAAmH,UAAU;YAACxC,IAAI,EAAEA,IAAK;YAACkC,OAAO,EAAC,WAAW;YAACK,IAAI,EAAEjC,kBAAkB,CAACgC,UAAU,CAACC,IAAK;YAACE,OAAO,EAAEnC,kBAAkB,CAACgC,UAAU,CAACP,MAAO;YAAAvB,QAAA,EACjIF,kBAAkB,CAACgC,UAAU,CAACI;UAAK,CAC1B;QAAC,CACM,CACtB,eAED,IAAAjH,WAAA,CAAAmG,GAAA;UAAKe,SAAS,EAAC;QAAa,CAAE,CAAC,eAE/B,IAAAlH,WAAA,CAAAmG,GAAA,EAACjC,mBAAmB;UAACxC,KAAK,EAAE6C,IAAK;UAAC,eAAa,SAAU;UAAAQ,QAAA,EACtDF,kBAAkB,EAAEsC,WAAW,EAAEC,GAAG,CAAEC,UAAU,iBAC/C,IAAArH,WAAA,CAAAmG,GAAA,EAACvG,OAAA,CAAAyG,UAAU;YAACC,MAAM,EAAEe,UAAU,CAACf,MAAO;YAACG,OAAO,EAAC,WAAW;YAACC,KAAK,EAAC,UAAU;YAACH,wBAAwB;YAAAxB,QAAA,EACjGsC,UAAU,CAACP;UAAI,CACN,CACb;QAAC,CACiB,CAAC;MAAA,CACO,CAChC;IAAA,CACe,CAAC,eAEnB,IAAA9G,WAAA,CAAAgG,IAAA;MAAKgB,OAAO,EAAEA,CAAA,KAAMhC,WAAW,IAAIG,cAAc,CAAC,CAACD,WAAW,CAAE;MAAAH,QAAA,GAC7DA,QAAQ,eAET,IAAA/E,WAAA,CAAAmG,GAAA;QAAKe,SAAS,EAAC;MAAe,CAAE,CAAC;IAAA,CAC9B,CAAC;EAAA,CACQ,CAAC;AAErB,CAAC;AAACzC,OAAA,CAAA6C,SAAA;EApHA1C,eAAe,EAAA2C,UAAA,CAAAhH,OAAA,CAAAmG,KAAA;IAhDfN,IAAI,EAAAmB,UAAA,CAAAhH,OAAA,CAAAiH,MAAA,CAAAC,UAAA;IAKJvB,IAAI,EAAAqB,UAAA,CAAAhH,OAAA,CAAAiH;EAAA;EAgDJ3C,kBAAkB,EAAA0C,UAAA,CAAAhH,OAAA,CAAAmG,KAAA;IAvBlBS,WAAW,EAAAI,UAAA,CAAAhH,OAAA,CAAAmH,OAAA,CAAAH,UAAA,CAAAhH,OAAA,CAAAmG,KAAA;MAlBXI,IAAI,EAAAS,UAAA,CAAAhH,OAAA,CAAAoH,IAAA,CAAAF,UAAA;MAKJnB,MAAM,EAAAiB,UAAA,CAAAhH,OAAA,CAAAqH,IAAA,CAAAH,UAAA;MAKNR,KAAK,EAAAM,UAAA,CAAAhH,OAAA,CAAAiH;IAAA;IAaLX,UAAU,EAAAU,UAAA,CAAAhH,OAAA,CAAAmG,KAAA;MAvBVI,IAAI,EAAAS,UAAA,CAAAhH,OAAA,CAAAoH,IAAA,CAAAF,UAAA;MAKJnB,MAAM,EAAAiB,UAAA,CAAAhH,OAAA,CAAAqH,IAAA,CAAAH,UAAA;MAKNR,KAAK,EAAAM,UAAA,CAAAhH,OAAA,CAAAiH;IAAA;EAAA;EAoCL1C,WAAW,EAAAyC,UAAA,CAAAhH,OAAA,CAAAoH,IAAA,CAAAF,UAAA;EAKX1C,QAAQ,EAAAwC,UAAA,CAAAhH,OAAA,CAAAoH,IAAA,CAAAF,UAAA;EAWRzC,WAAW,EAAAuC,UAAA,CAAAhH,OAAA,CAAAsH,IAAA,CAAAJ,UAAA;EAMXxC,gBAAgB,EAAAsC,UAAA,CAAAhH,OAAA,CAAAsH;AAAA;AAAA,IAAAC,QAAA,GAAAxG,OAAA,CAAAf,OAAA,GAsFHkE,OAAO","ignoreList":[]}
@@ -2,7 +2,7 @@ import _pt from "prop-types";
2
2
  import * as React from 'react';
3
3
  import styled, { useTheme } from 'styled-components';
4
4
  import { COLORS, ComponentTextStyle, ComponentXSStyling } from '..';
5
- import { Button, IconButton } from '../Button';
5
+ import { TextButton, IconButton } from '../Button';
6
6
  import { SystemIcons } from '../icons';
7
7
  import { BOXSHADOWS, ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXXSStyling, scrollBarStyling, Z_INDEXES } from '../styles';
8
8
  import { Position, Size } from '../types';
@@ -242,7 +242,7 @@ const Popover = _ref => {
242
242
  children: [!!bottomSectionProps?.textButton?.icon && /*#__PURE__*/_jsx(TextButtonContainer, {
243
243
  $size: size,
244
244
  "data-testid": 'textBtn',
245
- children: /*#__PURE__*/_jsx(Button, {
245
+ children: /*#__PURE__*/_jsx(TextButton, {
246
246
  size: size,
247
247
  variant: "secondary",
248
248
  icon: bottomSectionProps.textButton.icon,
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","names":["React","styled","useTheme","COLORS","ComponentTextStyle","ComponentXSStyling","Button","IconButton","SystemIcons","BOXSHADOWS","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentXXSStyling","scrollBarStyling","Z_INDEXES","Position","Size","jsx","_jsx","jsxs","_jsxs","PopoverContainer","div","props","$size","Small","Large","generateToken","componentType","defaultVariant","theme","BOXSHADOW_CENTERED","popover","$position","Bottom","Top","Left","Right","$showArrowPointer","renderArrowStyles","PopoverTopSectionContainer","PopoverMiddleSectionContainer","PopoverBottomSectionContainer","TextContainer","renderMargins","$note","NoteContainer","Regular","LabelContainer","Bold","CloseButtonContainer","TextButtonContainer","IconButtonContainer","PopoverWrapper","$showOnClick","$showPopover","isNotePresent","size","position","Popover","_ref","Medium","topSectionProps","bottomSectionProps","mainContent","children","showOnClick","showArrowPointer","showPopover","setShowPopover","useState","popoverRef","useRef","useEffect","checkIfClickedOutside","e","current","contains","target","document","addEventListener","removeEventListener","ref","note","text","action","useTransparentBackground","iconColor","variant","shape","Close","textButton","icon","onClick","label","className","iconButtons","map","iconButton","propTypes","_pt","string","isRequired","arrayOf","node","func","bool"],"sources":["../../src/Popover/Popover.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { useTheme } from 'styled-components';\r\nimport { COLORS, ComponentTextStyle, ComponentXSStyling } from '..';\r\nimport { Button, IconButton } from '../Button';\r\nimport { SystemIcons } from '../icons';\r\nimport { BOXSHADOWS, ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXXSStyling, scrollBarStyling, Z_INDEXES } from '../styles';\r\nimport { Position, Size } from '../types';\r\n\r\nexport const PopoverContainer = styled.div<{ $size: Size; $position: Position; $showArrowPointer: boolean }>`\r\n //height: ${(props) => (props.$size === Size.Small ? '240px' : props.$size === Size.Large ? '480px' : '360px')};\r\n min-width: ${(props) => (props.$size === Size.Small ? '320px' : props.$size === Size.Large ? '640px' : '480px')};\r\n border-radius: 4px;\r\n background: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'high' }, props.theme)};\r\n cursor: default;\r\n box-shadow: ${BOXSHADOWS.BOXSHADOW_CENTERED};\r\n\r\n position: absolute; \r\n visibility: hidden;\r\n opacity: 0;\r\n z-index: ${Z_INDEXES.popover};\r\n\r\n ${(props) => (props.$position == Position.Bottom ? 'right: 50%; top: calc(100% + 16px); transform: translateX(50%);' : '')}\r\n ${(props) => (props.$position == Position.Top ? 'right: 50%; bottom: calc(100% + 16px); transform: translateX(50%);' : '')}\r\n\r\n ${(props) => (props.$position == Position.Left ? 'bottom: 50%; right: calc(100% + 16px); transform: translateY(50%);' : '')}\r\n ${(props) => (props.$position == Position.Right ? 'bottom: 50%; left: calc(100% + 16px); transform: translateY(50%);' : '')}\r\n\r\n &::after {\r\n ${(props) => (props.$showArrowPointer ? renderArrowStyles(props.$position) : '')}\r\n`;\r\n\r\nexport const PopoverTopSectionContainer = styled.div<{ $size: Size }>`\r\n height: ${(props) => (props.$size === Size.Small ? '56px' : props.$size === Size.Large ? '72px' : '64px')};\r\n display: flex;\r\n`;\r\n\r\nexport const PopoverMiddleSectionContainer = styled.div<{ $size: Size }>`\r\n margin: 8px;\r\n height: ${(props) => (props.$size === Size.Small ? '104px' : props.$size === Size.Large ? '304px' : '208px')};\r\n padding: ${(props) => (props.$size === Size.Small ? '0 8px' : props.$size === Size.Large ? '0 16px' : '0 12px')};\r\n overflow-y: auto;\r\n ${scrollBarStyling(Size.Small)}\r\n`;\r\n\r\nexport const PopoverBottomSectionContainer = styled.div<{ $size: Size }>`\r\n height: ${(props) => (props.$size === Size.Small ? '64px' : props.$size === Size.Large ? '88px' : '72px')}; \r\n display: flex;\r\n\r\n .bottom-flex {\r\n flex: 1;\r\n }\r\n`;\r\n\r\nconst TextContainer = styled.div<{ $note: boolean; $size: Size }>`\r\n display: flex;\r\n flex-direction: column;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'default' }, props.theme)};\r\n margin: ${(props) => renderMargins(props.$note, props.$size)};\r\n flex-grow: 1;\r\n`;\r\n\r\nconst NoteContainer = styled.div<{ $size: Size }>`\r\n ${(props) =>\r\n props.$size === Size.Small\r\n ? ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme))\r\n : props.$size === Size.Large\r\n ? ComponentSStyling(ComponentTextStyle.Regular, COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme))\r\n : ComponentXSStyling(ComponentTextStyle.Regular, COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme))}\r\n`;\r\n\r\nconst LabelContainer = styled.div<{ $size: Size }>`\r\n ${(props) =>\r\n props.$size === Size.Small\r\n ? ComponentSStyling(ComponentTextStyle.Bold, null)\r\n : props.$size === Size.Large\r\n ? ComponentLStyling(ComponentTextStyle.Bold, null)\r\n : ComponentMStyling(ComponentTextStyle.Bold, null)}\r\n`;\r\n\r\nconst CloseButtonContainer = styled.div<{ $size: Size }>`\r\n margin: ${(props) => (props.$size === Size.Small ? '4px 16px 4px 0' : props.$size === Size.Large ? '12px 24px 12px 0' : '8px 20px 8px 0')};\r\n`;\r\n\r\nconst TextButtonContainer = styled.div<{ $size: Size }>`\r\n margin: ${(props) => (props.$size === Size.Small ? '8px 0 8px 16px' : props.$size === Size.Large ? '16px 0 16px 24px' : '12px 0 12px 20px')};\r\n`;\r\n\r\nconst IconButtonContainer = styled.div<{ $size: Size }>`\r\n margin: ${(props) => (props.$size === Size.Small ? '8px 16px 8px 0' : props.$size === Size.Large ? '16px 24px 16px 0' : '12px 20px 12px 0')};\r\n display: flex;\r\n`;\r\n\r\nexport const PopoverWrapper = styled.div<{ $position: Position; $showOnClick: boolean; $showPopover: boolean }>`\r\n position: relative;\r\n\r\n .pointer-space {\r\n height: ${(props) => (props.$position === Position.Top || props.$position === Position.Bottom ? '16px' : '100%')};\r\n width: ${(props) => (props.$position === Position.Left || props.$position === Position.Right ? '16px' : '100%')};\r\n position: absolute;\r\n\r\n ${(props) => (props.$position === Position.Left ? 'right:100%; bottom: 0%' : '')};\r\n ${(props) => (props.$position === Position.Right ? 'left:100%; bottom: 0%' : '')};\r\n\r\n ${(props) => (props.$position === Position.Top ? 'bottom: 100%' : '')};\r\n ${(props) => (props.$position === Position.Bottom ? 'top: 100%' : '')};\r\n }\r\n\r\n ${(props) =>\r\n props.$showOnClick\r\n ? `${PopoverContainer} {\r\n visibility: ${props.$showPopover ? 'visible' : 'hidden'};\r\n opacity: ${props.$showPopover ? '1' : '0'};\r\n }\r\n cursor: pointer;`\r\n : `&:hover {\r\n ${PopoverContainer} {\r\n visibility: visible;\r\n opacity: 1;\r\n }\r\n }`}\r\n`;\r\n\r\nconst renderMargins = (isNotePresent: boolean, size: Size): string => {\r\n if (isNotePresent) {\r\n return size === Size.Small ? '10px 16px' : size === Size.Large ? '14px 24px' : '12px 20px';\r\n } else {\r\n return size === Size.Small ? '18px 16px' : size === Size.Large ? '24px' : '20px';\r\n }\r\n};\r\n\r\nconst renderArrowStyles = (position: Position) => {\r\n if (position === Position.Bottom) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 16px solid transparent;\r\n border-right: 12px solid transparent;\r\n border-bottom: 16px solid rgb(255,255,255);\r\n border-left: 12px solid transparent;\r\n content: \"\";\r\n position: absolute;\r\n right: calc(50% - 12px);\r\n bottom: calc(100% - 1px);`;\r\n }\r\n\r\n if (position === Position.Top) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 16px solid rgb(255,255,255);\r\n border-right: 12px solid transparent;\r\n border-bottom: 16px solid transparent;\r\n border-left: 12px solid transparent;\r\n content: \"\";\r\n position: absolute;\r\n right: calc(50% - 12px);\r\n top: calc(100% - 1px);`;\r\n }\r\n\r\n if (position === Position.Left) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 12px solid transparent;\r\n border-right: 16px solid transparent;\r\n border-bottom: 12px solid transparent;\r\n border-left: 16px solid rgb(255,255,255);\r\n content: \"\";\r\n position: absolute;\r\n left: calc(100% - 1px);\r\n bottom: calc(50% - 12px);`;\r\n }\r\n\r\n if (position === Position.Right) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 12px solid transparent;\r\n border-right: 16px solid rgb(255,255,255);\r\n border-bottom: 12px solid transparent;\r\n border-left: 16px solid transparent;\r\n content: \"\";\r\n position: absolute;\r\n right: calc(100% - 1px);\r\n bottom: calc(50% - 12px);`;\r\n }\r\n};\r\n\r\nexport interface PopoverTopSectionProps {\r\n /**\r\n * Required. The main text to be displayed in the top section of the popover.\r\n */\r\n text: string;\r\n\r\n /**\r\n * Optional. A note to be displayed below the main text in the top section of the popover.\r\n */\r\n note?: string;\r\n};\r\n\r\nexport interface PopoverActionButtonProps {\r\n /**\r\n * Required. The icon to be displayed on the button.\r\n */\r\n icon: React.ReactNode;\r\n\r\n /**\r\n * Required. The handler function to be called when the button is clicked.\r\n */\r\n action: () => void;\r\n\r\n /**\r\n * Optional. The label for the button. If provided, the button will display this text.\r\n */\r\n label?: string;\r\n};\r\n\r\nexport interface PopoverBottomSectionProps {\r\n /**\r\n * Optional. An array of PopoverActionButtonProps objects.\r\n * Each object represents an icon button to be displayed in the bottom section of the popover.\r\n */\r\n iconButtons?: PopoverActionButtonProps[];\r\n\r\n /**\r\n * Optional. A PopoverActionButtonProps object representing a text button to be displayed in the bottom section of the popover.\r\n */\r\n textButton?: PopoverActionButtonProps;\r\n};\r\n\r\nexport interface PopoverProps {\r\n /**\r\n * Optional. The size of the popover. It can be 'Small', 'Medium', or 'Large'.\r\n * Defaults to 'Medium' if not specified.\r\n */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n\r\n /**\r\n * Optional. Properties for the top section of the popover.\r\n */\r\n topSectionProps?: PopoverTopSectionProps;\r\n\r\n /**\r\n * Optional. Properties for the bottom section of the popover.\r\n */\r\n bottomSectionProps?: PopoverBottomSectionProps;\r\n\r\n /**\r\n * Required. The main content to be displayed in the popover.\r\n */\r\n mainContent: React.ReactNode;\r\n\r\n /**\r\n * Required. The children to be rendered inside the popover.\r\n */\r\n children: React.ReactNode;\r\n\r\n /**\r\n * Required. The position of the popover relative to the target element.\r\n * It can be 'Top', 'Bottom', 'Right', or 'Left'.\r\n */\r\n position: Position.Top | Position.Bottom | Position.Right | Position.Left;\r\n\r\n /**\r\n * Required. A boolean indicating whether the popover should be shown when the target element is clicked. Defaults to 'false', meaning that popover will be shown on mouse hover.\r\n */\r\n showOnClick: boolean;\r\n\r\n /**\r\n * Optional. A boolean indicating whether an arrow pointer should be shown on the popover.\r\n * Defaults to 'false' if not specified.\r\n */\r\n showArrowPointer?: boolean;\r\n};\r\n\r\nconst Popover: React.FunctionComponent<PopoverProps> = ({\r\n size = Size.Medium,\r\n topSectionProps,\r\n bottomSectionProps,\r\n mainContent,\r\n children,\r\n position,\r\n showOnClick = false,\r\n showArrowPointer = false,\r\n}) => {\r\n const [showPopover, setShowPopover] = React.useState(false);\r\n const theme = useTheme();\r\n const popoverRef = React.useRef<any>(null);\r\n\r\n React.useEffect(() => {\r\n const checkIfClickedOutside = (e: { target: any }) => {\r\n if (showPopover && popoverRef.current && !popoverRef.current.contains(e.target)) {\r\n setShowPopover(false);\r\n }\r\n };\r\n\r\n document.addEventListener('mousedown', checkIfClickedOutside);\r\n\r\n return () => {\r\n document.removeEventListener('mousedown', checkIfClickedOutside);\r\n };\r\n }, [showPopover]);\r\n\r\n return (\r\n <PopoverWrapper $position={position} $showOnClick={showOnClick} $showPopover={showPopover}>\r\n <PopoverContainer $size={size} $position={position} ref={popoverRef} $showArrowPointer={showArrowPointer}>\r\n {!!topSectionProps && (\r\n <PopoverTopSectionContainer $size={size}>\r\n <TextContainer $note={!!topSectionProps?.note} $size={size}>\r\n {topSectionProps?.note && <NoteContainer $size={size}>{topSectionProps.note}</NoteContainer>}\r\n <LabelContainer $size={size}>{topSectionProps?.text}</LabelContainer>\r\n </TextContainer>\r\n\r\n {showOnClick && (\r\n <CloseButtonContainer $size={size} data-testid={'closeBtn'}>\r\n <IconButton action={() => setShowPopover(false)} useTransparentBackground \r\n iconColor={COLORS.generateToken({ componentType: 'icon', defaultVariant: 'subtle' }, theme)} variant=\"secondary\" shape=\"circular\">\r\n <SystemIcons.Close />\r\n </IconButton>\r\n </CloseButtonContainer>\r\n )}\r\n </PopoverTopSectionContainer>\r\n )}\r\n\r\n <PopoverMiddleSectionContainer $size={size}>{mainContent}</PopoverMiddleSectionContainer>\r\n\r\n {!!bottomSectionProps && (\r\n <PopoverBottomSectionContainer $size={size}>\r\n {!!bottomSectionProps?.textButton?.icon && (\r\n <TextButtonContainer $size={size} data-testid={'textBtn'}>\r\n <Button size={size} variant=\"secondary\" icon={bottomSectionProps.textButton.icon} onClick={bottomSectionProps.textButton.action}>\r\n {bottomSectionProps.textButton.label}\r\n </Button>\r\n </TextButtonContainer>\r\n )}\r\n\r\n <div className=\"bottom-flex\" />\r\n\r\n <IconButtonContainer $size={size} data-testid={'iconBtn'}>\r\n {bottomSectionProps?.iconButtons?.map((iconButton) => (\r\n <IconButton action={iconButton.action} variant=\"secondary\" shape=\"circular\" useTransparentBackground>\r\n {iconButton.icon}\r\n </IconButton>\r\n ))}\r\n </IconButtonContainer>\r\n </PopoverBottomSectionContainer>\r\n )}\r\n </PopoverContainer>\r\n\r\n <div onClick={() => showOnClick && setShowPopover(!showPopover)}>\r\n {children}\r\n\r\n <div className=\"pointer-space\" />\r\n </div>\r\n </PopoverWrapper>\r\n );\r\n};\r\n\r\nexport default Popover;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Popover.js","names":["React","styled","useTheme","COLORS","ComponentTextStyle","ComponentXSStyling","TextButton","IconButton","SystemIcons","BOXSHADOWS","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentXXSStyling","scrollBarStyling","Z_INDEXES","Position","Size","jsx","_jsx","jsxs","_jsxs","PopoverContainer","div","props","$size","Small","Large","generateToken","componentType","defaultVariant","theme","BOXSHADOW_CENTERED","popover","$position","Bottom","Top","Left","Right","$showArrowPointer","renderArrowStyles","PopoverTopSectionContainer","PopoverMiddleSectionContainer","PopoverBottomSectionContainer","TextContainer","renderMargins","$note","NoteContainer","Regular","LabelContainer","Bold","CloseButtonContainer","TextButtonContainer","IconButtonContainer","PopoverWrapper","$showOnClick","$showPopover","isNotePresent","size","position","Popover","_ref","Medium","topSectionProps","bottomSectionProps","mainContent","children","showOnClick","showArrowPointer","showPopover","setShowPopover","useState","popoverRef","useRef","useEffect","checkIfClickedOutside","e","current","contains","target","document","addEventListener","removeEventListener","ref","note","text","action","useTransparentBackground","iconColor","variant","shape","Close","textButton","icon","onClick","label","className","iconButtons","map","iconButton","propTypes","_pt","string","isRequired","arrayOf","node","func","bool"],"sources":["../../src/Popover/Popover.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { useTheme } from 'styled-components';\r\nimport { COLORS, ComponentTextStyle, ComponentXSStyling } from '..';\r\nimport { TextButton, IconButton } from '../Button';\r\nimport { SystemIcons } from '../icons';\r\nimport { BOXSHADOWS, ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXXSStyling, scrollBarStyling, Z_INDEXES } from '../styles';\r\nimport { Position, Size } from '../types';\r\n\r\nexport const PopoverContainer = styled.div<{ $size: Size; $position: Position; $showArrowPointer: boolean }>`\r\n //height: ${(props) => (props.$size === Size.Small ? '240px' : props.$size === Size.Large ? '480px' : '360px')};\r\n min-width: ${(props) => (props.$size === Size.Small ? '320px' : props.$size === Size.Large ? '640px' : '480px')};\r\n border-radius: 4px;\r\n background: ${props => COLORS.generateToken({ componentType: 'bg-surface', defaultVariant: 'high' }, props.theme)};\r\n cursor: default;\r\n box-shadow: ${BOXSHADOWS.BOXSHADOW_CENTERED};\r\n\r\n position: absolute; \r\n visibility: hidden;\r\n opacity: 0;\r\n z-index: ${Z_INDEXES.popover};\r\n\r\n ${(props) => (props.$position == Position.Bottom ? 'right: 50%; top: calc(100% + 16px); transform: translateX(50%);' : '')}\r\n ${(props) => (props.$position == Position.Top ? 'right: 50%; bottom: calc(100% + 16px); transform: translateX(50%);' : '')}\r\n\r\n ${(props) => (props.$position == Position.Left ? 'bottom: 50%; right: calc(100% + 16px); transform: translateY(50%);' : '')}\r\n ${(props) => (props.$position == Position.Right ? 'bottom: 50%; left: calc(100% + 16px); transform: translateY(50%);' : '')}\r\n\r\n &::after {\r\n ${(props) => (props.$showArrowPointer ? renderArrowStyles(props.$position) : '')}\r\n`;\r\n\r\nexport const PopoverTopSectionContainer = styled.div<{ $size: Size }>`\r\n height: ${(props) => (props.$size === Size.Small ? '56px' : props.$size === Size.Large ? '72px' : '64px')};\r\n display: flex;\r\n`;\r\n\r\nexport const PopoverMiddleSectionContainer = styled.div<{ $size: Size }>`\r\n margin: 8px;\r\n height: ${(props) => (props.$size === Size.Small ? '104px' : props.$size === Size.Large ? '304px' : '208px')};\r\n padding: ${(props) => (props.$size === Size.Small ? '0 8px' : props.$size === Size.Large ? '0 16px' : '0 12px')};\r\n overflow-y: auto;\r\n ${scrollBarStyling(Size.Small)}\r\n`;\r\n\r\nexport const PopoverBottomSectionContainer = styled.div<{ $size: Size }>`\r\n height: ${(props) => (props.$size === Size.Small ? '64px' : props.$size === Size.Large ? '88px' : '72px')}; \r\n display: flex;\r\n\r\n .bottom-flex {\r\n flex: 1;\r\n }\r\n`;\r\n\r\nconst TextContainer = styled.div<{ $note: boolean; $size: Size }>`\r\n display: flex;\r\n flex-direction: column;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'default' }, props.theme)};\r\n margin: ${(props) => renderMargins(props.$note, props.$size)};\r\n flex-grow: 1;\r\n`;\r\n\r\nconst NoteContainer = styled.div<{ $size: Size }>`\r\n ${(props) =>\r\n props.$size === Size.Small\r\n ? ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme))\r\n : props.$size === Size.Large\r\n ? ComponentSStyling(ComponentTextStyle.Regular, COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme))\r\n : ComponentXSStyling(ComponentTextStyle.Regular, COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme))}\r\n`;\r\n\r\nconst LabelContainer = styled.div<{ $size: Size }>`\r\n ${(props) =>\r\n props.$size === Size.Small\r\n ? ComponentSStyling(ComponentTextStyle.Bold, null)\r\n : props.$size === Size.Large\r\n ? ComponentLStyling(ComponentTextStyle.Bold, null)\r\n : ComponentMStyling(ComponentTextStyle.Bold, null)}\r\n`;\r\n\r\nconst CloseButtonContainer = styled.div<{ $size: Size }>`\r\n margin: ${(props) => (props.$size === Size.Small ? '4px 16px 4px 0' : props.$size === Size.Large ? '12px 24px 12px 0' : '8px 20px 8px 0')};\r\n`;\r\n\r\nconst TextButtonContainer = styled.div<{ $size: Size }>`\r\n margin: ${(props) => (props.$size === Size.Small ? '8px 0 8px 16px' : props.$size === Size.Large ? '16px 0 16px 24px' : '12px 0 12px 20px')};\r\n`;\r\n\r\nconst IconButtonContainer = styled.div<{ $size: Size }>`\r\n margin: ${(props) => (props.$size === Size.Small ? '8px 16px 8px 0' : props.$size === Size.Large ? '16px 24px 16px 0' : '12px 20px 12px 0')};\r\n display: flex;\r\n`;\r\n\r\nexport const PopoverWrapper = styled.div<{ $position: Position; $showOnClick: boolean; $showPopover: boolean }>`\r\n position: relative;\r\n\r\n .pointer-space {\r\n height: ${(props) => (props.$position === Position.Top || props.$position === Position.Bottom ? '16px' : '100%')};\r\n width: ${(props) => (props.$position === Position.Left || props.$position === Position.Right ? '16px' : '100%')};\r\n position: absolute;\r\n\r\n ${(props) => (props.$position === Position.Left ? 'right:100%; bottom: 0%' : '')};\r\n ${(props) => (props.$position === Position.Right ? 'left:100%; bottom: 0%' : '')};\r\n\r\n ${(props) => (props.$position === Position.Top ? 'bottom: 100%' : '')};\r\n ${(props) => (props.$position === Position.Bottom ? 'top: 100%' : '')};\r\n }\r\n\r\n ${(props) =>\r\n props.$showOnClick\r\n ? `${PopoverContainer} {\r\n visibility: ${props.$showPopover ? 'visible' : 'hidden'};\r\n opacity: ${props.$showPopover ? '1' : '0'};\r\n }\r\n cursor: pointer;`\r\n : `&:hover {\r\n ${PopoverContainer} {\r\n visibility: visible;\r\n opacity: 1;\r\n }\r\n }`}\r\n`;\r\n\r\nconst renderMargins = (isNotePresent: boolean, size: Size): string => {\r\n if (isNotePresent) {\r\n return size === Size.Small ? '10px 16px' : size === Size.Large ? '14px 24px' : '12px 20px';\r\n } else {\r\n return size === Size.Small ? '18px 16px' : size === Size.Large ? '24px' : '20px';\r\n }\r\n};\r\n\r\nconst renderArrowStyles = (position: Position) => {\r\n if (position === Position.Bottom) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 16px solid transparent;\r\n border-right: 12px solid transparent;\r\n border-bottom: 16px solid rgb(255,255,255);\r\n border-left: 12px solid transparent;\r\n content: \"\";\r\n position: absolute;\r\n right: calc(50% - 12px);\r\n bottom: calc(100% - 1px);`;\r\n }\r\n\r\n if (position === Position.Top) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 16px solid rgb(255,255,255);\r\n border-right: 12px solid transparent;\r\n border-bottom: 16px solid transparent;\r\n border-left: 12px solid transparent;\r\n content: \"\";\r\n position: absolute;\r\n right: calc(50% - 12px);\r\n top: calc(100% - 1px);`;\r\n }\r\n\r\n if (position === Position.Left) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 12px solid transparent;\r\n border-right: 16px solid transparent;\r\n border-bottom: 12px solid transparent;\r\n border-left: 16px solid rgb(255,255,255);\r\n content: \"\";\r\n position: absolute;\r\n left: calc(100% - 1px);\r\n bottom: calc(50% - 12px);`;\r\n }\r\n\r\n if (position === Position.Right) {\r\n return `height: 0px;\r\n width: 0px;\r\n border-top: 12px solid transparent;\r\n border-right: 16px solid rgb(255,255,255);\r\n border-bottom: 12px solid transparent;\r\n border-left: 16px solid transparent;\r\n content: \"\";\r\n position: absolute;\r\n right: calc(100% - 1px);\r\n bottom: calc(50% - 12px);`;\r\n }\r\n};\r\n\r\nexport interface PopoverTopSectionProps {\r\n /**\r\n * Required. The main text to be displayed in the top section of the popover.\r\n */\r\n text: string;\r\n\r\n /**\r\n * Optional. A note to be displayed below the main text in the top section of the popover.\r\n */\r\n note?: string;\r\n};\r\n\r\nexport interface PopoverActionButtonProps {\r\n /**\r\n * Required. The icon to be displayed on the button.\r\n */\r\n icon: React.ReactNode;\r\n\r\n /**\r\n * Required. The handler function to be called when the button is clicked.\r\n */\r\n action: () => void;\r\n\r\n /**\r\n * Optional. The label for the button. If provided, the button will display this text.\r\n */\r\n label?: string;\r\n};\r\n\r\nexport interface PopoverBottomSectionProps {\r\n /**\r\n * Optional. An array of PopoverActionButtonProps objects.\r\n * Each object represents an icon button to be displayed in the bottom section of the popover.\r\n */\r\n iconButtons?: PopoverActionButtonProps[];\r\n\r\n /**\r\n * Optional. A PopoverActionButtonProps object representing a text button to be displayed in the bottom section of the popover.\r\n */\r\n textButton?: PopoverActionButtonProps;\r\n};\r\n\r\nexport interface PopoverProps {\r\n /**\r\n * Optional. The size of the popover. It can be 'Small', 'Medium', or 'Large'.\r\n * Defaults to 'Medium' if not specified.\r\n */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n\r\n /**\r\n * Optional. Properties for the top section of the popover.\r\n */\r\n topSectionProps?: PopoverTopSectionProps;\r\n\r\n /**\r\n * Optional. Properties for the bottom section of the popover.\r\n */\r\n bottomSectionProps?: PopoverBottomSectionProps;\r\n\r\n /**\r\n * Required. The main content to be displayed in the popover.\r\n */\r\n mainContent: React.ReactNode;\r\n\r\n /**\r\n * Required. The children to be rendered inside the popover.\r\n */\r\n children: React.ReactNode;\r\n\r\n /**\r\n * Required. The position of the popover relative to the target element.\r\n * It can be 'Top', 'Bottom', 'Right', or 'Left'.\r\n */\r\n position: Position.Top | Position.Bottom | Position.Right | Position.Left;\r\n\r\n /**\r\n * Required. A boolean indicating whether the popover should be shown when the target element is clicked. Defaults to 'false', meaning that popover will be shown on mouse hover.\r\n */\r\n showOnClick: boolean;\r\n\r\n /**\r\n * Optional. A boolean indicating whether an arrow pointer should be shown on the popover.\r\n * Defaults to 'false' if not specified.\r\n */\r\n showArrowPointer?: boolean;\r\n};\r\n\r\nconst Popover: React.FunctionComponent<PopoverProps> = ({\r\n size = Size.Medium,\r\n topSectionProps,\r\n bottomSectionProps,\r\n mainContent,\r\n children,\r\n position,\r\n showOnClick = false,\r\n showArrowPointer = false,\r\n}) => {\r\n const [showPopover, setShowPopover] = React.useState(false);\r\n const theme = useTheme();\r\n const popoverRef = React.useRef<any>(null);\r\n\r\n React.useEffect(() => {\r\n const checkIfClickedOutside = (e: { target: any }) => {\r\n if (showPopover && popoverRef.current && !popoverRef.current.contains(e.target)) {\r\n setShowPopover(false);\r\n }\r\n };\r\n\r\n document.addEventListener('mousedown', checkIfClickedOutside);\r\n\r\n return () => {\r\n document.removeEventListener('mousedown', checkIfClickedOutside);\r\n };\r\n }, [showPopover]);\r\n\r\n return (\r\n <PopoverWrapper $position={position} $showOnClick={showOnClick} $showPopover={showPopover}>\r\n <PopoverContainer $size={size} $position={position} ref={popoverRef} $showArrowPointer={showArrowPointer}>\r\n {!!topSectionProps && (\r\n <PopoverTopSectionContainer $size={size}>\r\n <TextContainer $note={!!topSectionProps?.note} $size={size}>\r\n {topSectionProps?.note && <NoteContainer $size={size}>{topSectionProps.note}</NoteContainer>}\r\n <LabelContainer $size={size}>{topSectionProps?.text}</LabelContainer>\r\n </TextContainer>\r\n\r\n {showOnClick && (\r\n <CloseButtonContainer $size={size} data-testid={'closeBtn'}>\r\n <IconButton action={() => setShowPopover(false)} useTransparentBackground \r\n iconColor={COLORS.generateToken({ componentType: 'icon', defaultVariant: 'subtle' }, theme)} variant=\"secondary\" shape=\"circular\">\r\n <SystemIcons.Close />\r\n </IconButton>\r\n </CloseButtonContainer>\r\n )}\r\n </PopoverTopSectionContainer>\r\n )}\r\n\r\n <PopoverMiddleSectionContainer $size={size}>{mainContent}</PopoverMiddleSectionContainer>\r\n\r\n {!!bottomSectionProps && (\r\n <PopoverBottomSectionContainer $size={size}>\r\n {!!bottomSectionProps?.textButton?.icon && (\r\n <TextButtonContainer $size={size} data-testid={'textBtn'}>\r\n <TextButton size={size} variant=\"secondary\" icon={bottomSectionProps.textButton.icon} onClick={bottomSectionProps.textButton.action}>\r\n {bottomSectionProps.textButton.label}\r\n </TextButton>\r\n </TextButtonContainer>\r\n )}\r\n\r\n <div className=\"bottom-flex\" />\r\n\r\n <IconButtonContainer $size={size} data-testid={'iconBtn'}>\r\n {bottomSectionProps?.iconButtons?.map((iconButton) => (\r\n <IconButton action={iconButton.action} variant=\"secondary\" shape=\"circular\" useTransparentBackground>\r\n {iconButton.icon}\r\n </IconButton>\r\n ))}\r\n </IconButtonContainer>\r\n </PopoverBottomSectionContainer>\r\n )}\r\n </PopoverContainer>\r\n\r\n <div onClick={() => showOnClick && setShowPopover(!showPopover)}>\r\n {children}\r\n\r\n <div className=\"pointer-space\" />\r\n </div>\r\n </PopoverWrapper>\r\n );\r\n};\r\n\r\nexport default Popover;\r\n"],"mappings":"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","ignoreList":[]}