@matbea-ui/matbea-ui 0.2.0-dev.709240 → 0.2.0-dev.937765
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/matbea-ui.cjs.js +186 -26
- package/dist/matbea-ui.cjs.js.map +1 -1
- package/dist/matbea-ui.es.js +187 -26
- package/dist/matbea-ui.es.js.map +1 -1
- package/dist/types/index.d.ts +4 -22
- package/package.json +1 -1
package/dist/matbea-ui.cjs.js
CHANGED
|
@@ -167,6 +167,7 @@ const StyledButton = styled.button `
|
|
|
167
167
|
const IconSlot = styled.span `
|
|
168
168
|
display: inline-flex;
|
|
169
169
|
align-items: center;
|
|
170
|
+
width: max-content;
|
|
170
171
|
justify-content: center;
|
|
171
172
|
line-height: 0;
|
|
172
173
|
${({ $iconOnly }) => $iconOnly &&
|
|
@@ -574,8 +575,14 @@ const StyledTypography = styled.styled.span `
|
|
|
574
575
|
|
|
575
576
|
const Typography = ({ as = "span", forwardedAs, variant = "body-m-semibold", color, align, uppercase = false, truncate = false, inline = false, children, ...rest }) => (jsxRuntime.jsx(StyledTypography, { as: as, forwardedAs: forwardedAs, "$variant": variant, "$color": color, "$align": align, "$uppercase": uppercase, "$truncate": truncate, "$inline": inline, ...rest, children: children }));
|
|
576
577
|
|
|
578
|
+
const IconStyled = styled.styled.svg `
|
|
579
|
+
display: inline-flex;
|
|
580
|
+
width: ${({ $width }) => $width}px;
|
|
581
|
+
height: ${({ $height }) => $height}px;
|
|
582
|
+
`;
|
|
583
|
+
|
|
577
584
|
const Icon = ({ size = 24, children, ...rest }) => {
|
|
578
|
-
return (jsxRuntime.jsx(
|
|
585
|
+
return (jsxRuntime.jsx(IconStyled, { "$height": size, "$width": size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...rest, children: children }));
|
|
579
586
|
};
|
|
580
587
|
|
|
581
588
|
const LogoAbankIcon = (props) => (jsxRuntime.jsxs(Icon, { ...props, children: [jsxRuntime.jsxs("g", { "clip-path": "url(#clip0_348_2416)", children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "12", fill: "#F5F5F5" }), jsxRuntime.jsx("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M11.2589 7.98674C7.53128 8.31962 6.81257 6.30884 6.3125 3.00224C10.4015 2.97341 12.2754 3.18291 12.1754 5.99132C12.1172 6.06513 12.0622 6.1397 12.0098 6.2162C11.4594 5.19946 10.2518 4.30843 7.75728 3.83024C9.57266 4.44681 10.9399 5.69495 11.3993 7.37362C11.3396 7.57351 11.2938 7.77724 11.2589 7.98674ZM11.6388 9.04691C11.7904 7.71881 12.2529 6.60021 13.4042 5.75569C13.9803 5.33323 14.7726 5.87101 13.9469 6.35919C12.9495 6.94771 11.9955 8.32385 11.8459 9.03922C11.7783 9.05701 11.7076 9.05963 11.6388 9.04691Z", fill: "#007F2D" }), jsxRuntime.jsx("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M11.1018 9.30787C11.3545 9.34554 11.565 9.36169 11.7693 9.35131C11.9775 9.33977 12.1888 9.30057 12.4427 9.2283C13.9274 8.80469 15.8889 9.07146 17.153 9.96942C18.7727 11.1192 19.2064 13.078 18.9161 15.0273C18.5672 17.3706 16.2785 21.9634 13.3339 20.8202C12.9703 20.6795 12.6144 20.5638 12.2178 20.5773C11.803 20.5911 11.6383 20.7249 11.0328 20.8717C7.71099 21.6751 5.31607 17.1969 5.0389 14.5514C4.86058 12.8447 5.28079 11.1964 6.6023 10.1797C7.7513 9.2948 9.69848 8.96729 11.1018 9.30787Z", fill: "#65B32E" })] }), jsxRuntime.jsx("defs", { children: jsxRuntime.jsx("clipPath", { id: "clip0_348_2416", children: jsxRuntime.jsx("rect", { width: "24", height: "24", fill: "white" }) }) })] }));
|
|
@@ -928,14 +935,13 @@ const Informer = ({ label, description, type, icon, }) => {
|
|
|
928
935
|
const Wrapper$1 = styled.styled.div `
|
|
929
936
|
display: flex;
|
|
930
937
|
flex-direction: column;
|
|
931
|
-
gap:
|
|
938
|
+
gap: 12px;
|
|
932
939
|
width: 100%;
|
|
933
940
|
`;
|
|
934
941
|
const Label$2 = styled.styled(Typography).attrs({
|
|
935
|
-
variant: "form-input",
|
|
936
942
|
forwardedAs: "label",
|
|
937
943
|
}) `
|
|
938
|
-
color: ${({ theme }) => theme.colors.primary.darkBlue};
|
|
944
|
+
color: ${({ theme, $color }) => $color || theme.colors.primary.darkBlue};
|
|
939
945
|
`;
|
|
940
946
|
const FieldContainer$1 = styled.styled.div `
|
|
941
947
|
display: flex;
|
|
@@ -1008,7 +1014,7 @@ const ErrorText$1 = styled.styled.span `
|
|
|
1008
1014
|
color: ${({ theme }) => theme.colors.accent.red};
|
|
1009
1015
|
`;
|
|
1010
1016
|
|
|
1011
|
-
const TextField = react.forwardRef(({ value, defaultValue, placeholder = "Text", label, error, disabled = false, icon, action, name, type = "text", onChange, onFocus, onBlur, className, }, ref) => {
|
|
1017
|
+
const TextField = react.forwardRef(({ value, defaultValue, placeholder = "Text", label, error, disabled = false, icon, action, name, type = "text", onChange, onFocus, onBlur, className, labelVariant, labelColor, }, ref) => {
|
|
1012
1018
|
const [focused, setFocused] = react.useState(false);
|
|
1013
1019
|
const hasError = Boolean(error);
|
|
1014
1020
|
const handleFocus = (evt) => {
|
|
@@ -1019,7 +1025,7 @@ const TextField = react.forwardRef(({ value, defaultValue, placeholder = "Text",
|
|
|
1019
1025
|
setFocused(false);
|
|
1020
1026
|
onBlur?.(evt);
|
|
1021
1027
|
};
|
|
1022
|
-
return (jsxRuntime.jsxs(Wrapper$1, { className: className, children: [label && jsxRuntime.jsx(Label$2, { children: label }), jsxRuntime.jsxs(FieldContainer$1, { "$hasError": hasError, "$disabled": disabled, "data-state": hasError ? "error" : focused ? "active" : undefined, children: [icon && jsxRuntime.jsx(LeadingIcon$1, { children: icon }), jsxRuntime.jsx(Input, { ref: ref, type: type, name: name, value: value, defaultValue: defaultValue, placeholder: placeholder, disabled: disabled, onChange: onChange, onFocus: handleFocus, onBlur: handleBlur }), action && jsxRuntime.jsx(ActionSlot, { children: action })] }), error && jsxRuntime.jsx(ErrorText$1, { children: error })] }));
|
|
1028
|
+
return (jsxRuntime.jsxs(Wrapper$1, { className: className, children: [label && (jsxRuntime.jsx(Label$2, { variant: labelVariant || "form-input", "$color": labelColor, children: label })), jsxRuntime.jsxs(FieldContainer$1, { "$hasError": hasError, "$disabled": disabled, "data-state": hasError ? "error" : focused ? "active" : undefined, children: [icon && jsxRuntime.jsx(LeadingIcon$1, { children: icon }), jsxRuntime.jsx(Input, { ref: ref, type: type, name: name, value: value, defaultValue: defaultValue, placeholder: placeholder, disabled: disabled, onChange: onChange, onFocus: handleFocus, onBlur: handleBlur }), action && jsxRuntime.jsx(ActionSlot, { children: action })] }), error && jsxRuntime.jsx(ErrorText$1, { children: error })] }));
|
|
1023
1029
|
});
|
|
1024
1030
|
TextField.displayName = "TextField";
|
|
1025
1031
|
|
|
@@ -2161,7 +2167,10 @@ const ButtonSwitcher = ({ active, leftButtonLabel, rightButtonLabel, }) => {
|
|
|
2161
2167
|
return (jsxRuntime.jsxs(ButtonSwitcherStyled, { children: [jsxRuntime.jsx(ButtonSwitcherItem, { "data-active": !active, children: leftButtonLabel }), jsxRuntime.jsx(ButtonSwitcherItem, { "data-active": active, children: rightButtonLabel })] }));
|
|
2162
2168
|
};
|
|
2163
2169
|
|
|
2164
|
-
const AvatarStyled = styled.styled.
|
|
2170
|
+
const AvatarStyled = styled.styled(Typography).attrs({
|
|
2171
|
+
forwardedAs: "div",
|
|
2172
|
+
variant: "avatar-basic",
|
|
2173
|
+
}) `
|
|
2165
2174
|
display: flex;
|
|
2166
2175
|
align-items: center;
|
|
2167
2176
|
justify-content: center;
|
|
@@ -2170,6 +2179,7 @@ const AvatarStyled = styled.styled.div `
|
|
|
2170
2179
|
width: 40px;
|
|
2171
2180
|
height: 40px;
|
|
2172
2181
|
border-radius: 50%;
|
|
2182
|
+
color: ${({ theme }) => theme.colors.primary.white};
|
|
2173
2183
|
background-color: ${({ theme, $color }) => {
|
|
2174
2184
|
if (!$color)
|
|
2175
2185
|
return theme.colors.primary.hoverBlue;
|
|
@@ -2694,46 +2704,197 @@ const StyledProvider = ({ children }) => {
|
|
|
2694
2704
|
return (jsxRuntime.jsx(styled.StyleSheetManager, { stylisPlugins: [adaptiveScalePlugin], children: children }));
|
|
2695
2705
|
};
|
|
2696
2706
|
|
|
2697
|
-
const breakpoints = {
|
|
2698
|
-
mobile: { max: 576, scale: 0.7 },
|
|
2699
|
-
tablet: { min: 577, max: 768, scale: 0.85 },
|
|
2700
|
-
desktop: { min: 769, max: 1024, scale: 1 },
|
|
2701
|
-
wide: { min: 1025, scale: 1.15 },
|
|
2702
|
-
};
|
|
2703
2707
|
const GlobalStyles = styled.createGlobalStyle `
|
|
2704
2708
|
:root {
|
|
2705
2709
|
--adaptive-scale: 1;
|
|
2706
2710
|
--adaptive-vh: 1vh;
|
|
2707
2711
|
}
|
|
2708
2712
|
|
|
2709
|
-
/*
|
|
2710
|
-
|
|
2713
|
+
/* ============ MOBILE ============ */
|
|
2714
|
+
|
|
2715
|
+
/* Ultra small (iPhone SE 1st gen, старые Android) */
|
|
2716
|
+
@media (max-width: 320px) {
|
|
2717
|
+
:root {
|
|
2718
|
+
--adaptive-scale: 0.75;
|
|
2719
|
+
}
|
|
2720
|
+
}
|
|
2721
|
+
|
|
2722
|
+
/* Small mobile */
|
|
2723
|
+
@media (min-width: 321px) and (max-width: 359px) {
|
|
2724
|
+
:root {
|
|
2725
|
+
--adaptive-scale: 0.82;
|
|
2726
|
+
}
|
|
2727
|
+
}
|
|
2728
|
+
|
|
2729
|
+
/* Medium mobile */
|
|
2730
|
+
@media (min-width: 360px) and (max-width: 374px) {
|
|
2731
|
+
:root {
|
|
2732
|
+
--adaptive-scale: 0.9;
|
|
2733
|
+
}
|
|
2734
|
+
}
|
|
2735
|
+
|
|
2736
|
+
/* Mobile base (iPhone X/11/12/13 mini) */
|
|
2737
|
+
@media (min-width: 375px) and (max-width: 389px) {
|
|
2738
|
+
:root {
|
|
2739
|
+
--adaptive-scale: 1;
|
|
2740
|
+
}
|
|
2741
|
+
}
|
|
2742
|
+
|
|
2743
|
+
/* Large mobile (iPhone 12/13/14/15) */
|
|
2744
|
+
@media (min-width: 390px) and (max-width: 429px) {
|
|
2745
|
+
:root {
|
|
2746
|
+
--adaptive-scale: 1;
|
|
2747
|
+
}
|
|
2748
|
+
}
|
|
2749
|
+
|
|
2750
|
+
/* Extra large mobile (iPhone 14 Plus/Max) */
|
|
2751
|
+
@media (min-width: 430px) and (max-width: 576px) {
|
|
2752
|
+
:root {
|
|
2753
|
+
--adaptive-scale: 1;
|
|
2754
|
+
}
|
|
2755
|
+
}
|
|
2756
|
+
|
|
2757
|
+
/* ============ TABLET ============ */
|
|
2758
|
+
|
|
2759
|
+
/* Small tablet / Large phone landscape */
|
|
2760
|
+
@media (min-width: 577px) and (max-width: 639px) {
|
|
2761
|
+
:root {
|
|
2762
|
+
--adaptive-scale: 0.75;
|
|
2763
|
+
}
|
|
2764
|
+
}
|
|
2765
|
+
|
|
2766
|
+
/* Medium small tablet */
|
|
2767
|
+
@media (min-width: 640px) and (max-width: 719px) {
|
|
2768
|
+
:root {
|
|
2769
|
+
--adaptive-scale: 0.83;
|
|
2770
|
+
}
|
|
2771
|
+
}
|
|
2772
|
+
|
|
2773
|
+
/* Medium tablet */
|
|
2774
|
+
@media (min-width: 720px) and (max-width: 767px) {
|
|
2711
2775
|
:root {
|
|
2712
|
-
--adaptive-scale:
|
|
2776
|
+
--adaptive-scale: 0.9;
|
|
2713
2777
|
}
|
|
2714
2778
|
}
|
|
2715
2779
|
|
|
2716
|
-
/* Tablet */
|
|
2717
|
-
@media (min-width:
|
|
2780
|
+
/* Tablet base (iPad Mini/Air portrait) */
|
|
2781
|
+
@media (min-width: 768px) and (max-width: 833px) {
|
|
2718
2782
|
:root {
|
|
2719
|
-
--adaptive-scale:
|
|
2783
|
+
--adaptive-scale: 1;
|
|
2720
2784
|
}
|
|
2721
2785
|
}
|
|
2722
2786
|
|
|
2723
|
-
/*
|
|
2724
|
-
@media (min-width:
|
|
2787
|
+
/* Large tablet (iPad Pro 11" portrait) */
|
|
2788
|
+
@media (min-width: 834px) and (max-width: 899px) {
|
|
2725
2789
|
:root {
|
|
2726
|
-
--adaptive-scale:
|
|
2790
|
+
--adaptive-scale: 1;
|
|
2727
2791
|
}
|
|
2728
2792
|
}
|
|
2729
2793
|
|
|
2730
|
-
/*
|
|
2731
|
-
@media (min-width:
|
|
2794
|
+
/* Extra large tablet */
|
|
2795
|
+
@media (min-width: 900px) and (max-width: 1023px) {
|
|
2732
2796
|
:root {
|
|
2733
|
-
--adaptive-scale:
|
|
2797
|
+
--adaptive-scale: 1;
|
|
2734
2798
|
}
|
|
2735
2799
|
}
|
|
2736
2800
|
|
|
2801
|
+
/* Tablet landscape (iPad Pro landscape) */
|
|
2802
|
+
@media (min-width: 1024px) and (max-width: 1100px) {
|
|
2803
|
+
:root {
|
|
2804
|
+
--adaptive-scale: 0.71;
|
|
2805
|
+
}
|
|
2806
|
+
}
|
|
2807
|
+
|
|
2808
|
+
/* ============ DESKTOP ============ */
|
|
2809
|
+
|
|
2810
|
+
/* Small desktop / Laptop 13" */
|
|
2811
|
+
@media (min-width: 1101px) and (max-width: 1279px) {
|
|
2812
|
+
:root {
|
|
2813
|
+
--adaptive-scale: 0.77;
|
|
2814
|
+
}
|
|
2815
|
+
}
|
|
2816
|
+
|
|
2817
|
+
/* Medium desktop / Laptop 14" */
|
|
2818
|
+
@media (min-width: 1280px) and (max-width: 1365px) {
|
|
2819
|
+
:root {
|
|
2820
|
+
--adaptive-scale: 0.85;
|
|
2821
|
+
}
|
|
2822
|
+
}
|
|
2823
|
+
|
|
2824
|
+
/* Large laptop 15" */
|
|
2825
|
+
@media (min-width: 1366px) and (max-width: 1439px) {
|
|
2826
|
+
:root {
|
|
2827
|
+
--adaptive-scale: 0.92;
|
|
2828
|
+
}
|
|
2829
|
+
}
|
|
2830
|
+
|
|
2831
|
+
/* Desktop base (MacBook Pro 16", gaming monitors) */
|
|
2832
|
+
@media (min-width: 1440px) and (max-width: 1599px) {
|
|
2833
|
+
:root {
|
|
2834
|
+
--adaptive-scale: 1;
|
|
2835
|
+
}
|
|
2836
|
+
}
|
|
2837
|
+
|
|
2838
|
+
/* Large desktop */
|
|
2839
|
+
@media (min-width: 1600px) and (max-width: 1799px) {
|
|
2840
|
+
:root {
|
|
2841
|
+
--adaptive-scale: 1;
|
|
2842
|
+
}
|
|
2843
|
+
}
|
|
2844
|
+
|
|
2845
|
+
/* Extra large desktop */
|
|
2846
|
+
@media (min-width: 1800px) and (max-width: 1919px) {
|
|
2847
|
+
:root {
|
|
2848
|
+
--adaptive-scale: 1;
|
|
2849
|
+
}
|
|
2850
|
+
}
|
|
2851
|
+
|
|
2852
|
+
/* ============ WIDE (с увеличением) ============ */
|
|
2853
|
+
|
|
2854
|
+
/* Full HD base (1920x1080) */
|
|
2855
|
+
@media (min-width: 1920px) and (max-width: 2047px) {
|
|
2856
|
+
:root {
|
|
2857
|
+
--adaptive-scale: 1;
|
|
2858
|
+
}
|
|
2859
|
+
}
|
|
2860
|
+
|
|
2861
|
+
/* 2K */
|
|
2862
|
+
@media (min-width: 2048px) and (max-width: 2559px) {
|
|
2863
|
+
:root {
|
|
2864
|
+
--adaptive-scale: 1.1;
|
|
2865
|
+
}
|
|
2866
|
+
}
|
|
2867
|
+
|
|
2868
|
+
/* QHD / 2.5K */
|
|
2869
|
+
@media (min-width: 2560px) and (max-width: 3199px) {
|
|
2870
|
+
:root {
|
|
2871
|
+
--adaptive-scale: 1.25;
|
|
2872
|
+
}
|
|
2873
|
+
}
|
|
2874
|
+
|
|
2875
|
+
/* 3K */
|
|
2876
|
+
@media (min-width: 3200px) and (max-width: 3839px) {
|
|
2877
|
+
:root {
|
|
2878
|
+
--adaptive-scale: 1.4;
|
|
2879
|
+
}
|
|
2880
|
+
}
|
|
2881
|
+
|
|
2882
|
+
/* 4K (3840x2160) */
|
|
2883
|
+
@media (min-width: 3840px) and (max-width: 5119px) {
|
|
2884
|
+
:root {
|
|
2885
|
+
--adaptive-scale: 1.6;
|
|
2886
|
+
}
|
|
2887
|
+
}
|
|
2888
|
+
|
|
2889
|
+
/* 5K и выше */
|
|
2890
|
+
@media (min-width: 5120px) {
|
|
2891
|
+
:root {
|
|
2892
|
+
--adaptive-scale: 2;
|
|
2893
|
+
}
|
|
2894
|
+
}
|
|
2895
|
+
|
|
2896
|
+
/* ============ ДОПОЛНИТЕЛЬНО ============ */
|
|
2897
|
+
|
|
2737
2898
|
/* Фикс для мобильных браузеров (100vh с учетом адресной строки) */
|
|
2738
2899
|
@supports (-webkit-touch-callout: none) {
|
|
2739
2900
|
:root {
|
|
@@ -2942,7 +3103,6 @@ exports.ZcashSmallIcon = ZcashSmallIcon;
|
|
|
2942
3103
|
exports.ZilliqaIcon = ZilliqaIcon;
|
|
2943
3104
|
exports.ZrxIcon = ZrxIcon;
|
|
2944
3105
|
exports.adaptiveScalePlugin = adaptiveScalePlugin;
|
|
2945
|
-
exports.breakpoints = breakpoints;
|
|
2946
3106
|
exports.copyToClipboard = copyToClipboard;
|
|
2947
3107
|
exports.createAdaptiveScalePlugin = createAdaptiveScalePlugin;
|
|
2948
3108
|
exports.formatCardNumber = formatCardNumber;
|