@bigbinary/neetoui-rn 3.0.3 → 3.1.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 (56) hide show
  1. package/README.md +29 -1
  2. package/lib/typescript/src/components/BottomSheet/BottomSheet.d.ts +8 -1
  3. package/lib/typescript/src/components/BottomSheet/BottomSheet.d.ts.map +1 -1
  4. package/lib/typescript/src/components/ChatInput/AttachmentsView.d.ts.map +1 -1
  5. package/lib/typescript/src/components/ChatInput/ChatInput.d.ts.map +1 -1
  6. package/lib/typescript/src/components/CheckBox/CheckBox.d.ts +7 -1
  7. package/lib/typescript/src/components/CheckBox/CheckBox.d.ts.map +1 -1
  8. package/lib/typescript/src/components/Input/Input.d.ts +12 -11
  9. package/lib/typescript/src/components/Input/Input.d.ts.map +1 -1
  10. package/lib/typescript/src/components/Input/InputFrame.d.ts +41 -0
  11. package/lib/typescript/src/components/Input/InputFrame.d.ts.map +1 -0
  12. package/lib/typescript/src/components/Input/index.d.ts +1 -0
  13. package/lib/typescript/src/components/Input/index.d.ts.map +1 -1
  14. package/lib/typescript/src/components/NeetoUIProvider/NeetoUIProvider.d.ts.map +1 -1
  15. package/lib/typescript/src/components/RadioButton/RadioButton.d.ts +6 -1
  16. package/lib/typescript/src/components/RadioButton/RadioButton.d.ts.map +1 -1
  17. package/lib/typescript/src/components/SearchBar/SearchBar.d.ts.map +1 -1
  18. package/lib/typescript/src/components/Skeleton/Skeleton.d.ts.map +1 -1
  19. package/lib/typescript/src/components/Typography/Typography.d.ts +5 -0
  20. package/lib/typescript/src/components/Typography/Typography.d.ts.map +1 -1
  21. package/lib/typescript/src/components/Typography/index.d.ts +1 -1
  22. package/lib/typescript/src/components/Typography/index.d.ts.map +1 -1
  23. package/lib/typescript/src/index.d.ts +2 -2
  24. package/lib/typescript/src/index.d.ts.map +1 -1
  25. package/lib/typescript/src/unistyles.d.ts +28 -1
  26. package/lib/typescript/src/unistyles.d.ts.map +1 -1
  27. package/lib/typescript/src/utils/scale.d.ts +22 -0
  28. package/lib/typescript/src/utils/scale.d.ts.map +1 -1
  29. package/package.json +8 -6
  30. package/src/components/Alert/Alert.tsx +51 -44
  31. package/src/components/BottomSheet/BottomSheet.tsx +98 -55
  32. package/src/components/BottomSheetMenu/BottomSheetMenu.tsx +55 -48
  33. package/src/components/ChatInput/AttachmentsView.tsx +32 -18
  34. package/src/components/ChatInput/ChatInput.tsx +148 -99
  35. package/src/components/ChatInput/IconButton.tsx +21 -10
  36. package/src/components/ChatInput/MentionsInput.tsx +34 -27
  37. package/src/components/CheckBox/CheckBox.tsx +54 -33
  38. package/src/components/EmptyView/EmptyView.tsx +27 -20
  39. package/src/components/Header/Header.tsx +25 -18
  40. package/src/components/Header/ScreenHeader.tsx +17 -10
  41. package/src/components/Input/Input.tsx +111 -67
  42. package/src/components/Input/InputFrame.tsx +261 -0
  43. package/src/components/Input/index.ts +1 -0
  44. package/src/components/NeetoUIProvider/NeetoUIProvider.tsx +2 -1
  45. package/src/components/OnBoarding/OnBoarding.tsx +61 -54
  46. package/src/components/RadioButton/RadioButton.tsx +72 -31
  47. package/src/components/SearchBar/SearchBar.tsx +34 -26
  48. package/src/components/Skeleton/Skeleton.tsx +18 -11
  49. package/src/components/Toast/Toast.tsx +38 -31
  50. package/src/components/Typography/Typography.tsx +31 -2
  51. package/src/components/Typography/index.ts +5 -1
  52. package/src/index.ts +7 -2
  53. package/src/unistyles-init.ts +4 -0
  54. package/src/unistyles.ts +52 -4
  55. package/src/utils/scale.ts +36 -9
  56. package/src/types/neeto-icons-rn.d.ts +0 -33
package/README.md CHANGED
@@ -31,7 +31,7 @@ transform it instead of skipping it as a dependency:
31
31
  ```js
32
32
  // jest.config.js
33
33
  transformIgnorePatterns: [
34
- "node_modules/(?!(@react-native|react-native|@bigbinary)/)",
34
+ "node_modules/(?!(@react-native|@bigbinary|@gorhom|@shopify|react-native|react-native-[^/]+)/)",
35
35
  ],
36
36
  ```
37
37
 
@@ -39,6 +39,34 @@ Without this, tests fail on the first `import` with a syntax error.
39
39
 
40
40
  ## Getting Started
41
41
 
42
+ ## Theming
43
+
44
+ Themes are registered through Unistyles. Call `configureNeetoUI` from your app's
45
+ entry point (`index.js`), before anything else imports a screen:
46
+
47
+ ```js
48
+ import { configureNeetoUI } from "@bigbinary/neetoui-rn/unistyles";
49
+
50
+ configureNeetoUI();
51
+ ```
52
+
53
+ The library ships both a light and a dark theme, and **pins the light one by
54
+ default** — it does not follow the device colour scheme. An app that has not
55
+ designed its own screens for dark mode only half-follows: token-styled surfaces
56
+ go dark while anything painted from a literal colour stays light, which shows up
57
+ as dark text on dark backgrounds and a dark status bar under a `dark-content`
58
+ bar style.
59
+
60
+ Once your screens are ready for it, opt in:
61
+
62
+ ```js
63
+ configureNeetoUI({ adaptiveThemes: true });
64
+ ```
65
+
66
+ The opt-in is honoured even though importing the library root registers the
67
+ defaults first, so it works from `index.js` regardless of module evaluation
68
+ order.
69
+
42
70
  ## react-native-safe-area-context
43
71
 
44
72
  We are using SafeAreaView from
@@ -49,7 +49,14 @@ export type BottomSheetProps<T> = {
49
49
  noResultsLabel?: string;
50
50
  NoResultsComponent?: ComponentType;
51
51
  onBackdropPress?: () => void;
52
+ /** Absolute cap, in points. Wins over maxHeightRatio. */
52
53
  maxHeight?: number;
54
+ /**
55
+ * Cap as a fraction of screen height, so a long list stops short of
56
+ * covering the screen. Override per sheet, or pass maxHeight for an
57
+ * absolute value.
58
+ */
59
+ maxHeightRatio?: number;
53
60
  style?: StyleProp<ViewStyle>;
54
61
  titleContainerStyle?: StyleProp<ViewStyle>;
55
62
  titleTextStyle?: StyleProp<TextStyle>;
@@ -57,5 +64,5 @@ export type BottomSheetProps<T> = {
57
64
  /** Escape hatch into @gorhom/bottom-sheet (replaces v2's modalParams). */
58
65
  sheetProps?: Partial<BottomSheetModalProps>;
59
66
  };
60
- export declare const BottomSheet: <T>({ isVisible, hide, data, onItemPress, selectedItem, title, contentType, onDonePress, ContentRow, children, canSearch, searchBarProps, labelExtractor, valueExtractor, shouldShowItemSeparator, shouldHideKeyboardOnScrollBegin, disabled, showCreateOption, showCreateOptionLoader, createOptionLabel, onPressCreateOption, CreateItemComponent, noResultsLabel, NoResultsComponent, onBackdropPress, maxHeight, style, titleContainerStyle, titleTextStyle, flatListRef, sheetProps, }: BottomSheetProps<T>) => import("react").JSX.Element;
67
+ export declare const BottomSheet: <T>({ isVisible, hide, data, onItemPress, selectedItem, title, contentType, onDonePress, ContentRow, children, canSearch, searchBarProps, labelExtractor, valueExtractor, shouldShowItemSeparator, shouldHideKeyboardOnScrollBegin, disabled, showCreateOption, showCreateOptionLoader, createOptionLabel, onPressCreateOption, CreateItemComponent, noResultsLabel, NoResultsComponent, onBackdropPress, maxHeight, maxHeightRatio, style, titleContainerStyle, titleTextStyle, flatListRef, sheetProps, }: BottomSheetProps<T>) => import("react").JSX.Element;
61
68
  //# sourceMappingURL=BottomSheet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../../../src/components/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,GAAG,EACT,MAAM,OAAO,CAAC;AACf,OAAO,EAIL,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,EAKL,KAAK,qBAAqB,EAC3B,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAI9D;;;GAGG;AACH,MAAM,MAAM,0BAA0B,CAAC,CAAC,IAAI;IAC1C,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACX,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IACzD,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,aAAa,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACjE,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IACtC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,mBAAmB,CAAC,EAAE,aAAa,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,aAAa,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,mBAAmB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3C,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,0EAA0E;IAC1E,UAAU,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC7C,CAAC;AAgCF,eAAO,MAAM,WAAW,GAAI,CAAC,EAAG,ydAgC7B,gBAAgB,CAAC,CAAC,CAAC,gCA6QrB,CAAC"}
1
+ {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../../../src/components/BottomSheet/BottomSheet.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentsView.d.ts","sourceRoot":"","sources":["../../../../../src/components/ChatInput/AttachmentsView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAoBvC,KAAK,oBAAoB,GAAG;IAC1B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,0FAM7B,oBAAoB,uCAgBtB,CAAC"}
1
+ {"version":3,"file":"AttachmentsView.d.ts","sourceRoot":"","sources":["../../../../../src/components/ChatInput/AttachmentsView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAoBvC,KAAK,oBAAoB,GAAG;IAC1B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,0FAM7B,oBAAoB,uCAoBtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatInput.d.ts","sourceRoot":"","sources":["../../../../../src/components/ChatInput/ChatInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAuBzE,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,cAAc,EACd,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,mBAAmB,CAC5D,GAAG;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,qBAAqB,CAAC,EAAE,eAAe,CAAC;IACxC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACnD,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAChD,mEAAmE;IACnE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,EAAE,CAAC;IACpC,sBAAsB,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3C,kBAAkB,CAAC,EAAE,eAAe,EAAE,CAAC;IACvC,sEAAsE;IACtE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS;YApCZ,MAAM;mBACC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;4BACd,eAAe;qBACtB,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI;cACxC,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI;gBACjC,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI;IAC/C,mEAAmE;gBACvD,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI;mBAChC,MAAM,IAAI;IACzB,8DAA8D;uBAC3C,MAAM,IAAI;IAC7B,sDAAsD;iBACzC,MAAM,IAAI;sBACL,eAAe,EAAE;6BACV,eAAe,EAAE;yBACrB,eAAe,EAAE;IACtC,sEAAsE;2BAC/C,OAAO;eACnB,MAAM,EAAE;uBACA,MAAM;kBACX,SAAS;kBACT,iBAAiB,EAAE;eACtB,OAAO;gBACN,OAAO;gDAsQpB,CAAC"}
1
+ {"version":3,"file":"ChatInput.d.ts","sourceRoot":"","sources":["../../../../../src/components/ChatInput/ChatInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAqBzE,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,cAAc,EACd,OAAO,GAAG,UAAU,GAAG,cAAc,GAAG,mBAAmB,CAC5D,GAAG;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,qBAAqB,CAAC,EAAE,eAAe,CAAC;IACxC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACnD,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAChD,mEAAmE;IACnE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,EAAE,CAAC;IACpC,sBAAsB,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3C,kBAAkB,CAAC,EAAE,eAAe,EAAE,CAAC;IACvC,sEAAsE;IACtE,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS;YApCZ,MAAM;mBACC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;4BACd,eAAe;qBACtB,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI;cACxC,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI;gBACjC,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI;IAC/C,mEAAmE;gBACvD,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI;mBAChC,MAAM,IAAI;IACzB,8DAA8D;uBAC3C,MAAM,IAAI;IAC7B,sDAAsD;iBACzC,MAAM,IAAI;sBACL,eAAe,EAAE;6BACV,eAAe,EAAE;yBACrB,eAAe,EAAE;IACtC,sEAAsE;2BAC/C,OAAO;eACnB,MAAM,EAAE;uBACA,MAAM;kBACX,SAAS;kBACT,iBAAiB,EAAE;eACtB,OAAO;gBACN,OAAO;gDAiRpB,CAAC"}
@@ -7,7 +7,13 @@ export type CheckBoxProps = Omit<TouchableProps, "onPress"> & {
7
7
  label: string;
8
8
  labelStyle?: StyleProp<TextStyle>;
9
9
  isRequiredLabel?: boolean;
10
+ /**
11
+ * Ties the label's emphasis to the checked state: dimmed when unchecked,
12
+ * semibold when checked. Turn it off where the label names the field
13
+ * rather than the choice — an unchecked one then reads as disabled.
14
+ */
15
+ dimsUncheckedLabel?: boolean;
10
16
  iconSize?: number;
11
17
  };
12
- export declare const CheckBox: ({ checked, onSelect, disabled, label, labelStyle, isRequiredLabel, iconSize, style, ...rest }: CheckBoxProps) => import("react").JSX.Element;
18
+ export declare const CheckBox: ({ checked, onSelect, disabled, label, labelStyle, isRequiredLabel, dimsUncheckedLabel, iconSize, style, ...rest }: CheckBoxProps) => import("react").JSX.Element;
13
19
  //# sourceMappingURL=CheckBox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckBox.d.ts","sourceRoot":"","sources":["../../../../../src/components/CheckBox/CheckBox.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9D,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,+FAUtB,aAAa,gCAyBf,CAAC"}
1
+ {"version":3,"file":"CheckBox.d.ts","sourceRoot":"","sources":["../../../../../src/components/CheckBox/CheckBox.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9D,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,mHAWtB,aAAa,gCA4Bf,CAAC"}
@@ -1,15 +1,16 @@
1
- import { TextInput, type StyleProp, type TextInputProps, type ViewStyle } from "react-native";
2
- export type InputProps = Omit<TextInputProps, "editable"> & {
3
- label?: string;
4
- error?: string;
5
- disabled?: boolean;
6
- containerStyle?: StyleProp<ViewStyle>;
1
+ import { TextInput, type TextInputProps } from "react-native";
2
+ import { type InputFrameProps } from "./InputFrame";
3
+ export type InputProps = Omit<TextInputProps, "editable"> & Pick<InputFrameProps, "label" | "error" | "disabled" | "isRequiredLabel" | "noBorder" | "containerStyle" | "fieldStyle"> & {
4
+ /** Shows a clear button inside the field whenever it holds text. */
5
+ isClearable?: boolean;
6
+ /** Called after the clear button has emptied the field. */
7
+ onClear?: () => void;
7
8
  };
8
9
  /** Forwards its ref to the underlying TextInput, so forms can focus it. */
9
- export declare const Input: import("react").ForwardRefExoticComponent<Omit<TextInputProps, "editable"> & {
10
- label?: string;
11
- error?: string;
12
- disabled?: boolean;
13
- containerStyle?: StyleProp<ViewStyle>;
10
+ export declare const Input: import("react").ForwardRefExoticComponent<Omit<TextInputProps, "editable"> & Pick<InputFrameProps, "disabled" | "label" | "containerStyle" | "isRequiredLabel" | "error" | "noBorder" | "fieldStyle"> & {
11
+ /** Shows a clear button inside the field whenever it holds text. */
12
+ isClearable?: boolean;
13
+ /** Called after the clear button has emptied the field. */
14
+ onClear?: () => void;
14
15
  } & import("react").RefAttributes<TextInput>>;
15
16
  //# sourceMappingURL=Input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EAET,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAKtB,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GAAG;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACvC,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,KAAK;YAPR,MAAM;YACN,MAAM;eACH,OAAO;qBACD,SAAS,CAAC,SAAS,CAAC;6CAuDtC,CAAC"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9D,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAKhE,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GACvD,IAAI,CACF,eAAe,EACb,OAAO,GACP,OAAO,GACP,UAAU,GACV,iBAAiB,GACjB,UAAU,GACV,gBAAgB,GAChB,YAAY,CACf,GAAG;IACF,oEAAoE;IACpE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEJ,2EAA2E;AAC3E,eAAO,MAAM,KAAK;IAPd,oEAAoE;kBACtD,OAAO;IACrB,2DAA2D;cACjD,MAAM,IAAI;6CAsHvB,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { type ReactNode } from "react";
2
+ import { type StyleProp, type ViewStyle } from "react-native";
3
+ export type InputFrameProps = {
4
+ label?: string;
5
+ error?: string;
6
+ disabled?: boolean;
7
+ /** Appends a danger-colored `*` to the label. */
8
+ isRequiredLabel?: boolean;
9
+ /**
10
+ * Lifts the label out of the value line and shrinks it. The caller decides
11
+ * because only it knows what "has a value" means: text for an Input,
12
+ * a selection for a picker, an open sheet for a dropdown.
13
+ */
14
+ isLabelFloating?: boolean;
15
+ /** Paints the focus border. */
16
+ isFocused?: boolean;
17
+ /** Drops the border, for a field already framed by its container. */
18
+ noBorder?: boolean;
19
+ /** Pins the trailing slot to the first line of a field that grows. */
20
+ multiline?: boolean;
21
+ /** The value line: a TextInput, a Typography, a row of chips. */
22
+ children?: ReactNode;
23
+ /** Icons inside the frame, after the value. */
24
+ trailing?: ReactNode;
25
+ onPress?: () => void;
26
+ containerStyle?: StyleProp<ViewStyle>;
27
+ /** Styles the bordered box itself. */
28
+ fieldStyle?: StyleProp<ViewStyle>;
29
+ };
30
+ /**
31
+ * The bordered box with a floating label, shared by every field-shaped
32
+ * control. v2's Input animated its label from the value line up to the top
33
+ * edge; v3 replaced it with a static caption above the box, which reads as a
34
+ * second, smaller heading and leaves an empty field with nothing in it.
35
+ *
36
+ * Split out of Input because a picker is the same box with a different value
37
+ * line — a date, a chevron, a row of chips — and duplicating the animation
38
+ * per screen is how four controls end up nearly, but not quite, aligned.
39
+ */
40
+ export declare const InputFrame: ({ label, error, disabled, isRequiredLabel, isLabelFloating, isFocused, noBorder, multiline, children, trailing, onPress, containerStyle, fieldStyle, }: InputFrameProps) => import("react").JSX.Element;
41
+ //# sourceMappingURL=InputFrame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputFrame.d.ts","sourceRoot":"","sources":["../../../../../src/components/Input/InputFrame.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAIL,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAYtB,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,+BAA+B;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,sCAAsC;IACtC,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACnC,CAAC;AASF;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,GAAI,wJAcxB,eAAe,gCA2FjB,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export { Input, type InputProps } from "./Input";
2
+ export { InputFrame, type InputFrameProps } from "./InputFrame";
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"NeetoUIProvider.d.ts","sourceRoot":"","sources":["../../../../../src/components/NeetoUIProvider/NeetoUIProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAUvC,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,GAAI,cAAc,oBAAoB,gCAgBjE,CAAC"}
1
+ {"version":3,"file":"NeetoUIProvider.d.ts","sourceRoot":"","sources":["../../../../../src/components/NeetoUIProvider/NeetoUIProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAUvC,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,GAAI,cAAc,oBAAoB,gCAiBjE,CAAC"}
@@ -7,6 +7,11 @@ export type RadioButtonProps = Omit<TouchableProps, "onPress"> & {
7
7
  label: string;
8
8
  labelStyle?: StyleProp<TextStyle>;
9
9
  iconSize?: number;
10
+ /**
11
+ * Diameter of the filled dot. Defaults to 37.5% of the icon box, which is
12
+ * half the ring's outer diameter — the Material proportion.
13
+ */
14
+ dotSize?: number;
10
15
  };
11
- export declare const RadioButton: ({ selected, onSelect, disabled, label, labelStyle, iconSize, style, ...rest }: RadioButtonProps) => import("react").JSX.Element;
16
+ export declare const RadioButton: ({ selected, onSelect, disabled, label, labelStyle, iconSize, dotSize, style, ...rest }: RadioButtonProps) => import("react").JSX.Element;
12
17
  //# sourceMappingURL=RadioButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/RadioButton/RadioButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9D,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,+EASzB,gBAAgB,gCAyBlB,CAAC"}
1
+ {"version":3,"file":"RadioButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/RadioButton/RadioButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAIpE,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAUF,eAAO,MAAM,WAAW,GAAI,wFAUzB,gBAAgB,gCAsClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SearchBar.d.ts","sourceRoot":"","sources":["../../../../../src/components/SearchBar/SearchBar.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAQtB,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,uGAQvB,cAAc,gCA+DhB,CAAC"}
1
+ {"version":3,"file":"SearchBar.d.ts","sourceRoot":"","sources":["../../../../../src/components/SearchBar/SearchBar.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAStB,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,uGAQvB,cAAc,gCA+DhB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../../../src/components/Skeleton/Skeleton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AASzE,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAI5E,KAAK,gBAAgB,GAAG,iBAAiB,CAAC,OAAO,MAAM,CAAC,CAAC;AAEzD,MAAM,MAAM,aAAa,GAAG,SAAS,GACnC,gBAAgB,GAAG;IACjB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,QAAQ;mEAQlB,aAAa;uCA6Db,kBAAkB;CAbpB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAiBF,QAAA,MAAM,MAAM;;;;;;;;;;;;;;CAWT,CAAC"}
1
+ {"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../../../src/components/Skeleton/Skeleton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AASzE,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAI5E,KAAK,gBAAgB,GAAG,iBAAiB,CAAC,OAAO,MAAM,CAAC,CAAC;AAEzD,MAAM,MAAM,aAAa,GAAG,SAAS,GACnC,gBAAgB,GAAG;IACjB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,QAAQ;mEAQlB,aAAa;uCA6Db,kBAAkB;CAbpB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAiBF,QAAA,MAAM,MAAM;;;;;;;;;;;;;;CAkBV,CAAC"}
@@ -1,6 +1,11 @@
1
1
  import { type TextProps } from "react-native";
2
2
  import { type UnistylesVariants } from "react-native-unistyles";
3
3
  type TypographyVariants = UnistylesVariants<typeof styles>;
4
+ /**
5
+ * v2's Android guard multiplier, shared with InputFrame so the floating
6
+ * label and the text it stands in for never disagree on line metrics.
7
+ */
8
+ export declare const LINE_HEIGHT_RATIO = 1.3;
4
9
  export type TypographyProps = TextProps & TypographyVariants & {
5
10
  color?: string;
6
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Typography.d.ts","sourceRoot":"","sources":["../../../../../src/components/Typography/Typography.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,KAAK,kBAAkB,GAAG,iBAAiB,CAAC,OAAO,MAAM,CAAC,CAAC;AAE3D,MAAM,MAAM,eAAe,GAAG,SAAS,GACrC,kBAAkB,GAAG;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEJ,eAAO,MAAM,UAAU,GAAI,4DAQxB,eAAe,gCAQjB,CAAC;AAEF,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CT,CAAC"}
1
+ {"version":3,"file":"Typography.d.ts","sourceRoot":"","sources":["../../../../../src/components/Typography/Typography.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,KAAK,kBAAkB,GAAG,iBAAiB,CAAC,OAAO,MAAM,CAAC,CAAC;AAE3D;;;GAGG;AACH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,MAAM,MAAM,eAAe,GAAG,SAAS,GACrC,kBAAkB,GAAG;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEJ,eAAO,MAAM,UAAU,GAAI,4DAQxB,eAAe,gCAyBjB,CAAC;AAEF,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CT,CAAC"}
@@ -1,2 +1,2 @@
1
- export { Typography, type TypographyProps } from "./Typography";
1
+ export { LINE_HEIGHT_RATIO, Typography, type TypographyProps, } from "./Typography";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Typography/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Typography/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC"}
@@ -13,7 +13,7 @@ export { Container, type ContainerProps } from "./components/Container";
13
13
  export { Divider, type DividerProps } from "./components/Divider";
14
14
  export { EmptyView, type EmptyViewProps } from "./components/EmptyView";
15
15
  export { BaseHeader, Header, ScreenHeader, type BaseHeaderProps, type HeaderProps, type ScreenHeaderProps, } from "./components/Header";
16
- export { Input, type InputProps } from "./components/Input";
16
+ export { Input, InputFrame, type InputProps, type InputFrameProps, } from "./components/Input";
17
17
  export { Loader, type LoaderProps } from "./components/Loader";
18
18
  export { NeetoUIProvider, type NeetoUIProviderProps, } from "./components/NeetoUIProvider";
19
19
  export { OnBoarding, type OnBoardingProps, type OnBoardingSlide, } from "./components/OnBoarding";
@@ -26,6 +26,6 @@ export { Touchable, type TouchableProps } from "./components/Touchable";
26
26
  export { Typography, type TypographyProps } from "./components/Typography";
27
27
  export { useDebounce, useNeetoTheme, useRefreshByUser } from "./hooks";
28
28
  export { breakpoints, darkTheme, lightTheme, type NeetoTheme, } from "./theme/tokens";
29
- export { configureNeetoUI } from "./unistyles";
29
+ export { configureNeetoUI, type ConfigureNeetoUIOptions } from "./unistyles";
30
30
  export { getShadowStyles, isValidEmail, moderateScale } from "./utils";
31
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,GAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,eAAe,EACf,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EACL,SAAS,EACT,YAAY,EACZ,iCAAiC,EACjC,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,iBAAiB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EACL,UAAU,EACV,MAAM,EACN,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,GAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,EACL,WAAW,EACX,SAAS,EACT,UAAU,EACV,KAAK,UAAU,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,GAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,eAAe,EACf,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EACL,SAAS,EACT,YAAY,EACZ,iCAAiC,EACjC,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,iBAAiB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EACL,UAAU,EACV,MAAM,EACN,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,EACL,UAAU,EACV,KAAK,UAAU,EACf,KAAK,eAAe,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,GAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,EACL,WAAW,EACX,SAAS,EACT,UAAU,EACV,KAAK,UAAU,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
@@ -10,12 +10,39 @@ declare module "react-native-unistyles" {
10
10
  interface UnistylesBreakpoints extends AppBreakpoints {
11
11
  }
12
12
  }
13
+ export type ConfigureNeetoUIOptions = {
14
+ /**
15
+ * Follow the device colour scheme, swapping to the dark theme whenever the
16
+ * OS is in dark mode. Off by default.
17
+ *
18
+ * An app that has not designed for dark only half-follows: the surfaces
19
+ * styled through theme tokens go dark while everything painted from a
20
+ * literal colour stays light, which reads as dark text on dark
21
+ * backgrounds, light cards adrift on black, and a dark status bar under a
22
+ * `dark-content` bar style. Following the OS is therefore something an app
23
+ * opts into once its own screens are ready, not something the library
24
+ * decides for it.
25
+ */
26
+ adaptiveThemes?: boolean;
27
+ };
13
28
  /**
14
29
  * One-time Unistyles registration, idempotent. Runs automatically when the
15
30
  * library root is imported (src/unistyles-init.ts) because Unistyles
16
31
  * requires configure() before any module-scope StyleSheet.create;
17
32
  * NeetoUIProvider and tests may call it again safely.
33
+ *
34
+ * Apps should also call it from their entry point, through the
35
+ * "@bigbinary/neetoui-rn/unistyles" subpath. Metro's inlineRequires defers a
36
+ * named import until the expression that uses it, so importing
37
+ * NeetoUIProvider does not guarantee the library root — and this side
38
+ * effect — runs before the screen modules a default import pulls in eagerly.
39
+ *
40
+ * That ordering is also why an explicit `options` argument is honoured after
41
+ * the first call: the library root usually wins the race and registers the
42
+ * defaults, so an app asking for `adaptiveThemes` would otherwise be
43
+ * silently ignored. Argument-less calls never change an already-applied
44
+ * mode, which keeps NeetoUIProvider's fallback from clobbering that opt-in.
18
45
  */
19
- export declare const configureNeetoUI: () => void;
46
+ export declare const configureNeetoUI: (options?: ConfigureNeetoUIOptions) => void;
20
47
  export {};
21
48
  //# sourceMappingURL=unistyles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unistyles.d.ts","sourceRoot":"","sources":["../../../src/unistyles.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEpE,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,OAAO,UAAU,CAAC;IACzB,IAAI,EAAE,OAAO,SAAS,CAAC;CACxB,CAAC;AAEF,KAAK,cAAc,GAAG,OAAO,WAAW,CAAC;AAEzC,OAAO,QAAQ,wBAAwB,CAAC;IACtC,UAAiB,eAAgB,SAAQ,SAAS;KAAG;IACrD,UAAiB,oBAAqB,SAAQ,cAAc;KAAG;CAChE;AAID;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,YAS5B,CAAC"}
1
+ {"version":3,"file":"unistyles.d.ts","sourceRoot":"","sources":["../../../src/unistyles.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEpE,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,OAAO,UAAU,CAAC;IACzB,IAAI,EAAE,OAAO,SAAS,CAAC;CACxB,CAAC;AAEF,KAAK,cAAc,GAAG,OAAO,WAAW,CAAC;AAEzC,OAAO,QAAQ,wBAAwB,CAAC;IACtC,UAAiB,eAAgB,SAAQ,SAAS;KAAG;IACrD,UAAiB,oBAAqB,SAAQ,cAAc;KAAG;CAChE;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAIF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,gBAAgB,GAAI,UAAU,uBAAuB,SAoBjE,CAAC"}
@@ -1,2 +1,24 @@
1
+ /**
2
+ * Scales bound to a given screen. Pass `rt.screen` from a unistyles
3
+ * StyleSheet: reading it is what registers the dependency, so the sheet is
4
+ * recomputed when the window resizes — rotation, split-screen, foldables,
5
+ * iPad Slide Over.
6
+ *
7
+ * const styles = StyleSheet.create((theme, rt) => {
8
+ * const moderateScale = scaleFor(rt.screen);
9
+ *
10
+ * return { card: { padding: moderateScale(16) } };
11
+ * });
12
+ */
13
+ export declare const scaleFor: (screen: {
14
+ width: number;
15
+ height: number;
16
+ }) => (size: number, factor?: number) => number;
17
+ /**
18
+ * Screen-independent entry point, for sizes computed outside a stylesheet —
19
+ * icon props, measured layouts. Reads the runtime on every call, so it is
20
+ * current whenever the component re-renders, but it cannot subscribe a
21
+ * stylesheet to resizes: use scaleFor inside StyleSheet.create.
22
+ */
1
23
  export declare const moderateScale: (size: number, factor?: number) => number;
2
24
  //# sourceMappingURL=scale.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scale.d.ts","sourceRoot":"","sources":["../../../../src/utils/scale.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,eAAY,WACN,CAAC"}
1
+ {"version":3,"file":"scale.d.ts","sourceRoot":"","sources":["../../../../src/utils/scale.ts"],"names":[],"mappings":"AAkBA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ,GAClB,QAAQ;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,MACzC,MAAM,MAAM,EAAE,eAAY,WACkB,CAAC;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,eAAY,WACM,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neetoui-rn",
3
- "version": "3.0.3",
3
+ "version": "3.1.0",
4
4
  "description": "neeto UI component library for React Native — v3 (Unistyles, TypeScript, New Architecture)",
5
5
  "author": "BigBinary",
6
6
  "license": "MIT",
@@ -9,6 +9,11 @@
9
9
  "react-native": "./src/index.ts",
10
10
  "types": "./lib/typescript/src/index.d.ts",
11
11
  "exports": {
12
+ "./unistyles": {
13
+ "types": "./lib/typescript/src/unistyles.d.ts",
14
+ "react-native": "./src/unistyles.ts",
15
+ "default": "./src/unistyles.ts"
16
+ },
12
17
  ".": {
13
18
  "types": "./lib/typescript/src/index.d.ts",
14
19
  "react-native": "./src/index.ts",
@@ -116,10 +121,7 @@
116
121
  "testPathIgnorePatterns": [
117
122
  "/node_modules/",
118
123
  "/lib/"
119
- ],
120
- "moduleNameMapper": {
121
- "^@bigbinary/neeto-icons-rn$": "<rootDir>/node_modules/@bigbinary/neeto-icons-rn/dist/icons/index.js"
122
- }
124
+ ]
123
125
  },
124
126
  "react-native-builder-bob": {
125
127
  "source": "src",
@@ -134,7 +136,7 @@
134
136
  ]
135
137
  },
136
138
  "dependencies": {
137
- "@bigbinary/neeto-icons-rn": "^1.20.74",
139
+ "@bigbinary/neeto-icons-rn": "^1.21.2",
138
140
  "react-native-controlled-mentions": "^3.1.0"
139
141
  }
140
142
  }
@@ -8,7 +8,7 @@ import {
8
8
  } from "@gorhom/bottom-sheet";
9
9
  import { StyleSheet } from "react-native-unistyles";
10
10
 
11
- import { moderateScale } from "../../utils/scale";
11
+ import { scaleFor } from "../../utils/scale";
12
12
  import { Button, type ButtonProps } from "../Button";
13
13
  import { Typography } from "../Typography";
14
14
 
@@ -177,46 +177,53 @@ Alert.show = (params: AlertParams) => {
177
177
  hostRef.show(params);
178
178
  };
179
179
 
180
- const styles = StyleSheet.create(theme => ({
181
- sheetBackground: {
182
- backgroundColor: theme.colors.background.primary,
183
- borderTopLeftRadius: moderateScale(20),
184
- borderTopRightRadius: moderateScale(20),
185
- },
186
- handleIndicator: {
187
- backgroundColor: theme.colors.palette.grey200,
188
- width: moderateScale(40),
189
- },
190
- content: {
191
- paddingBottom: moderateScale(24),
192
- },
193
- titleContainer: {
194
- borderBottomColor: theme.colors.palette.grey200,
195
- borderBottomWidth: moderateScale(1.5),
196
- paddingBottom: moderateScale(12),
197
- paddingHorizontal: moderateScale(16),
198
- },
199
- title: {
200
- textAlign: "center",
201
- },
202
- description: {
203
- color: theme.colors.text.muted,
204
- paddingHorizontal: moderateScale(16),
205
- paddingTop: moderateScale(16),
206
- },
207
- buttonContainer: {
208
- gap: moderateScale(8),
209
- paddingHorizontal: moderateScale(16),
210
- paddingTop: moderateScale(16),
211
- },
212
- primaryButton: {
213
- minHeight: moderateScale(44),
214
- },
215
- secondaryButton: {
216
- alignItems: "center",
217
- backgroundColor: theme.colors.palette.grey100,
218
- borderRadius: theme.radii.lg,
219
- justifyContent: "center",
220
- paddingVertical: moderateScale(14),
221
- },
222
- }));
180
+ const styles = StyleSheet.create((theme, rt) => {
181
+ // Reading rt.screen registers the dependency that has this sheet
182
+ // recomputed on a window resize, so scaled sizes follow rotation,
183
+ // split-screen and foldables instead of freezing at first render.
184
+ const moderateScale = scaleFor(rt.screen);
185
+
186
+ return {
187
+ sheetBackground: {
188
+ backgroundColor: theme.colors.background.primary,
189
+ borderTopLeftRadius: moderateScale(20),
190
+ borderTopRightRadius: moderateScale(20),
191
+ },
192
+ handleIndicator: {
193
+ backgroundColor: theme.colors.palette.grey200,
194
+ width: moderateScale(40),
195
+ },
196
+ content: {
197
+ paddingBottom: moderateScale(24),
198
+ },
199
+ titleContainer: {
200
+ borderBottomColor: theme.colors.palette.grey200,
201
+ borderBottomWidth: moderateScale(1.5),
202
+ paddingBottom: moderateScale(12),
203
+ paddingHorizontal: moderateScale(16),
204
+ },
205
+ title: {
206
+ textAlign: "center",
207
+ },
208
+ description: {
209
+ color: theme.colors.text.muted,
210
+ paddingHorizontal: moderateScale(16),
211
+ paddingTop: moderateScale(16),
212
+ },
213
+ buttonContainer: {
214
+ gap: moderateScale(8),
215
+ paddingHorizontal: moderateScale(16),
216
+ paddingTop: moderateScale(16),
217
+ },
218
+ primaryButton: {
219
+ minHeight: moderateScale(44),
220
+ },
221
+ secondaryButton: {
222
+ alignItems: "center",
223
+ backgroundColor: theme.colors.palette.grey100,
224
+ borderRadius: theme.radii.lg,
225
+ justifyContent: "center",
226
+ paddingVertical: moderateScale(14),
227
+ },
228
+ };
229
+ });