@titan-design/react-ui 0.11.0 → 0.12.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 +173 -343
- package/dist/bodymap.js.map +1 -1
- package/dist/bodymap.mjs +173 -343
- package/dist/bodymap.mjs.map +1 -1
- package/dist/index.d.mts +24 -21
- package/dist/index.d.ts +24 -21
- package/dist/index.js +366 -561
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +360 -553
- package/dist/index.mjs.map +1 -1
- package/dist/pages.js +242 -407
- package/dist/pages.js.map +1 -1
- package/dist/pages.mjs +242 -407
- package/dist/pages.mjs.map +1 -1
- package/dist/theme/index.d.mts +409 -415
- package/dist/theme/index.d.ts +409 -415
- package/dist/theme/index.js +234 -408
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/index.mjs +227 -399
- package/dist/theme/index.mjs.map +1 -1
- package/dist/theme/tokens-css.js +141 -140
- package/dist/theme/tokens-css.js.map +1 -1
- package/dist/theme/tokens-css.mjs +141 -140
- package/dist/theme/tokens-css.mjs.map +1 -1
- package/package.json +1 -1
- package/src/arch/Architecture.stories.tsx +9 -9
- package/src/components/custom/DateTime/DateTime.stories.tsx +1 -1
- package/src/components/custom/Fatigue/DualGhostSpark.stories.tsx +3 -3
- package/src/components/custom/Fatigue/FatigueLights.stories.tsx +2 -2
- package/src/components/custom/Fatigue/GhostSpark.stories.tsx +3 -3
- package/src/components/custom/Fatigue/LiveFatigueCard.tsx +1 -1
- package/src/components/custom/Fatigue/LiveFatiguePanel.stories.tsx +2 -2
- package/src/components/custom/Fatigue/RomProgressionChart.stories.tsx +2 -2
- package/src/components/custom/Fatigue/SilverRedPalette.stories.tsx +4 -4
- package/src/components/custom/Fatigue/VelocityHero.stories.tsx +3 -3
- package/src/components/custom/Fatigue/VerdictHero.stories.tsx +2 -2
- package/src/components/custom/Fatigue/fatigue-tokens.ts +12 -12
- package/src/components/custom/Sidebar/Sidebar.tsx +4 -4
- package/src/components/custom/Table/Table.tsx +2 -2
- package/src/components/custom/Workout/ActiveWorkoutPage.tsx +3 -3
- package/src/components/custom/Workout/BaseBadge.test.tsx +6 -1
- package/src/components/custom/Workout/BaseBadge.tsx +1 -1
- package/src/components/custom/Workout/BodyMap.tsx +2 -2
- package/src/components/custom/Workout/BodyMapDetailPanel.tsx +2 -2
- package/src/components/custom/Workout/DeviationBar.test.tsx +2 -1
- package/src/components/custom/Workout/DeviationBar.tsx +3 -2
- package/src/components/custom/Workout/ExerciseCard.test.tsx +3 -3
- package/src/components/custom/Workout/ExerciseCard.tsx +2 -2
- package/src/components/custom/Workout/ExerciseDetailPage.tsx +4 -4
- package/src/components/custom/Workout/InputBar.tsx +2 -2
- package/src/components/custom/Workout/LiveAuraFrame.stories.tsx +1 -1
- package/src/components/custom/Workout/LiveAuraFrame.test.tsx +1 -1
- package/src/components/custom/Workout/LiveAuraFrame.tsx +3 -3
- package/src/components/custom/Workout/MesoCard.tsx +3 -1
- package/src/components/custom/Workout/MuscleGroupChip.tsx +4 -3
- package/src/components/custom/Workout/PrHistoryModal.tsx +2 -2
- package/src/components/custom/Workout/ProgramPlanningPage.tsx +1 -1
- package/src/components/custom/Workout/ReadinessCheck.tsx +2 -2
- package/src/components/custom/Workout/RestTimer.tsx +2 -2
- package/src/components/custom/Workout/S3SetTypes.stories.tsx +3 -3
- package/src/components/custom/Workout/SessionHeader.stories.tsx +2 -2
- package/src/components/custom/Workout/SessionHeader.tsx +1 -1
- package/src/components/custom/Workout/SessionRail.stories.tsx +2 -2
- package/src/components/custom/Workout/SessionRail.tsx +13 -5
- package/src/components/custom/Workout/SetBar.tsx +3 -3
- package/src/components/custom/Workout/SetRow.test.tsx +6 -3
- package/src/components/custom/Workout/StatusDot.tsx +5 -4
- package/src/components/custom/Workout/StrengthTrendChart.tsx +1 -1
- package/src/components/custom/Workout/TrainingStatusPage.tsx +2 -2
- package/src/components/custom/Workout/VelocityStrip.test.tsx +5 -2
- package/src/components/custom/Workout/VelocityStrip.tsx +4 -4
- package/src/components/custom/Workout/VolumeLandmarkBar.tsx +3 -3
- package/src/components/custom/Workout/WeightBadge.test.tsx +6 -1
- package/src/components/custom/Workout/WeightBadge.tsx +2 -1
- package/src/components/custom/Workout/WorkoutCard.tsx +3 -1
- package/src/components/custom/Workout/WorkoutPill.tsx +5 -2
- package/src/components/custom/Workout/ZoneTrack.tsx +4 -4
- package/src/components/custom/Workout/setHeadingKit.tsx +14 -8
- package/src/components/custom/Workout/velocity-story-kit.tsx +2 -2
- package/src/components/custom/charts/SetBarChart.tsx +3 -3
- package/src/components/custom/stepper/Stepper.stories.tsx +1 -1
- package/src/components/custom/stepper/Stepper.tsx +3 -3
- package/src/components/shell/DeviceMenu.tsx +2 -2
- package/src/components/shell/SideNav.tsx +1 -1
- package/src/components/shell/TopBar.tsx +1 -1
- package/src/components/ui/autocomplete/Autocomplete.stories.tsx +1 -1
- package/src/components/ui/autocomplete/Autocomplete.tsx +1 -1
- package/src/components/ui/avatar/Avatar.tsx +2 -2
- package/src/components/ui/badge/Badge.tsx +2 -2
- package/src/components/ui/card/Card.tsx +3 -3
- package/src/components/ui/checkbox/Checkbox.tsx +1 -1
- package/src/components/ui/collapse/Collapse.tsx +1 -1
- package/src/components/ui/data-row/DataRow.stories.tsx +1 -1
- package/src/components/ui/drawer/Drawer.tsx +3 -3
- package/src/components/ui/form-field/FormField.tsx +1 -1
- package/src/components/ui/help-tip/HelpTip.tsx +1 -1
- package/src/components/ui/menu/Menu.tsx +2 -2
- package/src/components/ui/pill/Pill.tsx +2 -2
- package/src/components/ui/popover/Popover.stories.tsx +2 -2
- package/src/components/ui/popover/Popover.tsx +1 -1
- package/src/components/ui/progress/Progress.tsx +3 -3
- package/src/components/ui/radio/Radio.stories.tsx +1 -1
- package/src/components/ui/radio/Radio.tsx +4 -4
- package/src/components/ui/select/Select.tsx +3 -3
- package/src/components/ui/surface/Surface.stories.tsx +3 -3
- package/src/components/ui/surface/Surface.test.tsx +32 -19
- package/src/components/ui/surface/Surface.tsx +3 -3
- package/src/components/ui/surface/SurfaceContext.ts +19 -29
- package/src/components/ui/surface/surface.contract.test.ts +57 -44
- package/src/components/ui/switch/Switch.tsx +1 -1
- package/src/components/ui/tabs/Tabs.tsx +2 -2
- package/src/components/ui/toolbar-button/ToolbarButton.stories.tsx +5 -5
- package/src/components/ui/toolbar-button/ToolbarButton.test.tsx +1 -1
- package/src/components/ui/toolbar-button/ToolbarButton.tsx +36 -22
- package/src/stories/PresetShowcase.stories.tsx +21 -21
- package/src/theme/ColorPalettes.stories.tsx +41 -38
- package/src/theme/ColorPrimitives.stories.tsx +89 -41
- package/src/theme/Depth.stories.tsx +312 -0
- package/src/theme/DepthCalibration.stories.tsx +655 -0
- package/src/theme/ThemeProvider.tsx +1 -1
- package/src/theme/barrel.ts +7 -14
- package/src/theme/color-stories.coverage.test.ts +15 -20
- package/src/theme/color-story-kit.tsx +1 -1
- package/src/theme/color-utils.ts +197 -0
- package/src/theme/config.ts +0 -8
- package/src/theme/depth-calibration.test.tsx +97 -0
- package/src/theme/elevation.test.ts +62 -1
- package/src/theme/elevation.ts +34 -8
- package/src/theme/global.css +47 -53
- package/src/theme/grey-ramp.test.ts +166 -0
- package/src/theme/materials.test.ts +106 -0
- package/src/theme/materials.ts +211 -0
- package/src/theme/presets/audiobook.ts +4 -4
- package/src/theme/presets/types.ts +3 -3
- package/src/theme/semantic-contrast.test.ts +83 -0
- package/src/theme/tokens/primitives.ts +62 -115
- package/src/theme/tokens/semantic.ts +130 -82
- package/src/utils/colors.ts +1 -1
- package/tailwind.config.js +2 -5
- package/src/theme/bar-paper.ts +0 -59
- package/src/theme/shadows.stories.tsx +0 -523
- package/src/theme/shadows.ts +0 -439
package/dist/index.d.mts
CHANGED
|
@@ -3,7 +3,7 @@ import * as React$1 from 'react';
|
|
|
3
3
|
import React__default, { ReactNode } from 'react';
|
|
4
4
|
import { ViewProps, PressableProps, View, TextInputProps, TextInput, ImageSourcePropType, ModalProps as ModalProps$1, TextProps } from 'react-native';
|
|
5
5
|
import { ThemeMode, ElevationLevel, GlowIntensity } from './theme/index.mjs';
|
|
6
|
-
export { CATEGORICAL_CVD_SAFE_MAX, CategoricalVariant, ComponentType, CssPropertyEntry, CssPropertyManifest, ElevationConfig, GradientStyle, ManifestValidationResult, PRESSED_ELEVATION_LEVEL,
|
|
6
|
+
export { CATEGORICAL_CVD_SAFE_MAX, CategoricalVariant, ComponentType, CssPropertyEntry, CssPropertyManifest, ElevationConfig, FLOATING_ELEVATION_MIN, GradientStyle, ManifestValidationResult, PRESSED_ELEVATION_LEVEL, SURFACE_PLANE_STEPS, ShadowIntensity, ThemeConfig, ThemePreset, ThemePresetColors, ThemePresetFonts, ThemePresetRadii, ThemePresetShadows, ThemeProviderMode, ThemeProviderProps, VariantAxes, VariantOverride, applyThemePreset, audiobookPreset, barPaper, bestTextColor, buttonSizes, categoricalPalette, componentElevationRanges, darkThemeCSSVars, darken, defaultPreset, discreteRainbow, divergingScale, elevationSystem, getBaseSurfaceColor, getCategoricalColor, getDiscreteRainbowColor, getElevationConfig, getElevationShadow, getElevationSurface, getGlowShadow, getHoverColors, getPressedRecessShadow, getSemanticColors, getThemeCSSVars, getValidatedElevation, gluestackConfig, grainForTone, grainOpacityForTone, greyRamp, hexToRgb, hsvToRgb, insetWell, isCssPropertyManifest, isDark, lightThemeCSSVars, lighten, linearGradient, paperSheet, primitiveBorderRadius, primitiveBreakpoints, primitiveColors, primitiveRamps, primitiveSpacing, primitiveTypography, primitiveZIndex, resolveColor, rgbToHex, rgbToHsv, semanticColorsDark, semanticColorsLight, semanticTypography, sequentialEffort, surfaceGradient, validateCssPropertyManifest } from './theme/index.mjs';
|
|
7
7
|
import { S as SetStripSet, E as ExerciseIndicatorKind, a as SetRowProps } from './pages-CvsFqNtx.mjs';
|
|
8
8
|
export { A as ActiveExerciseStatus, b as ActiveWorkoutExercise, c as ActiveWorkoutInput, d as ActiveWorkoutPageProps, e as ActiveWorkoutRest, f as ActiveWorkoutSuperset, C as CapacityBandChart, g as CapacityBandChartProps, h as CapacityBandDataPoint, i as CapacityBandProjection, D as DualVelocityStream, j as DualVelocityStrip, k as DualVelocityStripProps, l as ExerciseCard, m as ExerciseCardProps, n as ExerciseDetailEntry, o as ExerciseDetailHeader, p as ExerciseDetailPageProps, q as ExerciseDetailStats, r as ExerciseDetailTab, s as ExerciseIndicator, t as ExerciseIndicatorProps, u as ExerciseTrend, v as ExerciseVbt, w as ExerciseVbtSet, I as INDICATOR_PRECEDENCE, M as Meso, x as MesoCard, y as MesoCardProps, z as MesoProgressBar, B as MesoProgressBarProps, F as MesoStatus, G as MesoVolumeHeatmapEntry, P as PlanMeso, H as PlanWeek, J as PlanWorkout, K as ProgramBreadcrumb, L as ProgramNavLevel, N as ProgramPlanningPageProps, O as ProgramSelection, Q as SET_STRIP_VARIABLE_COLOR, R as SET_STRIP_ZONES, T as SetBar, U as SetBarProps, V as SetRow, W as SetRowState, X as SetRowUnit, Y as StrengthTrendChart, Z as StrengthTrendChartMesoBoundary, _ as StrengthTrendChartProps, $ as StrengthTrendDataPoint, a0 as VbtSummary, a1 as VelocitySet, a2 as VelocityStrip, a3 as VelocityStripProps, a4 as VelocityZoneBandProp, a5 as WeekRow, a6 as WeekRowProps, a7 as WeekRowWorkout, a8 as WorkoutCard, a9 as WorkoutCardProps, aa as WorkoutDot, ab as WorkoutDotStatus, ac as WorkoutGroup, ad as WorkoutMuscleGroup, ae as WorkoutMuscleVolumeStatus, af as WorkoutPill, ag as WorkoutPillProps, ah as WorkoutPillStatus, ai as WorkoutProgress, aj as WorkoutStatus, ak as calculateMeanVelocity, al as calculateVelocityLoss, am as getVelocityZoneColor, an as getVelocityZoneName, ao as resolveIndicator, ap as velocityZoneColor } from './pages-CvsFqNtx.mjs';
|
|
9
9
|
export { M as MesoStatusBadge, a as MesoStatusBadgeVariant, b as MesoStatusCard, c as MesoStatusCardProps, d as MesoStatusCoaching, e as MesoStatusGauge, f as MesoStatusMetric, g as MesoStatusNextTarget } from './MesoStatusCard-CQk71hSi.mjs';
|
|
@@ -1295,7 +1295,7 @@ interface SelectProps<T = string> extends ViewProps {
|
|
|
1295
1295
|
*/
|
|
1296
1296
|
declare function Select<T extends string = string>({ value, values, onChange, onChangeMulti, isMulti, placeholder, isDisabled, isInvalid, options, variant, className, ...props }: SelectProps<T>): react_jsx_runtime.JSX.Element;
|
|
1297
1297
|
|
|
1298
|
-
type ToolbarButtonVariant = 'default' | '
|
|
1298
|
+
type ToolbarButtonVariant = 'default' | 'raised';
|
|
1299
1299
|
type ToolbarButtonSize = 'sm' | 'md' | 'lg';
|
|
1300
1300
|
interface ToolbarButtonContextType {
|
|
1301
1301
|
isOpen: boolean;
|
|
@@ -2023,15 +2023,18 @@ declare function IconBox({ icon: Icon, color, size, className, ...props }: IconB
|
|
|
2023
2023
|
* no new hexes. Darkest → lightest:
|
|
2024
2024
|
* inset (#13100D) < background (#1C1916) < base (#252321) < elevated (#2A2827) < raised (#2D2C2B) < overlay (#302F2E)
|
|
2025
2025
|
*
|
|
2026
|
-
* `
|
|
2027
|
-
* `<Surface pressed>` clamps at (see {@link pressedLevel})
|
|
2028
|
-
*
|
|
2029
|
-
* `
|
|
2026
|
+
* `frame` is the bezel the ramp sits inside — the top bar / side nav chrome —
|
|
2027
|
+
* and the floor a `<Surface pressed>` clamps at (see {@link pressedLevel}).
|
|
2028
|
+
*
|
|
2029
|
+
* It replaced a separate `inset` level in TD-07.14. That level was RETIRED, not
|
|
2030
|
+
* renamed: at ΔE 1.10 from the frame it was an imperceptible duplicate, which is
|
|
2031
|
+
* exactly why pressed (surface − 1) kept collapsing into it.
|
|
2030
2032
|
*/
|
|
2031
|
-
type SurfaceLevel = '
|
|
2033
|
+
type SurfaceLevel = 'frame' | 'background' | 'base' | 'elevated' | 'raised' | 'overlay';
|
|
2032
2034
|
/** On-surface neutral text roles, resolved for the current surface + theme. */
|
|
2033
2035
|
type OnSurfaceRole = 'primary' | 'secondary' | 'tertiary';
|
|
2034
2036
|
declare const SURFACE_LEVEL_TOKEN: {
|
|
2037
|
+
readonly frame: "background-frame";
|
|
2035
2038
|
readonly background: "background-base";
|
|
2036
2039
|
readonly base: "surface-base";
|
|
2037
2040
|
readonly elevated: "surface-elevated";
|
|
@@ -2063,9 +2066,9 @@ declare function surfaceBackground(level: SurfaceLevel, mode: ThemeMode): string
|
|
|
2063
2066
|
/**
|
|
2064
2067
|
* The level a `<Surface pressed>` resolves to: its parent's level stepped one
|
|
2065
2068
|
* index DOWN the ramp — the symmetric twin of a raised surface stepping up —
|
|
2066
|
-
* clamped at the `
|
|
2069
|
+
* clamped at the `frame` floor so a pressed surface never underflows the bezel.
|
|
2067
2070
|
* overlay→raised, raised→elevated, elevated→base, base→background,
|
|
2068
|
-
* background→
|
|
2071
|
+
* background→frame, frame→frame (clamped).
|
|
2069
2072
|
* Pressed exposes ONE level of depth only (no pressed-2).
|
|
2070
2073
|
*/
|
|
2071
2074
|
declare function pressedLevel(parent: SurfaceLevel): SurfaceLevel;
|
|
@@ -2078,7 +2081,7 @@ interface SurfaceProps extends ViewProps {
|
|
|
2078
2081
|
*/
|
|
2079
2082
|
elevation?: ElevationLevel;
|
|
2080
2083
|
/**
|
|
2081
|
-
* Named
|
|
2084
|
+
* Named grey plane (shell / rail / stage). Sets the background directly
|
|
2082
2085
|
* from a semantic surface token — reaching the darker nav/page planes the
|
|
2083
2086
|
* lighten model can't — and drops the default rounding + auto shadow so the
|
|
2084
2087
|
* plane reads full-bleed. Composable with `elevation`'s glow.
|
|
@@ -2110,7 +2113,7 @@ interface SurfaceProps extends ViewProps {
|
|
|
2110
2113
|
* A container that OWNS its background and establishes an on-surface colour
|
|
2111
2114
|
* context. Two grounded ways to pick the background:
|
|
2112
2115
|
* - `elevation` (numeric): the raised-card model — lighten-from-base + shadow.
|
|
2113
|
-
* - `level` (named): a flat
|
|
2116
|
+
* - `level` (named): a flat grey plane straight from a semantic token,
|
|
2114
2117
|
* for the shell / rail / stage backgrounds.
|
|
2115
2118
|
* Either way, descendants read the surface via {@link useOnSurfaceColor} /
|
|
2116
2119
|
* {@link useSurfaceMode} rather than hard-coding `getSemanticColors('dark')`.
|
|
@@ -3295,7 +3298,7 @@ interface SessionHeaderProps extends ViewProps {
|
|
|
3295
3298
|
* done, coloured green/amber against the elapsed-vs-budget pace, with a live marker),
|
|
3296
3299
|
* a mono `n/total sets` label and a ⏱ elapsed readout. Upcoming (`next` set), the tiles
|
|
3297
3300
|
* become Date/Time/Until, the bar is the empty plan shape, and the readout shows the
|
|
3298
|
-
* planned duration. Rendered on the raised
|
|
3301
|
+
* planned duration. Rendered on the raised grey plane; presentational. Composes
|
|
3299
3302
|
* {@link MetricTiles} / {@link ScheduleTiles} + {@link SegmentedProgressBar} +
|
|
3300
3303
|
* {@link TimerReadout}.
|
|
3301
3304
|
*/
|
|
@@ -3548,7 +3551,7 @@ interface ZoneTrackProps extends ViewProps {
|
|
|
3548
3551
|
trackHeight?: number;
|
|
3549
3552
|
/** How far a needle marker overhangs the track top + bottom, in px. Overrides the `size` default (6 default / 9 wall). */
|
|
3550
3553
|
needleOverhang?: number;
|
|
3551
|
-
/** Muted colour of the track behind / beyond the fill. Default a
|
|
3554
|
+
/** Muted colour of the track behind / beyond the fill. Default a grey step. */
|
|
3552
3555
|
trackColor?: string;
|
|
3553
3556
|
className?: string;
|
|
3554
3557
|
}
|
|
@@ -3676,7 +3679,7 @@ interface LiveAuraFrameProps extends ViewProps {
|
|
|
3676
3679
|
declare function liveAuraColor(category: LiveAuraCategory): string | null;
|
|
3677
3680
|
/**
|
|
3678
3681
|
* Full-surface color-flood frame tied to a coaching category. Wraps `children`
|
|
3679
|
-
* on a
|
|
3682
|
+
* on a grey base and layers a radial wash (amber at threshold, red at stop)
|
|
3680
3683
|
* as a decorative, pointer-transparent overlay. The wash uses a solid
|
|
3681
3684
|
* `backgroundColor` fallback (native) plus a web-only `backgroundImage` radial
|
|
3682
3685
|
* gradient; both derive from the same semantic token via `alpha()`.
|
|
@@ -4018,9 +4021,9 @@ declare const STATE_LABEL: Record<FatigueVerdictState, string>;
|
|
|
4018
4021
|
* language: eccentric magenta, concentric cyan, hold and idle in the grey family.
|
|
4019
4022
|
*
|
|
4020
4023
|
* The idle grey has to read as BAND MATERIAL (a pause the lifter held), not as a
|
|
4021
|
-
* hole in the strip: at
|
|
4024
|
+
* hole in the strip: at grey[300] it sat inside the surface-ramp's own value
|
|
4022
4025
|
* range (`surface-raised` #31302F) so a short pause between ECC and CON read as a
|
|
4023
|
-
* gap.
|
|
4026
|
+
* gap. grey[200] clears every content plane while staying quieter than the two
|
|
4024
4027
|
* saturated phase tones, so the band reads contiguous and the phases still lead.
|
|
4025
4028
|
*
|
|
4026
4029
|
* `hold` stays GREY rather than taking a hue of its own. It was briefly amber, which
|
|
@@ -4032,15 +4035,15 @@ declare const STATE_LABEL: Record<FatigueVerdictState, string>;
|
|
|
4032
4035
|
*
|
|
4033
4036
|
* Hold and idle are separated by VALUE rather than hue, plus the `HOLD` label and the
|
|
4034
4037
|
* fact that a hold PACES (it has a prescribed duration) while idle never fills:
|
|
4035
|
-
* unfilled hold
|
|
4036
|
-
* idle
|
|
4037
|
-
* filled hold
|
|
4038
|
+
* unfilled hold grey[300] — darker than idle
|
|
4039
|
+
* idle grey[200]
|
|
4040
|
+
* filled hold grey[100] — brighter than idle
|
|
4038
4041
|
* so a hold reads apart from dead time at any fill level, including the narrow runs
|
|
4039
4042
|
* where the label drops out.
|
|
4040
4043
|
*/
|
|
4041
4044
|
declare const PHASE_AXIS_COLOR: Record<SamplePhase, string>;
|
|
4042
4045
|
/** On-track / at-or-above-working. */
|
|
4043
|
-
declare const SILVER: "#
|
|
4046
|
+
declare const SILVER: "#D4D1CE";
|
|
4044
4047
|
declare const RED_LIGHT: "#F77175";
|
|
4045
4048
|
declare const RED_MID: "#D14343";
|
|
4046
4049
|
declare const RED_DEEP: "#7E1002";
|
|
@@ -4049,7 +4052,7 @@ declare const GRIND_THRESHOLD = 0.35;
|
|
|
4049
4052
|
/** A quiet grey the controlled line dims toward as it drifts (never a colour): a dimmed
|
|
4050
4053
|
* cool grey in the SAME neutral family as SILVER, so a fully-drifted line reads dim-silver
|
|
4051
4054
|
* rather than sinking toward black. Shared with the ROM chart. */
|
|
4052
|
-
declare const DRIFT_GREY: "#
|
|
4055
|
+
declare const DRIFT_GREY: "#5A5958";
|
|
4053
4056
|
/**
|
|
4054
4057
|
* The ghost-spark current-line tint from the two control-aware signals — silver/red.
|
|
4055
4058
|
*
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import * as React$1 from 'react';
|
|
|
3
3
|
import React__default, { ReactNode } from 'react';
|
|
4
4
|
import { ViewProps, PressableProps, View, TextInputProps, TextInput, ImageSourcePropType, ModalProps as ModalProps$1, TextProps } from 'react-native';
|
|
5
5
|
import { ThemeMode, ElevationLevel, GlowIntensity } from './theme/index.js';
|
|
6
|
-
export { CATEGORICAL_CVD_SAFE_MAX, CategoricalVariant, ComponentType, CssPropertyEntry, CssPropertyManifest, ElevationConfig, GradientStyle, ManifestValidationResult, PRESSED_ELEVATION_LEVEL,
|
|
6
|
+
export { CATEGORICAL_CVD_SAFE_MAX, CategoricalVariant, ComponentType, CssPropertyEntry, CssPropertyManifest, ElevationConfig, FLOATING_ELEVATION_MIN, GradientStyle, ManifestValidationResult, PRESSED_ELEVATION_LEVEL, SURFACE_PLANE_STEPS, ShadowIntensity, ThemeConfig, ThemePreset, ThemePresetColors, ThemePresetFonts, ThemePresetRadii, ThemePresetShadows, ThemeProviderMode, ThemeProviderProps, VariantAxes, VariantOverride, applyThemePreset, audiobookPreset, barPaper, bestTextColor, buttonSizes, categoricalPalette, componentElevationRanges, darkThemeCSSVars, darken, defaultPreset, discreteRainbow, divergingScale, elevationSystem, getBaseSurfaceColor, getCategoricalColor, getDiscreteRainbowColor, getElevationConfig, getElevationShadow, getElevationSurface, getGlowShadow, getHoverColors, getPressedRecessShadow, getSemanticColors, getThemeCSSVars, getValidatedElevation, gluestackConfig, grainForTone, grainOpacityForTone, greyRamp, hexToRgb, hsvToRgb, insetWell, isCssPropertyManifest, isDark, lightThemeCSSVars, lighten, linearGradient, paperSheet, primitiveBorderRadius, primitiveBreakpoints, primitiveColors, primitiveRamps, primitiveSpacing, primitiveTypography, primitiveZIndex, resolveColor, rgbToHex, rgbToHsv, semanticColorsDark, semanticColorsLight, semanticTypography, sequentialEffort, surfaceGradient, validateCssPropertyManifest } from './theme/index.js';
|
|
7
7
|
import { S as SetStripSet, E as ExerciseIndicatorKind, a as SetRowProps } from './pages-B1hqnGIC.js';
|
|
8
8
|
export { A as ActiveExerciseStatus, b as ActiveWorkoutExercise, c as ActiveWorkoutInput, d as ActiveWorkoutPageProps, e as ActiveWorkoutRest, f as ActiveWorkoutSuperset, C as CapacityBandChart, g as CapacityBandChartProps, h as CapacityBandDataPoint, i as CapacityBandProjection, D as DualVelocityStream, j as DualVelocityStrip, k as DualVelocityStripProps, l as ExerciseCard, m as ExerciseCardProps, n as ExerciseDetailEntry, o as ExerciseDetailHeader, p as ExerciseDetailPageProps, q as ExerciseDetailStats, r as ExerciseDetailTab, s as ExerciseIndicator, t as ExerciseIndicatorProps, u as ExerciseTrend, v as ExerciseVbt, w as ExerciseVbtSet, I as INDICATOR_PRECEDENCE, M as Meso, x as MesoCard, y as MesoCardProps, z as MesoProgressBar, B as MesoProgressBarProps, F as MesoStatus, G as MesoVolumeHeatmapEntry, P as PlanMeso, H as PlanWeek, J as PlanWorkout, K as ProgramBreadcrumb, L as ProgramNavLevel, N as ProgramPlanningPageProps, O as ProgramSelection, Q as SET_STRIP_VARIABLE_COLOR, R as SET_STRIP_ZONES, T as SetBar, U as SetBarProps, V as SetRow, W as SetRowState, X as SetRowUnit, Y as StrengthTrendChart, Z as StrengthTrendChartMesoBoundary, _ as StrengthTrendChartProps, $ as StrengthTrendDataPoint, a0 as VbtSummary, a1 as VelocitySet, a2 as VelocityStrip, a3 as VelocityStripProps, a4 as VelocityZoneBandProp, a5 as WeekRow, a6 as WeekRowProps, a7 as WeekRowWorkout, a8 as WorkoutCard, a9 as WorkoutCardProps, aa as WorkoutDot, ab as WorkoutDotStatus, ac as WorkoutGroup, ad as WorkoutMuscleGroup, ae as WorkoutMuscleVolumeStatus, af as WorkoutPill, ag as WorkoutPillProps, ah as WorkoutPillStatus, ai as WorkoutProgress, aj as WorkoutStatus, ak as calculateMeanVelocity, al as calculateVelocityLoss, am as getVelocityZoneColor, an as getVelocityZoneName, ao as resolveIndicator, ap as velocityZoneColor } from './pages-B1hqnGIC.js';
|
|
9
9
|
export { M as MesoStatusBadge, a as MesoStatusBadgeVariant, b as MesoStatusCard, c as MesoStatusCardProps, d as MesoStatusCoaching, e as MesoStatusGauge, f as MesoStatusMetric, g as MesoStatusNextTarget } from './MesoStatusCard-CQk71hSi.js';
|
|
@@ -1295,7 +1295,7 @@ interface SelectProps<T = string> extends ViewProps {
|
|
|
1295
1295
|
*/
|
|
1296
1296
|
declare function Select<T extends string = string>({ value, values, onChange, onChangeMulti, isMulti, placeholder, isDisabled, isInvalid, options, variant, className, ...props }: SelectProps<T>): react_jsx_runtime.JSX.Element;
|
|
1297
1297
|
|
|
1298
|
-
type ToolbarButtonVariant = 'default' | '
|
|
1298
|
+
type ToolbarButtonVariant = 'default' | 'raised';
|
|
1299
1299
|
type ToolbarButtonSize = 'sm' | 'md' | 'lg';
|
|
1300
1300
|
interface ToolbarButtonContextType {
|
|
1301
1301
|
isOpen: boolean;
|
|
@@ -2023,15 +2023,18 @@ declare function IconBox({ icon: Icon, color, size, className, ...props }: IconB
|
|
|
2023
2023
|
* no new hexes. Darkest → lightest:
|
|
2024
2024
|
* inset (#13100D) < background (#1C1916) < base (#252321) < elevated (#2A2827) < raised (#2D2C2B) < overlay (#302F2E)
|
|
2025
2025
|
*
|
|
2026
|
-
* `
|
|
2027
|
-
* `<Surface pressed>` clamps at (see {@link pressedLevel})
|
|
2028
|
-
*
|
|
2029
|
-
* `
|
|
2026
|
+
* `frame` is the bezel the ramp sits inside — the top bar / side nav chrome —
|
|
2027
|
+
* and the floor a `<Surface pressed>` clamps at (see {@link pressedLevel}).
|
|
2028
|
+
*
|
|
2029
|
+
* It replaced a separate `inset` level in TD-07.14. That level was RETIRED, not
|
|
2030
|
+
* renamed: at ΔE 1.10 from the frame it was an imperceptible duplicate, which is
|
|
2031
|
+
* exactly why pressed (surface − 1) kept collapsing into it.
|
|
2030
2032
|
*/
|
|
2031
|
-
type SurfaceLevel = '
|
|
2033
|
+
type SurfaceLevel = 'frame' | 'background' | 'base' | 'elevated' | 'raised' | 'overlay';
|
|
2032
2034
|
/** On-surface neutral text roles, resolved for the current surface + theme. */
|
|
2033
2035
|
type OnSurfaceRole = 'primary' | 'secondary' | 'tertiary';
|
|
2034
2036
|
declare const SURFACE_LEVEL_TOKEN: {
|
|
2037
|
+
readonly frame: "background-frame";
|
|
2035
2038
|
readonly background: "background-base";
|
|
2036
2039
|
readonly base: "surface-base";
|
|
2037
2040
|
readonly elevated: "surface-elevated";
|
|
@@ -2063,9 +2066,9 @@ declare function surfaceBackground(level: SurfaceLevel, mode: ThemeMode): string
|
|
|
2063
2066
|
/**
|
|
2064
2067
|
* The level a `<Surface pressed>` resolves to: its parent's level stepped one
|
|
2065
2068
|
* index DOWN the ramp — the symmetric twin of a raised surface stepping up —
|
|
2066
|
-
* clamped at the `
|
|
2069
|
+
* clamped at the `frame` floor so a pressed surface never underflows the bezel.
|
|
2067
2070
|
* overlay→raised, raised→elevated, elevated→base, base→background,
|
|
2068
|
-
* background→
|
|
2071
|
+
* background→frame, frame→frame (clamped).
|
|
2069
2072
|
* Pressed exposes ONE level of depth only (no pressed-2).
|
|
2070
2073
|
*/
|
|
2071
2074
|
declare function pressedLevel(parent: SurfaceLevel): SurfaceLevel;
|
|
@@ -2078,7 +2081,7 @@ interface SurfaceProps extends ViewProps {
|
|
|
2078
2081
|
*/
|
|
2079
2082
|
elevation?: ElevationLevel;
|
|
2080
2083
|
/**
|
|
2081
|
-
* Named
|
|
2084
|
+
* Named grey plane (shell / rail / stage). Sets the background directly
|
|
2082
2085
|
* from a semantic surface token — reaching the darker nav/page planes the
|
|
2083
2086
|
* lighten model can't — and drops the default rounding + auto shadow so the
|
|
2084
2087
|
* plane reads full-bleed. Composable with `elevation`'s glow.
|
|
@@ -2110,7 +2113,7 @@ interface SurfaceProps extends ViewProps {
|
|
|
2110
2113
|
* A container that OWNS its background and establishes an on-surface colour
|
|
2111
2114
|
* context. Two grounded ways to pick the background:
|
|
2112
2115
|
* - `elevation` (numeric): the raised-card model — lighten-from-base + shadow.
|
|
2113
|
-
* - `level` (named): a flat
|
|
2116
|
+
* - `level` (named): a flat grey plane straight from a semantic token,
|
|
2114
2117
|
* for the shell / rail / stage backgrounds.
|
|
2115
2118
|
* Either way, descendants read the surface via {@link useOnSurfaceColor} /
|
|
2116
2119
|
* {@link useSurfaceMode} rather than hard-coding `getSemanticColors('dark')`.
|
|
@@ -3295,7 +3298,7 @@ interface SessionHeaderProps extends ViewProps {
|
|
|
3295
3298
|
* done, coloured green/amber against the elapsed-vs-budget pace, with a live marker),
|
|
3296
3299
|
* a mono `n/total sets` label and a ⏱ elapsed readout. Upcoming (`next` set), the tiles
|
|
3297
3300
|
* become Date/Time/Until, the bar is the empty plan shape, and the readout shows the
|
|
3298
|
-
* planned duration. Rendered on the raised
|
|
3301
|
+
* planned duration. Rendered on the raised grey plane; presentational. Composes
|
|
3299
3302
|
* {@link MetricTiles} / {@link ScheduleTiles} + {@link SegmentedProgressBar} +
|
|
3300
3303
|
* {@link TimerReadout}.
|
|
3301
3304
|
*/
|
|
@@ -3548,7 +3551,7 @@ interface ZoneTrackProps extends ViewProps {
|
|
|
3548
3551
|
trackHeight?: number;
|
|
3549
3552
|
/** How far a needle marker overhangs the track top + bottom, in px. Overrides the `size` default (6 default / 9 wall). */
|
|
3550
3553
|
needleOverhang?: number;
|
|
3551
|
-
/** Muted colour of the track behind / beyond the fill. Default a
|
|
3554
|
+
/** Muted colour of the track behind / beyond the fill. Default a grey step. */
|
|
3552
3555
|
trackColor?: string;
|
|
3553
3556
|
className?: string;
|
|
3554
3557
|
}
|
|
@@ -3676,7 +3679,7 @@ interface LiveAuraFrameProps extends ViewProps {
|
|
|
3676
3679
|
declare function liveAuraColor(category: LiveAuraCategory): string | null;
|
|
3677
3680
|
/**
|
|
3678
3681
|
* Full-surface color-flood frame tied to a coaching category. Wraps `children`
|
|
3679
|
-
* on a
|
|
3682
|
+
* on a grey base and layers a radial wash (amber at threshold, red at stop)
|
|
3680
3683
|
* as a decorative, pointer-transparent overlay. The wash uses a solid
|
|
3681
3684
|
* `backgroundColor` fallback (native) plus a web-only `backgroundImage` radial
|
|
3682
3685
|
* gradient; both derive from the same semantic token via `alpha()`.
|
|
@@ -4018,9 +4021,9 @@ declare const STATE_LABEL: Record<FatigueVerdictState, string>;
|
|
|
4018
4021
|
* language: eccentric magenta, concentric cyan, hold and idle in the grey family.
|
|
4019
4022
|
*
|
|
4020
4023
|
* The idle grey has to read as BAND MATERIAL (a pause the lifter held), not as a
|
|
4021
|
-
* hole in the strip: at
|
|
4024
|
+
* hole in the strip: at grey[300] it sat inside the surface-ramp's own value
|
|
4022
4025
|
* range (`surface-raised` #31302F) so a short pause between ECC and CON read as a
|
|
4023
|
-
* gap.
|
|
4026
|
+
* gap. grey[200] clears every content plane while staying quieter than the two
|
|
4024
4027
|
* saturated phase tones, so the band reads contiguous and the phases still lead.
|
|
4025
4028
|
*
|
|
4026
4029
|
* `hold` stays GREY rather than taking a hue of its own. It was briefly amber, which
|
|
@@ -4032,15 +4035,15 @@ declare const STATE_LABEL: Record<FatigueVerdictState, string>;
|
|
|
4032
4035
|
*
|
|
4033
4036
|
* Hold and idle are separated by VALUE rather than hue, plus the `HOLD` label and the
|
|
4034
4037
|
* fact that a hold PACES (it has a prescribed duration) while idle never fills:
|
|
4035
|
-
* unfilled hold
|
|
4036
|
-
* idle
|
|
4037
|
-
* filled hold
|
|
4038
|
+
* unfilled hold grey[300] — darker than idle
|
|
4039
|
+
* idle grey[200]
|
|
4040
|
+
* filled hold grey[100] — brighter than idle
|
|
4038
4041
|
* so a hold reads apart from dead time at any fill level, including the narrow runs
|
|
4039
4042
|
* where the label drops out.
|
|
4040
4043
|
*/
|
|
4041
4044
|
declare const PHASE_AXIS_COLOR: Record<SamplePhase, string>;
|
|
4042
4045
|
/** On-track / at-or-above-working. */
|
|
4043
|
-
declare const SILVER: "#
|
|
4046
|
+
declare const SILVER: "#D4D1CE";
|
|
4044
4047
|
declare const RED_LIGHT: "#F77175";
|
|
4045
4048
|
declare const RED_MID: "#D14343";
|
|
4046
4049
|
declare const RED_DEEP: "#7E1002";
|
|
@@ -4049,7 +4052,7 @@ declare const GRIND_THRESHOLD = 0.35;
|
|
|
4049
4052
|
/** A quiet grey the controlled line dims toward as it drifts (never a colour): a dimmed
|
|
4050
4053
|
* cool grey in the SAME neutral family as SILVER, so a fully-drifted line reads dim-silver
|
|
4051
4054
|
* rather than sinking toward black. Shared with the ROM chart. */
|
|
4052
|
-
declare const DRIFT_GREY: "#
|
|
4055
|
+
declare const DRIFT_GREY: "#5A5958";
|
|
4053
4056
|
/**
|
|
4054
4057
|
* The ghost-spark current-line tint from the two control-aware signals — silver/red.
|
|
4055
4058
|
*
|