@titan-design/react-ui 0.3.0 → 0.4.0
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.
- package/dist/bodymap.js +441 -97
- package/dist/bodymap.js.map +1 -1
- package/dist/bodymap.mjs +49 -62
- package/dist/bodymap.mjs.map +1 -1
- package/dist/{chunk-TOD2WQBG.mjs → chunk-2SISKTWM.mjs} +22 -43
- package/dist/chunk-2SISKTWM.mjs.map +1 -0
- package/dist/{chunk-P7TSQUN6.mjs → chunk-SNVKL5WZ.mjs} +42 -5
- package/dist/chunk-SNVKL5WZ.mjs.map +1 -0
- package/dist/index.d.mts +42 -2
- package/dist/index.d.ts +42 -2
- package/dist/index.js +431 -328
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +397 -314
- package/dist/index.mjs.map +1 -1
- package/dist/theme/index.d.mts +28 -2
- package/dist/theme/index.d.ts +28 -2
- package/dist/theme/index.js +37 -0
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/index.mjs +1 -1
- package/package.json +1 -1
- package/src/components/custom/Workout/ActiveWorkoutPage.tsx +10 -15
- package/src/components/custom/Workout/BodyMap.tsx +7 -8
- package/src/components/custom/Workout/BodyMapDetailPanel.tsx +25 -28
- package/src/components/custom/Workout/CapacityBandChart.tsx +2 -3
- package/src/components/custom/Workout/ExerciseCard.tsx +12 -27
- package/src/components/custom/Workout/ExerciseDetailPage.tsx +21 -27
- package/src/components/custom/Workout/InputBar.tsx +10 -11
- package/src/components/custom/Workout/MesoCard.tsx +2 -6
- package/src/components/custom/Workout/MesoStatusCard.tsx +17 -15
- package/src/components/custom/Workout/MuscleGroupChip.tsx +2 -4
- package/src/components/custom/Workout/PlaceholderStrip.tsx +2 -3
- package/src/components/custom/Workout/PrHistoryModal.tsx +12 -14
- package/src/components/custom/Workout/ProgramPlanningPage.tsx +8 -12
- package/src/components/custom/Workout/ReadinessCheck.tsx +13 -11
- package/src/components/custom/Workout/RestTimer.tsx +8 -7
- package/src/components/custom/Workout/SetRow.tsx +10 -7
- package/src/components/custom/Workout/StrengthTrendChart.tsx +15 -17
- package/src/components/custom/Workout/TempoBar.stories.tsx +95 -0
- package/src/components/custom/Workout/TempoBar.test.tsx +103 -0
- package/src/components/custom/Workout/TempoBar.tsx +215 -0
- package/src/components/custom/Workout/TrainingStatusPage.tsx +8 -17
- package/src/components/custom/Workout/VelocityStrip.tsx +7 -5
- package/src/components/custom/Workout/WeekRow.tsx +2 -1
- package/src/components/custom/Workout/WorkoutCard.tsx +3 -8
- package/src/components/custom/Workout/index.ts +9 -0
- package/src/test/nativewind-stub.ts +13 -0
- package/src/theme/ThemeProvider.test.tsx +24 -0
- package/src/theme/ThemeProvider.tsx +50 -0
- package/src/theme/index.ts +2 -0
- package/src/theme/resolve-color.ts +19 -0
- package/dist/chunk-P7TSQUN6.mjs.map +0 -1
- package/dist/chunk-TOD2WQBG.mjs.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { Badge, BadgeText, Card, CardContent, CardDescription, CardFooter, CardHeader, CardSkeleton, CardTitle, Indicator, MesoStatusCard, Sparkline, StatusDot, cn } from './chunk-
|
|
3
|
-
import { getHoverColors, getBaseSurfaceColor, getElevationSurface, getElevationShadow, getGlowShadow, neumorphicShadows } from './chunk-
|
|
4
|
-
export { applyThemePreset, audiobookPreset, componentElevationRanges, createFlatShadow, createPressedHoverShadow, createPressedShadow, createRaisedHoverShadow, createRaisedShadow, darken, defaultPreset, elevationSystem, getBaseSurfaceColor, getElevationConfig, getElevationShadow, getElevationSurface, getGlowShadow, getHoverColors, getValidatedElevation, hexToRgb, hsvToRgb, isCssPropertyManifest, isDark, lighten, neumorphicShadows, rgbToHex, rgbToHsv, shadowColors, validateCssPropertyManifest } from './chunk-
|
|
5
|
-
import { semanticColorsDark, __require } from './chunk-7XPB4NAO.mjs';
|
|
1
|
+
import { cn, WORKOUT_TOKENS, Card, Badge, MesoStatusCard } from './chunk-2SISKTWM.mjs';
|
|
2
|
+
export { Badge, BadgeText, Card, CardContent, CardDescription, CardFooter, CardHeader, CardSkeleton, CardTitle, Indicator, MesoStatusCard, Sparkline, StatusDot, cn } from './chunk-2SISKTWM.mjs';
|
|
3
|
+
import { jsxs, jsx, getHoverColors, resolveColor, Fragment, getBaseSurfaceColor, getElevationSurface, getElevationShadow, getGlowShadow, neumorphicShadows } from './chunk-SNVKL5WZ.mjs';
|
|
4
|
+
export { ThemeProvider, applyThemePreset, audiobookPreset, componentElevationRanges, createFlatShadow, createPressedHoverShadow, createPressedShadow, createRaisedHoverShadow, createRaisedShadow, darken, defaultPreset, elevationSystem, getBaseSurfaceColor, getElevationConfig, getElevationShadow, getElevationSurface, getGlowShadow, getHoverColors, getValidatedElevation, hexToRgb, hsvToRgb, isCssPropertyManifest, isDark, lighten, neumorphicShadows, resolveColor, rgbToHex, rgbToHsv, shadowColors, validateCssPropertyManifest } from './chunk-SNVKL5WZ.mjs';
|
|
5
|
+
import { semanticColorsDark, __require, getSemanticColors } from './chunk-7XPB4NAO.mjs';
|
|
6
6
|
export { buttonSizes, darkThemeCSSVars, discreteRainbow, getDiscreteRainbowColor, getSemanticColors, getThemeCSSVars, gluestackConfig, lightThemeCSSVars, primitiveBorderRadius, primitiveBreakpoints, primitiveColors, primitiveShadows, primitiveSpacing, primitiveTypography, primitiveZIndex, semanticColorsDark, semanticColorsLight, semanticTypography } from './chunk-7XPB4NAO.mjs';
|
|
7
7
|
import { Pressable, ActivityIndicator, Text, View, TextInput, Platform, StyleSheet, Easing, Image, Modal as Modal$1, ScrollView, Animated } from 'react-native';
|
|
8
8
|
import React23, { forwardRef, useState, createContext, useContext, useRef, useEffect, useCallback, useMemo } from 'react';
|
|
@@ -2788,7 +2788,7 @@ function ToastProvider({
|
|
|
2788
2788
|
return id;
|
|
2789
2789
|
}, [defaultDuration, maxToasts]);
|
|
2790
2790
|
const removeToast = useCallback((id) => {
|
|
2791
|
-
setToasts((prev) => prev.filter((
|
|
2791
|
+
setToasts((prev) => prev.filter((t2) => t2.id !== id));
|
|
2792
2792
|
}, []);
|
|
2793
2793
|
const removeAllToasts = useCallback(() => {
|
|
2794
2794
|
setToasts([]);
|
|
@@ -4799,14 +4799,13 @@ function SingleStrip({
|
|
|
4799
4799
|
return /* @__PURE__ */ jsx(
|
|
4800
4800
|
View,
|
|
4801
4801
|
{
|
|
4802
|
-
className: cn(className),
|
|
4802
|
+
className: cn("border-border-strong", className),
|
|
4803
4803
|
style: [
|
|
4804
4804
|
{
|
|
4805
4805
|
height: 3,
|
|
4806
4806
|
backgroundColor: "transparent",
|
|
4807
4807
|
borderWidth: 1,
|
|
4808
4808
|
borderStyle: "dashed",
|
|
4809
|
-
borderColor: "var(--color-border-strong)",
|
|
4810
4809
|
borderRadius: 1,
|
|
4811
4810
|
opacity: 0.5
|
|
4812
4811
|
},
|
|
@@ -4840,13 +4839,13 @@ function SegmentedStrip({
|
|
|
4840
4839
|
children: Array.from({ length: segments }, (_, i) => /* @__PURE__ */ jsx(
|
|
4841
4840
|
View,
|
|
4842
4841
|
{
|
|
4842
|
+
className: "border-border-strong",
|
|
4843
4843
|
style: {
|
|
4844
4844
|
flex: 1,
|
|
4845
4845
|
height: 3,
|
|
4846
4846
|
backgroundColor: "transparent",
|
|
4847
4847
|
borderWidth: 1,
|
|
4848
4848
|
borderStyle: "dashed",
|
|
4849
|
-
borderColor: "var(--color-border-strong)",
|
|
4850
4849
|
borderRadius: 1,
|
|
4851
4850
|
minWidth: 4
|
|
4852
4851
|
},
|
|
@@ -5116,6 +5115,198 @@ function TempoDisplay({
|
|
|
5116
5115
|
}
|
|
5117
5116
|
);
|
|
5118
5117
|
}
|
|
5118
|
+
|
|
5119
|
+
// src/utils/colors.ts
|
|
5120
|
+
function getStatusColor(status) {
|
|
5121
|
+
return `var(--color-status-${status})`;
|
|
5122
|
+
}
|
|
5123
|
+
function getResultColor(result) {
|
|
5124
|
+
return `var(--color-result-${result})`;
|
|
5125
|
+
}
|
|
5126
|
+
function alpha(color, opacity) {
|
|
5127
|
+
const clampedOpacity = Math.max(0, Math.min(1, opacity));
|
|
5128
|
+
if (color.startsWith("#")) {
|
|
5129
|
+
const hex = color.slice(1);
|
|
5130
|
+
let r, g, b;
|
|
5131
|
+
if (hex.length === 3) {
|
|
5132
|
+
r = parseInt(hex[0] + hex[0], 16);
|
|
5133
|
+
g = parseInt(hex[1] + hex[1], 16);
|
|
5134
|
+
b = parseInt(hex[2] + hex[2], 16);
|
|
5135
|
+
} else if (hex.length === 6) {
|
|
5136
|
+
r = parseInt(hex.slice(0, 2), 16);
|
|
5137
|
+
g = parseInt(hex.slice(2, 4), 16);
|
|
5138
|
+
b = parseInt(hex.slice(4, 6), 16);
|
|
5139
|
+
} else {
|
|
5140
|
+
return color;
|
|
5141
|
+
}
|
|
5142
|
+
return `rgba(${r}, ${g}, ${b}, ${clampedOpacity})`;
|
|
5143
|
+
}
|
|
5144
|
+
const rgbMatch = color.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);
|
|
5145
|
+
if (rgbMatch) {
|
|
5146
|
+
const [, r, g, b] = rgbMatch;
|
|
5147
|
+
return `rgba(${r}, ${g}, ${b}, ${clampedOpacity})`;
|
|
5148
|
+
}
|
|
5149
|
+
const rgbaMatch = color.match(/rgba\((\d+),\s*(\d+),\s*(\d+),\s*[\d.]+\)/);
|
|
5150
|
+
if (rgbaMatch) {
|
|
5151
|
+
const [, r, g, b] = rgbaMatch;
|
|
5152
|
+
return `rgba(${r}, ${g}, ${b}, ${clampedOpacity})`;
|
|
5153
|
+
}
|
|
5154
|
+
return color;
|
|
5155
|
+
}
|
|
5156
|
+
function getLuminance(color) {
|
|
5157
|
+
if (!color.startsWith("#")) return "dark";
|
|
5158
|
+
const hex = color.slice(1);
|
|
5159
|
+
let r, g, b;
|
|
5160
|
+
if (hex.length === 3) {
|
|
5161
|
+
r = parseInt(hex[0] + hex[0], 16);
|
|
5162
|
+
g = parseInt(hex[1] + hex[1], 16);
|
|
5163
|
+
b = parseInt(hex[2] + hex[2], 16);
|
|
5164
|
+
} else if (hex.length === 6) {
|
|
5165
|
+
r = parseInt(hex.slice(0, 2), 16);
|
|
5166
|
+
g = parseInt(hex.slice(2, 4), 16);
|
|
5167
|
+
b = parseInt(hex.slice(4, 6), 16);
|
|
5168
|
+
} else {
|
|
5169
|
+
return "dark";
|
|
5170
|
+
}
|
|
5171
|
+
const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
|
|
5172
|
+
return luminance > 0.5 ? "light" : "dark";
|
|
5173
|
+
}
|
|
5174
|
+
function getContrastText(backgroundColor) {
|
|
5175
|
+
return getLuminance(backgroundColor) === "light" ? "#000000" : "#FFFFFF";
|
|
5176
|
+
}
|
|
5177
|
+
|
|
5178
|
+
// src/components/custom/Workout/TempoBar.tsx
|
|
5179
|
+
var t = getSemanticColors("dark");
|
|
5180
|
+
var TEMPO_PACING = {
|
|
5181
|
+
behindThresholdPct: 0.15,
|
|
5182
|
+
minPhaseDurationMs: 500
|
|
5183
|
+
};
|
|
5184
|
+
function getTempoPacingState(elapsedMs, targetMs) {
|
|
5185
|
+
if (!targetMs || targetMs < TEMPO_PACING.minPhaseDurationMs) return "none";
|
|
5186
|
+
const ratio = elapsedMs / targetMs;
|
|
5187
|
+
if (ratio > 1 + TEMPO_PACING.behindThresholdPct) return "behind";
|
|
5188
|
+
return "on-pace";
|
|
5189
|
+
}
|
|
5190
|
+
function getTempoFillPct(elapsedMs, targetMs) {
|
|
5191
|
+
if (!targetMs) return 100;
|
|
5192
|
+
return Math.min(100, elapsedMs / targetMs * 100);
|
|
5193
|
+
}
|
|
5194
|
+
var PHASE_ORDER = ["concentric", "hold", "eccentric"];
|
|
5195
|
+
var PHASE_CONFIG = {
|
|
5196
|
+
concentric: { label: "Con", color: t["status-success"], flex: 2 },
|
|
5197
|
+
hold: { label: "Hold", color: t["brand-primary"], flex: 1 },
|
|
5198
|
+
eccentric: { label: "Ecc", color: t["status-warning"], flex: 3 }
|
|
5199
|
+
};
|
|
5200
|
+
function TempoBar({
|
|
5201
|
+
activePhase,
|
|
5202
|
+
phaseElapsedMs,
|
|
5203
|
+
completed,
|
|
5204
|
+
target,
|
|
5205
|
+
className,
|
|
5206
|
+
...props
|
|
5207
|
+
}) {
|
|
5208
|
+
return /* @__PURE__ */ jsxs(View, { className, testID: "tempo-bar", ...props, children: [
|
|
5209
|
+
/* @__PURE__ */ jsx(View, { style: { flexDirection: "row", marginBottom: 4 }, children: PHASE_ORDER.map((phase) => {
|
|
5210
|
+
const config = PHASE_CONFIG[phase];
|
|
5211
|
+
return /* @__PURE__ */ jsx(View, { style: { flex: config.flex, alignItems: "center" }, children: /* @__PURE__ */ jsx(Text, { style: { fontSize: 10, color: t["text-disabled"] }, children: config.label }) }, phase);
|
|
5212
|
+
}) }),
|
|
5213
|
+
/* @__PURE__ */ jsx(View, { style: { flexDirection: "row", gap: 2, height: 20 }, children: PHASE_ORDER.map((phase) => {
|
|
5214
|
+
const config = PHASE_CONFIG[phase];
|
|
5215
|
+
const isActive = activePhase === phase;
|
|
5216
|
+
const completedMs = completed?.[phase];
|
|
5217
|
+
const targetSec = target?.[phase];
|
|
5218
|
+
const targetMs = targetSec != null ? targetSec * 1e3 : null;
|
|
5219
|
+
return /* @__PURE__ */ jsx(
|
|
5220
|
+
View,
|
|
5221
|
+
{
|
|
5222
|
+
style: {
|
|
5223
|
+
flex: config.flex,
|
|
5224
|
+
backgroundColor: alpha("#ffffff", 0.06),
|
|
5225
|
+
borderRadius: 4,
|
|
5226
|
+
overflow: "hidden"
|
|
5227
|
+
},
|
|
5228
|
+
children: isActive ? /* @__PURE__ */ jsx(
|
|
5229
|
+
ActiveSegment,
|
|
5230
|
+
{
|
|
5231
|
+
config,
|
|
5232
|
+
phaseElapsedMs,
|
|
5233
|
+
targetMs
|
|
5234
|
+
}
|
|
5235
|
+
) : completedMs != null ? /* @__PURE__ */ jsx(CompletedSegment, { config, completedMs, targetMs }) : null
|
|
5236
|
+
},
|
|
5237
|
+
phase
|
|
5238
|
+
);
|
|
5239
|
+
}) })
|
|
5240
|
+
] });
|
|
5241
|
+
}
|
|
5242
|
+
function ActiveSegment({
|
|
5243
|
+
config,
|
|
5244
|
+
phaseElapsedMs,
|
|
5245
|
+
targetMs
|
|
5246
|
+
}) {
|
|
5247
|
+
const pacing = getTempoPacingState(phaseElapsedMs, targetMs);
|
|
5248
|
+
const barColor = pacing === "behind" ? t["status-error"] : config.color;
|
|
5249
|
+
const fillPct = getTempoFillPct(phaseElapsedMs, targetMs);
|
|
5250
|
+
const label = targetMs ? `${formatDuration(phaseElapsedMs)} / ${formatDuration(targetMs)}` : formatDuration(phaseElapsedMs);
|
|
5251
|
+
return /* @__PURE__ */ jsxs(View, { style: { height: "100%", position: "relative" }, testID: `tempo-segment-active-${config.label}`, children: [
|
|
5252
|
+
/* @__PURE__ */ jsx(
|
|
5253
|
+
View,
|
|
5254
|
+
{
|
|
5255
|
+
style: {
|
|
5256
|
+
position: "absolute",
|
|
5257
|
+
left: 0,
|
|
5258
|
+
top: 0,
|
|
5259
|
+
bottom: 0,
|
|
5260
|
+
width: `${fillPct}%`,
|
|
5261
|
+
backgroundColor: alpha(barColor, 0.3),
|
|
5262
|
+
borderRadius: 4
|
|
5263
|
+
}
|
|
5264
|
+
}
|
|
5265
|
+
),
|
|
5266
|
+
/* @__PURE__ */ jsx(
|
|
5267
|
+
View,
|
|
5268
|
+
{
|
|
5269
|
+
style: {
|
|
5270
|
+
height: "100%",
|
|
5271
|
+
flexDirection: "row",
|
|
5272
|
+
alignItems: "center",
|
|
5273
|
+
justifyContent: "center"
|
|
5274
|
+
},
|
|
5275
|
+
children: /* @__PURE__ */ jsx(Text, { style: { fontSize: 12, fontWeight: "700", color: barColor }, children: label })
|
|
5276
|
+
}
|
|
5277
|
+
)
|
|
5278
|
+
] });
|
|
5279
|
+
}
|
|
5280
|
+
function CompletedSegment({
|
|
5281
|
+
config,
|
|
5282
|
+
completedMs,
|
|
5283
|
+
targetMs
|
|
5284
|
+
}) {
|
|
5285
|
+
const pacing = getTempoPacingState(completedMs, targetMs);
|
|
5286
|
+
const hitTarget = pacing !== "behind";
|
|
5287
|
+
const indicator = targetMs && targetMs >= TEMPO_PACING.minPhaseDurationMs ? hitTarget ? " \u2713" : " \u2717" : "";
|
|
5288
|
+
return /* @__PURE__ */ jsx(
|
|
5289
|
+
View,
|
|
5290
|
+
{
|
|
5291
|
+
style: {
|
|
5292
|
+
height: "100%",
|
|
5293
|
+
flexDirection: "row",
|
|
5294
|
+
alignItems: "center",
|
|
5295
|
+
justifyContent: "center",
|
|
5296
|
+
backgroundColor: alpha(config.color, 0.15)
|
|
5297
|
+
},
|
|
5298
|
+
testID: `tempo-segment-completed-${config.label}`,
|
|
5299
|
+
children: /* @__PURE__ */ jsxs(Text, { style: { fontSize: 12, fontWeight: "500", color: alpha(config.color, 0.7) }, children: [
|
|
5300
|
+
formatDuration(completedMs),
|
|
5301
|
+
indicator
|
|
5302
|
+
] })
|
|
5303
|
+
}
|
|
5304
|
+
);
|
|
5305
|
+
}
|
|
5306
|
+
function formatDuration(ms) {
|
|
5307
|
+
const s = ms / 1e3;
|
|
5308
|
+
return s < 10 ? s.toFixed(1) : Math.round(s).toString();
|
|
5309
|
+
}
|
|
5119
5310
|
function getDotColor(deviation) {
|
|
5120
5311
|
const abs = Math.abs(deviation);
|
|
5121
5312
|
if (deviation < -0.3) return "#14B8A6";
|
|
@@ -5598,7 +5789,7 @@ function VelocityStrip({
|
|
|
5598
5789
|
const stripContent = /* @__PURE__ */ jsxs(
|
|
5599
5790
|
Animated.View,
|
|
5600
5791
|
{
|
|
5601
|
-
className,
|
|
5792
|
+
className: [className, expanded ? "bg-surface-raised" : "bg-transparent"].filter(Boolean).join(" "),
|
|
5602
5793
|
style: [
|
|
5603
5794
|
{
|
|
5604
5795
|
height: heightAnim,
|
|
@@ -5609,7 +5800,6 @@ function VelocityStrip({
|
|
|
5609
5800
|
paddingBottom: expanded ? 24 : 0,
|
|
5610
5801
|
paddingHorizontal: expanded ? 6 : 0,
|
|
5611
5802
|
paddingVertical: expanded ? void 0 : 8,
|
|
5612
|
-
backgroundColor: expanded ? "var(--color-surface-raised)" : "transparent",
|
|
5613
5803
|
overflow: expanded ? "visible" : "hidden"
|
|
5614
5804
|
}
|
|
5615
5805
|
],
|
|
@@ -5633,7 +5823,8 @@ function VelocityStrip({
|
|
|
5633
5823
|
expanded && /* @__PURE__ */ jsx(Animated.View, { style: { opacity: labelOpacity, alignItems: "center", position: "absolute", top: -13, left: 0, right: 0 }, accessibilityElementsHidden: true, children: /* @__PURE__ */ jsx(
|
|
5634
5824
|
Text,
|
|
5635
5825
|
{
|
|
5636
|
-
|
|
5826
|
+
className: "text-text-secondary",
|
|
5827
|
+
style: { fontSize: 8, fontWeight: "600" },
|
|
5637
5828
|
testID: `velocity-label-${i}`,
|
|
5638
5829
|
children: formatVelocity(v)
|
|
5639
5830
|
}
|
|
@@ -5693,9 +5884,9 @@ function VelocityStrip({
|
|
|
5693
5884
|
/* @__PURE__ */ jsxs(
|
|
5694
5885
|
Text,
|
|
5695
5886
|
{
|
|
5887
|
+
className: "text-text-secondary",
|
|
5696
5888
|
style: {
|
|
5697
5889
|
fontSize: 10,
|
|
5698
|
-
color: "var(--color-text-secondary)",
|
|
5699
5890
|
fontFamily: "Inter, sans-serif"
|
|
5700
5891
|
},
|
|
5701
5892
|
children: [
|
|
@@ -5711,9 +5902,9 @@ function VelocityStrip({
|
|
|
5711
5902
|
/* @__PURE__ */ jsxs(
|
|
5712
5903
|
Text,
|
|
5713
5904
|
{
|
|
5905
|
+
className: "text-text-secondary",
|
|
5714
5906
|
style: {
|
|
5715
5907
|
fontSize: 10,
|
|
5716
|
-
color: "var(--color-text-secondary)",
|
|
5717
5908
|
fontFamily: "Inter, sans-serif",
|
|
5718
5909
|
...getLossStyle(loss)
|
|
5719
5910
|
},
|
|
@@ -5763,16 +5954,14 @@ function MuscleGroupChip({
|
|
|
5763
5954
|
const content = /* @__PURE__ */ jsxs(
|
|
5764
5955
|
View,
|
|
5765
5956
|
{
|
|
5766
|
-
className,
|
|
5957
|
+
className: ["bg-surface-raised border-border", className].filter(Boolean).join(" "),
|
|
5767
5958
|
style: {
|
|
5768
5959
|
flexDirection: "row",
|
|
5769
5960
|
alignItems: "center",
|
|
5770
5961
|
borderRadius: 9999,
|
|
5771
5962
|
paddingHorizontal: 9,
|
|
5772
5963
|
paddingVertical: 3,
|
|
5773
|
-
|
|
5774
|
-
borderWidth: 1,
|
|
5775
|
-
borderColor: "var(--color-border-default)"
|
|
5964
|
+
borderWidth: 1
|
|
5776
5965
|
},
|
|
5777
5966
|
accessibilityLabel: onPress ? void 0 : `${name}, volume status: ${statusLabel}`,
|
|
5778
5967
|
testID: "muscle-group-chip",
|
|
@@ -5796,11 +5985,11 @@ function MuscleGroupChip({
|
|
|
5796
5985
|
/* @__PURE__ */ jsx(
|
|
5797
5986
|
Text,
|
|
5798
5987
|
{
|
|
5988
|
+
className: "text-text-secondary",
|
|
5799
5989
|
style: {
|
|
5800
5990
|
fontFamily: "Inter, sans-serif",
|
|
5801
5991
|
fontWeight: "500",
|
|
5802
|
-
fontSize: 11
|
|
5803
|
-
color: "var(--color-text-secondary)"
|
|
5992
|
+
fontSize: 11
|
|
5804
5993
|
},
|
|
5805
5994
|
accessibilityElementsHidden: true,
|
|
5806
5995
|
children: name
|
|
@@ -5899,11 +6088,11 @@ function SetRow({
|
|
|
5899
6088
|
) : /* @__PURE__ */ jsx(
|
|
5900
6089
|
Text,
|
|
5901
6090
|
{
|
|
6091
|
+
className: "text-text-secondary",
|
|
5902
6092
|
style: {
|
|
5903
6093
|
fontSize: 13,
|
|
5904
6094
|
fontWeight: "600",
|
|
5905
|
-
fontFamily: "Inter, sans-serif"
|
|
5906
|
-
color: "var(--color-text-secondary)"
|
|
6095
|
+
fontFamily: "Inter, sans-serif"
|
|
5907
6096
|
},
|
|
5908
6097
|
children: setNumber
|
|
5909
6098
|
}
|
|
@@ -5918,10 +6107,10 @@ function SetRow({
|
|
|
5918
6107
|
children: /* @__PURE__ */ jsx(
|
|
5919
6108
|
Text,
|
|
5920
6109
|
{
|
|
6110
|
+
className: "text-text-secondary",
|
|
5921
6111
|
style: {
|
|
5922
6112
|
fontSize: 12,
|
|
5923
|
-
fontFamily: "Inter, sans-serif"
|
|
5924
|
-
color: "var(--color-text-secondary)"
|
|
6113
|
+
fontFamily: "Inter, sans-serif"
|
|
5925
6114
|
},
|
|
5926
6115
|
children: previous ? `${previous.reps} x ${roundWeight(previous.weight)}` : "\u2014"
|
|
5927
6116
|
}
|
|
@@ -5936,11 +6125,11 @@ function SetRow({
|
|
|
5936
6125
|
children: isActive && reps == null && targets ? /* @__PURE__ */ jsx(
|
|
5937
6126
|
Text,
|
|
5938
6127
|
{
|
|
6128
|
+
className: "text-text-tertiary",
|
|
5939
6129
|
style: {
|
|
5940
6130
|
fontSize: 13,
|
|
5941
6131
|
fontStyle: "italic",
|
|
5942
|
-
fontFamily: "Inter, sans-serif"
|
|
5943
|
-
color: "var(--color-text-tertiary)"
|
|
6132
|
+
fontFamily: "Inter, sans-serif"
|
|
5944
6133
|
},
|
|
5945
6134
|
testID: "set-row-target-reps",
|
|
5946
6135
|
children: targets.reps
|
|
@@ -5948,11 +6137,11 @@ function SetRow({
|
|
|
5948
6137
|
) : /* @__PURE__ */ jsx(
|
|
5949
6138
|
Text,
|
|
5950
6139
|
{
|
|
6140
|
+
className: reps != null ? "text-text-primary" : "text-text-tertiary",
|
|
5951
6141
|
style: {
|
|
5952
6142
|
fontSize: 14,
|
|
5953
6143
|
fontWeight: "600",
|
|
5954
|
-
fontFamily: "Inter, sans-serif"
|
|
5955
|
-
color: reps != null ? "var(--color-text-primary)" : "var(--color-text-tertiary)"
|
|
6144
|
+
fontFamily: "Inter, sans-serif"
|
|
5956
6145
|
},
|
|
5957
6146
|
children: reps != null ? reps : "\u2014"
|
|
5958
6147
|
}
|
|
@@ -5967,11 +6156,11 @@ function SetRow({
|
|
|
5967
6156
|
children: isActive && weight == null && targets ? /* @__PURE__ */ jsx(
|
|
5968
6157
|
Text,
|
|
5969
6158
|
{
|
|
6159
|
+
className: "text-text-tertiary",
|
|
5970
6160
|
style: {
|
|
5971
6161
|
fontSize: 13,
|
|
5972
6162
|
fontStyle: "italic",
|
|
5973
|
-
fontFamily: "Inter, sans-serif"
|
|
5974
|
-
color: "var(--color-text-tertiary)"
|
|
6163
|
+
fontFamily: "Inter, sans-serif"
|
|
5975
6164
|
},
|
|
5976
6165
|
testID: "set-row-target-weight",
|
|
5977
6166
|
children: roundWeight(targets.weight)
|
|
@@ -5979,11 +6168,11 @@ function SetRow({
|
|
|
5979
6168
|
) : /* @__PURE__ */ jsx(
|
|
5980
6169
|
Text,
|
|
5981
6170
|
{
|
|
6171
|
+
className: weight != null ? "text-text-primary" : "text-text-tertiary",
|
|
5982
6172
|
style: {
|
|
5983
6173
|
fontSize: 14,
|
|
5984
6174
|
fontWeight: "600",
|
|
5985
|
-
fontFamily: "Inter, sans-serif"
|
|
5986
|
-
color: weight != null ? "var(--color-text-primary)" : "var(--color-text-tertiary)"
|
|
6175
|
+
fontFamily: "Inter, sans-serif"
|
|
5987
6176
|
},
|
|
5988
6177
|
children: weight != null ? roundWeight(weight) : "\u2014"
|
|
5989
6178
|
}
|
|
@@ -5998,11 +6187,14 @@ function SetRow({
|
|
|
5998
6187
|
children: /* @__PURE__ */ jsx(
|
|
5999
6188
|
Text,
|
|
6000
6189
|
{
|
|
6190
|
+
className: rpe != null ? void 0 : "text-text-tertiary",
|
|
6001
6191
|
style: {
|
|
6002
6192
|
fontSize: 13,
|
|
6003
6193
|
fontWeight: "600",
|
|
6004
6194
|
fontFamily: "Inter, sans-serif",
|
|
6005
|
-
|
|
6195
|
+
// rpeColor returns a concrete hex (native-safe); only the tertiary
|
|
6196
|
+
// fallback needs the className token.
|
|
6197
|
+
color: rpe != null ? rpeColor(rpe) : void 0
|
|
6006
6198
|
},
|
|
6007
6199
|
children: rpe != null ? roundRpe(rpe) : "\u2014"
|
|
6008
6200
|
}
|
|
@@ -6048,18 +6240,14 @@ function SetRow({
|
|
|
6048
6240
|
);
|
|
6049
6241
|
}
|
|
6050
6242
|
var BRAND_PRIMARY = "#FF7900";
|
|
6051
|
-
var
|
|
6052
|
-
var TEXT_TERTIARY2 = "var(--color-text-tertiary)";
|
|
6243
|
+
var INPUT_CLASSNAME = "bg-surface-raised border-border-strong text-text-primary";
|
|
6053
6244
|
var inputStyle = {
|
|
6054
6245
|
fontSize: 14,
|
|
6055
6246
|
fontWeight: "600",
|
|
6056
6247
|
fontFamily: "Inter, sans-serif",
|
|
6057
|
-
backgroundColor: "var(--color-surface-raised)",
|
|
6058
6248
|
borderWidth: 1,
|
|
6059
|
-
borderColor: "var(--color-border-strong)",
|
|
6060
6249
|
borderRadius: 6,
|
|
6061
6250
|
textAlign: "center",
|
|
6062
|
-
color: TEXT_PRIMARY,
|
|
6063
6251
|
paddingVertical: 5,
|
|
6064
6252
|
paddingHorizontal: 2
|
|
6065
6253
|
};
|
|
@@ -6081,11 +6269,11 @@ function InputBar({
|
|
|
6081
6269
|
return /* @__PURE__ */ jsxs(
|
|
6082
6270
|
View,
|
|
6083
6271
|
{
|
|
6272
|
+
className: "bg-surface-elevated",
|
|
6084
6273
|
style: {
|
|
6085
6274
|
width: "100%",
|
|
6086
|
-
backgroundColor: "var(--color-surface-elevated)",
|
|
6087
6275
|
borderTopWidth: 1,
|
|
6088
|
-
borderTopColor: "
|
|
6276
|
+
borderTopColor: resolveColor("border-default"),
|
|
6089
6277
|
paddingTop: 10,
|
|
6090
6278
|
paddingHorizontal: 16,
|
|
6091
6279
|
paddingBottom: 12,
|
|
@@ -6100,11 +6288,11 @@ function InputBar({
|
|
|
6100
6288
|
/* @__PURE__ */ jsx(
|
|
6101
6289
|
Text,
|
|
6102
6290
|
{
|
|
6291
|
+
className: "text-text-primary",
|
|
6103
6292
|
style: {
|
|
6104
6293
|
fontSize: 12,
|
|
6105
6294
|
fontWeight: "700",
|
|
6106
|
-
fontFamily: '"Space Grotesk", sans-serif'
|
|
6107
|
-
color: TEXT_PRIMARY
|
|
6295
|
+
fontFamily: '"Space Grotesk", sans-serif'
|
|
6108
6296
|
},
|
|
6109
6297
|
testID: "input-bar-exercise-name",
|
|
6110
6298
|
numberOfLines: 1,
|
|
@@ -6114,10 +6302,10 @@ function InputBar({
|
|
|
6114
6302
|
/* @__PURE__ */ jsx(
|
|
6115
6303
|
Text,
|
|
6116
6304
|
{
|
|
6305
|
+
className: "text-text-tertiary",
|
|
6117
6306
|
style: {
|
|
6118
6307
|
fontSize: 10,
|
|
6119
|
-
fontFamily: "Inter, sans-serif"
|
|
6120
|
-
color: TEXT_TERTIARY2
|
|
6308
|
+
fontFamily: "Inter, sans-serif"
|
|
6121
6309
|
},
|
|
6122
6310
|
testID: "input-bar-set-info",
|
|
6123
6311
|
children: setLabel
|
|
@@ -6130,6 +6318,7 @@ function InputBar({
|
|
|
6130
6318
|
{
|
|
6131
6319
|
value: reps,
|
|
6132
6320
|
onChangeText: onRepsChange,
|
|
6321
|
+
className: INPUT_CLASSNAME,
|
|
6133
6322
|
style: { ...inputStyle, width: 36 },
|
|
6134
6323
|
accessibilityLabel: "Reps",
|
|
6135
6324
|
testID: "input-bar-reps",
|
|
@@ -6139,10 +6328,10 @@ function InputBar({
|
|
|
6139
6328
|
/* @__PURE__ */ jsx(
|
|
6140
6329
|
Text,
|
|
6141
6330
|
{
|
|
6331
|
+
className: "text-text-tertiary",
|
|
6142
6332
|
style: {
|
|
6143
6333
|
fontSize: 12,
|
|
6144
|
-
fontFamily: "Inter, sans-serif"
|
|
6145
|
-
color: TEXT_TERTIARY2
|
|
6334
|
+
fontFamily: "Inter, sans-serif"
|
|
6146
6335
|
},
|
|
6147
6336
|
children: "\xD7"
|
|
6148
6337
|
}
|
|
@@ -6152,6 +6341,7 @@ function InputBar({
|
|
|
6152
6341
|
{
|
|
6153
6342
|
value: weight,
|
|
6154
6343
|
onChangeText: onWeightChange,
|
|
6344
|
+
className: INPUT_CLASSNAME,
|
|
6155
6345
|
style: { ...inputStyle, width: 52 },
|
|
6156
6346
|
accessibilityLabel: `Weight in ${unit}`,
|
|
6157
6347
|
testID: "input-bar-weight",
|
|
@@ -6161,11 +6351,11 @@ function InputBar({
|
|
|
6161
6351
|
/* @__PURE__ */ jsx(
|
|
6162
6352
|
Text,
|
|
6163
6353
|
{
|
|
6354
|
+
className: "text-text-tertiary",
|
|
6164
6355
|
style: {
|
|
6165
6356
|
fontSize: 12,
|
|
6166
6357
|
fontWeight: "500",
|
|
6167
|
-
fontFamily: "Inter, sans-serif"
|
|
6168
|
-
color: TEXT_TERTIARY2
|
|
6358
|
+
fontFamily: "Inter, sans-serif"
|
|
6169
6359
|
},
|
|
6170
6360
|
testID: "input-bar-unit",
|
|
6171
6361
|
children: unit
|
|
@@ -6225,11 +6415,11 @@ function RestTimer({
|
|
|
6225
6415
|
return /* @__PURE__ */ jsxs(
|
|
6226
6416
|
View,
|
|
6227
6417
|
{
|
|
6418
|
+
className: "bg-surface-raised",
|
|
6228
6419
|
style: {
|
|
6229
6420
|
width: "100%",
|
|
6230
|
-
backgroundColor: "var(--color-surface-raised)",
|
|
6231
6421
|
borderTopWidth: 1,
|
|
6232
|
-
borderTopColor: "
|
|
6422
|
+
borderTopColor: resolveColor("border-default"),
|
|
6233
6423
|
paddingVertical: 12,
|
|
6234
6424
|
paddingHorizontal: 16
|
|
6235
6425
|
},
|
|
@@ -6251,13 +6441,13 @@ function RestTimer({
|
|
|
6251
6441
|
/* @__PURE__ */ jsx(
|
|
6252
6442
|
Text,
|
|
6253
6443
|
{
|
|
6444
|
+
className: "text-text-secondary",
|
|
6254
6445
|
style: {
|
|
6255
6446
|
fontSize: 11,
|
|
6256
6447
|
fontFamily: "Inter, sans-serif",
|
|
6257
6448
|
fontWeight: "600",
|
|
6258
6449
|
textTransform: "uppercase",
|
|
6259
|
-
letterSpacing: 1
|
|
6260
|
-
color: "var(--color-text-secondary)"
|
|
6450
|
+
letterSpacing: 1
|
|
6261
6451
|
},
|
|
6262
6452
|
testID: "rest-timer-label",
|
|
6263
6453
|
children: "REST"
|
|
@@ -6266,10 +6456,10 @@ function RestTimer({
|
|
|
6266
6456
|
nextSetInfo != null && /* @__PURE__ */ jsx(
|
|
6267
6457
|
Text,
|
|
6268
6458
|
{
|
|
6459
|
+
className: "text-text-tertiary",
|
|
6269
6460
|
style: {
|
|
6270
6461
|
fontSize: 11,
|
|
6271
6462
|
fontFamily: "Inter, sans-serif",
|
|
6272
|
-
color: "var(--color-text-tertiary)",
|
|
6273
6463
|
marginTop: 2
|
|
6274
6464
|
},
|
|
6275
6465
|
testID: "rest-timer-next-set",
|
|
@@ -6280,11 +6470,11 @@ function RestTimer({
|
|
|
6280
6470
|
/* @__PURE__ */ jsx(
|
|
6281
6471
|
Text,
|
|
6282
6472
|
{
|
|
6473
|
+
className: "text-text-primary",
|
|
6283
6474
|
style: {
|
|
6284
6475
|
fontSize: 28,
|
|
6285
6476
|
fontFamily: '"Space Grotesk", sans-serif',
|
|
6286
6477
|
fontWeight: "700",
|
|
6287
|
-
color: "var(--color-text-primary)",
|
|
6288
6478
|
fontVariant: ["tabular-nums"],
|
|
6289
6479
|
letterSpacing: -0.5
|
|
6290
6480
|
},
|
|
@@ -6298,9 +6488,9 @@ function RestTimer({
|
|
|
6298
6488
|
/* @__PURE__ */ jsx(
|
|
6299
6489
|
View,
|
|
6300
6490
|
{
|
|
6491
|
+
className: "bg-border",
|
|
6301
6492
|
style: {
|
|
6302
6493
|
height: 3,
|
|
6303
|
-
backgroundColor: "var(--color-border-default)",
|
|
6304
6494
|
borderRadius: 2,
|
|
6305
6495
|
marginBottom: 12
|
|
6306
6496
|
},
|
|
@@ -6336,11 +6526,11 @@ function RestTimer({
|
|
|
6336
6526
|
children: /* @__PURE__ */ jsx(
|
|
6337
6527
|
Text,
|
|
6338
6528
|
{
|
|
6529
|
+
className: "text-text-secondary",
|
|
6339
6530
|
style: {
|
|
6340
6531
|
fontSize: 11,
|
|
6341
6532
|
fontFamily: "Inter, sans-serif",
|
|
6342
|
-
fontWeight: "600"
|
|
6343
|
-
color: "var(--color-text-secondary)"
|
|
6533
|
+
fontWeight: "600"
|
|
6344
6534
|
},
|
|
6345
6535
|
children: "+30s"
|
|
6346
6536
|
}
|
|
@@ -6379,19 +6569,6 @@ function RestTimer({
|
|
|
6379
6569
|
}
|
|
6380
6570
|
);
|
|
6381
6571
|
}
|
|
6382
|
-
var COLORS = {
|
|
6383
|
-
// Theme-aware tokens: text foregrounds and this card's own surfaces/borders
|
|
6384
|
-
// must flip together so text stays readable in both light and dark. The
|
|
6385
|
-
// expanded/pressed surfaces are self-owned here (not from a themed Card), so
|
|
6386
|
-
// hardcoding dark values would leave dark-on-dark once the text flips.
|
|
6387
|
-
// react-native-web passes the CSS var through to the inline style.
|
|
6388
|
-
textPrimary: "var(--color-text-primary)",
|
|
6389
|
-
textSecondary: "var(--color-text-secondary)",
|
|
6390
|
-
textTertiary: "var(--color-text-tertiary)",
|
|
6391
|
-
surfaceRaised: "var(--color-surface-raised)",
|
|
6392
|
-
surfaceElevated: "var(--color-surface-elevated)",
|
|
6393
|
-
borderDefault: "var(--color-border-default)"
|
|
6394
|
-
};
|
|
6395
6572
|
function buildColumnHeaders(unit) {
|
|
6396
6573
|
return ["SET", "PREV", "REPS", unit.toUpperCase(), "RPE"];
|
|
6397
6574
|
}
|
|
@@ -6469,11 +6646,11 @@ function CollapsedCard({
|
|
|
6469
6646
|
children: /* @__PURE__ */ jsxs(
|
|
6470
6647
|
View,
|
|
6471
6648
|
{
|
|
6649
|
+
className: pressed ? "bg-surface-raised" : void 0,
|
|
6472
6650
|
style: {
|
|
6473
6651
|
padding: 12,
|
|
6474
6652
|
paddingHorizontal: 14,
|
|
6475
6653
|
cursor: "pointer",
|
|
6476
|
-
backgroundColor: pressed ? COLORS.surfaceRaised : "transparent",
|
|
6477
6654
|
...borderRadius,
|
|
6478
6655
|
...supersetMargin
|
|
6479
6656
|
},
|
|
@@ -6487,11 +6664,11 @@ function CollapsedCard({
|
|
|
6487
6664
|
/* @__PURE__ */ jsx(
|
|
6488
6665
|
Text,
|
|
6489
6666
|
{
|
|
6667
|
+
className: "text-text-primary",
|
|
6490
6668
|
style: {
|
|
6491
6669
|
fontSize: 14,
|
|
6492
6670
|
fontFamily: '"Space Grotesk", sans-serif',
|
|
6493
|
-
fontWeight: "700"
|
|
6494
|
-
color: COLORS.textPrimary
|
|
6671
|
+
fontWeight: "700"
|
|
6495
6672
|
},
|
|
6496
6673
|
testID: "exercise-card-name",
|
|
6497
6674
|
children: name
|
|
@@ -6501,10 +6678,10 @@ function CollapsedCard({
|
|
|
6501
6678
|
summary && /* @__PURE__ */ jsx(
|
|
6502
6679
|
Text,
|
|
6503
6680
|
{
|
|
6681
|
+
className: "text-text-secondary",
|
|
6504
6682
|
style: {
|
|
6505
6683
|
fontSize: 12,
|
|
6506
6684
|
fontFamily: "Inter, sans-serif",
|
|
6507
|
-
color: COLORS.textSecondary,
|
|
6508
6685
|
marginRight: 8
|
|
6509
6686
|
},
|
|
6510
6687
|
testID: "exercise-card-summary",
|
|
@@ -6574,10 +6751,9 @@ function ExpandedCard({
|
|
|
6574
6751
|
return /* @__PURE__ */ jsxs(
|
|
6575
6752
|
View,
|
|
6576
6753
|
{
|
|
6754
|
+
className: "bg-surface-elevated border-border",
|
|
6577
6755
|
style: {
|
|
6578
|
-
backgroundColor: COLORS.surfaceElevated,
|
|
6579
6756
|
borderWidth: 1,
|
|
6580
|
-
borderColor: COLORS.borderDefault,
|
|
6581
6757
|
...borderRadius,
|
|
6582
6758
|
...supersetMargin
|
|
6583
6759
|
},
|
|
@@ -6600,17 +6776,17 @@ function ExpandedCard({
|
|
|
6600
6776
|
paddingHorizontal: 14,
|
|
6601
6777
|
paddingBottom: 10,
|
|
6602
6778
|
borderBottomWidth: 1,
|
|
6603
|
-
borderBottomColor:
|
|
6779
|
+
borderBottomColor: resolveColor("border-default")
|
|
6604
6780
|
},
|
|
6605
6781
|
children: [
|
|
6606
6782
|
/* @__PURE__ */ jsx(
|
|
6607
6783
|
Text,
|
|
6608
6784
|
{
|
|
6785
|
+
className: "text-text-primary",
|
|
6609
6786
|
style: {
|
|
6610
6787
|
fontSize: 14,
|
|
6611
6788
|
fontFamily: '"Space Grotesk", sans-serif',
|
|
6612
|
-
fontWeight: "700"
|
|
6613
|
-
color: COLORS.textPrimary
|
|
6789
|
+
fontWeight: "700"
|
|
6614
6790
|
},
|
|
6615
6791
|
testID: "exercise-card-name",
|
|
6616
6792
|
children: name
|
|
@@ -6620,10 +6796,10 @@ function ExpandedCard({
|
|
|
6620
6796
|
summary && /* @__PURE__ */ jsx(
|
|
6621
6797
|
Text,
|
|
6622
6798
|
{
|
|
6799
|
+
className: "text-text-secondary",
|
|
6623
6800
|
style: {
|
|
6624
6801
|
fontSize: 12,
|
|
6625
6802
|
fontFamily: "Inter, sans-serif",
|
|
6626
|
-
color: COLORS.textSecondary,
|
|
6627
6803
|
marginRight: 8
|
|
6628
6804
|
},
|
|
6629
6805
|
testID: "exercise-card-summary",
|
|
@@ -6674,13 +6850,13 @@ function ExpandedCard({
|
|
|
6674
6850
|
children: /* @__PURE__ */ jsx(
|
|
6675
6851
|
Text,
|
|
6676
6852
|
{
|
|
6853
|
+
className: "text-text-tertiary",
|
|
6677
6854
|
style: {
|
|
6678
6855
|
fontSize: 10,
|
|
6679
6856
|
fontWeight: "600",
|
|
6680
6857
|
fontFamily: "Inter, sans-serif",
|
|
6681
6858
|
textTransform: "uppercase",
|
|
6682
|
-
letterSpacing: 0.8
|
|
6683
|
-
color: COLORS.textTertiary
|
|
6859
|
+
letterSpacing: 0.8
|
|
6684
6860
|
},
|
|
6685
6861
|
children: header
|
|
6686
6862
|
}
|
|
@@ -6720,11 +6896,11 @@ function UpcomingCard({
|
|
|
6720
6896
|
/* @__PURE__ */ jsx(
|
|
6721
6897
|
Text,
|
|
6722
6898
|
{
|
|
6899
|
+
className: "text-text-primary",
|
|
6723
6900
|
style: {
|
|
6724
6901
|
fontSize: 14,
|
|
6725
6902
|
fontFamily: '"Space Grotesk", sans-serif',
|
|
6726
|
-
fontWeight: "700"
|
|
6727
|
-
color: COLORS.textPrimary
|
|
6903
|
+
fontWeight: "700"
|
|
6728
6904
|
},
|
|
6729
6905
|
testID: "exercise-card-name",
|
|
6730
6906
|
children: name
|
|
@@ -6733,10 +6909,10 @@ function UpcomingCard({
|
|
|
6733
6909
|
prescription && /* @__PURE__ */ jsx(
|
|
6734
6910
|
Text,
|
|
6735
6911
|
{
|
|
6912
|
+
className: "text-text-secondary",
|
|
6736
6913
|
style: {
|
|
6737
6914
|
fontSize: 12,
|
|
6738
6915
|
fontFamily: "Inter, sans-serif",
|
|
6739
|
-
color: COLORS.textSecondary,
|
|
6740
6916
|
marginLeft: 8
|
|
6741
6917
|
},
|
|
6742
6918
|
testID: "exercise-card-prescription",
|
|
@@ -6747,10 +6923,10 @@ function UpcomingCard({
|
|
|
6747
6923
|
previousBest && /* @__PURE__ */ jsx(
|
|
6748
6924
|
Text,
|
|
6749
6925
|
{
|
|
6926
|
+
className: "text-text-tertiary",
|
|
6750
6927
|
style: {
|
|
6751
6928
|
fontSize: 11,
|
|
6752
|
-
fontFamily: "Inter, sans-serif"
|
|
6753
|
-
color: COLORS.textTertiary
|
|
6929
|
+
fontFamily: "Inter, sans-serif"
|
|
6754
6930
|
},
|
|
6755
6931
|
testID: "exercise-card-previous-best",
|
|
6756
6932
|
children: previousBest
|
|
@@ -6988,11 +7164,12 @@ function WeekRow({
|
|
|
6988
7164
|
/* @__PURE__ */ jsx(
|
|
6989
7165
|
Text,
|
|
6990
7166
|
{
|
|
7167
|
+
className: isCurrent ? void 0 : "text-text-primary",
|
|
6991
7168
|
style: {
|
|
6992
7169
|
fontSize: 13,
|
|
6993
7170
|
fontWeight: "700",
|
|
6994
7171
|
fontFamily: "Inter, sans-serif",
|
|
6995
|
-
color: isCurrent ? BRAND_PRIMARY4 :
|
|
7172
|
+
color: isCurrent ? BRAND_PRIMARY4 : void 0
|
|
6996
7173
|
},
|
|
6997
7174
|
accessibilityElementsHidden: true,
|
|
6998
7175
|
children: `W${weekNumber}`
|
|
@@ -7031,21 +7208,16 @@ function WeekRow({
|
|
|
7031
7208
|
}
|
|
7032
7209
|
);
|
|
7033
7210
|
}
|
|
7034
|
-
var
|
|
7035
|
-
// Theme-aware foregrounds: resolve to a readable color in both light and dark
|
|
7036
|
-
// (react-native-web passes the CSS var through to the inline style).
|
|
7037
|
-
textPrimary: "var(--color-text-primary)",
|
|
7038
|
-
textSecondary: "var(--color-text-secondary)",
|
|
7039
|
-
textTertiary: "var(--color-text-tertiary)",
|
|
7211
|
+
var COLORS = {
|
|
7040
7212
|
statusSuccess: "#14B8A6",
|
|
7041
7213
|
brandPrimary: "#FF7900",
|
|
7042
7214
|
borderDefault: "#1F1F1F",
|
|
7043
7215
|
brandPrimarySubtle: "rgba(255,121,0,0.06)"
|
|
7044
7216
|
};
|
|
7045
7217
|
var statusBorderColors = {
|
|
7046
|
-
completed:
|
|
7047
|
-
today:
|
|
7048
|
-
upcoming:
|
|
7218
|
+
completed: COLORS.statusSuccess,
|
|
7219
|
+
today: COLORS.brandPrimary,
|
|
7220
|
+
upcoming: COLORS.borderDefault
|
|
7049
7221
|
};
|
|
7050
7222
|
var volumeStatusMap = {
|
|
7051
7223
|
under: "behind",
|
|
@@ -7082,11 +7254,11 @@ function WorkoutCard({
|
|
|
7082
7254
|
/* @__PURE__ */ jsx(
|
|
7083
7255
|
Text,
|
|
7084
7256
|
{
|
|
7257
|
+
className: "text-text-primary",
|
|
7085
7258
|
style: {
|
|
7086
7259
|
fontSize: 15,
|
|
7087
7260
|
fontFamily: '"Space Grotesk", sans-serif',
|
|
7088
|
-
fontWeight: "700"
|
|
7089
|
-
color: COLORS2.textPrimary
|
|
7261
|
+
fontWeight: "700"
|
|
7090
7262
|
},
|
|
7091
7263
|
testID: "workout-card-name",
|
|
7092
7264
|
children: name
|
|
@@ -7096,10 +7268,10 @@ function WorkoutCard({
|
|
|
7096
7268
|
/* @__PURE__ */ jsx(
|
|
7097
7269
|
Text,
|
|
7098
7270
|
{
|
|
7271
|
+
className: "text-text-tertiary",
|
|
7099
7272
|
style: {
|
|
7100
7273
|
fontSize: 11,
|
|
7101
|
-
fontFamily: "Inter, sans-serif"
|
|
7102
|
-
color: COLORS2.textTertiary
|
|
7274
|
+
fontFamily: "Inter, sans-serif"
|
|
7103
7275
|
},
|
|
7104
7276
|
testID: "workout-card-date",
|
|
7105
7277
|
children: date
|
|
@@ -7109,11 +7281,11 @@ function WorkoutCard({
|
|
|
7109
7281
|
/* @__PURE__ */ jsx(
|
|
7110
7282
|
Text,
|
|
7111
7283
|
{
|
|
7284
|
+
className: "text-text-secondary",
|
|
7112
7285
|
style: {
|
|
7113
7286
|
marginTop: 4,
|
|
7114
7287
|
fontSize: 12,
|
|
7115
|
-
fontFamily: "Inter, sans-serif"
|
|
7116
|
-
color: COLORS2.textSecondary
|
|
7288
|
+
fontFamily: "Inter, sans-serif"
|
|
7117
7289
|
},
|
|
7118
7290
|
testID: "workout-card-stats",
|
|
7119
7291
|
children: formatStats(totalSets, totalVolume, unit, duration)
|
|
@@ -7144,7 +7316,7 @@ function WorkoutCard({
|
|
|
7144
7316
|
variant: "accent",
|
|
7145
7317
|
elevation: 1,
|
|
7146
7318
|
accentColor: statusBorderColors[status],
|
|
7147
|
-
bgColor: isToday ?
|
|
7319
|
+
bgColor: isToday ? COLORS.brandPrimarySubtle : void 0,
|
|
7148
7320
|
className,
|
|
7149
7321
|
style: isUpcoming ? { opacity: 0.6 } : void 0,
|
|
7150
7322
|
testID: "workout-card",
|
|
@@ -7184,8 +7356,6 @@ var BRAND_PRIMARY5 = "#FF7900";
|
|
|
7184
7356
|
var BRAND_PRIMARY_DARK = "#C45E00";
|
|
7185
7357
|
var BRAND_PRIMARY_LIGHT = "#FFB066";
|
|
7186
7358
|
var BORDER_DEFAULT = "#1F1F1F";
|
|
7187
|
-
var TEXT_PRIMARY2 = "var(--color-text-primary)";
|
|
7188
|
-
var TEXT_SECONDARY = "var(--color-text-secondary)";
|
|
7189
7359
|
var ACCENT_STOPS = [BRAND_PRIMARY_DARK, BRAND_PRIMARY5, BRAND_PRIMARY_LIGHT];
|
|
7190
7360
|
function heatmapColor(percentage) {
|
|
7191
7361
|
const clamped = Math.max(0, Math.min(100, percentage));
|
|
@@ -7228,11 +7398,11 @@ function MesoCard({
|
|
|
7228
7398
|
/* @__PURE__ */ jsx(
|
|
7229
7399
|
Text,
|
|
7230
7400
|
{
|
|
7401
|
+
className: "text-text-primary",
|
|
7231
7402
|
style: {
|
|
7232
7403
|
fontSize: 15,
|
|
7233
7404
|
fontFamily: '"Space Grotesk", sans-serif',
|
|
7234
|
-
fontWeight: "700"
|
|
7235
|
-
color: TEXT_PRIMARY2
|
|
7405
|
+
fontWeight: "700"
|
|
7236
7406
|
},
|
|
7237
7407
|
testID: "meso-card-name",
|
|
7238
7408
|
children: name
|
|
@@ -7243,11 +7413,11 @@ function MesoCard({
|
|
|
7243
7413
|
/* @__PURE__ */ jsx(
|
|
7244
7414
|
Text,
|
|
7245
7415
|
{
|
|
7416
|
+
className: "text-text-secondary",
|
|
7246
7417
|
style: {
|
|
7247
7418
|
marginTop: 4,
|
|
7248
7419
|
fontSize: 12,
|
|
7249
|
-
fontFamily: "Inter, sans-serif"
|
|
7250
|
-
color: TEXT_SECONDARY
|
|
7420
|
+
fontFamily: "Inter, sans-serif"
|
|
7251
7421
|
},
|
|
7252
7422
|
testID: "meso-card-subheader",
|
|
7253
7423
|
children: `${split} \xB7 ${weekRange}`
|
|
@@ -7341,11 +7511,7 @@ function MesoCard({
|
|
|
7341
7511
|
var BRAND_PRIMARY6 = "#FF7900";
|
|
7342
7512
|
var RECENT_BORDER = "rgba(255,176,32,0.3)";
|
|
7343
7513
|
var RECENT_GLOW = "0 0 12px rgba(255,176,32,0.06)";
|
|
7344
|
-
var
|
|
7345
|
-
var BORDER_DEFAULT2 = "var(--color-border-default)";
|
|
7346
|
-
var TEXT_PRIMARY3 = "var(--color-text-primary)";
|
|
7347
|
-
var TEXT_SECONDARY2 = "var(--color-text-secondary)";
|
|
7348
|
-
var TEXT_TERTIARY3 = "var(--color-text-tertiary)";
|
|
7514
|
+
var BORDER_DEFAULT2 = resolveColor("border-default");
|
|
7349
7515
|
var TYPE_LABELS = {
|
|
7350
7516
|
e1rm: "e1RM",
|
|
7351
7517
|
weight: "Weight",
|
|
@@ -7371,14 +7537,13 @@ function PrRecordRow({ record, index }) {
|
|
|
7371
7537
|
{
|
|
7372
7538
|
accessibilityRole: "text",
|
|
7373
7539
|
accessibilityLabel: a11yLabel,
|
|
7374
|
-
className: "flex-row items-center",
|
|
7540
|
+
className: "flex-row items-center bg-surface-raised",
|
|
7375
7541
|
style: {
|
|
7376
7542
|
gap: 10,
|
|
7377
7543
|
paddingVertical: 10,
|
|
7378
7544
|
paddingHorizontal: 12,
|
|
7379
7545
|
marginBottom: 8,
|
|
7380
7546
|
borderRadius: 8,
|
|
7381
|
-
backgroundColor: SURFACE_RAISED,
|
|
7382
7547
|
borderWidth: 1,
|
|
7383
7548
|
borderColor: record.isRecent ? RECENT_BORDER : BORDER_DEFAULT2,
|
|
7384
7549
|
...record.isRecent ? { boxShadow: RECENT_GLOW } : {}
|
|
@@ -7389,12 +7554,12 @@ function PrRecordRow({ record, index }) {
|
|
|
7389
7554
|
/* @__PURE__ */ jsx(
|
|
7390
7555
|
Text,
|
|
7391
7556
|
{
|
|
7557
|
+
className: "text-text-secondary",
|
|
7392
7558
|
style: {
|
|
7393
7559
|
flex: 1,
|
|
7394
7560
|
fontSize: 13,
|
|
7395
7561
|
fontFamily: "Inter, sans-serif",
|
|
7396
|
-
fontWeight: "600"
|
|
7397
|
-
color: TEXT_SECONDARY2
|
|
7562
|
+
fontWeight: "600"
|
|
7398
7563
|
},
|
|
7399
7564
|
testID: `pr-history-modal-record-${index}-type`,
|
|
7400
7565
|
children: label
|
|
@@ -7403,11 +7568,11 @@ function PrRecordRow({ record, index }) {
|
|
|
7403
7568
|
/* @__PURE__ */ jsx(
|
|
7404
7569
|
Text,
|
|
7405
7570
|
{
|
|
7571
|
+
className: "text-text-primary",
|
|
7406
7572
|
style: {
|
|
7407
7573
|
fontSize: 14,
|
|
7408
7574
|
fontFamily: '"Space Grotesk", sans-serif',
|
|
7409
|
-
fontWeight: "700"
|
|
7410
|
-
color: TEXT_PRIMARY3
|
|
7575
|
+
fontWeight: "700"
|
|
7411
7576
|
},
|
|
7412
7577
|
testID: `pr-history-modal-record-${index}-value`,
|
|
7413
7578
|
children: valueText
|
|
@@ -7416,12 +7581,12 @@ function PrRecordRow({ record, index }) {
|
|
|
7416
7581
|
/* @__PURE__ */ jsx(
|
|
7417
7582
|
Text,
|
|
7418
7583
|
{
|
|
7584
|
+
className: "text-text-tertiary",
|
|
7419
7585
|
style: {
|
|
7420
7586
|
minWidth: 64,
|
|
7421
7587
|
textAlign: "right",
|
|
7422
7588
|
fontSize: 11,
|
|
7423
|
-
fontFamily: "Inter, sans-serif"
|
|
7424
|
-
color: TEXT_TERTIARY3
|
|
7589
|
+
fontFamily: "Inter, sans-serif"
|
|
7425
7590
|
},
|
|
7426
7591
|
testID: `pr-history-modal-record-${index}-date`,
|
|
7427
7592
|
children: record.date
|
|
@@ -7459,13 +7624,13 @@ function PrHistoryModal({
|
|
|
7459
7624
|
View,
|
|
7460
7625
|
{
|
|
7461
7626
|
accessibilityElementsHidden: true,
|
|
7627
|
+
className: "bg-border",
|
|
7462
7628
|
style: {
|
|
7463
7629
|
alignSelf: "center",
|
|
7464
7630
|
width: 40,
|
|
7465
7631
|
height: 4,
|
|
7466
7632
|
borderRadius: 2,
|
|
7467
|
-
marginTop: 8
|
|
7468
|
-
backgroundColor: BORDER_DEFAULT2
|
|
7633
|
+
marginTop: 8
|
|
7469
7634
|
},
|
|
7470
7635
|
testID: "pr-history-modal-handle"
|
|
7471
7636
|
}
|
|
@@ -7481,11 +7646,11 @@ function PrHistoryModal({
|
|
|
7481
7646
|
Text,
|
|
7482
7647
|
{
|
|
7483
7648
|
accessibilityRole: "header",
|
|
7649
|
+
className: "text-text-primary",
|
|
7484
7650
|
style: {
|
|
7485
7651
|
fontSize: 16,
|
|
7486
7652
|
fontFamily: '"Space Grotesk", sans-serif',
|
|
7487
|
-
fontWeight: "700"
|
|
7488
|
-
color: TEXT_PRIMARY3
|
|
7653
|
+
fontWeight: "700"
|
|
7489
7654
|
},
|
|
7490
7655
|
testID: "pr-history-modal-title",
|
|
7491
7656
|
children: dialogLabel
|
|
@@ -7500,7 +7665,7 @@ function PrHistoryModal({
|
|
|
7500
7665
|
hitSlop: 8,
|
|
7501
7666
|
style: { padding: 4, margin: -4 },
|
|
7502
7667
|
testID: "pr-history-modal-close",
|
|
7503
|
-
children: /* @__PURE__ */ jsx(Text, { style: { fontSize: 22, lineHeight: 22
|
|
7668
|
+
children: /* @__PURE__ */ jsx(Text, { className: "text-text-secondary", style: { fontSize: 22, lineHeight: 22 }, children: "\xD7" })
|
|
7504
7669
|
}
|
|
7505
7670
|
)
|
|
7506
7671
|
]
|
|
@@ -7509,11 +7674,11 @@ function PrHistoryModal({
|
|
|
7509
7674
|
/* @__PURE__ */ jsx(DrawerBody, { className: "px-4 pt-0 pb-4", children: records.length === 0 ? /* @__PURE__ */ jsx(View, { style: { paddingVertical: 24 }, testID: "pr-history-modal-empty", children: /* @__PURE__ */ jsx(
|
|
7510
7675
|
Text,
|
|
7511
7676
|
{
|
|
7677
|
+
className: "text-text-tertiary",
|
|
7512
7678
|
style: {
|
|
7513
7679
|
textAlign: "center",
|
|
7514
7680
|
fontSize: 13,
|
|
7515
|
-
fontFamily: "Inter, sans-serif"
|
|
7516
|
-
color: TEXT_TERTIARY3
|
|
7681
|
+
fontFamily: "Inter, sans-serif"
|
|
7517
7682
|
},
|
|
7518
7683
|
children: "No personal records yet"
|
|
7519
7684
|
}
|
|
@@ -7534,8 +7699,6 @@ var BRAND_PRIMARY_SUBTLE = "rgba(255,121,0,0.12)";
|
|
|
7534
7699
|
var STATUS_SUCCESS = "#14B8A6";
|
|
7535
7700
|
var STATUS_WARNING = "#FFB020";
|
|
7536
7701
|
var STATUS_ERROR = "#D14343";
|
|
7537
|
-
var TEXT_PRIMARY4 = "var(--color-text-primary)";
|
|
7538
|
-
var TEXT_SECONDARY3 = "var(--color-text-secondary)";
|
|
7539
7702
|
var EMOJI_SETS = {
|
|
7540
7703
|
sleep: ["\u{1F634}", "\u{1F610}", "\u{1F642}", "\u{1F60A}", "\u{1F929}"],
|
|
7541
7704
|
soreness: ["\u{1F635}", "\u{1F623}", "\u{1F610}", "\u{1F642}", "\u{1F4AA}"],
|
|
@@ -7567,7 +7730,8 @@ function EmojiSlider({ factor }) {
|
|
|
7567
7730
|
/* @__PURE__ */ jsx(
|
|
7568
7731
|
Text,
|
|
7569
7732
|
{
|
|
7570
|
-
|
|
7733
|
+
className: "text-text-secondary",
|
|
7734
|
+
style: { fontSize: 12, fontWeight: "500", fontFamily: "Inter, sans-serif" },
|
|
7571
7735
|
testID: "readiness-check-factor-label",
|
|
7572
7736
|
children: factor.label
|
|
7573
7737
|
}
|
|
@@ -7591,14 +7755,15 @@ function EmojiSlider({ factor }) {
|
|
|
7591
7755
|
accessibilityLabel: `${factor.label} level ${level} of 5`,
|
|
7592
7756
|
"aria-checked": selected,
|
|
7593
7757
|
testID: "readiness-check-emoji",
|
|
7758
|
+
className: selected ? void 0 : "border-border bg-surface-raised",
|
|
7594
7759
|
style: ({ pressed }) => ({
|
|
7595
7760
|
flex: 1,
|
|
7596
7761
|
alignItems: "center",
|
|
7597
7762
|
paddingVertical: 8,
|
|
7598
7763
|
borderRadius: 8,
|
|
7599
7764
|
borderWidth: 1,
|
|
7600
|
-
borderColor: selected ? BRAND_PRIMARY7 :
|
|
7601
|
-
backgroundColor: selected ? BRAND_PRIMARY_SUBTLE :
|
|
7765
|
+
borderColor: selected ? BRAND_PRIMARY7 : void 0,
|
|
7766
|
+
backgroundColor: selected ? BRAND_PRIMARY_SUBTLE : void 0,
|
|
7602
7767
|
opacity: selected ? 1 : pressed ? 0.8 : 0.55,
|
|
7603
7768
|
transform: [{ scale: selected ? 1.06 : 1 }]
|
|
7604
7769
|
}),
|
|
@@ -7619,13 +7784,13 @@ function ScoreGauge({ score }) {
|
|
|
7619
7784
|
accessibilityRole: "image",
|
|
7620
7785
|
accessibilityLabel: `Readiness score: ${score} out of 100`,
|
|
7621
7786
|
testID: "readiness-check-score",
|
|
7787
|
+
className: "bg-surface-raised",
|
|
7622
7788
|
style: {
|
|
7623
7789
|
width: 60,
|
|
7624
7790
|
height: 60,
|
|
7625
7791
|
borderRadius: 30,
|
|
7626
7792
|
borderWidth: 4,
|
|
7627
7793
|
borderColor: color,
|
|
7628
|
-
backgroundColor: "var(--color-surface-raised)",
|
|
7629
7794
|
alignItems: "center",
|
|
7630
7795
|
justifyContent: "center"
|
|
7631
7796
|
},
|
|
@@ -7645,13 +7810,12 @@ function WarmUpCard({ validation }) {
|
|
|
7645
7810
|
return /* @__PURE__ */ jsxs(
|
|
7646
7811
|
View,
|
|
7647
7812
|
{
|
|
7813
|
+
className: "border-border bg-surface-raised",
|
|
7648
7814
|
style: {
|
|
7649
7815
|
marginTop: 16,
|
|
7650
7816
|
padding: 12,
|
|
7651
7817
|
borderRadius: 8,
|
|
7652
|
-
borderWidth: 1
|
|
7653
|
-
borderColor: "var(--color-border-default)",
|
|
7654
|
-
backgroundColor: "var(--color-surface-raised)"
|
|
7818
|
+
borderWidth: 1
|
|
7655
7819
|
},
|
|
7656
7820
|
testID: "readiness-check-warmup",
|
|
7657
7821
|
children: [
|
|
@@ -7659,7 +7823,8 @@ function WarmUpCard({ validation }) {
|
|
|
7659
7823
|
/* @__PURE__ */ jsx(
|
|
7660
7824
|
Text,
|
|
7661
7825
|
{
|
|
7662
|
-
|
|
7826
|
+
className: "text-text-secondary",
|
|
7827
|
+
style: { fontSize: 12, fontWeight: "600", fontFamily: "Inter, sans-serif" },
|
|
7663
7828
|
testID: "readiness-check-warmup-deficit",
|
|
7664
7829
|
children: velocityDeficitText(validation.velocityDeficit)
|
|
7665
7830
|
}
|
|
@@ -7669,7 +7834,8 @@ function WarmUpCard({ validation }) {
|
|
|
7669
7834
|
/* @__PURE__ */ jsx(
|
|
7670
7835
|
Text,
|
|
7671
7836
|
{
|
|
7672
|
-
|
|
7837
|
+
className: "text-text-primary",
|
|
7838
|
+
style: { marginTop: 6, fontSize: 13, fontFamily: "Inter, sans-serif" },
|
|
7673
7839
|
testID: "readiness-check-warmup-recommendation",
|
|
7674
7840
|
children: validation.recommendation
|
|
7675
7841
|
}
|
|
@@ -7691,7 +7857,8 @@ function ReadinessCheck({
|
|
|
7691
7857
|
/* @__PURE__ */ jsx(
|
|
7692
7858
|
Text,
|
|
7693
7859
|
{
|
|
7694
|
-
|
|
7860
|
+
className: "text-text-primary",
|
|
7861
|
+
style: { fontSize: 18, fontWeight: "700", fontFamily: '"Space Grotesk", sans-serif' },
|
|
7695
7862
|
testID: "readiness-check-title",
|
|
7696
7863
|
children: "How are you feeling?"
|
|
7697
7864
|
}
|
|
@@ -7722,15 +7889,11 @@ function ReadinessCheck({
|
|
|
7722
7889
|
] }) });
|
|
7723
7890
|
}
|
|
7724
7891
|
var BRAND_PRIMARY8 = "#FF7900";
|
|
7725
|
-
var
|
|
7726
|
-
var TEXT_SECONDARY4 = "var(--color-text-secondary)";
|
|
7727
|
-
var TEXT_TERTIARY4 = "var(--color-text-tertiary)";
|
|
7728
|
-
var BORDER_STRONG = "var(--color-border-strong)";
|
|
7892
|
+
var PROJECTION_LINE_COLOR = resolveColor("text-tertiary");
|
|
7729
7893
|
var STATUS_SUCCESS2 = "#14B8A6";
|
|
7730
7894
|
var STATUS_ERROR2 = "#D14343";
|
|
7731
7895
|
var STATUS_WARNING2 = "#FFB020";
|
|
7732
7896
|
var GRID_LINE = "rgba(255,255,255,0.06)";
|
|
7733
|
-
var TOOLTIP_BG = "var(--color-surface-elevated)";
|
|
7734
7897
|
var SUCCESS_PILL_BG = "rgba(20,184,166,0.10)";
|
|
7735
7898
|
var SUCCESS_PILL_BORDER = "rgba(20,184,166,0.20)";
|
|
7736
7899
|
var ERROR_PILL_BG = "rgba(209,67,67,0.10)";
|
|
@@ -7738,8 +7901,8 @@ var ERROR_PILL_BORDER = "rgba(209,67,67,0.20)";
|
|
|
7738
7901
|
var PLOT_LEFT = 26;
|
|
7739
7902
|
var TOOLTIP_WIDTH = 124;
|
|
7740
7903
|
function timeOf(dateStr) {
|
|
7741
|
-
const
|
|
7742
|
-
return Number.isNaN(
|
|
7904
|
+
const t2 = Date.parse(dateStr);
|
|
7905
|
+
return Number.isNaN(t2) ? 0 : t2;
|
|
7743
7906
|
}
|
|
7744
7907
|
function formatValue(value) {
|
|
7745
7908
|
return `${Math.round(value)}`;
|
|
@@ -7911,7 +8074,7 @@ function StrengthTrendChart({
|
|
|
7911
8074
|
alignItems: "center",
|
|
7912
8075
|
justifyContent: "center"
|
|
7913
8076
|
},
|
|
7914
|
-
children: /* @__PURE__ */ jsx(Text, { style: { fontSize: 12, fontFamily: "Inter, sans-serif"
|
|
8077
|
+
children: /* @__PURE__ */ jsx(Text, { className: "text-text-tertiary", style: { fontSize: 12, fontFamily: "Inter, sans-serif" }, children: "No strength data yet" })
|
|
7915
8078
|
}
|
|
7916
8079
|
)
|
|
7917
8080
|
}
|
|
@@ -7955,6 +8118,7 @@ function StrengthTrendChart({
|
|
|
7955
8118
|
children: /* @__PURE__ */ jsx(
|
|
7956
8119
|
Text,
|
|
7957
8120
|
{
|
|
8121
|
+
className: "text-text-tertiary",
|
|
7958
8122
|
style: {
|
|
7959
8123
|
position: "absolute",
|
|
7960
8124
|
left: -PLOT_LEFT,
|
|
@@ -7962,8 +8126,7 @@ function StrengthTrendChart({
|
|
|
7962
8126
|
width: PLOT_LEFT - 4,
|
|
7963
8127
|
textAlign: "right",
|
|
7964
8128
|
fontSize: 9,
|
|
7965
|
-
fontFamily: "Inter, sans-serif"
|
|
7966
|
-
color: TEXT_TERTIARY4
|
|
8129
|
+
fontFamily: "Inter, sans-serif"
|
|
7967
8130
|
},
|
|
7968
8131
|
children: line.label
|
|
7969
8132
|
}
|
|
@@ -8006,7 +8169,7 @@ function StrengthTrendChart({
|
|
|
8006
8169
|
ChartLine,
|
|
8007
8170
|
{
|
|
8008
8171
|
coords: geometry.projection,
|
|
8009
|
-
color:
|
|
8172
|
+
color: PROJECTION_LINE_COLOR,
|
|
8010
8173
|
strokeWidth: 2,
|
|
8011
8174
|
dashed: true,
|
|
8012
8175
|
testID: "strength-trend-chart-projection-segment"
|
|
@@ -8082,6 +8245,7 @@ function StrengthTrendChart({
|
|
|
8082
8245
|
{
|
|
8083
8246
|
testID: "strength-trend-chart-tooltip",
|
|
8084
8247
|
accessibilityElementsHidden: true,
|
|
8248
|
+
className: "bg-surface-elevated border-border-strong",
|
|
8085
8249
|
style: {
|
|
8086
8250
|
position: "absolute",
|
|
8087
8251
|
left: Math.max(
|
|
@@ -8090,9 +8254,7 @@ function StrengthTrendChart({
|
|
|
8090
8254
|
),
|
|
8091
8255
|
top: Math.max(0, selectedCoord.y - 52),
|
|
8092
8256
|
maxWidth: TOOLTIP_WIDTH,
|
|
8093
|
-
backgroundColor: TOOLTIP_BG,
|
|
8094
8257
|
borderWidth: 1,
|
|
8095
|
-
borderColor: BORDER_STRONG,
|
|
8096
8258
|
borderRadius: 8,
|
|
8097
8259
|
paddingVertical: 8,
|
|
8098
8260
|
paddingHorizontal: 10
|
|
@@ -8101,10 +8263,10 @@ function StrengthTrendChart({
|
|
|
8101
8263
|
/* @__PURE__ */ jsx(
|
|
8102
8264
|
Text,
|
|
8103
8265
|
{
|
|
8266
|
+
className: "text-text-tertiary",
|
|
8104
8267
|
style: {
|
|
8105
8268
|
fontSize: 10,
|
|
8106
|
-
fontFamily: "Inter, sans-serif"
|
|
8107
|
-
color: TEXT_TERTIARY4
|
|
8269
|
+
fontFamily: "Inter, sans-serif"
|
|
8108
8270
|
},
|
|
8109
8271
|
children: selectedCoord.point.sessionLabel ?? selectedCoord.point.date
|
|
8110
8272
|
}
|
|
@@ -8112,12 +8274,12 @@ function StrengthTrendChart({
|
|
|
8112
8274
|
/* @__PURE__ */ jsx(
|
|
8113
8275
|
Text,
|
|
8114
8276
|
{
|
|
8277
|
+
className: "text-text-primary",
|
|
8115
8278
|
style: {
|
|
8116
8279
|
marginTop: 2,
|
|
8117
8280
|
fontSize: 13,
|
|
8118
8281
|
fontFamily: "Inter, sans-serif",
|
|
8119
|
-
fontWeight: "700"
|
|
8120
|
-
color: TEXT_PRIMARY5
|
|
8282
|
+
fontWeight: "700"
|
|
8121
8283
|
},
|
|
8122
8284
|
children: `${formatValue(selectedCoord.point.e1rm)} ${unit}`
|
|
8123
8285
|
}
|
|
@@ -8150,14 +8312,14 @@ function StrengthTrendChart({
|
|
|
8150
8312
|
Text,
|
|
8151
8313
|
{
|
|
8152
8314
|
testID: "strength-trend-chart-axis-label",
|
|
8315
|
+
className: "text-text-tertiary",
|
|
8153
8316
|
style: {
|
|
8154
8317
|
position: "absolute",
|
|
8155
8318
|
left: boundary.x - 24,
|
|
8156
8319
|
width: 48,
|
|
8157
8320
|
textAlign: "center",
|
|
8158
8321
|
fontSize: 10,
|
|
8159
|
-
fontFamily: "Inter, sans-serif"
|
|
8160
|
-
color: TEXT_TERTIARY4
|
|
8322
|
+
fontFamily: "Inter, sans-serif"
|
|
8161
8323
|
},
|
|
8162
8324
|
children: boundary.label
|
|
8163
8325
|
},
|
|
@@ -8201,7 +8363,7 @@ function StrengthTrendChart({
|
|
|
8201
8363
|
children: [
|
|
8202
8364
|
/* @__PURE__ */ jsxs(View, { className: "flex-row items-center", style: { gap: 5 }, children: [
|
|
8203
8365
|
/* @__PURE__ */ jsx(View, { style: { width: 14, height: 2.5, borderRadius: 1.5, backgroundColor: BRAND_PRIMARY8 } }),
|
|
8204
|
-
/* @__PURE__ */ jsx(Text, { style: { fontSize: 10, fontFamily: "Inter, sans-serif"
|
|
8366
|
+
/* @__PURE__ */ jsx(Text, { className: "text-text-secondary", style: { fontSize: 10, fontFamily: "Inter, sans-serif" }, children: "Actual" })
|
|
8205
8367
|
] }),
|
|
8206
8368
|
/* @__PURE__ */ jsxs(View, { className: "flex-row items-center", style: { gap: 5 }, children: [
|
|
8207
8369
|
/* @__PURE__ */ jsx(
|
|
@@ -8212,15 +8374,15 @@ function StrengthTrendChart({
|
|
|
8212
8374
|
height: 0,
|
|
8213
8375
|
borderTopWidth: 2,
|
|
8214
8376
|
borderStyle: "dashed",
|
|
8215
|
-
borderTopColor:
|
|
8377
|
+
borderTopColor: PROJECTION_LINE_COLOR
|
|
8216
8378
|
}
|
|
8217
8379
|
}
|
|
8218
8380
|
),
|
|
8219
|
-
/* @__PURE__ */ jsx(Text, { style: { fontSize: 10, fontFamily: "Inter, sans-serif"
|
|
8381
|
+
/* @__PURE__ */ jsx(Text, { className: "text-text-secondary", style: { fontSize: 10, fontFamily: "Inter, sans-serif" }, children: "Projected" })
|
|
8220
8382
|
] }),
|
|
8221
8383
|
/* @__PURE__ */ jsxs(View, { className: "flex-row items-center", style: { gap: 5 }, children: [
|
|
8222
8384
|
/* @__PURE__ */ jsx(Text, { style: { fontSize: 12, color: STATUS_WARNING2 }, children: "\u2605" }),
|
|
8223
|
-
/* @__PURE__ */ jsx(Text, { style: { fontSize: 10, fontFamily: "Inter, sans-serif"
|
|
8385
|
+
/* @__PURE__ */ jsx(Text, { className: "text-text-secondary", style: { fontSize: 10, fontFamily: "Inter, sans-serif" }, children: "PR" })
|
|
8224
8386
|
] })
|
|
8225
8387
|
]
|
|
8226
8388
|
}
|
|
@@ -8233,7 +8395,6 @@ var STATUS_SUCCESS3 = "#14B8A6";
|
|
|
8233
8395
|
var STATUS_WARNING3 = "#FFB020";
|
|
8234
8396
|
var STATUS_INFO = "#2196F3";
|
|
8235
8397
|
var DOT_BORDER = "#F3F4F6";
|
|
8236
|
-
var TEXT_TERTIARY5 = "var(--color-text-tertiary)";
|
|
8237
8398
|
var BAND_FILL = "rgba(20,184,166,0.1)";
|
|
8238
8399
|
var BAND_EDGE = "rgba(20,184,166,0.45)";
|
|
8239
8400
|
var PROJECTION_FILL = "rgba(20,184,166,0.05)";
|
|
@@ -8275,8 +8436,8 @@ function interpEdge(pixels, x, key) {
|
|
|
8275
8436
|
const a = pixels[i];
|
|
8276
8437
|
const b = pixels[i + 1];
|
|
8277
8438
|
if (x >= a.x && x <= b.x) {
|
|
8278
|
-
const
|
|
8279
|
-
return a[key] +
|
|
8439
|
+
const t2 = b.x === a.x ? 0 : (x - a.x) / (b.x - a.x);
|
|
8440
|
+
return a[key] + t2 * (b[key] - a[key]);
|
|
8280
8441
|
}
|
|
8281
8442
|
}
|
|
8282
8443
|
return pixels[pixels.length - 1][key];
|
|
@@ -8514,6 +8675,7 @@ function CapacityBandChart({
|
|
|
8514
8675
|
/* @__PURE__ */ jsx(
|
|
8515
8676
|
Text,
|
|
8516
8677
|
{
|
|
8678
|
+
className: "text-text-tertiary",
|
|
8517
8679
|
style: {
|
|
8518
8680
|
position: "absolute",
|
|
8519
8681
|
left: PADDING_LEFT / 2 - 14,
|
|
@@ -8522,7 +8684,6 @@ function CapacityBandChart({
|
|
|
8522
8684
|
textAlign: "center",
|
|
8523
8685
|
fontSize: 9,
|
|
8524
8686
|
fontFamily: "Inter, sans-serif",
|
|
8525
|
-
color: TEXT_TERTIARY5,
|
|
8526
8687
|
transform: [{ rotate: "-90deg" }]
|
|
8527
8688
|
},
|
|
8528
8689
|
accessibilityElementsHidden: true,
|
|
@@ -8536,6 +8697,7 @@ function CapacityBandChart({
|
|
|
8536
8697
|
return /* @__PURE__ */ jsx(
|
|
8537
8698
|
Text,
|
|
8538
8699
|
{
|
|
8700
|
+
className: "text-text-tertiary",
|
|
8539
8701
|
style: {
|
|
8540
8702
|
position: "absolute",
|
|
8541
8703
|
left: toX(point.date) - 14,
|
|
@@ -8543,8 +8705,7 @@ function CapacityBandChart({
|
|
|
8543
8705
|
width: 28,
|
|
8544
8706
|
textAlign: "center",
|
|
8545
8707
|
fontSize: 10,
|
|
8546
|
-
fontFamily: "Inter, sans-serif"
|
|
8547
|
-
color: TEXT_TERTIARY5
|
|
8708
|
+
fontFamily: "Inter, sans-serif"
|
|
8548
8709
|
},
|
|
8549
8710
|
accessibilityElementsHidden: true,
|
|
8550
8711
|
importantForAccessibility: "no-hide-descendants",
|
|
@@ -8606,12 +8767,7 @@ function CapacityBandChart({
|
|
|
8606
8767
|
}
|
|
8607
8768
|
);
|
|
8608
8769
|
}
|
|
8609
|
-
var SURFACE_ELEVATED = "var(--color-surface-elevated)";
|
|
8610
|
-
var BORDER_DEFAULT3 = "var(--color-border-default)";
|
|
8611
8770
|
var BRAND_PRIMARY9 = "#FF7900";
|
|
8612
|
-
var TEXT_PRIMARY6 = "var(--color-text-primary)";
|
|
8613
|
-
var TEXT_TERTIARY6 = "var(--color-text-tertiary)";
|
|
8614
|
-
var PAGE_BG = "var(--color-background-base)";
|
|
8615
8771
|
var WORKOUT_PILL_STATUS = {
|
|
8616
8772
|
completed: "completed",
|
|
8617
8773
|
today: "current",
|
|
@@ -8663,7 +8819,7 @@ function Breadcrumbs2({ crumbs, onNavigate }) {
|
|
|
8663
8819
|
children: crumbs.map((crumb, index) => {
|
|
8664
8820
|
const isLast = index === crumbs.length - 1;
|
|
8665
8821
|
return /* @__PURE__ */ jsxs(View, { className: "flex-row items-center", style: { gap: 4 }, children: [
|
|
8666
|
-
index > 0 && /* @__PURE__ */ jsx(Text, { style: { fontSize: 12
|
|
8822
|
+
index > 0 && /* @__PURE__ */ jsx(Text, { className: "text-text-tertiary", style: { fontSize: 12 }, children: "\u203A" }),
|
|
8667
8823
|
/* @__PURE__ */ jsx(
|
|
8668
8824
|
Pressable,
|
|
8669
8825
|
{
|
|
@@ -8674,11 +8830,12 @@ function Breadcrumbs2({ crumbs, onNavigate }) {
|
|
|
8674
8830
|
children: /* @__PURE__ */ jsx(
|
|
8675
8831
|
Text,
|
|
8676
8832
|
{
|
|
8833
|
+
className: isLast ? "text-text-primary" : void 0,
|
|
8677
8834
|
style: {
|
|
8678
8835
|
fontSize: 12,
|
|
8679
8836
|
fontFamily: "Inter, sans-serif",
|
|
8680
8837
|
fontWeight: isLast ? "700" : "500",
|
|
8681
|
-
color: isLast ?
|
|
8838
|
+
color: isLast ? void 0 : BRAND_PRIMARY9
|
|
8682
8839
|
},
|
|
8683
8840
|
children: crumb.label
|
|
8684
8841
|
}
|
|
@@ -8807,8 +8964,8 @@ function ProgramPlanningPage({
|
|
|
8807
8964
|
return /* @__PURE__ */ jsx(
|
|
8808
8965
|
View,
|
|
8809
8966
|
{
|
|
8810
|
-
className,
|
|
8811
|
-
style: { width: 390
|
|
8967
|
+
className: cn(className, "bg-background-base"),
|
|
8968
|
+
style: { width: 390 },
|
|
8812
8969
|
accessibilityRole: "main",
|
|
8813
8970
|
"aria-label": title,
|
|
8814
8971
|
testID: "program-planning-page",
|
|
@@ -8818,11 +8975,11 @@ function ProgramPlanningPage({
|
|
|
8818
8975
|
Text,
|
|
8819
8976
|
{
|
|
8820
8977
|
accessibilityRole: "header",
|
|
8978
|
+
className: "text-text-primary",
|
|
8821
8979
|
style: {
|
|
8822
8980
|
fontSize: 20,
|
|
8823
8981
|
fontFamily: '"Space Grotesk", sans-serif',
|
|
8824
|
-
fontWeight: "700"
|
|
8825
|
-
color: TEXT_PRIMARY6
|
|
8982
|
+
fontWeight: "700"
|
|
8826
8983
|
},
|
|
8827
8984
|
testID: "program-planning-page-title",
|
|
8828
8985
|
children: title
|
|
@@ -8846,10 +9003,9 @@ function ProgramPlanningPage({
|
|
|
8846
9003
|
/* @__PURE__ */ jsxs(
|
|
8847
9004
|
View,
|
|
8848
9005
|
{
|
|
9006
|
+
className: "bg-surface-elevated border-border",
|
|
8849
9007
|
style: {
|
|
8850
|
-
backgroundColor: SURFACE_ELEVATED,
|
|
8851
9008
|
borderWidth: 1,
|
|
8852
|
-
borderColor: BORDER_DEFAULT3,
|
|
8853
9009
|
borderRadius: 12,
|
|
8854
9010
|
padding: 12
|
|
8855
9011
|
},
|
|
@@ -8880,13 +9036,7 @@ function ProgramPlanningPage({
|
|
|
8880
9036
|
}
|
|
8881
9037
|
);
|
|
8882
9038
|
}
|
|
8883
|
-
var SURFACE_ELEVATED2 = "var(--color-surface-elevated)";
|
|
8884
|
-
var BORDER_DEFAULT4 = "var(--color-border-default)";
|
|
8885
9039
|
var BRAND_PRIMARY10 = "#FF7900";
|
|
8886
|
-
var TEXT_PRIMARY7 = "var(--color-text-primary)";
|
|
8887
|
-
var TEXT_SECONDARY5 = "var(--color-text-secondary)";
|
|
8888
|
-
var TEXT_TERTIARY7 = "var(--color-text-tertiary)";
|
|
8889
|
-
var PAGE_BG2 = "var(--color-background-base)";
|
|
8890
9040
|
var CHART_WIDTH = 326;
|
|
8891
9041
|
var CHART_HEIGHT = 150;
|
|
8892
9042
|
var EXERCISE_DETAIL_TABS = [
|
|
@@ -8933,7 +9083,7 @@ function TabBar({ active, onSelect }) {
|
|
|
8933
9083
|
className: "flex-row",
|
|
8934
9084
|
style: {
|
|
8935
9085
|
borderBottomWidth: 1,
|
|
8936
|
-
borderBottomColor:
|
|
9086
|
+
borderBottomColor: resolveColor("border-default")
|
|
8937
9087
|
},
|
|
8938
9088
|
accessibilityRole: "tablist",
|
|
8939
9089
|
testID: "exercise-detail-page-tabs",
|
|
@@ -8956,11 +9106,11 @@ function TabBar({ active, onSelect }) {
|
|
|
8956
9106
|
children: /* @__PURE__ */ jsx(
|
|
8957
9107
|
Text,
|
|
8958
9108
|
{
|
|
9109
|
+
className: isActive ? "text-text-primary" : "text-text-tertiary",
|
|
8959
9110
|
style: {
|
|
8960
9111
|
fontSize: 13,
|
|
8961
9112
|
fontFamily: "Inter, sans-serif",
|
|
8962
|
-
fontWeight: isActive ? "700" : "500"
|
|
8963
|
-
color: isActive ? TEXT_PRIMARY7 : TEXT_TERTIARY7
|
|
9113
|
+
fontWeight: isActive ? "700" : "500"
|
|
8964
9114
|
},
|
|
8965
9115
|
children: label
|
|
8966
9116
|
}
|
|
@@ -8984,24 +9134,23 @@ function StatStrip({ stats, unit }) {
|
|
|
8984
9134
|
return /* @__PURE__ */ jsxs(
|
|
8985
9135
|
View,
|
|
8986
9136
|
{
|
|
9137
|
+
className: "bg-surface-elevated border-border",
|
|
8987
9138
|
style: {
|
|
8988
9139
|
flex: 1,
|
|
8989
9140
|
padding: 12,
|
|
8990
9141
|
borderRadius: 10,
|
|
8991
|
-
|
|
8992
|
-
borderWidth: 1,
|
|
8993
|
-
borderColor: BORDER_DEFAULT4
|
|
9142
|
+
borderWidth: 1
|
|
8994
9143
|
},
|
|
8995
9144
|
testID: `exercise-detail-page-stat-${key}`,
|
|
8996
9145
|
children: [
|
|
8997
9146
|
/* @__PURE__ */ jsx(
|
|
8998
9147
|
Text,
|
|
8999
9148
|
{
|
|
9149
|
+
className: "text-text-primary",
|
|
9000
9150
|
style: {
|
|
9001
9151
|
fontSize: 18,
|
|
9002
9152
|
fontFamily: '"Space Grotesk", sans-serif',
|
|
9003
|
-
fontWeight: "700"
|
|
9004
|
-
color: TEXT_PRIMARY7
|
|
9153
|
+
fontWeight: "700"
|
|
9005
9154
|
},
|
|
9006
9155
|
children: value
|
|
9007
9156
|
}
|
|
@@ -9009,14 +9158,14 @@ function StatStrip({ stats, unit }) {
|
|
|
9009
9158
|
/* @__PURE__ */ jsx(
|
|
9010
9159
|
Text,
|
|
9011
9160
|
{
|
|
9161
|
+
className: "text-text-tertiary",
|
|
9012
9162
|
style: {
|
|
9013
9163
|
marginTop: 2,
|
|
9014
9164
|
fontSize: 10,
|
|
9015
9165
|
fontFamily: "Inter, sans-serif",
|
|
9016
9166
|
fontWeight: "600",
|
|
9017
9167
|
letterSpacing: 0.4,
|
|
9018
|
-
textTransform: "uppercase"
|
|
9019
|
-
color: TEXT_TERTIARY7
|
|
9168
|
+
textTransform: "uppercase"
|
|
9020
9169
|
},
|
|
9021
9170
|
children: label
|
|
9022
9171
|
}
|
|
@@ -9035,10 +9184,9 @@ function SectionCard({
|
|
|
9035
9184
|
return /* @__PURE__ */ jsxs(
|
|
9036
9185
|
View,
|
|
9037
9186
|
{
|
|
9187
|
+
className: "bg-surface-elevated border-border",
|
|
9038
9188
|
style: {
|
|
9039
|
-
backgroundColor: SURFACE_ELEVATED2,
|
|
9040
9189
|
borderWidth: 1,
|
|
9041
|
-
borderColor: BORDER_DEFAULT4,
|
|
9042
9190
|
borderRadius: 12,
|
|
9043
9191
|
padding: 12,
|
|
9044
9192
|
gap: 10
|
|
@@ -9048,13 +9196,13 @@ function SectionCard({
|
|
|
9048
9196
|
/* @__PURE__ */ jsx(
|
|
9049
9197
|
Text,
|
|
9050
9198
|
{
|
|
9199
|
+
className: "text-text-tertiary",
|
|
9051
9200
|
style: {
|
|
9052
9201
|
fontSize: 11,
|
|
9053
9202
|
fontFamily: "Inter, sans-serif",
|
|
9054
9203
|
fontWeight: "600",
|
|
9055
9204
|
letterSpacing: 0.6,
|
|
9056
|
-
textTransform: "uppercase"
|
|
9057
|
-
color: TEXT_TERTIARY7
|
|
9205
|
+
textTransform: "uppercase"
|
|
9058
9206
|
},
|
|
9059
9207
|
children: title
|
|
9060
9208
|
}
|
|
@@ -9069,7 +9217,8 @@ function EntryList({ entries, expandedId, onToggle, emptyLabel, testID }) {
|
|
|
9069
9217
|
return /* @__PURE__ */ jsx(
|
|
9070
9218
|
Text,
|
|
9071
9219
|
{
|
|
9072
|
-
|
|
9220
|
+
className: "text-text-tertiary",
|
|
9221
|
+
style: { fontSize: 12, fontFamily: "Inter, sans-serif" },
|
|
9073
9222
|
testID: `${testID}-empty`,
|
|
9074
9223
|
children: emptyLabel
|
|
9075
9224
|
}
|
|
@@ -9097,12 +9246,12 @@ function VbtBreakdown({ sets }) {
|
|
|
9097
9246
|
/* @__PURE__ */ jsx(
|
|
9098
9247
|
Text,
|
|
9099
9248
|
{
|
|
9249
|
+
className: "text-text-secondary",
|
|
9100
9250
|
style: {
|
|
9101
9251
|
width: 44,
|
|
9102
9252
|
fontSize: 11,
|
|
9103
9253
|
fontFamily: "Inter, sans-serif",
|
|
9104
|
-
fontWeight: "600"
|
|
9105
|
-
color: TEXT_SECONDARY5
|
|
9254
|
+
fontWeight: "600"
|
|
9106
9255
|
},
|
|
9107
9256
|
children: set.label
|
|
9108
9257
|
}
|
|
@@ -9111,11 +9260,11 @@ function VbtBreakdown({ sets }) {
|
|
|
9111
9260
|
/* @__PURE__ */ jsx(
|
|
9112
9261
|
Text,
|
|
9113
9262
|
{
|
|
9263
|
+
className: "text-text-tertiary",
|
|
9114
9264
|
style: {
|
|
9115
9265
|
fontSize: 11,
|
|
9116
9266
|
fontFamily: "Inter, sans-serif",
|
|
9117
|
-
fontVariant: ["tabular-nums"]
|
|
9118
|
-
color: TEXT_TERTIARY7
|
|
9267
|
+
fontVariant: ["tabular-nums"]
|
|
9119
9268
|
},
|
|
9120
9269
|
children: `${mean.toFixed(2)} \xB7 -${loss}%`
|
|
9121
9270
|
}
|
|
@@ -9134,23 +9283,22 @@ function VbtSummaryRow({ summary }) {
|
|
|
9134
9283
|
return /* @__PURE__ */ jsx(View, { className: "flex-row", style: { gap: 8 }, testID: "exercise-detail-page-vbt-summary", children: cells.map((cell) => /* @__PURE__ */ jsxs(
|
|
9135
9284
|
View,
|
|
9136
9285
|
{
|
|
9286
|
+
className: "bg-surface-elevated border-border",
|
|
9137
9287
|
style: {
|
|
9138
9288
|
flex: 1,
|
|
9139
9289
|
padding: 12,
|
|
9140
9290
|
borderRadius: 10,
|
|
9141
|
-
|
|
9142
|
-
borderWidth: 1,
|
|
9143
|
-
borderColor: BORDER_DEFAULT4
|
|
9291
|
+
borderWidth: 1
|
|
9144
9292
|
},
|
|
9145
9293
|
children: [
|
|
9146
9294
|
/* @__PURE__ */ jsx(
|
|
9147
9295
|
Text,
|
|
9148
9296
|
{
|
|
9297
|
+
className: "text-text-primary",
|
|
9149
9298
|
style: {
|
|
9150
9299
|
fontSize: 16,
|
|
9151
9300
|
fontFamily: '"Space Grotesk", sans-serif',
|
|
9152
|
-
fontWeight: "700"
|
|
9153
|
-
color: TEXT_PRIMARY7
|
|
9301
|
+
fontWeight: "700"
|
|
9154
9302
|
},
|
|
9155
9303
|
children: cell.value
|
|
9156
9304
|
}
|
|
@@ -9158,14 +9306,14 @@ function VbtSummaryRow({ summary }) {
|
|
|
9158
9306
|
/* @__PURE__ */ jsx(
|
|
9159
9307
|
Text,
|
|
9160
9308
|
{
|
|
9309
|
+
className: "text-text-tertiary",
|
|
9161
9310
|
style: {
|
|
9162
9311
|
marginTop: 2,
|
|
9163
9312
|
fontSize: 10,
|
|
9164
9313
|
fontFamily: "Inter, sans-serif",
|
|
9165
9314
|
fontWeight: "600",
|
|
9166
9315
|
letterSpacing: 0.4,
|
|
9167
|
-
textTransform: "uppercase"
|
|
9168
|
-
color: TEXT_TERTIARY7
|
|
9316
|
+
textTransform: "uppercase"
|
|
9169
9317
|
},
|
|
9170
9318
|
children: cell.label
|
|
9171
9319
|
}
|
|
@@ -9194,8 +9342,8 @@ function ExerciseDetailPage({
|
|
|
9194
9342
|
return /* @__PURE__ */ jsx(
|
|
9195
9343
|
View,
|
|
9196
9344
|
{
|
|
9197
|
-
className,
|
|
9198
|
-
style: { width: 390
|
|
9345
|
+
className: cn("bg-background-base", className),
|
|
9346
|
+
style: { width: 390 },
|
|
9199
9347
|
accessibilityRole: "main",
|
|
9200
9348
|
"aria-label": exercise.name,
|
|
9201
9349
|
testID: "exercise-detail-page",
|
|
@@ -9213,11 +9361,11 @@ function ExerciseDetailPage({
|
|
|
9213
9361
|
Text,
|
|
9214
9362
|
{
|
|
9215
9363
|
accessibilityRole: "header",
|
|
9364
|
+
className: "text-text-primary",
|
|
9216
9365
|
style: {
|
|
9217
9366
|
fontSize: 20,
|
|
9218
9367
|
fontFamily: '"Space Grotesk", sans-serif',
|
|
9219
|
-
fontWeight: "700"
|
|
9220
|
-
color: TEXT_PRIMARY7
|
|
9368
|
+
fontWeight: "700"
|
|
9221
9369
|
},
|
|
9222
9370
|
testID: "exercise-detail-page-title",
|
|
9223
9371
|
children: exercise.name
|
|
@@ -9226,11 +9374,11 @@ function ExerciseDetailPage({
|
|
|
9226
9374
|
/* @__PURE__ */ jsx(
|
|
9227
9375
|
Text,
|
|
9228
9376
|
{
|
|
9377
|
+
className: "text-text-secondary",
|
|
9229
9378
|
style: {
|
|
9230
9379
|
marginTop: 2,
|
|
9231
9380
|
fontSize: 12,
|
|
9232
|
-
fontFamily: "Inter, sans-serif"
|
|
9233
|
-
color: TEXT_SECONDARY5
|
|
9381
|
+
fontFamily: "Inter, sans-serif"
|
|
9234
9382
|
},
|
|
9235
9383
|
testID: "exercise-detail-page-subtitle",
|
|
9236
9384
|
children: exercise.subtitle
|
|
@@ -9253,13 +9401,13 @@ function ExerciseDetailPage({
|
|
|
9253
9401
|
/* @__PURE__ */ jsx(
|
|
9254
9402
|
Text,
|
|
9255
9403
|
{
|
|
9404
|
+
className: "text-text-tertiary",
|
|
9256
9405
|
style: {
|
|
9257
9406
|
fontSize: 9,
|
|
9258
9407
|
fontFamily: "Inter, sans-serif",
|
|
9259
9408
|
fontWeight: "600",
|
|
9260
9409
|
letterSpacing: 0.4,
|
|
9261
|
-
textTransform: "uppercase"
|
|
9262
|
-
color: TEXT_TERTIARY7
|
|
9410
|
+
textTransform: "uppercase"
|
|
9263
9411
|
},
|
|
9264
9412
|
children: "e1RM"
|
|
9265
9413
|
}
|
|
@@ -9337,13 +9485,7 @@ function ExerciseDetailPage({
|
|
|
9337
9485
|
}
|
|
9338
9486
|
);
|
|
9339
9487
|
}
|
|
9340
|
-
var SURFACE_ELEVATED3 = "var(--color-surface-elevated)";
|
|
9341
|
-
var BORDER_DEFAULT5 = "var(--color-border-default)";
|
|
9342
9488
|
var BRAND_PRIMARY11 = "#FF7900";
|
|
9343
|
-
var TEXT_PRIMARY8 = "var(--color-text-primary)";
|
|
9344
|
-
var TEXT_SECONDARY6 = "var(--color-text-secondary)";
|
|
9345
|
-
var TEXT_TERTIARY8 = "var(--color-text-tertiary)";
|
|
9346
|
-
var PAGE_BG3 = "var(--color-background-base)";
|
|
9347
9489
|
function countCompletedSets(exercise) {
|
|
9348
9490
|
if (exercise.setVelocities != null) return exercise.setVelocities.length;
|
|
9349
9491
|
if (exercise.status === "completed") return exercise.totalPlannedSets;
|
|
@@ -9426,11 +9568,11 @@ function WorkoutHeader({
|
|
|
9426
9568
|
Text,
|
|
9427
9569
|
{
|
|
9428
9570
|
accessibilityRole: "header",
|
|
9571
|
+
className: "text-text-primary",
|
|
9429
9572
|
style: {
|
|
9430
9573
|
fontSize: 20,
|
|
9431
9574
|
fontFamily: '"Space Grotesk", sans-serif',
|
|
9432
|
-
fontWeight: "700"
|
|
9433
|
-
color: TEXT_PRIMARY8
|
|
9575
|
+
fontWeight: "700"
|
|
9434
9576
|
},
|
|
9435
9577
|
testID: "active-workout-page-title",
|
|
9436
9578
|
children: title
|
|
@@ -9439,11 +9581,11 @@ function WorkoutHeader({
|
|
|
9439
9581
|
subtitle != null && /* @__PURE__ */ jsx(
|
|
9440
9582
|
Text,
|
|
9441
9583
|
{
|
|
9584
|
+
className: "text-text-secondary",
|
|
9442
9585
|
style: {
|
|
9443
9586
|
marginTop: 2,
|
|
9444
9587
|
fontSize: 12,
|
|
9445
|
-
fontFamily: "Inter, sans-serif"
|
|
9446
|
-
color: TEXT_SECONDARY6
|
|
9588
|
+
fontFamily: "Inter, sans-serif"
|
|
9447
9589
|
},
|
|
9448
9590
|
testID: "active-workout-page-subtitle",
|
|
9449
9591
|
children: subtitle
|
|
@@ -9467,13 +9609,13 @@ function WorkoutHeader({
|
|
|
9467
9609
|
/* @__PURE__ */ jsx(
|
|
9468
9610
|
Text,
|
|
9469
9611
|
{
|
|
9612
|
+
className: "text-text-tertiary",
|
|
9470
9613
|
style: {
|
|
9471
9614
|
fontSize: 10,
|
|
9472
9615
|
fontFamily: "Inter, sans-serif",
|
|
9473
9616
|
fontWeight: "600",
|
|
9474
9617
|
letterSpacing: 0.4,
|
|
9475
|
-
textTransform: "uppercase"
|
|
9476
|
-
color: TEXT_TERTIARY8
|
|
9618
|
+
textTransform: "uppercase"
|
|
9477
9619
|
},
|
|
9478
9620
|
children: `${progress.completedSets}/${progress.totalSets} sets`
|
|
9479
9621
|
}
|
|
@@ -9483,7 +9625,8 @@ function WorkoutHeader({
|
|
|
9483
9625
|
/* @__PURE__ */ jsx(
|
|
9484
9626
|
View,
|
|
9485
9627
|
{
|
|
9486
|
-
|
|
9628
|
+
className: "bg-border",
|
|
9629
|
+
style: { height: 4, borderRadius: 2 },
|
|
9487
9630
|
testID: "active-workout-page-progress-track",
|
|
9488
9631
|
children: /* @__PURE__ */ jsx(
|
|
9489
9632
|
View,
|
|
@@ -9507,10 +9650,9 @@ function ExerciseList({ groups, focusedId, onToggle }) {
|
|
|
9507
9650
|
return /* @__PURE__ */ jsx(
|
|
9508
9651
|
View,
|
|
9509
9652
|
{
|
|
9653
|
+
className: "bg-surface-elevated border-border",
|
|
9510
9654
|
style: {
|
|
9511
|
-
backgroundColor: SURFACE_ELEVATED3,
|
|
9512
9655
|
borderWidth: 1,
|
|
9513
|
-
borderColor: BORDER_DEFAULT5,
|
|
9514
9656
|
borderRadius: 12
|
|
9515
9657
|
},
|
|
9516
9658
|
children: /* @__PURE__ */ jsx(
|
|
@@ -9576,8 +9718,8 @@ function ActiveWorkoutPage({
|
|
|
9576
9718
|
return /* @__PURE__ */ jsxs(
|
|
9577
9719
|
View,
|
|
9578
9720
|
{
|
|
9579
|
-
className,
|
|
9580
|
-
style: { position: "relative", width: 390
|
|
9721
|
+
className: ["bg-background-base", className].filter(Boolean).join(" "),
|
|
9722
|
+
style: { position: "relative", width: 390 },
|
|
9581
9723
|
accessibilityRole: "main",
|
|
9582
9724
|
"aria-label": title,
|
|
9583
9725
|
testID: "active-workout-page",
|
|
@@ -9590,7 +9732,7 @@ function ActiveWorkoutPage({
|
|
|
9590
9732
|
(showRest || showInput) && /* @__PURE__ */ jsx(
|
|
9591
9733
|
View,
|
|
9592
9734
|
{
|
|
9593
|
-
style: { borderTopWidth: 1, borderTopColor:
|
|
9735
|
+
style: { borderTopWidth: 1, borderTopColor: resolveColor("border-default") },
|
|
9594
9736
|
testID: "active-workout-page-bottom-bar",
|
|
9595
9737
|
children: showRest && rest != null ? /* @__PURE__ */ jsx(
|
|
9596
9738
|
RestTimer,
|
|
@@ -9850,28 +9992,28 @@ function Scatter({
|
|
|
9850
9992
|
testID: "scatter-canvas",
|
|
9851
9993
|
style: { position: "absolute", top: 0, left: 0, width, height, overflow: "hidden" },
|
|
9852
9994
|
children: [
|
|
9853
|
-
ticksOf(yd, TICK_COUNT).map((
|
|
9854
|
-
const y = toY(
|
|
9995
|
+
ticksOf(yd, TICK_COUNT).map((t2, i) => {
|
|
9996
|
+
const y = toY(t2);
|
|
9855
9997
|
return /* @__PURE__ */ jsx(
|
|
9856
9998
|
View,
|
|
9857
9999
|
{
|
|
9858
10000
|
accessibilityElementsHidden: true,
|
|
9859
10001
|
testID: "scatter-gridline-y",
|
|
9860
10002
|
style: { position: "absolute", left: PLOT_LEFT2, width: innerW, top: y, height: 1, backgroundColor: GRID_LINE2 },
|
|
9861
|
-
children: /* @__PURE__ */ jsx(Text, { className: "text-[9px] text-text-tertiary", style: { position: "absolute", left: -PLOT_LEFT2, top: -6, width: PLOT_LEFT2 - 6, textAlign: "right" }, children: formatTick(
|
|
10003
|
+
children: /* @__PURE__ */ jsx(Text, { className: "text-[9px] text-text-tertiary", style: { position: "absolute", left: -PLOT_LEFT2, top: -6, width: PLOT_LEFT2 - 6, textAlign: "right" }, children: formatTick(t2) })
|
|
9862
10004
|
},
|
|
9863
10005
|
`y-${i}`
|
|
9864
10006
|
);
|
|
9865
10007
|
}),
|
|
9866
|
-
ticksOf(xd, TICK_COUNT).map((
|
|
9867
|
-
const x = toX(
|
|
10008
|
+
ticksOf(xd, TICK_COUNT).map((t2, i) => {
|
|
10009
|
+
const x = toX(t2);
|
|
9868
10010
|
return /* @__PURE__ */ jsx(
|
|
9869
10011
|
View,
|
|
9870
10012
|
{
|
|
9871
10013
|
accessibilityElementsHidden: true,
|
|
9872
10014
|
testID: "scatter-gridline-x",
|
|
9873
10015
|
style: { position: "absolute", top: PLOT_TOP, height: innerH, left: x, width: 1, backgroundColor: GRID_LINE2 },
|
|
9874
|
-
children: /* @__PURE__ */ jsx(Text, { className: "text-[9px] text-text-tertiary", style: { position: "absolute", top: innerH + 4, left: -16, width: 32, textAlign: "center" }, children: formatTick(
|
|
10016
|
+
children: /* @__PURE__ */ jsx(Text, { className: "text-[9px] text-text-tertiary", style: { position: "absolute", top: innerH + 4, left: -16, width: 32, textAlign: "center" }, children: formatTick(t2) })
|
|
9875
10017
|
},
|
|
9876
10018
|
`x-${i}`
|
|
9877
10019
|
);
|
|
@@ -10005,23 +10147,23 @@ function Gauge({
|
|
|
10005
10147
|
testID: "gauge",
|
|
10006
10148
|
...props,
|
|
10007
10149
|
children: [
|
|
10008
|
-
ticks.map((
|
|
10150
|
+
ticks.map((t2) => /* @__PURE__ */ jsx(
|
|
10009
10151
|
View,
|
|
10010
10152
|
{
|
|
10011
10153
|
accessibilityElementsHidden: true,
|
|
10012
10154
|
testID: "gauge-segment",
|
|
10013
10155
|
style: {
|
|
10014
10156
|
position: "absolute",
|
|
10015
|
-
left:
|
|
10016
|
-
top:
|
|
10157
|
+
left: t2.left - tickThickness / 2,
|
|
10158
|
+
top: t2.top - tickLength / 2,
|
|
10017
10159
|
width: tickThickness,
|
|
10018
10160
|
height: tickLength,
|
|
10019
10161
|
borderRadius: tickThickness / 2,
|
|
10020
|
-
backgroundColor:
|
|
10021
|
-
transform: [{ rotate:
|
|
10162
|
+
backgroundColor: t2.color,
|
|
10163
|
+
transform: [{ rotate: t2.rotate }]
|
|
10022
10164
|
}
|
|
10023
10165
|
},
|
|
10024
|
-
|
|
10166
|
+
t2.key
|
|
10025
10167
|
)),
|
|
10026
10168
|
/* @__PURE__ */ jsxs(View, { style: { position: "absolute", top: 0, left: 0, width: size, height: size }, className: "items-center justify-center", children: [
|
|
10027
10169
|
/* @__PURE__ */ jsxs(View, { className: "flex-row items-baseline gap-0.5", children: [
|
|
@@ -10035,65 +10177,6 @@ function Gauge({
|
|
|
10035
10177
|
);
|
|
10036
10178
|
}
|
|
10037
10179
|
|
|
10038
|
-
// src/utils/colors.ts
|
|
10039
|
-
function getStatusColor(status) {
|
|
10040
|
-
return `var(--color-status-${status})`;
|
|
10041
|
-
}
|
|
10042
|
-
function getResultColor(result) {
|
|
10043
|
-
return `var(--color-result-${result})`;
|
|
10044
|
-
}
|
|
10045
|
-
function alpha(color, opacity) {
|
|
10046
|
-
const clampedOpacity = Math.max(0, Math.min(1, opacity));
|
|
10047
|
-
if (color.startsWith("#")) {
|
|
10048
|
-
const hex = color.slice(1);
|
|
10049
|
-
let r, g, b;
|
|
10050
|
-
if (hex.length === 3) {
|
|
10051
|
-
r = parseInt(hex[0] + hex[0], 16);
|
|
10052
|
-
g = parseInt(hex[1] + hex[1], 16);
|
|
10053
|
-
b = parseInt(hex[2] + hex[2], 16);
|
|
10054
|
-
} else if (hex.length === 6) {
|
|
10055
|
-
r = parseInt(hex.slice(0, 2), 16);
|
|
10056
|
-
g = parseInt(hex.slice(2, 4), 16);
|
|
10057
|
-
b = parseInt(hex.slice(4, 6), 16);
|
|
10058
|
-
} else {
|
|
10059
|
-
return color;
|
|
10060
|
-
}
|
|
10061
|
-
return `rgba(${r}, ${g}, ${b}, ${clampedOpacity})`;
|
|
10062
|
-
}
|
|
10063
|
-
const rgbMatch = color.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);
|
|
10064
|
-
if (rgbMatch) {
|
|
10065
|
-
const [, r, g, b] = rgbMatch;
|
|
10066
|
-
return `rgba(${r}, ${g}, ${b}, ${clampedOpacity})`;
|
|
10067
|
-
}
|
|
10068
|
-
const rgbaMatch = color.match(/rgba\((\d+),\s*(\d+),\s*(\d+),\s*[\d.]+\)/);
|
|
10069
|
-
if (rgbaMatch) {
|
|
10070
|
-
const [, r, g, b] = rgbaMatch;
|
|
10071
|
-
return `rgba(${r}, ${g}, ${b}, ${clampedOpacity})`;
|
|
10072
|
-
}
|
|
10073
|
-
return color;
|
|
10074
|
-
}
|
|
10075
|
-
function getLuminance(color) {
|
|
10076
|
-
if (!color.startsWith("#")) return "dark";
|
|
10077
|
-
const hex = color.slice(1);
|
|
10078
|
-
let r, g, b;
|
|
10079
|
-
if (hex.length === 3) {
|
|
10080
|
-
r = parseInt(hex[0] + hex[0], 16);
|
|
10081
|
-
g = parseInt(hex[1] + hex[1], 16);
|
|
10082
|
-
b = parseInt(hex[2] + hex[2], 16);
|
|
10083
|
-
} else if (hex.length === 6) {
|
|
10084
|
-
r = parseInt(hex.slice(0, 2), 16);
|
|
10085
|
-
g = parseInt(hex.slice(2, 4), 16);
|
|
10086
|
-
b = parseInt(hex.slice(4, 6), 16);
|
|
10087
|
-
} else {
|
|
10088
|
-
return "dark";
|
|
10089
|
-
}
|
|
10090
|
-
const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
|
|
10091
|
-
return luminance > 0.5 ? "light" : "dark";
|
|
10092
|
-
}
|
|
10093
|
-
function getContrastText(backgroundColor) {
|
|
10094
|
-
return getLuminance(backgroundColor) === "light" ? "#000000" : "#FFFFFF";
|
|
10095
|
-
}
|
|
10096
|
-
|
|
10097
10180
|
// src/utils/form.ts
|
|
10098
10181
|
function getFieldValidationProps(state) {
|
|
10099
10182
|
return {
|
|
@@ -10182,6 +10265,6 @@ function composeValidators(...validators) {
|
|
|
10182
10265
|
};
|
|
10183
10266
|
}
|
|
10184
10267
|
|
|
10185
|
-
export { Accordion, AccordionButton, AccordionItem, AccordionPanel, ActiveWorkoutPage, Alert, AlertDescription, AlertTitle, Autocomplete, Avatar, AvatarBadge, AvatarGroup, BaseBadge, BreadcrumbItem, Breadcrumbs, Button, ButtonIcon, ButtonSpinner, ButtonText, CapacityBandChart, Caption, Checkbox, CheckboxGroup, Chip, CircularProgress, Collapse, CollapseButton, CollapseContent, DataRow, DateTime, DeviationBar, Divider, Drawer, DrawerBody, DrawerFooter, DrawerHeader, EXERCISE_DETAIL_TABS, EmptyState, ExerciseCard, ExerciseDetailPage, FormActions, FormField, FormRow, FormSection, Gauge, HStack, Heading, HelpTip, IconBox, Input, InputBar, InputGroup, IntensityBar, Label, LabelWithHelp, Link, ListItem, ListItemContent, ListItemDivider, ListItemIcon, ListItemTrailing, Menu, MenuDivider, MenuGroup, MenuItem, MenuList, MenuTrigger, MesoCard, MesoProgressBar, Metric, MetricGroup, Modal, ModalBody, ModalCloseButton, ModalContent, ModalFooter, ModalHeader, ModalTitle, MuscleGroupChip, Overline, Paragraph, PasswordInput, Pill, PlaceholderStrip, Popover, PopoverCloseButton, PopoverContent, PopoverTrigger, PrBadge, PrHistoryModal, ProgramPlanningPage, Progress, ProgressSteps, Radio, RadioGroup, ReadinessCheck, RestTimer, Scatter, Section, SectionContent, SectionHeader, Select, SetRow, Sidebar, SidebarContent, SidebarDivider, SidebarFooter, SidebarHeader, SidebarItem, SidebarSection, Skeleton, SkeletonCard, SkeletonCircle, SkeletonListItem, SkeletonText, Spinner, Stack, StepContent, StepIndicator, StepLabel, Stepper, Step as StepperStep, StrengthTrendChart, SupersetWrapper, Surface, Switch, Tab, TabList, TabPanel, TabPanels, Table, TableBody, TableCell, TableHeader, TableHeaderCell, TablePagination, TableRow, Tabs, TempoDisplay, Toast, ToastProvider, ToolbarButton, ToolbarButtonGroup, Tooltip, Treemap, Typography, VStack, VelocityStrip, WeekRow, WeightBadge, WorkoutCard, WorkoutPill, alpha, buildBreadcrumbs, calculateMeanVelocity, calculateVelocityLoss, composeValidators, countCompletedSets, createFieldId, deriveExerciseStats, deriveNavLevel, deriveWorkoutProgress, findActiveExercise, findMeso, findWeek, findWorkout, formatDateTime, formatPrescription, formatSignedPct, formatVelocity, getContrastText, getFieldAriaProps, getFieldValidationProps, getLuminance, getResultColor, getStatusColor, getVelocityZoneColor, getVelocityZoneName, groupExercises, hasMaxLength, hasMinLength, isEmpty, isValidEmail, roundRpe, roundTempo, roundWeight, rpeColor, statusToCardState, summarizeVbt, toActiveCardProps, toExerciseCardProps, toProgressBarMesos, useTable, useToast, useToolbarButton, validationRules };
|
|
10268
|
+
export { Accordion, AccordionButton, AccordionItem, AccordionPanel, ActiveWorkoutPage, Alert, AlertDescription, AlertTitle, Autocomplete, Avatar, AvatarBadge, AvatarGroup, BaseBadge, BreadcrumbItem, Breadcrumbs, Button, ButtonIcon, ButtonSpinner, ButtonText, CapacityBandChart, Caption, Checkbox, CheckboxGroup, Chip, CircularProgress, Collapse, CollapseButton, CollapseContent, DataRow, DateTime, DeviationBar, Divider, Drawer, DrawerBody, DrawerFooter, DrawerHeader, EXERCISE_DETAIL_TABS, EmptyState, ExerciseCard, ExerciseDetailPage, FormActions, FormField, FormRow, FormSection, Gauge, HStack, Heading, HelpTip, IconBox, Input, InputBar, InputGroup, IntensityBar, Label, LabelWithHelp, Link, ListItem, ListItemContent, ListItemDivider, ListItemIcon, ListItemTrailing, Menu, MenuDivider, MenuGroup, MenuItem, MenuList, MenuTrigger, MesoCard, MesoProgressBar, Metric, MetricGroup, Modal, ModalBody, ModalCloseButton, ModalContent, ModalFooter, ModalHeader, ModalTitle, MuscleGroupChip, Overline, Paragraph, PasswordInput, Pill, PlaceholderStrip, Popover, PopoverCloseButton, PopoverContent, PopoverTrigger, PrBadge, PrHistoryModal, ProgramPlanningPage, Progress, ProgressSteps, Radio, RadioGroup, ReadinessCheck, RestTimer, Scatter, Section, SectionContent, SectionHeader, Select, SetRow, Sidebar, SidebarContent, SidebarDivider, SidebarFooter, SidebarHeader, SidebarItem, SidebarSection, Skeleton, SkeletonCard, SkeletonCircle, SkeletonListItem, SkeletonText, Spinner, Stack, StepContent, StepIndicator, StepLabel, Stepper, Step as StepperStep, StrengthTrendChart, SupersetWrapper, Surface, Switch, TEMPO_PACING, Tab, TabList, TabPanel, TabPanels, Table, TableBody, TableCell, TableHeader, TableHeaderCell, TablePagination, TableRow, Tabs, TempoBar, TempoDisplay, Toast, ToastProvider, ToolbarButton, ToolbarButtonGroup, Tooltip, Treemap, Typography, VStack, VelocityStrip, WeekRow, WeightBadge, WorkoutCard, WorkoutPill, alpha, buildBreadcrumbs, calculateMeanVelocity, calculateVelocityLoss, composeValidators, countCompletedSets, createFieldId, deriveExerciseStats, deriveNavLevel, deriveWorkoutProgress, findActiveExercise, findMeso, findWeek, findWorkout, formatDateTime, formatPrescription, formatSignedPct, formatVelocity, getContrastText, getFieldAriaProps, getFieldValidationProps, getLuminance, getResultColor, getStatusColor, getTempoFillPct, getTempoPacingState, getVelocityZoneColor, getVelocityZoneName, groupExercises, hasMaxLength, hasMinLength, isEmpty, isValidEmail, roundRpe, roundTempo, roundWeight, rpeColor, statusToCardState, summarizeVbt, toActiveCardProps, toExerciseCardProps, toProgressBarMesos, useTable, useToast, useToolbarButton, validationRules };
|
|
10186
10269
|
//# sourceMappingURL=index.mjs.map
|
|
10187
10270
|
//# sourceMappingURL=index.mjs.map
|