@popmenu/ordering-ui 0.113.6 → 0.115.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
|
@@ -1781,6 +1781,8 @@ var useLabelStyles = styles.makeStyles(function (theme) { return ({
|
|
|
1781
1781
|
var useOptionsStyles = styles.makeStyles(function (theme) { return ({
|
|
1782
1782
|
options: {
|
|
1783
1783
|
color: theme.palette.info.main,
|
|
1784
|
+
marginBottom: theme.spacing(1.5),
|
|
1785
|
+
padding: 0,
|
|
1784
1786
|
},
|
|
1785
1787
|
}); });
|
|
1786
1788
|
|
|
@@ -1868,17 +1870,21 @@ var Label = function (props) {
|
|
|
1868
1870
|
price))));
|
|
1869
1871
|
};
|
|
1870
1872
|
var Options = function (props) {
|
|
1871
|
-
var handleOptionsClick = props.handleOptionsClick
|
|
1873
|
+
var handleOptionsClick = props.handleOptionsClick;
|
|
1872
1874
|
var classes = useOptionsStyles();
|
|
1873
|
-
return (React__default['default'].createElement(core.Box,
|
|
1874
|
-
React__default['default'].createElement(Button, { variation: "none", className: classes.options, onClick:
|
|
1875
|
+
return (React__default['default'].createElement(core.Box, null,
|
|
1876
|
+
React__default['default'].createElement(Button, { variation: "none", className: classes.options, onClick: handleOptionsClick },
|
|
1875
1877
|
React__default['default'].createElement(core.Typography, { variant: "caption" }, "OPTIONS"),
|
|
1876
1878
|
React__default['default'].createElement(Icon, { icon: SvgChevronRight }))));
|
|
1877
1879
|
};
|
|
1878
1880
|
var SingleSelectModifierControl = function (props) {
|
|
1879
|
-
var modifiers = props.modifiers, isOutOfStock = props.isOutOfStock, onChange = props.onChange, value = props.value, handleOptionsClick = props.handleOptionsClick;
|
|
1881
|
+
var modifiers = props.modifiers, isOutOfStock = props.isOutOfStock, onChange = props.onChange, value = props.value, handleOptionsClick = props.handleOptionsClick, aggregatePrice = props.aggregatePrice;
|
|
1880
1882
|
var radioClasses = useRadioModifierFormStyles();
|
|
1881
1883
|
var makeHandleChange = function (modifier) { return function (e) {
|
|
1884
|
+
var isModifierInValue = Boolean(value.find(function (v) { return v.modifierId === modifier.id; }));
|
|
1885
|
+
if (!isModifierInValue && modifier.hasModifiers) {
|
|
1886
|
+
handleOptionsClick(modifier.id);
|
|
1887
|
+
}
|
|
1882
1888
|
onChange({
|
|
1883
1889
|
isRadio: true,
|
|
1884
1890
|
modifierId: Number(e.target.value),
|
|
@@ -1894,17 +1900,20 @@ var SingleSelectModifierControl = function (props) {
|
|
|
1894
1900
|
var _c;
|
|
1895
1901
|
return (React__default['default'].createElement(core.Box, { key: modifier.id },
|
|
1896
1902
|
React__default['default'].createElement(core.FormControlLabel, { key: modifier.id, value: modifier.id, className: radioClasses.root, control: React__default['default'].createElement(core.Radio, { checked: ((_c = value[0]) === null || _c === void 0 ? void 0 : _c.modifierId) === modifier.id, className: classNames((_a = {}, _a[radioClasses.hideRadio] = modifier.outOfStock, _a), (_b = {}, _b[radioClasses.radio] = !modifier.outOfStock, _b)), disabled: isOutOfStock || modifier.outOfStock, onChange: makeHandleChange(modifier) }), label: React__default['default'].createElement(core.Box, { className: radioClasses.label },
|
|
1897
|
-
React__default['default'].createElement(Label, { name: modifier.name, price: modifier.formattedPrice, disabled: isOutOfStock || modifier.outOfStock }),
|
|
1903
|
+
React__default['default'].createElement(Label, { name: modifier.name, price: aggregatePrice[modifier.id] || modifier.formattedPrice, disabled: isOutOfStock || modifier.outOfStock }),
|
|
1898
1904
|
modifier.outOfStock && (React__default['default'].createElement(core.Box, { minWidth: "90px", marginLeft: 2 },
|
|
1899
1905
|
React__default['default'].createElement(StatusTag, { color: "warning", label: "Out of stock", variant: "outlined", size: "md" })))), labelPlacement: "start" }),
|
|
1900
|
-
modifier.hasModifiers && React__default['default'].createElement(Options, { handleOptionsClick:
|
|
1906
|
+
modifier.hasModifiers && !modifier.outOfStock && (React__default['default'].createElement(Options, { handleOptionsClick: function () { return handleOptionsClick(modifier.id); } }))));
|
|
1901
1907
|
}))));
|
|
1902
1908
|
};
|
|
1903
1909
|
var MultipleSelectControl = function (props) {
|
|
1904
|
-
var modifiers = props.modifiers, value = props.value, isOutOfStock = props.isOutOfStock, onChange = props.onChange, disableNewSelections = props.disableNewSelections, handleOptionsClick = props.handleOptionsClick;
|
|
1910
|
+
var modifiers = props.modifiers, value = props.value, isOutOfStock = props.isOutOfStock, onChange = props.onChange, disableNewSelections = props.disableNewSelections, handleOptionsClick = props.handleOptionsClick, aggregatePrice = props.aggregatePrice;
|
|
1905
1911
|
var classes = useCheckboxModifierFormStyles();
|
|
1906
1912
|
var makeHandleChange = function (modifier) { return function () {
|
|
1907
1913
|
var isModifierInValue = Boolean(value.find(function (v) { return v.modifierId === modifier.id; }));
|
|
1914
|
+
if (!isModifierInValue && modifier.hasModifiers) {
|
|
1915
|
+
handleOptionsClick(modifier.id);
|
|
1916
|
+
}
|
|
1908
1917
|
onChange({
|
|
1909
1918
|
isRadio: false,
|
|
1910
1919
|
modifierId: modifier.id,
|
|
@@ -1919,10 +1928,10 @@ var MultipleSelectControl = function (props) {
|
|
|
1919
1928
|
var _a, _b;
|
|
1920
1929
|
return (React__default['default'].createElement(core.Box, { key: modifier.id },
|
|
1921
1930
|
React__default['default'].createElement(core.FormControlLabel, { key: modifier.id, value: modifier.id, className: classes.root, checked: value.some(function (v) { return v.modifierId === modifier.id; }), onChange: makeHandleChange(modifier), control: React__default['default'].createElement(core.Checkbox, { className: classNames((_a = {}, _a[classes.hideCheckbox] = modifier.outOfStock, _a), (_b = {}, _b[classes.checkbox] = !modifier.outOfStock, _b)), disabled: isOutOfStock || modifier.outOfStock || (!modifier.quantity && disableNewSelections) }), label: React__default['default'].createElement(core.Box, { className: classes.label },
|
|
1922
|
-
React__default['default'].createElement(Label, { name: modifier.name, price: modifier.formattedPrice, disabled: isOutOfStock || modifier.outOfStock }),
|
|
1931
|
+
React__default['default'].createElement(Label, { name: modifier.name, price: aggregatePrice[modifier.id] || modifier.formattedPrice, disabled: isOutOfStock || modifier.outOfStock }),
|
|
1923
1932
|
modifier.outOfStock && (React__default['default'].createElement(core.Box, { minWidth: "90px", marginLeft: 2 },
|
|
1924
1933
|
React__default['default'].createElement(StatusTag, { color: "warning", label: "Out of stock", variant: "outlined", size: "md" })))), labelPlacement: "start" }),
|
|
1925
|
-
modifier.hasModifiers && React__default['default'].createElement(Options, { handleOptionsClick:
|
|
1934
|
+
modifier.hasModifiers && !modifier.outOfStock && (React__default['default'].createElement(Options, { handleOptionsClick: function () { return handleOptionsClick(modifier.id); } }))));
|
|
1926
1935
|
}))));
|
|
1927
1936
|
};
|
|
1928
1937
|
var MultipleQuantitySelectControl = function (props) {
|
|
@@ -1981,7 +1990,7 @@ var getStatusTagProps = function (props) {
|
|
|
1981
1990
|
return { color: color, label: label, variant: variant };
|
|
1982
1991
|
};
|
|
1983
1992
|
var DishModifierCard = function (props) {
|
|
1984
|
-
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, isOutOfStock = props.isOutOfStock, handleOptionsClick = props.handleOptionsClick;
|
|
1993
|
+
var aggregatePrice = props.aggregatePrice, name = props.name, disableNewSelections = props.disableNewSelections, modifiers = props.modifiers, value = props.value, messages = props.messages, onChange = props.onChange, type = props.type, error = props.error, isOutOfStock = props.isOutOfStock, handleOptionsClick = props.handleOptionsClick;
|
|
1985
1994
|
var classes = useDishModifierCardStyles();
|
|
1986
1995
|
return (React__default['default'].createElement(core.Box, { className: classes.root },
|
|
1987
1996
|
React__default['default'].createElement(core.Box, { display: "flex", justifyContent: "space-between", width: "100%", alignItems: "center", height: "fit-content", marginBottom: 2 },
|
|
@@ -1989,7 +1998,7 @@ var DishModifierCard = function (props) {
|
|
|
1989
1998
|
!isOutOfStock && (React__default['default'].createElement(Typography, { variant: "subtitle1", className: error ? classes.error : undefined }, messages.helperText))),
|
|
1990
1999
|
React__default['default'].createElement(Typography, { className: classes.name }, name),
|
|
1991
2000
|
React__default['default'].createElement(core.Box, null,
|
|
1992
|
-
React__default['default'].createElement(ModifierControls, { value: value, modifiers: modifiers, isOutOfStock: isOutOfStock, onChange: onChange, disableNewSelections: disableNewSelections, type: type, messages: messages, handleOptionsClick: handleOptionsClick }))));
|
|
2001
|
+
React__default['default'].createElement(ModifierControls, { value: value, modifiers: modifiers, isOutOfStock: isOutOfStock, onChange: onChange, disableNewSelections: disableNewSelections, type: type, messages: messages, handleOptionsClick: handleOptionsClick, aggregatePrice: aggregatePrice }))));
|
|
1993
2002
|
};
|
|
1994
2003
|
DishModifierCard.displayName = 'DishModifierCard';
|
|
1995
2004
|
|