@dfds-ui/react-components 2.2.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (600) hide show
  1. package/accordion/Accordion.d.ts +2 -2
  2. package/accordion/Accordion.js +70 -52
  3. package/accordion/AccordionContent.d.ts +2 -1
  4. package/accordion/AccordionContent.js +14 -7
  5. package/accordion/AccordionSmall.d.ts +3 -2
  6. package/accordion/AccordionSmall.js +52 -39
  7. package/app-bar/AppBar.d.ts +3 -3
  8. package/app-bar/AppBar.js +58 -46
  9. package/app-bar/AppBarContext.d.ts +3 -3
  10. package/app-bar/AppBarContext.js +10 -9
  11. package/app-bar/AppBarDrawer.d.ts +2 -2
  12. package/app-bar/AppBarDrawer.js +14 -7
  13. package/app-bar/AppBarIconButton.d.ts +2 -2
  14. package/app-bar/AppBarIconButton.js +11 -6
  15. package/app-bar/AppBarItem.d.ts +4 -4
  16. package/app-bar/AppBarItem.js +96 -87
  17. package/app-bar/AppBarListItem.d.ts +11 -12
  18. package/assertions/banner/Banner.d.ts +3 -3
  19. package/assertions/banner/Banner.js +75 -63
  20. package/assertions/banner/BannerAction.d.ts +1 -1
  21. package/assertions/banner/BannerAction.js +10 -5
  22. package/assertions/banner/BannerTypography.d.ts +2 -0
  23. package/assertions/banner/BannerTypography.js +11 -8
  24. package/assertions/toast/Toast.d.ts +2 -1
  25. package/assertions/toast/Toast.js +34 -24
  26. package/assertions/toast/Toaster.d.ts +4 -4
  27. package/assertions/toast/Toaster.js +61 -58
  28. package/badge/Badge.d.ts +2 -2
  29. package/badge/Badge.js +18 -11
  30. package/button/BadgeIcon.d.ts +3 -3
  31. package/button/BadgeIcon.js +18 -16
  32. package/button/BaseButton.d.ts +6 -6
  33. package/button/BaseButton.js +1 -1
  34. package/button/Button.d.ts +4 -4
  35. package/button/Button.js +38 -31
  36. package/button/IconButton.d.ts +2 -2
  37. package/button/IconButton.js +46 -50
  38. package/button/LinkButton.d.ts +2 -2
  39. package/button/LinkButton.js +9 -4
  40. package/button/button-style.js +1 -2
  41. package/button-stack/ButtonStack.d.ts +4 -3
  42. package/button-stack/ButtonStack.js +31 -23
  43. package/card/Card.d.ts +3 -2
  44. package/card/Card.js +59 -45
  45. package/card/CardActions.js +13 -6
  46. package/card/CardContent.d.ts +3 -2
  47. package/card/CardContent.js +21 -11
  48. package/card/CardMedia.d.ts +4 -3
  49. package/card/CardMedia.js +17 -9
  50. package/card/CardPriceTag.d.ts +3 -3
  51. package/card/CardPriceTag.js +28 -16
  52. package/card/CardTitle.d.ts +3 -2
  53. package/card/CardTitle.js +25 -15
  54. package/chip/Chip.d.ts +5 -5
  55. package/chip/Chip.js +27 -20
  56. package/cjs/accordion/Accordion.d.ts +2 -2
  57. package/cjs/accordion/Accordion.js +84 -76
  58. package/cjs/accordion/AccordionContent.d.ts +2 -1
  59. package/cjs/accordion/AccordionContent.js +14 -15
  60. package/cjs/accordion/AccordionSmall.d.ts +3 -2
  61. package/cjs/accordion/AccordionSmall.js +57 -53
  62. package/cjs/accordion/index.js +3 -3
  63. package/cjs/app-bar/AppBar.d.ts +3 -3
  64. package/cjs/app-bar/AppBar.js +94 -108
  65. package/cjs/app-bar/AppBarContext.d.ts +3 -3
  66. package/cjs/app-bar/AppBarContext.js +8 -20
  67. package/cjs/app-bar/AppBarDrawer.d.ts +2 -2
  68. package/cjs/app-bar/AppBarDrawer.js +18 -20
  69. package/cjs/app-bar/AppBarIconButton.d.ts +2 -2
  70. package/cjs/app-bar/AppBarIconButton.js +14 -17
  71. package/cjs/app-bar/AppBarItem.d.ts +4 -4
  72. package/cjs/app-bar/AppBarItem.js +86 -99
  73. package/cjs/app-bar/AppBarListItem.d.ts +11 -12
  74. package/cjs/app-bar/AppBarListItem.js +2 -3
  75. package/cjs/app-bar/index.js +9 -9
  76. package/cjs/assertions/banner/Banner.d.ts +3 -3
  77. package/cjs/assertions/banner/Banner.js +85 -101
  78. package/cjs/assertions/banner/BannerAction.d.ts +1 -1
  79. package/cjs/assertions/banner/BannerAction.js +13 -14
  80. package/cjs/assertions/banner/BannerTypography.d.ts +2 -0
  81. package/cjs/assertions/banner/BannerTypography.js +12 -12
  82. package/cjs/assertions/banner/index.js +3 -3
  83. package/cjs/assertions/index.js +2 -2
  84. package/cjs/assertions/toast/Toast.d.ts +2 -1
  85. package/cjs/assertions/toast/Toast.js +38 -38
  86. package/cjs/assertions/toast/Toaster.d.ts +4 -4
  87. package/cjs/assertions/toast/Toaster.js +57 -70
  88. package/cjs/assertions/toast/index.js +5 -6
  89. package/cjs/badge/Badge.d.ts +2 -2
  90. package/cjs/badge/Badge.js +22 -24
  91. package/cjs/badge/index.js +3 -4
  92. package/cjs/button/BadgeIcon.d.ts +3 -3
  93. package/cjs/button/BadgeIcon.js +20 -18
  94. package/cjs/button/BaseButton.d.ts +6 -6
  95. package/cjs/button/BaseButton.js +4 -6
  96. package/cjs/button/Button.d.ts +4 -4
  97. package/cjs/button/Button.js +45 -51
  98. package/cjs/button/IconButton.d.ts +2 -2
  99. package/cjs/button/IconButton.js +36 -55
  100. package/cjs/button/LinkButton.d.ts +2 -2
  101. package/cjs/button/LinkButton.js +8 -9
  102. package/cjs/button/button-style.js +9 -17
  103. package/cjs/button/index.js +8 -9
  104. package/cjs/button-stack/ButtonStack.d.ts +4 -3
  105. package/cjs/button-stack/ButtonStack.js +31 -33
  106. package/cjs/button-stack/index.js +2 -2
  107. package/cjs/card/Card.d.ts +3 -2
  108. package/cjs/card/Card.js +64 -71
  109. package/cjs/card/CardActions.js +11 -15
  110. package/cjs/card/CardContent.d.ts +3 -2
  111. package/cjs/card/CardContent.js +20 -20
  112. package/cjs/card/CardMedia.d.ts +4 -3
  113. package/cjs/card/CardMedia.js +18 -19
  114. package/cjs/card/CardPriceTag.d.ts +3 -3
  115. package/cjs/card/CardPriceTag.js +29 -27
  116. package/cjs/card/CardTitle.d.ts +3 -2
  117. package/cjs/card/CardTitle.js +26 -24
  118. package/cjs/card/index.js +7 -7
  119. package/cjs/chip/Chip.d.ts +5 -5
  120. package/cjs/chip/Chip.js +34 -49
  121. package/cjs/chip/index.js +3 -4
  122. package/cjs/common/LockBodyScroll.d.ts +4 -3
  123. package/cjs/common/LockBodyScroll.js +27 -23
  124. package/cjs/common/arrow.d.ts +1 -1
  125. package/cjs/common/arrow.js +2 -4
  126. package/cjs/common/emotionCloneElement.d.ts +0 -1
  127. package/cjs/common/emotionCloneElement.js +5 -10
  128. package/cjs/common/intent.d.ts +1 -1
  129. package/cjs/common/polymorphic.d.ts +5 -5
  130. package/cjs/common/polymorphic.js +13 -9
  131. package/cjs/common/use-media.js +2 -11
  132. package/cjs/common/useOnClickOutside.d.ts +2 -3
  133. package/cjs/common/useOnClickOutside.js +2 -2
  134. package/cjs/counter/Counter.d.ts +3 -2
  135. package/cjs/counter/Counter.js +61 -69
  136. package/cjs/counter/PluralCounter.d.ts +4 -3
  137. package/cjs/counter/PluralCounter.js +24 -37
  138. package/cjs/counter/index.js +3 -3
  139. package/cjs/data-table/DataTable.d.ts +3 -2
  140. package/cjs/data-table/DataTable.js +57 -61
  141. package/cjs/data-table/index.js +1 -1
  142. package/cjs/divider/Divider.d.ts +3 -3
  143. package/cjs/divider/Divider.js +16 -16
  144. package/cjs/divider/index.js +1 -1
  145. package/cjs/drawer/Drawer.d.ts +6 -5
  146. package/cjs/drawer/Drawer.js +20 -24
  147. package/cjs/drawer/index.js +1 -1
  148. package/cjs/dropdown-menu/Dropdown.d.ts +4 -4
  149. package/cjs/dropdown-menu/Dropdown.js +57 -68
  150. package/cjs/dropdown-menu/DropdownContext.d.ts +4 -4
  151. package/cjs/dropdown-menu/DropdownContext.js +8 -10
  152. package/cjs/dropdown-menu/MenuCheckbox.d.ts +1 -1
  153. package/cjs/dropdown-menu/MenuCheckbox.js +28 -26
  154. package/cjs/dropdown-menu/MenuItem.d.ts +1 -1
  155. package/cjs/dropdown-menu/MenuItem.js +54 -69
  156. package/cjs/dropdown-menu/MenuTitle.d.ts +1 -1
  157. package/cjs/dropdown-menu/MenuTitle.js +20 -17
  158. package/cjs/dropdown-menu/index.js +7 -8
  159. package/cjs/elevation/index.d.ts +1 -1
  160. package/cjs/elevation/index.js +4 -8
  161. package/cjs/flexbox/FlexBox.d.ts +5 -5
  162. package/cjs/flexbox/FlexBox.js +8 -18
  163. package/cjs/flexbox/index.js +1 -1
  164. package/cjs/footer/Footer.d.ts +2 -2
  165. package/cjs/footer/Footer.js +14 -10
  166. package/cjs/footer/index.js +2 -2
  167. package/cjs/forms/assistive-text/AssistiveText.d.ts +3 -4
  168. package/cjs/forms/assistive-text/AssistiveText.js +2 -3
  169. package/cjs/forms/asterisk/Asterisk.d.ts +2 -2
  170. package/cjs/forms/asterisk/Asterisk.js +6 -5
  171. package/cjs/forms/checkbox/Checkbox.d.ts +6 -6
  172. package/cjs/forms/checkbox/Checkbox.js +55 -57
  173. package/cjs/forms/checkbox/ExampleControlComponent.d.ts +2 -1
  174. package/cjs/forms/checkbox/ExampleControlComponent.js +14 -25
  175. package/cjs/forms/checkbox/index.js +2 -2
  176. package/cjs/forms/email-field/EmailField.d.ts +19 -3
  177. package/cjs/forms/email-field/EmailField.js +13 -9
  178. package/cjs/forms/error-text/ErrorText.d.ts +3 -4
  179. package/cjs/forms/error-text/ErrorText.js +4 -7
  180. package/cjs/forms/field/Field.d.ts +2 -1
  181. package/cjs/forms/field/Field.js +14 -13
  182. package/cjs/forms/index.d.ts +3 -3
  183. package/cjs/forms/index.js +19 -19
  184. package/cjs/forms/input/Input.d.ts +4 -4
  185. package/cjs/forms/input/Input.js +48 -57
  186. package/cjs/forms/input/InputComposition.d.ts +12 -12
  187. package/cjs/forms/input/InputComposition.js +61 -62
  188. package/cjs/forms/label/Label.d.ts +2 -1
  189. package/cjs/forms/label/Label.js +16 -17
  190. package/cjs/forms/number-field/NumberField.d.ts +19 -3
  191. package/cjs/forms/number-field/NumberField.js +13 -10
  192. package/cjs/forms/password-field/PasswordField.d.ts +2 -2
  193. package/cjs/forms/password-field/PasswordField.js +16 -28
  194. package/cjs/forms/radio/Radio.d.ts +4 -4
  195. package/cjs/forms/radio/Radio.js +30 -34
  196. package/cjs/forms/reactselect/ReactSelect.d.ts +16 -16
  197. package/cjs/forms/reactselect/ReactSelect.js +103 -105
  198. package/cjs/forms/searchable-select/AsyncSearchableSelect.d.ts +3 -3
  199. package/cjs/forms/searchable-select/AsyncSearchableSelect.js +74 -69
  200. package/cjs/forms/select/Select.d.ts +5 -5
  201. package/cjs/forms/select/Select.js +44 -49
  202. package/cjs/forms/select-field/SelectField.d.ts +13 -5
  203. package/cjs/forms/select-field/SelectField.js +51 -53
  204. package/cjs/forms/switch/Switch.d.ts +2 -2
  205. package/cjs/forms/switch/Switch.js +53 -54
  206. package/cjs/forms/tel-field/TelField.d.ts +19 -3
  207. package/cjs/forms/tel-field/TelField.js +13 -9
  208. package/cjs/forms/text-field/TextField.d.ts +22 -5
  209. package/cjs/forms/text-field/TextField.js +59 -62
  210. package/cjs/global-styles/GlobalStyles.d.ts +3 -3
  211. package/cjs/global-styles/GlobalStyles.js +4 -3
  212. package/cjs/global-styles/ResetStyles.d.ts +2 -2
  213. package/cjs/global-styles/ResetStyles.js +4 -4
  214. package/cjs/global-styles/sanitize.js +3 -5
  215. package/cjs/grid/Column.d.ts +1 -1
  216. package/cjs/grid/Column.js +16 -18
  217. package/cjs/grid/Container.d.ts +2 -2
  218. package/cjs/grid/Container.js +44 -41
  219. package/cjs/grid/index.js +3 -3
  220. package/cjs/hero/Hero.d.ts +2 -2
  221. package/cjs/hero/Hero.js +43 -27
  222. package/cjs/hero/index.js +2 -2
  223. package/cjs/hero/stripes.d.ts +2 -2
  224. package/cjs/hero/stripes.js +178 -163
  225. package/cjs/ie-banner/IEBanner.d.ts +2 -1
  226. package/cjs/ie-banner/IEBanner.js +17 -28
  227. package/cjs/ie-banner/index.js +2 -2
  228. package/cjs/index.d.ts +0 -1
  229. package/cjs/index.js +45 -57
  230. package/cjs/layout/LayoutLegacy.d.ts +2 -2
  231. package/cjs/layout/LayoutLegacy.js +3 -2
  232. package/cjs/lists/FeatureList.d.ts +7 -9
  233. package/cjs/lists/FeatureList.js +24 -24
  234. package/cjs/lists/ListAddon.d.ts +2 -2
  235. package/cjs/lists/ListAddon.js +17 -17
  236. package/cjs/lists/ListDivider.d.ts +3 -3
  237. package/cjs/lists/ListDivider.js +13 -16
  238. package/cjs/lists/ListIcon.d.ts +3 -3
  239. package/cjs/lists/ListIcon.js +19 -22
  240. package/cjs/lists/ListItem.d.ts +2 -2
  241. package/cjs/lists/ListItem.js +23 -31
  242. package/cjs/lists/ListText.d.ts +4 -4
  243. package/cjs/lists/ListText.js +15 -18
  244. package/cjs/lists/ListTextGroup.d.ts +2 -2
  245. package/cjs/lists/ListTextGroup.js +16 -20
  246. package/cjs/lists/ListTitle.d.ts +2 -2
  247. package/cjs/lists/ListTitle.js +12 -16
  248. package/cjs/lists/index.js +9 -9
  249. package/cjs/loader/DfdsLoader.d.ts +1 -1
  250. package/cjs/loader/DfdsLoader.js +30 -25
  251. package/cjs/loader/Loader.d.ts +3 -3
  252. package/cjs/loader/Loader.js +11 -6
  253. package/cjs/loader/index.js +3 -3
  254. package/cjs/localization/LocaleFlag.d.ts +3 -3
  255. package/cjs/localization/LocaleFlag.js +14 -18
  256. package/cjs/localization/index.js +2 -2
  257. package/cjs/localization/locales.d.ts +2 -2
  258. package/cjs/localization/locales.js +3 -6
  259. package/cjs/logo/Logo.d.ts +3 -3
  260. package/cjs/logo/Logo.js +18 -18
  261. package/cjs/logo/index.js +1 -1
  262. package/cjs/media/index.js +1 -2
  263. package/cjs/menu/Menu.d.ts +1 -1
  264. package/cjs/menu/Menu.js +46 -42
  265. package/cjs/menu/index.js +3 -4
  266. package/cjs/mobile-stepper/MobileStepper.d.ts +3 -3
  267. package/cjs/mobile-stepper/MobileStepper.js +28 -32
  268. package/cjs/mobile-stepper/index.js +2 -2
  269. package/cjs/nav-bar/NavBar.d.ts +11 -9
  270. package/cjs/nav-bar/NavBar.js +67 -75
  271. package/cjs/nav-bar/index.js +3 -4
  272. package/cjs/nav-menu/NavMenuItem.d.ts +1 -1
  273. package/cjs/nav-menu/NavMenuItem.js +15 -14
  274. package/cjs/nav-menu/index.js +2 -2
  275. package/cjs/pagination/Pagination.d.ts +3 -3
  276. package/cjs/pagination/Pagination.js +60 -49
  277. package/cjs/pagination/Pagination.styles.js +7 -14
  278. package/cjs/pagination/index.js +1 -1
  279. package/cjs/popper/Popper.d.ts +5 -5
  280. package/cjs/popper/Popper.js +42 -43
  281. package/cjs/popper/index.js +2 -2
  282. package/cjs/progress-bar/ProgressBar.d.ts +3 -3
  283. package/cjs/progress-bar/ProgressBar.js +6 -8
  284. package/cjs/progress-bar/index.js +3 -4
  285. package/cjs/schedule/ScheduleItem.d.ts +8 -10
  286. package/cjs/schedule/ScheduleItem.js +12 -9
  287. package/cjs/schedule/ScheduleList.d.ts +3 -3
  288. package/cjs/schedule/ScheduleList.js +15 -18
  289. package/cjs/schedule/index.js +3 -3
  290. package/cjs/side-sheet/SideSheet.d.ts +5 -5
  291. package/cjs/side-sheet/SideSheet.js +78 -92
  292. package/cjs/side-sheet/SideSheetCloseButton.d.ts +2 -2
  293. package/cjs/side-sheet/SideSheetCloseButton.js +15 -20
  294. package/cjs/side-sheet/SideSheetContent.d.ts +3 -3
  295. package/cjs/side-sheet/SideSheetContent.js +16 -16
  296. package/cjs/side-sheet/SideSheetFooter.d.ts +3 -3
  297. package/cjs/side-sheet/SideSheetFooter.js +16 -16
  298. package/cjs/side-sheet/SideSheetHeader.d.ts +3 -3
  299. package/cjs/side-sheet/SideSheetHeader.js +19 -20
  300. package/cjs/side-sheet/SideSheetHeadline.d.ts +3 -3
  301. package/cjs/side-sheet/SideSheetHeadline.js +7 -6
  302. package/cjs/side-sheet/index.js +6 -7
  303. package/cjs/site-layout/SiteLayout.d.ts +15 -11
  304. package/cjs/site-layout/SiteLayout.js +60 -53
  305. package/cjs/site-layout/index.js +3 -4
  306. package/cjs/skeleton/Skeleton.d.ts +3 -3
  307. package/cjs/skeleton/Skeleton.js +14 -18
  308. package/cjs/skeleton/index.js +1 -1
  309. package/cjs/social-media-link-list/SocialMediaLinkList.d.ts +7 -9
  310. package/cjs/social-media-link-list/SocialMediaLinkList.js +78 -74
  311. package/cjs/social-media-link-list/index.js +1 -1
  312. package/cjs/spinner/Spinner.d.ts +9 -9
  313. package/cjs/spinner/Spinner.js +23 -28
  314. package/cjs/spinner/index.js +1 -1
  315. package/cjs/step/Step.d.ts +2 -2
  316. package/cjs/step/Step.js +51 -51
  317. package/cjs/step/Step.styles.js +5 -10
  318. package/cjs/step/StepButton.d.ts +2 -2
  319. package/cjs/step/StepButton.js +45 -42
  320. package/cjs/step/StepContent.d.ts +3 -3
  321. package/cjs/step/StepContent.js +18 -17
  322. package/cjs/step/StepContext.d.ts +1 -1
  323. package/cjs/step/StepContext.js +2 -3
  324. package/cjs/step/StepLabel.d.ts +1 -1
  325. package/cjs/step/StepLabel.js +15 -13
  326. package/cjs/step/index.js +2 -2
  327. package/cjs/stepper/Stepper.d.ts +2 -2
  328. package/cjs/stepper/Stepper.js +28 -38
  329. package/cjs/stepper/StepperContext.d.ts +1 -1
  330. package/cjs/stepper/StepperContext.js +2 -3
  331. package/cjs/stepper/index.js +2 -2
  332. package/cjs/stepper-feedback-message/StepperFeedbackMessage.d.ts +2 -2
  333. package/cjs/stepper-feedback-message/StepperFeedbackMessage.js +12 -10
  334. package/cjs/stepper-feedback-message/index.js +2 -2
  335. package/cjs/styles/index.js +6 -7
  336. package/cjs/styles/media.d.ts +1 -1
  337. package/cjs/styles/media.js +2 -4
  338. package/cjs/styles/style-helpers.js +1 -2
  339. package/cjs/styles/theme.d.ts +1 -1
  340. package/cjs/styles/theme.js +2 -4
  341. package/cjs/surface/Surface.d.ts +9 -8
  342. package/cjs/surface/Surface.js +33 -34
  343. package/cjs/surface/index.js +1 -1
  344. package/cjs/tab/Tab.d.ts +3 -3
  345. package/cjs/tab/Tab.js +23 -24
  346. package/cjs/tab/TabPanel.d.ts +2 -2
  347. package/cjs/tab/TabPanel.js +11 -10
  348. package/cjs/tab/Tabs.d.ts +3 -3
  349. package/cjs/tab/Tabs.js +54 -71
  350. package/cjs/tab/TabsContext.d.ts +3 -3
  351. package/cjs/tab/TabsContext.js +8 -10
  352. package/cjs/tab/index.js +5 -5
  353. package/cjs/table/Table.d.ts +3 -3
  354. package/cjs/table/Table.js +22 -27
  355. package/cjs/table/TableBody.d.ts +2 -2
  356. package/cjs/table/TableBody.js +13 -17
  357. package/cjs/table/TableDataCell.d.ts +2 -2
  358. package/cjs/table/TableDataCell.js +16 -21
  359. package/cjs/table/TableHead.d.ts +2 -2
  360. package/cjs/table/TableHead.js +19 -24
  361. package/cjs/table/TableHeaderCell.d.ts +3 -3
  362. package/cjs/table/TableHeaderCell.js +17 -22
  363. package/cjs/table/TableRow.d.ts +2 -2
  364. package/cjs/table/TableRow.js +20 -25
  365. package/cjs/table/index.js +6 -6
  366. package/cjs/test/Test.js +6 -5
  367. package/cjs/tooltip/Tooltip.d.ts +15 -9
  368. package/cjs/tooltip/Tooltip.js +90 -62
  369. package/cjs/tooltip/index.js +3 -4
  370. package/cjs/typography/Headlines.d.ts +41 -40
  371. package/cjs/typography/Headlines.js +34 -45
  372. package/cjs/typography/Text.d.ts +2 -3
  373. package/cjs/typography/Text.js +4 -6
  374. package/cjs/typography/index.js +2 -2
  375. package/common/LockBodyScroll.d.ts +4 -3
  376. package/common/LockBodyScroll.js +28 -16
  377. package/common/arrow.d.ts +1 -1
  378. package/common/arrow.js +2 -4
  379. package/common/emotionCloneElement.d.ts +0 -1
  380. package/common/emotionCloneElement.js +2 -3
  381. package/common/intent.d.ts +1 -1
  382. package/common/polymorphic.d.ts +5 -5
  383. package/common/polymorphic.js +10 -4
  384. package/common/use-media.js +6 -6
  385. package/common/useOnClickOutside.d.ts +2 -3
  386. package/common/useOnClickOutside.js +2 -2
  387. package/common/utils.js +1 -1
  388. package/counter/Counter.d.ts +3 -2
  389. package/counter/Counter.js +62 -59
  390. package/counter/PluralCounter.d.ts +4 -3
  391. package/counter/PluralCounter.js +27 -21
  392. package/data-table/DataTable.d.ts +3 -2
  393. package/data-table/DataTable.js +60 -47
  394. package/divider/Divider.d.ts +3 -3
  395. package/divider/Divider.js +10 -5
  396. package/drawer/Drawer.d.ts +6 -5
  397. package/drawer/Drawer.js +19 -11
  398. package/dropdown-menu/Dropdown.d.ts +4 -4
  399. package/dropdown-menu/Dropdown.js +50 -42
  400. package/dropdown-menu/DropdownContext.d.ts +4 -4
  401. package/dropdown-menu/DropdownContext.js +5 -4
  402. package/dropdown-menu/MenuCheckbox.d.ts +1 -1
  403. package/dropdown-menu/MenuCheckbox.js +24 -17
  404. package/dropdown-menu/MenuItem.d.ts +1 -1
  405. package/dropdown-menu/MenuItem.js +34 -31
  406. package/dropdown-menu/MenuTitle.d.ts +1 -1
  407. package/dropdown-menu/MenuTitle.js +15 -13
  408. package/elevation/index.d.ts +1 -1
  409. package/elevation/index.js +3 -6
  410. package/flexbox/FlexBox.d.ts +5 -5
  411. package/flexbox/FlexBox.js +8 -8
  412. package/footer/Footer.d.ts +2 -2
  413. package/footer/Footer.js +12 -7
  414. package/forms/assistive-text/AssistiveText.d.ts +3 -4
  415. package/forms/asterisk/Asterisk.d.ts +2 -2
  416. package/forms/asterisk/Asterisk.js +4 -2
  417. package/forms/checkbox/Checkbox.d.ts +6 -6
  418. package/forms/checkbox/Checkbox.js +50 -42
  419. package/forms/checkbox/ExampleControlComponent.d.ts +2 -1
  420. package/forms/checkbox/ExampleControlComponent.js +18 -11
  421. package/forms/email-field/EmailField.d.ts +19 -3
  422. package/forms/email-field/EmailField.js +16 -6
  423. package/forms/error-text/ErrorText.d.ts +3 -4
  424. package/forms/error-text/ErrorText.js +2 -4
  425. package/forms/field/Field.d.ts +2 -1
  426. package/forms/field/Field.js +12 -10
  427. package/forms/index.d.ts +3 -3
  428. package/forms/input/Input.d.ts +4 -4
  429. package/forms/input/Input.js +42 -44
  430. package/forms/input/InputComposition.d.ts +12 -12
  431. package/forms/input/InputComposition.js +41 -32
  432. package/forms/label/Label.d.ts +2 -1
  433. package/forms/label/Label.js +17 -11
  434. package/forms/number-field/NumberField.d.ts +19 -3
  435. package/forms/number-field/NumberField.js +17 -8
  436. package/forms/password-field/PasswordField.d.ts +2 -2
  437. package/forms/password-field/PasswordField.js +22 -18
  438. package/forms/radio/Radio.d.ts +4 -4
  439. package/forms/radio/Radio.js +33 -26
  440. package/forms/reactselect/ReactSelect.d.ts +16 -16
  441. package/forms/reactselect/ReactSelect.js +74 -69
  442. package/forms/searchable-select/AsyncSearchableSelect.d.ts +3 -3
  443. package/forms/searchable-select/AsyncSearchableSelect.js +51 -39
  444. package/forms/select/Select.d.ts +5 -5
  445. package/forms/select/Select.js +41 -39
  446. package/forms/select-field/SelectField.d.ts +13 -5
  447. package/forms/select-field/SelectField.js +44 -40
  448. package/forms/switch/Switch.d.ts +2 -2
  449. package/forms/switch/Switch.js +52 -43
  450. package/forms/tel-field/TelField.d.ts +19 -3
  451. package/forms/tel-field/TelField.js +16 -6
  452. package/forms/text-field/TextField.d.ts +22 -5
  453. package/forms/text-field/TextField.js +50 -46
  454. package/global-styles/GlobalStyles.d.ts +3 -3
  455. package/global-styles/GlobalStyles.js +3 -3
  456. package/global-styles/ResetStyles.d.ts +2 -2
  457. package/global-styles/ResetStyles.js +3 -4
  458. package/global-styles/sanitize.js +1 -2
  459. package/grid/Column.d.ts +1 -1
  460. package/grid/Column.js +14 -7
  461. package/grid/Container.d.ts +2 -2
  462. package/grid/Container.js +42 -36
  463. package/hero/Hero.d.ts +2 -2
  464. package/hero/Hero.js +43 -25
  465. package/hero/stripes.d.ts +2 -2
  466. package/hero/stripes.js +176 -160
  467. package/ie-banner/IEBanner.d.ts +2 -1
  468. package/ie-banner/IEBanner.js +17 -11
  469. package/index.d.ts +0 -1
  470. package/index.js +0 -1
  471. package/layout/LayoutLegacy.d.ts +2 -2
  472. package/layout/LayoutLegacy.js +2 -2
  473. package/lists/FeatureList.d.ts +7 -9
  474. package/lists/FeatureList.js +21 -11
  475. package/lists/ListAddon.d.ts +2 -2
  476. package/lists/ListAddon.js +13 -6
  477. package/lists/ListDivider.d.ts +3 -3
  478. package/lists/ListDivider.js +10 -5
  479. package/lists/ListIcon.d.ts +3 -3
  480. package/lists/ListIcon.js +10 -5
  481. package/lists/ListItem.d.ts +2 -2
  482. package/lists/ListItem.js +13 -6
  483. package/lists/ListText.d.ts +4 -4
  484. package/lists/ListText.js +10 -5
  485. package/lists/ListTextGroup.d.ts +2 -2
  486. package/lists/ListTextGroup.js +10 -5
  487. package/lists/ListTitle.d.ts +2 -2
  488. package/lists/ListTitle.js +11 -7
  489. package/loader/DfdsLoader.d.ts +1 -1
  490. package/loader/DfdsLoader.js +27 -22
  491. package/loader/Loader.d.ts +3 -3
  492. package/loader/Loader.js +10 -5
  493. package/localization/LocaleFlag.d.ts +3 -3
  494. package/localization/LocaleFlag.js +10 -5
  495. package/localization/locales.d.ts +2 -2
  496. package/logo/Logo.d.ts +3 -3
  497. package/logo/Logo.js +14 -7
  498. package/menu/Menu.d.ts +1 -1
  499. package/menu/Menu.js +33 -21
  500. package/mobile-stepper/MobileStepper.d.ts +3 -3
  501. package/mobile-stepper/MobileStepper.js +32 -26
  502. package/nav-bar/NavBar.d.ts +11 -9
  503. package/nav-bar/NavBar.js +56 -41
  504. package/nav-menu/NavMenuItem.d.ts +1 -1
  505. package/nav-menu/NavMenuItem.js +13 -12
  506. package/package.json +19 -24
  507. package/pagination/Pagination.d.ts +3 -3
  508. package/pagination/Pagination.js +56 -40
  509. package/pagination/Pagination.styles.js +2 -3
  510. package/popper/Popper.d.ts +5 -5
  511. package/popper/Popper.js +27 -18
  512. package/progress-bar/ProgressBar.d.ts +3 -3
  513. package/progress-bar/ProgressBar.js +4 -6
  514. package/schedule/ScheduleItem.d.ts +8 -10
  515. package/schedule/ScheduleItem.js +9 -4
  516. package/schedule/ScheduleList.d.ts +3 -3
  517. package/schedule/ScheduleList.js +16 -10
  518. package/side-sheet/SideSheet.d.ts +5 -5
  519. package/side-sheet/SideSheet.js +58 -50
  520. package/side-sheet/SideSheetCloseButton.d.ts +2 -2
  521. package/side-sheet/SideSheetCloseButton.js +10 -5
  522. package/side-sheet/SideSheetContent.d.ts +3 -3
  523. package/side-sheet/SideSheetContent.js +17 -8
  524. package/side-sheet/SideSheetFooter.d.ts +3 -3
  525. package/side-sheet/SideSheetFooter.js +17 -8
  526. package/side-sheet/SideSheetHeader.d.ts +3 -3
  527. package/side-sheet/SideSheetHeader.js +17 -8
  528. package/side-sheet/SideSheetHeadline.d.ts +3 -3
  529. package/side-sheet/SideSheetHeadline.js +5 -4
  530. package/site-layout/SiteLayout.d.ts +15 -11
  531. package/site-layout/SiteLayout.js +36 -18
  532. package/skeleton/Skeleton.d.ts +3 -3
  533. package/skeleton/Skeleton.js +11 -6
  534. package/social-media-link-list/SocialMediaLinkList.d.ts +7 -9
  535. package/social-media-link-list/SocialMediaLinkList.js +69 -55
  536. package/spinner/Spinner.d.ts +9 -9
  537. package/spinner/Spinner.js +19 -13
  538. package/step/Step.d.ts +2 -2
  539. package/step/Step.js +34 -20
  540. package/step/Step.styles.js +1 -2
  541. package/step/StepButton.d.ts +2 -2
  542. package/step/StepButton.js +28 -22
  543. package/step/StepContent.d.ts +3 -3
  544. package/step/StepContent.js +13 -13
  545. package/step/StepContext.d.ts +1 -1
  546. package/step/StepLabel.d.ts +1 -1
  547. package/step/StepLabel.js +9 -8
  548. package/stepper/Stepper.d.ts +2 -2
  549. package/stepper/Stepper.js +16 -16
  550. package/stepper/StepperContext.d.ts +1 -1
  551. package/stepper-feedback-message/StepperFeedbackMessage.d.ts +2 -2
  552. package/stepper-feedback-message/StepperFeedbackMessage.js +10 -8
  553. package/styles/media.d.ts +1 -1
  554. package/styles/style-helpers.js +1 -2
  555. package/styles/theme.d.ts +1 -1
  556. package/surface/Surface.d.ts +9 -8
  557. package/surface/Surface.js +18 -15
  558. package/tab/Tab.d.ts +3 -3
  559. package/tab/Tab.js +18 -12
  560. package/tab/TabPanel.d.ts +2 -2
  561. package/tab/TabPanel.js +6 -5
  562. package/tab/Tabs.d.ts +3 -3
  563. package/tab/Tabs.js +49 -43
  564. package/tab/TabsContext.d.ts +3 -3
  565. package/tab/TabsContext.js +5 -4
  566. package/table/Table.d.ts +3 -3
  567. package/table/Table.js +23 -17
  568. package/table/TableBody.d.ts +2 -2
  569. package/table/TableBody.js +15 -10
  570. package/table/TableDataCell.d.ts +2 -2
  571. package/table/TableDataCell.js +17 -12
  572. package/table/TableHead.d.ts +2 -2
  573. package/table/TableHead.js +14 -13
  574. package/table/TableHeaderCell.d.ts +3 -3
  575. package/table/TableHeaderCell.js +18 -13
  576. package/table/TableRow.d.ts +2 -2
  577. package/table/TableRow.js +15 -15
  578. package/test/Test.js +4 -2
  579. package/tooltip/Tooltip.d.ts +15 -9
  580. package/tooltip/Tooltip.js +93 -58
  581. package/typography/Headlines.d.ts +41 -40
  582. package/typography/Headlines.js +24 -19
  583. package/typography/Text.d.ts +2 -3
  584. package/typography/Text.js +1 -2
  585. package/cjs/date-range-picker/DatePickerDefaultStyles.d.ts +0 -2
  586. package/cjs/date-range-picker/DatePickerDefaultStyles.js +0 -20
  587. package/cjs/date-range-picker/DatePickerDfdsStyles.d.ts +0 -2
  588. package/cjs/date-range-picker/DatePickerDfdsStyles.js +0 -11
  589. package/cjs/date-range-picker/DateRangePicker.d.ts +0 -33
  590. package/cjs/date-range-picker/DateRangePicker.js +0 -291
  591. package/cjs/date-range-picker/index.d.ts +0 -1
  592. package/cjs/date-range-picker/index.js +0 -13
  593. package/date-range-picker/DatePickerDefaultStyles.d.ts +0 -2
  594. package/date-range-picker/DatePickerDefaultStyles.js +0 -13
  595. package/date-range-picker/DatePickerDfdsStyles.d.ts +0 -2
  596. package/date-range-picker/DatePickerDfdsStyles.js +0 -4
  597. package/date-range-picker/DateRangePicker.d.ts +0 -33
  598. package/date-range-picker/DateRangePicker.js +0 -310
  599. package/date-range-picker/index.d.ts +0 -1
  600. package/date-range-picker/index.js +0 -1
@@ -1,4 +0,0 @@
1
- import { css } from '@emotion/react';
2
- import { theme } from '@dfds-ui/theme';
3
- var DatePickerStyles = /*#__PURE__*/css("svg{color:", theme.colors.secondary.main, ";fill:", theme.colors.secondary.main, ";}@media only screen and (max-width: 64.063em){svg[aria-label='Previous Month']{display:none;}svg[aria-label='Next Month']{display:none;}}.DayPicker{z-index:2;table{border:none;}table td{min-width:0px;border-left:none;}.chevron_left{transform:rotate(180deg);}.chevron_down{transform:rotate(90deg);height:50px;width:50px;display:block;text-align:right;}.chevron_disabled{opacity:0.5;z-index:5;pointer-events:none;user-select:none;}@media only screen and (min-width: 64.063em){position:absolute;right:0;}&__navPrev{&--disabled{display:none;}}&__verticalScrollable{height:100vh;}&__withBorder{border:none;border-radius:0;box-shadow:none;border:1px solid ", theme.colors.secondary.light, ";margin-top:-1px;z-index:2;padding-bottom:20px;}@media (max-width: 64em){&__withBorder{border:none;border-top:1px solid ", theme.colors.secondary.light, ";}}}.DayPickerKeyboardShortcuts_show__bottomRight{display:none;}.DayPicker_weekHeader{small{font-size:16px;}&__verticalScrollable{border-bottom:none;}}.CalendarMonthGrid{background:none;}.DayPicker_transitionContainer__verticalScrollable{padding-top:20px * 2;}.CalendarMonthGrid__vertical_scrollable{padding-bottom:20px;margin-bottom:100px;margin-top:30px;}.DayPickerNavigation__verticalDefault{background:", theme.colors.surface.secondary, ";height:140px;}.DayPickerNavigation_button{background:none;height:20px;position:absolute;top:20px;width:20px;&:first-of-type{left:20px;}&:last-of-type{right:20px;}.svg-icon{height:100%;width:100%;}&__verticalDefault{box-shadow:none;height:60px;}}.DayPickerNavigation_svg{&__vertical{display:block;height:50px;margin:0 auto;width:50px;}}.CalendarMonth_table{margin:10px 0 15px;}.CalendarMonth_caption{strong{font-weight:300;}}.CalendarDay{border-color:", theme.colors.secondary.light, ";border:none;color:", theme.colors.primary.main, ";font-size:16px;&__highlighted_calendar{background:", theme.colors.surface.primary, ";&::after{content:'';width:55%;height:7px;background:", theme.colors.status.success, ";display:block;margin:0px auto 0 auto;border-radius:2px;}@media only screen and (min-width: 64em){&::after{margin-top:6px;}}}&:hover{background:", theme.colors.surface.secondary, ";border:none;color:", theme.colors.primary.main, ";}&__blocked_out_of_range,&__blocked_calendar,&__blocked_minimum_nights{background:", theme.colors.surface.primary, ";color:", theme.colors.text.dark.disabled, ";&:hover{color:", theme.colors.text.dark.disabled, ";}}&__selected_span{background:", theme.colors.surface.secondary, ";}&__hovered_span{background:", theme.colors.surface.secondary, ";}&__selected,&__selected_start,&__selected_end{border:1px solid ", theme.colors.primary.main, ";border-left:1px solid ", theme.colors.primary.main, "!important;background:none;&:hover{border:1px solid ", theme.colors.primary.main, ";background:", theme.colors.surface.primary, ";}}&__selected_start.CalendarDay__blocked_minimum_nights{color:", theme.colors.primary.main, ";}}.datepicker_open{z-index:4;}.datepicker_container{display:inline-block;width:50%;position:relative;background-color:white;.dateInputs{padding:7px 0 6px 50px;border-radius:0px;border:1px solid ", theme.colors.text.dark.secondary, ";cursor:pointer;position:relative;user-select:none;&__hideIcon{padding:7px 10px 6px 10px;}&__focus_out,&__errorBorder.dateInputs__focus_out,&__focus_ret,&__errorBorder.dateInputs__focus_ret{border:1px solid ", theme.colors.secondary.light, ";border-bottom:1px solid ", theme.colors.surface.primary, ";background-color:", theme.colors.surface.primary, ";}&__nonfocus{background-color:", theme.colors.surface.secondary, ";}&__errorBorder.dateInputs__nonfocus{background-color:", theme.colors.surface.secondary, ";border-bottom:1px solid ", theme.colors.secondary.light, ";input{fill:", theme.colors.text.dark.disabled, ";}}&__container{display:relative;}&__errorBorder{border:1px solid ", theme.colors.status.alert, ";}&__label,&__input{cursor:pointer;font-weight:400;font-family:DFDS,Verdana,system-ui,Arial,'Helvetica Neue',Helvetica,sans-serif;&--disabled{color:", theme.colors.text.dark.disabled, ";}}&__disabled{z-index:4;pointer-events:none;border:1px solid ", theme.colors.text.dark.disabled, ";color:", theme.colors.text.dark.disabled, ";&--active{border-bottom:1px solid ", theme.colors.secondary.light, ";background-color:", theme.colors.surface.secondary, ";}svg{fill:", theme.colors.text.dark.disabled, ";color:", theme.colors.text.dark.disabled, ";}}input[disabled]{color:", theme.colors.text.dark.disabled, ";}&__label{font-weight:400;font-size:12px;display:block;white-space:nowrap;margin:0;}&__departureDate,&__startDate,&__endDate{background:", theme.colors.surface.primary, ";border:1px solid ", theme.colors.secondary.light, ";height:100%;padding:(10px / 2) 0 (10px / 2) (30px * 2);position:relative;vertical-align:top;width:50%;display:flex;flex-direction:column;&--active{border-bottom:none;}&--disabled{border-color:", theme.colors.surface.secondary, ";background:none;.dateInputs__cover{display:block;}}.dateRangePickerWrapper--active &{z-index:4;}}&__oneWay{border-top-left-radius:0px;border-bottom-left-radius:0px;.dateInputs__cover{background:rgba(255, 255, 255, 0.2);z-index:1;}.dateInputs__endDate--disabled{color:", theme.colors.text.dark.disabled, ";}}&__icon{height:36px;left:7px;position:absolute;top:7px;width:36px;.dateInputs__oneWay .dateInputs__endDate--disabled &{fill:", theme.colors.text.dark.disabled, ";}}&__input{background:none;border:none;display:block;font-size:14px;appearance:none;margin:0;padding:4px 0 0;pointer-events:none;width:100%;&:focus_out{font-size:16px;}&:focus_ret{font-size:16px;}}&__cover{display:none;width:calc(100% + 2px);height:calc(100% + 1px);position:absolute;top:-1px;left:-1px;background:rgba(0, 0, 0, 0.2);z-index:5;}}.dateInputs__oneWay{border-left-color:#fff;}.dateInputs__nonfocus.fromDate{border-right:none;}.dateInputs__focus_ret{border-left:1px solid ", theme.colors.secondary.light, ";}.dateInputs__nonfocus.endDate{border-left:1px solid ", theme.colors.secondary.light, ";}}@media only screen and (max-width: 64em){.DayPickerNavigation_button{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;}.dateRangePickerWrapper{&--active{height:100%;width:100%;position:fixed;z-index:99;left:0;top:0;background-color:", theme.colors.surface.secondary, ";.dateInputs{&__disabled{border:none;}&__focus_ret{background:white;border:none;border-top:1px solid ", theme.colors.secondary.light, ";border-left:1px solid ", theme.colors.secondary.light, ";}&__focus_out{background:white;border:none;border-top:1px solid ", theme.colors.secondary.light, ";border-right:1px solid ", theme.colors.secondary.light, ";}&__nonfocus{border:none;input{background:", theme.colors.surface.secondary, "!important;}}}}&__close{display:block;height:24px;position:absolute;right:20px;top:25px;width:24px;}h2{color:", theme.colors.text.dark.primary, ";margin-block-start:0.83em;margin-block-end:0.83em;margin-inline-start:0px;margin-inline-end:0px;padding-left:20px;font-weight:700;font-size:28px;}}}.dateRangePickerInfo__legend{width:25px;height:7px;background:", theme.colors.status.success, ";border-radius:2px;margin-bottom:2px;}.dateRangePickerInfo__info,.dateRangePickerInfo__legend{display:inline-block;}" + (process.env.NODE_ENV === "production" ? "" : ";label:DatePickerStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRlLXJhbmdlLXBpY2tlci9EYXRlUGlja2VyRGZkc1N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHNEIiLCJmaWxlIjoiLi4vLi4vc3JjL2RhdGUtcmFuZ2UtcGlja2VyL0RhdGVQaWNrZXJEZmRzU3R5bGVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnXG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gJ0BkZmRzLXVpL3RoZW1lJ1xuXG5jb25zdCBEYXRlUGlja2VyU3R5bGVzID0gY3NzYFxuICAvLyBJTlBVVFxuICBzdmcge1xuICAgIGNvbG9yOiAke3RoZW1lLmNvbG9ycy5zZWNvbmRhcnkubWFpbn07XG4gICAgZmlsbDogJHt0aGVtZS5jb2xvcnMuc2Vjb25kYXJ5Lm1haW59O1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NC4wNjNlbSkge1xuICAgIHN2Z1thcmlhLWxhYmVsPSdQcmV2aW91cyBNb250aCddIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgc3ZnW2FyaWEtbGFiZWw9J05leHQgTW9udGgnXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5EYXlQaWNrZXIge1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICB0YWJsZSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgdGFibGUgdGQge1xuICAgICAgbWluLXdpZHRoOiAwcHg7XG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICB9XG5cbiAgICAuY2hldnJvbl9sZWZ0IHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuXG4gICAgLmNoZXZyb25fZG93biB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG5cbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHdpZHRoOiA1MHB4O1xuXG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5jaGV2cm9uX2Rpc2FibGVkIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYzZW0pIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cblxuICAgICZfX25hdlByZXYge1xuICAgICAgJi0tZGlzYWJsZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3ZlcnRpY2FsU2Nyb2xsYWJsZSB7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIH1cblxuICAgICZfX3dpdGhCb3JkZXIge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5zZWNvbmRhcnkubGlnaHR9O1xuICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjRlbSkge1xuICAgICAgJl9fd2l0aEJvcmRlciB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLnNlY29uZGFyeS5saWdodH07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5EYXlQaWNrZXJLZXlib2FyZFNob3J0Y3V0c19zaG93X19ib3R0b21SaWdodCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5EYXlQaWNrZXJfd2Vla0hlYWRlciB7XG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cblxuICAgICZfX3ZlcnRpY2FsU2Nyb2xsYWJsZSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5DYWxlbmRhck1vbnRoR3JpZCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgfVxuICAuRGF5UGlja2VyX3RyYW5zaXRpb25Db250YWluZXJfX3ZlcnRpY2FsU2Nyb2xsYWJsZSB7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICBwYWRkaW5nLXRvcDogMjBweCAqIDI7XG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICB9XG5cbiAgLkNhbGVuZGFyTW9udGhHcmlkX192ZXJ0aWNhbF9zY3JvbGxhYmxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG5cbiAgLkRheVBpY2tlck5hdmlnYXRpb25fX3ZlcnRpY2FsRGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5zZWNvbmRhcnl9O1xuICAgIGhlaWdodDogMTQwcHg7XG4gIH1cblxuICAuRGF5UGlja2VyTmF2aWdhdGlvbl9idXR0b24ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG5cbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgbGVmdDogMjBweDtcbiAgICB9XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICByaWdodDogMjBweDtcbiAgICB9XG5cbiAgICAuc3ZnLWljb24ge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fdmVydGljYWxEZWZhdWx0IHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgfVxuICB9XG5cbiAgLkRheVBpY2tlck5hdmlnYXRpb25fc3ZnIHtcbiAgICAmX192ZXJ0aWNhbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgfVxuICB9XG5cbiAgLy8gQ0FMRU5EQVJNT05USFxuICAuQ2FsZW5kYXJNb250aF90YWJsZSB7XG4gICAgbWFyZ2luOiAxMHB4IDAgMTVweDtcbiAgfVxuXG4gIC5DYWxlbmRhck1vbnRoX2NhcHRpb24ge1xuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIENBTEVOREFSREFZXG4gIC5DYWxlbmRhckRheSB7XG4gICAgYm9yZGVyLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zZWNvbmRhcnkubGlnaHR9O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5tYWlufTtcbiAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAmX19oaWdobGlnaHRlZF9jYWxlbmRhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnByaW1hcnl9O1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogNTUlO1xuICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMuc3RhdHVzLnN1Y2Nlc3N9O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwcHggYXV0byAwIGF1dG87XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnNlY29uZGFyeX07XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5tYWlufTtcbiAgICB9XG5cbiAgICAmX19ibG9ja2VkX291dF9vZl9yYW5nZSxcbiAgICAmX19ibG9ja2VkX2NhbGVuZGFyLFxuICAgICZfX2Jsb2NrZWRfbWluaW11bV9uaWdodHMge1xuICAgICAgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5wcmltYXJ5fTtcbiAgICAgIGNvbG9yOiAke3RoZW1lLmNvbG9ycy50ZXh0LmRhcmsuZGlzYWJsZWR9O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnRleHQuZGFyay5kaXNhYmxlZH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VsZWN0ZWRfc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnNlY29uZGFyeX07XG4gICAgfVxuXG4gICAgJl9faG92ZXJlZF9zcGFuIHtcbiAgICAgIGJhY2tncm91bmQ6ICR7dGhlbWUuY29sb3JzLnN1cmZhY2Uuc2Vjb25kYXJ5fTtcbiAgICB9XG5cbiAgICAmX19zZWxlY3RlZCxcbiAgICAmX19zZWxlY3RlZF9zdGFydCxcbiAgICAmX19zZWxlY3RlZF9lbmQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5tYWlufTtcbiAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLnByaW1hcnkubWFpbn0gIWltcG9ydGFudDtcbiAgICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5wcmltYXJ5Lm1haW59O1xuICAgICAgICBiYWNrZ3JvdW5kOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnByaW1hcnl9O1xuICAgICAgfVxuICAgIH1cbiAgICAmX19zZWxlY3RlZF9zdGFydC5DYWxlbmRhckRheV9fYmxvY2tlZF9taW5pbXVtX25pZ2h0cyB7XG4gICAgICBjb2xvcjogJHt0aGVtZS5jb2xvcnMucHJpbWFyeS5tYWlufTtcbiAgICB9XG4gIH1cblxuICAuZGF0ZXBpY2tlcl9vcGVuIHtcbiAgICB6LWluZGV4OiA0O1xuICB9XG5cbiAgLmRhdGVwaWNrZXJfY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgICAuZGF0ZUlucHV0cyB7XG4gICAgICBwYWRkaW5nOiA3cHggMCA2cHggNTBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLnRleHQuZGFyay5zZWNvbmRhcnl9O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICZfX2hpZGVJY29uIHtcbiAgICAgICAgcGFkZGluZzogN3B4IDEwcHggNnB4IDEwcHg7XG4gICAgICB9XG5cbiAgICAgICZfX2ZvY3VzX291dCxcbiAgICAgICZfX2Vycm9yQm9yZGVyLmRhdGVJbnB1dHNfX2ZvY3VzX291dCxcbiAgICAgICZfX2ZvY3VzX3JldCxcbiAgICAgICZfX2Vycm9yQm9yZGVyLmRhdGVJbnB1dHNfX2ZvY3VzX3JldCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLnNlY29uZGFyeS5saWdodH07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnByaW1hcnl9O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnByaW1hcnl9O1xuICAgICAgfVxuXG4gICAgICAmX19ub25mb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7dGhlbWUuY29sb3JzLnN1cmZhY2Uuc2Vjb25kYXJ5fTtcbiAgICAgIH1cblxuICAgICAgJl9fZXJyb3JCb3JkZXIuZGF0ZUlucHV0c19fbm9uZm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnNlY29uZGFyeX07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5zZWNvbmRhcnkubGlnaHR9O1xuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICBmaWxsOiAke3RoZW1lLmNvbG9ycy50ZXh0LmRhcmsuZGlzYWJsZWR9O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gICAgICAgIGRpc3BsYXk6IHJlbGF0aXZlO1xuICAgICAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gICAgICB9XG5cbiAgICAgICZfX2Vycm9yQm9yZGVyIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMuc3RhdHVzLmFsZXJ0fTtcbiAgICAgIH1cblxuICAgICAgJl9fbGFiZWwsXG4gICAgICAmX19pbnB1dCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IERGRFMsIFZlcmRhbmEsIHN5c3RlbS11aSwgQXJpYWwsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgICAgJi0tZGlzYWJsZWQge1xuICAgICAgICAgIGNvbG9yOiAke3RoZW1lLmNvbG9ycy50ZXh0LmRhcmsuZGlzYWJsZWR9O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2Rpc2FibGVkIHtcbiAgICAgICAgei1pbmRleDogNDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLnRleHQuZGFyay5kaXNhYmxlZH07XG4gICAgICAgIGNvbG9yOiAke3RoZW1lLmNvbG9ycy50ZXh0LmRhcmsuZGlzYWJsZWR9O1xuXG4gICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLnNlY29uZGFyeS5saWdodH07XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5zZWNvbmRhcnl9O1xuICAgICAgICB9XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgZmlsbDogJHt0aGVtZS5jb2xvcnMudGV4dC5kYXJrLmRpc2FibGVkfTtcbiAgICAgICAgICBjb2xvcjogJHt0aGVtZS5jb2xvcnMudGV4dC5kYXJrLmRpc2FibGVkfTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpbnB1dFtkaXNhYmxlZF0ge1xuICAgICAgICBjb2xvcjogJHt0aGVtZS5jb2xvcnMudGV4dC5kYXJrLmRpc2FibGVkfTtcbiAgICAgIH1cblxuICAgICAgJl9fbGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgICZfX2RlcGFydHVyZURhdGUsXG4gICAgICAmX19zdGFydERhdGUsXG4gICAgICAmX19lbmREYXRlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvcnMuc3VyZmFjZS5wcmltYXJ5fTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMuc2Vjb25kYXJ5LmxpZ2h0fTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAgICAgICBwYWRkaW5nOiAoMTBweCAvIDIpIDAgKDEwcHggLyAyKSAoMzBweCAqIDIpO1xuICAgICAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kaXNhYmxlZCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnNlY29uZGFyeX07XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICAgIC5kYXRlSW5wdXRzX19jb3ZlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZGF0ZVJhbmdlUGlja2VyV3JhcHBlci0tYWN0aXZlICYge1xuICAgICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fb25lV2F5IHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7XG5cbiAgICAgICAgLmRhdGVJbnB1dHNfX2NvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kYXRlSW5wdXRzX19lbmREYXRlLS1kaXNhYmxlZCB7XG4gICAgICAgICAgY29sb3I6ICR7dGhlbWUuY29sb3JzLnRleHQuZGFyay5kaXNhYmxlZH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX2ljb24ge1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIGxlZnQ6IDdweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG5cbiAgICAgICAgLmRhdGVJbnB1dHNfX29uZVdheSAuZGF0ZUlucHV0c19fZW5kRGF0ZS0tZGlzYWJsZWQgJiB7XG4gICAgICAgICAgZmlsbDogJHt0aGVtZS5jb2xvcnMudGV4dC5kYXJrLmRpc2FibGVkfTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19pbnB1dCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiA0cHggMCAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJjpmb2N1c19vdXQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgLyogZGlzYWJsZXMgYXV0byB6b29tIG9uIGlvcyAqL1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1c19yZXQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgLyogZGlzYWJsZXMgYXV0byB6b29tIG9uIGlvcyAqL1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2NvdmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMXB4KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZGF0ZUlucHV0c19fb25lV2F5IHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgIC5kYXRlSW5wdXRzX19ub25mb2N1cy5mcm9tRGF0ZSB7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLmRhdGVJbnB1dHNfX2ZvY3VzX3JldCB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLnNlY29uZGFyeS5saWdodH07XG4gICAgfVxuXG4gICAgLmRhdGVJbnB1dHNfX25vbmZvY3VzLmVuZERhdGUge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5zZWNvbmRhcnkubGlnaHR9O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAgIC5EYXlQaWNrZXJOYXZpZ2F0aW9uX2J1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG5cbiAgICAuZGF0ZVJhbmdlUGlja2VyV3JhcHBlciB7XG4gICAgICAmLS1hY3RpdmUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7IC8qIFN0YXkgaW4gcGxhY2UgKi9cbiAgICAgICAgei1pbmRleDogOTk7IC8qIFNpdCBvbiB0b3AgKi9cbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3RoZW1lLmNvbG9ycy5zdXJmYWNlLnNlY29uZGFyeX07XG4gICAgICAgIC8vb3ZlcmZsb3cteDogaGlkZGVuOyAvKiBEaXNhYmxlIGhvcml6b250YWwgc2Nyb2xsICovXG5cbiAgICAgICAgLmRhdGVJbnB1dHMge1xuICAgICAgICAgICZfX2Rpc2FibGVkIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmX19mb2N1c19yZXQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMuc2Vjb25kYXJ5LmxpZ2h0fTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMuc2Vjb25kYXJ5LmxpZ2h0fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmX19mb2N1c19vdXQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHt0aGVtZS5jb2xvcnMuc2Vjb25kYXJ5LmxpZ2h0fTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR7dGhlbWUuY29sb3JzLnNlY29uZGFyeS5saWdodH07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJl9fbm9uZm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7dGhlbWUuY29sb3JzLnN1cmZhY2Uuc2Vjb25kYXJ5fSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2Nsb3NlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgdG9wOiAyNXB4O1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgIH1cblxuICAgICAgaDIge1xuICAgICAgICBjb2xvcjogJHt0aGVtZS5jb2xvcnMudGV4dC5kYXJrLnByaW1hcnl9O1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDAuODNlbTtcbiAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMC44M2VtO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwcHg7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5kYXRlUmFuZ2VQaWNrZXJJbmZvX19sZWdlbmQge1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogN3B4O1xuICAgIGJhY2tncm91bmQ6ICR7dGhlbWUuY29sb3JzLnN0YXR1cy5zdWNjZXNzfTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICB9XG4gIC5kYXRlUmFuZ2VQaWNrZXJJbmZvX19pbmZvLFxuICAuZGF0ZVJhbmdlUGlja2VySW5mb19fbGVnZW5kIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbmBcblxuZXhwb3J0IGRlZmF1bHQgRGF0ZVBpY2tlclN0eWxlc1xuIl19 */");
4
- export default DatePickerStyles;
@@ -1,33 +0,0 @@
1
- import React from 'react';
2
- import 'react-dates/initialize';
3
- interface IDateRangePickerProps {
4
- endDateDisabled?: boolean;
5
- valid: boolean;
6
- onDateChange: (d: string | null, r: string | null) => void;
7
- format?: string;
8
- infoLabel?: string;
9
- startDates: IDateLeg;
10
- endDates: IDateLeg;
11
- labels: IDateRangePickerLabels;
12
- onNextMonthClick?: () => void;
13
- onPrevMonthClick?: () => void;
14
- numberOfMobileMonths?: number;
15
- hideIcon?: boolean;
16
- className?: string;
17
- locale?: string;
18
- }
19
- interface IDateLeg {
20
- initial: string | null;
21
- maxDate: string;
22
- minDate: string;
23
- disabledDates?: string[];
24
- offerDates?: string[];
25
- }
26
- interface IDateRangePickerLabels {
27
- start: string;
28
- end: string;
29
- header: string;
30
- info?: string;
31
- }
32
- declare const DateRangePicker: React.FC<IDateRangePickerProps>;
33
- export default DateRangePicker;
@@ -1,310 +0,0 @@
1
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
2
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
5
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
6
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
7
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0) { ; } } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
8
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
- /* eslint-disable deprecation/deprecation */
10
- /* eslint-disable @typescript-eslint/restrict-plus-operands */
11
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
12
- import { DayPickerRangeController, DayPickerSingleDateController } from 'react-dates';
13
- import classNames from 'classnames';
14
- // eslint-disable-next-line import/no-extraneous-dependencies
15
- import moment from 'moment';
16
- import React, { useState, useRef, useEffect } from 'react';
17
- import 'react-dates/initialize';
18
- import { css } from '@emotion/react';
19
- import { Close, RightLink, LeftLink, CalendarOutbound, CalendarReturn } from '@dfds-ui/icons';
20
- import useMedia from '../common/use-media';
21
- import { miniMoize } from '../common/miniMoize';
22
- import DatePickerDefaultStyles from './DatePickerDefaultStyles';
23
- import DatePickerDfdsStyles from './DatePickerDfdsStyles';
24
- import LockBodyScroll from '../common/LockBodyScroll';
25
- import { jsx as ___EmotionJSX } from "@emotion/react";
26
- // Do a wrapper to support styled components: https://github.com/airbnb/react-dates/issues/1030#issuecomment-388227454
27
- var DateRangePicker = function DateRangePicker(props) {
28
- var _useState = useState(toMoment(props.startDates.initial)),
29
- _useState2 = _slicedToArray(_useState, 2),
30
- startDate = _useState2[0],
31
- setStartDate = _useState2[1];
32
- var _useState3 = useState(toMoment(props.endDates.initial)),
33
- _useState4 = _slicedToArray(_useState3, 2),
34
- endDate = _useState4[0],
35
- setEndDate = _useState4[1];
36
- var _useState5 = useState(false),
37
- _useState6 = _slicedToArray(_useState5, 2),
38
- showCalendar = _useState6[0],
39
- setShowCalendar = _useState6[1];
40
- var _useState7 = useState('startDate'),
41
- _useState8 = _slicedToArray(_useState7, 2),
42
- focusedInput = _useState8[0],
43
- setFocusedInput = _useState8[1];
44
- var _useMedia = useMedia(['(max-width: 64em)', '(min-width: 78.063em)'], [{
45
- numberOfMonths: props.numberOfMobileMonths || 12,
46
- mobileState: true,
47
- size: 40
48
- }, {
49
- numberOfMonths: 2,
50
- mobileState: false,
51
- size: 48
52
- }], {
53
- numberOfMonths: 1,
54
- mobileState: false,
55
- size: 48
56
- }),
57
- numberOfMonths = _useMedia.numberOfMonths,
58
- mobileState = _useMedia.mobileState,
59
- size = _useMedia.size;
60
- moment.locale(props.locale);
61
- moment().weekday(0);
62
- useEffect(function () {
63
- setStartDate(toMoment(props.startDates.initial));
64
- setEndDate(toMoment(props.endDates.initial));
65
- }, [props.startDates.initial, props.endDates.initial]);
66
- var closeExceptionDivOut = useRef(null);
67
- var closeExceptionImgOut = useRef(null);
68
- var startCalendarClicked = function startCalendarClicked() {
69
- setShowCalendar(function (prev) {
70
- return !prev;
71
- });
72
- setFocusedInput('startDate');
73
- };
74
- var endCalendarClicked = function endCalendarClicked() {
75
- setShowCalendar(function (prev) {
76
- return !prev;
77
- });
78
- setFocusedInput('endDate');
79
- };
80
- var onOutsideClick = function onOutsideClick(_ref) {
81
- var target = _ref.target;
82
- if (target === closeExceptionDivOut.current || target === closeExceptionImgOut.current) {
83
- return;
84
- }
85
- setShowCalendar(false);
86
- setFocusedInput('startDate');
87
- props.onDateChange(getKeyStr(startDate), getKeyStr(endDate));
88
- };
89
- var renderCalendarInfo = function renderCalendarInfo() {
90
- return props.infoLabel ? ___EmotionJSX("div", {
91
- className: "dateRangePickerInfo"
92
- }, ___EmotionJSX("span", {
93
- className: "dateRangePickerInfo__legend"
94
- }), ___EmotionJSX("p", {
95
- className: "dateRangePickerInfo__info"
96
- }, props.infoLabel)) : '';
97
- };
98
- var disabledDates = miniMoize(function (focusedInput, start, startDisabledDates, endDisabledDates) {
99
- return buildMap(focusedInput !== 'endDate' ? startDisabledDates : (startDisabledDates || []).filter(function (d) {
100
- return d < start;
101
- }).concat(endDisabledDates));
102
- });
103
- var _isDayBlocked = function isDayBlocked(date) {
104
- var startDateStr = getKeyStr(startDate);
105
- var disabled = disabledDates(focusedInput, startDateStr, props.startDates.disabledDates, props.endDates.disabledDates);
106
- var dateN = getKeyStr(date);
107
- if (!dateN) {
108
- return false;
109
- }
110
- var d = focusedInput !== 'endDate' ? props.startDates : props.endDates;
111
- var min = props.startDates.minDate;
112
- if (disabled[dateN]) {
113
- return true;
114
- }
115
- if (min && dateN && dateN < min) {
116
- return true;
117
- }
118
- if (d.maxDate && dateN && dateN > d.maxDate) {
119
- return true;
120
- }
121
- if (focusedInput === 'endDate' && startDateStr && startDateStr < dateN && dateN < props.endDates.minDate) {
122
- return true;
123
- }
124
- return false;
125
- };
126
- var offerDates = miniMoize(function (focusedInput, startOffers, endOffers) {
127
- return buildMap(focusedInput !== 'endDate' ? startOffers : endOffers);
128
- });
129
- var isOfferValid = function isOfferValid(date) {
130
- var map = offerDates(focusedInput, props.startDates.offerDates, props.endDates.offerDates);
131
- return map[getKeyStr(date)];
132
- };
133
- var minimumNights = function minimumNights() {
134
- var start = toMoment(props.startDates.initial);
135
- var end = toMoment(props.endDates.minDate);
136
- return end && start ? end.diff(start, 'days') : 0;
137
- };
138
- var initialMonth = function initialMonth() {
139
- return (mobileState ? toMoment(props.startDates.minDate) : startDate) || moment();
140
- };
141
- var sharedCustomProps = {
142
- hideKeyboardShortcutsPanel: true,
143
- navPrev: ___EmotionJSX(LeftLink, {
144
- "aria-label": "Previous Month"
145
- }),
146
- navNext: ___EmotionJSX(RightLink, {
147
- "aria-label": "Next Month"
148
- }),
149
- weekDayFormat: 'ddd',
150
- daySize: size,
151
- monthFormat: 'MMMM YYYY',
152
- dayAriaLabelFormat: 'YYYY-MM-DD',
153
- transitionDuration: 100,
154
- numberOfMonths: numberOfMonths,
155
- onOutsideClick: onOutsideClick,
156
- isDayBlocked: function isDayBlocked(d) {
157
- return _isDayBlocked(d);
158
- },
159
- isDayHighlighted: function isDayHighlighted(d) {
160
- return isOfferValid(d);
161
- },
162
- initialVisibleMonth: initialMonth,
163
- renderCalendarInfo: renderCalendarInfo
164
- };
165
- return ___EmotionJSX(LockBodyScroll, {
166
- enabled: mobileState && showCalendar
167
- }, ___EmotionJSX("div", {
168
- className: 'outer ' + props.className,
169
- css: /*#__PURE__*/css(DatePickerDefaultStyles, ";", DatePickerDfdsStyles, ";position:relative;" + (process.env.NODE_ENV === "production" ? "" : ";label:DateRangePicker;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRlLXJhbmdlLXBpY2tlci9EYXRlUmFuZ2VQaWNrZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1LZ0IiLCJmaWxlIjoiLi4vLi4vc3JjL2RhdGUtcmFuZ2UtcGlja2VyL0RhdGVSYW5nZVBpY2tlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBkZXByZWNhdGlvbi9kZXByZWNhdGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXBsdXMtb3BlcmFuZHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb24gKi9cbmltcG9ydCB7IERheVBpY2tlclJhbmdlQ29udHJvbGxlciwgRm9jdXNlZElucHV0U2hhcGUsIERheVBpY2tlclNpbmdsZURhdGVDb250cm9sbGVyIH0gZnJvbSAncmVhY3QtZGF0ZXMnXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJ1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuaW1wb3J0IG1vbWVudCwgeyBNb21lbnQgfSBmcm9tICdtb21lbnQnXG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZVJlZiwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgJ3JlYWN0LWRhdGVzL2luaXRpYWxpemUnXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCdcbmltcG9ydCB7IENsb3NlLCBSaWdodExpbmssIExlZnRMaW5rLCBDYWxlbmRhck91dGJvdW5kLCBDYWxlbmRhclJldHVybiB9IGZyb20gJ0BkZmRzLXVpL2ljb25zJ1xuaW1wb3J0IHVzZU1lZGlhIGZyb20gJy4uL2NvbW1vbi91c2UtbWVkaWEnXG5pbXBvcnQgeyBtaW5pTW9pemUgfSBmcm9tICcuLi9jb21tb24vbWluaU1vaXplJ1xuaW1wb3J0IERhdGVQaWNrZXJEZWZhdWx0U3R5bGVzIGZyb20gJy4vRGF0ZVBpY2tlckRlZmF1bHRTdHlsZXMnXG5pbXBvcnQgRGF0ZVBpY2tlckRmZHNTdHlsZXMgZnJvbSAnLi9EYXRlUGlja2VyRGZkc1N0eWxlcydcbmltcG9ydCBMb2NrQm9keVNjcm9sbCBmcm9tICcuLi9jb21tb24vTG9ja0JvZHlTY3JvbGwnXG5pbnRlcmZhY2UgSURhdGVSYW5nZVBpY2tlclByb3BzIHtcbiAgZW5kRGF0ZURpc2FibGVkPzogYm9vbGVhblxuICB2YWxpZDogYm9vbGVhblxuICBvbkRhdGVDaGFuZ2U6IChkOiBzdHJpbmcgfCBudWxsLCByOiBzdHJpbmcgfCBudWxsKSA9PiB2b2lkXG4gIGZvcm1hdD86IHN0cmluZ1xuICBpbmZvTGFiZWw/OiBzdHJpbmdcbiAgc3RhcnREYXRlczogSURhdGVMZWdcbiAgZW5kRGF0ZXM6IElEYXRlTGVnXG4gIGxhYmVsczogSURhdGVSYW5nZVBpY2tlckxhYmVsc1xuICBvbk5leHRNb250aENsaWNrPzogKCkgPT4gdm9pZFxuICBvblByZXZNb250aENsaWNrPzogKCkgPT4gdm9pZFxuICBudW1iZXJPZk1vYmlsZU1vbnRocz86IG51bWJlclxuICBoaWRlSWNvbj86IGJvb2xlYW5cbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGxvY2FsZT86IHN0cmluZ1xufVxuaW50ZXJmYWNlIElEYXRlTGVnIHtcbiAgaW5pdGlhbDogc3RyaW5nIHwgbnVsbFxuICBtYXhEYXRlOiBzdHJpbmdcbiAgbWluRGF0ZTogc3RyaW5nXG4gIGRpc2FibGVkRGF0ZXM/OiBzdHJpbmdbXVxuICBvZmZlckRhdGVzPzogc3RyaW5nW11cbn1cbmludGVyZmFjZSBJRGF0ZVJhbmdlUGlja2VyTGFiZWxzIHtcbiAgc3RhcnQ6IHN0cmluZ1xuICBlbmQ6IHN0cmluZ1xuICBoZWFkZXI6IHN0cmluZ1xuICBpbmZvPzogc3RyaW5nXG59XG4vLyBEbyBhIHdyYXBwZXIgdG8gc3VwcG9ydCBzdHlsZWQgY29tcG9uZW50czogaHR0cHM6Ly9naXRodWIuY29tL2FpcmJuYi9yZWFjdC1kYXRlcy9pc3N1ZXMvMTAzMCNpc3N1ZWNvbW1lbnQtMzg4MjI3NDU0XG5jb25zdCBEYXRlUmFuZ2VQaWNrZXI6IFJlYWN0LkZDPElEYXRlUmFuZ2VQaWNrZXJQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgW3N0YXJ0RGF0ZSwgc2V0U3RhcnREYXRlXSA9IHVzZVN0YXRlKHRvTW9tZW50KHByb3BzLnN0YXJ0RGF0ZXMuaW5pdGlhbCkpXG4gIGNvbnN0IFtlbmREYXRlLCBzZXRFbmREYXRlXSA9IHVzZVN0YXRlKHRvTW9tZW50KHByb3BzLmVuZERhdGVzLmluaXRpYWwpKVxuICBjb25zdCBbc2hvd0NhbGVuZGFyLCBzZXRTaG93Q2FsZW5kYXJdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtmb2N1c2VkSW5wdXQsIHNldEZvY3VzZWRJbnB1dF0gPSB1c2VTdGF0ZSgnc3RhcnREYXRlJyBhcyBGb2N1c2VkSW5wdXRTaGFwZSlcbiAgY29uc3QgeyBudW1iZXJPZk1vbnRocywgbW9iaWxlU3RhdGUsIHNpemUgfSA9IHVzZU1lZGlhKFxuICAgIFsnKG1heC13aWR0aDogNjRlbSknLCAnKG1pbi13aWR0aDogNzguMDYzZW0pJ10sXG4gICAgW1xuICAgICAgeyBudW1iZXJPZk1vbnRoczogcHJvcHMubnVtYmVyT2ZNb2JpbGVNb250aHMgfHwgMTIsIG1vYmlsZVN0YXRlOiB0cnVlLCBzaXplOiA0MCB9LFxuICAgICAgeyBudW1iZXJPZk1vbnRoczogMiwgbW9iaWxlU3RhdGU6IGZhbHNlLCBzaXplOiA0OCB9LFxuICAgIF0sXG4gICAgeyBudW1iZXJPZk1vbnRoczogMSwgbW9iaWxlU3RhdGU6IGZhbHNlLCBzaXplOiA0OCB9XG4gIClcblxuICBtb21lbnQubG9jYWxlKHByb3BzLmxvY2FsZSlcbiAgbW9tZW50KCkud2Vla2RheSgwKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0U3RhcnREYXRlKHRvTW9tZW50KHByb3BzLnN0YXJ0RGF0ZXMuaW5pdGlhbCkpXG4gICAgc2V0RW5kRGF0ZSh0b01vbWVudChwcm9wcy5lbmREYXRlcy5pbml0aWFsKSlcbiAgfSwgW3Byb3BzLnN0YXJ0RGF0ZXMuaW5pdGlhbCwgcHJvcHMuZW5kRGF0ZXMuaW5pdGlhbF0pXG4gIGNvbnN0IGNsb3NlRXhjZXB0aW9uRGl2T3V0ID0gdXNlUmVmKG51bGwpXG4gIGNvbnN0IGNsb3NlRXhjZXB0aW9uSW1nT3V0ID0gdXNlUmVmKG51bGwpXG4gIGNvbnN0IHN0YXJ0Q2FsZW5kYXJDbGlja2VkID0gKCkgPT4ge1xuICAgIHNldFNob3dDYWxlbmRhcigocHJldikgPT4gIXByZXYpXG4gICAgc2V0Rm9jdXNlZElucHV0KCdzdGFydERhdGUnKVxuICB9XG4gIGNvbnN0IGVuZENhbGVuZGFyQ2xpY2tlZCA9ICgpID0+IHtcbiAgICBzZXRTaG93Q2FsZW5kYXIoKHByZXYpID0+ICFwcmV2KVxuICAgIHNldEZvY3VzZWRJbnB1dCgnZW5kRGF0ZScpXG4gIH1cbiAgY29uc3Qgb25PdXRzaWRlQ2xpY2sgPSAoeyB0YXJnZXQgfTogYW55KSA9PiB7XG4gICAgaWYgKHRhcmdldCA9PT0gY2xvc2VFeGNlcHRpb25EaXZPdXQuY3VycmVudCB8fCB0YXJnZXQgPT09IGNsb3NlRXhjZXB0aW9uSW1nT3V0LmN1cnJlbnQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBzZXRTaG93Q2FsZW5kYXIoZmFsc2UpXG4gICAgc2V0Rm9jdXNlZElucHV0KCdzdGFydERhdGUnKVxuICAgIHByb3BzLm9uRGF0ZUNoYW5nZShnZXRLZXlTdHIoc3RhcnREYXRlKSwgZ2V0S2V5U3RyKGVuZERhdGUpKVxuICB9XG4gIGNvbnN0IHJlbmRlckNhbGVuZGFySW5mbyA9ICgpID0+XG4gICAgcHJvcHMuaW5mb0xhYmVsID8gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJkYXRlUmFuZ2VQaWNrZXJJbmZvXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImRhdGVSYW5nZVBpY2tlckluZm9fX2xlZ2VuZFwiIC8+XG4gICAgICAgIDxwIGNsYXNzTmFtZT1cImRhdGVSYW5nZVBpY2tlckluZm9fX2luZm9cIj57cHJvcHMuaW5mb0xhYmVsfTwvcD5cbiAgICAgIDwvZGl2PlxuICAgICkgOiAoXG4gICAgICAnJ1xuICAgIClcbiAgY29uc3QgZGlzYWJsZWREYXRlcyA9IG1pbmlNb2l6ZShcbiAgICAoZm9jdXNlZElucHV0OiBzdHJpbmcsIHN0YXJ0OiBzdHJpbmcsIHN0YXJ0RGlzYWJsZWREYXRlczogc3RyaW5nW10sIGVuZERpc2FibGVkRGF0ZXM6IHN0cmluZ1tdKSA9PlxuICAgICAgYnVpbGRNYXAoXG4gICAgICAgIGZvY3VzZWRJbnB1dCAhPT0gJ2VuZERhdGUnXG4gICAgICAgICAgPyBzdGFydERpc2FibGVkRGF0ZXNcbiAgICAgICAgICA6IChzdGFydERpc2FibGVkRGF0ZXMgfHwgW10pLmZpbHRlcigoZCkgPT4gZCA8IHN0YXJ0KS5jb25jYXQoZW5kRGlzYWJsZWREYXRlcylcbiAgICAgIClcbiAgKVxuICBjb25zdCBpc0RheUJsb2NrZWQgPSAoZGF0ZTogTW9tZW50KSA9PiB7XG4gICAgY29uc3Qgc3RhcnREYXRlU3RyID0gZ2V0S2V5U3RyKHN0YXJ0RGF0ZSlcbiAgICBjb25zdCBkaXNhYmxlZCA9IGRpc2FibGVkRGF0ZXMoXG4gICAgICBmb2N1c2VkSW5wdXQsXG4gICAgICBzdGFydERhdGVTdHIsXG4gICAgICBwcm9wcy5zdGFydERhdGVzLmRpc2FibGVkRGF0ZXMsXG4gICAgICBwcm9wcy5lbmREYXRlcy5kaXNhYmxlZERhdGVzXG4gICAgKVxuICAgIGNvbnN0IGRhdGVOID0gZ2V0S2V5U3RyKGRhdGUpXG4gICAgaWYgKCFkYXRlTikge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIGNvbnN0IGQgPSBmb2N1c2VkSW5wdXQgIT09ICdlbmREYXRlJyA/IHByb3BzLnN0YXJ0RGF0ZXMgOiBwcm9wcy5lbmREYXRlc1xuICAgIGNvbnN0IG1pbiA9IHByb3BzLnN0YXJ0RGF0ZXMubWluRGF0ZVxuICAgIGlmIChkaXNhYmxlZFtkYXRlTl0pIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIGlmIChtaW4gJiYgZGF0ZU4gJiYgZGF0ZU4gPCBtaW4pIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIGlmIChkLm1heERhdGUgJiYgZGF0ZU4gJiYgZGF0ZU4gPiBkLm1heERhdGUpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIGlmIChmb2N1c2VkSW5wdXQgPT09ICdlbmREYXRlJyAmJiBzdGFydERhdGVTdHIgJiYgc3RhcnREYXRlU3RyIDwgZGF0ZU4gJiYgZGF0ZU4gPCBwcm9wcy5lbmREYXRlcy5taW5EYXRlKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBjb25zdCBvZmZlckRhdGVzID0gbWluaU1vaXplKChmb2N1c2VkSW5wdXQ6IHN0cmluZywgc3RhcnRPZmZlcnM6IHN0cmluZ1tdLCBlbmRPZmZlcnM6IHN0cmluZ1tdKSA9PlxuICAgIGJ1aWxkTWFwKGZvY3VzZWRJbnB1dCAhPT0gJ2VuZERhdGUnID8gc3RhcnRPZmZlcnMgOiBlbmRPZmZlcnMpXG4gIClcbiAgY29uc3QgaXNPZmZlclZhbGlkID0gKGRhdGU6IE1vbWVudCkgPT4ge1xuICAgIGNvbnN0IG1hcCA9IG9mZmVyRGF0ZXMoZm9jdXNlZElucHV0LCBwcm9wcy5zdGFydERhdGVzLm9mZmVyRGF0ZXMsIHByb3BzLmVuZERhdGVzLm9mZmVyRGF0ZXMpXG4gICAgcmV0dXJuIG1hcFtnZXRLZXlTdHIoZGF0ZSkhXVxuICB9XG4gIGNvbnN0IG1pbmltdW1OaWdodHMgPSAoKSA9PiB7XG4gICAgY29uc3Qgc3RhcnQgPSB0b01vbWVudChwcm9wcy5zdGFydERhdGVzLmluaXRpYWwpXG4gICAgY29uc3QgZW5kID0gdG9Nb21lbnQocHJvcHMuZW5kRGF0ZXMubWluRGF0ZSlcbiAgICByZXR1cm4gZW5kICYmIHN0YXJ0ID8gZW5kLmRpZmYoc3RhcnQsICdkYXlzJykgOiAwXG4gIH1cbiAgY29uc3QgaW5pdGlhbE1vbnRoID0gKCkgPT4gKG1vYmlsZVN0YXRlID8gdG9Nb21lbnQocHJvcHMuc3RhcnREYXRlcy5taW5EYXRlKSA6IHN0YXJ0RGF0ZSkgfHwgbW9tZW50KClcbiAgY29uc3Qgc2hhcmVkQ3VzdG9tUHJvcHMgPSB7XG4gICAgaGlkZUtleWJvYXJkU2hvcnRjdXRzUGFuZWw6IHRydWUsXG4gICAgbmF2UHJldjogPExlZnRMaW5rIGFyaWEtbGFiZWw9XCJQcmV2aW91cyBNb250aFwiIC8+LFxuICAgIG5hdk5leHQ6IDxSaWdodExpbmsgYXJpYS1sYWJlbD1cIk5leHQgTW9udGhcIiAvPixcbiAgICB3ZWVrRGF5Rm9ybWF0OiAnZGRkJyxcbiAgICBkYXlTaXplOiBzaXplLFxuICAgIG1vbnRoRm9ybWF0OiAnTU1NTSBZWVlZJyxcbiAgICBkYXlBcmlhTGFiZWxGb3JtYXQ6ICdZWVlZLU1NLUREJyxcbiAgICB0cmFuc2l0aW9uRHVyYXRpb246IDEwMCxcbiAgICBudW1iZXJPZk1vbnRocyxcbiAgICBvbk91dHNpZGVDbGljayxcbiAgICBpc0RheUJsb2NrZWQ6IChkOiBNb21lbnQpID0+IGlzRGF5QmxvY2tlZChkKSxcbiAgICBpc0RheUhpZ2hsaWdodGVkOiAoZDogTW9tZW50KSA9PiBpc09mZmVyVmFsaWQoZCksXG4gICAgaW5pdGlhbFZpc2libGVNb250aDogaW5pdGlhbE1vbnRoLFxuICAgIHJlbmRlckNhbGVuZGFySW5mbyxcbiAgfVxuICByZXR1cm4gKFxuICAgIDxMb2NrQm9keVNjcm9sbCBlbmFibGVkPXttb2JpbGVTdGF0ZSAmJiBzaG93Q2FsZW5kYXJ9PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9eydvdXRlciAnICsgcHJvcHMuY2xhc3NOYW1lfVxuICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAke0RhdGVQaWNrZXJEZWZhdWx0U3R5bGVzfTtcbiAgICAgICAgICAke0RhdGVQaWNrZXJEZmRzU3R5bGVzfTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGB9XG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCdkYXRlUmFuZ2VQaWNrZXJXcmFwcGVyJywgeyAnZGF0ZVJhbmdlUGlja2VyV3JhcHBlci0tYWN0aXZlJzogc2hvd0NhbGVuZGFyIH0pfT5cbiAgICAgICAgICB7bW9iaWxlU3RhdGUgJiYgc2hvd0NhbGVuZGFyICYmIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJkYXRlUmFuZ2VQaWNrZXJXcmFwcGVyX190aXRsZVwiPntwcm9wcy5sYWJlbHMuaGVhZGVyfTwvaDI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImRhdGVSYW5nZVBpY2tlcldyYXBwZXJfX2Nsb3NlXCIgb25DbGljaz17KCkgPT4gc2V0U2hvd0NhbGVuZGFyKGZhbHNlKX0+XG4gICAgICAgICAgICAgICAgPENsb3NlIC8+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKHtcbiAgICAgICAgICAgICAgZGF0ZXBpY2tlcl9jb250YWluZXI6IHRydWUsXG4gICAgICAgICAgICAgIGRhdGVwaWNrZXJfb3Blbjogc2hvd0NhbGVuZGFyLFxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoe1xuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHM6IHRydWUsXG4gICAgICAgICAgICAgICAgZGF0ZUlucHV0c19fZXJyb3JCb3JkZXI6ICFwcm9wcy52YWxpZCAmJiAhc2hvd0NhbGVuZGFyLFxuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHNfX2ZvY3VzX291dDogZm9jdXNlZElucHV0ID09PSAnc3RhcnREYXRlJyAmJiBzaG93Q2FsZW5kYXIsXG4gICAgICAgICAgICAgICAgZGF0ZUlucHV0c19fbm9uZm9jdXM6IGZvY3VzZWRJbnB1dCA9PT0gJ2VuZERhdGUnICYmIHNob3dDYWxlbmRhcixcbiAgICAgICAgICAgICAgICBmcm9tRGF0ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkYXRlSW5wdXRzX19oaWRlSWNvbjogcHJvcHMuaGlkZUljb24sXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtzdGFydENhbGVuZGFyQ2xpY2tlZH1cbiAgICAgICAgICAgICAgcmVmPXtjbG9zZUV4Y2VwdGlvbkRpdk91dH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cImRhdGVJbnB1dHNfX2xhYmVsXCI+e3Byb3BzLmxhYmVscy5zdGFydH08L2xhYmVsPlxuICAgICAgICAgICAgICB7IXByb3BzLmhpZGVJY29uICYmIDxDYWxlbmRhck91dGJvdW5kIGNsYXNzTmFtZT1cImRhdGVJbnB1dHNfX2ljb25cIiByZWY9e2Nsb3NlRXhjZXB0aW9uSW1nT3V0fSAvPn1cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZGF0ZUlucHV0c19faW5wdXRcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBuYW1lPVwiZnJvbURhdGVcIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtzdGFydERhdGUgPyBzdGFydERhdGUuZm9ybWF0KCdkZGQgREQvTU0nKSA6ICcnfVxuICAgICAgICAgICAgICAgIHJlYWRPbmx5XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoe1xuICAgICAgICAgICAgICBkYXRlcGlja2VyX2NvbnRhaW5lcjogdHJ1ZSxcbiAgICAgICAgICAgICAgZGF0ZXBpY2tlcl9vcGVuOiBzaG93Q2FsZW5kYXIsXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyh7XG4gICAgICAgICAgICAgICAgZGF0ZUlucHV0czogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkYXRlSW5wdXRzX19vbmVXYXk6IHRydWUsXG4gICAgICAgICAgICAgICAgZGF0ZUlucHV0c19fZGlzYWJsZWQ6IHByb3BzLmVuZERhdGVEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAnZGF0ZUlucHV0c19fZGlzYWJsZWQtLWFjdGl2ZSc6IHNob3dDYWxlbmRhciAmJiBwcm9wcy5lbmREYXRlRGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgZGF0ZUlucHV0c19fZXJyb3JCb3JkZXI6ICFwcm9wcy52YWxpZCAmJiAhc2hvd0NhbGVuZGFyLFxuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHNfX25vbmZvY3VzOiBmb2N1c2VkSW5wdXQgPT09ICdzdGFydERhdGUnICYmIHNob3dDYWxlbmRhciAmJiAhcHJvcHMuZW5kRGF0ZURpc2FibGVkLFxuICAgICAgICAgICAgICAgIGRhdGVJbnB1dHNfX2ZvY3VzX3JldDogZm9jdXNlZElucHV0ID09PSAnZW5kRGF0ZScgJiYgc2hvd0NhbGVuZGFyLFxuICAgICAgICAgICAgICAgIGVuZERhdGU6IHRydWUsXG4gICAgICAgICAgICAgICAgZGF0ZUlucHV0c19faGlkZUljb246IHByb3BzLmhpZGVJY29uLFxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgb25DbGljaz17ZW5kQ2FsZW5kYXJDbGlja2VkfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwiZGF0ZUlucHV0c19fbGFiZWxcIj57cHJvcHMubGFiZWxzLmVuZH08L2xhYmVsPlxuICAgICAgICAgICAgICB7IXByb3BzLmhpZGVJY29uICYmIDxDYWxlbmRhclJldHVybiBjbGFzc05hbWU9XCJkYXRlSW5wdXRzX19pY29uXCIgLz59XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImRhdGVJbnB1dHNfX2lucHV0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgbmFtZT1cInRvRGF0ZVwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e2VuZERhdGUgPyBlbmREYXRlLmZvcm1hdCgnZGRkIEREL01NJykgOiAnJ31cbiAgICAgICAgICAgICAgICByZWFkT25seVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtwcm9wcy5lbmREYXRlRGlzYWJsZWR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB7c2hvd0NhbGVuZGFyICYmICFwcm9wcy5lbmREYXRlRGlzYWJsZWQgJiYgKFxuICAgICAgICAgICAgPERheVBpY2tlclJhbmdlQ29udHJvbGxlclxuICAgICAgICAgICAgICBvbk5leHRNb250aENsaWNrPXtwcm9wcy5vbk5leHRNb250aENsaWNrfVxuICAgICAgICAgICAgICBvblByZXZNb250aENsaWNrPXtwcm9wcy5vblByZXZNb250aENsaWNrfVxuICAgICAgICAgICAgICAvLyBSZXF1aXJlZCBwcm9wc1xuICAgICAgICAgICAgICBvbkRhdGVzQ2hhbmdlPXsoeyBzdGFydERhdGUsIGVuZERhdGUgfSkgPT4ge1xuICAgICAgICAgICAgICAgIHNldFN0YXJ0RGF0ZShzdGFydERhdGUpXG4gICAgICAgICAgICAgICAgc2V0RW5kRGF0ZShlbmREYXRlKVxuICAgICAgICAgICAgICAgIHByb3BzLm9uRGF0ZUNoYW5nZShnZXRLZXlTdHIoc3RhcnREYXRlKSwgZ2V0S2V5U3RyKGVuZERhdGUpKVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBmb2N1c2VkSW5wdXQ9e2ZvY3VzZWRJbnB1dH1cbiAgICAgICAgICAgICAgc3RhcnREYXRlPXtzdGFydERhdGV9XG4gICAgICAgICAgICAgIGVuZERhdGU9e2VuZERhdGV9XG4gICAgICAgICAgICAgIG9uRm9jdXNDaGFuZ2U9eyhmb2N1c2VkSW5wdXQ6IEZvY3VzZWRJbnB1dFNoYXBlIHwgbnVsbCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldEZvY3VzZWRJbnB1dChmb2N1c2VkSW5wdXQgfHwgJ3N0YXJ0RGF0ZScpXG4gICAgICAgICAgICAgICAgc2V0U2hvd0NhbGVuZGFyKCEhZm9jdXNlZElucHV0KVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAvLyBXZSB1c2UgcGhyYXNlcyB0byBkaXNhYmxlIGV4dHJhIHN0dWZmIGZyb20gYXJpYS1sYWJlbFxuICAgICAgICAgICAgICBwaHJhc2VzPXtcbiAgICAgICAgICAgICAgICB7IGNob29zZUF2YWlsYWJsZVN0YXJ0RGF0ZTogKGE6IGFueSkgPT4gYS5kYXRlLCBjaG9vc2VBdmFpbGFibGVFbmREYXRlOiAoYTogYW55KSA9PiBhLmRhdGUgfSBhcyBhbnlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBtaW5pbXVtTmlnaHRzPXttaW5pbXVtTmlnaHRzKCl9XG4gICAgICAgICAgICAgIG9yaWVudGF0aW9uPXttb2JpbGVTdGF0ZSA/ICd2ZXJ0aWNhbFNjcm9sbGFibGUnIDogJ2hvcml6b250YWwnfVxuICAgICAgICAgICAgICB7Li4uc2hhcmVkQ3VzdG9tUHJvcHN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAge3Nob3dDYWxlbmRhciAmJiBwcm9wcy5lbmREYXRlRGlzYWJsZWQgJiYgKFxuICAgICAgICAgICAgPERheVBpY2tlclNpbmdsZURhdGVDb250cm9sbGVyXG4gICAgICAgICAgICAgIC8vIFJlcXVpcmVkIHByb3BzXG4gICAgICAgICAgICAgIG9uRGF0ZUNoYW5nZT17KGRhdGUpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRTdGFydERhdGUoZGF0ZSlcbiAgICAgICAgICAgICAgICBzZXRFbmREYXRlKGRhdGUpXG4gICAgICAgICAgICAgICAgcHJvcHMub25EYXRlQ2hhbmdlKGdldEtleVN0cihkYXRlKSwgbnVsbClcbiAgICAgICAgICAgICAgICBzZXRTaG93Q2FsZW5kYXIoZmFsc2UpXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIG9uRm9jdXNDaGFuZ2U9eygpID0+IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgZm9jdXNlZFxuICAgICAgICAgICAgICBkYXRlPXtzdGFydERhdGV9XG4gICAgICAgICAgICAgIG9yaWVudGF0aW9uPXttb2JpbGVTdGF0ZSA/ICd2ZXJ0aWNhbFNjcm9sbGFibGUnIDogJ2hvcml6b250YWwnfVxuICAgICAgICAgICAgICB7Li4uc2hhcmVkQ3VzdG9tUHJvcHN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9Mb2NrQm9keVNjcm9sbD5cbiAgKVxufVxuZnVuY3Rpb24gZ2V0S2V5U3RyKG06IE1vbWVudCB8IG51bGwpOiBzdHJpbmcgfCBudWxsIHtcbiAgcmV0dXJuIG0gJiYgbS5mb3JtYXQoJ1lZWVktTU0tREQnKVxufVxuZnVuY3Rpb24gdG9Nb21lbnQobjogc3RyaW5nIHwgbnVsbCk6IE1vbWVudCB8IG51bGwge1xuICByZXR1cm4gbiA/IG1vbWVudChuLCAnWVlZWS1NTS1ERCcpIDogbnVsbFxufVxuZnVuY3Rpb24gYnVpbGRNYXAoZGF0ZXM6IHN0cmluZ1tdKSB7XG4gIGNvbnN0IG1hcDogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSA9IHt9XG4gIGlmICghZGF0ZXMpIHtcbiAgICByZXR1cm4gbWFwXG4gIH1cbiAgZm9yIChjb25zdCBkIG9mIGRhdGVzKSB7XG4gICAgbWFwW2RdID0gMVxuICB9XG4gIHJldHVybiBtYXBcbn1cbmV4cG9ydCBkZWZhdWx0IERhdGVSYW5nZVBpY2tlclxuIl19 */")
170
- }, ___EmotionJSX("div", {
171
- className: classNames('dateRangePickerWrapper', {
172
- 'dateRangePickerWrapper--active': showCalendar
173
- })
174
- }, mobileState && showCalendar && ___EmotionJSX(React.Fragment, null, ___EmotionJSX("h2", {
175
- className: "dateRangePickerWrapper__title"
176
- }, props.labels.header), ___EmotionJSX("span", {
177
- className: "dateRangePickerWrapper__close",
178
- onClick: function onClick() {
179
- return setShowCalendar(false);
180
- }
181
- }, ___EmotionJSX(Close, null))), ___EmotionJSX("div", {
182
- className: classNames({
183
- datepicker_container: true,
184
- datepicker_open: showCalendar
185
- })
186
- }, ___EmotionJSX("div", {
187
- className: classNames({
188
- dateInputs: true,
189
- dateInputs__errorBorder: !props.valid && !showCalendar,
190
- dateInputs__focus_out: focusedInput === 'startDate' && showCalendar,
191
- dateInputs__nonfocus: focusedInput === 'endDate' && showCalendar,
192
- fromDate: true,
193
- dateInputs__hideIcon: props.hideIcon
194
- }),
195
- onClick: startCalendarClicked,
196
- ref: closeExceptionDivOut
197
- }, ___EmotionJSX("label", {
198
- className: "dateInputs__label"
199
- }, props.labels.start), !props.hideIcon && ___EmotionJSX(CalendarOutbound, {
200
- className: "dateInputs__icon",
201
- ref: closeExceptionImgOut
202
- }), ___EmotionJSX("input", {
203
- className: "dateInputs__input",
204
- type: "text",
205
- name: "fromDate",
206
- value: startDate ? startDate.format('ddd DD/MM') : '',
207
- readOnly: true
208
- }))), ___EmotionJSX("div", {
209
- className: classNames({
210
- datepicker_container: true,
211
- datepicker_open: showCalendar
212
- })
213
- }, ___EmotionJSX("div", {
214
- className: classNames({
215
- dateInputs: true,
216
- dateInputs__oneWay: true,
217
- dateInputs__disabled: props.endDateDisabled,
218
- 'dateInputs__disabled--active': showCalendar && props.endDateDisabled,
219
- dateInputs__errorBorder: !props.valid && !showCalendar,
220
- dateInputs__nonfocus: focusedInput === 'startDate' && showCalendar && !props.endDateDisabled,
221
- dateInputs__focus_ret: focusedInput === 'endDate' && showCalendar,
222
- endDate: true,
223
- dateInputs__hideIcon: props.hideIcon
224
- }),
225
- onClick: endCalendarClicked
226
- }, ___EmotionJSX("label", {
227
- className: "dateInputs__label"
228
- }, props.labels.end), !props.hideIcon && ___EmotionJSX(CalendarReturn, {
229
- className: "dateInputs__icon"
230
- }), ___EmotionJSX("input", {
231
- className: "dateInputs__input",
232
- type: "text",
233
- name: "toDate",
234
- value: endDate ? endDate.format('ddd DD/MM') : '',
235
- readOnly: true,
236
- disabled: props.endDateDisabled
237
- }))), showCalendar && !props.endDateDisabled && ___EmotionJSX(DayPickerRangeController, _extends({
238
- onNextMonthClick: props.onNextMonthClick,
239
- onPrevMonthClick: props.onPrevMonthClick
240
- // Required props
241
- ,
242
- onDatesChange: function onDatesChange(_ref2) {
243
- var startDate = _ref2.startDate,
244
- endDate = _ref2.endDate;
245
- setStartDate(startDate);
246
- setEndDate(endDate);
247
- props.onDateChange(getKeyStr(startDate), getKeyStr(endDate));
248
- },
249
- focusedInput: focusedInput,
250
- startDate: startDate,
251
- endDate: endDate,
252
- onFocusChange: function onFocusChange(focusedInput) {
253
- setFocusedInput(focusedInput || 'startDate');
254
- setShowCalendar(!!focusedInput);
255
- }
256
- // We use phrases to disable extra stuff from aria-label
257
- ,
258
- phrases: {
259
- chooseAvailableStartDate: function chooseAvailableStartDate(a) {
260
- return a.date;
261
- },
262
- chooseAvailableEndDate: function chooseAvailableEndDate(a) {
263
- return a.date;
264
- }
265
- },
266
- minimumNights: minimumNights(),
267
- orientation: mobileState ? 'verticalScrollable' : 'horizontal'
268
- }, sharedCustomProps)), showCalendar && props.endDateDisabled && ___EmotionJSX(DayPickerSingleDateController
269
- // Required props
270
- , _extends({
271
- onDateChange: function onDateChange(date) {
272
- setStartDate(date);
273
- setEndDate(date);
274
- props.onDateChange(getKeyStr(date), null);
275
- setShowCalendar(false);
276
- },
277
- onFocusChange: function onFocusChange() {
278
- return undefined;
279
- },
280
- focused: true,
281
- date: startDate,
282
- orientation: mobileState ? 'verticalScrollable' : 'horizontal'
283
- }, sharedCustomProps)))));
284
- };
285
- function getKeyStr(m) {
286
- return m && m.format('YYYY-MM-DD');
287
- }
288
- function toMoment(n) {
289
- return n ? moment(n, 'YYYY-MM-DD') : null;
290
- }
291
- function buildMap(dates) {
292
- var map = {};
293
- if (!dates) {
294
- return map;
295
- }
296
- var _iterator = _createForOfIteratorHelper(dates),
297
- _step;
298
- try {
299
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
300
- var _d = _step.value;
301
- map[_d] = 1;
302
- }
303
- } catch (err) {
304
- _iterator.e(err);
305
- } finally {
306
- _iterator.f();
307
- }
308
- return map;
309
- }
310
- export default DateRangePicker;
@@ -1 +0,0 @@
1
- export { default as DateRangePicker } from './DateRangePicker';
@@ -1 +0,0 @@
1
- export { default as DateRangePicker } from './DateRangePicker';