@jetshop/core 5.11.2 → 5.12.2
Sign up to get free protection for your applications and to get access to all the features.
- package/ChannelHandler/ChannelHandler.js +3 -6
- package/ChannelHandler/ChannelHandler.js.map +1 -1
- package/ChannelHandler/redirectUtils.d.ts +2 -1
- package/ChannelHandler/redirectUtils.js +2 -1
- package/ChannelHandler/redirectUtils.js.map +1 -1
- package/analytics/AnalyticsProvider.d.ts +4 -0
- package/analytics/AnalyticsProvider.js +17 -1
- package/analytics/AnalyticsProvider.js.map +1 -1
- package/analytics/integrations/releware/index.js +1 -1
- package/analytics/integrations/releware/index.js.map +1 -1
- package/analytics/integrations/unslugify.js +6 -4
- package/analytics/integrations/unslugify.js.map +1 -1
- package/analytics/trackerRegistry.d.ts +6 -3
- package/analytics/trackerRegistry.js +41 -17
- package/analytics/trackerRegistry.js.map +1 -1
- package/analytics/utils/breadcrumbsWithoutProduct.js +1 -1
- package/analytics/utils/breadcrumbsWithoutProduct.js.map +1 -1
- package/boot/PreviewHandler.js.map +1 -1
- package/boot/addMissingConfig.js +1 -1
- package/boot/addMissingConfig.js.map +1 -1
- package/components/ChannelContext/ChannelContext.d.ts +2 -0
- package/components/ChannelContext/ChannelContext.js.map +1 -1
- package/components/ChannelContext/ChannelProvider.js +18 -1
- package/components/ChannelContext/ChannelProvider.js.map +1 -1
- package/components/ConfigProvider.d.ts +2 -0
- package/components/ConfigProvider.js.map +1 -1
- package/components/DynamicRoute/CategoryRoute.js +9 -2
- package/components/DynamicRoute/CategoryRoute.js.map +1 -1
- package/components/DynamicRoute/ContentRoute.js +9 -1
- package/components/DynamicRoute/ContentRoute.js.map +1 -1
- package/components/DynamicRoute/PreviewRoute.js +12 -2
- package/components/DynamicRoute/PreviewRoute.js.map +1 -1
- package/components/Filters/utils/replaceInSearch.d.ts +1 -0
- package/components/Filters/utils/updateHistory.d.ts +3 -0
- package/components/PreviewContext.js +3 -1
- package/components/PreviewContext.js.map +1 -1
- package/components/SortOrder/SortOrderContainer.d.ts +15 -3
- package/components/SortOrder/SortOrderContainer.js +27 -18
- package/components/SortOrder/SortOrderContainer.js.map +1 -1
- package/components/StructuredData/StructuredCategoryData.d.ts +16 -0
- package/components/StructuredData/StructuredCategoryData.js +18 -0
- package/components/StructuredData/StructuredCategoryData.js.map +1 -0
- package/components/StructuredData/StructuredPageData.d.ts +16 -0
- package/components/StructuredData/StructuredPageData.js +17 -0
- package/components/StructuredData/StructuredPageData.js.map +1 -0
- package/components/StructuredData/index.d.ts +2 -0
- package/components/StructuredData/index.js +2 -0
- package/components/StructuredData/index.js.map +1 -1
- package/data/fragments/ChannelsFragment.gql +4 -0
- package/helpers/isRelativeUrl.js +0 -1
- package/helpers/isRelativeUrl.js.map +1 -1
- package/hooks/Filters/useSortOrder.d.ts +1 -0
- package/hooks/Filters/useSortOrder.js +6 -3
- package/hooks/Filters/useSortOrder.js.map +1 -1
- package/hooks/PackageProducts/usePackageProductItem.d.ts +1 -2
- package/hooks/ProductList/list-transforms.d.ts +1 -0
- package/package.json +1 -1
- package/resolvers/filters/defaultActiveFilters.d.ts +1 -1
- package/resolvers/filters/defaultActiveFilters.js.map +1 -1
- package/resolvers/filters/filterParams.d.ts +1 -1
- package/resolvers/filters/filterParams.js +5 -5
- package/resolvers/filters/filterParams.js.map +1 -1
- package/resolvers/filters/index.d.ts +4 -4
- package/resolvers/filters/updateQueryString.d.ts +4 -3
- package/resolvers/filters/updateQueryString.js +16 -10
- package/resolvers/filters/updateQueryString.js.map +1 -1
- package/server/tracking/facebook.d.ts +2 -2
- package/server/tracking/facebook.js +11 -12
- package/server/tracking/facebook.js.map +1 -1
- package/server/tracking/middleware.d.ts +5 -1
- package/server/tracking/middleware.js.map +1 -1
- package/server/tracking/types.d.ts +3 -1
- package/types.d.ts +9 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"PreviewRoute.js","sourceRoot":"","sources":["PreviewRoute.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,EAAE,EAAiB,UAAU,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,KAAK,EAAe,MAAM,cAAc,CAAC;AAClD,OAAO,kBAAkB,MAAM,iCAAiC,CAAC;AACjE,OAAO,aAAgC,MAAM,iBAAiB,CAAC;AAC/D,OAAO,YAA8B,MAAM,gBAAgB,CAAC;AAC5D,OAAO,YAA8B,MAAM,gBAAgB,CAAC;AAC5D,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAChE,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"PreviewRoute.js","sourceRoot":"","sources":["PreviewRoute.tsx"],"names":[],"mappings":"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"}
|
@@ -5,6 +5,7 @@ interface UpdateHistory {
|
|
5
5
|
hash: string;
|
6
6
|
search: {
|
7
7
|
page?: string;
|
8
|
+
[key: string]: any;
|
8
9
|
};
|
9
10
|
resetPage?: boolean;
|
10
11
|
/**
|
@@ -14,9 +15,11 @@ interface UpdateHistory {
|
|
14
15
|
routeType?: string;
|
15
16
|
}
|
16
17
|
export declare function pushHistory(args: UpdateHistory): {
|
18
|
+
[key: string]: any;
|
17
19
|
page?: string;
|
18
20
|
};
|
19
21
|
export declare function replaceHistory(args: UpdateHistory): {
|
22
|
+
[key: string]: any;
|
20
23
|
page?: string;
|
21
24
|
};
|
22
25
|
export {};
|
@@ -11,7 +11,9 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
11
11
|
};
|
12
12
|
import React, { createContext, useMemo } from 'react';
|
13
13
|
const initialPreviewState = {
|
14
|
-
setPreview: () => {
|
14
|
+
setPreview: () => {
|
15
|
+
return null;
|
16
|
+
}
|
15
17
|
};
|
16
18
|
const PreviewContext = createContext(initialPreviewState);
|
17
19
|
const PreviewProvider = function AuthProvider(_a) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"PreviewContext.js","sourceRoot":"","sources":["PreviewContext.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAOtD,MAAM,mBAAmB,GAAiB;IACxC,UAAU,EAAE,GAAG,EAAE,
|
1
|
+
{"version":3,"file":"PreviewContext.js","sourceRoot":"","sources":["PreviewContext.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAOtD,MAAM,mBAAmB,GAAiB;IACxC,UAAU,EAAE,GAAG,EAAE;QACf,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC;AAEF,MAAM,cAAc,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC;AAE1D,MAAM,eAAe,GAEhB,SAAS,YAAY,CAAC,EAA4B;QAA5B,EAAE,cAAc,OAAY,EAAP,KAAK,cAA1B,kBAA4B,CAAF;IACnD,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,CAAC;QACL,UAAU,EAAE,cAAc,CAAC,UAAU;KACtC,CAAC,EACF,CAAC,cAAc,CAAC,UAAU,CAAC,CAC5B,CAAC;IAEF,OAAO,oBAAC,cAAc,CAAC,QAAQ,kBAAC,KAAK,EAAE,KAAK,IAAM,KAAK,EAAI,CAAC;AAC9D,CAAC,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import * as React from 'react';
|
2
2
|
import { RouteComponentProps } from 'react-router-dom';
|
3
|
-
import {
|
3
|
+
import type { History, Location } from 'history';
|
4
|
+
import { Direction, ISortOrderContext } from '@jetshop/core/components/SortOrder/SortOrderContext';
|
4
5
|
export interface SortOrderContainerProps extends RouteComponentProps<{}> {
|
5
6
|
children(context: ISortOrderContext): React.ReactNode;
|
6
7
|
}
|
@@ -10,16 +11,27 @@ export declare const sortTypes: {
|
|
10
11
|
export declare const sortValues: {
|
11
12
|
[key: string]: {
|
12
13
|
text: () => {
|
13
|
-
text: React.
|
14
|
+
text: React.FunctionComponent;
|
14
15
|
};
|
15
16
|
direction: string;
|
16
17
|
}[];
|
17
18
|
};
|
19
|
+
export declare function getSortOrderFromQueryString(search: Location['search']): {
|
20
|
+
sortOrder: any;
|
21
|
+
direction: any;
|
22
|
+
};
|
23
|
+
interface SortOrderUpdate {
|
24
|
+
value: string;
|
25
|
+
direction: Direction;
|
26
|
+
history: History;
|
27
|
+
location: Location;
|
28
|
+
}
|
29
|
+
export declare function updateSortOrderHistory({ value, direction, history, location }: SortOrderUpdate): void;
|
18
30
|
declare class SortOrderContainer extends React.Component<SortOrderContainerProps, ISortOrderContext> {
|
19
31
|
state: ISortOrderContext;
|
20
32
|
constructor(props: SortOrderContainerProps);
|
21
33
|
componentDidMount(): void;
|
22
|
-
onSelect: (value: string, direction:
|
34
|
+
onSelect: (value: string, direction: Direction) => boolean;
|
23
35
|
render(): JSX.Element;
|
24
36
|
}
|
25
37
|
declare const _default: React.ComponentClass<Pick<SortOrderContainerProps, "children"> & {
|
@@ -48,21 +48,35 @@ export const sortValues = {
|
|
48
48
|
}
|
49
49
|
]
|
50
50
|
};
|
51
|
+
export function getSortOrderFromQueryString(search) {
|
52
|
+
const parsedSearch = qs.parse(search, {
|
53
|
+
ignoreQueryPrefix: true
|
54
|
+
});
|
55
|
+
if (Object.keys(parsedSearch).includes('orderBy')) {
|
56
|
+
return {
|
57
|
+
sortOrder: parsedSearch.orderBy,
|
58
|
+
direction: parsedSearch.direction
|
59
|
+
};
|
60
|
+
}
|
61
|
+
}
|
62
|
+
export function updateSortOrderHistory({ value, direction, history, location }) {
|
63
|
+
const currentSearch = qs.parse(window.location.search, { ignoreQueryPrefix: true }) || {};
|
64
|
+
const newSearch = Object.assign(Object.assign({}, currentSearch), { orderBy: value, direction });
|
65
|
+
pushHistory({
|
66
|
+
history,
|
67
|
+
pathname: location.pathname,
|
68
|
+
hash: location.hash,
|
69
|
+
search: newSearch,
|
70
|
+
resetPage: true,
|
71
|
+
routeType: 'sortOrderChange'
|
72
|
+
});
|
73
|
+
}
|
51
74
|
class SortOrderContainer extends React.Component {
|
52
75
|
constructor(props) {
|
53
76
|
super(props);
|
54
77
|
this.onSelect = (value, direction) => {
|
55
78
|
const { location, history } = this.props;
|
56
|
-
|
57
|
-
const newSearch = Object.assign(Object.assign({}, currentSearch), { orderBy: value, direction });
|
58
|
-
pushHistory({
|
59
|
-
history,
|
60
|
-
pathname: location.pathname,
|
61
|
-
hash: location.hash,
|
62
|
-
search: newSearch,
|
63
|
-
resetPage: true,
|
64
|
-
routeType: 'sortOrderChange'
|
65
|
-
});
|
79
|
+
updateSortOrderHistory({ location, history, value, direction });
|
66
80
|
this.setState({ sortOrder: value, direction });
|
67
81
|
return true;
|
68
82
|
};
|
@@ -74,14 +88,9 @@ class SortOrderContainer extends React.Component {
|
|
74
88
|
}
|
75
89
|
componentDidMount() {
|
76
90
|
if (this.props.location.search) {
|
77
|
-
const
|
78
|
-
|
79
|
-
|
80
|
-
if (Object.keys(search).includes('orderBy')) {
|
81
|
-
this.setState({
|
82
|
-
sortOrder: search.orderBy,
|
83
|
-
direction: search.direction
|
84
|
-
});
|
91
|
+
const sortOrder = getSortOrderFromQueryString(this.props.location.search);
|
92
|
+
if (sortOrder) {
|
93
|
+
this.setState(sortOrder);
|
85
94
|
}
|
86
95
|
}
|
87
96
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SortOrderContainer.js","sourceRoot":"","sources":["SortOrderContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAuB,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
1
|
+
{"version":3,"file":"SortOrderContainer.js","sourceRoot":"","sources":["SortOrderContainer.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { Category } from '@jetshop/core/types';
|
2
|
+
import React from 'react';
|
3
|
+
import { CollectionPage } from 'schema-dts';
|
4
|
+
export interface StructuredCategoryDataProps {
|
5
|
+
/** The category object */
|
6
|
+
category: Category;
|
7
|
+
/**
|
8
|
+
* Optional object containing extra fields. These will be merged with the
|
9
|
+
* default fields. Full list of fields available at
|
10
|
+
* @url https://schema.org/Product
|
11
|
+
*/
|
12
|
+
extraFields?: Partial<CollectionPage>;
|
13
|
+
}
|
14
|
+
/** Renders structured product data using Schema.org vocab */
|
15
|
+
declare const StructuredCategoryData: React.FC<StructuredCategoryDataProps>;
|
16
|
+
export { StructuredCategoryData };
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { StructuredData } from './StructuredData';
|
3
|
+
/** Renders structured product data using Schema.org vocab */
|
4
|
+
const StructuredCategoryData = ({ category, extraFields = {} }) => {
|
5
|
+
var _a, _b, _c, _d;
|
6
|
+
const baseCollectionPageData = {
|
7
|
+
'@context': 'https://schema.org',
|
8
|
+
'@type': 'CollectionPage',
|
9
|
+
name: category.name,
|
10
|
+
description: category.content,
|
11
|
+
primaryImageOfPage: (_b = (_a = category.images) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.url,
|
12
|
+
image: (_d = (_c = category.images) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.url
|
13
|
+
};
|
14
|
+
const withInjectedCategoryData = Object.assign(Object.assign({}, baseCollectionPageData), extraFields);
|
15
|
+
return React.createElement(StructuredData, { json: withInjectedCategoryData });
|
16
|
+
};
|
17
|
+
export { StructuredCategoryData };
|
18
|
+
//# sourceMappingURL=StructuredCategoryData.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"StructuredCategoryData.js","sourceRoot":"","sources":["StructuredCategoryData.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAalD,6DAA6D;AAC7D,MAAM,sBAAsB,GAA0C,CAAC,EACrE,QAAQ,EACR,WAAW,GAAG,EAAE,EACjB,EAAE,EAAE;;IACH,MAAM,sBAAsB,GAAgC;QAC1D,UAAU,EAAE,oBAAoB;QAChC,OAAO,EAAE,gBAAgB;QACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,WAAW,EAAE,QAAQ,CAAC,OAAO;QAC7B,kBAAkB,EAAE,MAAA,MAAA,QAAQ,CAAC,MAAM,0CAAG,CAAC,CAAC,0CAAE,GAAG;QAC7C,KAAK,EAAE,MAAA,MAAA,QAAQ,CAAC,MAAM,0CAAG,CAAC,CAAC,0CAAE,GAAG;KACjC,CAAC;IACF,MAAM,wBAAwB,mCACzB,sBAAsB,GACrB,WAA8B,CACnC,CAAC;IAEF,OAAO,oBAAC,cAAc,IAAC,IAAI,EAAE,wBAAwB,GAAI,CAAC;AAC5D,CAAC,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { Page } from '@jetshop/core/types';
|
2
|
+
import React from 'react';
|
3
|
+
import { WebPage } from 'schema-dts';
|
4
|
+
export interface StructuredPageDataProps {
|
5
|
+
/** The page object */
|
6
|
+
page: Page;
|
7
|
+
/**
|
8
|
+
* Optional object containing extra fields. These will be merged with the
|
9
|
+
* default fields. Full list of fields available at
|
10
|
+
* @url https://schema.org/Product
|
11
|
+
*/
|
12
|
+
extraFields?: Partial<WebPage>;
|
13
|
+
}
|
14
|
+
/** Renders structured product data using Schema.org vocab */
|
15
|
+
declare const StructuredPageData: React.FC<StructuredPageDataProps>;
|
16
|
+
export { StructuredPageData };
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { StructuredData } from './StructuredData';
|
3
|
+
/** Renders structured product data using Schema.org vocab */
|
4
|
+
const StructuredPageData = ({ page, extraFields = {} }) => {
|
5
|
+
var _a, _b, _c, _d;
|
6
|
+
const baseWebPageData = {
|
7
|
+
'@context': 'https://schema.org',
|
8
|
+
'@type': 'WebPage',
|
9
|
+
name: page.name,
|
10
|
+
primaryImageOfPage: (_b = (_a = page.images) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.url,
|
11
|
+
image: (_d = (_c = page.images) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.url
|
12
|
+
};
|
13
|
+
const withInjectedPageData = Object.assign(Object.assign({}, baseWebPageData), extraFields);
|
14
|
+
return React.createElement(StructuredData, { json: withInjectedPageData });
|
15
|
+
};
|
16
|
+
export { StructuredPageData };
|
17
|
+
//# sourceMappingURL=StructuredPageData.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"StructuredPageData.js","sourceRoot":"","sources":["StructuredPageData.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAalD,6DAA6D;AAC7D,MAAM,kBAAkB,GAAsC,CAAC,EAC7D,IAAI,EACJ,WAAW,GAAG,EAAE,EACjB,EAAE,EAAE;;IACH,MAAM,eAAe,GAAyB;QAC5C,UAAU,EAAE,oBAAoB;QAChC,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,kBAAkB,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAG,CAAC,CAAC,0CAAE,GAAG;QACzC,KAAK,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAG,CAAC,CAAC,0CAAE,GAAG;KAC7B,CAAC;IACF,MAAM,oBAAoB,mCACrB,eAAe,GACd,WAAuB,CAC5B,CAAC;IAEF,OAAO,oBAAC,cAAc,IAAC,IAAI,EAAE,oBAAoB,GAAI,CAAC;AACxD,CAAC,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
@@ -1,3 +1,5 @@
|
|
1
1
|
export { StructuredData } from './StructuredData';
|
2
2
|
export { StructuredProductData } from './StructuredProductData';
|
3
3
|
export { SiteLinksSearchStructuredData } from './SiteLinksSearchStructuredData';
|
4
|
+
export { StructuredCategoryData } from './StructuredCategoryData';
|
5
|
+
export { StructuredPageData } from './StructuredPageData';
|
@@ -1,4 +1,6 @@
|
|
1
1
|
export { StructuredData } from './StructuredData';
|
2
2
|
export { StructuredProductData } from './StructuredProductData';
|
3
3
|
export { SiteLinksSearchStructuredData } from './SiteLinksSearchStructuredData';
|
4
|
+
export { StructuredCategoryData } from './StructuredCategoryData';
|
5
|
+
export { StructuredPageData } from './StructuredPageData';
|
4
6
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
|
package/helpers/isRelativeUrl.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"isRelativeUrl.js","sourceRoot":"","sources":["isRelativeUrl.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,OAAO,
|
1
|
+
{"version":3,"file":"isRelativeUrl.js","sourceRoot":"","sources":["isRelativeUrl.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC1E,CAAC"}
|
@@ -5,8 +5,12 @@ export function useSortOrder({ sortOrders }) {
|
|
5
5
|
// Mutate sort order obj to include asc/desc & appropriate text
|
6
6
|
// eg { text: 'Price low to high', direction: 'ASCENDING' }
|
7
7
|
const { changeSortOrder, direction, sortOrder } = React.useContext(SortOrderContext);
|
8
|
-
const mappedSortOrder = sortOrders
|
9
|
-
|
8
|
+
const mappedSortOrder = getMappedSortOrder(sortOrders);
|
9
|
+
return { changeSortOrder, direction, sortOrder, mappedSortOrder };
|
10
|
+
}
|
11
|
+
export function getMappedSortOrder(sortOrders) {
|
12
|
+
return sortOrders.reduce((sorts, curr) => {
|
13
|
+
const mutatedSorts = sortValues[sortTypes[curr.value]].map((type) => {
|
10
14
|
return Object.assign(Object.assign({}, curr), { text: (React.createElement("span", null,
|
11
15
|
curr['text'],
|
12
16
|
" ",
|
@@ -14,6 +18,5 @@ export function useSortOrder({ sortOrders }) {
|
|
14
18
|
});
|
15
19
|
return [...sorts, ...mutatedSorts];
|
16
20
|
}, []);
|
17
|
-
return { changeSortOrder, direction, sortOrder, mappedSortOrder };
|
18
21
|
}
|
19
22
|
//# sourceMappingURL=useSortOrder.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useSortOrder.js","sourceRoot":"","sources":["useSortOrder.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACX,MAAM,uDAAuD,CAAC;AAC/D,OAAO,gBAAgB,MAAM,qDAAqD,CAAC;AAEnF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,UAAU,YAAY,CAAC,EAC3B,UAAU,EAGX;IACC,+DAA+D;IAC/D,2DAA2D;IAC3D,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,
|
1
|
+
{"version":3,"file":"useSortOrder.js","sourceRoot":"","sources":["useSortOrder.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,UAAU,EACX,MAAM,uDAAuD,CAAC;AAC/D,OAAO,gBAAgB,MAAM,qDAAqD,CAAC;AAEnF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,UAAU,YAAY,CAAC,EAC3B,UAAU,EAGX;IACC,+DAA+D;IAC/D,2DAA2D;IAC3D,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,GAC7C,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACrC,MAAM,eAAe,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACvD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,UAA8B;IAE9B,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACvC,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAClE,uCACK,IAAI,KACP,IAAI,EAAE,CACJ;oBACG,IAAI,CAAC,MAAM,CAAC;;oBAAG,IAAI,CAAC,IAAI,CACpB,CACR,EACD,SAAS,EAAE,IAAI,CAAC,SAAS,IACzB;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,YAAY,CAAC,CAAC;IACrC,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { PackageItem } from '../../types';
|
2
|
-
declare type UpdateItem = (articleNumber: string, variantArticleNumber: string, valid: boolean) => void;
|
2
|
+
export declare type UpdateItem = (articleNumber: string, variantArticleNumber: string, valid: boolean) => void;
|
3
3
|
export declare function usePackageProductItem(item: PackageItem, updateItem: UpdateItem, { preselectCheapest }?: {
|
4
4
|
preselectCheapest?: boolean;
|
5
5
|
}): {
|
@@ -15,4 +15,3 @@ export declare function usePackageProductItem(item: PackageItem, updateItem: Upd
|
|
15
15
|
getMissingOptions: () => import("../../types").ProductVariantOption[];
|
16
16
|
};
|
17
17
|
};
|
18
|
-
export {};
|
@@ -56,6 +56,7 @@ productQueryResult: ProductsQuery): {
|
|
56
56
|
barcode?: string;
|
57
57
|
configurations?: import("../../types").ProductConfiguration[];
|
58
58
|
hasConfigurations: boolean;
|
59
|
+
hasFamilyMembers: boolean;
|
59
60
|
configurationPrice?: import("../../types").ProductConfigurationPrice;
|
60
61
|
quantitySuffix?: string;
|
61
62
|
isPreOrder?: boolean;
|
package/package.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"defaultActiveFilters.js","sourceRoot":"","sources":["defaultActiveFilters.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"defaultActiveFilters.js","sourceRoot":"","sources":["defaultActiveFilters.ts"],"names":[],"mappings":"AAGA,MAAM,oBAAoB,GAAkB;IAC1C,WAAW,EAAE,EAAE;IACf,YAAY,EAAE,EAAE;IAChB,cAAc,EAAE,EAAE;IAClB,gBAAgB,EAAE,EAAE;IACpB,UAAU,EAAE,eAAe;CAC5B,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
@@ -20,7 +20,7 @@ export function getActiveFiltersFromSearch(query) {
|
|
20
20
|
: query;
|
21
21
|
const typeMapValues = new Set(Object.keys(typeMap));
|
22
22
|
const filterParams = Object.keys(initialSearchParams)
|
23
|
-
.map(param => {
|
23
|
+
.map((param) => {
|
24
24
|
return typeMapValues.has(param)
|
25
25
|
? { [param]: initialSearchParams[param] }
|
26
26
|
: false;
|
@@ -42,7 +42,7 @@ export function getActiveFiltersFromSearch(query) {
|
|
42
42
|
function convertFilterQueryToActiveFilter({ initialSearchParams, filter, activeFilters }) {
|
43
43
|
switch (Object.keys(filter)[0]) {
|
44
44
|
case 'list':
|
45
|
-
return (activeFilters['listFilters'] = Object.keys(filter.list).map(id => {
|
45
|
+
return (activeFilters['listFilters'] = Object.keys(filter.list).map((id) => {
|
46
46
|
const filter = {
|
47
47
|
id,
|
48
48
|
values: initialSearchParams.list[id],
|
@@ -51,7 +51,7 @@ function convertFilterQueryToActiveFilter({ initialSearchParams, filter, activeF
|
|
51
51
|
return filter;
|
52
52
|
}));
|
53
53
|
case 'range':
|
54
|
-
return (activeFilters['rangeFilters'] = Object.keys(filter.range).map(id => {
|
54
|
+
return (activeFilters['rangeFilters'] = Object.keys(filter.range).map((id) => {
|
55
55
|
const filter = {
|
56
56
|
id,
|
57
57
|
min: +initialSearchParams.range[id][0],
|
@@ -61,7 +61,7 @@ function convertFilterQueryToActiveFilter({ initialSearchParams, filter, activeF
|
|
61
61
|
return filter;
|
62
62
|
}));
|
63
63
|
case 'boolean':
|
64
|
-
return (activeFilters['booleanFilters'] = Object.keys(filter.boolean).map(id => {
|
64
|
+
return (activeFilters['booleanFilters'] = Object.keys(filter.boolean).map((id) => {
|
65
65
|
const filter = {
|
66
66
|
id,
|
67
67
|
value: JSON.parse(initialSearchParams.boolean[id]),
|
@@ -70,7 +70,7 @@ function convertFilterQueryToActiveFilter({ initialSearchParams, filter, activeF
|
|
70
70
|
return filter;
|
71
71
|
}));
|
72
72
|
case 'multiList':
|
73
|
-
return (activeFilters['multiListFilters'] = Object.keys(filter.multiList).map(id => {
|
73
|
+
return (activeFilters['multiListFilters'] = Object.keys(filter.multiList).map((id) => {
|
74
74
|
const filter = {
|
75
75
|
id,
|
76
76
|
values: initialSearchParams.multiList[id],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"filterParams.js","sourceRoot":"","sources":["filterParams.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAW9D,MAAM,OAAO,GAAkC;IAC7C,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,cAAc;IACrB,OAAO,EAAE,gBAAgB;IACzB,SAAS,EAAE,kBAAkB;CAC9B,CAAC;AAEF,MAAM,UAAU,0BAA0B,CAAC,KAAsB;IAC/D,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QAChC,OAAO,oBAAoB,CAAC;KAC7B;IAED,6EAA6E;IAC7E,MAAM,mBAAmB,GACvB,OAAO,KAAK,KAAK,QAAQ;QACvB,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE;YACd,iBAAiB,EAAE,IAAI;YACvB,UAAU,EAAE,GAAG;SAChB,CAAC;QACJ,CAAC,CAAC,KAAK,CAAC;IAEZ,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC;SAClD,GAAG,CAAC,KAAK,
|
1
|
+
{"version":3,"file":"filterParams.js","sourceRoot":"","sources":["filterParams.ts"],"names":[],"mappings":"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"}
|
@@ -13,15 +13,15 @@ export interface ActiveFilters extends FilterInput {
|
|
13
13
|
booleanFilters?: ActiveBooleanFilter[];
|
14
14
|
multiListFilters?: ActiveMultiListFilter[];
|
15
15
|
}
|
16
|
-
interface ActiveListFilter extends ListFilterInput {
|
16
|
+
export interface ActiveListFilter extends ListFilterInput {
|
17
17
|
__typename: 'ListFilterInput';
|
18
18
|
}
|
19
|
-
interface ActiveRangeFilter extends RangeFilterInput {
|
19
|
+
export interface ActiveRangeFilter extends RangeFilterInput {
|
20
20
|
__typename: 'RangeFilterInput';
|
21
21
|
}
|
22
|
-
interface ActiveBooleanFilter extends BooleanFilterInput {
|
22
|
+
export interface ActiveBooleanFilter extends BooleanFilterInput {
|
23
23
|
__typename: 'BooleanFilterInput';
|
24
24
|
}
|
25
|
-
interface ActiveMultiListFilter extends MultiListFilterInput {
|
25
|
+
export interface ActiveMultiListFilter extends MultiListFilterInput {
|
26
26
|
__typename: 'MultiListFilterInput';
|
27
27
|
}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { History } from 'history';
|
1
2
|
import { ActiveFilters } from '.';
|
2
3
|
/**
|
3
4
|
We need to keep the query string in sync with the current active filter state.
|
@@ -5,7 +6,7 @@ import { ActiveFilters } from '.';
|
|
5
6
|
*
|
6
7
|
* @param activeFilters The full list of active filters from the client cache
|
7
8
|
*/
|
8
|
-
export declare function updateListFilterQueryString(activeFilters: ActiveFilters): void;
|
9
|
-
export declare function updateBooleanQueryString(activeFilters: ActiveFilters): void;
|
10
|
-
export declare function updateRangeQueryString(activeFilters: ActiveFilters): void;
|
9
|
+
export declare function updateListFilterQueryString(activeFilters: ActiveFilters, history?: History): void;
|
10
|
+
export declare function updateBooleanQueryString(activeFilters: ActiveFilters, history?: History): void;
|
11
|
+
export declare function updateRangeQueryString(activeFilters: ActiveFilters, history?: History): void;
|
11
12
|
export declare function updateMultiListQueryString(activeFilters: ActiveFilters): void;
|
@@ -7,8 +7,10 @@ import { replaceInSearch } from '../../components/Filters/utils/replaceInSearch'
|
|
7
7
|
*
|
8
8
|
* @param activeFilters The full list of active filters from the client cache
|
9
9
|
*/
|
10
|
-
export function updateListFilterQueryString(activeFilters) {
|
11
|
-
|
10
|
+
export function updateListFilterQueryString(activeFilters, history) {
|
11
|
+
if (history === undefined) {
|
12
|
+
history = createBrowserHistory();
|
13
|
+
}
|
12
14
|
const activeListFilters = activeFilters.listFilters;
|
13
15
|
let queryString = '';
|
14
16
|
if (activeListFilters.length === 0) {
|
@@ -17,7 +19,7 @@ export function updateListFilterQueryString(activeFilters) {
|
|
17
19
|
}
|
18
20
|
else {
|
19
21
|
const params = { list: {} };
|
20
|
-
activeListFilters.forEach(filter => {
|
22
|
+
activeListFilters.forEach((filter) => {
|
21
23
|
params.list[filter.id] = filter.values;
|
22
24
|
});
|
23
25
|
queryString = qs.stringify(params, {
|
@@ -32,8 +34,10 @@ export function updateListFilterQueryString(activeFilters) {
|
|
32
34
|
routeType: 'filterChange'
|
33
35
|
});
|
34
36
|
}
|
35
|
-
export function updateBooleanQueryString(activeFilters) {
|
36
|
-
|
37
|
+
export function updateBooleanQueryString(activeFilters, history) {
|
38
|
+
if (history === undefined) {
|
39
|
+
history = createBrowserHistory();
|
40
|
+
}
|
37
41
|
const activeBoolFilters = activeFilters.booleanFilters;
|
38
42
|
let queryString = '';
|
39
43
|
if (activeBoolFilters.length === 0) {
|
@@ -42,7 +46,7 @@ export function updateBooleanQueryString(activeFilters) {
|
|
42
46
|
}
|
43
47
|
else {
|
44
48
|
const params = { boolean: {} };
|
45
|
-
activeBoolFilters.forEach(filter => {
|
49
|
+
activeBoolFilters.forEach((filter) => {
|
46
50
|
params.boolean[filter.id] = filter.value;
|
47
51
|
});
|
48
52
|
queryString = qs.stringify(params, {
|
@@ -57,8 +61,10 @@ export function updateBooleanQueryString(activeFilters) {
|
|
57
61
|
routeType: 'filterChange'
|
58
62
|
});
|
59
63
|
}
|
60
|
-
export function updateRangeQueryString(activeFilters) {
|
61
|
-
|
64
|
+
export function updateRangeQueryString(activeFilters, history) {
|
65
|
+
if (history === undefined) {
|
66
|
+
history = createBrowserHistory();
|
67
|
+
}
|
62
68
|
const activeRangeFilters = activeFilters.rangeFilters;
|
63
69
|
let queryString = '';
|
64
70
|
if (activeRangeFilters.length === 0) {
|
@@ -67,7 +73,7 @@ export function updateRangeQueryString(activeFilters) {
|
|
67
73
|
}
|
68
74
|
else {
|
69
75
|
const params = { range: {} };
|
70
|
-
activeRangeFilters.forEach(filter => {
|
76
|
+
activeRangeFilters.forEach((filter) => {
|
71
77
|
params.range[filter.id] = [filter.min, filter.max];
|
72
78
|
});
|
73
79
|
queryString = qs.stringify(params, {
|
@@ -91,7 +97,7 @@ export function updateMultiListQueryString(activeFilters) {
|
|
91
97
|
}
|
92
98
|
else {
|
93
99
|
const params = { multiList: {} };
|
94
|
-
activeMultiFilters.forEach(filter => {
|
100
|
+
activeMultiFilters.forEach((filter) => {
|
95
101
|
params.multiList[filter.id] = filter.values;
|
96
102
|
});
|
97
103
|
queryString = qs.stringify(params, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"updateQueryString.js","sourceRoot":"","sources":["updateQueryString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,
|
1
|
+
{"version":3,"file":"updateQueryString.js","sourceRoot":"","sources":["updateQueryString.ts"],"names":[],"mappings":"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"}
|