@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,253 @@
1
+ "use strict";
2
+
3
+ import { useState } from 'react';
4
+ import { Platform, Pressable, StyleSheet, Text, View } from 'react-native';
5
+ import { cssInterop } from 'nativewind';
6
+ import { useTheme } from "../../theme/theme-provider.js";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ export function Button({
9
+ containerStyle,
10
+ children,
11
+ disabled,
12
+ labelStyle,
13
+ leadingIcon,
14
+ onHoverIn,
15
+ onHoverOut,
16
+ radius,
17
+ rounded = 'rounded',
18
+ size = 'md',
19
+ style,
20
+ trailingIcon,
21
+ variant = 'primary',
22
+ ...props
23
+ }) {
24
+ const activeTheme = useTheme();
25
+ const styles = createStyles(activeTheme);
26
+ const [isHovered, setIsHovered] = useState(false);
27
+ const resolvedRadius = radius ?? (rounded === 'sharp' ? 0 : activeTheme.border.radius);
28
+ const resolvedVariant = resolveVariant(variant);
29
+ const hasShadow = variant !== 'noShadow' && resolvedVariant !== 'ghost' && resolvedVariant !== 'outline';
30
+ const usesAndroidHardShadow = Platform.OS === 'android' && hasShadow;
31
+ const shadowColor = resolvedVariant === 'secondary' ? activeTheme.colors.primary : activeTheme.shadow.color;
32
+ return /*#__PURE__*/_jsxs(View, {
33
+ style: [usesAndroidHardShadow && styles.androidShadowContainer, containerStyle],
34
+ children: [usesAndroidHardShadow && /*#__PURE__*/_jsx(View, {
35
+ pointerEvents: "none",
36
+ style: [styles.androidHardShadow, {
37
+ backgroundColor: shadowColor,
38
+ borderRadius: resolvedRadius
39
+ }],
40
+ testID: "button-hard-shadow"
41
+ }), /*#__PURE__*/_jsxs(Pressable, {
42
+ accessibilityRole: "button",
43
+ disabled: disabled,
44
+ onHoverIn: event => {
45
+ if (Platform.OS === 'web') {
46
+ setIsHovered(true);
47
+ }
48
+ onHoverIn?.(event);
49
+ },
50
+ onHoverOut: event => {
51
+ setIsHovered(false);
52
+ onHoverOut?.(event);
53
+ },
54
+ style: ({
55
+ pressed
56
+ }) => {
57
+ const isWebHover = Platform.OS === 'web' && isHovered && !pressed && !disabled;
58
+ const hasWebHoverShadow = isWebHover && resolvedVariant !== 'ghost' && variant !== 'noShadow';
59
+ return [styles.base, styles[resolvedVariant], styles[size], {
60
+ borderRadius: resolvedRadius
61
+ }, hasShadow && !usesAndroidHardShadow && (resolvedVariant === 'secondary' ? styles.secondaryShadow : styles.shadow), hasWebHoverShadow && (resolvedVariant === 'secondary' ? styles.hoveredSecondaryShadow : styles.hoveredShadow), isWebHover && (resolvedVariant === 'primary' ? styles.primaryHover : resolvedVariant === 'ghost' && styles.ghostHover), pressed && !disabled && (hasShadow ? [styles.pressed, resolvedVariant === 'primary' && styles.primaryPressed] : variant !== 'noShadow' && styles.pressedGhostOrOutline), disabled && styles.disabled, style];
62
+ },
63
+ ...props,
64
+ children: [leadingIcon, /*#__PURE__*/_jsx(Text, {
65
+ style: [styles.label, styles[`${size}Label`], resolvedVariant === 'primary' && styles.primaryLabel, resolvedVariant === 'secondary' && styles.secondaryLabel, resolvedVariant === 'destructive' && styles.destructiveLabel, labelStyle],
66
+ children: children
67
+ }), trailingIcon]
68
+ })]
69
+ });
70
+ }
71
+ cssInterop(Button, {
72
+ className: 'style',
73
+ containerClassName: 'containerStyle'
74
+ });
75
+ function resolveVariant(variant) {
76
+ if (variant === 'neutral') {
77
+ return 'outline';
78
+ }
79
+ if (variant === 'noShadow') {
80
+ return 'primary';
81
+ }
82
+ return variant;
83
+ }
84
+ function createStyles(theme) {
85
+ return StyleSheet.create({
86
+ base: {
87
+ alignItems: 'center',
88
+ borderColor: theme.border.color,
89
+ borderRadius: theme.border.radius,
90
+ borderWidth: theme.border.width,
91
+ flexDirection: 'row',
92
+ gap: theme.spacing.xs,
93
+ justifyContent: 'center'
94
+ },
95
+ primary: {
96
+ backgroundColor: theme.colors.primary
97
+ },
98
+ secondary: {
99
+ backgroundColor: theme.colors.secondary
100
+ },
101
+ destructive: {
102
+ backgroundColor: theme.colors.destructive
103
+ },
104
+ warning: {
105
+ backgroundColor: theme.colors.warning
106
+ },
107
+ success: {
108
+ backgroundColor: theme.colors.success
109
+ },
110
+ info: {
111
+ backgroundColor: theme.colors.info
112
+ },
113
+ ghost: {
114
+ backgroundColor: 'transparent',
115
+ borderColor: 'transparent'
116
+ },
117
+ outline: {
118
+ backgroundColor: theme.colors.background
119
+ },
120
+ sm: {
121
+ height: 40,
122
+ paddingHorizontal: 18
123
+ },
124
+ md: {
125
+ height: 55,
126
+ paddingHorizontal: 22
127
+ },
128
+ lg: {
129
+ height: 65,
130
+ paddingHorizontal: 30
131
+ },
132
+ androidShadowContainer: {
133
+ paddingBottom: theme.shadow.offset,
134
+ paddingRight: theme.shadow.offset,
135
+ position: 'relative'
136
+ },
137
+ androidHardShadow: {
138
+ bottom: 0,
139
+ left: theme.shadow.offset,
140
+ position: 'absolute',
141
+ right: 0,
142
+ top: theme.shadow.offset
143
+ },
144
+ shadow: {
145
+ elevation: theme.shadow.offset,
146
+ marginBottom: theme.shadow.offset,
147
+ marginRight: theme.shadow.offset,
148
+ shadowColor: theme.shadow.color,
149
+ shadowOffset: {
150
+ width: theme.shadow.offset,
151
+ height: theme.shadow.offset
152
+ },
153
+ shadowOpacity: 1,
154
+ shadowRadius: 0
155
+ },
156
+ secondaryShadow: {
157
+ elevation: theme.shadow.offset,
158
+ marginBottom: theme.shadow.offset,
159
+ marginRight: theme.shadow.offset,
160
+ shadowColor: theme.colors.primary,
161
+ shadowOffset: {
162
+ width: theme.shadow.offset,
163
+ height: theme.shadow.offset
164
+ },
165
+ shadowOpacity: 1,
166
+ shadowRadius: 0
167
+ },
168
+ hoveredShadow: {
169
+ elevation: theme.shadow.offset * 2,
170
+ marginBottom: theme.shadow.offset * 2,
171
+ marginRight: theme.shadow.offset * 2,
172
+ shadowColor: theme.shadow.color,
173
+ shadowOffset: {
174
+ width: theme.shadow.offset * 2,
175
+ height: theme.shadow.offset * 2
176
+ },
177
+ shadowOpacity: 1,
178
+ shadowRadius: 0
179
+ },
180
+ hoveredSecondaryShadow: {
181
+ elevation: theme.shadow.offset * 2,
182
+ marginBottom: theme.shadow.offset * 2,
183
+ marginRight: theme.shadow.offset * 2,
184
+ shadowColor: theme.colors.primary,
185
+ shadowOffset: {
186
+ width: theme.shadow.offset * 2,
187
+ height: theme.shadow.offset * 2
188
+ },
189
+ shadowOpacity: 1,
190
+ shadowRadius: 0
191
+ },
192
+ primaryHover: {
193
+ backgroundColor: theme.colors.primaryHover
194
+ },
195
+ ghostHover: {
196
+ backgroundColor: theme.colors.accent
197
+ },
198
+ pressed: {
199
+ elevation: 0,
200
+ marginBottom: 0,
201
+ marginRight: 0,
202
+ shadowOpacity: 0,
203
+ transform: [{
204
+ translateX: theme.shadow.offset
205
+ }, {
206
+ translateY: theme.shadow.offset
207
+ }]
208
+ },
209
+ primaryPressed: {
210
+ backgroundColor: theme.colors.primaryHover
211
+ },
212
+ pressedGhostOrOutline: {
213
+ backgroundColor: theme.colors.primaryHover,
214
+ borderColor: theme.border.color,
215
+ elevation: theme.shadow.offset,
216
+ marginBottom: theme.shadow.offset,
217
+ marginRight: theme.shadow.offset,
218
+ shadowColor: theme.shadow.color,
219
+ shadowOffset: {
220
+ width: theme.shadow.offset,
221
+ height: theme.shadow.offset
222
+ },
223
+ shadowOpacity: 1,
224
+ shadowRadius: 0
225
+ },
226
+ disabled: {
227
+ opacity: 0.6
228
+ },
229
+ label: {
230
+ color: theme.colors.foreground,
231
+ fontWeight: '700'
232
+ },
233
+ primaryLabel: {
234
+ color: theme.colors.primaryForeground
235
+ },
236
+ smLabel: {
237
+ fontSize: theme.typography.sm
238
+ },
239
+ mdLabel: {
240
+ fontSize: theme.typography.md
241
+ },
242
+ lgLabel: {
243
+ fontSize: theme.typography.lg
244
+ },
245
+ secondaryLabel: {
246
+ color: theme.colors.secondaryForeground
247
+ },
248
+ destructiveLabel: {
249
+ color: theme.colors.destructiveForeground
250
+ }
251
+ });
252
+ }
253
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useState","Platform","Pressable","StyleSheet","Text","View","cssInterop","useTheme","jsx","_jsx","jsxs","_jsxs","Button","containerStyle","children","disabled","labelStyle","leadingIcon","onHoverIn","onHoverOut","radius","rounded","size","style","trailingIcon","variant","props","activeTheme","styles","createStyles","isHovered","setIsHovered","resolvedRadius","border","resolvedVariant","resolveVariant","hasShadow","usesAndroidHardShadow","OS","shadowColor","colors","primary","shadow","color","androidShadowContainer","pointerEvents","androidHardShadow","backgroundColor","borderRadius","testID","accessibilityRole","event","pressed","isWebHover","hasWebHoverShadow","base","secondaryShadow","hoveredSecondaryShadow","hoveredShadow","primaryHover","ghostHover","primaryPressed","pressedGhostOrOutline","label","primaryLabel","secondaryLabel","destructiveLabel","className","containerClassName","theme","create","alignItems","borderColor","borderWidth","width","flexDirection","gap","spacing","xs","justifyContent","secondary","destructive","warning","success","info","ghost","outline","background","sm","height","paddingHorizontal","md","lg","paddingBottom","offset","paddingRight","position","bottom","left","right","top","elevation","marginBottom","marginRight","shadowOffset","shadowOpacity","shadowRadius","accent","transform","translateX","translateY","opacity","foreground","fontWeight","primaryForeground","smLabel","fontSize","typography","mdLabel","lgLabel","secondaryForeground","destructiveForeground"],"sourceRoot":"../../../../src","sources":["components/button/button.tsx"],"mappings":"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","ignoreList":[]}