@nylas/web-elements 0.0.0-canary-20241015194719 → 0.0.0-canary-20241017103834

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.
Files changed (75) hide show
  1. package/dist/cdn/input-image-url/input-image-url.es.js +365 -365
  2. package/dist/cdn/nylas-additional-participants/nylas-additional-participants.es.js +46 -48
  3. package/dist/cdn/nylas-confirmation-email/nylas-confirmation-email.es.js +86 -82
  4. package/dist/cdn/nylas-custom-booking-flow/nylas-custom-booking-flow.es.js +1 -1
  5. package/dist/cdn/nylas-editor-tabs/nylas-editor-tabs.es.js +676 -674
  6. package/dist/cdn/nylas-event-duration/nylas-event-duration.es.js +228 -228
  7. package/dist/cdn/nylas-event-info/nylas-event-info.es.js +2 -2
  8. package/dist/cdn/nylas-event-limits/nylas-event-limits.es.js +2 -2
  9. package/dist/cdn/nylas-form-card/nylas-form-card.es.js +1 -1
  10. package/dist/cdn/nylas-scheduler-editor/nylas-scheduler-editor.es.js +93 -91
  11. package/dist/cdn/nylas-scheduling/nylas-scheduling.es.js +4 -3
  12. package/dist/cdn/nylas-timeslot-picker/nylas-timeslot-picker.es.js +4 -3
  13. package/dist/cjs/calendar-agenda-fill-icon_54.cjs.entry.js +37 -26
  14. package/dist/cjs/calendar-agenda-fill-icon_54.cjs.entry.js.map +1 -1
  15. package/dist/cjs/loader.cjs.js +1 -1
  16. package/dist/cjs/nylas-booked-event-card_12.cjs.entry.js +2 -2
  17. package/dist/cjs/nylas-booked-event-card_12.cjs.entry.js.map +1 -1
  18. package/dist/cjs/nylas-form-card.cjs.entry.js +1 -1
  19. package/dist/cjs/nylas-web-elements.cjs.js +1 -1
  20. package/dist/collection/collection-manifest.json +1 -1
  21. package/dist/collection/components/design-system/input-image-url/input-image-url.js +20 -2
  22. package/dist/collection/components/design-system/input-image-url/input-image-url.js.map +1 -1
  23. package/dist/collection/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.js +2 -2
  24. package/dist/collection/components/scheduler/nylas-timeslot-picker/nylas-timeslot-picker.js.map +1 -1
  25. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js +12 -16
  26. package/dist/collection/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.js.map +1 -1
  27. package/dist/collection/components/scheduler-editor/nylas-additional-participants/test/nylas-additional-participants.spec.js +106 -0
  28. package/dist/collection/components/scheduler-editor/nylas-additional-participants/test/nylas-additional-participants.spec.js.map +1 -0
  29. package/dist/collection/components/scheduler-editor/nylas-confirmation-email/nylas-confirmation-email.js +52 -28
  30. package/dist/collection/components/scheduler-editor/nylas-confirmation-email/nylas-confirmation-email.js.map +1 -1
  31. package/dist/collection/components/scheduler-editor/nylas-confirmation-email/test/nylas-confirmation-email.spec.js +33 -0
  32. package/dist/collection/components/scheduler-editor/nylas-confirmation-email/test/nylas-confirmation-email.spec.js.map +1 -0
  33. package/dist/collection/components/scheduler-editor/nylas-event-duration/nylas-event-duration.js +5 -3
  34. package/dist/collection/components/scheduler-editor/nylas-event-duration/nylas-event-duration.js.map +1 -1
  35. package/dist/collection/components/scheduler-editor/nylas-event-duration/test/nylas-event-duration.spec.js +55 -0
  36. package/dist/collection/components/scheduler-editor/nylas-event-duration/test/nylas-event-duration.spec.js.map +1 -0
  37. package/dist/collection/components/scheduler-editor/nylas-event-info/nylas-event-info.js +1 -1
  38. package/dist/collection/components/scheduler-editor/nylas-event-limits/nylas-event-limits.js +1 -1
  39. package/dist/collection/components/scheduler-editor/nylas-form-card/nylas-form-card.js +1 -1
  40. package/dist/components/input-image-url2.js +6 -2
  41. package/dist/components/input-image-url2.js.map +1 -1
  42. package/dist/components/nylas-additional-participants2.js +12 -16
  43. package/dist/components/nylas-additional-participants2.js.map +1 -1
  44. package/dist/components/nylas-confirmation-email2.js +14 -5
  45. package/dist/components/nylas-confirmation-email2.js.map +1 -1
  46. package/dist/components/nylas-event-duration2.js +5 -3
  47. package/dist/components/nylas-event-duration2.js.map +1 -1
  48. package/dist/components/nylas-event-info2.js +1 -1
  49. package/dist/components/nylas-event-limits2.js +1 -1
  50. package/dist/components/nylas-form-card2.js +1 -1
  51. package/dist/components/nylas-timeslot-picker2.js +2 -2
  52. package/dist/components/nylas-timeslot-picker2.js.map +1 -1
  53. package/dist/esm/calendar-agenda-fill-icon_54.entry.js +37 -26
  54. package/dist/esm/calendar-agenda-fill-icon_54.entry.js.map +1 -1
  55. package/dist/esm/loader.js +1 -1
  56. package/dist/esm/nylas-booked-event-card_12.entry.js +2 -2
  57. package/dist/esm/nylas-booked-event-card_12.entry.js.map +1 -1
  58. package/dist/esm/nylas-form-card.entry.js +1 -1
  59. package/dist/esm/nylas-web-elements.js +1 -1
  60. package/dist/nylas-web-elements/nylas-web-elements.esm.js +1 -1
  61. package/dist/nylas-web-elements/nylas-web-elements.esm.js.map +1 -1
  62. package/dist/nylas-web-elements/{p-698d229c.entry.js → p-7a1d51ab.entry.js} +2 -2
  63. package/dist/nylas-web-elements/{p-698d229c.entry.js.map → p-7a1d51ab.entry.js.map} +1 -1
  64. package/dist/nylas-web-elements/p-bbf86b8c.entry.js +2 -0
  65. package/dist/nylas-web-elements/p-df131a08.entry.js +8 -0
  66. package/dist/nylas-web-elements/p-df131a08.entry.js.map +1 -0
  67. package/dist/types/components/design-system/input-image-url/input-image-url.d.ts +4 -0
  68. package/dist/types/components/scheduler-editor/nylas-additional-participants/nylas-additional-participants.d.ts +1 -1
  69. package/dist/types/components/scheduler-editor/nylas-confirmation-email/nylas-confirmation-email.d.ts +5 -1
  70. package/dist/types/components.d.ts +18 -6
  71. package/package.json +3 -3
  72. package/dist/nylas-web-elements/p-b9a8d404.entry.js +0 -8
  73. package/dist/nylas-web-elements/p-b9a8d404.entry.js.map +0 -1
  74. package/dist/nylas-web-elements/p-f4334e3a.entry.js +0 -2
  75. /package/dist/nylas-web-elements/{p-f4334e3a.entry.js.map → p-bbf86b8c.entry.js.map} +0 -0
@@ -203,6 +203,7 @@ var __metadata$w = (undefined && undefined.__metadata) || function (k, v) {
203
203
  const InputImageUrl = class {
204
204
  constructor(hostRef) {
205
205
  registerInstance(this, hostRef);
206
+ this.nylasFormInputImageUrlInvalid = createEvent(this, "nylasFormInputImageUrlInvalid", 7);
206
207
  this.valueChanged = createEvent(this, "valueChanged", 7);
207
208
  if (hostRef.$hostElement$["s-ei"]) {
208
209
  this.internals = hostRef.$hostElement$["s-ei"];
@@ -271,12 +272,15 @@ const InputImageUrl = class {
271
272
  this.valueChanged.emit({ value: this.currentImageUrl, name: this.name });
272
273
  })
273
274
  .catch(() => {
274
- this.internals.setValidity({ customError: true }, 'Invalid image URL.');
275
275
  this.errorMessage = 'Invalid image URL.';
276
+ this.nylasFormInputImageUrlInvalid.emit({ value: 'Invalid image URL.', name: this.name });
277
+ if (typeof this.internals.setValidity === 'function') {
278
+ this.internals.setValidity({ customError: true }, 'Invalid image URL.');
279
+ }
276
280
  });
277
281
  }
278
282
  render() {
279
- return (h(Host, { key: '37ae40e1bc1eadb1d66f68b26e66b9b0046752b0' }, h("div", { key: 'fe6024927698ba0d41e4875d0f190cf610afe7d7', class: "logo-container" }, h("div", { key: 'b61b97fb4a518e68773304eaa55833104bc246c8', class: "input-container" }, h("input-component", { key: 'f918ef5a13ec93e71635ca205534894c97243fe4', name: this.name, id: this.name, type: "text", required: false, exportparts: "ic_input: iiu__logo-input-textfield", defaultValue: this.imageUrl ?? '' }), this.errorMessage && h("span", { class: "error-message" }, this.errorMessage)), this.currentImageUrl && !this.errorMessage && (h("div", { class: "logo" }, h("img", { src: this.currentImageUrl, alt: "Logo" }))))));
283
+ return (h(Host, { key: '27db94b782ae96518852a8486821a7f6544492a2' }, h("div", { key: '3923ce12503dd454e716e002b693b8e5f7e7e991', class: "logo-container" }, h("div", { key: '004c0dfb0e5ec721e356b4915fbdd75f84a67301', class: "input-container" }, h("input-component", { key: 'f06812996be4fd6384fffc2c095e62ba7067881d', name: this.name, id: this.name, type: "text", required: false, exportparts: "ic_input: iiu__logo-input-textfield", defaultValue: this.imageUrl ?? '' }), this.errorMessage && h("span", { class: "error-message" }, this.errorMessage)), this.currentImageUrl && !this.errorMessage && (h("div", { class: "logo" }, h("img", { src: this.currentImageUrl, alt: "Logo" }))))));
280
284
  }
281
285
  static get formAssociated() { return true; }
282
286
  get host() { return getElement(this); }
@@ -417,20 +421,23 @@ const NylasAdditionalParticipants = class {
417
421
  disconnectedCallback() {
418
422
  debug('nylas-additional-participants', 'disconnectedCallback');
419
423
  }
424
+ isInternalsAvailable() {
425
+ return this.internals !== undefined && typeof this.internals.setFormValue === 'function' && typeof this.internals.setValidity === 'function';
426
+ }
420
427
  onInputOptionChanged(event) {
421
428
  debug('nylas-additional-participants', 'onInputOptionChanged');
422
- const EMAIL_REGEX = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
429
+ const EMAIL_REGEX = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
423
430
  const index = event.detail.name;
424
431
  const participant = this.participantOptions?.find(participant => participant.email === event.detail.value);
425
432
  if (!participant && this.isRoundRobinConfig) {
426
- this.internals.setValidity({ customError: true }, 'For round robin configuration, participant should be selected from the dropdown.');
433
+ this.isInternalsAvailable() && this.internals.setValidity({ customError: true }, 'For round robin configuration, participant should be selected from the dropdown.');
427
434
  this.participantErrors[index] = 'For round robin page, participant should be selected from the dropdown.';
428
435
  this.participants[index].is_valid = false;
429
436
  this.participants = [...this.participants];
430
437
  return;
431
438
  }
432
439
  else if (!participant && !EMAIL_REGEX.test(event.detail.value)) {
433
- this.internals.setValidity({ customError: true }, 'Please enter a valid email address');
440
+ this.isInternalsAvailable() && this.internals.setValidity({ customError: true }, 'Please enter a valid email address');
434
441
  this.participantErrors[index] = 'Please enter a valid email address';
435
442
  this.participants[index].is_valid = false;
436
443
  this.participants = [...this.participants];
@@ -439,7 +446,7 @@ const NylasAdditionalParticipants = class {
439
446
  else {
440
447
  this.participantErrors[index] = '';
441
448
  this.participants[index].is_valid = true;
442
- this.internals.setValidity({});
449
+ this.isInternalsAvailable() && this.internals.setValidity({});
443
450
  }
444
451
  this.participants[index].email = event.detail.value;
445
452
  this.participants[index].availability = participant ? { calendar_ids: ['primary'] } : undefined;
@@ -478,24 +485,17 @@ const NylasAdditionalParticipants = class {
478
485
  this.participants = this.participants.filter((_, i) => i !== index);
479
486
  this.updateFormValue();
480
487
  }
481
- validate(email, index) {
482
- debug('nylas-additional-participants', 'validate');
483
- const regex = /^(([^<>()\[\]\\.,;:\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,}))$/;
484
- const valid = regex.test(String(email).toLowerCase());
485
- this.participants[index].is_valid = valid;
486
- this.updateFormValue();
487
- }
488
488
  updateFormValue() {
489
489
  debug('nylas-additional-participants', 'updateFormValue');
490
490
  const participants = this.isRoundRobinConfig ? (this.includeOrganizerAsParticipant ? this.participants : this.participants.filter(p => !p.is_organizer)) : this.participants;
491
491
  if (participants.length === 0) {
492
- this.internals.setValidity({ customError: true }, 'Please add at least one participant');
492
+ this.isInternalsAvailable() && this.internals.setValidity({ customError: true }, 'Please add at least one participant');
493
493
  this.error = 'Please add at least one participant';
494
494
  }
495
495
  else {
496
- this.internals.setValidity({});
496
+ this.isInternalsAvailable() && this.internals.setValidity({});
497
497
  this.error = '';
498
- this.internals.setFormValue(JSON.stringify(participants), this.name);
498
+ this.isInternalsAvailable() && this.internals.setFormValue(JSON.stringify(participants), this.name);
499
499
  this.valueChanged.emit({ value: JSON.stringify(participants), name: this.name });
500
500
  }
501
501
  }
@@ -506,7 +506,7 @@ const NylasAdditionalParticipants = class {
506
506
  });
507
507
  }
508
508
  render() {
509
- return (h(Host, { key: 'a090033dc7d7915ca65100fd1803d2430052b18a', part: "nap" }, h("nylas-form-card", { key: '19203e4c99690200b679943672f89e9d20bc62b5' }, h("h3", { key: '33fbde2341b42cb0529b95a06f80d6dea08ffc52', slot: "header-title", class: "nylas-additional-participants__title", part: "nap__title" }, "Participants"), h("p", { key: 'a8c73ed714ab74309f1a417215b9e56da99a2731', slot: "header-subtitle", class: "nylas-additional-participants__subtitle", part: "nap__subtitle" }, "Add people in your team or organization to join the event."), h("div", { key: 'bce67b77333c2db513463acaa952b51d933d43d9', slot: "content", class: "nylas-additional-participants__content" }, h("div", { key: '35e0bf36996f3daec1d41e1d8c74c636fb72307f' }, this.participants.map((participant, index) => {
509
+ return (h(Host, { key: 'b17facebc66435c9e405b442500163b47836914e', part: "nap" }, h("nylas-form-card", { key: 'bce92f93c9f0ec0c04c000582505ea1adb1a3e22' }, h("h3", { key: '07cd5fd66a38dadfd67f67607fe81fb235cbb1f3', slot: "header-title", class: "nylas-additional-participants__title", part: "nap__title" }, "Participants"), h("p", { key: '3e9f5348444a81731228d4ce5f355b3cd6ead03f', slot: "header-subtitle", class: "nylas-additional-participants__subtitle", part: "nap__subtitle" }, "Add people in your team or organization to join the event."), h("div", { key: 'b6921a32886aaedbf9ecaa942912c2991881b380', slot: "content", class: "nylas-additional-participants__content" }, h("div", { key: '780531379643ee4764122906f144d302e0bc32e5' }, this.participants.map((participant, index) => {
510
510
  return (h("div", { class: 'nylas-additional-participants__input_group', part: "nap__input_group" }, !participant.is_organizer && h("label", null, `Participant ${index}`), h("div", { part: "nap__input_wrapper", class: {
511
511
  'nylas-additional-participants__input_wrapper': true,
512
512
  'nylas-additional-participants__input_wrapper_organizer': participant?.is_organizer === true,
@@ -516,7 +516,7 @@ const NylasAdditionalParticipants = class {
516
516
  this.includeOrganizerAsParticipant = !this.includeOrganizerAsParticipant;
517
517
  this.updateFormValue();
518
518
  }, checked: this.includeOrganizerAsParticipant }), h("label", { htmlFor: `organizer_participant`, "aria-label": "Include as participant" }, "Participant", h("tooltip-component", { id: "organizer_participant_tooltip" }, h("info-icon", { slot: "tooltip-icon" }), h("span", { slot: "tooltip-content" }, h("strong", null, "Include Organizer:"), " The organizer (you) will be included in the round-robin rotation. ", h("br", null), h("strong", null, "Exclude Organizer:"), " The organizer (you) will not be included in the round-robin rotation."))))))) : (h("input-dropdown", { id: `${index}`, name: `${index}`, filterable: true, inputValue: participant.email, options: this.getArrayDifference(this.participantOptions || [], this.participants) })), !participant.is_organizer && (h("button", { onClick: () => this.removeParticipant(index), part: "nap__remove-participant" }, h("close-icon", null))))), !participant.is_valid && (h("p", { class: "nylas-additional-participants__error", part: "nap__error" }, this.participantErrors[index]))));
519
- }), h("p", { key: '51f51ef0614cd93592fae8a32f501d0249b12c5a', class: "nylas-additional-participants__error", part: "nap__error" }, this.error)), h("button", { key: '93605c6ce8fb6b77451ea0f8c06fb23134727c3f', class: "nylas-additional-participants__add", part: "nap__add-participant", onClick: () => this.addParticipant() }, h("add-circle-icon", { key: '8e6ac25f43f06ad3ee24047a1a7469b13c5a56c7' }), " ", h("span", { key: '511068fb28c498edba86706bef49dcad6633d249' }, "Add ", this.participants.length > 1 ? 'another' : 'a', " participant"))))));
519
+ }), h("p", { key: '9921cf9eb77303da37e64bb4b2555fe662bcb299', class: "nylas-additional-participants__error", part: "nap__error" }, this.error)), h("button", { key: '0fdc9f4d4ee5b221aaaa01de39e0fe5ad29675f1', class: "nylas-additional-participants__add", part: "nap__add-participant", onClick: () => this.addParticipant() }, h("add-circle-icon", { key: 'c1c405144661b246731d48907246b3bc9e252410' }), " ", h("span", { key: '2ccd09a3a9c148dd4e895f7c3b2ac52cce86b76b' }, "Add ", this.participants.length > 1 ? 'another' : 'a', " participant"))))));
520
520
  }
521
521
  static get formAssociated() { return true; }
522
522
  get host() { return getElement(this); }
@@ -5378,9 +5378,9 @@ const NylasConfirmationEmail = class {
5378
5378
  }
5379
5379
  this.selectedConfiguration = undefined;
5380
5380
  this.confirmationEmailTemplate = {};
5381
- this.isOpen = false;
5382
5381
  this.participants = [];
5383
5382
  this.name = 'confirmation-email-template';
5383
+ this.isOpen = false;
5384
5384
  this.confirmationEmail = undefined;
5385
5385
  this.isConfirmationEmailOpen = this.isOpen;
5386
5386
  this.participantsState = this.participants;
@@ -5433,8 +5433,17 @@ const NylasConfirmationEmail = class {
5433
5433
  const { value, name } = event.detail;
5434
5434
  if (name === 'confirmation-email-logo') {
5435
5435
  this.confirmationEmail = { ...this.confirmationEmail, logo: value };
5436
- this.internals.setFormValue(JSON.stringify(this.confirmationEmail), this.name);
5437
5436
  this.valueChanged.emit({ value: JSON.stringify(this.confirmationEmail), name: this.name });
5437
+ if (typeof this.internals.setValidity === 'function' && typeof this.internals.setFormValue === 'function') {
5438
+ this.internals.setFormValue(JSON.stringify(this.confirmationEmail), this.name);
5439
+ this.internals.setValidity({});
5440
+ }
5441
+ }
5442
+ }
5443
+ async nylasFormInputImageUrlInvalidHandler(event) {
5444
+ const { value, name } = event.detail;
5445
+ if (name === 'confirmation-email-logo' && typeof this.internals.setValidity === 'function') {
5446
+ this.internals.setValidity({ customError: true }, value || 'Invalid image URL.');
5438
5447
  }
5439
5448
  }
5440
5449
  updateConfirmationFormValue() {
@@ -5454,7 +5463,7 @@ const NylasConfirmationEmail = class {
5454
5463
  render() {
5455
5464
  const organizer = this.participantsState.find(p => p.is_organizer);
5456
5465
  const organizerName = organizer?.name || organizer?.email;
5457
- return (h(Host, { key: '0cd4c1886c65ead0e525ea96fe26a1316c61db7f' }, h("div", { key: '1901775f8a1364fe16485eeaf27d44862e74a642', class: "nylas-confirmation-email", part: "nce" }, h("div", { key: '241cf1a885d4d97d53c158e5691e350aa14b549f', class: "header", part: "nce__header" }, h("div", { key: 'e37c36a4d8f1f82669f3a397969202d3a2612b0e' }, h("h3", { key: 'ae34b848907720867cb014000e5b7367bcabedb3' }, this.confirmationEmail?.booking_confirmed?.title ?? `Booking confirmed with ${organizerName ? ` ${organizerName}` : ''}`), h("p", { key: '97d7c78a88b20be8c5b0a27485f917628f1c6edc' }, "Booking confirmation email")), this.isConfirmationEmailOpen ? (h("div", { class: "confirmation-email-toggle", part: "nce__confirmation-email-toggle--container" }, h("span", { class: `chevron ${this.isConfirmationEmailOpen ? 'open' : 'closed'} `, onClick: () => this.toggleConfirmationEmail() }, h("chevron-icon", { width: "24", height: "24" })))) : (h("button-component", { variant: 'basic', clickHandler: event => {
5466
+ return (h(Host, { key: 'bc4803b94f914d083bd33cf4cecd0cac70b0658c' }, h("div", { key: '6445d38b903bffd19b4db004e850f6488ed4c27f', class: "nylas-confirmation-email", part: "nce" }, h("div", { key: '7ce1ccd72ef83717aec42fe0b533902e3a254796', class: "header", part: "nce__header" }, h("div", { key: 'cbceb816c30deebc4e053a7abd1da1c82c171ebe' }, h("h3", { key: '36f5b00d5a98d325341ff06b2bb3ba3cf951e94f' }, this.confirmationEmail?.booking_confirmed?.title ?? `Booking confirmed with ${organizerName ? ` ${organizerName}` : ''}`), h("p", { key: '6f72022d71e5f4e3c03d0f6d07d7f0f5bc0f9686' }, "Booking confirmation email")), this.isConfirmationEmailOpen ? (h("div", { class: "confirmation-email-toggle", part: "nce__confirmation-email-toggle--container" }, h("span", { class: `chevron ${this.isConfirmationEmailOpen ? 'open' : 'closed'} `, onClick: () => this.toggleConfirmationEmail() }, h("chevron-icon", { width: "24", height: "24" })))) : (h("button-component", { variant: 'basic', clickHandler: event => {
5458
5467
  event.preventDefault();
5459
5468
  this.toggleConfirmationEmail();
5460
5469
  } }, h("edit-icon", { width: "16", height: "16" }), "Edit"))), this.isConfirmationEmailOpen ? (h("div", { class: "nylas-confirmation-email__body", part: "nce__body" }, h("div", { class: "nylas-confirmation-email__section" }, h("div", { class: "nylas-confirmation-email__row" }, h("label", null, "Send confirmation email", h("span", { class: "label-icon" }, h("tooltip-component", null, h("info-icon", { slot: "tooltip-icon" }), h("span", { slot: "tooltip-content" }, "You and your guests will receive a confirmation email immediately upon booking.")))), h("span", { class: "selected-value" }, "Immediately upon booking")), h("div", { class: "nylas-confirmation-email__row" }, h("div", { class: "subsection" }, h("div", { class: "input-container" }, h("label", null, "Company logo URL", h("span", { class: "label-icon" }, h("tooltip-component", null, h("info-icon", { slot: "tooltip-icon" }), h("span", { slot: "tooltip-content" }, "This logo appears in the booking confirmation email. The URL must be publicly accessible. The image will be scaled down to a max size of 200px x 100px.")))), this.confirmationEmail && (h("input-image-url", { name: "confirmation-email-logo", exportparts: "iiu__logo-input-textfield: nce__input-image-url", imageUrl: this.confirmationEmail?.logo ?? '' }))))), h("div", { class: "nylas-confirmation-email__row full-width-col" }, h("div", { class: "subsection" }, h("h3", null, "Email message"), h("div", { class: "input-container" }, h("label", { htmlFor: "title" }, "Custom email title", h("span", { class: "label-icon" }, h("tooltip-component", null, h("info-icon", { slot: "tooltip-icon" }), h("span", { slot: "tooltip-content" }, "An email title is a headline within the body of the email. This doesn't change the subject line.")))), h("input-component", { name: "confirmation-email-title", maxLength: 60, placeholder: `Booking confirmed ${organizerName ? `with ${organizerName}` : ''}`, defaultValue: this.confirmationEmail?.booking_confirmed?.title ?? '' })), h("div", { class: "input-container" }, h("textarea-component", { label: "Additional info", name: "confirmation-email-body", id: "confirmation-email-body", placeholder: "Default body", tooltip: "Scheduler adds the content of the box to the email body.", maxLength: 500, defaultValue: this.confirmationEmail?.booking_confirmed?.body ?? '' }))))))) : (h("div", { class: "nylas-confirmation-email__summary", part: "nce__summary" }, h("p", null, h("span", { class: "summary-icon" }, h("person-clipboard-icon", null)), "All host & guests"), h("p", null, h("span", { class: "summary-icon" }, h("clock-icon", null)), "Immediately on booking"))))));
@@ -6188,7 +6197,6 @@ const NylasEventDuration = class {
6188
6197
  componentWillLoad() {
6189
6198
  debug('nylas-event-duration', 'componentWillLoad');
6190
6199
  this.host.setAttribute('name', this.name);
6191
- this.setDurationMintueOptions();
6192
6200
  }
6193
6201
  componentDidLoad() {
6194
6202
  debug('nylas-event-duration', 'componentDidLoad');
@@ -6198,7 +6206,10 @@ const NylasEventDuration = class {
6198
6206
  this.duration = this.duration ? this.duration : this.eventDurationMinutes ? (this.eventDurationMinutes >= 60 ? this.eventDurationMinutes / 60 : this.eventDurationMinutes) : 30;
6199
6207
  this.durationMinutes = this.durationMinutes ? this.durationMinutes : this.duration ? this.duration : 30;
6200
6208
  this.durationIncrement = this.durationIncrement ? this.durationIncrement : this.duration >= 60 ? 60 : 1;
6201
- this.internals.setFormValue(this.durationMinutes.toString(), 'duration');
6209
+ this.setDurationMintueOptions();
6210
+ if (typeof this.internals.setFormValue === 'function') {
6211
+ this.internals.setFormValue(this.durationMinutes.toString(), 'duration');
6212
+ }
6202
6213
  }
6203
6214
  disconnectedCallback() {
6204
6215
  debug('nylas-event-duration', 'disconnectedCallback');
@@ -6248,7 +6259,7 @@ const NylasEventDuration = class {
6248
6259
  { value: 1, label: 'minute' },
6249
6260
  { value: 60, label: 'hour' },
6250
6261
  ];
6251
- return (h(Host, { key: 'e63530398b7b2231436947da8c9e63c3c7bd696a' }, h("div", { key: '9ccca25a4322edaedafa53a2bd8ae2baf48b4f1e', class: "nylas-event-duration", part: "ned" }, h("label", { key: 'cd5562d2516c1f37eeb0b3e074493c671628ef4b', htmlFor: "duration" }, "Event duration", h("span", { key: 'ef36340fb220f380a9913ad5025e6600ce6e8f17', class: "required" }, "*")), h("div", { key: 'eddeda40d89ac770f20226605f3fedce00afe060', class: "nylas-event-duration__wrapper" }, h("input-dropdown", { key: 'b087fff0f15cfcaf5c89c0566941aa45c8e89d54', name: 'event-duration', options: this.durationMinutesOptions, inputValue: this.duration.toString(), exportparts: "id_dropdown: ned__input_dropdown, id_dropdown-input: ned__input_dropdown-input, id_dropdown-content: ned__input_dropdown-content", defaultInputOption: this.durationMinutesOptions.find(i => i.value == this.duration) }), this.durationIncrement && (h("select-dropdown", { name: 'event-duration', options: durationOptions, pluralizedLabel: this.duration > 1 ? 's' : '', exportparts: "sd_dropdown: ned__dropdown, sd_dropdown-button: ned__dropdown-button, sd_dropdown-content: ned__dropdown-content", defaultSelectedOption: durationOptions.find(i => i.value == this.durationIncrement), withSearch: false }))))));
6262
+ return (h(Host, { key: 'f6b60528b9c3f2978ac12beae9bf049a9b90fec5' }, h("div", { key: 'f7c778d981fa1d33ceed820d500e6820a4f1223c', class: "nylas-event-duration", part: "ned" }, h("label", { key: 'f461dcfeda616f50820d6cdacb5dfded22ec7aff', htmlFor: "duration" }, "Event duration", h("span", { key: '086d2458ad14f00f718fb9106c45d63576c9f734', class: "required" }, "*")), h("div", { key: 'cf27800dec77fbe74c9428de92fa042a419ddb25', class: "nylas-event-duration__wrapper" }, h("input-dropdown", { key: '06ed64927a69ca96bb9f9cc5cfede6d55c310598', name: 'event-duration', options: this.durationMinutesOptions, inputValue: this.duration.toString(), exportparts: "id_dropdown: ned__input_dropdown, id_dropdown-input: ned__input_dropdown-input, id_dropdown-content: ned__input_dropdown-content", defaultInputOption: this.durationMinutesOptions.find(i => i.value == this.duration) }), this.durationIncrement && (h("select-dropdown", { name: 'event-duration', options: durationOptions, pluralizedLabel: this.duration > 1 ? 's' : '', exportparts: "sd_dropdown: ned__dropdown, sd_dropdown-button: ned__dropdown-button, sd_dropdown-content: ned__dropdown-content", defaultSelectedOption: durationOptions.find(i => i.value == this.durationIncrement), withSearch: false }))))));
6252
6263
  }
6253
6264
  static get formAssociated() { return true; }
6254
6265
  get host() { return getElement(this); }
@@ -6313,7 +6324,7 @@ const NylasEventInfo = class {
6313
6324
  debug('nylas-event-info', 'disconnectedCallback');
6314
6325
  }
6315
6326
  render() {
6316
- return (h(Host, { key: 'fb4a8dd875696bc6a4e951f2649a2ab650558489' }, h("nylas-form-card", { key: '193b25acb1374842946ff938755fe8fed7a6d4b9', exportparts: "nfc__header: nei__header" }, h("h1", { key: 'c405c5de0b2eafa15136d10f10de13a158595298', slot: "header-title", class: "nylas-event-info__title", part: "nei__title" }, "Event information"), h("div", { key: 'a49993db49876dfdebd6dbe412d759ce1d38028e', slot: "content", class: "nylas-event-info__content" }, h("slot", { key: 'dc4595988a0b6824f328896c1ea507b96e61e4a8', name: "inputs" })))));
6327
+ return (h(Host, { key: 'be80a4e687ce223a8e52bbabc2e8acadcb194b11' }, h("nylas-form-card", { key: 'c96b77795ec2516889acf0f78c5eb723b26dd89c', exportparts: "nfc__header: nei__header" }, h("h1", { key: '890113187adcd6be1ab1d1beb489fe3a80124617', slot: "header-title", class: "nylas-event-info__title", part: "nei__title" }, "Event information"), h("div", { key: '44eaaae3833654530706dc93077b43a7597acc2c', slot: "content", class: "nylas-event-info__content" }, h("slot", { key: '7af737a67cb007c0ede7db5aa075828311d98da3', name: "inputs" })))));
6317
6328
  }
6318
6329
  static get formAssociated() { return true; }
6319
6330
  get el() { return getElement(this); }
@@ -6372,7 +6383,7 @@ const NylasEventLimits = class {
6372
6383
  debug('nylas-event-limits', 'disconnectedCallback');
6373
6384
  }
6374
6385
  render() {
6375
- return (h(Host, { key: '8715c9aeba26e6f4c151b0ab58333cc13d3500d3' }, h("nylas-form-card", { key: '2e2bf90762d35ac9fc4a995808b9aa3e4481d6c0', exportparts: "nfc__header: nel__header" }, h("h1", { key: 'b3689912282e3215d862ca06c75fae95b67e501f', slot: "header-title", class: "nylas-event-limits__title" }, "Event limits"), h("div", { key: 'bd5513f8c0cc573f14afeadfafe591b64b904920', slot: "content", class: "nylas-event-limits__content" }, h("slot", { key: '86ebfd856f0c93d3ad98d800d4ce9e1a8daf2516', name: "inputs" })))));
6386
+ return (h(Host, { key: '6a28113e3b403869e77cc3a2c9c3a1bea217dc52' }, h("nylas-form-card", { key: 'cf9004d044222d796ae59df58737ad9719a20576', exportparts: "nfc__header: nel__header" }, h("h1", { key: 'ffeeb7a5741c9f07fb4f9bd84016b1707e2b55b7', slot: "header-title", class: "nylas-event-limits__title" }, "Event limits"), h("div", { key: '7b51592d95736f860ec805950275a18e9d914c32', slot: "content", class: "nylas-event-limits__content" }, h("slot", { key: '53e9098d736eedf5b22e1b8ae712ec22c8ca865e', name: "inputs" })))));
6376
6387
  }
6377
6388
  static get formAssociated() { return true; }
6378
6389
  get el() { return getElement(this); }