@nylas/react 1.1.0-canary.9 → 1.1.1

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 (154) hide show
  1. package/README.md +110 -2
  2. package/dist/add-circle-icon_2.entry-b14ecb5c.js +25 -0
  3. package/dist/add-circle-icon_2.entry-c6211866.cjs +1 -0
  4. package/dist/archive-icon_7.entry-3fe7721a.js +75 -0
  5. package/dist/archive-icon_7.entry-54fc1f03.cjs +1 -0
  6. package/dist/arrow-icon.entry-1dfee3bc.cjs +1 -0
  7. package/dist/arrow-icon.entry-cc936041.js +15 -0
  8. package/dist/bold-icon_3.entry-4b9de887.cjs +1 -0
  9. package/dist/bold-icon_3.entry-e2a1d434.js +35 -0
  10. package/dist/button-component_2.entry-3639ade6.js +26 -0
  11. package/dist/button-component_2.entry-5666fdfa.cjs +1 -0
  12. package/dist/calendar-agenda-fill-icon_48.entry-56e364cd.js +5256 -0
  13. package/dist/calendar-agenda-fill-icon_48.entry-bf278e34.cjs +7 -0
  14. package/dist/calendar-cancel-icon.entry-ac1cb5dd.cjs +1 -0
  15. package/dist/calendar-cancel-icon.entry-dcd777cd.js +15 -0
  16. package/dist/calendar-check-icon_2.entry-6330bd2d.js +25 -0
  17. package/dist/calendar-check-icon_2.entry-7ad1b2a0.cjs +1 -0
  18. package/dist/calendar-icon.entry-5849a547.cjs +1 -0
  19. package/dist/calendar-icon.entry-8559fa0d.js +15 -0
  20. package/dist/checkbox-component_2.entry-1474c465.js +79 -0
  21. package/dist/checkbox-component_2.entry-6cf5da6b.cjs +1 -0
  22. package/dist/chevron-icon_3.entry-41170718.cjs +1 -0
  23. package/dist/chevron-icon_3.entry-cb757aa3.js +132 -0
  24. package/dist/clock-icon_4.entry-36a33de5.cjs +1 -0
  25. package/dist/clock-icon_4.entry-642f4dc6.js +45 -0
  26. package/dist/constants-50c3e067-4e027da4.cjs +15 -0
  27. package/dist/constants-50c3e067-83f1d865.js +3883 -0
  28. package/dist/copy-icon.entry-60740516.js +15 -0
  29. package/dist/copy-icon.entry-fb63cf53.cjs +1 -0
  30. package/dist/core-js-38e53e34.cjs +4 -0
  31. package/dist/core-js-a9d3b6e1.js +3297 -0
  32. package/dist/delete-icon_2.entry-45851bc5.js +25 -0
  33. package/dist/delete-icon_2.entry-d1af0606.cjs +1 -0
  34. package/dist/document-refresh-icon.entry-1731d4d9.cjs +1 -0
  35. package/dist/document-refresh-icon.entry-5db0830a.js +15 -0
  36. package/dist/dom-68f08be9.cjs +15 -0
  37. package/dist/dom-86e17616.js +664 -0
  38. package/dist/{types/elements → elements}/index.d.ts +48 -1
  39. package/dist/elements-dc5b338e-3099ee02.js +28031 -0
  40. package/dist/elements-dc5b338e-ab9afb63.cjs +16516 -0
  41. package/dist/flow-40ff9cea-6f8c30e2.cjs +9 -0
  42. package/dist/flow-40ff9cea-ee70fdf5.js +505 -0
  43. package/dist/focus-visible-e8093c16-067a8f23.js +84 -0
  44. package/dist/focus-visible-e8093c16-811f50fa.cjs +1 -0
  45. package/dist/forward-icon_6.entry-4e9c9686.cjs +3 -0
  46. package/dist/forward-icon_6.entry-e7c5fa46.js +953 -0
  47. package/dist/globe-icon.entry-74f79652.cjs +1 -0
  48. package/dist/globe-icon.entry-aa3f3ea3.js +15 -0
  49. package/dist/google-logo-icon_4.entry-0332a181.cjs +1 -0
  50. package/dist/google-logo-icon_4.entry-3fe41d69.js +673 -0
  51. package/dist/index-2a53b6a8.cjs +82 -0
  52. package/dist/index-a134f625.js +12842 -0
  53. package/dist/index.es-79f5b771-64a1baf0.cjs +7 -0
  54. package/dist/index.es-79f5b771-ce07d6fc.js +3135 -0
  55. package/dist/info-icon_2.entry-a3f40027.cjs +1 -0
  56. package/dist/info-icon_2.entry-fed731f4.js +34 -0
  57. package/dist/input-color-picker.entry-37826630.js +48 -0
  58. package/dist/input-color-picker.entry-cbdce7a1.cjs +1 -0
  59. package/dist/input-component.entry-b83b7103.js +70 -0
  60. package/dist/input-component.entry-e71b7062.cjs +1 -0
  61. package/dist/input-dropdown.entry-150819cd.cjs +1 -0
  62. package/dist/input-dropdown.entry-db0dae5f.js +134 -0
  63. package/dist/mailbox-store-9c52a3fa-04f22f60.cjs +1 -0
  64. package/dist/mailbox-store-9c52a3fa-80fe343c.js +380 -0
  65. package/dist/multi-select-dropdown.entry-629329d7.cjs +1 -0
  66. package/dist/multi-select-dropdown.entry-6b429b39.js +95 -0
  67. package/dist/nylas-booked-event-card_12.entry-660af56a.cjs +1 -0
  68. package/dist/nylas-booked-event-card_12.entry-c22c02b4.js +1133 -0
  69. package/dist/nylas-form-card.entry-2ced5eef.cjs +1 -0
  70. package/dist/nylas-form-card.entry-f3d6a1e4.js +57 -0
  71. package/dist/nylas-if-state.entry-55c32c0c.cjs +1 -0
  72. package/dist/nylas-if-state.entry-862ad978.js +94 -0
  73. package/dist/nylas-list-folders.entry-544fd38d.js +120 -0
  74. package/dist/nylas-list-folders.entry-77e936f7.cjs +1 -0
  75. package/dist/nylas-list-threads.entry-71411da7.js +70 -0
  76. package/dist/nylas-list-threads.entry-82e04782.cjs +1 -0
  77. package/dist/nylas-login.entry-3ccc2bef.cjs +1 -0
  78. package/dist/nylas-login.entry-48179c01.js +73 -0
  79. package/dist/nylas-mailbox-pagination.entry-77cf03b5.js +101 -0
  80. package/dist/nylas-mailbox-pagination.entry-d31f9aa4.cjs +1 -0
  81. package/dist/nylas-mailbox-toolbar-button.entry-33aad610.cjs +1 -0
  82. package/dist/nylas-mailbox-toolbar-button.entry-40e3c373.js +82 -0
  83. package/dist/nylas-mailbox.entry-963de1c3.cjs +1 -0
  84. package/dist/nylas-mailbox.entry-f4066fb2.js +134 -0
  85. package/dist/nylas-provider.entry-08767da3.cjs +1 -0
  86. package/dist/nylas-provider.entry-c61428b1.js +145 -0
  87. package/dist/nylas-reminder-emails.entry-cd8e1d2e.js +129 -0
  88. package/dist/nylas-reminder-emails.entry-d42a7f1d.cjs +4 -0
  89. package/dist/nylas-reminder-time_2.entry-d7115393.js +105 -0
  90. package/dist/nylas-reminder-time_2.entry-e5540fdd.cjs +1 -0
  91. package/dist/nylas-scheduler-editor.entry-65eb4938.js +1447 -0
  92. package/dist/nylas-scheduler-editor.entry-67904653.cjs +2 -0
  93. package/dist/nylas-scheduling.entry-50e41d85.cjs +1 -0
  94. package/dist/nylas-scheduling.entry-7aad4f63.js +345 -0
  95. package/dist/nylas-threads-refresh.entry-1b8befab.cjs +1 -0
  96. package/dist/nylas-threads-refresh.entry-d025575a.js +74 -0
  97. package/dist/nylas-threads-search.entry-78c06183.cjs +1 -0
  98. package/dist/nylas-threads-search.entry-a254c36e.js +69 -0
  99. package/dist/nylas-time-window-picker.entry-30baeb50.cjs +1 -0
  100. package/dist/nylas-time-window-picker.entry-89c15823.js +316 -0
  101. package/dist/nylas-view-thread.entry-939a4561.cjs +1 -0
  102. package/dist/nylas-view-thread.entry-c8d56573.js +203 -0
  103. package/dist/person-icon.entry-5ab75598.cjs +1 -0
  104. package/dist/person-icon.entry-8aef4041.js +15 -0
  105. package/dist/play-icon_2.entry-392ad303.cjs +1 -0
  106. package/dist/play-icon_2.entry-4b068c1b.js +25 -0
  107. package/dist/react.cjs +1 -0
  108. package/dist/react.js +145 -0
  109. package/dist/refresh-icon.entry-9ea254c9.cjs +1 -0
  110. package/dist/refresh-icon.entry-a754a2b5.js +15 -0
  111. package/dist/register-component-ea95564d-ab3d630f.cjs +1 -0
  112. package/dist/register-component-ea95564d-e19ec159.js +109 -0
  113. package/dist/scheduler-config-store-2a3b403d-4e10b542.cjs +1 -0
  114. package/dist/scheduler-config-store-2a3b403d-581c70cf.js +27 -0
  115. package/dist/scheduler-store-9ff4914b-6e28240e.cjs +1 -0
  116. package/dist/scheduler-store-9ff4914b-b71a0aca.js +474 -0
  117. package/dist/textarea-component.entry-70bb02bf.cjs +1 -0
  118. package/dist/textarea-component.entry-a5daab6c.js +37 -0
  119. package/dist/time-period-selector.entry-25348de7.js +80 -0
  120. package/dist/time-period-selector.entry-6306e456.cjs +1 -0
  121. package/dist/translate-icon.entry-785fa109.cjs +1 -0
  122. package/dist/translate-icon.entry-b6094ecc.js +15 -0
  123. package/dist/warning-icon.entry-4b400ee2.js +15 -0
  124. package/dist/warning-icon.entry-94e34c58.cjs +1 -0
  125. package/package.json +12 -8
  126. package/dist/elements/index.js +0 -92
  127. package/dist/elements/index.js.map +0 -1
  128. package/dist/elements/react-component-lib/createComponent.js +0 -65
  129. package/dist/elements/react-component-lib/createComponent.js.map +0 -1
  130. package/dist/elements/react-component-lib/createOverlayComponent.js +0 -98
  131. package/dist/elements/react-component-lib/createOverlayComponent.js.map +0 -1
  132. package/dist/elements/react-component-lib/index.js +0 -3
  133. package/dist/elements/react-component-lib/index.js.map +0 -1
  134. package/dist/elements/react-component-lib/interfaces.js +0 -2
  135. package/dist/elements/react-component-lib/interfaces.js.map +0 -1
  136. package/dist/elements/react-component-lib/utils/attachProps.js +0 -92
  137. package/dist/elements/react-component-lib/utils/attachProps.js.map +0 -1
  138. package/dist/elements/react-component-lib/utils/case.js +0 -7
  139. package/dist/elements/react-component-lib/utils/case.js.map +0 -1
  140. package/dist/elements/react-component-lib/utils/dev.js +0 -13
  141. package/dist/elements/react-component-lib/utils/dev.js.map +0 -1
  142. package/dist/elements/react-component-lib/utils/index.js +0 -31
  143. package/dist/elements/react-component-lib/utils/index.js.map +0 -1
  144. package/dist/index.js +0 -29
  145. package/dist/index.js.map +0 -1
  146. /package/dist/{types/elements → elements}/react-component-lib/createComponent.d.ts +0 -0
  147. /package/dist/{types/elements → elements}/react-component-lib/createOverlayComponent.d.ts +0 -0
  148. /package/dist/{types/elements → elements}/react-component-lib/index.d.ts +0 -0
  149. /package/dist/{types/elements → elements}/react-component-lib/interfaces.d.ts +0 -0
  150. /package/dist/{types/elements → elements}/react-component-lib/utils/attachProps.d.ts +0 -0
  151. /package/dist/{types/elements → elements}/react-component-lib/utils/case.d.ts +0 -0
  152. /package/dist/{types/elements → elements}/react-component-lib/utils/dev.d.ts +0 -0
  153. /package/dist/{types/elements → elements}/react-component-lib/utils/index.d.ts +0 -0
  154. /package/dist/{types/index.d.ts → index.d.ts} +0 -0
@@ -0,0 +1,673 @@
1
+ import { r as Z, h as e, c as S, d as u, A as Ot, C as q, H as Lt, g as Tt, F as Nt } from "./index-a134f625.js";
2
+ import { R as Ft } from "./register-component-ea95564d-e19ec159.js";
3
+ import { D as St } from "./constants-50c3e067-83f1d865.js";
4
+ import "react";
5
+ import "react-dom";
6
+ const Dt = ".sc-google-logo-icon-h{display:flex}", Rt = Dt, zt = class {
7
+ constructor(t) {
8
+ Z(this, t), this.width = "24", this.height = "24";
9
+ }
10
+ render() {
11
+ return e("svg", { key: "de9cae8990d7d127aa9fdd595dec79e80c79a84d", width: this.width, height: this.height, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, e("g", { key: "58338fde3c58a0b0c4d0df6ebb92f387eeba3a29", "clip-path": "url(#clip0_959_12452)" }, e("path", { key: "5eff0b6de57b59c3b3bec455ef60294c135fd001", d: "M23.745 12.27C23.745 11.48 23.675 10.73 23.555 10H12.255V14.51H18.725C18.435 15.99 17.585 17.24 16.325 18.09V21.09H20.185C22.445 19 23.745 15.92 23.745 12.27Z", fill: "#4285F4" }), e("path", { key: "136b3c676f5f96bffb54d7ca2487b3c303835787", d: "M12.255 24C15.495 24 18.205 22.92 20.185 21.09L16.325 18.09C15.245 18.81 13.875 19.25 12.255 19.25C9.12504 19.25 6.47505 17.14 5.52505 14.29H1.54504V17.38C3.51504 21.3 7.56504 24 12.255 24Z", fill: "#34A853" }), e("path", { key: "d60273905016ff4377bcbc31775b28b39cce2b0e", d: "M5.52501 14.2901C5.27501 13.5701 5.145 12.8001 5.145 12.0001C5.145 11.2001 5.28501 10.4301 5.52501 9.71012V6.62012H1.545C0.725004 8.24012 0.255005 10.0601 0.255005 12.0001C0.255005 13.9401 0.725004 15.7601 1.545 17.3801L5.52501 14.2901Z", fill: "#FBBC05" }), e("path", { key: "e6e1d4406f2b76b934a5d35c9840ad3fb2a1fed0", d: "M12.255 4.75C14.025 4.75 15.605 5.36 16.855 6.55L20.275 3.13C18.205 1.19 15.495 0 12.255 0C7.56504 0 3.51504 2.7 1.54504 6.62L5.52505 9.71C6.47505 6.86 9.12504 4.75 12.255 4.75Z", fill: "#EA4335" })), e("defs", { key: "1c29b130c1afb95fec41a1bbb20988423982ee0c" }, e("clipPath", { key: "9aefb74a952ab05e9493b2b5a0b6b838311f066e", id: "clip0_959_12452" }, e("rect", { key: "c3c6ed00b1ef66992016c15520abdd4691ca21bf", width: 24, height: 24, fill: "white" }))));
12
+ }
13
+ };
14
+ zt.style = Rt;
15
+ const It = ".sc-microsoft-logo-icon-h{display:flex}", At = It, Mt = class {
16
+ constructor(t) {
17
+ Z(this, t), this.width = "22", this.height = "22";
18
+ }
19
+ render() {
20
+ return e("svg", { key: "20d8f297cf0cc69b7c398b6d0c24ca60a5c67109", width: this.width, height: this.height, viewBox: "0 0 22 22", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, e("path", { key: "dc420eb9c73909acfc6731606b24d015a600f34e", d: "M0.043457 0.043457H10.4782V10.4782H0.043457V0.043457Z", fill: "#F35325" }), e("path", { key: "d22732be730bc90dcd3b415b9e5bba8de185ad87", d: "M11.5217 0.043457H21.9565V10.4782H11.5217V0.043457Z", fill: "#81BC06" }), e("path", { key: "8c8bff7ba92cad76967ccf67c7b3435d07193091", d: "M0.043457 11.5217H10.4782V21.9565H0.043457V11.5217Z", fill: "#05A6F0" }), e("path", { key: "51d0a3be2495c599aee6062c51fb4bd531fd4b5c", d: "M11.5217 11.5217H21.9565V21.9565H11.5217V11.5217Z", fill: "#FFBA08" }));
21
+ }
22
+ };
23
+ Mt.style = At;
24
+ var o;
25
+ (function(t) {
26
+ t.EventInfo = "eventInfo", t.Availability = "availability", t.BookingOptions = "bookingOptions", t.Communications = "communications", t.Participants = "participants", t.BookingForm = "bookingForm", t.PageStyles = "pageStyles";
27
+ })(o || (o = {}));
28
+ function Ut({ id: t, formState: a, activeTab: i }, s) {
29
+ return e(
30
+ Nt,
31
+ null,
32
+ e(
33
+ "div",
34
+ { key: `event-info-${t}`, class: { hide: i !== o.EventInfo } },
35
+ e(
36
+ "nylas-event-info",
37
+ null,
38
+ e(
39
+ "div",
40
+ { slot: "inputs" },
41
+ e("nylas-event-title", { name: "title", exportparts: "net, net__title, net__dropdown-content" }),
42
+ e("nylas-event-duration", { name: "duration", exportparts: "ned, ned__dropdown, ned__dropdown-button, ned__dropdown-content, ned__input_dropdown, ned__input_dropdown-input, ned__input_dropdown-content" }),
43
+ e("nylas-event-location", { name: "location", exportparts: "nel, nel__location, nel__dropdown, nel__dropdown-button, nel__dropdown-content" }),
44
+ e("nylas-event-description", { name: "description", exportparts: "nedesc, nedesc__textarea" })
45
+ )
46
+ )
47
+ ),
48
+ e(
49
+ "div",
50
+ { key: `availability-${t}`, class: { hide: i !== o.Availability } },
51
+ e("nylas-participant-booking-calendars", { participants: a.participants, name: "participant-booking-calendars" }),
52
+ e("nylas-connected-calendars", { participants: a.participants, name: "connected-calendars" }),
53
+ e("nylas-availability-picker", { name: "availability", exportparts: "nap__header, nap__select-timezone, nap__select-timezone-button, nap__select-timezone-dropdown-content, nap__availability, nap__day, nap__time-ranges, nap__time-range, nap__add-time-range, nap__time-picker-container, nap__time-picker-input, nap__time-picker-times" })
54
+ ),
55
+ e(
56
+ "div",
57
+ { key: `booking-options-${t}`, class: { hide: i !== o.BookingOptions } },
58
+ e("nylas-scheduling-method", { name: "availability-method", readOnly: !0, exportparts: "nsm, nsm__header, nsm__input-label, nsm__dropdown, nsm__dropdown-button, nsm__dropdown-content" }),
59
+ e(
60
+ "nylas-custom-booking-flow",
61
+ null,
62
+ e(
63
+ "div",
64
+ { slot: "inputs" },
65
+ e("nylas-booking-confirmation-type", { name: "confirmation-type", exportparts: "nbct, nbct__header, nbct__dropdown, nbct__dropdown-button, nbct__dropdown-content" }),
66
+ e("nylas-booking-confirmation-redirect", { name: "confirmation-redirect", exportparts: "nbcr, nbcr__header, nbcr__dropdown, nbcr__dropdown-button, nbcr__dropdown-content, nbcr__input-textfield" })
67
+ )
68
+ ),
69
+ e("nylas-buffer-time", { name: "buffer-time", exportparts: "nbt, nbt__header, nbt__body, nbt__dropdown-before, nbt__dropdown-button-before, nbt__dropdown-content-before, nbt__dropdown-after, nbt__dropdown-button-after, nbt__dropdown-content-after, nbt__preview" }),
70
+ e(
71
+ "nylas-event-limits",
72
+ null,
73
+ e(
74
+ "div",
75
+ { slot: "inputs" },
76
+ e("nylas-min-booking-notice", { name: "min-booking-notice", exportparts: "nmbn, nmbn__number-dropdown, nmbn__number-dropdown-button, nmbn__number-dropdown-content, nmbn__period-dropdown, nmbn__period-dropdown-button, nmbn__period-dropdown-content" }),
77
+ e("nylas-limit-future-bookings", { name: "limit-future-bookings", exportparts: "nlfb, nlfb__number-dropdown, nlfb__number-dropdown-button, nlfb__number-dropdown-content, nlfb__period-dropdown, nlfb__period-dropdown-button, nlfb__period-dropdown-content" }),
78
+ e("nylas-min-cancellation-notice", { name: "min-cancellation-notice", exportparts: "nmcn, nmcn__number-dropdown, nmcn__number-dropdown-button, nmcn__number-dropdown-content, nmcn__period-dropdown, nmcn__period-dropdown-button, nmcn__period-dropdown-content" }),
79
+ e("nylas-cancellation-policy", { name: "cancellation-policy", exportparts: "ncpolicy, ncpolicy__textarea" })
80
+ )
81
+ ),
82
+ e("nylas-timeslot-interval", { name: "timeslot-interval", exportparts: "nti, nti__header, nti__input-label, nti__dropdown, nti__dropdown-button, nti__dropdown-content" }),
83
+ e("nylas-customize-booking-settings", { name: "customize-booking-settings", exportparts: "ncbs, ncbs__header, ncbs__settings, ncbs__settings-div, ncbs__additional_guests, ncbs__cancellation_options, ncbs__rescheduling_options" })
84
+ ),
85
+ e(
86
+ "div",
87
+ { key: `communications-${t}`, class: { hide: i !== o.Communications } },
88
+ e(
89
+ "div",
90
+ { class: "tab-header" },
91
+ e("h3", null, "Event communications"),
92
+ e("p", null, "Set up automatic confirmation emails.")
93
+ ),
94
+ e("nylas-confirmation-email", { name: "confirmation-email-template", exportparts: "nce, nce__tab-heading, nce__header, nce__body, nce__confirmation-email-toggle--container, nce__summary, nce__reminder-input_dropdown, nce__reminder-input_dropdown-input, nce__reminder-input_dropdown-content" })
95
+ ),
96
+ e(
97
+ "div",
98
+ { key: `participants-${t}`, class: { hide: i !== o.Participants } },
99
+ e("nylas-additional-participants", { name: "participants", exportparts: "nap__title, nap__subtitle, nap__content, nap__input_group, nap__input_wrapper, nap__input, nap__remove-participant" }),
100
+ e("nylas-participants-custom-availability", { participants: a.participants, name: "participant-custom-availability", exportparts: "npca, npca__header, npca__content, npca__participant-container, npca__participant-title, npca__participant-toggle--container, npca__toggle-label, npca__toggle-input, npca__toggle-slider" })
101
+ ),
102
+ e(
103
+ "div",
104
+ { key: `page-styles-${t}`, class: { hide: i !== o.PageStyles } },
105
+ e("nylas-custom-event-slug", { name: "custom-event-slug", exportparts: "nces, nces__body, nces__header, nces__drawer-toggle--container, nces__input-textfield" }),
106
+ e("nylas-page-name", { name: "page-name", exportparts: "npn, npn__body, npn__header, npn__drawer-toggle--container, npn__input-textfield" }),
107
+ e("nylas-page-styling", { name: "page-styling", exportparts: "nps, nps__header, nps__drawer-toggle--container, nps__body, nps__title-input-textfield, nps__company-logo-input-textfield, nps__color-picker, nps__color-picker-button, nps__color-picker-button-label, nps__color-picker-selected-label, nps__submit-button-label-input-textfield, nps__message-textarea" }, s)
108
+ ),
109
+ e(
110
+ "div",
111
+ { key: `booking-form-${t}`, class: { hide: i !== o.BookingForm } },
112
+ e("nylas-booking-form-config", { name: "additional-fields" })
113
+ )
114
+ );
115
+ }
116
+ const $t = '.sc-nylas-editor-tabs-h{display:block;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}.scheduler-editor.sc-nylas-editor-tabs{display:flex;flex-direction:column;height:inherit}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs{height:calc(100% - 80px);display:grid;grid-template-columns:minmax(224px, 25%) 1fr}@media screen and (max-width: 768px){.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs{display:table-column-group;height:auto}}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tabs.sc-nylas-editor-tabs{display:flex;flex-direction:column;border-right:1px solid var(--nylas-base-200);background-color:var(--nylas-base-25)}@media screen and (max-width: 768px){.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tabs.sc-nylas-editor-tabs{border-right:none}}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tabs.sc-nylas-editor-tabs .tab.sc-nylas-editor-tabs{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 1rem;color:var(--nylas-base-900);background:var(--nylas-base-0);border:none;height:56px;font-family:var(--nylas-font-family);font-size:16px;font-weight:500;line-height:24px;cursor:pointer}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tabs.sc-nylas-editor-tabs .tab.sc-nylas-editor-tabs:not(:first-of-type){margin-top:0.25rem}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tabs.sc-nylas-editor-tabs .tab.sc-nylas-editor-tabs:last-of-type{margin-bottom:0.25rem}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tabs.sc-nylas-editor-tabs .tab.active.sc-nylas-editor-tabs{font-weight:600;background:var(--nylas-base-0);color:var(--nylas-primary);border-left:4px solid var(--nylas-primary);box-shadow:0px 1px 2px 0px rgba(0, 0, 0, 0.0588235294);box-shadow:0px 1px 3px 0px rgba(0, 0, 0, 0.1019607843)}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tabs.sc-nylas-editor-tabs .tab.hide.sc-nylas-editor-tabs{display:none}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tab-content.sc-nylas-editor-tabs{max-width:692px;overflow-y:auto;overflow-x:hidden}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tab-content.sc-nylas-editor-tabs .hide.sc-nylas-editor-tabs{display:none}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tab-content.sc-nylas-editor-tabs nylas-event-info.sc-nylas-editor-tabs,.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tab-content.sc-nylas-editor-tabs nylas-event-limits.sc-nylas-editor-tabs{width:inherit}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tab-content.sc-nylas-editor-tabs nylas-event-info.sc-nylas-editor-tabs div[slot=inputs].sc-nylas-editor-tabs,.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tab-content.sc-nylas-editor-tabs nylas-event-limits.sc-nylas-editor-tabs div[slot=inputs].sc-nylas-editor-tabs{display:flex;flex-direction:column;gap:1rem}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tab-content.sc-nylas-editor-tabs .tab-header.sc-nylas-editor-tabs{display:flex;flex-direction:column;margin:1rem 1rem 0.5rem;row-gap:4px}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tab-content.sc-nylas-editor-tabs .tab-header.sc-nylas-editor-tabs h3.sc-nylas-editor-tabs{margin:0;font-size:1rem;font-weight:600;line-height:20px;color:var(--nylas-base-900);text-align:left}.scheduler-editor.sc-nylas-editor-tabs .form-contents.sc-nylas-editor-tabs .tab-content.sc-nylas-editor-tabs .tab-header.sc-nylas-editor-tabs p.sc-nylas-editor-tabs{margin:0;font-size:0.875rem;font-weight:400;line-height:20px;color:var(--nylas-base-600);text-align:left}.footer.sc-nylas-editor-tabs{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:80px;padding:0 1rem;border-top:1px solid var(--nylas-base-200)}@media screen and (max-width: 768px){.footer.sc-nylas-editor-tabs{flex-direction:column;height:auto}}@media screen and (max-width: 768px){.footer.sc-nylas-editor-tabs .preview.sc-nylas-editor-tabs{margin-top:1rem;width:100%}}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs{display:flex;justify-content:flex-end;align-items:center;justify-self:flex-end;gap:1rem}@media screen and (max-width: 768px){.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs{flex-direction:column-reverse;width:100%}}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs p.sc-nylas-editor-tabs{max-width:524px}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs p.unsaved-changes.sc-nylas-editor-tabs{color:var(--nylas-base-600)}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs p.saved-changes.sc-nylas-editor-tabs{color:var(--nylas-success)}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs p.error.sc-nylas-editor-tabs{color:var(--nylas-error)}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs p.error-full-width.sc-nylas-editor-tabs{max-width:660px}@media screen and (max-width: 768px){.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs button-component.sc-nylas-editor-tabs{width:100%}}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs button.sc-nylas-editor-tabs{background:var(--nylas-primary);color:var(--nylas-base-0);height:48px;border:none;border-radius:var(--nylas-border-radius-2x);font-size:1rem;line-height:24px;padding:0 1rem;cursor:pointer;width:148px}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs button.sc-nylas-editor-tabs:hover{background:var(--nylas-base-600)}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs button.sc-nylas-editor-tabs:active{background:var(--nylas-base-800)}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs button.sc-nylas-editor-tabs:disabled{background:var(--nylas-base-300);cursor:not-allowed}.footer.sc-nylas-editor-tabs .buttons.sc-nylas-editor-tabs button.sc-nylas-editor-tabs span.sc-nylas-editor-tabs{display:flex;align-items:center;justify-content:center;gap:0.5rem}', jt = $t;
117
+ var Jt = function(t, a, i, s) {
118
+ var l = arguments.length, n = l < 3 ? a : s === null ? s = Object.getOwnPropertyDescriptor(a, i) : s, c;
119
+ if (typeof Reflect == "object" && typeof Reflect.decorate == "function")
120
+ n = Reflect.decorate(t, a, i, s);
121
+ else
122
+ for (var d = t.length - 1; d >= 0; d--)
123
+ (c = t[d]) && (n = (l < 3 ? c(n) : l > 3 ? c(a, i, n) : c(a, i)) || n);
124
+ return l > 3 && n && Object.defineProperty(a, i, n), n;
125
+ }, G = function(t, a) {
126
+ if (typeof Reflect == "object" && typeof Reflect.metadata == "function")
127
+ return Reflect.metadata(t, a);
128
+ };
129
+ const Pt = class {
130
+ constructor(t) {
131
+ Z(this, t), this.schedulerConfigChanged = S(this, "schedulerConfigChanged", 7), this.cancelButtonClick = S(this, "cancelButtonClick", 7), this.formSubmitted = S(this, "formSubmitted", 7), this.previewButtonClicked = S(this, "previewButtonClicked", 7), this.schedulerEditorFormUpdated = S(this, "schedulerEditorFormUpdated", 7), this.setError = (a) => {
132
+ this.error = a.message;
133
+ }, this.formSubmissionHandler = async (a) => {
134
+ var K, Q, X, Y, tt, et, at, it, nt, st, ot, rt, lt, dt, ct, bt;
135
+ a.preventDefault();
136
+ const i = await this.formSubmitted.emit();
137
+ if (u("[nylas-editor-tabs]", "formSubmissionHandler", i), !this.formRef.checkValidity() || i.defaultPrevented) {
138
+ this.error = this.formRef.validationMessage || "Please fix the form errors.";
139
+ return;
140
+ }
141
+ this.isLoading = !0, this.hasUnsavedChanges = !1;
142
+ const l = this.updateFormState(), { title: n, description: c, duration: d, availability: h, bookingCalendar: f, location: L, bookingType: g, buffer: T, availableDaysInFuture: B, minCancellationNotice: H, minBookingNotice: O, cancellationPolicy: N, timeslotInterval: k, additionalGuestsHidden: D, hideCancellationOptions: R, hideReschedulingOptions: z, participants: w, participantOpenHours: p, additionalFields: I, participantCalendars: y, conferencing: A, participantBookingCalendars: m, reminders: M, emailTemplate: U, redirectUrl: $, availabilityMethod: F, slug: j, appearance: J, name: V } = l, b = ((Q = (K = this.selectedConfiguration) == null ? void 0 : K.participants) == null ? void 0 : Q.find((r) => r.is_organizer)) || (w == null ? void 0 : w.find((r) => r.is_organizer)), C = y && (b != null && b.email) ? y[b == null ? void 0 : b.email] : [], _ = ((X = b == null ? void 0 : b.booking) == null ? void 0 : X.calendar_id) || f, v = d ? parseInt(d) : 30, x = w && (w == null ? void 0 : w.length) > 0 ? w : [
143
+ {
144
+ name: (b == null ? void 0 : b.name) ?? ((Y = this.currentUser) == null ? void 0 : Y.name) ?? "",
145
+ email: (b == null ? void 0 : b.email) ?? ((tt = this.currentUser) == null ? void 0 : tt.email) ?? "",
146
+ is_organizer: !0,
147
+ timezone: (h == null ? void 0 : h.timezone) ?? Intl.DateTimeFormat().resolvedOptions().timeZone,
148
+ availability: {
149
+ calendar_ids: C.length ? C : ["primary"],
150
+ open_hours: []
151
+ },
152
+ booking: {
153
+ calendar_id: f && f !== "" ? f : "primary"
154
+ }
155
+ }
156
+ ], P = {
157
+ ...((et = this.selectedConfiguration) == null ? void 0 : et.id) && { id: this.selectedConfiguration.id },
158
+ version: ((at = this.selectedConfiguration) == null ? void 0 : at.version) ?? "1.0.0",
159
+ slug: j,
160
+ name: V,
161
+ availability: {
162
+ duration_minutes: v,
163
+ interval_minutes: (k == null ? void 0 : k.interval) ?? v,
164
+ round_to: k == null ? void 0 : k.roundTo,
165
+ availability_rules: {
166
+ availability_method: F || (((st = (nt = (it = this.selectedConfiguration) == null ? void 0 : it.availability) == null ? void 0 : nt.availability_rules) == null ? void 0 : st.availability_method) ?? "collective"),
167
+ buffer: T || { before: 0, after: 0 },
168
+ default_open_hours: (h == null ? void 0 : h.openHours) ?? ((lt = (rt = (ot = this.selectedConfiguration) == null ? void 0 : ot.availability) == null ? void 0 : rt.availability_rules) == null ? void 0 : lt.default_open_hours) ?? St,
169
+ round_robin_group_id: ((bt = (ct = (dt = this.selectedConfiguration) == null ? void 0 : dt.availability) == null ? void 0 : ct.availability_rules) == null ? void 0 : bt.round_robin_group_id) ?? ""
170
+ }
171
+ },
172
+ participants: [
173
+ ...x == null ? void 0 : x.map((r) => {
174
+ var ht, ut, pt, mt, yt, ft, gt, _t, vt, wt, kt, Ct, xt;
175
+ return r.is_organizer ? {
176
+ name: r.name ?? "",
177
+ email: r.email,
178
+ is_organizer: !0,
179
+ timezone: ((ut = (ht = p == null ? void 0 : p[r.email]) == null ? void 0 : ht[0]) == null ? void 0 : ut.timezone) ?? ((yt = (mt = (pt = r.availability) == null ? void 0 : pt.open_hours) == null ? void 0 : mt[0]) == null ? void 0 : yt.timezone) ?? Intl.DateTimeFormat().resolvedOptions().timeZone,
180
+ availability: {
181
+ calendar_ids: y != null && y[r.email] ? y == null ? void 0 : y[r.email] : C != null && C.length ? C : ["primary"],
182
+ open_hours: (p == null ? void 0 : p[r.email]) ?? ((ft = r.availability) == null ? void 0 : ft.open_hours) ?? []
183
+ },
184
+ booking: {
185
+ calendar_id: m != null && m[r.email] ? m == null ? void 0 : m[r.email] : _ || "primary"
186
+ }
187
+ } : {
188
+ ...r,
189
+ timezone: ((_t = (gt = p == null ? void 0 : p[r.email]) == null ? void 0 : gt[0]) == null ? void 0 : _t.timezone) ?? ((kt = (wt = (vt = r.availability) == null ? void 0 : vt.open_hours) == null ? void 0 : wt[0]) == null ? void 0 : kt.timezone) ?? Intl.DateTimeFormat().resolvedOptions().timeZone,
190
+ availability: r.availability ? {
191
+ calendar_ids: (y == null ? void 0 : y[r.email]) ?? ((Ct = r.availability) == null ? void 0 : Ct.calendar_ids) ?? ["primary"],
192
+ open_hours: (p == null ? void 0 : p[r.email]) ?? ((xt = r.availability) == null ? void 0 : xt.open_hours) ?? []
193
+ } : void 0,
194
+ booking: m != null && m[r.email] ? { calendar_id: m == null ? void 0 : m[r.email] } : (r == null ? void 0 : r.booking) ?? void 0
195
+ };
196
+ })
197
+ ],
198
+ event_booking: {
199
+ title: (n == null ? void 0 : n.toString()) ?? "",
200
+ description: (c == null ? void 0 : c.toString()) ?? "",
201
+ location: (L == null ? void 0 : L.toString()) ?? "",
202
+ booking_type: (g == null ? void 0 : g.toString()) ?? "booking",
203
+ timezone: (h == null ? void 0 : h.timezone) ?? Intl.DateTimeFormat().resolvedOptions().timeZone,
204
+ conferencing: A,
205
+ reminders: M
206
+ },
207
+ scheduler: {
208
+ cancellation_policy: N ?? "",
209
+ available_days_in_future: B ?? 30,
210
+ min_cancellation_notice: H ?? 0,
211
+ min_booking_notice: O ?? 60,
212
+ hide_additional_guests: D ?? !1,
213
+ hide_cancellation_options: R ?? !1,
214
+ hide_rescheduling_options: z ?? !1,
215
+ additional_fields: I,
216
+ email_template: U,
217
+ confirmation_redirect_url: $
218
+ },
219
+ appearance: J
220
+ }, Bt = Ot(P, this.selectedConfiguration), E = this.action === "create" ? Bt : P;
221
+ this.isConfigRoundRobin(E) && (E.participants = E.participants.map((r) => ({ ...r, is_organizer: void 0 })));
222
+ const Ht = (r) => {
223
+ this.isLoading = !1, this.changesSaved = !0, setTimeout(() => {
224
+ this.changesSaved = !1;
225
+ }, 5e3);
226
+ };
227
+ this.checkForClientSideErrors(E) || this.schedulerConfigChanged.emit({ config: E, resetLoadingState: Ht, setError: this.setError, action: this.action });
228
+ }, this.isConfigRoundRobin = (a) => {
229
+ var i, s, l, n;
230
+ return ((s = (i = a.availability) == null ? void 0 : i.availability_rules) == null ? void 0 : s.availability_method) === "max-availability" || ((n = (l = a.availability) == null ? void 0 : l.availability_rules) == null ? void 0 : n.availability_method) === "max-fairness";
231
+ }, this.checkForClientSideErrors = (a) => {
232
+ var d, h, f;
233
+ let i = !1, s = "";
234
+ const l = (d = a.scheduler) == null ? void 0 : d.additional_fields, n = ((h = a.event_booking) == null ? void 0 : h.booking_type) === "organizer-confirmation", c = (f = a.scheduler) == null ? void 0 : f.organizer_confirmation_url;
235
+ return l && (s = "Booking form error: ", Object.entries(l).forEach((L) => {
236
+ const g = L[1];
237
+ if (g.label === "") {
238
+ s += `Label is required for field of type ${g.type}.`, i = !0;
239
+ return;
240
+ }
241
+ if (g.options) {
242
+ for (const T of g.options)
243
+ if (T === "") {
244
+ s += `Empty option detected inside ${g.label} of type ${g.type}.`, i = !0;
245
+ break;
246
+ }
247
+ }
248
+ })), n && !c && (s += "Organizer confirmation URL is required when using organizer confirmation booking type.", i = !0), i && (this.isLoading = !1, this.setError(new Error(s))), i;
249
+ }, this.calendars = void 0, this.selectedConfiguration = void 0, this.currentUser = void 0, this.schedulerPreviewLink = "", this.mode = "app", this.hideEditorTabs = [], this.action = "create", this.activeTab = o.EventInfo, this.isLoading = !1, this.hasUnsavedChanges = !1, this.changesSaved = !1, this.formState = {}, this.error = "";
250
+ }
251
+ configChangedHandler(t) {
252
+ u("[nylas-editor-tabs]", "configChangedHandler", t, this.selectedConfiguration), this.formState = {
253
+ ...this.getFormStateFromConfig(t)
254
+ }, t != null && t.id ? this.action = "edit" : this.action = "create";
255
+ }
256
+ userChangedHandler(t) {
257
+ u("[nylas-editor-tabs]", "userChangedHandler", t), t && (this.formState = {
258
+ ...this.getFormStateFromConfig(this.selectedConfiguration)
259
+ });
260
+ }
261
+ connectedCallback() {
262
+ u("[nylas-editor-tabs]", "connectedCallback");
263
+ }
264
+ componentWillLoad() {
265
+ u("[nylas-editor-tabs]", "componentWillLoad"), this.formState = this.getFormStateFromConfig(this.selectedConfiguration);
266
+ }
267
+ componentDidLoad() {
268
+ var a, i;
269
+ u("[nylas-editor-tabs]", "componentDidLoad"), (a = this.selectedConfiguration) != null && a.id && this.configChangedHandler(this.selectedConfiguration);
270
+ const t = (i = this.host.querySelector("button.tab:not(.hide)")) == null ? void 0 : i.name;
271
+ t && (this.activeTab = t);
272
+ }
273
+ disconnectedCallback() {
274
+ u("[nylas-editor-tabs]", "disconnectedCallback");
275
+ }
276
+ handleValueChanged(t) {
277
+ u("[nylas-editor-tabs]", "handleValueChanged", t);
278
+ const { name: a, value: i } = t.detail;
279
+ this.setFormState(i, a), this.formState = { ...this.formState }, this.hasUnsavedChanges = !0, this.error = "", this.schedulerEditorFormUpdated.emit({
280
+ value: t.detail.value,
281
+ name: t.detail.name
282
+ });
283
+ }
284
+ getFormStateFromConfig(t) {
285
+ var i, s, l, n, c, d, h, f, L, g, T, B, H, O, N, k, D, R, z, w, p, I, y, A, m, M, U, $, F, j, J, V, b, C;
286
+ let a = (i = t == null ? void 0 : t.participants) == null ? void 0 : i.find((_) => _.is_organizer);
287
+ return !a && ((l = (s = t == null ? void 0 : t.availability) == null ? void 0 : s.availability_rules) == null ? void 0 : l.availability_method) !== "collective" && (a = (n = t == null ? void 0 : t.participants) == null ? void 0 : n.find((_) => {
288
+ var v;
289
+ return _.email === ((v = this.currentUser) == null ? void 0 : v.email);
290
+ }), a && (a.is_organizer = !0)), t != null && t.appearance && console.info("Appearance settings have been returned from the given configuration; please remember to grab them from the configSettingsLoaded event and apply them as desired."), {
291
+ title: ((c = t == null ? void 0 : t.event_booking) == null ? void 0 : c.title) ?? "",
292
+ description: ((d = t == null ? void 0 : t.event_booking) == null ? void 0 : d.description) ?? "",
293
+ duration: ((f = (h = t == null ? void 0 : t.availability) == null ? void 0 : h.duration_minutes) == null ? void 0 : f.toString()) ?? "30",
294
+ availability: {
295
+ timezone: ((L = t == null ? void 0 : t.event_booking) == null ? void 0 : L.timezone) ?? Intl.DateTimeFormat().resolvedOptions().timeZone,
296
+ openHours: ((T = (g = t == null ? void 0 : t.availability) == null ? void 0 : g.availability_rules) == null ? void 0 : T.default_open_hours) ?? St
297
+ },
298
+ additionalFields: ((B = t == null ? void 0 : t.scheduler) == null ? void 0 : B.additional_fields) ?? {},
299
+ conferencing: ((H = t == null ? void 0 : t.event_booking) == null ? void 0 : H.conferencing) ?? {},
300
+ calendarIds: ((O = a == null ? void 0 : a.availability) == null ? void 0 : O.calendar_ids) ?? [],
301
+ participants: (t == null ? void 0 : t.participants) ?? [],
302
+ bookingCalendar: ((N = a == null ? void 0 : a.booking) == null ? void 0 : N.calendar_id) ?? (a == null ? void 0 : a.email) ?? "",
303
+ location: ((k = t == null ? void 0 : t.event_booking) == null ? void 0 : k.location) ?? "",
304
+ bookingType: ((D = t == null ? void 0 : t.event_booking) == null ? void 0 : D.booking_type) ?? "booking",
305
+ buffer: ((z = (R = t == null ? void 0 : t.availability) == null ? void 0 : R.availability_rules) == null ? void 0 : z.buffer) ?? { before: 0, after: 0 },
306
+ cancellationPolicy: ((w = t == null ? void 0 : t.scheduler) == null ? void 0 : w.cancellation_policy) ?? "",
307
+ availableDaysInFuture: ((p = t == null ? void 0 : t.scheduler) == null ? void 0 : p.available_days_in_future) ?? 30,
308
+ minCancellationNotice: ((I = t == null ? void 0 : t.scheduler) == null ? void 0 : I.min_cancellation_notice) ?? 0,
309
+ minBookingNotice: ((y = t == null ? void 0 : t.scheduler) == null ? void 0 : y.min_booking_notice) ?? 60,
310
+ timeslotInterval: {
311
+ interval: ((A = t == null ? void 0 : t.availability) == null ? void 0 : A.interval_minutes) ?? ((m = t == null ? void 0 : t.availability) == null ? void 0 : m.duration_minutes),
312
+ roundTo: (M = t == null ? void 0 : t.availability) == null ? void 0 : M.round_to
313
+ },
314
+ additionalGuestsHidden: ((U = t == null ? void 0 : t.scheduler) == null ? void 0 : U.hide_additional_guests) ?? !1,
315
+ hideCancellationOptions: (($ = t == null ? void 0 : t.scheduler) == null ? void 0 : $.hide_cancellation_options) ?? !1,
316
+ hideReschedulingOptions: ((F = t == null ? void 0 : t.scheduler) == null ? void 0 : F.hide_rescheduling_options) ?? !1,
317
+ participantBookingCalendars: ((j = t == null ? void 0 : t.participants) == null ? void 0 : j.reduce((_, v) => {
318
+ var x, P;
319
+ return (x = v.booking) != null && x.calendar_id && (_[v.email] = (P = v.booking) == null ? void 0 : P.calendar_id), _;
320
+ })) ?? {},
321
+ participantCalendars: ((J = t == null ? void 0 : t.participants) == null ? void 0 : J.reduce((_, v) => {
322
+ var x;
323
+ return _[v.email] = (x = v.availability) == null ? void 0 : x.calendar_ids, _;
324
+ }, {})) ?? {},
325
+ reminders: (V = t == null ? void 0 : t.event_booking) == null ? void 0 : V.reminders,
326
+ emailTemplate: (b = t == null ? void 0 : t.scheduler) == null ? void 0 : b.email_template,
327
+ redirectUrl: (C = t == null ? void 0 : t.scheduler) == null ? void 0 : C.confirmation_redirect_url,
328
+ slug: t == null ? void 0 : t.slug,
329
+ appearance: t == null ? void 0 : t.appearance,
330
+ name: t == null ? void 0 : t.name
331
+ };
332
+ }
333
+ setFormState(t, a) {
334
+ switch (a) {
335
+ case "title":
336
+ this.formState.title = t.toString();
337
+ break;
338
+ case "description":
339
+ this.formState.description = t.toString();
340
+ break;
341
+ case "duration":
342
+ this.formState.duration = t.toString();
343
+ break;
344
+ case "availability":
345
+ this.formState.availability = JSON.parse(t.toString());
346
+ break;
347
+ case "participants":
348
+ this.formState.participants = JSON.parse(t.toString());
349
+ break;
350
+ case "booking-calendar":
351
+ this.formState.bookingCalendar = t.toString();
352
+ break;
353
+ case "participant-booking-calendars":
354
+ this.formState.participantBookingCalendars = JSON.parse(t.toString());
355
+ break;
356
+ case "location":
357
+ this.formState.location = t.toString();
358
+ break;
359
+ case "conference":
360
+ this.formState.conferencing = JSON.parse(t.toString());
361
+ break;
362
+ case "confirmation-type":
363
+ this.formState.bookingType = t.toString();
364
+ break;
365
+ case "buffer-time":
366
+ this.formState.buffer = JSON.parse(t.toString());
367
+ break;
368
+ case "limit-future-bookings":
369
+ this.formState.availableDaysInFuture = parseInt(t.toString());
370
+ break;
371
+ case "min-cancellation-notice":
372
+ this.formState.minCancellationNotice = parseInt(t.toString());
373
+ break;
374
+ case "min-booking-notice":
375
+ this.formState.minBookingNotice = parseInt(t.toString());
376
+ break;
377
+ case "cancellation-policy":
378
+ this.formState.cancellationPolicy = t.toString();
379
+ break;
380
+ case "timeslot-interval":
381
+ this.formState.timeslotInterval = JSON.parse(t.toString());
382
+ break;
383
+ case "customize-booking-settings":
384
+ const i = JSON.parse(t.toString());
385
+ this.formState.additionalGuestsHidden = i.additionalGuestsHidden, this.formState.hideCancellationOptions = i.hideCancellationOptions, this.formState.hideReschedulingOptions = i.hideReschedulingOptions;
386
+ break;
387
+ case "participant-custom-availability":
388
+ const s = JSON.parse(t.toString());
389
+ this.formState.participantOpenHours = s;
390
+ break;
391
+ case "additional-fields":
392
+ this.formState.additionalFields = t;
393
+ break;
394
+ case "connected-calendars":
395
+ this.formState.participantCalendars = JSON.parse(t.toString());
396
+ break;
397
+ case "confirmation-email-template":
398
+ this.formState.emailTemplate = JSON.parse(t.toString());
399
+ break;
400
+ case "reminder-overrides":
401
+ this.formState.reminders = { overrides: JSON.parse(t.toString()) };
402
+ break;
403
+ case "confirmation-redirect":
404
+ this.formState.redirectUrl = t.toString();
405
+ break;
406
+ case "availability-method":
407
+ this.formState.availabilityMethod = t.toString();
408
+ break;
409
+ case "custom-event-slug":
410
+ this.formState.slug = JSON.parse(t.toString());
411
+ break;
412
+ case "page-styling":
413
+ this.formState.appearance = JSON.parse(t.toString());
414
+ break;
415
+ case "page-name":
416
+ this.formState.name = JSON.parse(t.toString());
417
+ break;
418
+ }
419
+ this.schedulerEditorFormUpdated.emit({
420
+ value: t,
421
+ name: a
422
+ });
423
+ }
424
+ updateFormState() {
425
+ return new FormData(this.formRef).forEach((a, i) => {
426
+ this.setFormState(a, i);
427
+ }), this.formState = { ...this.formState }, this.formState;
428
+ }
429
+ setActiveTab(t, a) {
430
+ t.preventDefault(), this.updateFormState(), this.activeTab = a;
431
+ }
432
+ hideTab(t) {
433
+ var a;
434
+ return ((a = this.hideEditorTabs) == null ? void 0 : a.includes(t)) || !1;
435
+ }
436
+ render() {
437
+ var t, a;
438
+ return u("[nylas-editor-tabs]", "render", this.formState), e(Lt, { key: "93cdc21573797891ba852a7bfcff35b053982a0b" }, e("form", { key: "899b797e84cbd0064a59d20bca3ffc4a8aed688c", onSubmit: this.formSubmissionHandler, class: "scheduler-editor", ref: (i) => this.formRef = i, noValidate: !0 }, this.mode === "app" ? e("div", { class: "form-contents" }, e("div", { class: "tabs" }, e("button", { name: o.EventInfo, class: { tab: !0, active: this.activeTab == o.EventInfo, hide: this.hideTab(o.EventInfo) }, part: "editortab__event-info", onClick: (i) => this.setActiveTab(i, o.EventInfo) }, e("calendar-info-icon", { width: "16", height: "16" }), "Event info"), e("button", { name: o.Availability, class: { tab: !0, active: this.activeTab == o.Availability, hide: this.hideTab(o.Availability) }, part: "editortab__availability", onClick: (i) => this.setActiveTab(i, o.Availability) }, e("calendar-patterns-icon", { width: "16", height: "16" }), "Availability"), e("button", { name: o.Participants, class: { tab: !0, active: this.activeTab == o.Participants, hide: this.hideTab(o.Participants) }, part: "editortab__participants", onClick: (i) => this.setActiveTab(i, o.Participants) }, e("people-icon", { width: "16", height: "16" }), "Participants"), e("button", { name: o.BookingOptions, class: { tab: !0, active: this.activeTab == o.BookingOptions, hide: this.hideTab(o.BookingOptions) }, part: "editortab__booking-options", onClick: (i) => this.setActiveTab(i, o.BookingOptions) }, e("flow-icon", { width: "16", height: "16" }), "Booking options"), e("button", { name: o.BookingForm, class: { tab: !0, active: this.activeTab == "bookingForm", hide: this.hideTab(o.BookingForm) }, part: "editortab__booking-form", onClick: (i) => this.setActiveTab(i, o.BookingForm) }, this.activeTab == o.BookingForm ? e("calendar-agenda-fill-icon", { width: "16", height: "16" }) : e("calendar-agenda-icon", { width: "16", height: "16" }), "Booking form"), e("button", { name: o.Communications, class: { tab: !0, active: this.activeTab == "communications", hide: this.hideTab(o.Communications) }, onClick: (i) => this.setActiveTab(i, o.Communications) }, this.activeTab == o.Communications ? e("envelope-fill-icon", { width: "16", height: "16" }) : e("envelope-icon", { width: "16", height: "16" }), "Communications"), e("button", { name: o.PageStyles, class: { tab: !0, active: this.activeTab == "pageStyles", hide: this.hideTab(o.PageStyles) }, onClick: (i) => this.setActiveTab(i, o.PageStyles) }, this.activeTab == o.PageStyles ? e("paintbrush-fill-icon", { width: "16", height: "16" }) : e("paintbrush-icon", { width: "16", height: "16" }), "Page styles")), e("div", { class: "tab-content" }, e(Ut, { formState: this.formState, activeTab: this.activeTab, currentUser: this.currentUser, calendars: this.calendars, id: ((t = this.selectedConfiguration) == null ? void 0 : t.id) ?? "new" }))) : e("div", { class: "composable", key: (a = this.selectedConfiguration) == null ? void 0 : a.id }, e("slot", null)), e("div", { key: "70e7fc71286d9674cd2fd5327ef2c33222a17c65", class: "footer", part: "editor__footer" }, e("div", { key: "ee62868db743fadd7d5323cffd00498a3c12fb68", class: "preview", part: "editor__footer-preview" }, this.schedulerPreviewLink !== "" && this.action === "edit" && e("button-component", { type: "button", disabled: this.isLoading, clickHandler: (i) => {
439
+ i.preventDefault(), this.previewButtonClicked.emit(this.host).defaultPrevented || window.open(q(this.schedulerPreviewLink, this.selectedConfiguration), "_blank");
440
+ }, variant: "basic" }, "Preview")), e("div", { key: "6d2945eddb509a13948de8419171da2078df9bd5", class: "buttons", part: "editor__footer-buttons" }, e("p", { key: "3605d668cf634bfdf8ed2a7aa2525c3acd4c0099", class: {
441
+ "unsaved-changes": this.hasUnsavedChanges && !this.changesSaved,
442
+ "saved-changes": this.changesSaved,
443
+ error: this.error !== "",
444
+ "error-full-width": this.error !== "" && this.action === "create"
445
+ } }, this.error !== "" ? this.error : "", this.error == "" && this.hasUnsavedChanges && !this.changesSaved ? "Unsaved changes" : this.error == "" && this.changesSaved ? "Changes saved!" : ""), e("button-component", { key: "226a96b3b7d1f6a41c4b66c025c500d7e930db78", type: "button", disabled: this.isLoading, clickHandler: (i) => {
446
+ i.preventDefault(), this.cancelButtonClick.emit(), this.error = "";
447
+ }, variant: "basic", part: "editor__footer-cancel" }, "Back"), e("button-component", { key: "a1a556eb5c15a8d958af4498cd86321d2a20b30a", type: "submit", disabled: this.isLoading, part: "editor__footer-cta" }, this.isLoading ? e("span", null, "Saving", e("loading-icon", null), " ") : this.action === "create" ? "Create" : "Save changes")))));
448
+ }
449
+ get host() {
450
+ return Tt(this);
451
+ }
452
+ static get watchers() {
453
+ return {
454
+ selectedConfiguration: ["configChangedHandler"],
455
+ currentUser: ["userChangedHandler"]
456
+ };
457
+ }
458
+ };
459
+ Jt([
460
+ Ft({
461
+ name: "nylas-editor-tabs",
462
+ stateToProps: /* @__PURE__ */ new Map([
463
+ ["schedulerConfig.calendars", "calendars"],
464
+ ["schedulerConfig.selectedConfiguration", "selectedConfiguration"],
465
+ ["schedulerConfig.currentUser", "currentUser"],
466
+ ["schedulerConfig.hideEditorTabs", "hideEditorTabs"]
467
+ ]),
468
+ eventToProps: {
469
+ schedulerConfigChanged: async (t, a) => {
470
+ const { resetLoadingState: i, setError: s, action: l, config: n } = t.detail, c = (d) => {
471
+ const [h, f] = d;
472
+ !h && f && s && s(f), i && i(t);
473
+ };
474
+ if (l === "edit") {
475
+ const d = await a.schedulerConfig.updateConfiguration(n);
476
+ c(d);
477
+ } else {
478
+ const d = await a.schedulerConfig.createConfiguration(n);
479
+ c(d);
480
+ }
481
+ },
482
+ cancelButtonClick: async (t, a) => {
483
+ a.schedulerConfigStore.state.action = null;
484
+ },
485
+ previewButtonClicked: async (t, a) => {
486
+ u("[nylas-editor-tabs]", "previewButtonClicked", a);
487
+ },
488
+ formSubmitted: async (t, a) => {
489
+ u("[nylas-editor-tabs]", "formSubmitted", a);
490
+ },
491
+ schedulerEditorFormUpdated: async (t, a) => {
492
+ u("[nylas-editor-tabs]", "schedulerEditorFormUpdated", t);
493
+ }
494
+ },
495
+ localPropsToProp: /* @__PURE__ */ new Map([["schedulerPreviewLink", "schedulerPreviewLink"]]),
496
+ fireRegisterEvent: !0
497
+ }),
498
+ G("design:type", Function),
499
+ G("design:paramtypes", []),
500
+ G("design:returntype", void 0)
501
+ ], Pt.prototype, "render", null);
502
+ Pt.style = jt;
503
+ const Vt = ':host{display:grid;grid-auto-flow:row;width:100%;font-family:inherit;font-optical-sizing:auto;--nylas-primary:#2563eb;--nylas-error:#cc4841;--nylas-error-pressed:#992222;--nylas-wraning:#f06c00;--nylas-success:#16a392;--nylas-info:#2b8fc2;--nylas-base-0:#ffffff;--nylas-base-25:#fcfcfd;--nylas-base-50:#f8f9fc;--nylas-base-100:#eaecf5;--nylas-base-200:#d5d9eb;--nylas-base-300:#b3b8d8;--nylas-base-400:#717bbc;--nylas-base-500:#4e5ba6;--nylas-base-600:#3e4784;--nylas-base-700:#263f72;--nylas-base-800:#293056;--nylas-base-900:#101323;--nylas-base-950:#0e101b;--nylas-border-radius:0.25rem;--nylas-border-radius-2x:0.5rem;--nylas-border-radius-3x:0.75rem;--nylas-font-family:"Inter", sans-serif}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:1rem}@media screen and (max-width: 768px){.header{flex-direction:column;gap:0.5rem;align-items:unset}}.header h2{margin:0;font-size:1.25rem;color:var(--nylas-base-900);font-weight:600}.header p{margin:0;font-size:1rem;color:var(--nylas-base-700)}.header .actions{justify-self:end}@media screen and (max-width: 768px){.header .actions{width:100%}}.configurations{border:1px solid var(--nylas-base-200);border-radius:var(--nylas-border-radius-2x);background:var(--nylas-base-0);height:100%;display:flex;flex-direction:column;position:relative;overflow-y:hidden}.configurations .table-container{overflow-y:auto;flex:1}.configurations .table-container table{width:100%;border-spacing:0;border-collapse:collapse;font-family:inherit;height:max-content}.configurations .table-container table.no-configurations{height:100%}.configurations .table-container table tr{color:var(--nylas-base-800);border-bottom:1px solid var(--nylas-base-200);font-family:inherit}.configurations .table-container table tr.hide{display:none}.configurations .table-container table th{font-weight:600;text-transform:uppercase;font-size:14px;line-height:20px}.configurations .table-container table tr.no-configurations td>div{display:flex;height:100%;justify-content:center;align-items:center;flex-direction:column;padding:var(--nylas-border-radius-3x)}.configurations .table-container table tr.no-configurations td>div h3{margin:0 0 1rem 0;color:var(--nylas-base-700)}.configurations .table-container table tr.no-configurations td>div p{margin:0 0 1rem 0;color:var(--nylas-base-600)}.configurations .table-container table tr.no-configurations td>div calendar-icon{margin-bottom:1rem;color:var(--nylas-base-200)}.configurations .table-container table th,.configurations .table-container table td{text-align:left;padding:1rem;font-family:inherit}.configurations .table-container table .actions{text-align:right}.configurations .table-container table .actions{display:flex;justify-content:flex-end;gap:1rem}@media screen and (max-width: 768px){.configurations .table-container table .actions{flex-direction:column;gap:0.5rem}}.configurations .table-container table .title{width:100%;max-width:300px}@media screen and (max-width: 768px){.configurations .table-container table .title{max-width:96px}}.configurations .table-container table .title div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.configurations .table-container table .title div.config-event-title{font-weight:600}.configurations .table-container table .title div.config-event-description{font-size:0.75rem}.configurations .pagination{padding:1rem;position:sticky;top:100%;display:flex;justify-content:flex-end;gap:0.5rem;background:white;width:calc(100% - 2rem);z-index:2}.configurations .pagination td.arrows{display:flex;justify-content:flex-end;gap:0.5rem}.configurations .pagination button{display:flex;flex-direction:row;justify-content:center;align-items:center;height:3vh;width:3vh;min-width:3em;min-height:3em;cursor:pointer;border-radius:var(--nylas-border-radius-2x);border:1px solid var(--nylas-base-300);background-color:transparent;color:var(--nylas-base-800);cursor:pointer}.configurations .pagination button:hover:not(:disabled){border:1px solid var(--nylas-primary)}.configurations .pagination button:active{border:1px solid var(--nylas-base-800)}.configurations .pagination button:disabled{border:1px solid var(--nylas-base-100);background-color:transparent;color:var(--nylas-base-300);cursor:not-allowed}.configurations .pagination button.right{transform:rotate(180deg)}.error-container{margin-top:1.5rem}.error-container .error{color:var(--nylas-error);padding:0.5rem 0;margin:1rem 0 0}button-component#copy button{width:108px}select-dropdown{width:auto}select-dropdown::part(sd_dropdown-button){display:block;height:48px;padding:0px 16px 8px}@media screen and (max-width: 768px){select-dropdown::part(sd_dropdown-button){width:92px}}select-dropdown::part(sd_dropdown-content){width:120px;right:0}select-dropdown::part(sd_dropdown-labelhtml){display:flex;gap:0.5rem;align-items:center;color:var(--nylas-base-900)}select-dropdown::part(sd_dropdown-labelhtml):hover{color:var(--nylas-primary)}', Zt = Vt;
504
+ var Gt = function(t, a, i, s) {
505
+ var l = arguments.length, n = l < 3 ? a : s === null ? s = Object.getOwnPropertyDescriptor(a, i) : s, c;
506
+ if (typeof Reflect == "object" && typeof Reflect.decorate == "function")
507
+ n = Reflect.decorate(t, a, i, s);
508
+ else
509
+ for (var d = t.length - 1; d >= 0; d--)
510
+ (c = t[d]) && (n = (l < 3 ? c(n) : l > 3 ? c(a, i, n) : c(a, i)) || n);
511
+ return l > 3 && n && Object.defineProperty(a, i, n), n;
512
+ }, W = function(t, a) {
513
+ if (typeof Reflect == "object" && typeof Reflect.metadata == "function")
514
+ return Reflect.metadata(t, a);
515
+ };
516
+ const Et = class {
517
+ constructor(t) {
518
+ Z(this, t), this.initListConfigurations = S(this, "initListConfigurations", 7), this.createButtonClick = S(this, "createButtonClick", 7), this.editButtonClick = S(this, "editButtonClick", 7), this.deleteButtonClick = S(this, "deleteButtonClick", 7), this.configurations = [], this.schedulerPreviewLink = "", this.listConfigurationsNextCursor = void 0, this.state = "loading", this.error = "", this.currentCursor = null, this.previousCursors = [], this.disableNextPageButton = !1;
519
+ }
520
+ listConfigurationsNextCursorChangedHandler(t, a) {
521
+ if (!t || t === a) {
522
+ t === null && (this.disableNextPageButton = !0);
523
+ return;
524
+ }
525
+ this.disableNextPageButton = !1, this.currentCursor = t;
526
+ }
527
+ connectedCallback() {
528
+ u("[nylas-list-configurations]", "connectedCallback");
529
+ }
530
+ componentWillLoad() {
531
+ u("[nylas-list-configurations]", "componentWillLoad"), this.configurations && this.configurations.length > 0 && (this.state = "loaded");
532
+ }
533
+ componentDidLoad() {
534
+ u("[nylas-list-configurations]", "componentDidLoad"), this.initListConfigurations.emit({
535
+ host: this.host
536
+ });
537
+ }
538
+ disconnectedCallback() {
539
+ u("[nylas-list-configurations]", "disconnectedCallback");
540
+ }
541
+ async handleNylasFormDropdownChanged(t) {
542
+ u("[nylas-list-configurations]", "handleNylasFormDropdownChanged", t.detail);
543
+ const { value: a } = t.detail, [i, s] = a.split("-");
544
+ switch (t.preventDefault(), i) {
545
+ case "delete":
546
+ this.deleteButtonClick.emit({ host: this.host, configuration: this.configurations[s] });
547
+ break;
548
+ case "preview":
549
+ window.open(q(this.schedulerPreviewLink, this.configurations[s]), "_blank");
550
+ break;
551
+ case "copy":
552
+ await navigator.clipboard.writeText(q(this.schedulerPreviewLink, this.configurations[s]));
553
+ break;
554
+ }
555
+ }
556
+ async getState() {
557
+ return this.state;
558
+ }
559
+ async setState(t) {
560
+ this.state = t;
561
+ }
562
+ async setError(t) {
563
+ this.error = t;
564
+ }
565
+ getDurationString(t) {
566
+ const a = Math.floor(t / 60), i = t % 60;
567
+ return `${a || ""} ${a ? `${a > 1 ? "hours" : "hour"}` : ""} ${i || ""} ${i ? `${i > 1 ? "mins" : "min"}` : ""}`;
568
+ }
569
+ getActionLabelHTML(t) {
570
+ const a = {
571
+ display: "inline-flex",
572
+ alignItems: "center",
573
+ gap: "0.5rem"
574
+ }, i = {
575
+ color: "var(--nylas-error)"
576
+ };
577
+ switch (t) {
578
+ case "preview":
579
+ return e("span", { style: a }, e("eye-icon", { width: "16", height: "16" }), "Preview");
580
+ case "copy":
581
+ return e("span", { style: a }, e("copy-icon", { width: "16", height: "16" }), "Copy");
582
+ case "delete":
583
+ return e("span", { style: { ...a, ...i } }, e("delete-icon", { width: "15", height: "17" }), "Delete");
584
+ default:
585
+ return "";
586
+ }
587
+ }
588
+ previousPageClickedHandler() {
589
+ if (this.previousCursors.length === 0)
590
+ return;
591
+ this.currentCursor = this.previousCursors.pop() || null;
592
+ const t = this.previousCursors[this.previousCursors.length - 1] || void 0;
593
+ this.initListConfigurations.emit({
594
+ host: this.host,
595
+ cursor: t
596
+ });
597
+ }
598
+ nextPageClickedHandler() {
599
+ this.currentCursor && (this.previousCursors = [...this.previousCursors, this.currentCursor], this.initListConfigurations.emit({
600
+ host: this.host,
601
+ cursor: this.currentCursor
602
+ }));
603
+ }
604
+ render() {
605
+ return e(Lt, null, e("div", { class: "header" }, e("div", { class: "description" }, e("h2", null, "All Scheduling Pages"), e("p", null, "Create and manage your Scheduling Pages.")), this.configurations && this.configurations.length > 0 && e("div", { class: "actions" }, e("button-component", { part: "nlc__create-new-cta", clickHandler: () => {
606
+ this.createButtonClick.emit(this.host);
607
+ } }, "Create new"))), e("div", { class: "configurations" }, e("div", { class: "table-container" }, e("table", { class: {
608
+ "no-configurations": this.state !== "loading" && (!this.configurations || this.configurations.length === 0)
609
+ } }, e("tr", { class: {
610
+ hide: this.state === "loading" || this.configurations && this.configurations.length === 0
611
+ } }, e("th", null, "Page title"), e("th", null, "Duration"), e("th", null)), this.state === "loading" && e("tr", { class: "no-configurations" }, e("td", { colSpan: 3 }, e("div", null, e("h3", null, "Loading..."), e("p", null, "Please wait while we fetch the scheduling pages")))), this.state !== "loading" && (!this.configurations || this.configurations.length === 0) && e("tr", { class: "no-configurations" }, e("td", { colSpan: 3 }, e("div", null, e("calendar-icon", { width: "48", height: "48" }), e("h3", null, "No scheduling pages found"), e("p", null, "Get started with creating your first scheduling page"), e("button-component", { part: "nlc__create-new-cta", clickHandler: () => {
612
+ this.createButtonClick.emit(this.host);
613
+ } }, "Create new")))), this.state !== "loading" && this.configurations.map((t, a) => e("tr", { key: t.id }, e("td", null, e("div", { class: "title" }, e("div", { class: "config-event-title", title: t.event_booking.title }, t.event_booking.title), e("div", { class: "config-event-description" }, t.event_booking.description))), e("td", null, e("div", { class: "duration" }, this.getDurationString(t.availability.duration_minutes))), e("td", null, e("div", { class: "actions" }, e("button-component", { variant: "basic", key: `edit-${a}`, clickHandler: (i) => {
614
+ i.preventDefault(), this.editButtonClick.emit({ host: this.host, configuration: t });
615
+ } }, e("edit-icon", { width: "16", height: "16" }), "Edit"), e("select-dropdown", { name: "actions", options: [
616
+ { value: `preview-${a}`, label: "Preview", labelHTML: this.getActionLabelHTML("preview") },
617
+ { value: `copy-${a}`, label: "Copy link", labelHTML: this.getActionLabelHTML("copy") },
618
+ { value: `delete-${a}`, label: "Delete", labelHTML: this.getActionLabelHTML("delete") }
619
+ ], defaultSelectedOption: { value: "", label: "" }, dropdownButtonText: "...", withSearch: !1, withChevron: !1, exportparts: "sd_dropdown: actions__dropdown, sd_dropdown-button: actions__dropdown-button, sd_dropdown-content: actions__dropdown-content" }))))))), e("div", { class: "pagination" }, e("button", { class: "arrow left", onClick: () => this.previousPageClickedHandler(), disabled: this.previousCursors.length <= 0 }, e("chevron-icon", null)), e("button", { class: "arrow right", onClick: () => this.nextPageClickedHandler(), disabled: this.disableNextPageButton }, e("chevron-icon", null)))), this.state === "error" && e("div", { class: "error-container" }, e("p", { class: "error" }, this.error)));
620
+ }
621
+ get host() {
622
+ return Tt(this);
623
+ }
624
+ static get watchers() {
625
+ return {
626
+ listConfigurationsNextCursor: ["listConfigurationsNextCursorChangedHandler"]
627
+ };
628
+ }
629
+ };
630
+ Gt([
631
+ Ft({
632
+ name: "nylas-list-configurations",
633
+ stateToProps: /* @__PURE__ */ new Map([
634
+ ["schedulerConfig.configurations", "configurations"],
635
+ ["schedulerConfig.listConfigurationsNextCursor", "listConfigurationsNextCursor"]
636
+ ]),
637
+ localPropsToProp: /* @__PURE__ */ new Map([["schedulerPreviewLink", "schedulerPreviewLink"]]),
638
+ eventToProps: {
639
+ initListConfigurations: async (t, a) => {
640
+ const { host: i, cursor: s } = t.detail;
641
+ await i.setState("loading");
642
+ const [l, n] = await a.schedulerConfig.getConfigurations(s);
643
+ if (!l && n && n.message) {
644
+ await i.setState("error"), await i.setError(n.message);
645
+ return;
646
+ }
647
+ await i.setState("loaded");
648
+ },
649
+ createButtonClick: async (t, a) => {
650
+ a.schedulerConfigStore.resetSelectedConfiguration(), a.schedulerConfigStore.state.action = "create";
651
+ },
652
+ deleteButtonClick: async (t, a) => {
653
+ const { host: i, configuration: s } = t.detail, [l, n] = await a.schedulerConfig.deleteConfiguration(s.id);
654
+ !l && n && n.message && (await i.setState("error"), await i.setError(n.message));
655
+ },
656
+ editButtonClick: async (t, a) => {
657
+ const { configuration: i } = t.detail;
658
+ a.schedulerConfigStore.state.selectedConfiguration = i, a.schedulerConfigStore.state.action = "edit";
659
+ }
660
+ },
661
+ fireRegisterEvent: !0
662
+ }),
663
+ W("design:type", Function),
664
+ W("design:paramtypes", []),
665
+ W("design:returntype", void 0)
666
+ ], Et.prototype, "render", null);
667
+ Et.style = Zt;
668
+ export {
669
+ zt as google_logo_icon,
670
+ Mt as microsoft_logo_icon,
671
+ Pt as nylas_editor_tabs,
672
+ Et as nylas_list_configurations
673
+ };