@tapcart/mobile-components 0.8.43 → 0.8.45

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.
@@ -0,0 +1,19 @@
1
+ import React from "react";
2
+ /**
3
+ * Fallback on condition
4
+ * No remounting of children when condition is met and vice versa
5
+ * Animates transitions between fallback and children
6
+ * @param {boolean} condition
7
+ * @param {React.ReactNode} fallback
8
+ * @param {React.ReactElement} children
9
+ * @param {number} duration - Animation duration in ms (default: 500)
10
+ * @returns {React.ReactElement}
11
+ */
12
+ declare const FallbackOnCondition: ({ condition, fallback, children, duration, }: {
13
+ condition: boolean;
14
+ fallback: React.ReactNode;
15
+ children: React.ReactElement;
16
+ duration?: number | undefined;
17
+ }) => import("react/jsx-runtime").JSX.Element;
18
+ export { FallbackOnCondition };
19
+ //# sourceMappingURL=fallback-on-condition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback-on-condition.d.ts","sourceRoot":"","sources":["../../../components/ui/fallback-on-condition.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;;;;;;;;GASG;AACH,QAAA,MAAM,mBAAmB;eAMZ,OAAO;cACR,MAAM,SAAS;cACf,MAAM,YAAY;;6CAwE7B,CAAA;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
@@ -0,0 +1,60 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from "react";
3
+ /**
4
+ * Fallback on condition
5
+ * No remounting of children when condition is met and vice versa
6
+ * Animates transitions between fallback and children
7
+ * @param {boolean} condition
8
+ * @param {React.ReactNode} fallback
9
+ * @param {React.ReactElement} children
10
+ * @param {number} duration - Animation duration in ms (default: 500)
11
+ * @returns {React.ReactElement}
12
+ */
13
+ const FallbackOnCondition = ({ condition, fallback, children, duration = 500, }) => {
14
+ const [isAnimating, setIsAnimating] = React.useState(false);
15
+ const [showFallback, setShowFallback] = React.useState(condition);
16
+ const [fallbackOpacity, setFallbackOpacity] = React.useState(condition ? 1 : 0);
17
+ const [childrenOpacity, setChildrenOpacity] = React.useState(condition ? 0 : 1);
18
+ React.useEffect(() => {
19
+ if (condition !== showFallback) {
20
+ setIsAnimating(true);
21
+ if (condition) {
22
+ // Fade in fallback, fade out children
23
+ setFallbackOpacity(1);
24
+ setChildrenOpacity(0);
25
+ const timer = setTimeout(() => {
26
+ setShowFallback(true);
27
+ setIsAnimating(false);
28
+ }, duration);
29
+ return () => clearTimeout(timer);
30
+ }
31
+ else {
32
+ // Fade out fallback, fade in children
33
+ setFallbackOpacity(0);
34
+ setChildrenOpacity(1);
35
+ const timer = setTimeout(() => {
36
+ setShowFallback(false);
37
+ setIsAnimating(false);
38
+ }, duration);
39
+ return () => clearTimeout(timer);
40
+ }
41
+ }
42
+ }, [condition, duration, showFallback]);
43
+ return (_jsxs("div", Object.assign({ style: { position: "relative" } }, { children: [_jsx("div", Object.assign({ style: {
44
+ opacity: childrenOpacity,
45
+ transition: `opacity ${duration}ms ease`,
46
+ position: showFallback ? "absolute" : "relative",
47
+ width: "100%",
48
+ } }, { children: children })), (showFallback || isAnimating) && (_jsx("div", Object.assign({ style: {
49
+ opacity: fallbackOpacity,
50
+ transition: `opacity ${duration}ms ease`,
51
+ position: "relative",
52
+ top: 0,
53
+ left: 0,
54
+ width: "100%",
55
+ // height: "auto",
56
+ minHeight: "100%",
57
+ zIndex: 1,
58
+ } }, { children: fallback })))] })));
59
+ };
60
+ export { FallbackOnCondition };
@@ -1 +1 @@
1
- {"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../components/ui/icon.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAEL,eAAe,EAwChB,MAAM,qBAAqB,CAAA;AAI5B,QAAA,MAAM,YAAY;;;mFAiBjB,CAAA;AA8DD,MAAM,WAAW,SACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,EACzD,YAAY,CAAC,OAAO,YAAY,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AA0HD,iBAAS,IAAI,CAAC,EACZ,SAAS,EACT,IAAI,EACJ,IAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,cAAc,EACd,GAAG,KAAK,EACT,EAAE,SAAS,2CAoBX;AAED,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../../../components/ui/icon.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAEL,eAAe,EAwChB,MAAM,qBAAqB,CAAA;AAI5B,QAAA,MAAM,YAAY;;;mFAiBjB,CAAA;AA8DD,MAAM,WAAW,SACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,EACzD,YAAY,CAAC,OAAO,YAAY,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AA8KD,iBAAS,IAAI,CAAC,EACZ,SAAS,EACT,IAAI,EACJ,IAAW,EACX,KAAK,EACL,GAAG,EACH,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,cAAc,EACd,GAAG,KAAK,EACT,EAAE,SAAS,2CAoBX;AAED,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,eAAe,EAAE,CAAA"}
@@ -121,23 +121,47 @@ const CustomIcon = ({ url, size, color, strokeColor, strokeWidth, fillColor, fil
121
121
  // Create a gradient fill based on the fillPercentage
122
122
  if (fillPercentage && fillPercentage > 0 && fillPercentage < 1) {
123
123
  const percentage = Math.min(Math.max(fillPercentage, 0), 1);
124
- const gradientId = `gradient-${Math.random()}`;
125
- const gradient = document.createElementNS("http://www.w3.org/2000/svg", "linearGradient");
126
- gradient.setAttribute("id", gradientId);
127
- gradient.setAttribute("x1", "0%");
128
- gradient.setAttribute("y1", "0%");
129
- gradient.setAttribute("x2", "100%");
130
- gradient.setAttribute("y2", "0%");
131
- const stop1 = document.createElementNS("http://www.w3.org/2000/svg", "stop");
132
- stop1.setAttribute("offset", `${percentage * 100}%`);
133
- stop1.setAttribute("stop-color", color || fillColor || "currentColor");
134
- gradient.appendChild(stop1);
135
- const stop2 = document.createElementNS("http://www.w3.org/2000/svg", "stop");
136
- stop2.setAttribute("offset", `${percentage * 100}%`);
137
- stop2.setAttribute("stop-color", secondaryFillColor || "transparent"); // Use secondary fill color
138
- gradient.appendChild(stop2);
139
- svg.appendChild(gradient);
140
- path.setAttribute("fill", `url(#${gradientId})`);
124
+ const uniqueId = crypto.randomUUID();
125
+ const fillGradientId = `fill-gradient-${uniqueId}`;
126
+ const strokeGradientId = `stroke-gradient-${uniqueId}`;
127
+ let defs = svg.querySelector("defs");
128
+ if (!defs) {
129
+ defs = document.createElementNS("http://www.w3.org/2000/svg", "defs");
130
+ svg.prepend(defs);
131
+ }
132
+ const fillGradient = document.createElementNS("http://www.w3.org/2000/svg", "linearGradient");
133
+ fillGradient.setAttribute("id", fillGradientId);
134
+ fillGradient.setAttribute("x1", "0%");
135
+ fillGradient.setAttribute("y1", "0%");
136
+ fillGradient.setAttribute("x2", "100%");
137
+ fillGradient.setAttribute("y2", "0%");
138
+ const fillStop1 = document.createElementNS("http://www.w3.org/2000/svg", "stop");
139
+ fillStop1.setAttribute("offset", `${percentage * 100}%`);
140
+ fillStop1.setAttribute("stop-color", color || fillColor || "transparent");
141
+ fillGradient.appendChild(fillStop1);
142
+ const fillStop2 = document.createElementNS("http://www.w3.org/2000/svg", "stop");
143
+ fillStop2.setAttribute("offset", `${percentage * 100}%`);
144
+ fillStop2.setAttribute("stop-color", secondaryFillColor || "transparent");
145
+ fillGradient.appendChild(fillStop2);
146
+ defs.appendChild(fillGradient);
147
+ const strokeGradient = document.createElementNS("http://www.w3.org/2000/svg", "linearGradient");
148
+ strokeGradient.setAttribute("id", strokeGradientId);
149
+ strokeGradient.setAttribute("x1", "0%");
150
+ strokeGradient.setAttribute("y1", "0%");
151
+ strokeGradient.setAttribute("x2", "100%");
152
+ strokeGradient.setAttribute("y2", "0%");
153
+ const strokeStop1 = document.createElementNS("http://www.w3.org/2000/svg", "stop");
154
+ strokeStop1.setAttribute("offset", `${percentage * 100}%`);
155
+ strokeStop1.setAttribute("stop-color", color || strokeColor || fillColor || "currentColor");
156
+ strokeGradient.appendChild(strokeStop1);
157
+ const strokeStop2 = document.createElementNS("http://www.w3.org/2000/svg", "stop");
158
+ strokeStop2.setAttribute("offset", `${percentage * 100}%`);
159
+ strokeStop2.setAttribute("stop-color", secondaryFillColor || "currentColor");
160
+ strokeGradient.appendChild(strokeStop2);
161
+ defs.appendChild(strokeGradient);
162
+ path.setAttribute("fill", `url(#${fillGradientId})`);
163
+ path.setAttribute("stroke", `url(#${strokeGradientId})`);
164
+ path.setAttribute("stroke-width", strokeWidthMapping[size].toString());
141
165
  }
142
166
  });
143
167
  } }));
@@ -9,6 +9,30 @@ interface ProgressBarProps {
9
9
  height?: number;
10
10
  animationDuration?: number;
11
11
  animationEasing?: "easeInOut" | "easeIn" | "easeOut";
12
+ /**
13
+ * @description If defined, the milestone markers will be displayed on the progress bar
14
+ * @example
15
+ * {
16
+ * start: 0,
17
+ * end: 1000,
18
+ * increment: 100,
19
+ * }
20
+ */
21
+ milestoneMarkers?: {
22
+ start: number;
23
+ end: number;
24
+ increment?: number;
25
+ textStyle?: {
26
+ color?: string;
27
+ fontSize?: number;
28
+ fontWeight?: number;
29
+ };
30
+ markerStyle?: {
31
+ backgroundColor?: string;
32
+ size?: number;
33
+ };
34
+ animateMarkers?: boolean;
35
+ };
12
36
  }
13
37
  declare const ProgressBar: React.FC<ProgressBarProps>;
14
38
  export { ProgressBar };
@@ -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;CACrD;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA6C3C,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,CA+M3C,CAAA;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -1,19 +1,125 @@
1
1
  "use client";
2
- import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useEffect, useState } from "react";
4
- const ProgressBar = ({ progress, borderStyle, emptyColor, corners, fillColor, animationDuration = 300, animationEasing = "easeInOut", height = 8, }) => {
4
+ const NUM_MARKERS = 5;
5
+ const ProgressBar = ({ progress, borderStyle, emptyColor, corners, fillColor, animationDuration = 300, animationEasing = "easeInOut", height = 8, milestoneMarkers, }) => {
5
6
  const [clampedProgress, setClampedProgress] = useState(0);
7
+ const [animatedMarkers, setAnimatedMarkers] = useState([]);
8
+ const [previousProgress, setPreviousProgress] = useState(0);
9
+ // Calculate the spacing between markers
10
+ const markerSpacing = 100 / NUM_MARKERS;
11
+ // Set beginning/end padding to half the distance between other markers
12
+ const beginningEndMarkerPadding = markerSpacing / 4;
6
13
  useEffect(() => {
14
+ setPreviousProgress(clampedProgress);
7
15
  setTimeout(() => {
8
- setClampedProgress(Math.max(0, Math.min(progress, 100)));
16
+ // If milestoneMarkers are provided, normalize the progress value to the visual scale
17
+ if (milestoneMarkers &&
18
+ "start" in milestoneMarkers &&
19
+ "end" in milestoneMarkers) {
20
+ const { start, end } = milestoneMarkers;
21
+ const totalRange = end - start;
22
+ // First convert progress (percentage) to the actual value in milestone units
23
+ const progressInUnits = start + (totalRange * progress) / 100;
24
+ // Special cases for start and end to ignore the padding
25
+ if (progressInUnits === 0) {
26
+ setClampedProgress(0);
27
+ }
28
+ else if (progressInUnits >= end) {
29
+ setClampedProgress(100);
30
+ }
31
+ else {
32
+ // For values between start and end, calculate the normalized position
33
+ // accounting for the padding at the beginning and end
34
+ const normalizedProgress = beginningEndMarkerPadding +
35
+ 1 +
36
+ ((progressInUnits - start) / totalRange) *
37
+ (100 - 2 * beginningEndMarkerPadding);
38
+ setClampedProgress(normalizedProgress);
39
+ }
40
+ console.log("progressInUnits", progressInUnits, "normalizedProgress", clampedProgress);
41
+ }
42
+ else {
43
+ // If no milestoneMarkers, just clamp between 0 and 100
44
+ setClampedProgress(Math.max(0, Math.min(progress, 100)));
45
+ }
9
46
  }, 100);
10
- }, [progress]);
11
- return (_jsx("div", Object.assign({ className: "w-full flex-grow", style: Object.assign({ height: `${height}px`, backgroundColor: emptyColor, borderRadius: `${corners !== null && corners !== void 0 ? corners : 0}px`, overflow: "hidden" }, borderStyle), "aria-valuenow": clampedProgress, "aria-valuemin": 0, "aria-valuemax": 100, role: "progressbar" }, { children: _jsx("div", { className: "h-full transition-all", style: {
12
- width: `${clampedProgress}%`,
13
- backgroundColor: fillColor,
14
- borderRadius: `${corners !== null && corners !== void 0 ? corners : 0}px`,
15
- transitionTimingFunction: animationEasing,
16
- transitionDuration: `${animationDuration}ms`,
17
- } }) })));
47
+ }, [progress, milestoneMarkers, beginningEndMarkerPadding]);
48
+ // Generate milestone markers if provided
49
+ const renderMilestoneMarkers = () => {
50
+ var _a;
51
+ if (!milestoneMarkers ||
52
+ !("start" in milestoneMarkers) ||
53
+ !milestoneMarkers.end)
54
+ return null;
55
+ const { start, end, animateMarkers } = milestoneMarkers;
56
+ const markers = [];
57
+ // Calculate the marker size for positioning adjustments
58
+ const markerSize = ((_a = milestoneMarkers === null || milestoneMarkers === void 0 ? void 0 : milestoneMarkers.markerStyle) === null || _a === void 0 ? void 0 : _a.size) || 4; // Default size of 8px (w-2 h-2)
59
+ // Generate evenly spaced markers with evenly distributed values
60
+ const positions = [];
61
+ // 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++) {
65
+ // Apply padding of half the marker spacing to the first and last markers
66
+ let position;
67
+ if (i === 0) {
68
+ position = beginningEndMarkerPadding; // Half spacing padding from the start
69
+ }
70
+ else if (i === NUM_MARKERS) {
71
+ position = 100 - beginningEndMarkerPadding; // Half spacing padding from the end
72
+ }
73
+ else {
74
+ // Distribute the remaining markers evenly between the padded start and end
75
+ position =
76
+ beginningEndMarkerPadding +
77
+ ((100 - 2 * beginningEndMarkerPadding) * i) / NUM_MARKERS;
78
+ }
79
+ const value = start + valueStep * i;
80
+ positions.push({ value, position });
81
+ }
82
+ // Check if any markers should be animated based on progress
83
+ useEffect(() => {
84
+ if (animateMarkers) {
85
+ const newAnimatedMarkers = [];
86
+ positions.forEach(({ position }) => {
87
+ // Only animate markers that are newly crossed by the progress bar
88
+ if (previousProgress < position &&
89
+ clampedProgress >= position &&
90
+ !animatedMarkers.includes(position)) {
91
+ newAnimatedMarkers.push(position);
92
+ }
93
+ });
94
+ if (newAnimatedMarkers.length > 0) {
95
+ setAnimatedMarkers((prev) => [...prev, ...newAnimatedMarkers]);
96
+ // Reset animation after a delay
97
+ setTimeout(() => {
98
+ setAnimatedMarkers((prev) => prev.filter((pos) => !newAnimatedMarkers.includes(pos)));
99
+ }, 1000);
100
+ }
101
+ }
102
+ }, [clampedProgress, previousProgress]);
103
+ positions.forEach(({ value, position }) => {
104
+ const isAnimating = animateMarkers && animatedMarkers.includes(position);
105
+ markers.push(_jsxs("div", Object.assign({ className: "absolute", style: {
106
+ left: `${position}%`,
107
+ top: "50%",
108
+ transform: "translateY(-50%)",
109
+ } }, { children: [_jsx("div", { className: "rounded-full bg-gray-300 transform -translate-x-1/2 opacity-50", style: Object.assign({ zIndex: 2, width: `${markerSize}px`, height: `${markerSize}px` }, milestoneMarkers === null || milestoneMarkers === void 0 ? void 0 : milestoneMarkers.markerStyle) }), _jsx("div", Object.assign({ className: "text-xs text-gray-500 transform -translate-x-1/2 transition-all opacity-50", style: Object.assign({ position: "absolute", top: `${height + 8}px`, whiteSpace: "nowrap", transform: isAnimating
110
+ ? "scale(1.5) translateX(-40%)"
111
+ : "translateX(-50%)", fontWeight: isAnimating ? "bold" : undefined, transition: "transform 0.3s ease, font-weight 0.3s ease" }, milestoneMarkers === null || milestoneMarkers === void 0 ? void 0 : milestoneMarkers.textStyle) }, { children: Math.round(value) }))] }), `milestone-${value}`));
112
+ });
113
+ return markers;
114
+ };
115
+ return (_jsxs("div", Object.assign({ className: "w-full flex-grow relative", style: Object.assign({ height: `${height}px`, backgroundColor: emptyColor, borderRadius: `${corners !== null && corners !== void 0 ? corners : 0}px`, marginBottom: milestoneMarkers && "start" in milestoneMarkers ? "24px" : "0" }, borderStyle), "aria-valuenow": clampedProgress, "aria-valuemin": 0, "aria-valuemax": 100, role: "progressbar" }, { children: [_jsx("div", { className: "h-full transition-all", style: {
116
+ width: `${clampedProgress}%`,
117
+ backgroundColor: fillColor,
118
+ borderRadius: `${corners !== null && corners !== void 0 ? corners : 0}px`,
119
+ transitionTimingFunction: animationEasing,
120
+ transitionDuration: `${animationDuration}ms`,
121
+ position: "relative",
122
+ zIndex: 2,
123
+ } }), renderMilestoneMarkers()] })));
18
124
  };
19
125
  export { ProgressBar };
package/dist/index.d.ts CHANGED
@@ -30,6 +30,7 @@ export * from "./components/ui/drawer";
30
30
  export * from "./components/ui/dropdown";
31
31
  export * from "./components/ui/empty-message";
32
32
  export * from "./components/ui/favorite";
33
+ export * from "./components/ui/fallback-on-condition";
33
34
  export * from "./components/ui/grid";
34
35
  export * from "./components/ui/virtual-grid";
35
36
  export * from "./components/ui/icon";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -31,6 +31,7 @@ export * from "./components/ui/drawer";
31
31
  export * from "./components/ui/dropdown";
32
32
  export * from "./components/ui/empty-message";
33
33
  export * from "./components/ui/favorite";
34
+ export * from "./components/ui/fallback-on-condition";
34
35
  export * from "./components/ui/grid";
35
36
  export * from "./components/ui/virtual-grid";
36
37
  export * from "./components/ui/icon";
@@ -277,6 +277,13 @@ type DestinationActions = {
277
277
  type: "internal" | "web";
278
278
  url: string;
279
279
  };
280
+ presentation?: {
281
+ transition: "popover";
282
+ style: string;
283
+ };
284
+ header?: {
285
+ visible: boolean;
286
+ };
280
287
  }) => void;
281
288
  openProduct: (arg: {
282
289
  productId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"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"}
package/dist/lib/utils.js CHANGED
@@ -244,6 +244,16 @@ export const getOverlayStyle = (opacity) => {
244
244
  };
245
245
  const DESTINATION_HANDLERS = {
246
246
  "app-screen": (location, actions) => actions.openScreen({ destination: { type: "internal", url: location } }),
247
+ "app-drawer": (location, actions) => actions.openScreen({
248
+ destination: { type: "internal", url: location },
249
+ presentation: {
250
+ transition: "popover",
251
+ style: "default",
252
+ },
253
+ header: {
254
+ visible: false,
255
+ },
256
+ }),
247
257
  url: (location, actions) => actions.openScreen({
248
258
  destination: {
249
259
  type: "web",
package/dist/styles.css CHANGED
@@ -712,6 +712,9 @@ video {
712
712
  .-right-12 {
713
713
  right: -3rem;
714
714
  }
715
+ .-top-1 {
716
+ top: -0.25rem;
717
+ }
715
718
  .-top-12 {
716
719
  top: -3rem;
717
720
  }
@@ -724,9 +727,6 @@ video {
724
727
  .bottom-2 {
725
728
  bottom: 0.5rem;
726
729
  }
727
- .bottom-3 {
728
- bottom: 0.75rem;
729
- }
730
730
  .bottom-\[18px\] {
731
731
  bottom: 18px;
732
732
  }
@@ -848,6 +848,9 @@ video {
848
848
  margin-top: auto;
849
849
  margin-bottom: auto;
850
850
  }
851
+ .-mt-1 {
852
+ margin-top: -0.25rem;
853
+ }
851
854
  .-mt-4 {
852
855
  margin-top: -1rem;
853
856
  }
@@ -953,6 +956,9 @@ video {
953
956
  .contents {
954
957
  display: contents;
955
958
  }
959
+ .list-item {
960
+ display: list-item;
961
+ }
956
962
  .hidden {
957
963
  display: none;
958
964
  }
@@ -1125,6 +1131,12 @@ video {
1125
1131
  .w-3\/4 {
1126
1132
  width: 75%;
1127
1133
  }
1134
+ .w-32 {
1135
+ width: 8rem;
1136
+ }
1137
+ .w-36 {
1138
+ width: 9rem;
1139
+ }
1128
1140
  .w-4 {
1129
1141
  width: 1rem;
1130
1142
  }
@@ -1143,9 +1155,6 @@ video {
1143
1155
  .w-\[138px\] {
1144
1156
  width: 138px;
1145
1157
  }
1146
- .w-\[150px\] {
1147
- width: 150px;
1148
- }
1149
1158
  .w-\[1px\] {
1150
1159
  width: 1px;
1151
1160
  }
@@ -1232,10 +1241,6 @@ video {
1232
1241
  --tw-translate-y: -50%;
1233
1242
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1234
1243
  }
1235
- .translate-x-1\/2 {
1236
- --tw-translate-x: 50%;
1237
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
1238
- }
1239
1244
  .translate-x-\[-50\%\] {
1240
1245
  --tw-translate-x: -50%;
1241
1246
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
@@ -1731,6 +1736,10 @@ video {
1731
1736
  .bg-coreColors-pageColor {
1732
1737
  background-color: var(--coreColors-pageColor);
1733
1738
  }
1739
+ .bg-gray-300 {
1740
+ --tw-bg-opacity: 1;
1741
+ background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
1742
+ }
1734
1743
  .bg-productBadging-fill {
1735
1744
  background-color: var(--productBadging-fill);
1736
1745
  }
@@ -2000,6 +2009,9 @@ video {
2000
2009
  .capitalize {
2001
2010
  text-transform: capitalize;
2002
2011
  }
2012
+ .italic {
2013
+ font-style: italic;
2014
+ }
2003
2015
  .leading-6 {
2004
2016
  line-height: 1.5rem;
2005
2017
  }
@@ -2113,6 +2125,10 @@ video {
2113
2125
  .text-foreground\/50 {
2114
2126
  color: hsl(var(--foreground) / 0.5);
2115
2127
  }
2128
+ .text-gray-500 {
2129
+ --tw-text-opacity: 1;
2130
+ color: rgb(107 114 128 / var(--tw-text-opacity, 1));
2131
+ }
2116
2132
  .text-muted-foreground {
2117
2133
  color: hsl(var(--muted-foreground));
2118
2134
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tapcart/mobile-components",
3
- "version": "0.8.43",
3
+ "version": "0.8.45",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "style": "dist/styles.css",