related-ui-components 1.6.9 → 1.7.1

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 (48) hide show
  1. package/lib/commonjs/app.js +22 -18
  2. package/lib/commonjs/app.js.map +1 -1
  3. package/lib/commonjs/components/Popup/Popup.js +22 -16
  4. package/lib/commonjs/components/Popup/Popup.js.map +1 -1
  5. package/lib/commonjs/components/TravelBooking/FlightForm.js +1 -1
  6. package/lib/commonjs/components/TravelBooking/FlightForm.js.map +1 -1
  7. package/lib/commonjs/components/TravelBooking/FlightSummary.js +1 -1
  8. package/lib/commonjs/components/TravelBooking/FlightSummary.js.map +1 -1
  9. package/lib/commonjs/components/TravelBooking/HotelSummary.js +1 -1
  10. package/lib/commonjs/components/TravelBooking/HotelSummary.js.map +1 -1
  11. package/lib/commonjs/components/TravelBooking/SummaryBar.js +2 -2
  12. package/lib/commonjs/components/TravelBooking/SummaryBar.js.map +1 -1
  13. package/lib/commonjs/theme/Colors.js +32 -2
  14. package/lib/commonjs/theme/Colors.js.map +1 -1
  15. package/lib/module/app.js +26 -21
  16. package/lib/module/app.js.map +1 -1
  17. package/lib/module/components/Popup/Popup.js +22 -16
  18. package/lib/module/components/Popup/Popup.js.map +1 -1
  19. package/lib/module/components/TravelBooking/FlightForm.js +1 -1
  20. package/lib/module/components/TravelBooking/FlightForm.js.map +1 -1
  21. package/lib/module/components/TravelBooking/FlightSummary.js +1 -1
  22. package/lib/module/components/TravelBooking/FlightSummary.js.map +1 -1
  23. package/lib/module/components/TravelBooking/HotelSummary.js +1 -1
  24. package/lib/module/components/TravelBooking/HotelSummary.js.map +1 -1
  25. package/lib/module/components/TravelBooking/SummaryBar.js +2 -2
  26. package/lib/module/components/TravelBooking/SummaryBar.js.map +1 -1
  27. package/lib/module/theme/Colors.js +32 -2
  28. package/lib/module/theme/Colors.js.map +1 -1
  29. package/lib/typescript/commonjs/app.d.ts +1 -1
  30. package/lib/typescript/commonjs/app.d.ts.map +1 -1
  31. package/lib/typescript/commonjs/components/Popup/Popup.d.ts +2 -1
  32. package/lib/typescript/commonjs/components/Popup/Popup.d.ts.map +1 -1
  33. package/lib/typescript/commonjs/theme/Colors.d.ts +11 -1
  34. package/lib/typescript/commonjs/theme/Colors.d.ts.map +1 -1
  35. package/lib/typescript/module/app.d.ts +1 -1
  36. package/lib/typescript/module/app.d.ts.map +1 -1
  37. package/lib/typescript/module/components/Popup/Popup.d.ts +2 -1
  38. package/lib/typescript/module/components/Popup/Popup.d.ts.map +1 -1
  39. package/lib/typescript/module/theme/Colors.d.ts +11 -1
  40. package/lib/typescript/module/theme/Colors.d.ts.map +1 -1
  41. package/package.json +4 -3
  42. package/src/app.tsx +20 -14
  43. package/src/components/Popup/Popup.tsx +28 -13
  44. package/src/components/TravelBooking/FlightForm.tsx +1 -1
  45. package/src/components/TravelBooking/FlightSummary.tsx +1 -1
  46. package/src/components/TravelBooking/HotelSummary.tsx +1 -1
  47. package/src/components/TravelBooking/SummaryBar.tsx +2 -2
  48. package/src/theme/Colors.ts +36 -3
@@ -1 +1 @@
1
- {"version":3,"file":"Colors.d.ts","sourceRoot":"","sources":["../../../../src/theme/Colors.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,SAAS;IAExB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAGlB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAGhB,QAAQ,EAAE,MAAM,CAAC;IAGjB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IAGf,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAGD,eAAO,MAAM,UAAU,EAAE,SAgCxB,CAAC;AAGF,eAAO,MAAM,SAAS,EAAE,SAgCvB,CAAC"}
1
+ {"version":3,"file":"Colors.d.ts","sourceRoot":"","sources":["../../../../src/theme/Colors.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,SAAS;IAExB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAGlB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAGhB,QAAQ,EAAE,MAAM,CAAC;IAGjB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,EAAE,EAAE,MAAM,CAAC;QACX,GAAG,EAAE,MAAM,CAAC;KACb,CAAA;CACF;AAGD,eAAO,MAAM,UAAU,EAAE,SA4CxB,CAAC;AAGF,eAAO,MAAM,SAAS,EAAE,SA4CvB,CAAC"}
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React from "react";
2
2
  declare const MyScreen: () => React.JSX.Element;
3
3
  export default MyScreen;
4
4
  //# sourceMappingURL=app.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,QAAA,MAAM,QAAQ,yBAsBb,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,QAAA,MAAM,QAAQ,yBA4Bb,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { FC, ReactNode } from "react";
2
2
  import { ImageSourcePropType, TextStyle, ViewStyle, ImageStyle } from "react-native";
3
- interface PopupProps {
3
+ import { ModalProps } from "react-native-modal";
4
+ interface PopupProps extends Partial<Pick<ModalProps, "animationIn" | "animationOut" | "animationInTiming" | "animationOutTiming" | "backdropTransitionInTiming" | "backdropTransitionOutTiming" | "onBackdropPress">> {
4
5
  visible: boolean;
5
6
  onClose: () => void;
6
7
  backgroundImage?: ImageSourcePropType;
@@ -1 +1 @@
1
- {"version":3,"file":"Popup.d.ts","sourceRoot":"","sources":["../../../../../src/components/Popup/Popup.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAOL,mBAAmB,EAMnB,SAAS,EACT,SAAS,EACT,UAAU,EACX,MAAM,cAAc,CAAC;AAGtB,UAAU,UAAU;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IACzC,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,uBAAuB,CAAC,EAAE,SAAS,CAAC;IACpC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IACxC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAClC,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,sBAAsB,CAAC,EAAE,SAAS,CAAC;IACnC,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACjC,wBAAwB,CAAC,EAAE,SAAS,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,QAAA,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CAyMzB,CAAC;AAmIF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Popup.d.ts","sourceRoot":"","sources":["../../../../../src/components/Popup/Popup.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAML,mBAAmB,EAMnB,SAAS,EACT,SAAS,EACT,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,OAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEvD,UAAU,UACR,SAAQ,OAAO,CAAC,IAAI,CAClB,UAAU,EACR,aAAa,GACb,cAAc,GACd,mBAAmB,GACnB,oBAAoB,GACpB,4BAA4B,GAC5B,6BAA6B,GAC7B,iBAAiB,CACpB,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;IACzC,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,uBAAuB,CAAC,EAAE,SAAS,CAAC;IACpC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IACxC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAClC,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAC/B,sBAAsB,CAAC,EAAE,SAAS,CAAC;IACnC,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACjC,wBAAwB,CAAC,EAAE,SAAS,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,QAAA,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CA8MzB,CAAC;AAmIF,eAAe,KAAK,CAAC"}
@@ -1,8 +1,11 @@
1
1
  export interface ThemeType {
2
2
  background: string;
3
3
  surface: string;
4
+ surfaceVariant: string;
4
5
  primary: string;
6
+ primaryVariant: string;
5
7
  secondary: string;
8
+ secondaryVariant: string;
6
9
  error: string;
7
10
  success: string;
8
11
  warning: string;
@@ -21,7 +24,14 @@ export interface ThemeType {
21
24
  labelText: string;
22
25
  placeholderText: string;
23
26
  helper: string;
24
- [key: string]: string;
27
+ spacing: {
28
+ xs: number;
29
+ s: number;
30
+ m: number;
31
+ l: number;
32
+ xl: number;
33
+ xxl: number;
34
+ };
25
35
  }
26
36
  export declare const lightTheme: ThemeType;
27
37
  export declare const darkTheme: ThemeType;
@@ -1 +1 @@
1
- {"version":3,"file":"Colors.d.ts","sourceRoot":"","sources":["../../../../src/theme/Colors.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,SAAS;IAExB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAGlB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAGhB,QAAQ,EAAE,MAAM,CAAC;IAGjB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IAGf,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAGD,eAAO,MAAM,UAAU,EAAE,SAgCxB,CAAC;AAGF,eAAO,MAAM,SAAS,EAAE,SAgCvB,CAAC"}
1
+ {"version":3,"file":"Colors.d.ts","sourceRoot":"","sources":["../../../../src/theme/Colors.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,SAAS;IAExB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAGlB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAGhB,QAAQ,EAAE,MAAM,CAAC;IAGjB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,EAAE,EAAE,MAAM,CAAC;QACX,GAAG,EAAE,MAAM,CAAC;KACb,CAAA;CACF;AAGD,eAAO,MAAM,UAAU,EAAE,SA4CxB,CAAC;AAGF,eAAO,MAAM,SAAS,EAAE,SA4CvB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "related-ui-components",
3
3
  "main": "./src/index.ts",
4
- "version": "1.6.9",
4
+ "version": "1.7.1",
5
5
  "scripts": {
6
6
  "start": "expo start",
7
7
  "reset-project": "node ./scripts/reset-project.js",
@@ -24,6 +24,7 @@
24
24
  "@gorhom/bottom-sheet": "^5.1.2",
25
25
  "@ptomasroos/react-native-multi-slider": "^2.2.2",
26
26
  "@react-native-community/slider": "4.5.5",
27
+ "@react-native-picker/picker": "2.9.0",
27
28
  "@react-navigation/native": "^7.0.14",
28
29
  "@shopify/react-native-skia": "1.5.0",
29
30
  "date-fns": "^4.1.0",
@@ -40,13 +41,13 @@
40
41
  "react-native": "0.76.9",
41
42
  "react-native-calendars": "^1.1310.0",
42
43
  "react-native-gesture-handler": "~2.20.2",
44
+ "react-native-modal": "^14.0.0-rc.1",
43
45
  "react-native-reanimated": "^3.16.1",
44
46
  "react-native-safe-area-context": "4.12.0",
45
47
  "react-native-screens": "~4.4.0",
46
48
  "react-native-svg": "15.8.0",
47
49
  "react-native-web": "~0.19.13",
48
- "react-native-webview": "13.12.5",
49
- "@react-native-picker/picker": "2.9.0"
50
+ "react-native-webview": "13.12.5"
50
51
  },
51
52
  "devDependencies": {
52
53
  "@babel/core": "^7.25.2",
package/src/app.tsx CHANGED
@@ -1,7 +1,7 @@
1
- import React, { useState } from 'react';
2
- import { View, Button } from 'react-native';
3
- import { FilterResult, Filters } from './components';
4
- import BRANDS from './constants/BRANDS';
1
+ import React, { useState } from "react";
2
+ import { View, Button } from "react-native";
3
+ import { FilterResult, Filters, Popup } from "./components";
4
+ import BRANDS from "./constants/BRANDS";
5
5
 
6
6
  const MyScreen = () => {
7
7
  const [isFilterVisible, setIsFilterVisible] = useState(false);
@@ -12,18 +12,24 @@ const MyScreen = () => {
12
12
  };
13
13
 
14
14
  return (
15
- <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
16
- <Button title="Show Filters" onPress={() => setIsFilterVisible(true)} />
17
-
18
- <Filters
15
+ <>
16
+ <Popup
19
17
  visible={isFilterVisible}
20
- onClose={() => setIsFilterVisible(false)} // Pass the function to close the modal
21
- onActionButtonPress={handleApplyFilters}
22
- // ... other filter props (sortOptions, brands, etc.)
23
- sortOptions={[/* your sort options */]}
24
- brands={BRANDS}
18
+ onClose={() => setIsFilterVisible(false)}
19
+ showCloseIcon={true}
20
+ title="ترقية إلى النسخة المميزة"
21
+ subtitle="استمتع بمزايا حصرية"
22
+ content="احصل على جميع الميزات المتقدمة والمحتوى الحصري بدون إعلانات. اشترك الآن واستمتع بتجربة كاملة مع تحديثات مجانية لمدة عام كامل."
23
+ primaryButtonText="ترقية الآن"
24
+ secondaryButtonText="ليس الآن"
25
+ // onPrimaryButtonPress={handleUpgrade}
26
+ // onSecondaryButtonPress={handleDismiss}
27
+ isRTL={true}
25
28
  />
26
- </View>
29
+ <View style={{ flex: 1, justifyContent: "center", alignItems: "center" }}>
30
+ <Button title="Show Filters" onPress={() => setIsFilterVisible(true)} />
31
+ </View>
32
+ </>
27
33
  );
28
34
  };
29
35
 
@@ -1,7 +1,6 @@
1
1
  import { useTheme, ThemeType } from "../../theme";
2
2
  import React, { FC, ReactNode } from "react";
3
3
  import {
4
- Modal,
5
4
  View,
6
5
  Text,
7
6
  TouchableOpacity,
@@ -18,8 +17,19 @@ import {
18
17
  ImageStyle,
19
18
  } from "react-native";
20
19
  import CloseIcon from "../CloseIcon/CloseIcon";
20
+ import Modal, { ModalProps } from "react-native-modal";
21
21
 
22
- interface PopupProps {
22
+ interface PopupProps
23
+ extends Partial<Pick<
24
+ ModalProps,
25
+ | "animationIn"
26
+ | "animationOut"
27
+ | "animationInTiming"
28
+ | "animationOutTiming"
29
+ | "backdropTransitionInTiming"
30
+ | "backdropTransitionOutTiming"
31
+ | "onBackdropPress"
32
+ >> {
23
33
  visible: boolean;
24
34
  onClose: () => void;
25
35
  backgroundImage?: ImageSourcePropType;
@@ -91,6 +101,13 @@ const Popup: FC<PopupProps> = ({
91
101
  modalStyle,
92
102
  overlay,
93
103
  customContent,
104
+ animationIn = "slideInUp",
105
+ animationInTiming,
106
+ animationOut = "slideOutDown",
107
+ animationOutTiming,
108
+ backdropTransitionInTiming,
109
+ backdropTransitionOutTiming,
110
+ onBackdropPress
94
111
  }) => {
95
112
  const { theme, isRTL: rtl } = useTheme();
96
113
  isRTL = rtl;
@@ -237,20 +254,18 @@ const Popup: FC<PopupProps> = ({
237
254
 
238
255
  return (
239
256
  <Modal
240
- transparent
241
- visible={visible}
242
- animationType="fade"
243
- onRequestClose={onClose}
257
+ isVisible={visible}
258
+ animationIn={animationIn}
259
+ animationOut={animationOut}
260
+ backdropTransitionInTiming={backdropTransitionInTiming}
261
+ backdropTransitionOutTiming={backdropTransitionOutTiming}
262
+ animationInTiming={animationInTiming}
263
+ animationOutTiming={animationOutTiming}
264
+ onBackdropPress={onBackdropPress}
244
265
  statusBarTranslucent
245
266
  style={modalStyle}
246
267
  >
247
268
  <View style={styles.modalOverlay}>
248
- {closeOnBackdropPress && (
249
- <TouchableWithoutFeedback onPress={onClose}>
250
- <View style={StyleSheet.absoluteFill} />
251
- </TouchableWithoutFeedback>
252
- )}
253
-
254
269
  <TouchableWithoutFeedback>
255
270
  <PopupContent />
256
271
  </TouchableWithoutFeedback>
@@ -267,7 +282,7 @@ const createStyles = (theme: ThemeType) =>
267
282
  StyleSheet.create({
268
283
  modalOverlay: {
269
284
  flex: 1,
270
- backgroundColor: "rgba(0, 0, 0, 0.5)", // Keep overlay color
285
+ // backgroundColor: "rgba(0, 0, 0, 0.5)", // Keep overlay color
271
286
  justifyContent: "center",
272
287
  alignItems: "center",
273
288
  paddingTop: Platform.OS === "android" ? StatusBar.currentHeight : 0,
@@ -445,7 +445,7 @@ const themedStyles = (theme: ThemeType, isRTL: boolean) =>
445
445
  },
446
446
  suggestionAirportText: {
447
447
  fontSize: 14,
448
- color: theme.onSurfaceVariant,
448
+ color: theme.onSurface,
449
449
  },
450
450
  });
451
451
 
@@ -380,7 +380,7 @@ const themedStyles = (theme: ThemeType, isRTL: boolean) =>
380
380
  },
381
381
  passengerDescription: {
382
382
  fontSize: 12,
383
- color: theme.secondaryText || theme.onSurface,
383
+ color: theme.text || theme.onSurface,
384
384
  opacity: 0.8,
385
385
  },
386
386
  });
@@ -323,7 +323,7 @@ const themedStyles = (theme: ThemeType, isRTL: boolean) =>
323
323
  },
324
324
  guestDescription: {
325
325
  fontSize: 12,
326
- color: theme.secondaryText || theme.onSurface,
326
+ color: theme.onSurface,
327
327
  opacity: 0.8,
328
328
  },
329
329
  addRoomButton: {
@@ -163,7 +163,7 @@ const SummaryBar: React.FC<SummaryBarProps> = ({
163
163
  <Ionicons
164
164
  name={isExpanded ? "chevron-up" : "chevron-down"}
165
165
  size={22}
166
- color={theme.secondaryText || theme.border}
166
+ color={ theme.border}
167
167
  style={iconStyle}
168
168
  />
169
169
  </TouchableOpacity>
@@ -210,7 +210,7 @@ const themedStyles = (theme: ThemeType) =>
210
210
  paddingHorizontal: 16,
211
211
  },
212
212
  summaryText: {
213
- color: theme.onSurfaceVariant || theme.onSurface,
213
+ color: theme.onSurface,
214
214
  fontSize: 15,
215
215
  fontWeight: "500",
216
216
  flex: 1,
@@ -3,8 +3,11 @@ export interface ThemeType {
3
3
  // Core
4
4
  background: string; // Main screen background
5
5
  surface: string; // Background for components like cards, dialogs, sheets
6
+ surfaceVariant: string;
6
7
  primary: string; // Main accent color for interactive elements
8
+ primaryVariant: string
7
9
  secondary: string; // Secondary accent color or for elements on primary
10
+ secondaryVariant: string
8
11
  error: string; // Error states, destructive actions
9
12
  success: string; // Success states
10
13
  warning: string; // Warning states
@@ -31,9 +34,15 @@ export interface ThemeType {
31
34
  labelText: string; // Color of labels for inputs
32
35
  placeholderText: string; // Color of placeholder text in inputs
33
36
  helper: string; // Helper text below inputs
34
-
35
- // Allow for additional keys if needed later
36
- [key: string]: string;
37
+
38
+ spacing: {
39
+ xs: number;
40
+ s: number;
41
+ m: number;
42
+ l: number;
43
+ xl: number;
44
+ xxl: number;
45
+ }
37
46
  }
38
47
 
39
48
  // Updated Light Theme - True black and white oriented, less muted
@@ -41,8 +50,11 @@ export const lightTheme: ThemeType = {
41
50
  // Core
42
51
  background: "#F8F8F8", // Very light pure gray
43
52
  surface: "#FFFFFF", // Pure white for cards/dialogs
53
+ surfaceVariant: "#FFFFFF", // Pure white for cards/dialogs
44
54
  primary: "#333333", // Pure dark gray, almost black
55
+ primaryVariant: "#333333", // Pure dark gray, almost black
45
56
  secondary: "#777777", // Medium gray without color tint
57
+ secondaryVariant: "#777777", // Medium gray without color tint
46
58
  error: "#E53935", // Vibrant but pure red
47
59
  success: "#43A047", // Vibrant but pure green
48
60
  warning: "#F57C00", // Vibrant but pure orange
@@ -69,6 +81,15 @@ export const lightTheme: ThemeType = {
69
81
  labelText: "#444444", // Dark gray for labels
70
82
  placeholderText: "#999999", // Medium gray for placeholders
71
83
  helper: "#777777", // Medium gray for helper text
84
+
85
+ spacing: {
86
+ xs: 4,
87
+ s: 8,
88
+ m: 16,
89
+ l: 24,
90
+ xl: 32,
91
+ xxl: 64,
92
+ },
72
93
  };
73
94
 
74
95
  // Updated Dark Theme - True black and white oriented, less muted
@@ -76,8 +97,11 @@ export const darkTheme: ThemeType = {
76
97
  // Core
77
98
  background: "#121212", // Very dark gray, nearly black
78
99
  surface: "#1E1E1E", // Dark gray for surface elements
100
+ surfaceVariant: "#1E1E1E", // Dark gray for surface elements
79
101
  primary: "#E0E0E0", // Light gray without tint
102
+ primaryVariant: "#E0E0E0",
80
103
  secondary: "#757575", // Medium gray without tint
104
+ secondaryVariant: "#757575",
81
105
  error: "#F44336", // Vibrant but pure red
82
106
  success: "#4CAF50", // Vibrant but pure green
83
107
  warning: "#FF9800", // Vibrant but pure orange
@@ -104,4 +128,13 @@ export const darkTheme: ThemeType = {
104
128
  labelText: "#E0E0E0", // Light gray for labels
105
129
  placeholderText: "#9E9E9E", // Medium gray for placeholders
106
130
  helper: "#9E9E9E", // Medium gray for helper text
131
+
132
+ spacing: {
133
+ xs: 4,
134
+ s: 8,
135
+ m: 16,
136
+ l: 24,
137
+ xl: 32,
138
+ xxl: 64,
139
+ },
107
140
  };