@jetshop/ui 5.13.12-0 → 5.14.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 (557) 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 +16 -14
  6. package/Auth/FormFields/CountriesInput.js +27 -27
  7. package/Auth/FormFields/CountriesInput.js.map +1 -1
  8. package/Auth/LogInBehavior.d.ts +22 -22
  9. package/Auth/LogInBehavior.js +23 -23
  10. package/Auth/LogInFormProvider.d.ts +7 -7
  11. package/Auth/LogInFormProvider.js +70 -70
  12. package/Auth/LogOut.d.ts +10 -10
  13. package/Auth/LogOut.js +23 -23
  14. package/Auth/logInValidator.d.ts +8 -8
  15. package/Auth/logInValidator.js +15 -15
  16. package/Breadcrumbs/Breadcrumbs.d.ts +14 -14
  17. package/Breadcrumbs/Breadcrumbs.js +83 -83
  18. package/Breadcrumbs/getParentsOrCanonicalRoute.d.ts +3 -3
  19. package/Breadcrumbs/getParentsOrCanonicalRoute.js +13 -13
  20. package/Breadcrumbs/index.d.ts +1 -1
  21. package/Breadcrumbs/index.js +1 -1
  22. package/Breakpoints.d.ts +12 -12
  23. package/Breakpoints.js +35 -35
  24. package/Button/Button.d.ts +14 -14
  25. package/Button/Button.js +59 -59
  26. package/Button/OutlineButton.d.ts +4 -4
  27. package/Button/OutlineButton.js +9 -9
  28. package/Button/SecondaryButton.d.ts +3 -3
  29. package/Button/SecondaryButton.js +8 -8
  30. package/Button/TrendButton.d.ts +3 -3
  31. package/Button/TrendButton.js +7 -7
  32. package/Button/index.d.ts +4 -4
  33. package/Button/index.js +4 -4
  34. package/CategoryLink.d.ts +9 -9
  35. package/CategoryLink.js +42 -42
  36. package/ChannelSelector/ChannelListItem.d.ts +10 -10
  37. package/ChannelSelector/ChannelListItem.js +50 -50
  38. package/ChannelSelector/ChannelListItem.test.js +85 -85
  39. package/ChannelSelector/ChannelSelector.d.ts +63 -63
  40. package/ChannelSelector/ChannelSelector.js +79 -79
  41. package/ChannelSelector/ChannelSelector.test.js +167 -167
  42. package/ChannelSelector/ChannelSelectorButtons.d.ts +3 -3
  43. package/ChannelSelector/ChannelSelectorButtons.js +19 -19
  44. package/ChannelSelector/Channels.d.ts +17 -17
  45. package/ChannelSelector/Channels.js +11 -11
  46. package/ChannelSelector/Channels.test.js +90 -90
  47. package/ChannelSelector/LargeSelector.d.ts +3 -3
  48. package/ChannelSelector/LargeSelector.js +66 -66
  49. package/ChannelSelector/MiniSelector.d.ts +4 -4
  50. package/ChannelSelector/MiniSelector.js +57 -57
  51. package/ChannelSelector/Region.d.ts +28 -28
  52. package/ChannelSelector/Region.js +20 -20
  53. package/ChannelSelector/Region.test.js +37 -37
  54. package/ChannelSelector/exampleChannels.js +577 -577
  55. package/ChannelSelector/groupBy.d.ts +7 -7
  56. package/ChannelSelector/groupBy.js +15 -15
  57. package/ChannelSelector/groupBy.test.js +42 -42
  58. package/Checkbox/Checkbox.d.ts +10 -10
  59. package/Checkbox/Checkbox.js +68 -68
  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 +29 -28
  193. package/Price/Price.js +35 -34
  194. package/Price/Price.js.map +1 -1
  195. package/Price/index.d.ts +1 -1
  196. package/Price/index.js +1 -1
  197. package/ProductLink.d.ts +21 -21
  198. package/ProductLink.js +81 -81
  199. package/ProductList/Badges.d.ts +6 -6
  200. package/ProductList/Badges.js +55 -55
  201. package/ProductList/GridProduct.d.ts +24 -24
  202. package/ProductList/GridProduct.js +57 -57
  203. package/ProductList/ProductGrid.d.ts +16 -16
  204. package/ProductList/ProductGrid.js +29 -29
  205. package/ProductList/ProductImage.d.ts +12 -12
  206. package/ProductList/ProductImage.js +20 -20
  207. package/ProductSpecifications/ProductSpecifications.d.ts +8 -8
  208. package/ProductSpecifications/ProductSpecifications.js +77 -77
  209. package/ScrollRestorationHandler/ScrollRestorationHandler.d.ts +8 -8
  210. package/ScrollRestorationHandler/ScrollRestorationHandler.js +16 -16
  211. package/ScrollRestorationHandler/ScrollRestorationHandler.test.js +75 -75
  212. package/ScrollRestorationHandler/index.d.ts +1 -1
  213. package/ScrollRestorationHandler/index.js +1 -1
  214. package/ScrollRestorationHandler/isInIgnoredRouteTypes.d.ts +6 -6
  215. package/ScrollRestorationHandler/isInIgnoredRouteTypes.js +7 -7
  216. package/ScrollRestorationHandler/useScrollRestore.d.ts +7 -7
  217. package/ScrollRestorationHandler/useScrollRestore.js +19 -19
  218. package/Search/AutocompleteQuery.gql +10 -10
  219. package/Search/SearchAutoCompleteContainer.d.ts +45 -45
  220. package/Search/SearchAutoCompleteContainer.js +171 -171
  221. package/Search/SearchAutoCompleteContainer.test.js +460 -460
  222. package/Search/SearchField.d.ts +15 -15
  223. package/Search/SearchField.js +96 -96
  224. package/Search/SearchPage/PageOf.d.ts +5 -5
  225. package/Search/SearchPage/PageOf.js +6 -6
  226. package/Search/SearchPage/SearchMeta.d.ts +16 -16
  227. package/Search/SearchPage/SearchMeta.js +19 -19
  228. package/Search/SearchPage/SearchPageBehaviour.d.ts +19 -19
  229. package/Search/SearchPage/SearchPageBehaviour.js +66 -66
  230. package/Search/SuggestedTerm.d.ts +16 -16
  231. package/Search/SuggestedTerm.js +34 -34
  232. package/Search/index.d.ts +1 -1
  233. package/Search/index.js +1 -1
  234. package/Select/Components.d.ts +28 -28
  235. package/Select/Components.js +90 -90
  236. package/Select/SelectComponents/Quantity.d.ts +5 -5
  237. package/Select/SelectComponents/Quantity.js +7 -7
  238. package/Select/index.d.ts +5 -5
  239. package/Select/index.js +1 -1
  240. package/SortOrder/SortOrder.d.ts +16 -16
  241. package/SortOrder/SortOrder.js +31 -31
  242. package/SortOrder/SortOrderDropdown.d.ts +9 -9
  243. package/SortOrder/SortOrderDropdown.js +24 -24
  244. package/SortOrder/SortOrderList.d.ts +7 -7
  245. package/SortOrder/SortOrderList.js +16 -16
  246. package/StartPageRenderer/StartPageRenderer.d.ts +17 -17
  247. package/StartPageRenderer/StartPageRenderer.js +51 -51
  248. package/StartPageRenderer/index.d.ts +1 -1
  249. package/StartPageRenderer/index.js +1 -1
  250. package/Stock/StockStatusContainer.d.ts +16 -16
  251. package/Stock/StockStatusContainer.js +39 -39
  252. package/Stock/__tests__/StockStatusContainer.test.js +65 -65
  253. package/Text/Text.d.ts +11 -11
  254. package/Text/Text.js +21 -21
  255. package/Text/index.d.ts +3 -3
  256. package/Text/index.js +3 -3
  257. package/Theme/createTheme.d.ts +16 -16
  258. package/Theme/createTheme.js +4 -4
  259. package/Theme/cssReset.d.ts +1 -1
  260. package/Theme/cssReset.js +159 -159
  261. package/Theme/normalizeCss.d.ts +1 -1
  262. package/Theme/normalizeCss.js +356 -356
  263. package/Theme/sanitizeCss.d.ts +1 -1
  264. package/Theme/sanitizeCss.js +571 -571
  265. package/WindowGrid/WindowGrid.d.ts +11 -11
  266. package/WindowGrid/WindowGrid.js +57 -57
  267. package/WindowGrid/index.d.ts +1 -1
  268. package/WindowGrid/index.js +1 -1
  269. package/WindowGrid/useResizeObserver.d.ts +8 -8
  270. package/WindowGrid/useResizeObserver.js +13 -13
  271. package/WindowGrid/useScrollWithWindow.d.ts +12 -12
  272. package/WindowGrid/useScrollWithWindow.js +38 -38
  273. package/dependencies.d.ts +98 -98
  274. package/fuzzySearch/fuzzySearch.d.ts +8 -8
  275. package/fuzzySearch/fuzzySearch.js +42 -42
  276. package/fuzzySearch/index.d.ts +1 -1
  277. package/fuzzySearch/index.js +1 -1
  278. package/global.d.ts +1 -1
  279. package/hooks/index.d.ts +2 -2
  280. package/hooks/index.js +2 -2
  281. package/hooks/useOnClickOutside.d.ts +6 -6
  282. package/hooks/useOnClickOutside.js +16 -16
  283. package/hooks/useOnEsc.d.ts +4 -4
  284. package/hooks/useOnEsc.js +16 -16
  285. package/package.json +1 -1
  286. package/setupTests.js +2 -2
  287. package/svg/flags/ad.svg +150 -150
  288. package/svg/flags/ae.svg +6 -6
  289. package/svg/flags/af.svg +81 -81
  290. package/svg/flags/ag.svg +14 -14
  291. package/svg/flags/ai.svg +767 -767
  292. package/svg/flags/al.svg +5 -5
  293. package/svg/flags/am.svg +5 -5
  294. package/svg/flags/ao.svg +13 -13
  295. package/svg/flags/aq.svg +6 -6
  296. package/svg/flags/ar.svg +31 -31
  297. package/svg/flags/as.svg +33 -33
  298. package/svg/flags/at.svg +6 -6
  299. package/svg/flags/au.svg +9 -9
  300. package/svg/flags/aw.svg +186 -186
  301. package/svg/flags/ax.svg +18 -18
  302. package/svg/flags/az.svg +8 -8
  303. package/svg/flags/ba.svg +12 -12
  304. package/svg/flags/bb.svg +6 -6
  305. package/svg/flags/bd.svg +4 -4
  306. package/svg/flags/be.svg +7 -7
  307. package/svg/flags/bf.svg +7 -7
  308. package/svg/flags/bg.svg +7 -7
  309. package/svg/flags/bh.svg +11 -11
  310. package/svg/flags/bi.svg +15 -15
  311. package/svg/flags/bj.svg +14 -14
  312. package/svg/flags/bl.svg +7 -7
  313. package/svg/flags/bm.svg +98 -98
  314. package/svg/flags/bn.svg +36 -36
  315. package/svg/flags/bo.svg +676 -676
  316. package/svg/flags/bq.svg +5 -5
  317. package/svg/flags/br.svg +45 -45
  318. package/svg/flags/bs.svg +13 -13
  319. package/svg/flags/bt.svg +89 -89
  320. package/svg/flags/bv.svg +13 -13
  321. package/svg/flags/bw.svg +7 -7
  322. package/svg/flags/by.svg +20 -20
  323. package/svg/flags/bz.svg +145 -145
  324. package/svg/flags/ca.svg +4 -4
  325. package/svg/flags/cc.svg +19 -19
  326. package/svg/flags/cd.svg +5 -5
  327. package/svg/flags/cf.svg +15 -15
  328. package/svg/flags/cg.svg +12 -12
  329. package/svg/flags/ch.svg +9 -9
  330. package/svg/flags/ci.svg +7 -7
  331. package/svg/flags/ck.svg +9 -9
  332. package/svg/flags/cl.svg +13 -13
  333. package/svg/flags/cm.svg +15 -15
  334. package/svg/flags/cn.svg +11 -11
  335. package/svg/flags/co.svg +7 -7
  336. package/svg/flags/cr.svg +7 -7
  337. package/svg/flags/cu.svg +13 -13
  338. package/svg/flags/cv.svg +13 -13
  339. package/svg/flags/cw.svg +14 -14
  340. package/svg/flags/cx.svg +15 -15
  341. package/svg/flags/cy.svg +6 -6
  342. package/svg/flags/cz.svg +12 -12
  343. package/svg/flags/de.svg +5 -5
  344. package/svg/flags/dj.svg +13 -13
  345. package/svg/flags/dk.svg +5 -5
  346. package/svg/flags/dm.svg +152 -152
  347. package/svg/flags/do.svg +6745 -6745
  348. package/svg/flags/dz.svg +5 -5
  349. package/svg/flags/ec.svg +138 -138
  350. package/svg/flags/ee.svg +7 -7
  351. package/svg/flags/eg.svg +38 -38
  352. package/svg/flags/eh.svg +15 -15
  353. package/svg/flags/er.svg +8 -8
  354. package/svg/flags/es-ct.svg +4 -4
  355. package/svg/flags/es.svg +544 -544
  356. package/svg/flags/et.svg +14 -14
  357. package/svg/flags/eu.svg +28 -28
  358. package/svg/flags/fi.svg +5 -5
  359. package/svg/flags/fj.svg +120 -120
  360. package/svg/flags/fk.svg +89 -89
  361. package/svg/flags/fm.svg +11 -11
  362. package/svg/flags/fo.svg +12 -12
  363. package/svg/flags/fr.svg +7 -7
  364. package/svg/flags/ga.svg +7 -7
  365. package/svg/flags/gb-eng.svg +5 -5
  366. package/svg/flags/gb-nir.svg +131 -131
  367. package/svg/flags/gb-sct.svg +4 -4
  368. package/svg/flags/gb-wls.svg +9 -9
  369. package/svg/flags/gb.svg +15 -15
  370. package/svg/flags/gd.svg +27 -27
  371. package/svg/flags/ge.svg +6 -6
  372. package/svg/flags/gf.svg +5 -5
  373. package/svg/flags/gg.svg +9 -9
  374. package/svg/flags/gh.svg +6 -6
  375. package/svg/flags/gi.svg +32 -32
  376. package/svg/flags/gl.svg +4 -4
  377. package/svg/flags/gm.svg +14 -14
  378. package/svg/flags/gn.svg +7 -7
  379. package/svg/flags/gp.svg +7 -7
  380. package/svg/flags/gq.svg +23 -23
  381. package/svg/flags/gr.svg +22 -22
  382. package/svg/flags/gs.svg +201 -201
  383. package/svg/flags/gt.svg +204 -204
  384. package/svg/flags/gu.svg +39 -39
  385. package/svg/flags/gw.svg +13 -13
  386. package/svg/flags/gy.svg +9 -9
  387. package/svg/flags/hk.svg +30 -30
  388. package/svg/flags/hm.svg +9 -9
  389. package/svg/flags/hn.svg +18 -18
  390. package/svg/flags/hr.svg +58 -58
  391. package/svg/flags/ht.svg +116 -116
  392. package/svg/flags/hu.svg +7 -7
  393. package/svg/flags/id.svg +6 -6
  394. package/svg/flags/ie.svg +7 -7
  395. package/svg/flags/il.svg +14 -14
  396. package/svg/flags/im.svg +36 -36
  397. package/svg/flags/in.svg +25 -25
  398. package/svg/flags/io.svg +138 -138
  399. package/svg/flags/iq.svg +10 -10
  400. package/svg/flags/ir.svg +219 -219
  401. package/svg/flags/is.svg +12 -12
  402. package/svg/flags/it.svg +7 -7
  403. package/svg/flags/je.svg +31 -31
  404. package/svg/flags/jm.svg +8 -8
  405. package/svg/flags/jo.svg +16 -16
  406. package/svg/flags/jp.svg +11 -11
  407. package/svg/flags/ke.svg +23 -23
  408. package/svg/flags/kg.svg +15 -15
  409. package/svg/flags/kh.svg +61 -61
  410. package/svg/flags/ki.svg +36 -36
  411. package/svg/flags/km.svg +16 -16
  412. package/svg/flags/kn.svg +14 -14
  413. package/svg/flags/kp.svg +15 -15
  414. package/svg/flags/kr.svg +24 -24
  415. package/svg/flags/kw.svg +13 -13
  416. package/svg/flags/ky.svg +63 -63
  417. package/svg/flags/kz.svg +23 -23
  418. package/svg/flags/la.svg +12 -12
  419. package/svg/flags/lb.svg +15 -15
  420. package/svg/flags/lc.svg +8 -8
  421. package/svg/flags/li.svg +43 -43
  422. package/svg/flags/lk.svg +22 -22
  423. package/svg/flags/lr.svg +14 -14
  424. package/svg/flags/ls.svg +8 -8
  425. package/svg/flags/lt.svg +7 -7
  426. package/svg/flags/lu.svg +5 -5
  427. package/svg/flags/lv.svg +6 -6
  428. package/svg/flags/ly.svg +13 -13
  429. package/svg/flags/ma.svg +4 -4
  430. package/svg/flags/mc.svg +6 -6
  431. package/svg/flags/md.svg +70 -70
  432. package/svg/flags/me.svg +116 -116
  433. package/svg/flags/mf.svg +7 -7
  434. package/svg/flags/mg.svg +7 -7
  435. package/svg/flags/mh.svg +7 -7
  436. package/svg/flags/mk.svg +5 -5
  437. package/svg/flags/ml.svg +7 -7
  438. package/svg/flags/mm.svg +16 -16
  439. package/svg/flags/mn.svg +13 -13
  440. package/svg/flags/mo.svg +9 -9
  441. package/svg/flags/mp.svg +86 -86
  442. package/svg/flags/mq.svg +7 -7
  443. package/svg/flags/mr.svg +6 -6
  444. package/svg/flags/ms.svg +39 -39
  445. package/svg/flags/mt.svg +49 -49
  446. package/svg/flags/mu.svg +8 -8
  447. package/svg/flags/mv.svg +6 -6
  448. package/svg/flags/mw.svg +10 -10
  449. package/svg/flags/mx.svg +382 -382
  450. package/svg/flags/my.svg +15 -15
  451. package/svg/flags/mz.svg +21 -21
  452. package/svg/flags/na.svg +16 -16
  453. package/svg/flags/nc.svg +7 -7
  454. package/svg/flags/ne.svg +6 -6
  455. package/svg/flags/nf.svg +9 -9
  456. package/svg/flags/ng.svg +6 -6
  457. package/svg/flags/ni.svg +129 -129
  458. package/svg/flags/nl.svg +7 -7
  459. package/svg/flags/no.svg +7 -7
  460. package/svg/flags/np.svg +14 -14
  461. package/svg/flags/nr.svg +12 -12
  462. package/svg/flags/nu.svg +26 -26
  463. package/svg/flags/nz.svg +41 -41
  464. package/svg/flags/om.svg +115 -115
  465. package/svg/flags/pa.svg +14 -14
  466. package/svg/flags/pe.svg +244 -244
  467. package/svg/flags/pf.svg +19 -19
  468. package/svg/flags/pg.svg +9 -9
  469. package/svg/flags/ph.svg +13 -13
  470. package/svg/flags/pk.svg +15 -15
  471. package/svg/flags/pl.svg +6 -6
  472. package/svg/flags/pm.svg +7 -7
  473. package/svg/flags/pn.svg +62 -62
  474. package/svg/flags/pr.svg +13 -13
  475. package/svg/flags/ps.svg +15 -15
  476. package/svg/flags/pt.svg +57 -57
  477. package/svg/flags/pw.svg +11 -11
  478. package/svg/flags/py.svg +157 -157
  479. package/svg/flags/qa.svg +4 -4
  480. package/svg/flags/re.svg +7 -7
  481. package/svg/flags/ro.svg +7 -7
  482. package/svg/flags/rs.svg +292 -292
  483. package/svg/flags/ru.svg +7 -7
  484. package/svg/flags/rw.svg +13 -13
  485. package/svg/flags/sa.svg +26 -26
  486. package/svg/flags/sb.svg +13 -13
  487. package/svg/flags/sc.svg +14 -14
  488. package/svg/flags/sd.svg +13 -13
  489. package/svg/flags/se.svg +16 -16
  490. package/svg/flags/sg.svg +13 -13
  491. package/svg/flags/sh.svg +74 -74
  492. package/svg/flags/si.svg +18 -18
  493. package/svg/flags/sj.svg +7 -7
  494. package/svg/flags/sk.svg +9 -9
  495. package/svg/flags/sl.svg +7 -7
  496. package/svg/flags/sm.svg +91 -91
  497. package/svg/flags/sn.svg +8 -8
  498. package/svg/flags/so.svg +11 -11
  499. package/svg/flags/sr.svg +6 -6
  500. package/svg/flags/ss.svg +8 -8
  501. package/svg/flags/st.svg +16 -16
  502. package/svg/flags/sv.svg +606 -606
  503. package/svg/flags/sx.svg +56 -56
  504. package/svg/flags/sy.svg +6 -6
  505. package/svg/flags/sz.svg +45 -45
  506. package/svg/flags/tc.svg +67 -67
  507. package/svg/flags/td.svg +7 -7
  508. package/svg/flags/tf.svg +15 -15
  509. package/svg/flags/tg.svg +14 -14
  510. package/svg/flags/th.svg +7 -7
  511. package/svg/flags/tj.svg +22 -22
  512. package/svg/flags/tk.svg +5 -5
  513. package/svg/flags/tl.svg +13 -13
  514. package/svg/flags/tm.svg +206 -206
  515. package/svg/flags/tn.svg +13 -13
  516. package/svg/flags/to.svg +10 -10
  517. package/svg/flags/tr.svg +8 -8
  518. package/svg/flags/tt.svg +5 -5
  519. package/svg/flags/tv.svg +27 -27
  520. package/svg/flags/tw.svg +14 -14
  521. package/svg/flags/tz.svg +13 -13
  522. package/svg/flags/ua.svg +6 -6
  523. package/svg/flags/ug.svg +30 -30
  524. package/svg/flags/um.svg +15 -15
  525. package/svg/flags/un.svg +16 -16
  526. package/svg/flags/us.svg +10 -10
  527. package/svg/flags/uy.svg +28 -28
  528. package/svg/flags/uz.svg +30 -30
  529. package/svg/flags/va.svg +479 -479
  530. package/svg/flags/vc.svg +8 -8
  531. package/svg/flags/ve.svg +26 -26
  532. package/svg/flags/vg.svg +127 -127
  533. package/svg/flags/vi.svg +28 -28
  534. package/svg/flags/vn.svg +11 -11
  535. package/svg/flags/vu.svg +18 -18
  536. package/svg/flags/wf.svg +7 -7
  537. package/svg/flags/ws.svg +7 -7
  538. package/svg/flags/ye.svg +7 -7
  539. package/svg/flags/yt.svg +7 -7
  540. package/svg/flags/za.svg +17 -17
  541. package/svg/flags/zm.svg +27 -27
  542. package/svg/flags/zw.svg +21 -21
  543. package/test-utils/mock-response/product-status.js +44 -44
  544. package/utils/breakpoints.d.ts +23 -23
  545. package/utils/breakpoints.js +89 -89
  546. package/utils/callAllEventHandlers.d.ts +5 -5
  547. package/utils/callAllEventHandlers.js +8 -8
  548. package/utils/text.d.ts +1 -1
  549. package/utils/text.js +22 -22
  550. package/utils/theme.d.ts +3 -3
  551. package/utils/theme.js +4 -4
  552. package/utils/useHoverIntent.d.ts +10 -10
  553. package/utils/useHoverIntent.js +77 -77
  554. package/utils/usePropsOfType.d.ts +11 -11
  555. package/utils/usePropsOfType.js +17 -17
  556. package/withFlightUI.d.ts +17 -17
  557. package/withFlightUI.js +19 -19
@@ -1,15 +1,15 @@
1
- import { DocumentNode } from 'graphql';
2
- import * as React from 'react';
3
- export interface SearchFieldProps {
4
- initialValue: string;
5
- className?: string;
6
- placeholder?: string;
7
- autocompleteQuery: DocumentNode;
8
- }
9
- export interface SearchFieldCompound {
10
- Flyout?: React.ReactNode;
11
- Wrapper?: React.ReactNode;
12
- Cancel?: React.ReactNode;
13
- }
14
- declare const SearchField: React.SFC<SearchFieldProps> & SearchFieldCompound;
15
- export default SearchField;
1
+ import { DocumentNode } from 'graphql';
2
+ import * as React from 'react';
3
+ export interface SearchFieldProps {
4
+ initialValue: string;
5
+ className?: string;
6
+ placeholder?: string;
7
+ autocompleteQuery: DocumentNode;
8
+ }
9
+ export interface SearchFieldCompound {
10
+ Flyout?: React.ReactNode;
11
+ Wrapper?: React.ReactNode;
12
+ Cancel?: React.ReactNode;
13
+ }
14
+ declare const SearchField: React.SFC<SearchFieldProps> & SearchFieldCompound;
15
+ export default SearchField;
@@ -1,97 +1,97 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
12
- import throwErrorInDev from '@jetshop/core/helpers/throwErrorInDev';
13
- import t from '@jetshop/intl';
14
- import { FlyoutTarget, FlyoutTrigger } from '@jetshop/ui/Modal/Flyout';
15
- import SuggestedTerm from '@jetshop/ui/Search/SuggestedTerm';
16
- import * as React from 'react';
17
- import { styled } from 'linaria/react';
18
- import { css } from 'linaria';
19
- import SearchAutoCompleteContainer from './SearchAutoCompleteContainer';
20
- const Wrapper = styled('div') `
21
- display: flex;
22
- margin: 0 auto;
23
- justify-content: center;
24
- align-items: center;
25
- `;
26
- const SearchFieldWrapper = styled('div') `
27
- width: 12rem;
28
- position: relative;
29
- font-size: 16px;
30
- font-weight: normal;
31
- `;
32
- const Flyout = styled('div') `
33
- position: absolute;
34
- background: white;
35
- z-index: 999;
36
- border: 1px solid #e8e8e8;
37
- width: 100%;
38
- top: 2rem;
39
- left: 0;
40
- `;
41
- const CancelButton = styled('button') `
42
- font-size: 0.875rem;
43
- border: 0;
44
- background: transparent;
45
- color: #878787;
46
- margin-left: 1rem;
47
- `;
48
- const resultStyles = css `
49
- ul + h2 {
50
- margin-top: 1em;
51
- }
52
- `;
53
- const SearchResults = ({ term, result, loading, onClick }) => {
54
- const products = result === null || result === void 0 ? void 0 : result.products;
55
- const categories = result === null || result === void 0 ? void 0 : result.categories;
56
- if (!loading &&
57
- (products === null || products === void 0 ? void 0 : products.result.length) === 0 &&
58
- (categories === null || categories === void 0 ? void 0 : categories.result.length) === 0) {
59
- return null;
60
- }
61
- return (React.createElement("div", { className: resultStyles },
62
- (products === null || products === void 0 ? void 0 : products.result.length) > 0 && (React.createElement(React.Fragment, null,
63
- React.createElement("h2", null, t('Products')),
64
- React.createElement("ul", { style: loading ? { opacity: 0.5 } : null }, products.result.map(item => (React.createElement(SuggestedTerm, { term: term, onClick: onClick, key: item.id, item: item })))))),
65
- (categories === null || categories === void 0 ? void 0 : categories.result.length) > 0 && (React.createElement(React.Fragment, null,
66
- React.createElement("h2", null, t('Categories')),
67
- React.createElement("ul", { style: loading ? { opacity: 0.5 } : null }, categories.result.map(item => (React.createElement(SuggestedTerm, { term: term, onClick: onClick, key: item.id, item: item }))))))));
68
- };
69
- const SearchField = (_a) => {
70
- var { initialValue, className, placeholder = '', autocompleteQuery } = _a, rest = __rest(_a, ["initialValue", "className", "placeholder", "autocompleteQuery"]);
71
- throwErrorInDev(!autocompleteQuery, `You forgot to pass 'autocompleteQuery' to SearchField`);
72
- return (React.createElement(SearchAutoCompleteContainer, Object.assign({ autocompleteQuery: autocompleteQuery, initialValue: initialValue, focusOnLoad: true }, rest), searchField => (React.createElement(Wrapper, { className: className, "data-flight-searchfield": "" },
73
- React.createElement(SearchFieldWrapper, null,
74
- React.createElement(FlyoutTrigger, { showCover: false, id: "searchFlyout" }, ({ showTarget, hideTarget }) => (React.createElement(React.Fragment, null,
75
- React.createElement("input", Object.assign({ placeholder: placeholder }, searchField.getInputProps({
76
- onFocus: showTarget
77
- }), { "data-flight-search-autocomplete-field": "" })),
78
- React.createElement(CancelButton, Object.assign({}, searchField.getCancelProps({ onClick: hideTarget }), { "data-flight-searchfield-cancel": true }), t('Cancel'))))),
79
- React.createElement(FlyoutTarget, { id: "searchFlyout" }, flyout => {
80
- var _a, _b, _c, _d;
81
- const hasResults = ((_b = (_a = searchField.result) === null || _a === void 0 ? void 0 : _a.products) === null || _b === void 0 ? void 0 : _b.result.length) > 0 ||
82
- ((_d = (_c = searchField.result) === null || _c === void 0 ? void 0 : _c.categories) === null || _d === void 0 ? void 0 : _d.result.length) > 0;
83
- const { loading, isDirty, isOpen } = searchField;
84
- const showFlyout = isDirty && !loading && hasResults && isOpen && flyout.isOpen;
85
- if (showFlyout) {
86
- return (React.createElement(Flyout, { "data-flight-searchfield-flyout": true },
87
- React.createElement("div", Object.assign({}, searchField.getFlyoutProps()), searchField.isDirty && (React.createElement(React.Fragment, null,
88
- React.createElement(SearchResults, { term: searchField.term, result: searchField.result, onClick: flyout.hideTarget, loading: searchField.loading }))))));
89
- }
90
- return null;
91
- }))))));
92
- };
93
- SearchField.Flyout = Flyout;
94
- SearchField.Wrapper = SearchFieldWrapper;
95
- SearchField.Cancel = CancelButton;
96
- export default SearchField;
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import throwErrorInDev from '@jetshop/core/helpers/throwErrorInDev';
13
+ import t from '@jetshop/intl';
14
+ import { FlyoutTarget, FlyoutTrigger } from '@jetshop/ui/Modal/Flyout';
15
+ import SuggestedTerm from '@jetshop/ui/Search/SuggestedTerm';
16
+ import * as React from 'react';
17
+ import { styled } from 'linaria/react';
18
+ import { css } from 'linaria';
19
+ import SearchAutoCompleteContainer from './SearchAutoCompleteContainer';
20
+ const Wrapper = styled('div') `
21
+ display: flex;
22
+ margin: 0 auto;
23
+ justify-content: center;
24
+ align-items: center;
25
+ `;
26
+ const SearchFieldWrapper = styled('div') `
27
+ width: 12rem;
28
+ position: relative;
29
+ font-size: 16px;
30
+ font-weight: normal;
31
+ `;
32
+ const Flyout = styled('div') `
33
+ position: absolute;
34
+ background: white;
35
+ z-index: 999;
36
+ border: 1px solid #e8e8e8;
37
+ width: 100%;
38
+ top: 2rem;
39
+ left: 0;
40
+ `;
41
+ const CancelButton = styled('button') `
42
+ font-size: 0.875rem;
43
+ border: 0;
44
+ background: transparent;
45
+ color: #878787;
46
+ margin-left: 1rem;
47
+ `;
48
+ const resultStyles = css `
49
+ ul + h2 {
50
+ margin-top: 1em;
51
+ }
52
+ `;
53
+ const SearchResults = ({ term, result, loading, onClick }) => {
54
+ const products = result === null || result === void 0 ? void 0 : result.products;
55
+ const categories = result === null || result === void 0 ? void 0 : result.categories;
56
+ if (!loading &&
57
+ (products === null || products === void 0 ? void 0 : products.result.length) === 0 &&
58
+ (categories === null || categories === void 0 ? void 0 : categories.result.length) === 0) {
59
+ return null;
60
+ }
61
+ return (React.createElement("div", { className: resultStyles },
62
+ (products === null || products === void 0 ? void 0 : products.result.length) > 0 && (React.createElement(React.Fragment, null,
63
+ React.createElement("h2", null, t('Products')),
64
+ React.createElement("ul", { style: loading ? { opacity: 0.5 } : null }, products.result.map(item => (React.createElement(SuggestedTerm, { term: term, onClick: onClick, key: item.id, item: item })))))),
65
+ (categories === null || categories === void 0 ? void 0 : categories.result.length) > 0 && (React.createElement(React.Fragment, null,
66
+ React.createElement("h2", null, t('Categories')),
67
+ React.createElement("ul", { style: loading ? { opacity: 0.5 } : null }, categories.result.map(item => (React.createElement(SuggestedTerm, { term: term, onClick: onClick, key: item.id, item: item }))))))));
68
+ };
69
+ const SearchField = (_a) => {
70
+ var { initialValue, className, placeholder = '', autocompleteQuery } = _a, rest = __rest(_a, ["initialValue", "className", "placeholder", "autocompleteQuery"]);
71
+ throwErrorInDev(!autocompleteQuery, `You forgot to pass 'autocompleteQuery' to SearchField`);
72
+ return (React.createElement(SearchAutoCompleteContainer, Object.assign({ autocompleteQuery: autocompleteQuery, initialValue: initialValue, focusOnLoad: true }, rest), searchField => (React.createElement(Wrapper, { className: className, "data-flight-searchfield": "" },
73
+ React.createElement(SearchFieldWrapper, null,
74
+ React.createElement(FlyoutTrigger, { showCover: false, id: "searchFlyout" }, ({ showTarget, hideTarget }) => (React.createElement(React.Fragment, null,
75
+ React.createElement("input", Object.assign({ placeholder: placeholder }, searchField.getInputProps({
76
+ onFocus: showTarget
77
+ }), { "data-flight-search-autocomplete-field": "" })),
78
+ React.createElement(CancelButton, Object.assign({}, searchField.getCancelProps({ onClick: hideTarget }), { "data-flight-searchfield-cancel": true }), t('Cancel'))))),
79
+ React.createElement(FlyoutTarget, { id: "searchFlyout" }, flyout => {
80
+ var _a, _b, _c, _d;
81
+ const hasResults = ((_b = (_a = searchField.result) === null || _a === void 0 ? void 0 : _a.products) === null || _b === void 0 ? void 0 : _b.result.length) > 0 ||
82
+ ((_d = (_c = searchField.result) === null || _c === void 0 ? void 0 : _c.categories) === null || _d === void 0 ? void 0 : _d.result.length) > 0;
83
+ const { loading, isDirty, isOpen } = searchField;
84
+ const showFlyout = isDirty && !loading && hasResults && isOpen && flyout.isOpen;
85
+ if (showFlyout) {
86
+ return (React.createElement(Flyout, { "data-flight-searchfield-flyout": true },
87
+ React.createElement("div", Object.assign({}, searchField.getFlyoutProps()), searchField.isDirty && (React.createElement(React.Fragment, null,
88
+ React.createElement(SearchResults, { term: searchField.term, result: searchField.result, onClick: flyout.hideTarget, loading: searchField.loading }))))));
89
+ }
90
+ return null;
91
+ }))))));
92
+ };
93
+ SearchField.Flyout = Flyout;
94
+ SearchField.Wrapper = SearchFieldWrapper;
95
+ SearchField.Cancel = CancelButton;
96
+ export default SearchField;
97
97
  //# sourceMappingURL=SearchField.js.map
@@ -1,5 +1,5 @@
1
- /// <reference types="react" />
2
- export declare const PageOf: ({ page, pages }: {
3
- page: number;
4
- pages: number;
5
- }) => JSX.Element;
1
+ /// <reference types="react" />
2
+ export declare const PageOf: ({ page, pages }: {
3
+ page: number;
4
+ pages: number;
5
+ }) => JSX.Element;
@@ -1,7 +1,7 @@
1
- import React from 'react';
2
- export const PageOf = ({ page, pages }) => (React.createElement("div", null,
3
- "Page ",
4
- page,
5
- " of ",
6
- pages));
1
+ import React from 'react';
2
+ export const PageOf = ({ page, pages }) => (React.createElement("div", null,
3
+ "Page ",
4
+ page,
5
+ " of ",
6
+ pages));
7
7
  //# sourceMappingURL=PageOf.js.map
@@ -1,16 +1,16 @@
1
- import React from 'react';
2
- export interface ISearchMetaProps {
3
- total: number;
4
- page: number;
5
- pages: number;
6
- className?: string;
7
- }
8
- export declare const SearchMetaWrapper: import("linaria/lib/StyledMeta").StyledMeta & React.FunctionComponent<React.ClassAttributes<HTMLElement> & React.HTMLAttributes<HTMLElement> & {
9
- as?: React.ElementType<any>;
10
- }>;
11
- declare class SearchMeta extends React.PureComponent<ISearchMetaProps & {
12
- className?: string;
13
- }, any> {
14
- render(): JSX.Element;
15
- }
16
- export default SearchMeta;
1
+ import React from 'react';
2
+ export interface ISearchMetaProps {
3
+ total: number;
4
+ page: number;
5
+ pages: number;
6
+ className?: string;
7
+ }
8
+ export declare const SearchMetaWrapper: import("linaria/lib/StyledMeta").StyledMeta & React.FunctionComponent<React.ClassAttributes<HTMLElement> & React.HTMLAttributes<HTMLElement> & {
9
+ as?: React.ElementType<any>;
10
+ }>;
11
+ declare class SearchMeta extends React.PureComponent<ISearchMetaProps & {
12
+ className?: string;
13
+ }, any> {
14
+ render(): JSX.Element;
15
+ }
16
+ export default SearchMeta;
@@ -1,20 +1,20 @@
1
- import React from 'react';
2
- import { styled } from 'linaria/react';
3
- import { PageOf } from './PageOf';
4
- export const SearchMetaWrapper = styled('aside') `
5
- display: flex;
6
- justify-content: space-between;
7
- padding: 1rem 0;
8
- `;
9
- class SearchMeta extends React.PureComponent {
10
- render() {
11
- const { total, page, pages, className = '' } = this.props;
12
- return (React.createElement(SearchMetaWrapper, { className: className },
13
- React.createElement("header", null,
14
- total,
15
- " items"),
16
- React.createElement(PageOf, { page: page, pages: pages })));
17
- }
18
- }
19
- export default SearchMeta;
1
+ import React from 'react';
2
+ import { styled } from 'linaria/react';
3
+ import { PageOf } from './PageOf';
4
+ export const SearchMetaWrapper = styled('aside') `
5
+ display: flex;
6
+ justify-content: space-between;
7
+ padding: 1rem 0;
8
+ `;
9
+ class SearchMeta extends React.PureComponent {
10
+ render() {
11
+ const { total, page, pages, className = '' } = this.props;
12
+ return (React.createElement(SearchMetaWrapper, { className: className },
13
+ React.createElement("header", null,
14
+ total,
15
+ " items"),
16
+ React.createElement(PageOf, { page: page, pages: pages })));
17
+ }
18
+ }
19
+ export default SearchMeta;
20
20
  //# sourceMappingURL=SearchMeta.js.map
@@ -1,19 +1,19 @@
1
- import { ApolloError } from 'apollo-client';
2
- import { DocumentNode } from 'graphql';
3
- import * as React from 'react';
4
- export interface SearchPageRenderProps {
5
- result: {};
6
- filters: {};
7
- total: number;
8
- term: string;
9
- loading: boolean;
10
- error: ApolloError;
11
- }
12
- export interface SearchPageProps {
13
- children(props: SearchPageRenderProps): React.ReactElement;
14
- /** Query to perform the search */
15
- searchQuery: DocumentNode;
16
- location: Location;
17
- }
18
- declare const SearchPageBehaviour: React.FC<SearchPageProps>;
19
- export default SearchPageBehaviour;
1
+ import { ApolloError } from 'apollo-client';
2
+ import { DocumentNode } from 'graphql';
3
+ import * as React from 'react';
4
+ export interface SearchPageRenderProps {
5
+ result: {};
6
+ filters: {};
7
+ total: number;
8
+ term: string;
9
+ loading: boolean;
10
+ error: ApolloError;
11
+ }
12
+ export interface SearchPageProps {
13
+ children(props: SearchPageRenderProps): React.ReactElement;
14
+ /** Query to perform the search */
15
+ searchQuery: DocumentNode;
16
+ location: Location;
17
+ }
18
+ declare const SearchPageBehaviour: React.FC<SearchPageProps>;
19
+ export default SearchPageBehaviour;
@@ -1,67 +1,67 @@
1
- import ActiveFiltersQuery from '@jetshop/core/components/DynamicRoute/ActiveFiltersQuery.gql';
2
- import PaginationContext from '@jetshop/core/components/Pagination/PaginationContext';
3
- import PaginationProvider, { usePagination } from '@jetshop/core/components/Pagination/PaginationProvider';
4
- import throwErrorInDev from '@jetshop/core/helpers/throwErrorInDev';
5
- import { useFilters } from '@jetshop/core/hooks/Filters/useFilters';
6
- import qs from 'qs';
7
- import * as React from 'react';
8
- import { Query, useQuery } from 'react-apollo';
9
- const SearchPageBehaviour = props => {
10
- var _a;
11
- const pagination = usePagination();
12
- const { location, searchQuery, children } = props;
13
- const { offset, perPage } = React.useContext(PaginationContext);
14
- const activeSearchTerm = React.useRef();
15
- // Track the previous offset. If it has changed, we're paginating. If it
16
- // hasn't, we're just applying filters.
17
- const activeOffset = React.useRef(0);
18
- const { clearAllFilters } = useFilters();
19
- throwErrorInDev(!searchQuery, `You did not pass 'searchQuery' to SearchPageBehaviour`);
20
- const activeFilterQuery = useQuery(ActiveFiltersQuery);
21
- const searchTerm = React.useMemo(() => qs.parse(location.search, { ignoreQueryPrefix: true }).term, [location]);
22
- React.useEffect(() => {
23
- if (activeSearchTerm.current && activeSearchTerm.current !== searchTerm) {
24
- clearAllFilters();
25
- }
26
- activeSearchTerm.current = searchTerm;
27
- }, [clearAllFilters, searchTerm]);
28
- React.useEffect(() => {
29
- activeOffset.current = offset;
30
- }, [offset]);
31
- if (pagination === undefined) {
32
- return (React.createElement(PaginationProvider, null,
33
- React.createElement(SearchPageBehaviour, Object.assign({}, props))));
34
- }
35
- // Ideally this component would use the data from usePagination, but due to
36
- // how the shouldComponentUpdate method in FilterContainer works it prevents
37
- // rendering if we don't do it this way.
38
- return searchTerm ? (React.createElement(Query, { variables: {
39
- term: searchTerm,
40
- first: perPage,
41
- limit: perPage,
42
- filters: ((_a = activeFilterQuery.data) === null || _a === void 0 ? void 0 : _a.activeFilters) || null,
43
- offset: activeOffset.current === offset ? 0 : offset,
44
- client: !__IN_SERVER__
45
- }, query: searchQuery, fetchPolicy: "cache-and-network" }, (result) => {
46
- var _a, _b, _c, _d, _e, _f;
47
- const totalResults = (_c = (_b = (_a = result === null || result === void 0 ? void 0 : result.data) === null || _a === void 0 ? void 0 : _a.search) === null || _b === void 0 ? void 0 : _b.products) === null || _c === void 0 ? void 0 : _c.totalResults;
48
- const filters = (_f = (_e = (_d = result === null || result === void 0 ? void 0 : result.data) === null || _d === void 0 ? void 0 : _d.search) === null || _e === void 0 ? void 0 : _e.products) === null || _f === void 0 ? void 0 : _f.filters;
49
- return (React.createElement(React.Fragment, null, children({
50
- result,
51
- total: totalResults,
52
- filters,
53
- term: searchTerm,
54
- loading: result.loading,
55
- error: result.error
56
- })));
57
- })) : (children({
58
- term: searchTerm,
59
- loading: false,
60
- error: null,
61
- total: 0,
62
- result: {},
63
- filters: {}
64
- }));
65
- };
66
- export default SearchPageBehaviour;
1
+ import ActiveFiltersQuery from '@jetshop/core/components/DynamicRoute/ActiveFiltersQuery.gql';
2
+ import PaginationContext from '@jetshop/core/components/Pagination/PaginationContext';
3
+ import PaginationProvider, { usePagination } from '@jetshop/core/components/Pagination/PaginationProvider';
4
+ import throwErrorInDev from '@jetshop/core/helpers/throwErrorInDev';
5
+ import { useFilters } from '@jetshop/core/hooks/Filters/useFilters';
6
+ import qs from 'qs';
7
+ import * as React from 'react';
8
+ import { Query, useQuery } from 'react-apollo';
9
+ const SearchPageBehaviour = props => {
10
+ var _a;
11
+ const pagination = usePagination();
12
+ const { location, searchQuery, children } = props;
13
+ const { offset, perPage } = React.useContext(PaginationContext);
14
+ const activeSearchTerm = React.useRef();
15
+ // Track the previous offset. If it has changed, we're paginating. If it
16
+ // hasn't, we're just applying filters.
17
+ const activeOffset = React.useRef(0);
18
+ const { clearAllFilters } = useFilters();
19
+ throwErrorInDev(!searchQuery, `You did not pass 'searchQuery' to SearchPageBehaviour`);
20
+ const activeFilterQuery = useQuery(ActiveFiltersQuery);
21
+ const searchTerm = React.useMemo(() => qs.parse(location.search, { ignoreQueryPrefix: true }).term, [location]);
22
+ React.useEffect(() => {
23
+ if (activeSearchTerm.current && activeSearchTerm.current !== searchTerm) {
24
+ clearAllFilters();
25
+ }
26
+ activeSearchTerm.current = searchTerm;
27
+ }, [clearAllFilters, searchTerm]);
28
+ React.useEffect(() => {
29
+ activeOffset.current = offset;
30
+ }, [offset]);
31
+ if (pagination === undefined) {
32
+ return (React.createElement(PaginationProvider, null,
33
+ React.createElement(SearchPageBehaviour, Object.assign({}, props))));
34
+ }
35
+ // Ideally this component would use the data from usePagination, but due to
36
+ // how the shouldComponentUpdate method in FilterContainer works it prevents
37
+ // rendering if we don't do it this way.
38
+ return searchTerm ? (React.createElement(Query, { variables: {
39
+ term: searchTerm,
40
+ first: perPage,
41
+ limit: perPage,
42
+ filters: ((_a = activeFilterQuery.data) === null || _a === void 0 ? void 0 : _a.activeFilters) || null,
43
+ offset: activeOffset.current === offset ? 0 : offset,
44
+ client: !__IN_SERVER__
45
+ }, query: searchQuery, fetchPolicy: "cache-and-network" }, (result) => {
46
+ var _a, _b, _c, _d, _e, _f;
47
+ const totalResults = (_c = (_b = (_a = result === null || result === void 0 ? void 0 : result.data) === null || _a === void 0 ? void 0 : _a.search) === null || _b === void 0 ? void 0 : _b.products) === null || _c === void 0 ? void 0 : _c.totalResults;
48
+ const filters = (_f = (_e = (_d = result === null || result === void 0 ? void 0 : result.data) === null || _d === void 0 ? void 0 : _d.search) === null || _e === void 0 ? void 0 : _e.products) === null || _f === void 0 ? void 0 : _f.filters;
49
+ return (React.createElement(React.Fragment, null, children({
50
+ result,
51
+ total: totalResults,
52
+ filters,
53
+ term: searchTerm,
54
+ loading: result.loading,
55
+ error: result.error
56
+ })));
57
+ })) : (children({
58
+ term: searchTerm,
59
+ loading: false,
60
+ error: null,
61
+ total: 0,
62
+ result: {},
63
+ filters: {}
64
+ }));
65
+ };
66
+ export default SearchPageBehaviour;
67
67
  //# sourceMappingURL=SearchPageBehaviour.js.map
@@ -1,16 +1,16 @@
1
- /// <reference types="react" />
2
- import { Product, Category } from '@jetshop/core/types';
3
- export interface SuggestedTermProps {
4
- className?: string;
5
- term: string;
6
- /** Function to call when a search term is clicked */
7
- onClick?: () => void;
8
- }
9
- interface SuggestedProduct extends SuggestedTermProps {
10
- item: Product;
11
- }
12
- interface SuggestedCategory extends SuggestedTermProps {
13
- item: Category;
14
- }
15
- declare const SuggestedTerm: (props: SuggestedProduct | SuggestedCategory) => JSX.Element;
16
- export default SuggestedTerm;
1
+ /// <reference types="react" />
2
+ import { Product, Category } from '@jetshop/core/types';
3
+ export interface SuggestedTermProps {
4
+ className?: string;
5
+ term: string;
6
+ /** Function to call when a search term is clicked */
7
+ onClick?: () => void;
8
+ }
9
+ interface SuggestedProduct extends SuggestedTermProps {
10
+ item: Product;
11
+ }
12
+ interface SuggestedCategory extends SuggestedTermProps {
13
+ item: Category;
14
+ }
15
+ declare const SuggestedTerm: (props: SuggestedProduct | SuggestedCategory) => JSX.Element;
16
+ export default SuggestedTerm;
@@ -1,35 +1,35 @@
1
- import React from 'react';
2
- import ProductLink from '@jetshop/ui/ProductLink';
3
- import CategoryLink from '@jetshop/ui/CategoryLink';
4
- const SuggestedTerm = (props) => {
5
- const { term = '', className = '', onClick = () => null } = props;
6
- if (isProduct(props)) {
7
- const { item } = props;
8
- return (React.createElement("li", { className: className, onClick: onClick, "data-flight-search-autocomplete-result": "product" }, item.primaryRoute ? (React.createElement(ProductLink, { product: item }, getHighlightedText(item.name, term))) : (item.name)));
9
- }
10
- else {
11
- const { item } = props;
12
- const displayText = item.primaryRoute.breadcrumbs.join(' > ');
13
- return (React.createElement("li", { className: className, onClick: onClick, "data-flight-search-autocomplete-result": "category" }, item.primaryRoute ? (React.createElement(CategoryLink, { category: item }, getHighlightedText(displayText, term))) : (item.name)));
14
- }
15
- };
16
- function isProduct(props) {
17
- return props.item.__typename === 'Product';
18
- }
19
- function getHighlightedText(text, highlight) {
20
- // Split on higlight term and include term into parts, ignore case
21
- const parts = text.split(new RegExp(`(${escapeRegExp(highlight).split(' ').join('|')})`, 'gi'));
22
- const highlightArray = highlight.split(' ');
23
- const toHighlightLower = highlightArray.map((word) => word.toLowerCase());
24
- return parts.reduce((prev, curr, index) => {
25
- return [
26
- ...prev,
27
- toHighlightLower.includes(curr.toLowerCase()) ? (React.createElement("strong", { style: { fontWeight: 600 }, key: index }, curr)) : (curr)
28
- ];
29
- }, []);
30
- }
31
- function escapeRegExp(string) {
32
- return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
33
- }
34
- export default SuggestedTerm;
1
+ import React from 'react';
2
+ import ProductLink from '@jetshop/ui/ProductLink';
3
+ import CategoryLink from '@jetshop/ui/CategoryLink';
4
+ const SuggestedTerm = (props) => {
5
+ const { term = '', className = '', onClick = () => null } = props;
6
+ if (isProduct(props)) {
7
+ const { item } = props;
8
+ return (React.createElement("li", { className: className, onClick: onClick, "data-flight-search-autocomplete-result": "product" }, item.primaryRoute ? (React.createElement(ProductLink, { product: item }, getHighlightedText(item.name, term))) : (item.name)));
9
+ }
10
+ else {
11
+ const { item } = props;
12
+ const displayText = item.primaryRoute.breadcrumbs.join(' > ');
13
+ return (React.createElement("li", { className: className, onClick: onClick, "data-flight-search-autocomplete-result": "category" }, item.primaryRoute ? (React.createElement(CategoryLink, { category: item }, getHighlightedText(displayText, term))) : (item.name)));
14
+ }
15
+ };
16
+ function isProduct(props) {
17
+ return props.item.__typename === 'Product';
18
+ }
19
+ function getHighlightedText(text, highlight) {
20
+ // Split on higlight term and include term into parts, ignore case
21
+ const parts = text.split(new RegExp(`(${escapeRegExp(highlight).split(' ').join('|')})`, 'gi'));
22
+ const highlightArray = highlight.split(' ');
23
+ const toHighlightLower = highlightArray.map((word) => word.toLowerCase());
24
+ return parts.reduce((prev, curr, index) => {
25
+ return [
26
+ ...prev,
27
+ toHighlightLower.includes(curr.toLowerCase()) ? (React.createElement("strong", { style: { fontWeight: 600 }, key: index }, curr)) : (curr)
28
+ ];
29
+ }, []);
30
+ }
31
+ function escapeRegExp(string) {
32
+ return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
33
+ }
34
+ export default SuggestedTerm;
35
35
  //# sourceMappingURL=SuggestedTerm.js.map
package/Search/index.d.ts CHANGED
@@ -1 +1 @@
1
- export { default as SearchField } from './SearchField';
1
+ export { default as SearchField } from './SearchField';
package/Search/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { default as SearchField } from './SearchField';
1
+ export { default as SearchField } from './SearchField';
2
2
  //# sourceMappingURL=index.js.map