@faststore/components 2.2.52 → 2.2.63
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/index.d.ts +2 -0
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/molecules/CartItem/CartItem.js +1 -3
- package/dist/cjs/molecules/CartItem/CartItem.js.map +1 -1
- package/dist/cjs/molecules/ProductCard/ProductCardContent.js +4 -8
- package/dist/cjs/molecules/ProductCard/ProductCardContent.js.map +1 -1
- package/dist/cjs/molecules/ProductPrice/ProductPrice.d.ts +24 -0
- package/dist/cjs/molecules/ProductPrice/ProductPrice.js +14 -0
- package/dist/cjs/molecules/ProductPrice/ProductPrice.js.map +1 -0
- package/dist/cjs/molecules/ProductPrice/index.d.ts +2 -0
- package/dist/cjs/molecules/ProductPrice/index.js +9 -0
- package/dist/cjs/molecules/ProductPrice/index.js.map +1 -0
- package/dist/cjs/molecules/SearchProducts/SearchProductItemContent.js +1 -3
- package/dist/cjs/molecules/SearchProducts/SearchProductItemContent.js.map +1 -1
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/molecules/CartItem/CartItem.js +2 -4
- package/dist/esm/molecules/CartItem/CartItem.js.map +1 -1
- package/dist/esm/molecules/ProductCard/ProductCardContent.js +5 -9
- package/dist/esm/molecules/ProductCard/ProductCardContent.js.map +1 -1
- package/dist/esm/molecules/ProductPrice/ProductPrice.d.ts +24 -0
- package/dist/esm/molecules/ProductPrice/ProductPrice.js +11 -0
- package/dist/esm/molecules/ProductPrice/ProductPrice.js.map +1 -0
- package/dist/esm/molecules/ProductPrice/index.d.ts +2 -0
- package/dist/esm/molecules/ProductPrice/index.js +2 -0
- package/dist/esm/molecules/ProductPrice/index.js.map +1 -0
- package/dist/esm/molecules/SearchProducts/SearchProductItemContent.js +2 -4
- package/dist/esm/molecules/SearchProducts/SearchProductItemContent.js.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +2 -0
- package/src/molecules/CartItem/CartItem.tsx +13 -15
- package/src/molecules/ProductCard/ProductCardContent.tsx +10 -40
- package/src/molecules/ProductPrice/ProductPrice.tsx +71 -0
- package/src/molecules/ProductPrice/index.ts +2 -0
- package/src/molecules/SearchProducts/SearchProductItemContent.tsx +9 -18
package/dist/cjs/index.d.ts
CHANGED
|
@@ -63,6 +63,8 @@ export { default as OrderSummary } from './molecules/OrderSummary';
|
|
|
63
63
|
export type { OrderSummaryProps } from './molecules/OrderSummary';
|
|
64
64
|
export { default as ProductCard, ProductCardImage, ProductCardContent, } from './molecules/ProductCard';
|
|
65
65
|
export type { ProductCardProps, ProductCardImageProps, ProductCardContentProps, } from './molecules/ProductCard';
|
|
66
|
+
export { default as ProductPrice } from './molecules/ProductPrice';
|
|
67
|
+
export type { ProductPriceProps } from './molecules/ProductPrice';
|
|
66
68
|
export { default as ProductTitle } from './molecules/ProductTitle';
|
|
67
69
|
export type { ProductTitleProps } from './molecules/ProductTitle';
|
|
68
70
|
export { default as RadioField } from './molecules/RadioField';
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ProductCard = exports.OrderSummary = exports.NavbarLinksListItem = exports.NavbarLinksList = exports.NavbarLinks = exports.ModalBody = exports.ModalHeader = exports.Modal = exports.LinkButton = exports.InputField = exports.GiftImage = exports.GiftContent = exports.Gift = exports.DropdownMenu = exports.DropdownItem = exports.DropdownButton = exports.Dropdown = exports.DiscountBadge = exports.IconButton = exports.CheckboxField = exports.CartItemSummary = exports.CartItemImage = exports.CartItem = exports.CarouselBullets = exports.CarouselItem = exports.Carousel = exports.BuyButton = exports.Breadcrumb = exports.BreadcrumbPure = exports.Alert = exports.AccordionPanel = exports.AccordionButton = exports.AccordionItem = exports.Accordion = exports.SROnly = exports.Slider = exports.Select = exports.Skeleton = exports.Radio = exports.Price = exports.Overlay = exports.List = exports.Loader = exports.Link = exports.Label = exports.Input = exports.Icon = exports.Checkbox = exports.Button = exports.Badge = void 0;
|
|
4
|
-
exports.
|
|
5
|
-
exports.SlideOverHeader = exports.SlideOver = exports.ShippingSimulation = exports.SearchInput = exports.RegionModal = exports.ProductShelfItem = exports.ProductShelfItems = exports.ProductShelf = exports.ProductGridItem = exports.ProductGrid = exports.PriceRange = exports.PaymentMethods = exports.OutOfStock = exports.NavbarSliderFooter = exports.NavbarSliderContent = exports.NavbarSliderHeader = exports.NavbarSlider = exports.NavbarButtons = exports.NavbarRow = exports.NavbarHeader = exports.Navbar = exports.ImageGalleryViewer = exports.ImageGallerySelector = void 0;
|
|
4
|
+
exports.HeroHeader = exports.HeroImage = exports.Hero = exports.FilterSlider = exports.FilterFacets = exports.FilterFacetRange = exports.FilterFacetBooleanItem = exports.FilterFacetBoolean = exports.Filter = exports.EmptyState = exports.CartSidebarFooter = exports.CartSidebarList = exports.CartSidebar = exports.BannerTextContent = exports.BannerText = exports.QuantitySelector = exports.ToggleField = exports.Toggle = exports.Toast = exports.Tag = exports.TableRow = exports.TableHead = exports.TableFooter = exports.TableCell = exports.TableBody = exports.Table = exports.SkuSelector = exports.SelectField = exports.SearchTopTerm = exports.SearchTop = exports.SearchProductItemContent = exports.SearchProductItemImage = exports.SearchProductItem = exports.SearchProducts = exports.SearchHistoryTerm = exports.SearchHistory = exports.SearchDropdown = exports.SearchAutoCompleteTerm = exports.SearchAutoComplete = exports.SearchInputField = exports.SearchProvider = exports.RegionBar = exports.Rating = exports.RadioOption = exports.RadioGroup = exports.RadioField = exports.ProductTitle = exports.ProductPrice = exports.ProductCardContent = exports.ProductCardImage = void 0;
|
|
5
|
+
exports.SlideOverHeader = exports.SlideOver = exports.ShippingSimulation = exports.SearchInput = exports.RegionModal = exports.ProductShelfItem = exports.ProductShelfItems = exports.ProductShelf = exports.ProductGridItem = exports.ProductGrid = exports.PriceRange = exports.PaymentMethods = exports.OutOfStock = exports.NavbarSliderFooter = exports.NavbarSliderContent = exports.NavbarSliderHeader = exports.NavbarSlider = exports.NavbarButtons = exports.NavbarRow = exports.NavbarHeader = exports.Navbar = exports.ImageGalleryViewer = exports.ImageGallerySelector = exports.ImageGallery = void 0;
|
|
6
6
|
const tslib_1 = require("tslib");
|
|
7
7
|
// Hooks
|
|
8
8
|
tslib_1.__exportStar(require("./hooks"), exports);
|
|
@@ -93,6 +93,8 @@ var ProductCard_1 = require("./molecules/ProductCard");
|
|
|
93
93
|
Object.defineProperty(exports, "ProductCard", { enumerable: true, get: function () { return tslib_1.__importDefault(ProductCard_1).default; } });
|
|
94
94
|
Object.defineProperty(exports, "ProductCardImage", { enumerable: true, get: function () { return ProductCard_1.ProductCardImage; } });
|
|
95
95
|
Object.defineProperty(exports, "ProductCardContent", { enumerable: true, get: function () { return ProductCard_1.ProductCardContent; } });
|
|
96
|
+
var ProductPrice_1 = require("./molecules/ProductPrice");
|
|
97
|
+
Object.defineProperty(exports, "ProductPrice", { enumerable: true, get: function () { return tslib_1.__importDefault(ProductPrice_1).default; } });
|
|
96
98
|
var ProductTitle_1 = require("./molecules/ProductTitle");
|
|
97
99
|
Object.defineProperty(exports, "ProductTitle", { enumerable: true, get: function () { return tslib_1.__importDefault(ProductTitle_1).default; } });
|
|
98
100
|
var RadioField_1 = require("./molecules/RadioField");
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,9 +9,7 @@ const CartItem = (0, react_1.forwardRef)(function CartItem({ testId = 'fs-cart-i
|
|
|
9
9
|
react_1.default.createElement(__1.IconButton, { "data-fs-cart-item-remove-button": true, icon: react_1.default.createElement(__1.Icon, { name: "XCircle" }), "aria-label": "Remove", ...removeBtnProps }),
|
|
10
10
|
react_1.default.createElement("div", { "data-fs-cart-item-actions": true },
|
|
11
11
|
react_1.default.createElement(__1.QuantitySelector, { min: 1, initial: quantity, onChange: onQuantityChange }),
|
|
12
|
-
react_1.default.createElement(
|
|
13
|
-
react_1.default.createElement(__1.Price, { value: price?.listPrice ? price.listPrice : 0, formatter: price?.formatter, variant: "listing", SRText: "Original price:" }),
|
|
14
|
-
react_1.default.createElement(__1.Price, { value: price?.value ? price.value : 0, formatter: price?.formatter, variant: "spot", SRText: "Price:" })))));
|
|
12
|
+
react_1.default.createElement(__1.ProductPrice, { "data-fs-cart-item-prices": true, listPrice: price?.listPrice ? price.listPrice : 0, value: price?.value ? price.value : 0, formatter: price?.formatter }))));
|
|
15
13
|
});
|
|
16
14
|
exports.default = CartItem;
|
|
17
15
|
//# sourceMappingURL=CartItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CartItem.js","sourceRoot":"","sources":["../../../../src/molecules/CartItem/CartItem.tsx"],"names":[],"mappings":";;;AACA,uDAAyC;AAEzC,
|
|
1
|
+
{"version":3,"file":"CartItem.js","sourceRoot":"","sources":["../../../../src/molecules/CartItem/CartItem.tsx"],"names":[],"mappings":";;;AACA,uDAAyC;AAEzC,8BAMe;AA+Bf,MAAM,QAAQ,GAAG,IAAA,kBAAU,EAAgC,SAAS,QAAQ,CAC1E,EACE,MAAM,GAAG,cAAc,EACvB,KAAK,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,GAAG,UAAU,EACd,EACD,GAAG;IAEH,OAAO,CACL,2CACE,GAAG,EAAE,GAAG,uBACW,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,iBAC1C,MAAM,KACf,UAAU;QAEd,4EAAgC,QAAQ,CAAO;QAC/C,8BAAC,cAAU,6CAET,IAAI,EAAE,8BAAC,QAAI,IAAC,IAAI,EAAC,SAAS,GAAG,gBAClB,QAAQ,KACf,cAAc,GAClB;QACF;YACE,8BAAC,oBAAgB,IACf,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,gBAAgB,GAC1B;YACF,8BAAC,gBAAY,sCAEX,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACjD,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACrC,SAAS,EAAE,KAAK,EAAE,SAAS,GAC3B,CACE,CACE,CACX,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,kBAAe,QAAQ,CAAA"}
|
|
@@ -4,20 +4,16 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
5
5
|
const __1 = require("../../");
|
|
6
6
|
const ProductCardContent = (0, react_1.forwardRef)(function CardContent({ testId = 'fs-product-card-content', title, linkProps, price, outOfStock, outOfStockLabel = 'Out of stock', ratingValue, showDiscountBadge, buttonLabel = 'Add', onButtonClick, children, ...otherProps }, ref) {
|
|
7
|
-
const
|
|
8
|
-
const sellingPrice = price?.value
|
|
7
|
+
const listingPrice = price?.listPrice ? price.listPrice : 0;
|
|
8
|
+
const sellingPrice = price?.value ? price.value : 0;
|
|
9
9
|
return (react_1.default.createElement("section", { ref: ref, "data-fs-product-card-content": true, "data-fs-product-card-badge": showDiscountBadge, "data-testid": testId, ...otherProps },
|
|
10
10
|
react_1.default.createElement("div", { "data-fs-product-card-heading": true },
|
|
11
11
|
react_1.default.createElement("h3", { "data-fs-product-card-title": true },
|
|
12
12
|
react_1.default.createElement(__1.Link, { ...linkProps, title: title },
|
|
13
13
|
react_1.default.createElement("span", null, title))),
|
|
14
|
-
!outOfStock && (react_1.default.createElement(
|
|
15
|
-
? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
16
|
-
react_1.default.createElement(__1.Price, { value: listPrice, formatter: price?.formatter, testId: "list-price", "data-value": listPrice, variant: "listing", SRText: "Original price:" }),
|
|
17
|
-
react_1.default.createElement(__1.Price, { value: sellingPrice, formatter: price?.formatter, testId: "price", "data-value": sellingPrice, variant: "spot", SRText: "Sale Price:" })))
|
|
18
|
-
: (react_1.default.createElement(__1.Price, { value: sellingPrice, formatter: price?.formatter, testId: "price", "data-value": sellingPrice, variant: "spot", SRText: "Sale Price:" })))),
|
|
14
|
+
!outOfStock && (react_1.default.createElement(__1.ProductPrice, { "data-fs-product-card-prices": true, value: sellingPrice, listPrice: listingPrice, formatter: price?.formatter })),
|
|
19
15
|
ratingValue && (react_1.default.createElement(__1.Rating, { value: ratingValue, icon: react_1.default.createElement(__1.Icon, { name: "Star" }) }))),
|
|
20
|
-
showDiscountBadge && !outOfStock && (react_1.default.createElement(__1.DiscountBadge, { listPrice:
|
|
16
|
+
showDiscountBadge && !outOfStock && (react_1.default.createElement(__1.DiscountBadge, { listPrice: listingPrice, spotPrice: sellingPrice })),
|
|
21
17
|
outOfStock && react_1.default.createElement(__1.Badge, null, outOfStockLabel),
|
|
22
18
|
onButtonClick && !outOfStock && (react_1.default.createElement("div", { "data-fs-product-card-actions": true },
|
|
23
19
|
react_1.default.createElement(__1.Button, { variant: "primary", icon: react_1.default.createElement(__1.Icon, { name: "ShoppingCart" }), iconPosition: "left", size: "small", onClick: onButtonClick }, buttonLabel)))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductCardContent.js","sourceRoot":"","sources":["../../../../src/molecules/ProductCard/ProductCardContent.tsx"],"names":[],"mappings":";;;AACA,uDAAyC;AAIzC,8BAUe;AA6Cf,MAAM,kBAAkB,GAAG,IAAA,kBAAU,EACnC,SAAS,WAAW,CAClB,EACE,MAAM,GAAG,yBAAyB,EAClC,KAAK,EACL,SAAS,EACT,KAAK,EACL,UAAU,EACV,eAAe,GAAG,cAAc,EAChC,WAAW,EACX,iBAAiB,EACjB,WAAW,GAAG,KAAK,EACnB,aAAa,EACb,QAAQ,EACR,GAAG,UAAU,EACd,EACD,GAAG;IAEH,MAAM,
|
|
1
|
+
{"version":3,"file":"ProductCardContent.js","sourceRoot":"","sources":["../../../../src/molecules/ProductCard/ProductCardContent.tsx"],"names":[],"mappings":";;;AACA,uDAAyC;AAIzC,8BAUe;AA6Cf,MAAM,kBAAkB,GAAG,IAAA,kBAAU,EACnC,SAAS,WAAW,CAClB,EACE,MAAM,GAAG,yBAAyB,EAClC,KAAK,EACL,SAAS,EACT,KAAK,EACL,UAAU,EACV,eAAe,GAAG,cAAc,EAChC,WAAW,EACX,iBAAiB,EACjB,WAAW,GAAG,KAAK,EACnB,aAAa,EACb,QAAQ,EACR,GAAG,UAAU,EACd,EACD,GAAG;IAEH,MAAM,YAAY,GAAG,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3D,MAAM,YAAY,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAEnD,OAAO,CACL,2CACE,GAAG,EAAE,GAAG,sEAEoB,iBAAiB,iBAChC,MAAM,KACf,UAAU;QAEd;YACE;gBACE,8BAAC,QAAI,OAAK,SAAS,EAAE,KAAK,EAAE,KAAK;oBAC/B,4CAAO,KAAK,CAAQ,CACf,CACJ;YACJ,CAAC,UAAU,IAAI,CACd,8BAAC,gBAAY,yCAEX,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,KAAK,EAAE,SAAS,GAC3B,CACH;YACA,WAAW,IAAI,CACd,8BAAC,UAAM,IAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,8BAAC,QAAI,IAAC,IAAI,EAAC,MAAM,GAAG,GAAI,CAC3D,CACG;QACL,iBAAiB,IAAI,CAAC,UAAU,IAAI,CACnC,8BAAC,iBAAa,IAAC,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,GAAI,CACpE;QACA,UAAU,IAAI,8BAAC,SAAK,QAAE,eAAe,CAAS;QAC9C,aAAa,IAAI,CAAC,UAAU,IAAI,CAC/B;YACE,8BAAC,UAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAE,8BAAC,QAAI,IAAC,IAAI,EAAC,cAAc,GAAG,EAClC,YAAY,EAAC,MAAM,EACnB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,aAAa,IAErB,WAAW,CACL,CACL,CACP,CACO,CACX,CAAA;AACH,CAAC,CACF,CAAA;AAED,kBAAe,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { HTMLAttributes } from 'react';
|
|
3
|
+
import type { PriceFormatter } from '../../atoms/Price';
|
|
4
|
+
export interface ProductPriceProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
|
+
/**
|
|
6
|
+
* Specifies product's raw price value.
|
|
7
|
+
*/
|
|
8
|
+
value: number;
|
|
9
|
+
/**
|
|
10
|
+
* Specifies product's listing price.
|
|
11
|
+
*/
|
|
12
|
+
listPrice: number;
|
|
13
|
+
/**
|
|
14
|
+
* Formatter function that transforms the raw price value and render the result.
|
|
15
|
+
*/
|
|
16
|
+
formatter?: PriceFormatter;
|
|
17
|
+
/**
|
|
18
|
+
* ID to find this component in testing tools (e.g.: cypress,
|
|
19
|
+
* testing-library, and jest).
|
|
20
|
+
*/
|
|
21
|
+
testId?: string;
|
|
22
|
+
}
|
|
23
|
+
declare const ProductPrice: React.ForwardRefExoticComponent<ProductPriceProps & React.RefAttributes<HTMLDivElement>>;
|
|
24
|
+
export default ProductPrice;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
5
|
+
const __1 = require("../../");
|
|
6
|
+
const ProductPrice = (0, react_1.forwardRef)(function ProductCard({ testId = 'fs-product-price', value, listPrice, formatter, ...otherProps }, ref) {
|
|
7
|
+
const listingPrice = listPrice ?? 0;
|
|
8
|
+
const sellingPrice = value ?? 0;
|
|
9
|
+
return (react_1.default.createElement("div", { ref: ref, "data-fs-product-price": true, "data-testid": testId, ...otherProps }, sellingPrice !== listingPrice && listingPrice !== 0 ? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
10
|
+
react_1.default.createElement(__1.Price, { value: listingPrice, formatter: formatter, testId: "list-price", "data-value": listingPrice, variant: "listing", SRText: "Original price:" }),
|
|
11
|
+
react_1.default.createElement(__1.Price, { value: sellingPrice, formatter: formatter, testId: "price", "data-value": sellingPrice, variant: "spot", SRText: "Price:" }))) : (react_1.default.createElement(__1.Price, { value: sellingPrice, formatter: formatter, testId: "price", "data-value": sellingPrice, variant: "spot", SRText: "Price:" }))));
|
|
12
|
+
});
|
|
13
|
+
exports.default = ProductPrice;
|
|
14
|
+
//# sourceMappingURL=ProductPrice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductPrice.js","sourceRoot":"","sources":["../../../../src/molecules/ProductPrice/ProductPrice.tsx"],"names":[],"mappings":";;;AAAA,uDAAyC;AAIzC,8BAA8B;AAsB9B,MAAM,YAAY,GAAG,IAAA,kBAAU,EAC7B,SAAS,WAAW,CAClB,EAAE,MAAM,GAAG,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,EAC3E,GAAG;IAEH,MAAM,YAAY,GAAG,SAAS,IAAI,CAAC,CAAA;IACnC,MAAM,YAAY,GAAG,KAAK,IAAI,CAAC,CAAA;IAE/B,OAAO,CACL,uCAAK,GAAG,EAAE,GAAG,gDAAqC,MAAM,KAAM,UAAU,IACrE,YAAY,KAAK,YAAY,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CACrD;QACE,8BAAC,SAAK,IACJ,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAC,YAAY,gBACP,YAAY,EACxB,OAAO,EAAC,SAAS,EACjB,MAAM,EAAC,iBAAiB,GACxB;QACF,8BAAC,SAAK,IACJ,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAC,OAAO,gBACF,YAAY,EACxB,OAAO,EAAC,MAAM,EACd,MAAM,EAAC,QAAQ,GACf,CACD,CACJ,CAAC,CAAC,CAAC,CACF,8BAAC,SAAK,IACJ,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAC,OAAO,gBACF,YAAY,EACxB,OAAO,EAAC,MAAM,EACd,MAAM,EAAC,QAAQ,GACf,CACH,CACG,CACP,CAAA;AACH,CAAC,CACF,CAAA;AAED,kBAAe,YAAY,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var ProductPrice_1 = require("./ProductPrice");
|
|
8
|
+
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(ProductPrice_1).default; } });
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/molecules/ProductPrice/index.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAwC;AAA/B,wHAAA,OAAO,OAAA"}
|
|
@@ -6,9 +6,7 @@ const __1 = require("../..");
|
|
|
6
6
|
const SearchProductItemContent = (0, react_1.forwardRef)(function SearchProductItemContent({ price, title, ...otherProps }, ref) {
|
|
7
7
|
return (react_1.default.createElement("section", { ref: ref, "data-fs-search-product-item-content": true, ...otherProps },
|
|
8
8
|
react_1.default.createElement("p", { "data-fs-search-product-item-title": true }, title),
|
|
9
|
-
react_1.default.createElement(
|
|
10
|
-
react_1.default.createElement(__1.Price, { value: price?.listPrice ? price.listPrice : 0, formatter: price?.formatter, testId: "list-price", "data-value": price?.listPrice, variant: "listing", SRText: "Original price:" }),
|
|
11
|
-
react_1.default.createElement(__1.Price, { value: price?.value ? price.value : 0, formatter: price?.formatter, testId: "price", "data-value": price?.value, variant: "spot", SRText: "Price:" }))));
|
|
9
|
+
price.value !== 0 && (react_1.default.createElement(__1.ProductPrice, { "data-fs-search-product-item-prices": true, listPrice: price.listPrice, value: price.value, formatter: price.formatter }))));
|
|
12
10
|
});
|
|
13
11
|
exports.default = SearchProductItemContent;
|
|
14
12
|
//# sourceMappingURL=SearchProductItemContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchProductItemContent.js","sourceRoot":"","sources":["../../../../src/molecules/SearchProducts/SearchProductItemContent.tsx"],"names":[],"mappings":";;;AAAA,uDAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"SearchProductItemContent.js","sourceRoot":"","sources":["../../../../src/molecules/SearchProducts/SearchProductItemContent.tsx"],"names":[],"mappings":";;;AAAA,uDAAyC;AACzC,6BAAoC;AAepC,MAAM,wBAAwB,GAAG,IAAA,kBAAU,EAGzC,SAAS,wBAAwB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,EAAE,GAAG;IACtE,OAAO,CACL,2CAAS,GAAG,EAAE,GAAG,kDAA0C,UAAU;QACnE,kFAAsC,KAAK,CAAK;QAE/C,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,CACpB,8BAAC,gBAAY,gDAEX,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,SAAS,EAAE,KAAK,CAAC,SAAS,GAC1B,CACH,CACO,CACX,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,kBAAe,wBAAwB,CAAA"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -63,6 +63,8 @@ export { default as OrderSummary } from './molecules/OrderSummary';
|
|
|
63
63
|
export type { OrderSummaryProps } from './molecules/OrderSummary';
|
|
64
64
|
export { default as ProductCard, ProductCardImage, ProductCardContent, } from './molecules/ProductCard';
|
|
65
65
|
export type { ProductCardProps, ProductCardImageProps, ProductCardContentProps, } from './molecules/ProductCard';
|
|
66
|
+
export { default as ProductPrice } from './molecules/ProductPrice';
|
|
67
|
+
export type { ProductPriceProps } from './molecules/ProductPrice';
|
|
66
68
|
export { default as ProductTitle } from './molecules/ProductTitle';
|
|
67
69
|
export type { ProductTitleProps } from './molecules/ProductTitle';
|
|
68
70
|
export { default as RadioField } from './molecules/RadioField';
|
package/dist/esm/index.js
CHANGED
|
@@ -35,6 +35,7 @@ export { default as Modal, ModalHeader, ModalBody } from './molecules/Modal';
|
|
|
35
35
|
export { default as NavbarLinks, NavbarLinksList, NavbarLinksListItem, } from './molecules/NavbarLinks';
|
|
36
36
|
export { default as OrderSummary } from './molecules/OrderSummary';
|
|
37
37
|
export { default as ProductCard, ProductCardImage, ProductCardContent, } from './molecules/ProductCard';
|
|
38
|
+
export { default as ProductPrice } from './molecules/ProductPrice';
|
|
38
39
|
export { default as ProductTitle } from './molecules/ProductTitle';
|
|
39
40
|
export { default as RadioField } from './molecules/RadioField';
|
|
40
41
|
export { default as RadioGroup, RadioOption } from './molecules/RadioGroup';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react';
|
|
2
|
-
import { Icon, IconButton,
|
|
2
|
+
import { Icon, IconButton, ProductPrice, QuantitySelector, } from '../../';
|
|
3
3
|
const CartItem = forwardRef(function CartItem({ testId = 'fs-cart-item', price, quantity, unavailable, onQuantityChange, children, removeBtnProps, ...otherProps }, ref) {
|
|
4
4
|
return (React.createElement("article", { ref: ref, "data-fs-cart-item": unavailable ? 'unavailable' : 'true', "data-testid": testId, ...otherProps },
|
|
5
5
|
React.createElement("div", { "data-fs-cart-item-content": true }, children),
|
|
6
6
|
React.createElement(IconButton, { "data-fs-cart-item-remove-button": true, icon: React.createElement(Icon, { name: "XCircle" }), "aria-label": "Remove", ...removeBtnProps }),
|
|
7
7
|
React.createElement("div", { "data-fs-cart-item-actions": true },
|
|
8
8
|
React.createElement(QuantitySelector, { min: 1, initial: quantity, onChange: onQuantityChange }),
|
|
9
|
-
React.createElement(
|
|
10
|
-
React.createElement(Price, { value: price?.listPrice ? price.listPrice : 0, formatter: price?.formatter, variant: "listing", SRText: "Original price:" }),
|
|
11
|
-
React.createElement(Price, { value: price?.value ? price.value : 0, formatter: price?.formatter, variant: "spot", SRText: "Price:" })))));
|
|
9
|
+
React.createElement(ProductPrice, { "data-fs-cart-item-prices": true, listPrice: price?.listPrice ? price.listPrice : 0, value: price?.value ? price.value : 0, formatter: price?.formatter }))));
|
|
12
10
|
});
|
|
13
11
|
export default CartItem;
|
|
14
12
|
//# sourceMappingURL=CartItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CartItem.js","sourceRoot":"","sources":["../../../../src/molecules/CartItem/CartItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,
|
|
1
|
+
{"version":3,"file":"CartItem.js","sourceRoot":"","sources":["../../../../src/molecules/CartItem/CartItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EACL,IAAI,EACJ,UAAU,EAEV,YAAY,EACZ,gBAAgB,GACjB,MAAM,QAAQ,CAAA;AA+Bf,MAAM,QAAQ,GAAG,UAAU,CAAgC,SAAS,QAAQ,CAC1E,EACE,MAAM,GAAG,cAAc,EACvB,KAAK,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,GAAG,UAAU,EACd,EACD,GAAG;IAEH,OAAO,CACL,iCACE,GAAG,EAAE,GAAG,uBACW,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,iBAC1C,MAAM,KACf,UAAU;QAEd,kEAAgC,QAAQ,CAAO;QAC/C,oBAAC,UAAU,6CAET,IAAI,EAAE,oBAAC,IAAI,IAAC,IAAI,EAAC,SAAS,GAAG,gBAClB,QAAQ,KACf,cAAc,GAClB;QACF;YACE,oBAAC,gBAAgB,IACf,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,gBAAgB,GAC1B;YACF,oBAAC,YAAY,sCAEX,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACjD,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACrC,SAAS,EAAE,KAAK,EAAE,SAAS,GAC3B,CACE,CACE,CACX,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,QAAQ,CAAA"}
|
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react';
|
|
2
|
-
import { Badge, Button, DiscountBadge, Icon, Link,
|
|
2
|
+
import { Badge, Button, DiscountBadge, Icon, Link, ProductPrice, Rating, } from '../../';
|
|
3
3
|
const ProductCardContent = forwardRef(function CardContent({ testId = 'fs-product-card-content', title, linkProps, price, outOfStock, outOfStockLabel = 'Out of stock', ratingValue, showDiscountBadge, buttonLabel = 'Add', onButtonClick, children, ...otherProps }, ref) {
|
|
4
|
-
const
|
|
5
|
-
const sellingPrice = price?.value
|
|
4
|
+
const listingPrice = price?.listPrice ? price.listPrice : 0;
|
|
5
|
+
const sellingPrice = price?.value ? price.value : 0;
|
|
6
6
|
return (React.createElement("section", { ref: ref, "data-fs-product-card-content": true, "data-fs-product-card-badge": showDiscountBadge, "data-testid": testId, ...otherProps },
|
|
7
7
|
React.createElement("div", { "data-fs-product-card-heading": true },
|
|
8
8
|
React.createElement("h3", { "data-fs-product-card-title": true },
|
|
9
9
|
React.createElement(Link, { ...linkProps, title: title },
|
|
10
10
|
React.createElement("span", null, title))),
|
|
11
|
-
!outOfStock && (React.createElement(
|
|
12
|
-
? (React.createElement(React.Fragment, null,
|
|
13
|
-
React.createElement(Price, { value: listPrice, formatter: price?.formatter, testId: "list-price", "data-value": listPrice, variant: "listing", SRText: "Original price:" }),
|
|
14
|
-
React.createElement(Price, { value: sellingPrice, formatter: price?.formatter, testId: "price", "data-value": sellingPrice, variant: "spot", SRText: "Sale Price:" })))
|
|
15
|
-
: (React.createElement(Price, { value: sellingPrice, formatter: price?.formatter, testId: "price", "data-value": sellingPrice, variant: "spot", SRText: "Sale Price:" })))),
|
|
11
|
+
!outOfStock && (React.createElement(ProductPrice, { "data-fs-product-card-prices": true, value: sellingPrice, listPrice: listingPrice, formatter: price?.formatter })),
|
|
16
12
|
ratingValue && (React.createElement(Rating, { value: ratingValue, icon: React.createElement(Icon, { name: "Star" }) }))),
|
|
17
|
-
showDiscountBadge && !outOfStock && (React.createElement(DiscountBadge, { listPrice:
|
|
13
|
+
showDiscountBadge && !outOfStock && (React.createElement(DiscountBadge, { listPrice: listingPrice, spotPrice: sellingPrice })),
|
|
18
14
|
outOfStock && React.createElement(Badge, null, outOfStockLabel),
|
|
19
15
|
onButtonClick && !outOfStock && (React.createElement("div", { "data-fs-product-card-actions": true },
|
|
20
16
|
React.createElement(Button, { variant: "primary", icon: React.createElement(Icon, { name: "ShoppingCart" }), iconPosition: "left", size: "small", onClick: onButtonClick }, buttonLabel)))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductCardContent.js","sourceRoot":"","sources":["../../../../src/molecules/ProductCard/ProductCardContent.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAIzC,OAAO,EACL,KAAK,EACL,MAAM,EACN,aAAa,EACb,IAAI,EACJ,IAAI,EAGJ,
|
|
1
|
+
{"version":3,"file":"ProductCardContent.js","sourceRoot":"","sources":["../../../../src/molecules/ProductCard/ProductCardContent.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAIzC,OAAO,EACL,KAAK,EACL,MAAM,EACN,aAAa,EACb,IAAI,EACJ,IAAI,EAGJ,YAAY,EACZ,MAAM,GACP,MAAM,QAAQ,CAAA;AA6Cf,MAAM,kBAAkB,GAAG,UAAU,CACnC,SAAS,WAAW,CAClB,EACE,MAAM,GAAG,yBAAyB,EAClC,KAAK,EACL,SAAS,EACT,KAAK,EACL,UAAU,EACV,eAAe,GAAG,cAAc,EAChC,WAAW,EACX,iBAAiB,EACjB,WAAW,GAAG,KAAK,EACnB,aAAa,EACb,QAAQ,EACR,GAAG,UAAU,EACd,EACD,GAAG;IAEH,MAAM,YAAY,GAAG,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3D,MAAM,YAAY,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAEnD,OAAO,CACL,iCACE,GAAG,EAAE,GAAG,sEAEoB,iBAAiB,iBAChC,MAAM,KACf,UAAU;QAEd;YACE;gBACE,oBAAC,IAAI,OAAK,SAAS,EAAE,KAAK,EAAE,KAAK;oBAC/B,kCAAO,KAAK,CAAQ,CACf,CACJ;YACJ,CAAC,UAAU,IAAI,CACd,oBAAC,YAAY,yCAEX,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,KAAK,EAAE,SAAS,GAC3B,CACH;YACA,WAAW,IAAI,CACd,oBAAC,MAAM,IAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,oBAAC,IAAI,IAAC,IAAI,EAAC,MAAM,GAAG,GAAI,CAC3D,CACG;QACL,iBAAiB,IAAI,CAAC,UAAU,IAAI,CACnC,oBAAC,aAAa,IAAC,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,GAAI,CACpE;QACA,UAAU,IAAI,oBAAC,KAAK,QAAE,eAAe,CAAS;QAC9C,aAAa,IAAI,CAAC,UAAU,IAAI,CAC/B;YACE,oBAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAE,oBAAC,IAAI,IAAC,IAAI,EAAC,cAAc,GAAG,EAClC,YAAY,EAAC,MAAM,EACnB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,aAAa,IAErB,WAAW,CACL,CACL,CACP,CACO,CACX,CAAA;AACH,CAAC,CACF,CAAA;AAED,eAAe,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { HTMLAttributes } from 'react';
|
|
3
|
+
import type { PriceFormatter } from '../../atoms/Price';
|
|
4
|
+
export interface ProductPriceProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
|
+
/**
|
|
6
|
+
* Specifies product's raw price value.
|
|
7
|
+
*/
|
|
8
|
+
value: number;
|
|
9
|
+
/**
|
|
10
|
+
* Specifies product's listing price.
|
|
11
|
+
*/
|
|
12
|
+
listPrice: number;
|
|
13
|
+
/**
|
|
14
|
+
* Formatter function that transforms the raw price value and render the result.
|
|
15
|
+
*/
|
|
16
|
+
formatter?: PriceFormatter;
|
|
17
|
+
/**
|
|
18
|
+
* ID to find this component in testing tools (e.g.: cypress,
|
|
19
|
+
* testing-library, and jest).
|
|
20
|
+
*/
|
|
21
|
+
testId?: string;
|
|
22
|
+
}
|
|
23
|
+
declare const ProductPrice: React.ForwardRefExoticComponent<ProductPriceProps & React.RefAttributes<HTMLDivElement>>;
|
|
24
|
+
export default ProductPrice;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React, { forwardRef } from 'react';
|
|
2
|
+
import { Price } from '../../';
|
|
3
|
+
const ProductPrice = forwardRef(function ProductCard({ testId = 'fs-product-price', value, listPrice, formatter, ...otherProps }, ref) {
|
|
4
|
+
const listingPrice = listPrice ?? 0;
|
|
5
|
+
const sellingPrice = value ?? 0;
|
|
6
|
+
return (React.createElement("div", { ref: ref, "data-fs-product-price": true, "data-testid": testId, ...otherProps }, sellingPrice !== listingPrice && listingPrice !== 0 ? (React.createElement(React.Fragment, null,
|
|
7
|
+
React.createElement(Price, { value: listingPrice, formatter: formatter, testId: "list-price", "data-value": listingPrice, variant: "listing", SRText: "Original price:" }),
|
|
8
|
+
React.createElement(Price, { value: sellingPrice, formatter: formatter, testId: "price", "data-value": sellingPrice, variant: "spot", SRText: "Price:" }))) : (React.createElement(Price, { value: sellingPrice, formatter: formatter, testId: "price", "data-value": sellingPrice, variant: "spot", SRText: "Price:" }))));
|
|
9
|
+
});
|
|
10
|
+
export default ProductPrice;
|
|
11
|
+
//# sourceMappingURL=ProductPrice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductPrice.js","sourceRoot":"","sources":["../../../../src/molecules/ProductPrice/ProductPrice.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAIzC,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAsB9B,MAAM,YAAY,GAAG,UAAU,CAC7B,SAAS,WAAW,CAClB,EAAE,MAAM,GAAG,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,EAC3E,GAAG;IAEH,MAAM,YAAY,GAAG,SAAS,IAAI,CAAC,CAAA;IACnC,MAAM,YAAY,GAAG,KAAK,IAAI,CAAC,CAAA;IAE/B,OAAO,CACL,6BAAK,GAAG,EAAE,GAAG,gDAAqC,MAAM,KAAM,UAAU,IACrE,YAAY,KAAK,YAAY,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CACrD;QACE,oBAAC,KAAK,IACJ,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAC,YAAY,gBACP,YAAY,EACxB,OAAO,EAAC,SAAS,EACjB,MAAM,EAAC,iBAAiB,GACxB;QACF,oBAAC,KAAK,IACJ,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAC,OAAO,gBACF,YAAY,EACxB,OAAO,EAAC,MAAM,EACd,MAAM,EAAC,QAAQ,GACf,CACD,CACJ,CAAC,CAAC,CAAC,CACF,oBAAC,KAAK,IACJ,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAC,OAAO,gBACF,YAAY,EACxB,OAAO,EAAC,MAAM,EACd,MAAM,EAAC,QAAQ,GACf,CACH,CACG,CACP,CAAA;AACH,CAAC,CACF,CAAA;AAED,eAAe,YAAY,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/molecules/ProductPrice/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { ProductPrice } from '../..';
|
|
3
3
|
const SearchProductItemContent = forwardRef(function SearchProductItemContent({ price, title, ...otherProps }, ref) {
|
|
4
4
|
return (React.createElement("section", { ref: ref, "data-fs-search-product-item-content": true, ...otherProps },
|
|
5
5
|
React.createElement("p", { "data-fs-search-product-item-title": true }, title),
|
|
6
|
-
React.createElement(
|
|
7
|
-
React.createElement(Price, { value: price?.listPrice ? price.listPrice : 0, formatter: price?.formatter, testId: "list-price", "data-value": price?.listPrice, variant: "listing", SRText: "Original price:" }),
|
|
8
|
-
React.createElement(Price, { value: price?.value ? price.value : 0, formatter: price?.formatter, testId: "price", "data-value": price?.value, variant: "spot", SRText: "Price:" }))));
|
|
6
|
+
price.value !== 0 && (React.createElement(ProductPrice, { "data-fs-search-product-item-prices": true, listPrice: price.listPrice, value: price.value, formatter: price.formatter }))));
|
|
9
7
|
});
|
|
10
8
|
export default SearchProductItemContent;
|
|
11
9
|
//# sourceMappingURL=SearchProductItemContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchProductItemContent.js","sourceRoot":"","sources":["../../../../src/molecules/SearchProducts/SearchProductItemContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SearchProductItemContent.js","sourceRoot":"","sources":["../../../../src/molecules/SearchProducts/SearchProductItemContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAepC,MAAM,wBAAwB,GAAG,UAAU,CAGzC,SAAS,wBAAwB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,EAAE,GAAG;IACtE,OAAO,CACL,iCAAS,GAAG,EAAE,GAAG,kDAA0C,UAAU;QACnE,wEAAsC,KAAK,CAAK;QAE/C,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,CACpB,oBAAC,YAAY,gDAEX,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,SAAS,EAAE,KAAK,CAAC,SAAS,GAC1B,CACH,CACO,CACX,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,wBAAwB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@faststore/components",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.63",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
6
6
|
"typings": "dist/esm/index.d.ts",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"react-dom": "^18.2.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@faststore/eslint-config": "^2.2.
|
|
38
|
-
"@faststore/shared": "^2.2.
|
|
37
|
+
"@faststore/eslint-config": "^2.2.56",
|
|
38
|
+
"@faststore/shared": "^2.2.56",
|
|
39
39
|
"@types/react": "^18.2.42",
|
|
40
40
|
"@types/react-dom": "^18.2.17",
|
|
41
41
|
"eslint": "7.32.0",
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
"volta": {
|
|
45
45
|
"extends": "../../package.json"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "1723768de147478e2cfddc4671845b1802707e8c"
|
|
48
48
|
}
|
package/src/index.ts
CHANGED
|
@@ -129,6 +129,8 @@ export type {
|
|
|
129
129
|
ProductCardImageProps,
|
|
130
130
|
ProductCardContentProps,
|
|
131
131
|
} from './molecules/ProductCard'
|
|
132
|
+
export { default as ProductPrice } from './molecules/ProductPrice'
|
|
133
|
+
export type { ProductPriceProps } from './molecules/ProductPrice'
|
|
132
134
|
export { default as ProductTitle } from './molecules/ProductTitle'
|
|
133
135
|
export type { ProductTitleProps } from './molecules/ProductTitle'
|
|
134
136
|
export { default as RadioField } from './molecules/RadioField'
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import type { HTMLAttributes } from 'react'
|
|
2
2
|
import React, { forwardRef } from 'react'
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
Icon,
|
|
6
|
+
IconButton,
|
|
7
|
+
IconButtonProps,
|
|
8
|
+
ProductPrice,
|
|
9
|
+
QuantitySelector,
|
|
10
|
+
} from '../../'
|
|
5
11
|
|
|
6
12
|
import type { PriceDefinition } from '../../typings/PriceDefinition'
|
|
7
13
|
|
|
@@ -65,20 +71,12 @@ const CartItem = forwardRef<HTMLDivElement, CartItemProps>(function CartItem(
|
|
|
65
71
|
initial={quantity}
|
|
66
72
|
onChange={onQuantityChange}
|
|
67
73
|
/>
|
|
68
|
-
<
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
/>
|
|
75
|
-
<Price
|
|
76
|
-
value={price?.value ? price.value : 0}
|
|
77
|
-
formatter={price?.formatter}
|
|
78
|
-
variant="spot"
|
|
79
|
-
SRText="Price:"
|
|
80
|
-
/>
|
|
81
|
-
</span>
|
|
74
|
+
<ProductPrice
|
|
75
|
+
data-fs-cart-item-prices
|
|
76
|
+
listPrice={price?.listPrice ? price.listPrice : 0}
|
|
77
|
+
value={price?.value ? price.value : 0}
|
|
78
|
+
formatter={price?.formatter}
|
|
79
|
+
/>
|
|
82
80
|
</div>
|
|
83
81
|
</article>
|
|
84
82
|
)
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
Link,
|
|
12
12
|
LinkElementType,
|
|
13
13
|
LinkProps,
|
|
14
|
-
|
|
14
|
+
ProductPrice,
|
|
15
15
|
Rating,
|
|
16
16
|
} from '../../'
|
|
17
17
|
|
|
@@ -76,8 +76,8 @@ const ProductCardContent = forwardRef<HTMLElement, ProductCardContentProps>(
|
|
|
76
76
|
},
|
|
77
77
|
ref
|
|
78
78
|
) {
|
|
79
|
-
const
|
|
80
|
-
const sellingPrice = price?.value
|
|
79
|
+
const listingPrice = price?.listPrice ? price.listPrice : 0
|
|
80
|
+
const sellingPrice = price?.value ? price.value : 0
|
|
81
81
|
|
|
82
82
|
return (
|
|
83
83
|
<section
|
|
@@ -94,49 +94,19 @@ const ProductCardContent = forwardRef<HTMLElement, ProductCardContentProps>(
|
|
|
94
94
|
</Link>
|
|
95
95
|
</h3>
|
|
96
96
|
{!outOfStock && (
|
|
97
|
-
<
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
formatter={price?.formatter}
|
|
104
|
-
testId="list-price"
|
|
105
|
-
data-value={listPrice}
|
|
106
|
-
variant="listing"
|
|
107
|
-
SRText="Original price:"
|
|
108
|
-
/>
|
|
109
|
-
<Price
|
|
110
|
-
value={sellingPrice}
|
|
111
|
-
formatter={price?.formatter}
|
|
112
|
-
testId="price"
|
|
113
|
-
data-value={sellingPrice}
|
|
114
|
-
variant="spot"
|
|
115
|
-
SRText="Sale Price:"
|
|
116
|
-
/>
|
|
117
|
-
</>
|
|
118
|
-
)
|
|
119
|
-
: (
|
|
120
|
-
<Price
|
|
121
|
-
value={sellingPrice}
|
|
122
|
-
formatter={price?.formatter}
|
|
123
|
-
testId="price"
|
|
124
|
-
data-value={sellingPrice}
|
|
125
|
-
variant="spot"
|
|
126
|
-
SRText="Sale Price:"
|
|
127
|
-
/>
|
|
128
|
-
)}
|
|
129
|
-
</div>
|
|
97
|
+
<ProductPrice
|
|
98
|
+
data-fs-product-card-prices
|
|
99
|
+
value={sellingPrice}
|
|
100
|
+
listPrice={listingPrice}
|
|
101
|
+
formatter={price?.formatter}
|
|
102
|
+
/>
|
|
130
103
|
)}
|
|
131
104
|
{ratingValue && (
|
|
132
105
|
<Rating value={ratingValue} icon={<Icon name="Star" />} />
|
|
133
106
|
)}
|
|
134
107
|
</div>
|
|
135
108
|
{showDiscountBadge && !outOfStock && (
|
|
136
|
-
<DiscountBadge
|
|
137
|
-
listPrice={price?.listPrice ? price.listPrice : 0}
|
|
138
|
-
spotPrice={price?.value ? price.value : 0}
|
|
139
|
-
/>
|
|
109
|
+
<DiscountBadge listPrice={listingPrice} spotPrice={sellingPrice} />
|
|
140
110
|
)}
|
|
141
111
|
{outOfStock && <Badge>{outOfStockLabel}</Badge>}
|
|
142
112
|
{onButtonClick && !outOfStock && (
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import React, { forwardRef } from 'react'
|
|
2
|
+
import type { HTMLAttributes } from 'react'
|
|
3
|
+
|
|
4
|
+
import type { PriceFormatter } from '../../atoms/Price'
|
|
5
|
+
import { Price } from '../../'
|
|
6
|
+
|
|
7
|
+
export interface ProductPriceProps extends HTMLAttributes<HTMLDivElement> {
|
|
8
|
+
/**
|
|
9
|
+
* Specifies product's raw price value.
|
|
10
|
+
*/
|
|
11
|
+
value: number
|
|
12
|
+
/**
|
|
13
|
+
* Specifies product's listing price.
|
|
14
|
+
*/
|
|
15
|
+
listPrice: number
|
|
16
|
+
/**
|
|
17
|
+
* Formatter function that transforms the raw price value and render the result.
|
|
18
|
+
*/
|
|
19
|
+
formatter?: PriceFormatter
|
|
20
|
+
/**
|
|
21
|
+
* ID to find this component in testing tools (e.g.: cypress,
|
|
22
|
+
* testing-library, and jest).
|
|
23
|
+
*/
|
|
24
|
+
testId?: string
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const ProductPrice = forwardRef<HTMLDivElement, ProductPriceProps>(
|
|
28
|
+
function ProductCard(
|
|
29
|
+
{ testId = 'fs-product-price', value, listPrice, formatter, ...otherProps },
|
|
30
|
+
ref
|
|
31
|
+
) {
|
|
32
|
+
const listingPrice = listPrice ?? 0
|
|
33
|
+
const sellingPrice = value ?? 0
|
|
34
|
+
|
|
35
|
+
return (
|
|
36
|
+
<div ref={ref} data-fs-product-price data-testid={testId} {...otherProps}>
|
|
37
|
+
{sellingPrice !== listingPrice && listingPrice !== 0 ? (
|
|
38
|
+
<>
|
|
39
|
+
<Price
|
|
40
|
+
value={listingPrice}
|
|
41
|
+
formatter={formatter}
|
|
42
|
+
testId="list-price"
|
|
43
|
+
data-value={listingPrice}
|
|
44
|
+
variant="listing"
|
|
45
|
+
SRText="Original price:"
|
|
46
|
+
/>
|
|
47
|
+
<Price
|
|
48
|
+
value={sellingPrice}
|
|
49
|
+
formatter={formatter}
|
|
50
|
+
testId="price"
|
|
51
|
+
data-value={sellingPrice}
|
|
52
|
+
variant="spot"
|
|
53
|
+
SRText="Price:"
|
|
54
|
+
/>
|
|
55
|
+
</>
|
|
56
|
+
) : (
|
|
57
|
+
<Price
|
|
58
|
+
value={sellingPrice}
|
|
59
|
+
formatter={formatter}
|
|
60
|
+
testId="price"
|
|
61
|
+
data-value={sellingPrice}
|
|
62
|
+
variant="spot"
|
|
63
|
+
SRText="Price:"
|
|
64
|
+
/>
|
|
65
|
+
)}
|
|
66
|
+
</div>
|
|
67
|
+
)
|
|
68
|
+
}
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
export default ProductPrice
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react'
|
|
2
|
-
import {
|
|
2
|
+
import { ProductPrice } from '../..'
|
|
3
3
|
|
|
4
4
|
import type { PriceDefinition } from '../../typings/PriceDefinition'
|
|
5
5
|
|
|
@@ -21,24 +21,15 @@ const SearchProductItemContent = forwardRef<
|
|
|
21
21
|
return (
|
|
22
22
|
<section ref={ref} data-fs-search-product-item-content {...otherProps}>
|
|
23
23
|
<p data-fs-search-product-item-title>{title}</p>
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
SRText="Original price:"
|
|
32
|
-
/>
|
|
33
|
-
<Price
|
|
34
|
-
value={price?.value ? price.value : 0}
|
|
35
|
-
formatter={price?.formatter}
|
|
36
|
-
testId="price"
|
|
37
|
-
data-value={price?.value}
|
|
38
|
-
variant="spot"
|
|
39
|
-
SRText="Price:"
|
|
24
|
+
|
|
25
|
+
{price.value !== 0 && (
|
|
26
|
+
<ProductPrice
|
|
27
|
+
data-fs-search-product-item-prices
|
|
28
|
+
listPrice={price.listPrice}
|
|
29
|
+
value={price.value}
|
|
30
|
+
formatter={price.formatter}
|
|
40
31
|
/>
|
|
41
|
-
|
|
32
|
+
)}
|
|
42
33
|
</section>
|
|
43
34
|
)
|
|
44
35
|
})
|