@wayke-se/components-react 2.13.0 → 2.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist-node/index.js +171 -15
  2. package/dist-node/index.js.map +1 -1
  3. package/dist-src/components/Content/wrapper.js +5 -0
  4. package/dist-src/components/InsuranceOptions/Insurance.js +26 -0
  5. package/dist-src/components/InsuranceOptions/InsuranceFree.js +31 -0
  6. package/dist-src/components/InsuranceOptions/InsuranceFreeModal.js +20 -0
  7. package/dist-src/components/InsuranceOptions/{InsuranceOptionModal.js → InsuranceModal.js} +3 -3
  8. package/dist-src/components/InsuranceOptions/index.js +10 -21
  9. package/dist-src/components/Pdf/index.js +11 -0
  10. package/dist-src/components/Pdf/wrapper.js +55 -0
  11. package/dist-src/hooks/useInsurance.js +3 -2
  12. package/dist-src/layouts/searchItem/MetadataItem.js +2 -2
  13. package/dist-src/layouts/searchItem/index.js +14 -2
  14. package/dist-src/queries/INSURANCE_CALCULATION.js +7 -1
  15. package/dist-src/queries/SEARCH_ITEM_BRANCH_QUERY.js +14 -0
  16. package/dist-src/queries/SEARCH_ITEM_QUERY.js +10 -2
  17. package/dist-types/@types/codegen/types.d.ts +66 -42
  18. package/dist-types/components/InsuranceOptions/Insurance.d.ts +9 -0
  19. package/dist-types/components/InsuranceOptions/InsuranceFree.d.ts +7 -0
  20. package/dist-types/components/InsuranceOptions/InsuranceFreeModal.d.ts +8 -0
  21. package/dist-types/components/InsuranceOptions/InsuranceModal.d.ts +10 -0
  22. package/dist-types/components/InsuranceOptions/index.d.ts +3 -2
  23. package/dist-types/components/Pdf/index.d.ts +11 -0
  24. package/dist-types/components/Pdf/wrapper.d.ts +11 -0
  25. package/dist-types/hooks/useInsurance.d.ts +1 -1
  26. package/dist-web/index.js +168 -13
  27. package/dist-web/index.js.map +1 -1
  28. package/package.json +1 -1
  29. package/dist-types/components/InsuranceOptions/InsuranceOptionModal.d.ts +0 -9
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { InsuranceOption } from '../../@types/codegen/types';
3
+ interface InsuranceFreeModal {
4
+ onClose: () => void;
5
+ insuranceOptions: InsuranceOption;
6
+ }
7
+ declare const InsuranceFreeModal: ({ onClose, insuranceOptions }: InsuranceFreeModal) => JSX.Element;
8
+ export default InsuranceFreeModal;
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import { InsuranceOption, Branch } from '../../@types/codegen/types';
3
+ interface InsuranceModal {
4
+ id: string;
5
+ branch?: Branch | null;
6
+ onClose: () => void;
7
+ insuranceOptions: InsuranceOption;
8
+ }
9
+ declare const InsuranceModal: ({ id, branch, onClose, insuranceOptions }: InsuranceModal) => JSX.Element;
10
+ export default InsuranceModal;
@@ -1,8 +1,9 @@
1
1
  /// <reference types="react" />
2
- import { InsuranceOption } from '../../@types/codegen/types';
2
+ import { InsuranceOption, Branch } from '../../@types/codegen/types';
3
3
  interface InsuranceOptions {
4
4
  id: string;
5
+ branch?: Branch | null;
5
6
  insuranceOptions: InsuranceOption[];
6
7
  }
7
- declare const InsuranceOptions: ({ id, insuranceOptions }: InsuranceOptions) => JSX.Element | null;
8
+ declare const InsuranceOptions: ({ id, branch, insuranceOptions }: InsuranceOptions) => JSX.Element | null;
8
9
  export default InsuranceOptions;
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { Scalars } from '../../@types/codegen/types';
3
+ interface PdfDownloadItemProps {
4
+ document: Scalars['FileDocument'];
5
+ }
6
+ export declare const PdfDownloadItem: ({ document }: PdfDownloadItemProps) => JSX.Element;
7
+ interface PdfDownloadContainerProps {
8
+ documents: Scalars['FileDocument'][];
9
+ }
10
+ export declare const PdfDownloadContainer: ({ documents }: PdfDownloadContainerProps) => JSX.Element;
11
+ export default PdfDownloadContainer;
@@ -0,0 +1,11 @@
1
+ export declare const PdfListItem: import("styled-components").StyledComponent<"li", import("styled-components").DefaultTheme, {
2
+ className: "wayke__theme wayke__color--primary-text";
3
+ }, "className">;
4
+ export declare const PdfContainer: import("styled-components").StyledComponent<"ul", import("styled-components").DefaultTheme, {}, never>;
5
+ export declare const PdfLink: import("styled-components").StyledComponent<"a", import("styled-components").DefaultTheme, {
6
+ className: "wayke__theme wayke__color--primary-text wayke__font--bold";
7
+ }, "className">;
8
+ export declare const PdfTitle: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
9
+ export declare const PdfSubtitle: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
10
+ export declare const PdfColumn: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
11
+ export declare const PdfListInner: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
@@ -1,4 +1,4 @@
1
1
  import { QueryResult } from '@apollo/client';
2
2
  import { DrivingDistance, QueryInsurancesArgs, Query } from '../@types/codegen/types';
3
- declare const useInsuranceCalculation: (id: string, personalNumber?: string | undefined, drivingDistance?: DrivingDistance | undefined) => QueryResult<Query, QueryInsurancesArgs>;
3
+ declare const useInsuranceCalculation: (id: string, branchId?: string | undefined, personalNumber?: string | undefined, drivingDistance?: DrivingDistance | undefined) => QueryResult<Query, QueryInsurancesArgs>;
4
4
  export default useInsuranceCalculation;
package/dist-web/index.js CHANGED
@@ -8,8 +8,8 @@ import LazyLoad from 'react-lazyload';
8
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
- import EcomBase from '@wayke-se/ecom-react';
12
11
  import { marked } from 'marked';
12
+ import EcomBase from '@wayke-se/ecom-react';
13
13
  import { parsePhoneNumberFromString } from 'libphonenumber-js/core';
14
14
 
15
15
  const _colors = {
@@ -2547,6 +2547,11 @@ const Wrapper$c = styled.div `
2547
2547
  }
2548
2548
  }
2549
2549
 
2550
+ img {
2551
+ display: block;
2552
+ width: 100%;
2553
+ }
2554
+
2550
2555
  ${({ small }) => small &&
2551
2556
  css `
2552
2557
  font-size: 0.875rem;
@@ -4098,6 +4103,7 @@ const SEARCH_ITEM_QUERY = gql `
4098
4103
  query SearchItem($id: ID!) {
4099
4104
  vehicle(id: $id) {
4100
4105
  id
4106
+ documents
4101
4107
  contact {
4102
4108
  name
4103
4109
  email
@@ -4237,10 +4243,17 @@ const SEARCH_ITEM_QUERY = gql `
4237
4243
  withHomeDelivery
4238
4244
  }
4239
4245
  insuranceOptions {
4240
- description
4246
+ insuranceHeader
4247
+ institute
4248
+ identifier
4241
4249
  logotype
4242
- url
4243
4250
  name
4251
+ description
4252
+ longDescription
4253
+ url
4254
+ insuranceText
4255
+ requiresPersonalNumber
4256
+ requiresDistance
4244
4257
  terms
4245
4258
  }
4246
4259
  financialOptions {
@@ -5076,10 +5089,16 @@ const ColumnRowItem = styled.div `
5076
5089
  const INSURANCE_CALCULATION = gql `
5077
5090
  query InsuranceCalculation(
5078
5091
  $id: ID!
5092
+ $branch: ID
5079
5093
  $personalNumber: PersonalNumber!
5080
5094
  $drivingDistance: DrivingDistance!
5081
5095
  ) {
5082
- insurances(id: $id, personalNumber: $personalNumber, drivingDistance: $drivingDistance) {
5096
+ insurances(
5097
+ id: $id
5098
+ branch: $branch
5099
+ personalNumber: $personalNumber
5100
+ drivingDistance: $drivingDistance
5101
+ ) {
5083
5102
  name
5084
5103
  price
5085
5104
  unit
@@ -5107,13 +5126,14 @@ const INSURANCE_CALCULATION = gql `
5107
5126
  }
5108
5127
  `;
5109
5128
 
5110
- const useInsuranceCalculation = (id, personalNumber, drivingDistance) => useQuery(INSURANCE_CALCULATION, {
5129
+ const useInsuranceCalculation = (id, branchId, personalNumber, drivingDistance) => useQuery(INSURANCE_CALCULATION, {
5111
5130
  variables: {
5112
5131
  id,
5132
+ branch: branchId,
5113
5133
  personalNumber: personalNumber,
5114
5134
  drivingDistance: drivingDistance,
5115
5135
  },
5116
- skip: personalNumber === undefined || drivingDistance === undefined,
5136
+ skip: personalNumber === undefined || drivingDistance === undefined || branchId === undefined,
5117
5137
  });
5118
5138
 
5119
5139
  const ssnIsValid = (s) => (s ? /^\d{2,4}\d{2}\d{2}\-?\d{4}$/.test(s) : false);
@@ -5133,13 +5153,13 @@ var FinancialOptionInclusion;
5133
5153
  FinancialOptionInclusion["IncludesWintertires"] = "INCLUDES_WINTERTIRES";
5134
5154
  })(FinancialOptionInclusion || (FinancialOptionInclusion = {}));
5135
5155
 
5136
- const InsuranceOptionModal = ({ id, onClose, insuranceOptions }) => {
5156
+ const InsuranceModal = ({ id, branch, onClose, insuranceOptions }) => {
5137
5157
  const [form, setForm] = useState({
5138
5158
  ssn: '',
5139
5159
  drivingDistance: DrivingDistance.Between0And1000,
5140
5160
  });
5141
5161
  const [payload, setPayload] = useState();
5142
- const { loading, data, error } = useInsuranceCalculation(id, ssnIsValid(payload === null || payload === void 0 ? void 0 : payload.ssn) ? payload === null || payload === void 0 ? void 0 : payload.ssn : undefined, payload === null || payload === void 0 ? void 0 : payload.drivingDistance);
5162
+ const { loading, data, error } = useInsuranceCalculation(id, (branch === null || branch === void 0 ? void 0 : branch.id) ? branch === null || branch === void 0 ? void 0 : branch.id : undefined, ssnIsValid(payload === null || payload === void 0 ? void 0 : payload.ssn) ? payload === null || payload === void 0 ? void 0 : payload.ssn : undefined, payload === null || payload === void 0 ? void 0 : payload.drivingDistance);
5143
5163
  const onChangeSsn = useCallback((e) => setForm({ ...form, ssn: e.currentTarget.value }), [form]);
5144
5164
  const onChangeDrivingDistance = useCallback((e) => setForm({ ...form, drivingDistance: e.currentTarget.value }), [form]);
5145
5165
  const onShowInsurances = useCallback(() => {
@@ -5213,14 +5233,14 @@ const InsuranceOptionModal = ({ id, onClose, insuranceOptions }) => {
5213
5233
  addon.unit)))))))))))))))));
5214
5234
  };
5215
5235
 
5216
- const InsuranceOptions = ({ id, insuranceOptions }) => {
5236
+ const Insurance = ({ id, branch, insuranceOptions }) => {
5217
5237
  const [modal, setModal] = useState(false);
5218
5238
  const toggleModal = useCallback(() => setModal(!modal), [modal]);
5219
5239
  if (!insuranceOptions.length) {
5220
5240
  return null;
5221
5241
  }
5222
5242
  return (React__default.createElement(React__default.Fragment, null,
5223
- modal && (React__default.createElement(InsuranceOptionModal, { id: id, onClose: toggleModal, insuranceOptions: insuranceOptions[0] })),
5243
+ modal && (React__default.createElement(InsuranceModal, { id: id, branch: branch, onClose: toggleModal, insuranceOptions: insuranceOptions[0] })),
5224
5244
  React__default.createElement(Repeat, null,
5225
5245
  React__default.createElement(RepeatTiny, null,
5226
5246
  React__default.createElement(VisualHeading, null, "V\u00E4lj till f\u00F6rs\u00E4kring")),
@@ -5232,6 +5252,53 @@ const InsuranceOptions = ({ id, insuranceOptions }) => {
5232
5252
  React__default.createElement(ButtonInline, { onClick: toggleModal }, "Mer information")))))))))));
5233
5253
  };
5234
5254
 
5255
+ const InsuranceFreeModal = ({ onClose, insuranceOptions }) => {
5256
+ var _a;
5257
+ return (React__default.createElement(Modal, { title: (_a = insuranceOptions === null || insuranceOptions === void 0 ? void 0 : insuranceOptions.insuranceHeader) !== null && _a !== void 0 ? _a : 'Försäkring', onClose: onClose },
5258
+ (insuranceOptions === null || insuranceOptions === void 0 ? void 0 : insuranceOptions.longDescription) && (React__default.createElement(Repeat, null,
5259
+ React__default.createElement(Content$2, { dangerouslySetInnerHTML: {
5260
+ __html: marked(insuranceOptions.longDescription),
5261
+ } }))),
5262
+ (insuranceOptions === null || insuranceOptions === void 0 ? void 0 : insuranceOptions.url) && (React__default.createElement(Repeat, null,
5263
+ React__default.createElement(ButtonInline, { as: "a", href: insuranceOptions.url, target: "_blank", rel: "noopener noreferrer" }, "L\u00E4s mer om f\u00F6rs\u00E4kringen (\u00D6ppnas i ett nytt f\u00F6nster)"))),
5264
+ (insuranceOptions === null || insuranceOptions === void 0 ? void 0 : insuranceOptions.logotype) && (React__default.createElement(Repeat, null,
5265
+ React__default.createElement(LogoBox, { logo: insuranceOptions.logotype, alt: insuranceOptions.name || 'Logotyp', wide: true })))));
5266
+ };
5267
+
5268
+ const Insurance$1 = ({ insuranceOptions }) => {
5269
+ var _a, _b;
5270
+ const [modal, setModal] = useState(false);
5271
+ const toggleModal = useCallback(() => setModal(!modal), [modal]);
5272
+ if (!insuranceOptions.length) {
5273
+ return null;
5274
+ }
5275
+ return (React__default.createElement(React__default.Fragment, null,
5276
+ modal && React__default.createElement(InsuranceFreeModal, { onClose: toggleModal, insuranceOptions: insuranceOptions[0] }),
5277
+ React__default.createElement(Repeat, null,
5278
+ React__default.createElement(RepeatTiny, null,
5279
+ React__default.createElement(VisualHeading, null, (_b = (_a = insuranceOptions[0]) === null || _a === void 0 ? void 0 : _a.insuranceHeader) !== null && _b !== void 0 ? _b : 'Försäkring')),
5280
+ React__default.createElement(RepeatTiny, null,
5281
+ React__default.createElement(React__default.Fragment, null, insuranceOptions.map((insuranceOption, index) => (React__default.createElement(OptionBox, { key: `${insuranceOption.url}-${index}`, logo: insuranceOption.logotype || undefined, logoAlt: insuranceOption.name || 'Logotyp' },
5282
+ insuranceOption.description && (React__default.createElement(Content$2, { dangerouslySetInnerHTML: {
5283
+ __html: marked(insuranceOption.description),
5284
+ } })),
5285
+ React__default.createElement(OptionBoxContent, null,
5286
+ React__default.createElement("p", null,
5287
+ React__default.createElement(ButtonInline, { onClick: toggleModal }, "Mer information")))))))))));
5288
+ };
5289
+
5290
+ const InsuranceOptions = ({ id, branch, insuranceOptions }) => {
5291
+ if (!insuranceOptions.length) {
5292
+ return null;
5293
+ }
5294
+ if (insuranceOptions.length > 0) {
5295
+ if (insuranceOptions[0].requiresDistance && insuranceOptions[0].requiresPersonalNumber)
5296
+ return React__default.createElement(Insurance, { id: id, branch: branch, insuranceOptions: insuranceOptions });
5297
+ return React__default.createElement(Insurance$1, { insuranceOptions: insuranceOptions });
5298
+ }
5299
+ return null;
5300
+ };
5301
+
5235
5302
  const SettingsContext = createContext({});
5236
5303
 
5237
5304
  const useSettings = () => useContext(SettingsContext);
@@ -6162,6 +6229,20 @@ const SEARCH_ITEM_BRANCH_QUERY = gql `
6162
6229
  title
6163
6230
  }
6164
6231
  }
6232
+ insuranceOptions {
6233
+ insuranceHeader
6234
+ institute
6235
+ identifier
6236
+ logotype
6237
+ name
6238
+ description
6239
+ longDescription
6240
+ url
6241
+ insuranceText
6242
+ requiresPersonalNumber
6243
+ requiresDistance
6244
+ terms
6245
+ }
6165
6246
  }
6166
6247
  }
6167
6248
  ${HoursOpen$1}
@@ -6828,7 +6909,7 @@ const MetadataItem = ({ name, hint, value, unit }) => {
6828
6909
  const onToggleFoldout = useCallback(() => setFoldout(!foldout), [foldout]);
6829
6910
  const presentedValue = formatValue(value, unit);
6830
6911
  return (React__default.createElement(TableListItem, null,
6831
- React__default.createElement(TableListKey, null, hint ? (React__default.createElement(ButtonInlinePrimary, { onClick: onToggleFoldout, title: `Mer information om ${name}` }, name)) : (name)),
6912
+ React__default.createElement(TableListKey, null, hint ? (React__default.createElement(ButtonInline, { onClick: onToggleFoldout, title: `Mer information om ${name}` }, name)) : (name)),
6832
6913
  React__default.createElement(TableListValue, null, value !== undefined ? presentedValue : 'Uppgift saknas'),
6833
6914
  hint && foldout && (React__default.createElement(Modal, { title: name, onClose: onToggleFoldout },
6834
6915
  React__default.createElement(Content$2, { dangerouslySetInnerHTML: { __html: hint } })))));
@@ -6946,6 +7027,69 @@ const PropertySet = ({ propertySet, vehicleData }) => {
6946
7027
  React__default.createElement(MetadataCategory, { properties: activeCategory.properties, subCategories: activeCategory.subCategories })))));
6947
7028
  };
6948
7029
 
7030
+ const PdfListItem = styled.li.attrs(() => ({
7031
+ className: 'wayke__theme wayke__color--primary-text',
7032
+ })) `
7033
+ flex: 0 0 50%;
7034
+ padding: ${size(1)};
7035
+
7036
+ ${({ theme }) => theme.breakpoint.LtSm} {
7037
+ flex: 0 0 100%;
7038
+ }
7039
+ `;
7040
+ const PdfContainer = styled.ul `
7041
+ list-style: none;
7042
+ padding: 0;
7043
+ display: flex;
7044
+ flex-wrap: wrap;
7045
+ margin: ${size(-1)};
7046
+ `;
7047
+ const PdfLink = styled.a.attrs(() => ({
7048
+ className: 'wayke__theme wayke__color--primary-text wayke__font--bold',
7049
+ })) `
7050
+ text-decoration: none;
7051
+ font-size: 0.875rem;
7052
+ &:after {
7053
+ content: '';
7054
+ position: absolute;
7055
+ top: 0;
7056
+ left: 0;
7057
+ width: 100%;
7058
+ height: 100%;
7059
+ }
7060
+ `;
7061
+ const PdfTitle = styled.div `
7062
+ color: ${(props) => props.theme.color.textDark};
7063
+ `;
7064
+ const PdfSubtitle = styled.div `
7065
+ color: ${(props) => props.theme.color.textDarkLighten};
7066
+ `;
7067
+ const PdfColumn = styled.div `
7068
+ flex 0 0 auto;
7069
+ &:first-child {
7070
+ flex: 1 1 auto;
7071
+ }
7072
+ `;
7073
+ const PdfListInner = styled.div `
7074
+ position: relative;
7075
+ border: 1px solid ${(props) => props.theme.color.border};
7076
+ padding: ${size(1.5)};
7077
+ display: flex;
7078
+ align-items: center;
7079
+ :hover {
7080
+ background-color: ${(props) => props.theme.color.hoverOverlay};
7081
+ }
7082
+ `;
7083
+
7084
+ const PdfDownloadItem = ({ document }) => (React__default.createElement(PdfListItem, null,
7085
+ React__default.createElement(PdfListInner, null,
7086
+ React__default.createElement(PdfColumn, null,
7087
+ React__default.createElement(PdfTitle, null, document.name),
7088
+ React__default.createElement(PdfSubtitle, null, document.contentType)),
7089
+ React__default.createElement(PdfColumn, null,
7090
+ React__default.createElement(PdfLink, { href: document.url, rel: "noopener noreferrer nofollow", target: "_blank" }, "\u00D6ppna")))));
7091
+ const PdfDownloadContainer = ({ documents }) => (React__default.createElement(PdfContainer, null, documents.map((document, i) => (React__default.createElement(PdfDownloadItem, { key: `${document.url}-${i}`, document: document })))));
7092
+
6949
7093
  const WaykeSearchItem = ({ id, hashRoute, pathRoute, disableResetScrollOnInit, placeholderImage, modifyDocumentTitleItem, onClickSearchItem, }) => {
6950
7094
  var _a, _b, _c;
6951
7095
  const [ecomModal, setEcomModal] = useState(false);
@@ -6976,7 +7120,10 @@ const WaykeSearchItem = ({ id, hashRoute, pathRoute, disableResetScrollOnInit, p
6976
7120
  const { vehicle } = result;
6977
7121
  const contact = centralStorageVehicle === null || centralStorageVehicle === void 0 ? void 0 : centralStorageVehicle.contact;
6978
7122
  const branch = centralStorageVehicle === null || centralStorageVehicle === void 0 ? void 0 : centralStorageVehicle.branch;
6979
- const { title, shortDescription, media, description, price, financialOptions, insuranceOptions, manufacturer, ecommerce, packageOptions, publishedAt, } = vehicle;
7123
+ const { title, shortDescription, media, description, price, financialOptions, manufacturer, ecommerce, packageOptions, publishedAt, documents, } = vehicle;
7124
+ const insuranceOptions = (centralStorageVehicle === null || centralStorageVehicle === void 0 ? void 0 : centralStorageVehicle.insuranceOptions)
7125
+ ? centralStorageVehicle.insuranceOptions
7126
+ : vehicle.insuranceOptions;
6980
7127
  const { fuelType, mileage, gearbox, modelYear, propertySet } = vehicle.data;
6981
7128
  const uspList = [
6982
7129
  {
@@ -7019,7 +7166,7 @@ const WaykeSearchItem = ({ id, hashRoute, pathRoute, disableResetScrollOnInit, p
7019
7166
  React__default.createElement(PriceTable, { price: price })),
7020
7167
  (financialOptions.length > 0 || insuranceOptions.length > 0) && (React__default.createElement(ProductPageAsideSection, { mobileOrder: 4 },
7021
7168
  financialOptions.length > 0 && (React__default.createElement(FinancialOptions, { id: id, financialOptions: financialOptions })),
7022
- insuranceOptions.length > 0 && (React__default.createElement(InsuranceOptions, { id: id, insuranceOptions: insuranceOptions })))),
7169
+ insuranceOptions.length > 0 && (React__default.createElement(InsuranceOptions, { id: id, branch: centralStorageVehicle === null || centralStorageVehicle === void 0 ? void 0 : centralStorageVehicle.branch, insuranceOptions: insuranceOptions })))),
7023
7170
  React__default.createElement(ProductPageAsideSection, { mobileOrder: 5 },
7024
7171
  React__default.createElement(CheckList, { manufacturer: manufacturer, packageOptions: packageOptions, ecommerce: ecommerce, branch: branch, contact: centralStorageVehicle === null || centralStorageVehicle === void 0 ? void 0 : centralStorageVehicle.contact, loadingCentralStorageVehicle: loadingCentralStorageVehicle, toggleEcomModal: toggleEcomModal }))),
7025
7172
  React__default.createElement(ProductPageMain, null,
@@ -7046,6 +7193,14 @@ const WaykeSearchItem = ({ id, hashRoute, pathRoute, disableResetScrollOnInit, p
7046
7193
  React__default.createElement(Repeat, null,
7047
7194
  React__default.createElement(ExtendContent, { actionTitle: "Visa mer", onClick: onShowMoreOptionsClick },
7048
7195
  React__default.createElement(UspList, { items: options }))))),
7196
+ (documents.length || 0) > 0 && (React__default.createElement(ProductPageMainSection, null,
7197
+ React__default.createElement(Repeat, null,
7198
+ React__default.createElement(H2, { noMargin: true }, "Dokument")),
7199
+ React__default.createElement(Repeat, null,
7200
+ React__default.createElement(Content$2, null,
7201
+ React__default.createElement("p", null, "Tillh\u00F6rande dokument f\u00F6r bilen."))),
7202
+ React__default.createElement(Repeat, null,
7203
+ React__default.createElement(PdfDownloadContainer, { documents: documents })))),
7049
7204
  React__default.createElement(ProductPageMainSection, null,
7050
7205
  React__default.createElement(Branch, { branch: branch, loading: loadingCentralStorageVehicle }),
7051
7206
  ecommerce && ecommerce.enabled && (React__default.createElement(Repeat, null,