@burdenoff/microfe-mybodyshield 2026.706.2 → 2026.713.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 (152) hide show
  1. package/dist/dev/main.d.ts +2 -0
  2. package/dist/dev/main.d.ts.map +1 -0
  3. package/dist/generated/global-operations.d.ts +2 -0
  4. package/dist/generated/global-operations.d.ts.map +1 -0
  5. package/dist/generated/global-types.d.ts +18199 -0
  6. package/dist/generated/global-types.d.ts.map +1 -0
  7. package/dist/generated/wspace-operations.d.ts +2 -0
  8. package/dist/generated/wspace-operations.d.ts.map +1 -0
  9. package/dist/generated/wspace-types.d.ts +43046 -0
  10. package/dist/generated/wspace-types.d.ts.map +1 -0
  11. package/dist/index.d.ts +3 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +2 -1
  14. package/dist/mybodyshield/MyBodyShieldRoot.d.ts +5 -0
  15. package/dist/mybodyshield/MyBodyShieldRoot.d.ts.map +1 -0
  16. package/dist/mybodyshield/MyBodyShieldRoutes.d.ts +4 -0
  17. package/dist/mybodyshield/MyBodyShieldRoutes.d.ts.map +1 -0
  18. package/dist/mybodyshield/MyBodyShieldRoutes.js +77 -36
  19. package/dist/mybodyshield/MyBodyShieldRoutes.js.map +1 -1
  20. package/dist/mybodyshield/components/DataTable.d.ts +28 -0
  21. package/dist/mybodyshield/components/DataTable.d.ts.map +1 -0
  22. package/dist/mybodyshield/components/EmptyState.d.ts +18 -0
  23. package/dist/mybodyshield/components/EmptyState.d.ts.map +1 -0
  24. package/dist/mybodyshield/components/EvidenceUpload.d.ts +14 -0
  25. package/dist/mybodyshield/components/EvidenceUpload.d.ts.map +1 -0
  26. package/dist/mybodyshield/components/FeatureFlagGuard.d.ts +11 -0
  27. package/dist/mybodyshield/components/FeatureFlagGuard.d.ts.map +1 -0
  28. package/dist/mybodyshield/components/FeatureFlagGuard.js +27 -0
  29. package/dist/mybodyshield/components/FeatureFlagGuard.js.map +1 -0
  30. package/dist/mybodyshield/components/FileLink.d.ts +15 -0
  31. package/dist/mybodyshield/components/FileLink.d.ts.map +1 -0
  32. package/dist/mybodyshield/components/FilterTabs.d.ts +18 -0
  33. package/dist/mybodyshield/components/FilterTabs.d.ts.map +1 -0
  34. package/dist/mybodyshield/components/MetricsCard.d.ts +23 -0
  35. package/dist/mybodyshield/components/MetricsCard.d.ts.map +1 -0
  36. package/dist/mybodyshield/components/MiniBar.d.ts +16 -0
  37. package/dist/mybodyshield/components/MiniBar.d.ts.map +1 -0
  38. package/dist/mybodyshield/components/MybDiscussion.d.ts +18 -0
  39. package/dist/mybodyshield/components/MybDiscussion.d.ts.map +1 -0
  40. package/dist/mybodyshield/components/MybDiscussion.js +5 -5
  41. package/dist/mybodyshield/components/MybTags.d.ts +17 -0
  42. package/dist/mybodyshield/components/MybTags.d.ts.map +1 -0
  43. package/dist/mybodyshield/components/PageDisabled.d.ts +9 -0
  44. package/dist/mybodyshield/components/PageDisabled.d.ts.map +1 -0
  45. package/dist/mybodyshield/components/PageDisabled.js +17 -0
  46. package/dist/mybodyshield/components/PageDisabled.js.map +1 -0
  47. package/dist/mybodyshield/components/PageLayout.d.ts +16 -0
  48. package/dist/mybodyshield/components/PageLayout.d.ts.map +1 -0
  49. package/dist/mybodyshield/components/Pagination.d.ts +22 -0
  50. package/dist/mybodyshield/components/Pagination.d.ts.map +1 -0
  51. package/dist/mybodyshield/components/StateViews.d.ts +25 -0
  52. package/dist/mybodyshield/components/StateViews.d.ts.map +1 -0
  53. package/dist/mybodyshield/components/StateViews.js +2 -1
  54. package/dist/mybodyshield/components/StateViews.js.map +1 -1
  55. package/dist/mybodyshield/components/StatusBadge.d.ts +9 -0
  56. package/dist/mybodyshield/components/StatusBadge.d.ts.map +1 -0
  57. package/dist/mybodyshield/components/Tabs.d.ts +17 -0
  58. package/dist/mybodyshield/components/Tabs.d.ts.map +1 -0
  59. package/dist/mybodyshield/components/UserSearchSelect.d.ts +28 -0
  60. package/dist/mybodyshield/components/UserSearchSelect.d.ts.map +1 -0
  61. package/dist/mybodyshield/components/index.d.ts +22 -0
  62. package/dist/mybodyshield/components/index.d.ts.map +1 -0
  63. package/dist/mybodyshield/components/index.js +4 -2
  64. package/dist/mybodyshield/context/MyBodyShieldContext.d.ts +16 -0
  65. package/dist/mybodyshield/context/MyBodyShieldContext.d.ts.map +1 -0
  66. package/dist/mybodyshield/context/index.d.ts +6 -0
  67. package/dist/mybodyshield/context/index.d.ts.map +1 -0
  68. package/dist/mybodyshield/hooks/index.d.ts +12 -0
  69. package/dist/mybodyshield/hooks/index.d.ts.map +1 -0
  70. package/dist/mybodyshield/hooks/index.js +1 -0
  71. package/dist/mybodyshield/hooks/useMyBodyShieldAnalytics.d.ts +21 -0
  72. package/dist/mybodyshield/hooks/useMyBodyShieldAnalytics.d.ts.map +1 -0
  73. package/dist/mybodyshield/hooks/useMyBodyShieldAnalytics.js +35 -0
  74. package/dist/mybodyshield/hooks/useMyBodyShieldAnalytics.js.map +1 -0
  75. package/dist/mybodyshield/hooks/useMyBodyShieldApi.d.ts +83 -0
  76. package/dist/mybodyshield/hooks/useMyBodyShieldApi.d.ts.map +1 -0
  77. package/dist/mybodyshield/hooks/useMybComments.d.ts +36 -0
  78. package/dist/mybodyshield/hooks/useMybComments.d.ts.map +1 -0
  79. package/dist/mybodyshield/hooks/useMybFiles.d.ts +47 -0
  80. package/dist/mybodyshield/hooks/useMybFiles.d.ts.map +1 -0
  81. package/dist/mybodyshield/hooks/useMybTags.d.ts +44 -0
  82. package/dist/mybodyshield/hooks/useMybTags.d.ts.map +1 -0
  83. package/dist/mybodyshield/hooks/useMybUsers.d.ts +27 -0
  84. package/dist/mybodyshield/hooks/useMybUsers.d.ts.map +1 -0
  85. package/dist/mybodyshield/hooks/usePager.d.ts +29 -0
  86. package/dist/mybodyshield/hooks/usePager.d.ts.map +1 -0
  87. package/dist/mybodyshield/index.d.ts +9 -0
  88. package/dist/mybodyshield/index.d.ts.map +1 -0
  89. package/dist/mybodyshield/pages/DashboardPage.d.ts +10 -0
  90. package/dist/mybodyshield/pages/DashboardPage.d.ts.map +1 -0
  91. package/dist/mybodyshield/pages/DashboardPage.js +91 -86
  92. package/dist/mybodyshield/pages/DashboardPage.js.map +1 -1
  93. package/dist/mybodyshield/pages/_shared/visuals.d.ts +77 -0
  94. package/dist/mybodyshield/pages/_shared/visuals.d.ts.map +1 -0
  95. package/dist/mybodyshield/pages/coaching/CoachingPage.d.ts +11 -0
  96. package/dist/mybodyshield/pages/coaching/CoachingPage.d.ts.map +1 -0
  97. package/dist/mybodyshield/pages/coaching/CoachingPage.js +60 -60
  98. package/dist/mybodyshield/pages/goals/GoalsPage.d.ts +11 -0
  99. package/dist/mybodyshield/pages/goals/GoalsPage.d.ts.map +1 -0
  100. package/dist/mybodyshield/pages/goals/GoalsPage.js +125 -125
  101. package/dist/mybodyshield/pages/goals/GoalsPage.js.map +1 -1
  102. package/dist/mybodyshield/pages/nutrition/NutritionPage.d.ts +13 -0
  103. package/dist/mybodyshield/pages/nutrition/NutritionPage.d.ts.map +1 -0
  104. package/dist/mybodyshield/pages/nutrition/NutritionPage.js +129 -129
  105. package/dist/mybodyshield/pages/nutrition/NutritionPage.js.map +1 -1
  106. package/dist/mybodyshield/pages/programs/ProgramDetailPage.d.ts +10 -0
  107. package/dist/mybodyshield/pages/programs/ProgramDetailPage.d.ts.map +1 -0
  108. package/dist/mybodyshield/pages/programs/ProgramDetailPage.js +218 -191
  109. package/dist/mybodyshield/pages/programs/ProgramDetailPage.js.map +1 -1
  110. package/dist/mybodyshield/pages/programs/ProgramsPage.d.ts +11 -0
  111. package/dist/mybodyshield/pages/programs/ProgramsPage.d.ts.map +1 -0
  112. package/dist/mybodyshield/pages/programs/ProgramsPage.js +197 -193
  113. package/dist/mybodyshield/pages/programs/ProgramsPage.js.map +1 -1
  114. package/dist/mybodyshield/pages/progress/ProgressPage.d.ts +13 -0
  115. package/dist/mybodyshield/pages/progress/ProgressPage.d.ts.map +1 -0
  116. package/dist/mybodyshield/pages/progress/ProgressPage.js +143 -143
  117. package/dist/mybodyshield/pages/progress/ProgressPage.js.map +1 -1
  118. package/dist/mybodyshield/pages/recovery/RecoveryPage.d.ts +11 -0
  119. package/dist/mybodyshield/pages/recovery/RecoveryPage.d.ts.map +1 -0
  120. package/dist/mybodyshield/pages/recovery/RecoveryPage.js +60 -60
  121. package/dist/mybodyshield/pages/recovery/RecoveryPage.js.map +1 -1
  122. package/dist/mybodyshield/pages/train/SessionDetailPage.d.ts +11 -0
  123. package/dist/mybodyshield/pages/train/SessionDetailPage.d.ts.map +1 -0
  124. package/dist/mybodyshield/pages/train/SessionDetailPage.js +184 -181
  125. package/dist/mybodyshield/pages/train/SessionDetailPage.js.map +1 -1
  126. package/dist/mybodyshield/pages/train/SessionsPage.d.ts +11 -0
  127. package/dist/mybodyshield/pages/train/SessionsPage.d.ts.map +1 -0
  128. package/dist/mybodyshield/pages/train/SessionsPage.js +119 -115
  129. package/dist/mybodyshield/pages/train/SessionsPage.js.map +1 -1
  130. package/dist/mybodyshield/services/createSandboxAssistantTransport.d.ts +24 -0
  131. package/dist/mybodyshield/services/createSandboxAssistantTransport.d.ts.map +1 -0
  132. package/dist/mybodyshield/services/createSandboxAssistantTransport.js +14 -0
  133. package/dist/mybodyshield/services/createSandboxAssistantTransport.js.map +1 -0
  134. package/dist/mybodyshield/types/assistant.d.ts +55 -0
  135. package/dist/mybodyshield/types/assistant.d.ts.map +1 -0
  136. package/dist/mybodyshield/types/index.d.ts +419 -0
  137. package/dist/mybodyshield/types/index.d.ts.map +1 -0
  138. package/dist/mybodyshield/utils/cn.d.ts +4 -0
  139. package/dist/mybodyshield/utils/cn.d.ts.map +1 -0
  140. package/dist/mybodyshield/utils/formatters.d.ts +32 -0
  141. package/dist/mybodyshield/utils/formatters.d.ts.map +1 -0
  142. package/dist/mybodyshield/utils/i18n.d.ts +6 -0
  143. package/dist/mybodyshield/utils/i18n.d.ts.map +1 -0
  144. package/dist/mybodyshield/utils/index.d.ts +9 -0
  145. package/dist/mybodyshield/utils/index.d.ts.map +1 -0
  146. package/dist/mybodyshield/utils/navigation.d.ts +14 -0
  147. package/dist/mybodyshield/utils/navigation.d.ts.map +1 -0
  148. package/dist/mybodyshield/utils/pageContext.d.ts +28 -0
  149. package/dist/mybodyshield/utils/pageContext.d.ts.map +1 -0
  150. package/dist/mybodyshield/utils/pageContext.js +62 -0
  151. package/dist/mybodyshield/utils/pageContext.js.map +1 -0
  152. package/package.json +8 -2
@@ -1,19 +1,19 @@
1
- import { motion as e } from "../../../node_modules/framer-motion/dist/es/render/components/motion/proxy.js";
2
- import { useReducedMotion as t } from "../../../node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.js";
3
- import { PageLayout as n } from "../../components/PageLayout.js";
4
- import { formatDate as r, formatEnumLabel as i, formatGrams as a, formatKcal as ee, formatNumber as o, formatRelativeTime as te } from "../../utils/formatters.js";
5
- import { StatusBadge as s } from "../../components/StatusBadge.js";
6
- import { ErrorView as c, LoadingView as l, Section as ne } from "../../components/StateViews.js";
7
- import { EmptyState as u } from "../../components/EmptyState.js";
8
- import { IconChip as d, MACRO_HUE as f, MacroBar as re, Meter as ie, ProgressRing as ae } from "../_shared/visuals.js";
9
- import { useMybActivateNutritionPlan as oe, useMybActiveNutritionPlan as se, useMybCreateNutritionPlan as ce, useMybDailyMacros as le, useMybDeleteMeal as ue, useMybLogMeal as de, useMybMeals as fe, useMybUpdateNutritionPlan as pe } from "../../hooks/useMyBodyShieldApi.js";
10
- import { useOffsetPager as me } from "../../hooks/usePager.js";
1
+ import { PageLayout as e } from "../../components/PageLayout.js";
2
+ import { formatDate as t, formatEnumLabel as n, formatGrams as r, formatKcal as ee, formatNumber as i, formatRelativeTime as a } from "../../utils/formatters.js";
3
+ import { StatusBadge as o } from "../../components/StatusBadge.js";
4
+ import { EmptyState as s } from "../../components/EmptyState.js";
5
+ import { ErrorView as c, LoadingView as l, Section as te } from "../../components/StateViews.js";
6
+ import { DataTable as ne } from "../../components/DataTable.js";
7
+ import { FilterTabs as u } from "../../components/FilterTabs.js";
8
+ import { Tabs as re } from "../../components/Tabs.js";
9
+ import { Pagination as ie } from "../../components/Pagination.js";
10
+ import { useMybActivateNutritionPlan as ae, useMybActiveNutritionPlan as oe, useMybCreateNutritionPlan as se, useMybDailyMacros as ce, useMybDeleteMeal as le, useMybLogMeal as ue, useMybMeals as de, useMybUpdateNutritionPlan as fe } from "../../hooks/useMyBodyShieldApi.js";
11
+ import { useOffsetPager as pe } from "../../hooks/usePager.js";
11
12
  import "../../hooks/index.js";
12
- import { DataTable as he } from "../../components/DataTable.js";
13
- import { FilterTabs as ge } from "../../components/FilterTabs.js";
14
- import { Tabs as _e } from "../../components/Tabs.js";
15
- import { Pagination as ve } from "../../components/Pagination.js";
16
13
  import "../../components/index.js";
14
+ import { motion as d } from "../../../node_modules/framer-motion/dist/es/render/components/motion/proxy.js";
15
+ import { useReducedMotion as me } from "../../../node_modules/framer-motion/dist/es/utils/reduced-motion/use-reduced-motion.js";
16
+ import { IconChip as he, MACRO_HUE as f, MacroBar as ge, Meter as _e, ProgressRing as ve } from "../_shared/visuals.js";
17
17
  import { useMemo as ye, useState as p } from "react";
18
18
  import { Beef as be, Calendar as xe, CheckCircle2 as m, ClipboardList as Se, Droplet as Ce, Flame as we, Pencil as Te, Plus as h, Salad as Ee, Star as g, Trash2 as De, UtensilsCrossed as Oe, Wheat as ke } from "lucide-react";
19
19
  import { Fragment as Ae, jsx as _, jsxs as v } from "react/jsx-runtime";
@@ -52,7 +52,7 @@ var C = 25, We = [
52
52
  label: "All"
53
53
  }, ...We.map((e) => ({
54
54
  value: e,
55
- label: i(e)
55
+ label: n(e)
56
56
  }))], w = (e) => {
57
57
  let t = e.trim();
58
58
  if (!t) return;
@@ -83,25 +83,25 @@ var C = 25, We = [
83
83
  notes: ""
84
84
  };
85
85
  function D() {
86
- let [D, Ze] = p("today"), O = t(), k = le(), A = se(), j = fe({}), [M, Qe] = p("ALL"), N = me(C), P = fe({
86
+ let [D, Ze] = p("today"), O = me(), k = ce(), A = oe(), j = de({}), [M, Qe] = p("ALL"), N = pe(C), P = de({
87
87
  mealType: M === "ALL" ? void 0 : M,
88
88
  pagination: {
89
89
  limit: C,
90
90
  offset: N.offset
91
91
  }
92
- }), F = de(), $e = ue(), et = ce(), tt = pe(), I = oe(), [nt, L] = p(null), [rt, it] = p(null), [at, R] = p(null), [ot, z] = p(!1), [B, V] = p(E), [st, H] = p(null), [ct, U] = p(!1), [W, lt] = p("create"), [G, K] = p(Xe), [ut, q] = p(null), dt = A.data ?? null, J = at ?? dt, Y = ye(() => {
92
+ }), F = ue(), $e = le(), et = se(), tt = fe(), I = ae(), [nt, L] = p(null), [rt, it] = p(null), [at, R] = p(null), [ot, z] = p(!1), [B, V] = p(E), [st, H] = p(null), [ct, U] = p(!1), [W, lt] = p("create"), [G, K] = p(Xe), [ut, q] = p(null), dt = A.data ?? null, J = at ?? dt, Y = ye(() => {
93
93
  let e = j.data?.items ?? [], t = (/* @__PURE__ */ new Date()).toDateString();
94
94
  return e.filter((e) => {
95
95
  let n = new Date(e.loggedAt);
96
96
  return !Number.isNaN(n.getTime()) && n.toDateString() === t;
97
97
  }).sort((e, t) => new Date(t.loggedAt).getTime() - new Date(e.loggedAt).getTime());
98
- }, [j.data]), ft = P.data?.items ?? [], pt = (e) => {
98
+ }, [j.data]), X = P.data?.items ?? [], ft = (e) => {
99
99
  Qe(e), N.reset();
100
- }, X = () => {
100
+ }, Z = () => {
101
101
  V(E), H(null), z(!0);
102
- }, mt = () => {
102
+ }, pt = () => {
103
103
  lt("create"), K(Xe), q(null), U(!0);
104
- }, ht = () => {
104
+ }, mt = () => {
105
105
  J && (lt("edit"), K({
106
106
  name: J.name,
107
107
  goalType: J.goalType,
@@ -113,7 +113,7 @@ function D() {
113
113
  endDate: Je(J.endDate),
114
114
  notes: J.notes ?? ""
115
115
  }), q(null), U(!0));
116
- }, gt = async () => {
116
+ }, ht = async () => {
117
117
  if (!B.name.trim()) {
118
118
  H("Meal name is required.");
119
119
  return;
@@ -135,7 +135,7 @@ function D() {
135
135
  } catch (e) {
136
136
  H(e instanceof Error ? e.message : "Failed to log meal.");
137
137
  }
138
- }, _t = async () => {
138
+ }, gt = async () => {
139
139
  if (!G.name.trim()) {
140
140
  q("Plan name is required.");
141
141
  return;
@@ -169,14 +169,14 @@ function D() {
169
169
  } catch (e) {
170
170
  q(e instanceof Error ? e.message : "Failed to save plan.");
171
171
  }
172
- }, vt = async (e) => {
172
+ }, _t = async (e) => {
173
173
  L(null);
174
174
  try {
175
175
  await I.mutateAsync(e), R(null);
176
176
  } catch (e) {
177
177
  L(e instanceof Error ? e.message : "Failed to activate plan.");
178
178
  }
179
- }, yt = async (e) => {
179
+ }, vt = async (e) => {
180
180
  if (window.confirm("Delete this meal log? This cannot be undone.")) {
181
181
  it(e), L(null);
182
182
  try {
@@ -187,7 +187,7 @@ function D() {
187
187
  it(null);
188
188
  }
189
189
  }
190
- }, Z = W === "edit" ? tt.isPending : et.isPending, Q = {
190
+ }, yt = W === "edit" ? tt.isPending : et.isPending, Q = {
191
191
  hidden: {},
192
192
  show: { transition: {
193
193
  staggerChildren: O ? 0 : .06,
@@ -235,7 +235,7 @@ function D() {
235
235
  {
236
236
  key: "mealType",
237
237
  header: "Type",
238
- render: (e) => /* @__PURE__ */ _(s, { status: e.mealType })
238
+ render: (e) => /* @__PURE__ */ _(o, { status: e.mealType })
239
239
  },
240
240
  {
241
241
  key: "calories",
@@ -255,7 +255,7 @@ function D() {
255
255
  sortValue: (e) => e.proteinG,
256
256
  render: (e) => /* @__PURE__ */ _("span", {
257
257
  className: "tabular-nums text-text-secondary",
258
- children: a(e.proteinG)
258
+ children: r(e.proteinG)
259
259
  })
260
260
  },
261
261
  {
@@ -266,7 +266,7 @@ function D() {
266
266
  sortValue: (e) => e.carbsG,
267
267
  render: (e) => /* @__PURE__ */ _("span", {
268
268
  className: "tabular-nums text-text-secondary",
269
- children: a(e.carbsG)
269
+ children: r(e.carbsG)
270
270
  })
271
271
  },
272
272
  {
@@ -277,7 +277,7 @@ function D() {
277
277
  sortValue: (e) => e.fatG,
278
278
  render: (e) => /* @__PURE__ */ _("span", {
279
279
  className: "tabular-nums text-text-secondary",
280
- children: a(e.fatG)
280
+ children: r(e.fatG)
281
281
  })
282
282
  },
283
283
  {
@@ -287,7 +287,7 @@ function D() {
287
287
  sortValue: (e) => e.servings,
288
288
  render: (e) => /* @__PURE__ */ _("span", {
289
289
  className: "tabular-nums",
290
- children: o(e.servings)
290
+ children: i(e.servings)
291
291
  })
292
292
  },
293
293
  {
@@ -297,7 +297,7 @@ function D() {
297
297
  sortValue: (e) => new Date(e.loggedAt).getTime(),
298
298
  render: (e) => /* @__PURE__ */ _("span", {
299
299
  className: "text-text-secondary",
300
- children: te(e.loggedAt)
300
+ children: a(e.loggedAt)
301
301
  })
302
302
  },
303
303
  {
@@ -307,32 +307,32 @@ function D() {
307
307
  render: (e) => /* @__PURE__ */ _(y, {
308
308
  variant: "ghost",
309
309
  size: "icon-sm",
310
- onClick: () => yt(e.id),
310
+ onClick: () => vt(e.id),
311
311
  disabled: rt === e.id,
312
312
  "aria-label": "Delete meal",
313
313
  children: /* @__PURE__ */ _(De, { className: "h-4 w-4 text-status-error-text" })
314
314
  })
315
315
  }
316
316
  ];
317
- return /* @__PURE__ */ v(n, {
317
+ return /* @__PURE__ */ v(e, {
318
318
  title: "Nutrition",
319
319
  description: "Plans, meal logging and daily macro targets.",
320
320
  actions: D === "plan" ? /* @__PURE__ */ v("div", {
321
321
  className: "flex flex-wrap items-center gap-2",
322
322
  children: [J && /* @__PURE__ */ v(y, {
323
323
  variant: "outline",
324
- onClick: ht,
324
+ onClick: mt,
325
325
  children: [/* @__PURE__ */ _(Te, { className: "mr-1.5 h-4 w-4" }), " Edit targets"]
326
326
  }), /* @__PURE__ */ v(y, {
327
- onClick: mt,
327
+ onClick: pt,
328
328
  children: [/* @__PURE__ */ _(h, { className: "mr-1.5 h-4 w-4" }), " Create plan"]
329
329
  })]
330
330
  }) : /* @__PURE__ */ v(y, {
331
- onClick: X,
331
+ onClick: Z,
332
332
  children: [/* @__PURE__ */ _(h, { className: "mr-1.5 h-4 w-4" }), " Log meal"]
333
333
  }),
334
334
  children: [
335
- /* @__PURE__ */ _(_e, {
335
+ /* @__PURE__ */ _(re, {
336
336
  items: Ke,
337
337
  value: D,
338
338
  onChange: Ze,
@@ -348,46 +348,46 @@ function D() {
348
348
  message: "We couldn't load your daily macros.",
349
349
  onRetry: () => k.refetch()
350
350
  });
351
- let t = k.data;
352
- if (!t) return /* @__PURE__ */ _(l, { label: "Loading today's nutrition…" });
353
- let n = t.calorieTarget > 0, r = t.calories > 0 || Y.length > 0;
354
- if (!n && !r) return /* @__PURE__ */ _(u, {
351
+ let e = k.data;
352
+ if (!e) return /* @__PURE__ */ _(l, { label: "Loading today's nutrition…" });
353
+ let t = e.calorieTarget > 0, n = e.calories > 0 || Y.length > 0;
354
+ if (!t && !n) return /* @__PURE__ */ _(s, {
355
355
  illustration: "empty-data",
356
356
  icon: /* @__PURE__ */ _(Ee, { className: "h-10 w-10" }),
357
357
  title: "No nutrition tracked yet",
358
358
  description: "Activate a nutrition plan or log your first meal to start tracking daily macros.",
359
359
  action: /* @__PURE__ */ v(y, {
360
- onClick: X,
360
+ onClick: Z,
361
361
  children: [/* @__PURE__ */ _(h, { className: "mr-1.5 h-4 w-4" }), " Log meal"]
362
362
  })
363
363
  });
364
- let i = t.calorieTarget ? t.calories / t.calorieTarget * 100 : 0, te = Math.round(Math.max(0, Math.min(100, i))), d = [
364
+ let a = e.calorieTarget ? e.calories / e.calorieTarget * 100 : 0, ne = Math.round(Math.max(0, Math.min(100, a))), u = [
365
365
  {
366
366
  label: "Protein",
367
- value: t.proteinG,
368
- target: t.proteinTarget,
367
+ value: e.proteinG,
368
+ target: e.proteinTarget,
369
369
  color: f.protein
370
370
  },
371
371
  {
372
372
  label: "Carbs",
373
- value: t.carbsG,
374
- target: t.carbsTarget,
373
+ value: e.carbsG,
374
+ target: e.carbsTarget,
375
375
  color: f.carbs
376
376
  },
377
377
  {
378
378
  label: "Fat",
379
- value: t.fatG,
380
- target: t.fatTarget,
379
+ value: e.fatG,
380
+ target: e.fatTarget,
381
381
  color: f.fat
382
382
  }
383
383
  ];
384
- return /* @__PURE__ */ v(e.div, {
384
+ return /* @__PURE__ */ v(d.div, {
385
385
  initial: "hidden",
386
386
  animate: "show",
387
387
  variants: Q,
388
388
  className: "space-y-6",
389
389
  children: [
390
- /* @__PURE__ */ _(e.div, {
390
+ /* @__PURE__ */ _(d.div, {
391
391
  variants: $,
392
392
  children: /* @__PURE__ */ v(b, {
393
393
  treatment: "glass",
@@ -410,35 +410,35 @@ function D() {
410
410
  "aria-hidden": "true",
411
411
  className: "pointer-events-none absolute inset-3 rounded-full blur-2xl",
412
412
  style: { background: "radial-gradient(circle, color-mix(in srgb, var(--color-action-primary-bg) 30%, transparent), transparent 68%)" }
413
- }), /* @__PURE__ */ v(ae, {
414
- value: i,
413
+ }), /* @__PURE__ */ v(ve, {
414
+ value: a,
415
415
  size: 168,
416
416
  stroke: 14,
417
417
  className: "relative",
418
418
  children: [/* @__PURE__ */ _("span", {
419
419
  className: "text-3xl font-bold tabular-nums text-text-primary",
420
- children: o(t.calories)
420
+ children: i(e.calories)
421
421
  }), /* @__PURE__ */ v("span", {
422
422
  className: "mt-0.5 text-xs text-text-tertiary",
423
423
  children: [
424
424
  "/ ",
425
- o(t.calorieTarget),
425
+ i(e.calorieTarget),
426
426
  " kcal"
427
427
  ]
428
428
  })]
429
429
  })]
430
430
  }), /* @__PURE__ */ v("div", {
431
431
  className: "flex w-full flex-1 flex-col gap-4",
432
- children: [/* @__PURE__ */ _(re, {
433
- proteinG: t.proteinG,
434
- carbsG: t.carbsG,
435
- fatG: t.fatG,
432
+ children: [/* @__PURE__ */ _(ge, {
433
+ proteinG: e.proteinG,
434
+ carbsG: e.carbsG,
435
+ fatG: e.fatG,
436
436
  height: 12
437
437
  }), /* @__PURE__ */ v("div", {
438
438
  className: "flex flex-col gap-4 sm:flex-row sm:items-stretch",
439
439
  children: [/* @__PURE__ */ _("div", {
440
440
  className: "flex-1 space-y-2.5",
441
- children: d.map((e) => /* @__PURE__ */ v("div", {
441
+ children: u.map((e) => /* @__PURE__ */ v("div", {
442
442
  className: "flex items-center justify-between gap-3",
443
443
  children: [/* @__PURE__ */ v("span", {
444
444
  className: "inline-flex items-center gap-2 text-sm text-text-secondary",
@@ -448,7 +448,7 @@ function D() {
448
448
  }), e.label]
449
449
  }), /* @__PURE__ */ _("span", {
450
450
  className: "text-sm font-semibold tabular-nums text-text-primary",
451
- children: a(e.value)
451
+ children: r(e.value)
452
452
  })]
453
453
  }, e.label))
454
454
  }), /* @__PURE__ */ v("div", {
@@ -461,7 +461,7 @@ function D() {
461
461
  }),
462
462
  /* @__PURE__ */ v("span", {
463
463
  className: "text-2xl font-bold tabular-nums text-action-primary-bg",
464
- children: [te, "%"]
464
+ children: [ne, "%"]
465
465
  }),
466
466
  /* @__PURE__ */ _("span", {
467
467
  className: "text-xs text-text-secondary",
@@ -474,10 +474,10 @@ function D() {
474
474
  })]
475
475
  })
476
476
  }),
477
- /* @__PURE__ */ _(e.div, {
477
+ /* @__PURE__ */ _(d.div, {
478
478
  variants: Q,
479
479
  className: "grid grid-cols-1 gap-3 sm:grid-cols-3 sm:gap-4",
480
- children: d.map((t) => /* @__PURE__ */ _(e.div, {
480
+ children: u.map((e) => /* @__PURE__ */ _(d.div, {
481
481
  variants: $,
482
482
  children: /* @__PURE__ */ v(b, {
483
483
  treatment: "metric",
@@ -488,45 +488,45 @@ function D() {
488
488
  className: "inline-flex items-center gap-2 text-sm font-medium text-text-primary",
489
489
  children: [/* @__PURE__ */ _("span", {
490
490
  className: "h-2.5 w-2.5 rounded-full",
491
- style: { backgroundColor: t.color }
492
- }), t.label]
491
+ style: { backgroundColor: e.color }
492
+ }), e.label]
493
493
  }), /* @__PURE__ */ v("span", {
494
494
  className: "text-sm tabular-nums text-text-secondary",
495
495
  children: [
496
496
  /* @__PURE__ */ _("span", {
497
497
  className: "font-semibold text-text-primary",
498
- children: o(t.value)
498
+ children: i(e.value)
499
499
  }),
500
500
  " ",
501
501
  "/ ",
502
- o(t.target),
502
+ i(e.target),
503
503
  " g"
504
504
  ]
505
505
  })]
506
- }), /* @__PURE__ */ _(ie, {
507
- value: t.target ? t.value / t.target * 100 : 0,
508
- color: t.color,
506
+ }), /* @__PURE__ */ _(_e, {
507
+ value: e.target ? e.value / e.target * 100 : 0,
508
+ color: e.color,
509
509
  height: 8,
510
510
  className: "mt-3"
511
511
  })]
512
512
  })
513
- }, t.label))
513
+ }, e.label))
514
514
  }),
515
- /* @__PURE__ */ _(e.div, {
515
+ /* @__PURE__ */ _(d.div, {
516
516
  variants: $,
517
- children: /* @__PURE__ */ _(ne, {
517
+ children: /* @__PURE__ */ _(te, {
518
518
  title: "Today's meals",
519
519
  description: "Everything you've logged today.",
520
520
  children: j.isLoading ? /* @__PURE__ */ _(l, { label: "Loading meals…" }) : j.isError ? /* @__PURE__ */ _(c, {
521
521
  message: "We couldn't load today's meals.",
522
522
  onRetry: () => j.refetch()
523
- }) : Y.length === 0 ? /* @__PURE__ */ _(u, {
523
+ }) : Y.length === 0 ? /* @__PURE__ */ _(s, {
524
524
  illustration: "empty-data",
525
525
  icon: /* @__PURE__ */ _(Ee, { className: "h-10 w-10" }),
526
526
  title: "No meals logged today",
527
527
  description: "Use “Log meal” to record what you've eaten and keep your macros current.",
528
528
  action: /* @__PURE__ */ v(y, {
529
- onClick: X,
529
+ onClick: Z,
530
530
  children: [/* @__PURE__ */ _(h, { className: "mr-1.5 h-4 w-4" }), " Log meal"]
531
531
  })
532
532
  }) : /* @__PURE__ */ _(b, {
@@ -535,7 +535,7 @@ function D() {
535
535
  children: Y.map((e) => /* @__PURE__ */ v("div", {
536
536
  className: "flex items-center gap-3 rounded-xl px-2 py-3 transition-colors hover:bg-bg-sunken/40",
537
537
  children: [
538
- /* @__PURE__ */ _(s, { status: e.mealType }),
538
+ /* @__PURE__ */ _(o, { status: e.mealType }),
539
539
  /* @__PURE__ */ v("div", {
540
540
  className: "min-w-0 flex-1",
541
541
  children: [/* @__PURE__ */ v("div", {
@@ -550,14 +550,14 @@ function D() {
550
550
  }), /* @__PURE__ */ v("p", {
551
551
  className: "text-xs text-text-tertiary",
552
552
  children: [
553
- a(e.proteinG),
553
+ r(e.proteinG),
554
554
  " P · ",
555
- a(e.carbsG),
555
+ r(e.carbsG),
556
556
  " C ·",
557
557
  " ",
558
- a(e.fatG),
558
+ r(e.fatG),
559
559
  " F · ",
560
- o(e.servings),
560
+ i(e.servings),
561
561
  " serving",
562
562
  e.servings === 1 ? "" : "s"
563
563
  ]
@@ -570,7 +570,7 @@ function D() {
570
570
  /* @__PURE__ */ _(y, {
571
571
  variant: "ghost",
572
572
  size: "icon-sm",
573
- onClick: () => yt(e.id),
573
+ onClick: () => vt(e.id),
574
574
  disabled: rt === e.id,
575
575
  "aria-label": "Delete meal",
576
576
  className: "shrink-0",
@@ -590,49 +590,49 @@ function D() {
590
590
  message: "We couldn't load your active nutrition plan.",
591
591
  onRetry: () => A.refetch()
592
592
  });
593
- if (!J) return /* @__PURE__ */ _(u, {
593
+ if (!J) return /* @__PURE__ */ _(s, {
594
594
  illustration: "empty-data",
595
595
  icon: /* @__PURE__ */ _(Se, { className: "h-10 w-10" }),
596
596
  title: "No active nutrition plan",
597
597
  description: "Create a nutrition plan to set your daily calorie and macro targets.",
598
598
  action: /* @__PURE__ */ v(y, {
599
- onClick: mt,
599
+ onClick: pt,
600
600
  children: [/* @__PURE__ */ _(h, { className: "mr-1.5 h-4 w-4" }), " Create plan"]
601
601
  })
602
602
  });
603
- let t = [
603
+ let e = [
604
604
  {
605
605
  icon: /* @__PURE__ */ _(we, { className: "h-5 w-5" }),
606
606
  label: "Calorie target",
607
- value: J.calorieTarget ? `${o(J.calorieTarget)} kcal` : "—",
607
+ value: J.calorieTarget ? `${i(J.calorieTarget)} kcal` : "—",
608
608
  tint: "var(--color-action-primary-bg)"
609
609
  },
610
610
  {
611
611
  icon: /* @__PURE__ */ _(be, { className: "h-5 w-5" }),
612
612
  label: "Protein target",
613
- value: J.proteinTarget ? a(J.proteinTarget) : "—",
613
+ value: J.proteinTarget ? r(J.proteinTarget) : "—",
614
614
  tint: f.protein
615
615
  },
616
616
  {
617
617
  icon: /* @__PURE__ */ _(ke, { className: "h-5 w-5" }),
618
618
  label: "Carbs target",
619
- value: J.carbsTarget ? a(J.carbsTarget) : "—",
619
+ value: J.carbsTarget ? r(J.carbsTarget) : "—",
620
620
  tint: f.carbs
621
621
  },
622
622
  {
623
623
  icon: /* @__PURE__ */ _(Ce, { className: "h-5 w-5" }),
624
624
  label: "Fat target",
625
- value: J.fatTarget ? a(J.fatTarget) : "—",
625
+ value: J.fatTarget ? r(J.fatTarget) : "—",
626
626
  tint: f.fat
627
627
  }
628
628
  ];
629
- return /* @__PURE__ */ v(e.div, {
629
+ return /* @__PURE__ */ v(d.div, {
630
630
  initial: "hidden",
631
631
  animate: "show",
632
632
  variants: Q,
633
633
  className: "space-y-6",
634
634
  children: [
635
- !J.isActive && /* @__PURE__ */ v(e.div, {
635
+ !J.isActive && /* @__PURE__ */ v(d.div, {
636
636
  variants: $,
637
637
  className: "flex flex-wrap items-center justify-between gap-3 rounded-2xl border p-4",
638
638
  style: {
@@ -641,7 +641,7 @@ function D() {
641
641
  },
642
642
  children: [/* @__PURE__ */ v("div", {
643
643
  className: "flex min-w-0 items-center gap-3",
644
- children: [/* @__PURE__ */ _(d, { icon: /* @__PURE__ */ _(m, { className: "h-5 w-5" }) }), /* @__PURE__ */ v("div", {
644
+ children: [/* @__PURE__ */ _(he, { icon: /* @__PURE__ */ _(m, { className: "h-5 w-5" }) }), /* @__PURE__ */ v("div", {
645
645
  className: "min-w-0",
646
646
  children: [/* @__PURE__ */ _("p", {
647
647
  className: "text-sm font-medium text-text-primary",
@@ -652,12 +652,12 @@ function D() {
652
652
  })]
653
653
  })]
654
654
  }), /* @__PURE__ */ v(y, {
655
- onClick: () => vt(J.id),
655
+ onClick: () => _t(J.id),
656
656
  disabled: I.isPending,
657
657
  children: [/* @__PURE__ */ _(m, { className: "mr-1.5 h-4 w-4" }), I.isPending ? "Activating…" : "Activate this plan"]
658
658
  })]
659
659
  }),
660
- /* @__PURE__ */ _(e.div, {
660
+ /* @__PURE__ */ _(d.div, {
661
661
  variants: $,
662
662
  children: /* @__PURE__ */ v(b, {
663
663
  treatment: "glass",
@@ -687,7 +687,7 @@ function D() {
687
687
  }),
688
688
  J.calorieTarget > 0 && /* @__PURE__ */ v("span", {
689
689
  className: "text-lg font-semibold tabular-nums text-text-tertiary",
690
- children: [o(J.calorieTarget), " kcal"]
690
+ children: [i(J.calorieTarget), " kcal"]
691
691
  }),
692
692
  J.isActive ? /* @__PURE__ */ v("span", {
693
693
  className: "inline-flex items-center gap-1 rounded-full bg-status-success-bg-subtle px-2.5 py-0.5 text-xs font-medium text-status-success-text",
@@ -702,9 +702,9 @@ function D() {
702
702
  className: "mt-2 inline-flex items-center gap-1.5 text-sm text-text-secondary",
703
703
  children: [
704
704
  /* @__PURE__ */ _(xe, { className: "h-4 w-4 text-text-tertiary" }),
705
- r(J.startDate),
705
+ t(J.startDate),
706
706
  " – ",
707
- r(J.endDate)
707
+ t(J.endDate)
708
708
  ]
709
709
  })
710
710
  ]
@@ -713,37 +713,37 @@ function D() {
713
713
  children: [/* @__PURE__ */ _("span", {
714
714
  className: "text-sm text-text-tertiary",
715
715
  children: "Goal"
716
- }), /* @__PURE__ */ _(s, { status: J.goalType })]
716
+ }), /* @__PURE__ */ _(o, { status: J.goalType })]
717
717
  })]
718
718
  }),
719
- /* @__PURE__ */ _(e.div, {
719
+ /* @__PURE__ */ _(d.div, {
720
720
  variants: Q,
721
721
  className: "relative mt-6 grid grid-cols-2 gap-3 sm:gap-4 lg:grid-cols-4",
722
- children: t.map((t) => /* @__PURE__ */ v(e.div, {
722
+ children: e.map((e) => /* @__PURE__ */ v(d.div, {
723
723
  variants: $,
724
724
  className: "rounded-2xl border border-border-seam bg-bg-sunken/40 p-4 transition-shadow duration-200 hover:shadow-elevation-2",
725
725
  children: [
726
- /* @__PURE__ */ _(d, {
727
- icon: t.icon,
728
- tint: t.tint
726
+ /* @__PURE__ */ _(he, {
727
+ icon: e.icon,
728
+ tint: e.tint
729
729
  }),
730
730
  /* @__PURE__ */ _("p", {
731
731
  className: "mt-3 text-xs text-text-tertiary",
732
- children: t.label
732
+ children: e.label
733
733
  }),
734
734
  /* @__PURE__ */ _("p", {
735
735
  className: "mt-1 text-xl font-bold tabular-nums text-text-primary",
736
- children: t.value
736
+ children: e.value
737
737
  })
738
738
  ]
739
- }, t.label))
739
+ }, e.label))
740
740
  })
741
741
  ]
742
742
  })
743
743
  }),
744
- J.notes && /* @__PURE__ */ _(e.div, {
744
+ J.notes && /* @__PURE__ */ _(d.div, {
745
745
  variants: $,
746
- children: /* @__PURE__ */ _(ne, {
746
+ children: /* @__PURE__ */ _(te, {
747
747
  title: "Notes",
748
748
  children: /* @__PURE__ */ _(b, {
749
749
  treatment: "plain",
@@ -761,47 +761,47 @@ function D() {
761
761
  D === "meals" && (P.isLoading ? /* @__PURE__ */ _(l, { label: "Loading meal log…" }) : P.isError ? /* @__PURE__ */ _(c, {
762
762
  message: "We couldn't load your meal log.",
763
763
  onRetry: () => P.refetch()
764
- }) : /* @__PURE__ */ v(e.div, {
764
+ }) : /* @__PURE__ */ v(d.div, {
765
765
  initial: "hidden",
766
766
  animate: "show",
767
767
  variants: Q,
768
768
  className: "space-y-4",
769
- children: [/* @__PURE__ */ _(e.div, {
769
+ children: [/* @__PURE__ */ _(d.div, {
770
770
  variants: $,
771
- children: /* @__PURE__ */ _(ge, {
771
+ children: /* @__PURE__ */ _(u, {
772
772
  options: qe,
773
773
  value: M,
774
- onChange: pt
774
+ onChange: ft
775
775
  })
776
- }), ft.length === 0 ? /* @__PURE__ */ _(e.div, {
776
+ }), X.length === 0 ? /* @__PURE__ */ _(d.div, {
777
777
  variants: $,
778
- children: /* @__PURE__ */ _(u, {
778
+ children: /* @__PURE__ */ _(s, {
779
779
  illustration: "empty-data",
780
780
  icon: /* @__PURE__ */ _(Oe, { className: "h-10 w-10" }),
781
781
  title: M === "ALL" ? "No meals logged yet" : "No meals for this filter",
782
782
  description: M === "ALL" ? "Log meals from the Today tab to build up your nutrition history." : "Try a different meal type, or log a meal to get started.",
783
783
  action: /* @__PURE__ */ v(y, {
784
- onClick: X,
784
+ onClick: Z,
785
785
  children: [/* @__PURE__ */ _(h, { className: "mr-1.5 h-4 w-4" }), " Log meal"]
786
786
  })
787
787
  })
788
- }) : /* @__PURE__ */ v(Ae, { children: [/* @__PURE__ */ _(e.div, {
788
+ }) : /* @__PURE__ */ v(Ae, { children: [/* @__PURE__ */ _(d.div, {
789
789
  variants: $,
790
- children: /* @__PURE__ */ _(he, {
790
+ children: /* @__PURE__ */ _(ne, {
791
791
  columns: bt,
792
- rows: ft,
792
+ rows: X,
793
793
  rowKey: (e) => e.id,
794
794
  defaultSort: {
795
795
  key: "loggedAt",
796
796
  dir: "desc"
797
797
  }
798
798
  })
799
- }), /* @__PURE__ */ _(e.div, {
799
+ }), /* @__PURE__ */ _(d.div, {
800
800
  variants: $,
801
- children: /* @__PURE__ */ _(ve, {
801
+ children: /* @__PURE__ */ _(ie, {
802
802
  page: N.page,
803
803
  pageSize: C,
804
- itemCount: ft.length,
804
+ itemCount: X.length,
805
805
  hasMore: P.data?.pageInfo?.hasMore ?? !1,
806
806
  onPageChange: (e) => N.onPageChange(e)
807
807
  })
@@ -854,7 +854,7 @@ function D() {
854
854
  children: /* @__PURE__ */ _(Ve, {})
855
855
  }), /* @__PURE__ */ _(Re, { children: We.map((e) => /* @__PURE__ */ _(ze, {
856
856
  value: e,
857
- children: i(e)
857
+ children: n(e)
858
858
  }, e)) })]
859
859
  })]
860
860
  }), /* @__PURE__ */ v("div", {
@@ -978,7 +978,7 @@ function D() {
978
978
  disabled: F.isPending,
979
979
  children: "Cancel"
980
980
  }), /* @__PURE__ */ _(y, {
981
- onClick: gt,
981
+ onClick: ht,
982
982
  disabled: F.isPending,
983
983
  children: F.isPending ? "Logging…" : "Log meal"
984
984
  })] })
@@ -1030,7 +1030,7 @@ function D() {
1030
1030
  children: /* @__PURE__ */ _(Ve, {})
1031
1031
  }), /* @__PURE__ */ _(Re, { children: Ge.map((e) => /* @__PURE__ */ _(ze, {
1032
1032
  value: e,
1033
- children: i(e)
1033
+ children: n(e)
1034
1034
  }, e)) })]
1035
1035
  })]
1036
1036
  }),
@@ -1160,12 +1160,12 @@ function D() {
1160
1160
  /* @__PURE__ */ v(Pe, { children: [/* @__PURE__ */ _(y, {
1161
1161
  variant: "outline",
1162
1162
  onClick: () => U(!1),
1163
- disabled: Z,
1163
+ disabled: yt,
1164
1164
  children: "Cancel"
1165
1165
  }), /* @__PURE__ */ _(y, {
1166
- onClick: _t,
1167
- disabled: Z,
1168
- children: Z ? "Saving…" : W === "edit" ? "Save targets" : "Create plan"
1166
+ onClick: gt,
1167
+ disabled: yt,
1168
+ children: yt ? "Saving…" : W === "edit" ? "Save targets" : "Create plan"
1169
1169
  })] })
1170
1170
  ]
1171
1171
  })