@popmenu/ordering-ui 0.81.0 → 0.82.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
@@ -1542,17 +1542,27 @@ StatusTag.defaultProps = {
1542
1542
  };
1543
1543
  StatusTag.displayName = 'StatusTag';
1544
1544
 
1545
+ var OrderingAppContext = React.createContext(null);
1546
+ var useOrderingAppContext = function () {
1547
+ var context = React.useContext(OrderingAppContext);
1548
+ if (!context) {
1549
+ throw new Error('useOrderingAppContext has to be used within <OrderingAppContext.Provider>');
1550
+ }
1551
+ return context;
1552
+ };
1553
+
1545
1554
  var Label = function (props) {
1546
1555
  var name = props.name, price = props.price;
1547
- return (React__namespace.createElement(core.Box, { display: "flex", flexDirection: "column" },
1548
- React__namespace.createElement(core.Typography, null, name),
1549
- price && React__namespace.createElement(core.Typography, null,
1556
+ return (React__default['default'].createElement(core.Box, { display: "flex", flexDirection: "column" },
1557
+ React__default['default'].createElement(core.Typography, null, name),
1558
+ price && React__default['default'].createElement(core.Typography, null,
1550
1559
  "+ ",
1551
1560
  price)));
1552
1561
  };
1553
1562
  var CheckboxGroup = function (props) {
1554
1563
  var value = props.value, modifiers = props.modifiers, onChange = props.onChange, disableNewSelections = props.disableNewSelections;
1555
1564
  var classes = useCheckboxModifierFormStyles();
1565
+ var orderingContext = useOrderingAppContext();
1556
1566
  var handleChange = function (event) {
1557
1567
  var _a;
1558
1568
  var price = (_a = modifiers.find(function (modifier) { return modifier.id === parseInt(event.target.value); })) === null || _a === void 0 ? void 0 : _a.price;
@@ -1564,14 +1574,17 @@ var CheckboxGroup = function (props) {
1564
1574
  },
1565
1575
  ], event.target.checked);
1566
1576
  };
1567
- return (React__namespace.createElement(core.Box, { display: "flex", flexDirection: "column" }, modifiers.map(function (modifier, index) {
1577
+ return (React__default['default'].createElement(core.Box, { display: "flex", flexDirection: "column" }, modifiers.map(function (modifier, index) {
1568
1578
  var targetValue = value === null || value === void 0 ? void 0 : value.find(function (v) { return v.id == modifier.id; });
1569
- return (React__namespace.createElement(core.FormControlLabel, { key: index, value: modifier.id, control: React__namespace.createElement(core.Checkbox, { className: classes.radio, disabled: !targetValue && disableNewSelections }), label: React__namespace.createElement(Label, { name: modifier.name, price: modifier.price }), className: classes.root, checked: !!targetValue, onChange: handleChange }));
1579
+ 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
1580
+ ? "" + (orderingContext && orderingContext.currencySymbol) + Number(modifier.price).toFixed(2)
1581
+ : null }), className: classes.root, checked: !!targetValue, onChange: handleChange }));
1570
1582
  })));
1571
1583
  };
1572
1584
  var RadioGroup = function (props) {
1573
1585
  var value = props.value, modifiers = props.modifiers, onChange = props.onChange;
1574
1586
  var classes = useRadioModifierFormStyles();
1587
+ var orderingContext = useOrderingAppContext();
1575
1588
  var handleChange = function (event) {
1576
1589
  var _a;
1577
1590
  var price = (_a = modifiers.find(function (modifier) { return modifier.id === parseInt(event.target.value); })) === null || _a === void 0 ? void 0 : _a.price;
@@ -1583,7 +1596,9 @@ var RadioGroup = function (props) {
1583
1596
  },
1584
1597
  ]);
1585
1598
  };
1586
- return (React__namespace.createElement(MuiRadioGroup__default['default'], { name: "selectedModifiers", value: value ? value[0].id : '', onChange: handleChange }, modifiers.map(function (modifier, index) { return (React__namespace.createElement(core.FormControlLabel, { key: index, value: modifier.id, control: React__namespace.createElement(core.Radio, { className: classes.radio }), label: React__namespace.createElement(Label, { name: modifier.name, price: modifier.price }), className: classes.root })); })));
1599
+ 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
1600
+ ? "" + (orderingContext && orderingContext.currencySymbol) + Number(modifier.price).toFixed(2)
1601
+ : null }), className: classes.root })); })));
1587
1602
  };
1588
1603
 
1589
1604
  var ModifierOptionsControl = function (props) {
@@ -2127,6 +2142,7 @@ exports.MenuItem = MenuItem;
2127
2142
  exports.MenuItemGroup = MenuItemGroup;
2128
2143
  exports.MenuSection = MenuSection;
2129
2144
  exports.MenuSectionGroup = MenuSectionGroup;
2145
+ exports.OrderingAppContext = OrderingAppContext;
2130
2146
  exports.QuantityPicker = QuantityPicker;
2131
2147
  exports.ReactionCounter = ReactionCounter;
2132
2148
  exports.ReactionCounterGroup = ReactionCounterGroup;
@@ -2135,6 +2151,7 @@ exports.SelectableChipGroup = SelectableChipGroup;
2135
2151
  exports.SelectedMenuFiltersList = SelectedMenuFiltersList;
2136
2152
  exports.StatusTag = StatusTag;
2137
2153
  exports.orderingTheme = orderingTheme;
2154
+ exports.useOrderingAppContext = useOrderingAppContext;
2138
2155
  Object.keys(core).forEach(function (k) {
2139
2156
  if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
2140
2157
  enumerable: true,