@webority-technologies/mobile 0.0.15 → 0.0.21

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 (202) hide show
  1. package/lib/commonjs/components/Accordion/Accordion.js +60 -19
  2. package/lib/commonjs/components/AppBar/AppBar.js +29 -20
  3. package/lib/commonjs/components/Avatar/Avatar.js +38 -8
  4. package/lib/commonjs/components/Badge/Badge.js +66 -4
  5. package/lib/commonjs/components/Banner/Banner.js +146 -66
  6. package/lib/commonjs/components/BottomNavigation/BottomNavigation.js +37 -15
  7. package/lib/commonjs/components/BottomSheet/BottomSheet.js +78 -53
  8. package/lib/commonjs/components/Button/Button.js +12 -5
  9. package/lib/commonjs/components/Card/Card.js +106 -16
  10. package/lib/commonjs/components/Carousel/Carousel.js +66 -12
  11. package/lib/commonjs/components/Checkbox/Checkbox.js +11 -7
  12. package/lib/commonjs/components/Chip/Chip.js +44 -12
  13. package/lib/commonjs/components/DatePicker/DatePicker.js +185 -76
  14. package/lib/commonjs/components/DateRangePicker/DateRangePicker.js +133 -59
  15. package/lib/commonjs/components/Dialog/Dialog.js +16 -10
  16. package/lib/commonjs/components/Drawer/Drawer.js +13 -10
  17. package/lib/commonjs/components/FieldBase/FieldBase.js +494 -0
  18. package/lib/commonjs/components/FieldBase/index.js +32 -0
  19. package/lib/commonjs/components/FloatingActionButton/FloatingActionButton.js +69 -44
  20. package/lib/commonjs/components/ForceUpdateDialog/ForceUpdateDialog.js +8 -2
  21. package/lib/commonjs/components/FormField/FormField.js +3 -2
  22. package/lib/commonjs/components/ImageGallery/ImageGallery.js +132 -44
  23. package/lib/commonjs/components/Input/Input.js +144 -181
  24. package/lib/commonjs/components/ListItem/ListItem.js +90 -11
  25. package/lib/commonjs/components/Modal/Modal.js +55 -27
  26. package/lib/commonjs/components/NumberInput/NumberInput.js +60 -106
  27. package/lib/commonjs/components/OTPInput/OTPInput.js +65 -58
  28. package/lib/commonjs/components/PickerTrigger/PickerTrigger.js +185 -0
  29. package/lib/commonjs/components/{AppIcon → PickerTrigger}/index.js +4 -4
  30. package/lib/commonjs/components/ProgressBar/ProgressBar.js +19 -11
  31. package/lib/commonjs/components/Radio/Radio.js +11 -6
  32. package/lib/commonjs/components/Rating/Rating.js +85 -19
  33. package/lib/commonjs/components/SearchBar/SearchBar.js +90 -107
  34. package/lib/commonjs/components/SegmentedControl/SegmentedControl.js +22 -11
  35. package/lib/commonjs/components/Select/Select.js +62 -91
  36. package/lib/commonjs/components/Skeleton/Skeleton.js +131 -174
  37. package/lib/commonjs/components/Skeleton/SkeletonClock.js +117 -0
  38. package/lib/commonjs/components/Skeleton/SkeletonContent.js +164 -81
  39. package/lib/commonjs/components/Skeleton/SkeletonProvider.js +72 -10
  40. package/lib/commonjs/components/Skeleton/index.js +17 -16
  41. package/lib/commonjs/components/Slider/Slider.js +44 -25
  42. package/lib/commonjs/components/Stepper/Stepper.js +199 -29
  43. package/lib/commonjs/components/Swipeable/Swipeable.js +36 -19
  44. package/lib/commonjs/components/Switch/Switch.js +9 -2
  45. package/lib/commonjs/components/Tabs/Tabs.js +84 -21
  46. package/lib/commonjs/components/TimePicker/TimePicker.js +123 -45
  47. package/lib/commonjs/components/Toast/Toast.js +27 -16
  48. package/lib/commonjs/components/Tooltip/Tooltip.js +56 -32
  49. package/lib/commonjs/components/index.js +37 -37
  50. package/lib/commonjs/theme/tokens.js +55 -7
  51. package/lib/module/components/Accordion/Accordion.js +61 -20
  52. package/lib/module/components/AppBar/AppBar.js +29 -20
  53. package/lib/module/components/Avatar/Avatar.js +39 -9
  54. package/lib/module/components/Badge/Badge.js +67 -5
  55. package/lib/module/components/Banner/Banner.js +147 -67
  56. package/lib/module/components/BottomNavigation/BottomNavigation.js +37 -15
  57. package/lib/module/components/BottomSheet/BottomSheet.js +80 -55
  58. package/lib/module/components/Button/Button.js +12 -5
  59. package/lib/module/components/Card/Card.js +107 -17
  60. package/lib/module/components/Carousel/Carousel.js +67 -13
  61. package/lib/module/components/Checkbox/Checkbox.js +11 -7
  62. package/lib/module/components/Chip/Chip.js +45 -13
  63. package/lib/module/components/DatePicker/DatePicker.js +185 -76
  64. package/lib/module/components/DateRangePicker/DateRangePicker.js +134 -60
  65. package/lib/module/components/Dialog/Dialog.js +16 -10
  66. package/lib/module/components/Drawer/Drawer.js +13 -10
  67. package/lib/module/components/FieldBase/FieldBase.js +485 -0
  68. package/lib/module/components/FieldBase/index.js +4 -0
  69. package/lib/module/components/FloatingActionButton/FloatingActionButton.js +69 -44
  70. package/lib/module/components/ForceUpdateDialog/ForceUpdateDialog.js +8 -2
  71. package/lib/module/components/FormField/FormField.js +3 -2
  72. package/lib/module/components/ImageGallery/ImageGallery.js +128 -40
  73. package/lib/module/components/Input/Input.js +144 -179
  74. package/lib/module/components/ListItem/ListItem.js +91 -12
  75. package/lib/module/components/Modal/Modal.js +55 -27
  76. package/lib/module/components/NumberInput/NumberInput.js +60 -106
  77. package/lib/module/components/OTPInput/OTPInput.js +65 -58
  78. package/lib/module/components/PickerTrigger/PickerTrigger.js +181 -0
  79. package/lib/module/components/PickerTrigger/index.js +4 -0
  80. package/lib/module/components/ProgressBar/ProgressBar.js +19 -11
  81. package/lib/module/components/Radio/Radio.js +11 -6
  82. package/lib/module/components/Rating/Rating.js +86 -20
  83. package/lib/module/components/SearchBar/SearchBar.js +90 -107
  84. package/lib/module/components/SegmentedControl/SegmentedControl.js +22 -11
  85. package/lib/module/components/Select/Select.js +62 -91
  86. package/lib/module/components/Skeleton/Skeleton.js +135 -175
  87. package/lib/module/components/Skeleton/SkeletonClock.js +110 -0
  88. package/lib/module/components/Skeleton/SkeletonContent.js +167 -84
  89. package/lib/module/components/Skeleton/SkeletonProvider.js +71 -10
  90. package/lib/module/components/Skeleton/index.js +3 -2
  91. package/lib/module/components/Slider/Slider.js +44 -25
  92. package/lib/module/components/Stepper/Stepper.js +201 -31
  93. package/lib/module/components/Swipeable/Swipeable.js +36 -19
  94. package/lib/module/components/Switch/Switch.js +9 -2
  95. package/lib/module/components/Tabs/Tabs.js +84 -21
  96. package/lib/module/components/TimePicker/TimePicker.js +123 -45
  97. package/lib/module/components/Toast/Toast.js +27 -16
  98. package/lib/module/components/Tooltip/Tooltip.js +56 -32
  99. package/lib/module/components/index.js +2 -2
  100. package/lib/module/theme/tokens.js +55 -7
  101. package/lib/typescript/commonjs/components/Accordion/Accordion.d.ts +10 -5
  102. package/lib/typescript/commonjs/components/AppBar/AppBar.d.ts +8 -0
  103. package/lib/typescript/commonjs/components/Avatar/Avatar.d.ts +12 -6
  104. package/lib/typescript/commonjs/components/Badge/Badge.d.ts +7 -6
  105. package/lib/typescript/commonjs/components/Banner/Banner.d.ts +17 -6
  106. package/lib/typescript/commonjs/components/BottomSheet/BottomSheet.d.ts +7 -0
  107. package/lib/typescript/commonjs/components/Card/Card.d.ts +17 -6
  108. package/lib/typescript/commonjs/components/Carousel/Carousel.d.ts +7 -6
  109. package/lib/typescript/commonjs/components/Checkbox/Checkbox.d.ts +9 -1
  110. package/lib/typescript/commonjs/components/Chip/Chip.d.ts +13 -6
  111. package/lib/typescript/commonjs/components/DatePicker/DatePicker.d.ts +38 -3
  112. package/lib/typescript/commonjs/components/DateRangePicker/DateRangePicker.d.ts +36 -3
  113. package/lib/typescript/commonjs/components/Dialog/Dialog.d.ts +13 -1
  114. package/lib/typescript/commonjs/components/FieldBase/FieldBase.d.ts +172 -0
  115. package/lib/typescript/commonjs/components/FieldBase/index.d.ts +3 -0
  116. package/lib/typescript/commonjs/components/FloatingActionButton/FloatingActionButton.d.ts +8 -6
  117. package/lib/typescript/commonjs/components/FloatingActionButton/index.d.ts +1 -1
  118. package/lib/typescript/commonjs/components/ForceUpdateDialog/ForceUpdateDialog.d.ts +7 -0
  119. package/lib/typescript/commonjs/components/FormField/FormField.d.ts +7 -0
  120. package/lib/typescript/commonjs/components/ImageGallery/ImageGallery.d.ts +6 -4
  121. package/lib/typescript/commonjs/components/Input/Input.d.ts +7 -1
  122. package/lib/typescript/commonjs/components/ListItem/ListItem.d.ts +13 -6
  123. package/lib/typescript/commonjs/components/NumberInput/NumberInput.d.ts +3 -0
  124. package/lib/typescript/commonjs/components/PickerTrigger/PickerTrigger.d.ts +57 -0
  125. package/lib/typescript/commonjs/components/PickerTrigger/index.d.ts +3 -0
  126. package/lib/typescript/commonjs/components/ProgressBar/ProgressBar.d.ts +2 -0
  127. package/lib/typescript/commonjs/components/Radio/Radio.d.ts +3 -0
  128. package/lib/typescript/commonjs/components/Rating/Rating.d.ts +9 -6
  129. package/lib/typescript/commonjs/components/SegmentedControl/SegmentedControl.d.ts +3 -0
  130. package/lib/typescript/commonjs/components/Skeleton/Skeleton.d.ts +49 -20
  131. package/lib/typescript/commonjs/components/Skeleton/SkeletonClock.d.ts +60 -0
  132. package/lib/typescript/commonjs/components/Skeleton/SkeletonContent.d.ts +80 -19
  133. package/lib/typescript/commonjs/components/Skeleton/SkeletonProvider.d.ts +39 -5
  134. package/lib/typescript/commonjs/components/Skeleton/index.d.ts +6 -4
  135. package/lib/typescript/commonjs/components/Slider/Slider.d.ts +12 -1
  136. package/lib/typescript/commonjs/components/Stepper/Stepper.d.ts +18 -6
  137. package/lib/typescript/commonjs/components/Swipeable/Swipeable.d.ts +2 -0
  138. package/lib/typescript/commonjs/components/Switch/Switch.d.ts +1 -0
  139. package/lib/typescript/commonjs/components/Tabs/Tabs.d.ts +26 -2
  140. package/lib/typescript/commonjs/components/TimePicker/TimePicker.d.ts +36 -3
  141. package/lib/typescript/commonjs/components/Toast/Toast.d.ts +8 -0
  142. package/lib/typescript/commonjs/components/Tooltip/Tooltip.d.ts +7 -1
  143. package/lib/typescript/commonjs/components/index.d.ts +5 -5
  144. package/lib/typescript/commonjs/index.d.ts +1 -1
  145. package/lib/typescript/commonjs/theme/index.d.ts +1 -1
  146. package/lib/typescript/commonjs/theme/types.d.ts +578 -12
  147. package/lib/typescript/module/components/Accordion/Accordion.d.ts +10 -5
  148. package/lib/typescript/module/components/AppBar/AppBar.d.ts +8 -0
  149. package/lib/typescript/module/components/Avatar/Avatar.d.ts +12 -6
  150. package/lib/typescript/module/components/Badge/Badge.d.ts +7 -6
  151. package/lib/typescript/module/components/Banner/Banner.d.ts +17 -6
  152. package/lib/typescript/module/components/BottomSheet/BottomSheet.d.ts +7 -0
  153. package/lib/typescript/module/components/Card/Card.d.ts +17 -6
  154. package/lib/typescript/module/components/Carousel/Carousel.d.ts +7 -6
  155. package/lib/typescript/module/components/Checkbox/Checkbox.d.ts +9 -1
  156. package/lib/typescript/module/components/Chip/Chip.d.ts +13 -6
  157. package/lib/typescript/module/components/DatePicker/DatePicker.d.ts +38 -3
  158. package/lib/typescript/module/components/DateRangePicker/DateRangePicker.d.ts +36 -3
  159. package/lib/typescript/module/components/Dialog/Dialog.d.ts +13 -1
  160. package/lib/typescript/module/components/FieldBase/FieldBase.d.ts +172 -0
  161. package/lib/typescript/module/components/FieldBase/index.d.ts +3 -0
  162. package/lib/typescript/module/components/FloatingActionButton/FloatingActionButton.d.ts +8 -6
  163. package/lib/typescript/module/components/FloatingActionButton/index.d.ts +1 -1
  164. package/lib/typescript/module/components/ForceUpdateDialog/ForceUpdateDialog.d.ts +7 -0
  165. package/lib/typescript/module/components/FormField/FormField.d.ts +7 -0
  166. package/lib/typescript/module/components/ImageGallery/ImageGallery.d.ts +6 -4
  167. package/lib/typescript/module/components/Input/Input.d.ts +7 -1
  168. package/lib/typescript/module/components/ListItem/ListItem.d.ts +13 -6
  169. package/lib/typescript/module/components/NumberInput/NumberInput.d.ts +3 -0
  170. package/lib/typescript/module/components/PickerTrigger/PickerTrigger.d.ts +57 -0
  171. package/lib/typescript/module/components/PickerTrigger/index.d.ts +3 -0
  172. package/lib/typescript/module/components/ProgressBar/ProgressBar.d.ts +2 -0
  173. package/lib/typescript/module/components/Radio/Radio.d.ts +3 -0
  174. package/lib/typescript/module/components/Rating/Rating.d.ts +9 -6
  175. package/lib/typescript/module/components/SegmentedControl/SegmentedControl.d.ts +3 -0
  176. package/lib/typescript/module/components/Skeleton/Skeleton.d.ts +49 -20
  177. package/lib/typescript/module/components/Skeleton/SkeletonClock.d.ts +60 -0
  178. package/lib/typescript/module/components/Skeleton/SkeletonContent.d.ts +80 -19
  179. package/lib/typescript/module/components/Skeleton/SkeletonProvider.d.ts +39 -5
  180. package/lib/typescript/module/components/Skeleton/index.d.ts +6 -4
  181. package/lib/typescript/module/components/Slider/Slider.d.ts +12 -1
  182. package/lib/typescript/module/components/Stepper/Stepper.d.ts +18 -6
  183. package/lib/typescript/module/components/Swipeable/Swipeable.d.ts +2 -0
  184. package/lib/typescript/module/components/Switch/Switch.d.ts +1 -0
  185. package/lib/typescript/module/components/Tabs/Tabs.d.ts +26 -2
  186. package/lib/typescript/module/components/TimePicker/TimePicker.d.ts +36 -3
  187. package/lib/typescript/module/components/Toast/Toast.d.ts +8 -0
  188. package/lib/typescript/module/components/Tooltip/Tooltip.d.ts +7 -1
  189. package/lib/typescript/module/components/index.d.ts +5 -5
  190. package/lib/typescript/module/index.d.ts +1 -1
  191. package/lib/typescript/module/theme/index.d.ts +1 -1
  192. package/lib/typescript/module/theme/types.d.ts +578 -12
  193. package/package.json +2 -6
  194. package/lib/commonjs/components/AppIcon/AppIcon.js +0 -120
  195. package/lib/commonjs/types/vector-icons.d.js +0 -2
  196. package/lib/module/components/AppIcon/AppIcon.js +0 -111
  197. package/lib/module/components/AppIcon/index.js +0 -4
  198. package/lib/module/types/vector-icons.d.js +0 -2
  199. package/lib/typescript/commonjs/components/AppIcon/AppIcon.d.ts +0 -20
  200. package/lib/typescript/commonjs/components/AppIcon/index.d.ts +0 -3
  201. package/lib/typescript/module/components/AppIcon/AppIcon.d.ts +0 -20
  202. package/lib/typescript/module/components/AppIcon/index.d.ts +0 -3
@@ -1,12 +1,27 @@
1
1
  import React from 'react';
2
2
  import type { StyleProp, ViewStyle } from 'react-native';
3
+ import type { PickerTriggerSize, PickerTriggerVariant } from '../PickerTrigger';
3
4
  export type DatePickerMode = 'modal' | 'inline';
4
5
  export type WeekStart = 0 | 1 | 6;
6
+ /**
7
+ * DatePicker operates in two modes:
8
+ *
9
+ * 1. **Controlled-modal mode** — pass `visible` (plus `onSelect` / `onClose`)
10
+ * and own the open state externally. The component renders only the modal.
11
+ * 2. **Trigger mode** — omit `visible`. The component renders a built-in
12
+ * PickerTrigger field (label / value / placeholder / chevron / clear /
13
+ * helper / error / size / variant) and manages its own open state. The
14
+ * field opens the modal on press and closes it on confirm/cancel.
15
+ *
16
+ * `onSelect` / `onClose` are typed optional to support trigger-only usage
17
+ * where the consumer may not need either callback. In controlled-modal mode
18
+ * they remain semantically required.
19
+ */
5
20
  export interface DatePickerProps {
6
- visible: boolean;
21
+ visible?: boolean;
7
22
  value?: Date | null;
8
- onSelect: (date: Date) => void;
9
- onClose: () => void;
23
+ onSelect?: (date: Date) => void;
24
+ onClose?: () => void;
10
25
  minDate?: Date;
11
26
  maxDate?: Date;
12
27
  disabledDates?: Date[];
@@ -17,7 +32,27 @@ export interface DatePickerProps {
17
32
  confirmLabel?: string;
18
33
  cancelLabel?: string;
19
34
  style?: StyleProp<ViewStyle>;
35
+ /** Outer container style applied to the calendar card. */
36
+ containerStyle?: StyleProp<ViewStyle>;
37
+ /** Style override for the header label text wrapper (month/year). */
38
+ headerLabelStyle?: StyleProp<ViewStyle>;
39
+ /** Style override for the previous/next navigation buttons. */
40
+ navButtonStyle?: StyleProp<ViewStyle>;
41
+ /** Style override for the cancel/confirm footer buttons. */
42
+ footerButtonStyle?: StyleProp<ViewStyle>;
20
43
  testID?: string;
44
+ label?: string;
45
+ placeholder?: string;
46
+ helperText?: string;
47
+ error?: string;
48
+ required?: boolean;
49
+ disabled?: boolean;
50
+ size?: PickerTriggerSize;
51
+ variant?: PickerTriggerVariant;
52
+ clearable?: boolean;
53
+ onClear?: () => void;
54
+ formatValue?: (date: Date) => string;
55
+ triggerStyle?: StyleProp<ViewStyle>;
21
56
  }
22
57
  declare const DatePicker: React.FC<DatePickerProps>;
23
58
  export { DatePicker };
@@ -1,19 +1,44 @@
1
1
  import React from 'react';
2
2
  import { View } from 'react-native';
3
3
  import type { StyleProp, ViewStyle } from 'react-native';
4
+ import type { PickerTriggerSize, PickerTriggerVariant } from '../PickerTrigger';
4
5
  export type WeekStart = 0 | 1 | 6;
5
6
  export interface DateRange {
6
7
  start: Date | null;
7
8
  end: Date | null;
8
9
  }
10
+ /**
11
+ * DateRangePicker — supports two usage modes:
12
+ *
13
+ * 1. Controlled-modal mode (pass `visible` + `onClose`): renders only the
14
+ * modal; parent owns open/close state.
15
+ * 2. Trigger mode (omit `visible`): renders a built-in `PickerTrigger`
16
+ * field that opens an internally-managed modal on tap. Confirm fires
17
+ * `onChange?.(...)` and closes.
18
+ */
9
19
  export interface DateRangePickerProps {
10
- visible: boolean;
20
+ visible?: boolean;
11
21
  value: DateRange;
12
- onChange: (range: {
22
+ onChange?: (range: {
13
23
  start: Date;
14
24
  end: Date;
15
25
  }) => void;
16
- onClose: () => void;
26
+ onClose?: () => void;
27
+ label?: string;
28
+ placeholder?: string;
29
+ helperText?: string;
30
+ error?: string;
31
+ required?: boolean;
32
+ disabled?: boolean;
33
+ size?: PickerTriggerSize;
34
+ variant?: PickerTriggerVariant;
35
+ clearable?: boolean;
36
+ onClear?: () => void;
37
+ formatValue?: (range: {
38
+ start: Date;
39
+ end: Date;
40
+ }) => string;
41
+ triggerStyle?: StyleProp<ViewStyle>;
17
42
  minDate?: Date;
18
43
  maxDate?: Date;
19
44
  disabledDates?: Date[];
@@ -24,6 +49,14 @@ export interface DateRangePickerProps {
24
49
  cancelLabel?: string;
25
50
  maxRange?: number;
26
51
  style?: StyleProp<ViewStyle>;
52
+ /** Outer container style applied to the calendar card. */
53
+ containerStyle?: StyleProp<ViewStyle>;
54
+ /** Style override for the header label (month/year) wrapper. */
55
+ headerLabelStyle?: StyleProp<ViewStyle>;
56
+ /** Style override for the previous/next navigation buttons. */
57
+ navButtonStyle?: StyleProp<ViewStyle>;
58
+ /** Style override for the cancel/confirm footer buttons. */
59
+ footerButtonStyle?: StyleProp<ViewStyle>;
27
60
  testID?: string;
28
61
  }
29
62
  declare const DateRangePicker: React.ForwardRefExoticComponent<DateRangePickerProps & React.RefAttributes<View>>;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { StyleProp, ViewStyle } from 'react-native';
2
+ import type { StyleProp, TextStyle, ViewStyle } from 'react-native';
3
3
  export type DialogVariant = 'default' | 'success' | 'warning' | 'danger' | 'info';
4
4
  export type DialogActionTone = 'primary' | 'neutral' | 'danger';
5
5
  export interface DialogAction {
@@ -22,6 +22,18 @@ export interface DialogProps {
22
22
  contentStyle?: StyleProp<ViewStyle>;
23
23
  /** Style applied to the dialog inner container (above icon/title/message). */
24
24
  containerStyle?: StyleProp<ViewStyle>;
25
+ /** Style override for the title text. */
26
+ titleStyle?: StyleProp<TextStyle>;
27
+ /** Style override for the message text (only applied when message is a string). */
28
+ messageStyle?: StyleProp<TextStyle>;
29
+ /** Style override for the icon wrapper view. */
30
+ iconWrapperStyle?: StyleProp<ViewStyle>;
31
+ /** Style override for the actions row container. */
32
+ actionsRowStyle?: StyleProp<ViewStyle>;
33
+ /** Style override applied to every action button pressable. */
34
+ actionButtonStyle?: StyleProp<ViewStyle>;
35
+ /** Style override applied to every action button label text. */
36
+ actionTextStyle?: StyleProp<TextStyle>;
25
37
  testID?: string;
26
38
  }
27
39
  declare const Dialog: React.FC<DialogProps>;
@@ -0,0 +1,172 @@
1
+ /**
2
+ * FieldBase — the unified field-box primitive.
3
+ *
4
+ * Every input-like control in the library (Input, Select, SearchBar,
5
+ * NumberInput, OTPInput cell, PickerTrigger) composes FieldBase so the
6
+ * height / radius / padding / border / fill / focus + disabled + error
7
+ * states stay identical across the library. Differences (pill SearchBar,
8
+ * OTP underline, NumberInput steppers) become explicit overrides via
9
+ * props or via theme tokens — never accidental drift.
10
+ *
11
+ * Responsibilities:
12
+ * - Resolve size / variant dimensions from `theme.components.field`.
13
+ * - Animate the border + background between idle / focused / error.
14
+ * - Render leading + trailing slots either side of `children`.
15
+ * - Become Pressable when `onPress` is set (Select, PickerTrigger).
16
+ * - Apply disabled fill + cursor semantics.
17
+ *
18
+ * Non-responsibilities (the parent owns these):
19
+ * - The actual TextInput / Text / nested editor.
20
+ * - Floating / static labels rendered above the field.
21
+ * - Helper / error / counter text rendered below the field.
22
+ * - Shake-on-error or any cross-field animation.
23
+ */
24
+ import React from 'react';
25
+ import type { AccessibilityRole, AccessibilityState, StyleProp, TextStyle, ViewStyle } from 'react-native';
26
+ import type { FieldSide, FieldSizeTokens, FieldVariantTokens, Theme } from '../../theme/types';
27
+ export type FieldBaseSize = 'sm' | 'md' | 'lg';
28
+ export type FieldBaseVariant = 'outlined' | 'filled' | 'underline';
29
+ /**
30
+ * Pick the most "representative" side colour from a 4-side record. Used by
31
+ * consumers (Input's selectionColor, focus rings, etc.) that need a single
32
+ * colour to mirror the visible focus indicator. Priority: bottom → top →
33
+ * left → right, skipping `'transparent'`. The bottom-first order means
34
+ * underline variants pick their underline colour automatically.
35
+ */
36
+ export declare const pickRepresentativeBorderColor: (sides: Record<FieldSide, string>) => string;
37
+ export interface FieldBaseProps {
38
+ /** Resolves to dimension tokens at `theme.components.field[size]`. Default `'md'`. */
39
+ size?: FieldBaseSize;
40
+ /**
41
+ * Controls the resting fill + border treatment. Override the theme default
42
+ * (`theme.components.field.defaultVariant`) via this prop. Default `'outlined'`.
43
+ */
44
+ variant?: FieldBaseVariant;
45
+ /** Parent-controlled focus state — drives the border + fill animation. */
46
+ focused?: boolean;
47
+ /** Disabled state — wins over `focused` / `error`. */
48
+ disabled?: boolean;
49
+ /** Error state — visually wins over `focused`. */
50
+ error?: boolean;
51
+ /** Whether the field currently holds a value. Affects idle-empty vs idle-filled fill. */
52
+ filled?: boolean;
53
+ /** Slot to the left of `children`. Rendered inside the padded row. */
54
+ leading?: React.ReactNode;
55
+ /** Slot to the right of `children`. Rendered inside the padded row. */
56
+ trailing?: React.ReactNode;
57
+ /** The editable / displayed content. TextInput, Text, OTP, anything. */
58
+ children?: React.ReactNode;
59
+ /**
60
+ * When provided, the entire field becomes Pressable. Use for Select /
61
+ * PickerTrigger / any non-text-input field. Disabled when `disabled` is true.
62
+ */
63
+ onPress?: () => void;
64
+ /** Override `minHeight` (multiline Input). */
65
+ minHeight?: number;
66
+ /** Override `maxHeight` (rarely needed). */
67
+ maxHeight?: number;
68
+ /** Fixed pixel width — used by OTP cells. Suppresses default `flex: 1`. */
69
+ width?: number;
70
+ /** Fixed pixel height — used by OTP cells. Wins over `minHeight`. */
71
+ height?: number;
72
+ /** Override horizontal padding. */
73
+ paddingHorizontal?: number;
74
+ /** Override vertical padding (single-line). Multiline parents usually leave this default. */
75
+ paddingVertical?: number;
76
+ /** Override corner radius (shorthand — all four corners). SearchBar pill uses this to apply `radius.full`. */
77
+ borderRadius?: number;
78
+ /** Top-left corner radius. Wins over `borderRadius`. */
79
+ borderTopLeftRadius?: number;
80
+ /** Top-right corner radius. Wins over `borderRadius`. */
81
+ borderTopRightRadius?: number;
82
+ /** Bottom-left corner radius. Wins over `borderRadius`. */
83
+ borderBottomLeftRadius?: number;
84
+ /** Bottom-right corner radius. Wins over `borderRadius`. */
85
+ borderBottomRightRadius?: number;
86
+ /** Override border width (shorthand — all four sides). OTP uses 1.5; everything else inherits `colors.border.width`. */
87
+ borderWidth?: number;
88
+ /** Top border width. Wins over `borderWidth`. */
89
+ borderTopWidth?: number;
90
+ /** Right border width. Wins over `borderWidth`. */
91
+ borderRightWidth?: number;
92
+ /** Bottom border width. Wins over `borderWidth`. */
93
+ borderBottomWidth?: number;
94
+ /** Left border width. Wins over `borderWidth`. */
95
+ borderLeftWidth?: number;
96
+ /** Gap between leading / children / trailing. Defaults to `theme.spacing.sm`. */
97
+ gap?: number;
98
+ fillOverrides?: Partial<FieldVariantTokens>;
99
+ style?: StyleProp<ViewStyle>;
100
+ testID?: string;
101
+ accessibilityRole?: AccessibilityRole;
102
+ accessibilityLabel?: string;
103
+ accessibilityState?: AccessibilityState;
104
+ accessibilityHint?: string;
105
+ }
106
+ /**
107
+ * Resolved text styling for the editable / displayed content inside a field.
108
+ * Single source of truth so every field component (Input, NumberInput,
109
+ * Select, SearchBar, PickerTrigger) renders identical colour + weight +
110
+ * fontFamily for value text — and reads the placeholder colour from the
111
+ * same place. OTPInput intentionally overrides this with its own semibold
112
+ * display weight.
113
+ */
114
+ export interface FieldTextStyleResolverOptions {
115
+ /** When true, returns the disabled foreground colour. */
116
+ disabled?: boolean;
117
+ }
118
+ export interface FieldTextStyle {
119
+ /** Foreground colour for the value text. */
120
+ color: string;
121
+ /** Placeholder foreground colour (TextInput's `placeholderTextColor` prop). */
122
+ placeholderColor: string;
123
+ /** `fontFamily` (when a brand font is registered) or `fontWeight` (otherwise). */
124
+ weightStyle: Pick<TextStyle, 'fontFamily' | 'fontWeight'>;
125
+ }
126
+ /**
127
+ * Resolve the canonical text style chunk for a field's value. Reads from
128
+ * `theme.components.field.{textColor,disabledTextColor,placeholderColor,fontWeight}`
129
+ * with library-default fallbacks; brand fonts wired via `typography.fontFamily`
130
+ * apply via the shared `fontFor` helper.
131
+ */
132
+ export declare const resolveFieldTextStyle: (theme: Theme, options?: FieldTextStyleResolverOptions) => FieldTextStyle;
133
+ /**
134
+ * Public re-export of the resolved size tokens — components that need to
135
+ * compute their own padding adjustments (e.g. multiline Input, icon-slot
136
+ * sizing) read from this rather than re-hardcoding the size table.
137
+ */
138
+ export declare const resolveFieldSize: (theme: Theme, size: FieldBaseSize) => FieldSizeTokens;
139
+ /**
140
+ * Strict, fully-resolved colour set used internally. Mirrors `FieldVariantTokens`
141
+ * but every border colour / width is expanded to a 4-side record by the time
142
+ * the box renders, so the animation pipeline can treat per-side and shorthand
143
+ * the same way. `borderFocusedRepresentative` is a single colour pulled from
144
+ * the focused sides — exposed for consumers (Input's selectionColor) that
145
+ * need to mirror the visible focus indicator without re-resolving per side.
146
+ */
147
+ interface ResolvedFieldColors {
148
+ backgroundIdleEmpty: string;
149
+ backgroundIdleFilled: string;
150
+ /** Optional override fill while focused — when undefined, focus animates from idle to idle (no fill change). */
151
+ backgroundFocused: string | undefined;
152
+ /** Optional override fill while in error — when undefined, error animates from idle to idle. */
153
+ backgroundError: string | undefined;
154
+ backgroundDisabled: string;
155
+ borderIdle: Record<FieldSide, string>;
156
+ borderFocused: Record<FieldSide, string>;
157
+ borderError: Record<FieldSide, string>;
158
+ borderDisabled: Record<FieldSide, string>;
159
+ borderWidth: Record<FieldSide, number>;
160
+ /** Single representative colour from `borderFocused` — first non-transparent side, bottom-priority. */
161
+ borderFocusedRepresentative: string;
162
+ }
163
+ /**
164
+ * Resolve the full set of state-aware fill + border colours for a given
165
+ * variant. Order: explicit override → theme token → library default. Border
166
+ * colour + width are normalized to per-side records here; callers that need
167
+ * a single colour read `borderFocusedRepresentative`.
168
+ */
169
+ export declare const resolveVariantColors: (theme: Theme, variant: FieldBaseVariant, override?: Partial<FieldVariantTokens>) => ResolvedFieldColors;
170
+ export declare const FieldBase: React.FC<FieldBaseProps>;
171
+ export default FieldBase;
172
+ //# sourceMappingURL=FieldBase.d.ts.map
@@ -0,0 +1,3 @@
1
+ export { FieldBase, resolveFieldSize, resolveFieldTextStyle, default } from './FieldBase';
2
+ export type { FieldBaseProps, FieldBaseSize, FieldBaseVariant, FieldTextStyle, FieldTextStyleResolverOptions } from './FieldBase';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -1,16 +1,12 @@
1
1
  import React from 'react';
2
2
  import { View } from 'react-native';
3
3
  import type { StyleProp, ViewStyle } from 'react-native';
4
- import type { IconFamily } from '../AppIcon';
5
4
  export type FloatingActionButtonSize = 'sm' | 'md' | 'lg';
6
5
  export type FloatingActionButtonTone = 'primary' | 'success' | 'warning' | 'error' | 'neutral';
7
6
  export type FloatingActionButtonPosition = 'bottomRight' | 'bottomLeft' | 'bottomCenter';
8
- export interface FloatingActionButtonIconConfig {
9
- name: string;
10
- family?: IconFamily;
11
- }
12
7
  export interface FloatingActionButtonProps {
13
- icon: React.ReactNode | FloatingActionButtonIconConfig;
8
+ /** JSX element for the icon. The FAB sizes it via the `size` prop's iconSize token. */
9
+ icon: React.ReactNode;
14
10
  onPress: () => void;
15
11
  label?: string;
16
12
  size?: FloatingActionButtonSize;
@@ -23,6 +19,8 @@ export interface FloatingActionButtonProps {
23
19
  accessibilityLabel: string;
24
20
  accessibilityHint?: string;
25
21
  style?: StyleProp<ViewStyle>;
22
+ containerStyle?: StyleProp<ViewStyle>;
23
+ labelStyle?: StyleProp<ViewStyle>;
26
24
  testID?: string;
27
25
  }
28
26
  declare const FloatingActionButton: React.ForwardRefExoticComponent<FloatingActionButtonProps & React.RefAttributes<View>>;
@@ -45,6 +43,10 @@ export interface FloatingActionButtonGroupProps {
45
43
  bottomOffset?: number;
46
44
  size?: FloatingActionButtonSize;
47
45
  accessibilityLabel?: string;
46
+ containerStyle?: StyleProp<ViewStyle>;
47
+ secondaryActionStyle?: StyleProp<ViewStyle>;
48
+ labelPillStyle?: StyleProp<ViewStyle>;
49
+ labelStyle?: StyleProp<ViewStyle>;
48
50
  testID?: string;
49
51
  }
50
52
  declare const FloatingActionButtonGroup: React.FC<FloatingActionButtonGroupProps>;
@@ -1,3 +1,3 @@
1
1
  export { FloatingActionButton, FloatingActionButtonGroup, default } from './FloatingActionButton';
2
- export type { FloatingActionButtonProps, FloatingActionButtonSize, FloatingActionButtonTone, FloatingActionButtonPosition, FloatingActionButtonIconConfig, FloatingActionButtonGroupProps, FloatingActionButtonGroupAction } from './FloatingActionButton';
2
+ export type { FloatingActionButtonProps, FloatingActionButtonSize, FloatingActionButtonTone, FloatingActionButtonPosition, FloatingActionButtonGroupProps, FloatingActionButtonGroupAction } from './FloatingActionButton';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import type { StyleProp, TextStyle, ViewStyle } from 'react-native';
2
3
  export interface ForceUpdateDialogProps {
3
4
  /** Whether the dialog is visible. */
4
5
  visible: boolean;
@@ -19,6 +20,12 @@ export interface ForceUpdateDialogProps {
19
20
  updateLabel?: string;
20
21
  /** Custom label for the dismiss action. Hidden when `mandatory`. */
21
22
  laterLabel?: string;
23
+ /** Forwarded to the underlying Dialog container. */
24
+ containerStyle?: StyleProp<ViewStyle>;
25
+ /** Forwarded to the underlying Dialog title Text. */
26
+ titleStyle?: StyleProp<TextStyle>;
27
+ /** Forwarded to the underlying Dialog message Text. */
28
+ messageStyle?: StyleProp<TextStyle>;
22
29
  }
23
30
  /**
24
31
  * Drop-in update prompt that opens the App Store / Play Store on tap.
@@ -19,6 +19,13 @@ export interface FormFieldProps {
19
19
  helperStyle?: StyleProp<TextStyle>;
20
20
  errorStyle?: StyleProp<TextStyle>;
21
21
  containerStyle?: StyleProp<ViewStyle>;
22
+ /**
23
+ * Style override for the wrapper View that hosts `children` (the input slot).
24
+ * Useful for the `inline` layout when callers need to tweak the right-hand
25
+ * column (e.g., set a max width, align differently). Additive only — the
26
+ * library's base style still applies underneath.
27
+ */
28
+ inputContainerStyle?: StyleProp<ViewStyle>;
22
29
  accessibilityLabel?: string;
23
30
  testID?: string;
24
31
  }
@@ -32,16 +32,18 @@ export interface ImageGalleryProps {
32
32
  enablePinchZoom?: boolean;
33
33
  onIndexChange?: (idx: number) => void;
34
34
  /**
35
- * When true, renders the component as a skeleton placeholder via SkeletonContent's auto walker.
36
- * Component still renders its normal layout the walker replaces Text/Image/sized View leaves
37
- * with shimmer blocks. Use this when the data driving the component is still being fetched.
35
+ * When true, renders the component as its authored skeleton placeholder shape.
36
+ * The placeholder mirrors the real layout's footprint so the UI doesn't reflow
37
+ * when data arrives. Use this while the data driving the component is being fetched.
38
38
  */
39
39
  loading?: boolean;
40
40
  accessibilityLabel?: string;
41
41
  containerStyle?: StyleProp<ViewStyle>;
42
42
  testID?: string;
43
43
  }
44
- declare const ImageGallery: React.FC<ImageGalleryProps>;
44
+ declare const ImageGallery: React.FC<ImageGalleryProps> & {
45
+ Skeleton: React.FC<ImageGalleryProps>;
46
+ };
45
47
  export { ImageGallery };
46
48
  export default ImageGallery;
47
49
  //# sourceMappingURL=ImageGallery.d.ts.map
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { TextInput } from 'react-native';
3
3
  import type { BlurEvent, FocusEvent, StyleProp, TextInputProps, TextStyle, ViewStyle } from 'react-native';
4
4
  export type InputSize = 'sm' | 'md' | 'lg';
5
- export type InputVariant = 'outlined' | 'filled';
5
+ export type InputVariant = 'outlined' | 'filled' | 'underline';
6
6
  export type InputLabelMode = 'float' | 'top';
7
7
  export interface InputProps extends Omit<TextInputProps, 'style'> {
8
8
  label?: string;
@@ -43,8 +43,14 @@ export interface InputProps extends Omit<TextInputProps, 'style'> {
43
43
  */
44
44
  parse?: (formatted: string) => string;
45
45
  style?: StyleProp<ViewStyle>;
46
+ /** Style applied to the bordered field wrapper (the bit you'd colour or pad). Distinct from `style`, which targets the outermost container. */
47
+ containerStyle?: StyleProp<ViewStyle>;
46
48
  inputStyle?: StyleProp<TextStyle>;
47
49
  labelStyle?: StyleProp<TextStyle>;
50
+ /** Style applied to the helper/error text below the field. */
51
+ messageStyle?: StyleProp<TextStyle>;
52
+ /** Per-instance override for the field's corner radius. Wins over `theme.components.input.borderRadius` and size defaults. */
53
+ borderRadius?: number;
48
54
  onFocus?: (e: FocusEvent) => void;
49
55
  onBlur?: (e: BlurEvent) => void;
50
56
  accessibilityLabel?: string;
@@ -1,14 +1,13 @@
1
1
  import React from 'react';
2
- import { View } from 'react-native';
3
- import type { GestureResponderEvent, StyleProp, ViewStyle } from 'react-native';
2
+ import type { GestureResponderEvent, StyleProp, TextStyle, View as RNView, ViewStyle } from 'react-native';
4
3
  import type { SwipeableAction } from '../Swipeable';
5
4
  export type ListItemSize = 'sm' | 'md' | 'lg';
6
5
  export interface ListItemProps {
7
6
  title: string;
8
7
  /**
9
- * When true, renders the component as a skeleton placeholder via SkeletonContent's auto walker.
10
- * Component still renders its normal layout the walker replaces Text/Image/sized View leaves
11
- * with shimmer blocks. Use this when the data driving the component is still being fetched.
8
+ * When true, renders the component as its authored skeleton placeholder shape.
9
+ * The placeholder mirrors the real layout's footprint so the UI doesn't reflow
10
+ * when data arrives. Use this while the data driving the component is being fetched.
12
11
  */
13
12
  loading?: boolean;
14
13
  subtitle?: string;
@@ -28,9 +27,17 @@ export interface ListItemProps {
28
27
  accessibilityLabel?: string;
29
28
  accessibilityHint?: string;
30
29
  style?: StyleProp<ViewStyle>;
30
+ containerStyle?: StyleProp<ViewStyle>;
31
+ titleStyle?: StyleProp<TextStyle>;
32
+ subtitleStyle?: StyleProp<TextStyle>;
33
+ descriptionStyle?: StyleProp<TextStyle>;
34
+ leftSlotStyle?: StyleProp<ViewStyle>;
35
+ rightSlotStyle?: StyleProp<ViewStyle>;
31
36
  testID?: string;
32
37
  }
33
- declare const ListItem: React.ForwardRefExoticComponent<ListItemProps & React.RefAttributes<View>>;
38
+ declare const ListItem: React.ForwardRefExoticComponent<ListItemProps & React.RefAttributes<RNView>> & {
39
+ Skeleton: React.FC<ListItemProps>;
40
+ };
34
41
  export { ListItem };
35
42
  export default ListItem;
36
43
  //# sourceMappingURL=ListItem.d.ts.map
@@ -24,7 +24,10 @@ export interface NumberInputProps {
24
24
  unit?: string;
25
25
  accessibilityLabel?: string;
26
26
  style?: StyleProp<ViewStyle>;
27
+ containerStyle?: StyleProp<ViewStyle>;
27
28
  inputStyle?: StyleProp<TextStyle>;
29
+ buttonStyle?: StyleProp<ViewStyle>;
30
+ unitStyle?: StyleProp<TextStyle>;
28
31
  labelStyle?: StyleProp<TextStyle>;
29
32
  textInputProps?: Omit<TextInputProps, 'value' | 'onChangeText' | 'onBlur' | 'keyboardType' | 'editable'>;
30
33
  testID?: string;
@@ -0,0 +1,57 @@
1
+ /**
2
+ * PickerTrigger — the tappable input field that opens a modal picker.
3
+ *
4
+ * Standalone read-only field built on FieldBase, used by DatePicker,
5
+ * TimePicker and DateRangePicker (and any consumer-built picker) to render
6
+ * the closed-state row that matches Input / Select pixel-for-pixel.
7
+ *
8
+ * The component is purely visual + interactive — it does not own picker
9
+ * state. Consumers either:
10
+ * - Use the built-in trigger mode on a picker, which composes this
11
+ * internally and manages its own open/close.
12
+ * - Render PickerTrigger themselves alongside a controlled picker.
13
+ */
14
+ import React from 'react';
15
+ import { View } from 'react-native';
16
+ import type { StyleProp, TextStyle, ViewStyle } from 'react-native';
17
+ import type { FieldBaseSize, FieldBaseVariant } from '../FieldBase';
18
+ export type PickerTriggerSize = FieldBaseSize;
19
+ export type PickerTriggerVariant = FieldBaseVariant;
20
+ export interface PickerTriggerProps {
21
+ /** The currently selected value rendered as the trigger's primary text. */
22
+ value?: string;
23
+ /** Shown when `value` is empty. Falls back to "Select…". */
24
+ placeholder?: string;
25
+ /** Static label rendered above the field. */
26
+ label?: string;
27
+ /** Helper text shown below the field. Hidden when `error` is set. */
28
+ helperText?: string;
29
+ /** Error message shown below the field (and red-borders the field). */
30
+ error?: string;
31
+ /** Adds a red asterisk after the label. */
32
+ required?: boolean;
33
+ /** Tap handler — typically opens the modal picker. */
34
+ onPress: () => void;
35
+ /** Render a clear (×) affordance when `value` is non-empty. */
36
+ clearable?: boolean;
37
+ /** Called when the clear affordance is pressed. */
38
+ onClear?: () => void;
39
+ /** Leading icon slot (e.g. calendar / clock). */
40
+ leadingIcon?: React.ReactNode;
41
+ /** Trailing slot — defaults to a chevron when unset. Pass `null` to suppress. */
42
+ trailing?: React.ReactNode;
43
+ disabled?: boolean;
44
+ size?: PickerTriggerSize;
45
+ variant?: PickerTriggerVariant;
46
+ style?: StyleProp<ViewStyle>;
47
+ triggerStyle?: StyleProp<ViewStyle>;
48
+ valueStyle?: StyleProp<TextStyle>;
49
+ labelStyle?: StyleProp<TextStyle>;
50
+ messageStyle?: StyleProp<TextStyle>;
51
+ accessibilityLabel?: string;
52
+ testID?: string;
53
+ }
54
+ declare const PickerTrigger: React.ForwardRefExoticComponent<PickerTriggerProps & React.RefAttributes<View>>;
55
+ export { PickerTrigger };
56
+ export default PickerTrigger;
57
+ //# sourceMappingURL=PickerTrigger.d.ts.map
@@ -0,0 +1,3 @@
1
+ export { PickerTrigger, default } from './PickerTrigger';
2
+ export type { PickerTriggerProps, PickerTriggerSize, PickerTriggerVariant } from './PickerTrigger';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -12,6 +12,8 @@ export interface ProgressBarProps {
12
12
  barColor?: string;
13
13
  animated?: boolean;
14
14
  style?: StyleProp<ViewStyle>;
15
+ containerStyle?: StyleProp<ViewStyle>;
16
+ barStyle?: StyleProp<ViewStyle>;
15
17
  accessibilityLabel?: string;
16
18
  testID?: string;
17
19
  }
@@ -23,7 +23,10 @@ export interface RadioProps extends Omit<PressableProps, 'style' | 'children' |
23
23
  accessibilityLabel?: string;
24
24
  haptic?: HapticType | false;
25
25
  style?: StyleProp<ViewStyle>;
26
+ containerStyle?: StyleProp<ViewStyle>;
26
27
  circleStyle?: StyleProp<ViewStyle>;
28
+ dotStyle?: StyleProp<ViewStyle>;
29
+ labelStyle?: StyleProp<ViewStyle>;
27
30
  testID?: string;
28
31
  }
29
32
  declare const Radio: React.ForwardRefExoticComponent<RadioProps & React.RefAttributes<View>>;
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
- import { View } from 'react-native';
3
- import type { StyleProp, ViewStyle } from 'react-native';
2
+ import type { StyleProp, View as RNView, ViewStyle } from 'react-native';
4
3
  export type RatingTone = 'primary' | 'warning';
5
4
  export type RatingSize = 'sm' | 'md' | 'lg' | number;
6
5
  export interface RatingProps {
@@ -13,16 +12,20 @@ export interface RatingProps {
13
12
  tone?: RatingTone;
14
13
  label?: string;
15
14
  /**
16
- * When true, renders the component as a skeleton placeholder via SkeletonContent's auto walker.
17
- * Component still renders its normal layout the walker replaces Text/Image/sized View leaves
18
- * with shimmer blocks. Use this when the data driving the component is still being fetched.
15
+ * When true, renders the component as its authored skeleton placeholder shape.
16
+ * The placeholder mirrors the real layout's footprint so the UI doesn't reflow
17
+ * when data arrives. Use this while the data driving the component is being fetched.
19
18
  */
20
19
  loading?: boolean;
21
20
  accessibilityLabel?: string;
22
21
  style?: StyleProp<ViewStyle>;
22
+ containerStyle?: StyleProp<ViewStyle>;
23
+ starContainerStyle?: StyleProp<ViewStyle>;
23
24
  testID?: string;
24
25
  }
25
- declare const Rating: React.ForwardRefExoticComponent<RatingProps & React.RefAttributes<View>>;
26
+ declare const Rating: React.ForwardRefExoticComponent<RatingProps & React.RefAttributes<RNView>> & {
27
+ Skeleton: React.FC<RatingProps>;
28
+ };
26
29
  export { Rating };
27
30
  export default Rating;
28
31
  //# sourceMappingURL=Rating.d.ts.map
@@ -26,8 +26,11 @@ export interface SegmentedControlProps {
26
26
  tone?: SegmentedControlTone;
27
27
  accessibilityLabel?: string;
28
28
  style?: StyleProp<ViewStyle>;
29
+ containerStyle?: StyleProp<ViewStyle>;
29
30
  segmentStyle?: StyleProp<ViewStyle>;
31
+ selectedIndicatorStyle?: StyleProp<ViewStyle>;
30
32
  textStyle?: StyleProp<TextStyle>;
33
+ labelStyle?: StyleProp<TextStyle>;
31
34
  testID?: string;
32
35
  }
33
36
  declare const SegmentedControl: React.ForwardRefExoticComponent<SegmentedControlProps & React.RefAttributes<View>>;