rn-inputforge 0.3.1 → 0.4.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 (196) hide show
  1. package/README.md +224 -19
  2. package/lib/commonjs/components/FieldFlowCheckbox/FieldFlowCheckbox.js +131 -0
  3. package/lib/commonjs/components/FieldFlowCheckbox/FieldFlowCheckbox.js.map +1 -0
  4. package/lib/commonjs/components/FieldFlowCheckbox/index.js +13 -0
  5. package/lib/commonjs/components/FieldFlowCheckbox/index.js.map +1 -0
  6. package/lib/commonjs/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.js +536 -0
  7. package/lib/commonjs/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.js.map +1 -0
  8. package/lib/commonjs/components/FieldFlowDateTimePicker/index.js +13 -0
  9. package/lib/commonjs/components/FieldFlowDateTimePicker/index.js.map +1 -0
  10. package/lib/commonjs/components/FieldFlowDateTimePicker/types.js +6 -0
  11. package/lib/commonjs/components/FieldFlowDateTimePicker/types.js.map +1 -0
  12. package/lib/commonjs/components/FieldFlowDropdown/FieldFlowDropdown.js +24 -9
  13. package/lib/commonjs/components/FieldFlowDropdown/FieldFlowDropdown.js.map +1 -1
  14. package/lib/commonjs/components/FieldFlowInput/FieldFlowInput.js +55 -24
  15. package/lib/commonjs/components/FieldFlowInput/FieldFlowInput.js.map +1 -1
  16. package/lib/commonjs/components/FieldFlowInput/styles.js +32 -11
  17. package/lib/commonjs/components/FieldFlowInput/styles.js.map +1 -1
  18. package/lib/commonjs/components/FieldFlowMaskedInput/FieldFlowMaskedInput.js +66 -0
  19. package/lib/commonjs/components/FieldFlowMaskedInput/FieldFlowMaskedInput.js.map +1 -0
  20. package/lib/commonjs/components/FieldFlowMaskedInput/index.js +13 -0
  21. package/lib/commonjs/components/FieldFlowMaskedInput/index.js.map +1 -0
  22. package/lib/commonjs/components/FieldFlowMaskedInput/types.js +6 -0
  23. package/lib/commonjs/components/FieldFlowMaskedInput/types.js.map +1 -0
  24. package/lib/commonjs/components/FieldFlowOTP/FieldFlowOTP.js +255 -0
  25. package/lib/commonjs/components/FieldFlowOTP/FieldFlowOTP.js.map +1 -0
  26. package/lib/commonjs/components/FieldFlowOTP/index.js +13 -0
  27. package/lib/commonjs/components/FieldFlowOTP/index.js.map +1 -0
  28. package/lib/commonjs/components/FieldFlowOTP/types.js +6 -0
  29. package/lib/commonjs/components/FieldFlowOTP/types.js.map +1 -0
  30. package/lib/commonjs/components/FieldFlowRadio/FieldFlowRadio.js +164 -0
  31. package/lib/commonjs/components/FieldFlowRadio/FieldFlowRadio.js.map +1 -0
  32. package/lib/commonjs/components/FieldFlowRadio/index.js +13 -0
  33. package/lib/commonjs/components/FieldFlowRadio/index.js.map +1 -0
  34. package/lib/commonjs/components/FieldFlowSwitch/FieldFlowSwitch.js +152 -0
  35. package/lib/commonjs/components/FieldFlowSwitch/FieldFlowSwitch.js.map +1 -0
  36. package/lib/commonjs/components/FieldFlowSwitch/index.js +13 -0
  37. package/lib/commonjs/components/FieldFlowSwitch/index.js.map +1 -0
  38. package/lib/commonjs/hooks/index.js.map +1 -1
  39. package/lib/commonjs/hooks/useFieldFlowForm.js +146 -31
  40. package/lib/commonjs/hooks/useFieldFlowForm.js.map +1 -1
  41. package/lib/commonjs/icons/Icon.js +719 -30
  42. package/lib/commonjs/icons/Icon.js.map +1 -1
  43. package/lib/commonjs/icons/index.js +7 -0
  44. package/lib/commonjs/icons/index.js.map +1 -1
  45. package/lib/commonjs/icons/renderIcon.js +24 -0
  46. package/lib/commonjs/icons/renderIcon.js.map +1 -0
  47. package/lib/commonjs/index.js +127 -0
  48. package/lib/commonjs/index.js.map +1 -1
  49. package/lib/commonjs/utils/masks.js +130 -0
  50. package/lib/commonjs/utils/masks.js.map +1 -0
  51. package/lib/commonjs/validation/index.js +25 -0
  52. package/lib/commonjs/validation/index.js.map +1 -1
  53. package/lib/commonjs/validation/zodAdapter.js +91 -0
  54. package/lib/commonjs/validation/zodAdapter.js.map +1 -0
  55. package/lib/module/components/FieldFlowCheckbox/FieldFlowCheckbox.js +126 -0
  56. package/lib/module/components/FieldFlowCheckbox/FieldFlowCheckbox.js.map +1 -0
  57. package/lib/module/components/FieldFlowCheckbox/index.js +4 -0
  58. package/lib/module/components/FieldFlowCheckbox/index.js.map +1 -0
  59. package/lib/module/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.js +531 -0
  60. package/lib/module/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.js.map +1 -0
  61. package/lib/module/components/FieldFlowDateTimePicker/index.js +4 -0
  62. package/lib/module/components/FieldFlowDateTimePicker/index.js.map +1 -0
  63. package/lib/module/components/FieldFlowDateTimePicker/types.js +4 -0
  64. package/lib/module/components/FieldFlowDateTimePicker/types.js.map +1 -0
  65. package/lib/module/components/FieldFlowDropdown/FieldFlowDropdown.js +24 -9
  66. package/lib/module/components/FieldFlowDropdown/FieldFlowDropdown.js.map +1 -1
  67. package/lib/module/components/FieldFlowInput/FieldFlowInput.js +59 -28
  68. package/lib/module/components/FieldFlowInput/FieldFlowInput.js.map +1 -1
  69. package/lib/module/components/FieldFlowInput/styles.js +32 -11
  70. package/lib/module/components/FieldFlowInput/styles.js.map +1 -1
  71. package/lib/module/components/FieldFlowMaskedInput/FieldFlowMaskedInput.js +61 -0
  72. package/lib/module/components/FieldFlowMaskedInput/FieldFlowMaskedInput.js.map +1 -0
  73. package/lib/module/components/FieldFlowMaskedInput/index.js +4 -0
  74. package/lib/module/components/FieldFlowMaskedInput/index.js.map +1 -0
  75. package/lib/module/components/FieldFlowMaskedInput/types.js +4 -0
  76. package/lib/module/components/FieldFlowMaskedInput/types.js.map +1 -0
  77. package/lib/module/components/FieldFlowOTP/FieldFlowOTP.js +250 -0
  78. package/lib/module/components/FieldFlowOTP/FieldFlowOTP.js.map +1 -0
  79. package/lib/module/components/FieldFlowOTP/index.js +4 -0
  80. package/lib/module/components/FieldFlowOTP/index.js.map +1 -0
  81. package/lib/module/components/FieldFlowOTP/types.js +4 -0
  82. package/lib/module/components/FieldFlowOTP/types.js.map +1 -0
  83. package/lib/module/components/FieldFlowRadio/FieldFlowRadio.js +159 -0
  84. package/lib/module/components/FieldFlowRadio/FieldFlowRadio.js.map +1 -0
  85. package/lib/module/components/FieldFlowRadio/index.js +4 -0
  86. package/lib/module/components/FieldFlowRadio/index.js.map +1 -0
  87. package/lib/module/components/FieldFlowSwitch/FieldFlowSwitch.js +147 -0
  88. package/lib/module/components/FieldFlowSwitch/FieldFlowSwitch.js.map +1 -0
  89. package/lib/module/components/FieldFlowSwitch/index.js +4 -0
  90. package/lib/module/components/FieldFlowSwitch/index.js.map +1 -0
  91. package/lib/module/hooks/index.js.map +1 -1
  92. package/lib/module/hooks/useFieldFlowForm.js +147 -32
  93. package/lib/module/hooks/useFieldFlowForm.js.map +1 -1
  94. package/lib/module/icons/Icon.js +720 -31
  95. package/lib/module/icons/Icon.js.map +1 -1
  96. package/lib/module/icons/index.js +1 -0
  97. package/lib/module/icons/index.js.map +1 -1
  98. package/lib/module/icons/renderIcon.js +19 -0
  99. package/lib/module/icons/renderIcon.js.map +1 -0
  100. package/lib/module/index.js +11 -3
  101. package/lib/module/index.js.map +1 -1
  102. package/lib/module/utils/masks.js +118 -0
  103. package/lib/module/utils/masks.js.map +1 -0
  104. package/lib/module/validation/index.js +1 -0
  105. package/lib/module/validation/index.js.map +1 -1
  106. package/lib/module/validation/zodAdapter.js +84 -0
  107. package/lib/module/validation/zodAdapter.js.map +1 -0
  108. package/lib/typescript/components/FieldFlowCheckbox/FieldFlowCheckbox.d.ts +36 -0
  109. package/lib/typescript/components/FieldFlowCheckbox/FieldFlowCheckbox.d.ts.map +1 -0
  110. package/lib/typescript/components/FieldFlowCheckbox/index.d.ts +3 -0
  111. package/lib/typescript/components/FieldFlowCheckbox/index.d.ts.map +1 -0
  112. package/lib/typescript/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.d.ts +4 -0
  113. package/lib/typescript/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.d.ts.map +1 -0
  114. package/lib/typescript/components/FieldFlowDateTimePicker/index.d.ts +3 -0
  115. package/lib/typescript/components/FieldFlowDateTimePicker/index.d.ts.map +1 -0
  116. package/lib/typescript/components/FieldFlowDateTimePicker/types.d.ts +55 -0
  117. package/lib/typescript/components/FieldFlowDateTimePicker/types.d.ts.map +1 -0
  118. package/lib/typescript/components/FieldFlowDropdown/FieldFlowDropdown.d.ts.map +1 -1
  119. package/lib/typescript/components/FieldFlowDropdown/types.d.ts +7 -1
  120. package/lib/typescript/components/FieldFlowDropdown/types.d.ts.map +1 -1
  121. package/lib/typescript/components/FieldFlowInput/FieldFlowInput.d.ts.map +1 -1
  122. package/lib/typescript/components/FieldFlowInput/styles.d.ts +19 -2
  123. package/lib/typescript/components/FieldFlowInput/styles.d.ts.map +1 -1
  124. package/lib/typescript/components/FieldFlowInput/types.d.ts +24 -5
  125. package/lib/typescript/components/FieldFlowInput/types.d.ts.map +1 -1
  126. package/lib/typescript/components/FieldFlowMaskedInput/FieldFlowMaskedInput.d.ts +5 -0
  127. package/lib/typescript/components/FieldFlowMaskedInput/FieldFlowMaskedInput.d.ts.map +1 -0
  128. package/lib/typescript/components/FieldFlowMaskedInput/index.d.ts +3 -0
  129. package/lib/typescript/components/FieldFlowMaskedInput/index.d.ts.map +1 -0
  130. package/lib/typescript/components/FieldFlowMaskedInput/types.d.ts +20 -0
  131. package/lib/typescript/components/FieldFlowMaskedInput/types.d.ts.map +1 -0
  132. package/lib/typescript/components/FieldFlowOTP/FieldFlowOTP.d.ts +4 -0
  133. package/lib/typescript/components/FieldFlowOTP/FieldFlowOTP.d.ts.map +1 -0
  134. package/lib/typescript/components/FieldFlowOTP/index.d.ts +3 -0
  135. package/lib/typescript/components/FieldFlowOTP/index.d.ts.map +1 -0
  136. package/lib/typescript/components/FieldFlowOTP/types.d.ts +52 -0
  137. package/lib/typescript/components/FieldFlowOTP/types.d.ts.map +1 -0
  138. package/lib/typescript/components/FieldFlowRadio/FieldFlowRadio.d.ts +39 -0
  139. package/lib/typescript/components/FieldFlowRadio/FieldFlowRadio.d.ts.map +1 -0
  140. package/lib/typescript/components/FieldFlowRadio/index.d.ts +3 -0
  141. package/lib/typescript/components/FieldFlowRadio/index.d.ts.map +1 -0
  142. package/lib/typescript/components/FieldFlowSwitch/FieldFlowSwitch.d.ts +31 -0
  143. package/lib/typescript/components/FieldFlowSwitch/FieldFlowSwitch.d.ts.map +1 -0
  144. package/lib/typescript/components/FieldFlowSwitch/index.d.ts +3 -0
  145. package/lib/typescript/components/FieldFlowSwitch/index.d.ts.map +1 -0
  146. package/lib/typescript/hooks/index.d.ts +1 -1
  147. package/lib/typescript/hooks/index.d.ts.map +1 -1
  148. package/lib/typescript/hooks/useFieldFlowForm.d.ts +46 -7
  149. package/lib/typescript/hooks/useFieldFlowForm.d.ts.map +1 -1
  150. package/lib/typescript/icons/Icon.d.ts +2 -2
  151. package/lib/typescript/icons/Icon.d.ts.map +1 -1
  152. package/lib/typescript/icons/index.d.ts +2 -0
  153. package/lib/typescript/icons/index.d.ts.map +1 -1
  154. package/lib/typescript/icons/renderIcon.d.ts +6 -0
  155. package/lib/typescript/icons/renderIcon.d.ts.map +1 -0
  156. package/lib/typescript/index.d.ts +20 -6
  157. package/lib/typescript/index.d.ts.map +1 -1
  158. package/lib/typescript/types/index.d.ts +4 -0
  159. package/lib/typescript/types/index.d.ts.map +1 -1
  160. package/lib/typescript/utils/masks.d.ts +37 -0
  161. package/lib/typescript/utils/masks.d.ts.map +1 -0
  162. package/lib/typescript/validation/index.d.ts +2 -0
  163. package/lib/typescript/validation/index.d.ts.map +1 -1
  164. package/lib/typescript/validation/zodAdapter.d.ts +53 -0
  165. package/lib/typescript/validation/zodAdapter.d.ts.map +1 -0
  166. package/package.json +17 -3
  167. package/src/components/FieldFlowCheckbox/FieldFlowCheckbox.tsx +174 -0
  168. package/src/components/FieldFlowCheckbox/index.ts +2 -0
  169. package/src/components/FieldFlowDateTimePicker/FieldFlowDateTimePicker.tsx +585 -0
  170. package/src/components/FieldFlowDateTimePicker/index.ts +2 -0
  171. package/src/components/FieldFlowDateTimePicker/types.ts +57 -0
  172. package/src/components/FieldFlowDropdown/FieldFlowDropdown.tsx +17 -7
  173. package/src/components/FieldFlowDropdown/types.ts +8 -1
  174. package/src/components/FieldFlowInput/FieldFlowInput.tsx +69 -26
  175. package/src/components/FieldFlowInput/styles.ts +41 -6
  176. package/src/components/FieldFlowInput/types.ts +24 -5
  177. package/src/components/FieldFlowMaskedInput/FieldFlowMaskedInput.tsx +76 -0
  178. package/src/components/FieldFlowMaskedInput/index.ts +2 -0
  179. package/src/components/FieldFlowMaskedInput/types.ts +22 -0
  180. package/src/components/FieldFlowOTP/FieldFlowOTP.tsx +305 -0
  181. package/src/components/FieldFlowOTP/index.ts +2 -0
  182. package/src/components/FieldFlowOTP/types.ts +57 -0
  183. package/src/components/FieldFlowRadio/FieldFlowRadio.tsx +215 -0
  184. package/src/components/FieldFlowRadio/index.ts +2 -0
  185. package/src/components/FieldFlowSwitch/FieldFlowSwitch.tsx +172 -0
  186. package/src/components/FieldFlowSwitch/index.ts +2 -0
  187. package/src/hooks/index.ts +3 -0
  188. package/src/hooks/useFieldFlowForm.ts +209 -33
  189. package/src/icons/Icon.tsx +451 -5
  190. package/src/icons/index.ts +2 -0
  191. package/src/icons/renderIcon.tsx +17 -0
  192. package/src/index.ts +47 -4
  193. package/src/types/index.ts +5 -0
  194. package/src/utils/masks.ts +137 -0
  195. package/src/validation/index.ts +7 -0
  196. package/src/validation/zodAdapter.ts +103 -0
@@ -2,12 +2,12 @@
2
2
 
3
3
  import React, { useEffect, useRef } from 'react';
4
4
  import { Animated, Easing, View } from 'react-native';
5
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
6
6
  /**
7
7
  * A minimal, dependency-free icon set built out of basic Views. Ships so consumers
8
8
  * don't need to install react-native-svg / vector-icons just to use FieldFlow.
9
9
  * Every icon accepts `size` and `color`, and you can always render your own
10
- * icon via the `leftIcon` / `rightIcon` props on any FieldFlow component instead.
10
+ * icon via the `leftIcon` / `rightIcon` (or component-specific icon) props.
11
11
  */
12
12
  export function FieldFlowIcon({
13
13
  name,
@@ -143,9 +143,10 @@ export function FieldFlowIcon({
143
143
  })]
144
144
  });
145
145
  case 'alert':
146
+ case 'info':
146
147
  return /*#__PURE__*/_jsx(View, {
147
148
  style: [box, style],
148
- children: /*#__PURE__*/_jsxs(View, {
149
+ children: /*#__PURE__*/_jsx(View, {
149
150
  style: {
150
151
  width: size,
151
152
  height: size,
@@ -155,22 +156,41 @@ export function FieldFlowIcon({
155
156
  alignItems: 'center',
156
157
  justifyContent: 'center'
157
158
  },
158
- children: [/*#__PURE__*/_jsx(View, {
159
- style: {
160
- width: stroke,
161
- height: size * 0.32,
162
- backgroundColor: color,
163
- borderRadius: stroke,
164
- marginBottom: size * 0.08
165
- }
166
- }), /*#__PURE__*/_jsx(View, {
167
- style: {
168
- width: stroke,
169
- height: stroke,
170
- borderRadius: stroke / 2,
171
- backgroundColor: color
172
- }
173
- })]
159
+ children: name === 'info' ? /*#__PURE__*/_jsxs(_Fragment, {
160
+ children: [/*#__PURE__*/_jsx(View, {
161
+ style: {
162
+ width: stroke,
163
+ height: stroke,
164
+ borderRadius: stroke / 2,
165
+ backgroundColor: color,
166
+ marginBottom: size * 0.08
167
+ }
168
+ }), /*#__PURE__*/_jsx(View, {
169
+ style: {
170
+ width: stroke,
171
+ height: size * 0.32,
172
+ backgroundColor: color,
173
+ borderRadius: stroke
174
+ }
175
+ })]
176
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
177
+ children: [/*#__PURE__*/_jsx(View, {
178
+ style: {
179
+ width: stroke,
180
+ height: size * 0.32,
181
+ backgroundColor: color,
182
+ borderRadius: stroke,
183
+ marginBottom: size * 0.08
184
+ }
185
+ }), /*#__PURE__*/_jsx(View, {
186
+ style: {
187
+ width: stroke,
188
+ height: stroke,
189
+ borderRadius: stroke / 2,
190
+ backgroundColor: color
191
+ }
192
+ })]
193
+ })
174
194
  })
175
195
  });
176
196
  case 'search':
@@ -214,10 +234,7 @@ export function FieldFlowIcon({
214
234
  borderLeftWidth: size * 0.7,
215
235
  borderTopColor: 'transparent',
216
236
  borderBottomColor: 'transparent',
217
- borderLeftColor: color,
218
- transform: [{
219
- rotate: '0deg'
220
- }]
237
+ borderLeftColor: color
221
238
  }
222
239
  })
223
240
  });
@@ -341,40 +358,712 @@ export function FieldFlowIcon({
341
358
  })
342
359
  });
343
360
  case 'chevronDown':
361
+ case 'chevronUp':
362
+ case 'chevronLeft':
363
+ case 'chevronRight':
364
+ {
365
+ const rotations = {
366
+ chevronDown: '0deg',
367
+ chevronUp: '180deg',
368
+ chevronLeft: '90deg',
369
+ chevronRight: '-90deg'
370
+ };
371
+ return /*#__PURE__*/_jsxs(View, {
372
+ style: [box, style, {
373
+ transform: [{
374
+ rotate: rotations[name]
375
+ }]
376
+ }],
377
+ children: [/*#__PURE__*/_jsx(View, {
378
+ style: {
379
+ width: size * 0.55,
380
+ height: stroke,
381
+ backgroundColor: color,
382
+ borderRadius: stroke,
383
+ transform: [{
384
+ rotate: '45deg'
385
+ }, {
386
+ translateX: -size * 0.13
387
+ }, {
388
+ translateY: -size * 0.02
389
+ }],
390
+ position: 'absolute'
391
+ }
392
+ }), /*#__PURE__*/_jsx(View, {
393
+ style: {
394
+ width: size * 0.55,
395
+ height: stroke,
396
+ backgroundColor: color,
397
+ borderRadius: stroke,
398
+ transform: [{
399
+ rotate: '-45deg'
400
+ }, {
401
+ translateX: size * 0.13
402
+ }, {
403
+ translateY: -size * 0.02
404
+ }],
405
+ position: 'absolute'
406
+ }
407
+ })]
408
+ });
409
+ }
410
+ case 'calendar':
344
411
  return /*#__PURE__*/_jsxs(View, {
345
412
  style: [box, style],
346
413
  children: [/*#__PURE__*/_jsx(View, {
347
414
  style: {
348
- width: size * 0.55,
349
- height: stroke,
415
+ width: size,
416
+ height: size * 0.85,
417
+ borderRadius: size * 0.12,
418
+ borderWidth: stroke,
419
+ borderColor: color,
420
+ marginTop: size * 0.1
421
+ },
422
+ children: /*#__PURE__*/_jsx(View, {
423
+ style: {
424
+ height: size * 0.22,
425
+ backgroundColor: color,
426
+ opacity: 0.25,
427
+ borderTopLeftRadius: size * 0.08,
428
+ borderTopRightRadius: size * 0.08
429
+ }
430
+ })
431
+ }), /*#__PURE__*/_jsx(View, {
432
+ style: {
433
+ position: 'absolute',
434
+ top: 0,
435
+ left: size * 0.22,
436
+ width: stroke,
437
+ height: size * 0.28,
438
+ backgroundColor: color,
439
+ borderRadius: stroke
440
+ }
441
+ }), /*#__PURE__*/_jsx(View, {
442
+ style: {
443
+ position: 'absolute',
444
+ top: 0,
445
+ right: size * 0.22,
446
+ width: stroke,
447
+ height: size * 0.28,
448
+ backgroundColor: color,
449
+ borderRadius: stroke
450
+ }
451
+ })]
452
+ });
453
+ case 'clock':
454
+ return /*#__PURE__*/_jsx(View, {
455
+ style: [box, style],
456
+ children: /*#__PURE__*/_jsxs(View, {
457
+ style: {
458
+ width: size,
459
+ height: size,
460
+ borderRadius: size / 2,
461
+ borderWidth: stroke,
462
+ borderColor: color,
463
+ alignItems: 'center',
464
+ justifyContent: 'center'
465
+ },
466
+ children: [/*#__PURE__*/_jsx(View, {
467
+ style: {
468
+ position: 'absolute',
469
+ width: stroke,
470
+ height: size * 0.28,
471
+ backgroundColor: color,
472
+ bottom: size * 0.42,
473
+ borderRadius: stroke
474
+ }
475
+ }), /*#__PURE__*/_jsx(View, {
476
+ style: {
477
+ position: 'absolute',
478
+ width: size * 0.22,
479
+ height: stroke,
480
+ backgroundColor: color,
481
+ left: size * 0.48,
482
+ borderRadius: stroke
483
+ }
484
+ })]
485
+ })
486
+ });
487
+ case 'creditCard':
488
+ return /*#__PURE__*/_jsx(View, {
489
+ style: [box, style],
490
+ children: /*#__PURE__*/_jsxs(View, {
491
+ style: {
492
+ width: size,
493
+ height: size * 0.7,
494
+ borderRadius: size * 0.1,
495
+ borderWidth: stroke,
496
+ borderColor: color,
497
+ overflow: 'hidden'
498
+ },
499
+ children: [/*#__PURE__*/_jsx(View, {
500
+ style: {
501
+ marginTop: size * 0.18,
502
+ height: size * 0.14,
503
+ backgroundColor: color,
504
+ opacity: 0.35
505
+ }
506
+ }), /*#__PURE__*/_jsx(View, {
507
+ style: {
508
+ marginTop: size * 0.12,
509
+ marginLeft: size * 0.12,
510
+ width: size * 0.35,
511
+ height: stroke,
512
+ backgroundColor: color,
513
+ borderRadius: stroke
514
+ }
515
+ })]
516
+ })
517
+ });
518
+ case 'currency':
519
+ return /*#__PURE__*/_jsxs(View, {
520
+ style: [box, style],
521
+ children: [/*#__PURE__*/_jsx(View, {
522
+ style: {
523
+ width: stroke * 1.2,
524
+ height: size * 0.85,
350
525
  backgroundColor: color,
351
526
  borderRadius: stroke,
527
+ position: 'absolute'
528
+ }
529
+ }), /*#__PURE__*/_jsx(View, {
530
+ style: {
531
+ width: size * 0.7,
532
+ height: size * 0.7,
533
+ borderRadius: size * 0.35,
534
+ borderWidth: stroke * 1.4,
535
+ borderColor: color
536
+ }
537
+ })]
538
+ });
539
+ case 'phone':
540
+ return /*#__PURE__*/_jsx(View, {
541
+ style: [box, style],
542
+ children: /*#__PURE__*/_jsx(View, {
543
+ style: {
544
+ width: size * 0.55,
545
+ height: size,
546
+ borderRadius: size * 0.12,
547
+ borderWidth: stroke,
548
+ borderColor: color,
549
+ alignItems: 'center',
550
+ justifyContent: 'flex-end',
551
+ paddingBottom: size * 0.08
552
+ },
553
+ children: /*#__PURE__*/_jsx(View, {
554
+ style: {
555
+ width: size * 0.18,
556
+ height: stroke,
557
+ backgroundColor: color,
558
+ borderRadius: stroke
559
+ }
560
+ })
561
+ })
562
+ });
563
+ case 'mail':
564
+ return /*#__PURE__*/_jsx(View, {
565
+ style: [box, style],
566
+ children: /*#__PURE__*/_jsx(View, {
567
+ style: {
568
+ width: size,
569
+ height: size * 0.7,
570
+ borderRadius: size * 0.08,
571
+ borderWidth: stroke,
572
+ borderColor: color,
573
+ overflow: 'hidden'
574
+ },
575
+ children: /*#__PURE__*/_jsx(View, {
576
+ style: {
577
+ position: 'absolute',
578
+ top: -size * 0.08,
579
+ left: size * 0.08,
580
+ width: size * 0.75,
581
+ height: size * 0.75,
582
+ borderWidth: stroke,
583
+ borderColor: color,
584
+ transform: [{
585
+ rotate: '45deg'
586
+ }]
587
+ }
588
+ })
589
+ })
590
+ });
591
+ case 'lock':
592
+ return /*#__PURE__*/_jsxs(View, {
593
+ style: [box, style],
594
+ children: [/*#__PURE__*/_jsx(View, {
595
+ style: {
596
+ width: size * 0.55,
597
+ height: size * 0.4,
598
+ borderTopLeftRadius: size * 0.28,
599
+ borderTopRightRadius: size * 0.28,
600
+ borderWidth: stroke,
601
+ borderBottomWidth: 0,
602
+ borderColor: color,
603
+ marginBottom: -1
604
+ }
605
+ }), /*#__PURE__*/_jsx(View, {
606
+ style: {
607
+ width: size * 0.85,
608
+ height: size * 0.55,
609
+ borderRadius: size * 0.1,
610
+ borderWidth: stroke,
611
+ borderColor: color,
612
+ alignItems: 'center',
613
+ justifyContent: 'center'
614
+ },
615
+ children: /*#__PURE__*/_jsx(View, {
616
+ style: {
617
+ width: size * 0.14,
618
+ height: size * 0.14,
619
+ borderRadius: size * 0.07,
620
+ backgroundColor: color
621
+ }
622
+ })
623
+ })]
624
+ });
625
+ case 'user':
626
+ return /*#__PURE__*/_jsxs(View, {
627
+ style: [box, style],
628
+ children: [/*#__PURE__*/_jsx(View, {
629
+ style: {
630
+ width: size * 0.4,
631
+ height: size * 0.4,
632
+ borderRadius: size * 0.2,
633
+ borderWidth: stroke,
634
+ borderColor: color,
635
+ marginBottom: size * 0.06
636
+ }
637
+ }), /*#__PURE__*/_jsx(View, {
638
+ style: {
639
+ width: size * 0.85,
640
+ height: size * 0.35,
641
+ borderTopLeftRadius: size * 0.4,
642
+ borderTopRightRadius: size * 0.4,
643
+ borderWidth: stroke,
644
+ borderBottomWidth: 0,
645
+ borderColor: color
646
+ }
647
+ })]
648
+ });
649
+ case 'key':
650
+ return /*#__PURE__*/_jsxs(View, {
651
+ style: [box, style],
652
+ children: [/*#__PURE__*/_jsx(View, {
653
+ style: {
654
+ width: size * 0.4,
655
+ height: size * 0.4,
656
+ borderRadius: size * 0.2,
657
+ borderWidth: stroke,
658
+ borderColor: color,
659
+ position: 'absolute',
660
+ left: 0
661
+ }
662
+ }), /*#__PURE__*/_jsx(View, {
663
+ style: {
664
+ width: size * 0.55,
665
+ height: stroke * 1.4,
666
+ backgroundColor: color,
667
+ position: 'absolute',
668
+ right: 0,
669
+ borderRadius: stroke
670
+ }
671
+ })]
672
+ });
673
+ case 'hash':
674
+ case 'otp':
675
+ return /*#__PURE__*/_jsxs(View, {
676
+ style: [box, style],
677
+ children: [/*#__PURE__*/_jsx(View, {
678
+ style: {
679
+ width: stroke,
680
+ height: size * 0.85,
681
+ backgroundColor: color,
352
682
  transform: [{
353
- rotate: '45deg'
683
+ rotate: '15deg'
354
684
  }, {
355
- translateX: -size * 0.13
685
+ translateX: -size * 0.12
686
+ }],
687
+ position: 'absolute'
688
+ }
689
+ }), /*#__PURE__*/_jsx(View, {
690
+ style: {
691
+ width: stroke,
692
+ height: size * 0.85,
693
+ backgroundColor: color,
694
+ transform: [{
695
+ rotate: '15deg'
356
696
  }, {
357
- translateY: -size * 0.02
697
+ translateX: size * 0.12
358
698
  }],
359
699
  position: 'absolute'
360
700
  }
361
701
  }), /*#__PURE__*/_jsx(View, {
362
702
  style: {
363
- width: size * 0.55,
703
+ width: size * 0.85,
364
704
  height: stroke,
365
705
  backgroundColor: color,
706
+ transform: [{
707
+ rotate: '-12deg'
708
+ }, {
709
+ translateY: -size * 0.15
710
+ }],
711
+ position: 'absolute'
712
+ }
713
+ }), /*#__PURE__*/_jsx(View, {
714
+ style: {
715
+ width: size * 0.85,
716
+ height: stroke,
717
+ backgroundColor: color,
718
+ transform: [{
719
+ rotate: '-12deg'
720
+ }, {
721
+ translateY: size * 0.15
722
+ }],
723
+ position: 'absolute'
724
+ }
725
+ })]
726
+ });
727
+ case 'radio':
728
+ return /*#__PURE__*/_jsx(View, {
729
+ style: [box, style],
730
+ children: /*#__PURE__*/_jsx(View, {
731
+ style: {
732
+ width: size,
733
+ height: size,
734
+ borderRadius: size / 2,
735
+ borderWidth: stroke,
736
+ borderColor: color
737
+ }
738
+ })
739
+ });
740
+ case 'radioFilled':
741
+ return /*#__PURE__*/_jsx(View, {
742
+ style: [box, style],
743
+ children: /*#__PURE__*/_jsx(View, {
744
+ style: {
745
+ width: size,
746
+ height: size,
747
+ borderRadius: size / 2,
748
+ borderWidth: stroke,
749
+ borderColor: color,
750
+ alignItems: 'center',
751
+ justifyContent: 'center'
752
+ },
753
+ children: /*#__PURE__*/_jsx(View, {
754
+ style: {
755
+ width: size * 0.45,
756
+ height: size * 0.45,
757
+ borderRadius: size * 0.225,
758
+ backgroundColor: color
759
+ }
760
+ })
761
+ })
762
+ });
763
+ case 'switch':
764
+ return /*#__PURE__*/_jsx(View, {
765
+ style: [box, style],
766
+ children: /*#__PURE__*/_jsx(View, {
767
+ style: {
768
+ width: size,
769
+ height: size * 0.55,
770
+ borderRadius: size * 0.275,
771
+ borderWidth: stroke,
772
+ borderColor: color,
773
+ justifyContent: 'center',
774
+ paddingHorizontal: 2
775
+ },
776
+ children: /*#__PURE__*/_jsx(View, {
777
+ style: {
778
+ width: size * 0.35,
779
+ height: size * 0.35,
780
+ borderRadius: size * 0.175,
781
+ backgroundColor: color,
782
+ alignSelf: 'flex-end'
783
+ }
784
+ })
785
+ })
786
+ });
787
+ case 'star':
788
+ return /*#__PURE__*/_jsx(View, {
789
+ style: [box, style],
790
+ children: /*#__PURE__*/_jsx(View, {
791
+ style: {
792
+ width: size * 0.9,
793
+ height: size * 0.9,
794
+ borderRadius: size * 0.1,
795
+ backgroundColor: color,
796
+ transform: [{
797
+ rotate: '45deg'
798
+ }],
799
+ opacity: 0.9
800
+ }
801
+ })
802
+ });
803
+ case 'plus':
804
+ case 'minus':
805
+ return /*#__PURE__*/_jsxs(View, {
806
+ style: [box, style],
807
+ children: [/*#__PURE__*/_jsx(View, {
808
+ style: {
809
+ width: size * 0.7,
810
+ height: stroke * 1.2,
811
+ backgroundColor: color,
812
+ borderRadius: stroke,
813
+ position: 'absolute'
814
+ }
815
+ }), name === 'plus' ? /*#__PURE__*/_jsx(View, {
816
+ style: {
817
+ width: stroke * 1.2,
818
+ height: size * 0.7,
819
+ backgroundColor: color,
820
+ borderRadius: stroke,
821
+ position: 'absolute'
822
+ }
823
+ }) : null]
824
+ });
825
+ case 'home':
826
+ return /*#__PURE__*/_jsxs(View, {
827
+ style: [box, style],
828
+ children: [/*#__PURE__*/_jsx(View, {
829
+ style: {
830
+ width: 0,
831
+ height: 0,
832
+ borderLeftWidth: size * 0.45,
833
+ borderRightWidth: size * 0.45,
834
+ borderBottomWidth: size * 0.4,
835
+ borderLeftColor: 'transparent',
836
+ borderRightColor: 'transparent',
837
+ borderBottomColor: color,
838
+ marginBottom: -2
839
+ }
840
+ }), /*#__PURE__*/_jsx(View, {
841
+ style: {
842
+ width: size * 0.7,
843
+ height: size * 0.45,
844
+ borderWidth: stroke,
845
+ borderTopWidth: 0,
846
+ borderColor: color
847
+ }
848
+ })]
849
+ });
850
+ case 'settings':
851
+ return /*#__PURE__*/_jsxs(View, {
852
+ style: [box, style],
853
+ children: [/*#__PURE__*/_jsx(View, {
854
+ style: {
855
+ width: size,
856
+ height: size,
857
+ borderRadius: size / 2,
858
+ borderWidth: stroke * 2,
859
+ borderColor: color,
860
+ borderStyle: 'solid',
861
+ opacity: 0.9
862
+ }
863
+ }), /*#__PURE__*/_jsx(View, {
864
+ style: {
865
+ position: 'absolute',
866
+ width: size * 0.35,
867
+ height: size * 0.35,
868
+ borderRadius: size * 0.175,
869
+ backgroundColor: color
870
+ }
871
+ })]
872
+ });
873
+ case 'edit':
874
+ return /*#__PURE__*/_jsx(View, {
875
+ style: [box, style],
876
+ children: /*#__PURE__*/_jsx(View, {
877
+ style: {
878
+ width: size * 0.35,
879
+ height: size * 0.85,
880
+ backgroundColor: color,
366
881
  borderRadius: stroke,
367
882
  transform: [{
368
883
  rotate: '-45deg'
884
+ }]
885
+ }
886
+ })
887
+ });
888
+ case 'trash':
889
+ return /*#__PURE__*/_jsxs(View, {
890
+ style: [box, style],
891
+ children: [/*#__PURE__*/_jsx(View, {
892
+ style: {
893
+ width: size * 0.7,
894
+ height: stroke,
895
+ backgroundColor: color,
896
+ marginBottom: 2,
897
+ borderRadius: stroke
898
+ }
899
+ }), /*#__PURE__*/_jsx(View, {
900
+ style: {
901
+ width: size * 0.65,
902
+ height: size * 0.7,
903
+ borderWidth: stroke,
904
+ borderColor: color,
905
+ borderRadius: size * 0.08
906
+ }
907
+ })]
908
+ });
909
+ case 'link':
910
+ return /*#__PURE__*/_jsxs(View, {
911
+ style: [box, style],
912
+ children: [/*#__PURE__*/_jsx(View, {
913
+ style: {
914
+ width: size * 0.45,
915
+ height: size * 0.7,
916
+ borderRadius: size * 0.22,
917
+ borderWidth: stroke,
918
+ borderColor: color,
919
+ transform: [{
920
+ rotate: '-30deg'
369
921
  }, {
370
- translateX: size * 0.13
922
+ translateX: -size * 0.1
923
+ }],
924
+ position: 'absolute'
925
+ }
926
+ }), /*#__PURE__*/_jsx(View, {
927
+ style: {
928
+ width: size * 0.45,
929
+ height: size * 0.7,
930
+ borderRadius: size * 0.22,
931
+ borderWidth: stroke,
932
+ borderColor: color,
933
+ transform: [{
934
+ rotate: '-30deg'
371
935
  }, {
372
- translateY: -size * 0.02
936
+ translateX: size * 0.1
373
937
  }],
374
938
  position: 'absolute'
375
939
  }
376
940
  })]
377
941
  });
942
+ case 'globe':
943
+ return /*#__PURE__*/_jsxs(View, {
944
+ style: [box, style],
945
+ children: [/*#__PURE__*/_jsx(View, {
946
+ style: {
947
+ width: size,
948
+ height: size,
949
+ borderRadius: size / 2,
950
+ borderWidth: stroke,
951
+ borderColor: color
952
+ }
953
+ }), /*#__PURE__*/_jsx(View, {
954
+ style: {
955
+ position: 'absolute',
956
+ width: size * 0.45,
957
+ height: size,
958
+ borderWidth: stroke,
959
+ borderColor: color,
960
+ borderRadius: size * 0.22
961
+ }
962
+ }), /*#__PURE__*/_jsx(View, {
963
+ style: {
964
+ position: 'absolute',
965
+ width: size * 0.85,
966
+ height: stroke,
967
+ backgroundColor: color
968
+ }
969
+ })]
970
+ });
971
+ case 'file':
972
+ return /*#__PURE__*/_jsx(View, {
973
+ style: [box, style],
974
+ children: /*#__PURE__*/_jsx(View, {
975
+ style: {
976
+ width: size * 0.75,
977
+ height: size,
978
+ borderWidth: stroke,
979
+ borderColor: color,
980
+ borderRadius: size * 0.08
981
+ }
982
+ })
983
+ });
984
+ case 'folder':
985
+ return /*#__PURE__*/_jsxs(View, {
986
+ style: [box, style],
987
+ children: [/*#__PURE__*/_jsx(View, {
988
+ style: {
989
+ width: size * 0.4,
990
+ height: size * 0.2,
991
+ backgroundColor: color,
992
+ borderTopLeftRadius: 3,
993
+ borderTopRightRadius: 3,
994
+ alignSelf: 'flex-start',
995
+ marginLeft: 1,
996
+ opacity: 0.8
997
+ }
998
+ }), /*#__PURE__*/_jsx(View, {
999
+ style: {
1000
+ width: size,
1001
+ height: size * 0.65,
1002
+ borderWidth: stroke,
1003
+ borderColor: color,
1004
+ borderRadius: size * 0.08
1005
+ }
1006
+ })]
1007
+ });
1008
+ case 'bell':
1009
+ return /*#__PURE__*/_jsxs(View, {
1010
+ style: [box, style],
1011
+ children: [/*#__PURE__*/_jsx(View, {
1012
+ style: {
1013
+ width: size * 0.7,
1014
+ height: size * 0.65,
1015
+ borderTopLeftRadius: size * 0.35,
1016
+ borderTopRightRadius: size * 0.35,
1017
+ borderWidth: stroke,
1018
+ borderColor: color
1019
+ }
1020
+ }), /*#__PURE__*/_jsx(View, {
1021
+ style: {
1022
+ width: size * 0.2,
1023
+ height: size * 0.15,
1024
+ borderBottomLeftRadius: size * 0.1,
1025
+ borderBottomRightRadius: size * 0.1,
1026
+ backgroundColor: color,
1027
+ marginTop: 1
1028
+ }
1029
+ })]
1030
+ });
1031
+ case 'heart':
1032
+ return /*#__PURE__*/_jsxs(View, {
1033
+ style: [box, style],
1034
+ children: [/*#__PURE__*/_jsx(View, {
1035
+ style: {
1036
+ width: size * 0.4,
1037
+ height: size * 0.4,
1038
+ borderRadius: size * 0.2,
1039
+ backgroundColor: color,
1040
+ position: 'absolute',
1041
+ left: size * 0.05,
1042
+ top: size * 0.15
1043
+ }
1044
+ }), /*#__PURE__*/_jsx(View, {
1045
+ style: {
1046
+ width: size * 0.4,
1047
+ height: size * 0.4,
1048
+ borderRadius: size * 0.2,
1049
+ backgroundColor: color,
1050
+ position: 'absolute',
1051
+ right: size * 0.05,
1052
+ top: size * 0.15
1053
+ }
1054
+ }), /*#__PURE__*/_jsx(View, {
1055
+ style: {
1056
+ width: size * 0.55,
1057
+ height: size * 0.55,
1058
+ backgroundColor: color,
1059
+ transform: [{
1060
+ rotate: '45deg'
1061
+ }],
1062
+ position: 'absolute',
1063
+ bottom: size * 0.08
1064
+ }
1065
+ })]
1066
+ });
378
1067
  default:
379
1068
  return /*#__PURE__*/_jsx(View, {
380
1069
  style: [box, style]