@nylas/web-elements 1.4.5 → 2.0.0

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 (165) hide show
  1. package/dist/cdn/nylas-scheduler-editor/nylas-scheduler-editor.es.js +179 -146
  2. package/dist/cdn/nylas-scheduling/nylas-scheduling.es.js +4998 -4993
  3. package/dist/cjs/calendar-agenda-fill-icon_36.cjs.entry.js +4 -4
  4. package/dist/cjs/checkmark-icon_15.cjs.entry.js +4 -4
  5. package/dist/cjs/checkmark-icon_15.cjs.entry.js.map +1 -1
  6. package/dist/cjs/{constants-3b9fb535.js → constants-27331d2d.js} +1 -5
  7. package/dist/cjs/constants-27331d2d.js.map +1 -0
  8. package/dist/cjs/{customParseFormat-4dbd51f6.js → customParseFormat-22da9017.js} +2 -2
  9. package/dist/cjs/{customParseFormat-4dbd51f6.js.map → customParseFormat-22da9017.js.map} +1 -1
  10. package/dist/cjs/{feedbackSync-670798db.js → feedbackSync-adabe7d6.js} +2 -2
  11. package/dist/cjs/{feedbackSync-670798db.js.map → feedbackSync-adabe7d6.js.map} +1 -1
  12. package/dist/cjs/globe-icon_2.cjs.entry.js +3 -3
  13. package/dist/cjs/google-logo-icon_6.cjs.entry.js +49 -25
  14. package/dist/cjs/google-logo-icon_6.cjs.entry.js.map +1 -1
  15. package/dist/cjs/index.cjs.js +2 -2
  16. package/dist/cjs/{index.es-cbc1ecb6.js → index.es-7848228a.js} +2 -2
  17. package/dist/cjs/{index.es-cbc1ecb6.js.map → index.es-7848228a.js.map} +1 -1
  18. package/dist/cjs/input-component.cjs.entry.js +1 -1
  19. package/dist/cjs/input-dropdown_2.cjs.entry.js +2 -2
  20. package/dist/cjs/loader.cjs.js +1 -1
  21. package/dist/cjs/multi-select-dropdown_2.cjs.entry.js +1 -1
  22. package/dist/cjs/{nylas-api-request-af6121b4.js → nylas-api-request-976db0f4.js} +2 -2
  23. package/dist/cjs/{nylas-api-request-af6121b4.js.map → nylas-api-request-976db0f4.js.map} +1 -1
  24. package/dist/cjs/nylas-booked-event-card_12.cjs.entry.js +3 -3
  25. package/dist/cjs/nylas-event-calendar_3.cjs.entry.js +4 -4
  26. package/dist/cjs/nylas-form-card.cjs.entry.js +2 -2
  27. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js +22 -16
  28. package/dist/cjs/nylas-scheduler-editor.cjs.entry.js.map +1 -1
  29. package/dist/cjs/nylas-scheduling.cjs.entry.js +7 -7
  30. package/dist/cjs/nylas-web-elements.cjs.js +1 -1
  31. package/dist/cjs/{register-component-5e87c463.js → register-component-d2f37e40.js} +2 -2
  32. package/dist/cjs/{register-component-5e87c463.js.map → register-component-d2f37e40.js.map} +1 -1
  33. package/dist/cjs/textarea-component.cjs.entry.js +1 -1
  34. package/dist/cjs/{utils-0dfca9ec.js → utils-d522ef01.js} +10 -1
  35. package/dist/cjs/utils-d522ef01.js.map +1 -0
  36. package/dist/collection/common/constants.js +0 -1
  37. package/dist/collection/common/constants.js.map +1 -1
  38. package/dist/collection/components/scheduler/nylas-scheduling/nylas-scheduling.js +1 -1
  39. package/dist/collection/components/scheduler-editor/nylas-editor-tabs-group/nylas-editor-tabs-group.js +6 -7
  40. package/dist/collection/components/scheduler-editor/nylas-editor-tabs-group/nylas-editor-tabs-group.js.map +1 -1
  41. package/dist/collection/components/scheduler-editor/nylas-event-description/nylas-event-description.js +1 -1
  42. package/dist/collection/components/scheduler-editor/nylas-event-description/nylas-event-description.js.map +1 -1
  43. package/dist/collection/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.js +6 -3
  44. package/dist/collection/components/scheduler-editor/nylas-list-configurations/nylas-list-configurations.js.map +1 -1
  45. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/ExpressFlow.js +4 -5
  46. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/ExpressFlow.js.map +1 -1
  47. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.css +0 -8
  48. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js +43 -10
  49. package/dist/collection/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.js.map +1 -1
  50. package/dist/collection/components/scheduler-editor/nylas-select-event-type/nylas-select-event-type.js +52 -7
  51. package/dist/collection/components/scheduler-editor/nylas-select-event-type/nylas-select-event-type.js.map +1 -1
  52. package/dist/collection/components/scheduler-editor/nylas-timeslot-interval/nylas-timeslot-interval.js +1 -1
  53. package/dist/collection/stores/scheduler-config-store.js.map +1 -1
  54. package/dist/components/constants.js +1 -5
  55. package/dist/components/constants.js.map +1 -1
  56. package/dist/components/nylas-editor-tabs-group2.js +8 -9
  57. package/dist/components/nylas-editor-tabs-group2.js.map +1 -1
  58. package/dist/components/nylas-editor-tabs2.js +2 -2
  59. package/dist/components/nylas-event-description2.js +1 -1
  60. package/dist/components/nylas-event-description2.js.map +1 -1
  61. package/dist/components/nylas-list-configurations2.js +6 -3
  62. package/dist/components/nylas-list-configurations2.js.map +1 -1
  63. package/dist/components/nylas-scheduler-editor.js +22 -14
  64. package/dist/components/nylas-scheduler-editor.js.map +1 -1
  65. package/dist/components/nylas-scheduling.js +3 -3
  66. package/dist/components/nylas-select-event-type2.js +32 -8
  67. package/dist/components/nylas-select-event-type2.js.map +1 -1
  68. package/dist/components/nylas-timeslot-interval2.js +1 -1
  69. package/dist/components/utils.js +9 -0
  70. package/dist/components/utils.js.map +1 -1
  71. package/dist/esm/calendar-agenda-fill-icon_36.entry.js +4 -4
  72. package/dist/esm/checkmark-icon_15.entry.js +4 -4
  73. package/dist/esm/checkmark-icon_15.entry.js.map +1 -1
  74. package/dist/esm/{constants-3d8016e3.js → constants-f51538ef.js} +2 -6
  75. package/dist/esm/constants-f51538ef.js.map +1 -0
  76. package/dist/esm/{customParseFormat-129be926.js → customParseFormat-d1de5ed0.js} +2 -2
  77. package/dist/esm/{customParseFormat-129be926.js.map → customParseFormat-d1de5ed0.js.map} +1 -1
  78. package/dist/esm/{feedbackSync-d943ffc7.js → feedbackSync-172f942c.js} +2 -2
  79. package/dist/esm/{feedbackSync-d943ffc7.js.map → feedbackSync-172f942c.js.map} +1 -1
  80. package/dist/esm/globe-icon_2.entry.js +3 -3
  81. package/dist/esm/google-logo-icon_6.entry.js +49 -25
  82. package/dist/esm/google-logo-icon_6.entry.js.map +1 -1
  83. package/dist/esm/{index.es-4615d47c.js → index.es-fc8588de.js} +2 -2
  84. package/dist/esm/{index.es-4615d47c.js.map → index.es-fc8588de.js.map} +1 -1
  85. package/dist/esm/index.js +2 -2
  86. package/dist/esm/input-component.entry.js +1 -1
  87. package/dist/esm/input-dropdown_2.entry.js +2 -2
  88. package/dist/esm/loader.js +1 -1
  89. package/dist/esm/multi-select-dropdown_2.entry.js +1 -1
  90. package/dist/esm/{nylas-api-request-acf12b47.js → nylas-api-request-3d7ced61.js} +2 -2
  91. package/dist/esm/{nylas-api-request-acf12b47.js.map → nylas-api-request-3d7ced61.js.map} +1 -1
  92. package/dist/esm/nylas-booked-event-card_12.entry.js +3 -3
  93. package/dist/esm/nylas-event-calendar_3.entry.js +4 -4
  94. package/dist/esm/nylas-form-card.entry.js +2 -2
  95. package/dist/esm/nylas-scheduler-editor.entry.js +22 -16
  96. package/dist/esm/nylas-scheduler-editor.entry.js.map +1 -1
  97. package/dist/esm/nylas-scheduling.entry.js +7 -7
  98. package/dist/esm/nylas-web-elements.js +1 -1
  99. package/dist/esm/{register-component-083eb961.js → register-component-62d792d4.js} +2 -2
  100. package/dist/esm/{register-component-083eb961.js.map → register-component-62d792d4.js.map} +1 -1
  101. package/dist/esm/textarea-component.entry.js +1 -1
  102. package/dist/esm/{utils-6c05ecaf.js → utils-bb88dd4d.js} +10 -1
  103. package/dist/esm/utils-bb88dd4d.js.map +1 -0
  104. package/dist/nylas-web-elements/index.esm.js +1 -1
  105. package/dist/nylas-web-elements/nylas-web-elements.esm.js +1 -1
  106. package/dist/nylas-web-elements/nylas-web-elements.esm.js.map +1 -1
  107. package/dist/nylas-web-elements/{p-865721fd.entry.js → p-05204c68.entry.js} +2 -2
  108. package/dist/nylas-web-elements/{p-2b38054f.entry.js → p-0d422938.entry.js} +2 -2
  109. package/dist/nylas-web-elements/{p-c59787f4.js → p-0d6ecada.js} +2 -2
  110. package/dist/nylas-web-elements/{p-e2632a60.js → p-198f05a6.js} +2 -2
  111. package/dist/nylas-web-elements/p-1d8c55c6.entry.js +11 -0
  112. package/dist/nylas-web-elements/p-1d8c55c6.entry.js.map +1 -0
  113. package/dist/nylas-web-elements/{p-4e1e01e4.entry.js → p-29f601d9.entry.js} +2 -2
  114. package/dist/nylas-web-elements/{p-60b48bf7.js → p-3a3c5e17.js} +2 -2
  115. package/dist/nylas-web-elements/{p-6bb6a0b8.entry.js → p-447837c2.entry.js} +2 -2
  116. package/dist/nylas-web-elements/{p-faa723fc.entry.js → p-49c8d4d9.entry.js} +2 -2
  117. package/dist/nylas-web-elements/p-49c8d4d9.entry.js.map +1 -0
  118. package/dist/nylas-web-elements/p-7e885253.js +2 -0
  119. package/dist/nylas-web-elements/p-7e885253.js.map +1 -0
  120. package/dist/nylas-web-elements/{p-3cc1072e.js → p-84109239.js} +2 -2
  121. package/dist/nylas-web-elements/{p-d16cd88b.entry.js → p-a7d2a211.entry.js} +2 -2
  122. package/dist/nylas-web-elements/{p-bea31f39.entry.js → p-a9107606.entry.js} +2 -2
  123. package/dist/nylas-web-elements/p-a9107606.entry.js.map +1 -0
  124. package/dist/nylas-web-elements/{p-a9a0dd64.entry.js → p-ab96941e.entry.js} +2 -2
  125. package/dist/nylas-web-elements/{p-6fc7d11b.entry.js → p-af94512e.entry.js} +3 -3
  126. package/dist/nylas-web-elements/{p-bfe2bdbd.js → p-b3ca5d4d.js} +2 -2
  127. package/dist/nylas-web-elements/{p-80d57b5a.entry.js → p-cd24a45e.entry.js} +2 -2
  128. package/dist/nylas-web-elements/{p-6364eb02.entry.js → p-e9369c76.entry.js} +2 -2
  129. package/dist/nylas-web-elements/{p-b2241c3c.entry.js → p-f00d1bb3.entry.js} +2 -2
  130. package/dist/nylas-web-elements/p-f73e34dd.js +14 -0
  131. package/dist/nylas-web-elements/{p-2b97a896.js.map → p-f73e34dd.js.map} +1 -1
  132. package/dist/types/common/constants.d.ts +216 -1
  133. package/dist/types/components/scheduler-editor/nylas-editor-tabs-group/nylas-editor-tabs-group.d.ts +0 -2
  134. package/dist/types/components/scheduler-editor/nylas-scheduler-editor/ExpressFlow.d.ts +1 -2
  135. package/dist/types/components/scheduler-editor/nylas-scheduler-editor/nylas-scheduler-editor.d.ts +3 -1
  136. package/dist/types/components/scheduler-editor/nylas-select-event-type/nylas-select-event-type.d.ts +2 -1
  137. package/dist/types/components.d.ts +18 -2
  138. package/dist/types/stores/scheduler-config-store.d.ts +2 -1
  139. package/package.json +1 -1
  140. package/dist/cjs/constants-3b9fb535.js.map +0 -1
  141. package/dist/cjs/utils-0dfca9ec.js.map +0 -1
  142. package/dist/esm/constants-3d8016e3.js.map +0 -1
  143. package/dist/esm/utils-6c05ecaf.js.map +0 -1
  144. package/dist/nylas-web-elements/p-2b97a896.js +0 -14
  145. package/dist/nylas-web-elements/p-35b7d082.entry.js +0 -11
  146. package/dist/nylas-web-elements/p-35b7d082.entry.js.map +0 -1
  147. package/dist/nylas-web-elements/p-6f7cb609.js +0 -2
  148. package/dist/nylas-web-elements/p-6f7cb609.js.map +0 -1
  149. package/dist/nylas-web-elements/p-bea31f39.entry.js.map +0 -1
  150. package/dist/nylas-web-elements/p-faa723fc.entry.js.map +0 -1
  151. /package/dist/nylas-web-elements/{p-865721fd.entry.js.map → p-05204c68.entry.js.map} +0 -0
  152. /package/dist/nylas-web-elements/{p-2b38054f.entry.js.map → p-0d422938.entry.js.map} +0 -0
  153. /package/dist/nylas-web-elements/{p-c59787f4.js.map → p-0d6ecada.js.map} +0 -0
  154. /package/dist/nylas-web-elements/{p-e2632a60.js.map → p-198f05a6.js.map} +0 -0
  155. /package/dist/nylas-web-elements/{p-4e1e01e4.entry.js.map → p-29f601d9.entry.js.map} +0 -0
  156. /package/dist/nylas-web-elements/{p-60b48bf7.js.map → p-3a3c5e17.js.map} +0 -0
  157. /package/dist/nylas-web-elements/{p-6bb6a0b8.entry.js.map → p-447837c2.entry.js.map} +0 -0
  158. /package/dist/nylas-web-elements/{p-3cc1072e.js.map → p-84109239.js.map} +0 -0
  159. /package/dist/nylas-web-elements/{p-d16cd88b.entry.js.map → p-a7d2a211.entry.js.map} +0 -0
  160. /package/dist/nylas-web-elements/{p-a9a0dd64.entry.js.map → p-ab96941e.entry.js.map} +0 -0
  161. /package/dist/nylas-web-elements/{p-6fc7d11b.entry.js.map → p-af94512e.entry.js.map} +0 -0
  162. /package/dist/nylas-web-elements/{p-bfe2bdbd.js.map → p-b3ca5d4d.js.map} +0 -0
  163. /package/dist/nylas-web-elements/{p-80d57b5a.entry.js.map → p-cd24a45e.entry.js.map} +0 -0
  164. /package/dist/nylas-web-elements/{p-6364eb02.entry.js.map → p-e9369c76.entry.js.map} +0 -0
  165. /package/dist/nylas-web-elements/{p-b2241c3c.entry.js.map → p-f00d1bb3.entry.js.map} +0 -0
@@ -226,7 +226,7 @@ class NylaSchedulerAPIConnector {
226
226
  async makeAPIRequest(path, method, body, headers = {}) {
227
227
  try {
228
228
  const schedulerURL = new URL(this.schedulerAPIURL);
229
- const version = "1.4.5" ;
229
+ const version = "2.0.0" ;
230
230
  schedulerURL.pathname = path;
231
231
  const response = await fetch(decodeURIComponent(schedulerURL.toString()), {
232
232
  method,
@@ -934,7 +934,7 @@ const NylasScheduling$1 = proxyCustomElement(class NylasScheduling extends HTMLE
934
934
  if (this.enableUserFeedback && !isInitialized()) {
935
935
  init({
936
936
  dsn: 'https://9d5731f1c77ca84c9ed3fb9b3ccf7ee1@o74852.ingest.us.sentry.io/4507889638178816',
937
- release: "1.4.5",
937
+ release: "2.0.0",
938
938
  integrations: integrations => [
939
939
  ...integrations.filter(_integration => false),
940
940
  feedbackSyncIntegration({
@@ -1263,7 +1263,7 @@ const NylasScheduling$1 = proxyCustomElement(class NylasScheduling extends HTMLE
1263
1263
  captureContext: {
1264
1264
  tags: {
1265
1265
  'nylas-web-element': 'nylas-scheduling',
1266
- 'nylas-web-element-version': "1.4.5",
1266
+ 'nylas-web-element-version': "2.0.0",
1267
1267
  'nylas-config-id': this.configurationId,
1268
1268
  'nylas-slug': this.slug,
1269
1269
  'host-url': window.location.href,
@@ -33,6 +33,13 @@ const NylasSelectEventType = proxyCustomElement(class NylasSelectEventType exten
33
33
  this.participantOptions = undefined;
34
34
  this.name = 'select-event-type';
35
35
  this.selectedLanguage = undefined;
36
+ this.enableEventTypes = {
37
+ one_on_one: true,
38
+ collective: true,
39
+ max_fairness: true,
40
+ max_availability: true,
41
+ group: true,
42
+ };
36
43
  }
37
44
  connectedCallback() {
38
45
  debug('nylas-select-event-type', 'connectedCallback');
@@ -57,7 +64,14 @@ const NylasSelectEventType = proxyCustomElement(class NylasSelectEventType exten
57
64
  instance.changeLanguage(newVal);
58
65
  }
59
66
  render() {
60
- const eventTypes = [
67
+ const eventTypeKey = {
68
+ 'one-on-one': 'one_on_one',
69
+ 'collective': 'collective',
70
+ 'max-fairness': 'max_fairness',
71
+ 'max-availability': 'max_availability',
72
+ 'group': 'group',
73
+ };
74
+ const allEventTypes = [
61
75
  {
62
76
  label: instance.t('nylasSelectEventType.eventTypeOptions.oneOnOne.label'),
63
77
  value: CONFIGURATION_EVENT_TYPE.one_on_one,
@@ -84,19 +98,27 @@ const NylasSelectEventType = proxyCustomElement(class NylasSelectEventType exten
84
98
  description: instance.t('nylasSelectEventType.eventTypeOptions.group.desc'),
85
99
  },
86
100
  ];
101
+ const conditionalEventTypes = [CONFIGURATION_EVENT_TYPE.collective, CONFIGURATION_EVENT_TYPE.max_availability, CONFIGURATION_EVENT_TYPE.max_fairness];
87
102
  const hasAdditionalParticipants = this.participantOptions &&
88
103
  this.participantOptions?.length > 0 &&
89
104
  !!this.participantOptions[0].email &&
90
105
  !!this.participantOptions[0].name &&
91
106
  !!this.participantOptions[0].calendars &&
92
107
  this.participantOptions[0].calendars.length > 0;
93
- const conditionalEventTypes = [CONFIGURATION_EVENT_TYPE.collective, CONFIGURATION_EVENT_TYPE.max_availability, CONFIGURATION_EVENT_TYPE.max_fairness];
94
- const defaultEventTypes = [CONFIGURATION_EVENT_TYPE.one_on_one, CONFIGURATION_EVENT_TYPE.group];
95
- return (h(Host, { key: '4cd1ea6564b67ff7547499e504214684a61350c3' }, h("div", { key: '2e591b78dcbd4e832ed63a837d0e03edde75e97c', class: "nylas-select-event-type", part: "nset" }, h("div", { key: '9b866ca6a3e3bc025ba13d8f023e825c4c042d14', class: "header", part: "nset__header" }, h("h2", { key: '0a8390189a308bb1ef7c51ca3efa0b5b8d2aa165' }, instance.t('nylasSelectEventType.createEventHeaderTitle')), h("button-component", { key: '0a7d6503aa2ea9c137aa59f4a211a88f816844cd', variant: "invisible", part: "nset__header__back-button", onClick: _event => {
108
+ const eventTypes = this.enableEventTypes
109
+ ? allEventTypes.filter(eventType => {
110
+ const key = eventType.value;
111
+ const keyType = eventTypeKey[key];
112
+ console.log('key', key, this.enableEventTypes ? this.enableEventTypes[keyType] : 'no enableEventTypes');
113
+ if (conditionalEventTypes.includes(key) && !hasAdditionalParticipants) {
114
+ return false;
115
+ }
116
+ return this.enableEventTypes && this.enableEventTypes[keyType];
117
+ })
118
+ : allEventTypes;
119
+ return (h(Host, null, h("div", { class: "nylas-select-event-type", part: "nset" }, h("div", { class: "header", part: "nset__header" }, h("h2", null, instance.t('nylasSelectEventType.createEventHeaderTitle')), h("button-component", { variant: "invisible", part: "nset__header__back-button", onClick: _event => {
96
120
  this.returnToAllSchedulingPagesEvent.emit();
97
- } }, h("chevron-icon", { key: '5a81b33f22799f77657f9a8196ec1d72e255865c', width: "16", height: "16" }), h("span", { key: 'df5b805d76b1040bacae5e68eebd2ff7a74b2810' }, instance.t('nylasSelectEventType.returnToAllSchedulingPages')))), h("div", { key: 'ff48e355eb9baac896bf6e3de2dafbfbd91f57c0', class: "content", part: "nset__content" }, h("h3", { key: 'd387519b40557886ece52327429e6e58aa133689' }, instance.t('nylasSelectEventType.eventTypeHeaderTitle')), h("div", { key: 'a3384ed668259f02114efd375cfcaad125f1efe7', class: "event-type", part: "nset__content__event-type" }, eventTypes
98
- .filter(e => defaultEventTypes.includes(e.value) || (hasAdditionalParticipants && conditionalEventTypes.includes(e.value)))
99
- .map(eventType => (h("div", { class: "event-type-option", onClick: _event => {
121
+ } }, h("chevron-icon", { width: "16", height: "16" }), h("span", null, instance.t('nylasSelectEventType.returnToAllSchedulingPages')))), h("div", { class: "content", part: "nset__content" }, h("h3", null, instance.t('nylasSelectEventType.eventTypeHeaderTitle')), h("div", { class: "event-type", part: "nset__content__event-type" }, eventTypes.length === 0 && h("p", null, instance.t('nylasSelectEventType.noEventTypesEnabled')), eventTypes.map(eventType => (h("div", { class: "event-type-option", onClick: _event => {
100
122
  this.createEventTypeSelected.emit({ eventType: eventType.value });
101
123
  }, part: `nset__content__event-type-option-${eventType.value}` }, h("h4", null, eventType.label), h("p", null, eventType.description)))))))));
102
124
  }
@@ -109,7 +131,8 @@ const NylasSelectEventType = proxyCustomElement(class NylasSelectEventType exten
109
131
  }, [1, "nylas-select-event-type", {
110
132
  "participantOptions": [16],
111
133
  "name": [1],
112
- "selectedLanguage": [1, "selected-language"]
134
+ "selectedLanguage": [1, "selected-language"],
135
+ "enableEventTypes": [16]
113
136
  }, undefined, {
114
137
  "name": ["elementNameChangedHandler"],
115
138
  "selectedLanguage": ["selectedLanguageChangedHandler"]
@@ -120,6 +143,7 @@ __decorate([
120
143
  stateToProps: new Map([
121
144
  ['schedulerConfig.selectedLanguage', 'selectedLanguage'],
122
145
  ['schedulerConfig.additionalParticipants', 'participantOptions'],
146
+ ['schedulerConfig.enableEventTypes', 'enableEventTypes'],
123
147
  ]),
124
148
  eventToProps: {
125
149
  returnToAllSchedulingPagesEvent: async (_event, connector) => {
@@ -1 +1 @@
1
- {"file":"nylas-select-event-type2.js","mappings":"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","names":["i18next"],"sources":["src/components/scheduler-editor/nylas-select-event-type/nylas-select-event-type.scss?tag=nylas-select-event-type&encapsulation=shadow","src/components/scheduler-editor/nylas-select-event-type/nylas-select-event-type.tsx"],"sourcesContent":["@import '../../../common/styles/variables.scss';\n@import '../../../common/mixins/buttons.scss';\n\n:host {\n display: block;\n @include default-css-variables;\n width: inherit;\n}\n\n.nylas-select-event-type {\n height: inherit;\n overflow-y: auto;\n\n div.header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid var(--nylas-base-200);\n\n h2 {\n font-size: 18px;\n padding: 0 24px;\n line-height: 24px;\n margin: 0;\n font-weight: 600;\n color: var(--nylas-base-800);\n }\n\n button-component {\n button {\n @include invisible-button;\n }\n }\n }\n\n div.content {\n padding: 40px;\n\n h3 {\n margin: 0 0 32px 0;\n font-size: 18px;\n line-height: 24px;\n font-weight: 600;\n }\n\n div.event-type {\n display: flex;\n flex-direction: column;\n gap: 8px;\n\n div.event-type-option {\n padding: 16px;\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-3x);\n width: inherit;\n cursor: pointer;\n display: flex;\n flex-direction: column;\n gap: 8px;\n\n h4 {\n margin: 0;\n font-size: 16px;\n line-height: 24px;\n font-weight: 600;\n color: var(--nylas-base-900);\n }\n\n p {\n margin: 0;\n font-size: 14px;\n line-height: 21px;\n font-weight: 400;\n color: var(--nylas-base-800);\n }\n }\n }\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { Component, Element, Event, EventEmitter, Host, Prop, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport i18next from '@/utils/i18n';\nimport { CONFIGURATION_EVENT_TYPE, LANGUAGE_CODE } from '@/common/constants';\nimport { AdditionalParticipant } from '@nylas/core';\n\n/**\n * The `nylas-select-event-type` component is a UI component that allows users to select the event type for the scheduler configuration.\n */\n@Component({\n tag: 'nylas-select-event-type',\n styleUrl: 'nylas-select-event-type.scss',\n shadow: true,\n})\nexport class NylasSelectEventType {\n @Element() host!: HTMLNylasSelectEventTypeElement;\n\n /**\n * @standalone\n * The participant options passed in the additionalParticipants prop\n * from the nylas-scheduler-editor component.\n */\n @Prop() participantOptions?: AdditionalParticipant[];\n\n /**\n * @standalone\n * The name of the component\n */\n @Prop() name: string = 'select-event-type';\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * This event is fired when the return to all scheduling pages button is clicked.\n */\n @Event() returnToAllSchedulingPagesEvent!: EventEmitter<void>;\n\n /**\n * This event is fired when the event type is selected.\n */\n @Event() createEventTypeSelected!: EventEmitter<{ eventType: CONFIGURATION_EVENT_TYPE }>;\n\n // Lifecycle methods\n connectedCallback() {\n debug('nylas-select-event-type', 'connectedCallback');\n }\n\n disconnectedCallback() {\n debug('nylas-select-event-type', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-select-event-type', 'componentWillLoad');\n // See comment in the @Watch('name') decorator for more information.\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-select-event-type', 'componentDidLoad');\n }\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-select-event-type', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n }\n\n @RegisterComponent<NylasSelectEventType, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-select-event-type',\n stateToProps: new Map([\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.additionalParticipants', 'participantOptions'],\n ]),\n eventToProps: {\n returnToAllSchedulingPagesEvent: async (_event: CustomEvent<void>, connector: NylasSchedulerConfigConnector) => {\n connector.schedulerConfigStore.state.action = null;\n connector.schedulerConfigStore.set('selectedEventType', undefined);\n },\n createEventTypeSelected: async (event: CustomEvent<{ eventType: CONFIGURATION_EVENT_TYPE }>, connector: NylasSchedulerConfigConnector) => {\n const { eventType } = event.detail;\n connector.schedulerConfigStore.state.action = 'create';\n connector.schedulerConfigStore.state.selectedEventType = eventType;\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n const eventTypes = [\n {\n label: i18next.t('nylasSelectEventType.eventTypeOptions.oneOnOne.label'),\n value: CONFIGURATION_EVENT_TYPE.one_on_one,\n description: i18next.t('nylasSelectEventType.eventTypeOptions.oneOnOne.desc'),\n },\n {\n label: i18next.t('nylasSelectEventType.eventTypeOptions.collective.label'),\n value: CONFIGURATION_EVENT_TYPE.collective,\n description: i18next.t('nylasSelectEventType.eventTypeOptions.collective.desc'),\n },\n {\n label: i18next.t('nylasSelectEventType.eventTypeOptions.maxFairness.label'),\n value: CONFIGURATION_EVENT_TYPE.max_fairness,\n description: i18next.t('nylasSelectEventType.eventTypeOptions.maxFairness.desc'),\n },\n {\n label: i18next.t('nylasSelectEventType.eventTypeOptions.maxAvailability.label'),\n value: CONFIGURATION_EVENT_TYPE.max_availability,\n description: i18next.t('nylasSelectEventType.eventTypeOptions.maxAvailability.desc'),\n },\n {\n label: i18next.t('nylasSelectEventType.eventTypeOptions.group.label'),\n value: CONFIGURATION_EVENT_TYPE.group,\n description: i18next.t('nylasSelectEventType.eventTypeOptions.group.desc'),\n },\n ];\n const hasAdditionalParticipants =\n this.participantOptions &&\n this.participantOptions?.length > 0 &&\n !!this.participantOptions[0].email &&\n !!this.participantOptions[0].name &&\n !!this.participantOptions[0].calendars &&\n this.participantOptions[0].calendars.length > 0;\n const conditionalEventTypes = [CONFIGURATION_EVENT_TYPE.collective, CONFIGURATION_EVENT_TYPE.max_availability, CONFIGURATION_EVENT_TYPE.max_fairness];\n const defaultEventTypes = [CONFIGURATION_EVENT_TYPE.one_on_one, CONFIGURATION_EVENT_TYPE.group];\n return (\n <Host>\n <div class=\"nylas-select-event-type\" part=\"nset\">\n <div class=\"header\" part=\"nset__header\">\n <h2>{i18next.t('nylasSelectEventType.createEventHeaderTitle')}</h2>\n <button-component\n variant=\"invisible\"\n part=\"nset__header__back-button\"\n onClick={_event => {\n this.returnToAllSchedulingPagesEvent.emit();\n }}\n >\n <chevron-icon width=\"16\" height=\"16\" />\n <span>{i18next.t('nylasSelectEventType.returnToAllSchedulingPages')}</span>\n </button-component>\n </div>\n <div class=\"content\" part=\"nset__content\">\n <h3>{i18next.t('nylasSelectEventType.eventTypeHeaderTitle')}</h3>\n <div class=\"event-type\" part=\"nset__content__event-type\">\n {eventTypes\n .filter(e => defaultEventTypes.includes(e.value) || (hasAdditionalParticipants && conditionalEventTypes.includes(e.value)))\n .map(eventType => (\n <div\n class=\"event-type-option\"\n onClick={_event => {\n this.createEventTypeSelected.emit({ eventType: eventType.value });\n }}\n part={`nset__content__event-type-option-${eventType.value}`}\n >\n <h4>{eventType.label}</h4>\n <p>{eventType.description}</p>\n </div>\n ))}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"nylas-select-event-type2.js","mappings":"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","names":["i18next"],"sources":["src/components/scheduler-editor/nylas-select-event-type/nylas-select-event-type.scss?tag=nylas-select-event-type&encapsulation=shadow","src/components/scheduler-editor/nylas-select-event-type/nylas-select-event-type.tsx"],"sourcesContent":["@import '../../../common/styles/variables.scss';\n@import '../../../common/mixins/buttons.scss';\n\n:host {\n display: block;\n @include default-css-variables;\n width: inherit;\n}\n\n.nylas-select-event-type {\n height: inherit;\n overflow-y: auto;\n\n div.header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid var(--nylas-base-200);\n\n h2 {\n font-size: 18px;\n padding: 0 24px;\n line-height: 24px;\n margin: 0;\n font-weight: 600;\n color: var(--nylas-base-800);\n }\n\n button-component {\n button {\n @include invisible-button;\n }\n }\n }\n\n div.content {\n padding: 40px;\n\n h3 {\n margin: 0 0 32px 0;\n font-size: 18px;\n line-height: 24px;\n font-weight: 600;\n }\n\n div.event-type {\n display: flex;\n flex-direction: column;\n gap: 8px;\n\n div.event-type-option {\n padding: 16px;\n border: 1px solid var(--nylas-base-200);\n border-radius: var(--nylas-border-radius-3x);\n width: inherit;\n cursor: pointer;\n display: flex;\n flex-direction: column;\n gap: 8px;\n\n h4 {\n margin: 0;\n font-size: 16px;\n line-height: 24px;\n font-weight: 600;\n color: var(--nylas-base-900);\n }\n\n p {\n margin: 0;\n font-size: 14px;\n line-height: 21px;\n font-weight: 400;\n color: var(--nylas-base-800);\n }\n }\n }\n }\n}\n","import { RegisterComponent } from '@/common/register-component';\nimport { NylasSchedulerConfigConnector } from '@/connector/nylas-scheduler-config-connector';\nimport { debug } from '@/utils/utils';\nimport { Component, Element, Event, EventEmitter, Host, Prop, Watch, h } from '@stencil/core';\nimport { NylasSchedulerEditor } from '../nylas-scheduler-editor/nylas-scheduler-editor';\nimport i18next from '@/utils/i18n';\nimport { CONFIGURATION_EVENT_TYPE, LANGUAGE_CODE } from '@/common/constants';\nimport { AdditionalParticipant, EnableEventTypes } from '@nylas/core';\n\n/**\n * The `nylas-select-event-type` component is a UI component that allows users to select the event type for the scheduler configuration.\n */\n@Component({\n tag: 'nylas-select-event-type',\n styleUrl: 'nylas-select-event-type.scss',\n shadow: true,\n})\nexport class NylasSelectEventType {\n @Element() host!: HTMLNylasSelectEventTypeElement;\n\n /**\n * @standalone\n * The participant options passed in the additionalParticipants prop\n * from the nylas-scheduler-editor component.\n */\n @Prop() participantOptions?: AdditionalParticipant[];\n\n /**\n * @standalone\n * The name of the component\n */\n @Prop() name: string = 'select-event-type';\n\n /**\n * The selected language.\n */\n @Prop() selectedLanguage?: LANGUAGE_CODE;\n\n /**\n * The enable event types.\n */\n @Prop() enableEventTypes?: EnableEventTypes = {\n one_on_one: true,\n collective: true,\n max_fairness: true,\n max_availability: true,\n group: true,\n };\n\n /**\n * This event is fired when the return to all scheduling pages button is clicked.\n */\n @Event() returnToAllSchedulingPagesEvent!: EventEmitter<void>;\n\n /**\n * This event is fired when the event type is selected.\n */\n @Event() createEventTypeSelected!: EventEmitter<{ eventType: CONFIGURATION_EVENT_TYPE }>;\n\n // Lifecycle methods\n connectedCallback() {\n debug('nylas-select-event-type', 'connectedCallback');\n }\n\n disconnectedCallback() {\n debug('nylas-select-event-type', 'disconnectedCallback');\n }\n\n componentWillLoad() {\n debug('nylas-select-event-type', 'componentWillLoad');\n // See comment in the @Watch('name') decorator for more information.\n this.host.setAttribute('name', this.name);\n }\n\n componentDidLoad() {\n debug('nylas-select-event-type', 'componentDidLoad');\n }\n\n /**\n * When a name prop is passed, stencil does not automatically set the name attribute on the host element.\n * Since this component is form-associated, the name attribute is required for form submission.\n * This is a workaround to ensure that the name attribute is set on the host element.\n */\n @Watch('name')\n elementNameChangedHandler(newValue: string) {\n debug('nylas-select-event-type', 'elementNameChangedHandler', newValue);\n this.host.setAttribute('name', newValue);\n }\n\n @Watch('selectedLanguage')\n selectedLanguageChangedHandler(newVal: LANGUAGE_CODE, oldVal: LANGUAGE_CODE) {\n if (newVal === oldVal) return;\n i18next.changeLanguage(newVal);\n }\n\n @RegisterComponent<NylasSelectEventType, NylasSchedulerConfigConnector, Exclude<NylasSchedulerEditor['stores'], undefined>>({\n name: 'nylas-select-event-type',\n stateToProps: new Map([\n ['schedulerConfig.selectedLanguage', 'selectedLanguage'],\n ['schedulerConfig.additionalParticipants', 'participantOptions'],\n ['schedulerConfig.enableEventTypes', 'enableEventTypes'],\n ]),\n eventToProps: {\n returnToAllSchedulingPagesEvent: async (_event: CustomEvent<void>, connector: NylasSchedulerConfigConnector) => {\n connector.schedulerConfigStore.state.action = null;\n connector.schedulerConfigStore.set('selectedEventType', undefined);\n },\n createEventTypeSelected: async (event: CustomEvent<{ eventType: CONFIGURATION_EVENT_TYPE }>, connector: NylasSchedulerConfigConnector) => {\n const { eventType } = event.detail;\n connector.schedulerConfigStore.state.action = 'create';\n connector.schedulerConfigStore.state.selectedEventType = eventType;\n },\n },\n fireRegisterEvent: true,\n })\n render() {\n interface EventTypeOption {\n label: string;\n value: CONFIGURATION_EVENT_TYPE;\n description: string;\n }\n\n const eventTypeKey = {\n 'one-on-one': 'one_on_one',\n 'collective': 'collective',\n 'max-fairness': 'max_fairness',\n 'max-availability': 'max_availability',\n 'group': 'group',\n };\n\n const allEventTypes: EventTypeOption[] = [\n {\n label: i18next.t('nylasSelectEventType.eventTypeOptions.oneOnOne.label'),\n value: CONFIGURATION_EVENT_TYPE.one_on_one,\n description: i18next.t('nylasSelectEventType.eventTypeOptions.oneOnOne.desc'),\n },\n {\n label: i18next.t('nylasSelectEventType.eventTypeOptions.collective.label'),\n value: CONFIGURATION_EVENT_TYPE.collective,\n description: i18next.t('nylasSelectEventType.eventTypeOptions.collective.desc'),\n },\n {\n label: i18next.t('nylasSelectEventType.eventTypeOptions.maxFairness.label'),\n value: CONFIGURATION_EVENT_TYPE.max_fairness,\n description: i18next.t('nylasSelectEventType.eventTypeOptions.maxFairness.desc'),\n },\n {\n label: i18next.t('nylasSelectEventType.eventTypeOptions.maxAvailability.label'),\n value: CONFIGURATION_EVENT_TYPE.max_availability,\n description: i18next.t('nylasSelectEventType.eventTypeOptions.maxAvailability.desc'),\n },\n {\n label: i18next.t('nylasSelectEventType.eventTypeOptions.group.label'),\n value: CONFIGURATION_EVENT_TYPE.group,\n description: i18next.t('nylasSelectEventType.eventTypeOptions.group.desc'),\n },\n ];\n const conditionalEventTypes = [CONFIGURATION_EVENT_TYPE.collective, CONFIGURATION_EVENT_TYPE.max_availability, CONFIGURATION_EVENT_TYPE.max_fairness];\n const hasAdditionalParticipants =\n this.participantOptions &&\n this.participantOptions?.length > 0 &&\n !!this.participantOptions[0].email &&\n !!this.participantOptions[0].name &&\n !!this.participantOptions[0].calendars &&\n this.participantOptions[0].calendars.length > 0;\n\n const eventTypes = this.enableEventTypes\n ? allEventTypes.filter(eventType => {\n const key = eventType.value;\n const keyType = eventTypeKey[key];\n console.log('key', key, this.enableEventTypes ? this.enableEventTypes[keyType] : 'no enableEventTypes');\n if (conditionalEventTypes.includes(key) && !hasAdditionalParticipants) {\n return false;\n }\n return this.enableEventTypes && this.enableEventTypes[keyType];\n })\n : allEventTypes;\n return (\n <Host>\n <div class=\"nylas-select-event-type\" part=\"nset\">\n <div class=\"header\" part=\"nset__header\">\n <h2>{i18next.t('nylasSelectEventType.createEventHeaderTitle')}</h2>\n <button-component\n variant=\"invisible\"\n part=\"nset__header__back-button\"\n onClick={_event => {\n this.returnToAllSchedulingPagesEvent.emit();\n }}\n >\n <chevron-icon width=\"16\" height=\"16\" />\n <span>{i18next.t('nylasSelectEventType.returnToAllSchedulingPages')}</span>\n </button-component>\n </div>\n <div class=\"content\" part=\"nset__content\">\n <h3>{i18next.t('nylasSelectEventType.eventTypeHeaderTitle')}</h3>\n <div class=\"event-type\" part=\"nset__content__event-type\">\n {eventTypes.length === 0 && <p>{i18next.t('nylasSelectEventType.noEventTypesEnabled')}</p>}\n {eventTypes.map(eventType => (\n <div\n class=\"event-type-option\"\n onClick={_event => {\n this.createEventTypeSelected.emit({ eventType: eventType.value });\n }}\n part={`nset__content__event-type-option-${eventType.value}`}\n >\n <h4>{eventType.label}</h4>\n <p>{eventType.description}</p>\n </div>\n ))}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -150,7 +150,7 @@ const NylasTimeslotInterval = proxyCustomElement(class NylasTimeslotInterval ext
150
150
  ? intervalPreferenceOptions[0]
151
151
  : intervalPreferenceOptions.find(op => op.value == this.selectedInterval.toString()) ?? intervalPreferenceOptions[0]
152
152
  : undefined;
153
- return (h(Host, { key: 'ebcd942ae5ea4d5554d75f6a6b852fa9fceec2d5' }, h("div", { key: '2deef2c1f43d10e2933922822c443db9ce66524c', class: "nylas-timeslot-interval", part: "nti" }, h("div", { key: 'c23c2c9d36b284777d2dd626ed3d8f6d3ff852ae', class: "header", part: "nti__header" }, h("h3", { key: 'fd91593ab8990f1102f0a30cc6ca7534d2f22263' }, instance.t('nylasTimeslotInterval.headerTitle'))), h("div", { key: 'a7d3228854d00f97c804084d01a5db799c7ae4c0', class: "nylas-timeslot-interval__dropdown" }, h("span", { key: 'fb1249f674a32250c89fb626521ecaf5cd6bee2c', class: "label", part: "nti__input-label" }, instance.t('nylasTimeslotInterval.timeslotInterval.label')), defaultSelectedInterval?.label && (h("select-dropdown", { name: "interval-minutes", options: intervalPreferenceOptions, withSearch: false, exportparts: "sd_dropdown: nti__dropdown, sd_dropdown-button: nti__dropdown-button, sd_dropdown-content: nti__dropdown-content", defaultSelectedOption: defaultSelectedInterval })), h("span", { key: 'ba8e1488a672f7ca42b7858c70450e540bc6ed80', slot: "label", class: "label", part: "nti__input-label" }, instance.t('nylasTimeslotInterval.timeslotRounding.label'), h("tooltip-component", { key: '838f35198b817a1a68472bd4fdc4f1d3fbcf1507' }, h("info-icon", { key: 'beecaae34fd7b52fe5c59e272b4201ad1cbd025e', slot: "tooltip-icon" }), h("span", { key: '9ac586565a85c7be0d81ee1f68331ffc45081452', slot: "tooltip-content" }, instance.t('nylasTimeslotInterval.timeslotRounding.tooltip.desc')))), this.componentLoaded && (h("radio-button-group", { name: "interval-preference", defaultSelectedValue: this.selectedRoundTo ? 'rounding' : 'no-rounding', options: [
153
+ return (h(Host, { key: 'a2922db89671698745b040e04ed4ade53cb97856' }, h("div", { key: '6123febcf83c4f4a6735f704852a0b49ef86b8ae', class: "nylas-timeslot-interval", part: "nti" }, h("div", { key: '28ae252bbb1c197cb2af8c2404868de4eefc3755', class: "header", part: "nti__header" }, h("h3", { key: 'a0fa4565865befb21c24b19b0d6a3d35a2438e6a' }, instance.t('nylasTimeslotInterval.headerTitle'))), h("div", { key: '9afa7b8311718c155c5a67484f75be07ea1a499c', class: "nylas-timeslot-interval__dropdown" }, h("span", { key: '27de62640dc1d5eb143f0b3c2638974e863e7052', class: "label", part: "nti__input-label" }, instance.t('nylasTimeslotInterval.timeslotInterval.label')), defaultSelectedInterval?.label && (h("select-dropdown", { name: "interval-minutes", options: intervalPreferenceOptions, withSearch: false, exportparts: "sd_dropdown: nti__dropdown, sd_dropdown-button: nti__dropdown-button, sd_dropdown-content: nti__dropdown-content", defaultSelectedOption: defaultSelectedInterval })), h("span", { key: '8221c77ef67c8186ce9f32ebf548c49938e2e2e1', slot: "label", class: "label", part: "nti__input-label" }, instance.t('nylasTimeslotInterval.timeslotRounding.label'), h("tooltip-component", { key: '75dc83d75698277295628af454b6129a135c8545' }, h("info-icon", { key: '7a8bd15f2d3579e854af3dadfcf93d2bc2142afb', slot: "tooltip-icon" }), h("span", { key: '0518fc031ef327b8d590e6b29cabdfcfbc473d50', slot: "tooltip-content" }, instance.t('nylasTimeslotInterval.timeslotRounding.tooltip.desc')))), this.componentLoaded && (h("radio-button-group", { name: "interval-preference", defaultSelectedValue: this.selectedRoundTo ? 'rounding' : 'no-rounding', options: [
154
154
  {
155
155
  value: 'no-rounding',
156
156
  label: instance.t('nylasTimeslotInterval.timeslotRoundingOptions.noRounding.label'),
@@ -8303,6 +8303,7 @@ const nylasSelectEventType$8 = {
8303
8303
  returnToAllSchedulingPages: "Return to all scheduling pages",
8304
8304
  createEventHeaderTitle: "Create an event",
8305
8305
  eventTypeHeaderTitle: "Event type",
8306
+ noEventTypesEnabled: "No event types enabled",
8306
8307
  eventTypeOptions: {
8307
8308
  oneOnOne: {
8308
8309
  label: "1:1",
@@ -9248,6 +9249,7 @@ const nylasSelectEventType$7 = {
9248
9249
  returnToAllSchedulingPages: "Retour à toutes les pages de planification",
9249
9250
  createEventHeaderTitle: "Créer un événement",
9250
9251
  eventTypeHeaderTitle: "Type d'événement",
9252
+ noEventTypesEnabled: "Aucun type d'événement activé",
9251
9253
  eventTypeOptions: {
9252
9254
  oneOnOne: {
9253
9255
  label: "1:1",
@@ -10193,6 +10195,7 @@ const nylasSelectEventType$6 = {
10193
10195
  returnToAllSchedulingPages: "Volver a todas las páginas de programación",
10194
10196
  createEventHeaderTitle: "Crear un evento",
10195
10197
  eventTypeHeaderTitle: "Tipo de evento",
10198
+ noEventTypesEnabled: "No hay tipos de evento habilitados",
10196
10199
  eventTypeOptions: {
10197
10200
  oneOnOne: {
10198
10201
  label: "1:1",
@@ -11138,6 +11141,7 @@ const nylasSelectEventType$5 = {
11138
11141
  returnToAllSchedulingPages: "すべてのスケジュールページに戻る",
11139
11142
  createEventHeaderTitle: "イベントを作成する",
11140
11143
  eventTypeHeaderTitle: "イベントの種類",
11144
+ noEventTypesEnabled: "イベントの種類が有効化されていません",
11141
11145
  eventTypeOptions: {
11142
11146
  oneOnOne: {
11143
11147
  label: "1:1",
@@ -12083,6 +12087,7 @@ const nylasSelectEventType$4 = {
12083
12087
  returnToAllSchedulingPages: "Zurück zur Planungsseite",
12084
12088
  createEventHeaderTitle: "Ereignis erstellen",
12085
12089
  eventTypeHeaderTitle: "Ereignisart",
12090
+ noEventTypesEnabled: "Keine Ereignisarten aktiviert",
12086
12091
  eventTypeOptions: {
12087
12092
  oneOnOne: {
12088
12093
  label: "1:1",
@@ -13026,6 +13031,7 @@ const nylasSelectEventType$3 = {
13026
13031
  returnToAllSchedulingPages: "Tillbaka till alla schemaläggningssidor",
13027
13032
  createEventHeaderTitle: "Skapa ett evenemang",
13028
13033
  eventTypeHeaderTitle: "Evenemangstyp",
13034
+ noEventTypesEnabled: "Inga evenemangstyper aktiverade",
13029
13035
  eventTypeOptions: {
13030
13036
  oneOnOne: {
13031
13037
  label: "1:1",
@@ -13967,6 +13973,7 @@ const nylasSelectEventType$2 = {
13967
13973
  returnToAllSchedulingPages: "返回所有日程安排页面",
13968
13974
  createEventHeaderTitle: "创建活动",
13969
13975
  eventTypeHeaderTitle: "活动类型",
13976
+ noEventTypesEnabled: "没有活动类型启用",
13970
13977
  eventTypeOptions: {
13971
13978
  oneOnOne: {
13972
13979
  label: "1:1",
@@ -14908,6 +14915,7 @@ const nylasSelectEventType$1 = {
14908
14915
  returnToAllSchedulingPages: "Terug naar alle planningspagina's",
14909
14916
  createEventHeaderTitle: "Evenement maken",
14910
14917
  eventTypeHeaderTitle: "Evenementtype",
14918
+ noEventTypesEnabled: "Geen evenementtypen ingeschakeld",
14911
14919
  eventTypeOptions: {
14912
14920
  oneOnOne: {
14913
14921
  label: "1:1",
@@ -15849,6 +15857,7 @@ const nylasSelectEventType = {
15849
15857
  returnToAllSchedulingPages: "모든 스케줄링 페이지로 돌아가기",
15850
15858
  createEventHeaderTitle: "이벤트 만들기",
15851
15859
  eventTypeHeaderTitle: "이벤트 유형",
15860
+ noEventTypesEnabled: "이벤트 유형이 활성화되지 않았습니다.",
15852
15861
  eventTypeOptions: {
15853
15862
  oneOnOne: {
15854
15863
  label: "1:1",