@kivid/native-components 1.0.0-alpha.15 → 1.0.0-alpha.17

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 (67) hide show
  1. package/dist/commonjs/components/ActionButton/assets/class-variants.js.map +1 -1
  2. package/dist/commonjs/components/ActionButton/index.js +35 -48
  3. package/dist/commonjs/components/ActionButton/index.js.map +1 -1
  4. package/dist/commonjs/components/Button/assets/class-variants.js +1 -1
  5. package/dist/commonjs/components/InformationStatus/components/GradientAdd/index.js +115 -60
  6. package/dist/commonjs/components/InformationStatus/components/GradientAdd/index.js.map +1 -1
  7. package/dist/commonjs/components/InformationStatus/components/GradientAlert/index.js +117 -60
  8. package/dist/commonjs/components/InformationStatus/components/GradientAlert/index.js.map +1 -1
  9. package/dist/commonjs/components/InformationStatus/components/GradientCheck/index.js +113 -58
  10. package/dist/commonjs/components/InformationStatus/components/GradientCheck/index.js.map +1 -1
  11. package/dist/commonjs/components/InformationStatus/components/GradientClose/index.js +112 -55
  12. package/dist/commonjs/components/InformationStatus/components/GradientClose/index.js.map +1 -1
  13. package/dist/commonjs/components/InformationStatus/index.js +4 -9
  14. package/dist/commonjs/components/InformationStatus/index.js.map +1 -1
  15. package/dist/commonjs/components/SelectButton/index.js +2 -1
  16. package/dist/commonjs/components/SelectButton/index.js.map +1 -1
  17. package/dist/commonjs/components/TextInput/assets/class-variants.js +2 -2
  18. package/dist/commonjs/components/TextInput/assets/class-variants.js.map +1 -1
  19. package/dist/commonjs/components/TextInput/index.js +1 -1
  20. package/dist/commonjs/components/TextInput/index.js.map +1 -1
  21. package/dist/module/components/ActionButton/assets/class-variants.js.map +1 -1
  22. package/dist/module/components/ActionButton/index.js +35 -30
  23. package/dist/module/components/ActionButton/index.js.map +1 -1
  24. package/dist/module/components/Button/assets/class-variants.js +1 -1
  25. package/dist/module/components/InformationStatus/components/GradientAdd/index.js +113 -59
  26. package/dist/module/components/InformationStatus/components/GradientAdd/index.js.map +1 -1
  27. package/dist/module/components/InformationStatus/components/GradientAlert/index.js +116 -60
  28. package/dist/module/components/InformationStatus/components/GradientAlert/index.js.map +1 -1
  29. package/dist/module/components/InformationStatus/components/GradientCheck/index.js +113 -59
  30. package/dist/module/components/InformationStatus/components/GradientCheck/index.js.map +1 -1
  31. package/dist/module/components/InformationStatus/components/GradientClose/index.js +111 -55
  32. package/dist/module/components/InformationStatus/components/GradientClose/index.js.map +1 -1
  33. package/dist/module/components/InformationStatus/index.js +4 -9
  34. package/dist/module/components/InformationStatus/index.js.map +1 -1
  35. package/dist/module/components/SelectButton/index.js +2 -1
  36. package/dist/module/components/SelectButton/index.js.map +1 -1
  37. package/dist/module/components/TextInput/assets/class-variants.js +2 -2
  38. package/dist/module/components/TextInput/assets/class-variants.js.map +1 -1
  39. package/dist/module/components/TextInput/index.js +1 -1
  40. package/dist/module/components/TextInput/index.js.map +1 -1
  41. package/dist/typescript/components/ActionButton/index.d.ts +0 -1
  42. package/dist/typescript/components/ActionButton/types.d.ts +15 -24
  43. package/dist/typescript/components/InformationStatus/components/GradientAdd/index.d.ts +2 -1
  44. package/dist/typescript/components/InformationStatus/components/GradientAdd/types.d.ts +3 -2
  45. package/dist/typescript/components/InformationStatus/components/GradientAlert/index.d.ts +2 -1
  46. package/dist/typescript/components/InformationStatus/components/GradientAlert/types.d.ts +3 -2
  47. package/dist/typescript/components/InformationStatus/components/GradientCheck/index.d.ts +4 -3
  48. package/dist/typescript/components/InformationStatus/components/GradientCheck/types.d.ts +3 -2
  49. package/dist/typescript/components/InformationStatus/components/GradientClose/index.d.ts +2 -1
  50. package/dist/typescript/components/InformationStatus/components/GradientClose/types.d.ts +3 -2
  51. package/package.json +5 -5
  52. package/src/components/ActionButton/assets/class-variants.ts +3 -12
  53. package/src/components/ActionButton/index.tsx +55 -41
  54. package/src/components/ActionButton/types.ts +15 -24
  55. package/src/components/Button/assets/class-variants.ts +1 -1
  56. package/src/components/InformationStatus/components/GradientAdd/index.tsx +107 -56
  57. package/src/components/InformationStatus/components/GradientAdd/types.ts +3 -2
  58. package/src/components/InformationStatus/components/GradientAlert/index.tsx +116 -62
  59. package/src/components/InformationStatus/components/GradientAlert/types.ts +3 -2
  60. package/src/components/InformationStatus/components/GradientCheck/index.tsx +111 -59
  61. package/src/components/InformationStatus/components/GradientCheck/types.ts +3 -3
  62. package/src/components/InformationStatus/components/GradientClose/index.tsx +106 -53
  63. package/src/components/InformationStatus/components/GradientClose/types.ts +3 -2
  64. package/src/components/InformationStatus/index.tsx +4 -10
  65. package/src/components/SelectButton/index.tsx +1 -0
  66. package/src/components/TextInput/assets/class-variants.ts +2 -2
  67. package/src/components/TextInput/index.tsx +1 -1
@@ -1,3 +1,4 @@
1
+ import React from "react";
1
2
  import Svg from "react-native-svg";
2
3
  import { GradientAddProps } from "./types";
3
- export declare function GradientAdd(props: GradientAddProps, ref?: React.Ref<Svg>): import("react").JSX.Element;
4
+ export declare const GradientAdd: React.ForwardRefExoticComponent<GradientAddProps & React.RefAttributes<Svg>>;
@@ -1,5 +1,6 @@
1
1
  import { SvgProps } from "react-native-svg";
2
- export interface GradientAddProps extends SvgProps {
3
- size?: number;
2
+ import { SizeEnum } from "../../../../enums";
3
+ export interface GradientAddProps extends Omit<SvgProps, "width" | "height"> {
4
+ size?: SizeEnum.SMALL | SizeEnum.MEDIUM | SizeEnum.LARGE;
4
5
  color?: string;
5
6
  }
@@ -1,3 +1,4 @@
1
+ import React from "react";
1
2
  import Svg from "react-native-svg";
2
3
  import { GradientAlertProps } from "./types";
3
- export declare function GradientAlert(props: GradientAlertProps, ref?: React.Ref<Svg>): import("react").JSX.Element;
4
+ export declare function GradientAlert(props: GradientAlertProps, ref?: React.Ref<Svg>): React.JSX.Element;
@@ -1,5 +1,6 @@
1
1
  import { SvgProps } from "react-native-svg";
2
- export interface GradientAlertProps extends SvgProps {
3
- size?: number;
2
+ import { SizeEnum } from "../../../../enums";
3
+ export interface GradientAlertProps extends Omit<SvgProps, "width" | "height"> {
4
+ size?: SizeEnum.SMALL | SizeEnum.MEDIUM | SizeEnum.LARGE;
4
5
  color?: string;
5
6
  }
@@ -1,3 +1,4 @@
1
- import Svg from "react-native-svg";
2
- import { GradientCheckProps } from "./types";
3
- export declare function GradientCheck(props: GradientCheckProps, ref?: React.Ref<Svg>): import("react").JSX.Element;
1
+ import React from 'react';
2
+ import Svg from 'react-native-svg';
3
+ import { GradientCheckProps } from './types';
4
+ export declare function GradientCheck(props: GradientCheckProps, ref?: React.Ref<Svg>): React.JSX.Element;
@@ -1,5 +1,6 @@
1
1
  import { SvgProps } from "react-native-svg";
2
- export interface GradientCheckProps extends SvgProps {
3
- size?: number;
2
+ import { SizeEnum } from "../../../../enums";
3
+ export interface GradientCheckProps extends Omit<SvgProps, "width" | "height"> {
4
+ size?: SizeEnum.SMALL | SizeEnum.MEDIUM | SizeEnum.LARGE;
4
5
  color?: string;
5
6
  }
@@ -1,3 +1,4 @@
1
+ import React from "react";
1
2
  import Svg from "react-native-svg";
2
3
  import { GradientCloseProps } from "./types";
3
- export declare function GradientClose(props: GradientCloseProps, ref?: React.Ref<Svg>): import("react").JSX.Element;
4
+ export declare function GradientClose(props: GradientCloseProps, ref?: React.Ref<Svg>): React.JSX.Element;
@@ -1,5 +1,6 @@
1
1
  import { SvgProps } from "react-native-svg";
2
- export interface GradientCloseProps extends SvgProps {
3
- size?: number;
2
+ import { SizeEnum } from "../../../../enums";
3
+ export interface GradientCloseProps extends Omit<SvgProps, "width" | "height"> {
4
+ size?: SizeEnum.SMALL | SizeEnum.MEDIUM | SizeEnum.LARGE;
4
5
  color?: string;
5
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kivid/native-components",
3
- "version": "1.0.0-alpha.15",
3
+ "version": "1.0.0-alpha.17",
4
4
  "description": "A React Native component library for the Butterfly Design System.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -79,8 +79,8 @@
79
79
  "react": "19.0.0",
80
80
  "ts-jest": "^29.2.5",
81
81
  "typescript": "~5.8.3",
82
- "@kivid/tailwind-preset": "1.0.0-alpha.15",
83
- "@kivid/icons": "1.0.0-alpha.15"
82
+ "@kivid/icons": "1.0.0-alpha.17",
83
+ "@kivid/tailwind-preset": "1.0.0-alpha.17"
84
84
  },
85
85
  "peerDependencies": {
86
86
  "@lottiefiles/dotlottie-react": "^0.15.1",
@@ -90,8 +90,8 @@
90
90
  "react-native-svg": "^15.12.0",
91
91
  "react-native": "0.79.5",
92
92
  "react": "19.0.0",
93
- "@kivid/tailwind-preset": "1.0.0-alpha.15",
94
- "@kivid/icons": "1.0.0-alpha.15"
93
+ "@kivid/icons": "1.0.0-alpha.17",
94
+ "@kivid/tailwind-preset": "1.0.0-alpha.17"
95
95
  },
96
96
  "eslintIgnore": [
97
97
  "node_modules/",
@@ -15,19 +15,10 @@ export const menuCardVariants = cva(
15
15
  grape: ["bg-grape-500", "disabled:bg-grape-200"],
16
16
  java: ["bg-java-500", "disabled:bg-java-200"],
17
17
  pear: ["bg-pear-500", "disabled:bg-pear-200"],
18
- tangerine: [
19
- "bg-tangerine-500",
20
- "disabled:bg-tangerine-200",
21
- ],
22
- blackberry: [
23
- "bg-blackberry-500",
24
- "disabled:bg-blackberry-200",
25
- ],
18
+ tangerine: ["bg-tangerine-500", "disabled:bg-tangerine-200"],
19
+ blackberry: ["bg-blackberry-500", "disabled:bg-blackberry-200"],
26
20
  chia: ["bg-chia-700", "disabled:bg-chia-400"],
27
- outline: [
28
- "border-100 border-chia-400",
29
- "disabled:border-chia-300",
30
- ],
21
+ outline: ["border-100 border-chia-400", "disabled:border-chia-300"],
31
22
  },
32
23
  corners: {
33
24
  [CornersEnum.SMALL]: "rounded-700",
@@ -3,26 +3,21 @@ import React from "react";
3
3
  import { Pressable, View } from "react-native";
4
4
  import { CornersEnum, FontWeightEnum } from "../../enums";
5
5
  import { Typography } from "../Typography";
6
- import {
7
- menuCardVariants,
8
- textVariants,
9
- } from "./assets/class-variants";
6
+ import { menuCardVariants, textVariants } from "./assets/class-variants";
10
7
  import type { ActionButtonProps } from "./types";
11
8
 
12
9
  export function ActionButton(props: ActionButtonProps) {
13
10
  const {
14
11
  icon,
15
- label,
16
- subtitle,
12
+ primaryText,
13
+ secondaryText,
14
+ primaryTextProps = {},
15
+ secondaryTextProps = {},
17
16
  variant = "grape",
18
17
  corners = CornersEnum.MEDIUM,
19
18
  disabled = false,
20
19
  className,
21
- iconClassName,
22
- labelClassName,
23
- subtitleClassName,
24
- labelWeight = FontWeightEnum.MEDIUM,
25
- subtitleWeight = FontWeightEnum.MEDIUM,
20
+ iconContainerClassName,
26
21
  onPress,
27
22
  accessibilityLabel,
28
23
  ref,
@@ -53,23 +48,24 @@ export function ActionButton(props: ActionButtonProps) {
53
48
  className
54
49
  );
55
50
 
56
- const textStyle = merge(textVariants({ variant }));
57
-
58
51
  // Define icon colors based on variant
59
52
  const iconColorMap = {
60
- grape: "#FAFCFC", // chia-100
61
- java: "#FAFCFC",
62
- pear: "#FAFCFC",
63
- tangerine: "#FAFCFC",
64
- blackberry: "#FAFCFC",
65
- chia: "#FAFCFC",
66
- outline: "#393E3E", // chia-900
53
+ grape: "text-chia-100", // chia-100
54
+ java: "text-chia-100",
55
+ pear: "text-chia-100",
56
+ tangerine: "text-chia-100",
57
+ blackberry: "text-chia-100",
58
+ chia: "text-chia-100",
59
+ outline: "text-chia-900", // chia-900
67
60
  };
68
61
 
69
62
  // Clone icon element to pass color prop
70
63
  const iconWithColor = React.isValidElement(icon)
71
64
  ? React.cloneElement(icon as React.ReactElement<any>, {
72
- color: iconColorMap[variant],
65
+ className: merge(
66
+ iconColorMap[variant],
67
+ (icon as React.ReactElement<any>).props?.className || ""
68
+ ),
73
69
  })
74
70
  : icon;
75
71
 
@@ -83,6 +79,30 @@ export function ActionButton(props: ActionButtonProps) {
83
79
  onPressOut?.(event);
84
80
  };
85
81
 
82
+ const textStyle = merge(textVariants({ variant }));
83
+
84
+ const mergedPrimaryTextProps = {
85
+ variant: "label_large" as const,
86
+ weight: FontWeightEnum.MEDIUM as const,
87
+ ...primaryTextProps,
88
+ className: merge(
89
+ textStyle,
90
+ disabled && "opacity-60",
91
+ primaryTextProps.className
92
+ ),
93
+ };
94
+
95
+ const mergedSecondaryTextProps = {
96
+ variant: "label_large" as const,
97
+ weight: FontWeightEnum.BOLD as const,
98
+ ...secondaryTextProps,
99
+ className: merge(
100
+ textStyle,
101
+ disabled && "opacity-60",
102
+ secondaryTextProps.className
103
+ ),
104
+ };
105
+
86
106
  return (
87
107
  <Pressable
88
108
  ref={ref}
@@ -92,7 +112,10 @@ export function ActionButton(props: ActionButtonProps) {
92
112
  onPressIn={handlePressIn}
93
113
  onPressOut={handlePressOut}
94
114
  accessibilityRole="button"
95
- accessibilityLabel={accessibilityLabel || `${label}${subtitle ? ` ${subtitle}` : ""}`}
115
+ accessibilityLabel={
116
+ accessibilityLabel ||
117
+ `${primaryText}${secondaryText ? ` ${secondaryText}` : ""}`
118
+ }
96
119
  accessibilityState={{
97
120
  disabled: disabled,
98
121
  }}
@@ -100,27 +123,21 @@ export function ActionButton(props: ActionButtonProps) {
100
123
  {...rest}
101
124
  >
102
125
  {/* Icon Container */}
103
- <View className={merge("flex items-start shrink-0", disabled && "opacity-60", iconClassName)}>
126
+ <View
127
+ className={merge(
128
+ "flex items-start shrink-0",
129
+ disabled && "opacity-60",
130
+ iconContainerClassName
131
+ )}
132
+ >
104
133
  {iconWithColor}
105
134
  </View>
106
135
 
107
136
  {/* Label Container */}
108
137
  <View className="shrink-0">
109
- <Typography
110
- variant="label_large"
111
- weight={labelWeight as any}
112
- className={merge(textStyle, disabled && "opacity-60", labelClassName)}
113
- >
114
- {label}
115
- </Typography>
116
- {subtitle && (
117
- <Typography
118
- variant="label_large"
119
- weight={subtitleWeight as any}
120
- className={merge(textStyle, disabled && "opacity-60", subtitleClassName)}
121
- >
122
- {subtitle}
123
- </Typography>
138
+ <Typography {...mergedPrimaryTextProps}>{primaryText}</Typography>
139
+ {secondaryText && (
140
+ <Typography {...mergedSecondaryTextProps}>{secondaryText}</Typography>
124
141
  )}
125
142
  </View>
126
143
  </Pressable>
@@ -128,6 +145,3 @@ export function ActionButton(props: ActionButtonProps) {
128
145
  }
129
146
 
130
147
  ActionButton.displayName = "ActionButton";
131
-
132
- export { ActionButtonCorners, ActionButtonProps, ActionButtonVariant } from "./types";
133
-
@@ -1,6 +1,7 @@
1
1
  import type { VariantProps } from "class-variance-authority";
2
2
  import { PressableProps, View } from "react-native";
3
- import { CornersEnum, FontWeightEnum } from "../../enums";
3
+ import { CornersEnum } from "../../enums";
4
+ import { TypographyProps } from "../Typography/types";
4
5
  import { menuCardVariants } from "./assets/class-variants";
5
6
 
6
7
  export type ActionButtonVariant =
@@ -25,13 +26,21 @@ export interface ActionButtonProps
25
26
  */
26
27
  icon: React.ReactNode;
27
28
  /**
28
- * The main label text
29
+ * The primary text (main label)
29
30
  */
30
- label: string;
31
+ primaryText: string;
31
32
  /**
32
- * The subtitle text below the label
33
+ * The secondary text below the primary text
33
34
  */
34
- subtitle?: string;
35
+ secondaryText?: string;
36
+ /**
37
+ * Props to pass to the primary text Typography component
38
+ */
39
+ primaryTextProps?: Omit<TypographyProps, "children">;
40
+ /**
41
+ * Props to pass to the secondary text Typography component
42
+ */
43
+ secondaryTextProps?: Omit<TypographyProps, "children">;
35
44
  /**
36
45
  * Visual style variant of the card
37
46
  */
@@ -51,25 +60,7 @@ export interface ActionButtonProps
51
60
  /**
52
61
  * Additional class names for the icon container
53
62
  */
54
- iconClassName?: string;
55
- /**
56
- * Additional class names for the label text
57
- */
58
- labelClassName?: string;
59
- /**
60
- * Additional class names for the subtitle text
61
- */
62
- subtitleClassName?: string;
63
- /**
64
- * Font weight for the label text
65
- * @default FontWeightEnum.MEDIUM
66
- */
67
- labelWeight?: FontWeightEnum;
68
- /**
69
- * Font weight for the subtitle text
70
- * @default FontWeightEnum.MEDIUM
71
- */
72
- subtitleWeight?: FontWeightEnum;
63
+ iconContainerClassName?: string;
73
64
  /**
74
65
  * Callback when card is pressed
75
66
  */
@@ -38,7 +38,7 @@ const buttonVariants = cva(
38
38
  [SizeEnum.LARGE]: ["px-600 h-1000"],
39
39
  },
40
40
  corners: {
41
- [CornersEnum.SMALL]: "rounded-500",
41
+ [CornersEnum.SMALL]: "rounded-600",
42
42
  [CornersEnum.MEDIUM]: "rounded-700",
43
43
  },
44
44
  fullWidth: {
@@ -1,3 +1,4 @@
1
+ import React from "react";
1
2
  import Svg, {
2
3
  Path,
3
4
  Defs,
@@ -11,64 +12,114 @@ import Svg, {
11
12
  G,
12
13
  } from "react-native-svg";
13
14
  import { GradientAddProps } from "./types";
15
+ import { SizeEnum } from "../../../../enums";
16
+ import { View } from "react-native";
14
17
 
15
- export function GradientAdd(props: GradientAddProps, ref?: React.Ref<Svg>) {
16
- const { size = 24, color = "currentColor" } = props;
18
+ export const GradientAdd = React.forwardRef((props: GradientAddProps, ref?: React.Ref<Svg>) => {
19
+ const { size = SizeEnum.MEDIUM, color = "currentColor", style, ...rest } = props;
20
+
21
+ const ICON_CONFIG = {
22
+ [SizeEnum.SMALL]: {
23
+ path: "M7.99999 2.66663C8.72036 2.66663 9.30434 3.26358 9.30434 3.99996V6.66663H12.029C12.7493 6.66663 13.3333 7.26358 13.3333 7.99996C13.3333 8.73634 12.7493 9.33329 12.029 9.33329H9.30434V12C9.30434 12.7363 8.72036 13.3333 7.99999 13.3333C7.27962 13.3333 6.69564 12.7363 6.69564 12V9.33329H3.971C3.25063 9.33329 2.66666 8.73634 2.66666 7.99996C2.66666 7.26358 3.25063 6.66663 3.971 6.66663H6.69564V3.99996C6.69564 3.26358 7.27962 2.66663 7.99999 2.66663Z",
24
+ viewBox: "0 0 16 16",
25
+ filter: {
26
+ id: "filter0_i_8151_1877",
27
+ x: "2.66666",
28
+ y: "2.66663",
29
+ width: "11.6667",
30
+ height: "11.6666",
31
+ },
32
+ },
33
+ [SizeEnum.MEDIUM]: {
34
+ path: "M12 4C13.0806 4 13.9565 4.89543 13.9565 6V10H18.0435C19.124 10 20 10.8954 20 12C20 13.1046 19.124 14 18.0435 14H13.9565V18C13.9565 19.1046 13.0806 20 12 20C10.9194 20 10.0435 19.1046 10.0435 18V14H5.95652C4.87596 14 4 13.1046 4 12C4 10.8954 4.87596 10 5.95652 10H10.0435V6C10.0435 4.89543 10.9194 4 12 4Z",
35
+ viewBox: "0 0 24 24",
36
+ filter: {
37
+ id: "filter0_i_8151_1873",
38
+ x: "4",
39
+ y: "4",
40
+ width: "17",
41
+ height: "17",
42
+ },
43
+ },
44
+ [SizeEnum.LARGE]: {
45
+ path: "M16 5.33337C17.4408 5.33337 18.6087 6.52728 18.6087 8.00004V13.3334H24.058C25.4987 13.3334 26.6667 14.5273 26.6667 16C26.6667 17.4728 25.4987 18.6667 24.058 18.6667H18.6087V24C18.6087 25.4728 17.4408 26.6667 16 26.6667C14.5593 26.6667 13.3913 25.4728 13.3913 24V18.6667H7.94204C6.5013 18.6667 5.33334 17.4728 5.33334 16C5.33334 14.5273 6.5013 13.3334 7.94204 13.3334H13.3913V8.00004C13.3913 6.52728 14.5593 5.33337 16 5.33337Z",
46
+ viewBox: "0 0 32 32",
47
+ filter: {
48
+ id: "filter0_i_8151_1881",
49
+ x: "5.33334",
50
+ y: "5.33337",
51
+ width: "22.3333",
52
+ height: "22.3334",
53
+ },
54
+ },
55
+ };
56
+
57
+ const SIZE_MAP = {
58
+ [SizeEnum.SMALL]: 16,
59
+ [SizeEnum.MEDIUM]: 24,
60
+ [SizeEnum.LARGE]: 32,
61
+ };
62
+
63
+ const config = ICON_CONFIG[size] || ICON_CONFIG[SizeEnum.MEDIUM];
64
+ const filterId = config.filter.id;
65
+ const iconSize = SIZE_MAP[size] || 24;
17
66
 
18
67
  return (
19
- <Svg
20
- viewBox="0 0 16 16"
21
- fill="none"
22
- width={size}
23
- height={size}
24
- color={color}
25
- ref={ref}
26
- {...props}
27
- >
28
- <G filter="url(#filter0_i_3359_12285)">
29
- <Path
30
- fillRule="evenodd"
31
- clipRule="evenodd"
32
- d="M7.99999 2.6665C8.72036 2.6665 9.30434 3.26346 9.30434 3.99984V6.6665H12.029C12.7493 6.6665 13.3333 7.26346 13.3333 7.99984C13.3333 8.73622 12.7493 9.33317 12.029 9.33317H9.30434V11.9998C9.30434 12.7362 8.72036 13.3332 7.99999 13.3332C7.27962 13.3332 6.69564 12.7362 6.69564 11.9998V9.33317H3.971C3.25063 9.33317 2.66666 8.73622 2.66666 7.99984C2.66666 7.26346 3.25063 6.6665 3.971 6.6665H6.69564V3.99984C6.69564 3.26346 7.27962 2.6665 7.99999 2.6665Z"
33
- fill="currentColor"
34
- />
35
- </G>
36
- <Defs>
37
- <Filter
38
- id="filter0_i_3359_12285"
39
- x="2.66666"
40
- y="2.6665"
41
- width="11.6667"
42
- height="11.6665"
43
- filterUnits="userSpaceOnUse"
44
- >
45
- <FeFlood floodOpacity="0" result="BackgroundImageFix" />
46
- <FeBlend
47
- mode="normal"
48
- in="SourceGraphic"
49
- in2="BackgroundImageFix"
50
- result="shape"
51
- />
52
- <FeColorMatrix
53
- in="SourceAlpha"
54
- type="matrix"
55
- values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
56
- result="hardAlpha"
57
- />
58
- <FeOffset dx="1" dy="1" />
59
- <FeGaussianBlur stdDeviation="1" />
60
- <FeComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1" />
61
- <FeColorMatrix
62
- type="matrix"
63
- values="0 0 0 0 0.447059 0 0 0 0 0.403922 0 0 0 0 0.894118 0 0 0 0.4 0"
64
- />
65
- <FeBlend
66
- mode="normal"
67
- in2="shape"
68
- result="effect1_innerShadow_3359_12285"
68
+ <View style={[{ width: iconSize, height: iconSize }, style]}>
69
+ <Svg
70
+ width="100%"
71
+ height="100%"
72
+ viewBox={config.viewBox}
73
+ fill="none"
74
+ color={color}
75
+ ref={ref}
76
+ {...rest}
77
+ >
78
+ <G filter={`url(#${filterId})`}>
79
+ <Path
80
+ fillRule="evenodd"
81
+ clipRule="evenodd"
82
+ d={config.path}
83
+ fill="currentColor"
69
84
  />
70
- </Filter>
71
- </Defs>
72
- </Svg>
85
+ </G>
86
+ <Defs>
87
+ <Filter
88
+ id={filterId}
89
+ x={config.filter.x}
90
+ y={config.filter.y}
91
+ width={config.filter.width}
92
+ height={config.filter.height}
93
+ filterUnits="userSpaceOnUse"
94
+ >
95
+ <FeFlood floodOpacity="0" result="BackgroundImageFix" />
96
+ <FeBlend
97
+ mode="normal"
98
+ in="SourceGraphic"
99
+ in2="BackgroundImageFix"
100
+ result="shape"
101
+ />
102
+ <FeColorMatrix
103
+ in="SourceAlpha"
104
+ type="matrix"
105
+ values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
106
+ result="hardAlpha"
107
+ />
108
+ <FeOffset dx="1" dy="1" />
109
+ <FeGaussianBlur stdDeviation="1" />
110
+ <FeComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1" />
111
+ <FeColorMatrix
112
+ type="matrix"
113
+ values="0 0 0 0 0.447059 0 0 0 0 0.403922 0 0 0 0 0.894118 0 0 0 0.4 0"
114
+ />
115
+ <FeBlend
116
+ mode="normal"
117
+ in2="shape"
118
+ result={`effect1_innerShadow_${filterId}`}
119
+ />
120
+ </Filter>
121
+ </Defs>
122
+ </Svg>
123
+ </View>
73
124
  );
74
- }
125
+ });
@@ -1,6 +1,7 @@
1
1
  import { SvgProps } from "react-native-svg";
2
+ import { SizeEnum } from "../../../../enums";
2
3
 
3
- export interface GradientAddProps extends SvgProps {
4
- size?: number;
4
+ export interface GradientAddProps extends Omit<SvgProps, "width" | "height"> {
5
+ size?: SizeEnum.SMALL | SizeEnum.MEDIUM | SizeEnum.LARGE;
5
6
  color?: string;
6
7
  }