@burdenoff/microfe-mybodyshield 2026.511.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 (210) hide show
  1. package/README.md +12 -0
  2. package/dist/dev/main.d.ts +2 -0
  3. package/dist/dev/main.d.ts.map +1 -0
  4. package/dist/generated/global-operations.d.ts +2 -0
  5. package/dist/generated/global-operations.d.ts.map +1 -0
  6. package/dist/generated/global-types.d.ts +18199 -0
  7. package/dist/generated/global-types.d.ts.map +1 -0
  8. package/dist/generated/wspace-operations.d.ts +2 -0
  9. package/dist/generated/wspace-operations.d.ts.map +1 -0
  10. package/dist/generated/wspace-types.d.ts +43046 -0
  11. package/dist/generated/wspace-types.d.ts.map +1 -0
  12. package/dist/index.d.ts +2 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +5 -0
  15. package/dist/mybodyshield/MyBodyShieldRoot.d.ts +5 -0
  16. package/dist/mybodyshield/MyBodyShieldRoot.d.ts.map +1 -0
  17. package/dist/mybodyshield/MyBodyShieldRoot.js +364 -0
  18. package/dist/mybodyshield/MyBodyShieldRoot.js.map +1 -0
  19. package/dist/mybodyshield/MyBodyShieldRoutes.d.ts +2 -0
  20. package/dist/mybodyshield/MyBodyShieldRoutes.d.ts.map +1 -0
  21. package/dist/mybodyshield/MyBodyShieldRoutes.js +199 -0
  22. package/dist/mybodyshield/MyBodyShieldRoutes.js.map +1 -0
  23. package/dist/mybodyshield/index.d.ts +5 -0
  24. package/dist/mybodyshield/index.d.ts.map +1 -0
  25. package/dist/mybodyshield/index.js +3 -0
  26. package/dist/mybodyshield/pages/AdminAiinsightsPage.d.ts +2 -0
  27. package/dist/mybodyshield/pages/AdminAiinsightsPage.d.ts.map +1 -0
  28. package/dist/mybodyshield/pages/AdminAiinsightsPage.js +161 -0
  29. package/dist/mybodyshield/pages/AdminAiinsightsPage.js.map +1 -0
  30. package/dist/mybodyshield/pages/AdminAnalyticsPage.d.ts +2 -0
  31. package/dist/mybodyshield/pages/AdminAnalyticsPage.d.ts.map +1 -0
  32. package/dist/mybodyshield/pages/AdminAnalyticsPage.js +193 -0
  33. package/dist/mybodyshield/pages/AdminAnalyticsPage.js.map +1 -0
  34. package/dist/mybodyshield/pages/AdminComplianceReportsPage.d.ts +2 -0
  35. package/dist/mybodyshield/pages/AdminComplianceReportsPage.d.ts.map +1 -0
  36. package/dist/mybodyshield/pages/AdminComplianceReportsPage.js +214 -0
  37. package/dist/mybodyshield/pages/AdminComplianceReportsPage.js.map +1 -0
  38. package/dist/mybodyshield/pages/AdminDashboardPage.d.ts +2 -0
  39. package/dist/mybodyshield/pages/AdminDashboardPage.d.ts.map +1 -0
  40. package/dist/mybodyshield/pages/AdminDashboardPage.js +186 -0
  41. package/dist/mybodyshield/pages/AdminDashboardPage.js.map +1 -0
  42. package/dist/mybodyshield/pages/AdminOrganizationManagementPage.d.ts +2 -0
  43. package/dist/mybodyshield/pages/AdminOrganizationManagementPage.d.ts.map +1 -0
  44. package/dist/mybodyshield/pages/AdminOrganizationManagementPage.js +252 -0
  45. package/dist/mybodyshield/pages/AdminOrganizationManagementPage.js.map +1 -0
  46. package/dist/mybodyshield/pages/AdminSystemSettingsPage.d.ts +2 -0
  47. package/dist/mybodyshield/pages/AdminSystemSettingsPage.d.ts.map +1 -0
  48. package/dist/mybodyshield/pages/AdminSystemSettingsPage.js +159 -0
  49. package/dist/mybodyshield/pages/AdminSystemSettingsPage.js.map +1 -0
  50. package/dist/mybodyshield/pages/AdminUserManagementPage.d.ts +2 -0
  51. package/dist/mybodyshield/pages/AdminUserManagementPage.d.ts.map +1 -0
  52. package/dist/mybodyshield/pages/AdminUserManagementPage.js +208 -0
  53. package/dist/mybodyshield/pages/AdminUserManagementPage.js.map +1 -0
  54. package/dist/mybodyshield/pages/FitnessAssessmentsPage.d.ts +2 -0
  55. package/dist/mybodyshield/pages/FitnessAssessmentsPage.d.ts.map +1 -0
  56. package/dist/mybodyshield/pages/FitnessAssessmentsPage.js +194 -0
  57. package/dist/mybodyshield/pages/FitnessAssessmentsPage.js.map +1 -0
  58. package/dist/mybodyshield/pages/FitnessClientDetailsPage.d.ts +2 -0
  59. package/dist/mybodyshield/pages/FitnessClientDetailsPage.d.ts.map +1 -0
  60. package/dist/mybodyshield/pages/FitnessClientDetailsPage.js +192 -0
  61. package/dist/mybodyshield/pages/FitnessClientDetailsPage.js.map +1 -0
  62. package/dist/mybodyshield/pages/FitnessClientManagementPage.d.ts +2 -0
  63. package/dist/mybodyshield/pages/FitnessClientManagementPage.d.ts.map +1 -0
  64. package/dist/mybodyshield/pages/FitnessClientManagementPage.js +128 -0
  65. package/dist/mybodyshield/pages/FitnessClientManagementPage.js.map +1 -0
  66. package/dist/mybodyshield/pages/FitnessDashboardPage.d.ts +2 -0
  67. package/dist/mybodyshield/pages/FitnessDashboardPage.d.ts.map +1 -0
  68. package/dist/mybodyshield/pages/FitnessDashboardPage.js +156 -0
  69. package/dist/mybodyshield/pages/FitnessDashboardPage.js.map +1 -0
  70. package/dist/mybodyshield/pages/FitnessReportsPage.d.ts +2 -0
  71. package/dist/mybodyshield/pages/FitnessReportsPage.d.ts.map +1 -0
  72. package/dist/mybodyshield/pages/FitnessReportsPage.js +138 -0
  73. package/dist/mybodyshield/pages/FitnessReportsPage.js.map +1 -0
  74. package/dist/mybodyshield/pages/FitnessWorkoutPlansPage.d.ts +2 -0
  75. package/dist/mybodyshield/pages/FitnessWorkoutPlansPage.d.ts.map +1 -0
  76. package/dist/mybodyshield/pages/FitnessWorkoutPlansPage.js +176 -0
  77. package/dist/mybodyshield/pages/FitnessWorkoutPlansPage.js.map +1 -0
  78. package/dist/mybodyshield/pages/PatientAppointmentsPage.d.ts +2 -0
  79. package/dist/mybodyshield/pages/PatientAppointmentsPage.d.ts.map +1 -0
  80. package/dist/mybodyshield/pages/PatientAppointmentsPage.js +132 -0
  81. package/dist/mybodyshield/pages/PatientAppointmentsPage.js.map +1 -0
  82. package/dist/mybodyshield/pages/PatientDashboardPage.d.ts +2 -0
  83. package/dist/mybodyshield/pages/PatientDashboardPage.d.ts.map +1 -0
  84. package/dist/mybodyshield/pages/PatientDashboardPage.js +190 -0
  85. package/dist/mybodyshield/pages/PatientDashboardPage.js.map +1 -0
  86. package/dist/mybodyshield/pages/PatientFitnessTrackingPage.d.ts +2 -0
  87. package/dist/mybodyshield/pages/PatientFitnessTrackingPage.d.ts.map +1 -0
  88. package/dist/mybodyshield/pages/PatientFitnessTrackingPage.js +137 -0
  89. package/dist/mybodyshield/pages/PatientFitnessTrackingPage.js.map +1 -0
  90. package/dist/mybodyshield/pages/PatientHealthGoalsPage.d.ts +2 -0
  91. package/dist/mybodyshield/pages/PatientHealthGoalsPage.d.ts.map +1 -0
  92. package/dist/mybodyshield/pages/PatientHealthGoalsPage.js +131 -0
  93. package/dist/mybodyshield/pages/PatientHealthGoalsPage.js.map +1 -0
  94. package/dist/mybodyshield/pages/PatientHealthOverviewPage.d.ts +2 -0
  95. package/dist/mybodyshield/pages/PatientHealthOverviewPage.d.ts.map +1 -0
  96. package/dist/mybodyshield/pages/PatientHealthOverviewPage.js +273 -0
  97. package/dist/mybodyshield/pages/PatientHealthOverviewPage.js.map +1 -0
  98. package/dist/mybodyshield/pages/PatientLabResultsPage.d.ts +2 -0
  99. package/dist/mybodyshield/pages/PatientLabResultsPage.d.ts.map +1 -0
  100. package/dist/mybodyshield/pages/PatientLabResultsPage.js +133 -0
  101. package/dist/mybodyshield/pages/PatientLabResultsPage.js.map +1 -0
  102. package/dist/mybodyshield/pages/PatientMedicationsPage.d.ts +2 -0
  103. package/dist/mybodyshield/pages/PatientMedicationsPage.d.ts.map +1 -0
  104. package/dist/mybodyshield/pages/PatientMedicationsPage.js +158 -0
  105. package/dist/mybodyshield/pages/PatientMedicationsPage.js.map +1 -0
  106. package/dist/mybodyshield/pages/PatientMentalHealthPage.d.ts +2 -0
  107. package/dist/mybodyshield/pages/PatientMentalHealthPage.d.ts.map +1 -0
  108. package/dist/mybodyshield/pages/PatientMentalHealthPage.js +152 -0
  109. package/dist/mybodyshield/pages/PatientMentalHealthPage.js.map +1 -0
  110. package/dist/mybodyshield/pages/PatientNutritionTrackingPage.d.ts +2 -0
  111. package/dist/mybodyshield/pages/PatientNutritionTrackingPage.d.ts.map +1 -0
  112. package/dist/mybodyshield/pages/PatientNutritionTrackingPage.js +141 -0
  113. package/dist/mybodyshield/pages/PatientNutritionTrackingPage.js.map +1 -0
  114. package/dist/mybodyshield/pages/PatientVitalSignsPage.d.ts +2 -0
  115. package/dist/mybodyshield/pages/PatientVitalSignsPage.d.ts.map +1 -0
  116. package/dist/mybodyshield/pages/PatientVitalSignsPage.js +160 -0
  117. package/dist/mybodyshield/pages/PatientVitalSignsPage.js.map +1 -0
  118. package/dist/mybodyshield/pages/ProviderCalendarPage.d.ts +2 -0
  119. package/dist/mybodyshield/pages/ProviderCalendarPage.d.ts.map +1 -0
  120. package/dist/mybodyshield/pages/ProviderCalendarPage.js +127 -0
  121. package/dist/mybodyshield/pages/ProviderCalendarPage.js.map +1 -0
  122. package/dist/mybodyshield/pages/ProviderCarePlansPage.d.ts +2 -0
  123. package/dist/mybodyshield/pages/ProviderCarePlansPage.d.ts.map +1 -0
  124. package/dist/mybodyshield/pages/ProviderCarePlansPage.js +153 -0
  125. package/dist/mybodyshield/pages/ProviderCarePlansPage.js.map +1 -0
  126. package/dist/mybodyshield/pages/ProviderClinicalToolsPage.d.ts +2 -0
  127. package/dist/mybodyshield/pages/ProviderClinicalToolsPage.d.ts.map +1 -0
  128. package/dist/mybodyshield/pages/ProviderClinicalToolsPage.js +174 -0
  129. package/dist/mybodyshield/pages/ProviderClinicalToolsPage.js.map +1 -0
  130. package/dist/mybodyshield/pages/ProviderDashboardPage.d.ts +2 -0
  131. package/dist/mybodyshield/pages/ProviderDashboardPage.d.ts.map +1 -0
  132. package/dist/mybodyshield/pages/ProviderDashboardPage.js +154 -0
  133. package/dist/mybodyshield/pages/ProviderDashboardPage.js.map +1 -0
  134. package/dist/mybodyshield/pages/ProviderPatientDetailsPage.d.ts +2 -0
  135. package/dist/mybodyshield/pages/ProviderPatientDetailsPage.d.ts.map +1 -0
  136. package/dist/mybodyshield/pages/ProviderPatientDetailsPage.js +295 -0
  137. package/dist/mybodyshield/pages/ProviderPatientDetailsPage.js.map +1 -0
  138. package/dist/mybodyshield/pages/ProviderPatientManagementPage.d.ts +2 -0
  139. package/dist/mybodyshield/pages/ProviderPatientManagementPage.d.ts.map +1 -0
  140. package/dist/mybodyshield/pages/ProviderPatientManagementPage.js +133 -0
  141. package/dist/mybodyshield/pages/ProviderPatientManagementPage.js.map +1 -0
  142. package/dist/mybodyshield/pages/ProviderPrescriptionsPage.d.ts +2 -0
  143. package/dist/mybodyshield/pages/ProviderPrescriptionsPage.d.ts.map +1 -0
  144. package/dist/mybodyshield/pages/ProviderPrescriptionsPage.js +138 -0
  145. package/dist/mybodyshield/pages/ProviderPrescriptionsPage.js.map +1 -0
  146. package/dist/mybodyshield/pages/ProviderReportsPage.d.ts +2 -0
  147. package/dist/mybodyshield/pages/ProviderReportsPage.d.ts.map +1 -0
  148. package/dist/mybodyshield/pages/ProviderReportsPage.js +149 -0
  149. package/dist/mybodyshield/pages/ProviderReportsPage.js.map +1 -0
  150. package/dist/mybodyshield/pages/SharedAppointmentsPage.d.ts +2 -0
  151. package/dist/mybodyshield/pages/SharedAppointmentsPage.d.ts.map +1 -0
  152. package/dist/mybodyshield/pages/SharedAppointmentsPage.js +129 -0
  153. package/dist/mybodyshield/pages/SharedAppointmentsPage.js.map +1 -0
  154. package/dist/mybodyshield/pages/SharedCommunityPage.d.ts +2 -0
  155. package/dist/mybodyshield/pages/SharedCommunityPage.d.ts.map +1 -0
  156. package/dist/mybodyshield/pages/SharedCommunityPage.js +152 -0
  157. package/dist/mybodyshield/pages/SharedCommunityPage.js.map +1 -0
  158. package/dist/mybodyshield/pages/SharedEmergencyAlertsPage.d.ts +2 -0
  159. package/dist/mybodyshield/pages/SharedEmergencyAlertsPage.d.ts.map +1 -0
  160. package/dist/mybodyshield/pages/SharedEmergencyAlertsPage.js +165 -0
  161. package/dist/mybodyshield/pages/SharedEmergencyAlertsPage.js.map +1 -0
  162. package/dist/mybodyshield/pages/SharedEmergencyPage.d.ts +2 -0
  163. package/dist/mybodyshield/pages/SharedEmergencyPage.d.ts.map +1 -0
  164. package/dist/mybodyshield/pages/SharedEmergencyPage.js +183 -0
  165. package/dist/mybodyshield/pages/SharedEmergencyPage.js.map +1 -0
  166. package/dist/mybodyshield/pages/SharedHealthAnalyticsPage.d.ts +2 -0
  167. package/dist/mybodyshield/pages/SharedHealthAnalyticsPage.d.ts.map +1 -0
  168. package/dist/mybodyshield/pages/SharedHealthAnalyticsPage.js +159 -0
  169. package/dist/mybodyshield/pages/SharedHealthAnalyticsPage.js.map +1 -0
  170. package/dist/mybodyshield/pages/SharedMarketplacePage.d.ts +2 -0
  171. package/dist/mybodyshield/pages/SharedMarketplacePage.d.ts.map +1 -0
  172. package/dist/mybodyshield/pages/SharedMarketplacePage.js +193 -0
  173. package/dist/mybodyshield/pages/SharedMarketplacePage.js.map +1 -0
  174. package/dist/mybodyshield/pages/SharedMessagesPage.d.ts +2 -0
  175. package/dist/mybodyshield/pages/SharedMessagesPage.d.ts.map +1 -0
  176. package/dist/mybodyshield/pages/SharedMessagesPage.js +156 -0
  177. package/dist/mybodyshield/pages/SharedMessagesPage.js.map +1 -0
  178. package/dist/mybodyshield/pages/WellnessAssessmentsPage.d.ts +2 -0
  179. package/dist/mybodyshield/pages/WellnessAssessmentsPage.d.ts.map +1 -0
  180. package/dist/mybodyshield/pages/WellnessAssessmentsPage.js +147 -0
  181. package/dist/mybodyshield/pages/WellnessAssessmentsPage.js.map +1 -0
  182. package/dist/mybodyshield/pages/WellnessClientsPage.d.ts +2 -0
  183. package/dist/mybodyshield/pages/WellnessClientsPage.d.ts.map +1 -0
  184. package/dist/mybodyshield/pages/WellnessClientsPage.js +182 -0
  185. package/dist/mybodyshield/pages/WellnessClientsPage.js.map +1 -0
  186. package/dist/mybodyshield/pages/WellnessDashboardPage.d.ts +2 -0
  187. package/dist/mybodyshield/pages/WellnessDashboardPage.d.ts.map +1 -0
  188. package/dist/mybodyshield/pages/WellnessDashboardPage.js +136 -0
  189. package/dist/mybodyshield/pages/WellnessDashboardPage.js.map +1 -0
  190. package/dist/mybodyshield/pages/WellnessProgramsPage.d.ts +2 -0
  191. package/dist/mybodyshield/pages/WellnessProgramsPage.d.ts.map +1 -0
  192. package/dist/mybodyshield/pages/WellnessProgramsPage.js +140 -0
  193. package/dist/mybodyshield/pages/WellnessProgramsPage.js.map +1 -0
  194. package/dist/mybodyshield/providers/MyBodyShieldProvider.d.ts +6 -0
  195. package/dist/mybodyshield/providers/MyBodyShieldProvider.d.ts.map +1 -0
  196. package/dist/mybodyshield/providers/MyBodyShieldProvider.js +27 -0
  197. package/dist/mybodyshield/providers/MyBodyShieldProvider.js.map +1 -0
  198. package/dist/mybodyshield/store/mybodyshieldStore.d.ts +197 -0
  199. package/dist/mybodyshield/store/mybodyshieldStore.d.ts.map +1 -0
  200. package/dist/mybodyshield/store/mybodyshieldStore.js +710 -0
  201. package/dist/mybodyshield/store/mybodyshieldStore.js.map +1 -0
  202. package/dist/mybodyshield/types/index.d.ts +51 -0
  203. package/dist/mybodyshield/types/index.d.ts.map +1 -0
  204. package/dist/mybodyshield/utils/cn.d.ts +4 -0
  205. package/dist/mybodyshield/utils/cn.d.ts.map +1 -0
  206. package/dist/mybodyshield/utils/navigation.d.ts +2 -0
  207. package/dist/mybodyshield/utils/navigation.d.ts.map +1 -0
  208. package/dist/mybodyshield/utils/navigation.js +8 -0
  209. package/dist/mybodyshield/utils/navigation.js.map +1 -0
  210. package/package.json +107 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mybodyshieldStore.js","names":[],"sources":["../../../src/mybodyshield/store/mybodyshieldStore.ts"],"sourcesContent":["import { create } from 'zustand';\n\n// ── Healthcare Domain Types ──────────────────────────────────────────\nexport interface Patient {\n id: string;\n firstName: string;\n lastName: string;\n dateOfBirth: string;\n gender: string;\n bloodType: string;\n allergies: string[];\n conditions: string[];\n emergencyContact: string;\n insuranceProvider: string;\n lastVisit: string;\n}\n\nexport interface Appointment {\n id: string;\n patientId: string;\n patientName: string;\n providerId: string;\n providerName: string;\n specialty: string;\n date: string;\n time: string;\n type: 'in-person' | 'telemedicine';\n status: 'confirmed' | 'pending' | 'completed' | 'cancelled';\n reason: string;\n location: string;\n}\n\nexport interface Medication {\n id: string;\n patientId: string;\n name: string;\n genericName: string;\n dosage: string;\n frequency: string;\n prescribedBy: string;\n startDate: string;\n endDate?: string;\n isActive: boolean;\n refillsRemaining: number;\n sideEffects: string[];\n}\n\nexport interface VitalSign {\n id: string;\n patientId: string;\n recordedAt: string;\n bloodPressureSystolic: number;\n bloodPressureDiastolic: number;\n heartRate: number;\n temperature: number;\n weight: number;\n oxygenSaturation: number;\n respiratoryRate: number;\n bmi: number;\n}\n\nexport interface LabResult {\n id: string;\n patientId: string;\n testName: string;\n testType: string;\n category: string;\n collectionDate: string;\n resultDate: string;\n status: 'normal' | 'abnormal' | 'critical' | 'pending';\n value: string;\n unit: string;\n referenceRange: string;\n orderedBy: string;\n}\n\nexport interface CarePlan {\n id: string;\n patientId: string;\n patientName: string;\n providerName: string;\n condition: string;\n status: 'active' | 'completed' | 'on-hold';\n startDate: string;\n progress: number;\n goals: Array<{ id: string; description: string; status: string; progress: number }>;\n treatments: Array<{ id: string; type: string; description: string; frequency: string }>;\n}\n\nexport interface Prescription {\n id: string;\n patientId: string;\n patientName: string;\n medicationName: string;\n dosage: string;\n frequency: string;\n prescribedBy: string;\n prescribedDate: string;\n expiryDate: string;\n status: 'active' | 'expired' | 'cancelled';\n refillsAllowed: number;\n refillsUsed: number;\n}\n\nexport interface FitnessMetric {\n id: string;\n userId: string;\n date: string;\n steps: number;\n caloriesBurned: number;\n activeMinutes: number;\n distanceKm: number;\n heartRateAvg: number;\n heartRateMax: number;\n sleepHours: number;\n waterIntakeMl: number;\n}\n\nexport interface WellnessProgram {\n id: string;\n name: string;\n description: string;\n category: string;\n duration: string;\n enrolledCount: number;\n rating: number;\n instructor: string;\n status: 'active' | 'upcoming' | 'completed';\n sessions: number;\n completedSessions: number;\n}\n\nexport interface HealthGoal {\n id: string;\n userId: string;\n title: string;\n category: string;\n targetValue: number;\n currentValue: number;\n unit: string;\n deadline: string;\n status: 'on-track' | 'behind' | 'completed' | 'not-started';\n}\n\nexport interface NutritionEntry {\n id: string;\n userId: string;\n date: string;\n meal: string;\n calories: number;\n protein: number;\n carbs: number;\n fat: number;\n fiber: number;\n}\n\nexport interface MentalHealthEntry {\n id: string;\n userId: string;\n date: string;\n mood: 'great' | 'good' | 'okay' | 'bad' | 'terrible';\n energy: number;\n stressLevel: number;\n sleepQuality: number;\n notes: string;\n activities: string[];\n}\n\nexport interface OverviewMetric {\n label: string;\n value: string;\n trend: string;\n}\n\nexport interface WorkItem {\n id: string;\n title: string;\n status: 'active' | 'planned' | 'at_risk' | 'completed';\n owner: string;\n updatedAt: string;\n}\n\n// ── Mock Data ────────────────────────────────────────────────────────\nconst mockPatients: Patient[] = [\n {\n id: 'p1',\n firstName: 'Sarah',\n lastName: 'Johnson',\n dateOfBirth: '1985-03-15',\n gender: 'Female',\n bloodType: 'A+',\n allergies: ['Penicillin', 'Latex'],\n conditions: ['Hypertension', 'Type 2 Diabetes'],\n emergencyContact: 'John Johnson - (555) 123-4567',\n insuranceProvider: 'BlueCross BlueShield',\n lastVisit: '2026-01-28',\n },\n {\n id: 'p2',\n firstName: 'Michael',\n lastName: 'Chen',\n dateOfBirth: '1972-08-22',\n gender: 'Male',\n bloodType: 'O-',\n allergies: ['Sulfa drugs'],\n conditions: ['Asthma', 'High Cholesterol'],\n emergencyContact: 'Lin Chen - (555) 234-5678',\n insuranceProvider: 'Aetna',\n lastVisit: '2026-02-03',\n },\n {\n id: 'p3',\n firstName: 'Emily',\n lastName: 'Davis',\n dateOfBirth: '1990-11-07',\n gender: 'Female',\n bloodType: 'B+',\n allergies: [],\n conditions: ['Anxiety', 'Migraine'],\n emergencyContact: 'Tom Davis - (555) 345-6789',\n insuranceProvider: 'United Healthcare',\n lastVisit: '2026-02-07',\n },\n {\n id: 'p4',\n firstName: 'Robert',\n lastName: 'Wilson',\n dateOfBirth: '1968-05-30',\n gender: 'Male',\n bloodType: 'AB+',\n allergies: ['Aspirin'],\n conditions: ['Arthritis', 'GERD'],\n emergencyContact: 'Mary Wilson - (555) 456-7890',\n insuranceProvider: 'Cigna',\n lastVisit: '2026-01-15',\n },\n {\n id: 'p5',\n firstName: 'Lisa',\n lastName: 'Thompson',\n dateOfBirth: '1995-09-18',\n gender: 'Female',\n bloodType: 'O+',\n allergies: ['Ibuprofen'],\n conditions: ['PCOS'],\n emergencyContact: 'Amy Thompson - (555) 567-8901',\n insuranceProvider: 'Humana',\n lastVisit: '2026-02-09',\n },\n];\n\nconst mockAppointments: Appointment[] = [\n {\n id: 'a1',\n patientId: 'p1',\n patientName: 'Sarah Johnson',\n providerId: 'dr1',\n providerName: 'Dr. James Wilson',\n specialty: 'Cardiology',\n date: '2026-02-12',\n time: '09:00',\n type: 'in-person',\n status: 'confirmed',\n reason: 'Blood pressure follow-up',\n location: 'Suite 201, Building A',\n },\n {\n id: 'a2',\n patientId: 'p2',\n patientName: 'Michael Chen',\n providerId: 'dr2',\n providerName: 'Dr. Emily Rodriguez',\n specialty: 'Pulmonology',\n date: '2026-02-12',\n time: '10:30',\n type: 'telemedicine',\n status: 'confirmed',\n reason: 'Asthma management',\n location: 'Virtual',\n },\n {\n id: 'a3',\n patientId: 'p3',\n patientName: 'Emily Davis',\n providerId: 'dr3',\n providerName: 'Dr. Sarah Kim',\n specialty: 'Psychiatry',\n date: '2026-02-13',\n time: '14:00',\n type: 'telemedicine',\n status: 'pending',\n reason: 'Anxiety assessment',\n location: 'Virtual',\n },\n {\n id: 'a4',\n patientId: 'p4',\n patientName: 'Robert Wilson',\n providerId: 'dr4',\n providerName: 'Dr. Michael Park',\n specialty: 'Rheumatology',\n date: '2026-02-14',\n time: '11:00',\n type: 'in-person',\n status: 'confirmed',\n reason: 'Joint pain review',\n location: 'Suite 305, Building B',\n },\n {\n id: 'a5',\n patientId: 'p5',\n patientName: 'Lisa Thompson',\n providerId: 'dr5',\n providerName: 'Dr. Amanda Lee',\n specialty: 'Endocrinology',\n date: '2026-02-15',\n time: '15:30',\n type: 'in-person',\n status: 'pending',\n reason: 'Hormonal evaluation',\n location: 'Suite 102, Building A',\n },\n];\n\nconst mockMedications: Medication[] = [\n {\n id: 'm1',\n patientId: 'p1',\n name: 'Lisinopril',\n genericName: 'Lisinopril',\n dosage: '10mg',\n frequency: 'Once daily',\n prescribedBy: 'Dr. James Wilson',\n startDate: '2025-06-01',\n isActive: true,\n refillsRemaining: 3,\n sideEffects: ['Dry cough', 'Dizziness'],\n },\n {\n id: 'm2',\n patientId: 'p1',\n name: 'Metformin',\n genericName: 'Metformin HCl',\n dosage: '500mg',\n frequency: 'Twice daily',\n prescribedBy: 'Dr. James Wilson',\n startDate: '2025-08-15',\n isActive: true,\n refillsRemaining: 5,\n sideEffects: ['Nausea', 'Diarrhea'],\n },\n {\n id: 'm3',\n patientId: 'p2',\n name: 'Albuterol',\n genericName: 'Albuterol Sulfate',\n dosage: '90mcg',\n frequency: 'As needed',\n prescribedBy: 'Dr. Emily Rodriguez',\n startDate: '2025-03-10',\n isActive: true,\n refillsRemaining: 2,\n sideEffects: ['Tremor', 'Rapid heartbeat'],\n },\n {\n id: 'm4',\n patientId: 'p3',\n name: 'Sertraline',\n genericName: 'Sertraline HCl',\n dosage: '50mg',\n frequency: 'Once daily',\n prescribedBy: 'Dr. Sarah Kim',\n startDate: '2025-11-01',\n isActive: true,\n refillsRemaining: 4,\n sideEffects: ['Insomnia', 'Dry mouth'],\n },\n {\n id: 'm5',\n patientId: 'p2',\n name: 'Atorvastatin',\n genericName: 'Atorvastatin Calcium',\n dosage: '20mg',\n frequency: 'Once daily',\n prescribedBy: 'Dr. Emily Rodriguez',\n startDate: '2025-05-20',\n isActive: true,\n refillsRemaining: 6,\n sideEffects: ['Muscle pain', 'Headache'],\n },\n];\n\nconst mockVitalSigns: VitalSign[] = [\n {\n id: 'v1',\n patientId: 'p1',\n recordedAt: '2026-02-10T09:00:00Z',\n bloodPressureSystolic: 128,\n bloodPressureDiastolic: 82,\n heartRate: 72,\n temperature: 98.6,\n weight: 68.5,\n oxygenSaturation: 98,\n respiratoryRate: 16,\n bmi: 24.2,\n },\n {\n id: 'v2',\n patientId: 'p1',\n recordedAt: '2026-02-03T09:00:00Z',\n bloodPressureSystolic: 132,\n bloodPressureDiastolic: 85,\n heartRate: 75,\n temperature: 98.4,\n weight: 69.0,\n oxygenSaturation: 97,\n respiratoryRate: 17,\n bmi: 24.4,\n },\n {\n id: 'v3',\n patientId: 'p2',\n recordedAt: '2026-02-08T10:30:00Z',\n bloodPressureSystolic: 118,\n bloodPressureDiastolic: 76,\n heartRate: 68,\n temperature: 98.2,\n weight: 82.3,\n oxygenSaturation: 96,\n respiratoryRate: 18,\n bmi: 26.1,\n },\n {\n id: 'v4',\n patientId: 'p3',\n recordedAt: '2026-02-07T14:00:00Z',\n bloodPressureSystolic: 112,\n bloodPressureDiastolic: 70,\n heartRate: 80,\n temperature: 98.7,\n weight: 58.2,\n oxygenSaturation: 99,\n respiratoryRate: 15,\n bmi: 21.8,\n },\n];\n\nconst mockLabResults: LabResult[] = [\n {\n id: 'l1',\n patientId: 'p1',\n testName: 'Complete Blood Count',\n testType: 'CBC',\n category: 'Hematology',\n collectionDate: '2026-02-05',\n resultDate: '2026-02-06',\n status: 'normal',\n value: '5.2',\n unit: 'K/uL',\n referenceRange: '4.0-11.0',\n orderedBy: 'Dr. James Wilson',\n },\n {\n id: 'l2',\n patientId: 'p1',\n testName: 'Hemoglobin A1C',\n testType: 'HbA1c',\n category: 'Chemistry',\n collectionDate: '2026-02-05',\n resultDate: '2026-02-06',\n status: 'abnormal',\n value: '7.2',\n unit: '%',\n referenceRange: '< 5.7',\n orderedBy: 'Dr. James Wilson',\n },\n {\n id: 'l3',\n patientId: 'p2',\n testName: 'Lipid Panel',\n testType: 'LIPID',\n category: 'Chemistry',\n collectionDate: '2026-02-03',\n resultDate: '2026-02-04',\n status: 'abnormal',\n value: '245',\n unit: 'mg/dL',\n referenceRange: '< 200',\n orderedBy: 'Dr. Emily Rodriguez',\n },\n {\n id: 'l4',\n patientId: 'p3',\n testName: 'Thyroid Panel',\n testType: 'TSH',\n category: 'Endocrinology',\n collectionDate: '2026-02-07',\n resultDate: '2026-02-08',\n status: 'normal',\n value: '2.1',\n unit: 'mIU/L',\n referenceRange: '0.5-4.5',\n orderedBy: 'Dr. Sarah Kim',\n },\n {\n id: 'l5',\n patientId: 'p4',\n testName: 'Metabolic Panel',\n testType: 'CMP',\n category: 'Chemistry',\n collectionDate: '2026-02-01',\n resultDate: '2026-02-02',\n status: 'normal',\n value: '95',\n unit: 'mg/dL',\n referenceRange: '70-100',\n orderedBy: 'Dr. Michael Park',\n },\n];\n\nconst mockCarePlans: CarePlan[] = [\n {\n id: 'cp1',\n patientId: 'p1',\n patientName: 'Sarah Johnson',\n providerName: 'Dr. James Wilson',\n condition: 'Hypertension & Diabetes Management',\n status: 'active',\n startDate: '2025-06-01',\n progress: 65,\n goals: [\n { id: 'g1', description: 'Reduce A1C to below 6.5%', status: 'in-progress', progress: 60 },\n { id: 'g2', description: 'Maintain BP below 130/80', status: 'in-progress', progress: 70 },\n ],\n treatments: [\n { id: 't1', type: 'Medication', description: 'Lisinopril + Metformin', frequency: 'Daily' },\n { id: 't2', type: 'Lifestyle', description: 'Low-sodium DASH diet', frequency: 'Ongoing' },\n ],\n },\n {\n id: 'cp2',\n patientId: 'p2',\n patientName: 'Michael Chen',\n providerName: 'Dr. Emily Rodriguez',\n condition: 'Asthma & Cholesterol Management',\n status: 'active',\n startDate: '2025-03-10',\n progress: 45,\n goals: [\n {\n id: 'g3',\n description: 'Reduce LDL to below 130 mg/dL',\n status: 'in-progress',\n progress: 40,\n },\n {\n id: 'g4',\n description: 'Zero asthma attacks per month',\n status: 'in-progress',\n progress: 50,\n },\n ],\n treatments: [\n {\n id: 't3',\n type: 'Medication',\n description: 'Atorvastatin + Albuterol PRN',\n frequency: 'Daily / As needed',\n },\n ],\n },\n];\n\nconst mockPrescriptions: Prescription[] = [\n {\n id: 'rx1',\n patientId: 'p1',\n patientName: 'Sarah Johnson',\n medicationName: 'Lisinopril 10mg',\n dosage: '10mg',\n frequency: 'Once daily',\n prescribedBy: 'Dr. James Wilson',\n prescribedDate: '2025-06-01',\n expiryDate: '2026-06-01',\n status: 'active',\n refillsAllowed: 6,\n refillsUsed: 3,\n },\n {\n id: 'rx2',\n patientId: 'p1',\n patientName: 'Sarah Johnson',\n medicationName: 'Metformin 500mg',\n dosage: '500mg',\n frequency: 'Twice daily',\n prescribedBy: 'Dr. James Wilson',\n prescribedDate: '2025-08-15',\n expiryDate: '2026-08-15',\n status: 'active',\n refillsAllowed: 12,\n refillsUsed: 5,\n },\n {\n id: 'rx3',\n patientId: 'p3',\n patientName: 'Emily Davis',\n medicationName: 'Sertraline 50mg',\n dosage: '50mg',\n frequency: 'Once daily',\n prescribedBy: 'Dr. Sarah Kim',\n prescribedDate: '2025-11-01',\n expiryDate: '2026-11-01',\n status: 'active',\n refillsAllowed: 12,\n refillsUsed: 3,\n },\n];\n\nconst mockFitnessMetrics: FitnessMetric[] = [\n {\n id: 'f1',\n userId: 'p1',\n date: '2026-02-10',\n steps: 8432,\n caloriesBurned: 2150,\n activeMinutes: 45,\n distanceKm: 6.2,\n heartRateAvg: 72,\n heartRateMax: 142,\n sleepHours: 7.5,\n waterIntakeMl: 2400,\n },\n {\n id: 'f2',\n userId: 'p1',\n date: '2026-02-09',\n steps: 10256,\n caloriesBurned: 2380,\n activeMinutes: 62,\n distanceKm: 7.8,\n heartRateAvg: 75,\n heartRateMax: 155,\n sleepHours: 8.0,\n waterIntakeMl: 2800,\n },\n {\n id: 'f3',\n userId: 'p1',\n date: '2026-02-08',\n steps: 6890,\n caloriesBurned: 1920,\n activeMinutes: 30,\n distanceKm: 5.1,\n heartRateAvg: 70,\n heartRateMax: 128,\n sleepHours: 6.5,\n waterIntakeMl: 2000,\n },\n];\n\nconst mockWellnessPrograms: WellnessProgram[] = [\n {\n id: 'wp1',\n name: 'Mindful Living 8-Week Program',\n description: 'Comprehensive mindfulness and stress reduction',\n category: 'Mental Wellness',\n duration: '8 weeks',\n enrolledCount: 156,\n rating: 4.8,\n instructor: 'Dr. Lisa Chen',\n status: 'active',\n sessions: 24,\n completedSessions: 12,\n },\n {\n id: 'wp2',\n name: 'Heart-Healthy Lifestyle',\n description: 'Cardiovascular wellness through diet and exercise',\n category: 'Cardiac Wellness',\n duration: '12 weeks',\n enrolledCount: 89,\n rating: 4.6,\n instructor: 'Coach James Miller',\n status: 'active',\n sessions: 36,\n completedSessions: 8,\n },\n {\n id: 'wp3',\n name: 'Diabetes Prevention Program',\n description: 'Evidence-based lifestyle change program',\n category: 'Metabolic Health',\n duration: '16 weeks',\n enrolledCount: 234,\n rating: 4.9,\n instructor: 'Nurse Maria Santos',\n status: 'active',\n sessions: 16,\n completedSessions: 4,\n },\n];\n\nconst mockHealthGoals: HealthGoal[] = [\n {\n id: 'hg1',\n userId: 'p1',\n title: 'Daily Steps Goal',\n category: 'Fitness',\n targetValue: 10000,\n currentValue: 8432,\n unit: 'steps',\n deadline: '2026-12-31',\n status: 'on-track',\n },\n {\n id: 'hg2',\n userId: 'p1',\n title: 'Weight Loss Target',\n category: 'Weight',\n targetValue: 65,\n currentValue: 68.5,\n unit: 'kg',\n deadline: '2026-06-30',\n status: 'on-track',\n },\n {\n id: 'hg3',\n userId: 'p1',\n title: 'Lower Blood Pressure',\n category: 'Vitals',\n targetValue: 120,\n currentValue: 128,\n unit: 'mmHg',\n deadline: '2026-06-30',\n status: 'behind',\n },\n {\n id: 'hg4',\n userId: 'p1',\n title: 'Reduce A1C',\n category: 'Lab',\n targetValue: 6.5,\n currentValue: 7.2,\n unit: '%',\n deadline: '2026-09-30',\n status: 'behind',\n },\n];\n\nconst mockNutritionEntries: NutritionEntry[] = [\n {\n id: 'n1',\n userId: 'p1',\n date: '2026-02-10',\n meal: 'Breakfast',\n calories: 420,\n protein: 22,\n carbs: 48,\n fat: 16,\n fiber: 8,\n },\n {\n id: 'n2',\n userId: 'p1',\n date: '2026-02-10',\n meal: 'Lunch',\n calories: 650,\n protein: 35,\n carbs: 62,\n fat: 28,\n fiber: 12,\n },\n {\n id: 'n3',\n userId: 'p1',\n date: '2026-02-10',\n meal: 'Dinner',\n calories: 580,\n protein: 40,\n carbs: 45,\n fat: 24,\n fiber: 10,\n },\n {\n id: 'n4',\n userId: 'p1',\n date: '2026-02-10',\n meal: 'Snacks',\n calories: 250,\n protein: 8,\n carbs: 30,\n fat: 12,\n fiber: 4,\n },\n];\n\nconst mockMentalHealthEntries: MentalHealthEntry[] = [\n {\n id: 'mh1',\n userId: 'p1',\n date: '2026-02-10',\n mood: 'good',\n energy: 7,\n stressLevel: 4,\n sleepQuality: 8,\n notes: 'Productive day, morning walk helped',\n activities: ['Walking', 'Meditation', 'Reading'],\n },\n {\n id: 'mh2',\n userId: 'p1',\n date: '2026-02-09',\n mood: 'great',\n energy: 8,\n stressLevel: 3,\n sleepQuality: 9,\n notes: 'Great sleep, feeling energized',\n activities: ['Yoga', 'Journaling'],\n },\n {\n id: 'mh3',\n userId: 'p1',\n date: '2026-02-08',\n mood: 'okay',\n energy: 5,\n stressLevel: 6,\n sleepQuality: 6,\n notes: 'Work stress, tried breathing exercises',\n activities: ['Deep breathing'],\n },\n];\n\n// ── Store Interface ─────────────────────────────────────────────────\ninterface MyBodyShieldState {\n // Core data\n metrics: OverviewMetric[];\n workItems: WorkItem[];\n selectedView: string;\n\n // Healthcare domain data\n patients: Patient[];\n appointments: Appointment[];\n medications: Medication[];\n vitalSigns: VitalSign[];\n labResults: LabResult[];\n carePlans: CarePlan[];\n prescriptions: Prescription[];\n fitnessMetrics: FitnessMetric[];\n wellnessPrograms: WellnessProgram[];\n healthGoals: HealthGoal[];\n nutritionEntries: NutritionEntry[];\n mentalHealthEntries: MentalHealthEntry[];\n\n // Actions\n setSelectedView: (view: string) => void;\n setWorkItems: (items: WorkItem[]) => void;\n}\n\n// ── Zustand Store ───────────────────────────────────────────────────\nexport const useMyBodyShieldStore = create<MyBodyShieldState>((set) => ({\n metrics: [\n { label: 'Active Patients', value: '2,310', trend: '+15.3%' },\n { label: 'Appointments Today', value: '58', trend: '+8.2%' },\n { label: 'Prescriptions Active', value: '1,247', trend: '+4.1%' },\n { label: 'Health Score Avg', value: '82/100', trend: '+2.8%' },\n ],\n workItems: [\n {\n id: 'w1',\n title: 'Patient vitals monitoring alert review',\n status: 'active',\n owner: 'Clinical Team',\n updatedAt: '2h ago',\n },\n {\n id: 'w2',\n title: 'Quarterly wellness program enrollment',\n status: 'planned',\n owner: 'Wellness Dept',\n updatedAt: '5h ago',\n },\n {\n id: 'w3',\n title: 'Lab result abnormal flags pending review',\n status: 'at_risk',\n owner: 'Pathology',\n updatedAt: '1d ago',\n },\n {\n id: 'w4',\n title: 'HIPAA compliance audit completed',\n status: 'completed',\n owner: 'Compliance',\n updatedAt: '2d ago',\n },\n ],\n selectedView: 'overview',\n\n patients: mockPatients,\n appointments: mockAppointments,\n medications: mockMedications,\n vitalSigns: mockVitalSigns,\n labResults: mockLabResults,\n carePlans: mockCarePlans,\n prescriptions: mockPrescriptions,\n fitnessMetrics: mockFitnessMetrics,\n wellnessPrograms: mockWellnessPrograms,\n healthGoals: mockHealthGoals,\n nutritionEntries: mockNutritionEntries,\n mentalHealthEntries: mockMentalHealthEntries,\n\n setSelectedView: (view) => set({ selectedView: view }),\n setWorkItems: (items) => set({ workItems: items }),\n}));\n"],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface NavItem {
4
+ id: string;
5
+ label: string;
6
+ path: string;
7
+ icon?: React.ReactNode;
8
+ order?: number;
9
+ group?: string;
10
+ children?: NavItem[];
11
+ }
12
+ export interface FooterItem {
13
+ id: string;
14
+ label: string;
15
+ type: 'status' | 'action';
16
+ order?: number;
17
+ section: 'left' | 'center' | 'right';
18
+ }
19
+ export interface MyBodyShieldRootProps {
20
+ basePath?: string;
21
+ workspaceId?: string;
22
+ tenantId?: string;
23
+ apiGatewayUrl?: string;
24
+ authToken?: string;
25
+ navigate?: (path: string) => void;
26
+ currentUser?: {
27
+ id: string;
28
+ email: string;
29
+ firstName?: string;
30
+ lastName?: string;
31
+ avatar?: string;
32
+ username?: string;
33
+ name?: string;
34
+ role?: string;
35
+ } | null;
36
+ registerNavItems?: (items: NavItem | NavItem[]) => () => void;
37
+ registerFooterItems?: (items: FooterItem | FooterItem[]) => () => void;
38
+ }
39
+ export interface OverviewMetric {
40
+ label: string;
41
+ value: string;
42
+ trend: string;
43
+ }
44
+ export interface WorkItem {
45
+ id: string;
46
+ title: string;
47
+ status: 'active' | 'planned' | 'at_risk' | 'completed';
48
+ owner: string;
49
+ updatedAt: string;
50
+ }
51
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mybodyshield/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,IAAI,CAAC;IACT,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,KAAK,MAAM,IAAI,CAAC;IAC9D,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,KAAK,MAAM,IAAI,CAAC;CACxE;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,4 @@
1
+ import { ClassValue } from 'clsx';
2
+
3
+ export declare function cn(...inputs: ClassValue[]): string;
4
+ //# sourceMappingURL=cn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../../../src/mybodyshield/utils/cn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
@@ -0,0 +1,2 @@
1
+ export declare function joinPath(basePath: string, relativePath: string): string;
2
+ //# sourceMappingURL=navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/mybodyshield/utils/navigation.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAIvE"}
@@ -0,0 +1,8 @@
1
+ //#region src/mybodyshield/utils/navigation.ts
2
+ function e(e, t) {
3
+ return (e.endsWith("/") ? e.slice(0, -1) : e) + (t.startsWith("/") ? t : `/${t}`);
4
+ }
5
+ //#endregion
6
+ export { e as joinPath };
7
+
8
+ //# sourceMappingURL=navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.js","names":[],"sources":["../../../src/mybodyshield/utils/navigation.ts"],"sourcesContent":["export function joinPath(basePath: string, relativePath: string): string {\n const cleanBase = basePath.endsWith('/') ? basePath.slice(0, -1) : basePath;\n const cleanPath = relativePath.startsWith('/') ? relativePath : `/${relativePath}`;\n return cleanBase + cleanPath;\n}\n"],"mappings":";AAAA,SAAgB,EAAS,GAAkB,GAA8B;AAGvE,SAFkB,EAAS,SAAS,IAAI,GAAG,EAAS,MAAM,GAAG,GAAG,GAAG,MACjD,EAAa,WAAW,IAAI,GAAG,IAAe,IAAI"}
package/package.json ADDED
@@ -0,0 +1,107 @@
1
+ {
2
+ "name": "@burdenoff/microfe-mybodyshield",
3
+ "version": "2026.511.1",
4
+ "description": "Burdenoff MyBodyShield Microfrontend",
5
+ "type": "module",
6
+ "files": [
7
+ "dist",
8
+ "package.json",
9
+ "README.md"
10
+ ],
11
+ "imports": {
12
+ "#src/*": "./src/*",
13
+ "#mybodyshield/*": "./src/mybodyshield/*"
14
+ },
15
+ "exports": {
16
+ ".": {
17
+ "types": "./dist/index.d.ts",
18
+ "import": "./dist/index.js"
19
+ }
20
+ },
21
+ "main": "./dist/index.js",
22
+ "types": "./dist/index.d.ts",
23
+ "scripts": {
24
+ "dev": "vite",
25
+ "build": "tsc && vite build",
26
+ "lint": "eslint .",
27
+ "format": "prettier --write \"src/**/*.{ts,tsx}\"",
28
+ "type:check": "tsc --noEmit",
29
+ "sanity": "bun run codegen && bun run lint && bun run format && bun run type:check && bun run build",
30
+ "schema:pull": "graphql-codegen --project schema-wspace && graphql-codegen --project schema-global",
31
+ "codegen": "graphql-codegen --project wspace && graphql-codegen --project global",
32
+ "codegen:all": "bun run schema:pull && bun run codegen",
33
+ "switch:status": "bun scripts/deps-mode.ts status",
34
+ "switch:remote": "bun scripts/deps-mode.ts remote",
35
+ "switch:local": "bun scripts/deps-mode.ts local",
36
+ "switch:check": "bun scripts/deps-mode.ts check",
37
+ "prepare": "lefthook install || true",
38
+ "format:check": "prettier --check \"src/**/*.{ts,tsx}\""
39
+ },
40
+ "dependencies": {
41
+ "@apollo/client": "^4.0.11",
42
+ "@burdenoff/fe-libs": "2026.511.2",
43
+ "@tanstack/react-query": "^5.90.16",
44
+ "clsx": "^2.1.1",
45
+ "graphql": "^16.10.0",
46
+ "lucide-react": "^0.468.0",
47
+ "react": "^19.0.0",
48
+ "react-dom": "^19.0.0",
49
+ "react-router-dom": "^7.1.3",
50
+ "tailwind-merge": "^3.4.0",
51
+ "zustand": "^5.0.3",
52
+ "recharts": "^2.15.0",
53
+ "framer-motion": "^12.0.0"
54
+ },
55
+ "devDependencies": {
56
+ "@eslint/js": "^9.39.2",
57
+ "@graphql-codegen/add": "^5.0.0",
58
+ "@graphql-codegen/cli": "^5.0.0",
59
+ "@graphql-codegen/import-types-preset": "^3.0.0",
60
+ "@graphql-codegen/schema-ast": "^4.0.0",
61
+ "@graphql-codegen/typescript": "^4.0.0",
62
+ "@graphql-codegen/typescript-operations": "^4.0.0",
63
+ "@graphql-codegen/typescript-react-apollo": "^4.0.0",
64
+ "@types/react": "^19.0.2",
65
+ "@types/react-dom": "^19.0.2",
66
+ "@vitejs/plugin-react": "^4.3.4",
67
+ "autoprefixer": "^10.4.20",
68
+ "eslint": "^9.18.0",
69
+ "eslint-plugin-react": "^7.37.5",
70
+ "eslint-plugin-react-hooks": "^7.0.1",
71
+ "eslint-plugin-react-refresh": "^0.4.26",
72
+ "lefthook": "^2.1.1",
73
+ "postcss": "^8.4.49",
74
+ "prettier": "^3.4.2",
75
+ "tailwindcss": "^4.0.0",
76
+ "typescript": "^5.9.0",
77
+ "typescript-eslint": "^8.54.0",
78
+ "vite": "8.0.8",
79
+ "vite-plugin-dts": "3.9.1"
80
+ },
81
+ "peerDependencies": {
82
+ "@apollo/client": "^4.0.11",
83
+ "react": "^19.0.0",
84
+ "react-dom": "^19.0.0",
85
+ "zustand": "^5.0.0"
86
+ },
87
+ "publishConfig": {
88
+ "access": "restricted"
89
+ },
90
+ "overrides": {
91
+ "lodash": ">=4.17.21",
92
+ "lodash-es": ">=4.17.21",
93
+ "dompurify": ">=3.3.4",
94
+ "fast-xml-parser": ">=4.5.5",
95
+ "@xmldom/xmldom": ">=0.8.12",
96
+ "swiper": ">=12.1.2",
97
+ "brace-expansion": ">=1.1.13",
98
+ "follow-redirects": ">=1.15.12",
99
+ "smol-toml": ">=1.6.1",
100
+ "axios": ">=1.15.0",
101
+ "flatted": ">=3.4.1",
102
+ "yaml": ">=2.8.3",
103
+ "picomatch": ">=2.3.2",
104
+ "immutable": ">=3.8.3",
105
+ "minimatch": ">=3.1.3"
106
+ }
107
+ }