@royaloperahouse/chord 2.6.1-b-development → 2.6.1-d-development

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.
@@ -4202,12 +4202,14 @@ var TextField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
4202
4202
 
4203
4203
  return /*#__PURE__*/React__default.createElement(Container$1, null, /*#__PURE__*/React__default.createElement("label", null, !!label && /*#__PURE__*/React__default.createElement(TextLabel$1, {
4204
4204
  darkMode: darkMode,
4205
- "data-testid": "text-field-text-label"
4205
+ "data-testid": "text-field-text-label",
4206
+ "aria-hidden": true
4206
4207
  }, /*#__PURE__*/React__default.createElement(AltHeader, {
4207
4208
  level: 6
4208
4209
  }, label)), /*#__PURE__*/React__default.createElement(InputWrapper, {
4209
4210
  width: width
4210
4211
  }, /*#__PURE__*/React__default.createElement(Input, Object.assign({
4212
+ "aria-label": label,
4211
4213
  isPasswordField: isPasswordField,
4212
4214
  type: inputType,
4213
4215
  error: error,
@@ -4221,7 +4223,10 @@ var TextField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
4221
4223
  level: 1
4222
4224
  }, showHideButtonText)))), !!error && /*#__PURE__*/React__default.createElement(ErrorLabel$1, {
4223
4225
  darkMode: darkMode,
4224
- "data-testid": "text-field-error-label"
4226
+ id: inputProps.name + "-error",
4227
+ "data-testid": "text-field-error-label",
4228
+ role: "alert",
4229
+ "aria-live": "assertive"
4225
4230
  }, /*#__PURE__*/React__default.createElement(AltHeader, {
4226
4231
  level: 6
4227
4232
  }, error)));
@@ -11298,14 +11303,14 @@ var Wrapper$8 = /*#__PURE__*/styled__default('div')(_templateObject$1k || (_temp
11298
11303
  return "var(--base-color-" + theme + ")";
11299
11304
  });
11300
11305
  var SignUpFormWrapper = /*#__PURE__*/styled__default(Grid)(_templateObject2$Z || (_templateObject2$Z = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n gap: 0 var(--grid-column-gap);\n margin-bottom: 32px;\n"])));
11301
- var SignUpTitleWrapper = /*#__PURE__*/styled__default('div')(_templateObject3$P || (_templateObject3$P = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n text-align: left;\n position: relative;\n top: -25px;\n left: -20px;\n background: var(--base-color-white);\n display: inline-block;\n padding: 0 20px;\n \n @media ", " {\n top: -18px;\n padding: 0 13px;\n left: -13px;\n }\n"])), devices.mobile);
11306
+ var SignUpTitleWrapper = /*#__PURE__*/styled__default('div')(_templateObject3$P || (_templateObject3$P = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n text-align: left;\n position: relative;\n top: -25px;\n left: -20px;\n background: var(--base-color-white);\n display: inline-block;\n padding: 0 20px;\n\n @media ", " {\n top: -18px;\n padding: 0 13px;\n left: -13px;\n }\n"])), devices.mobile);
11302
11307
  var Error$1 = /*#__PURE__*/styled__default.div(_templateObject4$E || (_templateObject4$E = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-top: 20px;\n color: var(--base-color-errorstate);\n a {\n text-decoration: underline;\n color: inherit;\n }\n"])));
11303
11308
  var Form = /*#__PURE__*/styled__default.form(_templateObject5$x || (_templateObject5$x = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-top: 20px;\n align-items: center;\n ", " {\n margin-top: -20px;\n }\n a[href] {\n color: inherit;\n }\n"])), Error$1);
11304
- var FormFooterWrapper = /*#__PURE__*/styled__default.div(_templateObject6$p || (_templateObject6$p = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-top: 32px;\n display: flex;\n gap: 21px;\n align-items: center;\n \n @media ", " {\n flex-direction: column-reverse;\n align-items: flex-start;\n margin-bottom: 20px;\n }\n"])), devices.mobile);
11309
+ var FormFooterWrapper = /*#__PURE__*/styled__default.div(_templateObject6$p || (_templateObject6$p = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-top: 32px;\n display: flex;\n gap: 21px;\n align-items: center;\n\n @media ", " {\n flex-direction: column-reverse;\n align-items: flex-start;\n margin-bottom: 20px;\n }\n"])), devices.mobile);
11305
11310
  var ServerError = /*#__PURE__*/styled__default.div(_templateObject7$h || (_templateObject7$h = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n text-align: left;\n color: var(--base-color-errorstate);\n"])));
11306
- var CTALinkWrapper = /*#__PURE__*/styled__default.a(_templateObject8$d || (_templateObject8$d = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n color: var(--base-color-black);\n div {\n font-size: 14px;\n }\n"])));
11311
+ var CTALinkWrapper = /*#__PURE__*/styled__default.a(_templateObject8$d || (_templateObject8$d = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n color: var(--base-color-black);\n div {\n font-size: 14px;\n }\n"])));
11307
11312
  var ButtonWrapper$3 = /*#__PURE__*/styled__default.button(_templateObject9$8 || (_templateObject9$8 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n all: unset;\n width: fit-content;\n\n @media ", " {\n width: 100%;\n }\n &:focus {\n outline: 3px solid var(--base-color-lapislazuli);\n }\n"])), devices.mobile);
11308
- var FieldsWrapper = /*#__PURE__*/styled__default.div(_templateObject10$8 || (_templateObject10$8 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 36px;\n\n @media ", " {\n grid-template-columns: 1fr;\n gap: 20px;\n }\n\n"])), devices.mobile);
11313
+ var FieldsWrapper = /*#__PURE__*/styled__default.div(_templateObject10$8 || (_templateObject10$8 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 36px;\n\n @media ", " {\n grid-template-columns: 1fr;\n gap: 20px;\n }\n"])), devices.mobile);
11309
11314
 
11310
11315
  var regex = {
11311
11316
  signInEmail: /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
@@ -11315,7 +11320,11 @@ var regex = {
11315
11320
  var formValidationMessages = {
11316
11321
  requiredFieldMessage: 'Please complete this field',
11317
11322
  firstName: {
11318
- invalid: 'Please enter your first name'
11323
+ invalid: 'Please enter your full first name',
11324
+ required: 'Please enter a first name'
11325
+ },
11326
+ lastName: {
11327
+ required: 'Please enter a last name'
11319
11328
  },
11320
11329
  email: {
11321
11330
  required: 'Please enter an email address',
@@ -11382,6 +11391,44 @@ var SignUpForm = function SignUpForm(_ref) {
11382
11391
  };
11383
11392
  };
11384
11393
 
11394
+ var handleBlur = function handleBlur(field) {
11395
+ return function () {
11396
+ var value = formValues[field];
11397
+ var errorMessage;
11398
+
11399
+ if (!value) {
11400
+ switch (field) {
11401
+ case 'firstName':
11402
+ errorMessage = formValidationMessages.firstName.required;
11403
+ break;
11404
+
11405
+ case 'lastName':
11406
+ errorMessage = formValidationMessages.lastName.required;
11407
+ break;
11408
+
11409
+ case 'email':
11410
+ errorMessage = formValidationMessages.email.required;
11411
+ break;
11412
+
11413
+ default:
11414
+ errorMessage = formValidationMessages.requiredFieldMessage;
11415
+ }
11416
+ } else if (field === 'email' && !regex.signInEmail.test(value)) {
11417
+ errorMessage = formValidationMessages.email.invalid;
11418
+ } else if (field === 'firstName' && !regex.firstName.test(value)) {
11419
+ errorMessage = formValidationMessages.firstName.invalid;
11420
+ }
11421
+
11422
+ if (errorMessage) {
11423
+ setErrors(function (prev) {
11424
+ var _extends4;
11425
+
11426
+ return _extends({}, prev, (_extends4 = {}, _extends4[field] = errorMessage, _extends4));
11427
+ });
11428
+ }
11429
+ };
11430
+ };
11431
+
11385
11432
  var handleFormSubmit = /*#__PURE__*/function () {
11386
11433
  var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(e) {
11387
11434
  var formErrors, response;
@@ -11403,13 +11450,13 @@ var SignUpForm = function SignUpForm(_ref) {
11403
11450
 
11404
11451
  if (!isLoggedIn) {
11405
11452
  if (!formValues.firstName) {
11406
- formErrors.firstName = formValidationMessages.requiredFieldMessage;
11453
+ formErrors.firstName = formValidationMessages.firstName.required;
11407
11454
  } else if (!regex.firstName.test(formValues.firstName)) {
11408
11455
  formErrors.firstName = formValidationMessages.firstName.invalid;
11409
11456
  }
11410
11457
 
11411
11458
  if (!formValues.lastName) {
11412
- formErrors.lastName = formValidationMessages.requiredFieldMessage;
11459
+ formErrors.lastName = formValidationMessages.lastName.required;
11413
11460
  }
11414
11461
 
11415
11462
  if (!formValues.email) {
@@ -11493,6 +11540,10 @@ var SignUpForm = function SignUpForm(_ref) {
11493
11540
  maxLength: 20,
11494
11541
  error: errors.firstName,
11495
11542
  onChange: handleChange('firstName'),
11543
+ onBlur: handleBlur('firstName'),
11544
+ "aria-required": "true",
11545
+ "aria-invalid": !!errors.firstName,
11546
+ "aria-describedby": errors.firstName ? 'firstName-error' : undefined,
11496
11547
  autoComplete: "given-name"
11497
11548
  }), /*#__PURE__*/React__default.createElement(TextField, {
11498
11549
  label: "Last name",
@@ -11502,6 +11553,10 @@ var SignUpForm = function SignUpForm(_ref) {
11502
11553
  value: formValues.lastName,
11503
11554
  error: errors.lastName,
11504
11555
  onChange: handleChange('lastName'),
11556
+ onBlur: handleBlur('lastName'),
11557
+ "aria-required": "true",
11558
+ "aria-invalid": !!errors.lastName,
11559
+ "aria-describedby": errors.lastName ? 'lastName-error' : undefined,
11505
11560
  autoComplete: "family-name"
11506
11561
  }), /*#__PURE__*/React__default.createElement(TextField, {
11507
11562
  label: "Email",
@@ -11510,15 +11565,20 @@ var SignUpForm = function SignUpForm(_ref) {
11510
11565
  value: formValues.email,
11511
11566
  error: errors.email || errors.serverError,
11512
11567
  onChange: handleChange('email'),
11568
+ onBlur: handleBlur('email'),
11569
+ "aria-required": "true",
11570
+ "aria-invalid": !!errors.email,
11571
+ "aria-describedby": errors.email ? 'email-error' : undefined,
11513
11572
  maxLength: 80
11514
11573
  })), isLoggedIn && !!errors.serverError && /*#__PURE__*/React__default.createElement(GridItem, {
11515
11574
  columnStartDesktop: 2,
11516
11575
  columnSpanDesktop: 12,
11517
- columnStartTablet: 2,
11518
- columnSpanTablet: 12,
11519
11576
  columnStartDevice: 2,
11520
11577
  columnSpanDevice: 12
11521
- }, /*#__PURE__*/React__default.createElement(ServerError, null, /*#__PURE__*/React__default.createElement(AltHeader, {
11578
+ }, /*#__PURE__*/React__default.createElement(ServerError, {
11579
+ role: "alert",
11580
+ "aria-live": "assertive"
11581
+ }, /*#__PURE__*/React__default.createElement(AltHeader, {
11522
11582
  level: 6
11523
11583
  }, errors.serverError))), /*#__PURE__*/React__default.createElement(FormFooterWrapper, null, /*#__PURE__*/React__default.createElement(ButtonWrapper$3, {
11524
11584
  type: "submit"
@@ -11527,7 +11587,7 @@ var SignUpForm = function SignUpForm(_ref) {
11527
11587
  }, "Sign up")), /*#__PURE__*/React__default.createElement(CTALinkWrapper, {
11528
11588
  href: ctaPrivacy.link
11529
11589
  }, /*#__PURE__*/React__default.createElement(BodyText, {
11530
- level: 2
11590
+ level: 1
11531
11591
  }, ctaPrivacy.text)))))));
11532
11592
  };
11533
11593