@popmenu/ordering-ui 0.85.0 → 0.85.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
2
  import { MenuItemProps } from './MenuItemProps';
3
- export declare const MenuItemPrice: (props: Pick<MenuItemProps, 'price'>) => JSX.Element;
3
+ export declare const MenuItemPrice: (props: Pick<MenuItemProps, 'price' | 'available'>) => JSX.Element;
@@ -26,6 +26,6 @@ export interface MenuItemProps {
26
26
  reviewCount?: Maybe<number>;
27
27
  /** Callback for when the DishCard is clicked */
28
28
  onClick: (id: string, event: React.MouseEvent<HTMLButtonElement>) => void;
29
- /** Boolean for whether or not the view is in mobile */
30
- isMobile: boolean;
29
+ /** Whether or not the menu item is available for ordering */
30
+ available: boolean;
31
31
  }
package/build/index.es.js CHANGED
@@ -104,50 +104,60 @@ var Button$1 = forwardRef(function (props, ref) {
104
104
  });
105
105
  Button$1.displayName = 'Button';
106
106
 
107
- var useDishCardStyles = makeStyles(function (theme) { return ({
108
- cardActionArea: {
109
- display: 'flex',
110
- gridGap: 16,
111
- height: '100%',
112
- },
113
- card: {
114
- // TODO: https://app.shortcut.com/popmenu/story/92467/hide-menuitem-borders-in-2-column-view-widths
115
- '&:after': {
116
- content: '""',
117
- position: 'absolute',
118
- backgroundColor: '#E0E0E0',
119
- width: '100%',
120
- height: 1,
121
- bottom: -16,
122
- left: 0,
107
+ var useDishCardStyles = makeStyles(function (theme) {
108
+ var _a, _b;
109
+ return ({
110
+ cardActionArea: (_a = {
111
+ display: 'flex',
112
+ gridGap: 16,
113
+ height: '100%'
114
+ },
115
+ _a[theme.breakpoints.up('lg')] = {
116
+ border: '1px solid #E0E0E0',
117
+ borderRadius: theme.spacing(2),
118
+ padding: theme.spacing(2),
119
+ },
120
+ _a),
121
+ card: (_b = {},
122
+ _b[theme.breakpoints.down('md')] = {
123
+ '&:after': {
124
+ content: '""',
125
+ position: 'absolute',
126
+ backgroundColor: '#E0E0E0',
127
+ width: '100%',
128
+ height: 1,
129
+ bottom: -16,
130
+ left: 0,
131
+ },
132
+ },
133
+ _b.height = 185,
134
+ _b.position = 'relative',
135
+ _b.overflow = 'visible',
136
+ _b),
137
+ cardTitle: {
138
+ fontWeight: 500,
139
+ fontSize: 18,
140
+ lineHeight: '27px',
141
+ color: theme.palette.grey[900],
142
+ '-webkit-line-clamp': 2,
143
+ display: '-webkit-box',
144
+ '-webkit-box-orient': 'vertical',
145
+ textOverflow: 'ellipsis',
146
+ overflow: 'hidden',
123
147
  },
124
- height: 185,
125
- position: 'relative',
126
- overflow: 'visible',
127
- },
128
- cardTitle: {
129
- fontWeight: 500,
130
- fontSize: 18,
131
- lineHeight: '27px',
132
- color: theme.palette.grey[900],
133
- '-webkit-line-clamp': 2,
134
- display: '-webkit-box',
135
- '-webkit-box-orient': 'vertical',
136
- textOverflow: 'ellipsis',
137
- overflow: 'hidden',
138
- },
139
- cardDescription: {
140
- fontWeight: 400,
141
- fontSize: 14,
142
- lineHeight: '20px',
143
- color: theme.palette.grey[700],
144
- '-webkit-line-clamp': 2,
145
- display: '-webkit-box',
146
- '-webkit-box-orient': 'vertical',
147
- textOverflow: 'ellipsis',
148
- overflow: 'hidden',
149
- },
150
- }); });
148
+ cardDescription: {
149
+ fontWeight: 400,
150
+ fontSize: 14,
151
+ lineHeight: '20px',
152
+ color: theme.palette.grey[700],
153
+ '-webkit-line-clamp': 2,
154
+ display: '-webkit-box',
155
+ '-webkit-box-orient': 'vertical',
156
+ textOverflow: 'ellipsis',
157
+ overflow: 'hidden',
158
+ },
159
+ });
160
+ });
151
161
 
152
162
  var useStyles$6 = makeStyles$1(function () { return ({
153
163
  img: {
@@ -312,6 +322,27 @@ function SvgHeart(props) {
312
322
  })));
313
323
  }
314
324
 
325
+ var _g$1c;
326
+
327
+ function _extends$2d() { _extends$2d = 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$2d.apply(this, arguments); }
328
+
329
+ function SvgLock(props) {
330
+ return /*#__PURE__*/React.createElement("svg", _extends$2d({
331
+ viewBox: "0 0 16 16",
332
+ fill: "none",
333
+ strokeLinecap: "round",
334
+ strokeLinejoin: "round",
335
+ width: "1em",
336
+ height: "1em"
337
+ }, props), _g$1c || (_g$1c = /*#__PURE__*/React.createElement("g", {
338
+ stroke: "currentColor"
339
+ }, /*#__PURE__*/React.createElement("path", {
340
+ d: "M12.667 7.333H3.333C2.597 7.333 2 7.93 2 8.668v4.667c0 .736.597 1.333 1.333 1.333h9.334c.736 0 1.333-.597 1.333-1.333V8.667c0-.737-.597-1.333-1.333-1.333z"
341
+ }), /*#__PURE__*/React.createElement("path", {
342
+ d: "M4.667 7.333V4.668a3.333 3.333 0 116.666 0v2.667"
343
+ }))));
344
+ }
345
+
315
346
  var _g$19, _defs$C;
316
347
 
317
348
  function _extends$24() { _extends$24 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$24.apply(this, arguments); }
@@ -1181,18 +1212,18 @@ var useStyles$4 = makeStyles$1(function (_a) {
1181
1212
  plusIcon: {
1182
1213
  height: '100%',
1183
1214
  padding: spacing(0.25),
1184
- background: palette.info.main,
1185
- color: palette.info.contrastText,
1215
+ background: function (props) { return (props.available ? palette.info.main : 'none'); },
1216
+ color: function (props) { return (props.available ? palette.info.contrastText : palette.warning.main); },
1186
1217
  borderRadius: '30px',
1187
1218
  marginRight: spacing(1),
1188
1219
  },
1189
1220
  });
1190
1221
  });
1191
1222
  var MenuItemPrice = function (props) {
1192
- var classes = useStyles$4();
1223
+ var classes = useStyles$4(props);
1193
1224
  return (React__default.createElement(Box, { display: "flex", alignItems: "center" },
1194
1225
  React__default.createElement(Box, { display: "flex", className: classes.plusIcon },
1195
- React__default.createElement(Icon, { icon: SvgPlus, size: "medium" })),
1226
+ React__default.createElement(Icon, { icon: props.available ? SvgPlus : SvgLock, size: "medium" })),
1196
1227
  React__default.createElement(Typography$1, null, props.price)));
1197
1228
  };
1198
1229
 
@@ -1247,7 +1278,7 @@ var MenuItem = forwardRef(function (props, ref) {
1247
1278
  React__default.createElement(Typography$1, { className: classes.cardDescription, paragraph: true }, description),
1248
1279
  React__default.createElement(MenuItemReactions, { likeCount: props.likeCount, reviewCount: props.reviewCount }),
1249
1280
  React__default.createElement(Box, { display: "flex", justifyContent: "space-between", alignItems: "end", flexGrow: 1 },
1250
- React__default.createElement(MenuItemPrice, { price: props.price }),
1281
+ React__default.createElement(MenuItemPrice, { price: props.price, available: props.available }),
1251
1282
  React__default.createElement(MenuItemTags, { itemTags: props.itemTags }))),
1252
1283
  React__default.createElement(MenuItemImg, { image: props.image }))));
1253
1284
  });
@@ -1744,21 +1775,29 @@ function SvgRestaurantMenuIcon(props) {
1744
1775
  })))));
1745
1776
  }
1746
1777
 
1747
- var useMenuDropdownStyles = makeStyles(function (theme) { return ({
1748
- select: {
1749
- '& .MuiSelect-root': {
1750
- color: '#212121',
1751
- padding: theme.spacing(1, 0.5, 1, 0.5),
1752
- zIndex: 10,
1778
+ var useMenuDropdownStyles = makeStyles(function (theme) {
1779
+ var _a;
1780
+ return ({
1781
+ formControl: (_a = {},
1782
+ _a[theme.breakpoints.up('lg')] = {
1783
+ alignSelf: 'start',
1784
+ },
1785
+ _a),
1786
+ select: {
1787
+ '& .MuiSelect-root': {
1788
+ color: '#212121',
1789
+ padding: theme.spacing(1, 0.5, 1, 0.5),
1790
+ zIndex: 10,
1791
+ },
1753
1792
  },
1754
- },
1755
- }); });
1793
+ });
1794
+ });
1756
1795
 
1757
1796
  var MenuDropdown = function (props) {
1758
1797
  var menuOptions = props.menuOptions, onSelect = props.onSelect, selectedOptionId = props.selectedOptionId;
1759
1798
  var classes = useMenuDropdownStyles(props);
1760
1799
  var _a = useState(false), open = _a[0], setOpen = _a[1];
1761
- return (React__default.createElement(FormControl, { hiddenLabel: true },
1800
+ return (React__default.createElement(FormControl, { hiddenLabel: true, classes: { root: classes.formControl } },
1762
1801
  React__default.createElement(Select, { open: open, value: selectedOptionId, labelId: "menu-dropdown-select", onClick: function () { return setOpen(!open); }, disableUnderline: true, onChange: function (event) { return onSelect(event.target.value); }, fullWidth: true, startAdornment: React__default.createElement(InputAdornment, { position: "start" },
1763
1802
  React__default.createElement(Icon, { icon: SvgRestaurantMenuIcon, size: "large" })), IconComponent: function () { return (React__default.createElement(InputAdornment, { position: "end" },
1764
1803
  React__default.createElement(Icon, { color: "#0076CB", icon: open ? SvgChevronUp : SvgChevronDown, size: "large" }))); }, MenuProps: {
@@ -1924,25 +1963,29 @@ var SelectableChip = function (props) {
1924
1963
  } }, props)));
1925
1964
  };
1926
1965
 
1927
- var useSelectableChipGroupStyles = makeStyles(function (theme) { return ({
1928
- root: {
1929
- display: 'flex',
1930
- alignItems: 'center',
1931
- },
1932
- flexContainer: {
1933
- gridGap: theme.spacing(1.5),
1934
- },
1935
- }); });
1966
+ var useSelectableChipGroupStyles = makeStyles(function (_a) {
1967
+ var _b;
1968
+ var breakpoints = _a.breakpoints, spacing = _a.spacing;
1969
+ return ({
1970
+ flexContainer: (_b = {},
1971
+ _b[breakpoints.down('md')] = {
1972
+ padding: spacing(0, 2),
1973
+ },
1974
+ _b[breakpoints.up('lg')] = {
1975
+ alignItems: 'flex-start',
1976
+ flexDirection: 'column',
1977
+ },
1978
+ _b.gridGap = spacing(1.5),
1979
+ _b),
1980
+ });
1981
+ });
1936
1982
 
1937
1983
  var SelectableChipGroup = function (props) {
1938
1984
  var children = props.children, muiProps = __rest$1(props, ["children"]);
1939
1985
  var classes = useSelectableChipGroupStyles(props);
1940
1986
  return (React__default.createElement(Tabs, __assign$1({ TabIndicatorProps: {
1941
1987
  hidden: true,
1942
- }, variant: "scrollable", scrollButtons: "off", classes: classes }, muiProps),
1943
- React__default.createElement(Box, { minWidth: "1px" }),
1944
- children,
1945
- React__default.createElement(Box, { minWidth: "1px" })));
1988
+ }, variant: "scrollable", scrollButtons: "off", classes: classes }, muiProps), children));
1946
1989
  };
1947
1990
 
1948
1991
  var useStyles$3 = makeStyles$1(function (_a) {
@@ -1993,14 +2036,22 @@ var MenuSection = forwardRef(function (props, ref) {
1993
2036
  });
1994
2037
  MenuSection.displayName = 'MenuSection';
1995
2038
 
1996
- var useStyles$1 = makeStyles$1(function () { return ({
1997
- main: {
1998
- display: 'grid',
1999
- // tune so that 2x columns hit at the md breakpoint
2000
- gridTemplateColumns: 'repeat(auto-fit, minmax(280px, 1fr))',
2001
- gridGap: 32,
2002
- },
2003
- }); });
2039
+ var useStyles$1 = makeStyles$1(function (_a) {
2040
+ var _b;
2041
+ var breakpoints = _a.breakpoints;
2042
+ return ({
2043
+ main: (_b = {},
2044
+ _b[breakpoints.down('md')] = {
2045
+ gridTemplateColumns: '1fr',
2046
+ },
2047
+ _b[breakpoints.up('lg')] = {
2048
+ gridTemplateColumns: 'repeat(2, minmax(280px, 1fr))',
2049
+ },
2050
+ _b.display = 'grid',
2051
+ _b.gridGap = 32,
2052
+ _b),
2053
+ });
2054
+ });
2004
2055
 
2005
2056
  var MenuItemGroup = forwardRef(function (props, ref) {
2006
2057
  var classes = useStyles$1();
@@ -2074,6 +2125,9 @@ var overrides = {
2074
2125
  outlined: {
2075
2126
  padding: 'inherit',
2076
2127
  },
2128
+ textPrimary: {
2129
+ color: '#0076CB',
2130
+ },
2077
2131
  },
2078
2132
  MuiDialogTitle: {
2079
2133
  root: {
@@ -2101,6 +2155,17 @@ var overrides = {
2101
2155
  boxShadow: '-4px 0px 8px 0px #0000001A',
2102
2156
  },
2103
2157
  },
2158
+ MuiDialog: {
2159
+ paper: {
2160
+ minWidth: 500,
2161
+ },
2162
+ paperWidthMd: {
2163
+ minWidth: 640,
2164
+ },
2165
+ paperFullScreen: {
2166
+ minWidth: 'unset',
2167
+ },
2168
+ },
2104
2169
  };
2105
2170
 
2106
2171
  var props = {