@popmenu/ordering-ui 0.82.0 → 0.83.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.
@@ -1,7 +1,14 @@
1
- /// <reference types="react" />
2
- interface OrderingAppContextValue {
3
- currencySymbol: string;
4
- }
5
- export declare const OrderingAppContext: import("react").Context<OrderingAppContextValue | null>;
6
- export declare const useOrderingAppContext: () => OrderingAppContextValue;
1
+ import React, { PropsWithChildren } from 'react';
2
+ declare type OrderingAppContextValue = {
3
+ currencySymbol?: string;
4
+ basePath: string;
5
+ restaurantId: number;
6
+ };
7
+ declare type OrderingAppContextType = [OrderingAppContextValue, React.Dispatch<React.SetStateAction<OrderingAppContextValue>>];
8
+ export declare const OrderingAppContext: React.Context<OrderingAppContextType | null>;
9
+ export declare const useOrderingAppContext: () => OrderingAppContextType;
10
+ declare type OrderingAppContextProviderProps = PropsWithChildren<{
11
+ defaultContext: OrderingAppContextValue;
12
+ }>;
13
+ export declare const OrderingAppContextProvider: (props: OrderingAppContextProviderProps) => JSX.Element;
7
14
  export {};
@@ -1 +1 @@
1
- export { OrderingAppContext, useOrderingAppContext } from './OrderingAppContext';
1
+ export { OrderingAppContext, useOrderingAppContext, OrderingAppContextProvider } from './OrderingAppContext';
@@ -9,7 +9,7 @@ export { default as ItemTagGroup } from './ItemTagGroup';
9
9
  export { default as LocationCard, LocationCardProps } from './LocationCard';
10
10
  export { default as MenuDropdown, MenuDropdownProps, MenuDropdownOption } from './MenuDropdown';
11
11
  export { default as MenuFilter, MenuFilterProps, MenuFilterOption, MenuFilterChangeHandler } from './MenuFilter';
12
- export { OrderingAppContext, useOrderingAppContext } from './OrderingAppContext';
12
+ export { OrderingAppContext, useOrderingAppContext, OrderingAppContextProvider } from './OrderingAppContext';
13
13
  export { default as ReactionCounter, ReactionCounterProps } from './ReactionCounter';
14
14
  export { default as ReactionCounterGroup } from './ReactionCounterGroup';
15
15
  export { default as QuantityPicker, QuantityPickerProps, QuantityChangeEvent } from './QuantityPicker';
package/build/index.es.js CHANGED
@@ -1506,6 +1506,10 @@ var useOrderingAppContext = function () {
1506
1506
  throw new Error('useOrderingAppContext has to be used within <OrderingAppContext.Provider>');
1507
1507
  }
1508
1508
  return context;
1509
+ };
1510
+ var OrderingAppContextProvider = function (props) {
1511
+ var context = useState(props.defaultContext);
1512
+ return React__default.createElement(OrderingAppContext.Provider, { value: context }, props.children);
1509
1513
  };
1510
1514
 
1511
1515
  var Label = function (props) {
@@ -1519,7 +1523,7 @@ var Label = function (props) {
1519
1523
  var CheckboxGroup = function (props) {
1520
1524
  var value = props.value, modifiers = props.modifiers, onChange = props.onChange, disableNewSelections = props.disableNewSelections;
1521
1525
  var classes = useCheckboxModifierFormStyles();
1522
- var orderingContext = useOrderingAppContext();
1526
+ var appContext = useOrderingAppContext()[0];
1523
1527
  var handleChange = function (event) {
1524
1528
  var _a;
1525
1529
  var price = (_a = modifiers.find(function (modifier) { return modifier.id === parseInt(event.target.value); })) === null || _a === void 0 ? void 0 : _a.price;
@@ -1534,14 +1538,14 @@ var CheckboxGroup = function (props) {
1534
1538
  return (React__default.createElement(Box, { display: "flex", flexDirection: "column" }, modifiers.map(function (modifier, index) {
1535
1539
  var targetValue = value === null || value === void 0 ? void 0 : value.find(function (v) { return v.id == modifier.id; });
1536
1540
  return (React__default.createElement(FormControlLabel$1, { key: index, value: modifier.id, control: React__default.createElement(Checkbox$1, { className: classes.radio, disabled: !targetValue && disableNewSelections }), label: React__default.createElement(Label, { name: modifier.name, price: modifier.price
1537
- ? "" + (orderingContext && orderingContext.currencySymbol) + Number(modifier.price).toFixed(2)
1541
+ ? "" + (appContext && appContext.currencySymbol) + Number(modifier.price).toFixed(2)
1538
1542
  : null }), className: classes.root, checked: !!targetValue, onChange: handleChange }));
1539
1543
  })));
1540
1544
  };
1541
1545
  var RadioGroup = function (props) {
1542
1546
  var value = props.value, modifiers = props.modifiers, onChange = props.onChange;
1543
1547
  var classes = useRadioModifierFormStyles();
1544
- var orderingContext = useOrderingAppContext();
1548
+ var appContext = useOrderingAppContext()[0];
1545
1549
  var handleChange = function (event) {
1546
1550
  var _a;
1547
1551
  var price = (_a = modifiers.find(function (modifier) { return modifier.id === parseInt(event.target.value); })) === null || _a === void 0 ? void 0 : _a.price;
@@ -1553,9 +1557,7 @@ var RadioGroup = function (props) {
1553
1557
  },
1554
1558
  ]);
1555
1559
  };
1556
- 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 }), label: React__default.createElement(Label, { name: modifier.name, price: modifier.price
1557
- ? "" + (orderingContext && orderingContext.currencySymbol) + Number(modifier.price).toFixed(2)
1558
- : null }), className: classes.root })); })));
1560
+ 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 }), label: React__default.createElement(Label, { name: modifier.name, price: modifier.price ? "" + (appContext && appContext.currencySymbol) + Number(modifier.price).toFixed(2) : null }), className: classes.root })); })));
1559
1561
  };
1560
1562
 
1561
1563
  var ModifierOptionsControl = function (props) {
@@ -2086,5 +2088,5 @@ var orderingTheme = {
2086
2088
  props: props,
2087
2089
  };
2088
2090
 
2089
- export { Button$1 as Button, DishCheckoutCard, DishDetailsReview, DishModifierCard, ItemTag, ItemTagGroup, LocationCard, MenuDropdown, MenuFilter, MenuItem, MenuItemGroup, MenuSection, MenuSectionGroup, OrderingAppContext, QuantityPicker, ReactionCounter, ReactionCounterGroup, SelectableChip, SelectableChipGroup, SelectedMenuFiltersList, StatusTag, orderingTheme, useOrderingAppContext };
2091
+ export { Button$1 as Button, DishCheckoutCard, DishDetailsReview, DishModifierCard, ItemTag, ItemTagGroup, LocationCard, MenuDropdown, MenuFilter, MenuItem, MenuItemGroup, MenuSection, MenuSectionGroup, OrderingAppContext, OrderingAppContextProvider, QuantityPicker, ReactionCounter, ReactionCounterGroup, SelectableChip, SelectableChipGroup, SelectedMenuFiltersList, StatusTag, orderingTheme, useOrderingAppContext };
2090
2092
  //# sourceMappingURL=index.es.js.map