@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.
- package/lib/commonjs/accordion/Accordion.js +230 -0
- package/lib/commonjs/accordion/Accordion.js.map +1 -0
- package/lib/commonjs/accordion/index.js +31 -0
- package/lib/commonjs/accordion/index.js.map +1 -0
- package/lib/commonjs/accordion/types.js +6 -0
- package/lib/commonjs/accordion/types.js.map +1 -0
- package/lib/commonjs/avatar/Avatar.js +19 -7
- package/lib/commonjs/avatar/Avatar.js.map +1 -1
- package/lib/commonjs/badge/Badge.js +173 -0
- package/lib/commonjs/badge/Badge.js.map +1 -0
- package/lib/commonjs/badge/index.js +13 -0
- package/lib/commonjs/badge/index.js.map +1 -0
- package/lib/commonjs/badge/types.js +6 -0
- package/lib/commonjs/badge/types.js.map +1 -0
- package/lib/commonjs/bottom-sheet/index.js +32 -14
- package/lib/commonjs/bottom-sheet/index.js.map +1 -1
- package/lib/commonjs/card/Card.js +165 -0
- package/lib/commonjs/card/Card.js.map +1 -0
- package/lib/commonjs/card/index.js +43 -0
- package/lib/commonjs/card/index.js.map +1 -0
- package/lib/commonjs/card/types.js +6 -0
- package/lib/commonjs/card/types.js.map +1 -0
- package/lib/commonjs/checkbox/Checkbox.js +177 -0
- package/lib/commonjs/checkbox/Checkbox.js.map +1 -0
- package/lib/commonjs/checkbox/index.js +13 -0
- package/lib/commonjs/checkbox/index.js.map +1 -0
- package/lib/commonjs/checkbox/types.js +6 -0
- package/lib/commonjs/checkbox/types.js.map +1 -0
- package/lib/commonjs/chip/Chip.js +180 -0
- package/lib/commonjs/chip/Chip.js.map +1 -0
- package/lib/commonjs/chip/index.js +13 -0
- package/lib/commonjs/chip/index.js.map +1 -0
- package/lib/commonjs/chip/types.js +6 -0
- package/lib/commonjs/chip/types.js.map +1 -0
- package/lib/commonjs/index.js +56 -2
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/tabs/Tabs.js +202 -0
- package/lib/commonjs/tabs/Tabs.js.map +1 -0
- package/lib/commonjs/tabs/index.js +25 -0
- package/lib/commonjs/tabs/index.js.map +1 -0
- package/lib/commonjs/tabs/types.js +6 -0
- package/lib/commonjs/tabs/types.js.map +1 -0
- package/lib/module/accordion/Accordion.js +225 -0
- package/lib/module/accordion/Accordion.js.map +1 -0
- package/lib/module/accordion/index.js +4 -0
- package/lib/module/accordion/index.js.map +1 -0
- package/lib/module/accordion/types.js +4 -0
- package/lib/module/accordion/types.js.map +1 -0
- package/lib/module/avatar/Avatar.js +19 -7
- package/lib/module/avatar/Avatar.js.map +1 -1
- package/lib/module/badge/Badge.js +168 -0
- package/lib/module/badge/Badge.js.map +1 -0
- package/lib/module/badge/index.js +4 -0
- package/lib/module/badge/index.js.map +1 -0
- package/lib/module/badge/types.js +4 -0
- package/lib/module/badge/types.js.map +1 -0
- package/lib/module/bottom-sheet/index.js +32 -14
- package/lib/module/bottom-sheet/index.js.map +1 -1
- package/lib/module/card/Card.js +160 -0
- package/lib/module/card/Card.js.map +1 -0
- package/lib/module/card/index.js +4 -0
- package/lib/module/card/index.js.map +1 -0
- package/lib/module/card/types.js +4 -0
- package/lib/module/card/types.js.map +1 -0
- package/lib/module/checkbox/Checkbox.js +172 -0
- package/lib/module/checkbox/Checkbox.js.map +1 -0
- package/lib/module/checkbox/index.js +4 -0
- package/lib/module/checkbox/index.js.map +1 -0
- package/lib/module/checkbox/types.js +4 -0
- package/lib/module/checkbox/types.js.map +1 -0
- package/lib/module/chip/Chip.js +175 -0
- package/lib/module/chip/Chip.js.map +1 -0
- package/lib/module/chip/index.js +4 -0
- package/lib/module/chip/index.js.map +1 -0
- package/lib/module/chip/types.js +4 -0
- package/lib/module/chip/types.js.map +1 -0
- package/lib/module/index.js +8 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/tabs/Tabs.js +197 -0
- package/lib/module/tabs/Tabs.js.map +1 -0
- package/lib/module/tabs/index.js +4 -0
- package/lib/module/tabs/index.js.map +1 -0
- package/lib/module/tabs/types.js +4 -0
- package/lib/module/tabs/types.js.map +1 -0
- package/lib/typescript/commonjs/__tests__/BloomThemeProvider.test.d.ts +2 -0
- package/lib/typescript/commonjs/__tests__/BloomThemeProvider.test.d.ts.map +1 -0
- package/lib/typescript/commonjs/__tests__/BottomSheet.test.d.ts +2 -0
- package/lib/typescript/commonjs/__tests__/BottomSheet.test.d.ts.map +1 -0
- package/lib/typescript/commonjs/__tests__/Button.test.d.ts +2 -0
- package/lib/typescript/commonjs/__tests__/Button.test.d.ts.map +1 -0
- package/lib/typescript/commonjs/__tests__/theme.test.d.ts +2 -0
- package/lib/typescript/commonjs/__tests__/theme.test.d.ts.map +1 -0
- package/lib/typescript/commonjs/accordion/Accordion.d.ts +7 -0
- package/lib/typescript/commonjs/accordion/Accordion.d.ts.map +1 -0
- package/lib/typescript/commonjs/accordion/index.d.ts +3 -0
- package/lib/typescript/commonjs/accordion/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/accordion/types.d.ts +38 -0
- package/lib/typescript/commonjs/accordion/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/avatar/Avatar.d.ts.map +1 -1
- package/lib/typescript/commonjs/avatar/types.d.ts +4 -0
- package/lib/typescript/commonjs/avatar/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/badge/Badge.d.ts +4 -0
- package/lib/typescript/commonjs/badge/Badge.d.ts.map +1 -0
- package/lib/typescript/commonjs/badge/index.d.ts +3 -0
- package/lib/typescript/commonjs/badge/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/badge/types.d.ts +29 -0
- package/lib/typescript/commonjs/badge/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/bottom-sheet/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/card/Card.d.ts +9 -0
- package/lib/typescript/commonjs/card/Card.d.ts.map +1 -0
- package/lib/typescript/commonjs/card/index.d.ts +3 -0
- package/lib/typescript/commonjs/card/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/card/types.d.ts +34 -0
- package/lib/typescript/commonjs/card/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/checkbox/Checkbox.d.ts +4 -0
- package/lib/typescript/commonjs/checkbox/Checkbox.d.ts.map +1 -0
- package/lib/typescript/commonjs/checkbox/index.d.ts +3 -0
- package/lib/typescript/commonjs/checkbox/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/checkbox/types.d.ts +25 -0
- package/lib/typescript/commonjs/checkbox/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/chip/Chip.d.ts +4 -0
- package/lib/typescript/commonjs/chip/Chip.d.ts.map +1 -0
- package/lib/typescript/commonjs/chip/index.d.ts +3 -0
- package/lib/typescript/commonjs/chip/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/chip/types.d.ts +31 -0
- package/lib/typescript/commonjs/chip/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/index.d.ts +6 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/tabs/Tabs.d.ts +6 -0
- package/lib/typescript/commonjs/tabs/Tabs.d.ts.map +1 -0
- package/lib/typescript/commonjs/tabs/index.d.ts +3 -0
- package/lib/typescript/commonjs/tabs/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/tabs/types.d.ts +34 -0
- package/lib/typescript/commonjs/tabs/types.d.ts.map +1 -0
- package/lib/typescript/module/__tests__/BloomThemeProvider.test.d.ts +2 -0
- package/lib/typescript/module/__tests__/BloomThemeProvider.test.d.ts.map +1 -0
- package/lib/typescript/module/__tests__/BottomSheet.test.d.ts +2 -0
- package/lib/typescript/module/__tests__/BottomSheet.test.d.ts.map +1 -0
- package/lib/typescript/module/__tests__/Button.test.d.ts +2 -0
- package/lib/typescript/module/__tests__/Button.test.d.ts.map +1 -0
- package/lib/typescript/module/__tests__/theme.test.d.ts +2 -0
- package/lib/typescript/module/__tests__/theme.test.d.ts.map +1 -0
- package/lib/typescript/module/accordion/Accordion.d.ts +7 -0
- package/lib/typescript/module/accordion/Accordion.d.ts.map +1 -0
- package/lib/typescript/module/accordion/index.d.ts +3 -0
- package/lib/typescript/module/accordion/index.d.ts.map +1 -0
- package/lib/typescript/module/accordion/types.d.ts +38 -0
- package/lib/typescript/module/accordion/types.d.ts.map +1 -0
- package/lib/typescript/module/avatar/Avatar.d.ts.map +1 -1
- package/lib/typescript/module/avatar/types.d.ts +4 -0
- package/lib/typescript/module/avatar/types.d.ts.map +1 -1
- package/lib/typescript/module/badge/Badge.d.ts +4 -0
- package/lib/typescript/module/badge/Badge.d.ts.map +1 -0
- package/lib/typescript/module/badge/index.d.ts +3 -0
- package/lib/typescript/module/badge/index.d.ts.map +1 -0
- package/lib/typescript/module/badge/types.d.ts +29 -0
- package/lib/typescript/module/badge/types.d.ts.map +1 -0
- package/lib/typescript/module/bottom-sheet/index.d.ts.map +1 -1
- package/lib/typescript/module/card/Card.d.ts +9 -0
- package/lib/typescript/module/card/Card.d.ts.map +1 -0
- package/lib/typescript/module/card/index.d.ts +3 -0
- package/lib/typescript/module/card/index.d.ts.map +1 -0
- package/lib/typescript/module/card/types.d.ts +34 -0
- package/lib/typescript/module/card/types.d.ts.map +1 -0
- package/lib/typescript/module/checkbox/Checkbox.d.ts +4 -0
- package/lib/typescript/module/checkbox/Checkbox.d.ts.map +1 -0
- package/lib/typescript/module/checkbox/index.d.ts +3 -0
- package/lib/typescript/module/checkbox/index.d.ts.map +1 -0
- package/lib/typescript/module/checkbox/types.d.ts +25 -0
- package/lib/typescript/module/checkbox/types.d.ts.map +1 -0
- package/lib/typescript/module/chip/Chip.d.ts +4 -0
- package/lib/typescript/module/chip/Chip.d.ts.map +1 -0
- package/lib/typescript/module/chip/index.d.ts +3 -0
- package/lib/typescript/module/chip/index.d.ts.map +1 -0
- package/lib/typescript/module/chip/types.d.ts +31 -0
- package/lib/typescript/module/chip/types.d.ts.map +1 -0
- package/lib/typescript/module/index.d.ts +6 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/tabs/Tabs.d.ts +6 -0
- package/lib/typescript/module/tabs/Tabs.d.ts.map +1 -0
- package/lib/typescript/module/tabs/index.d.ts +3 -0
- package/lib/typescript/module/tabs/index.d.ts.map +1 -0
- package/lib/typescript/module/tabs/types.d.ts +34 -0
- package/lib/typescript/module/tabs/types.d.ts.map +1 -0
- package/package.json +79 -1
- package/src/__tests__/BloomThemeProvider.test.tsx +160 -0
- package/src/__tests__/BottomSheet.test.tsx +109 -0
- package/src/__tests__/Button.test.tsx +98 -0
- package/src/__tests__/theme.test.ts +148 -0
- package/src/accordion/Accordion.tsx +261 -0
- package/src/accordion/index.ts +8 -0
- package/src/accordion/types.ts +42 -0
- package/src/avatar/Avatar.tsx +16 -6
- package/src/avatar/types.ts +4 -0
- package/src/badge/Badge.tsx +151 -0
- package/src/badge/index.ts +8 -0
- package/src/badge/types.ts +30 -0
- package/src/bottom-sheet/index.tsx +30 -11
- package/src/card/Card.tsx +197 -0
- package/src/card/index.ts +10 -0
- package/src/card/types.ts +40 -0
- package/src/checkbox/Checkbox.tsx +166 -0
- package/src/checkbox/index.ts +2 -0
- package/src/checkbox/types.ts +26 -0
- package/src/chip/Chip.tsx +156 -0
- package/src/chip/index.ts +2 -0
- package/src/chip/types.ts +32 -0
- package/src/index.ts +8 -0
- package/src/tabs/Tabs.tsx +218 -0
- package/src/tabs/index.ts +2 -0
- package/src/tabs/types.ts +37 -0
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.AccordionTrigger = exports.AccordionItem = exports.AccordionContent = exports.Accordion = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _useTheme = require("../theme/use-theme.js");
|
|
10
|
+
var _tokens = require("../styles/tokens.js");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
13
|
+
// ---- Context ----
|
|
14
|
+
|
|
15
|
+
const AccordionContext = /*#__PURE__*/(0, _react.createContext)({
|
|
16
|
+
expandedValues: new Set(),
|
|
17
|
+
toggle: () => {},
|
|
18
|
+
type: 'single'
|
|
19
|
+
});
|
|
20
|
+
const AccordionItemContext = /*#__PURE__*/(0, _react.createContext)({
|
|
21
|
+
value: '',
|
|
22
|
+
isExpanded: false,
|
|
23
|
+
disabled: false
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
// ---- Accordion Root ----
|
|
27
|
+
|
|
28
|
+
const AccordionComponent = ({
|
|
29
|
+
value,
|
|
30
|
+
onValueChange,
|
|
31
|
+
type = 'single',
|
|
32
|
+
children,
|
|
33
|
+
style,
|
|
34
|
+
testID
|
|
35
|
+
}) => {
|
|
36
|
+
const expandedValues = (0, _react.useMemo)(() => {
|
|
37
|
+
if (value == null) return new Set();
|
|
38
|
+
if (Array.isArray(value)) return new Set(value);
|
|
39
|
+
return new Set([value]);
|
|
40
|
+
}, [value]);
|
|
41
|
+
const toggle = (0, _react.useCallback)(itemValue => {
|
|
42
|
+
if (type === 'single') {
|
|
43
|
+
const next = expandedValues.has(itemValue) ? undefined : itemValue;
|
|
44
|
+
onValueChange(next);
|
|
45
|
+
} else {
|
|
46
|
+
const next = new Set(expandedValues);
|
|
47
|
+
if (next.has(itemValue)) {
|
|
48
|
+
next.delete(itemValue);
|
|
49
|
+
} else {
|
|
50
|
+
next.add(itemValue);
|
|
51
|
+
}
|
|
52
|
+
onValueChange(Array.from(next));
|
|
53
|
+
}
|
|
54
|
+
}, [type, expandedValues, onValueChange]);
|
|
55
|
+
const contextValue = (0, _react.useMemo)(() => ({
|
|
56
|
+
expandedValues,
|
|
57
|
+
toggle,
|
|
58
|
+
type
|
|
59
|
+
}), [expandedValues, toggle, type]);
|
|
60
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(AccordionContext.Provider, {
|
|
61
|
+
value: contextValue,
|
|
62
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
63
|
+
style: style,
|
|
64
|
+
testID: testID,
|
|
65
|
+
children: children
|
|
66
|
+
})
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
// ---- Accordion Item ----
|
|
71
|
+
|
|
72
|
+
const AccordionItemComponent = ({
|
|
73
|
+
value,
|
|
74
|
+
children,
|
|
75
|
+
disabled = false,
|
|
76
|
+
style
|
|
77
|
+
}) => {
|
|
78
|
+
const {
|
|
79
|
+
expandedValues
|
|
80
|
+
} = (0, _react.useContext)(AccordionContext);
|
|
81
|
+
const isExpanded = expandedValues.has(value);
|
|
82
|
+
const theme = (0, _useTheme.useTheme)();
|
|
83
|
+
const itemContext = (0, _react.useMemo)(() => ({
|
|
84
|
+
value,
|
|
85
|
+
isExpanded,
|
|
86
|
+
disabled
|
|
87
|
+
}), [value, isExpanded, disabled]);
|
|
88
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(AccordionItemContext.Provider, {
|
|
89
|
+
value: itemContext,
|
|
90
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
91
|
+
style: [{
|
|
92
|
+
borderBottomWidth: 1,
|
|
93
|
+
borderBottomColor: theme.colors.borderLight
|
|
94
|
+
}, style],
|
|
95
|
+
children: children
|
|
96
|
+
})
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
// ---- Accordion Trigger ----
|
|
101
|
+
|
|
102
|
+
const AccordionTriggerComponent = ({
|
|
103
|
+
children,
|
|
104
|
+
icon,
|
|
105
|
+
style,
|
|
106
|
+
textStyle
|
|
107
|
+
}) => {
|
|
108
|
+
const theme = (0, _useTheme.useTheme)();
|
|
109
|
+
const {
|
|
110
|
+
toggle
|
|
111
|
+
} = (0, _react.useContext)(AccordionContext);
|
|
112
|
+
const {
|
|
113
|
+
value,
|
|
114
|
+
isExpanded,
|
|
115
|
+
disabled
|
|
116
|
+
} = (0, _react.useContext)(AccordionItemContext);
|
|
117
|
+
const rotateAnim = (0, _react.useRef)(new _reactNative.Animated.Value(isExpanded ? 1 : 0)).current;
|
|
118
|
+
(0, _react.useEffect)(() => {
|
|
119
|
+
_reactNative.Animated.spring(rotateAnim, {
|
|
120
|
+
toValue: isExpanded ? 1 : 0,
|
|
121
|
+
useNativeDriver: true,
|
|
122
|
+
..._tokens.animation.spring.snappy
|
|
123
|
+
}).start();
|
|
124
|
+
}, [isExpanded, rotateAnim]);
|
|
125
|
+
const handlePress = (0, _react.useCallback)(() => {
|
|
126
|
+
if (!disabled) {
|
|
127
|
+
toggle(value);
|
|
128
|
+
}
|
|
129
|
+
}, [value, disabled, toggle]);
|
|
130
|
+
const rotation = rotateAnim.interpolate({
|
|
131
|
+
inputRange: [0, 1],
|
|
132
|
+
outputRange: ['0deg', '180deg']
|
|
133
|
+
});
|
|
134
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
|
|
135
|
+
style: ({
|
|
136
|
+
pressed
|
|
137
|
+
}) => [{
|
|
138
|
+
flexDirection: 'row',
|
|
139
|
+
alignItems: 'center',
|
|
140
|
+
paddingVertical: _tokens.space.md,
|
|
141
|
+
paddingHorizontal: _tokens.space.xs,
|
|
142
|
+
gap: _tokens.space.sm,
|
|
143
|
+
opacity: disabled ? 0.4 : pressed ? 0.7 : 1
|
|
144
|
+
}, style],
|
|
145
|
+
onPress: handlePress,
|
|
146
|
+
disabled: disabled,
|
|
147
|
+
accessibilityRole: "button",
|
|
148
|
+
accessibilityState: {
|
|
149
|
+
expanded: isExpanded,
|
|
150
|
+
disabled
|
|
151
|
+
},
|
|
152
|
+
children: [icon, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
153
|
+
style: {
|
|
154
|
+
flex: 1
|
|
155
|
+
},
|
|
156
|
+
children: typeof children === 'string' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
157
|
+
style: [{
|
|
158
|
+
fontSize: 15,
|
|
159
|
+
fontWeight: '600',
|
|
160
|
+
color: theme.colors.text
|
|
161
|
+
}, textStyle],
|
|
162
|
+
children: children
|
|
163
|
+
}) : children
|
|
164
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
165
|
+
style: {
|
|
166
|
+
transform: [{
|
|
167
|
+
rotate: rotation
|
|
168
|
+
}]
|
|
169
|
+
},
|
|
170
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
171
|
+
style: {
|
|
172
|
+
fontSize: 16,
|
|
173
|
+
color: theme.colors.textSecondary,
|
|
174
|
+
lineHeight: 18
|
|
175
|
+
},
|
|
176
|
+
children: '\u25BE'
|
|
177
|
+
})
|
|
178
|
+
})]
|
|
179
|
+
});
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
// ---- Accordion Content ----
|
|
183
|
+
|
|
184
|
+
const AccordionContentComponent = ({
|
|
185
|
+
children,
|
|
186
|
+
style
|
|
187
|
+
}) => {
|
|
188
|
+
const {
|
|
189
|
+
isExpanded
|
|
190
|
+
} = (0, _react.useContext)(AccordionItemContext);
|
|
191
|
+
const heightAnim = (0, _react.useRef)(new _reactNative.Animated.Value(isExpanded ? 1 : 0)).current;
|
|
192
|
+
(0, _react.useEffect)(() => {
|
|
193
|
+
_reactNative.Animated.spring(heightAnim, {
|
|
194
|
+
toValue: isExpanded ? 1 : 0,
|
|
195
|
+
useNativeDriver: false,
|
|
196
|
+
..._tokens.animation.spring.gentle
|
|
197
|
+
}).start();
|
|
198
|
+
}, [isExpanded, heightAnim]);
|
|
199
|
+
const opacity = heightAnim.interpolate({
|
|
200
|
+
inputRange: [0, 1],
|
|
201
|
+
outputRange: [0, 1]
|
|
202
|
+
});
|
|
203
|
+
const maxHeight = heightAnim.interpolate({
|
|
204
|
+
inputRange: [0, 1],
|
|
205
|
+
outputRange: [0, 500] // reasonable max; content will use its natural height
|
|
206
|
+
});
|
|
207
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
208
|
+
style: [{
|
|
209
|
+
overflow: 'hidden',
|
|
210
|
+
opacity,
|
|
211
|
+
maxHeight
|
|
212
|
+
}, style],
|
|
213
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
214
|
+
style: {
|
|
215
|
+
paddingBottom: _tokens.space.md,
|
|
216
|
+
paddingHorizontal: _tokens.space.xs
|
|
217
|
+
},
|
|
218
|
+
children: children
|
|
219
|
+
})
|
|
220
|
+
});
|
|
221
|
+
};
|
|
222
|
+
const Accordion = exports.Accordion = /*#__PURE__*/(0, _react.memo)(AccordionComponent);
|
|
223
|
+
Accordion.displayName = 'Accordion';
|
|
224
|
+
const AccordionItem = exports.AccordionItem = /*#__PURE__*/(0, _react.memo)(AccordionItemComponent);
|
|
225
|
+
AccordionItem.displayName = 'AccordionItem';
|
|
226
|
+
const AccordionTrigger = exports.AccordionTrigger = /*#__PURE__*/(0, _react.memo)(AccordionTriggerComponent);
|
|
227
|
+
AccordionTrigger.displayName = 'AccordionTrigger';
|
|
228
|
+
const AccordionContent = exports.AccordionContent = /*#__PURE__*/(0, _react.memo)(AccordionContentComponent);
|
|
229
|
+
AccordionContent.displayName = 'AccordionContent';
|
|
230
|
+
//# sourceMappingURL=Accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_tokens","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AccordionContext","createContext","expandedValues","Set","toggle","type","AccordionItemContext","value","isExpanded","disabled","AccordionComponent","onValueChange","children","style","testID","useMemo","Array","isArray","useCallback","itemValue","next","undefined","delete","add","from","contextValue","jsx","Provider","View","AccordionItemComponent","useContext","theme","useTheme","itemContext","borderBottomWidth","borderBottomColor","colors","borderLight","AccordionTriggerComponent","icon","textStyle","rotateAnim","useRef","Animated","Value","current","useEffect","spring","toValue","useNativeDriver","animation","snappy","start","handlePress","rotation","interpolate","inputRange","outputRange","jsxs","Pressable","pressed","flexDirection","alignItems","paddingVertical","space","md","paddingHorizontal","xs","gap","sm","opacity","onPress","accessibilityRole","accessibilityState","expanded","flex","Text","fontSize","fontWeight","color","text","transform","rotate","textSecondary","lineHeight","AccordionContentComponent","heightAnim","gentle","maxHeight","overflow","paddingBottom","Accordion","exports","memo","displayName","AccordionItem","AccordionTrigger","AccordionContent"],"sourceRoot":"../../../src","sources":["accordion/Accordion.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "Accordion", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _Accordion.Accordion;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "AccordionContent", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _Accordion.AccordionContent;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "AccordionItem", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _Accordion.AccordionItem;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "AccordionTrigger", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _Accordion.AccordionTrigger;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
var _Accordion = require("./Accordion.js");
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_Accordion","require"],"sourceRoot":"../../../src","sources":["accordion/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["accordion/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -35,6 +35,7 @@ function SquircleImage({
|
|
|
35
35
|
fallbackSource,
|
|
36
36
|
size,
|
|
37
37
|
fallbackColor,
|
|
38
|
+
placeholderIcon,
|
|
38
39
|
onError
|
|
39
40
|
}) {
|
|
40
41
|
const svg = getSvgModule();
|
|
@@ -42,7 +43,8 @@ function SquircleImage({
|
|
|
42
43
|
// Fallback to circle if react-native-svg is not installed
|
|
43
44
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(CircleFallback, {
|
|
44
45
|
size: size,
|
|
45
|
-
fallbackColor: fallbackColor
|
|
46
|
+
fallbackColor: fallbackColor,
|
|
47
|
+
icon: placeholderIcon
|
|
46
48
|
});
|
|
47
49
|
}
|
|
48
50
|
const {
|
|
@@ -59,7 +61,8 @@ function SquircleImage({
|
|
|
59
61
|
if (!href) {
|
|
60
62
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(CircleFallback, {
|
|
61
63
|
size: size,
|
|
62
|
-
fallbackColor: fallbackColor
|
|
64
|
+
fallbackColor: fallbackColor,
|
|
65
|
+
icon: placeholderIcon
|
|
63
66
|
});
|
|
64
67
|
}
|
|
65
68
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
@@ -92,7 +95,8 @@ function SquircleImage({
|
|
|
92
95
|
}
|
|
93
96
|
function CircleFallback({
|
|
94
97
|
size,
|
|
95
|
-
fallbackColor
|
|
98
|
+
fallbackColor,
|
|
99
|
+
icon
|
|
96
100
|
}) {
|
|
97
101
|
const radius = size / 2;
|
|
98
102
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
@@ -100,8 +104,12 @@ function CircleFallback({
|
|
|
100
104
|
width: size,
|
|
101
105
|
height: size,
|
|
102
106
|
borderRadius: radius,
|
|
103
|
-
backgroundColor: fallbackColor
|
|
104
|
-
|
|
107
|
+
backgroundColor: fallbackColor,
|
|
108
|
+
justifyContent: 'center',
|
|
109
|
+
alignItems: 'center',
|
|
110
|
+
overflow: 'hidden'
|
|
111
|
+
},
|
|
112
|
+
children: icon ?? null
|
|
105
113
|
});
|
|
106
114
|
}
|
|
107
115
|
const AvatarComponent = ({
|
|
@@ -114,13 +122,15 @@ const AvatarComponent = ({
|
|
|
114
122
|
shape = 'circle',
|
|
115
123
|
style,
|
|
116
124
|
imageStyle,
|
|
125
|
+
placeholderColor,
|
|
126
|
+
placeholderIcon,
|
|
117
127
|
onPress,
|
|
118
128
|
testID
|
|
119
129
|
}) => {
|
|
120
130
|
const [errored, setErrored] = (0, _react.useState)(false);
|
|
121
131
|
const theme = (0, _useTheme.useTheme)();
|
|
122
132
|
const radius = size / 2;
|
|
123
|
-
const fallbackColor = theme.colors.backgroundTertiary;
|
|
133
|
+
const fallbackColor = placeholderColor || theme.colors.backgroundTertiary;
|
|
124
134
|
|
|
125
135
|
// Reset error state when source changes (e.g., list item recycling
|
|
126
136
|
// or async URL resolution replacing an initial file ID).
|
|
@@ -171,6 +181,7 @@ const AvatarComponent = ({
|
|
|
171
181
|
fallbackSource: fallbackSource,
|
|
172
182
|
size: size,
|
|
173
183
|
fallbackColor: fallbackColor,
|
|
184
|
+
placeholderIcon: placeholderIcon,
|
|
174
185
|
onError: () => setErrored(true)
|
|
175
186
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
176
187
|
style: [styles.imageContainer, {
|
|
@@ -187,7 +198,8 @@ const AvatarComponent = ({
|
|
|
187
198
|
}, imageStyle]
|
|
188
199
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(CircleFallback, {
|
|
189
200
|
size: size,
|
|
190
|
-
fallbackColor: fallbackColor
|
|
201
|
+
fallbackColor: fallbackColor,
|
|
202
|
+
icon: placeholderIcon
|
|
191
203
|
})
|
|
192
204
|
}), verified && verifiedIcon && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
193
205
|
style: [styles.verifiedBadge, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_context","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SQUIRCLE_PATH","clipIdCounter","svgModule","svgModuleResolved","getSvgModule","SquircleImage","uri","fallbackSource","size","fallbackColor","onError","svg","jsx","CircleFallback","Svg","Defs","ClipPath","Path","Image","SvgImage","clipId","useMemo","href","jsxs","Fragment","children","source","style","styles","errorDetector","width","height","viewBox","id","d","preserveAspectRatio","clipPath","radius","View","borderRadius","backgroundColor","AvatarComponent","verified","verifiedIcon","shape","imageStyle","onPress","testID","errored","setErrored","useState","theme","useTheme","colors","backgroundTertiary","prevSourceRef","useRef","prevUriRef","current","imageResolver","useImageResolver","resolvedUri","startsWith","resolvedImageSource","undefined","effectiveUri","imageSource","content","container","imageContainer","resizeMode","StyleSheet","absoluteFillObject","verifiedBadge","TouchableOpacity","create","position","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_context","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SQUIRCLE_PATH","clipIdCounter","svgModule","svgModuleResolved","getSvgModule","SquircleImage","uri","fallbackSource","size","fallbackColor","placeholderIcon","onError","svg","jsx","CircleFallback","icon","Svg","Defs","ClipPath","Path","Image","SvgImage","clipId","useMemo","href","jsxs","Fragment","children","source","style","styles","errorDetector","width","height","viewBox","id","d","preserveAspectRatio","clipPath","radius","View","borderRadius","backgroundColor","justifyContent","alignItems","overflow","AvatarComponent","verified","verifiedIcon","shape","imageStyle","placeholderColor","onPress","testID","errored","setErrored","useState","theme","useTheme","colors","backgroundTertiary","prevSourceRef","useRef","prevUriRef","current","imageResolver","useImageResolver","resolvedUri","startsWith","resolvedImageSource","undefined","effectiveUri","imageSource","content","container","imageContainer","resizeMode","StyleSheet","absoluteFillObject","verifiedBadge","TouchableOpacity","create","position","bottom","right","zIndex","opacity","Avatar","exports","memo","displayName"],"sourceRoot":"../../../src","sources":["avatar/Avatar.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Badge = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _useTheme = require("../theme/use-theme.js");
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
12
|
+
const SIZE_CONFIG = {
|
|
13
|
+
small: {
|
|
14
|
+
minWidth: 16,
|
|
15
|
+
height: 16,
|
|
16
|
+
fontSize: 10,
|
|
17
|
+
paddingHorizontal: 4,
|
|
18
|
+
dotSize: 6
|
|
19
|
+
},
|
|
20
|
+
medium: {
|
|
21
|
+
minWidth: 20,
|
|
22
|
+
height: 20,
|
|
23
|
+
fontSize: 12,
|
|
24
|
+
paddingHorizontal: 6,
|
|
25
|
+
dotSize: 8
|
|
26
|
+
},
|
|
27
|
+
large: {
|
|
28
|
+
minWidth: 24,
|
|
29
|
+
height: 24,
|
|
30
|
+
fontSize: 14,
|
|
31
|
+
paddingHorizontal: 8,
|
|
32
|
+
dotSize: 10
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
const PLACEMENT_CONFIG = {
|
|
36
|
+
'top-right': {
|
|
37
|
+
top: -4,
|
|
38
|
+
right: -4
|
|
39
|
+
},
|
|
40
|
+
'top-left': {
|
|
41
|
+
top: -4,
|
|
42
|
+
left: -4
|
|
43
|
+
},
|
|
44
|
+
'bottom-right': {
|
|
45
|
+
bottom: -4,
|
|
46
|
+
right: -4
|
|
47
|
+
},
|
|
48
|
+
'bottom-left': {
|
|
49
|
+
bottom: -4,
|
|
50
|
+
left: -4
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
function useColorPair(color, variant, theme) {
|
|
54
|
+
const colorMap = {
|
|
55
|
+
default: theme.colors.textSecondary,
|
|
56
|
+
primary: theme.colors.primary,
|
|
57
|
+
success: theme.colors.success,
|
|
58
|
+
warning: theme.colors.warning,
|
|
59
|
+
error: theme.colors.error,
|
|
60
|
+
info: theme.colors.info
|
|
61
|
+
};
|
|
62
|
+
const base = colorMap[color];
|
|
63
|
+
switch (variant) {
|
|
64
|
+
case 'solid':
|
|
65
|
+
return {
|
|
66
|
+
bg: base,
|
|
67
|
+
fg: '#fff'
|
|
68
|
+
};
|
|
69
|
+
case 'subtle':
|
|
70
|
+
return {
|
|
71
|
+
bg: base + '20',
|
|
72
|
+
fg: base
|
|
73
|
+
};
|
|
74
|
+
case 'outlined':
|
|
75
|
+
return {
|
|
76
|
+
bg: 'transparent',
|
|
77
|
+
fg: base
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
const BadgeComponent = ({
|
|
82
|
+
content,
|
|
83
|
+
variant = 'solid',
|
|
84
|
+
color = 'error',
|
|
85
|
+
size = 'medium',
|
|
86
|
+
dot = false,
|
|
87
|
+
max,
|
|
88
|
+
invisible = false,
|
|
89
|
+
placement = 'top-right',
|
|
90
|
+
children,
|
|
91
|
+
style,
|
|
92
|
+
textStyle,
|
|
93
|
+
testID
|
|
94
|
+
}) => {
|
|
95
|
+
const theme = (0, _useTheme.useTheme)();
|
|
96
|
+
const colors = useColorPair(color, variant, theme);
|
|
97
|
+
const sizeConfig = SIZE_CONFIG[size];
|
|
98
|
+
const displayContent = (0, _react.useMemo)(() => {
|
|
99
|
+
if (dot) return null;
|
|
100
|
+
if (content == null) return null;
|
|
101
|
+
if (typeof content === 'number' && max != null && content > max) {
|
|
102
|
+
return `${max}+`;
|
|
103
|
+
}
|
|
104
|
+
return String(content);
|
|
105
|
+
}, [content, dot, max]);
|
|
106
|
+
const badgeStyle = (0, _react.useMemo)(() => {
|
|
107
|
+
if (dot) {
|
|
108
|
+
return {
|
|
109
|
+
width: sizeConfig.dotSize,
|
|
110
|
+
height: sizeConfig.dotSize,
|
|
111
|
+
borderRadius: sizeConfig.dotSize / 2,
|
|
112
|
+
backgroundColor: colors.bg
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
const base = {
|
|
116
|
+
minWidth: sizeConfig.height,
|
|
117
|
+
height: sizeConfig.height,
|
|
118
|
+
borderRadius: sizeConfig.height / 2,
|
|
119
|
+
paddingHorizontal: sizeConfig.paddingHorizontal,
|
|
120
|
+
backgroundColor: colors.bg,
|
|
121
|
+
alignItems: 'center',
|
|
122
|
+
justifyContent: 'center'
|
|
123
|
+
};
|
|
124
|
+
if (variant === 'outlined') {
|
|
125
|
+
base.borderWidth = 1;
|
|
126
|
+
base.borderColor = colors.fg;
|
|
127
|
+
}
|
|
128
|
+
return base;
|
|
129
|
+
}, [dot, sizeConfig, colors, variant]);
|
|
130
|
+
const badgeTextStyle = (0, _react.useMemo)(() => ({
|
|
131
|
+
fontSize: sizeConfig.fontSize,
|
|
132
|
+
fontWeight: '600',
|
|
133
|
+
color: colors.fg,
|
|
134
|
+
textAlign: 'center',
|
|
135
|
+
lineHeight: sizeConfig.height
|
|
136
|
+
}), [sizeConfig, colors]);
|
|
137
|
+
|
|
138
|
+
// Standalone badge (no children)
|
|
139
|
+
if (!children) {
|
|
140
|
+
if (invisible) return null;
|
|
141
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
142
|
+
style: [badgeStyle, style],
|
|
143
|
+
testID: testID,
|
|
144
|
+
children: displayContent != null && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
145
|
+
style: [badgeTextStyle, textStyle],
|
|
146
|
+
children: displayContent
|
|
147
|
+
})
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// Positioned badge wrapping children
|
|
152
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
153
|
+
style: {
|
|
154
|
+
position: 'relative',
|
|
155
|
+
alignSelf: 'flex-start'
|
|
156
|
+
},
|
|
157
|
+
testID: testID,
|
|
158
|
+
children: [children, !invisible && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
159
|
+
style: [{
|
|
160
|
+
position: 'absolute',
|
|
161
|
+
zIndex: 1,
|
|
162
|
+
...PLACEMENT_CONFIG[placement]
|
|
163
|
+
}, badgeStyle, style],
|
|
164
|
+
children: displayContent != null && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
165
|
+
style: [badgeTextStyle, textStyle],
|
|
166
|
+
children: displayContent
|
|
167
|
+
})
|
|
168
|
+
})]
|
|
169
|
+
});
|
|
170
|
+
};
|
|
171
|
+
const Badge = exports.Badge = /*#__PURE__*/(0, _react.memo)(BadgeComponent);
|
|
172
|
+
Badge.displayName = 'Badge';
|
|
173
|
+
//# sourceMappingURL=Badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SIZE_CONFIG","small","minWidth","height","fontSize","paddingHorizontal","dotSize","medium","large","PLACEMENT_CONFIG","top","right","left","bottom","useColorPair","color","variant","theme","colorMap","colors","textSecondary","primary","success","warning","error","info","base","bg","fg","BadgeComponent","content","size","dot","max","invisible","placement","children","style","textStyle","testID","useTheme","sizeConfig","displayContent","useMemo","String","badgeStyle","width","borderRadius","backgroundColor","alignItems","justifyContent","borderWidth","borderColor","badgeTextStyle","fontWeight","textAlign","lineHeight","jsx","View","Text","jsxs","position","alignSelf","zIndex","Badge","exports","memo","displayName"],"sourceRoot":"../../../src","sources":["badge/Badge.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,SAAA,GAAAF,OAAA;AAA8C,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,wBAAAK,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAP,uBAAA,YAAAA,CAAAK,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAG9C,MAAMkB,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;IAC3C3B,OAAO,EAAE0B,KAAK,CAACE,MAAM,CAACC,aAAa;IACnCC,OAAO,EAAEJ,KAAK,CAACE,MAAM,CAACE,OAAO;IAC7BC,OAAO,EAAEL,KAAK,CAACE,MAAM,CAACG,OAAO;IAC7BC,OAAO,EAAEN,KAAK,CAACE,MAAM,CAACI,OAAO;IAC7BC,KAAK,EAAEP,KAAK,CAACE,MAAM,CAACK,KAAK;IACzBC,IAAI,EAAER,KAAK,CAACE,MAAM,CAACM;EACrB,CAAC;EAED,MAAMC,IAAI,GAAGR,QAAQ,CAACH,KAAK,CAAC;EAE5B,QAAQC,OAAO;IACb,KAAK,OAAO;MACV,OAAO;QAAEW,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;EACPd,OAAO,GAAG,OAAO;EACjBD,KAAK,GAAG,OAAO;EACfgB,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,MAAMtB,KAAK,GAAG,IAAAuB,kBAAQ,EAAC,CAAC;EACxB,MAAMrB,MAAM,GAAGL,YAAY,CAACC,KAAK,EAAEC,OAAO,EAAEC,KAAK,CAAC;EAClD,MAAMwB,UAAU,GAAGzC,WAAW,CAAC+B,IAAI,CAAC;EAEpC,MAAMW,cAAc,GAAG,IAAAC,cAAO,EAAC,MAAM;IACnC,IAAIX,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,OAAOW,MAAM,CAACd,OAAO,CAAC;EACxB,CAAC,EAAE,CAACA,OAAO,EAAEE,GAAG,EAAEC,GAAG,CAAC,CAAC;EAEvB,MAAMY,UAAU,GAAG,IAAAF,cAAO,EAAC,MAAiB;IAC1C,IAAIX,GAAG,EAAE;MACP,OAAO;QACLc,KAAK,EAAEL,UAAU,CAACnC,OAAO;QACzBH,MAAM,EAAEsC,UAAU,CAACnC,OAAO;QAC1ByC,YAAY,EAAEN,UAAU,CAACnC,OAAO,GAAG,CAAC;QACpC0C,eAAe,EAAE7B,MAAM,CAACQ;MAC1B,CAAC;IACH;IAEA,MAAMD,IAAe,GAAG;MACtBxB,QAAQ,EAAEuC,UAAU,CAACtC,MAAM;MAC3BA,MAAM,EAAEsC,UAAU,CAACtC,MAAM;MACzB4C,YAAY,EAAEN,UAAU,CAACtC,MAAM,GAAG,CAAC;MACnCE,iBAAiB,EAAEoC,UAAU,CAACpC,iBAAiB;MAC/C2C,eAAe,EAAE7B,MAAM,CAACQ,EAAE;MAC1BsB,UAAU,EAAE,QAAQ;MACpBC,cAAc,EAAE;IAClB,CAAC;IAED,IAAIlC,OAAO,KAAK,UAAU,EAAE;MAC1BU,IAAI,CAACyB,WAAW,GAAG,CAAC;MACpBzB,IAAI,CAAC0B,WAAW,GAAGjC,MAAM,CAACS,EAAE;IAC9B;IAEA,OAAOF,IAAI;EACb,CAAC,EAAE,CAACM,GAAG,EAAES,UAAU,EAAEtB,MAAM,EAAEH,OAAO,CAAC,CAAC;EAEtC,MAAMqC,cAAc,GAAG,IAAAV,cAAO,EAC5B,OAAkB;IAChBvC,QAAQ,EAAEqC,UAAU,CAACrC,QAAQ;IAC7BkD,UAAU,EAAE,KAAK;IACjBvC,KAAK,EAAEI,MAAM,CAACS,EAAE;IAChB2B,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAEf,UAAU,CAACtC;EACzB,CAAC,CAAC,EACF,CAACsC,UAAU,EAAEtB,MAAM,CACrB,CAAC;;EAED;EACA,IAAI,CAACiB,QAAQ,EAAE;IACb,IAAIF,SAAS,EAAE,OAAO,IAAI;IAE1B,oBACE,IAAAtD,WAAA,CAAA6E,GAAA,EAAC/E,YAAA,CAAAgF,IAAI;MAACrB,KAAK,EAAE,CAACQ,UAAU,EAAER,KAAK,CAAE;MAACE,MAAM,EAAEA,MAAO;MAAAH,QAAA,EAC9CM,cAAc,IAAI,IAAI,iBACrB,IAAA9D,WAAA,CAAA6E,GAAA,EAAC/E,YAAA,CAAAiF,IAAI;QAACtB,KAAK,EAAE,CAACgB,cAAc,EAAEf,SAAS,CAAE;QAAAF,QAAA,EAAEM;MAAc,CAAO;IACjE,CACG,CAAC;EAEX;;EAEA;EACA,oBACE,IAAA9D,WAAA,CAAAgF,IAAA,EAAClF,YAAA,CAAAgF,IAAI;IAACrB,KAAK,EAAE;MAAEwB,QAAQ,EAAE,UAAU;MAAEC,SAAS,EAAE;IAAa,CAAE;IAACvB,MAAM,EAAEA,MAAO;IAAAH,QAAA,GAC5EA,QAAQ,EACR,CAACF,SAAS,iBACT,IAAAtD,WAAA,CAAA6E,GAAA,EAAC/E,YAAA,CAAAgF,IAAI;MACHrB,KAAK,EAAE,CACL;QACEwB,QAAQ,EAAE,UAAU;QACpBE,MAAM,EAAE,CAAC;QACT,GAAGtD,gBAAgB,CAAC0B,SAAS;MAC/B,CAAC,EACDU,UAAU,EACVR,KAAK,CACL;MAAAD,QAAA,EAEDM,cAAc,IAAI,IAAI,iBACrB,IAAA9D,WAAA,CAAA6E,GAAA,EAAC/E,YAAA,CAAAiF,IAAI;QAACtB,KAAK,EAAE,CAACgB,cAAc,EAAEf,SAAS,CAAE;QAAAF,QAAA,EAAEM;MAAc,CAAO;IACjE,CACG,CACP;EAAA,CACG,CAAC;AAEX,CAAC;AAEM,MAAMsB,KAAK,GAAAC,OAAA,CAAAD,KAAA,gBAAG,IAAAE,WAAI,EAACrC,cAAc,CAAC;AACzCmC,KAAK,CAACG,WAAW,GAAG,OAAO","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "Badge", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _Badge.Badge;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _Badge = require("./Badge.js");
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_Badge","require"],"sourceRoot":"../../../src","sources":["badge/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["badge/types.ts"],"mappings":"","ignoreList":[]}
|