@sima-land/moleculas 16.0.0-alpha.28 → 16.0.0-alpha.29
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/common/components/hover-slider/hover-slider.d.ts +1 -1
- package/common/components/hover-slider/hover-slider.js +2 -2
- package/common/components/hover-slider/hover-slider.js.map +1 -1
- package/common/components/hover-slider/types.d.ts +2 -0
- package/common/components/product-info/parts/image.d.ts +1 -1
- package/common/components/product-info/parts/image.js +6 -2
- package/common/components/product-info/parts/image.js.map +1 -1
- package/common/components/product-info/types.d.ts +5 -3
- package/mobile/components/product-slider/product-slider.d.ts +7 -2
- package/mobile/components/product-slider/product-slider.js +3 -2
- package/mobile/components/product-slider/product-slider.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,6 +4,6 @@ import { HoverSliderProps, HoverSliderItemProps } from './types';
|
|
|
4
4
|
* @param props Свойства.
|
|
5
5
|
* @return Элемент.
|
|
6
6
|
*/
|
|
7
|
-
export declare function HoverSlider({ rootRef: rootRefProp, withNav, children, beforeList, afterList, className, 'data-testid': testId, ...restProps }: HoverSliderProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare function HoverSlider({ rootRef: rootRefProp, withNav, navProps, children, beforeList, afterList, className, 'data-testid': testId, ...restProps }: HoverSliderProps): import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
/** @inheritdoc */
|
|
9
9
|
export declare function HoverSliderItem({ children, className, ...restProps }: HoverSliderItemProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -17,7 +17,7 @@ const hover_slider_m_scss_1 = __importDefault(require("./hover-slider.m.scss"));
|
|
|
17
17
|
* @param props Свойства.
|
|
18
18
|
* @return Элемент.
|
|
19
19
|
*/
|
|
20
|
-
function HoverSlider({ rootRef: rootRefProp, withNav = true, children, beforeList, afterList, className, 'data-testid': testId = 'hover-slider', ...restProps }) {
|
|
20
|
+
function HoverSlider({ rootRef: rootRefProp, withNav = true, navProps, children, beforeList, afterList, className, 'data-testid': testId = 'hover-slider', ...restProps }) {
|
|
21
21
|
const rootRef = (0, react_1.useRef)(null);
|
|
22
22
|
const listRef = (0, react_1.useRef)(null);
|
|
23
23
|
const [activeIndex, setActiveIndex] = (0, react_1.useState)(0);
|
|
@@ -69,7 +69,7 @@ function HoverSlider({ rootRef: rootRefProp, withNav = true, children, beforeLis
|
|
|
69
69
|
off.forEach(fn => fn());
|
|
70
70
|
};
|
|
71
71
|
}, [count]);
|
|
72
|
-
return ((0, jsx_runtime_1.jsx)(utils_1.HoverSliderContext.Provider, { value: contextValue, children: (0, jsx_runtime_1.jsxs)("div", { ...restProps, ref: rootRef, className: (0, classnames_1.default)(hover_slider_m_scss_1.default.root, className), "data-testid": testId, children: [beforeList, (0, jsx_runtime_1.jsx)("div", { ref: listRef, className: hover_slider_m_scss_1.default.list, children: children }), afterList, withNav && count > 1 && ((0, jsx_runtime_1.jsx)(hover_slider_nav_1.HoverSliderNav, {
|
|
72
|
+
return ((0, jsx_runtime_1.jsx)(utils_1.HoverSliderContext.Provider, { value: contextValue, children: (0, jsx_runtime_1.jsxs)("div", { ...restProps, ref: rootRef, className: (0, classnames_1.default)(hover_slider_m_scss_1.default.root, className), "data-testid": testId, children: [beforeList, (0, jsx_runtime_1.jsx)("div", { ref: listRef, className: hover_slider_m_scss_1.default.list, children: children }), afterList, withNav && count > 1 && ((0, jsx_runtime_1.jsx)(hover_slider_nav_1.HoverSliderNav, { ...navProps, className: (0, classnames_1.default)(hover_slider_m_scss_1.default.nav, navProps === null || navProps === void 0 ? void 0 : navProps.className), current: activeIndex, total: count }))] }) }));
|
|
73
73
|
}
|
|
74
74
|
exports.HoverSlider = HoverSlider;
|
|
75
75
|
/** @inheritdoc */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hover-slider.js","sourceRoot":"","sources":["../../../../src/common/components/hover-slider/hover-slider.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hover-slider.js","sourceRoot":"","sources":["../../../../src/common/components/hover-slider/hover-slider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ export interface HoverSliderStyle extends CSSProperties {
|
|
|
7
7
|
export interface HoverSliderProps extends HTMLAttributes<HTMLDivElement>, WithTestId {
|
|
8
8
|
/** Нужно ли показывать навигационные элементы. */
|
|
9
9
|
withNav?: boolean;
|
|
10
|
+
/** Свойства HoverSliderNav. */
|
|
11
|
+
navProps?: Omit<HoverSliderNavProps, 'current' | 'total'>;
|
|
10
12
|
/** Контент перед элементом списка. */
|
|
11
13
|
beforeList?: ReactNode;
|
|
12
14
|
/** Контент после элемента списка. */
|
|
@@ -4,4 +4,4 @@ import { ProductInfoImageProps } from '../types';
|
|
|
4
4
|
* @param props Свойства.
|
|
5
5
|
* @return Элемент.
|
|
6
6
|
*/
|
|
7
|
-
export declare function ProductInfoImage({
|
|
7
|
+
export declare function ProductInfoImage({ images, href, children, anchorProps, sliderProps, ...restProps }: ProductInfoImageProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -17,11 +17,15 @@ const image_m_scss_1 = __importDefault(require("./image.m.scss"));
|
|
|
17
17
|
* @param props Свойства.
|
|
18
18
|
* @return Элемент.
|
|
19
19
|
*/
|
|
20
|
-
function ProductInfoImage({
|
|
20
|
+
function ProductInfoImage({ images = [], href, children, anchorProps, sliderProps, ...restProps }) {
|
|
21
21
|
const { restriction } = (0, react_1.useContext)(utils_1.ProductInfoContext);
|
|
22
22
|
const adult = restriction === 'adult';
|
|
23
23
|
const rootClassName = (0, classnames_1.default)(image_m_scss_1.default.link, restriction && !adult && image_m_scss_1.default.unavailable, anchorProps === null || anchorProps === void 0 ? void 0 : anchorProps.className);
|
|
24
|
-
return ((0, jsx_runtime_1.jsxs)(media_1.ProductInfoMedia, { ...restProps, children: [(0, jsx_runtime_1.jsx)("a", { ...anchorProps, "data-testid": 'product-image-link', href: adult ? undefined : href, className: rootClassName, children:
|
|
24
|
+
return ((0, jsx_runtime_1.jsxs)(media_1.ProductInfoMedia, { ...restProps, children: [(0, jsx_runtime_1.jsx)("a", { ...anchorProps, "data-testid": 'product-image-link', href: adult ? undefined : href, className: rootClassName, children: images.length > 1 && !adult ? ((0, jsx_runtime_1.jsx)(hover_slider_1.HoverSlider, { withNav: !adult, ...sliderProps, className: (0, classnames_1.default)(image_m_scss_1.default.slider, sliderProps === null || sliderProps === void 0 ? void 0 : sliderProps.className), children: images.map((imageProps, index) => ((0, jsx_runtime_1.jsx)(hover_slider_1.HoverSliderItem, { children: renderImage(imageProps) }, index))) })) : (images.slice(0, 1).map(renderImage)) }), !adult && (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children })] }));
|
|
25
25
|
}
|
|
26
26
|
exports.ProductInfoImage = ProductInfoImage;
|
|
27
|
+
/** @inheritdoc */
|
|
28
|
+
function renderImage(props, key) {
|
|
29
|
+
return ((0, jsx_runtime_1.jsx)(product_image_1.ProductImage, { ...props, className: (0, classnames_1.default)(image_m_scss_1.default.image, props.className) }, key));
|
|
30
|
+
}
|
|
27
31
|
//# sourceMappingURL=image.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../../../src/common/components/product-info/parts/image.tsx"],"names":[],"mappings":";;;;;;;AACA,iCAAmC;AACnC,
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../../../src/common/components/product-info/parts/image.tsx"],"names":[],"mappings":";;;;;;;AACA,iCAAmC;AACnC,uDAAsE;AACtE,qDAAkE;AAClE,oCAA8C;AAC9C,mCAA2C;AAC3C,4DAAoC;AACpC,kEAAoC;AAEpC;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,EAC/B,MAAM,GAAG,EAAE,EACX,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,WAAW,EACX,GAAG,SAAS,EACU;IACtB,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,kBAAU,EAAC,0BAAkB,CAAC,CAAC;IAEvD,MAAM,KAAK,GAAG,WAAW,KAAK,OAAO,CAAC;IAEtC,MAAM,aAAa,GAAG,IAAA,oBAAU,EAC9B,sBAAM,CAAC,IAAI,EACX,WAAW,IAAI,CAAC,KAAK,IAAI,sBAAM,CAAC,WAAW,EAC3C,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CACvB,CAAC;IAEF,OAAO,CACL,wBAAC,wBAAgB,OAAK,SAAS,aAC7B,iCACM,WAAW,iBACH,oBAAoB,EAChC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAC9B,SAAS,EAAE,aAAa,YAEvB,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAC7B,uBAAC,0BAAW,IACV,OAAO,EAAE,CAAC,KAAK,KACX,WAAW,EACf,SAAS,EAAE,IAAA,oBAAU,EAAC,sBAAM,CAAC,MAAM,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC,YAE3D,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CACjC,uBAAC,8BAAe,cAAc,WAAW,CAAC,UAAU,CAAC,IAA/B,KAAK,CAA6C,CACzE,CAAC,GACU,CACf,CAAC,CAAC,CAAC,CACF,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CACpC,GACC,EAGH,CAAC,KAAK,IAAI,2DAAG,QAAQ,GAAI,IACT,CACpB,CAAC;AACJ,CAAC;AA7CD,4CA6CC;AAED,kBAAkB;AAClB,SAAS,WAAW,CAAC,KAAwB,EAAE,GAAwC;IACrF,OAAO,CACL,uBAAC,4BAAY,OAAe,KAAK,EAAE,SAAS,EAAE,IAAA,oBAAU,EAAC,sBAAM,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAApE,GAAG,CAAqE,CAC5F,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { LinkProps } from '@sima-land/ui-nucleons/link';
|
|
2
2
|
import type { StrokedSVGProps } from '@sima-land/ui-nucleons/stroked-svg';
|
|
3
|
-
import type { ProductImageStyle } from '../product-image';
|
|
3
|
+
import type { ProductImageProps, ProductImageStyle } from '../product-image';
|
|
4
|
+
import type { HoverSliderProps } from '../hover-slider/types';
|
|
4
5
|
import type { AnchorHTMLAttributes, CSSProperties, ElementType, HTMLAttributes, ReactNode, Ref, SVGAttributes } from 'react';
|
|
5
6
|
export type ProductInfoRestriction = 'adult' | 'unavailable';
|
|
6
7
|
export interface ProductInfoProps {
|
|
@@ -21,12 +22,13 @@ export interface ProductInfoMediaProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
21
22
|
style?: ProductInfoMediaStyle & ProductImageStyle;
|
|
22
23
|
}
|
|
23
24
|
export interface ProductInfoImageProps extends ProductInfoMediaProps {
|
|
24
|
-
/** Ссылка на картинку или список ссылок для вывода слайдера. */
|
|
25
|
-
src?: string | string[];
|
|
26
25
|
/** Ссылка на товар. */
|
|
27
26
|
href?: string;
|
|
27
|
+
/** Картинки. */
|
|
28
|
+
images?: ProductImageProps[];
|
|
28
29
|
/** Прочие атрибуты элемента-ссылки. */
|
|
29
30
|
anchorProps?: AnchorHTMLAttributes<HTMLAnchorElement>;
|
|
31
|
+
sliderProps?: HoverSliderProps;
|
|
30
32
|
}
|
|
31
33
|
export interface ImageButtonProps extends Omit<StrokedSVGProps, 'component'> {
|
|
32
34
|
icon: ElementType<SVGAttributes<SVGSVGElement>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactElement } from 'react';
|
|
1
|
+
import { CSSProperties, ReactElement } from 'react';
|
|
2
2
|
import { ProductInfo, ProductInfoProps } from '../../../common/components/product-info';
|
|
3
3
|
export type ItemElement = ReactElement<ProductInfoProps, typeof ProductInfo>;
|
|
4
4
|
export interface ProductSliderProps {
|
|
@@ -8,10 +8,15 @@ export interface ProductSliderProps {
|
|
|
8
8
|
onInViewport?: () => void;
|
|
9
9
|
/** Функция, инициализирующая загрузку рекомендаций. */
|
|
10
10
|
onNeedRequest?: () => void;
|
|
11
|
+
/** Предоставит свойства для элемента . */
|
|
12
|
+
itemProps?: {
|
|
13
|
+
style?: CSSProperties;
|
|
14
|
+
className?: string;
|
|
15
|
+
};
|
|
11
16
|
}
|
|
12
17
|
/**
|
|
13
18
|
* Слайдер товаров.
|
|
14
19
|
* @param props Свойства.
|
|
15
20
|
* @return Элемент.
|
|
16
21
|
*/
|
|
17
|
-
export declare const ProductSlider: ({ children, onInViewport, onNeedRequest }: ProductSliderProps) => import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
export declare const ProductSlider: ({ children, onInViewport, onNeedRequest, itemProps, }: ProductSliderProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -9,13 +9,14 @@ const react_1 = require("react");
|
|
|
9
9
|
const hooks_1 = require("@sima-land/ui-nucleons/hooks");
|
|
10
10
|
const touch_slider_1 = require("@sima-land/ui-nucleons/touch-slider");
|
|
11
11
|
const product_info_1 = require("../../../common/components/product-info");
|
|
12
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
12
13
|
const product_slider_m_scss_1 = __importDefault(require("./product-slider.m.scss"));
|
|
13
14
|
/**
|
|
14
15
|
* Слайдер товаров.
|
|
15
16
|
* @param props Свойства.
|
|
16
17
|
* @return Элемент.
|
|
17
18
|
*/
|
|
18
|
-
const ProductSlider = ({ children, onInViewport, onNeedRequest }) => {
|
|
19
|
+
const ProductSlider = ({ children, onInViewport, onNeedRequest, itemProps, }) => {
|
|
19
20
|
const rootRef = (0, react_1.useRef)(null);
|
|
20
21
|
// инициируем загрузку данных, когда компонент почти попал в зону видимости
|
|
21
22
|
const options = (0, react_1.useMemo)(() => ({ rootMargin: '200px 0px 200px 0px' }), []);
|
|
@@ -29,7 +30,7 @@ const ProductSlider = ({ children, onInViewport, onNeedRequest }) => {
|
|
|
29
30
|
return ((0, jsx_runtime_1.jsx)("div", { ref: rootRef, "data-testid": 'product-slider:root', children: (0, jsx_runtime_1.jsx)(touch_slider_1.TouchSlider, { children: (0, jsx_runtime_1.jsx)(product_info_1.Parts.FooterContext.Provider, { value: { className: product_slider_m_scss_1.default.footer }, children: react_1.Children.toArray(children).reduce((list, item) => {
|
|
30
31
|
(0, react_1.isValidElement)(item) &&
|
|
31
32
|
item.type === product_info_1.ProductInfo &&
|
|
32
|
-
list.push((0, jsx_runtime_1.jsx)("div", {
|
|
33
|
+
list.push((0, jsx_runtime_1.jsx)("div", { "data-testid": 'product-slider:item', ...itemProps, className: (0, classnames_1.default)(product_slider_m_scss_1.default.item, itemProps === null || itemProps === void 0 ? void 0 : itemProps.className), children: item }, item.key));
|
|
33
34
|
return list;
|
|
34
35
|
}, []) }) }) }));
|
|
35
36
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-slider.js","sourceRoot":"","sources":["../../../../src/mobile/components/product-slider/product-slider.tsx"],"names":[],"mappings":";;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"product-slider.js","sourceRoot":"","sources":["../../../../src/mobile/components/product-slider/product-slider.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAA+F;AAC/F,wDAA+D;AAC/D,sEAAkE;AAClE,0EAA+F;AAC/F,4DAAoC;AACpC,oFAA6C;AAkB7C;;;;GAIG;AACI,MAAM,aAAa,GAAG,CAAC,EAC5B,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,SAAS,GACU,EAAE,EAAE;IACvB,MAAM,OAAO,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IAE7C,2EAA2E;IAC3E,MAAM,OAAO,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3E,IAAA,uBAAe,EACb,OAAO,EACP,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,cAAc,KAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,EAAI,CAAA,CAAC;IAC5C,CAAC,EACD,OAAO,CACR,CAAC;IAEF,qDAAqD;IACrD,IAAA,uBAAe,EAAC,OAAO,EAAE,KAAK,CAAC,EAAE;QAC/B,KAAK,CAAC,cAAc,KAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,EAAI,CAAA,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,gCAAK,GAAG,EAAE,OAAO,iBAAc,qBAAqB,YAClD,uBAAC,0BAAW,cACV,uBAAC,oBAAK,CAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,+BAAM,CAAC,MAAM,EAAE,YAC9D,gBAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;oBAChE,IAAA,sBAAc,EAAC,IAAI,CAAC;wBAClB,IAAI,CAAC,IAAI,KAAK,0BAAW;wBACzB,IAAI,CAAC,IAAI,CACP,+CAEc,qBAAqB,KAC7B,SAAS,EACb,SAAS,EAAE,IAAA,oBAAU,EAAC,+BAAM,CAAC,IAAI,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,CAAC,YAEvD,IAAI,IALA,IAAI,CAAC,GAAG,CAMT,CACP,CAAC;oBAEJ,OAAO,IAAI,CAAC;gBACd,CAAC,EAAE,EAAE,CAAC,GACuB,GACnB,GACV,CACP,CAAC;AACJ,CAAC,CAAC;AA/CW,QAAA,aAAa,iBA+CxB"}
|
package/package.json
CHANGED