@popmenu/ordering-ui 0.81.0 → 0.83.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,31 @@ 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
+ var OrderingAppContextProvider = function (props) {
1554
+ var context = React.useState(null);
1555
+ return React__default['default'].createElement(OrderingAppContext.Provider, { value: context }, props.children);
1556
+ };
1557
+
1545
1558
  var Label = function (props) {
1546
1559
  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,
1560
+ return (React__default['default'].createElement(core.Box, { display: "flex", flexDirection: "column" },
1561
+ React__default['default'].createElement(core.Typography, null, name),
1562
+ price && React__default['default'].createElement(core.Typography, null,
1550
1563
  "+ ",
1551
1564
  price)));
1552
1565
  };
1553
1566
  var CheckboxGroup = function (props) {
1554
1567
  var value = props.value, modifiers = props.modifiers, onChange = props.onChange, disableNewSelections = props.disableNewSelections;
1555
1568
  var classes = useCheckboxModifierFormStyles();
1569
+ var appContext = useOrderingAppContext()[0];
1556
1570
  var handleChange = function (event) {
1557
1571
  var _a;
1558
1572
  var price = (_a = modifiers.find(function (modifier) { return modifier.id === parseInt(event.target.value); })) === null || _a === void 0 ? void 0 : _a.price;
@@ -1564,14 +1578,17 @@ var CheckboxGroup = function (props) {
1564
1578
  },
1565
1579
  ], event.target.checked);
1566
1580
  };
1567
- return (React__namespace.createElement(core.Box, { display: "flex", flexDirection: "column" }, modifiers.map(function (modifier, index) {
1581
+ return (React__default['default'].createElement(core.Box, { display: "flex", flexDirection: "column" }, modifiers.map(function (modifier, index) {
1568
1582
  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 }));
1583
+ 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
1584
+ ? "" + (appContext && appContext.currencySymbol) + Number(modifier.price).toFixed(2)
1585
+ : null }), className: classes.root, checked: !!targetValue, onChange: handleChange }));
1570
1586
  })));
1571
1587
  };
1572
1588
  var RadioGroup = function (props) {
1573
1589
  var value = props.value, modifiers = props.modifiers, onChange = props.onChange;
1574
1590
  var classes = useRadioModifierFormStyles();
1591
+ var appContext = useOrderingAppContext()[0];
1575
1592
  var handleChange = function (event) {
1576
1593
  var _a;
1577
1594
  var price = (_a = modifiers.find(function (modifier) { return modifier.id === parseInt(event.target.value); })) === null || _a === void 0 ? void 0 : _a.price;
@@ -1583,7 +1600,7 @@ var RadioGroup = function (props) {
1583
1600
  },
1584
1601
  ]);
1585
1602
  };
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 })); })));
1603
+ 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 })); })));
1587
1604
  };
1588
1605
 
1589
1606
  var ModifierOptionsControl = function (props) {
@@ -2127,6 +2144,8 @@ exports.MenuItem = MenuItem;
2127
2144
  exports.MenuItemGroup = MenuItemGroup;
2128
2145
  exports.MenuSection = MenuSection;
2129
2146
  exports.MenuSectionGroup = MenuSectionGroup;
2147
+ exports.OrderingAppContext = OrderingAppContext;
2148
+ exports.OrderingAppContextProvider = OrderingAppContextProvider;
2130
2149
  exports.QuantityPicker = QuantityPicker;
2131
2150
  exports.ReactionCounter = ReactionCounter;
2132
2151
  exports.ReactionCounterGroup = ReactionCounterGroup;
@@ -2135,6 +2154,7 @@ exports.SelectableChipGroup = SelectableChipGroup;
2135
2154
  exports.SelectedMenuFiltersList = SelectedMenuFiltersList;
2136
2155
  exports.StatusTag = StatusTag;
2137
2156
  exports.orderingTheme = orderingTheme;
2157
+ exports.useOrderingAppContext = useOrderingAppContext;
2138
2158
  Object.keys(core).forEach(function (k) {
2139
2159
  if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
2140
2160
  enumerable: true,