@popmenu/ordering-ui 0.127.0 → 0.127.2

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