@popmenu/ordering-ui 0.84.0 → 0.84.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.
package/build/index.js CHANGED
@@ -1419,14 +1419,6 @@ var useDishModifierCardStyles = styles.makeStyles(function (theme) { return ({
1419
1419
  },
1420
1420
  }); });
1421
1421
  var useRadioModifierFormStyles = styles.makeStyles(function (theme) { return ({
1422
- root: {
1423
- '& .MuiFormControlLabel-label': {
1424
- margin: theme.spacing(0.5, 0),
1425
- '& div p:nth-child(2)': {
1426
- color: theme.palette.grey[700],
1427
- },
1428
- },
1429
- },
1430
1422
  radio: {
1431
1423
  fontSize: theme.spacing(2),
1432
1424
  padding: 'unset',
@@ -1437,14 +1429,6 @@ var useRadioModifierFormStyles = styles.makeStyles(function (theme) { return ({
1437
1429
  },
1438
1430
  }); });
1439
1431
  var useCheckboxModifierFormStyles = styles.makeStyles(function (theme) { return ({
1440
- root: {
1441
- '& .MuiFormControlLabel-label': {
1442
- margin: theme.spacing(0.5, 0),
1443
- },
1444
- '&:not(.Mui-disabled) div p:nth-child(2)': {
1445
- color: theme.palette.grey[700],
1446
- },
1447
- },
1448
1432
  radio: {
1449
1433
  color: '#616161',
1450
1434
  fontSize: theme.spacing(2),
@@ -1454,6 +1438,14 @@ var useCheckboxModifierFormStyles = styles.makeStyles(function (theme) { return
1454
1438
  color: theme.palette.info.main,
1455
1439
  },
1456
1440
  },
1441
+ }); });
1442
+ var useLabelStyles = styles.makeStyles(function (theme) { return ({
1443
+ label: {
1444
+ margin: theme.spacing(0.5, 0),
1445
+ },
1446
+ price: {
1447
+ color: theme.palette.grey[700],
1448
+ },
1457
1449
  }); });
1458
1450
 
1459
1451
  var useStatusTagStyles = styles.makeStyles(function (theme) { return ({
@@ -1558,15 +1550,16 @@ StatusTag.defaultProps = {
1558
1550
  StatusTag.displayName = 'StatusTag';
1559
1551
 
1560
1552
  var Label = function (props) {
1561
- var name = props.name, price = props.price;
1562
- return (React__default['default'].createElement(core.Box, { display: "flex", flexDirection: "column" },
1553
+ var name = props.name, price = props.price, disabled = props.disabled;
1554
+ var classes = useLabelStyles();
1555
+ return (React__default['default'].createElement(core.Box, { display: "flex", flexDirection: "column", className: classes.label },
1563
1556
  React__default['default'].createElement(core.Typography, null, name),
1564
- price && React__default['default'].createElement(core.Typography, null,
1557
+ price && React__default['default'].createElement(core.Typography, { className: !disabled ? classes.price : '' },
1565
1558
  "+ ",
1566
1559
  price)));
1567
1560
  };
1568
1561
  var CheckboxGroup = function (props) {
1569
- var value = props.value, modifiers = props.modifiers, onChange = props.onChange, disableNewSelections = props.disableNewSelections;
1562
+ var value = props.value, modifiers = props.modifiers, onChange = props.onChange, disableNewSelections = props.disableNewSelections, isOutOfStock = props.isOutOfStock;
1570
1563
  var classes = useCheckboxModifierFormStyles();
1571
1564
  var appContext = useOrderingAppContext()[0];
1572
1565
  var handleChange = function (event) {
@@ -1582,13 +1575,13 @@ var CheckboxGroup = function (props) {
1582
1575
  };
1583
1576
  return (React__default['default'].createElement(core.Box, { display: "flex", flexDirection: "column" }, modifiers.map(function (modifier, index) {
1584
1577
  var targetValue = value === null || value === void 0 ? void 0 : value.find(function (v) { return v.id == modifier.id; });
1585
- return (React__default['default'].createElement(core.FormControlLabel, { key: index, value: modifier.id, control: React__default['default'].createElement(core.Checkbox, { className: classes.radio, disabled: !targetValue && disableNewSelections }), label: React__default['default'].createElement(Label, { name: modifier.name, price: modifier.price
1578
+ return (React__default['default'].createElement(core.FormControlLabel, { key: index, value: modifier.id, control: React__default['default'].createElement(core.Checkbox, { className: classes.radio, disabled: (!targetValue && disableNewSelections) || isOutOfStock }), label: React__default['default'].createElement(Label, { name: modifier.name, price: modifier.price
1586
1579
  ? "" + (appContext && appContext.currencySymbol) + Number(modifier.price).toFixed(2)
1587
- : null }), className: classes.root, checked: !!targetValue, onChange: handleChange }));
1580
+ : null, disabled: isOutOfStock }), className: classes.root, checked: !!targetValue, onChange: handleChange }));
1588
1581
  })));
1589
1582
  };
1590
1583
  var RadioGroup = function (props) {
1591
- var value = props.value, modifiers = props.modifiers, onChange = props.onChange;
1584
+ var value = props.value, modifiers = props.modifiers, onChange = props.onChange, isOutOfStock = props.isOutOfStock;
1592
1585
  var classes = useRadioModifierFormStyles();
1593
1586
  var appContext = useOrderingAppContext()[0];
1594
1587
  var handleChange = function (event) {
@@ -1602,16 +1595,16 @@ var RadioGroup = function (props) {
1602
1595
  },
1603
1596
  ]);
1604
1597
  };
1605
- return (React__default['default'].createElement(MuiRadioGroup__default['default'], { name: "selectedModifiers", value: value ? value[0].id : '', onChange: handleChange }, modifiers.map(function (modifier, index) { return (React__default['default'].createElement(core.FormControlLabel, { key: index, value: modifier.id, control: React__default['default'].createElement(core.Radio, { className: classes.radio }), label: React__default['default'].createElement(Label, { name: modifier.name, price: modifier.price ? "" + (appContext && appContext.currencySymbol) + Number(modifier.price).toFixed(2) : null }), className: classes.root })); })));
1598
+ return (React__default['default'].createElement(MuiRadioGroup__default['default'], { name: "selectedModifiers", value: value ? value[0].id : '', onChange: handleChange }, modifiers.map(function (modifier, index) { return (React__default['default'].createElement(core.FormControlLabel, { key: index, value: modifier.id, control: React__default['default'].createElement(core.Radio, { className: classes.radio, disabled: isOutOfStock }), label: React__default['default'].createElement(Label, { name: modifier.name, price: modifier.price ? "" + (appContext && appContext.currencySymbol) + Number(modifier.price).toFixed(2) : null, disabled: isOutOfStock }) })); })));
1606
1599
  };
1607
1600
 
1608
1601
  var ModifierOptionsControl = function (props) {
1609
- var type = props.type, modifiers = props.modifiers, value = props.value, onChange = props.onChange, disableNewSelections = props.disableNewSelections;
1602
+ var type = props.type, modifiers = props.modifiers, value = props.value, onChange = props.onChange, disableNewSelections = props.disableNewSelections, isOutOfStock = props.isOutOfStock;
1610
1603
  switch (type) {
1611
1604
  case 'singleSelect':
1612
- return React__default['default'].createElement(RadioGroup, { modifiers: modifiers, value: value, onChange: onChange });
1605
+ return React__default['default'].createElement(RadioGroup, { modifiers: modifiers, value: value, onChange: onChange, isOutOfStock: isOutOfStock });
1613
1606
  case 'multipleSelect':
1614
- return (React__default['default'].createElement(CheckboxGroup, { modifiers: modifiers, value: value, onChange: onChange, disableNewSelections: disableNewSelections }));
1607
+ return (React__default['default'].createElement(CheckboxGroup, { modifiers: modifiers, value: value, onChange: onChange, disableNewSelections: disableNewSelections, isOutOfStock: isOutOfStock }));
1615
1608
  default:
1616
1609
  return null;
1617
1610
  }
@@ -1630,10 +1623,12 @@ var DishModifierCard = function (props) {
1630
1623
  }
1631
1624
  var label = optionalText;
1632
1625
  switch (true) {
1633
- case isRequired:
1634
- label = requiredText;
1635
1626
  case isOutOfStock:
1636
1627
  label = outOfStockText;
1628
+ break;
1629
+ case isRequired:
1630
+ label = requiredText;
1631
+ break;
1637
1632
  }
1638
1633
  return (React__default['default'].createElement(core.Box, { className: classes.root },
1639
1634
  React__default['default'].createElement(core.Box, { display: "flex", justifyContent: "space-between", width: "100%", alignItems: "center", height: "fit-content" },
@@ -1644,7 +1639,7 @@ var DishModifierCard = function (props) {
1644
1639
  React__default['default'].createElement(Typography, { variant: "subtitle1", className: error ? classes.error : undefined }, helperText)),
1645
1640
  React__default['default'].createElement(core.Box, null,
1646
1641
  React__default['default'].createElement(core.FormControl, null,
1647
- React__default['default'].createElement(ModifierOptionsControl, { type: type, modifiers: modifiers, value: value, onChange: onChange, disableNewSelections: disableNewSelections })))));
1642
+ React__default['default'].createElement(ModifierOptionsControl, { type: type, modifiers: modifiers, value: value, onChange: onChange, disableNewSelections: disableNewSelections, isOutOfStock: isOutOfStock })))));
1648
1643
  };
1649
1644
  DishModifierCard.displayName = 'DishModifierCard';
1650
1645