rn-inputforge 0.1.2 → 0.3.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 (47) hide show
  1. package/README.md +63 -18
  2. package/lib/commonjs/components/FieldFlowDropdown/FieldFlowDropdown.js +288 -0
  3. package/lib/commonjs/components/FieldFlowDropdown/FieldFlowDropdown.js.map +1 -0
  4. package/lib/commonjs/components/FieldFlowDropdown/index.js +13 -0
  5. package/lib/commonjs/components/FieldFlowDropdown/index.js.map +1 -0
  6. package/lib/commonjs/components/FieldFlowDropdown/styles.js +199 -0
  7. package/lib/commonjs/components/FieldFlowDropdown/styles.js.map +1 -0
  8. package/lib/commonjs/components/FieldFlowDropdown/types.js +6 -0
  9. package/lib/commonjs/components/FieldFlowDropdown/types.js.map +1 -0
  10. package/lib/commonjs/icons/Icon.js +35 -0
  11. package/lib/commonjs/icons/Icon.js.map +1 -1
  12. package/lib/commonjs/index.js +7 -0
  13. package/lib/commonjs/index.js.map +1 -1
  14. package/lib/module/components/FieldFlowDropdown/FieldFlowDropdown.js +283 -0
  15. package/lib/module/components/FieldFlowDropdown/FieldFlowDropdown.js.map +1 -0
  16. package/lib/module/components/FieldFlowDropdown/index.js +4 -0
  17. package/lib/module/components/FieldFlowDropdown/index.js.map +1 -0
  18. package/lib/module/components/FieldFlowDropdown/styles.js +195 -0
  19. package/lib/module/components/FieldFlowDropdown/styles.js.map +1 -0
  20. package/lib/module/components/FieldFlowDropdown/types.js +4 -0
  21. package/lib/module/components/FieldFlowDropdown/types.js.map +1 -0
  22. package/lib/module/icons/Icon.js +35 -0
  23. package/lib/module/icons/Icon.js.map +1 -1
  24. package/lib/module/index.js +1 -0
  25. package/lib/module/index.js.map +1 -1
  26. package/lib/typescript/components/FieldFlowDropdown/FieldFlowDropdown.d.ts +4 -0
  27. package/lib/typescript/components/FieldFlowDropdown/FieldFlowDropdown.d.ts.map +1 -0
  28. package/lib/typescript/components/FieldFlowDropdown/index.d.ts +3 -0
  29. package/lib/typescript/components/FieldFlowDropdown/index.d.ts.map +1 -0
  30. package/lib/typescript/components/FieldFlowDropdown/styles.d.ts +188 -0
  31. package/lib/typescript/components/FieldFlowDropdown/styles.d.ts.map +1 -0
  32. package/lib/typescript/components/FieldFlowDropdown/types.d.ts +51 -0
  33. package/lib/typescript/components/FieldFlowDropdown/types.d.ts.map +1 -0
  34. package/lib/typescript/icons/Icon.d.ts +1 -1
  35. package/lib/typescript/icons/Icon.d.ts.map +1 -1
  36. package/lib/typescript/index.d.ts +3 -1
  37. package/lib/typescript/index.d.ts.map +1 -1
  38. package/lib/typescript/types/index.d.ts +7 -0
  39. package/lib/typescript/types/index.d.ts.map +1 -1
  40. package/package.json +8 -12
  41. package/src/components/FieldFlowDropdown/FieldFlowDropdown.tsx +353 -0
  42. package/src/components/FieldFlowDropdown/index.ts +7 -0
  43. package/src/components/FieldFlowDropdown/styles.ts +193 -0
  44. package/src/components/FieldFlowDropdown/types.ts +57 -0
  45. package/src/icons/Icon.tsx +26 -0
  46. package/src/index.ts +9 -0
  47. package/src/types/index.ts +8 -0
@@ -14,6 +14,7 @@ export type FieldFlowIconName =
14
14
  | 'paperclip'
15
15
  | 'mic'
16
16
  | 'mapPin'
17
+ | 'chevronDown'
17
18
  | 'spinner';
18
19
 
19
20
  export interface FieldFlowIconProps {
@@ -296,6 +297,31 @@ export function FieldFlowIcon({ name, size = 18, color = '#6B7280', style }: Fie
296
297
  </View>
297
298
  </View>
298
299
  );
300
+ case 'chevronDown':
301
+ return (
302
+ <View style={[box, style]}>
303
+ <View
304
+ style={{
305
+ width: size * 0.55,
306
+ height: stroke,
307
+ backgroundColor: color,
308
+ borderRadius: stroke,
309
+ transform: [{ rotate: '45deg' }, { translateX: -size * 0.13 }, { translateY: -size * 0.02 }],
310
+ position: 'absolute',
311
+ }}
312
+ />
313
+ <View
314
+ style={{
315
+ width: size * 0.55,
316
+ height: stroke,
317
+ backgroundColor: color,
318
+ borderRadius: stroke,
319
+ transform: [{ rotate: '-45deg' }, { translateX: size * 0.13 }, { translateY: -size * 0.02 }],
320
+ position: 'absolute',
321
+ }}
322
+ />
323
+ </View>
324
+ );
299
325
  default:
300
326
  return <View style={[box, style]} />;
301
327
  }
package/src/index.ts CHANGED
@@ -11,6 +11,14 @@ export type { ChatInputProps, ChatAttachmentAction, CustomChatAction } from './c
11
11
  export { KeyboardAwareFormWrapper } from './components/KeyboardAwareFormWrapper';
12
12
  export type { KeyboardAwareFormWrapperProps } from './components/KeyboardAwareFormWrapper';
13
13
 
14
+ export { FieldFlowDropdown } from './components/FieldFlowDropdown';
15
+ export type {
16
+ FieldFlowDropdownProps,
17
+ FieldFlowDropdownSingleProps,
18
+ FieldFlowDropdownMultiProps,
19
+ FieldFlowDropdownPresentation,
20
+ } from './components/FieldFlowDropdown';
21
+
14
22
  // Theming
15
23
  export { FieldFlowThemeProvider, useFieldFlowTheme, defaultTheme, darkTheme } from './theme';
16
24
  export type { FieldFlowThemeProviderProps } from './theme';
@@ -52,6 +60,7 @@ export type {
52
60
  FieldFlowFieldType,
53
61
  FieldFlowState,
54
62
  FieldFlowRules,
63
+ FieldFlowOption,
55
64
  ValidationResult,
56
65
  Validator,
57
66
  FieldFlowColors,
@@ -1,6 +1,14 @@
1
1
  import type { KeyboardTypeOptions, TextInputProps, TextStyle } from 'react-native';
2
2
 
3
3
  /** Every field "flavor" the core input understands out of the box. */
4
+ export interface FieldFlowOption {
5
+ label: string;
6
+ value: string;
7
+ disabled?: boolean;
8
+ /** Optional secondary line of text shown under the label in the option list. */
9
+ description?: string;
10
+ }
11
+
4
12
  export type FieldFlowFieldType =
5
13
  | 'text'
6
14
  | 'email'