@sima-land/moleculas 16.0.0-alpha.45 → 16.0.0-alpha.46
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/common/components/badge/badge.js +12 -18
- package/dist/common/components/badge/badge.js.map +1 -1
- package/dist/common/components/badge/index.js +1 -5
- package/dist/common/components/badge/index.js.map +1 -1
- package/dist/common/components/badge/types.js +1 -2
- package/dist/common/components/badge/utils.js +17 -26
- package/dist/common/components/badge/utils.js.map +1 -1
- package/dist/common/components/badge-list/badge-list.js +12 -19
- package/dist/common/components/badge-list/badge-list.js.map +1 -1
- package/dist/common/components/badge-list/index.js +1 -5
- package/dist/common/components/badge-list/index.js.map +1 -1
- package/dist/common/components/breadcrumbs/breadcrumbs.js +31 -41
- package/dist/common/components/breadcrumbs/breadcrumbs.js.map +1 -1
- package/dist/common/components/breadcrumbs/index.js +1 -6
- package/dist/common/components/breadcrumbs/index.js.map +1 -1
- package/dist/common/components/breadcrumbs/types.js +1 -2
- package/dist/common/components/hover-slider/hover-slider-nav.js +7 -13
- package/dist/common/components/hover-slider/hover-slider-nav.js.map +1 -1
- package/dist/common/components/hover-slider/hover-slider.js +27 -34
- package/dist/common/components/hover-slider/hover-slider.js.map +1 -1
- package/dist/common/components/hover-slider/index.js +2 -8
- package/dist/common/components/hover-slider/index.js.map +1 -1
- package/dist/common/components/hover-slider/types.js +1 -2
- package/dist/common/components/hover-slider/utils.js +6 -11
- package/dist/common/components/hover-slider/utils.js.map +1 -1
- package/dist/common/components/img-stub/img-stub.js +7 -13
- package/dist/common/components/img-stub/img-stub.js.map +1 -1
- package/dist/common/components/img-stub/index.js +1 -5
- package/dist/common/components/img-stub/index.js.map +1 -1
- package/dist/common/components/interactive-image/index.js +2 -6
- package/dist/common/components/interactive-image/index.js.map +1 -1
- package/dist/common/components/interactive-image/interactive-image.js +13 -19
- package/dist/common/components/interactive-image/interactive-image.js.map +1 -1
- package/dist/common/components/interactive-image/types.js +1 -2
- package/dist/common/components/media-gallery/index.js +1 -6
- package/dist/common/components/media-gallery/index.js.map +1 -1
- package/dist/common/components/media-gallery/media-gallery.js +25 -34
- package/dist/common/components/media-gallery/media-gallery.js.map +1 -1
- package/dist/common/components/media-gallery/types.js +1 -2
- package/dist/common/components/media-gallery/utils.js +5 -9
- package/dist/common/components/media-gallery/utils.js.map +1 -1
- package/dist/common/components/media-modal/index.js +24 -28
- package/dist/common/components/media-modal/index.js.map +1 -1
- package/dist/common/components/media-modal/layout.js +23 -33
- package/dist/common/components/media-modal/layout.js.map +1 -1
- package/dist/common/components/media-modal/parts/all-round-view.js +15 -21
- package/dist/common/components/media-modal/parts/all-round-view.js.map +1 -1
- package/dist/common/components/media-modal/parts/index.js +19 -26
- package/dist/common/components/media-modal/parts/index.js.map +1 -1
- package/dist/common/components/media-modal/parts/media-area.js +17 -25
- package/dist/common/components/media-modal/parts/media-area.js.map +1 -1
- package/dist/common/components/media-modal/parts/media-view.js +20 -27
- package/dist/common/components/media-modal/parts/media-view.js.map +1 -1
- package/dist/common/components/media-modal/parts/product-brief.js +16 -22
- package/dist/common/components/media-modal/parts/product-brief.js.map +1 -1
- package/dist/common/components/media-modal/parts/review.js +9 -15
- package/dist/common/components/media-modal/parts/review.js.map +1 -1
- package/dist/common/components/media-modal/parts/scroll-section.js +6 -12
- package/dist/common/components/media-modal/parts/scroll-section.js.map +1 -1
- package/dist/common/components/media-modal/parts/thumbnail.js +19 -27
- package/dist/common/components/media-modal/parts/thumbnail.js.map +1 -1
- package/dist/common/components/media-modal/parts/thumbnails.js +24 -31
- package/dist/common/components/media-modal/parts/thumbnails.js.map +1 -1
- package/dist/common/components/media-modal/types.js +1 -2
- package/dist/common/components/media-modal/utils.d.ts +1 -1
- package/dist/common/components/media-modal/utils.js +13 -21
- package/dist/common/components/media-modal/utils.js.map +1 -1
- package/dist/common/components/modifier/index.js +1 -6
- package/dist/common/components/modifier/index.js.map +1 -1
- package/dist/common/components/modifier/modifier.js +19 -26
- package/dist/common/components/modifier/modifier.js.map +1 -1
- package/dist/common/components/modifier/types.js +1 -2
- package/dist/common/components/pagination-controls/index.js +1 -8
- package/dist/common/components/pagination-controls/index.js.map +1 -1
- package/dist/common/components/pagination-controls/pagination-controls.js +24 -33
- package/dist/common/components/pagination-controls/pagination-controls.js.map +1 -1
- package/dist/common/components/pagination-controls/types.js +1 -2
- package/dist/common/components/product-image/index.js +2 -7
- package/dist/common/components/product-image/index.js.map +1 -1
- package/dist/common/components/product-image/product-image.js +15 -22
- package/dist/common/components/product-image/product-image.js.map +1 -1
- package/dist/common/components/product-image/types.js +1 -2
- package/dist/common/components/product-image/utils.js +2 -5
- package/dist/common/components/product-image/utils.js.map +1 -1
- package/dist/common/components/product-info/index.js +3 -9
- package/dist/common/components/product-info/index.js.map +1 -1
- package/dist/common/components/product-info/parts/adult-confirm-button.js +6 -12
- package/dist/common/components/product-info/parts/adult-confirm-button.js.map +1 -1
- package/dist/common/components/product-info/parts/badges.js +6 -12
- package/dist/common/components/product-info/parts/badges.js.map +1 -1
- package/dist/common/components/product-info/parts/cart-control.js +5 -11
- package/dist/common/components/product-info/parts/cart-control.js.map +1 -1
- package/dist/common/components/product-info/parts/footer.js +8 -14
- package/dist/common/components/product-info/parts/footer.js.map +1 -1
- package/dist/common/components/product-info/parts/image-button.js +12 -18
- package/dist/common/components/product-info/parts/image-button.js.map +1 -1
- package/dist/common/components/product-info/parts/image.js +13 -19
- package/dist/common/components/product-info/parts/image.js.map +1 -1
- package/dist/common/components/product-info/parts/index.js +31 -34
- package/dist/common/components/product-info/parts/index.js.map +1 -1
- package/dist/common/components/product-info/parts/media.js +5 -11
- package/dist/common/components/product-info/parts/media.js.map +1 -1
- package/dist/common/components/product-info/parts/prices.js +11 -17
- package/dist/common/components/product-info/parts/prices.js.map +1 -1
- package/dist/common/components/product-info/parts/rating-couter.js +6 -12
- package/dist/common/components/product-info/parts/rating-couter.js.map +1 -1
- package/dist/common/components/product-info/parts/secondary-info.js +5 -11
- package/dist/common/components/product-info/parts/secondary-info.js.map +1 -1
- package/dist/common/components/product-info/parts/title.js +10 -16
- package/dist/common/components/product-info/parts/title.js.map +1 -1
- package/dist/common/components/product-info/parts/trademark-link.js +6 -12
- package/dist/common/components/product-info/parts/trademark-link.js.map +1 -1
- package/dist/common/components/product-info/parts/wait-list-add-link.js +6 -12
- package/dist/common/components/product-info/parts/wait-list-add-link.js.map +1 -1
- package/dist/common/components/product-info/parts/wait-list-added-link.js +8 -14
- package/dist/common/components/product-info/parts/wait-list-added-link.js.map +1 -1
- package/dist/common/components/product-info/product-info.js +19 -23
- package/dist/common/components/product-info/product-info.js.map +1 -1
- package/dist/common/components/product-info/types.js +1 -2
- package/dist/common/components/product-info/utils.js +3 -6
- package/dist/common/components/product-info/utils.js.map +1 -1
- package/dist/common/components/rating-counter/index.js +1 -5
- package/dist/common/components/rating-counter/index.js.map +1 -1
- package/dist/common/components/rating-counter/rating-counter.js +9 -15
- package/dist/common/components/rating-counter/rating-counter.js.map +1 -1
- package/dist/common/components/sale-progress-widget/index.js +1 -5
- package/dist/common/components/sale-progress-widget/index.js.map +1 -1
- package/dist/common/components/sale-progress-widget/sale-progress-widget.js +8 -15
- package/dist/common/components/sale-progress-widget/sale-progress-widget.js.map +1 -1
- package/dist/common/components/sale-progress-widget/types.js +1 -2
- package/dist/common/hooks/index.js +3 -9
- package/dist/common/hooks/index.js.map +1 -1
- package/dist/common/hooks/use-client-width.js +4 -7
- package/dist/common/hooks/use-client-width.js.map +1 -1
- package/dist/common/hooks/use-image-stub.js +7 -10
- package/dist/common/hooks/use-image-stub.js.map +1 -1
- package/dist/common/hooks/use-mounted.js +5 -8
- package/dist/common/hooks/use-mounted.js.map +1 -1
- package/dist/desktop/components/breadcrumbs/breadcrumbs.js +20 -28
- package/dist/desktop/components/breadcrumbs/breadcrumbs.js.map +1 -1
- package/dist/desktop/components/breadcrumbs/index.js +1 -5
- package/dist/desktop/components/breadcrumbs/index.js.map +1 -1
- package/dist/desktop/components/gallery-modal/__mocks__/index.js +1 -4
- package/dist/desktop/components/gallery-modal/__mocks__/index.js.map +1 -1
- package/dist/desktop/components/gallery-modal/components/all-round-view.js +33 -40
- package/dist/desktop/components/gallery-modal/components/all-round-view.js.map +1 -1
- package/dist/desktop/components/gallery-modal/components/gallery-modal.js +28 -36
- package/dist/desktop/components/gallery-modal/components/gallery-modal.js.map +1 -1
- package/dist/desktop/components/gallery-modal/components/image-overlay.js +4 -11
- package/dist/desktop/components/gallery-modal/components/image-overlay.js.map +1 -1
- package/dist/desktop/components/gallery-modal/components/review-info.js +21 -28
- package/dist/desktop/components/gallery-modal/components/review-info.js.map +1 -1
- package/dist/desktop/components/gallery-modal/components/thumbnail.js +8 -15
- package/dist/desktop/components/gallery-modal/components/thumbnail.js.map +1 -1
- package/dist/desktop/components/gallery-modal/index.js +2 -5
- package/dist/desktop/components/gallery-modal/index.js.map +1 -1
- package/dist/desktop/components/gallery-modal/types.js +1 -2
- package/dist/desktop/components/gallery-modal/utils.js +12 -17
- package/dist/desktop/components/gallery-modal/utils.js.map +1 -1
- package/dist/desktop/components/person-info/index.js +1 -5
- package/dist/desktop/components/person-info/index.js.map +1 -1
- package/dist/desktop/components/person-info/person-info.js +10 -16
- package/dist/desktop/components/person-info/person-info.js.map +1 -1
- package/dist/desktop/components/product-carousel/index.js +1 -5
- package/dist/desktop/components/product-carousel/index.js.map +1 -1
- package/dist/desktop/components/product-carousel/product-carousel.js +25 -31
- package/dist/desktop/components/product-carousel/product-carousel.js.map +1 -1
- package/dist/desktop/components/product-carousel/types.js +1 -2
- package/dist/desktop/components/promotion-card/banner-title.js +12 -20
- package/dist/desktop/components/promotion-card/banner-title.js.map +1 -1
- package/dist/desktop/components/promotion-card/estimate.js +7 -11
- package/dist/desktop/components/promotion-card/estimate.js.map +1 -1
- package/dist/desktop/components/promotion-card/index.js +4 -11
- package/dist/desktop/components/promotion-card/index.js.map +1 -1
- package/dist/desktop/components/promotion-card/placeholder.js +4 -11
- package/dist/desktop/components/promotion-card/placeholder.js.map +1 -1
- package/dist/desktop/components/promotion-card/promotion-card.js +15 -22
- package/dist/desktop/components/promotion-card/promotion-card.js.map +1 -1
- package/dist/desktop/components/promotion-card/types.js +1 -2
- package/dist/mobile/components/action-circles/action-circles.js +8 -14
- package/dist/mobile/components/action-circles/action-circles.js.map +1 -1
- package/dist/mobile/components/action-circles/index.js +1 -5
- package/dist/mobile/components/action-circles/index.js.map +1 -1
- package/dist/mobile/components/action-list/action-list.js +9 -16
- package/dist/mobile/components/action-list/action-list.js.map +1 -1
- package/dist/mobile/components/action-list/index.js +1 -6
- package/dist/mobile/components/action-list/index.js.map +1 -1
- package/dist/mobile/components/breadcrumbs/breadcrumbs.js +4 -11
- package/dist/mobile/components/breadcrumbs/breadcrumbs.js.map +1 -1
- package/dist/mobile/components/breadcrumbs/index.js +1 -5
- package/dist/mobile/components/breadcrumbs/index.js.map +1 -1
- package/dist/mobile/components/person-info/index.js +1 -5
- package/dist/mobile/components/person-info/index.js.map +1 -1
- package/dist/mobile/components/person-info/person-info.js +13 -20
- package/dist/mobile/components/person-info/person-info.js.map +1 -1
- package/dist/mobile/components/product-row/index.js +1 -5
- package/dist/mobile/components/product-row/index.js.map +1 -1
- package/dist/mobile/components/product-row/product-row.js +15 -21
- package/dist/mobile/components/product-row/product-row.js.map +1 -1
- package/dist/mobile/components/product-slider/index.js +1 -5
- package/dist/mobile/components/product-slider/index.js.map +1 -1
- package/dist/mobile/components/product-slider/product-slider.js +18 -25
- package/dist/mobile/components/product-slider/product-slider.js.map +1 -1
- package/dist/mobile/components/search-bar/index.js +1 -5
- package/dist/mobile/components/search-bar/index.js.map +1 -1
- package/dist/mobile/components/search-bar/search-bar.js +26 -34
- package/dist/mobile/components/search-bar/search-bar.js.map +1 -1
- package/dist/mobile/components/select-screen/index.js +1 -6
- package/dist/mobile/components/select-screen/index.js.map +1 -1
- package/dist/mobile/components/select-screen/select-screen.js +10 -17
- package/dist/mobile/components/select-screen/select-screen.js.map +1 -1
- package/package.json +39 -39
|
@@ -1,37 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.Badge = Badge;
|
|
7
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
-
const utils_1 = require("./utils");
|
|
9
|
-
const bind_1 = __importDefault(require("classnames/bind"));
|
|
10
|
-
const badge_m_scss_1 = __importDefault(require("./badge.m.scss"));
|
|
11
|
-
const cx = bind_1.default.bind(badge_m_scss_1.default);
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { renderFields, tokenToCustomProperty } from './utils';
|
|
3
|
+
import classnames from 'classnames/bind';
|
|
4
|
+
import styles from './badge.m.scss';
|
|
5
|
+
const cx = classnames.bind(styles);
|
|
12
6
|
/**
|
|
13
7
|
* Шильдик.
|
|
14
8
|
* @param props Свойства.
|
|
15
9
|
* @return Элемент.
|
|
16
10
|
*/
|
|
17
|
-
function Badge({ rootRef, className, color, coloring = 'outline', fields, style, shape = 'unset', withHoverEffect = true, 'data-testid': testId = 'badge', children, ...restProps }) {
|
|
11
|
+
export function Badge({ rootRef, className, color, coloring = 'outline', fields, style, shape = 'unset', withHoverEffect = true, 'data-testid': testId = 'badge', children, ...restProps }) {
|
|
18
12
|
const iconOnly = fields && fields.length === 1 && fields[0].type === 'svg-url';
|
|
19
13
|
const rootClassName = cx('root', iconOnly && 'icon-only', withHoverEffect && 'with-hover-effect', shape === 'round' && 'shape-round', shape === 'pill' && 'shape-pill', shape !== 'pill' && !iconOnly && 'padding-x-default', shape === 'pill' && !iconOnly && 'padding-x-pill', coloring === 'outline' && 'coloring-outline', coloring === 'fill' && 'coloring-fill', className);
|
|
20
14
|
const rootStyle = {
|
|
21
|
-
'--badge-color':
|
|
15
|
+
'--badge-color': tokenToCustomProperty(color),
|
|
22
16
|
...style,
|
|
23
17
|
};
|
|
24
|
-
const content = fields ?
|
|
18
|
+
const content = fields ? renderFields(fields) : children;
|
|
25
19
|
if (restProps.as === 'span') {
|
|
26
|
-
return ((
|
|
20
|
+
return (_jsx("span", { ref: rootRef, className: rootClassName, style: rootStyle, "data-testid": testId, ...omitPropAs(restProps), children: content }));
|
|
27
21
|
}
|
|
28
22
|
if (restProps.as === 'div') {
|
|
29
|
-
return ((
|
|
23
|
+
return (_jsx("div", { ref: rootRef, className: rootClassName, style: rootStyle, "data-testid": testId, ...omitPropAs(restProps), children: content }));
|
|
30
24
|
}
|
|
31
25
|
if (restProps.as === 'button') {
|
|
32
|
-
return ((
|
|
26
|
+
return (_jsx("button", { ref: rootRef, className: rootClassName, style: rootStyle, "data-testid": testId, type: 'button', ...omitPropAs(restProps), children: content }));
|
|
33
27
|
}
|
|
34
|
-
return ((
|
|
28
|
+
return (_jsx("a", { ref: rootRef, className: rootClassName, style: rootStyle, "data-testid": testId, ...omitPropAs(restProps), children: content }));
|
|
35
29
|
}
|
|
36
30
|
/** @inheritdoc */
|
|
37
31
|
function omitPropAs(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../../src/common/components/badge/badge.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../../src/common/components/badge/badge.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,MAAM,MAAM,gBAAgB,CAAC;AAEpC,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,EACpB,OAAO,EACP,SAAS,EACT,KAAK,EACL,QAAQ,GAAG,SAAS,EACpB,MAAM,EACN,KAAK,EACL,KAAK,GAAG,OAAO,EACf,eAAe,GAAG,IAAI,EACtB,aAAa,EAAE,MAAM,GAAG,OAAO,EAC/B,QAAQ,EACR,GAAG,SAAS,EACD;IACX,MAAM,QAAQ,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;IAE/E,MAAM,aAAa,GAAG,EAAE,CACtB,MAAM,EACN,QAAQ,IAAI,WAAW,EACvB,eAAe,IAAI,mBAAmB,EACtC,KAAK,KAAK,OAAO,IAAI,aAAa,EAClC,KAAK,KAAK,MAAM,IAAI,YAAY,EAChC,KAAK,KAAK,MAAM,IAAI,CAAC,QAAQ,IAAI,mBAAmB,EACpD,KAAK,KAAK,MAAM,IAAI,CAAC,QAAQ,IAAI,gBAAgB,EACjD,QAAQ,KAAK,SAAS,IAAI,kBAAkB,EAC5C,QAAQ,KAAK,MAAM,IAAI,eAAe,EACtC,SAAS,CACV,CAAC;IAEF,MAAM,SAAS,GAAe;QAC5B,eAAe,EAAE,qBAAqB,CAAC,KAAK,CAAC;QAC7C,GAAG,KAAK;KACT,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEzD,IAAI,SAAS,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,CACL,eACE,GAAG,EAAE,OAAc,EACnB,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,SAAS,iBACH,MAAM,KACf,UAAU,CAAC,SAAS,CAAC,YAExB,OAAO,GACH,CACR,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC3B,OAAO,CACL,cACE,GAAG,EAAE,OAAc,EACnB,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,SAAS,iBACH,MAAM,KACf,UAAU,CAAC,SAAS,CAAC,YAExB,OAAO,GACJ,CACP,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,CACL,iBACE,GAAG,EAAE,OAAc,EACnB,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,SAAS,iBACH,MAAM,EACnB,IAAI,EAAC,QAAQ,KACT,UAAU,CAAC,SAAS,CAAC,YAExB,OAAO,GACD,CACV,CAAC;IACJ,CAAC;IAED,OAAO,CACL,YACE,GAAG,EAAE,OAAc,EACnB,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,SAAS,iBACH,MAAM,KACf,UAAU,CAAC,SAAS,CAAC,YAExB,OAAO,GACN,CACL,CAAC;AACJ,CAAC;AAED,kBAAkB;AAClB,SAAS,UAAU,CAA6B,KAAQ;IACtD,6DAA6D;IAC7D,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,CAAC;IAEjC,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Badge = void 0;
|
|
4
|
-
var badge_1 = require("./badge");
|
|
5
|
-
Object.defineProperty(exports, "Badge", { enumerable: true, get: function () { return badge_1.Badge; } });
|
|
1
|
+
export { Badge } from './badge';
|
|
6
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/common/components/badge/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/common/components/badge/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1,37 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
exports.tokenToCustomProperty = tokenToCustomProperty;
|
|
7
|
-
exports.renderFields = renderFields;
|
|
8
|
-
exports.formatDistance = formatDistance;
|
|
9
|
-
exports.toTimePart = toTimePart;
|
|
10
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
11
|
-
const colors_1 = require("@sima-land/ui-nucleons/colors");
|
|
12
|
-
const gradients_1 = require("@sima-land/ui-nucleons/gradients");
|
|
13
|
-
const timer_1 = require("@sima-land/ui-nucleons/timer");
|
|
14
|
-
const badge_m_scss_1 = __importDefault(require("./badge.m.scss"));
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { COLORS } from '@sima-land/ui-nucleons/colors';
|
|
3
|
+
import { GRADIENTS } from '@sima-land/ui-nucleons/gradients';
|
|
4
|
+
import { Timer } from '@sima-land/ui-nucleons/timer';
|
|
5
|
+
import styles from './badge.m.scss';
|
|
15
6
|
/**
|
|
16
7
|
* Если переданное значение является токеном цвета/градиента, вернёт CSS-значение с соответствующей CSS-переменной.
|
|
17
8
|
* Иначе вернет само значение.
|
|
18
9
|
* @param value Значение.
|
|
19
10
|
* @return Значение или undefined.
|
|
20
11
|
*/
|
|
21
|
-
function tokenToCustomProperty(value) {
|
|
12
|
+
export function tokenToCustomProperty(value) {
|
|
22
13
|
if (typeof value !== 'string') {
|
|
23
14
|
return value;
|
|
24
15
|
}
|
|
25
16
|
if (value.startsWith('color/')) {
|
|
26
17
|
const colorName = value.replace('color/', '');
|
|
27
|
-
if (!
|
|
18
|
+
if (!COLORS.has(colorName)) {
|
|
28
19
|
return value;
|
|
29
20
|
}
|
|
30
21
|
return `var(--color-${colorName})`;
|
|
31
22
|
}
|
|
32
23
|
if (value.startsWith('gradient/')) {
|
|
33
24
|
const gradientName = value.replace('gradient/', '');
|
|
34
|
-
if (!
|
|
25
|
+
if (!GRADIENTS.has(gradientName)) {
|
|
35
26
|
return value;
|
|
36
27
|
}
|
|
37
28
|
return `var(--gradient-${gradientName})`;
|
|
@@ -45,7 +36,7 @@ function tokenToCustomProperty(value) {
|
|
|
45
36
|
* @param fields Поля.
|
|
46
37
|
* @return СОдержимое шильдика.
|
|
47
38
|
*/
|
|
48
|
-
function renderFields(fields) {
|
|
39
|
+
export function renderFields(fields) {
|
|
49
40
|
const result = [];
|
|
50
41
|
let item = null;
|
|
51
42
|
for (const field of fields) {
|
|
@@ -56,11 +47,11 @@ function renderFields(fields) {
|
|
|
56
47
|
break;
|
|
57
48
|
}
|
|
58
49
|
case 'timer': {
|
|
59
|
-
item = [(
|
|
50
|
+
item = [_jsx(Timer, { date: field.value, timeout: 1000 * 60, format: formatDistance }, 0)];
|
|
60
51
|
break;
|
|
61
52
|
}
|
|
62
53
|
case 'svg-url': {
|
|
63
|
-
result.push((
|
|
54
|
+
result.push(_jsx("img", { className: styles.icon, src: field.value, alt: '' }, result.length));
|
|
64
55
|
break;
|
|
65
56
|
}
|
|
66
57
|
}
|
|
@@ -74,21 +65,21 @@ function renderFields(fields) {
|
|
|
74
65
|
}
|
|
75
66
|
case 'timer': {
|
|
76
67
|
item.push(' ');
|
|
77
|
-
item.push((
|
|
68
|
+
item.push(_jsx(Timer, { date: field.value, timeout: 1000 * 60, format: formatDistance }, item.length));
|
|
78
69
|
break;
|
|
79
70
|
}
|
|
80
71
|
case 'svg-url': {
|
|
81
72
|
// вложенный span нужен для того чтобы объединить `display: inline-flex` и `text-overflow: ellipsis`
|
|
82
|
-
result.push((
|
|
73
|
+
result.push(_jsx("span", { className: styles.content, children: item }, result.length));
|
|
83
74
|
item = null;
|
|
84
|
-
result.push((
|
|
75
|
+
result.push(_jsx("img", { className: styles.icon, src: field.value, alt: '' }, result.length));
|
|
85
76
|
break;
|
|
86
77
|
}
|
|
87
78
|
}
|
|
88
79
|
}
|
|
89
80
|
}
|
|
90
81
|
if (item) {
|
|
91
|
-
result.push((
|
|
82
|
+
result.push(_jsx("span", { className: styles.content, children: item }, result.length));
|
|
92
83
|
item = null;
|
|
93
84
|
}
|
|
94
85
|
return result;
|
|
@@ -98,7 +89,7 @@ function renderFields(fields) {
|
|
|
98
89
|
* @param distance Оставшееся время.
|
|
99
90
|
* @return Отформатированное время.
|
|
100
91
|
*/
|
|
101
|
-
function formatDistance({ days, hours, minutes, }) {
|
|
92
|
+
export function formatDistance({ days, hours, minutes, }) {
|
|
102
93
|
return `${toTimePart(days)}:${toTimePart(hours % 24)}:${toTimePart(minutes % 60)}`;
|
|
103
94
|
}
|
|
104
95
|
/**
|
|
@@ -106,7 +97,7 @@ function formatDistance({ days, hours, minutes, }) {
|
|
|
106
97
|
* @param n Число.
|
|
107
98
|
* @return Отформатированное число.
|
|
108
99
|
*/
|
|
109
|
-
function toTimePart(n) {
|
|
100
|
+
export function toTimePart(n) {
|
|
110
101
|
return `${n}`.padStart(2, '0');
|
|
111
102
|
}
|
|
112
103
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/common/components/badge/utils.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/common/components/badge/utils.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
-
const react_1 = require("react");
|
|
9
|
-
const badge_1 = require("../badge");
|
|
10
|
-
const bind_1 = __importDefault(require("classnames/bind"));
|
|
11
|
-
const badge_list_m_scss_1 = __importDefault(require("./badge-list.m.scss"));
|
|
12
|
-
const cx = bind_1.default.bind(badge_list_m_scss_1.default);
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Children, isValidElement } from 'react';
|
|
3
|
+
import { Badge } from '../badge';
|
|
4
|
+
import classnames from 'classnames/bind';
|
|
5
|
+
import styles from './badge-list.m.scss';
|
|
6
|
+
const cx = classnames.bind(styles);
|
|
13
7
|
/**
|
|
14
8
|
* Компонент списка шильдиков. Формирует отступы между шильдиками и переносы по дизайн-найдам.
|
|
15
9
|
* @param props Свойства компонента.
|
|
16
10
|
* @return Элемент.
|
|
17
11
|
*/
|
|
18
|
-
const BadgeList = ({ children, className, lineLimit, style }) => ((
|
|
12
|
+
export const BadgeList = ({ children, className, lineLimit, style }) => (_jsx("div", { className: cx('root', className, lineLimit && 'line-limit'), style: lineLimit ? { ...style, '--line-limit': lineLimit } : style, children: Children.toArray(children).map((child, index) => {
|
|
19
13
|
switch (true) {
|
|
20
|
-
case
|
|
21
|
-
return (
|
|
22
|
-
case
|
|
14
|
+
case isValidElement(child) && child.type === Badge:
|
|
15
|
+
return _jsx(BadgeListSlot, { children: child }, index);
|
|
16
|
+
case isValidElement(child) && child.type === BadgeListSlot:
|
|
23
17
|
return child;
|
|
24
18
|
default:
|
|
25
19
|
return null;
|
|
26
20
|
}
|
|
27
21
|
}) }));
|
|
28
|
-
exports.BadgeList = BadgeList;
|
|
29
22
|
/**
|
|
30
23
|
* Слот для вывода Badge с произвольной оберткой.
|
|
31
24
|
* @param props Свойства.
|
|
32
25
|
* @return Элемент.
|
|
33
26
|
*/
|
|
34
27
|
function BadgeListSlot({ children }) {
|
|
35
|
-
return (
|
|
28
|
+
return _jsx("div", { className: cx('item'), children: children });
|
|
36
29
|
}
|
|
37
|
-
|
|
30
|
+
BadgeList.Slot = BadgeListSlot;
|
|
38
31
|
//# sourceMappingURL=badge-list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge-list.js","sourceRoot":"","sources":["../../../../src/common/components/badge-list/badge-list.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"badge-list.js","sourceRoot":"","sources":["../../../../src/common/components/badge-list/badge-list.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAA4B,MAAM,OAAO,CAAC;AAC3E,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAgBzC,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAEnC;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAkB,EAAE,EAAE,CAAC,CACtF,cACE,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,IAAI,YAAY,CAAC,EAC3D,KAAK,EAAE,SAAS,CAAC,CAAC,CAAE,EAAE,GAAG,KAAK,EAAE,cAAc,EAAE,SAAS,EAAoB,CAAC,CAAC,CAAC,KAAK,YAEpF,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC/C,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK;gBAChD,OAAO,KAAC,aAAa,cAAc,KAAK,IAAb,KAAK,CAAyB,CAAC;YAC5D,KAAK,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;gBACxD,OAAO,KAAK,CAAC;YACf;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC,CAAC,GACE,CACP,CAAC;AAEF;;;;GAIG;AACH,SAAS,aAAa,CAAC,EAAE,QAAQ,EAA4B;IAC3D,OAAO,cAAK,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,YAAG,QAAQ,GAAO,CAAC;AACtD,CAAC;AAED,SAAS,CAAC,IAAI,GAAG,aAAa,CAAC"}
|
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BadgeList = void 0;
|
|
4
|
-
var badge_list_1 = require("./badge-list");
|
|
5
|
-
Object.defineProperty(exports, "BadgeList", { enumerable: true, get: function () { return badge_list_1.BadgeList; } });
|
|
1
|
+
export { BadgeList } from './badge-list';
|
|
6
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/common/components/badge-list/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/common/components/badge-list/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,SAAS,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1,51 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
exports.BreadcrumbsItemSibling = BreadcrumbsItemSibling;
|
|
11
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
12
|
-
const react_1 = require("react");
|
|
13
|
-
const link_1 = require("@sima-land/ui-nucleons/link");
|
|
14
|
-
const plate_1 = require("@sima-land/ui-nucleons/plate");
|
|
15
|
-
const helpers_1 = require("@sima-land/ui-nucleons/helpers");
|
|
16
|
-
const hooks_1 = require("@sima-land/ui-nucleons/hooks");
|
|
17
|
-
const react_transition_group_1 = require("react-transition-group");
|
|
18
|
-
const classnames_1 = __importDefault(require("classnames"));
|
|
19
|
-
const breadcrumbs_m_scss_1 = __importDefault(require("./breadcrumbs.m.scss"));
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useRef, useEffect } from 'react';
|
|
3
|
+
import { Link } from '@sima-land/ui-nucleons/link';
|
|
4
|
+
import { Plate } from '@sima-land/ui-nucleons/plate';
|
|
5
|
+
import { defineSlots } from '@sima-land/ui-nucleons/helpers';
|
|
6
|
+
import { useOutsideClick } from '@sima-land/ui-nucleons/hooks';
|
|
7
|
+
import { CSSTransition } from 'react-transition-group';
|
|
8
|
+
import classNames from 'classnames';
|
|
9
|
+
import styles from './breadcrumbs.m.scss';
|
|
20
10
|
/**
|
|
21
11
|
* Список "хлебных крошек".
|
|
22
12
|
* @param props Свойства.
|
|
23
13
|
* @return Элемент.
|
|
24
14
|
*/
|
|
25
|
-
function Breadcrumbs({ children, className, 'data-testid': testId = 'breadcrumbs', ...restProps }) {
|
|
26
|
-
return ((
|
|
15
|
+
export function Breadcrumbs({ children, className, 'data-testid': testId = 'breadcrumbs', ...restProps }) {
|
|
16
|
+
return (_jsx("div", { ...restProps, className: classNames(styles.root, className), "data-testid": testId, children: children }));
|
|
27
17
|
}
|
|
28
18
|
/**
|
|
29
19
|
* Элемент списка "хлебных крошек".
|
|
30
20
|
* @param props Свойства.
|
|
31
21
|
* @return Элемент.
|
|
32
22
|
*/
|
|
33
|
-
function BreadcrumbsItem({ active, children, 'data-testid': testId = 'breadcrumb', ...restProps }) {
|
|
34
|
-
const { body, dropdown } =
|
|
23
|
+
export function BreadcrumbsItem({ active, children, 'data-testid': testId = 'breadcrumb', ...restProps }) {
|
|
24
|
+
const { body, dropdown } = defineSlots(children, {
|
|
35
25
|
body: BreadcrumbsItemBody,
|
|
36
26
|
dropdown: BreadcrumbsItemDropdown,
|
|
37
27
|
});
|
|
38
|
-
const [open, setOpen] =
|
|
39
|
-
const ref =
|
|
40
|
-
|
|
28
|
+
const [open, setOpen] = useState(false);
|
|
29
|
+
const ref = useRef(null);
|
|
30
|
+
useOutsideClick(ref, () => setOpen(false));
|
|
41
31
|
// ВАЖНО: выносим кусок верстки чтобы использовать его в двух местах
|
|
42
|
-
const name = ((
|
|
43
|
-
return ((
|
|
44
|
-
enter:
|
|
45
|
-
enterActive:
|
|
46
|
-
exit:
|
|
47
|
-
exitActive:
|
|
48
|
-
}, children: (
|
|
32
|
+
const name = (_jsxs("span", { className: styles.name, children: [_jsx(Link, { color: 'basic-gray87', ...(active && { pseudo: true }), ...restProps, children: body }), dropdown && _jsx(DownSVG, { className: styles.icon, onClick: () => setOpen(a => !a) })] }));
|
|
33
|
+
return (_jsx("div", { className: styles.item, "data-testid": testId, children: _jsxs("div", { className: styles.inner, children: [name, _jsx(CSSTransition, { in: dropdown && open, timeout: 200, unmountOnExit: true, classNames: {
|
|
34
|
+
enter: styles['fade-enter'],
|
|
35
|
+
enterActive: styles['fade-enter-active'],
|
|
36
|
+
exit: styles['fade-exit'],
|
|
37
|
+
exitActive: styles['fade-exit-active'],
|
|
38
|
+
}, children: _jsxs(Plate, { ref: ref, rounds: 'm', shadow: 'z3', className: styles.dropdown, children: [name, _jsx("div", { className: styles['dropdown-body'], children: dropdown })] }) })] }) }));
|
|
49
39
|
}
|
|
50
40
|
BreadcrumbsItem.Body = BreadcrumbsItemBody;
|
|
51
41
|
BreadcrumbsItem.Dropdown = BreadcrumbsItemDropdown;
|
|
@@ -55,28 +45,28 @@ BreadcrumbsItem.Sibling = BreadcrumbsItemSibling;
|
|
|
55
45
|
* @param props Свойства.
|
|
56
46
|
* @return Элемент.
|
|
57
47
|
*/
|
|
58
|
-
function BreadcrumbsItemBody({ children }) {
|
|
59
|
-
return (
|
|
48
|
+
export function BreadcrumbsItemBody({ children }) {
|
|
49
|
+
return _jsx(_Fragment, { children: children });
|
|
60
50
|
}
|
|
61
51
|
/**
|
|
62
52
|
* Содержимое выпадающего списка "хлебной крошки".
|
|
63
53
|
* @param props Свойства.
|
|
64
54
|
* @return Элемент.
|
|
65
55
|
*/
|
|
66
|
-
function BreadcrumbsItemDropdown({ loading, children, onOpen, }) {
|
|
67
|
-
|
|
68
|
-
return ((
|
|
56
|
+
export function BreadcrumbsItemDropdown({ loading, children, onOpen, }) {
|
|
57
|
+
useEffect(() => onOpen?.(), []);
|
|
58
|
+
return (_jsx(_Fragment, { children: loading ? (_jsxs("div", { className: styles.stubs, children: [_jsx("div", { className: styles.stub }), _jsx("div", { className: styles.stub }), _jsx("div", { className: styles.stub }), _jsx("div", { className: styles.stub }), _jsx("div", { className: styles.stub }), _jsx("div", { className: styles.stub }), _jsx("div", { className: styles.stub }), _jsx("div", { className: styles.stub })] })) : (children) }));
|
|
69
59
|
}
|
|
70
60
|
/**
|
|
71
61
|
* Соседняя "хлебная крошка", выводится в выпадающем списке.
|
|
72
62
|
* @param props Свойства.
|
|
73
63
|
* @return Элемент.
|
|
74
64
|
*/
|
|
75
|
-
function BreadcrumbsItemSibling({ children, className, active, 'data-testid': testId = 'breadcrumb:sibling', ...restProps }) {
|
|
76
|
-
return ((
|
|
65
|
+
export function BreadcrumbsItemSibling({ children, className, active, 'data-testid': testId = 'breadcrumb:sibling', ...restProps }) {
|
|
66
|
+
return (_jsx(Link, { color: 'basic-gray87', className: classNames(styles.sibling, className), "data-testid": testId, ...(active && { disabled: true, pseudo: true }), ...restProps, children: children }));
|
|
77
67
|
}
|
|
78
68
|
/** @inheritdoc */
|
|
79
69
|
function DownSVG(props) {
|
|
80
|
-
return ((
|
|
70
|
+
return (_jsx("svg", { width: '16', height: '16', viewBox: '0 0 16 16', fill: 'none', ...props, children: _jsx("path", { d: 'M4 6L8 10L12 6', strokeLinecap: 'round', strokeLinejoin: 'round' }) }));
|
|
81
71
|
}
|
|
82
72
|
//# sourceMappingURL=breadcrumbs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumbs.js","sourceRoot":"","sources":["../../../../src/common/components/breadcrumbs/breadcrumbs.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"breadcrumbs.js","sourceRoot":"","sources":["../../../../src/common/components/breadcrumbs/breadcrumbs.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BreadcrumbsItem = exports.Breadcrumbs = void 0;
|
|
4
|
-
var breadcrumbs_1 = require("./breadcrumbs");
|
|
5
|
-
Object.defineProperty(exports, "Breadcrumbs", { enumerable: true, get: function () { return breadcrumbs_1.Breadcrumbs; } });
|
|
6
|
-
Object.defineProperty(exports, "BreadcrumbsItem", { enumerable: true, get: function () { return breadcrumbs_1.BreadcrumbsItem; } });
|
|
1
|
+
export { Breadcrumbs, BreadcrumbsItem } from './breadcrumbs';
|
|
7
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/common/components/breadcrumbs/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/common/components/breadcrumbs/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -1,20 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.HoverSliderNav = HoverSliderNav;
|
|
7
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
-
const react_1 = require("react");
|
|
9
|
-
const classnames_1 = __importDefault(require("classnames"));
|
|
10
|
-
const hover_slider_nav_m_scss_1 = __importDefault(require("./hover-slider-nav.m.scss"));
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import styles from './hover-slider-nav.m.scss';
|
|
11
5
|
/**
|
|
12
6
|
* Навигация карусели. Отображает общее количество и текущий элемент.
|
|
13
7
|
* @param props Свойства.
|
|
14
8
|
* @return Элемент.
|
|
15
9
|
*/
|
|
16
|
-
function HoverSliderNav({ current, total, className, ...restProps }) {
|
|
17
|
-
const indices =
|
|
18
|
-
return ((
|
|
10
|
+
export function HoverSliderNav({ current, total, className, ...restProps }) {
|
|
11
|
+
const indices = useMemo(() => [...Array(total).keys()], [total]);
|
|
12
|
+
return (_jsx("div", { ...restProps, className: classNames(styles.nav, className), children: indices.map(index => (_jsx("div", { className: classNames(styles['nav-item'], index === current && styles['nav-item-active']) }, index))) }));
|
|
19
13
|
}
|
|
20
14
|
//# sourceMappingURL=hover-slider-nav.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hover-slider-nav.js","sourceRoot":"","sources":["../../../../src/common/components/hover-slider/hover-slider-nav.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hover-slider-nav.js","sourceRoot":"","sources":["../../../../src/common/components/hover-slider/hover-slider-nav.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAE/C;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAuB;IAC7F,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjE,OAAO,CACL,iBAAS,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,YAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CACpB,cAEE,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,KAAK,OAAO,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC,IADpF,KAAK,CAEV,CACH,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,35 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const react_1 = require("react");
|
|
10
|
-
const utils_1 = require("./utils");
|
|
11
|
-
const hover_slider_nav_1 = require("./hover-slider-nav");
|
|
12
|
-
const hooks_1 = require("@sima-land/ui-nucleons/hooks");
|
|
13
|
-
const helpers_1 = require("@sima-land/ui-nucleons/helpers");
|
|
14
|
-
const classnames_1 = __importDefault(require("classnames"));
|
|
15
|
-
const hover_slider_m_scss_1 = __importDefault(require("./hover-slider.m.scss"));
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useContext, useEffect, useImperativeHandle, useMemo, useRef, useState, } from 'react';
|
|
3
|
+
import { debounce, HoverSliderContext, useSlideCount } from './utils';
|
|
4
|
+
import { HoverSliderNav } from './hover-slider-nav';
|
|
5
|
+
import { useIsomorphicLayoutEffect } from '@sima-land/ui-nucleons/hooks';
|
|
6
|
+
import { on } from '@sima-land/ui-nucleons/helpers';
|
|
7
|
+
import classNames from 'classnames';
|
|
8
|
+
import styles from './hover-slider.m.scss';
|
|
16
9
|
/**
|
|
17
10
|
* Блок карусели с прокруткой при движении мыши над ним.
|
|
18
11
|
* @param props Свойства.
|
|
19
12
|
* @return Элемент.
|
|
20
13
|
*/
|
|
21
|
-
function HoverSlider({ rootRef: rootRefProp, withNav = true, navProps, children, beforeList, afterList, className, 'data-testid': testId = 'hover-slider', ...restProps }) {
|
|
22
|
-
const [isScrolling, setIsScrolling] =
|
|
23
|
-
const rootRef =
|
|
24
|
-
const listRef =
|
|
25
|
-
const [activeIndex, setActiveIndex] =
|
|
26
|
-
const { count, contextValue } =
|
|
27
|
-
const scrollingEnd =
|
|
14
|
+
export function HoverSlider({ rootRef: rootRefProp, withNav = true, navProps, children, beforeList, afterList, className, 'data-testid': testId = 'hover-slider', ...restProps }) {
|
|
15
|
+
const [isScrolling, setIsScrolling] = useState(false);
|
|
16
|
+
const rootRef = useRef(null);
|
|
17
|
+
const listRef = useRef(null);
|
|
18
|
+
const [activeIndex, setActiveIndex] = useState(0);
|
|
19
|
+
const { count, contextValue } = useSlideCount();
|
|
20
|
+
const scrollingEnd = useCallback(debounce(() => {
|
|
28
21
|
setIsScrolling(false);
|
|
29
22
|
}, 100), []);
|
|
30
|
-
|
|
23
|
+
useImperativeHandle(rootRefProp, () => rootRef.current);
|
|
31
24
|
// ВАЖНО: подписываемся напрямую через ref так как React вызывает onMouseLeave не на mouseleave а на mouseout
|
|
32
|
-
|
|
25
|
+
useEffect(() => {
|
|
33
26
|
const list = listRef.current;
|
|
34
27
|
const root = rootRef.current;
|
|
35
28
|
if (!root || !list || count < 2) {
|
|
@@ -52,14 +45,14 @@ function HoverSlider({ rootRef: rootRefProp, withNav = true, navProps, children,
|
|
|
52
45
|
};
|
|
53
46
|
const off = [
|
|
54
47
|
//
|
|
55
|
-
|
|
56
|
-
|
|
48
|
+
on(root, 'mousemove', onMouseMove),
|
|
49
|
+
on(root, 'mouseleave', onMouseLeave),
|
|
57
50
|
];
|
|
58
51
|
return () => {
|
|
59
52
|
off.forEach(fn => fn());
|
|
60
53
|
};
|
|
61
54
|
}, [count, isScrolling]);
|
|
62
|
-
|
|
55
|
+
useEffect(() => {
|
|
63
56
|
const list = listRef.current;
|
|
64
57
|
if (!list || count < 2) {
|
|
65
58
|
return;
|
|
@@ -72,24 +65,24 @@ function HoverSlider({ rootRef: rootRefProp, withNav = true, navProps, children,
|
|
|
72
65
|
};
|
|
73
66
|
const off = [
|
|
74
67
|
//
|
|
75
|
-
|
|
68
|
+
on(list, 'scroll', onScroll),
|
|
76
69
|
];
|
|
77
70
|
return () => {
|
|
78
71
|
off.forEach(fn => fn());
|
|
79
72
|
};
|
|
80
73
|
}, [count, isScrolling]);
|
|
81
|
-
return ((
|
|
74
|
+
return (_jsx(HoverSliderContext.Provider, { value: contextValue, children: _jsxs("div", { ...restProps, ref: rootRef, className: classNames(styles.root, className), "data-testid": testId, children: [beforeList, _jsx("div", { ref: listRef, className: styles.list, children: children }), afterList, withNav && count > 1 && (_jsx(HoverSliderNav, { ...navProps, className: classNames(styles.nav, navProps?.className), current: activeIndex, total: count }))] }) }));
|
|
82
75
|
}
|
|
83
76
|
/** @inheritdoc */
|
|
84
|
-
function HoverSliderItem({ children, className, ...restProps }) {
|
|
85
|
-
const { itemMounted, itemUnmounted } =
|
|
86
|
-
const itemId =
|
|
87
|
-
|
|
77
|
+
export function HoverSliderItem({ children, className, ...restProps }) {
|
|
78
|
+
const { itemMounted, itemUnmounted } = useContext(HoverSliderContext);
|
|
79
|
+
const itemId = useMemo(() => Math.random().toString(16).slice(2), []);
|
|
80
|
+
useIsomorphicLayoutEffect(() => {
|
|
88
81
|
itemMounted(itemId);
|
|
89
82
|
return () => {
|
|
90
83
|
itemUnmounted(itemId);
|
|
91
84
|
};
|
|
92
85
|
}, [itemId, itemMounted, itemUnmounted]);
|
|
93
|
-
return ((
|
|
86
|
+
return (_jsx("div", { ...restProps, className: classNames(styles['list-item'], className), children: children }));
|
|
94
87
|
}
|
|
95
88
|
//# sourceMappingURL=hover-slider.js.map
|