n8n-editor-ui 1.63.2 → 1.64.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 (137) hide show
  1. package/dist/assets/{AnnotationTagsDropdown.ee-BrHzX0gM.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-D3L0Zqex.js} +2 -3
  2. package/dist/assets/{AuthView-DBTpAWBR.js → AuthView-Bc_d9TU4.js} +3 -6
  3. package/dist/assets/{AuthView-BnHKMYu_.css → AuthView-Cnr31xHM.css} +6 -5
  4. package/dist/assets/{CanvasControls-DJjSv7Wo.js → CanvasControls-BZZ5xUA4.js} +1 -31
  5. package/dist/assets/{ChangePasswordView-4HfufusV.js → ChangePasswordView-BmKDYqVl.js} +2 -32
  6. package/dist/assets/CollectionParameter-CZX6_SwN.js +4 -0
  7. package/dist/assets/{CredentialsView-ChVc0kqb.js → CredentialsView-BERKB9pX.js} +5 -35
  8. package/dist/assets/{ErrorView-C3MNpu-h.js → ErrorView-CGHYke1h.js} +1 -31
  9. package/dist/assets/{ExecutionsFilter-C71cMIbt.js → ExecutionsFilter-DgmpIaxp.js} +2 -5
  10. package/dist/assets/{ExecutionsView-CyfD2AaP.js → ExecutionsView-BVJE03N7.js} +18 -54
  11. package/dist/assets/{file-saver-Dbfm4l4I.js → FileSaver.min-vFM8HBH6.js} +5 -12
  12. package/dist/assets/{FixedCollectionParameter-DjS7zdm4.js → FixedCollectionParameter-Cu1pUHaU.js} +1 -32
  13. package/dist/assets/{ForgotMyPasswordView-BThu5AzW.js → ForgotMyPasswordView-CA1z31op.js} +2 -32
  14. package/dist/assets/{MainHeader-BonioYN5.js → MainHeader-lphq3_C7.js} +8 -47
  15. package/dist/assets/{MainSidebar-NOlas3VF.js → MainSidebar-CkmsLAKw.js} +5 -44
  16. package/dist/assets/{NodeCreation-ByUlHR8c.js → NodeCreation-CDKKeIJl.js} +4 -7
  17. package/dist/assets/{NodeCreator-DE9FRbnS.js → NodeCreator-vrcCon6T.js} +20 -64
  18. package/dist/assets/{NodeViewSwitcher-D7fdLnF1.js → NodeViewSwitcher-CebfwLIC.js} +17198 -4326
  19. package/dist/assets/{NodeViewSwitcher-BMWd0Gm9.css → NodeViewSwitcher-DFIa0RPL.css} +136 -135
  20. package/dist/assets/{ProjectCardBadge-f4baniz3.js → ProjectCardBadge.vue_vue_type_script_setup_true_lang-FPZVaoxg.js} +1 -12
  21. package/dist/assets/{ProjectSettings-CeJUMGSQ.js → ProjectSettings-CGPWNP7C.js} +6 -38
  22. package/dist/assets/{ProjectTabs-dq7a740r.js → ProjectTabs-D-UxAFWq.js} +1 -3
  23. package/dist/assets/{PushConnectionTracker-Bs_UzKPJ.js → PushConnectionTracker-dMPKSiLd.js} +1 -4
  24. package/dist/assets/{ResourcesListLayout-B1XBsMRy.js → ResourcesListLayout-BmEYzLen.js} +2 -7
  25. package/dist/assets/{RunDataAi-DdGO06st.js → RunDataAi-iy_LiKYx.js} +51 -13
  26. package/dist/assets/{RunDataJson-DTKvzLZz.js → RunDataJson-30CwTvxp.js} +11 -34
  27. package/dist/assets/{jsonpath--XXuA3UN.js → RunDataJsonActions-DM8Iegu4.js} +272 -73
  28. package/dist/assets/{RunDataSearch-CW0connN.js → RunDataSearch-BBZyQz1l.js} +1 -31
  29. package/dist/assets/{RunDataTable-C-mEq2dD.js → RunDataTable-DlYCaRmD.js} +43 -70
  30. package/dist/assets/{SamlOnboarding-BfsNvcA1.js → SamlOnboarding-YPyqQAED.js} +2 -32
  31. package/dist/assets/{SettingsApiView--aIfdlDF.js → SettingsApiView-DM8-r2vC.js} +11 -42
  32. package/dist/assets/{SettingsCommunityNodesView-DdyT-sgu.js → SettingsCommunityNodesView-CKUSvNJA.js} +3 -35
  33. package/dist/assets/{SettingsExternalSecrets-DTMX68vp.js → SettingsExternalSecrets-rn0Uon3J.js} +2 -32
  34. package/dist/assets/SettingsFakeDoorView-DRt2eUs1.js +44 -0
  35. package/dist/assets/{humanize-duration-DdvB4QXM.js → SettingsLdapView-BkNvZbuP.js} +827 -12
  36. package/dist/assets/{SettingsLogStreamingView-lQvw760T.js → SettingsLogStreamingView-DJgGrIQ1.js} +1 -31
  37. package/dist/assets/{SettingsPersonalView-2vlxeSgj.js → SettingsPersonalView-B2bLHSrL.js} +1 -31
  38. package/dist/assets/{SettingsSourceControl-1Z-AF1Yv.js → SettingsSourceControl-B_iPYBUX.js} +4 -35
  39. package/dist/assets/{SettingsSso-Bp82V4Mw.js → SettingsSso-Bo8ktz1t.js} +1 -31
  40. package/dist/assets/{SettingsUsageAndPlan-CDXY25ax.js → SettingsUsageAndPlan-C9jiEOqE.js} +1 -32
  41. package/dist/assets/{SettingsUsersView-3sIYeb4A.js → SettingsUsersView-Do-E2R-M.js} +1 -31
  42. package/dist/assets/{SettingsView-BNNArsIx.js → SettingsView-DK-_ao4_.js} +25 -34
  43. package/dist/assets/{SetupView-pspJi2at.js → SetupView-ZFKQKIJD.js} +2 -32
  44. package/dist/assets/{SetupWorkflowCredentialsButton-SC5-MI0D.js → SetupWorkflowCredentialsButton-BaMJBfk2.js} +1 -31
  45. package/dist/assets/{SetupWorkflowFromTemplateView-CU3grpvN.js → SetupWorkflowFromTemplateView-BvmNbGYh.js} +3 -33
  46. package/dist/assets/{SigninView-CZdE2LU3.js → SigninView-k_FnQgNC.js} +2 -32
  47. package/dist/assets/SignoutView-DTgJmCun.js +27 -0
  48. package/dist/assets/{SignupView-BPlt_Lbh.js → SignupView-GFIqKxQ1.js} +2 -32
  49. package/dist/assets/{TemplateDetails-CdRKYWL6.js → TemplateDetails-CrE5d8Z2.js} +1 -4
  50. package/dist/assets/{TemplateList-BYq50eQG.js → TemplateList-DugVXLa6.js} +1 -3
  51. package/dist/assets/{TemplatesCollectionView-D-N6pD00.js → TemplatesCollectionView-BulzRTVk.js} +5 -35
  52. package/dist/assets/{TemplatesSearchView-CaRL_LUd.js → TemplatesSearchView--aU9JJ_A.js} +738 -41
  53. package/dist/assets/{TemplatesSearchView-BYNWZYGm.css → TemplatesSearchView-BiokbeYf.css} +94 -1
  54. package/dist/assets/{TemplatesView-C5HnqMFU.js → TemplatesView-VxuSLtRB.js} +1 -3
  55. package/dist/assets/{TemplatesWorkflowView-XV_mNcau.js → TemplatesWorkflowView-DEOmoGFU.js} +5 -35
  56. package/dist/assets/{VariablesView-CDacoelY.js → VariablesView-D0qaiG35.js} +2 -33
  57. package/dist/assets/{WorkerView-DciBUDzM.js → WorkerView-BQWPVPCG.js} +159 -43
  58. package/dist/assets/{WorkflowActivator-GHyUbwAO.js → WorkflowActivator-CFE8HnEQ.js} +3 -7
  59. package/dist/assets/{WorkflowExecutionsInfoAccordion-Dez7kHwM.js → WorkflowExecutionsInfoAccordion-j1oBChRL.js} +1 -3
  60. package/dist/assets/{WorkflowExecutionsLandingPage-j7sS9stL.js → WorkflowExecutionsLandingPage-7PqoziUe.js} +2 -32
  61. package/dist/assets/{WorkflowExecutionsPreview-DLogApYK.js → WorkflowExecutionsPreview-BCKc44DY.js} +10 -42
  62. package/dist/assets/{WorkflowExecutionsView-CZ0E-5CZ.js → WorkflowExecutionsView-De-rqjwc.js} +6 -37
  63. package/dist/assets/{WorkflowHistory-D6BLJ_QX.js → WorkflowHistory-BQHDI-k-.js} +8 -45
  64. package/dist/assets/{WorkflowOnboardingView-7Z0s7yrd.js → WorkflowOnboardingView-B3aKS1PJ.js} +1 -31
  65. package/dist/assets/{WorkflowPreview-C2zFAYYi.js → WorkflowPreview-jblZXN9D.js} +1 -3
  66. package/dist/assets/{WorkflowsView-CLNYtnzv.js → WorkflowsView-DQqwovww.js} +19 -37
  67. package/dist/assets/cloud-ChkMgrsu.js +37 -0
  68. package/dist/assets/{dateFormatter-B-oph3V5.js → dateFormatter-BOFH7hQn.js} +1 -1
  69. package/dist/assets/index-B5Li9oNe.js +331713 -0
  70. package/dist/assets/{index-B5Pl_Rdy.css → index-BGyoJ6bM.css} +3941 -8
  71. package/dist/assets/{pushConnection.store-C38m0a4q.js → pushConnection.store-Cp0wdk-m.js} +3 -3
  72. package/dist/assets/{templateActions-BDzt5tYG.js → templateActions-DbRugCSY.js} +1 -1
  73. package/dist/assets/{useBeforeUnload-DAuWtScP.js → useBeforeUnload-HSb2Wsej.js} +1 -2
  74. package/dist/assets/{useExecutionDebugging-DjezN4ny.js → useExecutionDebugging-Czs7eCHy.js} +1 -2
  75. package/dist/assets/{usePushConnection-C-AngCFB.js → usePushConnection-CLr2QrgA.js} +12 -17
  76. package/dist/assets/{useWorkflowActivate-CgGEceEs.js → useWorkflowActivate-D9OoUkBo.js} +1 -2
  77. package/dist/index.html +2 -33
  78. package/package.json +1 -1
  79. package/vite.config.mts +0 -41
  80. package/dist/assets/@jsplumb/browser-ui-D3WTv2iL.js +0 -5431
  81. package/dist/assets/@jsplumb/common-Cn2WooAp.js +0 -142
  82. package/dist/assets/@jsplumb/connector-bezier-BsoOTqok.js +0 -1019
  83. package/dist/assets/@jsplumb/core-DLCSr9D4.js +0 -7317
  84. package/dist/assets/@jsplumb/util-DggqnqQo.js +0 -936
  85. package/dist/assets/@lezer/common-Bs5t-XhT.js +0 -1988
  86. package/dist/assets/@n8n/api-types-Clq_Leox.js +0 -1
  87. package/dist/assets/@n8n/codemirror-lang-Bizw8G99.js +0 -20928
  88. package/dist/assets/@n8n/codemirror-lang-sql-C9sfSTUi.js +0 -14443
  89. package/dist/assets/@n8n/permissions-BxSXRD9U.js +0 -52
  90. package/dist/assets/@sentry/vue-By9cUXYj.js +0 -23618
  91. package/dist/assets/@vue-flow/background-B1J8rodd.js +0 -123
  92. package/dist/assets/@vue-flow/controls-B4bXJQnK.js +0 -204
  93. package/dist/assets/@vue-flow/core-tETEFGtP.js +0 -9818
  94. package/dist/assets/@vue-flow/minimap-CGW7BbeH.js +0 -2951
  95. package/dist/assets/@vue-flow/node-resizer-C7hxX6Ea.js +0 -1398
  96. package/dist/assets/@vueuse/core-BTO0AmLR.js +0 -8894
  97. package/dist/assets/RunDataJsonActions-0J53luAF.js +0 -270
  98. package/dist/assets/SettingsFakeDoorView-CpouiCJM.js +0 -74
  99. package/dist/assets/SettingsLdapView-DtUi0T-K.js +0 -746
  100. package/dist/assets/SignoutView-DN2qdM5U.js +0 -57
  101. package/dist/assets/aws-secrets-manager-NwVFybsa.svg +0 -18
  102. package/dist/assets/axios-BW6T4tHC.js +0 -2403
  103. package/dist/assets/azure-key-vault-DTTl_IR7.svg +0 -23
  104. package/dist/assets/bowser-CDCHPFWD.js +0 -1931
  105. package/dist/assets/change-case-Dux1iW35.js +0 -137
  106. package/dist/assets/chart.js-BYpPl_l4.js +0 -14318
  107. package/dist/assets/cloud-DJUTi_f-.js +0 -95
  108. package/dist/assets/codemirror-lang-html-n8n-BElKE4vf.js +0 -2498
  109. package/dist/assets/dateformat-BevCJF2z.js +0 -208
  110. package/dist/assets/email-providers-Brdpqw-Z.js +0 -1
  111. package/dist/assets/esprima-next-DUEu30kB.js +0 -6712
  112. package/dist/assets/fast-json-stable-stringify-D9R5x91P.js +0 -55
  113. package/dist/assets/flatted-BLlNkUR-.js +0 -76
  114. package/dist/assets/gcp-secrets-manager-BcK0Zj6Y.svg +0 -9
  115. package/dist/assets/hashicorp-5zlHdJCj.webp +0 -0
  116. package/dist/assets/highlight.js-Brdpqw-Z.js +0 -1
  117. package/dist/assets/index-DOjaKjUd.js +0 -87778
  118. package/dist/assets/infisical-Db7VXgLp.webp +0 -0
  119. package/dist/assets/lodash-es-DCRmYdQ5.js +0 -6061
  120. package/dist/assets/luxon-N8mghSWH.js +0 -6159
  121. package/dist/assets/n8n-C6KBCWah.css +0 -4973
  122. package/dist/assets/n8n-o-6nV4eX.js +0 -163925
  123. package/dist/assets/pinia-BWzoPyXU.js +0 -1650
  124. package/dist/assets/prettier-eWLVZldr.js +0 -2294
  125. package/dist/assets/qrcode.vue-BavVPFUM.js +0 -1132
  126. package/dist/assets/timeago.js-CgQus8nl.js +0 -116
  127. package/dist/assets/useUserHelpers-nsswfS_i.js +0 -27
  128. package/dist/assets/uuid-DRDfXVM2.js +0 -542
  129. package/dist/assets/v3-infinite-loading-CHlSsXAy.js +0 -114
  130. package/dist/assets/vendor-D8YCjNHu.js +0 -14463
  131. package/dist/assets/vue-agile-B2NGbzqY.css +0 -93
  132. package/dist/assets/vue-agile-Busf3nxn.js +0 -727
  133. package/dist/assets/vue-chartjs-DBNEiLG-.js +0 -203
  134. package/dist/assets/vue-i18n-CeifA_Nk.js +0 -5329
  135. package/dist/assets/vue-json-pretty-DHS8nWi_.js +0 -340
  136. package/dist/assets/vue3-touch-events-DVOgU3fI.js +0 -301
  137. package/dist/assets/xss-Brdpqw-Z.js +0 -1
@@ -1,727 +0,0 @@
1
- import { q as orderBy, t as throttle } from "./lodash-es-DCRmYdQ5.js";
2
- import { J as openBlock, K as createElementBlock, _ as normalizeClass, L as createBaseVNode, $ as normalizeStyle, a4 as withDirectives, Z as renderSlot, a9 as vShow, U as createCommentVNode, a6 as createTextVNode, R as Fragment, af as renderList, a7 as toDisplayString } from "./vendor-D8YCjNHu.js";
3
- import { _ as _export_sfc } from "./n8n-o-6nV4eX.js";
4
- const mixin$6 = {
5
- methods: {
6
- handleMouseDown(e) {
7
- this.isMouseDown = true;
8
- if (e.type.indexOf("touch") !== -1) {
9
- this.dragStartX = e.touches[0].clientX;
10
- this.dragStartY = e.touches[0].clientY;
11
- }
12
- if (e.type.indexOf("mouse") !== -1) {
13
- this.dragStartX = e.clientX;
14
- this.dragStartY = e.clientY;
15
- }
16
- },
17
- handleMouseMove(e) {
18
- let positionX;
19
- let positionY;
20
- if (e.type.indexOf("touch") !== -1) {
21
- positionX = e.touches[0].clientX;
22
- positionY = e.touches[0].clientY;
23
- }
24
- if (e.type.indexOf("mouse") !== -1) {
25
- positionX = e.clientX;
26
- positionY = e.clientY;
27
- }
28
- const dragDistanceX = Math.abs(positionX - this.dragStartX);
29
- const dragDistanceY = Math.abs(positionY - this.dragStartY);
30
- if (dragDistanceX > 3 * dragDistanceY) {
31
- this.disableScroll();
32
- this.dragDistance = positionX - this.dragStartX;
33
- }
34
- },
35
- handleMouseUp() {
36
- this.isMouseDown = false;
37
- this.enableScroll();
38
- },
39
- handleMouseOver(element) {
40
- if (this.settings.autoplay) {
41
- if (element === "dot" && this.settings.pauseOnDotsHover || element === "track" && this.settings.pauseOnHover) {
42
- this.isAutoplayPaused = true;
43
- }
44
- }
45
- },
46
- handleMouseOut(element) {
47
- if (this.settings.autoplay) {
48
- if (element === "dot" && this.settings.pauseOnDotsHover || element === "track" && this.settings.pauseOnHover) {
49
- this.isAutoplayPaused = false;
50
- }
51
- }
52
- }
53
- }
54
- };
55
- const mixin$5 = {
56
- methods: {
57
- /**
58
- * Set window & container width
59
- */
60
- getWidth() {
61
- if (this.isSSR) {
62
- return false;
63
- }
64
- this.widthWindow = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
65
- this.widthContainer = this.$refs.list.clientWidth;
66
- },
67
- /**
68
- * Convert HTML Collection to JS Array
69
- */
70
- htmlCollectionToArray(collection) {
71
- return Array.prototype.slice.call(collection, 0);
72
- }
73
- }
74
- };
75
- const mixin$4 = {
76
- methods: {
77
- clearAutoPlayPause() {
78
- clearTimeout(this.autoplayTimeout);
79
- this.autoplayRemaining = null;
80
- },
81
- disableAutoPlay() {
82
- clearInterval(this.autoplayInterval);
83
- this.autoplayInterval = null;
84
- },
85
- disableScroll() {
86
- document.ontouchmove = (e) => e.preventDefault();
87
- },
88
- enableScroll() {
89
- document.ontouchmove = () => true;
90
- },
91
- restartAutoPlay() {
92
- this.disableAutoPlay();
93
- this.toggleAutoPlay();
94
- },
95
- toggleAutoPlay() {
96
- const enabled = !this.settings.unagile && this.settings.autoplay;
97
- if (!this.autoplayInterval && enabled) {
98
- this.autoplayInterval = setInterval(() => {
99
- if (!document.hidden) {
100
- if (!this.canGoToNext) {
101
- this.disableAutoPlay();
102
- } else {
103
- this.goToNext();
104
- }
105
- }
106
- }, this.settings.autoplaySpeed);
107
- } else {
108
- this.disableAutoPlay();
109
- }
110
- },
111
- toggleFade() {
112
- const enabled = !this.settings.unagile && this.settings.fade;
113
- for (let i = 0; i < this.countSlides; i++) {
114
- this.slides[i].style.transition = enabled ? "opacity " + this.settings.timing + " " + this.settings.speed + "ms" : "none";
115
- this.slides[i].style.transform = enabled ? `translate(-${i * this.widthSlide}px)` : "none";
116
- }
117
- }
118
- }
119
- };
120
- const mixin$3 = {
121
- methods: {
122
- /**
123
- * Prepare slides classes and styles
124
- */
125
- prepareSlides() {
126
- this.slides = this.htmlCollectionToArray(this.$refs.slides.children);
127
- if (this.slidesCloned) {
128
- this.slidesClonedBefore = this.htmlCollectionToArray(this.$refs.slidesClonedBefore.children);
129
- this.slidesClonedAfter = this.htmlCollectionToArray(this.$refs.slidesClonedAfter.children);
130
- }
131
- for (const slide of this.slidesAll) {
132
- slide.classList.add("agile__slide");
133
- }
134
- },
135
- /**
136
- * Prepare slides active/current classes
137
- */
138
- prepareSlidesClasses() {
139
- if (this.currentSlide === null) {
140
- return false;
141
- }
142
- for (let i = 0; i < this.countSlides; i++) {
143
- this.slides[i].classList.remove("agile__slide--active");
144
- this.slides[i].classList.remove("agile__slide--current");
145
- }
146
- setTimeout(() => this.slides[this.currentSlide].classList.add("agile__slide--active"), this.changeDelay);
147
- let start = this.slidesCloned ? this.countSlides + this.currentSlide : this.currentSlide;
148
- if (this.centerMode) {
149
- start -= Math.floor(this.settings.slidesToShow / 2) - +(this.settings.slidesToShow % 2 === 0);
150
- }
151
- for (let i = Math.max(start, 0); i < Math.min(start + this.settings.slidesToShow, this.countSlides); i++) {
152
- this.slidesAll[i].classList.add("agile__slide--current");
153
- }
154
- },
155
- /**
156
- * Prepare carousel styles
157
- */
158
- prepareCarousel() {
159
- if (this.settings.unagile) {
160
- this.translateX = 0;
161
- } else {
162
- if (this.currentSlide === null && this.countSlides) {
163
- this.currentSlide = this.settings.initialSlide;
164
- }
165
- if (this.currentSlide > this.countSlides) {
166
- this.currentSlide = this.countSlides - 1;
167
- }
168
- this.goTo(this.currentSlide, false, false);
169
- }
170
- }
171
- }
172
- };
173
- const mixin$2 = {
174
- props: {
175
- /**
176
- * Set the carousel to be the navigation of other carousels
177
- */
178
- asNavFor: {
179
- type: Array,
180
- default: function() {
181
- return [];
182
- }
183
- },
184
- /**
185
- * Enable autoplay
186
- */
187
- autoplay: {
188
- type: Boolean,
189
- default: false
190
- },
191
- /**
192
- * Autoplay interval in milliseconds
193
- */
194
- autoplaySpeed: {
195
- type: Number,
196
- default: 3e3
197
- },
198
- /**
199
- * Enable centered view when slidesToShow > 1
200
- */
201
- centerMode: {
202
- type: Boolean,
203
- default: false
204
- },
205
- /**
206
- * Slides padding in center mode
207
- */
208
- centerPadding: {
209
- type: String,
210
- default: "15%"
211
- },
212
- /**
213
- * Slide change delay in milliseconds
214
- */
215
- changeDelay: {
216
- type: Number,
217
- default: 0
218
- },
219
- /**
220
- * Enable dot indicators/pagination
221
- */
222
- dots: {
223
- type: Boolean,
224
- default: true
225
- },
226
- /**
227
- * Enable fade effect
228
- */
229
- fade: {
230
- type: Boolean,
231
- default: false
232
- },
233
- /**
234
- * Infinite loop sliding
235
- */
236
- infinite: {
237
- type: Boolean,
238
- default: true
239
- },
240
- /**
241
- * Index of slide to start on
242
- */
243
- initialSlide: {
244
- type: Number,
245
- default: 0
246
- },
247
- /**
248
- * Enable mobile first calculation for responsive settings
249
- */
250
- mobileFirst: {
251
- type: Boolean,
252
- default: true
253
- },
254
- /**
255
- * Enable prev/next navigation buttons
256
- */
257
- navButtons: {
258
- type: Boolean,
259
- default: true
260
- },
261
- /**
262
- * All settings as one object
263
- */
264
- options: {
265
- type: Object,
266
- default: () => null
267
- },
268
- /**
269
- * Pause autoplay when a dot is hovered
270
- */
271
- pauseOnDotsHover: {
272
- type: Boolean,
273
- default: false
274
- },
275
- /**
276
- * Pause autoplay when a slide is hovered
277
- */
278
- pauseOnHover: {
279
- type: Boolean,
280
- default: true
281
- },
282
- /**
283
- * Object containing breakpoints and settings objects
284
- */
285
- responsive: {
286
- type: Array,
287
- default: () => null
288
- },
289
- /**
290
- * Enable right-to-left mode
291
- */
292
- rtl: {
293
- type: Boolean,
294
- default: false
295
- },
296
- /**
297
- * Number of slides to scroll
298
- */
299
- slidesToScroll: {
300
- type: Number,
301
- default: 1
302
- },
303
- /**
304
- * Number of slides to show
305
- */
306
- slidesToShow: {
307
- type: Number,
308
- default: 1
309
- },
310
- /**
311
- * Slide animation speed in milliseconds
312
- */
313
- speed: {
314
- type: Number,
315
- default: 300
316
- },
317
- /**
318
- * Swipe distance
319
- */
320
- swipeDistance: {
321
- type: Number,
322
- default: 50
323
- },
324
- /**
325
- * Throttle delay in milliseconds
326
- */
327
- throttleDelay: {
328
- type: Number,
329
- default: 500
330
- },
331
- /**
332
- * Transition timing function
333
- * Available: ease, linear, ease-in, ease-out, ease-in-out
334
- */
335
- timing: {
336
- type: String,
337
- default: "ease",
338
- validator: (value) => {
339
- return ["ease", "linear", "ease-in", "ease-out", "ease-in-out"].indexOf(value) !== -1;
340
- }
341
- },
342
- /**
343
- * Disable Agile carousel
344
- */
345
- unagile: {
346
- type: Boolean,
347
- default: false
348
- }
349
- },
350
- computed: {
351
- // Initial settings based on props and options object
352
- initialSettings: function() {
353
- let { options, ...initialSettings } = this.$props;
354
- if (options) {
355
- initialSettings = { ...initialSettings, ...options };
356
- }
357
- if (initialSettings.responsive) {
358
- initialSettings.responsive = orderBy(initialSettings.responsive, "breakpoint");
359
- }
360
- return initialSettings;
361
- },
362
- // Settings for current breakpoint
363
- settings: function() {
364
- const { responsive, ...settings } = this.initialSettings;
365
- if (responsive) {
366
- responsive.forEach((option) => {
367
- if (settings.mobileFirst ? option.breakpoint < this.widthWindow : option.breakpoint > this.widthWindow) {
368
- for (const key in option.settings) {
369
- settings[key] = option.settings[key];
370
- }
371
- }
372
- });
373
- }
374
- return settings;
375
- }
376
- }
377
- };
378
- const mixin$1 = {
379
- created() {
380
- this.goTo = throttle(this.goTo, this.throttleDelay);
381
- this.getWidth = throttle(this.getWidth, 500);
382
- }
383
- };
384
- const mixin = {
385
- watch: {
386
- // Recalculate settings
387
- currentBreakpoint() {
388
- this.$emit("breakpoint", { breakpoint: this.currentBreakpoint });
389
- },
390
- // Watch current slide change
391
- currentSlide() {
392
- this.prepareSlidesClasses();
393
- this.autoplayStartTimestamp = this.settings.autoplay ? +/* @__PURE__ */ new Date() : null;
394
- this.$emit("after-change", { currentSlide: this.currentSlide });
395
- },
396
- // Watch drag distance change
397
- dragDistance() {
398
- if (this.isMouseDown) {
399
- const { rtl } = this.settings;
400
- const dragDistance = this.dragDistance * (rtl ? -1 : 1);
401
- if (dragDistance > this.swipeDistance && this.canGoToPrev) {
402
- this.goToPrev();
403
- this.handleMouseUp();
404
- }
405
- if (dragDistance < -1 * this.swipeDistance && this.canGoToNext) {
406
- this.goToNext();
407
- this.handleMouseUp();
408
- }
409
- }
410
- },
411
- isAutoplayPaused(nevValue) {
412
- if (nevValue) {
413
- this.remaining = this.settings.autoplaySpeed - (+/* @__PURE__ */ new Date() - this.autoplayStartTimestamp);
414
- this.disableAutoPlay();
415
- this.clearAutoPlayPause();
416
- } else {
417
- this.autoplayTimeout = setTimeout(() => {
418
- this.clearAutoPlayPause();
419
- this.goToNext();
420
- this.toggleAutoPlay();
421
- }, this.remaining);
422
- }
423
- },
424
- "settings.autoplay"() {
425
- this.toggleAutoPlay();
426
- },
427
- "settings.fade"() {
428
- this.toggleFade();
429
- },
430
- "settings.unagile"() {
431
- },
432
- widthSlide() {
433
- for (let i = 0; i < this.countSlidesAll; i++) {
434
- this.slidesAll[i].style.width = `${this.widthSlide}${this.widthSlide !== "auto" ? "px" : ""}`;
435
- }
436
- },
437
- // Watch window width change
438
- widthWindow(newValue, oldValue) {
439
- if (oldValue) {
440
- this.prepareCarousel();
441
- this.toggleFade();
442
- }
443
- }
444
- }
445
- };
446
- const _sfc_main = {
447
- name: "agile",
448
- mixins: [mixin$6, mixin$5, mixin$4, mixin$3, mixin$2, mixin$1, mixin],
449
- emits: ["before-change", "after-change", "breakpoint"],
450
- data() {
451
- return {
452
- autoplayInterval: null,
453
- autoplayRemaining: null,
454
- autoplayStartTimestamp: null,
455
- autoplayTimeout: null,
456
- currentSlide: null,
457
- dragDistance: 0,
458
- dragStartX: 0,
459
- dragStartY: 0,
460
- isAutoplayPaused: false,
461
- isMouseDown: false,
462
- slides: [],
463
- slidesClonedAfter: [],
464
- slidesClonedBefore: [],
465
- isSSR: typeof window === "undefined",
466
- transitionDelay: 0,
467
- translateX: 0,
468
- widthWindow: 0,
469
- widthContainer: 0
470
- };
471
- },
472
- computed: {
473
- breakpoints: function() {
474
- return !this.initialSettings.responsive ? [] : this.initialSettings.responsive.map((item) => item.breakpoint);
475
- },
476
- canGoToPrev: function() {
477
- return this.settings.infinite || this.currentSlide > 0;
478
- },
479
- canGoToNext: function() {
480
- return this.settings.infinite || this.currentSlide < this.countSlides - 1;
481
- },
482
- countSlides: function() {
483
- return this.isSSR ? this.htmlCollectionToArray(this.$slots.default).length : this.slides.length;
484
- },
485
- countSlidesAll: function() {
486
- return this.slidesAll.length;
487
- },
488
- currentBreakpoint: function() {
489
- const breakpoints = this.breakpoints.map((item) => item).reverse();
490
- return this.initialSettings.mobileFirst ? breakpoints.find((item) => item < this.widthWindow) || 0 : breakpoints.find((item) => item > this.widthWindow) || null;
491
- },
492
- marginX: function() {
493
- if (this.settings.unagile) {
494
- return 0;
495
- }
496
- let marginX = this.slidesCloned ? this.countSlides * this.widthSlide : 0;
497
- if (this.settings.centerMode) {
498
- marginX -= (Math.floor(this.settings.slidesToShow / 2) - +(this.settings.slidesToShow % 2 === 0)) * this.widthSlide;
499
- }
500
- return this.settings.rtl ? marginX : -1 * marginX;
501
- },
502
- slidesCloned: function() {
503
- return !this.settings.unagile && !this.settings.fade && this.settings.infinite;
504
- },
505
- slidesAll: function() {
506
- return this.slidesCloned ? [...this.slidesClonedBefore, ...this.slides, ...this.slidesClonedAfter] : this.slides;
507
- },
508
- widthSlide: function() {
509
- return !this.settings.unagile ? this.widthContainer / this.settings.slidesToShow : "auto";
510
- }
511
- },
512
- mounted() {
513
- window.addEventListener("resize", this.getWidth);
514
- this.$refs.track.addEventListener("touchstart", this.handleMouseDown);
515
- this.$refs.track.addEventListener("touchend", this.handleMouseUp);
516
- this.$refs.track.addEventListener("touchmove", this.handleMouseMove);
517
- this.$refs.track.addEventListener("mousedown", this.handleMouseDown);
518
- this.$refs.track.addEventListener("mouseup", this.handleMouseUp);
519
- this.$refs.track.addEventListener("mousemove", this.handleMouseMove);
520
- this.isSSR = false;
521
- this.reload();
522
- },
523
- // Vue 3
524
- beforeUnmount() {
525
- this.destroy();
526
- },
527
- methods: {
528
- destroy() {
529
- window.removeEventListener("resize", this.getWidth);
530
- this.$refs.track.removeEventListener("touchstart", this.handleMouseDown);
531
- this.$refs.track.removeEventListener("touchend", this.handleMouseUp);
532
- this.$refs.track.removeEventListener("touchmove", this.handleMouseMove);
533
- this.$refs.track.removeEventListener("mousedown", this.handleMouseDown);
534
- this.$refs.track.removeEventListener("mouseup", this.handleMouseUp);
535
- this.$refs.track.removeEventListener("mousemove", this.handleMouseMove);
536
- this.disableAutoPlay();
537
- },
538
- // Return current breakpoint
539
- getCurrentBreakpoint() {
540
- return this.currentBreakpoint;
541
- },
542
- // Return settings for current breakpoint
543
- getCurrentSettings() {
544
- return this.settings;
545
- },
546
- // Return current slide index
547
- getCurrentSlide() {
548
- return this.currentSlide;
549
- },
550
- // Return initial settings
551
- getInitialSettings() {
552
- return this.initialSettings;
553
- },
554
- // Go to slide
555
- goTo(n, transition = true, asNav = false) {
556
- if (this.settings.unagile) {
557
- return false;
558
- }
559
- if (!asNav) {
560
- this.settings.asNavFor.forEach((carousel) => {
561
- if (carousel) {
562
- carousel.goTo(n, transition, true);
563
- }
564
- });
565
- }
566
- let slideNextReal = n;
567
- if (transition) {
568
- if (this.settings.infinite && n < 0) {
569
- slideNextReal = this.countSlides - 1;
570
- } else if (n >= this.countSlides) {
571
- slideNextReal = 0;
572
- }
573
- this.$emit("before-change", { currentSlide: this.currentSlide, nextSlide: slideNextReal });
574
- this.currentSlide = slideNextReal;
575
- if (n !== slideNextReal) {
576
- setTimeout(() => {
577
- this.goTo(slideNextReal, false);
578
- }, this.settings.speed);
579
- }
580
- }
581
- const translateX = !this.settings.fade ? n * this.widthSlide * this.settings.slidesToScroll : 0;
582
- this.transitionDelay = transition ? this.speed : 0;
583
- if (this.infinite || this.currentSlide + this.slidesToShow <= this.countSlides) {
584
- this.translateX = this.settings.rtl ? translateX : -1 * translateX;
585
- }
586
- },
587
- // Go to next slide
588
- goToNext() {
589
- if (this.canGoToNext) {
590
- this.goTo(this.currentSlide + 1);
591
- }
592
- },
593
- // Go to previous slide
594
- goToPrev() {
595
- if (this.canGoToPrev) {
596
- this.goTo(this.currentSlide - 1);
597
- }
598
- },
599
- // Reload carousel
600
- reload() {
601
- this.getWidth();
602
- this.prepareSlides();
603
- this.prepareCarousel();
604
- this.toggleFade();
605
- this.toggleAutoPlay();
606
- }
607
- }
608
- };
609
- const _hoisted_1 = {
610
- ref: "list",
611
- class: "agile__list"
612
- };
613
- const _hoisted_2 = {
614
- ref: "slidesClonedBefore",
615
- class: "agile__slides agile__slides--cloned"
616
- };
617
- const _hoisted_3 = {
618
- ref: "slides",
619
- class: "agile__slides agile__slides--regular"
620
- };
621
- const _hoisted_4 = {
622
- ref: "slidesClonedAfter",
623
- class: "agile__slides agile__slides--cloned"
624
- };
625
- const _hoisted_5 = {
626
- key: 0,
627
- class: "agile__caption"
628
- };
629
- const _hoisted_6 = {
630
- key: 1,
631
- class: "agile__actions"
632
- };
633
- const _hoisted_7 = ["disabled"];
634
- const _hoisted_8 = {
635
- key: 1,
636
- ref: "dots",
637
- class: "agile__dots"
638
- };
639
- const _hoisted_9 = ["onClick"];
640
- const _hoisted_10 = ["disabled"];
641
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
642
- return openBlock(), createElementBlock("div", {
643
- class: normalizeClass([{ "agile--ssr": $data.isSSR, "agile--auto-play": _ctx.settings.autoplay, "agile--disabled": _ctx.settings.unagile, "agile--fade": _ctx.settings.fade && !_ctx.settings.unagile, "agile--rtl": _ctx.settings.rtl, "agile--no-nav-buttons": !_ctx.settings.navButtons }, "agile"]),
644
- onTouchstart: () => {
645
- }
646
- }, [
647
- createBaseVNode("div", _hoisted_1, [
648
- createBaseVNode("div", {
649
- ref: "track",
650
- style: normalizeStyle({ transform: `translate(${$data.translateX + $options.marginX}px)`, transition: `transform ${_ctx.settings.timing} ${$data.transitionDelay}ms` }),
651
- class: "agile__track",
652
- onMouseout: _cache[0] || (_cache[0] = ($event) => _ctx.handleMouseOut("track")),
653
- onMouseover: _cache[1] || (_cache[1] = ($event) => _ctx.handleMouseOver("track"))
654
- }, [
655
- withDirectives(createBaseVNode("div", _hoisted_2, [
656
- renderSlot(_ctx.$slots, "default")
657
- ], 512), [
658
- [vShow, $options.slidesCloned]
659
- ]),
660
- createBaseVNode("div", _hoisted_3, [
661
- renderSlot(_ctx.$slots, "default")
662
- ], 512),
663
- withDirectives(createBaseVNode("div", _hoisted_4, [
664
- renderSlot(_ctx.$slots, "default")
665
- ], 512), [
666
- [vShow, $options.slidesCloned]
667
- ])
668
- ], 36)
669
- ], 512),
670
- _ctx.$slots.caption ? (openBlock(), createElementBlock("div", _hoisted_5, [
671
- renderSlot(_ctx.$slots, "caption")
672
- ])) : createCommentVNode("", true),
673
- !_ctx.settings.unagile && (_ctx.settings.navButtons || _ctx.settings.dots) ? (openBlock(), createElementBlock("div", _hoisted_6, [
674
- _ctx.settings.navButtons && !_ctx.settings.unagile ? (openBlock(), createElementBlock("button", {
675
- key: 0,
676
- ref: "prevButton",
677
- disabled: !$options.canGoToPrev,
678
- "aria-label": "Previous",
679
- class: "agile__nav-button agile__nav-button--prev",
680
- type: "button",
681
- onClick: _cache[2] || (_cache[2] = ($event) => ($options.goToPrev(), _ctx.restartAutoPlay()))
682
- }, [
683
- renderSlot(_ctx.$slots, "prevButton", {}, () => [
684
- createTextVNode(" ← ")
685
- ])
686
- ], 8, _hoisted_7)) : createCommentVNode("", true),
687
- _ctx.settings.dots && !_ctx.settings.unagile ? (openBlock(), createElementBlock("ul", _hoisted_8, [
688
- (openBlock(true), createElementBlock(Fragment, null, renderList($options.countSlides, (n) => {
689
- return openBlock(), createElementBlock("li", {
690
- key: n,
691
- class: normalizeClass([{ "agile__dot--current": n - 1 === $data.currentSlide }, "agile__dot"]),
692
- onMouseout: _cache[3] || (_cache[3] = ($event) => _ctx.handleMouseOut("dot")),
693
- onMouseover: _cache[4] || (_cache[4] = ($event) => _ctx.handleMouseOver("dot"))
694
- }, [
695
- createBaseVNode("button", {
696
- type: "button",
697
- onClick: ($event) => ($options.goTo(n - 1), _ctx.restartAutoPlay())
698
- }, toDisplayString(n), 9, _hoisted_9)
699
- ], 34);
700
- }), 128))
701
- ], 512)) : createCommentVNode("", true),
702
- _ctx.settings.navButtons && !_ctx.settings.unagile ? (openBlock(), createElementBlock("button", {
703
- key: 2,
704
- ref: "nextButton",
705
- disabled: !$options.canGoToNext,
706
- "aria-label": "Next",
707
- class: "agile__nav-button agile__nav-button--next",
708
- type: "button",
709
- onClick: _cache[5] || (_cache[5] = ($event) => ($options.goToNext(), _ctx.restartAutoPlay()))
710
- }, [
711
- renderSlot(_ctx.$slots, "nextButton", {}, () => [
712
- createTextVNode(" → ")
713
- ])
714
- ], 8, _hoisted_10)) : createCommentVNode("", true)
715
- ])) : createCommentVNode("", true)
716
- ], 34);
717
- }
718
- const VueAgile = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
719
- const install = (Vue) => {
720
- Vue.component("agile", VueAgile);
721
- };
722
- const index = {
723
- install
724
- };
725
- export {
726
- VueAgile as V
727
- };