@popmenu/ordering-ui 0.77.0 → 0.79.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/build/components/MenuFilter/MenuFilter.styles.d.ts +1 -1
  2. package/build/components/MenuFilter/MenuFilterProps.d.ts +10 -8
  3. package/build/components/MenuFilter/index.d.ts +1 -1
  4. package/build/components/MenuItem/MenuItem.d.ts +3 -0
  5. package/build/components/MenuItem/MenuItem.styles.d.ts +1 -0
  6. package/build/components/MenuItem/MenuItemImg.d.ts +3 -0
  7. package/build/components/MenuItem/MenuItemInfo.d.ts +4 -0
  8. package/build/components/MenuItem/MenuItemPrice.d.ts +3 -0
  9. package/build/components/MenuItem/MenuItemProps.d.ts +31 -0
  10. package/build/components/MenuItem/MenuItemReactions.d.ts +3 -0
  11. package/build/components/MenuItem/MenuItemTags.d.ts +3 -0
  12. package/build/components/MenuItem/index.d.ts +2 -0
  13. package/build/components/MenuItemGroup/MenuItemGroup.d.ts +4 -0
  14. package/build/components/MenuItemGroup/MenuItemGroupStyles.d.ts +1 -0
  15. package/build/components/MenuItemGroup/index.d.ts +1 -0
  16. package/build/components/MenuSection/MenuSection.d.ts +3 -0
  17. package/build/components/MenuSection/MenuSectionProps.d.ts +5 -0
  18. package/build/components/MenuSection/MenuSectionStyles.d.ts +1 -0
  19. package/build/components/MenuSection/index.d.ts +2 -0
  20. package/build/components/MenuSectionGroup/MenuSectionGroup.d.ts +5 -0
  21. package/build/components/MenuSectionGroup/index.d.ts +1 -0
  22. package/build/components/SelectableChipGroup/SelectableChipGroupProps.d.ts +2 -2
  23. package/build/components/SelectedMenuFiltersList/SelectedMenuFiltersList.d.ts +3 -0
  24. package/build/components/SelectedMenuFiltersList/SelectedMenuFiltersListProps.d.ts +6 -0
  25. package/build/components/SelectedMenuFiltersList/index.d.ts +2 -0
  26. package/build/components/index.d.ts +6 -2
  27. package/build/index.es.js +641 -695
  28. package/build/index.es.js.map +1 -1
  29. package/build/index.js +626 -678
  30. package/build/index.js.map +1 -1
  31. package/package.json +2 -2
package/build/index.js CHANGED
@@ -4,10 +4,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var core = require('@material-ui/core');
6
6
  var React = require('react');
7
+ var styles = require('@material-ui/core/styles');
7
8
  require('@material-ui/lab/Alert');
8
9
  require('@material-ui/core/AppBar');
9
10
  var MuiAvatar = require('@material-ui/core/Avatar');
10
- var styles = require('@material-ui/core/styles');
11
11
  require('@material-ui/core/Badge');
12
12
  var MuiButton = require('@material-ui/core/Button');
13
13
  var CircularProgress = require('@material-ui/core/CircularProgress');
@@ -20,7 +20,7 @@ require('@material-ui/core/CardHeader');
20
20
  require('@material-ui/core/CardMedia');
21
21
  var MuiCheckbox = require('@material-ui/core/Checkbox');
22
22
  var FormControlLabel = require('@material-ui/core/FormControlLabel');
23
- var MuiChip = require('@material-ui/core/Chip');
23
+ require('@material-ui/core/Chip');
24
24
  require('@material-ui/core/Collapse');
25
25
  require('@material-ui/core/Dialog');
26
26
  require('@material-ui/core/DialogActions');
@@ -45,7 +45,7 @@ var MuiRadio = require('@material-ui/core/Radio');
45
45
  require('@material-ui/core/TextField');
46
46
  var MuiSwitch = require('@material-ui/core/Switch');
47
47
  var Tab = require('@material-ui/core/Tab');
48
- var Tabs = require('@material-ui/core/Tabs');
48
+ require('@material-ui/core/Tabs');
49
49
  var MuiToggleButton = require('@material-ui/lab/ToggleButton');
50
50
  var MuiToggleButtonGroup = require('@material-ui/lab/ToggleButtonGroup');
51
51
  var MuiTooltip = require('@material-ui/core/Tooltip');
@@ -83,12 +83,10 @@ var CardActionArea__default = /*#__PURE__*/_interopDefaultLegacy(CardActionArea)
83
83
  var CardContent__default = /*#__PURE__*/_interopDefaultLegacy(CardContent);
84
84
  var MuiCheckbox__default = /*#__PURE__*/_interopDefaultLegacy(MuiCheckbox);
85
85
  var FormControlLabel__default = /*#__PURE__*/_interopDefaultLegacy(FormControlLabel);
86
- var MuiChip__default = /*#__PURE__*/_interopDefaultLegacy(MuiChip);
87
86
  var MuiIconButton__default = /*#__PURE__*/_interopDefaultLegacy(MuiIconButton);
88
87
  var MuiRadio__default = /*#__PURE__*/_interopDefaultLegacy(MuiRadio);
89
88
  var MuiSwitch__default = /*#__PURE__*/_interopDefaultLegacy(MuiSwitch);
90
89
  var Tab__default = /*#__PURE__*/_interopDefaultLegacy(Tab);
91
- var Tabs__default = /*#__PURE__*/_interopDefaultLegacy(Tabs);
92
90
  var MuiToggleButton__default = /*#__PURE__*/_interopDefaultLegacy(MuiToggleButton);
93
91
  var MuiToggleButtonGroup__default = /*#__PURE__*/_interopDefaultLegacy(MuiToggleButtonGroup);
94
92
  var MuiTooltip__default = /*#__PURE__*/_interopDefaultLegacy(MuiTooltip);
@@ -149,235 +147,436 @@ var Button$1 = React.forwardRef(function (props, ref) {
149
147
  });
150
148
  Button$1.displayName = 'Button';
151
149
 
152
- /*! *****************************************************************************
153
- Copyright (c) Microsoft Corporation.
154
-
155
- Permission to use, copy, modify, and/or distribute this software for any
156
- purpose with or without fee is hereby granted.
157
-
158
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
159
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
160
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
161
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
162
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
163
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
164
- PERFORMANCE OF THIS SOFTWARE.
165
- ***************************************************************************** */
166
-
167
- var __assign = function() {
168
- __assign = Object.assign || function __assign(t) {
169
- for (var s, i = 1, n = arguments.length; i < n; i++) {
170
- s = arguments[i];
171
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
172
- }
173
- return t;
174
- };
175
- return __assign.apply(this, arguments);
176
- };
177
-
178
- function __rest(s, e) {
179
- var t = {};
180
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
181
- t[p] = s[p];
182
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
183
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
184
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
185
- t[p[i]] = s[p[i]];
186
- }
187
- return t;
150
+ var useDishCardStyles = styles.makeStyles(function (theme) { return ({
151
+ cardActionArea: {
152
+ display: 'flex',
153
+ gridGap: 16,
154
+ height: '100%',
155
+ },
156
+ card: {
157
+ // TODO: https://app.shortcut.com/popmenu/story/92467/hide-menuitem-borders-in-2-column-view-widths
158
+ '&:after': {
159
+ content: '""',
160
+ position: 'absolute',
161
+ backgroundColor: '#E0E0E0',
162
+ width: '100%',
163
+ height: 1,
164
+ bottom: -16,
165
+ left: 0,
166
+ },
167
+ height: 185,
168
+ position: 'relative',
169
+ overflow: 'visible',
170
+ },
171
+ cardTitle: {
172
+ fontWeight: 500,
173
+ fontSize: 18,
174
+ lineHeight: '27px',
175
+ color: theme.palette.grey[900],
176
+ '-webkit-line-clamp': 2,
177
+ display: '-webkit-box',
178
+ '-webkit-box-orient': 'vertical',
179
+ textOverflow: 'ellipsis',
180
+ overflow: 'hidden',
181
+ },
182
+ cardDescription: {
183
+ fontWeight: 400,
184
+ fontSize: 14,
185
+ lineHeight: '20px',
186
+ color: theme.palette.grey[700],
187
+ '-webkit-line-clamp': 2,
188
+ display: '-webkit-box',
189
+ '-webkit-box-orient': 'vertical',
190
+ textOverflow: 'ellipsis',
191
+ overflow: 'hidden',
192
+ },
193
+ }); });
194
+
195
+ var useStyles$5 = core.makeStyles(function () { return ({
196
+ img: {
197
+ objectFit: 'cover',
198
+ width: '100%',
199
+ height: '100%',
200
+ },
201
+ }); });
202
+ var MenuItemImg = function (props) {
203
+ var _a = props.image, image = _a === void 0 ? {} : _a;
204
+ var src = image.src, alt = image.alt;
205
+ var classes = useStyles$5();
206
+ if (!src || !alt) {
207
+ return null;
208
+ }
209
+ return (React__default['default'].createElement(core.Box, { width: 125, height: "100%", borderRadius: 16, overflow: "hidden", flexShrink: 0 }, React__default['default'].createElement("img", { src: src, alt: alt, className: classes.img })));
210
+ };
211
+
212
+ var MenuItemInfo = function (props) {
213
+ return (React__default['default'].createElement(core.Box, { display: "flex", flexGrow: 1, flexDirection: "column", height: "100%" }, props.children));
214
+ };
215
+
216
+ var _path$1f;
217
+
218
+ 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); }
219
+
220
+ function SvgChevronDown(props) {
221
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$2M({
222
+ viewBox: "0 0 16 16",
223
+ fill: "none",
224
+ strokeLinecap: "round",
225
+ strokeLinejoin: "round",
226
+ width: "1em",
227
+ height: "1em"
228
+ }, props), _path$1f || (_path$1f = /*#__PURE__*/React__namespace.createElement("path", {
229
+ d: "M4 6l4 4 4-4",
230
+ stroke: "currentColor"
231
+ })));
188
232
  }
189
233
 
190
- var _g$1n;
234
+ var _path$1e;
191
235
 
192
- function _extends$2r() { _extends$2r = 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$2r.apply(this, arguments); }
236
+ 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); }
193
237
 
194
- function SvgCheckCircle(props) {
195
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2r({
238
+ function SvgChevronUp(props) {
239
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$2L({
196
240
  viewBox: "0 0 16 16",
197
241
  fill: "none",
198
242
  strokeLinecap: "round",
199
243
  strokeLinejoin: "round",
200
244
  width: "1em",
201
245
  height: "1em"
202
- }, props), _g$1n || (_g$1n = /*#__PURE__*/React__namespace.createElement("g", {
246
+ }, props), _path$1e || (_path$1e = /*#__PURE__*/React__namespace.createElement("path", {
247
+ d: "M12 10L8 6l-4 4",
203
248
  stroke: "currentColor"
204
- }, /*#__PURE__*/React__namespace.createElement("path", {
205
- d: "M14.667 7.387V8a6.667 6.667 0 11-3.954-6.093"
206
- }), /*#__PURE__*/React__namespace.createElement("path", {
207
- d: "M14.667 2.667L8 9.34l-2-2"
208
- }))));
249
+ })));
209
250
  }
210
251
 
211
- var _g$1l$1, _defs$J$1;
252
+ var _path$13;
212
253
 
213
- function _extends$2o$1() { _extends$2o$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$2o$1.apply(this, arguments); }
254
+ 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); }
214
255
 
215
- function SvgXCircle$1(props) {
216
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2o$1({
256
+ function SvgCheck(props) {
257
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$2s({
217
258
  viewBox: "0 0 16 16",
218
259
  fill: "none",
219
260
  strokeLinecap: "round",
220
261
  strokeLinejoin: "round",
221
262
  width: "1em",
222
263
  height: "1em"
223
- }, props), _g$1l$1 || (_g$1l$1 = /*#__PURE__*/React__namespace.createElement("g", {
224
- clipPath: "url(#x-circle_svg__clip0_8_6136)",
264
+ }, props), _path$13 || (_path$13 = /*#__PURE__*/React__namespace.createElement("path", {
265
+ d: "M13.333 4L6 11.333 2.667 8",
266
+ stroke: "currentColor"
267
+ })));
268
+ }
269
+
270
+ var _g$1m, _defs$K;
271
+
272
+ 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); }
273
+
274
+ function SvgClock(props) {
275
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$2q({
276
+ viewBox: "0 0 16 16",
277
+ fill: "none",
278
+ strokeLinecap: "round",
279
+ strokeLinejoin: "round",
280
+ width: "1em",
281
+ height: "1em"
282
+ }, props), _g$1m || (_g$1m = /*#__PURE__*/React__namespace.createElement("g", {
283
+ clipPath: "url(#clock_svg__clip0_8_5092)",
225
284
  stroke: "currentColor"
226
285
  }, /*#__PURE__*/React__namespace.createElement("path", {
227
- d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zM10 6l-4 4m0-4l4 4"
228
- }))), _defs$J$1 || (_defs$J$1 = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
229
- id: "x-circle_svg__clip0_8_6136"
286
+ d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333z"
287
+ }), /*#__PURE__*/React__namespace.createElement("path", {
288
+ d: "M8 4v4l2.667 1.333"
289
+ }))), _defs$K || (_defs$K = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
290
+ id: "clock_svg__clip0_8_5092"
230
291
  }, /*#__PURE__*/React__namespace.createElement("path", {
231
292
  fill: "currentColor",
232
293
  d: "M0 0h16v16H0z"
233
294
  })))));
234
295
  }
235
296
 
236
- var _g$1c, _defs$D;
297
+ var _g$1l, _defs$J;
237
298
 
238
- function _extends$2c() { _extends$2c = 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$2c.apply(this, arguments); }
299
+ 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); }
239
300
 
240
- function SvgInfo(props) {
241
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2c({
301
+ function SvgXCircle(props) {
302
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$2o({
242
303
  viewBox: "0 0 16 16",
243
304
  fill: "none",
244
305
  strokeLinecap: "round",
245
306
  strokeLinejoin: "round",
246
307
  width: "1em",
247
308
  height: "1em"
248
- }, props), _g$1c || (_g$1c = /*#__PURE__*/React__namespace.createElement("g", {
249
- clipPath: "url(#info_svg__clip0_8_5377)",
309
+ }, props), _g$1l || (_g$1l = /*#__PURE__*/React__namespace.createElement("g", {
310
+ clipPath: "url(#x-circle_svg__clip0_8_6136)",
250
311
  stroke: "currentColor"
251
312
  }, /*#__PURE__*/React__namespace.createElement("path", {
252
- d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zm0-4V8m0-2.667h.007"
253
- }))), _defs$D || (_defs$D = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
254
- id: "info_svg__clip0_8_5377"
313
+ d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zM10 6l-4 4m0-4l4 4"
314
+ }))), _defs$J || (_defs$J = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
315
+ id: "x-circle_svg__clip0_8_6136"
255
316
  }, /*#__PURE__*/React__namespace.createElement("path", {
256
317
  fill: "currentColor",
257
318
  d: "M0 0h16v16H0z"
258
319
  })))));
259
320
  }
260
321
 
261
- var _path$M;
322
+ var _path$$;
262
323
 
263
- 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); }
324
+ 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); }
264
325
 
265
- function SvgUser(props) {
266
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$1L({
326
+ function SvgHeart(props) {
327
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$2g({
267
328
  viewBox: "0 0 16 16",
268
329
  fill: "none",
269
330
  strokeLinecap: "round",
270
331
  strokeLinejoin: "round",
271
332
  width: "1em",
272
333
  height: "1em"
273
- }, props), _path$M || (_path$M = /*#__PURE__*/React__namespace.createElement("path", {
274
- 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",
334
+ }, props), _path$$ || (_path$$ = /*#__PURE__*/React__namespace.createElement("path", {
335
+ 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",
275
336
  stroke: "currentColor"
276
337
  })));
277
338
  }
278
339
 
279
- var _g$Y, _defs$u;
340
+ var _g$18, _defs$C;
280
341
 
281
- function _extends$1H() { _extends$1H = 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$1H.apply(this, arguments); }
342
+ 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); }
282
343
 
283
- function SvgError(props) {
284
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$1H({
344
+ function SvgMinusCircle(props) {
345
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$22({
285
346
  viewBox: "0 0 16 16",
286
347
  fill: "none",
287
348
  strokeLinecap: "round",
288
349
  strokeLinejoin: "round",
289
350
  width: "1em",
290
351
  height: "1em"
291
- }, props), _g$Y || (_g$Y = /*#__PURE__*/React__namespace.createElement("g", {
292
- clipPath: "url(#error_svg__clip0_8_5411)",
352
+ }, props), _g$18 || (_g$18 = /*#__PURE__*/React__namespace.createElement("g", {
353
+ clipPath: "url(#minus-circle_svg__clip0_8_5970)",
293
354
  stroke: "currentColor"
294
355
  }, /*#__PURE__*/React__namespace.createElement("path", {
295
- d: "M5.24 1.333h5.52l3.907 3.907v5.52l-3.907 3.907H5.24L1.333 10.76V5.24L5.24 1.333zm2.76 4V8m0 2.666h.008"
296
- }))), _defs$u || (_defs$u = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
297
- id: "error_svg__clip0_8_5411"
356
+ d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zM5.333 8h5.334"
357
+ }))), _defs$C || (_defs$C = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
358
+ id: "minus-circle_svg__clip0_8_5970"
298
359
  }, /*#__PURE__*/React__namespace.createElement("path", {
299
360
  fill: "currentColor",
300
361
  d: "M0 0h16v16H0z"
301
362
  })))));
302
363
  }
303
364
 
304
- var _path$J;
365
+ var _path$R;
305
366
 
306
- function _extends$1G() { _extends$1G = 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$1G.apply(this, arguments); }
367
+ 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); }
307
368
 
308
- function SvgWarning(props) {
309
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$1G({
369
+ function SvgPlus(props) {
370
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$1_({
310
371
  viewBox: "0 0 16 16",
311
372
  fill: "none",
312
373
  strokeLinecap: "round",
313
374
  strokeLinejoin: "round",
314
375
  width: "1em",
315
376
  height: "1em"
316
- }, props), _path$J || (_path$J = /*#__PURE__*/React__namespace.createElement("path", {
317
- d: "M6.86 2.573L1.213 12a1.334 1.334 0 001.14 2h11.294a1.332 1.332 0 001.14-2L9.14 2.573a1.333 1.333 0 00-2.28 0v0zM8 6v2.667m0 2.667h.007",
377
+ }, props), _path$R || (_path$R = /*#__PURE__*/React__namespace.createElement("path", {
378
+ d: "M8 3.333v9.334M3.333 8h9.334",
318
379
  stroke: "currentColor"
319
380
  })));
320
381
  }
321
382
 
322
- var useIconStyles = core.makeStyles(function (_a) {
323
- var spacing = _a.spacing, palette = _a.palette;
324
- var getFontSize = function (_a) {
325
- var size = _a.size;
326
- var sizes = {
327
- inherit: 'inherit',
328
- small: spacing(1.5),
329
- medium: spacing(2),
330
- large: spacing(2.5),
331
- 'extra-large': spacing(3),
332
- };
333
- return size ? sizes[size] : 'inherit';
334
- };
335
- var getColor = function (props) {
336
- var semanticColors = ['primary', 'secondary', 'info', 'success', 'warning', 'error'];
337
- var value = 'inherit';
338
- if (props.color) {
339
- if (semanticColors.includes(props.color.split('.')[0])) {
340
- var _a = props.color.split('.'), color = _a[0], _b = _a[1], variant = _b === void 0 ? 'main' : _b;
341
- value = palette[color][variant];
342
- }
343
- else if (props.color.search(/^(rgb|hsla|#)/) !== -1) {
344
- value = props.color;
345
- }
346
- }
347
- return value;
348
- };
349
- return {
350
- root: {
351
- color: getColor,
352
- fontSize: getFontSize,
353
- strokeWidth: '1.3px',
354
- },
355
- };
356
- });
383
+ var _g$17, _defs$B;
357
384
 
358
- var classnames$1 = {exports: {}};
385
+ 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); }
359
386
 
360
- /*!
361
- Copyright (c) 2018 Jed Watson.
362
- Licensed under the MIT License (MIT), see
363
- http://jedwatson.github.io/classnames
364
- */
387
+ function SvgPlusCircle(props) {
388
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$1Z({
389
+ viewBox: "0 0 16 16",
390
+ fill: "none",
391
+ strokeLinecap: "round",
392
+ strokeLinejoin: "round",
393
+ width: "1em",
394
+ height: "1em"
395
+ }, props), _g$17 || (_g$17 = /*#__PURE__*/React__namespace.createElement("g", {
396
+ clipPath: "url(#plus-circle_svg__clip0_8_5870)",
397
+ stroke: "currentColor"
398
+ }, /*#__PURE__*/React__namespace.createElement("path", {
399
+ d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zm0-9.334v5.334M5.333 8h5.334"
400
+ }))), _defs$B || (_defs$B = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
401
+ id: "plus-circle_svg__clip0_8_5870"
402
+ }, /*#__PURE__*/React__namespace.createElement("path", {
403
+ fill: "currentColor",
404
+ d: "M0 0h16v16H0z"
405
+ })))));
406
+ }
365
407
 
366
- (function (module) {
367
- /* global define */
408
+ var _path$N;
368
409
 
369
- (function () {
410
+ 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); }
370
411
 
371
- var hasOwn = {}.hasOwnProperty;
412
+ function SvgTag(props) {
413
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$1R({
414
+ viewBox: "0 0 16 16",
415
+ fill: "none",
416
+ strokeLinecap: "round",
417
+ strokeLinejoin: "round",
418
+ width: "1em",
419
+ height: "1em"
420
+ }, props), _path$N || (_path$N = /*#__PURE__*/React__namespace.createElement("path", {
421
+ 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",
422
+ stroke: "currentColor"
423
+ })));
424
+ }
372
425
 
373
- function classNames() {
374
- var classes = [];
426
+ var _path$y;
375
427
 
376
- for (var i = 0; i < arguments.length; i++) {
377
- var arg = arguments[i];
378
- if (!arg) continue;
428
+ 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); }
379
429
 
380
- var argType = typeof arg;
430
+ function SvgTrash(props) {
431
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$1m({
432
+ viewBox: "0 0 16 16",
433
+ fill: "none",
434
+ strokeLinecap: "round",
435
+ strokeLinejoin: "round",
436
+ width: "1em",
437
+ height: "1em"
438
+ }, props), _path$y || (_path$y = /*#__PURE__*/React__namespace.createElement("path", {
439
+ 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",
440
+ stroke: "currentColor"
441
+ })));
442
+ }
443
+
444
+ var _path$d, _path2$1;
445
+
446
+ 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); }
447
+
448
+ function SvgReviews(props) {
449
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$w({
450
+ viewBox: "0 0 16 16",
451
+ fill: "none",
452
+ strokeLinecap: "round",
453
+ strokeLinejoin: "round",
454
+ width: "1em",
455
+ height: "1em"
456
+ }, props), _path$d || (_path$d = /*#__PURE__*/React__namespace.createElement("path", {
457
+ 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",
458
+ stroke: "currentColor"
459
+ })), _path2$1 || (_path2$1 = /*#__PURE__*/React__namespace.createElement("path", {
460
+ 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",
461
+ fill: "currentColor"
462
+ })));
463
+ }
464
+
465
+ /*! *****************************************************************************
466
+ Copyright (c) Microsoft Corporation.
467
+
468
+ Permission to use, copy, modify, and/or distribute this software for any
469
+ purpose with or without fee is hereby granted.
470
+
471
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
472
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
473
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
474
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
475
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
476
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
477
+ PERFORMANCE OF THIS SOFTWARE.
478
+ ***************************************************************************** */
479
+
480
+ var __assign = function() {
481
+ __assign = Object.assign || function __assign(t) {
482
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
483
+ s = arguments[i];
484
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
485
+ }
486
+ return t;
487
+ };
488
+ return __assign.apply(this, arguments);
489
+ };
490
+
491
+ function __rest(s, e) {
492
+ var t = {};
493
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
494
+ t[p] = s[p];
495
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
496
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
497
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
498
+ t[p[i]] = s[p[i]];
499
+ }
500
+ return t;
501
+ }
502
+
503
+ var _path$M;
504
+
505
+ 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); }
506
+
507
+ function SvgUser(props) {
508
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$1L({
509
+ viewBox: "0 0 16 16",
510
+ fill: "none",
511
+ strokeLinecap: "round",
512
+ strokeLinejoin: "round",
513
+ width: "1em",
514
+ height: "1em"
515
+ }, props), _path$M || (_path$M = /*#__PURE__*/React__namespace.createElement("path", {
516
+ 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",
517
+ stroke: "currentColor"
518
+ })));
519
+ }
520
+
521
+ var useIconStyles = core.makeStyles(function (_a) {
522
+ var spacing = _a.spacing, palette = _a.palette;
523
+ var getFontSize = function (_a) {
524
+ var size = _a.size;
525
+ var sizes = {
526
+ inherit: 'inherit',
527
+ small: spacing(1.5),
528
+ medium: spacing(2),
529
+ large: spacing(2.5),
530
+ 'extra-large': spacing(3),
531
+ };
532
+ return size ? sizes[size] : 'inherit';
533
+ };
534
+ var getColor = function (props) {
535
+ var semanticColors = ['primary', 'secondary', 'info', 'success', 'warning', 'error'];
536
+ var value = 'inherit';
537
+ if (props.color) {
538
+ if (semanticColors.includes(props.color.split('.')[0])) {
539
+ var _a = props.color.split('.'), color = _a[0], _b = _a[1], variant = _b === void 0 ? 'main' : _b;
540
+ value = palette[color][variant];
541
+ }
542
+ else if (props.color.search(/^(rgb|hsla|#)/) !== -1) {
543
+ value = props.color;
544
+ }
545
+ }
546
+ return value;
547
+ };
548
+ return {
549
+ root: {
550
+ color: getColor,
551
+ fontSize: getFontSize,
552
+ strokeWidth: '1.3px',
553
+ },
554
+ };
555
+ });
556
+
557
+ var classnames$1 = {exports: {}};
558
+
559
+ /*!
560
+ Copyright (c) 2018 Jed Watson.
561
+ Licensed under the MIT License (MIT), see
562
+ http://jedwatson.github.io/classnames
563
+ */
564
+
565
+ (function (module) {
566
+ /* global define */
567
+
568
+ (function () {
569
+
570
+ var hasOwn = {}.hasOwnProperty;
571
+
572
+ function classNames() {
573
+ var classes = [];
574
+
575
+ for (var i = 0; i < arguments.length; i++) {
576
+ var arg = arguments[i];
577
+ if (!arg) continue;
578
+
579
+ var argType = typeof arg;
381
580
 
382
581
  if (argType === 'string' || argType === 'number') {
383
582
  classes.push(arg);
@@ -626,7 +825,7 @@ var getBorder = function (theme) { return function (props) {
626
825
  }
627
826
  return borderColor;
628
827
  }; };
629
- var useChipStyles = styles.makeStyles(function (theme) { return ({
828
+ styles.makeStyles(function (theme) { return ({
630
829
  root: {
631
830
  background: getBackground(theme),
632
831
  color: getColor(theme),
@@ -643,21 +842,6 @@ var useChipStyles = styles.makeStyles(function (theme) { return ({
643
842
  },
644
843
  }); });
645
844
 
646
- var IconDictionary = {
647
- error: SvgError,
648
- info: SvgInfo,
649
- success: SvgCheckCircle,
650
- warning: SvgWarning,
651
- };
652
- var Chip = function (props) {
653
- var severity = props.severity, restProps = __rest(props, ["severity"]);
654
- var classes = useChipStyles(props);
655
- var icon = severity ? React__default['default'].createElement(IconDictionary[severity]) : undefined;
656
- var deleteIcon = React__default['default'].createElement(SvgXCircle$1);
657
- return React__default['default'].createElement(MuiChip__default['default'], __assign({ classes: classes, icon: icon, deleteIcon: deleteIcon }, restProps));
658
- };
659
- Chip.displayName = 'Chip';
660
-
661
845
  var defaultTypographyProps = {
662
846
  variant: 'body1',
663
847
  };
@@ -828,7 +1012,7 @@ Link.defaultProps = {
828
1012
  };
829
1013
  Link.displayName = 'Link';
830
1014
 
831
- var useStyles = core.makeStyles(function (_a) {
1015
+ var useStyles$4 = core.makeStyles(function (_a) {
832
1016
  var spacing = _a.spacing;
833
1017
  return ({
834
1018
  root: {
@@ -842,7 +1026,7 @@ var useStyles = core.makeStyles(function (_a) {
842
1026
  });
843
1027
  var Paper = React.forwardRef(function (props, ref) {
844
1028
  var legacyStyles = props.legacyStyles, restProps = __rest(props, ["legacyStyles"]);
845
- var classes = useStyles(props);
1029
+ var classes = useStyles$4(props);
846
1030
  return React__default['default'].createElement(core.Paper, __assign({}, ref, { classes: __assign({}, (legacyStyles && classes)) }, restProps));
847
1031
  });
848
1032
  Paper.displayName = 'Paper';
@@ -925,384 +1109,75 @@ var ToggleButton = React.forwardRef(function (props, ref) {
925
1109
  root: classes.root,
926
1110
  selected: classes.selected,
927
1111
  } }, muiProps), children));
928
- });
929
- ToggleButton.defaultProps = {
930
- color: 'primary',
931
- };
932
- ToggleButton.displayName = 'ToggleButton';
933
-
934
- var useToggleButtonGroupStyles = styles.makeStyles(function (theme) { return ({
935
- root: {
936
- '&&': {
937
- backgroundColor: theme.palette.grey[300],
938
- },
939
- },
940
- }); });
941
-
942
- var ToggleButtonGroup = React.forwardRef(function (props, ref) {
943
- var children = props.children, _a = props.color, color = _a === void 0 ? 'primary' : _a, muiProps = __rest(props, ["children", "color"]);
944
- var classes = useToggleButtonGroupStyles(props);
945
- var childrenWithProps = React__default['default'].Children.map(children, function (child) {
946
- if (!React__default['default'].isValidElement(child)) {
947
- return null;
948
- }
949
- return React__default['default'].cloneElement(child, { color: color });
950
- });
951
- return (React__default['default'].createElement(MuiToggleButtonGroup__default['default'], __assign({ ref: ref, classes: { root: classes.root } }, muiProps), childrenWithProps));
952
- });
953
- ToggleButtonGroup.displayName = 'ToggleButtonGroup';
954
-
955
- var useTooltipStyles = styles.makeStyles(function (_a) {
956
- var typography = _a.typography;
957
- return ({
958
- tooltip: {
959
- fontSize: typography.pxToRem(16),
960
- },
961
- });
962
- });
963
-
964
- var Tooltip = React.forwardRef(function (props, ref) {
965
- var classes = useTooltipStyles(props);
966
- return React__default['default'].createElement(MuiTooltip__default['default'], __assign({ ref: ref, classes: classes }, props));
967
- });
968
- Tooltip.displayName = 'Tooltip';
969
-
970
- core.makeStyles(function () { return ({
971
- root: {
972
- height: 56,
973
- },
974
- }); });
975
- core.makeStyles(function (theme) { return ({
976
- root: {
977
- height: '100%',
978
- width: 'min-content',
979
- borderRadius: theme.spacing(1),
980
- },
981
- input: {
982
- '&::-webkit-clear-button, &::-webkit-outer-spin-button, &::-webkit-inner-spin-button': {
983
- display: 'none',
984
- },
985
- '-moz-appearance': 'textfield',
986
- minWidth: 40,
987
- padding: 0,
988
- textAlign: 'center',
989
- },
990
- adornedStart: {
991
- padding: 0,
992
- },
993
- adornedEnd: {
994
- padding: 0,
995
- },
996
- }); });
997
-
998
- var _path$1f;
999
-
1000
- 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); }
1001
-
1002
- function SvgChevronDown(props) {
1003
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2M({
1004
- viewBox: "0 0 16 16",
1005
- fill: "none",
1006
- strokeLinecap: "round",
1007
- strokeLinejoin: "round",
1008
- width: "1em",
1009
- height: "1em"
1010
- }, props), _path$1f || (_path$1f = /*#__PURE__*/React__namespace.createElement("path", {
1011
- d: "M4 6l4 4 4-4",
1012
- stroke: "currentColor"
1013
- })));
1014
- }
1015
-
1016
- var _path$1e;
1017
-
1018
- 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); }
1019
-
1020
- function SvgChevronUp(props) {
1021
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2L({
1022
- viewBox: "0 0 16 16",
1023
- fill: "none",
1024
- strokeLinecap: "round",
1025
- strokeLinejoin: "round",
1026
- width: "1em",
1027
- height: "1em"
1028
- }, props), _path$1e || (_path$1e = /*#__PURE__*/React__namespace.createElement("path", {
1029
- d: "M12 10L8 6l-4 4",
1030
- stroke: "currentColor"
1031
- })));
1032
- }
1033
-
1034
- var _path$13;
1035
-
1036
- 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); }
1037
-
1038
- function SvgCheck(props) {
1039
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2s({
1040
- viewBox: "0 0 16 16",
1041
- fill: "none",
1042
- strokeLinecap: "round",
1043
- strokeLinejoin: "round",
1044
- width: "1em",
1045
- height: "1em"
1046
- }, props), _path$13 || (_path$13 = /*#__PURE__*/React__namespace.createElement("path", {
1047
- d: "M13.333 4L6 11.333 2.667 8",
1048
- stroke: "currentColor"
1049
- })));
1050
- }
1051
-
1052
- var _g$1m, _defs$K;
1053
-
1054
- 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); }
1055
-
1056
- function SvgClock(props) {
1057
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2q({
1058
- viewBox: "0 0 16 16",
1059
- fill: "none",
1060
- strokeLinecap: "round",
1061
- strokeLinejoin: "round",
1062
- width: "1em",
1063
- height: "1em"
1064
- }, props), _g$1m || (_g$1m = /*#__PURE__*/React__namespace.createElement("g", {
1065
- clipPath: "url(#clock_svg__clip0_8_5092)",
1066
- stroke: "currentColor"
1067
- }, /*#__PURE__*/React__namespace.createElement("path", {
1068
- d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333z"
1069
- }), /*#__PURE__*/React__namespace.createElement("path", {
1070
- d: "M8 4v4l2.667 1.333"
1071
- }))), _defs$K || (_defs$K = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
1072
- id: "clock_svg__clip0_8_5092"
1073
- }, /*#__PURE__*/React__namespace.createElement("path", {
1074
- fill: "currentColor",
1075
- d: "M0 0h16v16H0z"
1076
- })))));
1077
- }
1078
-
1079
- var _g$1l, _defs$J;
1080
-
1081
- 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); }
1082
-
1083
- function SvgXCircle(props) {
1084
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2o({
1085
- viewBox: "0 0 16 16",
1086
- fill: "none",
1087
- strokeLinecap: "round",
1088
- strokeLinejoin: "round",
1089
- width: "1em",
1090
- height: "1em"
1091
- }, props), _g$1l || (_g$1l = /*#__PURE__*/React__namespace.createElement("g", {
1092
- clipPath: "url(#x-circle_svg__clip0_8_6136)",
1093
- stroke: "currentColor"
1094
- }, /*#__PURE__*/React__namespace.createElement("path", {
1095
- d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zM10 6l-4 4m0-4l4 4"
1096
- }))), _defs$J || (_defs$J = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
1097
- id: "x-circle_svg__clip0_8_6136"
1098
- }, /*#__PURE__*/React__namespace.createElement("path", {
1099
- fill: "currentColor",
1100
- d: "M0 0h16v16H0z"
1101
- })))));
1102
- }
1103
-
1104
- var _path$$;
1105
-
1106
- 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); }
1107
-
1108
- function SvgHeart(props) {
1109
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2g({
1110
- viewBox: "0 0 16 16",
1111
- fill: "none",
1112
- strokeLinecap: "round",
1113
- strokeLinejoin: "round",
1114
- width: "1em",
1115
- height: "1em"
1116
- }, props), _path$$ || (_path$$ = /*#__PURE__*/React__namespace.createElement("path", {
1117
- 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",
1118
- stroke: "currentColor"
1119
- })));
1120
- }
1121
-
1122
- var _g$18, _defs$C;
1123
-
1124
- 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); }
1125
-
1126
- function SvgMinusCircle(props) {
1127
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$22({
1128
- viewBox: "0 0 16 16",
1129
- fill: "none",
1130
- strokeLinecap: "round",
1131
- strokeLinejoin: "round",
1132
- width: "1em",
1133
- height: "1em"
1134
- }, props), _g$18 || (_g$18 = /*#__PURE__*/React__namespace.createElement("g", {
1135
- clipPath: "url(#minus-circle_svg__clip0_8_5970)",
1136
- stroke: "currentColor"
1137
- }, /*#__PURE__*/React__namespace.createElement("path", {
1138
- d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zM5.333 8h5.334"
1139
- }))), _defs$C || (_defs$C = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
1140
- id: "minus-circle_svg__clip0_8_5970"
1141
- }, /*#__PURE__*/React__namespace.createElement("path", {
1142
- fill: "currentColor",
1143
- d: "M0 0h16v16H0z"
1144
- })))));
1145
- }
1146
-
1147
- var _path$R;
1148
-
1149
- 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); }
1150
-
1151
- function SvgPlus(props) {
1152
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$1_({
1153
- viewBox: "0 0 16 16",
1154
- fill: "none",
1155
- strokeLinecap: "round",
1156
- strokeLinejoin: "round",
1157
- width: "1em",
1158
- height: "1em"
1159
- }, props), _path$R || (_path$R = /*#__PURE__*/React__namespace.createElement("path", {
1160
- d: "M8 3.333v9.334M3.333 8h9.334",
1161
- stroke: "currentColor"
1162
- })));
1163
- }
1164
-
1165
- var _g$17, _defs$B;
1166
-
1167
- 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); }
1168
-
1169
- function SvgPlusCircle(props) {
1170
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$1Z({
1171
- viewBox: "0 0 16 16",
1172
- fill: "none",
1173
- strokeLinecap: "round",
1174
- strokeLinejoin: "round",
1175
- width: "1em",
1176
- height: "1em"
1177
- }, props), _g$17 || (_g$17 = /*#__PURE__*/React__namespace.createElement("g", {
1178
- clipPath: "url(#plus-circle_svg__clip0_8_5870)",
1179
- stroke: "currentColor"
1180
- }, /*#__PURE__*/React__namespace.createElement("path", {
1181
- d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zm0-9.334v5.334M5.333 8h5.334"
1182
- }))), _defs$B || (_defs$B = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
1183
- id: "plus-circle_svg__clip0_8_5870"
1184
- }, /*#__PURE__*/React__namespace.createElement("path", {
1185
- fill: "currentColor",
1186
- d: "M0 0h16v16H0z"
1187
- })))));
1188
- }
1189
-
1190
- var _path$N;
1191
-
1192
- 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); }
1193
-
1194
- function SvgTag(props) {
1195
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$1R({
1196
- viewBox: "0 0 16 16",
1197
- fill: "none",
1198
- strokeLinecap: "round",
1199
- strokeLinejoin: "round",
1200
- width: "1em",
1201
- height: "1em"
1202
- }, props), _path$N || (_path$N = /*#__PURE__*/React__namespace.createElement("path", {
1203
- 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",
1204
- stroke: "currentColor"
1205
- })));
1206
- }
1207
-
1208
- var _path$y;
1209
-
1210
- 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); }
1211
-
1212
- function SvgTrash(props) {
1213
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$1m({
1214
- viewBox: "0 0 16 16",
1215
- fill: "none",
1216
- strokeLinecap: "round",
1217
- strokeLinejoin: "round",
1218
- width: "1em",
1219
- height: "1em"
1220
- }, props), _path$y || (_path$y = /*#__PURE__*/React__namespace.createElement("path", {
1221
- 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",
1222
- stroke: "currentColor"
1223
- })));
1224
- }
1225
-
1226
- var _path$d, _path2$1;
1227
-
1228
- 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); }
1229
-
1230
- function SvgReviews(props) {
1231
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$w({
1232
- viewBox: "0 0 16 16",
1233
- fill: "none",
1234
- strokeLinecap: "round",
1235
- strokeLinejoin: "round",
1236
- width: "1em",
1237
- height: "1em"
1238
- }, props), _path$d || (_path$d = /*#__PURE__*/React__namespace.createElement("path", {
1239
- 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",
1240
- stroke: "currentColor"
1241
- })), _path2$1 || (_path2$1 = /*#__PURE__*/React__namespace.createElement("path", {
1242
- 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",
1243
- fill: "currentColor"
1244
- })));
1245
- }
1246
-
1247
- var classnames = {exports: {}};
1248
-
1249
- /*!
1250
- Copyright (c) 2018 Jed Watson.
1251
- Licensed under the MIT License (MIT), see
1252
- http://jedwatson.github.io/classnames
1253
- */
1254
-
1255
- (function (module) {
1256
- /* global define */
1257
-
1258
- (function () {
1259
-
1260
- var hasOwn = {}.hasOwnProperty;
1261
-
1262
- function classNames() {
1263
- var classes = [];
1264
-
1265
- for (var i = 0; i < arguments.length; i++) {
1266
- var arg = arguments[i];
1267
- if (!arg) continue;
1112
+ });
1113
+ ToggleButton.defaultProps = {
1114
+ color: 'primary',
1115
+ };
1116
+ ToggleButton.displayName = 'ToggleButton';
1268
1117
 
1269
- var argType = typeof arg;
1118
+ var useToggleButtonGroupStyles = styles.makeStyles(function (theme) { return ({
1119
+ root: {
1120
+ '&&': {
1121
+ backgroundColor: theme.palette.grey[300],
1122
+ },
1123
+ },
1124
+ }); });
1270
1125
 
1271
- if (argType === 'string' || argType === 'number') {
1272
- classes.push(arg);
1273
- } else if (Array.isArray(arg)) {
1274
- if (arg.length) {
1275
- var inner = classNames.apply(null, arg);
1276
- if (inner) {
1277
- classes.push(inner);
1278
- }
1279
- }
1280
- } else if (argType === 'object') {
1281
- if (arg.toString === Object.prototype.toString) {
1282
- for (var key in arg) {
1283
- if (hasOwn.call(arg, key) && arg[key]) {
1284
- classes.push(key);
1285
- }
1286
- }
1287
- } else {
1288
- classes.push(arg.toString());
1289
- }
1290
- }
1291
- }
1126
+ var ToggleButtonGroup = React.forwardRef(function (props, ref) {
1127
+ var children = props.children, _a = props.color, color = _a === void 0 ? 'primary' : _a, muiProps = __rest(props, ["children", "color"]);
1128
+ var classes = useToggleButtonGroupStyles(props);
1129
+ var childrenWithProps = React__default['default'].Children.map(children, function (child) {
1130
+ if (!React__default['default'].isValidElement(child)) {
1131
+ return null;
1132
+ }
1133
+ return React__default['default'].cloneElement(child, { color: color });
1134
+ });
1135
+ return (React__default['default'].createElement(MuiToggleButtonGroup__default['default'], __assign({ ref: ref, classes: { root: classes.root } }, muiProps), childrenWithProps));
1136
+ });
1137
+ ToggleButtonGroup.displayName = 'ToggleButtonGroup';
1292
1138
 
1293
- return classes.join(' ');
1294
- }
1139
+ var useTooltipStyles = styles.makeStyles(function (_a) {
1140
+ var typography = _a.typography;
1141
+ return ({
1142
+ tooltip: {
1143
+ fontSize: typography.pxToRem(16),
1144
+ },
1145
+ });
1146
+ });
1295
1147
 
1296
- if (module.exports) {
1297
- classNames.default = classNames;
1298
- module.exports = classNames;
1299
- } else {
1300
- window.classNames = classNames;
1301
- }
1302
- }());
1303
- }(classnames));
1148
+ var Tooltip = React.forwardRef(function (props, ref) {
1149
+ var classes = useTooltipStyles(props);
1150
+ return React__default['default'].createElement(MuiTooltip__default['default'], __assign({ ref: ref, classes: classes }, props));
1151
+ });
1152
+ Tooltip.displayName = 'Tooltip';
1304
1153
 
1305
- var classNames = classnames.exports;
1154
+ core.makeStyles(function () { return ({
1155
+ root: {
1156
+ height: 56,
1157
+ },
1158
+ }); });
1159
+ core.makeStyles(function (theme) { return ({
1160
+ root: {
1161
+ height: '100%',
1162
+ width: 'min-content',
1163
+ borderRadius: theme.spacing(1),
1164
+ },
1165
+ input: {
1166
+ '&::-webkit-clear-button, &::-webkit-outer-spin-button, &::-webkit-inner-spin-button': {
1167
+ display: 'none',
1168
+ },
1169
+ '-moz-appearance': 'textfield',
1170
+ minWidth: 40,
1171
+ padding: 0,
1172
+ textAlign: 'center',
1173
+ },
1174
+ adornedStart: {
1175
+ padding: 0,
1176
+ },
1177
+ adornedEnd: {
1178
+ padding: 0,
1179
+ },
1180
+ }); });
1306
1181
 
1307
1182
  var ReactionCounter = function (props) {
1308
1183
  var count = props.count, icon = props.icon;
@@ -1316,60 +1191,34 @@ var ReactionCounterGroup = function (props) {
1316
1191
  return (React__default['default'].createElement(core.Box, { display: "flex", gridGap: 16 }, children));
1317
1192
  };
1318
1193
 
1319
- var useDishCardStyles = styles.makeStyles(function (theme) { return ({
1320
- root: function (_a) {
1321
- var _b = _a.isMobile, isMobile = _b === void 0 ? false : _b;
1322
- return {
1323
- background: '#FFF',
1324
- borderRadius: isMobile ? '0px' : '30px',
1325
- border: isMobile ? '0px' : '1px solid var(--surfaces-card-stroke, #E0E0E0)',
1326
- display: 'flex',
1327
- height: '185px',
1328
- justifyContent: 'space-between',
1329
- padding: isMobile ? 0 : theme.spacing(2.5),
1330
- cursor: 'pointer',
1331
- color: theme.palette.grey[900],
1332
- };
1333
- },
1334
- description: {
1335
- color: '#616161',
1336
- marginTop: theme.spacing(0.25),
1337
- marginBottom: theme.spacing(1.5),
1338
- width: '100%',
1339
- },
1340
- image: {
1341
- borderRadius: '16px',
1342
- objectFit: 'cover',
1343
- marginLeft: theme.spacing(2),
1344
- width: '125px',
1345
- height: '100%',
1346
- },
1347
- plusIcon: {
1348
- height: '100%',
1349
- padding: theme.spacing(0.25),
1350
- background: '#0076CB',
1351
- color: theme.palette.common.white,
1352
- borderRadius: '30px',
1353
- marginRight: theme.spacing(1),
1354
- },
1355
- title: {
1356
- fontSize: '1.125rem',
1357
- },
1358
- truncate: {
1359
- '-webkit-line-clamp': 2,
1360
- display: '-webkit-box',
1361
- '-webkit-box-orient': 'vertical',
1362
- textOverflow: 'ellipsis',
1363
- overflow: 'hidden',
1364
- },
1365
- price: {
1366
- fontSize: '1.25rem',
1367
- },
1368
- }); });
1194
+ var MenuItemReactions = function (props) {
1195
+ var likeCount = props.likeCount, reviewCount = props.reviewCount;
1196
+ var showLikes = likeCount ? likeCount > 0 : false;
1197
+ var showReviews = reviewCount ? reviewCount > 0 : false;
1198
+ return (React__default['default'].createElement(ReactionCounterGroup, null,
1199
+ showLikes && React__default['default'].createElement(ReactionCounter, { icon: SvgHeart, count: likeCount !== null && likeCount !== void 0 ? likeCount : 0 }),
1200
+ showReviews && React__default['default'].createElement(ReactionCounter, { icon: SvgReviews, count: reviewCount !== null && reviewCount !== void 0 ? reviewCount : 0 })));
1201
+ };
1369
1202
 
1370
- var ItemTagGroup = function (props) {
1371
- var children = props.children;
1372
- return (React__default['default'].createElement(core.Box, { display: "flex", gridGap: 6, ml: 1, flexWrap: "wrap" }, children));
1203
+ var useStyles$3 = core.makeStyles(function (_a) {
1204
+ var palette = _a.palette, spacing = _a.spacing;
1205
+ return ({
1206
+ plusIcon: {
1207
+ height: '100%',
1208
+ padding: spacing(0.25),
1209
+ background: palette.info.main,
1210
+ color: palette.info.contrastText,
1211
+ borderRadius: '30px',
1212
+ marginRight: spacing(1),
1213
+ },
1214
+ });
1215
+ });
1216
+ var MenuItemPrice = function (props) {
1217
+ var classes = useStyles$3();
1218
+ return (React__default['default'].createElement(core.Box, { display: "flex", alignItems: "center" },
1219
+ React__default['default'].createElement(core.Box, { display: "flex", className: classes.plusIcon },
1220
+ React__default['default'].createElement(Icon, { icon: SvgPlus, size: "medium" })),
1221
+ React__default['default'].createElement(core.Typography, null, props.price)));
1373
1222
  };
1374
1223
 
1375
1224
  var useItemtagStyles = styles.makeStyles(function (theme) { return ({
@@ -1400,35 +1249,34 @@ var ItemTag = React.forwardRef(function (props, ref) {
1400
1249
  React__default['default'].createElement(Typography, { variant: "caption", className: classes.text }, children)));
1401
1250
  });
1402
1251
 
1403
- var DishCard = function (props) {
1404
- 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;
1252
+ var ItemTagGroup = function (props) {
1253
+ var children = props.children;
1254
+ return (React__default['default'].createElement(core.Box, { display: "flex", gridGap: 6, ml: 1, flexWrap: "wrap" }, children));
1255
+ };
1256
+
1257
+ var MenuItemTags = function (props) {
1258
+ var itemTags = props.itemTags;
1259
+ return (React__default['default'].createElement(ItemTagGroup, null, itemTags === null || itemTags === void 0 ? void 0 : itemTags.slice(0, 5).map(function (itemTag) { return (React__default['default'].createElement(ItemTag, { key: itemTag.name, alt: itemTag.name, color: itemTag.color }, itemTag.abbr)); })));
1260
+ };
1261
+
1262
+ var MenuItem = React.forwardRef(function (props, ref) {
1263
+ var onClick = props.onClick, id = props.id, title = props.title, description = props.description;
1405
1264
  var classes = useDishCardStyles(props);
1406
- var theme = core.useTheme();
1407
- var validImage = (image === null || image === void 0 ? void 0 : image.src) && (image === null || image === void 0 ? void 0 : image.alt);
1408
- var getTruncatedSizePx = function (typography) {
1409
- var lineHeightRem = parseFloat(theme.typography[typography].lineHeight);
1410
- var collapsedSizeRem = 2 * lineHeightRem;
1411
- var documentFontSize = parseFloat(getComputedStyle(document.documentElement).fontSize);
1412
- return collapsedSizeRem * documentFontSize;
1265
+ var handleClick = function (event) {
1266
+ onClick(id, event);
1413
1267
  };
1414
- return (React__default['default'].createElement(core.Box, { className: classes.root, onClick: onClick, id: id },
1415
- React__default['default'].createElement(core.Box, { display: "flex", flexDirection: "column", justifyContent: "space-between", width: "100%", marginRight: 1 },
1416
- React__default['default'].createElement(core.Box, null,
1417
- React__default['default'].createElement(core.Box, { maxHeight: getTruncatedSizePx('h6') + 'px' },
1418
- React__default['default'].createElement(Typography, { variant: "h6", className: classNames([classes.title, classes.truncate]) }, title)),
1419
- React__default['default'].createElement(core.Box, { maxHeight: getTruncatedSizePx('body2') + 'px' },
1420
- React__default['default'].createElement(Typography, { variant: "body2", className: classNames([classes.description, classes.truncate]) }, description)),
1421
- React__default['default'].createElement(ReactionCounterGroup, null,
1422
- React__default['default'].createElement(ReactionCounter, { icon: SvgHeart, count: likeCount }),
1423
- React__default['default'].createElement(ReactionCounter, { icon: SvgReviews, count: reviewCount }))),
1424
- React__default['default'].createElement(core.Box, { display: "flex", justifyContent: "space-between", alignItems: "center" },
1425
- React__default['default'].createElement(core.Box, { display: "flex", alignItems: "center", mr: 2 },
1426
- React__default['default'].createElement(core.Box, { display: "flex", className: classes.plusIcon },
1427
- React__default['default'].createElement(Icon, { icon: SvgPlus, size: "medium" })),
1428
- React__default['default'].createElement(Typography, { className: classes.price }, price)),
1429
- React__default['default'].createElement(ItemTagGroup, null, itemTags.map(function (itemTag, i) { return (React__default['default'].createElement(ItemTag, { key: i, alt: itemTag.abbr, color: itemTag.color }, itemTag.abbr)); })))),
1430
- validImage && React__default['default'].createElement("img", { src: image.src, alt: image.alt, className: classes.image })));
1431
- };
1268
+ return (React__default['default'].createElement(core.Card, { className: classes.card, ref: ref, elevation: 0, "data-component-type": "menu-item" },
1269
+ React__default['default'].createElement(core.CardActionArea, { className: classes.cardActionArea, onClick: handleClick },
1270
+ React__default['default'].createElement(MenuItemInfo, null,
1271
+ React__default['default'].createElement(core.Typography, { className: classes.cardTitle }, title),
1272
+ React__default['default'].createElement(core.Typography, { className: classes.cardDescription, paragraph: true }, description),
1273
+ React__default['default'].createElement(MenuItemReactions, { likeCount: props.likeCount, reviewCount: props.reviewCount }),
1274
+ React__default['default'].createElement(core.Box, { display: "flex", justifyContent: "space-between", alignItems: "end", flexGrow: 1 },
1275
+ React__default['default'].createElement(MenuItemPrice, { price: props.price }),
1276
+ React__default['default'].createElement(MenuItemTags, { itemTags: props.itemTags }))),
1277
+ React__default['default'].createElement(MenuItemImg, { image: props.image }))));
1278
+ });
1279
+ MenuItem.displayName = 'MenuItem';
1432
1280
 
1433
1281
  var useDishCheckoutCardStyles = styles.makeStyles(function (theme) { return ({
1434
1282
  root: {
@@ -1444,6 +1292,9 @@ var useDishCheckoutCardStyles = styles.makeStyles(function (theme) { return ({
1444
1292
  height: theme.spacing(2.5),
1445
1293
  color: theme.palette.info.main,
1446
1294
  },
1295
+ editButton: {
1296
+ color: theme.palette.info.main,
1297
+ },
1447
1298
  price: {
1448
1299
  fontSize: '18px',
1449
1300
  },
@@ -1493,7 +1344,7 @@ var DishCheckoutCard = function (props) {
1493
1344
  specialInstructions,
1494
1345
  "\"")),
1495
1346
  React__default['default'].createElement(core.Box, { display: "flex", gridGap: 1, height: "100%" },
1496
- React__default['default'].createElement(Button$1, { variant: "text", onClick: onEdit }, "Edit"),
1347
+ React__default['default'].createElement(Button$1, { className: classes.editButton, variant: "text", onClick: onEdit }, "Edit"),
1497
1348
  React__default['default'].createElement(IconButton, { onClick: onDelete },
1498
1349
  React__default['default'].createElement(Icon, { icon: SvgTrash, className: classes.deleteIcon })))),
1499
1350
  React__default['default'].createElement(core.Box, { display: "flex", gridGap: 16, alignItems: "center" },
@@ -1619,6 +1470,66 @@ var useStatusTagStyles = styles.makeStyles(function (theme) { return ({
1619
1470
  },
1620
1471
  }); });
1621
1472
 
1473
+ var classnames = {exports: {}};
1474
+
1475
+ /*!
1476
+ Copyright (c) 2018 Jed Watson.
1477
+ Licensed under the MIT License (MIT), see
1478
+ http://jedwatson.github.io/classnames
1479
+ */
1480
+
1481
+ (function (module) {
1482
+ /* global define */
1483
+
1484
+ (function () {
1485
+
1486
+ var hasOwn = {}.hasOwnProperty;
1487
+
1488
+ function classNames() {
1489
+ var classes = [];
1490
+
1491
+ for (var i = 0; i < arguments.length; i++) {
1492
+ var arg = arguments[i];
1493
+ if (!arg) continue;
1494
+
1495
+ var argType = typeof arg;
1496
+
1497
+ if (argType === 'string' || argType === 'number') {
1498
+ classes.push(arg);
1499
+ } else if (Array.isArray(arg)) {
1500
+ if (arg.length) {
1501
+ var inner = classNames.apply(null, arg);
1502
+ if (inner) {
1503
+ classes.push(inner);
1504
+ }
1505
+ }
1506
+ } else if (argType === 'object') {
1507
+ if (arg.toString === Object.prototype.toString) {
1508
+ for (var key in arg) {
1509
+ if (hasOwn.call(arg, key) && arg[key]) {
1510
+ classes.push(key);
1511
+ }
1512
+ }
1513
+ } else {
1514
+ classes.push(arg.toString());
1515
+ }
1516
+ }
1517
+ }
1518
+
1519
+ return classes.join(' ');
1520
+ }
1521
+
1522
+ if (module.exports) {
1523
+ classNames.default = classNames;
1524
+ module.exports = classNames;
1525
+ } else {
1526
+ window.classNames = classNames;
1527
+ }
1528
+ }());
1529
+ }(classnames));
1530
+
1531
+ var classNames = classnames.exports;
1532
+
1622
1533
  var StatusTag = function (props) {
1623
1534
  var variant = props.variant, label = props.label, _a = props.color, color = _a === void 0 ? 'default' : _a;
1624
1535
  var classes = useStatusTagStyles(props);
@@ -1841,6 +1752,12 @@ var MenuDropdown = function (props) {
1841
1752
  }, className: classes.select }, menuOptions.map(function (option, index) { return (React__default['default'].createElement(core.MenuItem, { key: index, value: option.id }, option.name)); }))));
1842
1753
  };
1843
1754
 
1755
+ var useMenuFilterStyles = styles.makeStyles(function () { return ({
1756
+ triggerLabel: {
1757
+ whiteSpace: 'nowrap',
1758
+ },
1759
+ }); });
1760
+
1844
1761
  var _path;
1845
1762
 
1846
1763
  function _extends() { _extends = 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.apply(this, arguments); }
@@ -1857,74 +1774,40 @@ function SvgLeafIcon(props) {
1857
1774
  })));
1858
1775
  }
1859
1776
 
1860
- var useMenuFilterStyles = styles.makeStyles(function (theme) { return ({
1861
- chipButton: {
1862
- position: 'static',
1863
- },
1864
- container: {
1865
- alignItems: 'center',
1866
- display: 'flex',
1867
- flexWrap: 'wrap',
1868
- gridGap: theme.spacing(0.5),
1869
- },
1870
- filterButton: {
1871
- maxHeight: theme.spacing(4.5),
1872
- position: 'static',
1873
- textTransform: 'none',
1874
- },
1875
- tagText: {
1876
- color: theme.palette.grey[900],
1877
- },
1878
- }); });
1879
-
1880
1777
  var MenuFilter = function (props) {
1881
- var filterOptions = props.filterOptions, onFilter = props.onFilter, activeFilters = props.activeFilters;
1882
- var _a = React.useState(null), anchorEl = _a[0], setAnchorEl = _a[1];
1883
- var open = Boolean(anchorEl);
1884
- var hasActiveFilters = activeFilters.length > 0;
1885
- var allFiltersActive = filterOptions.length === 0;
1778
+ var options = props.options, onChange = props.onChange, value = props.value, _a = props.triggerLabel, triggerLabel = _a === void 0 ? 'Add Filter' : _a, _b = props.noOptionsLabel, noOptionsLabel = _b === void 0 ? 'All filters have been added' : _b;
1779
+ var triggerId = 'menu-filter-trigger';
1780
+ var popoverId = 'menu-filter-popover';
1886
1781
  var classes = useMenuFilterStyles();
1887
- var handleChange = function (event) {
1888
- onFilter({ target: { value: event.currentTarget.value } });
1782
+ var _c = React.useState(null), anchorEl = _c[0], setAnchorEl = _c[1];
1783
+ var open = Boolean(anchorEl);
1784
+ var optionIds = options.map(function (opt) { return opt.id; });
1785
+ var valueIds = value.map(function (val) { return val.id; });
1786
+ var availableIds = optionIds.filter(function (optionId) { return !valueIds.includes(optionId); });
1787
+ var availableFilters = options.filter(function (opt) { return availableIds.includes(opt.id); });
1788
+ var allFiltersSelected = availableFilters.length === 0;
1789
+ var handleChange = function (value, event) {
1790
+ onChange(value, event);
1889
1791
  setAnchorEl(null);
1890
1792
  };
1891
- var handleClick = function (event) {
1793
+ var handleTriggerClick = function (event) {
1892
1794
  setAnchorEl(event.currentTarget);
1893
1795
  };
1894
1796
  var handleClose = function () {
1895
1797
  setAnchorEl(null);
1896
1798
  };
1897
- var handleChipDelete = function (filterId) {
1898
- onFilter({ target: { value: filterId } });
1899
- setAnchorEl(null);
1900
- };
1901
- return (React__default['default'].createElement(core.Box, { display: "flex" },
1902
- React__default['default'].createElement(core.Box, { className: classes.container },
1903
- React__default['default'].createElement(core.Button, { id: "menu-filter-button", "aria-controls": open ? 'filter-menu' : undefined, "aria-haspopup": "true", "aria-expanded": open ? 'true' : undefined, onClick: handleClick, size: "small", className: classes.filterButton },
1904
- React__default['default'].createElement(core.Box, { display: "flex", alignItems: "center", padding: 1 },
1905
- React__default['default'].createElement(Icon, { icon: SvgLeafIcon }),
1906
- React__default['default'].createElement(core.Box, { marginLeft: 1 },
1907
- React__default['default'].createElement(Typography, { variant: "caption", color: "info.light" }, "Add Filter")))),
1908
- hasActiveFilters &&
1909
- activeFilters.map(function (filter, index) { return (React__default['default'].createElement(Chip, { key: index, onClick: function () { return handleChipDelete(filter.id); }, className: classes.chipButton, label: React__default['default'].createElement(core.Box, { display: "flex", alignItems: "center" },
1910
- React__default['default'].createElement(core.Box, { marginLeft: -0.75, marginRight: 0.75 },
1911
- React__default['default'].createElement(ItemTag, { alt: filter.abbr, color: filter.color }, filter.abbr)),
1912
- React__default['default'].createElement(Typography, { className: classes.tagText, variant: "caption" }, filter.name),
1913
- React__default['default'].createElement(core.Box, { display: "flex", marginLeft: 0.75, marginRight: -0.75 },
1914
- React__default['default'].createElement(Icon, { icon: SvgXCircle, size: "large", color: "#9E9E9E" }))) })); })),
1915
- React__default['default'].createElement(core.Menu, { id: "menu-filter-menu", anchorEl: anchorEl, open: open, onClose: handleClose, MenuListProps: {
1916
- 'aria-labelledby': 'menu-filter-button',
1917
- } },
1918
- !allFiltersActive &&
1919
- filterOptions.map(function (option, index) {
1920
- return (React__default['default'].createElement(core.MenuItem, { key: index, value: option.id, onClick: handleChange },
1921
- React__default['default'].createElement(ItemTag, { alt: option.abbr, color: option.color }, option.abbr),
1922
- React__default['default'].createElement(core.Box, { ml: 1 }, option.name)));
1923
- }),
1924
- allFiltersActive && (React__default['default'].createElement(core.MenuItem, { onClick: handleClose },
1799
+ return (React__default['default'].createElement(React__default['default'].Fragment, null,
1800
+ React__default['default'].createElement(core.Button, { id: triggerId, "aria-controls": popoverId, "aria-haspopup": "true", "aria-expanded": open, onClick: handleTriggerClick, size: "small", startIcon: React__default['default'].createElement(SvgLeafIcon, null), classes: { label: classes.triggerLabel } }, triggerLabel),
1801
+ React__default['default'].createElement(core.Menu, { id: popoverId, anchorEl: anchorEl, open: open, onClose: handleClose },
1802
+ availableFilters.map(function (option, index) {
1803
+ return (React__default['default'].createElement(core.MenuItem, { key: index, value: option.id, onClick: function (event) { return handleChange(option, event); } },
1804
+ React__default['default'].createElement(ItemTag, { alt: option.abbr, color: option.color }, option.abbr),
1805
+ React__default['default'].createElement(core.Box, { ml: 1 }, option.name)));
1806
+ }),
1807
+ allFiltersSelected && (React__default['default'].createElement(core.MenuItem, { onClick: handleClose },
1925
1808
  React__default['default'].createElement(core.Box, { display: "flex", flexDirection: "column", alignItems: "center" },
1926
1809
  React__default['default'].createElement(Icon, { icon: SvgTag, color: "#9E9E9E", size: "large" }),
1927
- React__default['default'].createElement(Typography, { variant: "body1", color: "grey.500" }, "All filters have been added")))))));
1810
+ React__default['default'].createElement(Typography, { variant: "body1", color: "grey.500" }, noOptionsLabel)))))));
1928
1811
  };
1929
1812
 
1930
1813
  var useQuantityPickerStyles = styles.makeStyles(function (theme) { return ({
@@ -2021,25 +1904,86 @@ var useSelectableChipGroupStyles = styles.makeStyles(function (theme) { return (
2021
1904
  root: {
2022
1905
  display: 'flex',
2023
1906
  alignItems: 'center',
2024
- '& div.MuiTabs-scroller': {
2025
- '& .MuiTabs-flexContainer': {
2026
- gridGap: theme.spacing(1.5),
2027
- },
2028
- },
1907
+ },
1908
+ flexContainer: {
1909
+ gridGap: theme.spacing(1.5),
2029
1910
  },
2030
1911
  }); });
2031
1912
 
2032
1913
  var SelectableChipGroup = function (props) {
2033
1914
  var children = props.children, muiProps = __rest$1(props, ["children"]);
2034
1915
  var classes = useSelectableChipGroupStyles(props);
2035
- return (React__default['default'].createElement(Tabs__default['default'], __assign$1({ TabIndicatorProps: {
1916
+ return (React__default['default'].createElement(core.Tabs, __assign$1({ TabIndicatorProps: {
2036
1917
  hidden: true,
2037
- }, variant: "scrollable", scrollButtons: "off", classes: { root: classes.root } }, muiProps),
1918
+ }, variant: "scrollable", scrollButtons: "off", classes: classes }, muiProps),
2038
1919
  React__default['default'].createElement(core.Box, { minWidth: "1px" }),
2039
1920
  children,
2040
1921
  React__default['default'].createElement(core.Box, { minWidth: "1px" })));
2041
1922
  };
2042
1923
 
1924
+ var useStyles$2 = core.makeStyles(function (_a) {
1925
+ var spacing = _a.spacing;
1926
+ return ({
1927
+ root: {
1928
+ padding: spacing(0.5, 0),
1929
+ height: 'unset',
1930
+ borderRadius: 4,
1931
+ },
1932
+ label: {
1933
+ paddingLeft: 8,
1934
+ display: 'flex',
1935
+ gridGap: 8,
1936
+ alignItems: 'center',
1937
+ },
1938
+ });
1939
+ });
1940
+ var SelectedMenuFiltersList = function (props) {
1941
+ var filters = props.filters, onChipClick = props.onChipClick;
1942
+ var classes = useStyles$2();
1943
+ return (React__default['default'].createElement(React__default['default'].Fragment, null, filters.map(function (filter, index) { return (React__default['default'].createElement(core.Chip, { key: filter.name + "-" + index, classes: classes, deleteIcon: React__default['default'].createElement(SvgXCircle, null), onDelete: function (event) { return onChipClick(filter, event); }, label: React__default['default'].createElement(React__default['default'].Fragment, null,
1944
+ React__default['default'].createElement(ItemTag, { alt: filter.abbr, color: filter.color }, filter.abbr),
1945
+ React__default['default'].createElement(core.Typography, { variant: "caption" }, filter.name)) })); })));
1946
+ };
1947
+
1948
+ var MenuSectionGroup = React.forwardRef(function (props, ref) {
1949
+ var children = props.children, restProps = __rest$1(props, ["children"]);
1950
+ return (React__default['default'].createElement(core.Box, __assign$1({ display: "flex", flexDirection: "column", gridGap: 40, marginBottom: 4 }, restProps, { ref: ref }, { "data-component-type": "menu-section-group" }), children));
1951
+ });
1952
+ MenuSectionGroup.displayName = 'MenuSectionGroup';
1953
+
1954
+ var useStyles$1 = core.makeStyles(function () { return ({
1955
+ title: {
1956
+ fontWeight: 400,
1957
+ fontSize: 20,
1958
+ lineHeight: '30px',
1959
+ },
1960
+ }); });
1961
+
1962
+ var MenuSection = React.forwardRef(function (props, ref) {
1963
+ var name = props.name, children = props.children, restProps = __rest$1(props, ["name", "children"]);
1964
+ var classes = useStyles$1();
1965
+ return (React__default['default'].createElement(core.Box, __assign$1({}, restProps, { ref: ref }, { "data-component-type": "menu-section" }),
1966
+ React__default['default'].createElement(core.Box, { marginTop: 1, marginBottom: 4 },
1967
+ React__default['default'].createElement(core.Typography, { className: classes.title }, name)),
1968
+ children));
1969
+ });
1970
+ MenuSection.displayName = 'MenuSection';
1971
+
1972
+ var useStyles = core.makeStyles(function () { return ({
1973
+ main: {
1974
+ display: 'grid',
1975
+ // tune so that 2x columns hit at the md breakpoint
1976
+ gridTemplateColumns: 'repeat(auto-fit, minmax(280px, 1fr))',
1977
+ gridGap: 32,
1978
+ },
1979
+ }); });
1980
+
1981
+ var MenuItemGroup = React.forwardRef(function (props, ref) {
1982
+ var classes = useStyles();
1983
+ return (React__default['default'].createElement(core.Box, __assign$1({ className: classes.main }, { ref: ref }, { "data-component-type": "menu-item-group" }), props.children));
1984
+ });
1985
+ MenuItemGroup.displayName = 'MenuItemGroup';
1986
+
2043
1987
  var palette = {
2044
1988
  primary: {
2045
1989
  light: '#7B7FA3',
@@ -2155,7 +2099,6 @@ var orderingTheme = {
2155
2099
  };
2156
2100
 
2157
2101
  exports.Button = Button$1;
2158
- exports.DishCard = DishCard;
2159
2102
  exports.DishCheckoutCard = DishCheckoutCard;
2160
2103
  exports.DishDetailsReview = DishDetailsReview;
2161
2104
  exports.DishModifierCard = DishModifierCard;
@@ -2164,11 +2107,16 @@ exports.ItemTagGroup = ItemTagGroup;
2164
2107
  exports.LocationCard = LocationCard;
2165
2108
  exports.MenuDropdown = MenuDropdown;
2166
2109
  exports.MenuFilter = MenuFilter;
2110
+ exports.MenuItem = MenuItem;
2111
+ exports.MenuItemGroup = MenuItemGroup;
2112
+ exports.MenuSection = MenuSection;
2113
+ exports.MenuSectionGroup = MenuSectionGroup;
2167
2114
  exports.QuantityPicker = QuantityPicker;
2168
2115
  exports.ReactionCounter = ReactionCounter;
2169
2116
  exports.ReactionCounterGroup = ReactionCounterGroup;
2170
2117
  exports.SelectableChip = SelectableChip;
2171
2118
  exports.SelectableChipGroup = SelectableChipGroup;
2119
+ exports.SelectedMenuFiltersList = SelectedMenuFiltersList;
2172
2120
  exports.StatusTag = StatusTag;
2173
2121
  exports.orderingTheme = orderingTheme;
2174
2122
  Object.keys(core).forEach(function (k) {