@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.
@@ -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, { current: activeIndex, total: count, className: hover_slider_m_scss_1.default.nav }))] }) }));
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({ src, href, children, anchorProps, ...restProps }: ProductInfoImageProps): import("react/jsx-runtime").JSX.Element;
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({ src, href, children, anchorProps, ...restProps }) {
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: Array.isArray(src) ? ((0, jsx_runtime_1.jsx)(hover_slider_1.HoverSlider, { className: image_m_scss_1.default.slider, children: src.map((item, index) => ((0, jsx_runtime_1.jsx)(hover_slider_1.HoverSliderItem, { children: (0, jsx_runtime_1.jsx)(product_image_1.ProductImage, { src: item, className: image_m_scss_1.default.image }) }, index))) })) : ((0, jsx_runtime_1.jsx)(product_image_1.ProductImage, { src: src, className: image_m_scss_1.default.image })) }), !adult && (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: 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,uDAAmD;AACnD,qDAAkE;AAClE,oCAA8C;AAC9C,mCAA2C;AAC3C,4DAAoC;AACpC,kEAAoC;AAEpC;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,EAC/B,GAAG,EACH,IAAI,EACJ,QAAQ,EACR,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,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACpB,uBAAC,0BAAW,IAAC,SAAS,EAAE,sBAAM,CAAC,MAAM,YAClC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACxB,uBAAC,8BAAe,cACd,uBAAC,4BAAY,IAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,sBAAM,CAAC,KAAK,GAAI,IADhC,KAAK,CAET,CACnB,CAAC,GACU,CACf,CAAC,CAAC,CAAC,CACF,uBAAC,4BAAY,IAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,sBAAM,CAAC,KAAK,GAAI,CACpD,GACC,EAGH,CAAC,KAAK,IAAI,2DAAG,QAAQ,GAAI,IACT,CACpB,CAAC;AACJ,CAAC;AA1CD,4CA0CC"}
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", { className: product_slider_m_scss_1.default.item, "data-testid": 'product-slider:item', children: item }, item.key));
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,iCAAgF;AAChF,wDAA+D;AAC/D,sEAAkE;AAClE,0EAA+F;AAC/F,oFAA6C;AAe7C;;;;GAIG;AACI,MAAM,aAAa,GAAG,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAsB,EAAE,EAAE;IAC7F,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,gCAAoB,SAAS,EAAE,+BAAM,CAAC,IAAI,iBAAc,qBAAqB,YAC1E,IAAI,IADG,IAAI,CAAC,GAAG,CAEZ,CACP,CAAC;oBAEJ,OAAO,IAAI,CAAC;gBACd,CAAC,EAAE,EAAE,CAAC,GACuB,GACnB,GACV,CACP,CAAC;AACJ,CAAC,CAAC;AArCW,QAAA,aAAa,iBAqCxB"}
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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sima-land/moleculas",
3
3
  "type": "commonjs",
4
- "version": "16.0.0-alpha.28",
4
+ "version": "16.0.0-alpha.29",
5
5
  "repository": "ssh://git@github.com:sima-land/moleculas.git",
6
6
  "author": "www.sima-land.ru team",
7
7
  "license": "Apache-2.0",