@jetshop/ui 5.13.2 → 5.13.12-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,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