@royaloperahouse/chord 2.6.1-c-development → 2.6.1-e-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,13 +11325,45 @@ 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',
11328
11336
  invalid: 'Enter an email address in the correct format, like name@example.com'
11329
11337
  }
11330
11338
  };
11339
+ var getFormErrorMessage = function getFormErrorMessage(field, value) {
11340
+ var errorMessage;
11341
+
11342
+ if (!value) {
11343
+ switch (field) {
11344
+ case 'firstName':
11345
+ errorMessage = formValidationMessages.firstName.required;
11346
+ break;
11347
+
11348
+ case 'lastName':
11349
+ errorMessage = formValidationMessages.lastName.required;
11350
+ break;
11351
+
11352
+ case 'email':
11353
+ errorMessage = formValidationMessages.email.required;
11354
+ break;
11355
+
11356
+ default:
11357
+ errorMessage = formValidationMessages.requiredFieldMessage;
11358
+ }
11359
+ } else if (field === 'email' && !regex.signInEmail.test(value)) {
11360
+ errorMessage = formValidationMessages.email.invalid;
11361
+ } else if (field === 'firstName' && !regex.firstName.test(value)) {
11362
+ errorMessage = formValidationMessages.firstName.invalid;
11363
+ }
11364
+
11365
+ return errorMessage;
11366
+ };
11331
11367
 
11332
11368
  var themeToColor = function themeToColor(theme) {
11333
11369
  switch (theme) {
@@ -11388,6 +11424,21 @@ var SignUpForm = function SignUpForm(_ref) {
11388
11424
  };
11389
11425
  };
11390
11426
 
11427
+ var handleBlur = function handleBlur(field) {
11428
+ return function () {
11429
+ var value = formValues[field];
11430
+ var errorMessage = getFormErrorMessage(field, value);
11431
+
11432
+ if (errorMessage) {
11433
+ setErrors(function (prev) {
11434
+ var _extends4;
11435
+
11436
+ return _extends({}, prev, (_extends4 = {}, _extends4[field] = errorMessage, _extends4));
11437
+ });
11438
+ }
11439
+ };
11440
+ };
11441
+
11391
11442
  var handleFormSubmit = /*#__PURE__*/function () {
11392
11443
  var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(e) {
11393
11444
  var formErrors, response;
@@ -11409,13 +11460,13 @@ var SignUpForm = function SignUpForm(_ref) {
11409
11460
 
11410
11461
  if (!isLoggedIn) {
11411
11462
  if (!formValues.firstName) {
11412
- formErrors.firstName = formValidationMessages.requiredFieldMessage;
11463
+ formErrors.firstName = formValidationMessages.firstName.required;
11413
11464
  } else if (!regex.firstName.test(formValues.firstName)) {
11414
11465
  formErrors.firstName = formValidationMessages.firstName.invalid;
11415
11466
  }
11416
11467
 
11417
11468
  if (!formValues.lastName) {
11418
- formErrors.lastName = formValidationMessages.requiredFieldMessage;
11469
+ formErrors.lastName = formValidationMessages.lastName.required;
11419
11470
  }
11420
11471
 
11421
11472
  if (!formValues.email) {
@@ -11499,6 +11550,10 @@ var SignUpForm = function SignUpForm(_ref) {
11499
11550
  maxLength: 20,
11500
11551
  error: errors.firstName,
11501
11552
  onChange: handleChange('firstName'),
11553
+ onBlur: handleBlur('firstName'),
11554
+ "aria-required": "true",
11555
+ "aria-invalid": !!errors.firstName,
11556
+ "aria-describedby": errors.firstName ? 'firstName-error' : undefined,
11502
11557
  autoComplete: "given-name"
11503
11558
  }), /*#__PURE__*/React__default.createElement(TextField, {
11504
11559
  label: "Last name",
@@ -11508,6 +11563,10 @@ var SignUpForm = function SignUpForm(_ref) {
11508
11563
  value: formValues.lastName,
11509
11564
  error: errors.lastName,
11510
11565
  onChange: handleChange('lastName'),
11566
+ onBlur: handleBlur('lastName'),
11567
+ "aria-required": "true",
11568
+ "aria-invalid": !!errors.lastName,
11569
+ "aria-describedby": errors.lastName ? 'lastName-error' : undefined,
11511
11570
  autoComplete: "family-name"
11512
11571
  }), /*#__PURE__*/React__default.createElement(TextField, {
11513
11572
  label: "Email",
@@ -11516,15 +11575,20 @@ var SignUpForm = function SignUpForm(_ref) {
11516
11575
  value: formValues.email,
11517
11576
  error: errors.email || errors.serverError,
11518
11577
  onChange: handleChange('email'),
11578
+ onBlur: handleBlur('email'),
11579
+ "aria-required": "true",
11580
+ "aria-invalid": !!errors.email,
11581
+ "aria-describedby": errors.email ? 'email-error' : undefined,
11519
11582
  maxLength: 80
11520
11583
  })), isLoggedIn && !!errors.serverError && /*#__PURE__*/React__default.createElement(GridItem, {
11521
11584
  columnStartDesktop: 2,
11522
11585
  columnSpanDesktop: 12,
11523
- columnStartTablet: 2,
11524
- columnSpanTablet: 12,
11525
11586
  columnStartDevice: 2,
11526
11587
  columnSpanDevice: 12
11527
- }, /*#__PURE__*/React__default.createElement(ServerError, null, /*#__PURE__*/React__default.createElement(AltHeader, {
11588
+ }, /*#__PURE__*/React__default.createElement(ServerError, {
11589
+ role: "alert",
11590
+ "aria-live": "assertive"
11591
+ }, /*#__PURE__*/React__default.createElement(AltHeader, {
11528
11592
  level: 6
11529
11593
  }, errors.serverError))), /*#__PURE__*/React__default.createElement(FormFooterWrapper, null, /*#__PURE__*/React__default.createElement(ButtonWrapper$3, {
11530
11594
  type: "submit"
@@ -11533,7 +11597,7 @@ var SignUpForm = function SignUpForm(_ref) {
11533
11597
  }, "Sign up")), /*#__PURE__*/React__default.createElement(CTALinkWrapper, {
11534
11598
  href: ctaPrivacy.link
11535
11599
  }, /*#__PURE__*/React__default.createElement(BodyText, {
11536
- level: 2
11600
+ level: 1
11537
11601
  }, ctaPrivacy.text)))))));
11538
11602
  };
11539
11603