@popmenu/ordering-ui 0.126.0 → 0.126.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.
Files changed (227) hide show
  1. package/build/esm/_virtual/index.js +4 -0
  2. package/build/esm/_virtual/index.js.map +1 -0
  3. package/build/esm/assets/leaf-icon.svg.js +20 -0
  4. package/build/esm/assets/leaf-icon.svg.js.map +1 -0
  5. package/build/{components → esm/components}/Button/Button.d.ts +3 -3
  6. package/build/esm/components/Button/Button.js +23 -0
  7. package/build/esm/components/Button/Button.js.map +1 -0
  8. package/build/{components → esm/components}/Button/ButtonProps.d.ts +5 -5
  9. package/build/{components → esm/components}/Button/index.d.ts +2 -2
  10. package/build/esm/components/Checkbox/Checkbox.d.ts +2 -0
  11. package/build/esm/components/Checkbox/Checkbox.js +16 -0
  12. package/build/esm/components/Checkbox/Checkbox.js.map +1 -0
  13. package/build/{components → esm/components}/Checkbox/index.d.ts +1 -1
  14. package/build/{components → esm/components}/DialogSection/DialogSection.d.ts +8 -8
  15. package/build/esm/components/DialogSection/DialogSection.js +11 -0
  16. package/build/esm/components/DialogSection/DialogSection.js.map +1 -0
  17. package/build/{components → esm/components}/DialogSection/index.d.ts +1 -1
  18. package/build/{components → esm/components}/DialogTitle/DialogTitle.d.ts +9 -9
  19. package/build/esm/components/DialogTitle/DialogTitle.js +22 -0
  20. package/build/esm/components/DialogTitle/DialogTitle.js.map +1 -0
  21. package/build/{components → esm/components}/DialogTitle/index.d.ts +1 -1
  22. package/build/{components → esm/components}/DishCheckoutCard/DishCheckoutCard.d.ts +3 -3
  23. package/build/esm/components/DishCheckoutCard/DishCheckoutCard.js +94 -0
  24. package/build/esm/components/DishCheckoutCard/DishCheckoutCard.js.map +1 -0
  25. package/build/{components → esm/components}/DishCheckoutCard/DishCheckoutCard.styles.d.ts +2 -2
  26. package/build/esm/components/DishCheckoutCard/DishCheckoutCard.styles.js +85 -0
  27. package/build/esm/components/DishCheckoutCard/DishCheckoutCard.styles.js.map +1 -0
  28. package/build/{components → esm/components}/DishCheckoutCard/DishCheckoutCardProps.d.ts +44 -44
  29. package/build/{components → esm/components}/DishCheckoutCard/index.d.ts +2 -2
  30. package/build/{components → esm/components}/DishDetailsReview/DishDetailsReview.d.ts +3 -3
  31. package/build/esm/components/DishDetailsReview/DishDetailsReview.js +18 -0
  32. package/build/esm/components/DishDetailsReview/DishDetailsReview.js.map +1 -0
  33. package/build/{components → esm/components}/DishDetailsReview/DishDetailsReviewProps.d.ts +12 -12
  34. package/build/{components → esm/components}/DishDetailsReview/index.d.ts +2 -2
  35. package/build/{components → esm/components}/DishModifierCard/DishModifierCard.d.ts +6 -6
  36. package/build/esm/components/DishModifierCard/DishModifierCard.js +48 -0
  37. package/build/esm/components/DishModifierCard/DishModifierCard.js.map +1 -0
  38. package/build/{components → esm/components}/DishModifierCard/DishModifierCard.styles.d.ts +5 -5
  39. package/build/esm/components/DishModifierCard/DishModifierCard.styles.js +95 -0
  40. package/build/esm/components/DishModifierCard/DishModifierCard.styles.js.map +1 -0
  41. package/build/{components → esm/components}/DishModifierCard/DishModifierCardProps.d.ts +71 -71
  42. package/build/{components → esm/components}/DishModifierCard/ModifierControls.d.ts +3 -3
  43. package/build/esm/components/DishModifierCard/ModifierControls.js +135 -0
  44. package/build/esm/components/DishModifierCard/ModifierControls.js.map +1 -0
  45. package/build/{components → esm/components}/DishModifierCard/ModifierForm.d.ts +4 -4
  46. package/build/{components → esm/components}/DishModifierCard/index.d.ts +2 -2
  47. package/build/{components → esm/components}/ItemTag/ItemTag.d.ts +3 -3
  48. package/build/esm/components/ItemTag/ItemTag.js +15 -0
  49. package/build/esm/components/ItemTag/ItemTag.js.map +1 -0
  50. package/build/{components → esm/components}/ItemTag/ItemTagProps.d.ts +5 -5
  51. package/build/{components → esm/components}/ItemTag/index.d.ts +2 -2
  52. package/build/{components → esm/components}/ItemTag/itemTag.styles.d.ts +1 -1
  53. package/build/esm/components/ItemTag/itemTag.styles.js +20 -0
  54. package/build/esm/components/ItemTag/itemTag.styles.js.map +1 -0
  55. package/build/{components → esm/components}/ItemTagGroup/ItemTagGroup.d.ts +2 -2
  56. package/build/esm/components/ItemTagGroup/ItemTagGroup.js +10 -0
  57. package/build/esm/components/ItemTagGroup/ItemTagGroup.js.map +1 -0
  58. package/build/{components → esm/components}/ItemTagGroup/index.d.ts +1 -1
  59. package/build/{components → esm/components}/LocationCard/LocationCard.d.ts +3 -3
  60. package/build/esm/components/LocationCard/LocationCard.js +35 -0
  61. package/build/esm/components/LocationCard/LocationCard.js.map +1 -0
  62. package/build/{components → esm/components}/LocationCard/LocationCard.styles.d.ts +2 -2
  63. package/build/esm/components/LocationCard/LocationCard.styles.js +64 -0
  64. package/build/esm/components/LocationCard/LocationCard.styles.js.map +1 -0
  65. package/build/{components → esm/components}/LocationCard/LocationCardProps.d.ts +28 -28
  66. package/build/{components → esm/components}/LocationCard/index.d.ts +2 -2
  67. package/build/{components → esm/components}/MenuBanner/MenuBanner.d.ts +3 -3
  68. package/build/esm/components/MenuBanner/MenuBanner.js +34 -0
  69. package/build/esm/components/MenuBanner/MenuBanner.js.map +1 -0
  70. package/build/{components → esm/components}/MenuBanner/MenuBanner.styles.d.ts +2 -2
  71. package/build/esm/components/MenuBanner/MenuBanner.styles.js +49 -0
  72. package/build/esm/components/MenuBanner/MenuBanner.styles.js.map +1 -0
  73. package/build/{components → esm/components}/MenuBanner/MenuBannerIcons.d.ts +6 -6
  74. package/build/esm/components/MenuBanner/MenuBannerIcons.js +15 -0
  75. package/build/esm/components/MenuBanner/MenuBannerIcons.js.map +1 -0
  76. package/build/{components → esm/components}/MenuBanner/MenuBannerProps.d.ts +15 -15
  77. package/build/{components → esm/components}/MenuBanner/index.d.ts +2 -2
  78. package/build/{components → esm/components}/MenuDropdown/MenuDropdown.d.ts +3 -3
  79. package/build/esm/components/MenuDropdown/MenuDropdown.js +37 -0
  80. package/build/esm/components/MenuDropdown/MenuDropdown.js.map +1 -0
  81. package/build/{components → esm/components}/MenuDropdown/MenuDropdown.styles.d.ts +2 -2
  82. package/build/esm/components/MenuDropdown/MenuDropdown.styles.js +40 -0
  83. package/build/esm/components/MenuDropdown/MenuDropdown.styles.js.map +1 -0
  84. package/build/{components → esm/components}/MenuDropdown/MenuDropdownProps.d.ts +15 -15
  85. package/build/{components → esm/components}/MenuDropdown/index.d.ts +2 -2
  86. package/build/{components → esm/components}/MenuFilter/MenuFilter.d.ts +3 -3
  87. package/build/esm/components/MenuFilter/MenuFilter.js +46 -0
  88. package/build/esm/components/MenuFilter/MenuFilter.js.map +1 -0
  89. package/build/{components → esm/components}/MenuFilter/MenuFilter.styles.d.ts +1 -1
  90. package/build/esm/components/MenuFilter/MenuFilter.styles.js +11 -0
  91. package/build/esm/components/MenuFilter/MenuFilter.styles.js.map +1 -0
  92. package/build/{components → esm/components}/MenuFilter/MenuFilterProps.d.ts +23 -23
  93. package/build/{components → esm/components}/MenuFilter/index.d.ts +2 -2
  94. package/build/{components → esm/components}/MenuItem/MenuItem.d.ts +3 -3
  95. package/build/esm/components/MenuItem/MenuItem.js +40 -0
  96. package/build/esm/components/MenuItem/MenuItem.js.map +1 -0
  97. package/build/{components → esm/components}/MenuItem/MenuItem.styles.d.ts +1 -1
  98. package/build/esm/components/MenuItem/MenuItem.styles.js +67 -0
  99. package/build/esm/components/MenuItem/MenuItem.styles.js.map +1 -0
  100. package/build/{components → esm/components}/MenuItem/MenuItemImg.d.ts +3 -3
  101. package/build/esm/components/MenuItem/MenuItemImg.js +22 -0
  102. package/build/esm/components/MenuItem/MenuItemImg.js.map +1 -0
  103. package/build/{components → esm/components}/MenuItem/MenuItemInfo.d.ts +4 -4
  104. package/build/esm/components/MenuItem/MenuItemInfo.js +9 -0
  105. package/build/esm/components/MenuItem/MenuItemInfo.js.map +1 -0
  106. package/build/{components → esm/components}/MenuItem/MenuItemPrice.d.ts +3 -3
  107. package/build/esm/components/MenuItem/MenuItemPrice.js +28 -0
  108. package/build/esm/components/MenuItem/MenuItemPrice.js.map +1 -0
  109. package/build/{components → esm/components}/MenuItem/MenuItemProps.d.ts +41 -41
  110. package/build/{components → esm/components}/MenuItem/MenuItemReactions.d.ts +3 -3
  111. package/build/esm/components/MenuItem/MenuItemReactions.js +16 -0
  112. package/build/esm/components/MenuItem/MenuItemReactions.js.map +1 -0
  113. package/build/{components → esm/components}/MenuItem/MenuItemTags.d.ts +3 -3
  114. package/build/esm/components/MenuItem/MenuItemTags.js +11 -0
  115. package/build/esm/components/MenuItem/MenuItemTags.js.map +1 -0
  116. package/build/{components → esm/components}/MenuItem/index.d.ts +2 -2
  117. package/build/{components → esm/components}/MenuItemGroup/MenuItemGroup.d.ts +5 -5
  118. package/build/esm/components/MenuItemGroup/MenuItemGroup.js +15 -0
  119. package/build/esm/components/MenuItemGroup/MenuItemGroup.js.map +1 -0
  120. package/build/{components → esm/components}/MenuItemGroup/MenuItemGroupStyles.d.ts +1 -1
  121. package/build/esm/components/MenuItemGroup/MenuItemGroupStyles.js +21 -0
  122. package/build/esm/components/MenuItemGroup/MenuItemGroupStyles.js.map +1 -0
  123. package/build/{components → esm/components}/MenuItemGroup/index.d.ts +1 -1
  124. package/build/{components → esm/components}/MenuSection/MenuSection.d.ts +3 -3
  125. package/build/esm/components/MenuSection/MenuSection.js +18 -0
  126. package/build/esm/components/MenuSection/MenuSection.js.map +1 -0
  127. package/build/{components → esm/components}/MenuSection/MenuSectionProps.d.ts +9 -9
  128. package/build/{components → esm/components}/MenuSection/MenuSectionStyles.d.ts +1 -1
  129. package/build/esm/components/MenuSection/MenuSectionStyles.js +12 -0
  130. package/build/esm/components/MenuSection/MenuSectionStyles.js.map +1 -0
  131. package/build/{components → esm/components}/MenuSection/index.d.ts +2 -2
  132. package/build/{components → esm/components}/MenuSectionGroup/MenuSectionGroup.d.ts +5 -5
  133. package/build/esm/components/MenuSectionGroup/MenuSectionGroup.js +12 -0
  134. package/build/esm/components/MenuSectionGroup/MenuSectionGroup.js.map +1 -0
  135. package/build/{components → esm/components}/MenuSectionGroup/index.d.ts +1 -1
  136. package/build/{components → esm/components}/OrderingAppContext/OrderingAppContext.d.ts +18 -18
  137. package/build/esm/components/OrderingAppContext/OrderingAppContext.js +17 -0
  138. package/build/esm/components/OrderingAppContext/OrderingAppContext.js.map +1 -0
  139. package/build/{components → esm/components}/OrderingAppContext/index.d.ts +1 -1
  140. package/build/{components → esm/components}/PageSection/PageSection.d.ts +4 -4
  141. package/build/esm/components/PageSection/PageSection.js +7 -0
  142. package/build/esm/components/PageSection/PageSection.js.map +1 -0
  143. package/build/{components → esm/components}/PageSection/index.d.ts +1 -1
  144. package/build/{components → esm/components}/QuantityPicker/QuantityPicker.d.ts +3 -3
  145. package/build/esm/components/QuantityPicker/QuantityPicker.js +38 -0
  146. package/build/esm/components/QuantityPicker/QuantityPicker.js.map +1 -0
  147. package/build/{components → esm/components}/QuantityPicker/QuantityPicker.styles.d.ts +5 -5
  148. package/build/esm/components/QuantityPicker/QuantityPicker.styles.js +46 -0
  149. package/build/esm/components/QuantityPicker/QuantityPicker.styles.js.map +1 -0
  150. package/build/{components → esm/components}/QuantityPicker/QuantityPickerProps.d.ts +21 -21
  151. package/build/{components → esm/components}/QuantityPicker/index.d.ts +2 -2
  152. package/build/esm/components/Radio/Radio.d.ts +2 -0
  153. package/build/esm/components/Radio/Radio.js +16 -0
  154. package/build/esm/components/Radio/Radio.js.map +1 -0
  155. package/build/{components → esm/components}/Radio/index.d.ts +1 -1
  156. package/build/{components → esm/components}/ReactionCounter/ReactionCounter.d.ts +3 -3
  157. package/build/esm/components/ReactionCounter/ReactionCounter.js +12 -0
  158. package/build/esm/components/ReactionCounter/ReactionCounter.js.map +1 -0
  159. package/build/{components → esm/components}/ReactionCounter/ReactionCounterProps.d.ts +6 -6
  160. package/build/{components → esm/components}/ReactionCounter/index.d.ts +2 -2
  161. package/build/{components → esm/components}/ReactionCounterGroup/ReactionCounterGroup.d.ts +4 -4
  162. package/build/esm/components/ReactionCounterGroup/ReactionCounterGroup.js +10 -0
  163. package/build/esm/components/ReactionCounterGroup/ReactionCounterGroup.js.map +1 -0
  164. package/build/{components → esm/components}/ReactionCounterGroup/index.d.ts +1 -1
  165. package/build/{components → esm/components}/SelectableChip/SelectableChip.d.ts +3 -3
  166. package/build/esm/components/SelectableChip/SelectableChip.js +15 -0
  167. package/build/esm/components/SelectableChip/SelectableChip.js.map +1 -0
  168. package/build/{components → esm/components}/SelectableChip/SelectableChip.styles.d.ts +2 -2
  169. package/build/esm/components/SelectableChip/SelectableChip.styles.js +34 -0
  170. package/build/esm/components/SelectableChip/SelectableChip.styles.js.map +1 -0
  171. package/build/{components → esm/components}/SelectableChip/SelectableChipProps.d.ts +2 -2
  172. package/build/{components → esm/components}/SelectableChip/index.d.ts +2 -2
  173. package/build/{components → esm/components}/SelectableChipGroup/SelectableChipGroup.d.ts +3 -3
  174. package/build/esm/components/SelectableChipGroup/SelectableChipGroup.js +15 -0
  175. package/build/esm/components/SelectableChipGroup/SelectableChipGroup.js.map +1 -0
  176. package/build/{components → esm/components}/SelectableChipGroup/SelectableChipGroup.styles.d.ts +1 -1
  177. package/build/esm/components/SelectableChipGroup/SelectableChipGroup.styles.js +21 -0
  178. package/build/esm/components/SelectableChipGroup/SelectableChipGroup.styles.js.map +1 -0
  179. package/build/{components → esm/components}/SelectableChipGroup/SelectableChipGroupProps.d.ts +5 -5
  180. package/build/{components → esm/components}/SelectableChipGroup/index.d.ts +2 -2
  181. package/build/{components → esm/components}/SelectedMenuFiltersList/SelectedMenuFiltersList.d.ts +3 -3
  182. package/build/esm/components/SelectedMenuFiltersList/SelectedMenuFiltersList.js +33 -0
  183. package/build/esm/components/SelectedMenuFiltersList/SelectedMenuFiltersList.js.map +1 -0
  184. package/build/{components → esm/components}/SelectedMenuFiltersList/SelectedMenuFiltersListProps.d.ts +6 -6
  185. package/build/{components → esm/components}/SelectedMenuFiltersList/index.d.ts +2 -2
  186. package/build/{components → esm/components}/StatusTag/StatusTag.d.ts +10 -10
  187. package/build/esm/components/StatusTag/StatusTag.js +19 -0
  188. package/build/esm/components/StatusTag/StatusTag.js.map +1 -0
  189. package/build/{components → esm/components}/StatusTag/StatusTag.styles.d.ts +2 -2
  190. package/build/esm/components/StatusTag/StatusTag.styles.js +40 -0
  191. package/build/esm/components/StatusTag/StatusTag.styles.js.map +1 -0
  192. package/build/{components → esm/components}/StatusTag/StatusTagProps.d.ts +10 -10
  193. package/build/{components → esm/components}/StatusTag/index.d.ts +2 -2
  194. package/build/esm/components/Switch/Switch.d.ts +2 -0
  195. package/build/esm/components/Switch/Switch.js +24 -0
  196. package/build/esm/components/Switch/Switch.js.map +1 -0
  197. package/build/{components → esm/components}/Switch/index.d.ts +1 -1
  198. package/build/{components → esm/components}/index.d.ts +29 -29
  199. package/build/{index.d.ts → esm/index.d.ts} +2 -2
  200. package/build/esm/index.js +31 -0
  201. package/build/esm/index.js.map +1 -0
  202. package/build/esm/node_modules/classnames/index.js +81 -0
  203. package/build/esm/node_modules/classnames/index.js.map +1 -0
  204. package/build/{theme → esm/theme}/index.d.ts +1 -1
  205. package/build/{theme → esm/theme}/overrides.d.ts +2 -2
  206. package/build/esm/theme/overrides.js +75 -0
  207. package/build/esm/theme/overrides.js.map +1 -0
  208. package/build/{theme → esm/theme}/palette.d.ts +26 -26
  209. package/build/esm/theme/palette.js +29 -0
  210. package/build/esm/theme/palette.js.map +1 -0
  211. package/build/{theme → esm/theme}/props.d.ts +2 -2
  212. package/build/esm/theme/props.js +11 -0
  213. package/build/esm/theme/props.js.map +1 -0
  214. package/build/{theme → esm/theme}/theme.d.ts +2 -2
  215. package/build/esm/theme/theme.js +14 -0
  216. package/build/esm/theme/theme.js.map +1 -0
  217. package/build/{theme → esm/theme}/typography.d.ts +2 -2
  218. package/build/esm/theme/typography.js +60 -0
  219. package/build/esm/theme/typography.js.map +1 -0
  220. package/build/index.js +1369 -2577
  221. package/build/index.js.map +1 -1
  222. package/package.json +7 -8
  223. package/build/components/Checkbox/Checkbox.d.ts +0 -2
  224. package/build/components/Radio/Radio.d.ts +0 -2
  225. package/build/components/Switch/Switch.d.ts +0 -2
  226. package/build/index.es.js +0 -2713
  227. package/build/index.es.js.map +0 -1
package/build/index.js CHANGED
@@ -1,60 +1,15 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var core = require('@material-ui/core');
4
+ var tslib = require('tslib');
6
5
  var React = require('react');
7
6
  var styles = require('@material-ui/core/styles');
8
- require('@material-ui/lab/Alert');
9
- require('@material-ui/core/AppBar');
10
- var MuiAvatar = require('@material-ui/core/Avatar');
11
- require('@material-ui/core/Badge');
12
- require('@material-ui/core/Button');
13
- require('@material-ui/core/CircularProgress');
14
- require('@material-ui/core/ButtonGroup');
15
- require('@material-ui/core/Card');
16
- require('@material-ui/core/CardActionArea');
17
- require('@material-ui/core/CardActions');
18
- require('@material-ui/core/CardContent');
19
- require('@material-ui/core/CardHeader');
20
- require('@material-ui/core/CardMedia');
21
- var MuiCheckbox = require('@material-ui/core/Checkbox');
22
- var FormControlLabel = require('@material-ui/core/FormControlLabel');
23
- require('@material-ui/core/Chip');
24
- require('@material-ui/core/Collapse');
25
- require('@material-ui/core/Dialog');
26
- require('@material-ui/core/DialogActions');
27
- require('@material-ui/core/DialogContent');
28
- require('@material-ui/core/DialogTitle');
29
- require('@material-ui/core/Drawer');
30
- require('@material-ui/core/FormControl');
31
- require('@material-ui/core/Grid');
32
- var MuiIconButton = require('@material-ui/core/IconButton');
33
- require('@material-ui/core/InputAdornment');
34
- require('@material-ui/core/LinearProgress');
35
- require('@material-ui/core/List');
36
- require('@material-ui/core/ListItem');
37
- require('@material-ui/core/ListItemAvatar');
38
- require('@material-ui/core/ListItemIcon');
39
- require('@material-ui/core/ListItemSecondaryAction');
40
- require('@material-ui/core/ListItemText');
41
- require('@material-ui/core/Menu');
42
- require('@material-ui/core/MenuItem');
43
- require('@material-ui/core/MenuList');
44
- var MuiRadio = require('@material-ui/core/Radio');
45
- require('@material-ui/core/TextField');
46
- var MuiSwitch = require('@material-ui/core/Switch');
47
- var Tab = require('@material-ui/core/Tab');
48
- require('@material-ui/core/Tabs');
49
- var MuiToggleButton = require('@material-ui/lab/ToggleButton');
50
- var MuiToggleButtonGroup = require('@material-ui/lab/ToggleButtonGroup');
51
- var MuiTooltip = require('@material-ui/core/Tooltip');
7
+ var webIcons = require('@popmenu/web-icons');
8
+ var commonUi = require('@popmenu/common-ui');
52
9
  var lab = require('@material-ui/lab');
10
+ var Tab = require('@material-ui/core/Tab');
53
11
 
54
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
55
-
56
- function _interopNamespace(e) {
57
- if (e && e.__esModule) return e;
12
+ function _interopNamespaceDefault(e) {
58
13
  var n = Object.create(null);
59
14
  if (e) {
60
15
  Object.keys(e).forEach(function (k) {
@@ -62,1416 +17,236 @@ function _interopNamespace(e) {
62
17
  var d = Object.getOwnPropertyDescriptor(e, k);
63
18
  Object.defineProperty(n, k, d.get ? d : {
64
19
  enumerable: true,
65
- get: function () {
66
- return e[k];
67
- }
20
+ get: function () { return e[k]; }
68
21
  });
69
22
  }
70
23
  });
71
24
  }
72
- n['default'] = e;
25
+ n.default = e;
73
26
  return Object.freeze(n);
74
27
  }
75
28
 
76
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
77
- var React__namespace = /*#__PURE__*/_interopNamespace(React);
78
- var MuiAvatar__default = /*#__PURE__*/_interopDefaultLegacy(MuiAvatar);
79
- var MuiCheckbox__default = /*#__PURE__*/_interopDefaultLegacy(MuiCheckbox);
80
- var FormControlLabel__default = /*#__PURE__*/_interopDefaultLegacy(FormControlLabel);
81
- var MuiIconButton__default = /*#__PURE__*/_interopDefaultLegacy(MuiIconButton);
82
- var MuiRadio__default = /*#__PURE__*/_interopDefaultLegacy(MuiRadio);
83
- var MuiSwitch__default = /*#__PURE__*/_interopDefaultLegacy(MuiSwitch);
84
- var Tab__default = /*#__PURE__*/_interopDefaultLegacy(Tab);
85
- var MuiToggleButton__default = /*#__PURE__*/_interopDefaultLegacy(MuiToggleButton);
86
- var MuiToggleButtonGroup__default = /*#__PURE__*/_interopDefaultLegacy(MuiToggleButtonGroup);
87
- var MuiTooltip__default = /*#__PURE__*/_interopDefaultLegacy(MuiTooltip);
88
-
89
- /*! *****************************************************************************
90
- Copyright (c) Microsoft Corporation.
91
-
92
- Permission to use, copy, modify, and/or distribute this software for any
93
- purpose with or without fee is hereby granted.
94
-
95
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
96
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
97
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
98
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
99
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
100
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
101
- PERFORMANCE OF THIS SOFTWARE.
102
- ***************************************************************************** */
103
-
104
- var __assign$1 = function() {
105
- __assign$1 = Object.assign || function __assign(t) {
106
- for (var s, i = 1, n = arguments.length; i < n; i++) {
107
- s = arguments[i];
108
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
109
- }
110
- return t;
111
- };
112
- return __assign$1.apply(this, arguments);
113
- };
114
-
115
- function __rest$1(s, e) {
116
- var t = {};
117
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
118
- t[p] = s[p];
119
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
120
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
121
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
122
- t[p[i]] = s[p[i]];
123
- }
124
- return t;
125
- }
126
-
127
- var Button = React.forwardRef(function (props, ref) {
128
- var _a = props.variation, variation = _a === void 0 ? 'primary' : _a, muiProps = __rest$1(props, ["variation"]);
129
- var variationProps = {};
130
- switch (variation) {
131
- case 'primary':
132
- variationProps.variant = 'contained';
133
- variationProps.color = 'primary';
134
- break;
135
- case 'secondary':
136
- variationProps.variant = 'outlined';
137
- variationProps.color = 'primary';
138
- break;
139
- }
140
- return React__default['default'].createElement(core.Button, __assign$1({}, variationProps, muiProps, { ref: ref }));
141
- });
142
- Button.displayName = 'Button';
143
-
144
- var useMenuItemStyles = styles.makeStyles(function (theme) {
145
- var _a, _b;
146
- return ({
147
- cardActionArea: (_a = {
148
- display: 'flex',
149
- gridGap: 16,
150
- height: '100%'
151
- },
152
- _a[theme.breakpoints.up('lg')] = {
153
- border: '1px solid #E0E0E0',
154
- borderRadius: theme.spacing(2),
155
- padding: theme.spacing(2),
156
- },
157
- _a),
158
- card: (_b = {},
159
- _b[theme.breakpoints.down('md')] = {
160
- '&:after': {
161
- content: '""',
162
- position: 'absolute',
163
- backgroundColor: '#E0E0E0',
164
- width: '100%',
165
- height: 1,
166
- bottom: -16,
167
- left: 0,
168
- },
169
- },
170
- _b.height = 185,
171
- _b.position = 'relative',
172
- _b.overflow = 'visible',
173
- _b),
174
- cardTitle: {
175
- flexGrow: 1,
176
- fontWeight: 500,
177
- fontSize: 18,
178
- lineHeight: '27px',
179
- color: theme.palette.grey[900],
180
- '-webkit-line-clamp': 2,
181
- display: '-webkit-box',
182
- '-webkit-box-orient': 'vertical',
183
- textOverflow: 'ellipsis',
184
- overflow: 'hidden',
185
- },
186
- cardDescription: {
187
- fontWeight: 400,
188
- fontSize: 14,
189
- lineHeight: '20px',
190
- margin: theme.spacing(0.5, 0, 1, 0),
191
- color: theme.palette.grey[800],
192
- '-webkit-line-clamp': 2,
193
- display: '-webkit-box',
194
- '-webkit-box-orient': 'vertical',
195
- textOverflow: 'ellipsis',
196
- overflow: 'hidden',
197
- },
198
- outOfStockTag: {
199
- minWidth: '90px',
200
- marginLeft: theme.spacing(1),
201
- display: 'inline-block',
202
- verticalAlign: 'bottom',
203
- },
204
- });
205
- });
206
-
207
- var useStyles$6 = core.makeStyles(function () { return ({
208
- img: {
209
- objectFit: 'cover',
210
- width: '100%',
211
- height: '100%',
212
- },
213
- }); });
214
- var MenuItemImg = function (props) {
215
- var _a = props.image, image = _a === void 0 ? {} : _a;
216
- var src = image.src;
217
- var classes = useStyles$6();
218
- if (!src) {
219
- return null;
220
- }
221
- return (React__default['default'].createElement(core.Box, { width: 125, height: "100%", borderRadius: 16, overflow: "hidden", flexShrink: 0 }, React__default['default'].createElement("img", { src: src, alt: "", className: classes.img })));
222
- };
223
-
224
- var MenuItemInfo = function (props) {
225
- return (React__default['default'].createElement(core.Box, { display: "flex", flexGrow: 1, flexDirection: "column", height: "100%" }, props.children));
226
- };
227
-
228
- var _path$2p;
229
-
230
- function _extends$5q() { _extends$5q = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$5q.apply(this, arguments); }
231
-
232
- function SvgChevronDown(props) {
233
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$5q({
234
- viewBox: "0 0 16 16",
235
- fill: "none",
236
- strokeLinecap: "round",
237
- strokeLinejoin: "round",
238
- width: "1em",
239
- height: "1em"
240
- }, props), _path$2p || (_path$2p = /*#__PURE__*/React__namespace.createElement("path", {
241
- d: "M4 6l4 4 4-4",
242
- stroke: "currentColor"
243
- })));
244
- }
245
-
246
- var _path$2o;
247
-
248
- function _extends$5p() { _extends$5p = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$5p.apply(this, arguments); }
249
-
250
- function SvgChevronUp(props) {
251
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$5p({
252
- viewBox: "0 0 16 16",
253
- fill: "none",
254
- strokeLinecap: "round",
255
- strokeLinejoin: "round",
256
- width: "1em",
257
- height: "1em"
258
- }, props), _path$2o || (_path$2o = /*#__PURE__*/React__namespace.createElement("path", {
259
- d: "M12 10L8 6l-4 4",
260
- stroke: "currentColor"
261
- })));
262
- }
263
-
264
- var _path$2m;
265
-
266
- function _extends$5n() { _extends$5n = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$5n.apply(this, arguments); }
267
-
268
- function SvgChevronRight(props) {
269
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$5n({
270
- viewBox: "0 0 16 16",
271
- fill: "none",
272
- strokeLinecap: "round",
273
- strokeLinejoin: "round",
274
- width: "1em",
275
- height: "1em"
276
- }, props), _path$2m || (_path$2m = /*#__PURE__*/React__namespace.createElement("path", {
277
- d: "M6 12l4-4-4-4",
278
- stroke: "currentColor"
279
- })));
280
- }
281
-
282
- var _path$27;
283
-
284
- function _extends$4L() { _extends$4L = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4L.apply(this, arguments); }
285
-
286
- function SvgCheck(props) {
287
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$4L({
288
- viewBox: "0 0 16 16",
289
- fill: "none",
290
- strokeLinecap: "round",
291
- strokeLinejoin: "round",
292
- width: "1em",
293
- height: "1em"
294
- }, props), _path$27 || (_path$27 = /*#__PURE__*/React__namespace.createElement("path", {
295
- d: "M13.333 4L6 11.333 2.667 8",
296
- stroke: "currentColor"
297
- })));
298
- }
299
-
300
- var _g$2A, _defs$1E;
301
-
302
- function _extends$4I() { _extends$4I = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4I.apply(this, arguments); }
303
-
304
- function SvgClock(props) {
305
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$4I({
306
- viewBox: "0 0 16 16",
307
- fill: "none",
308
- strokeLinecap: "round",
309
- strokeLinejoin: "round",
310
- width: "1em",
311
- height: "1em"
312
- }, props), _g$2A || (_g$2A = /*#__PURE__*/React__namespace.createElement("g", {
313
- clipPath: "url(#clock_svg__clip0_8_5092)",
314
- stroke: "currentColor"
315
- }, /*#__PURE__*/React__namespace.createElement("path", {
316
- d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333z"
317
- }), /*#__PURE__*/React__namespace.createElement("path", {
318
- d: "M8 4v4l2.667 1.333"
319
- }))), _defs$1E || (_defs$1E = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
320
- id: "clock_svg__clip0_8_5092"
321
- }, /*#__PURE__*/React__namespace.createElement("path", {
322
- fill: "currentColor",
323
- d: "M0 0h16v16H0z"
324
- })))));
325
- }
326
-
327
- var _path$26;
328
-
329
- function _extends$4H() { _extends$4H = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4H.apply(this, arguments); }
330
-
331
- function SvgX(props) {
332
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$4H({
333
- viewBox: "0 0 16 16",
334
- fill: "none",
335
- strokeLinecap: "round",
336
- strokeLinejoin: "round",
337
- width: "1em",
338
- height: "1em"
339
- }, props), _path$26 || (_path$26 = /*#__PURE__*/React__namespace.createElement("path", {
340
- d: "M12 4l-8 8m0-8l8 8",
341
- stroke: "currentColor"
342
- })));
343
- }
344
-
345
- var _g$2z, _defs$1D;
346
-
347
- function _extends$4G() { _extends$4G = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4G.apply(this, arguments); }
348
-
349
- function SvgXCircle(props) {
350
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$4G({
351
- viewBox: "0 0 16 16",
352
- fill: "none",
353
- strokeLinecap: "round",
354
- strokeLinejoin: "round",
355
- width: "1em",
356
- height: "1em"
357
- }, props), _g$2z || (_g$2z = /*#__PURE__*/React__namespace.createElement("g", {
358
- clipPath: "url(#x-circle_svg__clip0_8_6136)",
359
- stroke: "currentColor"
360
- }, /*#__PURE__*/React__namespace.createElement("path", {
361
- d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zM10 6l-4 4m0-4l4 4"
362
- }))), _defs$1D || (_defs$1D = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
363
- id: "x-circle_svg__clip0_8_6136"
364
- }, /*#__PURE__*/React__namespace.createElement("path", {
365
- fill: "currentColor",
366
- d: "M0 0h16v16H0z"
367
- })))));
368
- }
369
-
370
- var _path$1$;
371
-
372
- function _extends$4q() { _extends$4q = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4q.apply(this, arguments); }
373
-
374
- function SvgHeart(props) {
375
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$4q({
376
- viewBox: "0 0 16 16",
377
- fill: "none",
378
- strokeLinecap: "round",
379
- strokeLinejoin: "round",
380
- width: "1em",
381
- height: "1em"
382
- }, props), _path$1$ || (_path$1$ = /*#__PURE__*/React__namespace.createElement("path", {
383
- d: "M13.893 3.074a3.667 3.667 0 00-5.186 0L8 3.78l-.707-.706A3.668 3.668 0 002.107 8.26l.706.707L8 14.154l5.187-5.187.706-.707a3.667 3.667 0 000-5.186v0z",
384
- stroke: "currentColor"
385
- })));
386
- }
387
-
388
- var _g$2m, _defs$1t;
389
-
390
- function _extends$4m() { _extends$4m = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4m.apply(this, arguments); }
391
-
392
- function SvgInfo(props) {
393
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$4m({
394
- viewBox: "0 0 16 16",
395
- fill: "none",
396
- strokeLinecap: "round",
397
- strokeLinejoin: "round",
398
- width: "1em",
399
- height: "1em"
400
- }, props), _g$2m || (_g$2m = /*#__PURE__*/React__namespace.createElement("g", {
401
- clipPath: "url(#info_svg__clip0_8_5377)",
402
- stroke: "currentColor"
403
- }, /*#__PURE__*/React__namespace.createElement("path", {
404
- d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zm0-4V8m0-2.667h.007"
405
- }))), _defs$1t || (_defs$1t = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
406
- id: "info_svg__clip0_8_5377"
407
- }, /*#__PURE__*/React__namespace.createElement("path", {
408
- fill: "currentColor",
409
- d: "M0 0h16v16H0z"
410
- })))));
411
- }
412
-
413
- var _g$2l;
414
-
415
- function _extends$4l() { _extends$4l = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4l.apply(this, arguments); }
416
-
417
- function SvgLock(props) {
418
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$4l({
419
- viewBox: "0 0 16 16",
420
- fill: "none",
421
- strokeLinecap: "round",
422
- strokeLinejoin: "round",
423
- width: "1em",
424
- height: "1em"
425
- }, props), _g$2l || (_g$2l = /*#__PURE__*/React__namespace.createElement("g", {
426
- stroke: "currentColor"
427
- }, /*#__PURE__*/React__namespace.createElement("path", {
428
- d: "M12.667 7.333H3.333C2.597 7.333 2 7.93 2 8.668v4.667c0 .736.597 1.333 1.333 1.333h9.334c.736 0 1.333-.597 1.333-1.333V8.667c0-.737-.597-1.333-1.333-1.333z"
429
- }), /*#__PURE__*/React__namespace.createElement("path", {
430
- d: "M4.667 7.333V4.668a3.333 3.333 0 116.666 0v2.667"
431
- }))));
432
- }
433
-
434
- var _g$2h, _defs$1r;
435
-
436
- function _extends$47() { _extends$47 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$47.apply(this, arguments); }
437
-
438
- function SvgMinusCircle(props) {
439
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$47({
440
- viewBox: "0 0 16 16",
441
- fill: "none",
442
- strokeLinecap: "round",
443
- strokeLinejoin: "round",
444
- width: "1em",
445
- height: "1em"
446
- }, props), _g$2h || (_g$2h = /*#__PURE__*/React__namespace.createElement("g", {
447
- clipPath: "url(#minus-circle_svg__clip0_8_5970)",
448
- stroke: "currentColor"
449
- }, /*#__PURE__*/React__namespace.createElement("path", {
450
- d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zM5.333 8h5.334"
451
- }))), _defs$1r || (_defs$1r = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
452
- id: "minus-circle_svg__clip0_8_5970"
453
- }, /*#__PURE__*/React__namespace.createElement("path", {
454
- fill: "currentColor",
455
- d: "M0 0h16v16H0z"
456
- })))));
457
- }
458
-
459
- var _path$1M;
460
-
461
- function _extends$40() { _extends$40 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$40.apply(this, arguments); }
462
-
463
- function SvgPlus(props) {
464
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$40({
465
- viewBox: "0 0 16 16",
466
- fill: "none",
467
- strokeLinecap: "round",
468
- strokeLinejoin: "round",
469
- width: "1em",
470
- height: "1em"
471
- }, props), _path$1M || (_path$1M = /*#__PURE__*/React__namespace.createElement("path", {
472
- d: "M8 3.333v9.334M3.333 8h9.334",
473
- stroke: "currentColor"
474
- })));
475
- }
476
-
477
- var _g$2e, _defs$1o;
478
-
479
- function _extends$3$() { _extends$3$ = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3$.apply(this, arguments); }
480
-
481
- function SvgPlusCircle(props) {
482
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$3$({
483
- viewBox: "0 0 16 16",
484
- fill: "none",
485
- strokeLinecap: "round",
486
- strokeLinejoin: "round",
487
- width: "1em",
488
- height: "1em"
489
- }, props), _g$2e || (_g$2e = /*#__PURE__*/React__namespace.createElement("g", {
490
- clipPath: "url(#plus-circle_svg__clip0_8_5870)",
491
- stroke: "currentColor"
492
- }, /*#__PURE__*/React__namespace.createElement("path", {
493
- d: "M8 14.667A6.667 6.667 0 108 1.334a6.667 6.667 0 000 13.333zm0-9.334v5.334M5.333 8h5.334"
494
- }))), _defs$1o || (_defs$1o = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("clipPath", {
495
- id: "plus-circle_svg__clip0_8_5870"
496
- }, /*#__PURE__*/React__namespace.createElement("path", {
497
- fill: "currentColor",
498
- d: "M0 0h16v16H0z"
499
- })))));
500
- }
501
-
502
- var _path$1u;
503
-
504
- function _extends$3v() { _extends$3v = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3v.apply(this, arguments); }
505
-
506
- function SvgWarning(props) {
507
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$3v({
508
- viewBox: "0 0 16 16",
509
- fill: "none",
510
- strokeLinecap: "round",
511
- strokeLinejoin: "round",
512
- width: "1em",
513
- height: "1em"
514
- }, props), _path$1u || (_path$1u = /*#__PURE__*/React__namespace.createElement("path", {
515
- d: "M6.86 2.573L1.213 12a1.334 1.334 0 001.14 2h11.294a1.332 1.332 0 001.14-2L9.14 2.573a1.333 1.333 0 00-2.28 0v0zM8 6v2.667m0 2.667h.007",
516
- stroke: "currentColor"
517
- })));
518
- }
519
-
520
- var _path$18;
521
-
522
- function _extends$2V() { _extends$2V = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2V.apply(this, arguments); }
523
-
524
- function SvgTrash(props) {
525
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$2V({
526
- viewBox: "0 0 16 16",
527
- fill: "none",
528
- strokeLinecap: "round",
529
- strokeLinejoin: "round",
530
- width: "1em",
531
- height: "1em"
532
- }, props), _path$18 || (_path$18 = /*#__PURE__*/React__namespace.createElement("path", {
533
- d: "M2 4h12M5.333 4V2.667a1.333 1.333 0 011.334-1.333h2.666a1.333 1.333 0 011.334 1.333V4m2 0v9.334a1.333 1.333 0 01-1.334 1.333H4.667a1.333 1.333 0 01-1.334-1.333V4h9.334zm-6 3.333v4m2.666-4v4",
534
- stroke: "currentColor"
535
- })));
536
- }
537
-
538
- var _g$12;
539
-
540
- function _extends$1H() { _extends$1H = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1H.apply(this, arguments); }
541
-
542
- function SvgRestaurantMenu(props) {
543
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$1H({
544
- viewBox: "0 0 16 16",
545
- fill: "none",
546
- strokeLinecap: "round",
547
- strokeLinejoin: "round",
548
- width: "1em",
549
- height: "1em"
550
- }, props), _g$12 || (_g$12 = /*#__PURE__*/React__namespace.createElement("g", {
551
- stroke: "currentColor"
552
- }, /*#__PURE__*/React__namespace.createElement("path", {
553
- d: "M11.334.667l-8 2.666h8V.667zM3.333 3.333h9.333v11.333H3.333zM5.333 8h5.334m-5.334 2.333h1m2 0h2.334"
554
- }))));
555
- }
556
-
557
- var _path$x;
558
-
559
- function _extends$1q() { _extends$1q = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1q.apply(this, arguments); }
560
-
561
- function SvgDollarSign(props) {
562
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$1q({
563
- viewBox: "0 0 16 16",
564
- fill: "none",
565
- strokeLinecap: "round",
566
- strokeLinejoin: "round",
567
- width: "1em",
568
- height: "1em"
569
- }, props), _path$x || (_path$x = /*#__PURE__*/React__namespace.createElement("path", {
570
- d: "M8 .667v14.666m3.333-12h-5a2.333 2.333 0 100 4.667h3.334a2.333 2.333 0 010 4.667H4",
571
- stroke: "currentColor"
572
- })));
573
- }
574
-
575
- var _path$h, _path2$3;
576
-
577
- function _extends$D() { _extends$D = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$D.apply(this, arguments); }
578
-
579
- function SvgReviews(props) {
580
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$D({
581
- viewBox: "0 0 16 16",
582
- fill: "none",
583
- strokeLinecap: "round",
584
- strokeLinejoin: "round",
585
- width: "1em",
586
- height: "1em"
587
- }, props), _path$h || (_path$h = /*#__PURE__*/React__namespace.createElement("path", {
588
- d: "M14 7.667a5.587 5.587 0 01-.6 2.533 5.666 5.666 0 01-5.067 3.133 5.588 5.588 0 01-2.533-.6L2 14l1.267-3.8a5.586 5.586 0 01-.6-2.533A5.667 5.667 0 015.8 2.6 5.587 5.587 0 018.333 2h.334A5.654 5.654 0 0114 7.333v.334z",
589
- stroke: "currentColor"
590
- })), _path2$3 || (_path2$3 = /*#__PURE__*/React__namespace.createElement("path", {
591
- d: "M8.375 5.363a.2.2 0 01.358 0l.578 1.17a.2.2 0 00.15.11l1.292.189a.2.2 0 01.11.34l-.934.911a.2.2 0 00-.057.177l.22 1.286a.2.2 0 01-.29.21L8.647 9.15a.2.2 0 00-.186 0l-1.155.608a.2.2 0 01-.29-.211l.22-1.286a.2.2 0 00-.058-.177l-.934-.91a.2.2 0 01.11-.341l1.293-.19a.2.2 0 00.15-.109l.578-1.17z",
592
- fill: "currentColor"
593
- })));
594
- }
595
-
596
- /*! *****************************************************************************
597
- Copyright (c) Microsoft Corporation.
598
-
599
- Permission to use, copy, modify, and/or distribute this software for any
600
- purpose with or without fee is hereby granted.
601
-
602
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
603
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
604
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
605
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
606
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
607
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
608
- PERFORMANCE OF THIS SOFTWARE.
609
- ***************************************************************************** */
610
-
611
- var __assign = function() {
612
- __assign = Object.assign || function __assign(t) {
613
- for (var s, i = 1, n = arguments.length; i < n; i++) {
614
- s = arguments[i];
615
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
616
- }
617
- return t;
618
- };
619
- return __assign.apply(this, arguments);
620
- };
621
-
622
- function __rest(s, e) {
623
- var t = {};
624
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
625
- t[p] = s[p];
626
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
627
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
628
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
629
- t[p[i]] = s[p[i]];
630
- }
631
- return t;
632
- }
633
-
634
- var _path$1D;
635
-
636
- function _extends$3H() { _extends$3H = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3H.apply(this, arguments); }
637
-
638
- function SvgUser(props) {
639
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$3H({
640
- viewBox: "0 0 16 16",
641
- fill: "none",
642
- strokeLinecap: "round",
643
- strokeLinejoin: "round",
644
- width: "1em",
645
- height: "1em"
646
- }, props), _path$1D || (_path$1D = /*#__PURE__*/React__namespace.createElement("path", {
647
- d: "M13.333 14v-1.333A2.667 2.667 0 0010.667 10H5.333a2.667 2.667 0 00-2.666 2.667V14M8 7.333A2.667 2.667 0 108 2a2.667 2.667 0 000 5.333z",
648
- stroke: "currentColor"
649
- })));
650
- }
651
-
652
- var useIconStyles = core.makeStyles(function (_a) {
653
- var spacing = _a.spacing, palette = _a.palette;
654
- var getFontSize = function (_a) {
655
- var size = _a.size;
656
- var sizes = {
657
- inherit: 'inherit',
658
- small: spacing(1.5),
659
- medium: spacing(2),
660
- large: spacing(2.5),
661
- 'extra-large': spacing(3),
662
- };
663
- return size ? sizes[size] : 'inherit';
664
- };
665
- var getColor = function (props) {
666
- var semanticColors = ['primary', 'secondary', 'info', 'success', 'warning', 'error'];
667
- var value = 'inherit';
668
- if (props.color) {
669
- if (semanticColors.includes(props.color.split('.')[0])) {
670
- var _a = props.color.split('.'), color = _a[0], _b = _a[1], variant = _b === void 0 ? 'main' : _b;
671
- // @ts-expect-error - todo.
672
- value = palette[color][variant];
673
- }
674
- else if (props.color.search(/^(rgb|hsla|#)/) !== -1) {
675
- value = props.color;
676
- }
677
- }
678
- return value;
679
- };
680
- return {
681
- root: {
682
- color: getColor,
683
- fontSize: getFontSize,
684
- strokeWidth: '1.3px',
685
- },
686
- };
29
+ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
30
+
31
+ var Button = React.forwardRef(function (props, ref) {
32
+ var _a = props.variation, variation = _a === void 0 ? 'primary' : _a, muiProps = tslib.__rest(props, ["variation"]);
33
+ var variationProps = {};
34
+ switch (variation) {
35
+ case 'primary':
36
+ variationProps.variant = 'contained';
37
+ variationProps.color = 'primary';
38
+ break;
39
+ case 'secondary':
40
+ variationProps.variant = 'outlined';
41
+ variationProps.color = 'primary';
42
+ break;
43
+ }
44
+ return React.createElement(core.Button, tslib.__assign({}, variationProps, muiProps, { ref: ref }));
687
45
  });
46
+ Button.displayName = 'Button';
688
47
 
689
- var classnames$1 = {exports: {}};
690
-
691
- /*!
692
- Copyright (c) 2018 Jed Watson.
693
- Licensed under the MIT License (MIT), see
694
- http://jedwatson.github.io/classnames
695
- */
696
-
697
- (function (module) {
698
- /* global define */
699
-
700
- (function () {
701
-
702
- var hasOwn = {}.hasOwnProperty;
703
-
704
- function classNames() {
705
- var classes = [];
706
-
707
- for (var i = 0; i < arguments.length; i++) {
708
- var arg = arguments[i];
709
- if (!arg) continue;
710
-
711
- var argType = typeof arg;
712
-
713
- if (argType === 'string' || argType === 'number') {
714
- classes.push(arg);
715
- } else if (Array.isArray(arg)) {
716
- if (arg.length) {
717
- var inner = classNames.apply(null, arg);
718
- if (inner) {
719
- classes.push(inner);
720
- }
721
- }
722
- } else if (argType === 'object') {
723
- if (arg.toString === Object.prototype.toString) {
724
- for (var key in arg) {
725
- if (hasOwn.call(arg, key) && arg[key]) {
726
- classes.push(key);
727
- }
728
- }
729
- } else {
730
- classes.push(arg.toString());
731
- }
732
- }
733
- }
734
-
735
- return classes.join(' ');
736
- }
737
-
738
- if (module.exports) {
739
- classNames.default = classNames;
740
- module.exports = classNames;
741
- } else {
742
- window.classNames = classNames;
743
- }
744
- }());
745
- }(classnames$1));
746
-
747
- var classNames$1 = classnames$1.exports;
748
-
749
- var iconStaticClassName = 'pop-icon';
750
- var Icon = function (props) {
751
- var icon = props.icon, className = props.className, restProps = __rest(props, ["icon", "className"]);
752
- var hasAccessibleAttr = Boolean(restProps['aria-describedby'] || restProps['aria-label']);
753
- if (!hasAccessibleAttr && restProps['aria-hidden'] === undefined) {
754
- restProps['aria-hidden'] = true;
755
- }
756
- var classes = useIconStyles(props);
757
- var isValid = true;
758
- if (!icon || (typeof icon === 'function' && icon({}) === undefined)) {
759
- isValid = false;
760
- }
761
- return isValid
762
- ? React.createElement(icon, __assign({ className: classNames$1([classes.root, iconStaticClassName, className]) }, restProps))
763
- : null;
764
- };
765
- Icon.defaultProps = {
766
- size: 'inherit',
767
- color: 'inherit',
768
- };
769
- Icon.displayName = 'Icon';
770
-
771
- var LoadingStatus;
772
- (function (LoadingStatus) {
773
- LoadingStatus["ERROR"] = "ERROR";
774
- LoadingStatus["LOADED"] = "LOADED";
775
- LoadingStatus["PENDING"] = "PENDING";
776
- })(LoadingStatus || (LoadingStatus = {}));
777
- var useImgProps = function (avatarProps) {
778
- var _a = React__default['default'].useState(LoadingStatus.PENDING), loaded = _a[0], setLoaded = _a[1];
779
- var imgProps = __assign(__assign({}, avatarProps.imgProps), { onLoad: function (event) {
780
- var _a, _b;
781
- setLoaded(LoadingStatus.LOADED);
782
- (_b = (_a = avatarProps.imgProps) === null || _a === void 0 ? void 0 : _a.onLoad) === null || _b === void 0 ? void 0 : _b.call(_a, event);
783
- } });
784
- return { imgProps: imgProps, loaded: loaded };
785
- };
786
-
787
- var getAvatarDimensions = function (theme, props) {
788
- var factors = {
789
- 'extra-small': 3,
790
- small: 4,
791
- medium: 5,
792
- large: 6,
793
- 'extra-large': 12.5,
794
- };
795
- var sizeFactor = factors[props.size || 'medium'];
796
- return theme.spacing(sizeFactor);
797
- };
798
- var getAvatarFontSize = function (props) {
799
- var fontSizes = {
800
- 'extra-small': '0.75rem',
801
- small: '1rem',
802
- medium: '1rem',
803
- large: '1.25rem',
804
- 'extra-large': '3.5rem',
805
- };
806
- return fontSizes[props.size];
807
- };
808
- var useAvatarStyles = styles.makeStyles(function (theme) { return ({
809
- root: function (props) { return ({
810
- width: getAvatarDimensions(theme, props),
811
- height: getAvatarDimensions(theme, props),
812
- fontSize: getAvatarFontSize(props),
813
- backgroundColor: props.loaded === LoadingStatus.LOADED ? 'transparent' : props.background,
814
- color: theme.palette.getContrastText(props.background),
815
- objectFit: props.fit,
816
- }); },
817
- fallback: function (props) { return ({
818
- fontSize: getAvatarDimensions(theme, props),
819
- strokeWidth: 1,
820
- }); },
821
- }); });
822
-
823
- var Avatar = React.forwardRef(function (props, ref) {
824
- var children = props.children, src = props.src, alt = props.alt, fallback = props.fallback, muiProps = __rest(props, ["children", "src", "alt", "fallback"]);
825
- var _a = useImgProps(props), imgProps = _a.imgProps, loaded = _a.loaded;
826
- var classes = useAvatarStyles(__assign(__assign({}, props), { loaded: loaded }));
827
- var displayAltTextFallback = src && alt;
828
- var displayNoFallback = fallback === 'none';
829
- var displayCustomFallback = fallback !== 'none' && typeof fallback !== 'undefined';
830
- var Fallback;
831
- if (displayAltTextFallback) {
832
- Fallback = null;
833
- }
834
- else if (displayNoFallback) {
835
- Fallback = ' ';
836
- }
837
- else if (displayCustomFallback) {
838
- Fallback = fallback;
839
- }
840
- else {
841
- Fallback = React__default['default'].createElement(Icon, { icon: SvgUser, className: classes.fallback });
842
- }
843
- return (React__default['default'].createElement(MuiAvatar__default['default'], __assign({ ref: ref, classes: { root: classes.root }, src: src, alt: alt }, muiProps, { imgProps: imgProps }), children || Fallback));
844
- });
845
- Avatar.defaultProps = {
846
- size: 'medium',
847
- fit: 'cover',
848
- background: '#E0E0E0',
849
- };
850
- Avatar.displayName = 'Avatar';
851
-
852
- styles.makeStyles(function (theme) { return ({
853
- circle: {
854
- backgroundColor: theme.palette.grey[300],
855
- borderRadius: '50%',
856
- height: theme.spacing(0.65),
857
- width: theme.spacing(0.65),
858
- margin: theme.spacing(1) + "px 0 " + theme.spacing(1) + "px " + theme.spacing(1) + "px",
859
- },
860
- container: {
861
- border: "1px solid " + theme.palette.secondary.light,
862
- borderRadius: theme.spacing(0.5),
863
- flexGrow: 1,
864
- },
865
- titleBar: {
866
- display: 'flex',
867
- flexDirection: 'row',
868
- borderBottom: "1px solid " + theme.palette.secondary.light,
869
- width: '100%',
870
- },
871
- }); });
872
-
873
- styles.makeStyles(function () { return ({
874
- root: {
875
- minWidth: 'unset',
876
- },
877
- label: {
878
- textTransform: function (_a) {
879
- var textTransform = _a.textTransform;
880
- return textTransform;
881
- },
882
- },
883
- }); });
884
-
885
- var Checkbox$1 = React.forwardRef(function (props, ref) {
886
- var label = props.label, disabled = props.disabled, LabelProps = props.LabelProps, muiProps = __rest(props, ["label", "disabled", "LabelProps"]);
887
- var control = React__default['default'].createElement(MuiCheckbox__default['default'], __assign({ disabled: label ? undefined : disabled }, muiProps));
888
- return label ? (React__default['default'].createElement(FormControlLabel__default['default'], __assign({ disabled: disabled, inputRef: ref, control: control, label: label }, LabelProps))) : (control);
889
- });
890
- Checkbox$1.displayName = 'Checkbox';
891
-
892
- var getBackground = function (theme) { return function (props) {
893
- var variant = props.variant, severity = props.severity;
894
- var background = theme.palette.grey[100];
895
- var backgrounds = {
896
- outlined: 'none',
897
- error: 'error.main',
898
- warning: 'warning.main',
899
- info: 'info.light',
900
- success: 'success.light',
901
- };
902
- if (variant === 'outlined') {
903
- background = backgrounds[variant];
904
- }
905
- else if (severity) {
906
- var _a = backgrounds[severity].split('.'), color = _a[0], colorVariant = _a[1];
907
- // @ts-expect-error - todo.
908
- background = theme.palette[color][colorVariant];
909
- }
910
- return background;
911
- }; };
912
- var getColor = function (theme) { return function (props) {
913
- var variant = props.variant, severity = props.severity;
914
- var textColor;
915
- if (variant === 'outlined' && severity) {
916
- var textColors = {
917
- error: theme.palette.error.main,
918
- info: theme.palette.info.main,
919
- warning: theme.palette.warning.dark,
920
- success: theme.palette.success.dark,
921
- };
922
- textColor = textColors[severity];
923
- }
924
- else if (variant === 'outlined' && !severity) {
925
- textColor = theme.palette.grey[700];
926
- }
927
- else if ((variant === 'default' || variant === undefined) && severity) {
928
- var textColors = {
929
- error: theme.palette.common.white,
930
- info: theme.palette.secondary.main,
931
- warning: theme.palette.secondary.main,
932
- success: theme.palette.secondary.main,
933
- };
934
- textColor = textColors[severity];
935
- }
936
- return textColor;
937
- }; };
938
- var getBorder = function (theme) { return function (props) {
939
- var variant = props.variant, severity = props.severity;
940
- var borderColor;
941
- if (variant === 'outlined' && severity) {
942
- var borderColors = {
943
- error: theme.palette.error.main,
944
- info: theme.palette.info.main,
945
- warning: theme.palette.warning.dark,
946
- success: theme.palette.success.dark,
947
- };
948
- borderColor = borderColors[severity];
949
- }
950
- return borderColor;
951
- }; };
952
- // using `any` here is a bit of cheating but it doesn't matter since this doesn't depend on
953
- // any component-specific props
954
- styles.makeStyles(function (theme) { return ({
955
- root: {
956
- background: getBackground(theme),
957
- color: getColor(theme),
958
- borderColor: getBorder(theme),
959
- borderRadius: theme.spacing(0.5),
960
- },
961
- icon: {
962
- color: 'inherit',
963
- height: theme.spacing(2),
964
- width: theme.spacing(2),
965
- },
966
- deleteIcon: {
967
- color: theme.palette.grey[500],
968
- },
969
- }); });
970
-
971
- var defaultTypographyProps = {
972
- variant: 'body1',
973
- };
974
-
975
- var weights = {
976
- regular: 400,
977
- medium: 500,
978
- 'semi-bold': 600,
979
- bold: 700,
980
- };
981
- var getCustomColor = function (theme, color) {
982
- var isCommonColor = color && ['white', 'black'].includes(color);
983
- var isGreyColor = color && color.match(/^grey\.\d{3}/);
984
- var isSemanticColor = color && color.match(/(primary|secondary|info|success|error|warning).?(light|dark)?/);
985
- var isTextColor = color && ['textPrimary', 'textSecondary'].includes(color);
986
- switch (true) {
987
- case isCommonColor:
988
- // @ts-expect-error - todo.
989
- return theme.palette.common[color];
990
- case Boolean(isGreyColor):
991
- var scale = color.split('.')[1];
992
- // @ts-expect-error - todo.
993
- return theme.palette.grey[scale] || theme.palette.grey[900];
994
- case Boolean(isSemanticColor):
995
- var _a = color.split('.'), paletteKey = _a[0], _b = _a[1], variant = _b === void 0 ? 'main' : _b;
996
- // @ts-expect-error - todo.
997
- return theme.palette[paletteKey][variant];
998
- case isTextColor:
999
- // @ts-expect-error - todo.
1000
- return theme.palette.text[color.slice(4).toLowerCase()];
1001
- default:
1002
- return undefined;
1003
- }
1004
- };
1005
- var useTypographyStyles = styles.makeStyles(function (theme) {
1006
- var _a;
1007
- return ({
1008
- root: (_a = {},
1009
- _a["& ." + iconStaticClassName] = {
1010
- position: 'relative',
1011
- top: '0.125em',
1012
- padding: '0 0.125em',
1013
- boxSizing: 'content-box',
1014
- },
1015
- _a.fontFamily = theme.typography.fontFamily,
1016
- _a.fontWeight = function (_a) {
1017
- var variant = _a.variant, weight = _a.weight;
1018
- return (weight ? weights[weight] : theme.typography[variant].fontWeight);
1019
- },
1020
- _a.fontSize = function (_a) {
1021
- var variant = _a.variant;
1022
- return theme.typography[variant].fontSize;
1023
- },
1024
- _a.lineHeight = function (_a) {
1025
- var variant = _a.variant;
1026
- return theme.typography[variant].lineHeight;
1027
- },
1028
- _a.textTransform = function (_a) {
1029
- var variant = _a.variant;
1030
- return theme.typography[variant].textTransform;
1031
- },
1032
- _a.color = function (_a) {
1033
- var color = _a.color, variant = _a.variant;
1034
- return (color && getCustomColor(theme, color)) || theme.typography[variant].color;
1035
- },
1036
- _a),
1037
- caption: {
1038
- display: 'inline',
1039
- },
1040
- overline: {
1041
- display: 'inline',
1042
- },
1043
- });
48
+ var useMenuItemStyles = styles.makeStyles(function (theme) {
49
+ var _a, _b;
50
+ return ({
51
+ cardActionArea: (_a = {
52
+ display: 'flex',
53
+ gridGap: 16,
54
+ height: '100%'
55
+ },
56
+ _a[theme.breakpoints.up('lg')] = {
57
+ border: '1px solid #E0E0E0',
58
+ borderRadius: theme.spacing(2),
59
+ padding: theme.spacing(2),
60
+ },
61
+ _a),
62
+ card: (_b = {},
63
+ _b[theme.breakpoints.down('md')] = {
64
+ '&:after': {
65
+ content: '""',
66
+ position: 'absolute',
67
+ backgroundColor: '#E0E0E0',
68
+ width: '100%',
69
+ height: 1,
70
+ bottom: -16,
71
+ left: 0,
72
+ },
73
+ },
74
+ _b.height = 185,
75
+ _b.position = 'relative',
76
+ _b.overflow = 'visible',
77
+ _b),
78
+ cardTitle: {
79
+ flexGrow: 1,
80
+ fontWeight: 500,
81
+ fontSize: 18,
82
+ lineHeight: '27px',
83
+ color: theme.palette.grey[900],
84
+ '-webkit-line-clamp': 2,
85
+ display: '-webkit-box',
86
+ '-webkit-box-orient': 'vertical',
87
+ textOverflow: 'ellipsis',
88
+ overflow: 'hidden',
89
+ },
90
+ cardDescription: {
91
+ fontWeight: 400,
92
+ fontSize: 14,
93
+ lineHeight: '20px',
94
+ margin: theme.spacing(0.5, 0, 1, 0),
95
+ color: theme.palette.grey[800],
96
+ '-webkit-line-clamp': 2,
97
+ display: '-webkit-box',
98
+ '-webkit-box-orient': 'vertical',
99
+ textOverflow: 'ellipsis',
100
+ overflow: 'hidden',
101
+ },
102
+ outOfStockTag: {
103
+ minWidth: '90px',
104
+ marginLeft: theme.spacing(1),
105
+ display: 'inline-block',
106
+ verticalAlign: 'bottom',
107
+ },
108
+ });
1044
109
  });
1045
110
 
1046
- var Typography = function (props) {
1047
- props.weight; props.color; var TypographyRef = props.TypographyRef, restProps = __rest(props, ["weight", "color", "TypographyRef"]);
1048
- var classes = useTypographyStyles(__assign({}, props));
1049
- var variantMapping = { subtitle1: 'p' };
1050
- return React__default['default'].createElement(core.Typography, __assign({ classes: classes, variantMapping: variantMapping, ref: TypographyRef }, restProps));
1051
- };
1052
- Typography.displayName = 'Typography';
1053
- Typography.defaultProps = defaultTypographyProps;
1054
-
1055
- var getFadeStop = function (_a, typographyVariant) {
1056
- var typography = _a.typography;
1057
- // @ts-expect-error - todo.
1058
- return !isNaN(Number(typography[typographyVariant].lineHeight))
1059
- ? // @ts-expect-error - todo.
1060
- typography[typographyVariant].lineHeight + "rem"
1061
- : // @ts-expect-error - todo.
1062
- typography[typographyVariant].lineHeight;
1063
- };
1064
- core.makeStyles(function (theme) { return ({
1065
- overlay: {
1066
- position: 'absolute',
1067
- top: 0,
1068
- left: 0,
1069
- height: '100%',
1070
- width: '100%',
1071
- background: function (props) { return "linear-gradient(to top, white, #FFF0 " + getFadeStop(theme, props.typographyVariant) + ")"; },
1072
- },
111
+ var useStyles$6 = core.makeStyles(function () { return ({
112
+ img: {
113
+ objectFit: 'cover',
114
+ width: '100%',
115
+ height: '100%',
116
+ },
1073
117
  }); });
1074
-
1075
- var SemanticColors;
1076
- (function (SemanticColors) {
1077
- SemanticColors["PRIMARY_MAIN"] = "primary.main";
1078
- SemanticColors["PRIMARY_DARK"] = "primary.dark";
1079
- SemanticColors["PRIMARY_LIGHT"] = "primary.light";
1080
- SemanticColors["SECONDARY_MAIN"] = "secondary.main";
1081
- SemanticColors["SECONDARY_DARK"] = "secondary.dark";
1082
- SemanticColors["SECONDARY_LIGHT"] = "secondary.light";
1083
- })(SemanticColors || (SemanticColors = {}));
1084
- core.makeStyles(function (theme) { return ({
1085
- dividerRoot: {
1086
- gap: theme.spacing(2),
1087
- },
1088
- textRoot: {
1089
- color: function (props) {
1090
- var textColor = props.textColor;
1091
- if (Object.values(SemanticColors).includes(textColor)) {
1092
- var _a = textColor.split('.'), semanticColor = _a[0], shade = _a[1];
1093
- // @ts-expect-error - todo.
1094
- return theme.palette[semanticColor][shade];
1095
- }
1096
- else if (textColor) {
1097
- return textColor;
1098
- }
1099
- else {
1100
- return 'black';
1101
- }
1102
- },
1103
- textTransform: function (props) { return props.textTransform; },
1104
- },
1105
- dividerLine: {
1106
- backgroundColor: function (props) {
1107
- var dividerColor = props.dividerColor;
1108
- if (Object.values(SemanticColors).includes(dividerColor)) {
1109
- var _a = dividerColor.split('.'), semanticColor = _a[0], shade = _a[1];
1110
- // @ts-expect-error - todo.
1111
- return theme.palette[semanticColor][shade];
1112
- }
1113
- else if (dividerColor) {
1114
- return dividerColor;
1115
- }
1116
- else {
1117
- return theme.palette.grey[500];
1118
- }
1119
- },
1120
- },
1121
- }); });
1122
-
1123
- var IconButton = React.forwardRef(function (props, ref) {
1124
- return React__default['default'].createElement(MuiIconButton__default['default'], __assign({ ref: ref }, props));
1125
- });
1126
- IconButton.displayName = 'IconButton';
1127
- IconButton.defaultProps = {
1128
- color: 'secondary',
118
+ var MenuItemImg = function (props) {
119
+ var _a = props.image, image = _a === void 0 ? {} : _a;
120
+ var src = image.src;
121
+ var classes = useStyles$6();
122
+ if (!src) {
123
+ return null;
124
+ }
125
+ return (React.createElement(core.Box, { width: 125, height: "100%", borderRadius: 16, overflow: "hidden", flexShrink: 0 }, React.createElement("img", { src: src, alt: "", className: classes.img })));
1129
126
  };
1130
127
 
1131
- var useLinkStyles = styles.makeStyles(function (theme) { return ({
1132
- root: function (props) {
1133
- var _a;
1134
- return (__assign(__assign({ display: 'flex' }, (props.color === undefined && { color: theme.palette.info.main })), (_a = {}, _a["& ." + iconStaticClassName] = {
1135
- alignSelf: 'center',
1136
- }, _a)));
1137
- },
1138
- }); });
1139
-
1140
- // eslint-disable-next-line react/display-name -- false positive
1141
- var Link = React.forwardRef(function (props, ref) {
1142
- var children = props.children, muiProps = __rest(props, ["children"]);
1143
- var classes = useLinkStyles(props);
1144
- return (React__default['default'].createElement(core.Link, __assign({ ref: ref, classes: { root: classes.root } }, muiProps), children));
1145
- });
1146
- Link.defaultProps = {
1147
- variant: 'body1',
1148
- };
1149
- Link.displayName = 'Link';
1150
-
1151
- var useStyles$4$1 = core.makeStyles(function (_a) {
1152
- var spacing = _a.spacing;
1153
- return ({
1154
- root: {
1155
- '&:last-child': {
1156
- marginBottom: 0,
1157
- },
1158
- marginBottom: spacing(4),
1159
- padding: spacing(4),
1160
- },
1161
- });
1162
- });
1163
- var Paper = React.forwardRef(function (props, ref) {
1164
- var legacyStyles = props.legacyStyles, restProps = __rest(props, ["legacyStyles"]);
1165
- var classes = useStyles$4$1(props);
1166
- return React__default['default'].createElement(core.Paper, __assign({}, ref, { classes: __assign({}, (legacyStyles && classes)) }, restProps));
1167
- });
1168
- Paper.displayName = 'Paper';
1169
- Paper.defaultProps = {
1170
- legacyStyles: false,
128
+ var MenuItemInfo = function (props) {
129
+ return (React.createElement(core.Box, { display: "flex", flexGrow: 1, flexDirection: "column", height: "100%" }, props.children));
1171
130
  };
1172
131
 
1173
- var Radio$1 = React.forwardRef(function (props, ref) {
1174
- var label = props.label, disabled = props.disabled, LabelProps = props.LabelProps, muiProps = __rest(props, ["label", "disabled", "LabelProps"]);
1175
- var control = React__default['default'].createElement(MuiRadio__default['default'], __assign({ disabled: label ? undefined : disabled }, muiProps));
1176
- return label ? (React__default['default'].createElement(FormControlLabel__default['default'], __assign({ disabled: disabled, inputRef: ref, control: control, label: label }, LabelProps))) : (control);
1177
- });
1178
- Radio$1.displayName = 'Radio';
1179
-
1180
- styles.makeStyles(function () { return ({
1181
- textfield: {
1182
- background: function (props) { return (props.backgroundTransparency ? '#FFFFFF44' : 'none'); },
1183
- borderTopLeftRadius: 4,
1184
- borderBottomLeftRadius: 4,
1185
- '& fieldset': {
1186
- borderRight: 'none',
1187
- borderTopRightRadius: 0,
1188
- borderBottomRightRadius: 0,
1189
- },
1190
- },
1191
- button: {
1192
- borderTopLeftRadius: 0,
1193
- borderBottomLeftRadius: 0,
1194
- alignSelf: 'stretch',
1195
- },
1196
- input: {
1197
- color: function (props) { return props.inputTextColor || 'inherit'; },
1198
- '&$focused fieldset': {
1199
- top: -4,
1200
- },
1201
- },
1202
- focused: {},
1203
- }); });
1204
-
1205
- var useSwitchStyles = styles.makeStyles(function (theme) { return ({
1206
- checked: {
1207
- '& $thumb': {
1208
- background: theme.palette.success.main,
1209
- },
1210
- '&& + $track': {
1211
- backgroundColor: theme.palette.success.main,
1212
- },
1213
- },
1214
- thumb: {},
1215
- track: {},
1216
- }); });
1217
-
1218
- var Switch$1 = React.forwardRef(function (props, ref) {
1219
- var label = props.label, disabled = props.disabled, LabelProps = props.LabelProps, muiProps = __rest(props, ["label", "disabled", "LabelProps"]);
1220
- var classes = useSwitchStyles(props);
1221
- var control = React__default['default'].createElement(MuiSwitch__default['default'], __assign({ classes: classes, disabled: label ? undefined : disabled }, muiProps));
1222
- return label ? (React__default['default'].createElement(FormControlLabel__default['default'], __assign({ disabled: disabled, inputRef: ref, control: control, label: label }, LabelProps))) : (control);
1223
- });
1224
- Switch$1.displayName = 'Switch';
1225
-
1226
- var useToggleButtonStyles = styles.makeStyles(function (theme) { return ({
1227
- root: {
1228
- color: theme.palette.text.primary,
1229
- },
1230
- selected: {
1231
- '&&': {
1232
- '&:hover': {
1233
- backgroundColor: function (props) { return theme.palette[props.color || 'primary'].dark; },
1234
- },
1235
- backgroundColor: function (props) { return theme.palette[props.color || 'primary'].main; },
1236
- color: 'white',
1237
- },
1238
- },
1239
- }); });
1240
-
1241
- var ToggleButton = React.forwardRef(function (props, ref) {
1242
- var children = props.children, muiProps = __rest(props, ["children"]);
1243
- var classes = useToggleButtonStyles(props);
1244
- return (React__default['default'].createElement(MuiToggleButton__default['default'], __assign({ ref: ref, classes: {
1245
- root: classes.root,
1246
- selected: classes.selected,
1247
- } }, muiProps), children));
1248
- });
1249
- ToggleButton.defaultProps = {
1250
- color: 'primary',
1251
- };
1252
- ToggleButton.displayName = 'ToggleButton';
1253
-
1254
- var useToggleButtonGroupStyles = styles.makeStyles(function (theme) { return ({
1255
- root: {
1256
- '&&': {
1257
- backgroundColor: theme.palette.grey[300],
1258
- },
1259
- },
1260
- }); });
1261
-
1262
- var ToggleButtonGroup = React.forwardRef(function (props, ref) {
1263
- var children = props.children, _a = props.color, color = _a === void 0 ? 'primary' : _a, muiProps = __rest(props, ["children", "color"]);
1264
- var classes = useToggleButtonGroupStyles(props);
1265
- var childrenWithProps = React__default['default'].Children.map(children, function (child) {
1266
- if (!React__default['default'].isValidElement(child)) {
1267
- return null;
1268
- }
1269
- return React__default['default'].cloneElement(child, { color: color });
1270
- });
1271
- return (React__default['default'].createElement(MuiToggleButtonGroup__default['default'], __assign({ ref: ref, classes: { root: classes.root } }, muiProps), childrenWithProps));
1272
- });
1273
- ToggleButtonGroup.displayName = 'ToggleButtonGroup';
1274
-
1275
- var useTooltipStyles = styles.makeStyles(function (_a) {
1276
- var typography = _a.typography;
1277
- return ({
1278
- tooltip: {
1279
- fontSize: typography.pxToRem(16),
1280
- },
1281
- });
1282
- });
1283
-
1284
- var Tooltip = React.forwardRef(function (props, ref) {
1285
- var classes = useTooltipStyles(props);
1286
- return React__default['default'].createElement(MuiTooltip__default['default'], __assign({ ref: ref, classes: classes }, props));
1287
- });
1288
- Tooltip.displayName = 'Tooltip';
1289
-
1290
- core.makeStyles(function () { return ({
1291
- root: {
1292
- height: 56,
1293
- },
1294
- }); });
1295
- core.makeStyles(function (theme) { return ({
1296
- root: {
1297
- height: '100%',
1298
- width: 'min-content',
1299
- borderRadius: theme.spacing(1),
1300
- },
1301
- input: {
1302
- '&::-webkit-clear-button, &::-webkit-outer-spin-button, &::-webkit-inner-spin-button': {
1303
- display: 'none',
1304
- },
1305
- '-moz-appearance': 'textfield',
1306
- minWidth: 40,
1307
- padding: 0,
1308
- textAlign: 'center',
1309
- },
1310
- adornedStart: {
1311
- padding: 0,
1312
- },
1313
- adornedEnd: {
1314
- padding: 0,
1315
- },
1316
- }); });
1317
-
1318
- core.makeStyles(function () { return ({
1319
- root: {
1320
- display: 'flex',
1321
- flexDirection: 'column',
1322
- alignItems: 'center',
1323
- gridGap: 16,
1324
- },
1325
- }); });
1326
-
1327
- var FollowerAuthenticationDialogContext = React.createContext(null);
1328
- FollowerAuthenticationDialogContext.Provider;
1329
-
1330
- core.makeStyles(function () { return ({
1331
- form: {
1332
- display: 'flex',
1333
- flexDirection: 'column',
1334
- alignItems: 'center',
1335
- width: '100%',
1336
- gridGap: 16,
1337
- },
1338
- }); });
1339
-
1340
- core.makeStyles(function () { return ({
1341
- main: {
1342
- width: '100%',
1343
- display: 'flex',
1344
- flexDirection: 'column',
1345
- gridGap: 16,
1346
- },
1347
- }); });
1348
-
1349
- core.makeStyles(function () { return ({
1350
- root: {
1351
- position: 'absolute',
1352
- top: 0,
1353
- right: 0,
1354
- },
1355
- }); });
1356
-
1357
- var ReactionCounter = function (props) {
1358
- var count = props.count, icon = props.icon, label = props.label;
1359
- return (React__default['default'].createElement(core.Box, { display: "flex", alignItems: "center", gridGap: 6, color: "grey.900" },
1360
- React__default['default'].createElement(Icon, { icon: icon, size: "large", color: "inherit", "aria-label": label }),
1361
- React__default['default'].createElement(Typography, { variant: "body2", color: "grey.900" }, count)));
132
+ var ReactionCounter = function (props) {
133
+ var count = props.count, icon = props.icon, label = props.label;
134
+ return (React.createElement(commonUi.Box, { display: "flex", alignItems: "center", gridGap: 6, color: "grey.900" },
135
+ React.createElement(commonUi.Icon, { icon: icon, size: "large", color: "inherit", "aria-label": label }),
136
+ React.createElement(commonUi.Typography, { variant: "body2", color: "grey.900" }, count)));
1362
137
  };
1363
138
 
1364
- var ReactionCounterGroup = function (props) {
1365
- var children = props.children;
1366
- return (React__default['default'].createElement(core.Box, { display: "flex", gridGap: 16 }, children));
139
+ var ReactionCounterGroup = function (props) {
140
+ var children = props.children;
141
+ return (React.createElement(commonUi.Box, { display: "flex", gridGap: 16 }, children));
1367
142
  };
1368
143
 
1369
- var MenuItemReactions = function (props) {
1370
- var likeCount = props.likeCount, reviewCount = props.reviewCount;
1371
- var showLikes = likeCount ? likeCount > 0 : false;
1372
- var showReviews = reviewCount ? reviewCount > 0 : false;
1373
- return (React__default['default'].createElement(ReactionCounterGroup, null,
1374
- showLikes && React__default['default'].createElement(ReactionCounter, { icon: SvgHeart, count: likeCount !== null && likeCount !== void 0 ? likeCount : 0, label: "likes" }),
1375
- showReviews && React__default['default'].createElement(ReactionCounter, { icon: SvgReviews, count: reviewCount !== null && reviewCount !== void 0 ? reviewCount : 0, label: "reviews" })));
144
+ var MenuItemReactions = function (props) {
145
+ var likeCount = props.likeCount, reviewCount = props.reviewCount;
146
+ var showLikes = likeCount ? likeCount > 0 : false;
147
+ var showReviews = reviewCount ? reviewCount > 0 : false;
148
+ return (React.createElement(ReactionCounterGroup, null,
149
+ showLikes && React.createElement(ReactionCounter, { icon: webIcons.Heart, count: likeCount !== null && likeCount !== void 0 ? likeCount : 0, label: "likes" }),
150
+ showReviews && React.createElement(ReactionCounter, { icon: webIcons.Reviews, count: reviewCount !== null && reviewCount !== void 0 ? reviewCount : 0, label: "reviews" })));
1376
151
  };
1377
152
 
1378
- var useStyles$5 = core.makeStyles(function (_a) {
1379
- var palette = _a.palette, spacing = _a.spacing;
1380
- return ({
1381
- plusIcon: {
1382
- height: '100%',
1383
- padding: spacing(0.25),
1384
- background: function (props) { return (props.available ? palette.info.main : 'none'); },
1385
- color: function (props) { return (props.available ? palette.info.contrastText : palette.warning.main); },
1386
- borderRadius: '30px',
1387
- marginRight: spacing(1),
1388
- },
1389
- });
1390
- });
1391
- var MenuItemPrice = function (props) {
1392
- var classes = useStyles$5(props);
1393
- return (React__default['default'].createElement(core.Box, { display: "flex", alignItems: "center" },
1394
- React__default['default'].createElement(core.Box, { display: "flex", className: classes.plusIcon },
1395
- React__default['default'].createElement(Icon, { icon: props.available ? SvgPlus : SvgLock, size: "medium" })),
1396
- React__default['default'].createElement(core.Typography, null, props.price)));
153
+ var useStyles$5 = core.makeStyles(function (_a) {
154
+ var palette = _a.palette, spacing = _a.spacing;
155
+ return ({
156
+ plusIcon: {
157
+ height: '100%',
158
+ padding: spacing(0.25),
159
+ background: function (props) { return (props.available ? palette.info.main : 'none'); },
160
+ color: function (props) { return (props.available ? palette.info.contrastText : palette.warning.main); },
161
+ borderRadius: '30px',
162
+ marginRight: spacing(1),
163
+ },
164
+ });
165
+ });
166
+ var MenuItemPrice = function (props) {
167
+ var classes = useStyles$5(props);
168
+ return (React.createElement(core.Box, { display: "flex", alignItems: "center" },
169
+ React.createElement(core.Box, { display: "flex", className: classes.plusIcon },
170
+ React.createElement(commonUi.Icon, { icon: props.available ? webIcons.Plus : webIcons.Lock, size: "medium" })),
171
+ React.createElement(core.Typography, null, props.price)));
1397
172
  };
1398
173
 
1399
- var useItemTagStyles = styles.makeStyles(function (theme) { return ({
1400
- root: {
1401
- color: theme.palette.text.primary,
1402
- borderColor: theme.palette.text.primary,
1403
- border: '1.5px solid',
1404
- background: 'none',
1405
- height: '24px',
1406
- lineHeight: 1.5,
1407
- position: 'static',
1408
- width: '24px',
1409
- },
1410
- text: {
1411
- lineHeight: 1.5,
1412
- },
174
+ var useItemTagStyles = styles.makeStyles(function (theme) { return ({
175
+ root: {
176
+ color: theme.palette.text.primary,
177
+ borderColor: theme.palette.text.primary,
178
+ border: '1.5px solid',
179
+ background: 'none',
180
+ height: '24px',
181
+ lineHeight: 1.5,
182
+ position: 'static',
183
+ width: '24px',
184
+ },
185
+ text: {
186
+ lineHeight: 1.5,
187
+ },
1413
188
  }); });
1414
189
 
1415
- var ItemTag = React.forwardRef(function (props, ref) {
1416
- var alt = props.alt, children = props.children;
1417
- var classes = useItemTagStyles();
1418
- return (React__default['default'].createElement(core.Avatar, { ref: ref, alt: alt, classes: { root: classes.root } },
1419
- React__default['default'].createElement(Typography, { variant: "caption", className: classes.text }, children)));
1420
- });
190
+ var ItemTag = React.forwardRef(function (props, ref) {
191
+ var alt = props.alt, children = props.children;
192
+ var classes = useItemTagStyles();
193
+ return (React.createElement(core.Avatar, { ref: ref, alt: alt, classes: { root: classes.root } },
194
+ React.createElement(commonUi.Typography, { variant: "caption", className: classes.text }, children)));
195
+ });
1421
196
  ItemTag.displayName = 'ItemTag';
1422
197
 
1423
- var ItemTagGroup = function (props) {
1424
- var children = props.children;
1425
- return (React__default['default'].createElement(core.Box, { display: "flex", gridGap: 6, ml: 1, flexWrap: "wrap" }, children));
198
+ var ItemTagGroup = function (props) {
199
+ var children = props.children;
200
+ return (React.createElement(core.Box, { display: "flex", gridGap: 6, ml: 1, flexWrap: "wrap" }, children));
1426
201
  };
1427
202
 
1428
- var MenuItemTags = function (props) {
1429
- var itemTags = props.itemTags;
1430
- return (React__default['default'].createElement(ItemTagGroup, null, itemTags === null || itemTags === void 0 ? void 0 : itemTags.slice(0, 5).map(function (itemTag) { return (React__default['default'].createElement(ItemTag, { key: itemTag.name, alt: itemTag.name, color: itemTag.color }, itemTag.abbr)); })));
203
+ var MenuItemTags = function (props) {
204
+ var itemTags = props.itemTags;
205
+ return (React.createElement(ItemTagGroup, null, itemTags === null || itemTags === void 0 ? void 0 : itemTags.slice(0, 5).map(function (itemTag) { return (React.createElement(ItemTag, { key: itemTag.name, alt: itemTag.name, color: itemTag.color }, itemTag.abbr)); })));
1431
206
  };
1432
207
 
1433
- var useStatusTagStyles = styles.makeStyles(function (theme) { return ({
1434
- root: {
1435
- borderRadius: '5px',
1436
- display: 'flex',
1437
- padding: theme.spacing(1),
1438
- alignItems: 'center',
1439
- justifyContent: 'center',
1440
- width: 'fit-content',
1441
- },
1442
- filled: {
1443
- backgroundColor: theme.palette.grey[100],
1444
- color: theme.palette.grey[900],
1445
- },
1446
- outlined: {
1447
- border: "1px solid var(--surfaces-card-stroke, " + theme.palette.grey[900] + ")",
1448
- },
1449
- small: {
1450
- padding: theme.spacing(0.25, 0.75),
1451
- },
1452
- default: {
1453
- color: theme.palette.grey[900],
1454
- },
1455
- warning: {
1456
- borderColor: theme.palette.warning.dark,
1457
- color: theme.palette.warning.dark,
1458
- },
1459
- error: {
1460
- borderColor: theme.palette.error.main,
1461
- color: theme.palette.error.main,
1462
- },
1463
- highlight: {
1464
- backgroundColor: theme.palette.warning.light,
1465
- color: theme.palette.grey[900],
1466
- },
208
+ var useStatusTagStyles = styles.makeStyles(function (theme) { return ({
209
+ root: {
210
+ borderRadius: '5px',
211
+ display: 'flex',
212
+ padding: theme.spacing(1),
213
+ alignItems: 'center',
214
+ justifyContent: 'center',
215
+ width: 'fit-content',
216
+ },
217
+ filled: {
218
+ backgroundColor: theme.palette.grey[100],
219
+ color: theme.palette.grey[900],
220
+ },
221
+ outlined: {
222
+ border: "1px solid var(--surfaces-card-stroke, " + theme.palette.grey[900] + ")",
223
+ },
224
+ small: {
225
+ padding: theme.spacing(0.25, 0.75),
226
+ },
227
+ default: {
228
+ color: theme.palette.grey[900],
229
+ },
230
+ warning: {
231
+ borderColor: theme.palette.warning.dark,
232
+ color: theme.palette.warning.dark,
233
+ },
234
+ error: {
235
+ borderColor: theme.palette.error.main,
236
+ color: theme.palette.error.main,
237
+ },
238
+ highlight: {
239
+ backgroundColor: theme.palette.warning.light,
240
+ color: theme.palette.grey[900],
241
+ },
1467
242
  }); });
1468
243
 
1469
244
  var classnames = {exports: {}};
1470
245
 
1471
246
  /*!
1472
- Copyright (c) 2018 Jed Watson.
1473
- Licensed under the MIT License (MIT), see
1474
- http://jedwatson.github.io/classnames
247
+ Copyright (c) 2018 Jed Watson.
248
+ Licensed under the MIT License (MIT), see
249
+ http://jedwatson.github.io/classnames
1475
250
  */
1476
251
 
1477
252
  (function (module) {
@@ -1481,38 +256,57 @@ var classnames = {exports: {}};
1481
256
 
1482
257
  var hasOwn = {}.hasOwnProperty;
1483
258
 
1484
- function classNames() {
1485
- var classes = [];
259
+ function classNames () {
260
+ var classes = '';
1486
261
 
1487
262
  for (var i = 0; i < arguments.length; i++) {
1488
263
  var arg = arguments[i];
1489
- if (!arg) continue;
1490
-
1491
- var argType = typeof arg;
1492
-
1493
- if (argType === 'string' || argType === 'number') {
1494
- classes.push(arg);
1495
- } else if (Array.isArray(arg)) {
1496
- if (arg.length) {
1497
- var inner = classNames.apply(null, arg);
1498
- if (inner) {
1499
- classes.push(inner);
1500
- }
1501
- }
1502
- } else if (argType === 'object') {
1503
- if (arg.toString === Object.prototype.toString) {
1504
- for (var key in arg) {
1505
- if (hasOwn.call(arg, key) && arg[key]) {
1506
- classes.push(key);
1507
- }
1508
- }
1509
- } else {
1510
- classes.push(arg.toString());
1511
- }
264
+ if (arg) {
265
+ classes = appendClass(classes, parseValue(arg));
266
+ }
267
+ }
268
+
269
+ return classes;
270
+ }
271
+
272
+ function parseValue (arg) {
273
+ if (typeof arg === 'string' || typeof arg === 'number') {
274
+ return arg;
275
+ }
276
+
277
+ if (typeof arg !== 'object') {
278
+ return '';
279
+ }
280
+
281
+ if (Array.isArray(arg)) {
282
+ return classNames.apply(null, arg);
283
+ }
284
+
285
+ if (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {
286
+ return arg.toString();
287
+ }
288
+
289
+ var classes = '';
290
+
291
+ for (var key in arg) {
292
+ if (hasOwn.call(arg, key) && arg[key]) {
293
+ classes = appendClass(classes, key);
1512
294
  }
1513
295
  }
1514
296
 
1515
- return classes.join(' ');
297
+ return classes;
298
+ }
299
+
300
+ function appendClass (value, newClass) {
301
+ if (!newClass) {
302
+ return value;
303
+ }
304
+
305
+ if (value) {
306
+ return value + ' ' + newClass;
307
+ }
308
+
309
+ return value + newClass;
1516
310
  }
1517
311
 
1518
312
  if (module.exports) {
@@ -1526,712 +320,712 @@ var classnames = {exports: {}};
1526
320
 
1527
321
  var classNames = classnames.exports;
1528
322
 
1529
- var StatusTag = function (props) {
1530
- var variant = props.variant, label = props.label, _a = props.size, size = _a === void 0 ? 'md' : _a, _b = props.color, color = _b === void 0 ? 'default' : _b;
1531
- var classes = useStatusTagStyles(props);
1532
- return (React__default['default'].createElement(core.Box, { className: classNames([classes.root, classes[color], classes[variant], size === 'sm' ? classes.small : '']) },
1533
- React__default['default'].createElement(Typography, { variant: "caption" }, label)));
1534
- };
1535
- StatusTag.defaultProps = {
1536
- color: 'default',
1537
- error: false,
1538
- };
323
+ var StatusTag = function (props) {
324
+ var variant = props.variant, label = props.label, _a = props.size, size = _a === void 0 ? 'md' : _a, _b = props.color, color = _b === void 0 ? 'default' : _b;
325
+ var classes = useStatusTagStyles(props);
326
+ return (React.createElement(commonUi.Box, { className: classNames([classes.root, classes[color], classes[variant], size === 'sm' ? classes.small : '']) },
327
+ React.createElement(commonUi.Typography, { variant: "caption" }, label)));
328
+ };
329
+ StatusTag.defaultProps = {
330
+ color: 'default',
331
+ error: false,
332
+ };
1539
333
  StatusTag.displayName = 'StatusTag';
1540
334
 
1541
- var MenuItem = React.forwardRef(function (props, ref) {
1542
- var ariaLabel = props.ariaLabel, onClick = props.onClick, id = props.id, description = props.description, isOutOfStock = props.isOutOfStock, title = props.title, loading = props.loading, isFeatured = props.isFeatured, image = props.image, likeCount = props.likeCount, reviewCount = props.reviewCount, price = props.price, available = props.available, itemTags = props.itemTags, className = props.className, restProps = __rest$1(props, ["ariaLabel", "onClick", "id", "description", "isOutOfStock", "title", "loading", "isFeatured", "image", "likeCount", "reviewCount", "price", "available", "itemTags", "className"]);
1543
- var classes = useMenuItemStyles(props);
1544
- var handleClick = function (event) {
1545
- onClick(id, event);
1546
- };
1547
- return (React__default['default'].createElement(core.Card, __assign$1({ className: classNames(classes.card, className), ref: ref, elevation: 0, "data-component-type": "menu-item" }, restProps),
1548
- React__default['default'].createElement(core.CardActionArea, { className: classes.cardActionArea, onClick: handleClick, disabled: loading, "aria-label": ariaLabel },
1549
- React__default['default'].createElement(MenuItemInfo, null,
1550
- isFeatured && React__default['default'].createElement(StatusTag, { color: "highlight", label: "Featured", variant: "filled", size: "sm" }),
1551
- React__default['default'].createElement(core.Box, { display: "flex", gridGap: 8, alignItems: "center" },
1552
- React__default['default'].createElement(core.Typography, { component: "h2", className: classes.cardTitle },
1553
- loading ? React__default['default'].createElement(lab.Skeleton, null) : title,
1554
- isOutOfStock && (React__default['default'].createElement("span", { className: classes.outOfStockTag },
1555
- React__default['default'].createElement(StatusTag, { color: "warning", label: "Out of stock", variant: "outlined", size: "sm" }))))),
1556
- React__default['default'].createElement(core.Typography, { className: classes.cardDescription, paragraph: true }, loading ? React__default['default'].createElement(lab.Skeleton, null) : description),
1557
- loading ? (React__default['default'].createElement(lab.Skeleton, null,
1558
- React__default['default'].createElement(MenuItemReactions, { likeCount: likeCount, reviewCount: reviewCount }))) : (React__default['default'].createElement(MenuItemReactions, { likeCount: likeCount, reviewCount: reviewCount })),
1559
- loading ? (React__default['default'].createElement(lab.Skeleton, { style: { flexGrow: 1 }, width: 100, height: 48 })) : (React__default['default'].createElement(core.Box, { display: "flex", justifyContent: "space-between", alignItems: "end", flexGrow: 1 },
1560
- React__default['default'].createElement(MenuItemPrice, { price: price, available: available }),
1561
- React__default['default'].createElement(MenuItemTags, { itemTags: itemTags })))),
1562
- loading ? React__default['default'].createElement(lab.Skeleton, { height: 100, width: 100 }) : React__default['default'].createElement(MenuItemImg, { image: image }))));
1563
- });
335
+ var MenuItem = React.forwardRef(function (props, ref) {
336
+ var ariaLabel = props.ariaLabel, onClick = props.onClick, id = props.id, description = props.description, isOutOfStock = props.isOutOfStock, title = props.title, loading = props.loading, isFeatured = props.isFeatured, image = props.image, likeCount = props.likeCount, reviewCount = props.reviewCount, price = props.price, available = props.available, itemTags = props.itemTags, className = props.className, restProps = tslib.__rest(props, ["ariaLabel", "onClick", "id", "description", "isOutOfStock", "title", "loading", "isFeatured", "image", "likeCount", "reviewCount", "price", "available", "itemTags", "className"]);
337
+ var classes = useMenuItemStyles(props);
338
+ var handleClick = function (event) {
339
+ onClick(id, event);
340
+ };
341
+ return (React.createElement(core.Card, tslib.__assign({ className: classNames(classes.card, className), ref: ref, elevation: 0, "data-component-type": "menu-item" }, restProps),
342
+ React.createElement(core.CardActionArea, { className: classes.cardActionArea, onClick: handleClick, disabled: loading, "aria-label": ariaLabel },
343
+ React.createElement(MenuItemInfo, null,
344
+ isFeatured && React.createElement(StatusTag, { color: "highlight", label: "Featured", variant: "filled", size: "sm" }),
345
+ React.createElement(core.Box, { display: "flex", gridGap: 8, alignItems: "center" },
346
+ React.createElement(core.Typography, { component: "h2", className: classes.cardTitle },
347
+ loading ? React.createElement(lab.Skeleton, null) : title,
348
+ isOutOfStock && (React.createElement("span", { className: classes.outOfStockTag },
349
+ React.createElement(StatusTag, { color: "warning", label: "Out of stock", variant: "outlined", size: "sm" }))))),
350
+ React.createElement(core.Typography, { className: classes.cardDescription, paragraph: true }, loading ? React.createElement(lab.Skeleton, null) : description),
351
+ loading ? (React.createElement(lab.Skeleton, null,
352
+ React.createElement(MenuItemReactions, { likeCount: likeCount, reviewCount: reviewCount }))) : (React.createElement(MenuItemReactions, { likeCount: likeCount, reviewCount: reviewCount })),
353
+ loading ? (React.createElement(lab.Skeleton, { style: { flexGrow: 1 }, width: 100, height: 48 })) : (React.createElement(core.Box, { display: "flex", justifyContent: "space-between", alignItems: "end", flexGrow: 1 },
354
+ React.createElement(MenuItemPrice, { price: price, available: available }),
355
+ React.createElement(MenuItemTags, { itemTags: itemTags })))),
356
+ loading ? React.createElement(lab.Skeleton, { height: 100, width: 100 }) : React.createElement(MenuItemImg, { image: image }))));
357
+ });
1564
358
  MenuItem.displayName = 'MenuItem';
1565
359
 
1566
- var useDishCheckoutCardStyles = styles.makeStyles(function (theme) { return ({
1567
- root: {
1568
- '&:first-of-type': {
1569
- paddingTop: 0,
1570
- },
1571
- '&:last-of-type': {
1572
- paddingBottom: 0,
1573
- borderBottom: 'none',
1574
- },
1575
- color: theme.palette.grey[900],
1576
- padding: theme.spacing(2, 0),
1577
- display: 'flex',
1578
- flexDirection: 'column',
1579
- width: '100%',
1580
- gridGap: theme.spacing(2),
1581
- borderBottom: function (_a) {
1582
- var borderBottom = _a.borderBottom;
1583
- return (borderBottom ? '1px solid #E0E0E0' : 'none');
1584
- },
1585
- },
1586
- deleteButton: {
1587
- color: theme.palette.info.main,
1588
- },
1589
- editButton: {
1590
- color: theme.palette.info.main,
1591
- },
1592
- img: {
1593
- objectFit: 'cover',
1594
- borderRadius: theme.spacing(1),
1595
- flexBasis: 'auto',
1596
- flexShrink: 0,
1597
- height: theme.spacing(7),
1598
- marginRight: theme.spacing(1),
1599
- overflow: 'hidden',
1600
- width: theme.spacing(7),
1601
- },
1602
- name: {
1603
- fontSize: 16,
1604
- fontWeight: 500,
1605
- lineHeight: '24px',
1606
- },
1607
- price: {
1608
- fontSize: '18px',
1609
- },
1610
- select: {
1611
- paddingLeft: 'unset',
1612
- borderRadius: '25px',
1613
- '& fieldset': {
1614
- borderColor: theme.palette.grey[700],
1615
- },
1616
- '&.Mui-focused .MuiOutlinedInput-notchedOutline': {
1617
- borderColor: theme.palette.grey[700],
1618
- borderWidth: '1px',
1619
- },
1620
- '& .MuiSelect-root': {
1621
- padding: theme.spacing(1, 1.5, 1, 4.5),
1622
- zIndex: 10,
1623
- textAlign: 'right',
1624
- },
1625
- '& .MuiInputAdornment-positionStart': {
1626
- position: 'absolute',
1627
- left: theme.spacing(1.5),
1628
- },
1629
- '& .MuiSelect-iconOutlined': {
1630
- display: 'none',
1631
- },
1632
- },
1633
- selectPaper: {
1634
- maxHeight: theme.spacing(37),
1635
- },
1636
- ul: {
1637
- margin: 0,
1638
- paddingLeft: theme.spacing(3),
1639
- },
1640
- warning: {
1641
- color: theme.palette.error.main,
1642
- display: 'flex',
1643
- gridGap: theme.spacing(0.825),
1644
- },
360
+ var useDishCheckoutCardStyles = styles.makeStyles(function (theme) { return ({
361
+ root: {
362
+ '&:first-of-type': {
363
+ paddingTop: 0,
364
+ },
365
+ '&:last-of-type': {
366
+ paddingBottom: 0,
367
+ borderBottom: 'none',
368
+ },
369
+ color: theme.palette.grey[900],
370
+ padding: theme.spacing(2, 0),
371
+ display: 'flex',
372
+ flexDirection: 'column',
373
+ width: '100%',
374
+ gridGap: theme.spacing(2),
375
+ borderBottom: function (_a) {
376
+ var borderBottom = _a.borderBottom;
377
+ return (borderBottom ? '1px solid #E0E0E0' : 'none');
378
+ },
379
+ },
380
+ deleteButton: {
381
+ color: theme.palette.info.main,
382
+ },
383
+ editButton: {
384
+ color: theme.palette.info.main,
385
+ },
386
+ img: {
387
+ objectFit: 'cover',
388
+ borderRadius: theme.spacing(1),
389
+ flexBasis: 'auto',
390
+ flexShrink: 0,
391
+ height: theme.spacing(7),
392
+ marginRight: theme.spacing(1),
393
+ overflow: 'hidden',
394
+ width: theme.spacing(7),
395
+ },
396
+ name: {
397
+ fontSize: 16,
398
+ fontWeight: 500,
399
+ lineHeight: '24px',
400
+ },
401
+ price: {
402
+ fontSize: '18px',
403
+ },
404
+ select: {
405
+ paddingLeft: 'unset',
406
+ borderRadius: '25px',
407
+ '& fieldset': {
408
+ borderColor: theme.palette.grey[700],
409
+ },
410
+ '&.Mui-focused .MuiOutlinedInput-notchedOutline': {
411
+ borderColor: theme.palette.grey[700],
412
+ borderWidth: '1px',
413
+ },
414
+ '& .MuiSelect-root': {
415
+ padding: theme.spacing(1, 1.5, 1, 4.5),
416
+ zIndex: 10,
417
+ textAlign: 'right',
418
+ },
419
+ '& .MuiInputAdornment-positionStart': {
420
+ position: 'absolute',
421
+ left: theme.spacing(1.5),
422
+ },
423
+ '& .MuiSelect-iconOutlined': {
424
+ display: 'none',
425
+ },
426
+ },
427
+ selectPaper: {
428
+ maxHeight: theme.spacing(37),
429
+ },
430
+ ul: {
431
+ margin: 0,
432
+ paddingLeft: theme.spacing(3),
433
+ },
434
+ warning: {
435
+ color: theme.palette.error.main,
436
+ display: 'flex',
437
+ gridGap: theme.spacing(0.825),
438
+ },
1645
439
  }); });
1646
440
 
1647
- var OrderingAppContext = React.createContext(null);
1648
- var useOrderingAppContext = function () {
1649
- var context = React.useContext(OrderingAppContext);
1650
- if (!context) {
1651
- throw new Error('useOrderingAppContext has to be used within <OrderingAppContext.Provider>');
1652
- }
1653
- return context;
1654
- };
1655
- var OrderingAppContextProvider = function (props) {
1656
- var context = React.useState(props.defaultContext);
1657
- return React__default['default'].createElement(OrderingAppContext.Provider, { value: context }, props.children);
441
+ var OrderingAppContext = React.createContext(null);
442
+ var useOrderingAppContext = function () {
443
+ var context = React.useContext(OrderingAppContext);
444
+ if (!context) {
445
+ throw new Error('useOrderingAppContext has to be used within <OrderingAppContext.Provider>');
446
+ }
447
+ return context;
448
+ };
449
+ var OrderingAppContextProvider = function (props) {
450
+ var context = React.useState(props.defaultContext);
451
+ return React.createElement(OrderingAppContext.Provider, { value: context }, props.children);
1658
452
  };
1659
453
 
1660
- var DishCheckoutCard = function (props) {
1661
- var _a;
1662
- var id = props.id, name = props.name, quantity = props.quantity, modifierGroups = props.modifierGroups, onDelete = props.onDelete, onEdit = props.onEdit, onQuantityChange = props.onQuantityChange, price = props.price, specialInstructions = props.specialInstructions, disabled = props.disabled, warningMessage = props.warningMessage, _b = props.image, image = _b === void 0 ? {} : _b, messages = props.messages;
1663
- var src = image.src;
1664
- var classes = useDishCheckoutCardStyles(props);
1665
- var appContext = useOrderingAppContext()[0];
1666
- var _c = React.useState(false), open = _c[0], setOpen = _c[1];
1667
- var formattedPrice = typeof price === 'number' ? "" + ((_a = appContext.currencySymbol) !== null && _a !== void 0 ? _a : '') + price.toFixed(2) : price;
1668
- var handleQuantityChange = function (event) {
1669
- return onQuantityChange(id, parseInt(event.target.value, 10));
1670
- };
1671
- var labelString = function (label) {
1672
- return label.replace(/[^a-zA-Z\s]/g, '').toLowerCase();
1673
- };
1674
- var formatModifiers = function (groups, nested) {
1675
- if (nested === void 0) { nested = false; }
1676
- return groups.map(function (group) {
1677
- // Get all selected modifiers for this group
1678
- var modifiers = group.selectedModifiers
1679
- .map(function (modifier) {
1680
- return modifier.quantity > 1 ? modifier.modifierName + " \u00D7 " + modifier.quantity : modifier.modifierName;
1681
- })
1682
- .join(', ');
1683
- // Render nested groups recursively
1684
- var nestedGroups = group.selectedModifiers.flatMap(function (modifier) {
1685
- var _a;
1686
- return (modifier === null || modifier === void 0 ? void 0 : modifier.selectedModifierGroups) && ((_a = modifier === null || modifier === void 0 ? void 0 : modifier.selectedModifierGroups) === null || _a === void 0 ? void 0 : _a.length) > 0
1687
- ? formatModifiers(modifier.selectedModifierGroups, true)
1688
- : [];
1689
- });
1690
- // For top-level groups, we render without the list
1691
- if (!nested) {
1692
- return (React__default['default'].createElement(Typography, { key: group.id, variant: "body2" },
1693
- group.menuItemModifierGroupName,
1694
- ": ",
1695
- modifiers,
1696
- (nestedGroups === null || nestedGroups === void 0 ? void 0 : nestedGroups.length) > 0 && React__default['default'].createElement("ul", { className: classes.ul }, nestedGroups)));
1697
- }
1698
- // For nested groups, we use list items
1699
- return (React__default['default'].createElement("li", { key: group.id, className: classes.li },
1700
- React__default['default'].createElement(Typography, { variant: "body2" },
1701
- group.menuItemModifierGroupName,
1702
- ": ",
1703
- modifiers,
1704
- nestedGroups && nestedGroups.length > 0 && React__default['default'].createElement("ul", { className: classes.ul }, nestedGroups))));
1705
- });
1706
- };
1707
- return (React__default['default'].createElement(core.Box, { className: classes.root },
1708
- React__default['default'].createElement(core.Box, { display: "flex", gridGap: 3 },
1709
- src && React__default['default'].createElement("img", { src: src, alt: "", className: classes.img }),
1710
- React__default['default'].createElement(core.Box, { flexGrow: 1 },
1711
- React__default['default'].createElement(Typography, { variant: "h2", className: classes.name }, name),
1712
- modifierGroups && formatModifiers(modifierGroups),
1713
- specialInstructions && React__default['default'].createElement(Typography, { variant: "body2" },
1714
- "\"",
1715
- specialInstructions,
1716
- "\"")),
1717
- React__default['default'].createElement(core.Box, { display: "flex", gridGap: 1, height: "100%", alignItems: "center" },
1718
- React__default['default'].createElement(Button, { "aria-label": messages.ariaEdit, disabled: disabled, className: classes.editButton, variant: "text", onClick: onEdit }, messages.edit),
1719
- React__default['default'].createElement(IconButton, { "aria-label": messages.ariaDelete, disabled: disabled, onClick: onDelete, classes: { root: classes.deleteButton } },
1720
- React__default['default'].createElement(Icon, { icon: SvgTrash, size: "large" })))),
1721
- React__default['default'].createElement(core.Box, { display: "flex", gridGap: 16, alignItems: "center" },
1722
- React__default['default'].createElement(core.FormControl, { variant: "outlined", hiddenLabel: true },
1723
- React__default['default'].createElement(core.Select, { disabled: disabled, value: quantity, onOpen: function () { return setOpen(true); }, onClose: function () { return setOpen(false); }, SelectDisplayProps: { 'aria-label': labelString(name) + " quantity select" }, disableUnderline: true, onChange: handleQuantityChange, fullWidth: true, startAdornment: React__default['default'].createElement(core.InputAdornment, { position: "start" },
1724
- React__default['default'].createElement(Icon, { icon: open ? SvgChevronUp : SvgChevronDown, size: "large" })), inputProps: { shrink: false }, MenuProps: {
1725
- disablePortal: true,
1726
- anchorOrigin: {
1727
- vertical: 'bottom',
1728
- horizontal: 'left',
1729
- },
1730
- transformOrigin: {
1731
- vertical: 'top',
1732
- horizontal: 'left',
1733
- },
1734
- getContentAnchorEl: null,
1735
- classes: { paper: classes.selectPaper },
1736
- }, className: classes.select }, Array.from({ length: 99 }, function (_, index) { return (React__default['default'].createElement(core.MenuItem, { key: index + 1, value: index + 1, "aria-label": "" + (index + 1) }, index + 1)); }))),
1737
- React__default['default'].createElement(Typography, { className: classes.price }, formattedPrice)),
1738
- warningMessage && (React__default['default'].createElement(core.Box, { className: classes.warning },
1739
- React__default['default'].createElement(core.Box, { paddingTop: 0.25 },
1740
- React__default['default'].createElement(Icon, { icon: SvgWarning, size: "medium" })),
1741
- React__default['default'].createElement(Typography, { variant: "body2" }, warningMessage)))));
454
+ var DishCheckoutCard = function (props) {
455
+ var _a;
456
+ var id = props.id, name = props.name, quantity = props.quantity, modifierGroups = props.modifierGroups, onDelete = props.onDelete, onEdit = props.onEdit, onQuantityChange = props.onQuantityChange, price = props.price, specialInstructions = props.specialInstructions, disabled = props.disabled, warningMessage = props.warningMessage, _b = props.image, image = _b === void 0 ? {} : _b, messages = props.messages;
457
+ var src = image.src;
458
+ var classes = useDishCheckoutCardStyles(props);
459
+ var appContext = useOrderingAppContext()[0];
460
+ var _c = React.useState(false), open = _c[0], setOpen = _c[1];
461
+ var formattedPrice = typeof price === 'number' ? "" + ((_a = appContext.currencySymbol) !== null && _a !== void 0 ? _a : '') + price.toFixed(2) : price;
462
+ var handleQuantityChange = function (event) {
463
+ return onQuantityChange(id, parseInt(event.target.value, 10));
464
+ };
465
+ var labelString = function (label) {
466
+ return label.replace(/[^a-zA-Z\s]/g, '').toLowerCase();
467
+ };
468
+ var formatModifiers = function (groups, nested) {
469
+ if (nested === void 0) { nested = false; }
470
+ return groups.map(function (group) {
471
+ // Get all selected modifiers for this group
472
+ var modifiers = group.selectedModifiers
473
+ .map(function (modifier) {
474
+ return modifier.quantity > 1 ? modifier.modifierName + " \u00D7 " + modifier.quantity : modifier.modifierName;
475
+ })
476
+ .join(', ');
477
+ // Render nested groups recursively
478
+ var nestedGroups = group.selectedModifiers.flatMap(function (modifier) {
479
+ var _a;
480
+ return (modifier === null || modifier === void 0 ? void 0 : modifier.selectedModifierGroups) && ((_a = modifier === null || modifier === void 0 ? void 0 : modifier.selectedModifierGroups) === null || _a === void 0 ? void 0 : _a.length) > 0
481
+ ? formatModifiers(modifier.selectedModifierGroups, true)
482
+ : [];
483
+ });
484
+ // For top-level groups, we render without the list
485
+ if (!nested) {
486
+ return (React.createElement(commonUi.Typography, { key: group.id, variant: "body2" },
487
+ group.menuItemModifierGroupName,
488
+ ": ",
489
+ modifiers,
490
+ (nestedGroups === null || nestedGroups === void 0 ? void 0 : nestedGroups.length) > 0 && React.createElement("ul", { className: classes.ul }, nestedGroups)));
491
+ }
492
+ // For nested groups, we use list items
493
+ return (React.createElement("li", { key: group.id, className: classes.li },
494
+ React.createElement(commonUi.Typography, { variant: "body2" },
495
+ group.menuItemModifierGroupName,
496
+ ": ",
497
+ modifiers,
498
+ nestedGroups && nestedGroups.length > 0 && React.createElement("ul", { className: classes.ul }, nestedGroups))));
499
+ });
500
+ };
501
+ return (React.createElement(commonUi.Box, { className: classes.root },
502
+ React.createElement(commonUi.Box, { display: "flex", gridGap: 3 },
503
+ src && React.createElement("img", { src: src, alt: "", className: classes.img }),
504
+ React.createElement(commonUi.Box, { flexGrow: 1 },
505
+ React.createElement(commonUi.Typography, { variant: "h2", className: classes.name }, name),
506
+ modifierGroups && formatModifiers(modifierGroups),
507
+ specialInstructions && React.createElement(commonUi.Typography, { variant: "body2" },
508
+ "\"",
509
+ specialInstructions,
510
+ "\"")),
511
+ React.createElement(commonUi.Box, { display: "flex", gridGap: 1, height: "100%", alignItems: "center" },
512
+ React.createElement(Button, { "aria-label": messages.ariaEdit, disabled: disabled, className: classes.editButton, variant: "text", onClick: onEdit }, messages.edit),
513
+ React.createElement(commonUi.IconButton, { "aria-label": messages.ariaDelete, disabled: disabled, onClick: onDelete, classes: { root: classes.deleteButton } },
514
+ React.createElement(commonUi.Icon, { icon: webIcons.Trash, size: "large" })))),
515
+ React.createElement(commonUi.Box, { display: "flex", gridGap: 16, alignItems: "center" },
516
+ React.createElement(core.FormControl, { variant: "outlined", hiddenLabel: true },
517
+ React.createElement(core.Select, { disabled: disabled, value: quantity, onOpen: function () { return setOpen(true); }, onClose: function () { return setOpen(false); }, SelectDisplayProps: { 'aria-label': labelString(name) + " quantity select" }, disableUnderline: true, onChange: handleQuantityChange, fullWidth: true, startAdornment: React.createElement(core.InputAdornment, { position: "start" },
518
+ React.createElement(commonUi.Icon, { icon: open ? webIcons.ChevronUp : webIcons.ChevronDown, size: "large" })), inputProps: { shrink: false }, MenuProps: {
519
+ disablePortal: true,
520
+ anchorOrigin: {
521
+ vertical: 'bottom',
522
+ horizontal: 'left',
523
+ },
524
+ transformOrigin: {
525
+ vertical: 'top',
526
+ horizontal: 'left',
527
+ },
528
+ getContentAnchorEl: null,
529
+ classes: { paper: classes.selectPaper },
530
+ }, className: classes.select }, Array.from({ length: 99 }, function (_, index) { return (React.createElement(core.MenuItem, { key: index + 1, value: index + 1, "aria-label": "" + (index + 1) }, index + 1)); }))),
531
+ React.createElement(commonUi.Typography, { className: classes.price }, formattedPrice)),
532
+ warningMessage && (React.createElement(commonUi.Box, { className: classes.warning },
533
+ React.createElement(commonUi.Box, { paddingTop: 0.25 },
534
+ React.createElement(commonUi.Icon, { icon: webIcons.Warning, size: "medium" })),
535
+ React.createElement(commonUi.Typography, { variant: "body2" }, warningMessage)))));
1742
536
  };
1743
537
 
1744
- var DishDetailsReview = React.forwardRef(function (props) {
1745
- var userName = props.userName, userAvatarUrl = props.userAvatarUrl, content = props.content, createdAgo = props.createdAgo, alt = props.alt;
1746
- return (React__default['default'].createElement(core.Box, { display: "flex" },
1747
- React__default['default'].createElement(core.Box, { mr: 1 },
1748
- React__default['default'].createElement(Avatar, { size: "small", src: userAvatarUrl, alt: alt })),
1749
- React__default['default'].createElement(core.Box, { width: "100%" },
1750
- React__default['default'].createElement(core.Box, { display: "flex", justifyContent: "space-between", mb: 1 },
1751
- React__default['default'].createElement(Typography, { variant: "body1", variantMapping: { body1: 'h3' }, color: "grey.600", style: { display: 'flex', alignItems: 'center' } }, userName),
1752
- React__default['default'].createElement(Typography, { color: "grey.600", variant: "subtitle1", style: { display: 'flex', alignItems: 'center' } }, createdAgo)),
1753
- React__default['default'].createElement(Typography, { color: "grey.900", weight: "regular" }, content))));
1754
- });
538
+ var DishDetailsReview = React.forwardRef(function (props) {
539
+ var userName = props.userName, userAvatarUrl = props.userAvatarUrl, content = props.content, createdAgo = props.createdAgo, alt = props.alt;
540
+ return (React.createElement(commonUi.Box, { display: "flex" },
541
+ React.createElement(commonUi.Box, { mr: 1 },
542
+ React.createElement(commonUi.Avatar, { size: "small", src: userAvatarUrl, alt: alt })),
543
+ React.createElement(commonUi.Box, { width: "100%" },
544
+ React.createElement(commonUi.Box, { display: "flex", justifyContent: "space-between", mb: 1 },
545
+ React.createElement(commonUi.Typography, { variant: "body1", variantMapping: { body1: 'h3' }, color: "grey.600", style: { display: 'flex', alignItems: 'center' } }, userName),
546
+ React.createElement(commonUi.Typography, { color: "grey.600", variant: "subtitle1", style: { display: 'flex', alignItems: 'center' } }, createdAgo)),
547
+ React.createElement(commonUi.Typography, { color: "grey.900", weight: "regular" }, content))));
548
+ });
1755
549
  DishDetailsReview.displayName = 'DishDetailsReview';
1756
550
 
1757
- var useDishModifierCardStyles = styles.makeStyles(function (theme) { return ({
1758
- root: {
1759
- borderRadius: '8px',
1760
- border: '1px solid var(--surfaces-card-stroke, #E0E0E0)',
1761
- display: 'flex',
1762
- flexDirection: 'column',
1763
- padding: theme.spacing(2.5),
1764
- color: theme.palette.grey[900] + " !important",
1765
- },
1766
- error: {
1767
- color: theme.palette.error.main,
1768
- },
1769
- helperText: {
1770
- color: theme.palette.text.primary,
1771
- },
1772
- name: {
1773
- fontSize: theme.spacing(2.25),
1774
- marginBottom: theme.spacing(2),
1775
- },
1776
- }); });
1777
- var useRadioModifierFormStyles = styles.makeStyles(function (theme) { return ({
1778
- label: {
1779
- alignItems: 'center',
1780
- display: 'flex',
1781
- justifyContent: 'space-between',
1782
- },
1783
- radio: {
1784
- fontSize: theme.spacing(2),
1785
- padding: 'unset',
1786
- marginRight: theme.spacing(-0.25),
1787
- '&.Mui-checked': {
1788
- color: theme.palette.info.main,
1789
- },
1790
- },
1791
- hideRadio: {
1792
- display: 'none',
1793
- },
1794
- root: {
1795
- justifyContent: 'space-between',
1796
- margin: 0,
1797
- width: 'fill-available',
1798
- '& > :last-child': {
1799
- flex: 1,
1800
- },
1801
- },
1802
- }); });
1803
- var useCheckboxModifierFormStyles = styles.makeStyles(function (theme) { return ({
1804
- label: {
1805
- alignItems: 'center',
1806
- display: 'flex',
1807
- justifyContent: 'space-between',
1808
- },
1809
- checkbox: {
1810
- color: '#616161',
1811
- fontSize: theme.spacing(2),
1812
- marginRight: theme.spacing(-0.25),
1813
- padding: 'unset',
1814
- '&.Mui-checked': {
1815
- color: theme.palette.info.main,
1816
- },
1817
- },
1818
- hideCheckbox: {
1819
- display: 'none',
1820
- },
1821
- root: {
1822
- margin: 0,
1823
- width: 'fill-available',
1824
- '& > :last-child': {
1825
- flex: 1,
1826
- },
1827
- },
1828
- }); });
1829
- var useLabelStyles = styles.makeStyles(function (theme) { return ({
1830
- label: {
1831
- margin: theme.spacing(0.5, 0),
1832
- },
1833
- disabled: {
1834
- color: theme.palette.grey[500],
1835
- },
1836
- price: {
1837
- color: theme.palette.grey[700],
1838
- },
1839
- }); });
1840
- var useOptionsStyles = styles.makeStyles(function (theme) { return ({
1841
- options: {
1842
- color: theme.palette.info.main,
1843
- marginBottom: theme.spacing(1.5),
1844
- padding: 0,
1845
- },
551
+ var useDishModifierCardStyles = styles.makeStyles(function (theme) { return ({
552
+ root: {
553
+ borderRadius: '8px',
554
+ border: '1px solid var(--surfaces-card-stroke, #E0E0E0)',
555
+ display: 'flex',
556
+ flexDirection: 'column',
557
+ padding: theme.spacing(2.5),
558
+ color: theme.palette.grey[900] + " !important",
559
+ },
560
+ error: {
561
+ color: theme.palette.error.main,
562
+ },
563
+ helperText: {
564
+ color: theme.palette.text.primary,
565
+ },
566
+ name: {
567
+ fontSize: theme.spacing(2.25),
568
+ marginBottom: theme.spacing(2),
569
+ },
570
+ }); });
571
+ var useRadioModifierFormStyles = styles.makeStyles(function (theme) { return ({
572
+ label: {
573
+ alignItems: 'center',
574
+ display: 'flex',
575
+ justifyContent: 'space-between',
576
+ },
577
+ radio: {
578
+ fontSize: theme.spacing(2),
579
+ padding: 'unset',
580
+ marginRight: theme.spacing(-0.25),
581
+ '&.Mui-checked': {
582
+ color: theme.palette.info.main,
583
+ },
584
+ },
585
+ hideRadio: {
586
+ display: 'none',
587
+ },
588
+ root: {
589
+ justifyContent: 'space-between',
590
+ margin: 0,
591
+ width: 'fill-available',
592
+ '& > :last-child': {
593
+ flex: 1,
594
+ },
595
+ },
596
+ }); });
597
+ var useCheckboxModifierFormStyles = styles.makeStyles(function (theme) { return ({
598
+ label: {
599
+ alignItems: 'center',
600
+ display: 'flex',
601
+ justifyContent: 'space-between',
602
+ },
603
+ checkbox: {
604
+ color: '#616161',
605
+ fontSize: theme.spacing(2),
606
+ marginRight: theme.spacing(-0.25),
607
+ padding: 'unset',
608
+ '&.Mui-checked': {
609
+ color: theme.palette.info.main,
610
+ },
611
+ },
612
+ hideCheckbox: {
613
+ display: 'none',
614
+ },
615
+ root: {
616
+ margin: 0,
617
+ width: 'fill-available',
618
+ '& > :last-child': {
619
+ flex: 1,
620
+ },
621
+ },
622
+ }); });
623
+ var useLabelStyles = styles.makeStyles(function (theme) { return ({
624
+ label: {
625
+ margin: theme.spacing(0.5, 0),
626
+ },
627
+ disabled: {
628
+ color: theme.palette.grey[500],
629
+ },
630
+ price: {
631
+ color: theme.palette.grey[700],
632
+ },
633
+ }); });
634
+ var useOptionsStyles = styles.makeStyles(function (theme) { return ({
635
+ options: {
636
+ color: theme.palette.info.main,
637
+ marginBottom: theme.spacing(1.5),
638
+ padding: 0,
639
+ },
1846
640
  }); });
1847
641
 
1848
- var useQuantityPickerStyles = styles.makeStyles(function (theme) { return ({
1849
- root: {
1850
- height: theme.spacing(7),
1851
- backgroundColor: 'none',
1852
- },
1853
- }); });
1854
- var useQuantityInputStyles = styles.makeStyles(function (theme) { return ({
1855
- root: {
1856
- height: '100%',
1857
- width: 'min-content',
1858
- borderRadius: theme.spacing(12.5),
1859
- background: function (props) { return (props.variation === 'modifierCount' ? 'unset' : theme.palette.grey[100]); },
1860
- },
1861
- input: {
1862
- '&::-webkit-clear-button, &::-webkit-outer-spin-button, &::-webkit-inner-spin-button': {
1863
- display: 'none',
1864
- },
1865
- '-moz-appearance': 'textfield',
1866
- fontWeight: 600,
1867
- padding: 0,
1868
- textAlign: 'center',
1869
- zIndex: function (props) { return (props.value === 0 && props.variation === 'modifierCount' ? -1 : 1); },
1870
- backgroundColor: function (props) { return (props.variation === 'modifierCount' ? theme.palette.grey[100] : 'unset'); },
1871
- alignSelf: function (props) { return (props.variation === 'modifierCount' ? 'stretch' : 'unset'); },
1872
- height: function (props) { return (props.variation === 'modifierCount' ? 'auto' : 'unset'); },
1873
- minWidth: function (props) { return (props.variation === 'modifierCount' ? theme.spacing(5) : theme.spacing(2.75)); },
1874
- borderRadius: function (props) { return (props.variation === 'modifierCount' ? theme.spacing(1) : 'unset'); },
1875
- margin: function (props) { return (props.variation === 'modifierCount' ? theme.spacing(0.5, 0) : 0); },
1876
- },
1877
- }); });
1878
- var useStartAdornmentStyles = styles.makeStyles(function (theme) { return ({
1879
- root: {
1880
- color: theme.palette.text.primary,
1881
- zIndex: function (props) { return (props.value === 0 && props.variation === 'modifierCount' ? -1 : 1); },
1882
- },
1883
- }); });
1884
- var useEndAdornmentStyles = styles.makeStyles(function (theme) { return ({
1885
- root: {
1886
- color: theme.palette.text.primary,
1887
- },
642
+ var useQuantityPickerStyles = styles.makeStyles(function (theme) { return ({
643
+ root: {
644
+ height: theme.spacing(7),
645
+ backgroundColor: 'none',
646
+ },
647
+ }); });
648
+ var useQuantityInputStyles = styles.makeStyles(function (theme) { return ({
649
+ root: {
650
+ height: '100%',
651
+ width: 'min-content',
652
+ borderRadius: theme.spacing(12.5),
653
+ background: function (props) { return (props.variation === 'modifierCount' ? 'unset' : theme.palette.grey[100]); },
654
+ },
655
+ input: {
656
+ '&::-webkit-clear-button, &::-webkit-outer-spin-button, &::-webkit-inner-spin-button': {
657
+ display: 'none',
658
+ },
659
+ '-moz-appearance': 'textfield',
660
+ fontWeight: 600,
661
+ padding: 0,
662
+ textAlign: 'center',
663
+ zIndex: function (props) { return (props.value === 0 && props.variation === 'modifierCount' ? -1 : 1); },
664
+ backgroundColor: function (props) { return (props.variation === 'modifierCount' ? theme.palette.grey[100] : 'unset'); },
665
+ alignSelf: function (props) { return (props.variation === 'modifierCount' ? 'stretch' : 'unset'); },
666
+ height: function (props) { return (props.variation === 'modifierCount' ? 'auto' : 'unset'); },
667
+ minWidth: function (props) { return (props.variation === 'modifierCount' ? theme.spacing(5) : theme.spacing(2.75)); },
668
+ borderRadius: function (props) { return (props.variation === 'modifierCount' ? theme.spacing(1) : 'unset'); },
669
+ margin: function (props) { return (props.variation === 'modifierCount' ? theme.spacing(0.5, 0) : 0); },
670
+ },
671
+ }); });
672
+ var useStartAdornmentStyles = styles.makeStyles(function (theme) { return ({
673
+ root: {
674
+ color: theme.palette.text.primary,
675
+ zIndex: function (props) { return (props.value === 0 && props.variation === 'modifierCount' ? -1 : 1); },
676
+ },
677
+ }); });
678
+ var useEndAdornmentStyles = styles.makeStyles(function (theme) { return ({
679
+ root: {
680
+ color: theme.palette.text.primary,
681
+ },
1888
682
  }); });
1889
683
 
1890
- var QuantityPicker = function (props) {
1891
- var value = props.value, onChange = props.onChange, disabled = props.disabled, disableIncrement = props.disableIncrement, preventManualChange = props.preventManualChange, variation = props.variation, name = props.name;
1892
- var fieldClasses = useQuantityPickerStyles();
1893
- var inputClasses = useQuantityInputStyles(props);
1894
- var startAdornmentClasses = useStartAdornmentStyles(props);
1895
- var endAdornmentClasses = useEndAdornmentStyles(props);
1896
- var onIncrement = function (event) {
1897
- onChange(event, { quantity: value + 1, reason: 'increment' });
1898
- };
1899
- var onDecrement = function (event) {
1900
- onChange(event, { quantity: value - 1, reason: 'decrement' });
1901
- };
1902
- var handleChange = function (event) {
1903
- if (preventManualChange) {
1904
- event.preventDefault();
1905
- }
1906
- if (!preventManualChange) {
1907
- onChange(event, { quantity: parseInt(event.target.value), reason: 'change' });
1908
- }
1909
- };
1910
- return (React__default['default'].createElement(core.TextField, { classes: fieldClasses, type: "number", variant: variation === 'itemCount' ? 'filled' : 'standard', value: value, disabled: disabled, onChange: handleChange, InputProps: {
1911
- classes: inputClasses,
1912
- disableUnderline: true,
1913
- endAdornment: (React__default['default'].createElement(IconButton, { "aria-label": "increase quantity " + name, className: endAdornmentClasses.root, color: "default", onClick: onIncrement, disabled: disabled || disableIncrement },
1914
- React__default['default'].createElement(Icon, { icon: SvgPlusCircle }))),
1915
- startAdornment: (React__default['default'].createElement(IconButton, { "aria-label": "decrease quantity " + name, className: startAdornmentClasses.root, color: "default", onClick: onDecrement, disabled: disabled || value <= 0 },
1916
- React__default['default'].createElement(Icon, { icon: SvgMinusCircle }))),
1917
- } }));
684
+ var QuantityPicker = function (props) {
685
+ var value = props.value, onChange = props.onChange, disabled = props.disabled, disableIncrement = props.disableIncrement, preventManualChange = props.preventManualChange, variation = props.variation, name = props.name;
686
+ var fieldClasses = useQuantityPickerStyles();
687
+ var inputClasses = useQuantityInputStyles(props);
688
+ var startAdornmentClasses = useStartAdornmentStyles(props);
689
+ var endAdornmentClasses = useEndAdornmentStyles(props);
690
+ var onIncrement = function (event) {
691
+ onChange(event, { quantity: value + 1, reason: 'increment' });
692
+ };
693
+ var onDecrement = function (event) {
694
+ onChange(event, { quantity: value - 1, reason: 'decrement' });
695
+ };
696
+ var handleChange = function (event) {
697
+ if (preventManualChange) {
698
+ event.preventDefault();
699
+ }
700
+ if (!preventManualChange) {
701
+ onChange(event, { quantity: parseInt(event.target.value), reason: 'change' });
702
+ }
703
+ };
704
+ return (React.createElement(core.TextField, { classes: fieldClasses, type: "number", variant: variation === 'itemCount' ? 'filled' : 'standard', value: value, disabled: disabled, onChange: handleChange, InputProps: {
705
+ classes: inputClasses,
706
+ disableUnderline: true,
707
+ endAdornment: (React.createElement(commonUi.IconButton, { "aria-label": "increase quantity " + name, className: endAdornmentClasses.root, color: "default", onClick: onIncrement, disabled: disabled || disableIncrement },
708
+ React.createElement(commonUi.Icon, { icon: webIcons.PlusCircle }))),
709
+ startAdornment: (React.createElement(commonUi.IconButton, { "aria-label": "decrease quantity " + name, className: startAdornmentClasses.root, color: "default", onClick: onDecrement, disabled: disabled || value <= 0 },
710
+ React.createElement(commonUi.Icon, { icon: webIcons.MinusCircle }))),
711
+ } }));
1918
712
  };
1919
713
 
1920
- var Label = function (props) {
1921
- var _a, _b, _c;
1922
- var name = props.name, price = props.price, _d = props.disabled, disabled = _d === void 0 ? false : _d;
1923
- var classes = useLabelStyles();
1924
- return (React__default['default'].createElement(core.Box, { display: "flex", flexDirection: "column", className: classes.label },
1925
- React__default['default'].createElement(core.Box, { display: "flex", alignItems: "center", gridGap: 8 },
1926
- React__default['default'].createElement(core.Typography, { className: classNames((_a = {}, _a[classes.disabled] = disabled, _a)) }, name)),
1927
- price && (React__default['default'].createElement(core.Typography, { className: classNames((_b = {}, _b[classes.price] = !disabled, _b), (_c = {}, _c[classes.disabled] = disabled, _c)) },
1928
- "+ ",
1929
- price))));
1930
- };
1931
- var Options = function (props) {
1932
- var handleOptionsClick = props.handleOptionsClick;
1933
- var classes = useOptionsStyles();
1934
- return (React__default['default'].createElement(core.Box, null,
1935
- React__default['default'].createElement(Button, { variation: "none", className: classes.options, onClick: handleOptionsClick },
1936
- React__default['default'].createElement(core.Typography, { variant: "caption" }, "OPTIONS"),
1937
- React__default['default'].createElement(Icon, { icon: SvgChevronRight }))));
1938
- };
1939
- var SingleSelectModifierControl = function (props) {
1940
- var modifiers = props.modifiers, name = props.name, isOutOfStock = props.isOutOfStock, onChange = props.onChange, value = props.value, handleOptionsClick = props.handleOptionsClick, aggregatePrice = props.aggregatePrice, isRequired = props.isRequired;
1941
- var radioClasses = useRadioModifierFormStyles();
1942
- var makeHandleChange = function (modifier) { return function (e) {
1943
- var isModifierInValue = Boolean(value.find(function (v) { return v.modifierId === modifier.id; }));
1944
- if (!isModifierInValue && modifier.hasModifiers) {
1945
- handleOptionsClick(modifier.id);
1946
- }
1947
- onChange({
1948
- isRadio: true,
1949
- modifierId: Number(e.target.value),
1950
- groupId: modifier.parentModifierGroupId,
1951
- parentModifierId: modifier.parentModifierGroupItemId,
1952
- price: modifier.price || 0,
1953
- quantity: 1,
1954
- });
1955
- }; };
1956
- return (React__default['default'].createElement(core.FormControl, { fullWidth: true },
1957
- React__default['default'].createElement(core.RadioGroup, { "aria-label": name }, modifiers.map(function (modifier) {
1958
- var _a;
1959
- var _b;
1960
- return (React__default['default'].createElement(core.Box, { key: modifier.id },
1961
- React__default['default'].createElement(core.FormControlLabel, { key: modifier.id, value: modifier.id, className: radioClasses.root, control: React__default['default'].createElement(core.Radio, { checked: ((_b = value[0]) === null || _b === void 0 ? void 0 : _b.modifierId) === modifier.id, className: classNames((_a = {},
1962
- _a[radioClasses.hideRadio] = modifier.outOfStock,
1963
- _a[radioClasses.radio] = !modifier.outOfStock,
1964
- _a)), disabled: isOutOfStock || modifier.outOfStock, onChange: makeHandleChange(modifier), required: isRequired }), label: React__default['default'].createElement(core.Box, { className: radioClasses.label },
1965
- React__default['default'].createElement(Label, { name: modifier.name, price: aggregatePrice[modifier.id] || modifier.formattedPrice, disabled: isOutOfStock || modifier.outOfStock }),
1966
- modifier.outOfStock && (React__default['default'].createElement(core.Box, { minWidth: "90px", marginLeft: 2 },
1967
- React__default['default'].createElement(StatusTag, { color: "warning", label: "Out of stock", variant: "outlined", size: "md" })))), labelPlacement: "start" }),
1968
- modifier.hasModifiers && !modifier.outOfStock && (React__default['default'].createElement(Options, { handleOptionsClick: function () { return handleOptionsClick(modifier.id); } }))));
1969
- }))));
1970
- };
1971
- var MultipleSelectControl = function (props) {
1972
- var modifiers = props.modifiers, value = props.value, isOutOfStock = props.isOutOfStock, onChange = props.onChange, disableNewSelections = props.disableNewSelections, handleOptionsClick = props.handleOptionsClick, aggregatePrice = props.aggregatePrice;
1973
- var classes = useCheckboxModifierFormStyles();
1974
- var makeHandleChange = function (modifier) { return function () {
1975
- var isModifierInValue = Boolean(value.find(function (v) { return v.modifierId === modifier.id; }));
1976
- if (!isModifierInValue && modifier.hasModifiers) {
1977
- handleOptionsClick(modifier.id);
1978
- }
1979
- onChange({
1980
- isRadio: false,
1981
- modifierId: modifier.id,
1982
- groupId: modifier.parentModifierGroupId,
1983
- parentModifierId: modifier.parentModifierGroupItemId,
1984
- price: modifier.price || 0,
1985
- quantity: isModifierInValue ? 0 : 1,
1986
- });
1987
- }; };
1988
- return (React__default['default'].createElement(core.FormControl, { fullWidth: true },
1989
- React__default['default'].createElement(core.FormGroup, null, modifiers.map(function (modifier) {
1990
- var _a, _b;
1991
- return (React__default['default'].createElement(core.Box, { key: modifier.id },
1992
- React__default['default'].createElement(core.FormControlLabel, { key: modifier.id, value: modifier.id, className: classes.root, checked: value.some(function (v) { return v.modifierId === modifier.id; }), onChange: makeHandleChange(modifier), control: React__default['default'].createElement(core.Checkbox, { className: classNames((_a = {}, _a[classes.hideCheckbox] = modifier.outOfStock, _a), (_b = {}, _b[classes.checkbox] = !modifier.outOfStock, _b)), disabled: isOutOfStock || modifier.outOfStock || (!modifier.quantity && disableNewSelections) }), label: React__default['default'].createElement(core.Box, { className: classes.label },
1993
- React__default['default'].createElement(Label, { name: modifier.name, price: aggregatePrice[modifier.id] || modifier.formattedPrice, disabled: isOutOfStock || modifier.outOfStock }),
1994
- modifier.outOfStock && (React__default['default'].createElement(core.Box, { minWidth: "90px", marginLeft: 2 },
1995
- React__default['default'].createElement(StatusTag, { color: "warning", label: "Out of stock", variant: "outlined", size: "md" })))), labelPlacement: "start" }),
1996
- modifier.hasModifiers && !modifier.outOfStock && (React__default['default'].createElement(Options, { handleOptionsClick: function () { return handleOptionsClick(modifier.id); } }))));
1997
- }))));
1998
- };
1999
- var MultipleQuantitySelectControl = function (props) {
2000
- var modifiers = props.modifiers, isOutOfStock = props.isOutOfStock, onChange = props.onChange, disableNewSelections = props.disableNewSelections, handleOptionsClick = props.handleOptionsClick, selectionQuantity = props.selectionQuantity;
2001
- var makeHandleChange = function (modifier) { return function (_e, customEvent) {
2002
- onChange({
2003
- isRadio: false,
2004
- modifierId: modifier.id,
2005
- groupId: modifier.parentModifierGroupId,
2006
- parentModifierId: modifier.parentModifierGroupItemId,
2007
- price: modifier.price || 0,
2008
- quantity: customEvent.quantity,
2009
- });
2010
- }; };
2011
- return (React__default['default'].createElement(core.FormControl, { fullWidth: true },
2012
- React__default['default'].createElement(core.FormGroup, null, modifiers.map(function (modifier) { return (React__default['default'].createElement(core.Box, { key: modifier.id, style: { justifyContent: 'space-between', flexDirection: 'column' }, display: "flex" },
2013
- React__default['default'].createElement(core.Box, { display: "flex", alignItems: "center", justifyContent: "space-between", width: "100%" },
2014
- React__default['default'].createElement(Label, { name: modifier.name, price: modifier.formattedPrice, disabled: isOutOfStock || modifier.outOfStock }),
2015
- modifier.outOfStock && (React__default['default'].createElement(core.Box, { minWidth: "90px", marginLeft: 2 },
2016
- React__default['default'].createElement(StatusTag, { color: "warning", label: "Out of stock", variant: "outlined", size: "md" }))),
2017
- !modifier.outOfStock && (React__default['default'].createElement(QuantityPicker, { variation: "modifierCount", value: modifier.quantity, disableIncrement: disableNewSelections, preventManualChange: true, onChange: makeHandleChange(modifier), disabled: isOutOfStock || modifier.outOfStock, name: modifier.name }))),
2018
- React__default['default'].createElement(core.Box, { display: "flex", alignItems: "flex-start", gridGap: 4 },
2019
- modifier.hasModifiers && !modifier.outOfStock && (React__default['default'].createElement(Options, { handleOptionsClick: function () { return handleOptionsClick(modifier.id); } })),
2020
- selectionQuantity[modifier.id] &&
2021
- selectionQuantity[modifier.id].requiredSelectionCount > 0 &&
2022
- selectionQuantity[modifier.id].requiredSelectionCount !==
2023
- selectionQuantity[modifier.id].currentSelectionCount && (React__default['default'].createElement(core.Typography, { variant: "caption", color: "error" },
2024
- selectionQuantity[modifier.id].currentSelectionCount,
2025
- "/",
2026
- selectionQuantity[modifier.id].requiredSelectionCount,
2027
- " selected"))))); }))));
2028
- };
2029
- var ModifierControls = function (props) {
2030
- switch (props.type) {
2031
- case 'singleSelect':
2032
- return React__default['default'].createElement(SingleSelectModifierControl, __assign$1({}, props));
2033
- case 'multipleSelect':
2034
- return React__default['default'].createElement(MultipleSelectControl, __assign$1({}, props));
2035
- case 'multipleQuantitySelect':
2036
- return React__default['default'].createElement(MultipleQuantitySelectControl, __assign$1({}, props));
2037
- default:
2038
- return null;
2039
- }
714
+ var Label = function (props) {
715
+ var _a, _b, _c;
716
+ var name = props.name, price = props.price, _d = props.disabled, disabled = _d === void 0 ? false : _d;
717
+ var classes = useLabelStyles();
718
+ return (React.createElement(core.Box, { display: "flex", flexDirection: "column", className: classes.label },
719
+ React.createElement(core.Box, { display: "flex", alignItems: "center", gridGap: 8 },
720
+ React.createElement(core.Typography, { className: classNames((_a = {}, _a[classes.disabled] = disabled, _a)) }, name)),
721
+ price && (React.createElement(core.Typography, { className: classNames((_b = {}, _b[classes.price] = !disabled, _b), (_c = {}, _c[classes.disabled] = disabled, _c)) },
722
+ "+ ",
723
+ price))));
724
+ };
725
+ var Options = function (props) {
726
+ var handleOptionsClick = props.handleOptionsClick;
727
+ var classes = useOptionsStyles();
728
+ return (React.createElement(core.Box, null,
729
+ React.createElement(Button, { variation: "none", className: classes.options, onClick: handleOptionsClick },
730
+ React.createElement(core.Typography, { variant: "caption" }, "OPTIONS"),
731
+ React.createElement(commonUi.Icon, { icon: webIcons.ChevronRight }))));
732
+ };
733
+ var SingleSelectModifierControl = function (props) {
734
+ var modifiers = props.modifiers, name = props.name, isOutOfStock = props.isOutOfStock, onChange = props.onChange, value = props.value, handleOptionsClick = props.handleOptionsClick, aggregatePrice = props.aggregatePrice, isRequired = props.isRequired;
735
+ var radioClasses = useRadioModifierFormStyles();
736
+ var makeHandleChange = function (modifier) { return function (e) {
737
+ var isModifierInValue = Boolean(value.find(function (v) { return v.modifierId === modifier.id; }));
738
+ if (!isModifierInValue && modifier.hasModifiers) {
739
+ handleOptionsClick(modifier.id);
740
+ }
741
+ onChange({
742
+ isRadio: true,
743
+ modifierId: Number(e.target.value),
744
+ groupId: modifier.parentModifierGroupId,
745
+ parentModifierId: modifier.parentModifierGroupItemId,
746
+ price: modifier.price || 0,
747
+ quantity: 1,
748
+ });
749
+ }; };
750
+ return (React.createElement(core.FormControl, { fullWidth: true },
751
+ React.createElement(core.RadioGroup, { "aria-label": name }, modifiers.map(function (modifier) {
752
+ var _a;
753
+ var _b;
754
+ return (React.createElement(core.Box, { key: modifier.id },
755
+ React.createElement(core.FormControlLabel, { key: modifier.id, value: modifier.id, className: radioClasses.root, control: React.createElement(core.Radio, { checked: ((_b = value[0]) === null || _b === void 0 ? void 0 : _b.modifierId) === modifier.id, className: classNames((_a = {},
756
+ _a[radioClasses.hideRadio] = modifier.outOfStock,
757
+ _a[radioClasses.radio] = !modifier.outOfStock,
758
+ _a)), disabled: isOutOfStock || modifier.outOfStock, onChange: makeHandleChange(modifier), required: isRequired }), label: React.createElement(core.Box, { className: radioClasses.label },
759
+ React.createElement(Label, { name: modifier.name, price: aggregatePrice[modifier.id] || modifier.formattedPrice, disabled: isOutOfStock || modifier.outOfStock }),
760
+ modifier.outOfStock && (React.createElement(core.Box, { minWidth: "90px", marginLeft: 2 },
761
+ React.createElement(StatusTag, { color: "warning", label: "Out of stock", variant: "outlined", size: "md" })))), labelPlacement: "start" }),
762
+ modifier.hasModifiers && !modifier.outOfStock && (React.createElement(Options, { handleOptionsClick: function () { return handleOptionsClick(modifier.id); } }))));
763
+ }))));
764
+ };
765
+ var MultipleSelectControl = function (props) {
766
+ var modifiers = props.modifiers, value = props.value, isOutOfStock = props.isOutOfStock, onChange = props.onChange, disableNewSelections = props.disableNewSelections, handleOptionsClick = props.handleOptionsClick, aggregatePrice = props.aggregatePrice;
767
+ var classes = useCheckboxModifierFormStyles();
768
+ var makeHandleChange = function (modifier) { return function () {
769
+ var isModifierInValue = Boolean(value.find(function (v) { return v.modifierId === modifier.id; }));
770
+ if (!isModifierInValue && modifier.hasModifiers) {
771
+ handleOptionsClick(modifier.id);
772
+ }
773
+ onChange({
774
+ isRadio: false,
775
+ modifierId: modifier.id,
776
+ groupId: modifier.parentModifierGroupId,
777
+ parentModifierId: modifier.parentModifierGroupItemId,
778
+ price: modifier.price || 0,
779
+ quantity: isModifierInValue ? 0 : 1,
780
+ });
781
+ }; };
782
+ return (React.createElement(core.FormControl, { fullWidth: true },
783
+ React.createElement(core.FormGroup, null, modifiers.map(function (modifier) {
784
+ var _a, _b;
785
+ return (React.createElement(core.Box, { key: modifier.id },
786
+ React.createElement(core.FormControlLabel, { key: modifier.id, value: modifier.id, className: classes.root, checked: value.some(function (v) { return v.modifierId === modifier.id; }), onChange: makeHandleChange(modifier), control: React.createElement(core.Checkbox, { className: classNames((_a = {}, _a[classes.hideCheckbox] = modifier.outOfStock, _a), (_b = {}, _b[classes.checkbox] = !modifier.outOfStock, _b)), disabled: isOutOfStock || modifier.outOfStock || (!modifier.quantity && disableNewSelections) }), label: React.createElement(core.Box, { className: classes.label },
787
+ React.createElement(Label, { name: modifier.name, price: aggregatePrice[modifier.id] || modifier.formattedPrice, disabled: isOutOfStock || modifier.outOfStock }),
788
+ modifier.outOfStock && (React.createElement(core.Box, { minWidth: "90px", marginLeft: 2 },
789
+ React.createElement(StatusTag, { color: "warning", label: "Out of stock", variant: "outlined", size: "md" })))), labelPlacement: "start" }),
790
+ modifier.hasModifiers && !modifier.outOfStock && (React.createElement(Options, { handleOptionsClick: function () { return handleOptionsClick(modifier.id); } }))));
791
+ }))));
792
+ };
793
+ var MultipleQuantitySelectControl = function (props) {
794
+ var modifiers = props.modifiers, isOutOfStock = props.isOutOfStock, onChange = props.onChange, disableNewSelections = props.disableNewSelections, handleOptionsClick = props.handleOptionsClick, selectionQuantity = props.selectionQuantity;
795
+ var makeHandleChange = function (modifier) { return function (_e, customEvent) {
796
+ onChange({
797
+ isRadio: false,
798
+ modifierId: modifier.id,
799
+ groupId: modifier.parentModifierGroupId,
800
+ parentModifierId: modifier.parentModifierGroupItemId,
801
+ price: modifier.price || 0,
802
+ quantity: customEvent.quantity,
803
+ });
804
+ }; };
805
+ return (React.createElement(core.FormControl, { fullWidth: true },
806
+ React.createElement(core.FormGroup, null, modifiers.map(function (modifier) { return (React.createElement(core.Box, { key: modifier.id, style: { justifyContent: 'space-between', flexDirection: 'column' }, display: "flex" },
807
+ React.createElement(core.Box, { display: "flex", alignItems: "center", justifyContent: "space-between", width: "100%" },
808
+ React.createElement(Label, { name: modifier.name, price: modifier.formattedPrice, disabled: isOutOfStock || modifier.outOfStock }),
809
+ modifier.outOfStock && (React.createElement(core.Box, { minWidth: "90px", marginLeft: 2 },
810
+ React.createElement(StatusTag, { color: "warning", label: "Out of stock", variant: "outlined", size: "md" }))),
811
+ !modifier.outOfStock && (React.createElement(QuantityPicker, { variation: "modifierCount", value: modifier.quantity, disableIncrement: disableNewSelections, preventManualChange: true, onChange: makeHandleChange(modifier), disabled: isOutOfStock || modifier.outOfStock, name: modifier.name }))),
812
+ React.createElement(core.Box, { display: "flex", alignItems: "flex-start", gridGap: 4 },
813
+ modifier.hasModifiers && !modifier.outOfStock && (React.createElement(Options, { handleOptionsClick: function () { return handleOptionsClick(modifier.id); } })),
814
+ selectionQuantity[modifier.id] &&
815
+ selectionQuantity[modifier.id].requiredSelectionCount > 0 &&
816
+ selectionQuantity[modifier.id].requiredSelectionCount !==
817
+ selectionQuantity[modifier.id].currentSelectionCount && (React.createElement(core.Typography, { variant: "caption", color: "error" },
818
+ selectionQuantity[modifier.id].currentSelectionCount,
819
+ "/",
820
+ selectionQuantity[modifier.id].requiredSelectionCount,
821
+ " selected"))))); }))));
822
+ };
823
+ var ModifierControls = function (props) {
824
+ switch (props.type) {
825
+ case 'singleSelect':
826
+ return React.createElement(SingleSelectModifierControl, tslib.__assign({}, props));
827
+ case 'multipleSelect':
828
+ return React.createElement(MultipleSelectControl, tslib.__assign({}, props));
829
+ case 'multipleQuantitySelect':
830
+ return React.createElement(MultipleQuantitySelectControl, tslib.__assign({}, props));
831
+ default:
832
+ return null;
833
+ }
2040
834
  };
2041
835
 
2042
- var getStatusTagProps = function (props) {
2043
- var messages = props.messages, error = props.error, isRequired = props.isRequired, isOutOfStock = props.isOutOfStock;
2044
- var optionalText = messages.optionalText, outOfStockText = messages.outOfStockText, requiredText = messages.requiredText;
2045
- var color = 'default';
2046
- switch (true) {
2047
- case error:
2048
- color = 'error';
2049
- break;
2050
- case isOutOfStock:
2051
- color = 'warning';
2052
- break;
2053
- }
2054
- var label = optionalText;
2055
- switch (true) {
2056
- case isOutOfStock:
2057
- label = outOfStockText;
2058
- break;
2059
- case isRequired:
2060
- label = requiredText;
2061
- break;
2062
- }
2063
- var variant = isRequired || isOutOfStock ? 'outlined' : 'filled';
2064
- return { color: color, label: label, variant: variant };
2065
- };
2066
- var DishModifierCard = function (props) {
2067
- var _a;
2068
- var aggregatePrice = props.aggregatePrice, name = props.name, disableNewSelections = props.disableNewSelections, modifiers = props.modifiers, value = props.value, messages = props.messages, onChange = props.onChange, type = props.type, error = props.error, isOutOfStock = props.isOutOfStock, isRequired = props.isRequired, handleOptionsClick = props.handleOptionsClick, selectionQuantity = props.selectionQuantity;
2069
- var classes = useDishModifierCardStyles();
2070
- return (React__default['default'].createElement(core.Box, { className: classes.root },
2071
- React__default['default'].createElement(core.Box, { display: "flex", justifyContent: "space-between", width: "100%", alignItems: "center", height: "fit-content", marginBottom: 2 },
2072
- React__default['default'].createElement(StatusTag, __assign$1({}, getStatusTagProps(props))),
2073
- !isOutOfStock && (React__default['default'].createElement(Typography, { variant: "subtitle1", className: classNames((_a = {}, _a[classes.error] = error, _a[classes.helperText] = !error, _a)) }, messages.helperText))),
2074
- React__default['default'].createElement(Typography, { className: classes.name }, name),
2075
- React__default['default'].createElement(core.Box, null,
2076
- React__default['default'].createElement(ModifierControls, { name: name, value: value, modifiers: modifiers, isOutOfStock: isOutOfStock, isRequired: isRequired, onChange: onChange, disableNewSelections: disableNewSelections, type: type, messages: messages, handleOptionsClick: handleOptionsClick, aggregatePrice: aggregatePrice, selectionQuantity: selectionQuantity }))));
2077
- };
836
+ var getStatusTagProps = function (props) {
837
+ var messages = props.messages, error = props.error, isRequired = props.isRequired, isOutOfStock = props.isOutOfStock;
838
+ var optionalText = messages.optionalText, outOfStockText = messages.outOfStockText, requiredText = messages.requiredText;
839
+ var color = 'default';
840
+ switch (true) {
841
+ case error:
842
+ color = 'error';
843
+ break;
844
+ case isOutOfStock:
845
+ color = 'warning';
846
+ break;
847
+ }
848
+ var label = optionalText;
849
+ switch (true) {
850
+ case isOutOfStock:
851
+ label = outOfStockText;
852
+ break;
853
+ case isRequired:
854
+ label = requiredText;
855
+ break;
856
+ }
857
+ var variant = isRequired || isOutOfStock ? 'outlined' : 'filled';
858
+ return { color: color, label: label, variant: variant };
859
+ };
860
+ var DishModifierCard = function (props) {
861
+ var _a;
862
+ var aggregatePrice = props.aggregatePrice, name = props.name, disableNewSelections = props.disableNewSelections, modifiers = props.modifiers, value = props.value, messages = props.messages, onChange = props.onChange, type = props.type, error = props.error, isOutOfStock = props.isOutOfStock, isRequired = props.isRequired, handleOptionsClick = props.handleOptionsClick, selectionQuantity = props.selectionQuantity;
863
+ var classes = useDishModifierCardStyles();
864
+ return (React.createElement(commonUi.Box, { className: classes.root },
865
+ React.createElement(commonUi.Box, { display: "flex", justifyContent: "space-between", width: "100%", alignItems: "center", height: "fit-content", marginBottom: 2 },
866
+ React.createElement(StatusTag, tslib.__assign({}, getStatusTagProps(props))),
867
+ !isOutOfStock && (React.createElement(commonUi.Typography, { variant: "subtitle1", className: classNames((_a = {}, _a[classes.error] = error, _a[classes.helperText] = !error, _a)) }, messages.helperText))),
868
+ React.createElement(commonUi.Typography, { className: classes.name }, name),
869
+ React.createElement(commonUi.Box, null,
870
+ React.createElement(ModifierControls, { name: name, value: value, modifiers: modifiers, isOutOfStock: isOutOfStock, isRequired: isRequired, onChange: onChange, disableNewSelections: disableNewSelections, type: type, messages: messages, handleOptionsClick: handleOptionsClick, aggregatePrice: aggregatePrice, selectionQuantity: selectionQuantity }))));
871
+ };
2078
872
  DishModifierCard.displayName = 'DishModifierCard';
2079
873
 
2080
- var useLocationCardStyles = styles.makeStyles(function (theme) {
2081
- var _a = theme.palette, info = _a.info, grey = _a.grey, secondary = _a.secondary, background = _a.background, spacing = theme.spacing;
2082
- var selectedBackgroundColor = styles.lighten(info.light, 0.9);
2083
- var backgroundColor = background.default;
2084
- return {
2085
- root: {
2086
- border: function (_a) {
2087
- var selected = _a.selected;
2088
- return selected ? "1px solid " + info.light : '1px solid var(--surfaces-card-stroke, #E0E0E0)';
2089
- },
2090
- display: 'flex',
2091
- borderRadius: '10px',
2092
- color: grey[900],
2093
- backgroundColor: function (_a) {
2094
- var selected = _a.selected, outOfRange = _a.outOfRange;
2095
- return selected ? selectedBackgroundColor : outOfRange ? grey[200] : backgroundColor;
2096
- },
2097
- },
2098
- actionAreaFocusHighlight: {
2099
- '&:disabled': {
2100
- backgroundColor: 'inherit',
2101
- },
2102
- },
2103
- availability: {
2104
- color: secondary.light,
2105
- display: 'grid',
2106
- gridGap: spacing(0.5),
2107
- gridTemplateColumns: 'auto 1fr',
2108
- },
2109
- availabilityMessage: {
2110
- gridColumn: '2 / 3',
2111
- },
2112
- checkIcon: {
2113
- color: info.main,
2114
- },
2115
- content: {
2116
- padding: spacing(3),
2117
- display: 'flex',
2118
- flexDirection: 'column',
2119
- gridGap: spacing(2),
2120
- },
2121
- distance: {
2122
- fontSize: '0.75rem',
2123
- fontWeight: 600,
2124
- },
2125
- locationInfo: {
2126
- display: 'flex',
2127
- flexDirection: 'column',
2128
- gridGap: spacing(0.75),
2129
- },
2130
- name: {
2131
- fontSize: '1.125rem',
2132
- fontWeight: 500,
2133
- },
2134
- greyText: {
2135
- color: grey[800],
2136
- },
2137
- };
874
+ var useLocationCardStyles = styles.makeStyles(function (theme) {
875
+ var _a = theme.palette, info = _a.info, grey = _a.grey, secondary = _a.secondary, background = _a.background, spacing = theme.spacing;
876
+ var selectedBackgroundColor = styles.lighten(info.light, 0.9);
877
+ var backgroundColor = background.default;
878
+ return {
879
+ root: {
880
+ border: function (_a) {
881
+ var selected = _a.selected;
882
+ return selected ? "1px solid " + info.light : '1px solid var(--surfaces-card-stroke, #E0E0E0)';
883
+ },
884
+ display: 'flex',
885
+ borderRadius: '10px',
886
+ color: grey[900],
887
+ backgroundColor: function (_a) {
888
+ var selected = _a.selected, outOfRange = _a.outOfRange;
889
+ return selected ? selectedBackgroundColor : outOfRange ? grey[200] : backgroundColor;
890
+ },
891
+ },
892
+ actionAreaFocusHighlight: {
893
+ '&:disabled': {
894
+ backgroundColor: 'inherit',
895
+ },
896
+ },
897
+ availability: {
898
+ color: secondary.light,
899
+ display: 'grid',
900
+ gridGap: spacing(0.5),
901
+ gridTemplateColumns: 'auto 1fr',
902
+ },
903
+ availabilityMessage: {
904
+ gridColumn: '2 / 3',
905
+ },
906
+ checkIcon: {
907
+ color: info.main,
908
+ },
909
+ content: {
910
+ padding: spacing(3),
911
+ display: 'flex',
912
+ flexDirection: 'column',
913
+ gridGap: spacing(2),
914
+ },
915
+ distance: {
916
+ fontSize: '0.75rem',
917
+ fontWeight: 600,
918
+ },
919
+ locationInfo: {
920
+ display: 'flex',
921
+ flexDirection: 'column',
922
+ gridGap: spacing(0.75),
923
+ },
924
+ name: {
925
+ fontSize: '1.125rem',
926
+ fontWeight: 500,
927
+ },
928
+ greyText: {
929
+ color: grey[800],
930
+ },
931
+ };
2138
932
  });
2139
933
 
2140
- var LocationCard = function (props) {
2141
- var name = props.name, address = props.address, distance = props.distance, generalAvailability = props.generalAvailability, pickupAvailability = props.pickupAvailability, deliveryAvailability = props.deliveryAvailability, onClick = props.onClick, selected = props.selected, value = props.value, outOfRange = props.outOfRange, outOfRangeMessage = props.outOfRangeMessage, CardActionAreaProps = props.CardActionAreaProps, muiProps = __rest$1(props, ["name", "address", "distance", "generalAvailability", "pickupAvailability", "deliveryAvailability", "onClick", "selected", "value", "outOfRange", "outOfRangeMessage", "CardActionAreaProps"]);
2142
- var classes = useLocationCardStyles(props);
2143
- var anyAvailability = generalAvailability || pickupAvailability || deliveryAvailability;
2144
- var handleClick = function () {
2145
- onClick(value);
2146
- };
2147
- return (React__default['default'].createElement(core.Card, __assign$1({ className: classes.root }, muiProps),
2148
- React__default['default'].createElement(core.CardActionArea, __assign$1({ onClick: handleClick, role: "radio", "aria-checked": selected, disabled: outOfRange || Boolean(anyAvailability), classes: { focusHighlight: classes.actionAreaFocusHighlight } }, CardActionAreaProps),
2149
- React__default['default'].createElement(core.CardContent, { className: classes.content },
2150
- React__default['default'].createElement(core.Box, { className: classes.locationInfo },
2151
- React__default['default'].createElement(core.Box, { display: "flex", justifyContent: "space-between" },
2152
- React__default['default'].createElement(core.Typography, { className: classes.name }, name),
2153
- selected && React__default['default'].createElement(Icon, { icon: SvgCheck, size: "extra-large", className: classes.checkIcon })),
2154
- address && (React__default['default'].createElement(core.Typography, { className: classes.greyText, variant: "body2" }, address)),
2155
- !outOfRange && React__default['default'].createElement(core.Typography, { className: classes.distance }, distance)),
2156
- anyAvailability && (React__default['default'].createElement(core.Box, { className: classes.availability },
2157
- React__default['default'].createElement(Icon, { icon: SvgClock, size: "large" }),
2158
- generalAvailability && (React__default['default'].createElement(core.Typography, { className: classes.availabilityMessage, variant: "body2" }, generalAvailability)),
2159
- pickupAvailability && (React__default['default'].createElement(core.Typography, { className: classes.availabilityMessage, variant: "body2" }, pickupAvailability)),
2160
- deliveryAvailability && (React__default['default'].createElement(core.Typography, { className: classes.availabilityMessage, variant: "body2" }, deliveryAvailability)))),
2161
- outOfRange && (React__default['default'].createElement(core.Box, { display: "flex", gridGap: 8, alignItems: "center", color: "grey.800" },
2162
- React__default['default'].createElement(Icon, { icon: SvgInfo, size: "large", color: "inherit" }),
2163
- React__default['default'].createElement(core.Typography, { variant: "body2", className: classes.greyText }, outOfRangeMessage)))))));
934
+ var LocationCard = function (props) {
935
+ var name = props.name, address = props.address, distance = props.distance, generalAvailability = props.generalAvailability, pickupAvailability = props.pickupAvailability, deliveryAvailability = props.deliveryAvailability, onClick = props.onClick, selected = props.selected, value = props.value, outOfRange = props.outOfRange, outOfRangeMessage = props.outOfRangeMessage, CardActionAreaProps = props.CardActionAreaProps, muiProps = tslib.__rest(props, ["name", "address", "distance", "generalAvailability", "pickupAvailability", "deliveryAvailability", "onClick", "selected", "value", "outOfRange", "outOfRangeMessage", "CardActionAreaProps"]);
936
+ var classes = useLocationCardStyles(props);
937
+ var anyAvailability = generalAvailability || pickupAvailability || deliveryAvailability;
938
+ var handleClick = function () {
939
+ onClick(value);
940
+ };
941
+ return (React.createElement(core.Card, tslib.__assign({ className: classes.root }, muiProps),
942
+ React.createElement(core.CardActionArea, tslib.__assign({ onClick: handleClick, role: "radio", "aria-checked": selected, disabled: outOfRange || Boolean(anyAvailability), classes: { focusHighlight: classes.actionAreaFocusHighlight } }, CardActionAreaProps),
943
+ React.createElement(core.CardContent, { className: classes.content },
944
+ React.createElement(core.Box, { className: classes.locationInfo },
945
+ React.createElement(core.Box, { display: "flex", justifyContent: "space-between" },
946
+ React.createElement(core.Typography, { className: classes.name }, name),
947
+ selected && React.createElement(commonUi.Icon, { icon: webIcons.Check, size: "extra-large", className: classes.checkIcon })),
948
+ address && (React.createElement(core.Typography, { className: classes.greyText, variant: "body2" }, address)),
949
+ !outOfRange && React.createElement(core.Typography, { className: classes.distance }, distance)),
950
+ anyAvailability && (React.createElement(core.Box, { className: classes.availability },
951
+ React.createElement(commonUi.Icon, { icon: webIcons.Clock, size: "large" }),
952
+ generalAvailability && (React.createElement(core.Typography, { className: classes.availabilityMessage, variant: "body2" }, generalAvailability)),
953
+ pickupAvailability && (React.createElement(core.Typography, { className: classes.availabilityMessage, variant: "body2" }, pickupAvailability)),
954
+ deliveryAvailability && (React.createElement(core.Typography, { className: classes.availabilityMessage, variant: "body2" }, deliveryAvailability)))),
955
+ outOfRange && (React.createElement(core.Box, { display: "flex", gridGap: 8, alignItems: "center", color: "grey.800" },
956
+ React.createElement(commonUi.Icon, { icon: webIcons.Info, size: "large", color: "inherit" }),
957
+ React.createElement(core.Typography, { variant: "body2", className: classes.greyText }, outOfRangeMessage)))))));
2164
958
  };
2165
959
 
2166
- var useMenuDropdownStyles = styles.makeStyles(function (theme) {
2167
- var _a, _b;
2168
- return ({
2169
- formControl: (_a = {},
2170
- _a[theme.breakpoints.up('lg')] = {
2171
- alignSelf: 'start',
2172
- },
2173
- _a),
2174
- menuItem: {
2175
- alignItems: 'center',
2176
- display: 'flex',
2177
- gridGap: theme.spacing(1),
2178
- },
2179
- select: {
2180
- '& .MuiSelect-root': (_b = {
2181
- '&:focus': {
2182
- outline: '2px solid #0076CB',
2183
- borderRadius: 8,
2184
- },
2185
- color: '#212121',
2186
- padding: theme.spacing(1, 0.5, 1, 0.5),
2187
- zIndex: 10
2188
- },
2189
- _b[theme.breakpoints.down('md')] = {
2190
- width: 0,
2191
- minWidth: 0,
2192
- padding: 0,
2193
- },
2194
- _b),
2195
- },
2196
- unavailable: {
2197
- color: theme.palette.grey[700],
2198
- },
2199
- });
960
+ var useMenuDropdownStyles = styles.makeStyles(function (theme) {
961
+ var _a, _b;
962
+ return ({
963
+ formControl: (_a = {},
964
+ _a[theme.breakpoints.up('lg')] = {
965
+ alignSelf: 'start',
966
+ },
967
+ _a),
968
+ menuItem: {
969
+ alignItems: 'center',
970
+ display: 'flex',
971
+ gridGap: theme.spacing(1),
972
+ },
973
+ select: {
974
+ '& .MuiSelect-root': (_b = {
975
+ '&:focus': {
976
+ outline: '2px solid #0076CB',
977
+ borderRadius: 8,
978
+ },
979
+ color: '#212121',
980
+ padding: theme.spacing(1, 0.5, 1, 0.5),
981
+ zIndex: 10
982
+ },
983
+ _b[theme.breakpoints.down('md')] = {
984
+ width: 0,
985
+ minWidth: 0,
986
+ padding: 0,
987
+ },
988
+ _b),
989
+ },
990
+ unavailable: {
991
+ color: theme.palette.grey[700],
992
+ },
993
+ });
2200
994
  });
2201
995
 
2202
- var MenuDropdown = function (props) {
2203
- var menuOptions = props.menuOptions, onSelect = props.onSelect, selectedOptionId = props.selectedOptionId;
2204
- var classes = useMenuDropdownStyles(props);
2205
- var _a = React.useState(false), open = _a[0], setOpen = _a[1];
2206
- var isMobile = core.useMediaQuery(function (_a) {
2207
- var breakpoints = _a.breakpoints;
2208
- return breakpoints.down('md');
2209
- });
2210
- return (React__default['default'].createElement(core.FormControl, { hiddenLabel: true, classes: { root: classes.formControl } },
2211
- React__default['default'].createElement("label", { id: "menu-dropdown-label", className: "sr-only" }, props.label),
2212
- React__default['default'].createElement(core.Select, { SelectDisplayProps: { 'aria-labelledby': 'menu-dropdown-label' }, value: selectedOptionId, onOpen: function () { return setOpen(true); }, onClose: function () { return setOpen(false); }, disableUnderline: true, onChange: function (event) { return onSelect(event.target.value); }, fullWidth: true, open: open, startAdornment: React__default['default'].createElement(core.InputAdornment, { position: "start", onClick: function () { return setOpen(true); } },
2213
- React__default['default'].createElement(Icon, { icon: SvgRestaurantMenu, size: isMobile ? 'extra-large' : 'large' })), IconComponent: function () { return (React__default['default'].createElement(core.InputAdornment, { position: "end", onClick: function () { return setOpen(true); } },
2214
- React__default['default'].createElement(Icon, { color: "#0076CB", icon: open ? SvgChevronUp : SvgChevronDown, size: "large" }))); }, MenuProps: {
2215
- disablePortal: true,
2216
- anchorOrigin: {
2217
- vertical: 'bottom',
2218
- horizontal: 'left',
2219
- },
2220
- transformOrigin: {
2221
- vertical: 'top',
2222
- horizontal: 'left',
2223
- },
2224
- getContentAnchorEl: null,
2225
- }, className: classes.select, renderValue: function (selected) { var _a; return (_a = menuOptions.find(function (menuOption) { return menuOption.id === selected; })) === null || _a === void 0 ? void 0 : _a.name; } }, menuOptions.map(function (option, index) { return (React__default['default'].createElement(core.MenuItem, { key: index, value: option.id, className: classNames(classes.menuItem, option.isUnavailable ? classes.unavailable : '') },
2226
- option.name,
2227
- option.isUnavailable && React__default['default'].createElement(Icon, { icon: SvgClock, size: "large" }))); }))));
996
+ var MenuDropdown = function (props) {
997
+ var menuOptions = props.menuOptions, onSelect = props.onSelect, selectedOptionId = props.selectedOptionId;
998
+ var classes = useMenuDropdownStyles(props);
999
+ var _a = React.useState(false), open = _a[0], setOpen = _a[1];
1000
+ var isMobile = core.useMediaQuery(function (_a) {
1001
+ var breakpoints = _a.breakpoints;
1002
+ return breakpoints.down('md');
1003
+ });
1004
+ return (React.createElement(core.FormControl, { hiddenLabel: true, classes: { root: classes.formControl } },
1005
+ React.createElement("label", { id: "menu-dropdown-label", className: "sr-only" }, props.label),
1006
+ React.createElement(core.Select, { SelectDisplayProps: { 'aria-labelledby': 'menu-dropdown-label' }, value: selectedOptionId, onOpen: function () { return setOpen(true); }, onClose: function () { return setOpen(false); }, disableUnderline: true, onChange: function (event) { return onSelect(event.target.value); }, fullWidth: true, open: open, startAdornment: React.createElement(core.InputAdornment, { position: "start", onClick: function () { return setOpen(true); } },
1007
+ React.createElement(commonUi.Icon, { icon: webIcons.RestaurantMenu, size: isMobile ? 'extra-large' : 'large' })), IconComponent: function () { return (React.createElement(core.InputAdornment, { position: "end", onClick: function () { return setOpen(true); } },
1008
+ React.createElement(commonUi.Icon, { color: "#0076CB", icon: open ? webIcons.ChevronUp : webIcons.ChevronDown, size: "large" }))); }, MenuProps: {
1009
+ disablePortal: true,
1010
+ anchorOrigin: {
1011
+ vertical: 'bottom',
1012
+ horizontal: 'left',
1013
+ },
1014
+ transformOrigin: {
1015
+ vertical: 'top',
1016
+ horizontal: 'left',
1017
+ },
1018
+ getContentAnchorEl: null,
1019
+ }, className: classes.select, renderValue: function (selected) { var _a; return (_a = menuOptions.find(function (menuOption) { return menuOption.id === selected; })) === null || _a === void 0 ? void 0 : _a.name; } }, menuOptions.map(function (option, index) { return (React.createElement(core.MenuItem, { key: index, value: option.id, className: classNames(classes.menuItem, option.isUnavailable ? classes.unavailable : '') },
1020
+ option.name,
1021
+ option.isUnavailable && React.createElement(commonUi.Icon, { icon: webIcons.Clock, size: "large" }))); }))));
2228
1022
  };
2229
1023
 
2230
- var useMenuFilterStyles = styles.makeStyles(function (theme) { return ({
2231
- triggerLabel: {
2232
- color: theme.palette.info.main,
2233
- whiteSpace: 'nowrap',
2234
- },
1024
+ var useMenuFilterStyles = styles.makeStyles(function (theme) { return ({
1025
+ triggerLabel: {
1026
+ color: theme.palette.info.main,
1027
+ whiteSpace: 'nowrap',
1028
+ },
2235
1029
  }); });
2236
1030
 
2237
1031
  var _path;
@@ -2250,500 +1044,500 @@ function SvgLeafIcon(props) {
2250
1044
  })));
2251
1045
  }
2252
1046
 
2253
- var MenuFilter = function (props) {
2254
- var options = props.options, onChange = props.onChange, onClear = props.onClear, value = props.value, _a = props.triggerLabel, triggerLabel = _a === void 0 ? 'Add Filter' : _a, _b = props.noOptionsLabel, noOptionsLabel = _b === void 0 ? 'Reset Filters' : _b;
2255
- var triggerId = 'menu-filter-trigger';
2256
- var popoverId = 'menu-filter-popover';
2257
- var classes = useMenuFilterStyles();
2258
- var _c = React.useState(null), anchorEl = _c[0], setAnchorEl = _c[1];
2259
- var open = Boolean(anchorEl);
2260
- var optionIds = options.map(function (opt) { return opt.id; });
2261
- var valueIds = value.map(function (val) { return val.id; });
2262
- var availableIds = optionIds.filter(function (optionId) { return !valueIds.includes(optionId); });
2263
- var availableFilters = options.filter(function (opt) { return availableIds.includes(opt.id); });
2264
- var allFiltersSelected = availableFilters.length === 0;
2265
- var handleChange = function (value, event) {
2266
- onChange(value, event);
2267
- setAnchorEl(null);
2268
- };
2269
- var handleTriggerClick = function (event) {
2270
- setAnchorEl(event.currentTarget);
2271
- };
2272
- var handleClose = function () {
2273
- setAnchorEl(null);
2274
- };
2275
- var handleClear = function () {
2276
- onClear();
2277
- setAnchorEl(null);
2278
- };
2279
- if (allFiltersSelected) {
2280
- return (React__default['default'].createElement(core.Button, { size: "small", startIcon: React__default['default'].createElement(SvgLeafIcon, null), classes: { label: classes.triggerLabel }, onClick: handleClear }, noOptionsLabel));
2281
- }
2282
- return (React__default['default'].createElement(React__default['default'].Fragment, null,
2283
- React__default['default'].createElement(core.Button, { id: triggerId, "aria-controls": popoverId, "aria-haspopup": "true", "aria-expanded": open, onClick: handleTriggerClick, size: "small", startIcon: React__default['default'].createElement(SvgLeafIcon, null), classes: { label: classes.triggerLabel } }, triggerLabel),
2284
- React__default['default'].createElement(core.Menu, { id: popoverId, anchorEl: anchorEl, open: open, onClose: handleClose }, availableFilters.map(function (option, index) {
2285
- return (React__default['default'].createElement(core.MenuItem, { key: index, value: option.id, onClick: function (event) { return handleChange(option, event); } },
2286
- React__default['default'].createElement(ItemTag, { alt: option.abbr, color: option.color }, option.abbr),
2287
- React__default['default'].createElement(core.Box, { ml: 1 }, option.name)));
2288
- }))));
1047
+ var MenuFilter = function (props) {
1048
+ var options = props.options, onChange = props.onChange, onClear = props.onClear, value = props.value, _a = props.triggerLabel, triggerLabel = _a === void 0 ? 'Add Filter' : _a, _b = props.noOptionsLabel, noOptionsLabel = _b === void 0 ? 'Reset Filters' : _b;
1049
+ var triggerId = 'menu-filter-trigger';
1050
+ var popoverId = 'menu-filter-popover';
1051
+ var classes = useMenuFilterStyles();
1052
+ var _c = React.useState(null), anchorEl = _c[0], setAnchorEl = _c[1];
1053
+ var open = Boolean(anchorEl);
1054
+ var optionIds = options.map(function (opt) { return opt.id; });
1055
+ var valueIds = value.map(function (val) { return val.id; });
1056
+ var availableIds = optionIds.filter(function (optionId) { return !valueIds.includes(optionId); });
1057
+ var availableFilters = options.filter(function (opt) { return availableIds.includes(opt.id); });
1058
+ var allFiltersSelected = availableFilters.length === 0;
1059
+ var handleChange = function (value, event) {
1060
+ onChange(value, event);
1061
+ setAnchorEl(null);
1062
+ };
1063
+ var handleTriggerClick = function (event) {
1064
+ setAnchorEl(event.currentTarget);
1065
+ };
1066
+ var handleClose = function () {
1067
+ setAnchorEl(null);
1068
+ };
1069
+ var handleClear = function () {
1070
+ onClear();
1071
+ setAnchorEl(null);
1072
+ };
1073
+ if (allFiltersSelected) {
1074
+ return (React.createElement(core.Button, { size: "small", startIcon: React.createElement(SvgLeafIcon, null), classes: { label: classes.triggerLabel }, onClick: handleClear }, noOptionsLabel));
1075
+ }
1076
+ return (React.createElement(React.Fragment, null,
1077
+ React.createElement(core.Button, { id: triggerId, "aria-controls": popoverId, "aria-haspopup": "true", "aria-expanded": open, onClick: handleTriggerClick, size: "small", startIcon: React.createElement(SvgLeafIcon, null), classes: { label: classes.triggerLabel } }, triggerLabel),
1078
+ React.createElement(core.Menu, { id: popoverId, anchorEl: anchorEl, open: open, onClose: handleClose }, availableFilters.map(function (option, index) {
1079
+ return (React.createElement(core.MenuItem, { key: index, value: option.id, onClick: function (event) { return handleChange(option, event); } },
1080
+ React.createElement(ItemTag, { alt: option.abbr, color: option.color }, option.abbr),
1081
+ React.createElement(core.Box, { ml: 1 }, option.name)));
1082
+ }))));
2289
1083
  };
2290
1084
 
2291
- var useSelectableChipStyles = styles.makeStyles(function (theme) { return ({
2292
- root: {
2293
- border: '2px solid',
2294
- borderColor: theme.palette.grey[100],
2295
- borderRadius: '50px',
2296
- backgroundColor: theme.palette.grey[100],
2297
- color: theme.palette.grey[900],
2298
- padding: theme.spacing(1, 2),
2299
- fontSize: '0.875rem',
2300
- fontWeight: 400,
2301
- minWidth: 'unset',
2302
- minHeight: 'unset',
2303
- opacity: 'unset',
2304
- textTransform: 'none',
2305
- textAlign: 'left',
2306
- '&::-webkit-scrollbar': {
2307
- display: 'none',
2308
- },
2309
- '&.Mui-selected': {
2310
- backgroundColor: theme.palette.grey[100],
2311
- borderColor: '#0A202F',
2312
- color: theme.palette.grey[900],
2313
- fontWeight: 400,
2314
- '&:hover': {
2315
- background: theme.palette.grey[100],
2316
- },
2317
- },
2318
- },
1085
+ var useSelectableChipStyles = styles.makeStyles(function (theme) { return ({
1086
+ root: {
1087
+ border: '2px solid',
1088
+ borderColor: theme.palette.grey[100],
1089
+ borderRadius: '50px',
1090
+ backgroundColor: theme.palette.grey[100],
1091
+ color: theme.palette.grey[900],
1092
+ padding: theme.spacing(1, 2),
1093
+ fontSize: '0.875rem',
1094
+ fontWeight: 400,
1095
+ minWidth: 'unset',
1096
+ minHeight: 'unset',
1097
+ opacity: 'unset',
1098
+ textTransform: 'none',
1099
+ textAlign: 'left',
1100
+ '&::-webkit-scrollbar': {
1101
+ display: 'none',
1102
+ },
1103
+ '&.Mui-selected': {
1104
+ backgroundColor: theme.palette.grey[100],
1105
+ borderColor: '#0A202F',
1106
+ color: theme.palette.grey[900],
1107
+ fontWeight: 400,
1108
+ '&:hover': {
1109
+ background: theme.palette.grey[100],
1110
+ },
1111
+ },
1112
+ },
2319
1113
  }); });
2320
1114
 
2321
- var SelectableChip = function (props) {
2322
- var classes = useSelectableChipStyles(props);
2323
- return (React__default['default'].createElement(Tab__default['default'], __assign$1({ "data-tab-for-section-id": props.value, classes: {
2324
- root: classes.root,
2325
- selected: classes.selected,
2326
- } }, props)));
1115
+ var SelectableChip = function (props) {
1116
+ var classes = useSelectableChipStyles(props);
1117
+ return (React.createElement(Tab, tslib.__assign({ "data-tab-for-section-id": props.value, classes: {
1118
+ root: classes.root,
1119
+ selected: classes.selected,
1120
+ } }, props)));
2327
1121
  };
2328
1122
 
2329
- var useSelectableChipGroupStyles = styles.makeStyles(function (_a) {
2330
- var _b;
2331
- var breakpoints = _a.breakpoints, spacing = _a.spacing;
2332
- return ({
2333
- flexContainer: (_b = {},
2334
- _b[breakpoints.down('md')] = {
2335
- padding: spacing(0, 2),
2336
- },
2337
- _b[breakpoints.up('lg')] = {
2338
- alignItems: 'flex-start',
2339
- flexDirection: 'column',
2340
- },
2341
- _b.gridGap = spacing(1.5),
2342
- _b),
2343
- });
1123
+ var useSelectableChipGroupStyles = styles.makeStyles(function (_a) {
1124
+ var _b;
1125
+ var breakpoints = _a.breakpoints, spacing = _a.spacing;
1126
+ return ({
1127
+ flexContainer: (_b = {},
1128
+ _b[breakpoints.down('md')] = {
1129
+ padding: spacing(0, 2),
1130
+ },
1131
+ _b[breakpoints.up('lg')] = {
1132
+ alignItems: 'flex-start',
1133
+ flexDirection: 'column',
1134
+ },
1135
+ _b.gridGap = spacing(1.5),
1136
+ _b),
1137
+ });
2344
1138
  });
2345
1139
 
2346
- var SelectableChipGroup = function (props) {
2347
- var children = props.children, muiProps = __rest$1(props, ["children"]);
2348
- var classes = useSelectableChipGroupStyles(props);
2349
- return (React__default['default'].createElement(core.Tabs, __assign$1({ TabIndicatorProps: {
2350
- hidden: true,
2351
- }, variant: "scrollable", scrollButtons: "off", classes: classes }, muiProps), children));
1140
+ var SelectableChipGroup = function (props) {
1141
+ var children = props.children, muiProps = tslib.__rest(props, ["children"]);
1142
+ var classes = useSelectableChipGroupStyles(props);
1143
+ return (React.createElement(core.Tabs, tslib.__assign({ TabIndicatorProps: {
1144
+ hidden: true,
1145
+ }, variant: "scrollable", scrollButtons: "off", classes: classes }, muiProps), children));
2352
1146
  };
2353
1147
 
2354
- var useStyles$4 = core.makeStyles(function (_a) {
2355
- var spacing = _a.spacing;
2356
- return ({
2357
- root: {
2358
- padding: spacing(0.5, 0),
2359
- height: 'unset',
2360
- borderRadius: 4,
2361
- },
2362
- label: {
2363
- paddingLeft: 8,
2364
- display: 'flex',
2365
- gridGap: 8,
2366
- alignItems: 'center',
2367
- },
2368
- });
2369
- });
2370
- var SelectedMenuFiltersList = function (props) {
2371
- var filters = props.filters, onChipClick = props.onChipClick;
2372
- var classes = useStyles$4();
2373
- return (React__default['default'].createElement(React__default['default'].Fragment, null, filters.map(function (filter, index) { return (React__default['default'].createElement(core.Chip, { key: filter.name + "-" + index, classes: classes, onClick: function (event) { return onChipClick(filter, event); }, label: React__default['default'].createElement(React__default['default'].Fragment, null,
2374
- React__default['default'].createElement(ItemTag, { alt: filter.abbr, color: filter.color }, filter.abbr),
2375
- React__default['default'].createElement(core.Typography, { variant: "caption" }, filter.name),
2376
- React__default['default'].createElement(Icon, { icon: SvgXCircle, size: "large" })) })); })));
1148
+ var useStyles$4 = core.makeStyles(function (_a) {
1149
+ var spacing = _a.spacing;
1150
+ return ({
1151
+ root: {
1152
+ padding: spacing(0.5, 0),
1153
+ height: 'unset',
1154
+ borderRadius: 4,
1155
+ },
1156
+ label: {
1157
+ paddingLeft: 8,
1158
+ display: 'flex',
1159
+ gridGap: 8,
1160
+ alignItems: 'center',
1161
+ },
1162
+ });
1163
+ });
1164
+ var SelectedMenuFiltersList = function (props) {
1165
+ var filters = props.filters, onChipClick = props.onChipClick;
1166
+ var classes = useStyles$4();
1167
+ return (React.createElement(React.Fragment, null, filters.map(function (filter, index) { return (React.createElement(core.Chip, { key: filter.name + "-" + index, classes: classes, onClick: function (event) { return onChipClick(filter, event); }, label: React.createElement(React.Fragment, null,
1168
+ React.createElement(ItemTag, { alt: filter.abbr, color: filter.color }, filter.abbr),
1169
+ React.createElement(core.Typography, { variant: "caption" }, filter.name),
1170
+ React.createElement(commonUi.Icon, { icon: webIcons.XCircle, size: "large" })) })); })));
2377
1171
  };
2378
1172
 
2379
- var MenuSectionGroup = React.forwardRef(function (props, ref) {
2380
- var children = props.children, restProps = __rest$1(props, ["children"]);
2381
- return (React__default['default'].createElement(core.Box, __assign$1({ display: "flex", flexDirection: "column", gridGap: 40, marginBottom: 4 }, restProps, { ref: ref }, { "data-component-type": "menu-section-group" }), children));
2382
- });
1173
+ var MenuSectionGroup = React.forwardRef(function (props, ref) {
1174
+ var children = props.children, restProps = tslib.__rest(props, ["children"]);
1175
+ return (React.createElement(core.Box, tslib.__assign({ display: "flex", flexDirection: "column", gridGap: 40, marginBottom: 4 }, restProps, { ref: ref }, { "data-component-type": "menu-section-group" }), children));
1176
+ });
2383
1177
  MenuSectionGroup.displayName = 'MenuSectionGroup';
2384
1178
 
2385
- var useStyles$3 = core.makeStyles(function () { return ({
2386
- title: {
2387
- fontWeight: 400,
2388
- fontSize: 20,
2389
- lineHeight: '30px',
2390
- },
1179
+ var useStyles$3 = core.makeStyles(function () { return ({
1180
+ title: {
1181
+ fontWeight: 400,
1182
+ fontSize: 20,
1183
+ lineHeight: '30px',
1184
+ },
2391
1185
  }); });
2392
1186
 
2393
- var MenuSection = React.forwardRef(function (props, ref) {
2394
- var name = props.name, children = props.children, loading = props.loading, restProps = __rest$1(props, ["name", "children", "loading"]);
2395
- var classes = useStyles$3();
2396
- return (React__default['default'].createElement(core.Box, __assign$1({}, restProps, { ref: ref, component: 'section' }, { "data-component-type": "menu-section", style: { scrollMarginTop: '70px' } }),
2397
- React__default['default'].createElement(core.Box, { marginTop: 1, marginBottom: 4 },
2398
- React__default['default'].createElement(core.Typography, { component: "h1", className: classes.title }, loading ? React__default['default'].createElement(lab.Skeleton, null) : name)),
2399
- children));
2400
- });
1187
+ var MenuSection = React.forwardRef(function (props, ref) {
1188
+ var name = props.name, children = props.children, loading = props.loading, restProps = tslib.__rest(props, ["name", "children", "loading"]);
1189
+ var classes = useStyles$3();
1190
+ return (React.createElement(core.Box, tslib.__assign({}, restProps, { ref: ref, component: 'section' }, { "data-component-type": "menu-section", style: { scrollMarginTop: '70px' } }),
1191
+ React.createElement(core.Box, { marginTop: 1, marginBottom: 4 },
1192
+ React.createElement(core.Typography, { component: "h1", className: classes.title }, loading ? React.createElement(lab.Skeleton, null) : name)),
1193
+ children));
1194
+ });
2401
1195
  MenuSection.displayName = 'MenuSection';
2402
1196
 
2403
- var useStyles$2 = core.makeStyles(function (_a) {
2404
- var _b;
2405
- var breakpoints = _a.breakpoints;
2406
- return ({
2407
- main: (_b = {},
2408
- _b[breakpoints.down('md')] = {
2409
- gridTemplateColumns: '1fr',
2410
- },
2411
- _b[breakpoints.up('lg')] = {
2412
- gridTemplateColumns: 'repeat(2, minmax(280px, 1fr))',
2413
- },
2414
- _b.display = 'grid',
2415
- _b.gridGap = 32,
2416
- _b),
2417
- });
1197
+ var useStyles$2 = core.makeStyles(function (_a) {
1198
+ var _b;
1199
+ var breakpoints = _a.breakpoints;
1200
+ return ({
1201
+ main: (_b = {},
1202
+ _b[breakpoints.down('md')] = {
1203
+ gridTemplateColumns: '1fr',
1204
+ },
1205
+ _b[breakpoints.up('lg')] = {
1206
+ gridTemplateColumns: 'repeat(2, minmax(280px, 1fr))',
1207
+ },
1208
+ _b.display = 'grid',
1209
+ _b.gridGap = 32,
1210
+ _b),
1211
+ });
2418
1212
  });
2419
1213
 
2420
- var MenuItemGroup = React.forwardRef(function (props, ref) {
2421
- var classes = useStyles$2();
2422
- props.children; var className = props.className, restProps = __rest$1(props, ["children", "className"]);
2423
- return (React__default['default'].createElement(core.Box, __assign$1({ className: classNames(classes.main, className) }, { ref: ref }, { "data-component-type": "menu-item-group" }, restProps), props.children));
2424
- });
1214
+ var MenuItemGroup = React.forwardRef(function (props, ref) {
1215
+ var classes = useStyles$2();
1216
+ props.children; var className = props.className, restProps = tslib.__rest(props, ["children", "className"]);
1217
+ return (React.createElement(core.Box, tslib.__assign({ className: classNames(classes.main, className) }, { ref: ref }, { "data-component-type": "menu-item-group" }, restProps), props.children));
1218
+ });
2425
1219
  MenuItemGroup.displayName = 'MenuItemGroup';
2426
1220
 
2427
- var PageSection = function (props) { return (React__default['default'].createElement(core.Box, { p: 4, borderBottom: "1px solid #E0E0E0" }, props.children)); };
2428
-
2429
- var useStyles$1 = core.makeStyles(function () { return ({
2430
- closeButton: {
2431
- padding: 0,
2432
- },
2433
- }); });
2434
- var DialogTitle = function (props) {
2435
- var Icon = props.Icon, title = props.title, titleId = props.titleId, onClose = props.onClose;
2436
- var classes = useStyles$1();
2437
- return (React__default['default'].createElement(core.DialogTitle, null,
2438
- React__default['default'].createElement(core.Box, { display: "flex", alignItems: "center", gridGap: 16 },
2439
- Icon && Icon,
2440
- React__default['default'].createElement(core.Typography, { variant: "h1", id: titleId }, title)),
2441
- onClose && (React__default['default'].createElement(core.IconButton, { color: "inherit", className: classes.closeButton, "aria-label": "Close dialog", onClick: onClose },
2442
- React__default['default'].createElement(SvgX, null)))));
1221
+ var PageSection = function (props) { return (React.createElement(core.Box, { p: 4, borderBottom: "1px solid #E0E0E0" }, props.children)); };
1222
+
1223
+ var useStyles$1 = core.makeStyles(function () { return ({
1224
+ closeButton: {
1225
+ padding: 0,
1226
+ },
1227
+ }); });
1228
+ var DialogTitle = function (props) {
1229
+ var Icon = props.Icon, title = props.title, titleId = props.titleId, onClose = props.onClose;
1230
+ var classes = useStyles$1();
1231
+ return (React.createElement(core.DialogTitle, null,
1232
+ React.createElement(core.Box, { display: "flex", alignItems: "center", gridGap: 16 },
1233
+ Icon && Icon,
1234
+ React.createElement(core.Typography, { variant: "h1", id: titleId }, title)),
1235
+ onClose && (React.createElement(core.IconButton, { color: "inherit", className: classes.closeButton, "aria-label": "Close dialog", onClick: onClose },
1236
+ React.createElement(webIcons.X, null)))));
2443
1237
  };
2444
1238
 
2445
- var DialogSection = function (props) {
2446
- var edgeToEdge = props.edgeToEdge, borderBottom = props.borderBottom, children = props.children, restProps = __rest$1(props, ["edgeToEdge", "borderBottom", "children"]);
2447
- return (React__default['default'].createElement(core.Box, __assign$1({ paddingTop: 4, paddingBottom: borderBottom ? 4 : 0, paddingX: edgeToEdge ? 0 : 2, borderBottom: borderBottom ? '1px solid #E0E0E0' : undefined }, restProps), children));
1239
+ var DialogSection = function (props) {
1240
+ var edgeToEdge = props.edgeToEdge, borderBottom = props.borderBottom, children = props.children, restProps = tslib.__rest(props, ["edgeToEdge", "borderBottom", "children"]);
1241
+ return (React.createElement(core.Box, tslib.__assign({ paddingTop: 4, paddingBottom: borderBottom ? 4 : 0, paddingX: edgeToEdge ? 0 : 2, borderBottom: borderBottom ? '1px solid #E0E0E0' : undefined }, restProps), children));
2448
1242
  };
2449
1243
 
2450
- var Switch = core.withStyles(function (_a) {
2451
- var palette = _a.palette;
2452
- return ({
2453
- checked: {
2454
- '& $thumb': {
2455
- backgroundColor: palette.success.main,
2456
- },
2457
- '&& + $track': {
2458
- backgroundColor: palette.success.main,
2459
- opacity: 0.5,
2460
- },
2461
- },
2462
- switchBase: {
2463
- color: palette.grey[300],
2464
- },
2465
- thumb: {},
2466
- track: {},
2467
- });
1244
+ var Switch = core.withStyles(function (_a) {
1245
+ var palette = _a.palette;
1246
+ return ({
1247
+ checked: {
1248
+ '& $thumb': {
1249
+ backgroundColor: palette.success.main,
1250
+ },
1251
+ '&& + $track': {
1252
+ backgroundColor: palette.success.main,
1253
+ opacity: 0.5,
1254
+ },
1255
+ },
1256
+ switchBase: {
1257
+ color: palette.grey[300],
1258
+ },
1259
+ thumb: {},
1260
+ track: {},
1261
+ });
2468
1262
  })(core.Switch);
2469
1263
 
2470
- var Checkbox = core.withStyles(function (_a) {
2471
- var palette = _a.palette;
2472
- return ({
2473
- checked: {},
2474
- root: {
2475
- '&$checked': {
2476
- color: palette.info.main,
2477
- },
2478
- },
2479
- });
1264
+ var Checkbox = core.withStyles(function (_a) {
1265
+ var palette = _a.palette;
1266
+ return ({
1267
+ checked: {},
1268
+ root: {
1269
+ '&$checked': {
1270
+ color: palette.info.main,
1271
+ },
1272
+ },
1273
+ });
2480
1274
  })(core.Checkbox);
2481
1275
 
2482
- var Radio = core.withStyles(function (_a) {
2483
- var palette = _a.palette;
2484
- return ({
2485
- checked: {},
2486
- root: {
2487
- '&$checked': {
2488
- color: palette.info.main,
2489
- },
2490
- },
2491
- });
1276
+ var Radio = core.withStyles(function (_a) {
1277
+ var palette = _a.palette;
1278
+ return ({
1279
+ checked: {},
1280
+ root: {
1281
+ '&$checked': {
1282
+ color: palette.info.main,
1283
+ },
1284
+ },
1285
+ });
2492
1286
  })(core.Radio);
2493
1287
 
2494
- var useStyles = core.makeStyles(function (theme) { return ({
2495
- root: {
2496
- '& > div': {
2497
- padding: 0,
2498
- '&:last-child': {
2499
- padding: 0,
2500
- },
2501
- },
2502
- display: 'flex',
2503
- flexDirection: 'column',
2504
- alignItems: 'start',
2505
- gridGap: theme.spacing(1),
2506
- padding: theme.spacing(2),
2507
- borderRadius: theme.spacing(2),
2508
- },
2509
- button: {
2510
- color: theme.palette.info.main,
2511
- },
2512
- description: {
2513
- color: theme.palette.grey[700],
2514
- },
2515
- header: {
2516
- color: function (props) {
2517
- return ({
2518
- alert: theme.palette.error.main,
2519
- info: theme.palette.info.main,
2520
- offer: theme.palette.success.main,
2521
- }[props.type]);
2522
- },
2523
- },
2524
- headerTitle: {
2525
- color: function (props) {
2526
- return ({
2527
- alert: theme.palette.error.main,
2528
- info: theme.palette.info.main,
2529
- offer: theme.palette.success.main,
2530
- }[props.type]);
2531
- },
2532
- fontWeight: 600,
2533
- },
2534
- content: {
2535
- marginLeft: theme.spacing(5),
2536
- },
1288
+ var useStyles = core.makeStyles(function (theme) { return ({
1289
+ root: {
1290
+ '& > div': {
1291
+ padding: 0,
1292
+ '&:last-child': {
1293
+ padding: 0,
1294
+ },
1295
+ },
1296
+ display: 'flex',
1297
+ flexDirection: 'column',
1298
+ alignItems: 'start',
1299
+ gridGap: theme.spacing(1),
1300
+ padding: theme.spacing(2),
1301
+ borderRadius: theme.spacing(2),
1302
+ },
1303
+ button: {
1304
+ color: theme.palette.info.main,
1305
+ },
1306
+ description: {
1307
+ color: theme.palette.grey[700],
1308
+ },
1309
+ header: {
1310
+ color: function (props) {
1311
+ return ({
1312
+ alert: theme.palette.error.main,
1313
+ info: theme.palette.info.main,
1314
+ offer: theme.palette.success.main,
1315
+ }[props.type]);
1316
+ },
1317
+ },
1318
+ headerTitle: {
1319
+ color: function (props) {
1320
+ return ({
1321
+ alert: theme.palette.error.main,
1322
+ info: theme.palette.info.main,
1323
+ offer: theme.palette.success.main,
1324
+ }[props.type]);
1325
+ },
1326
+ fontWeight: 600,
1327
+ },
1328
+ content: {
1329
+ marginLeft: theme.spacing(5),
1330
+ },
2537
1331
  }); });
2538
1332
 
2539
- var bannerIconStyles = { color: 'inherit', width: 24, height: 24 };
2540
- var BannerTypeIcons = {
2541
- // @ts-expect-error style prop works
2542
- alert: React__default['default'].createElement(SvgWarning, { style: bannerIconStyles }),
2543
- // @ts-expect-error style prop works
2544
- info: React__default['default'].createElement(SvgInfo, { style: bannerIconStyles }),
2545
- // @ts-expect-error style prop works
2546
- offer: React__default['default'].createElement(SvgDollarSign, { style: bannerIconStyles }),
1333
+ var bannerIconStyles = { color: 'inherit', width: 24, height: 24 };
1334
+ var BannerTypeIcons = {
1335
+ // @ts-expect-error style prop works
1336
+ alert: React.createElement(webIcons.Warning, { style: bannerIconStyles }),
1337
+ // @ts-expect-error style prop works
1338
+ info: React.createElement(webIcons.Info, { style: bannerIconStyles }),
1339
+ // @ts-expect-error style prop works
1340
+ offer: React.createElement(webIcons.DollarSign, { style: bannerIconStyles }),
2547
1341
  };
2548
1342
 
2549
- var MenuBanner = function (props) {
2550
- var show = props.show;
2551
- var classes = useStyles(props);
2552
- if (!show)
2553
- return null;
2554
- return (React__default['default'].createElement(core.Card, { classes: { root: classes.root }, variant: "outlined" },
2555
- React__default['default'].createElement(core.CardHeader, { avatar: BannerTypeIcons[props.type], title: props.title, titleTypographyProps: { variant: 'body1' }, classes: { root: classes.header, title: classes.headerTitle } }),
2556
- React__default['default'].createElement(MenuBannerDescription, __assign$1({}, props)),
2557
- React__default['default'].createElement(MenuBannerButton, __assign$1({}, props))));
2558
- };
2559
- function MenuBannerDescription(props) {
2560
- var classes = useStyles(props);
2561
- var description = props.description;
2562
- if (!description)
2563
- return null;
2564
- return (React__default['default'].createElement(core.CardContent, { classes: { root: classes.content } },
2565
- React__default['default'].createElement(core.Typography, { className: classes.description, variant: "body2" }, props.description)));
2566
- }
2567
- function MenuBannerButton(props) {
2568
- var classes = useStyles(props);
2569
- if (!props.buttonLabel)
2570
- return null;
2571
- return (React__default['default'].createElement(core.CardContent, { classes: { root: classes.content } },
2572
- React__default['default'].createElement(core.Link, __assign$1({}, { component: 'button', variant: 'body2', className: classes.button }, props.ButtonProps), props.buttonLabel)));
1343
+ var MenuBanner = function (props) {
1344
+ var show = props.show;
1345
+ var classes = useStyles(props);
1346
+ if (!show)
1347
+ return null;
1348
+ return (React.createElement(core.Card, { classes: { root: classes.root }, variant: "outlined" },
1349
+ React.createElement(core.CardHeader, { avatar: BannerTypeIcons[props.type], title: props.title, titleTypographyProps: { variant: 'body1' }, classes: { root: classes.header, title: classes.headerTitle } }),
1350
+ React.createElement(MenuBannerDescription, tslib.__assign({}, props)),
1351
+ React.createElement(MenuBannerButton, tslib.__assign({}, props))));
1352
+ };
1353
+ function MenuBannerDescription(props) {
1354
+ var classes = useStyles(props);
1355
+ var description = props.description;
1356
+ if (!description)
1357
+ return null;
1358
+ return (React.createElement(core.CardContent, { classes: { root: classes.content } },
1359
+ React.createElement(core.Typography, { className: classes.description, variant: "body2" }, props.description)));
1360
+ }
1361
+ function MenuBannerButton(props) {
1362
+ var classes = useStyles(props);
1363
+ if (!props.buttonLabel)
1364
+ return null;
1365
+ return (React.createElement(core.CardContent, { classes: { root: classes.content } },
1366
+ React.createElement(core.Link, tslib.__assign({}, { component: 'button', variant: 'body2', className: classes.button }, props.ButtonProps), props.buttonLabel)));
2573
1367
  }
2574
1368
 
2575
- var palette = {
2576
- primary: {
2577
- main: '#0A202F',
2578
- },
2579
- info: {
2580
- light: '#52B7FF',
2581
- main: '#0076CB',
2582
- dark: '#164B54',
2583
- },
2584
- success: {
2585
- light: '#48D3AB',
2586
- main: '#00B485',
2587
- dark: '#00663E',
2588
- contrastText: '#FFFFFF',
2589
- },
2590
- error: {
2591
- light: '#DA777E',
2592
- main: '#E52021',
2593
- dark: '#A80005',
2594
- },
2595
- warning: {
2596
- light: '#F0DFBA',
2597
- main: '#F5C364',
2598
- dark: '#E57E45',
2599
- },
1369
+ var palette = {
1370
+ primary: {
1371
+ main: '#0A202F',
1372
+ },
1373
+ info: {
1374
+ light: '#52B7FF',
1375
+ main: '#0076CB',
1376
+ dark: '#164B54',
1377
+ },
1378
+ success: {
1379
+ light: '#48D3AB',
1380
+ main: '#00B485',
1381
+ dark: '#00663E',
1382
+ contrastText: '#FFFFFF',
1383
+ },
1384
+ error: {
1385
+ light: '#DA777E',
1386
+ main: '#E52021',
1387
+ dark: '#A80005',
1388
+ },
1389
+ warning: {
1390
+ light: '#F0DFBA',
1391
+ main: '#F5C364',
1392
+ dark: '#E57E45',
1393
+ },
2600
1394
  };
2601
1395
 
2602
- var overrides = {
2603
- MuiButton: {
2604
- root: {
2605
- borderRadius: 32,
2606
- textTransform: 'none',
2607
- padding: '18px 16px',
2608
- },
2609
- outlined: {},
2610
- textPrimary: {
2611
- color: '#0076CB',
2612
- },
2613
- },
2614
- MuiDialogTitle: {
2615
- root: {
2616
- display: 'flex',
2617
- alignItems: 'center',
2618
- justifyContent: 'space-between',
2619
- borderBottom: '1px solid #E0E0E0',
2620
- },
2621
- },
2622
- MuiDialogContent: {
2623
- root: {
2624
- '&:first-child': {
2625
- paddingTop: 0,
2626
- },
2627
- paddingTop: 0,
2628
- paddingRight: 0,
2629
- paddingLeft: 0,
2630
- display: 'flex',
2631
- flexDirection: 'column',
2632
- },
2633
- },
2634
- MuiDialogActions: {
2635
- root: {
2636
- padding: 16,
2637
- boxShadow: '-4px 0px 8px 0px #0000001A',
2638
- },
2639
- },
2640
- MuiDialog: {
2641
- paper: {
2642
- minWidth: 500,
2643
- },
2644
- paperWidthMd: {
2645
- minWidth: 640,
2646
- },
2647
- paperFullScreen: {
2648
- minWidth: 'unset',
2649
- },
2650
- },
2651
- MuiCssBaseline: {
2652
- '@global': {
2653
- '*:focus-visible, a:focus-visible': {
2654
- '&': {
2655
- outline: '2px solid #0076CB !important',
2656
- outlineOffset: -4,
2657
- borderRadius: 8,
2658
- },
2659
- },
2660
- 'sr-only': {
2661
- position: 'absolute',
2662
- width: 1,
2663
- height: 1,
2664
- padding: 0,
2665
- margin: -1,
2666
- overflow: 'hidden',
2667
- clip: 'rect(0, 0, 0, 0)',
2668
- whiteSpace: 'nowrap',
2669
- borderWidth: 0,
2670
- },
2671
- },
2672
- },
1396
+ var overrides = {
1397
+ MuiButton: {
1398
+ root: {
1399
+ borderRadius: 32,
1400
+ textTransform: 'none',
1401
+ padding: '18px 16px',
1402
+ },
1403
+ outlined: {},
1404
+ textPrimary: {
1405
+ color: '#0076CB',
1406
+ },
1407
+ },
1408
+ MuiDialogTitle: {
1409
+ root: {
1410
+ display: 'flex',
1411
+ alignItems: 'center',
1412
+ justifyContent: 'space-between',
1413
+ borderBottom: '1px solid #E0E0E0',
1414
+ },
1415
+ },
1416
+ MuiDialogContent: {
1417
+ root: {
1418
+ '&:first-child': {
1419
+ paddingTop: 0,
1420
+ },
1421
+ paddingTop: 0,
1422
+ paddingRight: 0,
1423
+ paddingLeft: 0,
1424
+ display: 'flex',
1425
+ flexDirection: 'column',
1426
+ },
1427
+ },
1428
+ MuiDialogActions: {
1429
+ root: {
1430
+ padding: 16,
1431
+ boxShadow: '-4px 0px 8px 0px #0000001A',
1432
+ },
1433
+ },
1434
+ MuiDialog: {
1435
+ paper: {
1436
+ minWidth: 500,
1437
+ },
1438
+ paperWidthMd: {
1439
+ minWidth: 640,
1440
+ },
1441
+ paperFullScreen: {
1442
+ minWidth: 'unset',
1443
+ },
1444
+ },
1445
+ MuiCssBaseline: {
1446
+ '@global': {
1447
+ '*:focus-visible, a:focus-visible': {
1448
+ '&': {
1449
+ outline: '2px solid #0076CB !important',
1450
+ outlineOffset: -4,
1451
+ borderRadius: 8,
1452
+ },
1453
+ },
1454
+ 'sr-only': {
1455
+ position: 'absolute',
1456
+ width: 1,
1457
+ height: 1,
1458
+ padding: 0,
1459
+ margin: -1,
1460
+ overflow: 'hidden',
1461
+ clip: 'rect(0, 0, 0, 0)',
1462
+ whiteSpace: 'nowrap',
1463
+ borderWidth: 0,
1464
+ },
1465
+ },
1466
+ },
2673
1467
  };
2674
1468
 
2675
- var props = {
2676
- MuiButton: {
2677
- disableElevation: true,
2678
- },
2679
- MuiDialogTitle: {
2680
- disableTypography: true,
2681
- },
1469
+ var props = {
1470
+ MuiButton: {
1471
+ disableElevation: true,
1472
+ },
1473
+ MuiDialogTitle: {
1474
+ disableTypography: true,
1475
+ },
2682
1476
  };
2683
1477
 
2684
- var fonts = ['"Poppins"', '"sans-serif"'];
2685
- var typography = {
2686
- htmlFontSize: 16,
2687
- fontFamily: fonts.join(', '),
2688
- h1: {
2689
- fontWeight: 500,
2690
- fontSize: '1.5rem',
2691
- lineHeight: '100%',
2692
- },
2693
- h2: {
2694
- fontWeight: 600,
2695
- fontSize: '1.25rem',
2696
- lineHeight: '100%',
2697
- },
2698
- h3: {
2699
- fontWeight: 500,
2700
- fontSize: '1.25rem',
2701
- lineHeight: '1.875rem',
2702
- },
2703
- h4: {
2704
- fontWeight: 500,
2705
- fontSize: '1.25rem',
2706
- lineHeight: '1.875rem',
2707
- },
2708
- h5: {
2709
- fontWeight: 500,
2710
- fontSize: '1.25rem',
2711
- lineHeight: '1.875rem',
2712
- },
2713
- h6: {
2714
- fontWeight: 500,
2715
- fontSize: '1.25rem',
2716
- lineHeight: '1.875rem',
2717
- },
2718
- body1: {
2719
- fontWeight: 400,
2720
- fontSize: '1rem',
2721
- lineHeight: '1.5rem',
2722
- },
2723
- body2: {
2724
- fontWeight: 400,
2725
- fontSize: '0.875rem',
2726
- lineHeight: '1.25rem',
2727
- },
2728
- subtitle1: {
2729
- fontWeight: 400,
2730
- fontSize: '0.75rem',
2731
- lineHeight: '1.125rem',
2732
- color: '#9E9E9E',
2733
- },
2734
- button: {
2735
- fontWeight: 500,
2736
- fontSize: '0.875rem',
2737
- lineHeight: '1.25rem',
2738
- textTransform: 'capitalize',
2739
- },
1478
+ var fonts = ['"Poppins"', '"sans-serif"'];
1479
+ var typography = {
1480
+ htmlFontSize: 16,
1481
+ fontFamily: fonts.join(', '),
1482
+ h1: {
1483
+ fontWeight: 500,
1484
+ fontSize: '1.5rem',
1485
+ lineHeight: '100%',
1486
+ },
1487
+ h2: {
1488
+ fontWeight: 600,
1489
+ fontSize: '1.25rem',
1490
+ lineHeight: '100%',
1491
+ },
1492
+ h3: {
1493
+ fontWeight: 500,
1494
+ fontSize: '1.25rem',
1495
+ lineHeight: '1.875rem',
1496
+ },
1497
+ h4: {
1498
+ fontWeight: 500,
1499
+ fontSize: '1.25rem',
1500
+ lineHeight: '1.875rem',
1501
+ },
1502
+ h5: {
1503
+ fontWeight: 500,
1504
+ fontSize: '1.25rem',
1505
+ lineHeight: '1.875rem',
1506
+ },
1507
+ h6: {
1508
+ fontWeight: 500,
1509
+ fontSize: '1.25rem',
1510
+ lineHeight: '1.875rem',
1511
+ },
1512
+ body1: {
1513
+ fontWeight: 400,
1514
+ fontSize: '1rem',
1515
+ lineHeight: '1.5rem',
1516
+ },
1517
+ body2: {
1518
+ fontWeight: 400,
1519
+ fontSize: '0.875rem',
1520
+ lineHeight: '1.25rem',
1521
+ },
1522
+ subtitle1: {
1523
+ fontWeight: 400,
1524
+ fontSize: '0.75rem',
1525
+ lineHeight: '1.125rem',
1526
+ color: '#9E9E9E',
1527
+ },
1528
+ button: {
1529
+ fontWeight: 500,
1530
+ fontSize: '0.875rem',
1531
+ lineHeight: '1.25rem',
1532
+ textTransform: 'capitalize',
1533
+ },
2740
1534
  };
2741
1535
 
2742
- var orderingTheme = {
2743
- typography: typography,
2744
- palette: palette,
2745
- overrides: overrides,
2746
- props: props,
1536
+ var orderingTheme = {
1537
+ typography: typography,
1538
+ palette: palette,
1539
+ overrides: overrides,
1540
+ props: props,
2747
1541
  };
2748
1542
 
2749
1543
  exports.Button = Button;
@@ -2778,11 +1572,9 @@ exports.Switch = Switch;
2778
1572
  exports.orderingTheme = orderingTheme;
2779
1573
  exports.useOrderingAppContext = useOrderingAppContext;
2780
1574
  Object.keys(core).forEach(function (k) {
2781
- if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
1575
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
2782
1576
  enumerable: true,
2783
- get: function () {
2784
- return core[k];
2785
- }
1577
+ get: function () { return core[k]; }
2786
1578
  });
2787
1579
  });
2788
1580
  //# sourceMappingURL=index.js.map