@propeller-commerce/propeller-v2-vue-ui 0.3.32 → 0.3.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -3084,11 +3084,11 @@ const _hoisted_14$t = {
3084
3084
  viewBox: "0 0 24 24",
3085
3085
  class: "propeller-login-form__spinner animate-spin -ml-1 mr-2 h-4 w-4 text-primary-foreground"
3086
3086
  };
3087
- const _hoisted_15$s = {
3087
+ const _hoisted_15$t = {
3088
3088
  key: 1,
3089
3089
  class: "propeller-login-form__footer mt-6 border-t pt-6 space-y-3"
3090
3090
  };
3091
- const _hoisted_16$r = { class: "propeller-login-form__register text-center" };
3091
+ const _hoisted_16$s = { class: "propeller-login-form__register text-center" };
3092
3092
  const _hoisted_17$r = { class: "propeller-login-form__register-prompt text-sm text-muted-foreground mb-2" };
3093
3093
  const _hoisted_18$p = { class: "propeller-login-form__guest text-center" };
3094
3094
  const _hoisted_19$p = {
@@ -3322,13 +3322,13 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
3322
3322
  ], 8, _hoisted_13$t)
3323
3323
  ])
3324
3324
  ], 32),
3325
- (showRegister.value || showGuestCheckout.value) && !__props.accountHeaderLoginForm ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_15$s, [
3325
+ (showRegister.value || showGuestCheckout.value) && !__props.accountHeaderLoginForm ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_15$t, [
3326
3326
  __props.displayRegisterLink !== false ? vue.renderSlot(_ctx.$slots, "registerLink", {
3327
3327
  key: 0,
3328
3328
  onClick: (e) => __props.onRegisterClick?.(e),
3329
3329
  labels: __props.labels
3330
3330
  }, () => [
3331
- vue.createElementVNode("div", _hoisted_16$r, [
3331
+ vue.createElementVNode("div", _hoisted_16$s, [
3332
3332
  vue.createElementVNode("p", _hoisted_17$r, vue.toDisplayString(registerText.value), 1),
3333
3333
  vue.createElementVNode("button", {
3334
3334
  type: "button",
@@ -3419,8 +3419,8 @@ const _hoisted_13$s = {
3419
3419
  class: "propeller-account-menu__greeting hidden md:block font-normal"
3420
3420
  };
3421
3421
  const _hoisted_14$s = { class: "propeller-account-menu__user pb-3 mb-3 border-b border-border" };
3422
- const _hoisted_15$r = { class: "propeller-account-menu__user-label text-xs text-muted-foreground uppercase tracking-wider font-semibold mb-1" };
3423
- const _hoisted_16$q = { class: "propeller-account-menu__user-name font-medium text-foreground truncate" };
3422
+ const _hoisted_15$s = { class: "propeller-account-menu__user-label text-xs text-muted-foreground uppercase tracking-wider font-semibold mb-1" };
3423
+ const _hoisted_16$r = { class: "propeller-account-menu__user-name font-medium text-foreground truncate" };
3424
3424
  const _hoisted_17$q = { class: "propeller-account-menu__nav" };
3425
3425
  const _hoisted_18$o = { class: "propeller-account-menu__list space-y-0.5" };
3426
3426
  const _hoisted_19$o = ["onClick"];
@@ -3645,8 +3645,8 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
3645
3645
  isMounted.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
3646
3646
  !!user.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
3647
3647
  vue.createElementVNode("div", _hoisted_14$s, [
3648
- vue.createElementVNode("p", _hoisted_15$r, vue.toDisplayString(getLabel("signedInAs", "Signed in as")), 1),
3649
- vue.createElementVNode("p", _hoisted_16$q, vue.toDisplayString(getUserName()), 1)
3648
+ vue.createElementVNode("p", _hoisted_15$s, vue.toDisplayString(getLabel("signedInAs", "Signed in as")), 1),
3649
+ vue.createElementVNode("p", _hoisted_16$r, vue.toDisplayString(getUserName()), 1)
3650
3650
  ]),
3651
3651
  vue.createElementVNode("nav", _hoisted_17$q, [
3652
3652
  vue.createElementVNode("ul", _hoisted_18$o, [
@@ -3936,8 +3936,8 @@ const _hoisted_14$r = {
3936
3936
  key: 1,
3937
3937
  class: "propeller-add-to-cart__modal fixed inset-0 z-50 flex items-center justify-center px-4"
3938
3938
  };
3939
- const _hoisted_15$q = { class: "propeller-add-to-cart__modal-content relative w-full max-w-lg bg-card rounded-[var(--radius-container)] shadow-2xl overflow-hidden" };
3940
- const _hoisted_16$p = { class: "propeller-add-to-cart__modal-header flex items-center gap-3 px-6 py-4 border-b border-border-subtle" };
3939
+ const _hoisted_15$r = { class: "propeller-add-to-cart__modal-content relative w-full max-w-lg bg-card rounded-[var(--radius-container)] shadow-2xl overflow-hidden" };
3940
+ const _hoisted_16$q = { class: "propeller-add-to-cart__modal-header flex items-center gap-3 px-6 py-4 border-b border-border-subtle" };
3941
3941
  const _hoisted_17$p = {
3942
3942
  fill: "none",
3943
3943
  viewBox: "0 0 24 24",
@@ -4320,8 +4320,8 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
4320
4320
  class: "propeller-add-to-cart__modal-backdrop fixed inset-0 bg-foreground/20",
4321
4321
  onClick: _cache[6] || (_cache[6] = async (event) => closeModal())
4322
4322
  }),
4323
- vue.createElementVNode("div", _hoisted_15$q, [
4324
- vue.createElementVNode("div", _hoisted_16$p, [
4323
+ vue.createElementVNode("div", _hoisted_15$r, [
4324
+ vue.createElementVNode("div", _hoisted_16$q, [
4325
4325
  (vue.openBlock(), vue.createElementBlock("svg", _hoisted_17$p, [..._cache[15] || (_cache[15] = [
4326
4326
  vue.createElementVNode("path", {
4327
4327
  strokeLinecap: "round",
@@ -4477,8 +4477,8 @@ const _hoisted_14$q = {
4477
4477
  key: 1,
4478
4478
  class: "propeller-add-to-favorite__add-form space-y-3"
4479
4479
  };
4480
- const _hoisted_15$p = { class: "space-y-1" };
4481
- const _hoisted_16$o = { class: "propeller-add-to-favorite__select-label text-xs text-muted-foreground" };
4480
+ const _hoisted_15$q = { class: "space-y-1" };
4481
+ const _hoisted_16$p = { class: "propeller-add-to-favorite__select-label text-xs text-muted-foreground" };
4482
4482
  const _hoisted_17$o = ["value"];
4483
4483
  const _hoisted_18$m = ["value"];
4484
4484
  const _hoisted_19$m = ["disabled"];
@@ -4723,8 +4723,8 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
4723
4723
  _cache[9] || (_cache[9] = vue.createElementVNode("div", { class: "propeller-add-to-favorite__divider border-t border-border" }, null, -1))
4724
4724
  ], 64)) : vue.createCommentVNode("", true),
4725
4725
  getNonMemberLists().length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_14$q, [
4726
- vue.createElementVNode("div", _hoisted_15$p, [
4727
- vue.createElementVNode("label", _hoisted_16$o, vue.toDisplayString(getLabel("chooseList", "Choose a favorites list*")), 1),
4726
+ vue.createElementVNode("div", _hoisted_15$q, [
4727
+ vue.createElementVNode("label", _hoisted_16$p, vue.toDisplayString(getLabel("chooseList", "Choose a favorites list*")), 1),
4728
4728
  vue.createElementVNode("select", {
4729
4729
  class: "propeller-add-to-favorite__select block w-full rounded-[var(--radius-control)] border border-input px-3 py-2.5 text-sm focus:border-primary focus:ring-primary",
4730
4730
  value: selectedListId.value,
@@ -4793,11 +4793,11 @@ const _hoisted_11$r = {
4793
4793
  const _hoisted_12$r = { class: "mt-2" };
4794
4794
  const _hoisted_13$p = { class: "propeller-address-card__default-badge bg-secondary/10 text-secondary text-xs px-2 py-1 rounded-full" };
4795
4795
  const _hoisted_14$p = { class: "propeller-address-card__actions mt-4 pt-4 border-t border-border-subtle flex flex-wrap gap-2" };
4796
- const _hoisted_15$o = {
4796
+ const _hoisted_15$p = {
4797
4797
  key: 1,
4798
4798
  class: "propeller-address-card__form bg-card p-6 rounded-[var(--radius-container)] border"
4799
4799
  };
4800
- const _hoisted_16$n = {
4800
+ const _hoisted_16$o = {
4801
4801
  key: 0,
4802
4802
  class: "text-xl font-bold mb-4"
4803
4803
  };
@@ -5205,11 +5205,11 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
5205
5205
  ])
5206
5206
  ]) : vue.createCommentVNode("", true)
5207
5207
  ], 8, _hoisted_2$J)) : vue.createCommentVNode("", true),
5208
- __props.inline && showEditModal.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_15$o, [
5208
+ __props.inline && showEditModal.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_15$p, [
5209
5209
  vue.createElementVNode("form", {
5210
5210
  onSubmit: _cache[19] || (_cache[19] = async (e) => handleSaveEdit(e))
5211
5211
  }, [
5212
- !!formTitle.value ? (vue.openBlock(), vue.createElementBlock("h3", _hoisted_16$n, vue.toDisplayString(formTitle.value), 1)) : vue.createCommentVNode("", true),
5212
+ !!formTitle.value ? (vue.openBlock(), vue.createElementBlock("h3", _hoisted_16$o, vue.toDisplayString(formTitle.value), 1)) : vue.createCommentVNode("", true),
5213
5213
  vue.createElementVNode("div", _hoisted_17$n, [
5214
5214
  vue.createElementVNode("div", _hoisted_18$l, [
5215
5215
  vue.createElementVNode("div", null, [
@@ -6127,11 +6127,11 @@ const _hoisted_11$q = { class: "font-medium" };
6127
6127
  const _hoisted_12$q = { class: "propeller-cart-item__surcharges-list mt-0.5" };
6128
6128
  const _hoisted_13$o = { class: "mt-1" };
6129
6129
  const _hoisted_14$o = { class: "propeller-cart-item__bundle mt-3 space-y-1.5 border-l-2 border-border pl-3" };
6130
- const _hoisted_15$n = {
6130
+ const _hoisted_15$o = {
6131
6131
  key: 0,
6132
6132
  class: "propeller-cart-item__bundle-leader flex flex-wrap gap-x-2 text-sm text-muted-foreground"
6133
6133
  };
6134
- const _hoisted_16$m = { class: "font-semibold text-foreground" };
6134
+ const _hoisted_16$n = { class: "font-semibold text-foreground" };
6135
6135
  const _hoisted_17$m = { class: "font-semibold text-foreground" };
6136
6136
  const _hoisted_18$k = { class: "font-medium" };
6137
6137
  const _hoisted_19$k = { class: "font-semibold text-foreground" };
@@ -6605,8 +6605,8 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
6605
6605
  nonLeaders: getBundleNonLeaders()
6606
6606
  }, () => [
6607
6607
  vue.createElementVNode("div", _hoisted_14$o, [
6608
- !!getBundleLeaderName() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_15$n, [
6609
- vue.createElementVNode("span", _hoisted_16$m, vue.toDisplayString(getBundleLeaderName()), 1),
6608
+ !!getBundleLeaderName() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_15$o, [
6609
+ vue.createElementVNode("span", _hoisted_16$n, vue.toDisplayString(getBundleLeaderName()), 1),
6610
6610
  !!getBundleLeaderPrice() ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
6611
6611
  _cache[8] || (_cache[8] = vue.createElementVNode("div", { class: "flex-1 border-b border-dotted border-input mx-1 mb-1" }, null, -1)),
6612
6612
  vue.createElementVNode("span", _hoisted_17$m, vue.toDisplayString(getBundleLeaderPrice()), 1)
@@ -6864,8 +6864,8 @@ const _hoisted_14$n = {
6864
6864
  class: "w-5 h-5 text-muted-foreground",
6865
6865
  strokeWidth: 1.5
6866
6866
  };
6867
- const _hoisted_15$m = { class: "propeller-cart-icon__sidebar-title text-base font-semibold text-foreground" };
6868
- const _hoisted_16$l = { class: "propeller-cart-icon__sidebar-count inline-flex items-center justify-center h-5 min-w-[20px] px-1.5 rounded-full bg-secondary/10 text-secondary text-xs font-bold" };
6867
+ const _hoisted_15$n = { class: "propeller-cart-icon__sidebar-title text-base font-semibold text-foreground" };
6868
+ const _hoisted_16$m = { class: "propeller-cart-icon__sidebar-count inline-flex items-center justify-center h-5 min-w-[20px] px-1.5 rounded-full bg-secondary/10 text-secondary text-xs font-bold" };
6869
6869
  const _hoisted_17$l = ["aria-label"];
6870
6870
  const _hoisted_18$j = {
6871
6871
  fill: "none",
@@ -6976,8 +6976,9 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
6976
6976
  function getTotalItems() {
6977
6977
  return getCartItems().reduce((sum, item) => sum + (item.quantity || 0), 0);
6978
6978
  }
6979
+ const useTax = vue.computed(() => !!infra.includeTax);
6979
6980
  function getTotalPrice() {
6980
- const total = props.cart?.total?.totalNet;
6981
+ const total = useTax.value ? props.cart?.total?.totalNet : props.cart?.total?.totalGross;
6981
6982
  return index.formatPrice(total ?? 0, { symbol: infra.currency ?? "€" });
6982
6983
  }
6983
6984
  function getItems() {
@@ -7125,8 +7126,8 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
7125
7126
  d: "M15.75 10.5V6a3.75 3.75 0 10-7.5 0v4.5m11.356-1.993l1.263 12c.07.665-.45 1.243-1.119 1.243H4.25a1.125 1.125 0 01-1.12-1.243l1.264-12A1.125 1.125 0 015.513 7.5h12.974c.576 0 1.059.435 1.119 1.007z"
7126
7127
  }, null, -1)
7127
7128
  ])])),
7128
- vue.createElementVNode("h2", _hoisted_15$m, vue.toDisplayString(getSidebarTitle()), 1),
7129
- vue.createElementVNode("span", _hoisted_16$l, vue.toDisplayString(getTotalItems()), 1)
7129
+ vue.createElementVNode("h2", _hoisted_15$n, vue.toDisplayString(getSidebarTitle()), 1),
7130
+ vue.createElementVNode("span", _hoisted_16$m, vue.toDisplayString(getTotalItems()), 1)
7130
7131
  ]),
7131
7132
  vue.createElementVNode("button", {
7132
7133
  type: "button",
@@ -7176,7 +7177,7 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
7176
7177
  showCartItemNotesField: false,
7177
7178
  showCrossupsells: false,
7178
7179
  showStockComponent: false,
7179
- includeTax: false,
7180
+ includeTax: useTax.value,
7180
7181
  className: "propeller-cart-icon__item"
7181
7182
  }, {
7182
7183
  image: vue.withCtx(({ cartItem: rowCartItem }) => [
@@ -7206,13 +7207,13 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
7206
7207
  }, vue.toDisplayString(name), 9, _hoisted_27$f)) : vue.createCommentVNode("", true)
7207
7208
  ]),
7208
7209
  _: 1
7209
- }, 40, ["cartItem", "cartId", "graphqlClient", "user", "language", "configuration", "companyId", "onTitleClick"]);
7210
+ }, 40, ["cartItem", "cartId", "graphqlClient", "user", "language", "configuration", "companyId", "onTitleClick", "includeTax"]);
7210
7211
  }), 128)) : vue.createCommentVNode("", true),
7211
7212
  (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(CartBonusItemsImpl.value), {
7212
7213
  cart: __props.cart,
7213
- includeTax: true,
7214
+ includeTax: useTax.value,
7214
7215
  className: "mt-4"
7215
- }, null, 8, ["cart"]))
7216
+ }, null, 8, ["cart", "includeTax"]))
7216
7217
  ]),
7217
7218
  getItems().length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_28$e, [
7218
7219
  vue.createElementVNode("div", _hoisted_29$e, [
@@ -7306,8 +7307,8 @@ const _hoisted_14$m = {
7306
7307
  key: 2,
7307
7308
  class: "propeller-cart-overview__address-email text-muted-foreground"
7308
7309
  };
7309
- const _hoisted_15$l = { class: "propeller-cart-overview__info-panel bg-surface-hover p-4 rounded-[var(--radius-control)] border border-border space-y-2 text-sm" };
7310
- const _hoisted_16$k = {
7310
+ const _hoisted_15$m = { class: "propeller-cart-overview__info-panel bg-surface-hover p-4 rounded-[var(--radius-control)] border border-border space-y-2 text-sm" };
7311
+ const _hoisted_16$l = {
7311
7312
  key: 0,
7312
7313
  class: "flex justify-between"
7313
7314
  };
@@ -7485,8 +7486,8 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
7485
7486
  ])) : vue.createCommentVNode("", true)
7486
7487
  ])
7487
7488
  ]),
7488
- vue.createElementVNode("div", _hoisted_15$l, [
7489
- paymentMethod.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$k, [
7489
+ vue.createElementVNode("div", _hoisted_15$m, [
7490
+ paymentMethod.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$l, [
7490
7491
  vue.createElementVNode("span", _hoisted_17$k, vue.toDisplayString(getLabel("payment", "Payment:")), 1),
7491
7492
  vue.createElementVNode("span", null, vue.toDisplayString(paymentMethod.value), 1)
7492
7493
  ])) : vue.createCommentVNode("", true),
@@ -7716,8 +7717,8 @@ const _hoisted_12$n = {
7716
7717
  };
7717
7718
  const _hoisted_13$l = { class: "propeller-cart-summary__label" };
7718
7719
  const _hoisted_14$l = { class: "propeller-cart-summary__value" };
7719
- const _hoisted_15$k = { class: "propeller-cart-summary__label" };
7720
- const _hoisted_16$j = { class: "propeller-cart-summary__value" };
7720
+ const _hoisted_15$l = { class: "propeller-cart-summary__label" };
7721
+ const _hoisted_16$k = { class: "propeller-cart-summary__value" };
7721
7722
  const _hoisted_17$j = {
7722
7723
  key: 5,
7723
7724
  class: "propeller-cart-summary__row flex justify-between text-muted-foreground text-sm",
@@ -7905,8 +7906,8 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
7905
7906
  class: "propeller-cart-summary__row flex justify-between text-muted-foreground text-sm",
7906
7907
  "data-row": "vat-line"
7907
7908
  }, [
7908
- vue.createElementVNode("span", _hoisted_15$k, vue.toDisplayString(tax.taxPercentage) + "% " + vue.toDisplayString(getLabel("vat", "VAT")) + ":", 1),
7909
- vue.createElementVNode("span", _hoisted_16$j, vue.toDisplayString(formatItemPrice(Number(tax.price))), 1)
7909
+ vue.createElementVNode("span", _hoisted_15$l, vue.toDisplayString(tax.taxPercentage) + "% " + vue.toDisplayString(getLabel("vat", "VAT")) + ":", 1),
7910
+ vue.createElementVNode("span", _hoisted_16$k, vue.toDisplayString(formatItemPrice(Number(tax.price))), 1)
7910
7911
  ]);
7911
7912
  }), 128)) : vue.createCommentVNode("", true),
7912
7913
  showTotalVat.value && totalVat.value > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_17$j, [
@@ -8150,8 +8151,8 @@ const _hoisted_11$m = ["href"];
8150
8151
  const _hoisted_12$m = { class: "flex flex-col gap-0.5" };
8151
8152
  const _hoisted_13$k = { class: "propeller-cluster-card__manufacturer text-xs text-muted-foreground" };
8152
8153
  const _hoisted_14$k = { class: "propeller-cluster-card__description line-clamp-2 text-xs text-muted-foreground" };
8153
- const _hoisted_15$j = { class: "propeller-cluster-card__footer w-full md:w-auto flex flex-col gap-2 md:flex-row md:items-center md:gap-3 px-4 py-2 md:py-0 border-t md:border-t-0 border-border-subtle" };
8154
- const _hoisted_16$i = { class: "propeller-cluster-card__footer-meta flex items-center justify-between gap-3 md:contents" };
8154
+ const _hoisted_15$k = { class: "propeller-cluster-card__footer w-full md:w-auto flex flex-col gap-2 md:flex-row md:items-center md:gap-3 px-4 py-2 md:py-0 border-t md:border-t-0 border-border-subtle" };
8155
+ const _hoisted_16$j = { class: "propeller-cluster-card__footer-meta flex items-center justify-between gap-3 md:contents" };
8155
8156
  const _hoisted_17$i = {
8156
8157
  key: 1,
8157
8158
  class: "propeller-cluster-card__price font-bold text-foreground text-sm whitespace-nowrap"
@@ -8495,8 +8496,8 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
8495
8496
  ]) : vue.createCommentVNode("", true)
8496
8497
  ])
8497
8498
  ]),
8498
- vue.createElementVNode("div", _hoisted_15$j, [
8499
- vue.createElementVNode("div", _hoisted_16$i, [
8499
+ vue.createElementVNode("div", _hoisted_15$k, [
8500
+ vue.createElementVNode("div", _hoisted_16$j, [
8500
8501
  __props.showStock && !!__props.cluster.defaultProduct?.inventory ? vue.renderSlot(_ctx.$slots, "stock", {
8501
8502
  key: 0,
8502
8503
  cluster: __props.cluster,
@@ -8730,8 +8731,8 @@ const _hoisted_14$j = {
8730
8731
  key: 4,
8731
8732
  class: "propeller-cluster-configurator__options flex flex-wrap gap-3"
8732
8733
  };
8733
- const _hoisted_15$i = ["disabled", "onClick", "data-selected"];
8734
- const _hoisted_16$h = ["src", "alt"];
8734
+ const _hoisted_15$j = ["disabled", "onClick", "data-selected"];
8735
+ const _hoisted_16$i = ["src", "alt"];
8735
8736
  const _hoisted_17$h = {
8736
8737
  key: 0,
8737
8738
  class: "propeller-cluster-configurator__image-check absolute inset-0 bg-secondary bg-opacity-20 flex items-center justify-center"
@@ -9108,7 +9109,7 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
9108
9109
  class: "propeller-cluster-configurator__image w-full h-full object-cover",
9109
9110
  src: val,
9110
9111
  alt: val
9111
- }, null, 8, _hoisted_16$h),
9112
+ }, null, 8, _hoisted_16$i),
9112
9113
  setting.selectedValue === val ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_17$h, [..._cache[0] || (_cache[0] = [
9113
9114
  vue.createElementVNode("svg", {
9114
9115
  fill: "currentColor",
@@ -9122,7 +9123,7 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
9122
9123
  })
9123
9124
  ], -1)
9124
9125
  ])])) : vue.createCommentVNode("", true)
9125
- ], 10, _hoisted_15$i);
9126
+ ], 10, _hoisted_15$j);
9126
9127
  }), 128))
9127
9128
  ])) : vue.createCommentVNode("", true),
9128
9129
  setting.displayType !== "DROPDOWN" && setting.displayType !== "RADIO" && setting.displayType !== "COLOR" && setting.displayType !== "IMAGE" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_18$f, [
@@ -9305,7 +9306,7 @@ const _hoisted_12$k = {
9305
9306
  };
9306
9307
  const _hoisted_13$i = { class: "min-w-0 flex-1" };
9307
9308
  const _hoisted_14$i = { class: "propeller-cluster-options__preview-name truncate text-sm font-medium text-foreground" };
9308
- const _hoisted_15$h = { class: "propeller-cluster-options__preview-price text-sm font-semibold text-secondary" };
9309
+ const _hoisted_15$i = { class: "propeller-cluster-options__preview-price text-sm font-semibold text-secondary" };
9309
9310
  const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
9310
9311
  __name: "ClusterOptions",
9311
9312
  props: {
@@ -9459,7 +9460,7 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
9459
9460
  ])])) : vue.createCommentVNode("", true),
9460
9461
  vue.createElementVNode("div", _hoisted_13$i, [
9461
9462
  vue.createElementVNode("p", _hoisted_14$i, vue.toDisplayString(option.previewName), 1),
9462
- vue.createElementVNode("p", _hoisted_15$h, vue.toDisplayString(option.previewPrice), 1)
9463
+ vue.createElementVNode("p", _hoisted_15$i, vue.toDisplayString(option.previewPrice), 1)
9463
9464
  ])
9464
9465
  ])) : vue.createCommentVNode("", true)
9465
9466
  ], 8, _hoisted_2$w);
@@ -9639,7 +9640,7 @@ const _hoisted_6$q = {
9639
9640
  const _hoisted_7$q = { class: "propeller-delivery-date__modal-content bg-card rounded-xl shadow-xl p-6 w-full max-w-sm mx-4" };
9640
9641
  const _hoisted_8$o = { class: "propeller-delivery-date__modal-header flex justify-between items-center mb-4" };
9641
9642
  const _hoisted_9$n = { class: "propeller-delivery-date__modal-title text-lg font-semibold" };
9642
- const _hoisted_10$l = ["min", "value"];
9643
+ const _hoisted_10$l = ["lang", "min", "value"];
9643
9644
  const _hoisted_11$j = {
9644
9645
  key: 0,
9645
9646
  class: "propeller-delivery-date__input-error text-sm text-destructive mt-2",
@@ -9657,10 +9658,15 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
9657
9658
  formatDateDisplay: {},
9658
9659
  labels: {},
9659
9660
  containerClass: {},
9660
- initialDate: {}
9661
+ initialDate: {},
9662
+ language: {}
9661
9663
  },
9662
9664
  setup(__props) {
9663
9665
  const props = __props;
9666
+ const infra = ProductVideos_vue_vue_type_script_setup_true_lang.useInfraProps(props);
9667
+ const inputLang = vue.computed(
9668
+ () => infra.language ? String(infra.language).toLowerCase() : void 0
9669
+ );
9664
9670
  const selectedDate = vue.ref("");
9665
9671
  const modalOpen = vue.ref(false);
9666
9672
  const customDateValue = vue.ref("");
@@ -9747,8 +9753,8 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
9747
9753
  if (!isoDate) return "";
9748
9754
  const date = new Date(isoDate);
9749
9755
  if (isNaN(date.getTime())) return "";
9750
- const weekday = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"][date.getDay()];
9751
- const months = [
9756
+ const WEEKDAYS = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
9757
+ const MONTHS = [
9752
9758
  "Jan",
9753
9759
  "Feb",
9754
9760
  "Mar",
@@ -9762,7 +9768,9 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
9762
9768
  "Nov",
9763
9769
  "Dec"
9764
9770
  ];
9765
- return weekday + ", " + months[date.getMonth()] + " " + date.getDate();
9771
+ const weekday = getLabel(`day_${date.getDay()}`, WEEKDAYS[date.getDay()]);
9772
+ const month = getLabel(`month_${date.getMonth()}`, MONTHS[date.getMonth()]);
9773
+ return weekday + ", " + month + " " + date.getDate();
9766
9774
  }
9767
9775
  function handleSelect(isoDate) {
9768
9776
  selectedDate.value = isoDate;
@@ -9867,6 +9875,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
9867
9875
  ]),
9868
9876
  vue.createElementVNode("input", {
9869
9877
  type: "date",
9878
+ lang: inputLang.value,
9870
9879
  class: vue.normalizeClass(["propeller-delivery-date__input w-full border border-input rounded-[var(--radius-container)] px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-secondary focus:border-secondary", customDateError.value ? "border-destructive focus:ring-destructive focus:border-destructive" : ""]),
9871
9880
  min: minDate.value,
9872
9881
  value: customDateValue.value,
@@ -9918,12 +9927,12 @@ const _hoisted_14$h = {
9918
9927
  key: 0,
9919
9928
  class: "propeller-favorite-list-item__stock flex-shrink-0"
9920
9929
  };
9921
- const _hoisted_15$g = {
9930
+ const _hoisted_15$h = {
9922
9931
  key: 0,
9923
9932
  class: "propeller-favorite-list-item__stock-badge inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium text-success bg-success/10",
9924
9933
  "data-stock": "in"
9925
9934
  };
9926
- const _hoisted_16$g = {
9935
+ const _hoisted_16$h = {
9927
9936
  key: 1,
9928
9937
  class: "propeller-favorite-list-item__stock-badge inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium text-warning bg-warning/10",
9929
9938
  "data-stock": "low"
@@ -10145,8 +10154,8 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
10145
10154
  ])) : vue.createCommentVNode("", true),
10146
10155
  !isProduct() ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
10147
10156
  getCluster()?.defaultProduct?.inventory?.totalQuantity !== void 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_14$h, [
10148
- (getCluster()?.defaultProduct?.inventory?.totalQuantity || 0) > 5 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_15$g, vue.toDisplayString(getLabel("inStock", "In stock")), 1)) : vue.createCommentVNode("", true),
10149
- (getCluster()?.defaultProduct?.inventory?.totalQuantity || 0) > 0 && (getCluster()?.defaultProduct?.inventory?.totalQuantity || 0) <= 5 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_16$g, vue.toDisplayString(getLabel("lowStock", "Low stock")), 1)) : vue.createCommentVNode("", true),
10157
+ (getCluster()?.defaultProduct?.inventory?.totalQuantity || 0) > 5 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_15$h, vue.toDisplayString(getLabel("inStock", "In stock")), 1)) : vue.createCommentVNode("", true),
10158
+ (getCluster()?.defaultProduct?.inventory?.totalQuantity || 0) > 0 && (getCluster()?.defaultProduct?.inventory?.totalQuantity || 0) <= 5 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_16$h, vue.toDisplayString(getLabel("lowStock", "Low stock")), 1)) : vue.createCommentVNode("", true),
10150
10159
  (getCluster()?.defaultProduct?.inventory?.totalQuantity || 0) === 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_17$g, vue.toDisplayString(getLabel("outOfStock", "Out of stock")), 1)) : vue.createCommentVNode("", true)
10151
10160
  ])) : vue.createCommentVNode("", true)
10152
10161
  ], 64)) : vue.createCommentVNode("", true)
@@ -10414,11 +10423,11 @@ const _hoisted_12$h = {
10414
10423
  };
10415
10424
  const _hoisted_13$g = { class: "propeller-favorite-list-details__empty-title text-lg font-medium" };
10416
10425
  const _hoisted_14$g = { class: "propeller-favorite-list-details__empty-message text-muted-foreground" };
10417
- const _hoisted_15$f = {
10426
+ const _hoisted_15$g = {
10418
10427
  key: 2,
10419
10428
  class: "propeller-favorite-list-details__floating-bar fixed bottom-0 left-0 right-0 z-40 border-t border-border bg-card shadow-lg"
10420
10429
  };
10421
- const _hoisted_16$f = { class: "propeller-favorite-list-details__floating-bar-inner flex items-center justify-between gap-4 px-6 py-4" };
10430
+ const _hoisted_16$g = { class: "propeller-favorite-list-details__floating-bar-inner flex items-center justify-between gap-4 px-6 py-4" };
10422
10431
  const _hoisted_17$f = { class: "propeller-favorite-list-details__floating-bar-status flex items-center gap-2" };
10423
10432
  const _hoisted_18$d = ["checked"];
10424
10433
  const _hoisted_19$d = {
@@ -10952,8 +10961,8 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
10952
10961
  ])
10953
10962
  ])) : vue.createCommentVNode("", true)
10954
10963
  ], 64)) : vue.createCommentVNode("", true),
10955
- selectedIds.value.size > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_15$f, [
10956
- vue.createElementVNode("div", _hoisted_16$f, [
10964
+ selectedIds.value.size > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_15$g, [
10965
+ vue.createElementVNode("div", _hoisted_16$g, [
10957
10966
  vue.createElementVNode("div", _hoisted_17$f, [
10958
10967
  vue.createElementVNode("input", {
10959
10968
  id: "favorite-list-select-all-floating",
@@ -11170,8 +11179,8 @@ const _hoisted_11$g = { class: "flex items-center space-x-2" };
11170
11179
  const _hoisted_12$g = ["id", "checked"];
11171
11180
  const _hoisted_13$f = ["for"];
11172
11181
  const _hoisted_14$f = { class: "flex gap-2" };
11173
- const _hoisted_15$e = ["onClick", "disabled"];
11174
- const _hoisted_16$e = {
11182
+ const _hoisted_15$f = ["onClick", "disabled"];
11183
+ const _hoisted_16$f = {
11175
11184
  key: 1,
11176
11185
  class: "propeller-favorite-lists__display space-y-2"
11177
11186
  };
@@ -11443,14 +11452,14 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
11443
11452
  class: "propeller-favorite-lists__save-btn inline-flex items-center px-3 py-1.5 text-sm font-medium rounded-[var(--radius-control)] text-primary-foreground bg-primary hover:bg-primary/80 disabled:opacity-50",
11444
11453
  onClick: async (event) => handleUpdateList(String(list.id)),
11445
11454
  disabled: !vue.unref(editListName).trim()
11446
- }, vue.toDisplayString(getLabel("editSave", "Save")), 9, _hoisted_15$e),
11455
+ }, vue.toDisplayString(getLabel("editSave", "Save")), 9, _hoisted_15$f),
11447
11456
  vue.createElementVNode("button", {
11448
11457
  class: "propeller-favorite-lists__cancel-btn inline-flex items-center px-3 py-1.5 text-sm font-medium rounded-[var(--radius-control)] border border-input text-muted-foreground bg-card hover:bg-surface-hover",
11449
11458
  onClick: _cache[3] || (_cache[3] = async (event) => handleCancelEdit())
11450
11459
  }, vue.toDisplayString(getLabel("editCancel", "Cancel")), 1)
11451
11460
  ])
11452
11461
  ])) : vue.createCommentVNode("", true),
11453
- vue.unref(editingListId) !== String(list.id) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$e, [
11462
+ vue.unref(editingListId) !== String(list.id) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$f, [
11454
11463
  vue.createElementVNode("div", _hoisted_17$e, [
11455
11464
  vue.createElementVNode("span", _hoisted_18$c, vue.toDisplayString(list.name), 1),
11456
11465
  __props.showDefaultIndicator !== false && list.isDefault ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_19$c, vue.toDisplayString(getLabel("defaultBadge", "Default")), 1)) : vue.createCommentVNode("", true)
@@ -11883,8 +11892,8 @@ const _hoisted_12$e = {
11883
11892
  };
11884
11893
  const _hoisted_13$e = ["data-expanded"];
11885
11894
  const _hoisted_14$e = ["onClick"];
11886
- const _hoisted_15$d = { class: "propeller-grid-filters__group-title text-sm font-semibold text-muted-foreground truncate" };
11887
- const _hoisted_16$d = {
11895
+ const _hoisted_15$e = { class: "propeller-grid-filters__group-title text-sm font-semibold text-muted-foreground truncate" };
11896
+ const _hoisted_16$e = {
11888
11897
  key: 0,
11889
11898
  class: "propeller-grid-filters__options pt-2 space-y-1.5"
11890
11899
  };
@@ -12189,7 +12198,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
12189
12198
  class: "propeller-grid-filters__group-toggle w-full flex items-center justify-between gap-2 text-left py-1 hover:text-secondary transition-colors",
12190
12199
  onClick: async (event) => toggleAccordion(getFilterName(filter))
12191
12200
  }, [
12192
- vue.createElementVNode("span", _hoisted_15$d, vue.toDisplayString(getFilterTitle(filter)), 1),
12201
+ vue.createElementVNode("span", _hoisted_15$e, vue.toDisplayString(getFilterTitle(filter)), 1),
12193
12202
  (vue.openBlock(), vue.createElementBlock("svg", {
12194
12203
  fill: "none",
12195
12204
  stroke: "currentColor",
@@ -12204,7 +12213,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
12204
12213
  }, null, -1)
12205
12214
  ])], 2))
12206
12215
  ], 8, _hoisted_14$e),
12207
- isExpanded(getFilterName(filter)) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$d, [
12216
+ isExpanded(getFilterName(filter)) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$e, [
12208
12217
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getValidOptions(filter), (option, index22) => {
12209
12218
  return vue.openBlock(), vue.createElementBlock("label", {
12210
12219
  key: option.value,
@@ -12391,7 +12400,7 @@ const _hoisted_14$d = {
12391
12400
  strokeLinecap: "round",
12392
12401
  strokeLinejoin: "round"
12393
12402
  };
12394
- const _hoisted_15$c = {
12403
+ const _hoisted_15$d = {
12395
12404
  key: 1,
12396
12405
  xmlns: "http://www.w3.org/2000/svg",
12397
12406
  width: "16",
@@ -12403,7 +12412,7 @@ const _hoisted_15$c = {
12403
12412
  strokeLinecap: "round",
12404
12413
  strokeLinejoin: "round"
12405
12414
  };
12406
- const _hoisted_16$c = {
12415
+ const _hoisted_16$d = {
12407
12416
  key: 0,
12408
12417
  class: "propeller-grid-toolbar__active-filters flex flex-wrap gap-2 mb-4"
12409
12418
  };
@@ -12609,7 +12618,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
12609
12618
  currentViewMode.value === "grid" ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_14$d, [..._cache[6] || (_cache[6] = [
12610
12619
  vue.createStaticVNode('<line x1="8" y1="6" x2="21" y2="6"></line><line x1="8" y1="12" x2="21" y2="12"></line><line x1="8" y1="18" x2="21" y2="18"></line><line x1="3" y1="6" x2="3.01" y2="6"></line><line x1="3" y1="12" x2="3.01" y2="12"></line><line x1="3" y1="18" x2="3.01" y2="18"></line>', 6)
12611
12620
  ])])) : vue.createCommentVNode("", true),
12612
- currentViewMode.value === "list" ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_15$c, [..._cache[7] || (_cache[7] = [
12621
+ currentViewMode.value === "list" ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_15$d, [..._cache[7] || (_cache[7] = [
12613
12622
  vue.createElementVNode("rect", {
12614
12623
  x: "3",
12615
12624
  y: "3",
@@ -12638,7 +12647,7 @@ const _sfc_main$o = /* @__PURE__ */ vue.defineComponent({
12638
12647
  ], 8, _hoisted_13$d)
12639
12648
  ])
12640
12649
  ]),
12641
- hasActiveFilters() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$c, [
12650
+ hasActiveFilters() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$d, [
12642
12651
  vue.createElementVNode("button", {
12643
12652
  type: "button",
12644
12653
  class: "propeller-grid-toolbar__clear-all h-7 px-2 text-xs rounded-[var(--radius-control)] hover:bg-accent hover:text-accent-foreground transition-colors",
@@ -12731,8 +12740,8 @@ const _hoisted_14$c = {
12731
12740
  key: 0,
12732
12741
  class: "text-muted-foreground whitespace-nowrap ml-2"
12733
12742
  };
12734
- const _hoisted_15$b = { class: "line-clamp-1" };
12735
- const _hoisted_16$b = {
12743
+ const _hoisted_15$c = { class: "line-clamp-1" };
12744
+ const _hoisted_16$c = {
12736
12745
  key: 0,
12737
12746
  class: "text-foreground-subtle whitespace-nowrap ml-2"
12738
12747
  };
@@ -12955,8 +12964,8 @@ const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({
12955
12964
  key: idx,
12956
12965
  class: "propeller-items-overview__item-bundle-item flex justify-between items-center text-xs text-muted-foreground"
12957
12966
  }, [
12958
- vue.createElementVNode("span", _hoisted_15$b, vue.toDisplayString(getBundleItemName(bundleItem)), 1),
12959
- !!getBundleItemPrice(bundleItem) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_16$b, vue.toDisplayString(getBundleItemPrice(bundleItem)), 1)) : vue.createCommentVNode("", true)
12967
+ vue.createElementVNode("span", _hoisted_15$c, vue.toDisplayString(getBundleItemName(bundleItem)), 1),
12968
+ !!getBundleItemPrice(bundleItem) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_16$c, vue.toDisplayString(getBundleItemPrice(bundleItem)), 1)) : vue.createCommentVNode("", true)
12960
12969
  ]);
12961
12970
  }), 128))
12962
12971
  ])
@@ -13054,14 +13063,14 @@ const _hoisted_11$b = {
13054
13063
  const _hoisted_12$b = ["data-active", "onMouseenter"];
13055
13064
  const _hoisted_13$b = ["href", "onClick"];
13056
13065
  const _hoisted_14$b = { class: "propeller-menu__label truncate" };
13057
- const _hoisted_15$a = {
13066
+ const _hoisted_15$b = {
13058
13067
  key: 0,
13059
13068
  fill: "none",
13060
13069
  stroke: "currentColor",
13061
13070
  viewBox: "0 0 24 24",
13062
13071
  class: "propeller-menu__chevron w-4 h-4 text-muted-foreground"
13063
13072
  };
13064
- const _hoisted_16$a = {
13073
+ const _hoisted_16$b = {
13065
13074
  key: 0,
13066
13075
  class: "propeller-menu__list w-64 py-1 flex-shrink-0",
13067
13076
  "data-level": "3"
@@ -13262,7 +13271,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
13262
13271
  class: vue.normalizeClass(`propeller-menu__link flex items-center justify-between px-4 py-2.5 text-sm transition-colors ${hoveredL2Id.value === l2.categoryId ? "bg-accent text-accent-foreground" : "text-foreground hover:bg-accent/50"}`)
13263
13272
  }, [
13264
13273
  vue.createElementVNode("span", _hoisted_14$b, vue.toDisplayString(getCategoryName(l2)), 1),
13265
- getSubCategories(l2).length > 0 ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_15$a, [..._cache[3] || (_cache[3] = [
13274
+ getSubCategories(l2).length > 0 ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_15$b, [..._cache[3] || (_cache[3] = [
13266
13275
  vue.createElementVNode("path", {
13267
13276
  strokeLinecap: "round",
13268
13277
  strokeLinejoin: "round",
@@ -13280,7 +13289,7 @@ const _sfc_main$l = /* @__PURE__ */ vue.defineComponent({
13280
13289
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: index2 }, [
13281
13290
  hoveredL1Id.value === l1.categoryId ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(getSubCategories(l1), (l2, index22) => {
13282
13291
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: index22 }, [
13283
- hoveredL2Id.value === l2.categoryId && getSubCategories(l2).length > 0 ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_16$a, [
13292
+ hoveredL2Id.value === l2.categoryId && getSubCategories(l2).length > 0 ? (vue.openBlock(), vue.createElementBlock("ul", _hoisted_16$b, [
13284
13293
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getSubCategories(l2), (l3, idx3) => {
13285
13294
  return vue.openBlock(), vue.createElementBlock("li", {
13286
13295
  key: `l3-${l3.categoryId}-${idx3}`,
@@ -13735,8 +13744,8 @@ const _hoisted_14$a = {
13735
13744
  key: 2,
13736
13745
  class: "flex space-x-2 w-full"
13737
13746
  };
13738
- const _hoisted_15$9 = ["placeholder", "value"];
13739
- const _hoisted_16$9 = ["placeholder", "value"];
13747
+ const _hoisted_15$a = ["placeholder", "value"];
13748
+ const _hoisted_16$a = ["placeholder", "value"];
13740
13749
  const _hoisted_17$9 = {
13741
13750
  key: 3,
13742
13751
  class: "flex space-x-2 w-full"
@@ -14059,7 +14068,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
14059
14068
  }
14060
14069
  };
14061
14070
  })
14062
- }, null, 40, _hoisted_15$9),
14071
+ }, null, 40, _hoisted_15$a),
14063
14072
  vue.createElementVNode("input", {
14064
14073
  type: "number",
14065
14074
  placeholder: getLabel("priceMaxPlaceholder", "Max"),
@@ -14075,7 +14084,7 @@ const _sfc_main$i = /* @__PURE__ */ vue.defineComponent({
14075
14084
  }
14076
14085
  };
14077
14086
  })
14078
- }, null, 40, _hoisted_16$9)
14087
+ }, null, 40, _hoisted_16$a)
14079
14088
  ])) : vue.createCommentVNode("", true),
14080
14089
  field === "sortInput" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_17$9, [
14081
14090
  vue.createElementVNode("select", {
@@ -14304,8 +14313,8 @@ const _hoisted_14$9 = {
14304
14313
  key: 1,
14305
14314
  class: "text-muted-foreground"
14306
14315
  };
14307
- const _hoisted_15$8 = { class: "px-4 py-3 text-muted-foreground" };
14308
- const _hoisted_16$8 = { class: "px-4 py-3 text-muted-foreground" };
14316
+ const _hoisted_15$9 = { class: "px-4 py-3 text-muted-foreground" };
14317
+ const _hoisted_16$9 = { class: "px-4 py-3 text-muted-foreground" };
14309
14318
  const _hoisted_17$8 = { class: "px-4 py-3 text-muted-foreground" };
14310
14319
  const _hoisted_18$7 = { class: "px-4 py-3 text-right" };
14311
14320
  const _hoisted_19$7 = ["onClick"];
@@ -14422,8 +14431,8 @@ const _sfc_main$h = /* @__PURE__ */ vue.defineComponent({
14422
14431
  !!shipment.status ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_13$9, vue.toDisplayString(shipment.status), 1)) : vue.createCommentVNode("", true),
14423
14432
  !shipment.status ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_14$9, "-")) : vue.createCommentVNode("", true)
14424
14433
  ]),
14425
- vue.createElementVNode("td", _hoisted_15$8, vue.toDisplayString(formatDate(shipment.createdAt)), 1),
14426
- vue.createElementVNode("td", _hoisted_16$8, [
14434
+ vue.createElementVNode("td", _hoisted_15$9, vue.toDisplayString(formatDate(shipment.createdAt)), 1),
14435
+ vue.createElementVNode("td", _hoisted_16$9, [
14427
14436
  !!shipment.expectedDeliveryAt ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
14428
14437
  vue.createTextVNode(vue.toDisplayString(formatDate(shipment.expectedDeliveryAt)), 1)
14429
14438
  ], 64)) : vue.createCommentVNode("", true),
@@ -14689,8 +14698,8 @@ const _hoisted_13$8 = {
14689
14698
  strokeWidth: 2.5
14690
14699
  };
14691
14700
  const _hoisted_14$8 = { class: "propeller-product-bundles__summary flex-shrink-0 w-full lg:w-72 pl-0 lg:pl-6" };
14692
- const _hoisted_15$7 = { class: "propeller-product-bundles__title text-xl font-bold text-foreground mb-1" };
14693
- const _hoisted_16$7 = {
14701
+ const _hoisted_15$8 = { class: "propeller-product-bundles__title text-xl font-bold text-foreground mb-1" };
14702
+ const _hoisted_16$8 = {
14694
14703
  key: 0,
14695
14704
  class: "propeller-product-bundles__description text-sm text-muted-foreground mb-3"
14696
14705
  };
@@ -15011,8 +15020,8 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
15011
15020
  ])]))
15012
15021
  ]),
15013
15022
  vue.createElementVNode("div", _hoisted_14$8, [
15014
- vue.createElementVNode("h3", _hoisted_15$7, vue.toDisplayString(bundle.name || getLabel("title", "Combo deal")), 1),
15015
- bundle.description ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_16$7, vue.toDisplayString(bundle.description), 1)) : vue.createCommentVNode("", true),
15023
+ vue.createElementVNode("h3", _hoisted_15$8, vue.toDisplayString(bundle.name || getLabel("title", "Combo deal")), 1),
15024
+ bundle.description ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_16$8, vue.toDisplayString(bundle.description), 1)) : vue.createCommentVNode("", true),
15016
15025
  bundle.condition ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_17$7, [
15017
15026
  bundle.condition === vue.unref(propellerSdkV2.BundleCondition).ALL ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
15018
15027
  vue.createTextVNode(vue.toDisplayString(getLabel("condition_ALL", "Discount on all items")), 1)
@@ -15205,8 +15214,8 @@ const _hoisted_11$7 = { class: "propeller-product-card__labels flex flex-col gap
15205
15214
  const _hoisted_12$7 = { class: "propeller-product-card__manufacturer text-xs text-muted-foreground" };
15206
15215
  const _hoisted_13$7 = { class: "propeller-product-card__description line-clamp-2 text-xs text-muted-foreground" };
15207
15216
  const _hoisted_14$7 = { class: "propeller-product-card__footer w-full md:w-auto flex flex-col gap-2 md:flex-row md:items-center md:gap-3 px-4 py-2 md:py-0 border-t md:border-t-0 border-border-subtle" };
15208
- const _hoisted_15$6 = { class: "propeller-product-card__footer-meta flex items-center justify-between gap-3 md:contents" };
15209
- const _hoisted_16$6 = { class: "propeller-product-card__price" };
15217
+ const _hoisted_15$7 = { class: "propeller-product-card__footer-meta flex items-center justify-between gap-3 md:contents" };
15218
+ const _hoisted_16$7 = { class: "propeller-product-card__price" };
15210
15219
  const _hoisted_17$6 = { class: "propeller-product-card__cta w-full md:w-auto md:flex-shrink-0 md:ml-auto" };
15211
15220
  const _hoisted_18$5 = { class: "propeller-product-card__body flex flex-1 flex-col gap-1.5 p-3 sm:gap-2 sm:p-4" };
15212
15221
  const _hoisted_19$5 = { class: "propeller-product-card__sku font-mono text-xs text-foreground-subtle" };
@@ -15561,7 +15570,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
15561
15570
  ])
15562
15571
  ]),
15563
15572
  vue.createElementVNode("div", _hoisted_14$7, [
15564
- vue.createElementVNode("div", _hoisted_15$6, [
15573
+ vue.createElementVNode("div", _hoisted_15$7, [
15565
15574
  props.showStock && !!props.product.inventory ? vue.renderSlot(_ctx.$slots, "stock", {
15566
15575
  key: 0,
15567
15576
  product: __props.product,
@@ -15591,7 +15600,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
15591
15600
  currency: __props.currency,
15592
15601
  labels: props.priceLabels
15593
15602
  }, () => [
15594
- vue.createElementVNode("div", _hoisted_16$6, [
15603
+ vue.createElementVNode("div", _hoisted_16$7, [
15595
15604
  props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
15596
15605
  key: 0,
15597
15606
  price: __props.product.price,
@@ -17244,11 +17253,11 @@ const _hoisted_14$6 = {
17244
17253
  key: 1,
17245
17254
  class: "mb-6 space-y-3"
17246
17255
  };
17247
- const _hoisted_15$5 = {
17256
+ const _hoisted_15$6 = {
17248
17257
  key: 0,
17249
17258
  class: "text-sm font-semibold text-muted-foreground uppercase tracking-wide mb-2"
17250
17259
  };
17251
- const _hoisted_16$5 = {
17260
+ const _hoisted_16$6 = {
17252
17261
  key: 1,
17253
17262
  class: "overflow-hidden rounded-[var(--radius-container)] border border-border"
17254
17263
  };
@@ -17426,8 +17435,8 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
17426
17435
  key: group,
17427
17436
  class: "mb-6"
17428
17437
  }, [
17429
- !!group ? (vue.openBlock(), vue.createElementBlock("h4", _hoisted_15$5, vue.toDisplayString(group), 1)) : vue.createCommentVNode("", true),
17430
- __props.layout !== "list" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$5, [
17438
+ !!group ? (vue.openBlock(), vue.createElementBlock("h4", _hoisted_15$6, vue.toDisplayString(group), 1)) : vue.createCommentVNode("", true),
17439
+ __props.layout !== "list" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$6, [
17431
17440
  vue.createElementVNode("table", _hoisted_17$5, [
17432
17441
  vue.createElementVNode("tbody", _hoisted_18$4, [
17433
17442
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getAttributesByGroup(group), (attr, i) => {
@@ -17491,11 +17500,11 @@ const _hoisted_13$5 = {
17491
17500
  class: "propeller-product-tabs__accordion-panel px-4 pb-4"
17492
17501
  };
17493
17502
  const _hoisted_14$5 = { key: 2 };
17494
- const _hoisted_15$4 = {
17503
+ const _hoisted_15$5 = {
17495
17504
  key: 0,
17496
17505
  class: "propeller-product-tabs__accordion-panel px-4 pb-4"
17497
17506
  };
17498
- const _hoisted_16$4 = { key: 3 };
17507
+ const _hoisted_16$5 = { key: 3 };
17499
17508
  const _hoisted_17$4 = {
17500
17509
  key: 0,
17501
17510
  class: "propeller-product-tabs__accordion-panel px-4 pb-4"
@@ -17797,7 +17806,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
17797
17806
  vue.createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)
17798
17807
  ])], 2))
17799
17808
  ]),
17800
- isActive("downloads") ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_15$4, [
17809
+ isActive("downloads") ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_15$5, [
17801
17810
  (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(ProductDownloadsImpl.value), {
17802
17811
  downloads: __props.product.media?.documents,
17803
17812
  language: __props.language || "NL",
@@ -17805,7 +17814,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
17805
17814
  }, null, 8, ["downloads", "language", "labels"]))
17806
17815
  ])) : vue.createCommentVNode("", true)
17807
17816
  ])) : vue.createCommentVNode("", true),
17808
- isTabVisible("videos") ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$4, [
17817
+ isTabVisible("videos") ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$5, [
17809
17818
  vue.createElementVNode("button", {
17810
17819
  type: "button",
17811
17820
  class: "propeller-product-tabs__accordion-trigger flex items-center justify-between w-full px-4 py-3 text-sm font-medium text-left",
@@ -17859,8 +17868,8 @@ const _hoisted_11$4 = { class: "text-left px-4 py-3 font-medium text-muted-foreg
17859
17868
  const _hoisted_12$4 = { class: "text-left px-4 py-3 font-medium text-muted-foreground" };
17860
17869
  const _hoisted_13$4 = { class: "divide-y divide-border" };
17861
17870
  const _hoisted_14$4 = { class: "px-4 py-3 text-muted-foreground" };
17862
- const _hoisted_15$3 = { class: "px-4 py-3" };
17863
- const _hoisted_16$3 = { class: "font-medium" };
17871
+ const _hoisted_15$4 = { class: "px-4 py-3" };
17872
+ const _hoisted_16$4 = { class: "font-medium" };
17864
17873
  const _hoisted_17$3 = { class: "text-xs text-muted-foreground mt-0.5" };
17865
17874
  const _hoisted_18$3 = { class: "px-4 py-3" };
17866
17875
  const _hoisted_19$3 = ["value", "disabled", "onChange"];
@@ -18041,8 +18050,8 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
18041
18050
  class: "hover:bg-surface-hover/30 transition-colors"
18042
18051
  }, [
18043
18052
  vue.createElementVNode("td", _hoisted_14$4, vue.toDisplayString(contact.contactId), 1),
18044
- vue.createElementVNode("td", _hoisted_15$3, [
18045
- vue.createElementVNode("div", _hoisted_16$3, vue.toDisplayString([
18053
+ vue.createElementVNode("td", _hoisted_15$4, [
18054
+ vue.createElementVNode("div", _hoisted_16$4, vue.toDisplayString([
18046
18055
  contact.firstName,
18047
18056
  contact.middleName,
18048
18057
  contact.lastName
@@ -18309,8 +18318,8 @@ const _hoisted_11$3 = { class: "text-left px-4 py-3 font-medium text-muted-foreg
18309
18318
  const _hoisted_12$3 = { class: "text-left px-4 py-3 font-medium text-muted-foreground" };
18310
18319
  const _hoisted_13$3 = { class: "divide-y divide-border" };
18311
18320
  const _hoisted_14$3 = { class: "px-4 py-3 text-muted-foreground" };
18312
- const _hoisted_15$2 = { class: "px-4 py-3" };
18313
- const _hoisted_16$2 = { class: "px-4 py-3 font-medium" };
18321
+ const _hoisted_15$3 = { class: "px-4 py-3" };
18322
+ const _hoisted_16$3 = { class: "px-4 py-3 font-medium" };
18314
18323
  const _hoisted_17$2 = { class: "px-4 py-3" };
18315
18324
  const _hoisted_18$2 = { class: "font-medium" };
18316
18325
  const _hoisted_19$2 = { class: "text-xs text-muted-foreground mt-0.5" };
@@ -18483,8 +18492,8 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
18483
18492
  class: "hover:bg-surface-hover/30 transition-colors"
18484
18493
  }, [
18485
18494
  vue.createElementVNode("td", _hoisted_14$3, vue.toDisplayString(formatDate(cart.lastModifiedAt ?? "")), 1),
18486
- vue.createElementVNode("td", _hoisted_15$2, vue.toDisplayString(vue.unref(getTotalQuantity)(cart)), 1),
18487
- vue.createElementVNode("td", _hoisted_16$2, vue.toDisplayString(formatPrice(cart.total?.totalNet ?? 0)), 1),
18495
+ vue.createElementVNode("td", _hoisted_15$3, vue.toDisplayString(vue.unref(getTotalQuantity)(cart)), 1),
18496
+ vue.createElementVNode("td", _hoisted_16$3, vue.toDisplayString(formatPrice(cart.total?.totalNet ?? 0)), 1),
18488
18497
  vue.createElementVNode("td", _hoisted_17$2, [
18489
18498
  vue.createElementVNode("div", _hoisted_18$2, vue.toDisplayString(vue.unref(getContactName)(cart.contact)), 1),
18490
18499
  vue.createElementVNode("div", _hoisted_19$2, vue.toDisplayString(cart.contact?.email), 1)
@@ -18795,8 +18804,8 @@ const _hoisted_11$2 = { class: "text-sm font-medium leading-none" };
18795
18804
  const _hoisted_12$2 = { class: "flex gap-4" };
18796
18805
  const _hoisted_13$2 = { class: "flex items-center gap-2 text-sm" };
18797
18806
  const _hoisted_14$2 = ["checked", "disabled"];
18798
- const _hoisted_15$1 = { class: "flex items-center gap-2 text-sm" };
18799
- const _hoisted_16$1 = ["checked", "disabled"];
18807
+ const _hoisted_15$2 = { class: "flex items-center gap-2 text-sm" };
18808
+ const _hoisted_16$2 = ["checked", "disabled"];
18800
18809
  const _hoisted_17$1 = { class: "flex items-center gap-2 text-sm" };
18801
18810
  const _hoisted_18$1 = ["checked", "disabled"];
18802
18811
  const _hoisted_19$1 = { class: "space-y-2" };
@@ -19297,7 +19306,7 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
19297
19306
  }, null, 40, _hoisted_14$2),
19298
19307
  vue.createTextVNode(" " + vue.toDisplayString(genderMrLabel.value), 1)
19299
19308
  ]),
19300
- vue.createElementVNode("label", _hoisted_15$1, [
19309
+ vue.createElementVNode("label", _hoisted_15$2, [
19301
19310
  vue.createElementVNode("input", {
19302
19311
  type: "radio",
19303
19312
  name: "gender",
@@ -19308,7 +19317,7 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
19308
19317
  gender.value = vue.unref(propellerSdkV2.Gender).F;
19309
19318
  }),
19310
19319
  disabled: vue.unref(loading)
19311
- }, null, 40, _hoisted_16$1),
19320
+ }, null, 40, _hoisted_16$2),
19312
19321
  vue.createTextVNode(" " + vue.toDisplayString(genderMrsLabel.value), 1)
19313
19322
  ]),
19314
19323
  vue.createElementVNode("label", _hoisted_17$1, [
@@ -19863,9 +19872,11 @@ const _hoisted_12$1 = {
19863
19872
  };
19864
19873
  const _hoisted_13$1 = {
19865
19874
  key: 1,
19866
- class: "propeller-search-bar__result-price text-sm font-semibold text-foreground flex-shrink-0"
19875
+ class: "propeller-search-bar__result-price text-sm font-semibold text-foreground flex-shrink-0 text-right"
19867
19876
  };
19868
- const _hoisted_14$1 = {
19877
+ const _hoisted_14$1 = { class: "propeller-search-bar__result-price-value" };
19878
+ const _hoisted_15$1 = { class: "propeller-search-bar__result-price-label block text-xs font-normal text-muted-foreground" };
19879
+ const _hoisted_16$1 = {
19869
19880
  key: 1,
19870
19881
  class: "propeller-search-bar__empty p-4 text-center text-muted-foreground"
19871
19882
  };
@@ -19886,6 +19897,8 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
19886
19897
  onViewAllClick: { type: Function },
19887
19898
  formatPrice: { type: Function },
19888
19899
  labels: {},
19900
+ includeTax: { type: Boolean },
19901
+ priceLabels: {},
19889
19902
  containerClassName: {},
19890
19903
  taxZone: {},
19891
19904
  companyId: {},
@@ -19975,6 +19988,13 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
19975
19988
  }
19976
19989
  return index.formatPrice(price || 0, { symbol: infra.currency ?? "€" });
19977
19990
  }
19991
+ const useTax = vue.computed(() => !!infra.includeTax);
19992
+ function leadingPrice(result) {
19993
+ return useTax.value ? result.priceNet ?? result.price ?? 0 : result.priceGross ?? result.price ?? 0;
19994
+ }
19995
+ function priceTaxLabel() {
19996
+ return useTax.value ? index.getLabel(props.priceLabels, "inclTax", "incl. VAT") : index.getLabel(props.priceLabels, "exclTax", "excl. VAT");
19997
+ }
19978
19998
  function mapProductToResult(item) {
19979
19999
  const isCluster = "clusterId" in item;
19980
20000
  const displayItem = isCluster ? item.defaultProduct : item;
@@ -19983,11 +20003,16 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
19983
20003
  const urls = infra.configuration?.urls;
19984
20004
  const builder = isCluster ? urls?.getClusterUrl : urls?.getProductUrl;
19985
20005
  const url = typeof builder === "function" ? builder(item, infra.language) : isCluster ? "/cluster/" + id + "/" + slug : "/product/" + id + "/" + slug;
20006
+ const priceNet = displayItem?.price?.net || 0;
20007
+ const priceGross = displayItem?.price?.gross || 0;
19986
20008
  return {
19987
20009
  id,
19988
20010
  name: item.names?.[0]?.value || "Product",
19989
20011
  sku: item.sku || displayItem?.sku || "",
19990
- price: displayItem?.price?.gross || 0,
20012
+ // `price` stays gross for back-compat; the row picks net/gross per toggle.
20013
+ price: priceGross,
20014
+ priceNet,
20015
+ priceGross,
19991
20016
  imageUrl: displayItem?.media?.images?.items?.[0]?.imageVariants?.[0]?.url || "",
19992
20017
  url,
19993
20018
  isCluster
@@ -20085,7 +20110,10 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
20085
20110
  vue.createElementVNode("div", _hoisted_11$1, vue.toDisplayString(result.name), 1),
20086
20111
  result.sku ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12$1, "SKU: " + vue.toDisplayString(result.sku), 1)) : vue.createCommentVNode("", true)
20087
20112
  ]),
20088
- result.price !== void 0 && result.price !== null ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_13$1, vue.toDisplayString(formatItemPrice(result.price)), 1)) : vue.createCommentVNode("", true)
20113
+ result.price !== void 0 && result.price !== null ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_13$1, [
20114
+ vue.createElementVNode("span", _hoisted_14$1, vue.toDisplayString(formatItemPrice(leadingPrice(result))), 1),
20115
+ vue.createElementVNode("span", _hoisted_15$1, vue.toDisplayString(priceTaxLabel()), 1)
20116
+ ])) : vue.createCommentVNode("", true)
20089
20117
  ], 8, _hoisted_7$1);
20090
20118
  }), 128))
20091
20119
  ]),
@@ -20095,7 +20123,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
20095
20123
  onClick: _cache[2] || (_cache[2] = async (event) => handleViewAllClick())
20096
20124
  }, vue.toDisplayString(getLabel("viewAll", "View all results")) + " (" + vue.toDisplayString(itemsFound.value) + ") ", 1)) : vue.createCommentVNode("", true)
20097
20125
  ], 64)) : vue.createCommentVNode("", true),
20098
- results.value.length === 0 && searchTerm.value.length >= minLength.value && !vue.unref(isLoading) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_14$1, vue.toDisplayString(getLabel("noResults", "No products found for")) + ' "' + vue.toDisplayString(searchTerm.value) + '" ', 1)) : vue.createCommentVNode("", true)
20126
+ results.value.length === 0 && searchTerm.value.length >= minLength.value && !vue.unref(isLoading) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$1, vue.toDisplayString(getLabel("noResults", "No products found for")) + ' "' + vue.toDisplayString(searchTerm.value) + '" ', 1)) : vue.createCommentVNode("", true)
20099
20127
  ])) : vue.createCommentVNode("", true)
20100
20128
  ], 10, _hoisted_1$1);
20101
20129
  };