@popmenu/ordering-ui 0.84.1 → 0.85.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.js CHANGED
@@ -192,7 +192,7 @@ var useDishCardStyles = styles.makeStyles(function (theme) { return ({
192
192
  },
193
193
  }); });
194
194
 
195
- var useStyles$5 = core.makeStyles(function () { return ({
195
+ var useStyles$6 = core.makeStyles(function () { return ({
196
196
  img: {
197
197
  objectFit: 'cover',
198
198
  width: '100%',
@@ -202,7 +202,7 @@ var useStyles$5 = core.makeStyles(function () { return ({
202
202
  var MenuItemImg = function (props) {
203
203
  var _a = props.image, image = _a === void 0 ? {} : _a;
204
204
  var src = image.src, alt = image.alt;
205
- var classes = useStyles$5();
205
+ var classes = useStyles$6();
206
206
  if (!src || !alt) {
207
207
  return null;
208
208
  }
@@ -294,6 +294,24 @@ function SvgClock(props) {
294
294
  })))));
295
295
  }
296
296
 
297
+ var _path$13;
298
+
299
+ 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); }
300
+
301
+ function SvgX(props) {
302
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$2r({
303
+ viewBox: "0 0 16 16",
304
+ fill: "none",
305
+ strokeLinecap: "round",
306
+ strokeLinejoin: "round",
307
+ width: "1em",
308
+ height: "1em"
309
+ }, props), _path$13 || (_path$13 = /*#__PURE__*/React__namespace.createElement("path", {
310
+ d: "M12 4l-8 8m0-8l8 8",
311
+ stroke: "currentColor"
312
+ })));
313
+ }
314
+
297
315
  var _g$1m, _defs$J;
298
316
 
299
317
  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); }
@@ -1012,7 +1030,7 @@ Link.defaultProps = {
1012
1030
  };
1013
1031
  Link.displayName = 'Link';
1014
1032
 
1015
- var useStyles$4 = core.makeStyles(function (_a) {
1033
+ var useStyles$5 = core.makeStyles(function (_a) {
1016
1034
  var spacing = _a.spacing;
1017
1035
  return ({
1018
1036
  root: {
@@ -1026,7 +1044,7 @@ var useStyles$4 = core.makeStyles(function (_a) {
1026
1044
  });
1027
1045
  var Paper = React.forwardRef(function (props, ref) {
1028
1046
  var legacyStyles = props.legacyStyles, restProps = __rest(props, ["legacyStyles"]);
1029
- var classes = useStyles$4(props);
1047
+ var classes = useStyles$5(props);
1030
1048
  return React__default['default'].createElement(core.Paper, __assign({}, ref, { classes: __assign({}, (legacyStyles && classes)) }, restProps));
1031
1049
  });
1032
1050
  Paper.displayName = 'Paper';
@@ -1200,7 +1218,7 @@ var MenuItemReactions = function (props) {
1200
1218
  showReviews && React__default['default'].createElement(ReactionCounter, { icon: SvgReviews, count: reviewCount !== null && reviewCount !== void 0 ? reviewCount : 0 })));
1201
1219
  };
1202
1220
 
1203
- var useStyles$3 = core.makeStyles(function (_a) {
1221
+ var useStyles$4 = core.makeStyles(function (_a) {
1204
1222
  var palette = _a.palette, spacing = _a.spacing;
1205
1223
  return ({
1206
1224
  plusIcon: {
@@ -1214,7 +1232,7 @@ var useStyles$3 = core.makeStyles(function (_a) {
1214
1232
  });
1215
1233
  });
1216
1234
  var MenuItemPrice = function (props) {
1217
- var classes = useStyles$3();
1235
+ var classes = useStyles$4();
1218
1236
  return (React__default['default'].createElement(core.Box, { display: "flex", alignItems: "center" },
1219
1237
  React__default['default'].createElement(core.Box, { display: "flex", className: classes.plusIcon },
1220
1238
  React__default['default'].createElement(Icon, { icon: SvgPlus, size: "medium" })),
@@ -1280,13 +1298,23 @@ MenuItem.displayName = 'MenuItem';
1280
1298
 
1281
1299
  var useDishCheckoutCardStyles = styles.makeStyles(function (theme) { return ({
1282
1300
  root: {
1301
+ '&:first-of-type': {
1302
+ paddingTop: 0,
1303
+ },
1304
+ '&:last-of-type': {
1305
+ paddingBottom: 0,
1306
+ borderBottom: 'none',
1307
+ },
1283
1308
  color: theme.palette.grey[900],
1284
1309
  padding: theme.spacing(2, 0),
1285
1310
  display: 'flex',
1286
1311
  flexDirection: 'column',
1287
1312
  width: '100%',
1288
1313
  gridGap: theme.spacing(2),
1289
- border: '1px',
1314
+ borderBottom: function (_a) {
1315
+ var borderBottom = _a.borderBottom;
1316
+ return (borderBottom ? '1px solid #E0E0E0' : 'none');
1317
+ },
1290
1318
  },
1291
1319
  deleteButton: {
1292
1320
  color: theme.palette.info.main,
@@ -1294,6 +1322,11 @@ var useDishCheckoutCardStyles = styles.makeStyles(function (theme) { return ({
1294
1322
  editButton: {
1295
1323
  color: theme.palette.info.main,
1296
1324
  },
1325
+ name: {
1326
+ fontSize: 16,
1327
+ fontWeight: 500,
1328
+ lineHeight: '24px',
1329
+ },
1297
1330
  price: {
1298
1331
  fontSize: '18px',
1299
1332
  },
@@ -1301,10 +1334,10 @@ var useDishCheckoutCardStyles = styles.makeStyles(function (theme) { return ({
1301
1334
  paddingLeft: 'unset',
1302
1335
  borderRadius: '25px',
1303
1336
  '& fieldset': {
1304
- borderColor: theme.palette.grey[900],
1337
+ borderColor: theme.palette.grey[700],
1305
1338
  },
1306
1339
  '&.Mui-focused .MuiOutlinedInput-notchedOutline': {
1307
- borderColor: theme.palette.grey[900],
1340
+ borderColor: theme.palette.grey[700],
1308
1341
  borderWidth: '1px',
1309
1342
  },
1310
1343
  '& .MuiSelect-root': {
@@ -1340,15 +1373,18 @@ var OrderingAppContextProvider = function (props) {
1340
1373
 
1341
1374
  var DishCheckoutCard = function (props) {
1342
1375
  var _a;
1343
- var id = props.id, name = props.name, quantity = props.quantity, modifiers = props.modifiers, onDelete = props.onDelete, onEdit = props.onEdit, onChange = props.onChange, price = props.price, specialInstructions = props.specialInstructions, disabled = props.disabled;
1376
+ var id = props.id, name = props.name, quantity = props.quantity, modifiers = props.modifiers, onDelete = props.onDelete, onEdit = props.onEdit, onQuantityChange = props.onQuantityChange, price = props.price, specialInstructions = props.specialInstructions, disabled = props.disabled;
1344
1377
  var classes = useDishCheckoutCardStyles(props);
1345
1378
  var appContext = useOrderingAppContext()[0];
1346
1379
  var _b = React.useState(false), open = _b[0], setOpen = _b[1];
1347
1380
  var formattedPrice = typeof price === 'number' ? "" + ((_a = appContext.currencySymbol) !== null && _a !== void 0 ? _a : '') + price.toFixed(2) : price;
1381
+ var handleQuantityChange = function (event) {
1382
+ return onQuantityChange(id, parseInt(event.target.value, 10));
1383
+ };
1348
1384
  return (React__default['default'].createElement(core.Box, { className: classes.root },
1349
1385
  React__default['default'].createElement(core.Box, { display: "flex", justifyContent: "space-between", gridGap: 3 },
1350
1386
  React__default['default'].createElement(core.Box, null,
1351
- React__default['default'].createElement(Typography, { variant: "h6" }, name),
1387
+ React__default['default'].createElement(Typography, { variant: "h6", className: classes.name }, name),
1352
1388
  modifiers &&
1353
1389
  modifiers.map(function (modifier, i) { return (React__default['default'].createElement(Typography, { key: i, variant: "body2" },
1354
1390
  modifier[0],
@@ -1364,7 +1400,7 @@ var DishCheckoutCard = function (props) {
1364
1400
  React__default['default'].createElement(Icon, { icon: SvgTrash, size: "large" })))),
1365
1401
  React__default['default'].createElement(core.Box, { display: "flex", gridGap: 16, alignItems: "center" },
1366
1402
  React__default['default'].createElement(core.FormControl, { variant: "outlined", hiddenLabel: true },
1367
- React__default['default'].createElement(core.Select, { disabled: disabled, open: open, value: quantity, labelId: "select-label-" + id, onClick: function () { return setOpen(!open); }, disableUnderline: true, onChange: function (event) { return onChange(id, event.target.value); }, fullWidth: true, startAdornment: React__default['default'].createElement(core.InputAdornment, { position: "start" },
1403
+ React__default['default'].createElement(core.Select, { disabled: disabled, open: open, value: quantity, labelId: "select-label-" + id, onClick: function () { return setOpen(!open); }, disableUnderline: true, onChange: handleQuantityChange, fullWidth: true, startAdornment: React__default['default'].createElement(core.InputAdornment, { position: "start" },
1368
1404
  React__default['default'].createElement(Icon, { icon: open ? SvgChevronUp : SvgChevronDown, size: "large" })), inputProps: { shrink: false }, MenuProps: {
1369
1405
  disablePortal: true,
1370
1406
  anchorOrigin: {
@@ -1382,14 +1418,14 @@ var DishCheckoutCard = function (props) {
1382
1418
  };
1383
1419
 
1384
1420
  var DishDetailsReview = React.forwardRef(function (props) {
1385
- var userName = props.userName, userAvatarUrl = props.userAvatarUrl, content = props.content, timeSinceCreated = props.timeSinceCreated;
1421
+ var userName = props.userName, userAvatarUrl = props.userAvatarUrl, content = props.content, createdAgo = props.createdAgo;
1386
1422
  return (React__default['default'].createElement(core.Box, { display: "flex" },
1387
1423
  React__default['default'].createElement(core.Box, { mr: 1 },
1388
1424
  React__default['default'].createElement(Avatar, { size: "small", src: userAvatarUrl })),
1389
1425
  React__default['default'].createElement(core.Box, { width: "100%" },
1390
1426
  React__default['default'].createElement(core.Box, { display: "flex", justifyContent: "space-between", mb: 1 },
1391
1427
  React__default['default'].createElement(Typography, { color: "grey.600", style: { display: 'flex', alignItems: 'center' } }, userName),
1392
- React__default['default'].createElement(Typography, { color: "grey.600", variant: "subtitle1", style: { display: 'flex', alignItems: 'center' } }, timeSinceCreated)),
1428
+ React__default['default'].createElement(Typography, { color: "grey.600", variant: "subtitle1", style: { display: 'flex', alignItems: 'center' } }, createdAgo)),
1393
1429
  React__default['default'].createElement(Typography, { color: "grey.900", weight: "regular" }, content))));
1394
1430
  });
1395
1431
  DishDetailsReview.displayName = 'DishDetailsReview';
@@ -1712,11 +1748,11 @@ var LocationCard = function (props) {
1712
1748
  React__default['default'].createElement(core.Box, { display: "flex", justifyContent: "space-between" },
1713
1749
  React__default['default'].createElement(Typography, { className: classes.name }, name),
1714
1750
  selected && React__default['default'].createElement(Icon, { icon: SvgCheck, size: "extra-large", className: classes.checkIcon })),
1715
- React__default['default'].createElement(Typography, { className: classes.address, variant: "body2" }, address),
1751
+ address && (React__default['default'].createElement(Typography, { className: classes.address, variant: "body2" }, address)),
1716
1752
  React__default['default'].createElement(Typography, { className: classes.distance }, distance)),
1717
- React__default['default'].createElement(core.Box, { className: classes.availability },
1753
+ availability && (React__default['default'].createElement(core.Box, { className: classes.availability },
1718
1754
  React__default['default'].createElement(Icon, { icon: SvgClock, size: "large" }),
1719
- React__default['default'].createElement(Typography, { variant: "body2" }, availability))))));
1755
+ React__default['default'].createElement(Typography, { variant: "body2" }, availability)))))));
1720
1756
  };
1721
1757
 
1722
1758
  var _g, _defs;
@@ -1782,8 +1818,9 @@ var MenuDropdown = function (props) {
1782
1818
  }, className: classes.select }, menuOptions.map(function (option, index) { return (React__default['default'].createElement(core.MenuItem, { key: index, value: option.id }, option.name)); }))));
1783
1819
  };
1784
1820
 
1785
- var useMenuFilterStyles = styles.makeStyles(function () { return ({
1821
+ var useMenuFilterStyles = styles.makeStyles(function (theme) { return ({
1786
1822
  triggerLabel: {
1823
+ color: theme.palette.info.main,
1787
1824
  whiteSpace: 'nowrap',
1788
1825
  },
1789
1826
  }); });
@@ -1951,7 +1988,7 @@ var SelectableChipGroup = function (props) {
1951
1988
  React__default['default'].createElement(core.Box, { minWidth: "1px" })));
1952
1989
  };
1953
1990
 
1954
- var useStyles$2 = core.makeStyles(function (_a) {
1991
+ var useStyles$3 = core.makeStyles(function (_a) {
1955
1992
  var spacing = _a.spacing;
1956
1993
  return ({
1957
1994
  root: {
@@ -1969,7 +2006,7 @@ var useStyles$2 = core.makeStyles(function (_a) {
1969
2006
  });
1970
2007
  var SelectedMenuFiltersList = function (props) {
1971
2008
  var filters = props.filters, onChipClick = props.onChipClick;
1972
- var classes = useStyles$2();
2009
+ var classes = useStyles$3();
1973
2010
  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,
1974
2011
  React__default['default'].createElement(ItemTag, { alt: filter.abbr, color: filter.color }, filter.abbr),
1975
2012
  React__default['default'].createElement(core.Typography, { variant: "caption" }, filter.name)) })); })));
@@ -1981,7 +2018,7 @@ var MenuSectionGroup = React.forwardRef(function (props, ref) {
1981
2018
  });
1982
2019
  MenuSectionGroup.displayName = 'MenuSectionGroup';
1983
2020
 
1984
- var useStyles$1 = core.makeStyles(function () { return ({
2021
+ var useStyles$2 = core.makeStyles(function () { return ({
1985
2022
  title: {
1986
2023
  fontWeight: 400,
1987
2024
  fontSize: 20,
@@ -1991,7 +2028,7 @@ var useStyles$1 = core.makeStyles(function () { return ({
1991
2028
 
1992
2029
  var MenuSection = React.forwardRef(function (props, ref) {
1993
2030
  var name = props.name, children = props.children, restProps = __rest$1(props, ["name", "children"]);
1994
- var classes = useStyles$1();
2031
+ var classes = useStyles$2();
1995
2032
  return (React__default['default'].createElement(core.Box, __assign$1({}, restProps, { ref: ref }, { "data-component-type": "menu-section" }),
1996
2033
  React__default['default'].createElement(core.Box, { marginTop: 1, marginBottom: 4 },
1997
2034
  React__default['default'].createElement(core.Typography, { className: classes.title }, name)),
@@ -1999,7 +2036,7 @@ var MenuSection = React.forwardRef(function (props, ref) {
1999
2036
  });
2000
2037
  MenuSection.displayName = 'MenuSection';
2001
2038
 
2002
- var useStyles = core.makeStyles(function () { return ({
2039
+ var useStyles$1 = core.makeStyles(function () { return ({
2003
2040
  main: {
2004
2041
  display: 'grid',
2005
2042
  // tune so that 2x columns hit at the md breakpoint
@@ -2009,13 +2046,33 @@ var useStyles = core.makeStyles(function () { return ({
2009
2046
  }); });
2010
2047
 
2011
2048
  var MenuItemGroup = React.forwardRef(function (props, ref) {
2012
- var classes = useStyles();
2049
+ var classes = useStyles$1();
2013
2050
  return (React__default['default'].createElement(core.Box, __assign$1({ className: classes.main }, { ref: ref }, { "data-component-type": "menu-item-group" }), props.children));
2014
2051
  });
2015
2052
  MenuItemGroup.displayName = 'MenuItemGroup';
2016
2053
 
2017
2054
  var PageSection = function (props) { return (React__default['default'].createElement(core.Box, { p: 4, borderBottom: "1px solid #E0E0E0" }, props.children)); };
2018
2055
 
2056
+ var useStyles = core.makeStyles(function () { return ({
2057
+ closeButton: {
2058
+ padding: 0,
2059
+ },
2060
+ }); });
2061
+ var DialogTitle = function (props) {
2062
+ var Icon = props.Icon, title = props.title, onClose = props.onClose;
2063
+ var classes = useStyles();
2064
+ return (React__default['default'].createElement(core.DialogTitle, null,
2065
+ React__default['default'].createElement(core.Box, { display: "flex", alignItems: "center", gridGap: 16 },
2066
+ Icon && Icon,
2067
+ React__default['default'].createElement(core.Typography, { variant: "h6" }, title)),
2068
+ React__default['default'].createElement(core.IconButton, { color: "inherit", className: classes.closeButton, "aria-label": "Close dialog", onClick: onClose },
2069
+ React__default['default'].createElement(SvgX, null))));
2070
+ };
2071
+
2072
+ var DialogSection = function (props) {
2073
+ return (React__default['default'].createElement(core.Box, { paddingTop: 4, paddingBottom: props.borderBottom ? 4 : 0, paddingX: props.edgeToEdge ? 0 : 2, borderBottom: props.borderBottom ? '1px solid #E0E0E0' : undefined }, props.children));
2074
+ };
2075
+
2019
2076
  var palette = {
2020
2077
  primary: {
2021
2078
  light: '#7B7FA3',
@@ -2055,6 +2112,36 @@ var overrides = {
2055
2112
  root: {
2056
2113
  borderRadius: 32,
2057
2114
  textTransform: 'none',
2115
+ padding: '18px 16px',
2116
+ },
2117
+ outlined: {
2118
+ padding: 'inherit',
2119
+ },
2120
+ },
2121
+ MuiDialogTitle: {
2122
+ root: {
2123
+ display: 'flex',
2124
+ alignItems: 'center',
2125
+ justifyContent: 'space-between',
2126
+ borderBottom: '1px solid #E0E0E0',
2127
+ },
2128
+ },
2129
+ MuiDialogContent: {
2130
+ root: {
2131
+ '&:first-child': {
2132
+ paddingTop: 0,
2133
+ },
2134
+ paddingTop: 0,
2135
+ paddingRight: 0,
2136
+ paddingLeft: 0,
2137
+ display: 'flex',
2138
+ flexDirection: 'column',
2139
+ },
2140
+ },
2141
+ MuiDialogActions: {
2142
+ root: {
2143
+ padding: 16,
2144
+ boxShadow: '-4px 0px 8px 0px #0000001A',
2058
2145
  },
2059
2146
  },
2060
2147
  };
@@ -2063,6 +2150,9 @@ var props = {
2063
2150
  MuiButton: {
2064
2151
  disableElevation: true,
2065
2152
  },
2153
+ MuiDialogTitle: {
2154
+ disableTypography: true,
2155
+ },
2066
2156
  };
2067
2157
 
2068
2158
  var fonts = ['"Poppins"', '"sans-serif"'];
@@ -2131,6 +2221,8 @@ var orderingTheme = {
2131
2221
  };
2132
2222
 
2133
2223
  exports.Button = Button$1;
2224
+ exports.DialogSection = DialogSection;
2225
+ exports.DialogTitle = DialogTitle;
2134
2226
  exports.DishCheckoutCard = DishCheckoutCard;
2135
2227
  exports.DishDetailsReview = DishDetailsReview;
2136
2228
  exports.DishModifierCard = DishModifierCard;