@popmenu/ordering-ui 0.113.1 → 0.113.3

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,7 +1,5 @@
1
1
  import { HTMLAttributes, PropsWithChildren } from 'react';
2
2
  export interface ItemTagProps extends PropsWithChildren<HTMLAttributes<HTMLElement>> {
3
- /** Sets the border-color and text-color for an ItemTag. */
4
- color?: string;
5
3
  /** sets alt for Avatar component */
6
4
  alt?: string;
7
5
  }
@@ -1,2 +1 @@
1
- import { ItemTagProps } from './ItemTagProps';
2
- export declare const useItemtagStyles: (props: ItemTagProps) => import("@material-ui/styles").ClassNameMap<string>;
1
+ export declare const useItemTagStyles: (props?: any) => import("@material-ui/styles").ClassNameMap<"root" | "text">;
@@ -10,4 +10,6 @@ export interface MenuDropdownProps {
10
10
  menuOptions: MenuDropdownOption[];
11
11
  /** current menu select value */
12
12
  selectedOptionId: number | string;
13
+ /** label for the dropdown */
14
+ label: string;
13
15
  }
@@ -6,9 +6,12 @@ export declare type MenuFilterOption = {
6
6
  name: string;
7
7
  };
8
8
  export declare type MenuFilterChangeHandler = (value: MenuFilterOption, event: React.MouseEvent<HTMLElement>) => void;
9
+ export declare type MenuFilterClearHandler = () => void;
9
10
  export interface MenuFilterProps {
10
11
  /** Callback for setting menu filters */
11
12
  onChange: MenuFilterChangeHandler;
13
+ /** Callback for setting menu filters */
14
+ onClear: MenuFilterClearHandler;
12
15
  /** options to set menu filter with */
13
16
  options: MenuFilterOption[];
14
17
  /** selected options to set menu filter with */
package/build/index.es.js CHANGED
@@ -456,24 +456,6 @@ function SvgPlusCircle(props) {
456
456
  })))));
457
457
  }
458
458
 
459
- var _path$1E;
460
-
461
- function _extends$3N() { _extends$3N = 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$3N.apply(this, arguments); }
462
-
463
- function SvgTag(props) {
464
- return /*#__PURE__*/React.createElement("svg", _extends$3N({
465
- viewBox: "0 0 16 16",
466
- fill: "none",
467
- strokeLinecap: "round",
468
- strokeLinejoin: "round",
469
- width: "1em",
470
- height: "1em"
471
- }, props), _path$1E || (_path$1E = /*#__PURE__*/React.createElement("path", {
472
- 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",
473
- stroke: "currentColor"
474
- })));
475
- }
476
-
477
459
  var _path$1u;
478
460
 
479
461
  function _extends$3u() { _extends$3u = 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$3u.apply(this, arguments); }
@@ -1368,23 +1350,16 @@ var MenuItemPrice = function (props) {
1368
1350
  React__default.createElement(Typography$1, null, props.price)));
1369
1351
  };
1370
1352
 
1371
- var useItemtagStyles = makeStyles(function (theme) { return ({
1372
- root: function (_a) {
1373
- var _b, _c;
1374
- var _d = _a.color, color = _d === void 0 ? '' : _d;
1375
- var _e = color.split('.'), colorGroup = _e[0], colorVariant = _e[1];
1376
- return {
1377
- // @ts-expect-error - todo.
1378
- color: ((_b = theme.palette[colorGroup]) === null || _b === void 0 ? void 0 : _b[colorVariant]) || color,
1379
- // @ts-expect-error - todo.
1380
- borderColor: ((_c = theme.palette[colorGroup]) === null || _c === void 0 ? void 0 : _c[colorVariant]) || color,
1381
- border: '1.5px solid',
1382
- background: 'none',
1383
- height: '24px',
1384
- lineHeight: 1.5,
1385
- position: 'static',
1386
- width: '24px',
1387
- };
1353
+ var useItemTagStyles = makeStyles(function (theme) { return ({
1354
+ root: {
1355
+ color: theme.palette.text.primary,
1356
+ borderColor: theme.palette.text.primary,
1357
+ border: '1.5px solid',
1358
+ background: 'none',
1359
+ height: '24px',
1360
+ lineHeight: 1.5,
1361
+ position: 'static',
1362
+ width: '24px',
1388
1363
  },
1389
1364
  text: {
1390
1365
  lineHeight: 1.5,
@@ -1392,11 +1367,12 @@ var useItemtagStyles = makeStyles(function (theme) { return ({
1392
1367
  }); });
1393
1368
 
1394
1369
  var ItemTag = forwardRef(function (props, ref) {
1395
- var _a = props.color, color = _a === void 0 ? 'gray.dark' : _a, alt = props.alt, children = props.children;
1396
- var classes = useItemtagStyles({ color: color });
1370
+ var alt = props.alt, children = props.children;
1371
+ var classes = useItemTagStyles();
1397
1372
  return (React__default.createElement(Avatar$1, { ref: ref, alt: alt, classes: { root: classes.root } },
1398
1373
  React__default.createElement(Typography, { variant: "caption", className: classes.text }, children)));
1399
- });
1374
+ });
1375
+ ItemTag.displayName = 'ItemTag';
1400
1376
 
1401
1377
  var ItemTagGroup = function (props) {
1402
1378
  var children = props.children;
@@ -2049,6 +2025,10 @@ var useMenuDropdownStyles = makeStyles(function (theme) {
2049
2025
  },
2050
2026
  select: {
2051
2027
  '& .MuiSelect-root': (_b = {
2028
+ '&:focus': {
2029
+ outline: '2px solid #0076CB',
2030
+ borderRadius: 8,
2031
+ },
2052
2032
  color: '#212121',
2053
2033
  padding: theme.spacing(1, 0.5, 1, 0.5),
2054
2034
  zIndex: 10
@@ -2075,7 +2055,7 @@ var MenuDropdown = function (props) {
2075
2055
  return breakpoints.down('md');
2076
2056
  });
2077
2057
  return (React__default.createElement(FormControl, { hiddenLabel: true, classes: { root: classes.formControl } },
2078
- React__default.createElement(Select, { open: open, value: selectedOptionId, id: "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" },
2058
+ React__default.createElement(Select, { open: open, value: selectedOptionId, id: "menu-dropdown-select", "aria-label": props.label, onClick: function () { return setOpen(!open); }, disableUnderline: true, onChange: function (event) { return onSelect(event.target.value); }, fullWidth: true, startAdornment: React__default.createElement(InputAdornment, { position: "start" },
2079
2059
  React__default.createElement(Icon, { icon: SvgRestaurantMenu, size: isMobile ? 'extra-large' : 'large' })), IconComponent: function () { return (React__default.createElement(InputAdornment, { position: "end" },
2080
2060
  React__default.createElement(Icon, { color: "#0076CB", icon: open ? SvgChevronUp : SvgChevronDown, size: "large" }))); }, MenuProps: {
2081
2061
  disablePortal: true,
@@ -2117,7 +2097,7 @@ function SvgLeafIcon(props) {
2117
2097
  }
2118
2098
 
2119
2099
  var MenuFilter = function (props) {
2120
- 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;
2100
+ var options = props.options, onChange = props.onChange, onClear = props.onClear, value = props.value, _a = props.triggerLabel, triggerLabel = _a === void 0 ? 'Add Filter' : _a, _b = props.noOptionsLabel, noOptionsLabel = _b === void 0 ? 'Reset Filters' : _b;
2121
2101
  var triggerId = 'menu-filter-trigger';
2122
2102
  var popoverId = 'menu-filter-popover';
2123
2103
  var classes = useMenuFilterStyles();
@@ -2138,18 +2118,20 @@ var MenuFilter = function (props) {
2138
2118
  var handleClose = function () {
2139
2119
  setAnchorEl(null);
2140
2120
  };
2121
+ var handleClear = function () {
2122
+ onClear();
2123
+ setAnchorEl(null);
2124
+ };
2125
+ if (allFiltersSelected) {
2126
+ return (React__default.createElement(Button$1, { size: "small", startIcon: React__default.createElement(SvgLeafIcon, null), classes: { label: classes.triggerLabel }, onClick: handleClear }, noOptionsLabel));
2127
+ }
2141
2128
  return (React__default.createElement(React__default.Fragment, null,
2142
2129
  React__default.createElement(Button$1, { id: triggerId, "aria-controls": popoverId, "aria-haspopup": "true", "aria-expanded": open, onClick: handleTriggerClick, size: "small", startIcon: React__default.createElement(SvgLeafIcon, null), classes: { label: classes.triggerLabel } }, triggerLabel),
2143
- React__default.createElement(Menu, { id: popoverId, anchorEl: anchorEl, open: open, onClose: handleClose },
2144
- availableFilters.map(function (option, index) {
2145
- return (React__default.createElement(MenuItem$1, { key: index, value: option.id, onClick: function (event) { return handleChange(option, event); } },
2146
- React__default.createElement(ItemTag, { alt: option.abbr, color: option.color }, option.abbr),
2147
- React__default.createElement(Box, { ml: 1 }, option.name)));
2148
- }),
2149
- allFiltersSelected && (React__default.createElement(MenuItem$1, { onClick: handleClose },
2150
- React__default.createElement(Box, { display: "flex", flexDirection: "column", alignItems: "center" },
2151
- React__default.createElement(Icon, { icon: SvgTag, color: "#9E9E9E", size: "large" }),
2152
- React__default.createElement(Typography, { variant: "body1", color: "grey.500" }, noOptionsLabel)))))));
2130
+ React__default.createElement(Menu, { id: popoverId, anchorEl: anchorEl, open: open, onClose: handleClose }, availableFilters.map(function (option, index) {
2131
+ return (React__default.createElement(MenuItem$1, { key: index, value: option.id, onClick: function (event) { return handleChange(option, event); } },
2132
+ React__default.createElement(ItemTag, { alt: option.abbr, color: option.color }, option.abbr),
2133
+ React__default.createElement(Box, { ml: 1 }, option.name)));
2134
+ }))));
2153
2135
  };
2154
2136
 
2155
2137
  var useSelectableChipStyles = makeStyles(function (theme) { return ({
@@ -2232,9 +2214,10 @@ var useStyles$4 = makeStyles$1(function (_a) {
2232
2214
  var SelectedMenuFiltersList = function (props) {
2233
2215
  var filters = props.filters, onChipClick = props.onChipClick;
2234
2216
  var classes = useStyles$4();
2235
- return (React__default.createElement(React__default.Fragment, null, filters.map(function (filter, index) { return (React__default.createElement(Chip, { key: filter.name + "-" + index, classes: classes, deleteIcon: React__default.createElement(SvgXCircle, null), onDelete: function (event) { return onChipClick(filter, event); }, label: React__default.createElement(React__default.Fragment, null,
2217
+ return (React__default.createElement(React__default.Fragment, null, filters.map(function (filter, index) { return (React__default.createElement(Chip, { key: filter.name + "-" + index, classes: classes, onClick: function (event) { return onChipClick(filter, event); }, label: React__default.createElement(React__default.Fragment, null,
2236
2218
  React__default.createElement(ItemTag, { alt: filter.abbr, color: filter.color }, filter.abbr),
2237
- React__default.createElement(Typography$1, { variant: "caption" }, filter.name)) })); })));
2219
+ React__default.createElement(Typography$1, { variant: "caption" }, filter.name),
2220
+ React__default.createElement(Icon, { icon: SvgXCircle, size: "large" })) })); })));
2238
2221
  };
2239
2222
 
2240
2223
  var MenuSectionGroup = forwardRef(function (props, ref) {
@@ -2511,10 +2494,12 @@ var overrides = {
2511
2494
  },
2512
2495
  MuiCssBaseline: {
2513
2496
  '@global': {
2514
- '*:focus-visible': {
2515
- outline: '2px solid #0076CB',
2516
- outlineOffset: '-4px',
2517
- borderRadius: 8,
2497
+ '*:focus-visible, a:focus-visible': {
2498
+ '&': {
2499
+ outline: '2px solid #0076CB',
2500
+ outlineOffset: '-4px',
2501
+ borderRadius: 8,
2502
+ },
2518
2503
  },
2519
2504
  },
2520
2505
  },