@royaloperahouse/chord 2.6.1-c-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
@@ -3059,12 +3059,11 @@ var _templateObject$9;
3059
3059
  var Grid = /*#__PURE__*/styled.div(_templateObject$9 || (_templateObject$9 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: grid;\n grid-template-columns: var(--grid-template-columns);\n grid-template-rows: max-content;\n gap: var(--grid-column-gap);\n margin: 0;\n"])));
3060
3060
 
3061
3061
  var _templateObject$a;
3062
- var GridItem = /*#__PURE__*/styled.div(_templateObject$a || (_templateObject$a = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n grid-column: ", " / span\n ", ";\n\n @media ", " {\n & {\n grid-column: ", " /\n span ", ";\n }\n }\n\n @media ", " {\n & {\n grid-column: ", " / span\n ", ";\n }\n }\n"])), function (_ref) {
3062
+ var GridItem = /*#__PURE__*/styled.div(_templateObject$a || (_templateObject$a = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n grid-column: ", " / span ", ";\n\n @media ", " {\n & {\n grid-column: ", " /\n span ", ";\n }\n }\n\n @media ", " {\n & {\n grid-column: ", " / span\n ", ";\n }\n }\n"])), function (_ref) {
3063
3063
  var columnStartDesktop = _ref.columnStartDesktop;
3064
3064
  return columnStartDesktop;
3065
3065
  }, function (_ref2) {
3066
- var _ref2$columnSpanDeskt = _ref2.columnSpanDesktop,
3067
- columnSpanDesktop = _ref2$columnSpanDeskt === void 0 ? 1 : _ref2$columnSpanDeskt;
3066
+ var columnSpanDesktop = _ref2.columnSpanDesktop;
3068
3067
  return columnSpanDesktop;
3069
3068
  }, devices.mobile, function (_ref3) {
3070
3069
  var columnStartDevice = _ref3.columnStartDevice,
@@ -4208,12 +4207,14 @@ var TextField = /*#__PURE__*/forwardRef(function (_ref, ref) {
4208
4207
 
4209
4208
  return /*#__PURE__*/React__default.createElement(Container$1, null, /*#__PURE__*/React__default.createElement("label", null, !!label && /*#__PURE__*/React__default.createElement(TextLabel$1, {
4210
4209
  darkMode: darkMode,
4211
- "data-testid": "text-field-text-label"
4210
+ "data-testid": "text-field-text-label",
4211
+ "aria-hidden": true
4212
4212
  }, /*#__PURE__*/React__default.createElement(AltHeader, {
4213
4213
  level: 6
4214
4214
  }, label)), /*#__PURE__*/React__default.createElement(InputWrapper, {
4215
4215
  width: width
4216
4216
  }, /*#__PURE__*/React__default.createElement(Input, Object.assign({
4217
+ "aria-label": label,
4217
4218
  isPasswordField: isPasswordField,
4218
4219
  type: inputType,
4219
4220
  error: error,
@@ -4227,7 +4228,10 @@ var TextField = /*#__PURE__*/forwardRef(function (_ref, ref) {
4227
4228
  level: 1
4228
4229
  }, showHideButtonText)))), !!error && /*#__PURE__*/React__default.createElement(ErrorLabel$1, {
4229
4230
  darkMode: darkMode,
4230
- "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"
4231
4235
  }, /*#__PURE__*/React__default.createElement(AltHeader, {
4232
4236
  level: 6
4233
4237
  }, error)));
@@ -9107,7 +9111,7 @@ var getConcatenatedPropLength = function getConcatenatedPropLength(array, prop)
9107
9111
 
9108
9112
  var DEFAULT_COLUMN_COUNT = 4;
9109
9113
  var DEFAULT_LARGE_COLUMN_SPAN = 2;
9110
- var DEFAULT_CHARACTER_THRESHOLD = 180;
9114
+ var DEFAULT_CHARACTER_THRESHOLD = 120;
9111
9115
 
9112
9116
  var concatenateMusicTitle = function concatenateMusicTitle(musicTitle, index) {
9113
9117
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, {
@@ -9179,12 +9183,12 @@ var CreditListing = function CreditListing(_ref) {
9179
9183
  creditEntries.push( /*#__PURE__*/React__default.createElement(GridItem, {
9180
9184
  columnStartDesktop: columnStart,
9181
9185
  columnSpanDesktop: columnSpan,
9182
- columnStartDevice: 1,
9183
- columnSpanDevice: 1,
9186
+ columnSpanDevice: columnSpan,
9184
9187
  columnStartSmallDevice: 1,
9185
- columnSpanSmallDevice: 1,
9188
+ columnStartDevice: 1,
9189
+ columnSpanSmallDevice: 2,
9186
9190
  key: "credit-entry-" + name + "-" + index,
9187
- "data-testid": "credit-entry"
9191
+ "data-roh": 'credit-entry'
9188
9192
  }, /*#__PURE__*/React__default.createElement(TextWrapper$2, null, /*#__PURE__*/React__default.createElement(RoleWrapper$1, {
9189
9193
  title: "role",
9190
9194
  "data-roh": dataROH
@@ -11304,14 +11308,14 @@ var Wrapper$8 = /*#__PURE__*/styled('div')(_templateObject$1k || (_templateObjec
11304
11308
  return "var(--base-color-" + theme + ")";
11305
11309
  });
11306
11310
  var SignUpFormWrapper = /*#__PURE__*/styled(Grid)(_templateObject2$Z || (_templateObject2$Z = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n gap: 0 var(--grid-column-gap);\n margin-bottom: 32px;\n"])));
11307
- 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);
11308
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"])));
11309
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);
11310
- 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);
11311
11315
  var ServerError = /*#__PURE__*/styled.div(_templateObject7$h || (_templateObject7$h = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n text-align: left;\n color: var(--base-color-errorstate);\n"])));
11312
- 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"])));
11313
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);
11314
- 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);
11315
11319
 
11316
11320
  var regex = {
11317
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,}))$/,
@@ -11321,7 +11325,11 @@ var regex = {
11321
11325
  var formValidationMessages = {
11322
11326
  requiredFieldMessage: 'Please complete this field',
11323
11327
  firstName: {
11324
- 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'
11325
11333
  },
11326
11334
  email: {
11327
11335
  required: 'Please enter an email address',
@@ -11388,6 +11396,44 @@ var SignUpForm = function SignUpForm(_ref) {
11388
11396
  };
11389
11397
  };
11390
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
+
11391
11437
  var handleFormSubmit = /*#__PURE__*/function () {
11392
11438
  var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(e) {
11393
11439
  var formErrors, response;
@@ -11409,13 +11455,13 @@ var SignUpForm = function SignUpForm(_ref) {
11409
11455
 
11410
11456
  if (!isLoggedIn) {
11411
11457
  if (!formValues.firstName) {
11412
- formErrors.firstName = formValidationMessages.requiredFieldMessage;
11458
+ formErrors.firstName = formValidationMessages.firstName.required;
11413
11459
  } else if (!regex.firstName.test(formValues.firstName)) {
11414
11460
  formErrors.firstName = formValidationMessages.firstName.invalid;
11415
11461
  }
11416
11462
 
11417
11463
  if (!formValues.lastName) {
11418
- formErrors.lastName = formValidationMessages.requiredFieldMessage;
11464
+ formErrors.lastName = formValidationMessages.lastName.required;
11419
11465
  }
11420
11466
 
11421
11467
  if (!formValues.email) {
@@ -11499,6 +11545,10 @@ var SignUpForm = function SignUpForm(_ref) {
11499
11545
  maxLength: 20,
11500
11546
  error: errors.firstName,
11501
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,
11502
11552
  autoComplete: "given-name"
11503
11553
  }), /*#__PURE__*/React__default.createElement(TextField, {
11504
11554
  label: "Last name",
@@ -11508,6 +11558,10 @@ var SignUpForm = function SignUpForm(_ref) {
11508
11558
  value: formValues.lastName,
11509
11559
  error: errors.lastName,
11510
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,
11511
11565
  autoComplete: "family-name"
11512
11566
  }), /*#__PURE__*/React__default.createElement(TextField, {
11513
11567
  label: "Email",
@@ -11516,15 +11570,20 @@ var SignUpForm = function SignUpForm(_ref) {
11516
11570
  value: formValues.email,
11517
11571
  error: errors.email || errors.serverError,
11518
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,
11519
11577
  maxLength: 80
11520
11578
  })), isLoggedIn && !!errors.serverError && /*#__PURE__*/React__default.createElement(GridItem, {
11521
11579
  columnStartDesktop: 2,
11522
11580
  columnSpanDesktop: 12,
11523
- columnStartTablet: 2,
11524
- columnSpanTablet: 12,
11525
11581
  columnStartDevice: 2,
11526
11582
  columnSpanDevice: 12
11527
- }, /*#__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, {
11528
11587
  level: 6
11529
11588
  }, errors.serverError))), /*#__PURE__*/React__default.createElement(FormFooterWrapper, null, /*#__PURE__*/React__default.createElement(ButtonWrapper$3, {
11530
11589
  type: "submit"
@@ -11533,7 +11592,7 @@ var SignUpForm = function SignUpForm(_ref) {
11533
11592
  }, "Sign up")), /*#__PURE__*/React__default.createElement(CTALinkWrapper, {
11534
11593
  href: ctaPrivacy.link
11535
11594
  }, /*#__PURE__*/React__default.createElement(BodyText, {
11536
- level: 2
11595
+ level: 1
11537
11596
  }, ctaPrivacy.text)))))));
11538
11597
  };
11539
11598