@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.
- package/Accordion/Accordion.d.ts +33 -33
- package/Accordion/Accordion.js +58 -58
- package/Accordion/Accordion.test.js +73 -73
- package/Accordion/__doc_utils__/AccordionHeader.js +12 -12
- package/Auth/FormFields/CountriesInput.d.ts +16 -14
- package/Auth/FormFields/CountriesInput.js +27 -27
- package/Auth/FormFields/CountriesInput.js.map +1 -1
- package/Auth/LogInBehavior.d.ts +22 -22
- package/Auth/LogInBehavior.js +23 -23
- package/Auth/LogInFormProvider.d.ts +7 -7
- package/Auth/LogInFormProvider.js +70 -70
- package/Auth/LogOut.d.ts +10 -10
- package/Auth/LogOut.js +23 -23
- package/Auth/logInValidator.d.ts +8 -8
- package/Auth/logInValidator.js +15 -15
- package/Breadcrumbs/Breadcrumbs.d.ts +14 -14
- package/Breadcrumbs/Breadcrumbs.js +83 -83
- package/Breadcrumbs/getParentsOrCanonicalRoute.d.ts +3 -3
- package/Breadcrumbs/getParentsOrCanonicalRoute.js +13 -13
- package/Breadcrumbs/index.d.ts +1 -1
- package/Breadcrumbs/index.js +1 -1
- package/Breakpoints.d.ts +12 -12
- package/Breakpoints.js +35 -35
- package/Button/Button.d.ts +14 -14
- package/Button/Button.js +59 -59
- package/Button/OutlineButton.d.ts +4 -4
- package/Button/OutlineButton.js +9 -9
- package/Button/SecondaryButton.d.ts +3 -3
- package/Button/SecondaryButton.js +8 -8
- package/Button/TrendButton.d.ts +3 -3
- package/Button/TrendButton.js +7 -7
- package/Button/index.d.ts +4 -4
- package/Button/index.js +4 -4
- package/CategoryLink.d.ts +9 -9
- package/CategoryLink.js +42 -42
- package/ChannelSelector/ChannelListItem.d.ts +10 -10
- package/ChannelSelector/ChannelListItem.js +50 -50
- package/ChannelSelector/ChannelListItem.test.js +85 -85
- package/ChannelSelector/ChannelSelector.d.ts +63 -63
- package/ChannelSelector/ChannelSelector.js +79 -79
- package/ChannelSelector/ChannelSelector.test.js +167 -167
- package/ChannelSelector/ChannelSelectorButtons.d.ts +3 -3
- package/ChannelSelector/ChannelSelectorButtons.js +19 -19
- package/ChannelSelector/Channels.d.ts +17 -17
- package/ChannelSelector/Channels.js +11 -11
- package/ChannelSelector/Channels.test.js +90 -90
- package/ChannelSelector/LargeSelector.d.ts +3 -3
- package/ChannelSelector/LargeSelector.js +66 -66
- package/ChannelSelector/MiniSelector.d.ts +4 -4
- package/ChannelSelector/MiniSelector.js +57 -57
- package/ChannelSelector/Region.d.ts +28 -28
- package/ChannelSelector/Region.js +20 -20
- package/ChannelSelector/Region.test.js +37 -37
- package/ChannelSelector/exampleChannels.js +577 -577
- package/ChannelSelector/groupBy.d.ts +7 -7
- package/ChannelSelector/groupBy.js +15 -15
- package/ChannelSelector/groupBy.test.js +42 -42
- package/Checkbox/Checkbox.d.ts +10 -10
- package/Checkbox/Checkbox.js +68 -68
- package/Checkbox/CheckboxGroup.d.ts +23 -23
- package/Checkbox/CheckboxGroup.js +21 -21
- package/Checkbox/index.d.ts +2 -2
- package/Checkbox/index.js +2 -2
- package/ContentPageLink.d.ts +9 -9
- package/ContentPageLink.js +36 -36
- package/ContentRenderer.d.ts +9 -9
- package/ContentRenderer.js +35 -35
- package/DropdownMenu/Button.d.ts +7 -7
- package/DropdownMenu/Button.js +31 -31
- package/DropdownMenu/DropdownMenu.d.ts +21 -21
- package/DropdownMenu/DropdownMenu.js +71 -71
- package/DropdownMenu/Item.d.ts +13 -13
- package/DropdownMenu/Item.js +47 -47
- package/DropdownMenu/Items.d.ts +16 -16
- package/DropdownMenu/Items.js +52 -52
- package/DropdownMenu/index.d.ts +4 -4
- package/DropdownMenu/index.js +4 -4
- package/ErrorBoundary/Generic.d.ts +17 -17
- package/ErrorBoundary/Generic.js +68 -68
- package/ErrorBoundary/PassThrough.d.ts +3 -3
- package/ErrorBoundary/PassThrough.js +6 -6
- package/Gallery/Gallery.d.ts +39 -39
- package/Gallery/Gallery.js +121 -121
- package/Gallery/constructGallery.d.ts +15 -15
- package/Gallery/constructGallery.js +40 -40
- package/Image/B2BImage.d.ts +50 -50
- package/Image/B2BImage.js +52 -52
- package/Image/BaseImage.d.ts +39 -39
- package/Image/BaseImage.js +191 -191
- package/Image/Fallback.d.ts +5 -5
- package/Image/Fallback.js +3 -3
- package/Image/FlightImage.d.ts +52 -52
- package/Image/FlightImage.js +57 -57
- package/Image/FlightImage.test.js +277 -277
- package/Image/Image.d.ts +2 -2
- package/Image/Image.js +2 -2
- package/Image/index.d.ts +1 -1
- package/Image/index.js +1 -1
- package/Image/useConstructImage.d.ts +46 -46
- package/Image/useConstructImage.js +96 -96
- package/Image/utils/aspectRatioToFraction.d.ts +2 -2
- package/Image/utils/aspectRatioToFraction.js +10 -10
- package/Image/utils/getFullUrl.d.ts +6 -6
- package/Image/utils/getFullUrl.js +17 -17
- package/Image/utils/getImageWidth.d.ts +1 -1
- package/Image/utils/getImageWidth.js +11 -11
- package/Image/utils/getImageWidths.d.ts +2 -2
- package/Image/utils/getImageWidths.js +13 -13
- package/Image/utils/getLQIP.d.ts +8 -8
- package/Image/utils/getLQIP.js +19 -19
- package/Image/utils/getLargestSize.d.ts +7 -7
- package/Image/utils/getLargestSize.js +16 -16
- package/Image/utils/getSizeForBreakpoint.d.ts +2 -2
- package/Image/utils/getSizeForBreakpoint.js +15 -15
- package/Image/utils/getSizesMap.d.ts +2 -2
- package/Image/utils/getSizesMap.js +21 -21
- package/Image/utils/getSmallestSize.d.ts +2 -2
- package/Image/utils/getSmallestSize.js +11 -11
- package/Image/utils/getSrcSetFromWidths.d.ts +10 -10
- package/Image/utils/getSrcSetFromWidths.js +8 -8
- package/Image/utils/getSrcWithParams.d.ts +3 -3
- package/Image/utils/getSrcWithParams.js +28 -28
- package/Image/utils/paddingForAspectRatio.d.ts +1 -1
- package/Image/utils/paddingForAspectRatio.js +5 -5
- package/Image/utils/remToPx.d.ts +1 -1
- package/Image/utils/remToPx.js +1 -1
- package/Image/utils/sizeToNumber.d.ts +2 -2
- package/Image/utils/sizeToNumber.js +26 -26
- package/Input/Input.d.ts +6 -6
- package/Input/Input.js +44 -44
- package/Input/index.d.ts +3 -3
- package/Input/index.js +3 -3
- package/JetshopText.d.ts +3 -3
- package/JetshopText.js +11 -11
- package/Loading/LoadingBar.d.ts +8 -8
- package/Loading/LoadingBar.js +57 -57
- package/Loading/LoadingLine.d.ts +31 -31
- package/Loading/LoadingLine.js +25 -25
- package/Loading/LoadingLine.test.js +18 -18
- package/Loading/NetworkStatusNotifier.d.ts +2 -2
- package/Loading/NetworkStatusNotifier.js +3 -3
- package/Menu/GetMoreSubcategoriesQuery.gql +25 -25
- package/Menu/MenuContainer.d.ts +28 -28
- package/Menu/MenuContainer.js +45 -45
- package/Menu/MenuContainer.test.js +245 -245
- package/Menu/RecursiveTree.d.ts +28 -28
- package/Menu/RecursiveTree.js +90 -90
- package/Menu/RecursiveTree.test.js +416 -416
- package/Modal/Drawer/Drawer.d.ts +11 -11
- package/Modal/Drawer/Drawer.js +30 -30
- package/Modal/Drawer/DrawerTarget.d.ts +6 -6
- package/Modal/Drawer/DrawerTarget.js +11 -11
- package/Modal/Drawer/DrawerTarget.test.js +92 -92
- package/Modal/Drawer/DrawerTrigger.d.ts +11 -11
- package/Modal/Drawer/DrawerTrigger.js +15 -15
- package/Modal/Drawer/DrawerTrigger.test.js +51 -51
- package/Modal/Drawer/index.d.ts +3 -3
- package/Modal/Drawer/index.js +3 -3
- package/Modal/Flyout/FlyoutTarget.d.ts +10 -10
- package/Modal/Flyout/FlyoutTarget.js +14 -14
- package/Modal/Flyout/FlyoutTarget.test.js +84 -84
- package/Modal/Flyout/FlyoutTrigger.d.ts +15 -15
- package/Modal/Flyout/FlyoutTrigger.js +17 -17
- package/Modal/Flyout/FlyoutTrigger.test.js +72 -72
- package/Modal/Flyout/index.d.ts +2 -2
- package/Modal/Flyout/index.js +2 -2
- package/Modal/ModalContext.d.ts +26 -26
- package/Modal/ModalContext.js +8 -8
- package/Modal/ModalProvider.d.ts +5 -5
- package/Modal/ModalProvider.js +82 -82
- package/Modal/ModalProvider.test.js +26 -26
- package/Modal/ModalRoot.d.ts +3 -3
- package/Modal/ModalRoot.js +43 -43
- package/Modal/ModalRoot.test.js +80 -80
- package/Modal/ModalTrigger.d.ts +9 -9
- package/Modal/ModalTrigger.js +8 -8
- package/Modal/__test_utils__/getComponentWithModalContext.js +29 -29
- package/Pagination/Pagination.d.ts +7 -7
- package/Pagination/Pagination.js +22 -22
- package/Pagination/PaginationBehaviour.d.ts +52 -52
- package/Pagination/PaginationBehaviour.js +67 -67
- package/Pagination/index.d.ts +2 -2
- package/Pagination/index.js +2 -2
- package/Pagination/usePagination.d.ts +15 -15
- package/Pagination/usePagination.js +45 -45
- package/PreOrderDateSelector/PreOrderDateSelector.d.ts +20 -20
- package/PreOrderDateSelector/PreOrderDateSelector.js +73 -73
- package/PreOrderDateSelector/index.d.ts +2 -2
- package/PreOrderDateSelector/index.js +2 -2
- package/Price/Currency.d.ts +9 -9
- package/Price/Currency.js +10 -10
- package/Price/Price.d.ts +29 -28
- package/Price/Price.js +35 -34
- package/Price/Price.js.map +1 -1
- package/Price/index.d.ts +1 -1
- package/Price/index.js +1 -1
- package/ProductLink.d.ts +21 -21
- package/ProductLink.js +81 -81
- package/ProductList/Badges.d.ts +6 -6
- package/ProductList/Badges.js +55 -55
- package/ProductList/GridProduct.d.ts +24 -24
- package/ProductList/GridProduct.js +57 -57
- package/ProductList/ProductGrid.d.ts +16 -16
- package/ProductList/ProductGrid.js +29 -29
- package/ProductList/ProductImage.d.ts +12 -12
- package/ProductList/ProductImage.js +20 -20
- package/ProductSpecifications/ProductSpecifications.d.ts +8 -8
- package/ProductSpecifications/ProductSpecifications.js +77 -77
- package/ScrollRestorationHandler/ScrollRestorationHandler.d.ts +8 -8
- package/ScrollRestorationHandler/ScrollRestorationHandler.js +16 -16
- package/ScrollRestorationHandler/ScrollRestorationHandler.test.js +75 -75
- package/ScrollRestorationHandler/index.d.ts +1 -1
- package/ScrollRestorationHandler/index.js +1 -1
- package/ScrollRestorationHandler/isInIgnoredRouteTypes.d.ts +6 -6
- package/ScrollRestorationHandler/isInIgnoredRouteTypes.js +7 -7
- package/ScrollRestorationHandler/useScrollRestore.d.ts +7 -7
- package/ScrollRestorationHandler/useScrollRestore.js +19 -19
- package/Search/AutocompleteQuery.gql +10 -10
- package/Search/SearchAutoCompleteContainer.d.ts +45 -45
- package/Search/SearchAutoCompleteContainer.js +171 -171
- package/Search/SearchAutoCompleteContainer.test.js +460 -460
- package/Search/SearchField.d.ts +15 -15
- package/Search/SearchField.js +96 -96
- package/Search/SearchPage/PageOf.d.ts +5 -5
- package/Search/SearchPage/PageOf.js +6 -6
- package/Search/SearchPage/SearchMeta.d.ts +16 -16
- package/Search/SearchPage/SearchMeta.js +19 -19
- package/Search/SearchPage/SearchPageBehaviour.d.ts +19 -19
- package/Search/SearchPage/SearchPageBehaviour.js +66 -66
- package/Search/SuggestedTerm.d.ts +16 -16
- package/Search/SuggestedTerm.js +34 -34
- package/Search/index.d.ts +1 -1
- package/Search/index.js +1 -1
- package/Select/Components.d.ts +28 -28
- package/Select/Components.js +90 -90
- package/Select/SelectComponents/Quantity.d.ts +5 -5
- package/Select/SelectComponents/Quantity.js +7 -7
- package/Select/index.d.ts +5 -5
- package/Select/index.js +1 -1
- package/SortOrder/SortOrder.d.ts +16 -16
- package/SortOrder/SortOrder.js +31 -31
- package/SortOrder/SortOrderDropdown.d.ts +9 -9
- package/SortOrder/SortOrderDropdown.js +24 -24
- package/SortOrder/SortOrderList.d.ts +7 -7
- package/SortOrder/SortOrderList.js +16 -16
- package/StartPageRenderer/StartPageRenderer.d.ts +17 -17
- package/StartPageRenderer/StartPageRenderer.js +51 -51
- package/StartPageRenderer/index.d.ts +1 -1
- package/StartPageRenderer/index.js +1 -1
- package/Stock/StockStatusContainer.d.ts +16 -16
- package/Stock/StockStatusContainer.js +39 -39
- package/Stock/__tests__/StockStatusContainer.test.js +65 -65
- package/Text/Text.d.ts +11 -11
- package/Text/Text.js +21 -21
- package/Text/index.d.ts +3 -3
- package/Text/index.js +3 -3
- package/Theme/createTheme.d.ts +16 -16
- package/Theme/createTheme.js +4 -4
- package/Theme/cssReset.d.ts +1 -1
- package/Theme/cssReset.js +159 -159
- package/Theme/normalizeCss.d.ts +1 -1
- package/Theme/normalizeCss.js +356 -356
- package/Theme/sanitizeCss.d.ts +1 -1
- package/Theme/sanitizeCss.js +571 -571
- package/WindowGrid/WindowGrid.d.ts +11 -11
- package/WindowGrid/WindowGrid.js +57 -57
- package/WindowGrid/index.d.ts +1 -1
- package/WindowGrid/index.js +1 -1
- package/WindowGrid/useResizeObserver.d.ts +8 -8
- package/WindowGrid/useResizeObserver.js +13 -13
- package/WindowGrid/useScrollWithWindow.d.ts +12 -12
- package/WindowGrid/useScrollWithWindow.js +38 -38
- package/dependencies.d.ts +98 -98
- package/fuzzySearch/fuzzySearch.d.ts +8 -8
- package/fuzzySearch/fuzzySearch.js +42 -42
- package/fuzzySearch/index.d.ts +1 -1
- package/fuzzySearch/index.js +1 -1
- package/global.d.ts +1 -1
- package/hooks/index.d.ts +2 -2
- package/hooks/index.js +2 -2
- package/hooks/useOnClickOutside.d.ts +6 -6
- package/hooks/useOnClickOutside.js +16 -16
- package/hooks/useOnEsc.d.ts +4 -4
- package/hooks/useOnEsc.js +16 -16
- package/package.json +1 -1
- package/setupTests.js +2 -2
- package/svg/flags/ad.svg +150 -150
- package/svg/flags/ae.svg +6 -6
- package/svg/flags/af.svg +81 -81
- package/svg/flags/ag.svg +14 -14
- package/svg/flags/ai.svg +767 -767
- package/svg/flags/al.svg +5 -5
- package/svg/flags/am.svg +5 -5
- package/svg/flags/ao.svg +13 -13
- package/svg/flags/aq.svg +6 -6
- package/svg/flags/ar.svg +31 -31
- package/svg/flags/as.svg +33 -33
- package/svg/flags/at.svg +6 -6
- package/svg/flags/au.svg +9 -9
- package/svg/flags/aw.svg +186 -186
- package/svg/flags/ax.svg +18 -18
- package/svg/flags/az.svg +8 -8
- package/svg/flags/ba.svg +12 -12
- package/svg/flags/bb.svg +6 -6
- package/svg/flags/bd.svg +4 -4
- package/svg/flags/be.svg +7 -7
- package/svg/flags/bf.svg +7 -7
- package/svg/flags/bg.svg +7 -7
- package/svg/flags/bh.svg +11 -11
- package/svg/flags/bi.svg +15 -15
- package/svg/flags/bj.svg +14 -14
- package/svg/flags/bl.svg +7 -7
- package/svg/flags/bm.svg +98 -98
- package/svg/flags/bn.svg +36 -36
- package/svg/flags/bo.svg +676 -676
- package/svg/flags/bq.svg +5 -5
- package/svg/flags/br.svg +45 -45
- package/svg/flags/bs.svg +13 -13
- package/svg/flags/bt.svg +89 -89
- package/svg/flags/bv.svg +13 -13
- package/svg/flags/bw.svg +7 -7
- package/svg/flags/by.svg +20 -20
- package/svg/flags/bz.svg +145 -145
- package/svg/flags/ca.svg +4 -4
- package/svg/flags/cc.svg +19 -19
- package/svg/flags/cd.svg +5 -5
- package/svg/flags/cf.svg +15 -15
- package/svg/flags/cg.svg +12 -12
- package/svg/flags/ch.svg +9 -9
- package/svg/flags/ci.svg +7 -7
- package/svg/flags/ck.svg +9 -9
- package/svg/flags/cl.svg +13 -13
- package/svg/flags/cm.svg +15 -15
- package/svg/flags/cn.svg +11 -11
- package/svg/flags/co.svg +7 -7
- package/svg/flags/cr.svg +7 -7
- package/svg/flags/cu.svg +13 -13
- package/svg/flags/cv.svg +13 -13
- package/svg/flags/cw.svg +14 -14
- package/svg/flags/cx.svg +15 -15
- package/svg/flags/cy.svg +6 -6
- package/svg/flags/cz.svg +12 -12
- package/svg/flags/de.svg +5 -5
- package/svg/flags/dj.svg +13 -13
- package/svg/flags/dk.svg +5 -5
- package/svg/flags/dm.svg +152 -152
- package/svg/flags/do.svg +6745 -6745
- package/svg/flags/dz.svg +5 -5
- package/svg/flags/ec.svg +138 -138
- package/svg/flags/ee.svg +7 -7
- package/svg/flags/eg.svg +38 -38
- package/svg/flags/eh.svg +15 -15
- package/svg/flags/er.svg +8 -8
- package/svg/flags/es-ct.svg +4 -4
- package/svg/flags/es.svg +544 -544
- package/svg/flags/et.svg +14 -14
- package/svg/flags/eu.svg +28 -28
- package/svg/flags/fi.svg +5 -5
- package/svg/flags/fj.svg +120 -120
- package/svg/flags/fk.svg +89 -89
- package/svg/flags/fm.svg +11 -11
- package/svg/flags/fo.svg +12 -12
- package/svg/flags/fr.svg +7 -7
- package/svg/flags/ga.svg +7 -7
- package/svg/flags/gb-eng.svg +5 -5
- package/svg/flags/gb-nir.svg +131 -131
- package/svg/flags/gb-sct.svg +4 -4
- package/svg/flags/gb-wls.svg +9 -9
- package/svg/flags/gb.svg +15 -15
- package/svg/flags/gd.svg +27 -27
- package/svg/flags/ge.svg +6 -6
- package/svg/flags/gf.svg +5 -5
- package/svg/flags/gg.svg +9 -9
- package/svg/flags/gh.svg +6 -6
- package/svg/flags/gi.svg +32 -32
- package/svg/flags/gl.svg +4 -4
- package/svg/flags/gm.svg +14 -14
- package/svg/flags/gn.svg +7 -7
- package/svg/flags/gp.svg +7 -7
- package/svg/flags/gq.svg +23 -23
- package/svg/flags/gr.svg +22 -22
- package/svg/flags/gs.svg +201 -201
- package/svg/flags/gt.svg +204 -204
- package/svg/flags/gu.svg +39 -39
- package/svg/flags/gw.svg +13 -13
- package/svg/flags/gy.svg +9 -9
- package/svg/flags/hk.svg +30 -30
- package/svg/flags/hm.svg +9 -9
- package/svg/flags/hn.svg +18 -18
- package/svg/flags/hr.svg +58 -58
- package/svg/flags/ht.svg +116 -116
- package/svg/flags/hu.svg +7 -7
- package/svg/flags/id.svg +6 -6
- package/svg/flags/ie.svg +7 -7
- package/svg/flags/il.svg +14 -14
- package/svg/flags/im.svg +36 -36
- package/svg/flags/in.svg +25 -25
- package/svg/flags/io.svg +138 -138
- package/svg/flags/iq.svg +10 -10
- package/svg/flags/ir.svg +219 -219
- package/svg/flags/is.svg +12 -12
- package/svg/flags/it.svg +7 -7
- package/svg/flags/je.svg +31 -31
- package/svg/flags/jm.svg +8 -8
- package/svg/flags/jo.svg +16 -16
- package/svg/flags/jp.svg +11 -11
- package/svg/flags/ke.svg +23 -23
- package/svg/flags/kg.svg +15 -15
- package/svg/flags/kh.svg +61 -61
- package/svg/flags/ki.svg +36 -36
- package/svg/flags/km.svg +16 -16
- package/svg/flags/kn.svg +14 -14
- package/svg/flags/kp.svg +15 -15
- package/svg/flags/kr.svg +24 -24
- package/svg/flags/kw.svg +13 -13
- package/svg/flags/ky.svg +63 -63
- package/svg/flags/kz.svg +23 -23
- package/svg/flags/la.svg +12 -12
- package/svg/flags/lb.svg +15 -15
- package/svg/flags/lc.svg +8 -8
- package/svg/flags/li.svg +43 -43
- package/svg/flags/lk.svg +22 -22
- package/svg/flags/lr.svg +14 -14
- package/svg/flags/ls.svg +8 -8
- package/svg/flags/lt.svg +7 -7
- package/svg/flags/lu.svg +5 -5
- package/svg/flags/lv.svg +6 -6
- package/svg/flags/ly.svg +13 -13
- package/svg/flags/ma.svg +4 -4
- package/svg/flags/mc.svg +6 -6
- package/svg/flags/md.svg +70 -70
- package/svg/flags/me.svg +116 -116
- package/svg/flags/mf.svg +7 -7
- package/svg/flags/mg.svg +7 -7
- package/svg/flags/mh.svg +7 -7
- package/svg/flags/mk.svg +5 -5
- package/svg/flags/ml.svg +7 -7
- package/svg/flags/mm.svg +16 -16
- package/svg/flags/mn.svg +13 -13
- package/svg/flags/mo.svg +9 -9
- package/svg/flags/mp.svg +86 -86
- package/svg/flags/mq.svg +7 -7
- package/svg/flags/mr.svg +6 -6
- package/svg/flags/ms.svg +39 -39
- package/svg/flags/mt.svg +49 -49
- package/svg/flags/mu.svg +8 -8
- package/svg/flags/mv.svg +6 -6
- package/svg/flags/mw.svg +10 -10
- package/svg/flags/mx.svg +382 -382
- package/svg/flags/my.svg +15 -15
- package/svg/flags/mz.svg +21 -21
- package/svg/flags/na.svg +16 -16
- package/svg/flags/nc.svg +7 -7
- package/svg/flags/ne.svg +6 -6
- package/svg/flags/nf.svg +9 -9
- package/svg/flags/ng.svg +6 -6
- package/svg/flags/ni.svg +129 -129
- package/svg/flags/nl.svg +7 -7
- package/svg/flags/no.svg +7 -7
- package/svg/flags/np.svg +14 -14
- package/svg/flags/nr.svg +12 -12
- package/svg/flags/nu.svg +26 -26
- package/svg/flags/nz.svg +41 -41
- package/svg/flags/om.svg +115 -115
- package/svg/flags/pa.svg +14 -14
- package/svg/flags/pe.svg +244 -244
- package/svg/flags/pf.svg +19 -19
- package/svg/flags/pg.svg +9 -9
- package/svg/flags/ph.svg +13 -13
- package/svg/flags/pk.svg +15 -15
- package/svg/flags/pl.svg +6 -6
- package/svg/flags/pm.svg +7 -7
- package/svg/flags/pn.svg +62 -62
- package/svg/flags/pr.svg +13 -13
- package/svg/flags/ps.svg +15 -15
- package/svg/flags/pt.svg +57 -57
- package/svg/flags/pw.svg +11 -11
- package/svg/flags/py.svg +157 -157
- package/svg/flags/qa.svg +4 -4
- package/svg/flags/re.svg +7 -7
- package/svg/flags/ro.svg +7 -7
- package/svg/flags/rs.svg +292 -292
- package/svg/flags/ru.svg +7 -7
- package/svg/flags/rw.svg +13 -13
- package/svg/flags/sa.svg +26 -26
- package/svg/flags/sb.svg +13 -13
- package/svg/flags/sc.svg +14 -14
- package/svg/flags/sd.svg +13 -13
- package/svg/flags/se.svg +16 -16
- package/svg/flags/sg.svg +13 -13
- package/svg/flags/sh.svg +74 -74
- package/svg/flags/si.svg +18 -18
- package/svg/flags/sj.svg +7 -7
- package/svg/flags/sk.svg +9 -9
- package/svg/flags/sl.svg +7 -7
- package/svg/flags/sm.svg +91 -91
- package/svg/flags/sn.svg +8 -8
- package/svg/flags/so.svg +11 -11
- package/svg/flags/sr.svg +6 -6
- package/svg/flags/ss.svg +8 -8
- package/svg/flags/st.svg +16 -16
- package/svg/flags/sv.svg +606 -606
- package/svg/flags/sx.svg +56 -56
- package/svg/flags/sy.svg +6 -6
- package/svg/flags/sz.svg +45 -45
- package/svg/flags/tc.svg +67 -67
- package/svg/flags/td.svg +7 -7
- package/svg/flags/tf.svg +15 -15
- package/svg/flags/tg.svg +14 -14
- package/svg/flags/th.svg +7 -7
- package/svg/flags/tj.svg +22 -22
- package/svg/flags/tk.svg +5 -5
- package/svg/flags/tl.svg +13 -13
- package/svg/flags/tm.svg +206 -206
- package/svg/flags/tn.svg +13 -13
- package/svg/flags/to.svg +10 -10
- package/svg/flags/tr.svg +8 -8
- package/svg/flags/tt.svg +5 -5
- package/svg/flags/tv.svg +27 -27
- package/svg/flags/tw.svg +14 -14
- package/svg/flags/tz.svg +13 -13
- package/svg/flags/ua.svg +6 -6
- package/svg/flags/ug.svg +30 -30
- package/svg/flags/um.svg +15 -15
- package/svg/flags/un.svg +16 -16
- package/svg/flags/us.svg +10 -10
- package/svg/flags/uy.svg +28 -28
- package/svg/flags/uz.svg +30 -30
- package/svg/flags/va.svg +479 -479
- package/svg/flags/vc.svg +8 -8
- package/svg/flags/ve.svg +26 -26
- package/svg/flags/vg.svg +127 -127
- package/svg/flags/vi.svg +28 -28
- package/svg/flags/vn.svg +11 -11
- package/svg/flags/vu.svg +18 -18
- package/svg/flags/wf.svg +7 -7
- package/svg/flags/ws.svg +7 -7
- package/svg/flags/ye.svg +7 -7
- package/svg/flags/yt.svg +7 -7
- package/svg/flags/za.svg +17 -17
- package/svg/flags/zm.svg +27 -27
- package/svg/flags/zw.svg +21 -21
- package/test-utils/mock-response/product-status.js +44 -44
- package/utils/breakpoints.d.ts +23 -23
- package/utils/breakpoints.js +89 -89
- package/utils/callAllEventHandlers.d.ts +5 -5
- package/utils/callAllEventHandlers.js +8 -8
- package/utils/text.d.ts +1 -1
- package/utils/text.js +22 -22
- package/utils/theme.d.ts +3 -3
- package/utils/theme.js +4 -4
- package/utils/useHoverIntent.d.ts +10 -10
- package/utils/useHoverIntent.js +77 -77
- package/utils/usePropsOfType.d.ts +11 -11
- package/utils/usePropsOfType.js +17 -17
- package/withFlightUI.d.ts +17 -17
- package/withFlightUI.js +19 -19
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import ModalProvider from './ModalProvider';
|
|
3
|
-
|
|
4
|
-
xdescribe('ModalProvider', () => {
|
|
5
|
-
it('renders', () => {
|
|
6
|
-
const wrapper = shallow(<ModalProvider />);
|
|
7
|
-
expect(wrapper).toBeDefined();
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
it('renders its children', () => {
|
|
11
|
-
const Child = jest.fn().mockReturnValue(<div />);
|
|
12
|
-
const wrapper = shallow(
|
|
13
|
-
<ModalProvider>
|
|
14
|
-
<Child />
|
|
15
|
-
</ModalProvider>
|
|
16
|
-
);
|
|
17
|
-
expect(wrapper.find(Child).length).toBe(1);
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
describe("rendered Provider's `value` prop", () => {
|
|
21
|
-
it('mirrors the component state', () => {
|
|
22
|
-
const wrapper = shallow(<ModalProvider />);
|
|
23
|
-
expect(wrapper.prop('value')).toEqual(wrapper.instance().initialState);
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
});
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import ModalProvider from './ModalProvider';
|
|
3
|
+
|
|
4
|
+
xdescribe('ModalProvider', () => {
|
|
5
|
+
it('renders', () => {
|
|
6
|
+
const wrapper = shallow(<ModalProvider />);
|
|
7
|
+
expect(wrapper).toBeDefined();
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
it('renders its children', () => {
|
|
11
|
+
const Child = jest.fn().mockReturnValue(<div />);
|
|
12
|
+
const wrapper = shallow(
|
|
13
|
+
<ModalProvider>
|
|
14
|
+
<Child />
|
|
15
|
+
</ModalProvider>
|
|
16
|
+
);
|
|
17
|
+
expect(wrapper.find(Child).length).toBe(1);
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
describe("rendered Provider's `value` prop", () => {
|
|
21
|
+
it('mirrors the component state', () => {
|
|
22
|
+
const wrapper = shallow(<ModalProvider />);
|
|
23
|
+
expect(wrapper.prop('value')).toEqual(wrapper.instance().initialState);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
});
|
package/Modal/ModalRoot.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
declare const ModalRoot: () => JSX.Element;
|
|
3
|
-
export default ModalRoot;
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare const ModalRoot: () => JSX.Element;
|
|
3
|
+
export default ModalRoot;
|
package/Modal/ModalRoot.js
CHANGED
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import ModalContext from './ModalContext';
|
|
3
|
-
import ReactModal from 'react-modal';
|
|
4
|
-
import { styled } from 'linaria/react';
|
|
5
|
-
const Cover = styled('div') `
|
|
6
|
-
position: fixed;
|
|
7
|
-
z-index: 3;
|
|
8
|
-
top: 0;
|
|
9
|
-
left: 0;
|
|
10
|
-
bottom: 0;
|
|
11
|
-
right: 0;
|
|
12
|
-
background: rgba(0, 0, 0, 0.2);
|
|
13
|
-
`;
|
|
14
|
-
Cover.displayName = 'Cover';
|
|
15
|
-
const ModalRoot = () => {
|
|
16
|
-
const { modals } = React.useContext(ModalContext);
|
|
17
|
-
return (React.createElement(React.Fragment, null, modals.map((modalProps) => (React.createElement(Modal, Object.assign({ key: modalProps.modalId }, modalProps))))));
|
|
18
|
-
};
|
|
19
|
-
const Modal = ({ modalComponent, isOpen, modalType, hideTarget, props }) => {
|
|
20
|
-
/** Do not render anything if there is no active modal */
|
|
21
|
-
if (!isOpen)
|
|
22
|
-
return null;
|
|
23
|
-
const Component = modalComponent;
|
|
24
|
-
if (Component && isOpen && modalType === 'modal') {
|
|
25
|
-
/** A modal has been requested, from somewhere in the app */
|
|
26
|
-
return (React.createElement(ReactModal, Object.assign({ className: props.modalStyles }, props.modalProps, {
|
|
27
|
-
/** isOpen should always be true here, since this is only rendered when a modal is requested */
|
|
28
|
-
isOpen: true,
|
|
29
|
-
/**
|
|
30
|
-
* react-modal requires an onRequestClose prop that takes a func to call when the modal is closed
|
|
31
|
-
* We use this to make sure the context is updated
|
|
32
|
-
*/
|
|
33
|
-
onRequestClose: hideTarget }),
|
|
34
|
-
React.createElement(Component, Object.assign({ hideTarget: hideTarget }, props))));
|
|
35
|
-
}
|
|
36
|
-
if (isOpen && props.showCover) {
|
|
37
|
-
const coverStyles = props === null || props === void 0 ? void 0 : props.coverStyles;
|
|
38
|
-
/** Inject a clickable 'cover' behind flyouts */
|
|
39
|
-
return React.createElement(Cover, { onClick: hideTarget, style: coverStyles });
|
|
40
|
-
}
|
|
41
|
-
return null;
|
|
42
|
-
};
|
|
43
|
-
export default ModalRoot;
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import ModalContext from './ModalContext';
|
|
3
|
+
import ReactModal from 'react-modal';
|
|
4
|
+
import { styled } from 'linaria/react';
|
|
5
|
+
const Cover = styled('div') `
|
|
6
|
+
position: fixed;
|
|
7
|
+
z-index: 3;
|
|
8
|
+
top: 0;
|
|
9
|
+
left: 0;
|
|
10
|
+
bottom: 0;
|
|
11
|
+
right: 0;
|
|
12
|
+
background: rgba(0, 0, 0, 0.2);
|
|
13
|
+
`;
|
|
14
|
+
Cover.displayName = 'Cover';
|
|
15
|
+
const ModalRoot = () => {
|
|
16
|
+
const { modals } = React.useContext(ModalContext);
|
|
17
|
+
return (React.createElement(React.Fragment, null, modals.map((modalProps) => (React.createElement(Modal, Object.assign({ key: modalProps.modalId }, modalProps))))));
|
|
18
|
+
};
|
|
19
|
+
const Modal = ({ modalComponent, isOpen, modalType, hideTarget, props }) => {
|
|
20
|
+
/** Do not render anything if there is no active modal */
|
|
21
|
+
if (!isOpen)
|
|
22
|
+
return null;
|
|
23
|
+
const Component = modalComponent;
|
|
24
|
+
if (Component && isOpen && modalType === 'modal') {
|
|
25
|
+
/** A modal has been requested, from somewhere in the app */
|
|
26
|
+
return (React.createElement(ReactModal, Object.assign({ className: props.modalStyles }, props.modalProps, {
|
|
27
|
+
/** isOpen should always be true here, since this is only rendered when a modal is requested */
|
|
28
|
+
isOpen: true,
|
|
29
|
+
/**
|
|
30
|
+
* react-modal requires an onRequestClose prop that takes a func to call when the modal is closed
|
|
31
|
+
* We use this to make sure the context is updated
|
|
32
|
+
*/
|
|
33
|
+
onRequestClose: hideTarget }),
|
|
34
|
+
React.createElement(Component, Object.assign({ hideTarget: hideTarget }, props))));
|
|
35
|
+
}
|
|
36
|
+
if (isOpen && props.showCover) {
|
|
37
|
+
const coverStyles = props === null || props === void 0 ? void 0 : props.coverStyles;
|
|
38
|
+
/** Inject a clickable 'cover' behind flyouts */
|
|
39
|
+
return React.createElement(Cover, { onClick: hideTarget, style: coverStyles });
|
|
40
|
+
}
|
|
41
|
+
return null;
|
|
42
|
+
};
|
|
43
|
+
export default ModalRoot;
|
|
44
44
|
//# sourceMappingURL=ModalRoot.js.map
|
package/Modal/ModalRoot.test.js
CHANGED
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import getComponentWithModalContext, {
|
|
3
|
-
defaultContext
|
|
4
|
-
} from './__test_utils__/getComponentWithModalContext';
|
|
5
|
-
|
|
6
|
-
beforeEach(() => {
|
|
7
|
-
jest.resetModules();
|
|
8
|
-
});
|
|
9
|
-
|
|
10
|
-
const modalRoot = getComponentWithModalContext('ModalRoot');
|
|
11
|
-
|
|
12
|
-
xdescribe('ModalRoot', () => {
|
|
13
|
-
let funcAsChild = jest.fn().mockReturnValue(<div />);
|
|
14
|
-
|
|
15
|
-
it('always renders a Consumer with no children', () => {
|
|
16
|
-
const ModalRoot = modalRoot();
|
|
17
|
-
const wrapper = mount(<ModalRoot>{funcAsChild}</ModalRoot>);
|
|
18
|
-
expect(wrapper.find('Consumer')).toHaveLength(1);
|
|
19
|
-
expect(wrapper.find('Consumer').children()).toHaveLength(0);
|
|
20
|
-
expect(wrapper.find('Modal')).toHaveLength(0);
|
|
21
|
-
expect(wrapper.find('Cover')).toHaveLength(0);
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
it('renders a `Modal` when Component, isOpen and modalType is `modal`', () => {
|
|
25
|
-
const Comp = () => <div>Component being rendered inside Modal</div>;
|
|
26
|
-
const ModalRoot = modalRoot({
|
|
27
|
-
modals: [
|
|
28
|
-
{
|
|
29
|
-
modalComponent: Comp,
|
|
30
|
-
isOpen: true,
|
|
31
|
-
modalType: 'modal'
|
|
32
|
-
}
|
|
33
|
-
]
|
|
34
|
-
});
|
|
35
|
-
const wrapper = mount(<ModalRoot>{funcAsChild}</ModalRoot>);
|
|
36
|
-
expect(wrapper.find('Modal')).toHaveLength(1);
|
|
37
|
-
expect(wrapper.text()).toContain('Component being rendered');
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
it('renders a `Cover` when isOpen is true, modalType is `flyout` and props.showCover is true', () => {
|
|
41
|
-
const hideTarget = jest.fn();
|
|
42
|
-
|
|
43
|
-
const ModalRoot = modalRoot({
|
|
44
|
-
modals: [
|
|
45
|
-
{
|
|
46
|
-
hideTarget: hideTarget,
|
|
47
|
-
isOpen: true,
|
|
48
|
-
modalType: 'flyout',
|
|
49
|
-
props: { showCover: true }
|
|
50
|
-
}
|
|
51
|
-
]
|
|
52
|
-
});
|
|
53
|
-
const wrapper = mount(<ModalRoot>{funcAsChild}</ModalRoot>);
|
|
54
|
-
const Cover = wrapper.find('Cover');
|
|
55
|
-
|
|
56
|
-
expect(Cover).toHaveLength(1);
|
|
57
|
-
expect(Cover.prop('onClick')).toBe(hideTarget);
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
it('renders multiple `Modal` when Component, isOpen and modalType is `modal`', () => {
|
|
61
|
-
const Comp = () => <div>Component being rendered inside Modal</div>;
|
|
62
|
-
const ModalRoot = modalRoot({
|
|
63
|
-
modals: [
|
|
64
|
-
{
|
|
65
|
-
modalComponent: Comp,
|
|
66
|
-
isOpen: true,
|
|
67
|
-
modalType: 'modal'
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
modalComponent: Comp,
|
|
71
|
-
isOpen: true,
|
|
72
|
-
modalType: 'modal'
|
|
73
|
-
}
|
|
74
|
-
]
|
|
75
|
-
});
|
|
76
|
-
const wrapper = mount(<ModalRoot>{funcAsChild}</ModalRoot>);
|
|
77
|
-
expect(wrapper.find('Modal')).toHaveLength(2);
|
|
78
|
-
expect(wrapper.text()).toContain('Component being rendered');
|
|
79
|
-
});
|
|
80
|
-
});
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import getComponentWithModalContext, {
|
|
3
|
+
defaultContext
|
|
4
|
+
} from './__test_utils__/getComponentWithModalContext';
|
|
5
|
+
|
|
6
|
+
beforeEach(() => {
|
|
7
|
+
jest.resetModules();
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
const modalRoot = getComponentWithModalContext('ModalRoot');
|
|
11
|
+
|
|
12
|
+
xdescribe('ModalRoot', () => {
|
|
13
|
+
let funcAsChild = jest.fn().mockReturnValue(<div />);
|
|
14
|
+
|
|
15
|
+
it('always renders a Consumer with no children', () => {
|
|
16
|
+
const ModalRoot = modalRoot();
|
|
17
|
+
const wrapper = mount(<ModalRoot>{funcAsChild}</ModalRoot>);
|
|
18
|
+
expect(wrapper.find('Consumer')).toHaveLength(1);
|
|
19
|
+
expect(wrapper.find('Consumer').children()).toHaveLength(0);
|
|
20
|
+
expect(wrapper.find('Modal')).toHaveLength(0);
|
|
21
|
+
expect(wrapper.find('Cover')).toHaveLength(0);
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
it('renders a `Modal` when Component, isOpen and modalType is `modal`', () => {
|
|
25
|
+
const Comp = () => <div>Component being rendered inside Modal</div>;
|
|
26
|
+
const ModalRoot = modalRoot({
|
|
27
|
+
modals: [
|
|
28
|
+
{
|
|
29
|
+
modalComponent: Comp,
|
|
30
|
+
isOpen: true,
|
|
31
|
+
modalType: 'modal'
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
});
|
|
35
|
+
const wrapper = mount(<ModalRoot>{funcAsChild}</ModalRoot>);
|
|
36
|
+
expect(wrapper.find('Modal')).toHaveLength(1);
|
|
37
|
+
expect(wrapper.text()).toContain('Component being rendered');
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
it('renders a `Cover` when isOpen is true, modalType is `flyout` and props.showCover is true', () => {
|
|
41
|
+
const hideTarget = jest.fn();
|
|
42
|
+
|
|
43
|
+
const ModalRoot = modalRoot({
|
|
44
|
+
modals: [
|
|
45
|
+
{
|
|
46
|
+
hideTarget: hideTarget,
|
|
47
|
+
isOpen: true,
|
|
48
|
+
modalType: 'flyout',
|
|
49
|
+
props: { showCover: true }
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
});
|
|
53
|
+
const wrapper = mount(<ModalRoot>{funcAsChild}</ModalRoot>);
|
|
54
|
+
const Cover = wrapper.find('Cover');
|
|
55
|
+
|
|
56
|
+
expect(Cover).toHaveLength(1);
|
|
57
|
+
expect(Cover.prop('onClick')).toBe(hideTarget);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
it('renders multiple `Modal` when Component, isOpen and modalType is `modal`', () => {
|
|
61
|
+
const Comp = () => <div>Component being rendered inside Modal</div>;
|
|
62
|
+
const ModalRoot = modalRoot({
|
|
63
|
+
modals: [
|
|
64
|
+
{
|
|
65
|
+
modalComponent: Comp,
|
|
66
|
+
isOpen: true,
|
|
67
|
+
modalType: 'modal'
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
modalComponent: Comp,
|
|
71
|
+
isOpen: true,
|
|
72
|
+
modalType: 'modal'
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
});
|
|
76
|
+
const wrapper = mount(<ModalRoot>{funcAsChild}</ModalRoot>);
|
|
77
|
+
expect(wrapper.find('Modal')).toHaveLength(2);
|
|
78
|
+
expect(wrapper.text()).toContain('Component being rendered');
|
|
79
|
+
});
|
|
80
|
+
});
|
package/Modal/ModalTrigger.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { ModalState } from './ModalContext';
|
|
3
|
-
export declare const ModalTrigger: React.SFC<{
|
|
4
|
-
/** The React component that you would like to display inside the modal */
|
|
5
|
-
target: React.ReactNode;
|
|
6
|
-
/** Style to apply to the modal itself */
|
|
7
|
-
modalStyles?: {};
|
|
8
|
-
children: (args: Partial<ModalState>) => React.ReactNode;
|
|
9
|
-
}>;
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ModalState } from './ModalContext';
|
|
3
|
+
export declare const ModalTrigger: React.SFC<{
|
|
4
|
+
/** The React component that you would like to display inside the modal */
|
|
5
|
+
target: React.ReactNode;
|
|
6
|
+
/** Style to apply to the modal itself */
|
|
7
|
+
modalStyles?: {};
|
|
8
|
+
children: (args: Partial<ModalState>) => React.ReactNode;
|
|
9
|
+
}>;
|
package/Modal/ModalTrigger.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import ModalContext from './ModalContext';
|
|
3
|
-
export const ModalTrigger = ({ target, children, modalStyles }) => {
|
|
4
|
-
return (React.createElement(ModalContext.Consumer, null, ({ showTarget, hideTarget }) => {
|
|
5
|
-
const show = () => showTarget(target, 'modal', null, { hideTarget, modalStyles });
|
|
6
|
-
return children({ showTarget: show });
|
|
7
|
-
}));
|
|
8
|
-
};
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import ModalContext from './ModalContext';
|
|
3
|
+
export const ModalTrigger = ({ target, children, modalStyles }) => {
|
|
4
|
+
return (React.createElement(ModalContext.Consumer, null, ({ showTarget, hideTarget }) => {
|
|
5
|
+
const show = () => showTarget(target, 'modal', null, { hideTarget, modalStyles });
|
|
6
|
+
return children({ showTarget: show });
|
|
7
|
+
}));
|
|
8
|
+
};
|
|
9
9
|
//# sourceMappingURL=ModalTrigger.js.map
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
export const defaultContext = {
|
|
2
|
-
modals: [],
|
|
3
|
-
showTarget: jest.fn(),
|
|
4
|
-
hideTarget: jest.fn()
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @param {string} targetPath Path to the component that uses the Consumer, relative to `/Modal`
|
|
9
|
-
* @param {string} moduleToExport The named module to export. Assumes default if not provided.
|
|
10
|
-
*/
|
|
11
|
-
const getComponentWithModalContext = (targetPath, moduleToExport = null) => {
|
|
12
|
-
return (context = defaultContext) => {
|
|
13
|
-
// Mock out ModalContext Consumer (used by all modals)
|
|
14
|
-
jest.doMock('../ModalContext', () => {
|
|
15
|
-
return {
|
|
16
|
-
Consumer: (props) => props.children(context)
|
|
17
|
-
};
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
// return the updated target module that now includes the mocked context
|
|
21
|
-
if (moduleToExport) {
|
|
22
|
-
return require(`../${targetPath}`)[moduleToExport];
|
|
23
|
-
} else {
|
|
24
|
-
return require(`../${targetPath}`).default;
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export default getComponentWithModalContext;
|
|
1
|
+
export const defaultContext = {
|
|
2
|
+
modals: [],
|
|
3
|
+
showTarget: jest.fn(),
|
|
4
|
+
hideTarget: jest.fn()
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @param {string} targetPath Path to the component that uses the Consumer, relative to `/Modal`
|
|
9
|
+
* @param {string} moduleToExport The named module to export. Assumes default if not provided.
|
|
10
|
+
*/
|
|
11
|
+
const getComponentWithModalContext = (targetPath, moduleToExport = null) => {
|
|
12
|
+
return (context = defaultContext) => {
|
|
13
|
+
// Mock out ModalContext Consumer (used by all modals)
|
|
14
|
+
jest.doMock('../ModalContext', () => {
|
|
15
|
+
return {
|
|
16
|
+
Consumer: (props) => props.children(context)
|
|
17
|
+
};
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
// return the updated target module that now includes the mocked context
|
|
21
|
+
if (moduleToExport) {
|
|
22
|
+
return require(`../${targetPath}`)[moduleToExport];
|
|
23
|
+
} else {
|
|
24
|
+
return require(`../${targetPath}`).default;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export default getComponentWithModalContext;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { PaginationBehaviourRenderProps } from '@jetshop/ui/Pagination/PaginationBehaviour';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
export declare const PaginationWrapper: import("linaria/lib/StyledMeta").StyledMeta & React.FunctionComponent<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
4
|
-
as?: React.ElementType<any>;
|
|
5
|
-
}>;
|
|
6
|
-
declare const Pagination: React.SFC<PaginationBehaviourRenderProps>;
|
|
7
|
-
export default Pagination;
|
|
1
|
+
import { PaginationBehaviourRenderProps } from '@jetshop/ui/Pagination/PaginationBehaviour';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
export declare const PaginationWrapper: import("linaria/lib/StyledMeta").StyledMeta & React.FunctionComponent<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
|
|
4
|
+
as?: React.ElementType<any>;
|
|
5
|
+
}>;
|
|
6
|
+
declare const Pagination: React.SFC<PaginationBehaviourRenderProps>;
|
|
7
|
+
export default Pagination;
|
package/Pagination/Pagination.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import formatMessage from '@jetshop/intl';
|
|
2
|
-
import { styled } from 'linaria/react';
|
|
3
|
-
import * as React from 'react';
|
|
4
|
-
import usePagination from './usePagination';
|
|
5
|
-
export const PaginationWrapper = styled('div') `
|
|
6
|
-
display: flex;
|
|
7
|
-
width: 100%;
|
|
8
|
-
justify-content: space-between;
|
|
9
|
-
align-items: center;
|
|
10
|
-
`;
|
|
11
|
-
const Pagination = (props) => {
|
|
12
|
-
const { hasPages, totalPages, className, currentPage } = props;
|
|
13
|
-
const { prevHref, nextHref, prevOnClick, nextOnClick, isPrevDisabled, isNextDisabled } = usePagination(props);
|
|
14
|
-
return hasPages && !isNaN(totalPages) ? (React.createElement(PaginationWrapper, { className: className },
|
|
15
|
-
React.createElement("a", { href: prevHref, onClick: prevOnClick, "data-disabled": isPrevDisabled }, formatMessage('Prev')),
|
|
16
|
-
React.createElement("div", null, formatMessage(`Page {currentPage} of {totalPages}`, {
|
|
17
|
-
currentPage,
|
|
18
|
-
totalPages
|
|
19
|
-
})),
|
|
20
|
-
React.createElement("a", { href: nextHref, onClick: nextOnClick, "data-disabled": isNextDisabled }, formatMessage('Next')))) : null;
|
|
21
|
-
};
|
|
22
|
-
export default Pagination;
|
|
1
|
+
import formatMessage from '@jetshop/intl';
|
|
2
|
+
import { styled } from 'linaria/react';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import usePagination from './usePagination';
|
|
5
|
+
export const PaginationWrapper = styled('div') `
|
|
6
|
+
display: flex;
|
|
7
|
+
width: 100%;
|
|
8
|
+
justify-content: space-between;
|
|
9
|
+
align-items: center;
|
|
10
|
+
`;
|
|
11
|
+
const Pagination = (props) => {
|
|
12
|
+
const { hasPages, totalPages, className, currentPage } = props;
|
|
13
|
+
const { prevHref, nextHref, prevOnClick, nextOnClick, isPrevDisabled, isNextDisabled } = usePagination(props);
|
|
14
|
+
return hasPages && !isNaN(totalPages) ? (React.createElement(PaginationWrapper, { className: className },
|
|
15
|
+
React.createElement("a", { href: prevHref, onClick: prevOnClick, "data-disabled": isPrevDisabled }, formatMessage('Prev')),
|
|
16
|
+
React.createElement("div", null, formatMessage(`Page {currentPage} of {totalPages}`, {
|
|
17
|
+
currentPage,
|
|
18
|
+
totalPages
|
|
19
|
+
})),
|
|
20
|
+
React.createElement("a", { href: nextHref, onClick: nextOnClick, "data-disabled": isNextDisabled }, formatMessage('Next')))) : null;
|
|
21
|
+
};
|
|
22
|
+
export default Pagination;
|
|
23
23
|
//# sourceMappingURL=Pagination.js.map
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
import { PaginationState } from '@jetshop/core/components/Pagination/PaginationContext';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
export interface PaginationProps extends PaginationState {
|
|
4
|
-
total: number;
|
|
5
|
-
children(props: PaginationBehaviourRenderProps): React.ReactNode;
|
|
6
|
-
}
|
|
7
|
-
export interface TotalPagesState {
|
|
8
|
-
totalPages: number;
|
|
9
|
-
}
|
|
10
|
-
export interface PaginationBehaviourRenderProps {
|
|
11
|
-
/** The total number of items */
|
|
12
|
-
totalItems: number;
|
|
13
|
-
/** The total number of pages */
|
|
14
|
-
totalPages: number;
|
|
15
|
-
/** The current page number */
|
|
16
|
-
currentPage: number;
|
|
17
|
-
/** Navigate to the next page */
|
|
18
|
-
nextPage: () => void;
|
|
19
|
-
/** Navigate to the previous page */
|
|
20
|
-
prevPage: () => void;
|
|
21
|
-
/** Navigate to given page number */
|
|
22
|
-
goToPage: (page: number) => void;
|
|
23
|
-
setProductsPerPage: (perPage: number) => void;
|
|
24
|
-
/** Whether the current page is the first */
|
|
25
|
-
isFirstPage: boolean;
|
|
26
|
-
/** Whether the current page is the last */
|
|
27
|
-
isLastPage: boolean;
|
|
28
|
-
/** Whether there are pages to render */
|
|
29
|
-
hasPages: boolean;
|
|
30
|
-
className?: string;
|
|
31
|
-
}
|
|
32
|
-
export default class PaginationBehaviour extends React.Component<PaginationProps, TotalPagesState> {
|
|
33
|
-
constructor(props: PaginationProps);
|
|
34
|
-
componentDidMount(): void;
|
|
35
|
-
componentDidUpdate(prevProps: PaginationProps): void;
|
|
36
|
-
setTotalPages: () => number;
|
|
37
|
-
nextPage: () => void;
|
|
38
|
-
prevPage: () => void;
|
|
39
|
-
getStateAndProps: () => {
|
|
40
|
-
totalItems: number;
|
|
41
|
-
totalPages: number;
|
|
42
|
-
currentPage: number;
|
|
43
|
-
prevPage: () => void;
|
|
44
|
-
nextPage: () => void;
|
|
45
|
-
goToPage: (page: number, options?: import("@jetshop/core/components/Pagination/PaginationContext").GoToPageOptions) => void;
|
|
46
|
-
setProductsPerPage: (perPage: number) => void;
|
|
47
|
-
isFirstPage: boolean;
|
|
48
|
-
isLastPage: boolean;
|
|
49
|
-
hasPages: boolean;
|
|
50
|
-
};
|
|
51
|
-
render(): React.ReactNode;
|
|
52
|
-
}
|
|
1
|
+
import { PaginationState } from '@jetshop/core/components/Pagination/PaginationContext';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export interface PaginationProps extends PaginationState {
|
|
4
|
+
total: number;
|
|
5
|
+
children(props: PaginationBehaviourRenderProps): React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export interface TotalPagesState {
|
|
8
|
+
totalPages: number;
|
|
9
|
+
}
|
|
10
|
+
export interface PaginationBehaviourRenderProps {
|
|
11
|
+
/** The total number of items */
|
|
12
|
+
totalItems: number;
|
|
13
|
+
/** The total number of pages */
|
|
14
|
+
totalPages: number;
|
|
15
|
+
/** The current page number */
|
|
16
|
+
currentPage: number;
|
|
17
|
+
/** Navigate to the next page */
|
|
18
|
+
nextPage: () => void;
|
|
19
|
+
/** Navigate to the previous page */
|
|
20
|
+
prevPage: () => void;
|
|
21
|
+
/** Navigate to given page number */
|
|
22
|
+
goToPage: (page: number) => void;
|
|
23
|
+
setProductsPerPage: (perPage: number) => void;
|
|
24
|
+
/** Whether the current page is the first */
|
|
25
|
+
isFirstPage: boolean;
|
|
26
|
+
/** Whether the current page is the last */
|
|
27
|
+
isLastPage: boolean;
|
|
28
|
+
/** Whether there are pages to render */
|
|
29
|
+
hasPages: boolean;
|
|
30
|
+
className?: string;
|
|
31
|
+
}
|
|
32
|
+
export default class PaginationBehaviour extends React.Component<PaginationProps, TotalPagesState> {
|
|
33
|
+
constructor(props: PaginationProps);
|
|
34
|
+
componentDidMount(): void;
|
|
35
|
+
componentDidUpdate(prevProps: PaginationProps): void;
|
|
36
|
+
setTotalPages: () => number;
|
|
37
|
+
nextPage: () => void;
|
|
38
|
+
prevPage: () => void;
|
|
39
|
+
getStateAndProps: () => {
|
|
40
|
+
totalItems: number;
|
|
41
|
+
totalPages: number;
|
|
42
|
+
currentPage: number;
|
|
43
|
+
prevPage: () => void;
|
|
44
|
+
nextPage: () => void;
|
|
45
|
+
goToPage: (page: number, options?: import("@jetshop/core/components/Pagination/PaginationContext").GoToPageOptions) => void;
|
|
46
|
+
setProductsPerPage: (perPage: number) => void;
|
|
47
|
+
isFirstPage: boolean;
|
|
48
|
+
isLastPage: boolean;
|
|
49
|
+
hasPages: boolean;
|
|
50
|
+
};
|
|
51
|
+
render(): React.ReactNode;
|
|
52
|
+
}
|