@burdenoff/microfe-mybodyshield 2026.705.1 → 2026.706.1

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 (591) hide show
  1. package/dist/_virtual/__vite-optional-peer-dep_@emotion/is-prop-valid_framer-motion.js +10 -0
  2. package/dist/_virtual/__vite-optional-peer-dep_@emotion/is-prop-valid_framer-motion.js.map +1 -0
  3. package/dist/_virtual/_rolldown/runtime.js +5 -5
  4. package/dist/mybodyshield/components/DataTable.js +8 -4
  5. package/dist/mybodyshield/components/DataTable.js.map +1 -1
  6. package/dist/mybodyshield/components/EvidenceUpload.js +92 -4
  7. package/dist/mybodyshield/components/EvidenceUpload.js.map +1 -0
  8. package/dist/mybodyshield/components/FileLink.js +35 -2
  9. package/dist/mybodyshield/components/FileLink.js.map +1 -0
  10. package/dist/mybodyshield/components/MybDiscussion.js +107 -6
  11. package/dist/mybodyshield/components/MybDiscussion.js.map +1 -0
  12. package/dist/mybodyshield/components/MybTags.js +148 -4
  13. package/dist/mybodyshield/components/MybTags.js.map +1 -0
  14. package/dist/mybodyshield/components/Pagination.js.map +1 -1
  15. package/dist/mybodyshield/components/UserSearchSelect.js +148 -0
  16. package/dist/mybodyshield/components/UserSearchSelect.js.map +1 -0
  17. package/dist/mybodyshield/components/index.js +1 -0
  18. package/dist/mybodyshield/hooks/index.js +1 -0
  19. package/dist/mybodyshield/hooks/useMyBodyShieldApi.js +47 -27
  20. package/dist/mybodyshield/hooks/useMyBodyShieldApi.js.map +1 -1
  21. package/dist/mybodyshield/hooks/useMybComments.js +44 -2
  22. package/dist/mybodyshield/hooks/useMybComments.js.map +1 -0
  23. package/dist/mybodyshield/hooks/useMybFiles.js +80 -3
  24. package/dist/mybodyshield/hooks/useMybFiles.js.map +1 -0
  25. package/dist/mybodyshield/hooks/useMybTags.js +88 -2
  26. package/dist/mybodyshield/hooks/useMybTags.js.map +1 -0
  27. package/dist/mybodyshield/hooks/useMybUsers.js +36 -0
  28. package/dist/mybodyshield/hooks/useMybUsers.js.map +1 -0
  29. package/dist/mybodyshield/pages/DashboardPage.js +444 -340
  30. package/dist/mybodyshield/pages/DashboardPage.js.map +1 -1
  31. package/dist/mybodyshield/pages/_shared/visuals.js +29 -23
  32. package/dist/mybodyshield/pages/_shared/visuals.js.map +1 -1
  33. package/dist/mybodyshield/pages/coaching/CoachingPage.js +272 -179
  34. package/dist/mybodyshield/pages/coaching/CoachingPage.js.map +1 -1
  35. package/dist/mybodyshield/pages/goals/GoalsPage.js +304 -257
  36. package/dist/mybodyshield/pages/goals/GoalsPage.js.map +1 -1
  37. package/dist/mybodyshield/pages/nutrition/NutritionPage.js +745 -504
  38. package/dist/mybodyshield/pages/nutrition/NutritionPage.js.map +1 -1
  39. package/dist/mybodyshield/pages/programs/ProgramDetailPage.js +688 -320
  40. package/dist/mybodyshield/pages/programs/ProgramDetailPage.js.map +1 -1
  41. package/dist/mybodyshield/pages/programs/ProgramsPage.js +282 -234
  42. package/dist/mybodyshield/pages/programs/ProgramsPage.js.map +1 -1
  43. package/dist/mybodyshield/pages/progress/ProgressPage.js +447 -299
  44. package/dist/mybodyshield/pages/progress/ProgressPage.js.map +1 -1
  45. package/dist/mybodyshield/pages/recovery/RecoveryPage.js +335 -246
  46. package/dist/mybodyshield/pages/recovery/RecoveryPage.js.map +1 -1
  47. package/dist/mybodyshield/pages/train/SessionDetailPage.js +380 -267
  48. package/dist/mybodyshield/pages/train/SessionDetailPage.js.map +1 -1
  49. package/dist/mybodyshield/pages/train/SessionsPage.js +111 -78
  50. package/dist/mybodyshield/pages/train/SessionsPage.js.map +1 -1
  51. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.js +63 -0
  52. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.js.map +1 -0
  53. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.js +55 -0
  54. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.js.map +1 -0
  55. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/index.js +62 -0
  56. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/index.js.map +1 -0
  57. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.js +22 -0
  58. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.js.map +1 -0
  59. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/utils.js +13 -0
  60. package/dist/node_modules/framer-motion/dist/es/components/AnimatePresence/utils.js.map +1 -0
  61. package/dist/node_modules/framer-motion/dist/es/context/LayoutGroupContext.js +8 -0
  62. package/dist/node_modules/framer-motion/dist/es/context/LayoutGroupContext.js.map +1 -0
  63. package/dist/node_modules/framer-motion/dist/es/context/LazyContext.js +8 -0
  64. package/dist/node_modules/framer-motion/dist/es/context/LazyContext.js.map +1 -0
  65. package/dist/node_modules/framer-motion/dist/es/context/MotionConfigContext.js +12 -0
  66. package/dist/node_modules/framer-motion/dist/es/context/MotionConfigContext.js.map +1 -0
  67. package/dist/node_modules/framer-motion/dist/es/context/MotionContext/create.js +19 -0
  68. package/dist/node_modules/framer-motion/dist/es/context/MotionContext/create.js.map +1 -0
  69. package/dist/node_modules/framer-motion/dist/es/context/MotionContext/index.js +8 -0
  70. package/dist/node_modules/framer-motion/dist/es/context/MotionContext/index.js.map +1 -0
  71. package/dist/node_modules/framer-motion/dist/es/context/MotionContext/utils.js +17 -0
  72. package/dist/node_modules/framer-motion/dist/es/context/MotionContext/utils.js.map +1 -0
  73. package/dist/node_modules/framer-motion/dist/es/context/PresenceContext.js +8 -0
  74. package/dist/node_modules/framer-motion/dist/es/context/PresenceContext.js.map +1 -0
  75. package/dist/node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.js +8 -0
  76. package/dist/node_modules/framer-motion/dist/es/context/SwitchLayoutGroupContext.js.map +1 -0
  77. package/dist/node_modules/framer-motion/dist/es/events/add-pointer-event.js +10 -0
  78. package/dist/node_modules/framer-motion/dist/es/events/add-pointer-event.js.map +1 -0
  79. package/dist/node_modules/framer-motion/dist/es/events/event-info.js +13 -0
  80. package/dist/node_modules/framer-motion/dist/es/events/event-info.js.map +1 -0
  81. package/dist/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.js +260 -0
  82. package/dist/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.js.map +1 -0
  83. package/dist/node_modules/framer-motion/dist/es/gestures/drag/index.js +24 -0
  84. package/dist/node_modules/framer-motion/dist/es/gestures/drag/index.js.map +1 -0
  85. package/dist/node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.js +61 -0
  86. package/dist/node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.js.map +1 -0
  87. package/dist/node_modules/framer-motion/dist/es/gestures/focus.js +29 -0
  88. package/dist/node_modules/framer-motion/dist/es/gestures/focus.js.map +1 -0
  89. package/dist/node_modules/framer-motion/dist/es/gestures/hover.js +22 -0
  90. package/dist/node_modules/framer-motion/dist/es/gestures/hover.js.map +1 -0
  91. package/dist/node_modules/framer-motion/dist/es/gestures/pan/PanSession.js +140 -0
  92. package/dist/node_modules/framer-motion/dist/es/gestures/pan/PanSession.js.map +1 -0
  93. package/dist/node_modules/framer-motion/dist/es/gestures/pan/index.js +44 -0
  94. package/dist/node_modules/framer-motion/dist/es/gestures/pan/index.js.map +1 -0
  95. package/dist/node_modules/framer-motion/dist/es/gestures/press.js +28 -0
  96. package/dist/node_modules/framer-motion/dist/es/gestures/press.js.map +1 -0
  97. package/dist/node_modules/framer-motion/dist/es/motion/features/animation/exit.js +41 -0
  98. package/dist/node_modules/framer-motion/dist/es/motion/features/animation/exit.js.map +1 -0
  99. package/dist/node_modules/framer-motion/dist/es/motion/features/animation/index.js +27 -0
  100. package/dist/node_modules/framer-motion/dist/es/motion/features/animation/index.js.map +1 -0
  101. package/dist/node_modules/framer-motion/dist/es/motion/features/animations.js +11 -0
  102. package/dist/node_modules/framer-motion/dist/es/motion/features/animations.js.map +1 -0
  103. package/dist/node_modules/framer-motion/dist/es/motion/features/definitions.js +53 -0
  104. package/dist/node_modules/framer-motion/dist/es/motion/features/definitions.js.map +1 -0
  105. package/dist/node_modules/framer-motion/dist/es/motion/features/drag.js +17 -0
  106. package/dist/node_modules/framer-motion/dist/es/motion/features/drag.js.map +1 -0
  107. package/dist/node_modules/framer-motion/dist/es/motion/features/gestures.js +15 -0
  108. package/dist/node_modules/framer-motion/dist/es/motion/features/gestures.js.map +1 -0
  109. package/dist/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.js +63 -0
  110. package/dist/node_modules/framer-motion/dist/es/motion/features/layout/MeasureLayout.js.map +1 -0
  111. package/dist/node_modules/framer-motion/dist/es/motion/features/layout.js +11 -0
  112. package/dist/node_modules/framer-motion/dist/es/motion/features/layout.js.map +1 -0
  113. package/dist/node_modules/framer-motion/dist/es/motion/features/load-features.js +15 -0
  114. package/dist/node_modules/framer-motion/dist/es/motion/features/load-features.js.map +1 -0
  115. package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/index.js +48 -0
  116. package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/index.js.map +1 -0
  117. package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/observers.js +26 -0
  118. package/dist/node_modules/framer-motion/dist/es/motion/features/viewport/observers.js.map +1 -0
  119. package/dist/node_modules/framer-motion/dist/es/motion/index.js +72 -0
  120. package/dist/node_modules/framer-motion/dist/es/motion/index.js.map +1 -0
  121. package/dist/node_modules/framer-motion/dist/es/motion/utils/symbol.js +6 -0
  122. package/dist/node_modules/framer-motion/dist/es/motion/utils/symbol.js.map +1 -0
  123. package/dist/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.js +23 -0
  124. package/dist/node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.js.map +1 -0
  125. package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.js +60 -0
  126. package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.js.map +1 -0
  127. package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-state.js +52 -0
  128. package/dist/node_modules/framer-motion/dist/es/motion/utils/use-visual-state.js.map +1 -0
  129. package/dist/node_modules/framer-motion/dist/es/motion/utils/valid-prop.js +9 -0
  130. package/dist/node_modules/framer-motion/dist/es/motion/utils/valid-prop.js.map +1 -0
  131. package/dist/node_modules/framer-motion/dist/es/render/components/create-proxy.js +12 -0
  132. package/dist/node_modules/framer-motion/dist/es/render/components/create-proxy.js.map +1 -0
  133. package/dist/node_modules/framer-motion/dist/es/render/components/motion/feature-bundle.js +15 -0
  134. package/dist/node_modules/framer-motion/dist/es/render/components/motion/feature-bundle.js.map +1 -0
  135. package/dist/node_modules/framer-motion/dist/es/render/components/motion/proxy.js +9 -0
  136. package/dist/node_modules/framer-motion/dist/es/render/components/motion/proxy.js.map +1 -0
  137. package/dist/node_modules/framer-motion/dist/es/render/dom/create-visual-element.js +10 -0
  138. package/dist/node_modules/framer-motion/dist/es/render/dom/create-visual-element.js.map +1 -0
  139. package/dist/node_modules/framer-motion/dist/es/render/dom/use-render.js +23 -0
  140. package/dist/node_modules/framer-motion/dist/es/render/dom/use-render.js.map +1 -0
  141. package/dist/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.js +21 -0
  142. package/dist/node_modules/framer-motion/dist/es/render/dom/utils/filter-props.js.map +1 -0
  143. package/dist/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.js +9 -0
  144. package/dist/node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.js.map +1 -0
  145. package/dist/node_modules/framer-motion/dist/es/render/html/use-html-visual-state.js +13 -0
  146. package/dist/node_modules/framer-motion/dist/es/render/html/use-html-visual-state.js.map +1 -0
  147. package/dist/node_modules/framer-motion/dist/es/render/html/use-props.js +28 -0
  148. package/dist/node_modules/framer-motion/dist/es/render/html/use-props.js.map +1 -0
  149. package/dist/node_modules/framer-motion/dist/es/render/html/utils/create-render-state.js +11 -0
  150. package/dist/node_modules/framer-motion/dist/es/render/html/utils/create-render-state.js.map +1 -0
  151. package/dist/node_modules/framer-motion/dist/es/render/svg/lowercase-elements.js +32 -0
  152. package/dist/node_modules/framer-motion/dist/es/render/svg/lowercase-elements.js.map +1 -0
  153. package/dist/node_modules/framer-motion/dist/es/render/svg/use-props.js +28 -0
  154. package/dist/node_modules/framer-motion/dist/es/render/svg/use-props.js.map +1 -0
  155. package/dist/node_modules/framer-motion/dist/es/render/svg/use-svg-visual-state.js +13 -0
  156. package/dist/node_modules/framer-motion/dist/es/render/svg/use-svg-visual-state.js.map +1 -0
  157. package/dist/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.js +10 -0
  158. package/dist/node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.js.map +1 -0
  159. package/dist/node_modules/framer-motion/dist/es/utils/distance.js +10 -0
  160. package/dist/node_modules/framer-motion/dist/es/utils/distance.js.map +1 -0
  161. package/dist/node_modules/framer-motion/dist/es/utils/get-context-window.js +6 -0
  162. package/dist/node_modules/framer-motion/dist/es/utils/get-context-window.js.map +1 -0
  163. package/dist/node_modules/framer-motion/dist/es/utils/is-browser.js +6 -0
  164. package/dist/node_modules/framer-motion/dist/es/utils/is-browser.js.map +1 -0
  165. package/dist/node_modules/framer-motion/dist/es/utils/is-ref-object.js +8 -0
  166. package/dist/node_modules/framer-motion/dist/es/utils/is-ref-object.js.map +1 -0
  167. package/dist/node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.js +15 -0
  168. package/dist/node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.js.map +1 -0
  169. package/dist/node_modules/framer-motion/dist/es/utils/use-composed-ref.js +27 -0
  170. package/dist/node_modules/framer-motion/dist/es/utils/use-composed-ref.js.map +1 -0
  171. package/dist/node_modules/framer-motion/dist/es/utils/use-constant.js +11 -0
  172. package/dist/node_modules/framer-motion/dist/es/utils/use-constant.js.map +1 -0
  173. package/dist/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.js +9 -0
  174. package/dist/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.js.map +1 -0
  175. package/dist/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.js +109 -0
  176. package/dist/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.js.map +1 -0
  177. package/dist/node_modules/motion-dom/dist/es/animation/JSAnimation.js +131 -0
  178. package/dist/node_modules/motion-dom/dist/es/animation/JSAnimation.js.map +1 -0
  179. package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimation.js +86 -0
  180. package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimation.js.map +1 -0
  181. package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.js +30 -0
  182. package/dist/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.js.map +1 -0
  183. package/dist/node_modules/motion-dom/dist/es/animation/animate/single-value.js +12 -0
  184. package/dist/node_modules/motion-dom/dist/es/animation/animate/single-value.js.map +1 -0
  185. package/dist/node_modules/motion-dom/dist/es/animation/drivers/frame.js +15 -0
  186. package/dist/node_modules/motion-dom/dist/es/animation/drivers/frame.js.map +1 -0
  187. package/dist/node_modules/motion-dom/dist/es/animation/generators/inertia.js +34 -0
  188. package/dist/node_modules/motion-dom/dist/es/animation/generators/inertia.js.map +1 -0
  189. package/dist/node_modules/motion-dom/dist/es/animation/generators/keyframes.js +24 -0
  190. package/dist/node_modules/motion-dom/dist/es/animation/generators/keyframes.js.map +1 -0
  191. package/dist/node_modules/motion-dom/dist/es/animation/generators/spring.js +168 -0
  192. package/dist/node_modules/motion-dom/dist/es/animation/generators/spring.js.map +1 -0
  193. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.js +11 -0
  194. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.js.map +1 -0
  195. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.js +18 -0
  196. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.js.map +1 -0
  197. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.js +8 -0
  198. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.js.map +1 -0
  199. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.js +11 -0
  200. package/dist/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.js.map +1 -0
  201. package/dist/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.js +47 -0
  202. package/dist/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.js.map +1 -0
  203. package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.js +59 -0
  204. package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.js.map +1 -0
  205. package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.js +28 -0
  206. package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.js.map +1 -0
  207. package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.js +23 -0
  208. package/dist/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.js.map +1 -0
  209. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.js +63 -0
  210. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.js.map +1 -0
  211. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.js +69 -0
  212. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.js.map +1 -0
  213. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/get-final.js +10 -0
  214. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/get-final.js.map +1 -0
  215. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.js +10 -0
  216. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.js.map +1 -0
  217. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.js +14 -0
  218. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.js.map +1 -0
  219. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.js +8 -0
  220. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.js.map +1 -0
  221. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.js +8 -0
  222. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.js.map +1 -0
  223. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.js +9 -0
  224. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.js.map +1 -0
  225. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.js +20 -0
  226. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.js.map +1 -0
  227. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.js +38 -0
  228. package/dist/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.js.map +1 -0
  229. package/dist/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.js +6 -0
  230. package/dist/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.js.map +1 -0
  231. package/dist/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.js +9 -0
  232. package/dist/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.js.map +1 -0
  233. package/dist/node_modules/motion-dom/dist/es/animation/utils/WithPromise.js +24 -0
  234. package/dist/node_modules/motion-dom/dist/es/animation/utils/WithPromise.js.map +1 -0
  235. package/dist/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.js +9 -0
  236. package/dist/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.js.map +1 -0
  237. package/dist/node_modules/motion-dom/dist/es/animation/utils/can-animate.js +20 -0
  238. package/dist/node_modules/motion-dom/dist/es/animation/utils/can-animate.js.map +1 -0
  239. package/dist/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.js +27 -0
  240. package/dist/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.js.map +1 -0
  241. package/dist/node_modules/motion-dom/dist/es/animation/utils/default-transitions.js +29 -0
  242. package/dist/node_modules/motion-dom/dist/es/animation/utils/default-transitions.js.map +1 -0
  243. package/dist/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.js +10 -0
  244. package/dist/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.js.map +1 -0
  245. package/dist/node_modules/motion-dom/dist/es/animation/utils/is-animatable.js +7 -0
  246. package/dist/node_modules/motion-dom/dist/es/animation/utils/is-animatable.js.map +1 -0
  247. package/dist/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.js +9 -0
  248. package/dist/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.js.map +1 -0
  249. package/dist/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.js +21 -0
  250. package/dist/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.js.map +1 -0
  251. package/dist/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.js +8 -0
  252. package/dist/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.js.map +1 -0
  253. package/dist/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.js +18 -0
  254. package/dist/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.js.map +1 -0
  255. package/dist/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.js +15 -0
  256. package/dist/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.js.map +1 -0
  257. package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.js +6 -0
  258. package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.js.map +1 -0
  259. package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.js +13 -0
  260. package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.js.map +1 -0
  261. package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.js +37 -0
  262. package/dist/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.js.map +1 -0
  263. package/dist/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.js +21 -0
  264. package/dist/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.js.map +1 -0
  265. package/dist/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.js +26 -0
  266. package/dist/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.js.map +1 -0
  267. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.js +11 -0
  268. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.js.map +1 -0
  269. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.js +10 -0
  270. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.js.map +1 -0
  271. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.js +10 -0
  272. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.js.map +1 -0
  273. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.js +10 -0
  274. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.js.map +1 -0
  275. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.js +19 -0
  276. package/dist/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.js.map +1 -0
  277. package/dist/node_modules/motion-dom/dist/es/events/add-dom-event.js +8 -0
  278. package/dist/node_modules/motion-dom/dist/es/events/add-dom-event.js.map +1 -0
  279. package/dist/node_modules/motion-dom/dist/es/frameloop/batcher.js +32 -0
  280. package/dist/node_modules/motion-dom/dist/es/frameloop/batcher.js.map +1 -0
  281. package/dist/node_modules/motion-dom/dist/es/frameloop/frame.js +8 -0
  282. package/dist/node_modules/motion-dom/dist/es/frameloop/frame.js.map +1 -0
  283. package/dist/node_modules/motion-dom/dist/es/frameloop/microtask.js +7 -0
  284. package/dist/node_modules/motion-dom/dist/es/frameloop/microtask.js.map +1 -0
  285. package/dist/node_modules/motion-dom/dist/es/frameloop/order.js +15 -0
  286. package/dist/node_modules/motion-dom/dist/es/frameloop/order.js.map +1 -0
  287. package/dist/node_modules/motion-dom/dist/es/frameloop/render-step.js +34 -0
  288. package/dist/node_modules/motion-dom/dist/es/frameloop/render-step.js.map +1 -0
  289. package/dist/node_modules/motion-dom/dist/es/frameloop/sync-time.js +17 -0
  290. package/dist/node_modules/motion-dom/dist/es/frameloop/sync-time.js.map +1 -0
  291. package/dist/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.js +12 -0
  292. package/dist/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.js.map +1 -0
  293. package/dist/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.js +13 -0
  294. package/dist/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.js.map +1 -0
  295. package/dist/node_modules/motion-dom/dist/es/gestures/hover.js +38 -0
  296. package/dist/node_modules/motion-dom/dist/es/gestures/hover.js.map +1 -0
  297. package/dist/node_modules/motion-dom/dist/es/gestures/press/index.js +38 -0
  298. package/dist/node_modules/motion-dom/dist/es/gestures/press/index.js.map +1 -0
  299. package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.js +23 -0
  300. package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.js.map +1 -0
  301. package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.js +30 -0
  302. package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.js.map +1 -0
  303. package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/state.js +6 -0
  304. package/dist/node_modules/motion-dom/dist/es/gestures/press/utils/state.js.map +1 -0
  305. package/dist/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.js +6 -0
  306. package/dist/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.js.map +1 -0
  307. package/dist/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.js +6 -0
  308. package/dist/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.js.map +1 -0
  309. package/dist/node_modules/motion-dom/dist/es/gestures/utils/setup.js +18 -0
  310. package/dist/node_modules/motion-dom/dist/es/gestures/utils/setup.js.map +1 -0
  311. package/dist/node_modules/motion-dom/dist/es/projection/animation/mix-values.js +27 -0
  312. package/dist/node_modules/motion-dom/dist/es/projection/animation/mix-values.js.map +1 -0
  313. package/dist/node_modules/motion-dom/dist/es/projection/geometry/conversion.js +41 -0
  314. package/dist/node_modules/motion-dom/dist/es/projection/geometry/conversion.js.map +1 -0
  315. package/dist/node_modules/motion-dom/dist/es/projection/geometry/copy.js +14 -0
  316. package/dist/node_modules/motion-dom/dist/es/projection/geometry/copy.js.map +1 -0
  317. package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.js +45 -0
  318. package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.js.map +1 -0
  319. package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.js +32 -0
  320. package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.js.map +1 -0
  321. package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.js +31 -0
  322. package/dist/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.js.map +1 -0
  323. package/dist/node_modules/motion-dom/dist/es/projection/geometry/models.js +20 -0
  324. package/dist/node_modules/motion-dom/dist/es/projection/geometry/models.js.map +1 -0
  325. package/dist/node_modules/motion-dom/dist/es/projection/geometry/utils.js +30 -0
  326. package/dist/node_modules/motion-dom/dist/es/projection/geometry/utils.js.map +1 -0
  327. package/dist/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.js +15 -0
  328. package/dist/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.js.map +1 -0
  329. package/dist/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.js +24 -0
  330. package/dist/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.js.map +1 -0
  331. package/dist/node_modules/motion-dom/dist/es/projection/node/create-projection-node.js +586 -0
  332. package/dist/node_modules/motion-dom/dist/es/projection/node/create-projection-node.js.map +1 -0
  333. package/dist/node_modules/motion-dom/dist/es/projection/node/state.js +9 -0
  334. package/dist/node_modules/motion-dom/dist/es/projection/node/state.js.map +1 -0
  335. package/dist/node_modules/motion-dom/dist/es/projection/shared/stack.js +53 -0
  336. package/dist/node_modules/motion-dom/dist/es/projection/shared/stack.js.map +1 -0
  337. package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.js +15 -0
  338. package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.js.map +1 -0
  339. package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.js +15 -0
  340. package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.js.map +1 -0
  341. package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-correction.js +19 -0
  342. package/dist/node_modules/motion-dom/dist/es/projection/styles/scale-correction.js.map +1 -0
  343. package/dist/node_modules/motion-dom/dist/es/projection/styles/transform.js +14 -0
  344. package/dist/node_modules/motion-dom/dist/es/projection/styles/transform.js.map +1 -0
  345. package/dist/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.js +6 -0
  346. package/dist/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.js.map +1 -0
  347. package/dist/node_modules/motion-dom/dist/es/projection/utils/each-axis.js +8 -0
  348. package/dist/node_modules/motion-dom/dist/es/projection/utils/each-axis.js.map +1 -0
  349. package/dist/node_modules/motion-dom/dist/es/projection/utils/flat-tree.js +21 -0
  350. package/dist/node_modules/motion-dom/dist/es/projection/utils/flat-tree.js.map +1 -0
  351. package/dist/node_modules/motion-dom/dist/es/projection/utils/has-transform.js +20 -0
  352. package/dist/node_modules/motion-dom/dist/es/projection/utils/has-transform.js.map +1 -0
  353. package/dist/node_modules/motion-dom/dist/es/projection/utils/measure.js +14 -0
  354. package/dist/node_modules/motion-dom/dist/es/projection/utils/measure.js.map +1 -0
  355. package/dist/node_modules/motion-dom/dist/es/render/Feature.js +11 -0
  356. package/dist/node_modules/motion-dom/dist/es/render/Feature.js.map +1 -0
  357. package/dist/node_modules/motion-dom/dist/es/render/VisualElement.js +206 -0
  358. package/dist/node_modules/motion-dom/dist/es/render/VisualElement.js.map +1 -0
  359. package/dist/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.js +30 -0
  360. package/dist/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.js.map +1 -0
  361. package/dist/node_modules/motion-dom/dist/es/render/dom/is-css-var.js +6 -0
  362. package/dist/node_modules/motion-dom/dist/es/render/dom/is-css-var.js.map +1 -0
  363. package/dist/node_modules/motion-dom/dist/es/render/dom/parse-transform.js +58 -0
  364. package/dist/node_modules/motion-dom/dist/es/render/dom/parse-transform.js.map +1 -0
  365. package/dist/node_modules/motion-dom/dist/es/render/dom/style-set.js +9 -0
  366. package/dist/node_modules/motion-dom/dist/es/render/dom/style-set.js.map +1 -0
  367. package/dist/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.js +8 -0
  368. package/dist/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.js.map +1 -0
  369. package/dist/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.js +37 -0
  370. package/dist/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.js.map +1 -0
  371. package/dist/node_modules/motion-dom/dist/es/render/html/utils/build-styles.js +30 -0
  372. package/dist/node_modules/motion-dom/dist/es/render/html/utils/build-styles.js.map +1 -0
  373. package/dist/node_modules/motion-dom/dist/es/render/html/utils/build-transform.js +38 -0
  374. package/dist/node_modules/motion-dom/dist/es/render/html/utils/build-transform.js.map +1 -0
  375. package/dist/node_modules/motion-dom/dist/es/render/html/utils/render.js +10 -0
  376. package/dist/node_modules/motion-dom/dist/es/render/html/utils/render.js.map +1 -0
  377. package/dist/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.js +13 -0
  378. package/dist/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.js.map +1 -0
  379. package/dist/node_modules/motion-dom/dist/es/render/store.js +6 -0
  380. package/dist/node_modules/motion-dom/dist/es/render/store.js.map +1 -0
  381. package/dist/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.js +42 -0
  382. package/dist/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.js.map +1 -0
  383. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.js +24 -0
  384. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.js.map +1 -0
  385. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.js +30 -0
  386. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.js.map +1 -0
  387. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.js +6 -0
  388. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.js.map +1 -0
  389. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/path.js +17 -0
  390. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/path.js.map +1 -0
  391. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/render.js +12 -0
  392. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/render.js.map +1 -0
  393. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.js +16 -0
  394. package/dist/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.js.map +1 -0
  395. package/dist/node_modules/motion-dom/dist/es/render/utils/animation-state.js +137 -0
  396. package/dist/node_modules/motion-dom/dist/es/render/utils/animation-state.js.map +1 -0
  397. package/dist/node_modules/motion-dom/dist/es/render/utils/get-variant-context.js +21 -0
  398. package/dist/node_modules/motion-dom/dist/es/render/utils/get-variant-context.js.map +1 -0
  399. package/dist/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.js +8 -0
  400. package/dist/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.js.map +1 -0
  401. package/dist/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.js +14 -0
  402. package/dist/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.js.map +1 -0
  403. package/dist/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.js +10 -0
  404. package/dist/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.js.map +1 -0
  405. package/dist/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.js +6 -0
  406. package/dist/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.js.map +1 -0
  407. package/dist/node_modules/motion-dom/dist/es/render/utils/is-variant-label.js +8 -0
  408. package/dist/node_modules/motion-dom/dist/es/render/utils/is-variant-label.js.map +1 -0
  409. package/dist/node_modules/motion-dom/dist/es/render/utils/keys-position.js +15 -0
  410. package/dist/node_modules/motion-dom/dist/es/render/utils/keys-position.js.map +1 -0
  411. package/dist/node_modules/motion-dom/dist/es/render/utils/keys-transform.js +24 -0
  412. package/dist/node_modules/motion-dom/dist/es/render/utils/keys-transform.js.map +1 -0
  413. package/dist/node_modules/motion-dom/dist/es/render/utils/motion-values.js +23 -0
  414. package/dist/node_modules/motion-dom/dist/es/render/utils/motion-values.js.map +1 -0
  415. package/dist/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.js +13 -0
  416. package/dist/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.js.map +1 -0
  417. package/dist/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.js +6 -0
  418. package/dist/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.js.map +1 -0
  419. package/dist/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.js +10 -0
  420. package/dist/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.js.map +1 -0
  421. package/dist/node_modules/motion-dom/dist/es/render/utils/resolve-variants.js +22 -0
  422. package/dist/node_modules/motion-dom/dist/es/render/utils/resolve-variants.js.map +1 -0
  423. package/dist/node_modules/motion-dom/dist/es/render/utils/setters.js +22 -0
  424. package/dist/node_modules/motion-dom/dist/es/render/utils/setters.js.map +1 -0
  425. package/dist/node_modules/motion-dom/dist/es/render/utils/shallow-compare.js +12 -0
  426. package/dist/node_modules/motion-dom/dist/es/render/utils/shallow-compare.js.map +1 -0
  427. package/dist/node_modules/motion-dom/dist/es/render/utils/variant-props.js +14 -0
  428. package/dist/node_modules/motion-dom/dist/es/render/utils/variant-props.js.map +1 -0
  429. package/dist/node_modules/motion-dom/dist/es/resize/handle-element.js +39 -0
  430. package/dist/node_modules/motion-dom/dist/es/resize/handle-element.js.map +1 -0
  431. package/dist/node_modules/motion-dom/dist/es/resize/handle-window.js +24 -0
  432. package/dist/node_modules/motion-dom/dist/es/resize/handle-window.js.map +1 -0
  433. package/dist/node_modules/motion-dom/dist/es/resize/index.js +10 -0
  434. package/dist/node_modules/motion-dom/dist/es/resize/index.js.map +1 -0
  435. package/dist/node_modules/motion-dom/dist/es/stats/buffer.js +9 -0
  436. package/dist/node_modules/motion-dom/dist/es/stats/buffer.js.map +1 -0
  437. package/dist/node_modules/motion-dom/dist/es/utils/border-radius.js +11 -0
  438. package/dist/node_modules/motion-dom/dist/es/utils/border-radius.js.map +1 -0
  439. package/dist/node_modules/motion-dom/dist/es/utils/delay.js +14 -0
  440. package/dist/node_modules/motion-dom/dist/es/utils/delay.js.map +1 -0
  441. package/dist/node_modules/motion-dom/dist/es/utils/interpolate.js +35 -0
  442. package/dist/node_modules/motion-dom/dist/es/utils/interpolate.js.map +1 -0
  443. package/dist/node_modules/motion-dom/dist/es/utils/is-html-element.js +9 -0
  444. package/dist/node_modules/motion-dom/dist/es/utils/is-html-element.js.map +1 -0
  445. package/dist/node_modules/motion-dom/dist/es/utils/is-svg-element.js +9 -0
  446. package/dist/node_modules/motion-dom/dist/es/utils/is-svg-element.js.map +1 -0
  447. package/dist/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.js +9 -0
  448. package/dist/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.js.map +1 -0
  449. package/dist/node_modules/motion-dom/dist/es/utils/mix/color.js +32 -0
  450. package/dist/node_modules/motion-dom/dist/es/utils/mix/color.js.map +1 -0
  451. package/dist/node_modules/motion-dom/dist/es/utils/mix/complex.js +54 -0
  452. package/dist/node_modules/motion-dom/dist/es/utils/mix/complex.js.map +1 -0
  453. package/dist/node_modules/motion-dom/dist/es/utils/mix/immediate.js +8 -0
  454. package/dist/node_modules/motion-dom/dist/es/utils/mix/immediate.js.map +1 -0
  455. package/dist/node_modules/motion-dom/dist/es/utils/mix/index.js +10 -0
  456. package/dist/node_modules/motion-dom/dist/es/utils/mix/index.js.map +1 -0
  457. package/dist/node_modules/motion-dom/dist/es/utils/mix/number.js +6 -0
  458. package/dist/node_modules/motion-dom/dist/es/utils/mix/number.js.map +1 -0
  459. package/dist/node_modules/motion-dom/dist/es/utils/mix/visibility.js +9 -0
  460. package/dist/node_modules/motion-dom/dist/es/utils/mix/visibility.js.map +1 -0
  461. package/dist/node_modules/motion-dom/dist/es/utils/resolve-elements.js +16 -0
  462. package/dist/node_modules/motion-dom/dist/es/utils/resolve-elements.js.map +1 -0
  463. package/dist/node_modules/motion-dom/dist/es/utils/supports/flags.js +6 -0
  464. package/dist/node_modules/motion-dom/dist/es/utils/supports/flags.js.map +1 -0
  465. package/dist/node_modules/motion-dom/dist/es/utils/supports/linear-easing.js +14 -0
  466. package/dist/node_modules/motion-dom/dist/es/utils/supports/linear-easing.js.map +1 -0
  467. package/dist/node_modules/motion-dom/dist/es/utils/supports/memo.js +11 -0
  468. package/dist/node_modules/motion-dom/dist/es/utils/supports/memo.js.map +1 -0
  469. package/dist/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.js +7 -0
  470. package/dist/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.js.map +1 -0
  471. package/dist/node_modules/motion-dom/dist/es/value/index.js +94 -0
  472. package/dist/node_modules/motion-dom/dist/es/value/index.js.map +1 -0
  473. package/dist/node_modules/motion-dom/dist/es/value/types/auto.js +9 -0
  474. package/dist/node_modules/motion-dom/dist/es/value/types/auto.js.map +1 -0
  475. package/dist/node_modules/motion-dom/dist/es/value/types/color/hex.js +21 -0
  476. package/dist/node_modules/motion-dom/dist/es/value/types/color/hex.js.map +1 -0
  477. package/dist/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.js +23 -0
  478. package/dist/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.js.map +1 -0
  479. package/dist/node_modules/motion-dom/dist/es/value/types/color/hsla.js +14 -0
  480. package/dist/node_modules/motion-dom/dist/es/value/types/color/hsla.js.map +1 -0
  481. package/dist/node_modules/motion-dom/dist/es/value/types/color/index.js +17 -0
  482. package/dist/node_modules/motion-dom/dist/es/value/types/color/index.js.map +1 -0
  483. package/dist/node_modules/motion-dom/dist/es/value/types/color/rgba.js +17 -0
  484. package/dist/node_modules/motion-dom/dist/es/value/types/color/rgba.js.map +1 -0
  485. package/dist/node_modules/motion-dom/dist/es/value/types/color/utils.js +18 -0
  486. package/dist/node_modules/motion-dom/dist/es/value/types/color/utils.js.map +1 -0
  487. package/dist/node_modules/motion-dom/dist/es/value/types/complex/filter.js +28 -0
  488. package/dist/node_modules/motion-dom/dist/es/value/types/complex/filter.js.map +1 -0
  489. package/dist/node_modules/motion-dom/dist/es/value/types/complex/index.js +54 -0
  490. package/dist/node_modules/motion-dom/dist/es/value/types/complex/index.js.map +1 -0
  491. package/dist/node_modules/motion-dom/dist/es/value/types/complex/mask.js +16 -0
  492. package/dist/node_modules/motion-dom/dist/es/value/types/complex/mask.js.map +1 -0
  493. package/dist/node_modules/motion-dom/dist/es/value/types/dimensions.js +18 -0
  494. package/dist/node_modules/motion-dom/dist/es/value/types/dimensions.js.map +1 -0
  495. package/dist/node_modules/motion-dom/dist/es/value/types/int.js +10 -0
  496. package/dist/node_modules/motion-dom/dist/es/value/types/int.js.map +1 -0
  497. package/dist/node_modules/motion-dom/dist/es/value/types/maps/defaults.js +26 -0
  498. package/dist/node_modules/motion-dom/dist/es/value/types/maps/defaults.js.map +1 -0
  499. package/dist/node_modules/motion-dom/dist/es/value/types/maps/number.js +66 -0
  500. package/dist/node_modules/motion-dom/dist/es/value/types/maps/number.js.map +1 -0
  501. package/dist/node_modules/motion-dom/dist/es/value/types/maps/transform.js +34 -0
  502. package/dist/node_modules/motion-dom/dist/es/value/types/maps/transform.js.map +1 -0
  503. package/dist/node_modules/motion-dom/dist/es/value/types/numbers/index.js +17 -0
  504. package/dist/node_modules/motion-dom/dist/es/value/types/numbers/index.js.map +1 -0
  505. package/dist/node_modules/motion-dom/dist/es/value/types/numbers/units.js +14 -0
  506. package/dist/node_modules/motion-dom/dist/es/value/types/numbers/units.js.map +1 -0
  507. package/dist/node_modules/motion-dom/dist/es/value/types/test.js +6 -0
  508. package/dist/node_modules/motion-dom/dist/es/value/types/test.js.map +1 -0
  509. package/dist/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.js +14 -0
  510. package/dist/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.js.map +1 -0
  511. package/dist/node_modules/motion-dom/dist/es/value/types/utils/color-regex.js +6 -0
  512. package/dist/node_modules/motion-dom/dist/es/value/types/utils/color-regex.js.map +1 -0
  513. package/dist/node_modules/motion-dom/dist/es/value/types/utils/find.js +14 -0
  514. package/dist/node_modules/motion-dom/dist/es/value/types/utils/find.js.map +1 -0
  515. package/dist/node_modules/motion-dom/dist/es/value/types/utils/float-regex.js +6 -0
  516. package/dist/node_modules/motion-dom/dist/es/value/types/utils/float-regex.js.map +1 -0
  517. package/dist/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.js +6 -0
  518. package/dist/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.js.map +1 -0
  519. package/dist/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.js +8 -0
  520. package/dist/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.js.map +1 -0
  521. package/dist/node_modules/motion-dom/dist/es/value/types/utils/sanitize.js +6 -0
  522. package/dist/node_modules/motion-dom/dist/es/value/types/utils/sanitize.js.map +1 -0
  523. package/dist/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.js +6 -0
  524. package/dist/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.js.map +1 -0
  525. package/dist/node_modules/motion-dom/dist/es/value/utils/is-motion-value.js +6 -0
  526. package/dist/node_modules/motion-dom/dist/es/value/utils/is-motion-value.js.map +1 -0
  527. package/dist/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.js +9 -0
  528. package/dist/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.js.map +1 -0
  529. package/dist/node_modules/motion-dom/dist/es/value/will-change/add-will-change.js +15 -0
  530. package/dist/node_modules/motion-dom/dist/es/value/will-change/add-will-change.js.map +1 -0
  531. package/dist/node_modules/motion-dom/dist/es/value/will-change/is.js +9 -0
  532. package/dist/node_modules/motion-dom/dist/es/value/will-change/is.js.map +1 -0
  533. package/dist/node_modules/motion-utils/dist/es/array.js +12 -0
  534. package/dist/node_modules/motion-utils/dist/es/array.js.map +1 -0
  535. package/dist/node_modules/motion-utils/dist/es/clamp.js +6 -0
  536. package/dist/node_modules/motion-utils/dist/es/clamp.js.map +1 -0
  537. package/dist/node_modules/motion-utils/dist/es/easing/anticipate.js +7 -0
  538. package/dist/node_modules/motion-utils/dist/es/easing/anticipate.js.map +1 -0
  539. package/dist/node_modules/motion-utils/dist/es/easing/back.js +9 -0
  540. package/dist/node_modules/motion-utils/dist/es/easing/back.js.map +1 -0
  541. package/dist/node_modules/motion-utils/dist/es/easing/circ.js +8 -0
  542. package/dist/node_modules/motion-utils/dist/es/easing/circ.js.map +1 -0
  543. package/dist/node_modules/motion-utils/dist/es/easing/cubic-bezier.js +20 -0
  544. package/dist/node_modules/motion-utils/dist/es/easing/cubic-bezier.js.map +1 -0
  545. package/dist/node_modules/motion-utils/dist/es/easing/ease.js +7 -0
  546. package/dist/node_modules/motion-utils/dist/es/easing/ease.js.map +1 -0
  547. package/dist/node_modules/motion-utils/dist/es/easing/modifiers/mirror.js +6 -0
  548. package/dist/node_modules/motion-utils/dist/es/easing/modifiers/mirror.js.map +1 -0
  549. package/dist/node_modules/motion-utils/dist/es/easing/modifiers/reverse.js +6 -0
  550. package/dist/node_modules/motion-utils/dist/es/easing/modifiers/reverse.js.map +1 -0
  551. package/dist/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.js +6 -0
  552. package/dist/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.js.map +1 -0
  553. package/dist/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.js +6 -0
  554. package/dist/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.js.map +1 -0
  555. package/dist/node_modules/motion-utils/dist/es/easing/utils/map.js +33 -0
  556. package/dist/node_modules/motion-utils/dist/es/easing/utils/map.js.map +1 -0
  557. package/dist/node_modules/motion-utils/dist/es/errors.js +12 -0
  558. package/dist/node_modules/motion-utils/dist/es/errors.js.map +1 -0
  559. package/dist/node_modules/motion-utils/dist/es/format-error-message.js +8 -0
  560. package/dist/node_modules/motion-utils/dist/es/format-error-message.js.map +1 -0
  561. package/dist/node_modules/motion-utils/dist/es/global-config.js +6 -0
  562. package/dist/node_modules/motion-utils/dist/es/global-config.js.map +1 -0
  563. package/dist/node_modules/motion-utils/dist/es/is-numerical-string.js +6 -0
  564. package/dist/node_modules/motion-utils/dist/es/is-numerical-string.js.map +1 -0
  565. package/dist/node_modules/motion-utils/dist/es/is-object.js +6 -0
  566. package/dist/node_modules/motion-utils/dist/es/is-object.js.map +1 -0
  567. package/dist/node_modules/motion-utils/dist/es/is-zero-value-string.js +6 -0
  568. package/dist/node_modules/motion-utils/dist/es/is-zero-value-string.js.map +1 -0
  569. package/dist/node_modules/motion-utils/dist/es/memo.js +10 -0
  570. package/dist/node_modules/motion-utils/dist/es/memo.js.map +1 -0
  571. package/dist/node_modules/motion-utils/dist/es/noop.js +6 -0
  572. package/dist/node_modules/motion-utils/dist/es/noop.js.map +1 -0
  573. package/dist/node_modules/motion-utils/dist/es/pipe.js +6 -0
  574. package/dist/node_modules/motion-utils/dist/es/pipe.js.map +1 -0
  575. package/dist/node_modules/motion-utils/dist/es/progress.js +9 -0
  576. package/dist/node_modules/motion-utils/dist/es/progress.js.map +1 -0
  577. package/dist/node_modules/motion-utils/dist/es/subscription-manager.js +28 -0
  578. package/dist/node_modules/motion-utils/dist/es/subscription-manager.js.map +1 -0
  579. package/dist/node_modules/motion-utils/dist/es/time-conversion.js +6 -0
  580. package/dist/node_modules/motion-utils/dist/es/time-conversion.js.map +1 -0
  581. package/dist/node_modules/motion-utils/dist/es/velocity-per-second.js +6 -0
  582. package/dist/node_modules/motion-utils/dist/es/velocity-per-second.js.map +1 -0
  583. package/dist/node_modules/motion-utils/dist/es/warn-once.js +10 -0
  584. package/dist/node_modules/motion-utils/dist/es/warn-once.js.map +1 -0
  585. package/dist/node_modules/recharts/es6/cartesian/Area.js +435 -0
  586. package/dist/node_modules/recharts/es6/cartesian/Area.js.map +1 -0
  587. package/dist/node_modules/recharts/es6/chart/{LineChart.js → AreaChart.js} +5 -5
  588. package/dist/node_modules/recharts/es6/chart/{LineChart.js.map → AreaChart.js.map} +1 -1
  589. package/package.json +2 -2
  590. package/dist/node_modules/recharts/es6/cartesian/Line.js +0 -473
  591. package/dist/node_modules/recharts/es6/cartesian/Line.js.map +0 -1
@@ -1,28 +1,34 @@
1
1
  import { useMyBodyShield as e } from "../../context/MyBodyShieldContext.js";
2
- import { PageLayout as t } from "../../components/PageLayout.js";
3
- import { formatDate as n, formatDuration as r, formatEnumLabel as i, formatMinutes as a, formatNumber as o, formatWeight as s } from "../../utils/formatters.js";
4
- import { StatusBadge as c } from "../../components/StatusBadge.js";
5
- import { ErrorView as ee, LoadingView as te, Section as ne } from "../../components/StateViews.js";
6
- import { EmptyState as l } from "../../components/EmptyState.js";
7
- import { IconChip as u, MUSCLE_META as d, WORKOUT_TYPE_META as f } from "../_shared/visuals.js";
2
+ import { motion as t } from "../../../node_modules/framer-motion/dist/es/render/components/motion/proxy.js";
3
+ import { useReducedMotion as n } from "../../../node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.js";
4
+ import { PageLayout as r } from "../../components/PageLayout.js";
5
+ import { formatDate as i, formatDuration as a, formatEnumLabel as o, formatMinutes as s, formatNumber as c, formatWeight as l } from "../../utils/formatters.js";
6
+ import { StatusBadge as ee } from "../../components/StatusBadge.js";
7
+ import { ErrorView as te, LoadingView as ne, Section as re } from "../../components/StateViews.js";
8
+ import { EmptyState as ie } from "../../components/EmptyState.js";
9
+ import { GOAL_TYPE_META as ae, IconChip as u, MUSCLE_META as d, WORKOUT_TYPE_META as oe } from "../_shared/visuals.js";
8
10
  import "../../context/index.js";
9
- import { useMybAddExercise as re, useMybAddWorkout as ie, useMybArchiveProgram as ae, useMybProgram as oe, useMybTransitionProgram as se } from "../../hooks/useMyBodyShieldApi.js";
11
+ import { useMybAddExercise as se, useMybAddWorkout as ce, useMybArchiveProgram as le, useMybProgram as ue, useMybTransitionProgram as de, useMybUpdateProgram as fe } from "../../hooks/useMyBodyShieldApi.js";
10
12
  import "../../hooks/index.js";
13
+ import { EvidenceUpload as pe } from "../../components/EvidenceUpload.js";
14
+ import { FileLink as me } from "../../components/FileLink.js";
15
+ import { MybDiscussion as he } from "../../components/MybDiscussion.js";
16
+ import { MybTags as ge } from "../../components/MybTags.js";
11
17
  import "../../components/index.js";
12
- import { useMemo as p, useState as m } from "react";
13
- import { Archive as ce, ArrowLeft as h, CheckCircle2 as le, Dumbbell as ue, Play as de, Plus as g } from "lucide-react";
14
- import { useParams as fe } from "react-router-dom";
15
- import { Fragment as pe, jsx as _, jsxs as v } from "react/jsx-runtime";
16
- import { Button as y, GlassCard as b, Input as x, Label as S, ResponsiveDialog as C, ResponsiveDialogContent as w, ResponsiveDialogDescription as T, ResponsiveDialogFooter as E, ResponsiveDialogHeader as D, ResponsiveDialogTitle as O, Select as k, SelectContent as A, SelectItem as j, SelectTrigger as M, SelectValue as N, Textarea as me } from "@burdenoff/fe-libs/ui";
18
+ import { useMemo as _e, useState as f } from "react";
19
+ import { Archive as ve, ArrowLeft as ye, CalendarDays as be, CheckCircle2 as xe, Clock as p, Dumbbell as m, Flame as Se, Lock as Ce, Pencil as we, Play as Te, Plus as h } from "lucide-react";
20
+ import { useParams as Ee } from "react-router-dom";
21
+ import { Fragment as De, jsx as g, jsxs as _ } from "react/jsx-runtime";
22
+ import { Button as v, GlassCard as Oe, Input as y, Label as b, ResponsiveDialog as x, ResponsiveDialogContent as S, ResponsiveDialogDescription as C, ResponsiveDialogFooter as w, ResponsiveDialogHeader as T, ResponsiveDialogTitle as E, Select as D, SelectContent as O, SelectItem as k, SelectTrigger as A, SelectValue as j, Textarea as ke } from "@burdenoff/fe-libs/ui";
17
23
  //#region src/mybodyshield/pages/programs/ProgramDetailPage.tsx
18
- var he = [
24
+ var Ae = [
19
25
  "STRENGTH",
20
26
  "CARDIO",
21
27
  "HIIT",
22
28
  "MOBILITY",
23
29
  "YOGA",
24
30
  "RECOVERY"
25
- ], ge = [
31
+ ], je = [
26
32
  "CHEST",
27
33
  "BACK",
28
34
  "LEGS",
@@ -30,45 +36,67 @@ var he = [
30
36
  "ARMS",
31
37
  "CORE",
32
38
  "FULL_BODY"
33
- ], P = (e) => {
39
+ ], M = (e) => {
34
40
  let t = e.trim();
35
41
  if (t === "") return null;
36
42
  let n = Number(t);
37
43
  return Number.isFinite(n) ? n : null;
38
- }, F = ({ children: e }) => /* @__PURE__ */ _("span", {
39
- className: "inline-flex items-center rounded-full bg-bg-sunken px-2 py-0.5 text-xs font-medium text-text-secondary",
40
- children: e
41
- }), I = ({ group: e }) => {
44
+ }, Me = [
45
+ .16,
46
+ 1,
47
+ .3,
48
+ 1
49
+ ], Ne = {
50
+ hidden: {},
51
+ show: { transition: { staggerChildren: .06 } }
52
+ }, Pe = {
53
+ hidden: {
54
+ opacity: 0,
55
+ y: 12
56
+ },
57
+ show: {
58
+ opacity: 1,
59
+ y: 0,
60
+ transition: {
61
+ duration: .35,
62
+ ease: Me
63
+ }
64
+ }
65
+ }, N = ({ children: e, icon: t, tint: n }) => /* @__PURE__ */ _("span", {
66
+ className: "inline-flex items-center gap-1.5 rounded-full bg-bg-sunken px-2.5 py-1 text-xs font-medium text-text-secondary",
67
+ style: n ? { color: n } : void 0,
68
+ children: [t, e]
69
+ }), P = ({ group: e }) => {
42
70
  let t = d[e].tint;
43
- return /* @__PURE__ */ _("span", {
71
+ return /* @__PURE__ */ g("span", {
44
72
  className: "inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium",
45
73
  style: {
46
74
  backgroundColor: `color-mix(in srgb, ${t} 16%, transparent)`,
47
75
  color: t
48
76
  },
49
- children: i(e)
77
+ children: o(e)
50
78
  });
51
79
  };
52
- function L({ id: e, value: t, onChange: n, options: r }) {
53
- return /* @__PURE__ */ v(k, {
80
+ function F({ id: e, value: t, onChange: n, options: r }) {
81
+ return /* @__PURE__ */ _(D, {
54
82
  value: t,
55
83
  onValueChange: (e) => n(e),
56
- children: [/* @__PURE__ */ _(M, {
84
+ children: [/* @__PURE__ */ g(A, {
57
85
  id: e,
58
- children: /* @__PURE__ */ _(N, {})
59
- }), /* @__PURE__ */ _(A, { children: r.map((e) => /* @__PURE__ */ _(j, {
86
+ children: /* @__PURE__ */ g(j, {})
87
+ }), /* @__PURE__ */ g(O, { children: r.map((e) => /* @__PURE__ */ g(k, {
60
88
  value: e,
61
- children: i(e)
89
+ children: o(e)
62
90
  }, e)) })]
63
91
  });
64
92
  }
65
- var R = {
93
+ var Fe = {
66
94
  name: "",
67
95
  type: "STRENGTH",
68
96
  weekNumber: "1",
69
97
  dayOfWeek: "1",
70
98
  durationMin: ""
71
- }, z = {
99
+ }, I = {
72
100
  name: "",
73
101
  muscleGroup: "FULL_BODY",
74
102
  sets: "",
@@ -76,376 +104,528 @@ var R = {
76
104
  targetWeight: "",
77
105
  restSeconds: "",
78
106
  instructions: ""
107
+ }, Ie = [
108
+ "WEIGHT_LOSS",
109
+ "MUSCLE_GAIN",
110
+ "STRENGTH",
111
+ "ENDURANCE",
112
+ "MOBILITY",
113
+ "GENERAL_FITNESS"
114
+ ], Le = [
115
+ "BEGINNER",
116
+ "INTERMEDIATE",
117
+ "ADVANCED",
118
+ "ELITE"
119
+ ], Re = [
120
+ "BUILD",
121
+ "PEAK",
122
+ "DELOAD",
123
+ "MAINTENANCE"
124
+ ], ze = {
125
+ name: "",
126
+ description: "",
127
+ goalType: "GENERAL_FITNESS",
128
+ level: "BEGINNER",
129
+ phase: "BUILD",
130
+ weeks: "",
131
+ daysPerWeek: "",
132
+ startDate: "",
133
+ endDate: ""
134
+ }, Be = (e) => {
135
+ if (!e) return "";
136
+ let t = new Date(e);
137
+ return Number.isNaN(t.getTime()) ? "" : t.toISOString().slice(0, 10);
79
138
  };
80
- function B({ exercise: e }) {
81
- return /* @__PURE__ */ v("div", {
82
- className: "flex flex-col gap-2 py-3 sm:flex-row sm:items-start sm:justify-between",
83
- children: [/* @__PURE__ */ v("div", {
139
+ function L({ exercise: e }) {
140
+ let t = d[e.muscleGroup].tint;
141
+ return /* @__PURE__ */ _("div", {
142
+ className: "flex flex-col gap-2 rounded-lg border-l-2 py-3 pl-3 pr-1 transition-colors hover:bg-bg-sunken/40 sm:flex-row sm:items-start sm:justify-between",
143
+ style: { borderColor: `color-mix(in srgb, ${t} 55%, transparent)` },
144
+ children: [/* @__PURE__ */ _("div", {
84
145
  className: "min-w-0",
85
- children: [/* @__PURE__ */ v("div", {
86
- className: "flex flex-wrap items-center gap-2",
87
- children: [/* @__PURE__ */ _("p", {
88
- className: "font-medium text-text-primary",
89
- children: e.name
90
- }), /* @__PURE__ */ _(I, { group: e.muscleGroup })]
91
- }), e.instructions && /* @__PURE__ */ _("p", {
92
- className: "mt-1 text-xs text-text-tertiary",
93
- children: e.instructions
94
- })]
95
- }), /* @__PURE__ */ v("div", {
146
+ children: [
147
+ /* @__PURE__ */ _("div", {
148
+ className: "flex flex-wrap items-center gap-2",
149
+ children: [/* @__PURE__ */ g("p", {
150
+ className: "font-medium text-text-primary",
151
+ children: e.name
152
+ }), /* @__PURE__ */ g(P, { group: e.muscleGroup })]
153
+ }),
154
+ e.instructions && /* @__PURE__ */ g("p", {
155
+ className: "mt-1 text-xs text-text-tertiary",
156
+ children: e.instructions
157
+ }),
158
+ e.demo?.id && /* @__PURE__ */ g("div", {
159
+ className: "mt-1.5",
160
+ children: /* @__PURE__ */ g(me, { fileId: e.demo.id })
161
+ })
162
+ ]
163
+ }), /* @__PURE__ */ _("div", {
96
164
  className: "flex shrink-0 items-center gap-4 text-sm tabular-nums text-text-secondary",
97
- children: [/* @__PURE__ */ v("span", { children: [
98
- o(e.sets),
165
+ children: [/* @__PURE__ */ _("span", { children: [
166
+ c(e.sets),
99
167
  "×",
100
- o(e.reps),
168
+ c(e.reps),
101
169
  " @",
102
170
  " ",
103
- s(e.targetWeight)
104
- ] }), /* @__PURE__ */ v("span", {
171
+ l(e.targetWeight)
172
+ ] }), /* @__PURE__ */ _("span", {
105
173
  className: "text-text-tertiary",
106
- children: ["Rest ", r(e.restSeconds)]
174
+ children: ["Rest ", a(e.restSeconds)]
107
175
  })]
108
176
  })]
109
177
  });
110
178
  }
111
- function _e({ workout: e, onAddExercise: t }) {
112
- let n = f[e.type], r = n.icon, i = p(() => [...e.exercises ?? []].sort((e, t) => e.orderIndex - t.orderIndex), [e.exercises]);
113
- return /* @__PURE__ */ v(b, {
179
+ function Ve({ workout: e, canEdit: t, onAddExercise: n }) {
180
+ let r = oe[e.type], i = r.icon, a = _e(() => [...e.exercises ?? []].sort((e, t) => e.orderIndex - t.orderIndex), [e.exercises]);
181
+ return /* @__PURE__ */ _(Oe, {
114
182
  treatment: "glass",
115
- className: "p-5",
116
- children: [/* @__PURE__ */ v("div", {
183
+ className: "h-full p-5 transition-shadow hover:shadow-float",
184
+ children: [/* @__PURE__ */ _("div", {
117
185
  className: "flex flex-wrap items-start justify-between gap-3",
118
- children: [/* @__PURE__ */ v("div", {
186
+ children: [/* @__PURE__ */ _("div", {
119
187
  className: "flex min-w-0 items-start gap-3",
120
- children: [/* @__PURE__ */ _(u, {
121
- icon: /* @__PURE__ */ _(r, { className: "h-4 w-4" }),
122
- tint: n.tint
123
- }), /* @__PURE__ */ v("div", {
188
+ children: [/* @__PURE__ */ g(u, {
189
+ icon: /* @__PURE__ */ g(i, { className: "h-4 w-4" }),
190
+ tint: r.tint
191
+ }), /* @__PURE__ */ _("div", {
124
192
  className: "min-w-0",
125
- children: [/* @__PURE__ */ v("div", {
193
+ children: [/* @__PURE__ */ _("div", {
126
194
  className: "flex flex-wrap items-center gap-2",
127
- children: [/* @__PURE__ */ _("h3", {
195
+ children: [/* @__PURE__ */ g("h3", {
128
196
  className: "font-semibold text-text-primary",
129
197
  children: e.name
130
- }), /* @__PURE__ */ _(c, { status: e.type })]
131
- }), /* @__PURE__ */ v("p", {
132
- className: "mt-0.5 text-xs text-text-tertiary",
133
- children: [
198
+ }), /* @__PURE__ */ g(ee, { status: e.type })]
199
+ }), /* @__PURE__ */ _("div", {
200
+ className: "mt-0.5 flex flex-wrap items-center gap-x-2 gap-y-0.5 text-xs text-text-tertiary",
201
+ children: [/* @__PURE__ */ _("span", { children: [
134
202
  "Week ",
135
- o(e.weekNumber),
203
+ c(e.weekNumber),
136
204
  " · Day ",
137
- o(e.dayOfWeek),
138
- " ·",
139
- " ",
140
- a(e.durationMin)
141
- ]
205
+ c(e.dayOfWeek)
206
+ ] }), /* @__PURE__ */ _("span", {
207
+ className: "inline-flex items-center gap-1",
208
+ children: [/* @__PURE__ */ g(p, { className: "h-3.5 w-3.5" }), s(e.durationMin)]
209
+ })]
142
210
  })]
143
211
  })]
144
- }), /* @__PURE__ */ v(y, {
212
+ }), t && /* @__PURE__ */ _(v, {
145
213
  variant: "outline",
146
214
  size: "sm",
147
- onClick: () => t(e.id),
148
- children: [/* @__PURE__ */ _(g, { className: "mr-1 h-4 w-4" }), " Add exercise"]
215
+ onClick: () => n(e.id),
216
+ children: [/* @__PURE__ */ g(h, { className: "mr-1 h-4 w-4" }), " Add exercise"]
149
217
  })]
150
- }), i.length === 0 ? /* @__PURE__ */ _("p", {
218
+ }), a.length === 0 ? /* @__PURE__ */ g("p", {
151
219
  className: "mt-4 rounded-lg border border-dashed border-border-seam px-3 py-4 text-center text-sm text-text-tertiary",
152
220
  children: "No exercises yet — add the first movement to this workout."
153
- }) : /* @__PURE__ */ _("div", {
221
+ }) : /* @__PURE__ */ g("div", {
154
222
  className: "mt-4 divide-y divide-border-seam/60",
155
- children: i.map((e) => /* @__PURE__ */ _(B, { exercise: e }, e.id))
223
+ children: a.map((e) => /* @__PURE__ */ g(L, { exercise: e }, e.id))
156
224
  })]
157
225
  });
158
226
  }
159
- function V() {
160
- let { id: r } = fe(), { navigateTo: a } = e(), { data: s, isLoading: u, isError: d, refetch: f } = oe(r), k = se(), A = ae(), j = ie(), M = re(), [N, I] = m(null), [B, V] = m(!1), [H, U] = m(R), [W, G] = m(null), [K, q] = m(null), [J, Y] = m(z), [X, Z] = m(null), ve = p(() => [...s?.workouts ?? []].sort((e, t) => e.weekNumber - t.weekNumber || e.dayOfWeek - t.dayOfWeek || e.orderIndex - t.orderIndex), [s?.workouts]);
161
- if (u) return /* @__PURE__ */ _(t, {
227
+ function He() {
228
+ let { id: a } = Ee(), { navigateTo: s } = e(), l = n(), { data: d, isLoading: oe, isError: me, refetch: p } = ue(a), D = de(), O = le(), k = fe(), A = ce(), j = se(), [P, L] = f(null), [He, R] = f(!1), [z, B] = f(Fe), [Ue, V] = f(null), [H, U] = f(null), [W, G] = f(I), [We, Ge] = f(null), [Ke, K] = f(null), [qe, q] = f(!1), [J, Y] = f(ze), [Je, X] = f(null), Ye = _e(() => [...d?.workouts ?? []].sort((e, t) => e.weekNumber - t.weekNumber || e.dayOfWeek - t.dayOfWeek || e.orderIndex - t.orderIndex), [d?.workouts]);
229
+ if (oe) return /* @__PURE__ */ g(r, {
162
230
  title: "Program",
163
- children: /* @__PURE__ */ _(te, { label: "Loading program…" })
231
+ children: /* @__PURE__ */ g(ne, { label: "Loading program…" })
164
232
  });
165
- if (d) return /* @__PURE__ */ _(t, {
233
+ if (me) return /* @__PURE__ */ g(r, {
166
234
  title: "Program",
167
- children: /* @__PURE__ */ _(ee, {
235
+ children: /* @__PURE__ */ g(te, {
168
236
  message: "We couldn't load this program.",
169
- onRetry: () => void f()
237
+ onRetry: () => void p()
170
238
  })
171
239
  });
172
- if (!s) return /* @__PURE__ */ _(t, {
240
+ if (!d) return /* @__PURE__ */ g(r, {
173
241
  title: "Program",
174
- children: /* @__PURE__ */ _(l, {
242
+ children: /* @__PURE__ */ g(ie, {
175
243
  illustration: "empty-data",
176
- icon: /* @__PURE__ */ _(ue, { className: "h-10 w-10" }),
244
+ icon: /* @__PURE__ */ g(m, { className: "h-10 w-10" }),
177
245
  title: "Program not found",
178
246
  description: "This program may have been deleted or you don't have access to it.",
179
- action: /* @__PURE__ */ v(y, {
247
+ action: /* @__PURE__ */ _(v, {
180
248
  variant: "outline",
181
- onClick: () => a("programs"),
182
- children: [/* @__PURE__ */ _(h, { className: "mr-1 h-4 w-4" }), " Back to programs"]
249
+ onClick: () => s("programs"),
250
+ children: [/* @__PURE__ */ g(ye, { className: "mr-1 h-4 w-4" }), " Back to programs"]
183
251
  })
184
252
  })
185
253
  });
186
- let Q = s.id, ye = async (e) => {
187
- I(null);
254
+ let Z = d.id, Q = d.status === "DRAFT" || d.status === "ACTIVE", Xe = d.status === "ACTIVE", $ = ae[d.goalType], Ze = $.icon, Qe = () => {
255
+ Y({
256
+ name: d.name,
257
+ description: d.description ?? "",
258
+ goalType: d.goalType,
259
+ level: d.level,
260
+ phase: d.phase,
261
+ weeks: d.weeks ? String(d.weeks) : "",
262
+ daysPerWeek: d.daysPerWeek ? String(d.daysPerWeek) : "",
263
+ startDate: Be(d.startDate),
264
+ endDate: Be(d.endDate)
265
+ }), X(null), q(!0);
266
+ }, $e = async () => {
267
+ if (!J.name.trim()) {
268
+ X("Program name is required.");
269
+ return;
270
+ }
271
+ let e = {
272
+ name: J.name.trim(),
273
+ description: J.description.trim() || null,
274
+ goalType: J.goalType,
275
+ level: J.level,
276
+ phase: J.phase,
277
+ weeks: M(J.weeks),
278
+ daysPerWeek: M(J.daysPerWeek),
279
+ startDate: J.startDate ? new Date(J.startDate).toISOString() : null,
280
+ endDate: J.endDate ? new Date(J.endDate).toISOString() : null
281
+ };
282
+ X(null);
188
283
  try {
189
284
  await k.mutateAsync({
190
- id: Q,
285
+ id: Z,
286
+ input: e
287
+ }), q(!1);
288
+ } catch (e) {
289
+ X(e instanceof Error ? e.message : "Failed to update program.");
290
+ }
291
+ }, et = async (e) => {
292
+ L(null);
293
+ try {
294
+ await D.mutateAsync({
295
+ id: Z,
191
296
  status: e
192
297
  });
193
298
  } catch (e) {
194
- I(e instanceof Error ? e.message : "Failed to update program status.");
299
+ L(e instanceof Error ? e.message : "Failed to update program status.");
195
300
  }
196
- }, be = async () => {
301
+ }, tt = async () => {
197
302
  if (window.confirm("Archive this program? It will be moved out of your active library.")) {
198
- I(null);
303
+ L(null);
199
304
  try {
200
- await A.mutateAsync(Q), await f();
305
+ await O.mutateAsync(Z), await p();
201
306
  } catch (e) {
202
- I(e instanceof Error ? e.message : "Failed to archive program.");
307
+ L(e instanceof Error ? e.message : "Failed to archive program.");
203
308
  }
204
309
  }
205
- }, $ = () => {
206
- U(R), G(null), V(!0);
207
- }, xe = async () => {
208
- if (!H.name.trim()) {
209
- G("Workout name is required.");
310
+ }, nt = () => {
311
+ B(Fe), V(null), R(!0);
312
+ }, rt = async () => {
313
+ if (!z.name.trim()) {
314
+ V("Workout name is required.");
210
315
  return;
211
316
  }
212
317
  let e = {
213
- programId: Q,
214
- name: H.name.trim(),
215
- type: H.type,
216
- weekNumber: P(H.weekNumber),
217
- dayOfWeek: P(H.dayOfWeek),
218
- durationMin: P(H.durationMin)
318
+ programId: Z,
319
+ name: z.name.trim(),
320
+ type: z.type,
321
+ weekNumber: M(z.weekNumber),
322
+ dayOfWeek: M(z.dayOfWeek),
323
+ durationMin: M(z.durationMin)
219
324
  };
220
325
  try {
221
- await j.mutateAsync(e), V(!1);
326
+ await A.mutateAsync(e), R(!1);
222
327
  } catch (e) {
223
- G(e instanceof Error ? e.message : "Failed to add workout.");
328
+ V(e instanceof Error ? e.message : "Failed to add workout.");
224
329
  }
225
- }, Se = (e) => {
226
- Y(z), Z(null), q(e);
227
- }, Ce = async () => {
228
- if (!K) return;
229
- if (!J.name.trim()) {
230
- Z("Exercise name is required.");
330
+ }, it = (e) => {
331
+ G(I), Ge(null), K(null), U(e);
332
+ }, at = async () => {
333
+ if (!H) return;
334
+ if (!W.name.trim()) {
335
+ K("Exercise name is required.");
231
336
  return;
232
337
  }
233
338
  let e = {
234
- workoutId: K,
235
- name: J.name.trim(),
236
- muscleGroup: J.muscleGroup,
237
- sets: P(J.sets),
238
- reps: P(J.reps),
239
- targetWeight: P(J.targetWeight),
240
- restSeconds: P(J.restSeconds),
241
- instructions: J.instructions.trim() || null
339
+ workoutId: H,
340
+ name: W.name.trim(),
341
+ muscleGroup: W.muscleGroup,
342
+ sets: M(W.sets),
343
+ reps: M(W.reps),
344
+ targetWeight: M(W.targetWeight),
345
+ restSeconds: M(W.restSeconds),
346
+ instructions: W.instructions.trim() || null,
347
+ demoFileId: We?.fileId ?? null
242
348
  };
243
349
  try {
244
- await M.mutateAsync(e), q(null);
350
+ await j.mutateAsync(e), U(null);
245
351
  } catch (e) {
246
- Z(e instanceof Error ? e.message : "Failed to add exercise.");
352
+ K(e instanceof Error ? e.message : "Failed to add exercise.");
247
353
  }
248
354
  };
249
- return /* @__PURE__ */ v(t, {
250
- title: s.name,
251
- actions: /* @__PURE__ */ v(pe, { children: [
252
- s.status === "DRAFT" && /* @__PURE__ */ v(y, {
253
- onClick: () => void ye("ACTIVE"),
254
- disabled: k.isPending,
255
- children: [/* @__PURE__ */ _(de, { className: "mr-1 h-4 w-4" }), " Activate"]
355
+ return /* @__PURE__ */ _(r, {
356
+ title: d.name,
357
+ actions: /* @__PURE__ */ _(De, { children: [
358
+ d.status === "DRAFT" && /* @__PURE__ */ _(v, {
359
+ onClick: () => void et("ACTIVE"),
360
+ disabled: D.isPending,
361
+ children: [/* @__PURE__ */ g(Te, { className: "mr-1 h-4 w-4" }), " Activate"]
256
362
  }),
257
- s.status === "ACTIVE" && /* @__PURE__ */ v(y, {
258
- onClick: () => void ye("COMPLETED"),
363
+ d.status === "ACTIVE" && /* @__PURE__ */ _(De, { children: [/* @__PURE__ */ _(v, {
364
+ onClick: () => void et("COMPLETED"),
365
+ disabled: D.isPending,
366
+ children: [/* @__PURE__ */ g(xe, { className: "mr-1 h-4 w-4" }), " Complete"]
367
+ }), /* @__PURE__ */ _(v, {
368
+ variant: "outline",
369
+ onClick: () => s("train"),
370
+ children: [/* @__PURE__ */ g(Se, { className: "mr-1 h-4 w-4" }), " Start a session"]
371
+ })] }),
372
+ d.status !== "ARCHIVED" && /* @__PURE__ */ _(v, {
373
+ variant: "outline",
374
+ onClick: Qe,
259
375
  disabled: k.isPending,
260
- children: [/* @__PURE__ */ _(le, { className: "mr-1 h-4 w-4" }), " Complete"]
376
+ children: [/* @__PURE__ */ g(we, { className: "mr-1 h-4 w-4" }), " Edit"]
261
377
  }),
262
- s.status !== "ARCHIVED" && /* @__PURE__ */ v(y, {
378
+ d.status !== "ARCHIVED" && /* @__PURE__ */ _(v, {
263
379
  variant: "outline",
264
- onClick: () => void be(),
265
- disabled: A.isPending,
266
- children: [/* @__PURE__ */ _(ce, { className: "mr-1 h-4 w-4" }), " Archive"]
380
+ onClick: () => void tt(),
381
+ disabled: O.isPending,
382
+ children: [/* @__PURE__ */ g(ve, { className: "mr-1 h-4 w-4" }), " Archive"]
267
383
  }),
268
- /* @__PURE__ */ v(y, {
269
- onClick: $,
270
- children: [/* @__PURE__ */ _(g, { className: "mr-1 h-4 w-4" }), " Add workout"]
384
+ Q && /* @__PURE__ */ _(v, {
385
+ onClick: nt,
386
+ children: [/* @__PURE__ */ g(h, { className: "mr-1 h-4 w-4" }), " Add workout"]
271
387
  })
272
388
  ] }),
273
389
  children: [
274
- /* @__PURE__ */ v("button", {
390
+ /* @__PURE__ */ _("button", {
275
391
  type: "button",
276
- onClick: () => a("programs"),
392
+ onClick: () => s("programs"),
277
393
  className: "mb-4 inline-flex items-center gap-1 text-sm font-medium text-accent hover:underline",
278
- children: [/* @__PURE__ */ _(h, { className: "h-4 w-4" }), " All programs"]
394
+ children: [/* @__PURE__ */ g(ye, { className: "h-4 w-4" }), " All programs"]
279
395
  }),
280
- /* @__PURE__ */ v(b, {
281
- treatment: "glass",
282
- className: "p-6",
283
- children: [/* @__PURE__ */ _("div", {
284
- className: "flex flex-wrap items-start justify-between gap-4",
285
- children: /* @__PURE__ */ v("div", {
286
- className: "min-w-0",
287
- children: [
288
- /* @__PURE__ */ v("div", {
289
- className: "flex flex-wrap items-center gap-2",
290
- children: [/* @__PURE__ */ _("h2", {
291
- className: "text-xl font-semibold text-text-primary",
292
- children: s.name
293
- }), /* @__PURE__ */ _(c, { status: s.status })]
294
- }),
295
- /* @__PURE__ */ v("div", {
296
- className: "mt-3 flex flex-wrap gap-1.5",
297
- children: [
298
- /* @__PURE__ */ _(F, { children: i(s.phase) }),
299
- /* @__PURE__ */ _(F, { children: i(s.level) }),
300
- /* @__PURE__ */ _(F, { children: i(s.goalType) }),
301
- /* @__PURE__ */ v(F, { children: [
302
- o(s.weeks),
303
- " wk × ",
304
- o(s.daysPerWeek),
305
- " days"
306
- ] })
307
- ]
308
- }),
309
- /* @__PURE__ */ v("p", {
310
- className: "mt-3 text-sm text-text-secondary",
396
+ /* @__PURE__ */ g(t.div, {
397
+ initial: l ? !1 : {
398
+ opacity: 0,
399
+ y: 10
400
+ },
401
+ animate: {
402
+ opacity: 1,
403
+ y: 0
404
+ },
405
+ transition: l ? { duration: 0 } : {
406
+ duration: .35,
407
+ ease: Me
408
+ },
409
+ children: /* @__PURE__ */ _(Oe, {
410
+ treatment: "glass",
411
+ glow: Xe,
412
+ className: "p-6",
413
+ children: [
414
+ /* @__PURE__ */ g("div", {
415
+ className: "flex flex-wrap items-start justify-between gap-4",
416
+ children: /* @__PURE__ */ _("div", {
417
+ className: "min-w-0",
311
418
  children: [
312
- n(s.startDate),
313
- " – ",
314
- n(s.endDate)
419
+ /* @__PURE__ */ _("div", {
420
+ className: "flex flex-wrap items-center gap-2",
421
+ children: [
422
+ /* @__PURE__ */ g(u, {
423
+ icon: /* @__PURE__ */ g(Ze, { className: "h-5 w-5" }),
424
+ tint: $.tint,
425
+ className: "size-10"
426
+ }),
427
+ /* @__PURE__ */ g("h2", {
428
+ className: "text-xl font-semibold text-text-primary",
429
+ children: d.name
430
+ }),
431
+ /* @__PURE__ */ g(ee, { status: d.status })
432
+ ]
433
+ }),
434
+ /* @__PURE__ */ _("div", {
435
+ className: "mt-3 flex flex-wrap gap-1.5",
436
+ children: [
437
+ /* @__PURE__ */ _(N, { children: ["Phase · ", o(d.phase)] }),
438
+ /* @__PURE__ */ _(N, { children: ["Level · ", o(d.level)] }),
439
+ /* @__PURE__ */ g(N, {
440
+ icon: /* @__PURE__ */ g(Ze, { className: "h-3.5 w-3.5" }),
441
+ tint: $.tint,
442
+ children: o(d.goalType)
443
+ }),
444
+ /* @__PURE__ */ _(N, {
445
+ icon: /* @__PURE__ */ g(be, { className: "h-3.5 w-3.5" }),
446
+ children: [
447
+ c(d.weeks),
448
+ " wk × ",
449
+ c(d.daysPerWeek),
450
+ " days"
451
+ ]
452
+ })
453
+ ]
454
+ }),
455
+ /* @__PURE__ */ _("p", {
456
+ className: "mt-3 inline-flex items-center gap-1.5 text-sm text-text-secondary",
457
+ children: [
458
+ /* @__PURE__ */ g(be, { className: "h-4 w-4 text-text-tertiary" }),
459
+ i(d.startDate),
460
+ " – ",
461
+ i(d.endDate)
462
+ ]
463
+ }),
464
+ (d.tags ?? []).length > 0 && /* @__PURE__ */ g("div", {
465
+ className: "mt-3 flex flex-wrap gap-1.5",
466
+ children: (d.tags ?? []).map((e) => /* @__PURE__ */ _("span", {
467
+ className: "inline-flex items-center rounded-full bg-[var(--color-accent-soft)] px-2 py-0.5 text-xs font-medium text-text-secondary",
468
+ children: ["#", e]
469
+ }, e))
470
+ }),
471
+ d.description && /* @__PURE__ */ g("p", {
472
+ className: "mt-3 max-w-2xl text-sm text-text-secondary",
473
+ children: d.description
474
+ })
315
475
  ]
316
- }),
317
- s.tags.length > 0 && /* @__PURE__ */ _("div", {
318
- className: "mt-3 flex flex-wrap gap-1.5",
319
- children: s.tags.map((e) => /* @__PURE__ */ v("span", {
320
- className: "inline-flex items-center rounded-full bg-[var(--color-accent-soft)] px-2 py-0.5 text-xs font-medium text-text-secondary",
321
- children: ["#", e]
322
- }, e))
323
- }),
324
- s.description && /* @__PURE__ */ _("p", {
325
- className: "mt-3 max-w-2xl text-sm text-text-secondary",
326
- children: s.description
327
476
  })
328
- ]
329
- })
330
- }), N && /* @__PURE__ */ _("p", {
331
- className: "mt-4 rounded-lg bg-status-error-bg-subtle px-3 py-2 text-sm text-status-error-text",
332
- children: N
333
- })]
477
+ }),
478
+ /* @__PURE__ */ g("div", {
479
+ className: "mt-5 border-t border-border-seam pt-4",
480
+ children: /* @__PURE__ */ g(ge, {
481
+ entityType: "mybodyshield-program",
482
+ entityId: d.id,
483
+ label: "Platform tags"
484
+ })
485
+ }),
486
+ P && /* @__PURE__ */ g("p", {
487
+ className: "mt-4 rounded-lg bg-status-error-bg-subtle px-3 py-2 text-sm text-status-error-text",
488
+ children: P
489
+ })
490
+ ]
491
+ })
334
492
  }),
335
- /* @__PURE__ */ _(ne, {
493
+ /* @__PURE__ */ _(re, {
336
494
  title: "Workouts",
337
495
  description: "Sessions in this block, ordered by week, day & sequence.",
338
- children: ve.length === 0 ? /* @__PURE__ */ _(l, {
496
+ children: [!Q && /* @__PURE__ */ _("p", {
497
+ className: "mb-4 inline-flex items-center gap-1.5 rounded-lg border border-border-seam bg-bg-sunken/60 px-3 py-2 text-xs text-text-tertiary",
498
+ children: [
499
+ /* @__PURE__ */ g(Ce, { className: "h-3.5 w-3.5 shrink-0" }),
500
+ "This program is ",
501
+ o(d.status).toLowerCase(),
502
+ " — its structure is locked and can no longer be edited."
503
+ ]
504
+ }), Ye.length === 0 ? /* @__PURE__ */ g(ie, {
339
505
  illustration: "empty-data",
340
- icon: /* @__PURE__ */ _(ue, { className: "h-10 w-10" }),
506
+ icon: /* @__PURE__ */ g(m, { className: "h-10 w-10" }),
341
507
  title: "No workouts yet",
342
- description: "Add workouts to lay out the training week, then attach exercises to each one.",
343
- action: /* @__PURE__ */ v(y, {
344
- onClick: $,
345
- children: [/* @__PURE__ */ _(g, { className: "mr-1 h-4 w-4" }), " Add workout"]
346
- })
347
- }) : /* @__PURE__ */ _("div", {
348
- className: "space-y-4",
349
- children: ve.map((e) => /* @__PURE__ */ _(_e, {
350
- workout: e,
351
- onAddExercise: Se
508
+ description: Q ? "Add workouts to lay out the training week, then attach exercises to each one." : "This program has no workouts, and its structure is locked in its current status.",
509
+ action: Q ? /* @__PURE__ */ _(v, {
510
+ onClick: nt,
511
+ children: [/* @__PURE__ */ g(h, { className: "mr-1 h-4 w-4" }), " Add workout"]
512
+ }) : void 0
513
+ }) : /* @__PURE__ */ g(t.div, {
514
+ className: "grid grid-cols-1 gap-4 xl:grid-cols-2",
515
+ variants: l ? void 0 : Ne,
516
+ initial: l ? !1 : "hidden",
517
+ animate: "show",
518
+ children: Ye.map((e) => /* @__PURE__ */ g(t.div, {
519
+ className: "h-full",
520
+ variants: l ? void 0 : Pe,
521
+ children: /* @__PURE__ */ g(Ve, {
522
+ workout: e,
523
+ canEdit: Q,
524
+ onAddExercise: it
525
+ })
352
526
  }, e.id))
353
- })
527
+ })]
354
528
  }),
355
- /* @__PURE__ */ _(C, {
356
- open: B,
357
- onOpenChange: V,
358
- children: /* @__PURE__ */ v(w, {
529
+ /* @__PURE__ */ g(he, {
530
+ entityType: "mybodyshield-program",
531
+ entityId: d.id,
532
+ title: "Program notes",
533
+ description: "Coach and member notes for this training block."
534
+ }),
535
+ /* @__PURE__ */ g(x, {
536
+ open: He,
537
+ onOpenChange: R,
538
+ children: /* @__PURE__ */ _(S, {
359
539
  className: "sm:max-w-lg",
360
540
  children: [
361
- /* @__PURE__ */ v(D, { children: [/* @__PURE__ */ _(O, { children: "Add workout" }), /* @__PURE__ */ _(T, { children: "Add a training session to this program. Attach exercises once it's created." })] }),
362
- /* @__PURE__ */ v("div", {
541
+ /* @__PURE__ */ _(T, { children: [/* @__PURE__ */ g(E, { children: "Add workout" }), /* @__PURE__ */ g(C, { children: "Add a training session to this program. Attach exercises once it's created." })] }),
542
+ /* @__PURE__ */ _("div", {
363
543
  className: "space-y-4 py-2",
364
544
  children: [
365
- W && /* @__PURE__ */ _("p", {
545
+ Ue && /* @__PURE__ */ g("p", {
366
546
  className: "rounded-lg bg-status-error-bg-subtle px-3 py-2 text-sm text-status-error-text",
367
- children: W
547
+ children: Ue
368
548
  }),
369
- /* @__PURE__ */ v("div", {
549
+ /* @__PURE__ */ _("div", {
370
550
  className: "space-y-1.5",
371
- children: [/* @__PURE__ */ _(S, {
551
+ children: [/* @__PURE__ */ g(b, {
372
552
  htmlFor: "myb-wk-name",
373
553
  children: "Name"
374
- }), /* @__PURE__ */ _(x, {
554
+ }), /* @__PURE__ */ g(y, {
375
555
  id: "myb-wk-name",
376
- value: H.name,
377
- onChange: (e) => U({
378
- ...H,
556
+ value: z.name,
557
+ onChange: (e) => B({
558
+ ...z,
379
559
  name: e.target.value
380
560
  }),
381
561
  placeholder: "e.g. Upper Body — Push"
382
562
  })]
383
563
  }),
384
- /* @__PURE__ */ v("div", {
564
+ /* @__PURE__ */ _("div", {
385
565
  className: "space-y-1.5",
386
- children: [/* @__PURE__ */ _(S, {
566
+ children: [/* @__PURE__ */ g(b, {
387
567
  htmlFor: "myb-wk-type",
388
568
  children: "Type"
389
- }), /* @__PURE__ */ _(L, {
569
+ }), /* @__PURE__ */ g(F, {
390
570
  id: "myb-wk-type",
391
- value: H.type,
392
- onChange: (e) => U({
393
- ...H,
571
+ value: z.type,
572
+ onChange: (e) => B({
573
+ ...z,
394
574
  type: e
395
575
  }),
396
- options: he
576
+ options: Ae
397
577
  })]
398
578
  }),
399
- /* @__PURE__ */ v("div", {
579
+ /* @__PURE__ */ _("div", {
400
580
  className: "grid grid-cols-1 gap-4 sm:grid-cols-3",
401
581
  children: [
402
- /* @__PURE__ */ v("div", {
582
+ /* @__PURE__ */ _("div", {
403
583
  className: "space-y-1.5",
404
- children: [/* @__PURE__ */ _(S, {
584
+ children: [/* @__PURE__ */ g(b, {
405
585
  htmlFor: "myb-wk-week",
406
586
  children: "Week"
407
- }), /* @__PURE__ */ _(x, {
587
+ }), /* @__PURE__ */ g(y, {
408
588
  id: "myb-wk-week",
409
589
  type: "number",
410
590
  min: 1,
411
- value: H.weekNumber,
412
- onChange: (e) => U({
413
- ...H,
591
+ value: z.weekNumber,
592
+ onChange: (e) => B({
593
+ ...z,
414
594
  weekNumber: e.target.value
415
595
  }),
416
596
  placeholder: "1"
417
597
  })]
418
598
  }),
419
- /* @__PURE__ */ v("div", {
599
+ /* @__PURE__ */ _("div", {
420
600
  className: "space-y-1.5",
421
- children: [/* @__PURE__ */ _(S, {
601
+ children: [/* @__PURE__ */ g(b, {
422
602
  htmlFor: "myb-wk-day",
423
603
  children: "Day"
424
- }), /* @__PURE__ */ _(x, {
604
+ }), /* @__PURE__ */ g(y, {
425
605
  id: "myb-wk-day",
426
606
  type: "number",
427
607
  min: 1,
428
608
  max: 7,
429
- value: H.dayOfWeek,
430
- onChange: (e) => U({
431
- ...H,
609
+ value: z.dayOfWeek,
610
+ onChange: (e) => B({
611
+ ...z,
432
612
  dayOfWeek: e.target.value
433
613
  }),
434
614
  placeholder: "1"
435
615
  })]
436
616
  }),
437
- /* @__PURE__ */ v("div", {
617
+ /* @__PURE__ */ _("div", {
438
618
  className: "space-y-1.5",
439
- children: [/* @__PURE__ */ _(S, {
619
+ children: [/* @__PURE__ */ g(b, {
440
620
  htmlFor: "myb-wk-dur",
441
621
  children: "Duration (min)"
442
- }), /* @__PURE__ */ _(x, {
622
+ }), /* @__PURE__ */ g(y, {
443
623
  id: "myb-wk-dur",
444
624
  type: "number",
445
625
  min: 0,
446
- value: H.durationMin,
447
- onChange: (e) => U({
448
- ...H,
626
+ value: z.durationMin,
627
+ onChange: (e) => B({
628
+ ...z,
449
629
  durationMin: e.target.value
450
630
  }),
451
631
  placeholder: "60"
@@ -455,132 +635,132 @@ function V() {
455
635
  })
456
636
  ]
457
637
  }),
458
- /* @__PURE__ */ v(E, { children: [/* @__PURE__ */ _(y, {
638
+ /* @__PURE__ */ _(w, { children: [/* @__PURE__ */ g(v, {
459
639
  variant: "outline",
460
- onClick: () => V(!1),
461
- disabled: j.isPending,
640
+ onClick: () => R(!1),
641
+ disabled: A.isPending,
462
642
  children: "Cancel"
463
- }), /* @__PURE__ */ _(y, {
464
- onClick: () => void xe(),
465
- disabled: j.isPending,
466
- children: j.isPending ? "Adding…" : "Add workout"
643
+ }), /* @__PURE__ */ g(v, {
644
+ onClick: () => void rt(),
645
+ disabled: A.isPending,
646
+ children: A.isPending ? "Adding…" : "Add workout"
467
647
  })] })
468
648
  ]
469
649
  })
470
650
  }),
471
- /* @__PURE__ */ _(C, {
472
- open: K !== null,
651
+ /* @__PURE__ */ g(x, {
652
+ open: H !== null,
473
653
  onOpenChange: (e) => {
474
- e || q(null);
654
+ e || U(null);
475
655
  },
476
- children: /* @__PURE__ */ v(w, {
656
+ children: /* @__PURE__ */ _(S, {
477
657
  className: "sm:max-w-lg",
478
658
  children: [
479
- /* @__PURE__ */ v(D, { children: [/* @__PURE__ */ _(O, { children: "Add exercise" }), /* @__PURE__ */ _(T, { children: "Add a movement with its target sets, reps, load & rest." })] }),
480
- /* @__PURE__ */ v("div", {
659
+ /* @__PURE__ */ _(T, { children: [/* @__PURE__ */ g(E, { children: "Add exercise" }), /* @__PURE__ */ g(C, { children: "Add a movement with its target sets, reps, load & rest." })] }),
660
+ /* @__PURE__ */ _("div", {
481
661
  className: "space-y-4 py-2",
482
662
  children: [
483
- X && /* @__PURE__ */ _("p", {
663
+ Ke && /* @__PURE__ */ g("p", {
484
664
  className: "rounded-lg bg-status-error-bg-subtle px-3 py-2 text-sm text-status-error-text",
485
- children: X
665
+ children: Ke
486
666
  }),
487
- /* @__PURE__ */ v("div", {
667
+ /* @__PURE__ */ _("div", {
488
668
  className: "space-y-1.5",
489
- children: [/* @__PURE__ */ _(S, {
669
+ children: [/* @__PURE__ */ g(b, {
490
670
  htmlFor: "myb-ex-name",
491
671
  children: "Name"
492
- }), /* @__PURE__ */ _(x, {
672
+ }), /* @__PURE__ */ g(y, {
493
673
  id: "myb-ex-name",
494
- value: J.name,
495
- onChange: (e) => Y({
496
- ...J,
674
+ value: W.name,
675
+ onChange: (e) => G({
676
+ ...W,
497
677
  name: e.target.value
498
678
  }),
499
679
  placeholder: "e.g. Barbell Bench Press"
500
680
  })]
501
681
  }),
502
- /* @__PURE__ */ v("div", {
682
+ /* @__PURE__ */ _("div", {
503
683
  className: "space-y-1.5",
504
- children: [/* @__PURE__ */ _(S, {
684
+ children: [/* @__PURE__ */ g(b, {
505
685
  htmlFor: "myb-ex-muscle",
506
686
  children: "Muscle group"
507
- }), /* @__PURE__ */ _(L, {
687
+ }), /* @__PURE__ */ g(F, {
508
688
  id: "myb-ex-muscle",
509
- value: J.muscleGroup,
510
- onChange: (e) => Y({
511
- ...J,
689
+ value: W.muscleGroup,
690
+ onChange: (e) => G({
691
+ ...W,
512
692
  muscleGroup: e
513
693
  }),
514
- options: ge
694
+ options: je
515
695
  })]
516
696
  }),
517
- /* @__PURE__ */ v("div", {
697
+ /* @__PURE__ */ _("div", {
518
698
  className: "grid grid-cols-2 gap-4 sm:grid-cols-4",
519
699
  children: [
520
- /* @__PURE__ */ v("div", {
700
+ /* @__PURE__ */ _("div", {
521
701
  className: "space-y-1.5",
522
- children: [/* @__PURE__ */ _(S, {
702
+ children: [/* @__PURE__ */ g(b, {
523
703
  htmlFor: "myb-ex-sets",
524
704
  children: "Sets"
525
- }), /* @__PURE__ */ _(x, {
705
+ }), /* @__PURE__ */ g(y, {
526
706
  id: "myb-ex-sets",
527
707
  type: "number",
528
708
  min: 0,
529
- value: J.sets,
530
- onChange: (e) => Y({
531
- ...J,
709
+ value: W.sets,
710
+ onChange: (e) => G({
711
+ ...W,
532
712
  sets: e.target.value
533
713
  }),
534
714
  placeholder: "3"
535
715
  })]
536
716
  }),
537
- /* @__PURE__ */ v("div", {
717
+ /* @__PURE__ */ _("div", {
538
718
  className: "space-y-1.5",
539
- children: [/* @__PURE__ */ _(S, {
719
+ children: [/* @__PURE__ */ g(b, {
540
720
  htmlFor: "myb-ex-reps",
541
721
  children: "Reps"
542
- }), /* @__PURE__ */ _(x, {
722
+ }), /* @__PURE__ */ g(y, {
543
723
  id: "myb-ex-reps",
544
724
  type: "number",
545
725
  min: 0,
546
- value: J.reps,
547
- onChange: (e) => Y({
548
- ...J,
726
+ value: W.reps,
727
+ onChange: (e) => G({
728
+ ...W,
549
729
  reps: e.target.value
550
730
  }),
551
731
  placeholder: "10"
552
732
  })]
553
733
  }),
554
- /* @__PURE__ */ v("div", {
734
+ /* @__PURE__ */ _("div", {
555
735
  className: "space-y-1.5",
556
- children: [/* @__PURE__ */ _(S, {
736
+ children: [/* @__PURE__ */ g(b, {
557
737
  htmlFor: "myb-ex-weight",
558
738
  children: "Weight (kg)"
559
- }), /* @__PURE__ */ _(x, {
739
+ }), /* @__PURE__ */ g(y, {
560
740
  id: "myb-ex-weight",
561
741
  type: "number",
562
742
  min: 0,
563
743
  step: "0.5",
564
- value: J.targetWeight,
565
- onChange: (e) => Y({
566
- ...J,
744
+ value: W.targetWeight,
745
+ onChange: (e) => G({
746
+ ...W,
567
747
  targetWeight: e.target.value
568
748
  }),
569
749
  placeholder: "60"
570
750
  })]
571
751
  }),
572
- /* @__PURE__ */ v("div", {
752
+ /* @__PURE__ */ _("div", {
573
753
  className: "space-y-1.5",
574
- children: [/* @__PURE__ */ _(S, {
754
+ children: [/* @__PURE__ */ g(b, {
575
755
  htmlFor: "myb-ex-rest",
576
756
  children: "Rest (sec)"
577
- }), /* @__PURE__ */ _(x, {
757
+ }), /* @__PURE__ */ g(y, {
578
758
  id: "myb-ex-rest",
579
759
  type: "number",
580
760
  min: 0,
581
- value: J.restSeconds,
582
- onChange: (e) => Y({
583
- ...J,
761
+ value: W.restSeconds,
762
+ onChange: (e) => G({
763
+ ...W,
584
764
  restSeconds: e.target.value
585
765
  }),
586
766
  placeholder: "90"
@@ -588,33 +768,221 @@ function V() {
588
768
  })
589
769
  ]
590
770
  }),
591
- /* @__PURE__ */ v("div", {
771
+ /* @__PURE__ */ _("div", {
592
772
  className: "space-y-1.5",
593
- children: [/* @__PURE__ */ _(S, {
773
+ children: [/* @__PURE__ */ g(b, {
594
774
  htmlFor: "myb-ex-instructions",
595
775
  children: "Instructions"
596
- }), /* @__PURE__ */ _(me, {
776
+ }), /* @__PURE__ */ g(ke, {
597
777
  id: "myb-ex-instructions",
598
778
  rows: 3,
599
- value: J.instructions,
600
- onChange: (e) => Y({
601
- ...J,
779
+ value: W.instructions,
780
+ onChange: (e) => G({
781
+ ...W,
602
782
  instructions: e.target.value
603
783
  }),
604
784
  placeholder: "Cues, tempo, form notes…"
605
785
  })]
786
+ }),
787
+ /* @__PURE__ */ g(pe, {
788
+ id: "myb-ex-demo",
789
+ label: "Demo media (optional)",
790
+ value: We,
791
+ onChange: Ge,
792
+ accept: "video/*,image/*",
793
+ disabled: j.isPending,
794
+ hint: "Attach a short demo clip or image to show how the movement is performed."
795
+ })
796
+ ]
797
+ }),
798
+ /* @__PURE__ */ _(w, { children: [/* @__PURE__ */ g(v, {
799
+ variant: "outline",
800
+ onClick: () => U(null),
801
+ disabled: j.isPending,
802
+ children: "Cancel"
803
+ }), /* @__PURE__ */ g(v, {
804
+ onClick: () => void at(),
805
+ disabled: j.isPending,
806
+ children: j.isPending ? "Adding…" : "Add exercise"
807
+ })] })
808
+ ]
809
+ })
810
+ }),
811
+ /* @__PURE__ */ g(x, {
812
+ open: qe,
813
+ onOpenChange: q,
814
+ children: /* @__PURE__ */ _(S, {
815
+ className: "sm:max-w-lg",
816
+ children: [
817
+ /* @__PURE__ */ _(T, { children: [/* @__PURE__ */ g(E, { children: "Edit program" }), /* @__PURE__ */ g(C, { children: "Update this program's plan, goal & schedule. Workouts stay untouched." })] }),
818
+ /* @__PURE__ */ _("div", {
819
+ className: "space-y-4 py-2",
820
+ children: [
821
+ Je && /* @__PURE__ */ g("p", {
822
+ className: "rounded-lg bg-status-error-bg-subtle px-3 py-2 text-sm text-status-error-text",
823
+ children: Je
824
+ }),
825
+ /* @__PURE__ */ _("div", {
826
+ className: "space-y-1.5",
827
+ children: [/* @__PURE__ */ g(b, {
828
+ htmlFor: "myb-edit-name",
829
+ children: "Name"
830
+ }), /* @__PURE__ */ g(y, {
831
+ id: "myb-edit-name",
832
+ value: J.name,
833
+ onChange: (e) => Y({
834
+ ...J,
835
+ name: e.target.value
836
+ }),
837
+ placeholder: "e.g. Hypertrophy Block A"
838
+ })]
839
+ }),
840
+ /* @__PURE__ */ _("div", {
841
+ className: "space-y-1.5",
842
+ children: [/* @__PURE__ */ g(b, {
843
+ htmlFor: "myb-edit-desc",
844
+ children: "Description"
845
+ }), /* @__PURE__ */ g(ke, {
846
+ id: "myb-edit-desc",
847
+ rows: 3,
848
+ value: J.description,
849
+ onChange: (e) => Y({
850
+ ...J,
851
+ description: e.target.value
852
+ }),
853
+ placeholder: "Focus, progression scheme, notes…"
854
+ })]
855
+ }),
856
+ /* @__PURE__ */ _("div", {
857
+ className: "grid grid-cols-1 gap-4 sm:grid-cols-3",
858
+ children: [
859
+ /* @__PURE__ */ _("div", {
860
+ className: "space-y-1.5",
861
+ children: [/* @__PURE__ */ g(b, {
862
+ htmlFor: "myb-edit-goal",
863
+ children: "Goal type"
864
+ }), /* @__PURE__ */ g(F, {
865
+ id: "myb-edit-goal",
866
+ value: J.goalType,
867
+ onChange: (e) => Y({
868
+ ...J,
869
+ goalType: e
870
+ }),
871
+ options: Ie
872
+ })]
873
+ }),
874
+ /* @__PURE__ */ _("div", {
875
+ className: "space-y-1.5",
876
+ children: [/* @__PURE__ */ g(b, {
877
+ htmlFor: "myb-edit-level",
878
+ children: "Level"
879
+ }), /* @__PURE__ */ g(F, {
880
+ id: "myb-edit-level",
881
+ value: J.level,
882
+ onChange: (e) => Y({
883
+ ...J,
884
+ level: e
885
+ }),
886
+ options: Le
887
+ })]
888
+ }),
889
+ /* @__PURE__ */ _("div", {
890
+ className: "space-y-1.5",
891
+ children: [/* @__PURE__ */ g(b, {
892
+ htmlFor: "myb-edit-phase",
893
+ children: "Phase"
894
+ }), /* @__PURE__ */ g(F, {
895
+ id: "myb-edit-phase",
896
+ value: J.phase,
897
+ onChange: (e) => Y({
898
+ ...J,
899
+ phase: e
900
+ }),
901
+ options: Re
902
+ })]
903
+ })
904
+ ]
905
+ }),
906
+ /* @__PURE__ */ _("div", {
907
+ className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
908
+ children: [/* @__PURE__ */ _("div", {
909
+ className: "space-y-1.5",
910
+ children: [/* @__PURE__ */ g(b, {
911
+ htmlFor: "myb-edit-weeks",
912
+ children: "Weeks"
913
+ }), /* @__PURE__ */ g(y, {
914
+ id: "myb-edit-weeks",
915
+ type: "number",
916
+ min: 1,
917
+ value: J.weeks,
918
+ onChange: (e) => Y({
919
+ ...J,
920
+ weeks: e.target.value
921
+ }),
922
+ placeholder: "8"
923
+ })]
924
+ }), /* @__PURE__ */ _("div", {
925
+ className: "space-y-1.5",
926
+ children: [/* @__PURE__ */ g(b, {
927
+ htmlFor: "myb-edit-days",
928
+ children: "Days / week"
929
+ }), /* @__PURE__ */ g(y, {
930
+ id: "myb-edit-days",
931
+ type: "number",
932
+ min: 1,
933
+ max: 7,
934
+ value: J.daysPerWeek,
935
+ onChange: (e) => Y({
936
+ ...J,
937
+ daysPerWeek: e.target.value
938
+ }),
939
+ placeholder: "4"
940
+ })]
941
+ })]
942
+ }),
943
+ /* @__PURE__ */ _("div", {
944
+ className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
945
+ children: [/* @__PURE__ */ _("div", {
946
+ className: "space-y-1.5",
947
+ children: [/* @__PURE__ */ g(b, {
948
+ htmlFor: "myb-edit-start",
949
+ children: "Start date"
950
+ }), /* @__PURE__ */ g(y, {
951
+ id: "myb-edit-start",
952
+ type: "date",
953
+ value: J.startDate,
954
+ onChange: (e) => Y({
955
+ ...J,
956
+ startDate: e.target.value
957
+ })
958
+ })]
959
+ }), /* @__PURE__ */ _("div", {
960
+ className: "space-y-1.5",
961
+ children: [/* @__PURE__ */ g(b, {
962
+ htmlFor: "myb-edit-end",
963
+ children: "End date"
964
+ }), /* @__PURE__ */ g(y, {
965
+ id: "myb-edit-end",
966
+ type: "date",
967
+ value: J.endDate,
968
+ onChange: (e) => Y({
969
+ ...J,
970
+ endDate: e.target.value
971
+ })
972
+ })]
973
+ })]
606
974
  })
607
975
  ]
608
976
  }),
609
- /* @__PURE__ */ v(E, { children: [/* @__PURE__ */ _(y, {
977
+ /* @__PURE__ */ _(w, { children: [/* @__PURE__ */ g(v, {
610
978
  variant: "outline",
611
- onClick: () => q(null),
612
- disabled: M.isPending,
979
+ onClick: () => q(!1),
980
+ disabled: k.isPending,
613
981
  children: "Cancel"
614
- }), /* @__PURE__ */ _(y, {
615
- onClick: () => void Ce(),
616
- disabled: M.isPending,
617
- children: M.isPending ? "Adding…" : "Add exercise"
982
+ }), /* @__PURE__ */ g(v, {
983
+ onClick: () => void $e(),
984
+ disabled: k.isPending,
985
+ children: k.isPending ? "Saving…" : "Save changes"
618
986
  })] })
619
987
  ]
620
988
  })
@@ -623,6 +991,6 @@ function V() {
623
991
  });
624
992
  }
625
993
  //#endregion
626
- export { V as ProgramDetailPage };
994
+ export { He as ProgramDetailPage };
627
995
 
628
996
  //# sourceMappingURL=ProgramDetailPage.js.map