@appsupportkit/support-sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/lib/commonjs/api.js +93 -0
  2. package/lib/commonjs/api.js.map +1 -0
  3. package/lib/commonjs/components/BottomSheet.js +158 -0
  4. package/lib/commonjs/components/BottomSheet.js.map +1 -0
  5. package/lib/commonjs/components/SupportButton.js +244 -0
  6. package/lib/commonjs/components/SupportButton.js.map +1 -0
  7. package/lib/commonjs/components/icons.js +236 -0
  8. package/lib/commonjs/components/icons.js.map +1 -0
  9. package/lib/commonjs/components/primitives.js +284 -0
  10. package/lib/commonjs/components/primitives.js.map +1 -0
  11. package/lib/commonjs/components/screens/ComposeScreen.js +171 -0
  12. package/lib/commonjs/components/screens/ComposeScreen.js.map +1 -0
  13. package/lib/commonjs/components/screens/HomeScreen.js +227 -0
  14. package/lib/commonjs/components/screens/HomeScreen.js.map +1 -0
  15. package/lib/commonjs/components/screens/ThreadScreen.js +213 -0
  16. package/lib/commonjs/components/screens/ThreadScreen.js.map +1 -0
  17. package/lib/commonjs/index.js +58 -0
  18. package/lib/commonjs/index.js.map +1 -0
  19. package/lib/commonjs/package.json +1 -0
  20. package/lib/commonjs/theme.js +29 -0
  21. package/lib/commonjs/theme.js.map +1 -0
  22. package/lib/commonjs/types.js +14 -0
  23. package/lib/commonjs/types.js.map +1 -0
  24. package/lib/commonjs/utils.js +63 -0
  25. package/lib/commonjs/utils.js.map +1 -0
  26. package/lib/module/api.js +84 -0
  27. package/lib/module/api.js.map +1 -0
  28. package/lib/module/components/BottomSheet.js +153 -0
  29. package/lib/module/components/BottomSheet.js.map +1 -0
  30. package/lib/module/components/SupportButton.js +240 -0
  31. package/lib/module/components/SupportButton.js.map +1 -0
  32. package/lib/module/components/icons.js +225 -0
  33. package/lib/module/components/icons.js.map +1 -0
  34. package/lib/module/components/primitives.js +270 -0
  35. package/lib/module/components/primitives.js.map +1 -0
  36. package/lib/module/components/screens/ComposeScreen.js +167 -0
  37. package/lib/module/components/screens/ComposeScreen.js.map +1 -0
  38. package/lib/module/components/screens/HomeScreen.js +223 -0
  39. package/lib/module/components/screens/HomeScreen.js.map +1 -0
  40. package/lib/module/components/screens/ThreadScreen.js +209 -0
  41. package/lib/module/components/screens/ThreadScreen.js.map +1 -0
  42. package/lib/module/index.js +7 -0
  43. package/lib/module/index.js.map +1 -0
  44. package/lib/module/package.json +1 -0
  45. package/lib/module/theme.js +23 -0
  46. package/lib/module/theme.js.map +1 -0
  47. package/lib/module/types.js +10 -0
  48. package/lib/module/types.js.map +1 -0
  49. package/lib/module/utils.js +57 -0
  50. package/lib/module/utils.js.map +1 -0
  51. package/lib/typescript/api.d.ts +37 -0
  52. package/lib/typescript/api.d.ts.map +1 -0
  53. package/lib/typescript/components/BottomSheet.d.ts +9 -0
  54. package/lib/typescript/components/BottomSheet.d.ts.map +1 -0
  55. package/lib/typescript/components/SupportButton.d.ts +8 -0
  56. package/lib/typescript/components/SupportButton.d.ts.map +1 -0
  57. package/lib/typescript/components/icons.d.ts +32 -0
  58. package/lib/typescript/components/icons.d.ts.map +1 -0
  59. package/lib/typescript/components/primitives.d.ts +60 -0
  60. package/lib/typescript/components/primitives.d.ts.map +1 -0
  61. package/lib/typescript/components/screens/ComposeScreen.d.ts +10 -0
  62. package/lib/typescript/components/screens/ComposeScreen.d.ts.map +1 -0
  63. package/lib/typescript/components/screens/HomeScreen.d.ts +13 -0
  64. package/lib/typescript/components/screens/HomeScreen.d.ts.map +1 -0
  65. package/lib/typescript/components/screens/ThreadScreen.d.ts +10 -0
  66. package/lib/typescript/components/screens/ThreadScreen.d.ts.map +1 -0
  67. package/lib/typescript/index.d.ts +6 -0
  68. package/lib/typescript/index.d.ts.map +1 -0
  69. package/lib/typescript/theme.d.ts +13 -0
  70. package/lib/typescript/theme.d.ts.map +1 -0
  71. package/lib/typescript/types.d.ts +61 -0
  72. package/lib/typescript/types.d.ts.map +1 -0
  73. package/lib/typescript/utils.d.ts +11 -0
  74. package/lib/typescript/utils.d.ts.map +1 -0
  75. package/package.json +51 -0
  76. package/src/api.ts +125 -0
  77. package/src/components/BottomSheet.tsx +173 -0
  78. package/src/components/SupportButton.tsx +265 -0
  79. package/src/components/icons.tsx +189 -0
  80. package/src/components/primitives.tsx +298 -0
  81. package/src/components/screens/ComposeScreen.tsx +163 -0
  82. package/src/components/screens/HomeScreen.tsx +234 -0
  83. package/src/components/screens/ThreadScreen.tsx +227 -0
  84. package/src/index.tsx +24 -0
  85. package/src/theme.ts +39 -0
  86. package/src/types.ts +71 -0
  87. package/src/utils.ts +63 -0
@@ -0,0 +1,236 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AlertCircleIcon = AlertCircleIcon;
7
+ exports.BubbleMark = BubbleMark;
8
+ exports.ChatIcon = ChatIcon;
9
+ exports.CheckIcon = CheckIcon;
10
+ exports.Chevron = Chevron;
11
+ exports.CloseIcon = CloseIcon;
12
+ exports.PlusCircleIcon = PlusCircleIcon;
13
+ var _reactNative = require("react-native");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ // Minimal geometric icons built from Views — keeps the SDK free of
16
+ // react-native-svg / icon-font dependencies. 1.5px strokes to match the
17
+ // Lucide icons used on the web dashboard.
18
+
19
+ const STROKE = 1.5;
20
+ function ChatIcon({
21
+ color,
22
+ size = 16
23
+ }) {
24
+ const dot = {
25
+ width: size * 0.11,
26
+ height: size * 0.11,
27
+ borderRadius: size,
28
+ backgroundColor: color
29
+ };
30
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
31
+ style: {
32
+ width: size,
33
+ height: size * 0.8,
34
+ borderWidth: STROKE,
35
+ borderColor: color,
36
+ borderRadius: size * 0.25,
37
+ flexDirection: 'row',
38
+ alignItems: 'center',
39
+ justifyContent: 'center',
40
+ gap: size * 0.11
41
+ },
42
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
43
+ style: dot
44
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
45
+ style: dot
46
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
47
+ style: dot
48
+ })]
49
+ });
50
+ }
51
+ function PlusCircleIcon({
52
+ color,
53
+ size = 16
54
+ }) {
55
+ const bar = size * 0.45;
56
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
57
+ style: {
58
+ width: size,
59
+ height: size,
60
+ borderWidth: STROKE,
61
+ borderColor: color,
62
+ borderRadius: size,
63
+ alignItems: 'center',
64
+ justifyContent: 'center'
65
+ },
66
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
67
+ style: {
68
+ width: bar,
69
+ height: STROKE,
70
+ backgroundColor: color
71
+ }
72
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
73
+ style: {
74
+ width: STROKE,
75
+ height: bar,
76
+ backgroundColor: color,
77
+ position: 'absolute'
78
+ }
79
+ })]
80
+ });
81
+ }
82
+ function AlertCircleIcon({
83
+ color,
84
+ size = 16
85
+ }) {
86
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
87
+ style: {
88
+ width: size,
89
+ height: size,
90
+ borderWidth: STROKE,
91
+ borderColor: color,
92
+ borderRadius: size,
93
+ alignItems: 'center',
94
+ paddingTop: size * 0.2
95
+ },
96
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
97
+ style: {
98
+ width: STROKE,
99
+ height: size * 0.32,
100
+ backgroundColor: color
101
+ }
102
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
103
+ style: {
104
+ width: STROKE + 0.5,
105
+ height: STROKE + 0.5,
106
+ borderRadius: 2,
107
+ backgroundColor: color,
108
+ marginTop: size * 0.09
109
+ }
110
+ })]
111
+ });
112
+ }
113
+
114
+ /** Chevron built from two borders, rotated. direction: right | left | down. */
115
+ function Chevron({
116
+ color,
117
+ size = 10,
118
+ direction = 'right'
119
+ }) {
120
+ const rotation = direction === 'right' ? '-45deg' : direction === 'left' ? '135deg' : '45deg';
121
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
122
+ style: {
123
+ width: size * 0.7,
124
+ height: size * 0.7,
125
+ borderRightWidth: STROKE,
126
+ borderBottomWidth: STROKE,
127
+ borderColor: color,
128
+ transform: [{
129
+ rotate: rotation
130
+ }]
131
+ }
132
+ });
133
+ }
134
+ function CloseIcon({
135
+ color,
136
+ size = 14
137
+ }) {
138
+ const bar = {
139
+ position: 'absolute',
140
+ width: size,
141
+ height: STROKE,
142
+ backgroundColor: color,
143
+ borderRadius: 1
144
+ };
145
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
146
+ style: {
147
+ width: size,
148
+ height: size,
149
+ alignItems: 'center',
150
+ justifyContent: 'center'
151
+ },
152
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
153
+ style: [bar, {
154
+ transform: [{
155
+ rotate: '45deg'
156
+ }]
157
+ }]
158
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
159
+ style: [bar, {
160
+ transform: [{
161
+ rotate: '-45deg'
162
+ }]
163
+ }]
164
+ })]
165
+ });
166
+ }
167
+ function CheckIcon({
168
+ color,
169
+ size = 16
170
+ }) {
171
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
172
+ style: {
173
+ width: size * 0.9,
174
+ height: size * 0.5,
175
+ borderLeftWidth: STROKE + 0.5,
176
+ borderBottomWidth: STROKE + 0.5,
177
+ borderColor: color,
178
+ transform: [{
179
+ rotate: '-45deg'
180
+ }],
181
+ marginBottom: size * 0.15
182
+ }
183
+ });
184
+ }
185
+
186
+ /** The chat-bubble mark on the floating support button. */
187
+ function BubbleMark({
188
+ color,
189
+ size = 20
190
+ }) {
191
+ const dot = {
192
+ width: size * 0.12,
193
+ height: size * 0.12,
194
+ borderRadius: size,
195
+ backgroundColor: color
196
+ };
197
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
198
+ style: {
199
+ alignItems: 'flex-start'
200
+ },
201
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
202
+ style: {
203
+ width: size,
204
+ height: size * 0.78,
205
+ borderWidth: STROKE + 0.25,
206
+ borderColor: color,
207
+ borderRadius: size * 0.28,
208
+ flexDirection: 'row',
209
+ alignItems: 'center',
210
+ justifyContent: 'center',
211
+ gap: size * 0.1
212
+ },
213
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
214
+ style: dot
215
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
216
+ style: dot
217
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
218
+ style: dot
219
+ })]
220
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
221
+ style: {
222
+ width: size * 0.22,
223
+ height: size * 0.22,
224
+ borderLeftWidth: STROKE + 0.25,
225
+ borderBottomWidth: STROKE + 0.25,
226
+ borderColor: color,
227
+ marginLeft: size * 0.18,
228
+ marginTop: -STROKE,
229
+ transform: [{
230
+ skewX: '-12deg'
231
+ }]
232
+ }
233
+ })]
234
+ });
235
+ }
236
+ //# sourceMappingURL=icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_jsxRuntime","STROKE","ChatIcon","color","size","dot","width","height","borderRadius","backgroundColor","jsxs","View","style","borderWidth","borderColor","flexDirection","alignItems","justifyContent","gap","children","jsx","PlusCircleIcon","bar","position","AlertCircleIcon","paddingTop","marginTop","Chevron","direction","rotation","borderRightWidth","borderBottomWidth","transform","rotate","CloseIcon","CheckIcon","borderLeftWidth","marginBottom","BubbleMark","marginLeft","skewX"],"sourceRoot":"../../../src","sources":["components/icons.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,284 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EmptyState = EmptyState;
7
+ exports.ErrorState = ErrorState;
8
+ exports.PressableRow = PressableRow;
9
+ exports.PrimaryButton = PrimaryButton;
10
+ exports.SecondaryButton = SecondaryButton;
11
+ exports.SkeletonBlock = SkeletonBlock;
12
+ exports.StatusIndicator = StatusIndicator;
13
+ exports.TypeChipView = TypeChipView;
14
+ exports.textStyles = void 0;
15
+ exports.typeColor = typeColor;
16
+ exports.typeIcon = typeIcon;
17
+ var _react = require("react");
18
+ var _reactNative = require("react-native");
19
+ var _types = require("../types");
20
+ var _icons = require("./icons");
21
+ var _jsxRuntime = require("react/jsx-runtime");
22
+ function typeIcon(type, color, size = 15) {
23
+ if (type === 'bug_report') return /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.AlertCircleIcon, {
24
+ color: color,
25
+ size: size
26
+ });
27
+ if (type === 'feature_request') return /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.PlusCircleIcon, {
28
+ color: color,
29
+ size: size
30
+ });
31
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.ChatIcon, {
32
+ color: color,
33
+ size: size
34
+ });
35
+ }
36
+ function typeColor(type, theme) {
37
+ if (type === 'bug_report') return theme.colors.statusDanger;
38
+ if (type === 'feature_request') return theme.colors.statusProgress;
39
+ return theme.colors.statusOpen;
40
+ }
41
+
42
+ /** Status dot + label — same visual language as the dashboard. */
43
+ function StatusIndicator({
44
+ status,
45
+ theme
46
+ }) {
47
+ const color = status === 'open' ? theme.colors.statusOpen : theme.colors.statusResolved;
48
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
49
+ style: {
50
+ flexDirection: 'row',
51
+ alignItems: 'center',
52
+ gap: 6
53
+ },
54
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
55
+ style: {
56
+ width: 6,
57
+ height: 6,
58
+ borderRadius: 3,
59
+ backgroundColor: color
60
+ }
61
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
62
+ style: {
63
+ fontSize: 12,
64
+ color
65
+ },
66
+ children: status === 'open' ? 'Open' : 'Resolved'
67
+ })]
68
+ });
69
+ }
70
+
71
+ /** Pressable row with the standard hover/press wash. */
72
+ function PressableRow({
73
+ onPress,
74
+ children,
75
+ theme,
76
+ style,
77
+ accessibilityLabel
78
+ }) {
79
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
80
+ onPress: onPress,
81
+ accessibilityRole: "button",
82
+ accessibilityLabel: accessibilityLabel,
83
+ style: ({
84
+ pressed
85
+ }) => [{
86
+ backgroundColor: pressed ? theme.colors.surfaceHover : 'transparent'
87
+ }, style],
88
+ children: children
89
+ });
90
+ }
91
+ function PrimaryButton({
92
+ label,
93
+ onPress,
94
+ disabled,
95
+ theme
96
+ }) {
97
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
98
+ onPress: onPress,
99
+ disabled: disabled,
100
+ accessibilityRole: "button",
101
+ style: ({
102
+ pressed
103
+ }) => ({
104
+ height: 36,
105
+ paddingHorizontal: 14,
106
+ borderRadius: theme.radii.control,
107
+ backgroundColor: pressed ? theme.colors.accentHover : theme.colors.accent,
108
+ opacity: disabled ? 0.5 : 1,
109
+ alignItems: 'center',
110
+ justifyContent: 'center'
111
+ }),
112
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
113
+ style: {
114
+ color: theme.colors.accentForeground,
115
+ fontSize: 13,
116
+ fontWeight: '500'
117
+ },
118
+ children: label
119
+ })
120
+ });
121
+ }
122
+ function SecondaryButton({
123
+ label,
124
+ onPress,
125
+ theme
126
+ }) {
127
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
128
+ onPress: onPress,
129
+ accessibilityRole: "button",
130
+ style: ({
131
+ pressed
132
+ }) => ({
133
+ height: 32,
134
+ paddingHorizontal: 12,
135
+ borderRadius: theme.radii.control,
136
+ borderWidth: 1,
137
+ borderColor: theme.colors.border,
138
+ backgroundColor: pressed ? theme.colors.surfaceHover : theme.colors.surface,
139
+ alignItems: 'center',
140
+ justifyContent: 'center'
141
+ }),
142
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
143
+ style: {
144
+ color: theme.colors.textPrimary,
145
+ fontSize: 12,
146
+ fontWeight: '500'
147
+ },
148
+ children: label
149
+ })
150
+ });
151
+ }
152
+
153
+ /** Small muted icon + one line — no illustrations. */
154
+ function EmptyState({
155
+ message,
156
+ theme,
157
+ icon
158
+ }) {
159
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
160
+ style: {
161
+ alignItems: 'center',
162
+ paddingVertical: 40,
163
+ gap: 8
164
+ },
165
+ children: [icon ?? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.ChatIcon, {
166
+ color: theme.colors.textTertiary,
167
+ size: 16
168
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
169
+ style: {
170
+ fontSize: 13,
171
+ color: theme.colors.textSecondary
172
+ },
173
+ children: message
174
+ })]
175
+ });
176
+ }
177
+
178
+ /** Inline failure state with retry — errors are designed, not toasted. */
179
+ function ErrorState({
180
+ message,
181
+ onRetry,
182
+ theme
183
+ }) {
184
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
185
+ style: {
186
+ alignItems: 'center',
187
+ paddingVertical: 32,
188
+ gap: 10
189
+ },
190
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
191
+ style: {
192
+ fontSize: 13,
193
+ color: theme.colors.textSecondary
194
+ },
195
+ children: message
196
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(SecondaryButton, {
197
+ label: "Retry",
198
+ onPress: onRetry,
199
+ theme: theme
200
+ })]
201
+ });
202
+ }
203
+
204
+ /** Pulsing block matching final layout dimensions. */
205
+ function SkeletonBlock({
206
+ width,
207
+ height,
208
+ theme,
209
+ style
210
+ }) {
211
+ const opacity = (0, _react.useRef)(new _reactNative.Animated.Value(0.5)).current;
212
+ (0, _react.useEffect)(() => {
213
+ const loop = _reactNative.Animated.loop(_reactNative.Animated.sequence([_reactNative.Animated.timing(opacity, {
214
+ toValue: 1,
215
+ duration: 600,
216
+ useNativeDriver: true
217
+ }), _reactNative.Animated.timing(opacity, {
218
+ toValue: 0.5,
219
+ duration: 600,
220
+ useNativeDriver: true
221
+ })]));
222
+ loop.start();
223
+ return () => loop.stop();
224
+ }, [opacity]);
225
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
226
+ style: [{
227
+ width,
228
+ height,
229
+ borderRadius: theme.radii.control,
230
+ backgroundColor: theme.colors.surfaceActive,
231
+ opacity
232
+ }, style]
233
+ });
234
+ }
235
+ const textStyles = exports.textStyles = {
236
+ title: theme => ({
237
+ fontSize: 16,
238
+ fontWeight: '600',
239
+ letterSpacing: -0.2,
240
+ color: theme.colors.textPrimary
241
+ }),
242
+ body: theme => ({
243
+ fontSize: 14,
244
+ color: theme.colors.textPrimary,
245
+ lineHeight: 20
246
+ }),
247
+ secondary: theme => ({
248
+ fontSize: 13,
249
+ color: theme.colors.textSecondary
250
+ }),
251
+ meta: theme => ({
252
+ fontSize: 11,
253
+ color: theme.colors.textTertiary,
254
+ fontVariant: ['tabular-nums']
255
+ })
256
+ };
257
+ function TypeChipView({
258
+ type,
259
+ theme
260
+ }) {
261
+ const color = typeColor(type, theme);
262
+ const bg = type === 'bug_report' ? theme.colors.statusDangerBg : type === 'feature_request' ? theme.colors.statusProgressBg : theme.colors.statusOpenBg;
263
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
264
+ style: {
265
+ flexDirection: 'row',
266
+ alignItems: 'center',
267
+ gap: 5,
268
+ paddingHorizontal: 6,
269
+ paddingVertical: 2,
270
+ borderRadius: theme.radii.control,
271
+ backgroundColor: bg,
272
+ alignSelf: 'flex-start'
273
+ },
274
+ children: [typeIcon(type, color, 11), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
275
+ style: {
276
+ fontSize: 11,
277
+ fontWeight: '500',
278
+ color
279
+ },
280
+ children: _types.QUERY_TYPE_LABEL[type]
281
+ })]
282
+ });
283
+ }
284
+ //# sourceMappingURL=primitives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_types","_icons","_jsxRuntime","typeIcon","type","color","size","jsx","AlertCircleIcon","PlusCircleIcon","ChatIcon","typeColor","theme","colors","statusDanger","statusProgress","statusOpen","StatusIndicator","status","statusResolved","jsxs","View","style","flexDirection","alignItems","gap","children","width","height","borderRadius","backgroundColor","Text","fontSize","PressableRow","onPress","accessibilityLabel","Pressable","accessibilityRole","pressed","surfaceHover","PrimaryButton","label","disabled","paddingHorizontal","radii","control","accentHover","accent","opacity","justifyContent","accentForeground","fontWeight","SecondaryButton","borderWidth","borderColor","border","surface","textPrimary","EmptyState","message","icon","paddingVertical","textTertiary","textSecondary","ErrorState","onRetry","SkeletonBlock","useRef","Animated","Value","current","useEffect","loop","sequence","timing","toValue","duration","useNativeDriver","start","stop","surfaceActive","textStyles","exports","title","letterSpacing","body","lineHeight","secondary","meta","fontVariant","TypeChipView","bg","statusDangerBg","statusProgressBg","statusOpenBg","alignSelf","QUERY_TYPE_LABEL"],"sourceRoot":"../../../src","sources":["components/primitives.tsx"],"mappings":"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","ignoreList":[]}