@empathyco/x-components
Version:
Empathy X Components
206 lines (203 loc) • 9.9 kB
JavaScript
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