@titan-design/react-ui 0.12.1 → 0.13.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/README.md +46 -47
- package/dist/bodymap.js +768 -701
- package/dist/bodymap.js.map +1 -1
- package/dist/bodymap.mjs +770 -703
- package/dist/bodymap.mjs.map +1 -1
- package/dist/index.d.mts +1319 -216
- package/dist/index.d.ts +1319 -216
- package/dist/index.js +5996 -4498
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5773 -4357
- package/dist/index.mjs.map +1 -1
- package/dist/{pages-CvsFqNtx.d.mts → pages-CpW3OB3g.d.mts} +21 -3
- package/dist/{pages-B1hqnGIC.d.ts → pages-_3Ajpiqu.d.ts} +21 -3
- package/dist/pages.d.mts +1 -1
- package/dist/pages.d.ts +1 -1
- package/dist/pages.js +1435 -1428
- package/dist/pages.js.map +1 -1
- package/dist/pages.mjs +1443 -1436
- package/dist/pages.mjs.map +1 -1
- package/dist/theme/index.d.mts +195 -134
- package/dist/theme/index.d.ts +195 -134
- package/dist/theme/index.js +215 -300
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/index.mjs +202 -296
- package/dist/theme/index.mjs.map +1 -1
- package/dist/theme/tokens-css.js +62 -5
- package/dist/theme/tokens-css.js.map +1 -1
- package/dist/theme/tokens-css.mjs +62 -5
- package/dist/theme/tokens-css.mjs.map +1 -1
- package/dist/theme/tokens.d.mts +73 -5
- package/dist/theme/tokens.d.ts +73 -5
- package/dist/theme/tokens.js +55 -7
- package/dist/theme/tokens.js.map +1 -1
- package/dist/theme/tokens.mjs +55 -8
- package/dist/theme/tokens.mjs.map +1 -1
- package/docs/audits/2026-09-08-critique-addenda.md +51 -0
- package/docs/audits/2026-09-08-library-critique.md +212 -0
- package/docs/library-roadmap.md +99 -0
- package/package.json +1 -1
- package/src/arch/arch-graph.freshness.test.ts +52 -0
- package/src/arch/arch-graph.json +5021 -1617
- package/src/components/custom/ActiveWork/CoChangeChip.stories.tsx +44 -0
- package/src/components/custom/ActiveWork/CoChangeChip.test.tsx +29 -0
- package/src/components/custom/ActiveWork/CoChangeChip.tsx +48 -0
- package/src/components/custom/ActiveWork/Eyebrow.stories.tsx +25 -0
- package/src/components/custom/ActiveWork/Eyebrow.test.tsx +16 -0
- package/src/components/custom/ActiveWork/Eyebrow.tsx +26 -0
- package/src/components/custom/ActiveWork/FileActivityDetail.stories.tsx +50 -0
- package/src/components/custom/ActiveWork/FileActivityDetail.test.tsx +66 -0
- package/src/components/custom/ActiveWork/FileActivityDetail.tsx +202 -0
- package/src/components/custom/ActiveWork/FileActivityRow.stories.tsx +70 -0
- package/src/components/custom/ActiveWork/FileActivityRow.test.tsx +67 -0
- package/src/components/custom/ActiveWork/FileActivityRow.tsx +130 -0
- package/src/components/custom/ActiveWork/FileHistoryExplorer.stories.tsx +84 -0
- package/src/components/custom/ActiveWork/FileHistoryExplorer.test.tsx +99 -0
- package/src/components/custom/ActiveWork/FileHistoryExplorer.tsx +138 -0
- package/src/components/custom/ActiveWork/FilePathLabel.stories.tsx +39 -0
- package/src/components/custom/ActiveWork/FilePathLabel.test.tsx +53 -0
- package/src/components/custom/ActiveWork/FilePathLabel.tsx +63 -0
- package/src/components/custom/ActiveWork/InitiativeBrief.stories.tsx +50 -0
- package/src/components/custom/ActiveWork/InitiativeBrief.test.tsx +62 -0
- package/src/components/custom/ActiveWork/InitiativeBrief.tsx +181 -0
- package/src/components/custom/ActiveWork/InitiativeCard.stories.tsx +73 -0
- package/src/components/custom/ActiveWork/InitiativeCard.test.tsx +68 -0
- package/src/components/custom/ActiveWork/InitiativeCard.tsx +136 -0
- package/src/components/custom/ActiveWork/InitiativeHeader.stories.tsx +59 -0
- package/src/components/custom/ActiveWork/InitiativeHeader.test.tsx +40 -0
- package/src/components/custom/ActiveWork/InitiativeHeader.tsx +73 -0
- package/src/components/custom/ActiveWork/InitiativeReader.stories.tsx +145 -0
- package/src/components/custom/ActiveWork/OpenLoops.stories.tsx +58 -0
- package/src/components/custom/ActiveWork/OpenLoops.test.tsx +61 -0
- package/src/components/custom/ActiveWork/OpenLoops.tsx +107 -0
- package/src/components/custom/ActiveWork/PortfolioOverview.stories.tsx +101 -0
- package/src/components/custom/ActiveWork/PortfolioOverview.test.tsx +81 -0
- package/src/components/custom/ActiveWork/PortfolioOverview.tsx +83 -0
- package/src/components/custom/ActiveWork/README.md +305 -0
- package/src/components/custom/ActiveWork/SessionDetail.stories.tsx +71 -0
- package/src/components/custom/ActiveWork/SessionDetail.test.tsx +84 -0
- package/src/components/custom/ActiveWork/SessionDetail.tsx +180 -0
- package/src/components/custom/ActiveWork/SessionList.stories.tsx +69 -0
- package/src/components/custom/ActiveWork/SessionList.test.tsx +78 -0
- package/src/components/custom/ActiveWork/SessionList.tsx +103 -0
- package/src/components/custom/ActiveWork/SessionListItem.stories.tsx +64 -0
- package/src/components/custom/ActiveWork/SessionListItem.test.tsx +62 -0
- package/src/components/custom/ActiveWork/SessionListItem.tsx +152 -0
- package/src/components/custom/ActiveWork/SessionReader.stories.tsx +113 -0
- package/src/components/custom/ActiveWork/SeverityLabel.stories.tsx +51 -0
- package/src/components/custom/ActiveWork/SeverityLabel.test.tsx +68 -0
- package/src/components/custom/ActiveWork/SeverityLabel.tsx +97 -0
- package/src/components/custom/ActiveWork/TaskRow.stories.tsx +63 -0
- package/src/components/custom/ActiveWork/TaskRow.test.tsx +112 -0
- package/src/components/custom/ActiveWork/TaskRow.tsx +176 -0
- package/src/components/custom/ActiveWork/TaskTable.stories.tsx +123 -0
- package/src/components/custom/ActiveWork/TaskTable.test.tsx +233 -0
- package/src/components/custom/ActiveWork/TaskTable.tsx +321 -0
- package/src/components/custom/ActiveWork/active-work-depth.test.tsx +102 -0
- package/src/components/custom/ActiveWork/file-history-fixture.ts +91 -0
- package/src/components/custom/ActiveWork/format-time.test.ts +23 -0
- package/src/components/custom/ActiveWork/format-time.ts +32 -0
- package/src/components/custom/ActiveWork/index.ts +19 -0
- package/src/components/custom/ActiveWork/initiative-fixture.ts +104 -0
- package/src/components/custom/ActiveWork/session-fixture.ts +267 -0
- package/src/components/custom/ActiveWork/session-linkers.ts +56 -0
- package/src/components/custom/ActiveWork/task-list-fixture.ts +97 -0
- package/src/components/custom/CircularTimer/CircularTimer.stories.tsx +4 -3
- package/src/components/custom/DateTime/DateTime.stories.tsx +2 -1
- package/src/components/custom/DateTime/DateTime.test.tsx +3 -1
- package/src/components/custom/EmptyState/EmptyState.stories.tsx +22 -9
- package/src/components/custom/EmptyState/EmptyState.test.tsx +7 -13
- package/src/components/custom/EmptyState/EmptyState.tsx +4 -18
- package/src/components/custom/Fatigue/DualGhostSpark.stories.tsx +4 -3
- package/src/components/custom/Fatigue/FatigueLights.stories.tsx +2 -2
- package/src/components/custom/Fatigue/GhostSpark.stories.tsx +4 -3
- package/src/components/custom/Fatigue/LiveFatigueCard.stories.tsx +2 -2
- package/src/components/custom/Fatigue/LiveFatigueCard.tsx +8 -4
- package/src/components/custom/Fatigue/LiveFatiguePanel.stories.tsx +116 -6
- package/src/components/custom/Fatigue/LiveFatiguePanel.test.tsx +134 -0
- package/src/components/custom/Fatigue/LiveFatiguePanel.tsx +54 -83
- package/src/components/custom/Fatigue/README.md +40 -3
- package/src/components/custom/Fatigue/RomProgressionChart.stories.tsx +2 -2
- package/src/components/custom/Fatigue/SilverRedPalette.stories.tsx +2 -1
- package/src/components/custom/Fatigue/VelocityHero.stories.tsx +4 -3
- package/src/components/custom/Fatigue/VerdictHero.stories.tsx +2 -2
- package/src/components/custom/Fatigue/fatigue-mock.test.ts +0 -5
- package/src/components/custom/Fatigue/fatigue-mock.ts +2 -10
- package/src/components/custom/Fatigue/fatigue-tokens.ts +12 -0
- package/src/components/custom/Fatigue/index.ts +17 -5
- package/src/components/custom/Fatigue/panel-layout.test.ts +149 -0
- package/src/components/custom/Fatigue/panel-layout.ts +185 -0
- package/src/components/custom/Gauge/Gauge.stories.tsx +2 -2
- package/src/components/custom/Gauge/Gauge.test.tsx +1 -1
- package/src/components/custom/Gauge/Gauge.tsx +4 -1
- package/src/components/custom/Metric/Metric.stories.tsx +10 -1
- package/src/components/custom/Metric/Metric.test.tsx +1 -3
- package/src/components/custom/Metric/Metric.tsx +5 -20
- package/src/components/custom/Prose/MarkdownProse.stories.tsx +88 -0
- package/src/components/custom/Prose/MarkdownProse.test.tsx +87 -0
- package/src/components/custom/Prose/MarkdownProse.tsx +201 -0
- package/src/components/custom/Prose/README.md +58 -0
- package/src/components/custom/Prose/index.ts +1 -0
- package/src/components/custom/Scatter/Scatter.stories.tsx +46 -8
- package/src/components/custom/Scatter/Scatter.test.tsx +2 -2
- package/src/components/custom/Scatter/Scatter.tsx +116 -14
- package/src/components/custom/Sidebar/Sidebar.stories.tsx +40 -7
- package/src/components/custom/Sidebar/Sidebar.test.tsx +5 -1
- package/src/components/custom/Sidebar/Sidebar.tsx +16 -33
- package/src/components/custom/Table/Table.stories.tsx +98 -15
- package/src/components/custom/Table/Table.test.tsx +273 -86
- package/src/components/custom/Table/Table.tsx +159 -67
- package/src/components/custom/Table/column-fit.test.ts +75 -0
- package/src/components/custom/Table/column-fit.ts +116 -0
- package/src/components/custom/Table/index.ts +9 -0
- package/src/components/custom/TimerReadout/TimerReadout.stories.tsx +8 -6
- package/src/components/custom/Treemap/Treemap.stories.tsx +2 -2
- package/src/components/custom/Treemap/Treemap.test.tsx +1 -1
- package/src/components/custom/Treemap/Treemap.tsx +7 -2
- package/src/components/custom/Typography/Typography.stories.tsx +28 -1
- package/src/components/custom/Typography/Typography.test.tsx +34 -0
- package/src/components/custom/Typography/Typography.tsx +6 -0
- package/src/components/custom/Typography/index.ts +1 -8
- package/src/components/custom/Workout/ActiveWorkoutPage.stories.tsx +9 -1
- package/src/components/custom/Workout/BaseBadge.stories.tsx +19 -7
- package/src/components/custom/Workout/BaseBadge.test.tsx +31 -11
- package/src/components/custom/Workout/BaseBadge.tsx +3 -0
- package/src/components/custom/Workout/BodyMap.stories.tsx +4 -1
- package/src/components/custom/Workout/BodyMap.tsx +3 -1
- package/src/components/custom/Workout/BodyMapDetailPanel.stories.tsx +16 -4
- package/src/components/custom/Workout/BodyMapDetailPanel.test.tsx +11 -15
- package/src/components/custom/Workout/BodyMapDetailPanel.tsx +45 -9
- package/src/components/custom/Workout/CapacityBandChart.stories.tsx +10 -8
- package/src/components/custom/Workout/CapacityBandChart.test.tsx +24 -51
- package/src/components/custom/Workout/CapacityBandChart.tsx +139 -108
- package/src/components/custom/Workout/DeviationBar.stories.tsx +1 -1
- package/src/components/custom/Workout/DeviationBar.test.tsx +5 -2
- package/src/components/custom/Workout/DeviationBar.tsx +21 -16
- package/src/components/custom/Workout/DualVelocityStrip.stories.tsx +182 -0
- package/src/components/custom/Workout/DualVelocityStrip.test.tsx +3 -2
- package/src/components/custom/Workout/ExerciseCard.stories.tsx +8 -7
- package/src/components/custom/Workout/ExerciseCard.test.tsx +13 -3
- package/src/components/custom/Workout/ExerciseCard.tsx +42 -51
- package/src/components/custom/Workout/ExerciseCardHeading.stories.tsx +7 -7
- package/src/components/custom/Workout/ExerciseDetailPage.stories.tsx +9 -1
- package/src/components/custom/Workout/ExerciseHeading.stories.tsx +8 -8
- package/src/components/custom/Workout/ExerciseHeading.tsx +8 -5
- package/src/components/custom/Workout/ExerciseIndicator.stories.tsx +6 -4
- package/src/components/custom/Workout/ExerciseIndicator.test.tsx +27 -11
- package/src/components/custom/Workout/ExerciseIndicator.tsx +14 -15
- package/src/components/custom/Workout/FatigueMeter.stories.tsx +5 -5
- package/src/components/custom/Workout/InputBar.stories.tsx +4 -5
- package/src/components/custom/Workout/IntensityBar.stories.tsx +1 -1
- package/src/components/custom/Workout/IntensityBar.test.tsx +5 -1
- package/src/components/custom/Workout/IntensityBar.tsx +4 -2
- package/src/components/custom/Workout/LiveAuraFrame.stories.tsx +5 -4
- package/src/components/custom/Workout/MesoCard.stories.tsx +4 -1
- package/src/components/custom/Workout/MesoCard.test.tsx +7 -18
- package/src/components/custom/Workout/MesoCard.tsx +12 -9
- package/src/components/custom/Workout/MesoProgressBar.stories.tsx +1 -1
- package/src/components/custom/Workout/MesoProgressBar.test.tsx +18 -11
- package/src/components/custom/Workout/MesoProgressBar.tsx +15 -13
- package/src/components/custom/Workout/MesoStatusCard.stories.tsx +2 -1
- package/src/components/custom/Workout/MesoStatusCard.test.tsx +14 -44
- package/src/components/custom/Workout/MesoStatusCard.tsx +9 -23
- package/src/components/custom/Workout/MetricTiles.stories.tsx +3 -2
- package/src/components/custom/Workout/MuscleGroupChip.stories.tsx +2 -8
- package/src/components/custom/Workout/MuscleGroupChip.test.tsx +23 -31
- package/src/components/custom/Workout/MuscleGroupChip.tsx +28 -67
- package/src/components/custom/Workout/PlaceholderStrip.stories.tsx +1 -1
- package/src/components/custom/Workout/PlaceholderStrip.test.tsx +17 -10
- package/src/components/custom/Workout/PlaceholderStrip.tsx +9 -8
- package/src/components/custom/Workout/PrBadge.stories.tsx +2 -1
- package/src/components/custom/Workout/PrBadge.test.tsx +3 -9
- package/src/components/custom/Workout/PrBadge.tsx +13 -17
- package/src/components/custom/Workout/PrHistoryModal.stories.tsx +4 -1
- package/src/components/custom/Workout/PrHistoryModal.test.tsx +13 -36
- package/src/components/custom/Workout/PrHistoryModal.tsx +8 -4
- package/src/components/custom/Workout/ProgramPlanningPage.stories.tsx +6 -1
- package/src/components/custom/Workout/README.md +11 -6
- package/src/components/custom/Workout/ReadinessCheck.stories.tsx +3 -2
- package/src/components/custom/Workout/ReadinessCheck.test.tsx +12 -18
- package/src/components/custom/Workout/ReadinessCheck.tsx +19 -3
- package/src/components/custom/Workout/RestTimer.stories.tsx +3 -2
- package/src/components/custom/Workout/ScheduleTiles.stories.tsx +3 -2
- package/src/components/custom/Workout/ScheduleTiles.test.tsx +3 -4
- package/src/components/custom/Workout/ScheduleTiles.tsx +4 -7
- package/src/components/custom/Workout/SegmentedBar.stories.tsx +5 -5
- package/src/components/custom/Workout/SegmentedBar.tsx +6 -2
- package/src/components/custom/Workout/SegmentedProgressBar.stories.tsx +5 -5
- package/src/components/custom/Workout/SessionHeader.stories.tsx +6 -6
- package/src/components/custom/Workout/SessionHeader.tsx +12 -12
- package/src/components/custom/Workout/SessionRail.stories.tsx +12 -11
- package/src/components/custom/Workout/SessionRail.tsx +7 -9
- package/src/components/custom/Workout/SetBar.stories.tsx +10 -6
- package/src/components/custom/Workout/SetBar.test.tsx +49 -4
- package/src/components/custom/Workout/SetBar.tsx +38 -12
- package/src/components/custom/Workout/SetRow.stories.tsx +3 -2
- package/src/components/custom/Workout/SetRow.test.tsx +16 -2
- package/src/components/custom/Workout/SetRow.tsx +61 -23
- package/src/components/custom/Workout/SetStrip.stories.tsx +60 -5
- package/src/components/custom/Workout/SetStrip.test.tsx +25 -0
- package/src/components/custom/Workout/SetStrip.tsx +24 -4
- package/src/components/custom/Workout/SetTableHeader.stories.tsx +6 -6
- package/src/components/custom/Workout/SetTableHeader.tsx +9 -12
- package/src/components/custom/Workout/SetsRepsLoad.stories.tsx +7 -7
- package/src/components/custom/Workout/SetsRepsLoad.tsx +3 -5
- package/src/components/custom/Workout/Sparkline.stories.tsx +1 -1
- package/src/components/custom/Workout/Sparkline.test.tsx +37 -19
- package/src/components/custom/Workout/Sparkline.tsx +14 -18
- package/src/components/custom/Workout/StatusDot.stories.tsx +1 -1
- package/src/components/custom/Workout/StatusDot.test.tsx +44 -5
- package/src/components/custom/Workout/StatusDot.tsx +93 -63
- package/src/components/custom/Workout/StatusPill.stories.tsx +1 -1
- package/src/components/custom/Workout/StatusPill.test.tsx +6 -15
- package/src/components/custom/Workout/StatusPill.tsx +27 -38
- package/src/components/custom/Workout/StrengthTrendChart.stories.tsx +9 -3
- package/src/components/custom/Workout/StrengthTrendChart.test.tsx +15 -37
- package/src/components/custom/Workout/StrengthTrendChart.tsx +31 -30
- package/src/components/custom/Workout/SupersetWrapper.stories.tsx +27 -64
- package/src/components/custom/Workout/SupersetWrapper.test.tsx +16 -14
- package/src/components/custom/Workout/SupersetWrapper.tsx +17 -21
- package/src/components/custom/Workout/TempoDisplay.stories.tsx +22 -7
- package/src/components/custom/Workout/TempoDisplay.test.tsx +18 -4
- package/src/components/custom/Workout/TrainingStatusPage.stories.tsx +9 -1
- package/src/components/custom/Workout/VelocityStrip.compact.stories.tsx +4 -1
- package/src/components/custom/Workout/VelocityStrip.dual.stories.tsx +7 -4
- package/src/components/custom/Workout/VelocityStrip.expanded.stories.tsx +4 -1
- package/src/components/custom/Workout/VelocityStrip.hero.stories.tsx +4 -1
- package/src/components/custom/Workout/VelocityStrip.stories.tsx +12 -6
- package/src/components/custom/Workout/VelocityStrip.tsx +3 -0
- package/src/components/custom/Workout/VolumeLandmarkBar.stories.tsx +6 -7
- package/src/components/custom/Workout/VolumeLandmarkBar.tsx +15 -6
- package/src/components/custom/Workout/WeekRow.stories.tsx +4 -1
- package/src/components/custom/Workout/WeekRow.test.tsx +18 -15
- package/src/components/custom/Workout/WeekRow.tsx +23 -16
- package/src/components/custom/Workout/WeightBadge.stories.tsx +2 -1
- package/src/components/custom/Workout/WeightBadge.test.tsx +50 -19
- package/src/components/custom/Workout/WeightBadge.tsx +28 -27
- package/src/components/custom/Workout/WorkoutCard.stories.tsx +6 -1
- package/src/components/custom/Workout/WorkoutCard.test.tsx +18 -0
- package/src/components/custom/Workout/WorkoutCard.tsx +35 -57
- package/src/components/custom/Workout/WorkoutPill.stories.tsx +5 -2
- package/src/components/custom/Workout/WorkoutPill.test.tsx +39 -7
- package/src/components/custom/Workout/WorkoutPill.tsx +88 -57
- package/src/components/custom/Workout/ZoneTrack.stories.tsx +7 -6
- package/src/components/custom/Workout/ZoneTrack.tsx +10 -9
- package/src/components/custom/Workout/index.ts +5 -0
- package/src/components/custom/Workout/metricText.stories.tsx +6 -5
- package/src/components/custom/Workout/metricText.tsx +4 -0
- package/src/components/custom/Workout/setHeadingKit.tsx +207 -26
- package/src/components/custom/charts/README.md +61 -0
- package/src/components/custom/charts/SetBarChart.test.tsx +30 -1
- package/src/components/custom/charts/SetBarChart.tsx +42 -4
- package/src/components/custom/charts/SparkBars.stories.tsx +55 -0
- package/src/components/custom/charts/SparkBars.test.tsx +69 -0
- package/src/components/custom/charts/SparkBars.tsx +85 -0
- package/src/components/custom/charts/index.ts +3 -0
- package/src/components/custom/index.ts +3 -0
- package/src/components/custom/stepper/Stepper.stories.tsx +13 -10
- package/src/components/custom/stepper/Stepper.test.tsx +1 -7
- package/src/components/custom/stepper/Stepper.tsx +13 -28
- package/src/components/icons/icons.stories.tsx +1 -1
- package/src/components/icons/icons.tsx +51 -0
- package/src/components/shell/AppShell.stories.tsx +150 -0
- package/src/components/shell/AppShell.test.tsx +70 -0
- package/src/components/shell/AppShell.tsx +90 -0
- package/src/components/shell/BrandLockup.stories.tsx +66 -5
- package/src/components/shell/BrandLockup.test.tsx +34 -1
- package/src/components/shell/BrandLockup.tsx +27 -11
- package/src/components/shell/NavItem.stories.tsx +4 -4
- package/src/components/shell/NavItem.test.tsx +17 -0
- package/src/components/shell/NavItem.tsx +17 -5
- package/src/components/shell/README.md +89 -26
- package/src/components/shell/SideNav.stories.tsx +38 -7
- package/src/components/shell/SideNav.test.tsx +16 -8
- package/src/components/shell/SideNav.tsx +17 -17
- package/src/components/shell/TopBar.stories.tsx +44 -19
- package/src/components/shell/TopBar.test.tsx +34 -12
- package/src/components/shell/TopBar.tsx +61 -40
- package/src/components/shell/brands.tsx +66 -0
- package/src/components/shell/index.ts +9 -8
- package/src/components/shell/{DeviceIndicator.stories.tsx → workout/DeviceIndicator.stories.tsx} +2 -2
- package/src/components/shell/{DeviceIndicator.tsx → workout/DeviceIndicator.tsx} +2 -2
- package/src/components/shell/{DeviceMenu.stories.tsx → workout/DeviceMenu.stories.tsx} +2 -2
- package/src/components/shell/{DeviceMenu.tsx → workout/DeviceMenu.tsx} +3 -3
- package/src/components/shell/{DeviceRow.stories.tsx → workout/DeviceRow.stories.tsx} +2 -2
- package/src/components/shell/{DeviceRow.tsx → workout/DeviceRow.tsx} +3 -3
- package/src/components/shell/{SessionStatePill.stories.tsx → workout/SessionStatePill.stories.tsx} +2 -2
- package/src/components/shell/{SessionStatePill.tsx → workout/SessionStatePill.tsx} +5 -3
- package/src/components/shell/workout/WorkoutShell.stories.tsx +71 -0
- package/src/components/shell/{DashboardShell.test.tsx → workout/WorkoutShell.test.tsx} +19 -8
- package/src/components/shell/workout/WorkoutShell.tsx +77 -0
- package/src/components/shell/workout/WorkoutTopBar.stories.tsx +58 -0
- package/src/components/shell/workout/WorkoutTopBar.test.tsx +39 -0
- package/src/components/shell/workout/WorkoutTopBar.tsx +52 -0
- package/src/components/shell/workout/index.ts +9 -0
- package/src/components/shell/workout/workoutNavItems.tsx +16 -0
- package/src/components/ui/README.md +110 -0
- package/src/components/ui/alert/Alert.stories.tsx +1 -1
- package/src/components/ui/autocomplete/Autocomplete.stories.tsx +11 -13
- package/src/components/ui/autocomplete/Autocomplete.test.tsx +7 -25
- package/src/components/ui/autocomplete/Autocomplete.tsx +21 -28
- package/src/components/ui/avatar/Avatar.stories.tsx +1 -1
- package/src/components/ui/avatar/Avatar.tsx +2 -10
- package/src/components/ui/badge/Badge.stories.tsx +83 -28
- package/src/components/ui/badge/Badge.test.tsx +19 -3
- package/src/components/ui/badge/Badge.tsx +48 -55
- package/src/components/ui/breadcrumbs/Breadcrumbs.stories.tsx +1 -1
- package/src/components/ui/breadcrumbs/Breadcrumbs.tsx +4 -16
- package/src/components/ui/button/Button.stories.tsx +46 -12
- package/src/components/ui/button/Button.tsx +32 -25
- package/src/components/ui/card/Card.stories.tsx +90 -94
- package/src/components/ui/card/Card.test.tsx +80 -6
- package/src/components/ui/card/Card.tsx +150 -203
- package/src/components/ui/checkbox/Checkbox.stories.tsx +1 -1
- package/src/components/ui/checkbox/Checkbox.tsx +6 -26
- package/src/components/ui/chip/Chip.stories.tsx +37 -13
- package/src/components/ui/chip/Chip.test.tsx +10 -6
- package/src/components/ui/chip/Chip.tsx +76 -91
- package/src/components/ui/collapse/Collapse.stories.tsx +23 -23
- package/src/components/ui/collapse/Collapse.tsx +6 -11
- package/src/components/ui/data-row/DataRow.stories.tsx +9 -2
- package/src/components/ui/data-row/DataRow.test.tsx +5 -15
- package/src/components/ui/data-row/DataRow.tsx +18 -7
- package/src/components/ui/divider/Divider.stories.tsx +1 -1
- package/src/components/ui/divider/Divider.tsx +1 -5
- package/src/components/ui/drawer/Drawer.stories.tsx +5 -16
- package/src/components/ui/drawer/Drawer.tsx +13 -30
- package/src/components/ui/floating-overlay-depth.test.tsx +143 -0
- package/src/components/ui/form-field/FormField.stories.tsx +6 -20
- package/src/components/ui/form-field/FormField.test.tsx +1 -5
- package/src/components/ui/form-field/FormField.tsx +10 -46
- package/src/components/ui/help-tip/HelpTip.stories.tsx +8 -19
- package/src/components/ui/help-tip/HelpTip.test.tsx +1 -3
- package/src/components/ui/help-tip/HelpTip.tsx +21 -22
- package/src/components/ui/help-tip/index.ts +7 -1
- package/src/components/ui/icon-box/IconBox.stories.tsx +1 -1
- package/src/components/ui/icon-box/IconBox.test.tsx +1 -7
- package/src/components/ui/icon-box/IconBox.tsx +2 -12
- package/src/components/ui/indicator/Indicator.stories.tsx +1 -1
- package/src/components/ui/indicator/Indicator.tsx +20 -14
- package/src/components/ui/input/Input.stories.tsx +3 -11
- package/src/components/ui/input/Input.test.tsx +2 -10
- package/src/components/ui/input/Input.tsx +10 -25
- package/src/components/ui/input/index.ts +7 -1
- package/src/components/ui/link/Link.stories.tsx +19 -7
- package/src/components/ui/list-item/ListItem.stories.tsx +11 -2
- package/src/components/ui/list-item/ListItem.tsx +2 -9
- package/src/components/ui/menu/Menu.stories.tsx +21 -15
- package/src/components/ui/menu/Menu.test.tsx +2 -11
- package/src/components/ui/menu/Menu.tsx +12 -14
- package/src/components/ui/menu/index.ts +8 -1
- package/src/components/ui/modal/Modal.stories.tsx +2 -2
- package/src/components/ui/modal/Modal.tsx +29 -19
- package/src/components/ui/pill/Pill.stories.tsx +58 -23
- package/src/components/ui/pill/Pill.test.tsx +101 -3
- package/src/components/ui/pill/Pill.tsx +164 -49
- package/src/components/ui/pill/index.ts +1 -1
- package/src/components/ui/popover/Popover.stories.tsx +5 -7
- package/src/components/ui/popover/Popover.test.tsx +1 -6
- package/src/components/ui/popover/Popover.tsx +20 -15
- package/src/components/ui/popover/index.ts +7 -1
- package/src/components/ui/progress/Progress.stories.tsx +3 -12
- package/src/components/ui/progress/Progress.test.tsx +1 -5
- package/src/components/ui/radio/Radio.stories.tsx +42 -21
- package/src/components/ui/radio/Radio.test.tsx +6 -2
- package/src/components/ui/radio/Radio.tsx +23 -22
- package/src/components/ui/section/Section.stories.tsx +5 -14
- package/src/components/ui/section/Section.test.tsx +1 -6
- package/src/components/ui/section/Section.tsx +1 -3
- package/src/components/ui/section/index.ts +1 -5
- package/src/components/ui/select/Select.stories.tsx +3 -13
- package/src/components/ui/select/Select.test.tsx +2 -11
- package/src/components/ui/select/Select.tsx +14 -14
- package/src/components/ui/skeleton/Skeleton.stories.tsx +3 -11
- package/src/components/ui/skeleton/Skeleton.tsx +3 -14
- package/src/components/ui/skeleton/index.ts +1 -7
- package/src/components/ui/spinner/Spinner.stories.tsx +1 -1
- package/src/components/ui/spinner/Spinner.tsx +1 -4
- package/src/components/ui/stack/Stack.stories.tsx +1 -1
- package/src/components/ui/stack/Stack.tsx +1 -1
- package/src/components/ui/surface/Surface.stories.tsx +17 -5
- package/src/components/ui/surface/Surface.test.tsx +88 -28
- package/src/components/ui/surface/Surface.tsx +37 -87
- package/src/components/ui/surface/SurfaceContext.ts +22 -62
- package/src/components/ui/surface/index.ts +8 -0
- package/src/components/ui/surface/resolveSurface.ts +98 -0
- package/src/components/ui/surface/surface.contract.test.ts +6 -1
- package/src/components/ui/switch/Switch.stories.tsx +1 -1
- package/src/components/ui/switch/Switch.tsx +7 -6
- package/src/components/ui/tabs/Tabs.stories.tsx +1 -1
- package/src/components/ui/tabs/Tabs.tsx +7 -22
- package/src/components/ui/tabs/index.ts +1 -7
- package/src/components/ui/tile/Tile.stories.tsx +1 -1
- package/src/components/ui/tile/Tile.tsx +3 -0
- package/src/components/ui/toast/Toast.stories.tsx +1 -1
- package/src/components/ui/toast/Toast.test.tsx +2 -8
- package/src/components/ui/toast/Toast.tsx +43 -53
- package/src/components/ui/toast/index.ts +0 -1
- package/src/components/ui/toolbar-button/ToolbarButton.stories.tsx +92 -71
- package/src/components/ui/toolbar-button/ToolbarButton.test.tsx +3 -18
- package/src/components/ui/toolbar-button/ToolbarButton.tsx +25 -43
- package/src/components/ui/tooltip/Tooltip.stories.tsx +12 -3
- package/src/components/ui/tooltip/Tooltip.test.tsx +21 -3
- package/src/components/ui/tooltip/Tooltip.tsx +55 -36
- package/src/components/ui/tooltip/index.ts +1 -1
- package/src/components/ui/trigger/TriggerSurface.test.tsx +215 -0
- package/src/components/ui/trigger/TriggerSurface.tsx +81 -0
- package/src/components/ui/trigger/index.ts +2 -0
- package/src/stories/PresetShowcase.stories.tsx +100 -47
- package/src/test/no-device-internals.test.ts +3 -3
- package/src/theme/ChoosingTokens.stories.tsx +48 -0
- package/src/theme/ColorPalettes.stories.tsx +62 -45
- package/src/theme/ColorPrimitives.stories.tsx +35 -35
- package/src/theme/Depth.stories.tsx +132 -65
- package/src/theme/DepthCalibration.stories.tsx +23 -21
- package/src/theme/ThemeProvider.test.tsx +4 -4
- package/src/theme/barrel.ts +7 -6
- package/src/theme/color-stories.coverage.test.ts +1 -1
- package/src/theme/color-utils.ts +41 -29
- package/src/theme/config.completeness.test.ts +1 -1
- package/src/theme/config.ts +28 -0
- package/src/theme/elevation.test.ts +82 -56
- package/src/theme/elevation.ts +77 -561
- package/src/theme/global.css +30 -2
- package/src/theme/grey-ramp.test.ts +24 -8
- package/src/theme/lift.test.ts +39 -0
- package/src/theme/lift.ts +102 -0
- package/src/theme/materials.test.ts +5 -2
- package/src/theme/materials.ts +38 -4
- package/src/theme/native-theming-guard.test.ts +5 -5
- package/src/theme/presets/apply.ts +4 -0
- package/src/theme/presets/audiobook.ts +5 -2
- package/src/theme/presets/default.ts +4 -0
- package/src/theme/presets/index.ts +14 -1
- package/src/theme/presets/types.ts +1 -1
- package/src/theme/semantic-contrast.test.ts +13 -4
- package/src/theme/status-distinctness.test.ts +66 -0
- package/src/theme/surface-planes.test.ts +37 -0
- package/src/theme/surface-planes.ts +68 -0
- package/src/theme/token-export-guard.test.ts +1 -3
- package/src/theme/tokens/primitives.test.ts +15 -7
- package/src/theme/tokens/primitives.ts +65 -33
- package/src/theme/tokens/semantic.ts +71 -37
- package/src/theme/wash-ladder.test.ts +58 -0
- package/src/theme/workout-tokens.ts +1 -7
- package/src/types/jest-axe.d.ts +2 -6
- package/src/types/raw-md.d.ts +5 -0
- package/src/utils/colors.ts +4 -4
- package/src/utils/form.ts +1 -3
- package/src/utils/index.ts +2 -7
- package/src/utils/number-format.ts +17 -0
- package/src/utils/workout-format.ts +15 -6
- package/src/web-jsx/jsx-runtime.ts +1 -5
- package/tailwind.config.js +5 -0
- package/src/components/custom/Workout/ExerciseCardUnified.stories.tsx +0 -151
- package/src/components/custom/Workout/RowInventory.stories.tsx +0 -408
- package/src/components/custom/Workout/S3FullRail.stories.tsx +0 -46
- package/src/components/custom/Workout/S3SessionPace.stories.tsx +0 -95
- package/src/components/custom/Workout/S3SessionRailHeading.stories.tsx +0 -61
- package/src/components/custom/Workout/S3SetTypes.stories.tsx +0 -176
- package/src/components/custom/Workout/S3WorkoutExpansion.stories.tsx +0 -240
- package/src/components/shell/DashboardShell.stories.tsx +0 -65
- package/src/components/shell/DashboardShell.tsx +0 -75
- package/src/components/shell/SessionRailSpecimen.stories.tsx +0 -753
- package/src/theme/elevation.stories.tsx +0 -346
- package/src/utils/useTheme.ts +0 -72
- /package/src/components/shell/{DeviceIndicator.test.tsx → workout/DeviceIndicator.test.tsx} +0 -0
- /package/src/components/shell/{DeviceMenu.test.tsx → workout/DeviceMenu.test.tsx} +0 -0
- /package/src/components/shell/{DeviceRow.test.tsx → workout/DeviceRow.test.tsx} +0 -0
- /package/src/components/shell/{SessionStatePill.test.tsx → workout/SessionStatePill.test.tsx} +0 -0
package/dist/theme/index.d.ts
CHANGED
|
@@ -1,158 +1,137 @@
|
|
|
1
1
|
import { ThemeMode, getSemanticColors } from './tokens.js';
|
|
2
|
-
export { CATEGORICAL_CVD_SAFE_MAX, CategoricalVariant, SURFACE_PLANE_STEPS, bestTextColor, buttonSizes, categoricalPalette, discreteRainbow, divergingScale, getCategoricalColor, getDiscreteRainbowColor, greyRamp, primitiveBorderRadius, primitiveBreakpoints, primitiveColors, primitiveRamps, primitiveSpacing, primitiveTypography, primitiveZIndex, semanticColorsDark, semanticColorsLight, semanticTypography, sequentialEffort } from './tokens.js';
|
|
3
|
-
import { ViewStyle, ViewProps } from 'react-native';
|
|
2
|
+
export { CATEGORICAL_CVD_SAFE_MAX, CategoricalVariant, SURFACE_PLANE_STEPS, alertRedVivid, bestTextColor, buttonSizes, categoricalPalette, discreteRainbow, divergingScale, getCategoricalColor, getDiscreteRainbowColor, greyRamp, primitiveBorderRadius, primitiveBreakpoints, primitiveColors, primitiveRamps, primitiveSpacing, primitiveTypography, primitiveZIndex, semanticColorsDark, semanticColorsLight, semanticTypography, sequentialEffort } from './tokens.js';
|
|
3
|
+
import { ViewStyle, TextStyle, ViewProps } from 'react-native';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* LIFT — the treatment a plane wears when it sits above its neighbour.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* - Shadow intensity and style (raised/pressed)
|
|
11
|
-
* - Dynamically calculated shadow colors (derived from surface color)
|
|
12
|
-
* - Semantic name for reference
|
|
8
|
+
* Tone says which plane a container sits on; lift says it is resting ON the one
|
|
9
|
+
* below. Two cues, both lit from above:
|
|
13
10
|
*
|
|
14
|
-
*
|
|
11
|
+
* RIM a crisp 1px top rim-light. The one neumorphism half that survives
|
|
12
|
+
* near black. paperSheet's hero rim is 0.20 (VW-99 run 2); a card is
|
|
13
|
+
* not a hero, so the default lift sits one grade quieter at 0.12,
|
|
14
|
+
* chosen against 0.20 side by side in Lab/Depth (2026-09-08).
|
|
15
|
+
* AMBIENT a soft shadow cast onto the plane below, growing with the number of
|
|
16
|
+
* planes crossed. Content lifts (1–3) are tight; floating lifts (4–5)
|
|
17
|
+
* are large and soft, describing separation from the page rather than
|
|
18
|
+
* rank in a stack.
|
|
15
19
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* All colors are calculated dynamically from a base surface color,
|
|
21
|
-
* allowing for custom surfaces and consistent color relationships.
|
|
22
|
-
*
|
|
23
|
-
* Lighting Model: Light source from upper-right corner
|
|
24
|
-
* - Raised elements are always lighter than base (consistent across themes)
|
|
25
|
-
* - Base colors must allow sufficient lightening in both themes
|
|
20
|
+
* Neither cue is a hairline ring: a ring is an edge, not a lift, and stays the
|
|
21
|
+
* divider's job. Web carries the multi-layer boxShadow; native gets the single
|
|
22
|
+
* shadow* set. The tone underneath is load-bearing on its own either way.
|
|
26
23
|
*/
|
|
27
24
|
|
|
28
|
-
type
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
|
|
36
|
-
/** Shadow style: raised (floating) or pressed (inset) */
|
|
37
|
-
shadowStyle: 'raised' | 'pressed';
|
|
38
|
-
/** Description of use case */
|
|
39
|
-
description: string;
|
|
25
|
+
type LiftStep = 1 | 2 | 3 | 4 | 5;
|
|
26
|
+
/** The lowest lift that is FLOATING (menu, popover, toast) rather than content. */
|
|
27
|
+
declare const FLOATING_LIFT_MIN: LiftStep;
|
|
28
|
+
/** Rim-light alpha per mode. Light mode is a placeholder pending its own pass. */
|
|
29
|
+
declare const LIFT_RIM_ALPHA: Record<ThemeMode, number>;
|
|
30
|
+
interface LiftOptions {
|
|
31
|
+
/** Override the rim alpha. `0` drops the rim and leaves the ambient shadow alone. */
|
|
32
|
+
rim?: number;
|
|
40
33
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
34
|
+
/** The web boxShadow string for a lift: rim first, then the ambient layers. */
|
|
35
|
+
declare function liftShadow(step: LiftStep, mode?: ThemeMode, opts?: LiftOptions): string;
|
|
36
|
+
/** Platform style for a lift. Compose after `backgroundColor`; never instead of it. */
|
|
37
|
+
declare function liftStyle(step: LiftStep, mode?: ThemeMode, opts?: LiftOptions): ViewStyle;
|
|
38
|
+
|
|
46
39
|
/**
|
|
47
|
-
*
|
|
48
|
-
* Results are cached to avoid redundant calculations.
|
|
40
|
+
* The surface planes: the grey-ramp steps a container can sit on, darkest first.
|
|
49
41
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* @returns Calculated surface color (hex)
|
|
54
|
-
*/
|
|
55
|
-
declare function getElevationSurface(baseColor: string, level: ElevationLevel, theme: 'light' | 'dark'): string;
|
|
56
|
-
/**
|
|
57
|
-
* Get shadow style for an elevation level, calculated dynamically from surface color.
|
|
58
|
-
* Results are cached to avoid redundant calculations.
|
|
42
|
+
* Every background a `<Surface>` or `<Card>` paints resolves through this list,
|
|
43
|
+
* so a container can only ever land ON the ramp. Stepping up (a lifted card) or
|
|
44
|
+
* down (a pressed well) is indexing `PLANE_ORDER`, clamped at both ends.
|
|
59
45
|
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
* @param isHovered - Whether element is hovered
|
|
64
|
-
* @returns ViewStyle with shadow properties
|
|
46
|
+
* `frame` is the bezel the ramp sits inside and the floor a pressed surface
|
|
47
|
+
* clamps at. It replaced a separate `inset` level in TD-07.14: at ΔE 1.10 from
|
|
48
|
+
* the frame that level was an imperceptible duplicate.
|
|
65
49
|
*/
|
|
50
|
+
|
|
51
|
+
type SurfaceLevel = 'frame' | 'background' | 'base' | 'elevated' | 'raised' | 'overlay';
|
|
52
|
+
declare const SURFACE_LEVEL_TOKEN: {
|
|
53
|
+
readonly frame: "background-frame";
|
|
54
|
+
readonly background: "background-base";
|
|
55
|
+
readonly base: "surface-base";
|
|
56
|
+
readonly elevated: "surface-elevated";
|
|
57
|
+
readonly raised: "surface-raised";
|
|
58
|
+
readonly overlay: "surface-overlay";
|
|
59
|
+
};
|
|
60
|
+
/** Darkest → lightest. Kept in lockstep with the grey ramp and surface.contract.test. */
|
|
61
|
+
declare const PLANE_ORDER: readonly ["frame", "background", "base", "elevated", "raised", "overlay"];
|
|
62
|
+
/** The background hex for a plane under a theme mode (literal hex, never a var()). */
|
|
63
|
+
declare function surfaceBackground(level: SurfaceLevel, mode: ThemeMode): string;
|
|
66
64
|
/**
|
|
67
|
-
* The
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
* composite layer. Material dropped shadow-as-hierarchy for the same reason.
|
|
72
|
-
* Inline hierarchy is the hairline's job (`hairline-*`), which composites by a
|
|
73
|
-
* constant amount over any plane.
|
|
74
|
-
*
|
|
75
|
-
* At 4+ the element is genuinely FLOATING over a backdrop — menu, popover,
|
|
76
|
-
* toast — where a large soft shadow describes separation from the page rather
|
|
77
|
-
* than a rank in a stack. Those should also carry a hairline ring.
|
|
65
|
+
* The plane a `<Surface pressed>` resolves to: its parent's plane stepped one
|
|
66
|
+
* index DOWN the ramp, clamped at the `frame` floor.
|
|
67
|
+
* overlay→raised, raised→elevated, elevated→base, base→background,
|
|
68
|
+
* background→frame, frame→frame (clamped).
|
|
78
69
|
*/
|
|
79
|
-
declare
|
|
80
|
-
declare function getElevationShadow(baseColor: string, level: ElevationLevel, theme: 'light' | 'dark', isHovered?: boolean): ViewStyle;
|
|
70
|
+
declare function pressedLevel(parent: SurfaceLevel): SurfaceLevel;
|
|
81
71
|
/**
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
72
|
+
* The plane a lifted surface resolves to: its parent's plane stepped `steps`
|
|
73
|
+
* UP the ramp, clamped at `overlay`. The clamp is what makes raised-on-raised
|
|
74
|
+
* unrepresentable: a card inside an overlay stays on the overlay and relies on
|
|
75
|
+
* its lift treatment, never on a lighter grey that is not on the ramp.
|
|
85
76
|
*/
|
|
86
|
-
declare
|
|
77
|
+
declare function raisedLevel(parent: SurfaceLevel, steps: number): SurfaceLevel;
|
|
78
|
+
|
|
87
79
|
/**
|
|
88
|
-
*
|
|
89
|
-
* fill colour so the rim/shadow tints track the darker fill. Composes WITH the
|
|
90
|
-
* darker pressed fill: on web it adds an inset boxShadow; on the native path
|
|
91
|
-
* (no inset-shadow support) it's a no-op and the recess reads via the fill
|
|
92
|
-
* alone — so a pressed surface stays legibly sunken with or without the shadow.
|
|
80
|
+
* Elevation — numeric depth that resolves to the grey ramp.
|
|
93
81
|
*
|
|
94
|
-
*
|
|
95
|
-
* @param theme - Current theme ('light' or 'dark').
|
|
96
|
-
*/
|
|
97
|
-
declare function getPressedRecessShadow(fillColor: string, theme: 'light' | 'dark'): ViewStyle;
|
|
98
|
-
/**
|
|
99
|
-
* Get base surface color from theme.
|
|
100
|
-
* This is the foundation color that all elevations are calculated from.
|
|
82
|
+
* A level is a plane on the surface ramp plus the treatment that plane wears:
|
|
101
83
|
*
|
|
102
|
-
*
|
|
84
|
+
* -2 frame recessed (inset well, two planes down)
|
|
85
|
+
* -1 background recessed (inset well, one plane down)
|
|
86
|
+
* 0 base flat, no treatment
|
|
87
|
+
* 1 elevated lifted (tone + rim-light + ambient shadow)
|
|
88
|
+
* 2 raised lifted
|
|
89
|
+
* 3 overlay lifted
|
|
90
|
+
* 4 overlay floating (same recipe, larger shadow)
|
|
91
|
+
* 5 overlay floating
|
|
103
92
|
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
93
|
+
* These are ABSOLUTE readings from the page plane. `<Surface>` and `<Card>`
|
|
94
|
+
* apply the same numbers RELATIVE to the plane they are nested in; see
|
|
95
|
+
* `resolveSurfaceDepth`.
|
|
107
96
|
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
97
|
+
* No level can produce a colour off the ramp. The previous ladder lightened a
|
|
98
|
+
* base colour in HSV by 2.5% per level and put five of its six stops between
|
|
99
|
+
* ramp steps, drifting warmer as it rose while the ramp is designed to cool.
|
|
100
|
+
* Floating levels share the overlay plane on purpose: past the top of the ramp,
|
|
101
|
+
* separation is the shadow's job, not a lighter grey.
|
|
110
102
|
*
|
|
111
|
-
*
|
|
103
|
+
* Depth is TONE + LIFT by default. The earlier rule that levels 1–3 separate by
|
|
104
|
+
* tone alone (TD-07.16) was reversed on 2026-09-08: the tight upper steps of the
|
|
105
|
+
* ramp (ΔL* 2.5–3) need the second channel, and a soft ambient shadow on a
|
|
106
|
+
* near-black plane is not inert once the rim-light gives it an edge to fall
|
|
107
|
+
* from. See Foundations/Depth.
|
|
112
108
|
*/
|
|
113
|
-
|
|
109
|
+
|
|
110
|
+
type ElevationLevel = -2 | -1 | 0 | 1 | 2 | 3 | 4 | 5;
|
|
111
|
+
declare const ELEVATION_PLANE: Record<ElevationLevel, SurfaceLevel>;
|
|
112
|
+
/** The lowest elevation that is floating (menu, popover, toast) rather than content. */
|
|
113
|
+
declare const FLOATING_ELEVATION_MIN: ElevationLevel;
|
|
114
|
+
/** Elevation backing a `<Surface pressed>` recess: one plane down. */
|
|
115
|
+
declare const PRESSED_ELEVATION_LEVEL: ElevationLevel;
|
|
116
|
+
/** The ramp plane an absolute elevation sits on. */
|
|
117
|
+
declare function elevationPlane(level: ElevationLevel): SurfaceLevel;
|
|
118
|
+
/** The background hex for an absolute elevation: always a ramp step. */
|
|
119
|
+
declare function getElevationSurface(level: ElevationLevel, mode?: ThemeMode): string;
|
|
114
120
|
/**
|
|
115
|
-
*
|
|
116
|
-
*
|
|
121
|
+
* Inner-shadow recess for a pressed (sunken) surface: the `insetWell` material's
|
|
122
|
+
* cut, which the wall calibrated in VW-99. Web only; on native the recess reads
|
|
123
|
+
* from the darker fill alone, which is why the fill is never optional.
|
|
117
124
|
*/
|
|
118
|
-
declare
|
|
119
|
-
readonly button: {
|
|
120
|
-
readonly allowed: readonly [2];
|
|
121
|
-
readonly default: 2;
|
|
122
|
-
readonly hover: 3;
|
|
123
|
-
};
|
|
124
|
-
readonly card: {
|
|
125
|
-
readonly allowed: readonly [1, 2, 3];
|
|
126
|
-
readonly default: 2;
|
|
127
|
-
readonly hover: 3;
|
|
128
|
-
};
|
|
129
|
-
readonly input: {
|
|
130
|
-
readonly allowed: readonly [-2, -1, 0];
|
|
131
|
-
readonly default: -1;
|
|
132
|
-
};
|
|
133
|
-
readonly overlay: {
|
|
134
|
-
readonly allowed: readonly [4, 5];
|
|
135
|
-
readonly default: 4;
|
|
136
|
-
};
|
|
137
|
-
};
|
|
138
|
-
type ComponentType = keyof typeof componentElevationRanges;
|
|
125
|
+
declare function getPressedRecessShadow(fillColor: string, _mode?: ThemeMode): ViewStyle;
|
|
139
126
|
/**
|
|
140
|
-
*
|
|
127
|
+
* The treatment an absolute elevation wears: a recess below 0, nothing at 0,
|
|
128
|
+
* a lift above it. Compose after `backgroundColor`.
|
|
141
129
|
*/
|
|
142
|
-
declare function
|
|
143
|
-
type GlowIntensity = 'subtle' | 'medium' | 'strong';
|
|
130
|
+
declare function getElevationShadow(level: ElevationLevel, mode?: ThemeMode, opts?: LiftOptions): ViewStyle;
|
|
131
|
+
type GlowIntensity = 'tight' | 'subtle' | 'medium' | 'strong';
|
|
144
132
|
/**
|
|
145
|
-
*
|
|
146
|
-
*
|
|
147
|
-
* Creates a colored radial glow around an element, useful for:
|
|
148
|
-
* - Active recording indicators (orange glow)
|
|
149
|
-
* - Success states (green glow)
|
|
150
|
-
* - Error/danger indicators (red glow)
|
|
151
|
-
* - Focus rings and attention-drawing elements
|
|
152
|
-
*
|
|
153
|
-
* @param color - Glow color (hex string, e.g. '#FF7900')
|
|
154
|
-
* @param intensity - Glow intensity level
|
|
155
|
-
* @returns ViewStyle with platform-specific shadow properties
|
|
133
|
+
* A coloured radial glow around an element, for emphasis and active states:
|
|
134
|
+
* a live recording indicator, a success or error pulse, a focus halo.
|
|
156
135
|
*/
|
|
157
136
|
declare function getGlowShadow(color: string, intensity?: GlowIntensity): ViewStyle;
|
|
158
137
|
|
|
@@ -186,26 +165,40 @@ declare const lightThemeCSSVars: {
|
|
|
186
165
|
readonly '--color-brand-primary-light': "#FFA063";
|
|
187
166
|
readonly '--color-brand-primary-dark': "#DA5F00";
|
|
188
167
|
readonly '--color-brand-primary-subtle': "rgba(255, 121, 0, 0.08)";
|
|
168
|
+
readonly '--color-brand-primary-muted': "rgba(255, 121, 0, 0.30)";
|
|
169
|
+
readonly '--color-brand-primary-strong': "rgba(255, 121, 0, 0.50)";
|
|
189
170
|
readonly '--color-brand-secondary': "#307B9B";
|
|
190
171
|
readonly '--color-brand-secondary-light': "#2697B7";
|
|
191
172
|
readonly '--color-brand-secondary-dark': "#2A617F";
|
|
192
173
|
readonly '--color-brand-secondary-subtle': "rgba(48, 123, 155, 0.08)";
|
|
174
|
+
readonly '--color-brand-secondary-muted': "rgba(48, 123, 155, 0.30)";
|
|
175
|
+
readonly '--color-brand-secondary-strong': "rgba(48, 123, 155, 0.50)";
|
|
193
176
|
readonly '--color-on-brand-primary': "#FFFFFF";
|
|
194
177
|
readonly '--color-on-brand-secondary': "#FFFFFF";
|
|
195
178
|
readonly '--color-status-success': "#2ED573";
|
|
196
179
|
readonly '--color-status-success-subtle': "#E3FFEE";
|
|
180
|
+
readonly '--color-status-success-muted': "rgba(46, 213, 115, 0.30)";
|
|
181
|
+
readonly '--color-status-success-strong': "rgba(46, 213, 115, 0.50)";
|
|
197
182
|
readonly '--color-status-live': "#2ED573";
|
|
198
183
|
readonly '--color-status-live-muted': "#22A444";
|
|
199
184
|
readonly '--color-status-error': "#D14343";
|
|
200
185
|
readonly '--color-status-error-subtle': "#FFF4F4";
|
|
186
|
+
readonly '--color-status-error-muted': "rgba(209, 67, 67, 0.30)";
|
|
187
|
+
readonly '--color-status-error-strong': "rgba(209, 67, 67, 0.50)";
|
|
201
188
|
readonly '--color-status-warning': "#F9B415";
|
|
202
189
|
readonly '--color-status-warning-subtle': "#FFF7DD";
|
|
190
|
+
readonly '--color-status-warning-muted': "rgba(249, 180, 21, 0.30)";
|
|
191
|
+
readonly '--color-status-warning-strong': "rgba(249, 180, 21, 0.50)";
|
|
203
192
|
readonly '--color-status-info': "#2196F3";
|
|
204
193
|
readonly '--color-status-info-subtle': "#EFF8FF";
|
|
205
|
-
readonly '--color-status-
|
|
194
|
+
readonly '--color-status-info-muted': "rgba(33, 150, 243, 0.30)";
|
|
195
|
+
readonly '--color-status-info-strong': "rgba(33, 150, 243, 0.50)";
|
|
196
|
+
readonly '--color-status-error-vivid': "#FF4757";
|
|
206
197
|
readonly '--color-status-error-vivid-light': "#E05254";
|
|
207
198
|
readonly '--color-status-error-vivid-dark': "#A4221C";
|
|
208
199
|
readonly '--color-status-error-vivid-subtle': "rgba(255, 71, 87, 0.12)";
|
|
200
|
+
readonly '--color-status-error-vivid-muted': "rgba(255, 71, 87, 0.30)";
|
|
201
|
+
readonly '--color-status-error-vivid-strong': "rgba(255, 71, 87, 0.50)";
|
|
209
202
|
readonly '--color-text-primary': "#121828";
|
|
210
203
|
readonly '--color-text-secondary': "#65748B";
|
|
211
204
|
readonly '--color-text-tertiary': "#A29F9D";
|
|
@@ -302,26 +295,40 @@ declare const darkThemeCSSVars: {
|
|
|
302
295
|
readonly '--color-brand-primary-light': "#FFA063";
|
|
303
296
|
readonly '--color-brand-primary-dark': "#DA5F00";
|
|
304
297
|
readonly '--color-brand-primary-subtle': "rgba(255, 121, 0, 0.12)";
|
|
298
|
+
readonly '--color-brand-primary-muted': "rgba(255, 121, 0, 0.30)";
|
|
299
|
+
readonly '--color-brand-primary-strong': "rgba(255, 121, 0, 0.50)";
|
|
305
300
|
readonly '--color-brand-secondary': "#307B9B";
|
|
306
301
|
readonly '--color-brand-secondary-light': "#2697B7";
|
|
307
302
|
readonly '--color-brand-secondary-dark': "#2A617F";
|
|
308
303
|
readonly '--color-brand-secondary-subtle': "rgba(48, 123, 155, 0.12)";
|
|
304
|
+
readonly '--color-brand-secondary-muted': "rgba(48, 123, 155, 0.30)";
|
|
305
|
+
readonly '--color-brand-secondary-strong': "rgba(48, 123, 155, 0.50)";
|
|
309
306
|
readonly '--color-on-brand-primary': "#FFFFFF";
|
|
310
307
|
readonly '--color-on-brand-secondary': "#FFFFFF";
|
|
311
308
|
readonly '--color-status-success': "#2ED573";
|
|
312
309
|
readonly '--color-status-success-subtle': "rgba(46, 213, 115, 0.12)";
|
|
310
|
+
readonly '--color-status-success-muted': "rgba(46, 213, 115, 0.30)";
|
|
311
|
+
readonly '--color-status-success-strong': "rgba(46, 213, 115, 0.50)";
|
|
313
312
|
readonly '--color-status-live': "#2ED573";
|
|
314
313
|
readonly '--color-status-live-muted': "#22A444";
|
|
315
314
|
readonly '--color-status-error': "#D14343";
|
|
316
315
|
readonly '--color-status-error-subtle': "rgba(209, 67, 67, 0.12)";
|
|
316
|
+
readonly '--color-status-error-muted': "rgba(209, 67, 67, 0.30)";
|
|
317
|
+
readonly '--color-status-error-strong': "rgba(209, 67, 67, 0.50)";
|
|
317
318
|
readonly '--color-status-warning': "#F9B415";
|
|
318
319
|
readonly '--color-status-warning-subtle': "rgba(249, 180, 21, 0.12)";
|
|
320
|
+
readonly '--color-status-warning-muted': "rgba(249, 180, 21, 0.30)";
|
|
321
|
+
readonly '--color-status-warning-strong': "rgba(249, 180, 21, 0.50)";
|
|
319
322
|
readonly '--color-status-info': "#2196F3";
|
|
320
323
|
readonly '--color-status-info-subtle': "rgba(33, 150, 243, 0.12)";
|
|
321
|
-
readonly '--color-status-
|
|
324
|
+
readonly '--color-status-info-muted': "rgba(33, 150, 243, 0.30)";
|
|
325
|
+
readonly '--color-status-info-strong': "rgba(33, 150, 243, 0.50)";
|
|
326
|
+
readonly '--color-status-error-vivid': "#FF4757";
|
|
322
327
|
readonly '--color-status-error-vivid-light': "#E05254";
|
|
323
328
|
readonly '--color-status-error-vivid-dark': "#A4221C";
|
|
324
329
|
readonly '--color-status-error-vivid-subtle': "rgba(255, 71, 87, 0.12)";
|
|
330
|
+
readonly '--color-status-error-vivid-muted': "rgba(255, 71, 87, 0.30)";
|
|
331
|
+
readonly '--color-status-error-vivid-strong': "rgba(255, 71, 87, 0.50)";
|
|
325
332
|
readonly '--color-text-primary': "#F9F6F3";
|
|
326
333
|
readonly '--color-text-secondary': "#A29F9D";
|
|
327
334
|
readonly '--color-text-tertiary': "#888684";
|
|
@@ -418,26 +425,40 @@ declare function getThemeCSSVars(mode: ThemeMode): {
|
|
|
418
425
|
readonly '--color-brand-primary-light': "#FFA063";
|
|
419
426
|
readonly '--color-brand-primary-dark': "#DA5F00";
|
|
420
427
|
readonly '--color-brand-primary-subtle': "rgba(255, 121, 0, 0.08)";
|
|
428
|
+
readonly '--color-brand-primary-muted': "rgba(255, 121, 0, 0.30)";
|
|
429
|
+
readonly '--color-brand-primary-strong': "rgba(255, 121, 0, 0.50)";
|
|
421
430
|
readonly '--color-brand-secondary': "#307B9B";
|
|
422
431
|
readonly '--color-brand-secondary-light': "#2697B7";
|
|
423
432
|
readonly '--color-brand-secondary-dark': "#2A617F";
|
|
424
433
|
readonly '--color-brand-secondary-subtle': "rgba(48, 123, 155, 0.08)";
|
|
434
|
+
readonly '--color-brand-secondary-muted': "rgba(48, 123, 155, 0.30)";
|
|
435
|
+
readonly '--color-brand-secondary-strong': "rgba(48, 123, 155, 0.50)";
|
|
425
436
|
readonly '--color-on-brand-primary': "#FFFFFF";
|
|
426
437
|
readonly '--color-on-brand-secondary': "#FFFFFF";
|
|
427
438
|
readonly '--color-status-success': "#2ED573";
|
|
428
439
|
readonly '--color-status-success-subtle': "#E3FFEE";
|
|
440
|
+
readonly '--color-status-success-muted': "rgba(46, 213, 115, 0.30)";
|
|
441
|
+
readonly '--color-status-success-strong': "rgba(46, 213, 115, 0.50)";
|
|
429
442
|
readonly '--color-status-live': "#2ED573";
|
|
430
443
|
readonly '--color-status-live-muted': "#22A444";
|
|
431
444
|
readonly '--color-status-error': "#D14343";
|
|
432
445
|
readonly '--color-status-error-subtle': "#FFF4F4";
|
|
446
|
+
readonly '--color-status-error-muted': "rgba(209, 67, 67, 0.30)";
|
|
447
|
+
readonly '--color-status-error-strong': "rgba(209, 67, 67, 0.50)";
|
|
433
448
|
readonly '--color-status-warning': "#F9B415";
|
|
434
449
|
readonly '--color-status-warning-subtle': "#FFF7DD";
|
|
450
|
+
readonly '--color-status-warning-muted': "rgba(249, 180, 21, 0.30)";
|
|
451
|
+
readonly '--color-status-warning-strong': "rgba(249, 180, 21, 0.50)";
|
|
435
452
|
readonly '--color-status-info': "#2196F3";
|
|
436
453
|
readonly '--color-status-info-subtle': "#EFF8FF";
|
|
437
|
-
readonly '--color-status-
|
|
454
|
+
readonly '--color-status-info-muted': "rgba(33, 150, 243, 0.30)";
|
|
455
|
+
readonly '--color-status-info-strong': "rgba(33, 150, 243, 0.50)";
|
|
456
|
+
readonly '--color-status-error-vivid': "#FF4757";
|
|
438
457
|
readonly '--color-status-error-vivid-light': "#E05254";
|
|
439
458
|
readonly '--color-status-error-vivid-dark': "#A4221C";
|
|
440
459
|
readonly '--color-status-error-vivid-subtle': "rgba(255, 71, 87, 0.12)";
|
|
460
|
+
readonly '--color-status-error-vivid-muted': "rgba(255, 71, 87, 0.30)";
|
|
461
|
+
readonly '--color-status-error-vivid-strong': "rgba(255, 71, 87, 0.50)";
|
|
441
462
|
readonly '--color-text-primary': "#121828";
|
|
442
463
|
readonly '--color-text-secondary': "#65748B";
|
|
443
464
|
readonly '--color-text-tertiary': "#A29F9D";
|
|
@@ -533,26 +554,40 @@ declare function getThemeCSSVars(mode: ThemeMode): {
|
|
|
533
554
|
readonly '--color-brand-primary-light': "#FFA063";
|
|
534
555
|
readonly '--color-brand-primary-dark': "#DA5F00";
|
|
535
556
|
readonly '--color-brand-primary-subtle': "rgba(255, 121, 0, 0.12)";
|
|
557
|
+
readonly '--color-brand-primary-muted': "rgba(255, 121, 0, 0.30)";
|
|
558
|
+
readonly '--color-brand-primary-strong': "rgba(255, 121, 0, 0.50)";
|
|
536
559
|
readonly '--color-brand-secondary': "#307B9B";
|
|
537
560
|
readonly '--color-brand-secondary-light': "#2697B7";
|
|
538
561
|
readonly '--color-brand-secondary-dark': "#2A617F";
|
|
539
562
|
readonly '--color-brand-secondary-subtle': "rgba(48, 123, 155, 0.12)";
|
|
563
|
+
readonly '--color-brand-secondary-muted': "rgba(48, 123, 155, 0.30)";
|
|
564
|
+
readonly '--color-brand-secondary-strong': "rgba(48, 123, 155, 0.50)";
|
|
540
565
|
readonly '--color-on-brand-primary': "#FFFFFF";
|
|
541
566
|
readonly '--color-on-brand-secondary': "#FFFFFF";
|
|
542
567
|
readonly '--color-status-success': "#2ED573";
|
|
543
568
|
readonly '--color-status-success-subtle': "rgba(46, 213, 115, 0.12)";
|
|
569
|
+
readonly '--color-status-success-muted': "rgba(46, 213, 115, 0.30)";
|
|
570
|
+
readonly '--color-status-success-strong': "rgba(46, 213, 115, 0.50)";
|
|
544
571
|
readonly '--color-status-live': "#2ED573";
|
|
545
572
|
readonly '--color-status-live-muted': "#22A444";
|
|
546
573
|
readonly '--color-status-error': "#D14343";
|
|
547
574
|
readonly '--color-status-error-subtle': "rgba(209, 67, 67, 0.12)";
|
|
575
|
+
readonly '--color-status-error-muted': "rgba(209, 67, 67, 0.30)";
|
|
576
|
+
readonly '--color-status-error-strong': "rgba(209, 67, 67, 0.50)";
|
|
548
577
|
readonly '--color-status-warning': "#F9B415";
|
|
549
578
|
readonly '--color-status-warning-subtle': "rgba(249, 180, 21, 0.12)";
|
|
579
|
+
readonly '--color-status-warning-muted': "rgba(249, 180, 21, 0.30)";
|
|
580
|
+
readonly '--color-status-warning-strong': "rgba(249, 180, 21, 0.50)";
|
|
550
581
|
readonly '--color-status-info': "#2196F3";
|
|
551
582
|
readonly '--color-status-info-subtle': "rgba(33, 150, 243, 0.12)";
|
|
552
|
-
readonly '--color-status-
|
|
583
|
+
readonly '--color-status-info-muted': "rgba(33, 150, 243, 0.30)";
|
|
584
|
+
readonly '--color-status-info-strong': "rgba(33, 150, 243, 0.50)";
|
|
585
|
+
readonly '--color-status-error-vivid': "#FF4757";
|
|
553
586
|
readonly '--color-status-error-vivid-light': "#E05254";
|
|
554
587
|
readonly '--color-status-error-vivid-dark': "#A4221C";
|
|
555
588
|
readonly '--color-status-error-vivid-subtle': "rgba(255, 71, 87, 0.12)";
|
|
589
|
+
readonly '--color-status-error-vivid-muted': "rgba(255, 71, 87, 0.30)";
|
|
590
|
+
readonly '--color-status-error-vivid-strong': "rgba(255, 71, 87, 0.50)";
|
|
556
591
|
readonly '--color-text-primary': "#F9F6F3";
|
|
557
592
|
readonly '--color-text-secondary': "#A29F9D";
|
|
558
593
|
readonly '--color-text-tertiary': "#888684";
|
|
@@ -751,8 +786,10 @@ type ThemeConfig = typeof gluestackConfig;
|
|
|
751
786
|
*
|
|
752
787
|
* Kept: grain, rim-light, contact shadow.
|
|
753
788
|
*
|
|
754
|
-
* See sources/design/surface-system-north-star.md §4 and
|
|
755
|
-
* sources/runbooks/VW-99-depth-wall-calibration.md
|
|
789
|
+
* See `sources/design/surface-system-north-star.md` §4 and
|
|
790
|
+
* `sources/runbooks/VW-99-depth-wall-calibration.md`. Those paths are relative to
|
|
791
|
+
* the `voltras-workspace` active-work initiative (`active-work open voltras-workspace`), not this repo —
|
|
792
|
+
* titan-design has no `sources/` directory, so they do not resolve from here.
|
|
756
793
|
*/
|
|
757
794
|
|
|
758
795
|
/**
|
|
@@ -837,6 +874,19 @@ declare function insetWell(tone?: string): ViewStyle;
|
|
|
837
874
|
* wrong, so grain and shadow carry the material alone.
|
|
838
875
|
*/
|
|
839
876
|
declare function barPaper(color: string, flip?: boolean): ViewStyle;
|
|
877
|
+
/**
|
|
878
|
+
* A POST-IT card: a matte tinted sheet with a crisp rim, a defined contact
|
|
879
|
+
* shadow, and a deliberate CANT (`deg`) so it reads as a stuck note — where a
|
|
880
|
+
* small unit of data wants to feel pinned to the surface (alerts, next-set). A
|
|
881
|
+
* degree or two, not a fraction, so the tilt is intentional rather than a bug.
|
|
882
|
+
*/
|
|
883
|
+
declare function postIt(tone?: string, deg?: number): ViewStyle;
|
|
884
|
+
/**
|
|
885
|
+
* DEBOSSED (engraved) text: a 1px light highlight dropped just below the glyphs
|
|
886
|
+
* so a label reads as pressed INTO the surface. Deliberate, for section eyebrows
|
|
887
|
+
* on a matte plane — not body copy. Pair with a tertiary/dim text colour.
|
|
888
|
+
*/
|
|
889
|
+
declare const debossLabel: TextStyle;
|
|
840
890
|
|
|
841
891
|
/**
|
|
842
892
|
* Colour math shared by the depth system.
|
|
@@ -1064,7 +1114,7 @@ interface ThemePresetColors {
|
|
|
1064
1114
|
'hairline-subtle'?: string;
|
|
1065
1115
|
'hairline-strong'?: string;
|
|
1066
1116
|
'border-focus'?: string;
|
|
1067
|
-
|
|
1117
|
+
divider?: string;
|
|
1068
1118
|
[key: `${string}`]: string | undefined;
|
|
1069
1119
|
}
|
|
1070
1120
|
interface ThemePresetFonts {
|
|
@@ -1103,8 +1153,16 @@ interface ThemePreset {
|
|
|
1103
1153
|
fontImport?: string;
|
|
1104
1154
|
}
|
|
1105
1155
|
|
|
1156
|
+
/**
|
|
1157
|
+
* @deprecated Use `ThemeProvider` with semantic tokens — removed once audiobook
|
|
1158
|
+
* migrates off presets (AW-129).
|
|
1159
|
+
*/
|
|
1106
1160
|
declare function applyThemePreset(preset: ThemePreset): () => void;
|
|
1107
1161
|
|
|
1162
|
+
/**
|
|
1163
|
+
* @deprecated Use `ThemeProvider` with semantic tokens — removed once audiobook
|
|
1164
|
+
* migrates off presets (AW-129).
|
|
1165
|
+
*/
|
|
1108
1166
|
declare const defaultPreset: ThemePreset;
|
|
1109
1167
|
|
|
1110
1168
|
/**
|
|
@@ -1112,7 +1170,10 @@ declare const defaultPreset: ThemePreset;
|
|
|
1112
1170
|
*
|
|
1113
1171
|
* Warm copper/patina aesthetic inspired by vintage audio equipment
|
|
1114
1172
|
* and reading lounges. Dark-mode only design with editorial typography.
|
|
1173
|
+
*
|
|
1174
|
+
* @deprecated Use `ThemeProvider` with semantic tokens — removed once audiobook
|
|
1175
|
+
* migrates off presets (AW-129).
|
|
1115
1176
|
*/
|
|
1116
1177
|
declare const audiobookPreset: ThemePreset;
|
|
1117
1178
|
|
|
1118
|
-
export { type
|
|
1179
|
+
export { type CssPropertyEntry, type CssPropertyManifest, ELEVATION_PLANE, type ElevationLevel, FLOATING_ELEVATION_MIN, FLOATING_LIFT_MIN, type GlowIntensity, type GradientStyle, LIFT_RIM_ALPHA, type LiftOptions, type LiftStep, type ManifestValidationResult, PLANE_ORDER, PRESSED_ELEVATION_LEVEL, SURFACE_LEVEL_TOKEN, type ShadowIntensity, type SurfaceLevel, type ThemeConfig, ThemeMode, type ThemePreset, type ThemePresetColors, type ThemePresetFonts, type ThemePresetRadii, type ThemePresetShadows, ThemeProvider, type ThemeProviderMode, type ThemeProviderProps, type VariantAxes, type VariantOverride, applyThemePreset, audiobookPreset, barPaper, darkThemeCSSVars, darken, debossLabel, defaultPreset, elevationPlane, getElevationShadow, getElevationSurface, getGlowShadow, getHoverColors, getPressedRecessShadow, getSemanticColors, getThemeCSSVars, gluestackConfig, grainForTone, grainOpacityForTone, hexToRgb, hsvToRgb, insetWell, isCssPropertyManifest, isDark, liftShadow, liftStyle, lightThemeCSSVars, lighten, linearGradient, paperSheet, postIt, pressedLevel, raisedLevel, resolveColor, rgbToHex, rgbToHsv, surfaceBackground, surfaceGradient, validateCssPropertyManifest };
|