@newtonedev/components 0.1.10 → 0.1.12

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.
@@ -1 +1 @@
1
- {"version":3,"file":"HueSlider.d.ts","sourceRoot":"","sources":["../../../../src/composites/range-inputs/HueSlider/HueSlider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAQxD;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,aAAa,EACb,GAAO,EACP,GAAS,EACT,KAAK,EACL,SAAiB,EACjB,aAAqB,EACrB,QAAgB,EAChB,KAAK,GACN,EAAE,cAAc,qBA+GhB"}
1
+ {"version":3,"file":"HueSlider.d.ts","sourceRoot":"","sources":["../../../../src/composites/range-inputs/HueSlider/HueSlider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAQxD;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,aAAa,EACb,GAAO,EACP,GAAS,EACT,KAAK,EACL,SAAiB,EACjB,aAAqB,EACrB,QAAgB,EAChB,KAAK,GACN,EAAE,cAAc,qBAkHhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.d.ts","sourceRoot":"","sources":["../../../../src/composites/range-inputs/Slider/Slider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIlD,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,aAAa,EACb,GAAO,EACP,GAAS,EACT,IAAQ,EACR,KAAK,EACL,SAAiB,EACjB,aAAqB,EACrB,QAAgB,EAChB,KAAK,GACN,EAAE,WAAW,qBAwGb"}
1
+ {"version":3,"file":"Slider.d.ts","sourceRoot":"","sources":["../../../../src/composites/range-inputs/Slider/Slider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIlD,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,aAAa,EACb,GAAO,EACP,GAAS,EACT,IAAQ,EACR,KAAK,EACL,SAAiB,EACjB,aAAqB,EACrB,QAAgB,EAChB,KAAK,GACN,EAAE,WAAW,qBAyHb"}
package/dist/index.cjs CHANGED
@@ -2498,6 +2498,7 @@ function Slider({
2498
2498
  const trackRef = React14__default.default.useRef(null);
2499
2499
  const trackWidth = React14__default.default.useRef(0);
2500
2500
  const trackPageX = React14__default.default.useRef(0);
2501
+ const [layoutWidth, setLayoutWidth] = React14__default.default.useState(0);
2501
2502
  const onValueChangeRef = React14__default.default.useRef(onValueChange);
2502
2503
  const minRef = React14__default.default.useRef(min);
2503
2504
  const maxRef = React14__default.default.useRef(max);
@@ -2538,9 +2539,21 @@ function Slider({
2538
2539
  })
2539
2540
  ).current;
2540
2541
  const ratio = max > min ? (value - min) / (max - min) : 0;
2541
- const usableWidth = Math.max(0, trackWidth.current - THUMB_SIZE2);
2542
+ const usableWidth = Math.max(0, layoutWidth - THUMB_SIZE2);
2542
2543
  const thumbLeft = ratio * usableWidth;
2543
- const fillWidth = thumbLeft + THUMB_SIZE2 / 2;
2544
+ const isCenterOrigin = min < 0 && max > 0;
2545
+ let fillLeft;
2546
+ let fillWidth;
2547
+ if (isCenterOrigin) {
2548
+ const centerRatio = (0 - min) / (max - min);
2549
+ const centerX = centerRatio * usableWidth + THUMB_SIZE2 / 2;
2550
+ const thumbCenterX = thumbLeft + THUMB_SIZE2 / 2;
2551
+ fillLeft = Math.min(centerX, thumbCenterX);
2552
+ fillWidth = Math.abs(thumbCenterX - centerX);
2553
+ } else {
2554
+ fillLeft = 0;
2555
+ fillWidth = thumbLeft + THUMB_SIZE2 / 2;
2556
+ }
2544
2557
  const handleValueTextSubmit = React14__default.default.useCallback(
2545
2558
  (text) => {
2546
2559
  const raw = Number(text);
@@ -2573,7 +2586,9 @@ function Slider({
2573
2586
  ref: trackRef,
2574
2587
  style: styles.trackContainer,
2575
2588
  onLayout: (e) => {
2576
- trackWidth.current = e.nativeEvent.layout.width;
2589
+ const w = e.nativeEvent.layout.width;
2590
+ trackWidth.current = w;
2591
+ setLayoutWidth(w);
2577
2592
  trackRef.current?.measure((_x, _y, _w, _h, pageX) => {
2578
2593
  if (pageX != null) trackPageX.current = pageX;
2579
2594
  });
@@ -2581,7 +2596,7 @@ function Slider({
2581
2596
  ...panResponder.panHandlers
2582
2597
  },
2583
2598
  /* @__PURE__ */ React14__default.default.createElement(reactNative.View, { style: styles.trackRail }),
2584
- /* @__PURE__ */ React14__default.default.createElement(reactNative.View, { style: [styles.trackFill, { width: fillWidth }] }),
2599
+ /* @__PURE__ */ React14__default.default.createElement(reactNative.View, { style: [styles.trackFill, { left: fillLeft, width: fillWidth }] }),
2585
2600
  /* @__PURE__ */ React14__default.default.createElement(reactNative.View, { style: [styles.thumb, { left: thumbLeft }] })
2586
2601
  ));
2587
2602
  }
@@ -2716,6 +2731,7 @@ function HueSlider({
2716
2731
  const trackRef = React14__default.default.useRef(null);
2717
2732
  const trackWidth = React14__default.default.useRef(0);
2718
2733
  const trackPageX = React14__default.default.useRef(0);
2734
+ const [layoutWidth, setLayoutWidth] = React14__default.default.useState(0);
2719
2735
  const onValueChangeRef = React14__default.default.useRef(onValueChange);
2720
2736
  const minRef = React14__default.default.useRef(min);
2721
2737
  const maxRef = React14__default.default.useRef(max);
@@ -2753,7 +2769,7 @@ function HueSlider({
2753
2769
  ).current;
2754
2770
  const sliderValue = max > 359 && value < min ? value + 360 : value;
2755
2771
  const ratio = max > min ? (sliderValue - min) / (max - min) : 0;
2756
- const usableWidth = Math.max(0, trackWidth.current - THUMB_SIZE3);
2772
+ const usableWidth = Math.max(0, layoutWidth - THUMB_SIZE3);
2757
2773
  const thumbLeft = ratio * usableWidth;
2758
2774
  const handleValueTextSubmit = React14__default.default.useCallback(
2759
2775
  (text) => {
@@ -2787,7 +2803,9 @@ function HueSlider({
2787
2803
  ref: trackRef,
2788
2804
  style: styles.trackContainer,
2789
2805
  onLayout: (e) => {
2790
- trackWidth.current = e.nativeEvent.layout.width;
2806
+ const w = e.nativeEvent.layout.width;
2807
+ trackWidth.current = w;
2808
+ setLayoutWidth(w);
2791
2809
  trackRef.current?.measure((_x, _y, _w, _h, pageX) => {
2792
2810
  if (pageX != null) trackPageX.current = pageX;
2793
2811
  });
@@ -2875,6 +2893,7 @@ function ColorScaleSlider({
2875
2893
  const trackPageX = React14__default.default.useRef(0);
2876
2894
  const isDragging = React14__default.default.useRef(false);
2877
2895
  const thumbAnim = React14__default.default.useRef(new reactNative.Animated.Value(0)).current;
2896
+ const [layoutWidth, setLayoutWidth] = React14__default.default.useState(0);
2878
2897
  const onValueChangeRef = React14__default.default.useRef(onValueChange);
2879
2898
  const disabledRef = React14__default.default.useRef(disabled);
2880
2899
  const colorsLengthRef = React14__default.default.useRef(colors.length);
@@ -2936,7 +2955,7 @@ function ColorScaleSlider({
2936
2955
  const range = maxNV - minNV;
2937
2956
  const clampedValue = value !== void 0 ? Math.min(maxNV, Math.max(minNV, value)) : (maxNV + minNV) / 2;
2938
2957
  const ratio = range > 0 ? (maxNV - clampedValue) / range : 0.5;
2939
- const usableWidth = Math.max(0, trackWidth.current - THUMB_SIZE4);
2958
+ const usableWidth = Math.max(0, layoutWidth - THUMB_SIZE4);
2940
2959
  const thumbLeft = ratio * usableWidth;
2941
2960
  React14__default.default.useEffect(() => {
2942
2961
  if (isDragging.current || !animateValue) {
@@ -2955,9 +2974,9 @@ function ColorScaleSlider({
2955
2974
  ref: trackRef,
2956
2975
  style: styles.trackContainer,
2957
2976
  onLayout: (e) => {
2958
- trackWidth.current = e.nativeEvent.layout.width;
2959
- const newUsableWidth = Math.max(0, e.nativeEvent.layout.width - THUMB_SIZE4);
2960
- thumbAnim.setValue(ratio * newUsableWidth);
2977
+ const w = e.nativeEvent.layout.width;
2978
+ trackWidth.current = w;
2979
+ setLayoutWidth(w);
2961
2980
  trackRef.current?.measure((_x, _y, _w, _h, pageX) => {
2962
2981
  if (pageX != null) trackPageX.current = pageX;
2963
2982
  });