@popmenu/ordering-ui 0.80.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/components/DishModifierCard/DishModifierCardProps.d.ts +1 -0
- package/build/components/OrderingAppContext/OrderingAppContext.d.ts +7 -0
- package/build/components/OrderingAppContext/index.d.ts +1 -0
- package/build/components/index.d.ts +1 -0
- package/build/index.es.js +41 -10
- package/build/index.es.js.map +1 -1
- package/build/index.js +41 -8
- package/build/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,7 @@
|
|
|
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;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { OrderingAppContext, useOrderingAppContext } 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 } 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,32 +1499,63 @@ 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
|
+
|
|
1502
1511
|
var Label = function (props) {
|
|
1503
1512
|
var name = props.name, price = props.price;
|
|
1504
|
-
return (
|
|
1505
|
-
|
|
1506
|
-
price &&
|
|
1513
|
+
return (React__default.createElement(Box, { display: "flex", flexDirection: "column" },
|
|
1514
|
+
React__default.createElement(Typography$1, null, name),
|
|
1515
|
+
price && React__default.createElement(Typography$1, null,
|
|
1507
1516
|
"+ ",
|
|
1508
1517
|
price)));
|
|
1509
1518
|
};
|
|
1510
1519
|
var CheckboxGroup = function (props) {
|
|
1511
1520
|
var value = props.value, modifiers = props.modifiers, onChange = props.onChange, disableNewSelections = props.disableNewSelections;
|
|
1512
1521
|
var classes = useCheckboxModifierFormStyles();
|
|
1522
|
+
var orderingContext = useOrderingAppContext();
|
|
1513
1523
|
var handleChange = function (event) {
|
|
1514
|
-
|
|
1524
|
+
var _a;
|
|
1525
|
+
var price = (_a = modifiers.find(function (modifier) { return modifier.id === parseInt(event.target.value); })) === null || _a === void 0 ? void 0 : _a.price;
|
|
1526
|
+
onChange([
|
|
1527
|
+
{
|
|
1528
|
+
id: parseInt(event.target.value),
|
|
1529
|
+
price: (price && parseInt(price)) || 0,
|
|
1530
|
+
quantity: 1,
|
|
1531
|
+
},
|
|
1532
|
+
], event.target.checked);
|
|
1515
1533
|
};
|
|
1516
|
-
return (
|
|
1534
|
+
return (React__default.createElement(Box, { display: "flex", flexDirection: "column" }, modifiers.map(function (modifier, index) {
|
|
1517
1535
|
var targetValue = value === null || value === void 0 ? void 0 : value.find(function (v) { return v.id == modifier.id; });
|
|
1518
|
-
return (
|
|
1536
|
+
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)
|
|
1538
|
+
: null }), className: classes.root, checked: !!targetValue, onChange: handleChange }));
|
|
1519
1539
|
})));
|
|
1520
1540
|
};
|
|
1521
1541
|
var RadioGroup = function (props) {
|
|
1522
1542
|
var value = props.value, modifiers = props.modifiers, onChange = props.onChange;
|
|
1523
1543
|
var classes = useRadioModifierFormStyles();
|
|
1544
|
+
var orderingContext = useOrderingAppContext();
|
|
1524
1545
|
var handleChange = function (event) {
|
|
1525
|
-
|
|
1546
|
+
var _a;
|
|
1547
|
+
var price = (_a = modifiers.find(function (modifier) { return modifier.id === parseInt(event.target.value); })) === null || _a === void 0 ? void 0 : _a.price;
|
|
1548
|
+
onChange([
|
|
1549
|
+
{
|
|
1550
|
+
id: parseInt(event.target.value),
|
|
1551
|
+
price: (price && parseInt(price)) || 0,
|
|
1552
|
+
quantity: 1,
|
|
1553
|
+
},
|
|
1554
|
+
]);
|
|
1526
1555
|
};
|
|
1527
|
-
return (
|
|
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 })); })));
|
|
1528
1559
|
};
|
|
1529
1560
|
|
|
1530
1561
|
var ModifierOptionsControl = function (props) {
|
|
@@ -2055,5 +2086,5 @@ var orderingTheme = {
|
|
|
2055
2086
|
props: props,
|
|
2056
2087
|
};
|
|
2057
2088
|
|
|
2058
|
-
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 };
|
|
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 };
|
|
2059
2090
|
//# sourceMappingURL=index.es.js.map
|