@via-profit/ui-kit 0.2.1-alpha.3 → 0.2.2
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/Autocomplete/AutocompleteContainer.js +20 -12
- package/CountryFlags/SwiperOverview.d.ts +257 -0
- package/CountryFlags/SwiperOverview.js +524 -0
- package/MaskedField/index.d.ts +1 -0
- package/MaskedField/index.js +44 -36
- package/MaskedField/useMasked.js +7 -5
- package/Menu/MenuContainer.js +1 -1
- package/Swiper/Swiper.d.ts +30 -17
- package/Swiper/Swiper.js +311 -38
- package/Swiper/SwiperContainer.d.ts +3 -3
- package/Swiper/SwiperContainer.js +1 -0
- package/Swiper/SwiperSlide.d.ts +10 -5
- package/Swiper/SwiperSlide.js +6 -3
- package/Swiper/SwiperSlidesRenderer.d.ts +11 -0
- package/Swiper/SwiperSlidesRenderer.js +74 -0
- package/Swiper/SwiperTrack.d.ts +4 -0
- package/Swiper/SwiperTrack.js +4 -7
- package/Swiper/SwiperWrapper.d.ts +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
const React = __importStar(require("react"));
|
|
27
|
+
const SwiperSlidesRenderer = props => {
|
|
28
|
+
const { slides, slidesPerView, realIndex, realSlidesCount, getSlideRealIndex } = props;
|
|
29
|
+
// Мемоизируем вычисления видимости
|
|
30
|
+
const visibilityMap = React.useMemo(() => {
|
|
31
|
+
const map = new Map();
|
|
32
|
+
if (realSlidesCount <= slidesPerView) {
|
|
33
|
+
slides.forEach((_, i) => {
|
|
34
|
+
map.set(i, { isVisible: true, isNearby: false });
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
const visibleIndices = [];
|
|
39
|
+
for (let j = 0; j < slidesPerView; j++) {
|
|
40
|
+
visibleIndices.push((realIndex + j) % realSlidesCount);
|
|
41
|
+
}
|
|
42
|
+
const prevIndex = (realIndex - 1 + realSlidesCount) % realSlidesCount;
|
|
43
|
+
const nextIndex = (realIndex + slidesPerView) % realSlidesCount;
|
|
44
|
+
slides.forEach((_, i) => {
|
|
45
|
+
const slideRealIndex = getSlideRealIndex(i);
|
|
46
|
+
const isVisible = visibleIndices.includes(slideRealIndex);
|
|
47
|
+
const isNearby = !isVisible && (slideRealIndex === prevIndex || slideRealIndex === nextIndex);
|
|
48
|
+
map.set(i, { isVisible, isNearby });
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return map;
|
|
52
|
+
}, [slides, slidesPerView, realIndex, realSlidesCount, getSlideRealIndex]);
|
|
53
|
+
return (React.createElement(React.Fragment, null, slides.map((slide, i) => {
|
|
54
|
+
const { isVisible, isNearby } = visibilityMap.get(i) || {
|
|
55
|
+
isVisible: false,
|
|
56
|
+
isNearby: false,
|
|
57
|
+
};
|
|
58
|
+
const slideRealIndex = getSlideRealIndex(i);
|
|
59
|
+
// Не клонируем заново, если пропсы не изменились
|
|
60
|
+
if (slide.props.slidesPerView === slidesPerView &&
|
|
61
|
+
slide.props.isVisible === isVisible &&
|
|
62
|
+
slide.props.isNearby === isNearby) {
|
|
63
|
+
return slide;
|
|
64
|
+
}
|
|
65
|
+
return React.cloneElement(slide, {
|
|
66
|
+
slidesPerView,
|
|
67
|
+
isVisible,
|
|
68
|
+
isNearby,
|
|
69
|
+
'data-index': i,
|
|
70
|
+
'data-real-index': slideRealIndex,
|
|
71
|
+
});
|
|
72
|
+
})));
|
|
73
|
+
};
|
|
74
|
+
exports.default = React.memo(SwiperSlidesRenderer);
|
package/Swiper/SwiperTrack.d.ts
CHANGED
|
@@ -4,11 +4,15 @@ export type SwiperTrackProps = React.HTMLAttributes<HTMLDivElement> & {
|
|
|
4
4
|
readonly index: number;
|
|
5
5
|
readonly offset: number;
|
|
6
6
|
readonly dragging: boolean;
|
|
7
|
+
readonly disableAnimation?: boolean;
|
|
8
|
+
readonly slidesPerView: number;
|
|
7
9
|
};
|
|
8
10
|
export declare const SwiperTrack: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
|
|
9
11
|
readonly children: React.ReactNode;
|
|
10
12
|
readonly index: number;
|
|
11
13
|
readonly offset: number;
|
|
12
14
|
readonly dragging: boolean;
|
|
15
|
+
readonly disableAnimation?: boolean | undefined;
|
|
16
|
+
readonly slidesPerView: number;
|
|
13
17
|
} & React.RefAttributes<HTMLDivElement>>;
|
|
14
18
|
export default SwiperTrack;
|
package/Swiper/SwiperTrack.js
CHANGED
|
@@ -43,16 +43,13 @@ const styled_1 = __importDefault(require("@emotion/styled"));
|
|
|
43
43
|
const StyledTrack = styled_1.default.div `
|
|
44
44
|
display: flex;
|
|
45
45
|
height: 100%;
|
|
46
|
-
transition: ${
|
|
46
|
+
transition: ${({ $dragging, $disableAnimation }) => $dragging || $disableAnimation ? 'none' : 'transform 0.3s ease'};
|
|
47
47
|
will-change: transform;
|
|
48
|
-
transform: ${({ $index, $offset }) => {
|
|
49
|
-
const trackX = `translateX(calc(${-($index * 100)}% + ${$offset}px))`;
|
|
50
|
-
return trackX;
|
|
51
|
-
}};
|
|
48
|
+
transform: ${({ $index, $offset, $slidesPerView }) => `translateX(calc(${-(($index * 100) / $slidesPerView)}% + ${$offset}px))`};
|
|
52
49
|
`;
|
|
53
50
|
exports.SwiperTrack = React.forwardRef((props, ref) => {
|
|
54
|
-
const { children, index, offset, dragging } = props, restProps = __rest(props, ["children", "index", "offset", "dragging"]);
|
|
55
|
-
return (React.createElement(StyledTrack, Object.assign({ "$dragging": dragging, "$index": index, "$offset": offset }, restProps, { ref: ref }), children));
|
|
51
|
+
const { children, index, offset, dragging, disableAnimation, slidesPerView } = props, restProps = __rest(props, ["children", "index", "offset", "dragging", "disableAnimation", "slidesPerView"]);
|
|
52
|
+
return (React.createElement(StyledTrack, Object.assign({ "$dragging": dragging, "$index": index, "$offset": offset, "$disableAnimation": disableAnimation, "$slidesPerView": slidesPerView }, restProps, { ref: ref }), children));
|
|
56
53
|
});
|
|
57
54
|
exports.SwiperTrack.displayName = 'SwiperTrack';
|
|
58
55
|
exports.default = exports.SwiperTrack;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
export type SwiperWrapperProps = React.HTMLAttributes<HTMLDivElement> & {
|
|
3
3
|
readonly draggable: boolean;
|
|
4
|
+
readonly slidesPerView: number;
|
|
4
5
|
};
|
|
5
6
|
export declare const StyledWrapper: import("@emotion/styled").StyledComponent<{
|
|
6
7
|
theme?: import("@emotion/react").Theme | undefined;
|
|
@@ -10,5 +11,6 @@ export declare const StyledWrapper: import("@emotion/styled").StyledComponent<{
|
|
|
10
11
|
}, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
11
12
|
declare const SwiperWrapper: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
|
|
12
13
|
readonly draggable: boolean;
|
|
14
|
+
readonly slidesPerView: number;
|
|
13
15
|
} & React.RefAttributes<HTMLDivElement>>;
|
|
14
16
|
export default SwiperWrapper;
|