@popmenu/ordering-ui 0.127.0 → 0.127.1

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 (244) hide show
  1. package/build/cjs/components/Button/index.d.ts +1 -1
  2. package/build/cjs/components/Checkbox/Checkbox.d.ts +0 -1
  3. package/build/cjs/components/DishCheckoutCard/DishCheckoutCard.d.ts +0 -1
  4. package/build/cjs/components/DishCheckoutCard/DishCheckoutCardProps.d.ts +2 -2
  5. package/build/cjs/components/DishCheckoutCard/index.d.ts +2 -2
  6. package/build/cjs/components/DishDetailsReview/index.d.ts +2 -2
  7. package/build/cjs/components/DishModifierCard/DishModifierCard.d.ts +0 -1
  8. package/build/cjs/components/DishModifierCard/DishModifierCardProps.d.ts +7 -7
  9. package/build/cjs/components/DishModifierCard/ModifierControls.d.ts +0 -1
  10. package/build/cjs/components/DishModifierCard/ModifierForm.d.ts +0 -1
  11. package/build/cjs/components/DishModifierCard/index.d.ts +2 -2
  12. package/build/cjs/components/ItemTag/index.d.ts +2 -2
  13. package/build/cjs/components/ItemTagGroup/index.d.ts +1 -1
  14. package/build/cjs/components/LocationCard/LocationCard.d.ts +0 -1
  15. package/build/cjs/components/LocationCard/index.d.ts +2 -2
  16. package/build/cjs/components/MenuBanner/MenuBanner.d.ts +0 -1
  17. package/build/cjs/components/MenuBanner/MenuBannerIcons.d.ts +0 -1
  18. package/build/cjs/components/MenuBanner/MenuBannerProps.d.ts +1 -1
  19. package/build/cjs/components/MenuBanner/index.d.ts +1 -1
  20. package/build/cjs/components/MenuDropdown/MenuDropdown.d.ts +0 -1
  21. package/build/cjs/components/MenuDropdown/MenuDropdownProps.d.ts +1 -1
  22. package/build/cjs/components/MenuDropdown/index.d.ts +2 -2
  23. package/build/cjs/components/MenuFilter/MenuFilter.d.ts +0 -1
  24. package/build/cjs/components/MenuFilter/MenuFilterProps.d.ts +3 -4
  25. package/build/cjs/components/MenuFilter/index.d.ts +2 -2
  26. package/build/cjs/components/MenuItem/MenuItemImg.d.ts +1 -2
  27. package/build/cjs/components/MenuItem/MenuItemPrice.d.ts +1 -2
  28. package/build/cjs/components/MenuItem/MenuItemProps.d.ts +1 -1
  29. package/build/cjs/components/MenuItem/MenuItemReactions.d.ts +1 -2
  30. package/build/cjs/components/MenuItem/MenuItemTags.d.ts +1 -2
  31. package/build/cjs/components/MenuItem/index.d.ts +1 -1
  32. package/build/cjs/components/MenuItemGroup/MenuItemGroup.d.ts +1 -1
  33. package/build/cjs/components/MenuSection/MenuSectionProps.d.ts +0 -1
  34. package/build/cjs/components/MenuSection/index.d.ts +1 -1
  35. package/build/cjs/components/MenuTab/MenuTab.d.ts +0 -1
  36. package/build/cjs/components/MenuTab/MenuTabProps.d.ts +1 -1
  37. package/build/cjs/components/MenuTab/index.d.ts +2 -2
  38. package/build/cjs/components/MenuTabGroup/MenuTabGroup.d.ts +0 -1
  39. package/build/cjs/components/MenuTabGroup/MenuTabGroupProps.d.ts +1 -4
  40. package/build/cjs/components/MenuTabGroup/index.d.ts +2 -2
  41. package/build/cjs/components/OrderingAppContext/OrderingAppContext.d.ts +3 -3
  42. package/build/cjs/components/QuantityPicker/QuantityPicker.d.ts +0 -1
  43. package/build/cjs/components/QuantityPicker/QuantityPickerProps.d.ts +1 -1
  44. package/build/cjs/components/QuantityPicker/index.d.ts +2 -2
  45. package/build/cjs/components/Radio/Radio.d.ts +0 -1
  46. package/build/cjs/components/ReactionCounter/ReactionCounter.d.ts +0 -1
  47. package/build/cjs/components/ReactionCounter/index.d.ts +2 -2
  48. package/build/cjs/components/ReactionCounterGroup/ReactionCounterGroup.d.ts +1 -1
  49. package/build/cjs/components/ReactionCounterGroup/index.d.ts +1 -1
  50. package/build/cjs/components/SelectableChip/SelectableChip.d.ts +0 -1
  51. package/build/cjs/components/SelectableChip/SelectableChipProps.d.ts +1 -1
  52. package/build/cjs/components/SelectableChip/index.d.ts +2 -2
  53. package/build/cjs/components/SelectableChipGroup/SelectableChipGroup.d.ts +0 -1
  54. package/build/cjs/components/SelectableChipGroup/SelectableChipGroupProps.d.ts +1 -4
  55. package/build/cjs/components/SelectableChipGroup/index.d.ts +2 -2
  56. package/build/cjs/components/SelectedMenuFiltersList/SelectedMenuFiltersList.d.ts +0 -1
  57. package/build/cjs/components/SelectedMenuFiltersList/index.d.ts +1 -1
  58. package/build/cjs/components/StatusTag/StatusTag.d.ts +0 -1
  59. package/build/cjs/components/StatusTag/index.d.ts +2 -2
  60. package/build/cjs/components/Switch/Switch.d.ts +0 -1
  61. package/build/cjs/components/index.d.ts +41 -22
  62. package/build/cjs/index.js +526 -674
  63. package/build/cjs/index.js.map +1 -1
  64. package/build/esm/components/Button/Button.js +4 -5
  65. package/build/esm/components/Button/Button.js.map +1 -1
  66. package/build/esm/components/Button/index.d.ts +1 -1
  67. package/build/esm/components/Checkbox/Checkbox.d.ts +0 -1
  68. package/build/esm/components/Checkbox/Checkbox.js +7 -10
  69. package/build/esm/components/Checkbox/Checkbox.js.map +1 -1
  70. package/build/esm/components/DialogSection/DialogSection.js +3 -4
  71. package/build/esm/components/DialogSection/DialogSection.js.map +1 -1
  72. package/build/esm/components/DialogTitle/DialogTitle.js +5 -5
  73. package/build/esm/components/DialogTitle/DialogTitle.js.map +1 -1
  74. package/build/esm/components/DishCheckoutCard/DishCheckoutCard.d.ts +0 -1
  75. package/build/esm/components/DishCheckoutCard/DishCheckoutCard.js +18 -28
  76. package/build/esm/components/DishCheckoutCard/DishCheckoutCard.js.map +1 -1
  77. package/build/esm/components/DishCheckoutCard/DishCheckoutCard.styles.js +3 -6
  78. package/build/esm/components/DishCheckoutCard/DishCheckoutCard.styles.js.map +1 -1
  79. package/build/esm/components/DishCheckoutCard/DishCheckoutCardProps.d.ts +2 -2
  80. package/build/esm/components/DishCheckoutCard/index.d.ts +2 -2
  81. package/build/esm/components/DishDetailsReview/DishDetailsReview.js +2 -2
  82. package/build/esm/components/DishDetailsReview/DishDetailsReview.js.map +1 -1
  83. package/build/esm/components/DishDetailsReview/index.d.ts +2 -2
  84. package/build/esm/components/DishModifierCard/DishModifierCard.d.ts +0 -1
  85. package/build/esm/components/DishModifierCard/DishModifierCard.js +15 -17
  86. package/build/esm/components/DishModifierCard/DishModifierCard.js.map +1 -1
  87. package/build/esm/components/DishModifierCard/DishModifierCard.styles.js +11 -11
  88. package/build/esm/components/DishModifierCard/DishModifierCard.styles.js.map +1 -1
  89. package/build/esm/components/DishModifierCard/DishModifierCardProps.d.ts +7 -7
  90. package/build/esm/components/DishModifierCard/ModifierControls.d.ts +0 -1
  91. package/build/esm/components/DishModifierCard/ModifierControls.js +44 -51
  92. package/build/esm/components/DishModifierCard/ModifierControls.js.map +1 -1
  93. package/build/esm/components/DishModifierCard/ModifierForm.d.ts +0 -1
  94. package/build/esm/components/DishModifierCard/index.d.ts +2 -2
  95. package/build/esm/components/ItemTag/ItemTag.js +3 -3
  96. package/build/esm/components/ItemTag/ItemTag.js.map +1 -1
  97. package/build/esm/components/ItemTag/index.d.ts +2 -2
  98. package/build/esm/components/ItemTag/itemTag.styles.js +2 -2
  99. package/build/esm/components/ItemTag/itemTag.styles.js.map +1 -1
  100. package/build/esm/components/ItemTagGroup/ItemTagGroup.js +2 -2
  101. package/build/esm/components/ItemTagGroup/ItemTagGroup.js.map +1 -1
  102. package/build/esm/components/ItemTagGroup/index.d.ts +1 -1
  103. package/build/esm/components/LocationCard/LocationCard.d.ts +0 -1
  104. package/build/esm/components/LocationCard/LocationCard.js +7 -8
  105. package/build/esm/components/LocationCard/LocationCard.js.map +1 -1
  106. package/build/esm/components/LocationCard/LocationCard.styles.js +6 -12
  107. package/build/esm/components/LocationCard/LocationCard.styles.js.map +1 -1
  108. package/build/esm/components/LocationCard/index.d.ts +2 -2
  109. package/build/esm/components/MenuBanner/MenuBanner.d.ts +0 -1
  110. package/build/esm/components/MenuBanner/MenuBanner.js +9 -10
  111. package/build/esm/components/MenuBanner/MenuBanner.js.map +1 -1
  112. package/build/esm/components/MenuBanner/MenuBanner.styles.js +12 -16
  113. package/build/esm/components/MenuBanner/MenuBanner.styles.js.map +1 -1
  114. package/build/esm/components/MenuBanner/MenuBannerIcons.d.ts +0 -1
  115. package/build/esm/components/MenuBanner/MenuBannerIcons.js +2 -2
  116. package/build/esm/components/MenuBanner/MenuBannerIcons.js.map +1 -1
  117. package/build/esm/components/MenuBanner/MenuBannerProps.d.ts +1 -1
  118. package/build/esm/components/MenuBanner/index.d.ts +1 -1
  119. package/build/esm/components/MenuDropdown/MenuDropdown.d.ts +0 -1
  120. package/build/esm/components/MenuDropdown/MenuDropdown.js +12 -15
  121. package/build/esm/components/MenuDropdown/MenuDropdown.js.map +1 -1
  122. package/build/esm/components/MenuDropdown/MenuDropdown.styles.js +29 -33
  123. package/build/esm/components/MenuDropdown/MenuDropdown.styles.js.map +1 -1
  124. package/build/esm/components/MenuDropdown/MenuDropdownProps.d.ts +1 -1
  125. package/build/esm/components/MenuDropdown/index.d.ts +2 -2
  126. package/build/esm/components/MenuFilter/MenuFilter.d.ts +0 -1
  127. package/build/esm/components/MenuFilter/MenuFilter.js +18 -18
  128. package/build/esm/components/MenuFilter/MenuFilter.js.map +1 -1
  129. package/build/esm/components/MenuFilter/MenuFilter.styles.js +2 -2
  130. package/build/esm/components/MenuFilter/MenuFilter.styles.js.map +1 -1
  131. package/build/esm/components/MenuFilter/MenuFilterProps.d.ts +3 -4
  132. package/build/esm/components/MenuFilter/index.d.ts +2 -2
  133. package/build/esm/components/MenuItem/MenuItem.js +10 -11
  134. package/build/esm/components/MenuItem/MenuItem.js.map +1 -1
  135. package/build/esm/components/MenuItem/MenuItem.styles.js +56 -60
  136. package/build/esm/components/MenuItem/MenuItem.styles.js.map +1 -1
  137. package/build/esm/components/MenuItem/MenuItemImg.d.ts +1 -2
  138. package/build/esm/components/MenuItem/MenuItemImg.js +6 -6
  139. package/build/esm/components/MenuItem/MenuItemImg.js.map +1 -1
  140. package/build/esm/components/MenuItem/MenuItemInfo.js +1 -1
  141. package/build/esm/components/MenuItem/MenuItemInfo.js.map +1 -1
  142. package/build/esm/components/MenuItem/MenuItemPrice.d.ts +1 -2
  143. package/build/esm/components/MenuItem/MenuItemPrice.js +12 -15
  144. package/build/esm/components/MenuItem/MenuItemPrice.js.map +1 -1
  145. package/build/esm/components/MenuItem/MenuItemProps.d.ts +1 -1
  146. package/build/esm/components/MenuItem/MenuItemReactions.d.ts +1 -2
  147. package/build/esm/components/MenuItem/MenuItemReactions.js +7 -7
  148. package/build/esm/components/MenuItem/MenuItemReactions.js.map +1 -1
  149. package/build/esm/components/MenuItem/MenuItemTags.d.ts +1 -2
  150. package/build/esm/components/MenuItem/MenuItemTags.js +3 -3
  151. package/build/esm/components/MenuItem/MenuItemTags.js.map +1 -1
  152. package/build/esm/components/MenuItem/index.d.ts +1 -1
  153. package/build/esm/components/MenuItemGroup/MenuItemGroup.d.ts +1 -1
  154. package/build/esm/components/MenuItemGroup/MenuItemGroup.js +5 -6
  155. package/build/esm/components/MenuItemGroup/MenuItemGroup.js.map +1 -1
  156. package/build/esm/components/MenuItemGroup/MenuItemGroupStyles.js +12 -16
  157. package/build/esm/components/MenuItemGroup/MenuItemGroupStyles.js.map +1 -1
  158. package/build/esm/components/MenuSection/MenuSection.js +4 -5
  159. package/build/esm/components/MenuSection/MenuSection.js.map +1 -1
  160. package/build/esm/components/MenuSection/MenuSectionProps.d.ts +0 -1
  161. package/build/esm/components/MenuSection/MenuSectionStyles.js +2 -2
  162. package/build/esm/components/MenuSection/MenuSectionStyles.js.map +1 -1
  163. package/build/esm/components/MenuSection/index.d.ts +1 -1
  164. package/build/esm/components/MenuSectionGroup/MenuSectionGroup.js +3 -4
  165. package/build/esm/components/MenuSectionGroup/MenuSectionGroup.js.map +1 -1
  166. package/build/esm/components/MenuTab/MenuTab.d.ts +0 -1
  167. package/build/esm/components/MenuTab/MenuTab.js +5 -6
  168. package/build/esm/components/MenuTab/MenuTab.js.map +1 -1
  169. package/build/esm/components/MenuTab/MenuTab.styles.js +13 -16
  170. package/build/esm/components/MenuTab/MenuTab.styles.js.map +1 -1
  171. package/build/esm/components/MenuTab/MenuTabProps.d.ts +1 -1
  172. package/build/esm/components/MenuTab/index.d.ts +2 -2
  173. package/build/esm/components/MenuTabGroup/MenuTabGroup.d.ts +0 -1
  174. package/build/esm/components/MenuTabGroup/MenuTabGroup.js +4 -5
  175. package/build/esm/components/MenuTabGroup/MenuTabGroup.js.map +1 -1
  176. package/build/esm/components/MenuTabGroup/MenuTabGroupProps.d.ts +1 -4
  177. package/build/esm/components/MenuTabGroup/index.d.ts +2 -2
  178. package/build/esm/components/OrderingAppContext/OrderingAppContext.d.ts +3 -3
  179. package/build/esm/components/OrderingAppContext/OrderingAppContext.js +6 -6
  180. package/build/esm/components/OrderingAppContext/OrderingAppContext.js.map +1 -1
  181. package/build/esm/components/PageSection/PageSection.js +1 -1
  182. package/build/esm/components/PageSection/PageSection.js.map +1 -1
  183. package/build/esm/components/QuantityPicker/QuantityPicker.d.ts +0 -1
  184. package/build/esm/components/QuantityPicker/QuantityPicker.js +16 -17
  185. package/build/esm/components/QuantityPicker/QuantityPicker.js.map +1 -1
  186. package/build/esm/components/QuantityPicker/QuantityPicker.styles.js +17 -17
  187. package/build/esm/components/QuantityPicker/QuantityPicker.styles.js.map +1 -1
  188. package/build/esm/components/QuantityPicker/QuantityPickerProps.d.ts +1 -1
  189. package/build/esm/components/QuantityPicker/index.d.ts +2 -2
  190. package/build/esm/components/Radio/Radio.d.ts +0 -1
  191. package/build/esm/components/Radio/Radio.js +7 -10
  192. package/build/esm/components/Radio/Radio.js.map +1 -1
  193. package/build/esm/components/ReactionCounter/ReactionCounter.d.ts +0 -1
  194. package/build/esm/components/ReactionCounter/ReactionCounter.js +2 -2
  195. package/build/esm/components/ReactionCounter/ReactionCounter.js.map +1 -1
  196. package/build/esm/components/ReactionCounter/index.d.ts +2 -2
  197. package/build/esm/components/ReactionCounterGroup/ReactionCounterGroup.d.ts +1 -1
  198. package/build/esm/components/ReactionCounterGroup/ReactionCounterGroup.js +2 -2
  199. package/build/esm/components/ReactionCounterGroup/ReactionCounterGroup.js.map +1 -1
  200. package/build/esm/components/ReactionCounterGroup/index.d.ts +1 -1
  201. package/build/esm/components/SelectableChip/SelectableChip.d.ts +0 -1
  202. package/build/esm/components/SelectableChip/SelectableChip.js +4 -5
  203. package/build/esm/components/SelectableChip/SelectableChip.js.map +1 -1
  204. package/build/esm/components/SelectableChip/SelectableChip.styles.js +2 -2
  205. package/build/esm/components/SelectableChip/SelectableChip.styles.js.map +1 -1
  206. package/build/esm/components/SelectableChip/SelectableChipProps.d.ts +1 -1
  207. package/build/esm/components/SelectableChip/index.d.ts +2 -2
  208. package/build/esm/components/SelectableChipGroup/SelectableChipGroup.d.ts +0 -1
  209. package/build/esm/components/SelectableChipGroup/SelectableChipGroup.js +5 -6
  210. package/build/esm/components/SelectableChipGroup/SelectableChipGroup.js.map +1 -1
  211. package/build/esm/components/SelectableChipGroup/SelectableChipGroup.styles.js +12 -16
  212. package/build/esm/components/SelectableChipGroup/SelectableChipGroup.styles.js.map +1 -1
  213. package/build/esm/components/SelectableChipGroup/SelectableChipGroupProps.d.ts +1 -4
  214. package/build/esm/components/SelectableChipGroup/index.d.ts +2 -2
  215. package/build/esm/components/SelectedMenuFiltersList/SelectedMenuFiltersList.d.ts +0 -1
  216. package/build/esm/components/SelectedMenuFiltersList/SelectedMenuFiltersList.js +20 -23
  217. package/build/esm/components/SelectedMenuFiltersList/SelectedMenuFiltersList.js.map +1 -1
  218. package/build/esm/components/SelectedMenuFiltersList/index.d.ts +1 -1
  219. package/build/esm/components/StatusTag/StatusTag.d.ts +0 -1
  220. package/build/esm/components/StatusTag/StatusTag.js +3 -4
  221. package/build/esm/components/StatusTag/StatusTag.js.map +1 -1
  222. package/build/esm/components/StatusTag/StatusTag.styles.js +3 -3
  223. package/build/esm/components/StatusTag/StatusTag.styles.js.map +1 -1
  224. package/build/esm/components/StatusTag/index.d.ts +2 -2
  225. package/build/esm/components/Switch/Switch.d.ts +0 -1
  226. package/build/esm/components/Switch/Switch.js +14 -17
  227. package/build/esm/components/Switch/Switch.js.map +1 -1
  228. package/build/esm/components/index.d.ts +41 -22
  229. package/build/esm/index.js +3 -3
  230. package/build/esm/theme/overrides.js +1 -1
  231. package/build/esm/theme/overrides.js.map +1 -1
  232. package/build/esm/theme/palette.js +1 -1
  233. package/build/esm/theme/palette.js.map +1 -1
  234. package/build/esm/theme/props.js +1 -1
  235. package/build/esm/theme/props.js.map +1 -1
  236. package/build/esm/theme/theme.js +5 -5
  237. package/build/esm/theme/theme.js.map +1 -1
  238. package/build/esm/theme/typography.js +2 -2
  239. package/build/esm/theme/typography.js.map +1 -1
  240. package/package.json +4 -4
  241. package/build/esm/_virtual/index.js +0 -4
  242. package/build/esm/_virtual/index.js.map +0 -1
  243. package/build/esm/node_modules/classnames/index.js +0 -81
  244. package/build/esm/node_modules/classnames/index.js.map +0 -1
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  var core = require('@material-ui/core');
4
- var tslib = require('tslib');
5
4
  var React = require('react');
6
- var webIcons = require('@popmenu/web-icons');
7
- var commonUi = require('@popmenu/common-ui');
8
5
  var lab = require('@material-ui/lab');
6
+ var classNames = require('classnames');
7
+ var commonUi = require('@popmenu/common-ui');
8
+ var webIcons = require('@popmenu/web-icons');
9
9
 
10
10
  function _interopNamespaceDefault(e) {
11
11
  var n = Object.create(null);
@@ -26,9 +26,9 @@ function _interopNamespaceDefault(e) {
26
26
 
27
27
  var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
28
28
 
29
- var Button = React.forwardRef(function (props, ref) {
30
- var _a = props.variation, variation = _a === void 0 ? 'primary' : _a, muiProps = tslib.__rest(props, ["variation"]);
31
- var variationProps = {};
29
+ const Button = React.forwardRef((props, ref) => {
30
+ const { variation = 'primary', ...muiProps } = props;
31
+ const variationProps = {};
32
32
  switch (variation) {
33
33
  case 'primary':
34
34
  variationProps.variant = 'contained';
@@ -39,137 +39,173 @@ var Button = React.forwardRef(function (props, ref) {
39
39
  variationProps.color = 'primary';
40
40
  break;
41
41
  }
42
- return React.createElement(core.Button, tslib.__assign({}, variationProps, muiProps, { ref: ref }));
42
+ return React.createElement(core.Button, { ...variationProps, ...muiProps, ref: ref });
43
43
  });
44
44
  Button.displayName = 'Button';
45
45
 
46
- var useMenuItemStyles = core.makeStyles(function (theme) {
47
- var _a, _b;
48
- return ({
49
- cardActionArea: (_a = {
50
- display: 'flex',
51
- gridGap: 16,
52
- height: '100%'
53
- },
54
- _a[theme.breakpoints.up('lg')] = {
55
- border: '1px solid #E0E0E0',
56
- borderRadius: theme.spacing(2),
57
- padding: theme.spacing(2),
58
- },
59
- _a),
60
- card: (_b = {},
61
- _b[theme.breakpoints.down('md')] = {
62
- '&:after': {
63
- content: '""',
64
- position: 'absolute',
65
- backgroundColor: '#E0E0E0',
66
- width: '100%',
67
- height: 1,
68
- bottom: -16,
69
- left: 0,
70
- },
71
- },
72
- _b.height = 185,
73
- _b.position = 'relative',
74
- _b.overflow = 'visible',
75
- _b),
76
- cardTitle: {
77
- flexGrow: 1,
78
- fontWeight: 500,
79
- fontSize: 18,
80
- lineHeight: '27px',
81
- color: theme.palette.grey[900],
82
- '-webkit-line-clamp': 2,
83
- display: '-webkit-box',
84
- '-webkit-box-orient': 'vertical',
85
- textOverflow: 'ellipsis',
86
- overflow: 'hidden',
87
- },
88
- cardDescription: {
89
- fontWeight: 400,
90
- fontSize: 14,
91
- lineHeight: '20px',
92
- margin: theme.spacing(0.5, 0, 1, 0),
93
- color: theme.palette.grey[800],
94
- '-webkit-line-clamp': 2,
95
- display: '-webkit-box',
96
- '-webkit-box-orient': 'vertical',
97
- textOverflow: 'ellipsis',
98
- overflow: 'hidden',
46
+ const useStatusTagStyles = core.makeStyles((theme) => ({
47
+ root: {
48
+ borderRadius: '5px',
49
+ display: 'flex',
50
+ padding: theme.spacing(1),
51
+ alignItems: 'center',
52
+ justifyContent: 'center',
53
+ width: 'fit-content',
54
+ },
55
+ filled: {
56
+ backgroundColor: theme.palette.grey[100],
57
+ color: theme.palette.grey[900],
58
+ },
59
+ outlined: {
60
+ border: `1px solid var(--surfaces-card-stroke, ${theme.palette.grey[900]})`,
61
+ },
62
+ small: {
63
+ padding: theme.spacing(0.25, 0.75),
64
+ },
65
+ default: {
66
+ color: theme.palette.grey[900],
67
+ },
68
+ warning: {
69
+ borderColor: theme.palette.warning.dark,
70
+ color: theme.palette.warning.dark,
71
+ },
72
+ error: {
73
+ borderColor: theme.palette.error.main,
74
+ color: theme.palette.error.main,
75
+ },
76
+ highlight: {
77
+ backgroundColor: theme.palette.warning.light,
78
+ color: theme.palette.grey[900],
79
+ },
80
+ }));
81
+
82
+ const StatusTag = ({ color = 'default', label, size = 'md', variant }) => {
83
+ const classes = useStatusTagStyles();
84
+ return (React.createElement(commonUi.Box, { className: classNames([classes.root, classes[color], classes[variant], size === 'sm' ? classes.small : '']) },
85
+ React.createElement(commonUi.Typography, { variant: "caption" }, label)));
86
+ };
87
+ StatusTag.displayName = 'StatusTag';
88
+
89
+ const useMenuItemStyles = core.makeStyles((theme) => ({
90
+ cardActionArea: {
91
+ display: 'flex',
92
+ gridGap: 16,
93
+ height: '100%',
94
+ [theme.breakpoints.up('lg')]: {
95
+ border: '1px solid #E0E0E0',
96
+ borderRadius: theme.spacing(2),
97
+ padding: theme.spacing(2),
99
98
  },
100
- outOfStockTag: {
101
- minWidth: '90px',
102
- marginLeft: theme.spacing(1),
103
- display: 'inline-block',
104
- verticalAlign: 'bottom',
99
+ },
100
+ card: {
101
+ [theme.breakpoints.down('md')]: {
102
+ '&:after': {
103
+ content: '""',
104
+ position: 'absolute',
105
+ backgroundColor: '#E0E0E0',
106
+ width: '100%',
107
+ height: 1,
108
+ bottom: -16,
109
+ left: 0,
110
+ },
105
111
  },
106
- });
107
- });
112
+ height: 185,
113
+ position: 'relative',
114
+ overflow: 'visible',
115
+ },
116
+ cardTitle: {
117
+ flexGrow: 1,
118
+ fontWeight: 500,
119
+ fontSize: 18,
120
+ lineHeight: '27px',
121
+ color: theme.palette.grey[900],
122
+ '-webkit-line-clamp': 2,
123
+ display: '-webkit-box',
124
+ '-webkit-box-orient': 'vertical',
125
+ textOverflow: 'ellipsis',
126
+ overflow: 'hidden',
127
+ },
128
+ cardDescription: {
129
+ fontWeight: 400,
130
+ fontSize: 14,
131
+ lineHeight: '20px',
132
+ margin: theme.spacing(0.5, 0, 1, 0),
133
+ color: theme.palette.grey[800],
134
+ '-webkit-line-clamp': 2,
135
+ display: '-webkit-box',
136
+ '-webkit-box-orient': 'vertical',
137
+ textOverflow: 'ellipsis',
138
+ overflow: 'hidden',
139
+ },
140
+ outOfStockTag: {
141
+ minWidth: '90px',
142
+ marginLeft: theme.spacing(1),
143
+ display: 'inline-block',
144
+ verticalAlign: 'bottom',
145
+ },
146
+ }));
108
147
 
109
- var useStyles$6 = core.makeStyles(function () { return ({
148
+ const useStyles$6 = core.makeStyles(() => ({
110
149
  img: {
111
150
  objectFit: 'cover',
112
151
  width: '100%',
113
152
  height: '100%',
114
153
  },
115
- }); });
116
- var MenuItemImg = function (props) {
117
- var _a = props.image, image = _a === void 0 ? {} : _a;
118
- var src = image.src;
119
- var classes = useStyles$6();
154
+ }));
155
+ const MenuItemImg = (props) => {
156
+ const { image = {} } = props;
157
+ const { src } = image;
158
+ const classes = useStyles$6();
120
159
  if (!src) {
121
160
  return null;
122
161
  }
123
162
  return (React.createElement(core.Box, { width: 125, height: "100%", borderRadius: 16, overflow: "hidden", flexShrink: 0 }, React.createElement("img", { src: src, alt: "", className: classes.img })));
124
163
  };
125
164
 
126
- var MenuItemInfo = function (props) {
165
+ const MenuItemInfo = (props) => {
127
166
  return (React.createElement(core.Box, { display: "flex", flexGrow: 1, flexDirection: "column", height: "100%" }, props.children));
128
167
  };
129
168
 
130
- var ReactionCounter = function (props) {
131
- var count = props.count, icon = props.icon, label = props.label;
169
+ const useStyles$5 = core.makeStyles(({ palette, spacing }) => ({
170
+ plusIcon: {
171
+ height: '100%',
172
+ padding: spacing(0.25),
173
+ background: (props) => (props.available ? palette.info.main : 'none'),
174
+ color: (props) => (props.available ? palette.info.contrastText : palette.warning.main),
175
+ borderRadius: '30px',
176
+ marginRight: spacing(1),
177
+ },
178
+ }));
179
+ const MenuItemPrice = (props) => {
180
+ const classes = useStyles$5(props);
181
+ return (React.createElement(core.Box, { display: "flex", alignItems: "center" },
182
+ React.createElement(core.Box, { display: "flex", className: classes.plusIcon },
183
+ React.createElement(commonUi.Icon, { icon: props.available ? webIcons.Plus : webIcons.Lock, size: "medium" })),
184
+ React.createElement(core.Typography, null, props.price)));
185
+ };
186
+
187
+ const ReactionCounter = (props) => {
188
+ const { count, icon, label } = props;
132
189
  return (React.createElement(commonUi.Box, { display: "flex", alignItems: "center", gridGap: 6, color: "grey.900" },
133
190
  React.createElement(commonUi.Icon, { icon: icon, size: "large", color: "inherit", "aria-label": label }),
134
191
  React.createElement(commonUi.Typography, { variant: "body2", color: "grey.900" }, count)));
135
192
  };
136
193
 
137
- var ReactionCounterGroup = function (props) {
138
- var children = props.children;
194
+ const ReactionCounterGroup = (props) => {
195
+ const { children } = props;
139
196
  return (React.createElement(commonUi.Box, { display: "flex", gridGap: 16 }, children));
140
197
  };
141
198
 
142
- var MenuItemReactions = function (props) {
143
- var likeCount = props.likeCount, reviewCount = props.reviewCount;
144
- var showLikes = likeCount ? likeCount > 0 : false;
145
- var showReviews = reviewCount ? reviewCount > 0 : false;
199
+ const MenuItemReactions = (props) => {
200
+ const { likeCount, reviewCount } = props;
201
+ const showLikes = likeCount ? likeCount > 0 : false;
202
+ const showReviews = reviewCount ? reviewCount > 0 : false;
146
203
  return (React.createElement(ReactionCounterGroup, null,
147
- showLikes && React.createElement(ReactionCounter, { icon: webIcons.Heart, count: likeCount !== null && likeCount !== void 0 ? likeCount : 0, label: "likes" }),
148
- showReviews && React.createElement(ReactionCounter, { icon: webIcons.Reviews, count: reviewCount !== null && reviewCount !== void 0 ? reviewCount : 0, label: "reviews" })));
149
- };
150
-
151
- var useStyles$5 = core.makeStyles(function (_a) {
152
- var palette = _a.palette, spacing = _a.spacing;
153
- return ({
154
- plusIcon: {
155
- height: '100%',
156
- padding: spacing(0.25),
157
- background: function (props) { return (props.available ? palette.info.main : 'none'); },
158
- color: function (props) { return (props.available ? palette.info.contrastText : palette.warning.main); },
159
- borderRadius: '30px',
160
- marginRight: spacing(1),
161
- },
162
- });
163
- });
164
- var MenuItemPrice = function (props) {
165
- var classes = useStyles$5(props);
166
- return (React.createElement(core.Box, { display: "flex", alignItems: "center" },
167
- React.createElement(core.Box, { display: "flex", className: classes.plusIcon },
168
- React.createElement(commonUi.Icon, { icon: props.available ? webIcons.Plus : webIcons.Lock, size: "medium" })),
169
- React.createElement(core.Typography, null, props.price)));
204
+ showLikes && React.createElement(ReactionCounter, { icon: webIcons.Heart, count: likeCount ?? 0, label: "likes" }),
205
+ showReviews && React.createElement(ReactionCounter, { icon: webIcons.Reviews, count: reviewCount ?? 0, label: "reviews" })));
170
206
  };
171
207
 
172
- var useItemTagStyles = core.makeStyles(function (theme) { return ({
208
+ const useItemTagStyles = core.makeStyles((theme) => ({
173
209
  root: {
174
210
  color: theme.palette.text.primary,
175
211
  borderColor: theme.palette.text.primary,
@@ -183,156 +219,33 @@ var useItemTagStyles = core.makeStyles(function (theme) { return ({
183
219
  text: {
184
220
  lineHeight: 1.5,
185
221
  },
186
- }); });
222
+ }));
187
223
 
188
- var ItemTag = React.forwardRef(function (props, ref) {
189
- var alt = props.alt, children = props.children;
190
- var classes = useItemTagStyles();
224
+ const ItemTag = React.forwardRef((props, ref) => {
225
+ const { alt, children } = props;
226
+ const classes = useItemTagStyles();
191
227
  return (React.createElement(core.Avatar, { ref: ref, alt: alt, classes: { root: classes.root } },
192
228
  React.createElement(commonUi.Typography, { variant: "caption", className: classes.text }, children)));
193
229
  });
194
230
  ItemTag.displayName = 'ItemTag';
195
231
 
196
- var ItemTagGroup = function (props) {
197
- var children = props.children;
232
+ const ItemTagGroup = (props) => {
233
+ const { children } = props;
198
234
  return (React.createElement(core.Box, { display: "flex", gridGap: 6, ml: 1, flexWrap: "wrap" }, children));
199
235
  };
200
236
 
201
- var MenuItemTags = function (props) {
202
- var itemTags = props.itemTags;
203
- return (React.createElement(ItemTagGroup, null, itemTags === null || itemTags === void 0 ? void 0 : itemTags.slice(0, 5).map(function (itemTag) { return (React.createElement(ItemTag, { key: itemTag.name, alt: itemTag.name, color: itemTag.color }, itemTag.abbr)); })));
204
- };
205
-
206
- var useStatusTagStyles = core.makeStyles(function (theme) { return ({
207
- root: {
208
- borderRadius: '5px',
209
- display: 'flex',
210
- padding: theme.spacing(1),
211
- alignItems: 'center',
212
- justifyContent: 'center',
213
- width: 'fit-content',
214
- },
215
- filled: {
216
- backgroundColor: theme.palette.grey[100],
217
- color: theme.palette.grey[900],
218
- },
219
- outlined: {
220
- border: "1px solid var(--surfaces-card-stroke, " + theme.palette.grey[900] + ")",
221
- },
222
- small: {
223
- padding: theme.spacing(0.25, 0.75),
224
- },
225
- default: {
226
- color: theme.palette.grey[900],
227
- },
228
- warning: {
229
- borderColor: theme.palette.warning.dark,
230
- color: theme.palette.warning.dark,
231
- },
232
- error: {
233
- borderColor: theme.palette.error.main,
234
- color: theme.palette.error.main,
235
- },
236
- highlight: {
237
- backgroundColor: theme.palette.warning.light,
238
- color: theme.palette.grey[900],
239
- },
240
- }); });
241
-
242
- var classnames = {exports: {}};
243
-
244
- /*!
245
- Copyright (c) 2018 Jed Watson.
246
- Licensed under the MIT License (MIT), see
247
- http://jedwatson.github.io/classnames
248
- */
249
-
250
- (function (module) {
251
- /* global define */
252
-
253
- (function () {
254
-
255
- var hasOwn = {}.hasOwnProperty;
256
-
257
- function classNames () {
258
- var classes = '';
259
-
260
- for (var i = 0; i < arguments.length; i++) {
261
- var arg = arguments[i];
262
- if (arg) {
263
- classes = appendClass(classes, parseValue(arg));
264
- }
265
- }
266
-
267
- return classes;
268
- }
269
-
270
- function parseValue (arg) {
271
- if (typeof arg === 'string' || typeof arg === 'number') {
272
- return arg;
273
- }
274
-
275
- if (typeof arg !== 'object') {
276
- return '';
277
- }
278
-
279
- if (Array.isArray(arg)) {
280
- return classNames.apply(null, arg);
281
- }
282
-
283
- if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {
284
- return arg.toString();
285
- }
286
-
287
- var classes = '';
288
-
289
- for (var key in arg) {
290
- if (hasOwn.call(arg, key) && arg[key]) {
291
- classes = appendClass(classes, key);
292
- }
293
- }
294
-
295
- return classes;
296
- }
297
-
298
- function appendClass (value, newClass) {
299
- if (!newClass) {
300
- return value;
301
- }
302
-
303
- if (value) {
304
- return value + ' ' + newClass;
305
- }
306
-
307
- return value + newClass;
308
- }
309
-
310
- if (module.exports) {
311
- classNames.default = classNames;
312
- module.exports = classNames;
313
- } else {
314
- window.classNames = classNames;
315
- }
316
- }());
317
- }(classnames));
318
-
319
- var classNames = classnames.exports;
320
-
321
- var StatusTag = function (_a) {
322
- var _b = _a.color, color = _b === void 0 ? 'default' : _b, label = _a.label, _c = _a.size, size = _c === void 0 ? 'md' : _c, variant = _a.variant;
323
- var classes = useStatusTagStyles();
324
- return (React.createElement(commonUi.Box, { className: classNames([classes.root, classes[color], classes[variant], size === 'sm' ? classes.small : '']) },
325
- React.createElement(commonUi.Typography, { variant: "caption" }, label)));
237
+ const MenuItemTags = (props) => {
238
+ const { itemTags } = props;
239
+ return (React.createElement(ItemTagGroup, null, itemTags?.slice(0, 5).map((itemTag) => (React.createElement(ItemTag, { key: itemTag.name, alt: itemTag.name, color: itemTag.color }, itemTag.abbr)))));
326
240
  };
327
- StatusTag.displayName = 'StatusTag';
328
241
 
329
- var MenuItem = React.forwardRef(function (props, ref) {
330
- var ariaLabel = props.ariaLabel, onClick = props.onClick, id = props.id, description = props.description, isOutOfStock = props.isOutOfStock, title = props.title, loading = props.loading, isFeatured = props.isFeatured, image = props.image, likeCount = props.likeCount, reviewCount = props.reviewCount, price = props.price, available = props.available, itemTags = props.itemTags, className = props.className, restProps = tslib.__rest(props, ["ariaLabel", "onClick", "id", "description", "isOutOfStock", "title", "loading", "isFeatured", "image", "likeCount", "reviewCount", "price", "available", "itemTags", "className"]);
331
- var classes = useMenuItemStyles(props);
332
- var handleClick = function (event) {
242
+ const MenuItem = React.forwardRef((props, ref) => {
243
+ const { ariaLabel, onClick, id, description, isOutOfStock, title, loading, isFeatured, image, likeCount, reviewCount, price, available, itemTags, className, ...restProps } = props;
244
+ const classes = useMenuItemStyles(props);
245
+ const handleClick = (event) => {
333
246
  onClick(id, event);
334
247
  };
335
- return (React.createElement(core.Card, tslib.__assign({ className: classNames(classes.card, className), ref: ref, elevation: 0, "data-component-type": "menu-item" }, restProps),
248
+ return (React.createElement(core.Card, { className: classNames(classes.card, className), ref: ref, elevation: 0, "data-component-type": "menu-item", ...restProps },
336
249
  React.createElement(core.CardActionArea, { className: classes.cardActionArea, onClick: handleClick, disabled: loading, "aria-label": ariaLabel },
337
250
  React.createElement(MenuItemInfo, null,
338
251
  isFeatured && React.createElement(StatusTag, { color: "highlight", label: "Featured", variant: "filled", size: "sm" }),
@@ -351,20 +264,49 @@ var MenuItem = React.forwardRef(function (props, ref) {
351
264
  });
352
265
  MenuItem.displayName = 'MenuItem';
353
266
 
354
- var OrderingAppContext = React.createContext(null);
355
- var useOrderingAppContext = function () {
356
- var context = React.useContext(OrderingAppContext);
267
+ const useMenuTabStyles = core.makeStyles(({ palette, spacing }) => ({
268
+ root: {
269
+ '& > .MuiTab-wrapper': {
270
+ flexDirection: 'row-reverse',
271
+ gridGap: spacing(1),
272
+ textAlign: 'center',
273
+ '& > svg': {
274
+ marginBottom: '0 !important',
275
+ },
276
+ },
277
+ },
278
+ isUnavailable: {
279
+ color: palette.grey[700],
280
+ },
281
+ }));
282
+
283
+ const MenuTab = (props) => {
284
+ const { isUnavailable, value } = props;
285
+ const classes = useMenuTabStyles(props);
286
+ return (React.createElement(core.Tab, { "data-tab-for-section-id": value, classes: {
287
+ root: classes.root,
288
+ }, disabled: isUnavailable, icon: isUnavailable ? React.createElement(commonUi.Icon, { icon: webIcons.Clock, size: "large" }) : undefined, ...props }));
289
+ };
290
+
291
+ const MenuTabGroup = (props) => {
292
+ const { children, ...muiProps } = props;
293
+ return (React.createElement(core.Tabs, { scrollButtons: "on", variant: "scrollable", ...muiProps }, children));
294
+ };
295
+
296
+ const OrderingAppContext = React.createContext(null);
297
+ const useOrderingAppContext = () => {
298
+ const context = React.useContext(OrderingAppContext);
357
299
  if (!context) {
358
300
  throw new Error('useOrderingAppContext has to be used within <OrderingAppContext.Provider>');
359
301
  }
360
302
  return context;
361
303
  };
362
- var OrderingAppContextProvider = function (props) {
363
- var context = React.useState(props.defaultContext);
304
+ const OrderingAppContextProvider = (props) => {
305
+ const context = React.useState(props.defaultContext);
364
306
  return React.createElement(OrderingAppContext.Provider, { value: context }, props.children);
365
307
  };
366
308
 
367
- var useDishCheckoutCardStyles = core.makeStyles(function (theme) { return ({
309
+ const useDishCheckoutCardStyles = core.makeStyles((theme) => ({
368
310
  root: {
369
311
  '&:first-of-type': {
370
312
  paddingTop: 0,
@@ -379,10 +321,7 @@ var useDishCheckoutCardStyles = core.makeStyles(function (theme) { return ({
379
321
  flexDirection: 'column',
380
322
  width: '100%',
381
323
  gridGap: theme.spacing(2),
382
- borderBottom: function (_a) {
383
- var borderBottom = _a.borderBottom;
384
- return (borderBottom ? '1px solid #E0E0E0' : 'none');
385
- },
324
+ borderBottom: ({ borderBottom }) => (borderBottom ? '1px solid #E0E0E0' : 'none'),
386
325
  },
387
326
  deleteButton: {
388
327
  color: theme.palette.info.main,
@@ -443,45 +382,35 @@ var useDishCheckoutCardStyles = core.makeStyles(function (theme) { return ({
443
382
  display: 'flex',
444
383
  gridGap: theme.spacing(0.825),
445
384
  },
446
- }); });
447
-
448
- var DishCheckoutCard = function (_a) {
449
- var _b;
450
- var id = _a.id, borderBottom = _a.borderBottom, name = _a.name, quantity = _a.quantity, modifierGroups = _a.modifierGroups, onDelete = _a.onDelete, onEdit = _a.onEdit, onQuantityChange = _a.onQuantityChange, price = _a.price, specialInstructions = _a.specialInstructions, disabled = _a.disabled, warningMessage = _a.warningMessage, _c = _a.image, image = _c === void 0 ? {} : _c, messages = _a.messages, _d = _a.maxQuantity, maxQuantity = _d === void 0 ? 99 : _d, _e = _a.minQuantity, minQuantity = _e === void 0 ? 1 : _e;
451
- var src = image.src;
452
- var classes = useDishCheckoutCardStyles({ borderBottom: borderBottom });
453
- var appContext = useOrderingAppContext()[0];
454
- var _f = React.useState(false), open = _f[0], setOpen = _f[1];
455
- var formattedPrice = typeof price === 'number' ? "" + ((_b = appContext.currencySymbol) !== null && _b !== void 0 ? _b : '') + price.toFixed(2) : price;
456
- var handleQuantityChange = function (event) {
457
- return onQuantityChange(id, parseInt(event.target.value, 10));
458
- };
459
- var labelString = function (label) {
385
+ }));
386
+
387
+ const DishCheckoutCard = ({ id, borderBottom, name, quantity, modifierGroups, onDelete, onEdit, onQuantityChange, price, specialInstructions, disabled, warningMessage, image = {}, messages, maxQuantity = 99, minQuantity = 1, }) => {
388
+ const { src } = image;
389
+ const classes = useDishCheckoutCardStyles({ borderBottom });
390
+ const [appContext] = useOrderingAppContext();
391
+ const [open, setOpen] = React.useState(false);
392
+ const formattedPrice = typeof price === 'number' ? `${appContext.currencySymbol ?? ''}${price.toFixed(2)}` : price;
393
+ const handleQuantityChange = (event) => onQuantityChange(id, parseInt(event.target.value, 10));
394
+ const labelString = (label) => {
460
395
  return label.replace(/[^a-zA-Z\s]/g, '').toLowerCase();
461
396
  };
462
- var formatModifiers = function (groups, nested) {
463
- if (nested === void 0) { nested = false; }
464
- return groups.map(function (group) {
397
+ const formatModifiers = (groups, nested = false) => {
398
+ return groups.map((group) => {
465
399
  // Get all selected modifiers for this group
466
- var modifiers = group.selectedModifiers
467
- .map(function (modifier) {
468
- return modifier.quantity > 1 ? modifier.modifierName + " \u00D7 " + modifier.quantity : modifier.modifierName;
469
- })
400
+ const modifiers = group.selectedModifiers
401
+ .map((modifier) => modifier.quantity > 1 ? `${modifier.modifierName} × ${modifier.quantity}` : modifier.modifierName)
470
402
  .join(', ');
471
403
  // Render nested groups recursively
472
- var nestedGroups = group.selectedModifiers.flatMap(function (modifier) {
473
- var _a;
474
- return (modifier === null || modifier === void 0 ? void 0 : modifier.selectedModifierGroups) && ((_a = modifier === null || modifier === void 0 ? void 0 : modifier.selectedModifierGroups) === null || _a === void 0 ? void 0 : _a.length) > 0
475
- ? formatModifiers(modifier.selectedModifierGroups, true)
476
- : [];
477
- });
404
+ const nestedGroups = group.selectedModifiers.flatMap((modifier) => modifier?.selectedModifierGroups && modifier?.selectedModifierGroups?.length > 0
405
+ ? formatModifiers(modifier.selectedModifierGroups, true)
406
+ : []);
478
407
  // For top-level groups, we render without the list
479
408
  if (!nested) {
480
409
  return (React.createElement(commonUi.Typography, { key: group.id, variant: "body2" },
481
410
  group.menuItemModifierGroupName,
482
411
  ": ",
483
412
  modifiers,
484
- (nestedGroups === null || nestedGroups === void 0 ? void 0 : nestedGroups.length) > 0 && React.createElement("ul", { className: classes.ul }, nestedGroups)));
413
+ nestedGroups?.length > 0 && React.createElement("ul", { className: classes.ul }, nestedGroups)));
485
414
  }
486
415
  // For nested groups, we use list items
487
416
  return (React.createElement("li", { key: group.id, className: classes.li },
@@ -508,7 +437,7 @@ var DishCheckoutCard = function (_a) {
508
437
  React.createElement(commonUi.Icon, { icon: webIcons.Trash, size: "large" })))),
509
438
  React.createElement(commonUi.Box, { display: "flex", gridGap: 16, alignItems: "center" },
510
439
  React.createElement(core.FormControl, { variant: "outlined", hiddenLabel: true },
511
- React.createElement(core.Select, { disabled: disabled, value: quantity, onOpen: function () { return setOpen(true); }, onClose: function () { return setOpen(false); }, SelectDisplayProps: { 'aria-label': labelString(name) + " quantity select" }, disableUnderline: true, onChange: handleQuantityChange, fullWidth: true, startAdornment: React.createElement(core.InputAdornment, { position: "start" },
440
+ React.createElement(core.Select, { disabled: disabled, value: quantity, onOpen: () => setOpen(true), onClose: () => setOpen(false), SelectDisplayProps: { 'aria-label': `${labelString(name)} quantity select` }, disableUnderline: true, onChange: handleQuantityChange, fullWidth: true, startAdornment: React.createElement(core.InputAdornment, { position: "start" },
512
441
  React.createElement(commonUi.Icon, { icon: open ? webIcons.ChevronUp : webIcons.ChevronDown, size: "large" })), inputProps: { shrink: false }, MenuProps: {
513
442
  disablePortal: true,
514
443
  anchorOrigin: {
@@ -521,7 +450,7 @@ var DishCheckoutCard = function (_a) {
521
450
  },
522
451
  getContentAnchorEl: null,
523
452
  classes: { paper: classes.selectPaper },
524
- }, className: classes.select }, Array.from({ length: maxQuantity - minQuantity + 1 }, function (_, index) { return (React.createElement(core.MenuItem, { key: index + minQuantity, value: index + minQuantity, "aria-label": "" + (index + minQuantity) }, index + minQuantity)); }))),
453
+ }, className: classes.select }, Array.from({ length: maxQuantity - minQuantity + 1 }, (_, index) => (React.createElement(core.MenuItem, { key: index + minQuantity, value: index + minQuantity, "aria-label": `${index + minQuantity}` }, index + minQuantity))))),
525
454
  React.createElement(commonUi.Typography, { className: classes.price }, formattedPrice)),
526
455
  warningMessage && (React.createElement(commonUi.Box, { className: classes.warning },
527
456
  React.createElement(commonUi.Box, { paddingTop: 0.25 },
@@ -529,8 +458,8 @@ var DishCheckoutCard = function (_a) {
529
458
  React.createElement(commonUi.Typography, { variant: "body2" }, warningMessage)))));
530
459
  };
531
460
 
532
- var DishDetailsReview = React.forwardRef(function (props) {
533
- var userName = props.userName, userAvatarUrl = props.userAvatarUrl, content = props.content, createdAgo = props.createdAgo, alt = props.alt;
461
+ const DishDetailsReview = React.forwardRef((props) => {
462
+ const { userName, userAvatarUrl, content, createdAgo, alt } = props;
534
463
  return (React.createElement(commonUi.Box, { display: "flex" },
535
464
  React.createElement(commonUi.Box, { mr: 1 },
536
465
  React.createElement(commonUi.Avatar, { size: "small", src: userAvatarUrl, alt: alt })),
@@ -542,14 +471,14 @@ var DishDetailsReview = React.forwardRef(function (props) {
542
471
  });
543
472
  DishDetailsReview.displayName = 'DishDetailsReview';
544
473
 
545
- var useDishModifierCardStyles = core.makeStyles(function (theme) { return ({
474
+ const useDishModifierCardStyles = core.makeStyles((theme) => ({
546
475
  root: {
547
476
  borderRadius: '8px',
548
477
  border: '1px solid var(--surfaces-card-stroke, #E0E0E0)',
549
478
  display: 'flex',
550
479
  flexDirection: 'column',
551
480
  padding: theme.spacing(2.5),
552
- color: theme.palette.grey[900] + " !important",
481
+ color: `${theme.palette.grey[900]} !important`,
553
482
  },
554
483
  error: {
555
484
  color: theme.palette.error.main,
@@ -561,8 +490,8 @@ var useDishModifierCardStyles = core.makeStyles(function (theme) { return ({
561
490
  fontSize: theme.spacing(2.25),
562
491
  marginBottom: theme.spacing(2),
563
492
  },
564
- }); });
565
- var useRadioModifierFormStyles = core.makeStyles(function (theme) { return ({
493
+ }));
494
+ const useRadioModifierFormStyles = core.makeStyles((theme) => ({
566
495
  label: {
567
496
  alignItems: 'center',
568
497
  display: 'flex',
@@ -587,8 +516,8 @@ var useRadioModifierFormStyles = core.makeStyles(function (theme) { return ({
587
516
  flex: 1,
588
517
  },
589
518
  },
590
- }); });
591
- var useCheckboxModifierFormStyles = core.makeStyles(function (theme) { return ({
519
+ }));
520
+ const useCheckboxModifierFormStyles = core.makeStyles((theme) => ({
592
521
  label: {
593
522
  alignItems: 'center',
594
523
  display: 'flex',
@@ -613,8 +542,8 @@ var useCheckboxModifierFormStyles = core.makeStyles(function (theme) { return ({
613
542
  flex: 1,
614
543
  },
615
544
  },
616
- }); });
617
- var useLabelStyles = core.makeStyles(function (theme) { return ({
545
+ }));
546
+ const useLabelStyles = core.makeStyles((theme) => ({
618
547
  label: {
619
548
  margin: theme.spacing(0.5, 0),
620
549
  },
@@ -624,27 +553,27 @@ var useLabelStyles = core.makeStyles(function (theme) { return ({
624
553
  price: {
625
554
  color: theme.palette.grey[700],
626
555
  },
627
- }); });
628
- var useOptionsStyles = core.makeStyles(function (theme) { return ({
556
+ }));
557
+ const useOptionsStyles = core.makeStyles((theme) => ({
629
558
  options: {
630
559
  color: theme.palette.info.main,
631
560
  marginBottom: theme.spacing(1.5),
632
561
  padding: 0,
633
562
  },
634
- }); });
563
+ }));
635
564
 
636
- var useQuantityPickerStyles = core.makeStyles(function (theme) { return ({
565
+ const useQuantityPickerStyles = core.makeStyles((theme) => ({
637
566
  root: {
638
567
  height: theme.spacing(7),
639
568
  backgroundColor: 'none',
640
569
  },
641
- }); });
642
- var useQuantityInputStyles = core.makeStyles(function (theme) { return ({
570
+ }));
571
+ const useQuantityInputStyles = core.makeStyles((theme) => ({
643
572
  root: {
644
573
  height: '100%',
645
574
  width: 'min-content',
646
575
  borderRadius: theme.spacing(12.5),
647
- background: function (props) { return (props.variation === 'modifierCount' ? 'unset' : theme.palette.grey[100]); },
576
+ background: (props) => (props.variation === 'modifierCount' ? 'unset' : theme.palette.grey[100]),
648
577
  },
649
578
  input: {
650
579
  '&::-webkit-clear-button, &::-webkit-outer-spin-button, &::-webkit-inner-spin-button': {
@@ -654,47 +583,46 @@ var useQuantityInputStyles = core.makeStyles(function (theme) { return ({
654
583
  fontWeight: 600,
655
584
  padding: 0,
656
585
  textAlign: 'center',
657
- zIndex: function (props) { return (props.value === 0 && props.variation === 'modifierCount' ? -1 : 1); },
658
- backgroundColor: function (props) { return (props.variation === 'modifierCount' ? theme.palette.grey[100] : 'unset'); },
659
- alignSelf: function (props) { return (props.variation === 'modifierCount' ? 'stretch' : 'unset'); },
660
- height: function (props) { return (props.variation === 'modifierCount' ? 'auto' : 'unset'); },
661
- minWidth: function (props) { return (props.variation === 'modifierCount' ? theme.spacing(5) : theme.spacing(2.75)); },
662
- borderRadius: function (props) { return (props.variation === 'modifierCount' ? theme.spacing(1) : 'unset'); },
663
- margin: function (props) { return (props.variation === 'modifierCount' ? theme.spacing(0.5, 0) : 0); },
664
- },
665
- }); });
666
- var useStartAdornmentStyles = core.makeStyles(function (theme) { return ({
586
+ zIndex: (props) => (props.value === 0 && props.variation === 'modifierCount' ? -1 : 1),
587
+ backgroundColor: (props) => (props.variation === 'modifierCount' ? theme.palette.grey[100] : 'unset'),
588
+ alignSelf: (props) => (props.variation === 'modifierCount' ? 'stretch' : 'unset'),
589
+ height: (props) => (props.variation === 'modifierCount' ? 'auto' : 'unset'),
590
+ minWidth: (props) => (props.variation === 'modifierCount' ? theme.spacing(5) : theme.spacing(2.75)),
591
+ borderRadius: (props) => (props.variation === 'modifierCount' ? theme.spacing(1) : 'unset'),
592
+ margin: (props) => (props.variation === 'modifierCount' ? theme.spacing(0.5, 0) : 0),
593
+ },
594
+ }));
595
+ const useStartAdornmentStyles = core.makeStyles((theme) => ({
667
596
  root: {
668
597
  color: theme.palette.text.primary,
669
- zIndex: function (props) { return (props.value === 0 && props.variation === 'modifierCount' ? -1 : 1); },
598
+ zIndex: (props) => (props.value === 0 && props.variation === 'modifierCount' ? -1 : 1),
670
599
  },
671
- }); });
672
- var useEndAdornmentStyles = core.makeStyles(function (theme) { return ({
600
+ }));
601
+ const useEndAdornmentStyles = core.makeStyles((theme) => ({
673
602
  root: {
674
603
  color: theme.palette.text.primary,
675
604
  },
676
- }); });
677
-
678
- var QuantityPicker = function (_a) {
679
- var value = _a.value, onChange = _a.onChange, disabled = _a.disabled, preventManualChange = _a.preventManualChange, disableIncrement = _a.disableIncrement, variation = _a.variation, name = _a.name, _b = _a.min, min = _b === void 0 ? 1 : _b, _c = _a.max, max = _c === void 0 ? 99 : _c;
680
- var fieldClasses = useQuantityPickerStyles();
681
- var inputClasses = useQuantityInputStyles({ variation: variation, value: value });
682
- var startAdornmentClasses = useStartAdornmentStyles({ variation: variation, value: value });
683
- var endAdornmentClasses = useEndAdornmentStyles({ variation: variation, value: value });
684
- var inputRef = React.useRef(null);
685
- var _d = React.useState(false), shouldSelect = _d[0], setShouldSelect = _d[1];
686
- var onIncrement = function (event) {
605
+ }));
606
+
607
+ const QuantityPicker = ({ value, onChange, disabled, preventManualChange, disableIncrement, variation, name, min = 1, max = 99, }) => {
608
+ const fieldClasses = useQuantityPickerStyles();
609
+ const inputClasses = useQuantityInputStyles({ variation, value });
610
+ const startAdornmentClasses = useStartAdornmentStyles({ variation, value });
611
+ const endAdornmentClasses = useEndAdornmentStyles({ variation, value });
612
+ const inputRef = React.useRef(null);
613
+ const [shouldSelect, setShouldSelect] = React.useState(false);
614
+ const onIncrement = (event) => {
687
615
  onChange(event, { quantity: value + 1, reason: 'increment' });
688
616
  };
689
- var onDecrement = function (event) {
617
+ const onDecrement = (event) => {
690
618
  onChange(event, { quantity: value - 1, reason: 'decrement' });
691
619
  };
692
- var handleChange = function (event) {
620
+ const handleChange = (event) => {
693
621
  if (preventManualChange) {
694
622
  event.preventDefault();
695
623
  return;
696
624
  }
697
- var newValue = parseInt(event.target.value, 10);
625
+ let newValue = parseInt(event.target.value, 10);
698
626
  if (isNaN(newValue)) {
699
627
  newValue = min;
700
628
  setShouldSelect(true);
@@ -709,7 +637,7 @@ var QuantityPicker = function (_a) {
709
637
  newValue = max;
710
638
  onChange(event, { quantity: newValue, reason: 'change' });
711
639
  };
712
- React.useEffect(function () {
640
+ React.useEffect(() => {
713
641
  if (shouldSelect && inputRef.current) {
714
642
  inputRef.current.focus();
715
643
  inputRef.current.select();
@@ -719,40 +647,39 @@ var QuantityPicker = function (_a) {
719
647
  return (React.createElement(core.TextField, { classes: fieldClasses, type: "number", variant: variation === 'itemCount' ? 'filled' : 'standard', value: value, disabled: disabled, onChange: handleChange, inputRef: inputRef, InputProps: {
720
648
  classes: inputClasses,
721
649
  disableUnderline: true,
722
- endAdornment: (React.createElement(commonUi.IconButton, { "aria-label": "increase quantity " + name, className: endAdornmentClasses.root, color: "default", onClick: onIncrement, disabled: disabled || value >= max || disableIncrement },
650
+ endAdornment: (React.createElement(commonUi.IconButton, { "aria-label": `increase quantity ${name}`, className: endAdornmentClasses.root, color: "default", onClick: onIncrement, disabled: disabled || value >= max || disableIncrement },
723
651
  React.createElement(commonUi.Icon, { icon: webIcons.PlusCircle }))),
724
- startAdornment: (React.createElement(commonUi.IconButton, { "aria-label": "decrease quantity " + name, className: startAdornmentClasses.root, color: "default", onClick: onDecrement, disabled: disabled || value <= min },
652
+ startAdornment: (React.createElement(commonUi.IconButton, { "aria-label": `decrease quantity ${name}`, className: startAdornmentClasses.root, color: "default", onClick: onDecrement, disabled: disabled || value <= min },
725
653
  React.createElement(commonUi.Icon, { icon: webIcons.MinusCircle }))),
726
654
  }, inputProps: {
727
- min: min,
728
- max: max,
655
+ min,
656
+ max,
729
657
  } }));
730
658
  };
731
659
 
732
- var Label = function (props) {
733
- var _a, _b, _c;
734
- var name = props.name, price = props.price, _d = props.disabled, disabled = _d === void 0 ? false : _d;
735
- var classes = useLabelStyles();
660
+ const Label = (props) => {
661
+ const { name, price, disabled = false } = props;
662
+ const classes = useLabelStyles();
736
663
  return (React.createElement(core.Box, { display: "flex", flexDirection: "column", className: classes.label },
737
664
  React.createElement(core.Box, { display: "flex", alignItems: "center", gridGap: 8 },
738
- React.createElement(core.Typography, { className: classNames((_a = {}, _a[classes.disabled] = disabled, _a)) }, name)),
739
- price && (React.createElement(core.Typography, { className: classNames((_b = {}, _b[classes.price] = !disabled, _b), (_c = {}, _c[classes.disabled] = disabled, _c)) },
665
+ React.createElement(core.Typography, { className: classNames({ [classes.disabled]: disabled }) }, name)),
666
+ price && (React.createElement(core.Typography, { className: classNames({ [classes.price]: !disabled }, { [classes.disabled]: disabled }) },
740
667
  "+ ",
741
668
  price))));
742
669
  };
743
- var Options = function (props) {
744
- var handleOptionsClick = props.handleOptionsClick;
745
- var classes = useOptionsStyles();
670
+ const Options = (props) => {
671
+ const { handleOptionsClick } = props;
672
+ const classes = useOptionsStyles();
746
673
  return (React.createElement(core.Box, null,
747
674
  React.createElement(Button, { variation: "none", className: classes.options, onClick: handleOptionsClick },
748
675
  React.createElement(core.Typography, { variant: "caption" }, "OPTIONS"),
749
676
  React.createElement(commonUi.Icon, { icon: webIcons.ChevronRight }))));
750
677
  };
751
- var SingleSelectModifierControl = function (props) {
752
- var modifiers = props.modifiers, name = props.name, isOutOfStock = props.isOutOfStock, onChange = props.onChange, value = props.value, handleOptionsClick = props.handleOptionsClick, aggregatePrice = props.aggregatePrice, isRequired = props.isRequired;
753
- var radioClasses = useRadioModifierFormStyles();
754
- var makeHandleChange = function (modifier) { return function (e) {
755
- var isModifierInValue = Boolean(value.find(function (v) { return v.modifierId === modifier.id; }));
678
+ const SingleSelectModifierControl = (props) => {
679
+ const { modifiers, name, isOutOfStock, onChange, value, handleOptionsClick, aggregatePrice, isRequired } = props;
680
+ const radioClasses = useRadioModifierFormStyles();
681
+ const makeHandleChange = (modifier) => (e) => {
682
+ const isModifierInValue = Boolean(value.find((v) => v.modifierId === modifier.id));
756
683
  if (!isModifierInValue && modifier.hasModifiers) {
757
684
  handleOptionsClick(modifier.id);
758
685
  }
@@ -764,27 +691,23 @@ var SingleSelectModifierControl = function (props) {
764
691
  price: modifier.price || 0,
765
692
  quantity: 1,
766
693
  });
767
- }; };
694
+ };
768
695
  return (React.createElement(core.FormControl, { fullWidth: true },
769
- React.createElement(core.RadioGroup, { "aria-label": name }, modifiers.map(function (modifier) {
770
- var _a;
771
- var _b;
772
- return (React.createElement(core.Box, { key: modifier.id },
773
- React.createElement(core.FormControlLabel, { key: modifier.id, value: modifier.id, className: radioClasses.root, control: React.createElement(core.Radio, { checked: ((_b = value[0]) === null || _b === void 0 ? void 0 : _b.modifierId) === modifier.id, className: classNames((_a = {},
774
- _a[radioClasses.hideRadio] = modifier.outOfStock,
775
- _a[radioClasses.radio] = !modifier.outOfStock,
776
- _a)), disabled: isOutOfStock || modifier.outOfStock, onChange: makeHandleChange(modifier), required: isRequired }), label: React.createElement(core.Box, { className: radioClasses.label },
777
- React.createElement(Label, { name: modifier.name, price: aggregatePrice[modifier.id] || modifier.formattedPrice, disabled: isOutOfStock || modifier.outOfStock }),
778
- modifier.outOfStock && (React.createElement(core.Box, { minWidth: "90px", marginLeft: 2 },
779
- React.createElement(StatusTag, { color: "warning", label: "Out of stock", variant: "outlined", size: "md" })))), labelPlacement: "start" }),
780
- modifier.hasModifiers && !modifier.outOfStock && (React.createElement(Options, { handleOptionsClick: function () { return handleOptionsClick(modifier.id); } }))));
781
- }))));
696
+ React.createElement(core.RadioGroup, { "aria-label": name }, modifiers.map((modifier) => (React.createElement(core.Box, { key: modifier.id },
697
+ React.createElement(core.FormControlLabel, { key: modifier.id, value: modifier.id, className: radioClasses.root, control: React.createElement(core.Radio, { checked: value[0]?.modifierId === modifier.id, className: classNames({
698
+ [radioClasses.hideRadio]: modifier.outOfStock,
699
+ [radioClasses.radio]: !modifier.outOfStock,
700
+ }), disabled: isOutOfStock || modifier.outOfStock, onChange: makeHandleChange(modifier), required: isRequired }), label: React.createElement(core.Box, { className: radioClasses.label },
701
+ React.createElement(Label, { name: modifier.name, price: aggregatePrice[modifier.id] || modifier.formattedPrice, disabled: isOutOfStock || modifier.outOfStock }),
702
+ modifier.outOfStock && (React.createElement(core.Box, { minWidth: "90px", marginLeft: 2 },
703
+ React.createElement(StatusTag, { color: "warning", label: "Out of stock", variant: "outlined", size: "md" })))), labelPlacement: "start" }),
704
+ modifier.hasModifiers && !modifier.outOfStock && (React.createElement(Options, { handleOptionsClick: () => handleOptionsClick(modifier.id) }))))))));
782
705
  };
783
- var MultipleSelectControl = function (props) {
784
- var modifiers = props.modifiers, value = props.value, isOutOfStock = props.isOutOfStock, onChange = props.onChange, disableNewSelections = props.disableNewSelections, handleOptionsClick = props.handleOptionsClick, aggregatePrice = props.aggregatePrice;
785
- var classes = useCheckboxModifierFormStyles();
786
- var makeHandleChange = function (modifier) { return function () {
787
- var isModifierInValue = Boolean(value.find(function (v) { return v.modifierId === modifier.id; }));
706
+ const MultipleSelectControl = (props) => {
707
+ const { modifiers, value, isOutOfStock, onChange, disableNewSelections, handleOptionsClick, aggregatePrice } = props;
708
+ const classes = useCheckboxModifierFormStyles();
709
+ const makeHandleChange = (modifier) => () => {
710
+ const isModifierInValue = Boolean(value.find((v) => v.modifierId === modifier.id));
788
711
  if (!isModifierInValue && modifier.hasModifiers) {
789
712
  handleOptionsClick(modifier.id);
790
713
  }
@@ -796,21 +719,20 @@ var MultipleSelectControl = function (props) {
796
719
  price: modifier.price || 0,
797
720
  quantity: isModifierInValue ? 0 : 1,
798
721
  });
799
- }; };
722
+ };
800
723
  return (React.createElement(core.FormControl, { fullWidth: true },
801
- React.createElement(core.FormGroup, null, modifiers.map(function (modifier) {
802
- var _a, _b;
724
+ React.createElement(core.FormGroup, null, modifiers.map((modifier) => {
803
725
  return (React.createElement(core.Box, { key: modifier.id },
804
- React.createElement(core.FormControlLabel, { key: modifier.id, value: modifier.id, className: classes.root, checked: value.some(function (v) { return v.modifierId === modifier.id; }), onChange: makeHandleChange(modifier), control: React.createElement(core.Checkbox, { className: classNames((_a = {}, _a[classes.hideCheckbox] = modifier.outOfStock, _a), (_b = {}, _b[classes.checkbox] = !modifier.outOfStock, _b)), disabled: isOutOfStock || modifier.outOfStock || (!modifier.quantity && disableNewSelections) }), label: React.createElement(core.Box, { className: classes.label },
726
+ React.createElement(core.FormControlLabel, { key: modifier.id, value: modifier.id, className: classes.root, checked: value.some((v) => v.modifierId === modifier.id), onChange: makeHandleChange(modifier), control: React.createElement(core.Checkbox, { className: classNames({ [classes.hideCheckbox]: modifier.outOfStock }, { [classes.checkbox]: !modifier.outOfStock }), disabled: isOutOfStock || modifier.outOfStock || (!modifier.quantity && disableNewSelections) }), label: React.createElement(core.Box, { className: classes.label },
805
727
  React.createElement(Label, { name: modifier.name, price: aggregatePrice[modifier.id] || modifier.formattedPrice, disabled: isOutOfStock || modifier.outOfStock }),
806
728
  modifier.outOfStock && (React.createElement(core.Box, { minWidth: "90px", marginLeft: 2 },
807
729
  React.createElement(StatusTag, { color: "warning", label: "Out of stock", variant: "outlined", size: "md" })))), labelPlacement: "start" }),
808
- modifier.hasModifiers && !modifier.outOfStock && (React.createElement(Options, { handleOptionsClick: function () { return handleOptionsClick(modifier.id); } }))));
730
+ modifier.hasModifiers && !modifier.outOfStock && (React.createElement(Options, { handleOptionsClick: () => handleOptionsClick(modifier.id) }))));
809
731
  }))));
810
732
  };
811
- var MultipleQuantitySelectControl = function (props) {
812
- var modifiers = props.modifiers, isOutOfStock = props.isOutOfStock, onChange = props.onChange, disableNewSelections = props.disableNewSelections, handleOptionsClick = props.handleOptionsClick, selectionQuantity = props.selectionQuantity;
813
- var makeHandleChange = function (modifier) { return function (_e, customEvent) {
733
+ const MultipleQuantitySelectControl = (props) => {
734
+ const { modifiers, isOutOfStock, onChange, disableNewSelections, handleOptionsClick, selectionQuantity } = props;
735
+ const makeHandleChange = (modifier) => (_e, customEvent) => {
814
736
  onChange({
815
737
  isRadio: false,
816
738
  modifierId: modifier.id,
@@ -819,16 +741,16 @@ var MultipleQuantitySelectControl = function (props) {
819
741
  price: modifier.price || 0,
820
742
  quantity: customEvent.quantity,
821
743
  });
822
- }; };
744
+ };
823
745
  return (React.createElement(core.FormControl, { fullWidth: true },
824
- React.createElement(core.FormGroup, null, modifiers.map(function (modifier) { return (React.createElement(core.Box, { key: modifier.id, style: { justifyContent: 'space-between', flexDirection: 'column' }, display: "flex" },
746
+ React.createElement(core.FormGroup, null, modifiers.map((modifier) => (React.createElement(core.Box, { key: modifier.id, style: { justifyContent: 'space-between', flexDirection: 'column' }, display: "flex" },
825
747
  React.createElement(core.Box, { display: "flex", alignItems: "center", justifyContent: "space-between", width: "100%" },
826
748
  React.createElement(Label, { name: modifier.name, price: modifier.formattedPrice, disabled: isOutOfStock || modifier.outOfStock }),
827
749
  modifier.outOfStock && (React.createElement(core.Box, { minWidth: "90px", marginLeft: 2 },
828
750
  React.createElement(StatusTag, { color: "warning", label: "Out of stock", variant: "outlined", size: "md" }))),
829
751
  !modifier.outOfStock && (React.createElement(QuantityPicker, { variation: "modifierCount", value: modifier.quantity, disableIncrement: disableNewSelections, preventManualChange: true, onChange: makeHandleChange(modifier), disabled: isOutOfStock || modifier.outOfStock, name: modifier.name }))),
830
752
  React.createElement(core.Box, { display: "flex", alignItems: "flex-start", gridGap: 4 },
831
- modifier.hasModifiers && !modifier.outOfStock && (React.createElement(Options, { handleOptionsClick: function () { return handleOptionsClick(modifier.id); } })),
753
+ modifier.hasModifiers && !modifier.outOfStock && (React.createElement(Options, { handleOptionsClick: () => handleOptionsClick(modifier.id) })),
832
754
  selectionQuantity[modifier.id] &&
833
755
  selectionQuantity[modifier.id].requiredSelectionCount > 0 &&
834
756
  selectionQuantity[modifier.id].requiredSelectionCount !==
@@ -836,25 +758,25 @@ var MultipleQuantitySelectControl = function (props) {
836
758
  selectionQuantity[modifier.id].currentSelectionCount,
837
759
  "/",
838
760
  selectionQuantity[modifier.id].requiredSelectionCount,
839
- " selected"))))); }))));
761
+ " selected")))))))));
840
762
  };
841
- var ModifierControls = function (props) {
763
+ const ModifierControls = (props) => {
842
764
  switch (props.type) {
843
765
  case 'singleSelect':
844
- return React.createElement(SingleSelectModifierControl, tslib.__assign({}, props));
766
+ return React.createElement(SingleSelectModifierControl, { ...props });
845
767
  case 'multipleSelect':
846
- return React.createElement(MultipleSelectControl, tslib.__assign({}, props));
768
+ return React.createElement(MultipleSelectControl, { ...props });
847
769
  case 'multipleQuantitySelect':
848
- return React.createElement(MultipleQuantitySelectControl, tslib.__assign({}, props));
770
+ return React.createElement(MultipleQuantitySelectControl, { ...props });
849
771
  default:
850
772
  return null;
851
773
  }
852
774
  };
853
775
 
854
- var getStatusTagProps = function (props) {
855
- var messages = props.messages, error = props.error, isRequired = props.isRequired, isOutOfStock = props.isOutOfStock;
856
- var optionalText = messages.optionalText, outOfStockText = messages.outOfStockText, requiredText = messages.requiredText;
857
- var color = 'default';
776
+ const getStatusTagProps = (props) => {
777
+ const { messages, error, isRequired, isOutOfStock } = props;
778
+ const { optionalText, outOfStockText, requiredText } = messages;
779
+ let color = 'default';
858
780
  switch (true) {
859
781
  case error:
860
782
  color = 'error';
@@ -863,7 +785,7 @@ var getStatusTagProps = function (props) {
863
785
  color = 'warning';
864
786
  break;
865
787
  }
866
- var label = optionalText;
788
+ let label = optionalText;
867
789
  switch (true) {
868
790
  case isOutOfStock:
869
791
  label = outOfStockText;
@@ -872,40 +794,33 @@ var getStatusTagProps = function (props) {
872
794
  label = requiredText;
873
795
  break;
874
796
  }
875
- var variant = isRequired || isOutOfStock ? 'outlined' : 'filled';
876
- return { color: color, label: label, variant: variant };
797
+ const variant = isRequired || isOutOfStock ? 'outlined' : 'filled';
798
+ return { color, label, variant };
877
799
  };
878
- var DishModifierCard = function (props) {
879
- var _a;
880
- var aggregatePrice = props.aggregatePrice, name = props.name, disableNewSelections = props.disableNewSelections, modifiers = props.modifiers, value = props.value, messages = props.messages, onChange = props.onChange, type = props.type, error = props.error, isOutOfStock = props.isOutOfStock, isRequired = props.isRequired, handleOptionsClick = props.handleOptionsClick, selectionQuantity = props.selectionQuantity;
881
- var classes = useDishModifierCardStyles();
800
+ const DishModifierCard = (props) => {
801
+ const { aggregatePrice, name, disableNewSelections, modifiers, value, messages, onChange, type, error, isOutOfStock, isRequired, handleOptionsClick, selectionQuantity, } = props;
802
+ const classes = useDishModifierCardStyles();
882
803
  return (React.createElement(commonUi.Box, { className: classes.root },
883
804
  React.createElement(commonUi.Box, { display: "flex", justifyContent: "space-between", width: "100%", alignItems: "center", height: "fit-content", marginBottom: 2 },
884
- React.createElement(StatusTag, tslib.__assign({}, getStatusTagProps(props))),
885
- !isOutOfStock && (React.createElement(commonUi.Typography, { variant: "subtitle1", className: classNames((_a = {}, _a[classes.error] = error, _a[classes.helperText] = !error, _a)) }, messages.helperText))),
805
+ React.createElement(StatusTag, { ...getStatusTagProps(props) }),
806
+ !isOutOfStock && (React.createElement(commonUi.Typography, { variant: "subtitle1", className: classNames({ [classes.error]: error, [classes.helperText]: !error }) }, messages.helperText))),
886
807
  React.createElement(commonUi.Typography, { className: classes.name }, name),
887
808
  React.createElement(commonUi.Box, null,
888
809
  React.createElement(ModifierControls, { name: name, value: value, modifiers: modifiers, isOutOfStock: isOutOfStock, isRequired: isRequired, onChange: onChange, disableNewSelections: disableNewSelections, type: type, messages: messages, handleOptionsClick: handleOptionsClick, aggregatePrice: aggregatePrice, selectionQuantity: selectionQuantity }))));
889
810
  };
890
811
  DishModifierCard.displayName = 'DishModifierCard';
891
812
 
892
- var useLocationCardStyles = core.makeStyles(function (theme) {
893
- var _a = theme.palette, info = _a.info, grey = _a.grey, secondary = _a.secondary, background = _a.background, spacing = theme.spacing;
894
- var selectedBackgroundColor = core.lighten(info.light, 0.9);
895
- var backgroundColor = background.default;
813
+ const useLocationCardStyles = core.makeStyles((theme) => {
814
+ const { palette: { info, grey, secondary, background }, spacing, } = theme;
815
+ const selectedBackgroundColor = core.lighten(info.light, 0.9);
816
+ const backgroundColor = background.default;
896
817
  return {
897
818
  root: {
898
- border: function (_a) {
899
- var selected = _a.selected;
900
- return selected ? "1px solid " + info.light : '1px solid var(--surfaces-card-stroke, #E0E0E0)';
901
- },
819
+ border: ({ selected }) => selected ? `1px solid ${info.light}` : '1px solid var(--surfaces-card-stroke, #E0E0E0)',
902
820
  display: 'flex',
903
821
  borderRadius: '10px',
904
822
  color: grey[900],
905
- backgroundColor: function (_a) {
906
- var selected = _a.selected, outOfRange = _a.outOfRange;
907
- return selected ? selectedBackgroundColor : outOfRange ? grey[200] : backgroundColor;
908
- },
823
+ backgroundColor: ({ selected, outOfRange }) => selected ? selectedBackgroundColor : outOfRange ? grey[200] : backgroundColor,
909
824
  },
910
825
  actionAreaFocusHighlight: {
911
826
  '&:disabled': {
@@ -949,15 +864,15 @@ var useLocationCardStyles = core.makeStyles(function (theme) {
949
864
  };
950
865
  });
951
866
 
952
- var LocationCard = function (props) {
953
- var name = props.name, address = props.address, distance = props.distance, generalAvailability = props.generalAvailability, pickupAvailability = props.pickupAvailability, deliveryAvailability = props.deliveryAvailability, onClick = props.onClick, selected = props.selected, value = props.value, outOfRange = props.outOfRange, outOfRangeMessage = props.outOfRangeMessage, CardActionAreaProps = props.CardActionAreaProps, muiProps = tslib.__rest(props, ["name", "address", "distance", "generalAvailability", "pickupAvailability", "deliveryAvailability", "onClick", "selected", "value", "outOfRange", "outOfRangeMessage", "CardActionAreaProps"]);
954
- var classes = useLocationCardStyles(props);
955
- var anyAvailability = generalAvailability || pickupAvailability || deliveryAvailability;
956
- var handleClick = function () {
867
+ const LocationCard = (props) => {
868
+ const { name, address, distance, generalAvailability, pickupAvailability, deliveryAvailability, onClick, selected, value, outOfRange, outOfRangeMessage, CardActionAreaProps, ...muiProps } = props;
869
+ const classes = useLocationCardStyles(props);
870
+ const anyAvailability = generalAvailability || pickupAvailability || deliveryAvailability;
871
+ const handleClick = () => {
957
872
  onClick(value);
958
873
  };
959
- return (React.createElement(core.Card, tslib.__assign({ className: classes.root }, muiProps),
960
- React.createElement(core.CardActionArea, tslib.__assign({ onClick: handleClick, role: "radio", "aria-checked": selected, disabled: outOfRange || Boolean(anyAvailability), classes: { focusHighlight: classes.actionAreaFocusHighlight } }, CardActionAreaProps),
874
+ return (React.createElement(core.Card, { className: classes.root, ...muiProps },
875
+ React.createElement(core.CardActionArea, { onClick: handleClick, role: "radio", "aria-checked": selected, disabled: outOfRange || Boolean(anyAvailability), classes: { focusHighlight: classes.actionAreaFocusHighlight }, ...CardActionAreaProps },
961
876
  React.createElement(core.CardContent, { className: classes.content },
962
877
  React.createElement(core.Box, { className: classes.locationInfo },
963
878
  React.createElement(core.Box, { display: "flex", justifyContent: "space-between" },
@@ -975,55 +890,48 @@ var LocationCard = function (props) {
975
890
  React.createElement(core.Typography, { variant: "body2", className: classes.greyText }, outOfRangeMessage)))))));
976
891
  };
977
892
 
978
- var useMenuDropdownStyles = core.makeStyles(function (theme) {
979
- var _a, _b;
980
- return ({
981
- formControl: (_a = {},
982
- _a[theme.breakpoints.up('lg')] = {
983
- alignSelf: 'start',
984
- },
985
- _a),
986
- menuItem: {
987
- alignItems: 'center',
988
- display: 'flex',
989
- gridGap: theme.spacing(1),
893
+ const useMenuDropdownStyles = core.makeStyles((theme) => ({
894
+ formControl: {
895
+ [theme.breakpoints.up('lg')]: {
896
+ alignSelf: 'start',
990
897
  },
991
- select: {
992
- '& .MuiSelect-root': (_b = {
993
- '&:focus': {
994
- outline: '2px solid #0076CB',
995
- borderRadius: 8,
996
- },
997
- color: '#212121',
998
- padding: theme.spacing(1, 0.5, 1, 0.5),
999
- zIndex: 10
1000
- },
1001
- _b[theme.breakpoints.down('md')] = {
1002
- width: 0,
1003
- minWidth: 0,
1004
- padding: 0,
1005
- },
1006
- _b),
1007
- },
1008
- unavailable: {
1009
- color: theme.palette.grey[700],
898
+ },
899
+ menuItem: {
900
+ alignItems: 'center',
901
+ display: 'flex',
902
+ gridGap: theme.spacing(1),
903
+ },
904
+ select: {
905
+ '& .MuiSelect-root': {
906
+ '&:focus': {
907
+ outline: '2px solid #0076CB',
908
+ borderRadius: 8,
909
+ },
910
+ color: '#212121',
911
+ padding: theme.spacing(1, 0.5, 1, 0.5),
912
+ zIndex: 10,
913
+ [theme.breakpoints.down('md')]: {
914
+ width: 0,
915
+ minWidth: 0,
916
+ padding: 0,
917
+ },
1010
918
  },
1011
- });
1012
- });
919
+ },
920
+ unavailable: {
921
+ color: theme.palette.grey[700],
922
+ },
923
+ }));
1013
924
 
1014
- var MenuDropdown = function (props) {
1015
- var menuOptions = props.menuOptions, onSelect = props.onSelect, selectedOptionId = props.selectedOptionId;
1016
- var classes = useMenuDropdownStyles(props);
1017
- var _a = React.useState(false), open = _a[0], setOpen = _a[1];
1018
- var isMobile = core.useMediaQuery(function (_a) {
1019
- var breakpoints = _a.breakpoints;
1020
- return breakpoints.down('md');
1021
- });
925
+ const MenuDropdown = (props) => {
926
+ const { menuOptions, onSelect, selectedOptionId } = props;
927
+ const classes = useMenuDropdownStyles(props);
928
+ const [open, setOpen] = React.useState(false);
929
+ const isMobile = core.useMediaQuery((theme) => theme.breakpoints.down('md'));
1022
930
  return (React.createElement(core.FormControl, { hiddenLabel: true, classes: { root: classes.formControl } },
1023
931
  React.createElement("label", { id: "menu-dropdown-label", className: "sr-only" }, props.label),
1024
- React.createElement(core.Select, { SelectDisplayProps: { 'aria-labelledby': 'menu-dropdown-label' }, value: selectedOptionId, onOpen: function () { return setOpen(true); }, onClose: function () { return setOpen(false); }, disableUnderline: true, onChange: function (event) { return onSelect(event.target.value); }, fullWidth: true, open: open, startAdornment: React.createElement(core.InputAdornment, { position: "start", onClick: function () { return setOpen(true); } },
1025
- React.createElement(commonUi.Icon, { icon: webIcons.RestaurantMenu, size: isMobile ? 'extra-large' : 'large' })), IconComponent: function () { return (React.createElement(core.InputAdornment, { position: "end", onClick: function () { return setOpen(true); } },
1026
- React.createElement(commonUi.Icon, { color: "#0076CB", icon: open ? webIcons.ChevronUp : webIcons.ChevronDown, size: "large" }))); }, MenuProps: {
932
+ React.createElement(core.Select, { SelectDisplayProps: { 'aria-labelledby': 'menu-dropdown-label' }, value: selectedOptionId, onOpen: () => setOpen(true), onClose: () => setOpen(false), disableUnderline: true, onChange: (event) => onSelect(event.target.value), fullWidth: true, open: open, startAdornment: React.createElement(core.InputAdornment, { position: "start", onClick: () => setOpen(true) },
933
+ React.createElement(commonUi.Icon, { icon: webIcons.RestaurantMenu, size: isMobile ? 'extra-large' : 'large' })), IconComponent: () => (React.createElement(core.InputAdornment, { position: "end", onClick: () => setOpen(true) },
934
+ React.createElement(commonUi.Icon, { color: "#0076CB", icon: open ? webIcons.ChevronUp : webIcons.ChevronDown, size: "large" }))), MenuProps: {
1027
935
  disablePortal: true,
1028
936
  anchorOrigin: {
1029
937
  vertical: 'bottom',
@@ -1034,9 +942,9 @@ var MenuDropdown = function (props) {
1034
942
  horizontal: 'left',
1035
943
  },
1036
944
  getContentAnchorEl: null,
1037
- }, className: classes.select, renderValue: function (selected) { var _a; return (_a = menuOptions.find(function (menuOption) { return menuOption.id === selected; })) === null || _a === void 0 ? void 0 : _a.name; } }, menuOptions.map(function (option, index) { return (React.createElement(core.MenuItem, { key: index, value: option.id, className: classNames(classes.menuItem, option.isUnavailable ? classes.unavailable : '') },
945
+ }, className: classes.select, renderValue: (selected) => menuOptions.find((menuOption) => menuOption.id === selected)?.name }, menuOptions.map((option, index) => (React.createElement(core.MenuItem, { key: index, value: option.id, className: classNames(classes.menuItem, option.isUnavailable ? classes.unavailable : '') },
1038
946
  option.name,
1039
- option.isUnavailable && React.createElement(commonUi.Icon, { icon: webIcons.Clock, size: "large" }))); }))));
947
+ option.isUnavailable && React.createElement(commonUi.Icon, { icon: webIcons.Clock, size: "large" })))))));
1040
948
  };
1041
949
 
1042
950
  var _path;
@@ -1056,36 +964,36 @@ function SvgLeafIcon(props) {
1056
964
  })));
1057
965
  }
1058
966
 
1059
- var useMenuFilterStyles = core.makeStyles(function (theme) { return ({
967
+ const useMenuFilterStyles = core.makeStyles((theme) => ({
1060
968
  triggerLabel: {
1061
969
  color: theme.palette.info.main,
1062
970
  whiteSpace: 'nowrap',
1063
971
  },
1064
- }); });
1065
-
1066
- var MenuFilter = function (props) {
1067
- var options = props.options, onChange = props.onChange, onClear = props.onClear, value = props.value, _a = props.triggerLabel, triggerLabel = _a === void 0 ? 'Add Filter' : _a, _b = props.noOptionsLabel, noOptionsLabel = _b === void 0 ? 'Reset Filters' : _b;
1068
- var triggerId = 'menu-filter-trigger';
1069
- var popoverId = 'menu-filter-popover';
1070
- var classes = useMenuFilterStyles();
1071
- var _c = React.useState(null), anchorEl = _c[0], setAnchorEl = _c[1];
1072
- var open = Boolean(anchorEl);
1073
- var optionIds = options.map(function (opt) { return opt.id; });
1074
- var valueIds = value.map(function (val) { return val.id; });
1075
- var availableIds = optionIds.filter(function (optionId) { return !valueIds.includes(optionId); });
1076
- var availableFilters = options.filter(function (opt) { return availableIds.includes(opt.id); });
1077
- var allFiltersSelected = availableFilters.length === 0;
1078
- var handleChange = function (value, event) {
972
+ }));
973
+
974
+ const MenuFilter = (props) => {
975
+ const { options, onChange, onClear, value, triggerLabel = 'Add Filter', noOptionsLabel = 'Reset Filters' } = props;
976
+ const triggerId = 'menu-filter-trigger';
977
+ const popoverId = 'menu-filter-popover';
978
+ const classes = useMenuFilterStyles();
979
+ const [anchorEl, setAnchorEl] = React.useState(null);
980
+ const open = Boolean(anchorEl);
981
+ const optionIds = options.map((opt) => opt.id);
982
+ const valueIds = value.map((val) => val.id);
983
+ const availableIds = optionIds.filter((optionId) => !valueIds.includes(optionId));
984
+ const availableFilters = options.filter((opt) => availableIds.includes(opt.id));
985
+ const allFiltersSelected = availableFilters.length === 0;
986
+ const handleChange = (value, event) => {
1079
987
  onChange(value, event);
1080
988
  setAnchorEl(null);
1081
989
  };
1082
- var handleTriggerClick = function (event) {
990
+ const handleTriggerClick = (event) => {
1083
991
  setAnchorEl(event.currentTarget);
1084
992
  };
1085
- var handleClose = function () {
993
+ const handleClose = () => {
1086
994
  setAnchorEl(null);
1087
995
  };
1088
- var handleClear = function () {
996
+ const handleClear = () => {
1089
997
  onClear();
1090
998
  setAnchorEl(null);
1091
999
  };
@@ -1094,46 +1002,14 @@ var MenuFilter = function (props) {
1094
1002
  }
1095
1003
  return (React.createElement(React.Fragment, null,
1096
1004
  React.createElement(core.Button, { id: triggerId, "aria-controls": popoverId, "aria-haspopup": "true", "aria-expanded": open, onClick: handleTriggerClick, size: "small", startIcon: React.createElement(commonUi.Icon, { icon: SvgLeafIcon }), classes: { label: classes.triggerLabel } }, triggerLabel),
1097
- React.createElement(core.Menu, { id: popoverId, anchorEl: anchorEl, open: open, onClose: handleClose }, availableFilters.map(function (option, index) {
1098
- return (React.createElement(core.MenuItem, { key: index, value: option.id, onClick: function (event) { return handleChange(option, event); } },
1005
+ React.createElement(core.Menu, { id: popoverId, anchorEl: anchorEl, open: open, onClose: handleClose }, availableFilters.map((option, index) => {
1006
+ return (React.createElement(core.MenuItem, { key: index, value: option.id, onClick: (event) => handleChange(option, event) },
1099
1007
  React.createElement(ItemTag, { alt: option.abbr, color: option.color }, option.abbr),
1100
1008
  React.createElement(core.Box, { ml: 1 }, option.name)));
1101
1009
  }))));
1102
1010
  };
1103
1011
 
1104
- var useMenuTabStyles = core.makeStyles(function (_a) {
1105
- var palette = _a.palette, spacing = _a.spacing;
1106
- return ({
1107
- root: {
1108
- '& > .MuiTab-wrapper': {
1109
- flexDirection: 'row-reverse',
1110
- gridGap: spacing(1),
1111
- textAlign: 'center',
1112
- '& > svg': {
1113
- marginBottom: '0 !important',
1114
- },
1115
- },
1116
- },
1117
- isUnavailable: {
1118
- color: palette.grey[700],
1119
- },
1120
- });
1121
- });
1122
-
1123
- var MenuTab = function (props) {
1124
- var isUnavailable = props.isUnavailable, value = props.value;
1125
- var classes = useMenuTabStyles(props);
1126
- return (React.createElement(core.Tab, tslib.__assign({ "data-tab-for-section-id": value, classes: {
1127
- root: classes.root,
1128
- }, disabled: isUnavailable, icon: isUnavailable ? React.createElement(commonUi.Icon, { icon: webIcons.Clock, size: "large" }) : undefined }, props)));
1129
- };
1130
-
1131
- var MenuTabGroup = function (props) {
1132
- var children = props.children, muiProps = tslib.__rest(props, ["children"]);
1133
- return (React.createElement(core.Tabs, tslib.__assign({ scrollButtons: "on", variant: "scrollable" }, muiProps), children));
1134
- };
1135
-
1136
- var useSelectableChipStyles = core.makeStyles(function (theme) { return ({
1012
+ const useSelectableChipStyles = core.makeStyles((theme) => ({
1137
1013
  root: {
1138
1014
  border: '2px solid',
1139
1015
  borderColor: theme.palette.grey[100],
@@ -1161,124 +1037,113 @@ var useSelectableChipStyles = core.makeStyles(function (theme) { return ({
1161
1037
  },
1162
1038
  },
1163
1039
  },
1164
- }); });
1040
+ }));
1165
1041
 
1166
- var SelectableChip = function (props) {
1167
- var classes = useSelectableChipStyles(props);
1168
- return (React.createElement(core.Tab, tslib.__assign({ "data-tab-for-section-id": props.value, classes: {
1042
+ const SelectableChip = (props) => {
1043
+ const classes = useSelectableChipStyles(props);
1044
+ return (React.createElement(core.Tab, { "data-tab-for-section-id": props.value, classes: {
1169
1045
  root: classes.root,
1170
1046
  selected: classes.selected,
1171
- } }, props)));
1047
+ }, ...props }));
1172
1048
  };
1173
1049
 
1174
- var useSelectableChipGroupStyles = core.makeStyles(function (_a) {
1175
- var _b;
1176
- var breakpoints = _a.breakpoints, spacing = _a.spacing;
1177
- return ({
1178
- flexContainer: (_b = {},
1179
- _b[breakpoints.down('md')] = {
1180
- padding: spacing(0, 2),
1181
- },
1182
- _b[breakpoints.up('lg')] = {
1183
- alignItems: 'flex-start',
1184
- flexDirection: 'column',
1185
- },
1186
- _b.gridGap = spacing(1.5),
1187
- _b),
1188
- });
1189
- });
1050
+ const useSelectableChipGroupStyles = core.makeStyles(({ breakpoints, spacing }) => ({
1051
+ flexContainer: {
1052
+ [breakpoints.down('md')]: {
1053
+ padding: spacing(0, 2),
1054
+ },
1055
+ [breakpoints.up('lg')]: {
1056
+ alignItems: 'flex-start',
1057
+ flexDirection: 'column',
1058
+ },
1059
+ gridGap: spacing(1.5),
1060
+ },
1061
+ }));
1190
1062
 
1191
- var SelectableChipGroup = function (props) {
1192
- var children = props.children, muiProps = tslib.__rest(props, ["children"]);
1193
- var classes = useSelectableChipGroupStyles(props);
1194
- return (React.createElement(core.Tabs, tslib.__assign({ TabIndicatorProps: {
1063
+ const SelectableChipGroup = (props) => {
1064
+ const { children, ...muiProps } = props;
1065
+ const classes = useSelectableChipGroupStyles(props);
1066
+ return (React.createElement(core.Tabs, { TabIndicatorProps: {
1195
1067
  hidden: true,
1196
- }, variant: "scrollable", scrollButtons: "off", classes: classes }, muiProps), children));
1068
+ }, variant: "scrollable", scrollButtons: "off", classes: classes, ...muiProps }, children));
1197
1069
  };
1198
1070
 
1199
- var useStyles$4 = core.makeStyles(function (_a) {
1200
- var spacing = _a.spacing;
1201
- return ({
1202
- root: {
1203
- padding: spacing(0.5, 0),
1204
- height: 'unset',
1205
- borderRadius: 4,
1206
- },
1207
- label: {
1208
- paddingLeft: 8,
1209
- display: 'flex',
1210
- gridGap: 8,
1211
- alignItems: 'center',
1212
- },
1213
- });
1214
- });
1215
- var SelectedMenuFiltersList = function (props) {
1216
- var filters = props.filters, onChipClick = props.onChipClick;
1217
- var classes = useStyles$4();
1218
- return (React.createElement(React.Fragment, null, filters.map(function (filter, index) { return (React.createElement(core.Chip, { key: filter.name + "-" + index, classes: classes, onClick: function (event) { return onChipClick(filter, event); }, label: React.createElement(React.Fragment, null,
1071
+ const useStyles$4 = core.makeStyles(({ spacing }) => ({
1072
+ root: {
1073
+ padding: spacing(0.5, 0),
1074
+ height: 'unset',
1075
+ borderRadius: 4,
1076
+ },
1077
+ label: {
1078
+ paddingLeft: 8,
1079
+ display: 'flex',
1080
+ gridGap: 8,
1081
+ alignItems: 'center',
1082
+ },
1083
+ }));
1084
+ const SelectedMenuFiltersList = (props) => {
1085
+ const { filters, onChipClick } = props;
1086
+ const classes = useStyles$4();
1087
+ return (React.createElement(React.Fragment, null, filters.map((filter, index) => (React.createElement(core.Chip, { key: `${filter.name}-${index}`, classes: classes, onClick: (event) => onChipClick(filter, event), label: React.createElement(React.Fragment, null,
1219
1088
  React.createElement(ItemTag, { alt: filter.abbr, color: filter.color }, filter.abbr),
1220
1089
  React.createElement(core.Typography, { variant: "caption" }, filter.name),
1221
- React.createElement(commonUi.Icon, { icon: webIcons.XCircle, size: "large" })) })); })));
1090
+ React.createElement(commonUi.Icon, { icon: webIcons.XCircle, size: "large" })) })))));
1222
1091
  };
1223
1092
 
1224
- var MenuSectionGroup = React.forwardRef(function (props, ref) {
1225
- var children = props.children, restProps = tslib.__rest(props, ["children"]);
1226
- return (React.createElement(core.Box, tslib.__assign({ display: "flex", flexDirection: "column", gridGap: 40, marginBottom: 4 }, restProps, { ref: ref }, { "data-component-type": "menu-section-group" }), children));
1227
- });
1228
- MenuSectionGroup.displayName = 'MenuSectionGroup';
1229
-
1230
- var useStyles$3 = core.makeStyles(function () { return ({
1093
+ const useStyles$3 = core.makeStyles(() => ({
1231
1094
  title: {
1232
1095
  fontWeight: 400,
1233
1096
  fontSize: 20,
1234
1097
  lineHeight: '30px',
1235
1098
  },
1236
- }); });
1099
+ }));
1237
1100
 
1238
- var MenuSection = React.forwardRef(function (props, ref) {
1239
- var name = props.name, children = props.children, loading = props.loading, restProps = tslib.__rest(props, ["name", "children", "loading"]);
1240
- var classes = useStyles$3();
1241
- return (React.createElement(core.Box, tslib.__assign({}, restProps, { ref: ref, component: 'section' }, { "data-component-type": "menu-section", style: { scrollMarginTop: '70px' } }),
1101
+ const MenuSection = React.forwardRef((props, ref) => {
1102
+ const { name, children, loading, ...restProps } = props;
1103
+ const classes = useStyles$3();
1104
+ return (React.createElement(core.Box, { ...restProps, ref, component: 'section', "data-component-type": "menu-section", style: { scrollMarginTop: '70px' } },
1242
1105
  React.createElement(core.Box, { marginTop: 1, marginBottom: 4 },
1243
1106
  React.createElement(core.Typography, { component: "h1", className: classes.title }, loading ? React.createElement(lab.Skeleton, null) : name)),
1244
1107
  children));
1245
1108
  });
1246
1109
  MenuSection.displayName = 'MenuSection';
1247
1110
 
1248
- var useStyles$2 = core.makeStyles(function (_a) {
1249
- var _b;
1250
- var breakpoints = _a.breakpoints;
1251
- return ({
1252
- main: (_b = {},
1253
- _b[breakpoints.down('md')] = {
1254
- gridTemplateColumns: '1fr',
1255
- },
1256
- _b[breakpoints.up('lg')] = {
1257
- gridTemplateColumns: 'repeat(2, minmax(280px, 1fr))',
1258
- },
1259
- _b.display = 'grid',
1260
- _b.gridGap = 32,
1261
- _b),
1262
- });
1111
+ const MenuSectionGroup = React.forwardRef((props, ref) => {
1112
+ const { children, ...restProps } = props;
1113
+ return (React.createElement(core.Box, { display: "flex", flexDirection: "column", gridGap: 40, marginBottom: 4, ...restProps, ref, "data-component-type": "menu-section-group" }, children));
1263
1114
  });
1115
+ MenuSectionGroup.displayName = 'MenuSectionGroup';
1264
1116
 
1265
- var MenuItemGroup = React.forwardRef(function (props, ref) {
1266
- var classes = useStyles$2();
1267
- props.children; var className = props.className, restProps = tslib.__rest(props, ["children", "className"]);
1268
- return (React.createElement(core.Box, tslib.__assign({ className: classNames(classes.main, className) }, { ref: ref }, { "data-component-type": "menu-item-group" }, restProps), props.children));
1117
+ const useStyles$2 = core.makeStyles(({ breakpoints }) => ({
1118
+ main: {
1119
+ [breakpoints.down('md')]: {
1120
+ gridTemplateColumns: '1fr',
1121
+ },
1122
+ [breakpoints.up('lg')]: {
1123
+ gridTemplateColumns: 'repeat(2, minmax(280px, 1fr))',
1124
+ },
1125
+ display: 'grid',
1126
+ gridGap: 32,
1127
+ },
1128
+ }));
1129
+
1130
+ const MenuItemGroup = React.forwardRef((props, ref) => {
1131
+ const classes = useStyles$2();
1132
+ const { children, className, ...restProps } = props;
1133
+ return (React.createElement(core.Box, { className: classNames(classes.main, className), ref, "data-component-type": "menu-item-group", ...restProps }, props.children));
1269
1134
  });
1270
1135
  MenuItemGroup.displayName = 'MenuItemGroup';
1271
1136
 
1272
- var PageSection = function (props) { return (React.createElement(core.Box, { p: 4, borderBottom: "1px solid #E0E0E0" }, props.children)); };
1137
+ const PageSection = (props) => (React.createElement(core.Box, { p: 4, borderBottom: "1px solid #E0E0E0" }, props.children));
1273
1138
 
1274
- var useStyles$1 = core.makeStyles(function () { return ({
1139
+ const useStyles$1 = core.makeStyles(() => ({
1275
1140
  closeButton: {
1276
1141
  padding: 0,
1277
1142
  },
1278
- }); });
1279
- var DialogTitle = function (props) {
1280
- var Icon = props.Icon, title = props.title, titleId = props.titleId, onClose = props.onClose;
1281
- var classes = useStyles$1();
1143
+ }));
1144
+ const DialogTitle = (props) => {
1145
+ const { Icon, title, titleId, onClose } = props;
1146
+ const classes = useStyles$1();
1282
1147
  return (React.createElement(core.DialogTitle, null,
1283
1148
  React.createElement(core.Box, { display: "flex", alignItems: "center", gridGap: 16 },
1284
1149
  Icon && Icon,
@@ -1287,56 +1152,47 @@ var DialogTitle = function (props) {
1287
1152
  React.createElement(commonUi.Icon, { icon: webIcons.X })))));
1288
1153
  };
1289
1154
 
1290
- var DialogSection = function (props) {
1291
- var edgeToEdge = props.edgeToEdge, borderBottom = props.borderBottom, children = props.children, restProps = tslib.__rest(props, ["edgeToEdge", "borderBottom", "children"]);
1292
- return (React.createElement(core.Box, tslib.__assign({ paddingTop: 4, paddingBottom: borderBottom ? 4 : 0, paddingX: edgeToEdge ? 0 : 2, borderBottom: borderBottom ? '1px solid #E0E0E0' : undefined }, restProps), children));
1155
+ const DialogSection = (props) => {
1156
+ const { edgeToEdge, borderBottom, children, ...restProps } = props;
1157
+ return (React.createElement(core.Box, { paddingTop: 4, paddingBottom: borderBottom ? 4 : 0, paddingX: edgeToEdge ? 0 : 2, borderBottom: borderBottom ? '1px solid #E0E0E0' : undefined, ...restProps }, children));
1293
1158
  };
1294
1159
 
1295
- var Switch = core.withStyles(function (_a) {
1296
- var palette = _a.palette;
1297
- return ({
1298
- checked: {
1299
- '& $thumb': {
1300
- backgroundColor: palette.success.main,
1301
- },
1302
- '&& + $track': {
1303
- backgroundColor: palette.success.main,
1304
- opacity: 0.5,
1305
- },
1160
+ const Switch = core.withStyles(({ palette }) => ({
1161
+ checked: {
1162
+ '& $thumb': {
1163
+ backgroundColor: palette.success.main,
1306
1164
  },
1307
- switchBase: {
1308
- color: palette.grey[300],
1165
+ '&& + $track': {
1166
+ backgroundColor: palette.success.main,
1167
+ opacity: 0.5,
1309
1168
  },
1310
- thumb: {},
1311
- track: {},
1312
- });
1313
- })(core.Switch);
1169
+ },
1170
+ switchBase: {
1171
+ color: palette.grey[300],
1172
+ },
1173
+ thumb: {},
1174
+ track: {},
1175
+ }))(core.Switch);
1314
1176
 
1315
- var Checkbox = core.withStyles(function (_a) {
1316
- var palette = _a.palette;
1317
- return ({
1318
- checked: {},
1319
- root: {
1320
- '&$checked': {
1321
- color: palette.info.main,
1322
- },
1177
+ const Checkbox = core.withStyles(({ palette }) => ({
1178
+ checked: {},
1179
+ root: {
1180
+ '&$checked': {
1181
+ color: palette.info.main,
1323
1182
  },
1324
- });
1325
- })(core.Checkbox);
1183
+ },
1184
+ }))(core.Checkbox);
1326
1185
 
1327
- var Radio = core.withStyles(function (_a) {
1328
- var palette = _a.palette;
1329
- return ({
1330
- checked: {},
1331
- root: {
1332
- '&$checked': {
1333
- color: palette.info.main,
1334
- },
1186
+ const Radio = core.withStyles(({ palette }) => ({
1187
+ checked: {},
1188
+ root: {
1189
+ '&$checked': {
1190
+ color: palette.info.main,
1335
1191
  },
1336
- });
1337
- })(core.Radio);
1192
+ },
1193
+ }))(core.Radio);
1338
1194
 
1339
- var useStyles = core.makeStyles(function (theme) { return ({
1195
+ const useStyles = core.makeStyles((theme) => ({
1340
1196
  root: {
1341
1197
  '& > div': {
1342
1198
  padding: 0,
@@ -1358,63 +1214,59 @@ var useStyles = core.makeStyles(function (theme) { return ({
1358
1214
  color: theme.palette.grey[700],
1359
1215
  },
1360
1216
  header: {
1361
- color: function (props) {
1362
- return ({
1363
- alert: theme.palette.error.main,
1364
- info: theme.palette.info.main,
1365
- offer: theme.palette.success.main,
1366
- }[props.type]);
1367
- },
1217
+ color: (props) => ({
1218
+ alert: theme.palette.error.main,
1219
+ info: theme.palette.info.main,
1220
+ offer: theme.palette.success.main,
1221
+ }[props.type]),
1368
1222
  },
1369
1223
  headerTitle: {
1370
- color: function (props) {
1371
- return ({
1372
- alert: theme.palette.error.main,
1373
- info: theme.palette.info.main,
1374
- offer: theme.palette.success.main,
1375
- }[props.type]);
1376
- },
1224
+ color: (props) => ({
1225
+ alert: theme.palette.error.main,
1226
+ info: theme.palette.info.main,
1227
+ offer: theme.palette.success.main,
1228
+ }[props.type]),
1377
1229
  fontWeight: 600,
1378
1230
  },
1379
1231
  content: {
1380
1232
  marginLeft: theme.spacing(5),
1381
1233
  },
1382
- }); });
1234
+ }));
1383
1235
 
1384
- var bannerIconStyles = { color: 'inherit', width: 24, height: 24 };
1385
- var BannerTypeIcons = {
1236
+ const bannerIconStyles = { color: 'inherit', width: 24, height: 24 };
1237
+ const BannerTypeIcons = {
1386
1238
  alert: React.createElement(webIcons.Warning, { style: bannerIconStyles }),
1387
1239
  info: React.createElement(webIcons.Info, { style: bannerIconStyles }),
1388
1240
  offer: React.createElement(webIcons.DollarSign, { style: bannerIconStyles }),
1389
1241
  };
1390
1242
 
1391
- var MenuBanner = function (props) {
1392
- var show = props.show;
1393
- var classes = useStyles(props);
1243
+ const MenuBanner = (props) => {
1244
+ const { show } = props;
1245
+ const classes = useStyles(props);
1394
1246
  if (!show)
1395
1247
  return null;
1396
1248
  return (React.createElement(core.Card, { classes: { root: classes.root }, variant: "outlined" },
1397
1249
  React.createElement(core.CardHeader, { avatar: BannerTypeIcons[props.type], title: props.title, titleTypographyProps: { variant: 'body1' }, classes: { root: classes.header, title: classes.headerTitle } }),
1398
- React.createElement(MenuBannerDescription, tslib.__assign({}, props)),
1399
- React.createElement(MenuBannerButton, tslib.__assign({}, props))));
1250
+ React.createElement(MenuBannerDescription, { ...props }),
1251
+ React.createElement(MenuBannerButton, { ...props })));
1400
1252
  };
1401
1253
  function MenuBannerDescription(props) {
1402
- var classes = useStyles(props);
1403
- var description = props.description;
1254
+ const classes = useStyles(props);
1255
+ const { description } = props;
1404
1256
  if (!description)
1405
1257
  return null;
1406
1258
  return (React.createElement(core.CardContent, { classes: { root: classes.content } },
1407
1259
  React.createElement(core.Typography, { className: classes.description, variant: "body2" }, props.description)));
1408
1260
  }
1409
1261
  function MenuBannerButton(props) {
1410
- var classes = useStyles(props);
1262
+ const classes = useStyles(props);
1411
1263
  if (!props.buttonLabel)
1412
1264
  return null;
1413
1265
  return (React.createElement(core.CardContent, { classes: { root: classes.content } },
1414
- React.createElement(core.Link, tslib.__assign({}, { component: 'button', variant: 'body2', className: classes.button }, props.ButtonProps), props.buttonLabel)));
1266
+ React.createElement(core.Link, { component: 'button', variant: 'body2', className: classes.button, ...props.ButtonProps }, props.buttonLabel)));
1415
1267
  }
1416
1268
 
1417
- var palette = {
1269
+ const palette = {
1418
1270
  primary: {
1419
1271
  main: '#0A202F',
1420
1272
  },
@@ -1441,7 +1293,7 @@ var palette = {
1441
1293
  },
1442
1294
  };
1443
1295
 
1444
- var overrides = {
1296
+ const overrides = {
1445
1297
  MuiButton: {
1446
1298
  root: {
1447
1299
  borderRadius: 32,
@@ -1514,7 +1366,7 @@ var overrides = {
1514
1366
  },
1515
1367
  };
1516
1368
 
1517
- var props = {
1369
+ const props = {
1518
1370
  MuiButton: {
1519
1371
  disableElevation: true,
1520
1372
  },
@@ -1523,8 +1375,8 @@ var props = {
1523
1375
  },
1524
1376
  };
1525
1377
 
1526
- var fonts = ['"Poppins"', '"sans-serif"'];
1527
- var typography = {
1378
+ const fonts = ['"Poppins"', '"sans-serif"'];
1379
+ const typography = {
1528
1380
  htmlFontSize: 16,
1529
1381
  fontFamily: fonts.join(', '),
1530
1382
  h1: {
@@ -1581,11 +1433,11 @@ var typography = {
1581
1433
  },
1582
1434
  };
1583
1435
 
1584
- var orderingTheme = {
1585
- typography: typography,
1586
- palette: palette,
1587
- overrides: overrides,
1588
- props: props,
1436
+ const orderingTheme = {
1437
+ typography,
1438
+ palette,
1439
+ overrides,
1440
+ props,
1589
1441
  };
1590
1442
 
1591
1443
  exports.Button = Button;