@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.
package/dist/chord.esm.js CHANGED
@@ -4207,12 +4207,14 @@ var TextField = /*#__PURE__*/forwardRef(function (_ref, ref) {
4207
4207
 
4208
4208
  return /*#__PURE__*/React__default.createElement(Container$1, null, /*#__PURE__*/React__default.createElement("label", null, !!label && /*#__PURE__*/React__default.createElement(TextLabel$1, {
4209
4209
  darkMode: darkMode,
4210
- "data-testid": "text-field-text-label"
4210
+ "data-testid": "text-field-text-label",
4211
+ "aria-hidden": true
4211
4212
  }, /*#__PURE__*/React__default.createElement(AltHeader, {
4212
4213
  level: 6
4213
4214
  }, label)), /*#__PURE__*/React__default.createElement(InputWrapper, {
4214
4215
  width: width
4215
4216
  }, /*#__PURE__*/React__default.createElement(Input, Object.assign({
4217
+ "aria-label": label,
4216
4218
  isPasswordField: isPasswordField,
4217
4219
  type: inputType,
4218
4220
  error: error,
@@ -4226,7 +4228,10 @@ var TextField = /*#__PURE__*/forwardRef(function (_ref, ref) {
4226
4228
  level: 1
4227
4229
  }, showHideButtonText)))), !!error && /*#__PURE__*/React__default.createElement(ErrorLabel$1, {
4228
4230
  darkMode: darkMode,
4229
- "data-testid": "text-field-error-label"
4231
+ id: inputProps.name + "-error",
4232
+ "data-testid": "text-field-error-label",
4233
+ role: "alert",
4234
+ "aria-live": "assertive"
4230
4235
  }, /*#__PURE__*/React__default.createElement(AltHeader, {
4231
4236
  level: 6
4232
4237
  }, error)));
@@ -11303,14 +11308,14 @@ var Wrapper$8 = /*#__PURE__*/styled('div')(_templateObject$1k || (_templateObjec
11303
11308
  return "var(--base-color-" + theme + ")";
11304
11309
  });
11305
11310
  var SignUpFormWrapper = /*#__PURE__*/styled(Grid)(_templateObject2$Z || (_templateObject2$Z = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n gap: 0 var(--grid-column-gap);\n margin-bottom: 32px;\n"])));
11306
- var SignUpTitleWrapper = /*#__PURE__*/styled('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);
11311
+ var SignUpTitleWrapper = /*#__PURE__*/styled('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);
11307
11312
  var Error$1 = /*#__PURE__*/styled.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"])));
11308
11313
  var Form = /*#__PURE__*/styled.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);
11309
- var FormFooterWrapper = /*#__PURE__*/styled.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);
11314
+ var FormFooterWrapper = /*#__PURE__*/styled.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);
11310
11315
  var ServerError = /*#__PURE__*/styled.div(_templateObject7$h || (_templateObject7$h = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n text-align: left;\n color: var(--base-color-errorstate);\n"])));
11311
- var CTALinkWrapper = /*#__PURE__*/styled.a(_templateObject8$d || (_templateObject8$d = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n color: var(--base-color-black);\n div {\n font-size: 14px;\n }\n"])));
11316
+ var CTALinkWrapper = /*#__PURE__*/styled.a(_templateObject8$d || (_templateObject8$d = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n color: var(--base-color-black);\n div {\n font-size: 14px;\n }\n"])));
11312
11317
  var ButtonWrapper$3 = /*#__PURE__*/styled.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);
11313
- var FieldsWrapper = /*#__PURE__*/styled.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);
11318
+ var FieldsWrapper = /*#__PURE__*/styled.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);
11314
11319
 
11315
11320
  var regex = {
11316
11321
  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,}))$/,
@@ -11320,7 +11325,11 @@ var regex = {
11320
11325
  var formValidationMessages = {
11321
11326
  requiredFieldMessage: 'Please complete this field',
11322
11327
  firstName: {
11323
- invalid: 'Please enter your first name'
11328
+ invalid: 'Please enter your full first name',
11329
+ required: 'Please enter a first name'
11330
+ },
11331
+ lastName: {
11332
+ required: 'Please enter a last name'
11324
11333
  },
11325
11334
  email: {
11326
11335
  required: 'Please enter an email address',
@@ -11387,6 +11396,44 @@ var SignUpForm = function SignUpForm(_ref) {
11387
11396
  };
11388
11397
  };
11389
11398
 
11399
+ var handleBlur = function handleBlur(field) {
11400
+ return function () {
11401
+ var value = formValues[field];
11402
+ var errorMessage;
11403
+
11404
+ if (!value) {
11405
+ switch (field) {
11406
+ case 'firstName':
11407
+ errorMessage = formValidationMessages.firstName.required;
11408
+ break;
11409
+
11410
+ case 'lastName':
11411
+ errorMessage = formValidationMessages.lastName.required;
11412
+ break;
11413
+
11414
+ case 'email':
11415
+ errorMessage = formValidationMessages.email.required;
11416
+ break;
11417
+
11418
+ default:
11419
+ errorMessage = formValidationMessages.requiredFieldMessage;
11420
+ }
11421
+ } else if (field === 'email' && !regex.signInEmail.test(value)) {
11422
+ errorMessage = formValidationMessages.email.invalid;
11423
+ } else if (field === 'firstName' && !regex.firstName.test(value)) {
11424
+ errorMessage = formValidationMessages.firstName.invalid;
11425
+ }
11426
+
11427
+ if (errorMessage) {
11428
+ setErrors(function (prev) {
11429
+ var _extends4;
11430
+
11431
+ return _extends({}, prev, (_extends4 = {}, _extends4[field] = errorMessage, _extends4));
11432
+ });
11433
+ }
11434
+ };
11435
+ };
11436
+
11390
11437
  var handleFormSubmit = /*#__PURE__*/function () {
11391
11438
  var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(e) {
11392
11439
  var formErrors, response;
@@ -11408,13 +11455,13 @@ var SignUpForm = function SignUpForm(_ref) {
11408
11455
 
11409
11456
  if (!isLoggedIn) {
11410
11457
  if (!formValues.firstName) {
11411
- formErrors.firstName = formValidationMessages.requiredFieldMessage;
11458
+ formErrors.firstName = formValidationMessages.firstName.required;
11412
11459
  } else if (!regex.firstName.test(formValues.firstName)) {
11413
11460
  formErrors.firstName = formValidationMessages.firstName.invalid;
11414
11461
  }
11415
11462
 
11416
11463
  if (!formValues.lastName) {
11417
- formErrors.lastName = formValidationMessages.requiredFieldMessage;
11464
+ formErrors.lastName = formValidationMessages.lastName.required;
11418
11465
  }
11419
11466
 
11420
11467
  if (!formValues.email) {
@@ -11498,6 +11545,10 @@ var SignUpForm = function SignUpForm(_ref) {
11498
11545
  maxLength: 20,
11499
11546
  error: errors.firstName,
11500
11547
  onChange: handleChange('firstName'),
11548
+ onBlur: handleBlur('firstName'),
11549
+ "aria-required": "true",
11550
+ "aria-invalid": !!errors.firstName,
11551
+ "aria-describedby": errors.firstName ? 'firstName-error' : undefined,
11501
11552
  autoComplete: "given-name"
11502
11553
  }), /*#__PURE__*/React__default.createElement(TextField, {
11503
11554
  label: "Last name",
@@ -11507,6 +11558,10 @@ var SignUpForm = function SignUpForm(_ref) {
11507
11558
  value: formValues.lastName,
11508
11559
  error: errors.lastName,
11509
11560
  onChange: handleChange('lastName'),
11561
+ onBlur: handleBlur('lastName'),
11562
+ "aria-required": "true",
11563
+ "aria-invalid": !!errors.lastName,
11564
+ "aria-describedby": errors.lastName ? 'lastName-error' : undefined,
11510
11565
  autoComplete: "family-name"
11511
11566
  }), /*#__PURE__*/React__default.createElement(TextField, {
11512
11567
  label: "Email",
@@ -11515,15 +11570,20 @@ var SignUpForm = function SignUpForm(_ref) {
11515
11570
  value: formValues.email,
11516
11571
  error: errors.email || errors.serverError,
11517
11572
  onChange: handleChange('email'),
11573
+ onBlur: handleBlur('email'),
11574
+ "aria-required": "true",
11575
+ "aria-invalid": !!errors.email,
11576
+ "aria-describedby": errors.email ? 'email-error' : undefined,
11518
11577
  maxLength: 80
11519
11578
  })), isLoggedIn && !!errors.serverError && /*#__PURE__*/React__default.createElement(GridItem, {
11520
11579
  columnStartDesktop: 2,
11521
11580
  columnSpanDesktop: 12,
11522
- columnStartTablet: 2,
11523
- columnSpanTablet: 12,
11524
11581
  columnStartDevice: 2,
11525
11582
  columnSpanDevice: 12
11526
- }, /*#__PURE__*/React__default.createElement(ServerError, null, /*#__PURE__*/React__default.createElement(AltHeader, {
11583
+ }, /*#__PURE__*/React__default.createElement(ServerError, {
11584
+ role: "alert",
11585
+ "aria-live": "assertive"
11586
+ }, /*#__PURE__*/React__default.createElement(AltHeader, {
11527
11587
  level: 6
11528
11588
  }, errors.serverError))), /*#__PURE__*/React__default.createElement(FormFooterWrapper, null, /*#__PURE__*/React__default.createElement(ButtonWrapper$3, {
11529
11589
  type: "submit"
@@ -11532,7 +11592,7 @@ var SignUpForm = function SignUpForm(_ref) {
11532
11592
  }, "Sign up")), /*#__PURE__*/React__default.createElement(CTALinkWrapper, {
11533
11593
  href: ctaPrivacy.link
11534
11594
  }, /*#__PURE__*/React__default.createElement(BodyText, {
11535
- level: 2
11595
+ level: 1
11536
11596
  }, ctaPrivacy.text)))))));
11537
11597
  };
11538
11598