@bonlineza/luxity-lib 2.33.8 → 2.34.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.
@@ -0,0 +1,49 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('react')) :
3
+ typeof define === 'function' && define.amd ? define(['react'], factory) :
4
+ (global = global || self, global.CurrencySelect = factory(global.React));
5
+ }(this, (function (React) { 'use strict';
6
+
7
+ React = React && Object.prototype.hasOwnProperty.call(React, 'default') ? React['default'] : React;
8
+
9
+ var CurrencySelect = function CurrencySelect(_ref) {
10
+ var currency = _ref.currency,
11
+ currencyOptions = _ref.currencyOptions,
12
+ onCurrencyChange = _ref.onCurrencyChange;
13
+
14
+ if (!currencyOptions || currencyOptions.length === 0) {
15
+ return null;
16
+ }
17
+
18
+ var selectedOption = currencyOptions.find(function (opt) {
19
+ return opt.value === currency;
20
+ });
21
+
22
+ if (!selectedOption) {
23
+ return null;
24
+ }
25
+
26
+ return /*#__PURE__*/React.createElement("div", {
27
+ className: "currency-select-container"
28
+ }, /*#__PURE__*/React.createElement("div", {
29
+ className: "currency-flag"
30
+ }, /*#__PURE__*/React.createElement("img", {
31
+ src: selectedOption.flagSrc,
32
+ alt: "".concat(currency, " flag")
33
+ })), /*#__PURE__*/React.createElement("select", {
34
+ value: currency,
35
+ onChange: function onChange(e) {
36
+ return onCurrencyChange(e.target.value);
37
+ },
38
+ className: "currency-select"
39
+ }, currencyOptions.map(function (option) {
40
+ return /*#__PURE__*/React.createElement("option", {
41
+ key: option.value,
42
+ value: option.value
43
+ }, option.value, " (", option.symbol, ")");
44
+ })));
45
+ };
46
+
47
+ return CurrencySelect;
48
+
49
+ })));
@@ -432,6 +432,44 @@
432
432
  return null;
433
433
  };
434
434
 
435
+ var CurrencySelect = function CurrencySelect(_ref) {
436
+ var currency = _ref.currency,
437
+ currencyOptions = _ref.currencyOptions,
438
+ onCurrencyChange = _ref.onCurrencyChange;
439
+
440
+ if (!currencyOptions || currencyOptions.length === 0) {
441
+ return null;
442
+ }
443
+
444
+ var selectedOption = currencyOptions.find(function (opt) {
445
+ return opt.value === currency;
446
+ });
447
+
448
+ if (!selectedOption) {
449
+ return null;
450
+ }
451
+
452
+ return /*#__PURE__*/React__default.createElement("div", {
453
+ className: "currency-select-container"
454
+ }, /*#__PURE__*/React__default.createElement("div", {
455
+ className: "currency-flag"
456
+ }, /*#__PURE__*/React__default.createElement("img", {
457
+ src: selectedOption.flagSrc,
458
+ alt: "".concat(currency, " flag")
459
+ })), /*#__PURE__*/React__default.createElement("select", {
460
+ value: currency,
461
+ onChange: function onChange(e) {
462
+ return onCurrencyChange(e.target.value);
463
+ },
464
+ className: "currency-select"
465
+ }, currencyOptions.map(function (option) {
466
+ return /*#__PURE__*/React__default.createElement("option", {
467
+ key: option.value,
468
+ value: option.value
469
+ }, option.value, " (", option.symbol, ")");
470
+ })));
471
+ };
472
+
435
473
  var LuxityDesktopHeader = function LuxityDesktopHeader(_ref) {
436
474
  var accountIcon = _ref.accountIcon,
437
475
  cartIcon = _ref.cartIcon,
@@ -461,6 +499,10 @@
461
499
  menuData = _ref.menuData,
462
500
  onSearchSubmit = _ref.onSearchSubmit,
463
501
  onProductIdsReceived = _ref.onProductIdsReceived,
502
+ currency = _ref.currency,
503
+ currencyOptions = _ref.currencyOptions,
504
+ onCurrencyChange = _ref.onCurrencyChange,
505
+ hideCurrencySelect = _ref.hideCurrencySelect,
464
506
  shop = _ref.shop,
465
507
  app = _ref.app;
466
508
 
@@ -767,7 +809,11 @@
767
809
  className: "navbar__icons-wrapper"
768
810
  }, /*#__PURE__*/React__default.createElement("div", {
769
811
  className: "navbar__icons"
770
- }, /*#__PURE__*/React__default.createElement("button", {
812
+ }, !hideCurrencySelect && /*#__PURE__*/React__default.createElement(CurrencySelect, {
813
+ currency: currency,
814
+ currencyOptions: currencyOptions,
815
+ onCurrencyChange: onCurrencyChange
816
+ }), /*#__PURE__*/React__default.createElement("button", {
771
817
  type: "button",
772
818
  className: "".concat(app ? 'navbar__icon--app' : 'navbar__icon'),
773
819
  onClick: onInterestClick
package/LuxityFooter.js CHANGED
@@ -1925,6 +1925,44 @@
1925
1925
  }), props.children);
1926
1926
  };
1927
1927
 
1928
+ var CurrencySelect = function CurrencySelect(_ref) {
1929
+ var currency = _ref.currency,
1930
+ currencyOptions = _ref.currencyOptions,
1931
+ onCurrencyChange = _ref.onCurrencyChange;
1932
+
1933
+ if (!currencyOptions || currencyOptions.length === 0) {
1934
+ return null;
1935
+ }
1936
+
1937
+ var selectedOption = currencyOptions.find(function (opt) {
1938
+ return opt.value === currency;
1939
+ });
1940
+
1941
+ if (!selectedOption) {
1942
+ return null;
1943
+ }
1944
+
1945
+ return /*#__PURE__*/React__default.createElement("div", {
1946
+ className: "currency-select-container"
1947
+ }, /*#__PURE__*/React__default.createElement("div", {
1948
+ className: "currency-flag"
1949
+ }, /*#__PURE__*/React__default.createElement("img", {
1950
+ src: selectedOption.flagSrc,
1951
+ alt: "".concat(currency, " flag")
1952
+ })), /*#__PURE__*/React__default.createElement("select", {
1953
+ value: currency,
1954
+ onChange: function onChange(e) {
1955
+ return onCurrencyChange(e.target.value);
1956
+ },
1957
+ className: "currency-select"
1958
+ }, currencyOptions.map(function (option) {
1959
+ return /*#__PURE__*/React__default.createElement("option", {
1960
+ key: option.value,
1961
+ value: option.value
1962
+ }, option.value, " (", option.symbol, ")");
1963
+ })));
1964
+ };
1965
+
1928
1966
  var LuxityFooter = function LuxityFooter(_ref) {
1929
1967
  var _ref$showNewsletter = _ref.showNewsletter,
1930
1968
  showNewsletter = _ref$showNewsletter === void 0 ? true : _ref$showNewsletter,
@@ -1944,9 +1982,14 @@
1944
1982
  contactLinks = _ref$contactLinks === void 0 ? [] : _ref$contactLinks,
1945
1983
  visaImgSrc = _ref.visaImgSrc,
1946
1984
  masterCardSrc = _ref.masterCardSrc,
1985
+ paypalImgSrc = _ref.paypalImgSrc,
1947
1986
  logoSrc = _ref.logoSrc,
1948
1987
  formIconSrc = _ref.formIconSrc,
1949
- onSubmit = _ref.onSubmit;
1988
+ onSubmit = _ref.onSubmit,
1989
+ currency = _ref.currency,
1990
+ currencyOptions = _ref.currencyOptions,
1991
+ onCurrencyChange = _ref.onCurrencyChange,
1992
+ hideCurrencySelect = _ref.hideCurrencySelect;
1950
1993
  var currentYear = new Date().getFullYear();
1951
1994
 
1952
1995
  var _useForm = useForm(),
@@ -2114,16 +2157,29 @@
2114
2157
  }, /*#__PURE__*/React__default.createElement("div", {
2115
2158
  className: "footer__payment-icons"
2116
2159
  }, /*#__PURE__*/React__default.createElement("img", {
2117
- alt: "visa",
2118
- src: masterCardSrc
2160
+ src: masterCardSrc,
2161
+ alt: "mastercard",
2162
+ width: 100,
2163
+ height: 100
2119
2164
  }), /*#__PURE__*/React__default.createElement("img", {
2120
2165
  src: visaImgSrc,
2121
- alt: "button"
2166
+ alt: "visa",
2167
+ width: 70,
2168
+ height: 70
2169
+ }), /*#__PURE__*/React__default.createElement("img", {
2170
+ src: paypalImgSrc,
2171
+ alt: "paypal",
2172
+ width: 100,
2173
+ height: 100
2122
2174
  })), /*#__PURE__*/React__default.createElement("p", {
2123
2175
  className: "footer__copyright"
2124
2176
  }, "Copyright ", currentYear, " | Luxity (Pty) LTD | All Rights Reserved | Website Developed by B Online"))), /*#__PURE__*/React__default.createElement("div", {
2125
2177
  className: "footer__wrapper footer__wrapper--mobile"
2126
- }, /*#__PURE__*/React__default.createElement(AccordionSection, {
2178
+ }, !hideCurrencySelect && /*#__PURE__*/React__default.createElement(CurrencySelect, {
2179
+ currency: currency,
2180
+ currencyOptions: currencyOptions,
2181
+ onCurrencyChange: onCurrencyChange
2182
+ }), /*#__PURE__*/React__default.createElement(AccordionSection, {
2127
2183
  title: "BUY",
2128
2184
  links: buyLinks
2129
2185
  }), /*#__PURE__*/React__default.createElement(AccordionSection, {
package/build/bundle.css CHANGED
@@ -1 +1 @@
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}.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__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;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%}.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%}.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}}@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}}.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%}.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%}.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__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}.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
@@ -14220,6 +14220,44 @@
14220
14220
  }), props.children);
14221
14221
  };
14222
14222
 
14223
+ var CurrencySelect = function CurrencySelect(_ref) {
14224
+ var currency = _ref.currency,
14225
+ currencyOptions = _ref.currencyOptions,
14226
+ onCurrencyChange = _ref.onCurrencyChange;
14227
+
14228
+ if (!currencyOptions || currencyOptions.length === 0) {
14229
+ return null;
14230
+ }
14231
+
14232
+ var selectedOption = currencyOptions.find(function (opt) {
14233
+ return opt.value === currency;
14234
+ });
14235
+
14236
+ if (!selectedOption) {
14237
+ return null;
14238
+ }
14239
+
14240
+ return /*#__PURE__*/React__default.createElement("div", {
14241
+ className: "currency-select-container"
14242
+ }, /*#__PURE__*/React__default.createElement("div", {
14243
+ className: "currency-flag"
14244
+ }, /*#__PURE__*/React__default.createElement("img", {
14245
+ src: selectedOption.flagSrc,
14246
+ alt: "".concat(currency, " flag")
14247
+ })), /*#__PURE__*/React__default.createElement("select", {
14248
+ value: currency,
14249
+ onChange: function onChange(e) {
14250
+ return onCurrencyChange(e.target.value);
14251
+ },
14252
+ className: "currency-select"
14253
+ }, currencyOptions.map(function (option) {
14254
+ return /*#__PURE__*/React__default.createElement("option", {
14255
+ key: option.value,
14256
+ value: option.value
14257
+ }, option.value, " (", option.symbol, ")");
14258
+ })));
14259
+ };
14260
+
14223
14261
  var LuxityFooter = function LuxityFooter(_ref) {
14224
14262
  var _ref$showNewsletter = _ref.showNewsletter,
14225
14263
  showNewsletter = _ref$showNewsletter === void 0 ? true : _ref$showNewsletter,
@@ -14239,9 +14277,14 @@
14239
14277
  contactLinks = _ref$contactLinks === void 0 ? [] : _ref$contactLinks,
14240
14278
  visaImgSrc = _ref.visaImgSrc,
14241
14279
  masterCardSrc = _ref.masterCardSrc,
14280
+ paypalImgSrc = _ref.paypalImgSrc,
14242
14281
  logoSrc = _ref.logoSrc,
14243
14282
  formIconSrc = _ref.formIconSrc,
14244
- onSubmit = _ref.onSubmit;
14283
+ onSubmit = _ref.onSubmit,
14284
+ currency = _ref.currency,
14285
+ currencyOptions = _ref.currencyOptions,
14286
+ onCurrencyChange = _ref.onCurrencyChange,
14287
+ hideCurrencySelect = _ref.hideCurrencySelect;
14245
14288
  var currentYear = new Date().getFullYear();
14246
14289
 
14247
14290
  var _useForm = useForm(),
@@ -14409,16 +14452,29 @@
14409
14452
  }, /*#__PURE__*/React__default.createElement("div", {
14410
14453
  className: "footer__payment-icons"
14411
14454
  }, /*#__PURE__*/React__default.createElement("img", {
14412
- alt: "visa",
14413
- src: masterCardSrc
14455
+ src: masterCardSrc,
14456
+ alt: "mastercard",
14457
+ width: 100,
14458
+ height: 100
14414
14459
  }), /*#__PURE__*/React__default.createElement("img", {
14415
14460
  src: visaImgSrc,
14416
- alt: "button"
14461
+ alt: "visa",
14462
+ width: 70,
14463
+ height: 70
14464
+ }), /*#__PURE__*/React__default.createElement("img", {
14465
+ src: paypalImgSrc,
14466
+ alt: "paypal",
14467
+ width: 100,
14468
+ height: 100
14417
14469
  })), /*#__PURE__*/React__default.createElement("p", {
14418
14470
  className: "footer__copyright"
14419
14471
  }, "Copyright ", currentYear, " | Luxity (Pty) LTD | All Rights Reserved | Website Developed by B Online"))), /*#__PURE__*/React__default.createElement("div", {
14420
14472
  className: "footer__wrapper footer__wrapper--mobile"
14421
- }, /*#__PURE__*/React__default.createElement(AccordionSection, {
14473
+ }, !hideCurrencySelect && /*#__PURE__*/React__default.createElement(CurrencySelect, {
14474
+ currency: currency,
14475
+ currencyOptions: currencyOptions,
14476
+ onCurrencyChange: onCurrencyChange
14477
+ }), /*#__PURE__*/React__default.createElement(AccordionSection, {
14422
14478
  title: "BUY",
14423
14479
  links: buyLinks
14424
14480
  }), /*#__PURE__*/React__default.createElement(AccordionSection, {
@@ -14796,6 +14852,10 @@
14796
14852
  menuData = _ref.menuData,
14797
14853
  onSearchSubmit = _ref.onSearchSubmit,
14798
14854
  onProductIdsReceived = _ref.onProductIdsReceived,
14855
+ currency = _ref.currency,
14856
+ currencyOptions = _ref.currencyOptions,
14857
+ onCurrencyChange = _ref.onCurrencyChange,
14858
+ hideCurrencySelect = _ref.hideCurrencySelect,
14799
14859
  shop = _ref.shop,
14800
14860
  app = _ref.app;
14801
14861
 
@@ -15102,7 +15162,11 @@
15102
15162
  className: "navbar__icons-wrapper"
15103
15163
  }, /*#__PURE__*/React__default.createElement("div", {
15104
15164
  className: "navbar__icons"
15105
- }, /*#__PURE__*/React__default.createElement("button", {
15165
+ }, !hideCurrencySelect && /*#__PURE__*/React__default.createElement(CurrencySelect, {
15166
+ currency: currency,
15167
+ currencyOptions: currencyOptions,
15168
+ onCurrencyChange: onCurrencyChange
15169
+ }), /*#__PURE__*/React__default.createElement("button", {
15106
15170
  type: "button",
15107
15171
  className: "".concat(app ? 'navbar__icon--app' : 'navbar__icon'),
15108
15172
  onClick: onInterestClick
@@ -16140,6 +16204,7 @@
16140
16204
  exports.CommunicationPreferences = index$5;
16141
16205
  exports.CountryCodeSelect = CountryCodeSelect;
16142
16206
  exports.CurrencyInputFormatter = CurrencyInputFormatter;
16207
+ exports.CurrencySelect = CurrencySelect;
16143
16208
  exports.InterestCatSelector = CategoryInterestSelector;
16144
16209
  exports.InterestItem = InterestItem$1;
16145
16210
  exports.Interests = Interests;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bonlineza/luxity-lib",
3
- "version": "2.33.8",
3
+ "version": "2.34.0",
4
4
  "scripts": {
5
5
  "start": "start-storybook -p 9001 -c .storybook -s ./public",
6
6
  "clean": "rimraf ./build/*.*",