@popmenu/ordering-ui 0.127.0 → 0.127.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.
- package/build/cjs/components/Button/index.d.ts +1 -1
- package/build/cjs/components/Checkbox/Checkbox.d.ts +0 -1
- package/build/cjs/components/DishCheckoutCard/DishCheckoutCard.d.ts +0 -1
- package/build/cjs/components/DishCheckoutCard/DishCheckoutCardProps.d.ts +2 -2
- package/build/cjs/components/DishCheckoutCard/index.d.ts +2 -2
- package/build/cjs/components/DishDetailsReview/index.d.ts +2 -2
- package/build/cjs/components/DishModifierCard/DishModifierCard.d.ts +0 -1
- package/build/cjs/components/DishModifierCard/DishModifierCardProps.d.ts +7 -7
- package/build/cjs/components/DishModifierCard/ModifierControls.d.ts +0 -1
- package/build/cjs/components/DishModifierCard/ModifierForm.d.ts +0 -1
- package/build/cjs/components/DishModifierCard/index.d.ts +2 -2
- package/build/cjs/components/ItemTag/index.d.ts +2 -2
- package/build/cjs/components/ItemTagGroup/index.d.ts +1 -1
- package/build/cjs/components/LocationCard/LocationCard.d.ts +0 -1
- package/build/cjs/components/LocationCard/index.d.ts +2 -2
- package/build/cjs/components/MenuBanner/MenuBanner.d.ts +0 -1
- package/build/cjs/components/MenuBanner/MenuBannerIcons.d.ts +0 -1
- package/build/cjs/components/MenuBanner/MenuBannerProps.d.ts +1 -1
- package/build/cjs/components/MenuBanner/index.d.ts +1 -1
- package/build/cjs/components/MenuDropdown/MenuDropdown.d.ts +0 -1
- package/build/cjs/components/MenuDropdown/MenuDropdownProps.d.ts +1 -1
- package/build/cjs/components/MenuDropdown/index.d.ts +2 -2
- package/build/cjs/components/MenuFilter/MenuFilter.d.ts +0 -1
- package/build/cjs/components/MenuFilter/MenuFilterProps.d.ts +3 -4
- package/build/cjs/components/MenuFilter/index.d.ts +2 -2
- package/build/cjs/components/MenuItem/MenuItemImg.d.ts +1 -2
- package/build/cjs/components/MenuItem/MenuItemPrice.d.ts +1 -2
- package/build/cjs/components/MenuItem/MenuItemProps.d.ts +1 -1
- package/build/cjs/components/MenuItem/MenuItemReactions.d.ts +1 -2
- package/build/cjs/components/MenuItem/MenuItemTags.d.ts +1 -2
- package/build/cjs/components/MenuItem/index.d.ts +1 -1
- package/build/cjs/components/MenuItemGroup/MenuItemGroup.d.ts +1 -1
- package/build/cjs/components/MenuSection/MenuSectionProps.d.ts +0 -1
- package/build/cjs/components/MenuSection/index.d.ts +1 -1
- package/build/cjs/components/MenuTab/MenuTab.d.ts +0 -1
- package/build/cjs/components/MenuTab/MenuTabProps.d.ts +1 -1
- package/build/cjs/components/MenuTab/index.d.ts +2 -2
- package/build/cjs/components/MenuTabGroup/MenuTabGroup.d.ts +0 -1
- package/build/cjs/components/MenuTabGroup/MenuTabGroupProps.d.ts +1 -4
- package/build/cjs/components/MenuTabGroup/index.d.ts +2 -2
- package/build/cjs/components/OrderingAppContext/OrderingAppContext.d.ts +3 -3
- package/build/cjs/components/QuantityPicker/QuantityPicker.d.ts +0 -1
- package/build/cjs/components/QuantityPicker/QuantityPickerProps.d.ts +1 -1
- package/build/cjs/components/QuantityPicker/index.d.ts +2 -2
- package/build/cjs/components/Radio/Radio.d.ts +0 -1
- package/build/cjs/components/ReactionCounter/ReactionCounter.d.ts +0 -1
- package/build/cjs/components/ReactionCounter/index.d.ts +2 -2
- package/build/cjs/components/ReactionCounterGroup/ReactionCounterGroup.d.ts +1 -1
- package/build/cjs/components/ReactionCounterGroup/index.d.ts +1 -1
- package/build/cjs/components/SelectableChip/SelectableChip.d.ts +0 -1
- package/build/cjs/components/SelectableChip/SelectableChipProps.d.ts +1 -1
- package/build/cjs/components/SelectableChip/index.d.ts +2 -2
- package/build/cjs/components/SelectableChipGroup/SelectableChipGroup.d.ts +0 -1
- package/build/cjs/components/SelectableChipGroup/SelectableChipGroupProps.d.ts +1 -4
- package/build/cjs/components/SelectableChipGroup/index.d.ts +2 -2
- package/build/cjs/components/SelectedMenuFiltersList/SelectedMenuFiltersList.d.ts +0 -1
- package/build/cjs/components/SelectedMenuFiltersList/index.d.ts +1 -1
- package/build/cjs/components/StatusTag/StatusTag.d.ts +0 -1
- package/build/cjs/components/StatusTag/index.d.ts +2 -2
- package/build/cjs/components/Switch/Switch.d.ts +0 -1
- package/build/cjs/components/index.d.ts +41 -22
- package/build/cjs/index.js +526 -674
- package/build/cjs/index.js.map +1 -1
- package/build/esm/components/Button/Button.js +4 -5
- package/build/esm/components/Button/Button.js.map +1 -1
- package/build/esm/components/Button/index.d.ts +1 -1
- package/build/esm/components/Checkbox/Checkbox.d.ts +0 -1
- package/build/esm/components/Checkbox/Checkbox.js +7 -10
- package/build/esm/components/Checkbox/Checkbox.js.map +1 -1
- package/build/esm/components/DialogSection/DialogSection.js +3 -4
- package/build/esm/components/DialogSection/DialogSection.js.map +1 -1
- package/build/esm/components/DialogTitle/DialogTitle.js +5 -5
- package/build/esm/components/DialogTitle/DialogTitle.js.map +1 -1
- package/build/esm/components/DishCheckoutCard/DishCheckoutCard.d.ts +0 -1
- package/build/esm/components/DishCheckoutCard/DishCheckoutCard.js +18 -28
- package/build/esm/components/DishCheckoutCard/DishCheckoutCard.js.map +1 -1
- package/build/esm/components/DishCheckoutCard/DishCheckoutCard.styles.js +3 -6
- package/build/esm/components/DishCheckoutCard/DishCheckoutCard.styles.js.map +1 -1
- package/build/esm/components/DishCheckoutCard/DishCheckoutCardProps.d.ts +2 -2
- package/build/esm/components/DishCheckoutCard/index.d.ts +2 -2
- package/build/esm/components/DishDetailsReview/DishDetailsReview.js +2 -2
- package/build/esm/components/DishDetailsReview/DishDetailsReview.js.map +1 -1
- package/build/esm/components/DishDetailsReview/index.d.ts +2 -2
- package/build/esm/components/DishModifierCard/DishModifierCard.d.ts +0 -1
- package/build/esm/components/DishModifierCard/DishModifierCard.js +15 -17
- package/build/esm/components/DishModifierCard/DishModifierCard.js.map +1 -1
- package/build/esm/components/DishModifierCard/DishModifierCard.styles.js +11 -11
- package/build/esm/components/DishModifierCard/DishModifierCard.styles.js.map +1 -1
- package/build/esm/components/DishModifierCard/DishModifierCardProps.d.ts +7 -7
- package/build/esm/components/DishModifierCard/ModifierControls.d.ts +0 -1
- package/build/esm/components/DishModifierCard/ModifierControls.js +44 -51
- package/build/esm/components/DishModifierCard/ModifierControls.js.map +1 -1
- package/build/esm/components/DishModifierCard/ModifierForm.d.ts +0 -1
- package/build/esm/components/DishModifierCard/index.d.ts +2 -2
- package/build/esm/components/ItemTag/ItemTag.js +3 -3
- package/build/esm/components/ItemTag/ItemTag.js.map +1 -1
- package/build/esm/components/ItemTag/index.d.ts +2 -2
- package/build/esm/components/ItemTag/itemTag.styles.js +2 -2
- package/build/esm/components/ItemTag/itemTag.styles.js.map +1 -1
- package/build/esm/components/ItemTagGroup/ItemTagGroup.js +2 -2
- package/build/esm/components/ItemTagGroup/ItemTagGroup.js.map +1 -1
- package/build/esm/components/ItemTagGroup/index.d.ts +1 -1
- package/build/esm/components/LocationCard/LocationCard.d.ts +0 -1
- package/build/esm/components/LocationCard/LocationCard.js +7 -8
- package/build/esm/components/LocationCard/LocationCard.js.map +1 -1
- package/build/esm/components/LocationCard/LocationCard.styles.js +6 -12
- package/build/esm/components/LocationCard/LocationCard.styles.js.map +1 -1
- package/build/esm/components/LocationCard/index.d.ts +2 -2
- package/build/esm/components/MenuBanner/MenuBanner.d.ts +0 -1
- package/build/esm/components/MenuBanner/MenuBanner.js +9 -10
- package/build/esm/components/MenuBanner/MenuBanner.js.map +1 -1
- package/build/esm/components/MenuBanner/MenuBanner.styles.js +12 -16
- package/build/esm/components/MenuBanner/MenuBanner.styles.js.map +1 -1
- package/build/esm/components/MenuBanner/MenuBannerIcons.d.ts +0 -1
- package/build/esm/components/MenuBanner/MenuBannerIcons.js +2 -2
- package/build/esm/components/MenuBanner/MenuBannerIcons.js.map +1 -1
- package/build/esm/components/MenuBanner/MenuBannerProps.d.ts +1 -1
- package/build/esm/components/MenuBanner/index.d.ts +1 -1
- package/build/esm/components/MenuDropdown/MenuDropdown.d.ts +0 -1
- package/build/esm/components/MenuDropdown/MenuDropdown.js +12 -15
- package/build/esm/components/MenuDropdown/MenuDropdown.js.map +1 -1
- package/build/esm/components/MenuDropdown/MenuDropdown.styles.js +29 -33
- package/build/esm/components/MenuDropdown/MenuDropdown.styles.js.map +1 -1
- package/build/esm/components/MenuDropdown/MenuDropdownProps.d.ts +1 -1
- package/build/esm/components/MenuDropdown/index.d.ts +2 -2
- package/build/esm/components/MenuFilter/MenuFilter.d.ts +0 -1
- package/build/esm/components/MenuFilter/MenuFilter.js +18 -18
- package/build/esm/components/MenuFilter/MenuFilter.js.map +1 -1
- package/build/esm/components/MenuFilter/MenuFilter.styles.js +2 -2
- package/build/esm/components/MenuFilter/MenuFilter.styles.js.map +1 -1
- package/build/esm/components/MenuFilter/MenuFilterProps.d.ts +3 -4
- package/build/esm/components/MenuFilter/index.d.ts +2 -2
- package/build/esm/components/MenuItem/MenuItem.js +10 -11
- package/build/esm/components/MenuItem/MenuItem.js.map +1 -1
- package/build/esm/components/MenuItem/MenuItem.styles.js +56 -60
- package/build/esm/components/MenuItem/MenuItem.styles.js.map +1 -1
- package/build/esm/components/MenuItem/MenuItemImg.d.ts +1 -2
- package/build/esm/components/MenuItem/MenuItemImg.js +6 -6
- package/build/esm/components/MenuItem/MenuItemImg.js.map +1 -1
- package/build/esm/components/MenuItem/MenuItemInfo.js +1 -1
- package/build/esm/components/MenuItem/MenuItemInfo.js.map +1 -1
- package/build/esm/components/MenuItem/MenuItemPrice.d.ts +1 -2
- package/build/esm/components/MenuItem/MenuItemPrice.js +12 -15
- package/build/esm/components/MenuItem/MenuItemPrice.js.map +1 -1
- package/build/esm/components/MenuItem/MenuItemProps.d.ts +1 -1
- package/build/esm/components/MenuItem/MenuItemReactions.d.ts +1 -2
- package/build/esm/components/MenuItem/MenuItemReactions.js +7 -7
- package/build/esm/components/MenuItem/MenuItemReactions.js.map +1 -1
- package/build/esm/components/MenuItem/MenuItemTags.d.ts +1 -2
- package/build/esm/components/MenuItem/MenuItemTags.js +3 -3
- package/build/esm/components/MenuItem/MenuItemTags.js.map +1 -1
- package/build/esm/components/MenuItem/index.d.ts +1 -1
- package/build/esm/components/MenuItemGroup/MenuItemGroup.d.ts +1 -1
- package/build/esm/components/MenuItemGroup/MenuItemGroup.js +5 -6
- package/build/esm/components/MenuItemGroup/MenuItemGroup.js.map +1 -1
- package/build/esm/components/MenuItemGroup/MenuItemGroupStyles.js +12 -16
- package/build/esm/components/MenuItemGroup/MenuItemGroupStyles.js.map +1 -1
- package/build/esm/components/MenuSection/MenuSection.js +4 -5
- package/build/esm/components/MenuSection/MenuSection.js.map +1 -1
- package/build/esm/components/MenuSection/MenuSectionProps.d.ts +0 -1
- package/build/esm/components/MenuSection/MenuSectionStyles.js +2 -2
- package/build/esm/components/MenuSection/MenuSectionStyles.js.map +1 -1
- package/build/esm/components/MenuSection/index.d.ts +1 -1
- package/build/esm/components/MenuSectionGroup/MenuSectionGroup.js +3 -4
- package/build/esm/components/MenuSectionGroup/MenuSectionGroup.js.map +1 -1
- package/build/esm/components/MenuTab/MenuTab.d.ts +0 -1
- package/build/esm/components/MenuTab/MenuTab.js +5 -6
- package/build/esm/components/MenuTab/MenuTab.js.map +1 -1
- package/build/esm/components/MenuTab/MenuTab.styles.js +13 -16
- package/build/esm/components/MenuTab/MenuTab.styles.js.map +1 -1
- package/build/esm/components/MenuTab/MenuTabProps.d.ts +1 -1
- package/build/esm/components/MenuTab/index.d.ts +2 -2
- package/build/esm/components/MenuTabGroup/MenuTabGroup.d.ts +0 -1
- package/build/esm/components/MenuTabGroup/MenuTabGroup.js +4 -5
- package/build/esm/components/MenuTabGroup/MenuTabGroup.js.map +1 -1
- package/build/esm/components/MenuTabGroup/MenuTabGroupProps.d.ts +1 -4
- package/build/esm/components/MenuTabGroup/index.d.ts +2 -2
- package/build/esm/components/OrderingAppContext/OrderingAppContext.d.ts +3 -3
- package/build/esm/components/OrderingAppContext/OrderingAppContext.js +6 -6
- package/build/esm/components/OrderingAppContext/OrderingAppContext.js.map +1 -1
- package/build/esm/components/PageSection/PageSection.js +1 -1
- package/build/esm/components/PageSection/PageSection.js.map +1 -1
- package/build/esm/components/QuantityPicker/QuantityPicker.d.ts +0 -1
- package/build/esm/components/QuantityPicker/QuantityPicker.js +16 -17
- package/build/esm/components/QuantityPicker/QuantityPicker.js.map +1 -1
- package/build/esm/components/QuantityPicker/QuantityPicker.styles.js +17 -17
- package/build/esm/components/QuantityPicker/QuantityPicker.styles.js.map +1 -1
- package/build/esm/components/QuantityPicker/QuantityPickerProps.d.ts +1 -1
- package/build/esm/components/QuantityPicker/index.d.ts +2 -2
- package/build/esm/components/Radio/Radio.d.ts +0 -1
- package/build/esm/components/Radio/Radio.js +7 -10
- package/build/esm/components/Radio/Radio.js.map +1 -1
- package/build/esm/components/ReactionCounter/ReactionCounter.d.ts +0 -1
- package/build/esm/components/ReactionCounter/ReactionCounter.js +2 -2
- package/build/esm/components/ReactionCounter/ReactionCounter.js.map +1 -1
- package/build/esm/components/ReactionCounter/index.d.ts +2 -2
- package/build/esm/components/ReactionCounterGroup/ReactionCounterGroup.d.ts +1 -1
- package/build/esm/components/ReactionCounterGroup/ReactionCounterGroup.js +2 -2
- package/build/esm/components/ReactionCounterGroup/ReactionCounterGroup.js.map +1 -1
- package/build/esm/components/ReactionCounterGroup/index.d.ts +1 -1
- package/build/esm/components/SelectableChip/SelectableChip.d.ts +0 -1
- package/build/esm/components/SelectableChip/SelectableChip.js +4 -5
- package/build/esm/components/SelectableChip/SelectableChip.js.map +1 -1
- package/build/esm/components/SelectableChip/SelectableChip.styles.js +2 -2
- package/build/esm/components/SelectableChip/SelectableChip.styles.js.map +1 -1
- package/build/esm/components/SelectableChip/SelectableChipProps.d.ts +1 -1
- package/build/esm/components/SelectableChip/index.d.ts +2 -2
- package/build/esm/components/SelectableChipGroup/SelectableChipGroup.d.ts +0 -1
- package/build/esm/components/SelectableChipGroup/SelectableChipGroup.js +5 -6
- package/build/esm/components/SelectableChipGroup/SelectableChipGroup.js.map +1 -1
- package/build/esm/components/SelectableChipGroup/SelectableChipGroup.styles.js +12 -16
- package/build/esm/components/SelectableChipGroup/SelectableChipGroup.styles.js.map +1 -1
- package/build/esm/components/SelectableChipGroup/SelectableChipGroupProps.d.ts +1 -4
- package/build/esm/components/SelectableChipGroup/index.d.ts +2 -2
- package/build/esm/components/SelectedMenuFiltersList/SelectedMenuFiltersList.d.ts +0 -1
- package/build/esm/components/SelectedMenuFiltersList/SelectedMenuFiltersList.js +20 -23
- package/build/esm/components/SelectedMenuFiltersList/SelectedMenuFiltersList.js.map +1 -1
- package/build/esm/components/SelectedMenuFiltersList/index.d.ts +1 -1
- package/build/esm/components/StatusTag/StatusTag.d.ts +0 -1
- package/build/esm/components/StatusTag/StatusTag.js +3 -4
- package/build/esm/components/StatusTag/StatusTag.js.map +1 -1
- package/build/esm/components/StatusTag/StatusTag.styles.js +3 -3
- package/build/esm/components/StatusTag/StatusTag.styles.js.map +1 -1
- package/build/esm/components/StatusTag/index.d.ts +2 -2
- package/build/esm/components/Switch/Switch.d.ts +0 -1
- package/build/esm/components/Switch/Switch.js +14 -17
- package/build/esm/components/Switch/Switch.js.map +1 -1
- package/build/esm/components/index.d.ts +41 -22
- package/build/esm/index.js +3 -3
- package/build/esm/theme/overrides.js +1 -1
- package/build/esm/theme/overrides.js.map +1 -1
- package/build/esm/theme/palette.js +1 -1
- package/build/esm/theme/palette.js.map +1 -1
- package/build/esm/theme/props.js +1 -1
- package/build/esm/theme/props.js.map +1 -1
- package/build/esm/theme/theme.js +5 -5
- package/build/esm/theme/theme.js.map +1 -1
- package/build/esm/theme/typography.js +2 -2
- package/build/esm/theme/typography.js.map +1 -1
- package/package.json +4 -4
- package/build/esm/_virtual/index.js +0 -4
- package/build/esm/_virtual/index.js.map +0 -1
- package/build/esm/node_modules/classnames/index.js +0 -81
- package/build/esm/node_modules/classnames/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModifierControls.js","sources":["../../../../src/components/DishModifierCard/ModifierControls.tsx"],"sourcesContent":["import {\n Box,\n Checkbox,\n FormControl,\n FormControlLabel,\n FormGroup,\n Radio,\n RadioGroup,\n Typography,\n} from '@material-ui/core'\nimport { Icon } from '@popmenu/common-ui'\nimport { ChevronRight } from '@popmenu/web-icons'\nimport classNames from 'classnames'\nimport React from 'react'\nimport { Button } from '../Button'\nimport QuantityPicker, { QuantityChangeEvent } from '../QuantityPicker'\nimport StatusTag from '../StatusTag'\nimport {\n useCheckboxModifierFormStyles,\n useLabelStyles,\n useOptionsStyles,\n useRadioModifierFormStyles,\n} from './DishModifierCard.styles'\nimport { Modifier, ModifierOptionsControlProps } from './DishModifierCardProps'\n\nconst Label = (props: { name: string; price: string; disabled?: boolean }) => {\n const { name, price, disabled = false } = props\n const classes = useLabelStyles()\n\n return (\n <Box display=\"flex\" flexDirection=\"column\" className={classes.label}>\n <Box display=\"flex\" alignItems=\"center\" gridGap={8}>\n <Typography className={classNames({ [classes.disabled]: disabled })}>{name}</Typography>\n </Box>\n {price && (\n <Typography className={classNames({ [classes.price]: !disabled }, { [classes.disabled]: disabled })}>\n + {price}\n </Typography>\n )}\n </Box>\n )\n}\n\nconst Options = (props: { handleOptionsClick: () => void }) => {\n const { handleOptionsClick } = props\n const classes = useOptionsStyles()\n\n return (\n <Box>\n <Button variation=\"none\" className={classes.options} onClick={handleOptionsClick}>\n <Typography variant=\"caption\">OPTIONS</Typography>\n <Icon icon={ChevronRight} />\n </Button>\n </Box>\n )\n}\n\nconst SingleSelectModifierControl = (props: ModifierOptionsControlProps) => {\n const { modifiers, name, isOutOfStock, onChange, value, handleOptionsClick, aggregatePrice, isRequired } = props\n const radioClasses = useRadioModifierFormStyles()\n const makeHandleChange = (modifier: Modifier) => (e: React.ChangeEvent<HTMLInputElement>) => {\n const isModifierInValue = Boolean(value.find((v) => v.modifierId === modifier.id))\n if (!isModifierInValue && modifier.hasModifiers) {\n handleOptionsClick(modifier.id)\n }\n\n onChange({\n isRadio: true,\n modifierId: Number(e.target.value),\n groupId: modifier.parentModifierGroupId,\n parentModifierId: modifier.parentModifierGroupItemId,\n price: modifier.price || 0,\n quantity: 1,\n })\n }\n return (\n <FormControl fullWidth>\n <RadioGroup aria-label={name}>\n {modifiers.map((modifier) => (\n <Box key={modifier.id}>\n <FormControlLabel\n key={modifier.id}\n value={modifier.id}\n className={radioClasses.root}\n control={\n <Radio\n checked={value[0]?.modifierId === modifier.id}\n className={classNames({\n [radioClasses.hideRadio]: modifier.outOfStock,\n [radioClasses.radio]: !modifier.outOfStock,\n })}\n disabled={isOutOfStock || modifier.outOfStock}\n onChange={makeHandleChange(modifier)}\n required={isRequired}\n />\n }\n label={\n <Box className={radioClasses.label}>\n <Label\n name={modifier.name}\n price={aggregatePrice[modifier.id] || modifier.formattedPrice}\n disabled={isOutOfStock || modifier.outOfStock}\n />\n {modifier.outOfStock && (\n <Box minWidth=\"90px\" marginLeft={2}>\n <StatusTag color=\"warning\" label=\"Out of stock\" variant=\"outlined\" size=\"md\" />\n </Box>\n )}\n </Box>\n }\n labelPlacement=\"start\"\n />\n {modifier.hasModifiers && !modifier.outOfStock && (\n <Options handleOptionsClick={() => handleOptionsClick(modifier.id)} />\n )}\n </Box>\n ))}\n </RadioGroup>\n </FormControl>\n )\n}\n\nconst MultipleSelectControl = (props: ModifierOptionsControlProps) => {\n const { modifiers, value, isOutOfStock, onChange, disableNewSelections, handleOptionsClick, aggregatePrice } = props\n const classes = useCheckboxModifierFormStyles()\n const makeHandleChange = (modifier: Modifier) => () => {\n const isModifierInValue = Boolean(value.find((v) => v.modifierId === modifier.id))\n if (!isModifierInValue && modifier.hasModifiers) {\n handleOptionsClick(modifier.id)\n }\n\n onChange({\n isRadio: false,\n modifierId: modifier.id,\n groupId: modifier.parentModifierGroupId,\n parentModifierId: modifier.parentModifierGroupItemId,\n price: modifier.price || 0,\n quantity: isModifierInValue ? 0 : 1,\n })\n }\n\n return (\n <FormControl fullWidth>\n <FormGroup>\n {modifiers.map((modifier) => {\n return (\n <Box key={modifier.id}>\n <FormControlLabel\n key={modifier.id}\n value={modifier.id}\n className={classes.root}\n checked={value.some((v) => v.modifierId === modifier.id)}\n onChange={makeHandleChange(modifier)}\n control={\n <Checkbox\n className={classNames(\n { [classes.hideCheckbox]: modifier.outOfStock },\n { [classes.checkbox]: !modifier.outOfStock },\n )}\n disabled={isOutOfStock || modifier.outOfStock || (!modifier.quantity && disableNewSelections)}\n />\n }\n label={\n <Box className={classes.label}>\n <Label\n name={modifier.name}\n price={aggregatePrice[modifier.id] || modifier.formattedPrice}\n disabled={isOutOfStock || modifier.outOfStock}\n />\n {modifier.outOfStock && (\n <Box minWidth=\"90px\" marginLeft={2}>\n <StatusTag color=\"warning\" label=\"Out of stock\" variant=\"outlined\" size=\"md\" />\n </Box>\n )}\n </Box>\n }\n labelPlacement=\"start\"\n />\n {modifier.hasModifiers && !modifier.outOfStock && (\n <Options handleOptionsClick={() => handleOptionsClick(modifier.id)} />\n )}\n </Box>\n )\n })}\n </FormGroup>\n </FormControl>\n )\n}\nconst MultipleQuantitySelectControl = (props: ModifierOptionsControlProps) => {\n const { modifiers, isOutOfStock, onChange, disableNewSelections, handleOptionsClick, selectionQuantity } = props\n const makeHandleChange = (modifier: Modifier) => (_e: any, customEvent: QuantityChangeEvent) => {\n onChange({\n isRadio: false,\n modifierId: modifier.id,\n groupId: modifier.parentModifierGroupId,\n parentModifierId: modifier.parentModifierGroupItemId,\n price: modifier.price || 0,\n quantity: customEvent.quantity,\n })\n }\n return (\n <FormControl fullWidth>\n <FormGroup>\n {modifiers.map((modifier) => (\n <Box key={modifier.id} style={{ justifyContent: 'space-between', flexDirection: 'column' }} display=\"flex\">\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"space-between\" width=\"100%\">\n <Label\n name={modifier.name}\n price={modifier.formattedPrice}\n disabled={isOutOfStock || modifier.outOfStock}\n />\n {modifier.outOfStock && (\n <Box minWidth=\"90px\" marginLeft={2}>\n <StatusTag color=\"warning\" label=\"Out of stock\" variant=\"outlined\" size=\"md\" />\n </Box>\n )}\n {!modifier.outOfStock && (\n <QuantityPicker\n variation=\"modifierCount\"\n value={modifier.quantity}\n disableIncrement={disableNewSelections}\n preventManualChange={true}\n onChange={makeHandleChange(modifier)}\n disabled={isOutOfStock || modifier.outOfStock}\n name={modifier.name}\n />\n )}\n </Box>\n <Box display=\"flex\" alignItems=\"flex-start\" gridGap={4}>\n {modifier.hasModifiers && !modifier.outOfStock && (\n <Options handleOptionsClick={() => handleOptionsClick(modifier.id)} />\n )}\n {selectionQuantity[modifier.id] &&\n selectionQuantity[modifier.id].requiredSelectionCount > 0 &&\n selectionQuantity[modifier.id].requiredSelectionCount !==\n selectionQuantity[modifier.id].currentSelectionCount && (\n <Typography variant=\"caption\" color=\"error\">\n {selectionQuantity[modifier.id].currentSelectionCount}/\n {selectionQuantity[modifier.id].requiredSelectionCount} selected\n </Typography>\n )}\n </Box>\n </Box>\n ))}\n </FormGroup>\n </FormControl>\n )\n}\n\nexport const ModifierControls = (props: ModifierOptionsControlProps) => {\n switch (props.type) {\n case 'singleSelect':\n return <SingleSelectModifierControl {...props} />\n case 'multipleSelect':\n return <MultipleSelectControl {...props} />\n case 'multipleQuantitySelect':\n return <MultipleQuantitySelectControl {...props} />\n default:\n return null\n }\n}\n"],"names":["React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ModifierControls.js","sources":["../../../../src/components/DishModifierCard/ModifierControls.tsx"],"sourcesContent":["import {\n Box,\n Checkbox,\n FormControl,\n FormControlLabel,\n FormGroup,\n Radio,\n RadioGroup,\n Typography,\n} from '@material-ui/core'\nimport { Icon } from '@popmenu/common-ui'\nimport { ChevronRight } from '@popmenu/web-icons'\nimport classNames from 'classnames'\nimport React from 'react'\nimport { Button } from '../Button'\nimport type { QuantityChangeEvent } from '../QuantityPicker'\nimport { QuantityPicker } from '../QuantityPicker'\nimport { StatusTag } from '../StatusTag'\nimport {\n useCheckboxModifierFormStyles,\n useLabelStyles,\n useOptionsStyles,\n useRadioModifierFormStyles,\n} from './DishModifierCard.styles'\nimport { Modifier, ModifierOptionsControlProps } from './DishModifierCardProps'\n\nconst Label = (props: { name: string; price: string; disabled?: boolean }) => {\n const { name, price, disabled = false } = props\n const classes = useLabelStyles()\n\n return (\n <Box display=\"flex\" flexDirection=\"column\" className={classes.label}>\n <Box display=\"flex\" alignItems=\"center\" gridGap={8}>\n <Typography className={classNames({ [classes.disabled]: disabled })}>{name}</Typography>\n </Box>\n {price && (\n <Typography className={classNames({ [classes.price]: !disabled }, { [classes.disabled]: disabled })}>\n + {price}\n </Typography>\n )}\n </Box>\n )\n}\n\nconst Options = (props: { handleOptionsClick: () => void }) => {\n const { handleOptionsClick } = props\n const classes = useOptionsStyles()\n\n return (\n <Box>\n <Button variation=\"none\" className={classes.options} onClick={handleOptionsClick}>\n <Typography variant=\"caption\">OPTIONS</Typography>\n <Icon icon={ChevronRight} />\n </Button>\n </Box>\n )\n}\n\nconst SingleSelectModifierControl = (props: ModifierOptionsControlProps) => {\n const { modifiers, name, isOutOfStock, onChange, value, handleOptionsClick, aggregatePrice, isRequired } = props\n const radioClasses = useRadioModifierFormStyles()\n const makeHandleChange = (modifier: Modifier) => (e: React.ChangeEvent<HTMLInputElement>) => {\n const isModifierInValue = Boolean(value.find((v) => v.modifierId === modifier.id))\n if (!isModifierInValue && modifier.hasModifiers) {\n handleOptionsClick(modifier.id)\n }\n\n onChange({\n isRadio: true,\n modifierId: Number(e.target.value),\n groupId: modifier.parentModifierGroupId,\n parentModifierId: modifier.parentModifierGroupItemId,\n price: modifier.price || 0,\n quantity: 1,\n })\n }\n return (\n <FormControl fullWidth>\n <RadioGroup aria-label={name}>\n {modifiers.map((modifier) => (\n <Box key={modifier.id}>\n <FormControlLabel\n key={modifier.id}\n value={modifier.id}\n className={radioClasses.root}\n control={\n <Radio\n checked={value[0]?.modifierId === modifier.id}\n className={classNames({\n [radioClasses.hideRadio]: modifier.outOfStock,\n [radioClasses.radio]: !modifier.outOfStock,\n })}\n disabled={isOutOfStock || modifier.outOfStock}\n onChange={makeHandleChange(modifier)}\n required={isRequired}\n />\n }\n label={\n <Box className={radioClasses.label}>\n <Label\n name={modifier.name}\n price={aggregatePrice[modifier.id] || modifier.formattedPrice}\n disabled={isOutOfStock || modifier.outOfStock}\n />\n {modifier.outOfStock && (\n <Box minWidth=\"90px\" marginLeft={2}>\n <StatusTag color=\"warning\" label=\"Out of stock\" variant=\"outlined\" size=\"md\" />\n </Box>\n )}\n </Box>\n }\n labelPlacement=\"start\"\n />\n {modifier.hasModifiers && !modifier.outOfStock && (\n <Options handleOptionsClick={() => handleOptionsClick(modifier.id)} />\n )}\n </Box>\n ))}\n </RadioGroup>\n </FormControl>\n )\n}\n\nconst MultipleSelectControl = (props: ModifierOptionsControlProps) => {\n const { modifiers, value, isOutOfStock, onChange, disableNewSelections, handleOptionsClick, aggregatePrice } = props\n const classes = useCheckboxModifierFormStyles()\n const makeHandleChange = (modifier: Modifier) => () => {\n const isModifierInValue = Boolean(value.find((v) => v.modifierId === modifier.id))\n if (!isModifierInValue && modifier.hasModifiers) {\n handleOptionsClick(modifier.id)\n }\n\n onChange({\n isRadio: false,\n modifierId: modifier.id,\n groupId: modifier.parentModifierGroupId,\n parentModifierId: modifier.parentModifierGroupItemId,\n price: modifier.price || 0,\n quantity: isModifierInValue ? 0 : 1,\n })\n }\n\n return (\n <FormControl fullWidth>\n <FormGroup>\n {modifiers.map((modifier) => {\n return (\n <Box key={modifier.id}>\n <FormControlLabel\n key={modifier.id}\n value={modifier.id}\n className={classes.root}\n checked={value.some((v) => v.modifierId === modifier.id)}\n onChange={makeHandleChange(modifier)}\n control={\n <Checkbox\n className={classNames(\n { [classes.hideCheckbox]: modifier.outOfStock },\n { [classes.checkbox]: !modifier.outOfStock },\n )}\n disabled={isOutOfStock || modifier.outOfStock || (!modifier.quantity && disableNewSelections)}\n />\n }\n label={\n <Box className={classes.label}>\n <Label\n name={modifier.name}\n price={aggregatePrice[modifier.id] || modifier.formattedPrice}\n disabled={isOutOfStock || modifier.outOfStock}\n />\n {modifier.outOfStock && (\n <Box minWidth=\"90px\" marginLeft={2}>\n <StatusTag color=\"warning\" label=\"Out of stock\" variant=\"outlined\" size=\"md\" />\n </Box>\n )}\n </Box>\n }\n labelPlacement=\"start\"\n />\n {modifier.hasModifiers && !modifier.outOfStock && (\n <Options handleOptionsClick={() => handleOptionsClick(modifier.id)} />\n )}\n </Box>\n )\n })}\n </FormGroup>\n </FormControl>\n )\n}\nconst MultipleQuantitySelectControl = (props: ModifierOptionsControlProps) => {\n const { modifiers, isOutOfStock, onChange, disableNewSelections, handleOptionsClick, selectionQuantity } = props\n const makeHandleChange = (modifier: Modifier) => (_e: any, customEvent: QuantityChangeEvent) => {\n onChange({\n isRadio: false,\n modifierId: modifier.id,\n groupId: modifier.parentModifierGroupId,\n parentModifierId: modifier.parentModifierGroupItemId,\n price: modifier.price || 0,\n quantity: customEvent.quantity,\n })\n }\n return (\n <FormControl fullWidth>\n <FormGroup>\n {modifiers.map((modifier) => (\n <Box key={modifier.id} style={{ justifyContent: 'space-between', flexDirection: 'column' }} display=\"flex\">\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"space-between\" width=\"100%\">\n <Label\n name={modifier.name}\n price={modifier.formattedPrice}\n disabled={isOutOfStock || modifier.outOfStock}\n />\n {modifier.outOfStock && (\n <Box minWidth=\"90px\" marginLeft={2}>\n <StatusTag color=\"warning\" label=\"Out of stock\" variant=\"outlined\" size=\"md\" />\n </Box>\n )}\n {!modifier.outOfStock && (\n <QuantityPicker\n variation=\"modifierCount\"\n value={modifier.quantity}\n disableIncrement={disableNewSelections}\n preventManualChange={true}\n onChange={makeHandleChange(modifier)}\n disabled={isOutOfStock || modifier.outOfStock}\n name={modifier.name}\n />\n )}\n </Box>\n <Box display=\"flex\" alignItems=\"flex-start\" gridGap={4}>\n {modifier.hasModifiers && !modifier.outOfStock && (\n <Options handleOptionsClick={() => handleOptionsClick(modifier.id)} />\n )}\n {selectionQuantity[modifier.id] &&\n selectionQuantity[modifier.id].requiredSelectionCount > 0 &&\n selectionQuantity[modifier.id].requiredSelectionCount !==\n selectionQuantity[modifier.id].currentSelectionCount && (\n <Typography variant=\"caption\" color=\"error\">\n {selectionQuantity[modifier.id].currentSelectionCount}/\n {selectionQuantity[modifier.id].requiredSelectionCount} selected\n </Typography>\n )}\n </Box>\n </Box>\n ))}\n </FormGroup>\n </FormControl>\n )\n}\n\nexport const ModifierControls = (props: ModifierOptionsControlProps) => {\n switch (props.type) {\n case 'singleSelect':\n return <SingleSelectModifierControl {...props} />\n case 'multipleSelect':\n return <MultipleSelectControl {...props} />\n case 'multipleQuantitySelect':\n return <MultipleQuantitySelectControl {...props} />\n default:\n return null\n }\n}\n"],"names":["React"],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { CheckboxModifierFormProps, RadioModifierFormProps } from './DishModifierCardProps';
|
|
3
2
|
export declare const CheckboxGroup: (props: CheckboxModifierFormProps) => JSX.Element;
|
|
4
3
|
export declare const RadioGroup: (props: RadioModifierFormProps) => JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { DishModifierCard
|
|
2
|
-
export { DishModifierCardProps } from './DishModifierCardProps';
|
|
1
|
+
export { DishModifierCard } from './DishModifierCard';
|
|
2
|
+
export type { DishModifierCardProps } from './DishModifierCardProps';
|
|
@@ -3,9 +3,9 @@ import { Avatar } from '@material-ui/core';
|
|
|
3
3
|
import { Typography } from '@popmenu/common-ui';
|
|
4
4
|
import { useItemTagStyles } from './itemTag.styles.js';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
const ItemTag = forwardRef((props, ref) => {
|
|
7
|
+
const { alt, children } = props;
|
|
8
|
+
const classes = useItemTagStyles();
|
|
9
9
|
return (React__default.createElement(Avatar, { ref: ref, alt: alt, classes: { root: classes.root } },
|
|
10
10
|
React__default.createElement(Typography, { variant: "caption", className: classes.text }, children)));
|
|
11
11
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemTag.js","sources":["../../../../src/components/ItemTag/ItemTag.tsx"],"sourcesContent":["import React, { forwardRef } from 'react'\nimport { Avatar } from '@material-ui/core'\nimport { Typography } from '@popmenu/common-ui'\n\nimport { ItemTagProps } from './ItemTagProps'\nimport { useItemTagStyles } from './itemTag.styles'\n\nexport const ItemTag = forwardRef<HTMLDivElement, ItemTagProps>((props, ref) => {\n const { alt, children } = props\n const classes = useItemTagStyles()\n\n return (\n <Avatar ref={ref} alt={alt} classes={{ root: classes.root }}>\n <Typography variant=\"caption\" className={classes.text}>\n {children}\n </Typography>\n </Avatar>\n )\n})\n\nItemTag.displayName = 'ItemTag'\n"],"names":["React"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"ItemTag.js","sources":["../../../../src/components/ItemTag/ItemTag.tsx"],"sourcesContent":["import React, { forwardRef } from 'react'\nimport { Avatar } from '@material-ui/core'\nimport { Typography } from '@popmenu/common-ui'\n\nimport { ItemTagProps } from './ItemTagProps'\nimport { useItemTagStyles } from './itemTag.styles'\n\nexport const ItemTag = forwardRef<HTMLDivElement, ItemTagProps>((props, ref) => {\n const { alt, children } = props\n const classes = useItemTagStyles()\n\n return (\n <Avatar ref={ref} alt={alt} classes={{ root: classes.root }}>\n <Typography variant=\"caption\" className={classes.text}>\n {children}\n </Typography>\n </Avatar>\n )\n})\n\nItemTag.displayName = 'ItemTag'\n"],"names":["React"],"mappings":";;;;;AAOa,MAAA,OAAO,GAAG,UAAU,CAA+B,CAAC,KAAK,EAAE,GAAG,KAAI;AAC7E,IAAA,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK;AAC/B,IAAA,MAAM,OAAO,GAAG,gBAAgB,EAAE;IAElC,QACEA,6BAAC,MAAM,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAA;AACzD,QAAAA,cAAA,CAAA,aAAA,CAAC,UAAU,EAAC,EAAA,OAAO,EAAC,SAAS,EAAC,SAAS,EAAE,OAAO,CAAC,IAAI,EAClD,EAAA,QAAQ,CACE,CACN;AAEb,CAAC;AAED,OAAO,CAAC,WAAW,GAAG,SAAS;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { ItemTag
|
|
2
|
-
export { ItemTagProps } from './ItemTagProps';
|
|
1
|
+
export { ItemTag } from './ItemTag';
|
|
2
|
+
export type { ItemTagProps } from './ItemTagProps';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { makeStyles } from '@material-ui/core';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
const useItemTagStyles = makeStyles((theme) => ({
|
|
4
4
|
root: {
|
|
5
5
|
color: theme.palette.text.primary,
|
|
6
6
|
borderColor: theme.palette.text.primary,
|
|
@@ -14,7 +14,7 @@ var useItemTagStyles = makeStyles(function (theme) { return ({
|
|
|
14
14
|
text: {
|
|
15
15
|
lineHeight: 1.5,
|
|
16
16
|
},
|
|
17
|
-
})
|
|
17
|
+
}));
|
|
18
18
|
|
|
19
19
|
export { useItemTagStyles };
|
|
20
20
|
//# sourceMappingURL=itemTag.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"itemTag.styles.js","sources":["../../../../src/components/ItemTag/itemTag.styles.ts"],"sourcesContent":["import { makeStyles } from '@material-ui/core'\n\nexport const useItemTagStyles = makeStyles((theme) => ({\n root: {\n color: theme.palette.text.primary,\n borderColor: theme.palette.text.primary,\n border: '1.5px solid',\n background: 'none',\n height: '24px',\n lineHeight: 1.5,\n position: 'static',\n width: '24px',\n },\n text: {\n lineHeight: 1.5,\n },\n}))\n"],"names":[],"mappings":";;AAEa,
|
|
1
|
+
{"version":3,"file":"itemTag.styles.js","sources":["../../../../src/components/ItemTag/itemTag.styles.ts"],"sourcesContent":["import { makeStyles } from '@material-ui/core'\n\nexport const useItemTagStyles = makeStyles((theme) => ({\n root: {\n color: theme.palette.text.primary,\n borderColor: theme.palette.text.primary,\n border: '1.5px solid',\n background: 'none',\n height: '24px',\n lineHeight: 1.5,\n position: 'static',\n width: '24px',\n },\n text: {\n lineHeight: 1.5,\n },\n}))\n"],"names":[],"mappings":";;AAEa,MAAA,gBAAgB,GAAG,UAAU,CAAC,CAAC,KAAK,MAAM;AACrD,IAAA,IAAI,EAAE;AACJ,QAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;AACjC,QAAA,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;AACvC,QAAA,MAAM,EAAE,aAAa;AACrB,QAAA,UAAU,EAAE,MAAM;AAClB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,UAAU,EAAE,GAAG;AACf,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,KAAK,EAAE,MAAM;AACd,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,UAAU,EAAE,GAAG;AAChB,KAAA;AACF,CAAA,CAAC;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
2
|
import { Box } from '@material-ui/core';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
const ItemTagGroup = (props) => {
|
|
5
|
+
const { children } = props;
|
|
6
6
|
return (React__default.createElement(Box, { display: "flex", gridGap: 6, ml: 1, flexWrap: "wrap" }, children));
|
|
7
7
|
};
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemTagGroup.js","sources":["../../../../src/components/ItemTagGroup/ItemTagGroup.tsx"],"sourcesContent":["import React, { HTMLAttributes, PropsWithChildren } from 'react'\nimport { Box } from '@material-ui/core'\n\nexport const ItemTagGroup = (props: PropsWithChildren<HTMLAttributes<HTMLElement>>) => {\n const { children } = props\n\n return (\n <Box display=\"flex\" gridGap={6} ml={1} flexWrap=\"wrap\">\n {children}\n </Box>\n )\n}\n"],"names":["React"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ItemTagGroup.js","sources":["../../../../src/components/ItemTagGroup/ItemTagGroup.tsx"],"sourcesContent":["import React, { HTMLAttributes, PropsWithChildren } from 'react'\nimport { Box } from '@material-ui/core'\n\nexport const ItemTagGroup = (props: PropsWithChildren<HTMLAttributes<HTMLElement>>) => {\n const { children } = props\n\n return (\n <Box display=\"flex\" gridGap={6} ml={1} flexWrap=\"wrap\">\n {children}\n </Box>\n )\n}\n"],"names":["React"],"mappings":";;;AAGa,MAAA,YAAY,GAAG,CAAC,KAAqD,KAAI;AACpF,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK;IAE1B,QACEA,6BAAC,GAAG,EAAA,EAAC,OAAO,EAAC,MAAM,EAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAC,MAAM,EACnD,EAAA,QAAQ,CACL;AAEV;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { ItemTagGroup
|
|
1
|
+
export { ItemTagGroup } from './ItemTagGroup';
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import { __rest, __assign } from 'tslib';
|
|
2
1
|
import React__default from 'react';
|
|
3
2
|
import { Card, CardActionArea, CardContent, Box, Typography } from '@material-ui/core';
|
|
4
3
|
import { Icon } from '@popmenu/common-ui';
|
|
5
4
|
import { Check, Clock, Info } from '@popmenu/web-icons';
|
|
6
5
|
import { useLocationCardStyles } from './LocationCard.styles.js';
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
const LocationCard = (props) => {
|
|
8
|
+
const { name, address, distance, generalAvailability, pickupAvailability, deliveryAvailability, onClick, selected, value, outOfRange, outOfRangeMessage, CardActionAreaProps, ...muiProps } = props;
|
|
9
|
+
const classes = useLocationCardStyles(props);
|
|
10
|
+
const anyAvailability = generalAvailability || pickupAvailability || deliveryAvailability;
|
|
11
|
+
const handleClick = () => {
|
|
13
12
|
onClick(value);
|
|
14
13
|
};
|
|
15
|
-
return (React__default.createElement(Card,
|
|
16
|
-
React__default.createElement(CardActionArea,
|
|
14
|
+
return (React__default.createElement(Card, { className: classes.root, ...muiProps },
|
|
15
|
+
React__default.createElement(CardActionArea, { onClick: handleClick, role: "radio", "aria-checked": selected, disabled: outOfRange || Boolean(anyAvailability), classes: { focusHighlight: classes.actionAreaFocusHighlight }, ...CardActionAreaProps },
|
|
17
16
|
React__default.createElement(CardContent, { className: classes.content },
|
|
18
17
|
React__default.createElement(Box, { className: classes.locationInfo },
|
|
19
18
|
React__default.createElement(Box, { display: "flex", justifyContent: "space-between" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocationCard.js","sources":["../../../../src/components/LocationCard/LocationCard.tsx"],"sourcesContent":["import React from 'react'\nimport { Box, Typography, Card, CardActionArea, CardContent } from '@material-ui/core'\nimport { Icon } from '@popmenu/common-ui'\nimport { Clock, Check, Info } from '@popmenu/web-icons'\nimport { LocationCardProps } from './LocationCardProps'\nimport { useLocationCardStyles } from './LocationCard.styles'\n\nexport const LocationCard = (props: LocationCardProps) => {\n const {\n name,\n address,\n distance,\n generalAvailability,\n pickupAvailability,\n deliveryAvailability,\n onClick,\n selected,\n value,\n outOfRange,\n outOfRangeMessage,\n CardActionAreaProps,\n ...muiProps\n } = props\n const classes = useLocationCardStyles(props)\n const anyAvailability = generalAvailability || pickupAvailability || deliveryAvailability\n\n const handleClick = () => {\n onClick(value)\n }\n\n return (\n <Card className={classes.root} {...muiProps}>\n <CardActionArea\n onClick={handleClick}\n role=\"radio\"\n aria-checked={selected}\n disabled={outOfRange || Boolean(anyAvailability)}\n classes={{ focusHighlight: classes.actionAreaFocusHighlight }}\n {...CardActionAreaProps}\n >\n <CardContent className={classes.content}>\n <Box className={classes.locationInfo}>\n <Box display=\"flex\" justifyContent=\"space-between\">\n <Typography className={classes.name}>{name}</Typography>\n {selected && <Icon icon={Check} size=\"extra-large\" className={classes.checkIcon} />}\n </Box>\n {address && (\n <Typography className={classes.greyText} variant=\"body2\">\n {address}\n </Typography>\n )}\n {!outOfRange && <Typography className={classes.distance}>{distance}</Typography>}\n </Box>\n {anyAvailability && (\n <Box className={classes.availability}>\n <Icon icon={Clock} size=\"large\" />\n {generalAvailability && (\n <Typography className={classes.availabilityMessage} variant=\"body2\">\n {generalAvailability}\n </Typography>\n )}\n {pickupAvailability && (\n <Typography className={classes.availabilityMessage} variant=\"body2\">\n {pickupAvailability}\n </Typography>\n )}\n {deliveryAvailability && (\n <Typography className={classes.availabilityMessage} variant=\"body2\">\n {deliveryAvailability}\n </Typography>\n )}\n </Box>\n )}\n {outOfRange && (\n <Box display=\"flex\" gridGap={8} alignItems=\"center\" color=\"grey.800\">\n <Icon icon={Info} size=\"large\" color=\"inherit\" />\n <Typography variant=\"body2\" className={classes.greyText}>\n {outOfRangeMessage}\n </Typography>\n </Box>\n )}\n </CardContent>\n </CardActionArea>\n </Card>\n )\n}\n"],"names":["React"],"mappings":"
|
|
1
|
+
{"version":3,"file":"LocationCard.js","sources":["../../../../src/components/LocationCard/LocationCard.tsx"],"sourcesContent":["import React from 'react'\nimport { Box, Typography, Card, CardActionArea, CardContent } from '@material-ui/core'\nimport { Icon } from '@popmenu/common-ui'\nimport { Clock, Check, Info } from '@popmenu/web-icons'\nimport { LocationCardProps } from './LocationCardProps'\nimport { useLocationCardStyles } from './LocationCard.styles'\n\nexport const LocationCard = (props: LocationCardProps) => {\n const {\n name,\n address,\n distance,\n generalAvailability,\n pickupAvailability,\n deliveryAvailability,\n onClick,\n selected,\n value,\n outOfRange,\n outOfRangeMessage,\n CardActionAreaProps,\n ...muiProps\n } = props\n const classes = useLocationCardStyles(props)\n const anyAvailability = generalAvailability || pickupAvailability || deliveryAvailability\n\n const handleClick = () => {\n onClick(value)\n }\n\n return (\n <Card className={classes.root} {...muiProps}>\n <CardActionArea\n onClick={handleClick}\n role=\"radio\"\n aria-checked={selected}\n disabled={outOfRange || Boolean(anyAvailability)}\n classes={{ focusHighlight: classes.actionAreaFocusHighlight }}\n {...CardActionAreaProps}\n >\n <CardContent className={classes.content}>\n <Box className={classes.locationInfo}>\n <Box display=\"flex\" justifyContent=\"space-between\">\n <Typography className={classes.name}>{name}</Typography>\n {selected && <Icon icon={Check} size=\"extra-large\" className={classes.checkIcon} />}\n </Box>\n {address && (\n <Typography className={classes.greyText} variant=\"body2\">\n {address}\n </Typography>\n )}\n {!outOfRange && <Typography className={classes.distance}>{distance}</Typography>}\n </Box>\n {anyAvailability && (\n <Box className={classes.availability}>\n <Icon icon={Clock} size=\"large\" />\n {generalAvailability && (\n <Typography className={classes.availabilityMessage} variant=\"body2\">\n {generalAvailability}\n </Typography>\n )}\n {pickupAvailability && (\n <Typography className={classes.availabilityMessage} variant=\"body2\">\n {pickupAvailability}\n </Typography>\n )}\n {deliveryAvailability && (\n <Typography className={classes.availabilityMessage} variant=\"body2\">\n {deliveryAvailability}\n </Typography>\n )}\n </Box>\n )}\n {outOfRange && (\n <Box display=\"flex\" gridGap={8} alignItems=\"center\" color=\"grey.800\">\n <Icon icon={Info} size=\"large\" color=\"inherit\" />\n <Typography variant=\"body2\" className={classes.greyText}>\n {outOfRangeMessage}\n </Typography>\n </Box>\n )}\n </CardContent>\n </CardActionArea>\n </Card>\n )\n}\n"],"names":["React"],"mappings":"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"}
|
|
@@ -1,22 +1,16 @@
|
|
|
1
1
|
import { makeStyles, lighten } from '@material-ui/core';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
const useLocationCardStyles = makeStyles((theme) => {
|
|
4
|
+
const { palette: { info, grey, secondary, background }, spacing, } = theme;
|
|
5
|
+
const selectedBackgroundColor = lighten(info.light, 0.9);
|
|
6
|
+
const backgroundColor = background.default;
|
|
7
7
|
return {
|
|
8
8
|
root: {
|
|
9
|
-
border:
|
|
10
|
-
var selected = _a.selected;
|
|
11
|
-
return selected ? "1px solid " + info.light : '1px solid var(--surfaces-card-stroke, #E0E0E0)';
|
|
12
|
-
},
|
|
9
|
+
border: ({ selected }) => selected ? `1px solid ${info.light}` : '1px solid var(--surfaces-card-stroke, #E0E0E0)',
|
|
13
10
|
display: 'flex',
|
|
14
11
|
borderRadius: '10px',
|
|
15
12
|
color: grey[900],
|
|
16
|
-
backgroundColor:
|
|
17
|
-
var selected = _a.selected, outOfRange = _a.outOfRange;
|
|
18
|
-
return selected ? selectedBackgroundColor : outOfRange ? grey[200] : backgroundColor;
|
|
19
|
-
},
|
|
13
|
+
backgroundColor: ({ selected, outOfRange }) => selected ? selectedBackgroundColor : outOfRange ? grey[200] : backgroundColor,
|
|
20
14
|
},
|
|
21
15
|
actionAreaFocusHighlight: {
|
|
22
16
|
'&:disabled': {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocationCard.styles.js","sources":["../../../../src/components/LocationCard/LocationCard.styles.ts"],"sourcesContent":["import { lighten, makeStyles, Theme } from '@material-ui/core'\nimport { LocationCardProps } from './LocationCardProps'\n\nexport const useLocationCardStyles = makeStyles<Theme, LocationCardProps>((theme) => {\n const {\n palette: { info, grey, secondary, background },\n spacing,\n } = theme\n const selectedBackgroundColor = lighten(info.light, 0.9)\n const backgroundColor = background.default\n\n return {\n root: {\n border: ({ selected }) =>\n selected ? `1px solid ${info.light}` : '1px solid var(--surfaces-card-stroke, #E0E0E0)',\n display: 'flex',\n borderRadius: '10px',\n color: grey[900],\n backgroundColor: ({ selected, outOfRange }) =>\n selected ? selectedBackgroundColor : outOfRange ? grey[200] : backgroundColor,\n },\n actionAreaFocusHighlight: {\n '&:disabled': {\n backgroundColor: 'inherit',\n },\n },\n availability: {\n color: secondary.light,\n display: 'grid',\n gridGap: spacing(0.5),\n gridTemplateColumns: 'auto 1fr',\n },\n availabilityMessage: {\n gridColumn: '2 / 3',\n },\n checkIcon: {\n color: info.main,\n },\n content: {\n padding: spacing(3),\n display: 'flex',\n flexDirection: 'column',\n gridGap: spacing(2),\n },\n distance: {\n fontSize: '0.75rem',\n fontWeight: 600,\n },\n locationInfo: {\n display: 'flex',\n flexDirection: 'column',\n gridGap: spacing(0.75),\n },\n name: {\n fontSize: '1.125rem',\n fontWeight: 500,\n },\n greyText: {\n color: grey[800],\n },\n }\n})\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"LocationCard.styles.js","sources":["../../../../src/components/LocationCard/LocationCard.styles.ts"],"sourcesContent":["import { lighten, makeStyles, Theme } from '@material-ui/core'\nimport { LocationCardProps } from './LocationCardProps'\n\nexport const useLocationCardStyles = makeStyles<Theme, LocationCardProps>((theme) => {\n const {\n palette: { info, grey, secondary, background },\n spacing,\n } = theme\n const selectedBackgroundColor = lighten(info.light, 0.9)\n const backgroundColor = background.default\n\n return {\n root: {\n border: ({ selected }) =>\n selected ? `1px solid ${info.light}` : '1px solid var(--surfaces-card-stroke, #E0E0E0)',\n display: 'flex',\n borderRadius: '10px',\n color: grey[900],\n backgroundColor: ({ selected, outOfRange }) =>\n selected ? selectedBackgroundColor : outOfRange ? grey[200] : backgroundColor,\n },\n actionAreaFocusHighlight: {\n '&:disabled': {\n backgroundColor: 'inherit',\n },\n },\n availability: {\n color: secondary.light,\n display: 'grid',\n gridGap: spacing(0.5),\n gridTemplateColumns: 'auto 1fr',\n },\n availabilityMessage: {\n gridColumn: '2 / 3',\n },\n checkIcon: {\n color: info.main,\n },\n content: {\n padding: spacing(3),\n display: 'flex',\n flexDirection: 'column',\n gridGap: spacing(2),\n },\n distance: {\n fontSize: '0.75rem',\n fontWeight: 600,\n },\n locationInfo: {\n display: 'flex',\n flexDirection: 'column',\n gridGap: spacing(0.75),\n },\n name: {\n fontSize: '1.125rem',\n fontWeight: 500,\n },\n greyText: {\n color: grey[800],\n },\n }\n})\n"],"names":[],"mappings":";;MAGa,qBAAqB,GAAG,UAAU,CAA2B,CAAC,KAAK,KAAI;AAClF,IAAA,MAAM,EACJ,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,EAC9C,OAAO,GACR,GAAG,KAAK;IACT,MAAM,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;AACxD,IAAA,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO;IAE1C,OAAO;AACL,QAAA,IAAI,EAAE;YACJ,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,KACnB,QAAQ,GAAG,CAAA,UAAA,EAAa,IAAI,CAAC,KAAK,EAAE,GAAG,gDAAgD;AACzF,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,YAAY,EAAE,MAAM;AACpB,YAAA,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;AAChB,YAAA,eAAe,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KACxC,QAAQ,GAAG,uBAAuB,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,eAAe;AAChF,SAAA;AACD,QAAA,wBAAwB,EAAE;AACxB,YAAA,YAAY,EAAE;AACZ,gBAAA,eAAe,EAAE,SAAS;AAC3B,aAAA;AACF,SAAA;AACD,QAAA,YAAY,EAAE;YACZ,KAAK,EAAE,SAAS,CAAC,KAAK;AACtB,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;AACrB,YAAA,mBAAmB,EAAE,UAAU;AAChC,SAAA;AACD,QAAA,mBAAmB,EAAE;AACnB,YAAA,UAAU,EAAE,OAAO;AACpB,SAAA;AACD,QAAA,SAAS,EAAE;YACT,KAAK,EAAE,IAAI,CAAC,IAAI;AACjB,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACnB,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,aAAa,EAAE,QAAQ;AACvB,YAAA,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACpB,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,QAAQ,EAAE,SAAS;AACnB,YAAA,UAAU,EAAE,GAAG;AAChB,SAAA;AACD,QAAA,YAAY,EAAE;AACZ,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,aAAa,EAAE,QAAQ;AACvB,YAAA,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;AACvB,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE,GAAG;AAChB,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC;AACjB,SAAA;KACF;AACH,CAAC;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { LocationCard
|
|
2
|
-
export { LocationCardProps } from './LocationCardProps';
|
|
1
|
+
export { LocationCard } from './LocationCard';
|
|
2
|
+
export type { LocationCardProps } from './LocationCardProps';
|
|
@@ -1,33 +1,32 @@
|
|
|
1
|
-
import { __assign } from 'tslib';
|
|
2
1
|
import React__default from 'react';
|
|
3
2
|
import { Card, CardHeader, CardContent, Typography, Link } from '@material-ui/core';
|
|
4
3
|
import { useStyles } from './MenuBanner.styles.js';
|
|
5
4
|
import { BannerTypeIcons } from './MenuBannerIcons.js';
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
const MenuBanner = (props) => {
|
|
7
|
+
const { show } = props;
|
|
8
|
+
const classes = useStyles(props);
|
|
10
9
|
if (!show)
|
|
11
10
|
return null;
|
|
12
11
|
return (React__default.createElement(Card, { classes: { root: classes.root }, variant: "outlined" },
|
|
13
12
|
React__default.createElement(CardHeader, { avatar: BannerTypeIcons[props.type], title: props.title, titleTypographyProps: { variant: 'body1' }, classes: { root: classes.header, title: classes.headerTitle } }),
|
|
14
|
-
React__default.createElement(MenuBannerDescription,
|
|
15
|
-
React__default.createElement(MenuBannerButton,
|
|
13
|
+
React__default.createElement(MenuBannerDescription, { ...props }),
|
|
14
|
+
React__default.createElement(MenuBannerButton, { ...props })));
|
|
16
15
|
};
|
|
17
16
|
function MenuBannerDescription(props) {
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
const classes = useStyles(props);
|
|
18
|
+
const { description } = props;
|
|
20
19
|
if (!description)
|
|
21
20
|
return null;
|
|
22
21
|
return (React__default.createElement(CardContent, { classes: { root: classes.content } },
|
|
23
22
|
React__default.createElement(Typography, { className: classes.description, variant: "body2" }, props.description)));
|
|
24
23
|
}
|
|
25
24
|
function MenuBannerButton(props) {
|
|
26
|
-
|
|
25
|
+
const classes = useStyles(props);
|
|
27
26
|
if (!props.buttonLabel)
|
|
28
27
|
return null;
|
|
29
28
|
return (React__default.createElement(CardContent, { classes: { root: classes.content } },
|
|
30
|
-
React__default.createElement(Link,
|
|
29
|
+
React__default.createElement(Link, { component: 'button', variant: 'body2', className: classes.button, ...props.ButtonProps }, props.buttonLabel)));
|
|
31
30
|
}
|
|
32
31
|
|
|
33
32
|
export { MenuBanner };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuBanner.js","sources":["../../../../src/components/MenuBanner/MenuBanner.tsx"],"sourcesContent":["import React from 'react'\nimport { Card, CardContent, CardHeader, Link, Typography } from '@material-ui/core'\nimport { useStyles } from './MenuBanner.styles'\nimport { MenuBannerProps } from './MenuBannerProps'\nimport { BannerTypeIcons } from './MenuBannerIcons'\n\nexport const MenuBanner = (props: MenuBannerProps) => {\n const { show } = props\n const classes = useStyles(props)\n\n if (!show) return null\n\n return (\n <Card classes={{ root: classes.root }} variant=\"outlined\">\n <CardHeader\n avatar={BannerTypeIcons[props.type]}\n title={props.title}\n titleTypographyProps={{ variant: 'body1' }}\n classes={{ root: classes.header, title: classes.headerTitle }}\n />\n <MenuBannerDescription {...props} />\n <MenuBannerButton {...props} />\n </Card>\n )\n}\n\nfunction MenuBannerDescription(props: MenuBannerProps) {\n const classes = useStyles(props)\n const { description } = props\n if (!description) return null\n return (\n <CardContent classes={{ root: classes.content }}>\n <Typography className={classes.description} variant=\"body2\">\n {props.description}\n </Typography>\n </CardContent>\n )\n}\n\nfunction MenuBannerButton(props: MenuBannerProps) {\n const classes = useStyles(props)\n if (!props.buttonLabel) return null\n return (\n <CardContent classes={{ root: classes.content }}>\n <Link {...{ component: 'button', variant: 'body2', className: classes.button }} {...props.ButtonProps}>\n {props.buttonLabel}\n </Link>\n </CardContent>\n )\n}\n"],"names":["React"],"mappings":"
|
|
1
|
+
{"version":3,"file":"MenuBanner.js","sources":["../../../../src/components/MenuBanner/MenuBanner.tsx"],"sourcesContent":["import React from 'react'\nimport { Card, CardContent, CardHeader, Link, Typography } from '@material-ui/core'\nimport { useStyles } from './MenuBanner.styles'\nimport { MenuBannerProps } from './MenuBannerProps'\nimport { BannerTypeIcons } from './MenuBannerIcons'\n\nexport const MenuBanner = (props: MenuBannerProps) => {\n const { show } = props\n const classes = useStyles(props)\n\n if (!show) return null\n\n return (\n <Card classes={{ root: classes.root }} variant=\"outlined\">\n <CardHeader\n avatar={BannerTypeIcons[props.type]}\n title={props.title}\n titleTypographyProps={{ variant: 'body1' }}\n classes={{ root: classes.header, title: classes.headerTitle }}\n />\n <MenuBannerDescription {...props} />\n <MenuBannerButton {...props} />\n </Card>\n )\n}\n\nfunction MenuBannerDescription(props: MenuBannerProps) {\n const classes = useStyles(props)\n const { description } = props\n if (!description) return null\n return (\n <CardContent classes={{ root: classes.content }}>\n <Typography className={classes.description} variant=\"body2\">\n {props.description}\n </Typography>\n </CardContent>\n )\n}\n\nfunction MenuBannerButton(props: MenuBannerProps) {\n const classes = useStyles(props)\n if (!props.buttonLabel) return null\n return (\n <CardContent classes={{ root: classes.content }}>\n <Link {...{ component: 'button', variant: 'body2', className: classes.button }} {...props.ButtonProps}>\n {props.buttonLabel}\n </Link>\n </CardContent>\n )\n}\n"],"names":["React"],"mappings":";;;;;AAMa,MAAA,UAAU,GAAG,CAAC,KAAsB,KAAI;AACnD,IAAA,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK;AACtB,IAAA,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC;AAEhC,IAAA,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,IAAI;AAEtB,IAAA,QACEA,cAAC,CAAA,aAAA,CAAA,IAAI,EAAC,EAAA,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAC,UAAU,EAAA;AACvD,QAAAA,cAAA,CAAA,aAAA,CAAC,UAAU,EACT,EAAA,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EACnC,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,oBAAoB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAC1C,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,EAC7D,CAAA;QACFA,cAAC,CAAA,aAAA,CAAA,qBAAqB,EAAK,EAAA,GAAA,KAAK,EAAI,CAAA;AACpC,QAAAA,cAAA,CAAA,aAAA,CAAC,gBAAgB,EAAK,EAAA,GAAA,KAAK,EAAI,CAAA,CAC1B;AAEX;AAEA,SAAS,qBAAqB,CAAC,KAAsB,EAAA;AACnD,IAAA,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC;AAChC,IAAA,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK;AAC7B,IAAA,IAAI,CAAC,WAAW;AAAE,QAAA,OAAO,IAAI;AAC7B,IAAA,QACEA,cAAA,CAAA,aAAA,CAAC,WAAW,EAAA,EAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,EAAA;AAC7C,QAAAA,cAAA,CAAA,aAAA,CAAC,UAAU,EAAC,EAAA,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,EAAC,OAAO,IACxD,KAAK,CAAC,WAAW,CACP,CACD;AAElB;AAEA,SAAS,gBAAgB,CAAC,KAAsB,EAAA;AAC9C,IAAA,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC;IAChC,IAAI,CAAC,KAAK,CAAC,WAAW;AAAE,QAAA,OAAO,IAAI;AACnC,IAAA,QACEA,cAAA,CAAA,aAAA,CAAC,WAAW,EAAA,EAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,EAAA;QAC7CA,cAAC,CAAA,aAAA,CAAA,IAAI,EAAO,EAAA,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,EAAA,GAAQ,KAAK,CAAC,WAAW,EAAA,EAClG,KAAK,CAAC,WAAW,CACb,CACK;AAElB;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { makeStyles } from '@material-ui/core';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
const useStyles = makeStyles((theme) => ({
|
|
4
4
|
root: {
|
|
5
5
|
'& > div': {
|
|
6
6
|
padding: 0,
|
|
@@ -22,28 +22,24 @@ var useStyles = makeStyles(function (theme) { return ({
|
|
|
22
22
|
color: theme.palette.grey[700],
|
|
23
23
|
},
|
|
24
24
|
header: {
|
|
25
|
-
color:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}[props.type]);
|
|
31
|
-
},
|
|
25
|
+
color: (props) => ({
|
|
26
|
+
alert: theme.palette.error.main,
|
|
27
|
+
info: theme.palette.info.main,
|
|
28
|
+
offer: theme.palette.success.main,
|
|
29
|
+
}[props.type]),
|
|
32
30
|
},
|
|
33
31
|
headerTitle: {
|
|
34
|
-
color:
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}[props.type]);
|
|
40
|
-
},
|
|
32
|
+
color: (props) => ({
|
|
33
|
+
alert: theme.palette.error.main,
|
|
34
|
+
info: theme.palette.info.main,
|
|
35
|
+
offer: theme.palette.success.main,
|
|
36
|
+
}[props.type]),
|
|
41
37
|
fontWeight: 600,
|
|
42
38
|
},
|
|
43
39
|
content: {
|
|
44
40
|
marginLeft: theme.spacing(5),
|
|
45
41
|
},
|
|
46
|
-
})
|
|
42
|
+
}));
|
|
47
43
|
|
|
48
44
|
export { useStyles };
|
|
49
45
|
//# sourceMappingURL=MenuBanner.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuBanner.styles.js","sources":["../../../../src/components/MenuBanner/MenuBanner.styles.ts"],"sourcesContent":["import { makeStyles, Theme } from '@material-ui/core'\nimport { MenuBannerProps } from './MenuBannerProps'\n\nexport const useStyles = makeStyles<Theme, MenuBannerProps>((theme) => ({\n root: {\n '& > div': {\n padding: 0,\n '&:last-child': {\n padding: 0,\n },\n },\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'start',\n gridGap: theme.spacing(1),\n padding: theme.spacing(2),\n borderRadius: theme.spacing(2),\n },\n button: {\n color: theme.palette.info.main,\n },\n description: {\n color: theme.palette.grey[700],\n },\n header: {\n color: (props) =>\n ({\n alert: theme.palette.error.main,\n info: theme.palette.info.main,\n offer: theme.palette.success.main,\n }[props.type]),\n },\n headerTitle: {\n color: (props) =>\n ({\n alert: theme.palette.error.main,\n info: theme.palette.info.main,\n offer: theme.palette.success.main,\n }[props.type]),\n fontWeight: 600,\n },\n content: {\n marginLeft: theme.spacing(5),\n },\n}))\n"],"names":[],"mappings":";;AAGa,
|
|
1
|
+
{"version":3,"file":"MenuBanner.styles.js","sources":["../../../../src/components/MenuBanner/MenuBanner.styles.ts"],"sourcesContent":["import { makeStyles, Theme } from '@material-ui/core'\nimport { MenuBannerProps } from './MenuBannerProps'\n\nexport const useStyles = makeStyles<Theme, MenuBannerProps>((theme) => ({\n root: {\n '& > div': {\n padding: 0,\n '&:last-child': {\n padding: 0,\n },\n },\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'start',\n gridGap: theme.spacing(1),\n padding: theme.spacing(2),\n borderRadius: theme.spacing(2),\n },\n button: {\n color: theme.palette.info.main,\n },\n description: {\n color: theme.palette.grey[700],\n },\n header: {\n color: (props) =>\n ({\n alert: theme.palette.error.main,\n info: theme.palette.info.main,\n offer: theme.palette.success.main,\n }[props.type]),\n },\n headerTitle: {\n color: (props) =>\n ({\n alert: theme.palette.error.main,\n info: theme.palette.info.main,\n offer: theme.palette.success.main,\n }[props.type]),\n fontWeight: 600,\n },\n content: {\n marginLeft: theme.spacing(5),\n },\n}))\n"],"names":[],"mappings":";;AAGa,MAAA,SAAS,GAAG,UAAU,CAAyB,CAAC,KAAK,MAAM;AACtE,IAAA,IAAI,EAAE;AACJ,QAAA,SAAS,EAAE;AACT,YAAA,OAAO,EAAE,CAAC;AACV,YAAA,cAAc,EAAE;AACd,gBAAA,OAAO,EAAE,CAAC;AACX,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,aAAa,EAAE,QAAQ;AACvB,QAAA,UAAU,EAAE,OAAO;AACnB,QAAA,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACzB,QAAA,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACzB,QAAA,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/B,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;AAC/B,KAAA;AACD,IAAA,WAAW,EAAE;QACX,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AAC/B,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,KAAK,EAAE,CAAC,KAAK,MACV;AACC,YAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI;AAC/B,YAAA,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;AAC7B,YAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;AAClC,SAAA,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACjB,KAAA;AACD,IAAA,WAAW,EAAE;AACX,QAAA,KAAK,EAAE,CAAC,KAAK,MACV;AACC,YAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI;AAC/B,YAAA,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;AAC7B,YAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;AAClC,SAAA,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAChB,QAAA,UAAU,EAAE,GAAG;AAChB,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7B,KAAA;AACF,CAAA,CAAC;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { DollarSign, Info, Warning } from '@popmenu/web-icons';
|
|
2
2
|
import React__default from 'react';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
const bannerIconStyles = { color: 'inherit', width: 24, height: 24 };
|
|
5
|
+
const BannerTypeIcons = {
|
|
6
6
|
alert: React__default.createElement(Warning, { style: bannerIconStyles }),
|
|
7
7
|
info: React__default.createElement(Info, { style: bannerIconStyles }),
|
|
8
8
|
offer: React__default.createElement(DollarSign, { style: bannerIconStyles }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuBannerIcons.js","sources":["../../../../src/components/MenuBanner/MenuBannerIcons.tsx"],"sourcesContent":["import { DollarSign, Info, Warning } from '@popmenu/web-icons'\nimport React from 'react'\n\nconst bannerIconStyles = { color: 'inherit', width: 24, height: 24 }\nexport const BannerTypeIcons = {\n alert: <Warning style={bannerIconStyles} />,\n info: <Info style={bannerIconStyles} />,\n offer: <DollarSign style={bannerIconStyles} />,\n}\n"],"names":["React"],"mappings":";;;AAGA,
|
|
1
|
+
{"version":3,"file":"MenuBannerIcons.js","sources":["../../../../src/components/MenuBanner/MenuBannerIcons.tsx"],"sourcesContent":["import { DollarSign, Info, Warning } from '@popmenu/web-icons'\nimport React from 'react'\n\nconst bannerIconStyles = { color: 'inherit', width: 24, height: 24 }\nexport const BannerTypeIcons = {\n alert: <Warning style={bannerIconStyles} />,\n info: <Info style={bannerIconStyles} />,\n offer: <DollarSign style={bannerIconStyles} />,\n}\n"],"names":["React"],"mappings":";;;AAGA,MAAM,gBAAgB,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;AACvD,MAAA,eAAe,GAAG;AAC7B,IAAA,KAAK,EAAEA,cAAC,CAAA,aAAA,CAAA,OAAO,IAAC,KAAK,EAAE,gBAAgB,EAAI,CAAA;AAC3C,IAAA,IAAI,EAAEA,cAAC,CAAA,aAAA,CAAA,IAAI,IAAC,KAAK,EAAE,gBAAgB,EAAI,CAAA;AACvC,IAAA,KAAK,EAAEA,cAAC,CAAA,aAAA,CAAA,UAAU,IAAC,KAAK,EAAE,gBAAgB,EAAI,CAAA;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { MenuBanner } from './MenuBanner';
|
|
2
|
-
export { MenuBannerProps } from './MenuBannerProps';
|
|
2
|
+
export type { MenuBannerProps } from './MenuBannerProps';
|
|
@@ -1,23 +1,20 @@
|
|
|
1
|
-
import React__default, { useState } from 'react';
|
|
2
1
|
import { useMediaQuery, FormControl, Select, InputAdornment, MenuItem } from '@material-ui/core';
|
|
3
2
|
import { Icon } from '@popmenu/common-ui';
|
|
4
3
|
import { ChevronUp, ChevronDown, RestaurantMenu, Clock } from '@popmenu/web-icons';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
import React__default, { useState } from 'react';
|
|
5
6
|
import { useMenuDropdownStyles } from './MenuDropdown.styles.js';
|
|
6
|
-
import classNames from '../../node_modules/classnames/index.js';
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var breakpoints = _a.breakpoints;
|
|
14
|
-
return breakpoints.down('md');
|
|
15
|
-
});
|
|
8
|
+
const MenuDropdown = (props) => {
|
|
9
|
+
const { menuOptions, onSelect, selectedOptionId } = props;
|
|
10
|
+
const classes = useMenuDropdownStyles(props);
|
|
11
|
+
const [open, setOpen] = useState(false);
|
|
12
|
+
const isMobile = useMediaQuery((theme) => theme.breakpoints.down('md'));
|
|
16
13
|
return (React__default.createElement(FormControl, { hiddenLabel: true, classes: { root: classes.formControl } },
|
|
17
14
|
React__default.createElement("label", { id: "menu-dropdown-label", className: "sr-only" }, props.label),
|
|
18
|
-
React__default.createElement(Select, { SelectDisplayProps: { 'aria-labelledby': 'menu-dropdown-label' }, value: selectedOptionId, onOpen:
|
|
19
|
-
React__default.createElement(Icon, { icon: RestaurantMenu, size: isMobile ? 'extra-large' : 'large' })), IconComponent:
|
|
20
|
-
React__default.createElement(Icon, { color: "#0076CB", icon: open ? ChevronUp : ChevronDown, size: "large" })))
|
|
15
|
+
React__default.createElement(Select, { SelectDisplayProps: { 'aria-labelledby': 'menu-dropdown-label' }, value: selectedOptionId, onOpen: () => setOpen(true), onClose: () => setOpen(false), disableUnderline: true, onChange: (event) => onSelect(event.target.value), fullWidth: true, open: open, startAdornment: React__default.createElement(InputAdornment, { position: "start", onClick: () => setOpen(true) },
|
|
16
|
+
React__default.createElement(Icon, { icon: RestaurantMenu, size: isMobile ? 'extra-large' : 'large' })), IconComponent: () => (React__default.createElement(InputAdornment, { position: "end", onClick: () => setOpen(true) },
|
|
17
|
+
React__default.createElement(Icon, { color: "#0076CB", icon: open ? ChevronUp : ChevronDown, size: "large" }))), MenuProps: {
|
|
21
18
|
disablePortal: true,
|
|
22
19
|
anchorOrigin: {
|
|
23
20
|
vertical: 'bottom',
|
|
@@ -28,9 +25,9 @@ var MenuDropdown = function (props) {
|
|
|
28
25
|
horizontal: 'left',
|
|
29
26
|
},
|
|
30
27
|
getContentAnchorEl: null,
|
|
31
|
-
}, className: classes.select, renderValue:
|
|
28
|
+
}, className: classes.select, renderValue: (selected) => menuOptions.find((menuOption) => menuOption.id === selected)?.name }, menuOptions.map((option, index) => (React__default.createElement(MenuItem, { key: index, value: option.id, className: classNames(classes.menuItem, option.isUnavailable ? classes.unavailable : '') },
|
|
32
29
|
option.name,
|
|
33
|
-
option.isUnavailable && React__default.createElement(Icon, { icon: Clock, size: "large" })))
|
|
30
|
+
option.isUnavailable && React__default.createElement(Icon, { icon: Clock, size: "large" })))))));
|
|
34
31
|
};
|
|
35
32
|
|
|
36
33
|
export { MenuDropdown };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuDropdown.js","sources":["../../../../src/components/MenuDropdown/MenuDropdown.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"MenuDropdown.js","sources":["../../../../src/components/MenuDropdown/MenuDropdown.tsx"],"sourcesContent":["import { FormControl, InputAdornment, MenuItem, Select, Theme, useMediaQuery } from '@material-ui/core'\nimport { Icon } from '@popmenu/common-ui'\nimport { ChevronDown, ChevronUp, Clock, RestaurantMenu } from '@popmenu/web-icons'\nimport classNames from 'classnames'\nimport React, { useState } from 'react'\nimport { useMenuDropdownStyles } from './MenuDropdown.styles'\nimport { MenuDropdownOption, MenuDropdownProps } from './MenuDropdownProps'\n\nexport const MenuDropdown = (props: MenuDropdownProps): JSX.Element => {\n const { menuOptions, onSelect, selectedOptionId } = props\n const classes = useMenuDropdownStyles(props)\n const [open, setOpen] = useState(false)\n const isMobile = useMediaQuery((theme: Theme) => theme.breakpoints.down('md'))\n\n return (\n <FormControl hiddenLabel={true} classes={{ root: classes.formControl }}>\n <label id=\"menu-dropdown-label\" className=\"sr-only\">\n {props.label}\n </label>\n <Select\n SelectDisplayProps={{ 'aria-labelledby': 'menu-dropdown-label' }}\n value={selectedOptionId}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n disableUnderline\n onChange={(event) => onSelect(event.target.value as string)}\n fullWidth\n open={open}\n startAdornment={\n <InputAdornment position=\"start\" onClick={() => setOpen(true)}>\n <Icon icon={RestaurantMenu} size={isMobile ? 'extra-large' : 'large'} />\n </InputAdornment>\n }\n IconComponent={() => (\n <InputAdornment position=\"end\" onClick={() => setOpen(true)}>\n <Icon color=\"#0076CB\" icon={open ? ChevronUp : ChevronDown} size=\"large\" />\n </InputAdornment>\n )}\n MenuProps={{\n disablePortal: true,\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'left',\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'left',\n },\n getContentAnchorEl: null,\n }}\n className={classes.select}\n renderValue={(selected) => menuOptions.find((menuOption) => menuOption.id === selected)?.name}\n >\n {menuOptions.map((option: MenuDropdownOption, index) => (\n <MenuItem\n key={index}\n value={option.id}\n className={classNames(classes.menuItem, option.isUnavailable ? classes.unavailable : '')}\n >\n {option.name}\n {option.isUnavailable && <Icon icon={Clock} size=\"large\" />}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n )\n}\n"],"names":["React"],"mappings":"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"}
|