@oxyhq/bloom 0.1.14 → 0.1.16

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 (211) hide show
  1. package/lib/commonjs/accordion/Accordion.js +230 -0
  2. package/lib/commonjs/accordion/Accordion.js.map +1 -0
  3. package/lib/commonjs/accordion/index.js +31 -0
  4. package/lib/commonjs/accordion/index.js.map +1 -0
  5. package/lib/commonjs/accordion/types.js +6 -0
  6. package/lib/commonjs/accordion/types.js.map +1 -0
  7. package/lib/commonjs/avatar/Avatar.js +19 -7
  8. package/lib/commonjs/avatar/Avatar.js.map +1 -1
  9. package/lib/commonjs/badge/Badge.js +173 -0
  10. package/lib/commonjs/badge/Badge.js.map +1 -0
  11. package/lib/commonjs/badge/index.js +13 -0
  12. package/lib/commonjs/badge/index.js.map +1 -0
  13. package/lib/commonjs/badge/types.js +6 -0
  14. package/lib/commonjs/badge/types.js.map +1 -0
  15. package/lib/commonjs/bottom-sheet/index.js +32 -14
  16. package/lib/commonjs/bottom-sheet/index.js.map +1 -1
  17. package/lib/commonjs/card/Card.js +165 -0
  18. package/lib/commonjs/card/Card.js.map +1 -0
  19. package/lib/commonjs/card/index.js +43 -0
  20. package/lib/commonjs/card/index.js.map +1 -0
  21. package/lib/commonjs/card/types.js +6 -0
  22. package/lib/commonjs/card/types.js.map +1 -0
  23. package/lib/commonjs/checkbox/Checkbox.js +177 -0
  24. package/lib/commonjs/checkbox/Checkbox.js.map +1 -0
  25. package/lib/commonjs/checkbox/index.js +13 -0
  26. package/lib/commonjs/checkbox/index.js.map +1 -0
  27. package/lib/commonjs/checkbox/types.js +6 -0
  28. package/lib/commonjs/checkbox/types.js.map +1 -0
  29. package/lib/commonjs/chip/Chip.js +180 -0
  30. package/lib/commonjs/chip/Chip.js.map +1 -0
  31. package/lib/commonjs/chip/index.js +13 -0
  32. package/lib/commonjs/chip/index.js.map +1 -0
  33. package/lib/commonjs/chip/types.js +6 -0
  34. package/lib/commonjs/chip/types.js.map +1 -0
  35. package/lib/commonjs/index.js +56 -2
  36. package/lib/commonjs/index.js.map +1 -1
  37. package/lib/commonjs/tabs/Tabs.js +202 -0
  38. package/lib/commonjs/tabs/Tabs.js.map +1 -0
  39. package/lib/commonjs/tabs/index.js +25 -0
  40. package/lib/commonjs/tabs/index.js.map +1 -0
  41. package/lib/commonjs/tabs/types.js +6 -0
  42. package/lib/commonjs/tabs/types.js.map +1 -0
  43. package/lib/module/accordion/Accordion.js +225 -0
  44. package/lib/module/accordion/Accordion.js.map +1 -0
  45. package/lib/module/accordion/index.js +4 -0
  46. package/lib/module/accordion/index.js.map +1 -0
  47. package/lib/module/accordion/types.js +4 -0
  48. package/lib/module/accordion/types.js.map +1 -0
  49. package/lib/module/avatar/Avatar.js +19 -7
  50. package/lib/module/avatar/Avatar.js.map +1 -1
  51. package/lib/module/badge/Badge.js +168 -0
  52. package/lib/module/badge/Badge.js.map +1 -0
  53. package/lib/module/badge/index.js +4 -0
  54. package/lib/module/badge/index.js.map +1 -0
  55. package/lib/module/badge/types.js +4 -0
  56. package/lib/module/badge/types.js.map +1 -0
  57. package/lib/module/bottom-sheet/index.js +32 -14
  58. package/lib/module/bottom-sheet/index.js.map +1 -1
  59. package/lib/module/card/Card.js +160 -0
  60. package/lib/module/card/Card.js.map +1 -0
  61. package/lib/module/card/index.js +4 -0
  62. package/lib/module/card/index.js.map +1 -0
  63. package/lib/module/card/types.js +4 -0
  64. package/lib/module/card/types.js.map +1 -0
  65. package/lib/module/checkbox/Checkbox.js +172 -0
  66. package/lib/module/checkbox/Checkbox.js.map +1 -0
  67. package/lib/module/checkbox/index.js +4 -0
  68. package/lib/module/checkbox/index.js.map +1 -0
  69. package/lib/module/checkbox/types.js +4 -0
  70. package/lib/module/checkbox/types.js.map +1 -0
  71. package/lib/module/chip/Chip.js +175 -0
  72. package/lib/module/chip/Chip.js.map +1 -0
  73. package/lib/module/chip/index.js +4 -0
  74. package/lib/module/chip/index.js.map +1 -0
  75. package/lib/module/chip/types.js +4 -0
  76. package/lib/module/chip/types.js.map +1 -0
  77. package/lib/module/index.js +8 -0
  78. package/lib/module/index.js.map +1 -1
  79. package/lib/module/tabs/Tabs.js +197 -0
  80. package/lib/module/tabs/Tabs.js.map +1 -0
  81. package/lib/module/tabs/index.js +4 -0
  82. package/lib/module/tabs/index.js.map +1 -0
  83. package/lib/module/tabs/types.js +4 -0
  84. package/lib/module/tabs/types.js.map +1 -0
  85. package/lib/typescript/commonjs/__tests__/BloomThemeProvider.test.d.ts +2 -0
  86. package/lib/typescript/commonjs/__tests__/BloomThemeProvider.test.d.ts.map +1 -0
  87. package/lib/typescript/commonjs/__tests__/BottomSheet.test.d.ts +2 -0
  88. package/lib/typescript/commonjs/__tests__/BottomSheet.test.d.ts.map +1 -0
  89. package/lib/typescript/commonjs/__tests__/Button.test.d.ts +2 -0
  90. package/lib/typescript/commonjs/__tests__/Button.test.d.ts.map +1 -0
  91. package/lib/typescript/commonjs/__tests__/theme.test.d.ts +2 -0
  92. package/lib/typescript/commonjs/__tests__/theme.test.d.ts.map +1 -0
  93. package/lib/typescript/commonjs/accordion/Accordion.d.ts +7 -0
  94. package/lib/typescript/commonjs/accordion/Accordion.d.ts.map +1 -0
  95. package/lib/typescript/commonjs/accordion/index.d.ts +3 -0
  96. package/lib/typescript/commonjs/accordion/index.d.ts.map +1 -0
  97. package/lib/typescript/commonjs/accordion/types.d.ts +38 -0
  98. package/lib/typescript/commonjs/accordion/types.d.ts.map +1 -0
  99. package/lib/typescript/commonjs/avatar/Avatar.d.ts.map +1 -1
  100. package/lib/typescript/commonjs/avatar/types.d.ts +4 -0
  101. package/lib/typescript/commonjs/avatar/types.d.ts.map +1 -1
  102. package/lib/typescript/commonjs/badge/Badge.d.ts +4 -0
  103. package/lib/typescript/commonjs/badge/Badge.d.ts.map +1 -0
  104. package/lib/typescript/commonjs/badge/index.d.ts +3 -0
  105. package/lib/typescript/commonjs/badge/index.d.ts.map +1 -0
  106. package/lib/typescript/commonjs/badge/types.d.ts +29 -0
  107. package/lib/typescript/commonjs/badge/types.d.ts.map +1 -0
  108. package/lib/typescript/commonjs/bottom-sheet/index.d.ts.map +1 -1
  109. package/lib/typescript/commonjs/card/Card.d.ts +9 -0
  110. package/lib/typescript/commonjs/card/Card.d.ts.map +1 -0
  111. package/lib/typescript/commonjs/card/index.d.ts +3 -0
  112. package/lib/typescript/commonjs/card/index.d.ts.map +1 -0
  113. package/lib/typescript/commonjs/card/types.d.ts +34 -0
  114. package/lib/typescript/commonjs/card/types.d.ts.map +1 -0
  115. package/lib/typescript/commonjs/checkbox/Checkbox.d.ts +4 -0
  116. package/lib/typescript/commonjs/checkbox/Checkbox.d.ts.map +1 -0
  117. package/lib/typescript/commonjs/checkbox/index.d.ts +3 -0
  118. package/lib/typescript/commonjs/checkbox/index.d.ts.map +1 -0
  119. package/lib/typescript/commonjs/checkbox/types.d.ts +25 -0
  120. package/lib/typescript/commonjs/checkbox/types.d.ts.map +1 -0
  121. package/lib/typescript/commonjs/chip/Chip.d.ts +4 -0
  122. package/lib/typescript/commonjs/chip/Chip.d.ts.map +1 -0
  123. package/lib/typescript/commonjs/chip/index.d.ts +3 -0
  124. package/lib/typescript/commonjs/chip/index.d.ts.map +1 -0
  125. package/lib/typescript/commonjs/chip/types.d.ts +31 -0
  126. package/lib/typescript/commonjs/chip/types.d.ts.map +1 -0
  127. package/lib/typescript/commonjs/index.d.ts +6 -0
  128. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  129. package/lib/typescript/commonjs/tabs/Tabs.d.ts +6 -0
  130. package/lib/typescript/commonjs/tabs/Tabs.d.ts.map +1 -0
  131. package/lib/typescript/commonjs/tabs/index.d.ts +3 -0
  132. package/lib/typescript/commonjs/tabs/index.d.ts.map +1 -0
  133. package/lib/typescript/commonjs/tabs/types.d.ts +34 -0
  134. package/lib/typescript/commonjs/tabs/types.d.ts.map +1 -0
  135. package/lib/typescript/module/__tests__/BloomThemeProvider.test.d.ts +2 -0
  136. package/lib/typescript/module/__tests__/BloomThemeProvider.test.d.ts.map +1 -0
  137. package/lib/typescript/module/__tests__/BottomSheet.test.d.ts +2 -0
  138. package/lib/typescript/module/__tests__/BottomSheet.test.d.ts.map +1 -0
  139. package/lib/typescript/module/__tests__/Button.test.d.ts +2 -0
  140. package/lib/typescript/module/__tests__/Button.test.d.ts.map +1 -0
  141. package/lib/typescript/module/__tests__/theme.test.d.ts +2 -0
  142. package/lib/typescript/module/__tests__/theme.test.d.ts.map +1 -0
  143. package/lib/typescript/module/accordion/Accordion.d.ts +7 -0
  144. package/lib/typescript/module/accordion/Accordion.d.ts.map +1 -0
  145. package/lib/typescript/module/accordion/index.d.ts +3 -0
  146. package/lib/typescript/module/accordion/index.d.ts.map +1 -0
  147. package/lib/typescript/module/accordion/types.d.ts +38 -0
  148. package/lib/typescript/module/accordion/types.d.ts.map +1 -0
  149. package/lib/typescript/module/avatar/Avatar.d.ts.map +1 -1
  150. package/lib/typescript/module/avatar/types.d.ts +4 -0
  151. package/lib/typescript/module/avatar/types.d.ts.map +1 -1
  152. package/lib/typescript/module/badge/Badge.d.ts +4 -0
  153. package/lib/typescript/module/badge/Badge.d.ts.map +1 -0
  154. package/lib/typescript/module/badge/index.d.ts +3 -0
  155. package/lib/typescript/module/badge/index.d.ts.map +1 -0
  156. package/lib/typescript/module/badge/types.d.ts +29 -0
  157. package/lib/typescript/module/badge/types.d.ts.map +1 -0
  158. package/lib/typescript/module/bottom-sheet/index.d.ts.map +1 -1
  159. package/lib/typescript/module/card/Card.d.ts +9 -0
  160. package/lib/typescript/module/card/Card.d.ts.map +1 -0
  161. package/lib/typescript/module/card/index.d.ts +3 -0
  162. package/lib/typescript/module/card/index.d.ts.map +1 -0
  163. package/lib/typescript/module/card/types.d.ts +34 -0
  164. package/lib/typescript/module/card/types.d.ts.map +1 -0
  165. package/lib/typescript/module/checkbox/Checkbox.d.ts +4 -0
  166. package/lib/typescript/module/checkbox/Checkbox.d.ts.map +1 -0
  167. package/lib/typescript/module/checkbox/index.d.ts +3 -0
  168. package/lib/typescript/module/checkbox/index.d.ts.map +1 -0
  169. package/lib/typescript/module/checkbox/types.d.ts +25 -0
  170. package/lib/typescript/module/checkbox/types.d.ts.map +1 -0
  171. package/lib/typescript/module/chip/Chip.d.ts +4 -0
  172. package/lib/typescript/module/chip/Chip.d.ts.map +1 -0
  173. package/lib/typescript/module/chip/index.d.ts +3 -0
  174. package/lib/typescript/module/chip/index.d.ts.map +1 -0
  175. package/lib/typescript/module/chip/types.d.ts +31 -0
  176. package/lib/typescript/module/chip/types.d.ts.map +1 -0
  177. package/lib/typescript/module/index.d.ts +6 -0
  178. package/lib/typescript/module/index.d.ts.map +1 -1
  179. package/lib/typescript/module/tabs/Tabs.d.ts +6 -0
  180. package/lib/typescript/module/tabs/Tabs.d.ts.map +1 -0
  181. package/lib/typescript/module/tabs/index.d.ts +3 -0
  182. package/lib/typescript/module/tabs/index.d.ts.map +1 -0
  183. package/lib/typescript/module/tabs/types.d.ts +34 -0
  184. package/lib/typescript/module/tabs/types.d.ts.map +1 -0
  185. package/package.json +79 -1
  186. package/src/__tests__/BloomThemeProvider.test.tsx +160 -0
  187. package/src/__tests__/BottomSheet.test.tsx +109 -0
  188. package/src/__tests__/Button.test.tsx +98 -0
  189. package/src/__tests__/theme.test.ts +148 -0
  190. package/src/accordion/Accordion.tsx +261 -0
  191. package/src/accordion/index.ts +8 -0
  192. package/src/accordion/types.ts +42 -0
  193. package/src/avatar/Avatar.tsx +16 -6
  194. package/src/avatar/types.ts +4 -0
  195. package/src/badge/Badge.tsx +151 -0
  196. package/src/badge/index.ts +8 -0
  197. package/src/badge/types.ts +30 -0
  198. package/src/bottom-sheet/index.tsx +30 -11
  199. package/src/card/Card.tsx +197 -0
  200. package/src/card/index.ts +10 -0
  201. package/src/card/types.ts +40 -0
  202. package/src/checkbox/Checkbox.tsx +166 -0
  203. package/src/checkbox/index.ts +2 -0
  204. package/src/checkbox/types.ts +26 -0
  205. package/src/chip/Chip.tsx +156 -0
  206. package/src/chip/index.ts +2 -0
  207. package/src/chip/types.ts +32 -0
  208. package/src/index.ts +8 -0
  209. package/src/tabs/Tabs.tsx +218 -0
  210. package/src/tabs/index.ts +2 -0
  211. package/src/tabs/types.ts +37 -0
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+
3
+ import React, { createContext, memo, useCallback, useContext, useEffect, useMemo, useRef } from 'react';
4
+ import { View, Text, Pressable, Animated } from 'react-native';
5
+ import { useTheme } from "../theme/use-theme.js";
6
+ import { animation, space } from "../styles/tokens.js";
7
+
8
+ // ---- Context ----
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ const AccordionContext = /*#__PURE__*/createContext({
11
+ expandedValues: new Set(),
12
+ toggle: () => {},
13
+ type: 'single'
14
+ });
15
+ const AccordionItemContext = /*#__PURE__*/createContext({
16
+ value: '',
17
+ isExpanded: false,
18
+ disabled: false
19
+ });
20
+
21
+ // ---- Accordion Root ----
22
+
23
+ const AccordionComponent = ({
24
+ value,
25
+ onValueChange,
26
+ type = 'single',
27
+ children,
28
+ style,
29
+ testID
30
+ }) => {
31
+ const expandedValues = useMemo(() => {
32
+ if (value == null) return new Set();
33
+ if (Array.isArray(value)) return new Set(value);
34
+ return new Set([value]);
35
+ }, [value]);
36
+ const toggle = useCallback(itemValue => {
37
+ if (type === 'single') {
38
+ const next = expandedValues.has(itemValue) ? undefined : itemValue;
39
+ onValueChange(next);
40
+ } else {
41
+ const next = new Set(expandedValues);
42
+ if (next.has(itemValue)) {
43
+ next.delete(itemValue);
44
+ } else {
45
+ next.add(itemValue);
46
+ }
47
+ onValueChange(Array.from(next));
48
+ }
49
+ }, [type, expandedValues, onValueChange]);
50
+ const contextValue = useMemo(() => ({
51
+ expandedValues,
52
+ toggle,
53
+ type
54
+ }), [expandedValues, toggle, type]);
55
+ return /*#__PURE__*/_jsx(AccordionContext.Provider, {
56
+ value: contextValue,
57
+ children: /*#__PURE__*/_jsx(View, {
58
+ style: style,
59
+ testID: testID,
60
+ children: children
61
+ })
62
+ });
63
+ };
64
+
65
+ // ---- Accordion Item ----
66
+
67
+ const AccordionItemComponent = ({
68
+ value,
69
+ children,
70
+ disabled = false,
71
+ style
72
+ }) => {
73
+ const {
74
+ expandedValues
75
+ } = useContext(AccordionContext);
76
+ const isExpanded = expandedValues.has(value);
77
+ const theme = useTheme();
78
+ const itemContext = useMemo(() => ({
79
+ value,
80
+ isExpanded,
81
+ disabled
82
+ }), [value, isExpanded, disabled]);
83
+ return /*#__PURE__*/_jsx(AccordionItemContext.Provider, {
84
+ value: itemContext,
85
+ children: /*#__PURE__*/_jsx(View, {
86
+ style: [{
87
+ borderBottomWidth: 1,
88
+ borderBottomColor: theme.colors.borderLight
89
+ }, style],
90
+ children: children
91
+ })
92
+ });
93
+ };
94
+
95
+ // ---- Accordion Trigger ----
96
+
97
+ const AccordionTriggerComponent = ({
98
+ children,
99
+ icon,
100
+ style,
101
+ textStyle
102
+ }) => {
103
+ const theme = useTheme();
104
+ const {
105
+ toggle
106
+ } = useContext(AccordionContext);
107
+ const {
108
+ value,
109
+ isExpanded,
110
+ disabled
111
+ } = useContext(AccordionItemContext);
112
+ const rotateAnim = useRef(new Animated.Value(isExpanded ? 1 : 0)).current;
113
+ useEffect(() => {
114
+ Animated.spring(rotateAnim, {
115
+ toValue: isExpanded ? 1 : 0,
116
+ useNativeDriver: true,
117
+ ...animation.spring.snappy
118
+ }).start();
119
+ }, [isExpanded, rotateAnim]);
120
+ const handlePress = useCallback(() => {
121
+ if (!disabled) {
122
+ toggle(value);
123
+ }
124
+ }, [value, disabled, toggle]);
125
+ const rotation = rotateAnim.interpolate({
126
+ inputRange: [0, 1],
127
+ outputRange: ['0deg', '180deg']
128
+ });
129
+ return /*#__PURE__*/_jsxs(Pressable, {
130
+ style: ({
131
+ pressed
132
+ }) => [{
133
+ flexDirection: 'row',
134
+ alignItems: 'center',
135
+ paddingVertical: space.md,
136
+ paddingHorizontal: space.xs,
137
+ gap: space.sm,
138
+ opacity: disabled ? 0.4 : pressed ? 0.7 : 1
139
+ }, style],
140
+ onPress: handlePress,
141
+ disabled: disabled,
142
+ accessibilityRole: "button",
143
+ accessibilityState: {
144
+ expanded: isExpanded,
145
+ disabled
146
+ },
147
+ children: [icon, /*#__PURE__*/_jsx(View, {
148
+ style: {
149
+ flex: 1
150
+ },
151
+ children: typeof children === 'string' ? /*#__PURE__*/_jsx(Text, {
152
+ style: [{
153
+ fontSize: 15,
154
+ fontWeight: '600',
155
+ color: theme.colors.text
156
+ }, textStyle],
157
+ children: children
158
+ }) : children
159
+ }), /*#__PURE__*/_jsx(Animated.View, {
160
+ style: {
161
+ transform: [{
162
+ rotate: rotation
163
+ }]
164
+ },
165
+ children: /*#__PURE__*/_jsx(Text, {
166
+ style: {
167
+ fontSize: 16,
168
+ color: theme.colors.textSecondary,
169
+ lineHeight: 18
170
+ },
171
+ children: '\u25BE'
172
+ })
173
+ })]
174
+ });
175
+ };
176
+
177
+ // ---- Accordion Content ----
178
+
179
+ const AccordionContentComponent = ({
180
+ children,
181
+ style
182
+ }) => {
183
+ const {
184
+ isExpanded
185
+ } = useContext(AccordionItemContext);
186
+ const heightAnim = useRef(new Animated.Value(isExpanded ? 1 : 0)).current;
187
+ useEffect(() => {
188
+ Animated.spring(heightAnim, {
189
+ toValue: isExpanded ? 1 : 0,
190
+ useNativeDriver: false,
191
+ ...animation.spring.gentle
192
+ }).start();
193
+ }, [isExpanded, heightAnim]);
194
+ const opacity = heightAnim.interpolate({
195
+ inputRange: [0, 1],
196
+ outputRange: [0, 1]
197
+ });
198
+ const maxHeight = heightAnim.interpolate({
199
+ inputRange: [0, 1],
200
+ outputRange: [0, 500] // reasonable max; content will use its natural height
201
+ });
202
+ return /*#__PURE__*/_jsx(Animated.View, {
203
+ style: [{
204
+ overflow: 'hidden',
205
+ opacity,
206
+ maxHeight
207
+ }, style],
208
+ children: /*#__PURE__*/_jsx(View, {
209
+ style: {
210
+ paddingBottom: space.md,
211
+ paddingHorizontal: space.xs
212
+ },
213
+ children: children
214
+ })
215
+ });
216
+ };
217
+ export const Accordion = /*#__PURE__*/memo(AccordionComponent);
218
+ Accordion.displayName = 'Accordion';
219
+ export const AccordionItem = /*#__PURE__*/memo(AccordionItemComponent);
220
+ AccordionItem.displayName = 'AccordionItem';
221
+ export const AccordionTrigger = /*#__PURE__*/memo(AccordionTriggerComponent);
222
+ AccordionTrigger.displayName = 'AccordionTrigger';
223
+ export const AccordionContent = /*#__PURE__*/memo(AccordionContentComponent);
224
+ AccordionContent.displayName = 'AccordionContent';
225
+ //# sourceMappingURL=Accordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","createContext","memo","useCallback","useContext","useEffect","useMemo","useRef","View","Text","Pressable","Animated","useTheme","animation","space","jsx","_jsx","jsxs","_jsxs","AccordionContext","expandedValues","Set","toggle","type","AccordionItemContext","value","isExpanded","disabled","AccordionComponent","onValueChange","children","style","testID","Array","isArray","itemValue","next","has","undefined","delete","add","from","contextValue","Provider","AccordionItemComponent","theme","itemContext","borderBottomWidth","borderBottomColor","colors","borderLight","AccordionTriggerComponent","icon","textStyle","rotateAnim","Value","current","spring","toValue","useNativeDriver","snappy","start","handlePress","rotation","interpolate","inputRange","outputRange","pressed","flexDirection","alignItems","paddingVertical","md","paddingHorizontal","xs","gap","sm","opacity","onPress","accessibilityRole","accessibilityState","expanded","flex","fontSize","fontWeight","color","text","transform","rotate","textSecondary","lineHeight","AccordionContentComponent","heightAnim","gentle","maxHeight","overflow","paddingBottom","Accordion","displayName","AccordionItem","AccordionTrigger","AccordionContent"],"sourceRoot":"../../../src","sources":["accordion/Accordion.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from "./Accordion.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Accordion","AccordionItem","AccordionTrigger","AccordionContent"],"sourceRoot":"../../../src","sources":["accordion/index.ts"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,aAAa,EAAEC,gBAAgB,EAAEC,gBAAgB,QAAQ,gBAAa","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["accordion/types.ts"],"mappings":"","ignoreList":[]}
@@ -30,6 +30,7 @@ function SquircleImage({
30
30
  fallbackSource,
31
31
  size,
32
32
  fallbackColor,
33
+ placeholderIcon,
33
34
  onError
34
35
  }) {
35
36
  const svg = getSvgModule();
@@ -37,7 +38,8 @@ function SquircleImage({
37
38
  // Fallback to circle if react-native-svg is not installed
38
39
  return /*#__PURE__*/_jsx(CircleFallback, {
39
40
  size: size,
40
- fallbackColor: fallbackColor
41
+ fallbackColor: fallbackColor,
42
+ icon: placeholderIcon
41
43
  });
42
44
  }
43
45
  const {
@@ -54,7 +56,8 @@ function SquircleImage({
54
56
  if (!href) {
55
57
  return /*#__PURE__*/_jsx(CircleFallback, {
56
58
  size: size,
57
- fallbackColor: fallbackColor
59
+ fallbackColor: fallbackColor,
60
+ icon: placeholderIcon
58
61
  });
59
62
  }
60
63
  return /*#__PURE__*/_jsxs(_Fragment, {
@@ -87,7 +90,8 @@ function SquircleImage({
87
90
  }
88
91
  function CircleFallback({
89
92
  size,
90
- fallbackColor
93
+ fallbackColor,
94
+ icon
91
95
  }) {
92
96
  const radius = size / 2;
93
97
  return /*#__PURE__*/_jsx(View, {
@@ -95,8 +99,12 @@ function CircleFallback({
95
99
  width: size,
96
100
  height: size,
97
101
  borderRadius: radius,
98
- backgroundColor: fallbackColor
99
- }
102
+ backgroundColor: fallbackColor,
103
+ justifyContent: 'center',
104
+ alignItems: 'center',
105
+ overflow: 'hidden'
106
+ },
107
+ children: icon ?? null
100
108
  });
101
109
  }
102
110
  const AvatarComponent = ({
@@ -109,13 +117,15 @@ const AvatarComponent = ({
109
117
  shape = 'circle',
110
118
  style,
111
119
  imageStyle,
120
+ placeholderColor,
121
+ placeholderIcon,
112
122
  onPress,
113
123
  testID
114
124
  }) => {
115
125
  const [errored, setErrored] = useState(false);
116
126
  const theme = useTheme();
117
127
  const radius = size / 2;
118
- const fallbackColor = theme.colors.backgroundTertiary;
128
+ const fallbackColor = placeholderColor || theme.colors.backgroundTertiary;
119
129
 
120
130
  // Reset error state when source changes (e.g., list item recycling
121
131
  // or async URL resolution replacing an initial file ID).
@@ -166,6 +176,7 @@ const AvatarComponent = ({
166
176
  fallbackSource: fallbackSource,
167
177
  size: size,
168
178
  fallbackColor: fallbackColor,
179
+ placeholderIcon: placeholderIcon,
169
180
  onError: () => setErrored(true)
170
181
  }) : /*#__PURE__*/_jsx(View, {
171
182
  style: [styles.imageContainer, {
@@ -182,7 +193,8 @@ const AvatarComponent = ({
182
193
  }, imageStyle]
183
194
  }) : /*#__PURE__*/_jsx(CircleFallback, {
184
195
  size: size,
185
- fallbackColor: fallbackColor
196
+ fallbackColor: fallbackColor,
197
+ icon: placeholderIcon
186
198
  })
187
199
  }), verified && verifiedIcon && /*#__PURE__*/_jsx(View, {
188
200
  style: [styles.verifiedBadge, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","useMemo","useRef","useState","View","Image","StyleSheet","TouchableOpacity","useTheme","useImageResolver","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SQUIRCLE_PATH","clipIdCounter","svgModule","svgModuleResolved","getSvgModule","require","SquircleImage","uri","fallbackSource","size","fallbackColor","onError","svg","CircleFallback","default","Svg","Defs","ClipPath","Path","SvgImage","clipId","href","children","source","style","styles","errorDetector","width","height","viewBox","id","d","preserveAspectRatio","clipPath","radius","borderRadius","backgroundColor","AvatarComponent","verified","verifiedIcon","shape","imageStyle","onPress","testID","errored","setErrored","theme","colors","backgroundTertiary","prevSourceRef","prevUriRef","current","imageResolver","resolvedUri","startsWith","resolvedImageSource","undefined","effectiveUri","imageSource","content","container","imageContainer","resizeMode","absoluteFillObject","verifiedBadge","create","position","overflow","justifyContent","alignItems","bottom","right","zIndex","opacity","Avatar","displayName"],"sourceRoot":"../../../src","sources":["avatar/Avatar.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC9D,SAASC,IAAI,EAAEC,KAAK,EAAEC,UAAU,EAAEC,gBAAgB,QAAQ,cAAc;AAExE,SAASC,QAAQ,QAAQ,uBAAoB;AAC7C,SAASC,gBAAgB,QAAQ,8BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAG7D;AACA,MAAMC,aAAa,GACjB,2PAA2P,GAC3P,gOAAgO,GAChO,gOAAgO,GAChO,iOAAiO;AAEnO,IAAIC,aAAa,GAAG,CAAC;;AAErB;AACA;;AAEA,IAAIC,SAA+B,GAAG,IAAI;AAC1C,IAAIC,iBAAiB,GAAG,KAAK;AAE7B,SAASC,YAAYA,CAAA,EAAyB;EAC5C,IAAI,CAACD,iBAAiB,EAAE;IACtBA,iBAAiB,GAAG,IAAI;IACxB,IAAI;MACFD,SAAS,GAAGG,OAAO,CAAC,kBAAkB,CAAC;IACzC,CAAC,CAAC,MAAM;MACNH,SAAS,GAAG,IAAI;IAClB;EACF;EACA,OAAOA,SAAS;AAClB;AAEA,SAASI,aAAaA,CAAC;EACrBC,GAAG;EACHC,cAAc;EACdC,IAAI;EACJC,aAAa;EACbC;AAOF,CAAC,EAAE;EACD,MAAMC,GAAG,GAAGR,YAAY,CAAC,CAAC;EAC1B,IAAI,CAACQ,GAAG,EAAE;IACR;IACA,oBAAOjB,IAAA,CAACkB,cAAc;MAACJ,IAAI,EAAEA,IAAK;MAACC,aAAa,EAAEA;IAAc,CAAE,CAAC;EACrE;EAEA,MAAM;IAAEI,OAAO,EAAEC,GAAG;IAAEC,IAAI;IAAEC,QAAQ;IAAEC,IAAI;IAAE7B,KAAK,EAAE8B;EAAS,CAAC,GAAGP,GAAG;EACnE,MAAMQ,MAAM,GAAGnC,OAAO,CAAC,MAAM,YAAYgB,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC;EAE/D,MAAMoB,IAAI,GAAGd,GAAG,GAAG;IAAEA;EAAI,CAAC,GAAGC,cAAc;EAC3C,IAAI,CAACa,IAAI,EAAE;IACT,oBAAO1B,IAAA,CAACkB,cAAc;MAACJ,IAAI,EAAEA,IAAK;MAACC,aAAa,EAAEA;IAAc,CAAE,CAAC;EACrE;EAEA,oBACEb,KAAA,CAAAE,SAAA;IAAAuB,QAAA,GAEGf,GAAG,iBACFZ,IAAA,CAACN,KAAK;MACJkC,MAAM,EAAE;QAAEhB;MAAI,CAAE;MAChBiB,KAAK,EAAEC,MAAM,CAACC,aAAc;MAC5Bf,OAAO,EAAEA;IAAQ,CAClB,CACF,eACDd,KAAA,CAACkB,GAAG;MAACY,KAAK,EAAElB,IAAK;MAACmB,MAAM,EAAEnB,IAAK;MAACoB,OAAO,EAAC,SAAS;MAAAP,QAAA,gBAC/C3B,IAAA,CAACqB,IAAI;QAAAM,QAAA,eACH3B,IAAA,CAACsB,QAAQ;UAACa,EAAE,EAAEV,MAAO;UAAAE,QAAA,eACnB3B,IAAA,CAACuB,IAAI;YAACa,CAAC,EAAE/B;UAAc,CAAE;QAAC,CAClB;MAAC,CACP,CAAC,eACPL,IAAA,CAACwB,QAAQ;QACPE,IAAI,EAAEA,IAAK;QACXM,KAAK,EAAE,CAAE;QACTC,MAAM,EAAE,CAAE;QACVI,mBAAmB,EAAC,gBAAgB;QACpCC,QAAQ,EAAE,QAAQb,MAAM;MAAI,CAC7B,CAAC;IAAA,CACC,CAAC;EAAA,CACN,CAAC;AAEP;AAEA,SAASP,cAAcA,CAAC;EAAEJ,IAAI;EAAEC;AAAuD,CAAC,EAAE;EACxF,MAAMwB,MAAM,GAAGzB,IAAI,GAAG,CAAC;EACvB,oBACEd,IAAA,CAACP,IAAI;IACHoC,KAAK,EAAE;MACLG,KAAK,EAAElB,IAAI;MACXmB,MAAM,EAAEnB,IAAI;MACZ0B,YAAY,EAAED,MAAM;MACpBE,eAAe,EAAE1B;IACnB;EAAE,CACH,CAAC;AAEN;AAEA,MAAM2B,eAAsC,GAAGA,CAAC;EAC9Cd,MAAM;EACNhB,GAAG;EACHC,cAAc;EACdC,IAAI,GAAG,EAAE;EACT6B,QAAQ,GAAG,KAAK;EAChBC,YAAY;EACZC,KAAK,GAAG,QAAQ;EAChBhB,KAAK;EACLiB,UAAU;EACVC,OAAO;EACPC;AACF,CAAC,KAAK;EACJ,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG1D,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM2D,KAAK,GAAGtD,QAAQ,CAAC,CAAC;EACxB,MAAM0C,MAAM,GAAGzB,IAAI,GAAG,CAAC;EACvB,MAAMC,aAAa,GAAGoC,KAAK,CAACC,MAAM,CAACC,kBAAkB;;EAErD;EACA;EACA;EACA,MAAMC,aAAa,GAAG/D,MAAM,CAACqC,MAAM,CAAC;EACpC,MAAM2B,UAAU,GAAGhE,MAAM,CAACqB,GAAG,CAAC;EAC9B,IAAI0C,aAAa,CAACE,OAAO,KAAK5B,MAAM,IAAI2B,UAAU,CAACC,OAAO,KAAK5C,GAAG,EAAE;IAClE0C,aAAa,CAACE,OAAO,GAAG5B,MAAM;IAC9B2B,UAAU,CAACC,OAAO,GAAG5C,GAAG;IACxB,IAAIqC,OAAO,EAAE;MACXC,UAAU,CAAC,KAAK,CAAC;IACnB;EACF;EAEA,MAAMO,aAAa,GAAG3D,gBAAgB,CAAC,CAAC;;EAExC;EACA;EACA;EACA,MAAM4D,WAAW,GAAGpE,OAAO,CAAC,MAAM;IAChC,IAAI,OAAOsC,MAAM,KAAK,QAAQ,EAAE;MAC9B,IAAIA,MAAM,CAAC+B,UAAU,CAAC,SAAS,CAAC,IAAI/B,MAAM,CAAC+B,UAAU,CAAC,UAAU,CAAC,IAAI/B,MAAM,CAAC+B,UAAU,CAAC,OAAO,CAAC,EAAE;QAC/F,OAAO/B,MAAM;MACf;MACA,OAAO6B,aAAa,GAAG7B,MAAM,CAAC;IAChC;IACA,OAAOhB,GAAG;EACZ,CAAC,EAAE,CAACgB,MAAM,EAAEhB,GAAG,EAAE6C,aAAa,CAAC,CAAC;EAEhC,MAAMG,mBAAmB,GAAGtE,OAAO,CAAC,MAAM;IACxC,IAAIsC,MAAM,IAAI,IAAI,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE,OAAOA,MAAM;IAC/D,OAAOiC,SAAS;EAClB,CAAC,EAAE,CAACjC,MAAM,CAAC,CAAC;EAEZ,MAAMkC,YAAY,GAAGb,OAAO,GAAGY,SAAS,GAAGH,WAAW;EAEtD,MAAMK,WAAW,GAAGzE,OAAO,CAAC,MAAM;IAChC,IAAIwE,YAAY,EAAE,OAAO;MAAElD,GAAG,EAAEkD;IAAa,CAAC;IAC9C,IAAIF,mBAAmB,EAAE,OAAOA,mBAAmB;IACnD,OAAO/C,cAAc;EACvB,CAAC,EAAE,CAACiD,YAAY,EAAEF,mBAAmB,EAAE/C,cAAc,CAAC,CAAC;EAEvD,MAAMmD,OAAO,gBACX9D,KAAA,CAACT,IAAI;IAACoC,KAAK,EAAE,CAACC,MAAM,CAACmC,SAAS,EAAE;MAAEjC,KAAK,EAAElB,IAAI;MAAEmB,MAAM,EAAEnB;IAAK,CAAC,EAAEe,KAAK,CAAE;IAACmB,MAAM,EAAEA,MAAO;IAAArB,QAAA,GACnFkB,KAAK,KAAK,UAAU,gBACnB7C,IAAA,CAACW,aAAa;MACZC,GAAG,EAAEkD,YAAa;MAClBjD,cAAc,EAAEA,cAAe;MAC/BC,IAAI,EAAEA,IAAK;MACXC,aAAa,EAAEA,aAAc;MAC7BC,OAAO,EAAEA,CAAA,KAAMkC,UAAU,CAAC,IAAI;IAAE,CACjC,CAAC,gBAEFlD,IAAA,CAACP,IAAI;MAACoC,KAAK,EAAE,CAACC,MAAM,CAACoC,cAAc,EAAE;QAAElC,KAAK,EAAElB,IAAI;QAAEmB,MAAM,EAAEnB,IAAI;QAAE0B,YAAY,EAAED;MAAO,CAAC,CAAE;MAAAZ,QAAA,EACvFoC,WAAW,gBACV/D,IAAA,CAACN,KAAK;QACJkC,MAAM,EAAEmC,WAAY;QACpB/C,OAAO,EAAEA,CAAA,KAAMkC,UAAU,CAAC,IAAI,CAAE;QAChCiB,UAAU,EAAC,OAAO;QAClBtC,KAAK,EAAE,CAAClC,UAAU,CAACyE,kBAAkB,EAAE;UAAE5B,YAAY,EAAED;QAAO,CAAC,EAAEO,UAAU;MAAE,CAC9E,CAAC,gBAEF9C,IAAA,CAACkB,cAAc;QAACJ,IAAI,EAAEA,IAAK;QAACC,aAAa,EAAEA;MAAc,CAAE;IAC5D,CACG,CACP,EAEA4B,QAAQ,IAAIC,YAAY,iBACvB5C,IAAA,CAACP,IAAI;MACHoC,KAAK,EAAE,CACLC,MAAM,CAACuC,aAAa,EACpB;QACErC,KAAK,EAAElB,IAAI,GAAG,IAAI;QAClBmB,MAAM,EAAEnB,IAAI,GAAG;MACjB,CAAC,CACD;MAAAa,QAAA,EAEDiB;IAAY,CACT,CACP;EAAA,CACG,CACP;EAED,IAAIG,OAAO,EAAE;IACX,oBAAO/C,IAAA,CAACJ,gBAAgB;MAACmD,OAAO,EAAEA,OAAQ;MAAApB,QAAA,EAAEqC;IAAO,CAAmB,CAAC;EACzE;EAEA,OAAOA,OAAO;AAChB,CAAC;AAED,MAAMlC,MAAM,GAAGnC,UAAU,CAAC2E,MAAM,CAAC;EAC/BL,SAAS,EAAE;IACTM,QAAQ,EAAE,UAAU;IACpBC,QAAQ,EAAE,SAAS;IACnBC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDR,cAAc,EAAE;IACdM,QAAQ,EAAE,QAAQ;IAClBC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDL,aAAa,EAAE;IACbE,QAAQ,EAAE,UAAU;IACpBI,MAAM,EAAE,CAAC,CAAC;IACVC,KAAK,EAAE,CAAC,CAAC;IACTH,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBG,MAAM,EAAE;EACV,CAAC;EACD9C,aAAa,EAAE;IACbwC,QAAQ,EAAE,UAAU;IACpBvC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACT6C,OAAO,EAAE;EACX;AACF,CAAC,CAAC;AAEF,OAAO,MAAMC,MAAM,gBAAG1F,IAAI,CAACqD,eAAe,CAAC;AAC3CqC,MAAM,CAACC,WAAW,GAAG,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","useMemo","useRef","useState","View","Image","StyleSheet","TouchableOpacity","useTheme","useImageResolver","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SQUIRCLE_PATH","clipIdCounter","svgModule","svgModuleResolved","getSvgModule","require","SquircleImage","uri","fallbackSource","size","fallbackColor","placeholderIcon","onError","svg","CircleFallback","icon","default","Svg","Defs","ClipPath","Path","SvgImage","clipId","href","children","source","style","styles","errorDetector","width","height","viewBox","id","d","preserveAspectRatio","clipPath","radius","borderRadius","backgroundColor","justifyContent","alignItems","overflow","AvatarComponent","verified","verifiedIcon","shape","imageStyle","placeholderColor","onPress","testID","errored","setErrored","theme","colors","backgroundTertiary","prevSourceRef","prevUriRef","current","imageResolver","resolvedUri","startsWith","resolvedImageSource","undefined","effectiveUri","imageSource","content","container","imageContainer","resizeMode","absoluteFillObject","verifiedBadge","create","position","bottom","right","zIndex","opacity","Avatar","displayName"],"sourceRoot":"../../../src","sources":["avatar/Avatar.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+
3
+ import React, { memo, useMemo } from 'react';
4
+ import { View, Text } from 'react-native';
5
+ import { useTheme } from "../theme/use-theme.js";
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ const SIZE_CONFIG = {
8
+ small: {
9
+ minWidth: 16,
10
+ height: 16,
11
+ fontSize: 10,
12
+ paddingHorizontal: 4,
13
+ dotSize: 6
14
+ },
15
+ medium: {
16
+ minWidth: 20,
17
+ height: 20,
18
+ fontSize: 12,
19
+ paddingHorizontal: 6,
20
+ dotSize: 8
21
+ },
22
+ large: {
23
+ minWidth: 24,
24
+ height: 24,
25
+ fontSize: 14,
26
+ paddingHorizontal: 8,
27
+ dotSize: 10
28
+ }
29
+ };
30
+ const PLACEMENT_CONFIG = {
31
+ 'top-right': {
32
+ top: -4,
33
+ right: -4
34
+ },
35
+ 'top-left': {
36
+ top: -4,
37
+ left: -4
38
+ },
39
+ 'bottom-right': {
40
+ bottom: -4,
41
+ right: -4
42
+ },
43
+ 'bottom-left': {
44
+ bottom: -4,
45
+ left: -4
46
+ }
47
+ };
48
+ function useColorPair(color, variant, theme) {
49
+ const colorMap = {
50
+ default: theme.colors.textSecondary,
51
+ primary: theme.colors.primary,
52
+ success: theme.colors.success,
53
+ warning: theme.colors.warning,
54
+ error: theme.colors.error,
55
+ info: theme.colors.info
56
+ };
57
+ const base = colorMap[color];
58
+ switch (variant) {
59
+ case 'solid':
60
+ return {
61
+ bg: base,
62
+ fg: '#fff'
63
+ };
64
+ case 'subtle':
65
+ return {
66
+ bg: base + '20',
67
+ fg: base
68
+ };
69
+ case 'outlined':
70
+ return {
71
+ bg: 'transparent',
72
+ fg: base
73
+ };
74
+ }
75
+ }
76
+ const BadgeComponent = ({
77
+ content,
78
+ variant = 'solid',
79
+ color = 'error',
80
+ size = 'medium',
81
+ dot = false,
82
+ max,
83
+ invisible = false,
84
+ placement = 'top-right',
85
+ children,
86
+ style,
87
+ textStyle,
88
+ testID
89
+ }) => {
90
+ const theme = useTheme();
91
+ const colors = useColorPair(color, variant, theme);
92
+ const sizeConfig = SIZE_CONFIG[size];
93
+ const displayContent = useMemo(() => {
94
+ if (dot) return null;
95
+ if (content == null) return null;
96
+ if (typeof content === 'number' && max != null && content > max) {
97
+ return `${max}+`;
98
+ }
99
+ return String(content);
100
+ }, [content, dot, max]);
101
+ const badgeStyle = useMemo(() => {
102
+ if (dot) {
103
+ return {
104
+ width: sizeConfig.dotSize,
105
+ height: sizeConfig.dotSize,
106
+ borderRadius: sizeConfig.dotSize / 2,
107
+ backgroundColor: colors.bg
108
+ };
109
+ }
110
+ const base = {
111
+ minWidth: sizeConfig.height,
112
+ height: sizeConfig.height,
113
+ borderRadius: sizeConfig.height / 2,
114
+ paddingHorizontal: sizeConfig.paddingHorizontal,
115
+ backgroundColor: colors.bg,
116
+ alignItems: 'center',
117
+ justifyContent: 'center'
118
+ };
119
+ if (variant === 'outlined') {
120
+ base.borderWidth = 1;
121
+ base.borderColor = colors.fg;
122
+ }
123
+ return base;
124
+ }, [dot, sizeConfig, colors, variant]);
125
+ const badgeTextStyle = useMemo(() => ({
126
+ fontSize: sizeConfig.fontSize,
127
+ fontWeight: '600',
128
+ color: colors.fg,
129
+ textAlign: 'center',
130
+ lineHeight: sizeConfig.height
131
+ }), [sizeConfig, colors]);
132
+
133
+ // Standalone badge (no children)
134
+ if (!children) {
135
+ if (invisible) return null;
136
+ return /*#__PURE__*/_jsx(View, {
137
+ style: [badgeStyle, style],
138
+ testID: testID,
139
+ children: displayContent != null && /*#__PURE__*/_jsx(Text, {
140
+ style: [badgeTextStyle, textStyle],
141
+ children: displayContent
142
+ })
143
+ });
144
+ }
145
+
146
+ // Positioned badge wrapping children
147
+ return /*#__PURE__*/_jsxs(View, {
148
+ style: {
149
+ position: 'relative',
150
+ alignSelf: 'flex-start'
151
+ },
152
+ testID: testID,
153
+ children: [children, !invisible && /*#__PURE__*/_jsx(View, {
154
+ style: [{
155
+ position: 'absolute',
156
+ zIndex: 1,
157
+ ...PLACEMENT_CONFIG[placement]
158
+ }, badgeStyle, style],
159
+ children: displayContent != null && /*#__PURE__*/_jsx(Text, {
160
+ style: [badgeTextStyle, textStyle],
161
+ children: displayContent
162
+ })
163
+ })]
164
+ });
165
+ };
166
+ export const Badge = /*#__PURE__*/memo(BadgeComponent);
167
+ Badge.displayName = 'Badge';
168
+ //# sourceMappingURL=Badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","memo","useMemo","View","Text","useTheme","jsx","_jsx","jsxs","_jsxs","SIZE_CONFIG","small","minWidth","height","fontSize","paddingHorizontal","dotSize","medium","large","PLACEMENT_CONFIG","top","right","left","bottom","useColorPair","color","variant","theme","colorMap","default","colors","textSecondary","primary","success","warning","error","info","base","bg","fg","BadgeComponent","content","size","dot","max","invisible","placement","children","style","textStyle","testID","sizeConfig","displayContent","String","badgeStyle","width","borderRadius","backgroundColor","alignItems","justifyContent","borderWidth","borderColor","badgeTextStyle","fontWeight","textAlign","lineHeight","position","alignSelf","zIndex","Badge","displayName"],"sourceRoot":"../../../src","sources":["badge/Badge.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,EAAEC,OAAO,QAAQ,OAAO;AAC5C,SAASC,IAAI,EAAEC,IAAI,QAAwC,cAAc;AAEzE,SAASC,QAAQ,QAAQ,uBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG9C,MAAMC,WAAW,GAAG;EAClBC,KAAK,EAAE;IAAEC,QAAQ,EAAE,EAAE;IAAEC,MAAM,EAAE,EAAE;IAAEC,QAAQ,EAAE,EAAE;IAAEC,iBAAiB,EAAE,CAAC;IAAEC,OAAO,EAAE;EAAE,CAAC;EACnFC,MAAM,EAAE;IAAEL,QAAQ,EAAE,EAAE;IAAEC,MAAM,EAAE,EAAE;IAAEC,QAAQ,EAAE,EAAE;IAAEC,iBAAiB,EAAE,CAAC;IAAEC,OAAO,EAAE;EAAE,CAAC;EACpFE,KAAK,EAAE;IAAEN,QAAQ,EAAE,EAAE;IAAEC,MAAM,EAAE,EAAE;IAAEC,QAAQ,EAAE,EAAE;IAAEC,iBAAiB,EAAE,CAAC;IAAEC,OAAO,EAAE;EAAG;AACrF,CAAU;AAEV,MAAMG,gBAAgB,GAAG;EACvB,WAAW,EAAE;IAAEC,GAAG,EAAE,CAAC,CAAC;IAAEC,KAAK,EAAE,CAAC;EAAE,CAAC;EACnC,UAAU,EAAE;IAAED,GAAG,EAAE,CAAC,CAAC;IAAEE,IAAI,EAAE,CAAC;EAAE,CAAC;EACjC,cAAc,EAAE;IAAEC,MAAM,EAAE,CAAC,CAAC;IAAEF,KAAK,EAAE,CAAC;EAAE,CAAC;EACzC,aAAa,EAAE;IAAEE,MAAM,EAAE,CAAC,CAAC;IAAED,IAAI,EAAE,CAAC;EAAE;AACxC,CAAU;AAEV,SAASE,YAAYA,CACnBC,KAAiB,EACjBC,OAAqB,EACrBC,KAAkC,EACN;EAC5B,MAAMC,QAAoC,GAAG;IAC3CC,OAAO,EAAEF,KAAK,CAACG,MAAM,CAACC,aAAa;IACnCC,OAAO,EAAEL,KAAK,CAACG,MAAM,CAACE,OAAO;IAC7BC,OAAO,EAAEN,KAAK,CAACG,MAAM,CAACG,OAAO;IAC7BC,OAAO,EAAEP,KAAK,CAACG,MAAM,CAACI,OAAO;IAC7BC,KAAK,EAAER,KAAK,CAACG,MAAM,CAACK,KAAK;IACzBC,IAAI,EAAET,KAAK,CAACG,MAAM,CAACM;EACrB,CAAC;EAED,MAAMC,IAAI,GAAGT,QAAQ,CAACH,KAAK,CAAC;EAE5B,QAAQC,OAAO;IACb,KAAK,OAAO;MACV,OAAO;QAAEY,EAAE,EAAED,IAAI;QAAEE,EAAE,EAAE;MAAO,CAAC;IACjC,KAAK,QAAQ;MACX,OAAO;QAAED,EAAE,EAAED,IAAI,GAAG,IAAI;QAAEE,EAAE,EAAEF;MAAK,CAAC;IACtC,KAAK,UAAU;MACb,OAAO;QAAEC,EAAE,EAAE,aAAa;QAAEC,EAAE,EAAEF;MAAK,CAAC;EAC1C;AACF;AAEA,MAAMG,cAAoC,GAAGA,CAAC;EAC5CC,OAAO;EACPf,OAAO,GAAG,OAAO;EACjBD,KAAK,GAAG,OAAO;EACfiB,IAAI,GAAG,QAAQ;EACfC,GAAG,GAAG,KAAK;EACXC,GAAG;EACHC,SAAS,GAAG,KAAK;EACjBC,SAAS,GAAG,WAAW;EACvBC,QAAQ;EACRC,KAAK;EACLC,SAAS;EACTC;AACF,CAAC,KAAK;EACJ,MAAMvB,KAAK,GAAGtB,QAAQ,CAAC,CAAC;EACxB,MAAMyB,MAAM,GAAGN,YAAY,CAACC,KAAK,EAAEC,OAAO,EAAEC,KAAK,CAAC;EAClD,MAAMwB,UAAU,GAAGzC,WAAW,CAACgC,IAAI,CAAC;EAEpC,MAAMU,cAAc,GAAGlD,OAAO,CAAC,MAAM;IACnC,IAAIyC,GAAG,EAAE,OAAO,IAAI;IACpB,IAAIF,OAAO,IAAI,IAAI,EAAE,OAAO,IAAI;IAChC,IAAI,OAAOA,OAAO,KAAK,QAAQ,IAAIG,GAAG,IAAI,IAAI,IAAIH,OAAO,GAAGG,GAAG,EAAE;MAC/D,OAAO,GAAGA,GAAG,GAAG;IAClB;IACA,OAAOS,MAAM,CAACZ,OAAO,CAAC;EACxB,CAAC,EAAE,CAACA,OAAO,EAAEE,GAAG,EAAEC,GAAG,CAAC,CAAC;EAEvB,MAAMU,UAAU,GAAGpD,OAAO,CAAC,MAAiB;IAC1C,IAAIyC,GAAG,EAAE;MACP,OAAO;QACLY,KAAK,EAAEJ,UAAU,CAACnC,OAAO;QACzBH,MAAM,EAAEsC,UAAU,CAACnC,OAAO;QAC1BwC,YAAY,EAAEL,UAAU,CAACnC,OAAO,GAAG,CAAC;QACpCyC,eAAe,EAAE3B,MAAM,CAACQ;MAC1B,CAAC;IACH;IAEA,MAAMD,IAAe,GAAG;MACtBzB,QAAQ,EAAEuC,UAAU,CAACtC,MAAM;MAC3BA,MAAM,EAAEsC,UAAU,CAACtC,MAAM;MACzB2C,YAAY,EAAEL,UAAU,CAACtC,MAAM,GAAG,CAAC;MACnCE,iBAAiB,EAAEoC,UAAU,CAACpC,iBAAiB;MAC/C0C,eAAe,EAAE3B,MAAM,CAACQ,EAAE;MAC1BoB,UAAU,EAAE,QAAQ;MACpBC,cAAc,EAAE;IAClB,CAAC;IAED,IAAIjC,OAAO,KAAK,UAAU,EAAE;MAC1BW,IAAI,CAACuB,WAAW,GAAG,CAAC;MACpBvB,IAAI,CAACwB,WAAW,GAAG/B,MAAM,CAACS,EAAE;IAC9B;IAEA,OAAOF,IAAI;EACb,CAAC,EAAE,CAACM,GAAG,EAAEQ,UAAU,EAAErB,MAAM,EAAEJ,OAAO,CAAC,CAAC;EAEtC,MAAMoC,cAAc,GAAG5D,OAAO,CAC5B,OAAkB;IAChBY,QAAQ,EAAEqC,UAAU,CAACrC,QAAQ;IAC7BiD,UAAU,EAAE,KAAK;IACjBtC,KAAK,EAAEK,MAAM,CAACS,EAAE;IAChByB,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAEd,UAAU,CAACtC;EACzB,CAAC,CAAC,EACF,CAACsC,UAAU,EAAErB,MAAM,CACrB,CAAC;;EAED;EACA,IAAI,CAACiB,QAAQ,EAAE;IACb,IAAIF,SAAS,EAAE,OAAO,IAAI;IAE1B,oBACEtC,IAAA,CAACJ,IAAI;MAAC6C,KAAK,EAAE,CAACM,UAAU,EAAEN,KAAK,CAAE;MAACE,MAAM,EAAEA,MAAO;MAAAH,QAAA,EAC9CK,cAAc,IAAI,IAAI,iBACrB7C,IAAA,CAACH,IAAI;QAAC4C,KAAK,EAAE,CAACc,cAAc,EAAEb,SAAS,CAAE;QAAAF,QAAA,EAAEK;MAAc,CAAO;IACjE,CACG,CAAC;EAEX;;EAEA;EACA,oBACE3C,KAAA,CAACN,IAAI;IAAC6C,KAAK,EAAE;MAAEkB,QAAQ,EAAE,UAAU;MAAEC,SAAS,EAAE;IAAa,CAAE;IAACjB,MAAM,EAAEA,MAAO;IAAAH,QAAA,GAC5EA,QAAQ,EACR,CAACF,SAAS,iBACTtC,IAAA,CAACJ,IAAI;MACH6C,KAAK,EAAE,CACL;QACEkB,QAAQ,EAAE,UAAU;QACpBE,MAAM,EAAE,CAAC;QACT,GAAGjD,gBAAgB,CAAC2B,SAAS;MAC/B,CAAC,EACDQ,UAAU,EACVN,KAAK,CACL;MAAAD,QAAA,EAEDK,cAAc,IAAI,IAAI,iBACrB7C,IAAA,CAACH,IAAI;QAAC4C,KAAK,EAAE,CAACc,cAAc,EAAEb,SAAS,CAAE;QAAAF,QAAA,EAAEK;MAAc,CAAO;IACjE,CACG,CACP;EAAA,CACG,CAAC;AAEX,CAAC;AAED,OAAO,MAAMiB,KAAK,gBAAGpE,IAAI,CAACuC,cAAc,CAAC;AACzC6B,KAAK,CAACC,WAAW,GAAG,OAAO","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { Badge } from "./Badge.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Badge"],"sourceRoot":"../../../src","sources":["badge/index.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,YAAS","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["badge/types.ts"],"mappings":"","ignoreList":[]}