UNPKG

@empathyco/x-components

Version:
74 lines (71 loc) 2.38 kB
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