UNPKG

@shopware-ag/meteor-component-library

Version:

The meteor component library is a Vue component library developed by Shopware. It is based on the [Meteor Design System](https://shopware.design/).

73 lines (72 loc) 2.59 kB
import '../mt-promo-badge.css'; "use strict"; const vue = require("vue"); const vueI18n = require("vue-i18n"); const MtBadge = require("./MtBadge.js"); const _pluginVue_exportHelper = require("../_plugin-vue_export-helper-9c783a34.js"); require("../mt-icon.vue_vue_type_style_index_0_lang-0a28c7b6.js"); const _sfc_main = /* @__PURE__ */ vue.defineComponent({ __name: "mt-promo-badge", props: { variant: { default: "new" }, size: { default: "s" } }, setup(__props) { const props = __props; const { t } = vueI18n.useI18n({ messages: { en: { "mt-promo-badge": { new: "New", beta: "Beta", shopwareAi: "Shopware AI" } }, de: { "mt-promo-badge": { new: "Neu", beta: "Beta", shopwareAi: "Shopware AI" } } } }); const size = vue.computed(() => { const n = String(props.size ?? "s").toLowerCase(); return n === "s" ? "s" : n === "m" ? "m" : n === "l" ? "l" : "s"; }); const badgeVariant = vue.computed( () => props.variant === "shopware-ai" ? "neutral" : props.variant === "beta" ? "info" : "positive" ); const promoText = vue.computed( () => props.variant === "shopware-ai" ? t("mt-promo-badge.shopwareAi") : props.variant === "new" ? t("mt-promo-badge.new") : t("mt-promo-badge.beta") ); const badgeIcon = vue.computed( () => props.variant === "beta" ? "solid-code" : props.variant === "shopware-ai" ? "solid-sparkles" : "solid-party-horn" ); const iconColor = vue.computed( () => props.variant === "shopware-ai" ? "var(--color-icon-brand-default)" : "var(--color-icon-primary-default)" ); return (_ctx, _cache) => { return vue.openBlock(), vue.createElementBlock("span", { class: "mt-promo-badge", style: vue.normalizeStyle({ "--mt-promo-badge-icon-color": iconColor.value }) }, [ vue.createVNode(MtBadge, { variant: badgeVariant.value, size: size.value, icon: badgeIcon.value }, { default: vue.withCtx(() => [ vue.createTextVNode(vue.toDisplayString(promoText.value), 1) ]), _: 1 }, 8, ["variant", "size", "icon"]) ], 4); }; } }); const mtPromoBadge_vue_vue_type_style_index_0_scoped_d58d896b_lang = ""; const mtPromoBadge = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__scopeId", "data-v-d58d896b"]]); module.exports = mtPromoBadge; //# sourceMappingURL=MtPromoBadge.js.map