@sima-land/moleculas 16.0.0-alpha.13 → 16.0.0-alpha.14
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.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { ProductCardChildren, ProductCardProps } from './types';
|
|
2
|
+
import { ProductCardChildren, ProductCardProps, ReduceBaseInfoOptions } from './types';
|
|
3
3
|
import { PlateProps } from '@sima-land/ui-nucleons/plate';
|
|
4
4
|
/**
|
|
5
5
|
* Карточка данных товара с расширенной инф-ой при наведении.
|
|
@@ -14,10 +14,7 @@ export declare const HoverCard: import("react").ForwardRefExoticComponent<PlateP
|
|
|
14
14
|
* @param options Опции.
|
|
15
15
|
* @return Элемент.
|
|
16
16
|
*/
|
|
17
|
-
export declare function reduceBaseInfo(element: ProductCardChildren, { hideImageButtons, hideFooter
|
|
18
|
-
hideImageButtons?: boolean;
|
|
19
|
-
hideFooter?: boolean;
|
|
20
|
-
}): import("react").FunctionComponentElement<import("../../../common/components/product-info").ProductInfoProps>;
|
|
17
|
+
export declare function reduceBaseInfo(element: ProductCardChildren, { hideImageButtons, hideFooter }?: ReduceBaseInfoOptions): import("react").FunctionComponentElement<import("../../../common/components/product-info").ProductInfoProps>;
|
|
21
18
|
/**
|
|
22
19
|
* Получив содержимое карточки фильтрует/меняет его для вывода в карточке при наведении.
|
|
23
20
|
* @param element Содержимое.
|
|
@@ -34,15 +34,19 @@ exports.HoverCard = (0, react_1.forwardRef)((props, ref) => {
|
|
|
34
34
|
* @param options Опции.
|
|
35
35
|
* @return Элемент.
|
|
36
36
|
*/
|
|
37
|
-
function reduceBaseInfo(element, { hideImageButtons = true, hideFooter = true
|
|
37
|
+
function reduceBaseInfo(element, { hideImageButtons = true, hideFooter = true } = {}) {
|
|
38
38
|
return (0, react_1.cloneElement)(element, {
|
|
39
39
|
children: react_1.Children.map(element.props.children, child => {
|
|
40
40
|
let result;
|
|
41
41
|
if ((0, react_1.isValidElement)(child)) {
|
|
42
42
|
switch (true) {
|
|
43
|
-
// игнорируем кнопки-иконки на изображении
|
|
43
|
+
// игнорируем или фильтруем кнопки-иконки на изображении
|
|
44
44
|
case Boolean(child.type === product_info_1.Parts.Image && hideImageButtons):
|
|
45
|
-
result = (0, react_1.cloneElement)(child, {
|
|
45
|
+
result = (0, react_1.cloneElement)(child, {
|
|
46
|
+
children: typeof hideImageButtons === 'function'
|
|
47
|
+
? react_1.Children.toArray(child.props.children).filter(hideImageButtons)
|
|
48
|
+
: undefined,
|
|
49
|
+
});
|
|
46
50
|
break;
|
|
47
51
|
// игнорируем футер
|
|
48
52
|
case Boolean(child.type === product_info_1.Parts.Footer && hideFooter):
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-card.js","sourceRoot":"","sources":["../../../../src/desktop/components/product-card/product-card.tsx"],"names":[],"mappings":";;;;;;;AAAA,iCAAqF;AAErF,0EAAgE;AAChE,wDAAiE;AACjE,gEAAgE;AAChE,2DAAyC;AACzC,0FAAgD;AAEhD,MAAM,EAAE,GAAG,cAAU,CAAC,IAAI,CAAC,kCAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACH,SAAgB,WAAW,CAAC,EAC1B,cAAc,EAAE,kBAAkB,GAAG,cAAc,EACnD,eAAe,EAAE,mBAAmB,GAAG,eAAe,EACtD,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACS;IACjB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IAEnD,OAAO,CACL,oCACM,KAAK,iBACG,cAAc,EAC1B,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAChC,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;QAChC,8GAA8G;QAC9G,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,aAEjC,+CAAiB,mBAAmB,YAAE,kBAAkB,CAAC,QAAQ,CAAC,GAAO,EAExE,OAAO,IAAI,uBAAC,iBAAS,cAAE,mBAAmB,CAAC,QAAQ,CAAC,GAAa,IAC9D,CACP,CAAC;AACJ,CAAC;AAvBD,kCAuBC;AAEY,QAAA,SAAS,GAAG,IAAA,kBAAU,EAAoC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACpF,MAAM,KAAK,GAAG,IAAA,gBAAQ,GAAE,GAAG,CAAC,CAAC;IAE7B,OAAO,CACL,uBAAC,aAAK,OACA,KAAK,EACT,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EACxC,GAAG,EAAE,GAAG,EACR,MAAM,EAAC,GAAG,EACV,MAAM,EAAC,IAAI,EACX,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,iBAC1B,yBAAyB,GACrC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH;;;;;GAKG;AACH,SAAgB,cAAc,CAC5B,OAA4B,EAC5B,
|
|
1
|
+
{"version":3,"file":"product-card.js","sourceRoot":"","sources":["../../../../src/desktop/components/product-card/product-card.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,3 +10,10 @@ export interface ProductCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
10
10
|
/** Получив содержимое должен вернуть то что будет выведено во всплывающей карточке. */
|
|
11
11
|
reduceHoverInfo?: (children: ProductCardChildren) => ReactNode;
|
|
12
12
|
}
|
|
13
|
+
/** Опции фильтрации содержимого карточки без наведения. */
|
|
14
|
+
export interface ReduceBaseInfoOptions {
|
|
15
|
+
/** Надо ли скрыть кнопки на картинке. При передаче функции она будет применена для каждого дочернего элемента внутри картинки как фильтр. */
|
|
16
|
+
hideImageButtons?: boolean | ((element: ReactNode) => boolean);
|
|
17
|
+
/** Надо ли скрыть футер. */
|
|
18
|
+
hideFooter?: boolean;
|
|
19
|
+
}
|