UNPKG

@empathyco/x-components

Version:
206 lines (203 loc) • 9.9 kB
import _sfc_main from './ai-carousel.vue2.js'; import { resolveComponent, openBlock, createBlock, withCtx, createElementBlock, createVNode, createElementVNode, normalizeClass, toDisplayString, createCommentVNode, renderSlot, Fragment, renderList, createTextVNode } from 'vue'; import './ai-carousel.vue3.js'; import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.js'; const _hoisted_1 = { key: 0, class: "x-ai-carousel" }; const _hoisted_2 = ["aria-label"]; const _hoisted_3 = { key: 1, class: "x-ai-carousel-suggestions", "data-test": "ai-carousel-suggestions-container" }; const _hoisted_4 = { class: "x-ai-carousel-suggestion", "data-test": "ai-carousel-suggestion" }; const _hoisted_5 = { class: "x-ai-carousel-suggestion-results" }; function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { const _component_AIStarIcon = resolveComponent("AIStarIcon"); const _component_ChangeHeight = resolveComponent("ChangeHeight"); const _component_ChevronDownIcon = resolveComponent("ChevronDownIcon"); const _component_DisplayEmitter = resolveComponent("DisplayEmitter"); const _component_AiGroupedCarousel = resolveComponent("AiGroupedCarousel"); const _component_ArrowRightIcon = resolveComponent("ArrowRightIcon"); const _component_BaseEventButton = resolveComponent("BaseEventButton"); const _component_SlidingPanel = resolveComponent("SlidingPanel"); const _component_DisplayClickProvider = resolveComponent("DisplayClickProvider"); const _component_CollapseHeight = resolveComponent("CollapseHeight"); return openBlock(), createBlock(_component_CollapseHeight, null, { default: withCtx(() => [ _ctx.suggestionsSearch.length ? (openBlock(), createElementBlock("div", _hoisted_1, [ createVNode(_component_DisplayEmitter, { payload: _ctx.tagging?.toolingDisplay ?? _ctx.emptyTaggingRequest, "event-metadata": { feature: "ai_carousel", displayOriginalQuery: _ctx.query || "ai-carousel-without-query", replaceable: false }, "data-test": "ai-carousel-display-emitter" }, { default: withCtx(() => [ createElementVNode( "span", { class: normalizeClass(["x-ai-carousel-title", { "x-ai-carousel-title--expanded": _ctx.titleExpanded }]), "data-test": "ai-carousel-title", onClick: _cache[0] || (_cache[0] = (...args) => _ctx.toggleTitleExpansion && _ctx.toggleTitleExpansion(...args)) }, [ createVNode(_component_AIStarIcon, { class: "x-ai-carousel-title-icon" }), createVNode(_component_ChangeHeight, null, { default: withCtx(() => [ createElementVNode( "span", { ref: "titleRef", class: normalizeClass(["x-ai-carousel-title-text", { "x-ai-carousel-title-text--expanded": _ctx.titleExpanded }]) }, toDisplayString(_ctx.title), 3 /* TEXT, CLASS */ ) ]), _: 1 /* STABLE */ }), _ctx.isTitleOverflowing ? (openBlock(), createElementBlock("button", { key: 0, class: "x-ai-carousel-title-button", "data-test": "ai-carousel-title-button", "aria-label": _ctx.titleExpanded ? "Collapse" : "Expand" }, [ createVNode(_component_ChevronDownIcon, { class: normalizeClass(["x-ai-carousel-title-button-icon", { "x-ai-carousel-title-button-icon--expanded": _ctx.titleExpanded }]) }, null, 8, ["class"]) ], 8, _hoisted_2)) : createCommentVNode("v-if", true) ], 2 /* CLASS */ ) ]), _: 1 /* STABLE */ }, 8, ["payload", "event-metadata"]), _ctx.group ? (openBlock(), createBlock(_component_AiGroupedCarousel, { key: 0 }, { "sliding-panel-addons": withCtx(({ arrivedState }) => [ renderSlot(_ctx.$slots, "sliding-panels-addons", { arrivedState }) ]), "sliding-panel-left-button": withCtx(() => [ renderSlot(_ctx.$slots, "sliding-panels-left-button") ]), "sliding-panel-right-button": withCtx(() => [ renderSlot(_ctx.$slots, "sliding-panels-right-button") ]), result: withCtx(({ result }) => [ renderSlot(_ctx.$slots, "result", { result }) ]), _: 3 /* FORWARDED */ })) : (openBlock(), createElementBlock("div", _hoisted_3, [ (openBlock(true), createElementBlock( Fragment, null, renderList(_ctx.suggestionsSearch, ({ query: suggestionQuery, results: queriesResults }) => { return openBlock(), createBlock(_component_DisplayEmitter, { key: suggestionQuery, payload: _ctx.tagging?.searchQueries[suggestionQuery].toolingDisplay ?? _ctx.emptyTaggingRequest, "event-metadata": { feature: "ai_carousel", displayOriginalQuery: _ctx.query || "ai-carousel-without-query", replaceable: false }, "data-test": "ai-carousel-query-display-emitter" }, { default: withCtx(() => [ createElementVNode("div", _hoisted_4, [ createVNode(_component_BaseEventButton, { class: "x-ai-carousel-suggestion-query-btn", events: { UserAcceptedAQuery: suggestionQuery } }, { default: withCtx(() => [ createTextVNode( toDisplayString(suggestionQuery) + " ", 1 /* TEXT */ ), createVNode(_component_ArrowRightIcon, { class: "x-ai-carousel-suggestion-query-btn-icon" }) ]), _: 2 /* DYNAMIC */ }, 1032, ["events"]), createVNode(_component_DisplayClickProvider, { "tooling-display-tagging": _ctx.tagging?.searchQueries[suggestionQuery].toolingDisplayClick, "tooling-add2-cart-tagging": _ctx.tagging?.searchQueries[suggestionQuery].toolingDisplayAdd2Cart, "result-feature": "ai_carousel" }, { default: withCtx(() => [ renderSlot(_ctx.$slots, "sliding-panel", { results: queriesResults }, () => [ createVNode(_component_SlidingPanel, { class: normalizeClass(_ctx.slidingPanelClasses), "scroll-container-class": _ctx.slidingPanelContainerClasses, "button-class": _ctx.slidingPanelButtonsClasses, "reset-on-content-change": false }, { "sliding-panel-addons": withCtx(({ arrivedState }) => [ renderSlot(_ctx.$slots, "sliding-panels-addons", { arrivedState }) ]), "sliding-panel-left-button": withCtx(() => [ renderSlot(_ctx.$slots, "sliding-panels-left-button") ]), "sliding-panel-right-button": withCtx(() => [ renderSlot(_ctx.$slots, "sliding-panels-right-button") ]), default: withCtx(() => [ createElementVNode("ul", _hoisted_5, [ (openBlock(true), createElementBlock( Fragment, null, renderList(queriesResults, (result) => { return openBlock(), createElementBlock("li", { key: result.id, "data-test": "ai-carousel-suggestion-result" }, [ renderSlot(_ctx.$slots, "result", { result }) ]); }), 128 /* KEYED_FRAGMENT */ )) ]) ]), _: 2 /* DYNAMIC */ }, 1032, ["class", "scroll-container-class", "button-class"]) ]) ]), _: 2 /* DYNAMIC */ }, 1032, ["tooling-display-tagging", "tooling-add2-cart-tagging"]) ]) ]), _: 2 /* DYNAMIC */ }, 1032, ["payload", "event-metadata"]); }), 128 /* KEYED_FRAGMENT */ )), renderSlot(_ctx.$slots, "suggestions-extra-content") ])), renderSlot(_ctx.$slots, "extra-content"), renderSlot(_ctx.$slots, "cta-button") ])) : createCommentVNode("v-if", true) ]), _: 3 /* FORWARDED */ }); } var aiCarousel = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]); export { aiCarousel as default }; //# sourceMappingURL=ai-carousel.vue.js.map