@faststore/components 3.9.0 → 3.11.2
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/cjs/organisms/SKUMatrix/SKUMatrixSidebar.d.ts +12 -2
- package/dist/cjs/organisms/SKUMatrix/SKUMatrixSidebar.js +4 -4
- package/dist/cjs/organisms/SKUMatrix/SKUMatrixSidebar.js.map +1 -1
- package/dist/esm/organisms/SKUMatrix/SKUMatrixSidebar.d.ts +12 -2
- package/dist/esm/organisms/SKUMatrix/SKUMatrixSidebar.js +4 -4
- package/dist/esm/organisms/SKUMatrix/SKUMatrixSidebar.js.map +1 -1
- package/package.json +2 -5
- package/src/organisms/SKUMatrix/SKUMatrixSidebar.tsx +25 -10
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { FunctionComponent } from 'react';
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import { PriceFormatter } from '../../atoms/Price';
|
|
3
4
|
import { SlideOverProps } from '../SlideOver';
|
|
@@ -14,7 +15,7 @@ interface VariationProductColumn {
|
|
|
14
15
|
price: number;
|
|
15
16
|
quantitySelector: number;
|
|
16
17
|
}
|
|
17
|
-
export interface SKUMatrixSidebarProps extends Omit<SlideOverProps, 'isOpen' | 'setIsOpen' |
|
|
18
|
+
export interface SKUMatrixSidebarProps extends Omit<SlideOverProps, 'isOpen' | 'setIsOpen' | 'fade'> {
|
|
18
19
|
/**
|
|
19
20
|
* Title for the SKUMatrixSidebar component.
|
|
20
21
|
*/
|
|
@@ -40,6 +41,15 @@ export interface SKUMatrixSidebarProps extends Omit<SlideOverProps, 'isOpen' | '
|
|
|
40
41
|
* Check if some result is still loading before render the result.
|
|
41
42
|
*/
|
|
42
43
|
loading?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Function that returns a React component that will be used to render images.
|
|
46
|
+
*/
|
|
47
|
+
ImageComponent: FunctionComponent<{
|
|
48
|
+
src: string;
|
|
49
|
+
alt: string;
|
|
50
|
+
width?: number;
|
|
51
|
+
height?: number;
|
|
52
|
+
}>;
|
|
43
53
|
}
|
|
44
|
-
declare function SKUMatrixSidebar({
|
|
54
|
+
declare function SKUMatrixSidebar({ title, direction, size, children, columns, loading, formatter, ImageComponent, buyProps: { onClick: buyButtonOnClick, ...buyProps }, overlayProps, ...otherProps }: SKUMatrixSidebarProps): React.JSX.Element;
|
|
45
55
|
export default SKUMatrixSidebar;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
const image_1 = tslib_1.__importDefault(require("next/image"));
|
|
5
4
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
5
|
const __1 = require("../..");
|
|
7
|
-
const Price_1 = tslib_1.__importDefault(require("../../atoms/Price"));
|
|
8
6
|
const Icon_1 = tslib_1.__importDefault(require("../../atoms/Icon"));
|
|
7
|
+
const Price_1 = tslib_1.__importDefault(require("../../atoms/Price"));
|
|
9
8
|
const hooks_1 = require("../../hooks");
|
|
10
9
|
const Table_1 = require("../../molecules/Table");
|
|
11
10
|
const SlideOver_1 = tslib_1.__importStar(require("../SlideOver"));
|
|
12
|
-
|
|
11
|
+
const ImageComponentFallback = ({ src, alt, ...otherProps }) => react_1.default.createElement("img", { src: src, alt: alt, ...otherProps });
|
|
12
|
+
function SKUMatrixSidebar({ title, direction = 'rightSide', size = 'partial', children, columns, loading, formatter, ImageComponent = ImageComponentFallback, buyProps: { onClick: buyButtonOnClick, ...buyProps }, overlayProps, ...otherProps }) {
|
|
13
13
|
const { isOpen, setIsOpen, setAllVariantProducts, allVariantProducts, onChangeQuantityItem, } = (0, hooks_1.useSKUMatrix)();
|
|
14
14
|
const { pushToast } = (0, hooks_1.useUI)();
|
|
15
15
|
const { fade } = (0, hooks_1.useFadeEffect)();
|
|
@@ -54,7 +54,7 @@ function SKUMatrixSidebar({ direction = 'rightSide', title, overlayProps, size =
|
|
|
54
54
|
})));
|
|
55
55
|
}))) : (react_1.default.createElement(react_1.default.Fragment, null, allVariantProducts.map((variantProduct) => (react_1.default.createElement(Table_1.TableRow, { key: `${variantProduct.name}-${variantProduct.id}` },
|
|
56
56
|
react_1.default.createElement(Table_1.TableCell, { "data-fs-sku-matrix-sidebar-cell-image": true, align: "left" },
|
|
57
|
-
react_1.default.createElement(
|
|
57
|
+
react_1.default.createElement(ImageComponent, { src: variantProduct.image.url, alt: variantProduct.image.alternateName }),
|
|
58
58
|
variantProduct.name),
|
|
59
59
|
columns.additionalColumns?.map(({ value }) => (react_1.default.createElement(Table_1.TableCell, { key: `${variantProduct.name}-${variantProduct.id}-${value}`, align: "left" }, variantProduct.specifications[value.toLowerCase()]))),
|
|
60
60
|
react_1.default.createElement(Table_1.TableCell, { align: "left" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SKUMatrixSidebar.js","sourceRoot":"","sources":["../../../../src/organisms/SKUMatrix/SKUMatrixSidebar.tsx"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"SKUMatrixSidebar.js","sourceRoot":"","sources":["../../../../src/organisms/SKUMatrix/SKUMatrixSidebar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { FunctionComponent } from 'react';
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import { PriceFormatter } from '../../atoms/Price';
|
|
3
4
|
import { SlideOverProps } from '../SlideOver';
|
|
@@ -14,7 +15,7 @@ interface VariationProductColumn {
|
|
|
14
15
|
price: number;
|
|
15
16
|
quantitySelector: number;
|
|
16
17
|
}
|
|
17
|
-
export interface SKUMatrixSidebarProps extends Omit<SlideOverProps, 'isOpen' | 'setIsOpen' |
|
|
18
|
+
export interface SKUMatrixSidebarProps extends Omit<SlideOverProps, 'isOpen' | 'setIsOpen' | 'fade'> {
|
|
18
19
|
/**
|
|
19
20
|
* Title for the SKUMatrixSidebar component.
|
|
20
21
|
*/
|
|
@@ -40,6 +41,15 @@ export interface SKUMatrixSidebarProps extends Omit<SlideOverProps, 'isOpen' | '
|
|
|
40
41
|
* Check if some result is still loading before render the result.
|
|
41
42
|
*/
|
|
42
43
|
loading?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Function that returns a React component that will be used to render images.
|
|
46
|
+
*/
|
|
47
|
+
ImageComponent: FunctionComponent<{
|
|
48
|
+
src: string;
|
|
49
|
+
alt: string;
|
|
50
|
+
width?: number;
|
|
51
|
+
height?: number;
|
|
52
|
+
}>;
|
|
43
53
|
}
|
|
44
|
-
declare function SKUMatrixSidebar({
|
|
54
|
+
declare function SKUMatrixSidebar({ title, direction, size, children, columns, loading, formatter, ImageComponent, buyProps: { onClick: buyButtonOnClick, ...buyProps }, overlayProps, ...otherProps }: SKUMatrixSidebarProps): React.JSX.Element;
|
|
45
55
|
export default SKUMatrixSidebar;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import Image from 'next/image';
|
|
2
1
|
import React, { useMemo } from 'react';
|
|
3
2
|
import { Badge, Button, QuantitySelector, Skeleton } from '../..';
|
|
4
|
-
import Price from '../../atoms/Price';
|
|
5
3
|
import Icon from '../../atoms/Icon';
|
|
4
|
+
import Price from '../../atoms/Price';
|
|
6
5
|
import { useFadeEffect, useSKUMatrix, useUI } from '../../hooks';
|
|
7
6
|
import { Table, TableBody, TableCell, TableHead, TableRow, } from '../../molecules/Table';
|
|
8
7
|
import SlideOver, { SlideOverHeader } from '../SlideOver';
|
|
9
|
-
|
|
8
|
+
const ImageComponentFallback = ({ src, alt, ...otherProps }) => React.createElement("img", { src: src, alt: alt, ...otherProps });
|
|
9
|
+
function SKUMatrixSidebar({ title, direction = 'rightSide', size = 'partial', children, columns, loading, formatter, ImageComponent = ImageComponentFallback, buyProps: { onClick: buyButtonOnClick, ...buyProps }, overlayProps, ...otherProps }) {
|
|
10
10
|
const { isOpen, setIsOpen, setAllVariantProducts, allVariantProducts, onChangeQuantityItem, } = useSKUMatrix();
|
|
11
11
|
const { pushToast } = useUI();
|
|
12
12
|
const { fade } = useFadeEffect();
|
|
@@ -51,7 +51,7 @@ function SKUMatrixSidebar({ direction = 'rightSide', title, overlayProps, size =
|
|
|
51
51
|
})));
|
|
52
52
|
}))) : (React.createElement(React.Fragment, null, allVariantProducts.map((variantProduct) => (React.createElement(TableRow, { key: `${variantProduct.name}-${variantProduct.id}` },
|
|
53
53
|
React.createElement(TableCell, { "data-fs-sku-matrix-sidebar-cell-image": true, align: "left" },
|
|
54
|
-
React.createElement(
|
|
54
|
+
React.createElement(ImageComponent, { src: variantProduct.image.url, alt: variantProduct.image.alternateName }),
|
|
55
55
|
variantProduct.name),
|
|
56
56
|
columns.additionalColumns?.map(({ value }) => (React.createElement(TableCell, { key: `${variantProduct.name}-${variantProduct.id}-${value}`, align: "left" }, variantProduct.specifications[value.toLowerCase()]))),
|
|
57
57
|
React.createElement(TableCell, { align: "left" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SKUMatrixSidebar.js","sourceRoot":"","sources":["../../../../src/organisms/SKUMatrix/SKUMatrixSidebar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SKUMatrixSidebar.js","sourceRoot":"","sources":["../../../../src/organisms/SKUMatrix/SKUMatrixSidebar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACjE,OAAO,IAAI,MAAM,kBAAkB,CAAA;AACnC,OAAO,KAAyB,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,EACL,KAAK,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,QAAQ,GACT,MAAM,uBAAuB,CAAA;AAC9B,OAAO,SAAS,EAAE,EAAE,eAAe,EAAkB,MAAM,cAAc,CAAA;AAYzE,MAAM,sBAAsB,GAA4C,CAAC,EACvE,GAAG,EACH,GAAG,EACH,GAAG,UAAU,EACd,EAAE,EAAE,CAAC,6BAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAM,UAAU,GAAI,CAAA;AAyCjD,SAAS,gBAAgB,CAAC,EACxB,KAAK,EACL,SAAS,GAAG,WAAW,EACvB,IAAI,GAAG,SAAS,EAChB,QAAQ,EACR,OAAO,EACP,OAAO,EACP,SAAS,EACT,cAAc,GAAG,sBAAsB,EACvC,QAAQ,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,QAAQ,EAAE,EACpD,YAAY,EACZ,GAAG,UAAU,EACS;IACtB,MAAM,EACJ,MAAM,EACN,SAAS,EACT,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,GACrB,GAAG,YAAY,EAAE,CAAA;IAClB,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,CAAA;IAC7B,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAAA;IAEhC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,OAAO,kBAAkB,CAAC,MAAM,CAC9B,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACjB,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,aAAa;YAC1C,QAAQ,EAAE,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,KAAK;SAC/D,CAAC,EACF,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAC3B,CAAA;IACH,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAExB,SAAS,kBAAkB;QACzB,qBAAqB,CAAC,CAAC,IAAI,EAAE,EAAE,CAC7B,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAC/C,CAAA;IACH,CAAC;IAED,SAAS,OAAO;QACd,kBAAkB,EAAE,CAAA;QACpB,SAAS,CAAC,KAAK,CAAC,CAAA;IAClB,CAAC;IAED,SAAS,eAAe,CAAC,CAAkD;QACzE,gBAAgB,CAAC,CAAC,CAAC,CAAA;QACnB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,0BAA0B,GAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC,MAAM;QACpE,CAAC,OAAO,CAAC,iBAAiB,EAAE,MAAM,IAAI,CAAC,CAAC,CAAA;IAE1C,OAAO,CACL,oBAAC,SAAS,wCAER,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,KACN,UAAU;QAEd,oBAAC,eAAe,IAAC,OAAO,EAAE,OAAO;YAC/B,wEAAsC,KAAK,CAAM,CACjC;QAEjB,QAAQ;QAET,oBAAC,KAAK,IAAC,OAAO,EAAC,UAAU;YACvB,oBAAC,SAAS;gBACR,oBAAC,QAAQ;oBACP,oBAAC,SAAS,IAAC,KAAK,EAAC,MAAM,EAAC,OAAO,EAAC,QAAQ,EAAC,KAAK,EAAC,KAAK,IACjD,OAAO,CAAC,IAAI,CACH;oBAEX,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACpD,oBAAC,SAAS,IAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAC,MAAM,EAAC,OAAO,EAAC,QAAQ,EAAC,KAAK,EAAC,KAAK,IAC7D,KAAK,CACI,CACb,CAAC;oBAEF,oBAAC,SAAS,IAAC,KAAK,EAAC,MAAM,EAAC,OAAO,EAAC,QAAQ,EAAC,KAAK,EAAC,KAAK,IACjD,OAAO,CAAC,YAAY,CAAC,KAAK,CACjB;oBAEZ,oBAAC,SAAS,IAAC,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,QAAQ,EAAC,KAAK,EAAC,KAAK,IAClD,OAAO,CAAC,KAAK,CACJ;oBAEZ,oBAAC,SAAS,IAAC,KAAK,EAAC,MAAM,EAAC,OAAO,EAAC,QAAQ,EAAC,KAAK,EAAC,KAAK,IACjD,OAAO,CAAC,gBAAgB,CACf,CACH,CACD;YAEZ,oBAAC,SAAS,QACP,OAAO,CAAC,CAAC,CAAC,CACT,0CACG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;gBAC1C,OAAO,CACL,oBAAC,QAAQ,IAAC,GAAG,EAAE,aAAa,KAAK,EAAE,IAChC,KAAK,CAAC,IAAI,CAAC;oBACV,MAAM,EAAE,0BAA0B;iBACnC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;oBAClB,OAAO,CACL,oBAAC,SAAS,IAAC,GAAG,EAAE,cAAc,KAAK,EAAE;wBACnC;4BACE,oBAAC,QAAQ,IACP,GAAG,EAAE,KAAK,EACV,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GACvC,CACG,CACG,CACb,CAAA;gBACH,CAAC,CAAC,CACO,CACZ,CAAA;YACH,CAAC,CAAC,CACD,CACJ,CAAC,CAAC,CAAC,CACF,0CACG,kBAAkB,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAC1C,oBAAC,QAAQ,IAAC,GAAG,EAAE,GAAG,cAAc,CAAC,IAAI,IAAI,cAAc,CAAC,EAAE,EAAE;gBAC1D,oBAAC,SAAS,mDAAuC,KAAK,EAAC,MAAM;oBAC3D,oBAAC,cAAc,IACb,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,EAC7B,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,aAAa,GACvC;oBACD,cAAc,CAAC,IAAI,CACV;gBAEX,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAC7C,oBAAC,SAAS,IACR,GAAG,EAAE,GAAG,cAAc,CAAC,IAAI,IAAI,cAAc,CAAC,EAAE,IAAI,KAAK,EAAE,EAC3D,KAAK,EAAC,MAAM,IAEX,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CACzC,CACb,CAAC;gBAEF,oBAAC,SAAS,IAAC,KAAK,EAAC,MAAM;oBACpB,OAAO,CAAC,YAAY,CAAC,oBAAoB;wBACxC,kBAAkB,IAAI,CACtB,oBAAC,KAAK,IACJ,OAAO,EACL,cAAc,CAAC,YAAY,KAAK,YAAY;4BAC1C,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,SAAS,IAGd,cAAc,CAAC,YAAY,KAAK,YAAY;wBAC3C,CAAC,CAAC,cAAc;wBAChB,CAAC,CAAC,WAAW,CACT,CACT;oBAEA,OAAO,CAAC,YAAY,CAAC,oBAAoB;wBACxC,mBAAmB,IAAI,cAAc,CAAC,SAAS,CACvC;gBAEZ,oBAAC,SAAS,IAAC,KAAK,EAAC,OAAO;oBACtB;wBACE,oBAAC,KAAK,IACJ,KAAK,EAAE,cAAc,CAAC,KAAK,EAC3B,OAAO,EAAC,MAAM,EACd,SAAS,EAAE,SAAS,GACpB,CACE,CACI;gBAEZ,oBAAC,SAAS,IACR,KAAK,EAAC,OAAO;oBAGb;wBACE,oBAAC,gBAAgB,IACf,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,cAAc,CAAC,SAAS,EAC7B,QAAQ,EACN,CAAC,cAAc,CAAC,SAAS;gCACzB,cAAc,CAAC,YAAY,KAAK,YAAY,EAE9C,OAAO,EAAE,cAAc,CAAC,aAAa,EACrC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,oBAAoB,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,EAEhD,cAAc,EAAE,CACd,GAAW,EACX,QAAgB,EAChB,QAAgB,EAChB,EAAE;gCACF,SAAS,CAAC;oCACR,KAAK,EAAE,mBAAmB;oCAC1B,OAAO,EAAE,oDAAoD,GAAG,OAAO,QAAQ,6BAA6B,QAAQ,GAAG;oCACvH,MAAM,EAAE,MAAM;oCACd,IAAI,EAAE,CACJ,oBAAC,IAAI,IACH,IAAI,EAAC,mBAAmB,EACxB,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,GACV,CACH;iCACF,CAAC,CAAA;4BACJ,CAAC,GACD,CACE,CACI,CACH,CACZ,CAAC,CACD,CACJ,CACS,CACN;QAER;YACE;gBACE;oBACG,WAAW,CAAC,MAAM;;oBAAG,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAC/D;gBACJ,oBAAC,KAAK,IACJ,KAAK,EAAE,WAAW,CAAC,QAAQ,EAC3B,OAAO,EAAC,MAAM,EACd,SAAS,EAAE,SAAS,GACpB,CACE;YAEN,oBAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,QAAQ,EAAE,CAAC,WAAW,CAAC,MAAM,EAC7B,OAAO,EAAE,eAAe,KACpB,QAAQ,kBAGL,CACF,CACC,CACb,CAAA;AACH,CAAC;AAED,eAAe,gBAAgB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@faststore/components",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.11.2",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
6
6
|
"typings": "dist/esm/index.d.ts",
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
"scripts": {
|
|
18
18
|
"dev": "tsc --watch",
|
|
19
19
|
"build": "tsc --module commonjs --outDir dist/cjs && tsc --module esnext --outDir dist/esm",
|
|
20
|
-
"lint": "eslint src/**/*.{ts,tsx}",
|
|
21
20
|
"test": "jest"
|
|
22
21
|
},
|
|
23
22
|
"repository": {
|
|
@@ -35,14 +34,12 @@
|
|
|
35
34
|
"react-dom": "^18.2.0"
|
|
36
35
|
},
|
|
37
36
|
"devDependencies": {
|
|
38
|
-
"@faststore/eslint-config": "^3.9.0",
|
|
39
37
|
"@faststore/shared": "^3.9.0",
|
|
40
38
|
"@testing-library/jest-dom": "^6.5.0",
|
|
41
39
|
"@testing-library/react": "^14.3.0",
|
|
42
40
|
"@types/jest-axe": "^3.5.9",
|
|
43
41
|
"@types/react": "^18.2.42",
|
|
44
42
|
"@types/react-dom": "^18.2.17",
|
|
45
|
-
"eslint": "7.32.0",
|
|
46
43
|
"jest": "^29.7.0",
|
|
47
44
|
"jest-axe": "^9.0.0",
|
|
48
45
|
"jest-environment-jsdom": "^29.7.0",
|
|
@@ -52,5 +49,5 @@
|
|
|
52
49
|
"volta": {
|
|
53
50
|
"extends": "../../package.json"
|
|
54
51
|
},
|
|
55
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "cc29bc35e13cc355af86de94fa69655e3477b144"
|
|
56
53
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
/* eslint-disable @next/next/no-img-element */
|
|
2
|
+
import type { FunctionComponent } from 'react'
|
|
2
3
|
import React, { useMemo } from 'react'
|
|
3
4
|
import { Badge, Button, QuantitySelector, Skeleton } from '../..'
|
|
4
|
-
import Price, { PriceFormatter } from '../../atoms/Price'
|
|
5
5
|
import Icon from '../../atoms/Icon'
|
|
6
|
+
import Price, { PriceFormatter } from '../../atoms/Price'
|
|
6
7
|
import { useFadeEffect, useSKUMatrix, useUI } from '../../hooks'
|
|
7
8
|
import {
|
|
8
9
|
Table,
|
|
@@ -12,7 +13,6 @@ import {
|
|
|
12
13
|
TableRow,
|
|
13
14
|
} from '../../molecules/Table'
|
|
14
15
|
import SlideOver, { SlideOverHeader, SlideOverProps } from '../SlideOver'
|
|
15
|
-
|
|
16
16
|
interface VariationProductColumn {
|
|
17
17
|
name: string
|
|
18
18
|
additionalColumns: Array<{ label: string; value: string }>
|
|
@@ -24,8 +24,15 @@ interface VariationProductColumn {
|
|
|
24
24
|
quantitySelector: number
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
const ImageComponentFallback: SKUMatrixSidebarProps['ImageComponent'] = ({
|
|
28
|
+
src,
|
|
29
|
+
alt,
|
|
30
|
+
...otherProps
|
|
31
|
+
}) => <img src={src} alt={alt} {...otherProps} />
|
|
32
|
+
|
|
33
|
+
// TODO: Moves this component to the `@faststore/core` package. We decided that it doesn't make sense to have this component in the library since it's vey specific to the SKU Matrix feature.
|
|
27
34
|
export interface SKUMatrixSidebarProps
|
|
28
|
-
extends Omit<SlideOverProps, 'isOpen' | 'setIsOpen' |
|
|
35
|
+
extends Omit<SlideOverProps, 'isOpen' | 'setIsOpen' | 'fade'> {
|
|
29
36
|
/**
|
|
30
37
|
* Title for the SKUMatrixSidebar component.
|
|
31
38
|
*/
|
|
@@ -51,18 +58,28 @@ export interface SKUMatrixSidebarProps
|
|
|
51
58
|
* Check if some result is still loading before render the result.
|
|
52
59
|
*/
|
|
53
60
|
loading?: boolean
|
|
61
|
+
/**
|
|
62
|
+
* Function that returns a React component that will be used to render images.
|
|
63
|
+
*/
|
|
64
|
+
ImageComponent: FunctionComponent<{
|
|
65
|
+
src: string
|
|
66
|
+
alt: string
|
|
67
|
+
width?: number
|
|
68
|
+
height?: number
|
|
69
|
+
}>
|
|
54
70
|
}
|
|
55
71
|
|
|
56
72
|
function SKUMatrixSidebar({
|
|
57
|
-
direction = 'rightSide',
|
|
58
73
|
title,
|
|
59
|
-
|
|
74
|
+
direction = 'rightSide',
|
|
60
75
|
size = 'partial',
|
|
61
76
|
children,
|
|
62
77
|
columns,
|
|
63
|
-
buyProps: { onClick: buyButtonOnClick, ...buyProps },
|
|
64
78
|
loading,
|
|
65
79
|
formatter,
|
|
80
|
+
ImageComponent = ImageComponentFallback,
|
|
81
|
+
buyProps: { onClick: buyButtonOnClick, ...buyProps },
|
|
82
|
+
overlayProps,
|
|
66
83
|
...otherProps
|
|
67
84
|
}: SKUMatrixSidebarProps) {
|
|
68
85
|
const {
|
|
@@ -177,11 +194,9 @@ function SKUMatrixSidebar({
|
|
|
177
194
|
{allVariantProducts.map((variantProduct) => (
|
|
178
195
|
<TableRow key={`${variantProduct.name}-${variantProduct.id}`}>
|
|
179
196
|
<TableCell data-fs-sku-matrix-sidebar-cell-image align="left">
|
|
180
|
-
<
|
|
197
|
+
<ImageComponent
|
|
181
198
|
src={variantProduct.image.url}
|
|
182
199
|
alt={variantProduct.image.alternateName}
|
|
183
|
-
width={48}
|
|
184
|
-
height={48}
|
|
185
200
|
/>
|
|
186
201
|
{variantProduct.name}
|
|
187
202
|
</TableCell>
|