@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/components/OrderingAppContext/OrderingAppContext.d.ts +13 -0
- package/build/components/OrderingAppContext/index.d.ts +1 -0
- package/build/components/index.d.ts +1 -0
- package/build/index.es.js +25 -8
- package/build/index.es.js.map +1 -1
- package/build/index.js +26 -6
- package/build/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare type OrderingAppContextState = {
|
|
3
|
+
currencySymbol?: string;
|
|
4
|
+
basePath: string;
|
|
5
|
+
restaurantId: number;
|
|
6
|
+
} | null;
|
|
7
|
+
declare type OrderingAppContextType = [OrderingAppContextState, React.Dispatch<React.SetStateAction<OrderingAppContextState>>];
|
|
8
|
+
export declare const OrderingAppContext: React.Context<OrderingAppContextType | null>;
|
|
9
|
+
export declare const useOrderingAppContext: () => OrderingAppContextType;
|
|
10
|
+
export declare const OrderingAppContextProvider: (props: {
|
|
11
|
+
children: React.ReactNode;
|
|
12
|
+
}) => JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { OrderingAppContext, useOrderingAppContext, OrderingAppContextProvider } from './OrderingAppContext';
|
|
@@ -9,6 +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, OrderingAppContextProvider } from './OrderingAppContext';
|
|
12
13
|
export { default as ReactionCounter, ReactionCounterProps } from './ReactionCounter';
|
|
13
14
|
export { default as ReactionCounterGroup } from './ReactionCounterGroup';
|
|
14
15
|
export { default as QuantityPicker, QuantityPickerProps, QuantityChangeEvent } from './QuantityPicker';
|
package/build/index.es.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Button as Button$2, makeStyles as makeStyles$1, Box, Typography as Typography$1, Link as Link$1, Paper as Paper$1, Avatar as Avatar$1, Card, CardActionArea, FormControl, Select, InputAdornment, MenuItem as MenuItem$1, FormControlLabel as FormControlLabel$1, Checkbox as Checkbox$1, Radio as Radio$1, Menu, TextField, Tabs, Chip } from '@material-ui/core';
|
|
2
2
|
export * from '@material-ui/core';
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
import React__default, { forwardRef, createElement, useState } from 'react';
|
|
4
|
+
import React__default, { forwardRef, createElement, useState, createContext, useContext } from 'react';
|
|
5
5
|
import { makeStyles, useTheme, lighten } from '@material-ui/core/styles';
|
|
6
6
|
import '@material-ui/lab/Alert';
|
|
7
7
|
import '@material-ui/core/AppBar';
|
|
@@ -1499,17 +1499,31 @@ StatusTag.defaultProps = {
|
|
|
1499
1499
|
};
|
|
1500
1500
|
StatusTag.displayName = 'StatusTag';
|
|
1501
1501
|
|
|
1502
|
+
var OrderingAppContext = createContext(null);
|
|
1503
|
+
var useOrderingAppContext = function () {
|
|
1504
|
+
var context = useContext(OrderingAppContext);
|
|
1505
|
+
if (!context) {
|
|
1506
|
+
throw new Error('useOrderingAppContext has to be used within <OrderingAppContext.Provider>');
|
|
1507
|
+
}
|
|
1508
|
+
return context;
|
|
1509
|
+
};
|
|
1510
|
+
var OrderingAppContextProvider = function (props) {
|
|
1511
|
+
var context = useState(null);
|
|
1512
|
+
return React__default.createElement(OrderingAppContext.Provider, { value: context }, props.children);
|
|
1513
|
+
};
|
|
1514
|
+
|
|
1502
1515
|
var Label = function (props) {
|
|
1503
1516
|
var name = props.name, price = props.price;
|
|
1504
|
-
return (
|
|
1505
|
-
|
|
1506
|
-
price &&
|
|
1517
|
+
return (React__default.createElement(Box, { display: "flex", flexDirection: "column" },
|
|
1518
|
+
React__default.createElement(Typography$1, null, name),
|
|
1519
|
+
price && React__default.createElement(Typography$1, null,
|
|
1507
1520
|
"+ ",
|
|
1508
1521
|
price)));
|
|
1509
1522
|
};
|
|
1510
1523
|
var CheckboxGroup = function (props) {
|
|
1511
1524
|
var value = props.value, modifiers = props.modifiers, onChange = props.onChange, disableNewSelections = props.disableNewSelections;
|
|
1512
1525
|
var classes = useCheckboxModifierFormStyles();
|
|
1526
|
+
var appContext = useOrderingAppContext()[0];
|
|
1513
1527
|
var handleChange = function (event) {
|
|
1514
1528
|
var _a;
|
|
1515
1529
|
var price = (_a = modifiers.find(function (modifier) { return modifier.id === parseInt(event.target.value); })) === null || _a === void 0 ? void 0 : _a.price;
|
|
@@ -1521,14 +1535,17 @@ var CheckboxGroup = function (props) {
|
|
|
1521
1535
|
},
|
|
1522
1536
|
], event.target.checked);
|
|
1523
1537
|
};
|
|
1524
|
-
return (
|
|
1538
|
+
return (React__default.createElement(Box, { display: "flex", flexDirection: "column" }, modifiers.map(function (modifier, index) {
|
|
1525
1539
|
var targetValue = value === null || value === void 0 ? void 0 : value.find(function (v) { return v.id == modifier.id; });
|
|
1526
|
-
return (
|
|
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
|
|
1541
|
+
? "" + (appContext && appContext.currencySymbol) + Number(modifier.price).toFixed(2)
|
|
1542
|
+
: null }), className: classes.root, checked: !!targetValue, onChange: handleChange }));
|
|
1527
1543
|
})));
|
|
1528
1544
|
};
|
|
1529
1545
|
var RadioGroup = function (props) {
|
|
1530
1546
|
var value = props.value, modifiers = props.modifiers, onChange = props.onChange;
|
|
1531
1547
|
var classes = useRadioModifierFormStyles();
|
|
1548
|
+
var appContext = useOrderingAppContext()[0];
|
|
1532
1549
|
var handleChange = function (event) {
|
|
1533
1550
|
var _a;
|
|
1534
1551
|
var price = (_a = modifiers.find(function (modifier) { return modifier.id === parseInt(event.target.value); })) === null || _a === void 0 ? void 0 : _a.price;
|
|
@@ -1540,7 +1557,7 @@ var RadioGroup = function (props) {
|
|
|
1540
1557
|
},
|
|
1541
1558
|
]);
|
|
1542
1559
|
};
|
|
1543
|
-
return (
|
|
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 })); })));
|
|
1544
1561
|
};
|
|
1545
1562
|
|
|
1546
1563
|
var ModifierOptionsControl = function (props) {
|
|
@@ -2071,5 +2088,5 @@ var orderingTheme = {
|
|
|
2071
2088
|
props: props,
|
|
2072
2089
|
};
|
|
2073
2090
|
|
|
2074
|
-
export { Button$1 as Button, DishCheckoutCard, DishDetailsReview, DishModifierCard, ItemTag, ItemTagGroup, LocationCard, MenuDropdown, MenuFilter, MenuItem, MenuItemGroup, MenuSection, MenuSectionGroup, QuantityPicker, ReactionCounter, ReactionCounterGroup, SelectableChip, SelectableChipGroup, SelectedMenuFiltersList, StatusTag, orderingTheme };
|
|
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 };
|
|
2075
2092
|
//# sourceMappingURL=index.es.js.map
|