@popmenu/ordering-ui 0.70.0 → 0.72.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.
@@ -1,3 +1,4 @@
1
+ import { SyntheticEvent } from 'react';
1
2
  export interface DishCardProps {
2
3
  /** Renders the title of the dish */
3
4
  title: string;
@@ -5,6 +6,7 @@ export interface DishCardProps {
5
6
  price: string;
6
7
  /** Renders the description of the dish */
7
8
  description: string;
9
+ id: string;
8
10
  /** The image to be displayed. */
9
11
  image: {
10
12
  alt: string;
@@ -21,7 +23,7 @@ export interface DishCardProps {
21
23
  /** Number of reviews */
22
24
  reviewCount: number;
23
25
  /** Callback for when the DishCard is clicked */
24
- onClick: () => void;
26
+ onClick: (event: SyntheticEvent) => void;
25
27
  /** Boolean for whether or not the view is in mobile */
26
28
  isMobile: boolean;
27
29
  }
@@ -12,7 +12,7 @@ interface Base {
12
12
  /** Modifier options */
13
13
  modifiers: Array<Modifier>;
14
14
  /** The values of the modifier form */
15
- value: Array<ModifierValue>;
15
+ value: Array<ModifierValue> | undefined;
16
16
  /** Handles the change event */
17
17
  onChange: OnChange;
18
18
  }
@@ -0,0 +1 @@
1
+ export declare const useMenuFilterStyles: (props?: any) => import("@material-ui/styles").ClassNameMap<"chipButton" | "container" | "filterButton" | "tagText">;
package/build/index.es.js CHANGED
@@ -970,6 +970,7 @@ var useButtonStyles = makeStyles$1(function (theme) { return ({
970
970
  color: getColor(theme),
971
971
  background: getBackground(theme),
972
972
  fontSize: getFontSize(),
973
+ textTransform: 'none',
973
974
  minWidth: 'unset',
974
975
  },
975
976
  disabled: {
@@ -1385,6 +1386,9 @@ var useDishCardStyles = makeStyles$1(function (theme) { return ({
1385
1386
  borderRadius: '30px',
1386
1387
  marginRight: theme.spacing(1),
1387
1388
  },
1389
+ title: {
1390
+ fontSize: '1.125rem',
1391
+ },
1388
1392
  truncate: {
1389
1393
  '-webkit-line-clamp': 2,
1390
1394
  display: '-webkit-box',
@@ -1393,13 +1397,13 @@ var useDishCardStyles = makeStyles$1(function (theme) { return ({
1393
1397
  overflow: 'hidden',
1394
1398
  },
1395
1399
  price: {
1396
- fontSize: '18px',
1400
+ fontSize: '1.25rem',
1397
1401
  },
1398
1402
  }); });
1399
1403
 
1400
1404
  var ItemTagGroup = function (props) {
1401
1405
  var children = props.children;
1402
- return (React__default.createElement(Box, { display: "flex", gridGap: 6, ml: 1 }, children));
1406
+ return (React__default.createElement(Box, { display: "flex", gridGap: 6, ml: 1, flexWrap: "wrap" }, children));
1403
1407
  };
1404
1408
 
1405
1409
  var useItemtagStyles = makeStyles$1(function (theme) { return ({
@@ -1412,21 +1416,26 @@ var useItemtagStyles = makeStyles$1(function (theme) { return ({
1412
1416
  borderColor: ((_c = theme.palette[colorGroup]) === null || _c === void 0 ? void 0 : _c[colorVariant]) || color,
1413
1417
  border: '1.5px solid',
1414
1418
  background: 'none',
1415
- height: '20px',
1416
- width: '20px',
1419
+ height: '24px',
1420
+ lineHeight: 1.5,
1421
+ position: 'static',
1422
+ width: '24px',
1417
1423
  };
1418
1424
  },
1425
+ text: {
1426
+ lineHeight: 1.5,
1427
+ },
1419
1428
  }); });
1420
1429
 
1421
1430
  var ItemTag = forwardRef(function (props, ref) {
1422
1431
  var _a = props.color, color = _a === void 0 ? 'gray.dark' : _a, alt = props.alt, children = props.children;
1423
1432
  var classes = useItemtagStyles({ color: color });
1424
1433
  return (React__default.createElement(Avatar$1, { ref: ref, alt: alt, classes: { root: classes.root } },
1425
- React__default.createElement(Typography, { variant: "caption" }, children)));
1434
+ React__default.createElement(Typography, { variant: "caption", className: classes.text }, children)));
1426
1435
  });
1427
1436
 
1428
1437
  var DishCard = function (props) {
1429
- 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;
1438
+ 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;
1430
1439
  var classes = useDishCardStyles(props);
1431
1440
  var theme = useTheme$1();
1432
1441
  var validImage = (image === null || image === void 0 ? void 0 : image.src) && (image === null || image === void 0 ? void 0 : image.alt);
@@ -1436,11 +1445,11 @@ var DishCard = function (props) {
1436
1445
  var documentFontSize = parseFloat(getComputedStyle(document.documentElement).fontSize);
1437
1446
  return collapsedSizeRem * documentFontSize;
1438
1447
  };
1439
- return (React__default.createElement(Box, { className: classes.root, onClick: onClick },
1448
+ return (React__default.createElement(Box, { className: classes.root, onClick: onClick, id: id },
1440
1449
  React__default.createElement(Box, { display: "flex", flexDirection: "column", justifyContent: "space-between", width: "100%", marginRight: 1 },
1441
1450
  React__default.createElement(Box, null,
1442
1451
  React__default.createElement(Box, { maxHeight: getTruncatedSizePx('h6') + 'px' },
1443
- React__default.createElement(Typography, { variant: "h6", className: classes.truncate }, title)),
1452
+ React__default.createElement(Typography, { variant: "h6", className: classNames([classes.title, classes.truncate]) }, title)),
1444
1453
  React__default.createElement(Box, { maxHeight: getTruncatedSizePx('body2') + 'px' },
1445
1454
  React__default.createElement(Typography, { variant: "body2", className: classNames([classes.description, classes.truncate]) }, description)),
1446
1455
  React__default.createElement(ReactionCounterGroup, null,
@@ -1541,10 +1550,10 @@ var DishDetailsReview = forwardRef(function (props) {
1541
1550
  return (React__default.createElement(Box, { display: "flex" },
1542
1551
  React__default.createElement(Box, { mr: 1 },
1543
1552
  React__default.createElement(Avatar, { size: "small", src: userAvatarUrl })),
1544
- React__default.createElement(Box, { maxWidth: "324px" },
1553
+ React__default.createElement(Box, null,
1545
1554
  React__default.createElement(Box, { display: "flex", justifyContent: "space-between", mb: 1 },
1546
1555
  React__default.createElement(Typography, { color: "grey.600" }, userName),
1547
- React__default.createElement(Typography, { color: "grey.600", variant: "subtitle1" }, timeSinceCreated)),
1556
+ React__default.createElement(Typography, { color: "grey.600", variant: "subtitle1", style: { display: 'flex', alignItems: 'center' } }, timeSinceCreated)),
1548
1557
  React__default.createElement(Typography, { color: "grey.900", weight: "regular" }, content))));
1549
1558
  });
1550
1559
  DishDetailsReview.displayName = 'DishDetailsReview';
@@ -1563,6 +1572,14 @@ var useDishModifierCardStyles = makeStyles$1(function (theme) { return ({
1563
1572
  },
1564
1573
  name: {
1565
1574
  fontSize: '18px',
1575
+ width: 'max-content',
1576
+ },
1577
+ nameContainer: {
1578
+ display: 'flex',
1579
+ alignItems: 'center',
1580
+ },
1581
+ statusTagContainer: {
1582
+ margin: theme.spacing(0, 2),
1566
1583
  },
1567
1584
  }); });
1568
1585
  var useRadioModifierFormStyles = makeStyles$1(function (theme) { return ({
@@ -1607,7 +1624,6 @@ var useStatusTagStyles = makeStyles$1(function (theme) { return ({
1607
1624
  root: {
1608
1625
  borderRadius: '5px',
1609
1626
  display: 'flex',
1610
- height: '16px',
1611
1627
  padding: theme.spacing(1),
1612
1628
  alignItems: 'center',
1613
1629
  justifyContent: 'center',
@@ -1705,9 +1721,10 @@ var DishModifierCard = function (props) {
1705
1721
  }
1706
1722
  return (React__default.createElement(Box, { className: classes.root },
1707
1723
  React__default.createElement(Box, { display: "flex", justifyContent: "space-between", width: "100%", alignItems: "center", height: "fit-content" },
1708
- React__default.createElement(Box, { display: "flex", alignItems: "center", gridGap: 16 },
1724
+ React__default.createElement(Box, { className: classes.nameContainer },
1709
1725
  React__default.createElement(Typography, { className: classes.name }, name),
1710
- React__default.createElement(StatusTag, { variant: isRequired || isOutOfStock ? 'outlined' : 'filled', label: label, color: color })),
1726
+ React__default.createElement(Box, { className: classes.statusTagContainer },
1727
+ React__default.createElement(StatusTag, { variant: isRequired || isOutOfStock ? 'outlined' : 'filled', label: label, color: color }))),
1711
1728
  React__default.createElement(Typography, { variant: "subtitle1", className: error ? classes.error : undefined }, helperText)),
1712
1729
  React__default.createElement(Box, null,
1713
1730
  React__default.createElement(FormControl, null,
@@ -1870,12 +1887,33 @@ function SvgLeafIcon(props) {
1870
1887
  })));
1871
1888
  }
1872
1889
 
1890
+ var useMenuFilterStyles = makeStyles$1(function (theme) { return ({
1891
+ chipButton: {
1892
+ position: 'static',
1893
+ },
1894
+ container: {
1895
+ alignItems: 'center',
1896
+ display: 'flex',
1897
+ flexWrap: 'wrap',
1898
+ gridGap: theme.spacing(0.5),
1899
+ },
1900
+ filterButton: {
1901
+ maxHeight: theme.spacing(4.5),
1902
+ position: 'static',
1903
+ textTransform: 'none',
1904
+ },
1905
+ tagText: {
1906
+ color: theme.palette.grey[900],
1907
+ },
1908
+ }); });
1909
+
1873
1910
  var MenuFilter = function (props) {
1874
1911
  var filterOptions = props.filterOptions, onFilter = props.onFilter, activeFilters = props.activeFilters;
1875
1912
  var _a = useState(null), anchorEl = _a[0], setAnchorEl = _a[1];
1876
1913
  var open = Boolean(anchorEl);
1877
1914
  var hasActiveFilters = activeFilters.length > 0;
1878
1915
  var allFiltersActive = filterOptions.length === 0;
1916
+ var classes = useMenuFilterStyles();
1879
1917
  var handleChange = function (event) {
1880
1918
  onFilter({ target: { value: event.currentTarget.value } });
1881
1919
  setAnchorEl(null);
@@ -1891,17 +1929,19 @@ var MenuFilter = function (props) {
1891
1929
  setAnchorEl(null);
1892
1930
  };
1893
1931
  return (React__default.createElement(Box, { display: "flex" },
1894
- React__default.createElement(Button$2, { id: "menu-filter-button", "aria-controls": open ? 'filter-menu' : undefined, "aria-haspopup": "true", "aria-expanded": open ? 'true' : undefined, onClick: handleClick, size: "small" },
1895
- React__default.createElement(Box, { display: "flex", alignItems: "center", padding: 1 },
1896
- React__default.createElement(Icon, { icon: SvgLeafIcon }),
1897
- React__default.createElement(Box, { marginLeft: 1 },
1898
- React__default.createElement(Typography, { color: "info.light" }, "Add Filter")))),
1899
- hasActiveFilters && (React__default.createElement(Box, { display: "flex", alignItems: "center", gridGap: 4, marginLeft: 1 }, activeFilters.map(function (filter, index) { return (React__default.createElement(Chip, { key: index, onClick: function () { return handleChipDelete(filter.id); }, label: React__default.createElement(Box, { display: "flex", alignItems: "center" },
1900
- React__default.createElement(Box, { marginLeft: -0.75, marginRight: 0.75 },
1901
- React__default.createElement(ItemTag, { alt: filter.abbr, color: filter.color }, filter.abbr)),
1902
- React__default.createElement(Typography, null, filter.name),
1903
- React__default.createElement(Box, { display: "flex", marginLeft: 0.75, marginRight: -0.75 },
1904
- React__default.createElement(Icon, { icon: SvgXCircle, size: "large", color: "#9E9E9E" }))) })); }))),
1932
+ React__default.createElement(Box, { className: classes.container },
1933
+ React__default.createElement(Button$2, { 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 },
1934
+ React__default.createElement(Box, { display: "flex", alignItems: "center", padding: 1 },
1935
+ React__default.createElement(Icon, { icon: SvgLeafIcon }),
1936
+ React__default.createElement(Box, { marginLeft: 1 },
1937
+ React__default.createElement(Typography, { variant: "caption", color: "info.light" }, "Add Filter")))),
1938
+ hasActiveFilters &&
1939
+ activeFilters.map(function (filter, index) { return (React__default.createElement(Chip, { key: index, onClick: function () { return handleChipDelete(filter.id); }, className: classes.chipButton, label: React__default.createElement(Box, { display: "flex", alignItems: "center" },
1940
+ React__default.createElement(Box, { marginLeft: -0.75, marginRight: 0.75 },
1941
+ React__default.createElement(ItemTag, { alt: filter.abbr, color: filter.color }, filter.abbr)),
1942
+ React__default.createElement(Typography, { className: classes.tagText, variant: "caption" }, filter.name),
1943
+ React__default.createElement(Box, { display: "flex", marginLeft: 0.75, marginRight: -0.75 },
1944
+ React__default.createElement(Icon, { icon: SvgXCircle, size: "large", color: "#9E9E9E" }))) })); })),
1905
1945
  React__default.createElement(Menu, { id: "menu-filter-menu", anchorEl: anchorEl, open: open, onClose: handleClose, MenuListProps: {
1906
1946
  'aria-labelledby': 'menu-filter-button',
1907
1947
  } },
@@ -1984,6 +2024,7 @@ var useSelectableChipStyles = makeStyles$1(function (theme) { return ({
1984
2024
  minWidth: 'unset',
1985
2025
  minHeight: 'unset',
1986
2026
  opacity: 'unset',
2027
+ textTransform: 'none',
1987
2028
  '&::-webkit-scrollbar': {
1988
2029
  display: 'none',
1989
2030
  },