dash-ui-kit 1.0.94 → 2.1.0-dev

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 (201) hide show
  1. package/README.md +52 -0
  2. package/dist/react/components/accordion/index.cjs.js +193 -0
  3. package/dist/react/components/accordion/index.cjs.js.map +1 -0
  4. package/dist/react/components/accordion/index.esm.js +169 -0
  5. package/dist/react/components/accordion/index.esm.js.map +1 -0
  6. package/dist/react/components/avatar/index.cjs.js +39 -0
  7. package/dist/react/components/avatar/index.cjs.js.map +1 -0
  8. package/dist/react/components/avatar/index.esm.js +34 -0
  9. package/dist/react/components/avatar/index.esm.js.map +1 -0
  10. package/dist/react/components/badge/index.cjs.js +97 -0
  11. package/dist/react/components/badge/index.cjs.js.map +1 -0
  12. package/dist/react/components/badge/index.d.ts +10 -1
  13. package/dist/react/components/badge/index.esm.js +92 -0
  14. package/dist/react/components/badge/index.esm.js.map +1 -0
  15. package/dist/react/components/bigNumber/index.cjs.js +100 -0
  16. package/dist/react/components/bigNumber/index.cjs.js.map +1 -0
  17. package/dist/react/components/bigNumber/index.esm.js +95 -0
  18. package/dist/react/components/bigNumber/index.esm.js.map +1 -0
  19. package/dist/react/components/button/index.cjs.js +540 -0
  20. package/dist/react/components/button/index.cjs.js.map +1 -0
  21. package/dist/react/components/button/index.d.ts +7 -1
  22. package/dist/react/components/button/index.esm.js +535 -0
  23. package/dist/react/components/button/index.esm.js.map +1 -0
  24. package/dist/react/components/copyButton/index.cjs.js +95 -0
  25. package/dist/react/components/copyButton/index.cjs.js.map +1 -0
  26. package/dist/react/components/copyButton/index.esm.js +71 -0
  27. package/dist/react/components/copyButton/index.esm.js.map +1 -0
  28. package/dist/react/components/dashLogo/index.cjs.js +74 -0
  29. package/dist/react/components/dashLogo/index.cjs.js.map +1 -0
  30. package/dist/react/components/dashLogo/index.esm.js +69 -0
  31. package/dist/react/components/dashLogo/index.esm.js.map +1 -0
  32. package/dist/react/components/dateBlock/index.cjs.js +120 -0
  33. package/dist/react/components/dateBlock/index.cjs.js.map +1 -0
  34. package/dist/react/components/dateBlock/index.esm.js +115 -0
  35. package/dist/react/components/dateBlock/index.esm.js.map +1 -0
  36. package/dist/react/components/dialog/index.cjs.js +292 -0
  37. package/dist/react/components/dialog/index.cjs.js.map +1 -0
  38. package/dist/react/components/dialog/index.esm.js +270 -0
  39. package/dist/react/components/dialog/index.esm.js.map +1 -0
  40. package/dist/react/components/heading/index.cjs.js +65 -0
  41. package/dist/react/components/heading/index.cjs.js.map +1 -0
  42. package/dist/react/components/heading/index.d.ts +4 -1
  43. package/dist/react/components/heading/index.esm.js +63 -0
  44. package/dist/react/components/heading/index.esm.js.map +1 -0
  45. package/dist/react/components/icons/index.cjs.js +1173 -0
  46. package/dist/react/components/icons/index.cjs.js.map +1 -0
  47. package/dist/react/components/icons/index.d.ts +2 -0
  48. package/dist/react/components/icons/index.esm.js +1128 -0
  49. package/dist/react/components/icons/index.esm.js.map +1 -0
  50. package/dist/react/components/identifier/index.cjs.js +286 -0
  51. package/dist/react/components/identifier/index.cjs.js.map +1 -0
  52. package/dist/react/components/identifier/index.esm.js +282 -0
  53. package/dist/react/components/identifier/index.esm.js.map +1 -0
  54. package/dist/react/components/index.cjs.js +101 -0
  55. package/dist/react/components/index.cjs.js.map +1 -0
  56. package/dist/react/components/index.d.ts +1 -1
  57. package/dist/react/components/index.esm.js +29 -0
  58. package/dist/react/components/index.esm.js.map +1 -0
  59. package/dist/react/components/input/index.cjs.js +242 -0
  60. package/dist/react/components/input/index.cjs.js.map +1 -0
  61. package/dist/react/components/input/index.d.ts +4 -0
  62. package/dist/react/components/input/index.esm.js +237 -0
  63. package/dist/react/components/input/index.esm.js.map +1 -0
  64. package/dist/react/components/list/index.cjs.js +49 -0
  65. package/dist/react/components/list/index.cjs.js.map +1 -0
  66. package/dist/react/components/list/index.esm.js +47 -0
  67. package/dist/react/components/list/index.esm.js.map +1 -0
  68. package/dist/react/components/notActive/index.cjs.js +40 -0
  69. package/dist/react/components/notActive/index.cjs.js.map +1 -0
  70. package/dist/react/components/notActive/index.esm.js +38 -0
  71. package/dist/react/components/notActive/index.esm.js.map +1 -0
  72. package/dist/react/components/overlayMenu/index.cjs.js +469 -0
  73. package/dist/react/components/overlayMenu/index.cjs.js.map +1 -0
  74. package/dist/react/components/overlayMenu/index.d.ts +9 -10
  75. package/dist/react/components/overlayMenu/index.esm.js +464 -0
  76. package/dist/react/components/overlayMenu/index.esm.js.map +1 -0
  77. package/dist/react/components/overlaySelect/index.cjs.js +350 -0
  78. package/dist/react/components/overlaySelect/index.cjs.js.map +1 -0
  79. package/dist/react/components/overlaySelect/index.d.ts +4 -0
  80. package/dist/react/components/overlaySelect/index.esm.js +345 -0
  81. package/dist/react/components/overlaySelect/index.esm.js.map +1 -0
  82. package/dist/react/components/progressStepBar/index.cjs.js +54 -0
  83. package/dist/react/components/progressStepBar/index.cjs.js.map +1 -0
  84. package/dist/react/components/progressStepBar/index.d.ts +5 -2
  85. package/dist/react/components/progressStepBar/index.esm.js +52 -0
  86. package/dist/react/components/progressStepBar/index.esm.js.map +1 -0
  87. package/dist/react/components/select/index.cjs.js +241 -0
  88. package/dist/react/components/select/index.cjs.js.map +1 -0
  89. package/dist/react/components/select/index.d.ts +4 -0
  90. package/dist/react/components/select/index.esm.js +217 -0
  91. package/dist/react/components/select/index.esm.js.map +1 -0
  92. package/dist/react/components/switch/index.cjs.js +184 -0
  93. package/dist/react/components/switch/index.cjs.js.map +1 -0
  94. package/dist/react/components/switch/index.esm.js +179 -0
  95. package/dist/react/components/switch/index.esm.js.map +1 -0
  96. package/dist/react/components/tabs/index.cjs.js +178 -0
  97. package/dist/react/components/tabs/index.cjs.js.map +1 -0
  98. package/dist/react/components/tabs/index.esm.js +154 -0
  99. package/dist/react/components/tabs/index.esm.js.map +1 -0
  100. package/dist/react/components/text/index.cjs.js +126 -0
  101. package/dist/react/components/text/index.cjs.js.map +1 -0
  102. package/dist/react/components/text/index.d.ts +5 -0
  103. package/dist/react/components/text/index.esm.js +121 -0
  104. package/dist/react/components/text/index.esm.js.map +1 -0
  105. package/dist/react/components/textarea/index.cjs.js +260 -0
  106. package/dist/react/components/textarea/index.cjs.js.map +1 -0
  107. package/dist/react/components/textarea/index.d.ts +4 -0
  108. package/dist/react/components/textarea/index.esm.js +255 -0
  109. package/dist/react/components/textarea/index.esm.js.map +1 -0
  110. package/dist/react/components/timeDelta/index.cjs.js +93 -0
  111. package/dist/react/components/timeDelta/index.cjs.js.map +1 -0
  112. package/dist/react/components/timeDelta/index.d.ts +1 -1
  113. package/dist/react/components/timeDelta/index.esm.js +88 -0
  114. package/dist/react/components/timeDelta/index.esm.js.map +1 -0
  115. package/dist/react/components/transactionStatusIcon/index.cjs.js +59 -0
  116. package/dist/react/components/transactionStatusIcon/index.cjs.js.map +1 -0
  117. package/dist/react/components/transactionStatusIcon/index.esm.js +54 -0
  118. package/dist/react/components/transactionStatusIcon/index.esm.js.map +1 -0
  119. package/dist/react/components/valueCard/index.cjs.js +181 -0
  120. package/dist/react/components/valueCard/index.cjs.js.map +1 -0
  121. package/dist/react/components/valueCard/index.d.ts +5 -1
  122. package/dist/react/components/valueCard/index.esm.js +176 -0
  123. package/dist/react/components/valueCard/index.esm.js.map +1 -0
  124. package/dist/react/contexts/ThemeContext.cjs.js +79 -0
  125. package/dist/react/contexts/ThemeContext.cjs.js.map +1 -0
  126. package/dist/react/contexts/ThemeContext.esm.js +76 -0
  127. package/dist/react/contexts/ThemeContext.esm.js.map +1 -0
  128. package/dist/react/contexts/index.cjs.js +11 -0
  129. package/dist/react/contexts/index.cjs.js.map +1 -0
  130. package/dist/react/contexts/index.esm.js +4 -0
  131. package/dist/react/contexts/index.esm.js.map +1 -0
  132. package/dist/react/hooks/index.d.ts +1 -0
  133. package/dist/react/hooks/useColorScheme.cjs.js +25 -0
  134. package/dist/react/hooks/useColorScheme.cjs.js.map +1 -0
  135. package/dist/react/hooks/useColorScheme.d.ts +9 -0
  136. package/dist/react/hooks/useColorScheme.esm.js +23 -0
  137. package/dist/react/hooks/useColorScheme.esm.js.map +1 -0
  138. package/dist/react/hooks/useDebounce.cjs.js +83 -0
  139. package/dist/react/hooks/useDebounce.cjs.js.map +1 -0
  140. package/dist/react/hooks/useDebounce.esm.js +78 -0
  141. package/dist/react/hooks/useDebounce.esm.js.map +1 -0
  142. package/dist/react/index.cjs.js +99 -12833
  143. package/dist/react/index.cjs.js.map +1 -1
  144. package/dist/react/index.d.ts +1 -1
  145. package/dist/react/index.esm.js +27 -12747
  146. package/dist/react/index.esm.js.map +1 -1
  147. package/dist/react/shared/utils/datetime.cjs.js +59 -0
  148. package/dist/react/shared/utils/datetime.cjs.js.map +1 -0
  149. package/dist/react/shared/utils/datetime.esm.js +57 -0
  150. package/dist/react/shared/utils/datetime.esm.js.map +1 -0
  151. package/dist/react/utils/copyToClipboard.cjs.js +31 -0
  152. package/dist/react/utils/copyToClipboard.cjs.js.map +1 -0
  153. package/dist/react/utils/copyToClipboard.esm.js +26 -0
  154. package/dist/react/utils/copyToClipboard.esm.js.map +1 -0
  155. package/dist/react/utils/index.d.ts +1 -1
  156. package/dist/react-native/components/avatar/index.d.ts +26 -0
  157. package/dist/react-native/components/avatar/index.web.d.ts +24 -0
  158. package/dist/react-native/components/badge/index.d.ts +63 -0
  159. package/dist/react-native/components/bigNumber/index.d.ts +26 -0
  160. package/dist/react-native/components/button/index.d.ts +45 -0
  161. package/dist/react-native/components/copyButton/index.d.ts +22 -0
  162. package/dist/react-native/components/copyButton/index.web.d.ts +20 -0
  163. package/dist/react-native/components/dashLogo/index.d.ts +30 -0
  164. package/dist/react-native/components/heading/index.d.ts +25 -0
  165. package/dist/react-native/components/icons/index.d.ts +43 -0
  166. package/dist/react-native/components/identifier/index.d.ts +47 -0
  167. package/dist/react-native/components/index.d.ts +15 -0
  168. package/dist/react-native/components/input/index.d.ts +59 -0
  169. package/dist/react-native/components/notActive/index.d.ts +16 -0
  170. package/dist/react-native/components/tabs/index.d.ts +50 -0
  171. package/dist/react-native/components/text/index.d.ts +28 -0
  172. package/dist/react-native/components/transactionStatusIcon/index.d.ts +24 -0
  173. package/dist/react-native/components/valueCard/index.d.ts +47 -0
  174. package/dist/react-native/hooks/index.d.ts +1 -0
  175. package/dist/react-native/hooks/useDebounce.d.ts +43 -0
  176. package/dist/react-native/index.cjs.js +2882 -0
  177. package/dist/react-native/index.cjs.js.map +1 -0
  178. package/dist/react-native/index.d.ts +4 -0
  179. package/dist/react-native/index.esm.js +2833 -0
  180. package/dist/react-native/index.esm.js.map +1 -0
  181. package/dist/react-native/styles/index.d.ts +11 -0
  182. package/dist/react-native/styles/tokens.d.ts +308 -0
  183. package/dist/react-native/styles/utils.d.ts +65 -0
  184. package/dist/react-native/utils/clipboard.d.ts +27 -0
  185. package/dist/react-native/utils/index.d.ts +3 -0
  186. package/dist/react-native/utils/resolveColorScheme.d.ts +1 -0
  187. package/dist/react-native/utils/tw.d.ts +7 -0
  188. package/dist/shared/constants/colors.d.ts +25 -0
  189. package/dist/shared/constants/index.d.ts +2 -0
  190. package/dist/shared/constants/sizes.d.ts +49 -0
  191. package/dist/shared/index.cjs.js +171 -0
  192. package/dist/shared/index.cjs.js.map +1 -0
  193. package/dist/shared/index.d.ts +3 -0
  194. package/dist/shared/index.esm.js +161 -0
  195. package/dist/shared/index.esm.js.map +1 -0
  196. package/dist/shared/types/common.d.ts +33 -0
  197. package/dist/shared/types/index.d.ts +1 -0
  198. package/dist/shared/utils/index.d.ts +1 -0
  199. package/dist/styles.css +1 -1
  200. package/package.json +50 -8
  201. /package/dist/{react → shared}/utils/datetime.d.ts +0 -0
@@ -0,0 +1,59 @@
1
+ import React from 'react';
2
+ import { TextInputProps, ViewStyle, TextStyle } from 'react-native';
3
+ import { VariantProps } from 'class-variance-authority';
4
+ declare const inputStyles: (props?: ({
5
+ colorScheme?: "default" | "brand" | "error" | "success" | "light-gray" | null | undefined;
6
+ size?: "sm" | "md" | "xl" | null | undefined;
7
+ variant?: "outlined" | "filled" | null | undefined;
8
+ disabled?: boolean | null | undefined;
9
+ } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
10
+ type InputVariants = VariantProps<typeof inputStyles>;
11
+ export interface InputProps extends Omit<TextInputProps, 'editable'>, Omit<InputVariants, 'disabled'> {
12
+ /** Light or dark theme */
13
+ theme?: 'light' | 'dark';
14
+ /** Color scheme override for light theme */
15
+ colorSchemeLight?: 'default' | 'brand' | 'error' | 'success' | 'light-gray';
16
+ /** Color scheme override for dark theme */
17
+ colorSchemeDark?: 'default' | 'brand' | 'error' | 'success' | 'light-gray';
18
+ className?: string;
19
+ error?: boolean;
20
+ success?: boolean;
21
+ disabled?: boolean;
22
+ /**
23
+ * Prefix text or React element displayed before the input content
24
+ */
25
+ prefix?: string | React.ReactNode;
26
+ /**
27
+ * Style object for the prefix element
28
+ */
29
+ prefixStyle?: TextStyle;
30
+ /**
31
+ * Controls visibility toggle for password inputs. When false, the eye icon is hidden.
32
+ * Defaults to true.
33
+ */
34
+ showPasswordToggle?: boolean;
35
+ /**
36
+ * Custom container style (overrides Tailwind classes)
37
+ */
38
+ style?: ViewStyle;
39
+ /**
40
+ * Custom text style for input text (overrides Tailwind text classes)
41
+ */
42
+ textStyle?: TextStyle;
43
+ }
44
+ /**
45
+ * React Native Input component that adapts to various color schemes, sizes, variants, and states.
46
+ * For password inputs (secureTextEntry), includes a toggleable eye icon.
47
+ * Supports prefix text or elements before input content.
48
+ *
49
+ * @example
50
+ * <Input
51
+ * secureTextEntry
52
+ * placeholder="Enter password"
53
+ * colorScheme="brand"
54
+ * size="xl"
55
+ * prefix="https://"
56
+ * />
57
+ */
58
+ export declare const Input: React.FC<InputProps>;
59
+ export default Input;
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { TextProps, TextStyle } from 'react-native';
3
+ export interface NotActiveProps extends Omit<TextProps, 'style'> {
4
+ children?: React.ReactNode;
5
+ className?: string;
6
+ /** Light or dark theme */
7
+ theme?: 'light' | 'dark';
8
+ /** Custom text style (overrides Tailwind classes) */
9
+ style?: TextStyle;
10
+ }
11
+ /**
12
+ * NotActive component for React Native
13
+ * Shows "n/a" text with theme-aware styling
14
+ */
15
+ export declare function NotActive({ children, className, theme, style, ...props }: NotActiveProps): React.JSX.Element;
16
+ export default NotActive;
@@ -0,0 +1,50 @@
1
+ import React from 'react';
2
+ import { ViewStyle, TextStyle } from 'react-native';
3
+ export interface TabItem {
4
+ /** Unique identifier for the tab */
5
+ value: string;
6
+ /** Label text to display */
7
+ label: string;
8
+ /** Content to render when tab is active */
9
+ content: React.ReactNode;
10
+ /** Whether this tab is disabled */
11
+ disabled?: boolean;
12
+ }
13
+ export interface TabsProps {
14
+ /** Array of tab items */
15
+ items: TabItem[];
16
+ /** Currently active tab value (controlled) */
17
+ value?: string;
18
+ /** Default active tab value (uncontrolled) */
19
+ defaultValue?: string;
20
+ /** Callback when active tab changes */
21
+ onValueChange?: (value: string) => void;
22
+ /** Size variant */
23
+ size?: 'sm' | 'lg' | 'xl';
24
+ /** Theme variant */
25
+ theme?: 'light' | 'dark';
26
+ /** Additional CSS classes for the root container */
27
+ className?: string;
28
+ /** Additional CSS classes for the tabs list */
29
+ listClassName?: string;
30
+ /** Additional CSS classes for tab triggers */
31
+ triggerClassName?: string;
32
+ /** Additional CSS classes for tab content */
33
+ contentClassName?: string;
34
+ /** Custom container style (overrides Tailwind classes) */
35
+ style?: ViewStyle;
36
+ /** Custom tabs list style (overrides Tailwind classes) */
37
+ listStyle?: ViewStyle;
38
+ /** Custom tab trigger style (overrides Tailwind classes) */
39
+ triggerStyle?: ViewStyle;
40
+ /** Custom tab content style (overrides Tailwind classes) */
41
+ contentStyle?: ViewStyle;
42
+ /** Custom tab text style (overrides Tailwind text classes) */
43
+ textStyle?: TextStyle;
44
+ }
45
+ /**
46
+ * React Native Tabs component with sleek underline style matching Figma design.
47
+ * Features horizontal scrolling, light/dark theme support, and touch interactions.
48
+ */
49
+ export declare const Tabs: React.FC<TabsProps>;
50
+ export default Tabs;
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import { TextProps as RNTextProps, TextStyle } from 'react-native';
3
+ import { VariantProps } from 'class-variance-authority';
4
+ declare const textStyles: (props?: ({
5
+ variant?: "body" | "caption" | "label" | null | undefined;
6
+ weight?: "regular" | "medium" | "semibold" | "bold" | null | undefined;
7
+ color?: "default" | "blue" | "red" | "gray" | null | undefined;
8
+ italic?: boolean | null | undefined;
9
+ underline?: boolean | null | undefined;
10
+ lineThrough?: boolean | null | undefined;
11
+ transform?: "none" | "uppercase" | "capitalize" | null | undefined;
12
+ opacity?: 100 | 80 | 60 | 40 | null | undefined;
13
+ } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
14
+ type TextVariants = VariantProps<typeof textStyles>;
15
+ export interface TextProps extends Omit<RNTextProps, 'style'>, TextVariants {
16
+ /** Additional Tailwind classes for styling */
17
+ className?: string;
18
+ /** Custom text style (overrides Tailwind classes) */
19
+ style?: TextStyle;
20
+ /** Text children */
21
+ children?: React.ReactNode;
22
+ }
23
+ /**
24
+ * React Native Text component with variants, weights, and styling options.
25
+ * Uses twrnc for Tailwind-like styling converted to React Native styles.
26
+ */
27
+ export declare const Text: React.FC<TextProps>;
28
+ export default Text;
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { IconProps } from '../icons';
3
+ /**
4
+ * Available status keys for which an icon will be rendered.
5
+ */
6
+ export type StatusKey = 'SUCCESS' | 'FAIL' | 'QUEUED' | 'POOLED' | 'BROADCASTED';
7
+ /**
8
+ * Props for the TransactionStatusIcon component.
9
+ */
10
+ export interface TransactionStatusIconProps extends Omit<IconProps, 'color'> {
11
+ /** Which status icon to show. */
12
+ status: StatusKey;
13
+ /** Optional override for icon color. */
14
+ color?: string;
15
+ /** Theme for default color selection. */
16
+ theme?: 'light' | 'dark';
17
+ }
18
+ /**
19
+ * Renders an icon corresponding to the given `status`.
20
+ * If `status` is not recognized, returns null.
21
+ * Colors adapt to light/dark theme unless overridden.
22
+ */
23
+ export declare const TransactionStatusIcon: React.FC<TransactionStatusIconProps>;
24
+ export default TransactionStatusIcon;
@@ -0,0 +1,47 @@
1
+ import React from 'react';
2
+ import { ViewStyle, PressableProps } from 'react-native';
3
+ import { VariantProps } from 'class-variance-authority';
4
+ /**
5
+ * ValueCard CVA - twrnc-compatible classes.
6
+ * dash-block-sm/md/xl expanded: px-3 py-2 rounded-[10px], px-[18px] py-3 rounded-[14px], px-[25px] py-5 rounded-[16px]
7
+ * hover: classes omitted (RN uses Pressable opacity for press feedback)
8
+ */
9
+ declare const valueCardStyles: (props?: ({
10
+ theme?: "light" | "dark" | null | undefined;
11
+ colorScheme?: "default" | "green" | "lightBlue" | "lightGray" | "white" | "transparent" | "yellow" | null | undefined;
12
+ size?: "sm" | "md" | "xl" | "xs" | null | undefined;
13
+ clickable?: boolean | null | undefined;
14
+ loading?: boolean | null | undefined;
15
+ border?: boolean | null | undefined;
16
+ } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
17
+ type ValueCardVariants = VariantProps<typeof valueCardStyles>;
18
+ export interface ValueCardProps extends Omit<PressableProps, 'style'>, Omit<ValueCardVariants, 'theme'> {
19
+ /** Theme - light or dark. Default: 'light' */
20
+ theme?: 'light' | 'dark';
21
+ /** Color scheme */
22
+ colorScheme?: 'default' | 'transparent' | 'green' | 'lightBlue' | 'white' | 'lightGray' | 'yellow';
23
+ /** Color scheme override for light theme */
24
+ colorSchemeLight?: 'default' | 'transparent' | 'green' | 'lightBlue' | 'white' | 'lightGray' | 'yellow';
25
+ /** Color scheme override for dark theme */
26
+ colorSchemeDark?: 'default' | 'transparent' | 'green' | 'lightBlue' | 'white' | 'lightGray' | 'yellow';
27
+ /** Size variant */
28
+ size?: 'xs' | 'sm' | 'md' | 'xl';
29
+ /** Whether the card is clickable (shows press feedback) */
30
+ clickable?: boolean;
31
+ /** Show loading state with ActivityIndicator */
32
+ loading?: boolean;
33
+ /** Show border. Default: true */
34
+ border?: boolean;
35
+ /** Additional Tailwind classes */
36
+ className?: string;
37
+ /** Custom container style (overrides Tailwind classes) */
38
+ style?: ViewStyle;
39
+ /** Card content */
40
+ children: React.ReactNode;
41
+ }
42
+ /**
43
+ * React Native ValueCard - card container with theme, color schemes, sizes,
44
+ * clickability, loading state, and optional border.
45
+ */
46
+ export declare const ValueCard: React.FC<ValueCardProps>;
47
+ export default ValueCard;
@@ -0,0 +1 @@
1
+ export * from './useDebounce';
@@ -0,0 +1,43 @@
1
+ interface UseDebounceOptions<T> {
2
+ /**
3
+ * Delay in milliseconds
4
+ */
5
+ delay: number;
6
+ /**
7
+ * Callback called when debounced value changes
8
+ */
9
+ callback?: (value: T) => void;
10
+ /**
11
+ * If true, the value will be set immediately on first call
12
+ */
13
+ immediate?: boolean;
14
+ }
15
+ interface UseDebounceReturn<T> {
16
+ /**
17
+ * Current debounced value
18
+ */
19
+ debouncedValue: T;
20
+ /**
21
+ * Function to force flush debounce and immediately update value
22
+ */
23
+ flush: () => void;
24
+ /**
25
+ * Function to cancel current pending debounce
26
+ */
27
+ cancel: () => void;
28
+ /**
29
+ * Whether there's a pending change
30
+ */
31
+ isPending: boolean;
32
+ }
33
+ /**
34
+ * Hook for debouncing values with extended functionality
35
+ * React Native compatible version
36
+ *
37
+ * @param value - Value to debounce
38
+ * @param options - Configuration options
39
+ * @returns Object with debounced value and control methods
40
+ */
41
+ declare const useDebounce: <T>(value: T, options: UseDebounceOptions<T> | number) => UseDebounceReturn<T>;
42
+ export default useDebounce;
43
+ export { useDebounce };