related-ui-components 2.6.1 → 2.6.2

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 (161) hide show
  1. package/lib/commonjs/app.d.ts +4 -0
  2. package/lib/commonjs/app.d.ts.map +1 -0
  3. package/lib/commonjs/components/Badges/Badge.d.ts +14 -0
  4. package/lib/commonjs/components/Badges/Badge.d.ts.map +1 -0
  5. package/lib/commonjs/components/Badges/index.d.ts +3 -0
  6. package/lib/commonjs/components/Badges/index.d.ts.map +1 -0
  7. package/lib/commonjs/components/Banner/Banner.d.ts +24 -0
  8. package/lib/commonjs/components/Banner/Banner.d.ts.map +1 -0
  9. package/lib/commonjs/components/Banner/BannerWithDetails.d.ts +16 -0
  10. package/lib/commonjs/components/Banner/BannerWithDetails.d.ts.map +1 -0
  11. package/lib/commonjs/components/Banner/index.d.ts +4 -0
  12. package/lib/commonjs/components/Banner/index.d.ts.map +1 -0
  13. package/lib/commonjs/components/BrandIcon/BrandIcon.d.ts +18 -0
  14. package/lib/commonjs/components/BrandIcon/BrandIcon.d.ts.map +1 -0
  15. package/lib/commonjs/components/BrandIcon/index.d.ts +3 -0
  16. package/lib/commonjs/components/BrandIcon/index.d.ts.map +1 -0
  17. package/lib/commonjs/components/Button/Button.d.ts +17 -0
  18. package/lib/commonjs/components/Button/Button.d.ts.map +1 -0
  19. package/lib/commonjs/components/Button/index.d.ts +3 -0
  20. package/lib/commonjs/components/Button/index.d.ts.map +1 -0
  21. package/lib/commonjs/components/Card/Card.d.ts +17 -0
  22. package/lib/commonjs/components/Card/Card.d.ts.map +1 -0
  23. package/lib/commonjs/components/Card/CardContent.d.ts +8 -0
  24. package/lib/commonjs/components/Card/CardContent.d.ts.map +1 -0
  25. package/lib/commonjs/components/Card/CardFooter.d.ts +9 -0
  26. package/lib/commonjs/components/Card/CardFooter.d.ts.map +1 -0
  27. package/lib/commonjs/components/Card/CardHeader.d.ts +14 -0
  28. package/lib/commonjs/components/Card/CardHeader.d.ts.map +1 -0
  29. package/lib/commonjs/components/Card/CardImage.d.ts +12 -0
  30. package/lib/commonjs/components/Card/CardImage.d.ts.map +1 -0
  31. package/lib/commonjs/components/Card/index.d.ts +10 -0
  32. package/lib/commonjs/components/Card/index.d.ts.map +1 -0
  33. package/lib/commonjs/components/Card/templates/DealCard.d.ts +30 -0
  34. package/lib/commonjs/components/Card/templates/DealCard.d.ts.map +1 -0
  35. package/lib/commonjs/components/Card/templates/DealCardWithBackgroundImage.d.ts +37 -0
  36. package/lib/commonjs/components/Card/templates/DealCardWithBackgroundImage.d.ts.map +1 -0
  37. package/lib/commonjs/components/Card/templates/SimpleTrendingCard.d.ts +12 -0
  38. package/lib/commonjs/components/Card/templates/SimpleTrendingCard.d.ts.map +1 -0
  39. package/lib/commonjs/components/Card/types.d.ts +2 -0
  40. package/lib/commonjs/components/Card/types.d.ts.map +1 -0
  41. package/lib/commonjs/components/CloseIcon/CloseIcon.d.ts +14 -0
  42. package/lib/commonjs/components/CloseIcon/CloseIcon.d.ts.map +1 -0
  43. package/lib/commonjs/components/CloseIcon/index.d.ts +3 -0
  44. package/lib/commonjs/components/CloseIcon/index.d.ts.map +1 -0
  45. package/lib/commonjs/components/DateRangePicker/DateRangePicker.d.ts +20 -0
  46. package/lib/commonjs/components/DateRangePicker/DateRangePicker.d.ts.map +1 -0
  47. package/lib/commonjs/components/DateRangePicker/index.d.ts +2 -0
  48. package/lib/commonjs/components/DateRangePicker/index.d.ts.map +1 -0
  49. package/lib/commonjs/components/Filters/Filters.d.ts +56 -0
  50. package/lib/commonjs/components/Filters/Filters.d.ts.map +1 -0
  51. package/lib/commonjs/components/Filters/PointsRangeSelector.d.ts +27 -0
  52. package/lib/commonjs/components/Filters/PointsRangeSelector.d.ts.map +1 -0
  53. package/lib/commonjs/components/Filters/index.d.ts +4 -0
  54. package/lib/commonjs/components/Filters/index.d.ts.map +1 -0
  55. package/lib/commonjs/components/Input/Input.d.ts +4 -0
  56. package/lib/commonjs/components/Input/Input.d.ts.map +1 -0
  57. package/lib/commonjs/components/Input/index.d.ts +3 -0
  58. package/lib/commonjs/components/Input/index.d.ts.map +1 -0
  59. package/lib/commonjs/components/LockOverlay/LockOverlay.d.ts +15 -0
  60. package/lib/commonjs/components/LockOverlay/LockOverlay.d.ts.map +1 -0
  61. package/lib/commonjs/components/LockOverlay/index.d.ts +3 -0
  62. package/lib/commonjs/components/LockOverlay/index.d.ts.map +1 -0
  63. package/lib/commonjs/components/Marquee/Marquee.d.ts +14 -0
  64. package/lib/commonjs/components/Marquee/Marquee.d.ts.map +1 -0
  65. package/lib/commonjs/components/Marquee/index.d.ts +3 -0
  66. package/lib/commonjs/components/Marquee/index.d.ts.map +1 -0
  67. package/lib/commonjs/components/NumericStepper/NumericStepper.d.ts +16 -0
  68. package/lib/commonjs/components/NumericStepper/NumericStepper.d.ts.map +1 -0
  69. package/lib/commonjs/components/NumericStepper/index.d.ts +3 -0
  70. package/lib/commonjs/components/NumericStepper/index.d.ts.map +1 -0
  71. package/lib/commonjs/components/Popup/Popup.d.ts +39 -0
  72. package/lib/commonjs/components/Popup/Popup.d.ts.map +1 -0
  73. package/lib/commonjs/components/Popup/index.d.ts +3 -0
  74. package/lib/commonjs/components/Popup/index.d.ts.map +1 -0
  75. package/lib/commonjs/components/ProgressBar/ProgressBar.d.ts +22 -0
  76. package/lib/commonjs/components/ProgressBar/ProgressBar.d.ts.map +1 -0
  77. package/lib/commonjs/components/ProgressBar/index.d.ts +3 -0
  78. package/lib/commonjs/components/ProgressBar/index.d.ts.map +1 -0
  79. package/lib/commonjs/components/RedeemedVoucher/RedeemedVoucherSheet.d.ts +4 -0
  80. package/lib/commonjs/components/RedeemedVoucher/RedeemedVoucherSheet.d.ts.map +1 -0
  81. package/lib/commonjs/components/RedeemedVoucher/index.d.ts +3 -0
  82. package/lib/commonjs/components/RedeemedVoucher/index.d.ts.map +1 -0
  83. package/lib/commonjs/components/RedemptionOption/RedemptionOption.d.ts +23 -0
  84. package/lib/commonjs/components/RedemptionOption/RedemptionOption.d.ts.map +1 -0
  85. package/lib/commonjs/components/RedemptionOption/index.d.ts +3 -0
  86. package/lib/commonjs/components/RedemptionOption/index.d.ts.map +1 -0
  87. package/lib/commonjs/components/ScratchCard/ScratchCard.d.ts +19 -0
  88. package/lib/commonjs/components/ScratchCard/ScratchCard.d.ts.map +1 -0
  89. package/lib/commonjs/components/ScratchCard/ScratchCardContent.d.ts +7 -0
  90. package/lib/commonjs/components/ScratchCard/ScratchCardContent.d.ts.map +1 -0
  91. package/lib/commonjs/components/ScratchCard/index.d.ts +4 -0
  92. package/lib/commonjs/components/ScratchCard/index.d.ts.map +1 -0
  93. package/lib/commonjs/components/SelectAmount/SelectAmount.d.ts +29 -0
  94. package/lib/commonjs/components/SelectAmount/SelectAmount.d.ts.map +1 -0
  95. package/lib/commonjs/components/SelectAmount/index.d.ts +2 -0
  96. package/lib/commonjs/components/SelectAmount/index.d.ts.map +1 -0
  97. package/lib/commonjs/components/Skeleton/Shimmer.d.ts +11 -0
  98. package/lib/commonjs/components/Skeleton/Shimmer.d.ts.map +1 -0
  99. package/lib/commonjs/components/Skeleton/SkeletonElement.d.ts +10 -0
  100. package/lib/commonjs/components/Skeleton/SkeletonElement.d.ts.map +1 -0
  101. package/lib/commonjs/components/Skeleton/index.d.ts +4 -0
  102. package/lib/commonjs/components/Skeleton/index.d.ts.map +1 -0
  103. package/lib/commonjs/components/Suggestions/SuggestionList.d.ts +12 -0
  104. package/lib/commonjs/components/Suggestions/SuggestionList.d.ts.map +1 -0
  105. package/lib/commonjs/components/TravelBooking/CarRentalForm.d.ts +52 -0
  106. package/lib/commonjs/components/TravelBooking/CarRentalForm.d.ts.map +1 -0
  107. package/lib/commonjs/components/TravelBooking/FlightForm.d.ts +47 -0
  108. package/lib/commonjs/components/TravelBooking/FlightForm.d.ts.map +1 -0
  109. package/lib/commonjs/components/TravelBooking/FlightSummary.d.ts +32 -0
  110. package/lib/commonjs/components/TravelBooking/FlightSummary.d.ts.map +1 -0
  111. package/lib/commonjs/components/TravelBooking/HotelForm.d.ts +45 -0
  112. package/lib/commonjs/components/TravelBooking/HotelForm.d.ts.map +1 -0
  113. package/lib/commonjs/components/TravelBooking/HotelSummary.d.ts +36 -0
  114. package/lib/commonjs/components/TravelBooking/HotelSummary.d.ts.map +1 -0
  115. package/lib/commonjs/components/TravelBooking/SummaryBar.d.ts +12 -0
  116. package/lib/commonjs/components/TravelBooking/SummaryBar.d.ts.map +1 -0
  117. package/lib/commonjs/components/TravelBooking/TabSelector.d.ts +15 -0
  118. package/lib/commonjs/components/TravelBooking/TabSelector.d.ts.map +1 -0
  119. package/lib/commonjs/components/TravelBooking/TravelBooking.d.ts +47 -0
  120. package/lib/commonjs/components/TravelBooking/TravelBooking.d.ts.map +1 -0
  121. package/lib/commonjs/components/TravelBooking/index.d.ts +2 -0
  122. package/lib/commonjs/components/TravelBooking/index.d.ts.map +1 -0
  123. package/lib/commonjs/components/TravelBooking/types.d.ts +3 -0
  124. package/lib/commonjs/components/TravelBooking/types.d.ts.map +1 -0
  125. package/lib/commonjs/components/UnlockRewards/RewardItem.d.ts +23 -0
  126. package/lib/commonjs/components/UnlockRewards/RewardItem.d.ts.map +1 -0
  127. package/lib/commonjs/components/UnlockRewards/UnlockRewards.d.ts +41 -0
  128. package/lib/commonjs/components/UnlockRewards/UnlockRewards.d.ts.map +1 -0
  129. package/lib/commonjs/components/UnlockRewards/index.d.ts +4 -0
  130. package/lib/commonjs/components/UnlockRewards/index.d.ts.map +1 -0
  131. package/lib/commonjs/components/Wheel/Wheel.d.ts +25 -0
  132. package/lib/commonjs/components/Wheel/Wheel.d.ts.map +1 -0
  133. package/lib/commonjs/components/Wheel/index.d.ts +3 -0
  134. package/lib/commonjs/components/Wheel/index.d.ts.map +1 -0
  135. package/lib/commonjs/components/index.d.ts +2 -0
  136. package/lib/commonjs/components/index.d.ts.map +1 -0
  137. package/lib/commonjs/constants/BRANDS.d.ts +14 -0
  138. package/lib/commonjs/constants/BRANDS.d.ts.map +1 -0
  139. package/lib/commonjs/index.d.ts +2 -0
  140. package/lib/commonjs/index.d.ts.map +1 -0
  141. package/lib/commonjs/theme/Colors.d.ts +110 -0
  142. package/lib/commonjs/theme/Colors.d.ts.map +1 -0
  143. package/lib/commonjs/theme/ThemeContext.d.ts +11 -0
  144. package/lib/commonjs/theme/ThemeContext.d.ts.map +1 -0
  145. package/lib/commonjs/theme/index.d.ts +2 -0
  146. package/lib/commonjs/theme/index.d.ts.map +1 -0
  147. package/lib/module/app.js +8 -8
  148. package/lib/module/app.js.map +1 -1
  149. package/lib/module/components/RangeSlider/RangeSlider.js +56 -95
  150. package/lib/module/components/RangeSlider/RangeSlider.js.map +1 -1
  151. package/lib/module/components/RangeSlider/SliderLabel.js +95 -0
  152. package/lib/module/components/RangeSlider/SliderLabel.js.map +1 -0
  153. package/lib/typescript/src/app.d.ts.map +1 -1
  154. package/lib/typescript/src/components/RangeSlider/RangeSlider.d.ts +3 -25
  155. package/lib/typescript/src/components/RangeSlider/RangeSlider.d.ts.map +1 -1
  156. package/lib/typescript/src/components/RangeSlider/SliderLabel.d.ts +15 -0
  157. package/lib/typescript/src/components/RangeSlider/SliderLabel.d.ts.map +1 -0
  158. package/package.json +1 -1
  159. package/src/app.tsx +3 -1
  160. package/src/components/RangeSlider/RangeSlider.tsx +60 -117
  161. package/src/components/RangeSlider/SliderLabel.tsx +123 -0
@@ -0,0 +1,123 @@
1
+ import React from "react";
2
+ import { StyleSheet, Text, View } from "react-native";
3
+ import Animated, {
4
+ SharedValue,
5
+ useAnimatedStyle,
6
+ useDerivedValue,
7
+ useSharedValue,
8
+ } from "react-native-reanimated";
9
+ import { ThemeType, useTheme } from "../../theme";
10
+
11
+ const LABEL_HEIGHT = 26;
12
+
13
+ interface SliderLabelsProps {
14
+ leftValue: string;
15
+ rightValue: string;
16
+ leftPosition: SharedValue<number>;
17
+ rightPosition: SharedValue<number>;
18
+ sliderWidth: number;
19
+ thumbSize: number;
20
+ theme?: ThemeType
21
+ }
22
+
23
+ interface CenteredLabelProps {
24
+ value: string;
25
+ position: SharedValue<number>;
26
+ sliderWidth: number;
27
+ thumbSize: number;
28
+ theme?: ThemeType
29
+
30
+ }
31
+
32
+ const CenteredLabel: React.FC<CenteredLabelProps> = ({
33
+ value,
34
+ position,
35
+ sliderWidth,
36
+ thumbSize,
37
+ theme
38
+ }) => {
39
+ const labelWidth = useSharedValue(0);
40
+ const {theme: defaultTheme} = useTheme();
41
+ const currTheme = theme || defaultTheme;
42
+ const styles = getStyles(currTheme);
43
+
44
+ const animatedLabelStyle = useAnimatedStyle(() => {
45
+ const rawCenter = position.value + thumbSize / 2;
46
+ const shifted = rawCenter - labelWidth.value / 2;
47
+
48
+ const left = Math.min(Math.max(shifted, 0), sliderWidth - labelWidth.value);
49
+
50
+ return {
51
+ left: left,
52
+ };
53
+ });
54
+
55
+ return (
56
+ <Animated.View
57
+ style={[styles.labelContainer, animatedLabelStyle]}
58
+ onLayout={(e) => {
59
+ labelWidth.value = e.nativeEvent.layout.width;
60
+ }}
61
+ >
62
+ <Text style={styles.labelText}>
63
+ {value}
64
+ </Text>
65
+ </Animated.View>
66
+ );
67
+ };
68
+
69
+ export const SliderLabels: React.FC<SliderLabelsProps> = ({
70
+ leftValue,
71
+ rightValue,
72
+ leftPosition,
73
+ rightPosition,
74
+ sliderWidth,
75
+ thumbSize,
76
+ theme
77
+ }) => {
78
+ const {theme: defaultTheme} = useTheme();
79
+ const currTheme = theme || defaultTheme;
80
+ const styles = getStyles(currTheme);
81
+ const rightThumbLeftPosition = useDerivedValue(() => {
82
+ return rightPosition.value - thumbSize;
83
+ });
84
+ return (
85
+ <View style={styles.wrapper} pointerEvents="none">
86
+ <CenteredLabel
87
+ value={leftValue}
88
+ thumbSize={thumbSize}
89
+ position={leftPosition}
90
+ sliderWidth={sliderWidth}
91
+ />
92
+ <CenteredLabel
93
+ value={rightValue}
94
+ thumbSize={thumbSize}
95
+ position={rightThumbLeftPosition}
96
+ sliderWidth={sliderWidth}
97
+ />
98
+ </View>
99
+ );
100
+ };
101
+
102
+ const getStyles = (theme: ThemeType) =>
103
+ StyleSheet.create({
104
+ wrapper: {
105
+ position: "absolute",
106
+ width: "100%",
107
+ height: "100%",
108
+ },
109
+ labelContainer: {
110
+ position: "absolute",
111
+ top: -LABEL_HEIGHT + 4,
112
+ alignItems: "center",
113
+ },
114
+ labelText: {
115
+ backgroundColor: theme.surface,
116
+ paddingHorizontal: 8,
117
+ paddingVertical: 4,
118
+ borderRadius: 4,
119
+ color: theme.onSurface,
120
+ fontSize: 14,
121
+ fontFamily: "DinBold",
122
+ },
123
+ });