@kivid/native-components 1.0.0-alpha.23 → 1.0.0-alpha.25

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 (50) hide show
  1. package/dist/commonjs/components/Dropdown/index.js +199 -0
  2. package/dist/commonjs/components/Dropdown/index.js.map +1 -0
  3. package/dist/commonjs/components/Dropdown/types.js +6 -0
  4. package/dist/commonjs/components/Dropdown/types.js.map +1 -0
  5. package/dist/commonjs/components/Tab/assets/class-variants.js +69 -0
  6. package/dist/commonjs/components/Tab/assets/class-variants.js.map +1 -0
  7. package/dist/commonjs/components/Tab/index.js +90 -0
  8. package/dist/commonjs/components/Tab/index.js.map +1 -0
  9. package/dist/commonjs/components/Tab/types.js +6 -0
  10. package/dist/commonjs/components/Tab/types.js.map +1 -0
  11. package/dist/commonjs/components/Title/components/marker/index.js +11 -4
  12. package/dist/commonjs/components/Title/components/marker/index.js.map +1 -1
  13. package/dist/commonjs/components/Toast/assets/class-variants.js +1 -1
  14. package/dist/commonjs/components/Toast/assets/class-variants.js.map +1 -1
  15. package/dist/commonjs/components/index.js +22 -0
  16. package/dist/commonjs/components/index.js.map +1 -1
  17. package/dist/module/components/Dropdown/index.js +195 -0
  18. package/dist/module/components/Dropdown/index.js.map +1 -0
  19. package/dist/module/components/Dropdown/types.js +4 -0
  20. package/dist/module/components/Dropdown/types.js.map +1 -0
  21. package/dist/module/components/Tab/assets/class-variants.js +66 -0
  22. package/dist/module/components/Tab/assets/class-variants.js.map +1 -0
  23. package/dist/module/components/Tab/index.js +86 -0
  24. package/dist/module/components/Tab/index.js.map +1 -0
  25. package/dist/module/components/Tab/types.js +4 -0
  26. package/dist/module/components/Tab/types.js.map +1 -0
  27. package/dist/module/components/Title/components/marker/index.js +11 -4
  28. package/dist/module/components/Title/components/marker/index.js.map +1 -1
  29. package/dist/module/components/Toast/assets/class-variants.js +1 -1
  30. package/dist/module/components/Toast/assets/class-variants.js.map +1 -1
  31. package/dist/module/components/index.js +2 -0
  32. package/dist/module/components/index.js.map +1 -1
  33. package/dist/typescript/components/Dropdown/index.d.ts +3 -0
  34. package/dist/typescript/components/Dropdown/types.d.ts +17 -0
  35. package/dist/typescript/components/Tab/assets/class-variants.d.ts +18 -0
  36. package/dist/typescript/components/Tab/index.d.ts +2 -0
  37. package/dist/typescript/components/Tab/types.d.ts +17 -0
  38. package/dist/typescript/components/Title/components/marker/index.d.ts +1 -1
  39. package/dist/typescript/components/Title/components/marker/types.d.ts +1 -0
  40. package/dist/typescript/components/index.d.ts +4 -0
  41. package/package.json +5 -5
  42. package/src/components/Dropdown/index.tsx +213 -0
  43. package/src/components/Dropdown/types.ts +18 -0
  44. package/src/components/Tab/assets/class-variants.ts +83 -0
  45. package/src/components/Tab/index.tsx +92 -0
  46. package/src/components/Tab/types.ts +20 -0
  47. package/src/components/Title/components/marker/index.tsx +10 -2
  48. package/src/components/Title/components/marker/types.ts +1 -0
  49. package/src/components/Toast/assets/class-variants.ts +1 -1
  50. package/src/components/index.ts +6 -0
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+
3
+ import React, { useState, useRef, useEffect } from "react";
4
+ import { View, Pressable, Modal, TouchableWithoutFeedback } from "react-native";
5
+ import { Typography } from "../Typography/index.js";
6
+ import { ArrowChevronDownStroke } from "@kivid/icons/native";
7
+ import { Animated, Easing } from "react-native";
8
+ import { IconButton } from "../IconButton/index.js";
9
+ import { IconButtonSizeEnum } from "../IconButton/enums.js";
10
+ import { cva } from "class-variance-authority";
11
+ import { SizeEnum } from "../../enums/index.js";
12
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
13
+ export function Dropdown(props) {
14
+ const {
15
+ label,
16
+ value,
17
+ placeholder,
18
+ disabled = false,
19
+ className,
20
+ leftButtonText,
21
+ hidePlaceholder = false,
22
+ children,
23
+ iconButtonTrigger,
24
+ iconButtonAlign = "right",
25
+ size = SizeEnum.MEDIUM,
26
+ corner = SizeEnum.SMALL
27
+ } = props;
28
+ const [isOpen, setIsOpen] = useState(false);
29
+ const [dropdownLayout, setDropdownLayout] = useState({
30
+ top: 0,
31
+ left: 0,
32
+ width: 0
33
+ });
34
+ const triggerRef = useRef(null);
35
+ const rotateAnim = useRef(new Animated.Value(0)).current;
36
+ useEffect(() => {
37
+ Animated.timing(rotateAnim, {
38
+ toValue: isOpen ? 1 : 0,
39
+ duration: 200,
40
+ easing: Easing.out(Easing.ease),
41
+ useNativeDriver: true
42
+ }).start();
43
+ }, [isOpen, rotateAnim]);
44
+ const rotate = rotateAnim.interpolate({
45
+ inputRange: [0, 1],
46
+ outputRange: ["0deg", "180deg"]
47
+ });
48
+ const handlePress = () => {
49
+ if (disabled) return;
50
+ triggerRef.current?.measureInWindow((x, y, width, height) => {
51
+ setDropdownLayout({
52
+ top: y + height + 4,
53
+ left: x,
54
+ width: width
55
+ });
56
+ setIsOpen(true);
57
+ });
58
+ };
59
+ const handleClose = () => {
60
+ setIsOpen(false);
61
+ };
62
+ const textStyle = cva("text-chia-900", {
63
+ variants: {
64
+ placeholder: {
65
+ true: "text-chia-600",
66
+ false: "text-chia-900"
67
+ }
68
+ }
69
+ });
70
+ const dropdownStyle = cva("bg-chia-100 border border-chia-400 px-500 ", {
71
+ variants: {
72
+ size: {
73
+ [SizeEnum.SMALL]: "py-400",
74
+ [SizeEnum.MEDIUM]: "py-600"
75
+ },
76
+ corner: {
77
+ [SizeEnum.SMALL]: "rounded-400",
78
+ [SizeEnum.MEDIUM]: "rounded-700"
79
+ }
80
+ }
81
+ });
82
+ const triggerPositionStyle = cva("flex-row w-full", {
83
+ variants: {
84
+ align: {
85
+ left: "justify-start",
86
+ right: "justify-end",
87
+ center: "justify-center"
88
+ }
89
+ }
90
+ });
91
+ function renderVariant() {
92
+ const displayPlaceholder = !!placeholder && !value;
93
+ if (hidePlaceholder) {
94
+ return null;
95
+ }
96
+ return /*#__PURE__*/_jsx(View, {
97
+ className: "flex-row justify-between gap-100",
98
+ children: /*#__PURE__*/_jsx(Typography, {
99
+ variant: "label_large",
100
+ weight: "700",
101
+ className: textStyle({
102
+ placeholder: displayPlaceholder
103
+ }),
104
+ children: displayPlaceholder ? placeholder : value
105
+ })
106
+ });
107
+ }
108
+ function renderTrigger() {
109
+ if (iconButtonTrigger) {
110
+ return /*#__PURE__*/_jsx(View, {
111
+ className: triggerPositionStyle({
112
+ align: iconButtonAlign
113
+ }),
114
+ children: /*#__PURE__*/_jsx(IconButton, {
115
+ onPress: handlePress,
116
+ disabled: disabled,
117
+ size: IconButtonSizeEnum.MEDIUM,
118
+ ...iconButtonTrigger
119
+ })
120
+ });
121
+ }
122
+ return /*#__PURE__*/_jsx(Pressable, {
123
+ onPress: handlePress,
124
+ disabled: disabled,
125
+ className: dropdownStyle({
126
+ size,
127
+ corner
128
+ }),
129
+ children: /*#__PURE__*/_jsxs(View, {
130
+ className: "flex-row justify-between items-center",
131
+ children: [/*#__PURE__*/_jsxs(View, {
132
+ className: "",
133
+ children: [/*#__PURE__*/_jsx(View, {
134
+ className: "flex-col",
135
+ children: label && /*#__PURE__*/_jsx(Typography, {
136
+ variant: "label_small",
137
+ weight: "600",
138
+ className: "text-chia-900",
139
+ children: label
140
+ })
141
+ }), renderVariant()]
142
+ }), /*#__PURE__*/_jsxs(View, {
143
+ className: "flex-row items-center gap-400",
144
+ children: [leftButtonText && /*#__PURE__*/_jsx(Typography, {
145
+ variant: "label_medium",
146
+ weight: "700",
147
+ children: leftButtonText
148
+ }), /*#__PURE__*/_jsx(Animated.View, {
149
+ style: {
150
+ transform: [{
151
+ rotate
152
+ }]
153
+ },
154
+ children: /*#__PURE__*/_jsx(ArrowChevronDownStroke, {
155
+ size: 24,
156
+ className: "text-chia-900"
157
+ })
158
+ })]
159
+ })]
160
+ })
161
+ });
162
+ }
163
+ return /*#__PURE__*/_jsxs(_Fragment, {
164
+ children: [/*#__PURE__*/_jsx(View, {
165
+ ref: triggerRef,
166
+ className: className,
167
+ children: renderTrigger()
168
+ }), /*#__PURE__*/_jsx(Modal, {
169
+ visible: isOpen,
170
+ transparent: true,
171
+ animationType: "fade",
172
+ onRequestClose: handleClose,
173
+ children: /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
174
+ onPress: handleClose,
175
+ children: /*#__PURE__*/_jsx(View, {
176
+ className: "flex-1",
177
+ children: /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
178
+ children: /*#__PURE__*/_jsx(View, {
179
+ style: {
180
+ position: "absolute",
181
+ top: dropdownLayout.top,
182
+ left: dropdownLayout.left,
183
+ width: dropdownLayout.width,
184
+ zIndex: 9999
185
+ },
186
+ className: "bg-white border border-gray-200 rounded-xl shadow-lg",
187
+ children: children
188
+ })
189
+ })
190
+ })
191
+ })
192
+ })]
193
+ });
194
+ }
195
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","useRef","useEffect","View","Pressable","Modal","TouchableWithoutFeedback","Typography","ArrowChevronDownStroke","Animated","Easing","IconButton","IconButtonSizeEnum","cva","SizeEnum","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Dropdown","props","label","value","placeholder","disabled","className","leftButtonText","hidePlaceholder","children","iconButtonTrigger","iconButtonAlign","size","MEDIUM","corner","SMALL","isOpen","setIsOpen","dropdownLayout","setDropdownLayout","top","left","width","triggerRef","rotateAnim","Value","current","timing","toValue","duration","easing","out","ease","useNativeDriver","start","rotate","interpolate","inputRange","outputRange","handlePress","measureInWindow","x","y","height","handleClose","textStyle","variants","true","false","dropdownStyle","triggerPositionStyle","align","right","center","renderVariant","displayPlaceholder","variant","weight","renderTrigger","onPress","style","transform","ref","visible","transparent","animationType","onRequestClose","position","zIndex"],"sourceRoot":"../../../../src","sources":["components/Dropdown/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/Dropdown/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ import { cva } from "class-variance-authority";
4
+ import { SizeEnum } from "../../../enums/index.js";
5
+ const tabContainerVariants = cva(["flex-row w-full"], {
6
+ variants: {
7
+ size: {
8
+ [SizeEnum.MEDIUM]: "",
9
+ [SizeEnum.SMALL]: ""
10
+ }
11
+ },
12
+ defaultVariants: {
13
+ size: SizeEnum.MEDIUM
14
+ }
15
+ });
16
+ const dividerVariants = cva(["w-full"], {
17
+ variants: {
18
+ selected: {
19
+ true: "h-200 bg-grape-500",
20
+ false: "h-[1px] bg-chia-400"
21
+ },
22
+ size: {
23
+ [SizeEnum.MEDIUM]: "mt-500",
24
+ [SizeEnum.SMALL]: "mt-400"
25
+ }
26
+ },
27
+ defaultVariants: {
28
+ selected: false,
29
+ size: SizeEnum.MEDIUM
30
+ }
31
+ });
32
+ const tabLabelVariants = cva("", {
33
+ variants: {
34
+ selected: {
35
+ true: "text-chia-900",
36
+ false: "text-chia-700"
37
+ }
38
+ },
39
+ defaultVariants: {
40
+ selected: false
41
+ }
42
+ });
43
+ const tabCountVariants = cva(["px-300 rounded-300 items-center justify-center ml-400"], {
44
+ variants: {
45
+ selected: {
46
+ true: "bg-grape-500",
47
+ false: "bg-chia-400"
48
+ }
49
+ },
50
+ defaultVariants: {
51
+ selected: false
52
+ }
53
+ });
54
+ const tabCountTextVariants = cva("", {
55
+ variants: {
56
+ selected: {
57
+ true: "text-chia-100",
58
+ false: "text-chia-700"
59
+ }
60
+ },
61
+ defaultVariants: {
62
+ selected: false
63
+ }
64
+ });
65
+ export { tabContainerVariants, dividerVariants, tabLabelVariants, tabCountVariants, tabCountTextVariants };
66
+ //# sourceMappingURL=class-variants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["cva","SizeEnum","tabContainerVariants","variants","size","MEDIUM","SMALL","defaultVariants","dividerVariants","selected","true","false","tabLabelVariants","tabCountVariants","tabCountTextVariants"],"sourceRoot":"../../../../../src","sources":["components/Tab/assets/class-variants.ts"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,0BAA0B;AAC9C,SAASC,QAAQ,QAAQ,yBAAgB;AAEzC,MAAMC,oBAAoB,GAAGF,GAAG,CAAC,CAAC,iBAAiB,CAAC,EAAE;EACpDG,QAAQ,EAAE;IACRC,IAAI,EAAE;MACJ,CAACH,QAAQ,CAACI,MAAM,GAAG,EAAE;MACrB,CAACJ,QAAQ,CAACK,KAAK,GAAG;IACpB;EACF,CAAC;EACDC,eAAe,EAAE;IACfH,IAAI,EAAEH,QAAQ,CAACI;EACjB;AACF,CAAC,CAAC;AAEF,MAAMG,eAAe,GAAGR,GAAG,CACzB,CACE,QAAQ,CACT,EACD;EACEG,QAAQ,EAAE;IACRM,QAAQ,EAAE;MACRC,IAAI,EAAE,oBAAoB;MAC1BC,KAAK,EAAE;IACT,CAAC;IACDP,IAAI,EAAE;MACJ,CAACH,QAAQ,CAACI,MAAM,GAAG,QAAQ;MAC3B,CAACJ,QAAQ,CAACK,KAAK,GAAG;IACpB;EACF,CAAC;EACDC,eAAe,EAAE;IACfE,QAAQ,EAAE,KAAK;IACfL,IAAI,EAAEH,QAAQ,CAACI;EACjB;AACF,CACF,CAAC;AAED,MAAMO,gBAAgB,GAAGZ,GAAG,CAAC,EAAE,EAAE;EAC/BG,QAAQ,EAAE;IACRM,QAAQ,EAAE;MACRC,IAAI,EAAE,eAAe;MACrBC,KAAK,EAAE;IACT;EACF,CAAC;EACDJ,eAAe,EAAE;IACfE,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;AAEF,MAAMI,gBAAgB,GAAGb,GAAG,CAC1B,CAAC,uDAAuD,CAAC,EACzD;EACEG,QAAQ,EAAE;IACRM,QAAQ,EAAE;MACRC,IAAI,EAAE,cAAc;MACpBC,KAAK,EAAE;IACT;EACF,CAAC;EACDJ,eAAe,EAAE;IACfE,QAAQ,EAAE;EACZ;AACF,CACF,CAAC;AAED,MAAMK,oBAAoB,GAAGd,GAAG,CAAC,EAAE,EAAE;EACnCG,QAAQ,EAAE;IACRM,QAAQ,EAAE;MACRC,IAAI,EAAE,eAAe;MACrBC,KAAK,EAAE;IACT;EACF,CAAC;EACDJ,eAAe,EAAE;IACfE,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;AAEF,SACEP,oBAAoB,EACpBM,eAAe,EACfI,gBAAgB,EAChBC,gBAAgB,EAChBC,oBAAoB","ignoreList":[]}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ import { Pressable, View } from "react-native";
4
+ import { merge } from "@kivid/tailwind-preset";
5
+ import { tabContainerVariants, dividerVariants, tabLabelVariants, tabCountVariants, tabCountTextVariants } from "./assets/class-variants.js";
6
+ import { Typography } from "../Typography/index.js";
7
+ import { SizeEnum } from "../../enums/index.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ export function Tab(props) {
10
+ const {
11
+ items,
12
+ onTabChange,
13
+ size = SizeEnum.MEDIUM,
14
+ className,
15
+ selectedTab,
16
+ customDividerColor,
17
+ customDividerComponent
18
+ } = props;
19
+ const handleTabPress = index => {
20
+ onTabChange?.(index);
21
+ };
22
+ const containerStyle = merge(tabContainerVariants({
23
+ size
24
+ }), className);
25
+ return /*#__PURE__*/_jsx(View, {
26
+ className: containerStyle,
27
+ accessibilityRole: "tablist",
28
+ children: items.map((item, index) => {
29
+ const selected = selectedTab === index;
30
+ const buttonStyle = merge("flex-1 flex-col items-center justify-center", className);
31
+ const labelStyle = tabLabelVariants({
32
+ selected
33
+ });
34
+ const countTextStyle = tabCountTextVariants({
35
+ selected
36
+ });
37
+ const dividerStyle = selected && customDividerColor ? merge(dividerVariants({
38
+ selected,
39
+ size
40
+ }), customDividerColor) : dividerVariants({
41
+ selected,
42
+ size
43
+ });
44
+ const countContainerStyle = selected && customDividerColor ? merge(tabCountVariants({
45
+ selected
46
+ }), customDividerColor) : tabCountVariants({
47
+ selected
48
+ });
49
+ const renderDivider = () => {
50
+ if (selected && customDividerComponent) {
51
+ return customDividerComponent;
52
+ }
53
+ return /*#__PURE__*/_jsx(View, {
54
+ className: dividerStyle
55
+ });
56
+ };
57
+ return /*#__PURE__*/_jsxs(Pressable, {
58
+ testID: `tab-${index}`,
59
+ className: buttonStyle,
60
+ onPress: () => handleTabPress(index),
61
+ accessibilityRole: "tab",
62
+ accessibilityState: {
63
+ selected
64
+ },
65
+ children: [/*#__PURE__*/_jsxs(View, {
66
+ className: "flex flex-row",
67
+ children: [/*#__PURE__*/_jsx(Typography, {
68
+ variant: size === SizeEnum.MEDIUM ? "label_medium" : "label_small",
69
+ weight: "700",
70
+ className: labelStyle,
71
+ children: item.label
72
+ }), item.count !== undefined && /*#__PURE__*/_jsx(View, {
73
+ className: countContainerStyle,
74
+ children: /*#__PURE__*/_jsx(Typography, {
75
+ variant: "label_small",
76
+ weight: "700",
77
+ className: countTextStyle,
78
+ children: item.count
79
+ })
80
+ })]
81
+ }), renderDivider()]
82
+ }, index);
83
+ })
84
+ });
85
+ }
86
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Pressable","View","merge","tabContainerVariants","dividerVariants","tabLabelVariants","tabCountVariants","tabCountTextVariants","Typography","SizeEnum","jsx","_jsx","jsxs","_jsxs","Tab","props","items","onTabChange","size","MEDIUM","className","selectedTab","customDividerColor","customDividerComponent","handleTabPress","index","containerStyle","accessibilityRole","children","map","item","selected","buttonStyle","labelStyle","countTextStyle","dividerStyle","countContainerStyle","renderDivider","testID","onPress","accessibilityState","variant","weight","label","count","undefined"],"sourceRoot":"../../../../src","sources":["components/Tab/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/Tab/types.ts"],"mappings":"","ignoreList":[]}
@@ -6,7 +6,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
6
6
  export function Marker(props) {
7
7
  const {
8
8
  size = SizeEnum.MEDIUM,
9
- color = "chia"
9
+ color = "chia",
10
+ customMarkerComponent
10
11
  } = props;
11
12
  const mappedSize = {
12
13
  [SizeEnum.SMALL]: "w-700 h-300",
@@ -23,8 +24,14 @@ export function Marker(props) {
23
24
  chia: "bg-chia-600",
24
25
  ghost: "bg-chia-200"
25
26
  }[color];
26
- return /*#__PURE__*/_jsx(View, {
27
- className: `${mappedColor} ${mappedSize} rounded-500`
28
- });
27
+ function renderMarker() {
28
+ if (customMarkerComponent) {
29
+ return customMarkerComponent;
30
+ }
31
+ return /*#__PURE__*/_jsx(View, {
32
+ className: `${mappedColor} ${mappedSize} rounded-500`
33
+ });
34
+ }
35
+ return renderMarker();
29
36
  }
30
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["View","SizeEnum","jsx","_jsx","Marker","props","size","MEDIUM","color","mappedSize","SMALL","mappedColor","pear","java","grape","pitaya","tangerine","mango","blackberry","chia","ghost","className"],"sourceRoot":"../../../../../../src","sources":["components/Title/components/marker/index.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,cAAc;AAEnC,SAASC,QAAQ,QAAQ,4BAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE7C,OAAO,SAASC,MAAMA,CAACC,KAAkB,EAAE;EACzC,MAAM;IAAEC,IAAI,GAAGL,QAAQ,CAACM,MAAM;IAAEC,KAAK,GAAG;EAAO,CAAC,GAAGH,KAAK;EAExD,MAAMI,UAAU,GAAG;IACjB,CAACR,QAAQ,CAACS,KAAK,GAAG,aAAa;IAC/B,CAACT,QAAQ,CAACM,MAAM,GAAG;EACrB,CAAC,CAACD,IAAI,CAAC;EAEP,MAAMK,WAAW,GAAG;IAClBC,IAAI,EAAE,aAAa;IACnBC,IAAI,EAAE,aAAa;IACnBC,KAAK,EAAE,cAAc;IACrBC,MAAM,EAAE,eAAe;IACvBC,SAAS,EAAE,kBAAkB;IAC7BC,KAAK,EAAE,cAAc;IACrBC,UAAU,EAAE,mBAAmB;IAC/BC,IAAI,EAAE,aAAa;IACnBC,KAAK,EAAE;EACT,CAAC,CAACZ,KAAK,CAAC;EAER,oBAAOL,IAAA,CAACH,IAAI;IAACqB,SAAS,EAAE,GAAGV,WAAW,IAAIF,UAAU;EAAe,CAAE,CAAC;AACxE","ignoreList":[]}
1
+ {"version":3,"names":["View","SizeEnum","jsx","_jsx","Marker","props","size","MEDIUM","color","customMarkerComponent","mappedSize","SMALL","mappedColor","pear","java","grape","pitaya","tangerine","mango","blackberry","chia","ghost","renderMarker","className"],"sourceRoot":"../../../../../../src","sources":["components/Title/components/marker/index.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,cAAc;AAEnC,SAASC,QAAQ,QAAQ,4BAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE7C,OAAO,SAASC,MAAMA,CAACC,KAAkB,EAAE;EACzC,MAAM;IAAEC,IAAI,GAAGL,QAAQ,CAACM,MAAM;IAAEC,KAAK,GAAG,MAAM;IAAEC;EAAsB,CAAC,GAAGJ,KAAK;EAE/E,MAAMK,UAAU,GAAG;IACjB,CAACT,QAAQ,CAACU,KAAK,GAAG,aAAa;IAC/B,CAACV,QAAQ,CAACM,MAAM,GAAG;EACrB,CAAC,CAACD,IAAI,CAAC;EAEP,MAAMM,WAAW,GAAG;IAClBC,IAAI,EAAE,aAAa;IACnBC,IAAI,EAAE,aAAa;IACnBC,KAAK,EAAE,cAAc;IACrBC,MAAM,EAAE,eAAe;IACvBC,SAAS,EAAE,kBAAkB;IAC7BC,KAAK,EAAE,cAAc;IACrBC,UAAU,EAAE,mBAAmB;IAC/BC,IAAI,EAAE,aAAa;IACnBC,KAAK,EAAE;EACT,CAAC,CAACb,KAAK,CAAC;EAER,SAASc,YAAYA,CAAA,EAAG;IACtB,IAAIb,qBAAqB,EAAE;MACzB,OAAOA,qBAAqB;IAC9B;IAEA,oBAAON,IAAA,CAACH,IAAI;MAACuB,SAAS,EAAE,GAAGX,WAAW,IAAIF,UAAU;IAAe,CAAE,CAAC;EACxE;EAEA,OAAOY,YAAY,CAAC,CAAC;AACvB","ignoreList":[]}
@@ -17,7 +17,7 @@ const toastVariants = cva("justify-between min-w-[200px] max-w min-h-12 mx-600 p
17
17
  const containerVariants = cva("absolute z-[800px] w-full min-h-12 flex", {
18
18
  variants: {
19
19
  position: {
20
- [ToastPositionEnum.TOP]: "top-1000",
20
+ [ToastPositionEnum.TOP]: "top-1000 mt-700",
21
21
  [ToastPositionEnum.BOTTOM]: "bottom-1000"
22
22
  }
23
23
  },
@@ -1 +1 @@
1
- {"version":3,"names":["cva","ToastPositionEnum","ToastVariantEnum","toastVariants","variants","variant","SUCCESS","ERROR","WARNING","defaultVariants","containerVariants","position","TOP","BOTTOM"],"sourceRoot":"../../../../../src","sources":["components/Toast/assets/class-variants.ts"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,0BAA0B;AAC9C,SAASC,iBAAiB,EAAEC,gBAAgB,QAAQ,mBAAU;AAE9D,MAAMC,aAAa,GAAGH,GAAG,CACvB,kHAAkH,EAClH;EACEI,QAAQ,EAAE;IACRC,OAAO,EAAE;MACP,CAACH,gBAAgB,CAACI,OAAO,GAAG,aAAa;MACzC,CAACJ,gBAAgB,CAACK,KAAK,GAAG,mBAAmB;MAC7C,CAACL,gBAAgB,CAACM,OAAO,GAAG;IAC9B;EACF,CAAC;EACDC,eAAe,EAAE;IACfJ,OAAO,EAAEH,gBAAgB,CAACI;EAC5B;AACF,CACF,CAAC;AAED,MAAMI,iBAAiB,GAAGV,GAAG,CAAC,yCAAyC,EAAE;EACvEI,QAAQ,EAAE;IACRO,QAAQ,EAAE;MACR,CAACV,iBAAiB,CAACW,GAAG,GAAG,UAAU;MACnC,CAACX,iBAAiB,CAACY,MAAM,GAAG;IAC9B;EACF,CAAC;EACDJ,eAAe,EAAE;IACfE,QAAQ,EAAEV,iBAAiB,CAACW;EAC9B;AACF,CAAC,CAAC;AAEF,SAAST,aAAa,EAAEO,iBAAiB","ignoreList":[]}
1
+ {"version":3,"names":["cva","ToastPositionEnum","ToastVariantEnum","toastVariants","variants","variant","SUCCESS","ERROR","WARNING","defaultVariants","containerVariants","position","TOP","BOTTOM"],"sourceRoot":"../../../../../src","sources":["components/Toast/assets/class-variants.ts"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,0BAA0B;AAC9C,SAASC,iBAAiB,EAAEC,gBAAgB,QAAQ,mBAAU;AAE9D,MAAMC,aAAa,GAAGH,GAAG,CACvB,kHAAkH,EAClH;EACEI,QAAQ,EAAE;IACRC,OAAO,EAAE;MACP,CAACH,gBAAgB,CAACI,OAAO,GAAG,aAAa;MACzC,CAACJ,gBAAgB,CAACK,KAAK,GAAG,mBAAmB;MAC7C,CAACL,gBAAgB,CAACM,OAAO,GAAG;IAC9B;EACF,CAAC;EACDC,eAAe,EAAE;IACfJ,OAAO,EAAEH,gBAAgB,CAACI;EAC5B;AACF,CACF,CAAC;AAED,MAAMI,iBAAiB,GAAGV,GAAG,CAAC,yCAAyC,EAAE;EACvEI,QAAQ,EAAE;IACRO,QAAQ,EAAE;MACR,CAACV,iBAAiB,CAACW,GAAG,GAAG,iBAAiB;MAC1C,CAACX,iBAAiB,CAACY,MAAM,GAAG;IAC9B;EACF,CAAC;EACDJ,eAAe,EAAE;IACfE,QAAQ,EAAEV,iBAAiB,CAACW;EAC9B;AACF,CAAC,CAAC;AAEF,SAAST,aAAa,EAAEO,iBAAiB","ignoreList":[]}
@@ -40,4 +40,6 @@ export * from "./PageIndicators/index.js";
40
40
  export * from "./ActionButton/index.js";
41
41
  export * from "./MessageInput/index.js";
42
42
  export * from "./DatePicker/index.js";
43
+ export * from "./Tab/index.js";
44
+ export * from "./Dropdown/index.js";
43
45
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA,cAAc,mBAAU;AACxB,cAAc,mBAAU;AAGxB,cAAc,uBAAc;AAI5B,cAAc,iBAAQ;AACtB,cAAc,uBAAc;AAC5B,cAAc,iBAAc;AAE5B,cAAc,8BAAqB;AACnC,cAAc,8BAA2B;AAGzC,cAAc,0BAAiB;AAC/B,cAAc,gCAAuB;AAGrC,cAAc,qBAAY;AAC1B,cAAc,2BAAkB;AAGhC,cAAc,yBAAgB;AAG9B,cAAc,4BAAmB;AAGjC,cAAc,wBAAe;AAC7B,cAAc,wBAAqB;AAEnC,cAAc,iBAAQ;AACtB,cAAc,uBAAc;AAG5B,cAAc,kBAAS;AAGvB,cAAc,mBAAU;AACxB,cAAc,yBAAgB;AAG9B,cAAc,uBAAc;AAG5B,cAAc,kBAAS;AACvB,cAAc,wBAAe;AAG7B,cAAc,oBAAW;AAGzB,cAAc,uBAAc;AAC5B,cAAc,6BAAoB;AAGlC,cAAc,sBAAa;AAC3B,cAAc,sBAAmB;AAGjC,cAAc,yBAAgB;AAC9B,cAAc,+BAAsB;AAGpC,cAAc,uBAAc;AAC5B,cAAc,6BAAoB;AAGlC,cAAc,uBAAc;AAC5B,cAAc,uBAAoB;AAGlC,cAAc,0BAAiB;AAG/B,cAAc,2BAAkB;AAGhC,cAAc,yBAAgB;AAG9B,cAAc,yBAAgB;AAG9B,cAAc,uBAAc","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA,cAAc,mBAAU;AACxB,cAAc,mBAAU;AAGxB,cAAc,uBAAc;AAI5B,cAAc,iBAAQ;AACtB,cAAc,uBAAc;AAC5B,cAAc,iBAAc;AAE5B,cAAc,8BAAqB;AACnC,cAAc,8BAA2B;AAGzC,cAAc,0BAAiB;AAC/B,cAAc,gCAAuB;AAGrC,cAAc,qBAAY;AAC1B,cAAc,2BAAkB;AAGhC,cAAc,yBAAgB;AAG9B,cAAc,4BAAmB;AAGjC,cAAc,wBAAe;AAC7B,cAAc,wBAAqB;AAEnC,cAAc,iBAAQ;AACtB,cAAc,uBAAc;AAG5B,cAAc,kBAAS;AAGvB,cAAc,mBAAU;AACxB,cAAc,yBAAgB;AAG9B,cAAc,uBAAc;AAG5B,cAAc,kBAAS;AACvB,cAAc,wBAAe;AAG7B,cAAc,oBAAW;AAGzB,cAAc,uBAAc;AAC5B,cAAc,6BAAoB;AAGlC,cAAc,sBAAa;AAC3B,cAAc,sBAAmB;AAGjC,cAAc,yBAAgB;AAC9B,cAAc,+BAAsB;AAGpC,cAAc,uBAAc;AAC5B,cAAc,6BAAoB;AAGlC,cAAc,uBAAc;AAC5B,cAAc,uBAAoB;AAGlC,cAAc,0BAAiB;AAG/B,cAAc,2BAAkB;AAGhC,cAAc,yBAAgB;AAG9B,cAAc,yBAAgB;AAG9B,cAAc,uBAAc;AAG5B,cAAc,gBAAO;AAGrB,cAAc,qBAAY","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import React from "react";
2
+ import type { DropdownProps } from "./types";
3
+ export declare function Dropdown(props: DropdownProps): React.JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { ReactNode } from "react";
2
+ import { IconButtonProps } from "../IconButton/types";
3
+ import { SizeEnum } from "../../enums";
4
+ export interface DropdownProps {
5
+ label?: string;
6
+ value?: string;
7
+ placeholder?: string;
8
+ disabled?: boolean;
9
+ className?: string;
10
+ leftButtonText?: string;
11
+ hidePlaceholder?: boolean;
12
+ children: ReactNode;
13
+ iconButtonTrigger?: IconButtonProps;
14
+ iconButtonAlign?: "left" | "right" | "center";
15
+ size?: SizeEnum.SMALL | SizeEnum.MEDIUM;
16
+ corner?: SizeEnum.SMALL | SizeEnum.MEDIUM;
17
+ }
@@ -0,0 +1,18 @@
1
+ import { SizeEnum } from "../../../enums";
2
+ declare const tabContainerVariants: (props?: ({
3
+ size?: SizeEnum.SMALL | SizeEnum.MEDIUM | null | undefined;
4
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5
+ declare const dividerVariants: (props?: ({
6
+ selected?: boolean | null | undefined;
7
+ size?: SizeEnum.SMALL | SizeEnum.MEDIUM | null | undefined;
8
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
+ declare const tabLabelVariants: (props?: ({
10
+ selected?: boolean | null | undefined;
11
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
+ declare const tabCountVariants: (props?: ({
13
+ selected?: boolean | null | undefined;
14
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
15
+ declare const tabCountTextVariants: (props?: ({
16
+ selected?: boolean | null | undefined;
17
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
18
+ export { tabContainerVariants, dividerVariants, tabLabelVariants, tabCountVariants, tabCountTextVariants, };
@@ -0,0 +1,2 @@
1
+ import type { TabProps } from "./types";
2
+ export declare function Tab(props: TabProps): import("react").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { ReactNode } from "react";
2
+ import { SizeEnum } from "../../enums";
3
+ export type TabSize = SizeEnum.SMALL | SizeEnum.MEDIUM;
4
+ export interface TabItem {
5
+ label: string;
6
+ count?: number;
7
+ }
8
+ export interface TabProps {
9
+ items: TabItem[];
10
+ onTabChange: (index: number) => void;
11
+ size?: TabSize;
12
+ className?: string;
13
+ customDividerColor?: string;
14
+ customDividerComponent?: ReactNode;
15
+ selectedTab: number;
16
+ selected?: boolean;
17
+ }
@@ -1,2 +1,2 @@
1
1
  import type { MarkerProps } from "./types";
2
- export declare function Marker(props: MarkerProps): import("react").JSX.Element;
2
+ export declare function Marker(props: MarkerProps): string | number | bigint | true | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | import("react").JSX.Element;
@@ -1,6 +1,7 @@
1
1
  import { SizeEnum } from "../../../../enums";
2
2
  export type MarkerSize = SizeEnum.SMALL | SizeEnum.MEDIUM;
3
3
  export interface MarkerProps {
4
+ customMarkerComponent?: React.ReactNode;
4
5
  size?: MarkerSize;
5
6
  color?: "pear" | "java" | "grape" | "pitaya" | "tangerine" | "mango" | "blackberry" | "chia" | "ghost";
6
7
  }
@@ -62,3 +62,7 @@ export * from "./MessageInput";
62
62
  export type * from "./MessageInput/types";
63
63
  export * from "./DatePicker";
64
64
  export type * from "./DatePicker/types";
65
+ export * from "./Tab";
66
+ export type * from "./Tab/types";
67
+ export * from "./Dropdown";
68
+ export type * from "./Dropdown/types";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kivid/native-components",
3
- "version": "1.0.0-alpha.23",
3
+ "version": "1.0.0-alpha.25",
4
4
  "description": "A React Native component library for the Butterfly Design System.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -88,8 +88,8 @@
88
88
  "react-test-renderer": "19.0.0",
89
89
  "ts-jest": "^29.2.5",
90
90
  "typescript": "~5.8.3",
91
- "@kivid/tailwind-preset": "1.0.0-alpha.23",
92
- "@kivid/icons": "1.0.0-alpha.23"
91
+ "@kivid/tailwind-preset": "1.0.0-alpha.25",
92
+ "@kivid/icons": "1.0.0-alpha.25"
93
93
  },
94
94
  "peerDependencies": {
95
95
  "@lottiefiles/dotlottie-react": "^0.15.1",
@@ -99,8 +99,8 @@
99
99
  "react": "19.0.0",
100
100
  "react-native": "0.79.5",
101
101
  "react-native-svg": "^15.12.0",
102
- "@kivid/tailwind-preset": "1.0.0-alpha.23",
103
- "@kivid/icons": "1.0.0-alpha.23"
102
+ "@kivid/tailwind-preset": "1.0.0-alpha.25",
103
+ "@kivid/icons": "1.0.0-alpha.25"
104
104
  },
105
105
  "eslintIgnore": [
106
106
  "node_modules/",