@popmenu/common-ui 0.105.0 → 0.107.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.
@@ -2,7 +2,6 @@ import { ReactNode } from 'react';
2
2
  export declare type FollowerAuthenticationDialogProps = {
3
3
  open: boolean;
4
4
  state: ReducerState;
5
- dispatch: (event: ReducerEvent) => void;
6
5
  messages: Record<MessageKey, ReactNode> & {
7
6
  closeButtonLabel: string;
8
7
  };
@@ -10,61 +9,18 @@ export declare type FollowerAuthenticationDialogProps = {
10
9
  loading: boolean;
11
10
  graphics: Record<`${ReducerStateValue}`, string>;
12
11
  logos: Record<'popmenu' | 'facebook' | 'google', ReactNode>;
12
+ onActionButtonClick: (eventType: ClickEventType, values?: Record<string, string>) => void;
13
13
  };
14
14
  export declare type ReducerState = {
15
15
  value: ReducerStateValue;
16
- effects: string[];
17
- formValues: Record<string, string>;
18
- defaultFormValues: Record<string, string>;
19
- };
20
- export declare type ReducerStateValue = 'initial' | 'signUp' | 'emailFound' | 'indirectUserFound' | 'emailAuthCode' | 'emailPasswordSignIn' | 'phoneFound' | 'phoneAuthCode' | 'phonePasswordSignIn' | 'welcome';
21
- export declare type ReducerEvent = {
22
- type: 'submit-form';
23
16
  context: {
24
- values: Record<string, string>;
17
+ email?: string;
18
+ phone?: string;
19
+ name?: string;
25
20
  };
26
- } | {
27
- type: 'click-password-continue';
28
- } | {
29
- type: 'click-facebook-continue';
30
- } | {
31
- type: 'click-google-continue';
32
- } | {
33
- type: 'click-sign-up';
34
- } | {
35
- type: 'click-email-sign-up';
36
- } | {
37
- type: 'click-phone-sign-up';
38
- } | {
39
- type: 'click-get-code';
40
- context: {
41
- values: Record<string, string>;
42
- };
43
- } | {
44
- type: 'click-done';
45
- } | {
46
- type: 'click-close';
47
- } | {
48
- type: 'reset';
49
- } | {
50
- type: 'dialog-closed';
51
- } | {
52
- type: 'user-found';
53
- } | {
54
- type: 'indirect-user-found';
55
- } | {
56
- type: 'user-not-found';
57
- } | {
58
- type: 'sign-in-success';
59
- } | {
60
- type: 'sign-in-failed';
61
- } | {
62
- type: 'code-sent';
63
- } | {
64
- type: 'start-google-auth';
65
- } | {
66
- type: 'start-facebook-auth';
67
21
  };
22
+ export declare type ReducerStateValue = 'initial' | 'signUp' | 'emailFound' | 'indirectUserFound' | 'emailAuthCode' | 'emailPasswordSignIn' | 'phoneFound' | 'phoneAuthCode' | 'phonePasswordSignIn' | 'welcome';
23
+ export declare type ClickEventType = 'submit-form' | 'click-close' | 'code-sent' | 'request-auth-code-email' | 'request-auth-code-sms' | 'close' | 'use-different-account' | 'sign-in-with-password' | 'sign-in-with-facebook' | 'sign-in-with-google';
68
24
  declare type MessageKey = `${ReducerStateValue}Title` | `${ReducerStateValue}Info` | `${ReducerStateValue}GraphicAlt` | 'indirectUserFoundLabel' | 'indirectUserFoundCtaButtonLabel' | 'indirectUserFoundCtaButtonLabelAlt' | 'signUpPhoneErrorText' | 'signUpPhoneInputLabel' | 'signUpNameInputLabel' | 'signUpEmailErrorText' | 'signUpEmailInputLabel' | 'signUpLocationErrorText' | 'signUpLocationInputLabel' | 'signUpBirthdaySectionLabel' | 'signUpMonthInputLabel' | 'signUpDayInputLabel' | 'signUp' | 'signUpFinePrint' | 'emailFoundInputLabel' | 'emailFoundCtaButtonLabel' | 'phoneFoundInputLabel' | 'phoneFoundCtaButtonLabel' | 'emailAuthCodeInputLabel' | 'phoneAuthCodeInputLabel' | 'resendAuthCode' | 'or' | 'popmenuLogoAlt' | 'continueWithFacebookButtonLabel' | 'continueWithGoogleButtonLabel' | 'initialCtaButtonLabel' | 'initialInputLabel' | 'passwordInputLabel' | 'poweredBy' | 'done' | 'signIn' | 'signInWithPassword';
69
25
  declare type LocationOption = {
70
26
  label: string;
package/build/index.es.js CHANGED
@@ -1103,7 +1103,7 @@ var useStyles$2 = makeStyles(function () { return ({
1103
1103
  },
1104
1104
  }); });
1105
1105
  var FollowerAuthenticationForm = function () {
1106
- var _a = useFollowerAuthenticationDialogContext(), state = _a.state, messages = _a.messages, locationOptions = _a.locationOptions, dispatch = _a.dispatch, loading = _a.loading;
1106
+ var _a = useFollowerAuthenticationDialogContext(), state = _a.state, messages = _a.messages, locationOptions = _a.locationOptions, onActionButtonClick = _a.onActionButtonClick, loading = _a.loading;
1107
1107
  var classes = useStyles$2();
1108
1108
  // sign-up form state
1109
1109
  var formRef = useRef(null);
@@ -1111,8 +1111,8 @@ var FollowerAuthenticationForm = function () {
1111
1111
  var _c = useState(), showPhoneErrorText = _c[0], setShowPhoneErrorText = _c[1];
1112
1112
  var _d = useState(), showEmailErrorText = _d[0], setShowEmailErrorText = _d[1];
1113
1113
  var _e = useState(), showLocationErrorText = _e[0], setShowLocationErrorText = _e[1];
1114
- var _f = useState(state.defaultFormValues.phone || ''), signUpPhoneValue = _f[0], setSignUpPhoneValue = _f[1];
1115
- var _g = useState(state.defaultFormValues.email || ''), signUpEmailValue = _g[0], setSignUpEmailValue = _g[1];
1114
+ var _f = useState(state.context.phone || ''), signUpPhoneValue = _f[0], setSignUpPhoneValue = _f[1];
1115
+ var _g = useState(state.context.email || ''), signUpEmailValue = _g[0], setSignUpEmailValue = _g[1];
1116
1116
  var checkFieldValidity = function (e) {
1117
1117
  var _a, _b;
1118
1118
  var fieldName = e.target.name;
@@ -1139,7 +1139,7 @@ var FollowerAuthenticationForm = function () {
1139
1139
  var form = e.target;
1140
1140
  var formData = new FormData(form);
1141
1141
  var values = Object.fromEntries(formData.entries());
1142
- dispatch({ type: 'submit-form', context: { values: values } });
1142
+ onActionButtonClick('submit-form', values);
1143
1143
  };
1144
1144
  var formProps = {
1145
1145
  id: 'follower-authentication-form',
@@ -1158,12 +1158,12 @@ var FollowerAuthenticationForm = function () {
1158
1158
  React__default.createElement(TextField$1, { disabled: loading, label: messages.signUpPhoneInputLabel, key: "phone-input", id: "phone-input", name: "phone", onChange: checkFieldValidity, error: showPhoneErrorText, helperText: showPhoneErrorText && messages.signUpPhoneErrorText, inputProps: {
1159
1159
  pattern: '^[0-9]{10}$',
1160
1160
  required: signUpEmailValue ? false : true,
1161
- } }),
1161
+ }, defaultValue: state.context.phone }),
1162
1162
  React__default.createElement(TextField$1, { disabled: loading, label: messages.signUpNameInputLabel, key: "name-input", id: "name-input", name: "name", inputProps: { required: true } }),
1163
1163
  React__default.createElement(TextField$1, { disabled: loading, label: messages.signUpEmailInputLabel, key: "email-input", id: "email-input", name: "email", error: showEmailErrorText, helperText: showEmailErrorText && messages.signUpEmailErrorText, onChange: checkFieldValidity, inputProps: {
1164
1164
  required: signUpPhoneValue ? false : true,
1165
1165
  type: 'email',
1166
- } }),
1166
+ }, defaultValue: state.context.email }),
1167
1167
  React__default.createElement(TextField$1, { disabled: loading, select: true, onChange: checkFieldValidity, label: messages.signUpLocationInputLabel, error: showLocationErrorText, helperText: showLocationErrorText && messages.signUpLocationErrorText, key: "location-input", id: "location-input", inputProps: { required: true }, name: "location" }, locationOptions.map(function (locationOption) { return (React__default.createElement(MenuItem, { "data-cy": 'option', key: locationOption.value, value: locationOption.value }, locationOption.label)); })),
1168
1168
  React__default.createElement(Typography$1, { style: { alignSelf: 'start' } }, messages.signUpBirthdaySectionLabel),
1169
1169
  React__default.createElement(TextField$1, { disabled: loading, label: messages.signUpMonthInputLabel, key: "birthday-month-input", id: "birthday-month-input", name: "birthdayMonth" }),
@@ -1171,7 +1171,7 @@ var FollowerAuthenticationForm = function () {
1171
1171
  React__default.createElement(Button$1, { disabled: loading || !formValidity, type: "submit" }, messages.signUp)));
1172
1172
  case 'emailFound':
1173
1173
  return (React__default.createElement("form", __assign({}, formProps),
1174
- React__default.createElement(TextField$1, { disabled: loading, label: messages.emailFoundInputLabel, key: "email-input", id: "email-input", name: "email", value: state.defaultFormValues.email }),
1174
+ React__default.createElement(TextField$1, { disabled: loading, label: messages.emailFoundInputLabel, key: "email-input", id: "email-input", name: "email", value: state.context.email }),
1175
1175
  React__default.createElement(Button$1, { disabled: loading, type: "submit" }, messages.emailFoundCtaButtonLabel)));
1176
1176
  case 'emailAuthCode':
1177
1177
  return (React__default.createElement("form", __assign({}, formProps),
@@ -1179,16 +1179,16 @@ var FollowerAuthenticationForm = function () {
1179
1179
  React__default.createElement(Button$1, { disabled: loading, type: "submit" }, messages.signIn)));
1180
1180
  case 'indirectUserFound':
1181
1181
  return (React__default.createElement("form", __assign({}, formProps),
1182
- React__default.createElement(TextField$1, { disabled: loading, label: messages.emailFoundInputLabel, key: "email-input", id: "email-input", name: "email", value: state.defaultFormValues.email }),
1182
+ React__default.createElement(TextField$1, { disabled: loading, label: messages.emailFoundInputLabel, key: "email-input", id: "email-input", name: "email", value: state.context.email }),
1183
1183
  React__default.createElement(Button$1, { disabled: loading, type: "submit" }, messages.indirectUserFoundCtaButtonLabel)));
1184
1184
  case 'emailPasswordSignIn':
1185
1185
  return (React__default.createElement("form", __assign({}, formProps),
1186
- React__default.createElement(TextField$1, { disabled: loading, label: messages.emailFoundInputLabel, key: "email-input", id: "email-input", name: "email", value: state.defaultFormValues.email, InputLabelProps: { shrink: true } }),
1186
+ React__default.createElement(TextField$1, { disabled: loading, label: messages.emailFoundInputLabel, key: "email-input", id: "email-input", name: "email", value: state.context.email, InputLabelProps: { shrink: true } }),
1187
1187
  React__default.createElement(TextField$1, { disabled: loading, label: messages.passwordInputLabel, key: "password-input", id: "password-input", name: "password", inputProps: { type: 'password' } }),
1188
1188
  React__default.createElement(Button$1, { disabled: loading, type: "submit" }, messages.signIn)));
1189
1189
  case 'phoneFound':
1190
1190
  return (React__default.createElement("form", __assign({}, formProps),
1191
- React__default.createElement(TextField$1, { disabled: loading, label: messages.phoneFoundInputLabel, key: "phone-input", id: "phone-input", name: "phone", value: state.defaultFormValues.phone }),
1191
+ React__default.createElement(TextField$1, { disabled: loading, label: messages.phoneFoundInputLabel, key: "phone-input", id: "phone-input", name: "phone", value: state.context.phone }),
1192
1192
  React__default.createElement(Button$1, { disabled: loading, type: "submit" }, messages.phoneFoundCtaButtonLabel)));
1193
1193
  case 'phoneAuthCode':
1194
1194
  return (React__default.createElement("form", __assign({}, formProps),
@@ -1196,7 +1196,7 @@ var FollowerAuthenticationForm = function () {
1196
1196
  React__default.createElement(Button$1, { disabled: loading, type: "submit" }, messages.signIn)));
1197
1197
  case 'phonePasswordSignIn':
1198
1198
  return (React__default.createElement("form", __assign({}, formProps),
1199
- React__default.createElement(TextField$1, { disabled: loading, label: messages.phoneFoundInputLabel, key: "phone-input", id: "phone-input", name: "phone", value: state.defaultFormValues.phone, InputLabelProps: { shrink: true } }),
1199
+ React__default.createElement(TextField$1, { disabled: loading, label: messages.phoneFoundInputLabel, key: "phone-input", id: "phone-input", name: "phone", value: state.context.phone, InputLabelProps: { shrink: true } }),
1200
1200
  React__default.createElement(TextField$1, { disabled: loading, label: messages.passwordInputLabel, key: "password-input", id: "password-input", name: "password", inputProps: { type: 'password' } }),
1201
1201
  React__default.createElement(Button$1, { disabled: loading, type: "submit" }, messages.signIn)));
1202
1202
  case 'welcome':
@@ -1215,17 +1215,17 @@ var useStyles$1 = makeStyles(function () { return ({
1215
1215
  },
1216
1216
  }); });
1217
1217
  var FollowerAuthenticationAltActions = function () {
1218
- var _a = useFollowerAuthenticationDialogContext(), state = _a.state, dispatch = _a.dispatch, messages = _a.messages, logos = _a.logos, loading = _a.loading;
1218
+ var _a = useFollowerAuthenticationDialogContext(), state = _a.state, messages = _a.messages, logos = _a.logos, loading = _a.loading, onActionButtonClick = _a.onActionButtonClick;
1219
1219
  var classes = useStyles$1();
1220
1220
  switch (state.value) {
1221
1221
  case 'initial':
1222
1222
  return (React__default.createElement(Box, { className: classes.main },
1223
1223
  React__default.createElement(Divider$1, null),
1224
1224
  React__default.createElement(Button$1, { variant: "outlined", startIcon: logos.facebook, onClick: function () {
1225
- dispatch({ type: 'click-facebook-continue' });
1225
+ onActionButtonClick('sign-in-with-facebook');
1226
1226
  } }, messages.continueWithFacebookButtonLabel),
1227
1227
  React__default.createElement(Button$1, { variant: "outlined", startIcon: logos.google, onClick: function () {
1228
- dispatch({ type: 'click-google-continue' });
1228
+ onActionButtonClick('sign-in-with-google');
1229
1229
  } }, messages.continueWithGoogleButtonLabel)));
1230
1230
  case 'signUp':
1231
1231
  return null;
@@ -1233,7 +1233,7 @@ var FollowerAuthenticationAltActions = function () {
1233
1233
  return (React__default.createElement(Box, { className: classes.main },
1234
1234
  React__default.createElement(Divider$1, null),
1235
1235
  React__default.createElement(Button$1, { variant: "outlined", onClick: function () {
1236
- dispatch({ type: 'click-password-continue' });
1236
+ onActionButtonClick('sign-in-with-password');
1237
1237
  } }, messages.signInWithPassword)));
1238
1238
  case 'emailAuthCode':
1239
1239
  return (React__default.createElement(Box, { className: classes.main },
@@ -1241,13 +1241,13 @@ var FollowerAuthenticationAltActions = function () {
1241
1241
  var form = document.querySelector('#follower-authentication-form');
1242
1242
  var formData = new FormData(form);
1243
1243
  var values = Object.fromEntries(formData.entries());
1244
- dispatch({ type: 'click-get-code', context: { values: values } });
1244
+ onActionButtonClick('request-auth-code-email', values);
1245
1245
  } }, messages.resendAuthCode)));
1246
1246
  case 'indirectUserFound':
1247
1247
  return (React__default.createElement(Box, { className: classes.main },
1248
1248
  React__default.createElement(Divider$1, null),
1249
1249
  React__default.createElement(Button$1, { variant: "outlined", onClick: function () {
1250
- dispatch({ type: 'click-sign-up' });
1250
+ onActionButtonClick('use-different-account');
1251
1251
  } }, messages.indirectUserFoundCtaButtonLabelAlt)));
1252
1252
  case 'emailPasswordSignIn':
1253
1253
  return (React__default.createElement(Box, { className: classes.main },
@@ -1256,7 +1256,7 @@ var FollowerAuthenticationAltActions = function () {
1256
1256
  var form = document.querySelector('#follower-authentication-form');
1257
1257
  var formData = new FormData(form);
1258
1258
  var values = Object.fromEntries(formData.entries());
1259
- dispatch({ type: 'click-get-code', context: { values: values } });
1259
+ onActionButtonClick('request-auth-code-email', values);
1260
1260
  } }, messages.emailFoundCtaButtonLabel)));
1261
1261
  case 'phoneFound':
1262
1262
  return null;
@@ -1266,7 +1266,7 @@ var FollowerAuthenticationAltActions = function () {
1266
1266
  var form = document.querySelector('#follower-authentication-form');
1267
1267
  var formData = new FormData(form);
1268
1268
  var values = Object.fromEntries(formData.entries());
1269
- dispatch({ type: 'click-get-code', context: { values: values } });
1269
+ onActionButtonClick('request-auth-code-sms', values);
1270
1270
  } }, messages.resendAuthCode)));
1271
1271
  case 'phonePasswordSignIn':
1272
1272
  return (React__default.createElement(Box, { className: classes.main },
@@ -1275,11 +1275,11 @@ var FollowerAuthenticationAltActions = function () {
1275
1275
  var form = document.querySelector('#follower-authentication-form');
1276
1276
  var formData = new FormData(form);
1277
1277
  var values = Object.fromEntries(formData.entries());
1278
- dispatch({ type: 'click-get-code', context: { values: values } });
1278
+ onActionButtonClick('request-auth-code-sms', values);
1279
1279
  } }, messages.phoneFoundCtaButtonLabel)));
1280
1280
  case 'welcome':
1281
1281
  return (React__default.createElement(Button$1, { onClick: function () {
1282
- dispatch({ type: 'click-done' });
1282
+ onActionButtonClick('close');
1283
1283
  } }, messages.done));
1284
1284
  default:
1285
1285
  return null;
@@ -1323,10 +1323,10 @@ var useStyles = makeStyles(function () { return ({
1323
1323
  },
1324
1324
  }); });
1325
1325
  var FollowerAuthenticationCloseButton = function () {
1326
- var _a = useFollowerAuthenticationDialogContext(), messages = _a.messages, dispatch = _a.dispatch;
1326
+ var _a = useFollowerAuthenticationDialogContext(), messages = _a.messages, onActionButtonClick = _a.onActionButtonClick;
1327
1327
  var classes = useStyles();
1328
1328
  var handleClose = function () {
1329
- dispatch({ type: 'click-close' });
1329
+ onActionButtonClick('close');
1330
1330
  };
1331
1331
  return (React__default.createElement(IconButton$1, { classes: classes, "aria-label": messages.closeButtonLabel, onClick: handleClose },
1332
1332
  React__default.createElement(SvgX, null)));
@@ -1374,7 +1374,7 @@ var FollowerAuthenticationDialog = function (props) {
1374
1374
  return breakpoints.down('sm');
1375
1375
  });
1376
1376
  var handleClose = function () {
1377
- props.dispatch({ type: 'click-close' });
1377
+ restProps.onActionButtonClick('close');
1378
1378
  };
1379
1379
  return (React__default.createElement(ThemeProvider, { theme: theme$1 },
1380
1380
  React__default.createElement(FollowerAuthenticationDialogContextProvider, { value: restProps },
package/build/index.js CHANGED
@@ -1170,7 +1170,7 @@ var useStyles$2 = core.makeStyles(function () { return ({
1170
1170
  },
1171
1171
  }); });
1172
1172
  var FollowerAuthenticationForm = function () {
1173
- var _a = useFollowerAuthenticationDialogContext(), state = _a.state, messages = _a.messages, locationOptions = _a.locationOptions, dispatch = _a.dispatch, loading = _a.loading;
1173
+ var _a = useFollowerAuthenticationDialogContext(), state = _a.state, messages = _a.messages, locationOptions = _a.locationOptions, onActionButtonClick = _a.onActionButtonClick, loading = _a.loading;
1174
1174
  var classes = useStyles$2();
1175
1175
  // sign-up form state
1176
1176
  var formRef = React.useRef(null);
@@ -1178,8 +1178,8 @@ var FollowerAuthenticationForm = function () {
1178
1178
  var _c = React.useState(), showPhoneErrorText = _c[0], setShowPhoneErrorText = _c[1];
1179
1179
  var _d = React.useState(), showEmailErrorText = _d[0], setShowEmailErrorText = _d[1];
1180
1180
  var _e = React.useState(), showLocationErrorText = _e[0], setShowLocationErrorText = _e[1];
1181
- var _f = React.useState(state.defaultFormValues.phone || ''), signUpPhoneValue = _f[0], setSignUpPhoneValue = _f[1];
1182
- var _g = React.useState(state.defaultFormValues.email || ''), signUpEmailValue = _g[0], setSignUpEmailValue = _g[1];
1181
+ var _f = React.useState(state.context.phone || ''), signUpPhoneValue = _f[0], setSignUpPhoneValue = _f[1];
1182
+ var _g = React.useState(state.context.email || ''), signUpEmailValue = _g[0], setSignUpEmailValue = _g[1];
1183
1183
  var checkFieldValidity = function (e) {
1184
1184
  var _a, _b;
1185
1185
  var fieldName = e.target.name;
@@ -1206,7 +1206,7 @@ var FollowerAuthenticationForm = function () {
1206
1206
  var form = e.target;
1207
1207
  var formData = new FormData(form);
1208
1208
  var values = Object.fromEntries(formData.entries());
1209
- dispatch({ type: 'submit-form', context: { values: values } });
1209
+ onActionButtonClick('submit-form', values);
1210
1210
  };
1211
1211
  var formProps = {
1212
1212
  id: 'follower-authentication-form',
@@ -1225,12 +1225,12 @@ var FollowerAuthenticationForm = function () {
1225
1225
  React__default['default'].createElement(core.TextField, { disabled: loading, label: messages.signUpPhoneInputLabel, key: "phone-input", id: "phone-input", name: "phone", onChange: checkFieldValidity, error: showPhoneErrorText, helperText: showPhoneErrorText && messages.signUpPhoneErrorText, inputProps: {
1226
1226
  pattern: '^[0-9]{10}$',
1227
1227
  required: signUpEmailValue ? false : true,
1228
- } }),
1228
+ }, defaultValue: state.context.phone }),
1229
1229
  React__default['default'].createElement(core.TextField, { disabled: loading, label: messages.signUpNameInputLabel, key: "name-input", id: "name-input", name: "name", inputProps: { required: true } }),
1230
1230
  React__default['default'].createElement(core.TextField, { disabled: loading, label: messages.signUpEmailInputLabel, key: "email-input", id: "email-input", name: "email", error: showEmailErrorText, helperText: showEmailErrorText && messages.signUpEmailErrorText, onChange: checkFieldValidity, inputProps: {
1231
1231
  required: signUpPhoneValue ? false : true,
1232
1232
  type: 'email',
1233
- } }),
1233
+ }, defaultValue: state.context.email }),
1234
1234
  React__default['default'].createElement(core.TextField, { disabled: loading, select: true, onChange: checkFieldValidity, label: messages.signUpLocationInputLabel, error: showLocationErrorText, helperText: showLocationErrorText && messages.signUpLocationErrorText, key: "location-input", id: "location-input", inputProps: { required: true }, name: "location" }, locationOptions.map(function (locationOption) { return (React__default['default'].createElement(core.MenuItem, { "data-cy": 'option', key: locationOption.value, value: locationOption.value }, locationOption.label)); })),
1235
1235
  React__default['default'].createElement(core.Typography, { style: { alignSelf: 'start' } }, messages.signUpBirthdaySectionLabel),
1236
1236
  React__default['default'].createElement(core.TextField, { disabled: loading, label: messages.signUpMonthInputLabel, key: "birthday-month-input", id: "birthday-month-input", name: "birthdayMonth" }),
@@ -1238,7 +1238,7 @@ var FollowerAuthenticationForm = function () {
1238
1238
  React__default['default'].createElement(core.Button, { disabled: loading || !formValidity, type: "submit" }, messages.signUp)));
1239
1239
  case 'emailFound':
1240
1240
  return (React__default['default'].createElement("form", __assign({}, formProps),
1241
- React__default['default'].createElement(core.TextField, { disabled: loading, label: messages.emailFoundInputLabel, key: "email-input", id: "email-input", name: "email", value: state.defaultFormValues.email }),
1241
+ React__default['default'].createElement(core.TextField, { disabled: loading, label: messages.emailFoundInputLabel, key: "email-input", id: "email-input", name: "email", value: state.context.email }),
1242
1242
  React__default['default'].createElement(core.Button, { disabled: loading, type: "submit" }, messages.emailFoundCtaButtonLabel)));
1243
1243
  case 'emailAuthCode':
1244
1244
  return (React__default['default'].createElement("form", __assign({}, formProps),
@@ -1246,16 +1246,16 @@ var FollowerAuthenticationForm = function () {
1246
1246
  React__default['default'].createElement(core.Button, { disabled: loading, type: "submit" }, messages.signIn)));
1247
1247
  case 'indirectUserFound':
1248
1248
  return (React__default['default'].createElement("form", __assign({}, formProps),
1249
- React__default['default'].createElement(core.TextField, { disabled: loading, label: messages.emailFoundInputLabel, key: "email-input", id: "email-input", name: "email", value: state.defaultFormValues.email }),
1249
+ React__default['default'].createElement(core.TextField, { disabled: loading, label: messages.emailFoundInputLabel, key: "email-input", id: "email-input", name: "email", value: state.context.email }),
1250
1250
  React__default['default'].createElement(core.Button, { disabled: loading, type: "submit" }, messages.indirectUserFoundCtaButtonLabel)));
1251
1251
  case 'emailPasswordSignIn':
1252
1252
  return (React__default['default'].createElement("form", __assign({}, formProps),
1253
- React__default['default'].createElement(core.TextField, { disabled: loading, label: messages.emailFoundInputLabel, key: "email-input", id: "email-input", name: "email", value: state.defaultFormValues.email, InputLabelProps: { shrink: true } }),
1253
+ React__default['default'].createElement(core.TextField, { disabled: loading, label: messages.emailFoundInputLabel, key: "email-input", id: "email-input", name: "email", value: state.context.email, InputLabelProps: { shrink: true } }),
1254
1254
  React__default['default'].createElement(core.TextField, { disabled: loading, label: messages.passwordInputLabel, key: "password-input", id: "password-input", name: "password", inputProps: { type: 'password' } }),
1255
1255
  React__default['default'].createElement(core.Button, { disabled: loading, type: "submit" }, messages.signIn)));
1256
1256
  case 'phoneFound':
1257
1257
  return (React__default['default'].createElement("form", __assign({}, formProps),
1258
- React__default['default'].createElement(core.TextField, { disabled: loading, label: messages.phoneFoundInputLabel, key: "phone-input", id: "phone-input", name: "phone", value: state.defaultFormValues.phone }),
1258
+ React__default['default'].createElement(core.TextField, { disabled: loading, label: messages.phoneFoundInputLabel, key: "phone-input", id: "phone-input", name: "phone", value: state.context.phone }),
1259
1259
  React__default['default'].createElement(core.Button, { disabled: loading, type: "submit" }, messages.phoneFoundCtaButtonLabel)));
1260
1260
  case 'phoneAuthCode':
1261
1261
  return (React__default['default'].createElement("form", __assign({}, formProps),
@@ -1263,7 +1263,7 @@ var FollowerAuthenticationForm = function () {
1263
1263
  React__default['default'].createElement(core.Button, { disabled: loading, type: "submit" }, messages.signIn)));
1264
1264
  case 'phonePasswordSignIn':
1265
1265
  return (React__default['default'].createElement("form", __assign({}, formProps),
1266
- React__default['default'].createElement(core.TextField, { disabled: loading, label: messages.phoneFoundInputLabel, key: "phone-input", id: "phone-input", name: "phone", value: state.defaultFormValues.phone, InputLabelProps: { shrink: true } }),
1266
+ React__default['default'].createElement(core.TextField, { disabled: loading, label: messages.phoneFoundInputLabel, key: "phone-input", id: "phone-input", name: "phone", value: state.context.phone, InputLabelProps: { shrink: true } }),
1267
1267
  React__default['default'].createElement(core.TextField, { disabled: loading, label: messages.passwordInputLabel, key: "password-input", id: "password-input", name: "password", inputProps: { type: 'password' } }),
1268
1268
  React__default['default'].createElement(core.Button, { disabled: loading, type: "submit" }, messages.signIn)));
1269
1269
  case 'welcome':
@@ -1282,17 +1282,17 @@ var useStyles$1 = core.makeStyles(function () { return ({
1282
1282
  },
1283
1283
  }); });
1284
1284
  var FollowerAuthenticationAltActions = function () {
1285
- var _a = useFollowerAuthenticationDialogContext(), state = _a.state, dispatch = _a.dispatch, messages = _a.messages, logos = _a.logos, loading = _a.loading;
1285
+ var _a = useFollowerAuthenticationDialogContext(), state = _a.state, messages = _a.messages, logos = _a.logos, loading = _a.loading, onActionButtonClick = _a.onActionButtonClick;
1286
1286
  var classes = useStyles$1();
1287
1287
  switch (state.value) {
1288
1288
  case 'initial':
1289
1289
  return (React__default['default'].createElement(core.Box, { className: classes.main },
1290
1290
  React__default['default'].createElement(core.Divider, null),
1291
1291
  React__default['default'].createElement(core.Button, { variant: "outlined", startIcon: logos.facebook, onClick: function () {
1292
- dispatch({ type: 'click-facebook-continue' });
1292
+ onActionButtonClick('sign-in-with-facebook');
1293
1293
  } }, messages.continueWithFacebookButtonLabel),
1294
1294
  React__default['default'].createElement(core.Button, { variant: "outlined", startIcon: logos.google, onClick: function () {
1295
- dispatch({ type: 'click-google-continue' });
1295
+ onActionButtonClick('sign-in-with-google');
1296
1296
  } }, messages.continueWithGoogleButtonLabel)));
1297
1297
  case 'signUp':
1298
1298
  return null;
@@ -1300,7 +1300,7 @@ var FollowerAuthenticationAltActions = function () {
1300
1300
  return (React__default['default'].createElement(core.Box, { className: classes.main },
1301
1301
  React__default['default'].createElement(core.Divider, null),
1302
1302
  React__default['default'].createElement(core.Button, { variant: "outlined", onClick: function () {
1303
- dispatch({ type: 'click-password-continue' });
1303
+ onActionButtonClick('sign-in-with-password');
1304
1304
  } }, messages.signInWithPassword)));
1305
1305
  case 'emailAuthCode':
1306
1306
  return (React__default['default'].createElement(core.Box, { className: classes.main },
@@ -1308,13 +1308,13 @@ var FollowerAuthenticationAltActions = function () {
1308
1308
  var form = document.querySelector('#follower-authentication-form');
1309
1309
  var formData = new FormData(form);
1310
1310
  var values = Object.fromEntries(formData.entries());
1311
- dispatch({ type: 'click-get-code', context: { values: values } });
1311
+ onActionButtonClick('request-auth-code-email', values);
1312
1312
  } }, messages.resendAuthCode)));
1313
1313
  case 'indirectUserFound':
1314
1314
  return (React__default['default'].createElement(core.Box, { className: classes.main },
1315
1315
  React__default['default'].createElement(core.Divider, null),
1316
1316
  React__default['default'].createElement(core.Button, { variant: "outlined", onClick: function () {
1317
- dispatch({ type: 'click-sign-up' });
1317
+ onActionButtonClick('use-different-account');
1318
1318
  } }, messages.indirectUserFoundCtaButtonLabelAlt)));
1319
1319
  case 'emailPasswordSignIn':
1320
1320
  return (React__default['default'].createElement(core.Box, { className: classes.main },
@@ -1323,7 +1323,7 @@ var FollowerAuthenticationAltActions = function () {
1323
1323
  var form = document.querySelector('#follower-authentication-form');
1324
1324
  var formData = new FormData(form);
1325
1325
  var values = Object.fromEntries(formData.entries());
1326
- dispatch({ type: 'click-get-code', context: { values: values } });
1326
+ onActionButtonClick('request-auth-code-email', values);
1327
1327
  } }, messages.emailFoundCtaButtonLabel)));
1328
1328
  case 'phoneFound':
1329
1329
  return null;
@@ -1333,7 +1333,7 @@ var FollowerAuthenticationAltActions = function () {
1333
1333
  var form = document.querySelector('#follower-authentication-form');
1334
1334
  var formData = new FormData(form);
1335
1335
  var values = Object.fromEntries(formData.entries());
1336
- dispatch({ type: 'click-get-code', context: { values: values } });
1336
+ onActionButtonClick('request-auth-code-sms', values);
1337
1337
  } }, messages.resendAuthCode)));
1338
1338
  case 'phonePasswordSignIn':
1339
1339
  return (React__default['default'].createElement(core.Box, { className: classes.main },
@@ -1342,11 +1342,11 @@ var FollowerAuthenticationAltActions = function () {
1342
1342
  var form = document.querySelector('#follower-authentication-form');
1343
1343
  var formData = new FormData(form);
1344
1344
  var values = Object.fromEntries(formData.entries());
1345
- dispatch({ type: 'click-get-code', context: { values: values } });
1345
+ onActionButtonClick('request-auth-code-sms', values);
1346
1346
  } }, messages.phoneFoundCtaButtonLabel)));
1347
1347
  case 'welcome':
1348
1348
  return (React__default['default'].createElement(core.Button, { onClick: function () {
1349
- dispatch({ type: 'click-done' });
1349
+ onActionButtonClick('close');
1350
1350
  } }, messages.done));
1351
1351
  default:
1352
1352
  return null;
@@ -1390,10 +1390,10 @@ var useStyles = core.makeStyles(function () { return ({
1390
1390
  },
1391
1391
  }); });
1392
1392
  var FollowerAuthenticationCloseButton = function () {
1393
- var _a = useFollowerAuthenticationDialogContext(), messages = _a.messages, dispatch = _a.dispatch;
1393
+ var _a = useFollowerAuthenticationDialogContext(), messages = _a.messages, onActionButtonClick = _a.onActionButtonClick;
1394
1394
  var classes = useStyles();
1395
1395
  var handleClose = function () {
1396
- dispatch({ type: 'click-close' });
1396
+ onActionButtonClick('close');
1397
1397
  };
1398
1398
  return (React__default['default'].createElement(core.IconButton, { classes: classes, "aria-label": messages.closeButtonLabel, onClick: handleClose },
1399
1399
  React__default['default'].createElement(SvgX, null)));
@@ -1441,7 +1441,7 @@ var FollowerAuthenticationDialog = function (props) {
1441
1441
  return breakpoints.down('sm');
1442
1442
  });
1443
1443
  var handleClose = function () {
1444
- props.dispatch({ type: 'click-close' });
1444
+ restProps.onActionButtonClick('close');
1445
1445
  };
1446
1446
  return (React__default['default'].createElement(core.ThemeProvider, { theme: theme$1 },
1447
1447
  React__default['default'].createElement(FollowerAuthenticationDialogContextProvider, { value: restProps },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@popmenu/common-ui",
3
- "version": "0.105.0",
3
+ "version": "0.107.0",
4
4
  "license": "MIT",
5
5
  "author": "Popmenu Design System Team",
6
6
  "description": "React components for all Popmenu apps on the web.",
@@ -30,5 +30,5 @@
30
30
  "@types/classnames": "^2.3.1"
31
31
  },
32
32
  "sideEffects": false,
33
- "gitHead": "568039eb9a71cf45d6a1a0ee245b433a11441222"
33
+ "gitHead": "ee9615fc131617cfd33658df991addf188c3f7ce"
34
34
  }