@popmenu/ordering-ui 0.78.0 → 0.80.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.es.js CHANGED
@@ -1,17 +1,17 @@
1
- import { Button as Button$2, makeStyles, Typography as Typography$1, Link as Link$1, Paper as Paper$1, Box, Avatar as Avatar$1, useTheme as useTheme$1, FormControl, Select, InputAdornment, MenuItem, FormControlLabel as FormControlLabel$1, Checkbox as Checkbox$1, Radio as Radio$1, Menu, TextField, Chip } from '@material-ui/core';
1
+ import { Button as Button$2, makeStyles as makeStyles$1, Box, Typography as Typography$1, Link as Link$1, Paper as Paper$1, Avatar as Avatar$1, Card, CardActionArea, FormControl, Select, InputAdornment, MenuItem as MenuItem$1, FormControlLabel as FormControlLabel$1, Checkbox as Checkbox$1, Radio as Radio$1, Menu, TextField, Tabs, Chip } from '@material-ui/core';
2
2
  export * from '@material-ui/core';
3
3
  import * as React from 'react';
4
4
  import React__default, { forwardRef, createElement, useState } from 'react';
5
+ import { makeStyles, useTheme, lighten } from '@material-ui/core/styles';
5
6
  import '@material-ui/lab/Alert';
6
7
  import '@material-ui/core/AppBar';
7
8
  import MuiAvatar from '@material-ui/core/Avatar';
8
- import { makeStyles as makeStyles$1, useTheme, lighten } from '@material-ui/core/styles';
9
9
  import '@material-ui/core/Badge';
10
10
  import MuiButton from '@material-ui/core/Button';
11
11
  import CircularProgress from '@material-ui/core/CircularProgress';
12
12
  import '@material-ui/core/ButtonGroup';
13
- import Card from '@material-ui/core/Card';
14
- import CardActionArea from '@material-ui/core/CardActionArea';
13
+ import Card$1 from '@material-ui/core/Card';
14
+ import CardActionArea$1 from '@material-ui/core/CardActionArea';
15
15
  import '@material-ui/core/CardActions';
16
16
  import CardContent from '@material-ui/core/CardContent';
17
17
  import '@material-ui/core/CardHeader';
@@ -43,7 +43,7 @@ import MuiRadio from '@material-ui/core/Radio';
43
43
  import '@material-ui/core/TextField';
44
44
  import MuiSwitch from '@material-ui/core/Switch';
45
45
  import Tab from '@material-ui/core/Tab';
46
- import Tabs from '@material-ui/core/Tabs';
46
+ import '@material-ui/core/Tabs';
47
47
  import MuiToggleButton from '@material-ui/lab/ToggleButton';
48
48
  import MuiToggleButtonGroup from '@material-ui/lab/ToggleButtonGroup';
49
49
  import MuiTooltip from '@material-ui/core/Tooltip';
@@ -104,6 +104,321 @@ var Button$1 = forwardRef(function (props, ref) {
104
104
  });
105
105
  Button$1.displayName = 'Button';
106
106
 
107
+ var useDishCardStyles = makeStyles(function (theme) { return ({
108
+ cardActionArea: {
109
+ display: 'flex',
110
+ gridGap: 16,
111
+ height: '100%',
112
+ },
113
+ card: {
114
+ // TODO: https://app.shortcut.com/popmenu/story/92467/hide-menuitem-borders-in-2-column-view-widths
115
+ '&:after': {
116
+ content: '""',
117
+ position: 'absolute',
118
+ backgroundColor: '#E0E0E0',
119
+ width: '100%',
120
+ height: 1,
121
+ bottom: -16,
122
+ left: 0,
123
+ },
124
+ height: 185,
125
+ position: 'relative',
126
+ overflow: 'visible',
127
+ },
128
+ cardTitle: {
129
+ fontWeight: 500,
130
+ fontSize: 18,
131
+ lineHeight: '27px',
132
+ color: theme.palette.grey[900],
133
+ '-webkit-line-clamp': 2,
134
+ display: '-webkit-box',
135
+ '-webkit-box-orient': 'vertical',
136
+ textOverflow: 'ellipsis',
137
+ overflow: 'hidden',
138
+ },
139
+ cardDescription: {
140
+ fontWeight: 400,
141
+ fontSize: 14,
142
+ lineHeight: '20px',
143
+ color: theme.palette.grey[700],
144
+ '-webkit-line-clamp': 2,
145
+ display: '-webkit-box',
146
+ '-webkit-box-orient': 'vertical',
147
+ textOverflow: 'ellipsis',
148
+ overflow: 'hidden',
149
+ },
150
+ }); });
151
+
152
+ var useStyles$5 = makeStyles$1(function () { return ({
153
+ img: {
154
+ objectFit: 'cover',
155
+ width: '100%',
156
+ height: '100%',
157
+ },
158
+ }); });
159
+ var MenuItemImg = function (props) {
160
+ var _a = props.image, image = _a === void 0 ? {} : _a;
161
+ var src = image.src, alt = image.alt;
162
+ var classes = useStyles$5();
163
+ if (!src || !alt) {
164
+ return null;
165
+ }
166
+ return (React__default.createElement(Box, { width: 125, height: "100%", borderRadius: 16, overflow: "hidden", flexShrink: 0 }, React__default.createElement("img", { src: src, alt: alt, className: classes.img })));
167
+ };
168
+
169
+ var MenuItemInfo = function (props) {
170
+ return (React__default.createElement(Box, { display: "flex", flexGrow: 1, flexDirection: "column", height: "100%" }, props.children));
171
+ };
172
+
173
+ var _path$1g;
174
+
175
+ function _extends$2O() { _extends$2O = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2O.apply(this, arguments); }
176
+
177
+ function SvgChevronDown(props) {
178
+ return /*#__PURE__*/React.createElement("svg", _extends$2O({
179
+ viewBox: "0 0 16 16",
180
+ fill: "none",
181
+ strokeLinecap: "round",
182
+ strokeLinejoin: "round",
183
+ width: "1em",
184
+ height: "1em"
185
+ }, props), _path$1g || (_path$1g = /*#__PURE__*/React.createElement("path", {
186
+ d: "M4 6l4 4 4-4",
187
+ stroke: "currentColor"
188
+ })));
189
+ }
190
+
191
+ var _path$1f;
192
+
193
+ function _extends$2N() { _extends$2N = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2N.apply(this, arguments); }
194
+
195
+ function SvgChevronUp(props) {
196
+ return /*#__PURE__*/React.createElement("svg", _extends$2N({
197
+ viewBox: "0 0 16 16",
198
+ fill: "none",
199
+ strokeLinecap: "round",
200
+ strokeLinejoin: "round",
201
+ width: "1em",
202
+ height: "1em"
203
+ }, props), _path$1f || (_path$1f = /*#__PURE__*/React.createElement("path", {
204
+ d: "M12 10L8 6l-4 4",
205
+ stroke: "currentColor"
206
+ })));
207
+ }
208
+
209
+ var _path$14;
210
+
211
+ function _extends$2u() { _extends$2u = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2u.apply(this, arguments); }
212
+
213
+ function SvgCheck(props) {
214
+ return /*#__PURE__*/React.createElement("svg", _extends$2u({
215
+ viewBox: "0 0 16 16",
216
+ fill: "none",
217
+ strokeLinecap: "round",
218
+ strokeLinejoin: "round",
219
+ width: "1em",
220
+ height: "1em"
221
+ }, props), _path$14 || (_path$14 = /*#__PURE__*/React.createElement("path", {
222
+ d: "M13.333 4L6 11.333 2.667 8",
223
+ stroke: "currentColor"
224
+ })));
225
+ }
226
+
227
+ var _g$1n, _defs$K;
228
+
229
+ function _extends$2s() { _extends$2s = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2s.apply(this, arguments); }
230
+
231
+ function SvgClock(props) {
232
+ return /*#__PURE__*/React.createElement("svg", _extends$2s({
233
+ viewBox: "0 0 16 16",
234
+ fill: "none",
235
+ strokeLinecap: "round",
236
+ strokeLinejoin: "round",
237
+ width: "1em",
238
+ height: "1em"
239
+ }, props), _g$1n || (_g$1n = /*#__PURE__*/React.createElement("g", {
240
+ clipPath: "url(#clock_svg__clip0_8_5092)",
241
+ stroke: "currentColor"
242
+ }, /*#__PURE__*/React.createElement("path", {
243
+ d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333z"
244
+ }), /*#__PURE__*/React.createElement("path", {
245
+ d: "M8 4v4l2.667 1.333"
246
+ }))), _defs$K || (_defs$K = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
247
+ id: "clock_svg__clip0_8_5092"
248
+ }, /*#__PURE__*/React.createElement("path", {
249
+ fill: "currentColor",
250
+ d: "M0 0h16v16H0z"
251
+ })))));
252
+ }
253
+
254
+ var _g$1m, _defs$J;
255
+
256
+ function _extends$2q() { _extends$2q = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2q.apply(this, arguments); }
257
+
258
+ function SvgXCircle(props) {
259
+ return /*#__PURE__*/React.createElement("svg", _extends$2q({
260
+ viewBox: "0 0 16 16",
261
+ fill: "none",
262
+ strokeLinecap: "round",
263
+ strokeLinejoin: "round",
264
+ width: "1em",
265
+ height: "1em"
266
+ }, props), _g$1m || (_g$1m = /*#__PURE__*/React.createElement("g", {
267
+ clipPath: "url(#x-circle_svg__clip0_8_6136)",
268
+ stroke: "currentColor"
269
+ }, /*#__PURE__*/React.createElement("path", {
270
+ d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zM10 6l-4 4m0-4l4 4"
271
+ }))), _defs$J || (_defs$J = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
272
+ id: "x-circle_svg__clip0_8_6136"
273
+ }, /*#__PURE__*/React.createElement("path", {
274
+ fill: "currentColor",
275
+ d: "M0 0h16v16H0z"
276
+ })))));
277
+ }
278
+
279
+ var _path$10;
280
+
281
+ function _extends$2i() { _extends$2i = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2i.apply(this, arguments); }
282
+
283
+ function SvgHeart(props) {
284
+ return /*#__PURE__*/React.createElement("svg", _extends$2i({
285
+ viewBox: "0 0 16 16",
286
+ fill: "none",
287
+ strokeLinecap: "round",
288
+ strokeLinejoin: "round",
289
+ width: "1em",
290
+ height: "1em"
291
+ }, props), _path$10 || (_path$10 = /*#__PURE__*/React.createElement("path", {
292
+ d: "M13.893 3.074a3.667 3.667 0 00-5.186 0L8 3.78l-.707-.706A3.668 3.668 0 002.107 8.26l.706.707L8 14.154l5.187-5.187.706-.707a3.667 3.667 0 000-5.186v0z",
293
+ stroke: "currentColor"
294
+ })));
295
+ }
296
+
297
+ var _g$19, _defs$C;
298
+
299
+ function _extends$24() { _extends$24 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$24.apply(this, arguments); }
300
+
301
+ function SvgMinusCircle(props) {
302
+ return /*#__PURE__*/React.createElement("svg", _extends$24({
303
+ viewBox: "0 0 16 16",
304
+ fill: "none",
305
+ strokeLinecap: "round",
306
+ strokeLinejoin: "round",
307
+ width: "1em",
308
+ height: "1em"
309
+ }, props), _g$19 || (_g$19 = /*#__PURE__*/React.createElement("g", {
310
+ clipPath: "url(#minus-circle_svg__clip0_8_5970)",
311
+ stroke: "currentColor"
312
+ }, /*#__PURE__*/React.createElement("path", {
313
+ d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zM5.333 8h5.334"
314
+ }))), _defs$C || (_defs$C = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
315
+ id: "minus-circle_svg__clip0_8_5970"
316
+ }, /*#__PURE__*/React.createElement("path", {
317
+ fill: "currentColor",
318
+ d: "M0 0h16v16H0z"
319
+ })))));
320
+ }
321
+
322
+ var _path$S;
323
+
324
+ function _extends$20() { _extends$20 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$20.apply(this, arguments); }
325
+
326
+ function SvgPlus(props) {
327
+ return /*#__PURE__*/React.createElement("svg", _extends$20({
328
+ viewBox: "0 0 16 16",
329
+ fill: "none",
330
+ strokeLinecap: "round",
331
+ strokeLinejoin: "round",
332
+ width: "1em",
333
+ height: "1em"
334
+ }, props), _path$S || (_path$S = /*#__PURE__*/React.createElement("path", {
335
+ d: "M8 3.333v9.334M3.333 8h9.334",
336
+ stroke: "currentColor"
337
+ })));
338
+ }
339
+
340
+ var _g$18, _defs$B;
341
+
342
+ function _extends$1$() { _extends$1$ = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1$.apply(this, arguments); }
343
+
344
+ function SvgPlusCircle(props) {
345
+ return /*#__PURE__*/React.createElement("svg", _extends$1$({
346
+ viewBox: "0 0 16 16",
347
+ fill: "none",
348
+ strokeLinecap: "round",
349
+ strokeLinejoin: "round",
350
+ width: "1em",
351
+ height: "1em"
352
+ }, props), _g$18 || (_g$18 = /*#__PURE__*/React.createElement("g", {
353
+ clipPath: "url(#plus-circle_svg__clip0_8_5870)",
354
+ stroke: "currentColor"
355
+ }, /*#__PURE__*/React.createElement("path", {
356
+ d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zm0-9.334v5.334M5.333 8h5.334"
357
+ }))), _defs$B || (_defs$B = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
358
+ id: "plus-circle_svg__clip0_8_5870"
359
+ }, /*#__PURE__*/React.createElement("path", {
360
+ fill: "currentColor",
361
+ d: "M0 0h16v16H0z"
362
+ })))));
363
+ }
364
+
365
+ var _path$O;
366
+
367
+ function _extends$1T() { _extends$1T = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1T.apply(this, arguments); }
368
+
369
+ function SvgTag(props) {
370
+ return /*#__PURE__*/React.createElement("svg", _extends$1T({
371
+ viewBox: "0 0 16 16",
372
+ fill: "none",
373
+ strokeLinecap: "round",
374
+ strokeLinejoin: "round",
375
+ width: "1em",
376
+ height: "1em"
377
+ }, props), _path$O || (_path$O = /*#__PURE__*/React.createElement("path", {
378
+ d: "M13.727 8.94l-4.78 4.78a1.334 1.334 0 01-1.887 0L1.333 8V1.333H8l5.727 5.727a1.333 1.333 0 010 1.88v0zm-9.06-4.273h.007",
379
+ stroke: "currentColor"
380
+ })));
381
+ }
382
+
383
+ var _path$z;
384
+
385
+ function _extends$1o() { _extends$1o = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1o.apply(this, arguments); }
386
+
387
+ function SvgTrash(props) {
388
+ return /*#__PURE__*/React.createElement("svg", _extends$1o({
389
+ viewBox: "0 0 16 16",
390
+ fill: "none",
391
+ strokeLinecap: "round",
392
+ strokeLinejoin: "round",
393
+ width: "1em",
394
+ height: "1em"
395
+ }, props), _path$z || (_path$z = /*#__PURE__*/React.createElement("path", {
396
+ d: "M2 4h12M5.333 4V2.667a1.333 1.333 0 011.334-1.333h2.666a1.333 1.333 0 011.334 1.333V4m2 0v9.334a1.333 1.333 0 01-1.334 1.333H4.667a1.333 1.333 0 01-1.334-1.333V4h9.334zm-6 3.333v4m2.666-4v4",
397
+ stroke: "currentColor"
398
+ })));
399
+ }
400
+
401
+ var _path$e, _path2$2;
402
+
403
+ function _extends$y() { _extends$y = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$y.apply(this, arguments); }
404
+
405
+ function SvgReviews(props) {
406
+ return /*#__PURE__*/React.createElement("svg", _extends$y({
407
+ viewBox: "0 0 16 16",
408
+ fill: "none",
409
+ strokeLinecap: "round",
410
+ strokeLinejoin: "round",
411
+ width: "1em",
412
+ height: "1em"
413
+ }, props), _path$e || (_path$e = /*#__PURE__*/React.createElement("path", {
414
+ d: "M14 7.667a5.587 5.587 0 01-.6 2.533 5.666 5.666 0 01-5.067 3.133 5.588 5.588 0 01-2.533-.6L2 14l1.267-3.8a5.586 5.586 0 01-.6-2.533A5.667 5.667 0 015.8 2.6 5.587 5.587 0 018.333 2h.334A5.654 5.654 0 0114 7.333v.334z",
415
+ stroke: "currentColor"
416
+ })), _path2$2 || (_path2$2 = /*#__PURE__*/React.createElement("path", {
417
+ d: "M8.375 5.363a.2.2 0 01.358 0l.578 1.17a.2.2 0 00.15.11l1.292.189a.2.2 0 01.11.34l-.934.911a.2.2 0 00-.057.177l.22 1.286a.2.2 0 01-.29.21L8.647 9.15a.2.2 0 00-.186 0l-1.155.608a.2.2 0 01-.29-.211l.22-1.286a.2.2 0 00-.058-.177l-.934-.91a.2.2 0 01.11-.341l1.293-.19a.2.2 0 00.15-.109l.578-1.17z",
418
+ fill: "currentColor"
419
+ })));
420
+ }
421
+
107
422
  /*! *****************************************************************************
108
423
  Copyright (c) Microsoft Corporation.
109
424
 
@@ -142,25 +457,25 @@ function __rest(s, e) {
142
457
  return t;
143
458
  }
144
459
 
145
- var _path$M;
460
+ var _path$N;
146
461
 
147
- function _extends$1L() { _extends$1L = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1L.apply(this, arguments); }
462
+ function _extends$1N() { _extends$1N = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1N.apply(this, arguments); }
148
463
 
149
464
  function SvgUser(props) {
150
- return /*#__PURE__*/React.createElement("svg", _extends$1L({
465
+ return /*#__PURE__*/React.createElement("svg", _extends$1N({
151
466
  viewBox: "0 0 16 16",
152
467
  fill: "none",
153
468
  strokeLinecap: "round",
154
469
  strokeLinejoin: "round",
155
470
  width: "1em",
156
471
  height: "1em"
157
- }, props), _path$M || (_path$M = /*#__PURE__*/React.createElement("path", {
472
+ }, props), _path$N || (_path$N = /*#__PURE__*/React.createElement("path", {
158
473
  d: "M13.333 14v-1.333A2.667 2.667 0 0010.667 10H5.333a2.667 2.667 0 00-2.666 2.667V14M8 7.333A2.667 2.667 0 108 2a2.667 2.667 0 000 5.333z",
159
474
  stroke: "currentColor"
160
475
  })));
161
476
  }
162
477
 
163
- var useIconStyles = makeStyles(function (_a) {
478
+ var useIconStyles = makeStyles$1(function (_a) {
164
479
  var spacing = _a.spacing, palette = _a.palette;
165
480
  var getFontSize = function (_a) {
166
481
  var size = _a.size;
@@ -311,7 +626,7 @@ var getAvatarFontSize = function (props) {
311
626
  };
312
627
  return fontSizes[props.size];
313
628
  };
314
- var useAvatarStyles = makeStyles$1(function (theme) { return ({
629
+ var useAvatarStyles = makeStyles(function (theme) { return ({
315
630
  root: function (props) { return ({
316
631
  width: getAvatarDimensions(theme, props),
317
632
  height: getAvatarDimensions(theme, props),
@@ -355,7 +670,7 @@ Avatar.defaultProps = {
355
670
  };
356
671
  Avatar.displayName = 'Avatar';
357
672
 
358
- makeStyles$1(function (theme) { return ({
673
+ makeStyles(function (theme) { return ({
359
674
  circle: {
360
675
  backgroundColor: theme.palette.grey[300],
361
676
  borderRadius: '50%',
@@ -376,7 +691,7 @@ makeStyles$1(function (theme) { return ({
376
691
  },
377
692
  }); });
378
693
 
379
- var useButtonStyles = makeStyles$1(function () { return ({
694
+ var useButtonStyles = makeStyles(function () { return ({
380
695
  root: {
381
696
  minWidth: 'unset',
382
697
  },
@@ -467,7 +782,7 @@ var getBorder = function (theme) { return function (props) {
467
782
  }
468
783
  return borderColor;
469
784
  }; };
470
- makeStyles$1(function (theme) { return ({
785
+ makeStyles(function (theme) { return ({
471
786
  root: {
472
787
  background: getBackground(theme),
473
788
  color: getColor(theme),
@@ -514,7 +829,7 @@ var getCustomColor = function (theme, color) {
514
829
  return undefined;
515
830
  }
516
831
  };
517
- var useTypographyStyles = makeStyles$1(function (theme) {
832
+ var useTypographyStyles = makeStyles(function (theme) {
518
833
  var _a;
519
834
  return ({
520
835
  root: (_a = {},
@@ -570,7 +885,7 @@ var getFadeStop = function (_a, typographyVariant) {
570
885
  ? typography[typographyVariant].lineHeight + "rem"
571
886
  : typography[typographyVariant].lineHeight;
572
887
  };
573
- makeStyles(function (theme) { return ({
888
+ makeStyles$1(function (theme) { return ({
574
889
  overlay: {
575
890
  position: 'absolute',
576
891
  top: 0,
@@ -590,7 +905,7 @@ var SemanticColors;
590
905
  SemanticColors["SECONDARY_DARK"] = "secondary.dark";
591
906
  SemanticColors["SECONDARY_LIGHT"] = "secondary.light";
592
907
  })(SemanticColors || (SemanticColors = {}));
593
- makeStyles(function (theme) { return ({
908
+ makeStyles$1(function (theme) { return ({
594
909
  dividerRoot: {
595
910
  gap: theme.spacing(2),
596
911
  },
@@ -635,7 +950,7 @@ IconButton.defaultProps = {
635
950
  color: 'secondary',
636
951
  };
637
952
 
638
- var useLinkStyles = makeStyles$1(function (theme) { return ({
953
+ var useLinkStyles = makeStyles(function (theme) { return ({
639
954
  root: function (props) {
640
955
  var _a;
641
956
  return (__assign(__assign({ display: 'flex' }, (props.color === undefined && { color: theme.palette.info.main })), (_a = {}, _a["& ." + iconStaticClassName] = {
@@ -654,7 +969,7 @@ Link.defaultProps = {
654
969
  };
655
970
  Link.displayName = 'Link';
656
971
 
657
- var useStyles$1 = makeStyles(function (_a) {
972
+ var useStyles$4 = makeStyles$1(function (_a) {
658
973
  var spacing = _a.spacing;
659
974
  return ({
660
975
  root: {
@@ -668,7 +983,7 @@ var useStyles$1 = makeStyles(function (_a) {
668
983
  });
669
984
  var Paper = forwardRef(function (props, ref) {
670
985
  var legacyStyles = props.legacyStyles, restProps = __rest(props, ["legacyStyles"]);
671
- var classes = useStyles$1(props);
986
+ var classes = useStyles$4(props);
672
987
  return React__default.createElement(Paper$1, __assign({}, ref, { classes: __assign({}, (legacyStyles && classes)) }, restProps));
673
988
  });
674
989
  Paper.displayName = 'Paper';
@@ -683,7 +998,7 @@ var Radio = forwardRef(function (props, ref) {
683
998
  });
684
999
  Radio.displayName = 'Radio';
685
1000
 
686
- makeStyles$1(function () { return ({
1001
+ makeStyles(function () { return ({
687
1002
  textfield: {
688
1003
  background: function (props) { return (props.backgroundTransparency ? '#FFFFFF44' : 'none'); },
689
1004
  borderTopLeftRadius: 4,
@@ -708,7 +1023,7 @@ makeStyles$1(function () { return ({
708
1023
  focused: {},
709
1024
  }); });
710
1025
 
711
- var useSwitchStyles = makeStyles$1(function (theme) { return ({
1026
+ var useSwitchStyles = makeStyles(function (theme) { return ({
712
1027
  checked: {
713
1028
  '& $thumb': {
714
1029
  background: theme.palette.success.main,
@@ -729,7 +1044,7 @@ var Switch = forwardRef(function (props, ref) {
729
1044
  });
730
1045
  Switch.displayName = 'Switch';
731
1046
 
732
- var useToggleButtonStyles = makeStyles$1(function (theme) { return ({
1047
+ var useToggleButtonStyles = makeStyles(function (theme) { return ({
733
1048
  root: {
734
1049
  color: theme.palette.text.primary,
735
1050
  },
@@ -757,7 +1072,7 @@ ToggleButton.defaultProps = {
757
1072
  };
758
1073
  ToggleButton.displayName = 'ToggleButton';
759
1074
 
760
- var useToggleButtonGroupStyles = makeStyles$1(function (theme) { return ({
1075
+ var useToggleButtonGroupStyles = makeStyles(function (theme) { return ({
761
1076
  root: {
762
1077
  '&&': {
763
1078
  backgroundColor: theme.palette.grey[300],
@@ -778,7 +1093,7 @@ var ToggleButtonGroup = forwardRef(function (props, ref) {
778
1093
  });
779
1094
  ToggleButtonGroup.displayName = 'ToggleButtonGroup';
780
1095
 
781
- var useTooltipStyles = makeStyles$1(function (_a) {
1096
+ var useTooltipStyles = makeStyles(function (_a) {
782
1097
  var typography = _a.typography;
783
1098
  return ({
784
1099
  tooltip: {
@@ -793,12 +1108,12 @@ var Tooltip = forwardRef(function (props, ref) {
793
1108
  });
794
1109
  Tooltip.displayName = 'Tooltip';
795
1110
 
796
- makeStyles(function () { return ({
1111
+ makeStyles$1(function () { return ({
797
1112
  root: {
798
1113
  height: 56,
799
1114
  },
800
1115
  }); });
801
- makeStyles(function (theme) { return ({
1116
+ makeStyles$1(function (theme) { return ({
802
1117
  root: {
803
1118
  height: '100%',
804
1119
  width: 'min-content',
@@ -821,315 +1136,6 @@ makeStyles(function (theme) { return ({
821
1136
  },
822
1137
  }); });
823
1138
 
824
- var _path$1f;
825
-
826
- function _extends$2M() { _extends$2M = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2M.apply(this, arguments); }
827
-
828
- function SvgChevronDown(props) {
829
- return /*#__PURE__*/React.createElement("svg", _extends$2M({
830
- viewBox: "0 0 16 16",
831
- fill: "none",
832
- strokeLinecap: "round",
833
- strokeLinejoin: "round",
834
- width: "1em",
835
- height: "1em"
836
- }, props), _path$1f || (_path$1f = /*#__PURE__*/React.createElement("path", {
837
- d: "M4 6l4 4 4-4",
838
- stroke: "currentColor"
839
- })));
840
- }
841
-
842
- var _path$1e;
843
-
844
- function _extends$2L() { _extends$2L = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2L.apply(this, arguments); }
845
-
846
- function SvgChevronUp(props) {
847
- return /*#__PURE__*/React.createElement("svg", _extends$2L({
848
- viewBox: "0 0 16 16",
849
- fill: "none",
850
- strokeLinecap: "round",
851
- strokeLinejoin: "round",
852
- width: "1em",
853
- height: "1em"
854
- }, props), _path$1e || (_path$1e = /*#__PURE__*/React.createElement("path", {
855
- d: "M12 10L8 6l-4 4",
856
- stroke: "currentColor"
857
- })));
858
- }
859
-
860
- var _path$13;
861
-
862
- function _extends$2s() { _extends$2s = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2s.apply(this, arguments); }
863
-
864
- function SvgCheck(props) {
865
- return /*#__PURE__*/React.createElement("svg", _extends$2s({
866
- viewBox: "0 0 16 16",
867
- fill: "none",
868
- strokeLinecap: "round",
869
- strokeLinejoin: "round",
870
- width: "1em",
871
- height: "1em"
872
- }, props), _path$13 || (_path$13 = /*#__PURE__*/React.createElement("path", {
873
- d: "M13.333 4L6 11.333 2.667 8",
874
- stroke: "currentColor"
875
- })));
876
- }
877
-
878
- var _g$1m, _defs$K;
879
-
880
- function _extends$2q() { _extends$2q = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2q.apply(this, arguments); }
881
-
882
- function SvgClock(props) {
883
- return /*#__PURE__*/React.createElement("svg", _extends$2q({
884
- viewBox: "0 0 16 16",
885
- fill: "none",
886
- strokeLinecap: "round",
887
- strokeLinejoin: "round",
888
- width: "1em",
889
- height: "1em"
890
- }, props), _g$1m || (_g$1m = /*#__PURE__*/React.createElement("g", {
891
- clipPath: "url(#clock_svg__clip0_8_5092)",
892
- stroke: "currentColor"
893
- }, /*#__PURE__*/React.createElement("path", {
894
- d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333z"
895
- }), /*#__PURE__*/React.createElement("path", {
896
- d: "M8 4v4l2.667 1.333"
897
- }))), _defs$K || (_defs$K = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
898
- id: "clock_svg__clip0_8_5092"
899
- }, /*#__PURE__*/React.createElement("path", {
900
- fill: "currentColor",
901
- d: "M0 0h16v16H0z"
902
- })))));
903
- }
904
-
905
- var _g$1l, _defs$J;
906
-
907
- function _extends$2o() { _extends$2o = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2o.apply(this, arguments); }
908
-
909
- function SvgXCircle(props) {
910
- return /*#__PURE__*/React.createElement("svg", _extends$2o({
911
- viewBox: "0 0 16 16",
912
- fill: "none",
913
- strokeLinecap: "round",
914
- strokeLinejoin: "round",
915
- width: "1em",
916
- height: "1em"
917
- }, props), _g$1l || (_g$1l = /*#__PURE__*/React.createElement("g", {
918
- clipPath: "url(#x-circle_svg__clip0_8_6136)",
919
- stroke: "currentColor"
920
- }, /*#__PURE__*/React.createElement("path", {
921
- d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zM10 6l-4 4m0-4l4 4"
922
- }))), _defs$J || (_defs$J = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
923
- id: "x-circle_svg__clip0_8_6136"
924
- }, /*#__PURE__*/React.createElement("path", {
925
- fill: "currentColor",
926
- d: "M0 0h16v16H0z"
927
- })))));
928
- }
929
-
930
- var _path$$;
931
-
932
- function _extends$2g() { _extends$2g = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2g.apply(this, arguments); }
933
-
934
- function SvgHeart(props) {
935
- return /*#__PURE__*/React.createElement("svg", _extends$2g({
936
- viewBox: "0 0 16 16",
937
- fill: "none",
938
- strokeLinecap: "round",
939
- strokeLinejoin: "round",
940
- width: "1em",
941
- height: "1em"
942
- }, props), _path$$ || (_path$$ = /*#__PURE__*/React.createElement("path", {
943
- d: "M13.893 3.074a3.667 3.667 0 00-5.186 0L8 3.78l-.707-.706A3.668 3.668 0 002.107 8.26l.706.707L8 14.154l5.187-5.187.706-.707a3.667 3.667 0 000-5.186v0z",
944
- stroke: "currentColor"
945
- })));
946
- }
947
-
948
- var _g$18, _defs$C;
949
-
950
- function _extends$22() { _extends$22 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$22.apply(this, arguments); }
951
-
952
- function SvgMinusCircle(props) {
953
- return /*#__PURE__*/React.createElement("svg", _extends$22({
954
- viewBox: "0 0 16 16",
955
- fill: "none",
956
- strokeLinecap: "round",
957
- strokeLinejoin: "round",
958
- width: "1em",
959
- height: "1em"
960
- }, props), _g$18 || (_g$18 = /*#__PURE__*/React.createElement("g", {
961
- clipPath: "url(#minus-circle_svg__clip0_8_5970)",
962
- stroke: "currentColor"
963
- }, /*#__PURE__*/React.createElement("path", {
964
- d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zM5.333 8h5.334"
965
- }))), _defs$C || (_defs$C = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
966
- id: "minus-circle_svg__clip0_8_5970"
967
- }, /*#__PURE__*/React.createElement("path", {
968
- fill: "currentColor",
969
- d: "M0 0h16v16H0z"
970
- })))));
971
- }
972
-
973
- var _path$R;
974
-
975
- function _extends$1_() { _extends$1_ = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1_.apply(this, arguments); }
976
-
977
- function SvgPlus(props) {
978
- return /*#__PURE__*/React.createElement("svg", _extends$1_({
979
- viewBox: "0 0 16 16",
980
- fill: "none",
981
- strokeLinecap: "round",
982
- strokeLinejoin: "round",
983
- width: "1em",
984
- height: "1em"
985
- }, props), _path$R || (_path$R = /*#__PURE__*/React.createElement("path", {
986
- d: "M8 3.333v9.334M3.333 8h9.334",
987
- stroke: "currentColor"
988
- })));
989
- }
990
-
991
- var _g$17, _defs$B;
992
-
993
- function _extends$1Z() { _extends$1Z = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1Z.apply(this, arguments); }
994
-
995
- function SvgPlusCircle(props) {
996
- return /*#__PURE__*/React.createElement("svg", _extends$1Z({
997
- viewBox: "0 0 16 16",
998
- fill: "none",
999
- strokeLinecap: "round",
1000
- strokeLinejoin: "round",
1001
- width: "1em",
1002
- height: "1em"
1003
- }, props), _g$17 || (_g$17 = /*#__PURE__*/React.createElement("g", {
1004
- clipPath: "url(#plus-circle_svg__clip0_8_5870)",
1005
- stroke: "currentColor"
1006
- }, /*#__PURE__*/React.createElement("path", {
1007
- d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zm0-9.334v5.334M5.333 8h5.334"
1008
- }))), _defs$B || (_defs$B = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("clipPath", {
1009
- id: "plus-circle_svg__clip0_8_5870"
1010
- }, /*#__PURE__*/React.createElement("path", {
1011
- fill: "currentColor",
1012
- d: "M0 0h16v16H0z"
1013
- })))));
1014
- }
1015
-
1016
- var _path$N;
1017
-
1018
- function _extends$1R() { _extends$1R = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1R.apply(this, arguments); }
1019
-
1020
- function SvgTag(props) {
1021
- return /*#__PURE__*/React.createElement("svg", _extends$1R({
1022
- viewBox: "0 0 16 16",
1023
- fill: "none",
1024
- strokeLinecap: "round",
1025
- strokeLinejoin: "round",
1026
- width: "1em",
1027
- height: "1em"
1028
- }, props), _path$N || (_path$N = /*#__PURE__*/React.createElement("path", {
1029
- d: "M13.727 8.94l-4.78 4.78a1.334 1.334 0 01-1.887 0L1.333 8V1.333H8l5.727 5.727a1.333 1.333 0 010 1.88v0zm-9.06-4.273h.007",
1030
- stroke: "currentColor"
1031
- })));
1032
- }
1033
-
1034
- var _path$y;
1035
-
1036
- function _extends$1m() { _extends$1m = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1m.apply(this, arguments); }
1037
-
1038
- function SvgTrash(props) {
1039
- return /*#__PURE__*/React.createElement("svg", _extends$1m({
1040
- viewBox: "0 0 16 16",
1041
- fill: "none",
1042
- strokeLinecap: "round",
1043
- strokeLinejoin: "round",
1044
- width: "1em",
1045
- height: "1em"
1046
- }, props), _path$y || (_path$y = /*#__PURE__*/React.createElement("path", {
1047
- d: "M2 4h12M5.333 4V2.667a1.333 1.333 0 011.334-1.333h2.666a1.333 1.333 0 011.334 1.333V4m2 0v9.334a1.333 1.333 0 01-1.334 1.333H4.667a1.333 1.333 0 01-1.334-1.333V4h9.334zm-6 3.333v4m2.666-4v4",
1048
- stroke: "currentColor"
1049
- })));
1050
- }
1051
-
1052
- var _path$d, _path2$1;
1053
-
1054
- function _extends$w() { _extends$w = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$w.apply(this, arguments); }
1055
-
1056
- function SvgReviews(props) {
1057
- return /*#__PURE__*/React.createElement("svg", _extends$w({
1058
- viewBox: "0 0 16 16",
1059
- fill: "none",
1060
- strokeLinecap: "round",
1061
- strokeLinejoin: "round",
1062
- width: "1em",
1063
- height: "1em"
1064
- }, props), _path$d || (_path$d = /*#__PURE__*/React.createElement("path", {
1065
- d: "M14 7.667a5.587 5.587 0 01-.6 2.533 5.666 5.666 0 01-5.067 3.133 5.588 5.588 0 01-2.533-.6L2 14l1.267-3.8a5.586 5.586 0 01-.6-2.533A5.667 5.667 0 015.8 2.6 5.587 5.587 0 018.333 2h.334A5.654 5.654 0 0114 7.333v.334z",
1066
- stroke: "currentColor"
1067
- })), _path2$1 || (_path2$1 = /*#__PURE__*/React.createElement("path", {
1068
- d: "M8.375 5.363a.2.2 0 01.358 0l.578 1.17a.2.2 0 00.15.11l1.292.189a.2.2 0 01.11.34l-.934.911a.2.2 0 00-.057.177l.22 1.286a.2.2 0 01-.29.21L8.647 9.15a.2.2 0 00-.186 0l-1.155.608a.2.2 0 01-.29-.211l.22-1.286a.2.2 0 00-.058-.177l-.934-.91a.2.2 0 01.11-.341l1.293-.19a.2.2 0 00.15-.109l.578-1.17z",
1069
- fill: "currentColor"
1070
- })));
1071
- }
1072
-
1073
- var classnames = {exports: {}};
1074
-
1075
- /*!
1076
- Copyright (c) 2018 Jed Watson.
1077
- Licensed under the MIT License (MIT), see
1078
- http://jedwatson.github.io/classnames
1079
- */
1080
-
1081
- (function (module) {
1082
- /* global define */
1083
-
1084
- (function () {
1085
-
1086
- var hasOwn = {}.hasOwnProperty;
1087
-
1088
- function classNames() {
1089
- var classes = [];
1090
-
1091
- for (var i = 0; i < arguments.length; i++) {
1092
- var arg = arguments[i];
1093
- if (!arg) continue;
1094
-
1095
- var argType = typeof arg;
1096
-
1097
- if (argType === 'string' || argType === 'number') {
1098
- classes.push(arg);
1099
- } else if (Array.isArray(arg)) {
1100
- if (arg.length) {
1101
- var inner = classNames.apply(null, arg);
1102
- if (inner) {
1103
- classes.push(inner);
1104
- }
1105
- }
1106
- } else if (argType === 'object') {
1107
- if (arg.toString === Object.prototype.toString) {
1108
- for (var key in arg) {
1109
- if (hasOwn.call(arg, key) && arg[key]) {
1110
- classes.push(key);
1111
- }
1112
- }
1113
- } else {
1114
- classes.push(arg.toString());
1115
- }
1116
- }
1117
- }
1118
-
1119
- return classes.join(' ');
1120
- }
1121
-
1122
- if (module.exports) {
1123
- classNames.default = classNames;
1124
- module.exports = classNames;
1125
- } else {
1126
- window.classNames = classNames;
1127
- }
1128
- }());
1129
- }(classnames));
1130
-
1131
- var classNames = classnames.exports;
1132
-
1133
1139
  var ReactionCounter = function (props) {
1134
1140
  var count = props.count, icon = props.icon;
1135
1141
  return (React__default.createElement(Box, { display: "flex", alignItems: "center", gridGap: 6 },
@@ -1142,63 +1148,37 @@ var ReactionCounterGroup = function (props) {
1142
1148
  return (React__default.createElement(Box, { display: "flex", gridGap: 16 }, children));
1143
1149
  };
1144
1150
 
1145
- var useDishCardStyles = makeStyles$1(function (theme) { return ({
1146
- root: function (_a) {
1147
- var _b = _a.isMobile, isMobile = _b === void 0 ? false : _b;
1148
- return {
1149
- background: '#FFF',
1150
- borderRadius: isMobile ? '0px' : '30px',
1151
- border: isMobile ? '0px' : '1px solid var(--surfaces-card-stroke, #E0E0E0)',
1152
- display: 'flex',
1153
- height: '185px',
1154
- justifyContent: 'space-between',
1155
- padding: isMobile ? 0 : theme.spacing(2.5),
1156
- cursor: 'pointer',
1157
- color: theme.palette.grey[900],
1158
- };
1159
- },
1160
- description: {
1161
- color: '#616161',
1162
- marginTop: theme.spacing(0.25),
1163
- marginBottom: theme.spacing(1.5),
1164
- width: '100%',
1165
- },
1166
- image: {
1167
- borderRadius: '16px',
1168
- objectFit: 'cover',
1169
- marginLeft: theme.spacing(2),
1170
- width: '125px',
1171
- height: '100%',
1172
- },
1173
- plusIcon: {
1174
- height: '100%',
1175
- padding: theme.spacing(0.25),
1176
- background: '#0076CB',
1177
- color: theme.palette.common.white,
1178
- borderRadius: '30px',
1179
- marginRight: theme.spacing(1),
1180
- },
1181
- title: {
1182
- fontSize: '1.125rem',
1183
- },
1184
- truncate: {
1185
- '-webkit-line-clamp': 2,
1186
- display: '-webkit-box',
1187
- '-webkit-box-orient': 'vertical',
1188
- textOverflow: 'ellipsis',
1189
- overflow: 'hidden',
1190
- },
1191
- price: {
1192
- fontSize: '1.25rem',
1193
- },
1194
- }); });
1151
+ var MenuItemReactions = function (props) {
1152
+ var likeCount = props.likeCount, reviewCount = props.reviewCount;
1153
+ var showLikes = likeCount ? likeCount > 0 : false;
1154
+ var showReviews = reviewCount ? reviewCount > 0 : false;
1155
+ return (React__default.createElement(ReactionCounterGroup, null,
1156
+ showLikes && React__default.createElement(ReactionCounter, { icon: SvgHeart, count: likeCount !== null && likeCount !== void 0 ? likeCount : 0 }),
1157
+ showReviews && React__default.createElement(ReactionCounter, { icon: SvgReviews, count: reviewCount !== null && reviewCount !== void 0 ? reviewCount : 0 })));
1158
+ };
1195
1159
 
1196
- var ItemTagGroup = function (props) {
1197
- var children = props.children;
1198
- return (React__default.createElement(Box, { display: "flex", gridGap: 6, ml: 1, flexWrap: "wrap" }, children));
1160
+ var useStyles$3 = makeStyles$1(function (_a) {
1161
+ var palette = _a.palette, spacing = _a.spacing;
1162
+ return ({
1163
+ plusIcon: {
1164
+ height: '100%',
1165
+ padding: spacing(0.25),
1166
+ background: palette.info.main,
1167
+ color: palette.info.contrastText,
1168
+ borderRadius: '30px',
1169
+ marginRight: spacing(1),
1170
+ },
1171
+ });
1172
+ });
1173
+ var MenuItemPrice = function (props) {
1174
+ var classes = useStyles$3();
1175
+ return (React__default.createElement(Box, { display: "flex", alignItems: "center" },
1176
+ React__default.createElement(Box, { display: "flex", className: classes.plusIcon },
1177
+ React__default.createElement(Icon, { icon: SvgPlus, size: "medium" })),
1178
+ React__default.createElement(Typography$1, null, props.price)));
1199
1179
  };
1200
1180
 
1201
- var useItemtagStyles = makeStyles$1(function (theme) { return ({
1181
+ var useItemtagStyles = makeStyles(function (theme) { return ({
1202
1182
  root: function (_a) {
1203
1183
  var _b, _c;
1204
1184
  var _d = _a.color, color = _d === void 0 ? '' : _d;
@@ -1226,37 +1206,36 @@ var ItemTag = forwardRef(function (props, ref) {
1226
1206
  React__default.createElement(Typography, { variant: "caption", className: classes.text }, children)));
1227
1207
  });
1228
1208
 
1229
- var DishCard = function (props) {
1230
- var title = props.title, description = props.description, image = props.image, likeCount = props.likeCount, reviewCount = props.reviewCount, itemTags = props.itemTags, price = props.price, onClick = props.onClick, id = props.id;
1209
+ var ItemTagGroup = function (props) {
1210
+ var children = props.children;
1211
+ return (React__default.createElement(Box, { display: "flex", gridGap: 6, ml: 1, flexWrap: "wrap" }, children));
1212
+ };
1213
+
1214
+ var MenuItemTags = function (props) {
1215
+ var itemTags = props.itemTags;
1216
+ return (React__default.createElement(ItemTagGroup, null, itemTags === null || itemTags === void 0 ? void 0 : itemTags.slice(0, 5).map(function (itemTag) { return (React__default.createElement(ItemTag, { key: itemTag.name, alt: itemTag.name, color: itemTag.color }, itemTag.abbr)); })));
1217
+ };
1218
+
1219
+ var MenuItem = forwardRef(function (props, ref) {
1220
+ var onClick = props.onClick, id = props.id, title = props.title, description = props.description;
1231
1221
  var classes = useDishCardStyles(props);
1232
- var theme = useTheme$1();
1233
- var validImage = (image === null || image === void 0 ? void 0 : image.src) && (image === null || image === void 0 ? void 0 : image.alt);
1234
- var getTruncatedSizePx = function (typography) {
1235
- var lineHeightRem = parseFloat(theme.typography[typography].lineHeight);
1236
- var collapsedSizeRem = 2 * lineHeightRem;
1237
- var documentFontSize = parseFloat(getComputedStyle(document.documentElement).fontSize);
1238
- return collapsedSizeRem * documentFontSize;
1222
+ var handleClick = function (event) {
1223
+ onClick(id, event);
1239
1224
  };
1240
- return (React__default.createElement(Box, { className: classes.root, onClick: onClick, id: id },
1241
- React__default.createElement(Box, { display: "flex", flexDirection: "column", justifyContent: "space-between", width: "100%", marginRight: 1 },
1242
- React__default.createElement(Box, null,
1243
- React__default.createElement(Box, { maxHeight: getTruncatedSizePx('h6') + 'px' },
1244
- React__default.createElement(Typography, { variant: "h6", className: classNames([classes.title, classes.truncate]) }, title)),
1245
- React__default.createElement(Box, { maxHeight: getTruncatedSizePx('body2') + 'px' },
1246
- React__default.createElement(Typography, { variant: "body2", className: classNames([classes.description, classes.truncate]) }, description)),
1247
- React__default.createElement(ReactionCounterGroup, null,
1248
- React__default.createElement(ReactionCounter, { icon: SvgHeart, count: likeCount }),
1249
- React__default.createElement(ReactionCounter, { icon: SvgReviews, count: reviewCount }))),
1250
- React__default.createElement(Box, { display: "flex", justifyContent: "space-between", alignItems: "center" },
1251
- React__default.createElement(Box, { display: "flex", alignItems: "center", mr: 2 },
1252
- React__default.createElement(Box, { display: "flex", className: classes.plusIcon },
1253
- React__default.createElement(Icon, { icon: SvgPlus, size: "medium" })),
1254
- React__default.createElement(Typography, { className: classes.price }, price)),
1255
- React__default.createElement(ItemTagGroup, null, itemTags.map(function (itemTag, i) { return (React__default.createElement(ItemTag, { key: i, alt: itemTag.abbr, color: itemTag.color }, itemTag.abbr)); })))),
1256
- validImage && React__default.createElement("img", { src: image.src, alt: image.alt, className: classes.image })));
1257
- };
1225
+ return (React__default.createElement(Card, { className: classes.card, ref: ref, elevation: 0, "data-component-type": "menu-item" },
1226
+ React__default.createElement(CardActionArea, { className: classes.cardActionArea, onClick: handleClick },
1227
+ React__default.createElement(MenuItemInfo, null,
1228
+ React__default.createElement(Typography$1, { className: classes.cardTitle }, title),
1229
+ React__default.createElement(Typography$1, { className: classes.cardDescription, paragraph: true }, description),
1230
+ React__default.createElement(MenuItemReactions, { likeCount: props.likeCount, reviewCount: props.reviewCount }),
1231
+ React__default.createElement(Box, { display: "flex", justifyContent: "space-between", alignItems: "end", flexGrow: 1 },
1232
+ React__default.createElement(MenuItemPrice, { price: props.price }),
1233
+ React__default.createElement(MenuItemTags, { itemTags: props.itemTags }))),
1234
+ React__default.createElement(MenuItemImg, { image: props.image }))));
1235
+ });
1236
+ MenuItem.displayName = 'MenuItem';
1258
1237
 
1259
- var useDishCheckoutCardStyles = makeStyles$1(function (theme) { return ({
1238
+ var useDishCheckoutCardStyles = makeStyles(function (theme) { return ({
1260
1239
  root: {
1261
1240
  color: theme.palette.grey[900],
1262
1241
  padding: theme.spacing(2, 0),
@@ -1340,7 +1319,7 @@ var DishCheckoutCard = function (props) {
1340
1319
  },
1341
1320
  getContentAnchorEl: null,
1342
1321
  classes: { paper: classes.selectPaper },
1343
- }, className: classes.select }, Array.from({ length: 99 }, function (_, index) { return (React__default.createElement(MenuItem, { key: index + 1, value: index + 1 }, index + 1)); }))),
1322
+ }, className: classes.select }, Array.from({ length: 99 }, function (_, index) { return (React__default.createElement(MenuItem$1, { key: index + 1, value: index + 1 }, index + 1)); }))),
1344
1323
  React__default.createElement(Typography, { className: classes.price }, price))));
1345
1324
  };
1346
1325
 
@@ -1357,7 +1336,7 @@ var DishDetailsReview = forwardRef(function (props) {
1357
1336
  });
1358
1337
  DishDetailsReview.displayName = 'DishDetailsReview';
1359
1338
 
1360
- var useDishModifierCardStyles = makeStyles$1(function (theme) { return ({
1339
+ var useDishModifierCardStyles = makeStyles(function (theme) { return ({
1361
1340
  root: {
1362
1341
  borderRadius: '8px',
1363
1342
  border: '1px solid var(--surfaces-card-stroke, #E0E0E0)',
@@ -1381,7 +1360,7 @@ var useDishModifierCardStyles = makeStyles$1(function (theme) { return ({
1381
1360
  margin: theme.spacing(0, 2),
1382
1361
  },
1383
1362
  }); });
1384
- var useRadioModifierFormStyles = makeStyles$1(function (theme) { return ({
1363
+ var useRadioModifierFormStyles = makeStyles(function (theme) { return ({
1385
1364
  root: {
1386
1365
  '& .MuiFormControlLabel-label': {
1387
1366
  margin: theme.spacing(0.5, 0),
@@ -1399,7 +1378,7 @@ var useRadioModifierFormStyles = makeStyles$1(function (theme) { return ({
1399
1378
  },
1400
1379
  },
1401
1380
  }); });
1402
- var useCheckboxModifierFormStyles = makeStyles$1(function (theme) { return ({
1381
+ var useCheckboxModifierFormStyles = makeStyles(function (theme) { return ({
1403
1382
  root: {
1404
1383
  '& .MuiFormControlLabel-label': {
1405
1384
  margin: theme.spacing(0.5, 0),
@@ -1419,7 +1398,7 @@ var useCheckboxModifierFormStyles = makeStyles$1(function (theme) { return ({
1419
1398
  },
1420
1399
  }); });
1421
1400
 
1422
- var useStatusTagStyles = makeStyles$1(function (theme) { return ({
1401
+ var useStatusTagStyles = makeStyles(function (theme) { return ({
1423
1402
  root: {
1424
1403
  borderRadius: '5px',
1425
1404
  display: 'flex',
@@ -1448,6 +1427,66 @@ var useStatusTagStyles = makeStyles$1(function (theme) { return ({
1448
1427
  },
1449
1428
  }); });
1450
1429
 
1430
+ var classnames = {exports: {}};
1431
+
1432
+ /*!
1433
+ Copyright (c) 2018 Jed Watson.
1434
+ Licensed under the MIT License (MIT), see
1435
+ http://jedwatson.github.io/classnames
1436
+ */
1437
+
1438
+ (function (module) {
1439
+ /* global define */
1440
+
1441
+ (function () {
1442
+
1443
+ var hasOwn = {}.hasOwnProperty;
1444
+
1445
+ function classNames() {
1446
+ var classes = [];
1447
+
1448
+ for (var i = 0; i < arguments.length; i++) {
1449
+ var arg = arguments[i];
1450
+ if (!arg) continue;
1451
+
1452
+ var argType = typeof arg;
1453
+
1454
+ if (argType === 'string' || argType === 'number') {
1455
+ classes.push(arg);
1456
+ } else if (Array.isArray(arg)) {
1457
+ if (arg.length) {
1458
+ var inner = classNames.apply(null, arg);
1459
+ if (inner) {
1460
+ classes.push(inner);
1461
+ }
1462
+ }
1463
+ } else if (argType === 'object') {
1464
+ if (arg.toString === Object.prototype.toString) {
1465
+ for (var key in arg) {
1466
+ if (hasOwn.call(arg, key) && arg[key]) {
1467
+ classes.push(key);
1468
+ }
1469
+ }
1470
+ } else {
1471
+ classes.push(arg.toString());
1472
+ }
1473
+ }
1474
+ }
1475
+
1476
+ return classes.join(' ');
1477
+ }
1478
+
1479
+ if (module.exports) {
1480
+ classNames.default = classNames;
1481
+ module.exports = classNames;
1482
+ } else {
1483
+ window.classNames = classNames;
1484
+ }
1485
+ }());
1486
+ }(classnames));
1487
+
1488
+ var classNames = classnames.exports;
1489
+
1451
1490
  var StatusTag = function (props) {
1452
1491
  var variant = props.variant, label = props.label, _a = props.color, color = _a === void 0 ? 'default' : _a;
1453
1492
  var classes = useStatusTagStyles(props);
@@ -1531,7 +1570,7 @@ var DishModifierCard = function (props) {
1531
1570
  };
1532
1571
  DishModifierCard.displayName = 'DishModifierCard';
1533
1572
 
1534
- var useLocationCardStyles = makeStyles$1(function (theme) {
1573
+ var useLocationCardStyles = makeStyles(function (theme) {
1535
1574
  var _a = theme.palette, info = _a.info, grey = _a.grey, secondary = _a.secondary, spacing = theme.spacing;
1536
1575
  var selectedBackgroundColor = lighten(theme.palette.info.light, 0.9);
1537
1576
  var backgroundColor = theme.palette.background.default;
@@ -1593,8 +1632,8 @@ var LocationCard = function (props) {
1593
1632
  var handleClick = function () {
1594
1633
  onClick(value);
1595
1634
  };
1596
- return (React__default.createElement(Card, __assign$1({ className: classes.root }, muiProps),
1597
- React__default.createElement(CardActionArea, __assign$1({ onClick: handleClick, classes: { focusHighlight: classes.focusHighlight }, role: "checkbox", "aria-checked": selected, "aria-labelledby": labelId }, CardActionAreaProps),
1635
+ return (React__default.createElement(Card$1, __assign$1({ className: classes.root }, muiProps),
1636
+ React__default.createElement(CardActionArea$1, __assign$1({ onClick: handleClick, classes: { focusHighlight: classes.focusHighlight }, role: "checkbox", "aria-checked": selected, "aria-labelledby": labelId }, CardActionAreaProps),
1598
1637
  React__default.createElement(CardContent, { className: classes.content },
1599
1638
  React__default.createElement(Box, { className: classes.locationInfo },
1600
1639
  React__default.createElement(Box, { display: "flex", justifyContent: "space-between" },
@@ -1639,7 +1678,7 @@ function SvgRestaurantMenuIcon(props) {
1639
1678
  })))));
1640
1679
  }
1641
1680
 
1642
- var useMenuDropdownStyles = makeStyles$1(function (theme) { return ({
1681
+ var useMenuDropdownStyles = makeStyles(function (theme) { return ({
1643
1682
  select: {
1644
1683
  '& .MuiSelect-root': {
1645
1684
  color: '#212121',
@@ -1667,10 +1706,10 @@ var MenuDropdown = function (props) {
1667
1706
  horizontal: 'left',
1668
1707
  },
1669
1708
  getContentAnchorEl: null,
1670
- }, className: classes.select }, menuOptions.map(function (option, index) { return (React__default.createElement(MenuItem, { key: index, value: option.id }, option.name)); }))));
1709
+ }, className: classes.select }, menuOptions.map(function (option, index) { return (React__default.createElement(MenuItem$1, { key: index, value: option.id }, option.name)); }))));
1671
1710
  };
1672
1711
 
1673
- var useMenuFilterStyles = makeStyles$1(function () { return ({
1712
+ var useMenuFilterStyles = makeStyles(function () { return ({
1674
1713
  triggerLabel: {
1675
1714
  whiteSpace: 'nowrap',
1676
1715
  },
@@ -1718,22 +1757,22 @@ var MenuFilter = function (props) {
1718
1757
  React__default.createElement(Button$2, { id: triggerId, "aria-controls": popoverId, "aria-haspopup": "true", "aria-expanded": open, onClick: handleTriggerClick, size: "small", startIcon: React__default.createElement(SvgLeafIcon, null), classes: { label: classes.triggerLabel } }, triggerLabel),
1719
1758
  React__default.createElement(Menu, { id: popoverId, anchorEl: anchorEl, open: open, onClose: handleClose },
1720
1759
  availableFilters.map(function (option, index) {
1721
- return (React__default.createElement(MenuItem, { key: index, value: option.id, onClick: function (event) { return handleChange(option, event); } },
1760
+ return (React__default.createElement(MenuItem$1, { key: index, value: option.id, onClick: function (event) { return handleChange(option, event); } },
1722
1761
  React__default.createElement(ItemTag, { alt: option.abbr, color: option.color }, option.abbr),
1723
1762
  React__default.createElement(Box, { ml: 1 }, option.name)));
1724
1763
  }),
1725
- allFiltersSelected && (React__default.createElement(MenuItem, { onClick: handleClose },
1764
+ allFiltersSelected && (React__default.createElement(MenuItem$1, { onClick: handleClose },
1726
1765
  React__default.createElement(Box, { display: "flex", flexDirection: "column", alignItems: "center" },
1727
1766
  React__default.createElement(Icon, { icon: SvgTag, color: "#9E9E9E", size: "large" }),
1728
1767
  React__default.createElement(Typography, { variant: "body1", color: "grey.500" }, noOptionsLabel)))))));
1729
1768
  };
1730
1769
 
1731
- var useQuantityPickerStyles = makeStyles$1(function (theme) { return ({
1770
+ var useQuantityPickerStyles = makeStyles(function (theme) { return ({
1732
1771
  root: {
1733
1772
  height: theme.spacing(7),
1734
1773
  },
1735
1774
  }); });
1736
- var useQuantityInputStyles = makeStyles$1(function (theme) { return ({
1775
+ var useQuantityInputStyles = makeStyles(function (theme) { return ({
1737
1776
  root: {
1738
1777
  height: '100%',
1739
1778
  width: 'min-content',
@@ -1783,7 +1822,7 @@ var QuantityPicker = function (props) {
1783
1822
  } }));
1784
1823
  };
1785
1824
 
1786
- var useSelectableChipStyles = makeStyles$1(function (theme) { return ({
1825
+ var useSelectableChipStyles = makeStyles(function (theme) { return ({
1787
1826
  root: {
1788
1827
  border: '2px solid',
1789
1828
  borderColor: theme.palette.grey[100],
@@ -1818,15 +1857,13 @@ var SelectableChip = function (props) {
1818
1857
  } }, props)));
1819
1858
  };
1820
1859
 
1821
- var useSelectableChipGroupStyles = makeStyles$1(function (theme) { return ({
1860
+ var useSelectableChipGroupStyles = makeStyles(function (theme) { return ({
1822
1861
  root: {
1823
1862
  display: 'flex',
1824
1863
  alignItems: 'center',
1825
- '& div.MuiTabs-scroller': {
1826
- '& .MuiTabs-flexContainer': {
1827
- gridGap: theme.spacing(1.5),
1828
- },
1829
- },
1864
+ },
1865
+ flexContainer: {
1866
+ gridGap: theme.spacing(1.5),
1830
1867
  },
1831
1868
  }); });
1832
1869
 
@@ -1835,13 +1872,13 @@ var SelectableChipGroup = function (props) {
1835
1872
  var classes = useSelectableChipGroupStyles(props);
1836
1873
  return (React__default.createElement(Tabs, __assign$1({ TabIndicatorProps: {
1837
1874
  hidden: true,
1838
- }, variant: "scrollable", scrollButtons: "off", classes: { root: classes.root } }, muiProps),
1875
+ }, variant: "scrollable", scrollButtons: "off", classes: classes }, muiProps),
1839
1876
  React__default.createElement(Box, { minWidth: "1px" }),
1840
1877
  children,
1841
1878
  React__default.createElement(Box, { minWidth: "1px" })));
1842
1879
  };
1843
1880
 
1844
- var useStyles = makeStyles(function (_a) {
1881
+ var useStyles$2 = makeStyles$1(function (_a) {
1845
1882
  var spacing = _a.spacing;
1846
1883
  return ({
1847
1884
  root: {
@@ -1859,12 +1896,51 @@ var useStyles = makeStyles(function (_a) {
1859
1896
  });
1860
1897
  var SelectedMenuFiltersList = function (props) {
1861
1898
  var filters = props.filters, onChipClick = props.onChipClick;
1862
- var classes = useStyles();
1899
+ var classes = useStyles$2();
1863
1900
  return (React__default.createElement(React__default.Fragment, null, filters.map(function (filter, index) { return (React__default.createElement(Chip, { key: filter.name + "-" + index, classes: classes, deleteIcon: React__default.createElement(SvgXCircle, null), onDelete: function (event) { return onChipClick(filter, event); }, label: React__default.createElement(React__default.Fragment, null,
1864
1901
  React__default.createElement(ItemTag, { alt: filter.abbr, color: filter.color }, filter.abbr),
1865
1902
  React__default.createElement(Typography$1, { variant: "caption" }, filter.name)) })); })));
1866
1903
  };
1867
1904
 
1905
+ var MenuSectionGroup = forwardRef(function (props, ref) {
1906
+ var children = props.children, restProps = __rest$1(props, ["children"]);
1907
+ return (React__default.createElement(Box, __assign$1({ display: "flex", flexDirection: "column", gridGap: 40, marginBottom: 4 }, restProps, { ref: ref }, { "data-component-type": "menu-section-group" }), children));
1908
+ });
1909
+ MenuSectionGroup.displayName = 'MenuSectionGroup';
1910
+
1911
+ var useStyles$1 = makeStyles$1(function () { return ({
1912
+ title: {
1913
+ fontWeight: 400,
1914
+ fontSize: 20,
1915
+ lineHeight: '30px',
1916
+ },
1917
+ }); });
1918
+
1919
+ var MenuSection = forwardRef(function (props, ref) {
1920
+ var name = props.name, children = props.children, restProps = __rest$1(props, ["name", "children"]);
1921
+ var classes = useStyles$1();
1922
+ return (React__default.createElement(Box, __assign$1({}, restProps, { ref: ref }, { "data-component-type": "menu-section" }),
1923
+ React__default.createElement(Box, { marginTop: 1, marginBottom: 4 },
1924
+ React__default.createElement(Typography$1, { className: classes.title }, name)),
1925
+ children));
1926
+ });
1927
+ MenuSection.displayName = 'MenuSection';
1928
+
1929
+ var useStyles = makeStyles$1(function () { return ({
1930
+ main: {
1931
+ display: 'grid',
1932
+ // tune so that 2x columns hit at the md breakpoint
1933
+ gridTemplateColumns: 'repeat(auto-fit, minmax(280px, 1fr))',
1934
+ gridGap: 32,
1935
+ },
1936
+ }); });
1937
+
1938
+ var MenuItemGroup = forwardRef(function (props, ref) {
1939
+ var classes = useStyles();
1940
+ return (React__default.createElement(Box, __assign$1({ className: classes.main }, { ref: ref }, { "data-component-type": "menu-item-group" }), props.children));
1941
+ });
1942
+ MenuItemGroup.displayName = 'MenuItemGroup';
1943
+
1868
1944
  var palette = {
1869
1945
  primary: {
1870
1946
  light: '#7B7FA3',
@@ -1979,5 +2055,5 @@ var orderingTheme = {
1979
2055
  props: props,
1980
2056
  };
1981
2057
 
1982
- export { Button$1 as Button, DishCard, DishCheckoutCard, DishDetailsReview, DishModifierCard, ItemTag, ItemTagGroup, LocationCard, MenuDropdown, MenuFilter, QuantityPicker, ReactionCounter, ReactionCounterGroup, SelectableChip, SelectableChipGroup, SelectedMenuFiltersList, StatusTag, orderingTheme };
2058
+ export { Button$1 as Button, DishCheckoutCard, DishDetailsReview, DishModifierCard, ItemTag, ItemTagGroup, LocationCard, MenuDropdown, MenuFilter, MenuItem, MenuItemGroup, MenuSection, MenuSectionGroup, QuantityPicker, ReactionCounter, ReactionCounterGroup, SelectableChip, SelectableChipGroup, SelectedMenuFiltersList, StatusTag, orderingTheme };
1983
2059
  //# sourceMappingURL=index.es.js.map