@popmenu/ordering-ui 0.85.1 → 0.86.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.
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const Checkbox: import("react").ComponentType<Pick<import("@material-ui/core").CheckboxProps, "checked" | "color" | "translate" | "hidden" | "size" | "style" | "icon" | "disabled" | "indeterminate" | "checkedIcon" | "className" | "innerRef" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "tabIndex" | "title" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "ref" | "form" | "key" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "name" | "value" | "disableFocusRipple" | "edge" | "action" | "buttonRef" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "onFocusVisible" | "TouchRippleProps" | "inputProps" | "inputRef" | "readOnly" | "required" | "indeterminateIcon"> & import("@material-ui/core").StyledComponentProps<"checked" | "root">>;
@@ -0,0 +1 @@
1
+ export { Checkbox } from './Checkbox';
@@ -6,6 +6,7 @@ declare type ModifierValue = {
6
6
  declare type Modifier = {
7
7
  id: number;
8
8
  name: string;
9
+ outOfStock: boolean;
9
10
  price?: string;
10
11
  };
11
12
  declare type OnChange = (value: Array<ModifierValue>, checked?: boolean) => void;
@@ -28,4 +28,6 @@ export interface MenuItemProps {
28
28
  onClick: (id: string, event: React.MouseEvent<HTMLButtonElement>) => void;
29
29
  /** Whether or not the menu item is available for ordering */
30
30
  available: boolean;
31
+ /** Renders out of stock tag */
32
+ isOutOfStock?: Maybe<boolean>;
31
33
  }
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const Radio: import("react").ComponentType<Pick<import("@material-ui/core").RadioProps, "checked" | "color" | "translate" | "hidden" | "size" | "style" | "icon" | "disabled" | "checkedIcon" | "className" | "innerRef" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "tabIndex" | "title" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "ref" | "form" | "key" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "name" | "value" | "disableFocusRipple" | "edge" | "action" | "buttonRef" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "onFocusVisible" | "TouchRippleProps" | "inputProps" | "inputRef" | "readOnly" | "required"> & import("@material-ui/core").StyledComponentProps<"checked" | "root">>;
@@ -0,0 +1 @@
1
+ export { Radio } from './Radio';
@@ -5,4 +5,6 @@ export interface StatusTagProps {
5
5
  label: string;
6
6
  /** Renders the color of the tag */
7
7
  color: 'default' | 'error' | 'warning';
8
+ /** Changes the padding sizes */
9
+ size?: 'md' | 'sm';
8
10
  }
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const Switch: import("react").ComponentType<Pick<import("@material-ui/core").SwitchProps, "checked" | "color" | "translate" | "hidden" | "size" | "style" | "icon" | "disabled" | "checkedIcon" | "className" | "innerRef" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "tabIndex" | "title" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "ref" | "form" | "key" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "name" | "type" | "value" | "disableFocusRipple" | "edge" | "action" | "buttonRef" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "onFocusVisible" | "TouchRippleProps" | "inputProps" | "inputRef" | "readOnly" | "required"> & import("@material-ui/core").StyledComponentProps<"checked" | "switchBase" | "thumb" | "track">>;
@@ -0,0 +1 @@
1
+ export { Switch } from './Switch';
@@ -23,3 +23,6 @@ export { MenuItemGroup } from './MenuItemGroup';
23
23
  export { PageSection } from './PageSection';
24
24
  export { DialogTitle } from './DialogTitle';
25
25
  export { DialogSection } from './DialogSection';
26
+ export { Switch } from './Switch';
27
+ export { Checkbox } from './Checkbox';
28
+ export { Radio } from './Radio';
package/build/index.es.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Button as Button$2, makeStyles as makeStyles$1, Box, Typography as Typography$1, Link as Link$1, Paper as Paper$1, Avatar as Avatar$1, Card, CardActionArea, FormControl, Select, InputAdornment, MenuItem as MenuItem$1, FormControlLabel as FormControlLabel$1, Checkbox as Checkbox$1, Radio as Radio$1, Menu, TextField, Tabs, Chip, DialogTitle as DialogTitle$1, IconButton as IconButton$1 } from '@material-ui/core';
1
+ import { Button as Button$2, makeStyles as makeStyles$1, Box, Typography as Typography$1, Link as Link$1, Paper as Paper$1, Avatar as Avatar$1, Card, CardActionArea, FormControl, Select, InputAdornment, MenuItem as MenuItem$1, FormControlLabel as FormControlLabel$1, Checkbox as Checkbox$2, Radio as Radio$2, Menu, TextField, Tabs, Chip, DialogTitle as DialogTitle$1, IconButton as IconButton$1, withStyles, Switch as Switch$2 } from '@material-ui/core';
2
2
  export * from '@material-ui/core';
3
3
  import * as React from 'react';
4
4
  import React__default, { forwardRef, createElement, createContext, useContext, useState } from 'react';
@@ -765,12 +765,12 @@ var Button = forwardRef(function (props, ref) {
765
765
  });
766
766
  Button.displayName = 'Button';
767
767
 
768
- var Checkbox = forwardRef(function (props, ref) {
768
+ var Checkbox$1 = forwardRef(function (props, ref) {
769
769
  var label = props.label, disabled = props.disabled, LabelProps = props.LabelProps, muiProps = __rest(props, ["label", "disabled", "LabelProps"]);
770
770
  var control = React__default.createElement(MuiCheckbox, __assign({ disabled: label ? undefined : disabled }, muiProps));
771
771
  return label ? (React__default.createElement(FormControlLabel, __assign({ disabled: disabled, inputRef: ref, control: control, label: label }, LabelProps))) : (control);
772
772
  });
773
- Checkbox.displayName = 'Checkbox';
773
+ Checkbox$1.displayName = 'Checkbox';
774
774
 
775
775
  var getBackground = function (theme) { return function (props) {
776
776
  var variant = props.variant, severity = props.severity;
@@ -1040,12 +1040,12 @@ Paper.defaultProps = {
1040
1040
  legacyStyles: false,
1041
1041
  };
1042
1042
 
1043
- var Radio = forwardRef(function (props, ref) {
1043
+ var Radio$1 = forwardRef(function (props, ref) {
1044
1044
  var label = props.label, disabled = props.disabled, LabelProps = props.LabelProps, muiProps = __rest(props, ["label", "disabled", "LabelProps"]);
1045
1045
  var control = React__default.createElement(MuiRadio, __assign({ disabled: label ? undefined : disabled }, muiProps));
1046
1046
  return label ? (React__default.createElement(FormControlLabel, __assign({ disabled: disabled, inputRef: ref, control: control, label: label }, LabelProps))) : (control);
1047
1047
  });
1048
- Radio.displayName = 'Radio';
1048
+ Radio$1.displayName = 'Radio';
1049
1049
 
1050
1050
  makeStyles(function () { return ({
1051
1051
  textfield: {
@@ -1085,13 +1085,13 @@ var useSwitchStyles = makeStyles(function (theme) { return ({
1085
1085
  track: {},
1086
1086
  }); });
1087
1087
 
1088
- var Switch = forwardRef(function (props, ref) {
1088
+ var Switch$1 = forwardRef(function (props, ref) {
1089
1089
  var label = props.label, disabled = props.disabled, LabelProps = props.LabelProps, muiProps = __rest(props, ["label", "disabled", "LabelProps"]);
1090
1090
  var classes = useSwitchStyles(props);
1091
1091
  var control = React__default.createElement(MuiSwitch, __assign({ classes: classes, disabled: label ? undefined : disabled }, muiProps));
1092
1092
  return label ? (React__default.createElement(FormControlLabel, __assign({ disabled: disabled, inputRef: ref, control: control, label: label }, LabelProps))) : (control);
1093
1093
  });
1094
- Switch.displayName = 'Switch';
1094
+ Switch$1.displayName = 'Switch';
1095
1095
 
1096
1096
  var useToggleButtonStyles = makeStyles(function (theme) { return ({
1097
1097
  root: {
@@ -1265,8 +1265,112 @@ var MenuItemTags = function (props) {
1265
1265
  return (React__default.createElement(ItemTagGroup, null, itemTags === null || itemTags === void 0 ? void 0 : itemTags.slice(0, 5).map(function (itemTag) { return (React__default.createElement(ItemTag, { key: itemTag.name, alt: itemTag.name, color: itemTag.color }, itemTag.abbr)); })));
1266
1266
  };
1267
1267
 
1268
+ var useStatusTagStyles = makeStyles(function (theme) { return ({
1269
+ root: {
1270
+ borderRadius: '5px',
1271
+ display: 'flex',
1272
+ padding: theme.spacing(1),
1273
+ alignItems: 'center',
1274
+ justifyContent: 'center',
1275
+ width: 'fit-content',
1276
+ },
1277
+ filled: {
1278
+ backgroundColor: theme.palette.grey[100],
1279
+ color: theme.palette.grey[900],
1280
+ },
1281
+ outlined: {
1282
+ border: "1px solid var(--surfaces-card-stroke, " + theme.palette.grey[900] + ")",
1283
+ },
1284
+ small: {
1285
+ padding: theme.spacing(0.25, 0.75),
1286
+ },
1287
+ default: {
1288
+ color: theme.palette.grey[900],
1289
+ },
1290
+ warning: {
1291
+ borderColor: theme.palette.warning.dark,
1292
+ color: theme.palette.warning.dark,
1293
+ },
1294
+ error: {
1295
+ borderColor: theme.palette.error.main,
1296
+ color: theme.palette.error.main,
1297
+ },
1298
+ }); });
1299
+
1300
+ var classnames = {exports: {}};
1301
+
1302
+ /*!
1303
+ Copyright (c) 2018 Jed Watson.
1304
+ Licensed under the MIT License (MIT), see
1305
+ http://jedwatson.github.io/classnames
1306
+ */
1307
+
1308
+ (function (module) {
1309
+ /* global define */
1310
+
1311
+ (function () {
1312
+
1313
+ var hasOwn = {}.hasOwnProperty;
1314
+
1315
+ function classNames() {
1316
+ var classes = [];
1317
+
1318
+ for (var i = 0; i < arguments.length; i++) {
1319
+ var arg = arguments[i];
1320
+ if (!arg) continue;
1321
+
1322
+ var argType = typeof arg;
1323
+
1324
+ if (argType === 'string' || argType === 'number') {
1325
+ classes.push(arg);
1326
+ } else if (Array.isArray(arg)) {
1327
+ if (arg.length) {
1328
+ var inner = classNames.apply(null, arg);
1329
+ if (inner) {
1330
+ classes.push(inner);
1331
+ }
1332
+ }
1333
+ } else if (argType === 'object') {
1334
+ if (arg.toString === Object.prototype.toString) {
1335
+ for (var key in arg) {
1336
+ if (hasOwn.call(arg, key) && arg[key]) {
1337
+ classes.push(key);
1338
+ }
1339
+ }
1340
+ } else {
1341
+ classes.push(arg.toString());
1342
+ }
1343
+ }
1344
+ }
1345
+
1346
+ return classes.join(' ');
1347
+ }
1348
+
1349
+ if (module.exports) {
1350
+ classNames.default = classNames;
1351
+ module.exports = classNames;
1352
+ } else {
1353
+ window.classNames = classNames;
1354
+ }
1355
+ }());
1356
+ }(classnames));
1357
+
1358
+ var classNames = classnames.exports;
1359
+
1360
+ var StatusTag = function (props) {
1361
+ var variant = props.variant, label = props.label, _a = props.size, size = _a === void 0 ? 'md' : _a, _b = props.color, color = _b === void 0 ? 'default' : _b;
1362
+ var classes = useStatusTagStyles(props);
1363
+ return (React__default.createElement(Box, { className: classNames([classes.root, classes[color], classes[variant], size === 'sm' ? classes.small : '']) },
1364
+ React__default.createElement(Typography, { variant: "caption" }, label)));
1365
+ };
1366
+ StatusTag.defaultProps = {
1367
+ color: 'default',
1368
+ error: false,
1369
+ };
1370
+ StatusTag.displayName = 'StatusTag';
1371
+
1268
1372
  var MenuItem = forwardRef(function (props, ref) {
1269
- var onClick = props.onClick, id = props.id, title = props.title, description = props.description;
1373
+ var onClick = props.onClick, id = props.id, title = props.title, description = props.description, isOutOfStock = props.isOutOfStock;
1270
1374
  var classes = useDishCardStyles(props);
1271
1375
  var handleClick = function (event) {
1272
1376
  onClick(id, event);
@@ -1274,7 +1378,9 @@ var MenuItem = forwardRef(function (props, ref) {
1274
1378
  return (React__default.createElement(Card, { className: classes.card, ref: ref, elevation: 0, "data-component-type": "menu-item" },
1275
1379
  React__default.createElement(CardActionArea, { className: classes.cardActionArea, onClick: handleClick },
1276
1380
  React__default.createElement(MenuItemInfo, null,
1277
- React__default.createElement(Typography$1, { className: classes.cardTitle }, title),
1381
+ React__default.createElement(Box, { display: "flex", gridGap: 8, alignItems: "center" },
1382
+ React__default.createElement(Typography$1, { className: classes.cardTitle }, title),
1383
+ isOutOfStock && React__default.createElement(StatusTag, { color: "warning", label: "Out of stock", variant: "outlined", size: "sm" })),
1278
1384
  React__default.createElement(Typography$1, { className: classes.cardDescription, paragraph: true }, description),
1279
1385
  React__default.createElement(MenuItemReactions, { likeCount: props.likeCount, reviewCount: props.reviewCount }),
1280
1386
  React__default.createElement(Box, { display: "flex", justifyContent: "space-between", alignItems: "end", flexGrow: 1 },
@@ -1467,117 +1573,21 @@ var useLabelStyles = makeStyles(function (theme) { return ({
1467
1573
  label: {
1468
1574
  margin: theme.spacing(0.5, 0),
1469
1575
  },
1470
- price: {
1471
- color: theme.palette.grey[700],
1472
- },
1473
- }); });
1474
-
1475
- var useStatusTagStyles = makeStyles(function (theme) { return ({
1476
- root: {
1477
- borderRadius: '5px',
1478
- display: 'flex',
1479
- padding: theme.spacing(1),
1480
- alignItems: 'center',
1481
- justifyContent: 'center',
1482
- width: 'fit-content',
1483
- },
1484
- filled: {
1485
- backgroundColor: theme.palette.grey[100],
1486
- color: theme.palette.grey[900],
1487
- },
1488
- outlined: {
1489
- border: "1px solid var(--surfaces-card-stroke, " + theme.palette.grey[900] + ")",
1490
- },
1491
- default: {
1492
- color: theme.palette.grey[900],
1493
- },
1494
- warning: {
1495
- borderColor: theme.palette.warning.dark,
1576
+ outOfStock: {
1496
1577
  color: theme.palette.warning.dark,
1497
1578
  },
1498
- error: {
1499
- borderColor: theme.palette.error.main,
1500
- color: theme.palette.error.main,
1579
+ price: {
1580
+ color: theme.palette.grey[700],
1501
1581
  },
1502
1582
  }); });
1503
1583
 
1504
- var classnames = {exports: {}};
1505
-
1506
- /*!
1507
- Copyright (c) 2018 Jed Watson.
1508
- Licensed under the MIT License (MIT), see
1509
- http://jedwatson.github.io/classnames
1510
- */
1511
-
1512
- (function (module) {
1513
- /* global define */
1514
-
1515
- (function () {
1516
-
1517
- var hasOwn = {}.hasOwnProperty;
1518
-
1519
- function classNames() {
1520
- var classes = [];
1521
-
1522
- for (var i = 0; i < arguments.length; i++) {
1523
- var arg = arguments[i];
1524
- if (!arg) continue;
1525
-
1526
- var argType = typeof arg;
1527
-
1528
- if (argType === 'string' || argType === 'number') {
1529
- classes.push(arg);
1530
- } else if (Array.isArray(arg)) {
1531
- if (arg.length) {
1532
- var inner = classNames.apply(null, arg);
1533
- if (inner) {
1534
- classes.push(inner);
1535
- }
1536
- }
1537
- } else if (argType === 'object') {
1538
- if (arg.toString === Object.prototype.toString) {
1539
- for (var key in arg) {
1540
- if (hasOwn.call(arg, key) && arg[key]) {
1541
- classes.push(key);
1542
- }
1543
- }
1544
- } else {
1545
- classes.push(arg.toString());
1546
- }
1547
- }
1548
- }
1549
-
1550
- return classes.join(' ');
1551
- }
1552
-
1553
- if (module.exports) {
1554
- classNames.default = classNames;
1555
- module.exports = classNames;
1556
- } else {
1557
- window.classNames = classNames;
1558
- }
1559
- }());
1560
- }(classnames));
1561
-
1562
- var classNames = classnames.exports;
1563
-
1564
- var StatusTag = function (props) {
1565
- var variant = props.variant, label = props.label, _a = props.color, color = _a === void 0 ? 'default' : _a;
1566
- var classes = useStatusTagStyles(props);
1567
- return (React__default.createElement(Box, { className: classNames([classes.root, classes[color], classes[variant]]) },
1568
- React__default.createElement(Typography, { variant: "caption" }, label)));
1569
- };
1570
- StatusTag.defaultProps = {
1571
- color: 'default',
1572
- error: false,
1573
- };
1574
- StatusTag.displayName = 'StatusTag';
1575
-
1576
1584
  var Label = function (props) {
1577
- var name = props.name, price = props.price, disabled = props.disabled;
1585
+ var name = props.name, price = props.price, disabled = props.disabled, isOutOfStock = props.isOutOfStock;
1578
1586
  var classes = useLabelStyles();
1579
1587
  return (React__default.createElement(Box, { display: "flex", flexDirection: "column", className: classes.label },
1580
- React__default.createElement(Typography$1, null, name),
1588
+ React__default.createElement(Box, { display: "flex", alignItems: "center", gridGap: 8 },
1589
+ React__default.createElement(Typography$1, null, name),
1590
+ !isOutOfStock && disabled && (React__default.createElement(Typography$1, { variant: "caption", className: classes.outOfStock }, "Out of stock"))),
1581
1591
  price && React__default.createElement(Typography$1, { className: !disabled ? classes.price : '' },
1582
1592
  "+ ",
1583
1593
  price)));
@@ -1599,9 +1609,9 @@ var CheckboxGroup = function (props) {
1599
1609
  };
1600
1610
  return (React__default.createElement(Box, { display: "flex", flexDirection: "column" }, modifiers.map(function (modifier, index) {
1601
1611
  var targetValue = value === null || value === void 0 ? void 0 : value.find(function (v) { return v.id == modifier.id; });
1602
- return (React__default.createElement(FormControlLabel$1, { key: index, value: modifier.id, control: React__default.createElement(Checkbox$1, { className: classes.radio, disabled: (!targetValue && disableNewSelections) || isOutOfStock }), label: React__default.createElement(Label, { name: modifier.name, price: modifier.price
1612
+ return (React__default.createElement(FormControlLabel$1, { key: index, value: modifier.id, control: React__default.createElement(Checkbox$2, { className: classes.radio, disabled: (!targetValue && disableNewSelections) || isOutOfStock || modifier.outOfStock }), label: React__default.createElement(Label, { name: modifier.name, price: modifier.price
1603
1613
  ? "" + (appContext && appContext.currencySymbol) + Number(modifier.price).toFixed(2)
1604
- : null, disabled: isOutOfStock }), className: classes.root, checked: !!targetValue, onChange: handleChange }));
1614
+ : null, disabled: isOutOfStock || modifier.outOfStock, isOutOfStock: isOutOfStock }), className: classes.root, checked: !!targetValue, onChange: handleChange }));
1605
1615
  })));
1606
1616
  };
1607
1617
  var RadioGroup = function (props) {
@@ -1619,7 +1629,7 @@ var RadioGroup = function (props) {
1619
1629
  },
1620
1630
  ]);
1621
1631
  };
1622
- return (React__default.createElement(MuiRadioGroup, { name: "selectedModifiers", value: value ? value[0].id : '', onChange: handleChange }, modifiers.map(function (modifier, index) { return (React__default.createElement(FormControlLabel$1, { key: index, value: modifier.id, control: React__default.createElement(Radio$1, { className: classes.radio, disabled: isOutOfStock }), label: React__default.createElement(Label, { name: modifier.name, price: modifier.price ? "" + (appContext && appContext.currencySymbol) + Number(modifier.price).toFixed(2) : null, disabled: isOutOfStock }) })); })));
1632
+ return (React__default.createElement(MuiRadioGroup, { name: "selectedModifiers", value: value ? value[0].id : '', onChange: handleChange }, modifiers.map(function (modifier, index) { return (React__default.createElement(FormControlLabel$1, { key: index, value: modifier.id, control: React__default.createElement(Radio$2, { className: classes.radio, disabled: isOutOfStock || modifier.outOfStock }), label: React__default.createElement(Label, { name: modifier.name, price: modifier.price ? "" + (appContext && appContext.currencySymbol) + Number(modifier.price).toFixed(2) : null, disabled: isOutOfStock || modifier.outOfStock, isOutOfStock: isOutOfStock }) })); })));
1623
1633
  };
1624
1634
 
1625
1635
  var ModifierOptionsControl = function (props) {
@@ -1637,17 +1647,18 @@ var ModifierOptionsControl = function (props) {
1637
1647
  var DishModifierCard = function (props) {
1638
1648
  var name = props.name, disableNewSelections = props.disableNewSelections, modifiers = props.modifiers, value = props.value, messages = props.messages, onChange = props.onChange, type = props.type, error = props.error, isRequired = props.isRequired, isOutOfStock = props.isOutOfStock;
1639
1649
  var optionalText = messages.optionalText, outOfStockText = messages.outOfStockText, requiredText = messages.requiredText, helperText = messages.helperText;
1650
+ var isFullyOutOfStock = isOutOfStock || !modifiers.some(function (modifier) { return !modifier.outOfStock; });
1640
1651
  var classes = useDishModifierCardStyles();
1641
1652
  var color = 'default';
1642
1653
  switch (true) {
1643
1654
  case error:
1644
1655
  color = 'error';
1645
- case isOutOfStock:
1656
+ case isFullyOutOfStock:
1646
1657
  color = 'warning';
1647
1658
  }
1648
1659
  var label = optionalText;
1649
1660
  switch (true) {
1650
- case isOutOfStock:
1661
+ case isFullyOutOfStock:
1651
1662
  label = outOfStockText;
1652
1663
  break;
1653
1664
  case isRequired:
@@ -1659,11 +1670,11 @@ var DishModifierCard = function (props) {
1659
1670
  React__default.createElement(Box, { className: classes.nameContainer },
1660
1671
  React__default.createElement(Typography, { className: classes.name }, name),
1661
1672
  React__default.createElement(Box, { className: classes.statusTagContainer },
1662
- React__default.createElement(StatusTag, { variant: isRequired || isOutOfStock ? 'outlined' : 'filled', label: label, color: color }))),
1663
- React__default.createElement(Typography, { variant: "subtitle1", className: error ? classes.error : undefined }, helperText)),
1673
+ React__default.createElement(StatusTag, { variant: isRequired || isFullyOutOfStock ? 'outlined' : 'filled', label: label, color: color }))),
1674
+ !isFullyOutOfStock && (React__default.createElement(Typography, { variant: "subtitle1", className: error ? classes.error : undefined }, helperText))),
1664
1675
  React__default.createElement(Box, null,
1665
1676
  React__default.createElement(FormControl, null,
1666
- React__default.createElement(ModifierOptionsControl, { type: type, modifiers: modifiers, value: value, onChange: onChange, disableNewSelections: disableNewSelections, isOutOfStock: isOutOfStock })))));
1677
+ React__default.createElement(ModifierOptionsControl, { type: type, modifiers: modifiers, value: value, onChange: onChange, disableNewSelections: disableNewSelections, isOutOfStock: isFullyOutOfStock })))));
1667
1678
  };
1668
1679
  DishModifierCard.displayName = 'DishModifierCard';
1669
1680
 
@@ -2081,6 +2092,50 @@ var DialogSection = function (props) {
2081
2092
  return (React__default.createElement(Box, { paddingTop: 4, paddingBottom: props.borderBottom ? 4 : 0, paddingX: props.edgeToEdge ? 0 : 2, borderBottom: props.borderBottom ? '1px solid #E0E0E0' : undefined }, props.children));
2082
2093
  };
2083
2094
 
2095
+ var Switch = withStyles(function (_a) {
2096
+ var palette = _a.palette;
2097
+ return ({
2098
+ checked: {
2099
+ '& $thumb': {
2100
+ backgroundColor: palette.success.main,
2101
+ },
2102
+ '&& + $track': {
2103
+ backgroundColor: palette.success.main,
2104
+ opacity: 0.5,
2105
+ },
2106
+ },
2107
+ switchBase: {
2108
+ color: palette.grey[300],
2109
+ },
2110
+ thumb: {},
2111
+ track: {},
2112
+ });
2113
+ })(Switch$2);
2114
+
2115
+ var Checkbox = withStyles(function (_a) {
2116
+ var palette = _a.palette;
2117
+ return ({
2118
+ checked: {},
2119
+ root: {
2120
+ '&$checked': {
2121
+ color: palette.info.main,
2122
+ },
2123
+ },
2124
+ });
2125
+ })(Checkbox$2);
2126
+
2127
+ var Radio = withStyles(function (_a) {
2128
+ var palette = _a.palette;
2129
+ return ({
2130
+ checked: {},
2131
+ root: {
2132
+ '&$checked': {
2133
+ color: palette.info.main,
2134
+ },
2135
+ },
2136
+ });
2137
+ })(Radio$2);
2138
+
2084
2139
  var palette = {
2085
2140
  primary: {
2086
2141
  light: '#7B7FA3',
@@ -2242,5 +2297,5 @@ var orderingTheme = {
2242
2297
  props: props,
2243
2298
  };
2244
2299
 
2245
- export { Button$1 as Button, DialogSection, DialogTitle, DishCheckoutCard, DishDetailsReview, DishModifierCard, ItemTag, ItemTagGroup, LocationCard, MenuDropdown, MenuFilter, MenuItem, MenuItemGroup, MenuSection, MenuSectionGroup, OrderingAppContext, OrderingAppContextProvider, PageSection, QuantityPicker, ReactionCounter, ReactionCounterGroup, SelectableChip, SelectableChipGroup, SelectedMenuFiltersList, StatusTag, orderingTheme, useOrderingAppContext };
2300
+ export { Button$1 as Button, Checkbox, DialogSection, DialogTitle, DishCheckoutCard, DishDetailsReview, DishModifierCard, ItemTag, ItemTagGroup, LocationCard, MenuDropdown, MenuFilter, MenuItem, MenuItemGroup, MenuSection, MenuSectionGroup, OrderingAppContext, OrderingAppContextProvider, PageSection, QuantityPicker, Radio, ReactionCounter, ReactionCounterGroup, SelectableChip, SelectableChipGroup, SelectedMenuFiltersList, StatusTag, Switch, orderingTheme, useOrderingAppContext };
2246
2301
  //# sourceMappingURL=index.es.js.map