@propeller-commerce/propeller-v2-vue-ui 0.3.16 → 0.3.19

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
@@ -3003,7 +3003,7 @@ async function mergeAnonymousCart(cfg) {
3003
3003
  }
3004
3004
  return result;
3005
3005
  }
3006
- const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
3006
+ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
3007
3007
  __name: "PropellerProvider",
3008
3008
  props: {
3009
3009
  user: { default: null },
@@ -3037,24 +3037,24 @@ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
3037
3037
  };
3038
3038
  }
3039
3039
  });
3040
- const _hoisted_1$O = ["data-loading", "data-variant"];
3041
- const _hoisted_2$N = {
3040
+ const _hoisted_1$P = ["data-loading", "data-variant"];
3041
+ const _hoisted_2$O = {
3042
3042
  key: 0,
3043
3043
  class: "propeller-login-form__header space-y-1 text-center mb-6"
3044
3044
  };
3045
- const _hoisted_3$N = { class: "propeller-login-form__title text-2xl font-bold" };
3046
- const _hoisted_4$J = {
3045
+ const _hoisted_3$O = { class: "propeller-login-form__title text-2xl font-bold" };
3046
+ const _hoisted_4$K = {
3047
3047
  key: 0,
3048
3048
  class: "propeller-login-form__subtitle text-sm text-muted-foreground"
3049
3049
  };
3050
- const _hoisted_5$I = { class: "propeller-login-form__field space-y-2" };
3051
- const _hoisted_6$H = {
3050
+ const _hoisted_5$J = { class: "propeller-login-form__field space-y-2" };
3051
+ const _hoisted_6$I = {
3052
3052
  for: "login-email",
3053
3053
  class: "propeller-login-form__label text-sm font-medium leading-none"
3054
3054
  };
3055
- const _hoisted_7$H = ["value", "placeholder", "disabled"];
3056
- const _hoisted_8$D = { class: "propeller-login-form__field space-y-2" };
3057
- const _hoisted_9$C = { class: "flex items-center justify-between" };
3055
+ const _hoisted_7$I = ["value", "placeholder", "disabled"];
3056
+ const _hoisted_8$E = { class: "propeller-login-form__field space-y-2" };
3057
+ const _hoisted_9$D = { class: "flex items-center justify-between" };
3058
3058
  const _hoisted_10$A = {
3059
3059
  for: "login-password",
3060
3060
  class: "propeller-login-form__label text-sm font-medium leading-none"
@@ -3081,7 +3081,7 @@ const _hoisted_19$o = {
3081
3081
  class: "propeller-login-form__footer flex flex-col gap-2 text-sm pt-3 text-center"
3082
3082
  };
3083
3083
  const _hoisted_20$m = { class: "propeller-login-form__register text-xs text-muted-foreground" };
3084
- const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
3084
+ const _sfc_main$U = /* @__PURE__ */ vue.defineComponent({
3085
3085
  __name: "LoginForm",
3086
3086
  props: {
3087
3087
  graphqlClient: {},
@@ -3201,9 +3201,9 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
3201
3201
  "data-loading": isLoading.value ? "true" : "false",
3202
3202
  "data-variant": __props.accountHeaderLoginForm ? "compact" : "full"
3203
3203
  }, [
3204
- resolvedTitle.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$N, [
3205
- vue.createElementVNode("h2", _hoisted_3$N, vue.toDisplayString(resolvedTitle.value), 1),
3206
- __props.subtitle ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_4$J, vue.toDisplayString(__props.subtitle), 1)) : vue.createCommentVNode("", true)
3204
+ resolvedTitle.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$O, [
3205
+ vue.createElementVNode("h2", _hoisted_3$O, vue.toDisplayString(resolvedTitle.value), 1),
3206
+ __props.subtitle ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_4$K, vue.toDisplayString(__props.subtitle), 1)) : vue.createCommentVNode("", true)
3207
3207
  ])) : vue.createCommentVNode("", true),
3208
3208
  vue.createElementVNode("form", {
3209
3209
  class: "propeller-login-form__form space-y-4",
@@ -3216,8 +3216,8 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
3216
3216
  },
3217
3217
  labels: __props.labels
3218
3218
  }, () => [
3219
- vue.createElementVNode("div", _hoisted_5$I, [
3220
- vue.createElementVNode("label", _hoisted_6$H, vue.toDisplayString(emailLabel.value), 1),
3219
+ vue.createElementVNode("div", _hoisted_5$J, [
3220
+ vue.createElementVNode("label", _hoisted_6$I, vue.toDisplayString(emailLabel.value), 1),
3221
3221
  vue.createElementVNode("input", {
3222
3222
  type: "email",
3223
3223
  id: "login-email",
@@ -3230,7 +3230,7 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
3230
3230
  placeholder: emailPlaceholder.value,
3231
3231
  required: true,
3232
3232
  disabled: isLoading.value
3233
- }, null, 40, _hoisted_7$H)
3233
+ }, null, 40, _hoisted_7$I)
3234
3234
  ])
3235
3235
  ]),
3236
3236
  vue.renderSlot(_ctx.$slots, "passwordField", {
@@ -3241,8 +3241,8 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
3241
3241
  labels: __props.labels,
3242
3242
  displayForgotPassword: __props.displayForgotPasswordLink !== false && !__props.accountHeaderLoginForm
3243
3243
  }, () => [
3244
- vue.createElementVNode("div", _hoisted_8$D, [
3245
- vue.createElementVNode("div", _hoisted_9$C, [
3244
+ vue.createElementVNode("div", _hoisted_8$E, [
3245
+ vue.createElementVNode("div", _hoisted_9$D, [
3246
3246
  vue.createElementVNode("label", _hoisted_10$A, vue.toDisplayString(passwordLabel.value), 1),
3247
3247
  showForgotPassword.value && !__props.accountHeaderLoginForm ? (vue.openBlock(), vue.createElementBlock("button", {
3248
3248
  key: 0,
@@ -3371,22 +3371,22 @@ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
3371
3371
  ]) : vue.createCommentVNode("", true)
3372
3372
  ])
3373
3373
  ])) : vue.createCommentVNode("", true)
3374
- ], 8, _hoisted_1$O);
3374
+ ], 8, _hoisted_1$P);
3375
3375
  };
3376
3376
  }
3377
3377
  });
3378
- const _hoisted_1$N = ["data-variant", "data-authenticated"];
3379
- const _hoisted_2$M = {
3378
+ const _hoisted_1$O = ["data-variant", "data-authenticated"];
3379
+ const _hoisted_2$N = {
3380
3380
  key: 0,
3381
3381
  class: "propeller-account-menu__sidebar flex flex-col"
3382
3382
  };
3383
- const _hoisted_3$M = { class: "propeller-account-menu__user px-4 py-3 border-b border-border" };
3384
- const _hoisted_4$I = { class: "propeller-account-menu__user-label text-xs text-muted-foreground uppercase tracking-wider font-semibold mb-1" };
3385
- const _hoisted_5$H = { class: "propeller-account-menu__user-name font-medium text-foreground truncate" };
3386
- const _hoisted_6$G = { class: "propeller-account-menu__nav py-2" };
3387
- const _hoisted_7$G = { class: "propeller-account-menu__list space-y-0.5" };
3388
- const _hoisted_8$C = ["onClick", "data-active"];
3389
- const _hoisted_9$B = { class: "propeller-account-menu__logout-wrapper px-4 py-3 border-t border-border" };
3383
+ const _hoisted_3$N = { class: "propeller-account-menu__user px-4 py-3 border-b border-border" };
3384
+ const _hoisted_4$J = { class: "propeller-account-menu__user-label text-xs text-muted-foreground uppercase tracking-wider font-semibold mb-1" };
3385
+ const _hoisted_5$I = { class: "propeller-account-menu__user-name font-medium text-foreground truncate" };
3386
+ const _hoisted_6$H = { class: "propeller-account-menu__nav py-2" };
3387
+ const _hoisted_7$H = { class: "propeller-account-menu__list space-y-0.5" };
3388
+ const _hoisted_8$D = ["onClick", "data-active"];
3389
+ const _hoisted_9$C = { class: "propeller-account-menu__logout-wrapper px-4 py-3 border-t border-border" };
3390
3390
  const _hoisted_10$z = ["aria-label", "data-open"];
3391
3391
  const _hoisted_11$v = {
3392
3392
  fill: "none",
@@ -3416,7 +3416,7 @@ const _hoisted_21$j = {
3416
3416
  };
3417
3417
  const _hoisted_22$j = { class: "propeller-account-menu__login-title text-lg font-semibold mb-2" };
3418
3418
  const _hoisted_23$j = { class: "propeller-account-menu__login-subtitle text-sm text-muted-foreground mb-4" };
3419
- const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
3419
+ const _sfc_main$T = /* @__PURE__ */ vue.defineComponent({
3420
3420
  __name: "AccountIconAndMenu",
3421
3421
  props: {
3422
3422
  user: {},
@@ -3458,7 +3458,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
3458
3458
  const user = vue.computed(
3459
3459
  () => infra.user ?? null
3460
3460
  );
3461
- const LoginFormImpl = vue.computed(() => props.loginFormComponent ?? _sfc_main$T);
3461
+ const LoginFormImpl = vue.computed(() => props.loginFormComponent ?? _sfc_main$U);
3462
3462
  const isMounted = vue.ref(false);
3463
3463
  const menuOpen = vue.ref(false);
3464
3464
  function _onDocumentClick() {
@@ -3571,14 +3571,14 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
3571
3571
  onClick: _cache[3] || (_cache[3] = vue.withModifiers(() => {
3572
3572
  }, ["stop"]))
3573
3573
  }, [
3574
- isSidebar.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$M, [
3574
+ isSidebar.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$N, [
3575
3575
  !!user.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
3576
- vue.createElementVNode("div", _hoisted_3$M, [
3577
- vue.createElementVNode("p", _hoisted_4$I, vue.toDisplayString(getLabel("signedInAs", "Signed in as")), 1),
3578
- vue.createElementVNode("p", _hoisted_5$H, vue.toDisplayString(getUserName()), 1)
3576
+ vue.createElementVNode("div", _hoisted_3$N, [
3577
+ vue.createElementVNode("p", _hoisted_4$J, vue.toDisplayString(getLabel("signedInAs", "Signed in as")), 1),
3578
+ vue.createElementVNode("p", _hoisted_5$I, vue.toDisplayString(getUserName()), 1)
3579
3579
  ]),
3580
- vue.createElementVNode("nav", _hoisted_6$G, [
3581
- vue.createElementVNode("ul", _hoisted_7$G, [
3580
+ vue.createElementVNode("nav", _hoisted_6$H, [
3581
+ vue.createElementVNode("ul", _hoisted_7$H, [
3582
3582
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getMenuLinks(), (link, index2) => {
3583
3583
  return vue.openBlock(), vue.createElementBlock("li", {
3584
3584
  key: link.href,
@@ -3589,12 +3589,12 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
3589
3589
  onClick: async (event) => handleMenuItemClick(link.href),
3590
3590
  "data-active": isActiveLink(link.href) ? "true" : "false",
3591
3591
  class: vue.normalizeClass(`propeller-account-menu__link flex w-full items-center gap-3 px-4 py-2.5 text-sm font-medium transition-colors ${isActiveLink(link.href) ? "bg-secondary/5 text-secondary border-l-2 border-secondary" : "text-muted-foreground hover:bg-surface-hover hover:text-foreground"}`)
3592
- }, vue.toDisplayString(link.label), 11, _hoisted_8$C)
3592
+ }, vue.toDisplayString(link.label), 11, _hoisted_8$D)
3593
3593
  ]);
3594
3594
  }), 128))
3595
3595
  ])
3596
3596
  ]),
3597
- vue.createElementVNode("div", _hoisted_9$B, [
3597
+ vue.createElementVNode("div", _hoisted_9$C, [
3598
3598
  vue.createElementVNode("button", {
3599
3599
  type: "button",
3600
3600
  class: "propeller-account-menu__logout-btn flex w-full items-center gap-3 px-3 py-2 text-sm font-medium text-primary hover:bg-secondary/5 rounded-[var(--radius-control)] transition-colors",
@@ -3695,37 +3695,37 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
3695
3695
  ], 64)) : vue.createCommentVNode("", true)
3696
3696
  ], 2)) : vue.createCommentVNode("", true)
3697
3697
  ], 64)) : vue.createCommentVNode("", true)
3698
- ], 8, _hoisted_1$N);
3698
+ ], 8, _hoisted_1$O);
3699
3699
  };
3700
3700
  }
3701
3701
  });
3702
- const _hoisted_1$M = { class: "propeller-action-code w-full bg-card p-6 rounded-[var(--radius-container)] shadow space-y-3" };
3703
- const _hoisted_2$L = { class: "text-lg font-bold" };
3704
- const _hoisted_3$L = {
3702
+ const _hoisted_1$N = { class: "propeller-action-code w-full bg-card p-6 rounded-[var(--radius-container)] shadow space-y-3" };
3703
+ const _hoisted_2$M = { class: "text-lg font-bold" };
3704
+ const _hoisted_3$M = {
3705
3705
  key: 0,
3706
3706
  class: "flex items-center justify-between bg-secondary/5 border border-secondary/20 rounded-[var(--radius-control)] px-3 py-2"
3707
3707
  };
3708
- const _hoisted_4$H = { class: "flex items-center gap-2" };
3709
- const _hoisted_5$G = {
3708
+ const _hoisted_4$I = { class: "flex items-center gap-2" };
3709
+ const _hoisted_5$H = {
3710
3710
  fill: "none",
3711
3711
  viewBox: "0 0 24 24",
3712
3712
  stroke: "currentColor",
3713
3713
  class: "w-4 h-4 text-secondary",
3714
3714
  strokeWidth: 2
3715
3715
  };
3716
- const _hoisted_6$F = { class: "text-sm font-medium text-secondary" };
3717
- const _hoisted_7$F = ["disabled"];
3718
- const _hoisted_8$B = {
3716
+ const _hoisted_6$G = { class: "text-sm font-medium text-secondary" };
3717
+ const _hoisted_7$G = ["disabled"];
3718
+ const _hoisted_8$C = {
3719
3719
  key: 1,
3720
3720
  class: "flex gap-2"
3721
3721
  };
3722
- const _hoisted_9$A = ["value", "placeholder", "disabled"];
3722
+ const _hoisted_9$B = ["value", "placeholder", "disabled"];
3723
3723
  const _hoisted_10$y = ["disabled"];
3724
3724
  const _hoisted_11$u = {
3725
3725
  key: 2,
3726
3726
  class: "propeller-action-code__error text-sm text-destructive"
3727
3727
  };
3728
- const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
3728
+ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
3729
3729
  __name: "ActionCode",
3730
3730
  props: {
3731
3731
  graphqlClient: {},
@@ -3820,19 +3820,19 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
3820
3820
  }
3821
3821
  }
3822
3822
  return (_ctx, _cache) => {
3823
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$M, [
3824
- vue.createElementVNode("h2", _hoisted_2$L, vue.toDisplayString(title.value), 1),
3823
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$N, [
3824
+ vue.createElementVNode("h2", _hoisted_2$M, vue.toDisplayString(title.value), 1),
3825
3825
  isMounted.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
3826
- hasAppliedCode.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$L, [
3827
- vue.createElementVNode("div", _hoisted_4$H, [
3828
- (vue.openBlock(), vue.createElementBlock("svg", _hoisted_5$G, [..._cache[4] || (_cache[4] = [
3826
+ hasAppliedCode.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$M, [
3827
+ vue.createElementVNode("div", _hoisted_4$I, [
3828
+ (vue.openBlock(), vue.createElementBlock("svg", _hoisted_5$H, [..._cache[4] || (_cache[4] = [
3829
3829
  vue.createElementVNode("path", {
3830
3830
  strokeLinecap: "round",
3831
3831
  strokeLinejoin: "round",
3832
3832
  d: "M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
3833
3833
  }, null, -1)
3834
3834
  ])])),
3835
- vue.createElementVNode("span", _hoisted_6$F, vue.toDisplayString(appliedCode.value), 1)
3835
+ vue.createElementVNode("span", _hoisted_6$G, vue.toDisplayString(appliedCode.value), 1)
3836
3836
  ]),
3837
3837
  showRemoveCode.value ? (vue.openBlock(), vue.createElementBlock("button", {
3838
3838
  key: 0,
@@ -3840,9 +3840,9 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
3840
3840
  class: "text-secondary hover:text-secondary text-sm font-medium transition-colors disabled:opacity-50",
3841
3841
  onClick: _cache[0] || (_cache[0] = async (event) => handleRemove()),
3842
3842
  disabled: vue.unref(loading)
3843
- }, vue.toDisplayString(getLabel("remove", "Remove")), 9, _hoisted_7$F)) : vue.createCommentVNode("", true)
3843
+ }, vue.toDisplayString(getLabel("remove", "Remove")), 9, _hoisted_7$G)) : vue.createCommentVNode("", true)
3844
3844
  ])) : vue.createCommentVNode("", true),
3845
- !hasAppliedCode.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$B, [
3845
+ !hasAppliedCode.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$C, [
3846
3846
  vue.createElementVNode("input", {
3847
3847
  type: "text",
3848
3848
  class: "propeller-action-code__input flex-1 text-sm border border-input rounded-[var(--radius-control)] px-3 py-2 focus:ring-2 focus:ring-secondary focus:border-transparent disabled:opacity-50",
@@ -3853,7 +3853,7 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
3853
3853
  onKeydown: _cache[2] || (_cache[2] = async (e) => handleKeyDown(e)),
3854
3854
  placeholder: getLabel("placeholder", "Enter action code"),
3855
3855
  disabled: vue.unref(loading)
3856
- }, null, 40, _hoisted_9$A),
3856
+ }, null, 40, _hoisted_9$B),
3857
3857
  vue.createElementVNode("button", {
3858
3858
  type: "button",
3859
3859
  class: "propeller-action-code__submit bg-secondary text-primary-foreground text-sm font-medium px-4 py-2 rounded-[var(--radius-control)] hover:bg-secondary/90 transition-colors disabled:opacity-50 disabled:cursor-not-allowed whitespace-nowrap",
@@ -3874,18 +3874,18 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
3874
3874
  };
3875
3875
  }
3876
3876
  });
3877
- const _hoisted_1$L = ["data-loading"];
3878
- const _hoisted_2$K = { class: "propeller-add-to-cart__controls flex flex-wrap items-center gap-2 w-full md:flex-nowrap" };
3879
- const _hoisted_3$K = {
3877
+ const _hoisted_1$M = ["data-loading"];
3878
+ const _hoisted_2$L = { class: "propeller-add-to-cart__controls flex flex-wrap items-center gap-2 w-full md:flex-nowrap" };
3879
+ const _hoisted_3$L = {
3880
3880
  key: 0,
3881
3881
  class: "propeller-add-to-cart__stepper flex items-center border border-input rounded-[var(--radius-control)] bg-card h-10 w-full md:w-auto"
3882
3882
  };
3883
- const _hoisted_4$G = ["disabled"];
3884
- const _hoisted_5$F = ["min", "step", "value"];
3885
- const _hoisted_6$E = ["disabled"];
3886
- const _hoisted_7$E = ["min", "step", "value"];
3887
- const _hoisted_8$A = ["disabled"];
3888
- const _hoisted_9$z = {
3883
+ const _hoisted_4$H = ["disabled"];
3884
+ const _hoisted_5$G = ["min", "step", "value"];
3885
+ const _hoisted_6$F = ["disabled"];
3886
+ const _hoisted_7$F = ["min", "step", "value"];
3887
+ const _hoisted_8$B = ["disabled"];
3888
+ const _hoisted_9$A = {
3889
3889
  class: "propeller-add-to-cart__icon w-[1.1em] h-[1.1em] flex-shrink-0",
3890
3890
  viewBox: "0 0 24 24",
3891
3891
  fill: "none",
@@ -3962,11 +3962,11 @@ const _hoisted_28$g = {
3962
3962
  key: 1,
3963
3963
  class: "propeller-add-to-cart__modal-surcharges mt-1 text-xs text-muted-foreground"
3964
3964
  };
3965
- const _hoisted_29$f = { class: "font-medium" };
3966
- const _hoisted_30$f = { class: "propeller-add-to-cart__modal-surcharges-list mt-0.5" };
3967
- const _hoisted_31$f = { class: "flex-shrink-0 text-right" };
3968
- const _hoisted_32$e = { class: "propeller-add-to-cart__modal-quantity text-xs text-muted-foreground" };
3969
- const _hoisted_33$d = {
3965
+ const _hoisted_29$g = { class: "font-medium" };
3966
+ const _hoisted_30$g = { class: "propeller-add-to-cart__modal-surcharges-list mt-0.5" };
3967
+ const _hoisted_31$g = { class: "flex-shrink-0 text-right" };
3968
+ const _hoisted_32$f = { class: "propeller-add-to-cart__modal-quantity text-xs text-muted-foreground" };
3969
+ const _hoisted_33$e = {
3970
3970
  key: 1,
3971
3971
  class: "propeller-add-to-cart__modal-price text-sm font-semibold text-foreground mt-0.5"
3972
3972
  };
@@ -3977,7 +3977,7 @@ const _hoisted_34$c = {
3977
3977
  const _hoisted_35$c = { class: "line-clamp-1" };
3978
3978
  const _hoisted_36$c = { class: "text-foreground-subtle whitespace-nowrap ml-2" };
3979
3979
  const _hoisted_37$c = { class: "propeller-add-to-cart__modal-actions flex gap-3 px-6 py-4 border-t border-border-subtle" };
3980
- const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
3980
+ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
3981
3981
  __name: "AddToCart",
3982
3982
  props: {
3983
3983
  graphqlClient: {},
@@ -4187,14 +4187,14 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
4187
4187
  class: vue.normalizeClass(`propeller-add-to-cart ${__props.className || ""}`),
4188
4188
  "data-loading": vue.unref(loading) ? "true" : "false"
4189
4189
  }, [
4190
- vue.createElementVNode("div", _hoisted_2$K, [
4191
- __props.allowIncrDecr !== false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$K, [
4190
+ vue.createElementVNode("div", _hoisted_2$L, [
4191
+ __props.allowIncrDecr !== false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$L, [
4192
4192
  vue.createElementVNode("button", {
4193
4193
  type: "button",
4194
4194
  class: "propeller-add-to-cart__decrement px-3 h-full text-muted-foreground hover:bg-surface-hover disabled:opacity-40 disabled:cursor-not-allowed transition-colors rounded-l-[var(--radius-control)] select-none",
4195
4195
  onClick: _cache[0] || (_cache[0] = async (event) => decrement()),
4196
4196
  disabled: quantity.value <= vue.unref(getMinQuantity)(props.product) || vue.unref(loading)
4197
- }, " -", 8, _hoisted_4$G),
4197
+ }, " -", 8, _hoisted_4$H),
4198
4198
  vue.createElementVNode("input", {
4199
4199
  type: "number",
4200
4200
  class: "propeller-add-to-cart__quantity flex-1 md:flex-none md:w-12 text-center text-sm bg-transparent border-none focus:ring-0 focus:outline-none h-full [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none",
@@ -4209,13 +4209,13 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
4209
4209
  quantity.value = Math.round((val - min) / step) * step + min;
4210
4210
  }
4211
4211
  })
4212
- }, null, 40, _hoisted_5$F),
4212
+ }, null, 40, _hoisted_5$G),
4213
4213
  vue.createElementVNode("button", {
4214
4214
  type: "button",
4215
4215
  class: "propeller-add-to-cart__increment px-3 h-full text-muted-foreground hover:bg-surface-hover disabled:opacity-40 disabled:cursor-not-allowed transition-colors rounded-r-[var(--radius-control)] select-none",
4216
4216
  onClick: _cache[2] || (_cache[2] = async (event) => increment()),
4217
4217
  disabled: vue.unref(loading)
4218
- }, " + ", 8, _hoisted_6$E)
4218
+ }, " + ", 8, _hoisted_6$F)
4219
4219
  ])) : vue.createCommentVNode("", true),
4220
4220
  __props.allowIncrDecr === false ? (vue.openBlock(), vue.createElementBlock("input", {
4221
4221
  key: 1,
@@ -4232,14 +4232,14 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
4232
4232
  quantity.value = Math.round((val - min) / step) * step + min;
4233
4233
  }
4234
4234
  })
4235
- }, null, 40, _hoisted_7$E)) : vue.createCommentVNode("", true),
4235
+ }, null, 40, _hoisted_7$F)) : vue.createCommentVNode("", true),
4236
4236
  vue.createElementVNode("button", {
4237
4237
  type: "button",
4238
4238
  class: "propeller-add-to-cart__submit flex-1 basis-full md:basis-auto inline-flex justify-center items-center gap-2 h-10 px-6 border border-transparent text-sm font-medium rounded-[var(--radius-control)] text-primary-foreground bg-secondary hover:bg-secondary/90 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-secondary disabled:opacity-50 disabled:cursor-not-allowed transition-colors",
4239
4239
  onClick: _cache[4] || (_cache[4] = async (event) => handleAddToCart()),
4240
4240
  disabled: vue.unref(loading)
4241
4241
  }, [
4242
- (vue.openBlock(), vue.createElementBlock("svg", _hoisted_9$z, [..._cache[11] || (_cache[11] = [
4242
+ (vue.openBlock(), vue.createElementBlock("svg", _hoisted_9$A, [..._cache[11] || (_cache[11] = [
4243
4243
  vue.createElementVNode("circle", {
4244
4244
  cx: "8",
4245
4245
  cy: "21",
@@ -4258,7 +4258,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
4258
4258
  !vue.unref(loading) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
4259
4259
  vue.createTextVNode(vue.toDisplayString(getLabel("add", "Add")), 1)
4260
4260
  ], 64)) : vue.createCommentVNode("", true)
4261
- ], 8, _hoisted_8$A)
4261
+ ], 8, _hoisted_8$B)
4262
4262
  ]),
4263
4263
  toastVisible.value ? (vue.openBlock(), vue.createElementBlock("div", {
4264
4264
  key: 0,
@@ -4353,8 +4353,8 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
4353
4353
  }, vue.toDisplayString(getModalName()), 9, _hoisted_26$h),
4354
4354
  !!getModalSku() ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_27$h, " SKU: " + vue.toDisplayString(getModalSku()), 1)) : vue.createCommentVNode("", true),
4355
4355
  getModalSurcharges().length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_28$g, [
4356
- vue.createElementVNode("span", _hoisted_29$f, vue.toDisplayString(getLabel("surcharges", "Additional surcharges:")), 1),
4357
- vue.createElementVNode("ul", _hoisted_30$f, [
4356
+ vue.createElementVNode("span", _hoisted_29$g, vue.toDisplayString(getLabel("surcharges", "Additional surcharges:")), 1),
4357
+ vue.createElementVNode("ul", _hoisted_30$g, [
4358
4358
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getModalSurcharges(), (line, idx) => {
4359
4359
  return vue.openBlock(), vue.createElementBlock("li", {
4360
4360
  key: idx,
@@ -4364,8 +4364,8 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
4364
4364
  ])
4365
4365
  ])) : vue.createCommentVNode("", true)
4366
4366
  ]),
4367
- vue.createElementVNode("div", _hoisted_31$f, [
4368
- vue.createElementVNode("p", _hoisted_32$e, vue.toDisplayString(getLabel("quantity", "Quantity")) + ": " + vue.toDisplayString(quantity.value), 1),
4367
+ vue.createElementVNode("div", _hoisted_31$g, [
4368
+ vue.createElementVNode("p", _hoisted_32$f, vue.toDisplayString(getLabel("quantity", "Quantity")) + ": " + vue.toDisplayString(quantity.value), 1),
4369
4369
  !!getModalPrice() ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4370
4370
  props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
4371
4371
  key: 0,
@@ -4373,7 +4373,7 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
4373
4373
  "include-tax": resolvedIncludeTax.value,
4374
4374
  currency: __props.currency,
4375
4375
  labels: __props.labels
4376
- }, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createElementBlock("p", _hoisted_33$d, vue.toDisplayString(getModalPrice()), 1))
4376
+ }, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createElementBlock("p", _hoisted_33$e, vue.toDisplayString(getModalPrice()), 1))
4377
4377
  ], 64)) : vue.createCommentVNode("", true)
4378
4378
  ])
4379
4379
  ]),
@@ -4416,13 +4416,13 @@ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
4416
4416
  ])
4417
4417
  ])
4418
4418
  ])) : vue.createCommentVNode("", true)
4419
- ], 10, _hoisted_1$L);
4419
+ ], 10, _hoisted_1$M);
4420
4420
  };
4421
4421
  }
4422
4422
  });
4423
- const _hoisted_1$K = ["data-favorited"];
4424
- const _hoisted_2$J = ["title"];
4425
- const _hoisted_3$J = {
4423
+ const _hoisted_1$L = ["data-favorited"];
4424
+ const _hoisted_2$K = ["title"];
4425
+ const _hoisted_3$K = {
4426
4426
  key: 0,
4427
4427
  xmlns: "http://www.w3.org/2000/svg",
4428
4428
  width: "20",
@@ -4434,7 +4434,7 @@ const _hoisted_3$J = {
4434
4434
  strokeLinecap: "round",
4435
4435
  strokeLinejoin: "round"
4436
4436
  };
4437
- const _hoisted_4$F = {
4437
+ const _hoisted_4$G = {
4438
4438
  key: 1,
4439
4439
  xmlns: "http://www.w3.org/2000/svg",
4440
4440
  width: "20",
@@ -4446,14 +4446,14 @@ const _hoisted_4$F = {
4446
4446
  strokeLinecap: "round",
4447
4447
  strokeLinejoin: "round"
4448
4448
  };
4449
- const _hoisted_5$E = {
4449
+ const _hoisted_5$F = {
4450
4450
  key: 0,
4451
4451
  class: "propeller-add-to-favorite__modal fixed inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center z-50 p-4"
4452
4452
  };
4453
- const _hoisted_6$D = { class: "propeller-add-to-favorite__modal-content bg-card rounded-[var(--radius-container)] max-w-md w-full shadow-lg border" };
4454
- const _hoisted_7$D = { class: "propeller-add-to-favorite__modal-header flex justify-between items-center p-6 pb-4" };
4455
- const _hoisted_8$z = { class: "propeller-add-to-favorite__modal-title text-xl font-bold" };
4456
- const _hoisted_9$y = { class: "propeller-add-to-favorite__modal-body px-6 pb-6 space-y-4" };
4453
+ const _hoisted_6$E = { class: "propeller-add-to-favorite__modal-content bg-card rounded-[var(--radius-container)] max-w-md w-full shadow-lg border" };
4454
+ const _hoisted_7$E = { class: "propeller-add-to-favorite__modal-header flex justify-between items-center p-6 pb-4" };
4455
+ const _hoisted_8$A = { class: "propeller-add-to-favorite__modal-title text-xl font-bold" };
4456
+ const _hoisted_9$z = { class: "propeller-add-to-favorite__modal-body px-6 pb-6 space-y-4" };
4457
4457
  const _hoisted_10$w = { class: "propeller-add-to-favorite__member-lists space-y-2" };
4458
4458
  const _hoisted_11$s = ["onClick", "disabled"];
4459
4459
  const _hoisted_12$s = { class: "text-sm font-medium" };
@@ -4471,7 +4471,7 @@ const _hoisted_20$j = {
4471
4471
  key: 2,
4472
4472
  class: "propeller-add-to-favorite__empty py-4 text-center text-muted-foreground text-sm"
4473
4473
  };
4474
- const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
4474
+ const _sfc_main$Q = /* @__PURE__ */ vue.defineComponent({
4475
4475
  __name: "AddToFavorite",
4476
4476
  props: {
4477
4477
  graphqlClient: {},
@@ -4620,17 +4620,17 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
4620
4620
  title: isFavorited.value ? getLabel("removeFromFavorites", "Remove from favorites") : getLabel("addToFavorites", "Add to favorites"),
4621
4621
  class: vue.normalizeClass(`propeller-add-to-favorite__btn inline-flex items-center justify-center rounded-[var(--radius-control)] border p-2.5 transition-colors ${isFavorited.value ? "border-primary/30 bg-primary/5 text-primary hover:bg-primary/10" : "border-border bg-card text-foreground-subtle hover:text-primary hover:border-primary/30 hover:bg-primary/5"} ${__props.className || ""}`)
4622
4622
  }, [
4623
- isFavorited.value ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_3$J, [..._cache[5] || (_cache[5] = [
4623
+ isFavorited.value ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_3$K, [..._cache[5] || (_cache[5] = [
4624
4624
  vue.createElementVNode("path", { d: "M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3.332.67-4.5 2.17C10.832 3.67 9.26 3 7.5 3A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z" }, null, -1)
4625
4625
  ])])) : vue.createCommentVNode("", true),
4626
- !isFavorited.value ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_4$F, [..._cache[6] || (_cache[6] = [
4626
+ !isFavorited.value ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_4$G, [..._cache[6] || (_cache[6] = [
4627
4627
  vue.createElementVNode("path", { d: "M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3.332.67-4.5 2.17C10.832 3.67 9.26 3 7.5 3A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z" }, null, -1)
4628
4628
  ])])) : vue.createCommentVNode("", true)
4629
- ], 10, _hoisted_2$J),
4630
- showModal.value && _isMounted.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$E, [
4631
- vue.createElementVNode("div", _hoisted_6$D, [
4632
- vue.createElementVNode("div", _hoisted_7$D, [
4633
- vue.createElementVNode("h3", _hoisted_8$z, vue.toDisplayString(getLabel("modalTitle", "Favorite product?")), 1),
4629
+ ], 10, _hoisted_2$K),
4630
+ showModal.value && _isMounted.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$F, [
4631
+ vue.createElementVNode("div", _hoisted_6$E, [
4632
+ vue.createElementVNode("div", _hoisted_7$E, [
4633
+ vue.createElementVNode("h3", _hoisted_8$A, vue.toDisplayString(getLabel("modalTitle", "Favorite product?")), 1),
4634
4634
  vue.createElementVNode("button", {
4635
4635
  type: "button",
4636
4636
  class: "propeller-add-to-favorite__modal-close h-8 w-8 p-0 inline-flex items-center justify-center rounded-[var(--radius-control)] text-muted-foreground hover:text-muted-foreground hover:bg-surface-hover",
@@ -4652,7 +4652,7 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
4652
4652
  ], -1)
4653
4653
  ])])
4654
4654
  ]),
4655
- vue.createElementVNode("div", _hoisted_9$y, [
4655
+ vue.createElementVNode("div", _hoisted_9$z, [
4656
4656
  getMemberLists().length > 0 ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
4657
4657
  vue.createElementVNode("div", _hoisted_10$w, [
4658
4658
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getMemberLists(), (list, index2) => {
@@ -4745,28 +4745,28 @@ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
4745
4745
  ])
4746
4746
  ])
4747
4747
  ])) : vue.createCommentVNode("", true)
4748
- ], 8, _hoisted_1$K)) : vue.createCommentVNode("", true);
4748
+ ], 8, _hoisted_1$L)) : vue.createCommentVNode("", true);
4749
4749
  };
4750
4750
  }
4751
4751
  });
4752
- const _hoisted_1$J = { class: "propeller-address-card" };
4753
- const _hoisted_2$I = ["data-default", "data-type"];
4754
- const _hoisted_3$I = { class: "propeller-address-card__body flex-grow" };
4755
- const _hoisted_4$E = { class: "propeller-address-card__type-badge inline-block rounded bg-secondary px-2 py-0.5 text-xs font-medium text-secondary-foreground mb-2" };
4756
- const _hoisted_5$D = {
4752
+ const _hoisted_1$K = { class: "propeller-address-card" };
4753
+ const _hoisted_2$J = ["data-default", "data-type"];
4754
+ const _hoisted_3$J = { class: "propeller-address-card__body flex-grow" };
4755
+ const _hoisted_4$F = { class: "propeller-address-card__type-badge inline-block rounded bg-secondary px-2 py-0.5 text-xs font-medium text-secondary-foreground mb-2" };
4756
+ const _hoisted_5$E = {
4757
4757
  key: 1,
4758
4758
  class: "propeller-address-card__company font-bold text-lg mb-1"
4759
4759
  };
4760
- const _hoisted_6$C = { class: "propeller-address-card__name font-medium mb-1" };
4761
- const _hoisted_7$C = {
4760
+ const _hoisted_6$D = { class: "propeller-address-card__name font-medium mb-1" };
4761
+ const _hoisted_7$D = {
4762
4762
  key: 0,
4763
4763
  class: "propeller-address-card__street text-muted-foreground"
4764
4764
  };
4765
- const _hoisted_8$y = {
4765
+ const _hoisted_8$z = {
4766
4766
  key: 1,
4767
4767
  class: "propeller-address-card__city text-muted-foreground"
4768
4768
  };
4769
- const _hoisted_9$x = { class: "propeller-address-card__country text-muted-foreground" };
4769
+ const _hoisted_9$y = { class: "propeller-address-card__country text-muted-foreground" };
4770
4770
  const _hoisted_10$v = {
4771
4771
  key: 4,
4772
4772
  class: "propeller-address-card__email text-muted-foreground"
@@ -4798,11 +4798,11 @@ const _hoisted_25$g = ["value"];
4798
4798
  const _hoisted_26$g = { class: "grid grid-cols-3 gap-4" };
4799
4799
  const _hoisted_27$g = { class: "block text-sm font-medium mb-1" };
4800
4800
  const _hoisted_28$f = ["value"];
4801
- const _hoisted_29$e = { class: "block text-sm font-medium mb-1" };
4802
- const _hoisted_30$e = ["value"];
4803
- const _hoisted_31$e = { class: "block text-sm font-medium mb-1" };
4804
- const _hoisted_32$d = ["value"];
4805
- const _hoisted_33$c = { class: "grid grid-cols-12 gap-4" };
4801
+ const _hoisted_29$f = { class: "block text-sm font-medium mb-1" };
4802
+ const _hoisted_30$f = ["value"];
4803
+ const _hoisted_31$f = { class: "block text-sm font-medium mb-1" };
4804
+ const _hoisted_32$e = ["value"];
4805
+ const _hoisted_33$d = { class: "grid grid-cols-12 gap-4" };
4806
4806
  const _hoisted_34$b = { class: "col-span-8" };
4807
4807
  const _hoisted_35$b = { class: "block text-sm font-medium mb-1" };
4808
4808
  const _hoisted_36$b = ["value"];
@@ -4906,7 +4906,7 @@ const _hoisted_115$1 = { class: "propeller-address-card__delete-modal-content bg
4906
4906
  const _hoisted_116$1 = { class: "text-xl font-bold mb-4" };
4907
4907
  const _hoisted_117$1 = { class: "propeller-address-card__delete-message mb-6 text-muted-foreground" };
4908
4908
  const _hoisted_118$1 = { class: "flex justify-end gap-4" };
4909
- const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
4909
+ const _sfc_main$P = /* @__PURE__ */ vue.defineComponent({
4910
4910
  __name: "AddressCard",
4911
4911
  props: {
4912
4912
  graphqlClient: {},
@@ -5082,23 +5082,23 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
5082
5082
  }
5083
5083
  }
5084
5084
  return (_ctx, _cache) => {
5085
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$J, [
5085
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$K, [
5086
5086
  showCard.value ? (vue.openBlock(), vue.createElementBlock("div", {
5087
5087
  key: 0,
5088
5088
  class: "propeller-address-card__card bg-card p-4 rounded-[var(--radius-container)] shadow-sm border border-border h-full flex flex-col",
5089
5089
  "data-default": addr.value?.isDefault === "Y" ? "true" : "false",
5090
5090
  "data-type": addr.value?.type || ""
5091
5091
  }, [
5092
- vue.createElementVNode("div", _hoisted_3$I, [
5092
+ vue.createElementVNode("div", _hoisted_3$J, [
5093
5093
  __props.addressType ? vue.renderSlot(_ctx.$slots, "typeBadge", {
5094
5094
  key: 0,
5095
5095
  address: addr.value,
5096
5096
  addressType: __props.addressType,
5097
5097
  addressTypeLabel: getLabel("addressType:" + __props.addressType, __props.addressType)
5098
5098
  }, () => [
5099
- vue.createElementVNode("span", _hoisted_4$E, vue.toDisplayString(getLabel("addressType:" + __props.addressType, __props.addressType)), 1)
5099
+ vue.createElementVNode("span", _hoisted_4$F, vue.toDisplayString(getLabel("addressType:" + __props.addressType, __props.addressType)), 1)
5100
5100
  ]) : vue.createCommentVNode("", true),
5101
- __props.showCompanyName !== false && addr.value?.company ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$D, vue.toDisplayString(addr.value?.company), 1)) : vue.createCommentVNode("", true),
5101
+ __props.showCompanyName !== false && addr.value?.company ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$E, vue.toDisplayString(addr.value?.company), 1)) : vue.createCommentVNode("", true),
5102
5102
  __props.showFullName !== false && (addr.value?.firstName || addr.value?.lastName) ? vue.renderSlot(_ctx.$slots, "name", {
5103
5103
  key: 2,
5104
5104
  address: addr.value,
@@ -5110,7 +5110,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
5110
5110
  ].filter(Boolean).join(" "),
5111
5111
  salutation: addr.value?.gender
5112
5112
  }, () => [
5113
- vue.createElementVNode("div", _hoisted_6$C, vue.toDisplayString([
5113
+ vue.createElementVNode("div", _hoisted_6$D, vue.toDisplayString([
5114
5114
  props.showSalutation !== false ? addr.value?.gender === "M" ? "Mr." : addr.value?.gender === "F" ? "Mrs." : null : null,
5115
5115
  addr.value?.firstName,
5116
5116
  addr.value?.middleName,
@@ -5129,12 +5129,12 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
5129
5129
  __props.showCity !== false ? addr.value?.city : null
5130
5130
  ].filter(Boolean).join(" ")
5131
5131
  }, () => [
5132
- __props.showStreet !== false && addr.value?.street ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$C, vue.toDisplayString([
5132
+ __props.showStreet !== false && addr.value?.street ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$D, vue.toDisplayString([
5133
5133
  addr.value?.street,
5134
5134
  __props.showNumberExtension !== false ? addr.value?.number : null,
5135
5135
  __props.showNumberExtension !== false ? addr.value?.numberExtension : null
5136
5136
  ].filter(Boolean).join(" ")), 1)) : vue.createCommentVNode("", true),
5137
- __props.showPostalCode !== false && addr.value?.postalCode || __props.showCity !== false && addr.value?.city ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$y, vue.toDisplayString([
5137
+ __props.showPostalCode !== false && addr.value?.postalCode || __props.showCity !== false && addr.value?.city ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$z, vue.toDisplayString([
5138
5138
  __props.showPostalCode !== false ? addr.value?.postalCode : null,
5139
5139
  __props.showCity !== false ? addr.value?.city : null
5140
5140
  ].filter(Boolean).join(" ")), 1)) : vue.createCommentVNode("", true)
@@ -5144,7 +5144,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
5144
5144
  address: addr.value,
5145
5145
  countryName: getCountryName(addr.value?.country)
5146
5146
  }, () => [
5147
- vue.createElementVNode("div", _hoisted_9$x, vue.toDisplayString(getCountryName(addr.value?.country)), 1)
5147
+ vue.createElementVNode("div", _hoisted_9$y, vue.toDisplayString(getCountryName(addr.value?.country)), 1)
5148
5148
  ]) : vue.createCommentVNode("", true),
5149
5149
  !!__props.showEmail && addr.value?.email ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$v, vue.toDisplayString(addr.value?.email), 1)) : vue.createCommentVNode("", true),
5150
5150
  !!__props.showPhone && addr.value?.phone ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11$r, vue.toDisplayString(addr.value?.phone), 1)) : vue.createCommentVNode("", true),
@@ -5189,7 +5189,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
5189
5189
  }, vue.toDisplayString(getLabel("setDefault", "Set Default")), 1)) : vue.createCommentVNode("", true)
5190
5190
  ])
5191
5191
  ]) : vue.createCommentVNode("", true)
5192
- ], 8, _hoisted_2$I)) : vue.createCommentVNode("", true),
5192
+ ], 8, _hoisted_2$J)) : vue.createCommentVNode("", true),
5193
5193
  __props.inline && showEditModal.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_15$o, [
5194
5194
  vue.createElementVNode("form", {
5195
5195
  onSubmit: _cache[19] || (_cache[19] = async (e) => handleSaveEdit(e))
@@ -5237,7 +5237,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
5237
5237
  }, null, 40, _hoisted_28$f)
5238
5238
  ]),
5239
5239
  vue.createElementVNode("div", null, [
5240
- vue.createElementVNode("label", _hoisted_29$e, vue.toDisplayString(getLabel("middleName", "Middle Name")), 1),
5240
+ vue.createElementVNode("label", _hoisted_29$f, vue.toDisplayString(getLabel("middleName", "Middle Name")), 1),
5241
5241
  vue.createElementVNode("input", {
5242
5242
  type: "text",
5243
5243
  class: "propeller-address-card__input w-full h-10 px-3 rounded-[var(--radius-control)] border border-input",
@@ -5245,10 +5245,10 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
5245
5245
  onChange: _cache[6] || (_cache[6] = async (e) => {
5246
5246
  editMiddleName.value = e.target.value;
5247
5247
  })
5248
- }, null, 40, _hoisted_30$e)
5248
+ }, null, 40, _hoisted_30$f)
5249
5249
  ]),
5250
5250
  vue.createElementVNode("div", null, [
5251
- vue.createElementVNode("label", _hoisted_31$e, vue.toDisplayString(getLabel("lastName", "Last Name")) + " *", 1),
5251
+ vue.createElementVNode("label", _hoisted_31$f, vue.toDisplayString(getLabel("lastName", "Last Name")) + " *", 1),
5252
5252
  vue.createElementVNode("input", {
5253
5253
  type: "text",
5254
5254
  class: "propeller-address-card__input w-full h-10 px-3 rounded-[var(--radius-control)] border border-input",
@@ -5257,10 +5257,10 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
5257
5257
  editLastName.value = e.target.value;
5258
5258
  }),
5259
5259
  required: true
5260
- }, null, 40, _hoisted_32$d)
5260
+ }, null, 40, _hoisted_32$e)
5261
5261
  ])
5262
5262
  ]),
5263
- vue.createElementVNode("div", _hoisted_33$c, [
5263
+ vue.createElementVNode("div", _hoisted_33$d, [
5264
5264
  vue.createElementVNode("div", _hoisted_34$b, [
5265
5265
  vue.createElementVNode("label", _hoisted_35$b, vue.toDisplayString(getLabel("street", "Street")) + " *", 1),
5266
5266
  vue.createElementVNode("input", {
@@ -5654,28 +5654,28 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
5654
5654
  };
5655
5655
  }
5656
5656
  });
5657
- const _hoisted_1$I = {
5657
+ const _hoisted_1$J = {
5658
5658
  key: 0,
5659
5659
  class: "propeller-address-selector__modal fixed inset-0 bg-black/50 flex items-start justify-center z-50 overflow-y-auto py-10"
5660
5660
  };
5661
- const _hoisted_2$H = { class: "propeller-address-selector__modal-content bg-card p-6 rounded-[var(--radius-container)] max-w-2xl w-full mx-4 shadow-xl" };
5662
- const _hoisted_3$H = { class: "propeller-address-selector__modal-header flex justify-between items-center mb-6" };
5663
- const _hoisted_4$D = { class: "propeller-address-selector__modal-title text-xl font-bold" };
5664
- const _hoisted_5$C = {
5661
+ const _hoisted_2$I = { class: "propeller-address-selector__modal-content bg-card p-6 rounded-[var(--radius-container)] max-w-2xl w-full mx-4 shadow-xl" };
5662
+ const _hoisted_3$I = { class: "propeller-address-selector__modal-header flex justify-between items-center mb-6" };
5663
+ const _hoisted_4$E = { class: "propeller-address-selector__modal-title text-xl font-bold" };
5664
+ const _hoisted_5$D = {
5665
5665
  key: 0,
5666
5666
  class: "propeller-address-selector__empty text-muted-foreground italic"
5667
5667
  };
5668
- const _hoisted_6$B = { class: "propeller-address-selector__list grid grid-cols-2 gap-4" };
5669
- const _hoisted_7$B = ["onClick", "data-selected"];
5670
- const _hoisted_8$x = { class: "propeller-address-selector__modal-actions flex justify-end mt-6 pt-4 border-t border-border-subtle" };
5671
- const _hoisted_9$w = ["disabled"];
5668
+ const _hoisted_6$C = { class: "propeller-address-selector__list grid grid-cols-2 gap-4" };
5669
+ const _hoisted_7$C = ["onClick", "data-selected"];
5670
+ const _hoisted_8$y = { class: "propeller-address-selector__modal-actions flex justify-end mt-6 pt-4 border-t border-border-subtle" };
5671
+ const _hoisted_9$x = ["disabled"];
5672
5672
  const _hoisted_10$u = {
5673
5673
  key: 0,
5674
5674
  fill: "none",
5675
5675
  viewBox: "0 0 24 24",
5676
5676
  class: "w-4 h-4 animate-spin"
5677
5677
  };
5678
- const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
5678
+ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
5679
5679
  __name: "AddressSelector",
5680
5680
  props: {
5681
5681
  user: {},
@@ -5692,7 +5692,7 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
5692
5692
  const showModal = vue.ref(false);
5693
5693
  const selectedAddress = vue.ref(null);
5694
5694
  const isLoading = vue.ref(false);
5695
- const AddressCardImpl = vue.computed(() => props.addressCardComponent ?? _sfc_main$O);
5695
+ const AddressCardImpl = vue.computed(() => props.addressCardComponent ?? _sfc_main$P);
5696
5696
  function getLabel(key, fallback) {
5697
5697
  return index.getLabel(props.labels, key, fallback);
5698
5698
  }
@@ -5774,10 +5774,10 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
5774
5774
  ], -1)),
5775
5775
  vue.createTextVNode(vue.toDisplayString(getLabel("chooseAddress", "Choose address")), 1)
5776
5776
  ]),
5777
- showModal.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$I, [
5778
- vue.createElementVNode("div", _hoisted_2$H, [
5779
- vue.createElementVNode("div", _hoisted_3$H, [
5780
- vue.createElementVNode("h3", _hoisted_4$D, vue.toDisplayString(getLabel("modalTitle", "Choose an address")), 1),
5777
+ showModal.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$J, [
5778
+ vue.createElementVNode("div", _hoisted_2$I, [
5779
+ vue.createElementVNode("div", _hoisted_3$I, [
5780
+ vue.createElementVNode("h3", _hoisted_4$E, vue.toDisplayString(getLabel("modalTitle", "Choose an address")), 1),
5781
5781
  vue.createElementVNode("button", {
5782
5782
  type: "button",
5783
5783
  class: "propeller-address-selector__modal-close text-muted-foreground hover:text-muted-foreground text-xl leading-none",
@@ -5786,9 +5786,9 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
5786
5786
  })
5787
5787
  }, " × ")
5788
5788
  ]),
5789
- getAddresses().length === 0 ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_5$C, vue.toDisplayString(getLabel("noAddresses", "No addresses found.")), 1)) : vue.createCommentVNode("", true),
5789
+ getAddresses().length === 0 ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_5$D, vue.toDisplayString(getLabel("noAddresses", "No addresses found.")), 1)) : vue.createCommentVNode("", true),
5790
5790
  getAddresses().length > 0 ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
5791
- vue.createElementVNode("div", _hoisted_6$B, [
5791
+ vue.createElementVNode("div", _hoisted_6$C, [
5792
5792
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getAddresses(), (address, index2) => {
5793
5793
  return vue.openBlock(), vue.createElementBlock("div", {
5794
5794
  key: address.id,
@@ -5807,10 +5807,10 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
5807
5807
  showCountry: true,
5808
5808
  showNumberExtension: true
5809
5809
  }, null, 8, ["address", "countries"]))
5810
- ], 10, _hoisted_7$B);
5810
+ ], 10, _hoisted_7$C);
5811
5811
  }), 128))
5812
5812
  ]),
5813
- vue.createElementVNode("div", _hoisted_8$x, [
5813
+ vue.createElementVNode("div", _hoisted_8$y, [
5814
5814
  vue.createElementVNode("button", {
5815
5815
  type: "button",
5816
5816
  class: "propeller-address-selector__confirm-btn inline-flex items-center gap-2 px-5 py-2.5 bg-primary text-primary-foreground rounded-[var(--radius-control)] text-sm font-medium hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",
@@ -5837,7 +5837,7 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
5837
5837
  ], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
5838
5838
  vue.createTextVNode(vue.toDisplayString(getLabel("useThisAddress", "Use this address")), 1)
5839
5839
  ], 64))
5840
- ], 8, _hoisted_9$w)
5840
+ ], 8, _hoisted_9$x)
5841
5841
  ])
5842
5842
  ], 64)) : vue.createCommentVNode("", true)
5843
5843
  ])
@@ -5846,11 +5846,11 @@ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
5846
5846
  };
5847
5847
  }
5848
5848
  });
5849
- const _hoisted_1$H = { class: "propeller-cart-bonus-items__title text-lg font-semibold mb-3" };
5850
- const _hoisted_2$G = { class: "propeller-cart-bonus-items__list space-y-4" };
5851
- const _hoisted_3$G = { class: "propeller-cart-bonus-item__media w-20 h-20 flex-shrink-0 bg-surface-hover rounded-[var(--radius-control)] overflow-hidden flex items-center justify-center" };
5852
- const _hoisted_4$C = ["src", "alt"];
5853
- const _hoisted_5$B = {
5849
+ const _hoisted_1$I = { class: "propeller-cart-bonus-items__title text-lg font-semibold mb-3" };
5850
+ const _hoisted_2$H = { class: "propeller-cart-bonus-items__list space-y-4" };
5851
+ const _hoisted_3$H = { class: "propeller-cart-bonus-item__media w-20 h-20 flex-shrink-0 bg-surface-hover rounded-[var(--radius-control)] overflow-hidden flex items-center justify-center" };
5852
+ const _hoisted_4$D = ["src", "alt"];
5853
+ const _hoisted_5$C = {
5854
5854
  key: 1,
5855
5855
  fill: "none",
5856
5856
  viewBox: "0 0 24 24",
@@ -5858,15 +5858,15 @@ const _hoisted_5$B = {
5858
5858
  class: "propeller-cart-bonus-item__image-placeholder w-8 h-8 text-foreground-subtle",
5859
5859
  strokeWidth: 1.5
5860
5860
  };
5861
- const _hoisted_6$A = { class: "propeller-cart-bonus-item__body flex-1 min-w-0" };
5862
- const _hoisted_7$A = {
5861
+ const _hoisted_6$B = { class: "propeller-cart-bonus-item__body flex-1 min-w-0" };
5862
+ const _hoisted_7$B = {
5863
5863
  key: 0,
5864
5864
  class: "propeller-cart-bonus-item__sku font-mono text-xs text-foreground-subtle"
5865
5865
  };
5866
- const _hoisted_8$w = { class: "propeller-cart-bonus-item__title font-semibold text-sm md:text-base text-foreground line-clamp-2" };
5867
- const _hoisted_9$v = { class: "propeller-cart-bonus-item__qty text-sm text-muted-foreground whitespace-nowrap" };
5866
+ const _hoisted_8$x = { class: "propeller-cart-bonus-item__title font-semibold text-sm md:text-base text-foreground line-clamp-2" };
5867
+ const _hoisted_9$w = { class: "propeller-cart-bonus-item__qty text-sm text-muted-foreground whitespace-nowrap" };
5868
5868
  const _hoisted_10$t = { class: "propeller-cart-bonus-item__price font-semibold text-foreground whitespace-nowrap" };
5869
- const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
5869
+ const _sfc_main$N = /* @__PURE__ */ vue.defineComponent({
5870
5870
  __name: "CartBonusItems",
5871
5871
  props: {
5872
5872
  cart: { default: null },
@@ -5901,20 +5901,20 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
5901
5901
  key: 0,
5902
5902
  class: vue.normalizeClass(`propeller-cart-bonus-items ${__props.className || "mt-2"}`)
5903
5903
  }, [
5904
- vue.createElementVNode("h2", _hoisted_1$H, vue.toDisplayString(getLabel("title", "Bonus items")), 1),
5905
- vue.createElementVNode("div", _hoisted_2$G, [
5904
+ vue.createElementVNode("h2", _hoisted_1$I, vue.toDisplayString(getLabel("title", "Bonus items")), 1),
5905
+ vue.createElementVNode("div", _hoisted_2$H, [
5906
5906
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(bonusItems.value, (item) => {
5907
5907
  return vue.openBlock(), vue.createElementBlock("div", {
5908
5908
  key: item.itemId,
5909
5909
  class: "propeller-cart-bonus-item flex items-center gap-4 bg-card p-4 rounded-[var(--radius-container)] shadow-sm border border-border"
5910
5910
  }, [
5911
- vue.createElementVNode("div", _hoisted_3$G, [
5911
+ vue.createElementVNode("div", _hoisted_3$H, [
5912
5912
  getItemImageUrl(item) ? (vue.openBlock(), vue.createElementBlock("img", {
5913
5913
  key: 0,
5914
5914
  class: "propeller-cart-bonus-item__image w-full h-full object-contain p-1",
5915
5915
  src: getItemImageUrl(item),
5916
5916
  alt: getItemName(item)
5917
- }, null, 8, _hoisted_4$C)) : (vue.openBlock(), vue.createElementBlock("svg", _hoisted_5$B, [..._cache[0] || (_cache[0] = [
5917
+ }, null, 8, _hoisted_4$D)) : (vue.openBlock(), vue.createElementBlock("svg", _hoisted_5$C, [..._cache[0] || (_cache[0] = [
5918
5918
  vue.createElementVNode("path", {
5919
5919
  strokeLinecap: "round",
5920
5920
  strokeLinejoin: "round",
@@ -5922,11 +5922,11 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
5922
5922
  }, null, -1)
5923
5923
  ])]))
5924
5924
  ]),
5925
- vue.createElementVNode("div", _hoisted_6$A, [
5926
- item.product?.sku ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_7$A, vue.toDisplayString(getLabel("sku", "SKU")) + ": " + vue.toDisplayString(item.product.sku), 1)) : vue.createCommentVNode("", true),
5927
- vue.createElementVNode("p", _hoisted_8$w, vue.toDisplayString(getItemName(item)), 1)
5925
+ vue.createElementVNode("div", _hoisted_6$B, [
5926
+ item.product?.sku ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_7$B, vue.toDisplayString(getLabel("sku", "SKU")) + ": " + vue.toDisplayString(item.product.sku), 1)) : vue.createCommentVNode("", true),
5927
+ vue.createElementVNode("p", _hoisted_8$x, vue.toDisplayString(getItemName(item)), 1)
5928
5928
  ]),
5929
- vue.createElementVNode("div", _hoisted_9$v, vue.toDisplayString(item.quantity) + " × ", 1),
5929
+ vue.createElementVNode("div", _hoisted_9$w, vue.toDisplayString(item.quantity) + " × ", 1),
5930
5930
  vue.createElementVNode("div", _hoisted_10$t, vue.toDisplayString(getItemTotal(item)), 1)
5931
5931
  ]);
5932
5932
  }), 128))
@@ -5935,28 +5935,28 @@ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
5935
5935
  };
5936
5936
  }
5937
5937
  });
5938
- const _hoisted_1$G = {
5938
+ const _hoisted_1$H = {
5939
5939
  key: 0,
5940
5940
  class: "propeller-cart-carriers__grid grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3"
5941
5941
  };
5942
- const _hoisted_2$F = ["onClick", "data-selected"];
5943
- const _hoisted_3$F = { class: "propeller-cart-carriers__carrier-row flex justify-between items-center" };
5944
- const _hoisted_4$B = { class: "flex items-center gap-2" };
5945
- const _hoisted_5$A = ["src", "alt"];
5946
- const _hoisted_6$z = { class: "propeller-cart-carriers__carrier-name font-medium" };
5947
- const _hoisted_7$z = {
5942
+ const _hoisted_2$G = ["onClick", "data-selected"];
5943
+ const _hoisted_3$G = { class: "propeller-cart-carriers__carrier-row flex justify-between items-center" };
5944
+ const _hoisted_4$C = { class: "flex items-center gap-2" };
5945
+ const _hoisted_5$B = ["src", "alt"];
5946
+ const _hoisted_6$A = { class: "propeller-cart-carriers__carrier-name font-medium" };
5947
+ const _hoisted_7$A = {
5948
5948
  key: 0,
5949
5949
  class: "propeller-cart-carriers__carrier-price text-xs bg-surface-hover text-muted-foreground px-2 py-1 rounded-full"
5950
5950
  };
5951
- const _hoisted_8$v = {
5951
+ const _hoisted_8$w = {
5952
5952
  key: 0,
5953
5953
  class: "propeller-cart-carriers__carrier-deadline text-xs text-muted-foreground"
5954
5954
  };
5955
- const _hoisted_9$u = {
5955
+ const _hoisted_9$v = {
5956
5956
  key: 1,
5957
5957
  class: "propeller-cart-carriers__empty text-muted-foreground italic"
5958
5958
  };
5959
- const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
5959
+ const _sfc_main$M = /* @__PURE__ */ vue.defineComponent({
5960
5960
  __name: "CartCarriers",
5961
5961
  props: {
5962
5962
  cart: {},
@@ -6018,7 +6018,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
6018
6018
  return vue.openBlock(), vue.createElementBlock("div", {
6019
6019
  class: vue.normalizeClass(`propeller-cart-carriers ${containerClass.value}`)
6020
6020
  }, [
6021
- carriers.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$G, [
6021
+ carriers.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$H, [
6022
6022
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(carriers.value, (carrier, index2) => {
6023
6023
  return vue.openBlock(), vue.createElementBlock("div", {
6024
6024
  key: `${carrier.name}-${index2}`,
@@ -6026,28 +6026,28 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
6026
6026
  "data-selected": selectedName.value === carrier.name ? "true" : "false",
6027
6027
  class: vue.normalizeClass(`propeller-cart-carriers__carrier cursor-pointer border border-border rounded-[var(--radius-container)] p-4 flex flex-col gap-2 transition-all ${selectedName.value === carrier.name ? "border-secondary bg-secondary/5 shadow-sm" : "hover:border-secondary/30"}`)
6028
6028
  }, [
6029
- vue.createElementVNode("div", _hoisted_3$F, [
6030
- vue.createElementVNode("div", _hoisted_4$B, [
6029
+ vue.createElementVNode("div", _hoisted_3$G, [
6030
+ vue.createElementVNode("div", _hoisted_4$C, [
6031
6031
  showLogo.value && getLogoUrl(carrier) ? (vue.openBlock(), vue.createElementBlock("img", {
6032
6032
  key: 0,
6033
6033
  class: "propeller-cart-carriers__carrier-logo h-6 w-auto",
6034
6034
  src: getLogoUrl(carrier),
6035
6035
  alt: carrier.name
6036
- }, null, 8, _hoisted_5$A)) : vue.createCommentVNode("", true),
6037
- vue.createElementVNode("span", _hoisted_6$z, vue.toDisplayString(carrier.name), 1)
6036
+ }, null, 8, _hoisted_5$B)) : vue.createCommentVNode("", true),
6037
+ vue.createElementVNode("span", _hoisted_6$A, vue.toDisplayString(carrier.name), 1)
6038
6038
  ]),
6039
- __props.showPrice !== false ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$z, vue.toDisplayString(formatCarrierPrice(carrier.price)), 1)) : vue.createCommentVNode("", true)
6039
+ __props.showPrice !== false ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$A, vue.toDisplayString(formatCarrierPrice(carrier.price)), 1)) : vue.createCommentVNode("", true)
6040
6040
  ]),
6041
- carrier.deliveryDeadline ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_8$v, vue.toDisplayString(getLabel("deliveryDeadline", "Delivery deadline:")) + vue.toDisplayString(carrier.deliveryDeadline), 1)) : vue.createCommentVNode("", true)
6042
- ], 10, _hoisted_2$F);
6041
+ carrier.deliveryDeadline ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_8$w, vue.toDisplayString(getLabel("deliveryDeadline", "Delivery deadline:")) + vue.toDisplayString(carrier.deliveryDeadline), 1)) : vue.createCommentVNode("", true)
6042
+ ], 10, _hoisted_2$G);
6043
6043
  }), 128))
6044
6044
  ])) : vue.createCommentVNode("", true),
6045
- carriers.value.length === 0 ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_9$u, vue.toDisplayString(getLabel("noCarriers", "No carriers available.")), 1)) : vue.createCommentVNode("", true)
6045
+ carriers.value.length === 0 ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_9$v, vue.toDisplayString(getLabel("noCarriers", "No carriers available.")), 1)) : vue.createCommentVNode("", true)
6046
6046
  ], 2);
6047
6047
  };
6048
6048
  }
6049
6049
  });
6050
- const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
6050
+ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
6051
6051
  __name: "DefaultProductSurcharges",
6052
6052
  props: {
6053
6053
  product: {},
@@ -6083,10 +6083,10 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
6083
6083
  };
6084
6084
  }
6085
6085
  });
6086
- const _hoisted_1$F = ["data-bundle", "data-loading"];
6087
- const _hoisted_2$E = { class: "propeller-cart-item__media w-20 h-20 md:w-24 md:h-24 flex-shrink-0 bg-surface-hover flex items-center justify-center overflow-hidden relative" };
6088
- const _hoisted_3$E = ["src", "alt"];
6089
- const _hoisted_4$A = {
6086
+ const _hoisted_1$G = ["data-bundle", "data-loading"];
6087
+ const _hoisted_2$F = { class: "propeller-cart-item__media w-20 h-20 md:w-24 md:h-24 flex-shrink-0 bg-surface-hover flex items-center justify-center overflow-hidden relative" };
6088
+ const _hoisted_3$F = ["src", "alt"];
6089
+ const _hoisted_4$B = {
6090
6090
  key: 1,
6091
6091
  fill: "none",
6092
6092
  viewBox: "0 0 24 24",
@@ -6094,14 +6094,14 @@ const _hoisted_4$A = {
6094
6094
  class: "propeller-cart-item__image-placeholder w-8 h-8 text-foreground-subtle",
6095
6095
  strokeWidth: 1.5
6096
6096
  };
6097
- const _hoisted_5$z = { class: "propeller-cart-item__body flex-1 min-w-0" };
6098
- const _hoisted_6$y = { class: "propeller-cart-item__sku font-mono text-xs text-foreground-subtle" };
6099
- const _hoisted_7$y = {
6097
+ const _hoisted_5$A = { class: "propeller-cart-item__body flex-1 min-w-0" };
6098
+ const _hoisted_6$z = { class: "propeller-cart-item__sku font-mono text-xs text-foreground-subtle" };
6099
+ const _hoisted_7$z = {
6100
6100
  key: 0,
6101
6101
  class: "propeller-cart-item__title font-semibold text-sm md:text-base text-foreground line-clamp-2"
6102
6102
  };
6103
- const _hoisted_8$u = ["href"];
6104
- const _hoisted_9$t = {
6103
+ const _hoisted_8$v = ["href"];
6104
+ const _hoisted_9$u = {
6105
6105
  key: 1,
6106
6106
  class: "propeller-cart-item__title font-semibold text-sm md:text-base text-foreground line-clamp-2"
6107
6107
  };
@@ -6130,11 +6130,11 @@ const _hoisted_25$f = { class: "propeller-cart-item__notes mt-3" };
6130
6130
  const _hoisted_26$f = { class: "propeller-cart-item__notes-label text-xs font-medium text-muted-foreground block mb-1" };
6131
6131
  const _hoisted_27$f = ["value", "placeholder"];
6132
6132
  const _hoisted_28$e = { class: "propeller-cart-item__crossupsells mt-3 pt-3 border-t border-border" };
6133
- const _hoisted_29$d = { class: "propeller-cart-item__crossupsells-label text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2" };
6134
- const _hoisted_30$d = { class: "flex flex-col gap-2" };
6135
- const _hoisted_31$d = ["href", "onClick"];
6136
- const _hoisted_32$c = ["src", "alt"];
6137
- const _hoisted_33$b = { class: "min-w-0" };
6133
+ const _hoisted_29$e = { class: "propeller-cart-item__crossupsells-label text-xs font-semibold text-muted-foreground uppercase tracking-wider mb-2" };
6134
+ const _hoisted_30$e = { class: "flex flex-col gap-2" };
6135
+ const _hoisted_31$e = ["href", "onClick"];
6136
+ const _hoisted_32$d = ["src", "alt"];
6137
+ const _hoisted_33$c = { class: "min-w-0" };
6138
6138
  const _hoisted_34$a = { class: "propeller-cart-item__crossupsell-title text-xs font-medium text-muted-foreground line-clamp-2" };
6139
6139
  const _hoisted_35$a = {
6140
6140
  key: 0,
@@ -6199,7 +6199,7 @@ const _hoisted_51$5 = {
6199
6199
  strokeLinecap: "round",
6200
6200
  strokeLinejoin: "round"
6201
6201
  };
6202
- const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
6202
+ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
6203
6203
  __name: "CartItem",
6204
6204
  props: {
6205
6205
  graphqlClient: {},
@@ -6252,7 +6252,7 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
6252
6252
  const resolved = vue.computed(() => useResolvedProps(props, RESOLVE_SPEC));
6253
6253
  const PriceImpl = vue.computed(() => resolved.value.priceComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$9);
6254
6254
  const StockImpl = vue.computed(() => resolved.value.stockComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3);
6255
- const SurchargesImpl = vue.computed(() => resolved.value.surchargesComponent ?? _sfc_main$K);
6255
+ const SurchargesImpl = vue.computed(() => resolved.value.surchargesComponent ?? _sfc_main$L);
6256
6256
  const userRef = vue.computed(() => resolved.value.user ?? null);
6257
6257
  const {
6258
6258
  loading,
@@ -6501,14 +6501,14 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
6501
6501
  imageUrl: getProductImageUrl(),
6502
6502
  productUrl: getProductUrl()
6503
6503
  }, () => [
6504
- vue.createElementVNode("div", _hoisted_2$E, [
6504
+ vue.createElementVNode("div", _hoisted_2$F, [
6505
6505
  !!getProductImageUrl() ? (vue.openBlock(), vue.createElementBlock("img", {
6506
6506
  key: 0,
6507
6507
  class: "propeller-cart-item__image w-full h-full object-contain p-1",
6508
6508
  src: getProductImageUrl(),
6509
6509
  alt: getProductName()
6510
- }, null, 8, _hoisted_3$E)) : vue.createCommentVNode("", true),
6511
- !getProductImageUrl() ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_4$A, [..._cache[7] || (_cache[7] = [
6510
+ }, null, 8, _hoisted_3$F)) : vue.createCommentVNode("", true),
6511
+ !getProductImageUrl() ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_4$B, [..._cache[7] || (_cache[7] = [
6512
6512
  vue.createElementVNode("path", {
6513
6513
  strokeLinecap: "round",
6514
6514
  strokeLinejoin: "round",
@@ -6517,13 +6517,13 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
6517
6517
  ])])) : vue.createCommentVNode("", true)
6518
6518
  ])
6519
6519
  ]),
6520
- vue.createElementVNode("div", _hoisted_5$z, [
6520
+ vue.createElementVNode("div", _hoisted_5$A, [
6521
6521
  !isBundleItem() && __props.showSku !== false && !!getProductSku() ? vue.renderSlot(_ctx.$slots, "sku", {
6522
6522
  key: 0,
6523
6523
  cartItem: __props.cartItem,
6524
6524
  sku: getProductSku()
6525
6525
  }, () => [
6526
- vue.createElementVNode("p", _hoisted_6$y, vue.toDisplayString(getProductSku()), 1)
6526
+ vue.createElementVNode("p", _hoisted_6$z, vue.toDisplayString(getProductSku()), 1)
6527
6527
  ]) : vue.createCommentVNode("", true),
6528
6528
  vue.renderSlot(_ctx.$slots, getProductName(), {
6529
6529
  cartItem: __props.cartItem,
@@ -6533,15 +6533,15 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
6533
6533
  linkable: __props.titleLinkable,
6534
6534
  handleTitleClick: (e) => __props.onTitleClick?.(e, __props.cartItem)
6535
6535
  }, () => [
6536
- isBundleItem() ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$y, vue.toDisplayString(getBundleName()), 1)) : vue.createCommentVNode("", true),
6536
+ isBundleItem() ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$z, vue.toDisplayString(getBundleName()), 1)) : vue.createCommentVNode("", true),
6537
6537
  !isBundleItem() ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
6538
6538
  __props.titleLinkable !== false ? (vue.openBlock(), vue.createElementBlock("a", {
6539
6539
  key: 0,
6540
6540
  class: "propeller-cart-item__title font-semibold text-sm md:text-base text-foreground hover:text-foreground transition-colors line-clamp-2",
6541
6541
  href: getProductUrl(),
6542
6542
  onClick: _cache[0] || (_cache[0] = (e) => __props.onTitleClick?.(e, __props.cartItem))
6543
- }, vue.toDisplayString(getProductName()), 9, _hoisted_8$u)) : vue.createCommentVNode("", true),
6544
- __props.titleLinkable === false ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_9$t, vue.toDisplayString(getProductName()), 1)) : vue.createCommentVNode("", true)
6543
+ }, vue.toDisplayString(getProductName()), 9, _hoisted_8$v)) : vue.createCommentVNode("", true),
6544
+ __props.titleLinkable === false ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_9$u, vue.toDisplayString(getProductName()), 1)) : vue.createCommentVNode("", true)
6545
6545
  ], 64)) : vue.createCommentVNode("", true)
6546
6546
  ]),
6547
6547
  !isBundleItem() ? vue.renderSlot(_ctx.$slots, "surcharges", {
@@ -6656,8 +6656,8 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
6656
6656
  crossupsells: getVisibleCrossupsells()
6657
6657
  }, () => [
6658
6658
  vue.createElementVNode("div", _hoisted_28$e, [
6659
- vue.createElementVNode("p", _hoisted_29$d, vue.toDisplayString(getLabel("crossupsellTitle", "You might also like")), 1),
6660
- vue.createElementVNode("div", _hoisted_30$d, [
6659
+ vue.createElementVNode("p", _hoisted_29$e, vue.toDisplayString(getLabel("crossupsellTitle", "You might also like")), 1),
6660
+ vue.createElementVNode("div", _hoisted_30$e, [
6661
6661
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getVisibleCrossupsells(), (item, idx) => {
6662
6662
  return vue.openBlock(), vue.createElementBlock("div", {
6663
6663
  key: idx,
@@ -6680,12 +6680,12 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
6680
6680
  class: "propeller-cart-item__crossupsell-image w-10 h-10 object-contain rounded flex-shrink-0",
6681
6681
  src: getCrossupsellImageUrl(item),
6682
6682
  alt: getCrossupsellName(item)
6683
- }, null, 8, _hoisted_32$c)) : vue.createCommentVNode("", true),
6684
- vue.createElementVNode("div", _hoisted_33$b, [
6683
+ }, null, 8, _hoisted_32$d)) : vue.createCommentVNode("", true),
6684
+ vue.createElementVNode("div", _hoisted_33$c, [
6685
6685
  vue.createElementVNode("span", _hoisted_34$a, vue.toDisplayString(getCrossupsellName(item)), 1),
6686
6686
  !!getCrossupsellPrice(item) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_35$a, vue.toDisplayString(getCrossupsellPrice(item)), 1)) : vue.createCommentVNode("", true)
6687
6687
  ])
6688
- ], 8, _hoisted_31$d),
6688
+ ], 8, _hoisted_31$e),
6689
6689
  vue.createElementVNode("button", {
6690
6690
  type: "button",
6691
6691
  class: "propeller-cart-item__crossupsell-btn flex-shrink-0 inline-flex items-center justify-center h-7 w-7 rounded-[var(--radius-control)] bg-primary text-primary-foreground hover:bg-primary/90 transition-colors disabled:opacity-50",
@@ -6814,31 +6814,31 @@ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
6814
6814
  ], 8, _hoisted_49$7)
6815
6815
  ]) : vue.createCommentVNode("", true)
6816
6816
  ])
6817
- ], 10, _hoisted_1$F);
6817
+ ], 10, _hoisted_1$G);
6818
6818
  };
6819
6819
  }
6820
6820
  });
6821
- const _hoisted_1$E = ["data-sidebar-open"];
6822
- const _hoisted_2$D = ["aria-label"];
6823
- const _hoisted_3$D = {
6821
+ const _hoisted_1$F = ["data-sidebar-open"];
6822
+ const _hoisted_2$E = ["aria-label"];
6823
+ const _hoisted_3$E = {
6824
6824
  fill: "none",
6825
6825
  stroke: "currentColor",
6826
6826
  viewBox: "0 0 24 24",
6827
6827
  class: "propeller-cart-icon__icon w-6 h-6",
6828
6828
  strokeWidth: 1.5
6829
6829
  };
6830
- const _hoisted_4$z = {
6830
+ const _hoisted_4$A = {
6831
6831
  key: 0,
6832
6832
  class: "propeller-cart-icon__badge absolute -top-1 -right-1 h-5 w-5 flex items-center justify-center rounded-full bg-primary text-primary-foreground text-[10px] font-bold pointer-events-none"
6833
6833
  };
6834
- const _hoisted_5$y = {
6834
+ const _hoisted_5$z = {
6835
6835
  key: 0,
6836
6836
  class: "propeller-cart-icon__popover absolute top-full right-0 mt-1 z-40 bg-card border border-border rounded-[var(--radius-container)] shadow-lg px-3 py-2 min-w-[140px] text-sm whitespace-nowrap"
6837
6837
  };
6838
- const _hoisted_6$x = { class: "flex justify-between gap-4" };
6839
- const _hoisted_7$x = { class: "propeller-cart-icon__popover-label text-muted-foreground" };
6840
- const _hoisted_8$t = { class: "propeller-cart-icon__popover-total font-semibold text-foreground" };
6841
- const _hoisted_9$s = { class: "propeller-cart-icon__popover-count text-xs text-foreground-subtle mt-0.5" };
6838
+ const _hoisted_6$y = { class: "flex justify-between gap-4" };
6839
+ const _hoisted_7$y = { class: "propeller-cart-icon__popover-label text-muted-foreground" };
6840
+ const _hoisted_8$u = { class: "propeller-cart-icon__popover-total font-semibold text-foreground" };
6841
+ const _hoisted_9$t = { class: "propeller-cart-icon__popover-count text-xs text-foreground-subtle mt-0.5" };
6842
6842
  const _hoisted_10$r = ["aria-label", "data-open"];
6843
6843
  const _hoisted_11$p = { class: "flex flex-col h-full" };
6844
6844
  const _hoisted_12$p = { class: "propeller-cart-icon__sidebar-header flex items-center justify-between px-5 py-4 border-b border-border" };
@@ -6892,11 +6892,11 @@ const _hoisted_28$d = {
6892
6892
  key: 0,
6893
6893
  class: "propeller-cart-icon__sidebar-footer px-5 py-4 border-t border-border space-y-3 bg-surface-hover"
6894
6894
  };
6895
- const _hoisted_29$c = { class: "propeller-cart-icon__total-row flex justify-between items-center" };
6896
- const _hoisted_30$c = { class: "propeller-cart-icon__total-label text-sm font-medium text-muted-foreground" };
6897
- const _hoisted_31$c = { class: "propeller-cart-icon__total-value text-base font-bold text-foreground" };
6898
- const _hoisted_32$b = ["disabled"];
6899
- const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
6895
+ const _hoisted_29$d = { class: "propeller-cart-icon__total-row flex justify-between items-center" };
6896
+ const _hoisted_30$d = { class: "propeller-cart-icon__total-label text-sm font-medium text-muted-foreground" };
6897
+ const _hoisted_31$d = { class: "propeller-cart-icon__total-value text-base font-bold text-foreground" };
6898
+ const _hoisted_32$c = ["disabled"];
6899
+ const _sfc_main$J = /* @__PURE__ */ vue.defineComponent({
6900
6900
  __name: "CartIconAndSidebar",
6901
6901
  props: {
6902
6902
  cart: {},
@@ -6947,10 +6947,10 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
6947
6947
  }
6948
6948
  });
6949
6949
  const CartItemImpl = vue.computed(
6950
- () => props.cartItemComponent ?? _sfc_main$J
6950
+ () => props.cartItemComponent ?? _sfc_main$K
6951
6951
  );
6952
6952
  const CartBonusItemsImpl = vue.computed(
6953
- () => props.cartBonusItemsComponent ?? _sfc_main$M
6953
+ () => props.cartBonusItemsComponent ?? _sfc_main$N
6954
6954
  );
6955
6955
  vue.onMounted(() => {
6956
6956
  isMounted.value = true;
@@ -7070,21 +7070,21 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
7070
7070
  "aria-label": getLabel("cartIconLabel", "Shopping cart"),
7071
7071
  class: vue.normalizeClass(`propeller-cart-icon__trigger relative inline-flex items-center justify-center p-2 rounded-[var(--radius-control)] transition-colors text-foreground${__props.iconClassName ? " " + __props.iconClassName : ""}`)
7072
7072
  }, [
7073
- (vue.openBlock(), vue.createElementBlock("svg", _hoisted_3$D, [..._cache[11] || (_cache[11] = [
7073
+ (vue.openBlock(), vue.createElementBlock("svg", _hoisted_3$E, [..._cache[11] || (_cache[11] = [
7074
7074
  vue.createElementVNode("path", {
7075
7075
  strokeLinecap: "round",
7076
7076
  strokeLinejoin: "round",
7077
7077
  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"
7078
7078
  }, null, -1)
7079
7079
  ])])),
7080
- isMounted.value && __props.showBadge !== false && getTotalItems() > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$z, vue.toDisplayString(getTotalItems()), 1)) : vue.createCommentVNode("", true)
7081
- ], 10, _hoisted_2$D),
7082
- __props.showTotals && isHovered.value && getTotalItems() > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$y, [
7083
- vue.createElementVNode("div", _hoisted_6$x, [
7084
- vue.createElementVNode("span", _hoisted_7$x, vue.toDisplayString(getLabel("totalLabel", "Total")), 1),
7085
- vue.createElementVNode("span", _hoisted_8$t, vue.toDisplayString(getTotalPrice()), 1)
7080
+ isMounted.value && __props.showBadge !== false && getTotalItems() > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$A, vue.toDisplayString(getTotalItems()), 1)) : vue.createCommentVNode("", true)
7081
+ ], 10, _hoisted_2$E),
7082
+ __props.showTotals && isHovered.value && getTotalItems() > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$z, [
7083
+ vue.createElementVNode("div", _hoisted_6$y, [
7084
+ vue.createElementVNode("span", _hoisted_7$y, vue.toDisplayString(getLabel("totalLabel", "Total")), 1),
7085
+ vue.createElementVNode("span", _hoisted_8$u, vue.toDisplayString(getTotalPrice()), 1)
7086
7086
  ]),
7087
- vue.createElementVNode("div", _hoisted_9$s, vue.toDisplayString(getTotalItems()) + vue.toDisplayString(getLabel("itemsLabel", "item(s)")), 1)
7087
+ vue.createElementVNode("div", _hoisted_9$t, vue.toDisplayString(getTotalItems()) + vue.toDisplayString(getLabel("itemsLabel", "item(s)")), 1)
7088
7088
  ])) : vue.createCommentVNode("", true)
7089
7089
  ], 32),
7090
7090
  sidebarOpen.value ? (vue.openBlock(), vue.createElementBlock("div", {
@@ -7201,9 +7201,9 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
7201
7201
  }, null, 8, ["cart"]))
7202
7202
  ]),
7203
7203
  getItems().length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_28$d, [
7204
- vue.createElementVNode("div", _hoisted_29$c, [
7205
- vue.createElementVNode("span", _hoisted_30$c, vue.toDisplayString(getLabel("total", "Total")), 1),
7206
- vue.createElementVNode("span", _hoisted_31$c, vue.toDisplayString(getTotalPrice()), 1)
7204
+ vue.createElementVNode("div", _hoisted_29$d, [
7205
+ vue.createElementVNode("span", _hoisted_30$d, vue.toDisplayString(getLabel("total", "Total")), 1),
7206
+ vue.createElementVNode("span", _hoisted_31$d, vue.toDisplayString(getTotalPrice()), 1)
7207
7207
  ]),
7208
7208
  showCheckoutButton() && !showRequestAuthorizationButton() ? (vue.openBlock(), vue.createElementBlock("button", {
7209
7209
  key: 0,
@@ -7227,7 +7227,7 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
7227
7227
  "Request Authorization"
7228
7228
  )), 1)
7229
7229
  ], 64)) : vue.createCommentVNode("", true)
7230
- ], 8, _hoisted_32$b)) : vue.createCommentVNode("", true),
7230
+ ], 8, _hoisted_32$c)) : vue.createCommentVNode("", true),
7231
7231
  !showRequestAuthorizationButton() && !!__props.onRequestQuoteClick && !!__props.user && "contactId" in __props.user ? (vue.openBlock(), vue.createElementBlock("button", {
7232
7232
  key: 2,
7233
7233
  type: "button",
@@ -7247,34 +7247,34 @@ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
7247
7247
  ], 64)) : vue.createCommentVNode("", true)
7248
7248
  ])
7249
7249
  ], 10, _hoisted_10$r)
7250
- ], 8, _hoisted_1$E);
7250
+ ], 8, _hoisted_1$F);
7251
7251
  };
7252
7252
  }
7253
7253
  });
7254
- const _hoisted_1$D = {
7254
+ const _hoisted_1$E = {
7255
7255
  key: 0,
7256
7256
  class: "propeller-cart-overview__title text-xl font-bold mb-4"
7257
7257
  };
7258
- const _hoisted_2$C = { class: "propeller-cart-overview__addresses grid grid-cols-1 md:grid-cols-2 gap-6 pb-5" };
7259
- const _hoisted_3$C = {
7258
+ const _hoisted_2$D = { class: "propeller-cart-overview__addresses grid grid-cols-1 md:grid-cols-2 gap-6 pb-5" };
7259
+ const _hoisted_3$D = {
7260
7260
  class: "propeller-cart-overview__address space-y-2",
7261
7261
  "data-address": "invoice"
7262
7262
  };
7263
- const _hoisted_4$y = { class: "propeller-cart-overview__address-title text-sm font-semibold text-muted-foreground uppercase tracking-wide" };
7264
- const _hoisted_5$x = {
7263
+ const _hoisted_4$z = { class: "propeller-cart-overview__address-title text-sm font-semibold text-muted-foreground uppercase tracking-wide" };
7264
+ const _hoisted_5$y = {
7265
7265
  key: 0,
7266
7266
  class: "text-sm space-y-1"
7267
7267
  };
7268
- const _hoisted_6$w = {
7268
+ const _hoisted_6$x = {
7269
7269
  key: 0,
7270
7270
  class: "font-medium"
7271
7271
  };
7272
- const _hoisted_7$w = { key: 1 };
7273
- const _hoisted_8$s = {
7272
+ const _hoisted_7$x = { key: 1 };
7273
+ const _hoisted_8$t = {
7274
7274
  key: 2,
7275
7275
  class: "propeller-cart-overview__address-email text-muted-foreground"
7276
7276
  };
7277
- const _hoisted_9$r = {
7277
+ const _hoisted_9$s = {
7278
7278
  class: "propeller-cart-overview__address space-y-2",
7279
7279
  "data-address": "delivery"
7280
7280
  };
@@ -7321,21 +7321,21 @@ const _hoisted_26$d = {
7321
7321
  };
7322
7322
  const _hoisted_27$d = { class: "text-sm font-medium" };
7323
7323
  const _hoisted_28$c = ["value", "placeholder"];
7324
- const _hoisted_29$b = {
7324
+ const _hoisted_29$c = {
7325
7325
  key: 2,
7326
7326
  class: "flex items-center space-x-2 pt-2"
7327
7327
  };
7328
- const _hoisted_30$b = ["checked"];
7329
- const _hoisted_31$b = {
7328
+ const _hoisted_30$c = ["checked"];
7329
+ const _hoisted_31$c = {
7330
7330
  for: "cart-overview-terms",
7331
7331
  class: "text-sm leading-none"
7332
7332
  };
7333
- const _hoisted_32$a = ["disabled"];
7334
- const _hoisted_33$a = {
7333
+ const _hoisted_32$b = ["disabled"];
7334
+ const _hoisted_33$b = {
7335
7335
  key: 0,
7336
7336
  class: "propeller-cart-overview__spinner w-5 h-5 border-2 border-white border-t-transparent rounded-full animate-spin"
7337
7337
  };
7338
- const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
7338
+ const _sfc_main$I = /* @__PURE__ */ vue.defineComponent({
7339
7339
  __name: "CartOverview",
7340
7340
  props: {
7341
7341
  graphqlClient: {},
@@ -7430,12 +7430,12 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
7430
7430
  return vue.openBlock(), vue.createElementBlock("div", {
7431
7431
  class: vue.normalizeClass(`propeller-cart-overview ${containerClass.value}`)
7432
7432
  }, [
7433
- __props.title ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_1$D, vue.toDisplayString(__props.title), 1)) : vue.createCommentVNode("", true),
7434
- vue.createElementVNode("div", _hoisted_2$C, [
7435
- vue.createElementVNode("div", _hoisted_3$C, [
7436
- vue.createElementVNode("h3", _hoisted_4$y, vue.toDisplayString(getLabel("invoiceAddress", "Invoice Address")), 1),
7437
- invoiceAddress.value && invoiceAddress.value.street ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$x, [
7438
- invoiceAddress.value.company ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_6$w, vue.toDisplayString(invoiceAddress.value.company), 1)) : vue.createCommentVNode("", true),
7433
+ __props.title ? (vue.openBlock(), vue.createElementBlock("h2", _hoisted_1$E, vue.toDisplayString(__props.title), 1)) : vue.createCommentVNode("", true),
7434
+ vue.createElementVNode("div", _hoisted_2$D, [
7435
+ vue.createElementVNode("div", _hoisted_3$D, [
7436
+ vue.createElementVNode("h3", _hoisted_4$z, vue.toDisplayString(getLabel("invoiceAddress", "Invoice Address")), 1),
7437
+ invoiceAddress.value && invoiceAddress.value.street ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$y, [
7438
+ invoiceAddress.value.company ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_6$x, vue.toDisplayString(invoiceAddress.value.company), 1)) : vue.createCommentVNode("", true),
7439
7439
  vue.createElementVNode("p", null, vue.toDisplayString([
7440
7440
  invoiceAddress.value.firstName,
7441
7441
  invoiceAddress.value.middleName,
@@ -7447,11 +7447,11 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
7447
7447
  invoiceAddress.value.numberExtension
7448
7448
  ].filter(Boolean).join(" ")), 1),
7449
7449
  vue.createElementVNode("p", null, vue.toDisplayString([invoiceAddress.value.postalCode, invoiceAddress.value.city].filter(Boolean).join(" ")), 1),
7450
- invoiceAddress.value.country ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_7$w, vue.toDisplayString(getCountryName(invoiceAddress.value.country)), 1)) : vue.createCommentVNode("", true),
7451
- invoiceAddress.value.email ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_8$s, vue.toDisplayString(invoiceAddress.value.email), 1)) : vue.createCommentVNode("", true)
7450
+ invoiceAddress.value.country ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_7$x, vue.toDisplayString(getCountryName(invoiceAddress.value.country)), 1)) : vue.createCommentVNode("", true),
7451
+ invoiceAddress.value.email ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_8$t, vue.toDisplayString(invoiceAddress.value.email), 1)) : vue.createCommentVNode("", true)
7452
7452
  ])) : vue.createCommentVNode("", true)
7453
7453
  ]),
7454
- vue.createElementVNode("div", _hoisted_9$r, [
7454
+ vue.createElementVNode("div", _hoisted_9$s, [
7455
7455
  vue.createElementVNode("h3", _hoisted_10$q, vue.toDisplayString(getLabel("deliveryAddress", "Delivery Address")), 1),
7456
7456
  deliveryAddress.value && deliveryAddress.value.street ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11$o, [
7457
7457
  deliveryAddress.value.company ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_12$o, vue.toDisplayString(deliveryAddress.value.company), 1)) : vue.createCommentVNode("", true),
@@ -7511,15 +7511,15 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
7511
7511
  maxLength: 255
7512
7512
  }, null, 40, _hoisted_28$c)
7513
7513
  ])) : vue.createCommentVNode("", true),
7514
- showTermsAndConditions.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_29$b, [
7514
+ showTermsAndConditions.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_29$c, [
7515
7515
  vue.createElementVNode("input", {
7516
7516
  type: "checkbox",
7517
7517
  id: "cart-overview-terms",
7518
7518
  class: "propeller-cart-overview__checkbox h-4 w-4 rounded border-input text-primary focus:ring-primary",
7519
7519
  checked: termsAccepted.value,
7520
7520
  onChange: _cache[2] || (_cache[2] = async (event) => handleTermsChange(event.target.checked))
7521
- }, null, 40, _hoisted_30$b),
7522
- vue.createElementVNode("label", _hoisted_31$b, [
7521
+ }, null, 40, _hoisted_30$c),
7522
+ vue.createElementVNode("label", _hoisted_31$c, [
7523
7523
  vue.createTextVNode(vue.toDisplayString(getLabel("termsPrefix", "I agree to the")), 1),
7524
7524
  vue.createElementVNode("a", {
7525
7525
  href: "#",
@@ -7535,36 +7535,36 @@ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
7535
7535
  onClick: _cache[4] || (_cache[4] = async (event) => handlePurchaseClick()),
7536
7536
  disabled: isPurchaseDisabled.value
7537
7537
  }, [
7538
- loading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_33$a)) : vue.createCommentVNode("", true),
7538
+ loading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_33$b)) : vue.createCommentVNode("", true),
7539
7539
  loading.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
7540
7540
  vue.createTextVNode(vue.toDisplayString(getLabel("processing", "Processing...")), 1)
7541
7541
  ], 64)) : vue.createCommentVNode("", true),
7542
7542
  !loading.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
7543
7543
  vue.createTextVNode(vue.toDisplayString(getLabel("purchaseButton", "Place Order")), 1)
7544
7544
  ], 64)) : vue.createCommentVNode("", true)
7545
- ], 8, _hoisted_32$a)) : vue.createCommentVNode("", true)
7545
+ ], 8, _hoisted_32$b)) : vue.createCommentVNode("", true)
7546
7546
  ])
7547
7547
  ], 2);
7548
7548
  };
7549
7549
  }
7550
7550
  });
7551
- const _hoisted_1$C = {
7551
+ const _hoisted_1$D = {
7552
7552
  key: 0,
7553
7553
  class: "propeller-cart-paymethods__grid grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3"
7554
7554
  };
7555
- const _hoisted_2$B = ["onClick", "data-selected"];
7556
- const _hoisted_3$B = { class: "propeller-cart-paymethods__method-row flex justify-between items-center" };
7557
- const _hoisted_4$x = { class: "flex items-center gap-2" };
7558
- const _hoisted_5$w = { class: "propeller-cart-paymethods__method-name font-medium" };
7559
- const _hoisted_6$v = {
7555
+ const _hoisted_2$C = ["onClick", "data-selected"];
7556
+ const _hoisted_3$C = { class: "propeller-cart-paymethods__method-row flex justify-between items-center" };
7557
+ const _hoisted_4$y = { class: "flex items-center gap-2" };
7558
+ const _hoisted_5$x = { class: "propeller-cart-paymethods__method-name font-medium" };
7559
+ const _hoisted_6$w = {
7560
7560
  key: 0,
7561
7561
  class: "propeller-cart-paymethods__method-price text-xs bg-surface-hover text-muted-foreground px-2 py-1 rounded-full"
7562
7562
  };
7563
- const _hoisted_7$v = {
7563
+ const _hoisted_7$w = {
7564
7564
  key: 1,
7565
7565
  class: "propeller-cart-paymethods__empty text-muted-foreground italic"
7566
7566
  };
7567
- const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
7567
+ const _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
7568
7568
  __name: "CartPaymethods",
7569
7569
  props: {
7570
7570
  cart: {},
@@ -7637,7 +7637,7 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
7637
7637
  return vue.openBlock(), vue.createElementBlock("div", {
7638
7638
  class: vue.normalizeClass(`propeller-cart-paymethods ${containerClass.value}`)
7639
7639
  }, [
7640
- payMethods.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$C, [
7640
+ payMethods.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$D, [
7641
7641
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(payMethods.value, (method, index2) => {
7642
7642
  return vue.openBlock(), vue.createElementBlock("div", {
7643
7643
  key: method.code,
@@ -7645,37 +7645,37 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
7645
7645
  "data-selected": selectedCode.value === method.code ? "true" : "false",
7646
7646
  class: vue.normalizeClass(`propeller-cart-paymethods__method cursor-pointer border border-border rounded-[var(--radius-container)] p-4 flex flex-col gap-2 transition-all ${selectedCode.value === method.code ? "border-secondary bg-secondary/5 shadow-sm" : "hover:border-secondary/30"}`)
7647
7647
  }, [
7648
- vue.createElementVNode("div", _hoisted_3$B, [
7649
- vue.createElementVNode("div", _hoisted_4$x, [
7650
- vue.createElementVNode("span", _hoisted_5$w, vue.toDisplayString(method.name || method.code), 1)
7648
+ vue.createElementVNode("div", _hoisted_3$C, [
7649
+ vue.createElementVNode("div", _hoisted_4$y, [
7650
+ vue.createElementVNode("span", _hoisted_5$x, vue.toDisplayString(method.name || method.code), 1)
7651
7651
  ]),
7652
- method.price > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$v, vue.toDisplayString(formatMethodPrice(method.price)), 1)) : vue.createCommentVNode("", true)
7652
+ method.price > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_6$w, vue.toDisplayString(formatMethodPrice(method.price)), 1)) : vue.createCommentVNode("", true)
7653
7653
  ])
7654
- ], 10, _hoisted_2$B);
7654
+ ], 10, _hoisted_2$C);
7655
7655
  }), 128))
7656
7656
  ])) : vue.createCommentVNode("", true),
7657
- payMethods.value.length === 0 ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_7$v, vue.toDisplayString(getLabel("noMethods", "No payment methods available.")), 1)) : vue.createCommentVNode("", true)
7657
+ payMethods.value.length === 0 ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_7$w, vue.toDisplayString(getLabel("noMethods", "No payment methods available.")), 1)) : vue.createCommentVNode("", true)
7658
7658
  ], 2);
7659
7659
  };
7660
7660
  }
7661
7661
  });
7662
- const _hoisted_1$B = { class: "propeller-cart-summary w-full bg-card space-y-3" };
7663
- const _hoisted_2$A = { class: "propeller-cart-summary__title text-xl font-bold mb-4" };
7664
- const _hoisted_3$A = {
7662
+ const _hoisted_1$C = { class: "propeller-cart-summary w-full bg-card space-y-3" };
7663
+ const _hoisted_2$B = { class: "propeller-cart-summary__title text-xl font-bold mb-4" };
7664
+ const _hoisted_3$B = {
7665
7665
  key: 0,
7666
7666
  class: "propeller-cart-summary__row flex justify-between text-muted-foreground",
7667
7667
  "data-row": "subtotal"
7668
7668
  };
7669
- const _hoisted_4$w = { class: "propeller-cart-summary__label" };
7670
- const _hoisted_5$v = { class: "propeller-cart-summary__value" };
7671
- const _hoisted_6$u = {
7669
+ const _hoisted_4$x = { class: "propeller-cart-summary__label" };
7670
+ const _hoisted_5$w = { class: "propeller-cart-summary__value" };
7671
+ const _hoisted_6$v = {
7672
7672
  key: 1,
7673
7673
  class: "propeller-cart-summary__row flex justify-between text-success",
7674
7674
  "data-row": "discount"
7675
7675
  };
7676
- const _hoisted_7$u = { class: "propeller-cart-summary__label" };
7677
- const _hoisted_8$r = { class: "propeller-cart-summary__value" };
7678
- const _hoisted_9$q = {
7676
+ const _hoisted_7$v = { class: "propeller-cart-summary__label" };
7677
+ const _hoisted_8$s = { class: "propeller-cart-summary__value" };
7678
+ const _hoisted_9$r = {
7679
7679
  key: 2,
7680
7680
  class: "propeller-cart-summary__row flex justify-between text-muted-foreground",
7681
7681
  "data-row": "shipping-costs"
@@ -7705,7 +7705,7 @@ const _hoisted_20$e = {
7705
7705
  const _hoisted_21$d = { class: "propeller-cart-summary__label" };
7706
7706
  const _hoisted_22$d = { class: "propeller-cart-summary__value" };
7707
7707
  const _hoisted_23$d = ["disabled"];
7708
- const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
7708
+ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
7709
7709
  __name: "CartSummary",
7710
7710
  props: {
7711
7711
  cart: {},
@@ -7854,17 +7854,17 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
7854
7854
  }
7855
7855
  }
7856
7856
  return (_ctx, _cache) => {
7857
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$B, [
7858
- vue.createElementVNode("h2", _hoisted_2$A, vue.toDisplayString(title.value), 1),
7859
- showSubtotal.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$A, [
7860
- vue.createElementVNode("span", _hoisted_4$w, vue.toDisplayString(getLabel("subtotal", "Subtotal:")), 1),
7861
- vue.createElementVNode("span", _hoisted_5$v, vue.toDisplayString(formatItemPrice(subtotal.value)), 1)
7857
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$C, [
7858
+ vue.createElementVNode("h2", _hoisted_2$B, vue.toDisplayString(title.value), 1),
7859
+ showSubtotal.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$B, [
7860
+ vue.createElementVNode("span", _hoisted_4$x, vue.toDisplayString(getLabel("subtotal", "Subtotal:")), 1),
7861
+ vue.createElementVNode("span", _hoisted_5$w, vue.toDisplayString(formatItemPrice(subtotal.value)), 1)
7862
7862
  ])) : vue.createCommentVNode("", true),
7863
- showDiscount.value && hasDiscount.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$u, [
7864
- vue.createElementVNode("span", _hoisted_7$u, vue.toDisplayString(getLabel("discount", "Discount:")), 1),
7865
- vue.createElementVNode("span", _hoisted_8$r, "-" + vue.toDisplayString(formatItemPrice(discountAmount.value)), 1)
7863
+ showDiscount.value && hasDiscount.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$v, [
7864
+ vue.createElementVNode("span", _hoisted_7$v, vue.toDisplayString(getLabel("discount", "Discount:")), 1),
7865
+ vue.createElementVNode("span", _hoisted_8$s, "-" + vue.toDisplayString(formatItemPrice(discountAmount.value)), 1)
7866
7866
  ])) : vue.createCommentVNode("", true),
7867
- showShippingCosts.value && hasShippingCosts.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$q, [
7867
+ showShippingCosts.value && hasShippingCosts.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$r, [
7868
7868
  vue.createElementVNode("span", _hoisted_10$p, vue.toDisplayString(getLabel("shippingCosts", "Shipping costs:")), 1),
7869
7869
  vue.createElementVNode("span", _hoisted_11$n, vue.toDisplayString(formatItemPrice(shippingCosts.value)), 1)
7870
7870
  ])) : vue.createCommentVNode("", true),
@@ -7921,13 +7921,13 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
7921
7921
  };
7922
7922
  }
7923
7923
  });
7924
- const _hoisted_1$A = ["data-expanded", "data-truncatable"];
7925
- const _hoisted_2$z = ["innerHTML"];
7926
- const _hoisted_3$z = {
7924
+ const _hoisted_1$B = ["data-expanded", "data-truncatable"];
7925
+ const _hoisted_2$A = ["innerHTML"];
7926
+ const _hoisted_3$A = {
7927
7927
  key: 1,
7928
7928
  class: "propeller-category-description__truncated text-muted-foreground"
7929
7929
  };
7930
- const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
7930
+ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
7931
7931
  __name: "CategoryDescription",
7932
7932
  props: {
7933
7933
  language: {},
@@ -7978,8 +7978,8 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
7978
7978
  key: 0,
7979
7979
  class: "propeller-category-description__content prose prose-slate max-w-none text-muted-foreground",
7980
7980
  innerHTML: html.value
7981
- }, null, 8, _hoisted_2$z)) : vue.createCommentVNode("", true),
7982
- shouldTruncate() && !expanded.value ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_3$z, vue.toDisplayString(getTruncated()), 1)) : vue.createCommentVNode("", true),
7981
+ }, null, 8, _hoisted_2$A)) : vue.createCommentVNode("", true),
7982
+ shouldTruncate() && !expanded.value ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_3$A, vue.toDisplayString(getTruncated()), 1)) : vue.createCommentVNode("", true),
7983
7983
  shouldTruncate() ? (vue.openBlock(), vue.createElementBlock("button", {
7984
7984
  key: 2,
7985
7985
  class: "propeller-category-description__toggle mt-2 text-sm font-medium text-primary hover:underline",
@@ -7992,12 +7992,12 @@ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
7992
7992
  vue.createTextVNode(" Read more ")
7993
7993
  ], 64)) : vue.createCommentVNode("", true)
7994
7994
  ])) : vue.createCommentVNode("", true)
7995
- ], 10, _hoisted_1$A)) : vue.createCommentVNode("", true);
7995
+ ], 10, _hoisted_1$B)) : vue.createCommentVNode("", true);
7996
7996
  };
7997
7997
  }
7998
7998
  });
7999
- const _hoisted_1$z = ["src", "alt"];
8000
- const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
7999
+ const _hoisted_1$A = ["src", "alt"];
8000
+ const _sfc_main$E = /* @__PURE__ */ vue.defineComponent({
8001
8001
  __name: "DefaultProductImage",
8002
8002
  props: {
8003
8003
  product: {},
@@ -8052,7 +8052,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
8052
8052
  alt: altText.value,
8053
8053
  class: vue.normalizeClass(className.value ?? "h-full w-full object-contain"),
8054
8054
  loading: "lazy"
8055
- }, null, 10, _hoisted_1$z)) : (vue.openBlock(), vue.createElementBlock("div", {
8055
+ }, null, 10, _hoisted_1$A)) : (vue.openBlock(), vue.createElementBlock("div", {
8056
8056
  key: 1,
8057
8057
  class: vue.normalizeClass(className.value ?? "propeller-default-image-placeholder flex items-center justify-center bg-surface-hover"),
8058
8058
  "aria-hidden": "true"
@@ -8074,7 +8074,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
8074
8074
  };
8075
8075
  }
8076
8076
  });
8077
- const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
8077
+ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
8078
8078
  __name: "DefaultProductBadges",
8079
8079
  props: {
8080
8080
  product: {},
@@ -8106,44 +8106,61 @@ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
8106
8106
  };
8107
8107
  }
8108
8108
  });
8109
- const _hoisted_1$y = ["data-layout"];
8110
- const _hoisted_2$y = ["href"];
8111
- const _hoisted_3$y = ["src", "alt"];
8112
- const _hoisted_4$v = {
8109
+ const _hoisted_1$z = ["data-layout"];
8110
+ const _hoisted_2$z = ["href"];
8111
+ const _hoisted_3$z = ["src", "alt"];
8112
+ const _hoisted_4$w = {
8113
8113
  key: 1,
8114
8114
  class: "propeller-cluster-card__image-placeholder flex h-full w-full items-center justify-center text-foreground-subtle"
8115
8115
  };
8116
- const _hoisted_5$u = { class: "propeller-cluster-card__badges pointer-events-none absolute left-2 top-2 flex flex-col gap-1" };
8117
- const _hoisted_6$t = ["aria-label", "data-favorite"];
8118
- const _hoisted_7$t = ["fill"];
8119
- const _hoisted_8$q = { class: "propeller-cluster-card__body flex flex-1 flex-row items-center gap-4 px-4 py-2 min-w-0" };
8120
- const _hoisted_9$p = { class: "flex flex-col gap-0.5 flex-1 min-w-0" };
8116
+ const _hoisted_5$v = { class: "propeller-cluster-card__badges pointer-events-none absolute left-2 top-2 flex flex-col gap-1" };
8117
+ const _hoisted_6$u = ["aria-label", "data-favorite"];
8118
+ const _hoisted_7$u = ["fill"];
8119
+ const _hoisted_8$r = { class: "propeller-cluster-card__body flex flex-1 flex-row items-center gap-4 px-4 py-2 min-w-0" };
8120
+ const _hoisted_9$q = { class: "flex flex-col gap-0.5 flex-1 min-w-0" };
8121
8121
  const _hoisted_10$o = { class: "propeller-cluster-card__sku font-mono text-xs text-foreground-subtle" };
8122
8122
  const _hoisted_11$m = ["href"];
8123
8123
  const _hoisted_12$m = { class: "flex flex-col gap-0.5" };
8124
8124
  const _hoisted_13$k = { class: "propeller-cluster-card__manufacturer text-xs text-muted-foreground" };
8125
8125
  const _hoisted_14$k = { class: "propeller-cluster-card__description line-clamp-2 text-xs text-muted-foreground" };
8126
- const _hoisted_15$j = { class: "propeller-cluster-card__footer w-full md:w-auto flex items-center gap-3 px-4 py-2 md:py-0 border-t md:border-t-0 border-border-subtle" };
8127
- const _hoisted_16$i = {
8126
+ 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" };
8127
+ const _hoisted_16$i = { class: "propeller-cluster-card__footer-meta flex items-center justify-between gap-3 md:contents" };
8128
+ const _hoisted_17$i = {
8128
8129
  key: 1,
8129
8130
  class: "propeller-cluster-card__price font-bold text-foreground text-sm whitespace-nowrap"
8130
8131
  };
8131
- const _hoisted_17$i = { class: "propeller-cluster-card__cta flex-shrink-0 ml-auto" };
8132
- const _hoisted_18$g = ["href"];
8133
- const _hoisted_19$f = { class: "propeller-cluster-card__body flex flex-1 flex-col gap-1.5 p-3 sm:gap-2 sm:p-4" };
8134
- const _hoisted_20$d = { class: "propeller-cluster-card__sku font-mono text-xs text-foreground-subtle" };
8135
- const _hoisted_21$c = ["href"];
8136
- const _hoisted_22$c = { class: "propeller-cluster-card__labels flex flex-col gap-0.5" };
8137
- const _hoisted_23$c = { class: "propeller-cluster-card__manufacturer text-xs text-muted-foreground" };
8138
- const _hoisted_24$c = { class: "propeller-cluster-card__description line-clamp-2 text-xs text-muted-foreground" };
8139
- const _hoisted_25$c = { class: "propeller-cluster-card__price mt-auto pt-1" };
8140
- const _hoisted_26$c = {
8132
+ const _hoisted_18$g = { class: "propeller-cluster-card__cta w-full md:w-auto md:flex-shrink-0 md:ml-auto" };
8133
+ const _hoisted_19$f = ["href"];
8134
+ const _hoisted_20$d = { class: "propeller-cluster-card__body flex flex-1 flex-col gap-1.5 p-3 sm:gap-2 sm:p-4" };
8135
+ const _hoisted_21$c = { class: "propeller-cluster-card__sku font-mono text-xs text-foreground-subtle" };
8136
+ const _hoisted_22$c = ["href"];
8137
+ const _hoisted_23$c = {
8138
+ key: 2,
8139
+ class: "hidden md:block"
8140
+ };
8141
+ const _hoisted_24$c = { class: "propeller-cluster-card__labels flex flex-col gap-0.5" };
8142
+ const _hoisted_25$c = { class: "propeller-cluster-card__manufacturer text-xs text-muted-foreground" };
8143
+ const _hoisted_26$c = { class: "propeller-cluster-card__description line-clamp-2 text-xs text-muted-foreground" };
8144
+ const _hoisted_27$c = {
8145
+ key: 6,
8146
+ class: "mt-auto hidden md:block"
8147
+ };
8148
+ const _hoisted_28$b = { class: "propeller-cluster-card__price pt-1" };
8149
+ const _hoisted_29$b = {
8141
8150
  key: 1,
8142
8151
  class: "font-bold text-foreground text-base sm:text-lg"
8143
8152
  };
8144
- const _hoisted_27$c = { class: "propeller-cluster-card__cta px-3 pb-3 sm:px-4 sm:pb-4" };
8145
- const _hoisted_28$b = ["href"];
8146
- const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
8153
+ const _hoisted_30$b = {
8154
+ key: 0,
8155
+ class: "propeller-cluster-card__footer-meta flex flex-wrap items-center justify-between gap-x-2 gap-y-1 px-3 pt-1 sm:px-4 md:hidden"
8156
+ };
8157
+ const _hoisted_31$b = {
8158
+ key: 1,
8159
+ class: "propeller-cluster-card__price font-bold text-foreground text-base min-w-0 text-right"
8160
+ };
8161
+ const _hoisted_32$a = { class: "propeller-cluster-card__cta px-3 pb-3 pt-2 sm:px-4 sm:pb-4" };
8162
+ const _hoisted_33$a = ["href"];
8163
+ const _sfc_main$C = /* @__PURE__ */ vue.defineComponent({
8147
8164
  __name: "ClusterCard",
8148
8165
  props: {
8149
8166
  cluster: {},
@@ -8193,9 +8210,9 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
8193
8210
  );
8194
8211
  const PriceImpl = vue.computed(() => resolved.value.priceComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$9);
8195
8212
  const StockImpl = vue.computed(() => resolved.value.stockComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3);
8196
- const ImageImpl = vue.computed(() => resolved.value.imageComponent ?? _sfc_main$D);
8197
- const BadgesImpl = vue.computed(() => resolved.value.badgesComponent ?? _sfc_main$C);
8198
- const FavoriteImpl = vue.computed(() => resolved.value.favoriteComponent ?? _sfc_main$P);
8213
+ const ImageImpl = vue.computed(() => resolved.value.imageComponent ?? _sfc_main$E);
8214
+ const BadgesImpl = vue.computed(() => resolved.value.badgesComponent ?? _sfc_main$D);
8215
+ const FavoriteImpl = vue.computed(() => resolved.value.favoriteComponent ?? _sfc_main$Q);
8199
8216
  const isFavorite = vue.ref(false);
8200
8217
  function isRow() {
8201
8218
  return props.columns === 1;
@@ -8325,8 +8342,8 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
8325
8342
  class: "propeller-cluster-card__image h-full w-full object-contain transition-transform duration-300 group-hover:scale-105",
8326
8343
  src: getClusterImageUrl(),
8327
8344
  alt: getClusterName()
8328
- }, null, 8, _hoisted_3$y)) : vue.createCommentVNode("", true),
8329
- !getClusterImageUrl() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$v, [..._cache[6] || (_cache[6] = [
8345
+ }, null, 8, _hoisted_3$z)) : vue.createCommentVNode("", true),
8346
+ !getClusterImageUrl() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$w, [..._cache[6] || (_cache[6] = [
8330
8347
  vue.createElementVNode("svg", {
8331
8348
  fill: "none",
8332
8349
  stroke: "currentColor",
@@ -8341,7 +8358,7 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
8341
8358
  })
8342
8359
  ], -1)
8343
8360
  ])])) : vue.createCommentVNode("", true)
8344
- ], 8, _hoisted_2$y),
8361
+ ], 8, _hoisted_2$z),
8345
8362
  props.badgesComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(BadgesImpl.value), {
8346
8363
  key: 0,
8347
8364
  cluster: __props.cluster,
@@ -8352,7 +8369,7 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
8352
8369
  imageLabels: computedImageLabels(),
8353
8370
  labels: __props.labels
8354
8371
  }, () => [
8355
- vue.createElementVNode("div", _hoisted_5$u, [
8372
+ vue.createElementVNode("div", _hoisted_5$v, [
8356
8373
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(computedImageLabels(), (label, index2) => {
8357
8374
  return vue.openBlock(), vue.createElementBlock("span", {
8358
8375
  key: index2,
@@ -8392,15 +8409,15 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
8392
8409
  strokeLinejoin: "round",
8393
8410
  d: "M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"
8394
8411
  }, null, -1)
8395
- ])], 8, _hoisted_7$t))
8396
- ], 10, _hoisted_6$t)
8412
+ ])], 8, _hoisted_7$u))
8413
+ ], 10, _hoisted_6$u)
8397
8414
  ]) : vue.createCommentVNode("", true)
8398
8415
  ], 2)
8399
8416
  ])
8400
8417
  ], 64)) : vue.createCommentVNode("", true),
8401
8418
  isRow() ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
8402
- vue.createElementVNode("div", _hoisted_8$q, [
8403
- vue.createElementVNode("div", _hoisted_9$p, [
8419
+ vue.createElementVNode("div", _hoisted_8$r, [
8420
+ vue.createElementVNode("div", _hoisted_9$q, [
8404
8421
  __props.showSku !== false && !!getClusterSku() ? vue.renderSlot(_ctx.$slots, "sku", {
8405
8422
  key: 0,
8406
8423
  cluster: __props.cluster,
@@ -8452,44 +8469,46 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
8452
8469
  ])
8453
8470
  ]),
8454
8471
  vue.createElementVNode("div", _hoisted_15$j, [
8455
- __props.showStock && !!__props.cluster.defaultProduct?.inventory ? vue.renderSlot(_ctx.$slots, "stock", {
8456
- key: 0,
8457
- cluster: __props.cluster,
8458
- inventory: __props.cluster.defaultProduct?.inventory,
8459
- showAvailability: false,
8460
- labels: __props.stockLabels
8461
- }, () => [
8462
- props.stockComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(StockImpl.value), {
8472
+ vue.createElementVNode("div", _hoisted_16$i, [
8473
+ __props.showStock && !!__props.cluster.defaultProduct?.inventory ? vue.renderSlot(_ctx.$slots, "stock", {
8463
8474
  key: 0,
8464
- inventory: __props.cluster.defaultProduct?.inventory,
8465
- "show-availability": false,
8466
- "show-stock": true,
8467
- labels: __props.stockLabels
8468
- }, null, 8, ["inventory", "labels"])) : (vue.openBlock(), vue.createBlock(ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3, {
8469
- key: 1,
8475
+ cluster: __props.cluster,
8470
8476
  inventory: __props.cluster.defaultProduct?.inventory,
8471
8477
  showAvailability: false,
8472
- showStock: true,
8473
8478
  labels: __props.stockLabels
8474
- }, null, 8, ["inventory", "labels"]))
8475
- ]) : vue.createCommentVNode("", true),
8476
- !!getClusterPrice() ? vue.renderSlot(_ctx.$slots, "price", {
8477
- key: 1,
8478
- cluster: __props.cluster,
8479
- price: __props.cluster.defaultProduct?.price,
8480
- includeTax: resolvedIncludeTax.value,
8481
- currency: __props.currency,
8482
- labels: __props.labels
8483
- }, () => [
8484
- props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
8485
- key: 0,
8479
+ }, () => [
8480
+ props.stockComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(StockImpl.value), {
8481
+ key: 0,
8482
+ inventory: __props.cluster.defaultProduct?.inventory,
8483
+ "show-availability": false,
8484
+ "show-stock": true,
8485
+ labels: __props.stockLabels
8486
+ }, null, 8, ["inventory", "labels"])) : (vue.openBlock(), vue.createBlock(ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3, {
8487
+ key: 1,
8488
+ inventory: __props.cluster.defaultProduct?.inventory,
8489
+ showAvailability: false,
8490
+ showStock: true,
8491
+ labels: __props.stockLabels
8492
+ }, null, 8, ["inventory", "labels"]))
8493
+ ]) : vue.createCommentVNode("", true),
8494
+ !!getClusterPrice() ? vue.renderSlot(_ctx.$slots, "price", {
8495
+ key: 1,
8496
+ cluster: __props.cluster,
8486
8497
  price: __props.cluster.defaultProduct?.price,
8487
- "include-tax": resolvedIncludeTax.value,
8498
+ includeTax: resolvedIncludeTax.value,
8488
8499
  currency: __props.currency,
8489
8500
  labels: __props.labels
8490
- }, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_16$i, vue.toDisplayString(getClusterPrice()), 1))
8491
- ]) : vue.createCommentVNode("", true),
8492
- vue.createElementVNode("div", _hoisted_17$i, [
8501
+ }, () => [
8502
+ props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
8503
+ key: 0,
8504
+ price: __props.cluster.defaultProduct?.price,
8505
+ "include-tax": resolvedIncludeTax.value,
8506
+ currency: __props.currency,
8507
+ labels: __props.labels
8508
+ }, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_17$i, vue.toDisplayString(getClusterPrice()), 1))
8509
+ ]) : vue.createCommentVNode("", true)
8510
+ ]),
8511
+ vue.createElementVNode("div", _hoisted_18$g, [
8493
8512
  vue.renderSlot(_ctx.$slots, "viewClusterLink", {
8494
8513
  cluster: __props.cluster,
8495
8514
  clusterUrl: getClusterUrl(),
@@ -8500,19 +8519,19 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
8500
8519
  class: "propeller-cluster-card__cta-link flex w-full items-center justify-center rounded-[var(--radius-control)] bg-primary px-4 py-2 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/80 focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2",
8501
8520
  href: getClusterUrl(),
8502
8521
  onClick: _cache[3] || (_cache[3] = async (e) => handleClusterClick(e))
8503
- }, vue.toDisplayString(getLabel("viewCluster", "View cluster")), 9, _hoisted_18$g)
8522
+ }, vue.toDisplayString(getLabel("viewCluster", "View cluster")), 9, _hoisted_19$f)
8504
8523
  ])
8505
8524
  ])
8506
8525
  ])
8507
8526
  ], 64)) : vue.createCommentVNode("", true),
8508
8527
  !isRow() ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
8509
- vue.createElementVNode("div", _hoisted_19$f, [
8528
+ vue.createElementVNode("div", _hoisted_20$d, [
8510
8529
  __props.showSku !== false && !!getClusterSku() ? vue.renderSlot(_ctx.$slots, "sku", {
8511
8530
  key: 0,
8512
8531
  cluster: __props.cluster,
8513
8532
  sku: getClusterSku()
8514
8533
  }, () => [
8515
- vue.createElementVNode("div", _hoisted_20$d, vue.toDisplayString(getClusterSku()), 1)
8534
+ vue.createElementVNode("div", _hoisted_21$c, vue.toDisplayString(getClusterSku()), 1)
8516
8535
  ]) : vue.createCommentVNode("", true),
8517
8536
  __props.showName !== false ? vue.renderSlot(_ctx.$slots, getClusterName(), {
8518
8537
  key: 1,
@@ -8525,35 +8544,36 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
8525
8544
  class: "propeller-cluster-card__title text-sm font-medium leading-tight text-foreground transition-colors hover:text-primary line-clamp-2",
8526
8545
  href: getClusterUrl(),
8527
8546
  onClick: _cache[4] || (_cache[4] = async (e) => handleClusterClick(e))
8528
- }, vue.toDisplayString(getClusterName()), 9, _hoisted_21$c)
8547
+ }, vue.toDisplayString(getClusterName()), 9, _hoisted_22$c)
8529
8548
  ]) : vue.createCommentVNode("", true),
8530
- __props.showStock && !!__props.cluster.defaultProduct?.inventory ? vue.renderSlot(_ctx.$slots, "stock", {
8531
- key: 2,
8532
- cluster: __props.cluster,
8533
- inventory: __props.cluster.defaultProduct?.inventory,
8534
- showAvailability: __props.showAvailability !== false,
8535
- labels: __props.stockLabels
8536
- }, () => [
8537
- props.stockComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(StockImpl.value), {
8538
- key: 0,
8539
- inventory: __props.cluster.defaultProduct?.inventory,
8540
- "show-availability": __props.showAvailability !== false,
8541
- "show-stock": true,
8542
- labels: __props.stockLabels
8543
- }, null, 8, ["inventory", "show-availability", "labels"])) : (vue.openBlock(), vue.createBlock(ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3, {
8544
- key: 1,
8549
+ __props.showStock && !!__props.cluster.defaultProduct?.inventory ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$c, [
8550
+ vue.renderSlot(_ctx.$slots, "stock", {
8551
+ cluster: __props.cluster,
8545
8552
  inventory: __props.cluster.defaultProduct?.inventory,
8546
8553
  showAvailability: __props.showAvailability !== false,
8547
- showStock: true,
8548
8554
  labels: __props.stockLabels
8549
- }, null, 8, ["inventory", "showAvailability", "labels"]))
8550
- ]) : vue.createCommentVNode("", true),
8555
+ }, () => [
8556
+ props.stockComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(StockImpl.value), {
8557
+ key: 0,
8558
+ inventory: __props.cluster.defaultProduct?.inventory,
8559
+ "show-availability": __props.showAvailability !== false,
8560
+ "show-stock": true,
8561
+ labels: __props.stockLabels
8562
+ }, null, 8, ["inventory", "show-availability", "labels"])) : (vue.openBlock(), vue.createBlock(ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3, {
8563
+ key: 1,
8564
+ inventory: __props.cluster.defaultProduct?.inventory,
8565
+ showAvailability: __props.showAvailability !== false,
8566
+ showStock: true,
8567
+ labels: __props.stockLabels
8568
+ }, null, 8, ["inventory", "showAvailability", "labels"]))
8569
+ ])
8570
+ ])) : vue.createCommentVNode("", true),
8551
8571
  !!__props.textLabels && __props.textLabels.length > 0 && computedTextLabels().length > 0 ? vue.renderSlot(_ctx.$slots, "textLabels", {
8552
8572
  key: 3,
8553
8573
  cluster: __props.cluster,
8554
8574
  values: computedTextLabels()
8555
8575
  }, () => [
8556
- vue.createElementVNode("div", _hoisted_22$c, [
8576
+ vue.createElementVNode("div", _hoisted_24$c, [
8557
8577
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(computedTextLabels(), (item, index2) => {
8558
8578
  return vue.openBlock(), vue.createElementBlock("div", {
8559
8579
  key: index2,
@@ -8567,35 +8587,75 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
8567
8587
  cluster: __props.cluster,
8568
8588
  manufacturer: getClusterManufacturer()
8569
8589
  }, () => [
8570
- vue.createElementVNode("div", _hoisted_23$c, vue.toDisplayString(getClusterManufacturer()), 1)
8590
+ vue.createElementVNode("div", _hoisted_25$c, vue.toDisplayString(getClusterManufacturer()), 1)
8571
8591
  ]) : vue.createCommentVNode("", true),
8572
8592
  __props.showShortDescription && !!getClusterShortDescription() ? vue.renderSlot(_ctx.$slots, "shortDescription", {
8573
8593
  key: 5,
8574
8594
  cluster: __props.cluster,
8575
8595
  text: getClusterShortDescription()
8576
8596
  }, () => [
8577
- vue.createElementVNode("p", _hoisted_24$c, vue.toDisplayString(getClusterShortDescription()), 1)
8597
+ vue.createElementVNode("p", _hoisted_26$c, vue.toDisplayString(getClusterShortDescription()), 1)
8598
+ ]) : vue.createCommentVNode("", true),
8599
+ !!getClusterPrice() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_27$c, [
8600
+ vue.renderSlot(_ctx.$slots, "price", {
8601
+ cluster: __props.cluster,
8602
+ price: __props.cluster.defaultProduct?.price,
8603
+ includeTax: resolvedIncludeTax.value,
8604
+ currency: __props.currency,
8605
+ labels: __props.labels
8606
+ }, () => [
8607
+ vue.createElementVNode("div", _hoisted_28$b, [
8608
+ props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
8609
+ key: 0,
8610
+ price: __props.cluster.defaultProduct?.price,
8611
+ "include-tax": resolvedIncludeTax.value,
8612
+ currency: __props.currency,
8613
+ labels: __props.labels
8614
+ }, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_29$b, vue.toDisplayString(getClusterPrice()), 1))
8615
+ ])
8616
+ ])
8617
+ ])) : vue.createCommentVNode("", true)
8618
+ ]),
8619
+ __props.showStock && !!__props.cluster.defaultProduct?.inventory || !!getClusterPrice() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_30$b, [
8620
+ __props.showStock && !!__props.cluster.defaultProduct?.inventory ? vue.renderSlot(_ctx.$slots, "stock", {
8621
+ key: 0,
8622
+ cluster: __props.cluster,
8623
+ inventory: __props.cluster.defaultProduct?.inventory,
8624
+ showAvailability: __props.showAvailability !== false,
8625
+ labels: __props.stockLabels
8626
+ }, () => [
8627
+ props.stockComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(StockImpl.value), {
8628
+ key: 0,
8629
+ inventory: __props.cluster.defaultProduct?.inventory,
8630
+ "show-availability": __props.showAvailability !== false,
8631
+ "show-stock": true,
8632
+ labels: __props.stockLabels
8633
+ }, null, 8, ["inventory", "show-availability", "labels"])) : (vue.openBlock(), vue.createBlock(ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3, {
8634
+ key: 1,
8635
+ inventory: __props.cluster.defaultProduct?.inventory,
8636
+ showAvailability: __props.showAvailability !== false,
8637
+ showStock: true,
8638
+ labels: __props.stockLabels
8639
+ }, null, 8, ["inventory", "showAvailability", "labels"]))
8578
8640
  ]) : vue.createCommentVNode("", true),
8579
8641
  !!getClusterPrice() ? vue.renderSlot(_ctx.$slots, "price", {
8580
- key: 6,
8642
+ key: 1,
8581
8643
  cluster: __props.cluster,
8582
8644
  price: __props.cluster.defaultProduct?.price,
8583
8645
  includeTax: resolvedIncludeTax.value,
8584
8646
  currency: __props.currency,
8585
8647
  labels: __props.labels
8586
8648
  }, () => [
8587
- vue.createElementVNode("div", _hoisted_25$c, [
8588
- props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
8589
- key: 0,
8590
- price: __props.cluster.defaultProduct?.price,
8591
- "include-tax": resolvedIncludeTax.value,
8592
- currency: __props.currency,
8593
- labels: __props.labels
8594
- }, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_26$c, vue.toDisplayString(getClusterPrice()), 1))
8595
- ])
8649
+ props.priceComponent ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(PriceImpl.value), {
8650
+ key: 0,
8651
+ price: __props.cluster.defaultProduct?.price,
8652
+ "include-tax": resolvedIncludeTax.value,
8653
+ currency: __props.currency,
8654
+ labels: __props.labels
8655
+ }, null, 8, ["price", "include-tax", "currency", "labels"])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_31$b, vue.toDisplayString(getClusterPrice()), 1))
8596
8656
  ]) : vue.createCommentVNode("", true)
8597
- ]),
8598
- vue.createElementVNode("div", _hoisted_27$c, [
8657
+ ])) : vue.createCommentVNode("", true),
8658
+ vue.createElementVNode("div", _hoisted_32$a, [
8599
8659
  vue.renderSlot(_ctx.$slots, "viewClusterLink", {
8600
8660
  cluster: __props.cluster,
8601
8661
  clusterUrl: getClusterUrl(),
@@ -8606,29 +8666,29 @@ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
8606
8666
  class: "propeller-cluster-card__cta-link flex w-full items-center justify-center rounded-[var(--radius-control)] bg-primary px-4 py-2 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/80 focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2",
8607
8667
  href: getClusterUrl(),
8608
8668
  onClick: _cache[5] || (_cache[5] = async (e) => handleClusterClick(e))
8609
- }, vue.toDisplayString(getLabel("viewCluster", "View cluster")), 9, _hoisted_28$b)
8669
+ }, vue.toDisplayString(getLabel("viewCluster", "View cluster")), 9, _hoisted_33$a)
8610
8670
  ])
8611
8671
  ])
8612
8672
  ], 64)) : vue.createCommentVNode("", true)
8613
- ], 10, _hoisted_1$y);
8673
+ ], 10, _hoisted_1$z);
8614
8674
  };
8615
8675
  }
8616
8676
  });
8617
- const _hoisted_1$x = {
8677
+ const _hoisted_1$y = {
8618
8678
  key: 0,
8619
8679
  class: "propeller-cluster-configurator__content flex flex-col gap-6"
8620
8680
  };
8621
- const _hoisted_2$x = ["data-display-type", "data-disabled"];
8622
- const _hoisted_3$x = { class: "propeller-cluster-configurator__label font-semibold text-sm text-muted-foreground mb-3" };
8623
- const _hoisted_4$u = ["value", "disabled", "onChange"];
8624
- const _hoisted_5$t = { value: "" };
8625
- const _hoisted_6$s = ["value"];
8626
- const _hoisted_7$s = {
8681
+ const _hoisted_2$y = ["data-display-type", "data-disabled"];
8682
+ const _hoisted_3$y = { class: "propeller-cluster-configurator__label font-semibold text-sm text-muted-foreground mb-3" };
8683
+ const _hoisted_4$v = ["value", "disabled", "onChange"];
8684
+ const _hoisted_5$u = { value: "" };
8685
+ const _hoisted_6$t = ["value"];
8686
+ const _hoisted_7$t = {
8627
8687
  key: 1,
8628
8688
  class: "propeller-cluster-configurator__options flex flex-wrap gap-2"
8629
8689
  };
8630
- const _hoisted_8$p = ["data-selected"];
8631
- const _hoisted_9$o = ["name", "value", "checked", "disabled", "onChange"];
8690
+ const _hoisted_8$q = ["data-selected"];
8691
+ const _hoisted_9$p = ["name", "value", "checked", "disabled", "onChange"];
8632
8692
  const _hoisted_10$n = {
8633
8693
  key: 2,
8634
8694
  class: "propeller-cluster-configurator__options flex flex-wrap gap-2"
@@ -8654,7 +8714,7 @@ const _hoisted_18$f = {
8654
8714
  class: "propeller-cluster-configurator__options flex flex-wrap gap-2"
8655
8715
  };
8656
8716
  const _hoisted_19$e = ["disabled", "onClick", "data-selected"];
8657
- const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
8717
+ const _sfc_main$B = /* @__PURE__ */ vue.defineComponent({
8658
8718
  __name: "ClusterConfigurator",
8659
8719
  props: {
8660
8720
  clusterId: {},
@@ -8932,7 +8992,7 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
8932
8992
  return vue.openBlock(), vue.createElementBlock("div", {
8933
8993
  class: vue.normalizeClass(`propeller-cluster-configurator ${__props.className || ""}`)
8934
8994
  }, [
8935
- !!__props.config?.settings?.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$x, [
8995
+ !!__props.config?.settings?.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$y, [
8936
8996
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getSettingsWithValues(), (setting, index2) => {
8937
8997
  return vue.openBlock(), vue.createElementBlock("div", {
8938
8998
  key: setting.id,
@@ -8940,7 +9000,7 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
8940
9000
  "data-display-type": setting.displayType,
8941
9001
  "data-disabled": setting.disabled ? "true" : "false"
8942
9002
  }, [
8943
- vue.createElementVNode("h4", _hoisted_3$x, vue.toDisplayString(setting.displayName || setting.name), 1),
9003
+ vue.createElementVNode("h4", _hoisted_3$y, vue.toDisplayString(setting.displayName || setting.name), 1),
8944
9004
  setting.displayType === "DROPDOWN" ? (vue.openBlock(), vue.createElementBlock("select", {
8945
9005
  key: 0,
8946
9006
  class: "propeller-cluster-configurator__select w-full border border-border rounded-[var(--radius-container)] px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-secondary disabled:bg-surface-hover disabled:text-foreground-subtle cursor-pointer",
@@ -8951,15 +9011,15 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
8951
9011
  e.target.value
8952
9012
  )
8953
9013
  }, [
8954
- vue.createElementVNode("option", _hoisted_5$t, vue.toDisplayString(getLabel("selectOption", "— Select —")), 1),
9014
+ vue.createElementVNode("option", _hoisted_5$u, vue.toDisplayString(getLabel("selectOption", "— Select —")), 1),
8955
9015
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(setting.availableValues, (val, index22) => {
8956
9016
  return vue.openBlock(), vue.createElementBlock("option", {
8957
9017
  key: val,
8958
9018
  value: val
8959
- }, vue.toDisplayString(val), 9, _hoisted_6$s);
9019
+ }, vue.toDisplayString(val), 9, _hoisted_6$t);
8960
9020
  }), 128))
8961
- ], 40, _hoisted_4$u)) : vue.createCommentVNode("", true),
8962
- setting.displayType === "RADIO" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$s, [
9021
+ ], 40, _hoisted_4$v)) : vue.createCommentVNode("", true),
9022
+ setting.displayType === "RADIO" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$t, [
8963
9023
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(setting.availableValues, (val, index22) => {
8964
9024
  return vue.openBlock(), vue.createElementBlock("label", {
8965
9025
  key: val,
@@ -8974,9 +9034,9 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
8974
9034
  checked: setting.selectedValue === val,
8975
9035
  disabled: setting.disabled,
8976
9036
  onChange: async (event) => handleAttributeSelect(setting.name, val)
8977
- }, null, 40, _hoisted_9$o),
9037
+ }, null, 40, _hoisted_9$p),
8978
9038
  vue.createTextVNode(vue.toDisplayString(val), 1)
8979
- ], 10, _hoisted_8$p);
9039
+ ], 10, _hoisted_8$q);
8980
9040
  }), 128))
8981
9041
  ])) : vue.createCommentVNode("", true),
8982
9042
  setting.displayType === "COLOR" && setting.attributeType === "COLOR" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$n, [
@@ -9050,27 +9110,27 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
9050
9110
  }, vue.toDisplayString(val), 11, _hoisted_19$e);
9051
9111
  }), 128))
9052
9112
  ])) : vue.createCommentVNode("", true)
9053
- ], 8, _hoisted_2$x);
9113
+ ], 8, _hoisted_2$y);
9054
9114
  }), 128))
9055
9115
  ])) : vue.createCommentVNode("", true)
9056
9116
  ], 2);
9057
9117
  };
9058
9118
  }
9059
9119
  });
9060
- const _hoisted_1$w = ["data-loading"];
9061
- const _hoisted_2$w = {
9120
+ const _hoisted_1$x = ["data-loading"];
9121
+ const _hoisted_2$x = {
9062
9122
  key: 0,
9063
9123
  class: "propeller-cluster-info__skeleton animate-pulse space-y-3"
9064
9124
  };
9065
- const _hoisted_3$w = {
9125
+ const _hoisted_3$x = {
9066
9126
  key: 0,
9067
9127
  class: "text-sm font-mono text-muted-foreground mb-2"
9068
9128
  };
9069
- const _hoisted_4$t = {
9129
+ const _hoisted_4$u = {
9070
9130
  key: 1,
9071
9131
  class: "text-4xl font-bold tracking-tight text-foreground mb-4"
9072
9132
  };
9073
- const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
9133
+ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
9074
9134
  __name: "ClusterInfo",
9075
9135
  props: {
9076
9136
  user: {},
@@ -9156,19 +9216,19 @@ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
9156
9216
  class: vue.normalizeClass(`propeller-cluster-info ${__props.className || ""}`),
9157
9217
  "data-loading": vue.unref(loading) ? "true" : "false"
9158
9218
  }, [
9159
- vue.unref(loading) && !vue.unref(cluster) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$w, [..._cache[0] || (_cache[0] = [
9219
+ vue.unref(loading) && !vue.unref(cluster) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$x, [..._cache[0] || (_cache[0] = [
9160
9220
  vue.createElementVNode("div", { class: "propeller-cluster-info__skeleton-line h-4 bg-slate-100 rounded w-1/4" }, null, -1),
9161
9221
  vue.createElementVNode("div", { class: "propeller-cluster-info__skeleton-line h-8 bg-slate-100 rounded w-3/4" }, null, -1)
9162
9222
  ])])) : vue.createCommentVNode("", true),
9163
9223
  !vue.unref(loading) || !!vue.unref(cluster) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
9164
- __props.showSku !== false && !!getClusterSku() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$w, "SKU: " + vue.toDisplayString(getClusterSku()), 1)) : vue.createCommentVNode("", true),
9165
- __props.showTitle !== false && !!getClusterName() ? (vue.openBlock(), vue.createElementBlock("h1", _hoisted_4$t, vue.toDisplayString(getClusterName()), 1)) : vue.createCommentVNode("", true)
9224
+ __props.showSku !== false && !!getClusterSku() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$x, "SKU: " + vue.toDisplayString(getClusterSku()), 1)) : vue.createCommentVNode("", true),
9225
+ __props.showTitle !== false && !!getClusterName() ? (vue.openBlock(), vue.createElementBlock("h1", _hoisted_4$u, vue.toDisplayString(getClusterName()), 1)) : vue.createCommentVNode("", true)
9166
9226
  ], 64)) : vue.createCommentVNode("", true)
9167
- ], 10, _hoisted_1$w);
9227
+ ], 10, _hoisted_1$x);
9168
9228
  };
9169
9229
  }
9170
9230
  });
9171
- const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
9231
+ const _sfc_main$z = /* @__PURE__ */ vue.defineComponent({
9172
9232
  __name: "ClusterJsonLd",
9173
9233
  props: {
9174
9234
  cluster: {},
@@ -9189,21 +9249,21 @@ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
9189
9249
  };
9190
9250
  }
9191
9251
  });
9192
- const _hoisted_1$v = {
9252
+ const _hoisted_1$w = {
9193
9253
  key: 0,
9194
9254
  class: "propeller-cluster-options__content flex flex-col gap-6"
9195
9255
  };
9196
- const _hoisted_2$v = ["data-required", "data-error"];
9197
- const _hoisted_3$v = { class: "propeller-cluster-options__label-row flex items-center gap-2 mb-2" };
9198
- const _hoisted_4$s = { class: "propeller-cluster-options__label font-semibold text-sm text-muted-foreground" };
9199
- const _hoisted_5$s = {
9256
+ const _hoisted_2$w = ["data-required", "data-error"];
9257
+ const _hoisted_3$w = { class: "propeller-cluster-options__label-row flex items-center gap-2 mb-2" };
9258
+ const _hoisted_4$t = { class: "propeller-cluster-options__label font-semibold text-sm text-muted-foreground" };
9259
+ const _hoisted_5$t = {
9200
9260
  key: 0,
9201
9261
  class: "propeller-cluster-options__required-badge inline-flex items-center rounded-full bg-destructive/10 px-2 py-0.5 text-xs font-medium text-destructive ring-1 ring-inset ring-destructive/10"
9202
9262
  };
9203
- const _hoisted_6$r = ["value", "onChange"];
9204
- const _hoisted_7$r = { value: "" };
9205
- const _hoisted_8$o = ["value"];
9206
- const _hoisted_9$n = {
9263
+ const _hoisted_6$s = ["value", "onChange"];
9264
+ const _hoisted_7$s = { value: "" };
9265
+ const _hoisted_8$p = ["value"];
9266
+ const _hoisted_9$o = {
9207
9267
  key: 0,
9208
9268
  class: "propeller-cluster-options__error mt-1 text-xs text-destructive"
9209
9269
  };
@@ -9219,7 +9279,7 @@ const _hoisted_12$k = {
9219
9279
  const _hoisted_13$i = { class: "min-w-0 flex-1" };
9220
9280
  const _hoisted_14$i = { class: "propeller-cluster-options__preview-name truncate text-sm font-medium text-foreground" };
9221
9281
  const _hoisted_15$h = { class: "propeller-cluster-options__preview-price text-sm font-semibold text-secondary" };
9222
- const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
9282
+ const _sfc_main$y = /* @__PURE__ */ vue.defineComponent({
9223
9283
  __name: "ClusterOptions",
9224
9284
  props: {
9225
9285
  clusterId: {},
@@ -9316,7 +9376,7 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
9316
9376
  return vue.openBlock(), vue.createElementBlock("div", {
9317
9377
  class: vue.normalizeClass(`propeller-cluster-options ${__props.className || ""}`)
9318
9378
  }, [
9319
- getOptionsForRender().length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$v, [
9379
+ getOptionsForRender().length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$w, [
9320
9380
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getOptionsForRender(), (option, index2) => {
9321
9381
  return vue.openBlock(), vue.createElementBlock("div", {
9322
9382
  key: option.id,
@@ -9324,16 +9384,16 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
9324
9384
  "data-required": option.isRequired ? "true" : "false",
9325
9385
  "data-error": option.hasError ? "true" : "false"
9326
9386
  }, [
9327
- vue.createElementVNode("div", _hoisted_3$v, [
9328
- vue.createElementVNode("h4", _hoisted_4$s, vue.toDisplayString(option.name), 1),
9329
- option.isRequired ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$s, vue.toDisplayString(getLabel("required", "Required")), 1)) : vue.createCommentVNode("", true)
9387
+ vue.createElementVNode("div", _hoisted_3$w, [
9388
+ vue.createElementVNode("h4", _hoisted_4$t, vue.toDisplayString(option.name), 1),
9389
+ option.isRequired ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$t, vue.toDisplayString(getLabel("required", "Required")), 1)) : vue.createCommentVNode("", true)
9330
9390
  ]),
9331
9391
  vue.createElementVNode("select", {
9332
9392
  value: option.selectedProductId,
9333
9393
  onChange: async (e) => handleOptionChange(option.idStr, e.target.value),
9334
9394
  class: vue.normalizeClass(`propeller-cluster-options__select w-full rounded-[var(--radius-container)] border px-3 py-2 text-sm focus:outline-none focus:ring-2 cursor-pointer ${option.hasError ? "border-destructive focus:ring-destructive" : option.isRequired ? "border-input focus:ring-secondary" : "border-border focus:ring-secondary"}`)
9335
9395
  }, [
9336
- vue.createElementVNode("option", _hoisted_7$r, [
9396
+ vue.createElementVNode("option", _hoisted_7$s, [
9337
9397
  option.isRequired ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
9338
9398
  vue.createTextVNode(vue.toDisplayString(getLabel("selectRequired", "— Select an option —")), 1)
9339
9399
  ], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
@@ -9344,10 +9404,10 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
9344
9404
  return vue.openBlock(), vue.createElementBlock("option", {
9345
9405
  key: product.productId,
9346
9406
  value: product.productIdStr
9347
- }, vue.toDisplayString(product.label), 9, _hoisted_8$o);
9407
+ }, vue.toDisplayString(product.label), 9, _hoisted_8$p);
9348
9408
  }), 128))
9349
- ], 42, _hoisted_6$r),
9350
- option.hasError ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_9$n, vue.toDisplayString(getLabel("requiredError", "This option is required")), 1)) : vue.createCommentVNode("", true),
9409
+ ], 42, _hoisted_6$s),
9410
+ option.hasError ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_9$o, vue.toDisplayString(getLabel("requiredError", "This option is required")), 1)) : vue.createCommentVNode("", true),
9351
9411
  option.hasSelection ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$m, [
9352
9412
  !!option.previewImageUrl ? (vue.openBlock(), vue.createElementBlock("img", {
9353
9413
  key: 0,
@@ -9375,20 +9435,20 @@ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
9375
9435
  vue.createElementVNode("p", _hoisted_15$h, vue.toDisplayString(option.previewPrice), 1)
9376
9436
  ])
9377
9437
  ])) : vue.createCommentVNode("", true)
9378
- ], 8, _hoisted_2$v);
9438
+ ], 8, _hoisted_2$w);
9379
9439
  }), 128))
9380
9440
  ])) : vue.createCommentVNode("", true)
9381
9441
  ], 2);
9382
9442
  };
9383
9443
  }
9384
9444
  });
9385
- const _hoisted_1$u = ["data-open"];
9386
- const _hoisted_2$u = ["aria-label", "aria-expanded"];
9387
- const _hoisted_3$u = { class: "propeller-company-switcher__label truncate max-w-[160px]" };
9388
- const _hoisted_4$r = ["aria-label"];
9389
- const _hoisted_5$r = ["aria-selected", "onClick"];
9390
- const _hoisted_6$q = { class: "propeller-company-switcher__option-name flex-1 truncate" };
9391
- const _hoisted_7$q = {
9445
+ const _hoisted_1$v = ["data-open"];
9446
+ const _hoisted_2$v = ["aria-label", "aria-expanded"];
9447
+ const _hoisted_3$v = { class: "propeller-company-switcher__label truncate max-w-[160px]" };
9448
+ const _hoisted_4$s = ["aria-label"];
9449
+ const _hoisted_5$s = ["aria-selected", "onClick"];
9450
+ const _hoisted_6$r = { class: "propeller-company-switcher__option-name flex-1 truncate" };
9451
+ const _hoisted_7$r = {
9392
9452
  key: 0,
9393
9453
  viewBox: "0 0 16 16",
9394
9454
  fill: "none",
@@ -9399,7 +9459,7 @@ const _hoisted_7$q = {
9399
9459
  "aria-hidden": "true",
9400
9460
  class: "propeller-company-switcher__option-check flex-shrink-0 w-4 h-4 text-primary"
9401
9461
  };
9402
- const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
9462
+ const _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
9403
9463
  __name: "CompanySwitcher",
9404
9464
  props: {
9405
9465
  user: {},
@@ -9493,7 +9553,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
9493
9553
  "aria-hidden": "true",
9494
9554
  class: vue.normalizeClass(`propeller-company-switcher__icon icon-${getIcon()} flex-shrink-0`)
9495
9555
  }, null, 2),
9496
- vue.createElementVNode("span", _hoisted_3$u, vue.toDisplayString(getActiveCompanyName()), 1),
9556
+ vue.createElementVNode("span", _hoisted_3$v, vue.toDisplayString(getActiveCompanyName()), 1),
9497
9557
  vue.createElementVNode("span", {
9498
9558
  "aria-hidden": "true",
9499
9559
  class: vue.normalizeClass(`propeller-company-switcher__chevron flex-shrink-0 transition-transform duration-200 ${isOpen.value ? "rotate-180" : "rotate-0"}`)
@@ -9511,7 +9571,7 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
9511
9571
  vue.createElementVNode("path", { d: "M2 4l4 4 4-4" })
9512
9572
  ], -1)
9513
9573
  ])], 2)
9514
- ], 8, _hoisted_2$u),
9574
+ ], 8, _hoisted_2$v),
9515
9575
  isOpen.value ? (vue.openBlock(), vue.createElementBlock("ul", {
9516
9576
  key: 0,
9517
9577
  role: "listbox",
@@ -9526,32 +9586,32 @@ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
9526
9586
  onClick: async (event) => selectCompany(company),
9527
9587
  class: vue.normalizeClass(`propeller-company-switcher__option flex items-center gap-3 px-4 py-2.5 text-sm cursor-pointer transition-colors hover:bg-accent hover:text-accent-foreground ${isActive(company) ? "font-semibold text-primary" : "font-normal text-foreground"}`)
9528
9588
  }, [
9529
- vue.createElementVNode("span", _hoisted_6$q, vue.toDisplayString(company.name), 1),
9530
- isActive(company) ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_7$q, [..._cache[2] || (_cache[2] = [
9589
+ vue.createElementVNode("span", _hoisted_6$r, vue.toDisplayString(company.name), 1),
9590
+ isActive(company) ? (vue.openBlock(), vue.createElementBlock("svg", _hoisted_7$r, [..._cache[2] || (_cache[2] = [
9531
9591
  vue.createElementVNode("path", { d: "M2.5 8l4 4 7-7" }, null, -1)
9532
9592
  ])])) : vue.createCommentVNode("", true)
9533
- ], 10, _hoisted_5$r);
9593
+ ], 10, _hoisted_5$s);
9534
9594
  }), 128))
9535
- ], 8, _hoisted_4$r)) : vue.createCommentVNode("", true)
9536
- ], 8, _hoisted_1$u);
9595
+ ], 8, _hoisted_4$s)) : vue.createCommentVNode("", true)
9596
+ ], 8, _hoisted_1$v);
9537
9597
  };
9538
9598
  }
9539
9599
  });
9540
- const _hoisted_1$t = { class: "propeller-delivery-date__grid grid grid-cols-1 sm:grid-cols-2 md:grid-cols-4 gap-3" };
9541
- const _hoisted_2$t = ["onClick", "data-selected"];
9542
- const _hoisted_3$t = { class: "propeller-delivery-date__option-label font-semibold" };
9543
- const _hoisted_4$q = ["data-selected"];
9544
- const _hoisted_5$q = {
9600
+ const _hoisted_1$u = { class: "propeller-delivery-date__grid grid grid-cols-1 sm:grid-cols-2 md:grid-cols-4 gap-3" };
9601
+ const _hoisted_2$u = ["onClick", "data-selected"];
9602
+ const _hoisted_3$u = { class: "propeller-delivery-date__option-label font-semibold" };
9603
+ const _hoisted_4$r = ["data-selected"];
9604
+ const _hoisted_5$r = {
9545
9605
  key: 0,
9546
9606
  class: "propeller-delivery-date__option-label font-semibold"
9547
9607
  };
9548
- const _hoisted_6$p = {
9608
+ const _hoisted_6$q = {
9549
9609
  key: 1,
9550
9610
  class: "propeller-delivery-date__option-label font-semibold"
9551
9611
  };
9552
- const _hoisted_7$p = { class: "propeller-delivery-date__modal-content bg-card rounded-xl shadow-xl p-6 w-full max-w-sm mx-4" };
9553
- const _hoisted_8$n = { class: "propeller-delivery-date__modal-header flex justify-between items-center mb-4" };
9554
- const _hoisted_9$m = { class: "propeller-delivery-date__modal-title text-lg font-semibold" };
9612
+ 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" };
9613
+ const _hoisted_8$o = { class: "propeller-delivery-date__modal-header flex justify-between items-center mb-4" };
9614
+ const _hoisted_9$n = { class: "propeller-delivery-date__modal-title text-lg font-semibold" };
9555
9615
  const _hoisted_10$l = ["min", "value"];
9556
9616
  const _hoisted_11$j = {
9557
9617
  key: 0,
@@ -9559,7 +9619,7 @@ const _hoisted_11$j = {
9559
9619
  role: "alert"
9560
9620
  };
9561
9621
  const _hoisted_12$j = { class: "propeller-delivery-date__modal-actions flex justify-end gap-3 mt-4" };
9562
- const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
9622
+ const _sfc_main$w = /* @__PURE__ */ vue.defineComponent({
9563
9623
  __name: "DeliveryDate",
9564
9624
  props: {
9565
9625
  cart: {},
@@ -9724,7 +9784,7 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
9724
9784
  return vue.openBlock(), vue.createElementBlock("div", {
9725
9785
  class: vue.normalizeClass(`propeller-delivery-date ${containerClass.value}`)
9726
9786
  }, [
9727
- vue.createElementVNode("div", _hoisted_1$t, [
9787
+ vue.createElementVNode("div", _hoisted_1$u, [
9728
9788
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(upcomingDates.value, (dateStr, index2) => {
9729
9789
  return vue.openBlock(), vue.createElementBlock("div", {
9730
9790
  key: index2,
@@ -9732,8 +9792,8 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
9732
9792
  "data-selected": selectedDayKey.value !== "" && upcomingDayKeys.value[index2] === selectedDayKey.value ? "true" : "false",
9733
9793
  class: vue.normalizeClass(`propeller-delivery-date__option cursor-pointer border border-border rounded-[var(--radius-container)] p-3 text-center transition-all ${selectedDayKey.value !== "" && upcomingDayKeys.value[index2] === selectedDayKey.value ? "border-secondary bg-secondary/5 shadow-sm" : "hover:border-secondary/30"}`)
9734
9794
  }, [
9735
- vue.createElementVNode("div", _hoisted_3$t, vue.toDisplayString(formatDisplay(dateStr)), 1)
9736
- ], 10, _hoisted_2$t);
9795
+ vue.createElementVNode("div", _hoisted_3$u, vue.toDisplayString(formatDisplay(dateStr)), 1)
9796
+ ], 10, _hoisted_2$u);
9737
9797
  }), 128)),
9738
9798
  showDatePicker.value ? (vue.openBlock(), vue.createElementBlock("div", {
9739
9799
  key: 0,
@@ -9742,18 +9802,18 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
9742
9802
  "data-custom": "true",
9743
9803
  class: vue.normalizeClass(`propeller-delivery-date__option propeller-delivery-date__option--custom cursor-pointer border border-border rounded-[var(--radius-container)] p-3 text-center transition-all ${isCustomDateSelected.value ? "border-secondary bg-secondary/5 shadow-sm" : "hover:border-secondary/30"}`)
9744
9804
  }, [
9745
- isCustomDateSelected.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$q, vue.toDisplayString(formatDisplay(selectedDate.value)), 1)) : vue.createCommentVNode("", true),
9746
- !isCustomDateSelected.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$p, vue.toDisplayString(getLabel("pickDate", "Other date...")), 1)) : vue.createCommentVNode("", true)
9747
- ], 10, _hoisted_4$q)) : vue.createCommentVNode("", true)
9805
+ isCustomDateSelected.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$r, vue.toDisplayString(formatDisplay(selectedDate.value)), 1)) : vue.createCommentVNode("", true),
9806
+ !isCustomDateSelected.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$q, vue.toDisplayString(getLabel("pickDate", "Other date...")), 1)) : vue.createCommentVNode("", true)
9807
+ ], 10, _hoisted_4$r)) : vue.createCommentVNode("", true)
9748
9808
  ]),
9749
9809
  modalOpen.value ? (vue.openBlock(), vue.createElementBlock("div", {
9750
9810
  key: 0,
9751
9811
  class: "propeller-delivery-date__modal fixed inset-0 z-50 flex items-center justify-center bg-black/50",
9752
9812
  onClick: _cache[4] || (_cache[4] = async (event) => handleBackdropClick(event))
9753
9813
  }, [
9754
- vue.createElementVNode("div", _hoisted_7$p, [
9755
- vue.createElementVNode("div", _hoisted_8$n, [
9756
- vue.createElementVNode("h3", _hoisted_9$m, vue.toDisplayString(getLabel("modalTitle", "Select a delivery date")), 1),
9814
+ vue.createElementVNode("div", _hoisted_7$q, [
9815
+ vue.createElementVNode("div", _hoisted_8$o, [
9816
+ vue.createElementVNode("h3", _hoisted_9$n, vue.toDisplayString(getLabel("modalTitle", "Select a delivery date")), 1),
9757
9817
  vue.createElementVNode("button", {
9758
9818
  type: "button",
9759
9819
  class: "propeller-delivery-date__modal-close text-foreground-subtle hover:text-muted-foreground transition-colors",
@@ -9795,24 +9855,24 @@ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
9795
9855
  };
9796
9856
  }
9797
9857
  });
9798
- const _hoisted_1$s = ["data-type"];
9799
- const _hoisted_2$s = { class: "propeller-favorite-list-item__media relative w-16 h-16 flex-shrink-0 overflow-hidden rounded-[var(--radius-control)] bg-surface-hover p-1" };
9800
- const _hoisted_3$s = ["href"];
9801
- const _hoisted_4$p = ["src", "alt"];
9802
- const _hoisted_5$p = {
9858
+ const _hoisted_1$t = ["data-type"];
9859
+ const _hoisted_2$t = { class: "propeller-favorite-list-item__media relative w-16 h-16 flex-shrink-0 overflow-hidden rounded-[var(--radius-control)] bg-surface-hover p-1" };
9860
+ const _hoisted_3$t = ["href"];
9861
+ const _hoisted_4$q = ["src", "alt"];
9862
+ const _hoisted_5$q = {
9803
9863
  key: 1,
9804
9864
  class: "propeller-favorite-list-item__image-placeholder flex h-full w-full items-center justify-center text-foreground-subtle"
9805
9865
  };
9806
- const _hoisted_6$o = {
9866
+ const _hoisted_6$p = {
9807
9867
  key: 1,
9808
9868
  class: "block h-full w-full"
9809
9869
  };
9810
- const _hoisted_7$o = ["src", "alt"];
9811
- const _hoisted_8$m = {
9870
+ const _hoisted_7$p = ["src", "alt"];
9871
+ const _hoisted_8$n = {
9812
9872
  key: 1,
9813
9873
  class: "propeller-favorite-list-item__image-placeholder flex h-full w-full items-center justify-center text-foreground-subtle"
9814
9874
  };
9815
- const _hoisted_9$l = { class: "propeller-favorite-list-item__body flex flex-col gap-0.5 min-w-0 flex-1" };
9875
+ const _hoisted_9$m = { class: "propeller-favorite-list-item__body flex flex-col gap-0.5 min-w-0 flex-1" };
9816
9876
  const _hoisted_10$k = { class: "propeller-favorite-list-item__sku font-mono text-xs text-foreground-subtle" };
9817
9877
  const _hoisted_11$i = ["href"];
9818
9878
  const _hoisted_12$i = {
@@ -9845,7 +9905,7 @@ const _hoisted_17$g = {
9845
9905
  const _hoisted_18$e = { class: "propeller-favorite-list-item__price text-base font-bold text-foreground whitespace-nowrap flex-shrink-0" };
9846
9906
  const _hoisted_19$d = ["href"];
9847
9907
  const _hoisted_20$c = ["title"];
9848
- const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
9908
+ const _sfc_main$v = /* @__PURE__ */ vue.defineComponent({
9849
9909
  __name: "FavoriteListItem",
9850
9910
  props: {
9851
9911
  item: {},
@@ -9953,7 +10013,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
9953
10013
  "data-type": isProduct() ? "product" : "cluster",
9954
10014
  class: vue.normalizeClass(`propeller-favorite-list-item flex flex-row items-center gap-4 rounded-[var(--radius-container)] border border-border bg-card p-4 transition-colors hover:border-secondary/20 hover:shadow-sm cursor-pointer ${__props.className || ""}`)
9955
10015
  }, [
9956
- vue.createElementVNode("div", _hoisted_2$s, [
10016
+ vue.createElementVNode("div", _hoisted_2$t, [
9957
10017
  vue.renderSlot(_ctx.$slots, getName(), {
9958
10018
  item: __props.item,
9959
10019
  imageUrl: getImageUrl(),
@@ -9972,8 +10032,8 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
9972
10032
  class: "propeller-favorite-list-item__image h-full w-full object-contain",
9973
10033
  src: getImageUrl(),
9974
10034
  alt: getName()
9975
- }, null, 8, _hoisted_4$p)) : vue.createCommentVNode("", true),
9976
- !getImageUrl() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$p, [..._cache[6] || (_cache[6] = [
10035
+ }, null, 8, _hoisted_4$q)) : vue.createCommentVNode("", true),
10036
+ !getImageUrl() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$q, [..._cache[6] || (_cache[6] = [
9977
10037
  vue.createElementVNode("svg", {
9978
10038
  fill: "none",
9979
10039
  stroke: "currentColor",
@@ -9988,15 +10048,15 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
9988
10048
  })
9989
10049
  ], -1)
9990
10050
  ])])) : vue.createCommentVNode("", true)
9991
- ], 8, _hoisted_3$s)) : vue.createCommentVNode("", true),
9992
- __props.titleLinkable === false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$o, [
10051
+ ], 8, _hoisted_3$t)) : vue.createCommentVNode("", true),
10052
+ __props.titleLinkable === false ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$p, [
9993
10053
  !!getImageUrl() ? (vue.openBlock(), vue.createElementBlock("img", {
9994
10054
  key: 0,
9995
10055
  class: "propeller-favorite-list-item__image h-full w-full object-contain",
9996
10056
  src: getImageUrl(),
9997
10057
  alt: getName()
9998
- }, null, 8, _hoisted_7$o)) : vue.createCommentVNode("", true),
9999
- !getImageUrl() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$m, [..._cache[7] || (_cache[7] = [
10058
+ }, null, 8, _hoisted_7$p)) : vue.createCommentVNode("", true),
10059
+ !getImageUrl() ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$n, [..._cache[7] || (_cache[7] = [
10000
10060
  vue.createElementVNode("svg", {
10001
10061
  fill: "none",
10002
10062
  stroke: "currentColor",
@@ -10014,7 +10074,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
10014
10074
  ])) : vue.createCommentVNode("", true)
10015
10075
  ])
10016
10076
  ]),
10017
- vue.createElementVNode("div", _hoisted_9$l, [
10077
+ vue.createElementVNode("div", _hoisted_9$m, [
10018
10078
  __props.showSku !== false && !!getSku() ? vue.renderSlot(_ctx.$slots, "sku", {
10019
10079
  key: 0,
10020
10080
  item: __props.item,
@@ -10080,7 +10140,7 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
10080
10140
  handleItemClick,
10081
10141
  labels: __props.labels
10082
10142
  }, () => [
10083
- __props.allowAddToCart !== false && isProduct() && !!__props.graphqlClient ? (vue.openBlock(), vue.createBlock(_sfc_main$Q, {
10143
+ __props.allowAddToCart !== false && isProduct() && !!__props.graphqlClient ? (vue.openBlock(), vue.createBlock(_sfc_main$R, {
10084
10144
  key: 0,
10085
10145
  graphqlClient: __props.graphqlClient,
10086
10146
  user: __props.user || null,
@@ -10130,30 +10190,30 @@ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
10130
10190
  ])], 8, _hoisted_20$c)) : vue.createCommentVNode("", true)
10131
10191
  ])
10132
10192
  ])
10133
- ], 10, _hoisted_1$s);
10193
+ ], 10, _hoisted_1$t);
10134
10194
  };
10135
10195
  }
10136
10196
  });
10137
- const _hoisted_1$r = ["data-variant"];
10138
- const _hoisted_2$r = {
10197
+ const _hoisted_1$s = ["data-variant"];
10198
+ const _hoisted_2$s = {
10139
10199
  key: 0,
10140
10200
  class: "propeller-grid-pagination__compact flex justify-center items-center gap-2"
10141
10201
  };
10142
- const _hoisted_3$r = ["disabled"];
10143
- const _hoisted_4$o = { class: "propeller-grid-pagination__info px-2 text-sm font-medium text-muted-foreground" };
10144
- const _hoisted_5$o = ["disabled"];
10145
- const _hoisted_6$n = {
10202
+ const _hoisted_3$s = ["disabled"];
10203
+ const _hoisted_4$p = { class: "propeller-grid-pagination__info px-2 text-sm font-medium text-muted-foreground" };
10204
+ const _hoisted_5$p = ["disabled"];
10205
+ const _hoisted_6$o = {
10146
10206
  key: 1,
10147
10207
  class: "propeller-grid-pagination__full flex justify-center items-center gap-1 flex-wrap"
10148
10208
  };
10149
- const _hoisted_7$n = ["disabled"];
10150
- const _hoisted_8$l = {
10209
+ const _hoisted_7$o = ["disabled"];
10210
+ const _hoisted_8$m = {
10151
10211
  key: 0,
10152
10212
  class: "propeller-grid-pagination__dots inline-flex items-center justify-center min-w-[2rem] px-1 py-2 text-sm text-muted-foreground select-none"
10153
10213
  };
10154
- const _hoisted_9$k = ["onClick", "data-active"];
10214
+ const _hoisted_9$l = ["onClick", "data-active"];
10155
10215
  const _hoisted_10$j = ["disabled"];
10156
- const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
10216
+ const _sfc_main$u = /* @__PURE__ */ vue.defineComponent({
10157
10217
  __name: "GridPagination",
10158
10218
  props: {
10159
10219
  products: {},
@@ -10243,34 +10303,34 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
10243
10303
  "data-variant": __props.variant || "compact"
10244
10304
  }, [
10245
10305
  showPagination() ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
10246
- (__props.variant || "compact") === "compact" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$r, [
10306
+ (__props.variant || "compact") === "compact" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$s, [
10247
10307
  vue.createElementVNode("button", {
10248
10308
  type: "button",
10249
10309
  class: "propeller-grid-pagination__btn propeller-grid-pagination__btn--prev inline-flex items-center rounded-[var(--radius-control)] border border-input bg-card px-4 py-2 text-sm font-medium text-muted-foreground shadow-sm hover:bg-surface-hover disabled:opacity-40 disabled:cursor-not-allowed",
10250
10310
  disabled: getCurrentPage() === 1,
10251
10311
  onClick: _cache[0] || (_cache[0] = async (event) => handlePageChange(getCurrentPage() - 1))
10252
- }, vue.toDisplayString(getLabel("previous")), 9, _hoisted_3$r),
10253
- vue.createElementVNode("span", _hoisted_4$o, vue.toDisplayString(getLabel("page")) + " " + vue.toDisplayString(getCurrentPage()) + " " + vue.toDisplayString(getLabel("of")) + " " + vue.toDisplayString(getTotalPages()), 1),
10312
+ }, vue.toDisplayString(getLabel("previous")), 9, _hoisted_3$s),
10313
+ vue.createElementVNode("span", _hoisted_4$p, vue.toDisplayString(getLabel("page")) + " " + vue.toDisplayString(getCurrentPage()) + " " + vue.toDisplayString(getLabel("of")) + " " + vue.toDisplayString(getTotalPages()), 1),
10254
10314
  vue.createElementVNode("button", {
10255
10315
  type: "button",
10256
10316
  class: "propeller-grid-pagination__btn propeller-grid-pagination__btn--next inline-flex items-center rounded-[var(--radius-control)] border border-input bg-card px-4 py-2 text-sm font-medium text-muted-foreground shadow-sm hover:bg-surface-hover disabled:opacity-40 disabled:cursor-not-allowed",
10257
10317
  disabled: getCurrentPage() === getTotalPages(),
10258
10318
  onClick: _cache[1] || (_cache[1] = async (event) => handlePageChange(getCurrentPage() + 1))
10259
- }, vue.toDisplayString(getLabel("next")), 9, _hoisted_5$o)
10319
+ }, vue.toDisplayString(getLabel("next")), 9, _hoisted_5$p)
10260
10320
  ])) : vue.createCommentVNode("", true),
10261
- (__props.variant || "compact") === "full" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$n, [
10321
+ (__props.variant || "compact") === "full" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$o, [
10262
10322
  vue.createElementVNode("button", {
10263
10323
  type: "button",
10264
10324
  class: "propeller-grid-pagination__btn propeller-grid-pagination__btn--prev inline-flex items-center rounded-[var(--radius-control)] border border-input bg-card px-3 py-2 text-sm font-medium text-muted-foreground shadow-sm hover:bg-surface-hover disabled:opacity-40 disabled:cursor-not-allowed",
10265
10325
  disabled: getCurrentPage() === 1,
10266
10326
  onClick: _cache[2] || (_cache[2] = async (event) => handlePageChange(getCurrentPage() - 1))
10267
- }, vue.toDisplayString(getLabel("previous")), 9, _hoisted_7$n),
10327
+ }, vue.toDisplayString(getLabel("previous")), 9, _hoisted_7$o),
10268
10328
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getFullPages(), (item, idx) => {
10269
10329
  return vue.openBlock(), vue.createElementBlock("div", {
10270
10330
  key: item.type === "dots" ? `dots-${idx}` : `page-${item.value}`,
10271
10331
  class: "propeller-grid-pagination__page-wrapper inline-flex"
10272
10332
  }, [
10273
- item.type === "dots" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_8$l, " ... ")) : vue.createCommentVNode("", true),
10333
+ item.type === "dots" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_8$m, " ... ")) : vue.createCommentVNode("", true),
10274
10334
  item.type === "page" ? (vue.openBlock(), vue.createElementBlock("button", {
10275
10335
  key: 1,
10276
10336
  type: "button",
@@ -10279,7 +10339,7 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
10279
10339
  class: vue.normalizeClass(
10280
10340
  item.value === getCurrentPage() ? "propeller-grid-pagination__page inline-flex items-center justify-center min-w-[2.25rem] rounded-[var(--radius-control)] border border-primary bg-primary px-3 py-2 text-sm font-semibold text-primary-foreground shadow-sm" : "propeller-grid-pagination__page inline-flex items-center justify-center min-w-[2.25rem] rounded-[var(--radius-control)] border border-input bg-card px-3 py-2 text-sm font-medium text-muted-foreground shadow-sm hover:bg-surface-hover"
10281
10341
  )
10282
- }, vue.toDisplayString(item.value), 11, _hoisted_9$k)) : vue.createCommentVNode("", true)
10342
+ }, vue.toDisplayString(item.value), 11, _hoisted_9$l)) : vue.createCommentVNode("", true)
10283
10343
  ]);
10284
10344
  }), 128)),
10285
10345
  vue.createElementVNode("button", {
@@ -10290,28 +10350,28 @@ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
10290
10350
  }, vue.toDisplayString(getLabel("next")), 9, _hoisted_10$j)
10291
10351
  ])) : vue.createCommentVNode("", true)
10292
10352
  ], 64)) : vue.createCommentVNode("", true)
10293
- ], 10, _hoisted_1$r);
10353
+ ], 10, _hoisted_1$s);
10294
10354
  };
10295
10355
  }
10296
10356
  });
10297
- const _hoisted_1$q = ["data-loading"];
10298
- const _hoisted_2$q = {
10357
+ const _hoisted_1$r = ["data-loading"];
10358
+ const _hoisted_2$r = {
10299
10359
  key: 0,
10300
10360
  class: "propeller-favorite-list-details__skeleton space-y-4"
10301
10361
  };
10302
- const _hoisted_3$q = {
10362
+ const _hoisted_3$r = {
10303
10363
  key: 0,
10304
10364
  class: "propeller-favorite-list-details__list space-y-3"
10305
10365
  };
10306
- const _hoisted_4$n = { class: "propeller-favorite-list-details__select-all flex items-center gap-2 pb-2" };
10307
- const _hoisted_5$n = ["checked"];
10308
- const _hoisted_6$m = {
10366
+ const _hoisted_4$o = { class: "propeller-favorite-list-details__select-all flex items-center gap-2 pb-2" };
10367
+ const _hoisted_5$o = ["checked"];
10368
+ const _hoisted_6$n = {
10309
10369
  for: "favorite-list-select-all-top",
10310
10370
  class: "propeller-favorite-list-details__select-all-label text-sm font-medium cursor-pointer select-none"
10311
10371
  };
10312
- const _hoisted_7$m = ["data-selected"];
10313
- const _hoisted_8$k = ["checked", "onChange", "aria-label"];
10314
- const _hoisted_9$j = { class: "propeller-favorite-list-details__row-item flex-1 min-w-0" };
10372
+ const _hoisted_7$n = ["data-selected"];
10373
+ const _hoisted_8$l = ["checked", "onChange", "aria-label"];
10374
+ const _hoisted_9$k = { class: "propeller-favorite-list-details__row-item flex-1 min-w-0" };
10315
10375
  const _hoisted_10$i = {
10316
10376
  key: 0,
10317
10377
  class: "propeller-favorite-list-details__pagination mt-6"
@@ -10388,7 +10448,7 @@ const _hoisted_42$9 = {
10388
10448
  class: "propeller-favorite-list-details__search-item-spinner text-xs text-foreground-subtle"
10389
10449
  };
10390
10450
  const _hoisted_43$9 = { class: "propeller-favorite-list-details__modal-footer border-t border-border px-6 py-4 flex justify-end" };
10391
- const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
10451
+ const _sfc_main$t = /* @__PURE__ */ vue.defineComponent({
10392
10452
  __name: "FavoriteListDetails",
10393
10453
  props: {
10394
10454
  graphqlClient: {},
@@ -10433,8 +10493,8 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
10433
10493
  setup(__props) {
10434
10494
  const props = __props;
10435
10495
  const infra = ProductVideos_vue_vue_type_script_setup_true_lang.useInfraProps(props);
10436
- const FavoriteListItemImpl = vue.computed(() => props.favoriteListItemComponent ?? _sfc_main$u);
10437
- const GridPaginationImpl = vue.computed(() => props.gridPaginationComponent ?? _sfc_main$t);
10496
+ const FavoriteListItemImpl = vue.computed(() => props.favoriteListItemComponent ?? _sfc_main$v);
10497
+ const GridPaginationImpl = vue.computed(() => props.gridPaginationComponent ?? _sfc_main$u);
10438
10498
  const loading = vue.ref(true);
10439
10499
  const favoriteList = vue.ref(null);
10440
10500
  const allItems = vue.ref([]);
@@ -10751,7 +10811,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
10751
10811
  class: vue.normalizeClass(`propeller-favorite-list-details ${__props.className || ""}`),
10752
10812
  "data-loading": loading.value ? "true" : "false"
10753
10813
  }, [
10754
- loading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$q, [
10814
+ loading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$r, [
10755
10815
  (vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList([1, 2, 3], (i, index2) => {
10756
10816
  return vue.createElementVNode("div", {
10757
10817
  key: i,
@@ -10762,16 +10822,16 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
10762
10822
  }), 64))
10763
10823
  ])) : vue.createCommentVNode("", true),
10764
10824
  !loading.value && isMounted.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
10765
- allItems.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$q, [
10766
- vue.createElementVNode("div", _hoisted_4$n, [
10825
+ allItems.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$r, [
10826
+ vue.createElementVNode("div", _hoisted_4$o, [
10767
10827
  vue.createElementVNode("input", {
10768
10828
  id: "favorite-list-select-all-top",
10769
10829
  type: "checkbox",
10770
10830
  class: "propeller-favorite-list-details__select-all-checkbox h-4 w-4 rounded border-border accent-secondary cursor-pointer",
10771
10831
  checked: isAllPageSelected(),
10772
10832
  onChange: _cache[0] || (_cache[0] = ($event) => togglePageSelectAll())
10773
- }, null, 40, _hoisted_5$n),
10774
- vue.createElementVNode("label", _hoisted_6$m, vue.toDisplayString(getLabel("selectAll", "Select all")), 1)
10833
+ }, null, 40, _hoisted_5$o),
10834
+ vue.createElementVNode("label", _hoisted_6$n, vue.toDisplayString(getLabel("selectAll", "Select all")), 1)
10775
10835
  ]),
10776
10836
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(getPagedItems(), (item, idx) => {
10777
10837
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -10785,8 +10845,8 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
10785
10845
  checked: isRowSelected(item),
10786
10846
  onChange: ($event) => toggleRow(item),
10787
10847
  "aria-label": getLabel("selectItem", "Select item")
10788
- }, null, 40, _hoisted_8$k),
10789
- vue.createElementVNode("div", _hoisted_9$j, [
10848
+ }, null, 40, _hoisted_8$l),
10849
+ vue.createElementVNode("div", _hoisted_9$k, [
10790
10850
  (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(FavoriteListItemImpl.value), {
10791
10851
  item,
10792
10852
  graphqlClient: __props.graphqlClient,
@@ -10818,7 +10878,7 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
10818
10878
  includeTax: __props.includeTax
10819
10879
  }, null, 40, ["item", "graphqlClient", "user", "cartId", "createCart", "onCartCreated", "onAddToCart", "afterAddToCart", "showModal", "allowIncrDecr", "enableStockValidation", "language", "onProceedToCheckout", "onRequestQuoteClick", "addToCartLabels", "stockLabels", "labels", "configuration", "titleLinkable", "showStockComponent", "showAvailability", "showStock", "showSku", "allowAddToCart", "showDelete", "onDelete", "onItemClick", "includeTax"]))
10820
10880
  ])
10821
- ], 8, _hoisted_7$m);
10881
+ ], 8, _hoisted_7$n);
10822
10882
  }), 128)),
10823
10883
  __props.showPagination !== false && getTotalPages() > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$i, [
10824
10884
  (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(GridPaginationImpl.value), {
@@ -11049,31 +11109,31 @@ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
11049
11109
  ])
11050
11110
  ])
11051
11111
  ])) : vue.createCommentVNode("", true)
11052
- ], 10, _hoisted_1$q);
11112
+ ], 10, _hoisted_1$r);
11053
11113
  };
11054
11114
  }
11055
11115
  });
11056
- const _hoisted_1$p = ["data-loading"];
11057
- const _hoisted_2$p = {
11116
+ const _hoisted_1$q = ["data-loading"];
11117
+ const _hoisted_2$q = {
11058
11118
  key: 0,
11059
11119
  class: "propeller-favorite-lists__toolbar flex justify-end mb-4"
11060
11120
  };
11061
- const _hoisted_3$p = {
11121
+ const _hoisted_3$q = {
11062
11122
  key: 1,
11063
11123
  class: "space-y-4"
11064
11124
  };
11065
- const _hoisted_4$m = {
11125
+ const _hoisted_4$n = {
11066
11126
  key: 0,
11067
11127
  class: "propeller-favorite-lists__list space-y-4"
11068
11128
  };
11069
- const _hoisted_5$m = ["onClick", "data-editing", "data-default"];
11070
- const _hoisted_6$l = { class: "flex justify-between items-start" };
11071
- const _hoisted_7$l = { class: "flex-1" };
11072
- const _hoisted_8$j = {
11129
+ const _hoisted_5$n = ["onClick", "data-editing", "data-default"];
11130
+ const _hoisted_6$m = { class: "flex justify-between items-start" };
11131
+ const _hoisted_7$m = { class: "flex-1" };
11132
+ const _hoisted_8$k = {
11073
11133
  key: 0,
11074
11134
  class: "propeller-favorite-lists__edit space-y-4"
11075
11135
  };
11076
- const _hoisted_9$i = { class: "space-y-2" };
11136
+ const _hoisted_9$j = { class: "space-y-2" };
11077
11137
  const _hoisted_10$h = ["placeholder", "value"];
11078
11138
  const _hoisted_11$g = { class: "flex items-center space-x-2" };
11079
11139
  const _hoisted_12$g = ["id", "checked"];
@@ -11141,7 +11201,7 @@ const _hoisted_46$7 = { class: "space-y-4" };
11141
11201
  const _hoisted_47$7 = { class: "propeller-favorite-lists__delete-prompt" };
11142
11202
  const _hoisted_48$7 = { class: "propeller-favorite-lists__delete-warning text-sm text-destructive" };
11143
11203
  const _hoisted_49$6 = { class: "flex justify-end gap-3 pt-6" };
11144
- const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
11204
+ const _sfc_main$s = /* @__PURE__ */ vue.defineComponent({
11145
11205
  __name: "FavoriteLists",
11146
11206
  props: {
11147
11207
  user: {},
@@ -11274,7 +11334,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
11274
11334
  class: vue.normalizeClass(`propeller-favorite-lists ${__props.className || ""}`),
11275
11335
  "data-loading": vue.unref(loading) ? "true" : "false"
11276
11336
  }, [
11277
- __props.allowFavoriteListCreate !== false && !vue.unref(loading) && isMounted.value && displayedLists.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$p, [
11337
+ __props.allowFavoriteListCreate !== false && !vue.unref(loading) && isMounted.value && displayedLists.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$q, [
11278
11338
  vue.createElementVNode("button", {
11279
11339
  class: "propeller-favorite-lists__create-btn inline-flex items-center px-4 py-2 text-sm font-medium rounded-[var(--radius-control)] text-primary-foreground bg-primary hover:bg-primary/80",
11280
11340
  onClick: _cache[0] || (_cache[0] = async (event) => {
@@ -11299,11 +11359,11 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
11299
11359
  vue.createTextVNode(vue.toDisplayString(getLabel("createButton", "Create New List")), 1)
11300
11360
  ])
11301
11361
  ])) : vue.createCommentVNode("", true),
11302
- vue.unref(loading) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$p, [..._cache[14] || (_cache[14] = [
11362
+ vue.unref(loading) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$q, [..._cache[14] || (_cache[14] = [
11303
11363
  vue.createStaticVNode('<div class="propeller-favorite-lists__skeleton border border-border rounded-[var(--radius-container)] p-6 animate-pulse"><div class="flex justify-between items-start"><div class="space-y-2 flex-1"><div class="h-6 w-1/3 bg-surface-hover rounded"></div><div class="h-4 w-1/4 bg-surface-hover rounded"></div><div class="h-4 w-1/2 bg-surface-hover rounded"></div></div></div></div><div class="propeller-favorite-lists__skeleton border border-border rounded-[var(--radius-container)] p-6 animate-pulse"><div class="flex justify-between items-start"><div class="space-y-2 flex-1"><div class="h-6 w-1/3 bg-surface-hover rounded"></div><div class="h-4 w-1/4 bg-surface-hover rounded"></div><div class="h-4 w-1/2 bg-surface-hover rounded"></div></div></div></div>', 2)
11304
11364
  ])])) : vue.createCommentVNode("", true),
11305
11365
  !vue.unref(loading) && isMounted.value ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
11306
- displayedLists.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$m, [
11366
+ displayedLists.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$n, [
11307
11367
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(displayedLists.value, (list, index2) => {
11308
11368
  return vue.openBlock(), vue.createElementBlock("div", {
11309
11369
  key: list.id,
@@ -11318,10 +11378,10 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
11318
11378
  "propeller-favorite-lists__item border border-border rounded-[var(--radius-container)] p-6 hover:bg-surface-hover transition-colors" + (vue.unref(editingListId) !== String(list.id) && __props.onListClick ? " cursor-pointer" : "")
11319
11379
  )
11320
11380
  }, [
11321
- vue.createElementVNode("div", _hoisted_6$l, [
11322
- vue.createElementVNode("div", _hoisted_7$l, [
11323
- vue.unref(editingListId) === String(list.id) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$j, [
11324
- vue.createElementVNode("div", _hoisted_9$i, [
11381
+ vue.createElementVNode("div", _hoisted_6$m, [
11382
+ vue.createElementVNode("div", _hoisted_7$m, [
11383
+ vue.unref(editingListId) === String(list.id) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$k, [
11384
+ vue.createElementVNode("div", _hoisted_9$j, [
11325
11385
  vue.createElementVNode("input", {
11326
11386
  type: "text",
11327
11387
  placeholder: getLabel("createPlaceholder", "Enter list name"),
@@ -11483,7 +11543,7 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
11483
11543
  ])], 8, _hoisted_25$a)
11484
11544
  ])) : vue.createCommentVNode("", true)
11485
11545
  ])
11486
- ], 10, _hoisted_5$m);
11546
+ ], 10, _hoisted_5$n);
11487
11547
  }), 128))
11488
11548
  ])) : vue.createCommentVNode("", true),
11489
11549
  displayedLists.value.length === 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_26$a, [
@@ -11600,31 +11660,31 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
11600
11660
  ])
11601
11661
  ])
11602
11662
  ])) : vue.createCommentVNode("", true)
11603
- ], 10, _hoisted_1$p);
11663
+ ], 10, _hoisted_1$q);
11604
11664
  };
11605
11665
  }
11606
11666
  });
11607
- const _hoisted_1$o = ["data-loading", "data-submitted"];
11608
- const _hoisted_2$o = {
11667
+ const _hoisted_1$p = ["data-loading", "data-submitted"];
11668
+ const _hoisted_2$p = {
11609
11669
  key: 0,
11610
11670
  class: "propeller-forgot-password__header space-y-1 text-center mb-6"
11611
11671
  };
11612
- const _hoisted_3$o = { class: "propeller-forgot-password__title text-2xl font-bold" };
11613
- const _hoisted_4$l = {
11672
+ const _hoisted_3$p = { class: "propeller-forgot-password__title text-2xl font-bold" };
11673
+ const _hoisted_4$m = {
11614
11674
  key: 0,
11615
11675
  class: "propeller-forgot-password__subtitle text-sm text-muted-foreground"
11616
11676
  };
11617
- const _hoisted_5$l = { class: "propeller-forgot-password__field space-y-2" };
11618
- const _hoisted_6$k = {
11677
+ const _hoisted_5$m = { class: "propeller-forgot-password__field space-y-2" };
11678
+ const _hoisted_6$l = {
11619
11679
  for: "forgot-password-email",
11620
11680
  class: "propeller-forgot-password__label text-sm font-medium leading-none"
11621
11681
  };
11622
- const _hoisted_7$k = ["value", "placeholder", "disabled"];
11623
- const _hoisted_8$i = {
11682
+ const _hoisted_7$l = ["value", "placeholder", "disabled"];
11683
+ const _hoisted_8$j = {
11624
11684
  key: 0,
11625
11685
  class: "text-sm text-destructive bg-destructive/10 p-3 rounded-[var(--radius-control)]"
11626
11686
  };
11627
- const _hoisted_9$h = ["disabled"];
11687
+ const _hoisted_9$i = ["disabled"];
11628
11688
  const _hoisted_10$g = {
11629
11689
  key: 0,
11630
11690
  xmlns: "http://www.w3.org/2000/svg",
@@ -11637,7 +11697,7 @@ const _hoisted_11$f = {
11637
11697
  class: "propeller-forgot-password__success text-center space-y-4"
11638
11698
  };
11639
11699
  const _hoisted_12$f = { class: "propeller-forgot-password__success-message text-sm text-muted-foreground" };
11640
- const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
11700
+ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
11641
11701
  __name: "ForgotPassword",
11642
11702
  props: {
11643
11703
  graphqlClient: {},
@@ -11699,17 +11759,17 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
11699
11759
  "data-loading": vue.unref(loading) ? "true" : "false",
11700
11760
  "data-submitted": submitted.value ? "true" : "false"
11701
11761
  }, [
11702
- resolvedTitle.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$o, [
11703
- vue.createElementVNode("h2", _hoisted_3$o, vue.toDisplayString(resolvedTitle.value), 1),
11704
- __props.subtitle ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_4$l, vue.toDisplayString(__props.subtitle), 1)) : vue.createCommentVNode("", true)
11762
+ resolvedTitle.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$p, [
11763
+ vue.createElementVNode("h2", _hoisted_3$p, vue.toDisplayString(resolvedTitle.value), 1),
11764
+ __props.subtitle ? (vue.openBlock(), vue.createElementBlock("p", _hoisted_4$m, vue.toDisplayString(__props.subtitle), 1)) : vue.createCommentVNode("", true)
11705
11765
  ])) : vue.createCommentVNode("", true),
11706
11766
  !submitted.value ? (vue.openBlock(), vue.createElementBlock("form", {
11707
11767
  key: 1,
11708
11768
  class: "propeller-forgot-password__form space-y-4",
11709
11769
  onSubmit: _cache[1] || (_cache[1] = async (e) => handleSubmit(e))
11710
11770
  }, [
11711
- vue.createElementVNode("div", _hoisted_5$l, [
11712
- vue.createElementVNode("label", _hoisted_6$k, vue.toDisplayString(emailLabel.value), 1),
11771
+ vue.createElementVNode("div", _hoisted_5$m, [
11772
+ vue.createElementVNode("label", _hoisted_6$l, vue.toDisplayString(emailLabel.value), 1),
11713
11773
  vue.createElementVNode("input", {
11714
11774
  type: "email",
11715
11775
  id: "forgot-password-email",
@@ -11722,9 +11782,9 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
11722
11782
  placeholder: emailPlaceholder.value,
11723
11783
  required: true,
11724
11784
  disabled: vue.unref(loading)
11725
- }, null, 40, _hoisted_7$k)
11785
+ }, null, 40, _hoisted_7$l)
11726
11786
  ]),
11727
- errorMessage.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$i, vue.toDisplayString(errorMessage.value), 1)) : vue.createCommentVNode("", true),
11787
+ errorMessage.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$j, vue.toDisplayString(errorMessage.value), 1)) : vue.createCommentVNode("", true),
11728
11788
  vue.createElementVNode("button", {
11729
11789
  type: "submit",
11730
11790
  class: "propeller-forgot-password__submit inline-flex items-center justify-center w-full h-10 px-4 py-2 text-sm font-medium text-primary-foreground bg-primary rounded-[var(--radius-control)] hover:bg-primary/80 focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 disabled:opacity-50 disabled:cursor-not-allowed",
@@ -11750,7 +11810,7 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
11750
11810
  ], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
11751
11811
  vue.createTextVNode(vue.toDisplayString(resolvedButtonText.value), 1)
11752
11812
  ], 64))
11753
- ], 8, _hoisted_9$h)
11813
+ ], 8, _hoisted_9$i)
11754
11814
  ], 32)) : vue.createCommentVNode("", true),
11755
11815
  submitted.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_11$f, [
11756
11816
  _cache[3] || (_cache[3] = vue.createElementVNode("div", { class: "flex justify-center" }, [
@@ -11771,19 +11831,19 @@ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
11771
11831
  ], -1)),
11772
11832
  vue.createElementVNode("p", _hoisted_12$f, vue.toDisplayString(resolvedResponseMessage.value), 1)
11773
11833
  ])) : vue.createCommentVNode("", true)
11774
- ], 8, _hoisted_1$o);
11834
+ ], 8, _hoisted_1$p);
11775
11835
  };
11776
11836
  }
11777
11837
  });
11778
- const _hoisted_1$n = ["data-mobile", "data-pending"];
11779
- const _hoisted_2$n = { class: "propeller-grid-filters__price space-y-3" };
11780
- const _hoisted_3$n = { class: "propeller-grid-filters__price-title text-xs font-semibold uppercase tracking-wide text-muted-foreground" };
11781
- const _hoisted_4$k = { class: "flex items-center gap-2" };
11782
- const _hoisted_5$k = { class: "relative flex-1" };
11783
- const _hoisted_6$j = ["value", "min", "max"];
11784
- const _hoisted_7$j = { class: "relative flex-1" };
11785
- const _hoisted_8$h = ["value", "min", "max"];
11786
- const _hoisted_9$g = { class: "propeller-grid-filters__price-slider relative h-4 pt-1" };
11838
+ const _hoisted_1$o = ["data-mobile", "data-pending"];
11839
+ const _hoisted_2$o = { class: "propeller-grid-filters__price space-y-3" };
11840
+ const _hoisted_3$o = { class: "propeller-grid-filters__price-title text-xs font-semibold uppercase tracking-wide text-muted-foreground" };
11841
+ const _hoisted_4$l = { class: "flex items-center gap-2" };
11842
+ const _hoisted_5$l = { class: "relative flex-1" };
11843
+ const _hoisted_6$k = ["value", "min", "max"];
11844
+ const _hoisted_7$k = { class: "relative flex-1" };
11845
+ const _hoisted_8$i = ["value", "min", "max"];
11846
+ const _hoisted_9$h = { class: "propeller-grid-filters__price-slider relative h-4 pt-1" };
11787
11847
  const _hoisted_10$f = ["min", "max", "value"];
11788
11848
  const _hoisted_11$e = ["min", "max", "value"];
11789
11849
  const _hoisted_12$e = {
@@ -11800,7 +11860,7 @@ const _hoisted_16$d = {
11800
11860
  const _hoisted_17$d = ["checked", "onChange"];
11801
11861
  const _hoisted_18$b = { class: "propeller-grid-filters__option-label flex-1 text-sm text-muted-foreground leading-none select-none group-hover:text-foreground" };
11802
11862
  const _hoisted_19$a = { class: "propeller-grid-filters__option-count ml-1 text-xs text-foreground-subtle" };
11803
- const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
11863
+ const _sfc_main$q = /* @__PURE__ */ vue.defineComponent({
11804
11864
  __name: "GridFilters",
11805
11865
  props: {
11806
11866
  filters: {},
@@ -12027,10 +12087,10 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
12027
12087
  "data-pending": isPending.value ? "true" : "false"
12028
12088
  }, [
12029
12089
  showPriceFilter() && (__props.priceMin !== void 0 || __props.priceMax !== void 0) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
12030
- vue.createElementVNode("div", _hoisted_2$n, [
12031
- vue.createElementVNode("h3", _hoisted_3$n, vue.toDisplayString(getLabel("priceRange", "Price Range")), 1),
12032
- vue.createElementVNode("div", _hoisted_4$k, [
12033
- vue.createElementVNode("div", _hoisted_5$k, [
12090
+ vue.createElementVNode("div", _hoisted_2$o, [
12091
+ vue.createElementVNode("h3", _hoisted_3$o, vue.toDisplayString(getLabel("priceRange", "Price Range")), 1),
12092
+ vue.createElementVNode("div", _hoisted_4$l, [
12093
+ vue.createElementVNode("div", _hoisted_5$l, [
12034
12094
  _cache[14] || (_cache[14] = vue.createElementVNode("span", { class: "propeller-grid-filters__price-currency absolute left-2.5 top-1/2 -translate-y-1/2 text-xs text-foreground-subtle pointer-events-none" }, "€", -1)),
12035
12095
  vue.createElementVNode("input", {
12036
12096
  type: "number",
@@ -12041,10 +12101,10 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
12041
12101
  onInput: _cache[0] || (_cache[0] = (e) => minInput.value = e.target.value),
12042
12102
  onBlur: _cache[1] || (_cache[1] = async (event) => commitMinInput()),
12043
12103
  onKeyup: _cache[2] || (_cache[2] = vue.withKeys((e) => e.target.blur(), ["enter"]))
12044
- }, null, 40, _hoisted_6$j)
12104
+ }, null, 40, _hoisted_6$k)
12045
12105
  ]),
12046
12106
  _cache[16] || (_cache[16] = vue.createElementVNode("span", { class: "propeller-grid-filters__price-separator text-foreground-subtle text-sm select-none" }, "–", -1)),
12047
- vue.createElementVNode("div", _hoisted_7$j, [
12107
+ vue.createElementVNode("div", _hoisted_7$k, [
12048
12108
  _cache[15] || (_cache[15] = vue.createElementVNode("span", { class: "propeller-grid-filters__price-currency absolute left-2.5 top-1/2 -translate-y-1/2 text-xs text-foreground-subtle pointer-events-none" }, "€", -1)),
12049
12109
  vue.createElementVNode("input", {
12050
12110
  type: "number",
@@ -12055,10 +12115,10 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
12055
12115
  onInput: _cache[3] || (_cache[3] = (e) => maxInput.value = e.target.value),
12056
12116
  onBlur: _cache[4] || (_cache[4] = async (event) => commitMaxInput()),
12057
12117
  onKeyup: _cache[5] || (_cache[5] = vue.withKeys((e) => e.target.blur(), ["enter"]))
12058
- }, null, 40, _hoisted_8$h)
12118
+ }, null, 40, _hoisted_8$i)
12059
12119
  ])
12060
12120
  ]),
12061
- vue.createElementVNode("div", _hoisted_9$g, [
12121
+ vue.createElementVNode("div", _hoisted_9$h, [
12062
12122
  vue.createElementVNode("input", {
12063
12123
  type: "range",
12064
12124
  class: "propeller-grid-filters__price-slider-thumb absolute w-full h-1.5 bg-transparent appearance-none pointer-events-none [&::-webkit-slider-thumb]:pointer-events-auto [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-secondary [&::-webkit-slider-thumb]:cursor-pointer z-20",
@@ -12134,7 +12194,144 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
12134
12194
  ])) : vue.createCommentVNode("", true)
12135
12195
  ], 8, _hoisted_13$e);
12136
12196
  }), 128))
12137
- ], 10, _hoisted_1$n);
12197
+ ], 10, _hoisted_1$o);
12198
+ };
12199
+ }
12200
+ });
12201
+ const _hoisted_1$n = ["aria-expanded"];
12202
+ const _hoisted_2$n = {
12203
+ class: "propeller-grid-filters-panel__trigger-icon w-[1.1em] h-[1.1em] flex-shrink-0",
12204
+ viewBox: "0 0 24 24",
12205
+ fill: "none",
12206
+ stroke: "currentColor",
12207
+ strokeWidth: 2,
12208
+ strokeLinecap: "round",
12209
+ strokeLinejoin: "round",
12210
+ "aria-hidden": "true"
12211
+ };
12212
+ const _hoisted_3$n = {
12213
+ key: 0,
12214
+ class: "propeller-grid-filters-panel__count inline-flex items-center justify-center min-w-[1.25rem] h-5 px-1 rounded-full bg-secondary text-secondary-foreground text-xs font-semibold"
12215
+ };
12216
+ const _hoisted_4$k = { class: "propeller-grid-filters-panel__header lg:hidden flex items-center justify-between gap-3 px-4 h-14 border-b border-border-subtle flex-shrink-0" };
12217
+ const _hoisted_5$k = { class: "propeller-grid-filters-panel__title text-base font-semibold text-foreground" };
12218
+ const _hoisted_6$j = ["aria-label"];
12219
+ const _hoisted_7$j = {
12220
+ viewBox: "0 0 24 24",
12221
+ fill: "none",
12222
+ stroke: "currentColor",
12223
+ strokeWidth: 2,
12224
+ strokeLinecap: "round",
12225
+ strokeLinejoin: "round",
12226
+ class: "w-5 h-5"
12227
+ };
12228
+ const _hoisted_8$h = { class: "propeller-grid-filters-panel__body flex-1 overflow-y-auto px-4 py-4 lg:flex-none lg:overflow-visible lg:p-0" };
12229
+ const _hoisted_9$g = { class: "propeller-grid-filters-panel__footer lg:hidden px-4 py-3 border-t border-border-subtle flex-shrink-0" };
12230
+ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
12231
+ __name: "GridFiltersPanel",
12232
+ props: {
12233
+ activeFilterCount: {},
12234
+ wrapperClassName: {},
12235
+ filters: {},
12236
+ priceMin: {},
12237
+ priceMax: {},
12238
+ language: {},
12239
+ getSelectedFilters: { type: Function },
12240
+ onFilterChange: { type: Function },
12241
+ onPriceChange: { type: Function },
12242
+ onClearFilters: { type: Function },
12243
+ isMobile: { type: Boolean },
12244
+ portalMode: {},
12245
+ user: {},
12246
+ collapsed: { type: Boolean },
12247
+ clearSignal: {},
12248
+ activeTextFilters: {},
12249
+ activePriceMin: {},
12250
+ activePriceMax: {},
12251
+ isLoading: { type: Boolean },
12252
+ className: {},
12253
+ labels: {}
12254
+ },
12255
+ setup(__props) {
12256
+ const props = __props;
12257
+ const open = vue.ref(false);
12258
+ const gridFiltersProps = vue.computed(() => {
12259
+ const { activeFilterCount, wrapperClassName, labels, ...rest } = props;
12260
+ return rest;
12261
+ });
12262
+ function getLabel(key, fallback) {
12263
+ return index.getLabel(props.labels, key, fallback);
12264
+ }
12265
+ function onKey(e) {
12266
+ if (e.key === "Escape") open.value = false;
12267
+ }
12268
+ vue.watch(open, (isOpen) => {
12269
+ if (typeof document === "undefined") return;
12270
+ if (isOpen) {
12271
+ document.addEventListener("keydown", onKey);
12272
+ document.body.style.overflow = "hidden";
12273
+ } else {
12274
+ document.removeEventListener("keydown", onKey);
12275
+ document.body.style.overflow = "";
12276
+ }
12277
+ });
12278
+ vue.onUnmounted(() => {
12279
+ if (typeof document === "undefined") return;
12280
+ document.removeEventListener("keydown", onKey);
12281
+ document.body.style.overflow = "";
12282
+ });
12283
+ return (_ctx, _cache) => {
12284
+ return vue.openBlock(), vue.createElementBlock("div", {
12285
+ class: vue.normalizeClass(`propeller-grid-filters-panel w-full lg:w-64 lg:flex-shrink-0 ${__props.wrapperClassName || ""}`)
12286
+ }, [
12287
+ vue.createElementVNode("button", {
12288
+ type: "button",
12289
+ class: "propeller-grid-filters-panel__trigger lg:hidden inline-flex items-center justify-center gap-2 h-10 px-4 rounded-[var(--radius-control)] border border-border bg-card text-sm font-medium text-foreground shadow-sm hover:bg-surface-hover transition-colors",
12290
+ onClick: _cache[0] || (_cache[0] = ($event) => open.value = true),
12291
+ "aria-haspopup": "dialog",
12292
+ "aria-expanded": open.value
12293
+ }, [
12294
+ (vue.openBlock(), vue.createElementBlock("svg", _hoisted_2$n, [..._cache[4] || (_cache[4] = [
12295
+ vue.createElementVNode("path", { d: "M22 3H2l8 9.46V19l4 2v-8.54L22 3z" }, null, -1)
12296
+ ])])),
12297
+ vue.createTextVNode(" " + vue.toDisplayString(getLabel("filtersButton", "Filters")) + " ", 1),
12298
+ __props.activeFilterCount && __props.activeFilterCount > 0 ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$n, vue.toDisplayString(__props.activeFilterCount), 1)) : vue.createCommentVNode("", true)
12299
+ ], 8, _hoisted_1$n),
12300
+ vue.createElementVNode("div", {
12301
+ class: vue.normalizeClass(`propeller-grid-filters-panel__backdrop lg:hidden fixed inset-0 z-40 bg-foreground/40 transition-opacity ${open.value ? "opacity-100" : "pointer-events-none opacity-0"}`),
12302
+ onClick: _cache[1] || (_cache[1] = ($event) => open.value = false),
12303
+ "aria-hidden": "true"
12304
+ }, null, 2),
12305
+ vue.createElementVNode("div", {
12306
+ class: vue.normalizeClass(`propeller-grid-filters-panel__panel fixed inset-y-0 left-0 z-50 w-80 max-w-[85vw] bg-card shadow-xl flex flex-col transition-transform duration-300 lg:static lg:z-auto lg:w-auto lg:max-w-none lg:translate-x-0 lg:bg-transparent lg:shadow-none lg:block ${open.value ? "translate-x-0" : "-translate-x-full"}`),
12307
+ role: "dialog",
12308
+ "aria-modal": "true"
12309
+ }, [
12310
+ vue.createElementVNode("div", _hoisted_4$k, [
12311
+ vue.createElementVNode("span", _hoisted_5$k, vue.toDisplayString(getLabel("filtersButton", "Filters")), 1),
12312
+ vue.createElementVNode("button", {
12313
+ type: "button",
12314
+ class: "propeller-grid-filters-panel__close inline-flex items-center justify-center h-8 w-8 rounded-[var(--radius-control)] text-foreground-subtle hover:text-foreground hover:bg-surface-hover transition-colors",
12315
+ onClick: _cache[2] || (_cache[2] = ($event) => open.value = false),
12316
+ "aria-label": getLabel("closeFilters", "Close")
12317
+ }, [
12318
+ (vue.openBlock(), vue.createElementBlock("svg", _hoisted_7$j, [..._cache[5] || (_cache[5] = [
12319
+ vue.createElementVNode("path", { d: "M18 6 6 18M6 6l12 12" }, null, -1)
12320
+ ])]))
12321
+ ], 8, _hoisted_6$j)
12322
+ ]),
12323
+ vue.createElementVNode("div", _hoisted_8$h, [
12324
+ vue.createVNode(_sfc_main$q, vue.mergeProps(gridFiltersProps.value, { labels: __props.labels }), null, 16, ["labels"])
12325
+ ]),
12326
+ vue.createElementVNode("div", _hoisted_9$g, [
12327
+ vue.createElementVNode("button", {
12328
+ type: "button",
12329
+ class: "propeller-grid-filters-panel__apply w-full inline-flex justify-center items-center h-10 px-6 rounded-[var(--radius-control)] text-sm font-medium text-primary-foreground bg-secondary hover:bg-secondary/90 transition-colors",
12330
+ onClick: _cache[3] || (_cache[3] = ($event) => open.value = false)
12331
+ }, vue.toDisplayString(getLabel("applyFilters", "Show results")), 1)
12332
+ ])
12333
+ ], 2)
12334
+ ], 2);
12138
12335
  };
12139
12336
  }
12140
12337
  });
@@ -14987,9 +15184,9 @@ const _hoisted_23$4 = {
14987
15184
  const _hoisted_24$4 = { class: "propeller-product-card__price pt-1" };
14988
15185
  const _hoisted_25$4 = {
14989
15186
  key: 0,
14990
- class: "propeller-product-card__footer-meta flex items-center justify-between gap-2 px-3 pt-1 sm:px-4 md:hidden"
15187
+ class: "propeller-product-card__footer-meta flex flex-wrap items-center justify-between gap-x-2 gap-y-1 px-3 pt-1 sm:px-4 md:hidden"
14991
15188
  };
14992
- const _hoisted_26$4 = { class: "propeller-product-card__price" };
15189
+ const _hoisted_26$4 = { class: "propeller-product-card__price min-w-0 text-right" };
14993
15190
  const _hoisted_27$4 = {
14994
15191
  key: 1,
14995
15192
  class: "propeller-product-card__cta px-3 pb-3 pt-2 sm:px-4 sm:pb-4"
@@ -15067,10 +15264,10 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
15067
15264
  );
15068
15265
  const PriceImpl = vue.computed(() => resolved.value.priceComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$9);
15069
15266
  const StockImpl = vue.computed(() => resolved.value.stockComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3);
15070
- const AddToCartImpl = vue.computed(() => resolved.value.addToCartComponent ?? _sfc_main$Q);
15071
- const ImageImpl = vue.computed(() => resolved.value.imageComponent ?? _sfc_main$D);
15072
- const BadgesImpl = vue.computed(() => resolved.value.badgesComponent ?? _sfc_main$C);
15073
- const FavoriteImpl = vue.computed(() => resolved.value.favoriteComponent ?? _sfc_main$P);
15267
+ const AddToCartImpl = vue.computed(() => resolved.value.addToCartComponent ?? _sfc_main$R);
15268
+ const ImageImpl = vue.computed(() => resolved.value.imageComponent ?? _sfc_main$E);
15269
+ const BadgesImpl = vue.computed(() => resolved.value.badgesComponent ?? _sfc_main$D);
15270
+ const FavoriteImpl = vue.computed(() => resolved.value.favoriteComponent ?? _sfc_main$Q);
15074
15271
  const isFavorite = vue.ref(false);
15075
15272
  function isRow() {
15076
15273
  return props.columns === 1;
@@ -15377,7 +15574,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
15377
15574
  "on-proceed-to-checkout": props.onProceedToCheckout,
15378
15575
  "on-request-quote-click": props.onRequestQuoteClick,
15379
15576
  labels: props.addToCartLabels
15380
- }, null, 40, ["product", "cart-id", "allow-incr-decr", "show-modal", "enable-stock-validation", "on-add-to-cart", "after-add-to-cart", "on-proceed-to-checkout", "on-request-quote-click", "labels"])) : (vue.openBlock(), vue.createBlock(_sfc_main$Q, {
15577
+ }, null, 40, ["product", "cart-id", "allow-incr-decr", "show-modal", "enable-stock-validation", "on-add-to-cart", "after-add-to-cart", "on-proceed-to-checkout", "on-request-quote-click", "labels"])) : (vue.openBlock(), vue.createBlock(_sfc_main$R, {
15381
15578
  key: 1,
15382
15579
  graphqlClient: props.graphqlClient,
15383
15580
  user: props.user,
@@ -15567,7 +15764,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
15567
15764
  "on-proceed-to-checkout": props.onProceedToCheckout,
15568
15765
  "on-request-quote-click": props.onRequestQuoteClick,
15569
15766
  labels: props.addToCartLabels
15570
- }, null, 40, ["product", "cart-id", "allow-incr-decr", "show-modal", "enable-stock-validation", "on-add-to-cart", "after-add-to-cart", "on-proceed-to-checkout", "on-request-quote-click", "labels"])) : (vue.openBlock(), vue.createBlock(_sfc_main$Q, {
15767
+ }, null, 40, ["product", "cart-id", "allow-incr-decr", "show-modal", "enable-stock-validation", "on-add-to-cart", "after-add-to-cart", "on-proceed-to-checkout", "on-request-quote-click", "labels"])) : (vue.openBlock(), vue.createBlock(_sfc_main$R, {
15571
15768
  key: 1,
15572
15769
  graphqlClient: props.graphqlClient,
15573
15770
  user: props.user,
@@ -15970,7 +16167,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
15970
16167
  () => props.productCardComponent ?? _sfc_main$e
15971
16168
  );
15972
16169
  const ClusterCardImpl = vue.computed(
15973
- () => props.clusterCardComponent ?? _sfc_main$B
16170
+ () => props.clusterCardComponent ?? _sfc_main$C
15974
16171
  );
15975
16172
  const gridConfig = vue.computed(() => ({
15976
16173
  columns: props.columns || 3,
@@ -16359,15 +16556,15 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
16359
16556
  const useNewShell = vue.computed(
16360
16557
  () => NEW_SHELL_KEYS.some((k) => props[k] !== void 0)
16361
16558
  );
16362
- const ImageImpl = vue.computed(() => props.imageComponent ?? _sfc_main$D);
16363
- const BadgesImpl = vue.computed(() => props.badgesComponent ?? _sfc_main$C);
16364
- const FavoriteImpl = vue.computed(() => props.favoriteComponent ?? _sfc_main$P);
16559
+ const ImageImpl = vue.computed(() => props.imageComponent ?? _sfc_main$E);
16560
+ const BadgesImpl = vue.computed(() => props.badgesComponent ?? _sfc_main$D);
16561
+ const FavoriteImpl = vue.computed(() => props.favoriteComponent ?? _sfc_main$Q);
16365
16562
  const PriceImpl = vue.computed(() => props.priceComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$9);
16366
16563
  const StockImpl = vue.computed(() => props.stockComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$3);
16367
- const AddToCartImpl = vue.computed(() => props.addToCartComponent ?? _sfc_main$Q);
16564
+ const AddToCartImpl = vue.computed(() => props.addToCartComponent ?? _sfc_main$R);
16368
16565
  const BundlesImpl = vue.computed(() => props.bundlesComponent ?? _sfc_main$f);
16369
16566
  const BulkPricesImpl = vue.computed(() => props.bulkPricesComponent ?? ProductVideos_vue_vue_type_script_setup_true_lang._sfc_main$7);
16370
- const SurchargesImpl = vue.computed(() => props.surchargesComponent ?? _sfc_main$K);
16567
+ const SurchargesImpl = vue.computed(() => props.surchargesComponent ?? _sfc_main$L);
16371
16568
  const pdpConfig = vue.computed(() => ({
16372
16569
  columns: 1,
16373
16570
  priceComponent: props.priceComponent,
@@ -16656,7 +16853,7 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
16656
16853
  () => props.productCardComponent ?? _sfc_main$e
16657
16854
  );
16658
16855
  const ClusterCardImpl = vue.computed(
16659
- () => props.clusterCardComponent ?? _sfc_main$B
16856
+ () => props.clusterCardComponent ?? _sfc_main$C
16660
16857
  );
16661
16858
  const gridConfig = vue.computed(() => ({
16662
16859
  columns: 3,
@@ -20101,43 +20298,44 @@ exports.usePropellerContext = ProductVideos_vue_vue_type_script_setup_true_lang.
20101
20298
  exports.usePropellerDeps = ProductVideos_vue_vue_type_script_setup_true_lang.usePropellerDeps;
20102
20299
  exports.useRequiredPropellerContext = ProductVideos_vue_vue_type_script_setup_true_lang.useRequiredPropellerContext;
20103
20300
  exports.useUserMode = ProductVideos_vue_vue_type_script_setup_true_lang.useUserMode;
20104
- exports.AccountIconAndMenu = _sfc_main$S;
20105
- exports.ActionCode = _sfc_main$R;
20106
- exports.AddToCart = _sfc_main$Q;
20107
- exports.AddToFavorite = _sfc_main$P;
20108
- exports.AddressCard = _sfc_main$O;
20109
- exports.AddressSelector = _sfc_main$N;
20110
- exports.CartBonusItems = _sfc_main$M;
20111
- exports.CartCarriers = _sfc_main$L;
20112
- exports.CartIconAndSidebar = _sfc_main$I;
20113
- exports.CartItem = _sfc_main$J;
20114
- exports.CartOverview = _sfc_main$H;
20115
- exports.CartPaymethods = _sfc_main$G;
20116
- exports.CartSummary = _sfc_main$F;
20117
- exports.CategoryDescription = _sfc_main$E;
20118
- exports.ClusterCard = _sfc_main$B;
20119
- exports.ClusterConfigurator = _sfc_main$A;
20120
- exports.ClusterInfo = _sfc_main$z;
20121
- exports.ClusterJsonLd = _sfc_main$y;
20122
- exports.ClusterOptions = _sfc_main$x;
20123
- exports.CompanySwitcher = _sfc_main$w;
20124
- exports.DefaultAddToCart = _sfc_main$Q;
20125
- exports.DefaultAddToFavorite = _sfc_main$P;
20126
- exports.DefaultProductBadges = _sfc_main$C;
20301
+ exports.AccountIconAndMenu = _sfc_main$T;
20302
+ exports.ActionCode = _sfc_main$S;
20303
+ exports.AddToCart = _sfc_main$R;
20304
+ exports.AddToFavorite = _sfc_main$Q;
20305
+ exports.AddressCard = _sfc_main$P;
20306
+ exports.AddressSelector = _sfc_main$O;
20307
+ exports.CartBonusItems = _sfc_main$N;
20308
+ exports.CartCarriers = _sfc_main$M;
20309
+ exports.CartIconAndSidebar = _sfc_main$J;
20310
+ exports.CartItem = _sfc_main$K;
20311
+ exports.CartOverview = _sfc_main$I;
20312
+ exports.CartPaymethods = _sfc_main$H;
20313
+ exports.CartSummary = _sfc_main$G;
20314
+ exports.CategoryDescription = _sfc_main$F;
20315
+ exports.ClusterCard = _sfc_main$C;
20316
+ exports.ClusterConfigurator = _sfc_main$B;
20317
+ exports.ClusterInfo = _sfc_main$A;
20318
+ exports.ClusterJsonLd = _sfc_main$z;
20319
+ exports.ClusterOptions = _sfc_main$y;
20320
+ exports.CompanySwitcher = _sfc_main$x;
20321
+ exports.DefaultAddToCart = _sfc_main$R;
20322
+ exports.DefaultAddToFavorite = _sfc_main$Q;
20323
+ exports.DefaultProductBadges = _sfc_main$D;
20127
20324
  exports.DefaultProductBundles = _sfc_main$f;
20128
- exports.DefaultProductImage = _sfc_main$D;
20129
- exports.DefaultProductSurcharges = _sfc_main$K;
20130
- exports.DeliveryDate = _sfc_main$v;
20131
- exports.FavoriteListDetails = _sfc_main$s;
20132
- exports.FavoriteListItem = _sfc_main$u;
20133
- exports.FavoriteLists = _sfc_main$r;
20134
- exports.ForgotPassword = _sfc_main$q;
20135
- exports.GridFilters = _sfc_main$p;
20136
- exports.GridPagination = _sfc_main$t;
20325
+ exports.DefaultProductImage = _sfc_main$E;
20326
+ exports.DefaultProductSurcharges = _sfc_main$L;
20327
+ exports.DeliveryDate = _sfc_main$w;
20328
+ exports.FavoriteListDetails = _sfc_main$t;
20329
+ exports.FavoriteListItem = _sfc_main$v;
20330
+ exports.FavoriteLists = _sfc_main$s;
20331
+ exports.ForgotPassword = _sfc_main$r;
20332
+ exports.GridFilters = _sfc_main$q;
20333
+ exports.GridFiltersPanel = _sfc_main$p;
20334
+ exports.GridPagination = _sfc_main$u;
20137
20335
  exports.GridToolbar = _sfc_main$o;
20138
20336
  exports.ItemListJsonLd = _sfc_main$n;
20139
20337
  exports.ItemsOverview = _sfc_main$m;
20140
- exports.LoginForm = _sfc_main$T;
20338
+ exports.LoginForm = _sfc_main$U;
20141
20339
  exports.Menu = _sfc_main$l;
20142
20340
  exports.OrderActions = _sfc_main$k;
20143
20341
  exports.OrderBonusItems = _sfc_main$j;
@@ -20155,7 +20353,7 @@ exports.ProductJsonLd = _sfc_main$9;
20155
20353
  exports.ProductSlider = _sfc_main$8;
20156
20354
  exports.ProductSpecifications = _sfc_main$7;
20157
20355
  exports.ProductTabs = _sfc_main$6;
20158
- exports.PropellerProvider = _sfc_main$U;
20356
+ exports.PropellerProvider = _sfc_main$V;
20159
20357
  exports.PurchaseAuthorizationConfigurator = _sfc_main$5;
20160
20358
  exports.PurchaseAuthorizationRequests = _sfc_main$4;
20161
20359
  exports.QuoteActions = _sfc_main$3;