react-native-ui-lib 7.46.2-snapshot.7314 → 7.46.2-snapshot.7316

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 (199) hide show
  1. package/babel.config.js +0 -12
  2. package/index.js +0 -1
  3. package/lib/android/build.gradle +5 -5
  4. package/lib/android/src/main/java/com/wix/reactnativeuilib/UiLibPackageList.java +2 -0
  5. package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/HighlighterViewManager.java +23 -31
  6. package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/ReactHacks.java +30 -0
  7. package/lib/android/src/main/java/com/wix/reactnativeuilib/highlighterview/ReflectionUtils.java +34 -0
  8. package/lib/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/utils/RuntimeUtils.java +1 -1
  9. package/lib/android/src/main/java/com/wix/reactnativeuilib/textinput/DefaultKeyListener.java +33 -0
  10. package/lib/android/src/main/java/com/wix/reactnativeuilib/textinput/KeyListenerProxy.java +53 -0
  11. package/lib/android/src/main/java/com/wix/reactnativeuilib/textinput/TextInputDelKeyHandlerModule.java +54 -0
  12. package/lib/android/src/main/java/com/wix/reactnativeuilib/textinput/TextInputDelKeyHandlerPackage.java +28 -0
  13. package/lib/android/src/main/java/com/wix/reactnativeuilib/textinput/ViewUtils.java +36 -0
  14. package/lib/components/{HighlighterOverlayView/index.d.ts → HighlighterOverlayView.d.ts} +1 -1
  15. package/lib/components/HighlighterOverlayView.js +40 -0
  16. package/lib/components/{HighlighterOverlayView/index.web.d.ts → HighlighterOverlayView.web.d.ts} +1 -1
  17. package/lib/components/Keyboard/{KeyboardAccessoryView → KeyboardInput}/CustomKeyboardView/CustomKeyboardView.android.d.ts +2 -5
  18. package/lib/components/Keyboard/KeyboardInput/CustomKeyboardView/CustomKeyboardView.android.js +28 -0
  19. package/lib/components/Keyboard/{KeyboardAccessoryView → KeyboardInput}/CustomKeyboardView/CustomKeyboardView.ios.d.ts +1 -1
  20. package/lib/components/Keyboard/{KeyboardAccessoryView → KeyboardInput}/CustomKeyboardView/CustomKeyboardView.ios.js +3 -3
  21. package/lib/components/Keyboard/{KeyboardAccessoryView/CustomKeyboardView → KeyboardInput}/CustomKeyboardViewBase.d.ts +0 -3
  22. package/lib/components/Keyboard/{KeyboardAccessoryView/CustomKeyboardView → KeyboardInput}/CustomKeyboardViewBase.js +1 -1
  23. package/lib/components/Keyboard/{KeyboardAccessoryView/index.d.ts → KeyboardInput/KeyboardAccessoryView.d.ts} +1 -11
  24. package/lib/components/Keyboard/{KeyboardAccessoryView/index.js → KeyboardInput/KeyboardAccessoryView.js} +5 -31
  25. package/lib/components/Keyboard/{KeyboardAccessoryView/KeyboardRegistry/index.d.ts → KeyboardInput/KeyboardRegistry.d.ts} +1 -1
  26. package/lib/components/Keyboard/{KeyboardAccessoryView/KeyboardRegistry/index.js → KeyboardInput/KeyboardRegistry.js} +1 -1
  27. package/lib/components/Keyboard/{KeyboardAccessoryView/KeyboardRegistry → KeyboardInput}/__tests__/KeyboardRegistry.spec.js +1 -1
  28. package/lib/components/Keyboard/{KeyboardAccessoryView → KeyboardInput}/keyboardAccessoryView.api.json +5 -5
  29. package/lib/components/Keyboard/{KeyboardAccessoryView/KeyboardRegistry → KeyboardInput}/keyboardRegistry.api.json +9 -9
  30. package/lib/components/Keyboard/KeyboardInput/utils/KeyboardUtils.d.ts +11 -0
  31. package/lib/components/Keyboard/KeyboardInput/utils/KeyboardUtils.js +17 -0
  32. package/lib/components/Keyboard/{KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager → KeyboardInput/utils}/__tests__/EventEmitterManager.spec.js +1 -1
  33. package/lib/components/Keyboard/{KeyboardAwareInsetsView/index.d.ts → KeyboardTracking/KeyboardAwareInsetsView.d.ts} +1 -1
  34. package/lib/components/Keyboard/{KeyboardAwareInsetsView/index.js → KeyboardTracking/KeyboardAwareInsetsView.js} +1 -1
  35. package/lib/components/Keyboard/{KeyboardTrackingView → KeyboardTracking/KeyboardTrackingView}/KeyboardTrackingView.ios.d.ts +4 -1
  36. package/lib/components/Keyboard/{KeyboardTrackingView → KeyboardTracking/KeyboardTrackingView}/KeyboardTrackingView.ios.js +8 -5
  37. package/lib/components/Keyboard/{KeyboardTrackingView → KeyboardTracking/KeyboardTrackingView}/index.d.ts +2 -2
  38. package/lib/components/Keyboard/{KeyboardTrackingView → KeyboardTracking/KeyboardTrackingView}/keyboardTrackingView.api.json +20 -11
  39. package/lib/components/Keyboard/index.d.ts +6 -6
  40. package/lib/components/Keyboard/index.js +6 -6
  41. package/lib/components/SafeArea/SafeAreaInsetsManager.d.ts +7 -21
  42. package/lib/components/SafeArea/SafeAreaInsetsManager.js +31 -95
  43. package/lib/components/SafeArea/SafeAreaSpacerView.d.ts +2 -2
  44. package/lib/components/SafeArea/SafeAreaSpacerView.js +9 -63
  45. package/lib/components/index.d.ts +1 -1
  46. package/lib/components/index.js +1 -1
  47. package/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomInputControllerTemp.m +8 -52
  48. package/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.h +7 -1
  49. package/lib/ios/reactnativeuilib/keyboardinput/rctcustomInputcontroller/RCTCustomKeyboardViewControllerTemp.m +1 -1
  50. package/lib/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.m +41 -109
  51. package/lib/package.json +1 -1
  52. package/lib/react-native.config.js +3 -1
  53. package/metro.config.js +2 -2
  54. package/package.json +24 -24
  55. package/panningViews.d.ts +2 -0
  56. package/panningViews.js +1 -0
  57. package/react-native.config.js +3 -1
  58. package/sharedTransition.d.ts +2 -0
  59. package/sharedTransition.js +1 -0
  60. package/src/commons/Constants.js +5 -2
  61. package/src/components/KeyboardAwareScrollView/KeyboardAwareBase.js +1 -5
  62. package/src/components/actionSheet/index.d.ts +12 -2
  63. package/src/components/actionSheet/index.js +42 -3
  64. package/src/components/badge/index.d.ts +47 -107
  65. package/src/components/button/button.api.json +6 -1
  66. package/src/components/button/index.d.ts +31 -53
  67. package/src/components/button/index.js +18 -1
  68. package/src/components/button/types.d.ts +5 -0
  69. package/src/components/colorPicker/ColorPickerDialog.d.ts +1 -1
  70. package/src/components/colorPicker/ColorPickerDialog.js +1 -1
  71. package/src/components/dateTimePicker/index.d.ts +5 -186
  72. package/src/components/dateTimePicker/index.js +4 -3
  73. package/src/components/dialog/DialogDismissibleView.d.ts +34 -0
  74. package/src/components/dialog/DialogDismissibleView.js +184 -0
  75. package/src/components/dialog/OverlayFadingBackground.d.ts +14 -0
  76. package/src/components/dialog/OverlayFadingBackground.js +45 -0
  77. package/src/components/dialog/dialog.api.json +37 -31
  78. package/src/components/dialog/index.d.ts +105 -13
  79. package/src/components/dialog/index.js +212 -204
  80. package/src/components/drawer/Swipeable.js +2 -1
  81. package/src/components/drawer/index.js +25 -31
  82. package/src/components/fadedScrollView/index.js +2 -7
  83. package/src/components/featureHighlight/index.d.ts +1 -1
  84. package/src/components/index.js +19 -0
  85. package/src/components/modal/index.d.ts +0 -5
  86. package/src/components/modal/index.js +10 -14
  87. package/src/components/modal/modal.api.json +0 -5
  88. package/src/components/panningViews/asPanViewConsumer.d.ts +3 -0
  89. package/src/components/panningViews/asPanViewConsumer.js +16 -0
  90. package/src/components/panningViews/panDismissibleView.d.ts +51 -0
  91. package/src/components/panningViews/panDismissibleView.js +350 -0
  92. package/src/components/panningViews/panGestureView.d.ts +23 -0
  93. package/src/components/panningViews/panGestureView.js +156 -0
  94. package/src/components/panningViews/panListenerView.d.ts +66 -0
  95. package/src/components/panningViews/panListenerView.js +155 -0
  96. package/src/components/panningViews/panResponderView.d.ts +19 -0
  97. package/src/components/panningViews/panResponderView.js +79 -0
  98. package/src/components/panningViews/panningContext.d.ts +3 -0
  99. package/src/components/panningViews/panningContext.js +4 -0
  100. package/src/components/panningViews/panningProvider.d.ts +73 -0
  101. package/src/components/panningViews/panningProvider.js +101 -0
  102. package/src/components/picker/Picker.driver.new.d.ts +2 -2
  103. package/src/components/picker/Picker.driver.new.js +3 -3
  104. package/src/components/picker/PickerItem.js +20 -6
  105. package/src/components/picker/PickerPresenter.d.ts +1 -0
  106. package/src/components/picker/PickerPresenter.js +23 -1
  107. package/src/components/picker/api/picker.api.json +1 -0
  108. package/src/components/picker/api/pickerItem.api.json +5 -0
  109. package/src/components/picker/helpers/useFieldType.d.ts +23 -53
  110. package/src/components/picker/helpers/usePickerLabel.d.ts +1 -1
  111. package/src/components/picker/helpers/usePickerLabel.js +3 -2
  112. package/src/components/picker/helpers/usePickerMigrationWarnings.d.ts +1 -1
  113. package/src/components/picker/helpers/usePickerMigrationWarnings.js +12 -0
  114. package/src/components/picker/helpers/usePickerSearch.d.ts +1 -1
  115. package/src/components/picker/helpers/usePickerSearch.js +8 -4
  116. package/src/components/picker/helpers/usePickerSelection.d.ts +1 -1
  117. package/src/components/picker/helpers/usePickerSelection.js +10 -2
  118. package/src/components/picker/index.js +22 -4
  119. package/src/components/picker/types.d.ts +24 -1
  120. package/src/components/segmentedControl/index.js +3 -3
  121. package/src/components/sharedTransition/ShareTransitionContext.js +3 -0
  122. package/src/components/sharedTransition/SharedArea.js +153 -0
  123. package/src/components/sharedTransition/SourceElement.js +44 -0
  124. package/src/components/sharedTransition/TargetElement.js +38 -0
  125. package/src/components/sharedTransition/index.js +9 -0
  126. package/src/components/slider/GradientSlider.d.ts +1 -1
  127. package/src/components/sortableGridList/SortableItem.js +4 -13
  128. package/src/components/sortableList/SortableListItem.js +4 -13
  129. package/src/components/stackAggregator/index.js +11 -16
  130. package/src/components/text/Text.driver.new.d.ts +2 -2
  131. package/src/components/text/Text.driver.new.js +2 -2
  132. package/src/components/textField/Input.js +1 -0
  133. package/src/components/textField/TextField.driver.new.d.ts +2 -2
  134. package/src/components/textField/TextField.driver.new.js +2 -2
  135. package/src/components/textField/presets/outline.d.ts +46 -106
  136. package/src/components/textField/presets/underline.d.ts +46 -106
  137. package/src/components/textField/usePreset.d.ts +44 -72
  138. package/src/incubator/dialog/dialog.api.json +54 -0
  139. package/src/{components → incubator}/dialog/dialogHeader.api.json +2 -2
  140. package/src/incubator/dialog/index.d.ts +15 -0
  141. package/src/incubator/dialog/index.js +218 -0
  142. package/src/{components → incubator}/dialog/types.d.ts +19 -0
  143. package/src/{components → incubator}/dialog/types.js +3 -1
  144. package/src/{components → incubator}/dialog/useDialogContent.d.ts +1 -1
  145. package/src/incubator/expandableOverlay/ExpandableOverlay.driver.js +1 -1
  146. package/src/incubator/expandableOverlay/index.d.ts +3 -42
  147. package/src/incubator/expandableOverlay/index.js +4 -1
  148. package/src/{hooks/useHiddenLocation/index.d.ts → incubator/hooks/useHiddenLocation.d.ts} +1 -1
  149. package/src/{hooks/useHiddenLocation/index.web.d.ts → incubator/hooks/useHiddenLocation.web.d.ts} +1 -1
  150. package/src/incubator/index.d.ts +2 -0
  151. package/src/incubator/index.js +2 -0
  152. package/src/{components → incubator}/panView/index.d.ts +3 -3
  153. package/src/{components → incubator}/panView/index.js +4 -4
  154. package/src/{components → incubator}/panView/usePanGesture.d.ts +1 -1
  155. package/src/incubator/toast/index.js +1 -1
  156. package/src/index.d.ts +10 -3
  157. package/src/index.js +160 -41
  158. package/src/testkit/index.d.ts +1 -1
  159. package/src/testkit/index.js +1 -1
  160. package/src/testkit/new/Component.driver.d.ts +1 -4
  161. package/src/testkit/new/Component.driver.js +3 -3
  162. package/lib/components/HighlighterOverlayView/index.js +0 -49
  163. package/lib/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.android.js +0 -51
  164. package/lib/components/Keyboard/KeyboardAccessoryView/KeyboardUtils/index.d.ts +0 -26
  165. package/lib/components/Keyboard/KeyboardAccessoryView/KeyboardUtils/index.js +0 -91
  166. package/lib/components/SafeArea/__tests__/SafeAreaInsetsManager.spec.js +0 -274
  167. package/lib/components/SafeArea/index.d.ts +0 -10
  168. package/lib/components/SafeArea/index.js +0 -11
  169. package/panView.d.ts +0 -2
  170. package/panView.js +0 -1
  171. /package/lib/components/{HighlighterOverlayView/index.web.js → HighlighterOverlayView.web.js} +0 -0
  172. /package/lib/components/Keyboard/{KeyboardAccessoryView → KeyboardInput}/CustomKeyboardView/index.d.ts +0 -0
  173. /package/lib/components/Keyboard/{KeyboardAccessoryView → KeyboardInput}/CustomKeyboardView/index.js +0 -0
  174. /package/lib/components/Keyboard/{KeyboardAccessoryView → KeyboardInput}/CustomKeyboardView/index.web.d.ts +0 -0
  175. /package/lib/components/Keyboard/{KeyboardAccessoryView → KeyboardInput}/CustomKeyboardView/index.web.js +0 -0
  176. /package/lib/components/Keyboard/{KeyboardAccessoryView → KeyboardInput}/TextInputKeyboardManager/TextInputKeyboardManager.android.d.ts +0 -0
  177. /package/lib/components/Keyboard/{KeyboardAccessoryView → KeyboardInput}/TextInputKeyboardManager/TextInputKeyboardManager.android.js +0 -0
  178. /package/lib/components/Keyboard/{KeyboardAccessoryView → KeyboardInput}/TextInputKeyboardManager/TextInputKeyboardManager.ios.d.ts +0 -0
  179. /package/lib/components/Keyboard/{KeyboardAccessoryView → KeyboardInput}/TextInputKeyboardManager/TextInputKeyboardManager.ios.js +0 -0
  180. /package/lib/components/Keyboard/{KeyboardAccessoryView → KeyboardInput}/TextInputKeyboardManager/index.d.ts +0 -0
  181. /package/lib/components/Keyboard/{KeyboardAccessoryView → KeyboardInput}/TextInputKeyboardManager/index.js +0 -0
  182. /package/lib/components/Keyboard/{KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/index.d.ts → KeyboardInput/utils/EventEmitterManager.d.ts} +0 -0
  183. /package/lib/components/Keyboard/{KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/index.js → KeyboardInput/utils/EventEmitterManager.js} +0 -0
  184. /package/lib/components/Keyboard/{KeyboardTrackingView → KeyboardTracking/KeyboardTrackingView}/KeyboardTrackingView.android.d.ts +0 -0
  185. /package/lib/components/Keyboard/{KeyboardTrackingView → KeyboardTracking/KeyboardTrackingView}/KeyboardTrackingView.android.js +0 -0
  186. /package/lib/components/Keyboard/{KeyboardTrackingView → KeyboardTracking/KeyboardTrackingView}/index.js +0 -0
  187. /package/lib/components/Keyboard/{KeyboardTrackingView → KeyboardTracking/KeyboardTrackingView}/index.web.d.ts +0 -0
  188. /package/lib/components/Keyboard/{KeyboardTrackingView → KeyboardTracking/KeyboardTrackingView}/index.web.js +0 -0
  189. /package/lib/components/Keyboard/{KeyboardAwareInsetsView → KeyboardTracking}/keyboardAwareInsetsView.api.json +0 -0
  190. /package/src/{components → incubator}/dialog/Dialog.driver.new.d.ts +0 -0
  191. /package/src/{components → incubator}/dialog/Dialog.driver.new.js +0 -0
  192. /package/src/{components → incubator}/dialog/DialogHeader.d.ts +0 -0
  193. /package/src/{components → incubator}/dialog/DialogHeader.js +0 -0
  194. /package/src/{components → incubator}/dialog/useDialogContent.js +0 -0
  195. /package/src/{hooks/useHiddenLocation/index.js → incubator/hooks/useHiddenLocation.js} +0 -0
  196. /package/src/{hooks/useHiddenLocation/index.web.js → incubator/hooks/useHiddenLocation.web.js} +0 -0
  197. /package/src/{components → incubator}/panView/panningUtil.d.ts +0 -0
  198. /package/src/{components → incubator}/panView/panningUtil.js +0 -0
  199. /package/src/{components → incubator}/panView/usePanGesture.js +0 -0
@@ -39,7 +39,7 @@ declare class Button extends PureComponent<Props, ButtonState> {
39
39
  fontFamily?: string | undefined;
40
40
  fontSize?: number | undefined;
41
41
  fontStyle?: "normal" | "italic" | undefined;
42
- fontWeight?: "black" | 900 | 600 | "light" | 100 | "normal" | "bold" | "100" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | 200 | 300 | 400 | 500 | 700 | 800 | "ultralight" | "thin" | "medium" | "regular" | "semibold" | "condensedBold" | "condensed" | "heavy" | undefined;
42
+ fontWeight?: "normal" | "bold" | "100" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | undefined;
43
43
  letterSpacing?: number | undefined;
44
44
  lineHeight?: number | undefined;
45
45
  textAlign?: "auto" | "left" | "right" | "center" | "justify" | undefined;
@@ -62,41 +62,31 @@ declare class Button extends PureComponent<Props, ButtonState> {
62
62
  borderBlockEndColor?: import("react-native").ColorValue | undefined;
63
63
  borderBlockStartColor?: import("react-native").ColorValue | undefined;
64
64
  borderBottomColor?: import("react-native").ColorValue | undefined;
65
- borderBottomEndRadius?: string | import("react-native").AnimatableNumericValue | undefined;
66
- borderBottomLeftRadius?: string | import("react-native").AnimatableNumericValue | undefined;
67
- borderBottomRightRadius?: string | import("react-native").AnimatableNumericValue | undefined;
68
- borderBottomStartRadius?: string | import("react-native").AnimatableNumericValue | undefined;
65
+ borderBottomEndRadius?: import("react-native").AnimatableNumericValue | undefined;
66
+ borderBottomLeftRadius?: import("react-native").AnimatableNumericValue | undefined;
67
+ borderBottomRightRadius?: import("react-native").AnimatableNumericValue | undefined;
68
+ borderBottomStartRadius?: import("react-native").AnimatableNumericValue | undefined;
69
69
  borderColor?: import("react-native").ColorValue | undefined;
70
70
  borderCurve?: "circular" | "continuous" | undefined;
71
71
  borderEndColor?: import("react-native").ColorValue | undefined;
72
- borderEndEndRadius?: string | import("react-native").AnimatableNumericValue | undefined;
73
- borderEndStartRadius?: string | import("react-native").AnimatableNumericValue | undefined;
72
+ borderEndEndRadius?: import("react-native").AnimatableNumericValue | undefined;
73
+ borderEndStartRadius?: import("react-native").AnimatableNumericValue | undefined;
74
74
  borderLeftColor?: import("react-native").ColorValue | undefined;
75
- borderRadius?: string | import("react-native").AnimatableNumericValue | undefined;
75
+ borderRadius?: import("react-native").AnimatableNumericValue | undefined;
76
76
  borderRightColor?: import("react-native").ColorValue | undefined;
77
77
  borderStartColor?: import("react-native").ColorValue | undefined;
78
- borderStartEndRadius?: string | import("react-native").AnimatableNumericValue | undefined;
79
- borderStartStartRadius?: string | import("react-native").AnimatableNumericValue | undefined;
78
+ borderStartEndRadius?: import("react-native").AnimatableNumericValue | undefined;
79
+ borderStartStartRadius?: import("react-native").AnimatableNumericValue | undefined;
80
80
  borderStyle?: "solid" | "dotted" | "dashed" | undefined;
81
81
  borderTopColor?: import("react-native").ColorValue | undefined;
82
- borderTopEndRadius?: string | import("react-native").AnimatableNumericValue | undefined;
83
- borderTopLeftRadius?: string | import("react-native").AnimatableNumericValue | undefined;
84
- borderTopRightRadius?: string | import("react-native").AnimatableNumericValue | undefined;
85
- borderTopStartRadius?: string | import("react-native").AnimatableNumericValue | undefined;
86
- outlineColor?: import("react-native").ColorValue | undefined;
87
- outlineOffset?: import("react-native").AnimatableNumericValue | undefined;
88
- outlineStyle?: "solid" | "dotted" | "dashed" | undefined;
89
- outlineWidth?: import("react-native").AnimatableNumericValue | undefined;
82
+ borderTopEndRadius?: import("react-native").AnimatableNumericValue | undefined;
83
+ borderTopLeftRadius?: import("react-native").AnimatableNumericValue | undefined;
84
+ borderTopRightRadius?: import("react-native").AnimatableNumericValue | undefined;
85
+ borderTopStartRadius?: import("react-native").AnimatableNumericValue | undefined;
90
86
  opacity?: import("react-native").AnimatableNumericValue | undefined;
91
87
  elevation?: number | undefined;
92
88
  pointerEvents?: "auto" | "none" | "box-none" | "box-only" | undefined;
93
- isolation?: "auto" | "isolate" | undefined;
94
- cursor?: import("react-native").CursorValue | undefined;
95
- boxShadow?: string | readonly import("react-native").BoxShadowValue[] | undefined;
96
- filter?: string | readonly import("react-native").FilterFunction[] | undefined;
97
- mixBlendMode?: import("react-native").BlendMode | undefined;
98
- experimental_backgroundImage?: string | readonly import("react-native").GradientValue[] | undefined;
99
- alignContent?: "center" | "flex-start" | "flex-end" | "stretch" | "space-between" | "space-around" | "space-evenly" | undefined;
89
+ alignContent?: "center" | "flex-start" | "flex-end" | "stretch" | "space-between" | "space-around" | undefined;
100
90
  alignItems?: import("react-native").FlexAlignType | undefined;
101
91
  alignSelf?: "auto" | import("react-native").FlexAlignType | undefined;
102
92
  aspectRatio?: string | number | undefined;
@@ -108,15 +98,14 @@ declare class Button extends PureComponent<Props, ButtonState> {
108
98
  borderTopWidth?: number | undefined;
109
99
  borderWidth?: number | undefined;
110
100
  bottom?: import("react-native").DimensionValue | undefined;
111
- boxSizing?: "border-box" | "content-box" | undefined;
112
- display?: "none" | "flex" | "contents" | undefined;
101
+ display?: "none" | "flex" | undefined;
113
102
  end?: import("react-native").DimensionValue | undefined;
114
103
  flex?: number | undefined;
115
104
  flexBasis?: import("react-native").DimensionValue | undefined;
116
105
  flexDirection: "row" | "column" | "row-reverse" | "column-reverse";
117
- rowGap?: string | number | undefined;
118
- gap?: string | number | undefined;
119
- columnGap?: string | number | undefined;
106
+ rowGap?: number | undefined;
107
+ gap?: number | undefined;
108
+ columnGap?: number | undefined;
120
109
  flexGrow?: number | undefined;
121
110
  flexShrink?: number | undefined;
122
111
  flexWrap?: "wrap" | "nowrap" | "wrap-reverse" | undefined;
@@ -146,32 +135,13 @@ declare class Button extends PureComponent<Props, ButtonState> {
146
135
  paddingStart?: import("react-native").DimensionValue | undefined;
147
136
  paddingTop?: import("react-native").DimensionValue | undefined;
148
137
  paddingVertical?: import("react-native").DimensionValue | undefined;
149
- position?: "absolute" | "relative" | "static" | undefined;
138
+ position?: "absolute" | "relative" | undefined;
150
139
  right?: import("react-native").DimensionValue | undefined;
151
140
  start?: import("react-native").DimensionValue | undefined;
152
141
  top?: import("react-native").DimensionValue | undefined;
153
142
  width?: import("react-native").DimensionValue | undefined;
154
143
  zIndex?: number | undefined;
155
144
  direction?: "ltr" | "rtl" | "inherit" | undefined;
156
- inset?: import("react-native").DimensionValue | undefined;
157
- insetBlock?: import("react-native").DimensionValue | undefined;
158
- insetBlockEnd?: import("react-native").DimensionValue | undefined;
159
- insetBlockStart?: import("react-native").DimensionValue | undefined;
160
- insetInline?: import("react-native").DimensionValue | undefined;
161
- insetInlineEnd?: import("react-native").DimensionValue | undefined;
162
- insetInlineStart?: import("react-native").DimensionValue | undefined;
163
- marginBlock?: import("react-native").DimensionValue | undefined;
164
- marginBlockEnd?: import("react-native").DimensionValue | undefined;
165
- marginBlockStart?: import("react-native").DimensionValue | undefined;
166
- marginInline?: import("react-native").DimensionValue | undefined;
167
- marginInlineEnd?: import("react-native").DimensionValue | undefined;
168
- marginInlineStart?: import("react-native").DimensionValue | undefined;
169
- paddingBlock?: import("react-native").DimensionValue | undefined;
170
- paddingBlockEnd?: import("react-native").DimensionValue | undefined;
171
- paddingBlockStart?: import("react-native").DimensionValue | undefined;
172
- paddingInline?: import("react-native").DimensionValue | undefined;
173
- paddingInlineEnd?: import("react-native").DimensionValue | undefined;
174
- paddingInlineStart?: import("react-native").DimensionValue | undefined;
175
145
  shadowColor?: import("react-native").ColorValue | undefined;
176
146
  shadowOffset?: Readonly<{
177
147
  width: number;
@@ -179,7 +149,7 @@ declare class Button extends PureComponent<Props, ButtonState> {
179
149
  }> | undefined;
180
150
  shadowOpacity?: import("react-native").AnimatableNumericValue | undefined;
181
151
  shadowRadius?: number | undefined;
182
- transform?: string | readonly (({
152
+ transform?: string | (({
183
153
  perspective: import("react-native").AnimatableNumericValue;
184
154
  } & {
185
155
  rotate?: undefined;
@@ -300,7 +270,7 @@ declare class Button extends PureComponent<Props, ButtonState> {
300
270
  skewY?: undefined;
301
271
  matrix?: undefined;
302
272
  }) | ({
303
- translateX: import("react-native").AnimatableNumericValue | `${number}%`;
273
+ translateX: import("react-native").AnimatableNumericValue;
304
274
  } & {
305
275
  perspective?: undefined;
306
276
  rotate?: undefined;
@@ -315,7 +285,7 @@ declare class Button extends PureComponent<Props, ButtonState> {
315
285
  skewY?: undefined;
316
286
  matrix?: undefined;
317
287
  }) | ({
318
- translateY: import("react-native").AnimatableNumericValue | `${number}%`;
288
+ translateY: import("react-native").AnimatableNumericValue;
319
289
  } & {
320
290
  perspective?: undefined;
321
291
  rotate?: undefined;
@@ -386,6 +356,9 @@ declare class Button extends PureComponent<Props, ButtonState> {
386
356
  verticalAlign?: "auto" | "top" | "bottom" | "middle" | undefined;
387
357
  includeFontPadding?: boolean | undefined;
388
358
  };
359
+ backgroundElement: {
360
+ overflow: "hidden";
361
+ };
389
362
  };
390
363
  componentDidUpdate(prevProps: Props): void;
391
364
  onLayout: (event: LayoutChangeEvent) => void;
@@ -437,6 +410,7 @@ declare class Button extends PureComponent<Props, ButtonState> {
437
410
  left: number;
438
411
  right: number;
439
412
  };
413
+ renderCustomBackground(): React.JSX.Element | undefined;
440
414
  render(): React.JSX.Element;
441
415
  }
442
416
  export { Button };
@@ -470,6 +444,7 @@ declare const _default: React.ForwardRefExoticComponent<((import("../touchableOp
470
444
  getActiveBackgroundColor?: ((backgroundColor: string, props: any) => string) | undefined;
471
445
  animateLayout?: boolean | undefined;
472
446
  animateTo?: import("./types").ButtonAnimationDirectionProp | undefined;
447
+ customBackground?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
473
448
  }) | Omit<import("../touchableOpacity").TouchableOpacityProps & import("../../commons/modifiers").CustomModifier & Partial<Record<"bg-transparent" | "bg-black" | "bg-white" | "bg-dark" | "bg-$backgroundDefault" | "bg-$backgroundElevated" | "bg-$backgroundElevatedLight" | "bg-$backgroundNeutralHeavy" | "bg-$backgroundNeutralIdle" | "bg-$backgroundNeutralMedium" | "bg-$backgroundNeutral" | "bg-$backgroundNeutralLight" | "bg-$backgroundPrimaryHeavy" | "bg-$backgroundPrimaryMedium" | "bg-$backgroundPrimaryLight" | "bg-$backgroundGeneralHeavy" | "bg-$backgroundGeneralMedium" | "bg-$backgroundGeneralLight" | "bg-$backgroundSuccessHeavy" | "bg-$backgroundSuccessLight" | "bg-$backgroundWarningHeavy" | "bg-$backgroundWarningLight" | "bg-$backgroundMajorLight" | "bg-$backgroundMajorHeavy" | "bg-$backgroundDangerHeavy" | "bg-$backgroundDangerLight" | "bg-$backgroundDisabled" | "bg-$backgroundDark" | "bg-$backgroundDarkElevated" | "bg-$backgroundDarkActive" | "bg-$backgroundInverted" | "bg-$textDisabled" | "bg-$textDefault" | "bg-$textNeutralHeavy" | "bg-$textNeutral" | "bg-$textNeutralLight" | "bg-$textDefaultLight" | "bg-$textPrimary" | "bg-$textGeneral" | "bg-$textSuccess" | "bg-$textSuccessLight" | "bg-$textMajor" | "bg-$textDanger" | "bg-$textDangerLight" | "bg-$iconDefault" | "bg-$iconNeutral" | "bg-$iconDefaultLight" | "bg-$iconPrimary" | "bg-$iconPrimaryLight" | "bg-$iconGeneral" | "bg-$iconGeneralLight" | "bg-$iconSuccess" | "bg-$iconSuccessLight" | "bg-$iconMajor" | "bg-$iconDanger" | "bg-$iconDangerLight" | "bg-$iconDisabled" | "bg-$outlineDefault" | "bg-$outlineDisabled" | "bg-$outlineDisabledHeavy" | "bg-$outlineNeutral" | "bg-$outlineNeutralHeavy" | "bg-$outlinePrimary" | "bg-$outlinePrimaryMedium" | "bg-$outlineGeneral" | "bg-$outlineWarning" | "bg-$outlineDanger" | "bg-$outlineInverted" | "bg-$black" | "bg-$white" | "bg-grey1" | "bg-grey5" | "bg-grey10" | "bg-grey20" | "bg-grey30" | "bg-grey40" | "bg-grey50" | "bg-grey60" | "bg-grey70" | "bg-grey80" | "bg-blue1" | "bg-blue5" | "bg-blue10" | "bg-blue20" | "bg-blue30" | "bg-blue40" | "bg-blue50" | "bg-blue60" | "bg-blue70" | "bg-blue80" | "bg-cyan10" | "bg-cyan20" | "bg-cyan30" | "bg-cyan40" | "bg-cyan50" | "bg-cyan60" | "bg-cyan70" | "bg-cyan80" | "bg-green1" | "bg-green5" | "bg-green10" | "bg-green20" | "bg-green30" | "bg-green40" | "bg-green50" | "bg-green60" | "bg-green70" | "bg-green80" | "bg-yellow1" | "bg-yellow5" | "bg-yellow10" | "bg-yellow20" | "bg-yellow30" | "bg-yellow40" | "bg-yellow50" | "bg-yellow60" | "bg-yellow70" | "bg-yellow80" | "bg-orange1" | "bg-orange5" | "bg-orange10" | "bg-orange20" | "bg-orange30" | "bg-orange40" | "bg-orange50" | "bg-orange60" | "bg-orange70" | "bg-orange80" | "bg-red1" | "bg-red5" | "bg-red10" | "bg-red20" | "bg-red30" | "bg-red40" | "bg-red50" | "bg-red60" | "bg-red70" | "bg-red80" | "bg-purple1" | "bg-purple5" | "bg-purple10" | "bg-purple20" | "bg-purple30" | "bg-purple40" | "bg-purple50" | "bg-purple60" | "bg-purple70" | "bg-purple80" | "bg-violet1" | "bg-violet5" | "bg-violet10" | "bg-violet20" | "bg-violet30" | "bg-violet40" | "bg-violet50" | "bg-violet60" | "bg-violet70" | "bg-violet80", boolean>> & Partial<Record<"margin" | "marginL" | "marginT" | "marginR" | "marginB" | "marginH" | "marginV", boolean>> & {
474
449
  label?: string | undefined;
475
450
  color?: string | undefined;
@@ -500,6 +475,7 @@ declare const _default: React.ForwardRefExoticComponent<((import("../touchableOp
500
475
  getActiveBackgroundColor?: ((backgroundColor: string, props: any) => string) | undefined;
501
476
  animateLayout?: boolean | undefined;
502
477
  animateTo?: import("./types").ButtonAnimationDirectionProp | undefined;
478
+ customBackground?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
503
479
  }, "ref"> | Omit<import("../touchableOpacity").TouchableOpacityProps & import("../../commons/modifiers").CustomModifier & Partial<Record<"transparent" | "black" | "white" | "dark" | "$backgroundDefault" | "$backgroundElevated" | "$backgroundElevatedLight" | "$backgroundNeutralHeavy" | "$backgroundNeutralIdle" | "$backgroundNeutralMedium" | "$backgroundNeutral" | "$backgroundNeutralLight" | "$backgroundPrimaryHeavy" | "$backgroundPrimaryMedium" | "$backgroundPrimaryLight" | "$backgroundGeneralHeavy" | "$backgroundGeneralMedium" | "$backgroundGeneralLight" | "$backgroundSuccessHeavy" | "$backgroundSuccessLight" | "$backgroundWarningHeavy" | "$backgroundWarningLight" | "$backgroundMajorLight" | "$backgroundMajorHeavy" | "$backgroundDangerHeavy" | "$backgroundDangerLight" | "$backgroundDisabled" | "$backgroundDark" | "$backgroundDarkElevated" | "$backgroundDarkActive" | "$backgroundInverted" | "$textDisabled" | "$textDefault" | "$textNeutralHeavy" | "$textNeutral" | "$textNeutralLight" | "$textDefaultLight" | "$textPrimary" | "$textGeneral" | "$textSuccess" | "$textSuccessLight" | "$textMajor" | "$textDanger" | "$textDangerLight" | "$iconDefault" | "$iconNeutral" | "$iconDefaultLight" | "$iconPrimary" | "$iconPrimaryLight" | "$iconGeneral" | "$iconGeneralLight" | "$iconSuccess" | "$iconSuccessLight" | "$iconMajor" | "$iconDanger" | "$iconDangerLight" | "$iconDisabled" | "$outlineDefault" | "$outlineDisabled" | "$outlineDisabledHeavy" | "$outlineNeutral" | "$outlineNeutralHeavy" | "$outlinePrimary" | "$outlinePrimaryMedium" | "$outlineGeneral" | "$outlineWarning" | "$outlineDanger" | "$outlineInverted" | "$black" | "$white" | "grey1" | "grey5" | "grey10" | "grey20" | "grey30" | "grey40" | "grey50" | "grey60" | "grey70" | "grey80" | "blue1" | "blue5" | "blue10" | "blue20" | "blue30" | "blue40" | "blue50" | "blue60" | "blue70" | "blue80" | "cyan10" | "cyan20" | "cyan30" | "cyan40" | "cyan50" | "cyan60" | "cyan70" | "cyan80" | "green1" | "green5" | "green10" | "green20" | "green30" | "green40" | "green50" | "green60" | "green70" | "green80" | "yellow1" | "yellow5" | "yellow10" | "yellow20" | "yellow30" | "yellow40" | "yellow50" | "yellow60" | "yellow70" | "yellow80" | "orange1" | "orange5" | "orange10" | "orange20" | "orange30" | "orange40" | "orange50" | "orange60" | "orange70" | "orange80" | "red1" | "red5" | "red10" | "red20" | "red30" | "red40" | "red50" | "red60" | "red70" | "red80" | "purple1" | "purple5" | "purple10" | "purple20" | "purple30" | "purple40" | "purple50" | "purple60" | "purple70" | "purple80" | "violet1" | "violet5" | "violet10" | "violet20" | "violet30" | "violet40" | "violet50" | "violet60" | "violet70" | "violet80", boolean>> & Partial<Record<"bg-transparent" | "bg-black" | "bg-white" | "bg-dark" | "bg-$backgroundDefault" | "bg-$backgroundElevated" | "bg-$backgroundElevatedLight" | "bg-$backgroundNeutralHeavy" | "bg-$backgroundNeutralIdle" | "bg-$backgroundNeutralMedium" | "bg-$backgroundNeutral" | "bg-$backgroundNeutralLight" | "bg-$backgroundPrimaryHeavy" | "bg-$backgroundPrimaryMedium" | "bg-$backgroundPrimaryLight" | "bg-$backgroundGeneralHeavy" | "bg-$backgroundGeneralMedium" | "bg-$backgroundGeneralLight" | "bg-$backgroundSuccessHeavy" | "bg-$backgroundSuccessLight" | "bg-$backgroundWarningHeavy" | "bg-$backgroundWarningLight" | "bg-$backgroundMajorLight" | "bg-$backgroundMajorHeavy" | "bg-$backgroundDangerHeavy" | "bg-$backgroundDangerLight" | "bg-$backgroundDisabled" | "bg-$backgroundDark" | "bg-$backgroundDarkElevated" | "bg-$backgroundDarkActive" | "bg-$backgroundInverted" | "bg-$textDisabled" | "bg-$textDefault" | "bg-$textNeutralHeavy" | "bg-$textNeutral" | "bg-$textNeutralLight" | "bg-$textDefaultLight" | "bg-$textPrimary" | "bg-$textGeneral" | "bg-$textSuccess" | "bg-$textSuccessLight" | "bg-$textMajor" | "bg-$textDanger" | "bg-$textDangerLight" | "bg-$iconDefault" | "bg-$iconNeutral" | "bg-$iconDefaultLight" | "bg-$iconPrimary" | "bg-$iconPrimaryLight" | "bg-$iconGeneral" | "bg-$iconGeneralLight" | "bg-$iconSuccess" | "bg-$iconSuccessLight" | "bg-$iconMajor" | "bg-$iconDanger" | "bg-$iconDangerLight" | "bg-$iconDisabled" | "bg-$outlineDefault" | "bg-$outlineDisabled" | "bg-$outlineDisabledHeavy" | "bg-$outlineNeutral" | "bg-$outlineNeutralHeavy" | "bg-$outlinePrimary" | "bg-$outlinePrimaryMedium" | "bg-$outlineGeneral" | "bg-$outlineWarning" | "bg-$outlineDanger" | "bg-$outlineInverted" | "bg-$black" | "bg-$white" | "bg-grey1" | "bg-grey5" | "bg-grey10" | "bg-grey20" | "bg-grey30" | "bg-grey40" | "bg-grey50" | "bg-grey60" | "bg-grey70" | "bg-grey80" | "bg-blue1" | "bg-blue5" | "bg-blue10" | "bg-blue20" | "bg-blue30" | "bg-blue40" | "bg-blue50" | "bg-blue60" | "bg-blue70" | "bg-blue80" | "bg-cyan10" | "bg-cyan20" | "bg-cyan30" | "bg-cyan40" | "bg-cyan50" | "bg-cyan60" | "bg-cyan70" | "bg-cyan80" | "bg-green1" | "bg-green5" | "bg-green10" | "bg-green20" | "bg-green30" | "bg-green40" | "bg-green50" | "bg-green60" | "bg-green70" | "bg-green80" | "bg-yellow1" | "bg-yellow5" | "bg-yellow10" | "bg-yellow20" | "bg-yellow30" | "bg-yellow40" | "bg-yellow50" | "bg-yellow60" | "bg-yellow70" | "bg-yellow80" | "bg-orange1" | "bg-orange5" | "bg-orange10" | "bg-orange20" | "bg-orange30" | "bg-orange40" | "bg-orange50" | "bg-orange60" | "bg-orange70" | "bg-orange80" | "bg-red1" | "bg-red5" | "bg-red10" | "bg-red20" | "bg-red30" | "bg-red40" | "bg-red50" | "bg-red60" | "bg-red70" | "bg-red80" | "bg-purple1" | "bg-purple5" | "bg-purple10" | "bg-purple20" | "bg-purple30" | "bg-purple40" | "bg-purple50" | "bg-purple60" | "bg-purple70" | "bg-purple80" | "bg-violet1" | "bg-violet5" | "bg-violet10" | "bg-violet20" | "bg-violet30" | "bg-violet40" | "bg-violet50" | "bg-violet60" | "bg-violet70" | "bg-violet80", boolean>> & Partial<Record<"margin" | "marginL" | "marginT" | "marginR" | "marginB" | "marginH" | "marginV", boolean>> & {
504
480
  label?: string | undefined;
505
481
  color?: string | undefined;
@@ -530,6 +506,7 @@ declare const _default: React.ForwardRefExoticComponent<((import("../touchableOp
530
506
  getActiveBackgroundColor?: ((backgroundColor: string, props: any) => string) | undefined;
531
507
  animateLayout?: boolean | undefined;
532
508
  animateTo?: import("./types").ButtonAnimationDirectionProp | undefined;
509
+ customBackground?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
533
510
  }, "ref"> | Omit<import("../touchableOpacity").TouchableOpacityProps & Partial<Record<"text10" | "text20" | "text30" | "text40" | "text50" | "text60" | "text65" | "text70" | "text80" | "text90" | "text100" | "text10T" | "text10L" | "text10R" | "text10M" | "text10BO" | "text10H" | "text10BL" | "text20T" | "text20L" | "text20R" | "text20M" | "text20BO" | "text20H" | "text20BL" | "text30T" | "text30L" | "text30R" | "text30M" | "text30BO" | "text30H" | "text30BL" | "text40T" | "text40L" | "text40R" | "text40M" | "text40BO" | "text40H" | "text40BL" | "text50T" | "text50L" | "text50R" | "text50M" | "text50BO" | "text50H" | "text50BL" | "text60T" | "text60L" | "text60R" | "text60M" | "text60BO" | "text60H" | "text60BL" | "text65T" | "text65L" | "text65R" | "text65M" | "text65BO" | "text65H" | "text65BL" | "text70T" | "text70L" | "text70R" | "text70M" | "text70BO" | "text70H" | "text70BL" | "text80T" | "text80L" | "text80R" | "text80M" | "text80BO" | "text80H" | "text80BL" | "text90T" | "text90L" | "text90R" | "text90M" | "text90BO" | "text90H" | "text90BL" | "text100T" | "text100L" | "text100R" | "text100M" | "text100BO" | "text100H" | "text100BL", boolean>> & import("../../commons/modifiers").CustomModifier & Partial<Record<"bg-transparent" | "bg-black" | "bg-white" | "bg-dark" | "bg-$backgroundDefault" | "bg-$backgroundElevated" | "bg-$backgroundElevatedLight" | "bg-$backgroundNeutralHeavy" | "bg-$backgroundNeutralIdle" | "bg-$backgroundNeutralMedium" | "bg-$backgroundNeutral" | "bg-$backgroundNeutralLight" | "bg-$backgroundPrimaryHeavy" | "bg-$backgroundPrimaryMedium" | "bg-$backgroundPrimaryLight" | "bg-$backgroundGeneralHeavy" | "bg-$backgroundGeneralMedium" | "bg-$backgroundGeneralLight" | "bg-$backgroundSuccessHeavy" | "bg-$backgroundSuccessLight" | "bg-$backgroundWarningHeavy" | "bg-$backgroundWarningLight" | "bg-$backgroundMajorLight" | "bg-$backgroundMajorHeavy" | "bg-$backgroundDangerHeavy" | "bg-$backgroundDangerLight" | "bg-$backgroundDisabled" | "bg-$backgroundDark" | "bg-$backgroundDarkElevated" | "bg-$backgroundDarkActive" | "bg-$backgroundInverted" | "bg-$textDisabled" | "bg-$textDefault" | "bg-$textNeutralHeavy" | "bg-$textNeutral" | "bg-$textNeutralLight" | "bg-$textDefaultLight" | "bg-$textPrimary" | "bg-$textGeneral" | "bg-$textSuccess" | "bg-$textSuccessLight" | "bg-$textMajor" | "bg-$textDanger" | "bg-$textDangerLight" | "bg-$iconDefault" | "bg-$iconNeutral" | "bg-$iconDefaultLight" | "bg-$iconPrimary" | "bg-$iconPrimaryLight" | "bg-$iconGeneral" | "bg-$iconGeneralLight" | "bg-$iconSuccess" | "bg-$iconSuccessLight" | "bg-$iconMajor" | "bg-$iconDanger" | "bg-$iconDangerLight" | "bg-$iconDisabled" | "bg-$outlineDefault" | "bg-$outlineDisabled" | "bg-$outlineDisabledHeavy" | "bg-$outlineNeutral" | "bg-$outlineNeutralHeavy" | "bg-$outlinePrimary" | "bg-$outlinePrimaryMedium" | "bg-$outlineGeneral" | "bg-$outlineWarning" | "bg-$outlineDanger" | "bg-$outlineInverted" | "bg-$black" | "bg-$white" | "bg-grey1" | "bg-grey5" | "bg-grey10" | "bg-grey20" | "bg-grey30" | "bg-grey40" | "bg-grey50" | "bg-grey60" | "bg-grey70" | "bg-grey80" | "bg-blue1" | "bg-blue5" | "bg-blue10" | "bg-blue20" | "bg-blue30" | "bg-blue40" | "bg-blue50" | "bg-blue60" | "bg-blue70" | "bg-blue80" | "bg-cyan10" | "bg-cyan20" | "bg-cyan30" | "bg-cyan40" | "bg-cyan50" | "bg-cyan60" | "bg-cyan70" | "bg-cyan80" | "bg-green1" | "bg-green5" | "bg-green10" | "bg-green20" | "bg-green30" | "bg-green40" | "bg-green50" | "bg-green60" | "bg-green70" | "bg-green80" | "bg-yellow1" | "bg-yellow5" | "bg-yellow10" | "bg-yellow20" | "bg-yellow30" | "bg-yellow40" | "bg-yellow50" | "bg-yellow60" | "bg-yellow70" | "bg-yellow80" | "bg-orange1" | "bg-orange5" | "bg-orange10" | "bg-orange20" | "bg-orange30" | "bg-orange40" | "bg-orange50" | "bg-orange60" | "bg-orange70" | "bg-orange80" | "bg-red1" | "bg-red5" | "bg-red10" | "bg-red20" | "bg-red30" | "bg-red40" | "bg-red50" | "bg-red60" | "bg-red70" | "bg-red80" | "bg-purple1" | "bg-purple5" | "bg-purple10" | "bg-purple20" | "bg-purple30" | "bg-purple40" | "bg-purple50" | "bg-purple60" | "bg-purple70" | "bg-purple80" | "bg-violet1" | "bg-violet5" | "bg-violet10" | "bg-violet20" | "bg-violet30" | "bg-violet40" | "bg-violet50" | "bg-violet60" | "bg-violet70" | "bg-violet80", boolean>> & Partial<Record<"margin" | "marginL" | "marginT" | "marginR" | "marginB" | "marginH" | "marginV", boolean>> & {
534
511
  label?: string | undefined;
535
512
  color?: string | undefined;
@@ -560,5 +537,6 @@ declare const _default: React.ForwardRefExoticComponent<((import("../touchableOp
560
537
  getActiveBackgroundColor?: ((backgroundColor: string, props: any) => string) | undefined;
561
538
  animateLayout?: boolean | undefined;
562
539
  animateTo?: import("./types").ButtonAnimationDirectionProp | undefined;
540
+ customBackground?: React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
563
541
  }, "ref">) & React.RefAttributes<{}>> & ComponentStatics<typeof Button>;
564
542
  export default _default;
@@ -4,6 +4,7 @@ import { Platform, StyleSheet, LayoutAnimation } from 'react-native';
4
4
  import { asBaseComponent, forwardRef, Constants } from "../../commons/new";
5
5
  import { Colors, Typography, BorderRadiuses } from "../../style";
6
6
  import TouchableOpacity from "../touchableOpacity";
7
+ import View from "../view";
7
8
  import Text from "../text";
8
9
  import Icon from "../icon";
9
10
  import { ButtonSize, ButtonAnimationDirection, ButtonProps, DEFAULT_PROPS } from "./types";
@@ -358,6 +359,17 @@ class Button extends PureComponent {
358
359
  right: horizontalHitslop
359
360
  };
360
361
  }
362
+ renderCustomBackground() {
363
+ const {
364
+ customBackground
365
+ } = this.props;
366
+ if (customBackground) {
367
+ const borderRadiusStyle = this.getBorderRadiusStyle();
368
+ return <View absF style={[this.styles.backgroundElement, borderRadiusStyle]}>
369
+ {customBackground}
370
+ </View>;
371
+ }
372
+ }
361
373
  render() {
362
374
  const {
363
375
  onPress,
@@ -368,6 +380,7 @@ class Button extends PureComponent {
368
380
  modifiers,
369
381
  forwardedRef,
370
382
  hitSlop: hitSlopProp,
383
+ customBackground,
371
384
  ...others
372
385
  } = this.props;
373
386
  const shadowStyle = this.getShadowStyle();
@@ -375,13 +388,14 @@ class Button extends PureComponent {
375
388
  margins,
376
389
  paddings
377
390
  } = modifiers;
378
- const backgroundColor = this.getBackgroundColor();
391
+ const backgroundColor = customBackground ? undefined : this.getBackgroundColor();
379
392
  const outlineStyle = this.getOutlineStyle();
380
393
  const containerSizeStyle = this.getContainerSizeStyle();
381
394
  const borderRadiusStyle = this.getBorderRadiusStyle();
382
395
  return <TouchableOpacity row centerV style={[this.styles.container, animateLayout && this.getAnimationDirectionStyle(), containerSizeStyle, this.isLink && this.styles.innerContainerLink, shadowStyle, margins, paddings, {
383
396
  backgroundColor
384
397
  }, borderRadiusStyle, outlineStyle, style]} activeOpacity={0.6} activeBackgroundColor={this.getActiveBackgroundColor()} onLayout={this.onLayout} onPress={onPress} disabled={disabled} testID={testID} hitSlop={hitSlopProp ?? this.getAccessibleHitSlop()} {...others} ref={forwardedRef}>
398
+ {this.renderCustomBackground()}
385
399
  {this.props.children}
386
400
  {this.props.iconOnRight ? this.renderLabel() : this.renderIcon()}
387
401
  {this.props.iconOnRight ? this.renderIcon() : this.renderLabel()}
@@ -415,6 +429,9 @@ function createStyles() {
415
429
  backgroundColor: 'transparent',
416
430
  flexDirection: 'row',
417
431
  ...Typography.text70
432
+ },
433
+ backgroundElement: {
434
+ overflow: 'hidden'
418
435
  }
419
436
  });
420
437
  }
@@ -131,12 +131,17 @@ export type ButtonProps = TouchableOpacityProps & TypographyModifiers & ColorsMo
131
131
  getActiveBackgroundColor?: (backgroundColor: string, props: any) => string;
132
132
  /**
133
133
  * should animate layout change
134
+ * Note?: For Android you must set 'setLayoutAnimationEnabledExperimental(true)' via RN's 'UIManager'
134
135
  */
135
136
  animateLayout?: boolean;
136
137
  /**
137
138
  * the direction of the animation ('left' and 'right' will effect the button's own alignment)
138
139
  */
139
140
  animateTo?: ButtonAnimationDirectionProp;
141
+ /**
142
+ * Custom element to render as button background (takes precedence over backgroundColor)
143
+ */
144
+ customBackground?: React.ReactElement;
140
145
  };
141
146
  export type ButtonState = {
142
147
  size?: number;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { StyleProp, ViewStyle } from 'react-native';
3
- import { DialogProps } from '../dialog';
3
+ import { DialogProps } from '../../incubator/dialog';
4
4
  export interface ColorPickerDialogProps extends DialogProps {
5
5
  /**
6
6
  * The initial color to pass the picker dialog
@@ -3,7 +3,7 @@ import React, { useCallback, useEffect, useState } from 'react';
3
3
  import { LayoutAnimation, StyleSheet, Keyboard } from 'react-native';
4
4
  import { Constants, asBaseComponent } from "../../commons/new";
5
5
  import { Colors } from "../../style";
6
- import Dialog from "../dialog";
6
+ import Dialog from "../../incubator/dialog";
7
7
  import { getColorValue, getValidColorString, getTextColor, BORDER_RADIUS } from "./ColorPickerPresenter";
8
8
  import ColorPickerDialogHeader from "./ColorPickerDialogHeader";
9
9
  import ColorPickerPreview from "./ColorPickerPreview";
@@ -2,11 +2,11 @@ import React from 'react';
2
2
  import { StyleProp, ViewStyle } from 'react-native';
3
3
  import { BaseComponentInjectedProps } from '../../commons/new';
4
4
  import { TextFieldProps } from '../textField';
5
- import type { DialogProps } from '../dialog';
5
+ import type { DialogMigrationProps } from '../../incubator/dialog';
6
6
  import { ButtonProps } from '../button';
7
7
  import { OldApiProps } from './useOldApi';
8
8
  export type DateTimePickerMode = 'date' | 'time';
9
- export type DateTimePickerProps = OldApiProps & Omit<TextFieldProps, 'value' | 'onChange'> & {
9
+ export type DateTimePickerProps = OldApiProps & Omit<TextFieldProps, 'value' | 'onChange'> & DialogMigrationProps & {
10
10
  /**
11
11
  * The type of picker to display ('date' or 'time')
12
12
  */
@@ -15,10 +15,6 @@ export type DateTimePickerProps = OldApiProps & Omit<TextFieldProps, 'value' | '
15
15
  * The initial value to set the picker to. Defaults to device's date / time
16
16
  */
17
17
  value?: Date;
18
- /**
19
- * The props to pass to the dialog expandable container
20
- */
21
- dialogProps?: DialogProps;
22
18
  /**
23
19
  * The onChange callback
24
20
  */
@@ -96,6 +92,7 @@ export type DateTimePickerProps = OldApiProps & Omit<TextFieldProps, 'value' | '
96
92
  */
97
93
  cancelButtonProps?: ButtonProps;
98
94
  };
95
+ type DateTimePickerPropsInternal = DateTimePickerProps & BaseComponentInjectedProps;
99
96
  /**
100
97
  * @description: Date and Time Picker Component that wraps RNDateTimePicker for date and time modes.
101
98
  * @example: https://github.com/wix/react-native-ui-lib/blob/master/demo/src/screens/componentScreens/DateTimePickerScreen.tsx
@@ -104,185 +101,7 @@ export type DateTimePickerProps = OldApiProps & Omit<TextFieldProps, 'value' | '
104
101
  * @extendsLink: https://github.com/react-native-community/react-native-datetimepicker#react-native-datetimepicker
105
102
  * @gif: https://github.com/wix/react-native-ui-lib/blob/master/demo/showcase/DateTimePicker/DateTimePicker_iOS.gif?raw=true, https://github.com/wix/react-native-ui-lib/blob/master/demo/showcase/DateTimePicker/DateTimePicker_Android.gif?raw=true
106
103
  */
107
- declare const DateTimePicker: React.ForwardRefExoticComponent<OldApiProps & Omit<TextFieldProps, "value" | "onChange"> & {
108
- /**
109
- * The type of picker to display ('date' or 'time')
110
- */
111
- mode?: DateTimePickerMode | undefined;
112
- /**
113
- * The initial value to set the picker to. Defaults to device's date / time
114
- */
115
- value?: Date | undefined;
116
- /**
117
- * The props to pass to the dialog expandable container
118
- */
119
- dialogProps?: DialogProps | undefined;
120
- /**
121
- * The onChange callback
122
- */
123
- onChange?: ((date: Date) => void) | undefined;
124
- /**
125
- * Should this input be editable or disabled
126
- */
127
- editable?: boolean | undefined;
128
- /**
129
- * The minimum date or time value to use
130
- */
131
- minimumDate?: Date | undefined;
132
- /**
133
- * The maximum date or time value to use
134
- */
135
- maximumDate?: Date | undefined;
136
- /**
137
- * A callback function to format the time or date
138
- * @param mode the type of the picker ('date' or 'time')
139
- * @returns the formatted string to display
140
- */
141
- dateTimeFormatter?: ((value: Date, mode: DateTimePickerMode) => string) | undefined;
142
- /**
143
- * Allows changing of the locale of the component (iOS only)
144
- */
145
- locale?: string | undefined;
146
- /**
147
- * Allows changing of the time picker to a 24 hour format (Android only)
148
- */
149
- is24Hour?: boolean | undefined;
150
- /**
151
- * The interval at which minutes can be selected. Possible values are: 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30 (iOS only)
152
- */
153
- minuteInterval?: number | undefined;
154
- /**
155
- * Allows changing of the timeZone of the date picker. By default it uses the device's time zone (iOS only)
156
- */
157
- timeZoneOffsetInMinutes?: number | undefined;
158
- /**
159
- * style to apply to the iOS dialog header
160
- */
161
- headerStyle?: StyleProp<ViewStyle>;
162
- /**
163
- * Render custom input
164
- */
165
- renderInput?: ((props: Omit<DateTimePickerProps, 'value'> & {
166
- value?: string;
167
- }) => React.ReactElement) | undefined;
168
- /**
169
- * Override system theme variant (dark or light mode) used by the date picker.
170
- */
171
- themeVariant?: "light" | "dark" | undefined;
172
- /**
173
- * The component testID
174
- */
175
- testID?: string | undefined;
176
- /**
177
- * Allows changing the visual display of the picker
178
- */
179
- display?: string | undefined;
180
- /**
181
- * Text color of the wheel picker items
182
- */
183
- textColor?: string | undefined;
184
- /**
185
- * Background color of the wheel picker
186
- */
187
- backgroundColor?: string | undefined;
188
- /**
189
- * Confirm button props
190
- */
191
- confirmButtonProps?: ButtonProps | undefined;
192
- /**
193
- * Cancel button props
194
- */
195
- cancelButtonProps?: ButtonProps | undefined;
196
- } & BaseComponentInjectedProps & React.RefAttributes<any>>;
104
+ declare const DateTimePicker: React.ForwardRefExoticComponent<DateTimePickerPropsInternal & React.RefAttributes<any>>;
197
105
  export { DateTimePicker };
198
- declare const _default: React.ForwardRefExoticComponent<OldApiProps & Omit<TextFieldProps, "value" | "onChange"> & {
199
- /**
200
- * The type of picker to display ('date' or 'time')
201
- */
202
- mode?: DateTimePickerMode | undefined;
203
- /**
204
- * The initial value to set the picker to. Defaults to device's date / time
205
- */
206
- value?: Date | undefined;
207
- /**
208
- * The props to pass to the dialog expandable container
209
- */
210
- dialogProps?: DialogProps | undefined;
211
- /**
212
- * The onChange callback
213
- */
214
- onChange?: ((date: Date) => void) | undefined;
215
- /**
216
- * Should this input be editable or disabled
217
- */
218
- editable?: boolean | undefined;
219
- /**
220
- * The minimum date or time value to use
221
- */
222
- minimumDate?: Date | undefined;
223
- /**
224
- * The maximum date or time value to use
225
- */
226
- maximumDate?: Date | undefined;
227
- /**
228
- * A callback function to format the time or date
229
- * @param mode the type of the picker ('date' or 'time')
230
- * @returns the formatted string to display
231
- */
232
- dateTimeFormatter?: ((value: Date, mode: DateTimePickerMode) => string) | undefined;
233
- /**
234
- * Allows changing of the locale of the component (iOS only)
235
- */
236
- locale?: string | undefined;
237
- /**
238
- * Allows changing of the time picker to a 24 hour format (Android only)
239
- */
240
- is24Hour?: boolean | undefined;
241
- /**
242
- * The interval at which minutes can be selected. Possible values are: 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30 (iOS only)
243
- */
244
- minuteInterval?: number | undefined;
245
- /**
246
- * Allows changing of the timeZone of the date picker. By default it uses the device's time zone (iOS only)
247
- */
248
- timeZoneOffsetInMinutes?: number | undefined;
249
- /**
250
- * style to apply to the iOS dialog header
251
- */
252
- headerStyle?: StyleProp<ViewStyle>;
253
- /**
254
- * Render custom input
255
- */
256
- renderInput?: ((props: Omit<DateTimePickerProps, "value"> & {
257
- value?: string | undefined;
258
- }) => React.ReactElement<any, string | React.JSXElementConstructor<any>>) | undefined;
259
- /**
260
- * Override system theme variant (dark or light mode) used by the date picker.
261
- */
262
- themeVariant?: "light" | "dark" | undefined;
263
- /**
264
- * The component testID
265
- */
266
- testID?: string | undefined;
267
- /**
268
- * Allows changing the visual display of the picker
269
- */
270
- display?: string | undefined;
271
- /**
272
- * Text color of the wheel picker items
273
- */
274
- textColor?: string | undefined;
275
- /**
276
- * Background color of the wheel picker
277
- */
278
- backgroundColor?: string | undefined;
279
- /**
280
- * Confirm button props
281
- */
282
- confirmButtonProps?: ButtonProps | undefined;
283
- /**
284
- * Cancel button props
285
- */
286
- cancelButtonProps?: ButtonProps | undefined;
287
- } & React.RefAttributes<any>>;
106
+ declare const _default: React.ForwardRefExoticComponent<DateTimePickerProps & React.RefAttributes<any>>;
288
107
  export default _default;
@@ -42,6 +42,7 @@ const DateTimePicker = forwardRef((props, ref) => {
42
42
  themeVariant = Colors.getScheme(),
43
43
  onChange,
44
44
  dialogProps,
45
+ migrateDialog,
45
46
  textColor = Colors.$textDefault,
46
47
  backgroundColor = Colors.$backgroundDefault,
47
48
  headerStyle,
@@ -149,10 +150,10 @@ const DateTimePicker = forwardRef((props, ref) => {
149
150
  return <RNDateTimePicker mode={mode} value={value || new Date()} onChange={handleChange} minimumDate={minimumDate} maximumDate={maximumDate} locale={locale} is24Hour={is24Hour} minuteInterval={minuteInterval} timeZoneOffsetInMinutes={timeZoneOffsetInMinutes} display={display} textColor={textColor} style={dateTimePickerStyle} themeVariant={themeVariant} testID={`${testID}.picker`} />;
150
151
  }, [mode, value, handleChange, minimumDate, maximumDate, locale, is24Hour, minuteInterval, timeZoneOffsetInMinutes, themeVariant]);
151
152
  const renderIOSExpandableOverlay = () => {
152
- return <View>
153
+ return <>
153
154
  {renderHeader()}
154
155
  {renderDateTimePicker()}
155
- </View>;
156
+ </>;
156
157
  };
157
158
  const renderAndroidDateTimePicker = useCallback(({
158
159
  visible
@@ -164,7 +165,7 @@ const DateTimePicker = forwardRef((props, ref) => {
164
165
  return <>
165
166
  <ExpandableOverlay
166
167
  // @ts-expect-error
167
- ref={expandable} expandableContent={Constants.isIOS ? renderIOSExpandableOverlay() : undefined} useDialog dialogProps={_dialogProps} disabled={editable === false}
168
+ ref={expandable} expandableContent={Constants.isIOS ? renderIOSExpandableOverlay() : undefined} useDialog dialogProps={_dialogProps} migrateDialog={migrateDialog} disabled={editable === false}
168
169
  // NOTE: Android picker comes with its own overlay built-in therefor we're not using ExpandableOverlay for it
169
170
  renderCustomOverlay={Constants.isAndroid ? renderAndroidDateTimePicker : undefined} testID={`${testID}.overlay`}>
170
171
  {renderInput ? renderInput({
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { StyleProp, ViewStyle } from 'react-native';
3
+ import { PanningDirections } from '../panningViews/panningProvider';
4
+ interface DialogDismissibleProps {
5
+ /**
6
+ * Additional styling
7
+ */
8
+ style?: StyleProp<ViewStyle>;
9
+ /**
10
+ * The direction of the allowed pan (default is DOWN)
11
+ * Types: UP, DOWN, LEFT and RIGHT (using PanningProvider.Directions.###)
12
+ */
13
+ direction?: PanningDirections;
14
+ /**
15
+ * onDismiss callback
16
+ */
17
+ onDismiss?: () => void;
18
+ /**
19
+ * The dialog`s container style
20
+ */
21
+ containerStyle?: StyleProp<ViewStyle>;
22
+ /**
23
+ * Whether to show the dialog or not
24
+ */
25
+ visible?: boolean;
26
+ }
27
+ interface Props extends DialogDismissibleProps {
28
+ children?: React.ReactNode | React.ReactNode[];
29
+ }
30
+ declare const DialogDismissibleView: {
31
+ (props: Props): React.JSX.Element;
32
+ displayName: string;
33
+ };
34
+ export default DialogDismissibleView;