@timmbr/native-ui 0.0.0-stage → 1.0.0

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 (212) hide show
  1. package/dist/components/Actionsheet/Actionsheet.d.ts +12 -0
  2. package/dist/components/Actionsheet/Actionsheet.d.ts.map +1 -0
  3. package/dist/components/Actionsheet/Actionsheet.js +116 -0
  4. package/dist/components/Actionsheet/Actionsheet.styles.d.ts +43 -0
  5. package/dist/components/Actionsheet/Actionsheet.styles.d.ts.map +1 -0
  6. package/dist/components/Actionsheet/Actionsheet.styles.js +25 -0
  7. package/dist/components/Actionsheet/Actionsheet.types.d.ts +39 -0
  8. package/dist/components/Actionsheet/Actionsheet.types.d.ts.map +1 -0
  9. package/dist/components/Actionsheet/index.d.ts +4 -0
  10. package/dist/components/Actionsheet/index.d.ts.map +1 -0
  11. package/dist/components/Avatar/Avatar.d.ts +8 -0
  12. package/dist/components/Avatar/Avatar.d.ts.map +1 -0
  13. package/dist/components/Avatar/Avatar.js +66 -0
  14. package/dist/components/Avatar/Avatar.styles.d.ts +25 -0
  15. package/dist/components/Avatar/Avatar.styles.d.ts.map +1 -0
  16. package/dist/components/Avatar/Avatar.styles.js +29 -0
  17. package/dist/components/Avatar/Avatar.types.d.ts +21 -0
  18. package/dist/components/Avatar/Avatar.types.d.ts.map +1 -0
  19. package/dist/components/Avatar/index.d.ts +4 -0
  20. package/dist/components/Avatar/index.d.ts.map +1 -0
  21. package/dist/components/Badge/Badge.d.ts +7 -0
  22. package/dist/components/Badge/Badge.d.ts.map +1 -0
  23. package/dist/components/Badge/Badge.js +73 -0
  24. package/dist/components/Badge/Badge.styles.d.ts +15 -0
  25. package/dist/components/Badge/Badge.styles.d.ts.map +1 -0
  26. package/dist/components/Badge/Badge.styles.js +71 -0
  27. package/dist/components/Badge/Badge.types.d.ts +25 -0
  28. package/dist/components/Badge/Badge.types.d.ts.map +1 -0
  29. package/dist/components/Badge/index.d.ts +4 -0
  30. package/dist/components/Badge/index.d.ts.map +1 -0
  31. package/dist/components/Box/Box.d.ts +4 -0
  32. package/dist/components/Box/Box.d.ts.map +1 -0
  33. package/dist/components/Box/Box.js +26 -0
  34. package/dist/components/Box/Box.styles.d.ts +7 -0
  35. package/dist/components/Box/Box.styles.d.ts.map +1 -0
  36. package/dist/components/Box/Box.styles.js +7 -0
  37. package/dist/components/Box/Box.types.d.ts +8 -0
  38. package/dist/components/Box/Box.types.d.ts.map +1 -0
  39. package/dist/components/Box/index.d.ts +4 -0
  40. package/dist/components/Box/index.d.ts.map +1 -0
  41. package/dist/components/Button/Button.d.ts +9 -0
  42. package/dist/components/Button/Button.d.ts.map +1 -0
  43. package/dist/components/Button/Button.js +169 -0
  44. package/dist/components/Button/Button.styles.d.ts +30 -0
  45. package/dist/components/Button/Button.styles.d.ts.map +1 -0
  46. package/dist/components/Button/Button.styles.js +106 -0
  47. package/dist/components/Button/Button.types.d.ts +41 -0
  48. package/dist/components/Button/Button.types.d.ts.map +1 -0
  49. package/dist/components/Button/index.d.ts +4 -0
  50. package/dist/components/Button/index.d.ts.map +1 -0
  51. package/dist/components/Card/Card.d.ts +8 -0
  52. package/dist/components/Card/Card.d.ts.map +1 -0
  53. package/dist/components/Card/Card.js +50 -0
  54. package/dist/components/Card/Card.styles.d.ts +26 -0
  55. package/dist/components/Card/Card.styles.d.ts.map +1 -0
  56. package/dist/components/Card/Card.styles.js +32 -0
  57. package/dist/components/Card/Card.types.d.ts +26 -0
  58. package/dist/components/Card/Card.types.d.ts.map +1 -0
  59. package/dist/components/Card/index.d.ts +4 -0
  60. package/dist/components/Card/index.d.ts.map +1 -0
  61. package/dist/components/Divider/Divider.d.ts +4 -0
  62. package/dist/components/Divider/Divider.d.ts.map +1 -0
  63. package/dist/components/Divider/Divider.js +22 -0
  64. package/dist/components/Divider/Divider.styles.d.ts +7 -0
  65. package/dist/components/Divider/Divider.styles.d.ts.map +1 -0
  66. package/dist/components/Divider/Divider.styles.js +16 -0
  67. package/dist/components/Divider/Divider.types.d.ts +7 -0
  68. package/dist/components/Divider/Divider.types.d.ts.map +1 -0
  69. package/dist/components/Divider/index.d.ts +4 -0
  70. package/dist/components/Divider/index.d.ts.map +1 -0
  71. package/dist/components/HStack/HStack.d.ts +4 -0
  72. package/dist/components/HStack/HStack.d.ts.map +1 -0
  73. package/dist/components/HStack/HStack.js +21 -0
  74. package/dist/components/HStack/HStack.styles.d.ts +8 -0
  75. package/dist/components/HStack/HStack.styles.d.ts.map +1 -0
  76. package/dist/components/HStack/HStack.styles.js +28 -0
  77. package/dist/components/HStack/HStack.types.d.ts +9 -0
  78. package/dist/components/HStack/HStack.types.d.ts.map +1 -0
  79. package/dist/components/HStack/index.d.ts +4 -0
  80. package/dist/components/HStack/index.d.ts.map +1 -0
  81. package/dist/components/Heading/Heading.d.ts +4 -0
  82. package/dist/components/Heading/Heading.d.ts.map +1 -0
  83. package/dist/components/Heading/Heading.js +22 -0
  84. package/dist/components/Heading/Heading.styles.d.ts +8 -0
  85. package/dist/components/Heading/Heading.styles.d.ts.map +1 -0
  86. package/dist/components/Heading/Heading.styles.js +28 -0
  87. package/dist/components/Heading/Heading.types.d.ts +10 -0
  88. package/dist/components/Heading/Heading.types.d.ts.map +1 -0
  89. package/dist/components/Heading/index.d.ts +4 -0
  90. package/dist/components/Heading/index.d.ts.map +1 -0
  91. package/dist/components/Icon/Icon.d.ts +4 -0
  92. package/dist/components/Icon/Icon.d.ts.map +1 -0
  93. package/dist/components/Icon/Icon.js +37 -0
  94. package/dist/components/Icon/Icon.styles.d.ts +7 -0
  95. package/dist/components/Icon/Icon.styles.d.ts.map +1 -0
  96. package/dist/components/Icon/Icon.styles.js +20 -0
  97. package/dist/components/Icon/Icon.types.d.ts +9 -0
  98. package/dist/components/Icon/Icon.types.d.ts.map +1 -0
  99. package/dist/components/Icon/index.d.ts +4 -0
  100. package/dist/components/Icon/index.d.ts.map +1 -0
  101. package/dist/components/Input/Input.d.ts +8 -0
  102. package/dist/components/Input/Input.d.ts.map +1 -0
  103. package/dist/components/Input/Input.js +105 -0
  104. package/dist/components/Input/Input.styles.d.ts +23 -0
  105. package/dist/components/Input/Input.styles.d.ts.map +1 -0
  106. package/dist/components/Input/Input.styles.js +56 -0
  107. package/dist/components/Input/Input.types.d.ts +32 -0
  108. package/dist/components/Input/Input.types.d.ts.map +1 -0
  109. package/dist/components/Input/index.d.ts +4 -0
  110. package/dist/components/Input/index.d.ts.map +1 -0
  111. package/dist/components/Modal/Modal.d.ts +11 -0
  112. package/dist/components/Modal/Modal.d.ts.map +1 -0
  113. package/dist/components/Modal/Modal.js +102 -0
  114. package/dist/components/Modal/Modal.styles.d.ts +43 -0
  115. package/dist/components/Modal/Modal.styles.d.ts.map +1 -0
  116. package/dist/components/Modal/Modal.styles.js +37 -0
  117. package/dist/components/Modal/Modal.types.d.ts +38 -0
  118. package/dist/components/Modal/Modal.types.d.ts.map +1 -0
  119. package/dist/components/Modal/index.d.ts +4 -0
  120. package/dist/components/Modal/index.d.ts.map +1 -0
  121. package/dist/components/Pressable/Pressable.d.ts +4 -0
  122. package/dist/components/Pressable/Pressable.d.ts.map +1 -0
  123. package/dist/components/Pressable/Pressable.js +43 -0
  124. package/dist/components/Pressable/Pressable.styles.d.ts +7 -0
  125. package/dist/components/Pressable/Pressable.styles.d.ts.map +1 -0
  126. package/dist/components/Pressable/Pressable.styles.js +16 -0
  127. package/dist/components/Pressable/Pressable.types.d.ts +9 -0
  128. package/dist/components/Pressable/Pressable.types.d.ts.map +1 -0
  129. package/dist/components/Pressable/index.d.ts +4 -0
  130. package/dist/components/Pressable/index.d.ts.map +1 -0
  131. package/dist/components/Spinner/Spinner.d.ts +4 -0
  132. package/dist/components/Spinner/Spinner.d.ts.map +1 -0
  133. package/dist/components/Spinner/Spinner.js +52 -0
  134. package/dist/components/Spinner/Spinner.styles.d.ts +7 -0
  135. package/dist/components/Spinner/Spinner.styles.d.ts.map +1 -0
  136. package/dist/components/Spinner/Spinner.styles.js +20 -0
  137. package/dist/components/Spinner/Spinner.types.d.ts +8 -0
  138. package/dist/components/Spinner/Spinner.types.d.ts.map +1 -0
  139. package/dist/components/Spinner/index.d.ts +4 -0
  140. package/dist/components/Spinner/index.d.ts.map +1 -0
  141. package/dist/components/Switch/Switch.d.ts +4 -0
  142. package/dist/components/Switch/Switch.d.ts.map +1 -0
  143. package/dist/components/Switch/Switch.js +56 -0
  144. package/dist/components/Switch/Switch.styles.d.ts +16 -0
  145. package/dist/components/Switch/Switch.styles.d.ts.map +1 -0
  146. package/dist/components/Switch/Switch.styles.js +50 -0
  147. package/dist/components/Switch/Switch.types.d.ts +11 -0
  148. package/dist/components/Switch/Switch.types.d.ts.map +1 -0
  149. package/dist/components/Switch/index.d.ts +4 -0
  150. package/dist/components/Switch/index.d.ts.map +1 -0
  151. package/dist/components/Tabs/Tabs.d.ts +9 -0
  152. package/dist/components/Tabs/Tabs.d.ts.map +1 -0
  153. package/dist/components/Tabs/Tabs.js +109 -0
  154. package/dist/components/Tabs/Tabs.styles.d.ts +31 -0
  155. package/dist/components/Tabs/Tabs.styles.d.ts.map +1 -0
  156. package/dist/components/Tabs/Tabs.styles.js +37 -0
  157. package/dist/components/Tabs/Tabs.types.d.ts +31 -0
  158. package/dist/components/Tabs/Tabs.types.d.ts.map +1 -0
  159. package/dist/components/Tabs/index.d.ts +4 -0
  160. package/dist/components/Tabs/index.d.ts.map +1 -0
  161. package/dist/components/Text/Text.d.ts +4 -0
  162. package/dist/components/Text/Text.d.ts.map +1 -0
  163. package/dist/components/Text/Text.js +29 -0
  164. package/dist/components/Text/Text.styles.d.ts +9 -0
  165. package/dist/components/Text/Text.styles.d.ts.map +1 -0
  166. package/dist/components/Text/Text.styles.js +35 -0
  167. package/dist/components/Text/Text.types.d.ts +11 -0
  168. package/dist/components/Text/Text.types.d.ts.map +1 -0
  169. package/dist/components/Text/index.d.ts +4 -0
  170. package/dist/components/Text/index.d.ts.map +1 -0
  171. package/dist/components/Textarea/Textarea.d.ts +6 -0
  172. package/dist/components/Textarea/Textarea.d.ts.map +1 -0
  173. package/dist/components/Textarea/Textarea.js +66 -0
  174. package/dist/components/Textarea/Textarea.styles.d.ts +16 -0
  175. package/dist/components/Textarea/Textarea.styles.d.ts.map +1 -0
  176. package/dist/components/Textarea/Textarea.styles.js +47 -0
  177. package/dist/components/Textarea/Textarea.types.d.ts +20 -0
  178. package/dist/components/Textarea/Textarea.types.d.ts.map +1 -0
  179. package/dist/components/Textarea/index.d.ts +4 -0
  180. package/dist/components/Textarea/index.d.ts.map +1 -0
  181. package/dist/components/Toast/Toast.d.ts +7 -0
  182. package/dist/components/Toast/Toast.d.ts.map +1 -0
  183. package/dist/components/Toast/Toast.js +39 -0
  184. package/dist/components/Toast/Toast.styles.d.ts +20 -0
  185. package/dist/components/Toast/Toast.styles.d.ts.map +1 -0
  186. package/dist/components/Toast/Toast.styles.js +42 -0
  187. package/dist/components/Toast/Toast.types.d.ts +22 -0
  188. package/dist/components/Toast/Toast.types.d.ts.map +1 -0
  189. package/dist/components/Toast/index.d.ts +4 -0
  190. package/dist/components/Toast/index.d.ts.map +1 -0
  191. package/dist/components/VStack/VStack.d.ts +4 -0
  192. package/dist/components/VStack/VStack.d.ts.map +1 -0
  193. package/dist/components/VStack/VStack.js +21 -0
  194. package/dist/components/VStack/VStack.styles.d.ts +8 -0
  195. package/dist/components/VStack/VStack.styles.d.ts.map +1 -0
  196. package/dist/components/VStack/VStack.styles.js +28 -0
  197. package/dist/components/VStack/VStack.types.d.ts +9 -0
  198. package/dist/components/VStack/VStack.types.d.ts.map +1 -0
  199. package/dist/components/VStack/index.d.ts +4 -0
  200. package/dist/components/VStack/index.d.ts.map +1 -0
  201. package/dist/index.d.ts +23 -0
  202. package/dist/index.d.ts.map +1 -0
  203. package/dist/index.js +42 -0
  204. package/dist/provider/TimmbrNativeProvider.d.ts +21 -0
  205. package/dist/provider/TimmbrNativeProvider.d.ts.map +1 -0
  206. package/dist/provider/TimmbrNativeProvider.js +110 -0
  207. package/dist/theme/config.d.ts +360 -0
  208. package/dist/theme/config.d.ts.map +1 -0
  209. package/dist/theme/config.js +129 -0
  210. package/package.json +70 -3
  211. package/src/native/index.tsx +799 -0
  212. package/README.md +0 -3
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ import type { ActionsheetProps, ActionsheetBackdropProps, ActionsheetContentProps, ActionsheetDragIndicatorWrapperProps, ActionsheetDragIndicatorProps, ActionsheetItemProps, ActionsheetItemTextProps, ActionsheetIconProps, ActionsheetContextValue } from './Actionsheet.types';
3
+ export declare const useActionsheetContext: () => ActionsheetContextValue;
4
+ export declare const Actionsheet: React.ForwardRefExoticComponent<ActionsheetProps & React.RefAttributes<HTMLDivElement>>;
5
+ export declare const ActionsheetBackdrop: React.ForwardRefExoticComponent<ActionsheetBackdropProps & React.RefAttributes<HTMLDivElement>>;
6
+ export declare const ActionsheetContent: React.ForwardRefExoticComponent<ActionsheetContentProps & React.RefAttributes<HTMLDivElement>>;
7
+ export declare const ActionsheetDragIndicatorWrapper: React.ForwardRefExoticComponent<ActionsheetDragIndicatorWrapperProps & React.RefAttributes<HTMLDivElement>>;
8
+ export declare const ActionsheetDragIndicator: React.ForwardRefExoticComponent<ActionsheetDragIndicatorProps & React.RefAttributes<HTMLDivElement>>;
9
+ export declare const ActionsheetItem: React.ForwardRefExoticComponent<ActionsheetItemProps & React.RefAttributes<HTMLButtonElement>>;
10
+ export declare const ActionsheetItemText: React.ForwardRefExoticComponent<ActionsheetItemTextProps & React.RefAttributes<HTMLSpanElement>>;
11
+ export declare const ActionsheetIcon: React.ForwardRefExoticComponent<ActionsheetIconProps & React.RefAttributes<HTMLSpanElement>>;
12
+ //# sourceMappingURL=Actionsheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Actionsheet.d.ts","sourceRoot":"","sources":["../../../src/components/Actionsheet/Actionsheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,KAAK,EACV,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,oCAAoC,EACpC,6BAA6B,EAC7B,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAO7B,eAAO,MAAM,qBAAqB,+BAA6C,CAAC;AAEhF,eAAO,MAAM,WAAW,yFAkBvB,CAAC;AAIF,eAAO,MAAM,mBAAmB,iGAmB9B,CAAC;AAIH,eAAO,MAAM,kBAAkB,gGAc7B,CAAC;AAIH,eAAO,MAAM,+BAA+B,6GAa1C,CAAC;AAIH,eAAO,MAAM,wBAAwB,sGAWnC,CAAC;AAIH,eAAO,MAAM,eAAe,gGAoB1B,CAAC;AAIH,eAAO,MAAM,mBAAmB,kGAS9B,CAAC;AAIH,eAAO,MAAM,eAAe,8FAa1B,CAAC"}
@@ -0,0 +1,116 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { actionsheetStyle, actionsheetBackdropStyle, actionsheetContentStyle, actionsheetDragIndicatorStyle, actionsheetDragIndicatorWrapperStyle, actionsheetItemStyle, actionsheetItemTextStyle } from './Actionsheet.styles.js';
4
+ import { cn } from '@timmbr/utils';
5
+
6
+ const ActionsheetContext = React.createContext({
7
+ isOpen: false
8
+ });
9
+ const useActionsheetContext = () => React.useContext(ActionsheetContext);
10
+ const Actionsheet = React.forwardRef(
11
+ ({ isOpen = false, onClose, className, children, ...props }, ref) => {
12
+ if (!isOpen) return null;
13
+ return /* @__PURE__ */ jsx(ActionsheetContext.Provider, { value: { isOpen, onClose }, children: /* @__PURE__ */ jsx(
14
+ "div",
15
+ {
16
+ ref,
17
+ role: "dialog",
18
+ "aria-modal": "true",
19
+ className: cn(actionsheetStyle(), className),
20
+ ...props,
21
+ children
22
+ }
23
+ ) });
24
+ }
25
+ );
26
+ Actionsheet.displayName = "Actionsheet";
27
+ const ActionsheetBackdrop = React.forwardRef(({ className, onClick, ...props }, ref) => {
28
+ const { onClose } = useActionsheetContext();
29
+ const handleClick = (e) => {
30
+ onClose?.();
31
+ onClick?.(e);
32
+ };
33
+ return /* @__PURE__ */ jsx(
34
+ "div",
35
+ {
36
+ ref,
37
+ "aria-hidden": "true",
38
+ className: cn(actionsheetBackdropStyle(), className),
39
+ onClick: handleClick,
40
+ ...props
41
+ }
42
+ );
43
+ });
44
+ ActionsheetBackdrop.displayName = "ActionsheetBackdrop";
45
+ const ActionsheetContent = React.forwardRef(({ className, children, ...props }, ref) => {
46
+ return /* @__PURE__ */ jsx(
47
+ "div",
48
+ {
49
+ ref,
50
+ "data-slot": "actionsheet-content",
51
+ className: cn(actionsheetContentStyle(), className),
52
+ ...props,
53
+ children
54
+ }
55
+ );
56
+ });
57
+ ActionsheetContent.displayName = "ActionsheetContent";
58
+ const ActionsheetDragIndicatorWrapper = React.forwardRef(({ className, children, ...props }, ref) => {
59
+ return /* @__PURE__ */ jsx(
60
+ "div",
61
+ {
62
+ ref,
63
+ className: cn(actionsheetDragIndicatorWrapperStyle(), className),
64
+ ...props,
65
+ children
66
+ }
67
+ );
68
+ });
69
+ ActionsheetDragIndicatorWrapper.displayName = "ActionsheetDragIndicatorWrapper";
70
+ const ActionsheetDragIndicator = React.forwardRef(({ className, ...props }, ref) => {
71
+ return /* @__PURE__ */ jsx(
72
+ "div",
73
+ {
74
+ ref,
75
+ className: cn(actionsheetDragIndicatorStyle(), className),
76
+ ...props
77
+ }
78
+ );
79
+ });
80
+ ActionsheetDragIndicator.displayName = "ActionsheetDragIndicator";
81
+ const ActionsheetItem = React.forwardRef(({ className, children, onPress, onClick, ...props }, ref) => {
82
+ const handleClick = (e) => {
83
+ onPress?.(e);
84
+ onClick?.(e);
85
+ };
86
+ return /* @__PURE__ */ jsx(
87
+ "button",
88
+ {
89
+ ref,
90
+ type: "button",
91
+ className: cn(actionsheetItemStyle(), className),
92
+ onClick: handleClick,
93
+ ...props,
94
+ children
95
+ }
96
+ );
97
+ });
98
+ ActionsheetItem.displayName = "ActionsheetItem";
99
+ const ActionsheetItemText = React.forwardRef(({ className, children, ...props }, ref) => {
100
+ return /* @__PURE__ */ jsx("span", { ref, className: cn(actionsheetItemTextStyle(), className), ...props, children });
101
+ });
102
+ ActionsheetItemText.displayName = "ActionsheetItemText";
103
+ const ActionsheetIcon = React.forwardRef(({ as: Component, className, children, ...props }, ref) => {
104
+ return /* @__PURE__ */ jsx(
105
+ "span",
106
+ {
107
+ ref,
108
+ className: cn("inline-flex items-center justify-center shrink-0 size-4 text-muted-foreground", className),
109
+ ...props,
110
+ children: Component ? /* @__PURE__ */ jsx(Component, { className: "size-full" }) : children
111
+ }
112
+ );
113
+ });
114
+ ActionsheetIcon.displayName = "ActionsheetIcon";
115
+
116
+ export { Actionsheet, ActionsheetBackdrop, ActionsheetContent, ActionsheetDragIndicator, ActionsheetDragIndicatorWrapper, ActionsheetIcon, ActionsheetItem, ActionsheetItemText, useActionsheetContext };
@@ -0,0 +1,43 @@
1
+ export declare const actionsheetStyle: (props?: ({
2
+ [x: string]: string | boolean | undefined;
3
+ } & {
4
+ class?: string;
5
+ className?: string;
6
+ }) | undefined) => string;
7
+ export declare const actionsheetBackdropStyle: (props?: ({
8
+ [x: string]: string | boolean | undefined;
9
+ } & {
10
+ class?: string;
11
+ className?: string;
12
+ }) | undefined) => string;
13
+ export declare const actionsheetContentStyle: (props?: ({
14
+ [x: string]: string | boolean | undefined;
15
+ } & {
16
+ class?: string;
17
+ className?: string;
18
+ }) | undefined) => string;
19
+ export declare const actionsheetDragIndicatorWrapperStyle: (props?: ({
20
+ [x: string]: string | boolean | undefined;
21
+ } & {
22
+ class?: string;
23
+ className?: string;
24
+ }) | undefined) => string;
25
+ export declare const actionsheetDragIndicatorStyle: (props?: ({
26
+ [x: string]: string | boolean | undefined;
27
+ } & {
28
+ class?: string;
29
+ className?: string;
30
+ }) | undefined) => string;
31
+ export declare const actionsheetItemStyle: (props?: ({
32
+ [x: string]: string | boolean | undefined;
33
+ } & {
34
+ class?: string;
35
+ className?: string;
36
+ }) | undefined) => string;
37
+ export declare const actionsheetItemTextStyle: (props?: ({
38
+ [x: string]: string | boolean | undefined;
39
+ } & {
40
+ class?: string;
41
+ className?: string;
42
+ }) | undefined) => string;
43
+ //# sourceMappingURL=Actionsheet.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Actionsheet.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Actionsheet/Actionsheet.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB;;;;;yBAE3B,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;yBAEnC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;yBAElC,CAAC;AAEH,eAAO,MAAM,oCAAoC;;;;;yBAE/C,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;yBAExC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;yBAE/B,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;yBAEnC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { tva } from '../../theme/config.js';
2
+
3
+ const actionsheetStyle = tva({
4
+ base: "fixed inset-0 z-50 flex items-end justify-center font-sans pointer-events-auto"
5
+ });
6
+ const actionsheetBackdropStyle = tva({
7
+ base: "fixed inset-0 bg-black/50 backdrop-blur-xs transition-opacity"
8
+ });
9
+ const actionsheetContentStyle = tva({
10
+ base: "relative z-10 w-full max-w-lg rounded-t-2xl bg-card text-card-foreground p-5 pb-8 shadow-xl border-t border-border flex flex-col max-h-[85vh] overflow-y-auto animate-in slide-in-from-bottom duration-200"
11
+ });
12
+ const actionsheetDragIndicatorWrapperStyle = tva({
13
+ base: "w-full flex items-center justify-center py-1 mb-3 cursor-grab"
14
+ });
15
+ const actionsheetDragIndicatorStyle = tva({
16
+ base: "w-12 h-1.5 rounded-full bg-muted-foreground/30"
17
+ });
18
+ const actionsheetItemStyle = tva({
19
+ base: "flex flex-row items-center w-full px-4 py-3 rounded-lg text-left text-sm font-medium transition-colors hover:bg-muted/50 active:bg-muted/80 disabled:opacity-50 disabled:pointer-events-none gap-3 select-none cursor-pointer"
20
+ });
21
+ const actionsheetItemTextStyle = tva({
22
+ base: "flex-1 text-foreground font-medium text-sm leading-normal"
23
+ });
24
+
25
+ export { actionsheetBackdropStyle, actionsheetContentStyle, actionsheetDragIndicatorStyle, actionsheetDragIndicatorWrapperStyle, actionsheetItemStyle, actionsheetItemTextStyle, actionsheetStyle };
@@ -0,0 +1,39 @@
1
+ import * as React from 'react';
2
+ export interface ActionsheetContextValue {
3
+ isOpen: boolean;
4
+ onClose?: () => void;
5
+ }
6
+ export interface ActionsheetProps extends React.HTMLAttributes<HTMLDivElement> {
7
+ isOpen?: boolean;
8
+ onClose?: () => void;
9
+ className?: string;
10
+ children?: React.ReactNode;
11
+ }
12
+ export interface ActionsheetBackdropProps extends React.HTMLAttributes<HTMLDivElement> {
13
+ className?: string;
14
+ }
15
+ export interface ActionsheetContentProps extends React.HTMLAttributes<HTMLDivElement> {
16
+ className?: string;
17
+ children?: React.ReactNode;
18
+ }
19
+ export interface ActionsheetDragIndicatorWrapperProps extends React.HTMLAttributes<HTMLDivElement> {
20
+ className?: string;
21
+ children?: React.ReactNode;
22
+ }
23
+ export interface ActionsheetDragIndicatorProps extends React.HTMLAttributes<HTMLDivElement> {
24
+ className?: string;
25
+ }
26
+ export interface ActionsheetItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
27
+ onPress?: (e: React.MouseEvent<HTMLButtonElement>) => void;
28
+ className?: string;
29
+ children?: React.ReactNode;
30
+ }
31
+ export interface ActionsheetItemTextProps extends React.HTMLAttributes<HTMLSpanElement> {
32
+ className?: string;
33
+ children?: React.ReactNode;
34
+ }
35
+ export interface ActionsheetIconProps extends React.HTMLAttributes<HTMLSpanElement> {
36
+ as?: React.ElementType;
37
+ className?: string;
38
+ }
39
+ //# sourceMappingURL=Actionsheet.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Actionsheet.types.d.ts","sourceRoot":"","sources":["../../../src/components/Actionsheet/Actionsheet.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAyB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uBAAwB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,oCAAqC,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAChG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,6BAA8B,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACzF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAqB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACzF,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAyB,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAqB,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IACjF,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,4 @@
1
+ export * from './Actionsheet';
2
+ export * from './Actionsheet.types';
3
+ export * from './Actionsheet.styles';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Actionsheet/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import type { AvatarProps, AvatarFallbackTextProps, AvatarImageProps, AvatarBadgeProps, AvatarContextValue } from './Avatar.types';
3
+ export declare const useAvatarContext: () => AvatarContextValue;
4
+ export declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLDivElement>>;
5
+ export declare const AvatarFallbackText: React.ForwardRefExoticComponent<AvatarFallbackTextProps & React.RefAttributes<HTMLSpanElement>>;
6
+ export declare const AvatarImage: React.ForwardRefExoticComponent<AvatarImageProps & React.RefAttributes<HTMLImageElement>>;
7
+ export declare const AvatarBadge: React.ForwardRefExoticComponent<AvatarBadgeProps & React.RefAttributes<HTMLDivElement>>;
8
+ //# sourceMappingURL=Avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EACV,WAAW,EACX,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AAOxB,eAAO,MAAM,gBAAgB,0BAAwC,CAAC;AAEtE,eAAO,MAAM,MAAM,oFAelB,CAAC;AAIF,eAAO,MAAM,kBAAkB,iGAa7B,CAAC;AAIH,eAAO,MAAM,WAAW,2FAWvB,CAAC;AAIF,eAAO,MAAM,WAAW,yFAWvB,CAAC"}
@@ -0,0 +1,66 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { avatarStyle, avatarBadgeStyle, avatarFallbackTextStyle, avatarImageStyle } from './Avatar.styles.js';
4
+ import { cn } from '@timmbr/utils';
5
+
6
+ const AvatarContext = React.createContext({
7
+ size: "md"
8
+ });
9
+ const useAvatarContext = () => React.useContext(AvatarContext);
10
+ const Avatar = React.forwardRef(
11
+ ({ size = "md", className, children, ...props }, ref) => {
12
+ return /* @__PURE__ */ jsx(AvatarContext.Provider, { value: { size }, children: /* @__PURE__ */ jsx(
13
+ "div",
14
+ {
15
+ ref,
16
+ "data-size": size,
17
+ className: cn(avatarStyle({ size }), className),
18
+ ...props,
19
+ children
20
+ }
21
+ ) });
22
+ }
23
+ );
24
+ Avatar.displayName = "Avatar";
25
+ const AvatarFallbackText = React.forwardRef(({ className, children, ...props }, ref) => {
26
+ return /* @__PURE__ */ jsx(
27
+ "span",
28
+ {
29
+ ref,
30
+ className: cn(avatarFallbackTextStyle(), className),
31
+ ...props,
32
+ children
33
+ }
34
+ );
35
+ });
36
+ AvatarFallbackText.displayName = "AvatarFallbackText";
37
+ const AvatarImage = React.forwardRef(
38
+ ({ className, alt = "Avatar", ...props }, ref) => {
39
+ return /* @__PURE__ */ jsx(
40
+ "img",
41
+ {
42
+ ref,
43
+ alt,
44
+ className: cn(avatarImageStyle(), className),
45
+ ...props
46
+ }
47
+ );
48
+ }
49
+ );
50
+ AvatarImage.displayName = "AvatarImage";
51
+ const AvatarBadge = React.forwardRef(
52
+ ({ className, ...props }, ref) => {
53
+ return /* @__PURE__ */ jsx(
54
+ "div",
55
+ {
56
+ ref,
57
+ "aria-hidden": "true",
58
+ className: cn(avatarBadgeStyle(), className),
59
+ ...props
60
+ }
61
+ );
62
+ }
63
+ );
64
+ AvatarBadge.displayName = "AvatarBadge";
65
+
66
+ export { Avatar, AvatarBadge, AvatarFallbackText, AvatarImage, useAvatarContext };
@@ -0,0 +1,25 @@
1
+ export declare const avatarStyle: (props?: ({
2
+ size?: string | boolean | undefined;
3
+ } & {
4
+ class?: string;
5
+ className?: string;
6
+ }) | undefined) => string;
7
+ export declare const avatarFallbackTextStyle: (props?: ({
8
+ [x: string]: string | boolean | undefined;
9
+ } & {
10
+ class?: string;
11
+ className?: string;
12
+ }) | undefined) => string;
13
+ export declare const avatarImageStyle: (props?: ({
14
+ [x: string]: string | boolean | undefined;
15
+ } & {
16
+ class?: string;
17
+ className?: string;
18
+ }) | undefined) => string;
19
+ export declare const avatarBadgeStyle: (props?: ({
20
+ [x: string]: string | boolean | undefined;
21
+ } & {
22
+ class?: string;
23
+ className?: string;
24
+ }) | undefined) => string;
25
+ //# sourceMappingURL=Avatar.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Avatar/Avatar.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;yBAetB,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;yBAElC,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;yBAE3B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;yBAE3B,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { tva } from '../../theme/config.js';
2
+
3
+ const avatarStyle = tva({
4
+ base: "relative inline-flex items-center justify-center rounded-full bg-secondary text-secondary-foreground font-sans font-semibold select-none overflow-hidden shrink-0 border border-border/40",
5
+ variants: {
6
+ size: {
7
+ xs: "size-6 text-[10px]",
8
+ sm: "size-8 text-xs",
9
+ md: "size-10 text-sm",
10
+ lg: "size-12 text-base",
11
+ xl: "size-16 text-xl",
12
+ "2xl": "size-20 text-2xl"
13
+ }
14
+ },
15
+ defaultVariants: {
16
+ size: "md"
17
+ }
18
+ });
19
+ const avatarFallbackTextStyle = tva({
20
+ base: "font-semibold tracking-wider uppercase text-center leading-none"
21
+ });
22
+ const avatarImageStyle = tva({
23
+ base: "size-full object-cover"
24
+ });
25
+ const avatarBadgeStyle = tva({
26
+ base: "absolute bottom-0 right-0 size-3 rounded-full bg-success ring-2 ring-background"
27
+ });
28
+
29
+ export { avatarBadgeStyle, avatarFallbackTextStyle, avatarImageStyle, avatarStyle };
@@ -0,0 +1,21 @@
1
+ import * as React from 'react';
2
+ export type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
3
+ export interface AvatarContextValue {
4
+ size?: AvatarSize;
5
+ }
6
+ export interface AvatarProps extends React.HTMLAttributes<HTMLDivElement> {
7
+ size?: AvatarSize;
8
+ className?: string;
9
+ children?: React.ReactNode;
10
+ }
11
+ export interface AvatarFallbackTextProps extends React.HTMLAttributes<HTMLSpanElement> {
12
+ className?: string;
13
+ children?: React.ReactNode;
14
+ }
15
+ export interface AvatarImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {
16
+ className?: string;
17
+ }
18
+ export interface AvatarBadgeProps extends React.HTMLAttributes<HTMLDivElement> {
19
+ className?: string;
20
+ }
21
+ //# sourceMappingURL=Avatar.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.types.d.ts","sourceRoot":"","sources":["../../../src/components/Avatar/Avatar.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAElE,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACvE,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAwB,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,4 @@
1
+ export * from './Avatar';
2
+ export * from './Avatar.types';
3
+ export * from './Avatar.styles';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Avatar/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import type { BadgeProps, BadgeTextProps, BadgeIconProps, BadgeContextValue } from './Badge.types';
3
+ export declare const useBadgeContext: () => BadgeContextValue;
4
+ export declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLDivElement>>;
5
+ export declare const BadgeText: React.ForwardRefExoticComponent<BadgeTextProps & React.RefAttributes<HTMLSpanElement>>;
6
+ export declare const BadgeIcon: React.ForwardRefExoticComponent<BadgeIconProps & React.RefAttributes<HTMLSpanElement>>;
7
+ //# sourceMappingURL=Badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/components/Badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EAClB,MAAM,eAAe,CAAC;AASvB,eAAO,MAAM,eAAe,yBAAuC,CAAC;AAEpE,eAAO,MAAM,KAAK,mFAoCjB,CAAC;AAIF,eAAO,MAAM,SAAS,wFAYrB,CAAC;AAIF,eAAO,MAAM,SAAS,wFAYrB,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { badgeStyle, badgeTextStyle } from './Badge.styles.js';
4
+ import { cn } from '@timmbr/utils';
5
+
6
+ const BadgeContext = React.createContext({
7
+ action: "muted",
8
+ variant: "subtle",
9
+ size: "md"
10
+ });
11
+ const useBadgeContext = () => React.useContext(BadgeContext);
12
+ const Badge = React.forwardRef(
13
+ ({
14
+ action = "muted",
15
+ variant = "subtle",
16
+ size = "md",
17
+ className,
18
+ children,
19
+ ...props
20
+ }, ref) => {
21
+ const contextValue = React.useMemo(
22
+ () => ({
23
+ action,
24
+ variant,
25
+ size
26
+ }),
27
+ [action, variant, size]
28
+ );
29
+ return /* @__PURE__ */ jsx(BadgeContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
30
+ "div",
31
+ {
32
+ ref,
33
+ "data-action": action,
34
+ "data-variant": variant,
35
+ "data-size": size,
36
+ className: cn(badgeStyle({ action, variant, size }), className),
37
+ ...props,
38
+ children
39
+ }
40
+ ) });
41
+ }
42
+ );
43
+ Badge.displayName = "Badge";
44
+ const BadgeText = React.forwardRef(
45
+ ({ className, children, ...props }, ref) => {
46
+ return /* @__PURE__ */ jsx(
47
+ "span",
48
+ {
49
+ ref,
50
+ className: cn(badgeTextStyle(), className),
51
+ ...props,
52
+ children
53
+ }
54
+ );
55
+ }
56
+ );
57
+ BadgeText.displayName = "BadgeText";
58
+ const BadgeIcon = React.forwardRef(
59
+ ({ as: Component, className, children, ...props }, ref) => {
60
+ return /* @__PURE__ */ jsx(
61
+ "span",
62
+ {
63
+ ref,
64
+ className: cn("shrink-0 size-3", className),
65
+ ...props,
66
+ children: Component ? /* @__PURE__ */ jsx(Component, { className: "size-full" }) : children
67
+ }
68
+ );
69
+ }
70
+ );
71
+ BadgeIcon.displayName = "BadgeIcon";
72
+
73
+ export { Badge, BadgeIcon, BadgeText, useBadgeContext };
@@ -0,0 +1,15 @@
1
+ export declare const badgeStyle: (props?: ({
2
+ action?: string | boolean | undefined;
3
+ variant?: string | boolean | undefined;
4
+ size?: string | boolean | undefined;
5
+ } & {
6
+ class?: string;
7
+ className?: string;
8
+ }) | undefined) => string;
9
+ export declare const badgeTextStyle: (props?: ({
10
+ [x: string]: string | boolean | undefined;
11
+ } & {
12
+ class?: string;
13
+ className?: string;
14
+ }) | undefined) => string;
15
+ //# sourceMappingURL=Badge.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Badge/Badge.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU;;;;;;;yBAwErB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;yBAEzB,CAAC"}
@@ -0,0 +1,71 @@
1
+ import { tva } from '../../theme/config.js';
2
+
3
+ const badgeStyle = tva({
4
+ base: "inline-flex items-center justify-center font-sans font-medium rounded-full tracking-wide select-none",
5
+ variants: {
6
+ action: {
7
+ error: "",
8
+ warning: "",
9
+ success: "",
10
+ info: "",
11
+ muted: "",
12
+ CONFIRMED: "",
13
+ PROCESSING: "",
14
+ SHIPPED: "",
15
+ DELIVERED: "",
16
+ CANCELLED: ""
17
+ },
18
+ variant: {
19
+ solid: "",
20
+ outline: "bg-transparent border",
21
+ subtle: ""
22
+ },
23
+ size: {
24
+ sm: "px-2 py-0.5 text-[10px] gap-1",
25
+ md: "px-2.5 py-0.5 text-xs gap-1.5",
26
+ lg: "px-3 py-1 text-sm gap-2"
27
+ }
28
+ },
29
+ compoundVariants: [
30
+ { action: "error", variant: "solid", class: "bg-destructive text-destructive-foreground" },
31
+ { action: "error", variant: "outline", class: "border-destructive text-destructive" },
32
+ { action: "error", variant: "subtle", class: "bg-destructive/15 text-destructive" },
33
+ { action: "warning", variant: "solid", class: "bg-warning text-white" },
34
+ { action: "warning", variant: "outline", class: "border-warning text-warning" },
35
+ { action: "warning", variant: "subtle", class: "bg-warning/15 text-warning" },
36
+ { action: "success", variant: "solid", class: "bg-success text-white" },
37
+ { action: "success", variant: "outline", class: "border-success text-success" },
38
+ { action: "success", variant: "subtle", class: "bg-success/15 text-success" },
39
+ { action: "info", variant: "solid", class: "bg-info text-white" },
40
+ { action: "info", variant: "outline", class: "border-info text-info" },
41
+ { action: "info", variant: "subtle", class: "bg-info/15 text-info" },
42
+ { action: "muted", variant: "solid", class: "bg-muted text-muted-foreground" },
43
+ { action: "muted", variant: "outline", class: "border-border text-muted-foreground" },
44
+ { action: "muted", variant: "subtle", class: "bg-muted/40 text-muted-foreground" },
45
+ { action: "CONFIRMED", variant: "solid", class: "bg-primary text-primary-foreground" },
46
+ { action: "CONFIRMED", variant: "outline", class: "border-primary text-primary" },
47
+ { action: "CONFIRMED", variant: "subtle", class: "bg-primary/15 text-primary" },
48
+ { action: "PROCESSING", variant: "solid", class: "bg-warning text-white" },
49
+ { action: "PROCESSING", variant: "outline", class: "border-warning text-warning" },
50
+ { action: "PROCESSING", variant: "subtle", class: "bg-warning/15 text-warning" },
51
+ { action: "SHIPPED", variant: "solid", class: "bg-info text-white" },
52
+ { action: "SHIPPED", variant: "outline", class: "border-info text-info" },
53
+ { action: "SHIPPED", variant: "subtle", class: "bg-info/15 text-info" },
54
+ { action: "DELIVERED", variant: "solid", class: "bg-success text-white" },
55
+ { action: "DELIVERED", variant: "outline", class: "border-success text-success" },
56
+ { action: "DELIVERED", variant: "subtle", class: "bg-success/15 text-success" },
57
+ { action: "CANCELLED", variant: "solid", class: "bg-destructive text-destructive-foreground" },
58
+ { action: "CANCELLED", variant: "outline", class: "border-destructive text-destructive" },
59
+ { action: "CANCELLED", variant: "subtle", class: "bg-destructive/15 text-destructive" }
60
+ ],
61
+ defaultVariants: {
62
+ action: "muted",
63
+ variant: "subtle",
64
+ size: "md"
65
+ }
66
+ });
67
+ const badgeTextStyle = tva({
68
+ base: "leading-none font-semibold tracking-wide"
69
+ });
70
+
71
+ export { badgeStyle, badgeTextStyle };
@@ -0,0 +1,25 @@
1
+ import * as React from 'react';
2
+ export type BadgeAction = 'error' | 'warning' | 'success' | 'info' | 'muted' | 'CONFIRMED' | 'PROCESSING' | 'SHIPPED' | 'DELIVERED' | 'CANCELLED';
3
+ export type BadgeVariant = 'solid' | 'outline' | 'subtle';
4
+ export type BadgeSize = 'sm' | 'md' | 'lg';
5
+ export interface BadgeContextValue {
6
+ action?: BadgeAction;
7
+ variant?: BadgeVariant;
8
+ size?: BadgeSize;
9
+ }
10
+ export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement> {
11
+ action?: BadgeAction;
12
+ variant?: BadgeVariant;
13
+ size?: BadgeSize;
14
+ className?: string;
15
+ children?: React.ReactNode;
16
+ }
17
+ export interface BadgeTextProps extends React.HTMLAttributes<HTMLSpanElement> {
18
+ className?: string;
19
+ children?: React.ReactNode;
20
+ }
21
+ export interface BadgeIconProps extends React.HTMLAttributes<HTMLSpanElement> {
22
+ as?: React.ElementType;
23
+ className?: string;
24
+ }
25
+ //# sourceMappingURL=Badge.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.types.d.ts","sourceRoot":"","sources":["../../../src/components/Badge/Badge.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,SAAS,GACT,SAAS,GACT,MAAM,GACN,OAAO,GACP,WAAW,GACX,YAAY,GACZ,SAAS,GACT,WAAW,GACX,WAAW,CAAC;AAEhB,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC1D,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACtE,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IAC3E,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,4 @@
1
+ export * from './Badge';
2
+ export * from './Badge.types';
3
+ export * from './Badge.styles';
4
+ //# sourceMappingURL=index.d.ts.map