related-ui-components 3.2.9 → 3.3.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.
@@ -5,7 +5,6 @@ import { View, StyleSheet, Image } from "react-native";
5
5
  import Card from "../Card.js";
6
6
  import { useTheme } from "../../../theme/ThemeContext.js";
7
7
  import { LockOverlay } from "../../LockOverlay/index.js";
8
- import { BlurView } from "expo-blur";
9
8
  import { ThemedText as Text } from "../../ui/index.js";
10
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
10
  const SelaDealCard = ({
@@ -141,15 +140,6 @@ const SelaDealCard = ({
141
140
  style: descriptionTextStyle,
142
141
  children: description
143
142
  })]
144
- }), price && priceContainerBlur && /*#__PURE__*/_jsx(BlurView, {
145
- experimentalBlurMethod: "dimezisBlurView",
146
- intensity: priceContainerBlur,
147
- tint: "dark",
148
- style: finalPriceContainerStyle,
149
- children: /*#__PURE__*/_jsx(Text, {
150
- style: finalPriceStyle,
151
- children: price
152
- })
153
143
  }), price && !priceContainerBlur && /*#__PURE__*/_jsx(View, {
154
144
  style: [{
155
145
  backgroundColor: theme.primary
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","View","StyleSheet","Image","Card","useTheme","LockOverlay","BlurView","ThemedText","Text","jsx","_jsx","jsxs","_jsxs","SelaDealCard","variant","backgroundImage","label","labelStyle","labelContainerStyle","providerName","providerNameStyle","description","descriptionStyle","price","priceStyle","priceContainerStyle","itemId","onPress","style","width","height","isRTL","propIsRTL","borderRadius","darkOverlayEnabled","darkOverlayColor","lockOverlay","lockIcon","priceContainerBlur","showGrayscale","gestureHandler","theme","themeIsRTL","undefined","styles","getStyles","dynamicHeight","setDynamicHeight","uri","getSize","imgWidth","imgHeight","aspectRatio","finalLabelContainerStyle","labelContainerBase","finalLabelStyle","labelTextBase","finalPriceContainerStyle","priceContainerBase","priceContainerHorizontal","priceContainerVertical","finalPriceStyle","priceTextBase","providerTextStyle","providerNameBase","color","onSurface","descriptionTextStyle","descriptionBase","cardBase","greyscale","source","resizeMode","id","children","absoluteFill","backgroundColor","visible","contentPosition","icon","text","overlayOpacity","overlayContainer","topSection","bottomContentHorizontal","textBlockHorizontal","bottomContentVertical","textBlockVertical","experimentalBlurMethod","intensity","tint","primary","create","overflow","position","flex","padding","justifyContent","flexDirection","paddingVertical","paddingHorizontal","background","fontWeight","fontSize","onBackground","marginBottom","secondary","helper","onPrimary","alignItems","marginRight","alignSelf"],"sourceRoot":"..\\..\\..\\..\\..\\src","sources":["components/Card/templates/SelaDealCard.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","View","StyleSheet","Image","Card","useTheme","LockOverlay","ThemedText","Text","jsx","_jsx","jsxs","_jsxs","SelaDealCard","variant","backgroundImage","label","labelStyle","labelContainerStyle","providerName","providerNameStyle","description","descriptionStyle","price","priceStyle","priceContainerStyle","itemId","onPress","style","width","height","isRTL","propIsRTL","borderRadius","darkOverlayEnabled","darkOverlayColor","lockOverlay","lockIcon","priceContainerBlur","showGrayscale","gestureHandler","theme","themeIsRTL","undefined","styles","getStyles","dynamicHeight","setDynamicHeight","uri","getSize","imgWidth","imgHeight","aspectRatio","finalLabelContainerStyle","labelContainerBase","finalLabelStyle","labelTextBase","finalPriceContainerStyle","priceContainerBase","priceContainerHorizontal","priceContainerVertical","finalPriceStyle","priceTextBase","providerTextStyle","providerNameBase","color","onSurface","descriptionTextStyle","descriptionBase","cardBase","greyscale","source","resizeMode","id","children","absoluteFill","backgroundColor","visible","contentPosition","icon","text","overlayOpacity","overlayContainer","topSection","bottomContentHorizontal","textBlockHorizontal","bottomContentVertical","textBlockVertical","primary","create","overflow","position","flex","padding","justifyContent","flexDirection","paddingVertical","paddingHorizontal","background","fontWeight","fontSize","onBackground","marginBottom","secondary","helper","onPrimary","alignItems","marginRight","alignSelf"],"sourceRoot":"..\\..\\..\\..\\..\\src","sources":["components/Card/templates/SelaDealCard.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SAIEC,IAAI,EAGJC,UAAU,EACVC,KAAK,QAGA,cAAc;AACrB,OAAOC,IAAI,MAAM,YAAS;AAC1B,SAASC,QAAQ,QAAQ,gCAA6B;AAEtD,SAASC,WAAW,QAAQ,4BAAmB;AAC/C,SAASC,UAAU,IAAIC,IAAI,QAAQ,mBAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAoC9C,MAAMC,YAAyC,GAAGA,CAAC;EACjDC,OAAO;EACPC,eAAe;EACfC,KAAK;EACLC,UAAU;EACVC,mBAAmB;EACnBC,YAAY;EACZC,iBAAiB;EACjBC,WAAW;EACXC,gBAAgB;EAChBC,KAAK;EACLC,UAAU;EACVC,mBAAmB;EACnBC,MAAM;EACNC,OAAO;EACPC,KAAK;EACLC,KAAK,GAAG,MAAM;EACdC,MAAM;EACNC,KAAK,EAAEC,SAAS;EAChBC,YAAY,GAAG,EAAE;EAAE;EACnBC,kBAAkB,GAAG,IAAI;EACzBC,gBAAgB,GAAG,oBAAoB;EACvCC,WAAW,GAAG,KAAK;EACnBC,QAAQ;EACRC,kBAAkB;EAClBC,aAAa,GAAG,KAAK;EACrBC,cAAc,GAAG;AACnB,CAAC,KAAK;EACJ,MAAM;IAAEC,KAAK;IAAEV,KAAK,EAAEW;EAAW,CAAC,GAAGrC,QAAQ,CAAC,CAAC;EAC/C,MAAM0B,KAAK,GAAGC,SAAS,KAAKW,SAAS,GAAGX,SAAS,GAAGU,UAAU;EAE9D,MAAME,MAAM,GAAGC,SAAS,CAACJ,KAAK,EAAEV,KAAK,CAAC;EAEtC,MAAM,CAACe,aAAa,EAAEC,gBAAgB,CAAC,GAAG/C,QAAQ,CAAS,CAAC;EAE5DD,SAAS,CAAC,MAAM;IACd,IACE+B,MAAM,KAAKa,SAAS,IACpB,OAAOd,KAAK,IAAI,QAAQ,IACxBA,KAAK,IACLd,eAAe,IACfA,eAAe,CAACiC,GAAG,EACnB;MACA7C,KAAK,CAAC8C,OAAO,CAAClC,eAAe,CAACiC,GAAG,EAAE,CAACE,QAAQ,EAAEC,SAAS,KAAK;QAC1D,IAAID,QAAQ,GAAG,CAAC,IAAIC,SAAS,GAAG,CAAC,EAAE;UACjC,MAAMC,WAAW,GAAGD,SAAS,GAAGD,QAAQ;UACxCH,gBAAgB,CAAClB,KAAK,GAAGuB,WAAW,CAAC;QACvC,CAAC,MAAM;UACLL,gBAAgB,CAAC,GAAG,CAAC;QACvB;MACF,CAAC,CAAC;IACJ,CAAC,MAAM,IAAIjB,MAAM,KAAKa,SAAS,EAAE;MAC/BI,gBAAgB,CAACJ,SAAS,CAAC;IAC7B;EACF,CAAC,EAAE,CAAC5B,eAAe,EAAEe,MAAM,EAAED,KAAK,CAAC,CAAC;EAEpC,MAAMwB,wBAA8C,GAAG,CACrDT,MAAM,CAACU,kBAAkB,EACzBpC,mBAAmB,CACpB;EACD,MAAMqC,eAAqC,GAAG,CAC5CX,MAAM,CAACY,aAAa,EACpBvC,UAAU,CACX;EAED,MAAMwC,wBAA8C,GAAG,CACrDb,MAAM,CAACc,kBAAkB,EACzB5C,OAAO,KAAK,YAAY,GACpB8B,MAAM,CAACe,wBAAwB,GAC/Bf,MAAM,CAACgB,sBAAsB,EACjCnC,mBAAmB,CACpB;EACD,MAAMoC,eAAqC,GAAG,CAC5CjB,MAAM,CAACkB,aAAa,EACpBtC,UAAU,CACX;EAED,MAAMuC,iBAAuC,GAAG,CAC9CnB,MAAM,CAACoB,gBAAgB,EACvB;IAAEC,KAAK,EAAExB,KAAK,CAACyB;EAAS,CAAC,EACzB9C,iBAAiB,CAClB;EAED,MAAM+C,oBAA0C,GAAG,CACjDvB,MAAM,CAACwB,eAAe,EACtB;IAAEH,KAAK,EAAExB,KAAK,CAACyB;EAAS,CAAC,EACzB5C,gBAAgB,CACjB;EAED,oBACEV,KAAA,CAACR,IAAI;IACHuB,OAAO,EAAEA,OAAQ;IACjBC,KAAK,EAAE,CACLgB,MAAM,CAACyB,QAAQ,EACf;MAAEpC,YAAY;MAAEJ,KAAK;MAAEC,MAAM,EAAEgB,aAAa,IAAIhB;IAAO,CAAC,EACxDF,KAAK,CACL;IACFY,cAAc,EAAEA,cAAe;IAC/B8B,SAAS,EAAE/B,aAAc;IACzBxB,eAAe,EAAE;MACfwD,MAAM,EAAExD,eAAe;MACvByD,UAAU,EAAE,OAAO;MACnBC,EAAE,EAAE/C;IACN,CAAE;IAAAgD,QAAA,GAEDxC,kBAAkB,iBACjBxB,IAAA,CAACT,IAAI;MACH2B,KAAK,EAAE,CACL1B,UAAU,CAACyE,YAAY,EACvB;QAAEC,eAAe,EAAEzC;MAAiB,CAAC,EACrC;QAAEF,YAAY,EAAEA;MAAa,CAAC;IAC9B,CACH,CACF,eAEDvB,IAAA,CAACJ,WAAW;MACVuE,OAAO,EAAEzC,WAAY;MACrB0C,eAAe,EAAE,WAAY;MAC7BC,IAAI,EAAE1C;MACN;MAAA;MACAV,OAAO,EAAEA,OAAQ;MACjBqD,IAAI,EAAE,EAAG;MACTC,cAAc,EAAE;IAAI,CACrB,CAAC,eAEFrE,KAAA,CAACX,IAAI;MAAC2B,KAAK,EAAEgB,MAAM,CAACsC,gBAAiB;MAAAR,QAAA,gBACnChE,IAAA,CAACT,IAAI;QACH2B,KAAK,EAAE,CACLgB,MAAM,CAACuC;QACP;QACA;QACA;QAAA,CACA;QAAAT,QAAA,EAED1D,KAAK,iBACJN,IAAA,CAACT,IAAI;UAAC2B,KAAK,EAAEyB,wBAAyB;UAAAqB,QAAA,eACpChE,IAAA,CAACF,IAAI;YAACoB,KAAK,EAAE2B,eAAgB;YAAAmB,QAAA,EAAE1D;UAAK,CAAO;QAAC,CACxC;MACP,CACG,CAAC,EAENF,OAAO,KAAK,YAAY,gBACvBF,KAAA,CAACX,IAAI;QAAC2B,KAAK,EAAEgB,MAAM,CAACwC,uBAAwB;QAAAV,QAAA,gBAC1C9D,KAAA,CAACX,IAAI;UAAC2B,KAAK,EAAEgB,MAAM,CAACyC,mBAAoB;UAAAX,QAAA,GACrCvD,YAAY,iBACXT,IAAA,CAACF,IAAI;YAACoB,KAAK,EAAEmC,iBAAkB;YAAAW,QAAA,EAAEvD;UAAY,CAAO,CACrD,EACAE,WAAW,iBACVX,IAAA,CAACF,IAAI;YAACoB,KAAK,EAAEuC,oBAAqB;YAAAO,QAAA,EAAErD;UAAW,CAAO,CACvD;QAAA,CACG,CAAC,EACNE,KAAK,iBACJb,IAAA,CAACT,IAAI;UAAC2B,KAAK,EAAE6B,wBAAyB;UAAAiB,QAAA,eACpChE,IAAA,CAACF,IAAI;YAACoB,KAAK,EAAEiC,eAAgB;YAAAa,QAAA,EAAEnD;UAAK,CAAO;QAAC,CACxC,CACP;MAAA,CACG,CAAC,gBAEPX,KAAA,CAACX,IAAI;QAAC2B,KAAK,EAAEgB,MAAM,CAAC0C,qBAAsB;QAAAZ,QAAA,gBACxC9D,KAAA,CAACX,IAAI;UAAC2B,KAAK,EAAEgB,MAAM,CAAC2C,iBAAkB;UAAAb,QAAA,GACnCvD,YAAY,iBACXT,IAAA,CAACF,IAAI;YAACoB,KAAK,EAAEmC,iBAAkB;YAAAW,QAAA,EAAEvD;UAAY,CAAO,CACrD,EACAE,WAAW,iBACVX,IAAA,CAACF,IAAI;YAACoB,KAAK,EAAEuC,oBAAqB;YAAAO,QAAA,EAAErD;UAAW,CAAO,CACvD;QAAA,CACG,CAAC,EACNE,KAAK,IAAI,CAACe,kBAAkB,iBAC3B5B,IAAA,CAACT,IAAI;UACH2B,KAAK,EAAE,CACL;YAAEgD,eAAe,EAAEnC,KAAK,CAAC+C;UAAQ,CAAC,EAClC/B,wBAAwB,CACxB;UAAAiB,QAAA,eAEFhE,IAAA,CAACF,IAAI;YAACoB,KAAK,EAAEiC,eAAgB;YAAAa,QAAA,EAAEnD;UAAK,CAAO;QAAC,CACxC,CACP;MAAA,CACG,CACP;IAAA,CACG,CAAC;EAAA,CACH,CAAC;AAEX,CAAC;AAED,MAAMsB,SAAS,GAAGA,CAACJ,KAAgB,EAAEV,KAAc,KACjD7B,UAAU,CAACuF,MAAM,CAAC;EAChBpB,QAAQ,EAAE;IACRqB,QAAQ,EAAE,QAAQ;IAClBC,QAAQ,EAAE;EACZ,CAAC;EACDT,gBAAgB,EAAE;IAChBU,IAAI,EAAE,CAAC;IACPC,OAAO,EAAE,EAAE;IACXC,cAAc,EAAE;EAClB,CAAC;EACDX,UAAU,EAAE;IACVY,aAAa,EAAC;EAChB,CAAC;EACDzC,kBAAkB,EAAE;IAClB0C,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE,EAAE;IACrBhE,YAAY,EAAE,CAAC;IACf2C,eAAe,EAAEnC,KAAK,CAACyD;EACzB,CAAC;EACD1C,aAAa,EAAE;IACb2C,UAAU,EAAE,KAAK;IACjBC,QAAQ,EAAE,EAAE;IACZnC,KAAK,EAAExB,KAAK,CAAC4D;EACf,CAAC;EACDrC,gBAAgB,EAAE;IAChBoC,QAAQ,EAAE,EAAE;IACZE,YAAY,EAAE,CAAC;IACfrC,KAAK,EAAExB,KAAK,CAAC8D;EACf,CAAC;EACDnC,eAAe,EAAE;IACfgC,QAAQ,EAAE,EAAE;IACZnC,KAAK,EAAExB,KAAK,CAAC+D;EACf,CAAC;EACD9C,kBAAkB,EAAE;IAClBsC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE,EAAE;IACrBhE,YAAY,EAAE,EAAE;IAChByD,QAAQ,EAAE,QAAQ;IAClBd,eAAe,EAAEnC,KAAK,CAAC+C;EACzB,CAAC;EACD1B,aAAa,EAAE;IACbsC,QAAQ,EAAE,EAAE;IACZnC,KAAK,EAAExB,KAAK,CAACgE;EACf,CAAC;EACDrB,uBAAuB,EAAE;IACvBW,aAAa,EAAE,KAAK;IACpBW,UAAU,EAAE;EACd,CAAC;EACDrB,mBAAmB,EAAE;IACnBO,IAAI,EAAE,CAAC;IACPc,UAAU,EAAC,YAAY;IACvBC,WAAW,EAAE;EACf,CAAC;EACDhD,wBAAwB,EAAE,CAAC,CAAC;EAC5B2B,qBAAqB,EAAE;IACrBS,aAAa,EAAE;EACjB,CAAC;EACDR,iBAAiB,EAAE;IACjBe,YAAY,EAAE,EAAE;IAChBI,UAAU,EAAC;EACb,CAAC;EACD9C,sBAAsB,EAAE;IACtBgD,SAAS,EAAE,SAAS;IACpBF,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEJ,eAAe7F,YAAY","ignoreList":[]}
@@ -1,15 +1,56 @@
1
1
  "use strict";
2
2
 
3
- import React, { useCallback, useState } from "react";
3
+ import React, { useCallback, useMemo, useState } from "react";
4
4
  import { I18nManager, StyleSheet, View } from "react-native";
5
5
  import { Gesture, GestureDetector } from "react-native-gesture-handler";
6
6
  import Animated, { runOnJS, useAnimatedStyle, useSharedValue } from "react-native-reanimated";
7
- import { SliderLabels } from "./SliderLabel.js";
8
7
  import { useTheme } from "../../theme/index.js";
8
+ import { SliderLabels } from "./SliderLabel.js";
9
+ import { Input } from "../Input/index.js";
9
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
11
  const THUMB_SIZE = 28;
12
+ const THUMB_RADIUS = THUMB_SIZE / 2;
11
13
  const RAIL_HEIGHT = 6;
12
14
  const LABEL_HEIGHT = 26;
15
+ /**
16
+ * Creates percentile breakpoints from data
17
+ * Returns sorted unique values that represent the distribution
18
+ */
19
+ function createPercentileBreakpoints(data) {
20
+ const sorted = [...new Set(data)].sort((a, b) => a - b);
21
+ if (sorted.length <= 100) {
22
+ return sorted;
23
+ }
24
+ const breakpoints = [];
25
+ const numBreakpoints = 100;
26
+ for (let i = 0; i <= numBreakpoints; i++) {
27
+ const index = Math.floor(i / numBreakpoints * (sorted.length - 1));
28
+ const value = sorted[index];
29
+ if (breakpoints[breakpoints.length - 1] !== value) {
30
+ breakpoints.push(value);
31
+ }
32
+ }
33
+ return breakpoints;
34
+ }
35
+
36
+ /**
37
+ * Binary search to find position in breakpoints
38
+ */
39
+ function findBreakpointIndex(breakpoints, value) {
40
+ "worklet";
41
+
42
+ let left = 0;
43
+ let right = breakpoints.length - 1;
44
+ while (left < right) {
45
+ const mid = Math.floor((left + right) / 2);
46
+ if (breakpoints[mid] < value) {
47
+ left = mid + 1;
48
+ } else {
49
+ right = mid;
50
+ }
51
+ }
52
+ return left;
53
+ }
13
54
  const RangeSlider = ({
14
55
  min,
15
56
  max,
@@ -18,7 +59,13 @@ const RangeSlider = ({
18
59
  initialMinValue,
19
60
  initialMaxValue,
20
61
  onValueChange,
21
- theme
62
+ theme,
63
+ scale = "linear",
64
+ dataPoints,
65
+ showCustomInputs = false,
66
+ inputPlaceholders,
67
+ inputLabels,
68
+ isBottomSheet = false
22
69
  }) => {
23
70
  const {
24
71
  theme: defaultTheme
@@ -26,25 +73,82 @@ const RangeSlider = ({
26
73
  const currTheme = theme || defaultTheme;
27
74
  const styles = getStyles(currTheme);
28
75
  const isRTL = I18nManager.isRTL;
29
-
30
- // State for label text values, passed down to the SliderLabels component
31
76
  const [leftLabel, setLeftLabel] = useState(initialMinValue.toLocaleString());
32
77
  const [rightLabel, setRightLabel] = useState(initialMaxValue.toLocaleString());
78
+
79
+ // State for custom input fields
80
+ const [minInputValue, setMinInputValue] = useState(initialMinValue.toString());
81
+ const [maxInputValue, setMaxInputValue] = useState(initialMaxValue.toString());
82
+
83
+ // The effective track width (where thumb CENTER can travel)
84
+ const effectiveWidth = sliderWidth - THUMB_SIZE;
85
+
86
+ // Pre-compute breakpoints for percentile scale
87
+ const breakpoints = useMemo(() => {
88
+ if (scale === "percentile" && dataPoints?.length) {
89
+ return createPercentileBreakpoints(dataPoints);
90
+ }
91
+ return [];
92
+ }, [scale, dataPoints]);
93
+ const safeMin = scale === "logarithmic" ? Math.max(min, 0.001) : min;
33
94
  const valueToPosition = useCallback(value => {
34
95
  "worklet";
35
96
 
36
- // 3. Invert position calculation for RTL
37
- const percentage = (value - min) / (max - min);
38
- return isRTL ? (1 - percentage) * sliderWidth : percentage * sliderWidth;
39
- }, [min, max, sliderWidth, isRTL]);
97
+ let percentage;
98
+ if (scale === "percentile" && breakpoints.length > 1) {
99
+ const index = findBreakpointIndex(breakpoints, value);
100
+ if (index === 0) {
101
+ percentage = 0;
102
+ } else if (index >= breakpoints.length - 1) {
103
+ percentage = 1;
104
+ } else {
105
+ const lowerVal = breakpoints[index - 1];
106
+ const upperVal = breakpoints[index];
107
+ const lowerPct = (index - 1) / (breakpoints.length - 1);
108
+ const upperPct = index / (breakpoints.length - 1);
109
+ if (upperVal === lowerVal) {
110
+ percentage = lowerPct;
111
+ } else {
112
+ const ratio = (value - lowerVal) / (upperVal - lowerVal);
113
+ percentage = lowerPct + ratio * (upperPct - lowerPct);
114
+ }
115
+ }
116
+ } else if (scale === "logarithmic") {
117
+ const logMin = Math.log(safeMin);
118
+ const logMax = Math.log(max);
119
+ const logValue = Math.log(Math.max(value, safeMin));
120
+ percentage = (logValue - logMin) / (logMax - logMin);
121
+ } else {
122
+ percentage = (value - min) / (max - min);
123
+ }
124
+
125
+ // Map to effective width, offset by thumb radius
126
+ const position = percentage * effectiveWidth + THUMB_RADIUS;
127
+ return isRTL ? sliderWidth - position : position;
128
+ }, [min, max, safeMin, sliderWidth, effectiveWidth, isRTL, scale, breakpoints]);
40
129
  const positionToValue = useCallback(position => {
41
130
  "worklet";
42
131
 
43
- // 4. Invert value calculation for RTL
44
- const percentage = position / sliderWidth;
45
- const rawValue = isRTL ? (1 - percentage) * (max - min) + min : percentage * (max - min) + min;
132
+ // Convert position to percentage using effective width
133
+ const adjustedPosition = isRTL ? sliderWidth - position : position;
134
+ const percentage = (adjustedPosition - THUMB_RADIUS) / effectiveWidth;
135
+ const clampedPercentage = Math.max(0, Math.min(1, percentage));
136
+ let rawValue;
137
+ if (scale === "percentile" && breakpoints.length > 1) {
138
+ const exactIndex = clampedPercentage * (breakpoints.length - 1);
139
+ const lowerIndex = Math.floor(exactIndex);
140
+ const upperIndex = Math.min(lowerIndex + 1, breakpoints.length - 1);
141
+ const ratio = exactIndex - lowerIndex;
142
+ rawValue = breakpoints[lowerIndex] + ratio * (breakpoints[upperIndex] - breakpoints[lowerIndex]);
143
+ } else if (scale === "logarithmic") {
144
+ const logMin = Math.log(safeMin);
145
+ const logMax = Math.log(max);
146
+ rawValue = Math.exp(logMin + clampedPercentage * (logMax - logMin));
147
+ } else {
148
+ rawValue = clampedPercentage * (max - min) + min;
149
+ }
46
150
  return Math.round(rawValue / step) * step;
47
- }, [min, max, step, sliderWidth, isRTL]);
151
+ }, [min, max, safeMin, step, sliderWidth, effectiveWidth, isRTL, scale, breakpoints]);
48
152
  const leftPosition = useSharedValue(valueToPosition(initialMinValue));
49
153
  const rightPosition = useSharedValue(valueToPosition(initialMaxValue));
50
154
  const context = useSharedValue({
@@ -68,20 +172,22 @@ const RangeSlider = ({
68
172
  }).onUpdate(e => {
69
173
  if (activeThumb.value === null) return;
70
174
  const newPos = context.value.x + e.translationX;
71
-
72
- // 5. Adjust clamping logic for RTL
73
175
  if (activeThumb.value === "left") {
74
- const lowerBound = isRTL ? rightPosition.value + THUMB_SIZE : 0;
75
- const upperBound = isRTL ? sliderWidth : rightPosition.value - THUMB_SIZE;
176
+ const lowerBound = isRTL ? rightPosition.value + THUMB_SIZE : THUMB_RADIUS;
177
+ const upperBound = isRTL ? sliderWidth - THUMB_RADIUS : rightPosition.value - THUMB_SIZE;
76
178
  const clampedPos = Math.max(Math.min(newPos, upperBound), lowerBound);
77
179
  leftPosition.value = clampedPos;
78
- runOnJS(setLeftLabel)(positionToValue(clampedPos).toLocaleString());
180
+ const newValue = positionToValue(clampedPos);
181
+ runOnJS(setLeftLabel)(newValue.toLocaleString());
182
+ runOnJS(setMinInputValue)(newValue.toString());
79
183
  } else {
80
- const lowerBound = isRTL ? 0 : leftPosition.value + THUMB_SIZE;
81
- const upperBound = isRTL ? leftPosition.value - THUMB_SIZE : sliderWidth;
184
+ const lowerBound = isRTL ? THUMB_RADIUS : leftPosition.value + THUMB_SIZE;
185
+ const upperBound = isRTL ? leftPosition.value - THUMB_SIZE : sliderWidth - THUMB_RADIUS;
82
186
  const clampedPos = Math.max(Math.min(newPos, upperBound), lowerBound);
83
187
  rightPosition.value = clampedPos;
84
- runOnJS(setRightLabel)(positionToValue(clampedPos).toLocaleString());
188
+ const newValue = positionToValue(clampedPos);
189
+ runOnJS(setRightLabel)(newValue.toLocaleString());
190
+ runOnJS(setMaxInputValue)(newValue.toString());
85
191
  }
86
192
  }).onEnd(() => {
87
193
  if (activeThumb.value === null) return;
@@ -93,18 +199,84 @@ const RangeSlider = ({
93
199
  });
94
200
  activeThumb.value = null;
95
201
  });
202
+
203
+ // Handlers for custom input fields
204
+ const handleMinInputChange = useCallback(text => {
205
+ // Allow only numeric input (with optional decimal)
206
+ const sanitized = text.replace(/[^0-9.]/g, "");
207
+ setMinInputValue(sanitized);
208
+ }, []);
209
+ const handleMaxInputChange = useCallback(text => {
210
+ const sanitized = text.replace(/[^0-9.]/g, "");
211
+ setMaxInputValue(sanitized);
212
+ }, []);
213
+ const handleMinInputSubmit = useCallback(() => {
214
+ const parsed = parseFloat(minInputValue);
215
+ if (isNaN(parsed)) {
216
+ // Reset to current slider value
217
+ const currentValue = positionToValue(leftPosition.value);
218
+ setMinInputValue(currentValue.toString());
219
+ return;
220
+ }
221
+
222
+ // Clamp value: must be >= min and <= current max value
223
+ const currentMaxValue = positionToValue(rightPosition.value);
224
+ const clampedValue = Math.max(min, Math.min(parsed, currentMaxValue - step));
225
+ const steppedValue = Math.round(clampedValue / step) * step;
226
+
227
+ // Update input display
228
+ setMinInputValue(steppedValue.toString());
229
+ setLeftLabel(steppedValue.toLocaleString());
230
+
231
+ // Update slider position
232
+ leftPosition.value = valueToPosition(steppedValue);
233
+
234
+ // Trigger callback
235
+ onValueChange({
236
+ min: steppedValue,
237
+ max: currentMaxValue
238
+ });
239
+ }, [minInputValue, min, step, leftPosition, rightPosition, positionToValue, valueToPosition, onValueChange]);
240
+ const handleMaxInputSubmit = useCallback(() => {
241
+ const parsed = parseFloat(maxInputValue);
242
+ if (isNaN(parsed)) {
243
+ // Reset to current slider value
244
+ const currentValue = positionToValue(rightPosition.value);
245
+ setMaxInputValue(currentValue.toString());
246
+ return;
247
+ }
248
+
249
+ // Clamp value: must be <= max and >= current min value
250
+ const currentMinValue = positionToValue(leftPosition.value);
251
+ const clampedValue = Math.min(max, Math.max(parsed, currentMinValue + step));
252
+ const steppedValue = Math.round(clampedValue / step) * step;
253
+
254
+ // Update input display
255
+ setMaxInputValue(steppedValue.toString());
256
+ setRightLabel(steppedValue.toLocaleString());
257
+
258
+ // Update slider position
259
+ rightPosition.value = valueToPosition(steppedValue);
260
+
261
+ // Trigger callback
262
+ onValueChange({
263
+ min: currentMinValue,
264
+ max: steppedValue
265
+ });
266
+ }, [maxInputValue, max, step, leftPosition, rightPosition, positionToValue, valueToPosition, onValueChange]);
267
+
268
+ // Thumb position = center of thumb, so offset by radius to get left edge
96
269
  const animatedLeftThumbStyle = useAnimatedStyle(() => ({
97
270
  transform: [{
98
- translateX: leftPosition.value - (isRTL ? THUMB_SIZE : 0)
271
+ translateX: leftPosition.value - THUMB_RADIUS
99
272
  }]
100
273
  }));
101
274
  const animatedRightThumbStyle = useAnimatedStyle(() => ({
102
275
  transform: [{
103
- translateX: rightPosition.value - (isRTL ? 0 : THUMB_SIZE)
276
+ translateX: rightPosition.value - THUMB_RADIUS
104
277
  }]
105
278
  }));
106
279
  const animatedActiveRailStyle = useAnimatedStyle(() => {
107
- // 6. Use Math.min and Math.max to correctly draw the active rail in both LTR and RTL
108
280
  const start = Math.min(leftPosition.value, rightPosition.value);
109
281
  const end = Math.max(leftPosition.value, rightPosition.value);
110
282
  return {
@@ -113,10 +285,41 @@ const RangeSlider = ({
113
285
  };
114
286
  });
115
287
  return /*#__PURE__*/_jsxs(View, {
116
- style: [styles.container, {
288
+ style: [showCustomInputs ? styles.containerWithInputs : styles.container, {
117
289
  width: sliderWidth
118
290
  }],
119
- children: [/*#__PURE__*/_jsx(SliderLabels, {
291
+ children: [showCustomInputs ? /*#__PURE__*/_jsxs(View, {
292
+ style: styles.inputsContainer,
293
+ children: [/*#__PURE__*/_jsx(View, {
294
+ style: styles.inputWrapper,
295
+ children: /*#__PURE__*/_jsx(Input, {
296
+ label: inputLabels?.min ?? "Min",
297
+ value: minInputValue,
298
+ onChangeText: handleMinInputChange,
299
+ onBlur: handleMinInputSubmit,
300
+ onSubmitEditing: handleMinInputSubmit,
301
+ keyboardType: "numeric",
302
+ placeholder: inputPlaceholders?.min,
303
+ placeholderTextColor: currTheme.surfaceVariant,
304
+ returnKeyType: "done",
305
+ isBottomSheet: isBottomSheet
306
+ })
307
+ }), /*#__PURE__*/_jsx(View, {
308
+ style: styles.inputWrapper,
309
+ children: /*#__PURE__*/_jsx(Input, {
310
+ label: inputLabels?.max ?? "Max",
311
+ value: maxInputValue,
312
+ onChangeText: handleMaxInputChange,
313
+ onBlur: handleMaxInputSubmit,
314
+ onSubmitEditing: handleMaxInputSubmit,
315
+ keyboardType: "numeric",
316
+ placeholder: inputPlaceholders?.max,
317
+ placeholderTextColor: currTheme.surfaceVariant,
318
+ returnKeyType: "done",
319
+ isBottomSheet: isBottomSheet
320
+ })
321
+ })]
322
+ }) : /*#__PURE__*/_jsx(SliderLabels, {
120
323
  leftValue: leftLabel,
121
324
  rightValue: rightLabel,
122
325
  leftPosition: leftPosition,
@@ -153,6 +356,9 @@ const getStyles = theme => StyleSheet.create({
153
356
  marginTop: LABEL_HEIGHT,
154
357
  direction: "ltr"
155
358
  },
359
+ containerWithInputs: {
360
+ direction: "ltr"
361
+ },
156
362
  railContainer: {
157
363
  justifyContent: "center",
158
364
  height: THUMB_SIZE
@@ -181,6 +387,34 @@ const getStyles = theme => StyleSheet.create({
181
387
  backgroundColor: theme.background,
182
388
  borderColor: theme.primary,
183
389
  borderWidth: 5
390
+ },
391
+ inputsContainer: {
392
+ flexDirection: "row",
393
+ justifyContent: "space-between",
394
+ gap: 16,
395
+ marginBottom: 12,
396
+ direction: I18nManager.isRTL ? "rtl" : "ltr"
397
+ },
398
+ inputWrapper: {
399
+ flex: 1
400
+ },
401
+ inputLabel: {
402
+ color: theme.onSurface,
403
+ fontSize: 13,
404
+ fontFamily: "DinMedium",
405
+ marginBottom: 6
406
+ },
407
+ input: {
408
+ backgroundColor: theme.background,
409
+ paddingHorizontal: 16,
410
+ paddingVertical: 10,
411
+ borderRadius: 8,
412
+ borderWidth: 1,
413
+ borderColor: theme.surfaceVariant,
414
+ color: theme.onSurface,
415
+ fontSize: 15,
416
+ fontFamily: "DinBold",
417
+ textAlign: "center"
184
418
  }
185
419
  });
186
420
  export default RangeSlider;
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useState","I18nManager","StyleSheet","View","Gesture","GestureDetector","Animated","runOnJS","useAnimatedStyle","useSharedValue","SliderLabels","useTheme","jsx","_jsx","jsxs","_jsxs","THUMB_SIZE","RAIL_HEIGHT","LABEL_HEIGHT","RangeSlider","min","max","step","sliderWidth","initialMinValue","initialMaxValue","onValueChange","theme","defaultTheme","currTheme","styles","getStyles","isRTL","leftLabel","setLeftLabel","toLocaleString","rightLabel","setRightLabel","valueToPosition","value","percentage","positionToValue","position","rawValue","Math","round","leftPosition","rightPosition","context","x","activeThumb","panGesture","Pan","onBegin","e","distToLeft","abs","distToRight","onUpdate","newPos","translationX","lowerBound","upperBound","clampedPos","onEnd","finalLeftValue","finalRightValue","animatedLeftThumbStyle","transform","translateX","animatedRightThumbStyle","animatedActiveRailStyle","start","end","left","right","style","container","width","children","leftValue","rightValue","thumbSize","gesture","railContainer","rail","activeRail","thumbContainer","thumb","create","height","justifyContent","marginTop","direction","borderRadius","backgroundColor","surface","primary","alignItems","background","borderColor","borderWidth"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/RangeSlider/RangeSlider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useMemo","useState","I18nManager","StyleSheet","View","Gesture","GestureDetector","Animated","runOnJS","useAnimatedStyle","useSharedValue","useTheme","SliderLabels","Input","jsx","_jsx","jsxs","_jsxs","THUMB_SIZE","THUMB_RADIUS","RAIL_HEIGHT","LABEL_HEIGHT","createPercentileBreakpoints","data","sorted","Set","sort","a","b","length","breakpoints","numBreakpoints","i","index","Math","floor","value","push","findBreakpointIndex","left","right","mid","RangeSlider","min","max","step","sliderWidth","initialMinValue","initialMaxValue","onValueChange","theme","scale","dataPoints","showCustomInputs","inputPlaceholders","inputLabels","isBottomSheet","defaultTheme","currTheme","styles","getStyles","isRTL","leftLabel","setLeftLabel","toLocaleString","rightLabel","setRightLabel","minInputValue","setMinInputValue","toString","maxInputValue","setMaxInputValue","effectiveWidth","safeMin","valueToPosition","percentage","lowerVal","upperVal","lowerPct","upperPct","ratio","logMin","log","logMax","logValue","position","positionToValue","adjustedPosition","clampedPercentage","rawValue","exactIndex","lowerIndex","upperIndex","exp","round","leftPosition","rightPosition","context","x","activeThumb","panGesture","Pan","onBegin","e","distToLeft","abs","distToRight","onUpdate","newPos","translationX","lowerBound","upperBound","clampedPos","newValue","onEnd","finalLeftValue","finalRightValue","handleMinInputChange","text","sanitized","replace","handleMaxInputChange","handleMinInputSubmit","parsed","parseFloat","isNaN","currentValue","currentMaxValue","clampedValue","steppedValue","handleMaxInputSubmit","currentMinValue","animatedLeftThumbStyle","transform","translateX","animatedRightThumbStyle","animatedActiveRailStyle","start","end","style","containerWithInputs","container","width","children","inputsContainer","inputWrapper","label","onChangeText","onBlur","onSubmitEditing","keyboardType","placeholder","placeholderTextColor","surfaceVariant","returnKeyType","leftValue","rightValue","thumbSize","gesture","railContainer","rail","activeRail","thumbContainer","thumb","create","height","justifyContent","marginTop","direction","borderRadius","backgroundColor","surface","primary","alignItems","background","borderColor","borderWidth","flexDirection","gap","marginBottom","flex","inputLabel","color","onSurface","fontSize","fontFamily","input","paddingHorizontal","paddingVertical","textAlign"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/RangeSlider/RangeSlider.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,35 +6,71 @@ import Animated, { useAnimatedStyle, useDerivedValue, useSharedValue } from "rea
6
6
  import { useTheme } from "../../theme/index.js";
7
7
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
8
  const LABEL_HEIGHT = 26;
9
- const CenteredLabel = ({
9
+ const LABEL_PADDING = 8;
10
+ const MIN_GAP = 4;
11
+ const SingleLabel = ({
10
12
  value,
11
13
  position,
12
14
  sliderWidth,
13
- thumbSize,
15
+ onWidthChange,
16
+ isVisible,
14
17
  theme
15
18
  }) => {
19
+ const styles = getStyles(theme);
20
+ const localWidth = useSharedValue(0);
21
+ const animatedStyle = useAnimatedStyle(() => {
22
+ const halfLabel = localWidth.value / 2;
23
+ const rawCenter = position.value;
24
+ const shifted = rawCenter - halfLabel;
25
+ const left = Math.min(Math.max(shifted, 0), sliderWidth - localWidth.value);
26
+ return {
27
+ left,
28
+ opacity: isVisible.value ? 1 : 0
29
+ };
30
+ });
31
+ return /*#__PURE__*/_jsx(Animated.View, {
32
+ style: [styles.labelContainer, animatedStyle],
33
+ onLayout: e => {
34
+ const width = e.nativeEvent.layout.width;
35
+ localWidth.value = width;
36
+ onWidthChange(width);
37
+ },
38
+ children: /*#__PURE__*/_jsx(Text, {
39
+ style: styles.labelText,
40
+ children: value
41
+ })
42
+ });
43
+ };
44
+ const MergedLabel = ({
45
+ leftValue,
46
+ rightValue,
47
+ leftPosition,
48
+ rightPosition,
49
+ sliderWidth,
50
+ isVisible,
51
+ theme
52
+ }) => {
53
+ const styles = getStyles(theme);
16
54
  const labelWidth = useSharedValue(0);
17
- const {
18
- theme: defaultTheme
19
- } = useTheme();
20
- const currTheme = theme || defaultTheme;
21
- const styles = getStyles(currTheme);
22
- const animatedLabelStyle = useAnimatedStyle(() => {
23
- const rawCenter = position.value + thumbSize / 2;
24
- const shifted = rawCenter - labelWidth.value / 2;
55
+ const animatedStyle = useAnimatedStyle(() => {
56
+ const centerPosition = (leftPosition.value + rightPosition.value) / 2;
57
+ const halfLabel = labelWidth.value / 2;
58
+ const shifted = centerPosition - halfLabel;
25
59
  const left = Math.min(Math.max(shifted, 0), sliderWidth - labelWidth.value);
26
60
  return {
27
- left: left
61
+ left,
62
+ opacity: isVisible.value ? 1 : 0
28
63
  };
29
64
  });
65
+ const displayText = leftValue === rightValue ? leftValue : `${leftValue} - ${rightValue}`;
30
66
  return /*#__PURE__*/_jsx(Animated.View, {
31
- style: [styles.labelContainer, animatedLabelStyle],
67
+ style: [styles.labelContainer, animatedStyle],
32
68
  onLayout: e => {
33
69
  labelWidth.value = e.nativeEvent.layout.width;
34
70
  },
35
71
  children: /*#__PURE__*/_jsx(Text, {
36
72
  style: styles.labelText,
37
- children: value
73
+ children: displayText
38
74
  })
39
75
  });
40
76
  };
@@ -51,27 +87,54 @@ export const SliderLabels = ({
51
87
  theme: defaultTheme
52
88
  } = useTheme();
53
89
  const currTheme = theme || defaultTheme;
54
- const styles = getStyles(currTheme);
55
- const rightThumbLeftPosition = useDerivedValue(() => {
56
- return rightPosition.value - thumbSize;
57
- });
58
- const leftThumbLeftPosition = useDerivedValue(() => {
59
- return leftPosition.value - thumbSize;
60
- });
61
90
  const isRTL = I18nManager.isRTL;
91
+
92
+ // Track label widths in parent for overlap calculation
93
+ const leftLabelWidth = useSharedValue(0);
94
+ const rightLabelWidth = useSharedValue(0);
95
+ const shouldMerge = useDerivedValue(() => {
96
+ const leftCenter = leftPosition.value;
97
+ const rightCenter = rightPosition.value;
98
+ const leftEnd = leftCenter + leftLabelWidth.value / 2;
99
+ const rightStart = rightCenter - rightLabelWidth.value / 2;
100
+ if (isRTL) {
101
+ const rtlLeftEnd = rightCenter + rightLabelWidth.value / 2;
102
+ const rtlRightStart = leftCenter - leftLabelWidth.value / 2;
103
+ return rtlRightStart - rtlLeftEnd < MIN_GAP;
104
+ }
105
+ return rightStart - leftEnd < MIN_GAP;
106
+ });
107
+ const showSeparate = useDerivedValue(() => !shouldMerge.value);
108
+ const showMerged = useDerivedValue(() => shouldMerge.value);
62
109
  return /*#__PURE__*/_jsxs(View, {
63
- style: styles.wrapper,
110
+ style: getStyles(currTheme).wrapper,
64
111
  pointerEvents: "none",
65
- children: [/*#__PURE__*/_jsx(CenteredLabel, {
112
+ children: [/*#__PURE__*/_jsx(SingleLabel, {
66
113
  value: leftValue,
67
- thumbSize: thumbSize,
68
- position: isRTL ? leftThumbLeftPosition : leftPosition,
69
- sliderWidth: sliderWidth
70
- }), /*#__PURE__*/_jsx(CenteredLabel, {
114
+ position: leftPosition,
115
+ sliderWidth: sliderWidth,
116
+ onWidthChange: width => {
117
+ leftLabelWidth.value = width;
118
+ },
119
+ isVisible: showSeparate,
120
+ theme: currTheme
121
+ }), /*#__PURE__*/_jsx(SingleLabel, {
71
122
  value: rightValue,
72
- thumbSize: thumbSize,
73
- position: isRTL ? rightPosition : rightThumbLeftPosition,
74
- sliderWidth: sliderWidth
123
+ position: rightPosition,
124
+ sliderWidth: sliderWidth,
125
+ onWidthChange: width => {
126
+ rightLabelWidth.value = width;
127
+ },
128
+ isVisible: showSeparate,
129
+ theme: currTheme
130
+ }), /*#__PURE__*/_jsx(MergedLabel, {
131
+ leftValue: leftValue,
132
+ rightValue: rightValue,
133
+ leftPosition: leftPosition,
134
+ rightPosition: rightPosition,
135
+ sliderWidth: sliderWidth,
136
+ isVisible: showMerged,
137
+ theme: currTheme
75
138
  })]
76
139
  });
77
140
  };
@@ -88,7 +151,7 @@ const getStyles = theme => StyleSheet.create({
88
151
  },
89
152
  labelText: {
90
153
  backgroundColor: theme.surface,
91
- paddingHorizontal: 8,
154
+ paddingHorizontal: LABEL_PADDING,
92
155
  paddingVertical: 4,
93
156
  borderRadius: 4,
94
157
  color: theme.onSurface,