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
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ type BadgeColor = 'blue' | 'white' | 'gray' | 'light-gray' | 'turquoise' | 'red' | 'orange';
2
3
  export interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
3
4
  /**
4
5
  * Content of the badge
@@ -11,7 +12,15 @@ export interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
11
12
  /**
12
13
  * Color theme
13
14
  */
14
- color?: 'blue' | 'white' | 'gray' | 'light-gray' | 'turquoise' | 'red' | 'orange';
15
+ color?: BadgeColor;
16
+ /**
17
+ * Color override for light theme
18
+ */
19
+ colorLight?: BadgeColor;
20
+ /**
21
+ * Color override for dark theme
22
+ */
23
+ colorDark?: BadgeColor;
15
24
  /**
16
25
  * Size of the badge
17
26
  */
@@ -0,0 +1,92 @@
1
+ "use client";
2
+
3
+ import { __rest } from 'tslib';
4
+ import { jsx } from 'react/jsx-runtime';
5
+ import { useColorScheme } from '../../hooks/useColorScheme.esm.js';
6
+
7
+ const Badge = _a => {
8
+ var _b;
9
+ var {
10
+ children,
11
+ variant = 'default',
12
+ color,
13
+ colorLight,
14
+ colorDark,
15
+ size = 'sm',
16
+ borderRadius,
17
+ className = '',
18
+ onClick
19
+ } = _a,
20
+ props = __rest(_a, ["children", "variant", "color", "colorLight", "colorDark", "size", "borderRadius", "className", "onClick"]);
21
+ const effectiveColor = (_b = useColorScheme(color, colorLight, colorDark)) !== null && _b !== void 0 ? _b : 'blue';
22
+ const baseClasses = 'inline-flex items-center justify-center font-medium transition-colors';
23
+ // Size classes with default border radius
24
+ const sizeClasses = {
25
+ xxs: 'px-1 py-1 text-xs gap-2 rounded-full',
26
+ xs: 'px-[0.5rem] py-[0.25rem] text-xs rounded-full',
27
+ sm: 'px-[2.125rem] py-[0.625rem] text-xs rounded-full',
28
+ xl: 'px-[2.25rem] py-4 text-lg rounded-full'
29
+ };
30
+ // Border radius classes (overrides size border radius)
31
+ const borderRadiusClasses = {
32
+ xs: 'rounded-[0.25rem]'
33
+ };
34
+ // Color and variant combination classes
35
+ const getVariantClasses = () => {
36
+ const colorMap = {
37
+ blue: {
38
+ default: 'text-[#4C7EFF]',
39
+ flat: 'bg-[rgba(76,126,255,0.15)] text-[#4C7EFF]',
40
+ solid: 'bg-[#4C7EFF] text-white',
41
+ bordered: 'outline outline-1 outline-[#4C7EFF] text-[#4C7EFF]'
42
+ },
43
+ white: {
44
+ default: 'text-white',
45
+ flat: 'bg-[rgba(255,255,255,0.15)] text-white',
46
+ solid: 'bg-white text-[#0C1C33]',
47
+ bordered: 'outline outline-1 outline-white text-white'
48
+ },
49
+ gray: {
50
+ default: 'text-[#0C1C33]',
51
+ flat: 'bg-[rgba(12,28,51,0.15)] text-[#0C1C33]',
52
+ solid: 'bg-[#0C1C33] text-white',
53
+ bordered: 'outline outline-1 outline-[#0C1C33] text-[#0C1C33]'
54
+ },
55
+ 'light-gray': {
56
+ default: 'text-[#6B7280]',
57
+ flat: 'bg-[#0C1C33]/5 text-[#0C1C33]',
58
+ solid: 'bg-[#0C1C33]/15 text-[#0C1C33]',
59
+ bordered: 'outline outline-1 outline-[#6B7280] text-[#6B7280]'
60
+ },
61
+ turquoise: {
62
+ default: 'text-[#60F6D2]',
63
+ flat: 'bg-[rgba(96,246,210,0.15)] text-[#60F6D2]',
64
+ solid: 'bg-[#60F6D2] text-[#0C1C33]',
65
+ bordered: 'outline outline-1 outline-[#60F6D2] text-[#60F6D2]'
66
+ },
67
+ red: {
68
+ default: 'text-[#CD2E00]',
69
+ flat: 'bg-[rgba(205,46,0,0.15)] text-[#CD2E00]',
70
+ solid: 'bg-[#CD2E00] text-white',
71
+ bordered: 'outline outline-1 outline-[#CD2E00] text-[#CD2E00]'
72
+ },
73
+ orange: {
74
+ default: 'text-[#F98F12]',
75
+ flat: 'bg-[rgba(249,143,18,0.15)] text-[#F98F12]',
76
+ solid: 'bg-[#F98F12] text-white',
77
+ bordered: 'outline outline-1 outline-[#F98F12] text-[#F98F12]'
78
+ }
79
+ };
80
+ return colorMap[effectiveColor][variant];
81
+ };
82
+ const classes = [baseClasses, sizeClasses[size], getVariantClasses(), borderRadius && borderRadiusClasses[borderRadius], className].filter(Boolean).join(' ');
83
+ return jsx("span", Object.assign({
84
+ className: classes,
85
+ onClick: onClick
86
+ }, props, {
87
+ children: children
88
+ }));
89
+ };
90
+
91
+ export { Badge, Badge as default };
92
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../src/react/components/badge/index.tsx"],"sourcesContent":["import React from 'react';\nimport { useColorScheme } from '../../hooks/useColorScheme'\n\ntype BadgeColor = 'blue' | 'white' | 'gray' | 'light-gray' | 'turquoise' | 'red' | 'orange'\n\nexport interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {\n /**\n * Content of the badge\n */\n children: React.ReactNode;\n\n /**\n * Visual style variant\n */\n variant?: 'default' | 'flat' | 'solid' | 'bordered';\n\n /**\n * Color theme\n */\n color?: BadgeColor;\n\n /**\n * Color override for light theme\n */\n colorLight?: BadgeColor;\n\n /**\n * Color override for dark theme\n */\n colorDark?: BadgeColor;\n\n /**\n * Size of the badge\n */\n size?: 'xxs' | 'xs' | 'sm' | 'xl';\n\n /**\n * Border radius variant\n */\n borderRadius?: 'xs';\n\n /**\n * Additional CSS class name\n */\n className?: string;\n\n /**\n * Click handler\n */\n onClick?: React.MouseEventHandler<HTMLSpanElement>;\n}\n\nexport const Badge: React.FC<BadgeProps> = ({\n children,\n variant = 'default',\n color,\n colorLight,\n colorDark,\n size = 'sm',\n borderRadius,\n className = '',\n onClick,\n ...props\n}) => {\n const effectiveColor = useColorScheme(color, colorLight, colorDark) ?? 'blue'\n const baseClasses = 'inline-flex items-center justify-center font-medium transition-colors';\n \n // Size classes with default border radius\n const sizeClasses = {\n xxs: 'px-1 py-1 text-xs gap-2 rounded-full',\n xs: 'px-[0.5rem] py-[0.25rem] text-xs rounded-full',\n sm: 'px-[2.125rem] py-[0.625rem] text-xs rounded-full',\n xl: 'px-[2.25rem] py-4 text-lg rounded-full',\n }\n\n // Border radius classes (overrides size border radius)\n const borderRadiusClasses = {\n xs: 'rounded-[0.25rem]',\n }\n \n // Color and variant combination classes\n const getVariantClasses = () => {\n const colorMap = {\n blue: {\n default: 'text-[#4C7EFF]',\n flat: 'bg-[rgba(76,126,255,0.15)] text-[#4C7EFF]',\n solid: 'bg-[#4C7EFF] text-white',\n bordered: 'outline outline-1 outline-[#4C7EFF] text-[#4C7EFF]',\n },\n white: {\n default: 'text-white',\n flat: 'bg-[rgba(255,255,255,0.15)] text-white',\n solid: 'bg-white text-[#0C1C33]',\n bordered: 'outline outline-1 outline-white text-white',\n },\n gray: {\n default: 'text-[#0C1C33]',\n flat: 'bg-[rgba(12,28,51,0.15)] text-[#0C1C33]',\n solid: 'bg-[#0C1C33] text-white',\n bordered: 'outline outline-1 outline-[#0C1C33] text-[#0C1C33]',\n },\n 'light-gray': {\n default: 'text-[#6B7280]',\n flat: 'bg-[#0C1C33]/5 text-[#0C1C33]',\n solid: 'bg-[#0C1C33]/15 text-[#0C1C33]',\n bordered: 'outline outline-1 outline-[#6B7280] text-[#6B7280]',\n },\n turquoise: {\n default: 'text-[#60F6D2]',\n flat: 'bg-[rgba(96,246,210,0.15)] text-[#60F6D2]',\n solid: 'bg-[#60F6D2] text-[#0C1C33]',\n bordered: 'outline outline-1 outline-[#60F6D2] text-[#60F6D2]',\n },\n red: {\n default: 'text-[#CD2E00]',\n flat: 'bg-[rgba(205,46,0,0.15)] text-[#CD2E00]',\n solid: 'bg-[#CD2E00] text-white',\n bordered: 'outline outline-1 outline-[#CD2E00] text-[#CD2E00]',\n },\n orange: {\n default: 'text-[#F98F12]',\n flat: 'bg-[rgba(249,143,18,0.15)] text-[#F98F12]',\n solid: 'bg-[#F98F12] text-white',\n bordered: 'outline outline-1 outline-[#F98F12] text-[#F98F12]',\n },\n }\n \n return colorMap[effectiveColor][variant];\n }\n \n const classes = [\n baseClasses,\n sizeClasses[size],\n getVariantClasses(),\n borderRadius && borderRadiusClasses[borderRadius],\n className,\n ].filter(Boolean).join(' ')\n \n return (\n <span className={classes} onClick={onClick} {...props}>\n {children}\n </span>\n )\n}\n\nexport default Badge\n"],"names":["Badge","_a","children","variant","color","colorLight","colorDark","size","borderRadius","className","onClick","props","__rest","effectiveColor","_b","useColorScheme","baseClasses","sizeClasses","xxs","xs","sm","xl","borderRadiusClasses","getVariantClasses","colorMap","blue","default","flat","solid","bordered","white","gray","turquoise","red","orange","classes","filter","Boolean","join","_jsx","Object","assign"],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ "use client";
2
+
3
+ 'use strict';
4
+
5
+ Object.defineProperty(exports, '__esModule', { value: true });
6
+
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+ var classVarianceAuthority = require('class-variance-authority');
9
+ var ThemeContext = require('../../contexts/ThemeContext.cjs.js');
10
+
11
+ const bigNumberStyles = classVarianceAuthority.cva('inline-flex whitespace-nowrap gap-1', {
12
+ variants: {
13
+ theme: {
14
+ light: 'text-gray-900',
15
+ dark: 'text-gray-100'
16
+ }
17
+ },
18
+ defaultVariants: {
19
+ theme: 'light'
20
+ }
21
+ });
22
+ /**
23
+ * Splits a numeric string into groups of three characters for display.
24
+ * Supports two variants:
25
+ * - `space`: groups separated by gap
26
+ * - `comma`: groups separated by commas, with decimal part after `.`
27
+ * Supports light/dark theme.
28
+ */
29
+ const BigNumber = ({
30
+ children,
31
+ variant = 'space',
32
+ className = '',
33
+ decimalPointSpacing = -2
34
+ }) => {
35
+ const {
36
+ theme
37
+ } = ThemeContext.useTheme();
38
+ const decimalPointStyle = {
39
+ marginLeft: `${decimalPointSpacing}px`,
40
+ marginRight: `${decimalPointSpacing}px`
41
+ };
42
+ if (children === undefined || children === null) return null;
43
+ const str = children.toString();
44
+ if (variant === 'space') {
45
+ // Split into integer and decimal parts
46
+ const [intPart, fracPart] = str.split('.');
47
+ // group digits every 3, right to left (only for integer part)
48
+ const groups = intPart.split('').reverse().reduce((acc, char, idx) => {
49
+ if (idx % 3 === 0) acc.unshift('');
50
+ acc[0] = char + acc[0];
51
+ return acc;
52
+ }, []);
53
+ return jsxRuntime.jsxs("span", {
54
+ className: `${bigNumberStyles({
55
+ theme
56
+ })} ${className}`,
57
+ children: [groups.map((grp, i) => jsxRuntime.jsx("span", {
58
+ children: grp
59
+ }, i)), fracPart != null && jsxRuntime.jsxs(jsxRuntime.Fragment, {
60
+ children: [jsxRuntime.jsx("span", {
61
+ style: decimalPointStyle,
62
+ children: "."
63
+ }), jsxRuntime.jsx("span", {
64
+ children: fracPart
65
+ })]
66
+ })]
67
+ });
68
+ } else {
69
+ // comma variant
70
+ const [intPart, fracPart] = str.split('.');
71
+ const groups = intPart.split('').reverse().reduce((acc, char, idx) => {
72
+ if (idx % 3 === 0) acc.unshift('');
73
+ acc[0] = char + acc[0];
74
+ return acc;
75
+ }, []);
76
+ return jsxRuntime.jsxs("span", {
77
+ className: `${bigNumberStyles({
78
+ theme
79
+ })} ${className}`,
80
+ children: [groups.map((grp, i) => jsxRuntime.jsxs("span", {
81
+ children: [jsxRuntime.jsx("span", {
82
+ children: grp
83
+ }), i < groups.length - 1 && jsxRuntime.jsx("span", {
84
+ children: ","
85
+ })]
86
+ }, i)), fracPart != null && jsxRuntime.jsxs(jsxRuntime.Fragment, {
87
+ children: [jsxRuntime.jsx("span", {
88
+ style: decimalPointStyle,
89
+ children: "."
90
+ }), jsxRuntime.jsx("span", {
91
+ children: fracPart
92
+ })]
93
+ })]
94
+ });
95
+ }
96
+ };
97
+
98
+ exports.BigNumber = BigNumber;
99
+ exports.default = BigNumber;
100
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../../../../src/react/components/bigNumber/index.tsx"],"sourcesContent":["import React from 'react'\nimport { cva } from 'class-variance-authority'\nimport { useTheme } from '../../contexts/ThemeContext'\n\nexport type BigNumberVariant = 'space' | 'comma'\n\nexport interface BigNumberProps {\n /** The numeric value (or string) to format. */\n children?: number | string | null\n /** Use non-breaking space groups or comma groups. */\n variant?: BigNumberVariant\n /** Extra class names to apply to the wrapper. Use gap-* classes for spacing between groups. */\n className?: string\n /** Horizontal spacing (in pixels) around the decimal point. Negative values reduce spacing. @default -2 */\n decimalPointSpacing?: number\n}\n\nconst bigNumberStyles = cva(\n 'inline-flex whitespace-nowrap gap-1',\n {\n variants: {\n theme: {\n light: 'text-gray-900',\n dark: 'text-gray-100'\n }\n },\n defaultVariants: {\n theme: 'light'\n }\n }\n)\n\n/**\n * Splits a numeric string into groups of three characters for display.\n * Supports two variants:\n * - `space`: groups separated by gap\n * - `comma`: groups separated by commas, with decimal part after `.`\n * Supports light/dark theme.\n */\nexport const BigNumber: React.FC<BigNumberProps> = ({ children, variant = 'space', className = '', decimalPointSpacing = -2 }) => {\n const { theme } = useTheme()\n\n const decimalPointStyle: React.CSSProperties = {\n marginLeft: `${decimalPointSpacing}px`,\n marginRight: `${decimalPointSpacing}px`\n }\n\n if (children === undefined || children === null) return null\n const str = children.toString()\n\n if (variant === 'space') {\n // Split into integer and decimal parts\n const [intPart, fracPart] = str.split('.')\n\n // group digits every 3, right to left (only for integer part)\n const groups = intPart\n .split('')\n .reverse()\n .reduce<string[]>((acc, char, idx) => {\n if (idx % 3 === 0) acc.unshift('')\n acc[0] = char + acc[0]\n return acc\n }, [])\n\n return (\n <span className={`${bigNumberStyles({ theme })} ${className}`}>\n {groups.map((grp, i) => (\n <span key={i}>{grp}</span>\n ))}\n {fracPart != null && (\n <>\n <span style={decimalPointStyle}>.</span>\n <span>{fracPart}</span>\n </>\n )}\n </span>\n )\n } else {\n // comma variant\n const [intPart, fracPart] = str.split('.')\n const groups = intPart\n .split('')\n .reverse()\n .reduce<string[]>((acc, char, idx) => {\n if (idx % 3 === 0) acc.unshift('')\n acc[0] = char + acc[0]\n return acc\n }, [])\n\n return (\n <span className={`${bigNumberStyles({ theme })} ${className}`}>\n {groups.map((grp, i) => (\n <span key={i}>\n <span>{grp}</span>\n {i < groups.length - 1 && <span>,</span>}\n </span>\n ))}\n {fracPart != null && (\n <>\n <span style={decimalPointStyle}>.</span>\n <span>{fracPart}</span>\n </>\n )}\n </span>\n )\n }\n}\n\nexport default BigNumber "],"names":["bigNumberStyles","cva","variants","theme","light","dark","defaultVariants","BigNumber","children","variant","className","decimalPointSpacing","useTheme","decimalPointStyle","marginLeft","marginRight","undefined","str","toString","intPart","fracPart","split","groups","reverse","reduce","acc","char","idx","unshift","_jsxs","map","grp","i","_jsx","_Fragment","style","length"],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ "use client";
2
+
3
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
4
+ import { cva } from 'class-variance-authority';
5
+ import { useTheme } from '../../contexts/ThemeContext.esm.js';
6
+
7
+ const bigNumberStyles = cva('inline-flex whitespace-nowrap gap-1', {
8
+ variants: {
9
+ theme: {
10
+ light: 'text-gray-900',
11
+ dark: 'text-gray-100'
12
+ }
13
+ },
14
+ defaultVariants: {
15
+ theme: 'light'
16
+ }
17
+ });
18
+ /**
19
+ * Splits a numeric string into groups of three characters for display.
20
+ * Supports two variants:
21
+ * - `space`: groups separated by gap
22
+ * - `comma`: groups separated by commas, with decimal part after `.`
23
+ * Supports light/dark theme.
24
+ */
25
+ const BigNumber = ({
26
+ children,
27
+ variant = 'space',
28
+ className = '',
29
+ decimalPointSpacing = -2
30
+ }) => {
31
+ const {
32
+ theme
33
+ } = useTheme();
34
+ const decimalPointStyle = {
35
+ marginLeft: `${decimalPointSpacing}px`,
36
+ marginRight: `${decimalPointSpacing}px`
37
+ };
38
+ if (children === undefined || children === null) return null;
39
+ const str = children.toString();
40
+ if (variant === 'space') {
41
+ // Split into integer and decimal parts
42
+ const [intPart, fracPart] = str.split('.');
43
+ // group digits every 3, right to left (only for integer part)
44
+ const groups = intPart.split('').reverse().reduce((acc, char, idx) => {
45
+ if (idx % 3 === 0) acc.unshift('');
46
+ acc[0] = char + acc[0];
47
+ return acc;
48
+ }, []);
49
+ return jsxs("span", {
50
+ className: `${bigNumberStyles({
51
+ theme
52
+ })} ${className}`,
53
+ children: [groups.map((grp, i) => jsx("span", {
54
+ children: grp
55
+ }, i)), fracPart != null && jsxs(Fragment, {
56
+ children: [jsx("span", {
57
+ style: decimalPointStyle,
58
+ children: "."
59
+ }), jsx("span", {
60
+ children: fracPart
61
+ })]
62
+ })]
63
+ });
64
+ } else {
65
+ // comma variant
66
+ const [intPart, fracPart] = str.split('.');
67
+ const groups = intPart.split('').reverse().reduce((acc, char, idx) => {
68
+ if (idx % 3 === 0) acc.unshift('');
69
+ acc[0] = char + acc[0];
70
+ return acc;
71
+ }, []);
72
+ return jsxs("span", {
73
+ className: `${bigNumberStyles({
74
+ theme
75
+ })} ${className}`,
76
+ children: [groups.map((grp, i) => jsxs("span", {
77
+ children: [jsx("span", {
78
+ children: grp
79
+ }), i < groups.length - 1 && jsx("span", {
80
+ children: ","
81
+ })]
82
+ }, i)), fracPart != null && jsxs(Fragment, {
83
+ children: [jsx("span", {
84
+ style: decimalPointStyle,
85
+ children: "."
86
+ }), jsx("span", {
87
+ children: fracPart
88
+ })]
89
+ })]
90
+ });
91
+ }
92
+ };
93
+
94
+ export { BigNumber, BigNumber as default };
95
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../src/react/components/bigNumber/index.tsx"],"sourcesContent":["import React from 'react'\nimport { cva } from 'class-variance-authority'\nimport { useTheme } from '../../contexts/ThemeContext'\n\nexport type BigNumberVariant = 'space' | 'comma'\n\nexport interface BigNumberProps {\n /** The numeric value (or string) to format. */\n children?: number | string | null\n /** Use non-breaking space groups or comma groups. */\n variant?: BigNumberVariant\n /** Extra class names to apply to the wrapper. Use gap-* classes for spacing between groups. */\n className?: string\n /** Horizontal spacing (in pixels) around the decimal point. Negative values reduce spacing. @default -2 */\n decimalPointSpacing?: number\n}\n\nconst bigNumberStyles = cva(\n 'inline-flex whitespace-nowrap gap-1',\n {\n variants: {\n theme: {\n light: 'text-gray-900',\n dark: 'text-gray-100'\n }\n },\n defaultVariants: {\n theme: 'light'\n }\n }\n)\n\n/**\n * Splits a numeric string into groups of three characters for display.\n * Supports two variants:\n * - `space`: groups separated by gap\n * - `comma`: groups separated by commas, with decimal part after `.`\n * Supports light/dark theme.\n */\nexport const BigNumber: React.FC<BigNumberProps> = ({ children, variant = 'space', className = '', decimalPointSpacing = -2 }) => {\n const { theme } = useTheme()\n\n const decimalPointStyle: React.CSSProperties = {\n marginLeft: `${decimalPointSpacing}px`,\n marginRight: `${decimalPointSpacing}px`\n }\n\n if (children === undefined || children === null) return null\n const str = children.toString()\n\n if (variant === 'space') {\n // Split into integer and decimal parts\n const [intPart, fracPart] = str.split('.')\n\n // group digits every 3, right to left (only for integer part)\n const groups = intPart\n .split('')\n .reverse()\n .reduce<string[]>((acc, char, idx) => {\n if (idx % 3 === 0) acc.unshift('')\n acc[0] = char + acc[0]\n return acc\n }, [])\n\n return (\n <span className={`${bigNumberStyles({ theme })} ${className}`}>\n {groups.map((grp, i) => (\n <span key={i}>{grp}</span>\n ))}\n {fracPart != null && (\n <>\n <span style={decimalPointStyle}>.</span>\n <span>{fracPart}</span>\n </>\n )}\n </span>\n )\n } else {\n // comma variant\n const [intPart, fracPart] = str.split('.')\n const groups = intPart\n .split('')\n .reverse()\n .reduce<string[]>((acc, char, idx) => {\n if (idx % 3 === 0) acc.unshift('')\n acc[0] = char + acc[0]\n return acc\n }, [])\n\n return (\n <span className={`${bigNumberStyles({ theme })} ${className}`}>\n {groups.map((grp, i) => (\n <span key={i}>\n <span>{grp}</span>\n {i < groups.length - 1 && <span>,</span>}\n </span>\n ))}\n {fracPart != null && (\n <>\n <span style={decimalPointStyle}>.</span>\n <span>{fracPart}</span>\n </>\n )}\n </span>\n )\n }\n}\n\nexport default BigNumber "],"names":["bigNumberStyles","cva","variants","theme","light","dark","defaultVariants","BigNumber","children","variant","className","decimalPointSpacing","useTheme","decimalPointStyle","marginLeft","marginRight","undefined","str","toString","intPart","fracPart","split","groups","reverse","reduce","acc","char","idx","unshift","_jsxs","map","grp","i","_jsx","_Fragment","style","length"],"mappings":"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"}