@wayke-se/components-react 3.3.1 → 3.4.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.
@@ -467,6 +467,7 @@ const Wrapper$3 = styled__default.div.attrs(() => ({
467
467
  `}
468
468
  `;
469
469
 
470
+ // Adds element only visible to screen readers
470
471
  const SrOnly = styled__default.div`
471
472
  position: absolute;
472
473
  width: 1px;
@@ -554,15 +555,14 @@ const COLOR_BEIGE = {
554
555
  export const DEFAULT_PLACEHOLDER_IMAGE =
555
556
  'https://cdn.wayke.se/wui/images/placeholders/placeholder_product_card.jpg';
556
557
  */
557
-
558
558
  const DEFAULT_PLACEHOLDER_IMAGE = 'data:image/jpeg;base64,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';
559
559
 
560
+ // Filter function to remove any null/undefined values.
560
561
  const notEmpty = value => value !== null && value !== undefined;
561
562
  const numberSeparator = (value, n = 0, x = 3, s = ' ', c = '.') => {
562
563
  if (value === null || value === undefined) {
563
564
  return null;
564
565
  }
565
-
566
566
  const re = `\\d(?=(\\d{${x || 3}})+${n > 0 ? '\\D' : '$'})`;
567
567
  const num = value.toFixed(Math.max(0, ~~n));
568
568
  return (c ? num.replace('.', c) : num).replace(new RegExp(re, 'g'), `$&${s || ','}`);
@@ -571,43 +571,30 @@ const FacetIdToTitle = f => {
571
571
  switch (f) {
572
572
  case MANUFACTURER:
573
573
  return 'Tillverkare';
574
-
575
574
  case MODEL_SERIES:
576
575
  return 'Modell';
577
-
578
576
  case FUEL_TYPE:
579
577
  return 'Drivmedel';
580
-
581
578
  case GEARBOX_TYPE:
582
579
  return 'Växellåda';
583
-
584
580
  case SEGMENT:
585
581
  return 'Segment';
586
-
587
582
  case DRIVING_WHEEL:
588
583
  return 'Drivhjul';
589
-
590
584
  case ENVIRONMENT_CLASS:
591
585
  return 'Miljöklass';
592
-
593
586
  case COLOR:
594
587
  return 'Färg';
595
-
596
588
  case PRICE:
597
589
  return 'Pris';
598
-
599
590
  case BRANCH:
600
591
  return 'Anläggning';
601
-
602
592
  case MILEAGE:
603
593
  return 'Miltal';
604
-
605
594
  case MODEL_YEAR:
606
595
  return 'Modellår';
607
-
608
596
  case LEASING_PRICE:
609
597
  return 'Privatleasing';
610
-
611
598
  default:
612
599
  return f;
613
600
  }
@@ -617,18 +604,15 @@ const dateTimeFormat = {
617
604
  DayMonth: 2,
618
605
  format: (value, format) => {
619
606
  const date = new Date(value);
620
-
621
607
  switch (format) {
622
608
  case dateTimeFormat.YearMonth:
623
609
  return dateFns.format(date, 'MMMM yyyy', {
624
610
  locale: locale.sv
625
611
  });
626
-
627
612
  case dateTimeFormat.DayMonth:
628
613
  return dateFns.format(date, 'd MMMM yyyy', {
629
614
  locale: locale.sv
630
615
  });
631
-
632
616
  default:
633
617
  return dateFns.format(date, 'yyyy-MM-dd HH:mm', {
634
618
  locale: locale.sv
@@ -825,22 +809,16 @@ const getTranslatedSortOptionDisplayName = str => {
825
809
  switch (str) {
826
810
  case SortOptionDisplayName.PublishedAsc:
827
811
  return 'Publicerad äldst';
828
-
829
812
  case SortOptionDisplayName.PublishedDesc:
830
813
  return 'Publicerad senast';
831
-
832
814
  case SortOptionDisplayName.PriceAsc:
833
815
  return 'Pris lägst';
834
-
835
816
  case SortOptionDisplayName.Pricedesc:
836
817
  return 'Pris högst';
837
-
838
818
  case SortOptionDisplayName.ModelAsc:
839
819
  return 'Årsmodell äldst';
840
-
841
820
  case SortOptionDisplayName.Modeldesc:
842
821
  return 'Årsmodell nyast';
843
-
844
822
  default:
845
823
  return str;
846
824
  }
@@ -850,7 +828,6 @@ const Result = ({
850
828
  children
851
829
  }) => {
852
830
  var _response$documentLis;
853
-
854
831
  const {
855
832
  loading,
856
833
  response,
@@ -868,11 +845,9 @@ const Result = ({
868
845
  value: so.query,
869
846
  displayName: getTranslatedSortOptionDisplayName(so.displayName)
870
847
  }));
871
-
872
848
  if (loading && !useSkeletons) {
873
849
  return React__default.createElement(Loader, null);
874
850
  }
875
-
876
851
  return React__default.createElement(Wrapper$1, null, React__default.createElement(Header, null, React__default.createElement(HeaderCount, null, React__default.createElement(ResultCount, null, `${numberSeparator(numberOfHits)} ${numberOfHits === 1 ? 'bil' : 'bilar'}`)), sortOptions && selectedSortOption && React__default.createElement(HeaderSort, null, React__default.createElement(SortSelect, {
877
852
  value: selectedSortOption,
878
853
  options: sortOptions,
@@ -891,17 +866,14 @@ const Result = ({
891
866
 
892
867
  function ownKeys(object, enumerableOnly) {
893
868
  var keys = Object.keys(object);
894
-
895
869
  if (Object.getOwnPropertySymbols) {
896
870
  var symbols = Object.getOwnPropertySymbols(object);
897
871
  enumerableOnly && (symbols = symbols.filter(function (sym) {
898
872
  return Object.getOwnPropertyDescriptor(object, sym).enumerable;
899
873
  })), keys.push.apply(keys, symbols);
900
874
  }
901
-
902
875
  return keys;
903
876
  }
904
-
905
877
  function _objectSpread2(target) {
906
878
  for (var i = 1; i < arguments.length; i++) {
907
879
  var source = null != arguments[i] ? arguments[i] : {};
@@ -911,10 +883,8 @@ function _objectSpread2(target) {
911
883
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
912
884
  });
913
885
  }
914
-
915
886
  return target;
916
887
  }
917
-
918
888
  function _defineProperty(obj, key, value) {
919
889
  if (key in obj) {
920
890
  Object.defineProperty(obj, key, {
@@ -926,7 +896,6 @@ function _defineProperty(obj, key, value) {
926
896
  } else {
927
897
  obj[key] = value;
928
898
  }
929
-
930
899
  return obj;
931
900
  }
932
901
 
@@ -1024,14 +993,11 @@ const H2 = styled__default(HeadingBase).attrs(props => ({
1024
993
  }))`
1025
994
  font-size: 1.5rem;
1026
995
  `;
1027
- /*
1028
- export const H3 = styled(HeadingBase).attrs<{ as: string }>((props) => ({
1029
- as: props.as || 'h3',
996
+ const H3 = styled__default(HeadingBase).attrs(props => ({
997
+ as: props.as || 'h3'
1030
998
  }))`
1031
999
  font-size: 1.125rem;
1032
1000
  `;
1033
- */
1034
-
1035
1001
  const H4 = styled__default(HeadingBase).attrs(props => ({
1036
1002
  as: props.as || 'h4'
1037
1003
  }))`
@@ -1049,7 +1015,6 @@ export const H6 = styled(HeadingBase).attrs<{ as: string }>((props) => ({
1049
1015
  font-size: 0.67rem;
1050
1016
  `;
1051
1017
  */
1052
-
1053
1018
  const VisualHeading = styled__default.div.attrs(() => ({
1054
1019
  className: 'wayke__theme wayke__font--bold'
1055
1020
  }))`
@@ -1208,11 +1173,9 @@ const Portal = ({
1208
1173
  children
1209
1174
  }) => {
1210
1175
  const el = React__default.useRef(document.getElementById(id) || document.createElement('div'));
1211
-
1212
1176
  if (!el.current) {
1213
1177
  return null;
1214
1178
  }
1215
-
1216
1179
  const {
1217
1180
  current
1218
1181
  } = el;
@@ -1220,12 +1183,10 @@ const Portal = ({
1220
1183
  React__default.useEffect(() => {
1221
1184
  if (dynamic) {
1222
1185
  current.id = id;
1223
-
1224
1186
  if (document.body) {
1225
1187
  document.body.appendChild(current);
1226
1188
  }
1227
1189
  }
1228
-
1229
1190
  return () => {
1230
1191
  if (dynamic && current.parentElement) {
1231
1192
  current.parentElement.removeChild(current);
@@ -1234,7 +1195,6 @@ const Portal = ({
1234
1195
  }, [id]);
1235
1196
  return ReactDOM.createPortal(children, current);
1236
1197
  };
1237
-
1238
1198
  var Portal$1 = React__default.memo(Portal);
1239
1199
 
1240
1200
  const Panel = ({
@@ -1370,7 +1330,6 @@ const AccordionItem = ({
1370
1330
  block: true
1371
1331
  }))), React__default.createElement(Body$2, null, children));
1372
1332
  };
1373
-
1374
1333
  const Accordion = ({
1375
1334
  children
1376
1335
  }) => React__default.createElement(List$1, null, children);
@@ -1462,7 +1421,6 @@ const ChecklistItem = ({
1462
1421
  })), React__default.createElement(ActionLabel, {
1463
1422
  className: active ? 'wayke__theme wayke__font--bold wayke__color--primary-text' : ''
1464
1423
  }, label)));
1465
-
1466
1424
  const Checklist = ({
1467
1425
  items,
1468
1426
  radio
@@ -1470,7 +1428,6 @@ const Checklist = ({
1470
1428
  if (!(items !== null && items !== void 0 && items.length)) {
1471
1429
  return null;
1472
1430
  }
1473
-
1474
1431
  return React__default.createElement(List$2, null, items.map(item => React__default.createElement(ChecklistItem, {
1475
1432
  key: item.label,
1476
1433
  label: item.label,
@@ -1613,14 +1570,12 @@ const ColorSelectItem = ({
1613
1570
  className: active ? 'wayke__theme wayke__color--primary-text wayke__font--bold' : ''
1614
1571
  }, label)));
1615
1572
  };
1616
-
1617
1573
  const ColorSelect = ({
1618
1574
  items
1619
1575
  }) => {
1620
1576
  if (!items) {
1621
1577
  return null;
1622
1578
  }
1623
-
1624
1579
  return React__default.createElement(List$3, null, items.map(item => React__default.createElement(ColorSelectItem, {
1625
1580
  key: item.label,
1626
1581
  label: item.label,
@@ -1636,40 +1591,28 @@ const getHexColorFromDisplayName = displayName => {
1636
1591
  switch (displayName) {
1637
1592
  case COLOR_WHITE.displayName:
1638
1593
  return COLOR_WHITE.hex;
1639
-
1640
1594
  case COLOR_BLACK.displayName:
1641
1595
  return COLOR_BLACK.hex;
1642
-
1643
1596
  case COLOR_GRAY.displayName:
1644
1597
  return COLOR_GRAY.hex;
1645
-
1646
1598
  case COLOR_SILVER.displayName:
1647
1599
  return COLOR_SILVER.hex;
1648
-
1649
1600
  case COLOR_BLUE.displayName:
1650
1601
  return COLOR_BLUE.hex;
1651
-
1652
1602
  case COLOR_RED.displayName:
1653
1603
  return COLOR_RED.hex;
1654
-
1655
1604
  case COLOR_BROWN.displayName:
1656
1605
  return COLOR_BROWN.hex;
1657
-
1658
1606
  case COLOR_GREEN.displayName:
1659
1607
  return COLOR_GREEN.hex;
1660
-
1661
1608
  case COLOR_ORANGE.displayName:
1662
1609
  return COLOR_ORANGE.hex;
1663
-
1664
1610
  case COLOR_YELLOW.displayName:
1665
1611
  return COLOR_YELLOW.hex;
1666
-
1667
1612
  case COLOR_PURPLE.displayName:
1668
1613
  return COLOR_PURPLE.hex;
1669
-
1670
1614
  case COLOR_BEIGE.displayName:
1671
1615
  return COLOR_BEIGE.hex;
1672
-
1673
1616
  default:
1674
1617
  return '#fff';
1675
1618
  }
@@ -1824,7 +1767,6 @@ const getSteps = steps => {
1824
1767
  steps.forEach((step, index) => {
1825
1768
  if (index !== 0) {
1826
1769
  const c = step - steps[index - 1];
1827
-
1828
1770
  if (c < current) {
1829
1771
  current = c;
1830
1772
  }
@@ -1832,7 +1774,6 @@ const getSteps = steps => {
1832
1774
  });
1833
1775
  return current;
1834
1776
  };
1835
-
1836
1777
  const RangeSlider = ({
1837
1778
  loading,
1838
1779
  values,
@@ -1853,9 +1794,7 @@ const RangeSlider = ({
1853
1794
  const currentMin = formatValues ? numberSeparator(current[0]) : current[0];
1854
1795
  const currentMax = formatValues ? numberSeparator(current[1]) : current[1];
1855
1796
  const equal = domain[0] === domain[1];
1856
-
1857
1797
  const _maxPrefix = maxPrefix && domain[1] === current[1] ? maxPrefix : undefined;
1858
-
1859
1798
  React.useEffect(() => {
1860
1799
  if (values[0] !== current[0] || values[1] !== current[1]) {
1861
1800
  setCurrent(values);
@@ -1923,25 +1862,19 @@ const RangeSlider = ({
1923
1862
 
1924
1863
  const getInitialValues = (domain, facet, searchParams) => {
1925
1864
  const facetMin = domain[0]; //parseInt(facet.filters[0].displayName, 10);
1926
-
1927
1865
  const _queryMin = (searchParams === null || searchParams === void 0 ? void 0 : searchParams.get(`${facet.id}.min`)) || null;
1928
-
1929
1866
  const facetMax = domain[domain.length - 1]; //parseInt(facet.filters[facet.filters.length - 1].displayName, 10);
1930
-
1931
1867
  const _queryMax = (searchParams === null || searchParams === void 0 ? void 0 : searchParams.get(`${facet.id}.max`)) || null;
1932
-
1933
1868
  const queryMin = parseInt(_queryMin === null ? `${facetMin}` : _queryMin, 10);
1934
1869
  const min = facetMin > queryMin ? facetMin : queryMin;
1935
1870
  const queryMax = parseInt(_queryMax === null ? `${facetMax}` : _queryMax, 10);
1936
1871
  const max = queryMax > facetMax ? facetMin : queryMax;
1937
1872
  return min || max ? [min ? min : domain[0], max ? max : domain[1]] : domain;
1938
1873
  };
1939
-
1940
1874
  const averageDelta = ([x, ...xs]) => {
1941
1875
  if (x === undefined) return NaN;
1942
1876
  return xs.reduce(([acc, last], x) => [acc + (x - last), x], [0, x])[0] / xs.length;
1943
1877
  };
1944
-
1945
1878
  const getSteps$1 = initialAllValues => {
1946
1879
  const delta = averageDelta(initialAllValues);
1947
1880
  const max = Math.floor(initialAllValues[initialAllValues.length - 1] * 1000) / 1000;
@@ -1949,14 +1882,12 @@ const getSteps$1 = initialAllValues => {
1949
1882
  if (delta <= 1000 && delta >= 500) return new Array(max / 500 + 1).fill('').map((x, i) => i * 500);
1950
1883
  return initialAllValues;
1951
1884
  };
1952
-
1953
1885
  const RangeFacet = ({
1954
1886
  facet,
1955
1887
  unit,
1956
1888
  formatValues
1957
1889
  }) => {
1958
1890
  var _initialFacet$filters, _initialFacet$filters2, _queryFilter$searchPa3;
1959
-
1960
1891
  const {
1961
1892
  loading,
1962
1893
  queryFilter,
@@ -1968,9 +1899,7 @@ const RangeFacet = ({
1968
1899
  const [state, setValues] = React.useState(undefined);
1969
1900
  React.useEffect(() => {
1970
1901
  const _initialAllValues = (initialFacet === null || initialFacet === void 0 ? void 0 : initialFacet.filters.map(f => parseInt(f.displayName.replace(/[\<\>+-]+/g, ''), 10))) || [1, 2];
1971
-
1972
1902
  const _steps = getSteps$1(_initialAllValues);
1973
-
1974
1903
  const domain = [_steps[0], _steps[_steps.length - 1]];
1975
1904
  setValues({
1976
1905
  id: initialFacet === null || initialFacet === void 0 ? void 0 : initialFacet.id,
@@ -1982,13 +1911,11 @@ const RangeFacet = ({
1982
1911
  React.useEffect(() => {
1983
1912
  if (state !== null && state !== void 0 && state.id) {
1984
1913
  var _queryFilter$searchPa, _queryFilter$searchPa2;
1985
-
1986
1914
  const init = initialFacet !== null && initialFacet !== void 0 && initialFacet.filters.length ? getInitialValues(state.domain, initialFacet, queryFilter.searchParams) : [0, 0];
1987
1915
  const minStr = (_queryFilter$searchPa = queryFilter.searchParams) === null || _queryFilter$searchPa === void 0 ? void 0 : _queryFilter$searchPa.get(`${facet.id}.min`);
1988
1916
  const maxStr = (_queryFilter$searchPa2 = queryFilter.searchParams) === null || _queryFilter$searchPa2 === void 0 ? void 0 : _queryFilter$searchPa2.get(`${facet.id}.max`);
1989
1917
  const min = minStr ? parseFloat(minStr) : init[0];
1990
1918
  const max = maxStr ? parseFloat(maxStr) : init[1];
1991
-
1992
1919
  if (min !== state.values[0] || max !== state.values[1]) {
1993
1920
  onChange([min, max]);
1994
1921
  }
@@ -2004,15 +1931,12 @@ const RangeFacet = ({
2004
1931
  query.set('hits', '30');
2005
1932
  query.delete(`${facet.id}.min`);
2006
1933
  query.delete(`${facet.id}.max`);
2007
-
2008
1934
  if (nextValues[0] !== state.domain[0]) {
2009
1935
  query.set(`${facet.id}.min`, `${nextValues[0]}`);
2010
1936
  }
2011
-
2012
1937
  if (nextValues[1] !== state.domain[1]) {
2013
1938
  query.set(`${facet.id}.max`, `${nextValues[1]}`);
2014
1939
  }
2015
-
2016
1940
  query.sort();
2017
1941
  onFilterUpdate(query.toString());
2018
1942
  }
@@ -2045,39 +1969,33 @@ const FacetSelector = ({
2045
1969
  return React__default.createElement(ChecklistFacet, {
2046
1970
  facet: facet
2047
1971
  });
2048
-
2049
1972
  case COLOR:
2050
1973
  return React__default.createElement(ColorSelectFacet, {
2051
1974
  facet: facet
2052
1975
  });
2053
-
2054
1976
  case PRICE:
2055
1977
  return React__default.createElement(RangeFacet, {
2056
1978
  facet: facet,
2057
1979
  unit: "kr",
2058
1980
  formatValues: true
2059
1981
  });
2060
-
2061
1982
  case LEASING_PRICE:
2062
1983
  return React__default.createElement(RangeFacet, {
2063
1984
  facet: facet,
2064
1985
  unit: "kr/m\u00E5n",
2065
1986
  formatValues: true
2066
1987
  });
2067
-
2068
1988
  case MILEAGE:
2069
1989
  return React__default.createElement(RangeFacet, {
2070
1990
  facet: facet,
2071
1991
  unit: "mil",
2072
1992
  formatValues: true
2073
1993
  });
2074
-
2075
1994
  case MODEL_YEAR:
2076
1995
  return React__default.createElement(RangeFacet, {
2077
1996
  facet: facet,
2078
1997
  unit: "\u00E5r"
2079
1998
  });
2080
-
2081
1999
  default:
2082
2000
  return null;
2083
2001
  }
@@ -2119,17 +2037,14 @@ const isSelected = (f, searchParams) => {
2119
2037
  case MILEAGE:
2120
2038
  case MODEL_YEAR:
2121
2039
  return searchParams.has(`${f.id}.min`) || searchParams.has(`${f.id}.max`) ? 1 : 0;
2122
-
2123
2040
  default:
2124
2041
  return f.filters.filter(filter => filter.selected).length;
2125
2042
  }
2126
2043
  };
2127
-
2128
2044
  const Filter = ({
2129
2045
  filterList
2130
2046
  }) => {
2131
2047
  var _facets$filter;
2132
-
2133
2048
  const {
2134
2049
  queryFilter,
2135
2050
  initialFacets,
@@ -2141,21 +2056,17 @@ const Filter = ({
2141
2056
  const [facet, setFacet] = React.useState();
2142
2057
  const onSelectFacet = React.useCallback(nextFacet => setFacet(nextFacet), []);
2143
2058
  const onClose = React.useCallback(() => setFacet(undefined), []);
2144
-
2145
2059
  if (!facets) {
2146
2060
  return null;
2147
2061
  }
2148
-
2149
2062
  const filterNames = filterList ? filterList.map(x => x.filterName) : undefined;
2150
2063
  const filteredFacets = facets === null || facets === void 0 ? void 0 : (_facets$filter = facets.filter(x => x.id !== 'segment')) === null || _facets$filter === void 0 ? void 0 : _facets$filter.filter(f => filterNames ? filterNames.includes(f.id) : true).sort((a, b) => filterNames ? filterNames.indexOf(a.id) - filterNames.indexOf(b.id) : 0).map(x => {
2151
2064
  const match = filterList === null || filterList === void 0 ? void 0 : filterList.find(y => y.filterName === x.id);
2152
-
2153
2065
  if (match !== null && match !== void 0 && match.displayName) {
2154
2066
  return _objectSpread2(_objectSpread2({}, x), {}, {
2155
2067
  displayName: match.displayName
2156
2068
  });
2157
2069
  }
2158
-
2159
2070
  return _objectSpread2(_objectSpread2({}, x), {}, {
2160
2071
  displayName: FacetIdToTitle(x.id)
2161
2072
  });
@@ -2428,7 +2339,6 @@ const UspItem = ({
2428
2339
  block: true
2429
2340
  })))));
2430
2341
  };
2431
-
2432
2342
  const UspList = ({
2433
2343
  items,
2434
2344
  small
@@ -2436,7 +2346,6 @@ const UspList = ({
2436
2346
  if (!items) {
2437
2347
  return null;
2438
2348
  }
2439
-
2440
2349
  return React__default.createElement(List$5, {
2441
2350
  isSmall: small
2442
2351
  }, items.map((item, index) => React__default.createElement(UspItem, {
@@ -2450,11 +2359,9 @@ const PathContext = React.createContext(undefined);
2450
2359
 
2451
2360
  const usePath = () => {
2452
2361
  const context = React.useContext(PathContext);
2453
-
2454
2362
  if (!context) {
2455
2363
  throw new Error('usePath must be used within a PathProvider');
2456
2364
  }
2457
-
2458
2365
  return context;
2459
2366
  };
2460
2367
 
@@ -2475,13 +2382,10 @@ const ProductCard = ({
2475
2382
  const {
2476
2383
  pushState
2477
2384
  } = usePath();
2478
-
2479
2385
  const _onClick = React.useMemo(() => onClick ? () => onClick(id) : undefined, [id]);
2480
-
2481
2386
  const onHrefClick = React.useCallback(e => {
2482
2387
  if (pathRoute && href) {
2483
2388
  const reg = new RegExp('^((http|https)://)|//');
2484
-
2485
2389
  if (!pathRoute.match(reg) && !pathRoute.startsWith(location.origin)) {
2486
2390
  e.preventDefault();
2487
2391
  pushState(href);
@@ -2514,16 +2418,12 @@ const ProductCard = ({
2514
2418
 
2515
2419
  const resolveImage = document => {
2516
2420
  var _document$featuredIma, _document$featuredIma2, _document$featuredIma3;
2517
-
2518
2421
  const img = (_document$featuredIma = document.featuredImage) === null || _document$featuredIma === void 0 ? void 0 : (_document$featuredIma2 = _document$featuredIma.files) === null || _document$featuredIma2 === void 0 ? void 0 : (_document$featuredIma3 = _document$featuredIma2[0]) === null || _document$featuredIma3 === void 0 ? void 0 : _document$featuredIma3.url;
2519
-
2520
2422
  if (img) {
2521
2423
  return `${img}?w=567&q=72`;
2522
2424
  }
2523
-
2524
2425
  return undefined;
2525
2426
  };
2526
-
2527
2427
  const Grid = ({
2528
2428
  documents,
2529
2429
  placeholderImage,
@@ -2534,7 +2434,6 @@ const Grid = ({
2534
2434
  if (!documents) {
2535
2435
  return null;
2536
2436
  }
2537
-
2538
2437
  return React__default.createElement(Wrapper$7, null, React__default.createElement(List$4, null, documents.map(document => {
2539
2438
  /*
2540
2439
  const _path = pathRoute?.replace(/^\/|\/$/g, '');
@@ -2544,7 +2443,6 @@ const Grid = ({
2544
2443
  ? `${prefix}${document._id}`
2545
2444
  : `${window.location.pathname}${prefix}${document._id}`;
2546
2445
  */
2547
-
2548
2446
  /*
2549
2447
  const _pathRoute = pathRoute
2550
2448
  ? pathRoute.startsWith('/')
@@ -2554,7 +2452,6 @@ const Grid = ({
2554
2452
  console.log(_pathRoute);
2555
2453
  */
2556
2454
  const _pathRoute = pathRoute ? `${pathRoute}/${document._id}` : undefined;
2557
-
2558
2455
  return React__default.createElement(Item$4, {
2559
2456
  key: document._id
2560
2457
  }, React__default.createElement(ProductCard, {
@@ -2780,7 +2677,6 @@ const useOutsideClick = (ref, callback) => {
2780
2677
  callback();
2781
2678
  }
2782
2679
  };
2783
-
2784
2680
  React.useEffect(() => {
2785
2681
  document.addEventListener('click', handleClick);
2786
2682
  return () => {
@@ -2797,11 +2693,9 @@ const SearchBar = ({
2797
2693
  const ref = React.useRef(null);
2798
2694
  const onChange = React.useCallback(e => setValue(e.currentTarget.value), []);
2799
2695
  useOutsideClick(ref, () => setValue(''));
2800
-
2801
2696
  const _onSearch = React.useCallback(() => {
2802
2697
  onSearch(value);
2803
2698
  }, [value]);
2804
-
2805
2699
  const onKeyDown = React.useCallback(e => {
2806
2700
  if (e.keyCode === 13) {
2807
2701
  _onSearch();
@@ -2827,17 +2721,14 @@ const SearchFilter = () => {
2827
2721
  } = useSearch();
2828
2722
  const onSearch = React.useCallback(value => {
2829
2723
  const nextQuery = new URLSearchParams(queryFilter.searchParams);
2830
-
2831
2724
  if (value === nextQuery.get('query')) {
2832
2725
  return;
2833
2726
  }
2834
-
2835
2727
  if (value) {
2836
2728
  nextQuery.set('query', value);
2837
2729
  } else {
2838
2730
  nextQuery.delete('qquery');
2839
2731
  }
2840
-
2841
2732
  onFilterUpdate(nextQuery.toString());
2842
2733
  setValue('');
2843
2734
  }, [queryFilter]);
@@ -2850,7 +2741,6 @@ const SearchFilter = () => {
2850
2741
 
2851
2742
  const getSnackbarBg = severity => {
2852
2743
  let bg = theme.color.accent;
2853
-
2854
2744
  if (severity === 'error') {
2855
2745
  bg = theme.color.ui.negativeLight;
2856
2746
  } else if (severity === 'warning') {
@@ -2860,10 +2750,8 @@ const getSnackbarBg = severity => {
2860
2750
  } else if (severity === 'success') {
2861
2751
  bg = theme.color.ui.positiveLight;
2862
2752
  }
2863
-
2864
2753
  return bg;
2865
2754
  };
2866
-
2867
2755
  const Wrapper$b = styled__default.div.attrs(() => ({
2868
2756
  role: 'alert'
2869
2757
  }))`
@@ -2911,7 +2799,6 @@ const Snackbar = ({
2911
2799
  let iconSelector = React__default.createElement(IconInfo, {
2912
2800
  block: true
2913
2801
  });
2914
-
2915
2802
  if (severity === 'error') {
2916
2803
  iconSelector = React__default.createElement(IconExclamationCircle, {
2917
2804
  block: true
@@ -2925,14 +2812,12 @@ const Snackbar = ({
2925
2812
  block: true
2926
2813
  });
2927
2814
  }
2928
-
2929
2815
  return React__default.createElement(Wrapper$b, {
2930
2816
  severity: severity
2931
2817
  }, icon && React__default.createElement(Icon$3, null, iconSelector), React__default.createElement(Content$1, null, heading && React__default.createElement(Heading$3, null, heading), React__default.createElement(Message, null, children)));
2932
2818
  };
2933
2819
 
2934
2820
  class PubSub {}
2935
-
2936
2821
  PubSub.events = {
2937
2822
  HashRouteChange: [],
2938
2823
  ItemClicked: [],
@@ -2952,9 +2837,7 @@ PubSub.actions = {
2952
2837
  onFilterUpdate: [],
2953
2838
  All: []
2954
2839
  };
2955
-
2956
2840
  PubSub.subscribeAction = event => PubSub.actions[event.actionName].push(event);
2957
-
2958
2841
  PubSub.unsubscribeAction = event => {
2959
2842
  if (PubSub.actions[event.actionName]) {
2960
2843
  for (let i = 0; i < PubSub.actions[event.actionName].length; i++) {
@@ -2965,12 +2848,10 @@ PubSub.unsubscribeAction = event => {
2965
2848
  }
2966
2849
  }
2967
2850
  };
2968
-
2969
2851
  PubSub.publishAction = (eventName, ...args) => {
2970
2852
  if (PubSub.actions.All) {
2971
2853
  PubSub.events.All.forEach(event => event.callback(eventName, args));
2972
2854
  }
2973
-
2974
2855
  if (PubSub.actions[eventName]) {
2975
2856
  PubSub.actions[eventName].forEach(event => {
2976
2857
  switch (eventName) {
@@ -2981,9 +2862,7 @@ PubSub.publishAction = (eventName, ...args) => {
2981
2862
  });
2982
2863
  }
2983
2864
  };
2984
-
2985
2865
  PubSub.subscribe = event => PubSub.events[event.eventName].push(event);
2986
-
2987
2866
  PubSub.unsubscribe = event => {
2988
2867
  if (PubSub.events[event.eventName]) {
2989
2868
  for (let i = 0; i < PubSub.events[event.eventName].length; i++) {
@@ -2994,27 +2873,22 @@ PubSub.unsubscribe = event => {
2994
2873
  }
2995
2874
  }
2996
2875
  };
2997
-
2998
2876
  PubSub.publish = (eventName, ...args) => {
2999
2877
  if (PubSub.events.All) {
3000
2878
  PubSub.events.All.forEach(event => event.callback(eventName, args));
3001
2879
  }
3002
-
3003
2880
  if (PubSub.events[eventName]) {
3004
2881
  PubSub.events[eventName].forEach(event => {
3005
2882
  switch (eventName) {
3006
2883
  case 'HashRouteChange':
3007
2884
  event.callback(args[0]);
3008
2885
  break;
3009
-
3010
2886
  case 'ItemClicked':
3011
2887
  event.callback(args[0]);
3012
2888
  break;
3013
-
3014
2889
  case 'EcomOnUserEvent':
3015
2890
  event.callback(args[0], args[1]);
3016
2891
  break;
3017
-
3018
2892
  case 'EcomOnInit':
3019
2893
  case 'EcomOnExit':
3020
2894
  case 'ImagesClick':
@@ -3053,12 +2927,10 @@ const WaykeSearch = ({
3053
2927
  if (modifyDocumentTitleSearch) {
3054
2928
  document.title = modifyDocumentTitleSearch;
3055
2929
  }
3056
-
3057
2930
  onInitialize(typeof initialQueryParams === 'string' ? new URLSearchParams(initialQueryParams) : initialQueryParams);
3058
2931
  }, []);
3059
2932
  const onItemClicked = React.useCallback(id => {
3060
2933
  PubSub.publish('ItemClicked', id);
3061
-
3062
2934
  if (onClickSearchItem) {
3063
2935
  onClickSearchItem(id);
3064
2936
  }
@@ -3151,11 +3023,9 @@ const LogoBox = ({
3151
3023
  wide
3152
3024
  }) => {
3153
3025
  let logoRetina = logo;
3154
-
3155
3026
  if (logo2x) {
3156
3027
  logoRetina = `${logo2x} 2x`;
3157
3028
  }
3158
-
3159
3029
  return React.createElement(Logo, {
3160
3030
  src: logo,
3161
3031
  srcSet: logoRetina,
@@ -3339,20 +3209,16 @@ const ExtendContent = ({
3339
3209
  const [extend, setExtend] = React.useState(false);
3340
3210
  const onExtend = React.useCallback(() => {
3341
3211
  setExtend(true);
3342
-
3343
3212
  if (onClick) {
3344
3213
  onClick();
3345
3214
  }
3346
3215
  }, []);
3347
-
3348
3216
  const onRef = ref => {
3349
3217
  const refHeight = (ref === null || ref === void 0 ? void 0 : ref.clientHeight) || 0;
3350
-
3351
3218
  if (refHeight < 207) {
3352
3219
  setExtend(true);
3353
3220
  }
3354
3221
  };
3355
-
3356
3222
  return React__default.createElement(Wrapper$f, {
3357
3223
  ref: onRef
3358
3224
  }, React__default.createElement(Extend, {
@@ -3364,7 +3230,6 @@ const ExtendContent = ({
3364
3230
  };
3365
3231
 
3366
3232
  const quickNavWidth = 83; // 75px + 8px
3367
-
3368
3233
  const Wrapper$g = styled__default.div`
3369
3234
  ${props => props.theme.breakpoint.LtMd} {
3370
3235
  ${Wrapper} & {
@@ -3509,8 +3374,8 @@ const ImageFull = styled__default.img`
3509
3374
  width: 100%;
3510
3375
  height: 100%;
3511
3376
  object-fit: cover;
3512
- `; // Arrow Nav
3513
-
3377
+ `;
3378
+ // Arrow Nav
3514
3379
  const Arrow = styled__default(ButtonReset)`
3515
3380
  position: absolute;
3516
3381
  top: 50%;
@@ -3562,8 +3427,8 @@ const ArrowLeft = styled__default(Arrow)`
3562
3427
  `;
3563
3428
  const ArrowRight = styled__default(Arrow)`
3564
3429
  right: ${size(2)};
3565
- `; // Quick Nav
3566
-
3430
+ `;
3431
+ // Quick Nav
3567
3432
  const QuickNav = styled__default.ul`
3568
3433
  position: relative;
3569
3434
  max-height: 100%;
@@ -3637,16 +3502,16 @@ const QuickNavImg = styled__default.img`
3637
3502
  width: 100%;
3638
3503
  height: 100%;
3639
3504
  object-fit: cover;
3640
- `; // Media Button
3641
-
3505
+ `;
3506
+ // Media Button
3642
3507
  const MediaButtonWrapper = styled__default.div`
3643
3508
  position: absolute;
3644
3509
  bottom: ${size(2)};
3645
3510
  left: 50%;
3646
3511
  transform: translateX(-50%);
3647
3512
  z-index: 1;
3648
- `; // Sphere Close Button
3649
-
3513
+ `;
3514
+ // Sphere Close Button
3650
3515
  const EnableNavigationButton = styled__default.div`
3651
3516
  position: absolute;
3652
3517
  bottom: ${size(2)};
@@ -3757,11 +3622,9 @@ const getYouTubeId = url => {
3757
3622
  const youtubeBase = 'https://img.youtube.com/vi/';
3758
3623
  const getYoutubeThumbnail = url => {
3759
3624
  const id = getYouTubeId(url);
3760
-
3761
3625
  if (!id) {
3762
3626
  return undefined;
3763
3627
  }
3764
-
3765
3628
  return {
3766
3629
  maxresdefault: `${youtubeBase}${id}/maxresdefault.jpg`,
3767
3630
  hqdefault: `${youtubeBase}${id}/hqdefault.jpg`,
@@ -3843,13 +3706,9 @@ const CustomPlayer = ({
3843
3706
  };
3844
3707
 
3845
3708
  const ytNames = ['youtube.com', 'youtu.be'];
3846
-
3847
3709
  const isYouTubeVideo = url => ytNames.some(host => url.indexOf(host) >= 0);
3848
-
3849
3710
  const vNames = ['vimeo.com'];
3850
-
3851
3711
  const isVimeoVideo = url => vNames.some(host => url.indexOf(host) >= 0);
3852
-
3853
3712
  const VideoPlayer = ({
3854
3713
  url,
3855
3714
  autoplay = false,
@@ -4150,7 +4009,6 @@ const style = {
4150
4009
  paddingBottom: '66.666%',
4151
4010
  touchAction: 'manipulation'
4152
4011
  };
4153
-
4154
4012
  const SphereViewer = ({
4155
4013
  id,
4156
4014
  src,
@@ -4167,12 +4025,10 @@ const SphereViewer = ({
4167
4025
  }
4168
4026
  }, 100);
4169
4027
  }, []);
4170
-
4171
4028
  const c = _objectSpread2(_objectSpread2({}, config), {}, {
4172
4029
  preview,
4173
4030
  autoLoad
4174
4031
  });
4175
-
4176
4032
  return React__default.createElement(Wrapper$j, null, React__default.createElement(React__default.Suspense, {
4177
4033
  fallback: React__default.createElement(Loader, null)
4178
4034
  }, React__default.createElement(ReactPannellum, {
@@ -4202,14 +4058,11 @@ const MediaButton = ({
4202
4058
 
4203
4059
  const calculateCurrentFrame = (startFrame, delta, length) => {
4204
4060
  const frame = (startFrame + delta) % length;
4205
-
4206
4061
  if (frame < 0) {
4207
4062
  return frame + length;
4208
4063
  }
4209
-
4210
4064
  return frame;
4211
4065
  };
4212
-
4213
4066
  const Rotation = ({
4214
4067
  children
4215
4068
  }) => {
@@ -4228,15 +4081,12 @@ const Rotation = ({
4228
4081
  window.document.body.removeEventListener('mouseup', mouseUp);
4229
4082
  };
4230
4083
  }, []);
4231
-
4232
4084
  const touchMove = event => {
4233
4085
  const notTouched = typeof pointerPosition.current !== 'number';
4234
4086
  event.preventDefault();
4235
-
4236
4087
  if (notTouched) {
4237
4088
  return;
4238
4089
  }
4239
-
4240
4090
  const childCount = React.Children.count(children);
4241
4091
  const {
4242
4092
  offsetWidth
@@ -4247,7 +4097,6 @@ const Rotation = ({
4247
4097
  const delta = Math.floor(offset / max * childCount);
4248
4098
  setCurrentFrame(calculateCurrentFrame(startFrame.current, delta, childCount));
4249
4099
  };
4250
-
4251
4100
  const mouseMove = event => {
4252
4101
  const notTouched = typeof pointerPosition.current !== 'number';
4253
4102
  event.preventDefault();
@@ -4258,14 +4107,12 @@ const Rotation = ({
4258
4107
  const delta = Math.floor(offset / max.current * childCount);
4259
4108
  setCurrentFrame(calculateCurrentFrame(startFrame.current, delta, childCount));
4260
4109
  };
4261
-
4262
4110
  const mouseUp = () => {
4263
4111
  window.document.body.removeEventListener('mousemove', mouseMove);
4264
4112
  window.document.body.removeEventListener('mouseup', mouseUp);
4265
4113
  pointerPosition.current = undefined;
4266
4114
  startFrame.current = 0;
4267
4115
  };
4268
-
4269
4116
  const touchStart = event => {
4270
4117
  event.preventDefault();
4271
4118
  pointerPosition.current = calculatePointerPosition(event);
@@ -4277,25 +4124,21 @@ const Rotation = ({
4277
4124
  window.document.body.addEventListener('mousemove', mouseMove);
4278
4125
  window.document.body.addEventListener('mouseup', mouseUp);
4279
4126
  };
4280
-
4281
4127
  const touchEnd = event => {
4282
4128
  event.preventDefault();
4283
4129
  pointerPosition.current = undefined;
4284
4130
  startFrame.current = 0;
4285
4131
  };
4286
-
4287
4132
  const onMouseEnter = () => {
4288
4133
  if (state.outsideMouseMove) setState(_objectSpread2(_objectSpread2({}, state), {}, {
4289
4134
  outsideMouseMove: false
4290
4135
  }));
4291
4136
  };
4292
-
4293
4137
  const onMouseLeave = () => {
4294
4138
  if (!state.outsideMouseMove) setState(_objectSpread2(_objectSpread2({}, state), {}, {
4295
4139
  outsideMouseMove: true
4296
4140
  }));
4297
4141
  };
4298
-
4299
4142
  const setCurrentFrame = current => {
4300
4143
  if (current !== state.current) {
4301
4144
  setState(_objectSpread2(_objectSpread2({}, state), {}, {
@@ -4303,7 +4146,6 @@ const Rotation = ({
4303
4146
  }));
4304
4147
  }
4305
4148
  };
4306
-
4307
4149
  const calculatePointerPosition = event => {
4308
4150
  const {
4309
4151
  clientX
@@ -4313,7 +4155,6 @@ const Rotation = ({
4313
4155
  } = event.currentTarget;
4314
4156
  return clientX - offsetLeft;
4315
4157
  };
4316
-
4317
4158
  return React__default.createElement("div", {
4318
4159
  onTouchStart: touchStart,
4319
4160
  onTouchMove: touchMove,
@@ -4335,7 +4176,6 @@ const ThreeSixtyLightbox = ({
4335
4176
  }) => {
4336
4177
  const [started, setStarted] = React.useState(false);
4337
4178
  const onStart = React.useCallback(() => setStarted(true), []);
4338
-
4339
4179
  if (!started) {
4340
4180
  return React__default.createElement(Item$8, null, React__default.createElement(Img$1, {
4341
4181
  src: urls[0],
@@ -4345,7 +4185,6 @@ const ThreeSixtyLightbox = ({
4345
4185
  onClick: onStart
4346
4186
  }));
4347
4187
  }
4348
-
4349
4188
  return React__default.createElement(Rotation, null, urls.map((image, i) => React__default.createElement(Img$1, {
4350
4189
  key: image,
4351
4190
  src: image,
@@ -4365,13 +4204,11 @@ const Lightbox = ({
4365
4204
  }, 300);
4366
4205
  }
4367
4206
  };
4368
-
4369
4207
  const onKeyDown = e => {
4370
4208
  if (e.keyCode === 27) {
4371
4209
  onClose();
4372
4210
  }
4373
4211
  };
4374
-
4375
4212
  return React__default.createElement(Wrapper$h, {
4376
4213
  ref: ref => ref === null || ref === void 0 ? void 0 : ref.focus(),
4377
4214
  onKeyDown: onKeyDown,
@@ -4401,9 +4238,7 @@ const Lightbox = ({
4401
4238
  };
4402
4239
 
4403
4240
  const cache = {};
4404
-
4405
4241
  const getCachedResult = key => (cache === null || cache === void 0 ? void 0 : cache[key]) || undefined;
4406
-
4407
4242
  const setCachedResult = (key, value) => {
4408
4243
  cache[key] = value;
4409
4244
  };
@@ -4412,22 +4247,16 @@ const setCachedResult = (key, value) => {
4412
4247
  * Usefull if multiple request is fetching from same endpoint, while
4413
4248
  * the first request has not been finished (so no cache exist yet).
4414
4249
  */
4415
-
4416
-
4417
4250
  let pendingPromise = {};
4418
-
4419
4251
  const isPendingPromise = url => !!pendingPromise[url];
4420
-
4421
4252
  const setPendingPromise = (url, promise) => {
4422
4253
  pendingPromise = _objectSpread2(_objectSpread2({}, pendingPromise), {}, {
4423
4254
  [url]: promise
4424
4255
  });
4425
4256
  };
4426
-
4427
4257
  const clearPendingPromise = url => {
4428
4258
  delete pendingPromise[url];
4429
4259
  };
4430
-
4431
4260
  const useFetch = (path, options, skip, promiseCache) => {
4432
4261
  const [data, setData] = React.useState();
4433
4262
  const [loading, setLoading] = React.useState(false);
@@ -4436,24 +4265,18 @@ const useFetch = (path, options, skip, promiseCache) => {
4436
4265
  const key = path.toString();
4437
4266
  const cached = getCachedResult(key);
4438
4267
  setError(false);
4439
-
4440
4268
  if (cached) {
4441
4269
  setData(cached);
4442
4270
  return;
4443
4271
  }
4444
-
4445
4272
  setLoading(true);
4446
-
4447
4273
  try {
4448
4274
  const reusePromise = promiseCache && isPendingPromise(key);
4449
4275
  const request = reusePromise ? pendingPromise[key] : fetch(path, options);
4450
-
4451
4276
  if (promiseCache) {
4452
4277
  setPendingPromise(key, request);
4453
4278
  }
4454
-
4455
4279
  const result = await request;
4456
-
4457
4280
  if (result.ok) {
4458
4281
  const json = await result.clone().json();
4459
4282
  setCachedResult(key, json);
@@ -4465,7 +4288,6 @@ const useFetch = (path, options, skip, promiseCache) => {
4465
4288
  setLoading(false);
4466
4289
  clearPendingPromise(key);
4467
4290
  }
4468
-
4469
4291
  return;
4470
4292
  }, [path, options]);
4471
4293
  React.useEffect(() => {
@@ -4505,7 +4327,6 @@ const useThumbnail = (url, small) => {
4505
4327
  React.useEffect(() => {
4506
4328
  if (url) {
4507
4329
  const youtubeThumbnail = getYoutubeThumbnail(url);
4508
-
4509
4330
  if (youtubeThumbnail) {
4510
4331
  if (small) {
4511
4332
  setThumbnail([youtubeThumbnail.mqdefault]);
@@ -4656,21 +4477,17 @@ const GalleryEmbed = ({
4656
4477
  }) => {
4657
4478
  const [modal, setModal] = React.useState();
4658
4479
  const thumbnail = useThumbnail(src);
4659
-
4660
4480
  const onClick = e => {
4661
4481
  e.stopPropagation();
4662
4482
  setModal(src);
4663
4483
  };
4664
-
4665
4484
  const onCloseModal = e => {
4666
4485
  e.stopPropagation();
4667
4486
  setModal(undefined);
4668
4487
  };
4669
-
4670
4488
  const onError = React.useCallback(e => onImageError(e, thumbnail), [thumbnail]);
4671
4489
  const onLoad = React.useCallback(e => onImageLoad(e, thumbnail), [thumbnail]);
4672
4490
  const customVideo = src.toLowerCase().endsWith('.mp4');
4673
-
4674
4491
  if (thumbnail !== null && thumbnail !== void 0 && thumbnail.length && !customVideo) {
4675
4492
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(ImageFull, {
4676
4493
  onLoad: onLoad,
@@ -4687,7 +4504,6 @@ const GalleryEmbed = ({
4687
4504
  url: modal
4688
4505
  })));
4689
4506
  }
4690
-
4691
4507
  if (customVideo) return React__default.createElement(React__default.Fragment, null, React__default.createElement(CustomPlayer, {
4692
4508
  ratio: "66.66%",
4693
4509
  isPreview: true,
@@ -4732,7 +4548,6 @@ const onMediaClick = (e, func) => {
4732
4548
  e.preventDefault();
4733
4549
  func();
4734
4550
  };
4735
-
4736
4551
  const Sphere = ({
4737
4552
  url,
4738
4553
  preview,
@@ -4749,7 +4564,6 @@ const Sphere = ({
4749
4564
  onClick: e => onMediaClick(e, onDisableNavigation)
4750
4565
  }));
4751
4566
  }
4752
-
4753
4567
  if (navigationDisabled && visible) {
4754
4568
  return React__default.createElement(SphereViewer, {
4755
4569
  id: url,
@@ -4759,7 +4573,6 @@ const Sphere = ({
4759
4573
  onStart: onDisableNavigation
4760
4574
  });
4761
4575
  }
4762
-
4763
4576
  return null;
4764
4577
  };
4765
4578
 
@@ -4768,7 +4581,6 @@ const onMediaClick$1 = (e, func) => {
4768
4581
  e.preventDefault();
4769
4582
  func();
4770
4583
  };
4771
-
4772
4584
  const ThreeSixty = ({
4773
4585
  urls,
4774
4586
  visible,
@@ -4784,7 +4596,6 @@ const ThreeSixty = ({
4784
4596
  onClick: e => onMediaClick$1(e, onDisableNavigation)
4785
4597
  }));
4786
4598
  }
4787
-
4788
4599
  if (navigationDisabled && visible) {
4789
4600
  return React__default.createElement("div", {
4790
4601
  onClick: e => {
@@ -4797,7 +4608,6 @@ const ThreeSixty = ({
4797
4608
  alt: `Bild ${i + 1}`
4798
4609
  }))));
4799
4610
  }
4800
-
4801
4611
  return null;
4802
4612
  };
4803
4613
 
@@ -4809,7 +4619,6 @@ const sliderSettings = {
4809
4619
  slidesToShow: 1,
4810
4620
  slidesToScroll: 1
4811
4621
  };
4812
-
4813
4622
  const Gallery = ({
4814
4623
  media,
4815
4624
  placeholderImage
@@ -4822,9 +4631,7 @@ const Gallery = ({
4822
4631
  const [navigationDisabled, setNavigationDisabled] = React.useState(false);
4823
4632
  const beforeChange = React.useCallback((_, newIndex) => {
4824
4633
  var _quickNavRef$current, _quickNavRef$current$;
4825
-
4826
4634
  const element = (_quickNavRef$current = quickNavRef.current) === null || _quickNavRef$current === void 0 ? void 0 : (_quickNavRef$current$ = _quickNavRef$current.querySelectorAll('li')) === null || _quickNavRef$current$ === void 0 ? void 0 : _quickNavRef$current$[newIndex];
4827
-
4828
4635
  if (element) {
4829
4636
  scrollIntoView(element, {
4830
4637
  scrollMode: 'if-needed',
@@ -4832,7 +4639,6 @@ const Gallery = ({
4832
4639
  inline: 'nearest'
4833
4640
  });
4834
4641
  }
4835
-
4836
4642
  setIndex(newIndex);
4837
4643
  }, []);
4838
4644
  const onMouseDown = React.useCallback(() => {
@@ -4847,7 +4653,6 @@ const Gallery = ({
4847
4653
  }, []);
4848
4654
  const onClick = React.useCallback(() => {
4849
4655
  PubSub.publish('ImagesClick');
4850
-
4851
4656
  if (!isDragging.current && !lightbox && !!(media !== null && media !== void 0 && media.length)) {
4852
4657
  setLightbox(true);
4853
4658
  }
@@ -4856,38 +4661,31 @@ const Gallery = ({
4856
4661
  if (!slider || !slider.current) {
4857
4662
  return;
4858
4663
  }
4859
-
4860
4664
  slider.current.slickNext();
4861
4665
  }, [slider]);
4862
4666
  const prevImage = React.useCallback(() => {
4863
4667
  if (!slider || !slider.current) {
4864
4668
  return;
4865
4669
  }
4866
-
4867
4670
  slider.current.slickPrev();
4868
4671
  }, [slider]);
4869
-
4870
4672
  const goTo = target => {
4871
4673
  if (!slider || !slider.current) {
4872
4674
  return;
4873
4675
  }
4874
-
4875
4676
  if (slider.current) {
4876
4677
  setIndex(target);
4877
4678
  slider.current.slickGoTo(target);
4878
4679
  }
4879
4680
  };
4880
-
4881
4681
  const onDisableNavigation = () => {
4882
4682
  if (!isDragging.current) setNavigationDisabled(true);
4883
4683
  };
4884
-
4885
4684
  const onEnableNavigation = e => {
4886
4685
  e.stopPropagation();
4887
4686
  isDragging.current = false;
4888
4687
  setNavigationDisabled(false);
4889
4688
  };
4890
-
4891
4689
  const onToggleLightbox = React.useCallback(() => setLightbox(!lightbox), [lightbox]);
4892
4690
  const mediaLength = (media === null || media === void 0 ? void 0 : media.length) || 0;
4893
4691
  const placeholder = React.useMemo(() => placeholderImage || DEFAULT_PLACEHOLDER_IMAGE, [placeholderImage]);
@@ -4903,7 +4701,6 @@ const Gallery = ({
4903
4701
  beforeChange: beforeChange
4904
4702
  }), !!(media !== null && media !== void 0 && media.length) ? media.map((m, i) => {
4905
4703
  var _m$files$0$formats$fi;
4906
-
4907
4704
  return React__default.createElement(Item$7, {
4908
4705
  key: m.files[0].url || i
4909
4706
  }, m.type === 'image' && React__default.createElement(Image$1, {
@@ -4946,7 +4743,6 @@ const Gallery = ({
4946
4743
  ref: quickNavRef
4947
4744
  }, !!(media !== null && media !== void 0 && media.length) ? media.map((m, i) => {
4948
4745
  var _m$files$0$formats$fi2;
4949
-
4950
4746
  const src = ((_m$files$0$formats$fi2 = m.files[0].formats.filter(notEmpty).find(x => x.format === '225x150')) === null || _m$files$0$formats$fi2 === void 0 ? void 0 : _m$files$0$formats$fi2.url) || m.files[0].url;
4951
4747
  return React__default.createElement(QuickNavItem, {
4952
4748
  key: src || i,
@@ -5550,11 +5346,9 @@ const RangeSliderSimple = ({
5550
5346
  const step = second - first;
5551
5347
  const currentMin = formatValues ? numberSeparator(domain[0]) : domain[0];
5552
5348
  const currentMax = formatValues ? numberSeparator(domain[1]) : domain[1];
5553
-
5554
5349
  if (steps.length < 2) {
5555
5350
  return null;
5556
5351
  }
5557
-
5558
5352
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(Slider, null, React__default.createElement(reactCompoundSlider.Slider, {
5559
5353
  disabled: loading,
5560
5354
  mode: 1,
@@ -5631,30 +5425,25 @@ const SliderWithLabel = ({
5631
5425
 
5632
5426
  const stepGenerator = (step, max, steps = [], current) => {
5633
5427
  if (step === 0 && current === undefined) return steps;
5634
-
5635
5428
  if (current !== undefined && current >= max && step !== 0) {
5636
5429
  return steps;
5637
5430
  }
5638
-
5639
5431
  const nextCurrent = current ? step + current : step;
5640
5432
  steps.push(nextCurrent);
5641
5433
  return stepGenerator(step, max, steps, nextCurrent);
5642
5434
  };
5643
-
5644
5435
  const LoanModal = ({
5645
5436
  id,
5646
5437
  financialOption,
5647
5438
  onClose
5648
5439
  }) => {
5649
5440
  var _financialOption$dura, _financialOption$down, _financialOption$resi, _loan$downPayment, _loan$downPayment2, _loan$downPayment3, _loan$downPayment4, _loan$duration, _loan$duration2, _loan$duration3, _loan$duration4, _loan$residual, _loan$residual2, _loan$residual3, _loan$residual4;
5650
-
5651
5441
  const [tmp, setTmp] = React.useState();
5652
5442
  const [extend, setExtend] = React__default.useState(false);
5653
5443
  const onToggleExtend = React__default.useCallback(() => {
5654
5444
  if (!extend) {
5655
5445
  PubSub.publish('FinanceInterest');
5656
5446
  }
5657
-
5658
5447
  setExtend(!extend);
5659
5448
  }, [extend]);
5660
5449
  const [variables, setVariables] = React.useState({
@@ -5674,7 +5463,6 @@ const LoanModal = ({
5674
5463
  React.useEffect(() => {
5675
5464
  if (data) {
5676
5465
  var _data$loan, _data$loan$duration, _data$loan2, _data$loan2$downPayme, _data$loan3, _data$loan3$residual;
5677
-
5678
5466
  setTmp(data);
5679
5467
  setVariables({
5680
5468
  duration: (data === null || data === void 0 ? void 0 : (_data$loan = data.loan) === null || _data$loan === void 0 ? void 0 : (_data$loan$duration = _data$loan.duration) === null || _data$loan$duration === void 0 ? void 0 : _data$loan$duration.current) || 0,
@@ -5781,7 +5569,6 @@ const Loan = ({
5781
5569
  financialOption
5782
5570
  }) => {
5783
5571
  var _financialOption$dura, _financialOption$down, _financialOption$resi, _data$loan, _data$loan2, _data$loan2$duration, _data$loan3;
5784
-
5785
5572
  const [modal, setModal] = React.useState(false);
5786
5573
  const toggleModal = React.useCallback(() => setModal(!modal), [modal]);
5787
5574
  const {
@@ -5790,15 +5577,14 @@ const Loan = ({
5790
5577
  const interest = data === null || data === void 0 ? void 0 : (_data$loan = data.loan) === null || _data$loan === void 0 ? void 0 : _data$loan.interest;
5791
5578
  const duration = data === null || data === void 0 ? void 0 : (_data$loan2 = data.loan) === null || _data$loan2 === void 0 ? void 0 : (_data$loan2$duration = _data$loan2.duration) === null || _data$loan2$duration === void 0 ? void 0 : _data$loan2$duration.current;
5792
5579
  const monthlyCost = data === null || data === void 0 ? void 0 : (_data$loan3 = data.loan) === null || _data$loan3 === void 0 ? void 0 : _data$loan3.monthlyCost;
5793
- const logo = (financialOption === null || financialOption === void 0 ? void 0 : financialOption.logotype) || 'https://placehold.it/67x10'; // Skeleton?
5794
-
5580
+ const logo = (financialOption === null || financialOption === void 0 ? void 0 : financialOption.logotype) || 'https://placehold.it/67x10';
5581
+ // Skeleton?
5795
5582
  if (financialOption.loanAmount === undefined || financialOption.loanAmount === null || interest === undefined || duration === undefined || monthlyCost === undefined || interest === null || duration === null || monthlyCost === null) {
5796
5583
  return React__default.createElement(OptionBox, {
5797
5584
  logo: logo,
5798
5585
  logoAlt: "Logotyp"
5799
5586
  }, React__default.createElement(OptionBoxHeading, null, "Laddar..."), React__default.createElement(OptionBoxContent, null, React__default.createElement("p", null, "Laddar...")));
5800
5587
  }
5801
-
5802
5588
  return React__default.createElement(React__default.Fragment, null, modal && React__default.createElement(LoanModal, {
5803
5589
  id: id,
5804
5590
  financialOption: financialOption,
@@ -6257,7 +6043,6 @@ const useInsuranceCalculation = (id, branchId, personalNumber, drivingDistance)
6257
6043
  const ssnIsValid = s => s ? /^\d{2,4}\d{2}\d{2}\-?\d{4}$/.test(s) : false;
6258
6044
 
6259
6045
  var DrivingDistance;
6260
-
6261
6046
  (function (DrivingDistance) {
6262
6047
  DrivingDistance["Between0And1000"] = "BETWEEN0AND1000";
6263
6048
  DrivingDistance["Between1000And1500"] = "BETWEEN1000AND1500";
@@ -6265,9 +6050,7 @@ var DrivingDistance;
6265
6050
  DrivingDistance["Between2000And2500"] = "BETWEEN2000AND2500";
6266
6051
  DrivingDistance["Over2500"] = "OVER2500";
6267
6052
  })(DrivingDistance || (DrivingDistance = {}));
6268
-
6269
6053
  var FinancialOptionInclusion;
6270
-
6271
6054
  (function (FinancialOptionInclusion) {
6272
6055
  FinancialOptionInclusion["IncludesInsurance"] = "INCLUDES_INSURANCE";
6273
6056
  FinancialOptionInclusion["IncludesService"] = "INCLUDES_SERVICE";
@@ -6383,11 +6166,9 @@ const Insurance = ({
6383
6166
  }) => {
6384
6167
  const [modal, setModal] = React.useState(false);
6385
6168
  const toggleModal = React.useCallback(() => setModal(!modal), [modal]);
6386
-
6387
6169
  if (!insuranceOptions.length) {
6388
6170
  return null;
6389
6171
  }
6390
-
6391
6172
  return React__default.createElement(React__default.Fragment, null, modal && React__default.createElement(InsuranceModal, {
6392
6173
  id: id,
6393
6174
  branch: branch,
@@ -6407,7 +6188,6 @@ const InsuranceFreeModal = ({
6407
6188
  insuranceOptions
6408
6189
  }) => {
6409
6190
  var _insuranceOptions$ins;
6410
-
6411
6191
  return React__default.createElement(Modal, {
6412
6192
  title: (_insuranceOptions$ins = insuranceOptions === null || insuranceOptions === void 0 ? void 0 : insuranceOptions.insuranceHeader) !== null && _insuranceOptions$ins !== void 0 ? _insuranceOptions$ins : 'Försäkring',
6413
6193
  onClose: onClose
@@ -6431,14 +6211,11 @@ const Insurance$1 = ({
6431
6211
  insuranceOptions
6432
6212
  }) => {
6433
6213
  var _insuranceOptions$0$i, _insuranceOptions$;
6434
-
6435
6214
  const [modal, setModal] = React.useState(false);
6436
6215
  const toggleModal = React.useCallback(() => setModal(!modal), [modal]);
6437
-
6438
6216
  if (!insuranceOptions.length) {
6439
6217
  return null;
6440
6218
  }
6441
-
6442
6219
  return React__default.createElement(React__default.Fragment, null, modal && React__default.createElement(InsuranceFreeModal, {
6443
6220
  onClose: toggleModal,
6444
6221
  insuranceOptions: insuranceOptions[0]
@@ -6463,7 +6240,6 @@ const InsuranceOptions = ({
6463
6240
  if (!insuranceOptions.length) {
6464
6241
  return null;
6465
6242
  }
6466
-
6467
6243
  if (insuranceOptions.length > 0) {
6468
6244
  if (insuranceOptions[0].requiresDistance && insuranceOptions[0].requiresPersonalNumber) return React__default.createElement(Insurance, {
6469
6245
  id: id,
@@ -6474,7 +6250,6 @@ const InsuranceOptions = ({
6474
6250
  insuranceOptions: insuranceOptions
6475
6251
  });
6476
6252
  }
6477
-
6478
6253
  return null;
6479
6254
  };
6480
6255
 
@@ -6482,11 +6257,9 @@ const ManufacturerPackageOption = ({
6482
6257
  packageOption
6483
6258
  }) => {
6484
6259
  var _packageOption$link;
6485
-
6486
6260
  if (!packageOption) {
6487
6261
  return null;
6488
6262
  }
6489
-
6490
6263
  return React__default.createElement(ProductPageMainSection, null, React__default.createElement(Repeat, null, React__default.createElement(H2, {
6491
6264
  noMargin: true
6492
6265
  }, packageOption.title)), packageOption.description && React__default.createElement(Repeat, null, React__default.createElement(Content$2, {
@@ -6506,9 +6279,7 @@ const ManufacturerPackageOption = ({
6506
6279
  };
6507
6280
 
6508
6281
  const initialValue = {};
6509
-
6510
6282
  const getInitialValue = title => title && !!initialValue[title];
6511
-
6512
6283
  const ToggleItem = ({
6513
6284
  title,
6514
6285
  value,
@@ -6517,18 +6288,15 @@ const ToggleItem = ({
6517
6288
  onClickValue
6518
6289
  }) => {
6519
6290
  const [visible, setVisible] = React.useState(() => getInitialValue(type));
6520
-
6521
6291
  const _onClickValue = React.useCallback(() => {
6522
6292
  if (onClickValue) {
6523
6293
  onClickValue();
6524
6294
  }
6525
6295
  }, []);
6526
-
6527
6296
  const onClick = React.useCallback(() => {
6528
6297
  if (!visible) {
6529
6298
  initialValue[type] = true;
6530
6299
  setVisible(true);
6531
-
6532
6300
  if (onClickVisible) {
6533
6301
  onClickVisible();
6534
6302
  }
@@ -6574,17 +6342,14 @@ const ActionList = ({
6574
6342
  branch
6575
6343
  }) => {
6576
6344
  var _branch$contact, _branch$contact2;
6577
-
6578
6345
  const email = (contact === null || contact === void 0 ? void 0 : contact.email) || (branch === null || branch === void 0 ? void 0 : (_branch$contact = branch.contact) === null || _branch$contact === void 0 ? void 0 : _branch$contact.email);
6579
6346
  const phonenumber = (contact === null || contact === void 0 ? void 0 : contact.phonenumber) || (branch === null || branch === void 0 ? void 0 : (_branch$contact2 = branch.contact) === null || _branch$contact2 === void 0 ? void 0 : _branch$contact2.phonenumber);
6580
6347
  const onClickMailVisible = React.useCallback(() => PubSub.publish('MailVisible'), []);
6581
6348
  const onClickPhoneVisible = React.useCallback(() => PubSub.publish('PhonenumberVisible'), []);
6582
6349
  const onClickPhoneValue = React.useCallback(() => PubSub.publish('PhonenumberCall'), []);
6583
-
6584
6350
  if (!email && !phonenumber) {
6585
6351
  return null;
6586
6352
  }
6587
-
6588
6353
  return React__default.createElement(React__default.Fragment, null, email && React__default.createElement(ToggleItem, {
6589
6354
  onClickVisible: onClickMailVisible,
6590
6355
  title: "Visa mailadress",
@@ -6725,7 +6490,6 @@ const CheckMarkListItem = ({
6725
6490
  }) => React__default.createElement(Item$a, null, React__default.createElement(Icon$5, null, React__default.createElement(IconCheck, {
6726
6491
  block: true
6727
6492
  })), React__default.createElement(Label$9, null, children));
6728
-
6729
6493
  const CheckMarkList = ({
6730
6494
  children
6731
6495
  }) => React__default.createElement(List$8, null, children);
@@ -6842,11 +6606,9 @@ const BranchModal = ({
6842
6606
  }
6843
6607
  }, []);
6844
6608
  const onChange = React.useCallback(e => setLocalValue(e.currentTarget.value), []);
6845
-
6846
6609
  if (!localValue) {
6847
6610
  return null;
6848
6611
  }
6849
-
6850
6612
  return React__default.createElement(Modal, {
6851
6613
  title: "Byt anl\u00E4ggning",
6852
6614
  onClose: onClose
@@ -6870,7 +6632,6 @@ const PackageOptionModal = ({
6870
6632
  onClose
6871
6633
  }) => {
6872
6634
  var _packageOption$link;
6873
-
6874
6635
  return React__default.createElement(Modal, {
6875
6636
  title: packageOption.title || '',
6876
6637
  onClose: onClose
@@ -7060,11 +6821,9 @@ const useRelatedSearch = id => {
7060
6821
  React.useEffect(() => {
7061
6822
  const searchParams = new URLSearchParams();
7062
6823
  searchParams.set('hits', '3');
7063
-
7064
6824
  if (data.moreLikeThisUrl && id) {
7065
6825
  searchParams.set('id', id);
7066
6826
  }
7067
-
7068
6827
  data.fetchRelated(searchParams);
7069
6828
  }, [id]);
7070
6829
  return data;
@@ -7076,7 +6835,6 @@ const regexPathGuid = path => {
7076
6835
  if (!path || path) {
7077
6836
  return regexEndGuid;
7078
6837
  }
7079
-
7080
6838
  const r = new RegExp(`${escapeRegExpString(path)}${regexEndGuid.source}`, 'gi');
7081
6839
  return r;
7082
6840
  };
@@ -7094,20 +6852,16 @@ const Related = ({
7094
6852
  } = useRelatedSearch(id);
7095
6853
  const onItemClicked = React.useCallback(id => {
7096
6854
  PubSub.publish('ItemClicked', id);
7097
-
7098
6855
  if (onClickSearchItem) {
7099
6856
  onClickSearchItem(id);
7100
6857
  }
7101
6858
  }, []);
7102
-
7103
6859
  if (!(response !== null && response !== void 0 && response.documentList.documents.length) || (response === null || response === void 0 ? void 0 : response.documentList.documents.length) === 0) {
7104
6860
  return null;
7105
6861
  }
7106
-
7107
6862
  if (loading) {
7108
6863
  return React__default.createElement(Loader, null);
7109
6864
  }
7110
-
7111
6865
  return React__default.createElement(PageSection, {
7112
6866
  accent: true,
7113
6867
  large: true,
@@ -7123,7 +6877,6 @@ const Related = ({
7123
6877
  noMargin: true
7124
6878
  }, "Senast inkomna"))), React__default.createElement(Repeat, null, React__default.createElement(OverflowGrid, null, React__default.createElement(OverflowGridList, null, response === null || response === void 0 ? void 0 : response.documentList.documents.map(document => {
7125
6879
  var _document$featuredIma, _document$featuredIma2, _document$featuredIma3;
7126
-
7127
6880
  const prefix = pathRoute ? `/${pathRoute}` : '/';
7128
6881
  const r = regexPathGuid();
7129
6882
  const pathRouteUrl = window.location.pathname === '/' ? `${prefix}${document._id}` : r.test(`${pathRoute}${id}`) ? window.location.pathname.replace(r, document._id) : `${window.location.pathname}${prefix}${document._id}`;
@@ -7158,10 +6911,8 @@ const PackageOptions = ({
7158
6911
  if (!packageOptions) {
7159
6912
  return null;
7160
6913
  }
7161
-
7162
6914
  return React__default.createElement(React__default.Fragment, null, packageOptions.map((packageOption, index) => {
7163
6915
  var _packageOption$link;
7164
-
7165
6916
  return React__default.createElement(ProductPageMainSection, {
7166
6917
  key: packageOption.title || index
7167
6918
  }, React__default.createElement(Repeat, null, React__default.createElement(H2, {
@@ -7198,16 +6949,13 @@ const TableColumnCell = styled__default.div`
7198
6949
 
7199
6950
  const getBg = severity => {
7200
6951
  let bg = theme.color.textDark;
7201
-
7202
6952
  if (severity === 'positive') {
7203
6953
  bg = theme.color.ui.positive;
7204
6954
  } else if (severity === 'negative') {
7205
6955
  bg = theme.color.ui.negative;
7206
6956
  }
7207
-
7208
6957
  return bg;
7209
6958
  };
7210
-
7211
6959
  const Wrapper$v = styled__default.div.attrs(() => ({
7212
6960
  className: 'wayke__theme wayke__font--bold'
7213
6961
  }))`
@@ -7228,39 +6976,29 @@ const Badge = ({
7228
6976
  }, label);
7229
6977
 
7230
6978
  const KeyOrder = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sunday'];
7231
-
7232
6979
  const TranslateWeekDays = d => {
7233
6980
  switch (d) {
7234
6981
  case 'monday':
7235
6982
  return 'Mån';
7236
-
7237
6983
  case 'tuesday':
7238
6984
  return 'Tis';
7239
-
7240
6985
  case 'wednesday':
7241
6986
  return 'Ons';
7242
-
7243
6987
  case 'thursday':
7244
6988
  return 'Tor';
7245
-
7246
6989
  case 'friday':
7247
6990
  return 'Fre';
7248
-
7249
6991
  case 'saturday':
7250
6992
  return 'Lör';
7251
-
7252
6993
  case 'sunday':
7253
6994
  return 'Sön';
7254
6995
  }
7255
6996
  };
7256
-
7257
6997
  const arr = [];
7258
-
7259
6998
  const GetOpeningHours = o => KeyOrder.reduce((prev, current) => {
7260
6999
  const title = TranslateWeekDays(current);
7261
7000
  const item = o[current];
7262
7001
  const previous = prev === null || prev === void 0 ? void 0 : prev[prev.length - 1];
7263
-
7264
7002
  if (previous && previous.from == (item === null || item === void 0 ? void 0 : item.from) && previous.until === (item === null || item === void 0 ? void 0 : item.until)) {
7265
7003
  prev[prev.length - 1].titleTo = title;
7266
7004
  } else {
@@ -7270,10 +7008,8 @@ const GetOpeningHours = o => KeyOrder.reduce((prev, current) => {
7270
7008
  until: item === null || item === void 0 ? void 0 : item.until
7271
7009
  });
7272
7010
  }
7273
-
7274
7011
  return prev;
7275
7012
  }, arr.slice());
7276
-
7277
7013
  const GetOpeningHoursToday = o => {
7278
7014
  const dayNumber = new Date().getDay();
7279
7015
  const day = KeyOrder[dayNumber === 0 ? 6 : dayNumber - 1];
@@ -7284,12 +7020,10 @@ const GetOpeningHoursToday = o => {
7284
7020
  until: current === null || current === void 0 ? void 0 : current.until
7285
7021
  };
7286
7022
  };
7287
-
7288
7023
  const valuOfDateString = s => {
7289
7024
  const splitted = s.split(':').map(x => parseInt(x, 10));
7290
7025
  return new Date().setHours(splitted[0], splitted[1]).valueOf();
7291
7026
  };
7292
-
7293
7027
  const OpeningHours = ({
7294
7028
  openingHours
7295
7029
  }) => {
@@ -7307,11 +7041,9 @@ const OpeningHours = ({
7307
7041
  }
7308
7042
  }, [today]);
7309
7043
  const oh = React.useMemo(() => openingHours ? GetOpeningHours(openingHours) : null, [openingHours]);
7310
-
7311
7044
  if (!oh) {
7312
7045
  return null;
7313
7046
  }
7314
-
7315
7047
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(RepeatSmall, null, React__default.createElement(Badge, {
7316
7048
  label: currentlyOpen ? 'Öppet' : 'Stängt',
7317
7049
  severity: currentlyOpen ? 'positive' : 'negative'
@@ -7378,16 +7110,13 @@ const StaticMap = ({
7378
7110
  setVisible(true);
7379
7111
  }
7380
7112
  }, []);
7381
-
7382
7113
  if (!position) {
7383
7114
  return null;
7384
7115
  }
7385
-
7386
7116
  const {
7387
7117
  latitude,
7388
7118
  longitude
7389
7119
  } = position;
7390
-
7391
7120
  if (visible && googleMapsApiKey) {
7392
7121
  return React__default.createElement(Wrapper$w, {
7393
7122
  href: `http://maps.google.com/maps?q=${latitude},${longitude}`,
@@ -7399,7 +7128,6 @@ const StaticMap = ({
7399
7128
  alt: "Karta"
7400
7129
  }));
7401
7130
  }
7402
-
7403
7131
  return React__default.createElement(Placeholder, {
7404
7132
  href: `http://maps.google.com/maps?q=${latitude},${longitude}`,
7405
7133
  target: "_blank",
@@ -7415,7 +7143,6 @@ const Branch = ({
7415
7143
  loading
7416
7144
  }) => {
7417
7145
  var _branch$location, _branch$location2, _branch$location3, _branch$connections, _branch$location4, _branch$location5, _branch$location6, _branch$location7, _branch$contact;
7418
-
7419
7146
  const [modal, setModal] = React.useState(false);
7420
7147
  const openModal = React.useCallback(() => setModal(true), []);
7421
7148
  const closeModal = React.useCallback(() => setModal(false), []);
@@ -7424,11 +7151,9 @@ const Branch = ({
7424
7151
  setModal(false);
7425
7152
  }
7426
7153
  }, [branch]);
7427
-
7428
7154
  if (!branch) {
7429
7155
  return null;
7430
7156
  }
7431
-
7432
7157
  return React__default.createElement(React__default.Fragment, null, modal && React__default.createElement(BranchModal, {
7433
7158
  loading: loading,
7434
7159
  connections: branch === null || branch === void 0 ? void 0 : branch.connections,
@@ -7575,7 +7300,6 @@ const useSearchItemBranch = (id, branch) => client.useQuery(SEARCH_ITEM_BRANCH_Q
7575
7300
 
7576
7301
  const useCentralStorage = vehicle => {
7577
7302
  var _vehicle$branch, _connections$find;
7578
-
7579
7303
  const {
7580
7304
  centralStorageId,
7581
7305
  setCentralStorageId
@@ -7589,10 +7313,8 @@ const useCentralStorage = vehicle => {
7589
7313
  React.useEffect(() => {
7590
7314
  if (((connections === null || connections === void 0 ? void 0 : connections.length) || 0) > 0) {
7591
7315
  const match = centralStorageId ? connections === null || connections === void 0 ? void 0 : connections.find(x => x.id === centralStorageId) : undefined;
7592
-
7593
7316
  if (!match) {
7594
7317
  const first = connections === null || connections === void 0 ? void 0 : connections[0];
7595
-
7596
7318
  if (first) {
7597
7319
  setCentralStorageId(first.id);
7598
7320
  }
@@ -7619,43 +7341,29 @@ class PropertyTreeCreator {
7619
7341
  constructor(properties) {
7620
7342
  this.propertiesWithCategory = propertyKey => {
7621
7343
  var _this$properties$prop;
7622
-
7623
7344
  return !!((_this$properties$prop = this.properties[propertyKey].category) !== null && _this$properties$prop !== void 0 && _this$properties$prop.id);
7624
7345
  };
7625
-
7626
7346
  this.propertiesWithoutCategory = propertyKey => !this.propertiesWithCategory(propertyKey);
7627
-
7628
7347
  this.isList = property => property.type === PropertyTreeCreator.TEXT_LIST_TYPE;
7629
-
7630
7348
  this.isNonList = property => !this.isList(property);
7631
-
7632
7349
  this.hasCategoryWithId = (propertyKey, categoryId) => {
7633
7350
  var _this$properties$prop2;
7634
-
7635
7351
  return ((_this$properties$prop2 = this.properties[propertyKey].category) === null || _this$properties$prop2 === void 0 ? void 0 : _this$properties$prop2.id) === categoryId;
7636
7352
  };
7637
-
7638
7353
  this.propertiesWithSubCategory = propertyKey => {
7639
7354
  var _this$properties$prop3, _this$properties$prop4;
7640
-
7641
7355
  return !!((_this$properties$prop3 = this.properties[propertyKey].category) !== null && _this$properties$prop3 !== void 0 && (_this$properties$prop4 = _this$properties$prop3.subCategory) !== null && _this$properties$prop4 !== void 0 && _this$properties$prop4.id);
7642
7356
  };
7643
-
7644
7357
  this.propertiesWithoutSubCategory = propertyKey => !this.propertiesWithSubCategory(propertyKey);
7645
-
7646
7358
  this.hasSubCategoryWithId = (propertyKey, categoryId) => {
7647
7359
  var _this$properties$prop5, _this$properties$prop6;
7648
-
7649
7360
  return ((_this$properties$prop5 = this.properties[propertyKey].category) === null || _this$properties$prop5 === void 0 ? void 0 : (_this$properties$prop6 = _this$properties$prop5.subCategory) === null || _this$properties$prop6 === void 0 ? void 0 : _this$properties$prop6.id) === categoryId;
7650
7361
  };
7651
-
7652
7362
  this.properties = properties;
7653
7363
  }
7654
-
7655
7364
  create() {
7656
7365
  const categories = this.createTreeCategories();
7657
7366
  const rootProperties = this.getRootProperties();
7658
-
7659
7367
  if (rootProperties.length) {
7660
7368
  categories.push({
7661
7369
  name: PropertyTreeCreator.DEFAULT_CATEGORY_NAME,
@@ -7664,29 +7372,24 @@ class PropertyTreeCreator {
7664
7372
  properties: rootProperties
7665
7373
  });
7666
7374
  }
7667
-
7668
7375
  const tree = {
7669
7376
  categories
7670
7377
  };
7671
7378
  return tree;
7672
7379
  }
7673
-
7674
7380
  getRootProperties() {
7675
7381
  const rootProperties = Object.keys(this.properties).filter(this.propertiesWithoutCategory).map(key => this.properties[key]).filter(this.isNonList);
7676
7382
  return rootProperties;
7677
7383
  }
7678
-
7679
7384
  createTreeCategories() {
7680
7385
  const categories = this.getCategories();
7681
7386
  const treeCategories = this.convertToTreeCategories(categories);
7682
7387
  return treeCategories;
7683
7388
  }
7684
-
7685
7389
  getCategories() {
7686
7390
  const categories = Object.keys(this.properties).filter(this.propertiesWithCategory).map(key => this.properties[key].category).filter(PropertyTreeCreator.distinctCategories);
7687
7391
  return categories;
7688
7392
  }
7689
-
7690
7393
  convertToTreeCategories(categories) {
7691
7394
  return categories.map(category => {
7692
7395
  const properties = Object.keys(this.properties).filter(key => this.hasCategoryWithId(key, category.id)).filter(this.propertiesWithoutSubCategory).map(key => this.properties[key]).filter(this.isNonList);
@@ -7699,7 +7402,6 @@ class PropertyTreeCreator {
7699
7402
  };
7700
7403
  });
7701
7404
  }
7702
-
7703
7405
  createTreeSubCategories(categoryId) {
7704
7406
  const subCategories = this.getSubCategoriesOfCategory(categoryId);
7705
7407
  const convertedSubCategories = subCategories.map(subCategory => this.convertSubCategory(subCategory)).filter(category => category.properties.length > 0);
@@ -7707,16 +7409,13 @@ class PropertyTreeCreator {
7707
7409
  const treeCategories = convertedSubCategories.concat(createdSubCategories);
7708
7410
  return treeCategories;
7709
7411
  }
7710
-
7711
7412
  getSubCategoriesOfCategory(id) {
7712
7413
  const categories = Object.keys(this.properties).filter(key => this.hasCategoryWithId(key, id)).filter(this.propertiesWithSubCategory).map(key => {
7713
7414
  var _this$properties$key$;
7714
-
7715
7415
  return (_this$properties$key$ = this.properties[key].category) === null || _this$properties$key$ === void 0 ? void 0 : _this$properties$key$.subCategory;
7716
7416
  }).filter(PropertyTreeCreator.distinctCategories);
7717
7417
  return categories;
7718
7418
  }
7719
-
7720
7419
  convertSubCategory(subCategory) {
7721
7420
  const properties = Object.keys(this.properties).filter(key => this.hasSubCategoryWithId(key, subCategory.id)).map(key => this.properties[key]).filter(this.isNonList);
7722
7421
  return {
@@ -7726,7 +7425,6 @@ class PropertyTreeCreator {
7726
7425
  subCategories: []
7727
7426
  };
7728
7427
  }
7729
-
7730
7428
  createListSubCategories(categoryId) {
7731
7429
  const listProperties = Object.keys(this.properties).filter(key => this.hasCategoryWithId(key, categoryId)).map(key => this.properties[key]).filter(this.isList).filter(prop => prop.value.length > 0);
7732
7430
  const createdSubCategories = listProperties.map((property, index) => ({
@@ -7737,7 +7435,6 @@ class PropertyTreeCreator {
7737
7435
  }));
7738
7436
  return createdSubCategories;
7739
7437
  }
7740
-
7741
7438
  asBoolProperties(listProperty) {
7742
7439
  const values = listProperty.value;
7743
7440
  const boolProperties = values.map(prop => ({
@@ -7749,14 +7446,11 @@ class PropertyTreeCreator {
7749
7446
  }));
7750
7447
  return boolProperties;
7751
7448
  }
7752
-
7753
7449
  }
7754
-
7755
7450
  PropertyTreeCreator.distinctCategories = (category, index, self) => {
7756
7451
  const firstOccuranceOfId = self.find(value => value.id === category.id);
7757
7452
  return !!firstOccuranceOfId && self.indexOf(firstOccuranceOfId) === index;
7758
7453
  };
7759
-
7760
7454
  PropertyTreeCreator.DEFAULT_CATEGORY_NAME = 'Okategoriserat';
7761
7455
  PropertyTreeCreator.DEFAULT_CATEGORY_ID = 0;
7762
7456
  PropertyTreeCreator.TEXT_LIST_TYPE = 'text-list';
@@ -7771,27 +7465,21 @@ const ID_ORDER = Object.freeze({
7771
7465
  '6': 6,
7772
7466
  '119': 7
7773
7467
  });
7774
-
7775
7468
  const compareById = (firstId, secondId) => {
7776
7469
  const firstOrder = ID_ORDER[firstId] || Number.MAX_SAFE_INTEGER;
7777
7470
  const secondOrder = ID_ORDER[secondId] || Number.MAX_SAFE_INTEGER;
7778
-
7779
7471
  if (firstOrder < secondOrder) {
7780
7472
  return -1;
7781
7473
  } else if (secondOrder < firstOrder) {
7782
7474
  return 1;
7783
7475
  }
7784
-
7785
7476
  return 0;
7786
7477
  };
7787
-
7788
7478
  var compareCategories = ((first, second) => {
7789
7479
  const result = compareById(`${first.id}`, `${second.id}`);
7790
-
7791
7480
  if (result !== 0) {
7792
7481
  return result;
7793
7482
  }
7794
-
7795
7483
  return first.name.localeCompare(second.name);
7796
7484
  });
7797
7485
 
@@ -7816,27 +7504,21 @@ const ORDER = Object.freeze({
7816
7504
  Malus: 14,
7817
7505
  Bonus: 15
7818
7506
  });
7819
-
7820
7507
  const compareByPredefinedOrder = (firstId, secondId) => {
7821
7508
  const firstOrder = ORDER[firstId] || Number.MAX_SAFE_INTEGER;
7822
7509
  const secondOrder = ORDER[secondId] || Number.MAX_SAFE_INTEGER;
7823
-
7824
7510
  if (firstOrder < secondOrder) {
7825
7511
  return -1;
7826
7512
  } else if (secondOrder < firstOrder) {
7827
7513
  return 1;
7828
7514
  }
7829
-
7830
7515
  return 0;
7831
7516
  };
7832
-
7833
7517
  var compareBasicProperties = ((first, second) => {
7834
7518
  const result = compareByPredefinedOrder(`${first.name}`, `${second.name}`);
7835
-
7836
7519
  if (result !== 0) {
7837
7520
  return result;
7838
7521
  }
7839
-
7840
7522
  return compareProperties(first, second);
7841
7523
  });
7842
7524
 
@@ -8030,7 +7712,6 @@ const HINTS = Object.freeze({
8030
7712
  windowLifts: '',
8031
7713
  wirelessPhoneCharger: 'Bilen är utrustad med induktionsladdare, så att telefoner som stödjer trådlös laddning kan laddas i bilen utan laddningssladd.'
8032
7714
  });
8033
-
8034
7715
  const enrichWithHint = properties => {
8035
7716
  const clone = deepCopy(properties);
8036
7717
  const keys = Object.keys(clone);
@@ -8058,7 +7739,6 @@ const ENGINE_SUBCATEGORY = Object.freeze({
8058
7739
  subCategory: null
8059
7740
  }
8060
7741
  });
8061
-
8062
7742
  class PropertyBuilder {
8063
7743
  constructor() {
8064
7744
  this.name = '';
@@ -8068,32 +7748,26 @@ class PropertyBuilder {
8068
7748
  this.hint = null;
8069
7749
  this.category = null;
8070
7750
  }
8071
-
8072
7751
  withName(name) {
8073
7752
  this.name = name;
8074
7753
  return this;
8075
7754
  }
8076
-
8077
7755
  withValue(value) {
8078
7756
  this.value = value;
8079
7757
  return this;
8080
7758
  }
8081
-
8082
7759
  withType(type) {
8083
7760
  this.type = type;
8084
7761
  return this;
8085
7762
  }
8086
-
8087
7763
  withCategory(category) {
8088
7764
  this.category = category;
8089
7765
  return this;
8090
7766
  }
8091
-
8092
7767
  withUnit(unit) {
8093
7768
  this.unit = unit;
8094
7769
  return this;
8095
7770
  }
8096
-
8097
7771
  build() {
8098
7772
  return {
8099
7773
  name: this.name,
@@ -8104,68 +7778,50 @@ class PropertyBuilder {
8104
7778
  category: this.category
8105
7779
  };
8106
7780
  }
8107
-
8108
7781
  }
8109
-
8110
7782
  var addCustomProperties = ((item, properties) => {
8111
7783
  const newProperties = deepCopy(properties);
8112
-
8113
7784
  if (!!item.manufacturer) {
8114
7785
  newProperties.manufacturer = new PropertyBuilder().withName('Varumärke').withValue(item.manufacturer).withType(TEXT_TYPE).withCategory(BASIC_CATEGORY).build();
8115
7786
  }
8116
-
8117
7787
  if (!!item.modelSeries) {
8118
7788
  newProperties.modelSeries = new PropertyBuilder().withName('Modell').withValue(item.modelSeries).withType(TEXT_TYPE).withCategory(BASIC_CATEGORY).build();
8119
7789
  }
8120
-
8121
7790
  if (!!item.modelName) {
8122
7791
  newProperties.modelName = new PropertyBuilder().withName('Version').withValue(item.modelName).withType(TEXT_TYPE).withCategory(BASIC_CATEGORY).build();
8123
7792
  }
8124
-
8125
7793
  if (!!item.modelYear) {
8126
7794
  newProperties.modelYear = new PropertyBuilder().withName('Modellår').withValue(item.modelYear).withType(NUMBER_TYPE).withCategory(BASIC_CATEGORY).build();
8127
7795
  }
8128
-
8129
7796
  if (!!item.manufactureYear) {
8130
7797
  newProperties.manufactureYear = new PropertyBuilder().withName('Tillverkningsår').withValue(item.manufactureYear).withType(NUMBER_TYPE).withCategory(BASIC_CATEGORY).build();
8131
7798
  }
8132
-
8133
7799
  if (!!item.mileage) {
8134
7800
  newProperties.mileage = new PropertyBuilder().withName('Mätarställning').withValue(item.mileage).withType(NUMBER_TYPE).withCategory(BASIC_CATEGORY).withUnit('mil').build();
8135
7801
  }
8136
-
8137
7802
  if (!!item.gearboxType) {
8138
7803
  newProperties.gearboxType = new PropertyBuilder().withName('Växellåda').withValue(item.gearboxType).withType(TEXT_TYPE).withCategory(BASIC_CATEGORY).build();
8139
7804
  }
8140
-
8141
7805
  if (!!item.registrationNumber) {
8142
7806
  newProperties.registrationNumber = new PropertyBuilder().withName('Registreringsnummer').withValue(item.registrationNumber).withType(TEXT_TYPE).withCategory(BASIC_CATEGORY).build();
8143
7807
  }
8144
-
8145
7808
  if (!!item.fuelType) {
8146
7809
  newProperties.fuelType = new PropertyBuilder().withName('Bränslegrupp').withValue(item.fuelType).withType(TEXT_TYPE).withCategory(BASIC_CATEGORY).build();
8147
7810
  }
8148
-
8149
7811
  if (item.enginePower) {
8150
7812
  newProperties.enginePower = new PropertyBuilder().withName('Effekt').withValue(item.enginePower).withUnit('hk').withType(NUMBER_TYPE).withCategory(ENGINE_SUBCATEGORY).build();
8151
7813
  }
8152
-
8153
7814
  return newProperties;
8154
7815
  });
8155
7816
 
8156
7817
  const PROPERTY_BLACK_LIST = Object.freeze(['towHitchFoldable']);
8157
-
8158
7818
  const isForbiddenProperty = key => PROPERTY_BLACK_LIST.includes(key);
8159
-
8160
7819
  const CATEGORY_WHITE_LIST = Object.freeze([1, 2, 6, 8, 71, 119, 1000]);
8161
-
8162
7820
  const hasForbiddenCategory = property => !property.category || !property.category.id || !CATEGORY_WHITE_LIST.includes(property.category.id);
8163
-
8164
7821
  var removeProperties = (properties => {
8165
7822
  const newProperties = deepCopy(properties);
8166
7823
  Object.keys(properties).forEach(key => {
8167
7824
  const property = properties[key];
8168
-
8169
7825
  if (hasForbiddenCategory(property)) {
8170
7826
  delete newProperties[key];
8171
7827
  } else if (isForbiddenProperty(key)) {
@@ -8218,18 +7874,14 @@ const formatValue = (value, unit) => {
8218
7874
  block: true
8219
7875
  }));
8220
7876
  }
8221
-
8222
7877
  if (Array.isArray(value)) {
8223
7878
  return value.join(', ');
8224
7879
  }
8225
-
8226
7880
  if (!!value && !!unit) {
8227
7881
  return `${value} ${unit}`;
8228
7882
  }
8229
-
8230
7883
  return value;
8231
7884
  };
8232
-
8233
7885
  const MetadataItem = ({
8234
7886
  name,
8235
7887
  hint,
@@ -8341,7 +7993,6 @@ const MetadataSubCategory = ({
8341
7993
  unit: property.unit,
8342
7994
  key: `${property.name}-${index}`
8343
7995
  }))));
8344
-
8345
7996
  const MetadataCategory = ({
8346
7997
  properties,
8347
7998
  subCategories
@@ -8358,19 +8009,16 @@ const MetadataCategory = ({
8358
8009
  properties: subCategory.properties,
8359
8010
  key: `${subCategory.name}-${index}`
8360
8011
  })));
8361
-
8362
8012
  const PropertySet = ({
8363
8013
  propertySet,
8364
8014
  vehicleData
8365
8015
  }) => {
8366
8016
  var _mappedProperties$cat2, _mappedProperties$cat3;
8367
-
8368
8017
  const [activeCategoryId, setActiveCategoryId] = React.useState(-1);
8369
8018
  const mappedProperties = React.useMemo(() => {
8370
8019
  if (!propertySet) {
8371
8020
  return undefined;
8372
8021
  }
8373
-
8374
8022
  let newProperties = removeProperties(propertySet);
8375
8023
  newProperties = addCustomProperties(vehicleData, newProperties);
8376
8024
  const enrichedProperties = enrichWithHint(newProperties);
@@ -8380,9 +8028,7 @@ const PropertySet = ({
8380
8028
  }, [propertySet]);
8381
8029
  React.useEffect(() => {
8382
8030
  var _mappedProperties$cat;
8383
-
8384
8031
  const categories = (mappedProperties === null || mappedProperties === void 0 ? void 0 : (_mappedProperties$cat = mappedProperties.categories) === null || _mappedProperties$cat === void 0 ? void 0 : _mappedProperties$cat.length) !== undefined ? mappedProperties === null || mappedProperties === void 0 ? void 0 : mappedProperties.categories : undefined;
8385
-
8386
8032
  if (activeCategoryId < 0 && categories !== undefined && categories.length > 0) {
8387
8033
  setActiveCategoryId(categories[0].id);
8388
8034
  }
@@ -8421,7 +8067,7 @@ const PdfListItem = styled__default.li.attrs(() => ({
8421
8067
  flex: 0 0 100%;
8422
8068
  }
8423
8069
  `;
8424
- const PdfContainer = styled__default.ul`
8070
+ const List$a = styled__default.ul`
8425
8071
  list-style: none;
8426
8072
  padding: 0;
8427
8073
  display: flex;
@@ -8465,20 +8111,71 @@ const PdfListInner = styled__default.div`
8465
8111
  }
8466
8112
  `;
8467
8113
 
8114
+ const translateContentType = document => {
8115
+ switch (document.contentType) {
8116
+ case 'application/pdf':
8117
+ return 'PDF';
8118
+ default:
8119
+ const formattedContentType = document.url && document.url.includes('.') ? document.url.split('.').pop() : '';
8120
+ return formattedContentType;
8121
+ }
8122
+ };
8468
8123
  const PdfDownloadItem = ({
8469
8124
  document
8470
- }) => React__default.createElement(PdfListItem, null, React__default.createElement(PdfListInner, null, React__default.createElement(PdfColumn, null, React__default.createElement(PdfTitle, null, document.name), React__default.createElement(PdfSubtitle, null, document.contentType)), React__default.createElement(PdfColumn, null, React__default.createElement(PdfLink, {
8471
- href: document.url,
8472
- rel: "noopener noreferrer nofollow",
8473
- target: "_blank"
8474
- }, "\u00D6ppna"))));
8475
- const PdfDownloadContainer = ({
8125
+ }) => {
8126
+ const contentType = React.useMemo(() => translateContentType(document), [document]);
8127
+ return React__default.createElement(PdfListItem, null, React__default.createElement(PdfListInner, null, React__default.createElement(PdfColumn, null, React__default.createElement(PdfTitle, null, document.name), React__default.createElement(PdfSubtitle, null, contentType)), React__default.createElement(PdfColumn, null, React__default.createElement(PdfLink, {
8128
+ href: document.url,
8129
+ rel: "noopener noreferrer nofollow",
8130
+ target: "_blank"
8131
+ }, "\u00D6ppna"))));
8132
+ };
8133
+ const DocumentList = ({
8476
8134
  documents
8477
- }) => React__default.createElement(PdfContainer, null, documents.map((document, i) => React__default.createElement(PdfDownloadItem, {
8135
+ }) => React__default.createElement(List$a, null, documents.map((document, i) => React__default.createElement(PdfDownloadItem, {
8478
8136
  key: `${document.url}-${i}`,
8479
8137
  document: document
8480
8138
  })));
8481
8139
 
8140
+ const Translation = {
8141
+ 'tyre-label': 'Energideklaration för däck',
8142
+ 'content declaration': 'Varudeklaration',
8143
+ other: 'Övriga dokument'
8144
+ };
8145
+ const SortOrder = {
8146
+ 'tyre-label': 2,
8147
+ 'content declaration': 1,
8148
+ other: 3
8149
+ };
8150
+ const Documents = ({
8151
+ documents
8152
+ }) => {
8153
+ const categorised = documents.reduce((prev, curr) => {
8154
+ const index = prev.findIndex(x => x.category === (curr.category || 'others'));
8155
+ if (index > -1) {
8156
+ prev[index].documents.push(curr);
8157
+ } else {
8158
+ var _SortOrder$category;
8159
+ const category = curr.category || 'others';
8160
+ prev.push({
8161
+ category,
8162
+ documents: [curr],
8163
+ sortOrder: (_SortOrder$category = SortOrder === null || SortOrder === void 0 ? void 0 : SortOrder[category]) !== null && _SortOrder$category !== void 0 ? _SortOrder$category : 99
8164
+ });
8165
+ }
8166
+ return prev;
8167
+ }, []).sort((a, b) => a.sortOrder - b.sortOrder);
8168
+ if (!documents.length) return null;
8169
+ const manyCategories = categorised.length > 1;
8170
+ return React__default.createElement(ProductPageMainSection, null, React__default.createElement(Repeat, null, React__default.createElement(H2, {
8171
+ noMargin: true
8172
+ }, "Dokument")), categorised.map(group => React__default.createElement(Repeat, {
8173
+ key: group.category
8174
+ }, manyCategories && React__default.createElement(H3, null, (Translation === null || Translation === void 0 ? void 0 : Translation[group.category]) || Translation.other), React__default.createElement(DocumentList, {
8175
+ documents: group.documents
8176
+ }))));
8177
+ };
8178
+
8482
8179
  const WaykeSearchItem = ({
8483
8180
  id,
8484
8181
  hashRoute,
@@ -8489,7 +8186,6 @@ const WaykeSearchItem = ({
8489
8186
  onClickSearchItem
8490
8187
  }) => {
8491
8188
  var _result$vehicle3, _result$vehicle3$data, _result$vehicle4;
8492
-
8493
8189
  const {
8494
8190
  ecomSettings
8495
8191
  } = useSettings();
@@ -8516,14 +8212,11 @@ const WaykeSearchItem = ({
8516
8212
  },
8517
8213
  logo: ecomSettings.serviceLogotypeUrl,
8518
8214
  logoX2: ecomSettings.serviceLogotypeUrl,
8519
-
8520
8215
  onEvent(view, event, currentStep, data) {
8521
8216
  PubSub.publish('EcomOnUserEvent', view, event, currentStep, data);
8522
8217
  }
8523
-
8524
8218
  });
8525
8219
  }
8526
-
8527
8220
  return () => {
8528
8221
  if (ecomContext.current) {
8529
8222
  ecomContext.current.destroy();
@@ -8537,7 +8230,6 @@ const WaykeSearchItem = ({
8537
8230
  }, []);
8538
8231
  React.useEffect(() => {
8539
8232
  var _result$vehicle;
8540
-
8541
8233
  if (result !== null && result !== void 0 && (_result$vehicle = result.vehicle) !== null && _result$vehicle !== void 0 && _result$vehicle.data && modifyDocumentTitleItem) {
8542
8234
  const {
8543
8235
  vehicle
@@ -8550,21 +8242,17 @@ const WaykeSearchItem = ({
8550
8242
  }, [result]);
8551
8243
  const options = React.useMemo(() => {
8552
8244
  var _result$vehicle2, _result$vehicle2$data, _result$vehicle2$data2;
8553
-
8554
8245
  return result === null || result === void 0 ? void 0 : (_result$vehicle2 = result.vehicle) === null || _result$vehicle2 === void 0 ? void 0 : (_result$vehicle2$data = _result$vehicle2.data) === null || _result$vehicle2$data === void 0 ? void 0 : (_result$vehicle2$data2 = _result$vehicle2$data.options) === null || _result$vehicle2$data2 === void 0 ? void 0 : _result$vehicle2$data2.filter(notEmpty).map(opt => ({
8555
8246
  title: opt
8556
8247
  }));
8557
8248
  }, [result === null || result === void 0 ? void 0 : (_result$vehicle3 = result.vehicle) === null || _result$vehicle3 === void 0 ? void 0 : (_result$vehicle3$data = _result$vehicle3.data) === null || _result$vehicle3$data === void 0 ? void 0 : _result$vehicle3$data.options]);
8558
8249
  const onShowMoreOptionsClick = React.useCallback(() => PubSub.publish('OptionsClick'), []);
8559
-
8560
8250
  if (loading) {
8561
8251
  return React__default.createElement(PageLoading, null);
8562
8252
  }
8563
-
8564
8253
  if (!(result !== null && result !== void 0 && (_result$vehicle4 = result.vehicle) !== null && _result$vehicle4 !== void 0 && _result$vehicle4.data)) {
8565
8254
  return React__default.createElement(Page404, null);
8566
8255
  }
8567
-
8568
8256
  const {
8569
8257
  vehicle
8570
8258
  } = result;
@@ -8597,30 +8285,25 @@ const WaykeSearchItem = ({
8597
8285
  const uspList = [{
8598
8286
  title: modelYear
8599
8287
  }];
8600
-
8601
8288
  if (flags !== null && flags !== void 0 && flags.demoVersion) {
8602
8289
  uspList.push({
8603
8290
  title: 'Demobil',
8604
8291
  onClick: onToggleDemoCarModal
8605
8292
  });
8606
8293
  }
8607
-
8608
8294
  uspList.push({
8609
8295
  title: `${numberSeparator(mileage)} mil`
8610
8296
  });
8611
-
8612
8297
  if (gearbox) {
8613
8298
  uspList.push({
8614
8299
  title: gearbox
8615
8300
  });
8616
8301
  }
8617
-
8618
8302
  if (fuelType) {
8619
8303
  uspList.push({
8620
8304
  title: fuelType
8621
8305
  });
8622
8306
  }
8623
-
8624
8307
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(Page, null, React__default.createElement(PageSection, {
8625
8308
  large: true
8626
8309
  }, React__default.createElement(Container, null, React__default.createElement(ProductPage, null, React__default.createElement(ProductPageAside, null, React__default.createElement(ProductPageAsideSection, {
@@ -8665,7 +8348,6 @@ const WaykeSearchItem = ({
8665
8348
  availableFrom: availableFrom,
8666
8349
  toggleEcomModal: () => {
8667
8350
  var _ecomContext$current;
8668
-
8669
8351
  return (_ecomContext$current = ecomContext.current) === null || _ecomContext$current === void 0 ? void 0 : _ecomContext$current.start();
8670
8352
  }
8671
8353
  }))), React__default.createElement(ProductPageMain, null, React__default.createElement(ProductPageAsideSection, {
@@ -8689,11 +8371,9 @@ const WaykeSearchItem = ({
8689
8371
  onClick: onShowMoreOptionsClick
8690
8372
  }, React__default.createElement(UspList, {
8691
8373
  items: options
8692
- })))), (documents.length || 0) > 0 && React__default.createElement(ProductPageMainSection, null, React__default.createElement(Repeat, null, React__default.createElement(H2, {
8693
- noMargin: true
8694
- }, "Dokument")), React__default.createElement(Repeat, null, React__default.createElement(Content$2, null, React__default.createElement("p", null, "Tillh\u00F6rande dokument f\u00F6r bilen."))), React__default.createElement(Repeat, null, React__default.createElement(PdfDownloadContainer, {
8374
+ })))), React__default.createElement(Documents, {
8695
8375
  documents: documents
8696
- }))), React__default.createElement(ProductPageMainSection, null, React__default.createElement(Branch, {
8376
+ }), React__default.createElement(ProductPageMainSection, null, React__default.createElement(Branch, {
8697
8377
  branch: branch,
8698
8378
  loading: loadingCentralStorageVehicle
8699
8379
  }), ecommerce && ecommerce.enabled && React__default.createElement(Repeat, null, React__default.createElement(ButtonPrimary, {
@@ -8701,7 +8381,6 @@ const WaykeSearchItem = ({
8701
8381
  title: "K\u00F6p bilen online",
8702
8382
  onClick: () => {
8703
8383
  var _ecomContext$current2;
8704
-
8705
8384
  return (_ecomContext$current2 = ecomContext.current) === null || _ecomContext$current2 === void 0 ? void 0 : _ecomContext$current2.start();
8706
8385
  }
8707
8386
  }, "K\u00F6p bilen online"))), React__default.createElement(PackageOptions, {
@@ -8744,7 +8423,6 @@ const getUrlSearchParamsFromUrl = () => new URLSearchParams(window.location.sear
8744
8423
  const initialSearchParams = new URLSearchParams();
8745
8424
  initialSearchParams.set('hits', '30');
8746
8425
  initialSearchParams.set('sort', 'published-desc');
8747
-
8748
8426
  const SearchProvider = ({
8749
8427
  url,
8750
8428
  apiKey,
@@ -8779,30 +8457,24 @@ const SearchProvider = ({
8779
8457
  'x-api-key': apiKey
8780
8458
  } : {}
8781
8459
  }, !initialize || !!(queryFilter !== null && queryFilter !== void 0 && queryFilter.block));
8782
-
8783
8460
  const popStateEvent = event => {
8784
8461
  const {
8785
8462
  currentTarget
8786
8463
  } = event;
8787
-
8788
8464
  if (currentTarget) {
8789
8465
  const nextSearchParams = new URLSearchParams(currentTarget.location.search);
8790
-
8791
8466
  if (!nextSearchParams.has('sort')) {
8792
8467
  nextSearchParams.set('sort', 'published-desc');
8793
8468
  }
8794
-
8795
8469
  setQueryFilter({
8796
8470
  searchParams: nextSearchParams
8797
8471
  });
8798
8472
  }
8799
8473
  };
8800
-
8801
8474
  React.useEffect(() => {
8802
8475
  if (useQueryParamsFromUrl) {
8803
8476
  window.addEventListener('popstate', popStateEvent);
8804
8477
  }
8805
-
8806
8478
  const onFilterUpdateEvent = {
8807
8479
  actionName: 'onFilterUpdate',
8808
8480
  callback: onFilterUpdate
@@ -8823,25 +8495,19 @@ const SearchProvider = ({
8823
8495
  const nextSearchParams = new URLSearchParams(queryFilter.searchParams);
8824
8496
  nextSearchParams.delete('hits');
8825
8497
  nextSearchParams.delete('offset');
8826
-
8827
8498
  if (nextSearchParams.get('sort') === 'published-desc') {
8828
8499
  nextSearchParams.delete('sort');
8829
8500
  }
8830
-
8831
8501
  const nextSearch = nextSearchParams.toString() ? `?${nextSearchParams}` : '';
8832
-
8833
8502
  if (initialize) {
8834
8503
  if (window.location.search.localeCompare(nextSearch) !== 0) {
8835
8504
  const _path = pathRoute === null || pathRoute === void 0 ? void 0 : pathRoute.replace(/^\/|\/$/g, '');
8836
-
8837
8505
  const prefix = _path ? `/${_path}/` : '/';
8838
8506
  const index = _path ? window.location.pathname.indexOf(prefix) : -1;
8839
8507
  let pathname = window.location.pathname;
8840
-
8841
8508
  if (index > -1) {
8842
8509
  pathname = pathname.substr(0, index);
8843
8510
  }
8844
-
8845
8511
  pushState(`${pathname}${nextSearch}`);
8846
8512
  }
8847
8513
  }
@@ -8850,17 +8516,14 @@ const SearchProvider = ({
8850
8516
  React.useEffect(() => {
8851
8517
  if (response) {
8852
8518
  var _response$query;
8853
-
8854
8519
  if (!initialFacets && !useQueryParamsFromUrl) {
8855
8520
  setInitialFacets(response.facets);
8856
8521
  }
8857
-
8858
8522
  if (useQueryParamsFromUrl && (_response$query = response.query) !== null && _response$query !== void 0 && _response$query.parameters) {
8859
8523
  const nextSearchParams = new URLSearchParams(response.query.parameters);
8860
8524
  nextSearchParams.delete('hits');
8861
8525
  nextSearchParams.delete('offset');
8862
8526
  const nextSearch = nextSearchParams.toString() ? `?${nextSearchParams}` : '';
8863
-
8864
8527
  if (window.location.search.localeCompare(nextSearch) !== 0) {
8865
8528
  replaceState(`${window.location.pathname}${nextSearch}`);
8866
8529
  setQueryFilter({
@@ -8869,7 +8532,6 @@ const SearchProvider = ({
8869
8532
  });
8870
8533
  }
8871
8534
  }
8872
-
8873
8535
  if (queryFilter !== null && queryFilter !== void 0 && queryFilter.concatResult) {
8874
8536
  setDocuments([...(documents || []), ...(response.documentList.documents || [])]);
8875
8537
  } else {
@@ -8882,7 +8544,6 @@ const SearchProvider = ({
8882
8544
  if (!initialize) {
8883
8545
  setInitialize(true);
8884
8546
  }
8885
-
8886
8547
  setQueryFilter({
8887
8548
  searchParams: new URLSearchParams(nextQuery)
8888
8549
  });
@@ -8891,7 +8552,6 @@ const SearchProvider = ({
8891
8552
  const onLoadMore = React.useCallback(() => {
8892
8553
  if (response) {
8893
8554
  var _response$documentLis;
8894
-
8895
8555
  setQueryFilter({
8896
8556
  searchParams: new URLSearchParams(response === null || response === void 0 ? void 0 : (_response$documentLis = response.documentList.pagination.nextPage) === null || _response$documentLis === void 0 ? void 0 : _response$documentLis.query),
8897
8557
  concatResult: true
@@ -8902,40 +8562,32 @@ const SearchProvider = ({
8902
8562
  if (!initialize) {
8903
8563
  const searchParamsFromUrl = getUrlSearchParamsFromUrl();
8904
8564
  const initialQueryParams = useQueryParamsFromUrl ? searchParamsFromUrl : _initialQueryParams;
8905
-
8906
8565
  if (useQueryParamsFromUrl && _initialQueryParams) {
8907
8566
  _initialQueryParams.forEach((value, key) => {
8908
8567
  var _initialQueryParams$g;
8909
-
8910
8568
  if (!(initialQueryParams !== null && initialQueryParams !== void 0 && (_initialQueryParams$g = initialQueryParams.getAll(key)) !== null && _initialQueryParams$g !== void 0 && _initialQueryParams$g.some(v => v === value))) {
8911
8569
  initialQueryParams === null || initialQueryParams === void 0 ? void 0 : initialQueryParams.append(key, value);
8912
8570
  }
8913
8571
  });
8914
8572
  }
8915
-
8916
8573
  if (initialQueryParams) {
8917
8574
  const nextSearchParams = new URLSearchParams(initialQueryParams);
8918
8575
  nextSearchParams.delete('hits');
8919
8576
  nextSearchParams.delete('offset');
8920
-
8921
8577
  if (!initialQueryParams.has('hits')) {
8922
8578
  initialQueryParams.set('hits', '30');
8923
8579
  }
8924
-
8925
8580
  if (!initialQueryParams.has('sort')) {
8926
8581
  initialQueryParams.set('sort', 'published-desc');
8927
8582
  }
8928
-
8929
8583
  const nextSearch = nextSearchParams.toString() ? `?${nextSearchParams}` : '';
8930
8584
  setQueryFilter({
8931
8585
  searchParams: initialQueryParams
8932
8586
  });
8933
-
8934
8587
  if (useQueryParamsFromUrl) {
8935
8588
  replaceState(`${window.location.pathname}${nextSearch}`);
8936
8589
  }
8937
8590
  }
8938
-
8939
8591
  setInitialize(true);
8940
8592
  }
8941
8593
  }, [initialize]);
@@ -9073,15 +8725,12 @@ const SET_PATH = 'SET_PATH';
9073
8725
  const initialState = {
9074
8726
  path: window.location.pathname
9075
8727
  };
9076
-
9077
8728
  const pathReducer = (state, action) => {
9078
8729
  const next = _objectSpread2({}, state);
9079
-
9080
8730
  switch (action.type) {
9081
8731
  case SET_PATH:
9082
8732
  next.path = action.path;
9083
8733
  return next;
9084
-
9085
8734
  default:
9086
8735
  throw new Error(`Unsupported action type`);
9087
8736
  }
@@ -9089,7 +8738,6 @@ const pathReducer = (state, action) => {
9089
8738
 
9090
8739
  const regexGuidAnyWhere = /(\{){0,1}[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}(\}){0,1}/g;
9091
8740
  const POP_STATE = 'popstate';
9092
-
9093
8741
  const PathProvider = ({
9094
8742
  children
9095
8743
  }) => {
@@ -9102,7 +8750,6 @@ const PathProvider = ({
9102
8750
  path: window.location.pathname
9103
8751
  });
9104
8752
  };
9105
-
9106
8753
  window.addEventListener(POP_STATE, onPopState);
9107
8754
  return () => {
9108
8755
  window.removeEventListener(POP_STATE, onPopState);
@@ -9112,11 +8759,9 @@ const PathProvider = ({
9112
8759
  const h1 = window.location.hash;
9113
8760
  history.pushState(null, '', `${path}`);
9114
8761
  const h2 = window.location.hash;
9115
-
9116
8762
  if (h1.localeCompare(h2) !== 0) {
9117
8763
  window.dispatchEvent(new HashChangeEvent('hashchange'));
9118
8764
  }
9119
-
9120
8765
  dispatch({
9121
8766
  type: SET_PATH,
9122
8767
  path
@@ -9126,11 +8771,9 @@ const PathProvider = ({
9126
8771
  const h1 = window.location.hash;
9127
8772
  history.replaceState(null, '', path);
9128
8773
  const h2 = window.location.hash;
9129
-
9130
8774
  if (h1.localeCompare(h2) !== 0) {
9131
8775
  window.dispatchEvent(new HashChangeEvent('hashchange'));
9132
8776
  }
9133
-
9134
8777
  dispatch({
9135
8778
  type: SET_PATH,
9136
8779
  path
@@ -9138,7 +8781,6 @@ const PathProvider = ({
9138
8781
  }, []);
9139
8782
  const id = React.useMemo(() => {
9140
8783
  var _state$path$match;
9141
-
9142
8784
  return (_state$path$match = state.path.match(regexGuidAnyWhere)) === null || _state$path$match === void 0 ? void 0 : _state$path$match.pop();
9143
8785
  }, [state.path]);
9144
8786
  const value = React.useMemo(() => _objectSpread2(_objectSpread2({}, state), {}, {
@@ -9182,25 +8824,20 @@ const WaykeProvider = ({
9182
8824
 
9183
8825
  const regexGuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
9184
8826
  const HASH_CHANGE = 'hashchange';
9185
-
9186
8827
  const getGuid = () => {
9187
8828
  const guid = window.location.hash.substr(1, window.location.hash.length);
9188
8829
  return regexGuid.test(guid) || !guid ? guid : undefined;
9189
8830
  };
9190
-
9191
8831
  const useHashGuid = () => {
9192
8832
  const [id, setId] = React.useState(() => getGuid());
9193
-
9194
8833
  const onHashChange = () => {
9195
8834
  const guid = window.location.hash.substr(1, window.location.hash.length);
9196
-
9197
8835
  if (regexGuid.test(guid) || !guid) {
9198
8836
  setId(window.location.hash.substr(1, window.location.hash.length));
9199
8837
  } else {
9200
8838
  throw 'Invalid Guid';
9201
8839
  }
9202
8840
  };
9203
-
9204
8841
  React.useEffect(() => {
9205
8842
  onHashChange();
9206
8843
  window.addEventListener(HASH_CHANGE, onHashChange);