@pisapp/core 7.0.0-dev.20260916-153034 → 7.0.0-dev.20261029-122603

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 (59) hide show
  1. package/LICENSE +26 -18
  2. package/README.md +3 -0
  3. package/catalogs.js +3 -3
  4. package/chunks/AttributesTable-DRKGguZ2.js +3474 -0
  5. package/chunks/PisGlobal-CPAlhOni.js +94 -0
  6. package/chunks/ProductsDetailsHeader-DfVlpJh_.js +4442 -0
  7. package/chunks/carousel.es-DBv2Q2Xn.js +1602 -0
  8. package/chunks/directives-8QlgHJi7.js +8244 -0
  9. package/chunks/entry-CwhdPOkr.js +9948 -0
  10. package/chunks/entry-DVqVFTtL.js +5687 -0
  11. package/chunks/entry-Dyo7FMUS.js +2207 -0
  12. package/chunks/registerCustomElements-CWZenCp9.js +426 -0
  13. package/classifications.js +2 -2
  14. package/core.js +3 -3
  15. package/generated/registries.json +2775 -0
  16. package/index.js +7 -6
  17. package/migration/API_V1_TO_V2_MIGRATION.md +1704 -177
  18. package/migration/legacy-option-rules.json +51 -6
  19. package/migration/v7.json +2983 -441
  20. package/migration/v7.schema.json +61 -2
  21. package/package.json +17 -8
  22. package/pis-csp.js +7 -7
  23. package/pis.js +9 -9
  24. package/products.js +3 -1
  25. package/server.js +354 -0
  26. package/styles/pis.css +1 -1
  27. package/styles/theme-abb.optimized.css +1 -1
  28. package/styles/theme-cux2-blue-dark.css +1 -1
  29. package/styles/theme-cux2-blue-dark.optimized.css +1 -1
  30. package/styles/theme-cux2-blue-light.css +1 -1
  31. package/styles/theme-cux2-blue-light.optimized.css +1 -1
  32. package/styles/theme-cux2-lilac-dark.css +1 -1
  33. package/styles/theme-cux2-lilac-dark.optimized.css +1 -1
  34. package/styles/theme-cux2-lilac-light.css +1 -1
  35. package/styles/theme-cux2-lilac-light.optimized.css +1 -1
  36. package/styles/theme-cux2-mono-dark.css +1 -1
  37. package/styles/theme-cux2-mono-dark.optimized.css +1 -1
  38. package/styles/theme-cux2-mono-light.css +1 -1
  39. package/styles/theme-cux2-mono-light.optimized.css +1 -1
  40. package/styles/theme-cux2-red-dark.css +1 -1
  41. package/styles/theme-cux2-red-dark.optimized.css +1 -1
  42. package/styles/theme-cux2-red-light.css +1 -1
  43. package/styles/theme-cux2-red-light.optimized.css +1 -1
  44. package/types.d.ts +797 -587
  45. package/catalogs.d.ts +0 -7725
  46. package/chunks/catalogs-domain-DJxK_B5E.js +0 -9060
  47. package/chunks/catalogs-domain-DJxK_B5E.js.map +0 -1
  48. package/chunks/classifications-domain-DdIJaF1D.js +0 -1980
  49. package/chunks/classifications-domain-DdIJaF1D.js.map +0 -1
  50. package/chunks/icons-shared-B8v5z3BE.js +0 -1387
  51. package/chunks/icons-shared-B8v5z3BE.js.map +0 -1
  52. package/chunks/products-domain-99vJaUyI.js +0 -22587
  53. package/chunks/products-domain-99vJaUyI.js.map +0 -1
  54. package/classifications.d.ts +0 -7725
  55. package/core.d.ts +0 -7711
  56. package/index.d.ts +0 -7992
  57. package/pis-csp.js.map +0 -1
  58. package/pis.js.map +0 -1
  59. package/products.d.ts +0 -7746
@@ -0,0 +1,1602 @@
1
+ import { En as e, Tn as t, _ as n, c as r, d as i, g as a, h as o, i as s, l as c, m as l, o as u, s as d, u as f, v as p, x as m } from "./directives-8QlgHJi7.js";
2
+ import { Q as h, ot as g } from "./AttributesTable-DRKGguZ2.js";
3
+ import { Fragment as _, cloneVNode as v, computed as y, createBlock as b, createCommentVNode as x, createElementBlock as S, createElementVNode as C, createSlots as w, createTextVNode as T, createVNode as E, defineComponent as D, guardReactiveProps as O, h as k, inject as A, mergeProps as j, nextTick as ee, normalizeClass as M, normalizeProps as N, normalizeStyle as P, onBeforeUnmount as F, onMounted as te, onUnmounted as ne, openBlock as I, provide as L, reactive as R, ref as z, renderList as B, renderSlot as V, resolveComponent as H, resolveDirective as U, toDisplayString as W, toHandlers as G, vModelSelect as K, vModelText as q, watch as J, withCtx as Y, withDirectives as X, withModifiers as Z } from "vue";
4
+ //#region src/common/components/PaginationAmount.vue?vue&type=script&lang.ts
5
+ var re = D({
6
+ props: {
7
+ totalCount: {
8
+ type: Number,
9
+ default: 0
10
+ },
11
+ page: {
12
+ type: Number,
13
+ default: 0
14
+ },
15
+ pageSize: {
16
+ type: Number,
17
+ default: 0
18
+ },
19
+ showingText: {
20
+ type: String,
21
+ default: void 0
22
+ },
23
+ ofText: {
24
+ type: String,
25
+ default: void 0
26
+ }
27
+ },
28
+ setup(e) {
29
+ return {
30
+ pageStart: y(() => ((e.page ?? 1) - 1) * (e.pageSize ?? 1) + 1),
31
+ pageEnd: y(() => Math.min((e.page ?? 1) * (e.pageSize ?? 1), e.totalCount))
32
+ };
33
+ }
34
+ }), ie = {
35
+ key: 0,
36
+ class: "mb-0"
37
+ }, ae = {
38
+ key: 1,
39
+ class: "mb-0"
40
+ };
41
+ function oe(e, t, n, r, i, a) {
42
+ return e.totalCount >= e.pageSize ? (I(), S("p", ie, [
43
+ T(W(e.showingText) + "\xA0", 1),
44
+ C("strong", null, W(e.pageStart) + "-" + W(e.pageEnd), 1),
45
+ T(" " + W(e.ofText) + "\xA0", 1),
46
+ C("strong", null, W(e.totalCount), 1)
47
+ ])) : (I(), S("p", ae, [
48
+ T(W(e.showingText) + "\xA0", 1),
49
+ C("strong", null, W(e.totalCount), 1),
50
+ T(" " + W(e.ofText) + "\xA0", 1),
51
+ C("strong", null, W(e.totalCount), 1)
52
+ ]));
53
+ }
54
+ var se = /*#__PURE__*/ p(re, [["render", oe]]), ce = D({
55
+ components: {
56
+ Badge: i,
57
+ Clickable: n
58
+ },
59
+ props: {
60
+ categories: {
61
+ type: Array,
62
+ default: void 0
63
+ },
64
+ configuratorsNumberTitle: {
65
+ type: String,
66
+ default: void 0
67
+ },
68
+ configuratorsVisible: Boolean
69
+ },
70
+ emits: ["click-item"]
71
+ }), le = { class: "list-group list-group-flush" }, ue = { class: "pis-label text-break" }, de = { class: "ms-1 pis-label text-muted small" }, fe = { class: "d-flex align-items-center ms-auto" };
72
+ function pe(e, t, n, r, i, a) {
73
+ let o = H("Badge"), s = H("Clickable"), c = U("pis-test-key");
74
+ return I(), S("div", le, [(I(!0), S(_, null, B(e.categories, (t) => X((I(), b(s, {
75
+ key: t.cid,
76
+ class: "list-group-item list-group-item-action d-flex align-items-start pis-category-link border-0",
77
+ onClick: (n) => e.$emit("click-item", t)
78
+ }, {
79
+ default: Y(() => [C("span", ue, [C("span", null, W(t.name), 1), C("span", de, "(" + W(t.hitCount) + ")", 1)]), C("span", fe, [e.configuratorsVisible && t.configuratorHitCount ? (I(), b(o, {
80
+ key: 0,
81
+ class: "ms-1",
82
+ highlighted: "",
83
+ title: e.configuratorsNumberTitle,
84
+ textContent: W(t.configuratorHitCount)
85
+ }, null, 8, ["title", "textContent"])) : x("", !0)])]),
86
+ _: 2
87
+ }, 1032, ["onClick"])), [[c, t]])), 128))]);
88
+ }
89
+ var me = /*#__PURE__*/ p(ce, [["render", pe]]), he = {
90
+ ok: "confirmation-ok",
91
+ cancelled: "confirmation-cancelled"
92
+ }, ge = D({
93
+ name: "Confirmation",
94
+ components: {
95
+ Btn: c,
96
+ Modal: g
97
+ },
98
+ props: {
99
+ t: {
100
+ type: Function,
101
+ required: !0
102
+ },
103
+ item: {
104
+ type: Object,
105
+ required: !1,
106
+ default: void 0
107
+ },
108
+ title: {
109
+ type: String,
110
+ default: void 0
111
+ },
112
+ lg: {
113
+ type: Boolean,
114
+ default: !1
115
+ },
116
+ xl: {
117
+ type: Boolean,
118
+ default: !1
119
+ }
120
+ },
121
+ emits: [
122
+ "update:show",
123
+ he.ok,
124
+ he.cancelled
125
+ ],
126
+ setup() {
127
+ return { confirmationEvent: he };
128
+ }
129
+ }), _e = { class: "d-flex justify-content-end mt-3" };
130
+ function ve(e, t, n, r, i, a) {
131
+ let o = H("Btn"), s = H("Modal");
132
+ return I(), b(s, {
133
+ show: !!e.item,
134
+ title: e.title,
135
+ lg: e.lg,
136
+ xl: e.xl,
137
+ "onUpdate:show": t[2] || (t[2] = (t) => e.$emit("update:show"))
138
+ }, {
139
+ default: Y(() => [C("form", null, [V(e.$slots, "default"), C("div", _e, [E(o, {
140
+ variant: "primary",
141
+ onClick: t[0] || (t[0] = Z((t) => e.$emit(e.confirmationEvent.ok, e.item), ["prevent"]))
142
+ }, {
143
+ default: Y(() => [T(W(e.t("Confirm", !0)), 1)]),
144
+ _: 1
145
+ }), E(o, {
146
+ class: "mx-2",
147
+ onClick: t[1] || (t[1] = Z((t) => e.$emit(e.confirmationEvent.cancelled, e.item), ["prevent"]))
148
+ }, {
149
+ default: Y(() => [T(W(e.t("Cancel", !0)), 1)]),
150
+ _: 1
151
+ })])])]),
152
+ _: 3
153
+ }, 8, [
154
+ "show",
155
+ "title",
156
+ "lg",
157
+ "xl"
158
+ ]);
159
+ }
160
+ var ye = /*#__PURE__*/ p(ge, [["render", ve]]), be = D({
161
+ name: "SearchFormView",
162
+ components: {
163
+ Btn: c,
164
+ Dropdown: d,
165
+ FormInputClearable: s,
166
+ Badge: i,
167
+ Clickable: n,
168
+ Spinner: f,
169
+ Highlighter: r,
170
+ Image: h,
171
+ MountPoint: o,
172
+ Icon: a
173
+ },
174
+ props: {
175
+ setRoot: {
176
+ type: Function,
177
+ required: !0
178
+ },
179
+ componentName: {
180
+ type: String,
181
+ required: !0
182
+ },
183
+ isReady: {
184
+ type: Boolean,
185
+ default: !1
186
+ },
187
+ options: {
188
+ type: Object,
189
+ default: () => ({})
190
+ },
191
+ adapter: {
192
+ type: Object,
193
+ required: !0
194
+ }
195
+ },
196
+ setup(e) {
197
+ let { t, widerThan: n, narrowerThan: r, onAutocompleteItemClick: i } = e.adapter, a = R({
198
+ text: "",
199
+ type: e.adapter.initialSearchType,
200
+ isDirty: !1
201
+ }), o = z({
202
+ totalCount: 0,
203
+ itemsCount: 0,
204
+ items: []
205
+ }), s = z(!1), c = z(!1), u = y(() => !!e.options.visible), d = y(() => !!e.options.useAutocomplete), f = y(() => o.value.items.some((e) => e.type === "category")), p = y(() => e.adapter.placeholder()), h = y(() => e.adapter.searchAriaLabel()), g = y(() => e.adapter.searchTypeOptions()), _ = y(() => e.adapter.isSearchTypeDropdownVisible());
206
+ if (e.adapter.syncTypeFromRouteOnReady) {
207
+ let t = J(() => e.isReady, (n) => {
208
+ if (n) {
209
+ let n = e.adapter.routeSearchType();
210
+ n && (a.type = n), t();
211
+ }
212
+ });
213
+ }
214
+ let v = 0, b = 0, x = async (t, n) => {
215
+ s.value = !1, b++, k.cancel(), c.value = !1;
216
+ let r = n || o.value.matchesOnlyWithoutFilters, i = t || r, l = ++v;
217
+ try {
218
+ let t = await e.adapter.search({
219
+ searchText: a.text,
220
+ searchType: a.type,
221
+ resetCategories: i,
222
+ resetFilters: r
223
+ }, { autocomplete: o.value });
224
+ if (l !== v) return;
225
+ (t == null ? void 0 : t.searchText) !== void 0 && (a.text = t.searchText), a.isDirty = !1;
226
+ } catch {}
227
+ }, S = (e) => {
228
+ a.text = e, x();
229
+ }, C = (e) => {
230
+ a.text = e;
231
+ }, w = () => {
232
+ a.isDirty || (a.text = "", o.value.items = [], o.value.totalCount = 0, x(!1));
233
+ }, T = () => {
234
+ d.value && a.text != e.adapter.routeSearchText() && a.text.length > 2 && (s.value = !0, e.adapter.refreshAutocompleteOnFocus && k(a.text));
235
+ }, E = () => {
236
+ s.value = !1;
237
+ }, D = (e, t) => {
238
+ if (e.attributes) {
239
+ var n = e.attributes[t];
240
+ if (n && n.values) return n.values[0].text;
241
+ }
242
+ }, O = (e) => {
243
+ if (e.attributes) {
244
+ var t = e.attributes["#AllIdentifiers"];
245
+ if (t && t.values) return t.values.map((e) => e.text).join(", ");
246
+ }
247
+ }, k = m(async (t) => {
248
+ if (!d.value) return;
249
+ let n = ++b, r = t != null && t.length > 2;
250
+ if (s.value = r, r || (c.value = !1), r) {
251
+ var i;
252
+ c.value = !0;
253
+ let r = [], s = await ((i = e.adapter.autocomplete(t)) == null ? void 0 : i.catch(() => void 0));
254
+ if (n !== b) return;
255
+ if (s) {
256
+ var a, l;
257
+ let t = (s.items || []).map((e) => ({
258
+ ...e,
259
+ text: D(e, "#DisplayName") || "",
260
+ secondaryText: O(e) || "",
261
+ description: D(e, "CatalogDescription") || "",
262
+ images: e.images,
263
+ type: "item",
264
+ location: "bottom"
265
+ })), n = {
266
+ totalCount: s.totalCount || 0,
267
+ itemsCount: ((a = s.items) == null ? void 0 : a.length) || 0,
268
+ items: [],
269
+ autoCategoryNavigationCid: (l = s.autoCategoryNavigationCategory) == null ? void 0 : l.cid
270
+ }, i = e.adapter.isRootCategory();
271
+ if (t.length) {
272
+ var u;
273
+ r.push({
274
+ attributes: {},
275
+ productId: "",
276
+ count: s.totalCount,
277
+ type: i ? "root" : "current",
278
+ location: "bottom",
279
+ categoryName: (u = s.autoCategoryNavigationCategory) == null ? void 0 : u.name,
280
+ sparePart: !1,
281
+ exactMatch: !1
282
+ });
283
+ }
284
+ s.totalCount != s.rootTotalCount && r.push({
285
+ attributes: {},
286
+ productId: "",
287
+ count: s.rootTotalCount,
288
+ type: "root",
289
+ location: "bottom",
290
+ sparePart: !1,
291
+ exactMatch: !1
292
+ }), s.noFiltersTotalCount > 0 && r.push({
293
+ attributes: {},
294
+ productId: "",
295
+ count: s.noFiltersTotalCount,
296
+ type: "no-filters",
297
+ location: "bottom",
298
+ sparePart: !1,
299
+ exactMatch: !1
300
+ }), s.categories && s.categories.forEach((t, n) => {
301
+ var i, a, o;
302
+ if (n > (e.options.maxCategoryMatches ?? 2) - 1) return;
303
+ let s = "";
304
+ t.breadcrumbs && t.breadcrumbs.length > 0 && (s = t.breadcrumbs.slice(0, t.breadcrumbs.length - 1).map((e) => e.name).join(" > ")), r.push({
305
+ attributes: {},
306
+ productId: ((i = t.match) == null ? void 0 : i.cid) ?? "",
307
+ text: (a = t.match) == null ? void 0 : a.name,
308
+ secondaryText: s,
309
+ description: (o = t.keywords) == null ? void 0 : o.join(", "),
310
+ images: t.images,
311
+ type: "category",
312
+ location: "top",
313
+ sparePart: !1,
314
+ exactMatch: !1
315
+ });
316
+ }), n.items = r.concat(t), n.matchesOnlyInAllCategories = s.totalCount == 0 && s.rootTotalCount > 0, n.matchesOnlyWithoutFilters = s.noFiltersTotalCount > 0, o.value = n;
317
+ }
318
+ c.value = !1;
319
+ }
320
+ }, 300), A = () => {
321
+ var t;
322
+ a.isDirty = ((t = a.text) == null ? void 0 : t.length) > 0 && a.text != e.adapter.routeSearchText(), k(a.text);
323
+ }, j = e.adapter.inputDebounceMs ? m(A, e.adapter.inputDebounceMs) : void 0, ee = j ?? A;
324
+ F(() => {
325
+ b++, v++, k.cancel(), j == null || j.cancel();
326
+ }), J(() => e.adapter.routeSearchText(), (e, t) => {
327
+ e !== t && (a.text = e ?? "");
328
+ }), J(() => e.adapter.routeSearchType(), (t, n) => {
329
+ t && t !== n && e.adapter.acceptsRouteSearchType(t) && (a.type = t);
330
+ }), J(() => a.type, () => {
331
+ e.adapter.applyRouteSearchType(a.type);
332
+ });
333
+ let M = y(() => {
334
+ if (!a.text) return [];
335
+ let e = a.text.trim().toLowerCase().split(/[._-\s/]+/);
336
+ e.push(a.text.trim());
337
+ let t = a.text.match(/\d+/g), n = a.text;
338
+ t && t.forEach((t) => {
339
+ e.push(t), n = n.replace(t, "$");
340
+ });
341
+ let r = n.trim().toLowerCase().split("$");
342
+ return e.push(...r), e;
343
+ }), N = (e) => {
344
+ if (e.images && e.images.length > 0) return e.images[0].thumbnailUrl;
345
+ }, P = l((t) => e.adapter.buildAutocompleteItemCtx(t.item));
346
+ return {
347
+ t,
348
+ widerThan: n,
349
+ narrowerThan: r,
350
+ itemTopSlotProps: (e) => ({
351
+ item: e,
352
+ highlightTerms: M.value,
353
+ getThumbnailUrl: N,
354
+ closeAutocomplete: E,
355
+ setSearchText: C
356
+ }),
357
+ searchModel: a,
358
+ searchTypeOptions: g,
359
+ autocomplete: o,
360
+ isAutocompleteVisible: s,
361
+ isAutocompleteLoading: c,
362
+ placeholder: p,
363
+ searchAriaLabel: h,
364
+ isSearchTypeDropdownVisible: _,
365
+ dropdownMaxHeight: e.adapter.dropdownMaxHeight,
366
+ showCurrentCategoryNameBadge: !!e.adapter.showCurrentCategoryNameBadge,
367
+ hideItemsWhileLoading: !!e.adapter.hideItemsWhileLoading,
368
+ visible: u,
369
+ hasCategories: f,
370
+ onSearch: x,
371
+ onSearchInput: ee,
372
+ onClear: w,
373
+ searchText: S,
374
+ setSearchText: C,
375
+ openAutocomplete: T,
376
+ closeAutocomplete: E,
377
+ onAutocompleteItemClick: i,
378
+ highlightTerms: M,
379
+ getThumbnailUrl: N,
380
+ autocompleteItemCtx: P
381
+ };
382
+ }
383
+ }), xe = {
384
+ key: 0,
385
+ class: "mb-4"
386
+ }, Se = { class: "d-flex align-items-center" }, Ce = {
387
+ key: 0,
388
+ style: {
389
+ width: "4rem",
390
+ "min-width": "4rem"
391
+ },
392
+ class: "me-2"
393
+ }, we = { key: 2 }, Te = { class: "fw-bold ext-display-name" }, Ee = {
394
+ key: 0,
395
+ class: "small ext-all-identifiers text-wrap"
396
+ }, De = {
397
+ key: 1,
398
+ class: "small ext-description text-wrap"
399
+ }, Oe = {
400
+ key: 0,
401
+ class: "text-center"
402
+ }, ke = { key: 1 }, Ae = { key: 2 }, je = ["value", "textContent"];
403
+ function Me(e, t, n, r, i, a) {
404
+ let o = H("Badge"), s = H("Clickable"), c = H("Image"), l = H("MountPoint"), u = H("Highlighter"), d = H("Spinner"), f = H("FormInputClearable"), p = H("Icon"), m = H("Btn"), h = H("Dropdown"), g = U("pis-test-key");
405
+ return I(), S("div", {
406
+ ref: e.setRoot,
407
+ class: M(["pis-component", e.componentName])
408
+ }, [e.isReady && e.visible ? (I(), S("div", xe, [E(h, {
409
+ open: e.isAutocompleteVisible,
410
+ "onUpdate:open": t[6] || (t[6] = (t) => e.isAutocompleteVisible = t),
411
+ "min-width": "340px",
412
+ "max-height": e.dropdownMaxHeight,
413
+ items: e.hideItemsWhileLoading && e.isAutocompleteLoading ? [] : e.autocomplete.items
414
+ }, w({
415
+ item: Y(({ item: n }) => [n.type === "no-filters" ? X((I(), b(s, {
416
+ key: 0,
417
+ class: "d-flex align-items-center dropdown-item py-2",
418
+ onClick: t[0] || (t[0] = (t) => e.onSearch(!0, !0))
419
+ }, {
420
+ default: Y(() => [C("em", null, "\"" + W(e.searchModel.text) + "\"", 1), E(o, { class: "ms-auto" }, {
421
+ default: Y(() => [T(W(e.t("ShowingNWithoutFilters", !1, [n && n.count || 0])), 1)]),
422
+ _: 2
423
+ }, 1024)]),
424
+ _: 2
425
+ }, 1024)), [[g, n]]) : x("", !0), n.type === "root" ? X((I(), b(s, {
426
+ key: 1,
427
+ class: "d-flex align-items-center dropdown-item py-2",
428
+ onClick: t[1] || (t[1] = (t) => e.onSearch(!0))
429
+ }, {
430
+ default: Y(() => [C("em", null, "\"" + W(e.searchModel.text) + "\"", 1), E(o, { class: "ms-auto" }, {
431
+ default: Y(() => [T(W(e.t("ShowingNOfAllCategories", !1, [n && n.count || 0])), 1)]),
432
+ _: 2
433
+ }, 1024)]),
434
+ _: 2
435
+ }, 1024)), [[g, n]]) : n.type === "current" ? X((I(), b(s, {
436
+ key: 2,
437
+ class: "d-flex align-items-center dropdown-item py-2",
438
+ onClick: t[2] || (t[2] = (t) => e.onSearch(!1))
439
+ }, {
440
+ default: Y(() => [C("em", null, "\"" + W(e.searchModel.text) + "\"", 1), e.showCurrentCategoryNameBadge && n.categoryName ? (I(), b(o, {
441
+ key: 0,
442
+ class: "ms-auto"
443
+ }, {
444
+ default: Y(() => [T(W(n && n.count || 0) + " " + W(e.t("In")) + " \"" + W(n.categoryName) + "\" ", 1)]),
445
+ _: 2
446
+ }, 1024)) : (I(), b(o, {
447
+ key: 1,
448
+ class: "ms-auto"
449
+ }, {
450
+ default: Y(() => [T(W(e.t("ShowingNOfCurrentCategory", !1, [n && n.count || 0])), 1)]),
451
+ _: 2
452
+ }, 1024))]),
453
+ _: 2
454
+ }, 1024)), [[g, n]]) : n.type === "item" ? X((I(), b(s, {
455
+ key: 3,
456
+ class: "dropdown-item mb-1",
457
+ onClick: (t) => e.onAutocompleteItemClick(n, e.searchText)
458
+ }, {
459
+ default: Y(() => [C("div", Se, [e.options.showProductImages ? (I(), S("div", Ce, [E(c, { src: e.getThumbnailUrl(n) }, null, 8, ["src"])])) : x("", !0), e.options.autocompleteItemTemplate ? (I(), b(l, {
460
+ key: 1,
461
+ callbacks: e.options.autocompleteItemTemplate,
462
+ ctx: e.autocompleteItemCtx({ item: n })
463
+ }, null, 8, ["callbacks", "ctx"])) : (I(), S("div", we, [
464
+ C("div", Te, [E(u, {
465
+ "highlight-class-name": "text-primary p-0 display-inline bg-transparent ext-highlight",
466
+ "highlight-tag": "span",
467
+ "search-words": e.highlightTerms,
468
+ "auto-escape": !0,
469
+ "text-to-highlight": n.text
470
+ }, null, 8, ["search-words", "text-to-highlight"])]),
471
+ n.text == n.secondaryText ? x("", !0) : (I(), S("div", Ee, [E(u, {
472
+ "highlight-class-name": "fw-bold text-primary p-0 display-inline bg-transparent ext-highlight",
473
+ "highlight-tag": "span",
474
+ "search-words": e.highlightTerms,
475
+ "auto-escape": !0,
476
+ "text-to-highlight": n.secondaryText
477
+ }, null, 8, ["search-words", "text-to-highlight"])])),
478
+ n.description ? (I(), S("div", De, [E(u, {
479
+ "highlight-class-name": "fw-bold text-primary p-0 display-inline bg-transparent ext-highlight",
480
+ "highlight-tag": "span",
481
+ "search-words": e.highlightTerms,
482
+ "auto-escape": !0,
483
+ "text-to-highlight": n.description
484
+ }, null, 8, ["search-words", "text-to-highlight"])])) : x("", !0)
485
+ ]))])]),
486
+ _: 2
487
+ }, 1032, ["onClick"])), [[g, n]]) : x("", !0)]),
488
+ footer: Y(() => [e.isAutocompleteLoading ? (I(), S("div", Oe, [E(d, { sm: "" })])) : e.autocomplete.totalCount ? (I(), S("small", ke, W(e.t("ShowingNOfNMatches", !1, [`${e.autocomplete.itemsCount || 0}`, `${e.autocomplete.totalCount || 0}`])), 1)) : (I(), S("small", Ae, W(e.autocomplete.matchesOnlyWithoutFilters ? e.t("NoResultsWithAppliedFilters") : e.autocomplete.matchesOnlyInAllCategories ? e.t("NoResultsInCategory") : e.t("NoResults")), 1))]),
489
+ activator: Y(({ on: n, aria: r }) => [C("form", {
490
+ class: M([e.widerThan("sm") && "input-group flex-nowrap"]),
491
+ onSubmit: t[5] || (t[5] = Z((t) => e.onSearch(!1), ["prevent"]))
492
+ }, [
493
+ E(f, j({
494
+ modelValue: e.searchModel.text,
495
+ "onUpdate:modelValue": t[3] || (t[3] = (t) => e.searchModel.text = t),
496
+ "class-inner": e.widerThan("sm") ? "border-end-0 " : "mb-1",
497
+ "remove-radius-end": e.widerThan("sm"),
498
+ lg: e.widerThan("sm"),
499
+ placeholder: e.placeholder,
500
+ "aria-label": e.placeholder
501
+ }, r, G(n), {
502
+ "onUpdate:modelValue": e.onSearchInput,
503
+ onClear: e.onClear,
504
+ onFocus: e.openAutocomplete
505
+ }), null, 16, [
506
+ "modelValue",
507
+ "class-inner",
508
+ "remove-radius-end",
509
+ "lg",
510
+ "placeholder",
511
+ "aria-label",
512
+ "onUpdate:modelValue",
513
+ "onClear",
514
+ "onFocus"
515
+ ]),
516
+ e.isSearchTypeDropdownVisible ? X((I(), S("select", {
517
+ key: 0,
518
+ "onUpdate:modelValue": t[4] || (t[4] = (t) => e.searchModel.type = t),
519
+ class: M(["form-select px-2", [e.narrowerThan("sm") && "mb-1"]]),
520
+ style: P({
521
+ "min-width": e.widerThan("sm") ? "200px" : "100%",
522
+ "max-width": e.widerThan("sm") ? "300px" : "100%"
523
+ })
524
+ }, [(I(!0), S(_, null, B(e.searchTypeOptions, (t) => X((I(), S("option", {
525
+ key: t.value,
526
+ value: t.value,
527
+ textContent: W(e.t(t.translate))
528
+ }, null, 8, je)), [[g, t]])), 128))], 6)), [[K, e.searchModel.type]]) : x("", !0),
529
+ E(m, {
530
+ "aria-label": e.searchAriaLabel,
531
+ variant: "primary",
532
+ class: M([e.narrowerThan("sm") && "w-100 d-flex justify-content-center"])
533
+ }, {
534
+ default: Y(() => [E(p, {
535
+ name: "lens-search-find",
536
+ size: 24,
537
+ class: "me-2"
538
+ }), C("span", null, W(e.t("SearchButtonText")), 1)]),
539
+ _: 1
540
+ }, 8, ["aria-label", "class"])
541
+ ], 34)]),
542
+ _: 2
543
+ }, [
544
+ e.hasCategories && !e.isAutocompleteLoading ? {
545
+ name: "item-top-title",
546
+ fn: Y(() => [V(e.$slots, "item-top-title")]),
547
+ key: "0"
548
+ } : void 0,
549
+ e.hasCategories && !e.isAutocompleteLoading ? {
550
+ name: "item-title",
551
+ fn: Y(() => [V(e.$slots, "item-title")]),
552
+ key: "1"
553
+ } : void 0,
554
+ e.isAutocompleteLoading ? void 0 : {
555
+ name: "item-top",
556
+ fn: Y(({ item: t }) => [V(e.$slots, "item-top", N(O(e.itemTopSlotProps(t))))]),
557
+ key: "2"
558
+ }
559
+ ]), 1032, [
560
+ "open",
561
+ "max-height",
562
+ "items"
563
+ ])])) : x("", !0)], 2);
564
+ }
565
+ var Ne = /*#__PURE__*/ p(be, [["render", Me]]), Pe = D({
566
+ name: "SearchGridView",
567
+ components: {
568
+ Image: h,
569
+ Clickable: n,
570
+ Icon: a,
571
+ MountPoint: o
572
+ },
573
+ props: {
574
+ setRoot: {
575
+ type: Function,
576
+ required: !0
577
+ },
578
+ componentName: {
579
+ type: String,
580
+ required: !0
581
+ },
582
+ isReady: {
583
+ type: Boolean,
584
+ default: !1
585
+ },
586
+ hideIfInitial: {
587
+ type: Boolean,
588
+ default: !1
589
+ },
590
+ options: {
591
+ type: Object,
592
+ default: () => ({})
593
+ },
594
+ items: {
595
+ type: Array,
596
+ default: void 0
597
+ },
598
+ instance: {
599
+ type: Object,
600
+ default: void 0
601
+ },
602
+ cardClass: {
603
+ type: String,
604
+ required: !0
605
+ },
606
+ selectCheckboxStyle: {
607
+ type: String,
608
+ required: !0
609
+ },
610
+ previewEnabled: {
611
+ type: Boolean,
612
+ default: !1
613
+ },
614
+ adapter: {
615
+ type: Object,
616
+ required: !0
617
+ }
618
+ },
619
+ setup(t) {
620
+ let { t: n, widerThan: r, details: i, getItemImage: a, isImageDisabled: o, isPreviewDisabled: s, preview: c } = t.adapter, u = (e) => t.options.actionTemplate && (t.options.showActionTemplateIfInactive || !(e != null && e.inactive)), d = l((e) => t.adapter.buildImageOverlayCtx(e.item)), f = l((e) => t.adapter.buildTitleCtx(e.item)), p = l((e) => t.adapter.buildItemCtx(e.item)), m = l((e) => t.adapter.buildActionCtx(e.item));
621
+ return {
622
+ t: n,
623
+ widerThan: r,
624
+ details: i,
625
+ getItemImage: a,
626
+ isImageDisabled: o,
627
+ isPreviewDisabled: s,
628
+ preview: c,
629
+ attrValues: e,
630
+ showActionTemplate: u,
631
+ imageOverlayCtx: d,
632
+ titleCtx: f,
633
+ itemCtx: p,
634
+ actionCtx: m
635
+ };
636
+ }
637
+ }), Fe = { class: "card-img-top position-relative pt-5" }, Ie = { key: 0 }, Le = { class: "card-body" }, Re = { class: "d-flex justify-content-center text-center" }, ze = {
638
+ key: 0,
639
+ class: "card-footer"
640
+ }, Be = { class: "text-center" }, Ve = ["checked", "onClick"];
641
+ function He(e, t, n, r, i, a) {
642
+ let o = H("Image"), s = H("MountPoint"), c = H("Icon"), l = H("Clickable"), u = U("pis-test-key");
643
+ return I(), S("div", {
644
+ ref: e.setRoot,
645
+ class: M(["pis-component", e.componentName])
646
+ }, [e.isReady && e.options.visible ? (I(), S(_, { key: 0 }, [V(e.$slots, "before-results"), !e.hideIfInitial && e.items && e.items.length ? (I(), S("div", {
647
+ key: 0,
648
+ class: M(["row", [e.widerThan("md") ? "g-4" : "g-3"]])
649
+ }, [(I(!0), S(_, null, B(e.items, (t) => {
650
+ var n, r;
651
+ return X((I(), S("div", {
652
+ key: t.productId,
653
+ class: M([e.widerThan("xl") ? "col-3" : e.widerThan("lg") ? "col-4" : e.widerThan("sm") ? "col-6" : "col-12"])
654
+ }, [C("div", { class: M([e.cardClass, {
655
+ "bg-light": t.exactMatch,
656
+ "ext-selected": (n = e.instance) == null ? void 0 : n.selection.isSelected(t)
657
+ }]) }, [
658
+ C("div", Fe, [E(o, {
659
+ src: e.getItemImage(t),
660
+ "max-size": 300,
661
+ role: "button",
662
+ "hide-frame": "",
663
+ class: "card-img-top",
664
+ style: {
665
+ "max-width": "80% !important",
666
+ margin: "auto"
667
+ },
668
+ "lazy-loading": e.options.imageLazyLoading,
669
+ clickable: e.options.navigateOnContentClick && !e.isImageDisabled(t),
670
+ onClick: Z((n) => e.options.navigateOnContentClick && !e.isImageDisabled(t) && e.details(t), ["prevent"])
671
+ }, null, 8, [
672
+ "src",
673
+ "lazy-loading",
674
+ "clickable",
675
+ "onClick"
676
+ ]), e.options.imageOverlayTemplate ? (I(), S("div", Ie, [E(s, {
677
+ callbacks: e.options.imageOverlayTemplate,
678
+ ctx: e.imageOverlayCtx({ item: t })
679
+ }, null, 8, ["callbacks", "ctx"])])) : x("", !0)]),
680
+ C("div", Le, [
681
+ V(e.$slots, "body-top", { item: t }),
682
+ C("div", Re, [V(e.$slots, "title-prefix", { item: t }), e.options.titleTemplate ? (I(), b(s, {
683
+ key: 0,
684
+ callbacks: e.options.titleTemplate,
685
+ ctx: e.titleCtx({ item: t })
686
+ }, null, 8, ["callbacks", "ctx"])) : V(e.$slots, "title-fallback", { item: t }, void 0, void 0, 1)]),
687
+ e.options.showAllIdentifiers ? (I(!0), S(_, { key: 0 }, B(e.attrValues(t, "#AllIdentifiers"), (e, t) => X((I(), S("div", {
688
+ key: t,
689
+ class: "text-center small text-muted fw-bold my-2"
690
+ }, [T(W(e), 1)])), [[u, e]])), 128)) : x("", !0),
691
+ e.options.itemTemplate ? (I(), b(s, {
692
+ key: 1,
693
+ callbacks: e.options.itemTemplate,
694
+ ctx: e.itemCtx({ item: t })
695
+ }, null, 8, ["callbacks", "ctx"])) : V(e.$slots, "item-fallback", { item: t }, void 0, void 0, 2),
696
+ V(e.$slots, "item-extra", { item: t })
697
+ ]),
698
+ e.showActionTemplate(t) ? (I(), S("div", ze, [C("div", Be, [E(s, {
699
+ callbacks: e.options.actionTemplate,
700
+ ctx: e.actionCtx({ item: t })
701
+ }, null, 8, ["callbacks", "ctx"])])])) : x("", !0),
702
+ e.previewEnabled ? (I(), S(_, { key: 1 }, [e.isPreviewDisabled(t) ? (I(), S("span", {
703
+ key: 1,
704
+ class: "position-absolute top-0 start-0 p-2 d-flex ext-icon-preview text-muted",
705
+ style: P({ "margin-left": e.options.selectable ? "2rem" : "0" })
706
+ }, [E(c, {
707
+ class: "text-muted",
708
+ name: "document-analysis",
709
+ size: 24
710
+ })], 4)) : (I(), b(l, {
711
+ key: 0,
712
+ class: "position-absolute top-0 start-0 p-2 d-flex ext-icon-preview",
713
+ "hover-mode": "primary",
714
+ style: P({ "margin-left": e.options.selectable ? "2rem" : "0" }),
715
+ title: e.t("Preview", !0),
716
+ onClick: (n) => !e.isPreviewDisabled(t) && e.preview(t)
717
+ }, {
718
+ default: Y(() => [E(c, {
719
+ class: "text-muted",
720
+ name: "document-analysis",
721
+ size: 24
722
+ })]),
723
+ _: 1
724
+ }, 8, [
725
+ "style",
726
+ "title",
727
+ "onClick"
728
+ ]))], 64)) : x("", !0),
729
+ e.options.selectable ? (I(), S("div", {
730
+ key: 2,
731
+ class: "position-absolute p-2 top-0 start-0 ext-select-checkbox",
732
+ style: P(e.selectCheckboxStyle)
733
+ }, [C("input", {
734
+ type: "checkbox",
735
+ class: "form-check-input",
736
+ checked: (r = e.instance) == null ? void 0 : r.selection.isSelected(t),
737
+ onClick: (n) => {
738
+ var r;
739
+ return (r = e.instance) == null ? void 0 : r.selection.toggle(t);
740
+ }
741
+ }, null, 8, Ve)], 4)) : x("", !0)
742
+ ], 2)], 2)), [[u, t]]);
743
+ }), 128))], 2)) : x("", !0)], 64)) : x("", !0)], 2);
744
+ }
745
+ var Ue = /*#__PURE__*/ p(Pe, [["render", He]]), We = D({
746
+ name: "SearchListView",
747
+ components: {
748
+ Clickable: n,
749
+ Icon: a,
750
+ Image: h,
751
+ MountPoint: o
752
+ },
753
+ props: {
754
+ setRoot: {
755
+ type: Function,
756
+ required: !0
757
+ },
758
+ componentName: {
759
+ type: String,
760
+ required: !0
761
+ },
762
+ isReady: {
763
+ type: Boolean,
764
+ default: !1
765
+ },
766
+ hideIfInitial: {
767
+ type: Boolean,
768
+ default: !1
769
+ },
770
+ options: {
771
+ type: Object,
772
+ default: () => ({})
773
+ },
774
+ items: {
775
+ type: Array,
776
+ default: void 0
777
+ },
778
+ instance: {
779
+ type: Object,
780
+ default: void 0
781
+ },
782
+ isDesktop: {
783
+ type: Boolean,
784
+ default: !1
785
+ },
786
+ selectableAddsImageMargin: {
787
+ type: Boolean,
788
+ default: !1
789
+ },
790
+ previewEnabled: {
791
+ type: Boolean,
792
+ default: !1
793
+ },
794
+ adapter: {
795
+ type: Object,
796
+ required: !0
797
+ }
798
+ },
799
+ setup(n) {
800
+ let { t: r, details: i, getItemImage: a, isImageDisabled: o, isPreviewDisabled: s, preview: c, onImageClick: u } = n.adapter, d = (e) => n.options.actionTemplate && (n.options.showActionTemplateIfInactive || !(e != null && e.inactive)), f = l((e) => n.adapter.buildImageOverlayCtx(e.item)), p = l((e) => n.adapter.buildTitleCtx(e.item)), m = l((e) => n.adapter.buildItemCtx(e.item)), h = l((e) => n.adapter.buildAdditionalColumnCtx(e.item)), g = l((e) => n.adapter.buildActionCtx(e.item));
801
+ return {
802
+ t: r,
803
+ details: i,
804
+ getItemImage: a,
805
+ isImageDisabled: o,
806
+ isPreviewDisabled: s,
807
+ preview: c,
808
+ onImageClick: u,
809
+ attrValue: t,
810
+ attrValues: e,
811
+ showActionTemplate: d,
812
+ imageOverlayCtx: f,
813
+ titleCtx: p,
814
+ itemCtx: m,
815
+ additionalColumnCtx: h,
816
+ actionCtx: g
817
+ };
818
+ }
819
+ }), Ge = { key: 0 }, Ke = { class: "row align-items-center" }, qe = {
820
+ key: 1,
821
+ class: "position-absolute p-2 top-50 start-0 ext-select-checkbox",
822
+ style: {
823
+ "z-index": "1",
824
+ width: "auto",
825
+ "margin-top": "-1rem"
826
+ }
827
+ }, Je = ["checked", "onClick"], Ye = { class: "position-relative col d-flex justify-content-center align-items-center card" }, Xe = { key: 0 }, Ze = {
828
+ key: 3,
829
+ class: "col-12 g-0"
830
+ }, Qe = { class: "position-relative col d-flex justify-content-center align-items-center" }, $e = { key: 0 }, et = {
831
+ key: 0,
832
+ class: "text-muted"
833
+ }, tt = ["onClick"];
834
+ function nt(e, t, n, r, i, a) {
835
+ let o = H("Icon"), s = H("Clickable"), c = H("Image"), l = H("MountPoint"), u = U("pis-test-key");
836
+ return I(), S("div", {
837
+ ref: e.setRoot,
838
+ class: M(["pis-component", e.componentName])
839
+ }, [e.isReady ? (I(), S(_, { key: 0 }, [V(e.$slots, "before-results"), !e.hideIfInitial && e.items && e.items.length ? (I(), S("div", Ge, [(I(!0), S(_, null, B(e.items, (t) => {
840
+ var n, r;
841
+ return X((I(), S("div", {
842
+ key: t.productId,
843
+ class: M(["card mb-3 p-3", {
844
+ "pt-0": !e.isDesktop,
845
+ "bg-light": t.exactMatch,
846
+ "ext-selected": (n = e.instance) == null ? void 0 : n.selection.isSelected(t)
847
+ }])
848
+ }, [C("div", Ke, [
849
+ e.previewEnabled ? (I(), b(s, {
850
+ key: 0,
851
+ class: "position-absolute p-2 top-0 start-0 d-flex ext-icon-preview",
852
+ "hover-mode": "primary",
853
+ style: {
854
+ "z-index": "1",
855
+ width: "auto"
856
+ },
857
+ title: e.t("Preview", !0),
858
+ disabled: e.isPreviewDisabled(t),
859
+ onClick: (n) => !e.isPreviewDisabled(t) && e.preview(t)
860
+ }, {
861
+ default: Y(() => [E(o, {
862
+ class: "text-muted",
863
+ name: "document-analysis",
864
+ size: 24
865
+ })]),
866
+ _: 1
867
+ }, 8, [
868
+ "title",
869
+ "disabled",
870
+ "onClick"
871
+ ])) : x("", !0),
872
+ e.options.selectable ? (I(), S("div", qe, [C("input", {
873
+ type: "checkbox",
874
+ class: "form-check-input",
875
+ checked: (r = e.instance) == null ? void 0 : r.selection.isSelected(t),
876
+ onClick: (n) => {
877
+ var r;
878
+ return (r = e.instance) == null ? void 0 : r.selection.toggle(t);
879
+ }
880
+ }, null, 8, Je)])) : x("", !0),
881
+ e.isDesktop ? (I(), S("div", {
882
+ key: 2,
883
+ class: M([e.previewEnabled || e.selectableAddsImageMargin && e.options.selectable ? "ms-4" : "", "col"]),
884
+ style: P({ "max-width": e.options.imageSize })
885
+ }, [C("div", Ye, [E(c, {
886
+ style: P({ "max-width": e.options.imageSize }),
887
+ src: e.getItemImage(t),
888
+ clickable: e.options.navigateOnContentClick && !e.isImageDisabled(t),
889
+ "hide-frame": !0,
890
+ padding: e.options.imagePadding,
891
+ "lazy-loading": e.options.imageLazyLoading,
892
+ onClick: (n) => e.onImageClick(t, !1)
893
+ }, null, 8, [
894
+ "style",
895
+ "src",
896
+ "clickable",
897
+ "padding",
898
+ "lazy-loading",
899
+ "onClick"
900
+ ]), e.options.imageOverlayTemplate ? (I(), S("div", Xe, [E(l, {
901
+ callbacks: e.options.imageOverlayTemplate,
902
+ ctx: e.imageOverlayCtx({ item: t })
903
+ }, null, 8, ["callbacks", "ctx"])])) : x("", !0)])], 6)) : (I(), S("div", Ze, [C("div", Qe, [E(c, {
904
+ class: "mt-3",
905
+ style: { "max-width": "300px" },
906
+ src: e.getItemImage(t),
907
+ clickable: e.options.navigateOnContentClick && !e.isImageDisabled(t),
908
+ "hide-frame": !0,
909
+ onClick: (n) => e.onImageClick(t, !0)
910
+ }, null, 8, [
911
+ "src",
912
+ "clickable",
913
+ "onClick"
914
+ ]), e.options.imageOverlayTemplate ? (I(), S("div", $e, [E(l, {
915
+ callbacks: e.options.imageOverlayTemplate,
916
+ ctx: e.imageOverlayCtx({ item: t })
917
+ }, null, 8, ["callbacks", "ctx"])])) : x("", !0)])])),
918
+ C("div", { class: M([e.isDesktop ? "col" : "col-12 mt-3"]) }, [
919
+ V(e.$slots, "body-top", { item: t }),
920
+ V(e.$slots, "title-prefix", { item: t }),
921
+ e.options.titleTemplate ? (I(), b(l, {
922
+ key: 0,
923
+ callbacks: e.options.titleTemplate,
924
+ ctx: e.titleCtx({ item: t })
925
+ }, null, 8, ["callbacks", "ctx"])) : (I(), S(_, { key: 1 }, [t.inactive ? (I(), S("strong", et, W(e.attrValue(t, "#DisplayName")), 1)) : (I(), S("a", {
926
+ key: 1,
927
+ href: "#",
928
+ onClick: Z((n) => e.details(t), ["prevent"])
929
+ }, [C("strong", null, W(e.attrValue(t, "#DisplayName")), 1)], 8, tt))], 64)),
930
+ e.options.showAllIdentifiers ? (I(!0), S(_, { key: 2 }, B(e.attrValues(t, "#AllIdentifiers"), (e, t) => X((I(), S("div", {
931
+ key: t,
932
+ class: "small text-muted fw-bold"
933
+ }, [T(W(e), 1)])), [[u, e]])), 128)) : x("", !0),
934
+ e.options.itemTemplate ? (I(), b(l, {
935
+ key: 3,
936
+ callbacks: e.options.itemTemplate,
937
+ ctx: e.itemCtx({ item: t })
938
+ }, null, 8, ["callbacks", "ctx"])) : V(e.$slots, "item-fallback", { item: t }, void 0, void 0, 4),
939
+ V(e.$slots, "item-extra", { item: t })
940
+ ], 2),
941
+ e.options.additionalColumnTemplate ? (I(), S("div", {
942
+ key: 4,
943
+ class: M([e.isDesktop ? "col-" + e.options.additionalColumnTemplateWidth : "col-12 mt-3"])
944
+ }, [E(l, {
945
+ callbacks: e.options.additionalColumnTemplate,
946
+ ctx: e.additionalColumnCtx({ item: t })
947
+ }, null, 8, ["callbacks", "ctx"])], 2)) : x("", !0),
948
+ e.showActionTemplate(t) ? (I(), S("div", {
949
+ key: 5,
950
+ class: M([e.isDesktop ? "col-" + e.options.actionTemplateWidth : "col-12 mt-3"])
951
+ }, [E(l, {
952
+ callbacks: e.options.actionTemplate,
953
+ ctx: e.actionCtx({ item: t })
954
+ }, null, 8, ["callbacks", "ctx"])], 2)) : x("", !0)
955
+ ])], 2)), [[u, t]]);
956
+ }), 128))])) : x("", !0)], 64)) : x("", !0)], 2);
957
+ }
958
+ var rt = /*#__PURE__*/ p(We, [["render", nt]]), it = D({
959
+ props: {
960
+ modelValue: {
961
+ type: String,
962
+ default: void 0
963
+ },
964
+ placeholder: {
965
+ type: String,
966
+ default: void 0
967
+ },
968
+ classInner: {
969
+ type: String,
970
+ default: void 0
971
+ },
972
+ lg: Boolean,
973
+ cols: {
974
+ type: Number,
975
+ default: 1
976
+ },
977
+ rows: {
978
+ type: Number,
979
+ default: 1
980
+ },
981
+ validators: {
982
+ type: Object,
983
+ default: null
984
+ }
985
+ },
986
+ emits: [
987
+ "update:modelValue",
988
+ "update:validation",
989
+ "change",
990
+ "clear"
991
+ ],
992
+ setup(e, { emit: t }) {
993
+ let n = z(""), r = z(!1), i = z(!0), a = z({}), o = y({
994
+ get: () => n.value,
995
+ set: (e) => {
996
+ n.value = e, r.value = !0, t("update:modelValue", e);
997
+ }
998
+ }), s = (e) => {
999
+ setTimeout(() => {
1000
+ n.value = e;
1001
+ }, 10);
1002
+ }, c = () => {
1003
+ s(""), t("clear"), t("update:modelValue", "");
1004
+ }, l = () => s(e.modelValue);
1005
+ return J(() => e.modelValue, () => l()), J(() => n.value, (n) => {
1006
+ let o = {};
1007
+ r.value && e.validators && Object.assign(o, u(n, e.validators)), a.value = o, i.value = !Object.keys(o).length, t("update:validation", a.value);
1008
+ }), te(() => l()), {
1009
+ isValid: i,
1010
+ innerValue: n,
1011
+ computedValue: o,
1012
+ validationErrors: a,
1013
+ clear: c
1014
+ };
1015
+ }
1016
+ }), at = { class: "position-relative flex-grow-1 has-validation" }, ot = ["placeholder"], st = {
1017
+ key: 0,
1018
+ class: "position-absolute top-50 end-0 translate-middle-y pe-1"
1019
+ }, ct = {
1020
+ key: 1,
1021
+ class: "invalid-feedback d-block"
1022
+ }, lt = { key: 0 }, ut = { key: 1 }, dt = { key: 2 }, ft = { key: 3 };
1023
+ function pt(e, t, n, r, i, a) {
1024
+ var o;
1025
+ return I(), S("div", at, [
1026
+ X(C("textarea", j({ "onUpdate:modelValue": t[0] || (t[0] = (t) => e.computedValue = t) }, e.$attrs, {
1027
+ class: ["form-control", [
1028
+ e.lg && "form-control-lg",
1029
+ e.classInner,
1030
+ e.isValid || "is-invalid"
1031
+ ]],
1032
+ placeholder: e.placeholder
1033
+ }), null, 16, ot), [[q, e.computedValue]]),
1034
+ (o = e.innerValue) != null && o.length ? (I(), S("div", st, [C("button", {
1035
+ type: "button",
1036
+ class: "btn-close",
1037
+ style: { "background-size": "0.7em" },
1038
+ onClick: t[1] || (t[1] = Z((...t) => e.clear && e.clear(...t), ["prevent"]))
1039
+ })])) : x("", !0),
1040
+ e.isValid ? x("", !0) : (I(), S("div", ct, [e.validationErrors.required ? (I(), S("p", lt, W("Field is required"))) : e.validationErrors.email ? (I(), S("p", ut, W("Field must be an email"))) : e.validationErrors.csemails ? (I(), S("p", dt, W("Field must be a comma separated emails"))) : e.validationErrors.minLength ? (I(), S("p", ft, W(`Field must be at least ${e.validators.minLength.minLength} characters long`), 1)) : x("", !0)]))
1041
+ ]);
1042
+ }
1043
+ var mt = /*#__PURE__*/ p(it, [["render", pt]]), Q = {
1044
+ itemsToShow: 1,
1045
+ itemsToScroll: 1,
1046
+ modelValue: 0,
1047
+ transition: 300,
1048
+ autoplay: 0,
1049
+ snapAlign: "center",
1050
+ wrapAround: !1,
1051
+ throttle: 16,
1052
+ pauseAutoplayOnHover: !1,
1053
+ mouseDrag: !0,
1054
+ touchDrag: !0,
1055
+ dir: "ltr",
1056
+ breakpoints: void 0,
1057
+ i18n: {
1058
+ ariaNextSlide: "Navigate to next slide",
1059
+ ariaPreviousSlide: "Navigate to previous slide",
1060
+ ariaNavigateToSlide: "Navigate to slide {slideNumber}",
1061
+ ariaGallery: "Gallery",
1062
+ itemXofY: "Item {currentSlide} of {slidesCount}",
1063
+ iconArrowUp: "Arrow pointing upwards",
1064
+ iconArrowDown: "Arrow pointing downwards",
1065
+ iconArrowRight: "Arrow pointing to the right",
1066
+ iconArrowLeft: "Arrow pointing to the left"
1067
+ }
1068
+ }, ht = {
1069
+ itemsToShow: {
1070
+ default: Q.itemsToShow,
1071
+ type: Number
1072
+ },
1073
+ itemsToScroll: {
1074
+ default: Q.itemsToScroll,
1075
+ type: Number
1076
+ },
1077
+ wrapAround: {
1078
+ default: Q.wrapAround,
1079
+ type: Boolean
1080
+ },
1081
+ throttle: {
1082
+ default: Q.throttle,
1083
+ type: Number
1084
+ },
1085
+ snapAlign: {
1086
+ default: Q.snapAlign,
1087
+ validator(e) {
1088
+ return [
1089
+ "start",
1090
+ "end",
1091
+ "center",
1092
+ "center-even",
1093
+ "center-odd"
1094
+ ].includes(e);
1095
+ }
1096
+ },
1097
+ transition: {
1098
+ default: Q.transition,
1099
+ type: Number
1100
+ },
1101
+ breakpoints: {
1102
+ default: Q.breakpoints,
1103
+ type: Object
1104
+ },
1105
+ autoplay: {
1106
+ default: Q.autoplay,
1107
+ type: Number
1108
+ },
1109
+ pauseAutoplayOnHover: {
1110
+ default: Q.pauseAutoplayOnHover,
1111
+ type: Boolean
1112
+ },
1113
+ modelValue: {
1114
+ default: void 0,
1115
+ type: Number
1116
+ },
1117
+ mouseDrag: {
1118
+ default: Q.mouseDrag,
1119
+ type: Boolean
1120
+ },
1121
+ touchDrag: {
1122
+ default: Q.touchDrag,
1123
+ type: Boolean
1124
+ },
1125
+ dir: {
1126
+ default: Q.dir,
1127
+ validator(e) {
1128
+ return ["rtl", "ltr"].includes(e);
1129
+ }
1130
+ },
1131
+ i18n: {
1132
+ default: Q.i18n,
1133
+ type: Object
1134
+ },
1135
+ settings: {
1136
+ default() {
1137
+ return {};
1138
+ },
1139
+ type: Object
1140
+ }
1141
+ };
1142
+ function gt({ config: e, slidesCount: t }) {
1143
+ let { snapAlign: n, wrapAround: r, itemsToShow: i = 1 } = e;
1144
+ if (r) return Math.max(t - 1, 0);
1145
+ let a;
1146
+ switch (n) {
1147
+ case "start":
1148
+ a = t - i;
1149
+ break;
1150
+ case "end":
1151
+ a = t - 1;
1152
+ break;
1153
+ case "center":
1154
+ case "center-odd":
1155
+ a = t - Math.ceil((i - .5) / 2);
1156
+ break;
1157
+ case "center-even":
1158
+ a = t - Math.ceil(i / 2);
1159
+ break;
1160
+ default: a = 0;
1161
+ }
1162
+ return Math.max(a, 0);
1163
+ }
1164
+ function _t({ config: e, slidesCount: t }) {
1165
+ let { wrapAround: n, snapAlign: r, itemsToShow: i = 1 } = e, a = 0;
1166
+ if (n || i > t) return a;
1167
+ switch (r) {
1168
+ case "start":
1169
+ a = 0;
1170
+ break;
1171
+ case "end":
1172
+ a = i - 1;
1173
+ break;
1174
+ case "center":
1175
+ case "center-odd":
1176
+ a = Math.floor((i - 1) / 2);
1177
+ break;
1178
+ case "center-even":
1179
+ a = Math.floor((i - 2) / 2);
1180
+ break;
1181
+ default: a = 0;
1182
+ }
1183
+ return a;
1184
+ }
1185
+ function vt({ val: e, max: t, min: n }) {
1186
+ return t < n ? e : Math.min(Math.max(e, n), t);
1187
+ }
1188
+ function yt({ config: e, currentSlide: t, slidesCount: n }) {
1189
+ let { snapAlign: r, wrapAround: i, itemsToShow: a = 1 } = e, o = t;
1190
+ switch (r) {
1191
+ case "center":
1192
+ case "center-odd":
1193
+ o -= (a - 1) / 2;
1194
+ break;
1195
+ case "center-even":
1196
+ o -= (a - 2) / 2;
1197
+ break;
1198
+ case "end": o -= a - 1;
1199
+ }
1200
+ return i ? o : vt({
1201
+ val: o,
1202
+ max: n - a,
1203
+ min: 0
1204
+ });
1205
+ }
1206
+ function bt(e) {
1207
+ return e ? e.reduce((e, t) => {
1208
+ var n;
1209
+ return t.type === _ ? [...e, ...bt(t.children)] : ((n = t.type) == null ? void 0 : n.name) === "CarouselSlide" ? [...e, t] : e;
1210
+ }, []) : [];
1211
+ }
1212
+ function $({ val: e, max: t, min: n = 0 }) {
1213
+ return e > t ? $({
1214
+ val: e - (t + 1),
1215
+ max: t,
1216
+ min: n
1217
+ }) : e < n ? $({
1218
+ val: e + (t + 1),
1219
+ max: t,
1220
+ min: n
1221
+ }) : e;
1222
+ }
1223
+ function xt(e, t) {
1224
+ let n;
1225
+ return t ? function(...r) {
1226
+ let i = this;
1227
+ n || (e.apply(i, r), n = !0, setTimeout(() => n = !1, t));
1228
+ } : e;
1229
+ }
1230
+ function St(e, t) {
1231
+ let n;
1232
+ return function(...r) {
1233
+ n && clearTimeout(n), n = setTimeout(() => {
1234
+ e(...r), n = null;
1235
+ }, t);
1236
+ };
1237
+ }
1238
+ function Ct(e = "", t = {}) {
1239
+ return Object.entries(t).reduce((e, [t, n]) => e.replace(`{${t}}`, String(n)), e);
1240
+ }
1241
+ var wt = D({
1242
+ name: "ARIA",
1243
+ setup() {
1244
+ let e = A("config", R(Object.assign({}, Q))), t = A("currentSlide", z(0)), n = A("slidesCount", z(0));
1245
+ return () => k("div", {
1246
+ class: ["carousel__liveregion", "carousel__sr-only"],
1247
+ "aria-live": "polite",
1248
+ "aria-atomic": "true"
1249
+ }, Ct(e.i18n.itemXofY, {
1250
+ currentSlide: t.value + 1,
1251
+ slidesCount: n.value
1252
+ }));
1253
+ }
1254
+ }), Tt = D({
1255
+ name: "Carousel",
1256
+ props: ht,
1257
+ setup(e, { slots: t, emit: n, expose: r }) {
1258
+ let i = z(null), a = z([]), o = z(0), s = z(0), c = R(Object.assign({}, Q)), l = Object.assign({}, Q), u, d = z(e.modelValue ?? 0), f = z(0), p = z(0), m = z(0), h = z(0), g, _;
1259
+ L("config", c), L("slidesCount", s), L("currentSlide", d), L("maxSlide", m), L("minSlide", h), L("slideWidth", o);
1260
+ function b() {
1261
+ u = Object.assign({}, e.breakpoints), l = Object.assign(Object.assign(Object.assign({}, l), e), {
1262
+ i18n: Object.assign(Object.assign({}, l.i18n), e.i18n),
1263
+ breakpoints: void 0
1264
+ }), S(l);
1265
+ }
1266
+ function x() {
1267
+ if (!u || !Object.keys(u).length) return;
1268
+ let e = Object.keys(u).map((e) => Number(e)).sort((e, t) => t - +e), t = Object.assign({}, l);
1269
+ e.some((e) => {
1270
+ let n = window.matchMedia(`(min-width: ${e}px)`).matches;
1271
+ return n && (t = Object.assign(Object.assign({}, t), u[e])), n;
1272
+ }), S(t);
1273
+ }
1274
+ function S(e) {
1275
+ Object.entries(e).forEach(([e, t]) => c[e] = t);
1276
+ }
1277
+ let C = St(() => {
1278
+ x(), T(), w();
1279
+ }, 16);
1280
+ function w() {
1281
+ if (!i.value) return;
1282
+ let e = i.value.getBoundingClientRect();
1283
+ o.value = e.width / c.itemsToShow;
1284
+ }
1285
+ function T() {
1286
+ s.value <= 0 || (p.value = Math.ceil((s.value - 1) / 2), m.value = gt({
1287
+ config: c,
1288
+ slidesCount: s.value
1289
+ }), h.value = _t({
1290
+ config: c,
1291
+ slidesCount: s.value
1292
+ }), c.wrapAround || (d.value = vt({
1293
+ val: d.value,
1294
+ max: m.value,
1295
+ min: h.value
1296
+ })));
1297
+ }
1298
+ te(() => {
1299
+ ee(() => w()), setTimeout(() => w(), 1e3), x(), V(), window.addEventListener("resize", C, { passive: !0 }), n("init");
1300
+ }), ne(() => {
1301
+ _ && clearTimeout(_), g && clearInterval(g), window.removeEventListener("resize", C, { passive: !0 });
1302
+ });
1303
+ let E = !1, D = {
1304
+ x: 0,
1305
+ y: 0
1306
+ }, O = {
1307
+ x: 0,
1308
+ y: 0
1309
+ }, A = R({
1310
+ x: 0,
1311
+ y: 0
1312
+ }), j = z(!1), M = z(!1), N = () => {
1313
+ j.value = !0;
1314
+ }, P = () => {
1315
+ j.value = !1;
1316
+ };
1317
+ function F(e) {
1318
+ [
1319
+ "INPUT",
1320
+ "TEXTAREA",
1321
+ "SELECT"
1322
+ ].includes(e.target.tagName) || (E = e.type === "touchstart", E || e.preventDefault(), !(!E && e.button !== 0 || U.value) && (D.x = E ? e.touches[0].clientX : e.clientX, D.y = E ? e.touches[0].clientY : e.clientY, document.addEventListener(E ? "touchmove" : "mousemove", I, !0), document.addEventListener(E ? "touchend" : "mouseup", B, !0)));
1323
+ }
1324
+ let I = xt((e) => {
1325
+ M.value = !0, O.x = E ? e.touches[0].clientX : e.clientX, O.y = E ? e.touches[0].clientY : e.clientY;
1326
+ let t = O.x - D.x, n = O.y - D.y;
1327
+ A.y = n, A.x = t;
1328
+ }, c.throttle);
1329
+ function B() {
1330
+ let e = c.dir === "rtl" ? -1 : 1, t = Math.sign(A.x) * .4, n = Math.round(A.x / o.value + t) * e;
1331
+ if (n && !E) {
1332
+ let e = (t) => {
1333
+ window.removeEventListener("click", e, !0);
1334
+ };
1335
+ window.addEventListener("click", e, !0);
1336
+ }
1337
+ W(d.value - n), A.x = 0, A.y = 0, M.value = !1, document.removeEventListener(E ? "touchmove" : "mousemove", I, !0), document.removeEventListener(E ? "touchend" : "mouseup", B, !0);
1338
+ }
1339
+ function V() {
1340
+ !c.autoplay || c.autoplay <= 0 || (g = setInterval(() => {
1341
+ c.pauseAutoplayOnHover && j.value || G();
1342
+ }, c.autoplay));
1343
+ }
1344
+ function H() {
1345
+ g && (clearInterval(g), g = null), V();
1346
+ }
1347
+ let U = z(!1);
1348
+ function W(e) {
1349
+ let t = c.wrapAround ? e : vt({
1350
+ val: e,
1351
+ max: m.value,
1352
+ min: h.value
1353
+ });
1354
+ d.value === t || U.value || (n("slide-start", {
1355
+ slidingToIndex: e,
1356
+ currentSlideIndex: d.value,
1357
+ prevSlideIndex: f.value,
1358
+ slidesCount: s.value
1359
+ }), U.value = !0, f.value = d.value, d.value = t, _ = setTimeout(() => {
1360
+ if (c.wrapAround) {
1361
+ let r = $({
1362
+ val: t,
1363
+ max: m.value,
1364
+ min: 0
1365
+ });
1366
+ r !== d.value && (d.value = r, n("loop", {
1367
+ currentSlideIndex: d.value,
1368
+ slidingToIndex: e
1369
+ }));
1370
+ }
1371
+ n("update:modelValue", d.value), n("slide-end", {
1372
+ currentSlideIndex: d.value,
1373
+ prevSlideIndex: f.value,
1374
+ slidesCount: s.value
1375
+ }), U.value = !1, H();
1376
+ }, c.transition));
1377
+ }
1378
+ function G() {
1379
+ W(d.value + c.itemsToScroll);
1380
+ }
1381
+ function K() {
1382
+ W(d.value - c.itemsToScroll);
1383
+ }
1384
+ let q = {
1385
+ slideTo: W,
1386
+ next: G,
1387
+ prev: K
1388
+ };
1389
+ L("nav", q), L("isSliding", U);
1390
+ let Y = y(() => yt({
1391
+ config: c,
1392
+ currentSlide: d.value,
1393
+ slidesCount: s.value
1394
+ }));
1395
+ L("slidesToScroll", Y);
1396
+ let X = y(() => {
1397
+ let e = c.dir === "rtl" ? -1 : 1, t = Y.value * o.value * e;
1398
+ return {
1399
+ transform: `translateX(${A.x - t}px)`,
1400
+ transition: `${U.value ? c.transition : 0}ms`,
1401
+ margin: c.wrapAround ? `0 -${s.value * o.value}px` : "",
1402
+ width: "100%"
1403
+ };
1404
+ });
1405
+ function Z() {
1406
+ b(), x(), T(), w(), H();
1407
+ }
1408
+ Object.keys(ht).forEach((t) => {
1409
+ ["modelValue"].includes(t) || J(() => e[t], Z);
1410
+ }), J(() => e.modelValue, (e) => {
1411
+ e !== d.value && W(Number(e));
1412
+ }), J(s, T), n("before-init"), b();
1413
+ let re = {
1414
+ config: c,
1415
+ slidesCount: s,
1416
+ slideWidth: o,
1417
+ next: G,
1418
+ prev: K,
1419
+ slideTo: W,
1420
+ currentSlide: d,
1421
+ maxSlide: m,
1422
+ minSlide: h,
1423
+ middleSlide: p
1424
+ };
1425
+ r({
1426
+ updateBreakpointsConfigs: x,
1427
+ updateSlidesData: T,
1428
+ updateSlideWidth: w,
1429
+ initDefaultConfigs: b,
1430
+ restartCarousel: Z,
1431
+ slideTo: W,
1432
+ next: G,
1433
+ prev: K,
1434
+ nav: q,
1435
+ data: re
1436
+ });
1437
+ let ie = t.default || t.slides, ae = t.addons, oe = R(re);
1438
+ return () => {
1439
+ let e = bt(ie == null ? void 0 : ie(oe)), t = (ae == null ? void 0 : ae(oe)) || [];
1440
+ e.forEach((e, t) => e.props.index = t);
1441
+ let n = e;
1442
+ if (c.wrapAround) {
1443
+ let t = e.map((t, n) => v(t, {
1444
+ index: -e.length + n,
1445
+ isClone: !0,
1446
+ key: `clone-before-${n}`
1447
+ })), r = e.map((t, n) => v(t, {
1448
+ index: e.length + n,
1449
+ isClone: !0,
1450
+ key: `clone-after-${n}`
1451
+ }));
1452
+ n = [
1453
+ ...t,
1454
+ ...e,
1455
+ ...r
1456
+ ];
1457
+ }
1458
+ a.value = e, s.value = Math.max(e.length, 1);
1459
+ let r = k("ol", {
1460
+ class: "carousel__track",
1461
+ style: X.value,
1462
+ onMousedownCapture: c.mouseDrag ? F : null,
1463
+ onTouchstartPassiveCapture: c.touchDrag ? F : null
1464
+ }, n), o = k("div", { class: "carousel__viewport" }, r);
1465
+ return k("section", {
1466
+ ref: i,
1467
+ class: {
1468
+ carousel: !0,
1469
+ "is-sliding": U.value,
1470
+ "is-dragging": M.value,
1471
+ "is-hover": j.value,
1472
+ "carousel--rtl": c.dir === "rtl"
1473
+ },
1474
+ dir: c.dir,
1475
+ "aria-label": c.i18n.ariaGallery,
1476
+ tabindex: "0",
1477
+ onMouseenter: N,
1478
+ onMouseleave: P
1479
+ }, [
1480
+ o,
1481
+ t,
1482
+ k(wt)
1483
+ ]);
1484
+ };
1485
+ }
1486
+ }), Et;
1487
+ (function(e) {
1488
+ e.arrowUp = "arrowUp", e.arrowDown = "arrowDown", e.arrowRight = "arrowRight", e.arrowLeft = "arrowLeft";
1489
+ })(Et || (Et = {}));
1490
+ var Dt = {
1491
+ arrowUp: "M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z",
1492
+ arrowDown: "M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z",
1493
+ arrowRight: "M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z",
1494
+ arrowLeft: "M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z"
1495
+ };
1496
+ function Ot(e) {
1497
+ return e in Et;
1498
+ }
1499
+ var kt = (e) => {
1500
+ let t = A("config", R(Object.assign({}, Q))), n = String(e.name), r = `icon${n.charAt(0).toUpperCase() + n.slice(1)}`;
1501
+ if (!n || typeof n != "string" || !Ot(n)) return;
1502
+ let i = Dt[n], a = k("path", { d: i }), o = t.i18n[r] || e.title || n, s = k("title", o);
1503
+ return k("svg", {
1504
+ class: "carousel__icon",
1505
+ viewBox: "0 0 24 24",
1506
+ role: "img",
1507
+ "aria-label": o
1508
+ }, [s, a]);
1509
+ };
1510
+ kt.props = {
1511
+ name: String,
1512
+ title: String
1513
+ };
1514
+ var At = (e, { slots: t, attrs: n }) => {
1515
+ let { next: r, prev: i } = t || {}, a = A("config", R(Object.assign({}, Q))), o = A("maxSlide", z(1)), s = A("minSlide", z(1)), c = A("currentSlide", z(1)), l = A("nav", {}), { dir: u, wrapAround: d, i18n: f } = a, p = u === "rtl";
1516
+ return [k("button", {
1517
+ type: "button",
1518
+ class: [
1519
+ "carousel__prev",
1520
+ !d && c.value <= s.value && "carousel__prev--disabled",
1521
+ n == null ? void 0 : n.class
1522
+ ],
1523
+ "aria-label": f.ariaPreviousSlide,
1524
+ onClick: l.prev
1525
+ }, (i == null ? void 0 : i()) || k(kt, { name: p ? "arrowRight" : "arrowLeft" })), k("button", {
1526
+ type: "button",
1527
+ class: [
1528
+ "carousel__next",
1529
+ !d && c.value >= o.value && "carousel__next--disabled",
1530
+ n == null ? void 0 : n.class
1531
+ ],
1532
+ "aria-label": f.ariaNextSlide,
1533
+ onClick: l.next
1534
+ }, (r == null ? void 0 : r()) || k(kt, { name: p ? "arrowLeft" : "arrowRight" }))];
1535
+ }, jt = () => {
1536
+ let e = A("config", R(Object.assign({}, Q))), t = A("maxSlide", z(1)), n = A("minSlide", z(1)), r = A("currentSlide", z(1)), i = A("nav", {}), a = (e) => $({
1537
+ val: r.value,
1538
+ max: t.value,
1539
+ min: 0
1540
+ }) === e, o = [];
1541
+ for (let r = n.value; r < t.value + 1; r++) {
1542
+ let t = k("button", {
1543
+ type: "button",
1544
+ class: {
1545
+ "carousel__pagination-button": !0,
1546
+ "carousel__pagination-button--active": a(r)
1547
+ },
1548
+ "aria-label": Ct(e.i18n.ariaNavigateToSlide, { slideNumber: r + 1 }),
1549
+ onClick: () => i.slideTo(r)
1550
+ }), n = k("li", {
1551
+ class: "carousel__pagination-item",
1552
+ key: r
1553
+ }, t);
1554
+ o.push(n);
1555
+ }
1556
+ return k("ol", { class: "carousel__pagination" }, o);
1557
+ }, Mt = D({
1558
+ name: "CarouselSlide",
1559
+ props: {
1560
+ index: {
1561
+ type: Number,
1562
+ default: 1
1563
+ },
1564
+ isClone: {
1565
+ type: Boolean,
1566
+ default: !1
1567
+ }
1568
+ },
1569
+ setup(e, { slots: t }) {
1570
+ let n = A("config", R(Object.assign({}, Q))), r = A("currentSlide", z(0)), i = A("slidesToScroll", z(0)), a = A("isSliding", z(!1)), o = y(() => e.index === r.value), s = y(() => e.index === r.value - 1), c = y(() => e.index === r.value + 1), l = y(() => {
1571
+ let t = Math.floor(i.value), r = Math.ceil(i.value + n.itemsToShow - 1);
1572
+ return e.index >= t && e.index <= r;
1573
+ });
1574
+ return () => {
1575
+ var r;
1576
+ return k("li", {
1577
+ style: { width: `${100 / n.itemsToShow}%` },
1578
+ class: {
1579
+ carousel__slide: !0,
1580
+ "carousel__slide--clone": e.isClone,
1581
+ "carousel__slide--visible": l.value,
1582
+ "carousel__slide--active": o.value,
1583
+ "carousel__slide--prev": s.value,
1584
+ "carousel__slide--next": c.value,
1585
+ "carousel__slide--sliding": a.value
1586
+ },
1587
+ "aria-hidden": !l.value
1588
+ }, (r = t.default) == null ? void 0 : r.call(t, {
1589
+ isActive: o.value,
1590
+ isClone: e.isClone,
1591
+ isPrev: s.value,
1592
+ isNext: c.value,
1593
+ isSliding: a.value,
1594
+ isVisible: l.value
1595
+ }));
1596
+ };
1597
+ }
1598
+ });
1599
+ //#endregion
1600
+ export { mt as a, Ne as c, se as d, Mt as i, ye as l, At as n, rt as o, jt as r, Ue as s, Tt as t, me as u };
1601
+
1602
+ //# sourceMappingURL=carousel.es-DBv2Q2Xn.js.map