@popmenu/ordering-ui 0.154.0 → 0.155.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/components/Button/Button.d.ts +1 -1
- package/build/cjs/components/DialogSection/DialogSection.d.ts +2 -2
- package/build/cjs/components/DialogTitle/DialogTitle.d.ts +2 -2
- package/build/cjs/components/DishCheckoutCard/DishCheckoutCard.d.ts +1 -2
- package/build/cjs/components/DishModifierCard/DishModifierCard.d.ts +1 -2
- package/build/cjs/components/DishModifierCard/ModifierControls.d.ts +1 -2
- package/build/cjs/components/DishModifierCard/ModifierForm.d.ts +2 -3
- package/build/cjs/components/ExpandableModifierGroup/ExpandableModifierGroup.d.ts +1 -2
- package/build/cjs/components/ItemTagGroup/ItemTagGroup.d.ts +2 -2
- package/build/cjs/components/LocationCard/LocationCard.d.ts +1 -2
- package/build/cjs/components/MenuBanner/MenuBanner.d.ts +1 -2
- package/build/cjs/components/MenuBanner/MenuBannerIcons.d.ts +3 -4
- package/build/cjs/components/MenuItemCard/MenuItemCardImg.d.ts +1 -2
- package/build/cjs/components/MenuItemCard/MenuItemCardInfo.d.ts +1 -1
- package/build/cjs/components/MenuItemCard/MenuItemCardPrice.d.ts +1 -2
- package/build/cjs/components/MenuItemCard/MenuItemCardReactions.d.ts +1 -2
- package/build/cjs/components/MenuItemCard/MenuItemCardTags.d.ts +1 -2
- package/build/cjs/components/MenuItemModifiersList/MenuItemModifiersList.d.ts +1 -2
- package/build/cjs/components/MenuItemModifiersList/ModifierGroup.d.ts +1 -2
- package/build/cjs/components/MenuTab/MenuTab.d.ts +1 -2
- package/build/cjs/components/MenuTabGroup/MenuTabGroup.d.ts +1 -2
- package/build/cjs/components/NestedModsV2DishModifierCard/DishModifierCardProps.d.ts +2 -0
- package/build/cjs/components/NestedModsV2DishModifierCard/ModifierControls.d.ts +1 -2
- package/build/cjs/components/NestedModsV2DishModifierCard/NestedModsV2DishModifierCard.d.ts +1 -2
- package/build/cjs/components/OrderingAppContext/OrderingAppContext.d.ts +1 -1
- package/build/cjs/components/PageSection/PageSection.d.ts +1 -1
- package/build/cjs/components/ReactionCounter/ReactionCounter.d.ts +1 -2
- package/build/cjs/components/ReactionCounterGroup/ReactionCounterGroup.d.ts +2 -2
- package/build/cjs/components/SelectableChip/SelectableChip.d.ts +1 -2
- package/build/cjs/components/SelectableChipGroup/SelectableChipGroup.d.ts +1 -1
- package/build/cjs/components/SelectedMenuFiltersList/SelectedMenuFiltersList.d.ts +1 -2
- package/build/cjs/components/StatusTag/StatusTag.d.ts +1 -2
- package/build/cjs/index.js +45 -11
- package/build/cjs/index.js.map +1 -1
- package/build/esm/components/Button/Button.d.ts +1 -1
- package/build/esm/components/DialogSection/DialogSection.d.ts +2 -2
- package/build/esm/components/DialogTitle/DialogTitle.d.ts +2 -2
- package/build/esm/components/DishCheckoutCard/DishCheckoutCard.d.ts +1 -2
- package/build/esm/components/DishModifierCard/DishModifierCard.d.ts +1 -2
- package/build/esm/components/DishModifierCard/ModifierControls.d.ts +1 -2
- package/build/esm/components/DishModifierCard/ModifierForm.d.ts +2 -3
- package/build/esm/components/ExpandableModifierGroup/ExpandableModifierGroup.d.ts +1 -2
- package/build/esm/components/ExpandableModifierGroup/ExpandableModifierGroup.styles.js +1 -2
- package/build/esm/components/ExpandableModifierGroup/ExpandableModifierGroup.styles.js.map +1 -1
- package/build/esm/components/ItemTagGroup/ItemTagGroup.d.ts +2 -2
- package/build/esm/components/LocationCard/LocationCard.d.ts +1 -2
- package/build/esm/components/MenuBanner/MenuBanner.d.ts +1 -2
- package/build/esm/components/MenuBanner/MenuBannerIcons.d.ts +3 -4
- package/build/esm/components/MenuItemCard/MenuItemCardImg.d.ts +1 -2
- package/build/esm/components/MenuItemCard/MenuItemCardInfo.d.ts +1 -1
- package/build/esm/components/MenuItemCard/MenuItemCardPrice.d.ts +1 -2
- package/build/esm/components/MenuItemCard/MenuItemCardReactions.d.ts +1 -2
- package/build/esm/components/MenuItemCard/MenuItemCardTags.d.ts +1 -2
- package/build/esm/components/MenuItemModifiersList/MenuItemModifiersList.d.ts +1 -2
- package/build/esm/components/MenuItemModifiersList/ModifierGroup.d.ts +1 -2
- package/build/esm/components/MenuTab/MenuTab.d.ts +1 -2
- package/build/esm/components/MenuTabGroup/MenuTabGroup.d.ts +1 -2
- package/build/esm/components/NestedModsV2DishModifierCard/DishModifierCard.styles.js +7 -9
- package/build/esm/components/NestedModsV2DishModifierCard/DishModifierCard.styles.js.map +1 -1
- package/build/esm/components/NestedModsV2DishModifierCard/DishModifierCardProps.d.ts +2 -0
- package/build/esm/components/NestedModsV2DishModifierCard/ModifierControls.d.ts +1 -2
- package/build/esm/components/NestedModsV2DishModifierCard/ModifierControls.js +38 -1
- package/build/esm/components/NestedModsV2DishModifierCard/ModifierControls.js.map +1 -1
- package/build/esm/components/NestedModsV2DishModifierCard/NestedModsV2DishModifierCard.d.ts +1 -2
- package/build/esm/components/OrderingAppContext/OrderingAppContext.d.ts +1 -1
- package/build/esm/components/PageSection/PageSection.d.ts +1 -1
- package/build/esm/components/ReactionCounter/ReactionCounter.d.ts +1 -2
- package/build/esm/components/ReactionCounterGroup/ReactionCounterGroup.d.ts +2 -2
- package/build/esm/components/SelectableChip/SelectableChip.d.ts +1 -2
- package/build/esm/components/SelectableChipGroup/SelectableChipGroup.d.ts +1 -1
- package/build/esm/components/SelectedMenuFiltersList/SelectedMenuFiltersList.d.ts +1 -2
- package/build/esm/components/StatusTag/StatusTag.d.ts +1 -2
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpandableModifierGroup.styles.js","sources":["../../../../src/components/ExpandableModifierGroup/ExpandableModifierGroup.styles.ts"],"sourcesContent":["import { makeStyles, Theme } from '@material-ui/core'\n\nexport const useExpandableModifierGroupStyles = makeStyles<Theme>((theme) => ({\n root: {\n backgroundColor: theme.palette.grey[100],\n borderRadius: '8px',\n },\n header: {\n alignItems: 'center',\n background: 'none',\n border: 'none',\n borderRadius: '8px',\n cursor: 'pointer',\n display: 'flex',\n justifyContent: 'space-between',\n padding: theme.spacing(1.5, 2),\n width: '100%',\n },\n name: {\n color: theme.palette.grey[700],\n fontSize: '0.75rem',\n fontWeight: 600,\n letterSpacing: '0.08em',\n textTransform: 'uppercase',\n },\n chevron: {\n color: theme.palette.info.main,\n transition: 'transform 0.2s ease',\n },\n chevronExpanded: {\n transform: 'rotate(90deg)',\n },\n headerExpanded: {\n paddingBottom: theme.spacing(0.5),\n },\n summary: {\n alignItems: 'center',\n columnGap: theme.spacing(1),\n display: 'flex',\n padding: theme.spacing(0, 2, 1.5),\n },\n summaryIcon: {\n color: theme.palette.success.main,\n },\n
|
|
1
|
+
{"version":3,"file":"ExpandableModifierGroup.styles.js","sources":["../../../../src/components/ExpandableModifierGroup/ExpandableModifierGroup.styles.ts"],"sourcesContent":["import { makeStyles, Theme } from '@material-ui/core'\n\nexport const useExpandableModifierGroupStyles = makeStyles<Theme>((theme) => ({\n root: {\n backgroundColor: theme.palette.grey[100],\n borderRadius: '8px',\n },\n header: {\n alignItems: 'center',\n background: 'none',\n border: 'none',\n borderRadius: '8px',\n cursor: 'pointer',\n display: 'flex',\n justifyContent: 'space-between',\n padding: theme.spacing(1.5, 2),\n width: '100%',\n },\n name: {\n color: theme.palette.grey[700],\n fontSize: '0.75rem',\n fontWeight: 600,\n letterSpacing: '0.08em',\n textTransform: 'uppercase',\n },\n chevron: {\n color: theme.palette.info.main,\n transition: 'transform 0.2s ease',\n },\n chevronExpanded: {\n transform: 'rotate(90deg)',\n },\n headerExpanded: {\n paddingBottom: theme.spacing(0.5),\n },\n summary: {\n alignItems: 'center',\n columnGap: theme.spacing(1),\n display: 'flex',\n padding: theme.spacing(0, 2, 1.5),\n },\n summaryIcon: {\n color: theme.palette.success.main,\n },\n summaryText: {\n color: theme.palette.grey[700],\n fontSize: '0.75rem',\n lineHeight: 1.2,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n}))\n"],"names":[],"mappings":";;AAEa,MAAA,gCAAgC,GAAG,UAAU,CAAQ,CAAC,KAAK,MAAM;AAC5E,IAAA,IAAI,EAAE;QACJ,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACxC,QAAA,YAAY,EAAE,KAAK;AACpB,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,UAAU,EAAE,QAAQ;AACpB,QAAA,UAAU,EAAE,MAAM;AAClB,QAAA,MAAM,EAAE,MAAM;AACd,QAAA,YAAY,EAAE,KAAK;AACnB,QAAA,MAAM,EAAE,SAAS;AACjB,QAAA,OAAO,EAAE,MAAM;AACf,QAAA,cAAc,EAAE,eAAe;QAC/B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAC9B,QAAA,KAAK,EAAE,MAAM;AACd,KAAA;AACD,IAAA,IAAI,EAAE;QACJ,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AAC9B,QAAA,QAAQ,EAAE,SAAS;AACnB,QAAA,UAAU,EAAE,GAAG;AACf,QAAA,aAAa,EAAE,QAAQ;AACvB,QAAA,aAAa,EAAE,WAAW;AAC3B,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;AAC9B,QAAA,UAAU,EAAE,qBAAqB;AAClC,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,SAAS,EAAE,eAAe;AAC3B,KAAA;AACD,IAAA,cAAc,EAAE;AACd,QAAA,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;AAClC,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,UAAU,EAAE,QAAQ;AACpB,QAAA,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3B,QAAA,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;AAClC,KAAA;AACD,IAAA,WAAW,EAAE;AACX,QAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI;AAClC,KAAA;AACD,IAAA,WAAW,EAAE;QACX,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AAC9B,QAAA,QAAQ,EAAE,SAAS;AACnB,QAAA,UAAU,EAAE,GAAG;AACf,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,YAAY,EAAE,UAAU;AACxB,QAAA,UAAU,EAAE,QAAQ;AACrB,KAAA;AACF,CAAA,CAAC;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
export declare const ItemTagGroup: (props: PropsWithChildren<HTMLAttributes<HTMLElement>>) =>
|
|
1
|
+
import { HTMLAttributes, PropsWithChildren } from 'react';
|
|
2
|
+
export declare const ItemTagGroup: (props: PropsWithChildren<HTMLAttributes<HTMLElement>>) => JSX.Element;
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { MenuItemCardProps } from './MenuItemCardProps';
|
|
3
|
-
export declare const MenuItemCardImg: (props: Pick<MenuItemCardProps, "image">) =>
|
|
2
|
+
export declare const MenuItemCardImg: (props: Pick<MenuItemCardProps, "image">) => JSX.Element | null;
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { MenuItemCardProps } from './MenuItemCardProps';
|
|
3
|
-
export declare const MenuItemCardPrice: (props: Pick<MenuItemCardProps, "price" | "available">) =>
|
|
2
|
+
export declare const MenuItemCardPrice: (props: Pick<MenuItemCardProps, "price" | "available">) => JSX.Element;
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { MenuItemCardProps } from './MenuItemCardProps';
|
|
3
|
-
export declare const MenuItemCardReactions: (props: Pick<MenuItemCardProps, "likeCount" | "reviewCount">) =>
|
|
2
|
+
export declare const MenuItemCardReactions: (props: Pick<MenuItemCardProps, "likeCount" | "reviewCount">) => JSX.Element;
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { MenuItemCardProps } from './MenuItemCardProps';
|
|
3
|
-
export declare const MenuItemCardTags: (props: Pick<MenuItemCardProps, "itemTags">) =>
|
|
2
|
+
export declare const MenuItemCardTags: (props: Pick<MenuItemCardProps, "itemTags">) => JSX.Element;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { ModifierGroupsType } from '../DishCheckoutCard/DishCheckoutCardProps';
|
|
3
2
|
export declare const MenuItemModifiersList: ({ modifierGroups, specialInstructions, }: {
|
|
4
3
|
modifierGroups: ModifierGroupsType[];
|
|
5
4
|
specialInstructions: string | null;
|
|
6
|
-
}) =>
|
|
5
|
+
}) => JSX.Element;
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { ModifierGroupsType } from '../DishCheckoutCard/DishCheckoutCardProps';
|
|
3
|
-
export declare const ModifierGroup: (group: ModifierGroupsType, isNested: boolean) =>
|
|
2
|
+
export declare const ModifierGroup: (group: ModifierGroupsType, isNested: boolean) => JSX.Element;
|
|
@@ -23,14 +23,14 @@ const useDishModifierCardStyles = makeStyles((theme) => ({
|
|
|
23
23
|
},
|
|
24
24
|
},
|
|
25
25
|
name: {
|
|
26
|
-
fontSize: '
|
|
27
|
-
fontWeight:
|
|
26
|
+
fontSize: '1rem',
|
|
27
|
+
fontWeight: 500,
|
|
28
28
|
marginBottom: theme.spacing(2),
|
|
29
29
|
},
|
|
30
30
|
}));
|
|
31
31
|
const useRadioModifierFormStyles = makeStyles((theme) => ({
|
|
32
32
|
radioGroup: {
|
|
33
|
-
gap: theme.spacing(
|
|
33
|
+
gap: theme.spacing(1.5),
|
|
34
34
|
},
|
|
35
35
|
label: {
|
|
36
36
|
alignItems: 'center',
|
|
@@ -60,7 +60,7 @@ const useRadioModifierFormStyles = makeStyles((theme) => ({
|
|
|
60
60
|
}));
|
|
61
61
|
const useCheckboxModifierFormStyles = makeStyles((theme) => ({
|
|
62
62
|
formGroup: {
|
|
63
|
-
gap: theme.spacing(
|
|
63
|
+
gap: theme.spacing(1.5),
|
|
64
64
|
},
|
|
65
65
|
label: {
|
|
66
66
|
alignItems: 'center',
|
|
@@ -110,7 +110,7 @@ const useLabelStyles = makeStyles((theme) => ({
|
|
|
110
110
|
columnGap: theme.spacing(1),
|
|
111
111
|
display: 'flex',
|
|
112
112
|
justifyContent: 'space-between',
|
|
113
|
-
marginTop: theme.spacing(
|
|
113
|
+
marginTop: theme.spacing(1),
|
|
114
114
|
minHeight: theme.spacing(2.5),
|
|
115
115
|
width: '100%',
|
|
116
116
|
},
|
|
@@ -121,10 +121,9 @@ const useLabelStyles = makeStyles((theme) => ({
|
|
|
121
121
|
flex: 1,
|
|
122
122
|
minWidth: 0,
|
|
123
123
|
},
|
|
124
|
-
// TODO [sc-162475]: 0.625rem (10px) is below the recommended minimum font size for accessibility — address in followup
|
|
125
124
|
selectedSummaryPrimaryText: {
|
|
126
125
|
color: theme.palette.grey[700],
|
|
127
|
-
fontSize: '0.
|
|
126
|
+
fontSize: '0.75rem',
|
|
128
127
|
fontWeight: theme.typography.fontWeightRegular,
|
|
129
128
|
lineHeight: 1.2,
|
|
130
129
|
overflow: 'hidden',
|
|
@@ -154,8 +153,7 @@ const useOptionsStyles = makeStyles((theme) => ({
|
|
|
154
153
|
paddingRight: 0,
|
|
155
154
|
paddingTop: 0,
|
|
156
155
|
'& .MuiTypography-root': {
|
|
157
|
-
|
|
158
|
-
fontSize: '0.625rem',
|
|
156
|
+
fontSize: '0.75rem',
|
|
159
157
|
lineHeight: 1.2,
|
|
160
158
|
},
|
|
161
159
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DishModifierCard.styles.js","sources":["../../../../src/components/NestedModsV2DishModifierCard/DishModifierCard.styles.ts"],"sourcesContent":["import { makeStyles, Theme } from '@material-ui/core'\n\nexport const useDishModifierCardStyles = makeStyles<Theme>((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'column',\n padding: theme.spacing(2.5),\n color: `${theme.palette.grey[900]} !important`,\n },\n card: {\n borderRadius: '8px',\n border: '1px solid var(--surfaces-card-stroke, #E0E0E0)',\n },\n error: {\n color: theme.palette.error.main,\n },\n helperText: {\n color: theme.palette.grey[700],\n },\n optionalStatusTag: {\n '& > div': {\n backgroundColor: theme.palette.grey[300],\n },\n },\n name: {\n fontSize: '
|
|
1
|
+
{"version":3,"file":"DishModifierCard.styles.js","sources":["../../../../src/components/NestedModsV2DishModifierCard/DishModifierCard.styles.ts"],"sourcesContent":["import { makeStyles, Theme } from '@material-ui/core'\n\nexport const useDishModifierCardStyles = makeStyles<Theme>((theme) => ({\n root: {\n display: 'flex',\n flexDirection: 'column',\n padding: theme.spacing(2.5),\n color: `${theme.palette.grey[900]} !important`,\n },\n card: {\n borderRadius: '8px',\n border: '1px solid var(--surfaces-card-stroke, #E0E0E0)',\n },\n error: {\n color: theme.palette.error.main,\n },\n helperText: {\n color: theme.palette.grey[700],\n },\n optionalStatusTag: {\n '& > div': {\n backgroundColor: theme.palette.grey[300],\n },\n },\n name: {\n fontSize: '1rem',\n fontWeight: 500,\n marginBottom: theme.spacing(2),\n },\n}))\n\nexport const useRadioModifierFormStyles = makeStyles<Theme>((theme) => ({\n radioGroup: {\n gap: theme.spacing(1.5),\n },\n label: {\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n },\n radio: {\n fontSize: '1rem',\n padding: 'unset',\n marginRight: theme.spacing(-0.25),\n\n '&.Mui-checked': {\n color: theme.palette.info.main,\n },\n },\n hideRadio: {\n display: 'none',\n },\n root: {\n justifyContent: 'space-between',\n margin: 0,\n width: '100%',\n\n '& > :last-child': {\n flex: 1,\n },\n },\n}))\n\nexport const useCheckboxModifierFormStyles = makeStyles<Theme>((theme) => ({\n formGroup: {\n gap: theme.spacing(1.5),\n },\n label: {\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n },\n checkbox: {\n color: theme.palette.grey[700],\n fontSize: '1rem',\n marginRight: theme.spacing(-0.25),\n padding: 'unset',\n\n '&.Mui-checked': {\n color: theme.palette.info.main,\n },\n },\n hideCheckbox: {\n display: 'none',\n },\n root: {\n margin: 0,\n width: '100%',\n\n '& > :last-child': {\n flex: 1,\n },\n },\n}))\n\nexport const useLabelStyles = makeStyles<Theme>((theme) => ({\n label: {\n margin: theme.spacing(0.5, 0),\n },\n selectedLabel: {\n margin: theme.spacing(0.5, 0),\n },\n disabled: {\n color: theme.palette.grey[500],\n },\n price: {\n color: theme.palette.grey[700],\n },\n selectedSummary: {\n color: theme.palette.grey[700],\n },\n selectedSummaryInlineRow: {\n alignItems: 'center',\n color: theme.palette.grey[700],\n columnGap: theme.spacing(1),\n display: 'flex',\n justifyContent: 'space-between',\n marginTop: theme.spacing(1),\n minHeight: theme.spacing(2.5),\n width: '100%',\n },\n selectedSummaryPrimary: {\n alignItems: 'center',\n columnGap: theme.spacing(1),\n display: 'flex',\n flex: 1,\n minWidth: 0,\n },\n selectedSummaryPrimaryText: {\n color: theme.palette.grey[700],\n fontSize: '0.75rem',\n fontWeight: theme.typography.fontWeightRegular,\n lineHeight: 1.2,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n selectedSummaryIcon: {\n color: theme.palette.success.main,\n },\n}))\n\nexport const useOptionsStyles = makeStyles<Theme>((theme) => ({\n options: {\n color: theme.palette.info.main,\n marginBottom: theme.spacing(1.5),\n minWidth: 'unset',\n padding: 0,\n },\n inlineOptions: {\n alignItems: 'center',\n display: 'inline-flex',\n justifyContent: 'center',\n height: 'auto',\n marginBottom: 0,\n minHeight: 'unset',\n paddingBottom: 0,\n paddingLeft: '10px',\n paddingRight: 0,\n paddingTop: 0,\n '& .MuiTypography-root': {\n fontSize: '0.75rem',\n lineHeight: 1.2,\n },\n },\n}))\n"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,8 @@ export type ModifierControlsOptions = {
|
|
|
33
33
|
* selected.
|
|
34
34
|
*/
|
|
35
35
|
hideNestedOptionsButton?: boolean;
|
|
36
|
+
/** Renders single-select and multiple-select rows with modifier quantity buttons instead of radio/checkbox controls */
|
|
37
|
+
selectionControlVariant?: 'default' | 'quantityButtons';
|
|
36
38
|
};
|
|
37
39
|
export type NestedModsV2DishModifierCardProps = {
|
|
38
40
|
/** Aggregate price of the modifier and its nested children modifiers */
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { ModifierOptionsControlProps } from './DishModifierCardProps';
|
|
3
|
-
export declare const ModifierControls: (props: ModifierOptionsControlProps) =>
|
|
2
|
+
export declare const ModifierControls: (props: ModifierOptionsControlProps) => JSX.Element | null;
|
|
@@ -6,7 +6,7 @@ import React__default from 'react';
|
|
|
6
6
|
import { Button } from '../Button/Button.js';
|
|
7
7
|
import { QuantityPicker } from '../QuantityPicker/QuantityPicker.js';
|
|
8
8
|
import { StatusTag } from '../StatusTag/StatusTag.js';
|
|
9
|
-
import {
|
|
9
|
+
import { useRadioModifierFormStyles, useCheckboxModifierFormStyles, useLabelStyles, useOptionsStyles } from './DishModifierCard.styles.js';
|
|
10
10
|
|
|
11
11
|
const Label = (props) => {
|
|
12
12
|
const { name, price, disabled = false, hidePrice = false, isSelected = false, selectedSummary, enableSelectedModifierStyles = false, } = props;
|
|
@@ -91,6 +91,37 @@ const SingleSelectModifierControl = (props) => {
|
|
|
91
91
|
React__default.createElement(NestedModifierActions, { modifier: modifier, handleOptionsClick: handleOptionsClick, state: modifierActionState })));
|
|
92
92
|
}))));
|
|
93
93
|
};
|
|
94
|
+
const QuantityButtonControl = (props) => {
|
|
95
|
+
const { modifiers, name, isOutOfStock, onChange, value, handleOptionsClick, aggregatePrice, disableNewSelections } = props;
|
|
96
|
+
const radioClasses = useRadioModifierFormStyles();
|
|
97
|
+
const isSingleSelect = props.type === 'singleSelect';
|
|
98
|
+
const makeHandleChange = (modifier, isSelected) => (_e, customEvent) => {
|
|
99
|
+
if (!isSelected && modifier.hasModifiers && !props.modifierControlsOptions?.hideNestedOptionsButton) {
|
|
100
|
+
handleOptionsClick(modifier.id);
|
|
101
|
+
}
|
|
102
|
+
onChange({
|
|
103
|
+
isRadio: isSingleSelect,
|
|
104
|
+
modifierId: modifier.id,
|
|
105
|
+
groupId: modifier.parentModifierGroupId,
|
|
106
|
+
parentModifierId: modifier.parentModifierGroupItemId,
|
|
107
|
+
price: modifier.price || 0,
|
|
108
|
+
quantity: isSingleSelect && customEvent.quantity > 0 ? 1 : customEvent.quantity,
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
return (React__default.createElement(FormControl, { fullWidth: true },
|
|
112
|
+
React__default.createElement(FormGroup, { className: radioClasses.radioGroup, "aria-label": name }, modifiers.map((modifier) => {
|
|
113
|
+
const selectedModifier = value.find((v) => v.modifierId === modifier.id && v.quantity > 0);
|
|
114
|
+
const isSelected = Boolean(selectedModifier);
|
|
115
|
+
const modifierActionState = getModifierActionState(modifier, isSelected, props);
|
|
116
|
+
return (React__default.createElement(Box, { key: modifier.id },
|
|
117
|
+
React__default.createElement(Box, { display: "flex", alignItems: "center", justifyContent: "space-between", width: "100%" },
|
|
118
|
+
React__default.createElement(Label, { name: modifier.name, price: aggregatePrice[modifier.id] || modifier.formattedPrice, disabled: isOutOfStock || modifier.outOfStock, hidePrice: modifier.hidePrice, isSelected: modifierActionState.isSelected, enableSelectedModifierStyles: props.modifierControlsOptions?.enableSelectedModifierStyles, selectedSummary: modifierActionState.showInlineAction ? undefined : modifierActionState.selectedSummary }),
|
|
119
|
+
modifier.outOfStock && (React__default.createElement(Box, { minWidth: "90px", marginLeft: 2 },
|
|
120
|
+
React__default.createElement(StatusTag, { color: "warning", label: props.messages.outOfStockText, variant: "outlined", size: "md" }))),
|
|
121
|
+
!modifier.outOfStock && (React__default.createElement(QuantityPicker, { incrementButtonTitle: `Add ${modifier.name}`, decrementButtonTitle: `Remove ${modifier.name}`, id: `${modifier.id}-quantity-picker`, variation: "modifierCount", value: selectedModifier?.quantity ?? 0, min: 0, max: isSingleSelect ? 1 : undefined, preventManualChange: true, disableIncrement: !isSingleSelect && disableNewSelections, onChange: makeHandleChange(modifier, isSelected), disabled: isOutOfStock || modifier.outOfStock, name: modifier.name }))),
|
|
122
|
+
React__default.createElement(NestedModifierActions, { modifier: modifier, handleOptionsClick: handleOptionsClick, state: modifierActionState, renderRegularButton: false })));
|
|
123
|
+
}))));
|
|
124
|
+
};
|
|
94
125
|
const MultipleSelectControl = (props) => {
|
|
95
126
|
const { modifiers, value, isOutOfStock, onChange, disableNewSelections, handleOptionsClick, aggregatePrice } = props;
|
|
96
127
|
const classes = useCheckboxModifierFormStyles();
|
|
@@ -157,8 +188,14 @@ const MultipleQuantitySelectControl = (props) => {
|
|
|
157
188
|
const ModifierControls = (props) => {
|
|
158
189
|
switch (props.type) {
|
|
159
190
|
case 'singleSelect':
|
|
191
|
+
if (props.modifierControlsOptions?.selectionControlVariant === 'quantityButtons') {
|
|
192
|
+
return React__default.createElement(QuantityButtonControl, { ...props });
|
|
193
|
+
}
|
|
160
194
|
return React__default.createElement(SingleSelectModifierControl, { ...props });
|
|
161
195
|
case 'multipleSelect':
|
|
196
|
+
if (props.modifierControlsOptions?.selectionControlVariant === 'quantityButtons') {
|
|
197
|
+
return React__default.createElement(QuantityButtonControl, { ...props });
|
|
198
|
+
}
|
|
162
199
|
return React__default.createElement(MultipleSelectControl, { ...props });
|
|
163
200
|
case 'multipleQuantitySelect':
|
|
164
201
|
return React__default.createElement(MultipleQuantitySelectControl, { ...props });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModifierControls.js","sources":["../../../../src/components/NestedModsV2DishModifierCard/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 { CheckCircle, 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: {\n name: string\n price: string\n disabled?: boolean\n hidePrice?: boolean\n isSelected?: boolean\n selectedSummary?: string\n enableSelectedModifierStyles?: boolean\n}) => {\n const {\n name,\n price,\n disabled = false,\n hidePrice = false,\n isSelected = false,\n selectedSummary,\n enableSelectedModifierStyles = false,\n } = props\n const classes = useLabelStyles()\n const numericPrice = price ? parseFloat(price.replace(/[^0-9.-]/g, '')) : NaN\n const shouldHidePrice = hidePrice || !price || numericPrice === 0 || isNaN(numericPrice)\n const showSelectedSummary = Boolean(enableSelectedModifierStyles && isSelected && selectedSummary)\n\n return (\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n className={classNames({ [classes.label]: !showSelectedSummary, [classes.selectedLabel]: showSelectedSummary })}\n >\n <Box display=\"flex\" alignItems=\"center\" gridGap={8}>\n <Typography\n className={classNames({\n [classes.disabled]: disabled,\n })}\n >\n {name}\n </Typography>\n </Box>\n {!shouldHidePrice && (\n <Typography className={classNames({ [classes.price]: !disabled }, { [classes.disabled]: disabled })}>\n {`+ ${price}`}\n </Typography>\n )}\n {showSelectedSummary && <Typography className={classes.selectedSummary}>{selectedSummary}</Typography>}\n </Box>\n )\n}\n\nconst Options = (props: {\n handleOptionsClick: () => void\n actionLabel: 'OPTIONS' | 'UPDATE'\n hidden?: boolean\n inline?: boolean\n}) => {\n const { handleOptionsClick, actionLabel, hidden = false, inline = false } = props\n const classes = useOptionsStyles()\n const displayActionLabel = inline ? (actionLabel === 'UPDATE' ? 'Update' : 'Options') : actionLabel\n if (hidden) return null\n\n return (\n <Box>\n <Button\n variation=\"none\"\n className={classNames(classes.options, { [classes.inlineOptions]: inline })}\n onClick={handleOptionsClick}\n >\n <Typography variant=\"caption\">{displayActionLabel}</Typography>\n {!inline && <Icon icon={ChevronRight} />}\n </Button>\n </Box>\n )\n}\n\nconst getIsSelected = (modifierId: number, value: ModifierOptionsControlProps['value']) =>\n value.some((modifierValue) => modifierValue.modifierId === modifierId && modifierValue.quantity > 0)\n\nconst getActionLabel = (isSelected: boolean, props: ModifierOptionsControlProps) =>\n props.modifierControlsOptions?.showUpdateButton && isSelected ? 'UPDATE' : 'OPTIONS'\n\nconst shouldHideNestedOptionsButton = (isSelected: boolean, props: ModifierOptionsControlProps) =>\n Boolean(\n props.modifierControlsOptions?.hideNestedOptionsButton ||\n (props.modifierControlsOptions?.enableSelectedModifierStyles && !isSelected),\n )\n\nconst shouldShowInlineAction = (isSelected: boolean, props: ModifierOptionsControlProps) =>\n Boolean(\n isSelected &&\n props.modifierControlsOptions?.enableSelectedModifierStyles &&\n !props.modifierControlsOptions?.hideNestedOptionsButton,\n )\n\nconst getModifierActionState = (\n modifier: Modifier,\n isSelected: boolean,\n props: ModifierOptionsControlProps,\n): {\n isSelected: boolean\n shouldHideNestedOptions: boolean\n showInlineAction: boolean\n actionLabel: 'OPTIONS' | 'UPDATE'\n selectedSummary?: string\n} => ({\n isSelected,\n shouldHideNestedOptions: shouldHideNestedOptionsButton(isSelected, props),\n showInlineAction: shouldShowInlineAction(isSelected, props),\n actionLabel: getActionLabel(isSelected, props),\n selectedSummary: props.modifierControlsOptions?.selectedNestedSummaryByModifierId?.[modifier.id],\n})\n\nconst NestedModifierActions = (props: {\n modifier: Modifier\n handleOptionsClick: (id: number) => void\n state: ReturnType<typeof getModifierActionState>\n renderRegularButton?: boolean\n}) => {\n const { modifier, handleOptionsClick, state, renderRegularButton = true } = props\n const labelClasses = useLabelStyles()\n\n if (!modifier.hasModifiers || modifier.outOfStock) return null\n\n return (\n <>\n {state.showInlineAction && state.selectedSummary && (\n <Box className={labelClasses.selectedSummaryInlineRow}>\n <Box className={labelClasses.selectedSummaryPrimary}>\n <Icon icon={CheckCircle} size=\"medium\" className={labelClasses.selectedSummaryIcon} />\n <Typography variant=\"caption\" className={labelClasses.selectedSummaryPrimaryText}>\n {state.selectedSummary}\n </Typography>\n </Box>\n <Options\n handleOptionsClick={() => handleOptionsClick(modifier.id)}\n actionLabel={state.actionLabel}\n inline\n hidden={state.shouldHideNestedOptions}\n />\n </Box>\n )}\n {renderRegularButton && (\n <Options\n handleOptionsClick={() => handleOptionsClick(modifier.id)}\n actionLabel={state.actionLabel}\n hidden={state.shouldHideNestedOptions || (state.showInlineAction && Boolean(state.selectedSummary))}\n />\n )}\n </>\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 && !props.modifierControlsOptions?.hideNestedOptionsButton) {\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 className={radioClasses.radioGroup} aria-label={name}>\n {modifiers.map((modifier) => {\n const modifierActionState = getModifierActionState(modifier, getIsSelected(modifier.id, value), props)\n return (\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 hidePrice={modifier.hidePrice}\n isSelected={modifierActionState.isSelected}\n enableSelectedModifierStyles={props.modifierControlsOptions?.enableSelectedModifierStyles}\n selectedSummary={\n modifierActionState.showInlineAction ? undefined : modifierActionState.selectedSummary\n }\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 <NestedModifierActions\n modifier={modifier}\n handleOptionsClick={handleOptionsClick}\n state={modifierActionState}\n />\n </Box>\n )\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 && !props.modifierControlsOptions?.hideNestedOptionsButton) {\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 className={classes.formGroup}>\n {modifiers.map((modifier) => {\n const modifierActionState = getModifierActionState(modifier, getIsSelected(modifier.id, value), props)\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 hidePrice={modifier.hidePrice}\n isSelected={modifierActionState.isSelected}\n enableSelectedModifierStyles={props.modifierControlsOptions?.enableSelectedModifierStyles}\n selectedSummary={\n modifierActionState.showInlineAction ? undefined : modifierActionState.selectedSummary\n }\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 <NestedModifierActions\n modifier={modifier}\n handleOptionsClick={handleOptionsClick}\n state={modifierActionState}\n />\n </Box>\n )\n })}\n </FormGroup>\n </FormControl>\n )\n}\nconst MultipleQuantitySelectControl = (props: ModifierOptionsControlProps) => {\n const {\n modifiers,\n isOutOfStock,\n onChange,\n disableNewSelections,\n handleOptionsClick,\n selectionQuantity,\n aggregatePrice,\n } = props\n const makeHandleChange = (modifier: Modifier) => (_e: unknown, 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 const modifierActionState = getModifierActionState(modifier, modifier.quantity > 0, props)\n return (\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={aggregatePrice[modifier.id] || modifier.formattedPrice}\n disabled={isOutOfStock || modifier.outOfStock}\n hidePrice={modifier.hidePrice}\n isSelected={modifierActionState.isSelected}\n enableSelectedModifierStyles={props.modifierControlsOptions?.enableSelectedModifierStyles}\n selectedSummary={\n modifierActionState.showInlineAction ? undefined : modifierActionState.selectedSummary\n }\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 incrementButtonTitle={`Add ${modifier.name}`}\n decrementButtonTitle={`Remove ${modifier.name}`}\n id={`${modifier.id}-quantity-picker`}\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 <NestedModifierActions\n modifier={modifier}\n handleOptionsClick={handleOptionsClick}\n state={modifierActionState}\n renderRegularButton={false}\n />\n <Box display=\"flex\" alignItems=\"flex-start\" gridGap={4}>\n {modifier.hasModifiers && !modifier.outOfStock && (\n <Options\n handleOptionsClick={() => handleOptionsClick(modifier.id)}\n actionLabel={modifierActionState.actionLabel}\n hidden={\n modifierActionState.shouldHideNestedOptions ||\n (modifierActionState.showInlineAction && Boolean(modifierActionState.selectedSummary))\n }\n />\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 })}\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/NestedModsV2DishModifierCard/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 { CheckCircle, 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: {\n name: string\n price: string\n disabled?: boolean\n hidePrice?: boolean\n isSelected?: boolean\n selectedSummary?: string\n enableSelectedModifierStyles?: boolean\n}) => {\n const {\n name,\n price,\n disabled = false,\n hidePrice = false,\n isSelected = false,\n selectedSummary,\n enableSelectedModifierStyles = false,\n } = props\n const classes = useLabelStyles()\n const numericPrice = price ? parseFloat(price.replace(/[^0-9.-]/g, '')) : NaN\n const shouldHidePrice = hidePrice || !price || numericPrice === 0 || isNaN(numericPrice)\n const showSelectedSummary = Boolean(enableSelectedModifierStyles && isSelected && selectedSummary)\n\n return (\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n className={classNames({ [classes.label]: !showSelectedSummary, [classes.selectedLabel]: showSelectedSummary })}\n >\n <Box display=\"flex\" alignItems=\"center\" gridGap={8}>\n <Typography\n className={classNames({\n [classes.disabled]: disabled,\n })}\n >\n {name}\n </Typography>\n </Box>\n {!shouldHidePrice && (\n <Typography className={classNames({ [classes.price]: !disabled }, { [classes.disabled]: disabled })}>\n {`+ ${price}`}\n </Typography>\n )}\n {showSelectedSummary && <Typography className={classes.selectedSummary}>{selectedSummary}</Typography>}\n </Box>\n )\n}\n\nconst Options = (props: {\n handleOptionsClick: () => void\n actionLabel: 'OPTIONS' | 'UPDATE'\n hidden?: boolean\n inline?: boolean\n}) => {\n const { handleOptionsClick, actionLabel, hidden = false, inline = false } = props\n const classes = useOptionsStyles()\n const displayActionLabel = inline ? (actionLabel === 'UPDATE' ? 'Update' : 'Options') : actionLabel\n if (hidden) return null\n\n return (\n <Box>\n <Button\n variation=\"none\"\n className={classNames(classes.options, { [classes.inlineOptions]: inline })}\n onClick={handleOptionsClick}\n >\n <Typography variant=\"caption\">{displayActionLabel}</Typography>\n {!inline && <Icon icon={ChevronRight} />}\n </Button>\n </Box>\n )\n}\n\nconst getIsSelected = (modifierId: number, value: ModifierOptionsControlProps['value']) =>\n value.some((modifierValue) => modifierValue.modifierId === modifierId && modifierValue.quantity > 0)\n\nconst getActionLabel = (isSelected: boolean, props: ModifierOptionsControlProps) =>\n props.modifierControlsOptions?.showUpdateButton && isSelected ? 'UPDATE' : 'OPTIONS'\n\nconst shouldHideNestedOptionsButton = (isSelected: boolean, props: ModifierOptionsControlProps) =>\n Boolean(\n props.modifierControlsOptions?.hideNestedOptionsButton ||\n (props.modifierControlsOptions?.enableSelectedModifierStyles && !isSelected),\n )\n\nconst shouldShowInlineAction = (isSelected: boolean, props: ModifierOptionsControlProps) =>\n Boolean(\n isSelected &&\n props.modifierControlsOptions?.enableSelectedModifierStyles &&\n !props.modifierControlsOptions?.hideNestedOptionsButton,\n )\n\nconst getModifierActionState = (\n modifier: Modifier,\n isSelected: boolean,\n props: ModifierOptionsControlProps,\n): {\n isSelected: boolean\n shouldHideNestedOptions: boolean\n showInlineAction: boolean\n actionLabel: 'OPTIONS' | 'UPDATE'\n selectedSummary?: string\n} => ({\n isSelected,\n shouldHideNestedOptions: shouldHideNestedOptionsButton(isSelected, props),\n showInlineAction: shouldShowInlineAction(isSelected, props),\n actionLabel: getActionLabel(isSelected, props),\n selectedSummary: props.modifierControlsOptions?.selectedNestedSummaryByModifierId?.[modifier.id],\n})\n\nconst NestedModifierActions = (props: {\n modifier: Modifier\n handleOptionsClick: (id: number) => void\n state: ReturnType<typeof getModifierActionState>\n renderRegularButton?: boolean\n}) => {\n const { modifier, handleOptionsClick, state, renderRegularButton = true } = props\n const labelClasses = useLabelStyles()\n\n if (!modifier.hasModifiers || modifier.outOfStock) return null\n\n return (\n <>\n {state.showInlineAction && state.selectedSummary && (\n <Box className={labelClasses.selectedSummaryInlineRow}>\n <Box className={labelClasses.selectedSummaryPrimary}>\n <Icon icon={CheckCircle} size=\"medium\" className={labelClasses.selectedSummaryIcon} />\n <Typography variant=\"caption\" className={labelClasses.selectedSummaryPrimaryText}>\n {state.selectedSummary}\n </Typography>\n </Box>\n <Options\n handleOptionsClick={() => handleOptionsClick(modifier.id)}\n actionLabel={state.actionLabel}\n inline\n hidden={state.shouldHideNestedOptions}\n />\n </Box>\n )}\n {renderRegularButton && (\n <Options\n handleOptionsClick={() => handleOptionsClick(modifier.id)}\n actionLabel={state.actionLabel}\n hidden={state.shouldHideNestedOptions || (state.showInlineAction && Boolean(state.selectedSummary))}\n />\n )}\n </>\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 && !props.modifierControlsOptions?.hideNestedOptionsButton) {\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 className={radioClasses.radioGroup} aria-label={name}>\n {modifiers.map((modifier) => {\n const modifierActionState = getModifierActionState(modifier, getIsSelected(modifier.id, value), props)\n return (\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 hidePrice={modifier.hidePrice}\n isSelected={modifierActionState.isSelected}\n enableSelectedModifierStyles={props.modifierControlsOptions?.enableSelectedModifierStyles}\n selectedSummary={\n modifierActionState.showInlineAction ? undefined : modifierActionState.selectedSummary\n }\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 <NestedModifierActions\n modifier={modifier}\n handleOptionsClick={handleOptionsClick}\n state={modifierActionState}\n />\n </Box>\n )\n })}\n </RadioGroup>\n </FormControl>\n )\n}\n\nconst QuantityButtonControl = (props: ModifierOptionsControlProps) => {\n const { modifiers, name, isOutOfStock, onChange, value, handleOptionsClick, aggregatePrice, disableNewSelections } =\n props\n const radioClasses = useRadioModifierFormStyles()\n const isSingleSelect = props.type === 'singleSelect'\n\n const makeHandleChange =\n (modifier: Modifier, isSelected: boolean) => (_e: unknown, customEvent: QuantityChangeEvent) => {\n if (!isSelected && modifier.hasModifiers && !props.modifierControlsOptions?.hideNestedOptionsButton) {\n handleOptionsClick(modifier.id)\n }\n\n onChange({\n isRadio: isSingleSelect,\n modifierId: modifier.id,\n groupId: modifier.parentModifierGroupId,\n parentModifierId: modifier.parentModifierGroupItemId,\n price: modifier.price || 0,\n quantity: isSingleSelect && customEvent.quantity > 0 ? 1 : customEvent.quantity,\n })\n }\n\n return (\n <FormControl fullWidth>\n <FormGroup className={radioClasses.radioGroup} aria-label={name}>\n {modifiers.map((modifier) => {\n const selectedModifier = value.find((v) => v.modifierId === modifier.id && v.quantity > 0)\n const isSelected = Boolean(selectedModifier)\n const modifierActionState = getModifierActionState(modifier, isSelected, props)\n\n return (\n <Box key={modifier.id}>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"space-between\" width=\"100%\">\n <Label\n name={modifier.name}\n price={aggregatePrice[modifier.id] || modifier.formattedPrice}\n disabled={isOutOfStock || modifier.outOfStock}\n hidePrice={modifier.hidePrice}\n isSelected={modifierActionState.isSelected}\n enableSelectedModifierStyles={props.modifierControlsOptions?.enableSelectedModifierStyles}\n selectedSummary={\n modifierActionState.showInlineAction ? undefined : modifierActionState.selectedSummary\n }\n />\n {modifier.outOfStock && (\n <Box minWidth=\"90px\" marginLeft={2}>\n <StatusTag color=\"warning\" label={props.messages.outOfStockText} variant=\"outlined\" size=\"md\" />\n </Box>\n )}\n {!modifier.outOfStock && (\n <QuantityPicker\n incrementButtonTitle={`Add ${modifier.name}`}\n decrementButtonTitle={`Remove ${modifier.name}`}\n id={`${modifier.id}-quantity-picker`}\n variation=\"modifierCount\"\n value={selectedModifier?.quantity ?? 0}\n min={0}\n max={isSingleSelect ? 1 : undefined}\n preventManualChange={true}\n disableIncrement={!isSingleSelect && disableNewSelections}\n onChange={makeHandleChange(modifier, isSelected)}\n disabled={isOutOfStock || modifier.outOfStock}\n name={modifier.name}\n />\n )}\n </Box>\n <NestedModifierActions\n modifier={modifier}\n handleOptionsClick={handleOptionsClick}\n state={modifierActionState}\n renderRegularButton={false}\n />\n </Box>\n )\n })}\n </FormGroup>\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 && !props.modifierControlsOptions?.hideNestedOptionsButton) {\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 className={classes.formGroup}>\n {modifiers.map((modifier) => {\n const modifierActionState = getModifierActionState(modifier, getIsSelected(modifier.id, value), props)\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 hidePrice={modifier.hidePrice}\n isSelected={modifierActionState.isSelected}\n enableSelectedModifierStyles={props.modifierControlsOptions?.enableSelectedModifierStyles}\n selectedSummary={\n modifierActionState.showInlineAction ? undefined : modifierActionState.selectedSummary\n }\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 <NestedModifierActions\n modifier={modifier}\n handleOptionsClick={handleOptionsClick}\n state={modifierActionState}\n />\n </Box>\n )\n })}\n </FormGroup>\n </FormControl>\n )\n}\nconst MultipleQuantitySelectControl = (props: ModifierOptionsControlProps) => {\n const {\n modifiers,\n isOutOfStock,\n onChange,\n disableNewSelections,\n handleOptionsClick,\n selectionQuantity,\n aggregatePrice,\n } = props\n const makeHandleChange = (modifier: Modifier) => (_e: unknown, 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 const modifierActionState = getModifierActionState(modifier, modifier.quantity > 0, props)\n return (\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={aggregatePrice[modifier.id] || modifier.formattedPrice}\n disabled={isOutOfStock || modifier.outOfStock}\n hidePrice={modifier.hidePrice}\n isSelected={modifierActionState.isSelected}\n enableSelectedModifierStyles={props.modifierControlsOptions?.enableSelectedModifierStyles}\n selectedSummary={\n modifierActionState.showInlineAction ? undefined : modifierActionState.selectedSummary\n }\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 incrementButtonTitle={`Add ${modifier.name}`}\n decrementButtonTitle={`Remove ${modifier.name}`}\n id={`${modifier.id}-quantity-picker`}\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 <NestedModifierActions\n modifier={modifier}\n handleOptionsClick={handleOptionsClick}\n state={modifierActionState}\n renderRegularButton={false}\n />\n <Box display=\"flex\" alignItems=\"flex-start\" gridGap={4}>\n {modifier.hasModifiers && !modifier.outOfStock && (\n <Options\n handleOptionsClick={() => handleOptionsClick(modifier.id)}\n actionLabel={modifierActionState.actionLabel}\n hidden={\n modifierActionState.shouldHideNestedOptions ||\n (modifierActionState.showInlineAction && Boolean(modifierActionState.selectedSummary))\n }\n />\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 })}\n </FormGroup>\n </FormControl>\n )\n}\n\nexport const ModifierControls = (props: ModifierOptionsControlProps) => {\n switch (props.type) {\n case 'singleSelect':\n if (props.modifierControlsOptions?.selectionControlVariant === 'quantityButtons') {\n return <QuantityButtonControl {...props} />\n }\n return <SingleSelectModifierControl {...props} />\n case 'multipleSelect':\n if (props.modifierControlsOptions?.selectionControlVariant === 'quantityButtons') {\n return <QuantityButtonControl {...props} />\n }\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,6 +1,5 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { NestedModsV2DishModifierCardProps } from './DishModifierCardProps';
|
|
3
2
|
export declare const NestedModsV2DishModifierCard: {
|
|
4
|
-
(props: NestedModsV2DishModifierCardProps):
|
|
3
|
+
(props: NestedModsV2DishModifierCardProps): JSX.Element;
|
|
5
4
|
displayName: string;
|
|
6
5
|
};
|
|
@@ -14,5 +14,5 @@ export declare const useOrderingAppContext: () => OrderingAppContextType;
|
|
|
14
14
|
type OrderingAppContextProviderProps = PropsWithChildren<{
|
|
15
15
|
defaultContext: OrderingAppContextValue;
|
|
16
16
|
}>;
|
|
17
|
-
export declare const OrderingAppContextProvider: (props: OrderingAppContextProviderProps) =>
|
|
17
|
+
export declare const OrderingAppContextProvider: (props: OrderingAppContextProviderProps) => JSX.Element;
|
|
18
18
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { HTMLAttributes, PropsWithChildren } from 'react';
|
|
2
2
|
type ReactionCounterGroupProps = PropsWithChildren<HTMLAttributes<HTMLElement>>;
|
|
3
|
-
export declare const ReactionCounterGroup: (props: ReactionCounterGroupProps) =>
|
|
3
|
+
export declare const ReactionCounterGroup: (props: ReactionCounterGroupProps) => JSX.Element;
|
|
4
4
|
export {};
|
|
@@ -2,5 +2,5 @@ import React from 'react';
|
|
|
2
2
|
type SelectableChipGroupProps = {
|
|
3
3
|
children: React.ReactNode;
|
|
4
4
|
} & React.HTMLAttributes<HTMLElement>;
|
|
5
|
-
export declare const SelectableChipGroup: (props: SelectableChipGroupProps) =>
|
|
5
|
+
export declare const SelectableChipGroup: (props: SelectableChipGroupProps) => JSX.Element;
|
|
6
6
|
export {};
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { SelectedMenuFiltersListProps } from './SelectedMenuFiltersListProps';
|
|
3
|
-
export declare const SelectedMenuFiltersList: (props: SelectedMenuFiltersListProps) =>
|
|
2
|
+
export declare const SelectedMenuFiltersList: (props: SelectedMenuFiltersListProps) => JSX.Element;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { StatusTagProps } from './StatusTagProps';
|
|
3
2
|
export declare const StatusTag: {
|
|
4
|
-
({ color, label, size, variant }: StatusTagProps):
|
|
3
|
+
({ color, label, size, variant }: StatusTagProps): JSX.Element;
|
|
5
4
|
displayName: string;
|
|
6
5
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@popmenu/ordering-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.155.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Popmenu Design System Team",
|
|
6
6
|
"description": "React components specifically for the popmenu Online Ordering web app.",
|
|
@@ -32,5 +32,5 @@
|
|
|
32
32
|
"react": "18.x || 19.x"
|
|
33
33
|
},
|
|
34
34
|
"sideEffects": false,
|
|
35
|
-
"gitHead": "
|
|
35
|
+
"gitHead": "d90a114738a610bfea394eaaf98a1e520d1fa36b"
|
|
36
36
|
}
|