{"version":3,"mappings":"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","names":["campaignImports","CampaignType","defineAsyncComponent","__vitePreload","useCampaignConfiguratorHeadline","campaign","t","useTrans","map","item","product","_a","props","__props","emit","__emit","addToCart","items","quantity","container","ref","dialogStore","useDialogStore","ConfigComponent"],"ignoreList":[],"sources":["../../../../src/components/page/product/actions/components/campaignConfigurator/configurators/importMap.ts","../../../../src/components/page/product/composables/useCampaignConfiguratorHeadline.ts","../../../../src/components/page/product/actions/components/campaignConfigurator/campaignConfigurator.vue"],"sourcesContent":["import { CampaignType } from '~/@types/campaign';\n\nexport const campaignImports: Partial<\n Record>\n> = {\n [CampaignType.dynamicXPlusY]: defineAsyncComponent(\n () => import('./dynamicXPlusY.vue'),\n ),\n [CampaignType.dynamicPercentageDiscount]: defineAsyncComponent(\n () => import('./dynamicPercentageDiscount.vue'),\n ),\n [CampaignType.fixedPercentageDiscount]: defineAsyncComponent(\n () => import('./fixedPercentageDiscount.vue'),\n ),\n [CampaignType.dynamicAbsoluteDiscount]: defineAsyncComponent(\n () => import('./dynamicAbsoluteDiscount.vue'),\n ),\n [CampaignType.fixedAbsoluteDiscount]: defineAsyncComponent(\n () => import('./fixedAbsoluteDiscount.vue'),\n ),\n [CampaignType.variableBaseFixedFree]: defineAsyncComponent(\n () => import('./variableBaseFixedFree.vue'),\n ),\n [CampaignType.fixedBaseVariableFree]: defineAsyncComponent(\n () => import('./fixedBaseVariableFree.vue'),\n ),\n [CampaignType.staticXPlusY]: defineAsyncComponent(\n () => import('./staticXPlusY.vue'),\n ),\n [CampaignType.staticPercentageDiscount]: defineAsyncComponent(\n () => import('./staticPercentageDiscount.vue'),\n ),\n [CampaignType.staticAbsoluteDiscount]: defineAsyncComponent(\n () => import('./staticAbsoluteDiscount.vue'),\n ),\n [CampaignType.fixedBaseFixedFree]: defineAsyncComponent(\n () => import('./fixedBaseFixedFree.vue'),\n ),\n};\n","import { CampaignType } from '~/@types/campaign';\nimport type { Campaign } from '~/server/transformers/shop/campaignTransformer';\n\nexport function useCampaignConfiguratorHeadline(campaign: Campaign) {\n const { t } = useTrans();\n return t(...map[campaign.type](campaign));\n}\n\nconst map: Partial<\n Record<\n CampaignType,\n (campaign: Campaign) => Parameters['t']>\n >\n> = {\n [CampaignType.staticXPlusY]: (campaign) => {\n return [\n 'shop.campaign.configurator.staticXPlusY.headline',\n {\n TOTAL: campaign.quantity,\n REDUCED: campaign.quantity - campaign.freeQuantity,\n },\n ];\n },\n [CampaignType.dynamicXPlusY]: (campaign) => {\n return [\n 'shop.campaign.configurator.dynamicXPlusY.headline',\n {\n TOTAL: campaign.quantity,\n REDUCED: campaign.quantity - campaign.freeQuantity,\n VARIANTS: campaign.products.length,\n },\n ];\n },\n [CampaignType.staticPercentageDiscount]: (campaign) => {\n return [\n 'shop.campaign.configurator.staticPercentageDiscount.headline',\n {\n QUANTITY: campaign.quantity,\n PERCENTAGE: campaign.percentageDiscount,\n },\n ];\n },\n [CampaignType.dynamicPercentageDiscount]: (campaign) => {\n return [\n 'shop.campaign.configurator.dynamicPercentageDiscount.headline',\n {\n PERCENTAGE: campaign.percentageDiscount,\n },\n ];\n },\n [CampaignType.fixedPercentageDiscount]: (campaign) => {\n return [\n 'shop.campaign.configurator.fixedPercentageDiscount.headline',\n {\n PERCENTAGE: campaign.percentageDiscount,\n },\n ];\n },\n [CampaignType.staticAbsoluteDiscount]: (campaign) => {\n return [\n 'shop.campaign.configurator.staticAbsoluteDiscount.headline',\n {\n QUANTITY: campaign.quantity,\n DISCOUNT: campaign.absoluteDiscount,\n },\n ];\n },\n [CampaignType.dynamicAbsoluteDiscount]: (campaign) => {\n return [\n 'shop.campaign.configurator.dynamicAbsoluteDiscount.headline',\n {\n DISCOUNT: campaign.absoluteDiscount,\n },\n ];\n },\n [CampaignType.fixedAbsoluteDiscount]: (campaign) => {\n return [\n 'shop.campaign.configurator.fixedAbsoluteDiscount.headline',\n {\n DISCOUNT: campaign.absoluteDiscount,\n },\n ];\n },\n [CampaignType.fixedBaseFixedFree]: () => {\n return ['shop.campaign.configurator.fixedBaseFixedFree.headline'];\n },\n [CampaignType.variableBaseFixedFree]: () => {\n return ['shop.campaign.configurator.variableBaseFixedFree.headline'];\n },\n [CampaignType.fixedBaseVariableFree]: (campaign) => {\n const item = campaign.products.find((product) => !product.isFree);\n\n return [\n 'shop.campaign.configurator.fixedBaseVariableFree.headline',\n {\n FREE_QUANTITY: campaign.freeQuantity,\n count: campaign.products.filter((product) => !product.isFree).length,\n PRODUCT: item?.product?.name ?? item.name ?? '',\n },\n ];\n },\n};\n","\n\n"],"file":"_nuxt/DFPXXOnl.js"}