ordering-ui-external 2.1.3 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/_bundles/{0.ordering-ui.7ab84608232e3f5c3b4b.js → 0.ordering-ui.bdd6b221a4d558a752fc.js} +1 -1
  2. package/_bundles/{1.ordering-ui.7ab84608232e3f5c3b4b.js → 1.ordering-ui.bdd6b221a4d558a752fc.js} +0 -0
  3. package/_bundles/{2.ordering-ui.7ab84608232e3f5c3b4b.js → 2.ordering-ui.bdd6b221a4d558a752fc.js} +0 -0
  4. package/_bundles/{4.ordering-ui.7ab84608232e3f5c3b4b.js → 4.ordering-ui.bdd6b221a4d558a752fc.js} +0 -0
  5. package/_bundles/{5.ordering-ui.7ab84608232e3f5c3b4b.js → 5.ordering-ui.bdd6b221a4d558a752fc.js} +0 -0
  6. package/_bundles/{6.ordering-ui.7ab84608232e3f5c3b4b.js → 6.ordering-ui.bdd6b221a4d558a752fc.js} +0 -0
  7. package/_bundles/{7.ordering-ui.7ab84608232e3f5c3b4b.js → 7.ordering-ui.bdd6b221a4d558a752fc.js} +1 -1
  8. package/_bundles/{7.ordering-ui.7ab84608232e3f5c3b4b.js.LICENSE.txt → 7.ordering-ui.bdd6b221a4d558a752fc.js.LICENSE.txt} +0 -0
  9. package/_bundles/{8.ordering-ui.7ab84608232e3f5c3b4b.js → 8.ordering-ui.bdd6b221a4d558a752fc.js} +0 -0
  10. package/_bundles/{9.ordering-ui.7ab84608232e3f5c3b4b.js → 9.ordering-ui.bdd6b221a4d558a752fc.js} +0 -0
  11. package/_bundles/{ordering-ui.7ab84608232e3f5c3b4b.js → ordering-ui.bdd6b221a4d558a752fc.js} +2 -2
  12. package/_bundles/{ordering-ui.7ab84608232e3f5c3b4b.js.LICENSE.txt → ordering-ui.bdd6b221a4d558a752fc.js.LICENSE.txt} +0 -0
  13. package/_modules/hooks/useIntersectionObserver.js +6 -5
  14. package/_modules/styles/Toast/index.js +4 -3
  15. package/_modules/themes/five/src/components/AddressDetails/index.js +1 -1
  16. package/_modules/themes/five/src/components/AddressDetails/styles.js +1 -1
  17. package/_modules/themes/five/src/components/BusinessBasicInformation/styles.js +1 -1
  18. package/_modules/themes/five/src/components/BusinessItemAccordion/styles.js +1 -1
  19. package/_modules/themes/five/src/components/BusinessListingSearch/Accordion/index.js +43 -0
  20. package/_modules/themes/five/src/components/BusinessListingSearch/MaxSectionItem/index.js +16 -4
  21. package/_modules/themes/five/src/components/BusinessListingSearch/index.js +26 -13
  22. package/_modules/themes/five/src/components/BusinessListingSearch/styles.js +43 -41
  23. package/_modules/themes/five/src/components/BusinessPreorder/index.js +23 -4
  24. package/_modules/themes/five/src/components/BusinessPreorder/styles.js +38 -22
  25. package/_modules/themes/five/src/components/BusinessProductsList/layouts/groceries/styles.js +2 -2
  26. package/_modules/themes/five/src/components/BusinessProductsList/styles.js +1 -1
  27. package/_modules/themes/five/src/components/BusinessProductsListing/index.js +10 -1
  28. package/_modules/themes/five/src/components/BusinessesListing/layouts/OriginalBusinessesListing/index.js +23 -17
  29. package/_modules/themes/five/src/components/Cart/styles.js +1 -1
  30. package/_modules/themes/five/src/components/Checkout/index.js +24 -19
  31. package/_modules/themes/five/src/components/Checkout/styles.js +1 -1
  32. package/_modules/themes/five/src/components/DriverTips/index.js +6 -2
  33. package/_modules/themes/five/src/components/Header/styles.js +2 -2
  34. package/_modules/themes/five/src/components/Help/index.js +1 -1
  35. package/_modules/themes/five/src/components/LastOrders/index.js +3 -8
  36. package/_modules/themes/five/src/components/MessagesListing/index.js +2 -2
  37. package/_modules/themes/five/src/components/MessagesListing/styles.js +1 -1
  38. package/_modules/themes/five/src/components/MultiCheckout/index.js +1 -1
  39. package/_modules/themes/five/src/components/MyOrders/index.js +1 -3
  40. package/_modules/themes/five/src/components/NotFoundSource/index.js +3 -11
  41. package/_modules/themes/five/src/components/NotFoundSource/styles.js +2 -2
  42. package/_modules/themes/five/src/components/OrderContextUI/index.js +2 -1
  43. package/_modules/themes/five/src/components/OrderContextUI/styles.js +14 -11
  44. package/_modules/themes/five/src/components/PageBanner/styles.js +1 -1
  45. package/_modules/themes/five/src/components/ReviewProduct/styles.js +1 -1
  46. package/_modules/themes/five/src/components/ServiceForm/index.js +16 -11
  47. package/_modules/themes/five/src/components/ServiceForm/styles.js +16 -5
  48. package/_modules/themes/five/src/components/UserDetails/index.js +1 -1
  49. package/_modules/themes/five/src/components/UserDetails/styles.js +1 -1
  50. package/_modules/themes/five/src/components/UserFormDetails/index.js +1 -1
  51. package/_modules/themes/five/src/components/UserPopover/index.js +6 -0
  52. package/_modules/themes/five/src/components/UserProfileForm/index.js +0 -2
  53. package/_modules/themes/five/src/components/UserProfileForm/styles.js +1 -1
  54. package/_modules/themes/five/src/components/WalletTransactionItem/index.js +4 -2
  55. package/_modules/themes/five/src/components/Wallets/index.js +4 -4
  56. package/_modules/themes/five/src/components/Wallets/styles.js +33 -12
  57. package/_modules/themes/five/src/styles/Buttons/index.js +3 -1
  58. package/_modules/themes/pwa/src/components/MomentControl/index.js +7 -9
  59. package/_modules/utils/index.js +28 -2
  60. package/package.json +2 -2
  61. package/src/hooks/useIntersectionObserver.js +7 -6
  62. package/src/styles/Toast/index.js +4 -2
  63. package/src/themes/five/src/components/AddressDetails/index.js +1 -1
  64. package/src/themes/five/src/components/AddressDetails/styles.js +4 -1
  65. package/src/themes/five/src/components/BusinessBasicInformation/styles.js +3 -1
  66. package/src/themes/five/src/components/BusinessItemAccordion/styles.js +9 -3
  67. package/src/themes/five/src/components/BusinessListingSearch/Accordion/index.js +23 -0
  68. package/src/themes/five/src/components/BusinessListingSearch/MaxSectionItem/index.js +28 -17
  69. package/src/themes/five/src/components/BusinessListingSearch/index.js +65 -66
  70. package/src/themes/five/src/components/BusinessListingSearch/styles.js +21 -2
  71. package/src/themes/five/src/components/BusinessPreorder/index.js +24 -0
  72. package/src/themes/five/src/components/BusinessPreorder/styles.js +11 -1
  73. package/src/themes/five/src/components/BusinessProductsList/layouts/groceries/styles.js +7 -3
  74. package/src/themes/five/src/components/BusinessProductsList/styles.js +3 -1
  75. package/src/themes/five/src/components/BusinessProductsListing/index.js +11 -1
  76. package/src/themes/five/src/components/BusinessesListing/layouts/OriginalBusinessesListing/index.js +11 -1
  77. package/src/themes/five/src/components/Cart/styles.js +3 -1
  78. package/src/themes/five/src/components/Checkout/index.js +49 -62
  79. package/src/themes/five/src/components/Checkout/styles.js +3 -1
  80. package/src/themes/five/src/components/DriverTips/index.js +7 -2
  81. package/src/themes/five/src/components/Header/styles.js +4 -2
  82. package/src/themes/five/src/components/Help/index.js +0 -1
  83. package/src/themes/five/src/components/LastOrders/index.js +25 -28
  84. package/src/themes/five/src/components/MessagesListing/index.js +2 -2
  85. package/src/themes/five/src/components/MessagesListing/styles.js +3 -1
  86. package/src/themes/five/src/components/MultiCheckout/index.js +13 -13
  87. package/src/themes/five/src/components/MyOrders/index.js +0 -3
  88. package/src/themes/five/src/components/NotFoundSource/index.js +5 -10
  89. package/src/themes/five/src/components/NotFoundSource/styles.js +7 -2
  90. package/src/themes/five/src/components/OrderContextUI/index.js +1 -1
  91. package/src/themes/five/src/components/OrderContextUI/styles.js +4 -2
  92. package/src/themes/five/src/components/PageBanner/styles.js +1 -0
  93. package/src/themes/five/src/components/ReviewProduct/styles.js +3 -3
  94. package/src/themes/five/src/components/ServiceForm/index.js +20 -14
  95. package/src/themes/five/src/components/ServiceForm/styles.js +11 -3
  96. package/src/themes/five/src/components/UserDetails/index.js +2 -2
  97. package/src/themes/five/src/components/UserDetails/styles.js +3 -1
  98. package/src/themes/five/src/components/UserFormDetails/index.js +0 -1
  99. package/src/themes/five/src/components/UserPopover/index.js +2 -0
  100. package/src/themes/five/src/components/UserProfileForm/index.js +0 -3
  101. package/src/themes/five/src/components/UserProfileForm/styles.js +0 -5
  102. package/src/themes/five/src/components/WalletTransactionItem/index.js +4 -1
  103. package/src/themes/five/src/components/Wallets/index.js +101 -95
  104. package/src/themes/five/src/components/Wallets/styles.js +37 -17
  105. package/src/themes/five/src/styles/Buttons/index.js +4 -0
  106. package/src/themes/pwa/src/components/MomentControl/index.js +6 -11
  107. package/src/utils/index.js +38 -12
  108. package/template/pages/Home/index.js +3 -0
@@ -4,37 +4,58 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.WrapContent = exports.TransactionsWrapper = exports.Transactions = exports.SectionWrapper = exports.LoyaltyWrapp = exports.LoyaltyContent = exports.Container = exports.BalanceElement = void 0;
7
+ exports.WrapContent = exports.TransactionsWrapper = exports.Transactions = exports.Title = exports.TabsContainer = exports.Tab = exports.SectionWrapper = exports.LoyaltyWrapp = exports.LoyaltyContent = exports.Container = exports.BalanceElement = void 0;
8
8
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
9
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
10
10
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
11
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
12
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
13
- var Container = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding: 20px;\n display: flex;\n flex-direction: column;\n\n .tabs{\n justify-content: space-between;\n }\n .tab_title {\n padding: 10px 2px;\n }\n\n @media (min-width: 576px) {\n .tabs{\n justify-content: flex-start;\n }\n .tab_title {\n padding: 10px 15px;\n }\n }\n\n @media (min-width: 768px) {\n padding: 20px 60px;\n }\n"])));
13
+ var Container = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n display: flex;\n flex-direction: column;\n margin: 0 auto;\n padding: 30px 15px 15px 15px;\n box-sizing: border-box;\n min-height: calc(100vh - 280px);\n\n @media (min-width: 768px) {\n width: 70%;\n }\n"])));
14
14
  exports.Container = Container;
15
- var SectionWrapper = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n padding-top: 30px;\n display: flex;\n flex-direction: column;\n\n ", ";\n\n @media (min-width: 768px) {\n ", ";\n }\n"])), function (props) {
16
- return !props.isLoading && (0, _styledComponents.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n align-items: center;\n "])));
15
+ var Title = _styledComponents.default.h1(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n font-weight: 600;\n font-size: 32px;\n margin-bottom: 30px;\n margin-top: 0;\n"])));
16
+ exports.Title = Title;
17
+ var TabsContainer = _styledComponents.default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n border-bottom: 1px solid ", ";\n"])), function (props) {
18
+ return props.theme.colors.gray200;
19
+ });
20
+ exports.TabsContainer = TabsContainer;
21
+ var Tab = _styledComponents.default.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n padding: 10px 0px;\n margin-right: 30px;\n cursor: pointer;\n\n ", "\n\n ", "\n\n ", "\n"])), function (props) {
22
+ return props.theme.rtl && (0, _styledComponents.css)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n margin-right: 0px;\n margin-left: 30px;\n "])));
23
+ }, function (_ref) {
24
+ var active = _ref.active;
25
+ return active && (0, _styledComponents.css)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n ", "\n "])), function (_ref2) {
26
+ var borderBottom = _ref2.borderBottom;
27
+ return borderBottom && (0, _styledComponents.css)(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n border-bottom: 1px solid;\n "])));
28
+ });
29
+ }, function (_ref3) {
30
+ var active = _ref3.active;
31
+ return !active && (0, _styledComponents.css)(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n color: ", ";\n "])), function (props) {
32
+ return props.theme.colors.darkGray;
33
+ });
34
+ });
35
+ exports.Tab = Tab;
36
+ var SectionWrapper = _styledComponents.default.div(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n padding-top: 30px;\n display: flex;\n flex-direction: column;\n\n ", ";\n\n @media (min-width: 768px) {\n ", ";\n }\n"])), function (props) {
37
+ return !props.isLoading && (0, _styledComponents.css)(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n align-items: center;\n "])));
17
38
  }, function (props) {
18
- return !props.isLoading && (0, _styledComponents.css)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n align-items: flex-start;\n "])));
39
+ return !props.isLoading && (0, _styledComponents.css)(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n align-items: flex-start;\n "])));
19
40
  });
20
41
  exports.SectionWrapper = SectionWrapper;
21
- var TransactionsWrapper = _styledComponents.default.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n border-left: 2px solid ", ";\n"])), function (props) {
42
+ var TransactionsWrapper = _styledComponents.default.div(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n border-left: 2px solid ", ";\n"])), function (props) {
22
43
  return props.theme.colors.gray200;
23
44
  });
24
45
  exports.TransactionsWrapper = TransactionsWrapper;
25
- var BalanceElement = _styledComponents.default.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n width: 250px;\n padding: 10px 0;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: ", ";\n border-radius: 8px;\n\n h1 {\n font-size: 20px;\n font-weight: bold;\n margin: 0;\n padding: 0;\n }\n\n span {\n font-size: 10px;\n margin-left: 5px;\n }\n"])), function (props) {
46
+ var BalanceElement = _styledComponents.default.div(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n width: 250px;\n padding: 10px 0;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: ", ";\n border-radius: 8px;\n\n h1 {\n font-size: 20px;\n font-weight: bold;\n margin: 0;\n padding: 0;\n }\n\n span {\n font-size: 10px;\n margin-left: 5px;\n }\n"])), function (props) {
26
47
  return props.theme.colors.grayDividerColor;
27
48
  });
28
49
  exports.BalanceElement = BalanceElement;
29
- var WrapContent = _styledComponents.default.div(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n width: 100%;\n display: flex;\n flex-direction: column-reverse;\n\n @media (min-width: 768px) {\n display: flex;\n justify-content: space-between;\n flex-direction: row;\n }\n"])));
50
+ var WrapContent = _styledComponents.default.div(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["\n width: 100%;\n display: flex;\n flex-direction: column-reverse;\n\n @media (min-width: 768px) {\n display: flex;\n justify-content: space-between;\n flex-direction: row;\n }\n"])));
30
51
  exports.WrapContent = WrapContent;
31
- var Transactions = _styledComponents.default.div(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n .transactions_list {\n margin-top: 20px;\n\n h2 {\n text-align: center;\n }\n }\n\n @media (min-width: 768px) {\n width: 60%;\n margin: ", ";\n\n .transactions_list h2 {\n text-align: left;\n }\n }\n"])), function (props) {
52
+ var Transactions = _styledComponents.default.div(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["\n .transactions_list {\n margin-top: 20px;\n\n h2 {\n text-align: center;\n }\n }\n\n @media (min-width: 768px) {\n width: 60%;\n margin: ", ";\n\n .transactions_list h2 {\n text-align: left;\n }\n }\n"])), function (props) {
32
53
  return props.isLoyaltyLevel ? 0 : '0 auto';
33
54
  });
34
55
  exports.Transactions = Transactions;
35
- var LoyaltyContent = _styledComponents.default.div(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n width: 100%;\n margin-top: 20px;\n\n @media (min-width: 768px) {\n width: 38%;\n }\n"])));
56
+ var LoyaltyContent = _styledComponents.default.div(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral(["\n width: 100%;\n margin-top: 20px;\n\n @media (min-width: 768px) {\n width: 38%;\n }\n"])));
36
57
  exports.LoyaltyContent = LoyaltyContent;
37
- var LoyaltyWrapp = _styledComponents.default.div(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n img {\n width: 100%;\n }\n\n span.loyalty_title {\n font-size: 20px;\n }\n\n span.loyalty_name {\n font-size: 25px;\n font-weight: bold;\n text-transform: uppercase;\n color: ", "\n }\n"])), function (props) {
58
+ var LoyaltyWrapp = _styledComponents.default.div(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n img {\n width: 100%;\n }\n\n span.loyalty_title {\n font-size: 20px;\n }\n\n span.loyalty_name {\n font-size: 25px;\n font-weight: bold;\n text-transform: uppercase;\n color: ", "\n }\n"])), function (props) {
38
59
  return props.theme.colors.primary;
39
60
  });
40
61
  exports.LoyaltyWrapp = LoyaltyWrapp;
@@ -15,7 +15,9 @@ var Button = _styledComponents.default.button(_templateObject || (_templateObjec
15
15
  return (0, _polished.darken)(0.07, '#CCC');
16
16
  }, function (_ref) {
17
17
  var bgtransparent = _ref.bgtransparent;
18
- return bgtransparent && (0, _styledComponents.css)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n background: transparent !important;\n "])));
18
+ return bgtransparent && (0, _styledComponents.css)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n background: transparent !important;\n &:hover {\n background: ", ";\n color: ", " !important;\n }\n "])), (0, _polished.darken)(0.15, '#CCC'), function (props) {
19
+ return (0, _polished.darken)(0.15, props.theme.colors.primary);
20
+ });
19
21
  }, function (_ref2) {
20
22
  var initialIcon = _ref2.initialIcon;
21
23
  return initialIcon && (0, _styledComponents.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n text-align: left;\n ", "\n img{\n vertical-align: middle;\n }\n span {\n padding-left: 15%\n ", "\n }\n "])), function (props) {
@@ -20,6 +20,7 @@ var _styles = require("./styles");
20
20
  var _CgRadioCheck = _interopRequireDefault(require("@meronex/icons/cg/CgRadioCheck"));
21
21
  var _CgRadioChecked = _interopRequireDefault(require("@meronex/icons/cg/CgRadioChecked"));
22
22
  var _BiTimeFive = _interopRequireDefault(require("@meronex/icons/bi/BiTimeFive"));
23
+ var _utils = require("../../../../../utils");
23
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -36,7 +37,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
36
37
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
37
38
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
38
39
  var MomentControlUI = function MomentControlUI(props) {
39
- var _props$beforeElements, _props$beforeComponen, _props$afterComponent, _props$afterElements;
40
+ var _props$beforeElements, _props$beforeComponen, _moment$format, _props$afterComponent, _props$afterElements;
40
41
  var isAsap = props.isAsap,
41
42
  datesList = props.datesList,
42
43
  hoursList = props.hoursList,
@@ -97,11 +98,8 @@ var MomentControlUI = function MomentControlUI(props) {
97
98
  !orderState.loading && handleAsap();
98
99
  setIsASP(true);
99
100
  };
100
- var _formatMonthYear = function formatMonthYear(date) {
101
- return (0, _moment.default)(date).format('MMMM');
102
- };
103
- var _formatShortWeekday = function formatShortWeekday(date) {
104
- return (0, _moment.default)(date).format('dd');
101
+ var formatWeekMonth = function formatWeekMonth(obj, date) {
102
+ return obj === 'month' ? t(_utils.calendarLanguages.months[(0, _moment.default)(date).format('MMMM')], (0, _moment.default)(date).format('MMMM')) : t(_utils.calendarLanguages.week[(0, _moment.default)(date).format('dd')], (0, _moment.default)(date).format('dd'));
105
103
  };
106
104
  var _formatDay = function formatDay(date) {
107
105
  var minMon = (0, _moment.default)(minDate).format('MM');
@@ -160,7 +158,7 @@ var MomentControlUI = function MomentControlUI(props) {
160
158
  return handleCheckBoxChange(true);
161
159
  },
162
160
  isLoading: orderState === null || orderState === void 0 ? void 0 : orderState.loading
163
- }, isASP ? /*#__PURE__*/_react.default.createElement(_CgRadioChecked.default, null) : /*#__PURE__*/_react.default.createElement(_CgRadioCheck.default, null), /*#__PURE__*/_react.default.createElement("span", null, t('CHECKOUT_ASAP', 'ASAP'), " (", (0, _moment.default)(new Date()).format('LLLL'), " - ", t('DELIVERY_TIME', 'delivery time'), ")")), /*#__PURE__*/_react.default.createElement(_styles.CheckBoxWrapper, {
161
+ }, isASP ? /*#__PURE__*/_react.default.createElement(_CgRadioChecked.default, null) : /*#__PURE__*/_react.default.createElement(_CgRadioCheck.default, null), /*#__PURE__*/_react.default.createElement("span", null, t('CHECKOUT_ASAP', 'ASAP') + " (".concat(t((_moment$format = (0, _moment.default)().format('dddd')) === null || _moment$format === void 0 ? void 0 : _moment$format.toLocaleUpperCase(), (0, _moment.default)().format('dddd')), ", ").concat(t(_utils.calendarLanguages.months[(0, _moment.default)().format('MMMM')], (0, _moment.default)().format('MMMM'))).concat((0, _moment.default)().format(' D, yyyy h:mm A'), " - ").concat(t('DELIVERY_TIME', 'delivery time'), ")"))), /*#__PURE__*/_react.default.createElement(_styles.CheckBoxWrapper, {
164
162
  highlight: !isASP,
165
163
  onClick: function onClick() {
166
164
  return handleCheckBoxChange(null);
@@ -187,10 +185,10 @@ var MomentControlUI = function MomentControlUI(props) {
187
185
  minDate: minDate,
188
186
  maxDate: maxDate,
189
187
  formatMonthYear: function formatMonthYear(locale, date) {
190
- return _formatMonthYear(date);
188
+ return formatWeekMonth('month', date);
191
189
  },
192
190
  formatShortWeekday: function formatShortWeekday(locale, date) {
193
- return _formatShortWeekday(date);
191
+ return formatWeekMonth('week', date);
194
192
  },
195
193
  formatDay: function formatDay(locale, date) {
196
194
  return _formatDay(date);
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.verifyDecimals = exports.sortInputFields = exports.shape = exports.scrollTo = exports.reviewCommentList = exports.priceList = exports.lightenDarkenColor = exports.getTraduction = exports.getTimes = exports.getStarWidth = exports.getOrderStatus = exports.getIconCard = exports.getHourMin = exports.getGoogleMapImage = exports.getDistance = exports.formatUrlVideo = exports.formatSeconds = exports.flatArray = exports.fieldsToSort = exports.convertToRadian = exports.convertHoursToMinutes = exports.checkSiteUrl = exports.capitalize = exports.bytesConverter = void 0;
6
+ exports.verifyDecimals = exports.sortInputFields = exports.shape = exports.scrollTo = exports.reviewCommentList = exports.priceList = exports.lightenDarkenColor = exports.getTraduction = exports.getTimes = exports.getStarWidth = exports.getOrderStatus = exports.getIconCard = exports.getHourMin = exports.getGoogleMapImage = exports.getDistance = exports.formatUrlVideo = exports.formatSeconds = exports.flatArray = exports.fieldsToSort = exports.convertToRadian = exports.convertHoursToMinutes = exports.checkSiteUrl = exports.capitalize = exports.calendarLanguages = exports.bytesConverter = void 0;
7
7
  var _orderingComponentsExternal = require("ordering-components-external");
8
8
  var _styledComponents = require("styled-components");
9
9
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
@@ -1019,4 +1019,30 @@ var getOrderStatus = function getOrderStatus(s) {
1019
1019
  });
1020
1020
  return objectStatus && objectStatus;
1021
1021
  };
1022
- exports.getOrderStatus = getOrderStatus;
1022
+ exports.getOrderStatus = getOrderStatus;
1023
+ var calendarLanguages = {
1024
+ months: {
1025
+ January: 'MONTH1',
1026
+ February: 'MONTH2',
1027
+ March: 'MONTH3',
1028
+ April: 'MONTH4',
1029
+ May: 'MONTH5',
1030
+ June: 'MONTH6',
1031
+ July: 'MONTH7',
1032
+ August: 'MONTH8',
1033
+ September: 'MONTH9',
1034
+ October: 'MONTH10',
1035
+ November: 'MONTH11',
1036
+ December: 'MONTH12'
1037
+ },
1038
+ week: {
1039
+ Mo: 'DAYMIN1',
1040
+ Tu: 'DAYMIN2',
1041
+ We: 'DAYMIN3',
1042
+ Th: 'DAYMIN4',
1043
+ Fr: 'DAYMIN5',
1044
+ Sa: 'DAYMIN6',
1045
+ Su: 'DAYMIN7'
1046
+ }
1047
+ };
1048
+ exports.calendarLanguages = calendarLanguages;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ordering-ui-external",
3
- "version": "2.1.3",
3
+ "version": "2.2.0",
4
4
  "description": "Ordering UI Components",
5
5
  "main": "./_modules/index.js",
6
6
  "exports": {
@@ -86,7 +86,7 @@
86
86
  "libphonenumber-js": "^1.9.4",
87
87
  "lodash": "^4.17.19",
88
88
  "moment": "^2.29.4",
89
- "ordering-components-external": "2.0.3",
89
+ "ordering-components-external": "2.1.0",
90
90
  "polished": "^3.6.6",
91
91
  "react-bootstrap-icons": "^1.7.2",
92
92
  "react-calendar": "^3.3.1",
@@ -4,7 +4,7 @@ import { useState, useRef, useEffect } from 'react'
4
4
  * Hook for Intersection Observer API (observe changes in the intersection of a target elemen based on viewport)
5
5
  */
6
6
 
7
- export function useIntersectionObserver () {
7
+ export function useIntersectionObserver() {
8
8
  const [isObserved, setIsObserved] = useState(false)
9
9
 
10
10
  const $element = useRef(null)
@@ -20,11 +20,12 @@ export function useIntersectionObserver () {
20
20
  if (!window.IntersectionObserver) loadPollyFill()
21
21
 
22
22
  const observer = new window.IntersectionObserver(entries => {
23
- const { isIntersecting } = entries[0]
24
- if (isIntersecting) {
25
- setIsObserved(true)
26
- observer.disconnect()
27
- }
23
+ entries.forEach(entry => {
24
+ if (entry.isIntersecting) {
25
+ setIsObserved(true)
26
+ observer.disconnect()
27
+ }
28
+ })
28
29
  })
29
30
  if ($element?.current) {
30
31
  observer.observe($element.current)
@@ -1,5 +1,5 @@
1
1
  import React, { useEffect, useRef } from 'react'
2
- import styled from 'styled-components'
2
+ import styled, { useTheme } from 'styled-components'
3
3
  import { useToast, ToastType } from 'ordering-components-external'
4
4
 
5
5
  const ToastBar = styled.div`
@@ -54,6 +54,8 @@ export const Toast = () => {
54
54
  const [toastConfig, { hideToast }] = useToast()
55
55
  const toastRef = useRef()
56
56
 
57
+ const theme = useTheme()
58
+
57
59
  useEffect(() => {
58
60
  if (!toastConfig && !toastRef.current) {
59
61
  return
@@ -78,7 +80,7 @@ export const Toast = () => {
78
80
 
79
81
  switch (type) {
80
82
  case ToastType.Info:
81
- backgroundColor = '#6ba4ff'
83
+ backgroundColor = theme.colors.primary ?? backgroundColor
82
84
  break
83
85
  case ToastType.Error:
84
86
  backgroundColor = '#D83520'
@@ -47,7 +47,7 @@ const AddressDetailsUI = (props) => {
47
47
  <Text>
48
48
  <h1>{addressToShow || orderState?.options?.address?.address}</h1>
49
49
  {orderState?.options?.type === 1 && !isCartPending &&
50
- <span onClick={() => setOpenModal(true)}>{t('CHANGE', 'Change')}</span>}
50
+ <span onClick={() => setOpenModal(true)}>{t('CHANGE_ADDRESS', 'Change address')}</span>}
51
51
  </Text>
52
52
  </Header>
53
53
  {apiKey && (
@@ -47,13 +47,16 @@ export const Text = styled.div`
47
47
 
48
48
  span {
49
49
  font-size: 13px!important;
50
- text-decoration: underline;
51
50
  cursor: pointer;
52
51
  user-select: none;
53
52
  color: ${props => props.theme.colors.primary};
54
53
  margin-left: 10px;
55
54
  font-weight: normal;
56
55
 
56
+ &:hover {
57
+ text-decoration: underline;
58
+ }
59
+
57
60
  ${props => props.theme?.rtl && css`
58
61
  margin-right: 10px;
59
62
  margin-left: initial;
@@ -139,7 +139,6 @@ export const BusinessInfoItem = styled.div`
139
139
  cursor: pointer;
140
140
  font-size: 14px;
141
141
  color: ${props => props.theme?.colors.primary};
142
- text-decoration: underline;
143
142
  &:not(:last-child) {
144
143
  margin-right: 5px;
145
144
  ${props => props.theme?.rtl && css`
@@ -147,6 +146,9 @@ export const BusinessInfoItem = styled.div`
147
146
  margin-right: 0;
148
147
  `}
149
148
  }
149
+ &:hover {
150
+ text-decoration: underline;
151
+ }
150
152
 
151
153
  &.dot {
152
154
  font-size: 12px;
@@ -54,18 +54,19 @@ export const ContentInfo = styled.div`
54
54
 
55
55
  .go-store {
56
56
  user-select: none;
57
- text-decoration: underline;
58
57
  color: ${props => props.theme.colors.primary};
59
58
  margin-right: 5px;
60
59
  ${props => props.theme?.rtl && css`
61
60
  margin-left: 5px;
62
61
  margin-right: 0;
63
62
  `}
63
+ &:hover {
64
+ text-decoration: underline;
65
+ }
64
66
  }
65
67
 
66
68
  .clear-cart {
67
69
  user-select: none;
68
- text-decoration: underline;
69
70
  color: #d81212;
70
71
  margin-left: 5px;
71
72
  ${props => props.theme?.rtl && css`
@@ -75,6 +76,9 @@ export const ContentInfo = styled.div`
75
76
  &:first-letter {
76
77
  text-transform: uppercase;
77
78
  }
79
+ &:hover {
80
+ text-decoration: underline;
81
+ }
78
82
  }
79
83
 
80
84
  ${({ isStore }) => isStore && css`
@@ -85,12 +89,14 @@ export const ContentInfo = styled.div`
85
89
  }
86
90
  .change-store {
87
91
  cursor: pointer;
88
- text-decoration: underline;
89
92
  color: ${props => props.theme.colors.primary};
90
93
  font-size: 12px;
91
94
  &:first-letter {
92
95
  text-transform: uppercase;
93
96
  }
97
+ &:hover {
98
+ text-decoration: underline;
99
+ }
94
100
  }
95
101
  ${props => props.theme?.rtl && css`
96
102
  margin-right: 10px;
@@ -0,0 +1,23 @@
1
+ import React, { useState } from "react"
2
+ import { Title } from "../styles"
3
+ import BisUpArrow from "@meronex/icons/bi/BisUpArrow"
4
+
5
+ export const FilterAccordion = ({ title, children }) => {
6
+ const [open, setOpen] = useState(false)
7
+ const [setRotate, setRotateState] = useState("accordion__icon")
8
+
9
+ const activeAccordion = (value) => {
10
+ setRotateState(value ? 'accordion__icon rotate' : 'accordion__icon')
11
+ setOpen(value)
12
+ }
13
+
14
+ return (
15
+ <>
16
+ <Title onClick={() => activeAccordion(!open)}>
17
+ <h3>{title}</h3>
18
+ <BisUpArrow className={`${setRotate}`} />
19
+ </Title>
20
+ {open && children}
21
+ </>
22
+ )
23
+ }
@@ -1,6 +1,8 @@
1
- import { useLanguage, useUtils } from 'ordering-components-external'
1
+ import { useConfig, useLanguage, useUtils } from 'ordering-components-external'
2
2
  import React from 'react'
3
3
  import { MaxFilterContainer, MaxItem, MaxItemContainer, ProgressBar, ProgressContentWrapper } from '../styles'
4
+ import { capitalize } from '../../../../../../utils'
5
+ import { FilterAccordion } from '../Accordion'
4
6
 
5
7
  export const MaxSectionItem = (props) => {
6
8
  const {
@@ -13,10 +15,18 @@ export const MaxSectionItem = (props) => {
13
15
 
14
16
  const [, t] = useLanguage()
15
17
  const [{ parsePrice }] = useUtils()
18
+ const [{ configs }] = useConfig()
19
+
20
+ const distanceUnit = configs?.distance_unit?.value
21
+
22
+ const units = {
23
+ mi: 1609,
24
+ km: 1000
25
+ }
16
26
 
17
27
  const parseValue = (option) => {
18
28
  return filter === 'max_distance'
19
- ? `${option / 1000} ${t('KM', 'Km')}`
29
+ ? `${(option / units[distanceUnit]).toFixed(0)} ${t(`${distanceUnit?.toUpperCase()}`, capitalize(distanceUnit))}`
20
30
  : filter === 'max_eta'
21
31
  ? `${option} ${t('MIN', 'min')}`
22
32
  : parsePrice(option)
@@ -24,21 +34,22 @@ export const MaxSectionItem = (props) => {
24
34
 
25
35
  return (
26
36
  <MaxFilterContainer>
27
- <h3>{title}</h3>
28
- <ProgressContentWrapper>
29
- <ProgressBar style={{ width: `${((options.indexOf(filters?.[filter]) / 3) * 100) ?? 100}%` }} />
30
- </ProgressContentWrapper>
31
- <MaxItemContainer>
32
- {options.map((option, i) => (
33
- <MaxItem
34
- key={option}
35
- active={filters?.[filter] === option || (option === 'default' && (filters?.[filter] === 'default' || !filters?.[filter]))}
36
- onClick={() => handleChangeFilters(filter, option)}
37
- >
38
- {option === 'default' ? `${parseValue(options[i - 1])}+` : parseValue(option)}
39
- </MaxItem>
40
- ))}
41
- </MaxItemContainer>
37
+ <FilterAccordion title={title}>
38
+ <ProgressContentWrapper>
39
+ <ProgressBar style={{ width: `${((options.indexOf(filters?.[filter]) / 3) * 100) ?? 100}%` }} />
40
+ </ProgressContentWrapper>
41
+ <MaxItemContainer>
42
+ {options.map((option, i) => (
43
+ <MaxItem
44
+ key={option}
45
+ active={filters?.[filter] === option || (option === 'default' && (filters?.[filter] === 'default' || !filters?.[filter]))}
46
+ onClick={() => handleChangeFilters(filter, option)}
47
+ >
48
+ {option === 'default' ? `${parseValue(options[i - 1])}+` : parseValue(option)}
49
+ </MaxItem>
50
+ ))}
51
+ </MaxItemContainer>
52
+ </FilterAccordion>
42
53
  </MaxFilterContainer>
43
54
  )
44
55
  }
@@ -37,7 +37,7 @@ import {
37
37
  import Skeleton from 'react-loading-skeleton'
38
38
  import { Check2, XLg as Close } from 'react-bootstrap-icons'
39
39
  import { SearchBar } from '../SearchBar'
40
- import { useLanguage, useOrder, useUtils, useSession, BusinessSearchList } from 'ordering-components-external'
40
+ import { useLanguage, useOrder, useUtils, useSession, BusinessSearchList, useConfig } from 'ordering-components-external'
41
41
  import { BusinessController } from '../BusinessController'
42
42
  import { AutoScroll } from '../AutoScroll'
43
43
  import { BusinessTypeFilter } from '../BusinessTypeFilter'
@@ -54,6 +54,7 @@ import BisUpArrow from '@meronex/icons/bi/BisUpArrow'
54
54
  import { Modal } from '../Modal'
55
55
  import { ProductForm } from '../ProductForm'
56
56
  import { MaxSectionItem } from './MaxSectionItem'
57
+ import { FilterAccordion } from './Accordion'
57
58
 
58
59
  const PIXELS_TO_SCROLL = 300
59
60
 
@@ -81,9 +82,11 @@ export const BusinessListingSearchUI = (props) => {
81
82
  const [{ parsePrice, optimizeImage, parseDistance }] = useUtils()
82
83
  const [{ auth }] = useSession()
83
84
  const { width } = useWindowSize()
85
+ const [{ configs }] = useConfig()
84
86
  const maxDeliveryFeeOptions = [15, 25, 35, 'default']
85
87
  // const maxProductPriceOptions = [5, 10, 15, 'default']
86
- const maxDistanceOptions = [1000, 2000, 5000, 'default']
88
+ const currency = configs.format_number_currency?.value
89
+ const maxDistanceOptions = configs?.distance_unit?.value === 'km' ? [1000, 2000, 5000, 'default'] : [1609, 3218, 8046, 'default']
87
90
  const maxTimeOptions = [5, 15, 30, 'default']
88
91
  const sortItems = [
89
92
  { text: t('PICKED_FOR_YOU', 'Picked for you (default)'), value: 'distance' },
@@ -92,11 +95,11 @@ export const BusinessListingSearchUI = (props) => {
92
95
  ]
93
96
 
94
97
  const priceList = [
95
- { level: '1', content: '$' },
96
- { level: '2', content: '$$' },
97
- { level: '3', content: '$$$' },
98
- { level: '4', content: '$$$$' },
99
- { level: '5', content: '$$$$$' }
98
+ { level: '1', content: `${currency}` },
99
+ { level: '2', content: `${Array(2).fill(currency).join('')}` },
100
+ { level: '3', content: `${Array(3).fill(currency).join('')}` },
101
+ { level: '4', content: `${Array(4).fill(currency).join('')}` },
102
+ { level: '5', content: `${Array(5).fill(currency).join('')}` }
100
103
  ]
101
104
 
102
105
  const noResults = (!businessesSearchList.loading && !businessesSearchList.lengthError && businessesSearchList?.businesses?.length === 0)
@@ -157,58 +160,58 @@ export const BusinessListingSearchUI = (props) => {
157
160
  <FiltersContainer>
158
161
  <Filters>
159
162
  <SortContainer>
160
- <h3>{t('SORT', 'Sort')}</h3>
161
- {sortItems?.filter(item => !(orderState?.options?.type === 1 && item?.value === 'pickup_time') && !(orderState?.options?.type === 2 && item?.value === 'delivery_time'))?.map(item => (
162
- <SortItem
163
- key={item?.value}
164
- onClick={() => handleChangeFilters('orderBy', item?.value)}
165
- active={filters?.orderBy?.includes(item?.value)}
166
- >
167
- {item?.text} {(filters?.orderBy?.includes(item?.value)) && <>{filters?.orderBy?.includes('-') ? <BisUpArrow /> : <BisDownArrow />}</>}
168
- </SortItem>
169
- ))}
170
- {/* <SortItem onClick={() => handleChangeFilters('orderBy', 'default')}>{t('MOST_POPULAR', 'Most popular')}</SortItem>
171
- <SortItem onClick={() => handleChangeFilters('orderBy', 'default')}>{t('RATING', 'Rating')}</SortItem> */}
172
-
163
+ <FilterAccordion title={t('SORT', 'Sort')}>
164
+ {sortItems?.filter(item => !(orderState?.options?.type === 1 && item?.value === 'pickup_time') && !(orderState?.options?.type === 2 && item?.value === 'delivery_time'))?.map(item => (
165
+ <SortItem
166
+ key={item?.value}
167
+ onClick={() => handleChangeFilters('orderBy', item?.value)}
168
+ active={filters?.orderBy?.includes(item?.value)}
169
+ >
170
+ {item?.text} {(filters?.orderBy?.includes(item?.value)) && <>{filters?.orderBy?.includes('-') ? <BisUpArrow /> : <BisDownArrow />}</>}
171
+ </SortItem>
172
+ ))}
173
+ </FilterAccordion>
173
174
  </SortContainer>
174
175
  <BrandContainer>
175
- <h3>{t('BRANDS', 'Brands')}</h3>
176
- <BrandListWrapper>
177
- {brandList?.loading && (
178
- <>
179
- {[...Array(5).keys()].map(index => (
180
- <BrandItem key={index}>
181
- <Skeleton width={120} height={15} />
182
- <Skeleton width={16} height={16} />
183
- </BrandItem>
184
- ))}
185
- </>
186
- )}
187
- {!brandList?.loading && brandList?.brands.map((brand, i) => brand?.enabled && (
188
- <BrandItem key={i} onClick={() => handleChangeBrandFilter(brand?.id)}>
189
- <span>{brand?.name}</span>
190
- {filters?.franchise_ids?.includes(brand?.id) && <Check2 />}
191
- </BrandItem>
192
- ))}
193
- {!brandList?.loading && ((brandList?.brands?.filter(brand => brand?.enabled))?.length === 0) && (
194
- <NoResult>{t('NO_RESULTS_FOUND', 'Sorry, no results found')}</NoResult>
195
- )}
196
- </BrandListWrapper>
176
+ <FilterAccordion title={t('BRANDS', 'Brands')}>
177
+ <BrandListWrapper>
178
+ {brandList?.loading && (
179
+ <>
180
+ {[...Array(5).keys()].map(index => (
181
+ <BrandItem key={index}>
182
+ <Skeleton width={120} height={15} />
183
+ <Skeleton width={16} height={16} />
184
+ </BrandItem>
185
+ ))}
186
+ </>
187
+ )}
188
+ {!brandList?.loading && brandList?.brands.map((brand, i) => brand?.enabled && (
189
+ <BrandItem key={i} onClick={() => handleChangeBrandFilter(brand?.id)}>
190
+ <span>{brand?.name}</span>
191
+ {filters?.franchise_ids?.includes(brand?.id) && <Check2 />}
192
+ </BrandItem>
193
+ ))}
194
+ {!brandList?.loading && ((brandList?.brands?.filter(brand => brand?.enabled))?.length === 0) && (
195
+ <NoResult>{t('NO_RESULTS_FOUND', 'Sorry, no results found')}</NoResult>
196
+ )}
197
+ </BrandListWrapper>
198
+ </FilterAccordion>
197
199
  </BrandContainer>
198
200
  <PriceFilterWrapper>
199
- <h3>{t('PRICE_RANGE', 'Price range')}</h3>
200
- <PriceFilterListWrapper>
201
- {priceList.map((price, i) => (
202
- <Button
203
- key={i}
204
- color={(filters?.price_level === price?.level) ? 'primary' : 'lightGray'}
205
- onClick={() => handleChangePriceRange(price?.level)}
206
- >
207
- {price.content}
208
- {(filters?.price_level === price?.level) && <Close />}
209
- </Button>
210
- ))}
211
- </PriceFilterListWrapper>
201
+ <FilterAccordion title={t('PRICE_RANGE', 'Price range')}>
202
+ <PriceFilterListWrapper>
203
+ {priceList.map((price, i) => (
204
+ <Button
205
+ key={i}
206
+ color={(filters?.price_level === price?.level) ? 'primary' : 'lightGray'}
207
+ onClick={() => handleChangePriceRange(price?.level)}
208
+ >
209
+ {price.content}
210
+ {(filters?.price_level === price?.level) && <Close />}
211
+ </Button>
212
+ ))}
213
+ </PriceFilterListWrapper>
214
+ </FilterAccordion>
212
215
  </PriceFilterWrapper>
213
216
  {orderState?.options?.type === 1 && (
214
217
  <MaxSectionItem
@@ -235,18 +238,14 @@ export const BusinessListingSearchUI = (props) => {
235
238
  filters={filters}
236
239
  handleChangeFilters={handleChangeFilters}
237
240
  />
238
- {/* <MaxSectionItem
239
- title={t('MAX_PRODUCT_PRICE', 'Max product price')}
240
- options={maxProductPriceOptions}
241
- filter='max_product_price'
242
- /> */}
243
241
  <TagsContainer>
244
- <h3>{t('BUSINESS_CATEGORIES', 'Business categories')}</h3>
245
- <BusinessTypeFilter
246
- isSearchMode
247
- filters={filters}
248
- handleChangeFilters={handleChangeFilters}
249
- />
242
+ <FilterAccordion title={t('BUSINESS_CATEGORIES', 'Business categories')}>
243
+ <BusinessTypeFilter
244
+ isSearchMode
245
+ filters={filters}
246
+ handleChangeFilters={handleChangeFilters}
247
+ />
248
+ </FilterAccordion>
250
249
  </TagsContainer>
251
250
  </Filters>
252
251
  <FiltersResultContainer>