@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,140 @@
1
+ "use strict";
2
+
3
+ import { Platform, Pressable, StyleSheet, Text, View } from 'react-native';
4
+ import { useTheme } from "../../theme/theme-provider.js";
5
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
+ export function IconButton({
7
+ accessibilityLabel,
8
+ containerStyle,
9
+ disabled,
10
+ icon,
11
+ label,
12
+ labelStyle,
13
+ radius,
14
+ rounded = 'rounded',
15
+ shadow = true,
16
+ shadowColor,
17
+ size = 60,
18
+ style,
19
+ variant = 'default',
20
+ ...props
21
+ }) {
22
+ const theme = useTheme();
23
+ const styles = createStyles(theme);
24
+ const isDisabled = disabled ?? false;
25
+ const resolvedRadius = radius ?? (rounded === 'sharp' ? 0 : theme.border.radius);
26
+ const resolvedShadowColor = shadowColor ?? theme.shadow.color;
27
+ const shouldShowShadow = shadow && variant !== 'ghost';
28
+ const usesAndroidHardShadow = Platform.OS === 'android' && shouldShowShadow;
29
+ return /*#__PURE__*/_jsxs(View, {
30
+ style: [styles.container, containerStyle],
31
+ children: [/*#__PURE__*/_jsxs(View, {
32
+ style: [styles.surfaceContainer, usesAndroidHardShadow && styles.androidShadowContainer],
33
+ children: [usesAndroidHardShadow ? /*#__PURE__*/_jsx(View, {
34
+ pointerEvents: "none",
35
+ style: [styles.androidHardShadow, {
36
+ backgroundColor: resolvedShadowColor,
37
+ borderRadius: resolvedRadius
38
+ }],
39
+ testID: "icon-button-hard-shadow"
40
+ }) : null, /*#__PURE__*/_jsx(Pressable, {
41
+ accessibilityLabel: accessibilityLabel,
42
+ accessibilityRole: "button",
43
+ accessibilityState: {
44
+ disabled: isDisabled
45
+ },
46
+ disabled: isDisabled,
47
+ style: ({
48
+ pressed
49
+ }) => [styles.surface, styles[variant], {
50
+ borderRadius: resolvedRadius,
51
+ height: size,
52
+ width: size
53
+ }, shouldShowShadow && !usesAndroidHardShadow && {
54
+ elevation: theme.shadow.offset,
55
+ marginBottom: theme.shadow.offset,
56
+ marginRight: theme.shadow.offset,
57
+ shadowColor: resolvedShadowColor,
58
+ shadowOffset: {
59
+ width: theme.shadow.offset,
60
+ height: theme.shadow.offset
61
+ },
62
+ shadowOpacity: 1,
63
+ shadowRadius: 0
64
+ }, pressed && !isDisabled && variant !== 'ghost' && styles.pressed, pressed && !isDisabled && variant === 'ghost' && styles.ghostPressed, isDisabled && styles.disabled, style],
65
+ ...props,
66
+ children: icon
67
+ })]
68
+ }), label ? /*#__PURE__*/_jsx(Text, {
69
+ numberOfLines: 1,
70
+ style: [styles.label, variant === 'primary' && styles.primaryLabel, labelStyle],
71
+ children: label
72
+ }) : null]
73
+ });
74
+ }
75
+ function createStyles(theme) {
76
+ return StyleSheet.create({
77
+ container: {
78
+ alignItems: 'center',
79
+ gap: theme.spacing.xs,
80
+ justifyContent: 'center',
81
+ padding: 6
82
+ },
83
+ surfaceContainer: {
84
+ position: 'relative'
85
+ },
86
+ androidShadowContainer: {
87
+ paddingBottom: theme.shadow.offset,
88
+ paddingRight: theme.shadow.offset
89
+ },
90
+ androidHardShadow: {
91
+ bottom: 0,
92
+ left: theme.shadow.offset,
93
+ position: 'absolute',
94
+ right: 0,
95
+ top: theme.shadow.offset
96
+ },
97
+ surface: {
98
+ alignItems: 'center',
99
+ borderColor: theme.border.color,
100
+ borderWidth: theme.border.width,
101
+ justifyContent: 'center'
102
+ },
103
+ default: {
104
+ backgroundColor: theme.colors.surface
105
+ },
106
+ primary: {
107
+ backgroundColor: theme.colors.primary
108
+ },
109
+ destructive: {
110
+ backgroundColor: theme.colors.destructive
111
+ },
112
+ ghost: {
113
+ backgroundColor: 'transparent',
114
+ borderWidth: 0
115
+ },
116
+ pressed: {
117
+ transform: [{
118
+ translateX: theme.shadow.offset
119
+ }, {
120
+ translateY: theme.shadow.offset
121
+ }]
122
+ },
123
+ ghostPressed: {
124
+ opacity: 0.7
125
+ },
126
+ disabled: {
127
+ opacity: 0.6
128
+ },
129
+ label: {
130
+ color: theme.colors.foreground,
131
+ fontSize: theme.typography.sm,
132
+ lineHeight: 20,
133
+ textAlign: 'center'
134
+ },
135
+ primaryLabel: {
136
+ color: theme.colors.primary
137
+ }
138
+ });
139
+ }
140
+ //# sourceMappingURL=icon-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","Pressable","StyleSheet","Text","View","useTheme","jsx","_jsx","jsxs","_jsxs","IconButton","accessibilityLabel","containerStyle","disabled","icon","label","labelStyle","radius","rounded","shadow","shadowColor","size","style","variant","props","theme","styles","createStyles","isDisabled","resolvedRadius","border","resolvedShadowColor","color","shouldShowShadow","usesAndroidHardShadow","OS","container","children","surfaceContainer","androidShadowContainer","pointerEvents","androidHardShadow","backgroundColor","borderRadius","testID","accessibilityRole","accessibilityState","pressed","surface","height","width","elevation","offset","marginBottom","marginRight","shadowOffset","shadowOpacity","shadowRadius","ghostPressed","numberOfLines","primaryLabel","create","alignItems","gap","spacing","xs","justifyContent","padding","position","paddingBottom","paddingRight","bottom","left","right","top","borderColor","borderWidth","default","colors","primary","destructive","ghost","transform","translateX","translateY","opacity","foreground","fontSize","typography","sm","lineHeight","textAlign"],"sourceRoot":"../../../../src","sources":["components/icon-button/icon-button.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,60 @@
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 CurrencyInput = /*#__PURE__*/forwardRef(function CurrencyInput({
9
+ currencyCode = 'USD',
10
+ keyboardType = 'decimal-pad',
11
+ placeholder = '0.00',
12
+ showCurrencyCode = true,
13
+ showSymbol = true,
14
+ style,
15
+ symbol = '$',
16
+ ...props
17
+ }, ref) {
18
+ const theme = useTheme();
19
+ const styles = createStyles(theme);
20
+ const leadingAddon = showSymbol ? /*#__PURE__*/_jsx(Text, {
21
+ style: styles.symbol,
22
+ children: symbol
23
+ }) : undefined;
24
+ const trailingAddon = showCurrencyCode ? /*#__PURE__*/_jsx(Text, {
25
+ style: styles.currencyCode,
26
+ children: currencyCode
27
+ }) : undefined;
28
+ return /*#__PURE__*/_jsx(Input, {
29
+ ref: ref,
30
+ ...props,
31
+ keyboardType: keyboardType,
32
+ leadingAddon: leadingAddon,
33
+ leadingAddonStyle: styles.symbolAddon,
34
+ placeholder: placeholder,
35
+ style: [styles.input, style],
36
+ trailingAddon: trailingAddon
37
+ });
38
+ });
39
+ function createStyles(theme) {
40
+ return StyleSheet.create({
41
+ currencyCode: {
42
+ color: theme.colors.foreground,
43
+ fontSize: theme.typography.sm,
44
+ lineHeight: 20
45
+ },
46
+ input: {
47
+ textAlign: 'right'
48
+ },
49
+ symbol: {
50
+ color: theme.colors.foreground,
51
+ fontSize: theme.typography.sm,
52
+ fontWeight: '700',
53
+ lineHeight: 20
54
+ },
55
+ symbolAddon: {
56
+ backgroundColor: theme.colors.success
57
+ }
58
+ });
59
+ }
60
+ //# sourceMappingURL=currency-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","StyleSheet","Text","useTheme","Input","jsx","_jsx","CurrencyInput","currencyCode","keyboardType","placeholder","showCurrencyCode","showSymbol","style","symbol","props","ref","theme","styles","createStyles","leadingAddon","children","undefined","trailingAddon","leadingAddonStyle","symbolAddon","input","create","color","colors","foreground","fontSize","typography","sm","lineHeight","textAlign","fontWeight","backgroundColor","success"],"sourceRoot":"../../../../src","sources":["components/input/currency-input.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,UAAU,EAAEC,IAAI,QAAmB,cAAc;AAE1D,SAASC,QAAQ,QAAQ,+BAA4B;AACrD,SAASC,KAAK,QAAyB,YAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAgBjD,OAAO,MAAMC,aAAa,gBAAGP,UAAU,CACrC,SAASO,aAAaA,CACpB;EACEC,YAAY,GAAG,KAAK;EACpBC,YAAY,GAAG,aAAa;EAC5BC,WAAW,GAAG,MAAM;EACpBC,gBAAgB,GAAG,IAAI;EACvBC,UAAU,GAAG,IAAI;EACjBC,KAAK;EACLC,MAAM,GAAG,GAAG;EACZ,GAAGC;AACL,CAAC,EACDC,GAAG,EACH;EACA,MAAMC,KAAK,GAAGd,QAAQ,CAAC,CAAC;EACxB,MAAMe,MAAM,GAAGC,YAAY,CAACF,KAAK,CAAC;EAClC,MAAMG,YAAY,GAAGR,UAAU,gBAC7BN,IAAA,CAACJ,IAAI;IAACW,KAAK,EAAEK,MAAM,CAACJ,MAAO;IAAAO,QAAA,EAAEP;EAAM,CAAO,CAAC,GACzCQ,SAAS;EACb,MAAMC,aAAa,GAAGZ,gBAAgB,gBACpCL,IAAA,CAACJ,IAAI;IAACW,KAAK,EAAEK,MAAM,CAACV,YAAa;IAAAa,QAAA,EAAEb;EAAY,CAAO,CAAC,GACrDc,SAAS;EAEb,oBACEhB,IAAA,CAACF,KAAK;IACJY,GAAG,EAAEA,GAAI;IAAA,GACLD,KAAK;IACTN,YAAY,EAAEA,YAAa;IAC3BW,YAAY,EAAEA,YAAa;IAC3BI,iBAAiB,EAAEN,MAAM,CAACO,WAAY;IACtCf,WAAW,EAAEA,WAAY;IACzBG,KAAK,EAAE,CAACK,MAAM,CAACQ,KAAK,EAAEb,KAAK,CAAE;IAC7BU,aAAa,EAAEA;EAAc,CAC9B,CAAC;AAEN,CACF,CAAC;AAED,SAASJ,YAAYA,CAACF,KAAkC,EAAE;EACxD,OAAOhB,UAAU,CAAC0B,MAAM,CAAC;IACvBnB,YAAY,EAAE;MACZoB,KAAK,EAAEX,KAAK,CAACY,MAAM,CAACC,UAAU;MAC9BC,QAAQ,EAAEd,KAAK,CAACe,UAAU,CAACC,EAAE;MAC7BC,UAAU,EAAE;IACd,CAAC;IACDR,KAAK,EAAE;MACLS,SAAS,EAAE;IACb,CAAC;IACDrB,MAAM,EAAE;MACNc,KAAK,EAAEX,KAAK,CAACY,MAAM,CAACC,UAAU;MAC9BC,QAAQ,EAAEd,KAAK,CAACe,UAAU,CAACC,EAAE;MAC7BG,UAAU,EAAE,KAAK;MACjBF,UAAU,EAAE;IACd,CAAC;IACDT,WAAW,EAAE;MACXY,eAAe,EAAEpB,KAAK,CAACY,MAAM,CAACS;IAChC;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -0,0 +1,281 @@
1
+ "use strict";
2
+
3
+ import { forwardRef, useState } from 'react';
4
+ import { Platform, StyleSheet, Text, TextInput, View } from 'react-native';
5
+ import { useTheme } from "../../theme/theme-provider.js";
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ export const Input = /*#__PURE__*/forwardRef(function Input({
8
+ changeShadowOnFocus = false,
9
+ containerStyle,
10
+ editable = true,
11
+ error,
12
+ fieldStyle,
13
+ helperText,
14
+ label,
15
+ leadingAddon,
16
+ leadingAddonStyle,
17
+ leadingIcon,
18
+ onBlur,
19
+ onChangeText,
20
+ onFocus,
21
+ placeholderTextColor,
22
+ readOnly = false,
23
+ style,
24
+ trailingAddon,
25
+ trailingAddonStyle,
26
+ trailingIcon,
27
+ value,
28
+ defaultValue,
29
+ variant = 'default',
30
+ ...props
31
+ }, ref) {
32
+ const [focused, setFocused] = useState(false);
33
+ const theme = useTheme();
34
+ const styles = createStyles(theme);
35
+ const isDisabled = editable === false && !readOnly;
36
+ const hasError = Boolean(error);
37
+ const hasLeadingAddon = leadingAddon !== undefined && leadingAddon !== null;
38
+ const hasTrailingAddon = trailingAddon !== undefined && trailingAddon !== null;
39
+ const usesDashedBorder = (variant === 'dashed' || isDisabled || readOnly) && !hasError;
40
+ const hasShadow = variant === 'default' && !isDisabled && !readOnly && !hasError;
41
+ // Android can clear native TextInput focus whenever this hard-shadow wrapper
42
+ // changes color. iOS only changes its native shadow for shadowed fields.
43
+ const hasPrimaryShadow = Platform.OS === 'ios' && changeShadowOnFocus && hasShadow && focused;
44
+ const hasFocusedBorder = focused && !hasError && !isDisabled && !readOnly;
45
+ const usesAndroidHardShadow = Platform.OS === 'android' && hasShadow;
46
+ const usesIOSNativeShadow = Platform.OS === 'ios' && hasShadow;
47
+ const isMultiline = props.multiline === true;
48
+ const inputPlatformStyle = isMultiline ? styles.multilineInput : Platform.OS === 'ios' ? styles.iosInput : styles.androidInput;
49
+ const helperCopy = error ?? helperText;
50
+ const fieldTestID = isDisabled ? 'input-disabled' : readOnly ? 'input-read-only' : hasFocusedBorder ? 'input-focused' : undefined;
51
+ return /*#__PURE__*/_jsxs(View, {
52
+ style: [styles.root, containerStyle],
53
+ children: [label ? /*#__PURE__*/_jsxs(View, {
54
+ style: styles.labelRow,
55
+ children: [/*#__PURE__*/_jsx(Text, {
56
+ style: [styles.label, isDisabled && styles.disabledCopy, hasError && styles.errorCopy],
57
+ children: label
58
+ }), hasError ? /*#__PURE__*/_jsx(Text, {
59
+ style: styles.errorAsterisk,
60
+ children: "*"
61
+ }) : null]
62
+ }) : null, /*#__PURE__*/_jsxs(View, {
63
+ style: usesAndroidHardShadow && styles.androidShadowContainer,
64
+ testID: usesAndroidHardShadow ? 'input-hard-shadow' : undefined,
65
+ children: [usesAndroidHardShadow ? /*#__PURE__*/_jsx(View, {
66
+ pointerEvents: "none",
67
+ style: styles.androidHardShadowLayer,
68
+ testID: "input-hard-shadow-layer"
69
+ }) : null, /*#__PURE__*/_jsxs(View, {
70
+ style: [styles.field, hasLeadingAddon && styles.fieldWithLeadingAddon, hasTrailingAddon && styles.fieldWithTrailingAddon, isMultiline && styles.multilineField, isDisabled && styles.disabledField, usesDashedBorder && styles.dashedField, hasFocusedBorder && styles.focusedField, hasError && styles.errorField, usesIOSNativeShadow && styles.iosShadow, hasPrimaryShadow && styles.primaryIosShadow, fieldStyle],
71
+ testID: fieldTestID,
72
+ children: [hasLeadingAddon ? /*#__PURE__*/_jsx(View, {
73
+ style: [styles.leadingAddon, leadingAddonStyle],
74
+ children: leadingAddon
75
+ }) : null, leadingIcon ? /*#__PURE__*/_jsx(View, {
76
+ style: styles.iconSlot,
77
+ children: leadingIcon
78
+ }) : null, /*#__PURE__*/_jsx(TextInput, {
79
+ ref: ref,
80
+ ...props,
81
+ editable: !isDisabled && !readOnly,
82
+ placeholderTextColor: placeholderTextColor ?? theme.colors.mutedForeground,
83
+ style: [styles.input, inputPlatformStyle, isDisabled && styles.disabledInput, isDisabled && styles.disabledCopy, style],
84
+ value: value,
85
+ defaultValue: defaultValue,
86
+ onBlur: event => {
87
+ setFocused(false);
88
+ onBlur?.(event);
89
+ },
90
+ onChangeText: text => {
91
+ onChangeText?.(text);
92
+ },
93
+ onFocus: event => {
94
+ setFocused(true);
95
+ onFocus?.(event);
96
+ }
97
+ }), hasTrailingAddon ? /*#__PURE__*/_jsx(View, {
98
+ style: [styles.trailingAddon, trailingAddonStyle],
99
+ children: trailingAddon
100
+ }) : null, trailingIcon ? /*#__PURE__*/_jsx(View, {
101
+ style: styles.iconSlot,
102
+ children: trailingIcon
103
+ }) : null]
104
+ })]
105
+ }), helperCopy ? /*#__PURE__*/_jsx(Text, {
106
+ style: [styles.helperText, isDisabled && styles.disabledCopy, hasError && styles.errorCopy],
107
+ children: helperCopy
108
+ }) : null]
109
+ });
110
+ });
111
+ export const TextArea = /*#__PURE__*/forwardRef(function TextArea({
112
+ fieldStyle,
113
+ height = 80,
114
+ numberOfLines = 3,
115
+ style,
116
+ ...props
117
+ }, ref) {
118
+ return /*#__PURE__*/_jsx(Input, {
119
+ ref: ref,
120
+ ...props,
121
+ fieldStyle: [{
122
+ height,
123
+ paddingHorizontal: 16,
124
+ paddingVertical: 12
125
+ }, fieldStyle],
126
+ multiline: true,
127
+ numberOfLines: numberOfLines,
128
+ style: style
129
+ });
130
+ });
131
+ function createStyles(theme) {
132
+ const innerBorderRadius = Math.max(0, theme.border.radius - theme.border.width);
133
+ return StyleSheet.create({
134
+ root: {
135
+ gap: 4,
136
+ width: '100%'
137
+ },
138
+ labelRow: {
139
+ flexDirection: 'row',
140
+ gap: 4
141
+ },
142
+ label: {
143
+ color: theme.colors.foreground,
144
+ fontSize: theme.typography.sm,
145
+ fontWeight: '700',
146
+ lineHeight: 20
147
+ },
148
+ errorAsterisk: {
149
+ color: theme.colors.destructive,
150
+ fontSize: theme.typography.sm,
151
+ fontWeight: '800',
152
+ lineHeight: 20
153
+ },
154
+ androidShadowContainer: {
155
+ paddingBottom: theme.shadow.offset,
156
+ paddingRight: theme.shadow.offset,
157
+ position: 'relative'
158
+ },
159
+ androidHardShadowLayer: {
160
+ backgroundColor: theme.shadow.color,
161
+ borderRadius: theme.border.radius,
162
+ bottom: 0,
163
+ left: theme.shadow.offset,
164
+ position: 'absolute',
165
+ right: 0,
166
+ top: theme.shadow.offset
167
+ },
168
+ field: {
169
+ alignItems: 'center',
170
+ backgroundColor: theme.colors.background,
171
+ borderColor: theme.border.color,
172
+ borderRadius: theme.border.radius,
173
+ borderWidth: theme.border.width,
174
+ flexDirection: 'row',
175
+ gap: theme.spacing.sm,
176
+ height: 55,
177
+ paddingHorizontal: 18
178
+ },
179
+ fieldWithLeadingAddon: {
180
+ gap: 0,
181
+ paddingLeft: 0
182
+ },
183
+ fieldWithTrailingAddon: {
184
+ gap: 0,
185
+ paddingRight: 0
186
+ },
187
+ multilineField: {
188
+ alignItems: 'stretch'
189
+ },
190
+ input: {
191
+ backgroundColor: theme.colors.background,
192
+ color: theme.colors.foreground,
193
+ flex: 1,
194
+ fontSize: theme.typography.md,
195
+ minWidth: 0,
196
+ padding: 0
197
+ },
198
+ iosInput: {
199
+ alignSelf: 'stretch',
200
+ height: '100%',
201
+ paddingVertical: 0
202
+ },
203
+ androidInput: {
204
+ alignSelf: 'stretch',
205
+ includeFontPadding: false,
206
+ textAlignVertical: 'center'
207
+ },
208
+ multilineInput: {
209
+ alignSelf: 'stretch',
210
+ height: '100%',
211
+ includeFontPadding: false,
212
+ lineHeight: 24,
213
+ paddingVertical: 0,
214
+ textAlignVertical: 'top'
215
+ },
216
+ iconSlot: {
217
+ alignItems: 'center',
218
+ justifyContent: 'center'
219
+ },
220
+ leadingAddon: {
221
+ alignItems: 'center',
222
+ alignSelf: 'stretch',
223
+ backgroundColor: theme.colors.surface,
224
+ borderBottomLeftRadius: innerBorderRadius,
225
+ borderTopLeftRadius: innerBorderRadius,
226
+ justifyContent: 'center',
227
+ paddingHorizontal: 16
228
+ },
229
+ trailingAddon: {
230
+ alignItems: 'center',
231
+ alignSelf: 'stretch',
232
+ backgroundColor: theme.colors.surface,
233
+ borderBottomRightRadius: innerBorderRadius,
234
+ borderTopRightRadius: innerBorderRadius,
235
+ justifyContent: 'center',
236
+ paddingHorizontal: 16
237
+ },
238
+ iosShadow: {
239
+ shadowColor: theme.shadow.color,
240
+ shadowOffset: {
241
+ width: theme.shadow.offset,
242
+ height: theme.shadow.offset
243
+ },
244
+ shadowOpacity: 1,
245
+ shadowRadius: 0
246
+ },
247
+ primaryIosShadow: {
248
+ shadowColor: theme.colors.primary
249
+ },
250
+ errorField: {
251
+ borderColor: theme.colors.destructive
252
+ },
253
+ focusedField: {
254
+ borderColor: theme.colors.primary
255
+ },
256
+ dashedField: {
257
+ borderStyle: 'dashed'
258
+ },
259
+ disabledField: {
260
+ backgroundColor: theme.colors.disabled,
261
+ borderColor: theme.colors.mutedForeground,
262
+ borderStyle: 'dashed'
263
+ },
264
+ disabledInput: {
265
+ backgroundColor: theme.colors.disabled
266
+ },
267
+ helperText: {
268
+ color: theme.colors.mutedForeground,
269
+ fontSize: theme.typography.sm,
270
+ lineHeight: 20,
271
+ paddingTop: 4
272
+ },
273
+ errorCopy: {
274
+ color: theme.colors.destructive
275
+ },
276
+ disabledCopy: {
277
+ color: theme.colors.mutedForeground
278
+ }
279
+ });
280
+ }
281
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useState","Platform","StyleSheet","Text","TextInput","View","useTheme","jsx","_jsx","jsxs","_jsxs","Input","changeShadowOnFocus","containerStyle","editable","error","fieldStyle","helperText","label","leadingAddon","leadingAddonStyle","leadingIcon","onBlur","onChangeText","onFocus","placeholderTextColor","readOnly","style","trailingAddon","trailingAddonStyle","trailingIcon","value","defaultValue","variant","props","ref","focused","setFocused","theme","styles","createStyles","isDisabled","hasError","Boolean","hasLeadingAddon","undefined","hasTrailingAddon","usesDashedBorder","hasShadow","hasPrimaryShadow","OS","hasFocusedBorder","usesAndroidHardShadow","usesIOSNativeShadow","isMultiline","multiline","inputPlatformStyle","multilineInput","iosInput","androidInput","helperCopy","fieldTestID","root","children","labelRow","disabledCopy","errorCopy","errorAsterisk","androidShadowContainer","testID","pointerEvents","androidHardShadowLayer","field","fieldWithLeadingAddon","fieldWithTrailingAddon","multilineField","disabledField","dashedField","focusedField","errorField","iosShadow","primaryIosShadow","iconSlot","colors","mutedForeground","input","disabledInput","event","text","TextArea","height","numberOfLines","paddingHorizontal","paddingVertical","innerBorderRadius","Math","max","border","radius","width","create","gap","flexDirection","color","foreground","fontSize","typography","sm","fontWeight","lineHeight","destructive","paddingBottom","shadow","offset","paddingRight","position","backgroundColor","borderRadius","bottom","left","right","top","alignItems","background","borderColor","borderWidth","spacing","paddingLeft","flex","md","minWidth","padding","alignSelf","includeFontPadding","textAlignVertical","justifyContent","surface","borderBottomLeftRadius","borderTopLeftRadius","borderBottomRightRadius","borderTopRightRadius","shadowColor","shadowOffset","shadowOpacity","shadowRadius","primary","borderStyle","disabled","paddingTop"],"sourceRoot":"../../../../src","sources":["components/input/input.tsx"],"mappings":"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","ignoreList":[]}