@empathyco/x-components
Version:
Empathy X Components
74 lines (71 loc) • 2.38 kB
JavaScript
import { defineComponent, computed, provide } from 'vue';
import '../composables/create-use-device.js';
import { use$x } from '../composables/use-_x.js';
import 'vuex';
import '@vue/devtools-api';
import '../plugins/devtools/timeline.devtools.js';
import '@empathyco/x-utils';
import 'rxjs/operators';
import 'rxjs';
import '../plugins/devtools/colors.utils.js';
import '../plugins/x-bus.js';
import '../plugins/x-plugin.js';
import '@vueuse/core';
var _sfc_main = defineComponent({
name: 'DisplayClickProvider',
props: {
resultFeature: {
type: String,
required: true,
},
ignoreResultClickEvent: {
type: Boolean,
default: false,
},
toolingDisplayTagging: {
type: Object,
required: false,
default: undefined,
},
toolingAdd2CartTagging: {
type: Object,
required: false,
default: undefined,
},
queryTagging: {
type: Object,
required: false,
default: undefined,
},
},
setup(props, { slots }) {
const x = use$x();
const displayClickMetadata = computed(() => ({
displayOriginalQuery: x.query.search,
feature: props.resultFeature,
queryTagging: props.queryTagging,
toolingTagging: props.toolingDisplayTagging,
toolingAdd2CartTagging: props.toolingAdd2CartTagging,
}));
provide('resultAddToCartExtraEvents', ['UserClickedARelatedPromptAdd2Cart']);
provide('resultAddToCartExtraEventsMetadata', {
toolingAdd2CartTagging: props.toolingAdd2CartTagging,
});
provide('resultClickExtraEvents', [
'UserClickedARelatedPromptResult',
'UserClickedADisplayResult',
]);
provide('resultLinkMetadataPerEvent', {
UserClickedARelatedPromptResult: displayClickMetadata.value,
UserClickedADisplayResult: displayClickMetadata.value,
...(props.ignoreResultClickEvent && {
UserClickedAResult: {
ignoreInModules: ['tagging'],
},
}),
});
return () => slots.default?.()[0] ?? '';
},
});
export { _sfc_main as default };
//# sourceMappingURL=display-click-provider.vue.js.map