@draftbit/core 47.3.2-8f62da.2 → 47.3.2-a28e37.2

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 (203) hide show
  1. package/lib/src/components/{Accordion/AccordionGroup.d.ts → AccordionGroup.d.ts} +2 -2
  2. package/lib/src/components/{Accordion/AccordionGroup.js → AccordionGroup.js} +3 -3
  3. package/lib/src/components/AccordionGroup.js.map +1 -0
  4. package/lib/src/components/Button.d.ts +6 -0
  5. package/lib/src/components/Button.js +6 -0
  6. package/lib/src/components/Button.js.map +1 -1
  7. package/lib/src/components/Checkbox/index.d.ts +0 -1
  8. package/lib/src/components/Checkbox/index.js +0 -1
  9. package/lib/src/components/Checkbox/index.js.map +1 -1
  10. package/lib/src/components/DeckSwiper/DeckSwiper.js +10 -1
  11. package/lib/src/components/DeckSwiper/DeckSwiper.js.map +1 -1
  12. package/lib/src/components/Layout.d.ts +6 -0
  13. package/lib/src/components/Layout.js +6 -0
  14. package/lib/src/components/Layout.js.map +1 -1
  15. package/lib/src/components/NumberInput.d.ts +3 -2
  16. package/lib/src/components/NumberInput.js +3 -3
  17. package/lib/src/components/NumberInput.js.map +1 -1
  18. package/lib/src/components/RadioButton/index.d.ts +0 -1
  19. package/lib/src/components/RadioButton/index.js +0 -1
  20. package/lib/src/components/RadioButton/index.js.map +1 -1
  21. package/lib/src/components/Swiper/Swiper.d.ts +1 -1
  22. package/lib/src/components/Swiper/Swiper.js +33 -15
  23. package/lib/src/components/Swiper/Swiper.js.map +1 -1
  24. package/lib/src/components/useAuthState.d.ts +3 -0
  25. package/lib/src/components/useAuthState.js +3 -0
  26. package/lib/src/components/useAuthState.js.map +1 -1
  27. package/lib/src/{components/Accordion → deprecated-components}/AccordionItem.d.ts +2 -2
  28. package/lib/src/{components/Accordion → deprecated-components}/AccordionItem.js +6 -3
  29. package/lib/src/deprecated-components/AccordionItem.js.map +1 -0
  30. package/lib/src/{components → deprecated-components}/AvatarEdit.js +4 -1
  31. package/lib/src/deprecated-components/AvatarEdit.js.map +1 -0
  32. package/lib/src/{components → deprecated-components}/Banner.js +4 -1
  33. package/lib/src/deprecated-components/Banner.js.map +1 -0
  34. package/{src/components → lib/src/deprecated-components}/Card.js +7 -4
  35. package/lib/src/deprecated-components/Card.js.map +1 -0
  36. package/lib/src/{components/Checkbox → deprecated-components}/CheckboxGroup.d.ts +5 -2
  37. package/{src/components/Checkbox → lib/src/deprecated-components}/CheckboxGroup.js +4 -1
  38. package/lib/src/deprecated-components/CheckboxGroup.js.map +1 -0
  39. package/lib/src/{components → deprecated-components}/CircleImage.d.ts +3 -0
  40. package/lib/src/{components → deprecated-components}/CircleImage.js +4 -1
  41. package/lib/src/deprecated-components/CircleImage.js.map +1 -0
  42. package/lib/src/{components → deprecated-components}/Container.d.ts +1 -1
  43. package/lib/src/{components → deprecated-components}/Container.js +4 -1
  44. package/lib/src/deprecated-components/Container.js.map +1 -0
  45. package/lib/src/{components → deprecated-components}/FAB.d.ts +3 -0
  46. package/{src/components → lib/src/deprecated-components}/FAB.js +3 -0
  47. package/lib/src/deprecated-components/FAB.js.map +1 -0
  48. package/{src/components → lib/src/deprecated-components}/FieldSearchBarFull.js +4 -1
  49. package/lib/src/deprecated-components/FieldSearchBarFull.js.map +1 -0
  50. package/lib/src/{components → deprecated-components}/ProgressBar.d.ts +3 -0
  51. package/{src/components → lib/src/deprecated-components}/ProgressBar.js +3 -0
  52. package/lib/src/deprecated-components/ProgressBar.js.map +1 -0
  53. package/{src/components → lib/src/deprecated-components}/ProgressCircle.js +4 -1
  54. package/lib/src/deprecated-components/ProgressCircle.js.map +1 -0
  55. package/lib/src/{components/RadioButton → deprecated-components}/RadioButtonFieldGroup.d.ts +1 -1
  56. package/{src/components/RadioButton → lib/src/deprecated-components}/RadioButtonFieldGroup.js +6 -3
  57. package/lib/src/deprecated-components/RadioButtonFieldGroup.js.map +1 -0
  58. package/lib/src/{components → deprecated-components}/RowBodyIcon.js +5 -2
  59. package/lib/src/deprecated-components/RowBodyIcon.js.map +1 -0
  60. package/{src/components → lib/src/deprecated-components}/RowHeadlineImageCaption.js +4 -1
  61. package/lib/src/deprecated-components/RowHeadlineImageCaption.js.map +1 -0
  62. package/{src/components → lib/src/deprecated-components}/RowHeadlineImageIcon.js +5 -2
  63. package/lib/src/deprecated-components/RowHeadlineImageIcon.js.map +1 -0
  64. package/lib/src/{components → deprecated-components}/ToggleButton.js +4 -1
  65. package/lib/src/deprecated-components/ToggleButton.js.map +1 -0
  66. package/lib/src/index.d.ts +24 -19
  67. package/lib/src/index.js +25 -21
  68. package/lib/src/index.js.map +1 -1
  69. package/lib/src/interfaces/Icon.d.ts +2 -2
  70. package/lib/src/interfaces/Icon.js +1 -1
  71. package/lib/src/interfaces/Icon.js.map +1 -1
  72. package/lib/tsconfig.tsbuildinfo +1 -1
  73. package/package.json +3 -3
  74. package/src/components/{Accordion/AccordionGroup.js → AccordionGroup.js} +3 -3
  75. package/src/components/AccordionGroup.js.map +1 -0
  76. package/src/components/{Accordion/AccordionGroup.tsx → AccordionGroup.tsx} +5 -5
  77. package/src/components/Button.js +6 -0
  78. package/src/components/Button.js.map +1 -1
  79. package/src/components/Button.tsx +6 -0
  80. package/src/components/Checkbox/index.js +0 -1
  81. package/src/components/Checkbox/index.js.map +1 -1
  82. package/src/components/Checkbox/index.ts +0 -1
  83. package/src/components/DeckSwiper/DeckSwiper.js +10 -1
  84. package/src/components/DeckSwiper/DeckSwiper.js.map +1 -1
  85. package/src/components/DeckSwiper/DeckSwiper.tsx +11 -0
  86. package/src/components/Layout.js +6 -0
  87. package/src/components/Layout.js.map +1 -1
  88. package/src/components/Layout.tsx +6 -0
  89. package/src/components/NumberInput.js +3 -3
  90. package/src/components/NumberInput.js.map +1 -1
  91. package/src/components/NumberInput.tsx +52 -53
  92. package/src/components/RadioButton/index.js +0 -1
  93. package/src/components/RadioButton/index.js.map +1 -1
  94. package/src/components/RadioButton/index.tsx +0 -1
  95. package/src/components/Swiper/Swiper.js +33 -15
  96. package/src/components/Swiper/Swiper.js.map +1 -1
  97. package/src/components/Swiper/Swiper.tsx +42 -16
  98. package/src/components/useAuthState.js +3 -0
  99. package/src/components/useAuthState.js.map +1 -1
  100. package/src/components/useAuthState.tsx +3 -0
  101. package/src/{components/Accordion → deprecated-components}/AccordionItem.js +6 -3
  102. package/src/deprecated-components/AccordionItem.js.map +1 -0
  103. package/src/{components/Accordion → deprecated-components}/AccordionItem.tsx +8 -5
  104. package/src/{components → deprecated-components}/AvatarEdit.js +4 -1
  105. package/src/deprecated-components/AvatarEdit.js.map +1 -0
  106. package/src/{components → deprecated-components}/AvatarEdit.tsx +4 -1
  107. package/src/{components → deprecated-components}/Banner.js +4 -1
  108. package/src/deprecated-components/Banner.js.map +1 -0
  109. package/src/{components → deprecated-components}/Banner.tsx +4 -1
  110. package/{lib/src/components → src/deprecated-components}/Card.js +7 -4
  111. package/src/deprecated-components/Card.js.map +1 -0
  112. package/src/{components → deprecated-components}/Card.tsx +7 -4
  113. package/{lib/src/components/Checkbox → src/deprecated-components}/CheckboxGroup.js +4 -1
  114. package/src/deprecated-components/CheckboxGroup.js.map +1 -0
  115. package/src/{components/Checkbox → deprecated-components}/CheckboxGroup.tsx +8 -2
  116. package/src/{components → deprecated-components}/CircleImage.js +4 -1
  117. package/src/deprecated-components/CircleImage.js.map +1 -0
  118. package/src/{components → deprecated-components}/CircleImage.tsx +4 -1
  119. package/src/{components → deprecated-components}/Container.js +4 -1
  120. package/src/deprecated-components/Container.js.map +1 -0
  121. package/src/{components → deprecated-components}/Container.tsx +5 -2
  122. package/{lib/src/components → src/deprecated-components}/FAB.js +3 -0
  123. package/src/deprecated-components/FAB.js.map +1 -0
  124. package/src/{components → deprecated-components}/FAB.tsx +3 -0
  125. package/{lib/src/components → src/deprecated-components}/FieldSearchBarFull.js +4 -1
  126. package/src/deprecated-components/FieldSearchBarFull.js.map +1 -0
  127. package/src/{components → deprecated-components}/FieldSearchBarFull.tsx +4 -1
  128. package/{lib/src/components → src/deprecated-components}/ProgressBar.js +3 -0
  129. package/src/deprecated-components/ProgressBar.js.map +1 -0
  130. package/src/{components → deprecated-components}/ProgressBar.tsx +3 -0
  131. package/{lib/src/components → src/deprecated-components}/ProgressCircle.js +4 -1
  132. package/src/deprecated-components/ProgressCircle.js.map +1 -0
  133. package/src/{components → deprecated-components}/ProgressCircle.tsx +4 -1
  134. package/{lib/src/components/RadioButton → src/deprecated-components}/RadioButtonFieldGroup.js +6 -3
  135. package/src/deprecated-components/RadioButtonFieldGroup.js.map +1 -0
  136. package/src/{components/RadioButton → deprecated-components}/RadioButtonFieldGroup.tsx +8 -3
  137. package/src/{components → deprecated-components}/RowBodyIcon.js +5 -2
  138. package/src/deprecated-components/RowBodyIcon.js.map +1 -0
  139. package/src/{components → deprecated-components}/RowBodyIcon.tsx +5 -2
  140. package/{lib/src/components → src/deprecated-components}/RowHeadlineImageCaption.js +4 -1
  141. package/src/deprecated-components/RowHeadlineImageCaption.js.map +1 -0
  142. package/src/{components → deprecated-components}/RowHeadlineImageCaption.tsx +4 -1
  143. package/{lib/src/components → src/deprecated-components}/RowHeadlineImageIcon.js +5 -2
  144. package/src/deprecated-components/RowHeadlineImageIcon.js.map +1 -0
  145. package/src/{components → deprecated-components}/RowHeadlineImageIcon.tsx +5 -2
  146. package/src/{components → deprecated-components}/ToggleButton.js +4 -1
  147. package/src/deprecated-components/ToggleButton.js.map +1 -0
  148. package/src/{components → deprecated-components}/ToggleButton.tsx +4 -1
  149. package/src/index.js +25 -21
  150. package/src/index.js.map +1 -1
  151. package/src/index.tsx +25 -41
  152. package/src/interfaces/Icon.js +1 -1
  153. package/src/interfaces/Icon.js.map +1 -1
  154. package/src/interfaces/Icon.ts +9 -6
  155. package/lib/src/components/Accordion/AccordionGroup.js.map +0 -1
  156. package/lib/src/components/Accordion/AccordionItem.js.map +0 -1
  157. package/lib/src/components/Accordion/index.d.ts +0 -2
  158. package/lib/src/components/Accordion/index.js +0 -3
  159. package/lib/src/components/Accordion/index.js.map +0 -1
  160. package/lib/src/components/AvatarEdit.js.map +0 -1
  161. package/lib/src/components/Banner.js.map +0 -1
  162. package/lib/src/components/Card.js.map +0 -1
  163. package/lib/src/components/Checkbox/CheckboxGroup.js.map +0 -1
  164. package/lib/src/components/CircleImage.js.map +0 -1
  165. package/lib/src/components/Container.js.map +0 -1
  166. package/lib/src/components/FAB.js.map +0 -1
  167. package/lib/src/components/FieldSearchBarFull.js.map +0 -1
  168. package/lib/src/components/ProgressBar.js.map +0 -1
  169. package/lib/src/components/ProgressCircle.js.map +0 -1
  170. package/lib/src/components/RadioButton/RadioButtonFieldGroup.js.map +0 -1
  171. package/lib/src/components/RowBodyIcon.js.map +0 -1
  172. package/lib/src/components/RowHeadlineImageCaption.js.map +0 -1
  173. package/lib/src/components/RowHeadlineImageIcon.js.map +0 -1
  174. package/lib/src/components/ToggleButton.js.map +0 -1
  175. package/src/components/Accordion/AccordionGroup.js.map +0 -1
  176. package/src/components/Accordion/AccordionItem.js.map +0 -1
  177. package/src/components/Accordion/index.js +0 -3
  178. package/src/components/Accordion/index.js.map +0 -1
  179. package/src/components/Accordion/index.tsx +0 -2
  180. package/src/components/AvatarEdit.js.map +0 -1
  181. package/src/components/Banner.js.map +0 -1
  182. package/src/components/Card.js.map +0 -1
  183. package/src/components/Checkbox/CheckboxGroup.js.map +0 -1
  184. package/src/components/CircleImage.js.map +0 -1
  185. package/src/components/Container.js.map +0 -1
  186. package/src/components/FAB.js.map +0 -1
  187. package/src/components/FieldSearchBarFull.js.map +0 -1
  188. package/src/components/ProgressBar.js.map +0 -1
  189. package/src/components/ProgressCircle.js.map +0 -1
  190. package/src/components/RadioButton/RadioButtonFieldGroup.js.map +0 -1
  191. package/src/components/RowBodyIcon.js.map +0 -1
  192. package/src/components/RowHeadlineImageCaption.js.map +0 -1
  193. package/src/components/RowHeadlineImageIcon.js.map +0 -1
  194. package/src/components/ToggleButton.js.map +0 -1
  195. /package/lib/src/{components → deprecated-components}/AvatarEdit.d.ts +0 -0
  196. /package/lib/src/{components → deprecated-components}/Banner.d.ts +0 -0
  197. /package/lib/src/{components → deprecated-components}/Card.d.ts +0 -0
  198. /package/lib/src/{components → deprecated-components}/FieldSearchBarFull.d.ts +0 -0
  199. /package/lib/src/{components → deprecated-components}/ProgressCircle.d.ts +0 -0
  200. /package/lib/src/{components → deprecated-components}/RowBodyIcon.d.ts +0 -0
  201. /package/lib/src/{components → deprecated-components}/RowHeadlineImageCaption.d.ts +0 -0
  202. /package/lib/src/{components → deprecated-components}/RowHeadlineImageIcon.d.ts +0 -0
  203. /package/lib/src/{components → deprecated-components}/ToggleButton.d.ts +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@draftbit/core",
3
- "version": "47.3.2-8f62da.2+8f62dab",
3
+ "version": "47.3.2-a28e37.2+a28e37d",
4
4
  "description": "Core (non-native) Components",
5
5
  "main": "lib/src/index.js",
6
6
  "types": "lib/src/index.d.ts",
@@ -39,7 +39,7 @@
39
39
  "dependencies": {
40
40
  "@date-io/date-fns": "^1.3.13",
41
41
  "@draftbit/react-theme-provider": "^2.1.1",
42
- "@draftbit/types": "^47.3.2-8f62da.2+8f62dab",
42
+ "@draftbit/types": "^47.3.2-a28e37.2+a28e37d",
43
43
  "@expo/vector-icons": "^13.0.0",
44
44
  "@material-ui/core": "^4.11.0",
45
45
  "@material-ui/pickers": "^3.2.10",
@@ -79,5 +79,5 @@
79
79
  "node_modules/",
80
80
  "lib/"
81
81
  ],
82
- "gitHead": "8f62dabedfee656e623b933232cb36cb67260e69"
82
+ "gitHead": "a28e37db4c17ff66234dea848905a9df45f68203"
83
83
  }
@@ -1,8 +1,8 @@
1
1
  import * as React from "react";
2
2
  import { View, StyleSheet, Pressable, } from "react-native";
3
- import Text from "../Text";
4
- import { withTheme } from "../../theming";
5
- import { extractStyles } from "../../utilities";
3
+ import Text from "./Text";
4
+ import { withTheme } from "../theming";
5
+ import { extractStyles } from "../utilities";
6
6
  const AccordionGroup = ({ label, expanded: expandedProp = false, openColor, closedColor, caretColor: caretColorProp, caretSize = 24, icon, iconSize = 24, style, children, theme, Icon, }) => {
7
7
  const [expanded, setExpanded] = React.useState(expandedProp);
8
8
  const { textStyles, viewStyles } = extractStyles(style);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionGroup.js","sourceRoot":"","sources":["AccordionGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,IAAI,EACJ,UAAU,EAGV,SAAS,GACV,MAAM,cAAc,CAAC;AACtB,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAgB7C,MAAM,cAAc,GAAG,CAAC,EACtB,KAAK,EACL,QAAQ,EAAE,YAAY,GAAG,KAAK,EAC9B,SAAS,EACT,WAAW,EACX,UAAU,EAAE,cAAc,EAC1B,SAAS,GAAG,EAAE,EACd,IAAI,EACJ,QAAQ,GAAG,EAAE,EACb,KAAK,EACL,QAAQ,EACR,KAAK,EACL,IAAI,GACgB,EAAE,EAAE;IACxB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,YAAY,CAAC,CAAC;IACtE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;IACxD,MAAM,cAAc,GAAG,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;IAC3D,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;IAC7D,MAAM,UAAU,GAAG,cAAc,IAAI,UAAU,CAAC;IAEhD,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO,CACL;QACE,oBAAC,SAAS,IACR,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,EAC/B,OAAO,EAAE,iBAAiB,EAC1B,iBAAiB,EAAC,QAAQ;YAEzB,IAAI,CAAC,CAAC,CAAC,CACN,oBAAC,IAAI,IACH,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,CAAC,IAAI,GAClB,CACH,CAAC,CAAC,CAAC,IAAI;YACR,oBAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO;gBACzB,oBAAC,IAAI,IACH,UAAU,EAAE,KAAK,EACjB,KAAK,EAAE;wBACL,UAAU;wBACV;4BACE,KAAK,EAAE,UAAU;yBAClB;qBACF,IAEA,KAAK,CACD,CACF;YACP,oBAAC,IAAI,IACH,IAAI,EACF,QAAQ;oBACN,CAAC,CAAC,iCAAiC;oBACnC,CAAC,CAAC,mCAAmC,EAEzC,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,SAAS,GACf,CACQ;QACX,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAC1B,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,GAAG,EAAE;QACH,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;KACrB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,CAAC;QACP,cAAc,EAAE,QAAQ;KACzB;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,CAAC;KACf;CACF,CAAC,CAAC;AAEH,eAAe,SAAS,CAAC,cAAc,CAAC,CAAC"}
@@ -6,11 +6,11 @@ import {
6
6
  TextStyle,
7
7
  Pressable,
8
8
  } from "react-native";
9
- import Text from "../Text";
10
- import { withTheme } from "../../theming";
11
- import type { IconSlot } from "../../interfaces/Icon";
12
- import type { Theme } from "../../styles/DefaultTheme";
13
- import { extractStyles } from "../../utilities";
9
+ import Text from "./Text";
10
+ import { withTheme } from "../theming";
11
+ import type { IconSlot } from "../interfaces/Icon";
12
+ import type { Theme } from "../styles/DefaultTheme";
13
+ import { extractStyles } from "../utilities";
14
14
 
15
15
  type AccordionGroupProps = {
16
16
  label?: string;
@@ -51,6 +51,9 @@ const Solid = ({ style, theme, ...props }) => {
51
51
  style,
52
52
  ], ...props }));
53
53
  };
54
+ /**
55
+ * @deprecated DEPRECATED: Use Button
56
+ */
54
57
  const ButtonSolid = withTheme(Solid);
55
58
  export { ButtonSolid };
56
59
  const Button = withTheme(Solid);
@@ -66,6 +69,9 @@ const Outline = ({ style, theme, ...props }) => {
66
69
  style,
67
70
  ], ...props }));
68
71
  };
72
+ /**
73
+ * @deprecated DEPRECATED: Use Button
74
+ */
69
75
  const ButtonOutline = withTheme(Outline);
70
76
  export { ButtonOutline };
71
77
  const styles = StyleSheet.create({
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["Button.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["Button.tsx"],"names":[],"mappings":"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"}
@@ -146,6 +146,9 @@ const Solid = ({ style, theme, ...props }: Props): JSX.Element => {
146
146
  );
147
147
  };
148
148
 
149
+ /**
150
+ * @deprecated DEPRECATED: Use Button
151
+ */
149
152
  const ButtonSolid: any = withTheme(Solid);
150
153
  export { ButtonSolid };
151
154
 
@@ -169,6 +172,9 @@ const Outline = ({ style, theme, ...props }: Props): JSX.Element => {
169
172
  );
170
173
  };
171
174
 
175
+ /**
176
+ * @deprecated DEPRECATED: Use Button
177
+ */
172
178
  const ButtonOutline: any = withTheme(Outline);
173
179
  export { ButtonOutline };
174
180
 
@@ -1,4 +1,3 @@
1
1
  export { default as Checkbox } from "./Checkbox";
2
- export { default as CheckboxGroup } from "./CheckboxGroup";
3
2
  export { default as CheckboxRow } from "./CheckboxRow";
4
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -1,3 +1,2 @@
1
1
  export { default as Checkbox } from "./Checkbox";
2
- export { default as CheckboxGroup } from "./CheckboxGroup";
3
2
  export { default as CheckboxRow } from "./CheckboxRow";
@@ -9,6 +9,7 @@ const DeckSwiper = ({ onSwipe, onSwipedLeft, onSwipedRight, onSwipedUp, onSwiped
9
9
  if (data && renderItem && children) {
10
10
  console.warn("'children' of DeckSwiper ignored due to usage of 'data' and 'renderItem'");
11
11
  }
12
+ const deckSwiperRef = React.useRef(null);
12
13
  const childrenArray = React.useMemo(() => React.Children.toArray(children), [children]);
13
14
  // an array of indices based on children count
14
15
  const cardsFillerData = React.useMemo(() => Array.from(Array(childrenArray.length).keys()), [childrenArray]);
@@ -35,6 +36,14 @@ const DeckSwiper = ({ onSwipe, onSwipedLeft, onSwipedRight, onSwipedUp, onSwiped
35
36
  return card === null || card === void 0 ? void 0 : card.toString();
36
37
  }
37
38
  };
39
+ /*
40
+ react-native-deck-swiper does not re-render cards when parent state changes
41
+ This forces an update on every re-render to reflect any parent state changes
42
+ */
43
+ React.useEffect(() => {
44
+ var _a;
45
+ (_a = deckSwiperRef.current) === null || _a === void 0 ? void 0 : _a.forceUpdate();
46
+ });
38
47
  /**
39
48
  * By default react-native-deck-swiper positions everything with absolute position.
40
49
  * To overcome this, it is wrapped in a View to be able to add the component in any layout structure.
@@ -46,7 +55,7 @@ const DeckSwiper = ({ onSwipe, onSwipedLeft, onSwipedRight, onSwipedUp, onSwiped
46
55
  */
47
56
  return (React.createElement(View, null,
48
57
  React.createElement(View, { style: styles.containerHeightFiller }, renderFirstCard()),
49
- React.createElement(DeckSwiperComponent, { cards: cardsData, renderCard: renderCard, keyExtractor: cardKeyExtractor, containerStyle: StyleSheet.flatten([styles.cardsContainer, style]), cardStyle: styles.card, onSwiped: onIndexChanged, onSwipedAll: onEndReached, cardIndex: startCardIndex, infinite: infiniteSwiping, verticalSwipe: verticalEnabled, horizontalSwipe: horizontalEnabled, showSecondCard: visibleCardCount > 1, stackSize: visibleCardCount, backgroundColor: "transparent", cardVerticalMargin: 0, cardHorizontalMargin: 0, onSwipedLeft: (index) => {
58
+ React.createElement(DeckSwiperComponent, { ref: deckSwiperRef, cards: cardsData, renderCard: renderCard, keyExtractor: cardKeyExtractor, containerStyle: StyleSheet.flatten([styles.cardsContainer, style]), cardStyle: styles.card, onSwiped: onIndexChanged, onSwipedAll: onEndReached, cardIndex: startCardIndex, infinite: infiniteSwiping, verticalSwipe: verticalEnabled, horizontalSwipe: horizontalEnabled, showSecondCard: visibleCardCount > 1, stackSize: visibleCardCount, backgroundColor: "transparent", cardVerticalMargin: 0, cardHorizontalMargin: 0, onSwipedLeft: (index) => {
50
59
  onSwipedLeft === null || onSwipedLeft === void 0 ? void 0 : onSwipedLeft(index);
51
60
  onSwipe === null || onSwipe === void 0 ? void 0 : onSwipe(index);
52
61
  }, onSwipedRight: (index) => {
@@ -1 +1 @@
1
- {"version":3,"file":"DeckSwiper.js","sourceRoot":"","sources":["DeckSwiper.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DeckSwiper.js","sourceRoot":"","sources":["DeckSwiper.tsx"],"names":[],"mappings":"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"}
@@ -53,6 +53,8 @@ const DeckSwiper = <T extends object>({
53
53
  );
54
54
  }
55
55
 
56
+ const deckSwiperRef = React.useRef<DeckSwiperComponent<T>>(null);
57
+
56
58
  const childrenArray = React.useMemo(
57
59
  () => React.Children.toArray(children),
58
60
  [children]
@@ -89,6 +91,14 @@ const DeckSwiper = <T extends object>({
89
91
  }
90
92
  };
91
93
 
94
+ /*
95
+ react-native-deck-swiper does not re-render cards when parent state changes
96
+ This forces an update on every re-render to reflect any parent state changes
97
+ */
98
+ React.useEffect(() => {
99
+ deckSwiperRef.current?.forceUpdate();
100
+ });
101
+
92
102
  /**
93
103
  * By default react-native-deck-swiper positions everything with absolute position.
94
104
  * To overcome this, it is wrapped in a View to be able to add the component in any layout structure.
@@ -103,6 +113,7 @@ const DeckSwiper = <T extends object>({
103
113
  <View>
104
114
  <View style={styles.containerHeightFiller}>{renderFirstCard()}</View>
105
115
  <DeckSwiperComponent
116
+ ref={deckSwiperRef}
106
117
  cards={cardsData as any[]}
107
118
  renderCard={renderCard}
108
119
  keyExtractor={cardKeyExtractor}
@@ -22,6 +22,9 @@ export function Circle({ size = 50, bgColor, children, style, ...rest }) {
22
22
  export function Square({ size = 50, bgColor, children, style, ...rest }) {
23
23
  return (React.createElement(Center, { style: style, width: size, height: size, bgColor: bgColor, ...rest }, children));
24
24
  }
25
+ /**
26
+ * @deprecated DEPRECATED
27
+ */
25
28
  export function Row({ justifyContent, alignItems, children, style, ...rest }) {
26
29
  return (React.createElement(View, { style: [
27
30
  style,
@@ -43,6 +46,9 @@ export function Spacer({ top = 8, right = 8, bottom = 8, left = 8, children, sty
43
46
  },
44
47
  ], ...rest }, children));
45
48
  }
49
+ /**
50
+ * @deprecated DEPRECATED
51
+ */
46
52
  export function Stack({ children, justifyContent = "flex-start", alignItems = "flex-start", style, ...rest }) {
47
53
  return (
48
54
  // style must go first since we don't want justifyContent, alignItems overridden
@@ -1 +1 @@
1
- {"version":3,"file":"Layout.js","sourceRoot":"","sources":["Layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAwB,MAAM,cAAc,CAAC;AAI1D,MAAM,UAAU,MAAM,CAAC,EACrB,KAAK,GAAG,GAAG,EACX,MAAM,GAAG,GAAG,EACZ,QAAQ,EACR,OAAO,EACP,KAAK,EACL,GAAG,IAAI,EAOR;IACC,OAAO,CACL,oBAAC,IAAI,IACH,KAAK,EAAE;YACL;gBACE,cAAc,EAAE,QAAQ;gBACxB,UAAU,EAAE,QAAQ;gBACpB,KAAK;gBACL,MAAM;gBACN,eAAe,EAAE,OAAO;aACzB;YACD,KAAK;SACN,KACG,IAAI,IAEP,QAAQ,CACJ,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EACrB,IAAI,GAAG,EAAE,EACT,OAAO,EACP,QAAQ,EACR,KAAK,EACL,GAAG,IAAI,EAMR;IACC,MAAM,YAAY,GAAG,IAAI,CAAC;IAC1B,OAAO,CACL,oBAAC,MAAM,IACL,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE;YACL,KAAK;YACL,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE;SAC/D,KACG,IAAI,IAEP,QAAQ,CACF,CACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EACrB,IAAI,GAAG,EAAE,EACT,OAAO,EACP,QAAQ,EACR,KAAK,EACL,GAAG,IAAI,EAMR;IACC,OAAO,CACL,oBAAC,MAAM,IACL,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,OAAO,KACZ,IAAI,IAEP,QAAQ,CACF,CACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,EAClB,cAAc,EACd,UAAU,EACV,QAAQ,EACR,KAAK,EACL,GAAG,IAAI,EAMR;IACC,OAAO,CACL,oBAAC,IAAI,IACH,KAAK,EAAE;YACL,KAAK;YACL;gBACE,UAAU;gBACV,aAAa,EAAE,KAAK;gBACpB,cAAc,EAAE,cAAc;aAC/B;SACF,KACG,IAAI,IAEP,QAAQ,CACJ,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EACrB,GAAG,GAAG,CAAC,EACP,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,IAAI,GAAG,CAAC,EACR,QAAQ,EACR,KAAK,EACL,GAAG,IAAI,EAQR;IACC,OAAO,CACL,oBAAC,IAAI,IACH,KAAK,EAAE;YACL,KAAK;YACL;gBACE,YAAY,EAAE,KAAK;gBACnB,UAAU,EAAE,GAAG;gBACf,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,MAAM;aACtB;SACF,KACG,IAAI,IAEP,QAAQ,CACJ,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EACpB,QAAQ,EACR,cAAc,GAAG,YAAY,EAC7B,UAAU,GAAG,YAAY,EACzB,KAAK,EACL,GAAG,IAAI,EAMR;IACC,OAAO;IACL,gFAAgF;IAChF,oBAAC,IAAI,IAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC,KAAM,IAAI,IAC3D,QAAQ,CACJ,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Layout.js","sourceRoot":"","sources":["Layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAwB,MAAM,cAAc,CAAC;AAI1D,MAAM,UAAU,MAAM,CAAC,EACrB,KAAK,GAAG,GAAG,EACX,MAAM,GAAG,GAAG,EACZ,QAAQ,EACR,OAAO,EACP,KAAK,EACL,GAAG,IAAI,EAOR;IACC,OAAO,CACL,oBAAC,IAAI,IACH,KAAK,EAAE;YACL;gBACE,cAAc,EAAE,QAAQ;gBACxB,UAAU,EAAE,QAAQ;gBACpB,KAAK;gBACL,MAAM;gBACN,eAAe,EAAE,OAAO;aACzB;YACD,KAAK;SACN,KACG,IAAI,IAEP,QAAQ,CACJ,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EACrB,IAAI,GAAG,EAAE,EACT,OAAO,EACP,QAAQ,EACR,KAAK,EACL,GAAG,IAAI,EAMR;IACC,MAAM,YAAY,GAAG,IAAI,CAAC;IAC1B,OAAO,CACL,oBAAC,MAAM,IACL,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE;YACL,KAAK;YACL,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE;SAC/D,KACG,IAAI,IAEP,QAAQ,CACF,CACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EACrB,IAAI,GAAG,EAAE,EACT,OAAO,EACP,QAAQ,EACR,KAAK,EACL,GAAG,IAAI,EAMR;IACC,OAAO,CACL,oBAAC,MAAM,IACL,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,OAAO,KACZ,IAAI,IAEP,QAAQ,CACF,CACV,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,GAAG,CAAC,EAClB,cAAc,EACd,UAAU,EACV,QAAQ,EACR,KAAK,EACL,GAAG,IAAI,EAMR;IACC,OAAO,CACL,oBAAC,IAAI,IACH,KAAK,EAAE;YACL,KAAK;YACL;gBACE,UAAU;gBACV,aAAa,EAAE,KAAK;gBACpB,cAAc,EAAE,cAAc;aAC/B;SACF,KACG,IAAI,IAEP,QAAQ,CACJ,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EACrB,GAAG,GAAG,CAAC,EACP,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,CAAC,EACV,IAAI,GAAG,CAAC,EACR,QAAQ,EACR,KAAK,EACL,GAAG,IAAI,EAQR;IACC,OAAO,CACL,oBAAC,IAAI,IACH,KAAK,EAAE;YACL,KAAK;YACL;gBACE,YAAY,EAAE,KAAK;gBACnB,UAAU,EAAE,GAAG;gBACf,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,MAAM;aACtB;SACF,KACG,IAAI,IAEP,QAAQ,CACJ,CACR,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,EACpB,QAAQ,EACR,cAAc,GAAG,YAAY,EAC7B,UAAU,GAAG,YAAY,EACzB,KAAK,EACL,GAAG,IAAI,EAMR;IACC,OAAO;IACL,gFAAgF;IAChF,oBAAC,IAAI,IAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC,KAAM,IAAI,IAC3D,QAAQ,CACJ,CACR,CAAC;AACJ,CAAC"}
@@ -90,6 +90,9 @@ export function Square({
90
90
  );
91
91
  }
92
92
 
93
+ /**
94
+ * @deprecated DEPRECATED
95
+ */
93
96
  export function Row({
94
97
  justifyContent,
95
98
  alignItems,
@@ -153,6 +156,9 @@ export function Spacer({
153
156
  );
154
157
  }
155
158
 
159
+ /**
160
+ * @deprecated DEPRECATED
161
+ */
156
162
  export function Stack({
157
163
  children,
158
164
  justifyContent = "flex-start",
@@ -1,7 +1,7 @@
1
1
  import React, { useEffect, useState } from "react";
2
2
  import { TextInput } from "react-native";
3
3
  import { isString, isNumber, isNaN } from "lodash";
4
- const NumberInput = ({ onChangeText, value, defaultValue, ...props }) => {
4
+ const NumberInput = React.forwardRef(({ onChangeText, value, defaultValue, ...props }, ref) => {
5
5
  const [currentStringNumberValue, setCurrentStringNumberValue] = useState("");
6
6
  const formatValueToStringNumber = (valueToFormat) => {
7
7
  if (valueToFormat != null) {
@@ -44,7 +44,7 @@ const NumberInput = ({ onChangeText, value, defaultValue, ...props }) => {
44
44
  }
45
45
  // eslint-disable-next-line react-hooks/exhaustive-deps
46
46
  }, []);
47
- return (React.createElement(TextInput, { keyboardType: "numeric", value: currentStringNumberValue, onChangeText: handleChangeText, ...props }));
48
- };
47
+ return (React.createElement(TextInput, { ref: ref, keyboardType: "numeric", value: currentStringNumberValue, onChangeText: handleChangeText, ...props }));
48
+ });
49
49
  export default NumberInput;
50
50
  //# sourceMappingURL=NumberInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NumberInput.js","sourceRoot":"","sources":["NumberInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAM,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAQnD,MAAM,WAAW,GAAc,CAAC,EAC9B,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE7E,MAAM,yBAAyB,GAAG,CAAC,aAA+B,EAAE,EAAE;QACpE,IAAI,aAAa,IAAI,IAAI,EAAE;YACzB,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,KAAK,EAAE,EAAE;gBACnD,IAAI,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;oBAClC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBAC/B;qBAAM,IAAI,mCAAmC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;oBAClE,OAAO,aAAa,CAAC;iBACtB;qBAAM;oBACL,OAAO,wBAAwB,CAAC;iBACjC;aACF;iBAAM,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;gBAC3D,OAAO,aAAa,CAAC,QAAQ,EAAE,CAAC;aACjC;SACF;QAED,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC5C,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAEhD,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;QAClD,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,MAAM,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,yHAAyH;IACzH,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAE/D,IAAI,wBAAwB,KAAK,qBAAqB,EAAE;YACtD,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;SACzC;QACD,uDAAuD;IACzD,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,iGAAiG;IACjG,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,wBAAwB,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;QAEzE,IAAI,wBAAwB,KAAK,wBAAwB,EAAE;YACzD,2BAA2B,CAAC,wBAAwB,CAAC,CAAC;SACvD;QACD,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,oBAAC,SAAS,IACR,YAAY,EAAC,SAAS,EACtB,KAAK,EAAE,wBAAwB,EAC/B,YAAY,EAAE,gBAAgB,KAC1B,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"NumberInput.js","sourceRoot":"","sources":["NumberInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAQnD,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAClC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACvD,MAAM,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,GAC3D,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEf,MAAM,yBAAyB,GAAG,CAAC,aAA+B,EAAE,EAAE;QACpE,IAAI,aAAa,IAAI,IAAI,EAAE;YACzB,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,KAAK,EAAE,EAAE;gBACnD,IAAI,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;oBAClC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBAC/B;qBAAM,IAAI,mCAAmC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;oBAClE,OAAO,aAAa,CAAC;iBACtB;qBAAM;oBACL,OAAO,wBAAwB,CAAC;iBACjC;aACF;iBAAM,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;gBAC3D,OAAO,aAAa,CAAC,QAAQ,EAAE,CAAC;aACjC;SACF;QAED,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAE,EAAE;QAC5C,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAEhD,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;QAClD,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,MAAM,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,yHAAyH;IACzH,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAE/D,IAAI,wBAAwB,KAAK,qBAAqB,EAAE;YACtD,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;SACzC;QACD,uDAAuD;IACzD,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,iGAAiG;IACjG,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,wBAAwB,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;QAEzE,IAAI,wBAAwB,KAAK,wBAAwB,EAAE;YACzD,2BAA2B,CAAC,wBAAwB,CAAC,CAAC;SACvD;QACD,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,oBAAC,SAAS,IACR,GAAG,EAAE,GAAG,EACR,YAAY,EAAC,SAAS,EACtB,KAAK,EAAE,wBAAwB,EAC/B,YAAY,EAAE,gBAAgB,KAC1B,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,4 +1,4 @@
1
- import React, { FC, useEffect, useState } from "react";
1
+ import React, { useEffect, useState } from "react";
2
2
  import { TextInput } from "react-native";
3
3
  import { isString, isNumber, isNaN } from "lodash";
4
4
 
@@ -8,68 +8,67 @@ interface Props {
8
8
  onChangeText?: (value?: number) => void;
9
9
  }
10
10
 
11
- const NumberInput: FC<Props> = ({
12
- onChangeText,
13
- value,
14
- defaultValue,
15
- ...props
16
- }) => {
17
- const [currentStringNumberValue, setCurrentStringNumberValue] = useState("");
11
+ const NumberInput = React.forwardRef<TextInput, Props>(
12
+ ({ onChangeText, value, defaultValue, ...props }, ref) => {
13
+ const [currentStringNumberValue, setCurrentStringNumberValue] =
14
+ useState("");
18
15
 
19
- const formatValueToStringNumber = (valueToFormat?: number | string) => {
20
- if (valueToFormat != null) {
21
- if (isString(valueToFormat) && valueToFormat !== "") {
22
- if (/^0[1-9]$/.test(valueToFormat)) {
23
- return valueToFormat.slice(1);
24
- } else if (/^[+-]?([0-9]+\.?[0-9]*|\.[0-9]+)$/.test(valueToFormat)) {
25
- return valueToFormat;
26
- } else {
27
- return currentStringNumberValue;
16
+ const formatValueToStringNumber = (valueToFormat?: number | string) => {
17
+ if (valueToFormat != null) {
18
+ if (isString(valueToFormat) && valueToFormat !== "") {
19
+ if (/^0[1-9]$/.test(valueToFormat)) {
20
+ return valueToFormat.slice(1);
21
+ } else if (/^[+-]?([0-9]+\.?[0-9]*|\.[0-9]+)$/.test(valueToFormat)) {
22
+ return valueToFormat;
23
+ } else {
24
+ return currentStringNumberValue;
25
+ }
26
+ } else if (isNumber(valueToFormat) && !isNaN(valueToFormat)) {
27
+ return valueToFormat.toString();
28
28
  }
29
- } else if (isNumber(valueToFormat) && !isNaN(valueToFormat)) {
30
- return valueToFormat.toString();
31
29
  }
32
- }
33
30
 
34
- return "";
35
- };
31
+ return "";
32
+ };
36
33
 
37
- const handleChangeText = (newValue: string) => {
38
- const newStringNumberValue = formatValueToStringNumber(newValue);
39
- const number = parseFloat(newStringNumberValue);
34
+ const handleChangeText = (newValue: string) => {
35
+ const newStringNumberValue = formatValueToStringNumber(newValue);
36
+ const number = parseFloat(newStringNumberValue);
40
37
 
41
- setCurrentStringNumberValue(newStringNumberValue);
42
- onChangeText?.(number);
43
- };
38
+ setCurrentStringNumberValue(newStringNumberValue);
39
+ onChangeText?.(number);
40
+ };
44
41
 
45
- // run handleChangeText with value prop only when value prop changes (and first render to reset currentStringNumberValue)
46
- useEffect(() => {
47
- const nextStringNumberValue = formatValueToStringNumber(value);
42
+ // run handleChangeText with value prop only when value prop changes (and first render to reset currentStringNumberValue)
43
+ useEffect(() => {
44
+ const nextStringNumberValue = formatValueToStringNumber(value);
48
45
 
49
- if (currentStringNumberValue !== nextStringNumberValue) {
50
- handleChangeText(nextStringNumberValue);
51
- }
52
- // eslint-disable-next-line react-hooks/exhaustive-deps
53
- }, [value]);
46
+ if (currentStringNumberValue !== nextStringNumberValue) {
47
+ handleChangeText(nextStringNumberValue);
48
+ }
49
+ // eslint-disable-next-line react-hooks/exhaustive-deps
50
+ }, [value]);
54
51
 
55
- // set currentStringNumberValue as defaultValue prop if there is a differnce on first render only
56
- useEffect(() => {
57
- const defaultStringNumberValue = formatValueToStringNumber(defaultValue);
52
+ // set currentStringNumberValue as defaultValue prop if there is a differnce on first render only
53
+ useEffect(() => {
54
+ const defaultStringNumberValue = formatValueToStringNumber(defaultValue);
58
55
 
59
- if (currentStringNumberValue !== defaultStringNumberValue) {
60
- setCurrentStringNumberValue(defaultStringNumberValue);
61
- }
62
- // eslint-disable-next-line react-hooks/exhaustive-deps
63
- }, []);
56
+ if (currentStringNumberValue !== defaultStringNumberValue) {
57
+ setCurrentStringNumberValue(defaultStringNumberValue);
58
+ }
59
+ // eslint-disable-next-line react-hooks/exhaustive-deps
60
+ }, []);
64
61
 
65
- return (
66
- <TextInput
67
- keyboardType="numeric"
68
- value={currentStringNumberValue}
69
- onChangeText={handleChangeText}
70
- {...props}
71
- />
72
- );
73
- };
62
+ return (
63
+ <TextInput
64
+ ref={ref}
65
+ keyboardType="numeric"
66
+ value={currentStringNumberValue}
67
+ onChangeText={handleChangeText}
68
+ {...props}
69
+ />
70
+ );
71
+ }
72
+ );
74
73
 
75
74
  export default NumberInput;
@@ -1,5 +1,4 @@
1
1
  export { default as RadioButton } from "./RadioButton";
2
2
  export { default as RadioButtonGroup } from "./RadioButtonGroup";
3
3
  export { default as RadioButtonRow } from "./RadioButtonRow";
4
- export { default as RadioButtonFieldGroup } from "./RadioButtonFieldGroup";
5
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,4 +1,3 @@
1
1
  export { default as RadioButton } from "./RadioButton";
2
2
  export { default as RadioButtonGroup } from "./RadioButtonGroup";
3
3
  export { default as RadioButtonRow } from "./RadioButtonRow";
4
- export { default as RadioButtonFieldGroup } from "./RadioButtonFieldGroup";
@@ -1,10 +1,11 @@
1
1
  import React from "react";
2
2
  import { View } from "react-native";
3
3
  import SwiperComponent from "react-native-web-swiper";
4
- const Swiper = ({ vertical = false, loop = false, timeout = 0, from = 0, prevTitle = "", nextTitle = "", prevTitleColor, nextTitleColor, dotsTouchable = true, dotColor, dotActiveColor, data, keyExtractor, renderItem, children, onIndexChanged: onIndexChangedProp, onSwipe, onSwipedNext, onSwipedPrevious, style, }) => {
4
+ const Swiper = ({ vertical = false, loop = false, timeout = 0, from = 0, prevTitle = "", nextTitle = "", prevTitleColor, nextTitleColor, dotsTouchable = true, dotColor, dotActiveColor, data, keyExtractor, renderItem, children: childrenProp, onIndexChanged: onIndexChangedProp, onSwipe, onSwipedNext, onSwipedPrevious, style, }) => {
5
5
  var _a;
6
6
  const [currentIndex, setCurrentIndex] = React.useState(0);
7
- const numberOfItems = (_a = data === null || data === void 0 ? void 0 : data.length) !== null && _a !== void 0 ? _a : React.Children.count(children);
7
+ const numberOfItems = (_a = data === null || data === void 0 ? void 0 : data.length) !== null && _a !== void 0 ? _a : React.Children.count(childrenProp);
8
+ const swiperRef = React.useRef(null);
8
9
  const onIndexChanged = (index) => {
9
10
  const previous = currentIndex;
10
11
  const current = index;
@@ -26,8 +27,36 @@ const Swiper = ({ vertical = false, loop = false, timeout = 0, from = 0, prevTit
26
27
  }
27
28
  onSwipe === null || onSwipe === void 0 ? void 0 : onSwipe(previous);
28
29
  };
30
+ const children = React.useMemo(() => data && renderItem
31
+ ? data.map((item, index) => {
32
+ const component = renderItem({ item, index });
33
+ if (!component) {
34
+ return null;
35
+ }
36
+ const key = keyExtractor ? keyExtractor(item, index) : index;
37
+ return React.cloneElement(component, {
38
+ key,
39
+ });
40
+ })
41
+ : childrenProp, [childrenProp, data, renderItem, keyExtractor]);
42
+ /*
43
+ react-native-web-swiper assigns it's 'children' attribute as follows: `children = (() => React.Children.toArray(this.props.children))();`
44
+ This is probelematic when state is involved due to anoynmous function effectivley creating new components everytime, losing any state
45
+
46
+ This is a monkey patch that updates the 'children' attribute to just use the children from the props
47
+ Can be removed when/if https://github.com/reactrondev/react-native-web-swiper/pull/102 is merged
48
+ */
49
+ React.useEffect(() => {
50
+ var _a, _b;
51
+ const childrenArray = React.Children.toArray((_b = (_a = swiperRef.current) === null || _a === void 0 ? void 0 : _a.props) === null || _b === void 0 ? void 0 : _b.children);
52
+ if (swiperRef.current) {
53
+ swiperRef.current.children = childrenArray;
54
+ swiperRef.current.count = childrenArray.length;
55
+ swiperRef.current.forceUpdate();
56
+ }
57
+ }, [children]);
29
58
  return (React.createElement(View, { style: style },
30
- React.createElement(SwiperComponent, { from: from, loop: loop, timeout: timeout, vertical: vertical, onIndexChanged: onIndexChanged, controlsProps: {
59
+ React.createElement(SwiperComponent, { ref: swiperRef, from: from, loop: loop, timeout: timeout, vertical: vertical, onIndexChanged: onIndexChanged, controlsProps: {
31
60
  prevTitle,
32
61
  nextTitle,
33
62
  prevTitleStyle: { color: prevTitleColor },
@@ -39,18 +68,7 @@ const Swiper = ({ vertical = false, loop = false, timeout = 0, from = 0, prevTit
39
68
  ...(dotActiveColor
40
69
  ? { dotActiveStyle: { backgroundColor: dotActiveColor } }
41
70
  : {}),
42
- } }, data && renderItem
43
- ? data.map((item, index) => {
44
- const component = renderItem({ item, index });
45
- if (!component) {
46
- return null;
47
- }
48
- const key = keyExtractor ? keyExtractor(item, index) : index;
49
- return React.cloneElement(component, {
50
- key,
51
- });
52
- })
53
- : children)));
71
+ } }, children)));
54
72
  };
55
73
  export default Swiper;
56
74
  //# sourceMappingURL=Swiper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Swiper.js","sourceRoot":"","sources":["Swiper.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Swiper.js","sourceRoot":"","sources":["Swiper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAwB,MAAM,cAAc,CAAC;AAC1D,OAAO,eAAe,MAAM,yBAAyB,CAAC;AAyBtD,MAAM,MAAM,GAAG,CAAC,EACd,QAAQ,GAAG,KAAK,EAChB,IAAI,GAAG,KAAK,EACZ,OAAO,GAAG,CAAC,EACX,IAAI,GAAG,CAAC,EACR,SAAS,GAAG,EAAE,EACd,SAAS,GAAG,EAAE,EACd,cAAc,EACd,cAAc,EACd,aAAa,GAAG,IAAI,EACpB,QAAQ,EACR,cAAc,EACd,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,QAAQ,EAAE,YAAY,EACtB,cAAc,EAAE,kBAAkB,EAClC,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,KAAK,GACY,EAAE,EAAE;;IACrB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAM,IAAI,CAAC,CAAC;IAE1C,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,EAAE;QACvC,MAAM,QAAQ,GAAG,YAAY,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC;QAEtB,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAG,KAAK,CAAC,CAAC;QAC5B,eAAe,CAAC,KAAK,CAAC,CAAC;QAEvB,IAAI,QAAQ,KAAK,aAAa,GAAG,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE;YACnD,qBAAqB;YACrB,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,QAAQ,CAAC,CAAC;SAC1B;aAAM,IAAI,QAAQ,KAAK,CAAC,IAAI,OAAO,KAAK,aAAa,GAAG,CAAC,EAAE;YAC1D,qBAAqB;YACrB,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,QAAQ,CAAC,CAAC;SAC9B;aAAM,IAAI,OAAO,GAAG,QAAQ,EAAE;YAC7B,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,QAAQ,CAAC,CAAC;SAC1B;aAAM,IAAI,OAAO,GAAG,QAAQ,EAAE;YAC7B,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,QAAQ,CAAC,CAAC;SAC9B;QACD,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,QAAQ,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAoB,KAAK,CAAC,OAAO,CAC7C,GAAG,EAAE,CACH,IAAI,IAAI,UAAU;QAChB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,SAAS,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAE9C,IAAI,CAAC,SAAS,EAAE;gBACd,OAAO,IAAI,CAAC;aACb;YAED,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7D,OAAO,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE;gBACnC,GAAG;aACJ,CAAC,CAAC;QACL,CAAC,CAAC;QACJ,CAAC,CAAC,YAAY,EAClB,CAAC,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAC/C,CAAC;IAEF;;;;;;MAME;IACF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;;QACnB,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAC1C,MAAA,MAAA,SAAS,CAAC,OAAO,0CAAE,KAAK,0CAAE,QAAQ,CACnC,CAAC;QACF,IAAI,SAAS,CAAC,OAAO,EAAE;YACrB,SAAS,CAAC,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC;YAC3C,SAAS,CAAC,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC;YAC/C,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;SACjC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,CACL,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK;QAEhB,oBAAC,eAAe,IACd,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE;gBACb,SAAS;gBACT,SAAS;gBACT,cAAc,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE;gBACzC,cAAc,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE;gBACzC,aAAa;gBACb,GAAG,CAAC,QAAQ;oBACV,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAE;oBAC7D,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,cAAc;oBAChB,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE;oBACzD,CAAC,CAAC,EAAE,CAAC;aACR,IAEA,QAAQ,CACO,CACb,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -40,7 +40,7 @@ const Swiper = ({
40
40
  data,
41
41
  keyExtractor,
42
42
  renderItem,
43
- children,
43
+ children: childrenProp,
44
44
  onIndexChanged: onIndexChangedProp,
45
45
  onSwipe,
46
46
  onSwipedNext,
@@ -48,7 +48,8 @@ const Swiper = ({
48
48
  style,
49
49
  }: SwiperProps<any>) => {
50
50
  const [currentIndex, setCurrentIndex] = React.useState(0);
51
- const numberOfItems = data?.length ?? React.Children.count(children);
51
+ const numberOfItems = data?.length ?? React.Children.count(childrenProp);
52
+ const swiperRef = React.useRef<any>(null);
52
53
 
53
54
  const onIndexChanged = (index: number) => {
54
55
  const previous = currentIndex;
@@ -71,10 +72,48 @@ const Swiper = ({
71
72
  onSwipe?.(previous);
72
73
  };
73
74
 
75
+ const children: React.ReactNode = React.useMemo(
76
+ () =>
77
+ data && renderItem
78
+ ? data.map((item, index) => {
79
+ const component = renderItem({ item, index });
80
+
81
+ if (!component) {
82
+ return null;
83
+ }
84
+
85
+ const key = keyExtractor ? keyExtractor(item, index) : index;
86
+ return React.cloneElement(component, {
87
+ key,
88
+ });
89
+ })
90
+ : childrenProp,
91
+ [childrenProp, data, renderItem, keyExtractor]
92
+ );
93
+
94
+ /*
95
+ react-native-web-swiper assigns it's 'children' attribute as follows: `children = (() => React.Children.toArray(this.props.children))();`
96
+ This is probelematic when state is involved due to anoynmous function effectivley creating new components everytime, losing any state
97
+
98
+ This is a monkey patch that updates the 'children' attribute to just use the children from the props
99
+ Can be removed when/if https://github.com/reactrondev/react-native-web-swiper/pull/102 is merged
100
+ */
101
+ React.useEffect(() => {
102
+ const childrenArray = React.Children.toArray(
103
+ swiperRef.current?.props?.children
104
+ );
105
+ if (swiperRef.current) {
106
+ swiperRef.current.children = childrenArray;
107
+ swiperRef.current.count = childrenArray.length;
108
+ swiperRef.current.forceUpdate();
109
+ }
110
+ }, [children]);
111
+
74
112
  return (
75
113
  <View style={style}>
76
114
  {/* @ts-ignore */}
77
115
  <SwiperComponent
116
+ ref={swiperRef}
78
117
  from={from}
79
118
  loop={loop}
80
119
  timeout={timeout}
@@ -94,20 +133,7 @@ const Swiper = ({
94
133
  : {}),
95
134
  }}
96
135
  >
97
- {data && renderItem
98
- ? data.map((item, index) => {
99
- const component = renderItem({ item, index });
100
-
101
- if (!component) {
102
- return null;
103
- }
104
-
105
- const key = keyExtractor ? keyExtractor(item, index) : index;
106
- return React.cloneElement(component, {
107
- key,
108
- });
109
- })
110
- : children}
136
+ {children}
111
137
  </SwiperComponent>
112
138
  </View>
113
139
  );