UNPKG

@empathyco/x-components

Version:
75 lines (72 loc) 2.48 kB
import { defineComponent, computed, provide } from 'vue'; import '../composables/create-use-device.js'; import { use$x } from '../composables/use-_x.js'; 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 'vuex'; import '@vueuse/core'; // eslint-disable-next-line no-duplicate-imports 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