@bonlineza/luxity-lib 2.34.2 → 2.34.3

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.
@@ -1,11 +1,12 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react'), require('axios')) :
3
- typeof define === 'function' && define.amd ? define(['react', 'axios'], factory) :
4
- (global = global || self, global.LuxityMobileHeader = factory(global.React, global.axios));
5
- }(this, (function (React, axios) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react'), require('axios'), require('styled-components')) :
3
+ typeof define === 'function' && define.amd ? define(['react', 'axios', 'styled-components'], factory) :
4
+ (global = global || self, global.LuxityMobileHeader = factory(global.React, global.axios, global.styled));
5
+ }(this, (function (React, axios, styled) { 'use strict';
6
6
 
7
7
  var React__default = 'default' in React ? React['default'] : React;
8
8
  axios = axios && Object.prototype.hasOwnProperty.call(axios, 'default') ? axios['default'] : axios;
9
+ var styled__default = 'default' in styled ? styled['default'] : styled;
9
10
 
10
11
  function _arrayLikeToArray(r, a) {
11
12
  (null == a || a > r.length) && (a = r.length);
@@ -23,6 +24,15 @@
23
24
  writable: !0
24
25
  }) : e[r] = t, e;
25
26
  }
27
+ function _extends() {
28
+ return _extends = Object.assign ? Object.assign.bind() : function (n) {
29
+ for (var e = 1; e < arguments.length; e++) {
30
+ var t = arguments[e];
31
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
32
+ }
33
+ return n;
34
+ }, _extends.apply(null, arguments);
35
+ }
26
36
  function _iterableToArrayLimit(r, l) {
27
37
  var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
28
38
  if (null != t) {
@@ -77,6 +87,13 @@
77
87
  function _slicedToArray(r, e) {
78
88
  return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
79
89
  }
90
+ function _taggedTemplateLiteral(e, t) {
91
+ return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, {
92
+ raw: {
93
+ value: Object.freeze(t)
94
+ }
95
+ }));
96
+ }
80
97
  function _toPrimitive(t, r) {
81
98
  if ("object" != typeof t || !t) return t;
82
99
  var e = t[Symbol.toPrimitive];
@@ -555,6 +572,195 @@
555
572
  }
556
573
  };
557
574
 
575
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
576
+
577
+ /* position relative is required for the Body element to be positioned correctly */
578
+ var relativeInlineStyle = styled.css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n"])));
579
+ var topMiddleBodyStyle = styled.css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: absolute;\n z-index: 1;\n bottom: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n"])));
580
+ var getTopMiddleArrowAfterStyle = function getTopMiddleArrowAfterStyle(props) {
581
+ return styled.css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n /*Bottom Arrow*/\n top: 100%; /* At the bottom of the tooltip */\n left: calc(50% - ", ");\n border-width: ", ";\n border-style: solid;\n border-color: ", " transparent transparent transparent;\n"])), props.apexWidth, props.apexWidth, props.theme.colors.base);
582
+ };
583
+ var getBottomMiddleBodyStyle = function getBottomMiddleBodyStyle(props) {
584
+ return styled.css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n position: absolute;\n top: 100%;\n left: calc(50% - ", " / 2);\n"])), props.bodyWidth);
585
+ };
586
+ var getBottomMiddleArrowAfterStyle = function getBottomMiddleArrowAfterStyle(props) {
587
+ return styled.css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n /*Top Arrow*/\n bottom: 100%; /* At the top of the tooltip */\n top: initial;\n left: 50%;\n border-style: solid;\n border-color: transparent transparent ", " transparent;\n"])), props.theme.colors.base);
588
+ };
589
+
590
+ var _templateObject$1;
591
+ var getBodyStyle = function getBodyStyle() {
592
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
593
+ var _props$toolTipPositio = props.toolTipPosition,
594
+ toolTipPosition = _props$toolTipPositio === void 0 ? '' : _props$toolTipPositio;
595
+ switch (toolTipPosition) {
596
+ case 'top':
597
+ return topMiddleBodyStyle;
598
+ case 'bottom':
599
+ return getBottomMiddleBodyStyle(props);
600
+ default:
601
+ return null;
602
+ }
603
+ };
604
+ var getAfterStyling = function getAfterStyling() {
605
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
606
+ var toolTipPosition = props.toolTipPosition;
607
+ switch (toolTipPosition) {
608
+ case 'top':
609
+ return getTopMiddleArrowAfterStyle(props);
610
+ case 'bottom':
611
+ return getBottomMiddleArrowAfterStyle(props);
612
+ default:
613
+ return '';
614
+ }
615
+ };
616
+ var Body = styled__default.span(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n ", ";\n visibility: hidden;\n opacity: 0;\n width: ", ";\n transition: visibility 0.3s linear, opacity 0.3s linear;\n background-color: ", ";\n color: white;\n text-align: center;\n border-radius: 5px;\n ", "\n &::after {\n content: ' ';\n position: absolute;\n ", "\n }\n"])), relativeInlineStyle, function (props) {
617
+ return props.bodyWidth;
618
+ }, function (props) {
619
+ return props.theme.colors.base || 'black';
620
+ }, function (props) {
621
+ return getBodyStyle(props);
622
+ }, function (props) {
623
+ return getAfterStyling(props);
624
+ });
625
+
626
+ var _templateObject$2;
627
+ var Container = styled__default.div(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral(["\n ", ";\n cursor: pointer;\n &:hover ", " {\n opacity: 1;\n visibility: visible;\n }\n"])), relativeInlineStyle, Body);
628
+
629
+ var theme = {
630
+ breakpoints: ['40em', '52em', '64em'],
631
+ space: ['0px', '4px', '8px', '16px', '32px', '64px', '128px', '256px', '512px'],
632
+ fontSizes: ['12px', '14px', '16px', '20px', '24px', '32px', '48px', '64px', '72px'],
633
+ marginPaddings: ['0.5rem', '1rem', '1.5rem', '2rem', '2.5rem', '3rem', '3.5rem', '4rem', '4.5rem', '5rem', '5.5rem', '6rem'],
634
+ letterSpacings: ['-0.5px', '0px', '+0.5px'],
635
+ radii: ['0px', '2px', '4px', '8px'],
636
+ borderRadius: '6px',
637
+ colors: {
638
+ primary: '#000',
639
+ base: '#4e4949',
640
+ baseLt: '#817c7c',
641
+ borderColor: '#d8d8d8',
642
+ ntrlMin: '#fff',
643
+ ntrlMinTen: '#e6e6e6',
644
+ gray: '#efefef',
645
+ darkerGray: '#454141'
646
+ },
647
+ rareStepColors: {
648
+ primary: '#202b58',
649
+ secondary: '#ef5c2d',
650
+ ntrlMin: '#ffffff',
651
+ ntrl40: '#f4f4f4',
652
+ ntrl50: '#808080',
653
+ ntrl60: '#e8e8e8',
654
+ ntrl70: '#252525',
655
+ ntrlMax: '#000000'
656
+ },
657
+ rareStepFontWeights: {
658
+ normal: 400,
659
+ medium: 500,
660
+ semiBold: 600,
661
+ bold: 700
662
+ },
663
+ rareStepFontSize: {
664
+ h1: '36px',
665
+ h2: '30px',
666
+ h3: '24px',
667
+ h4: '20px',
668
+ h5: '16px',
669
+ h6: '14px',
670
+ footerTitle: '16px'
671
+ },
672
+ rareStepPageSizes: {
673
+ mobile: '500px',
674
+ tablet: '768px',
675
+ desktop: '992px',
676
+ screenl: '1280px',
677
+ screenxl: '1680px',
678
+ screenxxl: '1920px',
679
+ container: '1600px'
680
+ }
681
+ };
682
+
683
+ var themed = (function (Component) {
684
+ return /*#__PURE__*/React.forwardRef(function (props, ref) {
685
+ return /*#__PURE__*/React__default.createElement(styled.ThemeProvider, {
686
+ theme: theme
687
+ }, /*#__PURE__*/React__default.createElement(Component, _extends({}, props, {
688
+ ref: ref
689
+ })));
690
+ });
691
+ });
692
+
693
+ var Tooltip = function Tooltip(_ref) {
694
+ var children = _ref.children,
695
+ toolTipText = _ref.toolTipText,
696
+ toolTipPosition = _ref.toolTipPosition,
697
+ bodyWidth = _ref.bodyWidth,
698
+ apexWidth = _ref.apexWidth,
699
+ containerClassName = _ref.containerClassName,
700
+ bodyClassName = _ref.bodyClassName;
701
+ return /*#__PURE__*/React__default.createElement(Container, {
702
+ className: containerClassName
703
+ }, children, /*#__PURE__*/React__default.createElement(Body, {
704
+ toolTipPosition: toolTipPosition,
705
+ bodyWidth: bodyWidth,
706
+ apexWidth: apexWidth,
707
+ className: bodyClassName
708
+ }, toolTipText));
709
+ };
710
+ Tooltip.defaultProps = {
711
+ children: null,
712
+ toolTipText: '',
713
+ toolTipPosition: 'top',
714
+ bodyWidth: '8em',
715
+ apexWidth: '5px',
716
+ containerClassName: '',
717
+ bodyClassName: ''
718
+ };
719
+ var Tooltip$1 = themed(Tooltip);
720
+
721
+ var CurrencySelect = function CurrencySelect(_ref) {
722
+ var currency = _ref.currency,
723
+ currencyOptions = _ref.currencyOptions,
724
+ onCurrencyChange = _ref.onCurrencyChange,
725
+ _ref$isCurrencySelect = _ref.isCurrencySelectionDisabled,
726
+ isCurrencySelectionDisabled = _ref$isCurrencySelect === void 0 ? false : _ref$isCurrencySelect,
727
+ _ref$tooltipContent = _ref.tooltipContent,
728
+ tooltipContent = _ref$tooltipContent === void 0 ? '' : _ref$tooltipContent;
729
+ if (!currencyOptions || currencyOptions.length === 0) {
730
+ return null;
731
+ }
732
+ var selectedOption = currencyOptions.find(function (opt) {
733
+ return opt.value === currency;
734
+ });
735
+ if (!selectedOption) {
736
+ return null;
737
+ }
738
+ return /*#__PURE__*/React__default.createElement(Tooltip$1, {
739
+ toolTipText: isCurrencySelectionDisabled ? tooltipContent : '',
740
+ toolTipPosition: "bottom",
741
+ bodyWidth: "160px"
742
+ }, /*#__PURE__*/React__default.createElement("div", {
743
+ className: "currency-select-container ".concat(isCurrencySelectionDisabled ? 'disabled' : '')
744
+ }, /*#__PURE__*/React__default.createElement("div", {
745
+ className: "currency-flag"
746
+ }, /*#__PURE__*/React__default.createElement("img", {
747
+ src: selectedOption.flagSrc,
748
+ alt: "".concat(currency, " flag")
749
+ })), /*#__PURE__*/React__default.createElement("select", {
750
+ value: currency,
751
+ onChange: function onChange(e) {
752
+ return onCurrencyChange(e.target.value);
753
+ },
754
+ className: "currency-select",
755
+ disabled: isCurrencySelectionDisabled
756
+ }, currencyOptions.map(function (option) {
757
+ return /*#__PURE__*/React__default.createElement("option", {
758
+ key: option.value,
759
+ value: option.value
760
+ }, option.value, " (", option.symbol, ")");
761
+ }))));
762
+ };
763
+
558
764
  var LuxitySideNav = function LuxitySideNav(_ref) {
559
765
  var accordionIcon = _ref.accordionIcon,
560
766
  closeIcon = _ref.closeIcon,
@@ -571,7 +777,12 @@
571
777
  showSideNav = _ref.showSideNav,
572
778
  onMenuClick = _ref.onMenuClick,
573
779
  menuData = _ref.menuData,
574
- LinkComponent = _ref.LinkComponent;
780
+ LinkComponent = _ref.LinkComponent,
781
+ currency = _ref.currency,
782
+ currencyOptions = _ref.currencyOptions,
783
+ onCurrencyChange = _ref.onCurrencyChange,
784
+ isCurrencySelectionDisabled = _ref.isCurrencySelectionDisabled,
785
+ tooltipContent = _ref.tooltipContent;
575
786
  var _useState = React.useState(false),
576
787
  _useState2 = _slicedToArray(_useState, 2),
577
788
  subMenuOpen = _useState2[0],
@@ -803,7 +1014,13 @@
803
1014
  type: "button",
804
1015
  className: "side-nav__sub-link",
805
1016
  onClick: onCartClick
806
- }, "My Cart")))), /*#__PURE__*/React__default.createElement(BrandsDropDown, {
1017
+ }, "My Cart")), /*#__PURE__*/React__default.createElement(CurrencySelect, {
1018
+ currency: currency,
1019
+ currencyOptions: currencyOptions,
1020
+ onCurrencyChange: onCurrencyChange,
1021
+ isCurrencySelectionDisabled: isCurrencySelectionDisabled,
1022
+ tooltipContent: tooltipContent
1023
+ }))), /*#__PURE__*/React__default.createElement(BrandsDropDown, {
807
1024
  subMenuOpen: subMenuOpen && displayedSubMenu === 'new',
808
1025
  onBackClick: onBackClick,
809
1026
  backIcon: backIcon,
@@ -997,6 +1214,11 @@
997
1214
  onPastSalesClick = _ref.onPastSalesClick,
998
1215
  onPaidOutClick = _ref.onPaidOutClick,
999
1216
  LinkComponent = _ref.LinkComponent,
1217
+ currency = _ref.currency,
1218
+ currencyOptions = _ref.currencyOptions,
1219
+ onCurrencyChange = _ref.onCurrencyChange,
1220
+ isCurrencySelectionDisabled = _ref.isCurrencySelectionDisabled,
1221
+ tooltipContent = _ref.tooltipContent,
1000
1222
  shop = _ref.shop,
1001
1223
  app = _ref.app;
1002
1224
  var _useState = React.useState(''),
@@ -1234,7 +1456,12 @@
1234
1456
  onMenuClick: onMenuClick,
1235
1457
  endpoint: endpoint,
1236
1458
  menuData: menuData,
1237
- LinkComponent: LinkComponent
1459
+ LinkComponent: LinkComponent,
1460
+ currency: currency,
1461
+ currencyOptions: currencyOptions,
1462
+ onCurrencyChange: onCurrencyChange,
1463
+ isCurrencySelectionDisabled: isCurrencySelectionDisabled,
1464
+ tooltipContent: tooltipContent
1238
1465
  }), app && /*#__PURE__*/React__default.createElement(LuxityAppSideNav, {
1239
1466
  accordionIcon: accordionIcon,
1240
1467
  closeIcon: closeIcon,
package/LuxitySideNav.js CHANGED
@@ -1,11 +1,12 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react'), require('axios')) :
3
- typeof define === 'function' && define.amd ? define(['react', 'axios'], factory) :
4
- (global = global || self, global.LuxitySideNav = factory(global.React, global.axios));
5
- }(this, (function (React, axios) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react'), require('axios'), require('styled-components')) :
3
+ typeof define === 'function' && define.amd ? define(['react', 'axios', 'styled-components'], factory) :
4
+ (global = global || self, global.LuxitySideNav = factory(global.React, global.axios, global.styled));
5
+ }(this, (function (React, axios, styled) { 'use strict';
6
6
 
7
7
  var React__default = 'default' in React ? React['default'] : React;
8
8
  axios = axios && Object.prototype.hasOwnProperty.call(axios, 'default') ? axios['default'] : axios;
9
+ var styled__default = 'default' in styled ? styled['default'] : styled;
9
10
 
10
11
  function _arrayLikeToArray(r, a) {
11
12
  (null == a || a > r.length) && (a = r.length);
@@ -23,6 +24,15 @@
23
24
  writable: !0
24
25
  }) : e[r] = t, e;
25
26
  }
27
+ function _extends() {
28
+ return _extends = Object.assign ? Object.assign.bind() : function (n) {
29
+ for (var e = 1; e < arguments.length; e++) {
30
+ var t = arguments[e];
31
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
32
+ }
33
+ return n;
34
+ }, _extends.apply(null, arguments);
35
+ }
26
36
  function _iterableToArrayLimit(r, l) {
27
37
  var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
28
38
  if (null != t) {
@@ -77,6 +87,13 @@
77
87
  function _slicedToArray(r, e) {
78
88
  return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
79
89
  }
90
+ function _taggedTemplateLiteral(e, t) {
91
+ return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, {
92
+ raw: {
93
+ value: Object.freeze(t)
94
+ }
95
+ }));
96
+ }
80
97
  function _toPrimitive(t, r) {
81
98
  if ("object" != typeof t || !t) return t;
82
99
  var e = t[Symbol.toPrimitive];
@@ -247,6 +264,195 @@
247
264
  }
248
265
  };
249
266
 
267
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
268
+
269
+ /* position relative is required for the Body element to be positioned correctly */
270
+ var relativeInlineStyle = styled.css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n"])));
271
+ var topMiddleBodyStyle = styled.css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: absolute;\n z-index: 1;\n bottom: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n"])));
272
+ var getTopMiddleArrowAfterStyle = function getTopMiddleArrowAfterStyle(props) {
273
+ return styled.css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n /*Bottom Arrow*/\n top: 100%; /* At the bottom of the tooltip */\n left: calc(50% - ", ");\n border-width: ", ";\n border-style: solid;\n border-color: ", " transparent transparent transparent;\n"])), props.apexWidth, props.apexWidth, props.theme.colors.base);
274
+ };
275
+ var getBottomMiddleBodyStyle = function getBottomMiddleBodyStyle(props) {
276
+ return styled.css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n position: absolute;\n top: 100%;\n left: calc(50% - ", " / 2);\n"])), props.bodyWidth);
277
+ };
278
+ var getBottomMiddleArrowAfterStyle = function getBottomMiddleArrowAfterStyle(props) {
279
+ return styled.css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n /*Top Arrow*/\n bottom: 100%; /* At the top of the tooltip */\n top: initial;\n left: 50%;\n border-style: solid;\n border-color: transparent transparent ", " transparent;\n"])), props.theme.colors.base);
280
+ };
281
+
282
+ var _templateObject$1;
283
+ var getBodyStyle = function getBodyStyle() {
284
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
285
+ var _props$toolTipPositio = props.toolTipPosition,
286
+ toolTipPosition = _props$toolTipPositio === void 0 ? '' : _props$toolTipPositio;
287
+ switch (toolTipPosition) {
288
+ case 'top':
289
+ return topMiddleBodyStyle;
290
+ case 'bottom':
291
+ return getBottomMiddleBodyStyle(props);
292
+ default:
293
+ return null;
294
+ }
295
+ };
296
+ var getAfterStyling = function getAfterStyling() {
297
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
298
+ var toolTipPosition = props.toolTipPosition;
299
+ switch (toolTipPosition) {
300
+ case 'top':
301
+ return getTopMiddleArrowAfterStyle(props);
302
+ case 'bottom':
303
+ return getBottomMiddleArrowAfterStyle(props);
304
+ default:
305
+ return '';
306
+ }
307
+ };
308
+ var Body = styled__default.span(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\n ", ";\n visibility: hidden;\n opacity: 0;\n width: ", ";\n transition: visibility 0.3s linear, opacity 0.3s linear;\n background-color: ", ";\n color: white;\n text-align: center;\n border-radius: 5px;\n ", "\n &::after {\n content: ' ';\n position: absolute;\n ", "\n }\n"])), relativeInlineStyle, function (props) {
309
+ return props.bodyWidth;
310
+ }, function (props) {
311
+ return props.theme.colors.base || 'black';
312
+ }, function (props) {
313
+ return getBodyStyle(props);
314
+ }, function (props) {
315
+ return getAfterStyling(props);
316
+ });
317
+
318
+ var _templateObject$2;
319
+ var Container = styled__default.div(_templateObject$2 || (_templateObject$2 = _taggedTemplateLiteral(["\n ", ";\n cursor: pointer;\n &:hover ", " {\n opacity: 1;\n visibility: visible;\n }\n"])), relativeInlineStyle, Body);
320
+
321
+ var theme = {
322
+ breakpoints: ['40em', '52em', '64em'],
323
+ space: ['0px', '4px', '8px', '16px', '32px', '64px', '128px', '256px', '512px'],
324
+ fontSizes: ['12px', '14px', '16px', '20px', '24px', '32px', '48px', '64px', '72px'],
325
+ marginPaddings: ['0.5rem', '1rem', '1.5rem', '2rem', '2.5rem', '3rem', '3.5rem', '4rem', '4.5rem', '5rem', '5.5rem', '6rem'],
326
+ letterSpacings: ['-0.5px', '0px', '+0.5px'],
327
+ radii: ['0px', '2px', '4px', '8px'],
328
+ borderRadius: '6px',
329
+ colors: {
330
+ primary: '#000',
331
+ base: '#4e4949',
332
+ baseLt: '#817c7c',
333
+ borderColor: '#d8d8d8',
334
+ ntrlMin: '#fff',
335
+ ntrlMinTen: '#e6e6e6',
336
+ gray: '#efefef',
337
+ darkerGray: '#454141'
338
+ },
339
+ rareStepColors: {
340
+ primary: '#202b58',
341
+ secondary: '#ef5c2d',
342
+ ntrlMin: '#ffffff',
343
+ ntrl40: '#f4f4f4',
344
+ ntrl50: '#808080',
345
+ ntrl60: '#e8e8e8',
346
+ ntrl70: '#252525',
347
+ ntrlMax: '#000000'
348
+ },
349
+ rareStepFontWeights: {
350
+ normal: 400,
351
+ medium: 500,
352
+ semiBold: 600,
353
+ bold: 700
354
+ },
355
+ rareStepFontSize: {
356
+ h1: '36px',
357
+ h2: '30px',
358
+ h3: '24px',
359
+ h4: '20px',
360
+ h5: '16px',
361
+ h6: '14px',
362
+ footerTitle: '16px'
363
+ },
364
+ rareStepPageSizes: {
365
+ mobile: '500px',
366
+ tablet: '768px',
367
+ desktop: '992px',
368
+ screenl: '1280px',
369
+ screenxl: '1680px',
370
+ screenxxl: '1920px',
371
+ container: '1600px'
372
+ }
373
+ };
374
+
375
+ var themed = (function (Component) {
376
+ return /*#__PURE__*/React.forwardRef(function (props, ref) {
377
+ return /*#__PURE__*/React__default.createElement(styled.ThemeProvider, {
378
+ theme: theme
379
+ }, /*#__PURE__*/React__default.createElement(Component, _extends({}, props, {
380
+ ref: ref
381
+ })));
382
+ });
383
+ });
384
+
385
+ var Tooltip = function Tooltip(_ref) {
386
+ var children = _ref.children,
387
+ toolTipText = _ref.toolTipText,
388
+ toolTipPosition = _ref.toolTipPosition,
389
+ bodyWidth = _ref.bodyWidth,
390
+ apexWidth = _ref.apexWidth,
391
+ containerClassName = _ref.containerClassName,
392
+ bodyClassName = _ref.bodyClassName;
393
+ return /*#__PURE__*/React__default.createElement(Container, {
394
+ className: containerClassName
395
+ }, children, /*#__PURE__*/React__default.createElement(Body, {
396
+ toolTipPosition: toolTipPosition,
397
+ bodyWidth: bodyWidth,
398
+ apexWidth: apexWidth,
399
+ className: bodyClassName
400
+ }, toolTipText));
401
+ };
402
+ Tooltip.defaultProps = {
403
+ children: null,
404
+ toolTipText: '',
405
+ toolTipPosition: 'top',
406
+ bodyWidth: '8em',
407
+ apexWidth: '5px',
408
+ containerClassName: '',
409
+ bodyClassName: ''
410
+ };
411
+ var Tooltip$1 = themed(Tooltip);
412
+
413
+ var CurrencySelect = function CurrencySelect(_ref) {
414
+ var currency = _ref.currency,
415
+ currencyOptions = _ref.currencyOptions,
416
+ onCurrencyChange = _ref.onCurrencyChange,
417
+ _ref$isCurrencySelect = _ref.isCurrencySelectionDisabled,
418
+ isCurrencySelectionDisabled = _ref$isCurrencySelect === void 0 ? false : _ref$isCurrencySelect,
419
+ _ref$tooltipContent = _ref.tooltipContent,
420
+ tooltipContent = _ref$tooltipContent === void 0 ? '' : _ref$tooltipContent;
421
+ if (!currencyOptions || currencyOptions.length === 0) {
422
+ return null;
423
+ }
424
+ var selectedOption = currencyOptions.find(function (opt) {
425
+ return opt.value === currency;
426
+ });
427
+ if (!selectedOption) {
428
+ return null;
429
+ }
430
+ return /*#__PURE__*/React__default.createElement(Tooltip$1, {
431
+ toolTipText: isCurrencySelectionDisabled ? tooltipContent : '',
432
+ toolTipPosition: "bottom",
433
+ bodyWidth: "160px"
434
+ }, /*#__PURE__*/React__default.createElement("div", {
435
+ className: "currency-select-container ".concat(isCurrencySelectionDisabled ? 'disabled' : '')
436
+ }, /*#__PURE__*/React__default.createElement("div", {
437
+ className: "currency-flag"
438
+ }, /*#__PURE__*/React__default.createElement("img", {
439
+ src: selectedOption.flagSrc,
440
+ alt: "".concat(currency, " flag")
441
+ })), /*#__PURE__*/React__default.createElement("select", {
442
+ value: currency,
443
+ onChange: function onChange(e) {
444
+ return onCurrencyChange(e.target.value);
445
+ },
446
+ className: "currency-select",
447
+ disabled: isCurrencySelectionDisabled
448
+ }, currencyOptions.map(function (option) {
449
+ return /*#__PURE__*/React__default.createElement("option", {
450
+ key: option.value,
451
+ value: option.value
452
+ }, option.value, " (", option.symbol, ")");
453
+ }))));
454
+ };
455
+
250
456
  var LuxitySideNav = function LuxitySideNav(_ref) {
251
457
  var accordionIcon = _ref.accordionIcon,
252
458
  closeIcon = _ref.closeIcon,
@@ -263,7 +469,12 @@
263
469
  showSideNav = _ref.showSideNav,
264
470
  onMenuClick = _ref.onMenuClick,
265
471
  menuData = _ref.menuData,
266
- LinkComponent = _ref.LinkComponent;
472
+ LinkComponent = _ref.LinkComponent,
473
+ currency = _ref.currency,
474
+ currencyOptions = _ref.currencyOptions,
475
+ onCurrencyChange = _ref.onCurrencyChange,
476
+ isCurrencySelectionDisabled = _ref.isCurrencySelectionDisabled,
477
+ tooltipContent = _ref.tooltipContent;
267
478
  var _useState = React.useState(false),
268
479
  _useState2 = _slicedToArray(_useState, 2),
269
480
  subMenuOpen = _useState2[0],
@@ -495,7 +706,13 @@
495
706
  type: "button",
496
707
  className: "side-nav__sub-link",
497
708
  onClick: onCartClick
498
- }, "My Cart")))), /*#__PURE__*/React__default.createElement(BrandsDropDown, {
709
+ }, "My Cart")), /*#__PURE__*/React__default.createElement(CurrencySelect, {
710
+ currency: currency,
711
+ currencyOptions: currencyOptions,
712
+ onCurrencyChange: onCurrencyChange,
713
+ isCurrencySelectionDisabled: isCurrencySelectionDisabled,
714
+ tooltipContent: tooltipContent
715
+ }))), /*#__PURE__*/React__default.createElement(BrandsDropDown, {
499
716
  subMenuOpen: subMenuOpen && displayedSubMenu === 'new',
500
717
  onBackClick: onBackClick,
501
718
  backIcon: backIcon,
package/build/bundle.css CHANGED
@@ -1 +1 @@
1
- .navbar{box-shadow:2px 2px 10px #dfdede;display:flex;padding-bottom:10px;padding-top:20px;position:relative}.navbar__link-item--desktop{align-items:center;display:flex;height:35px;margin:auto 0;padding-top:5px}.navbar__mobile-wrapper{align-items:center;display:flex;flex-direction:column;padding-bottom:20px;padding-left:32px;padding-right:32px}.navbar__container{display:flex;margin:0 auto;max-width:1280px;padding-left:12px;padding-right:12px;width:100%}.navbar__body{flex-basis:60%}.navbar__wrapper{align-items:center;display:flex;justify-content:space-between;width:100%}.navbar__product-search-wrapper{align-items:center;display:flex;justify-content:center;padding:0 20%;width:100%}@media only screen and (max-width:879px){.navbar__product-search-wrapper{padding:0}}.navbar__input-close-icon{height:auto;margin-bottom:10px;margin-left:10px;width:20px}@media only screen and (max-width:879px){.navbar__input-close-icon{margin-bottom:0;margin-left:0;width:15px}}.navbar__menu-icon{width:30px}.navbar__product-search{align-items:center;display:flex;max-width:545px;width:100%}.navbar__logo-wrapper{margin-right:18px;width:200px}.navbar__logo{width:200px}@media only screen and (max-width:879px){.navbar__logo{margin-left:10px;margin-top:5px;width:125px}}.navbar__form-input{align-items:center;background:transparent;border:none;display:flex;font-size:13px;outline:none;padding:8px;width:100%}.navbar__product-search{border:1px solid #dfdede;margin-bottom:10px}@media only screen and (max-width:879px){.navbar__product-search{border:none;border-bottom:1px solid #dfdede;margin-bottom:0;margin-right:10px;margin-top:10px}}.navbar__section{align-items:flex-start;display:flex;flex-direction:row;justify-content:space-between;width:100%}.navbar__link{display:inline-block;font-family:Martel Sans;font-size:14px;font-weight:700;margin-right:10px;overflow:hidden;text-transform:uppercase;transition:.3s ease-in-out}.navbar__link:after{background-color:#000;content:"";display:block;height:2px;transition:width .25s ease-out;width:0}.navbar__link:hover:after{width:100%}.navbar__link:hover .navbar__dropdown{animation:fadeInDropdown .3s ease-in-out;display:block}.navbar__dropdown{background-color:#fff;box-shadow:5px 5px 5px #dfdede;display:none;left:0;position:absolute;width:100%;z-index:999}@keyframes fadeInDropdown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.navbar__company-link{font-size:13px;font-weight:400;list-style:none;margin-left:18px;text-decoration:none}.navbar__company-block{align-items:center;background-color:#000;color:#fff;display:flex;font-weight:700;height:33px;justify-content:center;margin-right:0;padding:0 18px;text-transform:uppercase}.navbar__input-search-icon{height:auto;margin-left:1.125rem;margin-right:.375rem;width:15px}.navbar__nav-links{align-items:center;display:flex}.navbar__nav-links--wrap{flex-wrap:wrap}.navbar__icons{align-items:center;display:flex;height:40px;justify-content:flex-end;margin-bottom:10px}@media only screen and (max-width:879px){.navbar__icons{display:block;height:20px;margin-bottom:0}}.navbar__icon{cursor:pointer;height:auto;margin-right:18px;width:20px}@media only screen and (max-width:879px){.navbar__icon{margin-right:0}}.navbar__icon--app{cursor:pointer;height:auto;margin-left:12px;width:20px}@media only screen and (max-width:879px){.navbar__icon--app{margin-right:0}}.navbar__vip-icon{height:16px;position:absolute;right:-12px;top:-4px;width:16px}.navbar__cart-icon{position:relative}.navbar__cart-count{align-items:center;background-color:#000;border-radius:50%;bottom:50%;color:#fff;display:flex;font-size:13px;height:20px;justify-content:center;left:100%;position:absolute;width:20px}.side-nav{font-family:Martel Sans}.side-nav__errors{align-items:center;color:red;display:flex;font-size:16px;justify-content:center}.side-nav__overlay{background-color:rgba(78,73,73,.51);height:100%;opacity:0;position:fixed;top:0;transition:opacity .5s ease-out 0s,visibility .5s ease-out 0s;width:100%;z-index:99999}.side-nav__overlay--visible{opacity:1;visibility:visible}.side-nav__overlay--hidden{opacity:1;visibility:hidden}.side-nav__content{background-color:#fff;bottom:0;overflow-y:scroll;padding:1.5rem;position:fixed;top:0;transition:left .5s ease-in-out;width:80%;z-index:99999}.side-nav__content--hidden{display:none}.side-nav__content--open{left:0}.side-nav__content--closed{left:-100%}.side-nav__menu-title-wrapper{align-items:center;background-color:transparent;border:none;display:flex;outline:none;width:100%}.side-nav__icon-container{float:right;margin-bottom:10px}.side-nav__menu-title{align-items:center;display:flex;font-size:14px;font-weight:700;justify-content:center;line-height:20px;text-transform:uppercase}.side-nav__menu-icon{display:flex;height:25px;margin-right:10px;width:25px}.side-nav__menu-divider{margin-bottom:40px}.side-nav__accordion-icon{height:auto;width:15px}.side-nav__menu-item{margin-bottom:25px}.side-nav__close-icon{height:20px;margin-left:auto;width:20px}.side-nav__back-button-wrapper{align-items:center;display:flex;margin-bottom:25px}.side-nav__back-icon{height:20px;width:20px}.side-nav__back-button,.side-nav__sub-menu-title{font-weight:700;text-transform:uppercase}.side-nav__sub-menu-title{font-size:14px;margin-bottom:10px}.side-nav__elements{display:flex;flex-direction:column}.side-nav__element{color:#555;cursor:pointer;line-height:20px;margin-bottom:10px}.side-nav__element,.side-nav__sub-link{font-size:14px;font-weight:400;text-transform:capitalize}.side-nav__block-button{background-color:#000;color:#fff;font-weight:700;padding:10px 0;width:100%}@charset "UTF-8";.currency-select-container{align-items:center;display:flex;margin-right:18px;position:relative}.currency-select-container .currency-flag{margin-right:5px}.currency-select-container .currency-flag img{height:15px;-o-object-fit:cover;object-fit:cover;width:20px}.currency-select-container .currency-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:transparent;border:none;color:#000;cursor:pointer;font-family:inherit;font-size:14px;margin:0;outline:none;padding:5px 15px 5px 5px}.currency-select-container .currency-select::-ms-expand{display:none}.currency-select-container .currency-select:focus{box-shadow:none;outline:none}.currency-select-container .currency-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.currency-select-container:after{color:#000;content:"▼";font-size:10px;pointer-events:none;position:absolute;right:0;top:50%;transform:translateY(-50%)}@media only screen and (max-width:879px){.currency-select-container .currency-select{appearance:menulist;-webkit-appearance:menulist;-moz-appearance:menulist;padding-right:0}.currency-select-container:after{display:none}}.currency-select-container.disabled{cursor:not-allowed;opacity:.7}.currency-select-container.disabled .currency-select{pointer-events:none}.footer__newsletter-section{align-items:center;background-color:#000;color:#fff;display:flex;justify-content:space-between;padding:2.265rem 0}@media only screen and (max-width:879px){.footer__newsletter-section{flex-direction:column}}.footer__newsletter-wrapper{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1280px;padding-left:32px;padding-right:32px;width:100%}@media only screen and (max-width:879px){.footer__newsletter-wrapper{flex-direction:column}.footer__link-container{flex-basis:50%}}.footer__newsletter-icon{height:30px;position:absolute;right:0;top:0;width:32px}.footer__newsletter-form{flex-basis:50%;max-width:250px;position:relative}@media only screen and (max-width:879px){.footer__newsletter-form{display:block;margin-top:20px;max-width:100%;width:100%}}.footer__newsletter-title{font-family:Martel Sans,sans-serif;font-size:14px;font-weight:700;letter-spacing:3px;margin-bottom:1.125rem;text-transform:uppercase}.footer__newsletter-text{font-size:14px}.footer__form-input{background-color:#000;border:none;border-bottom:1px solid #fff;color:#fff;height:30px;outline:none;width:100%}.footer__form-input::-moz-placeholder{color:#fff;font-weight:400}.footer__form-input::placeholder{color:#fff;font-weight:400}.footer__form-errors{color:#fff;margin-top:5px}.footer__main-section{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:50px;margin-top:80px}.footer__link-title{font-family:El Messiri;font-size:16px;font-weight:700;margin-bottom:20px;text-transform:uppercase}@media only screen and (max-width:879px){.footer__link-title{margin-bottom:10px}}.footer__link-child{margin-top:25px}.footer__links{display:flex;flex-direction:column}.footer__link{color:#939393;cursor:pointer;font-family:Martel Sans;font-size:14px;line-height:20px;margin-bottom:7px;text-align:left;text-decoration:none}.footer__link:hover{color:#000;text-decoration:underline}@media only screen and (max-width:879px){.footer__link{margin-bottom:10px}}.footer__link-wrapper{align-items:center;display:flex;gap:5px}.footer__link-icon{height:30px;margin-bottom:18px}.footer__text{color:#939393;font-family:Martel Sans;font-size:14px;line-height:20px;margin-bottom:15px;text-align:left;text-decoration:none}.footer__store-hours{margin-top:35px}.footer__copyrights-section{border-top:1px solid;display:flex;justify-content:space-between;padding-bottom:20px;padding-top:20px}.footer__logo{height:30px;width:135px}.footer__payment-icons{align-items:center;display:flex;gap:8px}.footer__wrapper{margin:0 auto;max-width:1280px;padding-left:32px;padding-right:32px;width:100%}@media only screen and (max-width:879px){.footer__wrapper{padding:32px 0 0 24px}}.footer__wrapper--desktop{display:block}@media only screen and (max-width:879px){.footer__wrapper--desktop{display:none}}.footer__wrapper--mobile{display:none}@media only screen and (max-width:879px){.footer__wrapper--mobile{display:block;padding-top:30px}}.footer__copyright{font-size:10px;line-height:22px}.footer__copyright--mobile{display:none}@media only screen and (max-width:879px){.footer__copyright--mobile{display:block;padding:30px 10px 30px 0;text-align:center}}.footer__section-row{display:flex;gap:50%}@media only screen and (max-width:879px){.footer__section-row{gap:unset}}.side-nav{font-family:Martel Sans}.side-nav__errors{align-items:center;color:red;display:flex;font-size:16px;justify-content:center}.side-nav__overlay{background-color:rgba(78,73,73,.51);height:100%;opacity:0;position:fixed;top:0;transition:opacity .5s ease-out 0s,visibility .5s ease-out 0s;width:100%;z-index:99999}.side-nav__overlay--visible{opacity:1;visibility:visible}.side-nav__overlay--hidden{opacity:1;visibility:hidden}.side-nav__content{background-color:#fff;bottom:0;overflow-y:scroll;padding:1.5rem;position:fixed;top:0;transition:left .5s ease-in-out;width:80%;z-index:99999}.side-nav__content--hidden{display:none}.side-nav__content--open{left:0}.side-nav__content--closed{left:-100%}.side-nav__menu-title-wrapper{align-items:center;background-color:transparent;border:none;display:flex;justify-content:space-between;outline:none;width:100%}.side-nav__icon-container{float:right;margin-bottom:10px}.side-nav__menu-title{font-size:14px;font-weight:700;line-height:20px;text-transform:uppercase}.side-nav__accordion-icon{height:auto;width:15px}.side-nav__menu-item{margin-bottom:25px}.side-nav__close-icon{height:20px;margin-left:auto;width:20px}.side-nav__back-button-wrapper{align-items:center;display:flex;margin-bottom:25px}.side-nav__back-icon{height:20px;width:20px}.side-nav__back-button,.side-nav__sub-menu-title{font-weight:700;text-transform:uppercase}.side-nav__sub-menu-title{font-size:14px;margin-bottom:10px}.side-nav__elements{display:flex;flex-direction:column}.side-nav__element{color:#555;cursor:pointer;line-height:20px;margin-bottom:10px}.side-nav__element,.side-nav__sub-link{font-size:14px;font-weight:400;text-transform:capitalize}.side-nav__block-button{background-color:#000;color:#fff;font-weight:700;padding:10px 0;width:100%}.stores-dropdown{align-items:flex-start;display:flex;font-family:Martel Sans;gap:20px;margin-left:auto;margin-right:auto;max-width:1280px;overflow-x:auto;padding:20px 15px}.stores-dropdown__image{height:200px;-o-object-fit:cover;object-fit:cover;width:100%}.stores-dropdown__store-details{flex-basis:20%}.stores-dropdown__title{font-family:El Messiri}.stores-dropdown__main-title,.stores-dropdown__title{font-size:16px;font-weight:400;letter-spacing:3px;margin-top:20px}.stores-dropdown__main-title{font-weight:700;margin-bottom:10px}.stores-dropdown__open-days{font-size:12px;font-weight:700;line-height:20px}.stores-dropdown__open-hours{font-size:12px;font-weight:400;line-height:20px}.stores-dropdown__queries-title{font-family:El Messiri;font-size:16px;font-weight:400;letter-spacing:3px}.stores-dropdown__contact-details{font-size:16px;font-weight:700}.stores-dropdown__view-more{cursor:pointer;font-size:14px;font-weight:400;margin-top:10px;text-transform:capitalize}.dropdown{display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:1280px;min-height:500px;overflow-x:auto;padding:20px 0}.dropdown__errors{align-items:center;color:red;display:flex;font-size:16px;justify-content:center;min-height:300px}.dropdown__column{flex:1;padding-left:12px}.dropdown__column:nth-child(2){flex:2}.dropdown__title{font-family:El Messiri;font-size:16px;font-weight:700;letter-spacing:3px;line-height:1;margin-bottom:20px;text-transform:uppercase}.dropdown__elements{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-height:800px;overflow-y:auto}.dropdown__brand-elements{-moz-column-count:3;column-count:3;max-height:800px}.dropdown__brand-element{cursor:pointer;margin-bottom:10px}.dropdown__element{flex-basis:33.33%;font-family:Martel Sans;font-size:14px;font-weight:400;margin-bottom:10px;text-transform:capitalize}.cover-spinner{align-items:center;background-color:hsla(0,0%,100%,.7);display:flex;height:100%;justify-content:center;min-height:400px;position:relative;top:50%;width:100%;z-index:9999}.cover-spinner:after{animation:spin 1.5s linear infinite;border:4px dotted #000;border-radius:50%;border-top-color:transparent;content:"";display:block;height:40px;position:absolute;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
1
+ .footer__newsletter-section{align-items:center;background-color:#000;color:#fff;display:flex;justify-content:space-between;padding:2.265rem 0}@media only screen and (max-width:879px){.footer__newsletter-section{flex-direction:column}}.footer__newsletter-wrapper{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1280px;padding-left:32px;padding-right:32px;width:100%}@media only screen and (max-width:879px){.footer__newsletter-wrapper{flex-direction:column}.footer__link-container{flex-basis:50%}}.footer__newsletter-icon{height:30px;position:absolute;right:0;top:0;width:32px}.footer__newsletter-form{flex-basis:50%;max-width:250px;position:relative}@media only screen and (max-width:879px){.footer__newsletter-form{display:block;margin-top:20px;max-width:100%;width:100%}}.footer__newsletter-title{font-family:Martel Sans,sans-serif;font-size:14px;font-weight:700;letter-spacing:3px;margin-bottom:1.125rem;text-transform:uppercase}.footer__newsletter-text{font-size:14px}.footer__form-input{background-color:#000;border:none;border-bottom:1px solid #fff;color:#fff;height:30px;outline:none;width:100%}.footer__form-input::-moz-placeholder{color:#fff;font-weight:400}.footer__form-input::placeholder{color:#fff;font-weight:400}.footer__form-errors{color:#fff;margin-top:5px}.footer__main-section{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:50px;margin-top:80px}.footer__link-title{font-family:El Messiri;font-size:16px;font-weight:700;margin-bottom:20px;text-transform:uppercase}@media only screen and (max-width:879px){.footer__link-title{margin-bottom:10px}}.footer__link-child{margin-top:25px}.footer__links{display:flex;flex-direction:column}.footer__link{color:#939393;cursor:pointer;font-family:Martel Sans;font-size:14px;line-height:20px;margin-bottom:7px;text-align:left;text-decoration:none}.footer__link:hover{color:#000;text-decoration:underline}@media only screen and (max-width:879px){.footer__link{margin-bottom:10px}}.footer__link-wrapper{align-items:center;display:flex;gap:5px}.footer__link-icon{height:30px;margin-bottom:18px}.footer__text{color:#939393;font-family:Martel Sans;font-size:14px;line-height:20px;margin-bottom:15px;text-align:left;text-decoration:none}.footer__store-hours{margin-top:35px}.footer__copyrights-section{border-top:1px solid;display:flex;justify-content:space-between;padding-bottom:20px;padding-top:20px}.footer__logo{height:30px;width:135px}.footer__payment-icons{align-items:center;display:flex;gap:8px}.footer__wrapper{margin:0 auto;max-width:1280px;padding-left:32px;padding-right:32px;width:100%}@media only screen and (max-width:879px){.footer__wrapper{padding:32px 0 0 24px}}.footer__wrapper--desktop{display:block}@media only screen and (max-width:879px){.footer__wrapper--desktop{display:none}}.footer__wrapper--mobile{display:none}@media only screen and (max-width:879px){.footer__wrapper--mobile{display:block;padding-top:30px}}.footer__copyright{font-size:10px;line-height:22px}.footer__copyright--mobile{display:none}@media only screen and (max-width:879px){.footer__copyright--mobile{display:block;padding:30px 10px 30px 0;text-align:center}}.footer__section-row{display:flex;gap:50%}@media only screen and (max-width:879px){.footer__section-row{gap:unset}}.navbar{box-shadow:2px 2px 10px #dfdede;display:flex;padding-bottom:10px;padding-top:20px;position:relative}.navbar__link-item--desktop{align-items:center;display:flex;height:35px;margin:auto 0;padding-top:5px}.navbar__mobile-wrapper{align-items:center;display:flex;flex-direction:column;padding-bottom:20px;padding-left:32px;padding-right:32px}.navbar__container{display:flex;margin:0 auto;max-width:1280px;padding-left:12px;padding-right:12px;width:100%}.navbar__body{flex-basis:60%}.navbar__wrapper{align-items:center;display:flex;justify-content:space-between;width:100%}.navbar__product-search-wrapper{align-items:center;display:flex;justify-content:center;padding:0 20%;width:100%}@media only screen and (max-width:879px){.navbar__product-search-wrapper{padding:0}}.navbar__input-close-icon{height:auto;margin-bottom:10px;margin-left:10px;width:20px}@media only screen and (max-width:879px){.navbar__input-close-icon{margin-bottom:0;margin-left:0;width:15px}}.navbar__menu-icon{width:30px}.navbar__product-search{align-items:center;display:flex;max-width:545px;width:100%}.navbar__logo-wrapper{margin-right:18px;width:200px}.navbar__logo{width:200px}@media only screen and (max-width:879px){.navbar__logo{margin-left:10px;margin-top:5px;width:125px}}.navbar__form-input{align-items:center;background:transparent;border:none;display:flex;font-size:13px;outline:none;padding:8px;width:100%}.navbar__product-search{border:1px solid #dfdede;margin-bottom:10px}@media only screen and (max-width:879px){.navbar__product-search{border:none;border-bottom:1px solid #dfdede;margin-bottom:0;margin-right:10px;margin-top:10px}}.navbar__section{align-items:flex-start;display:flex;flex-direction:row;justify-content:space-between;width:100%}.navbar__link{display:inline-block;font-family:Martel Sans;font-size:14px;font-weight:700;margin-right:10px;overflow:hidden;text-transform:uppercase;transition:.3s ease-in-out}.navbar__link:after{background-color:#000;content:"";display:block;height:2px;transition:width .25s ease-out;width:0}.navbar__link:hover:after{width:100%}.navbar__link:hover .navbar__dropdown{animation:fadeInDropdown .3s ease-in-out;display:block}.navbar__dropdown{background-color:#fff;box-shadow:5px 5px 5px #dfdede;display:none;left:0;position:absolute;width:100%;z-index:999}@keyframes fadeInDropdown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.navbar__company-link{font-size:13px;font-weight:400;list-style:none;margin-left:18px;text-decoration:none}.navbar__company-block{align-items:center;background-color:#000;color:#fff;display:flex;font-weight:700;height:33px;justify-content:center;margin-right:0;padding:0 18px;text-transform:uppercase}.navbar__input-search-icon{height:auto;margin-left:1.125rem;margin-right:.375rem;width:15px}.navbar__nav-links{align-items:center;display:flex}.navbar__nav-links--wrap{flex-wrap:wrap}.navbar__icons{align-items:center;display:flex;height:40px;justify-content:flex-end;margin-bottom:10px}@media only screen and (max-width:879px){.navbar__icons{display:block;height:20px;margin-bottom:0}}.navbar__icon{cursor:pointer;height:auto;margin-right:18px;width:20px}@media only screen and (max-width:879px){.navbar__icon{margin-right:0}}.navbar__icon--app{cursor:pointer;height:auto;margin-left:12px;width:20px}@media only screen and (max-width:879px){.navbar__icon--app{margin-right:0}}.navbar__vip-icon{height:16px;position:absolute;right:-12px;top:-4px;width:16px}.navbar__cart-icon{position:relative}.navbar__cart-count{align-items:center;background-color:#000;border-radius:50%;bottom:50%;color:#fff;display:flex;font-size:13px;height:20px;justify-content:center;left:100%;position:absolute;width:20px}.side-nav{font-family:Martel Sans}.side-nav__errors{align-items:center;color:red;display:flex;font-size:16px;justify-content:center}.side-nav__overlay{background-color:rgba(78,73,73,.51);height:100%;opacity:0;position:fixed;top:0;transition:opacity .5s ease-out 0s,visibility .5s ease-out 0s;width:100%;z-index:99999}.side-nav__overlay--visible{opacity:1;visibility:visible}.side-nav__overlay--hidden{opacity:1;visibility:hidden}.side-nav__content{background-color:#fff;bottom:0;overflow-y:scroll;padding:1.5rem;position:fixed;top:0;transition:left .5s ease-in-out;width:80%;z-index:99999}.side-nav__content--hidden{display:none}.side-nav__content--open{left:0}.side-nav__content--closed{left:-100%}.side-nav__menu-title-wrapper{align-items:center;background-color:transparent;border:none;display:flex;outline:none;width:100%}.side-nav__icon-container{float:right;margin-bottom:10px}.side-nav__menu-title{align-items:center;display:flex;font-size:14px;font-weight:700;justify-content:center;line-height:20px;text-transform:uppercase}.side-nav__menu-icon{display:flex;height:25px;margin-right:10px;width:25px}.side-nav__menu-divider{margin-bottom:40px}.side-nav__accordion-icon{height:auto;width:15px}.side-nav__menu-item{margin-bottom:25px}.side-nav__close-icon{height:20px;margin-left:auto;width:20px}.side-nav__back-button-wrapper{align-items:center;display:flex;margin-bottom:25px}.side-nav__back-icon{height:20px;width:20px}.side-nav__back-button,.side-nav__sub-menu-title{font-weight:700;text-transform:uppercase}.side-nav__sub-menu-title{font-size:14px;margin-bottom:10px}.side-nav__elements{display:flex;flex-direction:column}.side-nav__element{color:#555;cursor:pointer;line-height:20px;margin-bottom:10px}.side-nav__element,.side-nav__sub-link{font-size:14px;font-weight:400;text-transform:capitalize}.side-nav__block-button{background-color:#000;color:#fff;font-weight:700;padding:10px 0;width:100%}@charset "UTF-8";.currency-select-container{align-items:center;display:flex;margin-right:18px;position:relative}.currency-select-container .currency-flag{margin-right:5px}.currency-select-container .currency-flag img{height:15px;-o-object-fit:cover;object-fit:cover;width:20px}.currency-select-container .currency-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:transparent;border:none;color:#000;cursor:pointer;font-family:inherit;font-size:14px;margin:0;outline:none;padding:5px 15px 5px 5px}.currency-select-container .currency-select::-ms-expand{display:none}.currency-select-container .currency-select:focus{box-shadow:none;outline:none}.currency-select-container .currency-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.currency-select-container:after{color:#000;content:"▼";font-size:10px;pointer-events:none;position:absolute;right:0;top:50%;transform:translateY(-50%)}@media only screen and (max-width:879px){.currency-select-container .currency-select{appearance:menulist;-webkit-appearance:menulist;-moz-appearance:menulist;padding-right:0}.currency-select-container:after{display:none}}.currency-select-container.disabled{cursor:not-allowed;opacity:.7}.currency-select-container.disabled .currency-select{pointer-events:none}.side-nav{font-family:Martel Sans}.side-nav__errors{align-items:center;color:red;display:flex;font-size:16px;justify-content:center}.side-nav__overlay{background-color:rgba(78,73,73,.51);height:100%;opacity:0;position:fixed;top:0;transition:opacity .5s ease-out 0s,visibility .5s ease-out 0s;width:100%;z-index:99999}.side-nav__overlay--visible{opacity:1;visibility:visible}.side-nav__overlay--hidden{opacity:1;visibility:hidden}.side-nav__content{background-color:#fff;bottom:0;overflow-y:scroll;padding:1.5rem;position:fixed;top:0;transition:left .5s ease-in-out;width:80%;z-index:99999}.side-nav__content--hidden{display:none}.side-nav__content--open{left:0}.side-nav__content--closed{left:-100%}.side-nav__menu-title-wrapper{align-items:center;background-color:transparent;border:none;display:flex;justify-content:space-between;outline:none;width:100%}.side-nav__icon-container{float:right;margin-bottom:10px}.side-nav__menu-title{font-size:14px;font-weight:700;line-height:20px;text-transform:uppercase}.side-nav__accordion-icon{height:auto;width:15px}.side-nav__menu-item{margin-bottom:25px}.side-nav__close-icon{height:20px;margin-left:auto;width:20px}.side-nav__back-button-wrapper{align-items:center;display:flex;margin-bottom:25px}.side-nav__back-icon{height:20px;width:20px}.side-nav__back-button,.side-nav__sub-menu-title{font-weight:700;text-transform:uppercase}.side-nav__sub-menu-title{font-size:14px;margin-bottom:10px}.side-nav__elements{display:flex;flex-direction:column}.side-nav__element{color:#555;cursor:pointer;line-height:20px;margin-bottom:10px}.side-nav__element,.side-nav__sub-link{font-size:14px;font-weight:400;text-transform:capitalize}.side-nav__block-button{background-color:#000;color:#fff;font-weight:700;padding:10px 0;width:100%}.stores-dropdown{align-items:flex-start;display:flex;font-family:Martel Sans;gap:20px;margin-left:auto;margin-right:auto;max-width:1280px;overflow-x:auto;padding:20px 15px}.stores-dropdown__image{height:200px;-o-object-fit:cover;object-fit:cover;width:100%}.stores-dropdown__store-details{flex-basis:20%}.stores-dropdown__title{font-family:El Messiri}.stores-dropdown__main-title,.stores-dropdown__title{font-size:16px;font-weight:400;letter-spacing:3px;margin-top:20px}.stores-dropdown__main-title{font-weight:700;margin-bottom:10px}.stores-dropdown__open-days{font-size:12px;font-weight:700;line-height:20px}.stores-dropdown__open-hours{font-size:12px;font-weight:400;line-height:20px}.stores-dropdown__queries-title{font-family:El Messiri;font-size:16px;font-weight:400;letter-spacing:3px}.stores-dropdown__contact-details{font-size:16px;font-weight:700}.stores-dropdown__view-more{cursor:pointer;font-size:14px;font-weight:400;margin-top:10px;text-transform:capitalize}.dropdown{display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:1280px;min-height:500px;overflow-x:auto;padding:20px 0}.dropdown__errors{align-items:center;color:red;display:flex;font-size:16px;justify-content:center;min-height:300px}.dropdown__column{flex:1;padding-left:12px}.dropdown__column:nth-child(2){flex:2}.dropdown__title{font-family:El Messiri;font-size:16px;font-weight:700;letter-spacing:3px;line-height:1;margin-bottom:20px;text-transform:uppercase}.dropdown__elements{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-height:800px;overflow-y:auto}.dropdown__brand-elements{-moz-column-count:3;column-count:3;max-height:800px}.dropdown__brand-element{cursor:pointer;margin-bottom:10px}.dropdown__element{flex-basis:33.33%;font-family:Martel Sans;font-size:14px;font-weight:400;margin-bottom:10px;text-transform:capitalize}.cover-spinner{align-items:center;background-color:hsla(0,0%,100%,.7);display:flex;height:100%;justify-content:center;min-height:400px;position:relative;top:50%;width:100%;z-index:9999}.cover-spinner:after{animation:spin 1.5s linear infinite;border:4px dotted #000;border-radius:50%;border-top-color:transparent;content:"";display:block;height:40px;position:absolute;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
package/build/bundle.js CHANGED
@@ -15005,7 +15005,12 @@
15005
15005
  showSideNav = _ref.showSideNav,
15006
15006
  onMenuClick = _ref.onMenuClick,
15007
15007
  menuData = _ref.menuData,
15008
- LinkComponent = _ref.LinkComponent;
15008
+ LinkComponent = _ref.LinkComponent,
15009
+ currency = _ref.currency,
15010
+ currencyOptions = _ref.currencyOptions,
15011
+ onCurrencyChange = _ref.onCurrencyChange,
15012
+ isCurrencySelectionDisabled = _ref.isCurrencySelectionDisabled,
15013
+ tooltipContent = _ref.tooltipContent;
15009
15014
  var _useState = React.useState(false),
15010
15015
  _useState2 = _slicedToArray(_useState, 2),
15011
15016
  subMenuOpen = _useState2[0],
@@ -15237,7 +15242,13 @@
15237
15242
  type: "button",
15238
15243
  className: "side-nav__sub-link",
15239
15244
  onClick: onCartClick
15240
- }, "My Cart")))), /*#__PURE__*/React__default.createElement(BrandsDropDown, {
15245
+ }, "My Cart")), /*#__PURE__*/React__default.createElement(CurrencySelect, {
15246
+ currency: currency,
15247
+ currencyOptions: currencyOptions,
15248
+ onCurrencyChange: onCurrencyChange,
15249
+ isCurrencySelectionDisabled: isCurrencySelectionDisabled,
15250
+ tooltipContent: tooltipContent
15251
+ }))), /*#__PURE__*/React__default.createElement(BrandsDropDown, {
15241
15252
  subMenuOpen: subMenuOpen && displayedSubMenu === 'new',
15242
15253
  onBackClick: onBackClick,
15243
15254
  backIcon: backIcon,
@@ -15552,6 +15563,11 @@
15552
15563
  onPastSalesClick = _ref.onPastSalesClick,
15553
15564
  onPaidOutClick = _ref.onPaidOutClick,
15554
15565
  LinkComponent = _ref.LinkComponent,
15566
+ currency = _ref.currency,
15567
+ currencyOptions = _ref.currencyOptions,
15568
+ onCurrencyChange = _ref.onCurrencyChange,
15569
+ isCurrencySelectionDisabled = _ref.isCurrencySelectionDisabled,
15570
+ tooltipContent = _ref.tooltipContent,
15555
15571
  shop = _ref.shop,
15556
15572
  app = _ref.app;
15557
15573
  var _useState = React.useState(''),
@@ -15789,7 +15805,12 @@
15789
15805
  onMenuClick: onMenuClick,
15790
15806
  endpoint: endpoint,
15791
15807
  menuData: menuData,
15792
- LinkComponent: LinkComponent
15808
+ LinkComponent: LinkComponent,
15809
+ currency: currency,
15810
+ currencyOptions: currencyOptions,
15811
+ onCurrencyChange: onCurrencyChange,
15812
+ isCurrencySelectionDisabled: isCurrencySelectionDisabled,
15813
+ tooltipContent: tooltipContent
15793
15814
  }), app && /*#__PURE__*/React__default.createElement(LuxityAppSideNav, {
15794
15815
  accordionIcon: accordionIcon,
15795
15816
  closeIcon: closeIcon,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bonlineza/luxity-lib",
3
- "version": "2.34.2",
3
+ "version": "2.34.3",
4
4
  "scripts": {
5
5
  "start": "start-storybook -p 9001 -c .storybook -s ./public",
6
6
  "clean": "rimraf ./build/*.*",