@unif/react-native-design 0.5.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +60 -10
  2. package/lib/module/components/ui/Confirm/ConfirmHost.js +57 -83
  3. package/lib/module/components/ui/Confirm/ConfirmHost.js.map +1 -1
  4. package/lib/module/components/ui/Confirm/styles.js +14 -8
  5. package/lib/module/components/ui/Confirm/styles.js.map +1 -1
  6. package/lib/module/components/ui/Toast/ToastHost.js +23 -3
  7. package/lib/module/components/ui/Toast/ToastHost.js.map +1 -1
  8. package/lib/module/components/ui/Toast/styles.js +1 -1
  9. package/lib/module/components/ui/Toast/styles.js.map +1 -1
  10. package/lib/module/components/ui/Toast/toast.js +4 -2
  11. package/lib/module/components/ui/Toast/toast.js.map +1 -1
  12. package/lib/module/components/ui/index.js +0 -1
  13. package/lib/module/components/ui/index.js.map +1 -1
  14. package/lib/typescript/src/components/ui/Confirm/ConfirmHost.d.ts +4 -3
  15. package/lib/typescript/src/components/ui/Confirm/ConfirmHost.d.ts.map +1 -1
  16. package/lib/typescript/src/components/ui/Confirm/styles.d.ts +11 -5
  17. package/lib/typescript/src/components/ui/Confirm/styles.d.ts.map +1 -1
  18. package/lib/typescript/src/components/ui/Input/Input.d.ts +3 -3
  19. package/lib/typescript/src/components/ui/Search/Search.d.ts +3 -3
  20. package/lib/typescript/src/components/ui/TextField/TextFieldBase.d.ts +3 -3
  21. package/lib/typescript/src/components/ui/Textarea/Textarea.d.ts +3 -3
  22. package/lib/typescript/src/components/ui/Toast/ToastHost.d.ts +3 -0
  23. package/lib/typescript/src/components/ui/Toast/ToastHost.d.ts.map +1 -1
  24. package/lib/typescript/src/components/ui/Toast/index.d.ts +1 -1
  25. package/lib/typescript/src/components/ui/Toast/index.d.ts.map +1 -1
  26. package/lib/typescript/src/components/ui/Toast/styles.d.ts +0 -1
  27. package/lib/typescript/src/components/ui/Toast/styles.d.ts.map +1 -1
  28. package/lib/typescript/src/components/ui/Toast/toast.d.ts.map +1 -1
  29. package/lib/typescript/src/components/ui/Toast/types.d.ts +9 -3
  30. package/lib/typescript/src/components/ui/Toast/types.d.ts.map +1 -1
  31. package/lib/typescript/src/components/ui/index.d.ts +1 -3
  32. package/lib/typescript/src/components/ui/index.d.ts.map +1 -1
  33. package/package.json +6 -3
  34. package/src/components/ui/Confirm/ConfirmHost.tsx +60 -103
  35. package/src/components/ui/Confirm/styles.ts +14 -8
  36. package/src/components/ui/Toast/ToastHost.tsx +20 -3
  37. package/src/components/ui/Toast/index.ts +1 -0
  38. package/src/components/ui/Toast/styles.ts +1 -1
  39. package/src/components/ui/Toast/toast.ts +2 -1
  40. package/src/components/ui/Toast/types.ts +10 -3
  41. package/src/components/ui/index.ts +1 -2
  42. package/lib/module/components/ui/BottomSheet/BottomSheet.js +0 -104
  43. package/lib/module/components/ui/BottomSheet/BottomSheet.js.map +0 -1
  44. package/lib/module/components/ui/BottomSheet/index.js +0 -4
  45. package/lib/module/components/ui/BottomSheet/index.js.map +0 -1
  46. package/lib/module/components/ui/BottomSheet/styles.js +0 -26
  47. package/lib/module/components/ui/BottomSheet/styles.js.map +0 -1
  48. package/lib/module/components/ui/BottomSheet/types.js +0 -4
  49. package/lib/module/components/ui/BottomSheet/types.js.map +0 -1
  50. package/lib/typescript/src/components/ui/BottomSheet/BottomSheet.d.ts +0 -4
  51. package/lib/typescript/src/components/ui/BottomSheet/BottomSheet.d.ts.map +0 -1
  52. package/lib/typescript/src/components/ui/BottomSheet/index.d.ts +0 -3
  53. package/lib/typescript/src/components/ui/BottomSheet/index.d.ts.map +0 -1
  54. package/lib/typescript/src/components/ui/BottomSheet/styles.d.ts +0 -23
  55. package/lib/typescript/src/components/ui/BottomSheet/styles.d.ts.map +0 -1
  56. package/lib/typescript/src/components/ui/BottomSheet/types.d.ts +0 -26
  57. package/lib/typescript/src/components/ui/BottomSheet/types.d.ts.map +0 -1
  58. package/src/components/ui/BottomSheet/BottomSheet.tsx +0 -117
  59. package/src/components/ui/BottomSheet/index.ts +0 -2
  60. package/src/components/ui/BottomSheet/styles.ts +0 -20
  61. package/src/components/ui/BottomSheet/types.ts +0 -26
@@ -136,7 +136,7 @@ export declare const Input: import("react").ForwardRefExoticComponent<Omit<Reado
136
136
  pointerEvents?: ("auto" | "box-none" | "box-only" | "none") | undefined;
137
137
  removeClippedSubviews?: boolean | undefined;
138
138
  experimental_accessibilityOrder?: Array<string> | undefined;
139
- }>, never>>, "style" | "experimental_accessibilityOrder">, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "lineBreakStrategyIOS" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "onScroll" | "onContentSizeChange" | "scrollEnabled" | "disableKeyboardShortcuts" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "inputAccessoryViewID" | "inputAccessoryViewButtonLabel" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "spellCheck" | "textContentType" | "lineBreakModeIOS" | "smartInsertDelete" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
139
+ }>, never>>, "style" | "experimental_accessibilityOrder">, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "lineBreakStrategyIOS" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "disableKeyboardShortcuts" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "inputAccessoryViewID" | "inputAccessoryViewButtonLabel" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "scrollEnabled" | "spellCheck" | "textContentType" | "lineBreakModeIOS" | "smartInsertDelete" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
140
140
  disableKeyboardShortcuts?: boolean | undefined;
141
141
  clearButtonMode?: ("never" | "while-editing" | "unless-editing" | "always") | undefined;
142
142
  clearTextOnFocus?: boolean | undefined;
@@ -153,7 +153,7 @@ export declare const Input: import("react").ForwardRefExoticComponent<Omit<Reado
153
153
  lineBreakStrategyIOS?: ("none" | "standard" | "hangul-word" | "push-out") | undefined;
154
154
  lineBreakModeIOS?: ("wordWrapping" | "char" | "clip" | "head" | "middle" | "tail") | undefined;
155
155
  smartInsertDelete?: boolean | undefined;
156
- }>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "onScroll" | "onContentSizeChange" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
156
+ }>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
157
157
  cursorColor?: import("react-native").ColorValue | undefined;
158
158
  selectionHandleColor?: import("react-native").ColorValue | undefined;
159
159
  disableFullscreenUI?: boolean | undefined;
@@ -166,7 +166,7 @@ export declare const Input: import("react").ForwardRefExoticComponent<Omit<Reado
166
166
  showSoftInputOnFocus?: boolean | undefined;
167
167
  textBreakStrategy?: ("simple" | "highQuality" | "balanced") | undefined;
168
168
  underlineColorAndroid?: import("react-native").ColorValue | undefined;
169
- }>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "allowFontScaling" | "maxFontSizeMultiplier" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "onScroll" | "onContentSizeChange" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
169
+ }>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "allowFontScaling" | "maxFontSizeMultiplier" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
170
170
  experimental_acceptDragAndDropTypes?: ReadonlyArray<string> | undefined;
171
171
  autoCapitalize?: import("react-native").AutoCapitalize | undefined;
172
172
  autoComplete?: ("additional-name" | "address-line1" | "address-line2" | "birthdate-day" | "birthdate-full" | "birthdate-month" | "birthdate-year" | "cc-csc" | "cc-exp" | "cc-exp-day" | "cc-exp-month" | "cc-exp-year" | "cc-number" | "cc-name" | "cc-given-name" | "cc-middle-name" | "cc-family-name" | "cc-type" | "country" | "current-password" | "email" | "family-name" | "gender" | "given-name" | "honorific-prefix" | "honorific-suffix" | "name" | "name-family" | "name-given" | "name-middle" | "name-middle-initial" | "name-prefix" | "name-suffix" | "new-password" | "nickname" | "one-time-code" | "organization" | "organization-title" | "password" | "password-new" | "postal-address" | "postal-address-country" | "postal-address-extended" | "postal-address-extended-postal-code" | "postal-address-locality" | "postal-address-region" | "postal-code" | "street-address" | "sms-otp" | "tel" | "tel-country-code" | "tel-national" | "tel-device" | "url" | "username" | "username-new" | "off") | undefined;
@@ -133,7 +133,7 @@ export declare const Search: React.ForwardRefExoticComponent<Omit<Readonly<Omit<
133
133
  pointerEvents?: ("auto" | "box-none" | "box-only" | "none") | undefined;
134
134
  removeClippedSubviews?: boolean | undefined;
135
135
  experimental_accessibilityOrder?: Array<string> | undefined;
136
- }>, never>>, "style" | "experimental_accessibilityOrder">, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "lineBreakStrategyIOS" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "onScroll" | "onContentSizeChange" | "scrollEnabled" | "disableKeyboardShortcuts" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "inputAccessoryViewID" | "inputAccessoryViewButtonLabel" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "spellCheck" | "textContentType" | "lineBreakModeIOS" | "smartInsertDelete" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
136
+ }>, never>>, "style" | "experimental_accessibilityOrder">, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "lineBreakStrategyIOS" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "disableKeyboardShortcuts" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "inputAccessoryViewID" | "inputAccessoryViewButtonLabel" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "scrollEnabled" | "spellCheck" | "textContentType" | "lineBreakModeIOS" | "smartInsertDelete" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
137
137
  disableKeyboardShortcuts?: boolean | undefined;
138
138
  clearButtonMode?: ("never" | "while-editing" | "unless-editing" | "always") | undefined;
139
139
  clearTextOnFocus?: boolean | undefined;
@@ -150,7 +150,7 @@ export declare const Search: React.ForwardRefExoticComponent<Omit<Readonly<Omit<
150
150
  lineBreakStrategyIOS?: ("none" | "standard" | "hangul-word" | "push-out") | undefined;
151
151
  lineBreakModeIOS?: ("wordWrapping" | "char" | "clip" | "head" | "middle" | "tail") | undefined;
152
152
  smartInsertDelete?: boolean | undefined;
153
- }>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "onScroll" | "onContentSizeChange" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
153
+ }>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
154
154
  cursorColor?: import("react-native").ColorValue | undefined;
155
155
  selectionHandleColor?: import("react-native").ColorValue | undefined;
156
156
  disableFullscreenUI?: boolean | undefined;
@@ -163,7 +163,7 @@ export declare const Search: React.ForwardRefExoticComponent<Omit<Readonly<Omit<
163
163
  showSoftInputOnFocus?: boolean | undefined;
164
164
  textBreakStrategy?: ("simple" | "highQuality" | "balanced") | undefined;
165
165
  underlineColorAndroid?: import("react-native").ColorValue | undefined;
166
- }>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "allowFontScaling" | "maxFontSizeMultiplier" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "onScroll" | "onContentSizeChange" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
166
+ }>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "allowFontScaling" | "maxFontSizeMultiplier" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
167
167
  experimental_acceptDragAndDropTypes?: ReadonlyArray<string> | undefined;
168
168
  autoCapitalize?: import("react-native").AutoCapitalize | undefined;
169
169
  autoComplete?: ("additional-name" | "address-line1" | "address-line2" | "birthdate-day" | "birthdate-full" | "birthdate-month" | "birthdate-year" | "cc-csc" | "cc-exp" | "cc-exp-day" | "cc-exp-month" | "cc-exp-year" | "cc-number" | "cc-name" | "cc-given-name" | "cc-middle-name" | "cc-family-name" | "cc-type" | "country" | "current-password" | "email" | "family-name" | "gender" | "given-name" | "honorific-prefix" | "honorific-suffix" | "name" | "name-family" | "name-given" | "name-middle" | "name-middle-initial" | "name-prefix" | "name-suffix" | "new-password" | "nickname" | "one-time-code" | "organization" | "organization-title" | "password" | "password-new" | "postal-address" | "postal-address-country" | "postal-address-extended" | "postal-address-extended-postal-code" | "postal-address-locality" | "postal-address-region" | "postal-code" | "street-address" | "sms-otp" | "tel" | "tel-country-code" | "tel-national" | "tel-device" | "url" | "username" | "username-new" | "off") | undefined;
@@ -144,7 +144,7 @@ export declare const TextFieldBase: React.ForwardRefExoticComponent<Readonly<Omi
144
144
  pointerEvents?: ("auto" | "box-none" | "box-only" | "none") | undefined;
145
145
  removeClippedSubviews?: boolean | undefined;
146
146
  experimental_accessibilityOrder?: Array<string> | undefined;
147
- }>, never>>, "style" | "experimental_accessibilityOrder">, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "lineBreakStrategyIOS" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "onScroll" | "onContentSizeChange" | "scrollEnabled" | "disableKeyboardShortcuts" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "inputAccessoryViewID" | "inputAccessoryViewButtonLabel" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "spellCheck" | "textContentType" | "lineBreakModeIOS" | "smartInsertDelete" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
147
+ }>, never>>, "style" | "experimental_accessibilityOrder">, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "lineBreakStrategyIOS" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "disableKeyboardShortcuts" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "inputAccessoryViewID" | "inputAccessoryViewButtonLabel" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "scrollEnabled" | "spellCheck" | "textContentType" | "lineBreakModeIOS" | "smartInsertDelete" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
148
148
  disableKeyboardShortcuts?: boolean | undefined;
149
149
  clearButtonMode?: ("never" | "while-editing" | "unless-editing" | "always") | undefined;
150
150
  clearTextOnFocus?: boolean | undefined;
@@ -161,7 +161,7 @@ export declare const TextFieldBase: React.ForwardRefExoticComponent<Readonly<Omi
161
161
  lineBreakStrategyIOS?: ("none" | "standard" | "hangul-word" | "push-out") | undefined;
162
162
  lineBreakModeIOS?: ("wordWrapping" | "char" | "clip" | "head" | "middle" | "tail") | undefined;
163
163
  smartInsertDelete?: boolean | undefined;
164
- }>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "onScroll" | "onContentSizeChange" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
164
+ }>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
165
165
  cursorColor?: import("react-native").ColorValue | undefined;
166
166
  selectionHandleColor?: import("react-native").ColorValue | undefined;
167
167
  disableFullscreenUI?: boolean | undefined;
@@ -174,7 +174,7 @@ export declare const TextFieldBase: React.ForwardRefExoticComponent<Readonly<Omi
174
174
  showSoftInputOnFocus?: boolean | undefined;
175
175
  textBreakStrategy?: ("simple" | "highQuality" | "balanced") | undefined;
176
176
  underlineColorAndroid?: import("react-native").ColorValue | undefined;
177
- }>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "allowFontScaling" | "maxFontSizeMultiplier" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "onScroll" | "onContentSizeChange" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
177
+ }>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "allowFontScaling" | "maxFontSizeMultiplier" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
178
178
  experimental_acceptDragAndDropTypes?: ReadonlyArray<string> | undefined;
179
179
  autoCapitalize?: import("react-native").AutoCapitalize | undefined;
180
180
  autoComplete?: ("additional-name" | "address-line1" | "address-line2" | "birthdate-day" | "birthdate-full" | "birthdate-month" | "birthdate-year" | "cc-csc" | "cc-exp" | "cc-exp-day" | "cc-exp-month" | "cc-exp-year" | "cc-number" | "cc-name" | "cc-given-name" | "cc-middle-name" | "cc-family-name" | "cc-type" | "country" | "current-password" | "email" | "family-name" | "gender" | "given-name" | "honorific-prefix" | "honorific-suffix" | "name" | "name-family" | "name-given" | "name-middle" | "name-middle-initial" | "name-prefix" | "name-suffix" | "new-password" | "nickname" | "one-time-code" | "organization" | "organization-title" | "password" | "password-new" | "postal-address" | "postal-address-country" | "postal-address-extended" | "postal-address-extended-postal-code" | "postal-address-locality" | "postal-address-region" | "postal-code" | "street-address" | "sms-otp" | "tel" | "tel-country-code" | "tel-national" | "tel-device" | "url" | "username" | "username-new" | "off") | undefined;
@@ -138,7 +138,7 @@ export declare const Textarea: import("react").ForwardRefExoticComponent<Omit<Re
138
138
  pointerEvents?: ("auto" | "box-none" | "box-only" | "none") | undefined;
139
139
  removeClippedSubviews?: boolean | undefined;
140
140
  experimental_accessibilityOrder?: Array<string> | undefined;
141
- }>, never>>, "style" | "experimental_accessibilityOrder">, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "lineBreakStrategyIOS" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "onScroll" | "onContentSizeChange" | "scrollEnabled" | "disableKeyboardShortcuts" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "inputAccessoryViewID" | "inputAccessoryViewButtonLabel" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "spellCheck" | "textContentType" | "lineBreakModeIOS" | "smartInsertDelete" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
141
+ }>, never>>, "style" | "experimental_accessibilityOrder">, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "lineBreakStrategyIOS" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "disableKeyboardShortcuts" | "clearButtonMode" | "clearTextOnFocus" | "dataDetectorTypes" | "enablesReturnKeyAutomatically" | "inputAccessoryViewID" | "inputAccessoryViewButtonLabel" | "keyboardAppearance" | "passwordRules" | "rejectResponderTermination" | "scrollEnabled" | "spellCheck" | "textContentType" | "lineBreakModeIOS" | "smartInsertDelete" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
142
142
  disableKeyboardShortcuts?: boolean | undefined;
143
143
  clearButtonMode?: ("never" | "while-editing" | "unless-editing" | "always") | undefined;
144
144
  clearTextOnFocus?: boolean | undefined;
@@ -155,7 +155,7 @@ export declare const Textarea: import("react").ForwardRefExoticComponent<Omit<Re
155
155
  lineBreakStrategyIOS?: ("none" | "standard" | "hangul-word" | "push-out") | undefined;
156
156
  lineBreakModeIOS?: ("wordWrapping" | "char" | "clip" | "head" | "middle" | "tail") | undefined;
157
157
  smartInsertDelete?: boolean | undefined;
158
- }>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "onScroll" | "onContentSizeChange" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
158
+ }>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "textBreakStrategy" | "allowFontScaling" | "maxFontSizeMultiplier" | "numberOfLines" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "cursorColor" | "selectionHandleColor" | "disableFullscreenUI" | "importantForAutofill" | "inlineImageLeft" | "inlineImagePadding" | "returnKeyLabel" | "rows" | "showSoftInputOnFocus" | "underlineColorAndroid" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
159
159
  cursorColor?: import("react-native").ColorValue | undefined;
160
160
  selectionHandleColor?: import("react-native").ColorValue | undefined;
161
161
  disableFullscreenUI?: boolean | undefined;
@@ -168,7 +168,7 @@ export declare const Textarea: import("react").ForwardRefExoticComponent<Omit<Re
168
168
  showSoftInputOnFocus?: boolean | undefined;
169
169
  textBreakStrategy?: ("simple" | "highQuality" | "balanced") | undefined;
170
170
  underlineColorAndroid?: import("react-native").ColorValue | undefined;
171
- }>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "allowFontScaling" | "maxFontSizeMultiplier" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "onScroll" | "onContentSizeChange" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
171
+ }>, "value" | "textAlign" | "onBlur" | "onFocus" | "style" | "selectionColor" | "allowFontScaling" | "maxFontSizeMultiplier" | "onPress" | "onPressIn" | "onPressOut" | "onChange" | "experimental_acceptDragAndDropTypes" | "autoCapitalize" | "autoComplete" | "autoCorrect" | "autoFocus" | "caretHidden" | "contextMenuHidden" | "defaultValue" | "editable" | "forwardedRef" | "enterKeyHint" | "inputMode" | "keyboardType" | "maxLength" | "multiline" | "onChangeText" | "onContentSizeChange" | "onEndEditing" | "onKeyPress" | "onSelectionChange" | "onSubmitEditing" | "onScroll" | "placeholder" | "placeholderTextColor" | "readOnly" | "returnKeyType" | "secureTextEntry" | "selection" | "selectTextOnFocus" | "blurOnSubmit" | "submitBehavior"> & Omit<Readonly<{
172
172
  experimental_acceptDragAndDropTypes?: ReadonlyArray<string> | undefined;
173
173
  autoCapitalize?: import("react-native").AutoCapitalize | undefined;
174
174
  autoComplete?: ("additional-name" | "address-line1" | "address-line2" | "birthdate-day" | "birthdate-full" | "birthdate-month" | "birthdate-year" | "cc-csc" | "cc-exp" | "cc-exp-day" | "cc-exp-month" | "cc-exp-year" | "cc-number" | "cc-name" | "cc-given-name" | "cc-middle-name" | "cc-family-name" | "cc-type" | "country" | "current-password" | "email" | "family-name" | "gender" | "given-name" | "honorific-prefix" | "honorific-suffix" | "name" | "name-family" | "name-given" | "name-middle" | "name-middle-initial" | "name-prefix" | "name-suffix" | "new-password" | "nickname" | "one-time-code" | "organization" | "organization-title" | "password" | "password-new" | "postal-address" | "postal-address-country" | "postal-address-extended" | "postal-address-extended-postal-code" | "postal-address-locality" | "postal-address-region" | "postal-code" | "street-address" | "sms-otp" | "tel" | "tel-country-code" | "tel-national" | "tel-device" | "url" | "username" | "username-new" | "off") | undefined;
@@ -3,6 +3,9 @@ import type { ToastHostProps } from './types';
3
3
  /**
4
4
  * 在根附近挂一次。监听 toast() 调用并渲染当前 toast。
5
5
  * 同一时间只显示一条 —— 新的会替换旧的。
6
+ *
7
+ * 位置由 `entry.position`('top' / 'bottom' / 'center')决定,top/bottom 自动避让
8
+ * safe-area;进入动画方向随位置(top 从上滑、bottom/center 从下滑)。
6
9
  */
7
10
  export declare function ToastHost({ testID, }?: ToastHostProps): React.JSX.Element | null;
8
11
  //# sourceMappingURL=ToastHost.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToastHost.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Toast/ToastHost.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAY3D,OAAO,KAAK,EAA0B,cAAc,EAAE,MAAM,SAAS,CAAC;AAEtE;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EACxB,MAAM,GACP,GAAE,cAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAgEhD"}
1
+ {"version":3,"file":"ToastHost.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Toast/ToastHost.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAa3D,OAAO,KAAK,EAA0B,cAAc,EAAE,MAAM,SAAS,CAAC;AAEtE;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,EACxB,MAAM,GACP,GAAE,cAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA6EhD"}
@@ -1,4 +1,4 @@
1
1
  export { toast } from './toast';
2
2
  export { ToastHost } from './ToastHost';
3
- export type { ToastEntry, ToastHostProps, ToastInput, ToastKind, } from './types';
3
+ export type { ToastEntry, ToastHostProps, ToastInput, ToastKind, ToastPosition, } from './types';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Toast/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EACV,UAAU,EACV,cAAc,EACd,UAAU,EACV,SAAS,GACV,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Toast/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EACV,UAAU,EACV,cAAc,EACd,UAAU,EACV,SAAS,EACT,aAAa,GACd,MAAM,SAAS,CAAC"}
@@ -5,7 +5,6 @@ export declare const makeStyles: (c: ColorTokens) => Readonly<{
5
5
  position: "absolute";
6
6
  left: number;
7
7
  right: number;
8
- bottom: number;
9
8
  alignItems: "center";
10
9
  zIndex: number;
11
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Toast/styles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,UAAU,GAAI,GAAG,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCrC,CAAC;AAEL;yDACyD;AACzD,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAS1E"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Toast/styles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,UAAU,GAAI,GAAG,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCrC,CAAC;AAEL;yDACyD;AACzD,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAS1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Toast/toast.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,UAAU,EAAc,UAAU,EAAa,MAAM,SAAS,CAAC;AAG7E,eAAO,MAAM,KAAK,iBAAwB,CAAC;AAe3C;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,WAAyB,UAAU;kBACrC,UAAU;qBACP,UAAU;mBACZ,UAAU;CACzB,CAAC"}
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Toast/toast.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,UAAU,EAAc,UAAU,EAAa,MAAM,SAAS,CAAC;AAG7E,eAAO,MAAM,KAAK,iBAAwB,CAAC;AAgB3C;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,WAAyB,UAAU;kBACrC,UAAU;qBACP,UAAU;mBACZ,UAAU;CACzB,CAAC"}
@@ -1,17 +1,21 @@
1
1
  /** Toast 类型:info=灰点 / success=绿点 / error=红点 */
2
2
  export type ToastKind = 'info' | 'success' | 'error';
3
+ /** Toast 显示位置:top=顶部 / bottom=底部(默认) / center=屏幕居中 */
4
+ export type ToastPosition = 'top' | 'bottom' | 'center';
3
5
  /**
4
6
  * `toast(...)` 调用入参:
5
- * - 字符串简写:默认 info kind 2200ms duration
6
- * - 对象形式:可指定 kind duration
7
+ * - 字符串简写:默认 info kind、bottom 位置、3000ms duration
8
+ * - 对象形式:可指定 kind / duration / position
7
9
  */
8
10
  export type ToastInput = string | {
9
11
  /** 消息文本 */
10
12
  message: string;
11
13
  /** Toast 类型,默认 'info' */
12
14
  kind?: ToastKind;
13
- /** 自动消失毫秒数,默认 2200 */
15
+ /** 自动消失毫秒数,默认 3000 */
14
16
  duration?: number;
17
+ /** 显示位置,默认 'bottom' */
18
+ position?: ToastPosition;
15
19
  };
16
20
  export type ToastEntry = {
17
21
  /** 唯一 id(自增),用于动画切换识别 */
@@ -22,6 +26,8 @@ export type ToastEntry = {
22
26
  kind: ToastKind;
23
27
  /** 显示毫秒数 */
24
28
  duration: number;
29
+ /** 显示位置 */
30
+ position: ToastPosition;
25
31
  };
26
32
  /** Toast 订阅者函数签名(ToastHost 内部用) */
27
33
  export type Subscriber = (entry: ToastEntry) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Toast/types.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN;IACE,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEN,MAAM,MAAM,UAAU,GAAG;IACvB,yBAAyB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe;IACf,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,mCAAmC;AACnC,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AAErD,MAAM,MAAM,cAAc,GAAG;IAC3B,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Toast/types.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAErD,sDAAsD;AACtD,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAExD;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN;IACE,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B,CAAC;AAEN,MAAM,MAAM,UAAU,GAAG;IACvB,yBAAyB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe;IACf,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,QAAQ,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF,mCAAmC;AACnC,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;AAErD,MAAM,MAAM,cAAc,GAAG;IAC3B,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC"}
@@ -1,7 +1,5 @@
1
1
  export { Avatar } from './Avatar';
2
2
  export type { AvatarProps, AvatarSize, AvatarVariant } from './Avatar';
3
- export { BottomSheet } from './BottomSheet';
4
- export type { BottomSheetProps } from './BottomSheet';
5
3
  export { BlurLayer } from './BlurLayer';
6
4
  export type { BlurLayerProps } from './BlurLayer';
7
5
  export { Button } from './Button';
@@ -71,5 +69,5 @@ export type { TextareaProps } from './Textarea';
71
69
  export { Thumbnail } from './Thumbnail';
72
70
  export type { ThumbnailProps, ThumbnailSize } from './Thumbnail';
73
71
  export { toast, ToastHost } from './Toast';
74
- export type { ToastEntry, ToastHostProps, ToastInput, ToastKind, } from './Toast';
72
+ export type { ToastEntry, ToastHostProps, ToastInput, ToastKind, ToastPosition, } from './Toast';
75
73
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unif/react-native-design",
3
- "version": "0.5.1",
3
+ "version": "0.7.0",
4
4
  "description": "Unif 设计系统:theme + icons + utils + components",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -66,7 +66,6 @@
66
66
  "@eslint/compat": "^2.0.3",
67
67
  "@eslint/eslintrc": "^3.3.5",
68
68
  "@eslint/js": "^10.0.1",
69
- "@gorhom/bottom-sheet": "^5.2.14",
70
69
  "@jest/globals": "^30.0.0",
71
70
  "@react-native/babel-preset": "0.85.3",
72
71
  "@react-native/eslint-config": "0.85.3",
@@ -97,7 +96,6 @@
97
96
  "typescript": "^6.0.2"
98
97
  },
99
98
  "peerDependencies": {
100
- "@gorhom/bottom-sheet": ">=5",
101
99
  "@sbaiahmed1/react-native-blur": ">=4",
102
100
  "react": "*",
103
101
  "react-native": "*",
@@ -144,6 +142,11 @@
144
142
  "modulePathIgnorePatterns": [
145
143
  "<rootDir>/example/node_modules",
146
144
  "<rootDir>/lib/"
145
+ ],
146
+ "testPathIgnorePatterns": [
147
+ "/node_modules/",
148
+ "<rootDir>/website/",
149
+ "<rootDir>/example/"
147
150
  ]
148
151
  },
149
152
  "commitlint": {
@@ -1,134 +1,91 @@
1
- import React, {
2
- useCallback,
3
- useEffect,
4
- useMemo,
5
- useRef,
6
- useState,
7
- } from 'react';
8
- import { Text, View } from 'react-native';
9
- import {
10
- BottomSheetBackdrop,
11
- BottomSheetFooter,
12
- BottomSheetModal,
13
- BottomSheetView,
14
- type BottomSheetBackdropProps,
15
- type BottomSheetFooterProps,
16
- } from '@gorhom/bottom-sheet';
17
- import { useThemedStyles } from '../../../theme';
1
+ import React, { useCallback, useEffect, useState } from 'react';
2
+ import { Modal, Pressable, Text, View } from 'react-native';
3
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
4
+ import { space, useThemedStyles } from '../../../theme';
18
5
  import { Button } from '../Button';
19
6
  import { _subs } from './confirm';
20
7
  import { makeStyles } from './styles';
21
8
  import type { ConfirmEntry, Subscriber } from './types';
22
9
 
23
- /** Scrim backdrop —— 单色半透黑 opacity 0.5 */
24
- function ScrimBackdrop(props: BottomSheetBackdropProps) {
25
- return (
26
- <BottomSheetBackdrop
27
- {...props}
28
- appearsOnIndex={0}
29
- disappearsOnIndex={-1}
30
- opacity={0.5}
31
- />
32
- );
33
- }
34
-
35
10
  /**
36
- * Confirm 对话框 Portal —— App 根挂一次,监听 `confirm()` 调用并渲染。
11
+ * Confirm 对话框宿主 —— App 根挂一次,监听 `confirm()` 调用并渲染。
37
12
  *
38
- * `<BottomSheetModal>` + `<BottomSheetModalProvider>`,通过 Provider Portal
39
- * 自动渲染到 App 顶层 —— 整屏 backdrop + 不受 React tree 位置影响。
13
+ * 原生 RN `Modal`(transparent + animationType slide)从底部滑入,backdrop 点击
14
+ * 取消、内层 sheet 拦截点击不冒泡。**不依赖 @gorhom**(0.6.0 @gorhom 后改为
15
+ * 纯 RN Modal + pub/sub 实现)。
40
16
  */
41
17
  export function ConfirmHost(): React.JSX.Element | null {
42
18
  const styles = useThemedStyles(makeStyles);
43
- const modalRef = useRef<BottomSheetModal>(null);
19
+ const insets = useSafeAreaInsets();
44
20
  const [entry, setEntry] = useState<ConfirmEntry | null>(null);
45
21
 
46
22
  useEffect(() => {
47
- const sub: Subscriber = (next) => {
48
- setEntry(next);
49
- if (next) {
50
- modalRef.current?.present();
51
- } else {
52
- modalRef.current?.dismiss();
53
- }
54
- };
23
+ const sub: Subscriber = (next) => setEntry(next);
55
24
  _subs.add(sub);
56
25
  return () => {
57
26
  _subs.delete(sub);
58
27
  };
59
28
  }, []);
60
29
 
61
- // onDismiss:drag-to-close / backdrop tap / 程序 dismiss 都触发,entry 还在视为取消
62
- // 三个 handler 都用 useCallback + [entry] deps —— 让 renderFooter 的 useCallback
63
- // deps 能正确锁定它们,引用稳定 = @gorhom 不会因 backdrop 重生成而抖动。
64
- const handleDismiss = useCallback(() => {
65
- if (entry) {
66
- entry.resolve(false);
67
- setEntry(null);
68
- }
69
- }, [entry]);
70
-
71
30
  const handleConfirm = useCallback(() => {
72
31
  entry?.resolve(true);
73
- modalRef.current?.dismiss();
32
+ setEntry(null);
74
33
  }, [entry]);
75
34
 
76
35
  const handleCancel = useCallback(() => {
77
36
  entry?.resolve(false);
78
- modalRef.current?.dismiss();
37
+ setEntry(null);
79
38
  }, [entry]);
80
39
 
81
- const snapPoints = useMemo(() => ['30%'], []);
82
-
83
- // 用 BottomSheetFooter 浮按钮:BottomSheetView 内部 absolute top/left/right 无 bottom,
84
- // flex marginTop:auto 推不动按钮,所以必须走 footer + bottomInset 自动避让键盘。
85
- const renderFooter = useCallback(
86
- (props: BottomSheetFooterProps) =>
87
- entry ? (
88
- <BottomSheetFooter {...props} bottomInset={0}>
89
- <View style={styles.actions}>
90
- <Button
91
- testID="confirm-cancel"
92
- label={entry.cancelLabel ?? '取消'}
93
- variant="secondary"
94
- block
95
- onPress={handleCancel}
96
- />
97
- <Button
98
- testID="confirm-ok"
99
- label={entry.confirmLabel ?? '确认'}
100
- variant={entry.destructive ? 'danger' : 'primary'}
101
- block
102
- onPress={handleConfirm}
103
- />
104
- </View>
105
- </BottomSheetFooter>
106
- ) : null,
107
- [entry, styles.actions, handleCancel, handleConfirm]
108
- );
109
-
110
40
  return (
111
- <BottomSheetModal
112
- ref={modalRef}
113
- snapPoints={snapPoints}
114
- index={0}
115
- enableDynamicSizing={false}
116
- enableOverDrag={false}
117
- backdropComponent={ScrimBackdrop}
118
- backgroundStyle={styles.sheetBackground}
119
- footerComponent={renderFooter}
120
- onDismiss={handleDismiss}
41
+ <Modal
42
+ visible={!!entry}
43
+ transparent
44
+ animationType="slide"
45
+ statusBarTranslucent
46
+ onRequestClose={handleCancel}
121
47
  >
122
- <BottomSheetView style={styles.sheet}>
123
- {entry ? (
124
- <>
125
- <Text style={styles.title}>{entry.title}</Text>
126
- {entry.message ? (
127
- <Text style={styles.message}>{entry.message}</Text>
128
- ) : null}
129
- </>
130
- ) : null}
131
- </BottomSheetView>
132
- </BottomSheetModal>
48
+ {/* backdrop 点击取消;内层 sheet onPress 空占位拦截冒泡 */}
49
+ <Pressable
50
+ style={styles.backdrop}
51
+ onPress={handleCancel}
52
+ accessibilityRole="button"
53
+ accessibilityLabel="关闭"
54
+ >
55
+ <Pressable
56
+ style={[styles.sheet, { paddingBottom: insets.bottom + space['7'] }]}
57
+ onPress={() => {}}
58
+ >
59
+ {entry ? (
60
+ <>
61
+ <View style={styles.body}>
62
+ <Text style={styles.title} accessibilityRole="header">
63
+ {entry.title}
64
+ </Text>
65
+ {entry.message ? (
66
+ <Text style={styles.message}>{entry.message}</Text>
67
+ ) : null}
68
+ </View>
69
+ <View style={styles.actions}>
70
+ <Button
71
+ testID="confirm-cancel"
72
+ label={entry.cancelLabel ?? '取消'}
73
+ variant="secondary"
74
+ block
75
+ onPress={handleCancel}
76
+ />
77
+ <Button
78
+ testID="confirm-ok"
79
+ label={entry.confirmLabel ?? '确认'}
80
+ variant={entry.destructive ? 'danger' : 'primary'}
81
+ block
82
+ onPress={handleConfirm}
83
+ />
84
+ </View>
85
+ </>
86
+ ) : null}
87
+ </Pressable>
88
+ </Pressable>
89
+ </Modal>
133
90
  );
134
91
  }
@@ -1,17 +1,24 @@
1
1
  import { StyleSheet } from 'react-native';
2
- import { fw, space, type as t } from '../../../theme';
2
+ import { fw, r, space, type as t } from '../../../theme';
3
3
  import type { ColorTokens } from '../../../theme';
4
4
 
5
- /** Confirm 对话框 styles —— title/message BottomSheetView 顶部段,
6
- * actions BottomSheetFooter 自动浮到 sheet 底部。 */
5
+ /** Confirm 对话框 styles —— 原生 Modal(transparent + slide)底部弹出卡片:
6
+ * backdrop 半透黑铺满、点击取消;sheet 贴底圆角顶。不依赖 @gorhom。 */
7
7
  export const makeStyles = (c: ColorTokens) =>
8
8
  StyleSheet.create({
9
- sheetBackground: {
10
- backgroundColor: c.surface,
9
+ backdrop: {
10
+ flex: 1,
11
+ backgroundColor: c.scrim,
12
+ justifyContent: 'flex-end',
11
13
  },
12
14
  sheet: {
15
+ backgroundColor: c.surface,
16
+ borderTopLeftRadius: r(20),
17
+ borderTopRightRadius: r(20),
18
+ paddingTop: space['7'],
19
+ },
20
+ body: {
13
21
  paddingHorizontal: space['9'],
14
- paddingTop: space['4'],
15
22
  gap: space['5'],
16
23
  },
17
24
  title: {
@@ -29,7 +36,6 @@ export const makeStyles = (c: ColorTokens) =>
29
36
  flexDirection: 'row',
30
37
  gap: space['4'],
31
38
  paddingHorizontal: space['9'],
32
- paddingTop: space['5'],
33
- paddingBottom: space['7'],
39
+ paddingTop: space['7'],
34
40
  },
35
41
  });