@finam/web-ui-kit-components 3.27.3 → 3.28.1

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 (42) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/ProductCard/ProductCard.d.ts.map +1 -1
  3. package/dist/ProductCard/ProductCard.js +10 -5
  4. package/dist/ProductCard/ProductCard.js.map +1 -1
  5. package/dist/ProductCard/layouts/iip/Background.d.ts +2 -1
  6. package/dist/ProductCard/layouts/iip/Background.d.ts.map +1 -1
  7. package/dist/ProductCard/layouts/iip/Background.js +1 -1
  8. package/dist/ProductCard/layouts/iip/Background.js.map +1 -1
  9. package/dist/ProductCard/layouts/zhek/Background.d.ts +2 -1
  10. package/dist/ProductCard/layouts/zhek/Background.d.ts.map +1 -1
  11. package/dist/ProductCard/layouts/zhek/Background.js +1 -1
  12. package/dist/ProductCard/layouts/zhek/Background.js.map +1 -1
  13. package/dist/ProductCard/shared/ProductCardBackgroundImage.d.ts +2 -1
  14. package/dist/ProductCard/shared/ProductCardBackgroundImage.d.ts.map +1 -1
  15. package/dist/ProductCard/shared/ProductCardBackgroundImage.js +2 -2
  16. package/dist/ProductCard/shared/ProductCardBackgroundImage.js.map +1 -1
  17. package/dist/SecurityIcon/SecurityIcon.d.ts +20 -0
  18. package/dist/SecurityIcon/SecurityIcon.d.ts.map +1 -0
  19. package/dist/SecurityIcon/SecurityIcon.js +30 -0
  20. package/dist/SecurityIcon/SecurityIcon.js.map +1 -0
  21. package/dist/SecurityIcon/SecurityIcon.styles.css +2 -0
  22. package/dist/SecurityIcon/SecurityIcon.styles.d.ts +5 -0
  23. package/dist/SecurityIcon/SecurityIcon.styles.d.ts.map +1 -0
  24. package/dist/SecurityIcon/SecurityIcon.styles.js +16 -0
  25. package/dist/SecurityIcon/SecurityIcon.styles.js.map +1 -0
  26. package/dist/SecurityIcon/constants.d.ts +5 -0
  27. package/dist/SecurityIcon/constants.d.ts.map +1 -0
  28. package/dist/SecurityIcon/constants.js +5 -0
  29. package/dist/SecurityIcon/constants.js.map +1 -0
  30. package/dist/SecurityIcon/index.d.ts +3 -0
  31. package/dist/SecurityIcon/index.d.ts.map +1 -0
  32. package/dist/SecurityIcon/index.js +2 -0
  33. package/dist/SecurityIcon/index.js.map +1 -0
  34. package/dist/SecurityIcon/types.d.ts +8 -0
  35. package/dist/SecurityIcon/types.d.ts.map +1 -0
  36. package/dist/SecurityIcon/types.js +2 -0
  37. package/dist/SecurityIcon/types.js.map +1 -0
  38. package/dist/SecurityIcon/utils.d.ts +4 -0
  39. package/dist/SecurityIcon/utils.d.ts.map +1 -0
  40. package/dist/SecurityIcon/utils.js +19 -0
  41. package/dist/SecurityIcon/utils.js.map +1 -0
  42. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 3.28.1
2
+ * В `ProductCard` исправлено отображение при ошибке загрузки `imageUrl`
3
+ ## 3.28.0
4
+ * Добавлен компонент `SecurityIcon`
1
5
  ## 3.27.3
2
6
  * Исправлено зацикливание рендера в DraggablePopover
3
7
  ## 3.27.2
@@ -1 +1 @@
1
- {"version":3,"file":"ProductCard.d.ts","sourceRoot":"","sources":["../../src/ProductCard/ProductCard.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AAkIpB,QAAA,MAAM,mBAAmB,wGAAoB,CAAC;AAG9C,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"ProductCard.d.ts","sourceRoot":"","sources":["../../src/ProductCard/ProductCard.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AAiJpB,QAAA,MAAM,mBAAmB,wGAAoB,CAAC;AAG9C,eAAe,mBAAmB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { __rest } from "tslib";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { forwardRef, memo, useMemo, } from 'react';
3
+ import { forwardRef, memo, useCallback, useMemo, useState, } from 'react';
4
4
  import classNames from 'clsx';
5
5
  import { ProductCardProvider } from './ProductCardContext.js';
6
6
  import { getProductCardSizeClassName, hexToRgba } from './utils.js';
@@ -12,18 +12,23 @@ import { ProductCardLayoutId, ProductCardView, } from './types.js';
12
12
  const ProductCard = forwardRef((_a, ref) => {
13
13
  var { id, layoutId = ProductCardLayoutId.COMMON, view = ProductCardView.DESKTOP, loading = false, imageUrl, blurHash, cardColor, onCardClick, className, style, children } = _a, props = __rest(_a, ["id", "layoutId", "view", "loading", "imageUrl", "blurHash", "cardColor", "onCardClick", "className", "style", "children"]);
14
14
  const clickable = onCardClick != null;
15
+ const [failedImageUrl, setFailedImageUrl] = useState();
16
+ const usableImageUrl = imageUrl != null && imageUrl !== failedImageUrl ? imageUrl : undefined;
17
+ const handleImageError = useCallback(() => {
18
+ setFailedImageUrl(imageUrl);
19
+ }, [imageUrl]);
15
20
  const resolvedImage = useMemo(() => {
16
- if (imageUrl == null) {
21
+ if (usableImageUrl == null) {
17
22
  return undefined;
18
23
  }
19
24
  if (layoutId === ProductCardLayoutId.IIP) {
20
- return (_jsx(ProductCardIipBackground, { imageUrl: imageUrl, blurHash: blurHash }));
25
+ return (_jsx(ProductCardIipBackground, { imageUrl: usableImageUrl, blurHash: blurHash, onError: handleImageError }));
21
26
  }
22
27
  if (layoutId === ProductCardLayoutId.ZHEK) {
23
- return (_jsx(ProductCardZhekBackground, { imageUrl: imageUrl, blurHash: blurHash }));
28
+ return (_jsx(ProductCardZhekBackground, { imageUrl: usableImageUrl, blurHash: blurHash, onError: handleImageError }));
24
29
  }
25
30
  return undefined;
26
- }, [blurHash, imageUrl, layoutId]);
31
+ }, [blurHash, handleImageError, layoutId, usableImageUrl]);
27
32
  const hasIipImage = layoutId === ProductCardLayoutId.IIP && resolvedImage != null;
28
33
  const hasZhekImage = layoutId === ProductCardLayoutId.ZHEK && resolvedImage != null;
29
34
  const contextValue = useMemo(() => ({ view, layoutId }), [view, layoutId]);
@@ -1 +1 @@
1
- {"version":3,"file":"ProductCard.js","sourceRoot":"","sources":["../../src/ProductCard/ProductCard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProductCard.js","sourceRoot":"","sources":["../../src/ProductCard/ProductCard.tsx"],"names":[],"mappings":"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"}
@@ -2,7 +2,8 @@ export interface ProductCardIipBackgroundProps {
2
2
  imageUrl: string;
3
3
  blurHash?: string;
4
4
  alt?: string;
5
+ onError?: () => void;
5
6
  }
6
- declare const ProductCardIipBackground: ({ imageUrl, blurHash, alt, }: ProductCardIipBackgroundProps) => import("react/jsx-runtime").JSX.Element;
7
+ declare const ProductCardIipBackground: ({ imageUrl, blurHash, alt, onError, }: ProductCardIipBackgroundProps) => import("react/jsx-runtime").JSX.Element;
7
8
  export default ProductCardIipBackground;
8
9
  //# sourceMappingURL=Background.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Background.d.ts","sourceRoot":"","sources":["../../../../src/ProductCard/layouts/iip/Background.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,QAAA,MAAM,wBAAwB,GAAI,8BAI/B,6BAA6B,4CAO/B,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"Background.d.ts","sourceRoot":"","sources":["../../../../src/ProductCard/layouts/iip/Background.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,QAAA,MAAM,wBAAwB,GAAI,uCAK/B,6BAA6B,4CAQ/B,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import ProductCardBackgroundImage from '../../shared/ProductCardBackgroundImage.js';
3
3
  import { goalImage } from './Background.styles.js';
4
- const ProductCardIipBackground = ({ imageUrl, blurHash, alt = '', }) => (_jsx(ProductCardBackgroundImage, { imageUrl: imageUrl, blurHash: blurHash, alt: alt, imageClassName: goalImage }));
4
+ const ProductCardIipBackground = ({ imageUrl, blurHash, alt = '', onError, }) => (_jsx(ProductCardBackgroundImage, { imageUrl: imageUrl, blurHash: blurHash, alt: alt, imageClassName: goalImage, onError: onError }));
5
5
  export default ProductCardIipBackground;
6
6
  //# sourceMappingURL=Background.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Background.js","sourceRoot":"","sources":["../../../../src/ProductCard/layouts/iip/Background.tsx"],"names":[],"mappings":";AAAA,OAAO,0BAA0B,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAQnD,MAAM,wBAAwB,GAAG,CAAC,EAChC,QAAQ,EACR,QAAQ,EACR,GAAG,GAAG,EAAE,GACsB,EAAE,EAAE,CAAC,CACnC,KAAC,0BAA0B,IACzB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,GAAG,EACR,cAAc,EAAE,SAAS,GACzB,CACH,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"Background.js","sourceRoot":"","sources":["../../../../src/ProductCard/layouts/iip/Background.tsx"],"names":[],"mappings":";AAAA,OAAO,0BAA0B,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AASnD,MAAM,wBAAwB,GAAG,CAAC,EAChC,QAAQ,EACR,QAAQ,EACR,GAAG,GAAG,EAAE,EACR,OAAO,GACuB,EAAE,EAAE,CAAC,CACnC,KAAC,0BAA0B,IACzB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,GAAG,EACR,cAAc,EAAE,SAAS,EACzB,OAAO,EAAE,OAAO,GAChB,CACH,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
@@ -2,7 +2,8 @@ export interface ProductCardZhekBackgroundProps {
2
2
  imageUrl: string;
3
3
  blurHash?: string;
4
4
  alt?: string;
5
+ onError?: () => void;
5
6
  }
6
- declare const ProductCardZhekBackground: ({ imageUrl, blurHash, alt, }: ProductCardZhekBackgroundProps) => import("react/jsx-runtime").JSX.Element;
7
+ declare const ProductCardZhekBackground: ({ imageUrl, blurHash, alt, onError, }: ProductCardZhekBackgroundProps) => import("react/jsx-runtime").JSX.Element;
7
8
  export default ProductCardZhekBackground;
8
9
  //# sourceMappingURL=Background.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Background.d.ts","sourceRoot":"","sources":["../../../../src/ProductCard/layouts/zhek/Background.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,QAAA,MAAM,yBAAyB,GAAI,8BAIhC,8BAA8B,4CAQhC,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"Background.d.ts","sourceRoot":"","sources":["../../../../src/ProductCard/layouts/zhek/Background.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,QAAA,MAAM,yBAAyB,GAAI,uCAKhC,8BAA8B,4CAShC,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import ProductCardBackgroundImage from '../../shared/ProductCardBackgroundImage.js';
3
3
  import { GradientOverlay, zhekBackgroundRoot } from './Background.styles.js';
4
- const ProductCardZhekBackground = ({ imageUrl, blurHash, alt = '', }) => (_jsx(ProductCardBackgroundImage, { imageUrl: imageUrl, blurHash: blurHash, alt: alt, className: zhekBackgroundRoot, overlay: _jsx(GradientOverlay, {}) }));
4
+ const ProductCardZhekBackground = ({ imageUrl, blurHash, alt = '', onError, }) => (_jsx(ProductCardBackgroundImage, { imageUrl: imageUrl, blurHash: blurHash, alt: alt, className: zhekBackgroundRoot, overlay: _jsx(GradientOverlay, {}), onError: onError }));
5
5
  export default ProductCardZhekBackground;
6
6
  //# sourceMappingURL=Background.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Background.js","sourceRoot":"","sources":["../../../../src/ProductCard/layouts/zhek/Background.tsx"],"names":[],"mappings":";AAAA,OAAO,0BAA0B,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAQ7E,MAAM,yBAAyB,GAAG,CAAC,EACjC,QAAQ,EACR,QAAQ,EACR,GAAG,GAAG,EAAE,GACuB,EAAE,EAAE,CAAC,CACpC,KAAC,0BAA0B,IACzB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,KAAC,eAAe,KAAG,GAC5B,CACH,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"Background.js","sourceRoot":"","sources":["../../../../src/ProductCard/layouts/zhek/Background.tsx"],"names":[],"mappings":";AAAA,OAAO,0BAA0B,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAS7E,MAAM,yBAAyB,GAAG,CAAC,EACjC,QAAQ,EACR,QAAQ,EACR,GAAG,GAAG,EAAE,EACR,OAAO,GACwB,EAAE,EAAE,CAAC,CACpC,KAAC,0BAA0B,IACzB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,KAAC,eAAe,KAAG,EAC5B,OAAO,EAAE,OAAO,GAChB,CACH,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
@@ -7,7 +7,8 @@ export interface ProductCardBackgroundImageProps {
7
7
  className?: string;
8
8
  imageClassName?: string;
9
9
  overlay?: ReactNode;
10
+ onError?: () => void;
10
11
  }
11
- declare const MemoizedProductCardBackgroundImage: import("react").MemoExoticComponent<({ imageUrl, blurHash, alt, className, imageClassName, overlay, }: ProductCardBackgroundImageProps) => import("react/jsx-runtime").JSX.Element>;
12
+ declare const MemoizedProductCardBackgroundImage: import("react").MemoExoticComponent<({ imageUrl, blurHash, alt, className, imageClassName, overlay, onError, }: ProductCardBackgroundImageProps) => import("react/jsx-runtime").JSX.Element>;
12
13
  export default MemoizedProductCardBackgroundImage;
13
14
  //# sourceMappingURL=ProductCardBackgroundImage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProductCardBackgroundImage.d.ts","sourceRoot":"","sources":["../../../src/ProductCard/shared/ProductCardBackgroundImage.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AA+Bf,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAiED,QAAA,MAAM,kCAAkC,yGAxDrC,+BAA+B,6CAwDyC,CAAC;AAG5E,eAAe,kCAAkC,CAAC"}
1
+ {"version":3,"file":"ProductCardBackgroundImage.d.ts","sourceRoot":"","sources":["../../../src/ProductCard/shared/ProductCardBackgroundImage.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AA+Bf,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAmED,QAAA,MAAM,kCAAkC,kHAzDrC,+BAA+B,6CAyDyC,CAAC;AAG5E,eAAe,kCAAkC,CAAC"}
@@ -19,7 +19,7 @@ const decodeBlurHashToDataUrl = (blurHash) => {
19
19
  context.putImageData(imageData, 0, 0);
20
20
  return canvas.toDataURL();
21
21
  };
22
- const ProductCardBackgroundImage = ({ imageUrl, blurHash, alt = '', className, imageClassName, overlay, }) => {
22
+ const ProductCardBackgroundImage = ({ imageUrl, blurHash, alt = '', className, imageClassName, overlay, onError, }) => {
23
23
  const [placeholderUrl, setPlaceholderUrl] = useState();
24
24
  const [imageLoaded, setImageLoaded] = useState(false);
25
25
  const usePlaceholder = blurHash != null && placeholderUrl != null;
@@ -39,7 +39,7 @@ const ProductCardBackgroundImage = ({ imageUrl, blurHash, alt = '', className, i
39
39
  useEffect(() => {
40
40
  setImageLoaded(false);
41
41
  }, [imageUrl]);
42
- return (_jsxs(Root, { className: className, children: [placeholderUrl != null ? (_jsx(Image, { "aria-hidden": true, alt: "", src: placeholderUrl, className: classNames(imageClassName, showPlaceholder ? placeholderVisible : placeholderHidden) })) : null, _jsx(Image, { alt: alt, src: imageUrl, "data-product-card-background": true, className: classNames(imageClassName, usePlaceholder && !imageLoaded ? imageHidden : imageVisible), onLoad: () => setImageLoaded(true), ref: (element) => {
42
+ return (_jsxs(Root, { className: className, children: [placeholderUrl != null ? (_jsx(Image, { "aria-hidden": true, alt: "", src: placeholderUrl, className: classNames(imageClassName, showPlaceholder ? placeholderVisible : placeholderHidden) })) : null, _jsx(Image, { alt: alt, src: imageUrl, "data-product-card-background": true, className: classNames(imageClassName, usePlaceholder && !imageLoaded ? imageHidden : imageVisible), onLoad: () => setImageLoaded(true), onError: onError, ref: (element) => {
43
43
  if (element === null || element === void 0 ? void 0 : element.complete) {
44
44
  setImageLoaded(true);
45
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProductCardBackgroundImage.js","sourceRoot":"","sources":["../../../src/ProductCard/shared/ProductCardBackgroundImage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProductCardBackgroundImage.js","sourceRoot":"","sources":["../../../src/ProductCard/shared/ProductCardBackgroundImage.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ import { Root } from './SecurityIcon.styles.js';
3
+ import type { IconTypeProps } from './types.js';
4
+ export interface Props extends ComponentPropsWithoutRef<typeof Root>, IconTypeProps {
5
+ /** Шаблон URL сервиса иконок, например `https://host/$type/$size/$id$mult.png` */
6
+ urlTemplate?: string;
7
+ /** Готовый URL картинки, имеет приоритет над urlTemplate */
8
+ imgSrc?: string;
9
+ /** Название, используется для alt/title и буквы-заглушки */
10
+ name?: string;
11
+ /** Размер иконки в пикселях */
12
+ size?: number;
13
+ /** Показывать заглушку, если картинка не загрузилась */
14
+ withPlaceholder?: boolean;
15
+ /** Дополнительное содержимое поверх иконки, например бейдж */
16
+ children?: ReactNode;
17
+ }
18
+ declare const _default: import("react").MemoExoticComponent<({ className, urlTemplate, imgSrc, name, size, withPlaceholder, children, type, iconId, style, ...props }: Props) => import("react/jsx-runtime").JSX.Element | null>;
19
+ export default _default;
20
+ //# sourceMappingURL=SecurityIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecurityIcon.d.ts","sourceRoot":"","sources":["../../src/SecurityIcon/SecurityIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAkB,MAAM,OAAO,CAAC;AAG5E,OAAO,EAAO,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,MAAM,WAAW,KAAM,SAAQ,wBAAwB,CAAC,OAAO,IAAI,CAAC,EAAE,aAAa;IACjF,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;uKAcE,KAAK;AA+CR,wBAAkC"}
@@ -0,0 +1,30 @@
1
+ import { __rest } from "tslib";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { memo, useState } from 'react';
4
+ import classNames from 'clsx';
5
+ import Typography from '../Typography/index.js';
6
+ import { Img, Root } from './SecurityIcon.styles.js';
7
+ import { DEFAULT_SIZE, LARGE_PLACEHOLDER_SIZE } from './constants.js';
8
+ import { buildIconUrl, resolveIconSize } from './utils.js';
9
+ const SecurityIcon = (_a) => {
10
+ var { className, urlTemplate, imgSrc, name, size = DEFAULT_SIZE, withPlaceholder = true, children, type, iconId, style } = _a, props = __rest(_a, ["className", "urlTemplate", "imgSrc", "name", "size", "withPlaceholder", "children", "type", "iconId", "style"]);
11
+ const [imageLoaded, setImageLoaded] = useState(false);
12
+ const [imageLoadError, setImageLoadError] = useState(false);
13
+ const handleImgLoad = () => {
14
+ setImageLoaded(true);
15
+ };
16
+ const handleImgError = () => {
17
+ setImageLoadError(true);
18
+ };
19
+ if (!withPlaceholder && imageLoadError) {
20
+ return null;
21
+ }
22
+ const src = imgSrc ||
23
+ (urlTemplate && type && iconId != null
24
+ ? buildIconUrl(urlTemplate, type, iconId, resolveIconSize(size))
25
+ : undefined);
26
+ const imageAvailable = Boolean(src) && !imageLoadError;
27
+ return (_jsxs(Root, Object.assign({}, props, { style: Object.assign({ width: `${size}px`, height: `${size}px` }, style), className: classNames(className, { imageLoaded: imageAvailable && imageLoaded }), children: [children, imageAvailable ? (_jsx(Img, { className: classNames({ imageLoaded, fromImage: Boolean(imgSrc) }), src: src, alt: name, title: name, onLoad: handleImgLoad, onError: handleImgError })) : (_jsx(Typography, { variant: size < LARGE_PLACEHOLDER_SIZE ? 'caption12' : 'body16', children: name === null || name === void 0 ? void 0 : name.charAt(0) }))] })));
28
+ };
29
+ export default memo(SecurityIcon);
30
+ //# sourceMappingURL=SecurityIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecurityIcon.js","sourceRoot":"","sources":["../../src/SecurityIcon/SecurityIcon.tsx"],"names":[],"mappings":";;AAAA,OAAO,EAAuC,IAAI,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5E,OAAO,UAAU,MAAM,MAAM,CAAC;AAC9B,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAiB3D,MAAM,YAAY,GAAG,CAAC,EAYd,EAAE,EAAE;QAZU,EACpB,SAAS,EACT,WAAW,EACX,MAAM,EACN,IAAI,EACJ,IAAI,GAAG,YAAY,EACnB,eAAe,GAAG,IAAI,EACtB,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,KAAK,OAEC,EADH,KAAK,cAXY,gHAYrB,CADS;IAER,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,cAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,IAAI,CAAC,eAAe,IAAI,cAAc,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,MAAM;QAChB,CAAC,WAAW,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI;YACpC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;YAChE,CAAC,CAAC,SAAS,CAAC,CAAC;IACjB,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;IAEvD,OAAO,CACL,MAAC,IAAI,oBACC,KAAK,IACT,KAAK,kBAAI,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,IAAI,IAAK,KAAK,GAC1D,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,cAAc,IAAI,WAAW,EAAE,CAAC,aAE/E,QAAQ,EACR,cAAc,CAAC,CAAC,CAAC,CAChB,KAAC,GAAG,IACF,SAAS,EAAE,UAAU,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAClE,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,cAAc,GACvB,CACH,CAAC,CAAC,CAAC,CACF,KAAC,UAAU,IAAC,OAAO,EAAE,IAAI,GAAG,sBAAsB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,YACxE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,CAAC,CAAC,GACL,CACd,KACI,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC,YAAY,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ .ui_components_r1fjyzu5{flex-shrink:0;display:flex;justify-content:center;align-items:center;position:relative;background:var(--ui-colors-bg-base);background-size:cover;background-repeat:no-repeat;overflow:visible;}.ui_components_r1fjyzu5.imageLoaded{background:transparent;border-radius:0;}
2
+ .ui_components_i11iqzt2{width:100%;height:100%;visibility:hidden;}.ui_components_i11iqzt2.imageLoaded{visibility:visible;}.ui_components_i11iqzt2.fromImage{border-radius:50%;object-fit:cover;}
@@ -0,0 +1,5 @@
1
+ export declare const Root: {
2
+ __wyw_meta: unknown;
3
+ } & import("react").ForwardRefExoticComponent<import("../Avatar/Avatar.js").Props & import("react").RefAttributes<HTMLDivElement>>;
4
+ export declare const Img: import("@linaria/react").StyledComponent<import("react").ClassAttributes<HTMLImageElement> & import("react").ImgHTMLAttributes<HTMLImageElement> & Record<never, unknown>>;
5
+ //# sourceMappingURL=SecurityIcon.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecurityIcon.styles.d.ts","sourceRoot":"","sources":["../../src/SecurityIcon/SecurityIcon.styles.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,IAAI;;kIAehB,CAAC;AAEF,eAAO,MAAM,GAAG,4KAaf,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { styled } from '@linaria/react';
2
+ import Avatar from '../Avatar/index.js';
3
+ const _exp = () => (Avatar);
4
+ export const Root = /*#__PURE__*/styled(_exp())({
5
+ name: "Root",
6
+ class: "ui_components_r1fjyzu5",
7
+ propsAsIs: true
8
+ });
9
+ export const Img = /*#__PURE__*/styled('img')({
10
+ name: "Img",
11
+ class: "ui_components_i11iqzt2",
12
+ propsAsIs: false
13
+ });
14
+ //# sourceMappingURL=SecurityIcon.styles.js.map
15
+
16
+ import "./SecurityIcon.styles.css";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecurityIcon.styles.js","sourceRoot":"","sources":["../../src/SecurityIcon/SecurityIcon.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;;;;;;gBAMlB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO;;;;;;;;;CASpD,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;CAa5B,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const AVAILABLE_SIZES: number[];
2
+ export declare const DEFAULT_SIZE: number;
3
+ export declare const MAX_PIXEL_RATIO = 3;
4
+ export declare const LARGE_PLACEHOLDER_SIZE = 32;
5
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/SecurityIcon/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,UAAuB,CAAC;AAEpD,eAAO,MAAM,YAAY,QAAqB,CAAC;AAE/C,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC,eAAO,MAAM,sBAAsB,KAAK,CAAC"}
@@ -0,0 +1,5 @@
1
+ export const AVAILABLE_SIZES = [24, 32, 40, 48, 64];
2
+ export const DEFAULT_SIZE = AVAILABLE_SIZES[1];
3
+ export const MAX_PIXEL_RATIO = 3;
4
+ export const LARGE_PLACEHOLDER_SIZE = 32;
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/SecurityIcon/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;AAE/C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AAEjC,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { default } from './SecurityIcon.js';
2
+ export type { SecurityIconType, IconTypeProps } from './types.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/SecurityIcon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from './SecurityIcon.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/SecurityIcon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export type SecurityIconType = 'security' | 'country' | 'currency' | 'issuer';
2
+ export interface IconTypeProps {
3
+ /** Тип иконки */
4
+ type?: SecurityIconType;
5
+ /** Идентификатор сущности */
6
+ iconId?: string | number;
7
+ }
8
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/SecurityIcon/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE9E,MAAM,WAAW,aAAa;IAC5B,iBAAiB;IACjB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/SecurityIcon/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { SecurityIconType } from './types.js';
2
+ export declare const resolveIconSize: (size: number) => number;
3
+ export declare const buildIconUrl: (urlTemplate: string, type: SecurityIconType, id: string | number, size: number) => string;
4
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/SecurityIcon/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAenD,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,WAG3C,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,aAAa,MAAM,EACnB,MAAM,gBAAgB,EACtB,IAAI,MAAM,GAAG,MAAM,EACnB,MAAM,MAAM,WAOb,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { AVAILABLE_SIZES, MAX_PIXEL_RATIO } from './constants.js';
2
+ const getPixelRatioSuffix = () => {
3
+ var _a;
4
+ if (typeof window === 'undefined') {
5
+ return '';
6
+ }
7
+ const pixelRatio = Math.min(MAX_PIXEL_RATIO, Math.ceil(Math.max(1, (_a = window.devicePixelRatio) !== null && _a !== void 0 ? _a : 1)));
8
+ return pixelRatio > 1 ? `@${pixelRatio}x` : '';
9
+ };
10
+ export const resolveIconSize = (size) => {
11
+ var _a;
12
+ return ((_a = AVAILABLE_SIZES.find(availableSize => availableSize >= size)) !== null && _a !== void 0 ? _a : AVAILABLE_SIZES[AVAILABLE_SIZES.length - 1]);
13
+ };
14
+ export const buildIconUrl = (urlTemplate, type, id, size) => (urlTemplate
15
+ .replace('$type', type)
16
+ .replace('$size', size.toString())
17
+ .replace('$id', typeof id === 'number' ? id.toString() : id)
18
+ .replace('$mult', getPixelRatioSuffix()));
19
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/SecurityIcon/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGlE,MAAM,mBAAmB,GAAG,GAAG,EAAE;;IAC/B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CACzB,eAAe,EACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAA,MAAM,CAAC,gBAAgB,mCAAI,CAAC,CAAC,CAAC,CACrD,CAAC;IAEF,OAAO,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE;;IAAC,OAAA,CAC/C,MAAA,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,IAAI,IAAI,CAAC,mCAC5D,eAAe,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAC5C,CAAA;CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,WAAmB,EACnB,IAAsB,EACtB,EAAmB,EACnB,IAAY,EACZ,EAAE,CAAC,CACH,WAAW;KACR,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;KACtB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3D,OAAO,CAAC,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAC3C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finam/web-ui-kit-components",
3
- "version": "3.27.3",
3
+ "version": "3.28.1",
4
4
  "description": "Components library for web-ui-kit",
5
5
  "author": "",
6
6
  "license": "ISC",