@laerdal/life-react-components 1.4.1-dev.9.full → 1.5.1-dev.2

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 (385) hide show
  1. package/dist/Accordion/AccordionItem.cjs +77 -0
  2. package/dist/Accordion/AccordionItem.cjs.map +1 -0
  3. package/dist/Accordion/AccordionItem.d.ts +2 -0
  4. package/dist/Accordion/AccordionItem.js +8 -7
  5. package/dist/Accordion/AccordionItem.js.map +1 -1
  6. package/dist/Accordion/AccordionMenu.cjs +105 -0
  7. package/dist/Accordion/AccordionMenu.cjs.map +1 -0
  8. package/dist/Accordion/AccordionMenu.d.ts +2 -0
  9. package/dist/Accordion/AccordionMenu.js +8 -2
  10. package/dist/Accordion/AccordionMenu.js.map +1 -1
  11. package/dist/Accordion/ContentAccordion.cjs +172 -0
  12. package/dist/Accordion/ContentAccordion.cjs.map +1 -0
  13. package/dist/Accordion/ContentAccordion.js +2 -3
  14. package/dist/Accordion/ContentAccordion.js.map +1 -1
  15. package/dist/Accordion/index.cjs +38 -0
  16. package/dist/Accordion/index.cjs.map +1 -0
  17. package/dist/Accordion/styles.cjs +45 -0
  18. package/dist/Accordion/styles.cjs.map +1 -0
  19. package/dist/Accordion/styles.d.ts +5 -5
  20. package/dist/Accordion/styles.js +9 -10
  21. package/dist/Accordion/styles.js.map +1 -1
  22. package/dist/AuthPage/AuthPage.cjs +80 -0
  23. package/dist/AuthPage/AuthPage.cjs.map +1 -0
  24. package/dist/AuthPage/Information.cjs +42 -0
  25. package/dist/AuthPage/Information.cjs.map +1 -0
  26. package/dist/AuthPage/ScreenSetsContainer.cjs +25 -0
  27. package/dist/AuthPage/ScreenSetsContainer.cjs.map +1 -0
  28. package/dist/AuthPage/_AuthPageSection.cjs +22 -0
  29. package/dist/AuthPage/_AuthPageSection.cjs.map +1 -0
  30. package/dist/AuthPage/index.cjs +64 -0
  31. package/dist/AuthPage/index.cjs.map +1 -0
  32. package/dist/AuthPage/screenSetsErrorMessages.cjs +13 -0
  33. package/dist/AuthPage/screenSetsErrorMessages.cjs.map +1 -0
  34. package/dist/Banners/Banner.cjs +190 -0
  35. package/dist/Banners/Banner.cjs.map +1 -0
  36. package/dist/Banners/Banner.d.ts +1 -0
  37. package/dist/Banners/Banner.js +84 -189
  38. package/dist/Banners/Banner.js.map +1 -1
  39. package/dist/Banners/OverviewBanner.cjs +55 -0
  40. package/dist/Banners/OverviewBanner.cjs.map +1 -0
  41. package/dist/Banners/index.cjs +24 -0
  42. package/dist/Banners/index.cjs.map +1 -0
  43. package/dist/Banners/styles.cjs +73 -0
  44. package/dist/Banners/styles.cjs.map +1 -0
  45. package/dist/Banners/styles.js +44 -7
  46. package/dist/Banners/styles.js.map +1 -1
  47. package/dist/Breadcrumb/Breadcrumb.cjs +169 -0
  48. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -0
  49. package/dist/Breadcrumb/BreadcrumbItem.cjs +6 -0
  50. package/dist/Breadcrumb/BreadcrumbItem.cjs.map +1 -0
  51. package/dist/Breadcrumb/index.cjs +16 -0
  52. package/dist/Breadcrumb/index.cjs.map +1 -0
  53. package/dist/Button/BackButton.cjs +75 -0
  54. package/dist/Button/BackButton.cjs.map +1 -0
  55. package/dist/Button/Button.cjs +266 -0
  56. package/dist/Button/Button.cjs.map +1 -0
  57. package/dist/Button/Button.js +27 -101
  58. package/dist/Button/Button.js.map +1 -1
  59. package/dist/Button/DualFunctionButton.cjs +162 -0
  60. package/dist/Button/DualFunctionButton.cjs.map +1 -0
  61. package/dist/Button/Iconbutton.cjs +195 -0
  62. package/dist/Button/Iconbutton.cjs.map +1 -0
  63. package/dist/Button/Iconbutton.d.ts +13 -0
  64. package/dist/Button/Iconbutton.js +2 -2
  65. package/dist/Button/Iconbutton.js.map +1 -1
  66. package/dist/Button/index.cjs +40 -0
  67. package/dist/Button/index.cjs.map +1 -0
  68. package/dist/Chips/ActionChip.cjs +81 -0
  69. package/dist/Chips/ActionChip.cjs.map +1 -0
  70. package/dist/Chips/ChipInput.cjs +199 -0
  71. package/dist/Chips/ChipInput.cjs.map +1 -0
  72. package/dist/Chips/ChipStyles.cjs +43 -0
  73. package/dist/Chips/ChipStyles.cjs.map +1 -0
  74. package/dist/Chips/ChipTypes.cjs +6 -0
  75. package/dist/Chips/ChipTypes.cjs.map +1 -0
  76. package/dist/Chips/ChoiceChips.cjs +94 -0
  77. package/dist/Chips/ChoiceChips.cjs.map +1 -0
  78. package/dist/Chips/FilterChip.cjs +81 -0
  79. package/dist/Chips/FilterChip.cjs.map +1 -0
  80. package/dist/Chips/InputChip.cjs +109 -0
  81. package/dist/Chips/InputChip.cjs.map +1 -0
  82. package/dist/Chips/index.cjs +48 -0
  83. package/dist/Chips/index.cjs.map +1 -0
  84. package/dist/Dropdown/BasicDropdown.cjs +300 -0
  85. package/dist/Dropdown/BasicDropdown.cjs.map +1 -0
  86. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  87. package/dist/Dropdown/ChipDropdownInput.cjs +431 -0
  88. package/dist/Dropdown/ChipDropdownInput.cjs.map +1 -0
  89. package/dist/Dropdown/ChipDropdownInput.js +2 -4
  90. package/dist/Dropdown/ChipDropdownInput.js.map +1 -1
  91. package/dist/Dropdown/CommonStyling.cjs +81 -0
  92. package/dist/Dropdown/CommonStyling.cjs.map +1 -0
  93. package/dist/Dropdown/CommonStyling.d.ts +0 -5
  94. package/dist/Dropdown/CommonStyling.js +3 -10
  95. package/dist/Dropdown/CommonStyling.js.map +1 -1
  96. package/dist/Dropdown/DropdownButton.cjs +161 -0
  97. package/dist/Dropdown/DropdownButton.cjs.map +1 -0
  98. package/dist/Dropdown/DropdownButtonTypes.cjs +6 -0
  99. package/dist/Dropdown/DropdownButtonTypes.cjs.map +1 -0
  100. package/dist/Dropdown/DropdownContent.cjs +566 -0
  101. package/dist/Dropdown/DropdownContent.cjs.map +1 -0
  102. package/dist/Dropdown/DropdownContent.js +19 -54
  103. package/dist/Dropdown/DropdownContent.js.map +1 -1
  104. package/dist/Dropdown/DropdownFilter.cjs +357 -0
  105. package/dist/Dropdown/DropdownFilter.cjs.map +1 -0
  106. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  107. package/dist/Dropdown/index.cjs +40 -0
  108. package/dist/Dropdown/index.cjs.map +1 -0
  109. package/dist/Dropdown/index.d.ts +1 -0
  110. package/dist/Dropdown/index.js.map +1 -1
  111. package/dist/Footer/Components/FooterBottomLinks.cjs +69 -0
  112. package/dist/Footer/Components/FooterBottomLinks.cjs.map +1 -0
  113. package/dist/Footer/Components/FooterDropdownLinks.cjs +91 -0
  114. package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -0
  115. package/dist/Footer/Components/FooterNavSection.cjs +90 -0
  116. package/dist/Footer/Components/FooterNavSection.cjs.map +1 -0
  117. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +129 -0
  118. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -0
  119. package/dist/Footer/Components/FooterTop.cjs +91 -0
  120. package/dist/Footer/Components/FooterTop.cjs.map +1 -0
  121. package/dist/Footer/Footer.cjs +41 -0
  122. package/dist/Footer/Footer.cjs.map +1 -0
  123. package/dist/Footer/SiteFooter.cjs +89 -0
  124. package/dist/Footer/SiteFooter.cjs.map +1 -0
  125. package/dist/Footer/index.cjs +24 -0
  126. package/dist/Footer/index.cjs.map +1 -0
  127. package/dist/GlobalNavigationBar/Actions.cjs +185 -0
  128. package/dist/GlobalNavigationBar/Actions.cjs.map +1 -0
  129. package/dist/GlobalNavigationBar/Avatar.cjs +106 -0
  130. package/dist/GlobalNavigationBar/Avatar.cjs.map +1 -0
  131. package/dist/GlobalNavigationBar/ExtendedMainMenu.cjs +100 -0
  132. package/dist/GlobalNavigationBar/ExtendedMainMenu.cjs.map +1 -0
  133. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +303 -0
  134. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -0
  135. package/dist/GlobalNavigationBar/Logo.cjs +102 -0
  136. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -0
  137. package/dist/GlobalNavigationBar/MainMenu.cjs +169 -0
  138. package/dist/GlobalNavigationBar/MainMenu.cjs.map +1 -0
  139. package/dist/GlobalNavigationBar/RightSideNav.cjs +89 -0
  140. package/dist/GlobalNavigationBar/RightSideNav.cjs.map +1 -0
  141. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs +108 -0
  142. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs.map +1 -0
  143. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs +176 -0
  144. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs.map +1 -0
  145. package/dist/GlobalNavigationBar/UserMenu/UserMenu.cjs +168 -0
  146. package/dist/GlobalNavigationBar/UserMenu/UserMenu.cjs.map +1 -0
  147. package/dist/GlobalNavigationBar/index.cjs +36 -0
  148. package/dist/GlobalNavigationBar/index.cjs.map +1 -0
  149. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs +71 -0
  150. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -0
  151. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.cjs +49 -0
  152. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.cjs.map +1 -0
  153. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.cjs +91 -0
  154. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.cjs.map +1 -0
  155. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +290 -0
  156. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -0
  157. package/dist/HyperLink/HyperLink.cjs +72 -0
  158. package/dist/HyperLink/HyperLink.cjs.map +1 -0
  159. package/dist/HyperLink/index.cjs +30 -0
  160. package/dist/HyperLink/index.cjs.map +1 -0
  161. package/dist/HyperLink/styling.cjs +22 -0
  162. package/dist/HyperLink/styling.cjs.map +1 -0
  163. package/dist/InputFields/Checkbox.cjs +127 -0
  164. package/dist/InputFields/Checkbox.cjs.map +1 -0
  165. package/dist/InputFields/Checkbox.d.ts +6 -0
  166. package/dist/InputFields/Checkbox.js +3 -4
  167. package/dist/InputFields/Checkbox.js.map +1 -1
  168. package/dist/InputFields/DatepickerField.cjs +252 -0
  169. package/dist/InputFields/DatepickerField.cjs.map +1 -0
  170. package/dist/InputFields/DatepickerFieldHeader.cjs +107 -0
  171. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -0
  172. package/dist/InputFields/Label.cjs +104 -0
  173. package/dist/InputFields/Label.cjs.map +1 -0
  174. package/dist/InputFields/PasswordField.cjs +150 -0
  175. package/dist/InputFields/PasswordField.cjs.map +1 -0
  176. package/dist/InputFields/QuickSearch.cjs +201 -0
  177. package/dist/InputFields/QuickSearch.cjs.map +1 -0
  178. package/dist/InputFields/RadioButton.cjs +114 -0
  179. package/dist/InputFields/RadioButton.cjs.map +1 -0
  180. package/dist/InputFields/RadioButton.js +2 -3
  181. package/dist/InputFields/RadioButton.js.map +1 -1
  182. package/dist/InputFields/ResponsiveComponentWrapper.cjs +72 -0
  183. package/dist/InputFields/ResponsiveComponentWrapper.cjs.map +1 -0
  184. package/dist/InputFields/SearchBar.cjs +146 -0
  185. package/dist/InputFields/SearchBar.cjs.map +1 -0
  186. package/dist/InputFields/TextField.cjs +126 -0
  187. package/dist/InputFields/TextField.cjs.map +1 -0
  188. package/dist/InputFields/Textarea.cjs +96 -0
  189. package/dist/InputFields/Textarea.cjs.map +1 -0
  190. package/dist/InputFields/components/SearchBarInput.cjs +99 -0
  191. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -0
  192. package/dist/InputFields/components/SearchField.cjs +71 -0
  193. package/dist/InputFields/components/SearchField.cjs.map +1 -0
  194. package/dist/InputFields/index.cjs +80 -0
  195. package/dist/InputFields/index.cjs.map +1 -0
  196. package/dist/InputFields/styling.cjs +76 -0
  197. package/dist/InputFields/styling.cjs.map +1 -0
  198. package/dist/Layouts/index.cjs +56 -0
  199. package/dist/Layouts/index.cjs.map +1 -0
  200. package/dist/List/ListRow.cjs +143 -0
  201. package/dist/List/ListRow.cjs.map +1 -0
  202. package/dist/List/index.cjs +16 -0
  203. package/dist/List/index.cjs.map +1 -0
  204. package/dist/LoadingIndicator/LoadingIndicator.cjs +71 -0
  205. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -0
  206. package/dist/LoadingIndicator/index.cjs +16 -0
  207. package/dist/LoadingIndicator/index.cjs.map +1 -0
  208. package/dist/LoadingPage/GlobalLoadingPage.cjs +66 -0
  209. package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -0
  210. package/dist/LoadingPage/index.cjs +16 -0
  211. package/dist/LoadingPage/index.cjs.map +1 -0
  212. package/dist/MenuItem/MenuItem.cjs +104 -0
  213. package/dist/MenuItem/MenuItem.cjs.map +1 -0
  214. package/dist/MenuItem/MenuItem.d.ts +21 -0
  215. package/dist/MenuItem/MenuItem.js +64 -0
  216. package/dist/MenuItem/MenuItem.js.map +1 -0
  217. package/dist/MiniProductCard/MiniProductCard.cjs +80 -0
  218. package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -0
  219. package/dist/MiniProductCard/index.cjs +16 -0
  220. package/dist/MiniProductCard/index.cjs.map +1 -0
  221. package/dist/Modals/Modal.cjs +92 -0
  222. package/dist/Modals/Modal.cjs.map +1 -0
  223. package/dist/Modals/ModalContainer.cjs +176 -0
  224. package/dist/Modals/ModalContainer.cjs.map +1 -0
  225. package/dist/Modals/ModalContainer.js +1 -1
  226. package/dist/Modals/ModalContainer.js.map +1 -1
  227. package/dist/Modals/ModalDialog.cjs +363 -0
  228. package/dist/Modals/ModalDialog.cjs.map +1 -0
  229. package/dist/Modals/ModalDialog.d.ts +1 -0
  230. package/dist/Modals/ModalDialog.js +16 -2
  231. package/dist/Modals/ModalDialog.js.map +1 -1
  232. package/dist/Modals/ModalNote.cjs +93 -0
  233. package/dist/Modals/ModalNote.cjs.map +1 -0
  234. package/dist/Modals/ModalStyles.cjs +154 -0
  235. package/dist/Modals/ModalStyles.cjs.map +1 -0
  236. package/dist/Modals/ModalStyles.js +1 -1
  237. package/dist/Modals/ModalStyles.js.map +1 -1
  238. package/dist/Modals/ModalTypes.cjs +6 -0
  239. package/dist/Modals/ModalTypes.cjs.map +1 -0
  240. package/dist/Modals/index.cjs +70 -0
  241. package/dist/Modals/index.cjs.map +1 -0
  242. package/dist/Modals/index.d.ts +1 -0
  243. package/dist/Modals/index.js.map +1 -1
  244. package/dist/NavItem/NavItem.cjs +26 -0
  245. package/dist/NavItem/NavItem.cjs.map +1 -0
  246. package/dist/NavItem/index.cjs +16 -0
  247. package/dist/NavItem/index.cjs.map +1 -0
  248. package/dist/NotificationDot/NotificationDot.cjs +74 -0
  249. package/dist/NotificationDot/NotificationDot.cjs.map +1 -0
  250. package/dist/NotificationDot/index.cjs +16 -0
  251. package/dist/NotificationDot/index.cjs.map +1 -0
  252. package/dist/Paginator/Paginator.cjs +191 -0
  253. package/dist/Paginator/Paginator.cjs.map +1 -0
  254. package/dist/Paginator/index.cjs +16 -0
  255. package/dist/Paginator/index.cjs.map +1 -0
  256. package/dist/QuizButton/QuizButton.cjs +148 -0
  257. package/dist/QuizButton/QuizButton.cjs.map +1 -0
  258. package/dist/QuizButton/QuizButton.js +8 -10
  259. package/dist/QuizButton/QuizButton.js.map +1 -1
  260. package/dist/QuizButton/index.cjs +16 -0
  261. package/dist/QuizButton/index.cjs.map +1 -0
  262. package/dist/Services/functions.cjs +19 -0
  263. package/dist/Services/functions.cjs.map +1 -0
  264. package/dist/SkipToContent/SkipToContent.cjs +46 -0
  265. package/dist/SkipToContent/SkipToContent.cjs.map +1 -0
  266. package/dist/SkipToContent/index.cjs +16 -0
  267. package/dist/SkipToContent/index.cjs.map +1 -0
  268. package/dist/Switcher/MobileSwitcherMenu.cjs +120 -0
  269. package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -0
  270. package/dist/Switcher/SwitcherMenuItem.cjs +62 -0
  271. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -0
  272. package/dist/Switcher/index.cjs +24 -0
  273. package/dist/Switcher/index.cjs.map +1 -0
  274. package/dist/Table/Table.cjs +463 -0
  275. package/dist/Table/Table.cjs.map +1 -0
  276. package/dist/Table/Table.js +1 -1
  277. package/dist/Table/Table.js.map +1 -1
  278. package/dist/Table/TableBody.cjs +192 -0
  279. package/dist/Table/TableBody.cjs.map +1 -0
  280. package/dist/Table/TableBody.js +26 -21
  281. package/dist/Table/TableBody.js.map +1 -1
  282. package/dist/Table/TableFooter.cjs +120 -0
  283. package/dist/Table/TableFooter.cjs.map +1 -0
  284. package/dist/Table/TableFooter.js +6 -6
  285. package/dist/Table/TableFooter.js.map +1 -1
  286. package/dist/Table/TableHeaders.cjs +102 -0
  287. package/dist/Table/TableHeaders.cjs.map +1 -0
  288. package/dist/Table/TableHeaders.js +5 -4
  289. package/dist/Table/TableHeaders.js.map +1 -1
  290. package/dist/Table/TableStyles.cjs +106 -0
  291. package/dist/Table/TableStyles.cjs.map +1 -0
  292. package/dist/Table/TableStyles.js +8 -7
  293. package/dist/Table/TableStyles.js.map +1 -1
  294. package/dist/Table/TableTypes.cjs +6 -0
  295. package/dist/Table/TableTypes.cjs.map +1 -0
  296. package/dist/Table/TableTypes.d.ts +2 -0
  297. package/dist/Table/index.cjs +16 -0
  298. package/dist/Table/index.cjs.map +1 -0
  299. package/dist/Table/index.d.ts +1 -0
  300. package/dist/Table/index.js.map +1 -1
  301. package/dist/Tabs/HorizontalTabs.cjs +98 -0
  302. package/dist/Tabs/HorizontalTabs.cjs.map +1 -0
  303. package/dist/Tabs/HorizontalTabs.d.ts +1 -1
  304. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  305. package/dist/Tabs/TabLink.cjs +128 -0
  306. package/dist/Tabs/TabLink.cjs.map +1 -0
  307. package/dist/Tabs/Tabs.cjs +121 -0
  308. package/dist/Tabs/Tabs.cjs.map +1 -0
  309. package/dist/Tabs/VerticalTabs.cjs +68 -0
  310. package/dist/Tabs/VerticalTabs.cjs.map +1 -0
  311. package/dist/Tabs/index.cjs +24 -0
  312. package/dist/Tabs/index.cjs.map +1 -0
  313. package/dist/Tabs/index.d.ts +2 -0
  314. package/dist/Tabs/index.js.map +1 -1
  315. package/dist/Toasters/Toast.cjs +289 -0
  316. package/dist/Toasters/Toast.cjs.map +1 -0
  317. package/dist/Toasters/ToastContext.cjs +179 -0
  318. package/dist/Toasters/ToastContext.cjs.map +1 -0
  319. package/dist/Toasters/index.cjs +36 -0
  320. package/dist/Toasters/index.cjs.map +1 -0
  321. package/dist/Toggles/ToggleSwitch.cjs +73 -0
  322. package/dist/Toggles/ToggleSwitch.cjs.map +1 -0
  323. package/dist/Toggles/TogglerStyles.cjs +39 -0
  324. package/dist/Toggles/TogglerStyles.cjs.map +1 -0
  325. package/dist/Toggles/TogglerTypes.cjs +6 -0
  326. package/dist/Toggles/TogglerTypes.cjs.map +1 -0
  327. package/dist/Toggles/index.cjs +16 -0
  328. package/dist/Toggles/index.cjs.map +1 -0
  329. package/dist/Tooltips/TooltipStyles.cjs +96 -0
  330. package/dist/Tooltips/TooltipStyles.cjs.map +1 -0
  331. package/dist/Tooltips/TooltipTypes.cjs +11 -0
  332. package/dist/Tooltips/TooltipTypes.cjs.map +1 -0
  333. package/dist/Tooltips/TooltipWrapper.cjs +51 -0
  334. package/dist/Tooltips/TooltipWrapper.cjs.map +1 -0
  335. package/dist/Tooltips/index.cjs +36 -0
  336. package/dist/Tooltips/index.cjs.map +1 -0
  337. package/dist/Tooltips/index.d.ts +2 -2
  338. package/dist/Tooltips/index.js +2 -2
  339. package/dist/Tooltips/index.js.map +1 -1
  340. package/dist/assets/index.cjs +173 -0
  341. package/dist/assets/index.cjs.map +1 -0
  342. package/dist/common/EventHandlers.cjs +20 -0
  343. package/dist/common/EventHandlers.cjs.map +1 -0
  344. package/dist/common/FocusVisible.cjs +77 -0
  345. package/dist/common/FocusVisible.cjs.map +1 -0
  346. package/dist/common/InputStyling.cjs +20 -0
  347. package/dist/common/InputStyling.cjs.map +1 -0
  348. package/dist/common/index.cjs +30 -0
  349. package/dist/common/index.cjs.map +1 -0
  350. package/dist/common/index.d.ts +1 -0
  351. package/dist/common/index.js +1 -0
  352. package/dist/common/index.js.map +1 -1
  353. package/dist/hooks/useClickOutside.cjs +35 -0
  354. package/dist/hooks/useClickOutside.cjs.map +1 -0
  355. package/dist/icons/contenticons/ContentIcons.cjs +4530 -0
  356. package/dist/icons/contenticons/ContentIcons.cjs.map +1 -0
  357. package/dist/icons/index.cjs +147 -0
  358. package/dist/icons/index.cjs.map +1 -0
  359. package/dist/icons/systemicons/SystemIcons.cjs +4134 -0
  360. package/dist/icons/systemicons/SystemIcons.cjs.map +1 -0
  361. package/dist/index.cjs +422 -0
  362. package/dist/index.cjs.map +1 -0
  363. package/dist/index.d.ts +1 -0
  364. package/dist/index.js +1 -0
  365. package/dist/index.js.map +1 -1
  366. package/dist/styles/breakpoints.cjs +16 -0
  367. package/dist/styles/breakpoints.cjs.map +1 -0
  368. package/dist/styles/colors.cjs +108 -0
  369. package/dist/styles/colors.cjs.map +1 -0
  370. package/dist/styles/global.cjs +15 -0
  371. package/dist/styles/global.cjs.map +1 -0
  372. package/dist/styles/index.cjs +288 -0
  373. package/dist/styles/index.cjs.map +1 -0
  374. package/dist/styles/index.d.ts +1 -0
  375. package/dist/styles/index.js +1 -0
  376. package/dist/styles/index.js.map +1 -1
  377. package/dist/styles/shadowstyles.cjs +14 -0
  378. package/dist/styles/shadowstyles.cjs.map +1 -0
  379. package/dist/styles/typography.cjs +640 -0
  380. package/dist/styles/typography.cjs.map +1 -0
  381. package/dist/styles/z-indexes.cjs +22 -0
  382. package/dist/styles/z-indexes.cjs.map +1 -0
  383. package/dist/types.cjs +59 -0
  384. package/dist/types.cjs.map +1 -0
  385. package/package.json +13 -5
@@ -0,0 +1,252 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
+
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
+
20
+ var React = _interopRequireWildcard(require("react"));
21
+
22
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
+
24
+ var _reactDatepicker = _interopRequireDefault(require("react-datepicker"));
25
+
26
+ var _enGB = _interopRequireDefault(require("date-fns/locale/en-GB"));
27
+
28
+ var _moment = _interopRequireDefault(require("moment"));
29
+
30
+ var _colors = _interopRequireDefault(require("../styles/colors"));
31
+
32
+ var _SystemIcons = require("../icons/systemicons/SystemIcons");
33
+
34
+ var _index = require("../Button/index");
35
+
36
+ var _DatepickerFieldHeader = require("./DatepickerFieldHeader");
37
+
38
+ var _styles = require("../styles");
39
+
40
+ var _styling = require("./styling");
41
+
42
+ require("react-datepicker/dist/react-datepicker.css");
43
+
44
+ var _typography = require("../styles/typography");
45
+
46
+ var _zIndexes = require("../styles/z-indexes");
47
+
48
+ var _FocusVisible = require("../common/FocusVisible");
49
+
50
+ var _jsxRuntime = require("react/jsx-runtime");
51
+
52
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
53
+
54
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
55
+
56
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
57
+
58
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
59
+
60
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
61
+
62
+ /**
63
+ * Add custom styles.
64
+ */
65
+ var DatePickerContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n \n .react-datepicker-popper{\n z-index: ", "; \n }\n\n > div {\n display: block;\n ", "\n\n .react-datepicker {\n box-sizing: border-box;\n box-shadow: 0px 2px 4px rgb(0 0 0 / 15%);\n border: 1px solid #e5e5e5;\n }\n\n .react-datepicker__navigation {\n line-height: normal;\n text-indent: inherit;\n border: none;\n border-radius: 4px;\n height: 32px;\n width: 32px;\n outline: none;\n margin: 0px;\n color: transparent;\n\n &:hover {\n background: ", ";\n\n &.react-datepicker__navigation--previous::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M15.1975 4.46474C15.5885 4.85478 15.5893 5.48794 15.1993 5.87895L8.92124 12.1727L15.1993 18.4665C15.5893 18.8575 15.5885 19.4907 15.1975 19.8807C14.8065 20.2708 14.1734 20.27 13.7833 19.879L6.8008 12.879C6.41145 12.4886 6.41145 11.8568 6.8008 11.4665L13.7833 4.46651C14.1734 4.0755 14.8065 4.0747 15.1975 4.46474Z' fill='%23215369' /%3E%3C/svg%3E\");\n }\n\n &.react-datepicker__navigation--next::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M9.24214 19.8807C8.85113 19.4907 8.85034 18.8575 9.24038 18.4665L15.5184 12.1727L9.24037 5.87895C8.85034 5.48794 8.85113 4.85478 9.24214 4.46474C9.63315 4.0747 10.2663 4.07549 10.6564 4.46651L17.6389 11.4665C18.0282 11.8568 18.0282 12.4886 17.6389 12.879L10.6564 19.879C10.2663 20.27 9.63316 20.2708 9.24214 19.8807Z' fill='%23215369' /%3E%3C/svg%3E\");\n }\n }\n\n &:focus {\n background: ", ";\n box-shadow: 0px 4px 12px ", ", 0px 0px 8px ", " !important;\n\n &.react-datepicker__navigation--next::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M9.24214 19.8807C8.85113 19.4907 8.85034 18.8575 9.24038 18.4665L15.5184 12.1727L9.24037 5.87895C8.85034 5.48794 8.85113 4.85478 9.24214 4.46474C9.63315 4.0747 10.2663 4.07549 10.6564 4.46651L17.6389 11.4665C18.0282 11.8568 18.0282 12.4886 17.6389 12.879L10.6564 19.879C10.2663 20.27 9.63316 20.2708 9.24214 19.8807Z' fill='%23163746' /%3E%3C/svg%3E\");\n }\n\n &.react-datepicker__navigation--previous::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M15.1975 4.46474C15.5885 4.85478 15.5893 5.48794 15.1993 5.87895L8.92124 12.1727L15.1993 18.4665C15.5893 18.8575 15.5885 19.4907 15.1975 19.8807C14.8065 20.2708 14.1734 20.27 13.7833 19.879L6.8008 12.879C6.41145 12.4886 6.41145 11.8568 6.8008 11.4665L13.7833 4.46651C14.1734 4.0755 14.8065 4.0747 15.1975 4.46474Z' fill='%23163746' /%3E%3C/svg%3E\");\n }\n }\n\n &::before {\n text-align: center;\n display: inline-block;\n content: '';\n height: 32px;\n width: 32px;\n vertical-align: middle;\n }\n\n &.react-datepicker__navigation--next::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M9.24214 19.8807C8.85113 19.4907 8.85034 18.8575 9.24038 18.4665L15.5184 12.1727L9.24037 5.87895C8.85034 5.48794 8.85113 4.85478 9.24214 4.46474C9.63315 4.0747 10.2663 4.07549 10.6564 4.46651L17.6389 11.4665C18.0282 11.8568 18.0282 12.4886 17.6389 12.879L10.6564 19.879C10.2663 20.27 9.63316 20.2708 9.24214 19.8807Z' fill='%23666666' /%3E%3C/svg%3E\");\n }\n\n &.react-datepicker__navigation--previous::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M15.1975 4.46474C15.5885 4.85478 15.5893 5.48794 15.1993 5.87895L8.92124 12.1727L15.1993 18.4665C15.5893 18.8575 15.5885 19.4907 15.1975 19.8807C14.8065 20.2708 14.1734 20.27 13.7833 19.879L6.8008 12.879C6.41145 12.4886 6.41145 11.8568 6.8008 11.4665L13.7833 4.46651C14.1734 4.0755 14.8065 4.0747 15.1975 4.46474Z' fill='%23666666' /%3E%3C/svg%3E\");\n }\n }\n\n .react-datepicker__month-container,\n .react-datepicker__year--container {\n width: 336px;\n }\n\n .react-datepicker__month {\n margin: 0px;\n }\n\n .react-datepicker__triangle {\n left: 50% !important;\n display: none;\n }\n .react-datepicker-popper[data-placement^='bottom'] {\n margin-top: 0;\n }\n\n .react-datepicker-popper[data-placement^='bottom'] .react-datepicker__triangle {\n border-bottom-color: ", ";\n }\n\n .react-datepicker__header {\n border-bottom: 1px solid ", ";\n background: ", ";\n height: ", ";\n padding-top: 0px;\n }\n\n .react-datepicker__current-month {\n height: 48px;\n display: inline-flex;\n align-items: center;\n margin-right: 5px;\n\n ", "\n }\n\n .react-datepicker__year {\n max-height: 300px;\n overflow-y: scroll;\n\n ", "\n }\n\n .react-datepicker__year-wrapper {\n max-width: 100%;\n justify-content: space-around;\n }\n\n .react-datepicker__day-name {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 48px;\n margin: 0px;\n width: 48px;\n\n ", "\n }\n\n .react-datepicker__year-text {\n background: ", ";\n border: none;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n margin-top: 20px;\n padding-top: 10px;\n padding-bottom: 10px;\n\n ", "\n\n &.react-datepicker__year-text--disabled {\n display: none;\n }\n\n &.react-datepicker__day--keyboard-selected {\n color: ", ";\n background: ", ";\n font-weight: 400;\n border: none;\n }\n\n &:hover {\n color: ", ";\n background: ", ";\n }\n\n &:focus {\n color: ", ";\n background: ", ";\n box-shadow: 0px 4px 12px ", ", 0px 0px 8px ", " !important;\n outline: none;\n }\n\n &.react-datepicker__year-text--selected {\n color: ", " !important;\n background: ", " !important;\n }\n }\n\n .react-datepicker__day {\n background: ", ";\n border: none;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 40px;\n width: 40px;\n margin: 4px;\n\n ", "\n &.react-datepicker__day--keyboard-selected {\n color: ", ";\n background: ", ";\n font-weight: 400;\n border: none;\n }\n\n &:hover {\n color: ", ";\n background: ", ";\n }\n\n &:focus {\n color: ", ";\n background: ", ";\n box-shadow: 0px 4px 12px ", ", 0px 0px 8px ", " !important;\n outline: none;\n }\n\n &.react-datepicker__day--selected {\n color: ", " !important;\n background: ", " !important;\n }\n\n &.react-datepicker__day--today {\n border-radius: 0.3rem;\n color: ", ";\n background: ", ";\n\n &:hover {\n color: ", ";\n background: ", ";\n }\n\n &:focus {\n color: ", ";\n background: ", ";\n box-shadow: 0px 4px 12px ", ", 0px 0px 8px ", " !important;\n outline: none;\n }\n }\n }\n }\n"])), _zIndexes.Z_INDEXES.dropdown, function (props) {
66
+ return props.margin ? "margin: ".concat(props.margin, ";") : '';
67
+ }, _colors.default.primary_20, _colors.default.primary_100, _colors.default.focus_25, _colors.default.focus, _colors.default.neutral_20, _colors.default.neutral_200, _colors.default.neutral_20, function (props) {
68
+ return !props.yearPicker ? '96px' : '54px';
69
+ }, (0, _typography.ComponentSStyling)(_styles.ComponentTextStyle.Bold, _colors.default.neutral_600), _styles.scrollBarStyling, (0, _typography.ComponentMStyling)(_styles.ComponentTextStyle.Regular, _colors.default.neutral_600), _colors.default.white, (0, _typography.ComponentMStyling)(_styles.ComponentTextStyle.Regular, _colors.default.neutral_600), _colors.default.neutral_600, _colors.default.white, _colors.default.primary_700, _colors.default.primary_20, _colors.default.primary_800, _colors.default.primary_100, _colors.default.focus_25, _colors.default.focus, _colors.default.white, _colors.default.primary_500, _colors.default.white, (0, _typography.ComponentMStyling)(_styles.ComponentTextStyle.Regular, _colors.default.neutral_600), _colors.default.neutral_600, _colors.default.white, _colors.default.primary_700, _colors.default.primary_20, _colors.default.primary_800, _colors.default.primary_100, _colors.default.focus_25, _colors.default.focus, _colors.default.white, _colors.default.primary_500, _colors.default.neutral_700, _colors.default.neutral_100, _colors.default.primary_700, _colors.default.primary_20, _colors.default.primary_800, _colors.default.primary_100, _colors.default.focus_25, _colors.default.focus);
70
+
71
+ var DatepickerRow = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n position: relative;\n\n > button {\n position: absolute;\n right: 4px;\n top: 4px;\n\n svg {\n }\n }\n\n ", "\n &:focus-within {\n -webkit-box-shadow: inset 0px 0px 0px 2px ", ";\n -moz-box-shadow: inset 0px 0px 0px 2px ", ";\n box-shadow: inset 0px 0px 0px 2px ", ";\n }\n"])), function (props) {
72
+ return props !== null && props !== void 0 && props.disabled || props !== null && props !== void 0 && props.locked ? '' : (0, _styledComponents.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n &:hover {\n svg,\n svg path {\n fill: ", " !important;\n }\n }\n "])), _colors.default.primary_600);
73
+ }, _colors.default.primary_800, _colors.default.primary_800, _colors.default.primary_800);
74
+
75
+ var StyledInputFieldStyling = (0, _styledComponents.default)(_styling.InputFieldStyling)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n &:hover {\n box-shadow: inset 0px 0px 0px 2px ", ";\n ::placeholder {\n color: ", ";\n }\n cursor: pointer;\n background-color: ", ";\n color: ", ";\n }\n &:active {\n background-color: ", ";\n color: ", ";\n box-shadow: inset 0px 0px 0px 2px ", ";\n ::placeholder {\n color: ", ";\n }\n }\n &:disabled {\n box-shadow: none;\n background-color: ", ";\n span {\n color: ", ";\n }\n &::after {\n background-color: ", ";\n }\n }\n"])), _colors.default.primary_200, _colors.default.primary_600, _colors.default.primary_20, _colors.default.primary_600, _colors.default.primary_100, _colors.default.primary_800, _colors.default.primary_300, _colors.default.primary_800, _colors.default.white, _colors.default.neutral_300, _colors.default.white);
76
+
77
+ var DatepickerField = function DatepickerField(_ref) {
78
+ var id = _ref.id,
79
+ disabled = _ref.disabled,
80
+ locked = _ref.locked,
81
+ _onChange = _ref.onChange,
82
+ hasError = _ref.hasError,
83
+ value = _ref.value,
84
+ validationMessage = _ref.validationMessage,
85
+ dateFormat = _ref.dateFormat,
86
+ autoComplete = _ref.autoComplete,
87
+ placeholder = _ref.placeholder,
88
+ required = _ref.required,
89
+ yearPicker = _ref.yearPicker,
90
+ yearsBeforeCurrentDate = _ref.yearsBeforeCurrentDate,
91
+ yearsAfterCurrentDate = _ref.yearsAfterCurrentDate,
92
+ margin = _ref.margin;
93
+ // Globally used variables within the component
94
+ var inputRef = (0, _FocusVisible.useFocusVisibleRef)();
95
+ var datepickerRef = React.useRef(null);
96
+
97
+ var _React$useState = React.useState(-1),
98
+ _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
99
+ activeMonthPage = _React$useState2[0],
100
+ setActiveMonthPage = _React$useState2[1];
101
+
102
+ var _React$useState3 = React.useState(false),
103
+ _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
104
+ yearPickerMode = _React$useState4[0],
105
+ setYearPickerMode = _React$useState4[1];
106
+
107
+ var _React$useState5 = React.useState(null),
108
+ _React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2),
109
+ openAt = _React$useState6[0],
110
+ setOpenAt = _React$useState6[1];
111
+ /**
112
+ * Format the date in a specific way.
113
+ */
114
+
115
+
116
+ React.useEffect(function () {
117
+ if (value) inputRef.current.value = (0, _moment.default)(value).format(dateFormat ? dateFormat : 'MMMM Do, YYYY');
118
+ }, [value]);
119
+ React.useEffect(function () {
120
+ if (yearPickerMode) {
121
+ var _selectedDate$parentE;
122
+
123
+ //unfortunately, since there are no refs, and year pickers is rendered not by our code, but by 'react-datepicker'
124
+ //we have to touch DOM directly
125
+ var selectedDate = document.getElementsByClassName('react-datepicker__year-text--selected')[0];
126
+ var dropdownParent = selectedDate === null || selectedDate === void 0 ? void 0 : (_selectedDate$parentE = selectedDate.parentElement) === null || _selectedDate$parentE === void 0 ? void 0 : _selectedDate$parentE.parentElement;
127
+ if (selectedDate && dropdownParent) dropdownParent.scrollTop = selectedDate.offsetTop - 2 * selectedDate.offsetHeight;
128
+ }
129
+ }, [yearPickerMode]); //we have to manually reopen the calendar when needed, to guarantee that datepicker will show selected date after year selection
130
+ //otherwise after year selection datepicker will show January month of the selected year
131
+
132
+ React.useEffect(function () {
133
+ if (openAt) {
134
+ datepickerRef.current.setOpen(true); //setOpenAt(null);
135
+ }
136
+ }, [openAt]);
137
+
138
+ var handleCalendarOpen = function handleCalendarOpen() {
139
+ if (openAt) setOpenAt(null);
140
+ };
141
+
142
+ var maxDate = new Date(value && new Date(value) > new Date() ? new Date(value) : new Date());
143
+ maxDate.setFullYear(maxDate.getFullYear() + (yearsAfterCurrentDate !== null && yearsAfterCurrentDate !== void 0 ? yearsAfterCurrentDate : 50)); //itemsNumber - controls number of year select options generated in the dropdown
144
+ //items related to dates higher than 'maxDate' will be hidden, thus to avoid creating hundreds of invisible divs, we divide by 5
145
+
146
+ var minDate = new Date(value && new Date(value) < new Date() ? new Date(value) : new Date());
147
+ var itemsNumber = Math.round((minDate.getFullYear() - (yearsBeforeCurrentDate !== null && yearsBeforeCurrentDate !== void 0 ? yearsBeforeCurrentDate : 15)) / 5);
148
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
149
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(DatePickerContainer, {
150
+ yearPicker: yearPickerMode,
151
+ margin: margin || '',
152
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactDatepicker.default, {
153
+ ref: datepickerRef,
154
+ onCalendarOpen: handleCalendarOpen,
155
+ onChange: function onChange(e) {
156
+ if (_onChange) {
157
+ if (yearPickerMode) {
158
+ var newDate = new Date();
159
+ newDate.setFullYear(e.getFullYear());
160
+ newDate.setMonth(activeMonthPage);
161
+ setOpenAt(newDate);
162
+ } else _onChange(e);
163
+ }
164
+
165
+ if (yearPickerMode) setYearPickerMode(false);
166
+ },
167
+ disabled: disabled || locked,
168
+ locale: _enGB.default,
169
+ showYearPicker: yearPickerMode //we manipulate 'yearItemNumber' and 'maxDate' to guarantee number of year select options shown before and after selected year
170
+ ,
171
+ yearItemNumber: yearPickerMode ? itemsNumber : undefined,
172
+ maxDate: yearPickerMode ? maxDate : undefined,
173
+ selected: value,
174
+ openToDate: openAt !== null && openAt !== void 0 ? openAt : undefined,
175
+ shouldCloseOnSelect: true,
176
+ renderCustomHeader: yearPicker ? function (params) {
177
+ return /*#__PURE__*/React.createElement(_DatepickerFieldHeader.DatepickerFieldHeader, _objectSpread(_objectSpread({}, params), {}, {
178
+ setActiveMonthPage: setActiveMonthPage,
179
+ customHeaderCount: 0,
180
+ yearPickerMode: yearPickerMode,
181
+ setYearPickerMode: setYearPickerMode
182
+ }), null);
183
+ } : undefined,
184
+ customInput: /*#__PURE__*/(0, _jsxRuntime.jsx)(_styling.InputWrapper, {
185
+ disabled: disabled,
186
+ locked: locked,
187
+ tabIndex: disabled ? -1 : 0,
188
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
189
+ style: {
190
+ display: 'block'
191
+ },
192
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(DatepickerRow, {
193
+ locked: locked,
194
+ disabled: disabled,
195
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(StyledInputFieldStyling, {
196
+ id: id,
197
+ ref: inputRef,
198
+ type: "text",
199
+ name: "datepicker",
200
+ readOnly: true,
201
+ className: hasError ? 'error' : '',
202
+ tabIndex: 0,
203
+ autoComplete: autoComplete,
204
+ placeholder: placeholder,
205
+ disabled: disabled,
206
+ locked: locked,
207
+ required: required
208
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.IconButton, {
209
+ variant: "secondary",
210
+ shape: "square",
211
+ tabIndex: -1,
212
+ action: function action() {},
213
+ disabled: disabled || locked,
214
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.Calendar, {
215
+ size: "24"
216
+ })
217
+ })]
218
+ })
219
+ })
220
+ })
221
+ })
222
+ }), validationMessage && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styling.ErrorMessage, {
223
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.TechnicalWarning, {
224
+ size: "20px",
225
+ color: _colors.default.critical_400
226
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
227
+ children: validationMessage
228
+ })]
229
+ })]
230
+ });
231
+ };
232
+
233
+ DatepickerField.propTypes = {
234
+ id: _propTypes.default.string.isRequired,
235
+ disabled: _propTypes.default.bool,
236
+ locked: _propTypes.default.bool,
237
+ onChange: _propTypes.default.func,
238
+ hasError: _propTypes.default.bool,
239
+ value: _propTypes.default.instanceOf(Date),
240
+ dateFormat: _propTypes.default.string,
241
+ validationMessage: _propTypes.default.string,
242
+ autoComplete: _propTypes.default.string,
243
+ placeholder: _propTypes.default.string,
244
+ required: _propTypes.default.bool,
245
+ yearPicker: _propTypes.default.bool,
246
+ yearsBeforeCurrentDate: _propTypes.default.number,
247
+ yearsAfterCurrentDate: _propTypes.default.number,
248
+ margin: _propTypes.default.string
249
+ };
250
+ var _default = DatepickerField;
251
+ exports.default = _default;
252
+ //# sourceMappingURL=DatepickerField.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/InputFields/DatepickerField.tsx"],"names":["DatePickerContainer","styled","div","Z_INDEXES","dropdown","props","margin","COLORS","primary_20","primary_100","focus_25","focus","neutral_20","neutral_200","yearPicker","ComponentTextStyle","Bold","neutral_600","scrollBarStyling","Regular","white","primary_700","primary_800","primary_500","neutral_700","neutral_100","DatepickerRow","disabled","locked","css","primary_600","StyledInputFieldStyling","InputFieldStyling","primary_200","primary_300","neutral_300","DatepickerField","id","onChange","hasError","value","validationMessage","dateFormat","autoComplete","placeholder","required","yearsBeforeCurrentDate","yearsAfterCurrentDate","inputRef","datepickerRef","React","useRef","useState","activeMonthPage","setActiveMonthPage","yearPickerMode","setYearPickerMode","openAt","setOpenAt","useEffect","current","format","selectedDate","document","getElementsByClassName","dropdownParent","parentElement","scrollTop","offsetTop","offsetHeight","setOpen","handleCalendarOpen","maxDate","Date","setFullYear","getFullYear","minDate","itemsNumber","Math","round","e","newDate","setMonth","en","undefined","params","createElement","DatepickerFieldHeader","customHeaderCount","display","critical_400"],"mappings":"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","sourcesContent":["/**\n * Import react libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import third-party libraries.\n */\nimport styled, {css} from 'styled-components';\nimport DatePicker from 'react-datepicker';\nimport en from 'date-fns/locale/en-GB';\nimport moment from 'moment';\n\n/**\n * Import custom components.\n */\nimport COLORS from '../styles/colors';\nimport {Calendar, TechnicalWarning} from '../icons/systemicons/SystemIcons';\nimport {IconButton} from '../Button/index';\nimport {DatepickerFieldHeader, DatepickerFieldHeaderParams} from './DatepickerFieldHeader';\nimport {ComponentTextStyle, scrollBarStyling} from '../styles';\n\n/**\n * Import custom styles.\n */\nimport {ErrorMessage, InputFieldStyling, InputWrapper} from './styling';\nimport 'react-datepicker/dist/react-datepicker.css';\nimport {ComponentMStyling, ComponentSStyling} from '../styles/typography';\nimport {Z_INDEXES} from '../styles/z-indexes';\nimport {useFocusVisibleRef} from '../common/FocusVisible';\n\n/**\n * Add custom types.\n */\ntype DatepickerFieldProps = {\n id: string;\n disabled?: boolean;\n locked?: boolean;\n onChange?: (date: Date) => void;\n hasError?: boolean;\n value?: Date;\n dateFormat?: string;\n validationMessage?: string;\n autoComplete?: string;\n placeholder?: string;\n required?: boolean;\n yearPicker?: boolean;\n yearsBeforeCurrentDate?: number;\n yearsAfterCurrentDate?: number;\n margin?: string;\n};\n\n/**\n * Add custom styles.\n */\nconst DatePickerContainer = styled.div<{ yearPicker: boolean; margin: string }>`\n \n .react-datepicker-popper{\n z-index: ${Z_INDEXES.dropdown}; \n }\n\n > div {\n display: block;\n ${(props) => (props.margin ? `margin: ${props.margin};` : '')}\n\n .react-datepicker {\n box-sizing: border-box;\n box-shadow: 0px 2px 4px rgb(0 0 0 / 15%);\n border: 1px solid #e5e5e5;\n }\n\n .react-datepicker__navigation {\n line-height: normal;\n text-indent: inherit;\n border: none;\n border-radius: 4px;\n height: 32px;\n width: 32px;\n outline: none;\n margin: 0px;\n color: transparent;\n\n &:hover {\n background: ${COLORS.primary_20};\n\n &.react-datepicker__navigation--previous::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M15.1975 4.46474C15.5885 4.85478 15.5893 5.48794 15.1993 5.87895L8.92124 12.1727L15.1993 18.4665C15.5893 18.8575 15.5885 19.4907 15.1975 19.8807C14.8065 20.2708 14.1734 20.27 13.7833 19.879L6.8008 12.879C6.41145 12.4886 6.41145 11.8568 6.8008 11.4665L13.7833 4.46651C14.1734 4.0755 14.8065 4.0747 15.1975 4.46474Z' fill='%23215369' /%3E%3C/svg%3E\");\n }\n\n &.react-datepicker__navigation--next::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M9.24214 19.8807C8.85113 19.4907 8.85034 18.8575 9.24038 18.4665L15.5184 12.1727L9.24037 5.87895C8.85034 5.48794 8.85113 4.85478 9.24214 4.46474C9.63315 4.0747 10.2663 4.07549 10.6564 4.46651L17.6389 11.4665C18.0282 11.8568 18.0282 12.4886 17.6389 12.879L10.6564 19.879C10.2663 20.27 9.63316 20.2708 9.24214 19.8807Z' fill='%23215369' /%3E%3C/svg%3E\");\n }\n }\n\n &:focus {\n background: ${COLORS.primary_100};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n\n &.react-datepicker__navigation--next::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M9.24214 19.8807C8.85113 19.4907 8.85034 18.8575 9.24038 18.4665L15.5184 12.1727L9.24037 5.87895C8.85034 5.48794 8.85113 4.85478 9.24214 4.46474C9.63315 4.0747 10.2663 4.07549 10.6564 4.46651L17.6389 11.4665C18.0282 11.8568 18.0282 12.4886 17.6389 12.879L10.6564 19.879C10.2663 20.27 9.63316 20.2708 9.24214 19.8807Z' fill='%23163746' /%3E%3C/svg%3E\");\n }\n\n &.react-datepicker__navigation--previous::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M15.1975 4.46474C15.5885 4.85478 15.5893 5.48794 15.1993 5.87895L8.92124 12.1727L15.1993 18.4665C15.5893 18.8575 15.5885 19.4907 15.1975 19.8807C14.8065 20.2708 14.1734 20.27 13.7833 19.879L6.8008 12.879C6.41145 12.4886 6.41145 11.8568 6.8008 11.4665L13.7833 4.46651C14.1734 4.0755 14.8065 4.0747 15.1975 4.46474Z' fill='%23163746' /%3E%3C/svg%3E\");\n }\n }\n\n &::before {\n text-align: center;\n display: inline-block;\n content: '';\n height: 32px;\n width: 32px;\n vertical-align: middle;\n }\n\n &.react-datepicker__navigation--next::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M9.24214 19.8807C8.85113 19.4907 8.85034 18.8575 9.24038 18.4665L15.5184 12.1727L9.24037 5.87895C8.85034 5.48794 8.85113 4.85478 9.24214 4.46474C9.63315 4.0747 10.2663 4.07549 10.6564 4.46651L17.6389 11.4665C18.0282 11.8568 18.0282 12.4886 17.6389 12.879L10.6564 19.879C10.2663 20.27 9.63316 20.2708 9.24214 19.8807Z' fill='%23666666' /%3E%3C/svg%3E\");\n }\n\n &.react-datepicker__navigation--previous::before {\n background-image: url(\"data:image/svg+xml,%3Csvg style='width: 32px; height: 32px;' viewBox='0 0 25 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fillRule='evenodd' clipRule='evenodd' d='M15.1975 4.46474C15.5885 4.85478 15.5893 5.48794 15.1993 5.87895L8.92124 12.1727L15.1993 18.4665C15.5893 18.8575 15.5885 19.4907 15.1975 19.8807C14.8065 20.2708 14.1734 20.27 13.7833 19.879L6.8008 12.879C6.41145 12.4886 6.41145 11.8568 6.8008 11.4665L13.7833 4.46651C14.1734 4.0755 14.8065 4.0747 15.1975 4.46474Z' fill='%23666666' /%3E%3C/svg%3E\");\n }\n }\n\n .react-datepicker__month-container,\n .react-datepicker__year--container {\n width: 336px;\n }\n\n .react-datepicker__month {\n margin: 0px;\n }\n\n .react-datepicker__triangle {\n left: 50% !important;\n display: none;\n }\n .react-datepicker-popper[data-placement^='bottom'] {\n margin-top: 0;\n }\n\n .react-datepicker-popper[data-placement^='bottom'] .react-datepicker__triangle {\n border-bottom-color: ${COLORS.neutral_20};\n }\n\n .react-datepicker__header {\n border-bottom: 1px solid ${COLORS.neutral_200};\n background: ${COLORS.neutral_20};\n height: ${(props) => (!props.yearPicker ? '96px' : '54px')};\n padding-top: 0px;\n }\n\n .react-datepicker__current-month {\n height: 48px;\n display: inline-flex;\n align-items: center;\n margin-right: 5px;\n\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n }\n\n .react-datepicker__year {\n max-height: 300px;\n overflow-y: scroll;\n\n ${scrollBarStyling}\n }\n\n .react-datepicker__year-wrapper {\n max-width: 100%;\n justify-content: space-around;\n }\n\n .react-datepicker__day-name {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 48px;\n margin: 0px;\n width: 48px;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n }\n\n .react-datepicker__year-text {\n background: ${COLORS.white};\n border: none;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n margin-top: 20px;\n padding-top: 10px;\n padding-bottom: 10px;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n &.react-datepicker__year-text--disabled {\n display: none;\n }\n\n &.react-datepicker__day--keyboard-selected {\n color: ${COLORS.neutral_600};\n background: ${COLORS.white};\n font-weight: 400;\n border: none;\n }\n\n &:hover {\n color: ${COLORS.primary_700};\n background: ${COLORS.primary_20};\n }\n\n &:focus {\n color: ${COLORS.primary_800};\n background: ${COLORS.primary_100};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\n }\n\n &.react-datepicker__year-text--selected {\n color: ${COLORS.white} !important;\n background: ${COLORS.primary_500} !important;\n }\n }\n\n .react-datepicker__day {\n background: ${COLORS.white};\n border: none;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 40px;\n width: 40px;\n margin: 4px;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n &.react-datepicker__day--keyboard-selected {\n color: ${COLORS.neutral_600};\n background: ${COLORS.white};\n font-weight: 400;\n border: none;\n }\n\n &:hover {\n color: ${COLORS.primary_700};\n background: ${COLORS.primary_20};\n }\n\n &:focus {\n color: ${COLORS.primary_800};\n background: ${COLORS.primary_100};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\n }\n\n &.react-datepicker__day--selected {\n color: ${COLORS.white} !important;\n background: ${COLORS.primary_500} !important;\n }\n\n &.react-datepicker__day--today {\n border-radius: 0.3rem;\n color: ${COLORS.neutral_700};\n background: ${COLORS.neutral_100};\n\n &:hover {\n color: ${COLORS.primary_700};\n background: ${COLORS.primary_20};\n }\n\n &:focus {\n color: ${COLORS.primary_800};\n background: ${COLORS.primary_100};\n box-shadow: 0px 4px 12px ${COLORS.focus_25}, 0px 0px 8px ${COLORS.focus} !important;\n outline: none;\n }\n }\n }\n }\n`;\n\nconst DatepickerRow = styled.div<{ disabled?: boolean; locked?: boolean }>`\n display: flex;\n flex-direction: row;\n position: relative;\n\n > button {\n position: absolute;\n right: 4px;\n top: 4px;\n\n svg {\n }\n }\n\n ${(props) =>\n props?.disabled || props?.locked\n ? ''\n : css`\n &:hover {\n svg,\n svg path {\n fill: ${COLORS.primary_600} !important;\n }\n }\n `}\n &:focus-within {\n -webkit-box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n -moz-box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n }\n`;\n\nconst StyledInputFieldStyling = styled(InputFieldStyling)`\n &:hover {\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_200};\n ::placeholder {\n color: ${COLORS.primary_600};\n }\n cursor: pointer;\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_600};\n }\n &:active {\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_300};\n ::placeholder {\n color: ${COLORS.primary_800};\n }\n }\n &:disabled {\n box-shadow: none;\n background-color: ${COLORS.white};\n span {\n color: ${COLORS.neutral_300};\n }\n &::after {\n background-color: ${COLORS.white};\n }\n }\n`;\n\nconst DatepickerField = ({\n id,\n disabled,\n locked,\n onChange,\n hasError,\n value,\n validationMessage,\n dateFormat,\n autoComplete,\n placeholder,\n required,\n yearPicker,\n yearsBeforeCurrentDate,\n yearsAfterCurrentDate,\n margin,\n}: DatepickerFieldProps) => {\n // Globally used variables within the component\n const inputRef = useFocusVisibleRef();\n const datepickerRef = React.useRef<any>(null);\n const [activeMonthPage, setActiveMonthPage] = React.useState<number>(-1);\n const [yearPickerMode, setYearPickerMode] = React.useState<boolean>(false);\n const [openAt, setOpenAt] = React.useState<Date | null>(null);\n\n /**\n * Format the date in a specific way.\n */\n React.useEffect(() => {\n if (value) inputRef.current.value = moment(value).format(dateFormat ? dateFormat : 'MMMM Do, YYYY');\n }, [value]);\n\n React.useEffect(() => {\n if (yearPickerMode) {\n //unfortunately, since there are no refs, and year pickers is rendered not by our code, but by 'react-datepicker'\n //we have to touch DOM directly\n const selectedDate = document.getElementsByClassName('react-datepicker__year-text--selected')[0] as HTMLElement;\n const dropdownParent = selectedDate?.parentElement?.parentElement;\n if (selectedDate && dropdownParent) dropdownParent.scrollTop = selectedDate.offsetTop - 2 * selectedDate.offsetHeight;\n }\n }, [yearPickerMode]);\n\n //we have to manually reopen the calendar when needed, to guarantee that datepicker will show selected date after year selection\n //otherwise after year selection datepicker will show January month of the selected year\n React.useEffect(() => {\n if (openAt) {\n datepickerRef.current.setOpen(true);\n //setOpenAt(null);\n }\n }, [openAt]);\n\n const handleCalendarOpen = () => {\n if (openAt) setOpenAt(null);\n };\n\n let maxDate = new Date(value && new Date(value) > new Date() ? new Date(value) : new Date());\n maxDate.setFullYear(maxDate.getFullYear() + (yearsAfterCurrentDate ?? 50));\n\n //itemsNumber - controls number of year select options generated in the dropdown\n //items related to dates higher than 'maxDate' will be hidden, thus to avoid creating hundreds of invisible divs, we divide by 5\n let minDate = new Date(value && new Date(value) < new Date() ? new Date(value) : new Date());\n const itemsNumber = Math.round((minDate.getFullYear() - (yearsBeforeCurrentDate ?? 15)) / 5);\n\n return (\n <>\n {/* Let's render the input itself */}\n <DatePickerContainer yearPicker={yearPickerMode} margin={margin || ''}>\n <DatePicker\n ref={datepickerRef}\n onCalendarOpen={handleCalendarOpen}\n onChange={(e: any) => {\n if (onChange) {\n if (yearPickerMode) {\n const newDate = new Date();\n newDate.setFullYear(e.getFullYear());\n newDate.setMonth(activeMonthPage);\n setOpenAt(newDate);\n } else onChange(e);\n }\n if (yearPickerMode) setYearPickerMode(false);\n }}\n disabled={disabled || locked}\n locale={en}\n showYearPicker={yearPickerMode}\n //we manipulate 'yearItemNumber' and 'maxDate' to guarantee number of year select options shown before and after selected year\n yearItemNumber={yearPickerMode ? itemsNumber : undefined}\n maxDate={yearPickerMode ? maxDate : undefined}\n selected={value}\n openToDate={openAt ?? undefined}\n shouldCloseOnSelect={true}\n renderCustomHeader={\n yearPicker\n ? (params: DatepickerFieldHeaderParams) =>\n React.createElement(\n DatepickerFieldHeader,\n { ...params, setActiveMonthPage, customHeaderCount: 0, yearPickerMode: yearPickerMode, setYearPickerMode: setYearPickerMode },\n null,\n )\n : undefined\n }\n customInput={\n <InputWrapper disabled={disabled} locked={locked} tabIndex={disabled ? -1 : 0}>\n <div style={{ display: 'block' }}>\n <DatepickerRow locked={locked} disabled={disabled}>\n <StyledInputFieldStyling\n id={id}\n ref={inputRef}\n type=\"text\"\n name=\"datepicker\"\n readOnly={true}\n className={hasError ? 'error' : ''}\n tabIndex={0}\n autoComplete={autoComplete}\n placeholder={placeholder}\n disabled={disabled}\n locked={locked}\n required={required}/>\n <IconButton variant=\"secondary\" shape=\"square\" tabIndex={-1} action={() => {}} disabled={disabled || locked}>\n <Calendar size=\"24\" />\n </IconButton>\n </DatepickerRow>\n </div>\n </InputWrapper>\n }\n />\n </DatePickerContainer>\n\n {/* If there is an error, let's render the error */}\n {validationMessage && (\n <ErrorMessage>\n <TechnicalWarning size=\"20px\" color={COLORS.critical_400} />\n <span>{validationMessage}</span>\n </ErrorMessage>\n )}\n </>\n );\n};\n\nexport default DatepickerField;\n"],"file":"DatepickerField.cjs"}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.DatepickerFieldHeader = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var React = _interopRequireWildcard(require("react"));
17
+
18
+ var _SystemIcons = require("../icons/systemicons/SystemIcons");
19
+
20
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
21
+
22
+ var _common = require("../common");
23
+
24
+ var _styles = require("../styles");
25
+
26
+ var _jsxRuntime = require("react/jsx-runtime");
27
+
28
+ var _templateObject;
29
+
30
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
+
32
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
+
34
+ var HeaderLabelContainer = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: 10px;\n cursor: pointer;\n\n button {\n background: transparent;\n padding: 0px;\n width: auto;\n }\n\n svg {\n color: ", ";\n }\n\n ", "\n\n &:hover {\n div {\n color: ", " !important;\n }\n svg {\n color: ", ";\n }\n }\n\n &:active {\n div {\n color: ", " !important;\n }\n svg {\n color: ", ";\n }\n }\n"])), _styles.COLORS.neutral_600, _common.CommonInteractionStyling, _styles.COLORS.primary_600, _styles.COLORS.primary_600, _styles.COLORS.primary_600, _styles.COLORS.primary_600);
35
+
36
+ var DatepickerFieldHeader = function DatepickerFieldHeader(_ref) {
37
+ var date = _ref.date,
38
+ decreaseMonth = _ref.decreaseMonth,
39
+ increaseMonth = _ref.increaseMonth,
40
+ prevMonthButtonDisabled = _ref.prevMonthButtonDisabled,
41
+ nextMonthButtonDisabled = _ref.nextMonthButtonDisabled,
42
+ setYearPickerMode = _ref.setYearPickerMode,
43
+ yearPickerMode = _ref.yearPickerMode,
44
+ setActiveMonthPage = _ref.setActiveMonthPage;
45
+ var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
46
+
47
+ var handleDecreaseMonth = function handleDecreaseMonth() {
48
+ var previousMonth = date.getMonth() - 1;
49
+ if (previousMonth < 0) previousMonth = months.length - 1;
50
+ setActiveMonthPage(previousMonth);
51
+ decreaseMonth();
52
+ };
53
+
54
+ var handleIncreaseMonth = function handleIncreaseMonth() {
55
+ var nextMonth = date.getMonth() + 1;
56
+ if (nextMonth >= months.length - 1) nextMonth = 0;
57
+ setActiveMonthPage(nextMonth);
58
+ increaseMonth();
59
+ };
60
+
61
+ React.useEffect(function () {
62
+ setActiveMonthPage(date.getMonth());
63
+ }, [date]);
64
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
65
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
66
+ style: {
67
+ display: 'flex',
68
+ justifyContent: 'center'
69
+ },
70
+ children: [!yearPickerMode && /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
71
+ className: "react-datepicker__navigation react-datepicker__navigation--previous",
72
+ onClick: handleDecreaseMonth,
73
+ disabled: prevMonthButtonDisabled,
74
+ children: "Prevoius month"
75
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(HeaderLabelContainer, {
76
+ onClick: function onClick() {
77
+ return setYearPickerMode(!yearPickerMode);
78
+ },
79
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
80
+ className: "react-datepicker__current-month",
81
+ children: "".concat(months[date.getMonth()], " ").concat(date.getFullYear())
82
+ }), yearPickerMode ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.ArrowDropUp, {
83
+ size: "24px"
84
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.ArrowDropDown, {
85
+ size: "24px"
86
+ })]
87
+ }), !yearPickerMode && /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
88
+ className: "react-datepicker__navigation react-datepicker__navigation--next",
89
+ onClick: handleIncreaseMonth,
90
+ disabled: nextMonthButtonDisabled,
91
+ children: "Next month"
92
+ })]
93
+ })
94
+ });
95
+ };
96
+
97
+ exports.DatepickerFieldHeader = DatepickerFieldHeader;
98
+ DatepickerFieldHeader.propTypes = {
99
+ date: _propTypes.default.instanceOf(Date).isRequired,
100
+ customHeaderCount: _propTypes.default.number.isRequired,
101
+ prevMonthButtonDisabled: _propTypes.default.bool.isRequired,
102
+ nextMonthButtonDisabled: _propTypes.default.bool.isRequired,
103
+ prevYearButtonDisabled: _propTypes.default.bool.isRequired,
104
+ nextYearButtonDisabled: _propTypes.default.bool.isRequired,
105
+ yearPickerMode: _propTypes.default.bool.isRequired
106
+ };
107
+ //# sourceMappingURL=DatepickerFieldHeader.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/InputFields/DatepickerFieldHeader.tsx"],"names":["HeaderLabelContainer","styled","div","COLORS","neutral_600","CommonInteractionStyling","primary_600","DatepickerFieldHeader","date","decreaseMonth","increaseMonth","prevMonthButtonDisabled","nextMonthButtonDisabled","setYearPickerMode","yearPickerMode","setActiveMonthPage","months","handleDecreaseMonth","previousMonth","getMonth","length","handleIncreaseMonth","nextMonth","React","useEffect","display","justifyContent","getFullYear","customHeaderCount","prevYearButtonDisabled","nextYearButtonDisabled"],"mappings":"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","sourcesContent":["/**\n * Import react libraries.\n */\nimport * as React from 'react';\nimport { ArrowDropUp, ArrowDropDown } from '../icons/systemicons/SystemIcons';\nimport styled from 'styled-components';\nimport { CommonInteractionStyling } from '../common';\nimport { scrollBarStyling, COLORS } from '../styles';\n\nexport interface DatepickerFieldHeaderParams {\n date: Date;\n changeYear(year: number): void;\n changeMonth(month: number): void;\n customHeaderCount: number;\n decreaseMonth(): void;\n increaseMonth(): void;\n prevMonthButtonDisabled: boolean;\n nextMonthButtonDisabled: boolean;\n decreaseYear(): void;\n increaseYear(): void;\n prevYearButtonDisabled: boolean;\n nextYearButtonDisabled: boolean;\n yearPickerMode: boolean;\n setYearPickerMode(val: boolean): void;\n setActiveMonthPage(val: number): void;\n}\n\nconst HeaderLabelContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n padding-left: 10px;\n cursor: pointer;\n\n button {\n background: transparent;\n padding: 0px;\n width: auto;\n }\n\n svg {\n color: ${COLORS.neutral_600};\n }\n\n ${CommonInteractionStyling}\n\n &:hover {\n div {\n color: ${COLORS.primary_600} !important;\n }\n svg {\n color: ${COLORS.primary_600};\n }\n }\n\n &:active {\n div {\n color: ${COLORS.primary_600} !important;\n }\n svg {\n color: ${COLORS.primary_600};\n }\n }\n`;\n\nexport const DatepickerFieldHeader = ({\n date,\n decreaseMonth,\n increaseMonth,\n prevMonthButtonDisabled,\n nextMonthButtonDisabled,\n setYearPickerMode,\n yearPickerMode,\n setActiveMonthPage,\n}: DatepickerFieldHeaderParams) => {\n const months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n const handleDecreaseMonth = () => {\n let previousMonth = date.getMonth() - 1;\n if (previousMonth < 0) previousMonth = months.length - 1;\n setActiveMonthPage(previousMonth);\n decreaseMonth();\n };\n\n const handleIncreaseMonth = () => {\n let nextMonth = date.getMonth() + 1;\n if (nextMonth >= months.length - 1) nextMonth = 0;\n setActiveMonthPage(nextMonth);\n increaseMonth();\n };\n\n React.useEffect(() => {\n setActiveMonthPage(date.getMonth());\n }, [date]);\n\n return (\n <>\n <div\n style={{\n display: 'flex',\n justifyContent: 'center',\n }}>\n {!yearPickerMode && (\n <button className=\"react-datepicker__navigation react-datepicker__navigation--previous\" onClick={handleDecreaseMonth} disabled={prevMonthButtonDisabled}>\n Prevoius month\n </button>\n )}\n <HeaderLabelContainer onClick={() => setYearPickerMode(!yearPickerMode)}>\n <div className=\"react-datepicker__current-month\">{`${months[date.getMonth()]} ${date.getFullYear()}`}</div>\n {yearPickerMode ? <ArrowDropUp size=\"24px\" /> : <ArrowDropDown size=\"24px\" />}\n </HeaderLabelContainer>\n {!yearPickerMode && (\n <button className=\"react-datepicker__navigation react-datepicker__navigation--next\" onClick={handleIncreaseMonth} disabled={nextMonthButtonDisabled}>\n Next month\n </button>\n )}\n </div>\n </>\n );\n};\n"],"file":"DatepickerFieldHeader.cjs"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var React = _interopRequireWildcard(require("react"));
19
+
20
+ var _styles = require("../styles");
21
+
22
+ var _styling = require("./styling");
23
+
24
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
25
+
26
+ var _typography = require("../styles/typography");
27
+
28
+ var _jsxRuntime = require("react/jsx-runtime");
29
+
30
+ var _templateObject, _templateObject2;
31
+
32
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
+
34
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
+
36
+ // Add component-specific styles.
37
+ var Label = _styledComponents.default.label(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n\n ", " {\n ", "\n }\n\n &.small {\n ", "\n }\n &.medium {\n ", "\n }\n\n pointer-events: none;\n"])), (0, _typography.ComponentXXSStyling)(1, _styles.COLORS.neutral_500), _styles.BREAKPOINTS.MEDIUM, (0, _typography.ComponentXSStyling)(1, _styles.COLORS.neutral_500), (0, _typography.ComponentXXSStyling)(1, _styles.COLORS.neutral_500), (0, _typography.ComponentXSStyling)(1, _styles.COLORS.neutral_500));
38
+
39
+ var LabelRow = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n justify-content: space-between;\n ", "\n"])), function (props) {
40
+ return props.margin ? "margin: ".concat(props.margin, ";") : '';
41
+ }); // Add component-specific types
42
+
43
+
44
+ var InputLabel = function InputLabel(_ref) {
45
+ var _document$getElementB2;
46
+
47
+ var inputId = _ref.inputId,
48
+ text = _ref.text,
49
+ size = _ref.size,
50
+ margin = _ref.margin;
51
+
52
+ // Globally used variables within the component
53
+ var _React$useState = React.useState(false),
54
+ _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
55
+ required = _React$useState2[0],
56
+ setRequired = _React$useState2[1];
57
+ /**
58
+ * Checks if field is set as required and we have to mark it accordingly.
59
+ */
60
+
61
+
62
+ React.useEffect(function () {
63
+ var _document$getElementB;
64
+
65
+ if (((_document$getElementB = document.getElementById(inputId)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.getAttribute('required')) === '') {
66
+ setRequired(true);
67
+ } else {
68
+ setRequired(false);
69
+ }
70
+ }, [(_document$getElementB2 = document.getElementById(inputId)) === null || _document$getElementB2 === void 0 ? void 0 : _document$getElementB2.getAttribute('required')]);
71
+ /**
72
+ * Triggers a click element on a specific element.
73
+ * @param id - ID of the element which needs to be clicked.
74
+ */
75
+
76
+ var onTriggerClick = function onTriggerClick(id) {
77
+ var _document$getElementB3;
78
+
79
+ (_document$getElementB3 = document.getElementById(id)) === null || _document$getElementB3 === void 0 ? void 0 : _document$getElementB3.click();
80
+ };
81
+
82
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(LabelRow, {
83
+ margin: margin,
84
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Label, {
85
+ htmlFor: inputId,
86
+ onClick: function onClick() {
87
+ return onTriggerClick(inputId);
88
+ },
89
+ className: size || '',
90
+ children: text
91
+ }), required && /*#__PURE__*/(0, _jsxRuntime.jsx)(_styling.RequiredStar, {
92
+ children: "*"
93
+ })]
94
+ });
95
+ };
96
+
97
+ InputLabel.propTypes = {
98
+ inputId: _propTypes.default.string.isRequired,
99
+ text: _propTypes.default.string.isRequired,
100
+ margin: _propTypes.default.string
101
+ };
102
+ var _default = InputLabel;
103
+ exports.default = _default;
104
+ //# sourceMappingURL=Label.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/InputFields/Label.tsx"],"names":["Label","styled","label","COLORS","neutral_500","BREAKPOINTS","MEDIUM","LabelRow","div","props","margin","InputLabel","inputId","text","size","React","useState","required","setRequired","useEffect","document","getElementById","getAttribute","onTriggerClick","id","click"],"mappings":";;;;;;;;;;;;;;;;;AAGA;;AAKA;;AACA;;AAMA;;AACA;;;;;;;;;;AAEA;AACA,IAAMA,KAAK,GAAGC,0BAAOC,KAAV,+MACP,qCAAoB,CAApB,EAAuBC,eAAOC,WAA9B,CADO,EAGPC,oBAAYC,MAHL,EAIL,oCAAmB,CAAnB,EAAsBH,eAAOC,WAA7B,CAJK,EAQL,qCAAoB,CAApB,EAAuBD,eAAOC,WAA9B,CARK,EAWL,oCAAmB,CAAnB,EAAsBD,eAAOC,WAA7B,CAXK,CAAX;;AAiBA,IAAMG,QAAQ,GAAGN,0BAAOO,GAAV,qJAGV,UAACC,KAAD;AAAA,SAAYA,KAAK,CAACC,MAAN,qBAA0BD,KAAK,CAACC,MAAhC,SAA4C,EAAxD;AAAA,CAHU,CAAd,C,CAMA;;;AAQA,IAAMC,UAA+C,GAAG,SAAlDA,UAAkD,OAAiD;AAAA;;AAAA,MAA9CC,OAA8C,QAA9CA,OAA8C;AAAA,MAArCC,IAAqC,QAArCA,IAAqC;AAAA,MAA/BC,IAA+B,QAA/BA,IAA+B;AAAA,MAAzBJ,MAAyB,QAAzBA,MAAyB;;AACvG;AACA,wBAAgCK,KAAK,CAACC,QAAN,CAAwB,KAAxB,CAAhC;AAAA;AAAA,MAAOC,QAAP;AAAA,MAAiBC,WAAjB;AAEA;AACF;AACA;;;AACEH,EAAAA,KAAK,CAACI,SAAN,CAAgB,YAAM;AAAA;;AACpB,QAAI,0BAAAC,QAAQ,CAACC,cAAT,CAAwBT,OAAxB,iFAAkCU,YAAlC,CAA+C,UAA/C,OAA+D,EAAnE,EAAuE;AACrEJ,MAAAA,WAAW,CAAC,IAAD,CAAX;AACD,KAFD,MAEO;AACLA,MAAAA,WAAW,CAAC,KAAD,CAAX;AACD;AACF,GAND,EAMG,2BAACE,QAAQ,CAACC,cAAT,CAAwBT,OAAxB,CAAD,2DAAC,uBAAkCU,YAAlC,CAA+C,UAA/C,CAAD,CANH;AAOA;AACF;AACA;AACA;;AACE,MAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,EAAD,EAAsB;AAAA;;AAC3C,8BAAAJ,QAAQ,CAACC,cAAT,CAAwBG,EAAxB,mFAA6BC,KAA7B;AACD,GAFD;;AAIA,sBACE,sBAAC,QAAD;AAAU,IAAA,MAAM,EAAEf,MAAlB;AAAA,4BACE,qBAAC,KAAD;AAAO,MAAA,OAAO,EAAEE,OAAhB;AAAyB,MAAA,OAAO,EAAE;AAAA,eAAMW,cAAc,CAACX,OAAD,CAApB;AAAA,OAAlC;AAAiE,MAAA,SAAS,EAAEE,IAAI,IAAI,EAApF;AAAA,gBACGD;AADH,MADF,EAIGI,QAAQ,iBAAI,qBAAC,qBAAD;AAAA;AAAA,MAJf;AAAA,IADF;AAQD,CA9BD;;;AANEL,EAAAA,O;AACAC,EAAAA,I;AAEAH,EAAAA,M;;eAmCaC,U","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom styles.\n */\nimport { BREAKPOINTS, COLORS } from '../styles';\nimport { RequiredStar } from './styling';\nimport { Size } from '../types';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\nimport { ComponentXSStyling, ComponentXXSStyling } from '../styles/typography';\n\n// Add component-specific styles.\nconst Label = styled.label`\n ${ComponentXXSStyling(1, COLORS.neutral_500)}\n\n ${BREAKPOINTS.MEDIUM} {\n ${ComponentXSStyling(1, COLORS.neutral_500)}\n }\n\n &.small {\n ${ComponentXXSStyling(1, COLORS.neutral_500)}\n }\n &.medium {\n ${ComponentXSStyling(1, COLORS.neutral_500)}\n }\n\n pointer-events: none;\n`;\n\nconst LabelRow = styled.div<{ margin?: string }>`\n display: flex;\n justify-content: space-between;\n ${(props) => (props.margin ? `margin: ${props.margin};` : '')}\n`;\n\n// Add component-specific types\ntype LabelProps = {\n inputId: string;\n text: string;\n size?: Size.Small | Size.Medium;\n margin?: string;\n};\n\nconst InputLabel: React.FunctionComponent<LabelProps> = ({ inputId, text, size, margin }: LabelProps) => {\n // Globally used variables within the component\n const [required, setRequired] = React.useState<boolean>(false);\n\n /**\n * Checks if field is set as required and we have to mark it accordingly.\n */\n React.useEffect(() => {\n if (document.getElementById(inputId)?.getAttribute('required') === '') {\n setRequired(true);\n } else {\n setRequired(false);\n }\n }, [document.getElementById(inputId)?.getAttribute('required')]);\n /**\n * Triggers a click element on a specific element.\n * @param id - ID of the element which needs to be clicked.\n */\n const onTriggerClick = (id: string): void => {\n document.getElementById(id)?.click();\n };\n\n return (\n <LabelRow margin={margin}>\n <Label htmlFor={inputId} onClick={() => onTriggerClick(inputId)} className={size || ''}>\n {text}\n </Label>\n {required && <RequiredStar>*</RequiredStar>}\n </LabelRow>\n );\n};\n\nexport default InputLabel;\n"],"file":"Label.cjs"}