@kivid/native-components 1.0.0-alpha.7 → 1.0.0-alpha.9

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 (103) hide show
  1. package/dist/commonjs/components/Avatar/index.js +5 -4
  2. package/dist/commonjs/components/Avatar/index.js.map +1 -1
  3. package/dist/commonjs/components/Button/index.js +2 -1
  4. package/dist/commonjs/components/Button/index.js.map +1 -1
  5. package/dist/commonjs/components/ChatBubble/assets/class-variants.js +6 -6
  6. package/dist/commonjs/components/ChatBubble/assets/class-variants.js.map +1 -1
  7. package/dist/commonjs/components/ChatBubble/components/ChatBubbleSeal/index.js +3 -3
  8. package/dist/commonjs/components/ChatBubble/components/ChatBubbleSeal/index.js.map +1 -1
  9. package/dist/commonjs/components/ChatBubble/components/ChatBubbleText/index.js +2 -2
  10. package/dist/commonjs/components/ChatBubble/components/ChatBubbleText/index.js.map +1 -1
  11. package/dist/commonjs/components/ChatBubble/index.js +14 -9
  12. package/dist/commonjs/components/ChatBubble/index.js.map +1 -1
  13. package/dist/commonjs/components/ListButton/assets/class-variants.js +1 -1
  14. package/dist/commonjs/components/ListButton/assets/class-variants.js.map +1 -1
  15. package/dist/commonjs/components/ListButton/index.js +22 -13
  16. package/dist/commonjs/components/ListButton/index.js.map +1 -1
  17. package/dist/commonjs/components/PasswordInput/index.js +42 -0
  18. package/dist/commonjs/components/PasswordInput/index.js.map +1 -0
  19. package/dist/commonjs/components/PasswordInput/types.js +6 -0
  20. package/dist/commonjs/components/PasswordInput/types.js.map +1 -0
  21. package/dist/commonjs/components/TextInput/assets/class-variants.js +1 -1
  22. package/dist/commonjs/components/TextInput/assets/class-variants.js.map +1 -1
  23. package/dist/commonjs/components/TextInput/index.js +13 -2
  24. package/dist/commonjs/components/TextInput/index.js.map +1 -1
  25. package/dist/commonjs/components/Title/components/icon/types.js +0 -9
  26. package/dist/commonjs/components/Title/components/icon/types.js.map +1 -1
  27. package/dist/commonjs/components/index.js +11 -0
  28. package/dist/commonjs/components/index.js.map +1 -1
  29. package/dist/commonjs/enums/index.js +11 -0
  30. package/dist/commonjs/enums/index.js.map +1 -1
  31. package/dist/commonjs/enums/state-variant.js +15 -0
  32. package/dist/commonjs/enums/state-variant.js.map +1 -0
  33. package/dist/module/components/Avatar/index.js +5 -4
  34. package/dist/module/components/Avatar/index.js.map +1 -1
  35. package/dist/module/components/Button/index.js +2 -1
  36. package/dist/module/components/Button/index.js.map +1 -1
  37. package/dist/module/components/ChatBubble/assets/class-variants.js +6 -6
  38. package/dist/module/components/ChatBubble/assets/class-variants.js.map +1 -1
  39. package/dist/module/components/ChatBubble/components/ChatBubbleSeal/index.js +3 -3
  40. package/dist/module/components/ChatBubble/components/ChatBubbleSeal/index.js.map +1 -1
  41. package/dist/module/components/ChatBubble/components/ChatBubbleText/index.js +2 -2
  42. package/dist/module/components/ChatBubble/components/ChatBubbleText/index.js.map +1 -1
  43. package/dist/module/components/ChatBubble/index.js +14 -9
  44. package/dist/module/components/ChatBubble/index.js.map +1 -1
  45. package/dist/module/components/ListButton/assets/class-variants.js +1 -1
  46. package/dist/module/components/ListButton/assets/class-variants.js.map +1 -1
  47. package/dist/module/components/ListButton/index.js +22 -13
  48. package/dist/module/components/ListButton/index.js.map +1 -1
  49. package/dist/module/components/PasswordInput/index.js +37 -0
  50. package/dist/module/components/PasswordInput/index.js.map +1 -0
  51. package/dist/module/components/PasswordInput/types.js +4 -0
  52. package/dist/module/components/PasswordInput/types.js.map +1 -0
  53. package/dist/module/components/TextInput/assets/class-variants.js +1 -1
  54. package/dist/module/components/TextInput/assets/class-variants.js.map +1 -1
  55. package/dist/module/components/TextInput/index.js +13 -2
  56. package/dist/module/components/TextInput/index.js.map +1 -1
  57. package/dist/module/components/Title/components/icon/types.js +1 -8
  58. package/dist/module/components/Title/components/icon/types.js.map +1 -1
  59. package/dist/module/components/index.js +1 -0
  60. package/dist/module/components/index.js.map +1 -1
  61. package/dist/module/enums/index.js +1 -0
  62. package/dist/module/enums/index.js.map +1 -1
  63. package/dist/module/enums/state-variant.js +11 -0
  64. package/dist/module/enums/state-variant.js.map +1 -0
  65. package/dist/typescript/components/Avatar/types.d.ts +1 -0
  66. package/dist/typescript/components/ChatBubble/assets/class-variants.d.ts +1 -1
  67. package/dist/typescript/components/ChatBubble/contexts/ChatBubbleContext/types.d.ts +1 -1
  68. package/dist/typescript/components/ChatBubble/types.d.ts +2 -1
  69. package/dist/typescript/components/Chip/assets/class-variants.d.ts +1 -1
  70. package/dist/typescript/components/ListButton/types.d.ts +2 -1
  71. package/dist/typescript/components/PasswordInput/index.d.ts +2 -0
  72. package/dist/typescript/components/PasswordInput/types.d.ts +3 -0
  73. package/dist/typescript/components/Seal/assets/class-variants.d.ts +1 -1
  74. package/dist/typescript/components/TextInput/index.d.ts +1 -1
  75. package/dist/typescript/components/TextInput/types.d.ts +3 -0
  76. package/dist/typescript/components/Title/components/icon/types.d.ts +2 -9
  77. package/dist/typescript/components/Tooltip/types.d.ts +0 -1
  78. package/dist/typescript/components/index.d.ts +2 -0
  79. package/dist/typescript/enums/index.d.ts +1 -0
  80. package/dist/typescript/enums/state-variant.d.ts +7 -0
  81. package/package.json +5 -5
  82. package/src/components/Avatar/index.tsx +4 -4
  83. package/src/components/Avatar/types.ts +1 -0
  84. package/src/components/Button/index.tsx +2 -1
  85. package/src/components/ChatBubble/assets/class-variants.ts +6 -6
  86. package/src/components/ChatBubble/components/ChatBubbleSeal/index.tsx +3 -3
  87. package/src/components/ChatBubble/components/ChatBubbleText/index.tsx +2 -2
  88. package/src/components/ChatBubble/contexts/ChatBubbleContext/types.ts +1 -1
  89. package/src/components/ChatBubble/index.tsx +14 -11
  90. package/src/components/ChatBubble/types.ts +2 -1
  91. package/src/components/ListButton/assets/class-variants.ts +1 -1
  92. package/src/components/ListButton/index.tsx +27 -26
  93. package/src/components/ListButton/types.ts +2 -1
  94. package/src/components/PasswordInput/index.tsx +37 -0
  95. package/src/components/PasswordInput/types.ts +4 -0
  96. package/src/components/TextInput/assets/class-variants.ts +1 -1
  97. package/src/components/TextInput/index.tsx +16 -2
  98. package/src/components/TextInput/types.ts +3 -0
  99. package/src/components/Title/components/icon/types.ts +2 -10
  100. package/src/components/Tooltip/types.ts +0 -1
  101. package/src/components/index.ts +3 -0
  102. package/src/enums/index.ts +1 -0
  103. package/src/enums/state-variant.ts +7 -0
@@ -1 +1 @@
1
- {"version":3,"names":["cva","textInputContainerVariants","variants","corners","small","medium","showLabel","true","false","error","disabled","defaultVariants","textInputContentVariants","textInputFieldVariants","isValid"],"sourceRoot":"../../../../../src","sources":["components/TextInput/assets/class-variants.ts"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,0BAA0B;AAE9C,OAAO,MAAMC,0BAA0B,GAAGD,GAAG,CAC3C,mEAAmE,EACnE;EACEE,QAAQ,EAAE;IACRC,OAAO,EAAE;MACPC,KAAK,EAAE,aAAa;MACpBC,MAAM,EAAE;IACV,CAAC;IACDC,SAAS,EAAE;MACTC,IAAI,EAAE,uBAAuB;MAC7BC,KAAK,EAAE;IACT,CAAC;IACDC,KAAK,EAAE;MACLF,IAAI,EAAE,uBAAuB;MAC7BC,KAAK,EAAE;IACT,CAAC;IAEDE,QAAQ,EAAE;MACRH,IAAI,EAAE,YAAY;MAClBC,KAAK,EAAE;IACT;EACF,CAAC;EACDG,eAAe,EAAE;IACfR,OAAO,EAAE,QAAQ;IACjBG,SAAS,EAAE,KAAK;IAChBG,KAAK,EAAE,KAAK;IACZC,QAAQ,EAAE;EACZ;AACF,CACF,CAAC;AAED,OAAO,MAAME,wBAAwB,GAAGZ,GAAG,CAAC,+BAA+B,EAAE;EAC3EE,QAAQ,EAAE;IACRI,SAAS,EAAE;MACTC,IAAI,EAAE,OAAO;MACbC,KAAK,EAAE;IACT;EACF,CAAC;EACDG,eAAe,EAAE;IACfL,SAAS,EAAE;EACb;AACF,CAAC,CAAC;AAEF,OAAO,MAAMO,sBAAsB,GAAGb,GAAG,CACvC,6EAA6E,EAC7E;EACEE,QAAQ,EAAE;IACRQ,QAAQ,EAAE;MACRH,IAAI,EAAE,eAAe;MACrBC,KAAK,EAAE;IACT,CAAC;IACDM,OAAO,EAAE;MACPP,IAAI,EAAE,eAAe;MACrBC,KAAK,EAAE;IACT,CAAC;IACDC,KAAK,EAAE;MACLF,IAAI,EAAE,qBAAqB;MAC3BC,KAAK,EAAE;IACT,CAAC;IACDF,SAAS,EAAE;MACTC,IAAI,EAAE,WAAW;MACjBC,KAAK,EAAE;IACT;EACF,CAAC;EACDG,eAAe,EAAE;IACfD,QAAQ,EAAE,KAAK;IACfI,OAAO,EAAE,KAAK;IACdL,KAAK,EAAE,KAAK;IACZH,SAAS,EAAE;EACb;AACF,CACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["cva","textInputContainerVariants","variants","corners","small","medium","showLabel","true","false","error","disabled","defaultVariants","textInputContentVariants","textInputFieldVariants","isValid"],"sourceRoot":"../../../../../src","sources":["components/TextInput/assets/class-variants.ts"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,0BAA0B;AAE9C,OAAO,MAAMC,0BAA0B,GAAGD,GAAG,CAC3C,mEAAmE,EACnE;EACEE,QAAQ,EAAE;IACRC,OAAO,EAAE;MACPC,KAAK,EAAE,aAAa;MACpBC,MAAM,EAAE;IACV,CAAC;IACDC,SAAS,EAAE;MACTC,IAAI,EAAE,uBAAuB;MAC7BC,KAAK,EAAE;IACT,CAAC;IACDC,KAAK,EAAE;MACLF,IAAI,EAAE,uBAAuB;MAC7BC,KAAK,EAAE;IACT,CAAC;IAEDE,QAAQ,EAAE;MACRH,IAAI,EAAE,YAAY;MAClBC,KAAK,EAAE;IACT;EACF,CAAC;EACDG,eAAe,EAAE;IACfR,OAAO,EAAE,QAAQ;IACjBG,SAAS,EAAE,KAAK;IAChBG,KAAK,EAAE,KAAK;IACZC,QAAQ,EAAE;EACZ;AACF,CACF,CAAC;AAED,OAAO,MAAME,wBAAwB,GAAGZ,GAAG,CAAC,+BAA+B,EAAE;EAC3EE,QAAQ,EAAE;IACRI,SAAS,EAAE;MACTC,IAAI,EAAE,OAAO;MACbC,KAAK,EAAE;IACT;EACF,CAAC;EACDG,eAAe,EAAE;IACfL,SAAS,EAAE;EACb;AACF,CAAC,CAAC;AAEF,OAAO,MAAMO,sBAAsB,GAAGb,GAAG,CACvC,0GAA0G,EAC1G;EACEE,QAAQ,EAAE;IACRQ,QAAQ,EAAE;MACRH,IAAI,EAAE,eAAe;MACrBC,KAAK,EAAE;IACT,CAAC;IACDM,OAAO,EAAE;MACPP,IAAI,EAAE,eAAe;MACrBC,KAAK,EAAE;IACT,CAAC;IACDC,KAAK,EAAE;MACLF,IAAI,EAAE,qBAAqB;MAC3BC,KAAK,EAAE;IACT,CAAC;IACDF,SAAS,EAAE;MACTC,IAAI,EAAE,WAAW;MACjBC,KAAK,EAAE;IACT;EACF,CAAC;EACDG,eAAe,EAAE;IACfD,QAAQ,EAAE,KAAK;IACfI,OAAO,EAAE,KAAK;IACdL,KAAK,EAAE,KAAK;IACZH,SAAS,EAAE;EACb;AACF,CACF,CAAC","ignoreList":[]}
@@ -28,6 +28,9 @@ export function TextInput({
28
28
  containerTestID,
29
29
  ref,
30
30
  tooltipClassName = "",
31
+ tooltipPointerClassName,
32
+ tooltipContainerClassName,
33
+ rightIcon,
31
34
  ...rest
32
35
  }) {
33
36
  const inputRef = useRef(null);
@@ -47,6 +50,12 @@ export function TextInput({
47
50
  })
48
51
  });
49
52
  };
53
+ const renderRightIcon = () => {
54
+ if (rightIcon) {
55
+ return rightIcon;
56
+ }
57
+ return renderSeal();
58
+ };
50
59
  const handleChangeText = text => {
51
60
  onChangeText?.(text);
52
61
  };
@@ -60,9 +69,11 @@ export function TextInput({
60
69
  };
61
70
  return /*#__PURE__*/_jsx(Tooltip, {
62
71
  isOpenedByVariantError: hasError,
63
- message: "This is a error",
72
+ message: error,
64
73
  variant: TooltipVariantEnum.ERROR,
65
74
  className: tooltipClassName,
75
+ pointerClassName: tooltipPointerClassName,
76
+ containerClassName: tooltipContainerClassName,
66
77
  children: /*#__PURE__*/_jsxs(Pressable, {
67
78
  testID: containerTestID,
68
79
  className: merge(textInputContainerVariants({
@@ -109,7 +120,7 @@ export function TextInput({
109
120
  }
110
121
  }
111
122
  })]
112
- }), renderSeal()]
123
+ }), renderRightIcon()]
113
124
  })
114
125
  });
115
126
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","View","TextInput","RNTextInput","Pressable","merge","Seal","SealVariantEnum","TextInputCornersEnum","textInputContainerVariants","textInputContentVariants","textInputFieldVariants","Typography","SizeEnum","Tooltip","TooltipVariantEnum","jsx","_jsx","jsxs","_jsxs","corners","MEDIUM","label","value","onChangeText","disabled","error","isValid","className","inputClassName","labelClassName","placeholder","accessibilityLabel","containerTestID","ref","tooltipClassName","rest","inputRef","hasLabel","hasError","shouldShowSeal","renderSeal","testID","sealVariant","ERROR","SUCCESS","children","variant","size","handleChangeText","text","getAccessibilityLabel","labelText","isOpenedByVariantError","message","showLabel","onPress","current","focus","weight","editable","accessibilityState","instance","displayName"],"sourceRoot":"../../../../src","sources":["components/TextInput/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useRef","View","TextInput","RNTextInput","Pressable","merge","Seal","SealVariantEnum","TextInputCornersEnum","textInputContainerVariants","textInputContentVariants","textInputFieldVariants","Typography","SizeEnum","Tooltip","TooltipVariantEnum","jsx","_jsx","jsxs","_jsxs","corners","MEDIUM","label","value","onChangeText","disabled","error","isValid","className","inputClassName","labelClassName","placeholder","accessibilityLabel","containerTestID","ref","tooltipClassName","tooltipPointerClassName","tooltipContainerClassName","rightIcon","rest","inputRef","hasLabel","hasError","shouldShowSeal","renderSeal","testID","sealVariant","ERROR","SUCCESS","children","variant","size","renderRightIcon","handleChangeText","text","getAccessibilityLabel","labelText","isOpenedByVariantError","message","pointerClassName","containerClassName","showLabel","onPress","current","focus","weight","editable","accessibilityState","instance","displayName"],"sourceRoot":"../../../../src","sources":["components/TextInput/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,4 @@
1
1
  "use strict";
2
2
 
3
- export let IconVariants = /*#__PURE__*/function (IconVariants) {
4
- IconVariants["SUCCESS"] = "success";
5
- IconVariants["ERROR"] = "error";
6
- IconVariants["WARNING"] = "warning";
7
- IconVariants["ADD"] = "add";
8
- IconVariants["CUSTOM"] = "custom";
9
- return IconVariants;
10
- }({});
3
+ export {};
11
4
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["IconVariants"],"sourceRoot":"../../../../../../src","sources":["components/Title/components/icon/types.ts"],"mappings":";;AAEA,WAAYA,YAAY,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../../src","sources":["components/Title/components/icon/types.ts"],"mappings":"","ignoreList":[]}
@@ -34,4 +34,5 @@ export * from "./RadioInput/index.js";
34
34
  export * from "./RadioInput/enums/index.js";
35
35
  export * from "./IconButton/index.js";
36
36
  export * from "./IconButton/enums.js";
37
+ export * from "./PasswordInput/index.js";
37
38
  //# 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,iBAAc;AAC5B,cAAc,uBAAc;AAE5B,cAAc,8BAAqB;AAEnC,cAAc,8BAA2B;AAEzC,cAAc,0BAAiB;AAE/B,cAAc,gCAAuB;AAErC,cAAc,qBAAY;AAE1B,cAAc,2BAAkB;AAEhC,cAAc,4BAAmB;AAGjC,cAAc,wBAAe;AAC7B,cAAc,wBAAqB;AAEnC,cAAc,iBAAQ;AAEtB,cAAc,uBAAc;AAE5B,cAAc,kBAAS;AAGvB,cAAc,mBAAU;AAExB,cAAc,yBAAgB;AAE9B,cAAc,uBAAc;AAG5B,cAAc,kBAAS;AAEvB,cAAc,wBAAe;AAE7B,cAAc,oBAAW;AAGzB,cAAc,uBAAc;AAE5B,cAAc,6BAAoB;AAElC,cAAc,sBAAa;AAE3B,cAAc,sBAAmB;AAEjC,cAAc,yBAAgB;AAE9B,cAAc,+BAAsB;AAEpC,cAAc,uBAAc;AAE5B,cAAc,6BAAoB;AAElC,cAAc,uBAAc;AAE5B,cAAc,uBAAoB","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,iBAAc;AAC5B,cAAc,uBAAc;AAE5B,cAAc,8BAAqB;AAEnC,cAAc,8BAA2B;AAEzC,cAAc,0BAAiB;AAE/B,cAAc,gCAAuB;AAErC,cAAc,qBAAY;AAE1B,cAAc,2BAAkB;AAEhC,cAAc,4BAAmB;AAGjC,cAAc,wBAAe;AAC7B,cAAc,wBAAqB;AAEnC,cAAc,iBAAQ;AAEtB,cAAc,uBAAc;AAE5B,cAAc,kBAAS;AAGvB,cAAc,mBAAU;AAExB,cAAc,yBAAgB;AAE9B,cAAc,uBAAc;AAG5B,cAAc,kBAAS;AAEvB,cAAc,wBAAe;AAE7B,cAAc,oBAAW;AAGzB,cAAc,uBAAc;AAE5B,cAAc,6BAAoB;AAElC,cAAc,sBAAa;AAE3B,cAAc,sBAAmB;AAEjC,cAAc,yBAAgB;AAE9B,cAAc,+BAAsB;AAEpC,cAAc,uBAAc;AAE5B,cAAc,6BAAoB;AAElC,cAAc,uBAAc;AAE5B,cAAc,uBAAoB;AAElC,cAAc,0BAAiB","ignoreList":[]}
@@ -2,4 +2,5 @@
2
2
 
3
3
  export * from "./size.js";
4
4
  export * from "./corners.js";
5
+ export * from "./state-variant.js";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["enums/index.ts"],"mappings":";;AAAA,cAAc,WAAQ;AACtB,cAAc,cAAW","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["enums/index.ts"],"mappings":";;AAAA,cAAc,WAAQ;AACtB,cAAc,cAAW;AACzB,cAAc,oBAAiB","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ export let StateVariantEnum = /*#__PURE__*/function (StateVariantEnum) {
4
+ StateVariantEnum["SUCCESS"] = "success";
5
+ StateVariantEnum["ERROR"] = "error";
6
+ StateVariantEnum["WARNING"] = "warning";
7
+ StateVariantEnum["ADD"] = "add";
8
+ StateVariantEnum["CUSTOM"] = "custom";
9
+ return StateVariantEnum;
10
+ }({});
11
+ //# sourceMappingURL=state-variant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StateVariantEnum"],"sourceRoot":"../../../src","sources":["enums/state-variant.ts"],"mappings":";;AAAA,WAAYA,gBAAgB,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA","ignoreList":[]}
@@ -4,4 +4,5 @@ export interface AvatarProps {
4
4
  src?: string | null;
5
5
  name?: string;
6
6
  size?: AvatarSize;
7
+ className?: string;
7
8
  }
@@ -1,5 +1,5 @@
1
1
  export declare const chatBubbleBoxVariants: (props?: ({
2
- contentType?: "alert" | "error" | "check" | "custom" | null | undefined;
2
+ variant?: "error" | "custom" | "alert" | "check" | null | undefined;
3
3
  colorState?: "fill" | "outline" | null | undefined;
4
4
  hasEar?: boolean | null | undefined;
5
5
  messageType?: "initial" | "followUp" | null | undefined;
@@ -1,6 +1,6 @@
1
1
  import { ChatBubbleColorState, ChatBubbleMessageType, ChatBubbleType } from "../../types";
2
2
  export interface ChatBubbleContextValue {
3
- contentType?: ChatBubbleType;
3
+ variant?: ChatBubbleType;
4
4
  colorState: ChatBubbleColorState;
5
5
  messageType: ChatBubbleMessageType;
6
6
  }
@@ -3,11 +3,12 @@ export type ChatBubbleType = "check" | "alert" | "error" | "custom";
3
3
  export type ChatBubbleColorState = "fill" | "outline";
4
4
  export type ChatBubbleMessageType = "initial" | "followUp";
5
5
  export interface ChatBubbleProps extends Omit<ViewProps, "children"> {
6
- contentType?: ChatBubbleType;
6
+ variant?: ChatBubbleType;
7
7
  colorState?: ChatBubbleColorState;
8
8
  hasEar?: boolean;
9
9
  className?: string;
10
10
  children?: React.ReactNode;
11
11
  time?: string;
12
+ shouldDisplayTime?: boolean;
12
13
  messageType?: ChatBubbleMessageType;
13
14
  }
@@ -1,5 +1,5 @@
1
1
  export declare const chipVariants: (props?: ({
2
2
  size?: "medium" | "large" | null | undefined;
3
3
  variant?: "outline" | "highlight" | "filled" | null | undefined;
4
- sealVariant?: "alert" | "left" | "right" | "add" | "success" | "error" | "minus" | null | undefined;
4
+ sealVariant?: "success" | "error" | "add" | "alert" | "left" | "right" | "minus" | null | undefined;
5
5
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -14,5 +14,6 @@ export interface ListButtonProps extends PressableProps, VariantProps<typeof but
14
14
  corners?: CornersEnum.SMALL | CornersEnum.MEDIUM;
15
15
  className?: string;
16
16
  disabled?: boolean;
17
- accessibilityLabel: string;
17
+ accessibilityLabel?: string;
18
+ numberOfLines?: number;
18
19
  }
@@ -0,0 +1,2 @@
1
+ import { PasswordInputProps } from "./types";
2
+ export declare function PasswordInput(props: PasswordInputProps): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { TextInputProps } from "../TextInput/types";
2
+ export interface PasswordInputProps extends Omit<TextInputProps, "secureTextEntry"> {
3
+ }
@@ -1,6 +1,6 @@
1
1
  import { SizeEnum } from "../../../enums";
2
2
  export declare const sealVariants: (props?: ({
3
3
  size?: SizeEnum.SMALL | SizeEnum.MEDIUM | null | undefined;
4
- variant?: "alert" | "left" | "right" | "add" | "success" | "error" | "minus" | null | undefined;
4
+ variant?: "success" | "error" | "add" | "alert" | "left" | "right" | "minus" | null | undefined;
5
5
  inverted?: boolean | null | undefined;
6
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -1,5 +1,5 @@
1
1
  import type { TextInputProps } from "./types";
2
- export declare function TextInput({ corners, label, value, onChangeText, disabled, error, isValid, className, inputClassName, labelClassName, placeholder, accessibilityLabel, containerTestID, ref, tooltipClassName, ...rest }: TextInputProps): import("react").JSX.Element;
2
+ export declare function TextInput({ corners, label, value, onChangeText, disabled, error, isValid, className, inputClassName, labelClassName, placeholder, accessibilityLabel, containerTestID, ref, tooltipClassName, tooltipPointerClassName, tooltipContainerClassName, rightIcon, ...rest }: TextInputProps): import("react").JSX.Element;
3
3
  export declare namespace TextInput {
4
4
  var displayName: string;
5
5
  }
@@ -13,6 +13,9 @@ export interface TextInputProps extends Omit<RNTextInputProps, "value" | "onChan
13
13
  labelClassName?: string;
14
14
  containerTestID?: string;
15
15
  tooltipClassName?: string;
16
+ tooltipPointerClassName?: string;
17
+ tooltipContainerClassName?: string;
18
+ rightIcon?: React.ReactNode;
16
19
  onChangeText?: (text: string) => void;
17
20
  ref?: React.RefObject<RNTextInput | null>;
18
21
  }
@@ -1,14 +1,7 @@
1
- import { SizeEnum } from "../../../../enums";
2
- export declare enum IconVariants {
3
- SUCCESS = "success",
4
- ERROR = "error",
5
- WARNING = "warning",
6
- ADD = "add",
7
- CUSTOM = "custom"
8
- }
1
+ import { StateVariantEnum, SizeEnum } from "../../../../enums";
9
2
  export type IconSize = SizeEnum.SMALL | SizeEnum.MEDIUM | SizeEnum.LARGE;
10
3
  export interface IconProps {
11
- variants: IconVariants;
4
+ variants: StateVariantEnum;
12
5
  size?: IconSize;
13
6
  customIcon?: React.ReactNode;
14
7
  }
@@ -7,7 +7,6 @@ export interface TooltipProps {
7
7
  className?: string;
8
8
  pointerClassName?: string;
9
9
  containerClassName?: string;
10
- triggerButtonClassName?: string;
11
10
  style?: ViewStyle;
12
11
  onChangeVisibility?: (isVisible: boolean) => void;
13
12
  isOpenedByVariantError?: boolean;
@@ -50,3 +50,5 @@ export * from "./RadioInput/enums";
50
50
  export * from "./IconButton";
51
51
  export type * from "./IconButton/types";
52
52
  export * from "./IconButton/enums";
53
+ export * from "./PasswordInput";
54
+ export type * from "./PasswordInput/types";
@@ -1,2 +1,3 @@
1
1
  export * from "./size";
2
2
  export * from "./corners";
3
+ export * from "./state-variant";
@@ -0,0 +1,7 @@
1
+ export declare enum StateVariantEnum {
2
+ SUCCESS = "success",
3
+ ERROR = "error",
4
+ WARNING = "warning",
5
+ ADD = "add",
6
+ CUSTOM = "custom"
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kivid/native-components",
3
- "version": "1.0.0-alpha.7",
3
+ "version": "1.0.0-alpha.9",
4
4
  "description": "A React Native component library for the Butterfly Design System.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -78,8 +78,8 @@
78
78
  "react": "19.0.0",
79
79
  "ts-jest": "^29.2.5",
80
80
  "typescript": "~5.8.3",
81
- "@kivid/tailwind-preset": "1.0.0-alpha.7",
82
- "@kivid/icons": "1.0.0-alpha.7"
81
+ "@kivid/icons": "1.0.0-alpha.9",
82
+ "@kivid/tailwind-preset": "1.0.0-alpha.9"
83
83
  },
84
84
  "peerDependencies": {
85
85
  "@lottiefiles/dotlottie-react": "^0.15.1",
@@ -89,8 +89,8 @@
89
89
  "react-native-svg": "^15.12.0",
90
90
  "react-native": "0.79.5",
91
91
  "react": "19.0.0",
92
- "@kivid/tailwind-preset": "1.0.0-alpha.7",
93
- "@kivid/icons": "1.0.0-alpha.7"
92
+ "@kivid/icons": "1.0.0-alpha.9",
93
+ "@kivid/tailwind-preset": "1.0.0-alpha.9"
94
94
  },
95
95
  "eslintIgnore": [
96
96
  "node_modules/",
@@ -7,7 +7,7 @@ import { merge } from "@kivid/tailwind-preset";
7
7
  import Typography from "../Typography";
8
8
 
9
9
  export function Avatar(props: AvatarProps) {
10
- const { src, name, size = SizeEnum.MEDIUM } = props;
10
+ const { src, name, size = SizeEnum.MEDIUM, className } = props;
11
11
 
12
12
  const personMappedSize = {
13
13
  [SizeEnum.XLARGE]: 56,
@@ -77,7 +77,7 @@ export function Avatar(props: AvatarProps) {
77
77
 
78
78
  //TODO: line height add spaces on font, and element cant be centered
79
79
  return (
80
- <View className={avatarStyle}>
80
+ <View className={merge(avatarStyle, className)}>
81
81
  <Typography
82
82
  className={merge(
83
83
  avatarTextStyleMap[size].className,
@@ -93,7 +93,7 @@ export function Avatar(props: AvatarProps) {
93
93
  }
94
94
 
95
95
  return (
96
- <View className={avatarStyle}>
96
+ <View className={merge(avatarStyle, className)}>
97
97
  <Person
98
98
  color="#B6C2C2"
99
99
  size={personMappedSize}
@@ -108,7 +108,7 @@ export function Avatar(props: AvatarProps) {
108
108
  }
109
109
 
110
110
  return (
111
- <View className={merge(avatarStyle, "overflow-hidden")}>
111
+ <View className={merge(avatarStyle, "overflow-hidden", className)}>
112
112
  <Image
113
113
  source={{ uri: src }}
114
114
  className={"object-cover w-full h-full"}
@@ -12,4 +12,5 @@ export interface AvatarProps {
12
12
  src?: string | null;
13
13
  name?: string;
14
14
  size?: AvatarSize;
15
+ className?: string;
15
16
  }
@@ -124,11 +124,12 @@ export function Button(props: ButtonProps) {
124
124
  style={{
125
125
  opacity: animatedValue,
126
126
  }}
127
+ className={buttonStyle}
127
128
  >
128
129
  <Pressable
129
130
  ref={ref}
130
- className={buttonStyle}
131
131
  disabled={disabled}
132
+ className="flex-row"
132
133
  onPress={onPress}
133
134
  onPressIn={handlePressIn}
134
135
  onPressOut={handlePressOut}
@@ -4,7 +4,7 @@ export const chatBubbleBoxVariants = cva(
4
4
  "flex-row gap-400 px-600 py-500 min-h-1000",
5
5
  {
6
6
  variants: {
7
- contentType: {
7
+ variant: {
8
8
  check: "",
9
9
  alert: "",
10
10
  error: "",
@@ -25,27 +25,27 @@ export const chatBubbleBoxVariants = cva(
25
25
  },
26
26
  compoundVariants: [
27
27
  {
28
- contentType: "check",
28
+ variant: "check",
29
29
  colorState: "fill",
30
30
  className: "bg-pear-500",
31
31
  },
32
32
  {
33
- contentType: "alert",
33
+ variant: "alert",
34
34
  colorState: "fill",
35
35
  className: "bg-tangerine-500",
36
36
  },
37
37
  {
38
- contentType: "error",
38
+ variant: "error",
39
39
  colorState: "fill",
40
40
  className: "bg-blackberry-500",
41
41
  },
42
42
  {
43
- contentType: "custom",
43
+ variant: "custom",
44
44
  colorState: "fill",
45
45
  className: "bg-chia-100",
46
46
  },
47
47
  {
48
- contentType: "custom",
48
+ variant: "custom",
49
49
  colorState: "outline",
50
50
  className: "bg-chia-100",
51
51
  },
@@ -11,9 +11,9 @@ export const ChatBubbleSeal: React.FC<ChatBubbleSealProps> = ({
11
11
  className,
12
12
  ...props
13
13
  }) => {
14
- const { contentType, colorState } = useChatBubbleContext();
14
+ const { variant, colorState } = useChatBubbleContext();
15
15
 
16
- if (!contentType || contentType === "custom") {
16
+ if (!variant || variant === "custom") {
17
17
  return null;
18
18
  }
19
19
 
@@ -25,7 +25,7 @@ export const ChatBubbleSeal: React.FC<ChatBubbleSealProps> = ({
25
25
 
26
26
  return (
27
27
  <Seal
28
- variant={sealVariantMap[contentType]}
28
+ variant={sealVariantMap[variant]}
29
29
  size={SizeEnum.MEDIUM}
30
30
  inverted={colorState === "fill"}
31
31
  className={merge("ml-[-6px]", className)}
@@ -13,11 +13,11 @@ export const ChatBubbleText: React.FC<ChatBubbleTextProps> = ({
13
13
  children,
14
14
  ...props
15
15
  }) => {
16
- const { colorState, contentType } = useChatBubbleContext();
16
+ const { colorState, variant } = useChatBubbleContext();
17
17
 
18
18
  // Text color based on bubble colorState
19
19
  const textColorClass =
20
- colorState === "fill" && contentType !== "custom"
20
+ colorState === "fill" && variant !== "custom"
21
21
  ? "text-chia-200"
22
22
  : "text-chia-800";
23
23
 
@@ -5,7 +5,7 @@ import {
5
5
  } from "../../types";
6
6
 
7
7
  export interface ChatBubbleContextValue {
8
- contentType?: ChatBubbleType;
8
+ variant?: ChatBubbleType;
9
9
  colorState: ChatBubbleColorState;
10
10
  messageType: ChatBubbleMessageType;
11
11
  }
@@ -14,22 +14,26 @@ import { elevationDown100 } from "../../styles/mixins/shadows";
14
14
  import { merge } from "@kivid/tailwind-preset";
15
15
  import { ChatBubbleContext } from "./contexts";
16
16
  import type { ChatBubbleContextValue } from "./contexts/ChatBubbleContext/types";
17
-
17
+ import { useMemo } from "react";
18
18
 
19
19
  export function ChatBubble(props: ChatBubbleProps) {
20
20
  const {
21
- contentType = "custom",
21
+ variant = "custom",
22
22
  colorState = "outline",
23
- hasEar = false,
23
+ hasEar = true,
24
24
  className,
25
25
  children,
26
26
  time: timeFromProps,
27
+ shouldDisplayTime = true,
27
28
  messageType = "initial",
28
29
  ...restOfProps
29
30
  } = props;
30
31
 
31
- const [hours, minutes] = new Date().toLocaleTimeString().split(":");
32
- const time = timeFromProps ? timeFromProps : `${hours}:${minutes}`;
32
+ const time = useMemo(() => {
33
+ if (timeFromProps) return timeFromProps;
34
+ const [hours, minutes] = new Date().toLocaleTimeString().split(":");
35
+ return `${hours}:${minutes}`;
36
+ }, [timeFromProps]);
33
37
 
34
38
  const colorMap = {
35
39
  check: "#3DCC78",
@@ -38,11 +42,10 @@ export function ChatBubble(props: ChatBubbleProps) {
38
42
  custom: "#FAFCFC",
39
43
  };
40
44
 
41
- const tailColor =
42
- colorState === "outline" ? "#FAFCFC" : colorMap[contentType];
45
+ const tailColor = colorState === "outline" ? "#FAFCFC" : colorMap[variant];
43
46
 
44
47
  const contextInitialValue: ChatBubbleContextValue = {
45
- contentType,
48
+ variant,
46
49
  colorState,
47
50
  messageType,
48
51
  };
@@ -68,7 +71,7 @@ export function ChatBubble(props: ChatBubbleProps) {
68
71
  <ChatBubbleContext.Provider value={contextInitialValue}>
69
72
  <View
70
73
  accessibilityRole="text"
71
- accessibilityLabel={accessibilityLabelMap[contentType]}
74
+ accessibilityLabel={accessibilityLabelMap[variant]}
72
75
  accessible={true}
73
76
  className={merge("flex", className)}
74
77
  {...restOfProps}
@@ -87,7 +90,7 @@ export function ChatBubble(props: ChatBubbleProps) {
87
90
  <View
88
91
  className={merge(
89
92
  chatBubbleBoxVariants({
90
- contentType,
93
+ variant,
91
94
  colorState,
92
95
  hasEar,
93
96
  messageType,
@@ -101,7 +104,7 @@ export function ChatBubble(props: ChatBubbleProps) {
101
104
  {children}
102
105
  </View>
103
106
  </View>
104
- <ChatBubbleTime>{time}</ChatBubbleTime>
107
+ {shouldDisplayTime && <ChatBubbleTime>{time}</ChatBubbleTime>}
105
108
  </View>
106
109
  </ChatBubbleContext.Provider>
107
110
  );
@@ -5,11 +5,12 @@ export type ChatBubbleColorState = "fill" | "outline";
5
5
  export type ChatBubbleMessageType = "initial" | "followUp";
6
6
 
7
7
  export interface ChatBubbleProps extends Omit<ViewProps, "children"> {
8
- contentType?: ChatBubbleType;
8
+ variant?: ChatBubbleType;
9
9
  colorState?: ChatBubbleColorState;
10
10
  hasEar?: boolean;
11
11
  className?: string;
12
12
  children?: React.ReactNode;
13
13
  time?: string;
14
+ shouldDisplayTime?: boolean;
14
15
  messageType?: ChatBubbleMessageType;
15
16
  }
@@ -4,7 +4,7 @@ import { SizeEnum, CornersEnum } from "../../../enums";
4
4
 
5
5
  const buttonVariants = cva(
6
6
  [
7
- "flex flex-row items-center justify-between w-full",
7
+ "flex flex-row items-center justify-between",
8
8
  "font-bold",
9
9
  "disabled:cursor-not-allowed",
10
10
  "relative overflow-hidden",