@wayke-se/components-react 2.11.0 → 2.15.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/dist-node/index.js +941 -2922
- package/dist-node/index.js.map +1 -1
- package/dist-src/components/Ecom/index.js +1 -1
- package/dist-src/components/Gallery/index.js +1 -1
- package/dist-src/components/InputCheckbox/index.js +1 -1
- package/dist-src/components/InputCheckbox/wrapper.js +2 -2
- package/dist-src/components/Page/index.js +1 -7
- package/dist-src/components/Pdf/index.js +11 -0
- package/dist-src/components/Pdf/wrapper.js +55 -0
- package/dist-src/components/RangeSlider/RangeSliderSimple.js +1 -1
- package/dist-src/components/RangeSlider/handle.js +2 -2
- package/dist-src/components/RangeSlider/index.js +1 -1
- package/dist-src/components/RangeSlider/track.js +2 -2
- package/dist-src/layouts/WaykeCompositeWithProvider.js +2 -2
- package/dist-src/layouts/searchItem/ManufacturerPackagesOption.js +1 -1
- package/dist-src/layouts/searchItem/MetadataItem.js +2 -2
- package/dist-src/layouts/searchItem/PackageOptionModal.js +1 -1
- package/dist-src/layouts/searchItem/PackageOptions.js +1 -1
- package/dist-src/layouts/searchItem/index.js +10 -1
- package/dist-src/queries/SEARCH_ITEM_QUERY.js +1 -0
- package/dist-src/utils/phonenumbers.js +1 -1
- package/dist-types/@types/codegen/types.d.ts +57 -42
- package/dist-types/components/Page/index.d.ts +1 -1
- package/dist-types/components/Pdf/index.d.ts +11 -0
- package/dist-types/components/Pdf/wrapper.d.ts +11 -0
- package/dist-types/index.d.ts +14 -8
- package/dist-web/index.js +89 -23
- package/dist-web/index.js.map +1 -1
- package/package.json +40 -40
package/dist-web/index.js
CHANGED
|
@@ -9,8 +9,8 @@ import Slider$2 from 'react-slick';
|
|
|
9
9
|
import scrollIntoView from 'scroll-into-view-if-needed';
|
|
10
10
|
import { gql, useQuery, ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';
|
|
11
11
|
import EcomBase from '@wayke-se/ecom-react';
|
|
12
|
-
import marked from 'marked';
|
|
13
|
-
import { parsePhoneNumberFromString } from 'libphonenumber-js/
|
|
12
|
+
import { marked } from 'marked';
|
|
13
|
+
import { parsePhoneNumberFromString } from 'libphonenumber-js/core';
|
|
14
14
|
|
|
15
15
|
const _colors = {
|
|
16
16
|
black: '#000',
|
|
@@ -87,13 +87,7 @@ const Wrapper = styled.div `
|
|
|
87
87
|
|
|
88
88
|
const Container = ({ children }) => React__default.createElement(Wrapper, null, children);
|
|
89
89
|
|
|
90
|
-
const Page = styled.
|
|
91
|
-
display: flex;
|
|
92
|
-
flex-direction: column;
|
|
93
|
-
min-height: 100vh;
|
|
94
|
-
min-height: -webkit-fill-available;
|
|
95
|
-
padding-top: ${size(4)};
|
|
96
|
-
`;
|
|
90
|
+
const Page = styled.div ``;
|
|
97
91
|
const PageSection = styled.section `
|
|
98
92
|
margin-bottom: ${size(4)};
|
|
99
93
|
|
|
@@ -1465,14 +1459,14 @@ const Handle = styled.div.attrs(() => ({
|
|
|
1465
1459
|
}
|
|
1466
1460
|
`;
|
|
1467
1461
|
|
|
1468
|
-
const Handle$1 = ({ domain: [min, max], handle: { id, value, percent }, getHandleProps, }) => (React__default.createElement(Handle,
|
|
1462
|
+
const Handle$1 = ({ domain: [min, max], handle: { id, value, percent }, getHandleProps, }) => (React__default.createElement(Handle, { role: "slider", "aria-valuemin": min, "aria-valuemax": max, "aria-valuenow": value, style: {
|
|
1469
1463
|
left: `${percent}%`,
|
|
1470
|
-
}
|
|
1464
|
+
}, ...getHandleProps(id) }));
|
|
1471
1465
|
|
|
1472
|
-
const Track$1 = ({ source, target, getTrackProps }) => (React__default.createElement(Track,
|
|
1466
|
+
const Track$1 = ({ source, target, getTrackProps }) => (React__default.createElement(Track, { style: {
|
|
1473
1467
|
left: `${source.percent}%`,
|
|
1474
1468
|
width: `${target.percent - source.percent}%`,
|
|
1475
|
-
}
|
|
1469
|
+
}, ...getTrackProps() }));
|
|
1476
1470
|
|
|
1477
1471
|
const getSteps = (steps) => {
|
|
1478
1472
|
let current = Number.MAX_SAFE_INTEGER;
|
|
@@ -1510,7 +1504,7 @@ const RangeSlider = ({ loading, values, domain, steps, unit, formatValues, maxPr
|
|
|
1510
1504
|
React__default.createElement(Handle, { role: "slider", "aria-disabled": true, style: { left: '0' } }),
|
|
1511
1505
|
React__default.createElement(Handle, { role: "slider", "aria-disabled": true, style: { left: '100%' } })))) : (React__default.createElement(Slider, null,
|
|
1512
1506
|
React__default.createElement(Slider$1, { disabled: loading, mode: 1, step: step, domain: domain, onChange: onChange, onUpdate: onUpdate, values: values, rootStyle: { position: 'relative' } },
|
|
1513
|
-
React__default.createElement(Rail, null, ({ getRailProps }) => React__default.createElement(Bar$1,
|
|
1507
|
+
React__default.createElement(Rail, null, ({ getRailProps }) => React__default.createElement(Bar$1, { ...getRailProps() })),
|
|
1514
1508
|
React__default.createElement(Handles, null, ({ handles, getHandleProps }) => (React__default.createElement("div", { className: "slider-handles" }, handles.map((handle) => (React__default.createElement(Handle$1, { key: handle.id, handle: handle, domain: domain, getHandleProps: getHandleProps })))))),
|
|
1515
1509
|
React__default.createElement(Tracks, { left: false, right: false }, ({ tracks, getTrackProps }) => (React__default.createElement("div", { className: "slider-tracks" }, tracks.map(({ id, source, target }) => (React__default.createElement(Track$1, { key: id, source: source, target: target, getTrackProps: getTrackProps }))))))))),
|
|
1516
1510
|
React__default.createElement(RangeSpan, null,
|
|
@@ -3968,7 +3962,7 @@ const Gallery = ({ media, placeholderImage }) => {
|
|
|
3968
3962
|
React__default.createElement(Wrapper$g, null,
|
|
3969
3963
|
React__default.createElement(Main, null,
|
|
3970
3964
|
React__default.createElement(SliderWrapper, { onMouseDown: onMouseDown, onMouseMove: onMouseMove, onClick: onClick },
|
|
3971
|
-
React__default.createElement(Slider$2,
|
|
3965
|
+
React__default.createElement(Slider$2, { ...sliderSettings, swipe: !navigationDisabled, touchMove: !navigationDisabled, swipeToSlide: !navigationDisabled, ref: slider, beforeChange: beforeChange }, !!(media === null || media === void 0 ? void 0 : media.length) ? (media.map((m, i) => {
|
|
3972
3966
|
var _a;
|
|
3973
3967
|
return (React__default.createElement(Item$7, { key: m.files[0].url || i },
|
|
3974
3968
|
m.type === 'image' && (React__default.createElement(Image$1, { src: (_a = m.files[0].formats.filter(notEmpty).find((x) => x.format === '1170x')) === null || _a === void 0 ? void 0 : _a.url, alt: `Bild ${i + 1}` })),
|
|
@@ -4104,6 +4098,7 @@ const SEARCH_ITEM_QUERY = gql `
|
|
|
4104
4098
|
query SearchItem($id: ID!) {
|
|
4105
4099
|
vehicle(id: $id) {
|
|
4106
4100
|
id
|
|
4101
|
+
documents
|
|
4107
4102
|
contact {
|
|
4108
4103
|
name
|
|
4109
4104
|
email
|
|
@@ -4545,7 +4540,7 @@ const RangeSliderSimple = ({ loading, values, domain, steps, unit, formatValues,
|
|
|
4545
4540
|
return (React__default.createElement(React__default.Fragment, null,
|
|
4546
4541
|
React__default.createElement(Slider, null,
|
|
4547
4542
|
React__default.createElement(Slider$1, { disabled: loading, mode: 1, step: step, domain: domain, onChange: onChange, onUpdate: onUpdate, values: values, rootStyle: { position: 'relative' } },
|
|
4548
|
-
React__default.createElement(Rail, null, ({ getRailProps }) => React__default.createElement(Bar$1,
|
|
4543
|
+
React__default.createElement(Rail, null, ({ getRailProps }) => React__default.createElement(Bar$1, { ...getRailProps() })),
|
|
4549
4544
|
React__default.createElement(Handles, null, ({ handles, getHandleProps }) => (React__default.createElement("div", { className: "slider-handles" }, handles.map((handle) => (React__default.createElement(Handle$1, { key: handle.id, handle: handle, domain: domain, getHandleProps: getHandleProps })))))),
|
|
4550
4545
|
React__default.createElement(Tracks, { right: false }, ({ tracks, getTrackProps }) => (React__default.createElement("div", { className: "slider-tracks" }, tracks.map(({ id, source, target }) => (React__default.createElement(Track$1, { key: id, source: source, target: target, getTrackProps: getTrackProps })))))))),
|
|
4551
4546
|
false ));
|
|
@@ -4937,7 +4932,7 @@ const Label$8 = styled.label.attrs(() => ({
|
|
|
4937
4932
|
margin-top: -2px;
|
|
4938
4933
|
}
|
|
4939
4934
|
`;
|
|
4940
|
-
const Wrapper$r = styled((props) => createElement("div",
|
|
4935
|
+
const Wrapper$r = styled((props) => createElement("div", { ...props })).attrs(({ type, checked }) => ({
|
|
4941
4936
|
role: type || 'checkbox',
|
|
4942
4937
|
'aria-checked': checked,
|
|
4943
4938
|
})) `
|
|
@@ -4952,7 +4947,7 @@ const Wrapper$r = styled((props) => createElement("div", Object.assign({}, props
|
|
|
4952
4947
|
}
|
|
4953
4948
|
`}
|
|
4954
4949
|
`;
|
|
4955
|
-
const Input$2 = styled((props) => (createElement("input",
|
|
4950
|
+
const Input$2 = styled((props) => (createElement("input", { ...props, className: `${props.checked ? 'checked' : undefined} ${props.className}` }))).attrs(({ type, checked }) => ({
|
|
4956
4951
|
checked,
|
|
4957
4952
|
type: type || 'checkbox',
|
|
4958
4953
|
})) `
|
|
@@ -5283,7 +5278,7 @@ const Ecom = ({ vehicle, manufacturer, onExit, onUserEvent }) => {
|
|
|
5283
5278
|
useBankId: ecomSettings === null || ecomSettings === void 0 ? void 0 : ecomSettings.useBankId,
|
|
5284
5279
|
displayBankIdAlert: ecomSettings === null || ecomSettings === void 0 ? void 0 : ecomSettings.displayBankIdAlert,
|
|
5285
5280
|
};
|
|
5286
|
-
return React__default.createElement(EcomBase,
|
|
5281
|
+
return React__default.createElement(EcomBase, { ...ecomData });
|
|
5287
5282
|
};
|
|
5288
5283
|
|
|
5289
5284
|
const ManufacturerPackageOption = ({ packageOption }) => {
|
|
@@ -6834,7 +6829,7 @@ const MetadataItem = ({ name, hint, value, unit }) => {
|
|
|
6834
6829
|
const onToggleFoldout = useCallback(() => setFoldout(!foldout), [foldout]);
|
|
6835
6830
|
const presentedValue = formatValue(value, unit);
|
|
6836
6831
|
return (React__default.createElement(TableListItem, null,
|
|
6837
|
-
React__default.createElement(TableListKey, null, hint ? (React__default.createElement(
|
|
6832
|
+
React__default.createElement(TableListKey, null, hint ? (React__default.createElement(ButtonInline, { onClick: onToggleFoldout, title: `Mer information om ${name}` }, name)) : (name)),
|
|
6838
6833
|
React__default.createElement(TableListValue, null, value !== undefined ? presentedValue : 'Uppgift saknas'),
|
|
6839
6834
|
hint && foldout && (React__default.createElement(Modal, { title: name, onClose: onToggleFoldout },
|
|
6840
6835
|
React__default.createElement(Content$2, { dangerouslySetInnerHTML: { __html: hint } })))));
|
|
@@ -6952,6 +6947,69 @@ const PropertySet = ({ propertySet, vehicleData }) => {
|
|
|
6952
6947
|
React__default.createElement(MetadataCategory, { properties: activeCategory.properties, subCategories: activeCategory.subCategories })))));
|
|
6953
6948
|
};
|
|
6954
6949
|
|
|
6950
|
+
const PdfListItem = styled.li.attrs(() => ({
|
|
6951
|
+
className: 'wayke__theme wayke__color--primary-text',
|
|
6952
|
+
})) `
|
|
6953
|
+
flex: 0 0 50%;
|
|
6954
|
+
padding: ${size(1)};
|
|
6955
|
+
|
|
6956
|
+
${({ theme }) => theme.breakpoint.LtSm} {
|
|
6957
|
+
flex: 0 0 100%;
|
|
6958
|
+
}
|
|
6959
|
+
`;
|
|
6960
|
+
const PdfContainer = styled.ul `
|
|
6961
|
+
list-style: none;
|
|
6962
|
+
padding: 0;
|
|
6963
|
+
display: flex;
|
|
6964
|
+
flex-wrap: wrap;
|
|
6965
|
+
margin: ${size(-1)};
|
|
6966
|
+
`;
|
|
6967
|
+
const PdfLink = styled.a.attrs(() => ({
|
|
6968
|
+
className: 'wayke__theme wayke__color--primary-text wayke__font--bold',
|
|
6969
|
+
})) `
|
|
6970
|
+
text-decoration: none;
|
|
6971
|
+
font-size: 0.875rem;
|
|
6972
|
+
&:after {
|
|
6973
|
+
content: '';
|
|
6974
|
+
position: absolute;
|
|
6975
|
+
top: 0;
|
|
6976
|
+
left: 0;
|
|
6977
|
+
width: 100%;
|
|
6978
|
+
height: 100%;
|
|
6979
|
+
}
|
|
6980
|
+
`;
|
|
6981
|
+
const PdfTitle = styled.div `
|
|
6982
|
+
color: ${(props) => props.theme.color.textDark};
|
|
6983
|
+
`;
|
|
6984
|
+
const PdfSubtitle = styled.div `
|
|
6985
|
+
color: ${(props) => props.theme.color.textDarkLighten};
|
|
6986
|
+
`;
|
|
6987
|
+
const PdfColumn = styled.div `
|
|
6988
|
+
flex 0 0 auto;
|
|
6989
|
+
&:first-child {
|
|
6990
|
+
flex: 1 1 auto;
|
|
6991
|
+
}
|
|
6992
|
+
`;
|
|
6993
|
+
const PdfListInner = styled.div `
|
|
6994
|
+
position: relative;
|
|
6995
|
+
border: 1px solid ${(props) => props.theme.color.border};
|
|
6996
|
+
padding: ${size(1.5)};
|
|
6997
|
+
display: flex;
|
|
6998
|
+
align-items: center;
|
|
6999
|
+
:hover {
|
|
7000
|
+
background-color: ${(props) => props.theme.color.hoverOverlay};
|
|
7001
|
+
}
|
|
7002
|
+
`;
|
|
7003
|
+
|
|
7004
|
+
const PdfDownloadItem = ({ document }) => (React__default.createElement(PdfListItem, null,
|
|
7005
|
+
React__default.createElement(PdfListInner, null,
|
|
7006
|
+
React__default.createElement(PdfColumn, null,
|
|
7007
|
+
React__default.createElement(PdfTitle, null, document.name),
|
|
7008
|
+
React__default.createElement(PdfSubtitle, null, document.contentType)),
|
|
7009
|
+
React__default.createElement(PdfColumn, null,
|
|
7010
|
+
React__default.createElement(PdfLink, { href: document.url, rel: "noopener noreferrer nofollow", target: "_blank" }, "\u00D6ppna")))));
|
|
7011
|
+
const PdfDownloadContainer = ({ documents }) => (React__default.createElement(PdfContainer, null, documents.map((document, i) => (React__default.createElement(PdfDownloadItem, { key: `${document.url}-${i}`, document: document })))));
|
|
7012
|
+
|
|
6955
7013
|
const WaykeSearchItem = ({ id, hashRoute, pathRoute, disableResetScrollOnInit, placeholderImage, modifyDocumentTitleItem, onClickSearchItem, }) => {
|
|
6956
7014
|
var _a, _b, _c;
|
|
6957
7015
|
const [ecomModal, setEcomModal] = useState(false);
|
|
@@ -6982,7 +7040,7 @@ const WaykeSearchItem = ({ id, hashRoute, pathRoute, disableResetScrollOnInit, p
|
|
|
6982
7040
|
const { vehicle } = result;
|
|
6983
7041
|
const contact = centralStorageVehicle === null || centralStorageVehicle === void 0 ? void 0 : centralStorageVehicle.contact;
|
|
6984
7042
|
const branch = centralStorageVehicle === null || centralStorageVehicle === void 0 ? void 0 : centralStorageVehicle.branch;
|
|
6985
|
-
const { title, shortDescription, media, description, price, financialOptions, insuranceOptions, manufacturer, ecommerce, packageOptions, publishedAt, } = vehicle;
|
|
7043
|
+
const { title, shortDescription, media, description, price, financialOptions, insuranceOptions, manufacturer, ecommerce, packageOptions, publishedAt, documents, } = vehicle;
|
|
6986
7044
|
const { fuelType, mileage, gearbox, modelYear, propertySet } = vehicle.data;
|
|
6987
7045
|
const uspList = [
|
|
6988
7046
|
{
|
|
@@ -7052,6 +7110,14 @@ const WaykeSearchItem = ({ id, hashRoute, pathRoute, disableResetScrollOnInit, p
|
|
|
7052
7110
|
React__default.createElement(Repeat, null,
|
|
7053
7111
|
React__default.createElement(ExtendContent, { actionTitle: "Visa mer", onClick: onShowMoreOptionsClick },
|
|
7054
7112
|
React__default.createElement(UspList, { items: options }))))),
|
|
7113
|
+
(documents.length || 0) > 0 && (React__default.createElement(ProductPageMainSection, null,
|
|
7114
|
+
React__default.createElement(Repeat, null,
|
|
7115
|
+
React__default.createElement(H2, { noMargin: true }, "Dokument")),
|
|
7116
|
+
React__default.createElement(Repeat, null,
|
|
7117
|
+
React__default.createElement(Content$2, null,
|
|
7118
|
+
React__default.createElement("p", null, "Tillh\u00F6rande dokument f\u00F6r bilen."))),
|
|
7119
|
+
React__default.createElement(Repeat, null,
|
|
7120
|
+
React__default.createElement(PdfDownloadContainer, { documents: documents })))),
|
|
7055
7121
|
React__default.createElement(ProductPageMainSection, null,
|
|
7056
7122
|
React__default.createElement(Branch, { branch: branch, loading: loadingCentralStorageVehicle }),
|
|
7057
7123
|
ecommerce && ecommerce.enabled && (React__default.createElement(Repeat, null,
|
|
@@ -7460,8 +7526,8 @@ const WaykeComposite = ({ filterList, initialQueryParams, removeSearchBar, remov
|
|
|
7460
7526
|
return (React__default.createElement(React__default.Fragment, null, id ? (React__default.createElement(WaykeSearchItem, { id: id, hashRoute: !pathRoute, disableResetScrollOnInit: disableResetScrollOnInit, placeholderImage: placeholderImage, pathRoute: pathRoute, modifyDocumentTitleItem: modifyDocumentTitleItem })) : (React__default.createElement(WaykeSearch, { filterList: filterList, initialQueryParams: initialQueryParams, removeSearchBar: removeSearchBar, hashRoute: !pathRoute, placeholderImage: placeholderImage, pathRoute: pathRoute, removeFilterOptions: removeFilterOptions, modifyDocumentTitleSearch: modifyDocumentTitleSearch }))));
|
|
7461
7527
|
};
|
|
7462
7528
|
|
|
7463
|
-
const WaykeCompositeWithProvider = ({ provider, composite }) => (React__default.createElement(WaykeProvider,
|
|
7464
|
-
React__default.createElement(WaykeComposite,
|
|
7529
|
+
const WaykeCompositeWithProvider = ({ provider, composite }) => (React__default.createElement(WaykeProvider, { ...provider },
|
|
7530
|
+
React__default.createElement(WaykeComposite, { ...composite })));
|
|
7465
7531
|
|
|
7466
7532
|
const WaykeItemProvider = ({ url, urlMlt, apiKey, ecomSettings, graphQlUrl, googleMapsApiKey, googleMapsMarker, children, }) => {
|
|
7467
7533
|
useEcom(ecomSettings);
|