@tapcart/mobile-components 0.8.45 → 0.8.46

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":"progress-bar.d.ts","sourceRoot":"","sources":["../../../components/ui/progress-bar.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,UAAU,gBAAgB;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,eAAe,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;IACpD;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE;QACjB,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QAEX,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,SAAS,CAAC,EAAE;YACV,KAAK,CAAC,EAAE,MAAM,CAAA;YACd,QAAQ,CAAC,EAAE,MAAM,CAAA;YACjB,UAAU,CAAC,EAAE,MAAM,CAAA;SACpB,CAAA;QACD,WAAW,CAAC,EAAE;YACZ,eAAe,CAAC,EAAE,MAAM,CAAA;YACxB,IAAI,CAAC,EAAE,MAAM,CAAA;SACd,CAAA;QACD,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB,CAAA;CACF;AAID,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA+M3C,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"progress-bar.d.ts","sourceRoot":"","sources":["../../../components/ui/progress-bar.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,UAAU,gBAAgB;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,eAAe,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;IACpD;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE;QACjB,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE,MAAM,CAAA;QAEX,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,SAAS,CAAC,EAAE;YACV,KAAK,CAAC,EAAE,MAAM,CAAA;YACd,QAAQ,CAAC,EAAE,MAAM,CAAA;YACjB,UAAU,CAAC,EAAE,MAAM,CAAA;SACpB,CAAA;QACD,WAAW,CAAC,EAAE;YACZ,eAAe,CAAC,EAAE,MAAM,CAAA;YACxB,IAAI,CAAC,EAAE,MAAM,CAAA;SACd,CAAA;QACD,cAAc,CAAC,EAAE,OAAO,CAAA;KACzB,CAAA;CACF;AAID,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA8N3C,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -1,13 +1,23 @@
1
1
  "use client";
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useEffect, useState } from "react";
3
+ import React, { useEffect, useState } from "react";
4
4
  const NUM_MARKERS = 5;
5
5
  const ProgressBar = ({ progress, borderStyle, emptyColor, corners, fillColor, animationDuration = 300, animationEasing = "easeInOut", height = 8, milestoneMarkers, }) => {
6
6
  const [clampedProgress, setClampedProgress] = useState(0);
7
7
  const [animatedMarkers, setAnimatedMarkers] = useState([]);
8
8
  const [previousProgress, setPreviousProgress] = useState(0);
9
+ // Determine the number of markers to use
10
+ const markersCount = React.useMemo(() => {
11
+ if (milestoneMarkers &&
12
+ "start" in milestoneMarkers &&
13
+ "end" in milestoneMarkers &&
14
+ milestoneMarkers.end - milestoneMarkers.start < NUM_MARKERS) {
15
+ return milestoneMarkers.end - milestoneMarkers.start;
16
+ }
17
+ return NUM_MARKERS;
18
+ }, [milestoneMarkers]);
9
19
  // Calculate the spacing between markers
10
- const markerSpacing = 100 / NUM_MARKERS;
20
+ const markerSpacing = 100 / markersCount;
11
21
  // Set beginning/end padding to half the distance between other markers
12
22
  const beginningEndMarkerPadding = markerSpacing / 4;
13
23
  useEffect(() => {
@@ -59,22 +69,22 @@ const ProgressBar = ({ progress, borderStyle, emptyColor, corners, fillColor, an
59
69
  // Generate evenly spaced markers with evenly distributed values
60
70
  const positions = [];
61
71
  // Calculate the step between each marker value
62
- const valueStep = (end - start) / NUM_MARKERS;
63
- // Generate 11 markers (including start and end)
64
- for (let i = 0; i <= NUM_MARKERS; i++) {
72
+ const valueStep = (end - start) / markersCount;
73
+ // Generate markers (including start and end)
74
+ for (let i = 0; i <= markersCount; i++) {
65
75
  // Apply padding of half the marker spacing to the first and last markers
66
76
  let position;
67
77
  if (i === 0) {
68
78
  position = beginningEndMarkerPadding; // Half spacing padding from the start
69
79
  }
70
- else if (i === NUM_MARKERS) {
80
+ else if (i === markersCount) {
71
81
  position = 100 - beginningEndMarkerPadding; // Half spacing padding from the end
72
82
  }
73
83
  else {
74
84
  // Distribute the remaining markers evenly between the padded start and end
75
85
  position =
76
86
  beginningEndMarkerPadding +
77
- ((100 - 2 * beginningEndMarkerPadding) * i) / NUM_MARKERS;
87
+ ((100 - 2 * beginningEndMarkerPadding) * i) / markersCount;
78
88
  }
79
89
  const value = start + valueStep * i;
80
90
  positions.push({ value, position });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tapcart/mobile-components",
3
- "version": "0.8.45",
3
+ "version": "0.8.46",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "style": "dist/styles.css",