@plurix/ecom-components 1.14.2-commerce.3 → 1.14.2-commerce.5

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.
Files changed (24) hide show
  1. package/dist/packages/Carousel/Carousel.js +1 -1
  2. package/dist/packages/CartClubAlert/CartClubAlert.js +1 -1
  3. package/dist/packages/ChangeOrderModal/ChangeOrderModal.js +1 -1
  4. package/dist/packages/Coupons/Coupons.js +1 -1
  5. package/dist/packages/Modal/Modal.js +1 -1
  6. package/dist/packages/Onboarding/Onboarding.js +1 -1
  7. package/dist/packages/ProductCard/ProductCardButton/AddToCartButton.js +1 -1
  8. package/dist/packages/ProductCard/ProductCardButton/CustomQuantitySelector/Button.d.ts +18 -0
  9. package/dist/packages/ProductCard/ProductCardButton/CustomQuantitySelector/Button.js +80 -0
  10. package/dist/packages/ProductCard/ProductCardButton/CustomQuantitySelector/IconButton.d.ts +10 -0
  11. package/dist/packages/ProductCard/ProductCardButton/CustomQuantitySelector/IconButton.js +61 -0
  12. package/dist/packages/ProductCard/ProductCardButton/CustomQuantitySelector/Loader.d.ts +8 -0
  13. package/dist/packages/ProductCard/ProductCardButton/CustomQuantitySelector/Loader.js +44 -0
  14. package/dist/packages/ProductCard/ProductCardButton/CustomQuantitySelector/index.d.ts +17 -2
  15. package/dist/packages/ProductCard/ProductCardButton/CustomQuantitySelector/index.js +1 -1
  16. package/dist/packages/ProductCard/index.js +1 -1
  17. package/dist/packages/ProductCardSeeMore/ProductCardSeeMore.js +1 -1
  18. package/dist/packages/Regionalization/Regionalization.js +1 -1
  19. package/dist/packages/Tour/Tour.js +1 -1
  20. package/dist/styles/product-card.global.css +1 -1
  21. package/package.json +1 -2
  22. package/dist/node_modules/@faststore/components/dist/esm/atoms/Button/Button.js +0 -45
  23. package/dist/node_modules/@faststore/components/dist/esm/atoms/Loader/Loader.js +0 -34
  24. package/dist/node_modules/@faststore/components/dist/esm/molecules/IconButton/IconButton.js +0 -29
@@ -15,7 +15,7 @@ import { Children as X, useState as m, useRef as D, useEffect as Y } from "react
15
15
  import Z from "./components/Bullets.js";
16
16
  import E from "./components/Arrows.js";
17
17
  import { DefaultProps as M } from "./utils/defaultProps.js";
18
- /* empty css */const rt = ({
18
+ /* empty css */const rt = ({
19
19
  children: s,
20
20
  id: r,
21
21
  bullet: t,
@@ -1,6 +1,6 @@
1
1
  import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
2
  import { DiscountIcon as s } from "../../assets/svgs/DiscountIcon.js";
3
- /* empty css */const t = ({
3
+ /* empty css */const t = ({
4
4
  discount: a,
5
5
  participeLink: c,
6
6
  learnMoreLink: o,
@@ -4,7 +4,7 @@ import { Modal as M } from "../Modal/Modal.js";
4
4
  import { ProductSelected as N } from "./components/ProductSelected.js";
5
5
  import { SimilarProducts as k } from "./components/SimilarProducts.js";
6
6
  import { ModalFooter as v } from "./components/ModalFooter.js";
7
- /* empty css */import { getProductsSimilars as A } from "./api/getProductsSimilars.js";
7
+ /* empty css */import { getProductsSimilars as A } from "./api/getProductsSimilars.js";
8
8
  import E from "../../hooks/useAnalitcsEvents.js";
9
9
  import { NoSimilarProduct as _ } from "./components/NoSimilarProduct.js";
10
10
  import { getOrderForm as J } from "./api/getOrderForm.js";
@@ -6,7 +6,7 @@ import { CouponsView as H } from "./views/CouponsView.js";
6
6
  import { RulesView as K } from "./views/RulesView.js";
7
7
  import { OverwriteView as P } from "./views/OverwriteView.js";
8
8
  import { EmptyCartView as Q } from "./views/EmptyCartView.js";
9
- /* empty css */const I = ({
9
+ /* empty css */const I = ({
10
10
  orderFormId: h,
11
11
  hasItemsInCart: a,
12
12
  builder: j,
@@ -3,7 +3,7 @@ import { useRef as s, useEffect as p } from "react";
3
3
  import { ArrowIcon as g } from "../../assets/svgs/ArrowIcon.js";
4
4
  import { CloseIcon as k } from "../../assets/svgs/CloseIcon.js";
5
5
  import { HAS_WINDOW as v } from "../../constants/index.js";
6
- /* empty css */const R = (w) => {
6
+ /* empty css */const R = (w) => {
7
7
  const {
8
8
  isOpen: r,
9
9
  setIsOpen: C,
@@ -4,7 +4,7 @@ import { Header as x } from "./components/Header.js";
4
4
  import { Content as S } from "./components/Content.js";
5
5
  import { Footer as c } from "./components/Footer.js";
6
6
  import { TIPS_LENGTH as h } from "./constants/tips.js";
7
- /* empty css */const w = ({
7
+ /* empty css */const w = ({
8
8
  socialMediaLinks: a,
9
9
  handleCloseAction: r,
10
10
  handleFinishAction: n,
@@ -1,5 +1,5 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
- import o from "../../../node_modules/@faststore/components/dist/esm/atoms/Button/Button.js";
2
+ import o from "./CustomQuantitySelector/Button.js";
3
3
  const n = ({ handleAddToCart: t }) => /* @__PURE__ */ a(
4
4
  o,
5
5
  {
@@ -0,0 +1,18 @@
1
+ import { ButtonHTMLAttributes, ReactNode } from 'react';
2
+
3
+ export type Variant = 'primary' | 'secondary' | 'tertiary';
4
+ export type Size = 'small' | 'regular';
5
+ export type IconPosition = 'left' | 'right';
6
+ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
7
+ testId?: string;
8
+ variant?: Variant;
9
+ size?: Size;
10
+ inverse?: boolean;
11
+ disabled?: boolean;
12
+ icon?: ReactNode;
13
+ loading?: boolean;
14
+ loadingLabel?: string;
15
+ iconPosition?: IconPosition;
16
+ }
17
+ declare const Button: import('react').ForwardRefExoticComponent<ButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
18
+ export default Button;
@@ -0,0 +1,80 @@
1
+ var k = Object.defineProperty, y = Object.defineProperties;
2
+ var z = Object.getOwnPropertyDescriptors;
3
+ var e = Object.getOwnPropertySymbols;
4
+ var i = Object.prototype.hasOwnProperty, l = Object.prototype.propertyIsEnumerable;
5
+ var b = (t, a, r) => a in t ? k(t, a, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[a] = r, p = (t, a) => {
6
+ for (var r in a || (a = {}))
7
+ i.call(a, r) && b(t, r, a[r]);
8
+ if (e)
9
+ for (var r of e(a))
10
+ l.call(a, r) && b(t, r, a[r]);
11
+ return t;
12
+ }, m = (t, a) => y(t, z(a));
13
+ var h = (t, a) => {
14
+ var r = {};
15
+ for (var n in t)
16
+ i.call(t, n) && a.indexOf(n) < 0 && (r[n] = t[n]);
17
+ if (t != null && e)
18
+ for (var n of e(t))
19
+ a.indexOf(n) < 0 && l.call(t, n) && (r[n] = t[n]);
20
+ return r;
21
+ };
22
+ import { jsx as u, jsxs as c } from "react/jsx-runtime";
23
+ import { forwardRef as L } from "react";
24
+ import R from "./Loader.js";
25
+ const F = L(function(q, B) {
26
+ var s = q, {
27
+ children: a,
28
+ variant: r,
29
+ inverse: n,
30
+ size: g = "regular",
31
+ testId: x = "fs-button",
32
+ loading: o,
33
+ loadingLabel: j,
34
+ icon: d,
35
+ iconPosition: f = "left",
36
+ disabled: v
37
+ } = s, w = h(s, [
38
+ "children",
39
+ "variant",
40
+ "inverse",
41
+ "size",
42
+ "testId",
43
+ "loading",
44
+ "loadingLabel",
45
+ "icon",
46
+ "iconPosition",
47
+ "disabled"
48
+ ]);
49
+ return /* @__PURE__ */ u(
50
+ "button",
51
+ m(p({
52
+ ref: B,
53
+ "data-fs-button": !0,
54
+ "data-fs-button-inverse": n,
55
+ "data-fs-button-size": g,
56
+ "data-fs-button-loading": o,
57
+ "data-fs-button-variant": r,
58
+ disabled: v,
59
+ "data-testid": x
60
+ }, w), {
61
+ children: /* @__PURE__ */ c("div", { "data-fs-button-wrapper": !0, children: [
62
+ o && /* @__PURE__ */ c("p", { "data-fs-button-loading-label": !0, children: [
63
+ j,
64
+ /* @__PURE__ */ u(
65
+ R,
66
+ {
67
+ variant: r === "primary" && !n ? "light" : "dark"
68
+ }
69
+ )
70
+ ] }),
71
+ !!d && f === "left" && /* @__PURE__ */ u("span", { "data-fs-button-icon": !0, children: d }),
72
+ a && /* @__PURE__ */ u("span", { children: a }),
73
+ !!d && f === "right" && /* @__PURE__ */ u("span", { "data-fs-button-icon": !0, children: d })
74
+ ] })
75
+ })
76
+ );
77
+ });
78
+ export {
79
+ F as default
80
+ };
@@ -0,0 +1,10 @@
1
+ import { AriaAttributes, ReactNode } from 'react';
2
+ import { ButtonProps } from './Button';
3
+
4
+ export interface IconButtonProps extends Omit<ButtonProps, 'aria-label'> {
5
+ testId?: string;
6
+ icon: ReactNode;
7
+ 'aria-label': AriaAttributes['aria-label'];
8
+ }
9
+ declare const IconButton: import('react').ForwardRefExoticComponent<IconButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
10
+ export default IconButton;
@@ -0,0 +1,61 @@
1
+ var x = Object.defineProperty, I = Object.defineProperties;
2
+ var g = Object.getOwnPropertyDescriptors;
3
+ var n = Object.getOwnPropertySymbols;
4
+ var c = Object.prototype.hasOwnProperty, i = Object.prototype.propertyIsEnumerable;
5
+ var a = (t, o, r) => o in t ? x(t, o, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[o] = r, l = (t, o) => {
6
+ for (var r in o || (o = {}))
7
+ c.call(o, r) && a(t, r, o[r]);
8
+ if (n)
9
+ for (var r of n(o))
10
+ i.call(o, r) && a(t, r, o[r]);
11
+ return t;
12
+ }, m = (t, o) => I(t, g(o));
13
+ var s = (t, o) => {
14
+ var r = {};
15
+ for (var u in t)
16
+ c.call(t, u) && o.indexOf(u) < 0 && (r[u] = t[u]);
17
+ if (t != null && n)
18
+ for (var u of n(t))
19
+ o.indexOf(u) < 0 && i.call(t, u) && (r[u] = t[u]);
20
+ return r;
21
+ };
22
+ import { jsx as j } from "react/jsx-runtime";
23
+ import { forwardRef as w } from "react";
24
+ import y from "./Button.js";
25
+ const A = w(
26
+ function(R, B) {
27
+ var f = R, {
28
+ icon: o,
29
+ children: r,
30
+ testId: u = "fs-icon-button",
31
+ "aria-label": b,
32
+ size: d = "regular",
33
+ variant: e
34
+ } = f, p = s(f, [
35
+ "icon",
36
+ "children",
37
+ "testId",
38
+ "aria-label",
39
+ "size",
40
+ "variant"
41
+ ]);
42
+ return /* @__PURE__ */ j(
43
+ y,
44
+ m(l({
45
+ ref: B,
46
+ "data-fs-button": !0,
47
+ "data-fs-icon-button": !0,
48
+ variant: e != null ? e : "tertiary",
49
+ icon: o,
50
+ "aria-label": b,
51
+ testId: u,
52
+ size: d
53
+ }, p), {
54
+ children: r
55
+ })
56
+ );
57
+ }
58
+ );
59
+ export {
60
+ A as default
61
+ };
@@ -0,0 +1,8 @@
1
+ import { HTMLAttributes } from 'react';
2
+
3
+ export interface LoaderProps extends HTMLAttributes<HTMLSpanElement> {
4
+ testId?: string;
5
+ variant?: 'light' | 'dark';
6
+ }
7
+ declare const Loader: import('react').ForwardRefExoticComponent<LoaderProps & import('react').RefAttributes<HTMLDivElement>>;
8
+ export default Loader;
@@ -0,0 +1,44 @@
1
+ var c = Object.defineProperty, x = Object.defineProperties;
2
+ var j = Object.getOwnPropertyDescriptors;
3
+ var d = Object.getOwnPropertySymbols;
4
+ var n = Object.prototype.hasOwnProperty, i = Object.prototype.propertyIsEnumerable;
5
+ var f = (a, r, t) => r in a ? c(a, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : a[r] = t, l = (a, r) => {
6
+ for (var t in r || (r = {}))
7
+ n.call(r, t) && f(a, t, r[t]);
8
+ if (d)
9
+ for (var t of d(r))
10
+ i.call(r, t) && f(a, t, r[t]);
11
+ return a;
12
+ }, m = (a, r) => x(a, j(r));
13
+ var p = (a, r) => {
14
+ var t = {};
15
+ for (var e in a)
16
+ n.call(a, e) && r.indexOf(e) < 0 && (t[e] = a[e]);
17
+ if (a != null && d)
18
+ for (var e of d(a))
19
+ r.indexOf(e) < 0 && i.call(a, e) && (t[e] = a[e]);
20
+ return t;
21
+ };
22
+ import { jsxs as L, jsx as o } from "react/jsx-runtime";
23
+ import { forwardRef as h } from "react";
24
+ const b = h(function(k, u) {
25
+ var s = k, { testId: r = "fs-loader", variant: t = "dark" } = s, e = p(s, ["testId", "variant"]);
26
+ return /* @__PURE__ */ L(
27
+ "span",
28
+ m(l({
29
+ ref: u,
30
+ "data-fs-loader": !0,
31
+ "data-fs-loader-variant": t,
32
+ "data-testid": r
33
+ }, e), {
34
+ children: [
35
+ /* @__PURE__ */ o("span", { "data-fs-loader-item": !0 }),
36
+ /* @__PURE__ */ o("span", { "data-fs-loader-item": !0 }),
37
+ /* @__PURE__ */ o("span", { "data-fs-loader-item": !0 })
38
+ ]
39
+ })
40
+ );
41
+ });
42
+ export {
43
+ b as default
44
+ };
@@ -1,6 +1,21 @@
1
- import { IconButtonProps } from '@faststore/ui';
2
- import { InputHTMLAttributes } from 'react';
1
+ import { AriaAttributes, ButtonHTMLAttributes, InputHTMLAttributes, ReactNode } from 'react';
3
2
 
3
+ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
4
+ testId?: string;
5
+ variant?: 'primary' | 'secondary' | 'tertiary';
6
+ size?: 'small' | 'regular';
7
+ inverse?: boolean;
8
+ disabled?: boolean;
9
+ icon?: ReactNode;
10
+ loading?: boolean;
11
+ loadingLabel?: string;
12
+ iconPosition?: 'left' | 'right';
13
+ }
14
+ export interface IconButtonProps extends Omit<ButtonProps, 'aria-label'> {
15
+ testId?: string;
16
+ icon: ReactNode;
17
+ 'aria-label': AriaAttributes['aria-label'];
18
+ }
4
19
  export interface QuantitySelectorProps extends InputHTMLAttributes<HTMLDivElement> {
5
20
  quantity: number | string;
6
21
  leftButtonProps: Omit<IconButtonProps, 'aria-label'>;
@@ -21,7 +21,7 @@ var m = (t, a) => {
21
21
  };
22
22
  import { jsxs as q, jsx as n } from "react/jsx-runtime";
23
23
  import { forwardRef as Q } from "react";
24
- import p from "../../../../node_modules/@faststore/components/dist/esm/molecules/IconButton/IconButton.js";
24
+ import p from "./IconButton.js";
25
25
  const A = Q(function(j, h) {
26
26
  var s = j, {
27
27
  quantity: a,
@@ -1,7 +1,7 @@
1
1
  import { jsx as i } from "react/jsx-runtime";
2
2
  import { ProductCardHorizontal as b } from "./ProductCardHorizontal/index.js";
3
3
  import { ProductCardVertical as g } from "./ProductCardVertical/index.js";
4
- /* empty css */const E = ({
4
+ /* empty css */const E = ({
5
5
  product: l,
6
6
  variant: r,
7
7
  hasPlusFriendBadge: C = !1,
@@ -1,6 +1,6 @@
1
1
  import { jsx as r, jsxs as a } from "react/jsx-runtime";
2
2
  import { ProductCardSeeMoreHorizontal as s } from "./ProductCardSeeMoreHorizontal.js";
3
- /* empty css */const l = ({
3
+ /* empty css */const l = ({
4
4
  text: e,
5
5
  link: o,
6
6
  taggingEvent: c,
@@ -1,7 +1,7 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
2
  import { RegionalizationContextProvider as C } from "./context/RegionalizationContext.js";
3
3
  import { ViewsContainer as S } from "./views/ViewsContainer.js";
4
- /* empty css */const z = ({
4
+ /* empty css */const z = ({
5
5
  setMethod: r,
6
6
  setPickupName: a,
7
7
  setCity: o,
@@ -2,7 +2,7 @@ import { jsxs as n, Fragment as N, jsx as k } from "react/jsx-runtime";
2
2
  import { useState as S, useRef as H, useEffect as R } from "react";
3
3
  import { TourTooltip as j } from "./components/TourTooltip.js";
4
4
  import { TourOverlay as q } from "./components/TourOverlay.js";
5
- /* empty css */const D = ({
5
+ /* empty css */const D = ({
6
6
  steps: e,
7
7
  handleCloseAction: l,
8
8
  handleFinishAction: c,
@@ -1 +1 @@
1
- :root{--product-card-horizontal-width: 100px;--product-card-horizontal-margin: 8px;--product-card-horizontal-padding: 8px}#product-card,#product-card-unavailable{display:flex;flex-direction:column;min-height:276px;max-height:304px;height:100%}#product-card-unavailable.product-card-horizontal-unavailable{min-height:172px;max-height:206px}.product-card{display:flex;flex-direction:column;flex:1;position:relative;height:100%;cursor:pointer;border:1px solid var(--color-grayScale-lightest);border-top-left-radius:8px;border-top-right-radius:8px;border-bottom:0;overflow:hidden}.product-card-container{height:100%;display:flex;flex-direction:column;flex:1}.product-card,.product-card+#product-card-button,.product-card+.product-card-unavailable-text{width:162px;min-width:150px;max-width:162px}.product-card-description{display:flex;flex-direction:column;gap:4px;padding:8px;flex:1}.product-card-badge{display:flex;gap:4px}.product-card-badge-kg{display:inline-block;width:fit-content;height:16px;padding:2px 4px;background-color:var(--color-main);border-radius:2px;color:var(--color-grayScale-white);font-weight:var(--text-weight-bold);font-size:10px;line-height:13px;text-align:center;vertical-align:middle}.product-card-discount-badge{display:flex;align-items:center;justify-content:center;width:42px;height:16px;background-color:var(--color-badge-main);border-radius:2px}.product-card-discount-badge-value{font-weight:var(--text-weight-bold);font-size:var(--text-size-0);line-height:16px;color:var(--color-badge-secondary)}.product-card-badge-club{width:43px;background-color:var(--color-badge-main);border-radius:4px;text-align:center}.product-card-badge-club-text{font-weight:var(--text-weight-bold);font-size:var(--text-size-0);line-height:16px;color:var(--color-badge-secondary);padding:1px 0}.product-card-section-badge{display:flex;gap:4px}.product-card-horizontal{border-radius:8px}.product-card-horizontal{min-width:304px;max-width:304px;border-radius:8px;flex:1;display:flex;flex-direction:column;height:100%;max-height:206px}.product-card-horizontal+.product-card-unavailable-text{min-width:304px;max-width:304px}.product-card-section-product-horizontal{display:flex;align-items:center;position:relative;cursor:pointer;background-color:#fff;border:1px solid var(--color-grayScale-lightest);border-radius:8px;border-bottom:unset;border-bottom-left-radius:unset;border-bottom-right-radius:unset;height:100%}.product-card-section-product-horizontal .product-card-image-container{position:unset;height:100px;padding:0 var(--product-card-horizontal-padding);z-index:1;width:calc(var(--product-card-horizontal-width) + (var(--product-card-horizontal-margin) * 2));margin:0}.product-card-section-product-horizontal .product-card-image-container .image{width:var(--product-card-horizontal-width);height:100px;object-fit:contain}.product-card-horizontal-description{display:flex;flex-direction:column;gap:4px;min-height:123px;max-height:158px;padding:7.5px 8px;border-top-right-radius:7px;width:calc(100% - (var(--product-card-horizontal-width) + (var(--product-card-horizontal-margin) * 2)));height:100%}.product-card-section-name{display:flex;flex-direction:column;gap:4px}.product-card-horizontal-description .product-card-club-price{line-height:18px}.out-of-stock{min-height:126px}.out-of-stock-description-content{display:flex;flex-direction:column;flex:1}.product-card-section-product-horizontal .product-card-name{font-size:var(--text-size-1);line-height:20px;min-height:auto;height:100%;max-width:172px}.product-card-section-product-horizontal .product-card-section-badge-horizontal{display:flex;gap:4px;height:16px}.product-card-horizontal .product-card-price-container{display:flex;flex-direction:row;align-items:center;min-height:20px}.product-card-horizontal .product-card-price-container .product-card-old-price{padding-right:4px;border-right:1px solid var(--color-grayScale-light)}.product-card-horizontal .product-card-price-container .product-card-new-price{padding-left:4px;font-size:var(--text-size-2);line-height:20px}.product-card-section-badge-container.horizontal{position:unset;height:24px;width:100%}.product-card-button{display:flex;justify-content:center;align-items:center;width:162px;min-width:150px;max-width:162px;height:48px;padding:0;border:1px solid var(--color-main);border-top:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px;background-color:var(--color-main);color:var(--color-grayScale-white);font-weight:var(--text-weight-bold);font-size:var(--text-size-2);line-height:20px;cursor:pointer}.product-card-horizontal .product-card-button{font-size:var(--text-size-3);line-height:24px;width:100%;max-width:none}.product-card-button.unavailable{background-color:var(--color-grayScale-lightest);color:#545454;cursor:not-allowed}.product-card-button .button{padding:12px;border-bottom-left-radius:8px;border-bottom-right-radius:8px;font-size:var(--text-size-3);line-height:24px;max-height:unset}.product-card-image-container{position:relative;display:flex;justify-content:center;align-items:center;padding:7.5px 8px;background-color:#fff;border-top-left-radius:7px;border-top-right-radius:7px}.product-card-image-container .image{max-width:96px;height:96px;object-fit:contain}.product-club-badge{position:absolute;width:50px;height:18px;inset:8px 0 0 8px}.product-card-section-badge-container{position:absolute;bottom:8px;height:18px;width:calc(100% - 32px);display:flex;justify-content:center;align-items:center;border-radius:4px}.product-card-section-badge-text{font-weight:var(--text-weight-bold);font-size:var(--text-size-0);line-height:16px;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}.product-club-badge.horizontal{inset:9px 0 0 9px}.product-card-name{display:-webkit-box;font-weight:var(--text-weight-regular);font-size:var(--text-size-1);line-height:18px;color:#545454;vertical-align:middle;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card-price{display:flex;flex-direction:column;gap:4px;margin-top:auto}.product-card-club-price{display:inline-block;width:100%;padding:4px;background-color:#fadb9d;border-radius:4px;color:#2c3490;font-weight:var(--text-weight-bold);font-size:var(--text-size-0);line-height:16px}.product-card-old-price{height:16px;font-weight:400;font-size:var(--text-size-0);line-height:16px;color:#545454;text-decoration:line-through;vertical-align:middle}.product-card-new-price{font-weight:var(--text-weight-bold);font-size:var(--text-size-3);line-height:24px;color:var(--color-main);vertical-align:middle}.product-card-price-container{display:flex;flex-direction:column;min-height:24px}.product-card-old-price .mobile{display:block}@media (min-width: 769px){.product-card,.product-card+#product-card-button,.product-card+.product-card-unavailable-text{width:226px;max-width:226px}#product-card,#product-card-unavailable{min-height:324px;max-height:350px}.product-card-button{width:226px;max-width:226px}.product-card-description{padding:8px 16px}.product-card-unavailable{height:74px}.product-card-image-container{padding:15.5px 16px 7.5px}.product-card-image-container .image{max-width:144px;height:144px}.product-club-badge{width:67px;height:24px;inset:16px 0 0 16px}.product-card-section-badge-container{max-width:194px;height:24px}.product-card-section-badge-text{font-size:var(--text-size-1);line-height:18px}.product-card-name{font-size:var(--text-size-2);line-height:20px}.product-card-old-price .mobile{display:none}.product-card-old-price{padding-right:4px;border-right:2px solid var(--color-grayScale-light)}.product-card-new-price{padding-left:4px}.product-card-club-price{font-size:var(--text-size-1);line-height:18px}.product-card-price-container{display:flex;flex-direction:row;align-items:center}.product-card-badge-club{width:57px}.product-card-badge-club-text{font-size:var(--text-size-1);line-height:18px;padding:3px 0}}.quantity-selector{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;height:48px;border:1px solid var(--color-main);border-bottom-left-radius:8px;border-bottom-right-radius:8px;background-color:var(--bg-neutral-lightest);box-shadow:0 0 0 var(--border-width-0) var(--color-support-shadow);transition:box-shadow .2s ease}[data-store-quantity-selector] [data-store-icon]{display:inline-block;margin:0;color:var(--color-main);line-height:0}.quantity-selector .quantity-selector-quantity{display:block;width:100%;height:100%;padding:0;font-family:DM Sans,sans-serif;font-size:var;font-weight:400;line-height:20px;color:var(--color-grayScale);text-align:center;background-color:transparent;border-width:0;opacity:1}.quantity-selector .quantity-selector-quantity:focus{outline:0}.quantity-selector .quantity-selector-quantity:disabled{color:var(--color-grayScale);opacity:1}.quantity-selector-button{display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:var(--space-0);font-family:DM Sans,sans-serif;background-color:var(--color-grayScale-lightest);border:unset;border-bottom-left-radius:7px;cursor:pointer}.quantity-selector-button.quantity-selector-button-plus{border-bottom-right-radius:7px;border-bottom-left-radius:unset}.quantity-selector-measure-unit{font-family:DM Sans,sans-serif;font-size:var;font-weight:400;line-height:20px;color:var(--color-grayScale)}.quantity-selector .quantity-selector-button [data-store-icon]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:var(--border-radius-default);transition:background-color .2s ease}.quantity-selector .quantity-selector-button:hover:not(:disabled) [data-store-icon]{background-color:var(--bg-secondary-light)}.quantity-selector .quantity-selector-button:disabled{cursor:not-allowed}.quantity-selector .quantity-selector-button:disabled [data-store-icon]{color:var(--color-grayScale-light)}.quantity-selector:hover:not([data-store-quantity-selector=disabled]){box-shadow:0 0 0 var(--border-width-1) var(--color-support-shadow)}.quantity-selector[data-store-quantity-selector=disabled]{background-color:var(--color-grayScale-light);box-shadow:0 0 0 var(--border-width-0) var(--color-support-shadow)}.quantity-selector[data-store-quantity-selector=disabled] [data-quantity-selector-button]:hover [data-store-icon]{background-color:transparent}@media not all and (min-resolution: .001dpcm){@supports (-webkit-appearance: none){.quantity-selector .quantity-selector-button:focus{outline:none;box-shadow:none}.quantity-selector .quantity-selector-button:focus [data-store-icon]{outline:2px solid var(--color-main);outline-offset:2px;background-color:var(--bg-secondary-light)}}}.quantity-selector .quantity-selector-button:focus-visible{outline:none;box-shadow:none}.quantity-selector .quantity-selector-button:focus-visible [data-store-icon]{outline:2px solid var(--color-main);outline-offset:2px;background-color:var(--bg-secondary-light)}.product-add-text{display:block;height:10px;padding-bottom:17px;text-align:center;transition-delay:.25s;transition-property:margin-top}.product-add-text p{font-family:DM Sans,sans-serif;font-size:var(--text-size-0);font-weight:400;font-style:normal;line-height:16px;color:var(--color-positiveFeedback-dark);text-align:center;white-space:nowrap}@include media(">tablet"){.product-add-text p {font-size: var(--text-size-1); line-height: 18px;}}.product-card-unavailable-text{height:48px;width:100%;background-color:var(--color-grayScale-lightest);border:1px solid var(--color-grayScale-lightest);color:var(--color-grayScale-darkest);text-align:center;font-size:var(--text-size-3);font-weight:var(--text-weight-bold);line-height:24px;align-content:center;border-bottom-left-radius:8px;border-bottom-right-radius:8px}
1
+ :root{--product-card-horizontal-width: 100px;--product-card-horizontal-margin: 8px;--product-card-horizontal-padding: 8px}#product-card,#product-card-unavailable{display:flex;flex-direction:column;min-height:276px;max-height:304px;height:100%}#product-card-unavailable.product-card-horizontal-unavailable{min-height:172px;max-height:206px}.product-card{display:flex;flex-direction:column;flex:1;position:relative;height:100%;cursor:pointer;border:1px solid var(--color-grayScale-lightest);border-top-left-radius:8px;border-top-right-radius:8px;border-bottom:0;overflow:hidden}.product-card-container{height:100%;display:flex;flex-direction:column;flex:1}.product-card,.product-card+#product-card-button,.product-card+.product-card-unavailable-text{width:162px;min-width:150px;max-width:162px}.product-card-description{display:flex;flex-direction:column;gap:4px;padding:8px;flex:1}.product-card-badge{display:flex;gap:4px}.product-card-badge-kg{display:inline-block;width:fit-content;height:16px;padding:2px 4px;background-color:var(--color-main);border-radius:2px;color:var(--color-grayScale-white);font-weight:var(--text-weight-bold);font-size:10px;line-height:13px;text-align:center;vertical-align:middle}.product-card-discount-badge{display:flex;align-items:center;justify-content:center;width:42px;height:16px;background-color:var(--color-badge-main);border-radius:2px}.product-card-discount-badge-value{font-weight:var(--text-weight-bold);font-size:var(--text-size-0);line-height:16px;color:var(--color-badge-secondary)}.product-card-badge-club{width:43px;background-color:var(--color-badge-main);border-radius:4px;text-align:center}.product-card-badge-club-text{font-weight:var(--text-weight-bold);font-size:var(--text-size-0);line-height:16px;color:var(--color-badge-secondary);padding:1px 0}.product-card-section-badge{display:flex;gap:4px}.product-card-horizontal{border-radius:8px}.product-card-horizontal{min-width:304px;max-width:304px;border-radius:8px;flex:1;display:flex;flex-direction:column;height:100%;max-height:206px}.product-card-horizontal+.product-card-unavailable-text{min-width:304px;max-width:304px}.product-card-section-product-horizontal{display:flex;align-items:center;position:relative;cursor:pointer;background-color:#fff;border:1px solid var(--color-grayScale-lightest);border-radius:8px;border-bottom:unset;border-bottom-left-radius:unset;border-bottom-right-radius:unset;height:100%}.product-card-section-product-horizontal .product-card-image-container{position:unset;height:100px;padding:0 var(--product-card-horizontal-padding);width:calc(var(--product-card-horizontal-width) + (var(--product-card-horizontal-margin) * 2));margin:0}.product-card-section-product-horizontal .product-card-image-container .image{width:var(--product-card-horizontal-width);height:100px;object-fit:contain}.product-card-horizontal-description{display:flex;flex-direction:column;gap:4px;min-height:123px;max-height:158px;padding:7.5px 8px;border-top-right-radius:7px;width:calc(100% - (var(--product-card-horizontal-width) + (var(--product-card-horizontal-margin) * 2)));height:100%}.product-card-section-name{display:flex;flex-direction:column;gap:4px}.product-card-horizontal-description .product-card-club-price{line-height:18px}.out-of-stock{min-height:126px}.out-of-stock-description-content{display:flex;flex-direction:column;flex:1}.product-card-section-product-horizontal .product-card-name{font-size:var(--text-size-1);line-height:20px;min-height:auto;height:100%;max-width:172px}.product-card-section-product-horizontal .product-card-section-badge-horizontal{display:flex;gap:4px;height:16px}.product-card-horizontal .product-card-price-container{display:flex;flex-direction:row;align-items:center;min-height:20px}.product-card-horizontal .product-card-price-container .product-card-old-price{padding-right:4px;border-right:1px solid var(--color-grayScale-light)}.product-card-horizontal .product-card-price-container .product-card-new-price{padding-left:4px;font-size:var(--text-size-2);line-height:20px}.product-card-section-badge-container.horizontal{position:unset;height:24px;width:100%}.product-card-button{display:flex;justify-content:center;align-items:center;width:162px;min-width:150px;max-width:162px;height:48px;padding:0;border:1px solid var(--color-main);border-top:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px;background-color:var(--color-main);color:var(--color-grayScale-white);font-weight:var(--text-weight-bold);font-size:var(--text-size-2);line-height:20px;cursor:pointer}.product-card-horizontal .product-card-button{font-size:var(--text-size-3);line-height:24px;width:100%;max-width:none}.product-card-button.unavailable{background-color:var(--color-grayScale-lightest);color:#545454;cursor:not-allowed}.product-card-button .button{padding:12px;border-bottom-left-radius:8px;border-bottom-right-radius:8px;font-size:var(--text-size-3);line-height:24px;max-height:unset}.product-card-image-container{position:relative;display:flex;justify-content:center;align-items:center;padding:7.5px 8px;background-color:#fff;border-top-left-radius:7px;border-top-right-radius:7px}.product-card-image-container .image{max-width:96px;height:96px;object-fit:contain}.product-club-badge{position:absolute;width:50px;height:18px;inset:8px 0 0 8px}.product-card-section-badge-container{position:absolute;bottom:8px;height:18px;width:calc(100% - 32px);display:flex;justify-content:center;align-items:center;border-radius:4px}.product-card-section-badge-text{font-weight:var(--text-weight-bold);font-size:var(--text-size-0);line-height:16px;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}.product-club-badge.horizontal{inset:9px 0 0 9px}.product-card-name{display:-webkit-box;font-weight:var(--text-weight-regular);font-size:var(--text-size-1);line-height:18px;color:#545454;vertical-align:middle;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card-price{display:flex;flex-direction:column;gap:4px;margin-top:auto}.product-card-club-price{display:inline-block;width:100%;padding:4px;background-color:#fadb9d;border-radius:4px;color:#2c3490;font-weight:var(--text-weight-bold);font-size:var(--text-size-0);line-height:16px}.product-card-old-price{height:16px;font-weight:400;font-size:var(--text-size-0);line-height:16px;color:#545454;text-decoration:line-through;vertical-align:middle}.product-card-new-price{font-weight:var(--text-weight-bold);font-size:var(--text-size-3);line-height:24px;color:var(--color-main);vertical-align:middle}.product-card-price-container{display:flex;flex-direction:column;min-height:24px}.product-card-old-price .mobile{display:block}@media (min-width: 769px){.product-card,.product-card+#product-card-button,.product-card+.product-card-unavailable-text{width:226px;max-width:226px}#product-card,#product-card-unavailable{min-height:324px;max-height:350px}.product-card-button{width:226px;max-width:226px}.product-card-description{padding:8px 16px}.product-card-unavailable{height:74px}.product-card-image-container{padding:15.5px 16px 7.5px}.product-card-image-container .image{max-width:144px;height:144px}.product-club-badge{width:67px;height:24px;inset:16px 0 0 16px}.product-card-section-badge-container{max-width:194px;height:24px}.product-card-section-badge-text{font-size:var(--text-size-1);line-height:18px}.product-card-name{font-size:var(--text-size-2);line-height:20px}.product-card-old-price .mobile{display:none}.product-card-old-price{padding-right:4px;border-right:2px solid var(--color-grayScale-light)}.product-card-new-price{padding-left:4px}.product-card-club-price{font-size:var(--text-size-1);line-height:18px}.product-card-price-container{display:flex;flex-direction:row;align-items:center}.product-card-badge-club{width:57px}.product-card-badge-club-text{font-size:var(--text-size-1);line-height:18px;padding:3px 0}}.quantity-selector{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;height:48px;border:1px solid var(--color-main);border-bottom-left-radius:8px;border-bottom-right-radius:8px;background-color:var(--bg-neutral-lightest);box-shadow:0 0 0 var(--border-width-0) var(--color-support-shadow);transition:box-shadow .2s ease}[data-store-quantity-selector] [data-store-icon]{display:inline-block;margin:0;color:var(--color-main);line-height:0}.quantity-selector .quantity-selector-quantity{display:block;width:100%;height:100%;padding:0;font-family:DM Sans,sans-serif;font-size:var;font-weight:400;line-height:20px;color:var(--color-grayScale);text-align:center;background-color:transparent;border-width:0;opacity:1}.quantity-selector .quantity-selector-quantity:focus{outline:0}.quantity-selector .quantity-selector-quantity:disabled{color:var(--color-grayScale);opacity:1}.quantity-selector-button{display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:var(--space-0);font-family:DM Sans,sans-serif;background-color:var(--color-grayScale-lightest);border:unset;border-bottom-left-radius:7px;cursor:pointer}.quantity-selector-button.quantity-selector-button-plus{border-bottom-right-radius:7px;border-bottom-left-radius:unset}.quantity-selector-measure-unit{font-family:DM Sans,sans-serif;font-size:var;font-weight:400;line-height:20px;color:var(--color-grayScale)}.quantity-selector .quantity-selector-button [data-store-icon]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:var(--border-radius-default);transition:background-color .2s ease}.quantity-selector .quantity-selector-button:hover:not(:disabled) [data-store-icon]{background-color:var(--bg-secondary-light)}.quantity-selector .quantity-selector-button:disabled{cursor:not-allowed}.quantity-selector .quantity-selector-button:disabled [data-store-icon]{color:var(--color-grayScale-light)}.quantity-selector:hover:not([data-store-quantity-selector=disabled]){box-shadow:0 0 0 var(--border-width-1) var(--color-support-shadow)}.quantity-selector[data-store-quantity-selector=disabled]{background-color:var(--color-grayScale-light);box-shadow:0 0 0 var(--border-width-0) var(--color-support-shadow)}.quantity-selector[data-store-quantity-selector=disabled] [data-quantity-selector-button]:hover [data-store-icon]{background-color:transparent}@media not all and (min-resolution: .001dpcm){@supports (-webkit-appearance: none){.quantity-selector .quantity-selector-button:focus{outline:none;box-shadow:none}.quantity-selector .quantity-selector-button:focus [data-store-icon]{outline:2px solid var(--color-main);outline-offset:2px;background-color:var(--bg-secondary-light)}}}.quantity-selector .quantity-selector-button:focus-visible{outline:none;box-shadow:none}.quantity-selector .quantity-selector-button:focus-visible [data-store-icon]{outline:2px solid var(--color-main);outline-offset:2px;background-color:var(--bg-secondary-light)}.product-add-text{display:block;height:10px;padding-bottom:17px;text-align:center;transition-delay:.25s;transition-property:margin-top}.product-add-text p{font-family:DM Sans,sans-serif;font-size:var(--text-size-0);font-weight:400;font-style:normal;line-height:16px;color:var(--color-positiveFeedback-dark);text-align:center;white-space:nowrap}@include media(">tablet"){.product-add-text p {font-size: var(--text-size-1); line-height: 18px;}}.product-card-unavailable-text{height:48px;width:100%;background-color:var(--color-grayScale-lightest);border:1px solid var(--color-grayScale-lightest);color:var(--color-grayScale-darkest);text-align:center;font-size:var(--text-size-3);font-weight:var(--text-weight-bold);line-height:24px;align-content:center;border-bottom-left-radius:8px;border-bottom-right-radius:8px}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@plurix/ecom-components",
3
3
  "author": "Plurix",
4
4
  "private": false,
5
- "version": "1.14.2-commerce.3",
5
+ "version": "1.14.2-commerce.5",
6
6
  "type": "module",
7
7
  "main": "dist/main.js",
8
8
  "types": "dist/main.d.ts",
@@ -64,7 +64,6 @@
64
64
  "vite-plugin-lib-inject-css": "^2.0.1"
65
65
  },
66
66
  "dependencies": {
67
- "@faststore/ui": "^3.41.5",
68
67
  "axios": "^1.7.4"
69
68
  }
70
69
  }
@@ -1,45 +0,0 @@
1
- var R = Object.defineProperty;
2
- var o = Object.getOwnPropertySymbols;
3
- var b = Object.prototype.hasOwnProperty, m = Object.prototype.propertyIsEnumerable;
4
- var l = (e, a, t) => a in e ? R(e, a, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[a] = t, p = (e, a) => {
5
- for (var t in a || (a = {}))
6
- b.call(a, t) && l(e, t, a[t]);
7
- if (o)
8
- for (var t of o(a))
9
- m.call(a, t) && l(e, t, a[t]);
10
- return e;
11
- };
12
- var c = (e, a) => {
13
- var t = {};
14
- for (var r in e)
15
- b.call(e, r) && a.indexOf(r) < 0 && (t[r] = e[r]);
16
- if (e != null && o)
17
- for (var r of o(e))
18
- a.indexOf(r) < 0 && m.call(e, r) && (t[r] = e[r]);
19
- return t;
20
- };
21
- import n, { forwardRef as h } from "react";
22
- import k from "../Loader/Loader.js";
23
- const x = h(function(y, w) {
24
- var s = y, { children: a, variant: t, inverse: r, size: i = "regular", testId: E = "fs-button", loading: f, loadingLabel: g, icon: u, iconPosition: d = "left", disabled: B } = s, v = c(s, ["children", "variant", "inverse", "size", "testId", "loading", "loadingLabel", "icon", "iconPosition", "disabled"]);
25
- return n.createElement(
26
- "button",
27
- p({ ref: w, "data-fs-button": !0, "data-fs-button-inverse": r, "data-fs-button-size": i, "data-fs-button-loading": f, "data-fs-button-variant": t, disabled: B, "data-testid": E }, v),
28
- n.createElement(
29
- "div",
30
- { "data-fs-button-wrapper": !0 },
31
- f && n.createElement(
32
- "p",
33
- { "data-fs-button-loading-label": !0 },
34
- g,
35
- n.createElement(k, { variant: t === "primary" && !r ? "light" : "dark" })
36
- ),
37
- !!u && d === "left" && n.createElement("span", { "data-fs-button-icon": !0 }, u),
38
- a && n.createElement("span", null, a),
39
- !!u && d === "right" && n.createElement("span", { "data-fs-button-icon": !0 }, u)
40
- )
41
- );
42
- }), j = x;
43
- export {
44
- j as default
45
- };
@@ -1,34 +0,0 @@
1
- var u = Object.defineProperty;
2
- var d = Object.getOwnPropertySymbols;
3
- var f = Object.prototype.hasOwnProperty, l = Object.prototype.propertyIsEnumerable;
4
- var s = (e, t, a) => t in e ? u(e, t, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[t] = a, m = (e, t) => {
5
- for (var a in t || (t = {}))
6
- f.call(t, a) && s(e, a, t[a]);
7
- if (d)
8
- for (var a of d(t))
9
- l.call(t, a) && s(e, a, t[a]);
10
- return e;
11
- };
12
- var c = (e, t) => {
13
- var a = {};
14
- for (var r in e)
15
- f.call(e, r) && t.indexOf(r) < 0 && (a[r] = e[r]);
16
- if (e != null && d)
17
- for (var r of d(e))
18
- t.indexOf(r) < 0 && l.call(e, r) && (a[r] = e[r]);
19
- return a;
20
- };
21
- import o, { forwardRef as p } from "react";
22
- const E = p(function(L, i) {
23
- var n = L, { testId: t = "fs-loader", variant: a = "dark" } = n, r = c(n, ["testId", "variant"]);
24
- return o.createElement(
25
- "span",
26
- m({ ref: i, "data-fs-loader": !0, "data-fs-loader-variant": a, "data-testid": t }, r),
27
- o.createElement("span", { "data-fs-loader-item": !0 }),
28
- o.createElement("span", { "data-fs-loader-item": !0 }),
29
- o.createElement("span", { "data-fs-loader-item": !0 })
30
- );
31
- }), v = E;
32
- export {
33
- v as default
34
- };
@@ -1,29 +0,0 @@
1
- var I = Object.defineProperty;
2
- var r = Object.getOwnPropertySymbols;
3
- var f = Object.prototype.hasOwnProperty, s = Object.prototype.propertyIsEnumerable;
4
- var c = (t, e, o) => e in t ? I(t, e, { enumerable: !0, configurable: !0, writable: !0, value: o }) : t[e] = o, i = (t, e) => {
5
- for (var o in e || (e = {}))
6
- f.call(e, o) && c(t, o, e[o]);
7
- if (r)
8
- for (var o of r(e))
9
- s.call(e, o) && c(t, o, e[o]);
10
- return t;
11
- };
12
- var l = (t, e) => {
13
- var o = {};
14
- for (var n in t)
15
- f.call(t, n) && e.indexOf(n) < 0 && (o[n] = t[n]);
16
- if (t != null && r)
17
- for (var n of r(t))
18
- e.indexOf(n) < 0 && s.call(t, n) && (o[n] = t[n]);
19
- return o;
20
- };
21
- import p, { forwardRef as R } from "react";
22
- import g from "../../atoms/Button/Button.js";
23
- const w = R(function(x, B) {
24
- var a = x, { icon: e, children: o, testId: n = "fs-icon-button", "aria-label": b, size: d = "regular", variant: u } = a, m = l(a, ["icon", "children", "testId", "aria-label", "size", "variant"]);
25
- return p.createElement(g, i({ ref: B, "data-fs-button": !0, "data-fs-icon-button": !0, variant: u != null ? u : "tertiary", icon: e, "aria-label": b, testId: n, size: d }, m), o);
26
- }), $ = w;
27
- export {
28
- $ as default
29
- };