@indra-inter/neobrutalism-components 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 (154) hide show
  1. package/README.md +1330 -0
  2. package/dist/module/assets/avatar-profile.png +0 -0
  3. package/dist/module/components/accordion/accordion.js +203 -0
  4. package/dist/module/components/accordion/accordion.js.map +1 -0
  5. package/dist/module/components/app-bar/app-bar.js +140 -0
  6. package/dist/module/components/app-bar/app-bar.js.map +1 -0
  7. package/dist/module/components/avatar/avatar.js +184 -0
  8. package/dist/module/components/avatar/avatar.js.map +1 -0
  9. package/dist/module/components/badge/badge.js +133 -0
  10. package/dist/module/components/badge/badge.js.map +1 -0
  11. package/dist/module/components/bottom-navigation/bottom-navigation.js +166 -0
  12. package/dist/module/components/bottom-navigation/bottom-navigation.js.map +1 -0
  13. package/dist/module/components/bottom-sheet/bottom-sheet.js +285 -0
  14. package/dist/module/components/bottom-sheet/bottom-sheet.js.map +1 -0
  15. package/dist/module/components/button/button.js +253 -0
  16. package/dist/module/components/button/button.js.map +1 -0
  17. package/dist/module/components/calendar/calendar.js +458 -0
  18. package/dist/module/components/calendar/calendar.js.map +1 -0
  19. package/dist/module/components/call-item/call-item.js +128 -0
  20. package/dist/module/components/call-item/call-item.js.map +1 -0
  21. package/dist/module/components/card/card.js +189 -0
  22. package/dist/module/components/card/card.js.map +1 -0
  23. package/dist/module/components/chat-list-item/chat-list-item.js +212 -0
  24. package/dist/module/components/chat-list-item/chat-list-item.js.map +1 -0
  25. package/dist/module/components/checkbox/checkbox.js +141 -0
  26. package/dist/module/components/checkbox/checkbox.js.map +1 -0
  27. package/dist/module/components/dialog/dialog.js +342 -0
  28. package/dist/module/components/dialog/dialog.js.map +1 -0
  29. package/dist/module/components/divider/divider.js +41 -0
  30. package/dist/module/components/divider/divider.js.map +1 -0
  31. package/dist/module/components/dropdown/dropdown-menu.js +214 -0
  32. package/dist/module/components/dropdown/dropdown-menu.js.map +1 -0
  33. package/dist/module/components/dropdown/dropdown.js +616 -0
  34. package/dist/module/components/dropdown/dropdown.js.map +1 -0
  35. package/dist/module/components/dropdown/types.js +4 -0
  36. package/dist/module/components/dropdown/types.js.map +1 -0
  37. package/dist/module/components/icon-button/icon-button.js +140 -0
  38. package/dist/module/components/icon-button/icon-button.js.map +1 -0
  39. package/dist/module/components/input/currency-input.js +60 -0
  40. package/dist/module/components/input/currency-input.js.map +1 -0
  41. package/dist/module/components/input/input.js +281 -0
  42. package/dist/module/components/input/input.js.map +1 -0
  43. package/dist/module/components/input/otp-input.js +196 -0
  44. package/dist/module/components/input/otp-input.js.map +1 -0
  45. package/dist/module/components/input/password-input.js +74 -0
  46. package/dist/module/components/input/password-input.js.map +1 -0
  47. package/dist/module/components/input/phone-input.js +68 -0
  48. package/dist/module/components/input/phone-input.js.map +1 -0
  49. package/dist/module/components/input/url-input.js +43 -0
  50. package/dist/module/components/input/url-input.js.map +1 -0
  51. package/dist/module/components/list-item/list-item.js +148 -0
  52. package/dist/module/components/list-item/list-item.js.map +1 -0
  53. package/dist/module/components/pin-code-field/pin-code-field.js +164 -0
  54. package/dist/module/components/pin-code-field/pin-code-field.js.map +1 -0
  55. package/dist/module/components/progress/progress.js +261 -0
  56. package/dist/module/components/progress/progress.js.map +1 -0
  57. package/dist/module/components/radio/radio.js +135 -0
  58. package/dist/module/components/radio/radio.js.map +1 -0
  59. package/dist/module/components/skeleton/skeleton.js +328 -0
  60. package/dist/module/components/skeleton/skeleton.js.map +1 -0
  61. package/dist/module/components/switch/switch.js +170 -0
  62. package/dist/module/components/switch/switch.js.map +1 -0
  63. package/dist/module/components/tabs/tabs.js +197 -0
  64. package/dist/module/components/tabs/tabs.js.map +1 -0
  65. package/dist/module/components/toast/toast-provider.js +117 -0
  66. package/dist/module/components/toast/toast-provider.js.map +1 -0
  67. package/dist/module/components/toast/toast.js +154 -0
  68. package/dist/module/components/toast/toast.js.map +1 -0
  69. package/dist/module/index.js +38 -0
  70. package/dist/module/index.js.map +1 -0
  71. package/dist/module/package.json +1 -0
  72. package/dist/module/theme/design-tokens.generated.js +379 -0
  73. package/dist/module/theme/design-tokens.generated.js.map +1 -0
  74. package/dist/module/theme/theme-provider.js +20 -0
  75. package/dist/module/theme/theme-provider.js.map +1 -0
  76. package/dist/module/theme/theme.js +56 -0
  77. package/dist/module/theme/theme.js.map +1 -0
  78. package/dist/typescript/components/accordion/accordion.d.ts +40 -0
  79. package/dist/typescript/components/accordion/accordion.d.ts.map +1 -0
  80. package/dist/typescript/components/app-bar/app-bar.d.ts +34 -0
  81. package/dist/typescript/components/app-bar/app-bar.d.ts.map +1 -0
  82. package/dist/typescript/components/avatar/avatar.d.ts +17 -0
  83. package/dist/typescript/components/avatar/avatar.d.ts.map +1 -0
  84. package/dist/typescript/components/badge/badge.d.ts +20 -0
  85. package/dist/typescript/components/badge/badge.d.ts.map +1 -0
  86. package/dist/typescript/components/bottom-navigation/bottom-navigation.d.ts +28 -0
  87. package/dist/typescript/components/bottom-navigation/bottom-navigation.d.ts.map +1 -0
  88. package/dist/typescript/components/bottom-sheet/bottom-sheet.d.ts +38 -0
  89. package/dist/typescript/components/bottom-sheet/bottom-sheet.d.ts.map +1 -0
  90. package/dist/typescript/components/button/button.d.ts +21 -0
  91. package/dist/typescript/components/button/button.d.ts.map +1 -0
  92. package/dist/typescript/components/calendar/calendar.d.ts +41 -0
  93. package/dist/typescript/components/calendar/calendar.d.ts.map +1 -0
  94. package/dist/typescript/components/call-item/call-item.d.ts +21 -0
  95. package/dist/typescript/components/call-item/call-item.d.ts.map +1 -0
  96. package/dist/typescript/components/card/card.d.ts +37 -0
  97. package/dist/typescript/components/card/card.d.ts.map +1 -0
  98. package/dist/typescript/components/chat-list-item/chat-list-item.d.ts +37 -0
  99. package/dist/typescript/components/chat-list-item/chat-list-item.d.ts.map +1 -0
  100. package/dist/typescript/components/checkbox/checkbox.d.ts +15 -0
  101. package/dist/typescript/components/checkbox/checkbox.d.ts.map +1 -0
  102. package/dist/typescript/components/dialog/dialog.d.ts +34 -0
  103. package/dist/typescript/components/dialog/dialog.d.ts.map +1 -0
  104. package/dist/typescript/components/divider/divider.d.ts +10 -0
  105. package/dist/typescript/components/divider/divider.d.ts.map +1 -0
  106. package/dist/typescript/components/dropdown/dropdown-menu.d.ts +27 -0
  107. package/dist/typescript/components/dropdown/dropdown-menu.d.ts.map +1 -0
  108. package/dist/typescript/components/dropdown/dropdown.d.ts +4 -0
  109. package/dist/typescript/components/dropdown/dropdown.d.ts.map +1 -0
  110. package/dist/typescript/components/dropdown/types.d.ts +52 -0
  111. package/dist/typescript/components/dropdown/types.d.ts.map +1 -0
  112. package/dist/typescript/components/icon-button/icon-button.d.ts +20 -0
  113. package/dist/typescript/components/icon-button/icon-button.d.ts.map +1 -0
  114. package/dist/typescript/components/input/currency-input.d.ts +10 -0
  115. package/dist/typescript/components/input/currency-input.d.ts.map +1 -0
  116. package/dist/typescript/components/input/input.d.ts +32 -0
  117. package/dist/typescript/components/input/input.d.ts.map +1 -0
  118. package/dist/typescript/components/input/otp-input.d.ts +23 -0
  119. package/dist/typescript/components/input/otp-input.d.ts.map +1 -0
  120. package/dist/typescript/components/input/password-input.d.ts +14 -0
  121. package/dist/typescript/components/input/password-input.d.ts.map +1 -0
  122. package/dist/typescript/components/input/phone-input.d.ts +13 -0
  123. package/dist/typescript/components/input/phone-input.d.ts.map +1 -0
  124. package/dist/typescript/components/input/url-input.d.ts +10 -0
  125. package/dist/typescript/components/input/url-input.d.ts.map +1 -0
  126. package/dist/typescript/components/list-item/list-item.d.ts +30 -0
  127. package/dist/typescript/components/list-item/list-item.d.ts.map +1 -0
  128. package/dist/typescript/components/pin-code-field/pin-code-field.d.ts +25 -0
  129. package/dist/typescript/components/pin-code-field/pin-code-field.d.ts.map +1 -0
  130. package/dist/typescript/components/progress/progress.d.ts +18 -0
  131. package/dist/typescript/components/progress/progress.d.ts.map +1 -0
  132. package/dist/typescript/components/radio/radio.d.ts +12 -0
  133. package/dist/typescript/components/radio/radio.d.ts.map +1 -0
  134. package/dist/typescript/components/skeleton/skeleton.d.ts +16 -0
  135. package/dist/typescript/components/skeleton/skeleton.d.ts.map +1 -0
  136. package/dist/typescript/components/switch/switch.d.ts +12 -0
  137. package/dist/typescript/components/switch/switch.d.ts.map +1 -0
  138. package/dist/typescript/components/tabs/tabs.d.ts +37 -0
  139. package/dist/typescript/components/tabs/tabs.d.ts.map +1 -0
  140. package/dist/typescript/components/toast/toast-provider.d.ts +22 -0
  141. package/dist/typescript/components/toast/toast-provider.d.ts.map +1 -0
  142. package/dist/typescript/components/toast/toast.d.ts +15 -0
  143. package/dist/typescript/components/toast/toast.d.ts.map +1 -0
  144. package/dist/typescript/index.d.ts +36 -0
  145. package/dist/typescript/index.d.ts.map +1 -0
  146. package/dist/typescript/package.json +1 -0
  147. package/dist/typescript/theme/design-tokens.generated.d.ts +375 -0
  148. package/dist/typescript/theme/design-tokens.generated.d.ts.map +1 -0
  149. package/dist/typescript/theme/theme-provider.d.ts +8 -0
  150. package/dist/typescript/theme/theme-provider.d.ts.map +1 -0
  151. package/dist/typescript/theme/theme.d.ts +52 -0
  152. package/dist/typescript/theme/theme.d.ts.map +1 -0
  153. package/package.json +88 -0
  154. package/tokens.css +132 -0
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+
3
+ import { forwardRef, useState } from 'react';
4
+ import { Platform, StyleSheet, Text, View } from 'react-native';
5
+ import { CodeField, useClearByFocusCell } from 'react-native-confirmation-code-field';
6
+ import { useTheme } from "../../theme/theme-provider.js";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ export const OtpInput = /*#__PURE__*/forwardRef(function OtpInput({
9
+ cellCount = 6,
10
+ cellStyle,
11
+ changeShadowOnFocus = false,
12
+ containerStyle,
13
+ defaultValue = '',
14
+ editable = true,
15
+ error,
16
+ helperText,
17
+ label,
18
+ labelStyle,
19
+ mask = true,
20
+ maskSymbol = '•',
21
+ onChangeText,
22
+ onComplete,
23
+ value,
24
+ ...props
25
+ }, ref) {
26
+ const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);
27
+ const theme = useTheme();
28
+ const styles = createStyles(theme);
29
+ const currentValue = value ?? uncontrolledValue;
30
+ const isDisabled = editable === false;
31
+ const hasError = Boolean(error);
32
+ const hasShadow = !isDisabled && !hasError;
33
+ const [codeFieldProps, getCellOnLayoutHandler] = useClearByFocusCell({
34
+ setValue: nextValue => {
35
+ if (value === undefined) {
36
+ setUncontrolledValue(nextValue);
37
+ }
38
+ },
39
+ value: currentValue
40
+ });
41
+ const handleChangeText = nextValue => {
42
+ const normalizedValue = nextValue.slice(0, cellCount);
43
+ if (value === undefined) {
44
+ setUncontrolledValue(normalizedValue);
45
+ }
46
+ onChangeText?.(normalizedValue);
47
+ if (normalizedValue.length === cellCount) {
48
+ onComplete?.(normalizedValue);
49
+ }
50
+ };
51
+ const helperCopy = error ?? helperText;
52
+ return /*#__PURE__*/_jsxs(View, {
53
+ style: [styles.root, containerStyle],
54
+ children: [label ? /*#__PURE__*/_jsx(Text, {
55
+ style: [styles.label, labelStyle, hasError && styles.errorCopy, isDisabled && styles.disabledCopy],
56
+ children: label
57
+ }) : null, /*#__PURE__*/_jsx(CodeField, {
58
+ ref: ref,
59
+ ...codeFieldProps,
60
+ ...props,
61
+ RootProps: {
62
+ testID: 'otp-input'
63
+ },
64
+ autoComplete: Platform.select({
65
+ android: 'sms-otp',
66
+ default: 'one-time-code'
67
+ }),
68
+ cellCount: cellCount,
69
+ editable: !isDisabled,
70
+ keyboardType: "number-pad",
71
+ onChangeText: handleChangeText,
72
+ renderCell: ({
73
+ index,
74
+ isFocused,
75
+ symbol
76
+ }) => /*#__PURE__*/_jsxs(View, {
77
+ testID: Platform.OS === 'android' && hasShadow ? `otp-cell-shadow-${index}` : undefined,
78
+ style: [styles.cellShadowContainer, Platform.OS === 'android' && hasShadow && styles.androidShadowContainer],
79
+ children: [Platform.OS === 'android' && hasShadow ? /*#__PURE__*/_jsx(View, {
80
+ pointerEvents: "none",
81
+ style: styles.androidShadowLayer,
82
+ testID: `otp-cell-shadow-layer-${index}`
83
+ }) : null, /*#__PURE__*/_jsx(View, {
84
+ testID: `otp-cell-${index}`,
85
+ style: [styles.cell, Platform.OS === 'ios' && hasShadow && styles.iosShadow, Platform.OS === 'ios' && changeShadowOnFocus && isFocused && hasShadow && styles.primaryIosShadow, isFocused && !hasError && !isDisabled && styles.focusedCell, hasError && styles.errorCell, isDisabled && styles.disabledCell, cellStyle],
86
+ onLayout: getCellOnLayoutHandler(index),
87
+ children: /*#__PURE__*/_jsx(Text, {
88
+ style: [styles.cellText, mask ? styles.maskedText : undefined, isDisabled && styles.disabledCopy],
89
+ children: symbol ? mask ? maskSymbol : symbol : ''
90
+ })
91
+ })]
92
+ }, index),
93
+ rootStyle: styles.cells,
94
+ secureTextEntry: mask,
95
+ textContentType: "oneTimeCode",
96
+ value: currentValue
97
+ }), helperCopy ? /*#__PURE__*/_jsx(Text, {
98
+ style: [styles.helperText, hasError && styles.errorCopy, isDisabled && styles.disabledCopy],
99
+ children: helperCopy
100
+ }) : null]
101
+ });
102
+ });
103
+ function createStyles(theme) {
104
+ return StyleSheet.create({
105
+ androidShadowContainer: {
106
+ paddingBottom: theme.shadow.offset,
107
+ paddingRight: theme.shadow.offset,
108
+ position: 'relative'
109
+ },
110
+ androidShadowLayer: {
111
+ backgroundColor: theme.shadow.color,
112
+ borderRadius: theme.border.radius,
113
+ bottom: 0,
114
+ left: theme.shadow.offset,
115
+ position: 'absolute',
116
+ right: 0,
117
+ top: theme.shadow.offset
118
+ },
119
+ cell: {
120
+ alignItems: 'center',
121
+ backgroundColor: theme.colors.background,
122
+ borderColor: theme.border.color,
123
+ borderRadius: theme.border.radius,
124
+ borderWidth: theme.border.width,
125
+ flex: 1,
126
+ height: 55,
127
+ justifyContent: 'center',
128
+ minWidth: 0
129
+ },
130
+ cellShadowContainer: {
131
+ flex: 1,
132
+ minWidth: 0
133
+ },
134
+ cellText: {
135
+ color: theme.colors.foreground,
136
+ fontSize: 24,
137
+ fontWeight: '700',
138
+ lineHeight: 32,
139
+ textAlign: 'center'
140
+ },
141
+ cells: {
142
+ flexDirection: 'row',
143
+ gap: theme.spacing.md,
144
+ width: '100%'
145
+ },
146
+ disabledCell: {
147
+ backgroundColor: theme.colors.disabled,
148
+ borderColor: theme.colors.mutedForeground,
149
+ borderStyle: 'dashed'
150
+ },
151
+ disabledCopy: {
152
+ color: theme.colors.mutedForeground
153
+ },
154
+ errorCell: {
155
+ borderColor: theme.colors.destructive
156
+ },
157
+ errorCopy: {
158
+ color: theme.colors.destructive
159
+ },
160
+ focusedCell: {
161
+ borderColor: theme.colors.primary
162
+ },
163
+ helperText: {
164
+ color: theme.colors.mutedForeground,
165
+ fontSize: theme.typography.sm,
166
+ lineHeight: 20,
167
+ paddingTop: 4
168
+ },
169
+ iosShadow: {
170
+ shadowColor: theme.shadow.color,
171
+ shadowOffset: {
172
+ width: theme.shadow.offset,
173
+ height: theme.shadow.offset
174
+ },
175
+ shadowOpacity: 1,
176
+ shadowRadius: 0
177
+ },
178
+ primaryIosShadow: {
179
+ shadowColor: theme.colors.primary
180
+ },
181
+ label: {
182
+ color: theme.colors.foreground,
183
+ fontSize: theme.typography.sm,
184
+ fontWeight: '700',
185
+ lineHeight: 20
186
+ },
187
+ maskedText: {
188
+ color: theme.colors.mutedForeground
189
+ },
190
+ root: {
191
+ gap: 4,
192
+ width: '100%'
193
+ }
194
+ });
195
+ }
196
+ //# sourceMappingURL=otp-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useState","Platform","StyleSheet","Text","View","CodeField","useClearByFocusCell","useTheme","jsx","_jsx","jsxs","_jsxs","OtpInput","cellCount","cellStyle","changeShadowOnFocus","containerStyle","defaultValue","editable","error","helperText","label","labelStyle","mask","maskSymbol","onChangeText","onComplete","value","props","ref","uncontrolledValue","setUncontrolledValue","theme","styles","createStyles","currentValue","isDisabled","hasError","Boolean","hasShadow","codeFieldProps","getCellOnLayoutHandler","setValue","nextValue","undefined","handleChangeText","normalizedValue","slice","length","helperCopy","style","root","children","errorCopy","disabledCopy","RootProps","testID","autoComplete","select","android","default","keyboardType","renderCell","index","isFocused","symbol","OS","cellShadowContainer","androidShadowContainer","pointerEvents","androidShadowLayer","cell","iosShadow","primaryIosShadow","focusedCell","errorCell","disabledCell","onLayout","cellText","maskedText","rootStyle","cells","secureTextEntry","textContentType","create","paddingBottom","shadow","offset","paddingRight","position","backgroundColor","color","borderRadius","border","radius","bottom","left","right","top","alignItems","colors","background","borderColor","borderWidth","width","flex","height","justifyContent","minWidth","foreground","fontSize","fontWeight","lineHeight","textAlign","flexDirection","gap","spacing","md","disabled","mutedForeground","borderStyle","destructive","primary","typography","sm","paddingTop","shadowColor","shadowOffset","shadowOpacity","shadowRadius"],"sourceRoot":"../../../../src","sources":["components/input/otp-input.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ import { forwardRef, useState } from 'react';
4
+ import { Pressable, StyleSheet, Text } from 'react-native';
5
+ import { useTheme } from "../../theme/theme-provider.js";
6
+ import { Input } from "./input.js";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ export const PasswordInput = /*#__PURE__*/forwardRef(function PasswordInput({
9
+ defaultVisible = false,
10
+ editable,
11
+ hideLabel = 'Hide',
12
+ onVisibilityChange,
13
+ readOnly = false,
14
+ showLabel = 'Show',
15
+ showVisibilityToggle = true,
16
+ trailingIcon,
17
+ visible,
18
+ ...props
19
+ }, ref) {
20
+ const [uncontrolledVisible, setUncontrolledVisible] = useState(defaultVisible);
21
+ const theme = useTheme();
22
+ const styles = createStyles(theme);
23
+ const isVisible = visible ?? uncontrolledVisible;
24
+ const canToggle = editable !== false && !readOnly;
25
+ const handleVisibilityToggle = () => {
26
+ const nextVisible = !isVisible;
27
+ if (visible === undefined) {
28
+ setUncontrolledVisible(nextVisible);
29
+ }
30
+ onVisibilityChange?.(nextVisible);
31
+ };
32
+ const visibilityToggle = showVisibilityToggle ? /*#__PURE__*/_jsx(Pressable, {
33
+ accessibilityLabel: isVisible ? 'Hide password' : 'Show password',
34
+ accessibilityRole: "button",
35
+ disabled: !canToggle,
36
+ hitSlop: 8,
37
+ onPress: handleVisibilityToggle,
38
+ style: styles.visibilityToggle,
39
+ children: /*#__PURE__*/_jsx(Text, {
40
+ style: styles.visibilityLabel,
41
+ children: isVisible ? hideLabel : showLabel
42
+ })
43
+ }) : undefined;
44
+ return /*#__PURE__*/_jsx(Input, {
45
+ ref: ref,
46
+ ...props,
47
+ editable: editable,
48
+ readOnly: readOnly,
49
+ secureTextEntry: !isVisible,
50
+ trailingAddon: trailingIcon ? undefined : visibilityToggle,
51
+ trailingAddonStyle: styles.visibilityAddon,
52
+ trailingIcon: trailingIcon
53
+ });
54
+ });
55
+ function createStyles(theme) {
56
+ return StyleSheet.create({
57
+ visibilityAddon: {
58
+ paddingHorizontal: 0
59
+ },
60
+ visibilityLabel: {
61
+ color: theme.colors.foreground,
62
+ fontSize: theme.typography.sm,
63
+ lineHeight: 20
64
+ },
65
+ visibilityToggle: {
66
+ alignItems: 'center',
67
+ alignSelf: 'stretch',
68
+ backgroundColor: theme.colors.surface,
69
+ justifyContent: 'center',
70
+ paddingHorizontal: 16
71
+ }
72
+ });
73
+ }
74
+ //# sourceMappingURL=password-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useState","Pressable","StyleSheet","Text","useTheme","Input","jsx","_jsx","PasswordInput","defaultVisible","editable","hideLabel","onVisibilityChange","readOnly","showLabel","showVisibilityToggle","trailingIcon","visible","props","ref","uncontrolledVisible","setUncontrolledVisible","theme","styles","createStyles","isVisible","canToggle","handleVisibilityToggle","nextVisible","undefined","visibilityToggle","accessibilityLabel","accessibilityRole","disabled","hitSlop","onPress","style","children","visibilityLabel","secureTextEntry","trailingAddon","trailingAddonStyle","visibilityAddon","create","paddingHorizontal","color","colors","foreground","fontSize","typography","sm","lineHeight","alignItems","alignSelf","backgroundColor","surface","justifyContent"],"sourceRoot":"../../../../src","sources":["components/input/password-input.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,QAAQ,QAAwB,OAAO;AAC5D,SAASC,SAAS,EAAEC,UAAU,EAAEC,IAAI,QAAmB,cAAc;AAErE,SAASC,QAAQ,QAAQ,+BAA4B;AACrD,SAASC,KAAK,QAAyB,YAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAmBjD,OAAO,MAAMC,aAAa,gBAAGT,UAAU,CACrC,SAASS,aAAaA,CACpB;EACEC,cAAc,GAAG,KAAK;EACtBC,QAAQ;EACRC,SAAS,GAAG,MAAM;EAClBC,kBAAkB;EAClBC,QAAQ,GAAG,KAAK;EAChBC,SAAS,GAAG,MAAM;EAClBC,oBAAoB,GAAG,IAAI;EAC3BC,YAAY;EACZC,OAAO;EACP,GAAGC;AACL,CAAC,EACDC,GAAG,EACH;EACA,MAAM,CAACC,mBAAmB,EAAEC,sBAAsB,CAAC,GACjDrB,QAAQ,CAACS,cAAc,CAAC;EAC1B,MAAMa,KAAK,GAAGlB,QAAQ,CAAC,CAAC;EACxB,MAAMmB,MAAM,GAAGC,YAAY,CAACF,KAAK,CAAC;EAClC,MAAMG,SAAS,GAAGR,OAAO,IAAIG,mBAAmB;EAChD,MAAMM,SAAS,GAAGhB,QAAQ,KAAK,KAAK,IAAI,CAACG,QAAQ;EAEjD,MAAMc,sBAAsB,GAAGA,CAAA,KAAM;IACnC,MAAMC,WAAW,GAAG,CAACH,SAAS;IAE9B,IAAIR,OAAO,KAAKY,SAAS,EAAE;MACzBR,sBAAsB,CAACO,WAAW,CAAC;IACrC;IAEAhB,kBAAkB,GAAGgB,WAAW,CAAC;EACnC,CAAC;EAED,MAAME,gBAAgB,GAAGf,oBAAoB,gBAC3CR,IAAA,CAACN,SAAS;IACR8B,kBAAkB,EAAEN,SAAS,GAAG,eAAe,GAAG,eAAgB;IAClEO,iBAAiB,EAAC,QAAQ;IAC1BC,QAAQ,EAAE,CAACP,SAAU;IACrBQ,OAAO,EAAE,CAAE;IACXC,OAAO,EAAER,sBAAuB;IAChCS,KAAK,EAAEb,MAAM,CAACO,gBAAiB;IAAAO,QAAA,eAC/B9B,IAAA,CAACJ,IAAI;MAACiC,KAAK,EAAEb,MAAM,CAACe,eAAgB;MAAAD,QAAA,EACjCZ,SAAS,GAAGd,SAAS,GAAGG;IAAS,CAC9B;EAAC,CACE,CAAC,GACVe,SAAS;EAEb,oBACEtB,IAAA,CAACF,KAAK;IACJc,GAAG,EAAEA,GAAI;IAAA,GACLD,KAAK;IACTR,QAAQ,EAAEA,QAAS;IACnBG,QAAQ,EAAEA,QAAS;IACnB0B,eAAe,EAAE,CAACd,SAAU;IAC5Be,aAAa,EAAExB,YAAY,GAAGa,SAAS,GAAGC,gBAAiB;IAC3DW,kBAAkB,EAAElB,MAAM,CAACmB,eAAgB;IAC3C1B,YAAY,EAAEA;EAAa,CAC5B,CAAC;AAEN,CACF,CAAC;AAED,SAASQ,YAAYA,CAACF,KAAkC,EAAE;EACxD,OAAOpB,UAAU,CAACyC,MAAM,CAAC;IACvBD,eAAe,EAAE;MACfE,iBAAiB,EAAE;IACrB,CAAC;IACDN,eAAe,EAAE;MACfO,KAAK,EAAEvB,KAAK,CAACwB,MAAM,CAACC,UAAU;MAC9BC,QAAQ,EAAE1B,KAAK,CAAC2B,UAAU,CAACC,EAAE;MAC7BC,UAAU,EAAE;IACd,CAAC;IACDrB,gBAAgB,EAAE;MAChBsB,UAAU,EAAE,QAAQ;MACpBC,SAAS,EAAE,SAAS;MACpBC,eAAe,EAAEhC,KAAK,CAACwB,MAAM,CAACS,OAAO;MACrCC,cAAc,EAAE,QAAQ;MACxBZ,iBAAiB,EAAE;IACrB;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ import { forwardRef } from 'react';
4
+ import { Pressable, StyleSheet, Text } from 'react-native';
5
+ import { useTheme } from "../../theme/theme-provider.js";
6
+ import { Input } from "./input.js";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ const defaultCountry = {
9
+ dialCode: '+1',
10
+ isoCode: 'US'
11
+ };
12
+ export const PhoneInput = /*#__PURE__*/forwardRef(function PhoneInput({
13
+ autoComplete = 'tel',
14
+ country = defaultCountry,
15
+ countryAccessibilityLabel = 'Choose country code',
16
+ editable,
17
+ keyboardType = 'phone-pad',
18
+ onCountryPress,
19
+ placeholder = '(555) 000-0000',
20
+ readOnly = false,
21
+ textContentType = 'telephoneNumber',
22
+ ...props
23
+ }, ref) {
24
+ const theme = useTheme();
25
+ const styles = createStyles(theme);
26
+ const countryLabel = `${country.isoCode} ${country.dialCode}`;
27
+ const canChangeCountry = editable !== false && !readOnly && Boolean(onCountryPress);
28
+ const countryContent = onCountryPress ? /*#__PURE__*/_jsx(Pressable, {
29
+ accessibilityLabel: countryAccessibilityLabel,
30
+ accessibilityRole: "button",
31
+ disabled: !canChangeCountry,
32
+ hitSlop: 8,
33
+ onPress: onCountryPress,
34
+ children: /*#__PURE__*/_jsx(Text, {
35
+ style: styles.countryLabel,
36
+ children: countryLabel
37
+ })
38
+ }) : /*#__PURE__*/_jsx(Text, {
39
+ style: styles.countryLabel,
40
+ children: countryLabel
41
+ });
42
+ return /*#__PURE__*/_jsx(Input, {
43
+ ref: ref,
44
+ ...props,
45
+ autoComplete: autoComplete,
46
+ editable: editable,
47
+ keyboardType: keyboardType,
48
+ leadingAddon: countryContent,
49
+ leadingAddonStyle: styles.countryAddon,
50
+ placeholder: placeholder,
51
+ readOnly: readOnly,
52
+ textContentType: textContentType
53
+ });
54
+ });
55
+ function createStyles(theme) {
56
+ return StyleSheet.create({
57
+ countryAddon: {
58
+ backgroundColor: theme.colors.primary
59
+ },
60
+ countryLabel: {
61
+ color: theme.colors.foreground,
62
+ fontSize: theme.typography.sm,
63
+ fontWeight: '700',
64
+ lineHeight: 20
65
+ }
66
+ });
67
+ }
68
+ //# sourceMappingURL=phone-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","Pressable","StyleSheet","Text","useTheme","Input","jsx","_jsx","defaultCountry","dialCode","isoCode","PhoneInput","autoComplete","country","countryAccessibilityLabel","editable","keyboardType","onCountryPress","placeholder","readOnly","textContentType","props","ref","theme","styles","createStyles","countryLabel","canChangeCountry","Boolean","countryContent","accessibilityLabel","accessibilityRole","disabled","hitSlop","onPress","children","style","leadingAddon","leadingAddonStyle","countryAddon","create","backgroundColor","colors","primary","color","foreground","fontSize","typography","sm","fontWeight","lineHeight"],"sourceRoot":"../../../../src","sources":["components/input/phone-input.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,SAAS,EAAEC,UAAU,EAAEC,IAAI,QAAmB,cAAc;AAErE,SAASC,QAAQ,QAAQ,+BAA4B;AACrD,SAASC,KAAK,QAAyB,YAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAcjD,MAAMC,cAA4B,GAAG;EAAEC,QAAQ,EAAE,IAAI;EAAEC,OAAO,EAAE;AAAK,CAAC;AAEtE,OAAO,MAAMC,UAAU,gBAAGX,UAAU,CAClC,SAASW,UAAUA,CACjB;EACEC,YAAY,GAAG,KAAK;EACpBC,OAAO,GAAGL,cAAc;EACxBM,yBAAyB,GAAG,qBAAqB;EACjDC,QAAQ;EACRC,YAAY,GAAG,WAAW;EAC1BC,cAAc;EACdC,WAAW,GAAG,gBAAgB;EAC9BC,QAAQ,GAAG,KAAK;EAChBC,eAAe,GAAG,iBAAiB;EACnC,GAAGC;AACL,CAAC,EACDC,GAAG,EACH;EACA,MAAMC,KAAK,GAAGnB,QAAQ,CAAC,CAAC;EACxB,MAAMoB,MAAM,GAAGC,YAAY,CAACF,KAAK,CAAC;EAClC,MAAMG,YAAY,GAAG,GAAGb,OAAO,CAACH,OAAO,IAAIG,OAAO,CAACJ,QAAQ,EAAE;EAC7D,MAAMkB,gBAAgB,GAAGZ,QAAQ,KAAK,KAAK,IAAI,CAACI,QAAQ,IAAIS,OAAO,CAACX,cAAc,CAAC;EACnF,MAAMY,cAAc,GAAGZ,cAAc,gBACnCV,IAAA,CAACN,SAAS;IACR6B,kBAAkB,EAAEhB,yBAA0B;IAC9CiB,iBAAiB,EAAC,QAAQ;IAC1BC,QAAQ,EAAE,CAACL,gBAAiB;IAC5BM,OAAO,EAAE,CAAE;IACXC,OAAO,EAAEjB,cAAe;IAAAkB,QAAA,eACxB5B,IAAA,CAACJ,IAAI;MAACiC,KAAK,EAAEZ,MAAM,CAACE,YAAa;MAAAS,QAAA,EAAET;IAAY,CAAO;EAAC,CAC9C,CAAC,gBAEZnB,IAAA,CAACJ,IAAI;IAACiC,KAAK,EAAEZ,MAAM,CAACE,YAAa;IAAAS,QAAA,EAAET;EAAY,CAAO,CACvD;EAED,oBACEnB,IAAA,CAACF,KAAK;IACJiB,GAAG,EAAEA,GAAI;IAAA,GACLD,KAAK;IACTT,YAAY,EAAEA,YAAa;IAC3BG,QAAQ,EAAEA,QAAS;IACnBC,YAAY,EAAEA,YAAa;IAC3BqB,YAAY,EAAER,cAAe;IAC7BS,iBAAiB,EAAEd,MAAM,CAACe,YAAa;IACvCrB,WAAW,EAAEA,WAAY;IACzBC,QAAQ,EAAEA,QAAS;IACnBC,eAAe,EAAEA;EAAgB,CAClC,CAAC;AAEN,CACF,CAAC;AAED,SAASK,YAAYA,CAACF,KAAkC,EAAE;EACxD,OAAOrB,UAAU,CAACsC,MAAM,CAAC;IACvBD,YAAY,EAAE;MACZE,eAAe,EAAElB,KAAK,CAACmB,MAAM,CAACC;IAChC,CAAC;IACDjB,YAAY,EAAE;MACZkB,KAAK,EAAErB,KAAK,CAACmB,MAAM,CAACG,UAAU;MAC9BC,QAAQ,EAAEvB,KAAK,CAACwB,UAAU,CAACC,EAAE;MAC7BC,UAAU,EAAE,KAAK;MACjBC,UAAU,EAAE;IACd;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ import { forwardRef } from 'react';
4
+ import { StyleSheet, Text } from 'react-native';
5
+ import { useTheme } from "../../theme/theme-provider.js";
6
+ import { Input } from "./input.js";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ export const UrlInput = /*#__PURE__*/forwardRef(function UrlInput({
9
+ autoCapitalize = 'none',
10
+ autoComplete = 'url',
11
+ autoCorrect = false,
12
+ keyboardType = 'url',
13
+ leadingAddon,
14
+ protocol = 'https://',
15
+ showProtocol = true,
16
+ ...props
17
+ }, ref) {
18
+ const theme = useTheme();
19
+ const styles = createStyles(theme.colors.foreground, theme.typography.sm);
20
+ const defaultLeadingAddon = showProtocol ? /*#__PURE__*/_jsx(Text, {
21
+ style: styles.protocol,
22
+ children: protocol
23
+ }) : undefined;
24
+ return /*#__PURE__*/_jsx(Input, {
25
+ ref: ref,
26
+ ...props,
27
+ autoCapitalize: autoCapitalize,
28
+ autoComplete: autoComplete,
29
+ autoCorrect: autoCorrect,
30
+ keyboardType: keyboardType,
31
+ leadingAddon: leadingAddon ?? defaultLeadingAddon
32
+ });
33
+ });
34
+ function createStyles(color, fontSize) {
35
+ return StyleSheet.create({
36
+ protocol: {
37
+ color,
38
+ fontSize,
39
+ lineHeight: 20
40
+ }
41
+ });
42
+ }
43
+ //# sourceMappingURL=url-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","StyleSheet","Text","useTheme","Input","jsx","_jsx","UrlInput","autoCapitalize","autoComplete","autoCorrect","keyboardType","leadingAddon","protocol","showProtocol","props","ref","theme","styles","createStyles","colors","foreground","typography","sm","defaultLeadingAddon","style","children","undefined","color","fontSize","create","lineHeight"],"sourceRoot":"../../../../src","sources":["components/input/url-input.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAwB,OAAO;AAClD,SAASC,UAAU,EAAEC,IAAI,QAAmB,cAAc;AAE1D,SAASC,QAAQ,QAAQ,+BAA4B;AACrD,SAASC,KAAK,QAAyB,YAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQjD,OAAO,MAAMC,QAAQ,gBAAGP,UAAU,CAA2B,SAASO,QAAQA,CAC5E;EACEC,cAAc,GAAG,MAAM;EACvBC,YAAY,GAAG,KAAK;EACpBC,WAAW,GAAG,KAAK;EACnBC,YAAY,GAAG,KAAK;EACpBC,YAAY;EACZC,QAAQ,GAAG,UAAU;EACrBC,YAAY,GAAG,IAAI;EACnB,GAAGC;AACL,CAAC,EACDC,GAAG,EACH;EACA,MAAMC,KAAK,GAAGd,QAAQ,CAAC,CAAC;EACxB,MAAMe,MAAM,GAAGC,YAAY,CAACF,KAAK,CAACG,MAAM,CAACC,UAAU,EAAEJ,KAAK,CAACK,UAAU,CAACC,EAAE,CAAC;EACzE,MAAMC,mBAAmB,GAAGV,YAAY,gBACtCR,IAAA,CAACJ,IAAI;IAACuB,KAAK,EAAEP,MAAM,CAACL,QAAS;IAAAa,QAAA,EAAEb;EAAQ,CAAO,CAAC,GAC7Cc,SAAS;EAEb,oBACErB,IAAA,CAACF,KAAK;IACJY,GAAG,EAAEA,GAAI;IAAA,GACLD,KAAK;IACTP,cAAc,EAAEA,cAAe;IAC/BC,YAAY,EAAEA,YAAa;IAC3BC,WAAW,EAAEA,WAAY;IACzBC,YAAY,EAAEA,YAAa;IAC3BC,YAAY,EAAEA,YAAY,IAAIY;EAAoB,CACnD,CAAC;AAEN,CAAC,CAAC;AAEF,SAASL,YAAYA,CAACS,KAAa,EAAEC,QAAgB,EAAE;EACrD,OAAO5B,UAAU,CAAC6B,MAAM,CAAC;IACvBjB,QAAQ,EAAE;MACRe,KAAK;MACLC,QAAQ;MACRE,UAAU,EAAE;IACd;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+
3
+ import { Pressable, StyleSheet, Text, View } from 'react-native';
4
+ import { cssInterop } from 'nativewind';
5
+ import { useTheme } from "../../theme/theme-provider.js";
6
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
7
+ export function ListItem({
8
+ accessibilityLabel,
9
+ containerStyle,
10
+ description,
11
+ descriptionStyle,
12
+ disabled = false,
13
+ divider = true,
14
+ gap,
15
+ leading,
16
+ leadingStyle,
17
+ onPress,
18
+ style,
19
+ title,
20
+ titleStyle,
21
+ trailing,
22
+ trailingStyle,
23
+ trailingAction
24
+ }) {
25
+ const theme = useTheme();
26
+ const styles = createStyles(theme);
27
+ const rowStyle = [styles.row, {
28
+ gap: gap ?? theme.spacing.sm
29
+ }, disabled && styles.disabledRow, style];
30
+ const contents = /*#__PURE__*/_jsxs(_Fragment, {
31
+ children: [leading ? /*#__PURE__*/_jsx(View, {
32
+ style: [styles.leading, leadingStyle],
33
+ testID: "list-item-leading",
34
+ children: leading
35
+ }) : null, /*#__PURE__*/_jsxs(View, {
36
+ style: styles.labels,
37
+ children: [/*#__PURE__*/_jsx(Text, {
38
+ numberOfLines: 1,
39
+ style: [styles.title, titleStyle],
40
+ children: title
41
+ }), description ? /*#__PURE__*/_jsx(Text, {
42
+ numberOfLines: 1,
43
+ style: [styles.description, descriptionStyle],
44
+ children: description
45
+ }) : null]
46
+ }), trailing ? /*#__PURE__*/_jsx(View, {
47
+ style: [styles.trailing, trailingStyle],
48
+ testID: "list-item-trailing",
49
+ children: trailing
50
+ }) : null, !trailing && trailingAction ? /*#__PURE__*/_jsx(Pressable, {
51
+ accessibilityLabel: trailingAction.accessibilityLabel,
52
+ accessibilityRole: "button",
53
+ accessibilityState: {
54
+ disabled: trailingAction.disabled
55
+ },
56
+ disabled: trailingAction.disabled,
57
+ hitSlop: 8,
58
+ onPress: trailingAction.onPress,
59
+ style: [styles.trailingAction, trailingAction.disabled && styles.disabledTrailingAction],
60
+ children: trailingAction.icon
61
+ }) : null]
62
+ });
63
+ return /*#__PURE__*/_jsxs(View, {
64
+ style: [styles.container, containerStyle],
65
+ children: [onPress ? /*#__PURE__*/_jsx(Pressable, {
66
+ accessibilityLabel: accessibilityLabel ?? (typeof title === 'string' ? title : undefined),
67
+ accessibilityRole: "button",
68
+ accessibilityState: {
69
+ disabled
70
+ },
71
+ disabled: disabled,
72
+ onPress: onPress,
73
+ style: rowStyle,
74
+ children: contents
75
+ }) : /*#__PURE__*/_jsx(View, {
76
+ style: rowStyle,
77
+ testID: "list-item-row",
78
+ children: contents
79
+ }), divider ? /*#__PURE__*/_jsx(View, {
80
+ style: styles.divider,
81
+ testID: "list-item-divider"
82
+ }) : null]
83
+ });
84
+ }
85
+ cssInterop(ListItem, {
86
+ className: 'style',
87
+ containerClassName: 'containerStyle'
88
+ });
89
+ function createStyles(theme) {
90
+ return StyleSheet.create({
91
+ container: {
92
+ width: '100%'
93
+ },
94
+ row: {
95
+ alignItems: 'center',
96
+ flexDirection: 'row',
97
+ gap: theme.spacing.sm,
98
+ minHeight: 70,
99
+ paddingHorizontal: theme.spacing.sm,
100
+ paddingVertical: theme.spacing.sm
101
+ },
102
+ disabledRow: {
103
+ opacity: 0.6
104
+ },
105
+ leading: {
106
+ alignItems: 'center',
107
+ flexShrink: 0,
108
+ justifyContent: 'center'
109
+ },
110
+ labels: {
111
+ flex: 1,
112
+ gap: 2,
113
+ minWidth: 0
114
+ },
115
+ title: {
116
+ color: theme.colors.foreground,
117
+ fontSize: theme.typography.md,
118
+ fontWeight: theme.typography.weight,
119
+ lineHeight: 24
120
+ },
121
+ description: {
122
+ color: theme.colors.mutedForeground,
123
+ fontSize: theme.typography.sm,
124
+ lineHeight: 20
125
+ },
126
+ trailing: {
127
+ alignItems: 'center',
128
+ flexShrink: 0,
129
+ flexDirection: 'row',
130
+ justifyContent: 'center'
131
+ },
132
+ trailingAction: {
133
+ alignItems: 'center',
134
+ height: 24,
135
+ justifyContent: 'center',
136
+ width: 24
137
+ },
138
+ disabledTrailingAction: {
139
+ opacity: 0.6
140
+ },
141
+ divider: {
142
+ backgroundColor: theme.border.color,
143
+ height: 1,
144
+ width: '100%'
145
+ }
146
+ });
147
+ }
148
+ //# sourceMappingURL=list-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Pressable","StyleSheet","Text","View","cssInterop","useTheme","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ListItem","accessibilityLabel","containerStyle","description","descriptionStyle","disabled","divider","gap","leading","leadingStyle","onPress","style","title","titleStyle","trailing","trailingStyle","trailingAction","theme","styles","createStyles","rowStyle","row","spacing","sm","disabledRow","contents","children","testID","labels","numberOfLines","accessibilityRole","accessibilityState","hitSlop","disabledTrailingAction","icon","container","undefined","className","containerClassName","create","width","alignItems","flexDirection","minHeight","paddingHorizontal","paddingVertical","opacity","flexShrink","justifyContent","flex","minWidth","color","colors","foreground","fontSize","typography","md","fontWeight","weight","lineHeight","mutedForeground","height","backgroundColor","border"],"sourceRoot":"../../../../src","sources":["components/list-item/list-item.tsx"],"mappings":"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","ignoreList":[]}