@blateral/b.kit 2.3.0-beta.1.3 → 2.3.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 (753) hide show
  1. package/lib/components/base/icons/Icons.d.ts +66 -0
  2. package/lib/components/base/icons/Icons.d.ts.map +1 -0
  3. package/{types → lib}/components/fields/FilterField.d.ts.map +1 -1
  4. package/lib/components/sections/NumberList.d.ts +36 -0
  5. package/lib/components/sections/NumberList.d.ts.map +1 -0
  6. package/{types → lib}/components/sections/header/Header.d.ts +3 -3
  7. package/lib/components/sections/header/Header.d.ts.map +1 -0
  8. package/lib/components/sections/navigation/menu/variations/MenuFlyout.d.ts.map +1 -0
  9. package/lib/components/sections/navigation/menu/variations/MenuLarge.d.ts.map +1 -0
  10. package/{types → lib}/components/typography/Callout.d.ts +2 -2
  11. package/lib/components/typography/Callout.d.ts.map +1 -0
  12. package/lib/index.d.ts +158 -0
  13. package/lib/index.d.ts.map +1 -0
  14. package/lib/index.es.js +2 -0
  15. package/lib/index.es.js.map +1 -0
  16. package/lib/index.js +2 -0
  17. package/lib/index.js.map +1 -0
  18. package/{types → lib}/utils/styles.d.ts +8 -1
  19. package/lib/utils/styles.d.ts.map +1 -0
  20. package/{types → lib}/utils/useEqualSheetHeight.d.ts +9 -2
  21. package/lib/utils/useEqualSheetHeight.d.ts.map +1 -0
  22. package/{types → lib}/utils/useMediaQuery.d.ts +4 -0
  23. package/{types → lib}/utils/useMediaQuery.d.ts.map +1 -1
  24. package/package.json +5 -19
  25. package/base/package.json +0 -7
  26. package/blocks/package.json +0 -7
  27. package/buttons/package.json +0 -7
  28. package/cjs/Actions-6dd616e0.js +0 -2
  29. package/cjs/Actions-6dd616e0.js.map +0 -1
  30. package/cjs/Bdot-d898ba3b.js +0 -2
  31. package/cjs/Bdot-d898ba3b.js.map +0 -1
  32. package/cjs/Button-72747f63.js +0 -2
  33. package/cjs/Button-72747f63.js.map +0 -1
  34. package/cjs/ButtonGhost-046437c5.js +0 -2
  35. package/cjs/ButtonGhost-046437c5.js.map +0 -1
  36. package/cjs/Callout-2713f870.js +0 -2
  37. package/cjs/Callout-2713f870.js.map +0 -1
  38. package/cjs/Checkbox-14000bf0.js +0 -2
  39. package/cjs/Checkbox-14000bf0.js.map +0 -1
  40. package/cjs/ClockFilled-2483aa4a.js +0 -2
  41. package/cjs/ClockFilled-2483aa4a.js.map +0 -1
  42. package/cjs/Control-eead1a4c.js +0 -2
  43. package/cjs/Control-eead1a4c.js.map +0 -1
  44. package/cjs/Copy-e860efe7.js +0 -2
  45. package/cjs/Copy-e860efe7.js.map +0 -1
  46. package/cjs/FilterField-497e998f.js +0 -2
  47. package/cjs/FilterField-497e998f.js.map +0 -1
  48. package/cjs/Image-d9681be0.js +0 -2
  49. package/cjs/Image-d9681be0.js.map +0 -1
  50. package/cjs/LanguageSwitcher-47e25e95.js +0 -2
  51. package/cjs/LanguageSwitcher-47e25e95.js.map +0 -1
  52. package/cjs/LibThemeProvider-fb99fd6d.js +0 -2
  53. package/cjs/LibThemeProvider-fb99fd6d.js.map +0 -1
  54. package/cjs/Link-70143bb7.js +0 -2
  55. package/cjs/Link-70143bb7.js.map +0 -1
  56. package/cjs/Navigation-3f5d6088.js +0 -2
  57. package/cjs/Navigation-3f5d6088.js.map +0 -1
  58. package/cjs/POICard-9911980e.js +0 -2
  59. package/cjs/POICard-9911980e.js.map +0 -1
  60. package/cjs/Pointer-3588eadf.js +0 -2
  61. package/cjs/Pointer-3588eadf.js.map +0 -1
  62. package/cjs/SocialList-da77e994.js +0 -2
  63. package/cjs/SocialList-da77e994.js.map +0 -1
  64. package/cjs/TableBlock-080c9c2e.js +0 -2
  65. package/cjs/TableBlock-080c9c2e.js.map +0 -1
  66. package/cjs/VideoCard-1fa209fc.js +0 -2
  67. package/cjs/VideoCard-1fa209fc.js.map +0 -1
  68. package/cjs/Wrapper-3b9c9e89.js +0 -2
  69. package/cjs/Wrapper-3b9c9e89.js.map +0 -1
  70. package/cjs/arrays-c272ed59.js +0 -2
  71. package/cjs/arrays-c272ed59.js.map +0 -1
  72. package/cjs/base.js +0 -2
  73. package/cjs/base.js.map +0 -1
  74. package/cjs/blocks.js +0 -2
  75. package/cjs/blocks.js.map +0 -1
  76. package/cjs/buttons.js +0 -2
  77. package/cjs/buttons.js.map +0 -1
  78. package/cjs/clamp-bd21d587.js +0 -2
  79. package/cjs/clamp-bd21d587.js.map +0 -1
  80. package/cjs/concat-f387d848.js +0 -2
  81. package/cjs/concat-f387d848.js.map +0 -1
  82. package/cjs/cookies.js +0 -2
  83. package/cjs/cookies.js.map +0 -1
  84. package/cjs/fields.js +0 -2
  85. package/cjs/fields.js.map +0 -1
  86. package/cjs/footer.js +0 -2
  87. package/cjs/footer.js.map +0 -1
  88. package/cjs/hexRgbConverter-91b28aea.js +0 -2
  89. package/cjs/hexRgbConverter-91b28aea.js.map +0 -1
  90. package/cjs/hooks.js +0 -2
  91. package/cjs/hooks.js.map +0 -1
  92. package/cjs/icons.js +0 -2
  93. package/cjs/icons.js.map +0 -1
  94. package/cjs/index.js +0 -2
  95. package/cjs/index.js.map +0 -1
  96. package/cjs/navigation-bf154e6e.js +0 -2
  97. package/cjs/navigation-bf154e6e.js.map +0 -1
  98. package/cjs/navigation.js +0 -2
  99. package/cjs/navigation.js.map +0 -1
  100. package/cjs/sections.js +0 -2
  101. package/cjs/sections.js.map +0 -1
  102. package/cjs/sections_news.js +0 -2
  103. package/cjs/sections_news.js.map +0 -1
  104. package/cjs/statusFormatter-0393122b.js +0 -2
  105. package/cjs/statusFormatter-0393122b.js.map +0 -1
  106. package/cjs/styles-0f1a0aea.js +0 -2
  107. package/cjs/styles-0f1a0aea.js.map +0 -1
  108. package/cjs/typography.js +0 -2
  109. package/cjs/typography.js.map +0 -1
  110. package/cjs/urlParams-1d03b5a6.js +0 -2
  111. package/cjs/urlParams-1d03b5a6.js.map +0 -1
  112. package/cjs/useCookieConsent-0bf94751.js +0 -2
  113. package/cjs/useCookieConsent-0bf94751.js.map +0 -1
  114. package/cjs/useGeolocation-4d38150b.js +0 -2
  115. package/cjs/useGeolocation-4d38150b.js.map +0 -1
  116. package/cjs/useIE-aef9decc.js +0 -2
  117. package/cjs/useIE-aef9decc.js.map +0 -1
  118. package/cjs/useMediaQuery-d4f81f88.js +0 -2
  119. package/cjs/useMediaQuery-d4f81f88.js.map +0 -1
  120. package/cjs/useMounted-0bba9869.js +0 -2
  121. package/cjs/useMounted-0bba9869.js.map +0 -1
  122. package/cjs/useObserverSupport-5ab320dd.js +0 -2
  123. package/cjs/useObserverSupport-5ab320dd.js.map +0 -1
  124. package/cjs/useUpdateEffect-4d233e2c.js +0 -2
  125. package/cjs/useUpdateEffect-4d233e2c.js.map +0 -1
  126. package/cookies/package.json +0 -7
  127. package/esm/Actions-73e13c48.js +0 -57
  128. package/esm/Actions-73e13c48.js.map +0 -1
  129. package/esm/Bdot-30b047cc.js +0 -24
  130. package/esm/Bdot-30b047cc.js.map +0 -1
  131. package/esm/Button-678be396.js +0 -115
  132. package/esm/Button-678be396.js.map +0 -1
  133. package/esm/ButtonGhost-6673a07e.js +0 -112
  134. package/esm/ButtonGhost-6673a07e.js.map +0 -1
  135. package/esm/Callout-439308f6.js +0 -99
  136. package/esm/Callout-439308f6.js.map +0 -1
  137. package/esm/Checkbox-a365d733.js +0 -135
  138. package/esm/Checkbox-a365d733.js.map +0 -1
  139. package/esm/ClockFilled-8784ddac.js +0 -1793
  140. package/esm/ClockFilled-8784ddac.js.map +0 -1
  141. package/esm/Control-e61c9395.js +0 -52
  142. package/esm/Control-e61c9395.js.map +0 -1
  143. package/esm/Copy-3444d005.js +0 -270
  144. package/esm/Copy-3444d005.js.map +0 -1
  145. package/esm/FilterField-f423b4d1.js +0 -4907
  146. package/esm/FilterField-f423b4d1.js.map +0 -1
  147. package/esm/Image-82417953.js +0 -193
  148. package/esm/Image-82417953.js.map +0 -1
  149. package/esm/LanguageSwitcher-a53094d3.js +0 -70
  150. package/esm/LanguageSwitcher-a53094d3.js.map +0 -1
  151. package/esm/LibThemeProvider-90a5375f.js +0 -115
  152. package/esm/LibThemeProvider-90a5375f.js.map +0 -1
  153. package/esm/Link-ee8a48ed.js +0 -60
  154. package/esm/Link-ee8a48ed.js.map +0 -1
  155. package/esm/Navigation-ece0ff0d.js +0 -1664
  156. package/esm/Navigation-ece0ff0d.js.map +0 -1
  157. package/esm/POICard-d8832988.js +0 -917
  158. package/esm/POICard-d8832988.js.map +0 -1
  159. package/esm/Pointer-da4d0977.js +0 -111
  160. package/esm/Pointer-da4d0977.js.map +0 -1
  161. package/esm/SocialList-7c00c70e.js +0 -61
  162. package/esm/SocialList-7c00c70e.js.map +0 -1
  163. package/esm/TableBlock-0bbde956.js +0 -218
  164. package/esm/TableBlock-0bbde956.js.map +0 -1
  165. package/esm/VideoCard-2557407b.js +0 -187
  166. package/esm/VideoCard-2557407b.js.map +0 -1
  167. package/esm/Wrapper-f4a70e30.js +0 -420
  168. package/esm/Wrapper-f4a70e30.js.map +0 -1
  169. package/esm/arrays-65b644ef.js +0 -17
  170. package/esm/arrays-65b644ef.js.map +0 -1
  171. package/esm/base.js +0 -10
  172. package/esm/base.js.map +0 -1
  173. package/esm/blocks.js +0 -22
  174. package/esm/blocks.js.map +0 -1
  175. package/esm/buttons.js +0 -12
  176. package/esm/buttons.js.map +0 -1
  177. package/esm/clamp-12d37b65.js +0 -10
  178. package/esm/clamp-12d37b65.js.map +0 -1
  179. package/esm/concat-ab3c66f2.js +0 -40
  180. package/esm/concat-ab3c66f2.js.map +0 -1
  181. package/esm/cookies.js +0 -270
  182. package/esm/cookies.js.map +0 -1
  183. package/esm/fields.js +0 -187
  184. package/esm/fields.js.map +0 -1
  185. package/esm/footer.js +0 -300
  186. package/esm/footer.js.map +0 -1
  187. package/esm/hexRgbConverter-edb91624.js +0 -36
  188. package/esm/hexRgbConverter-edb91624.js.map +0 -1
  189. package/esm/hooks.js +0 -527
  190. package/esm/hooks.js.map +0 -1
  191. package/esm/icons.js +0 -4
  192. package/esm/icons.js.map +0 -1
  193. package/esm/index.js +0 -7
  194. package/esm/index.js.map +0 -1
  195. package/esm/navigation-49280321.js +0 -132
  196. package/esm/navigation-49280321.js.map +0 -1
  197. package/esm/navigation.js +0 -159
  198. package/esm/navigation.js.map +0 -1
  199. package/esm/sections.js +0 -7126
  200. package/esm/sections.js.map +0 -1
  201. package/esm/sections_news.js +0 -1018
  202. package/esm/sections_news.js.map +0 -1
  203. package/esm/statusFormatter-9be0fbff.js +0 -255
  204. package/esm/statusFormatter-9be0fbff.js.map +0 -1
  205. package/esm/styles-5f78e59d.js +0 -462
  206. package/esm/styles-5f78e59d.js.map +0 -1
  207. package/esm/typography.js +0 -11
  208. package/esm/typography.js.map +0 -1
  209. package/esm/urlParams-882563ce.js +0 -297
  210. package/esm/urlParams-882563ce.js.map +0 -1
  211. package/esm/useCookieConsent-db86e5cb.js +0 -339
  212. package/esm/useCookieConsent-db86e5cb.js.map +0 -1
  213. package/esm/useGeolocation-c81e3efc.js +0 -471
  214. package/esm/useGeolocation-c81e3efc.js.map +0 -1
  215. package/esm/useIE-a9c56989.js +0 -15
  216. package/esm/useIE-a9c56989.js.map +0 -1
  217. package/esm/useMediaQuery-43629cbb.js +0 -109
  218. package/esm/useMediaQuery-43629cbb.js.map +0 -1
  219. package/esm/useMounted-1e4cc87b.js +0 -12
  220. package/esm/useMounted-1e4cc87b.js.map +0 -1
  221. package/esm/useObserverSupport-02bce7f5.js +0 -19
  222. package/esm/useObserverSupport-02bce7f5.js.map +0 -1
  223. package/esm/useUpdateEffect-824c0c84.js +0 -18
  224. package/esm/useUpdateEffect-824c0c84.js.map +0 -1
  225. package/fields/package.json +0 -7
  226. package/footer/package.json +0 -7
  227. package/hooks/package.json +0 -7
  228. package/icons/package.json +0 -7
  229. package/navigation/package.json +0 -7
  230. package/sections/news/package.json +0 -7
  231. package/sections/package.json +0 -7
  232. package/types/base.d.ts +0 -5
  233. package/types/base.d.ts.map +0 -1
  234. package/types/blocks.d.ts +0 -18
  235. package/types/blocks.d.ts.map +0 -1
  236. package/types/buttons.d.ts +0 -6
  237. package/types/buttons.d.ts.map +0 -1
  238. package/types/components/sections/NumberList.d.ts +0 -31
  239. package/types/components/sections/NumberList.d.ts.map +0 -1
  240. package/types/components/sections/header/Header.d.ts.map +0 -1
  241. package/types/components/sections/navigation/menu/variations/MenuFlyout.d.ts.map +0 -1
  242. package/types/components/sections/navigation/menu/variations/MenuLarge.d.ts.map +0 -1
  243. package/types/components/typography/Callout.d.ts.map +0 -1
  244. package/types/cookies.d.ts +0 -3
  245. package/types/cookies.d.ts.map +0 -1
  246. package/types/fields.d.ts +0 -14
  247. package/types/fields.d.ts.map +0 -1
  248. package/types/footer.d.ts +0 -4
  249. package/types/footer.d.ts.map +0 -1
  250. package/types/hooks.d.ts +0 -35
  251. package/types/hooks.d.ts.map +0 -1
  252. package/types/icons.d.ts +0 -66
  253. package/types/icons.d.ts.map +0 -1
  254. package/types/index.d.ts +0 -18
  255. package/types/index.d.ts.map +0 -1
  256. package/types/navigation.d.ts +0 -10
  257. package/types/navigation.d.ts.map +0 -1
  258. package/types/sections.d.ts +0 -42
  259. package/types/sections.d.ts.map +0 -1
  260. package/types/sections_news.d.ts +0 -10
  261. package/types/sections_news.d.ts.map +0 -1
  262. package/types/typography.d.ts +0 -6
  263. package/types/typography.d.ts.map +0 -1
  264. package/types/utils/styles.d.ts.map +0 -1
  265. package/types/utils/useEqualSheetHeight.d.ts.map +0 -1
  266. package/typography/package.json +0 -7
  267. /package/{types → lib}/components/base/Grid.d.ts +0 -0
  268. /package/{types → lib}/components/base/Grid.d.ts.map +0 -0
  269. /package/{types → lib}/components/base/Section.d.ts +0 -0
  270. /package/{types → lib}/components/base/Section.d.ts.map +0 -0
  271. /package/{types → lib}/components/base/Wrapper.d.ts +0 -0
  272. /package/{types → lib}/components/base/Wrapper.d.ts.map +0 -0
  273. /package/{types → lib}/components/base/icons/AngleDown.d.ts +0 -0
  274. /package/{types → lib}/components/base/icons/AngleDown.d.ts.map +0 -0
  275. /package/{types → lib}/components/base/icons/AngleLeft.d.ts +0 -0
  276. /package/{types → lib}/components/base/icons/AngleLeft.d.ts.map +0 -0
  277. /package/{types → lib}/components/base/icons/AngleRight.d.ts +0 -0
  278. /package/{types → lib}/components/base/icons/AngleRight.d.ts.map +0 -0
  279. /package/{types → lib}/components/base/icons/AngleUp.d.ts +0 -0
  280. /package/{types → lib}/components/base/icons/AngleUp.d.ts.map +0 -0
  281. /package/{types → lib}/components/base/icons/ArrowDown.d.ts +0 -0
  282. /package/{types → lib}/components/base/icons/ArrowDown.d.ts.map +0 -0
  283. /package/{types → lib}/components/base/icons/ArrowLeft.d.ts +0 -0
  284. /package/{types → lib}/components/base/icons/ArrowLeft.d.ts.map +0 -0
  285. /package/{types → lib}/components/base/icons/ArrowLeftGhost.d.ts +0 -0
  286. /package/{types → lib}/components/base/icons/ArrowLeftGhost.d.ts.map +0 -0
  287. /package/{types → lib}/components/base/icons/ArrowLeftRight.d.ts +0 -0
  288. /package/{types → lib}/components/base/icons/ArrowLeftRight.d.ts.map +0 -0
  289. /package/{types → lib}/components/base/icons/ArrowRight.d.ts +0 -0
  290. /package/{types → lib}/components/base/icons/ArrowRight.d.ts.map +0 -0
  291. /package/{types → lib}/components/base/icons/ArrowRightGhost.d.ts +0 -0
  292. /package/{types → lib}/components/base/icons/ArrowRightGhost.d.ts.map +0 -0
  293. /package/{types → lib}/components/base/icons/ArrowUp.d.ts +0 -0
  294. /package/{types → lib}/components/base/icons/ArrowUp.d.ts.map +0 -0
  295. /package/{types → lib}/components/base/icons/BoxArrowUpRight.d.ts +0 -0
  296. /package/{types → lib}/components/base/icons/BoxArrowUpRight.d.ts.map +0 -0
  297. /package/{types → lib}/components/base/icons/CalendarToday.d.ts +0 -0
  298. /package/{types → lib}/components/base/icons/CalendarToday.d.ts.map +0 -0
  299. /package/{types → lib}/components/base/icons/Category.d.ts +0 -0
  300. /package/{types → lib}/components/base/icons/Category.d.ts.map +0 -0
  301. /package/{types → lib}/components/base/icons/Check.d.ts +0 -0
  302. /package/{types → lib}/components/base/icons/Check.d.ts.map +0 -0
  303. /package/{types → lib}/components/base/icons/Clock.d.ts +0 -0
  304. /package/{types → lib}/components/base/icons/Clock.d.ts.map +0 -0
  305. /package/{types → lib}/components/base/icons/ClockFilled.d.ts +0 -0
  306. /package/{types → lib}/components/base/icons/ClockFilled.d.ts.map +0 -0
  307. /package/{types → lib}/components/base/icons/Computer.d.ts +0 -0
  308. /package/{types → lib}/components/base/icons/Computer.d.ts.map +0 -0
  309. /package/{types → lib}/components/base/icons/Cross.d.ts +0 -0
  310. /package/{types → lib}/components/base/icons/Cross.d.ts.map +0 -0
  311. /package/{types → lib}/components/base/icons/CrossSmall.d.ts +0 -0
  312. /package/{types → lib}/components/base/icons/CrossSmall.d.ts.map +0 -0
  313. /package/{types → lib}/components/base/icons/CurrentLocation.d.ts +0 -0
  314. /package/{types → lib}/components/base/icons/CurrentLocation.d.ts.map +0 -0
  315. /package/{types → lib}/components/base/icons/DateRange.d.ts +0 -0
  316. /package/{types → lib}/components/base/icons/DateRange.d.ts.map +0 -0
  317. /package/{types → lib}/components/base/icons/DeleteForever.d.ts +0 -0
  318. /package/{types → lib}/components/base/icons/DeleteForever.d.ts.map +0 -0
  319. /package/{types → lib}/components/base/icons/External.d.ts +0 -0
  320. /package/{types → lib}/components/base/icons/External.d.ts.map +0 -0
  321. /package/{types → lib}/components/base/icons/Filter.d.ts +0 -0
  322. /package/{types → lib}/components/base/icons/Filter.d.ts.map +0 -0
  323. /package/{types → lib}/components/base/icons/FlyTo.d.ts +0 -0
  324. /package/{types → lib}/components/base/icons/FlyTo.d.ts.map +0 -0
  325. /package/{types → lib}/components/base/icons/Info.d.ts +0 -0
  326. /package/{types → lib}/components/base/icons/Info.d.ts.map +0 -0
  327. /package/{types → lib}/components/base/icons/Language.d.ts +0 -0
  328. /package/{types → lib}/components/base/icons/Language.d.ts.map +0 -0
  329. /package/{types → lib}/components/base/icons/LocationPin.d.ts +0 -0
  330. /package/{types → lib}/components/base/icons/LocationPin.d.ts.map +0 -0
  331. /package/{types → lib}/components/base/icons/LocationSearch.d.ts +0 -0
  332. /package/{types → lib}/components/base/icons/LocationSearch.d.ts.map +0 -0
  333. /package/{types → lib}/components/base/icons/Magnifier.d.ts +0 -0
  334. /package/{types → lib}/components/base/icons/Magnifier.d.ts.map +0 -0
  335. /package/{types → lib}/components/base/icons/Mail.d.ts +0 -0
  336. /package/{types → lib}/components/base/icons/Mail.d.ts.map +0 -0
  337. /package/{types → lib}/components/base/icons/Map.d.ts +0 -0
  338. /package/{types → lib}/components/base/icons/Map.d.ts.map +0 -0
  339. /package/{types → lib}/components/base/icons/MenuBurger.d.ts +0 -0
  340. /package/{types → lib}/components/base/icons/MenuBurger.d.ts.map +0 -0
  341. /package/{types → lib}/components/base/icons/Minus.d.ts +0 -0
  342. /package/{types → lib}/components/base/icons/Minus.d.ts.map +0 -0
  343. /package/{types → lib}/components/base/icons/Money.d.ts +0 -0
  344. /package/{types → lib}/components/base/icons/Money.d.ts.map +0 -0
  345. /package/{types → lib}/components/base/icons/MyLocation.d.ts +0 -0
  346. /package/{types → lib}/components/base/icons/MyLocation.d.ts.map +0 -0
  347. /package/{types → lib}/components/base/icons/Person.d.ts +0 -0
  348. /package/{types → lib}/components/base/icons/Person.d.ts.map +0 -0
  349. /package/{types → lib}/components/base/icons/Phone.d.ts +0 -0
  350. /package/{types → lib}/components/base/icons/Phone.d.ts.map +0 -0
  351. /package/{types → lib}/components/base/icons/Place.d.ts +0 -0
  352. /package/{types → lib}/components/base/icons/Place.d.ts.map +0 -0
  353. /package/{types → lib}/components/base/icons/Play.d.ts +0 -0
  354. /package/{types → lib}/components/base/icons/Play.d.ts.map +0 -0
  355. /package/{types → lib}/components/base/icons/Plus.d.ts +0 -0
  356. /package/{types → lib}/components/base/icons/Plus.d.ts.map +0 -0
  357. /package/{types → lib}/components/base/icons/Route.d.ts +0 -0
  358. /package/{types → lib}/components/base/icons/Route.d.ts.map +0 -0
  359. /package/{types → lib}/components/base/icons/Star.d.ts +0 -0
  360. /package/{types → lib}/components/base/icons/Star.d.ts.map +0 -0
  361. /package/{types → lib}/components/base/icons/ToggleOff.d.ts +0 -0
  362. /package/{types → lib}/components/base/icons/ToggleOff.d.ts.map +0 -0
  363. /package/{types → lib}/components/base/icons/ToggleOn.d.ts +0 -0
  364. /package/{types → lib}/components/base/icons/ToggleOn.d.ts.map +0 -0
  365. /package/{types → lib}/components/base/icons/UnfoldMore.d.ts +0 -0
  366. /package/{types → lib}/components/base/icons/UnfoldMore.d.ts.map +0 -0
  367. /package/{types → lib}/components/base/icons/files/Excel.d.ts +0 -0
  368. /package/{types → lib}/components/base/icons/files/Excel.d.ts.map +0 -0
  369. /package/{types → lib}/components/base/icons/files/Image.d.ts +0 -0
  370. /package/{types → lib}/components/base/icons/files/Image.d.ts.map +0 -0
  371. /package/{types → lib}/components/base/icons/files/Pdf.d.ts +0 -0
  372. /package/{types → lib}/components/base/icons/files/Pdf.d.ts.map +0 -0
  373. /package/{types → lib}/components/base/icons/files/PowerPoint.d.ts +0 -0
  374. /package/{types → lib}/components/base/icons/files/PowerPoint.d.ts.map +0 -0
  375. /package/{types → lib}/components/base/icons/files/UploadFile.d.ts +0 -0
  376. /package/{types → lib}/components/base/icons/files/UploadFile.d.ts.map +0 -0
  377. /package/{types → lib}/components/base/icons/files/Word.d.ts +0 -0
  378. /package/{types → lib}/components/base/icons/files/Word.d.ts.map +0 -0
  379. /package/{types → lib}/components/base/icons/files/Zip.d.ts +0 -0
  380. /package/{types → lib}/components/base/icons/files/Zip.d.ts.map +0 -0
  381. /package/{types → lib}/components/base/icons/socials/Facebook.d.ts +0 -0
  382. /package/{types → lib}/components/base/icons/socials/Facebook.d.ts.map +0 -0
  383. /package/{types → lib}/components/base/icons/socials/Instagram.d.ts +0 -0
  384. /package/{types → lib}/components/base/icons/socials/Instagram.d.ts.map +0 -0
  385. /package/{types → lib}/components/base/icons/socials/LinkedIn.d.ts +0 -0
  386. /package/{types → lib}/components/base/icons/socials/LinkedIn.d.ts.map +0 -0
  387. /package/{types → lib}/components/base/icons/socials/Twitter.d.ts +0 -0
  388. /package/{types → lib}/components/base/icons/socials/Twitter.d.ts.map +0 -0
  389. /package/{types → lib}/components/base/icons/socials/Xing.d.ts +0 -0
  390. /package/{types → lib}/components/base/icons/socials/Xing.d.ts.map +0 -0
  391. /package/{types → lib}/components/base/icons/socials/Youtube.d.ts +0 -0
  392. /package/{types → lib}/components/base/icons/socials/Youtube.d.ts.map +0 -0
  393. /package/{types → lib}/components/base/nl2br.d.ts +0 -0
  394. /package/{types → lib}/components/base/nl2br.d.ts.map +0 -0
  395. /package/{types → lib}/components/blocks/Actions.d.ts +0 -0
  396. /package/{types → lib}/components/blocks/Actions.d.ts.map +0 -0
  397. /package/{types → lib}/components/blocks/Alert.d.ts +0 -0
  398. /package/{types → lib}/components/blocks/Alert.d.ts.map +0 -0
  399. /package/{types → lib}/components/blocks/Bdot.d.ts +0 -0
  400. /package/{types → lib}/components/blocks/Bdot.d.ts.map +0 -0
  401. /package/{types → lib}/components/blocks/CookieConsent.d.ts +0 -0
  402. /package/{types → lib}/components/blocks/CookieConsent.d.ts.map +0 -0
  403. /package/{types → lib}/components/blocks/EventBlock.d.ts +0 -0
  404. /package/{types → lib}/components/blocks/EventBlock.d.ts.map +0 -0
  405. /package/{types → lib}/components/blocks/Fact.d.ts +0 -0
  406. /package/{types → lib}/components/blocks/Fact.d.ts.map +0 -0
  407. /package/{types → lib}/components/blocks/Feature.d.ts +0 -0
  408. /package/{types → lib}/components/blocks/Feature.d.ts.map +0 -0
  409. /package/{types → lib}/components/blocks/Image.d.ts +0 -0
  410. /package/{types → lib}/components/blocks/Image.d.ts.map +0 -0
  411. /package/{types → lib}/components/blocks/InfoList.d.ts +0 -0
  412. /package/{types → lib}/components/blocks/InfoList.d.ts.map +0 -0
  413. /package/{types → lib}/components/blocks/IntroBlock.d.ts +0 -0
  414. /package/{types → lib}/components/blocks/IntroBlock.d.ts.map +0 -0
  415. /package/{types → lib}/components/blocks/JobCard.d.ts +0 -0
  416. /package/{types → lib}/components/blocks/JobCard.d.ts.map +0 -0
  417. /package/{types → lib}/components/blocks/LanguageSwitcher.d.ts +0 -0
  418. /package/{types → lib}/components/blocks/LanguageSwitcher.d.ts.map +0 -0
  419. /package/{types → lib}/components/blocks/NavBlock.d.ts +0 -0
  420. /package/{types → lib}/components/blocks/NavBlock.d.ts.map +0 -0
  421. /package/{types → lib}/components/blocks/NewsCard.d.ts +0 -0
  422. /package/{types → lib}/components/blocks/NewsCard.d.ts.map +0 -0
  423. /package/{types → lib}/components/blocks/POICard.d.ts +0 -0
  424. /package/{types → lib}/components/blocks/POICard.d.ts.map +0 -0
  425. /package/{types → lib}/components/blocks/POIFacts.d.ts +0 -0
  426. /package/{types → lib}/components/blocks/POIFacts.d.ts.map +0 -0
  427. /package/{types → lib}/components/blocks/PriceTag.d.ts +0 -0
  428. /package/{types → lib}/components/blocks/PriceTag.d.ts.map +0 -0
  429. /package/{types → lib}/components/blocks/PromotionCard.d.ts +0 -0
  430. /package/{types → lib}/components/blocks/PromotionCard.d.ts.map +0 -0
  431. /package/{types → lib}/components/blocks/SocialList.d.ts +0 -0
  432. /package/{types → lib}/components/blocks/SocialList.d.ts.map +0 -0
  433. /package/{types → lib}/components/blocks/TableBlock.d.ts +0 -0
  434. /package/{types → lib}/components/blocks/TableBlock.d.ts.map +0 -0
  435. /package/{types → lib}/components/blocks/Tag.d.ts +0 -0
  436. /package/{types → lib}/components/blocks/Tag.d.ts.map +0 -0
  437. /package/{types → lib}/components/blocks/Title.d.ts +0 -0
  438. /package/{types → lib}/components/blocks/Title.d.ts.map +0 -0
  439. /package/{types → lib}/components/blocks/VideoBlock.d.ts +0 -0
  440. /package/{types → lib}/components/blocks/VideoBlock.d.ts.map +0 -0
  441. /package/{types → lib}/components/blocks/VideoCard.d.ts +0 -0
  442. /package/{types → lib}/components/blocks/VideoCard.d.ts.map +0 -0
  443. /package/{types → lib}/components/buttons/Button.d.ts +0 -0
  444. /package/{types → lib}/components/buttons/Button.d.ts.map +0 -0
  445. /package/{types → lib}/components/buttons/ButtonGhost.d.ts +0 -0
  446. /package/{types → lib}/components/buttons/ButtonGhost.d.ts.map +0 -0
  447. /package/{types → lib}/components/buttons/Control.d.ts +0 -0
  448. /package/{types → lib}/components/buttons/Control.d.ts.map +0 -0
  449. /package/{types → lib}/components/buttons/Pointer.d.ts +0 -0
  450. /package/{types → lib}/components/buttons/Pointer.d.ts.map +0 -0
  451. /package/{types → lib}/components/debug/DebugLines.d.ts +0 -0
  452. /package/{types → lib}/components/debug/DebugLines.d.ts.map +0 -0
  453. /package/{types → lib}/components/examples/hooks/ArrayHookExample.d.ts +0 -0
  454. /package/{types → lib}/components/examples/hooks/ArrayHookExample.d.ts.map +0 -0
  455. /package/{types → lib}/components/examples/hooks/IntervalHookExample.d.ts +0 -0
  456. /package/{types → lib}/components/examples/hooks/IntervalHookExample.d.ts.map +0 -0
  457. /package/{types → lib}/components/fields/Checkbox.d.ts +0 -0
  458. /package/{types → lib}/components/fields/Checkbox.d.ts.map +0 -0
  459. /package/{types → lib}/components/fields/CompactForm.d.ts +0 -0
  460. /package/{types → lib}/components/fields/CompactForm.d.ts.map +0 -0
  461. /package/{types → lib}/components/fields/Datepicker.d.ts +0 -0
  462. /package/{types → lib}/components/fields/Datepicker.d.ts.map +0 -0
  463. /package/{types → lib}/components/fields/FileUpload.d.ts +0 -0
  464. /package/{types → lib}/components/fields/FileUpload.d.ts.map +0 -0
  465. /package/{types → lib}/components/fields/FilterField.d.ts +0 -0
  466. /package/{types → lib}/components/fields/FormField.d.ts +0 -0
  467. /package/{types → lib}/components/fields/FormField.d.ts.map +0 -0
  468. /package/{types → lib}/components/fields/LocationField.d.ts +0 -0
  469. /package/{types → lib}/components/fields/LocationField.d.ts.map +0 -0
  470. /package/{types → lib}/components/fields/Radio.d.ts +0 -0
  471. /package/{types → lib}/components/fields/Radio.d.ts.map +0 -0
  472. /package/{types → lib}/components/fields/SearchInput.d.ts +0 -0
  473. /package/{types → lib}/components/fields/SearchInput.d.ts.map +0 -0
  474. /package/{types → lib}/components/fields/SelectDropdown.d.ts +0 -0
  475. /package/{types → lib}/components/fields/SelectDropdown.d.ts.map +0 -0
  476. /package/{types → lib}/components/fields/Textarea.d.ts +0 -0
  477. /package/{types → lib}/components/fields/Textarea.d.ts.map +0 -0
  478. /package/{types → lib}/components/fields/Textfield.d.ts +0 -0
  479. /package/{types → lib}/components/fields/Textfield.d.ts.map +0 -0
  480. /package/{types → lib}/components/sections/Accordion.d.ts +0 -0
  481. /package/{types → lib}/components/sections/Accordion.d.ts.map +0 -0
  482. /package/{types → lib}/components/sections/AlertList.d.ts +0 -0
  483. /package/{types → lib}/components/sections/AlertList.d.ts.map +0 -0
  484. /package/{types → lib}/components/sections/Article.d.ts +0 -0
  485. /package/{types → lib}/components/sections/Article.d.ts.map +0 -0
  486. /package/{types → lib}/components/sections/CallToAction.d.ts +0 -0
  487. /package/{types → lib}/components/sections/CallToAction.d.ts.map +0 -0
  488. /package/{types → lib}/components/sections/CardList.d.ts +0 -0
  489. /package/{types → lib}/components/sections/CardList.d.ts.map +0 -0
  490. /package/{types → lib}/components/sections/ComparisonSlider.d.ts +0 -0
  491. /package/{types → lib}/components/sections/ComparisonSlider.d.ts.map +0 -0
  492. /package/{types → lib}/components/sections/CrossPromotion.d.ts +0 -0
  493. /package/{types → lib}/components/sections/CrossPromotion.d.ts.map +0 -0
  494. /package/{types → lib}/components/sections/FactGrid.d.ts +0 -0
  495. /package/{types → lib}/components/sections/FactGrid.d.ts.map +0 -0
  496. /package/{types → lib}/components/sections/FactList.d.ts +0 -0
  497. /package/{types → lib}/components/sections/FactList.d.ts.map +0 -0
  498. /package/{types → lib}/components/sections/FeatureList.d.ts +0 -0
  499. /package/{types → lib}/components/sections/FeatureList.d.ts.map +0 -0
  500. /package/{types → lib}/components/sections/Gallery.d.ts +0 -0
  501. /package/{types → lib}/components/sections/Gallery.d.ts.map +0 -0
  502. /package/{types → lib}/components/sections/IconList.d.ts +0 -0
  503. /package/{types → lib}/components/sections/IconList.d.ts.map +0 -0
  504. /package/{types → lib}/components/sections/IndexList.d.ts +0 -0
  505. /package/{types → lib}/components/sections/IndexList.d.ts.map +0 -0
  506. /package/{types → lib}/components/sections/Intro.d.ts +0 -0
  507. /package/{types → lib}/components/sections/Intro.d.ts.map +0 -0
  508. /package/{types → lib}/components/sections/Map.d.ts +0 -0
  509. /package/{types → lib}/components/sections/Map.d.ts.map +0 -0
  510. /package/{types → lib}/components/sections/NavList.d.ts +0 -0
  511. /package/{types → lib}/components/sections/NavList.d.ts.map +0 -0
  512. /package/{types → lib}/components/sections/NewsletterForm.d.ts +0 -0
  513. /package/{types → lib}/components/sections/NewsletterForm.d.ts.map +0 -0
  514. /package/{types → lib}/components/sections/ParallaxBackground.d.ts +0 -0
  515. /package/{types → lib}/components/sections/ParallaxBackground.d.ts.map +0 -0
  516. /package/{types → lib}/components/sections/Poster.d.ts +0 -0
  517. /package/{types → lib}/components/sections/Poster.d.ts.map +0 -0
  518. /package/{types → lib}/components/sections/PriceList.d.ts +0 -0
  519. /package/{types → lib}/components/sections/PriceList.d.ts.map +0 -0
  520. /package/{types → lib}/components/sections/PriceTable.d.ts +0 -0
  521. /package/{types → lib}/components/sections/PriceTable.d.ts.map +0 -0
  522. /package/{types → lib}/components/sections/Quote.d.ts +0 -0
  523. /package/{types → lib}/components/sections/Quote.d.ts.map +0 -0
  524. /package/{types → lib}/components/sections/RawVideo.d.ts +0 -0
  525. /package/{types → lib}/components/sections/RawVideo.d.ts.map +0 -0
  526. /package/{types → lib}/components/sections/SimpleImage.d.ts +0 -0
  527. /package/{types → lib}/components/sections/SimpleImage.d.ts.map +0 -0
  528. /package/{types → lib}/components/sections/SocialWall.d.ts +0 -0
  529. /package/{types → lib}/components/sections/SocialWall.d.ts.map +0 -0
  530. /package/{types → lib}/components/sections/Table.d.ts +0 -0
  531. /package/{types → lib}/components/sections/Table.d.ts.map +0 -0
  532. /package/{types → lib}/components/sections/Teaser.d.ts +0 -0
  533. /package/{types → lib}/components/sections/Teaser.d.ts.map +0 -0
  534. /package/{types → lib}/components/sections/TeaserWide.d.ts +0 -0
  535. /package/{types → lib}/components/sections/TeaserWide.d.ts.map +0 -0
  536. /package/{types → lib}/components/sections/Timeline.d.ts +0 -0
  537. /package/{types → lib}/components/sections/Timeline.d.ts.map +0 -0
  538. /package/{types → lib}/components/sections/Video.d.ts +0 -0
  539. /package/{types → lib}/components/sections/Video.d.ts.map +0 -0
  540. /package/{types → lib}/components/sections/events/EventDetail.d.ts +0 -0
  541. /package/{types → lib}/components/sections/events/EventDetail.d.ts.map +0 -0
  542. /package/{types → lib}/components/sections/events/EventList.d.ts +0 -0
  543. /package/{types → lib}/components/sections/events/EventList.d.ts.map +0 -0
  544. /package/{types → lib}/components/sections/events/EventOverview.d.ts +0 -0
  545. /package/{types → lib}/components/sections/events/EventOverview.d.ts.map +0 -0
  546. /package/{types → lib}/components/sections/footer/Footer.d.ts +0 -0
  547. /package/{types → lib}/components/sections/footer/Footer.d.ts.map +0 -0
  548. /package/{types → lib}/components/sections/footer/partials/FooterBottomBar.d.ts +0 -0
  549. /package/{types → lib}/components/sections/footer/partials/FooterBottomBar.d.ts.map +0 -0
  550. /package/{types → lib}/components/sections/footer/partials/FooterColumn.d.ts +0 -0
  551. /package/{types → lib}/components/sections/footer/partials/FooterColumn.d.ts.map +0 -0
  552. /package/{types → lib}/components/sections/footer/partials/index.d.ts +0 -0
  553. /package/{types → lib}/components/sections/footer/partials/index.d.ts.map +0 -0
  554. /package/{types → lib}/components/sections/footer/skeletons/FooterArticle.d.ts +0 -0
  555. /package/{types → lib}/components/sections/footer/skeletons/FooterArticle.d.ts.map +0 -0
  556. /package/{types → lib}/components/sections/footer/skeletons/FooterBottomGrid.d.ts +0 -0
  557. /package/{types → lib}/components/sections/footer/skeletons/FooterBottomGrid.d.ts.map +0 -0
  558. /package/{types → lib}/components/sections/footer/skeletons/index.d.ts +0 -0
  559. /package/{types → lib}/components/sections/footer/skeletons/index.d.ts.map +0 -0
  560. /package/{types → lib}/components/sections/form/DynamicForm.d.ts +0 -0
  561. /package/{types → lib}/components/sections/form/DynamicForm.d.ts.map +0 -0
  562. /package/{types → lib}/components/sections/form/renderer/areaRenderer.d.ts +0 -0
  563. /package/{types → lib}/components/sections/form/renderer/areaRenderer.d.ts.map +0 -0
  564. /package/{types → lib}/components/sections/form/renderer/datepickerRenderer.d.ts +0 -0
  565. /package/{types → lib}/components/sections/form/renderer/datepickerRenderer.d.ts.map +0 -0
  566. /package/{types → lib}/components/sections/form/renderer/fieldGroupRenderer.d.ts +0 -0
  567. /package/{types → lib}/components/sections/form/renderer/fieldGroupRenderer.d.ts.map +0 -0
  568. /package/{types → lib}/components/sections/form/renderer/fieldRenderer.d.ts +0 -0
  569. /package/{types → lib}/components/sections/form/renderer/fieldRenderer.d.ts.map +0 -0
  570. /package/{types → lib}/components/sections/form/renderer/locationRenderer.d.ts +0 -0
  571. /package/{types → lib}/components/sections/form/renderer/locationRenderer.d.ts.map +0 -0
  572. /package/{types → lib}/components/sections/form/renderer/selectRenderer.d.ts +0 -0
  573. /package/{types → lib}/components/sections/form/renderer/selectRenderer.d.ts.map +0 -0
  574. /package/{types → lib}/components/sections/form/renderer/uploadRenderer.d.ts +0 -0
  575. /package/{types → lib}/components/sections/form/renderer/uploadRenderer.d.ts.map +0 -0
  576. /package/{types → lib}/components/sections/form/validators/areaValidator.d.ts +0 -0
  577. /package/{types → lib}/components/sections/form/validators/areaValidator.d.ts.map +0 -0
  578. /package/{types → lib}/components/sections/form/validators/datepickerValidator.d.ts +0 -0
  579. /package/{types → lib}/components/sections/form/validators/datepickerValidator.d.ts.map +0 -0
  580. /package/{types → lib}/components/sections/form/validators/fieldGroupValidator.d.ts +0 -0
  581. /package/{types → lib}/components/sections/form/validators/fieldGroupValidator.d.ts.map +0 -0
  582. /package/{types → lib}/components/sections/form/validators/fieldValidator.d.ts +0 -0
  583. /package/{types → lib}/components/sections/form/validators/fieldValidator.d.ts.map +0 -0
  584. /package/{types → lib}/components/sections/form/validators/locationValidator.d.ts +0 -0
  585. /package/{types → lib}/components/sections/form/validators/locationValidator.d.ts.map +0 -0
  586. /package/{types → lib}/components/sections/form/validators/selectValidator.d.ts +0 -0
  587. /package/{types → lib}/components/sections/form/validators/selectValidator.d.ts.map +0 -0
  588. /package/{types → lib}/components/sections/form/validators/uploadValidator.d.ts +0 -0
  589. /package/{types → lib}/components/sections/form/validators/uploadValidator.d.ts.map +0 -0
  590. /package/{types → lib}/components/sections/header/HeaderKenBurns.d.ts +0 -0
  591. /package/{types → lib}/components/sections/header/HeaderKenBurns.d.ts.map +0 -0
  592. /package/{types → lib}/components/sections/header/HeaderPoster.d.ts +0 -0
  593. /package/{types → lib}/components/sections/header/HeaderPoster.d.ts.map +0 -0
  594. /package/{types → lib}/components/sections/header/HeaderVideo.d.ts +0 -0
  595. /package/{types → lib}/components/sections/header/HeaderVideo.d.ts.map +0 -0
  596. /package/{types → lib}/components/sections/jobs/JobArticle.d.ts +0 -0
  597. /package/{types → lib}/components/sections/jobs/JobArticle.d.ts.map +0 -0
  598. /package/{types → lib}/components/sections/jobs/JobList.d.ts +0 -0
  599. /package/{types → lib}/components/sections/jobs/JobList.d.ts.map +0 -0
  600. /package/{types → lib}/components/sections/navigation/NavBar.d.ts +0 -0
  601. /package/{types → lib}/components/sections/navigation/NavBar.d.ts.map +0 -0
  602. /package/{types → lib}/components/sections/navigation/Navigation.d.ts +0 -0
  603. /package/{types → lib}/components/sections/navigation/Navigation.d.ts.map +0 -0
  604. /package/{types → lib}/components/sections/navigation/menu/Menu.d.ts +0 -0
  605. /package/{types → lib}/components/sections/navigation/menu/Menu.d.ts.map +0 -0
  606. /package/{types → lib}/components/sections/navigation/menu/variations/MenuFlyout.d.ts +0 -0
  607. /package/{types → lib}/components/sections/navigation/menu/variations/MenuLarge.d.ts +0 -0
  608. /package/{types → lib}/components/sections/navigation/partials/MenuFooter.d.ts +0 -0
  609. /package/{types → lib}/components/sections/navigation/partials/MenuFooter.d.ts.map +0 -0
  610. /package/{types → lib}/components/sections/navigation/partials/MenuHeader.d.ts +0 -0
  611. /package/{types → lib}/components/sections/navigation/partials/MenuHeader.d.ts.map +0 -0
  612. /package/{types → lib}/components/sections/navigation/partials/NavBarBottom.d.ts +0 -0
  613. /package/{types → lib}/components/sections/navigation/partials/NavBarBottom.d.ts.map +0 -0
  614. /package/{types → lib}/components/sections/navigation/partials/NavBarMain.d.ts +0 -0
  615. /package/{types → lib}/components/sections/navigation/partials/NavBarMain.d.ts.map +0 -0
  616. /package/{types → lib}/components/sections/navigation/partials/NavBarTop.d.ts +0 -0
  617. /package/{types → lib}/components/sections/navigation/partials/NavBarTop.d.ts.map +0 -0
  618. /package/{types → lib}/components/sections/navigation/partials/index.d.ts +0 -0
  619. /package/{types → lib}/components/sections/navigation/partials/index.d.ts.map +0 -0
  620. /package/{types → lib}/components/sections/navigation/skeletons/BarBreadCrumbs.d.ts +0 -0
  621. /package/{types → lib}/components/sections/navigation/skeletons/BarBreadCrumbs.d.ts.map +0 -0
  622. /package/{types → lib}/components/sections/navigation/skeletons/BarColumn.d.ts +0 -0
  623. /package/{types → lib}/components/sections/navigation/skeletons/BarColumn.d.ts.map +0 -0
  624. /package/{types → lib}/components/sections/navigation/skeletons/BarLogo.d.ts +0 -0
  625. /package/{types → lib}/components/sections/navigation/skeletons/BarLogo.d.ts.map +0 -0
  626. /package/{types → lib}/components/sections/navigation/skeletons/BarMenuToggle.d.ts +0 -0
  627. /package/{types → lib}/components/sections/navigation/skeletons/BarMenuToggle.d.ts.map +0 -0
  628. /package/{types → lib}/components/sections/navigation/skeletons/BarNavList.d.ts +0 -0
  629. /package/{types → lib}/components/sections/navigation/skeletons/BarNavList.d.ts.map +0 -0
  630. /package/{types → lib}/components/sections/navigation/skeletons/index.d.ts +0 -0
  631. /package/{types → lib}/components/sections/navigation/skeletons/index.d.ts.map +0 -0
  632. /package/{types → lib}/components/sections/news/NewsAuthorCard.d.ts +0 -0
  633. /package/{types → lib}/components/sections/news/NewsAuthorCard.d.ts.map +0 -0
  634. /package/{types → lib}/components/sections/news/NewsFooter.d.ts +0 -0
  635. /package/{types → lib}/components/sections/news/NewsFooter.d.ts.map +0 -0
  636. /package/{types → lib}/components/sections/news/NewsImages.d.ts +0 -0
  637. /package/{types → lib}/components/sections/news/NewsImages.d.ts.map +0 -0
  638. /package/{types → lib}/components/sections/news/NewsIntro.d.ts +0 -0
  639. /package/{types → lib}/components/sections/news/NewsIntro.d.ts.map +0 -0
  640. /package/{types → lib}/components/sections/news/NewsList.d.ts +0 -0
  641. /package/{types → lib}/components/sections/news/NewsList.d.ts.map +0 -0
  642. /package/{types → lib}/components/sections/news/NewsOverview.d.ts +0 -0
  643. /package/{types → lib}/components/sections/news/NewsOverview.d.ts.map +0 -0
  644. /package/{types → lib}/components/sections/news/NewsTable.d.ts +0 -0
  645. /package/{types → lib}/components/sections/news/NewsTable.d.ts.map +0 -0
  646. /package/{types → lib}/components/sections/news/NewsText.d.ts +0 -0
  647. /package/{types → lib}/components/sections/news/NewsText.d.ts.map +0 -0
  648. /package/{types → lib}/components/sections/news/NewsVideo.d.ts +0 -0
  649. /package/{types → lib}/components/sections/news/NewsVideo.d.ts.map +0 -0
  650. /package/{types → lib}/components/sections/pois/PointOfInterestDetail.d.ts +0 -0
  651. /package/{types → lib}/components/sections/pois/PointOfInterestDetail.d.ts.map +0 -0
  652. /package/{types → lib}/components/sections/pois/PointOfInterestMap.d.ts +0 -0
  653. /package/{types → lib}/components/sections/pois/PointOfInterestMap.d.ts.map +0 -0
  654. /package/{types → lib}/components/sections/pois/PointOfInterestOverview.d.ts +0 -0
  655. /package/{types → lib}/components/sections/pois/PointOfInterestOverview.d.ts.map +0 -0
  656. /package/{types → lib}/components/typography/Copy.d.ts +0 -0
  657. /package/{types → lib}/components/typography/Copy.d.ts.map +0 -0
  658. /package/{types → lib}/components/typography/Heading.d.ts +0 -0
  659. /package/{types → lib}/components/typography/Heading.d.ts.map +0 -0
  660. /package/{types → lib}/components/typography/Link.d.ts +0 -0
  661. /package/{types → lib}/components/typography/Link.d.ts.map +0 -0
  662. /package/{types → lib}/utils/LibThemeProvider.d.ts +0 -0
  663. /package/{types → lib}/utils/LibThemeProvider.d.ts.map +0 -0
  664. /package/{types → lib}/utils/arrays.d.ts +0 -0
  665. /package/{types → lib}/utils/arrays.d.ts.map +0 -0
  666. /package/{types → lib}/utils/backgroundImage.d.ts +0 -0
  667. /package/{types → lib}/utils/backgroundImage.d.ts.map +0 -0
  668. /package/{types → lib}/utils/clamp.d.ts +0 -0
  669. /package/{types → lib}/utils/clamp.d.ts.map +0 -0
  670. /package/{types → lib}/utils/concat.d.ts +0 -0
  671. /package/{types → lib}/utils/concat.d.ts.map +0 -0
  672. /package/{types → lib}/utils/cookie-consent/cookie.d.ts +0 -0
  673. /package/{types → lib}/utils/cookie-consent/cookie.d.ts.map +0 -0
  674. /package/{types → lib}/utils/cookie-consent/mutations.d.ts +0 -0
  675. /package/{types → lib}/utils/cookie-consent/mutations.d.ts.map +0 -0
  676. /package/{types → lib}/utils/cookie-consent/useCookieConsent.d.ts +0 -0
  677. /package/{types → lib}/utils/cookie-consent/useCookieConsent.d.ts.map +0 -0
  678. /package/{types → lib}/utils/dataURI.d.ts +0 -0
  679. /package/{types → lib}/utils/dataURI.d.ts.map +0 -0
  680. /package/{types → lib}/utils/escape.d.ts +0 -0
  681. /package/{types → lib}/utils/escape.d.ts.map +0 -0
  682. /package/{types → lib}/utils/filters.d.ts +0 -0
  683. /package/{types → lib}/utils/filters.d.ts.map +0 -0
  684. /package/{types → lib}/utils/fontLoading.d.ts +0 -0
  685. /package/{types → lib}/utils/fontLoading.d.ts.map +0 -0
  686. /package/{types → lib}/utils/formFieldText.d.ts +0 -0
  687. /package/{types → lib}/utils/formFieldText.d.ts.map +0 -0
  688. /package/{types → lib}/utils/getLinkIcon.d.ts +0 -0
  689. /package/{types → lib}/utils/getLinkIcon.d.ts.map +0 -0
  690. /package/{types → lib}/utils/hexRgbConverter.d.ts +0 -0
  691. /package/{types → lib}/utils/hexRgbConverter.d.ts.map +0 -0
  692. /package/{types → lib}/utils/menuHooks.d.ts +0 -0
  693. /package/{types → lib}/utils/menuHooks.d.ts.map +0 -0
  694. /package/{types → lib}/utils/navigation.d.ts +0 -0
  695. /package/{types → lib}/utils/navigation.d.ts.map +0 -0
  696. /package/{types → lib}/utils/statusFormatter.d.ts +0 -0
  697. /package/{types → lib}/utils/statusFormatter.d.ts.map +0 -0
  698. /package/{types → lib}/utils/storyHelpers.d.ts +0 -0
  699. /package/{types → lib}/utils/storyHelpers.d.ts.map +0 -0
  700. /package/{types → lib}/utils/structuredData.d.ts +0 -0
  701. /package/{types → lib}/utils/structuredData.d.ts.map +0 -0
  702. /package/{types → lib}/utils/types.d.ts +0 -0
  703. /package/{types → lib}/utils/types.d.ts.map +0 -0
  704. /package/{types → lib}/utils/urlParams.d.ts +0 -0
  705. /package/{types → lib}/utils/urlParams.d.ts.map +0 -0
  706. /package/{types → lib}/utils/useArray.d.ts +0 -0
  707. /package/{types → lib}/utils/useArray.d.ts.map +0 -0
  708. /package/{types → lib}/utils/useDebounce.d.ts +0 -0
  709. /package/{types → lib}/utils/useDebounce.d.ts.map +0 -0
  710. /package/{types → lib}/utils/useFontsLoaded.d.ts +0 -0
  711. /package/{types → lib}/utils/useFontsLoaded.d.ts.map +0 -0
  712. /package/{types → lib}/utils/useGeolocation.d.ts +0 -0
  713. /package/{types → lib}/utils/useGeolocation.d.ts.map +0 -0
  714. /package/{types → lib}/utils/useIE.d.ts +0 -0
  715. /package/{types → lib}/utils/useIE.d.ts.map +0 -0
  716. /package/{types → lib}/utils/useImgPreload.d.ts +0 -0
  717. /package/{types → lib}/utils/useImgPreload.d.ts.map +0 -0
  718. /package/{types → lib}/utils/useInterval.d.ts +0 -0
  719. /package/{types → lib}/utils/useInterval.d.ts.map +0 -0
  720. /package/{types → lib}/utils/useItemHeight.d.ts +0 -0
  721. /package/{types → lib}/utils/useItemHeight.d.ts.map +0 -0
  722. /package/{types → lib}/utils/useLazyInput.d.ts +0 -0
  723. /package/{types → lib}/utils/useLazyInput.d.ts.map +0 -0
  724. /package/{types → lib}/utils/useLeafletMap.d.ts +0 -0
  725. /package/{types → lib}/utils/useLeafletMap.d.ts.map +0 -0
  726. /package/{types → lib}/utils/useMounted.d.ts +0 -0
  727. /package/{types → lib}/utils/useMounted.d.ts.map +0 -0
  728. /package/{types → lib}/utils/useObserverSupport.d.ts +0 -0
  729. /package/{types → lib}/utils/useObserverSupport.d.ts.map +0 -0
  730. /package/{types → lib}/utils/usePageScroll.d.ts +0 -0
  731. /package/{types → lib}/utils/usePageScroll.d.ts.map +0 -0
  732. /package/{types → lib}/utils/useParams.d.ts +0 -0
  733. /package/{types → lib}/utils/useParams.d.ts.map +0 -0
  734. /package/{types → lib}/utils/usePoster.d.ts +0 -0
  735. /package/{types → lib}/utils/usePoster.d.ts.map +0 -0
  736. /package/{types → lib}/utils/usePrevious.d.ts +0 -0
  737. /package/{types → lib}/utils/usePrevious.d.ts.map +0 -0
  738. /package/{types → lib}/utils/useResizeThrottle.d.ts +0 -0
  739. /package/{types → lib}/utils/useResizeThrottle.d.ts.map +0 -0
  740. /package/{types → lib}/utils/useScroll.d.ts +0 -0
  741. /package/{types → lib}/utils/useScroll.d.ts.map +0 -0
  742. /package/{types → lib}/utils/useScrollIntoView.d.ts +0 -0
  743. /package/{types → lib}/utils/useScrollIntoView.d.ts.map +0 -0
  744. /package/{types → lib}/utils/useScrollThrottle.d.ts +0 -0
  745. /package/{types → lib}/utils/useScrollThrottle.d.ts.map +0 -0
  746. /package/{types → lib}/utils/useScrollTo.d.ts +0 -0
  747. /package/{types → lib}/utils/useScrollTo.d.ts.map +0 -0
  748. /package/{types → lib}/utils/useTimeout.d.ts +0 -0
  749. /package/{types → lib}/utils/useTimeout.d.ts.map +0 -0
  750. /package/{types → lib}/utils/useTouch.d.ts +0 -0
  751. /package/{types → lib}/utils/useTouch.d.ts.map +0 -0
  752. /package/{types → lib}/utils/useUpdateEffect.d.ts +0 -0
  753. /package/{types → lib}/utils/useUpdateEffect.d.ts.map +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"FilterField-f423b4d1.js","sources":["../src/components/fields/FormField.tsx","../src/utils/formFieldText.ts","../src/components/fields/LocationField.tsx","../node_modules/date-fns/esm/_lib/toInteger/index.js","../node_modules/date-fns/esm/_lib/requiredArgs/index.js","../node_modules/date-fns/esm/toDate/index.js","../node_modules/date-fns/esm/addMilliseconds/index.js","../node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","../node_modules/date-fns/esm/isDate/index.js","../node_modules/date-fns/esm/isValid/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","../node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","../node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","../node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","../node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","../node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","../node_modules/date-fns/esm/locale/en-US/index.js","../node_modules/date-fns/esm/subMilliseconds/index.js","../node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js","../node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js","../node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js","../node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","../node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js","../node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js","../node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js","../node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js","../node_modules/date-fns/esm/_lib/getUTCWeek/index.js","../node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","../node_modules/date-fns/esm/_lib/format/lightFormatters/index.js","../node_modules/date-fns/esm/_lib/format/formatters/index.js","../node_modules/date-fns/esm/_lib/format/longFormatters/index.js","../node_modules/date-fns/esm/_lib/protectedTokens/index.js","../node_modules/date-fns/esm/format/index.js","../node_modules/date-fns/esm/isBefore/index.js","../node_modules/date-fns/esm/isEqual/index.js","../node_modules/date-fns/esm/locale/de/_lib/formatDistance/index.js","../node_modules/date-fns/esm/locale/de/_lib/formatLong/index.js","../node_modules/date-fns/esm/locale/de/_lib/formatRelative/index.js","../node_modules/date-fns/esm/locale/de/_lib/localize/index.js","../node_modules/date-fns/esm/locale/de/_lib/match/index.js","../node_modules/date-fns/esm/locale/de/index.js","../src/components/fields/Datepicker.tsx","../src/components/fields/Radio.tsx","../src/components/fields/Textarea.tsx","../src/components/fields/Textfield.tsx","../src/components/fields/SelectDropdown.tsx","../src/components/fields/FileUpload.tsx","../src/components/base/icons/Magnifier.tsx","../src/components/fields/FilterField.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\n\nimport Copy from 'components/typography/Copy';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport { spacings } from 'utils/styles';\n\nconst View = styled.label<{ isDisabled?: boolean }>`\n display: block;\n text-align: left;\n\n pointer-events: ${({ isDisabled }) => isDisabled && 'none'};\n user-select: ${({ isDisabled }) => isDisabled && 'none'};\n opacity: ${({ isDisabled }) => (isDisabled ? 0.3 : 1)};\n`;\n\nconst FieldHead = styled(Copy)`\n display: inline-flex;\n flex-direction: row;\n align-items: top;\n justify-content: space-between;\n padding-bottom: ${spacings.nudge}px;\n`;\n\nconst FieldMessage = styled(Copy)`\n margin-top: ${spacings.nudge}px;\n`;\n\nexport interface FieldProps {\n label?: string;\n errorMessage?: string;\n infoMessage?: string;\n isRequired?: boolean;\n isDisabled?: boolean;\n isInverted?: boolean;\n}\n\nconst FieldWrapper: React.FC<{\n isDisabled?: boolean;\n onClick?: (ev: React.SyntheticEvent<HTMLLabelElement>) => void;\n className?: string;\n children: React.ReactNode;\n}> = ({ isDisabled, onClick, className, children }) => {\n return (\n <View onClick={onClick} isDisabled={isDisabled} className={className}>\n {children}\n </View>\n );\n};\n\nconst Head: React.FC<{\n label?: string;\n isRequired?: boolean;\n isInverted?: boolean;\n className?: string;\n}> = ({ label, isRequired, isInverted, className }) => {\n if (!label) return null;\n return (\n <FieldHead\n renderAs=\"span\"\n isInverted={isInverted}\n size=\"small\"\n type=\"copy-b\"\n className={className}\n >\n {`${label}${isRequired ? ' *' : ''}`}\n </FieldHead>\n );\n};\n\nconst Messages: React.FC<{\n errorMessage?: string;\n infoMessage?: string;\n isInverted?: boolean;\n}> = ({ errorMessage, infoMessage, isInverted }) => {\n const { colors } = useLibTheme();\n\n return (\n <React.Fragment>\n {infoMessage && (\n <FieldMessage size=\"small\" type=\"copy\" isInverted={isInverted}>\n {infoMessage}\n </FieldMessage>\n )}\n {errorMessage && (\n <FieldMessage\n size=\"small\"\n type=\"copy\"\n textColor={\n isInverted\n ? colors.text.errorInverted\n : colors.text.error\n }\n >\n {errorMessage\n ? errorMessage\n : 'Bitte geben Sie einen gültigen Text ein'}\n </FieldMessage>\n )}\n </React.Fragment>\n );\n};\n\nconst Content: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const addWrapper =\n typeof children === 'string' || children instanceof String;\n\n if (addWrapper) return <span>{children}</span>;\n return <React.Fragment>{children}</React.Fragment>;\n};\n\nexport default {\n View: FieldWrapper,\n Head: Head,\n Messages: Messages,\n Content: Content,\n};\n","import { DefaultTheme } from 'styled-components';\n\nimport { getFonts as font } from 'utils/styles';\nimport { clampValue } from './clamp';\n\nexport const getFormFieldTextSize = (\n theme: DefaultTheme\n): [number, number?] => {\n const min = clampValue(font(theme).copy.small.size[0], 16);\n const max = font(theme).copy.small.size[1];\n return [min, max];\n};\n","import React, { FC, useCallback, useEffect, useRef, useState } from 'react';\nimport styled from 'styled-components';\n\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport {\n getColors as color,\n getFonts as font,\n spacings,\n getGlobals as global,\n withRange,\n} from 'utils/styles';\nimport FieldWrapper from './FormField';\nimport { getFormFieldTextSize } from 'utils/formFieldText';\nimport useLeafletMap, { LeafletMapMarker } from 'utils/useLeafletMap';\nimport LocationPin from 'components/base/icons/LocationPin';\nimport { getSVGDataImg } from 'utils/dataURI';\nimport { LocationIcon } from 'components/sections/Map';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport { LeafletMouseEvent } from 'leaflet';\nimport useLazyInput from 'utils/useLazyInput';\nimport useUpdateEffect from 'utils/useUpdateEffect';\nimport useGeolocation from 'utils/useGeolocation';\nimport * as Icons from 'icons';\n\nconst MapWrapper = styled.div<{ isVisible?: boolean }>`\n display: ${({ isVisible }) => (isVisible ? 'block' : 'none')};\n position: relative;\n`;\n\nconst MapContainer = styled.div`\n position: relative;\n width: 100%;\n height: 290px;\n z-index: 0;\n outline: none;\n`;\n\nconst ViewToggle = styled.button`\n display: flex;\n flex-direction: row;\n align-items: center;\n background: none;\n border: none;\n padding: ${spacings.nudge}px 0;\n padding-bottom: ${spacings.nudge * 2}px;\n\n cursor: pointer;\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst ToggleText = styled(Copy)`\n line-height: 1;\n`;\n\nconst ResetMap = styled.div`\n position: absolute;\n top: ${spacings.nudge}px;\n right: ${spacings.nudge}px;\n`;\n\nconst ResetMapControl = styled.button`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: 0;\n padding: ${spacings.nudge}px;\n margin-top: -${spacings.nudge}px;\n margin-right: -${spacings.nudge}px;\n\n cursor: pointer;\n transition: color 0.2s ease-in-out;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ${({ theme }) => color(theme).primary.default};\n }\n }\n\n &:focus {\n outline: 1px solid ${({ theme }) => color(theme).primary.default};\n outline-offset: 0;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n`;\n\nconst TrackLocation = styled.div`\n position: absolute;\n bottom: ${spacings.nudge * 2}px;\n right: ${spacings.nudge}px;\n`;\n\nconst TrackLocationControl = styled.button`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: ${({ theme }) => color(theme).elementBg.dark};\n border: none;\n padding: 0.7em;\n min-height: 40px;\n\n ${copyStyle('copy', 'small')}\n color: ${({ theme }) => font(theme).copy.small.colorInverted};\n cursor: pointer;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.25);\n }\n }\n\n &:focus {\n text-decoration: underline;\n box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.25);\n }\n\n &:focus:not(:focus-visible) {\n text-decoration: none;\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.3);\n }\n`;\n\nconst FieldView = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n & > * + * {\n margin-left: 16px;\n }\n`;\n\nconst Area = styled.textarea<{\n isInverted?: boolean;\n hasError?: boolean;\n isDisabled?: boolean;\n hasBack?: boolean;\n}>`\n display: block;\n outline: none;\n width: 100%;\n min-height: 100px;\n box-shadow: none;\n border-radius: 0px;\n -webkit-appearance: none;\n\n resize: none;\n\n padding: ${spacings.nudge}px;\n\n border: 1px solid\n ${({ theme, isInverted, hasError }) => {\n if (isInverted) {\n return hasError\n ? color(theme).errorInverted\n : color(theme).elementBg.light;\n }\n return hasError ? color(theme).error : color(theme).elementBg.dark;\n }};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n background: transparent;\n\n ${copyStyle('copy', 'small')}\n /** Clamping min font size to 16px to prevent browser zooming */\n ${({ theme }) => withRange(getFormFieldTextSize(theme), 'font-size')}\n \n color: ${({ theme, isInverted, hasError }) => {\n if (isInverted) {\n return hasError\n ? color(theme).text.errorInverted\n : font(theme).copy.small.colorInverted;\n }\n return hasError\n ? color(theme).text.error\n : font(theme).copy.small.color;\n }};\n\n &:active {\n border: ${({ theme, isInverted }) =>\n `1px solid ${\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n }\n\n &:focus {\n outline: ${({ theme, isInverted }) =>\n `1px solid ${\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n outline-offset: 0;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n &::placeholder {\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).text.subtileInverted\n : color(theme).text.subtile};\n }\n`;\n\nexport interface LocationProps {\n city?: string;\n street?: string;\n streetNumber?: string;\n postal?: string;\n country?: string;\n}\n\nexport interface LocationData {\n description: string;\n position?: [number, number];\n}\n\nexport interface LocationFieldProps {\n enableMemo?: boolean;\n label?: string;\n errorMessage?: string;\n infoMessage?: string;\n isRequired?: boolean;\n isDisabled?: boolean;\n isInverted?: boolean;\n name?: string;\n placeholder?: string;\n value?: LocationData;\n /** Position of map if no value with position data is defined */\n initialMapCenter?: [number, number];\n marker?: LocationIcon;\n zoom?: number;\n onChange?: (value: LocationData) => void;\n onBlur?: (value: LocationData) => void;\n customToggle?: (props: {\n isInverted?: boolean;\n viewState?: 'desc' | 'map';\n handleClick?: () => void;\n }) => React.ReactNode;\n customLocationControl?: (props: {\n isInverted?: boolean;\n handleClick?: () => void;\n }) => React.ReactNode;\n customResetControl?: (props: {\n isInverted?: boolean;\n handleClick?: () => void;\n }) => React.ReactNode;\n toggleLabel?: string;\n trackLocationLabel?: string;\n}\n\nconst LocationField: FC<LocationFieldProps> = ({\n label,\n errorMessage,\n infoMessage,\n isRequired,\n isDisabled,\n isInverted,\n placeholder,\n value,\n name,\n marker,\n initialMapCenter,\n zoom = 10,\n onChange,\n onBlur,\n customToggle,\n customLocationControl,\n customResetControl,\n toggleLabel = 'Select location on map',\n trackLocationLabel = 'My location',\n}) => {\n if (isDisabled) {\n errorMessage = '';\n }\n\n const { colors, fonts } = useLibTheme();\n\n const [useMapView, setUseMapView] = useState<boolean>(false);\n const [getValue, setValue] = useState<LocationData>(\n value || { description: '' }\n );\n const prevValue = useRef<LocationData | null>(null);\n const [markers, setMarkers] = useState<LeafletMapMarker[]>([]);\n\n const {\n value: descValue,\n update: setDescValue,\n forceUpdate,\n } = useLazyInput((value) => {\n setValue({\n description: value,\n position: undefined,\n });\n }, value?.description || '');\n\n const getMarkersFromPositions = useCallback(\n (positions: Array<[number, number]>) => {\n /** Markers */\n const defaultMarker: LocationIcon = {\n size: [28, 28],\n anchor: [14, 28],\n sizeActive: [70, 70],\n anchorActive: [35, 70],\n url: getSVGDataImg(<LocationPin />),\n };\n const markerList: LeafletMapMarker[] = [];\n\n for (const position of positions) {\n markerList.push({\n id: 'location',\n position: position,\n icon: marker || defaultMarker,\n });\n }\n\n return markerList;\n },\n [marker]\n );\n\n const {\n setContainer: setMapContainer,\n flyToPosition,\n recalculateMapSize,\n } = useLeafletMap({\n activeMarkerId: 'location',\n markers: markers,\n center: initialMapCenter,\n zoom: zoom,\n onClick: (ev) => {\n mapClickHandler(ev);\n },\n });\n\n // double click fix\n const doubleClickTimerRef = useRef<number | null>(null);\n\n const {\n isSupported: isGeolocationSupported,\n isEnabled,\n location,\n error,\n reset: resetLocationTracking,\n cancel: cancelGeolocation,\n } = useGeolocation(true, false);\n\n const setMapToInitial = useCallback(() => {\n flyToPosition(initialMapCenter, zoom);\n cancelGeolocation();\n }, [cancelGeolocation, flyToPosition, initialMapCenter, zoom]);\n\n const handleMapClick = (newPos: [number, number]) => {\n cancelGeolocation();\n\n // set marker\n const markers = getMarkersFromPositions([newPos]);\n setMarkers(markers);\n setValue({\n description: '',\n position: newPos,\n });\n };\n\n const handleTrackClick = () => {\n // if we have old location set marker, map and value\n setToCurrentLocation();\n resetLocationTracking();\n };\n\n const mapClickHandler = (ev: LeafletMouseEvent) => {\n const newPos: [number, number] = [ev.latlng.lat, ev.latlng.lng];\n\n if (doubleClickTimerRef.current === null) {\n doubleClickTimerRef.current = window.setTimeout(() => {\n handleMapClick(newPos);\n doubleClickTimerRef.current = null;\n }, 300);\n } else {\n window.clearTimeout(doubleClickTimerRef.current);\n doubleClickTimerRef.current = null;\n }\n };\n\n const setToCurrentLocation = useCallback(() => {\n if (!location) return;\n\n const newPos: [number, number] = [\n location.coords.latitude,\n location.coords.longitude,\n ];\n\n const marker = getMarkersFromPositions([newPos]);\n setMarkers(marker);\n flyToPosition(newPos, 14);\n\n setValue({\n description: '',\n position: newPos,\n });\n }, [flyToPosition, getMarkersFromPositions, location]);\n\n const toggleViewState = () => {\n setUseMapView((prev) => !prev);\n };\n\n useEffect(() => {\n if (isEnabled && location && !error) {\n setToCurrentLocation();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [error, location, isEnabled]);\n\n useEffect(() => {\n setValue({ description: '', position: undefined });\n\n // recalculate map on view change\n if (useMapView) {\n recalculateMapSize();\n setDescValue('');\n } else {\n setMarkers([]);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [useMapView, recalculateMapSize, descValue]);\n\n useUpdateEffect(() => {\n const prev = prevValue.current;\n if (\n !prev ||\n prev.description !== getValue.description ||\n prev.position?.[0] !== getValue.position?.[0] ||\n prev.position?.[1] !== getValue.position?.[1]\n ) {\n prevValue.current = getValue;\n onChange?.(getValue);\n }\n }, [getValue]);\n\n return (\n <React.Fragment>\n {name && (\n <input\n type=\"hidden\"\n name={`${name}[\"location\"]`}\n value={`${getValue?.position?.[0]},${getValue?.position?.[1]}`}\n />\n )}\n\n <FieldWrapper.View\n isDisabled={isDisabled}\n onClick={(ev) => ev.preventDefault()}\n >\n <FieldWrapper.Head\n label={label}\n isRequired={isRequired}\n isInverted={isInverted}\n />\n {customToggle ? (\n customToggle({\n isInverted,\n viewState: useMapView ? 'map' : 'desc',\n handleClick: toggleViewState,\n })\n ) : (\n <ViewToggle type=\"button\" onClick={toggleViewState}>\n {useMapView ? (\n <Icons.ToggleOn\n iconColor={\n isInverted\n ? colors.primary.inverted\n : colors.primary.default\n }\n />\n ) : (\n <Icons.ToggleOff\n iconColor={\n isInverted\n ? fonts.copy.small.colorInverted\n : fonts.copy.small.color\n }\n />\n )}\n <ToggleText\n size=\"small\"\n renderAs=\"span\"\n isInverted={isInverted}\n >\n {toggleLabel}\n </ToggleText>\n </ViewToggle>\n )}\n\n <MapWrapper isVisible={useMapView}>\n <MapContainer\n ref={setMapContainer}\n tabIndex={0}\n onClick={() => {\n forceUpdate();\n onBlur?.(getValue);\n }}\n />\n <ResetMap>\n {customResetControl ? (\n customResetControl({\n isInverted,\n handleClick: setMapToInitial,\n })\n ) : (\n <ResetMapControl onClick={setMapToInitial}>\n <Icons.LocationSearch />\n </ResetMapControl>\n )}\n </ResetMap>\n {isGeolocationSupported && (\n <TrackLocation>\n {customLocationControl ? (\n customLocationControl({\n isInverted,\n handleClick: handleTrackClick,\n })\n ) : (\n <TrackLocationControl\n onClick={handleTrackClick}\n >\n {trackLocationLabel}\n </TrackLocationControl>\n )}\n </TrackLocation>\n )}\n </MapWrapper>\n {!useMapView && (\n <React.Fragment>\n <FieldView>\n <FieldWrapper.Content>\n <Area\n placeholder={placeholder}\n hasError={!!errorMessage}\n isInverted={isInverted}\n name={`${name}[\"description\"]`}\n value={descValue}\n required={isRequired}\n onChange={(ev) => {\n const value = ev.currentTarget.value;\n setDescValue(value);\n }}\n onBlur={() => {\n forceUpdate();\n onBlur?.(getValue);\n }}\n />\n </FieldWrapper.Content>\n </FieldView>\n </React.Fragment>\n )}\n <FieldWrapper.Messages\n infoMessage={infoMessage}\n errorMessage={errorMessage}\n isInverted={isInverted}\n />\n </FieldWrapper.View>\n </React.Fragment>\n );\n};\n\n/**\n * Function to compare both field prop states\n * @param prev Previous props\n * @param next Next props\n * @returns\n */\nconst areEqual = (prev: LocationFieldProps, next: LocationFieldProps) => {\n // only apply logic if memo functionality is enabled\n if (!prev.enableMemo) return false;\n\n if (prev.errorMessage !== next.errorMessage) return false;\n if (prev.infoMessage !== next.infoMessage) return false;\n if (prev.label !== next.label) return false;\n if (prev.toggleLabel !== next.toggleLabel) return false;\n if (prev.placeholder !== next.placeholder) return false;\n if (prev.value?.description !== next.value?.description) return false;\n if (\n prev.value?.position?.[0] !== next.value?.position?.[0] ||\n prev.value?.position?.[1] !== next.value?.position?.[1]\n ) {\n return false;\n }\n\n return true;\n};\n\nexport default React.memo(LocationField, areEqual);\n","export default function toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n\n var number = Number(dirtyNumber);\n\n if (isNaN(number)) {\n return number;\n }\n\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}","export default function requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}","import requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\n\nexport default function toDate(argument) {\n requiredArgs(1, arguments);\n var argStr = Object.prototype.toString.call(argument); // Clone the date\n\n if (argument instanceof Date || typeof argument === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule\"); // eslint-disable-next-line no-console\n\n console.warn(new Error().stack);\n }\n\n return new Date(NaN);\n }\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * const result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\n\nexport default function addMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var timestamp = toDate(dirtyDate).getTime();\n var amount = toInteger(dirtyAmount);\n return new Date(timestamp + amount);\n}","/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport default function getTimezoneOffsetInMilliseconds(date) {\n var utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n utcDate.setUTCFullYear(date.getFullYear());\n return date.getTime() - utcDate.getTime();\n}","import requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {*} value - the value to check\n * @returns {boolean} true if the given value is a date\n * @throws {TypeError} 1 arguments required\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\n\nexport default function isDate(value) {\n requiredArgs(1, arguments);\n return value instanceof Date || typeof value === 'object' && Object.prototype.toString.call(value) === '[object Date]';\n}","import isDate from \"../isDate/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - Now `isValid` doesn't throw an exception\n * if the first argument is not an instance of Date.\n * Instead, argument is converted beforehand using `toDate`.\n *\n * Examples:\n *\n * | `isValid` argument | Before v2.0.0 | v2.0.0 onward |\n * |---------------------------|---------------|---------------|\n * | `new Date()` | `true` | `true` |\n * | `new Date('2016-01-01')` | `true` | `true` |\n * | `new Date('')` | `false` | `false` |\n * | `new Date(1488370835081)` | `true` | `true` |\n * | `new Date(NaN)` | `false` | `false` |\n * | `'2016-01-01'` | `TypeError` | `false` |\n * | `''` | `TypeError` | `false` |\n * | `1488370835081` | `TypeError` | `true` |\n * | `NaN` | `TypeError` | `false` |\n *\n * We introduce this change to make *date-fns* consistent with ECMAScript behavior\n * that try to coerce arguments to the expected type\n * (which is also the case with other *date-fns* functions).\n *\n * @param {*} date - the date to check\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\n\nexport default function isValid(dirtyDate) {\n requiredArgs(1, arguments);\n\n if (!isDate(dirtyDate) && typeof dirtyDate !== 'number') {\n return false;\n }\n\n var date = toDate(dirtyDate);\n return !isNaN(Number(date));\n}","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n halfAMinute: 'half a minute',\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n aboutXWeeks: {\n one: 'about 1 week',\n other: 'about {{count}} weeks'\n },\n xWeeks: {\n one: '1 week',\n other: '{{count}} weeks'\n },\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\n\nvar formatDistance = function (token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', count.toString());\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'in ' + result;\n } else {\n return result + ' ago';\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","export default function buildFormatLongFn(args) {\n return function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // TODO: Remove String()\n var width = options.width ? String(options.width) : args.defaultWidth;\n var format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\n\nvar formatRelative = function (token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","export default function buildLocalizeFn(args) {\n return function (dirtyIndex, dirtyOptions) {\n var options = dirtyOptions || {};\n var context = options.context ? String(options.context) : 'standalone';\n var valuesArray;\n\n if (context === 'formatting' && args.formattingValues) {\n var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n var width = options.width ? String(options.width) : defaultWidth;\n valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n var _defaultWidth = args.defaultWidth;\n\n var _width = options.width ? String(options.width) : args.defaultWidth;\n\n valuesArray = args.values[_width] || args.values[_defaultWidth];\n }\n\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex; // @ts-ignore: For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n\n return valuesArray[index];\n };\n}","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter']\n}; // Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\n\nvar ordinalNumber = function (dirtyNumber, _options) {\n var number = Number(dirtyNumber); // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n var rem100 = number % 100;\n\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st';\n\n case 2:\n return number + 'nd';\n\n case 3:\n return number + 'rd';\n }\n }\n\n return number + 'th';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function (quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","export default function buildMatchFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var width = options.width;\n var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n var matchResult = string.match(matchPattern);\n\n if (!matchResult) {\n return null;\n }\n\n var matchedString = matchResult[0];\n var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n }) : findKey(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n var value;\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}\n\nfunction findKey(object, predicate) {\n for (var key in object) {\n if (object.hasOwnProperty(key) && predicate(object[key])) {\n return key;\n }\n }\n\n return undefined;\n}\n\nfunction findIndex(array, predicate) {\n for (var key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n\n return undefined;\n}","export default function buildMatchPatternFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n var matchedString = matchResult[0];\n var parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function (value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function (index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\nvar locale = {\n code: 'en-US',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0\n /* Sunday */\n ,\n firstWeekContainsDate: 1\n }\n};\nexport default locale;","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * const result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\n\nexport default function subMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, -amount);\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function getUTCDayOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var timestamp = date.getTime();\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n var startOfYearTimestamp = date.getTime();\n var difference = timestamp - startOfYearTimestamp;\n return Math.floor(difference / MILLISECONDS_IN_DAY) + 1;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\"; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function startOfUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var weekStartsOn = 1;\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\"; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function getUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCISOWeek(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCISOWeek(fourthOfJanuaryOfThisYear);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","import getUTCISOWeekYear from \"../getUTCISOWeekYear/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\"; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function startOfUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var year = getUTCISOWeekYear(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setUTCFullYear(year, 0, 4);\n fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCISOWeek(fourthOfJanuary);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport startOfUTCISOWeekYear from \"../startOfUTCISOWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function getUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCISOWeek(date).getTime() - startOfUTCISOWeekYear(date).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\"; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function startOfUTCWeek(dirtyDate, dirtyOptions) {\n requiredArgs(1, arguments);\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeWeekStartsOn = locale && locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : toInteger(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\"; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function getUTCWeekYear(dirtyDate, dirtyOptions) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : toInteger(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCWeek(firstWeekOfNextYear, dirtyOptions);\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCWeek(firstWeekOfThisYear, dirtyOptions);\n\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","import getUTCWeekYear from \"../getUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\"; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function startOfUTCWeekYear(dirtyDate, dirtyOptions) {\n requiredArgs(1, arguments);\n var options = dirtyOptions || {};\n var locale = options.locale;\n var localeFirstWeekContainsDate = locale && locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : toInteger(options.firstWeekContainsDate);\n var year = getUTCWeekYear(dirtyDate, dirtyOptions);\n var firstWeek = new Date(0);\n firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCWeek(firstWeek, dirtyOptions);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport startOfUTCWeekYear from \"../startOfUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000; // This function will be a part of public API when UTC function will be implemented.\n// See issue: https://github.com/date-fns/date-fns/issues/376\n\nexport default function getUTCWeek(dirtyDate, options) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCWeek(date, options).getTime() - startOfUTCWeekYear(date, options).getTime(); // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","export default function addLeadingZeros(number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n\n while (output.length < targetLength) {\n output = '0' + output;\n }\n\n return sign + output;\n}","import addLeadingZeros from \"../../addLeadingZeros/index.js\";\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\n\nvar formatters = {\n // Year\n y: function (date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === 'yy' ? year % 100 : year, token.length);\n },\n // Month\n M: function (date, token) {\n var month = date.getUTCMonth();\n return token === 'M' ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n // Day of the month\n d: function (date, token) {\n return addLeadingZeros(date.getUTCDate(), token.length);\n },\n // AM or PM\n a: function (date, token) {\n var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n return dayPeriodEnumValue.toUpperCase();\n\n case 'aaa':\n return dayPeriodEnumValue;\n\n case 'aaaaa':\n return dayPeriodEnumValue[0];\n\n case 'aaaa':\n default:\n return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.';\n }\n },\n // Hour [1-12]\n h: function (date, token) {\n return addLeadingZeros(date.getUTCHours() % 12 || 12, token.length);\n },\n // Hour [0-23]\n H: function (date, token) {\n return addLeadingZeros(date.getUTCHours(), token.length);\n },\n // Minute\n m: function (date, token) {\n return addLeadingZeros(date.getUTCMinutes(), token.length);\n },\n // Second\n s: function (date, token) {\n return addLeadingZeros(date.getUTCSeconds(), token.length);\n },\n // Fraction of second\n S: function (date, token) {\n var numberOfDigits = token.length;\n var milliseconds = date.getUTCMilliseconds();\n var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n return addLeadingZeros(fractionalSeconds, token.length);\n }\n};\nexport default formatters;","import getUTCDayOfYear from \"../../../_lib/getUTCDayOfYear/index.js\";\nimport getUTCISOWeek from \"../../../_lib/getUTCISOWeek/index.js\";\nimport getUTCISOWeekYear from \"../../../_lib/getUTCISOWeekYear/index.js\";\nimport getUTCWeek from \"../../../_lib/getUTCWeek/index.js\";\nimport getUTCWeekYear from \"../../../_lib/getUTCWeekYear/index.js\";\nimport addLeadingZeros from \"../../addLeadingZeros/index.js\";\nimport lightFormatters from \"../lightFormatters/index.js\";\nvar dayPeriodEnum = {\n am: 'am',\n pm: 'pm',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n};\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nvar formatters = {\n // Era\n G: function (date, token, localize) {\n var era = date.getUTCFullYear() > 0 ? 1 : 0;\n\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return localize.era(era, {\n width: 'abbreviated'\n });\n // A, B\n\n case 'GGGGG':\n return localize.era(era, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n\n case 'GGGG':\n default:\n return localize.era(era, {\n width: 'wide'\n });\n }\n },\n // Year\n y: function (date, token, localize) {\n // Ordinal number\n if (token === 'yo') {\n var signedYear = date.getUTCFullYear(); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, {\n unit: 'year'\n });\n }\n\n return lightFormatters.y(date, token);\n },\n // Local week-numbering year\n Y: function (date, token, localize, options) {\n var signedWeekYear = getUTCWeekYear(date, options); // Returns 1 for 1 BC (which is year 0 in JavaScript)\n\n var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear; // Two digit year\n\n if (token === 'YY') {\n var twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n } // Ordinal number\n\n\n if (token === 'Yo') {\n return localize.ordinalNumber(weekYear, {\n unit: 'year'\n });\n } // Padding\n\n\n return addLeadingZeros(weekYear, token.length);\n },\n // ISO week-numbering year\n R: function (date, token) {\n var isoWeekYear = getUTCISOWeekYear(date); // Padding\n\n return addLeadingZeros(isoWeekYear, token.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function (date, token) {\n var year = date.getUTCFullYear();\n return addLeadingZeros(year, token.length);\n },\n // Quarter\n Q: function (date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'QQ':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'Qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'QQQ':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'QQQQQ':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'QQQQ':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone quarter\n q: function (date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n return String(quarter);\n // 01, 02, 03, 04\n\n case 'qq':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n\n case 'qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n\n case 'qqq':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n\n case 'qqqqq':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n\n case 'qqqq':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Month\n M: function (date, token, localize) {\n var month = date.getUTCMonth();\n\n switch (token) {\n case 'M':\n case 'MM':\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n\n case 'Mo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'MMM':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // J, F, ..., D\n\n case 'MMMMM':\n return localize.month(month, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n\n case 'MMMM':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone month\n L: function (date, token, localize) {\n var month = date.getUTCMonth();\n\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return String(month + 1);\n // 01, 02, ..., 12\n\n case 'LL':\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n\n case 'Lo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n\n case 'LLL':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // J, F, ..., D\n\n case 'LLLLL':\n return localize.month(month, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n\n case 'LLLL':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Local week of year\n w: function (date, token, localize, options) {\n var week = getUTCWeek(date, options);\n\n if (token === 'wo') {\n return localize.ordinalNumber(week, {\n unit: 'week'\n });\n }\n\n return addLeadingZeros(week, token.length);\n },\n // ISO week of year\n I: function (date, token, localize) {\n var isoWeek = getUTCISOWeek(date);\n\n if (token === 'Io') {\n return localize.ordinalNumber(isoWeek, {\n unit: 'week'\n });\n }\n\n return addLeadingZeros(isoWeek, token.length);\n },\n // Day of the month\n d: function (date, token, localize) {\n if (token === 'do') {\n return localize.ordinalNumber(date.getUTCDate(), {\n unit: 'date'\n });\n }\n\n return lightFormatters.d(date, token);\n },\n // Day of year\n D: function (date, token, localize) {\n var dayOfYear = getUTCDayOfYear(date);\n\n if (token === 'Do') {\n return localize.ordinalNumber(dayOfYear, {\n unit: 'dayOfYear'\n });\n }\n\n return addLeadingZeros(dayOfYear, token.length);\n },\n // Day of week\n E: function (date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'EEEEE':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'EEEEEE':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'EEEE':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Local day of week\n e: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case 'e':\n return String(localDayOfWeek);\n // Padded numerical value\n\n case 'ee':\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n\n case 'eo':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'eee':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'eeeee':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'eeeeee':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'eeee':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone local day of week\n c: function (date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n\n switch (token) {\n // Numerical value (same as in `e`)\n case 'c':\n return String(localDayOfWeek);\n // Padded numerical value\n\n case 'cc':\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n\n case 'co':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n\n case 'ccc':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // T\n\n case 'ccccc':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n\n case 'cccccc':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'standalone'\n });\n // Tuesday\n\n case 'cccc':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // ISO day of week\n i: function (date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n\n switch (token) {\n // 2\n case 'i':\n return String(isoDayOfWeek);\n // 02\n\n case 'ii':\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n\n case 'io':\n return localize.ordinalNumber(isoDayOfWeek, {\n unit: 'day'\n });\n // Tue\n\n case 'iii':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n\n case 'iiiii':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n\n case 'iiiiii':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n\n case 'iiii':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM or PM\n a: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n\n switch (token) {\n case 'a':\n case 'aa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'aaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n\n case 'aaaaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'aaaa':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM, PM, midnight, noon\n b: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n }\n\n switch (token) {\n case 'b':\n case 'bb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'bbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n\n case 'bbbbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'bbbb':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function (date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n\n case 'BBBBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n\n case 'BBBB':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Hour [1-12]\n h: function (date, token, localize) {\n if (token === 'ho') {\n var hours = date.getUTCHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return lightFormatters.h(date, token);\n },\n // Hour [0-23]\n H: function (date, token, localize) {\n if (token === 'Ho') {\n return localize.ordinalNumber(date.getUTCHours(), {\n unit: 'hour'\n });\n }\n\n return lightFormatters.H(date, token);\n },\n // Hour [0-11]\n K: function (date, token, localize) {\n var hours = date.getUTCHours() % 12;\n\n if (token === 'Ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n // Hour [1-24]\n k: function (date, token, localize) {\n var hours = date.getUTCHours();\n if (hours === 0) hours = 24;\n\n if (token === 'ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n\n return addLeadingZeros(hours, token.length);\n },\n // Minute\n m: function (date, token, localize) {\n if (token === 'mo') {\n return localize.ordinalNumber(date.getUTCMinutes(), {\n unit: 'minute'\n });\n }\n\n return lightFormatters.m(date, token);\n },\n // Second\n s: function (date, token, localize) {\n if (token === 'so') {\n return localize.ordinalNumber(date.getUTCSeconds(), {\n unit: 'second'\n });\n }\n\n return lightFormatters.s(date, token);\n },\n // Fraction of second\n S: function (date, token) {\n return lightFormatters.S(date, token);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n if (timezoneOffset === 0) {\n return 'Z';\n }\n\n switch (token) {\n // Hours and optional minutes\n case 'X':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n\n case 'XXXX':\n case 'XX':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n\n case 'XXXXX':\n case 'XXX': // Hours and minutes with `:` delimiter\n\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Hours and optional minutes\n case 'x':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n\n case 'xxxx':\n case 'xx':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n\n case 'xxxxx':\n case 'xxx': // Hours and minutes with `:` delimiter\n\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (GMT)\n O: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'O':\n case 'OO':\n case 'OOO':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\n case 'OOOO':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (specific non-location)\n z: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n\n switch (token) {\n // Short\n case 'z':\n case 'zz':\n case 'zzz':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n\n case 'zzzz':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Seconds timestamp\n t: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = Math.floor(originalDate.getTime() / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n // Milliseconds timestamp\n T: function (date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = originalDate.getTime();\n return addLeadingZeros(timestamp, token.length);\n }\n};\n\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n\n if (minutes === 0) {\n return sign + String(hours);\n }\n\n var delimiter = dirtyDelimiter || '';\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\n\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {\n if (offset % 60 === 0) {\n var sign = offset > 0 ? '-' : '+';\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n\n return formatTimezone(offset, dirtyDelimiter);\n}\n\nfunction formatTimezone(offset, dirtyDelimiter) {\n var delimiter = dirtyDelimiter || '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = addLeadingZeros(Math.floor(absOffset / 60), 2);\n var minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\n\nexport default formatters;","function dateLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'P':\n return formatLong.date({\n width: 'short'\n });\n\n case 'PP':\n return formatLong.date({\n width: 'medium'\n });\n\n case 'PPP':\n return formatLong.date({\n width: 'long'\n });\n\n case 'PPPP':\n default:\n return formatLong.date({\n width: 'full'\n });\n }\n}\n\nfunction timeLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'p':\n return formatLong.time({\n width: 'short'\n });\n\n case 'pp':\n return formatLong.time({\n width: 'medium'\n });\n\n case 'ppp':\n return formatLong.time({\n width: 'long'\n });\n\n case 'pppp':\n default:\n return formatLong.time({\n width: 'full'\n });\n }\n}\n\nfunction dateTimeLongFormatter(pattern, formatLong) {\n var matchResult = pattern.match(/(P+)(p+)?/) || [];\n var datePattern = matchResult[1];\n var timePattern = matchResult[2];\n\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n\n var dateTimeFormat;\n\n switch (datePattern) {\n case 'P':\n dateTimeFormat = formatLong.dateTime({\n width: 'short'\n });\n break;\n\n case 'PP':\n dateTimeFormat = formatLong.dateTime({\n width: 'medium'\n });\n break;\n\n case 'PPP':\n dateTimeFormat = formatLong.dateTime({\n width: 'long'\n });\n break;\n\n case 'PPPP':\n default:\n dateTimeFormat = formatLong.dateTime({\n width: 'full'\n });\n break;\n }\n\n return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));\n}\n\nvar longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter\n};\nexport default longFormatters;","var protectedDayOfYearTokens = ['D', 'DD'];\nvar protectedWeekYearTokens = ['YY', 'YYYY'];\nexport function isProtectedDayOfYearToken(token) {\n return protectedDayOfYearTokens.indexOf(token) !== -1;\n}\nexport function isProtectedWeekYearToken(token) {\n return protectedWeekYearTokens.indexOf(token) !== -1;\n}\nexport function throwProtectedError(token, format, input) {\n if (token === 'YYYY') {\n throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://git.io/fxCyr\"));\n } else if (token === 'YY') {\n throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://git.io/fxCyr\"));\n } else if (token === 'D') {\n throw new RangeError(\"Use `d` instead of `D` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://git.io/fxCyr\"));\n } else if (token === 'DD') {\n throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://git.io/fxCyr\"));\n }\n}","import isValid from \"../isValid/index.js\";\nimport defaultLocale from \"../locale/en-US/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport formatters from \"../_lib/format/formatters/index.js\";\nimport longFormatters from \"../_lib/format/longFormatters/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport { isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError } from \"../_lib/protectedTokens/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\"; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\n\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g; // This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\n\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://git.io/fxCyr\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://git.io/fxCyr\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://git.io/fxCyr\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The second argument is now required for the sake of explicitness.\n *\n * ```javascript\n * // Before v2.0.0\n * format(new Date(2016, 0, 1))\n *\n * // v2.0.0 onward\n * format(new Date(2016, 0, 1), \"yyyy-MM-dd'T'HH:mm:ss.SSSxxx\")\n * ```\n *\n * - New format string API for `format` function\n * which is based on [Unicode Technical Standard #35](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table).\n * See [this post](https://blog.date-fns.org/post/unicode-tokens-in-date-fns-v2-sreatyki91jg) for more details.\n *\n * - Characters are now escaped using single quote symbols (`'`) instead of square brackets.\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://git.io/fxCyr\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://git.io/fxCyr\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://git.io/fxCyr\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://git.io/fxCyr\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://git.io/fxCyr\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://git.io/fxCyr\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * var result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * var result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * var result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\n\nexport default function format(dirtyDate, dirtyFormatStr, dirtyOptions) {\n requiredArgs(2, arguments);\n var formatStr = String(dirtyFormatStr);\n var options = dirtyOptions || {};\n var locale = options.locale || defaultLocale;\n var localeFirstWeekContainsDate = locale.options && locale.options.firstWeekContainsDate;\n var defaultFirstWeekContainsDate = localeFirstWeekContainsDate == null ? 1 : toInteger(localeFirstWeekContainsDate);\n var firstWeekContainsDate = options.firstWeekContainsDate == null ? defaultFirstWeekContainsDate : toInteger(options.firstWeekContainsDate); // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n\n var localeWeekStartsOn = locale.options && locale.options.weekStartsOn;\n var defaultWeekStartsOn = localeWeekStartsOn == null ? 0 : toInteger(localeWeekStartsOn);\n var weekStartsOn = options.weekStartsOn == null ? defaultWeekStartsOn : toInteger(options.weekStartsOn); // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n\n var originalDate = toDate(dirtyDate);\n\n if (!isValid(originalDate)) {\n throw new RangeError('Invalid time value');\n } // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n\n\n var timezoneOffset = getTimezoneOffsetInMilliseconds(originalDate);\n var utcDate = subMilliseconds(originalDate, timezoneOffset);\n var formatterOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale,\n _originalDate: originalDate\n };\n var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong, formatterOptions);\n }\n\n return substring;\n }).join('').match(formattingTokensRegExp).map(function (substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\";\n }\n\n var firstCharacter = substring[0];\n\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring);\n }\n\n var formatter = formatters[firstCharacter];\n\n if (formatter) {\n if (!options.useAdditionalWeekYearTokens && isProtectedWeekYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, dirtyDate);\n }\n\n if (!options.useAdditionalDayOfYearTokens && isProtectedDayOfYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, dirtyDate);\n }\n\n return formatter(utcDate, substring, locale.localize, formatterOptions);\n }\n\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n\n return substring;\n }).join('');\n return result;\n}\n\nfunction cleanEscapedString(input) {\n return input.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp, \"'\");\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isBefore\n * @category Common Helpers\n * @summary Is the first date before the second one?\n *\n * @description\n * Is the first date before the second one?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date that should be before the other one to return true\n * @param {Date|Number} dateToCompare - the date to compare with\n * @returns {Boolean} the first date is before the second date\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Is 10 July 1989 before 11 February 1987?\n * var result = isBefore(new Date(1989, 6, 10), new Date(1987, 1, 11))\n * //=> false\n */\n\nexport default function isBefore(dirtyDate, dirtyDateToCompare) {\n requiredArgs(2, arguments);\n var date = toDate(dirtyDate);\n var dateToCompare = toDate(dirtyDateToCompare);\n return date.getTime() < dateToCompare.getTime();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isEqual\n * @category Common Helpers\n * @summary Are the given dates equal?\n *\n * @description\n * Are the given dates equal?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to compare\n * @param {Date|Number} dateRight - the second date to compare\n * @returns {Boolean} the dates are equal\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 2 July 2014 06:30:45.000 and 2 July 2014 06:30:45.500 equal?\n * var result = isEqual(\n * new Date(2014, 6, 2, 6, 30, 45, 0),\n * new Date(2014, 6, 2, 6, 30, 45, 500)\n * )\n * //=> false\n */\n\nexport default function isEqual(dirtyLeftDate, dirtyRightDate) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyLeftDate);\n var dateRight = toDate(dirtyRightDate);\n return dateLeft.getTime() === dateRight.getTime();\n}","var formatDistanceLocale = {\n lessThanXSeconds: {\n standalone: {\n one: 'weniger als 1 Sekunde',\n other: 'weniger als {{count}} Sekunden'\n },\n withPreposition: {\n one: 'weniger als 1 Sekunde',\n other: 'weniger als {{count}} Sekunden'\n }\n },\n xSeconds: {\n standalone: {\n one: '1 Sekunde',\n other: '{{count}} Sekunden'\n },\n withPreposition: {\n one: '1 Sekunde',\n other: '{{count}} Sekunden'\n }\n },\n halfAMinute: {\n standalone: 'halbe Minute',\n withPreposition: 'halben Minute'\n },\n lessThanXMinutes: {\n standalone: {\n one: 'weniger als 1 Minute',\n other: 'weniger als {{count}} Minuten'\n },\n withPreposition: {\n one: 'weniger als 1 Minute',\n other: 'weniger als {{count}} Minuten'\n }\n },\n xMinutes: {\n standalone: {\n one: '1 Minute',\n other: '{{count}} Minuten'\n },\n withPreposition: {\n one: '1 Minute',\n other: '{{count}} Minuten'\n }\n },\n aboutXHours: {\n standalone: {\n one: 'etwa 1 Stunde',\n other: 'etwa {{count}} Stunden'\n },\n withPreposition: {\n one: 'etwa 1 Stunde',\n other: 'etwa {{count}} Stunden'\n }\n },\n xHours: {\n standalone: {\n one: '1 Stunde',\n other: '{{count}} Stunden'\n },\n withPreposition: {\n one: '1 Stunde',\n other: '{{count}} Stunden'\n }\n },\n xDays: {\n standalone: {\n one: '1 Tag',\n other: '{{count}} Tage'\n },\n withPreposition: {\n one: '1 Tag',\n other: '{{count}} Tagen'\n }\n },\n aboutXWeeks: {\n standalone: {\n one: 'etwa 1 Woche',\n other: 'etwa {{count}} Wochen'\n },\n withPreposition: {\n one: 'etwa 1 Woche',\n other: 'etwa {{count}} Wochen'\n }\n },\n xWeeks: {\n standalone: {\n one: '1 Woche',\n other: '{{count}} Wochen'\n },\n withPreposition: {\n one: '1 Woche',\n other: '{{count}} Wochen'\n }\n },\n aboutXMonths: {\n standalone: {\n one: 'etwa 1 Monat',\n other: 'etwa {{count}} Monate'\n },\n withPreposition: {\n one: 'etwa 1 Monat',\n other: 'etwa {{count}} Monaten'\n }\n },\n xMonths: {\n standalone: {\n one: '1 Monat',\n other: '{{count}} Monate'\n },\n withPreposition: {\n one: '1 Monat',\n other: '{{count}} Monaten'\n }\n },\n aboutXYears: {\n standalone: {\n one: 'etwa 1 Jahr',\n other: 'etwa {{count}} Jahre'\n },\n withPreposition: {\n one: 'etwa 1 Jahr',\n other: 'etwa {{count}} Jahren'\n }\n },\n xYears: {\n standalone: {\n one: '1 Jahr',\n other: '{{count}} Jahre'\n },\n withPreposition: {\n one: '1 Jahr',\n other: '{{count}} Jahren'\n }\n },\n overXYears: {\n standalone: {\n one: 'mehr als 1 Jahr',\n other: 'mehr als {{count}} Jahre'\n },\n withPreposition: {\n one: 'mehr als 1 Jahr',\n other: 'mehr als {{count}} Jahren'\n }\n },\n almostXYears: {\n standalone: {\n one: 'fast 1 Jahr',\n other: 'fast {{count}} Jahre'\n },\n withPreposition: {\n one: 'fast 1 Jahr',\n other: 'fast {{count}} Jahren'\n }\n }\n};\n\nvar formatDistance = function (token, count, options) {\n var result;\n var tokenValue = options !== null && options !== void 0 && options.addSuffix ? formatDistanceLocale[token].withPreposition : formatDistanceLocale[token].standalone;\n\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', String(count));\n }\n\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'in ' + result;\n } else {\n return 'vor ' + result;\n }\n }\n\n return result;\n};\n\nexport default formatDistance;","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\n// DIN 5008: https://de.wikipedia.org/wiki/Datumsformat#DIN_5008\nvar dateFormats = {\n full: 'EEEE, do MMMM y',\n // Montag, 7. Januar 2018\n long: 'do MMMM y',\n // 7. Januar 2018\n medium: 'do MMM y',\n // 7. Jan. 2018\n short: 'dd.MM.y' // 07.01.2018\n\n};\nvar timeFormats = {\n full: 'HH:mm:ss zzzz',\n long: 'HH:mm:ss z',\n medium: 'HH:mm:ss',\n short: 'HH:mm'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'um' {{time}}\",\n long: \"{{date}} 'um' {{time}}\",\n medium: '{{date}} {{time}}',\n short: '{{date}} {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'letzten' eeee 'um' p\",\n yesterday: \"'gestern um' p\",\n today: \"'heute um' p\",\n tomorrow: \"'morgen um' p\",\n nextWeek: \"eeee 'um' p\",\n other: 'P'\n};\n\nvar formatRelative = function (token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\n\nexport default formatRelative;","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['v.Chr.', 'n.Chr.'],\n abbreviated: ['v.Chr.', 'n.Chr.'],\n wide: ['vor Christus', 'nach Christus']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1. Quartal', '2. Quartal', '3. Quartal', '4. Quartal']\n}; // Note: in German, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\n\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],\n wide: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']\n}; // https://st.unicode.org/cldr-apps/v#/de/Gregorian/\n\nvar formattingMonthValues = {\n narrow: monthValues.narrow,\n abbreviated: ['Jan.', 'Feb.', 'März', 'Apr.', 'Mai', 'Juni', 'Juli', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Dez.'],\n wide: monthValues.wide\n};\nvar dayValues = {\n narrow: ['S', 'M', 'D', 'M', 'D', 'F', 'S'],\n short: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],\n abbreviated: ['So.', 'Mo.', 'Di.', 'Mi.', 'Do.', 'Fr.', 'Sa.'],\n wide: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag']\n}; // https://www.unicode.org/cldr/charts/32/summary/de.html#1881\n\nvar dayPeriodValues = {\n narrow: {\n am: 'vm.',\n pm: 'nm.',\n midnight: 'Mitternacht',\n noon: 'Mittag',\n morning: 'Morgen',\n afternoon: 'Nachm.',\n evening: 'Abend',\n night: 'Nacht'\n },\n abbreviated: {\n am: 'vorm.',\n pm: 'nachm.',\n midnight: 'Mitternacht',\n noon: 'Mittag',\n morning: 'Morgen',\n afternoon: 'Nachmittag',\n evening: 'Abend',\n night: 'Nacht'\n },\n wide: {\n am: 'vormittags',\n pm: 'nachmittags',\n midnight: 'Mitternacht',\n noon: 'Mittag',\n morning: 'Morgen',\n afternoon: 'Nachmittag',\n evening: 'Abend',\n night: 'Nacht'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'vm.',\n pm: 'nm.',\n midnight: 'Mitternacht',\n noon: 'Mittag',\n morning: 'morgens',\n afternoon: 'nachm.',\n evening: 'abends',\n night: 'nachts'\n },\n abbreviated: {\n am: 'vorm.',\n pm: 'nachm.',\n midnight: 'Mitternacht',\n noon: 'Mittag',\n morning: 'morgens',\n afternoon: 'nachmittags',\n evening: 'abends',\n night: 'nachts'\n },\n wide: {\n am: 'vormittags',\n pm: 'nachmittags',\n midnight: 'Mitternacht',\n noon: 'Mittag',\n morning: 'morgens',\n afternoon: 'nachmittags',\n evening: 'abends',\n night: 'nachts'\n }\n};\n\nvar ordinalNumber = function (dirtyNumber) {\n var number = Number(dirtyNumber);\n return number + '.';\n};\n\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function (quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n formattingValues: formattingMonthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(\\.)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(v\\.? ?Chr\\.?|n\\.? ?Chr\\.?)/i,\n abbreviated: /^(v\\.? ?Chr\\.?|n\\.? ?Chr\\.?)/i,\n wide: /^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i\n};\nvar parseEraPatterns = {\n any: [/^v/i, /^n/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](\\.)? Quartal/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\\.?/i,\n wide: /^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^j[aä]/i, /^f/i, /^mär/i, /^ap/i, /^mai/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smdmf]/i,\n short: /^(so|mo|di|mi|do|fr|sa)/i,\n abbreviated: /^(son?|mon?|die?|mit?|don?|fre?|sam?)\\.?/i,\n wide: /^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i\n};\nvar parseDayPatterns = {\n any: [/^so/i, /^mo/i, /^di/i, /^mi/i, /^do/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(vm\\.?|nm\\.?|Mitternacht|Mittag|morgens|nachm\\.?|abends|nachts)/i,\n abbreviated: /^(vorm\\.?|nachm\\.?|Mitternacht|Mittag|morgens|nachm\\.?|abends|nachts)/i,\n wide: /^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^v/i,\n pm: /^n/i,\n midnight: /^Mitte/i,\n noon: /^Mitta/i,\n morning: /morgens/i,\n afternoon: /nachmittags/i,\n // will never be matched. Afternoon is matched by `pm`\n evening: /abends/i,\n night: /nachts/i // will never be matched. Night is matched by `pm`\n\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function (value) {\n return parseInt(value);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function (index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n\n/**\n * @type {Locale}\n * @category Locales\n * @summary German locale.\n * @language German\n * @iso-639-2 deu\n * @author Thomas Eilmsteiner [@DeMuu]{@link https://github.com/DeMuu}\n * @author Asia [@asia-t]{@link https://github.com/asia-t}\n * @author Van Vuong Ngo [@vanvuongngo]{@link https://github.com/vanvuongngo}\n * @author RomanErnst [@pex]{@link https://github.com/pex}\n * @author Philipp Keck [@Philipp91]{@link https://github.com/Philipp91}\n */\nvar locale = {\n code: 'de',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1\n /* Monday */\n ,\n firstWeekContainsDate: 4\n }\n};\nexport default locale;","import React, {\n useState,\n useEffect,\n useRef,\n forwardRef,\n useCallback,\n} from 'react';\nimport styled from 'styled-components';\n\nimport {\n getColors as color,\n getFonts as font,\n mq,\n spacings,\n getGlobals as global,\n withRange,\n} from 'utils/styles';\nimport { format, isBefore, isValid } from 'date-fns';\nimport de from 'date-fns/locale/de';\n\nimport ButtonGhost from 'components/buttons/ButtonGhost';\nimport Button from 'components/buttons/Button';\n\nimport { copyStyle } from 'components/typography/Copy';\n\nimport ReactDatePicker from 'react-datepicker';\nimport { hexToRgba } from 'utils/hexRgbConverter';\nimport FieldWrapper from './FormField';\nimport { useLibTheme } from 'utils/LibThemeProvider';\n\nimport * as Icons from 'icons';\nimport { getFormFieldTextSize } from 'utils/formFieldText';\nimport { isEqual } from 'date-fns';\n\nconst PickerView = styled.div`\n position: relative;\n width: 100%;\n text-align: left;\n\n .react-datepicker-popper {\n right: ${spacings.spacer * 2}px;\n z-index: 9 !important;\n width: 100%;\n }\n\n @media ${mq.medium} {\n .react-datepicker-popper {\n right: auto;\n width: auto;\n }\n }\n\n .react-datepicker {\n display: flex;\n flex-wrap: wrap;\n font-family: 'Roboto', sans-serif;\n border: 1px solid\n ${({ theme }) => hexToRgba(color(theme).elementBg.dark, 0.2)} !important;\n border-radius: ${({ theme }) =>\n global(theme).sections.edgeRadius || '0px'} !important;\n padding: ${spacings.nudge * 2}px;\n width: 100%;\n\n box-shadow: 0px 3px 9px rgba(0, 0, 0, 0.15);\n }\n\n .react-datepicker-wrapper {\n width: 100% !important;\n }\n\n .react-datepicker__header {\n border: none !important;\n background-color: transparent !important;\n margin: 0 ${spacings.nudge * 3}px;\n }\n\n /* Month */\n .react-datepicker__month-container {\n width: 100%;\n margin-bottom: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.medium} {\n .react-datepicker__month-container {\n max-width: 50%;\n }\n }\n\n .react-datepicker__month {\n margin-left: ${spacings.nudge * 2}px;\n margin-right: ${spacings.nudge * 2}px;\n }\n\n .react-datepicker__current-month {\n font-family: 'Roboto', sans-serif;\n font-weight: 600;\n font-size: 17px;\n line-height: 1.3;\n text-transform: uppercase;\n background-color: ${({ theme }) => color(theme).primary.default};\n padding: 10px 15px;\n color: ${({ theme }) => color(theme).text.inverted} !important;\n width: max-content;\n margin: 0 auto;\n }\n\n /* Day styles */\n\n .react-datepicker__day-names {\n display: flex;\n font-size: 11px;\n line-height: 1.25;\n background: transparent;\n }\n\n @media ${mq.medium} {\n .react-datepicker__day-names {\n display: block;\n }\n }\n\n .react-datepicker__day-name {\n flex: 1 0 auto;\n }\n\n .react-datepicker__week {\n display: flex;\n margin: -2px !important;\n }\n\n @media ${mq.medium} {\n .react-datepicker__week {\n display: block;\n }\n }\n\n .react-datepicker__day {\n flex: 1 0 auto;\n background-color: ${({ theme }) => color(theme).elementBg.light};\n border-radius: 0 !important;\n font-weight: 600;\n\n margin: 2px !important;\n }\n\n @media ${mq.medium} {\n .react-datepicker__day:hover {\n background-color: ${({ theme }) =>\n color(theme).elementBg.dark} !important;\n border-radius: 0 !important;\n color: ${({ theme }) => color(theme).text.inverted};\n }\n }\n\n .react-datepicker__day--outside-month {\n color: ${({ theme }) => color(theme).elementBg.medium} !important;\n cursor: default;\n }\n\n .react-datepicker__day--selected {\n background-color: ${({ theme }) =>\n color(theme).primary.default} !important;\n border-radius: 0 !important;\n color: ${({ theme }) => color(theme).text.inverted};\n }\n\n .react-datepicker__day--today {\n border: 1px solid\n ${({ theme }) => hexToRgba(color(theme).elementBg.dark, 0.6)} !important;\n border-radius: 0 !important;\n }\n\n /* Triangle Styles */\n\n .react-datepicker__triangle:before {\n border-bottom-color: ${({ theme }) =>\n hexToRgba(color(theme).elementBg.dark, 0.2)} !important;\n }\n\n .react-datepicker__triangle:after {\n border-bottom-color: ${({ theme }) =>\n color(theme).elementBg.light} !important;\n }\n\n /* Day Ranges */\n\n .react-datepicker__day--in-range {\n background-color: ${({ theme }) =>\n hexToRgba(color(theme).primary.default, 0.7)} !important;\n }\n\n @media ${mq.medium} {\n .react-datepicker__day--in-range:hover {\n background-color: ${({ theme }) =>\n hexToRgba(color(theme).primary.default, 0.25)} !important;\n }\n }\n\n .react-datepicker__day--range-start {\n background-color: ${({ theme }) =>\n color(theme).primary.default} !important;\n }\n\n @media ${mq.medium} {\n .react-datepicker__day--range-start:hover {\n background-color: ${({ theme }) =>\n hexToRgba(color(theme).primary.default, 0.25)} !important;\n }\n }\n\n .react-datepicker__day--range-end {\n background-color: ${({ theme }) =>\n color(theme).primary.default} !important;\n }\n\n @media ${mq.medium} {\n .react-datepicker__day--range-end:hover {\n background-color: ${({ theme }) =>\n hexToRgba(color(theme).primary.default, 0.25)} !important;\n }\n }\n\n .react-datepicker__day--in-selecting-range {\n background-color: ${({ theme }) =>\n hexToRgba(color(theme).primary.default, 0.7)} !important;\n }\n\n /* Next-/Prev-Arrow */\n .react-datepicker__close-icon {\n display: none !important;\n }\n\n .react-datepicker__navigation {\n top: ${spacings.nudge}px !important;\n }\n\n .react-datepicker__navigation-icon--next::before {\n left: 0 !important;\n }\n\n .react-datepicker__navigation-icon--previous::before {\n left: 0 !important;\n }\n\n .react-datepicker__navigation:focus {\n outline: 1px solid ${({ theme }) => color(theme).primary.default};\n }\n\n /* Keyboard selection */\n .react-datepicker__day--keyboard-selected {\n outline: none;\n background: ${({ theme }) => color(theme).elementBg.dark};\n }\n`;\n\nconst Icon = styled.div<{ isInverted?: boolean }>`\n height: 100%;\n min-width: 24px;\n color: ${({ theme, isInverted }) =>\n isInverted\n ? font(theme).copy.small.colorInverted\n : font(theme).copy.small.color};\n\n & > * {\n height: 20px;\n }\n`;\n\nconst DatepickerButton = styled.button<{\n hasError?: boolean;\n isActive?: boolean;\n isInverted?: boolean;\n hasDateValue?: boolean;\n}>`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n min-height: 40px;\n padding: ${spacings.nudge}px;\n\n border: 1px solid\n ${({ theme, isInverted, hasError }) => {\n if (isInverted) {\n return hasError\n ? color(theme).errorInverted\n : color(theme).elementBg.light;\n }\n return hasError ? color(theme).error : color(theme).elementBg.dark;\n }};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n background: none;\n\n ${copyStyle('copy', 'small')}\n /** Clamping min font size to 16px to prevent browser zooming */\n ${({ theme }) => withRange(getFormFieldTextSize(theme), 'font-size')}\n \n color: ${({ theme, isInverted, hasError, hasDateValue }) => {\n if (isInverted) {\n return hasError\n ? color(theme).text.errorInverted\n : !hasDateValue\n ? color(theme).text.subtileInverted\n : font(theme).copy.small.colorInverted;\n }\n return hasError\n ? color(theme).text.error\n : !hasDateValue\n ? color(theme).text.subtile\n : font(theme).copy.small.color;\n }};\n\n outline: none;\n pointer-events: ${({ isActive }) => (isActive ? 'none' : 'all')};\n\n position: relative;\n\n border: ${({ theme, isInverted, isActive }) =>\n isActive &&\n `1px solid ${\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n\n &:active {\n border: ${({ theme, isInverted }) =>\n `1px solid ${\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n }\n\n &:focus {\n outline: ${({ theme, isInverted }) =>\n `1px solid ${\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n outline-offset: 0;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n`;\n\nconst DatepickerButtonMain = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-left: ${spacings.spacer}px;\n }\n`;\n\nconst DatepickerFoot = styled.div`\n display: block;\n width: 100%;\n\n /* margin-top: ${spacings.spacer * 14}px; */\n`;\n\nconst FootFlex = styled.div`\n clear: both;\n display: flex;\n flex-direction: column;\n\n & > * {\n width: 100%;\n }\n\n & > * + * {\n margin-top: ${spacings.spacer * 0.5}px;\n }\n\n @media ${mq.medium} {\n align-items: center;\n flex-direction: row;\n\n & > * {\n width: auto;\n }\n\n & > * + * {\n margin-top: 0;\n margin-left: ${spacings.spacer * 0.5}px;\n }\n }\n`;\n\nconst ButtonLabel = styled(Button.Label)`\n font-size: 12px;\n`;\nconst ButtonGhostLabel = styled(ButtonGhost.Label)`\n font-size: 12px;\n`;\n\ninterface PickerBtnProps {\n label?: string;\n errorMessage?: string;\n infoMessage?: string;\n isRequired?: boolean;\n isDisabled?: boolean;\n isInverted?: boolean;\n isFocused?: boolean;\n name?: string;\n altText?: string;\n startDate?: Date | null | undefined;\n endDate?: Date | null | undefined;\n setFocused: React.Dispatch<React.SetStateAction<boolean>>;\n onClick?: (ev: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n dateFormat?: string;\n customIcon?: (props: {\n isInverted?: boolean;\n singleSelect?: boolean;\n }) => React.ReactNode;\n singleSelect?: boolean;\n}\n\nconst PickerButton = forwardRef<HTMLButtonElement, PickerBtnProps>(\n (\n {\n label,\n errorMessage,\n infoMessage,\n isRequired,\n isInverted,\n isDisabled,\n isFocused,\n name,\n altText,\n startDate,\n endDate,\n setFocused,\n onClick,\n dateFormat = 'dd.MM.yyyy',\n customIcon,\n singleSelect,\n },\n ref\n ) => {\n return (\n <FieldWrapper.View isDisabled={isDisabled}>\n <FieldWrapper.Head\n label={label}\n isRequired={isRequired}\n isInverted={isInverted}\n />\n <FieldWrapper.Content>\n <DatepickerButton\n ref={ref}\n type=\"button\"\n onClick={(e) => {\n setFocused && setFocused(true);\n onClick && onClick(e);\n }}\n isActive={isFocused}\n hasDateValue={!!startDate}\n isInverted={isInverted}\n hasError={!!errorMessage}\n className=\"myPickerButton\"\n >\n <DatepickerButtonMain>\n {startDate\n ? `${format(startDate, dateFormat)}${\n endDate\n ? ` – ${format(endDate, dateFormat)}`\n : ''\n }`\n : altText}\n </DatepickerButtonMain>\n <Icon isInverted={isInverted}>\n {customIcon ? (\n customIcon({ isInverted, singleSelect })\n ) : singleSelect ? (\n <Icons.CalendarToday />\n ) : (\n <Icons.DateRange />\n )}\n </Icon>\n </DatepickerButton>\n {name && (\n <>\n <input\n type=\"hidden\"\n name={`${name}[\"start\"]`}\n value={startDate?.toString()}\n />\n <input\n type=\"hidden\"\n name={`${name}[\"end\"]`}\n value={endDate?.toString()}\n />\n </>\n )}\n </FieldWrapper.Content>\n <FieldWrapper.Messages\n infoMessage={infoMessage}\n errorMessage={errorMessage}\n isInverted={isInverted}\n />\n </FieldWrapper.View>\n );\n }\n);\nPickerButton.displayName = 'PickerButton';\n\nconst PickerHeader = styled.div`\n margin-bottom: ${spacings.nudge * 3}px;\n`;\n\nconst getPickerHeader =\n (\n locale: string,\n prevMonthAction?: React.ReactNode,\n nextMonthAction?: React.ReactNode\n ) =>\n // eslint-disable-next-line react/display-name\n ({\n monthDate,\n customHeaderCount,\n decreaseMonth,\n increaseMonth,\n }: {\n monthDate: Date;\n customHeaderCount: number;\n decreaseMonth: () => void;\n increaseMonth: () => void;\n }) =>\n (\n <PickerHeader>\n <button\n aria-label=\"Previous Month\"\n className={\n 'react-datepicker__navigation react-datepicker__navigation--previous'\n }\n style={\n customHeaderCount === 1\n ? { visibility: 'hidden' }\n : undefined\n }\n onClick={(ev) => {\n ev.preventDefault();\n decreaseMonth();\n }}\n >\n {prevMonthAction ? (\n typeof prevMonthAction === 'string' ? (\n <img src={prevMonthAction} />\n ) : (\n prevMonthAction\n )\n ) : (\n <span\n className={\n 'react-datepicker__navigation-icon react-datepicker__navigation-icon--previous'\n }\n >\n {'<'}\n </span>\n )}\n </button>\n <span className=\"react-datepicker__current-month\">\n {format(monthDate, 'LLLL', { locale: de })}\n </span>\n <button\n aria-label=\"Next Month\"\n className={\n 'react-datepicker__navigation react-datepicker__navigation--next'\n }\n style={\n customHeaderCount === 0\n ? { visibility: 'hidden' }\n : undefined\n }\n onClick={(ev) => {\n ev.preventDefault();\n increaseMonth();\n }}\n >\n {nextMonthAction ? (\n typeof nextMonthAction === 'string' ? (\n <img src={nextMonthAction} />\n ) : (\n nextMonthAction\n )\n ) : (\n <span\n className={\n 'react-datepicker__navigation-icon react-datepicker__navigation-icon--next'\n }\n >\n {'>'}\n </span>\n )}\n </button>\n </PickerHeader>\n );\n\nexport interface DatepickerProps {\n enableMemo?: boolean;\n label?: string;\n errorMessage?: string;\n infoMessage?: string;\n isRequired?: boolean;\n isDisabled?: boolean;\n isInverted?: boolean;\n name?: string;\n placeholder?: string;\n dateSubmitLabel?: string;\n dateDeleteLabel?: string;\n\n values?: [Date, Date];\n minDate?: Date;\n maxDate?: Date;\n onDataChange?: (startDate: Date | null, endDate: Date | null) => void;\n onSubmit?: (startDate?: Date | null, endDate?: Date | null) => void;\n deleteAction?: (\n handleClick: (e: React.SyntheticEvent<HTMLButtonElement, Event>) => void\n ) => React.ReactNode;\n submitAction?: (\n handleClick?: (\n e: React.SyntheticEvent<HTMLButtonElement, Event>\n ) => void\n ) => React.ReactNode;\n customIcon?: (props: {\n isInverted?: boolean;\n singleSelect?: boolean;\n }) => React.ReactNode;\n nextCtrlUrl?: React.ReactNode;\n prevCtrlUrl?: React.ReactNode;\n\n singleSelect?: boolean;\n}\n\nconst Datepicker: React.FC<DatepickerProps> = ({\n label,\n errorMessage,\n infoMessage,\n isRequired,\n isDisabled,\n isInverted,\n name,\n dateSubmitLabel,\n dateDeleteLabel,\n placeholder,\n singleSelect = false,\n values,\n minDate = new Date(),\n maxDate,\n onDataChange,\n onSubmit,\n deleteAction,\n submitAction,\n customIcon,\n nextCtrlUrl,\n prevCtrlUrl,\n}) => {\n const { globals } = useLibTheme();\n const locale = globals.sections.datepickerLocaleKey;\n const dateFormat = globals.sections.datepickerDateFormat;\n\n const pickerRef = useRef<ReactDatePicker | undefined>(null);\n const pickerBtnRef = useRef<HTMLButtonElement | null>(null);\n const [isSmall, setIsSmall] = useState<boolean>(false);\n\n const [startDate, setStartDate] = useState<Date | null>();\n const [endDate, setEndDate] = useState<Date | null>();\n\n const [focused, setFocused] = useState<boolean>();\n\n useEffect(() => {\n const x = async () => {\n await import('react-datepicker');\n\n // if (locale === 'de') registerLocale('de', de);\n };\n\n if (!singleSelect) setIsSmall(!window.matchMedia(mq.medium).matches);\n\n x();\n }, [locale, singleSelect]);\n\n useEffect(() => {\n if (values) {\n if (values[0] && isValid(values[0])) {\n setStartDate(values[0]);\n }\n\n if (values[1] && isValid(values[1])) {\n setEndDate(values[1]);\n }\n }\n }, [values]);\n\n useEffect(() => {\n const handleResize = () => {\n const shouldBeSmall = !window.matchMedia(mq.medium).matches;\n\n if (shouldBeSmall !== isSmall) {\n setIsSmall(shouldBeSmall);\n }\n };\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [isSmall]);\n\n useEffect(() => {\n if (pickerRef.current && focused !== undefined) {\n pickerRef.current?.setOpen(focused);\n }\n }, [focused]);\n\n const handleSubmit = useCallback(\n (ev: React.SyntheticEvent<HTMLButtonElement, Event>) => {\n ev.preventDefault();\n setFocused(false);\n onSubmit && onSubmit(startDate, endDate);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [endDate, startDate]\n );\n const handleReset = useCallback(\n (ev: React.SyntheticEvent<HTMLButtonElement, Event>) => {\n ev.preventDefault();\n setStartDate(undefined);\n setEndDate(undefined);\n new Date();\n },\n []\n );\n\n return (\n <PickerView>\n <ReactDatePicker\n locale={locale === 'de' ? de : undefined}\n ref={pickerRef as any}\n dateFormat={dateFormat}\n onChange={(date) => {\n if (date) {\n if (singleSelect) {\n setStartDate(date as Date);\n setFocused(false);\n onDataChange && onDataChange(date as Date, null);\n } else if (startDate) {\n if (endDate) {\n setStartDate(date as Date);\n setEndDate(null);\n onDataChange &&\n onDataChange(date as Date, null);\n } else if (isBefore(date as Date, startDate)) {\n setEndDate(startDate);\n setStartDate(date as Date);\n onDataChange &&\n onDataChange(date as Date, startDate);\n } else {\n setEndDate(date as Date);\n onDataChange &&\n onDataChange(startDate, date as Date);\n }\n } else {\n setStartDate(date as Date);\n onDataChange &&\n onDataChange(date as Date, endDate || null);\n }\n } else {\n setStartDate(undefined);\n onDataChange && onDataChange(null, null);\n }\n }}\n selected={startDate}\n startDate={startDate}\n endDate={endDate}\n monthsShown={isSmall ? 1 : 2}\n shouldCloseOnSelect={singleSelect}\n customInput={\n <PickerButton\n label={label}\n isInverted={isInverted}\n isDisabled={isDisabled}\n infoMessage={infoMessage}\n errorMessage={errorMessage}\n isRequired={isRequired}\n ref={pickerBtnRef}\n name={name}\n altText={placeholder}\n startDate={startDate}\n endDate={endDate}\n isFocused={focused}\n setFocused={setFocused}\n dateFormat={dateFormat}\n customIcon={customIcon}\n singleSelect={singleSelect}\n />\n }\n showPopperArrow\n minDate={minDate}\n maxDate={maxDate}\n disabledKeyboardNavigation={false}\n isClearable\n onClickOutside={(ev) => {\n ev.stopPropagation();\n setFocused(false);\n onSubmit && onSubmit(startDate, endDate);\n }}\n renderCustomHeader={getPickerHeader(\n locale,\n prevCtrlUrl,\n nextCtrlUrl\n )}\n >\n <DatepickerFoot>\n <FootFlex>\n {deleteAction ? (\n deleteAction(handleReset)\n ) : (\n <ButtonGhost.View as=\"button\" onClick={handleReset}>\n <ButtonGhostLabel>\n {dateDeleteLabel || 'Delete'}\n </ButtonGhostLabel>\n </ButtonGhost.View>\n )}\n {submitAction ? (\n submitAction(handleSubmit)\n ) : (\n <Button.View as=\"button\" onClick={handleSubmit}>\n <ButtonLabel>\n {dateSubmitLabel || 'Submit'}\n </ButtonLabel>\n </Button.View>\n )}\n </FootFlex>\n </DatepickerFoot>\n </ReactDatePicker>\n </PickerView>\n );\n};\n\n/**\n * Function to compare both field prop states\n * @param prev Previous props\n * @param next Next props\n * @returns\n */\nconst areEqual = (prev: DatepickerProps, next: DatepickerProps) => {\n // only apply logic if memo functionality is enabled\n if (!prev.enableMemo) return false;\n\n if (prev.infoMessage !== next.infoMessage) return false;\n if (prev.errorMessage !== next.errorMessage) return false;\n if (prev.dateDeleteLabel !== next.dateDeleteLabel) return false;\n if (prev.dateSubmitLabel !== next.dateSubmitLabel) return false;\n if (prev.label !== next.label) return false;\n if (prev.placeholder !== next.placeholder) return false;\n\n // compare date values\n const prevDateStart = prev.values?.[0];\n const prevDateEnd = prev.values?.[1];\n const nextDateStart = prev.values?.[0];\n const nextDateEnd = prev.values?.[1];\n\n if (\n prevDateStart !== nextDateStart ||\n !isEqual(prevDateStart || -1, nextDateStart || -1) ||\n prevDateEnd !== nextDateEnd ||\n !isEqual(prevDateEnd || -1, nextDateEnd || -1)\n ) {\n return false;\n }\n\n return true;\n};\n\nexport default React.memo(Datepicker, areEqual);\n","import Copy from 'components/typography/Copy';\nimport * as React from 'react';\nimport styled, { css } from 'styled-components';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport { getColors as color, spacings } from '../../utils/styles';\n\nconst View = styled.label`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst RadioContainer = styled.div<{ isDisabled?: boolean }>`\n cursor: ${({ isDisabled }) => (isDisabled ? 'default' : 'pointer')};\n pointer-events: ${({ isDisabled }) => (isDisabled ? 'none' : 'all')};\n\n border: 2px solid transparent;\n border-radius: 50%;\n\n &:focus-within {\n outline: 1px solid ${({ theme }) => color(theme).primary.default};\n outline-offset: 0;\n }\n`;\n\nconst Original = styled.input`\n position: absolute;\n left: -9999px;\n opacity: 0;\n`;\n\nconst StyledRadioButton = styled.span<{\n isSelected?: boolean;\n isInverted?: boolean;\n}>`\n background: transparent;\n border-radius: 50%;\n\n position: relative;\n\n width: 20px;\n height: 20px;\n display: block;\n\n border: 2px solid\n ${({ isInverted, theme, isSelected }) =>\n isSelected\n ? color(theme).primary.default\n : isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.medium};\n\n ${({ isSelected, theme }) =>\n isSelected\n ? css`\n background-color: ${color(theme).primary.default};\n\n &:before {\n content: '';\n position: absolute;\n display: block;\n height: 8px;\n width: 8px;\n background-color: ${color(theme).elementBg.light};\n border-radius: 50%;\n top: 50%;\n left: 50%;\n\n transform: translate(-50%, -50%);\n }\n `\n : 'none'}\n`;\n\nconst Label = styled(Copy)`\n padding-top: 2px;\n text-align: left;\n user-select: none;\n\n & > * {\n margin: 0;\n }\n`;\n\nexport interface RadioButtonProps {\n enableMemo?: boolean;\n isSelected?: boolean;\n isDisabled?: boolean;\n isInverted?: boolean;\n onChange?: (e: React.SyntheticEvent<HTMLInputElement>) => void;\n name?: string;\n id?: string;\n value?: string;\n label?: string;\n}\n\nconst RadioButton: React.FC<RadioButtonProps> = ({\n isDisabled,\n isSelected,\n isInverted,\n onChange,\n label,\n id,\n name,\n value,\n}) => {\n const { colors } = useLibTheme();\n\n return (\n <View>\n <RadioContainer isDisabled={isDisabled}>\n <StyledRadioButton\n isSelected={isSelected}\n isInverted={isInverted}\n />\n <Original\n type=\"radio\"\n name={name}\n id={id}\n value={value}\n checked={isSelected}\n onChange={onChange}\n />\n </RadioContainer>\n {label && (\n <Label\n renderAs=\"span\"\n size=\"small\"\n type=\"copy-b\"\n textColor={\n isDisabled\n ? colors.elementBg.medium\n : isInverted\n ? colors.text.inverted\n : colors.text.default\n }\n innerHTML={label}\n isInverted={isInverted}\n />\n )}\n </View>\n );\n};\n\n/**\n * Function to compare both field prop states\n * @param prev Previous props\n * @param next Next props\n * @returns\n */\nconst areEqual = (prev: RadioButtonProps, next: RadioButtonProps) => {\n // only apply logic if memo functionality is enabled\n if (!prev.enableMemo) return false;\n\n if (prev.isSelected !== next.isSelected) return false;\n if (prev.label !== next.label) return false;\n if (prev.value !== next.value) return false;\n\n return true;\n};\n\nexport default React.memo(RadioButton, areEqual);\n","import { copyStyle } from 'components/typography/Copy';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { getFormFieldTextSize } from 'utils/formFieldText';\nimport {\n getColors as color,\n getFonts as font,\n spacings,\n getGlobals as global,\n withRange,\n} from 'utils/styles';\nimport FieldWrapper from './FormField';\nimport { FormProps } from './Textfield';\n\nconst Area = styled.textarea<{\n isInverted?: boolean;\n hasError?: boolean;\n isDisabled?: boolean;\n hasBack?: boolean;\n}>`\n display: block;\n outline: none;\n width: 100%;\n min-height: 100px;\n box-shadow: none;\n border-radius: 0px;\n -webkit-appearance: none;\n\n resize: none;\n\n padding: ${spacings.nudge}px;\n\n border: 1px solid\n ${({ theme, isInverted, hasError }) => {\n if (isInverted) {\n return hasError\n ? color(theme).errorInverted\n : color(theme).elementBg.light;\n }\n return hasError ? color(theme).error : color(theme).elementBg.dark;\n }};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n background: transparent;\n\n ${copyStyle('copy', 'small')}\n /** Clamping min font size to 16px to prevent browser zooming */\n ${({ theme }) => withRange(getFormFieldTextSize(theme), 'font-size')}\n \n color: ${({ theme, isInverted, hasError }) => {\n if (isInverted) {\n return hasError\n ? color(theme).text.errorInverted\n : font(theme).copy.small.colorInverted;\n }\n return hasError\n ? color(theme).text.error\n : font(theme).copy.small.color;\n }};\n\n &:active {\n border: ${({ theme, isInverted }) =>\n `1px solid ${\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n }\n\n &:focus {\n outline: ${({ theme, isInverted }) =>\n `1px solid ${\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n outline-offset: 0;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n &::placeholder {\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).text.subtileInverted\n : color(theme).text.subtile};\n }\n`;\n\nexport type TextareaProps = FormProps & {\n enableMemo?: boolean;\n onChange?: (ev: React.SyntheticEvent<HTMLTextAreaElement>) => void;\n onBlur?: (ev: React.SyntheticEvent<HTMLTextAreaElement>) => void;\n};\n\nconst Textarea: React.FC<TextareaProps> = ({\n label,\n isRequired,\n errorMessage,\n infoMessage,\n isDisabled,\n isInverted,\n placeholder,\n value,\n name,\n onChange,\n onBlur,\n}) => {\n if (isDisabled) {\n errorMessage = '';\n }\n\n return (\n <FieldWrapper.View isDisabled={isDisabled}>\n <FieldWrapper.Head\n label={label}\n isRequired={isRequired}\n isInverted={isInverted}\n />\n <FieldWrapper.Content>\n <Area\n value={value}\n name={name}\n placeholder={placeholder}\n hasError={!!errorMessage}\n isDisabled={isDisabled}\n isInverted={isInverted}\n required={isRequired}\n onChange={onChange}\n onBlur={onBlur}\n />\n </FieldWrapper.Content>\n <FieldWrapper.Messages\n infoMessage={infoMessage}\n errorMessage={errorMessage}\n isInverted={isInverted}\n />\n </FieldWrapper.View>\n );\n};\n\n/**\n * Function to compare both field prop states\n * @param prev Previous props\n * @param next Next props\n * @returns\n */\nconst areEqual = (prev: TextareaProps, next: TextareaProps) => {\n // only apply logic if memo functionality is enabled\n if (!prev.enableMemo) return false;\n\n if (prev.value !== next.value) return false;\n if (prev.errorMessage !== next.errorMessage) return false;\n if (prev.infoMessage !== next.infoMessage) return false;\n if (prev.label !== next.label) return false;\n if (prev.placeholder !== next.placeholder) return false;\n\n return true;\n};\n\nexport default React.memo(Textarea, areEqual);\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport { copyStyle } from 'components/typography/Copy';\nimport {\n getColors as color,\n getFonts as font,\n spacings,\n getGlobals as global,\n withRange,\n} from 'utils/styles';\nimport FieldWrapper, { FieldProps } from './FormField';\nimport { getFormFieldTextSize } from 'utils/formFieldText';\n\nconst InputField = styled.input<{\n isInverted?: boolean;\n hasError?: boolean;\n}>`\n display: block;\n outline: none;\n width: 100%;\n min-height: 40px;\n box-shadow: none;\n\n border-radius: 0px;\n -webkit-appearance: none;\n\n padding: ${spacings.nudge}px;\n\n border: 1px solid\n ${({ theme, isInverted, hasError }) => {\n if (isInverted) {\n return hasError\n ? color(theme).errorInverted\n : color(theme).elementBg.light;\n }\n return hasError ? color(theme).error : color(theme).elementBg.dark;\n }};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n background: transparent;\n\n ${copyStyle('copy', 'small')}\n /** Clamping min font size to 16px to prevent browser zooming */\n ${({ theme }) => withRange(getFormFieldTextSize(theme), 'font-size')}\n\n color: ${({ theme, isInverted, hasError }) => {\n if (isInverted) {\n return hasError\n ? color(theme).text.errorInverted\n : font(theme).copy.small.colorInverted;\n }\n return hasError\n ? color(theme).text.error\n : font(theme).copy.small.color;\n }};\n\n &:active {\n border: ${({ theme, isInverted }) =>\n `1px solid ${\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n }\n\n &:focus {\n outline: ${({ theme, isInverted }) =>\n `1px solid ${\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n outline-offset: 0;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n &::placeholder {\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).text.subtileInverted\n : color(theme).text.subtile};\n }\n`;\n\nexport type FormProps = FieldProps & {\n value?: string;\n name?: string;\n placeholder?: string;\n};\n\nexport type TextfieldProps = FormProps & {\n enableMemo?: boolean;\n type?: 'number' | 'text' | 'tel' | 'email' | 'password';\n isInverted?: boolean;\n onChange?: (ev: React.SyntheticEvent<HTMLInputElement>) => void;\n onBlur?: (ev: React.SyntheticEvent<HTMLInputElement>) => void;\n};\n\nconst Textfield: React.FC<TextfieldProps> = ({\n type = 'text',\n label,\n errorMessage,\n infoMessage,\n isRequired,\n isDisabled,\n isInverted,\n placeholder,\n value,\n name,\n onChange,\n onBlur,\n}) => {\n if (isDisabled) {\n errorMessage = '';\n }\n\n return (\n <FieldWrapper.View isDisabled={isDisabled}>\n <FieldWrapper.Head\n label={label}\n isRequired={isRequired}\n isInverted={isInverted}\n />\n <FieldWrapper.Content>\n <InputField\n placeholder={placeholder}\n hasError={!!errorMessage}\n type={type}\n isInverted={isInverted}\n name={name}\n value={value}\n required={isRequired}\n onChange={onChange}\n onBlur={onBlur}\n />\n </FieldWrapper.Content>\n <FieldWrapper.Messages\n infoMessage={infoMessage}\n errorMessage={errorMessage}\n isInverted={isInverted}\n />\n </FieldWrapper.View>\n );\n};\n\n/**\n * Function to compare both field prop states\n * @param prev Previous props\n * @param next Next props\n * @returns\n */\nconst areEqual = (prev: TextfieldProps, next: TextfieldProps) => {\n // only apply logic if memo functionality is enabled\n if (!prev.enableMemo) return false;\n\n if (prev.value !== next.value) return false;\n if (prev.errorMessage !== next.errorMessage) return false;\n if (prev.infoMessage !== next.infoMessage) return false;\n if (prev.label !== next.label) return false;\n if (prev.placeholder !== next.placeholder) return false;\n\n return true;\n};\n\nexport default React.memo(Textfield, areEqual);\n","import React, { useEffect, useMemo, useRef, useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport AngleDown from 'components/base/icons/AngleDown';\nimport AngleUp from 'components/base/icons/AngleUp';\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport {\n getColors as color,\n getFonts as font,\n spacings,\n getGlobals as global,\n withRange,\n} from 'utils/styles';\nimport FieldWrapper from './FormField';\nimport { FormProps } from './Textfield';\nimport { getFormFieldTextSize } from 'utils/formFieldText';\nimport useMounted from 'utils/useMounted';\nimport { isValidArray } from 'utils/arrays';\n\nconst Select = styled.button<{\n hasError?: boolean;\n isOpen?: boolean;\n isInverted?: boolean;\n isSelected?: boolean;\n}>`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n min-height: 40px;\n box-shadow: none;\n position: relative;\n\n -webkit-appearance: none;\n outline: none;\n cursor: pointer;\n\n padding: ${spacings.nudge}px;\n\n border: 1px solid\n ${({ theme, isInverted, hasError, isOpen }) => {\n if (isOpen) return 'transparent';\n if (isInverted) {\n return hasError\n ? color(theme).errorInverted\n : color(theme).elementBg.light;\n }\n return hasError ? color(theme).error : color(theme).elementBg.dark;\n }};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n background: transparent;\n\n ${copyStyle('copy', 'small')}\n /** Clamping min font size to 16px to prevent browser zooming */\n ${({ theme }) => withRange(getFormFieldTextSize(theme), 'font-size')}\n \n color: ${({ theme, isInverted, hasError, isSelected }) => {\n if (!isSelected) {\n return isInverted\n ? color(theme).text.subtileInverted\n : color(theme).text.subtile;\n }\n\n if (isInverted) {\n return hasError\n ? color(theme).text.errorInverted\n : font(theme).copy.small.colorInverted;\n }\n return hasError\n ? color(theme).text.error\n : font(theme).copy.small.color;\n }};\n\n &:active {\n border: ${({ theme, isInverted, isOpen }) =>\n `1px solid ${\n isOpen\n ? 'transparent'\n : isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n }\n\n &:focus {\n outline: ${({ theme, isInverted, isOpen }) =>\n `1px solid ${\n isOpen\n ? 'transparent'\n : isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n outline-offset: 0;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nconst SelectMain = styled.span`\n display: block;\n user-select: none;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n`;\n\nconst Indicator = styled.span`\n display: block;\n pointer-events: none;\n`;\n\nconst Flyout = styled.ul<{ isVisible?: boolean; isInverted?: boolean }>`\n list-style: none;\n padding: 0 !important;\n margin: 0 !important;\n\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n z-index: 2;\n\n display: ${({ isVisible }) => (isVisible ? 'block' : 'none')};\n background: ${({ theme }) => color(theme).elementBg.light};\n border: 1px solid\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n max-height: 300px;\n overflow-y: auto;\n scrollbar-width: none;\n\n outline: ${({ theme, isInverted }) =>\n `1px solid ${\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n outline-offset: 0;\n\n ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 14px;\n }\n\n ::-webkit-scrollbar-thumb {\n border-radius: 8px;\n background-color: ${({ theme }) => color(theme).elementBg.medium};\n border: 4px solid rgba(0, 0, 0, 0);\n background-clip: padding-box;\n }\n`;\n\nconst ItemStyle = styled.li`\n padding: ${spacings.nudge}px;\n width: 100%;\n cursor: pointer;\n position: relative;\n`;\n\nconst Item = styled(Copy)<{ isSelected?: boolean }>`\n z-index: 0;\n\n @media (hover: hover) and (pointer: fine) {\n ${ItemStyle}:hover & {\n &:before {\n content: '';\n background: ${({ theme }) => color(theme).primary.hover};\n opacity: 0.25;\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n left: 0;\n z-index: -1;\n }\n }\n }\n\n ${({ isSelected }) =>\n isSelected &&\n css`\n &:before {\n content: '';\n background: ${({ theme }) => color(theme).primary.default};\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n left: 0;\n\n z-index: -1;\n }\n `}\n`;\n\nconst ClearItem = styled(Item)`\n color: transparent;\n`;\n\nconst Container = styled.div`\n position: relative;\n outline: none;\n`;\n\ninterface SelectItem {\n value: Record<string, string>;\n label: string;\n}\n\nexport type SelectDropdownProps = Omit<FormProps, 'value'> & {\n enableMemo?: boolean;\n placeholder?: string;\n name?: string;\n selectedItem?: string;\n items: SelectItem[];\n\n onChange?: (label: string, value: Record<string, string>) => void;\n onBlur?: () => void;\n indicator?: (props: {\n isOpen: boolean;\n isDisabled?: boolean;\n }) => React.ReactNode;\n};\n\nconst SelectDropdown: React.FC<SelectDropdownProps> = ({\n label,\n isRequired,\n errorMessage,\n infoMessage,\n isDisabled,\n isInverted,\n items,\n name,\n selectedItem,\n placeholder,\n onChange,\n onBlur,\n indicator,\n}) => {\n const { colors } = useLibTheme();\n const [isOpen, setIsOpen] = useState(false);\n\n const [activeItemIndex, setActiveItemIndex] = useState<number>(\n items?.findIndex((item) => item.label === selectedItem) || -1\n );\n const [selectItems, setSelectItems] = useState<SelectItem[]>(items || []);\n const selectBtnRef = useRef<HTMLButtonElement>(null);\n const isMounted = useMounted();\n const itemHasBeenClicked = useRef<boolean>(false);\n\n useEffect(() => {\n const index = items?.findIndex((item) => item.label === selectedItem);\n if (index !== -1) setActiveItemIndex(index);\n\n setSelectItems(items || []);\n }, [items, selectedItem]);\n\n useEffect(() => {\n const newItem = selectItems[activeItemIndex];\n\n if (isMounted) {\n onChange && onChange(newItem?.label, newItem?.value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectItems, activeItemIndex, selectedItem]);\n\n if (isDisabled) {\n errorMessage = '';\n }\n\n const activeItem = useMemo(() => {\n return activeItemIndex >= 0 && activeItemIndex < selectItems.length\n ? selectItems[activeItemIndex]\n : undefined;\n }, [activeItemIndex, selectItems]);\n\n return (\n <FieldWrapper.View isDisabled={isDisabled}>\n <FieldWrapper.Head\n label={label}\n isRequired={isRequired}\n isInverted={isInverted}\n />\n <FieldWrapper.Content>\n <Container>\n <Select\n ref={selectBtnRef}\n type=\"button\"\n aria-label={\n activeItem?.label || placeholder || 'Select item'\n }\n isOpen={isOpen}\n isInverted={isInverted}\n isSelected={!!activeItem}\n hasError={!!errorMessage}\n onClick={() => {\n setIsOpen((prev) => !prev);\n }}\n onBlur={() => {\n if (!itemHasBeenClicked.current) {\n setIsOpen(false);\n onBlur && onBlur();\n }\n }}\n onKeyDown={(ev) => {\n if (ev.key === 'ArrowDown') {\n ev.preventDefault();\n setIsOpen(true);\n\n if (\n isOpen &&\n selectItems[activeItemIndex + 1]\n ) {\n setActiveItemIndex((prev) => prev + 1);\n }\n } else if (ev.key === 'ArrowUp') {\n ev.preventDefault();\n setIsOpen(true);\n\n if (\n isOpen &&\n selectItems[activeItemIndex - 1]\n ) {\n setActiveItemIndex((prev) => prev - 1);\n }\n }\n }}\n >\n <SelectMain>\n {activeItem?.label || placeholder}\n </SelectMain>\n <Indicator>\n {indicator &&\n indicator({ isOpen, isDisabled: isDisabled })}\n {!indicator &&\n (isOpen ? (\n <AngleUp\n iconColor={\n isDisabled\n ? colors.elementBg.medium\n : colors.elementBg.dark\n }\n />\n ) : (\n <AngleDown\n iconColor={\n isDisabled\n ? colors.elementBg.medium\n : colors.elementBg.dark\n }\n />\n ))}\n </Indicator>\n </Select>\n <Flyout isVisible={isOpen}>\n {isValidArray(items, false) && (\n <ItemStyle\n key=\"key_0\"\n onMouseDown={() => {\n itemHasBeenClicked.current = true;\n }}\n onClick={(ev) => {\n ev.preventDefault();\n\n // set new item\n setActiveItemIndex(-1);\n\n // set focus back to toggle\n selectBtnRef.current?.focus();\n\n // close flyout\n setIsOpen(false);\n itemHasBeenClicked.current = false;\n }}\n >\n <ClearItem renderAs=\"span\" size=\"small\">\n Clear\n </ClearItem>\n </ItemStyle>\n )}\n {items.map((item, i) => {\n return (\n <ItemStyle\n key={`key_${i + 1}`}\n onMouseDown={() => {\n itemHasBeenClicked.current = true;\n }}\n onClick={(ev) => {\n ev.preventDefault();\n\n // set new item\n setActiveItemIndex(i);\n\n // set focus back to toggle\n selectBtnRef.current?.focus();\n\n // close flyout\n setIsOpen(false);\n itemHasBeenClicked.current = false;\n }}\n >\n <Item\n renderAs=\"span\"\n isSelected={i === activeItemIndex}\n size=\"small\"\n textColor={\n i === activeItemIndex\n ? colors.elementBg.light\n : colors.elementBg.dark\n }\n >\n {item.label}\n </Item>\n </ItemStyle>\n );\n })}\n </Flyout>\n </Container>\n {activeItem && (\n <input\n type=\"hidden\"\n name={name}\n value={JSON.stringify(activeItem.value)}\n />\n )}\n </FieldWrapper.Content>\n <FieldWrapper.Messages\n infoMessage={infoMessage}\n errorMessage={errorMessage}\n isInverted={isInverted}\n />\n </FieldWrapper.View>\n );\n};\n\n/**\n * Function to compare both field prop states\n * @param prev Previous props\n * @param next Next props\n * @returns\n */\nconst areEqual = (prev: SelectDropdownProps, next: SelectDropdownProps) => {\n // only apply logic if memo functionality is enabled\n if (!prev.enableMemo) return false;\n\n if (prev.selectedItem !== next.selectedItem) return false;\n if (prev.errorMessage !== next.errorMessage) return false;\n if (prev.infoMessage !== next.infoMessage) return false;\n if (prev.label !== next.label) return false;\n if (prev.placeholder !== next.placeholder) return false;\n\n // compare items\n if (prev.items.length !== next.items.length) return false;\n for (let i = 0; i < prev.items.length; i++) {\n if (\n prev.items[i].label !== next.items[i].label ||\n prev.items[i].value !== next.items[i].value\n ) {\n return false;\n }\n }\n\n return true;\n};\n\nexport default React.memo(SelectDropdown, areEqual);\n","import { copyStyle } from 'components/typography/Copy';\nimport React, { FC, useEffect, useState, useRef } from 'react';\nimport styled from 'styled-components';\nimport {\n getColors as color,\n getFonts as font,\n spacings,\n getGlobals as global,\n withRange,\n} from 'utils/styles';\nimport FieldWrapper from './FormField';\nimport { FormProps } from './Textfield';\nimport * as Icons from 'icons';\nimport { getFormFieldTextSize } from 'utils/formFieldText';\n\nconst FieldView = styled(FieldWrapper.View)`\n pointer-events: none;\n`;\n\nconst FieldMain = styled.div<{\n isInverted?: boolean;\n hasError?: boolean;\n isDisabled?: boolean;\n}>`\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n outline: none;\n width: 100%;\n min-height: 40px;\n box-shadow: none;\n\n border-radius: 0px;\n -webkit-appearance: none;\n background: none;\n\n padding: 0 ${spacings.nudge}px;\n\n border: 1px solid\n ${({ theme, isInverted, hasError }) => {\n if (isInverted) {\n return hasError\n ? color(theme).errorInverted\n : color(theme).elementBg.light;\n }\n return hasError ? color(theme).error : color(theme).elementBg.dark;\n }};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n\n ${copyStyle('copy', 'small')}\n /** Clamping min font size to 16px to prevent browser zooming */\n ${({ theme }) => withRange(getFormFieldTextSize(theme), 'font-size')}\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? font(theme).copy.small.colorInverted\n : font(theme).copy.small.color};\n\n &:focus-within {\n outline: ${({ theme, isInverted }) =>\n `1px solid ${\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n outline-offset: 0;\n }\n`;\n\nconst FileItem = styled.div<{ isInverted?: boolean }>`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n ${copyStyle('copy', 'small')}\n /** Clamping min font size to 16px to prevent browser zooming */\n ${({ theme }) => withRange(getFormFieldTextSize(theme), 'font-size')}\n\n padding: ${spacings.nudge}px 0;\n width: 100%;\n\n * + & {\n border-top: 1px dashed\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n }\n\n & > span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n`;\n\nconst UploadItem = styled.button<{ isInverted?: boolean }>`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n padding: ${spacings.nudge}px 0;\n background: none;\n outline: none;\n border: none;\n\n width: 100%;\n cursor: pointer;\n pointer-events: all;\n\n ${copyStyle('copy', 'small')}\n /** Clamping min font size to 16px to prevent browser zooming */\n ${({ theme }) => withRange(getFormFieldTextSize(theme), 'font-size')}\n \n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).text.subtileInverted\n : color(theme).text.subtile};\n\n * + & {\n border-top: 1px dashed\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n }\n\n & > span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n &:focus {\n text-decoration: underline;\n }\n\n &:focus:not(:focus-visible) {\n text-decoration: none;\n }\n`;\n\nconst Icon = styled.span<{ isInverted?: boolean }>`\n display: flex;\n justify-content: center;\n align-items: center;\n\n height: 100%;\n min-width: 24px;\n margin-left: auto;\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? font(theme).copy.small.colorInverted\n : font(theme).copy.small.color};\n\n pointer-events: none;\n\n & > * {\n height: 20px;\n }\n`;\n\nconst DeleteIcon = styled.button<{ isInverted?: boolean }>`\n display: flex;\n justify-content: center;\n align-items: center;\n\n height: 100%;\n min-width: 24px;\n margin-left: auto;\n\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n pointer-events: all;\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? font(theme).copy.small.colorInverted\n : font(theme).copy.small.color};\n\n transition: opacity 0.2s ease-in-out;\n\n & > * {\n height: 20px;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n opacity: 0.8;\n }\n }\n\n &:focus {\n outline: solid 2px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n`;\n\nconst Original = styled.input`\n display: none;\n`;\n\ninterface Preview {\n uid: string;\n type: string;\n url: string | null;\n isUploading?: boolean;\n}\n\ninterface SelectedFile {\n uid: string;\n data: File;\n}\n\nconst readFileAsync = (file: File, uid: string) =>\n new Promise<Preview>((resolve) => {\n resolve({\n uid: uid,\n type: file.type,\n url: file.name,\n isUploading: true,\n });\n\n const reader = new FileReader();\n\n reader.onload = () => {\n resolve({\n uid: uid,\n type: file.type,\n url: file.name,\n isUploading: true,\n });\n };\n reader.readAsDataURL(file);\n });\n\nexport type FileUploadProps = Omit<FormProps, 'value' | 'placeholder'> & {\n enableMemo?: boolean;\n onUploadFiles?: (files: File[]) => void;\n acceptedFormats?: string;\n uploadLabel?: string;\n customDeleteIcon?: (isInverted?: boolean) => React.ReactNode;\n customUploadIcon?: (isInverted?: boolean) => React.ReactNode;\n};\n\nconst FileUpload: FC<FileUploadProps> = ({\n onUploadFiles,\n label,\n isInverted,\n isDisabled,\n isRequired,\n infoMessage,\n errorMessage,\n acceptedFormats,\n uploadLabel,\n customDeleteIcon,\n customUploadIcon,\n}) => {\n const [selectedFiles, setSelectedFiles] = useState<SelectedFile[]>([]);\n const fileInputRef = useRef<HTMLInputElement | null>(null);\n\n const [previews, setPreviews] = useState<Preview[]>([]);\n\n if (isDisabled) {\n errorMessage = '';\n }\n\n useEffect(() => {\n if (selectedFiles) {\n onUploadFiles && onUploadFiles(selectedFiles.map((f) => f.data));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedFiles]);\n\n const handleClick = (ev: React.MouseEvent<HTMLButtonElement>) => {\n ev.preventDefault();\n\n fileInputRef.current?.click();\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!e.currentTarget.files) return;\n\n const newFiles = Array.from(e.currentTarget.files).map<SelectedFile>(\n (f, i) => ({\n uid: `${new Date().getTime().toString()}_${i}`,\n data: f,\n })\n );\n\n const promises = newFiles.map<Promise<Preview>>((file) => {\n return readFileAsync(file.data, file.uid);\n });\n\n Promise.all(promises).then((p) => {\n setPreviews((prev) => [...prev, ...p]);\n });\n\n setSelectedFiles((prev) => [...prev, ...newFiles]);\n };\n\n const handleDelete =\n (preview: Preview) => (ev: React.MouseEvent<HTMLButtonElement>) => {\n ev.preventDefault();\n ev.stopPropagation();\n\n if (!fileInputRef.current) return;\n fileInputRef.current.value = '';\n\n // remove element from previews\n setPreviews((prev) => {\n const index = prev.findIndex((p) => p.uid === preview.uid);\n if (index < 0) return prev;\n\n const copy = [...prev];\n copy.splice(index, 1);\n return copy;\n });\n\n // remove alement from selected files\n setSelectedFiles((prev) => {\n const index = prev.findIndex((p) => p.uid === preview.uid);\n if (index < 0) return prev;\n\n const copy = [...prev];\n copy.splice(index, 1);\n return copy;\n });\n };\n\n return (\n <FieldView isDisabled={isDisabled}>\n <FieldWrapper.Head\n label={label}\n isRequired={isRequired}\n isInverted={isInverted}\n />\n <FieldWrapper.Content>\n <FieldMain\n isInverted={isInverted}\n isDisabled={isDisabled}\n hasError={!!errorMessage}\n >\n {previews.map((file) => {\n const fileName =\n (file.url && file.url.split('/')) || [];\n return (\n <FileItem key={file.uid} isInverted={isInverted}>\n <span>{fileName}</span>\n <DeleteIcon\n aria-label=\"remove file\"\n type=\"button\"\n isInverted={isInverted}\n onClick={handleDelete(file)}\n >\n {customDeleteIcon ? (\n customDeleteIcon(isInverted)\n ) : (\n <Icons.DeleteForever />\n )}\n </DeleteIcon>\n </FileItem>\n );\n })}\n <UploadItem\n type=\"button\"\n isInverted={isInverted}\n onClick={handleClick}\n >\n {uploadLabel && <span>{uploadLabel}</span>}\n <Icon isInverted={isInverted}>\n {customUploadIcon ? (\n customUploadIcon(isInverted)\n ) : (\n <Icons.UploadFile />\n )}\n </Icon>\n </UploadItem>\n </FieldMain>\n <Original\n type=\"file\"\n onChange={handleChange}\n ref={fileInputRef}\n multiple\n required={isRequired}\n disabled={isDisabled}\n accept={acceptedFormats}\n />\n </FieldWrapper.Content>\n <FieldWrapper.Messages\n infoMessage={infoMessage}\n errorMessage={errorMessage}\n isInverted={isInverted}\n />\n </FieldView>\n );\n};\n\n/**\n * Function to compare both field prop states\n * @param prev Previous props\n * @param next Next props\n * @returns\n */\nconst areEqual = (prev: FileUploadProps, next: FileUploadProps) => {\n // only apply logic if memo functionality is enabled\n if (!prev.enableMemo) return false;\n\n if (prev.errorMessage !== next.errorMessage) return false;\n if (prev.infoMessage !== next.infoMessage) return false;\n if (prev.label !== next.label) return false;\n\n return true;\n};\n\nexport default React.memo(FileUpload, areEqual);\n","import * as React from 'react';\nimport styled from 'styled-components';\n\nconst SVG = styled.svg`\n display: block;\n`;\n\nconst Magnifier: React.FC<{\n iconColor?: string;\n className?: string;\n ariaHidden?: boolean;\n}> = ({ iconColor = 'currentColor', className, ariaHidden = true }) => (\n <SVG\n viewBox=\"0 0 18 18\"\n width=\"18\"\n height=\"18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden={ariaHidden}\n className={className}\n >\n <path\n d=\"M12.5 11h-.79l-.28-.27A6.471 6.471 0 0 0 13 6.5 6.5 6.5 0 1 0 6.5 13c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L17.49 16l-4.99-5Zm-6 0C4.01 11 2 8.99 2 6.5S4.01 2 6.5 2 11 4.01 11 6.5 8.99 11 6.5 11Z\"\n fill={iconColor}\n />\n </SVG>\n);\n\nexport default Magnifier;\n","import React, { FC, useEffect } from 'react';\nimport styled from 'styled-components';\n\nimport { copyStyle } from 'components/typography/Copy';\nimport {\n spacings,\n getColors as color,\n getFonts as font,\n mq,\n} from 'utils/styles';\nimport Magnifier from 'components/base/icons/Magnifier';\nimport useLazyInput from 'utils/useLazyInput';\nimport Cross from 'components/base/icons/Cross';\n\nconst View = styled.div<{ isInverted?: boolean }>`\n display: flex;\n min-height: 50px;\n border: solid 1px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? font(theme).copy.medium.colorInverted\n : font(theme).copy.medium.color};\n\n &:focus-within {\n outline: ${({ theme, isInverted }) =>\n `1px solid ${\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n outline-offset: 0;\n }\n\n &:focus-within & > input:not(:focus-visible) {\n outline: none;\n }\n\n @media ${mq.medium} {\n max-width: 400px;\n }\n`;\n\nconst Field = styled.input<{ isInverted?: boolean }>`\n flex: 1 1 auto;\n background-color: transparent;\n box-shadow: none;\n border: none;\n border-right: none;\n border-radius: 0px;\n outline: none;\n -webkit-appearance: none;\n color: inherit;\n ${copyStyle('copy', 'medium')}\n line-height: 1;\n\n padding: ${spacings.nudge * 2}px;\n padding-right: ${spacings.nudge}px;\n\n &::placeholder {\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).text.subtileInverted\n : color(theme).text.subtile};\n }\n`;\n\nconst SearchIcon = styled.div`\n display: flex;\n align-items: center;\n padding-right: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n\n &:focus {\n text-decoration: underline;\n transform: scale(1.012);\n }\n\n &:focus:not(:focus-visible) {\n text-decoration: none;\n }\n\n &:active {\n transform: scale(0.95);\n }\n`;\n\nconst ClearBtn = styled.button<{ isInverted?: boolean }>`\n display: flex;\n align-items: center;\n background: none;\n border: none;\n cursor: pointer;\n\n padding-right: ${spacings.nudge * 2}px;\n padding-left: ${spacings.nudge * 2}px;\n color: inherit;\n\n transition: transform 0.2s ease-in-out;\n\n &:focus {\n text-decoration: underline;\n transform: scale(1.012);\n\n outline: ${({ theme, isInverted }) =>\n `2px solid ${\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default\n }`};\n outline-offset: -4px;\n outline-style: dashed;\n }\n\n &:focus:not(:focus-visible) {\n text-decoration: none;\n outline: none;\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n & > * {\n height: 20px;\n width: 20px;\n }\n`;\n\nconst FilterField: FC<{\n isInverted?: boolean;\n value?: string;\n initialValue?: string;\n placeholder?: string;\n onSubmit?: (value: string) => void;\n onBlur?: (ev: React.SyntheticEvent<HTMLInputElement>) => void;\n submitIcon?: (isInverted?: boolean) => React.ReactNode;\n clearIcon?: (isInverted?: boolean) => React.ReactNode;\n className?: string;\n}> = ({\n isInverted,\n value,\n initialValue,\n placeholder,\n onSubmit,\n onBlur,\n submitIcon,\n clearIcon,\n className,\n}) => {\n const {\n update,\n value: getValue,\n forceUpdate,\n } = useLazyInput((value) => {\n onSubmit?.(value);\n }, initialValue || '');\n\n useEffect(() => {\n if (value !== undefined) {\n update(value);\n }\n }, [update, value]);\n\n return (\n <View isInverted={isInverted} className={className}>\n <Field\n type=\"text\"\n isInverted={isInverted}\n value={getValue}\n placeholder={placeholder}\n onChange={(ev) => {\n const newValue = ev?.currentTarget?.value;\n if (newValue !== undefined) {\n update(newValue, newValue === '');\n }\n }}\n onBlur={onBlur}\n onKeyDown={(ev) => {\n if (ev.key === 'Enter') {\n forceUpdate();\n }\n }}\n />\n {getValue === '' && (\n <SearchIcon>\n {submitIcon ? submitIcon(isInverted) : <Magnifier />}\n </SearchIcon>\n )}\n {getValue !== '' && (\n <ClearBtn\n isInverted={isInverted}\n aria-label=\"clear filter\"\n onClick={() => {\n update('', true);\n }}\n >\n {clearIcon ? clearIcon(isInverted) : <Cross />}\n </ClearBtn>\n )}\n </View>\n );\n};\n\nexport default FilterField;\n"],"names":["View","styled","label","templateObject_1","__makeTemplateObject","_a","isDisabled","FieldHead","Copy","templateObject_2","spacings","nudge","FieldMessage","templateObject_3","FieldWrapper","onClick","className","children","React","createElement","Head","isRequired","isInverted","renderAs","size","type","concat","Messages","errorMessage","infoMessage","colors","useLibTheme","Fragment","textColor","text","errorInverted","error","Content","addWrapper","String","getFormFieldTextSize","theme","min","clampValue","font","copy","small","max","MapWrapper","div","isVisible","MapContainer","ViewToggle","button","ToggleText","templateObject_4","ResetMap","templateObject_5","ResetMapControl","templateObject_6","color","primary","default","TrackLocation","templateObject_7","TrackLocationControl","templateObject_8","elementBg","dark","copyStyle","colorInverted","FieldView","templateObject_9","Area","textarea","templateObject_10","hasError","light","global","sections","edgeRadius","withRange","inverted","subtileInverted","subtile","LocationField","placeholder","value","name","marker","initialMapCenter","_d","zoom","onChange","onBlur","customToggle","customLocationControl","customResetControl","_e","toggleLabel","_f","trackLocationLabel","_g","fonts","_h","useState","useMapView","setUseMapView","_j","description","getValue","setValue","prevValue","useRef","_k","markers","setMarkers","_l","useLazyInput","position","undefined","descValue","setDescValue","update","forceUpdate","getMarkersFromPositions","useCallback","positions","defaultMarker","anchor","sizeActive","anchorActive","url","getSVGDataImg","LocationPin","markerList","positions_1","_i","length","push","id","icon","_m","useLeafletMap","activeMarkerId","center","ev","mapClickHandler","setMapContainer","setContainer","flyToPosition","recalculateMapSize","doubleClickTimerRef","_o","useGeolocation","isGeolocationSupported","isSupported","isEnabled","location","resetLocationTracking","reset","cancelGeolocation","cancel","setMapToInitial","handleMapClick","newPos","handleTrackClick","setToCurrentLocation","latlng","lat","lng","current","window","setTimeout","clearTimeout","coords","latitude","longitude","toggleViewState","prev","useEffect","useUpdateEffect","_b","_c","preventDefault","viewState","handleClick","Icons","iconColor","ref","tabIndex","required","currentTarget","areEqual","next","enableMemo","memo","toInteger","dirtyNumber","NaN","number","Number","isNaN","Math","ceil","floor","requiredArgs","args","TypeError","toDate","argument","arguments","argStr","Object","prototype","toString","call","Date","getTime","console","warn","Error","stack","addMilliseconds","dirtyDate","dirtyAmount","timestamp","amount","getTimezoneOffsetInMilliseconds","date","utcDate","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","setUTCFullYear","isDate","isValid","formatDistanceLocale","lessThanXSeconds","one","other","xSeconds","halfAMinute","lessThanXMinutes","xMinutes","aboutXHours","xHours","xDays","aboutXWeeks","xWeeks","aboutXMonths","xMonths","aboutXYears","xYears","overXYears","almostXYears","formatDistance","token","count","options","result","tokenValue","replace","addSuffix","comparison","buildFormatLongFn","width","defaultWidth","format","formats","dateFormats","full","long","medium","short","timeFormats","dateTimeFormats","formatLong","time","dateTime","formatRelativeLocale","lastWeek","yesterday","today","tomorrow","nextWeek","formatRelative","_date","_baseDate","_options","buildLocalizeFn","dirtyIndex","dirtyOptions","context","valuesArray","formattingValues","defaultFormattingWidth","_defaultWidth","_width","values","index","argumentCallback","eraValues","narrow","abbreviated","wide","quarterValues","monthValues","dayValues","dayPeriodValues","am","pm","midnight","noon","morning","afternoon","evening","night","formattingDayPeriodValues","ordinalNumber","rem100","localize","era","quarter","month","day","dayPeriod","buildMatchFn","string","matchPattern","matchPatterns","defaultMatchWidth","matchResult","match","matchedString","parsePatterns","defaultParseWidth","key","Array","isArray","findIndex","pattern","test","findKey","valueCallback","rest","slice","object","predicate","hasOwnProperty","array","buildMatchPatternFn","parseResult","parsePattern","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","any","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","parseInt","locale","code","weekStartsOn","firstWeekContainsDate","subMilliseconds","MILLISECONDS_IN_DAY","getUTCDayOfYear","setUTCMonth","setUTCHours","startOfYearTimestamp","difference","startOfUTCISOWeek","getUTCDay","diff","setUTCDate","getUTCDate","getUTCISOWeekYear","year","getUTCFullYear","fourthOfJanuaryOfNextYear","startOfNextYear","fourthOfJanuaryOfThisYear","startOfThisYear","startOfUTCISOWeekYear","fourthOfJanuary","MILLISECONDS_IN_WEEK","getUTCISOWeek","round","startOfUTCWeek","localeWeekStartsOn","defaultWeekStartsOn","RangeError","getUTCWeekYear","localeFirstWeekContainsDate","defaultFirstWeekContainsDate","firstWeekOfNextYear","firstWeekOfThisYear","startOfUTCWeekYear","firstWeek","getUTCWeek","addLeadingZeros","targetLength","sign","output","abs","formatters","y","signedYear","M","getUTCMonth","d","a","dayPeriodEnumValue","getUTCHours","toUpperCase","h","H","m","getUTCMinutes","s","getUTCSeconds","S","numberOfDigits","milliseconds","getUTCMilliseconds","fractionalSeconds","pow","dayPeriodEnum","G","unit","lightFormatters","Y","signedWeekYear","weekYear","twoDigitYear","R","isoWeekYear","u","Q","q","L","w","week","I","isoWeek","D","dayOfYear","E","dayOfWeek","e","localDayOfWeek","c","i","isoDayOfWeek","hours","toLowerCase","b","B","K","k","X","_localize","originalDate","_originalDate","timezoneOffset","getTimezoneOffset","formatTimezoneWithOptionalMinutes","formatTimezone","x","O","formatTimezoneShort","z","t","T","offset","dirtyDelimiter","absOffset","minutes","delimiter","dateLongFormatter","timeLongFormatter","dateTimeLongFormatter","datePattern","timePattern","dateTimeFormat","longFormatters","p","P","protectedDayOfYearTokens","protectedWeekYearTokens","isProtectedDayOfYearToken","indexOf","isProtectedWeekYearToken","throwProtectedError","input","formattingTokensRegExp","longFormattingTokensRegExp","escapedStringRegExp","doubleQuoteRegExp","unescapedLatinCharacterRegExp","dirtyFormatStr","formatStr","defaultLocale","formatterOptions","map","substring","firstCharacter","longFormatter","join","cleanEscapedString","formatter","useAdditionalWeekYearTokens","useAdditionalDayOfYearTokens","isBefore","dirtyDateToCompare","dateToCompare","isEqual","dirtyLeftDate","dirtyRightDate","dateLeft","dateRight","standalone","withPreposition","formattingMonthValues","PickerView","spacer","mq","hexToRgba","Icon","DatepickerButton","hasDateValue","isActive","DatepickerButtonMain","DatepickerFoot","FootFlex","ButtonLabel","Button","Label","ButtonGhostLabel","ButtonGhost","PickerButton","forwardRef","isFocused","altText","startDate","endDate","setFocused","dateFormat","customIcon","singleSelect","displayName","PickerHeader","getPickerHeader","prevMonthAction","nextMonthAction","monthDate","customHeaderCount","decreaseMonth","increaseMonth","style","visibility","src","de","Datepicker","dateSubmitLabel","dateDeleteLabel","minDate","maxDate","onDataChange","onSubmit","deleteAction","submitAction","nextCtrlUrl","prevCtrlUrl","globals","datepickerLocaleKey","datepickerDateFormat","pickerRef","pickerBtnRef","isSmall","setIsSmall","setStartDate","setEndDate","focused","__awaiter","sent","matchMedia","matches","handleResize","shouldBeSmall","addEventListener","removeEventListener","setOpen","handleSubmit","handleReset","ReactDatePicker","selected","monthsShown","shouldCloseOnSelect","customInput","showPopperArrow","disabledKeyboardNavigation","isClearable","onClickOutside","stopPropagation","renderCustomHeader","as","prevDateStart","prevDateEnd","nextDateStart","nextDateEnd","RadioContainer","Original","StyledRadioButton","span","isSelected","css","RadioButton","checked","innerHTML","Textarea","InputField","Textfield","Select","isOpen","SelectMain","Indicator","Flyout","ul","ItemStyle","li","Item","hover","ClearItem","Container","SelectDropdown","items","selectedItem","indicator","setIsOpen","item","activeItemIndex","setActiveItemIndex","selectItems","setSelectItems","selectBtnRef","isMounted","useMounted","itemHasBeenClicked","newItem","activeItem","useMemo","onKeyDown","AngleUp","AngleDown","isValidArray","onMouseDown","focus","JSON","stringify","FieldMain","FileItem","UploadItem","DeleteIcon","readFileAsync","file","uid","Promise","resolve","isUploading","reader","FileReader","onload","readAsDataURL","FileUpload","onUploadFiles","acceptedFormats","uploadLabel","customDeleteIcon","customUploadIcon","selectedFiles","setSelectedFiles","fileInputRef","previews","setPreviews","f","data","click","handleChange","files","newFiles","from","promises","all","then","__spreadArray","handleDelete","preview","splice","fileName","split","multiple","disabled","accept","SVG","svg","Magnifier","ariaHidden","viewBox","height","fill","xmlns","Field","SearchIcon","ClearBtn","FilterField","initialValue","submitIcon","clearIcon","newValue","Cross"],"mappings":"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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,SAAS/O,MAAT,CAAgBjD,SAAhB,EAA2BiS,cAA3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"}