react-native-network-lens 0.0.0-stage → 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 (180) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +207 -2
  3. package/lib/module/backHandler.js +31 -0
  4. package/lib/module/backHandler.js.map +1 -0
  5. package/lib/module/components/BodyViewer.js +207 -0
  6. package/lib/module/components/BodyViewer.js.map +1 -0
  7. package/lib/module/components/CodeList.js +104 -0
  8. package/lib/module/components/CodeList.js.map +1 -0
  9. package/lib/module/components/JsonTree/JsonTreeView.js +206 -0
  10. package/lib/module/components/JsonTree/JsonTreeView.js.map +1 -0
  11. package/lib/module/components/JsonTree/model.js +194 -0
  12. package/lib/module/components/JsonTree/model.js.map +1 -0
  13. package/lib/module/components/NetworkLens.js +110 -0
  14. package/lib/module/components/NetworkLens.js.map +1 -0
  15. package/lib/module/components/NetworkLensOverlay.js +158 -0
  16. package/lib/module/components/NetworkLensOverlay.js.map +1 -0
  17. package/lib/module/components/RawTextView.js +119 -0
  18. package/lib/module/components/RawTextView.js.map +1 -0
  19. package/lib/module/components/RequestDetails/RequestDetails.js +251 -0
  20. package/lib/module/components/RequestDetails/RequestDetails.js.map +1 -0
  21. package/lib/module/components/RequestList/FilterBar.js +138 -0
  22. package/lib/module/components/RequestList/FilterBar.js.map +1 -0
  23. package/lib/module/components/RequestList/RequestList.js +163 -0
  24. package/lib/module/components/RequestList/RequestList.js.map +1 -0
  25. package/lib/module/components/RequestList/RequestRow.js +161 -0
  26. package/lib/module/components/RequestList/RequestRow.js.map +1 -0
  27. package/lib/module/components/RequestList/filters.js +57 -0
  28. package/lib/module/components/RequestList/filters.js.map +1 -0
  29. package/lib/module/components/ui/ActionSheet.js +94 -0
  30. package/lib/module/components/ui/ActionSheet.js.map +1 -0
  31. package/lib/module/components/ui/Button.js +90 -0
  32. package/lib/module/components/ui/Button.js.map +1 -0
  33. package/lib/module/components/ui/Pill.js +53 -0
  34. package/lib/module/components/ui/Pill.js.map +1 -0
  35. package/lib/module/components/ui/SearchInput.js +77 -0
  36. package/lib/module/components/ui/SearchInput.js.map +1 -0
  37. package/lib/module/components/ui/Section.js +147 -0
  38. package/lib/module/components/ui/Section.js.map +1 -0
  39. package/lib/module/components/ui/SegmentedControl.js +65 -0
  40. package/lib/module/components/ui/SegmentedControl.js.map +1 -0
  41. package/lib/module/components/ui/index.js +9 -0
  42. package/lib/module/components/ui/index.js.map +1 -0
  43. package/lib/module/core/Logger.js +230 -0
  44. package/lib/module/core/Logger.js.map +1 -0
  45. package/lib/module/core/NetworkRequest.js +155 -0
  46. package/lib/module/core/NetworkRequest.js.map +1 -0
  47. package/lib/module/core/XHRInterceptor.js +104 -0
  48. package/lib/module/core/XHRInterceptor.js.map +1 -0
  49. package/lib/module/core/har.js +72 -0
  50. package/lib/module/core/har.js.map +1 -0
  51. package/lib/module/core/loggerSingleton.js +12 -0
  52. package/lib/module/core/loggerSingleton.js.map +1 -0
  53. package/lib/module/hooks.js +42 -0
  54. package/lib/module/hooks.js.map +1 -0
  55. package/lib/module/index.js +34 -0
  56. package/lib/module/index.js.map +1 -0
  57. package/lib/module/package.json +1 -0
  58. package/lib/module/theme.js +136 -0
  59. package/lib/module/theme.js.map +1 -0
  60. package/lib/module/types.js +2 -0
  61. package/lib/module/types.js.map +1 -0
  62. package/lib/module/utils/body.js +179 -0
  63. package/lib/module/utils/body.js.map +1 -0
  64. package/lib/module/utils/debounce.js +18 -0
  65. package/lib/module/utils/debounce.js.map +1 -0
  66. package/lib/module/utils/format.js +45 -0
  67. package/lib/module/utils/format.js.map +1 -0
  68. package/lib/module/utils/logger.js +6 -0
  69. package/lib/module/utils/logger.js.map +1 -0
  70. package/lib/module/utils/search.js +70 -0
  71. package/lib/module/utils/search.js.map +1 -0
  72. package/lib/module/utils/url.js +50 -0
  73. package/lib/module/utils/url.js.map +1 -0
  74. package/lib/typescript/package.json +1 -0
  75. package/lib/typescript/src/backHandler.d.ts +15 -0
  76. package/lib/typescript/src/backHandler.d.ts.map +1 -0
  77. package/lib/typescript/src/components/BodyViewer.d.ts +16 -0
  78. package/lib/typescript/src/components/BodyViewer.d.ts.map +1 -0
  79. package/lib/typescript/src/components/CodeList.d.ts +21 -0
  80. package/lib/typescript/src/components/CodeList.d.ts.map +1 -0
  81. package/lib/typescript/src/components/JsonTree/JsonTreeView.d.ts +21 -0
  82. package/lib/typescript/src/components/JsonTree/JsonTreeView.d.ts.map +1 -0
  83. package/lib/typescript/src/components/JsonTree/model.d.ts +53 -0
  84. package/lib/typescript/src/components/JsonTree/model.d.ts.map +1 -0
  85. package/lib/typescript/src/components/NetworkLens.d.ts +31 -0
  86. package/lib/typescript/src/components/NetworkLens.d.ts.map +1 -0
  87. package/lib/typescript/src/components/NetworkLensOverlay.d.ts +32 -0
  88. package/lib/typescript/src/components/NetworkLensOverlay.d.ts.map +1 -0
  89. package/lib/typescript/src/components/RawTextView.d.ts +14 -0
  90. package/lib/typescript/src/components/RawTextView.d.ts.map +1 -0
  91. package/lib/typescript/src/components/RequestDetails/RequestDetails.d.ts +9 -0
  92. package/lib/typescript/src/components/RequestDetails/RequestDetails.d.ts.map +1 -0
  93. package/lib/typescript/src/components/RequestList/FilterBar.d.ts +12 -0
  94. package/lib/typescript/src/components/RequestList/FilterBar.d.ts.map +1 -0
  95. package/lib/typescript/src/components/RequestList/RequestList.d.ts +18 -0
  96. package/lib/typescript/src/components/RequestList/RequestList.d.ts.map +1 -0
  97. package/lib/typescript/src/components/RequestList/RequestRow.d.ts +11 -0
  98. package/lib/typescript/src/components/RequestList/RequestRow.d.ts.map +1 -0
  99. package/lib/typescript/src/components/RequestList/filters.d.ts +17 -0
  100. package/lib/typescript/src/components/RequestList/filters.d.ts.map +1 -0
  101. package/lib/typescript/src/components/ui/ActionSheet.d.ts +15 -0
  102. package/lib/typescript/src/components/ui/ActionSheet.d.ts.map +1 -0
  103. package/lib/typescript/src/components/ui/Button.d.ts +21 -0
  104. package/lib/typescript/src/components/ui/Button.d.ts.map +1 -0
  105. package/lib/typescript/src/components/ui/Pill.d.ts +11 -0
  106. package/lib/typescript/src/components/ui/Pill.d.ts.map +1 -0
  107. package/lib/typescript/src/components/ui/SearchInput.d.ts +17 -0
  108. package/lib/typescript/src/components/ui/SearchInput.d.ts.map +1 -0
  109. package/lib/typescript/src/components/ui/Section.d.ts +16 -0
  110. package/lib/typescript/src/components/ui/Section.d.ts.map +1 -0
  111. package/lib/typescript/src/components/ui/SegmentedControl.d.ts +14 -0
  112. package/lib/typescript/src/components/ui/SegmentedControl.d.ts.map +1 -0
  113. package/lib/typescript/src/components/ui/index.d.ts +7 -0
  114. package/lib/typescript/src/components/ui/index.d.ts.map +1 -0
  115. package/lib/typescript/src/core/Logger.d.ts +48 -0
  116. package/lib/typescript/src/core/Logger.d.ts.map +1 -0
  117. package/lib/typescript/src/core/NetworkRequest.d.ts +48 -0
  118. package/lib/typescript/src/core/NetworkRequest.d.ts.map +1 -0
  119. package/lib/typescript/src/core/XHRInterceptor.d.ts +29 -0
  120. package/lib/typescript/src/core/XHRInterceptor.d.ts.map +1 -0
  121. package/lib/typescript/src/core/har.d.ts +65 -0
  122. package/lib/typescript/src/core/har.d.ts.map +1 -0
  123. package/lib/typescript/src/core/loggerSingleton.d.ts +9 -0
  124. package/lib/typescript/src/core/loggerSingleton.d.ts.map +1 -0
  125. package/lib/typescript/src/hooks.d.ts +11 -0
  126. package/lib/typescript/src/hooks.d.ts.map +1 -0
  127. package/lib/typescript/src/index.d.ts +33 -0
  128. package/lib/typescript/src/index.d.ts.map +1 -0
  129. package/lib/typescript/src/theme.d.ts +49 -0
  130. package/lib/typescript/src/theme.d.ts.map +1 -0
  131. package/lib/typescript/src/types.d.ts +80 -0
  132. package/lib/typescript/src/types.d.ts.map +1 -0
  133. package/lib/typescript/src/utils/body.d.ts +19 -0
  134. package/lib/typescript/src/utils/body.d.ts.map +1 -0
  135. package/lib/typescript/src/utils/debounce.d.ts +4 -0
  136. package/lib/typescript/src/utils/debounce.d.ts.map +1 -0
  137. package/lib/typescript/src/utils/format.d.ts +7 -0
  138. package/lib/typescript/src/utils/format.d.ts.map +1 -0
  139. package/lib/typescript/src/utils/logger.d.ts +2 -0
  140. package/lib/typescript/src/utils/logger.d.ts.map +1 -0
  141. package/lib/typescript/src/utils/search.d.ts +17 -0
  142. package/lib/typescript/src/utils/search.d.ts.map +1 -0
  143. package/lib/typescript/src/utils/url.d.ts +15 -0
  144. package/lib/typescript/src/utils/url.d.ts.map +1 -0
  145. package/package.json +186 -4
  146. package/src/backHandler.ts +29 -0
  147. package/src/components/BodyViewer.tsx +240 -0
  148. package/src/components/CodeList.tsx +120 -0
  149. package/src/components/JsonTree/JsonTreeView.tsx +304 -0
  150. package/src/components/JsonTree/model.ts +264 -0
  151. package/src/components/NetworkLens.tsx +176 -0
  152. package/src/components/NetworkLensOverlay.tsx +187 -0
  153. package/src/components/RawTextView.tsx +163 -0
  154. package/src/components/RequestDetails/RequestDetails.tsx +313 -0
  155. package/src/components/RequestList/FilterBar.tsx +168 -0
  156. package/src/components/RequestList/RequestList.tsx +226 -0
  157. package/src/components/RequestList/RequestRow.tsx +150 -0
  158. package/src/components/RequestList/filters.ts +98 -0
  159. package/src/components/ui/ActionSheet.tsx +109 -0
  160. package/src/components/ui/Button.tsx +120 -0
  161. package/src/components/ui/Pill.tsx +53 -0
  162. package/src/components/ui/SearchInput.tsx +97 -0
  163. package/src/components/ui/Section.tsx +133 -0
  164. package/src/components/ui/SegmentedControl.tsx +79 -0
  165. package/src/components/ui/index.ts +6 -0
  166. package/src/core/Logger.ts +293 -0
  167. package/src/core/NetworkRequest.ts +216 -0
  168. package/src/core/XHRInterceptor.ts +179 -0
  169. package/src/core/har.ts +71 -0
  170. package/src/core/loggerSingleton.ts +14 -0
  171. package/src/hooks.ts +51 -0
  172. package/src/index.tsx +56 -0
  173. package/src/theme.ts +174 -0
  174. package/src/types.ts +83 -0
  175. package/src/utils/body.ts +194 -0
  176. package/src/utils/debounce.ts +18 -0
  177. package/src/utils/format.ts +50 -0
  178. package/src/utils/logger.ts +3 -0
  179. package/src/utils/search.ts +72 -0
  180. package/src/utils/url.ts +59 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Modal","Pressable","ScrollView","StyleSheet","Text","View","useTheme","jsx","_jsx","jsxs","_jsxs","ActionSheet","visible","onClose","actions","title","theme","transparent","animationType","onRequestClose","children","style","styles","backdrop","onPress","accessibilityLabel","sheet","backgroundColor","colors","surface","numberOfLines","color","textMuted","bounces","map","action","accessibilityRole","pressed","item","borderTopColor","border","label","destructive","statusBad","text","create","position","top","left","right","bottom","borderRadius","overflow","maxHeight","fontSize","fontWeight","padding","letterSpacing","paddingVertical","paddingHorizontal","borderTopWidth","hairlineWidth","opacity"],"sourceRoot":"../../../../src","sources":["components/ui/ActionSheet.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ import { Pressable, StyleSheet, Text } from 'react-native';
4
+ import { useTheme } from "../../theme.js";
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ export const TextButton = ({
7
+ label,
8
+ onPress,
9
+ disabled,
10
+ active,
11
+ style,
12
+ textStyle
13
+ }) => {
14
+ const theme = useTheme();
15
+ return /*#__PURE__*/_jsx(Pressable, {
16
+ accessibilityRole: "button",
17
+ disabled: disabled,
18
+ onPress: onPress,
19
+ hitSlop: 6,
20
+ style: ({
21
+ pressed
22
+ }) => [styles.button, {
23
+ backgroundColor: active ? theme.colors.primary : theme.colors.surfaceAlt
24
+ }, disabled ? styles.disabled : pressed && styles.pressed, style],
25
+ children: /*#__PURE__*/_jsx(Text, {
26
+ style: [styles.label, {
27
+ color: active ? theme.colors.onPrimary : theme.colors.text
28
+ }, textStyle],
29
+ children: label
30
+ })
31
+ });
32
+ };
33
+ export const IconButton = ({
34
+ glyph,
35
+ accessibilityLabel,
36
+ onPress,
37
+ disabled,
38
+ active
39
+ }) => {
40
+ const theme = useTheme();
41
+ return /*#__PURE__*/_jsx(Pressable, {
42
+ accessibilityRole: "button",
43
+ accessibilityLabel: accessibilityLabel,
44
+ disabled: disabled,
45
+ onPress: onPress,
46
+ hitSlop: 8,
47
+ style: ({
48
+ pressed
49
+ }) => [styles.icon, active && {
50
+ backgroundColor: theme.colors.primary
51
+ }, disabled ? styles.disabled : pressed && styles.pressed],
52
+ children: /*#__PURE__*/_jsx(Text, {
53
+ style: [styles.glyph, {
54
+ color: active ? theme.colors.onPrimary : theme.colors.text
55
+ }],
56
+ children: glyph
57
+ })
58
+ });
59
+ };
60
+ const styles = StyleSheet.create({
61
+ button: {
62
+ paddingHorizontal: 10,
63
+ paddingVertical: 6,
64
+ borderRadius: 8,
65
+ alignItems: 'center',
66
+ justifyContent: 'center'
67
+ },
68
+ label: {
69
+ fontSize: 13,
70
+ fontWeight: '600'
71
+ },
72
+ icon: {
73
+ width: 32,
74
+ height: 32,
75
+ borderRadius: 8,
76
+ alignItems: 'center',
77
+ justifyContent: 'center'
78
+ },
79
+ glyph: {
80
+ fontSize: 16,
81
+ fontWeight: '600'
82
+ },
83
+ disabled: {
84
+ opacity: 0.35
85
+ },
86
+ pressed: {
87
+ opacity: 0.6
88
+ }
89
+ });
90
+ //# sourceMappingURL=Button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Pressable","StyleSheet","Text","useTheme","jsx","_jsx","TextButton","label","onPress","disabled","active","style","textStyle","theme","accessibilityRole","hitSlop","pressed","styles","button","backgroundColor","colors","primary","surfaceAlt","children","color","onPrimary","text","IconButton","glyph","accessibilityLabel","icon","create","paddingHorizontal","paddingVertical","borderRadius","alignItems","justifyContent","fontSize","fontWeight","width","height","opacity"],"sourceRoot":"../../../../src","sources":["components/ui/Button.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ import { StyleSheet, Text, View } from 'react-native';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ export const Pill = ({
6
+ label,
7
+ color,
8
+ filled,
9
+ small,
10
+ style
11
+ }) => /*#__PURE__*/_jsx(View, {
12
+ style: [styles.pill, small && styles.pillSmall, {
13
+ borderColor: color
14
+ }, filled ? {
15
+ backgroundColor: color
16
+ } : styles.outline, style],
17
+ children: /*#__PURE__*/_jsx(Text, {
18
+ numberOfLines: 1,
19
+ style: [styles.text, small && styles.textSmall, filled ? styles.textFilled : {
20
+ color
21
+ }],
22
+ children: label
23
+ })
24
+ });
25
+ const styles = StyleSheet.create({
26
+ pill: {
27
+ borderWidth: 1,
28
+ borderRadius: 6,
29
+ paddingHorizontal: 6,
30
+ paddingVertical: 2,
31
+ alignSelf: 'flex-start'
32
+ },
33
+ pillSmall: {
34
+ paddingHorizontal: 4,
35
+ paddingVertical: 1,
36
+ borderRadius: 4
37
+ },
38
+ outline: {
39
+ backgroundColor: 'transparent'
40
+ },
41
+ text: {
42
+ fontSize: 12,
43
+ fontWeight: '700',
44
+ letterSpacing: 0.3
45
+ },
46
+ textSmall: {
47
+ fontSize: 11
48
+ },
49
+ textFilled: {
50
+ color: '#ffffff'
51
+ }
52
+ });
53
+ //# sourceMappingURL=Pill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","Text","View","jsx","_jsx","Pill","label","color","filled","small","style","styles","pill","pillSmall","borderColor","backgroundColor","outline","children","numberOfLines","text","textSmall","textFilled","create","borderWidth","borderRadius","paddingHorizontal","paddingVertical","alignSelf","fontSize","fontWeight","letterSpacing"],"sourceRoot":"../../../../src","sources":["components/ui/Pill.tsx"],"mappings":";;AAAA,SACEA,UAAU,EACVC,IAAI,EACJC,IAAI,QAGC,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAUtB,OAAO,MAAMC,IAAI,GAAGA,CAAC;EAAEC,KAAK;EAAEC,KAAK;EAAEC,MAAM;EAAEC,KAAK;EAAEC;AAAa,CAAC,kBAChEN,IAAA,CAACF,IAAI;EACHQ,KAAK,EAAE,CACLC,MAAM,CAACC,IAAI,EACXH,KAAK,IAAIE,MAAM,CAACE,SAAS,EACzB;IAAEC,WAAW,EAAEP;EAAM,CAAC,EACtBC,MAAM,GAAG;IAAEO,eAAe,EAAER;EAAM,CAAC,GAAGI,MAAM,CAACK,OAAO,EACpDN,KAAK,CACL;EAAAO,QAAA,eAEFb,IAAA,CAACH,IAAI;IACHiB,aAAa,EAAE,CAAE;IACjBR,KAAK,EAAE,CACLC,MAAM,CAACQ,IAAI,EACXV,KAAK,IAAIE,MAAM,CAACS,SAAS,EACzBZ,MAAM,GAAGG,MAAM,CAACU,UAAU,GAAG;MAAEd;IAAM,CAAC,CACtC;IAAAU,QAAA,EAEDX;EAAK,CACF;AAAC,CACH,CACP;AAED,MAAMK,MAAM,GAAGX,UAAU,CAACsB,MAAM,CAAC;EAC/BV,IAAI,EAAE;IACJW,WAAW,EAAE,CAAC;IACdC,YAAY,EAAE,CAAC;IACfC,iBAAiB,EAAE,CAAC;IACpBC,eAAe,EAAE,CAAC;IAClBC,SAAS,EAAE;EACb,CAAC;EACDd,SAAS,EAAE;IAAEY,iBAAiB,EAAE,CAAC;IAAEC,eAAe,EAAE,CAAC;IAAEF,YAAY,EAAE;EAAE,CAAC;EACxER,OAAO,EAAE;IAAED,eAAe,EAAE;EAAc,CAAC;EAC3CI,IAAI,EAAE;IAAES,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE,KAAK;IAAEC,aAAa,EAAE;EAAI,CAAC;EAC7DV,SAAS,EAAE;IAAEQ,QAAQ,EAAE;EAAG,CAAC;EAC3BP,UAAU,EAAE;IAAEd,KAAK,EAAE;EAAU;AACjC,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ import { StyleSheet, Text, TextInput, View } from 'react-native';
4
+ import { useTheme } from "../../theme.js";
5
+ import { IconButton } from "./Button.js";
6
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
7
+ export const SearchInput = ({
8
+ value,
9
+ onChangeText,
10
+ placeholder = 'Search',
11
+ matches,
12
+ style
13
+ }) => {
14
+ const theme = useTheme();
15
+ return /*#__PURE__*/_jsxs(View, {
16
+ style: [styles.container, {
17
+ backgroundColor: theme.colors.surfaceAlt
18
+ }, style],
19
+ children: [/*#__PURE__*/_jsx(TextInput, {
20
+ value: value,
21
+ onChangeText: onChangeText,
22
+ placeholder: placeholder,
23
+ placeholderTextColor: theme.colors.textMuted,
24
+ accessibilityLabel: placeholder,
25
+ autoCapitalize: "none",
26
+ autoCorrect: false,
27
+ returnKeyType: "search",
28
+ onSubmitEditing: matches?.onNext,
29
+ style: [styles.input, {
30
+ color: theme.colors.text
31
+ }]
32
+ }), matches && value.length > 0 && /*#__PURE__*/_jsx(Text, {
33
+ style: [styles.count, {
34
+ color: theme.colors.textMuted
35
+ }],
36
+ children: matches.count === 0 ? '0' : `${matches.index + 1}/${matches.count}`
37
+ }), matches && /*#__PURE__*/_jsxs(_Fragment, {
38
+ children: [/*#__PURE__*/_jsx(IconButton, {
39
+ glyph: "\u2191",
40
+ accessibilityLabel: "Previous match",
41
+ onPress: matches.onPrev,
42
+ disabled: !matches.count
43
+ }), /*#__PURE__*/_jsx(IconButton, {
44
+ glyph: "\u2193",
45
+ accessibilityLabel: "Next match",
46
+ onPress: matches.onNext,
47
+ disabled: !matches.count
48
+ })]
49
+ }), value.length > 0 && /*#__PURE__*/_jsx(IconButton, {
50
+ glyph: "\u2715",
51
+ accessibilityLabel: "Clear search",
52
+ onPress: () => onChangeText('')
53
+ })]
54
+ });
55
+ };
56
+ const styles = StyleSheet.create({
57
+ container: {
58
+ flexDirection: 'row',
59
+ alignItems: 'center',
60
+ borderRadius: 10,
61
+ paddingLeft: 10,
62
+ paddingRight: 2,
63
+ minHeight: 38
64
+ },
65
+ input: {
66
+ flex: 1,
67
+ fontSize: 14,
68
+ paddingVertical: 6,
69
+ paddingHorizontal: 0
70
+ },
71
+ count: {
72
+ fontSize: 12,
73
+ marginHorizontal: 4,
74
+ fontVariant: ['tabular-nums']
75
+ }
76
+ });
77
+ //# sourceMappingURL=SearchInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","Text","TextInput","View","useTheme","IconButton","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SearchInput","value","onChangeText","placeholder","matches","style","theme","styles","container","backgroundColor","colors","surfaceAlt","children","placeholderTextColor","textMuted","accessibilityLabel","autoCapitalize","autoCorrect","returnKeyType","onSubmitEditing","onNext","input","color","text","length","count","index","glyph","onPress","onPrev","disabled","create","flexDirection","alignItems","borderRadius","paddingLeft","paddingRight","minHeight","flex","fontSize","paddingVertical","paddingHorizontal","marginHorizontal","fontVariant"],"sourceRoot":"../../../../src","sources":["components/ui/SearchInput.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+
3
+ import { StyleSheet, Text, View } from 'react-native';
4
+ import { useTheme } from "../../theme.js";
5
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
+ export const Section = ({
7
+ title,
8
+ right,
9
+ children
10
+ }) => {
11
+ const theme = useTheme();
12
+ return /*#__PURE__*/_jsxs(View, {
13
+ style: styles.section,
14
+ children: [/*#__PURE__*/_jsxs(View, {
15
+ style: styles.header,
16
+ children: [/*#__PURE__*/_jsx(Text, {
17
+ style: [styles.title, {
18
+ color: theme.colors.textMuted
19
+ }],
20
+ children: title.toUpperCase()
21
+ }), right]
22
+ }), /*#__PURE__*/_jsx(View, {
23
+ style: [styles.body, {
24
+ backgroundColor: theme.colors.surface
25
+ }],
26
+ children: children
27
+ })]
28
+ });
29
+ };
30
+ export const KeyValueList = ({
31
+ entries,
32
+ emptyLabel = 'None',
33
+ mono
34
+ }) => {
35
+ const theme = useTheme();
36
+ if (entries.length === 0) {
37
+ return /*#__PURE__*/_jsx(Text, {
38
+ style: [styles.empty, {
39
+ color: theme.colors.textMuted
40
+ }],
41
+ children: emptyLabel
42
+ });
43
+ }
44
+ return /*#__PURE__*/_jsx(View, {
45
+ children: entries.map(([key, value], index) => /*#__PURE__*/_jsxs(View, {
46
+ style: [styles.row, index > 0 && {
47
+ borderTopColor: theme.colors.border,
48
+ borderTopWidth: StyleSheet.hairlineWidth
49
+ }],
50
+ children: [/*#__PURE__*/_jsx(Text, {
51
+ selectable: true,
52
+ style: [styles.key, {
53
+ color: theme.colors.textMuted
54
+ }],
55
+ children: key
56
+ }), /*#__PURE__*/_jsx(Text, {
57
+ selectable: true,
58
+ style: [styles.value, {
59
+ color: theme.colors.text
60
+ }, mono && [styles.mono, {
61
+ fontFamily: theme.fonts.mono
62
+ }]],
63
+ children: value
64
+ })]
65
+ }, `${key}-${index}`))
66
+ });
67
+ };
68
+ export const EmptyState = ({
69
+ title,
70
+ subtitle
71
+ }) => {
72
+ const theme = useTheme();
73
+ return /*#__PURE__*/_jsxs(View, {
74
+ style: styles.emptyState,
75
+ children: [/*#__PURE__*/_jsx(Text, {
76
+ style: [styles.emptyTitle, {
77
+ color: theme.colors.text
78
+ }],
79
+ children: title
80
+ }), subtitle ? /*#__PURE__*/_jsx(Text, {
81
+ style: [styles.emptySubtitle, {
82
+ color: theme.colors.textMuted
83
+ }],
84
+ children: subtitle
85
+ }) : null]
86
+ });
87
+ };
88
+ const styles = StyleSheet.create({
89
+ section: {
90
+ marginTop: 14,
91
+ paddingHorizontal: 12
92
+ },
93
+ header: {
94
+ flexDirection: 'row',
95
+ alignItems: 'center',
96
+ justifyContent: 'space-between',
97
+ marginBottom: 6,
98
+ paddingHorizontal: 2
99
+ },
100
+ title: {
101
+ fontSize: 11,
102
+ fontWeight: '700',
103
+ letterSpacing: 0.8
104
+ },
105
+ body: {
106
+ borderRadius: 10,
107
+ paddingHorizontal: 12,
108
+ paddingVertical: 4
109
+ },
110
+ row: {
111
+ paddingVertical: 8
112
+ },
113
+ key: {
114
+ fontSize: 12,
115
+ fontWeight: '600',
116
+ marginBottom: 2
117
+ },
118
+ value: {
119
+ fontSize: 14
120
+ },
121
+ mono: {
122
+ fontSize: 12
123
+ },
124
+ empty: {
125
+ fontSize: 13,
126
+ paddingVertical: 10,
127
+ fontStyle: 'italic'
128
+ },
129
+ emptyState: {
130
+ flex: 1,
131
+ alignItems: 'center',
132
+ justifyContent: 'center',
133
+ padding: 32
134
+ },
135
+ emptyTitle: {
136
+ fontSize: 16,
137
+ fontWeight: '600',
138
+ textAlign: 'center'
139
+ },
140
+ emptySubtitle: {
141
+ fontSize: 13,
142
+ textAlign: 'center',
143
+ marginTop: 6,
144
+ lineHeight: 18
145
+ }
146
+ });
147
+ //# sourceMappingURL=Section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","Text","View","useTheme","jsx","_jsx","jsxs","_jsxs","Section","title","right","children","theme","style","styles","section","header","color","colors","textMuted","toUpperCase","body","backgroundColor","surface","KeyValueList","entries","emptyLabel","mono","length","empty","map","key","value","index","row","borderTopColor","border","borderTopWidth","hairlineWidth","selectable","text","fontFamily","fonts","EmptyState","subtitle","emptyState","emptyTitle","emptySubtitle","create","marginTop","paddingHorizontal","flexDirection","alignItems","justifyContent","marginBottom","fontSize","fontWeight","letterSpacing","borderRadius","paddingVertical","fontStyle","flex","padding","textAlign","lineHeight"],"sourceRoot":"../../../../src","sources":["components/ui/Section.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ import { Pressable, StyleSheet, Text, View } from 'react-native';
4
+ import { useTheme } from "../../theme.js";
5
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
+ export const SegmentedControl = ({
7
+ options,
8
+ value,
9
+ onChange,
10
+ style
11
+ }) => {
12
+ const theme = useTheme();
13
+ return /*#__PURE__*/_jsx(View, {
14
+ style: [styles.container, {
15
+ backgroundColor: theme.colors.surfaceAlt
16
+ }, style],
17
+ children: options.map(option => {
18
+ const selected = option.value === value;
19
+ return /*#__PURE__*/_jsx(Pressable, {
20
+ accessibilityRole: "tab",
21
+ accessibilityState: {
22
+ selected
23
+ },
24
+ onPress: () => onChange(option.value),
25
+ style: [styles.segment, selected && {
26
+ backgroundColor: theme.colors.surface
27
+ }],
28
+ children: /*#__PURE__*/_jsxs(Text, {
29
+ numberOfLines: 1,
30
+ style: [styles.label, {
31
+ color: selected ? theme.colors.text : theme.colors.textMuted
32
+ }, selected && styles.labelSelected],
33
+ children: [option.label, option.badge && /*#__PURE__*/_jsx(Text, {
34
+ style: {
35
+ color: theme.colors.primary
36
+ },
37
+ children: " \u2022"
38
+ })]
39
+ })
40
+ }, option.value);
41
+ })
42
+ });
43
+ };
44
+ const styles = StyleSheet.create({
45
+ container: {
46
+ flexDirection: 'row',
47
+ borderRadius: 10,
48
+ padding: 3
49
+ },
50
+ segment: {
51
+ flex: 1,
52
+ paddingVertical: 7,
53
+ paddingHorizontal: 6,
54
+ borderRadius: 8,
55
+ alignItems: 'center'
56
+ },
57
+ label: {
58
+ fontSize: 13,
59
+ fontWeight: '500'
60
+ },
61
+ labelSelected: {
62
+ fontWeight: '700'
63
+ }
64
+ });
65
+ //# sourceMappingURL=SegmentedControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Pressable","StyleSheet","Text","View","useTheme","jsx","_jsx","jsxs","_jsxs","SegmentedControl","options","value","onChange","style","theme","styles","container","backgroundColor","colors","surfaceAlt","children","map","option","selected","accessibilityRole","accessibilityState","onPress","segment","surface","numberOfLines","label","color","text","textMuted","labelSelected","badge","primary","create","flexDirection","borderRadius","padding","flex","paddingVertical","paddingHorizontal","alignItems","fontSize","fontWeight"],"sourceRoot":"../../../../src","sources":["components/ui/SegmentedControl.tsx"],"mappings":";;AAAA,SACEA,SAAS,EACTC,UAAU,EACVC,IAAI,EACJC,IAAI,QAGC,cAAc;AACrB,SAASC,QAAQ,QAAQ,gBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AASvC,OAAO,MAAMC,gBAAgB,GAAGA,CAAmB;EACjDC,OAAO;EACPC,KAAK;EACLC,QAAQ;EACRC;AACQ,CAAC,KAAK;EACd,MAAMC,KAAK,GAAGV,QAAQ,CAAC,CAAC;EACxB,oBACEE,IAAA,CAACH,IAAI;IACHU,KAAK,EAAE,CACLE,MAAM,CAACC,SAAS,EAChB;MAAEC,eAAe,EAAEH,KAAK,CAACI,MAAM,CAACC;IAAW,CAAC,EAC5CN,KAAK,CACL;IAAAO,QAAA,EAEDV,OAAO,CAACW,GAAG,CAAEC,MAAM,IAAK;MACvB,MAAMC,QAAQ,GAAGD,MAAM,CAACX,KAAK,KAAKA,KAAK;MACvC,oBACEL,IAAA,CAACN,SAAS;QAERwB,iBAAiB,EAAC,KAAK;QACvBC,kBAAkB,EAAE;UAAEF;QAAS,CAAE;QACjCG,OAAO,EAAEA,CAAA,KAAMd,QAAQ,CAACU,MAAM,CAACX,KAAK,CAAE;QACtCE,KAAK,EAAE,CACLE,MAAM,CAACY,OAAO,EACdJ,QAAQ,IAAI;UAAEN,eAAe,EAAEH,KAAK,CAACI,MAAM,CAACU;QAAQ,CAAC,CACrD;QAAAR,QAAA,eAEFZ,KAAA,CAACN,IAAI;UACH2B,aAAa,EAAE,CAAE;UACjBhB,KAAK,EAAE,CACLE,MAAM,CAACe,KAAK,EACZ;YACEC,KAAK,EAAER,QAAQ,GAAGT,KAAK,CAACI,MAAM,CAACc,IAAI,GAAGlB,KAAK,CAACI,MAAM,CAACe;UACrD,CAAC,EACDV,QAAQ,IAAIR,MAAM,CAACmB,aAAa,CAChC;UAAAd,QAAA,GAEDE,MAAM,CAACQ,KAAK,EACZR,MAAM,CAACa,KAAK,iBACX7B,IAAA,CAACJ,IAAI;YAACW,KAAK,EAAE;cAAEkB,KAAK,EAAEjB,KAAK,CAACI,MAAM,CAACkB;YAAQ,CAAE;YAAAhB,QAAA,EAAC;UAAE,CAAM,CACvD;QAAA,CACG;MAAC,GAvBFE,MAAM,CAACX,KAwBH,CAAC;IAEhB,CAAC;EAAC,CACE,CAAC;AAEX,CAAC;AAED,MAAMI,MAAM,GAAGd,UAAU,CAACoC,MAAM,CAAC;EAC/BrB,SAAS,EAAE;IAAEsB,aAAa,EAAE,KAAK;IAAEC,YAAY,EAAE,EAAE;IAAEC,OAAO,EAAE;EAAE,CAAC;EACjEb,OAAO,EAAE;IACPc,IAAI,EAAE,CAAC;IACPC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE,CAAC;IACpBJ,YAAY,EAAE,CAAC;IACfK,UAAU,EAAE;EACd,CAAC;EACDd,KAAK,EAAE;IAAEe,QAAQ,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAM,CAAC;EAC1CZ,aAAa,EAAE;IAAEY,UAAU,EAAE;EAAM;AACrC,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ export { Pill } from "./Pill.js";
4
+ export { TextButton, IconButton } from "./Button.js";
5
+ export { SegmentedControl } from "./SegmentedControl.js";
6
+ export { SearchInput } from "./SearchInput.js";
7
+ export { Section, KeyValueList, EmptyState } from "./Section.js";
8
+ export { ActionSheet } from "./ActionSheet.js";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Pill","TextButton","IconButton","SegmentedControl","SearchInput","Section","KeyValueList","EmptyState","ActionSheet"],"sourceRoot":"../../../../src","sources":["components/ui/index.ts"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,WAAQ;AAC7B,SAASC,UAAU,EAAEC,UAAU,QAAQ,aAAU;AACjD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,WAAW,QAAQ,kBAAe;AAC3C,SAASC,OAAO,EAAEC,YAAY,EAAEC,UAAU,QAAQ,cAAW;AAC7D,SAASC,WAAW,QAAyB,kBAAe","ignoreList":[]}