@laerdal/life-react-components 2.3.1-dev.9 → 3.0.1-dev.1

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 (309) hide show
  1. package/dist/AuthPage/AuthPage.cjs +1 -1
  2. package/dist/AuthPage/AuthPage.cjs.map +1 -1
  3. package/dist/AuthPage/AuthPage.d.ts +1 -0
  4. package/dist/AuthPage/AuthPage.js +1 -1
  5. package/dist/AuthPage/AuthPage.js.map +1 -1
  6. package/dist/Banners/Banner.cjs.map +1 -1
  7. package/dist/Banners/Banner.js.map +1 -1
  8. package/dist/Breadcrumb/Breadcrumb.cjs +34 -32
  9. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  10. package/dist/Breadcrumb/Breadcrumb.d.ts +1 -0
  11. package/dist/Breadcrumb/Breadcrumb.js +34 -32
  12. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  13. package/dist/Dropdown/DropdownButtonTypes.d.ts +1 -0
  14. package/dist/Dropdown/DropdownContent.cjs +1 -1
  15. package/dist/Dropdown/DropdownContent.js +1 -1
  16. package/dist/Footer/Components/FooterBottomLinks.d.ts +1 -0
  17. package/dist/Footer/Components/FooterDropdownLinks.d.ts +1 -0
  18. package/dist/Footer/Components/FooterNavSection.d.ts +1 -0
  19. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  20. package/dist/Footer/Components/FooterNewsletterAndSocialSection.d.ts +1 -0
  21. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  22. package/dist/Footer/Components/FooterTop.d.ts +1 -0
  23. package/dist/Footer/Footer.d.ts +1 -0
  24. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  25. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  26. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +2 -0
  27. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -1
  28. package/dist/GlobalNavigationBar/desktop/DesktopActions.js +2 -0
  29. package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -1
  30. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs +1 -1
  31. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -1
  32. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.d.ts +1 -0
  33. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js +2 -2
  34. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -1
  35. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +66 -5
  36. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
  37. package/dist/GlobalNavigationBar/desktop/MainMenu.js +66 -5
  38. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
  39. package/dist/GlobalNavigationBar/desktop/SubMenu.cjs +102 -19
  40. package/dist/GlobalNavigationBar/desktop/SubMenu.cjs.map +1 -1
  41. package/dist/GlobalNavigationBar/desktop/SubMenu.d.ts +4 -1
  42. package/dist/GlobalNavigationBar/desktop/SubMenu.js +102 -19
  43. package/dist/GlobalNavigationBar/desktop/SubMenu.js.map +1 -1
  44. package/dist/GlobalNavigationBar/desktop/UserMenu.d.ts +1 -0
  45. package/dist/GlobalNavigationBar/mobile/MobileMenu.d.ts +1 -0
  46. package/dist/InputFields/DatepickerField.cjs +1 -1
  47. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  48. package/dist/InputFields/DatepickerField.d.ts +18 -1
  49. package/dist/InputFields/DatepickerField.js +1 -1
  50. package/dist/InputFields/DatepickerField.js.map +1 -1
  51. package/dist/InputFields/DatepickerFieldHeader.cjs +2 -4
  52. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
  53. package/dist/InputFields/DatepickerFieldHeader.d.ts +1 -0
  54. package/dist/InputFields/DatepickerFieldHeader.js +2 -4
  55. package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
  56. package/dist/InputFields/Label.cjs.map +1 -1
  57. package/dist/InputFields/Label.d.ts +1 -1
  58. package/dist/InputFields/Label.js.map +1 -1
  59. package/dist/InputFields/NumberField.cjs.map +1 -1
  60. package/dist/InputFields/NumberField.d.ts +15 -0
  61. package/dist/InputFields/NumberField.js.map +1 -1
  62. package/dist/InputFields/PasswordField.cjs.map +1 -1
  63. package/dist/InputFields/PasswordField.d.ts +15 -1
  64. package/dist/InputFields/PasswordField.js.map +1 -1
  65. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  66. package/dist/InputFields/QuickSearch.d.ts +1 -1
  67. package/dist/InputFields/QuickSearch.js.map +1 -1
  68. package/dist/InputFields/RadioButton.cjs.map +1 -1
  69. package/dist/InputFields/RadioButton.d.ts +16 -3
  70. package/dist/InputFields/RadioButton.js.map +1 -1
  71. package/dist/InputFields/SearchBar.cjs.map +1 -1
  72. package/dist/InputFields/SearchBar.d.ts +2 -2
  73. package/dist/InputFields/SearchBar.js.map +1 -1
  74. package/dist/InputFields/TextField.cjs.map +1 -1
  75. package/dist/InputFields/TextField.d.ts +20 -1
  76. package/dist/InputFields/TextField.js.map +1 -1
  77. package/dist/InputFields/index.cjs.map +1 -1
  78. package/dist/InputFields/index.d.ts +10 -8
  79. package/dist/InputFields/index.js.map +1 -1
  80. package/dist/InputFields/types.cjs.map +1 -1
  81. package/dist/InputFields/types.d.ts +0 -19
  82. package/dist/InputFields/types.js.map +1 -1
  83. package/dist/LoadingIndicator/LoadingIndicator.d.ts +1 -0
  84. package/dist/MiniProductCard/MiniProductCard.d.ts +1 -0
  85. package/dist/Modals/ModalContent.cjs +1 -1
  86. package/dist/Modals/ModalContent.cjs.map +1 -1
  87. package/dist/Modals/ModalContent.js +1 -1
  88. package/dist/Modals/ModalContent.js.map +1 -1
  89. package/dist/Modals/ModalDialog.cjs +1 -1
  90. package/dist/Modals/ModalDialog.cjs.map +1 -1
  91. package/dist/Modals/ModalDialog.js +1 -1
  92. package/dist/Modals/ModalDialog.js.map +1 -1
  93. package/dist/Paginator/Paginator.cjs.map +1 -1
  94. package/dist/Paginator/Paginator.d.ts +1 -0
  95. package/dist/Paginator/Paginator.js.map +1 -1
  96. package/dist/Panel/Panel.cjs +4 -4
  97. package/dist/Panel/Panel.cjs.map +1 -1
  98. package/dist/Panel/Panel.js +5 -5
  99. package/dist/Panel/Panel.js.map +1 -1
  100. package/dist/SideMenu/SideMenuBody.d.ts +1 -0
  101. package/dist/SideMenu/SideMenuFooter.d.ts +1 -0
  102. package/dist/SideMenu/SideMenuHeader.d.ts +1 -0
  103. package/dist/SideMenu/types.d.ts +1 -0
  104. package/dist/Switcher/MobileCustomMenuContent.cjs +3 -0
  105. package/dist/Switcher/MobileCustomMenuContent.cjs.map +1 -1
  106. package/dist/Switcher/MobileCustomMenuContent.d.ts +1 -0
  107. package/dist/Switcher/MobileCustomMenuContent.js +3 -0
  108. package/dist/Switcher/MobileCustomMenuContent.js.map +1 -1
  109. package/dist/Switcher/SwitcherMenuItem.d.ts +1 -0
  110. package/dist/Table/Table.cjs +1 -1
  111. package/dist/Table/Table.js +1 -1
  112. package/dist/Table/TableFooter.cjs.map +1 -1
  113. package/dist/Table/TableFooter.js.map +1 -1
  114. package/dist/Table/TableTypes.d.ts +1 -0
  115. package/dist/Tabs/TabLink.cjs +52 -51
  116. package/dist/Tabs/TabLink.cjs.map +1 -1
  117. package/dist/Tabs/TabLink.d.ts +13 -14
  118. package/dist/Tabs/TabLink.js +52 -51
  119. package/dist/Tabs/TabLink.js.map +1 -1
  120. package/dist/Tile/TileCommonItems.cjs +3 -3
  121. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  122. package/dist/Tile/TileCommonItems.d.ts +1 -0
  123. package/dist/Tile/TileCommonItems.js +3 -3
  124. package/dist/Tile/TileCommonItems.js.map +1 -1
  125. package/dist/Toggles/TogglerTypes.d.ts +1 -0
  126. package/dist/Tooltips/TooltipOverflow.cjs +1 -1
  127. package/dist/Tooltips/TooltipOverflow.cjs.map +1 -1
  128. package/dist/Tooltips/TooltipOverflow.js +1 -1
  129. package/dist/Tooltips/TooltipOverflow.js.map +1 -1
  130. package/dist/Tooltips/TooltipTypes.d.ts +1 -0
  131. package/dist/Tooltips/TooltipWrapper.d.ts +1 -0
  132. package/dist/assets/index.cjs.map +1 -1
  133. package/dist/assets/index.js.map +1 -1
  134. package/dist/common/ActionWithin.cjs +1 -1
  135. package/dist/common/ActionWithin.js +1 -1
  136. package/dist/common/FocusVisible.cjs +1 -1
  137. package/dist/common/FocusVisible.js +1 -1
  138. package/dist/icons/contenticons/AedNoShockAdvised.cjs +41 -0
  139. package/dist/icons/contenticons/AedNoShockAdvised.cjs.map +1 -0
  140. package/dist/icons/contenticons/AedNoShockAdvised.d.ts +3 -0
  141. package/dist/icons/contenticons/AedNoShockAdvised.js +30 -0
  142. package/dist/icons/contenticons/AedNoShockAdvised.js.map +1 -0
  143. package/dist/icons/contenticons/AedShockAdvised.cjs +41 -0
  144. package/dist/icons/contenticons/AedShockAdvised.cjs.map +1 -0
  145. package/dist/icons/contenticons/AedShockAdvised.d.ts +3 -0
  146. package/dist/icons/contenticons/AedShockAdvised.js +30 -0
  147. package/dist/icons/contenticons/AedShockAdvised.js.map +1 -0
  148. package/dist/icons/contenticons/{NoShockAdvised.cjs → Data.cjs} +5 -5
  149. package/dist/icons/contenticons/Data.cjs.map +1 -0
  150. package/dist/icons/contenticons/Data.d.ts +3 -0
  151. package/dist/icons/contenticons/{NoShockAdvised.js → Data.js} +3 -3
  152. package/dist/icons/contenticons/Data.js.map +1 -0
  153. package/dist/icons/contenticons/DecisionFlow.cjs +41 -0
  154. package/dist/icons/contenticons/DecisionFlow.cjs.map +1 -0
  155. package/dist/icons/contenticons/DecisionFlow.d.ts +3 -0
  156. package/dist/icons/contenticons/DecisionFlow.js +30 -0
  157. package/dist/icons/contenticons/DecisionFlow.js.map +1 -0
  158. package/dist/icons/contenticons/Metronome.cjs +41 -0
  159. package/dist/icons/contenticons/Metronome.cjs.map +1 -0
  160. package/dist/icons/contenticons/Metronome.d.ts +3 -0
  161. package/dist/icons/contenticons/Metronome.js +30 -0
  162. package/dist/icons/contenticons/Metronome.js.map +1 -0
  163. package/dist/icons/contenticons/ShockAutomated.cjs +41 -0
  164. package/dist/icons/contenticons/ShockAutomated.cjs.map +1 -0
  165. package/dist/icons/contenticons/{NoShockAdvised.d.ts → ShockAutomated.d.ts} +1 -1
  166. package/dist/icons/contenticons/ShockAutomated.js +30 -0
  167. package/dist/icons/contenticons/ShockAutomated.js.map +1 -0
  168. package/dist/icons/contenticons/ShockNotAdvised.cjs +41 -0
  169. package/dist/icons/contenticons/ShockNotAdvised.cjs.map +1 -0
  170. package/dist/icons/contenticons/ShockNotAdvised.d.ts +3 -0
  171. package/dist/icons/contenticons/ShockNotAdvised.js +30 -0
  172. package/dist/icons/contenticons/ShockNotAdvised.js.map +1 -0
  173. package/dist/icons/contenticons/Stock.cjs +41 -0
  174. package/dist/icons/contenticons/Stock.cjs.map +1 -0
  175. package/dist/icons/contenticons/Stock.d.ts +3 -0
  176. package/dist/icons/contenticons/Stock.js +30 -0
  177. package/dist/icons/contenticons/Stock.js.map +1 -0
  178. package/dist/icons/contenticons/Visibility.cjs +41 -0
  179. package/dist/icons/contenticons/Visibility.cjs.map +1 -0
  180. package/dist/icons/contenticons/Visibility.d.ts +3 -0
  181. package/dist/icons/contenticons/Visibility.js +30 -0
  182. package/dist/icons/contenticons/Visibility.js.map +1 -0
  183. package/dist/icons/contenticons/index.cjs +92 -4
  184. package/dist/icons/contenticons/index.cjs.map +1 -1
  185. package/dist/icons/contenticons/index.d.ts +9 -1
  186. package/dist/icons/contenticons/index.js +9 -1
  187. package/dist/icons/contenticons/index.js.map +1 -1
  188. package/dist/icons/systemicons/Adult.cjs +41 -0
  189. package/dist/icons/systemicons/Adult.cjs.map +1 -0
  190. package/dist/icons/systemicons/Adult.d.ts +3 -0
  191. package/dist/icons/systemicons/Adult.js +30 -0
  192. package/dist/icons/systemicons/Adult.js.map +1 -0
  193. package/dist/icons/systemicons/AedPads.cjs +41 -0
  194. package/dist/icons/systemicons/AedPads.cjs.map +1 -0
  195. package/dist/icons/systemicons/AedPads.d.ts +3 -0
  196. package/dist/icons/systemicons/AedPads.js +30 -0
  197. package/dist/icons/systemicons/AedPads.js.map +1 -0
  198. package/dist/icons/systemicons/AedPadsCorrect.cjs +41 -0
  199. package/dist/icons/systemicons/AedPadsCorrect.cjs.map +1 -0
  200. package/dist/icons/systemicons/AedPadsCorrect.d.ts +3 -0
  201. package/dist/icons/systemicons/AedPadsCorrect.js +30 -0
  202. package/dist/icons/systemicons/AedPadsCorrect.js.map +1 -0
  203. package/dist/icons/systemicons/AedPadsError.cjs +41 -0
  204. package/dist/icons/systemicons/AedPadsError.cjs.map +1 -0
  205. package/dist/icons/systemicons/AedPadsError.d.ts +3 -0
  206. package/dist/icons/systemicons/AedPadsError.js +30 -0
  207. package/dist/icons/systemicons/AedPadsError.js.map +1 -0
  208. package/dist/icons/systemicons/Archive.cjs +41 -0
  209. package/dist/icons/systemicons/Archive.cjs.map +1 -0
  210. package/dist/icons/systemicons/Archive.d.ts +3 -0
  211. package/dist/icons/systemicons/Archive.js +30 -0
  212. package/dist/icons/systemicons/Archive.js.map +1 -0
  213. package/dist/icons/systemicons/ArrowCollapse.cjs +41 -0
  214. package/dist/icons/systemicons/ArrowCollapse.cjs.map +1 -0
  215. package/dist/icons/systemicons/ArrowCollapse.d.ts +3 -0
  216. package/dist/icons/systemicons/ArrowCollapse.js +30 -0
  217. package/dist/icons/systemicons/ArrowCollapse.js.map +1 -0
  218. package/dist/icons/systemicons/ArrowExpand.cjs +41 -0
  219. package/dist/icons/systemicons/ArrowExpand.cjs.map +1 -0
  220. package/dist/icons/systemicons/ArrowExpand.d.ts +3 -0
  221. package/dist/icons/systemicons/ArrowExpand.js +30 -0
  222. package/dist/icons/systemicons/ArrowExpand.js.map +1 -0
  223. package/dist/icons/systemicons/Child.cjs +41 -0
  224. package/dist/icons/systemicons/Child.cjs.map +1 -0
  225. package/dist/icons/systemicons/Child.d.ts +3 -0
  226. package/dist/icons/systemicons/Child.js +30 -0
  227. package/dist/icons/systemicons/Child.js.map +1 -0
  228. package/dist/icons/systemicons/Copy.cjs +41 -0
  229. package/dist/icons/systemicons/Copy.cjs.map +1 -0
  230. package/dist/icons/systemicons/Copy.d.ts +3 -0
  231. package/dist/icons/systemicons/Copy.js +30 -0
  232. package/dist/icons/systemicons/Copy.js.map +1 -0
  233. package/dist/icons/systemicons/DecisionFlow.cjs +41 -0
  234. package/dist/icons/systemicons/DecisionFlow.cjs.map +1 -0
  235. package/dist/icons/systemicons/DecisionFlow.d.ts +3 -0
  236. package/dist/icons/systemicons/DecisionFlow.js +30 -0
  237. package/dist/icons/systemicons/DecisionFlow.js.map +1 -0
  238. package/dist/icons/systemicons/HeartShock.cjs +41 -0
  239. package/dist/icons/systemicons/HeartShock.cjs.map +1 -0
  240. package/dist/icons/systemicons/HeartShock.d.ts +3 -0
  241. package/dist/icons/systemicons/HeartShock.js +30 -0
  242. package/dist/icons/systemicons/HeartShock.js.map +1 -0
  243. package/dist/icons/systemicons/Infant.cjs +41 -0
  244. package/dist/icons/systemicons/Infant.cjs.map +1 -0
  245. package/dist/icons/systemicons/Infant.d.ts +3 -0
  246. package/dist/icons/systemicons/Infant.js +30 -0
  247. package/dist/icons/systemicons/Infant.js.map +1 -0
  248. package/dist/icons/systemicons/LegendStrokeDashed.cjs +41 -0
  249. package/dist/icons/systemicons/LegendStrokeDashed.cjs.map +1 -0
  250. package/dist/icons/systemicons/LegendStrokeDashed.d.ts +3 -0
  251. package/dist/icons/systemicons/LegendStrokeDashed.js +30 -0
  252. package/dist/icons/systemicons/LegendStrokeDashed.js.map +1 -0
  253. package/dist/icons/systemicons/LegendStrokeSolid.cjs +41 -0
  254. package/dist/icons/systemicons/LegendStrokeSolid.cjs.map +1 -0
  255. package/dist/icons/systemicons/LegendStrokeSolid.d.ts +3 -0
  256. package/dist/icons/systemicons/LegendStrokeSolid.js +30 -0
  257. package/dist/icons/systemicons/LegendStrokeSolid.js.map +1 -0
  258. package/dist/icons/systemicons/LoadingMedium.cjs.map +1 -1
  259. package/dist/icons/systemicons/LoadingMedium.js.map +1 -1
  260. package/dist/icons/systemicons/LoadingSmall.cjs.map +1 -1
  261. package/dist/icons/systemicons/LoadingSmall.js.map +1 -1
  262. package/dist/icons/systemicons/Metronome.cjs +41 -0
  263. package/dist/icons/systemicons/Metronome.cjs.map +1 -0
  264. package/dist/icons/systemicons/Metronome.d.ts +3 -0
  265. package/dist/icons/systemicons/Metronome.js +30 -0
  266. package/dist/icons/systemicons/Metronome.js.map +1 -0
  267. package/dist/icons/systemicons/Pin.cjs +41 -0
  268. package/dist/icons/systemicons/Pin.cjs.map +1 -0
  269. package/dist/icons/systemicons/Pin.d.ts +3 -0
  270. package/dist/icons/systemicons/Pin.js +30 -0
  271. package/dist/icons/systemicons/Pin.js.map +1 -0
  272. package/dist/icons/systemicons/Shock.cjs +41 -0
  273. package/dist/icons/systemicons/Shock.cjs.map +1 -0
  274. package/dist/icons/systemicons/Shock.d.ts +3 -0
  275. package/dist/icons/systemicons/Shock.js +30 -0
  276. package/dist/icons/systemicons/Shock.js.map +1 -0
  277. package/dist/icons/systemicons/ShockAdvised.cjs +41 -0
  278. package/dist/icons/systemicons/ShockAdvised.cjs.map +1 -0
  279. package/dist/icons/systemicons/ShockAdvised.d.ts +3 -0
  280. package/dist/icons/systemicons/ShockAdvised.js +30 -0
  281. package/dist/icons/systemicons/ShockAdvised.js.map +1 -0
  282. package/dist/icons/systemicons/ShockAutomated.cjs +41 -0
  283. package/dist/icons/systemicons/ShockAutomated.cjs.map +1 -0
  284. package/dist/icons/systemicons/ShockAutomated.d.ts +3 -0
  285. package/dist/icons/systemicons/ShockAutomated.js +30 -0
  286. package/dist/icons/systemicons/ShockAutomated.js.map +1 -0
  287. package/dist/icons/systemicons/ShockNotAdvised.cjs +41 -0
  288. package/dist/icons/systemicons/ShockNotAdvised.cjs.map +1 -0
  289. package/dist/icons/systemicons/ShockNotAdvised.d.ts +3 -0
  290. package/dist/icons/systemicons/ShockNotAdvised.js +30 -0
  291. package/dist/icons/systemicons/ShockNotAdvised.js.map +1 -0
  292. package/dist/icons/systemicons/Translation.cjs +41 -0
  293. package/dist/icons/systemicons/Translation.cjs.map +1 -0
  294. package/dist/icons/systemicons/Translation.d.ts +3 -0
  295. package/dist/icons/systemicons/Translation.js +30 -0
  296. package/dist/icons/systemicons/Translation.js.map +1 -0
  297. package/dist/icons/systemicons/ZoomOut.cjs +41 -0
  298. package/dist/icons/systemicons/ZoomOut.cjs.map +1 -0
  299. package/dist/icons/systemicons/ZoomOut.d.ts +3 -0
  300. package/dist/icons/systemicons/ZoomOut.js +30 -0
  301. package/dist/icons/systemicons/ZoomOut.js.map +1 -0
  302. package/dist/icons/systemicons/index.cjs +250 -8
  303. package/dist/icons/systemicons/index.cjs.map +1 -1
  304. package/dist/icons/systemicons/index.d.ts +23 -1
  305. package/dist/icons/systemicons/index.js +23 -1
  306. package/dist/icons/systemicons/index.js.map +1 -1
  307. package/package.json +9 -10
  308. package/dist/icons/contenticons/NoShockAdvised.cjs.map +0 -1
  309. package/dist/icons/contenticons/NoShockAdvised.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ModalDialog.cjs","names":["ModalDialog","size","isModalOpen","closeModalAndClearInput","title","topImage","topImageWithFallbacksProps","topImageGrayscale","buttons","leftFooterAction","backButton","closeAction","submitAction","tooltip","children","note","state","icon","zIndex","contentOverflow","width","hasContentBorders","getMinWidth","Size","Small","Large","Medium","getMaxWidth","getImageHeight","getMarginBottom","getPadding","getMaxHeight","ModalTitle","ComponentTextStyle","Bold","ModalTootip","XSmall","COLORS","neutral_600","ModalCloseButton","onClick","black","ModalBackButton","getLeftActionIconElement","React","cloneElement","LeftFooterAction","text","actionType","disabled","action","type","loading","variant","order","marginRight","href","e","preventDefault","display","flexDirection","maxHeight","loader","alt","fallbacks","src","map","b","i","id"],"sources":["../../src/Modals/ModalDialog.tsx"],"sourcesContent":["import React from 'react';\nimport { Button, IconButton } from '../Button';\nimport { SystemIcons } from '../icons';\nimport { COLORS, ComponentL, ComponentM, ComponentTextStyle, ComponentXL } from '../styles';\nimport { Size } from '../types';\nimport ModalContainer from './ModalContainer';\nimport {\n BackButtonWrapper,\n CloseButtonWrapper,\n Column,\n FlexContainer,\n ModalBody,\n ModalFooter,\n ModalHeaderActions,\n ModalHeaderActionsWithImage,\n ModalTitleSection,\n StyledModalHeader,\n ModalHoverModifier,\n ImageOverlay,\n ImageContainer,\n} from './ModalStyles';\n\nimport { ModalNote } from './ModalNote';\nimport { TooltipWrapper } from '../Tooltips';\nimport { ButtonAction, LeftFooterAction, LeftFooterButton, LeftFooterHyperlink } from './ModalTypes';\nimport { HyperLink, ImageWithFallbacks } from '..';\nimport { ImageWithFallbacksProps } from '../Image/ImageWithFallbacks';\n\ninterface NewModalProps {\n size?: Size;\n isModalOpen: boolean;\n children?: React.ReactNode;\n closeModalAndClearInput: any;\n title?: string | React.ReactNode;\n topImage?: any;\n topImageWithFallbacksProps?: ImageWithFallbacksProps;\n topImageGrayscale?: boolean;\n buttons?: ButtonAction[];\n leftFooterAction?: LeftFooterAction;\n tooltip?: string;\n backButton?: () => void;\n closeAction: () => void;\n submitAction: (event?: React.FormEvent<HTMLFormElement> | undefined) => void;\n note?: string | React.ReactNode;\n state?: string;\n icon?: React.ReactNode;\n zIndex?: number;\n contentOverflow?: string;\n width?: string;\n hasContentBorders?: boolean;\n}\n\nexport const ModalDialog: React.FunctionComponent<NewModalProps> = ({\n size,\n isModalOpen,\n closeModalAndClearInput,\n title,\n topImage,\n topImageWithFallbacksProps,\n topImageGrayscale,\n buttons,\n leftFooterAction,\n backButton,\n closeAction,\n submitAction,\n tooltip,\n children,\n note,\n state,\n icon,\n zIndex,\n contentOverflow,\n width,\n hasContentBorders,\n}) => {\n const getMinWidth = () => {\n switch (size) {\n case Size.Small:\n return '320px';\n case Size.Large:\n return '640px';\n case Size.Medium:\n default:\n return '480px';\n }\n };\n\n const getMaxWidth = () => {\n switch (size) {\n case Size.Small:\n return '480px';\n case Size.Large:\n return '720px';\n case Size.Medium:\n default:\n return '640px';\n }\n };\n\n const getImageHeight = () => {\n switch (size) {\n case Size.Small:\n return 160;\n case Size.Medium:\n return 200;\n case Size.Large:\n return 240;\n default:\n return 200;\n }\n };\n\n const getMarginBottom = () => {\n switch (size) {\n case Size.Small:\n return '16px';\n case Size.Medium:\n return '24px';\n case Size.Large:\n return '32px';\n default:\n return '24px';\n }\n };\n\n const getPadding = () => {\n switch (size) {\n case Size.Small:\n return '16px 16px 8px';\n case Size.Medium:\n return '24px 24px 20px';\n case Size.Large:\n return '32px';\n default:\n return '24px 24px 16px';\n }\n };\n\n const getMaxHeight = () => {\n switch (size) {\n case Size.Small:\n return 'calc(100vh - 56px)';\n case Size.Medium:\n return 'calc(100vh - 76px)';\n case Size.Large:\n return 'calc(100vh - 96px)';\n default:\n return 'calc(100vh - 72px)';\n }\n };\n\n const ModalTitle = (title: string | React.ReactNode, size?: Size) => {\n if (typeof title === 'string') {\n switch (size) {\n case Size.Small:\n return <ComponentM textStyle={ComponentTextStyle.Bold}>{title}</ComponentM>;\n case Size.Medium:\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\n case Size.Large:\n return <ComponentXL textStyle={ComponentTextStyle.Bold}>{title}</ComponentXL>;\n default:\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\n }\n } else {\n return title;\n }\n };\n\n const ModalTootip = (tooltip: string) => {\n return (\n <ModalHoverModifier>\n <TooltipWrapper delay=\"0s\" size={Size.XSmall} align=\"center\" position=\"top\" withArrow={false} label={tooltip}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => {}}>\n <SystemIcons.Help size=\"24px\" color={COLORS.neutral_600} />\n </IconButton>\n </TooltipWrapper>\n </ModalHoverModifier>\n );\n };\n\n const ModalCloseButton = (onClick: any) => {\n return (\n <CloseButtonWrapper hasImage={!!topImage || !!topImageWithFallbacksProps} size={size}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => onClick()} borderRadius={48}>\n <SystemIcons.Close size=\"24px\" color={COLORS.black} />\n </IconButton>\n </CloseButtonWrapper>\n );\n };\n\n const ModalBackButton = () => {\n if (backButton) {\n return (\n <BackButtonWrapper hasImage={!!topImage || !!topImageWithFallbacksProps} size={size}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => backButton()} borderRadius={48}>\n <SystemIcons.ArrowLineLeft size=\"24px\" color={COLORS.black} />\n </IconButton>\n </BackButtonWrapper>\n );\n }\n };\n\n const getLeftActionIconElement = (icon: React.ReactNode) => {\n return React.cloneElement(icon as React.ReactElement, { size: size === Size.Small ? '20px' : size === Size.Large ? '28px' : '24px' });\n };\n\n const LeftFooterAction = (leftFooterAction: LeftFooterAction) => {\n const { text, actionType, disabled, icon, action } = leftFooterAction;\n switch (actionType) {\n case 'button':\n return (\n <Button\n id={'left-action-button'}\n type={(leftFooterAction as LeftFooterButton)?.type}\n disabled={disabled}\n loading={(leftFooterAction as LeftFooterButton)?.loading}\n icon={icon}\n size={size}\n onClick={action}\n variant={(leftFooterAction as LeftFooterButton)?.variant ?? 'secondary'}\n style={{ order: -1, marginRight: 'auto' }}>\n {text}\n </Button>\n );\n case 'hyperlink':\n return (\n <HyperLink\n id=\"left-action-hyperlink\"\n className=\"footer-action\"\n href={(leftFooterAction as LeftFooterHyperlink).href}\n disabled={disabled}\n variant=\"default\"\n onClick={(e) => {\n if (action) {\n e.preventDefault();\n action(e);\n }\n }}>\n {icon && getLeftActionIconElement(icon)}\n {text}\n </HyperLink>\n );\n case 'note':\n return (\n <div className=\"footer-action note\">\n {icon && getLeftActionIconElement(icon)}\n <span>{text}</span>\n </div>\n );\n }\n };\n\n return (\n <ModalContainer\n showModal={isModalOpen}\n closeModal={closeModalAndClearInput}\n minWidth={getMinWidth()}\n maxWidth={getMaxWidth()}\n height=\"auto\"\n padding={getPadding()}\n zIndex={zIndex}\n width={width}>\n <Column>\n <form onSubmit={submitAction} style={{ display: 'flex', flexDirection: 'column', maxHeight: getMaxHeight() }}>\n {(topImage || topImageWithFallbacksProps) && (\n <StyledModalHeader size={size} $height={getImageHeight()} marginBottom={getMarginBottom()}>\n <ImageContainer $height={getImageHeight()}>\n {topImageGrayscale && <ImageOverlay $height={getImageHeight()} />}\n {topImage && <img src={topImage} alt=\"Modal top\" />}\n {!topImage && topImageWithFallbacksProps && (\n <ImageWithFallbacks\n loader={topImageWithFallbacksProps.loader}\n alt={topImageWithFallbacksProps.alt}\n fallbacks={topImageWithFallbacksProps.fallbacks}\n src={topImageWithFallbacksProps.src}\n />\n )}\n </ImageContainer>\n <ModalHeaderActionsWithImage hasBackButton={!!backButton}>\n {ModalBackButton()}\n {ModalCloseButton(closeAction)}\n </ModalHeaderActionsWithImage>\n </StyledModalHeader>\n )}\n <ModalTitleSection>\n <FlexContainer>\n {!(topImage || topImageWithFallbacksProps) && ModalBackButton()}\n {title && ModalTitle(title, size)}\n </FlexContainer>\n {(tooltip || !(topImage || topImageWithFallbacksProps)) && (\n <ModalHeaderActions>\n {tooltip && ModalTootip(tooltip)}\n {!(topImage || topImageWithFallbacksProps) && ModalCloseButton(closeAction)}\n </ModalHeaderActions>\n )}\n </ModalTitleSection>\n\n <ModalBody size={size} overflow={contentOverflow} hasContentBorders={hasContentBorders}>\n {children}\n </ModalBody>\n\n {note && <ModalNote note={note} state={state} size={size} icon={icon} />}\n\n <ModalFooter size={size}>\n {leftFooterAction && LeftFooterAction(leftFooterAction)}\n {buttons?.map((b, i) => (\n <Button key={b.id || i} icon={b.icon} id={b.id} disabled={b.disabled} loading={b.loading} size={size} onClick={b.action} type={b.type} variant={b.variant}>\n {b.text}\n </Button>\n ))}\n </ModalFooter>\n </form>\n </Column>\n </ModalContainer>\n );\n};\n\nexport default ModalDialog;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ModalDialog.cjs","names":["ModalDialog","size","isModalOpen","closeModalAndClearInput","title","topImage","topImageWithFallbacksProps","topImageGrayscale","buttons","leftFooterAction","backButton","closeAction","submitAction","tooltip","children","note","state","icon","zIndex","contentOverflow","width","hasContentBorders","getMinWidth","Size","Small","Large","Medium","getMaxWidth","getImageHeight","getMarginBottom","getPadding","getMaxHeight","ModalTitle","ComponentTextStyle","Bold","ModalTootip","XSmall","COLORS","neutral_600","ModalCloseButton","onClick","black","ModalBackButton","getLeftActionIconElement","React","cloneElement","LeftFooterAction","text","actionType","disabled","action","type","loading","variant","order","marginRight","href","e","preventDefault","display","flexDirection","maxHeight","loader","alt","fallbacks","src","map","b","i","id"],"sources":["../../src/Modals/ModalDialog.tsx"],"sourcesContent":["import React from 'react';\nimport { Button, IconButton } from '../Button';\nimport { SystemIcons } from '../icons';\nimport { COLORS, ComponentL, ComponentM, ComponentTextStyle, ComponentXL } from '../styles';\nimport { Size } from '../types';\nimport ModalContainer from './ModalContainer';\nimport {\n BackButtonWrapper,\n CloseButtonWrapper,\n Column,\n FlexContainer,\n ModalBody,\n ModalFooter,\n ModalHeaderActions,\n ModalHeaderActionsWithImage,\n ModalTitleSection,\n StyledModalHeader,\n ModalHoverModifier,\n ImageOverlay,\n ImageContainer,\n} from './ModalStyles';\n\nimport { ModalNote } from './ModalNote';\nimport { TooltipWrapper } from '../Tooltips';\nimport { ButtonAction, LeftFooterAction, LeftFooterButton, LeftFooterHyperlink } from './ModalTypes';\nimport { HyperLink, ImageWithFallbacks } from '..';\nimport { ImageWithFallbacksProps } from '../Image/ImageWithFallbacks';\n\ninterface NewModalProps {\n size?: Size;\n isModalOpen: boolean;\n children?: React.ReactNode;\n closeModalAndClearInput: any;\n title?: string | React.ReactNode;\n topImage?: any;\n topImageWithFallbacksProps?: ImageWithFallbacksProps;\n topImageGrayscale?: boolean;\n buttons?: ButtonAction[];\n leftFooterAction?: LeftFooterAction;\n tooltip?: string;\n backButton?: () => void;\n closeAction: () => void;\n submitAction: (event?: React.FormEvent<HTMLFormElement> | undefined) => void;\n note?: string | React.ReactNode;\n state?: string;\n icon?: React.ReactNode;\n zIndex?: number;\n contentOverflow?: string;\n width?: string;\n hasContentBorders?: boolean;\n}\n\nexport const ModalDialog: React.FunctionComponent<NewModalProps> = ({\n size,\n isModalOpen,\n closeModalAndClearInput,\n title,\n topImage,\n topImageWithFallbacksProps,\n topImageGrayscale,\n buttons,\n leftFooterAction,\n backButton,\n closeAction,\n submitAction,\n tooltip,\n children,\n note,\n state,\n icon,\n zIndex,\n contentOverflow,\n width,\n hasContentBorders,\n}) => {\n const getMinWidth = () => {\n switch (size) {\n case Size.Small:\n return '320px';\n case Size.Large:\n return '640px';\n case Size.Medium:\n default:\n return '480px';\n }\n };\n\n const getMaxWidth = () => {\n switch (size) {\n case Size.Small:\n return '480px';\n case Size.Large:\n return '720px';\n case Size.Medium:\n default:\n return '640px';\n }\n };\n\n const getImageHeight = () => {\n switch (size) {\n case Size.Small:\n return 160;\n case Size.Medium:\n return 200;\n case Size.Large:\n return 240;\n default:\n return 200;\n }\n };\n\n const getMarginBottom = () => {\n switch (size) {\n case Size.Small:\n return '16px';\n case Size.Medium:\n return '24px';\n case Size.Large:\n return '32px';\n default:\n return '24px';\n }\n };\n\n const getPadding = () => {\n switch (size) {\n case Size.Small:\n return '16px 16px 8px';\n case Size.Medium:\n return '24px 24px 20px';\n case Size.Large:\n return '32px';\n default:\n return '24px 24px 16px';\n }\n };\n\n const getMaxHeight = () => {\n switch (size) {\n case Size.Small:\n return 'calc(100vh - 56px)';\n case Size.Medium:\n return 'calc(100vh - 76px)';\n case Size.Large:\n return 'calc(100vh - 96px)';\n default:\n return 'calc(100vh - 72px)';\n }\n };\n\n const ModalTitle = (title: string | React.ReactNode, size?: Size) => {\n if (typeof title === 'string') {\n switch (size) {\n case Size.Small:\n return <ComponentM textStyle={ComponentTextStyle.Bold}>{title}</ComponentM>;\n case Size.Medium:\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\n case Size.Large:\n return <ComponentXL textStyle={ComponentTextStyle.Bold}>{title}</ComponentXL>;\n default:\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\n }\n } else {\n return title;\n }\n };\n\n const ModalTootip = (tooltip: string) => {\n return (\n <ModalHoverModifier>\n <TooltipWrapper delay=\"0s\" size={Size.XSmall} align=\"center\" position=\"top\" withArrow={false} label={tooltip}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => {}}>\n <SystemIcons.Help size=\"24px\" color={COLORS.neutral_600} />\n </IconButton>\n </TooltipWrapper>\n </ModalHoverModifier>\n );\n };\n\n const ModalCloseButton = (onClick: any) => {\n return (\n <CloseButtonWrapper hasImage={!!topImage || !!topImageWithFallbacksProps} size={size}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => onClick()} borderRadius={48}>\n <SystemIcons.Close size=\"24px\" color={COLORS.black} />\n </IconButton>\n </CloseButtonWrapper>\n );\n };\n\n const ModalBackButton = () => {\n if (backButton) {\n return (\n <BackButtonWrapper hasImage={!!topImage || !!topImageWithFallbacksProps} size={size}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => backButton()} borderRadius={48}>\n <SystemIcons.ArrowLineLeft size=\"24px\" color={COLORS.black} />\n </IconButton>\n </BackButtonWrapper>\n );\n }\n };\n\n const getLeftActionIconElement = (icon: React.ReactNode) => {\n return React.cloneElement(icon as React.ReactElement, { size: size === Size.Small ? '20px' : size === Size.Large ? '28px' : '24px' });\n };\n\n const LeftFooterAction = (leftFooterAction: LeftFooterAction) => {\n const { text, actionType, disabled, icon, action } = leftFooterAction;\n switch (actionType) {\n case 'button':\n return (\n <Button\n id={'left-action-button'}\n type={(leftFooterAction as LeftFooterButton)?.type}\n disabled={disabled}\n loading={(leftFooterAction as LeftFooterButton)?.loading}\n icon={icon}\n size={size}\n onClick={action}\n variant={(leftFooterAction as LeftFooterButton)?.variant ?? 'secondary'}\n style={{ order: -1, marginRight: 'auto' }}>\n {text}\n </Button>\n );\n case 'hyperlink':\n return (\n <HyperLink\n id=\"left-action-hyperlink\"\n className=\"footer-action\"\n href={(leftFooterAction as LeftFooterHyperlink).href}\n disabled={disabled}\n variant=\"default\"\n onClick={(e) => {\n if (action) {\n e.preventDefault();\n action(e);\n }\n }}>\n {text}\n {icon && getLeftActionIconElement(icon)}\n </HyperLink>\n );\n case 'note':\n return (\n <div className=\"footer-action note\">\n {icon && getLeftActionIconElement(icon)}\n <span>{text}</span>\n </div>\n );\n }\n };\n\n return (\n <ModalContainer\n showModal={isModalOpen}\n closeModal={closeModalAndClearInput}\n minWidth={getMinWidth()}\n maxWidth={getMaxWidth()}\n height=\"auto\"\n padding={getPadding()}\n zIndex={zIndex}\n width={width}>\n <Column>\n <form onSubmit={submitAction} style={{ display: 'flex', flexDirection: 'column', maxHeight: getMaxHeight() }}>\n {(topImage || topImageWithFallbacksProps) && (\n <StyledModalHeader size={size} $height={getImageHeight()} marginBottom={getMarginBottom()}>\n <ImageContainer $height={getImageHeight()}>\n {topImageGrayscale && <ImageOverlay $height={getImageHeight()} />}\n {topImage && <img src={topImage} alt=\"Modal top\" />}\n {!topImage && topImageWithFallbacksProps && (\n <ImageWithFallbacks\n loader={topImageWithFallbacksProps.loader}\n alt={topImageWithFallbacksProps.alt}\n fallbacks={topImageWithFallbacksProps.fallbacks}\n src={topImageWithFallbacksProps.src}\n />\n )}\n </ImageContainer>\n <ModalHeaderActionsWithImage hasBackButton={!!backButton}>\n {ModalBackButton()}\n {ModalCloseButton(closeAction)}\n </ModalHeaderActionsWithImage>\n </StyledModalHeader>\n )}\n <ModalTitleSection>\n <FlexContainer>\n {!(topImage || topImageWithFallbacksProps) && ModalBackButton()}\n {title && ModalTitle(title, size)}\n </FlexContainer>\n {(tooltip || !(topImage || topImageWithFallbacksProps)) && (\n <ModalHeaderActions>\n {tooltip && ModalTootip(tooltip)}\n {!(topImage || topImageWithFallbacksProps) && ModalCloseButton(closeAction)}\n </ModalHeaderActions>\n )}\n </ModalTitleSection>\n\n <ModalBody size={size} overflow={contentOverflow} hasContentBorders={hasContentBorders}>\n {children}\n </ModalBody>\n\n {note && <ModalNote note={note} state={state} size={size} icon={icon} />}\n\n <ModalFooter size={size}>\n {leftFooterAction && LeftFooterAction(leftFooterAction)}\n {buttons?.map((b, i) => (\n <Button key={b.id || i} icon={b.icon} id={b.id} disabled={b.disabled} loading={b.loading} size={size} onClick={b.action} type={b.type} variant={b.variant}>\n {b.text}\n </Button>\n ))}\n </ModalFooter>\n </form>\n </Column>\n </ModalContainer>\n );\n};\n\nexport default ModalDialog;\n"],"mappings":"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"}
@@ -232,7 +232,7 @@ export var ModalDialog = function ModalDialog(_ref) {
232
232
  action(e);
233
233
  }
234
234
  },
235
- children: [icon && getLeftActionIconElement(icon), text]
235
+ children: [text, icon && getLeftActionIconElement(icon)]
236
236
  });
237
237
  case 'note':
238
238
  return /*#__PURE__*/_jsxs("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"ModalDialog.js","names":["React","Button","IconButton","SystemIcons","COLORS","ComponentL","ComponentM","ComponentTextStyle","ComponentXL","Size","ModalContainer","BackButtonWrapper","CloseButtonWrapper","Column","FlexContainer","ModalBody","ModalFooter","ModalHeaderActions","ModalHeaderActionsWithImage","ModalTitleSection","StyledModalHeader","ModalHoverModifier","ImageOverlay","ImageContainer","ModalNote","TooltipWrapper","HyperLink","ImageWithFallbacks","ModalDialog","size","isModalOpen","closeModalAndClearInput","title","topImage","topImageWithFallbacksProps","topImageGrayscale","buttons","leftFooterAction","backButton","closeAction","submitAction","tooltip","children","note","state","icon","zIndex","contentOverflow","width","hasContentBorders","getMinWidth","Small","Large","Medium","getMaxWidth","getImageHeight","getMarginBottom","getPadding","getMaxHeight","ModalTitle","Bold","ModalTootip","XSmall","neutral_600","ModalCloseButton","onClick","black","ModalBackButton","getLeftActionIconElement","cloneElement","LeftFooterAction","text","actionType","disabled","action","type","loading","variant","order","marginRight","href","e","preventDefault","display","flexDirection","maxHeight","loader","alt","fallbacks","src","map","b","i","id"],"sources":["../../src/Modals/ModalDialog.tsx"],"sourcesContent":["import React from 'react';\nimport { Button, IconButton } from '../Button';\nimport { SystemIcons } from '../icons';\nimport { COLORS, ComponentL, ComponentM, ComponentTextStyle, ComponentXL } from '../styles';\nimport { Size } from '../types';\nimport ModalContainer from './ModalContainer';\nimport {\n BackButtonWrapper,\n CloseButtonWrapper,\n Column,\n FlexContainer,\n ModalBody,\n ModalFooter,\n ModalHeaderActions,\n ModalHeaderActionsWithImage,\n ModalTitleSection,\n StyledModalHeader,\n ModalHoverModifier,\n ImageOverlay,\n ImageContainer,\n} from './ModalStyles';\n\nimport { ModalNote } from './ModalNote';\nimport { TooltipWrapper } from '../Tooltips';\nimport { ButtonAction, LeftFooterAction, LeftFooterButton, LeftFooterHyperlink } from './ModalTypes';\nimport { HyperLink, ImageWithFallbacks } from '..';\nimport { ImageWithFallbacksProps } from '../Image/ImageWithFallbacks';\n\ninterface NewModalProps {\n size?: Size;\n isModalOpen: boolean;\n children?: React.ReactNode;\n closeModalAndClearInput: any;\n title?: string | React.ReactNode;\n topImage?: any;\n topImageWithFallbacksProps?: ImageWithFallbacksProps;\n topImageGrayscale?: boolean;\n buttons?: ButtonAction[];\n leftFooterAction?: LeftFooterAction;\n tooltip?: string;\n backButton?: () => void;\n closeAction: () => void;\n submitAction: (event?: React.FormEvent<HTMLFormElement> | undefined) => void;\n note?: string | React.ReactNode;\n state?: string;\n icon?: React.ReactNode;\n zIndex?: number;\n contentOverflow?: string;\n width?: string;\n hasContentBorders?: boolean;\n}\n\nexport const ModalDialog: React.FunctionComponent<NewModalProps> = ({\n size,\n isModalOpen,\n closeModalAndClearInput,\n title,\n topImage,\n topImageWithFallbacksProps,\n topImageGrayscale,\n buttons,\n leftFooterAction,\n backButton,\n closeAction,\n submitAction,\n tooltip,\n children,\n note,\n state,\n icon,\n zIndex,\n contentOverflow,\n width,\n hasContentBorders,\n}) => {\n const getMinWidth = () => {\n switch (size) {\n case Size.Small:\n return '320px';\n case Size.Large:\n return '640px';\n case Size.Medium:\n default:\n return '480px';\n }\n };\n\n const getMaxWidth = () => {\n switch (size) {\n case Size.Small:\n return '480px';\n case Size.Large:\n return '720px';\n case Size.Medium:\n default:\n return '640px';\n }\n };\n\n const getImageHeight = () => {\n switch (size) {\n case Size.Small:\n return 160;\n case Size.Medium:\n return 200;\n case Size.Large:\n return 240;\n default:\n return 200;\n }\n };\n\n const getMarginBottom = () => {\n switch (size) {\n case Size.Small:\n return '16px';\n case Size.Medium:\n return '24px';\n case Size.Large:\n return '32px';\n default:\n return '24px';\n }\n };\n\n const getPadding = () => {\n switch (size) {\n case Size.Small:\n return '16px 16px 8px';\n case Size.Medium:\n return '24px 24px 20px';\n case Size.Large:\n return '32px';\n default:\n return '24px 24px 16px';\n }\n };\n\n const getMaxHeight = () => {\n switch (size) {\n case Size.Small:\n return 'calc(100vh - 56px)';\n case Size.Medium:\n return 'calc(100vh - 76px)';\n case Size.Large:\n return 'calc(100vh - 96px)';\n default:\n return 'calc(100vh - 72px)';\n }\n };\n\n const ModalTitle = (title: string | React.ReactNode, size?: Size) => {\n if (typeof title === 'string') {\n switch (size) {\n case Size.Small:\n return <ComponentM textStyle={ComponentTextStyle.Bold}>{title}</ComponentM>;\n case Size.Medium:\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\n case Size.Large:\n return <ComponentXL textStyle={ComponentTextStyle.Bold}>{title}</ComponentXL>;\n default:\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\n }\n } else {\n return title;\n }\n };\n\n const ModalTootip = (tooltip: string) => {\n return (\n <ModalHoverModifier>\n <TooltipWrapper delay=\"0s\" size={Size.XSmall} align=\"center\" position=\"top\" withArrow={false} label={tooltip}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => {}}>\n <SystemIcons.Help size=\"24px\" color={COLORS.neutral_600} />\n </IconButton>\n </TooltipWrapper>\n </ModalHoverModifier>\n );\n };\n\n const ModalCloseButton = (onClick: any) => {\n return (\n <CloseButtonWrapper hasImage={!!topImage || !!topImageWithFallbacksProps} size={size}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => onClick()} borderRadius={48}>\n <SystemIcons.Close size=\"24px\" color={COLORS.black} />\n </IconButton>\n </CloseButtonWrapper>\n );\n };\n\n const ModalBackButton = () => {\n if (backButton) {\n return (\n <BackButtonWrapper hasImage={!!topImage || !!topImageWithFallbacksProps} size={size}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => backButton()} borderRadius={48}>\n <SystemIcons.ArrowLineLeft size=\"24px\" color={COLORS.black} />\n </IconButton>\n </BackButtonWrapper>\n );\n }\n };\n\n const getLeftActionIconElement = (icon: React.ReactNode) => {\n return React.cloneElement(icon as React.ReactElement, { size: size === Size.Small ? '20px' : size === Size.Large ? '28px' : '24px' });\n };\n\n const LeftFooterAction = (leftFooterAction: LeftFooterAction) => {\n const { text, actionType, disabled, icon, action } = leftFooterAction;\n switch (actionType) {\n case 'button':\n return (\n <Button\n id={'left-action-button'}\n type={(leftFooterAction as LeftFooterButton)?.type}\n disabled={disabled}\n loading={(leftFooterAction as LeftFooterButton)?.loading}\n icon={icon}\n size={size}\n onClick={action}\n variant={(leftFooterAction as LeftFooterButton)?.variant ?? 'secondary'}\n style={{ order: -1, marginRight: 'auto' }}>\n {text}\n </Button>\n );\n case 'hyperlink':\n return (\n <HyperLink\n id=\"left-action-hyperlink\"\n className=\"footer-action\"\n href={(leftFooterAction as LeftFooterHyperlink).href}\n disabled={disabled}\n variant=\"default\"\n onClick={(e) => {\n if (action) {\n e.preventDefault();\n action(e);\n }\n }}>\n {icon && getLeftActionIconElement(icon)}\n {text}\n </HyperLink>\n );\n case 'note':\n return (\n <div className=\"footer-action note\">\n {icon && getLeftActionIconElement(icon)}\n <span>{text}</span>\n </div>\n );\n }\n };\n\n return (\n <ModalContainer\n showModal={isModalOpen}\n closeModal={closeModalAndClearInput}\n minWidth={getMinWidth()}\n maxWidth={getMaxWidth()}\n height=\"auto\"\n padding={getPadding()}\n zIndex={zIndex}\n width={width}>\n <Column>\n <form onSubmit={submitAction} style={{ display: 'flex', flexDirection: 'column', maxHeight: getMaxHeight() }}>\n {(topImage || topImageWithFallbacksProps) && (\n <StyledModalHeader size={size} $height={getImageHeight()} marginBottom={getMarginBottom()}>\n <ImageContainer $height={getImageHeight()}>\n {topImageGrayscale && <ImageOverlay $height={getImageHeight()} />}\n {topImage && <img src={topImage} alt=\"Modal top\" />}\n {!topImage && topImageWithFallbacksProps && (\n <ImageWithFallbacks\n loader={topImageWithFallbacksProps.loader}\n alt={topImageWithFallbacksProps.alt}\n fallbacks={topImageWithFallbacksProps.fallbacks}\n src={topImageWithFallbacksProps.src}\n />\n )}\n </ImageContainer>\n <ModalHeaderActionsWithImage hasBackButton={!!backButton}>\n {ModalBackButton()}\n {ModalCloseButton(closeAction)}\n </ModalHeaderActionsWithImage>\n </StyledModalHeader>\n )}\n <ModalTitleSection>\n <FlexContainer>\n {!(topImage || topImageWithFallbacksProps) && ModalBackButton()}\n {title && ModalTitle(title, size)}\n </FlexContainer>\n {(tooltip || !(topImage || topImageWithFallbacksProps)) && (\n <ModalHeaderActions>\n {tooltip && ModalTootip(tooltip)}\n {!(topImage || topImageWithFallbacksProps) && ModalCloseButton(closeAction)}\n </ModalHeaderActions>\n )}\n </ModalTitleSection>\n\n <ModalBody size={size} overflow={contentOverflow} hasContentBorders={hasContentBorders}>\n {children}\n </ModalBody>\n\n {note && <ModalNote note={note} state={state} size={size} icon={icon} />}\n\n <ModalFooter size={size}>\n {leftFooterAction && LeftFooterAction(leftFooterAction)}\n {buttons?.map((b, i) => (\n <Button key={b.id || i} icon={b.icon} id={b.id} disabled={b.disabled} loading={b.loading} size={size} onClick={b.action} type={b.type} variant={b.variant}>\n {b.text}\n </Button>\n ))}\n </ModalFooter>\n </form>\n </Column>\n </ModalContainer>\n );\n};\n\nexport default ModalDialog;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,EAAEC,UAAU,QAAQ,WAAW;AAC9C,SAASC,WAAW,QAAQ,UAAU;AACtC,SAASC,MAAM,EAAEC,UAAU,EAAEC,UAAU,EAAEC,kBAAkB,EAAEC,WAAW,QAAQ,WAAW;AAC3F,SAASC,IAAI,QAAQ,UAAU;AAC/B,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,SACEC,iBAAiB,EACjBC,kBAAkB,EAClBC,MAAM,EACNC,aAAa,EACbC,SAAS,EACTC,WAAW,EACXC,kBAAkB,EAClBC,2BAA2B,EAC3BC,iBAAiB,EACjBC,iBAAiB,EACjBC,kBAAkB,EAClBC,YAAY,EACZC,cAAc,QACT,eAAe;AAEtB,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,cAAc,QAAQ,aAAa;AAE5C,SAASC,SAAS,EAAEC,kBAAkB,QAAQ,IAAI;AAAC;AAAA;AA2BnD,OAAO,IAAMC,WAAmD,GAAG,SAAtDA,WAAmD,OAsB1D;EAAA,IArBJC,IAAI,QAAJA,IAAI;IACJC,WAAW,QAAXA,WAAW;IACXC,uBAAuB,QAAvBA,uBAAuB;IACvBC,KAAK,QAALA,KAAK;IACLC,QAAQ,QAARA,QAAQ;IACRC,0BAA0B,QAA1BA,0BAA0B;IAC1BC,iBAAiB,QAAjBA,iBAAiB;IACjBC,OAAO,QAAPA,OAAO;IACPC,gBAAgB,QAAhBA,gBAAgB;IAChBC,UAAU,QAAVA,UAAU;IACVC,WAAW,QAAXA,WAAW;IACXC,YAAY,QAAZA,YAAY;IACZC,OAAO,QAAPA,OAAO;IACPC,QAAQ,QAARA,QAAQ;IACRC,IAAI,QAAJA,IAAI;IACJC,KAAK,QAALA,KAAK;IACLC,IAAI,QAAJA,IAAI;IACJC,MAAM,QAANA,MAAM;IACNC,eAAe,QAAfA,eAAe;IACfC,KAAK,QAALA,KAAK;IACLC,iBAAiB,QAAjBA,iBAAiB;EAEjB,IAAMC,WAAW,GAAG,SAAdA,WAAW,GAAS;IACxB,QAAQrB,IAAI;MACV,KAAKpB,IAAI,CAAC0C,KAAK;QACb,OAAO,OAAO;MAChB,KAAK1C,IAAI,CAAC2C,KAAK;QACb,OAAO,OAAO;MAChB,KAAK3C,IAAI,CAAC4C,MAAM;MAChB;QACE,OAAO,OAAO;IAAC;EAErB,CAAC;EAED,IAAMC,WAAW,GAAG,SAAdA,WAAW,GAAS;IACxB,QAAQzB,IAAI;MACV,KAAKpB,IAAI,CAAC0C,KAAK;QACb,OAAO,OAAO;MAChB,KAAK1C,IAAI,CAAC2C,KAAK;QACb,OAAO,OAAO;MAChB,KAAK3C,IAAI,CAAC4C,MAAM;MAChB;QACE,OAAO,OAAO;IAAC;EAErB,CAAC;EAED,IAAME,cAAc,GAAG,SAAjBA,cAAc,GAAS;IAC3B,QAAQ1B,IAAI;MACV,KAAKpB,IAAI,CAAC0C,KAAK;QACb,OAAO,GAAG;MACZ,KAAK1C,IAAI,CAAC4C,MAAM;QACd,OAAO,GAAG;MACZ,KAAK5C,IAAI,CAAC2C,KAAK;QACb,OAAO,GAAG;MACZ;QACE,OAAO,GAAG;IAAC;EAEjB,CAAC;EAED,IAAMI,eAAe,GAAG,SAAlBA,eAAe,GAAS;IAC5B,QAAQ3B,IAAI;MACV,KAAKpB,IAAI,CAAC0C,KAAK;QACb,OAAO,MAAM;MACf,KAAK1C,IAAI,CAAC4C,MAAM;QACd,OAAO,MAAM;MACf,KAAK5C,IAAI,CAAC2C,KAAK;QACb,OAAO,MAAM;MACf;QACE,OAAO,MAAM;IAAC;EAEpB,CAAC;EAED,IAAMK,UAAU,GAAG,SAAbA,UAAU,GAAS;IACvB,QAAQ5B,IAAI;MACV,KAAKpB,IAAI,CAAC0C,KAAK;QACb,OAAO,eAAe;MACxB,KAAK1C,IAAI,CAAC4C,MAAM;QACd,OAAO,gBAAgB;MACzB,KAAK5C,IAAI,CAAC2C,KAAK;QACb,OAAO,MAAM;MACf;QACE,OAAO,gBAAgB;IAAC;EAE9B,CAAC;EAED,IAAMM,YAAY,GAAG,SAAfA,YAAY,GAAS;IACzB,QAAQ7B,IAAI;MACV,KAAKpB,IAAI,CAAC0C,KAAK;QACb,OAAO,oBAAoB;MAC7B,KAAK1C,IAAI,CAAC4C,MAAM;QACd,OAAO,oBAAoB;MAC7B,KAAK5C,IAAI,CAAC2C,KAAK;QACb,OAAO,oBAAoB;MAC7B;QACE,OAAO,oBAAoB;IAAC;EAElC,CAAC;EAED,IAAMO,UAAU,GAAG,SAAbA,UAAU,CAAI3B,KAA+B,EAAEH,IAAW,EAAK;IACnE,IAAI,OAAOG,KAAK,KAAK,QAAQ,EAAE;MAC7B,QAAQH,IAAI;QACV,KAAKpB,IAAI,CAAC0C,KAAK;UACb,oBAAO,KAAC,UAAU;YAAC,SAAS,EAAE5C,kBAAkB,CAACqD,IAAK;YAAA,UAAE5B;UAAK,EAAc;QAC7E,KAAKvB,IAAI,CAAC4C,MAAM;UACd,oBAAO,KAAC,UAAU;YAAC,SAAS,EAAE9C,kBAAkB,CAACqD,IAAK;YAAA,UAAE5B;UAAK,EAAc;QAC7E,KAAKvB,IAAI,CAAC2C,KAAK;UACb,oBAAO,KAAC,WAAW;YAAC,SAAS,EAAE7C,kBAAkB,CAACqD,IAAK;YAAA,UAAE5B;UAAK,EAAe;QAC/E;UACE,oBAAO,KAAC,UAAU;YAAC,SAAS,EAAEzB,kBAAkB,CAACqD,IAAK;YAAA,UAAE5B;UAAK,EAAc;MAAC;IAElF,CAAC,MAAM;MACL,OAAOA,KAAK;IACd;EACF,CAAC;EAED,IAAM6B,WAAW,GAAG,SAAdA,WAAW,CAAIpB,OAAe,EAAK;IACvC,oBACE,KAAC,kBAAkB;MAAA,uBACjB,KAAC,cAAc;QAAC,KAAK,EAAC,IAAI;QAAC,IAAI,EAAEhC,IAAI,CAACqD,MAAO;QAAC,KAAK,EAAC,QAAQ;QAAC,QAAQ,EAAC,KAAK;QAAC,SAAS,EAAE,KAAM;QAAC,KAAK,EAAErB,OAAQ;QAAA,uBAC3G,KAAC,UAAU;UAAC,OAAO,EAAC,WAAW;UAAC,KAAK,EAAC,UAAU;UAAC,MAAM,EAAE,kBAAM,CAAC,CAAE;UAAA,uBAChE,KAAC,WAAW,CAAC,IAAI;YAAC,IAAI,EAAC,MAAM;YAAC,KAAK,EAAErC,MAAM,CAAC2D;UAAY;QAAG;MAChD;IACE,EACE;EAEzB,CAAC;EAED,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgB,CAAIC,OAAY,EAAK;IACzC,oBACE,KAAC,kBAAkB;MAAC,QAAQ,EAAE,CAAC,CAAChC,QAAQ,IAAI,CAAC,CAACC,0BAA2B;MAAC,IAAI,EAAEL,IAAK;MAAA,uBACnF,KAAC,UAAU;QAAC,OAAO,EAAC,WAAW;QAAC,KAAK,EAAC,UAAU;QAAC,MAAM,EAAE;UAAA,OAAMoC,OAAO,EAAE;QAAA,CAAC;QAAC,YAAY,EAAE,EAAG;QAAA,uBACzF,KAAC,WAAW,CAAC,KAAK;UAAC,IAAI,EAAC,MAAM;UAAC,KAAK,EAAE7D,MAAM,CAAC8D;QAAM;MAAG;IAC3C,EACM;EAEzB,CAAC;EAED,IAAMC,eAAe,GAAG,SAAlBA,eAAe,GAAS;IAC5B,IAAI7B,UAAU,EAAE;MACd,oBACE,KAAC,iBAAiB;QAAC,QAAQ,EAAE,CAAC,CAACL,QAAQ,IAAI,CAAC,CAACC,0BAA2B;QAAC,IAAI,EAAEL,IAAK;QAAA,uBAClF,KAAC,UAAU;UAAC,OAAO,EAAC,WAAW;UAAC,KAAK,EAAC,UAAU;UAAC,MAAM,EAAE;YAAA,OAAMS,UAAU,EAAE;UAAA,CAAC;UAAC,YAAY,EAAE,EAAG;UAAA,uBAC5F,KAAC,WAAW,CAAC,aAAa;YAAC,IAAI,EAAC,MAAM;YAAC,KAAK,EAAElC,MAAM,CAAC8D;UAAM;QAAG;MACnD,EACK;IAExB;EACF,CAAC;EAED,IAAME,wBAAwB,GAAG,SAA3BA,wBAAwB,CAAIvB,IAAqB,EAAK;IAC1D,oBAAO7C,KAAK,CAACqE,YAAY,CAACxB,IAAI,EAAwB;MAAEhB,IAAI,EAAEA,IAAI,KAAKpB,IAAI,CAAC0C,KAAK,GAAG,MAAM,GAAGtB,IAAI,KAAKpB,IAAI,CAAC2C,KAAK,GAAG,MAAM,GAAG;IAAO,CAAC,CAAC;EACvI,CAAC;EAED,IAAMkB,gBAAgB,GAAG,SAAnBA,gBAAgB,CAAIjC,gBAAkC,EAAK;IAAA;IAC/D,IAAQkC,IAAI,GAAyClC,gBAAgB,CAA7DkC,IAAI;MAAEC,UAAU,GAA6BnC,gBAAgB,CAAvDmC,UAAU;MAAEC,QAAQ,GAAmBpC,gBAAgB,CAA3CoC,QAAQ;MAAE5B,IAAI,GAAaR,gBAAgB,CAAjCQ,IAAI;MAAE6B,MAAM,GAAKrC,gBAAgB,CAA3BqC,MAAM;IAChD,QAAQF,UAAU;MAChB,KAAK,QAAQ;QACX,oBACE,KAAC,MAAM;UACL,EAAE,EAAE,oBAAqB;UACzB,IAAI,EAAGnC,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAuBsC,IAAK;UACnD,QAAQ,EAAEF,QAAS;UACnB,OAAO,EAAGpC,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAuBuC,OAAQ;UACzD,IAAI,EAAE/B,IAAK;UACX,IAAI,EAAEhB,IAAK;UACX,OAAO,EAAE6C,MAAO;UAChB,OAAO,cAAGrC,gBAAgB,aAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAuBwC,OAAO,+CAAI,WAAY;UACxE,KAAK,EAAE;YAAEC,KAAK,EAAE,CAAC,CAAC;YAAEC,WAAW,EAAE;UAAO,CAAE;UAAA,UACzCR;QAAI,EACE;MAEb,KAAK,WAAW;QACd,oBACE,MAAC,SAAS;UACR,EAAE,EAAC,uBAAuB;UAC1B,SAAS,EAAC,eAAe;UACzB,IAAI,EAAGlC,gBAAgB,CAAyB2C,IAAK;UACrD,QAAQ,EAAEP,QAAS;UACnB,OAAO,EAAC,SAAS;UACjB,OAAO,EAAE,iBAACQ,CAAC,EAAK;YACd,IAAIP,MAAM,EAAE;cACVO,CAAC,CAACC,cAAc,EAAE;cAClBR,MAAM,CAACO,CAAC,CAAC;YACX;UACF,CAAE;UAAA,WACDpC,IAAI,IAAIuB,wBAAwB,CAACvB,IAAI,CAAC,EACtC0B,IAAI;QAAA,EACK;MAEhB,KAAK,MAAM;QACT,oBACE;UAAK,SAAS,EAAC,oBAAoB;UAAA,WAChC1B,IAAI,IAAIuB,wBAAwB,CAACvB,IAAI,CAAC,eACvC;YAAA,UAAO0B;UAAI,EAAQ;QAAA,EACf;IACN;EAER,CAAC;EAED,oBACE,KAAC,cAAc;IACb,SAAS,EAAEzC,WAAY;IACvB,UAAU,EAAEC,uBAAwB;IACpC,QAAQ,EAAEmB,WAAW,EAAG;IACxB,QAAQ,EAAEI,WAAW,EAAG;IACxB,MAAM,EAAC,MAAM;IACb,OAAO,EAAEG,UAAU,EAAG;IACtB,MAAM,EAAEX,MAAO;IACf,KAAK,EAAEE,KAAM;IAAA,uBACb,KAAC,MAAM;MAAA,uBACL;QAAM,QAAQ,EAAER,YAAa;QAAC,KAAK,EAAE;UAAE2C,OAAO,EAAE,MAAM;UAAEC,aAAa,EAAE,QAAQ;UAAEC,SAAS,EAAE3B,YAAY;QAAG,CAAE;QAAA,WAC1G,CAACzB,QAAQ,IAAIC,0BAA0B,kBACtC,MAAC,iBAAiB;UAAC,IAAI,EAAEL,IAAK;UAAC,OAAO,EAAE0B,cAAc,EAAG;UAAC,YAAY,EAAEC,eAAe,EAAG;UAAA,wBACxF,MAAC,cAAc;YAAC,OAAO,EAAED,cAAc,EAAG;YAAA,WACvCpB,iBAAiB,iBAAI,KAAC,YAAY;cAAC,OAAO,EAAEoB,cAAc;YAAG,EAAG,EAChEtB,QAAQ,iBAAI;cAAK,GAAG,EAAEA,QAAS;cAAC,GAAG,EAAC;YAAW,EAAG,EAClD,CAACA,QAAQ,IAAIC,0BAA0B,iBACtC,KAAC,kBAAkB;cACjB,MAAM,EAAEA,0BAA0B,CAACoD,MAAO;cAC1C,GAAG,EAAEpD,0BAA0B,CAACqD,GAAI;cACpC,SAAS,EAAErD,0BAA0B,CAACsD,SAAU;cAChD,GAAG,EAAEtD,0BAA0B,CAACuD;YAAI,EAEvC;UAAA,EACc,eACjB,MAAC,2BAA2B;YAAC,aAAa,EAAE,CAAC,CAACnD,UAAW;YAAA,WACtD6B,eAAe,EAAE,EACjBH,gBAAgB,CAACzB,WAAW,CAAC;UAAA,EACF;QAAA,EAEjC,eACD,MAAC,iBAAiB;UAAA,wBAChB,MAAC,aAAa;YAAA,WACX,EAAEN,QAAQ,IAAIC,0BAA0B,CAAC,IAAIiC,eAAe,EAAE,EAC9DnC,KAAK,IAAI2B,UAAU,CAAC3B,KAAK,EAAEH,IAAI,CAAC;UAAA,EACnB,EACf,CAACY,OAAO,IAAI,EAAER,QAAQ,IAAIC,0BAA0B,CAAC,kBACpD,MAAC,kBAAkB;YAAA,WAChBO,OAAO,IAAIoB,WAAW,CAACpB,OAAO,CAAC,EAC/B,EAAER,QAAQ,IAAIC,0BAA0B,CAAC,IAAI8B,gBAAgB,CAACzB,WAAW,CAAC;UAAA,EAE9E;QAAA,EACiB,eAEpB,KAAC,SAAS;UAAC,IAAI,EAAEV,IAAK;UAAC,QAAQ,EAAEkB,eAAgB;UAAC,iBAAiB,EAAEE,iBAAkB;UAAA,UACpFP;QAAQ,EACC,EAEXC,IAAI,iBAAI,KAAC,SAAS;UAAC,IAAI,EAAEA,IAAK;UAAC,KAAK,EAAEC,KAAM;UAAC,IAAI,EAAEf,IAAK;UAAC,IAAI,EAAEgB;QAAK,EAAG,eAExE,MAAC,WAAW;UAAC,IAAI,EAAEhB,IAAK;UAAA,WACrBQ,gBAAgB,IAAIiC,gBAAgB,CAACjC,gBAAgB,CAAC,EACtDD,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEsD,GAAG,CAAC,UAACC,CAAC,EAAEC,CAAC;YAAA,oBACjB,KAAC,MAAM;cAAiB,IAAI,EAAED,CAAC,CAAC9C,IAAK;cAAC,EAAE,EAAE8C,CAAC,CAACE,EAAG;cAAC,QAAQ,EAAEF,CAAC,CAAClB,QAAS;cAAC,OAAO,EAAEkB,CAAC,CAACf,OAAQ;cAAC,IAAI,EAAE/C,IAAK;cAAC,OAAO,EAAE8D,CAAC,CAACjB,MAAO;cAAC,IAAI,EAAEiB,CAAC,CAAChB,IAAK;cAAC,OAAO,EAAEgB,CAAC,CAACd,OAAQ;cAAA,UACvJc,CAAC,CAACpB;YAAI,GADIoB,CAAC,CAACE,EAAE,IAAID,CAAC,CAEb;UAAA,CACV,CAAC;QAAA,EACU;MAAA;IACT;EACA,EACM;AAErB,CAAC;AAAC;EA7RA9D,WAAW;EACXY,QAAQ;EACRX,uBAAuB;EACvBC,KAAK;EACLC,QAAQ;EAERE,iBAAiB;EACjBC,OAAO;EAEPK,OAAO;EACPH,UAAU;EACVC,WAAW;EACXC,YAAY;EACZG,IAAI;EACJC,KAAK;EACLC,IAAI;EACJC,MAAM;EACNC,eAAe;EACfC,KAAK;EACLC,iBAAiB;AAAA;AA4QnB,eAAerB,WAAW"}
1
+ {"version":3,"file":"ModalDialog.js","names":["React","Button","IconButton","SystemIcons","COLORS","ComponentL","ComponentM","ComponentTextStyle","ComponentXL","Size","ModalContainer","BackButtonWrapper","CloseButtonWrapper","Column","FlexContainer","ModalBody","ModalFooter","ModalHeaderActions","ModalHeaderActionsWithImage","ModalTitleSection","StyledModalHeader","ModalHoverModifier","ImageOverlay","ImageContainer","ModalNote","TooltipWrapper","HyperLink","ImageWithFallbacks","ModalDialog","size","isModalOpen","closeModalAndClearInput","title","topImage","topImageWithFallbacksProps","topImageGrayscale","buttons","leftFooterAction","backButton","closeAction","submitAction","tooltip","children","note","state","icon","zIndex","contentOverflow","width","hasContentBorders","getMinWidth","Small","Large","Medium","getMaxWidth","getImageHeight","getMarginBottom","getPadding","getMaxHeight","ModalTitle","Bold","ModalTootip","XSmall","neutral_600","ModalCloseButton","onClick","black","ModalBackButton","getLeftActionIconElement","cloneElement","LeftFooterAction","text","actionType","disabled","action","type","loading","variant","order","marginRight","href","e","preventDefault","display","flexDirection","maxHeight","loader","alt","fallbacks","src","map","b","i","id"],"sources":["../../src/Modals/ModalDialog.tsx"],"sourcesContent":["import React from 'react';\nimport { Button, IconButton } from '../Button';\nimport { SystemIcons } from '../icons';\nimport { COLORS, ComponentL, ComponentM, ComponentTextStyle, ComponentXL } from '../styles';\nimport { Size } from '../types';\nimport ModalContainer from './ModalContainer';\nimport {\n BackButtonWrapper,\n CloseButtonWrapper,\n Column,\n FlexContainer,\n ModalBody,\n ModalFooter,\n ModalHeaderActions,\n ModalHeaderActionsWithImage,\n ModalTitleSection,\n StyledModalHeader,\n ModalHoverModifier,\n ImageOverlay,\n ImageContainer,\n} from './ModalStyles';\n\nimport { ModalNote } from './ModalNote';\nimport { TooltipWrapper } from '../Tooltips';\nimport { ButtonAction, LeftFooterAction, LeftFooterButton, LeftFooterHyperlink } from './ModalTypes';\nimport { HyperLink, ImageWithFallbacks } from '..';\nimport { ImageWithFallbacksProps } from '../Image/ImageWithFallbacks';\n\ninterface NewModalProps {\n size?: Size;\n isModalOpen: boolean;\n children?: React.ReactNode;\n closeModalAndClearInput: any;\n title?: string | React.ReactNode;\n topImage?: any;\n topImageWithFallbacksProps?: ImageWithFallbacksProps;\n topImageGrayscale?: boolean;\n buttons?: ButtonAction[];\n leftFooterAction?: LeftFooterAction;\n tooltip?: string;\n backButton?: () => void;\n closeAction: () => void;\n submitAction: (event?: React.FormEvent<HTMLFormElement> | undefined) => void;\n note?: string | React.ReactNode;\n state?: string;\n icon?: React.ReactNode;\n zIndex?: number;\n contentOverflow?: string;\n width?: string;\n hasContentBorders?: boolean;\n}\n\nexport const ModalDialog: React.FunctionComponent<NewModalProps> = ({\n size,\n isModalOpen,\n closeModalAndClearInput,\n title,\n topImage,\n topImageWithFallbacksProps,\n topImageGrayscale,\n buttons,\n leftFooterAction,\n backButton,\n closeAction,\n submitAction,\n tooltip,\n children,\n note,\n state,\n icon,\n zIndex,\n contentOverflow,\n width,\n hasContentBorders,\n}) => {\n const getMinWidth = () => {\n switch (size) {\n case Size.Small:\n return '320px';\n case Size.Large:\n return '640px';\n case Size.Medium:\n default:\n return '480px';\n }\n };\n\n const getMaxWidth = () => {\n switch (size) {\n case Size.Small:\n return '480px';\n case Size.Large:\n return '720px';\n case Size.Medium:\n default:\n return '640px';\n }\n };\n\n const getImageHeight = () => {\n switch (size) {\n case Size.Small:\n return 160;\n case Size.Medium:\n return 200;\n case Size.Large:\n return 240;\n default:\n return 200;\n }\n };\n\n const getMarginBottom = () => {\n switch (size) {\n case Size.Small:\n return '16px';\n case Size.Medium:\n return '24px';\n case Size.Large:\n return '32px';\n default:\n return '24px';\n }\n };\n\n const getPadding = () => {\n switch (size) {\n case Size.Small:\n return '16px 16px 8px';\n case Size.Medium:\n return '24px 24px 20px';\n case Size.Large:\n return '32px';\n default:\n return '24px 24px 16px';\n }\n };\n\n const getMaxHeight = () => {\n switch (size) {\n case Size.Small:\n return 'calc(100vh - 56px)';\n case Size.Medium:\n return 'calc(100vh - 76px)';\n case Size.Large:\n return 'calc(100vh - 96px)';\n default:\n return 'calc(100vh - 72px)';\n }\n };\n\n const ModalTitle = (title: string | React.ReactNode, size?: Size) => {\n if (typeof title === 'string') {\n switch (size) {\n case Size.Small:\n return <ComponentM textStyle={ComponentTextStyle.Bold}>{title}</ComponentM>;\n case Size.Medium:\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\n case Size.Large:\n return <ComponentXL textStyle={ComponentTextStyle.Bold}>{title}</ComponentXL>;\n default:\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\n }\n } else {\n return title;\n }\n };\n\n const ModalTootip = (tooltip: string) => {\n return (\n <ModalHoverModifier>\n <TooltipWrapper delay=\"0s\" size={Size.XSmall} align=\"center\" position=\"top\" withArrow={false} label={tooltip}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => {}}>\n <SystemIcons.Help size=\"24px\" color={COLORS.neutral_600} />\n </IconButton>\n </TooltipWrapper>\n </ModalHoverModifier>\n );\n };\n\n const ModalCloseButton = (onClick: any) => {\n return (\n <CloseButtonWrapper hasImage={!!topImage || !!topImageWithFallbacksProps} size={size}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => onClick()} borderRadius={48}>\n <SystemIcons.Close size=\"24px\" color={COLORS.black} />\n </IconButton>\n </CloseButtonWrapper>\n );\n };\n\n const ModalBackButton = () => {\n if (backButton) {\n return (\n <BackButtonWrapper hasImage={!!topImage || !!topImageWithFallbacksProps} size={size}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => backButton()} borderRadius={48}>\n <SystemIcons.ArrowLineLeft size=\"24px\" color={COLORS.black} />\n </IconButton>\n </BackButtonWrapper>\n );\n }\n };\n\n const getLeftActionIconElement = (icon: React.ReactNode) => {\n return React.cloneElement(icon as React.ReactElement, { size: size === Size.Small ? '20px' : size === Size.Large ? '28px' : '24px' });\n };\n\n const LeftFooterAction = (leftFooterAction: LeftFooterAction) => {\n const { text, actionType, disabled, icon, action } = leftFooterAction;\n switch (actionType) {\n case 'button':\n return (\n <Button\n id={'left-action-button'}\n type={(leftFooterAction as LeftFooterButton)?.type}\n disabled={disabled}\n loading={(leftFooterAction as LeftFooterButton)?.loading}\n icon={icon}\n size={size}\n onClick={action}\n variant={(leftFooterAction as LeftFooterButton)?.variant ?? 'secondary'}\n style={{ order: -1, marginRight: 'auto' }}>\n {text}\n </Button>\n );\n case 'hyperlink':\n return (\n <HyperLink\n id=\"left-action-hyperlink\"\n className=\"footer-action\"\n href={(leftFooterAction as LeftFooterHyperlink).href}\n disabled={disabled}\n variant=\"default\"\n onClick={(e) => {\n if (action) {\n e.preventDefault();\n action(e);\n }\n }}>\n {text}\n {icon && getLeftActionIconElement(icon)}\n </HyperLink>\n );\n case 'note':\n return (\n <div className=\"footer-action note\">\n {icon && getLeftActionIconElement(icon)}\n <span>{text}</span>\n </div>\n );\n }\n };\n\n return (\n <ModalContainer\n showModal={isModalOpen}\n closeModal={closeModalAndClearInput}\n minWidth={getMinWidth()}\n maxWidth={getMaxWidth()}\n height=\"auto\"\n padding={getPadding()}\n zIndex={zIndex}\n width={width}>\n <Column>\n <form onSubmit={submitAction} style={{ display: 'flex', flexDirection: 'column', maxHeight: getMaxHeight() }}>\n {(topImage || topImageWithFallbacksProps) && (\n <StyledModalHeader size={size} $height={getImageHeight()} marginBottom={getMarginBottom()}>\n <ImageContainer $height={getImageHeight()}>\n {topImageGrayscale && <ImageOverlay $height={getImageHeight()} />}\n {topImage && <img src={topImage} alt=\"Modal top\" />}\n {!topImage && topImageWithFallbacksProps && (\n <ImageWithFallbacks\n loader={topImageWithFallbacksProps.loader}\n alt={topImageWithFallbacksProps.alt}\n fallbacks={topImageWithFallbacksProps.fallbacks}\n src={topImageWithFallbacksProps.src}\n />\n )}\n </ImageContainer>\n <ModalHeaderActionsWithImage hasBackButton={!!backButton}>\n {ModalBackButton()}\n {ModalCloseButton(closeAction)}\n </ModalHeaderActionsWithImage>\n </StyledModalHeader>\n )}\n <ModalTitleSection>\n <FlexContainer>\n {!(topImage || topImageWithFallbacksProps) && ModalBackButton()}\n {title && ModalTitle(title, size)}\n </FlexContainer>\n {(tooltip || !(topImage || topImageWithFallbacksProps)) && (\n <ModalHeaderActions>\n {tooltip && ModalTootip(tooltip)}\n {!(topImage || topImageWithFallbacksProps) && ModalCloseButton(closeAction)}\n </ModalHeaderActions>\n )}\n </ModalTitleSection>\n\n <ModalBody size={size} overflow={contentOverflow} hasContentBorders={hasContentBorders}>\n {children}\n </ModalBody>\n\n {note && <ModalNote note={note} state={state} size={size} icon={icon} />}\n\n <ModalFooter size={size}>\n {leftFooterAction && LeftFooterAction(leftFooterAction)}\n {buttons?.map((b, i) => (\n <Button key={b.id || i} icon={b.icon} id={b.id} disabled={b.disabled} loading={b.loading} size={size} onClick={b.action} type={b.type} variant={b.variant}>\n {b.text}\n </Button>\n ))}\n </ModalFooter>\n </form>\n </Column>\n </ModalContainer>\n );\n};\n\nexport default ModalDialog;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Paginator.cjs","names":["Container","styled","nav","BREAKPOINTS","MEDIUM","Items","ul","Item","li","ComponentMStyling","ComponentTextStyle","Regular","COLORS","neutral_600","focusStyles","Z_INDEXES","hover","primary_800","primary_20","active","primary_700","primary_100","neutral_800","neutral_20","Dots","ItemContent","primary_500","Step","up","target","disabled","page","onPageChange","id","navigateHook","useNavigate","handleButtonClick","event","Paginator","pageCount","currentPage","baseUrl","pages","from","to","i","push","findIndex","item","map"],"sources":["../../src/Paginator/Paginator.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {NavLink} from 'react-router-dom';\nimport {BREAKPOINTS, COLORS, ComponentTextStyle, focusStyles} from '../styles';\nimport {SystemIcons} from '../icons';\nimport {ComponentMStyling} from '../styles';\nimport {Z_INDEXES} from '../styles';\nimport { useNavigate } from 'react-router';\nimport {IconButton} from '../Button';\n\nconst Container = styled.nav`\n margin: 20px 0;\n display: flex;\n justify-content: center;\n\n ${BREAKPOINTS.MEDIUM} {\n width: 75%;\n }\n`;\n\nconst Items = styled.ul`\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n`;\n\nconst Item = styled.li`\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n\n & > * {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n text-decoration: none;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n &:focus,\n &:focus-within {\n ${focusStyles}\n }\n }\n & > a:hover {\n z-index: ${Z_INDEXES.hover};\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_20};\n }\n & > a:active {\n z-index: ${Z_INDEXES.active};\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_100};\n }\n & > a.active {\n z-index: ${Z_INDEXES.active};\n color: ${COLORS.neutral_800};\n background-color: ${COLORS.neutral_20};\n cursor: default;\n &:hover {\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_20};\n }\n &:active {\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_100};\n }\n }\n`;\n\nconst Dots = styled(Item)`\n cursor: not-allowed;\n &:after{\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n content: '...';\n }\n`;\n\nconst ItemContent = styled('div')`\n text-align:center;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 100%;\n height: 100%;\n \n &.active:after{\n content: '';\n position: absolute;\n bottom: 4px;\n width: 32px;\n border-radius: 4px;\n height: 4px;\n background-color: ${COLORS.primary_500}\n }\n &.active:hover:after{\n background-color: ${COLORS.primary_700}\n }\n &.active:active:after{\n background-color: ${COLORS.primary_800}\n }\n`\n\ntype PaginatorProps = {\n pageCount: number;\n currentPage: number;\n baseUrl: string;\n onPageChange?: (page: number) => void;\n};\n\nconst Step = ({\n up = true,\n target = '',\n disabled = false,\n page,\n onPageChange,\n id,\n}: {\n up: boolean;\n target: string;\n disabled: boolean;\n page: number;\n onPageChange?: (page: number) => void;\n id?: string;\n}) => {\n const navigateHook = useNavigate();\n\n const handleButtonClick = () => {\n navigateHook(target);\n onPageChange && onPageChange(page);\n }\n\n return (\n <IconButton id={id}\n action={event => handleButtonClick()}\n variant={'secondary'}\n shape={'circular'}\n disabled={disabled}>\n {up ? <SystemIcons.ChevronRight/> : <SystemIcons.ChevronLeft/>}\n </IconButton>\n )\n};\n\nconst Paginator = ({ pageCount = 1, currentPage = 1, baseUrl = '', onPageChange }: PaginatorProps) => {\n const pages = [];\n let from = 2;\n let to = 4;\n if (pageCount === 0) return null;\n\n if (pageCount > 1) {\n if (currentPage >= 4 && currentPage <= pageCount - 2) {\n from = currentPage - 1;\n to = currentPage + 1;\n } else if (pageCount - 2 > 1 && currentPage > pageCount - 2) {\n from = pageCount - 3;\n to = pageCount - 1;\n }\n if (to > pageCount) {\n to = pageCount;\n }\n for (let i = from; i <= to; i += 1) {\n pages.push(i);\n }\n }\n\n return (\n <Container>\n <Items>\n <Step up={false}\n target={`${baseUrl}/${currentPage - 1}`}\n page={currentPage - 1}\n disabled={currentPage === 1}\n onPageChange={() => {\n if (onPageChange) onPageChange(currentPage - 1);\n }}\n id=\"paginator-left\"/>\n {pages.findIndex(item => item === 1) === -1 && (\n <Item>\n <NavLink\n to={`${baseUrl}/1`}\n onClick={() => {\n if (onPageChange) onPageChange(1);\n }}>\n <ItemContent className={currentPage === 1 ? 'active' : ''}>\n <span>1</span>\n </ItemContent>\n </NavLink>\n </Item>\n )}\n {currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && (\n <Dots/>\n )}\n {pages.map(page => (\n <Item key={page}>\n <NavLink\n to={`${baseUrl}/${page}`}\n onClick={() => {\n if (onPageChange) onPageChange(page);\n }}>\n <ItemContent className={currentPage === page ? 'active' : ''}>\n <span>{page}</span>\n </ItemContent>\n </NavLink>\n </Item>\n ))}\n {pageCount > 5 && currentPage <= pageCount - 3 && (\n <Dots/>\n )}\n {pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && (\n <Item>\n <NavLink\n to={`${baseUrl}/${pageCount}`}\n onClick={() => {\n if (onPageChange) onPageChange(pageCount);\n }}>\n <ItemContent className={currentPage === pageCount ? 'active' : ''}>\n <span>{pageCount}</span>\n </ItemContent>\n </NavLink>\n </Item>\n )}\n <Step up\n target={`${baseUrl}/${currentPage + 1}`}\n page={currentPage + 1}\n disabled={currentPage === pageCount}\n onPageChange={() => {\n if (onPageChange) onPageChange(currentPage + 1);\n }}\n id=\"paginator-right\"/>\n </Items>\n </Container>\n );\n};\n\nexport default Paginator;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Paginator.cjs","names":["Container","styled","nav","BREAKPOINTS","MEDIUM","Items","ul","Item","li","ComponentMStyling","ComponentTextStyle","Regular","COLORS","neutral_600","focusStyles","Z_INDEXES","hover","primary_800","primary_20","active","primary_700","primary_100","neutral_800","neutral_20","Dots","ItemContent","primary_500","Step","up","target","disabled","page","onPageChange","id","navigateHook","useNavigate","handleButtonClick","event","Paginator","pageCount","currentPage","baseUrl","pages","from","to","i","push","findIndex","item","map"],"sources":["../../src/Paginator/Paginator.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {NavLink} from 'react-router-dom';\nimport {BREAKPOINTS, COLORS, ComponentTextStyle, focusStyles} from '../styles';\nimport {SystemIcons} from '../icons';\nimport {ComponentMStyling} from '../styles';\nimport {Z_INDEXES} from '../styles';\nimport { useNavigate } from 'react-router';\nimport {IconButton} from '../Button';\n\nconst Container = styled.nav`\n margin: 20px 0;\n display: flex;\n justify-content: center;\n\n ${BREAKPOINTS.MEDIUM} {\n width: 75%;\n }\n`;\n\nconst Items = styled.ul`\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n`;\n\nconst Item = styled.li`\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n\n & > * {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n text-decoration: none;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n &:focus,\n &:focus-within {\n ${focusStyles}\n }\n }\n & > a:hover {\n z-index: ${Z_INDEXES.hover};\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_20};\n }\n & > a:active {\n z-index: ${Z_INDEXES.active};\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_100};\n }\n & > a.active {\n z-index: ${Z_INDEXES.active};\n color: ${COLORS.neutral_800};\n background-color: ${COLORS.neutral_20};\n cursor: default;\n &:hover {\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_20};\n }\n &:active {\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_100};\n }\n }\n`;\n\nconst Dots = styled(Item)`\n cursor: not-allowed;\n &:after{\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n content: '...';\n }\n`;\n\nconst ItemContent = styled('div')`\n text-align:center;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 100%;\n height: 100%;\n \n &.active:after{\n content: '';\n position: absolute;\n bottom: 4px;\n width: 32px;\n border-radius: 4px;\n height: 4px;\n background-color: ${COLORS.primary_500}\n }\n &.active:hover:after{\n background-color: ${COLORS.primary_700}\n }\n &.active:active:after{\n background-color: ${COLORS.primary_800}\n }\n`\n\ntype PaginatorProps = {\n pageCount: number;\n currentPage: number;\n baseUrl: string;\n onPageChange?: (page: number) => void;\n};\n\nconst Step = ({\n up = true,\n target = '',\n disabled = false,\n page,\n onPageChange,\n id,\n}: {\n up: boolean;\n target: string;\n disabled: boolean;\n page: number;\n onPageChange?: (page: number) => void;\n id?: string;\n}) => {\n const navigateHook = useNavigate();\n\n const handleButtonClick = () => {\n navigateHook(target);\n onPageChange && onPageChange(page);\n }\n\n return (\n <IconButton id={id}\n action={event => handleButtonClick()}\n variant={'secondary'}\n shape={'circular'}\n disabled={disabled}>\n {up ? <SystemIcons.ChevronRight/> : <SystemIcons.ChevronLeft/>}\n </IconButton>\n )\n};\n\nconst Paginator = ({ pageCount = 1, currentPage = 1, baseUrl = '', onPageChange }: PaginatorProps) => {\n const pages = [];\n let from = 2;\n let to = 4;\n if (pageCount === 0) return null;\n\n if (pageCount > 1) {\n if (currentPage >= 4 && currentPage <= pageCount - 2) {\n from = currentPage - 1;\n to = currentPage + 1;\n } else if (pageCount - 2 > 1 && currentPage > pageCount - 2) {\n from = pageCount - 3;\n to = pageCount - 1;\n }\n if (to > pageCount) {\n to = pageCount;\n }\n for (let i = from; i <= to; i += 1) {\n pages.push(i);\n }\n }\n\n return (\n <Container>\n <Items>\n <Step up={false}\n target={`${baseUrl}/${currentPage - 1}`}\n page={currentPage - 1}\n disabled={currentPage === 1}\n onPageChange={() => {\n if (onPageChange) onPageChange(currentPage - 1);\n }}\n id=\"paginator-left\"/>\n {pages.findIndex(item => item === 1) === -1 && (\n <Item>\n <NavLink\n to={`${baseUrl}/1`}\n onClick={() => {\n if (onPageChange) onPageChange(1);\n }}>\n <ItemContent className={currentPage === 1 ? 'active' : ''}>\n <span>1</span>\n </ItemContent>\n </NavLink>\n </Item>\n )}\n {currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && (\n <Dots/>\n )}\n {pages.map(page => (\n <Item key={page}>\n <NavLink\n to={`${baseUrl}/${page}`}\n onClick={() => {\n if (onPageChange) onPageChange(page);\n }}>\n <ItemContent className={currentPage === page ? 'active' : ''}>\n <span>{page}</span>\n </ItemContent>\n </NavLink>\n </Item>\n ))}\n {pageCount > 5 && currentPage <= pageCount - 3 && (\n <Dots/>\n )}\n {pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && (\n <Item>\n <NavLink\n to={`${baseUrl}/${pageCount}`}\n onClick={() => {\n if (onPageChange) onPageChange(pageCount);\n }}>\n <ItemContent className={currentPage === pageCount ? 'active' : ''}>\n <span>{pageCount}</span>\n </ItemContent>\n </NavLink>\n </Item>\n )}\n <Step up\n target={`${baseUrl}/${currentPage + 1}`}\n page={currentPage + 1}\n disabled={currentPage === pageCount}\n onPageChange={() => {\n if (onPageChange) onPageChange(currentPage + 1);\n }}\n id=\"paginator-right\"/>\n </Items>\n </Container>\n );\n};\n\nexport default Paginator;\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  type PaginatorProps = {
2
3
  pageCount: number;
3
4
  currentPage: number;
@@ -1 +1 @@
1
- {"version":3,"file":"Paginator.js","names":["React","styled","NavLink","BREAKPOINTS","COLORS","ComponentTextStyle","focusStyles","SystemIcons","ComponentMStyling","Z_INDEXES","useNavigate","IconButton","Container","nav","MEDIUM","Items","ul","Item","li","Regular","neutral_600","hover","primary_800","primary_20","active","primary_700","primary_100","neutral_800","neutral_20","Dots","ItemContent","primary_500","Step","up","target","disabled","page","onPageChange","id","navigateHook","handleButtonClick","event","Paginator","pageCount","currentPage","baseUrl","pages","from","to","i","push","findIndex","item","map"],"sources":["../../src/Paginator/Paginator.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {NavLink} from 'react-router-dom';\nimport {BREAKPOINTS, COLORS, ComponentTextStyle, focusStyles} from '../styles';\nimport {SystemIcons} from '../icons';\nimport {ComponentMStyling} from '../styles';\nimport {Z_INDEXES} from '../styles';\nimport { useNavigate } from 'react-router';\nimport {IconButton} from '../Button';\n\nconst Container = styled.nav`\n margin: 20px 0;\n display: flex;\n justify-content: center;\n\n ${BREAKPOINTS.MEDIUM} {\n width: 75%;\n }\n`;\n\nconst Items = styled.ul`\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n`;\n\nconst Item = styled.li`\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n\n & > * {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n text-decoration: none;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n &:focus,\n &:focus-within {\n ${focusStyles}\n }\n }\n & > a:hover {\n z-index: ${Z_INDEXES.hover};\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_20};\n }\n & > a:active {\n z-index: ${Z_INDEXES.active};\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_100};\n }\n & > a.active {\n z-index: ${Z_INDEXES.active};\n color: ${COLORS.neutral_800};\n background-color: ${COLORS.neutral_20};\n cursor: default;\n &:hover {\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_20};\n }\n &:active {\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_100};\n }\n }\n`;\n\nconst Dots = styled(Item)`\n cursor: not-allowed;\n &:after{\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n content: '...';\n }\n`;\n\nconst ItemContent = styled('div')`\n text-align:center;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 100%;\n height: 100%;\n \n &.active:after{\n content: '';\n position: absolute;\n bottom: 4px;\n width: 32px;\n border-radius: 4px;\n height: 4px;\n background-color: ${COLORS.primary_500}\n }\n &.active:hover:after{\n background-color: ${COLORS.primary_700}\n }\n &.active:active:after{\n background-color: ${COLORS.primary_800}\n }\n`\n\ntype PaginatorProps = {\n pageCount: number;\n currentPage: number;\n baseUrl: string;\n onPageChange?: (page: number) => void;\n};\n\nconst Step = ({\n up = true,\n target = '',\n disabled = false,\n page,\n onPageChange,\n id,\n}: {\n up: boolean;\n target: string;\n disabled: boolean;\n page: number;\n onPageChange?: (page: number) => void;\n id?: string;\n}) => {\n const navigateHook = useNavigate();\n\n const handleButtonClick = () => {\n navigateHook(target);\n onPageChange && onPageChange(page);\n }\n\n return (\n <IconButton id={id}\n action={event => handleButtonClick()}\n variant={'secondary'}\n shape={'circular'}\n disabled={disabled}>\n {up ? <SystemIcons.ChevronRight/> : <SystemIcons.ChevronLeft/>}\n </IconButton>\n )\n};\n\nconst Paginator = ({ pageCount = 1, currentPage = 1, baseUrl = '', onPageChange }: PaginatorProps) => {\n const pages = [];\n let from = 2;\n let to = 4;\n if (pageCount === 0) return null;\n\n if (pageCount > 1) {\n if (currentPage >= 4 && currentPage <= pageCount - 2) {\n from = currentPage - 1;\n to = currentPage + 1;\n } else if (pageCount - 2 > 1 && currentPage > pageCount - 2) {\n from = pageCount - 3;\n to = pageCount - 1;\n }\n if (to > pageCount) {\n to = pageCount;\n }\n for (let i = from; i <= to; i += 1) {\n pages.push(i);\n }\n }\n\n return (\n <Container>\n <Items>\n <Step up={false}\n target={`${baseUrl}/${currentPage - 1}`}\n page={currentPage - 1}\n disabled={currentPage === 1}\n onPageChange={() => {\n if (onPageChange) onPageChange(currentPage - 1);\n }}\n id=\"paginator-left\"/>\n {pages.findIndex(item => item === 1) === -1 && (\n <Item>\n <NavLink\n to={`${baseUrl}/1`}\n onClick={() => {\n if (onPageChange) onPageChange(1);\n }}>\n <ItemContent className={currentPage === 1 ? 'active' : ''}>\n <span>1</span>\n </ItemContent>\n </NavLink>\n </Item>\n )}\n {currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && (\n <Dots/>\n )}\n {pages.map(page => (\n <Item key={page}>\n <NavLink\n to={`${baseUrl}/${page}`}\n onClick={() => {\n if (onPageChange) onPageChange(page);\n }}>\n <ItemContent className={currentPage === page ? 'active' : ''}>\n <span>{page}</span>\n </ItemContent>\n </NavLink>\n </Item>\n ))}\n {pageCount > 5 && currentPage <= pageCount - 3 && (\n <Dots/>\n )}\n {pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && (\n <Item>\n <NavLink\n to={`${baseUrl}/${pageCount}`}\n onClick={() => {\n if (onPageChange) onPageChange(pageCount);\n }}>\n <ItemContent className={currentPage === pageCount ? 'active' : ''}>\n <span>{pageCount}</span>\n </ItemContent>\n </NavLink>\n </Item>\n )}\n <Step up\n target={`${baseUrl}/${currentPage + 1}`}\n page={currentPage + 1}\n disabled={currentPage === pageCount}\n onPageChange={() => {\n if (onPageChange) onPageChange(currentPage + 1);\n }}\n id=\"paginator-right\"/>\n </Items>\n </Container>\n );\n};\n\nexport default Paginator;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Paginator.js","names":["React","styled","NavLink","BREAKPOINTS","COLORS","ComponentTextStyle","focusStyles","SystemIcons","ComponentMStyling","Z_INDEXES","useNavigate","IconButton","Container","nav","MEDIUM","Items","ul","Item","li","Regular","neutral_600","hover","primary_800","primary_20","active","primary_700","primary_100","neutral_800","neutral_20","Dots","ItemContent","primary_500","Step","up","target","disabled","page","onPageChange","id","navigateHook","handleButtonClick","event","Paginator","pageCount","currentPage","baseUrl","pages","from","to","i","push","findIndex","item","map"],"sources":["../../src/Paginator/Paginator.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {NavLink} from 'react-router-dom';\nimport {BREAKPOINTS, COLORS, ComponentTextStyle, focusStyles} from '../styles';\nimport {SystemIcons} from '../icons';\nimport {ComponentMStyling} from '../styles';\nimport {Z_INDEXES} from '../styles';\nimport { useNavigate } from 'react-router';\nimport {IconButton} from '../Button';\n\nconst Container = styled.nav`\n margin: 20px 0;\n display: flex;\n justify-content: center;\n\n ${BREAKPOINTS.MEDIUM} {\n width: 75%;\n }\n`;\n\nconst Items = styled.ul`\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n`;\n\nconst Item = styled.li`\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n\n & > * {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n text-decoration: none;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n &:focus,\n &:focus-within {\n ${focusStyles}\n }\n }\n & > a:hover {\n z-index: ${Z_INDEXES.hover};\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_20};\n }\n & > a:active {\n z-index: ${Z_INDEXES.active};\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_100};\n }\n & > a.active {\n z-index: ${Z_INDEXES.active};\n color: ${COLORS.neutral_800};\n background-color: ${COLORS.neutral_20};\n cursor: default;\n &:hover {\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_20};\n }\n &:active {\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_100};\n }\n }\n`;\n\nconst Dots = styled(Item)`\n cursor: not-allowed;\n &:after{\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n content: '...';\n }\n`;\n\nconst ItemContent = styled('div')`\n text-align:center;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 100%;\n height: 100%;\n \n &.active:after{\n content: '';\n position: absolute;\n bottom: 4px;\n width: 32px;\n border-radius: 4px;\n height: 4px;\n background-color: ${COLORS.primary_500}\n }\n &.active:hover:after{\n background-color: ${COLORS.primary_700}\n }\n &.active:active:after{\n background-color: ${COLORS.primary_800}\n }\n`\n\ntype PaginatorProps = {\n pageCount: number;\n currentPage: number;\n baseUrl: string;\n onPageChange?: (page: number) => void;\n};\n\nconst Step = ({\n up = true,\n target = '',\n disabled = false,\n page,\n onPageChange,\n id,\n}: {\n up: boolean;\n target: string;\n disabled: boolean;\n page: number;\n onPageChange?: (page: number) => void;\n id?: string;\n}) => {\n const navigateHook = useNavigate();\n\n const handleButtonClick = () => {\n navigateHook(target);\n onPageChange && onPageChange(page);\n }\n\n return (\n <IconButton id={id}\n action={event => handleButtonClick()}\n variant={'secondary'}\n shape={'circular'}\n disabled={disabled}>\n {up ? <SystemIcons.ChevronRight/> : <SystemIcons.ChevronLeft/>}\n </IconButton>\n )\n};\n\nconst Paginator = ({ pageCount = 1, currentPage = 1, baseUrl = '', onPageChange }: PaginatorProps) => {\n const pages = [];\n let from = 2;\n let to = 4;\n if (pageCount === 0) return null;\n\n if (pageCount > 1) {\n if (currentPage >= 4 && currentPage <= pageCount - 2) {\n from = currentPage - 1;\n to = currentPage + 1;\n } else if (pageCount - 2 > 1 && currentPage > pageCount - 2) {\n from = pageCount - 3;\n to = pageCount - 1;\n }\n if (to > pageCount) {\n to = pageCount;\n }\n for (let i = from; i <= to; i += 1) {\n pages.push(i);\n }\n }\n\n return (\n <Container>\n <Items>\n <Step up={false}\n target={`${baseUrl}/${currentPage - 1}`}\n page={currentPage - 1}\n disabled={currentPage === 1}\n onPageChange={() => {\n if (onPageChange) onPageChange(currentPage - 1);\n }}\n id=\"paginator-left\"/>\n {pages.findIndex(item => item === 1) === -1 && (\n <Item>\n <NavLink\n to={`${baseUrl}/1`}\n onClick={() => {\n if (onPageChange) onPageChange(1);\n }}>\n <ItemContent className={currentPage === 1 ? 'active' : ''}>\n <span>1</span>\n </ItemContent>\n </NavLink>\n </Item>\n )}\n {currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && (\n <Dots/>\n )}\n {pages.map(page => (\n <Item key={page}>\n <NavLink\n to={`${baseUrl}/${page}`}\n onClick={() => {\n if (onPageChange) onPageChange(page);\n }}>\n <ItemContent className={currentPage === page ? 'active' : ''}>\n <span>{page}</span>\n </ItemContent>\n </NavLink>\n </Item>\n ))}\n {pageCount > 5 && currentPage <= pageCount - 3 && (\n <Dots/>\n )}\n {pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && (\n <Item>\n <NavLink\n to={`${baseUrl}/${pageCount}`}\n onClick={() => {\n if (onPageChange) onPageChange(pageCount);\n }}>\n <ItemContent className={currentPage === pageCount ? 'active' : ''}>\n <span>{pageCount}</span>\n </ItemContent>\n </NavLink>\n </Item>\n )}\n <Step up\n target={`${baseUrl}/${currentPage + 1}`}\n page={currentPage + 1}\n disabled={currentPage === pageCount}\n onPageChange={() => {\n if (onPageChange) onPageChange(currentPage + 1);\n }}\n id=\"paginator-right\"/>\n </Items>\n </Container>\n );\n};\n\nexport default Paginator;\n"],"mappings":"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"}
@@ -24,9 +24,9 @@ var _excluded = ["items", "order"],
24
24
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _Panel$propTypes;
25
25
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
26
26
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
27
- var Wrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: column;\n background: ", ";\n min-height: 100%;\n align-items: flex-end;\n box-sizing: border-box;\n overflow: hidden;\n\n gap: 24px;\n padding: 56px 32px 120px 32px;\n\n p {\n flex: 1;\n color: ", ";\n }\n\n ", " {\n gap: 32px;\n padding: 56px 64px 120px 64px;\n }\n\n &.reverse {\n align-items: flex-start;\n }\n"])), _styles.COLORS.neutral_20, _styles.COLORS.neutral_600, _styles.BREAKPOINTS.LARGE);
27
+ var Wrapper = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: column;\n background: ", ";\n min-height: 100%;\n align-items: flex-end;\n box-sizing: border-box;\n overflow: hidden;\n\n gap: 24px;\n padding: 24px 32px 64px;\n\n ", " {\n gap: 32px;\n padding: 32px 64px 128px;\n }\n\n &.reverse {\n align-items: flex-start;\n }\n"])), _styles.COLORS.neutral_20, _styles.BREAKPOINTS.LARGE);
28
28
  var Media = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n width: 320px;\n height: 200px;\n\n\n img {\n object-fit: contain;\n }\n\n img.fit {\n object-fit: contain;\n }\n\n img.fill {\n object-fit: cover;\n }\n\n max-width: 100%;\n\n img {\n max-width: 100%;\n width: 320px;\n height: 200px;\n }\n\n ", " {\n width: 488px;\n height: 280px;\n\n img {\n width: 488px;\n height: 280px;\n }\n }\n\n"])), _styles.BREAKPOINTS.LARGE);
29
- var Body = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n\n max-width: 320px;\n\n ", " {\n max-width: 488px;\n }\n\n"])), _styles.BREAKPOINTS.LARGE);
29
+ var Body = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n\n width: 100%;\n max-width: 320px;\n\n ", " {\n max-width: 488px;\n }\n \n p:not(:first-of-type) {\n flex: 1;\n color: ", ";\n }\n\n\n"])), _styles.BREAKPOINTS.LARGE, _styles.COLORS.neutral_600);
30
30
  var Footer = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n\n max-width: 320px;\n\n ", " {\n max-width: 488px;\n }\n\n .progress {\n width: max-content;\n }\n"])), _styles.BREAKPOINTS.LARGE);
31
31
  var Panel = function Panel(props) {
32
32
  var _currentItem$media, _currentItem$media2;
@@ -82,7 +82,7 @@ var Panel = function Panel(props) {
82
82
  alt: currentItem.media.alt
83
83
  }), ((_currentItem$media2 = currentItem.media) === null || _currentItem$media2 === void 0 ? void 0 : _currentItem$media2.type) === 'custom' && currentItem.media.content]
84
84
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(Body, {
85
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h1", {
85
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_styles.Quote, {
86
86
  children: currentItem.title
87
87
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
88
88
  children: currentItem.content
@@ -94,7 +94,7 @@ var Panel = function Panel(props) {
94
94
  shape: 'circular',
95
95
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ChevronLeft, {})
96
96
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LinearProgress.LinearProgress, {
97
- size: isLargeScreen ? _types.Size.Medium : _types.Size.Small,
97
+ size: isLargeScreen ? _types.Size.Large : _types.Size.Medium,
98
98
  className: 'progress',
99
99
  value: currentImage + 1,
100
100
  max: props.items.length,
@@ -1 +1 @@
1
- {"version":3,"file":"Panel.cjs","names":["Wrapper","styled","div","COLORS","neutral_20","neutral_600","BREAKPOINTS","LARGE","Media","Body","Footer","Panel","props","React","useState","currentImage","setCurrentImage","isLargeScreen","useMediaMatch","replace","rest","order","undefined","media","title","content","items","type","moveLeft","length","moveRight","currentItem","className","fit","src","alt","Size","Medium","Small","LinearProgressType","Dots"],"sources":["../../src/Panel/Panel.tsx"],"sourcesContent":["import React from 'react';\nimport styled from \"styled-components\";\nimport {BREAKPOINTS, COLORS} from \"../styles\";\nimport {IconButton} from \"../Button\";\nimport {SystemIcons} from \"../icons\";\nimport {LinearProgress, LinearProgressType} from \"../LinearProgress\";\nimport {useMediaMatch} from \"rooks\";\nimport {Size} from \"../types\";\n\nconst Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n background: ${COLORS.neutral_20};\n min-height: 100%;\n align-items: flex-end;\n box-sizing: border-box;\n overflow: hidden;\n\n gap: 24px;\n padding: 56px 32px 120px 32px;\n\n p {\n flex: 1;\n color: ${COLORS.neutral_600};\n }\n\n ${BREAKPOINTS.LARGE} {\n gap: 32px;\n padding: 56px 64px 120px 64px;\n }\n\n &.reverse {\n align-items: flex-start;\n }\n`;\n\nconst Media = styled.div`\n display: flex;\n width: 320px;\n height: 200px;\n\n\n img {\n object-fit: contain;\n }\n\n img.fit {\n object-fit: contain;\n }\n\n img.fill {\n object-fit: cover;\n }\n\n max-width: 100%;\n\n img {\n max-width: 100%;\n width: 320px;\n height: 200px;\n }\n\n ${BREAKPOINTS.LARGE} {\n width: 488px;\n height: 280px;\n\n img {\n width: 488px;\n height: 280px;\n }\n }\n\n`;\n\nconst Body = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n\n max-width: 320px;\n\n ${BREAKPOINTS.LARGE} {\n max-width: 488px;\n }\n\n`;\nconst Footer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n\n max-width: 320px;\n\n ${BREAKPOINTS.LARGE} {\n max-width: 488px;\n }\n\n .progress {\n width: max-content;\n }\n`;\n\ninterface BasePanelProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {\n type?: 'default' | 'carousel';\n}\n\ninterface PanelContent {\n media?: { type: 'image', src: string; alt: string, fit?: 'fill' | 'fit' } | { type: 'custom', content: React.ReactNode };\n title?: string;\n content?: React.ReactNode;\n}\n\ninterface DefaultPanelProps extends BasePanelProps, PanelContent {\n type?: 'default';\n order?: 'default' | 'reverse';\n}\n\ninterface CarouselPanelProps extends BasePanelProps {\n type: 'carousel';\n order?: 'default' | 'reverse';\n items?: PanelContent[];\n}\n\nexport type PanelProps = DefaultPanelProps | CarouselPanelProps;\n\nexport const Panel = (props: PanelProps) => {\n\n const [currentImage, setCurrentImage] = React.useState(0);\n const isLargeScreen = useMediaMatch(BREAKPOINTS.LARGE.replace('@media ', ''));\n\n let rest: React.HTMLAttributes<HTMLDivElement> = {};\n let order = undefined;\n let media = undefined;\n let title = '';\n let content = undefined;\n let items: PanelContent[] = [];\n\n\n switch (props.type) {\n case 'carousel':\n ({items = [], order, ...rest} = props);\n break;\n case 'default':\n default:\n ({media, content, title = '', order, ...rest} = props)\n break;\n }\n\n\n const moveLeft = () => {\n props.type === 'carousel' && setCurrentImage(currentImage === 0 ? items.length - 1 : currentImage - 1);\n }\n const moveRight = () => {\n props.type === 'carousel' && setCurrentImage(currentImage + 1 > items.length - 1 ? 0 : currentImage + 1);\n }\n\n const currentItem: PanelContent = props.type === 'carousel' ? items[currentImage] : {media, title, content};\n\n return (\n <Wrapper {...rest} className={`${rest.className || ''} ${order || ''} `}>\n <Media>\n {\n currentItem.media?.type === 'image' &&\n <img className={currentItem.media.fit} src={currentItem.media.src} alt={currentItem.media.alt}/>\n }\n {\n currentItem.media?.type === 'custom' && currentItem.media.content\n }\n </Media>\n <Body>\n <h1>{currentItem.title}</h1>\n <p>{currentItem.content}</p>\n </Body>\n {\n props.type === 'carousel' &&\n <Footer>\n <IconButton action={moveLeft} variant={'secondary'} shape={'circular'}>\n <SystemIcons.ChevronLeft/>\n </IconButton>\n <LinearProgress size={isLargeScreen ? Size.Medium : Size.Small}\n className={'progress'}\n value={currentImage + 1}\n max={props.items!.length }\n type={LinearProgressType.Dots}/>\n <IconButton action={moveRight} variant={'secondary'} shape={'circular'}>\n <SystemIcons.ChevronRight/>\n </IconButton>\n </Footer>\n }\n </Wrapper>\n )\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Panel.cjs","names":["Wrapper","styled","div","COLORS","neutral_20","BREAKPOINTS","LARGE","Media","Body","neutral_600","Footer","Panel","props","React","useState","currentImage","setCurrentImage","isLargeScreen","useMediaMatch","replace","rest","order","undefined","media","title","content","items","type","moveLeft","length","moveRight","currentItem","className","fit","src","alt","Size","Large","Medium","LinearProgressType","Dots"],"sources":["../../src/Panel/Panel.tsx"],"sourcesContent":["import React from 'react';\nimport styled from \"styled-components\";\nimport {BREAKPOINTS, COLORS, Quote} from \"../styles\";\nimport {IconButton} from \"../Button\";\nimport {SystemIcons} from \"../icons\";\nimport {LinearProgress, LinearProgressType} from \"../LinearProgress\";\nimport {useMediaMatch} from \"rooks\";\nimport {Size} from \"../types\";\n\nconst Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n background: ${COLORS.neutral_20};\n min-height: 100%;\n align-items: flex-end;\n box-sizing: border-box;\n overflow: hidden;\n\n gap: 24px;\n padding: 24px 32px 64px;\n\n ${BREAKPOINTS.LARGE} {\n gap: 32px;\n padding: 32px 64px 128px;\n }\n\n &.reverse {\n align-items: flex-start;\n }\n`;\n\nconst Media = styled.div`\n display: flex;\n width: 320px;\n height: 200px;\n\n\n img {\n object-fit: contain;\n }\n\n img.fit {\n object-fit: contain;\n }\n\n img.fill {\n object-fit: cover;\n }\n\n max-width: 100%;\n\n img {\n max-width: 100%;\n width: 320px;\n height: 200px;\n }\n\n ${BREAKPOINTS.LARGE} {\n width: 488px;\n height: 280px;\n\n img {\n width: 488px;\n height: 280px;\n }\n }\n\n`;\n\nconst Body = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n\n width: 100%;\n max-width: 320px;\n\n ${BREAKPOINTS.LARGE} {\n max-width: 488px;\n }\n \n p:not(:first-of-type) {\n flex: 1;\n color: ${COLORS.neutral_600};\n }\n\n\n`;\nconst Footer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n\n max-width: 320px;\n\n ${BREAKPOINTS.LARGE} {\n max-width: 488px;\n }\n\n .progress {\n width: max-content;\n }\n`;\n\ninterface BasePanelProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {\n type?: 'default' | 'carousel';\n}\n\ninterface PanelContent {\n media?: { type: 'image', src: string; alt: string, fit?: 'fill' | 'fit' } | { type: 'custom', content: React.ReactNode };\n title?: string;\n content?: React.ReactNode;\n}\n\ninterface DefaultPanelProps extends BasePanelProps, PanelContent {\n type?: 'default';\n order?: 'default' | 'reverse';\n}\n\ninterface CarouselPanelProps extends BasePanelProps {\n type: 'carousel';\n order?: 'default' | 'reverse';\n items?: PanelContent[];\n}\n\nexport type PanelProps = DefaultPanelProps | CarouselPanelProps;\n\nexport const Panel = (props: PanelProps) => {\n\n const [currentImage, setCurrentImage] = React.useState(0);\n const isLargeScreen = useMediaMatch(BREAKPOINTS.LARGE.replace('@media ', ''));\n\n let rest: React.HTMLAttributes<HTMLDivElement> = {};\n let order = undefined;\n let media = undefined;\n let title = '';\n let content = undefined;\n let items: PanelContent[] = [];\n\n\n switch (props.type) {\n case 'carousel':\n ({items = [], order, ...rest} = props);\n break;\n case 'default':\n default:\n ({media, content, title = '', order, ...rest} = props)\n break;\n }\n\n\n const moveLeft = () => {\n props.type === 'carousel' && setCurrentImage(currentImage === 0 ? items.length - 1 : currentImage - 1);\n }\n const moveRight = () => {\n props.type === 'carousel' && setCurrentImage(currentImage + 1 > items.length - 1 ? 0 : currentImage + 1);\n }\n\n const currentItem: PanelContent = props.type === 'carousel' ? items[currentImage] : {media, title, content};\n\n return (\n <Wrapper {...rest} className={`${rest.className || ''} ${order || ''} `}>\n <Media>\n {\n currentItem.media?.type === 'image' &&\n <img className={currentItem.media.fit} src={currentItem.media.src} alt={currentItem.media.alt}/>\n }\n {\n currentItem.media?.type === 'custom' && currentItem.media.content\n }\n </Media>\n <Body>\n <Quote>{currentItem.title}</Quote>\n <p>{currentItem.content}</p>\n </Body>\n {\n props.type === 'carousel' &&\n <Footer>\n <IconButton action={moveLeft} variant={'secondary'} shape={'circular'}>\n <SystemIcons.ChevronLeft/>\n </IconButton>\n <LinearProgress size={isLargeScreen ? Size.Large : Size.Medium}\n className={'progress'}\n value={currentImage + 1}\n max={props.items!.length }\n type={LinearProgressType.Dots}/>\n <IconButton action={moveRight} variant={'secondary'} shape={'circular'}>\n <SystemIcons.ChevronRight/>\n </IconButton>\n </Footer>\n }\n </Wrapper>\n )\n};\n"],"mappings":"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"}
@@ -10,7 +10,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
10
10
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
11
  import React from 'react';
12
12
  import styled from "styled-components";
13
- import { BREAKPOINTS, COLORS } from "../styles";
13
+ import { BREAKPOINTS, COLORS, Quote } from "../styles";
14
14
  import { IconButton } from "../Button";
15
15
  import { SystemIcons } from "../icons";
16
16
  import { LinearProgress, LinearProgressType } from "../LinearProgress";
@@ -18,9 +18,9 @@ import { useMediaMatch } from "rooks";
18
18
  import { Size } from "../types";
19
19
  import { jsx as _jsx } from "react/jsx-runtime";
20
20
  import { jsxs as _jsxs } from "react/jsx-runtime";
21
- var Wrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n background: ", ";\n min-height: 100%;\n align-items: flex-end;\n box-sizing: border-box;\n overflow: hidden;\n\n gap: 24px;\n padding: 56px 32px 120px 32px;\n\n p {\n flex: 1;\n color: ", ";\n }\n\n ", " {\n gap: 32px;\n padding: 56px 64px 120px 64px;\n }\n\n &.reverse {\n align-items: flex-start;\n }\n"])), COLORS.neutral_20, COLORS.neutral_600, BREAKPOINTS.LARGE);
21
+ var Wrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n background: ", ";\n min-height: 100%;\n align-items: flex-end;\n box-sizing: border-box;\n overflow: hidden;\n\n gap: 24px;\n padding: 24px 32px 64px;\n\n ", " {\n gap: 32px;\n padding: 32px 64px 128px;\n }\n\n &.reverse {\n align-items: flex-start;\n }\n"])), COLORS.neutral_20, BREAKPOINTS.LARGE);
22
22
  var Media = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n width: 320px;\n height: 200px;\n\n\n img {\n object-fit: contain;\n }\n\n img.fit {\n object-fit: contain;\n }\n\n img.fill {\n object-fit: cover;\n }\n\n max-width: 100%;\n\n img {\n max-width: 100%;\n width: 320px;\n height: 200px;\n }\n\n ", " {\n width: 488px;\n height: 280px;\n\n img {\n width: 488px;\n height: 280px;\n }\n }\n\n"])), BREAKPOINTS.LARGE);
23
- var Body = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n\n max-width: 320px;\n\n ", " {\n max-width: 488px;\n }\n\n"])), BREAKPOINTS.LARGE);
23
+ var Body = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n\n width: 100%;\n max-width: 320px;\n\n ", " {\n max-width: 488px;\n }\n \n p:not(:first-of-type) {\n flex: 1;\n color: ", ";\n }\n\n\n"])), BREAKPOINTS.LARGE, COLORS.neutral_600);
24
24
  var Footer = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n\n max-width: 320px;\n\n ", " {\n max-width: 488px;\n }\n\n .progress {\n width: max-content;\n }\n"])), BREAKPOINTS.LARGE);
25
25
  export var Panel = function Panel(props) {
26
26
  var _currentItem$media, _currentItem$media2;
@@ -76,7 +76,7 @@ export var Panel = function Panel(props) {
76
76
  alt: currentItem.media.alt
77
77
  }), ((_currentItem$media2 = currentItem.media) === null || _currentItem$media2 === void 0 ? void 0 : _currentItem$media2.type) === 'custom' && currentItem.media.content]
78
78
  }), /*#__PURE__*/_jsxs(Body, {
79
- children: [/*#__PURE__*/_jsx("h1", {
79
+ children: [/*#__PURE__*/_jsx(Quote, {
80
80
  children: currentItem.title
81
81
  }), /*#__PURE__*/_jsx("p", {
82
82
  children: currentItem.content
@@ -88,7 +88,7 @@ export var Panel = function Panel(props) {
88
88
  shape: 'circular',
89
89
  children: /*#__PURE__*/_jsx(SystemIcons.ChevronLeft, {})
90
90
  }), /*#__PURE__*/_jsx(LinearProgress, {
91
- size: isLargeScreen ? Size.Medium : Size.Small,
91
+ size: isLargeScreen ? Size.Large : Size.Medium,
92
92
  className: 'progress',
93
93
  value: currentImage + 1,
94
94
  max: props.items.length,
@@ -1 +1 @@
1
- {"version":3,"file":"Panel.js","names":["React","styled","BREAKPOINTS","COLORS","IconButton","SystemIcons","LinearProgress","LinearProgressType","useMediaMatch","Size","Wrapper","div","neutral_20","neutral_600","LARGE","Media","Body","Footer","Panel","props","useState","currentImage","setCurrentImage","isLargeScreen","replace","rest","order","undefined","media","title","content","items","type","moveLeft","length","moveRight","currentItem","className","fit","src","alt","Medium","Small","Dots"],"sources":["../../src/Panel/Panel.tsx"],"sourcesContent":["import React from 'react';\nimport styled from \"styled-components\";\nimport {BREAKPOINTS, COLORS} from \"../styles\";\nimport {IconButton} from \"../Button\";\nimport {SystemIcons} from \"../icons\";\nimport {LinearProgress, LinearProgressType} from \"../LinearProgress\";\nimport {useMediaMatch} from \"rooks\";\nimport {Size} from \"../types\";\n\nconst Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n background: ${COLORS.neutral_20};\n min-height: 100%;\n align-items: flex-end;\n box-sizing: border-box;\n overflow: hidden;\n\n gap: 24px;\n padding: 56px 32px 120px 32px;\n\n p {\n flex: 1;\n color: ${COLORS.neutral_600};\n }\n\n ${BREAKPOINTS.LARGE} {\n gap: 32px;\n padding: 56px 64px 120px 64px;\n }\n\n &.reverse {\n align-items: flex-start;\n }\n`;\n\nconst Media = styled.div`\n display: flex;\n width: 320px;\n height: 200px;\n\n\n img {\n object-fit: contain;\n }\n\n img.fit {\n object-fit: contain;\n }\n\n img.fill {\n object-fit: cover;\n }\n\n max-width: 100%;\n\n img {\n max-width: 100%;\n width: 320px;\n height: 200px;\n }\n\n ${BREAKPOINTS.LARGE} {\n width: 488px;\n height: 280px;\n\n img {\n width: 488px;\n height: 280px;\n }\n }\n\n`;\n\nconst Body = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n\n max-width: 320px;\n\n ${BREAKPOINTS.LARGE} {\n max-width: 488px;\n }\n\n`;\nconst Footer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n\n max-width: 320px;\n\n ${BREAKPOINTS.LARGE} {\n max-width: 488px;\n }\n\n .progress {\n width: max-content;\n }\n`;\n\ninterface BasePanelProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {\n type?: 'default' | 'carousel';\n}\n\ninterface PanelContent {\n media?: { type: 'image', src: string; alt: string, fit?: 'fill' | 'fit' } | { type: 'custom', content: React.ReactNode };\n title?: string;\n content?: React.ReactNode;\n}\n\ninterface DefaultPanelProps extends BasePanelProps, PanelContent {\n type?: 'default';\n order?: 'default' | 'reverse';\n}\n\ninterface CarouselPanelProps extends BasePanelProps {\n type: 'carousel';\n order?: 'default' | 'reverse';\n items?: PanelContent[];\n}\n\nexport type PanelProps = DefaultPanelProps | CarouselPanelProps;\n\nexport const Panel = (props: PanelProps) => {\n\n const [currentImage, setCurrentImage] = React.useState(0);\n const isLargeScreen = useMediaMatch(BREAKPOINTS.LARGE.replace('@media ', ''));\n\n let rest: React.HTMLAttributes<HTMLDivElement> = {};\n let order = undefined;\n let media = undefined;\n let title = '';\n let content = undefined;\n let items: PanelContent[] = [];\n\n\n switch (props.type) {\n case 'carousel':\n ({items = [], order, ...rest} = props);\n break;\n case 'default':\n default:\n ({media, content, title = '', order, ...rest} = props)\n break;\n }\n\n\n const moveLeft = () => {\n props.type === 'carousel' && setCurrentImage(currentImage === 0 ? items.length - 1 : currentImage - 1);\n }\n const moveRight = () => {\n props.type === 'carousel' && setCurrentImage(currentImage + 1 > items.length - 1 ? 0 : currentImage + 1);\n }\n\n const currentItem: PanelContent = props.type === 'carousel' ? items[currentImage] : {media, title, content};\n\n return (\n <Wrapper {...rest} className={`${rest.className || ''} ${order || ''} `}>\n <Media>\n {\n currentItem.media?.type === 'image' &&\n <img className={currentItem.media.fit} src={currentItem.media.src} alt={currentItem.media.alt}/>\n }\n {\n currentItem.media?.type === 'custom' && currentItem.media.content\n }\n </Media>\n <Body>\n <h1>{currentItem.title}</h1>\n <p>{currentItem.content}</p>\n </Body>\n {\n props.type === 'carousel' &&\n <Footer>\n <IconButton action={moveLeft} variant={'secondary'} shape={'circular'}>\n <SystemIcons.ChevronLeft/>\n </IconButton>\n <LinearProgress size={isLargeScreen ? Size.Medium : Size.Small}\n className={'progress'}\n value={currentImage + 1}\n max={props.items!.length }\n type={LinearProgressType.Dots}/>\n <IconButton action={moveRight} variant={'secondary'} shape={'circular'}>\n <SystemIcons.ChevronRight/>\n </IconButton>\n </Footer>\n }\n </Wrapper>\n )\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Panel.js","names":["React","styled","BREAKPOINTS","COLORS","Quote","IconButton","SystemIcons","LinearProgress","LinearProgressType","useMediaMatch","Size","Wrapper","div","neutral_20","LARGE","Media","Body","neutral_600","Footer","Panel","props","useState","currentImage","setCurrentImage","isLargeScreen","replace","rest","order","undefined","media","title","content","items","type","moveLeft","length","moveRight","currentItem","className","fit","src","alt","Large","Medium","Dots"],"sources":["../../src/Panel/Panel.tsx"],"sourcesContent":["import React from 'react';\nimport styled from \"styled-components\";\nimport {BREAKPOINTS, COLORS, Quote} from \"../styles\";\nimport {IconButton} from \"../Button\";\nimport {SystemIcons} from \"../icons\";\nimport {LinearProgress, LinearProgressType} from \"../LinearProgress\";\nimport {useMediaMatch} from \"rooks\";\nimport {Size} from \"../types\";\n\nconst Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n background: ${COLORS.neutral_20};\n min-height: 100%;\n align-items: flex-end;\n box-sizing: border-box;\n overflow: hidden;\n\n gap: 24px;\n padding: 24px 32px 64px;\n\n ${BREAKPOINTS.LARGE} {\n gap: 32px;\n padding: 32px 64px 128px;\n }\n\n &.reverse {\n align-items: flex-start;\n }\n`;\n\nconst Media = styled.div`\n display: flex;\n width: 320px;\n height: 200px;\n\n\n img {\n object-fit: contain;\n }\n\n img.fit {\n object-fit: contain;\n }\n\n img.fill {\n object-fit: cover;\n }\n\n max-width: 100%;\n\n img {\n max-width: 100%;\n width: 320px;\n height: 200px;\n }\n\n ${BREAKPOINTS.LARGE} {\n width: 488px;\n height: 280px;\n\n img {\n width: 488px;\n height: 280px;\n }\n }\n\n`;\n\nconst Body = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n\n width: 100%;\n max-width: 320px;\n\n ${BREAKPOINTS.LARGE} {\n max-width: 488px;\n }\n \n p:not(:first-of-type) {\n flex: 1;\n color: ${COLORS.neutral_600};\n }\n\n\n`;\nconst Footer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n\n max-width: 320px;\n\n ${BREAKPOINTS.LARGE} {\n max-width: 488px;\n }\n\n .progress {\n width: max-content;\n }\n`;\n\ninterface BasePanelProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {\n type?: 'default' | 'carousel';\n}\n\ninterface PanelContent {\n media?: { type: 'image', src: string; alt: string, fit?: 'fill' | 'fit' } | { type: 'custom', content: React.ReactNode };\n title?: string;\n content?: React.ReactNode;\n}\n\ninterface DefaultPanelProps extends BasePanelProps, PanelContent {\n type?: 'default';\n order?: 'default' | 'reverse';\n}\n\ninterface CarouselPanelProps extends BasePanelProps {\n type: 'carousel';\n order?: 'default' | 'reverse';\n items?: PanelContent[];\n}\n\nexport type PanelProps = DefaultPanelProps | CarouselPanelProps;\n\nexport const Panel = (props: PanelProps) => {\n\n const [currentImage, setCurrentImage] = React.useState(0);\n const isLargeScreen = useMediaMatch(BREAKPOINTS.LARGE.replace('@media ', ''));\n\n let rest: React.HTMLAttributes<HTMLDivElement> = {};\n let order = undefined;\n let media = undefined;\n let title = '';\n let content = undefined;\n let items: PanelContent[] = [];\n\n\n switch (props.type) {\n case 'carousel':\n ({items = [], order, ...rest} = props);\n break;\n case 'default':\n default:\n ({media, content, title = '', order, ...rest} = props)\n break;\n }\n\n\n const moveLeft = () => {\n props.type === 'carousel' && setCurrentImage(currentImage === 0 ? items.length - 1 : currentImage - 1);\n }\n const moveRight = () => {\n props.type === 'carousel' && setCurrentImage(currentImage + 1 > items.length - 1 ? 0 : currentImage + 1);\n }\n\n const currentItem: PanelContent = props.type === 'carousel' ? items[currentImage] : {media, title, content};\n\n return (\n <Wrapper {...rest} className={`${rest.className || ''} ${order || ''} `}>\n <Media>\n {\n currentItem.media?.type === 'image' &&\n <img className={currentItem.media.fit} src={currentItem.media.src} alt={currentItem.media.alt}/>\n }\n {\n currentItem.media?.type === 'custom' && currentItem.media.content\n }\n </Media>\n <Body>\n <Quote>{currentItem.title}</Quote>\n <p>{currentItem.content}</p>\n </Body>\n {\n props.type === 'carousel' &&\n <Footer>\n <IconButton action={moveLeft} variant={'secondary'} shape={'circular'}>\n <SystemIcons.ChevronLeft/>\n </IconButton>\n <LinearProgress size={isLargeScreen ? Size.Large : Size.Medium}\n className={'progress'}\n value={currentImage + 1}\n max={props.items!.length }\n type={LinearProgressType.Dots}/>\n <IconButton action={moveRight} variant={'secondary'} shape={'circular'}>\n <SystemIcons.ChevronRight/>\n </IconButton>\n </Footer>\n }\n </Wrapper>\n )\n};\n"],"mappings":"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"}
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  import { SideMenuProps } from './types';
2
3
  export declare const SideMenuBody: (props: SideMenuProps) => JSX.Element;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  import { SideMenuProps } from './types';
2
3
  export declare const SideMenuFooter: (props: SideMenuProps) => JSX.Element;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  import { SideMenuProps } from './types';
2
3
  export declare const SideMenuHeader: (props: SideMenuProps) => JSX.Element;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { ButtonProps } from '../Button/Button';
2
3
  import { IconButtonProps } from '../Button/Iconbutton';
3
4
  import { MenuItemProps } from '../MenuItem/MenuItem';
@@ -38,4 +38,7 @@ var MobileCustomMenuContent = function MobileCustomMenuContent(_ref) {
38
38
  });
39
39
  };
40
40
  exports.MobileCustomMenuContent = MobileCustomMenuContent;
41
+ MobileCustomMenuContent.propTypes = {
42
+ children: _propTypes.default.node
43
+ };
41
44
  //# sourceMappingURL=MobileCustomMenuContent.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MobileCustomMenuContent.cjs","names":["MobileCustomMenuContent","children","header","action","useScrollableContainer","scrollContainerRef","scrollable","note"],"sources":["../../src/Switcher/MobileCustomMenuContent.tsx"],"sourcesContent":["import React from 'react';\nimport { useScrollableContainer } from '../common/ScrollableContainer';\nimport { MenuButton, MenuGroupHeader } from '../GlobalNavigationBar';\nimport { MobileHeaderContainer, MobileHeaderNote, MobileHeaderText, MobileMenuWrapper, ScrollableContainer } from '../GlobalNavigationBar/mobile/CommonStyles';\nimport { MobileActionContainer } from '../GlobalNavigationBar/mobile/MobileActionContainer';\n\ninterface MobileCustomMenuContentProps {\n header?: MenuGroupHeader;\n action?: MenuButton;\n}\n\nexport const MobileCustomMenuContent: React.FunctionComponent<MobileCustomMenuContentProps> = ({ children, header, action }) => {\n const [scrollContainerRef, scrollable] = useScrollableContainer([children]);\n\n return (\n <MobileMenuWrapper>\n <ScrollableContainer ref={scrollContainerRef as any} className={scrollable ? 'scrollable' : ''}>\n {!!header && (\n <MobileHeaderContainer>\n <MobileHeaderText>{header.header}</MobileHeaderText>\n {header.note && <MobileHeaderNote>{header.note}</MobileHeaderNote>}\n </MobileHeaderContainer>\n )}\n {children}\n </ScrollableContainer>\n {action && <MobileActionContainer {...action} />}\n </MobileMenuWrapper>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AAEA;AACA;AAA4F;AAAA;AAAA;AAOrF,IAAMA,uBAA8E,GAAG,SAAjFA,uBAA8E,OAAqC;EAAA,IAA/BC,QAAQ,QAARA,QAAQ;IAAEC,MAAM,QAANA,MAAM;IAAEC,MAAM,QAANA,MAAM;EACvH,4BAAyC,IAAAC,2CAAsB,EAAC,CAACH,QAAQ,CAAC,CAAC;IAAA;IAApEI,kBAAkB;IAAEC,UAAU;EAErC,oBACE,sBAAC,+BAAiB;IAAA,wBAChB,sBAAC,iCAAmB;MAAC,GAAG,EAAED,kBAA0B;MAAC,SAAS,EAAEC,UAAU,GAAG,YAAY,GAAG,EAAG;MAAA,WAC5F,CAAC,CAACJ,MAAM,iBACP,sBAAC,mCAAqB;QAAA,wBACpB,qBAAC,8BAAgB;UAAA,UAAEA,MAAM,CAACA;QAAM,EAAoB,EACnDA,MAAM,CAACK,IAAI,iBAAI,qBAAC,8BAAgB;UAAA,UAAEL,MAAM,CAACK;QAAI,EAAoB;MAAA,EAErE,EACAN,QAAQ;IAAA,EACW,EACrBE,MAAM,iBAAI,qBAAC,4CAAqB,oBAAKA,MAAM,EAAI;EAAA,EAC9B;AAExB,CAAC;AAAC"}
1
+ {"version":3,"file":"MobileCustomMenuContent.cjs","names":["MobileCustomMenuContent","children","header","action","useScrollableContainer","scrollContainerRef","scrollable","note"],"sources":["../../src/Switcher/MobileCustomMenuContent.tsx"],"sourcesContent":["import React from 'react';\nimport { useScrollableContainer } from '../common/ScrollableContainer';\nimport { MenuButton, MenuGroupHeader } from '../GlobalNavigationBar';\nimport { MobileHeaderContainer, MobileHeaderNote, MobileHeaderText, MobileMenuWrapper, ScrollableContainer } from '../GlobalNavigationBar/mobile/CommonStyles';\nimport { MobileActionContainer } from '../GlobalNavigationBar/mobile/MobileActionContainer';\n\ninterface MobileCustomMenuContentProps {\n header?: MenuGroupHeader;\n action?: MenuButton;\n children?: React.ReactNode;\n}\n\nexport const MobileCustomMenuContent: React.FunctionComponent<MobileCustomMenuContentProps> = ({ children, header, action }) => {\n const [scrollContainerRef, scrollable] = useScrollableContainer([children]);\n\n return (\n <MobileMenuWrapper>\n <ScrollableContainer ref={scrollContainerRef as any} className={scrollable ? 'scrollable' : ''}>\n {!!header && (\n <MobileHeaderContainer>\n <MobileHeaderText>{header.header}</MobileHeaderText>\n {header.note && <MobileHeaderNote>{header.note}</MobileHeaderNote>}\n </MobileHeaderContainer>\n )}\n {children}\n </ScrollableContainer>\n {action && <MobileActionContainer {...action} />}\n </MobileMenuWrapper>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AAEA;AACA;AAA4F;AAAA;AAAA;AAQrF,IAAMA,uBAA8E,GAAG,SAAjFA,uBAA8E,OAAqC;EAAA,IAA/BC,QAAQ,QAARA,QAAQ;IAAEC,MAAM,QAANA,MAAM;IAAEC,MAAM,QAANA,MAAM;EACvH,4BAAyC,IAAAC,2CAAsB,EAAC,CAACH,QAAQ,CAAC,CAAC;IAAA;IAApEI,kBAAkB;IAAEC,UAAU;EAErC,oBACE,sBAAC,+BAAiB;IAAA,wBAChB,sBAAC,iCAAmB;MAAC,GAAG,EAAED,kBAA0B;MAAC,SAAS,EAAEC,UAAU,GAAG,YAAY,GAAG,EAAG;MAAA,WAC5F,CAAC,CAACJ,MAAM,iBACP,sBAAC,mCAAqB;QAAA,wBACpB,qBAAC,8BAAgB;UAAA,UAAEA,MAAM,CAACA;QAAM,EAAoB,EACnDA,MAAM,CAACK,IAAI,iBAAI,qBAAC,8BAAgB;UAAA,UAAEL,MAAM,CAACK;QAAI,EAAoB;MAAA,EAErE,EACAN,QAAQ;IAAA,EACW,EACrBE,MAAM,iBAAI,qBAAC,4CAAqB,oBAAKA,MAAM,EAAI;EAAA,EAC9B;AAExB,CAAC;AAAC;AAAA;EApBAF,QAAQ;AAAA"}
@@ -3,6 +3,7 @@ import { MenuButton, MenuGroupHeader } from '../GlobalNavigationBar';
3
3
  interface MobileCustomMenuContentProps {
4
4
  header?: MenuGroupHeader;
5
5
  action?: MenuButton;
6
+ children?: React.ReactNode;
6
7
  }
7
8
  export declare const MobileCustomMenuContent: React.FunctionComponent<MobileCustomMenuContentProps>;
8
9
  export {};
@@ -31,4 +31,7 @@ export var MobileCustomMenuContent = function MobileCustomMenuContent(_ref) {
31
31
  }), action && /*#__PURE__*/_jsx(MobileActionContainer, _objectSpread({}, action))]
32
32
  });
33
33
  };
34
+ MobileCustomMenuContent.propTypes = {
35
+ children: _pt.node
36
+ };
34
37
  //# sourceMappingURL=MobileCustomMenuContent.js.map