@jetshop/ui 5.13.1 → 5.13.11-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 (556) hide show
  1. package/Accordion/Accordion.d.ts +33 -33
  2. package/Accordion/Accordion.js +58 -58
  3. package/Accordion/Accordion.test.js +73 -73
  4. package/Accordion/__doc_utils__/AccordionHeader.js +12 -12
  5. package/Auth/FormFields/CountriesInput.d.ts +14 -14
  6. package/Auth/FormFields/CountriesInput.js +27 -27
  7. package/Auth/LogInBehavior.d.ts +22 -22
  8. package/Auth/LogInBehavior.js +23 -23
  9. package/Auth/LogInFormProvider.d.ts +7 -7
  10. package/Auth/LogInFormProvider.js +70 -70
  11. package/Auth/LogOut.d.ts +10 -10
  12. package/Auth/LogOut.js +23 -23
  13. package/Auth/logInValidator.d.ts +8 -8
  14. package/Auth/logInValidator.js +15 -15
  15. package/Breadcrumbs/Breadcrumbs.d.ts +14 -14
  16. package/Breadcrumbs/Breadcrumbs.js +83 -83
  17. package/Breadcrumbs/getParentsOrCanonicalRoute.d.ts +3 -3
  18. package/Breadcrumbs/getParentsOrCanonicalRoute.js +13 -13
  19. package/Breadcrumbs/index.d.ts +1 -1
  20. package/Breadcrumbs/index.js +1 -1
  21. package/Breakpoints.d.ts +12 -12
  22. package/Breakpoints.js +35 -35
  23. package/Button/Button.d.ts +14 -14
  24. package/Button/Button.js +59 -59
  25. package/Button/OutlineButton.d.ts +4 -4
  26. package/Button/OutlineButton.js +9 -9
  27. package/Button/SecondaryButton.d.ts +3 -3
  28. package/Button/SecondaryButton.js +8 -8
  29. package/Button/TrendButton.d.ts +3 -3
  30. package/Button/TrendButton.js +7 -7
  31. package/Button/index.d.ts +4 -4
  32. package/Button/index.js +4 -4
  33. package/CategoryLink.d.ts +9 -9
  34. package/CategoryLink.js +42 -42
  35. package/ChannelSelector/ChannelListItem.d.ts +10 -10
  36. package/ChannelSelector/ChannelListItem.js +50 -50
  37. package/ChannelSelector/ChannelListItem.test.js +85 -85
  38. package/ChannelSelector/ChannelSelector.d.ts +63 -63
  39. package/ChannelSelector/ChannelSelector.js +79 -79
  40. package/ChannelSelector/ChannelSelector.test.js +167 -167
  41. package/ChannelSelector/ChannelSelectorButtons.d.ts +3 -3
  42. package/ChannelSelector/ChannelSelectorButtons.js +19 -19
  43. package/ChannelSelector/Channels.d.ts +17 -17
  44. package/ChannelSelector/Channels.js +11 -11
  45. package/ChannelSelector/Channels.test.js +90 -90
  46. package/ChannelSelector/LargeSelector.d.ts +3 -3
  47. package/ChannelSelector/LargeSelector.js +66 -66
  48. package/ChannelSelector/MiniSelector.d.ts +4 -4
  49. package/ChannelSelector/MiniSelector.js +57 -57
  50. package/ChannelSelector/Region.d.ts +28 -28
  51. package/ChannelSelector/Region.js +20 -20
  52. package/ChannelSelector/Region.test.js +37 -37
  53. package/ChannelSelector/exampleChannels.js +577 -577
  54. package/ChannelSelector/groupBy.d.ts +7 -7
  55. package/ChannelSelector/groupBy.js +15 -15
  56. package/ChannelSelector/groupBy.test.js +42 -42
  57. package/Checkbox/Checkbox.d.ts +10 -10
  58. package/Checkbox/Checkbox.js +68 -68
  59. package/Checkbox/Checkbox.js.map +1 -1
  60. package/Checkbox/CheckboxGroup.d.ts +23 -23
  61. package/Checkbox/CheckboxGroup.js +21 -21
  62. package/Checkbox/index.d.ts +2 -2
  63. package/Checkbox/index.js +2 -2
  64. package/ContentPageLink.d.ts +9 -9
  65. package/ContentPageLink.js +36 -36
  66. package/ContentRenderer.d.ts +9 -9
  67. package/ContentRenderer.js +35 -35
  68. package/DropdownMenu/Button.d.ts +7 -7
  69. package/DropdownMenu/Button.js +31 -31
  70. package/DropdownMenu/DropdownMenu.d.ts +21 -21
  71. package/DropdownMenu/DropdownMenu.js +71 -71
  72. package/DropdownMenu/Item.d.ts +13 -13
  73. package/DropdownMenu/Item.js +47 -47
  74. package/DropdownMenu/Items.d.ts +16 -16
  75. package/DropdownMenu/Items.js +52 -52
  76. package/DropdownMenu/index.d.ts +4 -4
  77. package/DropdownMenu/index.js +4 -4
  78. package/ErrorBoundary/Generic.d.ts +17 -17
  79. package/ErrorBoundary/Generic.js +68 -68
  80. package/ErrorBoundary/PassThrough.d.ts +3 -3
  81. package/ErrorBoundary/PassThrough.js +6 -6
  82. package/Gallery/Gallery.d.ts +39 -39
  83. package/Gallery/Gallery.js +121 -121
  84. package/Gallery/constructGallery.d.ts +15 -15
  85. package/Gallery/constructGallery.js +40 -40
  86. package/Image/B2BImage.d.ts +50 -50
  87. package/Image/B2BImage.js +52 -52
  88. package/Image/BaseImage.d.ts +39 -39
  89. package/Image/BaseImage.js +191 -191
  90. package/Image/Fallback.d.ts +5 -5
  91. package/Image/Fallback.js +3 -3
  92. package/Image/FlightImage.d.ts +52 -52
  93. package/Image/FlightImage.js +57 -57
  94. package/Image/FlightImage.test.js +277 -277
  95. package/Image/Image.d.ts +2 -2
  96. package/Image/Image.js +2 -2
  97. package/Image/index.d.ts +1 -1
  98. package/Image/index.js +1 -1
  99. package/Image/useConstructImage.d.ts +46 -46
  100. package/Image/useConstructImage.js +96 -96
  101. package/Image/utils/aspectRatioToFraction.d.ts +2 -2
  102. package/Image/utils/aspectRatioToFraction.js +10 -10
  103. package/Image/utils/getFullUrl.d.ts +6 -6
  104. package/Image/utils/getFullUrl.js +17 -17
  105. package/Image/utils/getImageWidth.d.ts +1 -1
  106. package/Image/utils/getImageWidth.js +11 -11
  107. package/Image/utils/getImageWidths.d.ts +2 -2
  108. package/Image/utils/getImageWidths.js +13 -13
  109. package/Image/utils/getLQIP.d.ts +8 -8
  110. package/Image/utils/getLQIP.js +19 -19
  111. package/Image/utils/getLargestSize.d.ts +7 -7
  112. package/Image/utils/getLargestSize.js +16 -16
  113. package/Image/utils/getSizeForBreakpoint.d.ts +2 -2
  114. package/Image/utils/getSizeForBreakpoint.js +15 -15
  115. package/Image/utils/getSizesMap.d.ts +2 -2
  116. package/Image/utils/getSizesMap.js +21 -21
  117. package/Image/utils/getSmallestSize.d.ts +2 -2
  118. package/Image/utils/getSmallestSize.js +11 -11
  119. package/Image/utils/getSrcSetFromWidths.d.ts +10 -10
  120. package/Image/utils/getSrcSetFromWidths.js +8 -8
  121. package/Image/utils/getSrcWithParams.d.ts +3 -3
  122. package/Image/utils/getSrcWithParams.js +28 -28
  123. package/Image/utils/paddingForAspectRatio.d.ts +1 -1
  124. package/Image/utils/paddingForAspectRatio.js +5 -5
  125. package/Image/utils/remToPx.d.ts +1 -1
  126. package/Image/utils/remToPx.js +1 -1
  127. package/Image/utils/sizeToNumber.d.ts +2 -2
  128. package/Image/utils/sizeToNumber.js +26 -26
  129. package/Input/Input.d.ts +6 -6
  130. package/Input/Input.js +44 -44
  131. package/Input/index.d.ts +3 -3
  132. package/Input/index.js +3 -3
  133. package/JetshopText.d.ts +3 -3
  134. package/JetshopText.js +11 -11
  135. package/Loading/LoadingBar.d.ts +8 -8
  136. package/Loading/LoadingBar.js +57 -57
  137. package/Loading/LoadingLine.d.ts +31 -31
  138. package/Loading/LoadingLine.js +25 -25
  139. package/Loading/LoadingLine.test.js +18 -18
  140. package/Loading/NetworkStatusNotifier.d.ts +2 -2
  141. package/Loading/NetworkStatusNotifier.js +3 -3
  142. package/Menu/GetMoreSubcategoriesQuery.gql +25 -25
  143. package/Menu/MenuContainer.d.ts +28 -28
  144. package/Menu/MenuContainer.js +45 -45
  145. package/Menu/MenuContainer.test.js +245 -245
  146. package/Menu/RecursiveTree.d.ts +28 -28
  147. package/Menu/RecursiveTree.js +90 -90
  148. package/Menu/RecursiveTree.test.js +416 -416
  149. package/Modal/Drawer/Drawer.d.ts +11 -11
  150. package/Modal/Drawer/Drawer.js +30 -30
  151. package/Modal/Drawer/DrawerTarget.d.ts +6 -6
  152. package/Modal/Drawer/DrawerTarget.js +11 -11
  153. package/Modal/Drawer/DrawerTarget.test.js +92 -92
  154. package/Modal/Drawer/DrawerTrigger.d.ts +11 -11
  155. package/Modal/Drawer/DrawerTrigger.js +15 -15
  156. package/Modal/Drawer/DrawerTrigger.test.js +51 -51
  157. package/Modal/Drawer/index.d.ts +3 -3
  158. package/Modal/Drawer/index.js +3 -3
  159. package/Modal/Flyout/FlyoutTarget.d.ts +10 -10
  160. package/Modal/Flyout/FlyoutTarget.js +14 -14
  161. package/Modal/Flyout/FlyoutTarget.test.js +84 -84
  162. package/Modal/Flyout/FlyoutTrigger.d.ts +15 -15
  163. package/Modal/Flyout/FlyoutTrigger.js +17 -17
  164. package/Modal/Flyout/FlyoutTrigger.test.js +72 -72
  165. package/Modal/Flyout/index.d.ts +2 -2
  166. package/Modal/Flyout/index.js +2 -2
  167. package/Modal/ModalContext.d.ts +26 -26
  168. package/Modal/ModalContext.js +8 -8
  169. package/Modal/ModalProvider.d.ts +5 -5
  170. package/Modal/ModalProvider.js +82 -82
  171. package/Modal/ModalProvider.test.js +26 -26
  172. package/Modal/ModalRoot.d.ts +3 -3
  173. package/Modal/ModalRoot.js +43 -43
  174. package/Modal/ModalRoot.test.js +80 -80
  175. package/Modal/ModalTrigger.d.ts +9 -9
  176. package/Modal/ModalTrigger.js +8 -8
  177. package/Modal/__test_utils__/getComponentWithModalContext.js +29 -29
  178. package/Pagination/Pagination.d.ts +7 -7
  179. package/Pagination/Pagination.js +22 -22
  180. package/Pagination/PaginationBehaviour.d.ts +52 -52
  181. package/Pagination/PaginationBehaviour.js +67 -67
  182. package/Pagination/index.d.ts +2 -2
  183. package/Pagination/index.js +2 -2
  184. package/Pagination/usePagination.d.ts +15 -15
  185. package/Pagination/usePagination.js +45 -45
  186. package/PreOrderDateSelector/PreOrderDateSelector.d.ts +20 -20
  187. package/PreOrderDateSelector/PreOrderDateSelector.js +73 -73
  188. package/PreOrderDateSelector/index.d.ts +2 -2
  189. package/PreOrderDateSelector/index.js +2 -2
  190. package/Price/Currency.d.ts +9 -9
  191. package/Price/Currency.js +10 -10
  192. package/Price/Price.d.ts +28 -28
  193. package/Price/Price.js +34 -34
  194. package/Price/index.d.ts +1 -1
  195. package/Price/index.js +1 -1
  196. package/ProductLink.d.ts +21 -21
  197. package/ProductLink.js +81 -81
  198. package/ProductList/Badges.d.ts +6 -6
  199. package/ProductList/Badges.js +55 -55
  200. package/ProductList/GridProduct.d.ts +24 -24
  201. package/ProductList/GridProduct.js +57 -57
  202. package/ProductList/ProductGrid.d.ts +16 -16
  203. package/ProductList/ProductGrid.js +29 -29
  204. package/ProductList/ProductImage.d.ts +12 -12
  205. package/ProductList/ProductImage.js +20 -20
  206. package/ProductSpecifications/ProductSpecifications.d.ts +8 -8
  207. package/ProductSpecifications/ProductSpecifications.js +77 -77
  208. package/ScrollRestorationHandler/ScrollRestorationHandler.d.ts +8 -8
  209. package/ScrollRestorationHandler/ScrollRestorationHandler.js +16 -16
  210. package/ScrollRestorationHandler/ScrollRestorationHandler.test.js +75 -75
  211. package/ScrollRestorationHandler/index.d.ts +1 -1
  212. package/ScrollRestorationHandler/index.js +1 -1
  213. package/ScrollRestorationHandler/isInIgnoredRouteTypes.d.ts +6 -6
  214. package/ScrollRestorationHandler/isInIgnoredRouteTypes.js +7 -7
  215. package/ScrollRestorationHandler/useScrollRestore.d.ts +7 -7
  216. package/ScrollRestorationHandler/useScrollRestore.js +19 -19
  217. package/Search/AutocompleteQuery.gql +10 -10
  218. package/Search/SearchAutoCompleteContainer.d.ts +45 -45
  219. package/Search/SearchAutoCompleteContainer.js +171 -171
  220. package/Search/SearchAutoCompleteContainer.test.js +460 -460
  221. package/Search/SearchField.d.ts +15 -15
  222. package/Search/SearchField.js +96 -96
  223. package/Search/SearchPage/PageOf.d.ts +5 -5
  224. package/Search/SearchPage/PageOf.js +6 -6
  225. package/Search/SearchPage/SearchMeta.d.ts +16 -16
  226. package/Search/SearchPage/SearchMeta.js +19 -19
  227. package/Search/SearchPage/SearchPageBehaviour.d.ts +19 -19
  228. package/Search/SearchPage/SearchPageBehaviour.js +66 -66
  229. package/Search/SuggestedTerm.d.ts +16 -16
  230. package/Search/SuggestedTerm.js +34 -34
  231. package/Search/index.d.ts +1 -1
  232. package/Search/index.js +1 -1
  233. package/Select/Components.d.ts +28 -28
  234. package/Select/Components.js +90 -90
  235. package/Select/SelectComponents/Quantity.d.ts +5 -5
  236. package/Select/SelectComponents/Quantity.js +7 -7
  237. package/Select/index.d.ts +5 -5
  238. package/Select/index.js +1 -1
  239. package/SortOrder/SortOrder.d.ts +16 -16
  240. package/SortOrder/SortOrder.js +31 -31
  241. package/SortOrder/SortOrderDropdown.d.ts +9 -9
  242. package/SortOrder/SortOrderDropdown.js +24 -24
  243. package/SortOrder/SortOrderList.d.ts +7 -7
  244. package/SortOrder/SortOrderList.js +16 -16
  245. package/StartPageRenderer/StartPageRenderer.d.ts +17 -17
  246. package/StartPageRenderer/StartPageRenderer.js +51 -51
  247. package/StartPageRenderer/index.d.ts +1 -1
  248. package/StartPageRenderer/index.js +1 -1
  249. package/Stock/StockStatusContainer.d.ts +16 -16
  250. package/Stock/StockStatusContainer.js +39 -39
  251. package/Stock/__tests__/StockStatusContainer.test.js +65 -65
  252. package/Text/Text.d.ts +11 -11
  253. package/Text/Text.js +21 -21
  254. package/Text/index.d.ts +3 -3
  255. package/Text/index.js +3 -3
  256. package/Theme/createTheme.d.ts +16 -16
  257. package/Theme/createTheme.js +4 -4
  258. package/Theme/cssReset.d.ts +1 -1
  259. package/Theme/cssReset.js +159 -159
  260. package/Theme/normalizeCss.d.ts +1 -1
  261. package/Theme/normalizeCss.js +356 -356
  262. package/Theme/sanitizeCss.d.ts +1 -1
  263. package/Theme/sanitizeCss.js +571 -571
  264. package/WindowGrid/WindowGrid.d.ts +11 -11
  265. package/WindowGrid/WindowGrid.js +57 -57
  266. package/WindowGrid/index.d.ts +1 -1
  267. package/WindowGrid/index.js +1 -1
  268. package/WindowGrid/useResizeObserver.d.ts +8 -8
  269. package/WindowGrid/useResizeObserver.js +13 -13
  270. package/WindowGrid/useScrollWithWindow.d.ts +12 -12
  271. package/WindowGrid/useScrollWithWindow.js +38 -38
  272. package/dependencies.d.ts +98 -98
  273. package/fuzzySearch/fuzzySearch.d.ts +8 -8
  274. package/fuzzySearch/fuzzySearch.js +42 -42
  275. package/fuzzySearch/index.d.ts +1 -1
  276. package/fuzzySearch/index.js +1 -1
  277. package/global.d.ts +1 -1
  278. package/hooks/index.d.ts +2 -2
  279. package/hooks/index.js +2 -2
  280. package/hooks/useOnClickOutside.d.ts +6 -6
  281. package/hooks/useOnClickOutside.js +16 -16
  282. package/hooks/useOnEsc.d.ts +4 -4
  283. package/hooks/useOnEsc.js +16 -16
  284. package/package.json +1 -1
  285. package/setupTests.js +2 -2
  286. package/svg/flags/ad.svg +150 -150
  287. package/svg/flags/ae.svg +6 -6
  288. package/svg/flags/af.svg +81 -81
  289. package/svg/flags/ag.svg +14 -14
  290. package/svg/flags/ai.svg +767 -767
  291. package/svg/flags/al.svg +5 -5
  292. package/svg/flags/am.svg +5 -5
  293. package/svg/flags/ao.svg +13 -13
  294. package/svg/flags/aq.svg +6 -6
  295. package/svg/flags/ar.svg +31 -31
  296. package/svg/flags/as.svg +33 -33
  297. package/svg/flags/at.svg +6 -6
  298. package/svg/flags/au.svg +9 -9
  299. package/svg/flags/aw.svg +186 -186
  300. package/svg/flags/ax.svg +18 -18
  301. package/svg/flags/az.svg +8 -8
  302. package/svg/flags/ba.svg +12 -12
  303. package/svg/flags/bb.svg +6 -6
  304. package/svg/flags/bd.svg +4 -4
  305. package/svg/flags/be.svg +7 -7
  306. package/svg/flags/bf.svg +7 -7
  307. package/svg/flags/bg.svg +7 -7
  308. package/svg/flags/bh.svg +11 -11
  309. package/svg/flags/bi.svg +15 -15
  310. package/svg/flags/bj.svg +14 -14
  311. package/svg/flags/bl.svg +7 -7
  312. package/svg/flags/bm.svg +98 -98
  313. package/svg/flags/bn.svg +36 -36
  314. package/svg/flags/bo.svg +676 -676
  315. package/svg/flags/bq.svg +5 -5
  316. package/svg/flags/br.svg +45 -45
  317. package/svg/flags/bs.svg +13 -13
  318. package/svg/flags/bt.svg +89 -89
  319. package/svg/flags/bv.svg +13 -13
  320. package/svg/flags/bw.svg +7 -7
  321. package/svg/flags/by.svg +20 -20
  322. package/svg/flags/bz.svg +145 -145
  323. package/svg/flags/ca.svg +4 -4
  324. package/svg/flags/cc.svg +19 -19
  325. package/svg/flags/cd.svg +5 -5
  326. package/svg/flags/cf.svg +15 -15
  327. package/svg/flags/cg.svg +12 -12
  328. package/svg/flags/ch.svg +9 -9
  329. package/svg/flags/ci.svg +7 -7
  330. package/svg/flags/ck.svg +9 -9
  331. package/svg/flags/cl.svg +13 -13
  332. package/svg/flags/cm.svg +15 -15
  333. package/svg/flags/cn.svg +11 -11
  334. package/svg/flags/co.svg +7 -7
  335. package/svg/flags/cr.svg +7 -7
  336. package/svg/flags/cu.svg +13 -13
  337. package/svg/flags/cv.svg +13 -13
  338. package/svg/flags/cw.svg +14 -14
  339. package/svg/flags/cx.svg +15 -15
  340. package/svg/flags/cy.svg +6 -6
  341. package/svg/flags/cz.svg +12 -12
  342. package/svg/flags/de.svg +5 -5
  343. package/svg/flags/dj.svg +13 -13
  344. package/svg/flags/dk.svg +5 -5
  345. package/svg/flags/dm.svg +152 -152
  346. package/svg/flags/do.svg +6745 -6745
  347. package/svg/flags/dz.svg +5 -5
  348. package/svg/flags/ec.svg +138 -138
  349. package/svg/flags/ee.svg +7 -7
  350. package/svg/flags/eg.svg +38 -38
  351. package/svg/flags/eh.svg +15 -15
  352. package/svg/flags/er.svg +8 -8
  353. package/svg/flags/es-ct.svg +4 -4
  354. package/svg/flags/es.svg +544 -544
  355. package/svg/flags/et.svg +14 -14
  356. package/svg/flags/eu.svg +28 -28
  357. package/svg/flags/fi.svg +5 -5
  358. package/svg/flags/fj.svg +120 -120
  359. package/svg/flags/fk.svg +89 -89
  360. package/svg/flags/fm.svg +11 -11
  361. package/svg/flags/fo.svg +12 -12
  362. package/svg/flags/fr.svg +7 -7
  363. package/svg/flags/ga.svg +7 -7
  364. package/svg/flags/gb-eng.svg +5 -5
  365. package/svg/flags/gb-nir.svg +131 -131
  366. package/svg/flags/gb-sct.svg +4 -4
  367. package/svg/flags/gb-wls.svg +9 -9
  368. package/svg/flags/gb.svg +15 -15
  369. package/svg/flags/gd.svg +27 -27
  370. package/svg/flags/ge.svg +6 -6
  371. package/svg/flags/gf.svg +5 -5
  372. package/svg/flags/gg.svg +9 -9
  373. package/svg/flags/gh.svg +6 -6
  374. package/svg/flags/gi.svg +32 -32
  375. package/svg/flags/gl.svg +4 -4
  376. package/svg/flags/gm.svg +14 -14
  377. package/svg/flags/gn.svg +7 -7
  378. package/svg/flags/gp.svg +7 -7
  379. package/svg/flags/gq.svg +23 -23
  380. package/svg/flags/gr.svg +22 -22
  381. package/svg/flags/gs.svg +201 -201
  382. package/svg/flags/gt.svg +204 -204
  383. package/svg/flags/gu.svg +39 -39
  384. package/svg/flags/gw.svg +13 -13
  385. package/svg/flags/gy.svg +9 -9
  386. package/svg/flags/hk.svg +30 -30
  387. package/svg/flags/hm.svg +9 -9
  388. package/svg/flags/hn.svg +18 -18
  389. package/svg/flags/hr.svg +58 -58
  390. package/svg/flags/ht.svg +116 -116
  391. package/svg/flags/hu.svg +7 -7
  392. package/svg/flags/id.svg +6 -6
  393. package/svg/flags/ie.svg +7 -7
  394. package/svg/flags/il.svg +14 -14
  395. package/svg/flags/im.svg +36 -36
  396. package/svg/flags/in.svg +25 -25
  397. package/svg/flags/io.svg +138 -138
  398. package/svg/flags/iq.svg +10 -10
  399. package/svg/flags/ir.svg +219 -219
  400. package/svg/flags/is.svg +12 -12
  401. package/svg/flags/it.svg +7 -7
  402. package/svg/flags/je.svg +31 -31
  403. package/svg/flags/jm.svg +8 -8
  404. package/svg/flags/jo.svg +16 -16
  405. package/svg/flags/jp.svg +11 -11
  406. package/svg/flags/ke.svg +23 -23
  407. package/svg/flags/kg.svg +15 -15
  408. package/svg/flags/kh.svg +61 -61
  409. package/svg/flags/ki.svg +36 -36
  410. package/svg/flags/km.svg +16 -16
  411. package/svg/flags/kn.svg +14 -14
  412. package/svg/flags/kp.svg +15 -15
  413. package/svg/flags/kr.svg +24 -24
  414. package/svg/flags/kw.svg +13 -13
  415. package/svg/flags/ky.svg +63 -63
  416. package/svg/flags/kz.svg +23 -23
  417. package/svg/flags/la.svg +12 -12
  418. package/svg/flags/lb.svg +15 -15
  419. package/svg/flags/lc.svg +8 -8
  420. package/svg/flags/li.svg +43 -43
  421. package/svg/flags/lk.svg +22 -22
  422. package/svg/flags/lr.svg +14 -14
  423. package/svg/flags/ls.svg +8 -8
  424. package/svg/flags/lt.svg +7 -7
  425. package/svg/flags/lu.svg +5 -5
  426. package/svg/flags/lv.svg +6 -6
  427. package/svg/flags/ly.svg +13 -13
  428. package/svg/flags/ma.svg +4 -4
  429. package/svg/flags/mc.svg +6 -6
  430. package/svg/flags/md.svg +70 -70
  431. package/svg/flags/me.svg +116 -116
  432. package/svg/flags/mf.svg +7 -7
  433. package/svg/flags/mg.svg +7 -7
  434. package/svg/flags/mh.svg +7 -7
  435. package/svg/flags/mk.svg +5 -5
  436. package/svg/flags/ml.svg +7 -7
  437. package/svg/flags/mm.svg +16 -16
  438. package/svg/flags/mn.svg +13 -13
  439. package/svg/flags/mo.svg +9 -9
  440. package/svg/flags/mp.svg +86 -86
  441. package/svg/flags/mq.svg +7 -7
  442. package/svg/flags/mr.svg +6 -6
  443. package/svg/flags/ms.svg +39 -39
  444. package/svg/flags/mt.svg +49 -49
  445. package/svg/flags/mu.svg +8 -8
  446. package/svg/flags/mv.svg +6 -6
  447. package/svg/flags/mw.svg +10 -10
  448. package/svg/flags/mx.svg +382 -382
  449. package/svg/flags/my.svg +15 -15
  450. package/svg/flags/mz.svg +21 -21
  451. package/svg/flags/na.svg +16 -16
  452. package/svg/flags/nc.svg +7 -7
  453. package/svg/flags/ne.svg +6 -6
  454. package/svg/flags/nf.svg +9 -9
  455. package/svg/flags/ng.svg +6 -6
  456. package/svg/flags/ni.svg +129 -129
  457. package/svg/flags/nl.svg +7 -7
  458. package/svg/flags/no.svg +7 -7
  459. package/svg/flags/np.svg +14 -14
  460. package/svg/flags/nr.svg +12 -12
  461. package/svg/flags/nu.svg +26 -26
  462. package/svg/flags/nz.svg +41 -41
  463. package/svg/flags/om.svg +115 -115
  464. package/svg/flags/pa.svg +14 -14
  465. package/svg/flags/pe.svg +244 -244
  466. package/svg/flags/pf.svg +19 -19
  467. package/svg/flags/pg.svg +9 -9
  468. package/svg/flags/ph.svg +13 -13
  469. package/svg/flags/pk.svg +15 -15
  470. package/svg/flags/pl.svg +6 -6
  471. package/svg/flags/pm.svg +7 -7
  472. package/svg/flags/pn.svg +62 -62
  473. package/svg/flags/pr.svg +13 -13
  474. package/svg/flags/ps.svg +15 -15
  475. package/svg/flags/pt.svg +57 -57
  476. package/svg/flags/pw.svg +11 -11
  477. package/svg/flags/py.svg +157 -157
  478. package/svg/flags/qa.svg +4 -4
  479. package/svg/flags/re.svg +7 -7
  480. package/svg/flags/ro.svg +7 -7
  481. package/svg/flags/rs.svg +292 -292
  482. package/svg/flags/ru.svg +7 -7
  483. package/svg/flags/rw.svg +13 -13
  484. package/svg/flags/sa.svg +26 -26
  485. package/svg/flags/sb.svg +13 -13
  486. package/svg/flags/sc.svg +14 -14
  487. package/svg/flags/sd.svg +13 -13
  488. package/svg/flags/se.svg +16 -16
  489. package/svg/flags/sg.svg +13 -13
  490. package/svg/flags/sh.svg +74 -74
  491. package/svg/flags/si.svg +18 -18
  492. package/svg/flags/sj.svg +7 -7
  493. package/svg/flags/sk.svg +9 -9
  494. package/svg/flags/sl.svg +7 -7
  495. package/svg/flags/sm.svg +91 -91
  496. package/svg/flags/sn.svg +8 -8
  497. package/svg/flags/so.svg +11 -11
  498. package/svg/flags/sr.svg +6 -6
  499. package/svg/flags/ss.svg +8 -8
  500. package/svg/flags/st.svg +16 -16
  501. package/svg/flags/sv.svg +606 -606
  502. package/svg/flags/sx.svg +56 -56
  503. package/svg/flags/sy.svg +6 -6
  504. package/svg/flags/sz.svg +45 -45
  505. package/svg/flags/tc.svg +67 -67
  506. package/svg/flags/td.svg +7 -7
  507. package/svg/flags/tf.svg +15 -15
  508. package/svg/flags/tg.svg +14 -14
  509. package/svg/flags/th.svg +7 -7
  510. package/svg/flags/tj.svg +22 -22
  511. package/svg/flags/tk.svg +5 -5
  512. package/svg/flags/tl.svg +13 -13
  513. package/svg/flags/tm.svg +206 -206
  514. package/svg/flags/tn.svg +13 -13
  515. package/svg/flags/to.svg +10 -10
  516. package/svg/flags/tr.svg +8 -8
  517. package/svg/flags/tt.svg +5 -5
  518. package/svg/flags/tv.svg +27 -27
  519. package/svg/flags/tw.svg +14 -14
  520. package/svg/flags/tz.svg +13 -13
  521. package/svg/flags/ua.svg +6 -6
  522. package/svg/flags/ug.svg +30 -30
  523. package/svg/flags/um.svg +15 -15
  524. package/svg/flags/un.svg +16 -16
  525. package/svg/flags/us.svg +10 -10
  526. package/svg/flags/uy.svg +28 -28
  527. package/svg/flags/uz.svg +30 -30
  528. package/svg/flags/va.svg +479 -479
  529. package/svg/flags/vc.svg +8 -8
  530. package/svg/flags/ve.svg +26 -26
  531. package/svg/flags/vg.svg +127 -127
  532. package/svg/flags/vi.svg +28 -28
  533. package/svg/flags/vn.svg +11 -11
  534. package/svg/flags/vu.svg +18 -18
  535. package/svg/flags/wf.svg +7 -7
  536. package/svg/flags/ws.svg +7 -7
  537. package/svg/flags/ye.svg +7 -7
  538. package/svg/flags/yt.svg +7 -7
  539. package/svg/flags/za.svg +17 -17
  540. package/svg/flags/zm.svg +27 -27
  541. package/svg/flags/zw.svg +21 -21
  542. package/test-utils/mock-response/product-status.js +44 -44
  543. package/utils/breakpoints.d.ts +23 -23
  544. package/utils/breakpoints.js +89 -89
  545. package/utils/callAllEventHandlers.d.ts +5 -5
  546. package/utils/callAllEventHandlers.js +8 -8
  547. package/utils/text.d.ts +1 -1
  548. package/utils/text.js +22 -22
  549. package/utils/theme.d.ts +3 -3
  550. package/utils/theme.js +4 -4
  551. package/utils/useHoverIntent.d.ts +10 -10
  552. package/utils/useHoverIntent.js +77 -77
  553. package/utils/usePropsOfType.d.ts +11 -11
  554. package/utils/usePropsOfType.js +17 -17
  555. package/withFlightUI.d.ts +17 -17
  556. package/withFlightUI.js +19 -19
@@ -1,84 +1,84 @@
1
- import React from 'react';
2
- import getComponentWithModalContext, {
3
- defaultContext
4
- } from '../__test_utils__/getComponentWithModalContext';
5
-
6
- beforeEach(() => {
7
- jest.resetModules();
8
- });
9
-
10
- const target = getComponentWithModalContext('Flyout/FlyoutTarget');
11
-
12
- xdescribe('FlyoutTarget', () => {
13
- describe('renders null', () => {
14
- let wrapper;
15
- let unreachableChild = jest
16
- .fn()
17
- .mockReturnValue('This should never render');
18
-
19
- afterEach(() => {
20
- expect(wrapper.children().children()).toHaveLength(0);
21
- });
22
-
23
- it('when isOpen is false', () => {
24
- const FlyoutTarget = target();
25
- wrapper = mount(<FlyoutTarget>{unreachableChild}</FlyoutTarget>);
26
- });
27
-
28
- it('when isOpen is true but ID prop does not match modalId', () => {
29
- const FlyoutTarget = target({
30
- ...defaultContext,
31
- modals: [
32
- {
33
- isOpen: true,
34
- modalId: 'bar'
35
- }
36
- ]
37
- });
38
- wrapper = mount(<FlyoutTarget id="foo">{unreachableChild}</FlyoutTarget>);
39
- });
40
-
41
- it('when isOpen is true and ID matches, but `modalType` is not `flyout`', () => {
42
- const FlyoutTarget = target({
43
- ...defaultContext,
44
- modals: [{ isOpen: true, modalId: 'foo', modalType: 'modal' }]
45
- });
46
- wrapper = mount(<FlyoutTarget id="foo">{unreachableChild}</FlyoutTarget>);
47
- });
48
- });
49
-
50
- describe('renders a child component', () => {
51
- let wrapper;
52
- let FlyoutTarget;
53
- let reachableChild = jest.fn().mockReturnValue('Hello from the inside!');
54
-
55
- beforeEach(() => {
56
- FlyoutTarget = target({
57
- ...defaultContext,
58
- modals: [{ isOpen: true, modalId: 'foo', modalType: 'flyout' }]
59
- });
60
- });
61
-
62
- afterEach(() => {
63
- expect(wrapper.children().children()).toHaveLength(1);
64
- });
65
-
66
- it('when isOpen is true, `modalId` and `id` prop match, and `modalType` is `flyout`', () => {
67
- wrapper = mount(<FlyoutTarget id="foo">{reachableChild}</FlyoutTarget>);
68
- expect(wrapper.children().text()).toBe('Hello from the inside!');
69
- });
70
- it('with `isOpen` prop passed', () => {
71
- expect(wrapper.children().children().props().modals[0].isOpen).toBe(true);
72
- });
73
- it('with `modalType` prop passed', () => {
74
- expect(wrapper.children().children().props().modals[0].modalType).toBe(
75
- 'flyout'
76
- );
77
- });
78
- it('with `hideTarget` func passed', () => {
79
- expect(wrapper.children().children().props().hideTarget).toBe(
80
- defaultContext.hideTarget
81
- );
82
- });
83
- });
84
- });
1
+ import React from 'react';
2
+ import getComponentWithModalContext, {
3
+ defaultContext
4
+ } from '../__test_utils__/getComponentWithModalContext';
5
+
6
+ beforeEach(() => {
7
+ jest.resetModules();
8
+ });
9
+
10
+ const target = getComponentWithModalContext('Flyout/FlyoutTarget');
11
+
12
+ xdescribe('FlyoutTarget', () => {
13
+ describe('renders null', () => {
14
+ let wrapper;
15
+ let unreachableChild = jest
16
+ .fn()
17
+ .mockReturnValue('This should never render');
18
+
19
+ afterEach(() => {
20
+ expect(wrapper.children().children()).toHaveLength(0);
21
+ });
22
+
23
+ it('when isOpen is false', () => {
24
+ const FlyoutTarget = target();
25
+ wrapper = mount(<FlyoutTarget>{unreachableChild}</FlyoutTarget>);
26
+ });
27
+
28
+ it('when isOpen is true but ID prop does not match modalId', () => {
29
+ const FlyoutTarget = target({
30
+ ...defaultContext,
31
+ modals: [
32
+ {
33
+ isOpen: true,
34
+ modalId: 'bar'
35
+ }
36
+ ]
37
+ });
38
+ wrapper = mount(<FlyoutTarget id="foo">{unreachableChild}</FlyoutTarget>);
39
+ });
40
+
41
+ it('when isOpen is true and ID matches, but `modalType` is not `flyout`', () => {
42
+ const FlyoutTarget = target({
43
+ ...defaultContext,
44
+ modals: [{ isOpen: true, modalId: 'foo', modalType: 'modal' }]
45
+ });
46
+ wrapper = mount(<FlyoutTarget id="foo">{unreachableChild}</FlyoutTarget>);
47
+ });
48
+ });
49
+
50
+ describe('renders a child component', () => {
51
+ let wrapper;
52
+ let FlyoutTarget;
53
+ let reachableChild = jest.fn().mockReturnValue('Hello from the inside!');
54
+
55
+ beforeEach(() => {
56
+ FlyoutTarget = target({
57
+ ...defaultContext,
58
+ modals: [{ isOpen: true, modalId: 'foo', modalType: 'flyout' }]
59
+ });
60
+ });
61
+
62
+ afterEach(() => {
63
+ expect(wrapper.children().children()).toHaveLength(1);
64
+ });
65
+
66
+ it('when isOpen is true, `modalId` and `id` prop match, and `modalType` is `flyout`', () => {
67
+ wrapper = mount(<FlyoutTarget id="foo">{reachableChild}</FlyoutTarget>);
68
+ expect(wrapper.children().text()).toBe('Hello from the inside!');
69
+ });
70
+ it('with `isOpen` prop passed', () => {
71
+ expect(wrapper.children().children().props().modals[0].isOpen).toBe(true);
72
+ });
73
+ it('with `modalType` prop passed', () => {
74
+ expect(wrapper.children().children().props().modals[0].modalType).toBe(
75
+ 'flyout'
76
+ );
77
+ });
78
+ it('with `hideTarget` func passed', () => {
79
+ expect(wrapper.children().children().props().hideTarget).toBe(
80
+ defaultContext.hideTarget
81
+ );
82
+ });
83
+ });
84
+ });
@@ -1,15 +1,15 @@
1
- import * as React from 'react';
2
- import { ModalState } from '../ModalContext';
3
- export declare const FlyoutTrigger: React.SFC<{
4
- id: string;
5
- /** Whether to show a clickable semi-opaque Cover behind the flyout */
6
- showCover?: boolean;
7
- /** Whether to prevent the body from scrolling when flyout is open */
8
- preventOverflow?: boolean;
9
- /** Whether to able to close modal via Escape button */
10
- canCloseOnEsc?: boolean;
11
- coverStyles?: {};
12
- children: (args: Pick<ModalState, 'hideTarget' | 'isOpen'> & {
13
- showTarget: () => void;
14
- }) => React.ReactNode;
15
- }>;
1
+ import * as React from 'react';
2
+ import { ModalState } from '../ModalContext';
3
+ export declare const FlyoutTrigger: React.SFC<{
4
+ id: string;
5
+ /** Whether to show a clickable semi-opaque Cover behind the flyout */
6
+ showCover?: boolean;
7
+ /** Whether to prevent the body from scrolling when flyout is open */
8
+ preventOverflow?: boolean;
9
+ /** Whether to able to close modal via Escape button */
10
+ canCloseOnEsc?: boolean;
11
+ coverStyles?: {};
12
+ children: (args: Pick<ModalState, 'hideTarget' | 'isOpen'> & {
13
+ showTarget: () => void;
14
+ }) => React.ReactNode;
15
+ }>;
@@ -1,18 +1,18 @@
1
- import * as React from 'react';
2
- import ModalContext from '../ModalContext';
3
- export const FlyoutTrigger = ({ id, children, showCover = true, preventOverflow = false, canCloseOnEsc = true, coverStyles }) => {
4
- return (React.createElement(ModalContext.Consumer, null, ({ showTarget, hideTarget, modals }) => {
5
- const open = () => showTarget(null, 'flyout', id, {
6
- showCover,
7
- coverStyles,
8
- preventOverflow,
9
- canCloseOnEsc
10
- });
11
- return children({
12
- showTarget: open,
13
- hideTarget,
14
- isOpen: modals.some(({ modalId }) => modalId === id)
15
- });
16
- }));
17
- };
1
+ import * as React from 'react';
2
+ import ModalContext from '../ModalContext';
3
+ export const FlyoutTrigger = ({ id, children, showCover = true, preventOverflow = false, canCloseOnEsc = true, coverStyles }) => {
4
+ return (React.createElement(ModalContext.Consumer, null, ({ showTarget, hideTarget, modals }) => {
5
+ const open = () => showTarget(null, 'flyout', id, {
6
+ showCover,
7
+ coverStyles,
8
+ preventOverflow,
9
+ canCloseOnEsc
10
+ });
11
+ return children({
12
+ showTarget: open,
13
+ hideTarget,
14
+ isOpen: modals.some(({ modalId }) => modalId === id)
15
+ });
16
+ }));
17
+ };
18
18
  //# sourceMappingURL=FlyoutTrigger.js.map
@@ -1,72 +1,72 @@
1
- import React from 'react';
2
- import getComponentWithModalContext, {
3
- defaultContext
4
- } from '../__test_utils__/getComponentWithModalContext';
5
-
6
- beforeEach(() => {
7
- jest.resetModules();
8
- });
9
-
10
- const trigger = getComponentWithModalContext(
11
- 'Flyout/FlyoutTrigger',
12
- 'FlyoutTrigger'
13
- );
14
-
15
- xdescribe('DrawerTrigger', () => {
16
- let funcAsChild = jest.fn().mockReturnValue(<div>Rendered child</div>);
17
-
18
- it('renders a Consumer', () => {
19
- const DrawerTrigger = trigger();
20
- const wrapper = mount(<DrawerTrigger>{funcAsChild}</DrawerTrigger>);
21
- expect(wrapper.find('Consumer')).toHaveLength(1);
22
- });
23
-
24
- describe('takes a func as child prop', () => {
25
- it('calls it with `showTarget`, `hideTarget`, and `isOpen`', () => {
26
- const DrawerTrigger = trigger();
27
-
28
- mount(<DrawerTrigger id="foo">{funcAsChild}</DrawerTrigger>);
29
- expect(funcAsChild).toHaveBeenCalledWith(
30
- expect.objectContaining({
31
- showTarget: expect.any(Function),
32
- hideTarget: defaultContext.hideTarget,
33
- isOpen: defaultContext.isOpen
34
- })
35
- );
36
- });
37
- });
38
-
39
- describe('calls `showTarget`', () => {
40
- it('with `id` passed via prop', () => {
41
- const TRIGGER_ID = 'foo';
42
- const DrawerTrigger = trigger();
43
- const wrapper = mount(
44
- <DrawerTrigger id={TRIGGER_ID}>
45
- {({ showTarget }) => <div onClick={showTarget}>hello</div>}
46
- </DrawerTrigger>
47
- );
48
- wrapper.find('div').simulate('click');
49
- expect(defaultContext.showTarget).toHaveBeenLastCalledWith(
50
- null,
51
- 'flyout',
52
- TRIGGER_ID,
53
- expect.any(Object)
54
- );
55
- });
56
- it('with `showCover` passed via prop', () => {
57
- const DrawerTrigger = trigger();
58
- const wrapper = mount(
59
- <DrawerTrigger id="foo" showCover={false}>
60
- {({ showTarget }) => <div onClick={showTarget}>hello</div>}
61
- </DrawerTrigger>
62
- );
63
- wrapper.find('div').simulate('click');
64
- expect(defaultContext.showTarget).toHaveBeenLastCalledWith(
65
- null,
66
- 'flyout',
67
- 'foo',
68
- expect.objectContaining({ showCover: false })
69
- );
70
- });
71
- });
72
- });
1
+ import React from 'react';
2
+ import getComponentWithModalContext, {
3
+ defaultContext
4
+ } from '../__test_utils__/getComponentWithModalContext';
5
+
6
+ beforeEach(() => {
7
+ jest.resetModules();
8
+ });
9
+
10
+ const trigger = getComponentWithModalContext(
11
+ 'Flyout/FlyoutTrigger',
12
+ 'FlyoutTrigger'
13
+ );
14
+
15
+ xdescribe('DrawerTrigger', () => {
16
+ let funcAsChild = jest.fn().mockReturnValue(<div>Rendered child</div>);
17
+
18
+ it('renders a Consumer', () => {
19
+ const DrawerTrigger = trigger();
20
+ const wrapper = mount(<DrawerTrigger>{funcAsChild}</DrawerTrigger>);
21
+ expect(wrapper.find('Consumer')).toHaveLength(1);
22
+ });
23
+
24
+ describe('takes a func as child prop', () => {
25
+ it('calls it with `showTarget`, `hideTarget`, and `isOpen`', () => {
26
+ const DrawerTrigger = trigger();
27
+
28
+ mount(<DrawerTrigger id="foo">{funcAsChild}</DrawerTrigger>);
29
+ expect(funcAsChild).toHaveBeenCalledWith(
30
+ expect.objectContaining({
31
+ showTarget: expect.any(Function),
32
+ hideTarget: defaultContext.hideTarget,
33
+ isOpen: defaultContext.isOpen
34
+ })
35
+ );
36
+ });
37
+ });
38
+
39
+ describe('calls `showTarget`', () => {
40
+ it('with `id` passed via prop', () => {
41
+ const TRIGGER_ID = 'foo';
42
+ const DrawerTrigger = trigger();
43
+ const wrapper = mount(
44
+ <DrawerTrigger id={TRIGGER_ID}>
45
+ {({ showTarget }) => <div onClick={showTarget}>hello</div>}
46
+ </DrawerTrigger>
47
+ );
48
+ wrapper.find('div').simulate('click');
49
+ expect(defaultContext.showTarget).toHaveBeenLastCalledWith(
50
+ null,
51
+ 'flyout',
52
+ TRIGGER_ID,
53
+ expect.any(Object)
54
+ );
55
+ });
56
+ it('with `showCover` passed via prop', () => {
57
+ const DrawerTrigger = trigger();
58
+ const wrapper = mount(
59
+ <DrawerTrigger id="foo" showCover={false}>
60
+ {({ showTarget }) => <div onClick={showTarget}>hello</div>}
61
+ </DrawerTrigger>
62
+ );
63
+ wrapper.find('div').simulate('click');
64
+ expect(defaultContext.showTarget).toHaveBeenLastCalledWith(
65
+ null,
66
+ 'flyout',
67
+ 'foo',
68
+ expect.objectContaining({ showCover: false })
69
+ );
70
+ });
71
+ });
72
+ });
@@ -1,2 +1,2 @@
1
- export { FlyoutTrigger } from './FlyoutTrigger';
2
- export { FlyoutTarget } from './FlyoutTarget';
1
+ export { FlyoutTrigger } from './FlyoutTrigger';
2
+ export { FlyoutTarget } from './FlyoutTarget';
@@ -1,3 +1,3 @@
1
- export { FlyoutTrigger } from './FlyoutTrigger';
2
- export { FlyoutTarget } from './FlyoutTarget';
1
+ export { FlyoutTrigger } from './FlyoutTrigger';
2
+ export { FlyoutTarget } from './FlyoutTarget';
3
3
  //# sourceMappingURL=index.js.map
@@ -1,26 +1,26 @@
1
- import React from 'react';
2
- export interface ModalState {
3
- /** If modalType is modal, render this component at the modalRoot */
4
- modalComponent?: React.ReactNode;
5
- /** The type of modal to display */
6
- modalType: 'modal' | 'flyout' | 'drawer';
7
- /** An ID used to identify which flyout to display */
8
- modalId?: string;
9
- /** Called when a modal is requested */
10
- showTarget(...args: any[]): void;
11
- /** Called when a modal is dismissed */
12
- hideTarget(...args: any[]): void;
13
- /** Whether a modal is open */
14
- isOpen: boolean;
15
- /** props to be passed on to the displayed modalComponent */
16
- props?: any;
17
- }
18
- export interface ModalContextProps {
19
- /** Called when a modal is requested */
20
- showTarget(...args: any[]): void;
21
- /** Called when a modal is dismissed */
22
- hideTarget(...args: any[]): void;
23
- modals: ModalState[];
24
- }
25
- declare const ModalContext: React.Context<ModalContextProps>;
26
- export default ModalContext;
1
+ import React from 'react';
2
+ export interface ModalState {
3
+ /** If modalType is modal, render this component at the modalRoot */
4
+ modalComponent?: React.ReactNode;
5
+ /** The type of modal to display */
6
+ modalType: 'modal' | 'flyout' | 'drawer';
7
+ /** An ID used to identify which flyout to display */
8
+ modalId?: string;
9
+ /** Called when a modal is requested */
10
+ showTarget(...args: any[]): void;
11
+ /** Called when a modal is dismissed */
12
+ hideTarget(...args: any[]): void;
13
+ /** Whether a modal is open */
14
+ isOpen: boolean;
15
+ /** props to be passed on to the displayed modalComponent */
16
+ props?: any;
17
+ }
18
+ export interface ModalContextProps {
19
+ /** Called when a modal is requested */
20
+ showTarget(...args: any[]): void;
21
+ /** Called when a modal is dismissed */
22
+ hideTarget(...args: any[]): void;
23
+ modals: ModalState[];
24
+ }
25
+ declare const ModalContext: React.Context<ModalContextProps>;
26
+ export default ModalContext;
@@ -1,9 +1,9 @@
1
- import { createContext } from 'react';
2
- const initialModalState = {
3
- showTarget: null,
4
- hideTarget: null,
5
- modals: []
6
- };
7
- const ModalContext = createContext(initialModalState);
8
- export default ModalContext;
1
+ import { createContext } from 'react';
2
+ const initialModalState = {
3
+ showTarget: null,
4
+ hideTarget: null,
5
+ modals: []
6
+ };
7
+ const ModalContext = createContext(initialModalState);
8
+ export default ModalContext;
9
9
  //# sourceMappingURL=ModalContext.js.map
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
- declare const ModalProvider: ({ children }: {
3
- children: React.ReactNode;
4
- }) => JSX.Element;
5
- export default ModalProvider;
1
+ import React from 'react';
2
+ declare const ModalProvider: ({ children }: {
3
+ children: React.ReactNode;
4
+ }) => JSX.Element;
5
+ export default ModalProvider;
@@ -1,83 +1,83 @@
1
- import React, { useEffect, useState, useCallback } from 'react';
2
- import ModalContext from './ModalContext';
3
- import ReactModal from 'react-modal';
4
- import { css } from 'linaria';
5
- const preventBodyScrollStyle = css `
6
- overflow: hidden;
7
- `;
8
- const ModalProvider = ({ children }) => {
9
- const [modals, setModals] = useState([]);
10
- function showTarget(modalComponent, modalType, modalId, props = {}) {
11
- setModals((prevModals) => {
12
- const newModals = [...prevModals];
13
- const modalProps = {
14
- modalComponent,
15
- modalId,
16
- modalType,
17
- isOpen: true,
18
- props,
19
- showTarget,
20
- hideTarget: () => hideTarget(modalId)
21
- };
22
- // Check if modal with same id already exists
23
- const matchIndex = newModals.findIndex((modal) => modal.modalId === modalId);
24
- if (matchIndex >= 0)
25
- newModals[matchIndex] = modalProps;
26
- else
27
- newModals.push(modalProps);
28
- return newModals;
29
- });
30
- }
31
- function hideTarget(modalId) {
32
- setModals((prevModals) => {
33
- const newModals = [...prevModals];
34
- // Calling hideTarget directly from a MouseEvent passes down an event
35
- // object. Therefore we have to check if the passed prop is a string.
36
- if (modalId && typeof modalId === 'string') {
37
- // Removing the modal based on modalId if opened
38
- const matchIndex = newModals.findIndex((modal) => modal.modalId === modalId);
39
- if (matchIndex >= 0)
40
- newModals.splice(matchIndex, 1);
41
- }
42
- else {
43
- // Removing the last opened modal
44
- newModals.pop();
45
- }
46
- return newModals;
47
- });
48
- }
49
- // Handling modal close on Escape button
50
- const handleKeydown = useCallback((e) => {
51
- if (e.key !== 'Escape' || modals.length === 0)
52
- return;
53
- const lastModal = modals[modals.length - 1];
54
- if (!lastModal.props.canCloseOnEsc)
55
- return;
56
- hideTarget();
57
- }, [modals]);
58
- useEffect(() => {
59
- ReactModal.setAppElement('#root');
60
- }, []);
61
- useEffect(() => {
62
- document.addEventListener('keydown', handleKeydown);
63
- return () => document.removeEventListener('keydown', handleKeydown);
64
- }, [handleKeydown]);
65
- // Disabling scrolling when relevant
66
- useEffect(() => {
67
- const preventOverflow = modals.some((modal) => modal.props.preventOverflow ||
68
- (modal.modalType === 'drawer' && modal.isOpen));
69
- if (preventOverflow)
70
- document.body.classList.add(preventBodyScrollStyle);
71
- else
72
- document.body.classList.remove(preventBodyScrollStyle);
73
- return () => document.body.classList.remove(preventBodyScrollStyle);
74
- }, [modals]);
75
- const initialState = {
76
- showTarget,
77
- hideTarget,
78
- modals
79
- };
80
- return (React.createElement(ModalContext.Provider, { value: initialState }, children));
81
- };
82
- export default ModalProvider;
1
+ import React, { useEffect, useState, useCallback } from 'react';
2
+ import ModalContext from './ModalContext';
3
+ import ReactModal from 'react-modal';
4
+ import { css } from 'linaria';
5
+ const preventBodyScrollStyle = css `
6
+ overflow: hidden;
7
+ `;
8
+ const ModalProvider = ({ children }) => {
9
+ const [modals, setModals] = useState([]);
10
+ function showTarget(modalComponent, modalType, modalId, props = {}) {
11
+ setModals((prevModals) => {
12
+ const newModals = [...prevModals];
13
+ const modalProps = {
14
+ modalComponent,
15
+ modalId,
16
+ modalType,
17
+ isOpen: true,
18
+ props,
19
+ showTarget,
20
+ hideTarget: () => hideTarget(modalId)
21
+ };
22
+ // Check if modal with same id already exists
23
+ const matchIndex = newModals.findIndex((modal) => modal.modalId === modalId);
24
+ if (matchIndex >= 0)
25
+ newModals[matchIndex] = modalProps;
26
+ else
27
+ newModals.push(modalProps);
28
+ return newModals;
29
+ });
30
+ }
31
+ function hideTarget(modalId) {
32
+ setModals((prevModals) => {
33
+ const newModals = [...prevModals];
34
+ // Calling hideTarget directly from a MouseEvent passes down an event
35
+ // object. Therefore we have to check if the passed prop is a string.
36
+ if (modalId && typeof modalId === 'string') {
37
+ // Removing the modal based on modalId if opened
38
+ const matchIndex = newModals.findIndex((modal) => modal.modalId === modalId);
39
+ if (matchIndex >= 0)
40
+ newModals.splice(matchIndex, 1);
41
+ }
42
+ else {
43
+ // Removing the last opened modal
44
+ newModals.pop();
45
+ }
46
+ return newModals;
47
+ });
48
+ }
49
+ // Handling modal close on Escape button
50
+ const handleKeydown = useCallback((e) => {
51
+ if (e.key !== 'Escape' || modals.length === 0)
52
+ return;
53
+ const lastModal = modals[modals.length - 1];
54
+ if (!lastModal.props.canCloseOnEsc)
55
+ return;
56
+ hideTarget();
57
+ }, [modals]);
58
+ useEffect(() => {
59
+ ReactModal.setAppElement('#root');
60
+ }, []);
61
+ useEffect(() => {
62
+ document.addEventListener('keydown', handleKeydown);
63
+ return () => document.removeEventListener('keydown', handleKeydown);
64
+ }, [handleKeydown]);
65
+ // Disabling scrolling when relevant
66
+ useEffect(() => {
67
+ const preventOverflow = modals.some((modal) => modal.props.preventOverflow ||
68
+ (modal.modalType === 'drawer' && modal.isOpen));
69
+ if (preventOverflow)
70
+ document.body.classList.add(preventBodyScrollStyle);
71
+ else
72
+ document.body.classList.remove(preventBodyScrollStyle);
73
+ return () => document.body.classList.remove(preventBodyScrollStyle);
74
+ }, [modals]);
75
+ const initialState = {
76
+ showTarget,
77
+ hideTarget,
78
+ modals
79
+ };
80
+ return (React.createElement(ModalContext.Provider, { value: initialState }, children));
81
+ };
82
+ export default ModalProvider;
83
83
  //# sourceMappingURL=ModalProvider.js.map