@titan-design/react-ui 0.2.7 → 0.3.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.
Files changed (82) hide show
  1. package/dist/bodymap-BhG55xHM.d.mts +318 -0
  2. package/dist/bodymap-BhG55xHM.d.ts +318 -0
  3. package/dist/bodymap.d.mts +3 -0
  4. package/dist/bodymap.d.ts +3 -0
  5. package/dist/bodymap.js +2670 -0
  6. package/dist/bodymap.js.map +1 -0
  7. package/dist/bodymap.mjs +1101 -0
  8. package/dist/bodymap.mjs.map +1 -0
  9. package/dist/{chunk-5SSKGS6E.mjs → chunk-7XPB4NAO.mjs} +124 -4
  10. package/dist/chunk-7XPB4NAO.mjs.map +1 -0
  11. package/dist/{chunk-3VLOBS6O.mjs → chunk-P7TSQUN6.mjs} +3 -3
  12. package/dist/{chunk-3VLOBS6O.mjs.map → chunk-P7TSQUN6.mjs.map} +1 -1
  13. package/dist/chunk-TOD2WQBG.mjs +1048 -0
  14. package/dist/chunk-TOD2WQBG.mjs.map +1 -0
  15. package/dist/index.d.mts +375 -249
  16. package/dist/index.d.ts +375 -249
  17. package/dist/index.js +1259 -918
  18. package/dist/index.js.map +1 -1
  19. package/dist/index.mjs +1314 -2107
  20. package/dist/index.mjs.map +1 -1
  21. package/dist/theme/index.d.mts +260 -0
  22. package/dist/theme/index.d.ts +260 -0
  23. package/dist/theme/index.js +122 -2
  24. package/dist/theme/index.js.map +1 -1
  25. package/dist/theme/index.mjs +2 -2
  26. package/dist/theme/tokens-css.d.mts +5 -3
  27. package/dist/theme/tokens-css.d.ts +5 -3
  28. package/dist/theme/tokens-css.js +318 -9
  29. package/dist/theme/tokens-css.js.map +1 -1
  30. package/dist/theme/tokens-css.mjs +1 -1
  31. package/dist/theme/tokens-css.mjs.map +1 -1
  32. package/package.json +10 -1
  33. package/src/bodymap.ts +37 -0
  34. package/src/components/custom/Table/Table.test.tsx +27 -0
  35. package/src/components/custom/Table/Table.tsx +33 -17
  36. package/src/components/custom/Workout/ActiveWorkoutPage.stories.tsx +118 -0
  37. package/src/components/custom/Workout/ActiveWorkoutPage.test.tsx +171 -0
  38. package/src/components/custom/Workout/ActiveWorkoutPage.tsx +447 -0
  39. package/src/components/custom/Workout/BodyMap.tsx +5 -6
  40. package/src/components/custom/Workout/BodyMapDetailPanel.tsx +7 -8
  41. package/src/components/custom/Workout/CapacityBandChart.tsx +1 -1
  42. package/src/components/custom/Workout/ExerciseCard.test.tsx +24 -0
  43. package/src/components/custom/Workout/ExerciseCard.tsx +28 -15
  44. package/src/components/custom/Workout/ExerciseDetailPage.stories.tsx +225 -0
  45. package/src/components/custom/Workout/ExerciseDetailPage.test.tsx +128 -0
  46. package/src/components/custom/Workout/ExerciseDetailPage.tsx +630 -0
  47. package/src/components/custom/Workout/InputBar.tsx +6 -7
  48. package/src/components/custom/Workout/MesoCard.tsx +4 -2
  49. package/src/components/custom/Workout/MesoProgressBar.test.tsx +12 -0
  50. package/src/components/custom/Workout/MesoProgressBar.tsx +5 -1
  51. package/src/components/custom/Workout/MesoStatusCard.tsx +5 -5
  52. package/src/components/custom/Workout/PlaceholderStrip.tsx +2 -3
  53. package/src/components/custom/Workout/PrHistoryModal.tsx +5 -5
  54. package/src/components/custom/Workout/ProgramPlanningPage.stories.tsx +257 -0
  55. package/src/components/custom/Workout/ProgramPlanningPage.test.tsx +142 -0
  56. package/src/components/custom/Workout/ProgramPlanningPage.tsx +422 -0
  57. package/src/components/custom/Workout/ReadinessCheck.tsx +7 -8
  58. package/src/components/custom/Workout/RestTimer.test.tsx +10 -0
  59. package/src/components/custom/Workout/RestTimer.tsx +11 -9
  60. package/src/components/custom/Workout/SetRow.tsx +13 -19
  61. package/src/components/custom/Workout/StatusDot.tsx +1 -0
  62. package/src/components/custom/Workout/StrengthTrendChart.tsx +5 -5
  63. package/src/components/custom/Workout/TempoDisplay.tsx +3 -1
  64. package/src/components/custom/Workout/TrainingStatusPage.stories.tsx +212 -0
  65. package/src/components/custom/Workout/TrainingStatusPage.test.tsx +131 -0
  66. package/src/components/custom/Workout/TrainingStatusPage.tsx +321 -0
  67. package/src/components/custom/Workout/VelocityStrip.test.tsx +10 -0
  68. package/src/components/custom/Workout/VelocityStrip.tsx +16 -15
  69. package/src/components/custom/Workout/WeekRow.tsx +1 -1
  70. package/src/components/custom/Workout/WorkoutCard.tsx +5 -3
  71. package/src/components/custom/Workout/index.ts +71 -32
  72. package/src/theme/config.completeness.test.ts +77 -0
  73. package/src/theme/config.ts +151 -0
  74. package/src/theme/manifest/design-freeze.test.ts +155 -0
  75. package/src/theme/manifest/extract-css-properties.fixture.html +29 -0
  76. package/src/theme/manifest/extract-css-properties.test.ts +112 -0
  77. package/src/theme/tokens-css.ts +5 -3
  78. package/src/theme/workout-tokens.ts +12 -14
  79. package/src/utils/index.ts +10 -0
  80. package/src/utils/workout-format.test.ts +81 -0
  81. package/src/utils/workout-format.ts +83 -0
  82. package/dist/chunk-5SSKGS6E.mjs.map +0 -1
@@ -729,6 +729,28 @@ function getSemanticColors(mode) {
729
729
  }
730
730
 
731
731
  // src/theme/config.ts
732
+ var themeIndependentCSSVars = {
733
+ // RGB decomposed values for glow shadows
734
+ "--color-brand-primary-rgb": "255, 121, 0",
735
+ "--color-brand-secondary-rgb": "64, 109, 135",
736
+ "--color-status-success-rgb": "20, 184, 166",
737
+ "--color-status-error-rgb": "209, 67, 67",
738
+ "--color-status-warning-rgb": "255, 176, 32",
739
+ "--color-status-info-rgb": "33, 150, 243",
740
+ "--color-background-base-rgb": "16, 16, 16",
741
+ // Font families
742
+ "--font-family-sans": "'Inter'",
743
+ "--font-family-body": "'Nunito Sans'",
744
+ "--font-family-heading": "'Space Grotesk'",
745
+ "--font-family-mono": "'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace",
746
+ // Animation tokens
747
+ "--ease-out": "cubic-bezier(0.22, 1, 0.36, 1)",
748
+ "--ease-in-out": "cubic-bezier(0.65, 0, 0.35, 1)",
749
+ "--ease-spring": "cubic-bezier(0.34, 1.56, 0.64, 1)",
750
+ "--duration-fast": "150ms",
751
+ "--duration-normal": "250ms",
752
+ "--duration-slow": "400ms"
753
+ };
732
754
  var lightThemeCSSVars = {
733
755
  "--color-brand-primary": semanticColorsLight["brand-primary"],
734
756
  "--color-brand-primary-light": semanticColorsLight["brand-primary-light"],
@@ -769,7 +791,56 @@ var lightThemeCSSVars = {
769
791
  "--color-interactive-active": semanticColorsLight["interactive-active"],
770
792
  "--color-interactive-selected": semanticColorsLight["interactive-selected"],
771
793
  "--color-interactive-disabled": semanticColorsLight["interactive-disabled"],
772
- "--color-divider": semanticColorsLight["divider"]
794
+ "--color-divider": semanticColorsLight["divider"],
795
+ "--color-brand-primary-hover": semanticColorsLight["brand-primary-hover"],
796
+ "--color-brand-primary-active": semanticColorsLight["brand-primary-active"],
797
+ "--color-brand-secondary-hover": semanticColorsLight["brand-secondary-hover"],
798
+ "--color-brand-secondary-active": semanticColorsLight["brand-secondary-active"],
799
+ "--color-status-success-light": semanticColorsLight["status-success-light"],
800
+ "--color-status-success-dark": semanticColorsLight["status-success-dark"],
801
+ "--color-status-error-light": semanticColorsLight["status-error-light"],
802
+ "--color-status-error-dark": semanticColorsLight["status-error-dark"],
803
+ "--color-status-warning-light": semanticColorsLight["status-warning-light"],
804
+ "--color-status-warning-dark": semanticColorsLight["status-warning-dark"],
805
+ "--color-status-info-light": semanticColorsLight["status-info-light"],
806
+ "--color-status-info-dark": semanticColorsLight["status-info-dark"],
807
+ "--color-on-status-success": semanticColorsLight["on-status-success"],
808
+ "--color-on-status-error": semanticColorsLight["on-status-error"],
809
+ "--color-on-status-warning": semanticColorsLight["on-status-warning"],
810
+ "--color-on-status-info": semanticColorsLight["on-status-info"],
811
+ "--color-result-improve": semanticColorsLight["result-improve"],
812
+ "--color-result-improve-light": semanticColorsLight["result-improve-light"],
813
+ "--color-result-improve-dark": semanticColorsLight["result-improve-dark"],
814
+ "--color-result-degrade": semanticColorsLight["result-degrade"],
815
+ "--color-result-degrade-light": semanticColorsLight["result-degrade-light"],
816
+ "--color-result-degrade-dark": semanticColorsLight["result-degrade-dark"],
817
+ "--color-result-inconclusive": semanticColorsLight["result-inconclusive"],
818
+ "--color-result-inconclusive-light": semanticColorsLight["result-inconclusive-light"],
819
+ "--color-result-neutral": semanticColorsLight["result-neutral"],
820
+ "--color-on-result-improve": semanticColorsLight["on-result-improve"],
821
+ "--color-on-result-degrade": semanticColorsLight["on-result-degrade"],
822
+ "--color-on-result-inconclusive": semanticColorsLight["on-result-inconclusive"],
823
+ "--color-data-1": semanticColorsLight["data-1"],
824
+ "--color-data-2": semanticColorsLight["data-2"],
825
+ "--color-data-3": semanticColorsLight["data-3"],
826
+ "--color-data-4": semanticColorsLight["data-4"],
827
+ "--color-data-5": semanticColorsLight["data-5"],
828
+ "--color-data-6": semanticColorsLight["data-6"],
829
+ "--color-data-7": semanticColorsLight["data-7"],
830
+ "--color-data-8": semanticColorsLight["data-8"],
831
+ "--color-data-9": semanticColorsLight["data-9"],
832
+ "--color-data-10": semanticColorsLight["data-10"],
833
+ "--color-text-link-hover": semanticColorsLight["text-link-hover"],
834
+ "--color-surface-overlay": semanticColorsLight["surface-overlay"],
835
+ "--color-surface-input": semanticColorsLight["surface-input"],
836
+ "--color-border-input": semanticColorsLight["border-input"],
837
+ "--color-border-input-hover": semanticColorsLight["border-input-hover"],
838
+ "--color-border-input-focus": semanticColorsLight["border-input-focus"],
839
+ "--color-border-input-error": semanticColorsLight["border-input-error"],
840
+ "--color-interactive-disabled-text": semanticColorsLight["interactive-disabled-text"],
841
+ "--color-avatar-background": semanticColorsLight["avatar-background"],
842
+ "--color-avatar-text": semanticColorsLight["avatar-text"],
843
+ ...themeIndependentCSSVars
773
844
  };
774
845
  var darkThemeCSSVars = {
775
846
  "--color-brand-primary": semanticColorsDark["brand-primary"],
@@ -811,7 +882,56 @@ var darkThemeCSSVars = {
811
882
  "--color-interactive-active": semanticColorsDark["interactive-active"],
812
883
  "--color-interactive-selected": semanticColorsDark["interactive-selected"],
813
884
  "--color-interactive-disabled": semanticColorsDark["interactive-disabled"],
814
- "--color-divider": semanticColorsDark["divider"]
885
+ "--color-divider": semanticColorsDark["divider"],
886
+ "--color-brand-primary-hover": semanticColorsDark["brand-primary-hover"],
887
+ "--color-brand-primary-active": semanticColorsDark["brand-primary-active"],
888
+ "--color-brand-secondary-hover": semanticColorsDark["brand-secondary-hover"],
889
+ "--color-brand-secondary-active": semanticColorsDark["brand-secondary-active"],
890
+ "--color-status-success-light": semanticColorsDark["status-success-light"],
891
+ "--color-status-success-dark": semanticColorsDark["status-success-dark"],
892
+ "--color-status-error-light": semanticColorsDark["status-error-light"],
893
+ "--color-status-error-dark": semanticColorsDark["status-error-dark"],
894
+ "--color-status-warning-light": semanticColorsDark["status-warning-light"],
895
+ "--color-status-warning-dark": semanticColorsDark["status-warning-dark"],
896
+ "--color-status-info-light": semanticColorsDark["status-info-light"],
897
+ "--color-status-info-dark": semanticColorsDark["status-info-dark"],
898
+ "--color-on-status-success": semanticColorsDark["on-status-success"],
899
+ "--color-on-status-error": semanticColorsDark["on-status-error"],
900
+ "--color-on-status-warning": semanticColorsDark["on-status-warning"],
901
+ "--color-on-status-info": semanticColorsDark["on-status-info"],
902
+ "--color-result-improve": semanticColorsDark["result-improve"],
903
+ "--color-result-improve-light": semanticColorsDark["result-improve-light"],
904
+ "--color-result-improve-dark": semanticColorsDark["result-improve-dark"],
905
+ "--color-result-degrade": semanticColorsDark["result-degrade"],
906
+ "--color-result-degrade-light": semanticColorsDark["result-degrade-light"],
907
+ "--color-result-degrade-dark": semanticColorsDark["result-degrade-dark"],
908
+ "--color-result-inconclusive": semanticColorsDark["result-inconclusive"],
909
+ "--color-result-inconclusive-light": semanticColorsDark["result-inconclusive-light"],
910
+ "--color-result-neutral": semanticColorsDark["result-neutral"],
911
+ "--color-on-result-improve": semanticColorsDark["on-result-improve"],
912
+ "--color-on-result-degrade": semanticColorsDark["on-result-degrade"],
913
+ "--color-on-result-inconclusive": semanticColorsDark["on-result-inconclusive"],
914
+ "--color-data-1": semanticColorsDark["data-1"],
915
+ "--color-data-2": semanticColorsDark["data-2"],
916
+ "--color-data-3": semanticColorsDark["data-3"],
917
+ "--color-data-4": semanticColorsDark["data-4"],
918
+ "--color-data-5": semanticColorsDark["data-5"],
919
+ "--color-data-6": semanticColorsDark["data-6"],
920
+ "--color-data-7": semanticColorsDark["data-7"],
921
+ "--color-data-8": semanticColorsDark["data-8"],
922
+ "--color-data-9": semanticColorsDark["data-9"],
923
+ "--color-data-10": semanticColorsDark["data-10"],
924
+ "--color-text-link-hover": semanticColorsDark["text-link-hover"],
925
+ "--color-surface-overlay": semanticColorsDark["surface-overlay"],
926
+ "--color-surface-input": semanticColorsDark["surface-input"],
927
+ "--color-border-input": semanticColorsDark["border-input"],
928
+ "--color-border-input-hover": semanticColorsDark["border-input-hover"],
929
+ "--color-border-input-focus": semanticColorsDark["border-input-focus"],
930
+ "--color-border-input-error": semanticColorsDark["border-input-error"],
931
+ "--color-interactive-disabled-text": semanticColorsDark["interactive-disabled-text"],
932
+ "--color-avatar-background": semanticColorsDark["avatar-background"],
933
+ "--color-avatar-text": semanticColorsDark["avatar-text"],
934
+ ...themeIndependentCSSVars
815
935
  };
816
936
  function getThemeCSSVars(mode) {
817
937
  return mode === "dark" ? darkThemeCSSVars : lightThemeCSSVars;