@sency/react-native-smkit-ui 0.2.0 → 0.2.2

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.
@@ -93,7 +93,7 @@ dependencies {
93
93
  implementation "com.facebook.react:react-native:+"
94
94
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
95
95
 
96
- implementation("com.sency.smkitui:smkitui:0.1.9") {
96
+ implementation("com.sency.smkitui:smkitui:0.2.0") {
97
97
  exclude group: 'com.facebook.fbjni', module: 'fbjni-java-only'
98
98
  }
99
99
 
@@ -9,7 +9,6 @@ import com.sency.smkitui.SMKitUI
9
9
  import com.sency.smkitui.listener.SMKitUIConfigurationListener
10
10
  import com.sency.smkitui.listener.SMKitUIWorkoutListener
11
11
  import com.sency.smkitui.model.ExerciseData
12
- import com.sency.smkitui.model.SMWorkout
13
12
  import com.sency.smkitui.model.WorkoutSummaryData
14
13
  import com.sency.smkitui.model.smkitui.Body360
15
14
  import com.sency.smkitui.model.smkitui.Custom
@@ -18,6 +17,8 @@ import com.smkituilibrary.mapper.toSMWorkout
18
17
  import com.smkituilibrary.mapper.toWorkoutConfig
19
18
  import com.smkituilibrary.model.SMKitWorkout
20
19
  import com.smkituilibrary.model.SMKitWorkoutConfig
20
+ import com.smkituilibrary.model.SMUserData
21
+ import com.smkituilibrary.model.toUserData
21
22
  import com.squareup.moshi.Moshi
22
23
  import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
23
24
 
@@ -66,15 +67,30 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
66
67
  }
67
68
 
68
69
  @ReactMethod
69
- fun startAssessment(type: String, showSummary: Boolean, customAssessmentId: String, promise: Promise) {
70
+ fun startAssessment(
71
+ type: String,
72
+ showSummary: Boolean,
73
+ userData: String,
74
+ forceShowUserDataScreen: Boolean,
75
+ customAssessmentId: String,
76
+ promise: Promise) {
70
77
  this.resultPromise = promise
78
+
71
79
  try {
72
80
  val assessmentType = when (type) {
73
81
  "fitness" -> Fitness
74
82
  "body360" -> Body360
75
83
  else -> Custom(customAssessmentId)
76
84
  }
77
- smKitUI?.startAssessment(listener = listener, assessmentType = assessmentType, userData = null)
85
+
86
+ val user = if(forceShowUserDataScreen) null else {
87
+ serializeUserData(userData)
88
+ }
89
+ smKitUI?.startAssessment(
90
+ listener = listener,
91
+ assessmentType = assessmentType,
92
+ userData = user
93
+ )
78
94
  } catch (e: Exception) {
79
95
  promise.reject("Starting Assessment Failed", e)
80
96
  }
@@ -105,6 +121,9 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
105
121
  private fun serializeWorkout(jsonArguments: String) =
106
122
  moshi.adapter(SMKitWorkout::class.java).fromJson(jsonArguments)?.toSMWorkout()
107
123
 
124
+ private fun serializeUserData(jsonArguments: String) =
125
+ moshi.adapter(SMUserData::class.java).fromJson(jsonArguments)?.toUserData()
126
+
108
127
 
109
128
  @ReactMethod
110
129
  fun startWorkoutProgram(jsonArguments: String, promise: Promise) {
@@ -46,7 +46,9 @@ private fun SMKitExercise.toSMExercise(): SMExercise = SMExercise(
46
46
  scoringParams = scoringParams?.toParams(),
47
47
  summaryTitle = "",
48
48
  summarySubTitle = "",
49
- summaryTitleMainMetric = ""
49
+ summaryTitleMainMetric = "",
50
+ summarySubTitleMainMetric = "",
51
+ side = null
50
52
  )
51
53
 
52
54
  private fun SMKitScoringParams.toParams(): ScoringParams {
@@ -0,0 +1,17 @@
1
+ package com.smkituilibrary.model
2
+
3
+ import com.sency.smkitui.model.Gender
4
+ import com.sency.smkitui.model.UserData
5
+
6
+ data class SMUserData(
7
+ val gender: String,
8
+ val age: Int,
9
+ )
10
+
11
+ fun SMUserData.toUserData() : UserData {
12
+ val g = when(gender) {
13
+ "Female" -> Gender.Female
14
+ else -> Gender.Male
15
+ }
16
+ return UserData(age, g)
17
+ }
@@ -3,8 +3,8 @@
3
3
 
4
4
  @interface RCT_EXTERN_MODULE(SMKitUIManager, RCTViewManager)
5
5
  RCT_EXTERN_METHOD(configure:(NSString*)key onSuccess:(RCTPromiseResolveBlock)onSuccess onFailure:(RCTPromiseRejectBlock)onFailure)
6
- RCT_EXTERN_METHOD(startAssessment:(NSString*)type showSummary:(BOOL)showSummary customAssessmentID:(NSString*)customAssessmentID onWorkoutDidFinish:(RCTPromiseResolveBlock)onWorkoutDidFinish onWorkoutFailed:(RCTPromiseRejectBlock)onWorkoutFailed)
6
+ RCT_EXTERN_METHOD(startAssessment:(NSString*)type showSummary:(BOOL)showSummary userData:(NSString*)userData forceShowUserDataScreen:(BOOL)forceShowUserDataScreen customAssessmentID:(NSString*)customAssessmentID onWorkoutDidFinish:(RCTPromiseResolveBlock)onWorkoutDidFinish onWorkoutFailed:(RCTPromiseRejectBlock)onWorkoutFailed)
7
7
  RCT_EXTERN_METHOD(startCustomWorkout:(NSString*)rawJson onWorkoutDidFinish:(RCTPromiseResolveBlock)onWorkoutDidFinish onWorkoutFailed:(RCTPromiseRejectBlock)onWorkoutFailed)
8
- RCT_EXTERN_METHOD(startCustomAssessment:(NSString*)rawJson onWorkoutDidFinish:(RCTPromiseResolveBlock)onWorkoutDidFinish onWorkoutFailed:(RCTPromiseRejectBlock)onWorkoutFailed)
8
+ RCT_EXTERN_METHOD(startCustomAssessment:(NSString*)rawJson userData:(NSString*)userData forceShowUserDataScreen:(BOOL)forceShowUserDataScreen showSummary:(BOOL)showSummary onWorkoutDidFinish:(RCTPromiseResolveBlock)onWorkoutDidFinish onWorkoutFailed:(RCTPromiseRejectBlock)onWorkoutFailed)
9
9
  RCT_EXTERN_METHOD(startWorkoutProgram:(NSString*)dic onWorkoutDidFinish:(RCTPromiseResolveBlock)onWorkoutDidFinish onWorkoutFailed:(RCTPromiseRejectBlock)onWorkoutFailed)
10
10
  @end
@@ -36,8 +36,8 @@ class SMKitUIManager: RCTViewManager {
36
36
  }
37
37
  }
38
38
 
39
- @objc(startAssessment:showSummary:customAssessmentID:onWorkoutDidFinish:onWorkoutFailed:)
40
- func startAssessment(type:NSString, showSummary:Bool, customAssessmentID:String?, onWorkoutDidFinish: @escaping RCTPromiseResolveBlock, onWorkoutFailed:@escaping RCTPromiseRejectBlock){
39
+ @objc(startAssessment:showSummary:userData:forceShowUserDataScreen:customAssessmentID:onWorkoutDidFinish:onWorkoutFailed:)
40
+ func startAssessment(type:NSString, showSummary:Bool, userData:NSString?, forceShowUserDataScreen:Bool, customAssessmentID:String?, onWorkoutDidFinish: @escaping RCTPromiseResolveBlock, onWorkoutFailed:@escaping RCTPromiseRejectBlock){
41
41
  DispatchQueue.main.async {[weak self] in
42
42
 
43
43
  guard let self = self,
@@ -48,9 +48,18 @@ class SMKitUIManager: RCTViewManager {
48
48
 
49
49
  self.onWorkoutDidFinish = onWorkoutDidFinish
50
50
  self.onWorkoutFailed = onWorkoutFailed
51
+
51
52
  do{
53
+ let userData = try self.getUserData(rawJson: userData)
52
54
  if let type = AssessmentTypes(rawValue: "\(type)"){
53
- try SMKitUIModel.startAssessmet(viewController: smkitUIViewController, type: type, customAssessmentID:customAssessmentID == "" ? nil : customAssessmentID, showSummary: showSummary, delegate: self){error in
55
+ try SMKitUIModel.startAssessmet(
56
+ viewController: smkitUIViewController,
57
+ type: type,
58
+ customAssessmentID:customAssessmentID == "" ? nil : customAssessmentID,
59
+ userData: userData,
60
+ forceShowUserDataScreen: forceShowUserDataScreen,
61
+ showSummary: showSummary,
62
+ delegate: self){error in
54
63
  onWorkoutFailed("StartAssessment Failed", error.localizedDescription, error)
55
64
  }
56
65
  }else{
@@ -83,8 +92,8 @@ class SMKitUIManager: RCTViewManager {
83
92
  }
84
93
  }
85
94
 
86
- @objc(startCustomAssessment:onWorkoutDidFinish:onWorkoutFailed:)
87
- func startCustomAssessment(rawJson:String, onWorkoutDidFinish: @escaping RCTPromiseResolveBlock, onWorkoutFailed:@escaping RCTPromiseRejectBlock){
95
+ @objc(startCustomAssessment:userData:forceShowUserDataScreen:showSummary:onWorkoutDidFinish:onWorkoutFailed:)
96
+ func startCustomAssessment(rawJson:String, userData:NSString?, forceShowUserDataScreen:Bool, showSummary:Bool, onWorkoutDidFinish: @escaping RCTPromiseResolveBlock, onWorkoutFailed:@escaping RCTPromiseRejectBlock){
88
97
  DispatchQueue.main.async { [weak self] in
89
98
  guard let self = self,
90
99
  let smkitUIViewController = smkitUIViewController else {
@@ -93,10 +102,12 @@ class SMKitUIManager: RCTViewManager {
93
102
  }
94
103
  self.onWorkoutDidFinish = onWorkoutDidFinish
95
104
  self.onWorkoutFailed = onWorkoutFailed
105
+
96
106
  do{
107
+ let userData = try self.getUserData(rawJson: userData)
97
108
  let json = try stringJsonToDic(stringJSON: rawJson)
98
- let assessment = try SMWorkout(FromJson: json)
99
- try SMKitUIModel.startCustomAssessment(viewController: smkitUIViewController, assessment: assessment, delegate: self) { error in
109
+ let assessment = try SMWorkoutAssessmet.initFromJSON(json)
110
+ try SMKitUIModel.startCustomAssessment(viewController: smkitUIViewController, assessment: assessment, userData:userData, forceShowUserDataScreen: forceShowUserDataScreen, showSummary: showSummary, delegate: self) { error in
100
111
  onWorkoutFailed("startCustomAssessment Failed", error.localizedDescription, error)
101
112
  }
102
113
  }catch{
@@ -154,6 +165,28 @@ class SMKitUIManager: RCTViewManager {
154
165
  override class func requiresMainQueueSetup() -> Bool {
155
166
  true
156
167
  }
168
+
169
+ func getUserData(rawJson:NSString?) throws -> UserData?{
170
+ guard let rawJson = rawJson as? String else { return nil }
171
+ let json = try stringJsonToDic(stringJSON: rawJson)
172
+ return UserData(
173
+ gender: Gender(rawValue: json["gender"] as? String ?? "") ?? .Female,
174
+ birthday: getBirthdayDate(from: json["age"] as? Int ?? 0) ?? Date()
175
+ )
176
+ }
177
+
178
+ func getBirthdayDate(from age: Int) -> Date? {
179
+ // Create a date components instance to subtract years
180
+ var dateComponents = DateComponents()
181
+ dateComponents.year = -age
182
+
183
+ // Use the current calendar and current date to calculate the birth date
184
+ let calendar = Calendar.current
185
+ if let birthDate = calendar.date(byAdding: dateComponents, to: Date()) {
186
+ return birthDate
187
+ }
188
+ return nil
189
+ }
157
190
  }
158
191
 
159
192
  extension SMKitUIManager:SMKitUIWorkoutDelegate{
@@ -199,3 +232,26 @@ extension WorkoutSummaryData{
199
232
  return String(data: jsonData, encoding: String.Encoding.utf8) ?? ""
200
233
  }
201
234
  }
235
+
236
+ extension SMWorkoutAssessmet{
237
+ static func initFromJSON(_ json: [String:Any]) throws -> SMWorkoutAssessmet{
238
+ var assessmentsExercises:[SMAssessmentExercise] = []
239
+
240
+ if let exercise = json["exercises"] as? [[String:Any]] {
241
+ try exercise.forEach({
242
+ try assessmentsExercises.append(SMAssessmentExercise(FromJson: $0))
243
+ })
244
+ }
245
+
246
+ return SMWorkoutAssessmet(
247
+ id: json["id"] as? String,
248
+ name: json["name"] as? String,
249
+ workoutIntro: json["workoutIntro"] as? String,
250
+ soundtrack: json["soundtrack"] as? String,
251
+ assessmentsExercises: assessmentsExercises,
252
+ getInFrame: json["getInFrame"] as? String,
253
+ bodycalFinished: json["bodycalFinished"] as? String,
254
+ workoutClosure: json["workoutClosure"] as? String
255
+ )
256
+ }
257
+ }
@@ -3,43 +3,91 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.WorkoutDuration = exports.WorkoutDifficulty = exports.WorkoutConfig = exports.UIElement = exports.ScoringType = exports.SMWorkout = exports.SMScoringParams = exports.SMExercise = exports.BodyZone = exports.AssessmentTypes = void 0;
6
+ exports.WorkoutDuration = exports.WorkoutDifficulty = exports.WorkoutConfig = exports.UserData = exports.UIElement = exports.ScoringType = exports.SMWorkout = exports.SMScoringParams = exports.SMExercise = exports.SMAssessmentExercise = exports.Gender = exports.BodyZone = exports.AssessmentTypes = void 0;
7
+ /**
8
+ * Enum representing assessment types.
9
+ * @enum {string}
10
+ */
7
11
  let AssessmentTypes = exports.AssessmentTypes = /*#__PURE__*/function (AssessmentTypes) {
8
12
  AssessmentTypes["Fitness"] = "fitness";
9
13
  AssessmentTypes["Custom"] = "custom";
10
14
  AssessmentTypes["Body360"] = "body360";
11
15
  return AssessmentTypes;
12
16
  }({});
17
+ /**
18
+ * Enum representing UI elements that can be displayed during workouts.
19
+ * @enum {string}
20
+ */
13
21
  let UIElement = exports.UIElement = /*#__PURE__*/function (UIElement) {
14
22
  UIElement["RepsCounter"] = "repsCounter";
15
23
  UIElement["Timer"] = "timer";
16
24
  UIElement["GaugeOfMotion"] = "gaugeOfMotion";
17
25
  return UIElement;
18
26
  }({});
27
+ /**
28
+ * Enum representing body zones targeted in workouts.
29
+ * @enum {string}
30
+ */
19
31
  let BodyZone = exports.BodyZone = /*#__PURE__*/function (BodyZone) {
20
32
  BodyZone["UpperBody"] = "UpperBody";
21
33
  BodyZone["LowerBody"] = "LowerBody";
22
34
  BodyZone["FullBody"] = "FullBody";
23
35
  return BodyZone;
24
36
  }({});
37
+ /**
38
+ * Enum representing workout difficulty levels.
39
+ * @enum {string}
40
+ */
25
41
  let WorkoutDifficulty = exports.WorkoutDifficulty = /*#__PURE__*/function (WorkoutDifficulty) {
26
42
  WorkoutDifficulty["LowDifficulty"] = "LowDifficulty";
27
43
  WorkoutDifficulty["MidDifficulty"] = "MidDifficulty";
28
44
  WorkoutDifficulty["HighDifficulty"] = "HighDifficulty";
29
45
  return WorkoutDifficulty;
30
46
  }({});
47
+ /**
48
+ * Enum representing workout durations.
49
+ * @enum {string}
50
+ */
31
51
  let WorkoutDuration = exports.WorkoutDuration = /*#__PURE__*/function (WorkoutDuration) {
32
52
  WorkoutDuration["Short"] = "Short";
33
53
  WorkoutDuration["Long"] = "Long";
34
54
  return WorkoutDuration;
35
55
  }({});
56
+ /**
57
+ * Enum representing different types of scoring methods.
58
+ * @enum {string}
59
+ */
36
60
  let ScoringType = exports.ScoringType = /*#__PURE__*/function (ScoringType) {
37
61
  ScoringType["Rom"] = "rom";
38
62
  ScoringType["Time"] = "time";
39
63
  ScoringType["Reps"] = "reps";
40
64
  return ScoringType;
41
65
  }({});
66
+ /**
67
+ * Enum representing gender options for user data.
68
+ * @enum {string}
69
+ */
70
+ let Gender = exports.Gender = /*#__PURE__*/function (Gender) {
71
+ Gender["Female"] = "Female";
72
+ Gender["Male"] = "Male";
73
+ Gender["Other"] = "Rather not say";
74
+ return Gender;
75
+ }({});
76
+ /**
77
+ * Class representing a workout.
78
+ */
42
79
  class SMWorkout {
80
+ /**
81
+ * @param {string | null} id - Unique identifier for the workout.
82
+ * @param {string | null} name - Name of the workout.
83
+ * @param {string | null} workoutIntro - URL for workout intro sound.
84
+ * @param {string | null} soundtrack - URL for soundtrack.
85
+ * @param {SMExercise[]} exercises - List of exercises included in the workout.
86
+ * @param {string | null} getInFrame - URL for body cal get in frame sound.
87
+ * @param {string | null} bodycalFinished - URL for body cal finished sound.
88
+ * @param {string | null} workoutClosure - URL for workout closure sound.
89
+ */
90
+
43
91
  constructor(id, name, workoutIntro, soundtrack, exercises, getInFrame, bodycalFinished, workoutClosure) {
44
92
  this.id = id || null;
45
93
  this.name = name || null;
@@ -63,8 +111,23 @@ class SMWorkout {
63
111
  });
64
112
  }
65
113
  }
114
+
115
+ /**
116
+ * Class representing an exercise in a workout.
117
+ */
66
118
  exports.SMWorkout = SMWorkout;
67
119
  class SMExercise {
120
+ /**
121
+ * @param {string | null} prettyName - Name of the exercise.
122
+ * @param {number | null} totalSeconds - Duration of the exercise in seconds.
123
+ * @param {string | null} videoInstruction - Video instruction URL.
124
+ * @param {string | null} exerciseIntro - URL for exercise intro sound.
125
+ * @param {UIElement[] | null} uiElements - List of UI elements for this exercise.
126
+ * @param {string} detector - Name of the detector for tracking exercise movement.
127
+ * @param {string | null} exerciseClosure - URL for exercise closer sound.
128
+ * @param {SMScoringParams | null} scoringParams - Parameters for exercise scoring.
129
+ */
130
+
68
131
  constructor(prettyName, totalSeconds, videoInstruction, exerciseIntro, uiElements, detector, exerciseClosure, scoringParams) {
69
132
  this.prettyName = prettyName || null;
70
133
  this.totalSeconds = totalSeconds || null;
@@ -76,8 +139,53 @@ class SMExercise {
76
139
  this.scoringParams = scoringParams || null;
77
140
  }
78
141
  }
142
+
143
+ /**
144
+ * Class representing an exercise in an assessment.
145
+ */
79
146
  exports.SMExercise = SMExercise;
147
+ class SMAssessmentExercise extends SMExercise {
148
+ /**
149
+ * @param {string | null} prettyName - Name of the exercise.
150
+ * @param {number | null} totalSeconds - Duration of the exercise in seconds.
151
+ * @param {string | null} videoInstruction - Video instruction URL.
152
+ * @param {string | null} exerciseIntro - URL for exercise intro sound.
153
+ * @param {UIElement[] | null} uiElements - List of UI elements for this exercise.
154
+ * @param {string} detector - Name of the detector for tracking exercise movement.
155
+ * @param {string | null} exerciseClosure - URL for exercise closer sound.
156
+ * @param {SMScoringParams | null} scoringParams - Parameters for exercise scoring.
157
+ * @param {string | null} summaryTitle - Title for the exercise summary.
158
+ * @param {string | null} summarySubTitle - Subtitle for the exercise summary.
159
+ * @param {string | null} summaryMainMetricTitle - Main metric title in the summary.
160
+ * @param {string | null} summaryMainMetricSubTitle - Main metric subtitle in the summary.
161
+ */
162
+
163
+ constructor(prettyName, totalSeconds, videoInstruction, exerciseIntro, uiElements, detector, exerciseClosure, scoringParams, summaryTitle, summarySubTitle, summaryMainMetricTitle, summaryMainMetricSubTitle) {
164
+ // Call the constructor of the parent class (SMExercise)
165
+ super(prettyName, totalSeconds, videoInstruction, exerciseIntro, uiElements, detector, exerciseClosure, scoringParams);
166
+
167
+ // Set additional properties specific to SMAssessmentExercise
168
+ this.summaryTitle = summaryTitle || null;
169
+ this.summarySubTitle = summarySubTitle || null;
170
+ this.summaryMainMetricTitle = summaryMainMetricTitle || null;
171
+ this.summaryMainMetricSubTitle = summaryMainMetricSubTitle || null;
172
+ }
173
+ }
174
+
175
+ /**
176
+ * Class representing scoring parameters for an exercise.
177
+ */
178
+ exports.SMAssessmentExercise = SMAssessmentExercise;
80
179
  class SMScoringParams {
180
+ /**
181
+ * @param {ScoringType | null} type - Type of scoring (e.g., ROM, time, reps).
182
+ * @param {number | null} scoreFactor - Factor to adjust the score.
183
+ * @param {number | null} targetTime - Target time for time-based scoring.
184
+ * @param {number | null} targetReps - Target reps for rep-based scoring.
185
+ * @param {string | null} targetRom - Range of motion target for ROM-based scoring.
186
+ * @param {string[] | null} passCriteria - List of criteria required to pass.
187
+ */
188
+
81
189
  constructor(type, scoreFactor, targetTime, targetReps, targetRom, passCriteria) {
82
190
  this.type = type || null;
83
191
  this.scoreFactor = scoreFactor || null;
@@ -87,8 +195,20 @@ class SMScoringParams {
87
195
  this.passCriteria = passCriteria || null;
88
196
  }
89
197
  }
198
+
199
+ /**
200
+ * Class representing the configuration for a workout program.
201
+ */
90
202
  exports.SMScoringParams = SMScoringParams;
91
203
  class WorkoutConfig {
204
+ /**
205
+ * @param {number} week - Week number in the program.
206
+ * @param {BodyZone} bodyZone - Targeted body zone for the workout.
207
+ * @param {WorkoutDifficulty} difficultyLevel - Difficulty level of the workout.
208
+ * @param {WorkoutDuration} workoutDuration - Duration of the workout.
209
+ * @param {string} programID - Unique identifier for the workout program.
210
+ */
211
+
92
212
  constructor(week, bodyZone, difficultyLevel, workoutDuration, programID) {
93
213
  this.week = week;
94
214
  this.bodyZone = bodyZone;
@@ -106,5 +226,27 @@ class WorkoutConfig {
106
226
  });
107
227
  }
108
228
  }
229
+
230
+ /**
231
+ * Class representing user data.
232
+ */
109
233
  exports.WorkoutConfig = WorkoutConfig;
234
+ class UserData {
235
+ /**
236
+ * @param {Gender} gender - User's gender.
237
+ * @param {number} age - User's age.
238
+ */
239
+
240
+ constructor(gender, age) {
241
+ this.gender = gender;
242
+ this.age = age;
243
+ }
244
+ toJson() {
245
+ return JSON.stringify({
246
+ gender: this.gender,
247
+ age: this.age
248
+ });
249
+ }
250
+ }
251
+ exports.UserData = UserData;
110
252
  //# sourceMappingURL=SMWorkout.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AssessmentTypes","exports","UIElement","BodyZone","WorkoutDifficulty","WorkoutDuration","ScoringType","SMWorkout","constructor","id","name","workoutIntro","soundtrack","exercises","getInFrame","bodycalFinished","workoutClosure","toJson","JSON","stringify","SMExercise","prettyName","totalSeconds","videoInstruction","exerciseIntro","uiElements","detector","exerciseClosure","scoringParams","SMScoringParams","type","scoreFactor","targetTime","targetReps","targetRom","passCriteria","WorkoutConfig","week","bodyZone","difficultyLevel","workoutDuration","programID"],"sourceRoot":"../../src","sources":["SMWorkout.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AssessmentTypes","exports","UIElement","BodyZone","WorkoutDifficulty","WorkoutDuration","ScoringType","Gender","SMWorkout","constructor","id","name","workoutIntro","soundtrack","exercises","getInFrame","bodycalFinished","workoutClosure","toJson","JSON","stringify","SMExercise","prettyName","totalSeconds","videoInstruction","exerciseIntro","uiElements","detector","exerciseClosure","scoringParams","SMAssessmentExercise","summaryTitle","summarySubTitle","summaryMainMetricTitle","summaryMainMetricSubTitle","SMScoringParams","type","scoreFactor","targetTime","targetReps","targetRom","passCriteria","WorkoutConfig","week","bodyZone","difficultyLevel","workoutDuration","programID","UserData","gender","age"],"sourceRoot":"../../src","sources":["SMWorkout.tsx"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AAHA,IAIYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAM3B;AACA;AACA;AACA;AAHA,IAIYE,SAAS,GAAAD,OAAA,CAAAC,SAAA,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAMrB;AACA;AACA;AACA;AAHA,IAIYC,QAAQ,GAAAF,OAAA,CAAAE,QAAA,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAMpB;AACA;AACA;AACA;AAHA,IAIYC,iBAAiB,GAAAH,OAAA,CAAAG,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAM7B;AACA;AACA;AACA;AAHA,IAIYC,eAAe,GAAAJ,OAAA,CAAAI,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAK3B;AACA;AACA;AACA;AAHA,IAIYC,WAAW,GAAAL,OAAA,CAAAK,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAMvB;AACA;AACA;AACA;AAHA,IAIYC,MAAM,GAAAN,OAAA,CAAAM,MAAA,0BAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAAA,OAANA,MAAM;AAAA;AAMlB;AACA;AACA;AACO,MAAMC,SAAS,CAAC;EACrB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAUEC,WAAWA,CACTC,EAAiB,EACjBC,IAAmB,EACnBC,YAA2B,EAC3BC,UAAyB,EACzBC,SAAuB,EACvBC,UAAyB,EACzBC,eAA8B,EAC9BC,cAA6B,EAC7B;IACA,IAAI,CAACP,EAAE,GAAGA,EAAE,IAAI,IAAI;IACpB,IAAI,CAACC,IAAI,GAAGA,IAAI,IAAI,IAAI;IACxB,IAAI,CAACC,YAAY,GAAGA,YAAY,IAAI,IAAI;IACxC,IAAI,CAACC,UAAU,GAAGA,UAAU,IAAI,IAAI;IACpC,IAAI,CAACC,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,UAAU,GAAGA,UAAU,IAAI,IAAI;IACpC,IAAI,CAACC,eAAe,GAAGA,eAAe,IAAI,IAAI;IAC9C,IAAI,CAACC,cAAc,GAAGA,cAAc,IAAI,IAAI;EAC9C;EAEAC,MAAMA,CAAA,EAAW;IACf,OAAOC,IAAI,CAACC,SAAS,CAAC;MACpBV,EAAE,EAAE,IAAI,CAACA,EAAE;MACXC,IAAI,EAAE,IAAI,CAACA,IAAI;MACfC,YAAY,EAAE,IAAI,CAACA,YAAY;MAC/BC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,eAAe,EAAE,IAAI,CAACA,eAAe;MACrCC,cAAc,EAAE,IAAI,CAACA;IACvB,CAAC,CAAC;EACJ;AACF;;AAEA;AACA;AACA;AAFAhB,OAAA,CAAAO,SAAA,GAAAA,SAAA;AAGO,MAAMa,UAAU,CAAC;EACtB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAUEZ,WAAWA,CACTa,UAAyB,EACzBC,YAA2B,EAC3BC,gBAA+B,EAC/BC,aAA4B,EAC5BC,UAA8B,EAC9BC,QAAgB,EAChBC,eAA8B,EAC9BC,aAAqC,EACrC;IACA,IAAI,CAACP,UAAU,GAAGA,UAAU,IAAI,IAAI;IACpC,IAAI,CAACC,YAAY,GAAGA,YAAY,IAAI,IAAI;IACxC,IAAI,CAACC,gBAAgB,GAAGA,gBAAgB,IAAI,IAAI;IAChD,IAAI,CAACC,aAAa,GAAGA,aAAa,IAAI,IAAI;IAC1C,IAAI,CAACC,UAAU,GAAGA,UAAU,IAAI,IAAI;IACpC,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,eAAe,GAAGA,eAAe,IAAI,IAAI;IAC9C,IAAI,CAACC,aAAa,GAAGA,aAAa,IAAI,IAAI;EAC5C;AACF;;AAEA;AACA;AACA;AAFA5B,OAAA,CAAAoB,UAAA,GAAAA,UAAA;AAGO,MAAMS,oBAAoB,SAAST,UAAU,CAAC;EACnD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAMEZ,WAAWA,CACTa,UAAyB,EACzBC,YAA2B,EAC3BC,gBAA+B,EAC/BC,aAA4B,EAC5BC,UAA8B,EAC9BC,QAAgB,EAChBC,eAA8B,EAC9BC,aAAqC,EACrCE,YAA2B,EAC3BC,eAA8B,EAC9BC,sBAAqC,EACrCC,yBAAwC,EACxC;IACA;IACA,KAAK,CACHZ,UAAU,EACVC,YAAY,EACZC,gBAAgB,EAChBC,aAAa,EACbC,UAAU,EACVC,QAAQ,EACRC,eAAe,EACfC,aACF,CAAC;;IAED;IACA,IAAI,CAACE,YAAY,GAAGA,YAAY,IAAI,IAAI;IACxC,IAAI,CAACC,eAAe,GAAGA,eAAe,IAAI,IAAI;IAC9C,IAAI,CAACC,sBAAsB,GAAGA,sBAAsB,IAAI,IAAI;IAC5D,IAAI,CAACC,yBAAyB,GAAGA,yBAAyB,IAAI,IAAI;EACpE;AACF;;AAEA;AACA;AACA;AAFAjC,OAAA,CAAA6B,oBAAA,GAAAA,oBAAA;AAGO,MAAMK,eAAe,CAAC;EAC3B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;EAQE1B,WAAWA,CACT2B,IAAwB,EACxBC,WAA0B,EAC1BC,UAAyB,EACzBC,UAAyB,EACzBC,SAAwB,EACxBC,YAA6B,EAC7B;IACA,IAAI,CAACL,IAAI,GAAGA,IAAI,IAAI,IAAI;IACxB,IAAI,CAACC,WAAW,GAAGA,WAAW,IAAI,IAAI;IACtC,IAAI,CAACC,UAAU,GAAGA,UAAU,IAAI,IAAI;IACpC,IAAI,CAACC,UAAU,GAAGA,UAAU,IAAI,IAAI;IACpC,IAAI,CAACC,SAAS,GAAGA,SAAS,IAAI,IAAI;IAClC,IAAI,CAACC,YAAY,GAAGA,YAAY,IAAI,IAAI;EAC1C;AACF;;AAGA;AACA;AACA;AAFAxC,OAAA,CAAAkC,eAAA,GAAAA,eAAA;AAGO,MAAMO,aAAa,CAAC;EACzB;AACF;AACA;AACA;AACA;AACA;AACA;;EAOEjC,WAAWA,CACTkC,IAAY,EACZC,QAAkB,EAClBC,eAAkC,EAClCC,eAAgC,EAChCC,SAAiB,EACjB;IACA,IAAI,CAACJ,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC5B;EAEA7B,MAAMA,CAAA,EAAW;IACf,OAAOC,IAAI,CAACC,SAAS,CAAC;MACpBuB,IAAI,EAAE,IAAI,CAACA,IAAI;MACfC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,eAAe,EAAE,IAAI,CAACA,eAAe;MACrCC,eAAe,EAAE,IAAI,CAACA,eAAe;MACrCC,SAAS,EAAE,IAAI,CAACA;IAClB,CAAC,CAAC;EACJ;AACF;;AAEA;AACA;AACA;AAFA9C,OAAA,CAAAyC,aAAA,GAAAA,aAAA;AAGO,MAAMM,QAAQ,CAAC;EACpB;AACF;AACA;AACA;;EAIEvC,WAAWA,CAACwC,MAAc,EAAEC,GAAW,EAAE;IACvC,IAAI,CAACD,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,GAAG,GAAGA,GAAG;EAChB;EAEAhC,MAAMA,CAAA,EAAW;IACf,OAAOC,IAAI,CAACC,SAAS,CAAC;MACpB6B,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBC,GAAG,EAAE,IAAI,CAACA;IACZ,CAAC,CAAC;EACJ;AACF;AAACjD,OAAA,CAAA+C,QAAA,GAAAA,QAAA","ignoreList":[]}
@@ -18,18 +18,58 @@ const SMKitUIManager = _reactNative.NativeModules.SMKitUIManager ? _reactNative.
18
18
  throw new Error(LINKING_ERROR);
19
19
  }
20
20
  });
21
+
22
+ /**
23
+ * This function will configure the sdk
24
+ * @param {string} key - your auth key
25
+ */
21
26
  function configure(key) {
22
27
  return SMKitUIManager.configure(key);
23
28
  }
24
- function startAssessment(type, showSummary, customAssessmentID) {
25
- return SMKitUIManager.startAssessment(type, showSummary, customAssessmentID);
29
+
30
+ /**
31
+ * start an assessment session.
32
+ *
33
+ * @param {SMWorkoutLibrary.AssessmentTypes} type - The type of assessment to start.
34
+ * @param {boolean} [showSummary=true] - Determines if the summary should be shown after assessment completion.
35
+ * @param {SMWorkoutLibrary.UserData | null} userData - User data for the assessment session, or `null` if no user data is provided.
36
+ * @param {boolean} [forceShowUserDataScreen=false] - Forces the display of the user data screen even if user data is provided.
37
+ * @param {string} customAssessmentID - A unique identifier for a custom assessment session.
38
+ * @returns {Promise<{ summary: string; didFinish: boolean }>} - A promise that resolves with an object containing the summary and a flag indicating whether the assessment finished.
39
+ */
40
+ function startAssessment(type, showSummary = true, userData, forceShowUserDataScreen = false, customAssessmentID) {
41
+ return SMKitUIManager.startAssessment(type, showSummary, userData?.toJson(), forceShowUserDataScreen, customAssessmentID);
26
42
  }
43
+
44
+ /**
45
+ * Starts a custom workout session.
46
+ *
47
+ * @param {SMWorkoutLibrary.SMWorkout} workout - The custom workout configuration.
48
+ * @returns {Promise<{ summary: string; didFinish: boolean }>} - A promise that resolves with an object containing the summary and a flag indicating if the workout session finished.
49
+ */
27
50
  function startCustomWorkout(workout) {
28
51
  return SMKitUIManager.startCustomWorkout(workout.toJson());
29
52
  }
30
- function startCustomAssessment(assessment) {
31
- return SMKitUIManager.startCustomAssessment(assessment.toJson());
53
+
54
+ /**
55
+ * Initiates a custom assessment session.
56
+ *
57
+ * @param {SMWorkoutLibrary.SMWorkout} assessment - The assessment configuration for the session.
58
+ * @param {SMWorkoutLibrary.UserData | null} userData - User data for the assessment, or `null` if no user data is provided.
59
+ * @param {boolean} [forceShowUserDataScreen=false] - Forces the display of the user data screen even if user data is provided.
60
+ * @param {boolean} [showSummary=true] - Determines if the summary should be shown after assessment completion.
61
+ * @returns {Promise<{ summary: string; didFinish: boolean }>} - A promise that resolves with an object containing the summary and a flag indicating if the assessment finished.
62
+ */
63
+ function startCustomAssessment(assessment, userData, forceShowUserDataScreen = false, showSummary = true) {
64
+ return SMKitUIManager.startCustomAssessment(assessment.toJson(), userData?.toJson(), forceShowUserDataScreen, showSummary);
32
65
  }
66
+
67
+ /**
68
+ * Starts a workout program using the provided workout configuration.
69
+ *
70
+ * @param {SMWorkoutLibrary.WorkoutConfig} workoutConfig - The configuration for the workout program.
71
+ * @returns {Promise<{ summary: string; didFinish: boolean }>} - A promise that resolves with an object containing the summary and a flag indicating if the workout program finished.
72
+ */
33
73
  function startWorkoutProgram(workoutConfig) {
34
74
  return SMKitUIManager.startWorkoutProgram(workoutConfig.toJson());
35
75
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","SMKitUIManager","NativeModules","Proxy","get","Error","configure","key","startAssessment","type","showSummary","customAssessmentID","startCustomWorkout","workout","toJson","startCustomAssessment","assessment","startWorkoutProgram","workoutConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGA,MAAMC,aAAa,GAChB,gFAA+E,GAChFC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,cAAc,GAAGC,0BAAa,CAACD,cAAc,GAC/CC,0BAAa,CAACD,cAAc,GAC5B,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEE,SAASU,SAASA,CAACC,GAAW,EAAmB;EACtD,OAAON,cAAc,CAACK,SAAS,CAACC,GAAG,CAAC;AACtC;AAEO,SAASC,eAAeA,CAC7BC,IAAsC,EACtCC,WAAoB,EACpBC,kBAA0B,EACwB;EAClD,OAAOV,cAAc,CAACO,eAAe,CAACC,IAAI,EAAEC,WAAW,EAAEC,kBAAkB,CAAC;AAC9E;AAEO,SAASC,kBAAkBA,CAACC,OAAkC,EAAgD;EACnH,OAAOZ,cAAc,CAACW,kBAAkB,CAACC,OAAO,CAACC,MAAM,CAAC,CAAC,CAAC;AAC5D;AAEO,SAASC,qBAAqBA,CAACC,UAAqC,EAAgD;EACzH,OAAOf,cAAc,CAACc,qBAAqB,CAACC,UAAU,CAACF,MAAM,CAAC,CAAC,CAAC;AAClE;AAEO,SAASG,mBAAmBA,CAACC,aAA4C,EAAgD;EAC9H,OAAOjB,cAAc,CAACgB,mBAAmB,CAACC,aAAa,CAACJ,MAAM,CAAC,CAAC,CAAC;AACnE","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","SMKitUIManager","NativeModules","Proxy","get","Error","configure","key","startAssessment","type","showSummary","userData","forceShowUserDataScreen","customAssessmentID","toJson","startCustomWorkout","workout","startCustomAssessment","assessment","startWorkoutProgram","workoutConfig"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGA,MAAMC,aAAa,GACjB,gFAAgF,GAChFC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,cAAc,GAAGC,0BAAa,CAACD,cAAc,GAC/CC,0BAAa,CAACD,cAAc,GAC5B,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CACF,CAAC;;AAEL;AACA;AACA;AACA;AACO,SAASU,SAASA,CAACC,GAAW,EAAmB;EACtD,OAAON,cAAc,CAACK,SAAS,CAACC,GAAG,CAAC;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,eAAeA,CAC7BC,IAAsC,EACtCC,WAAoB,GAAG,IAAI,EAC3BC,QAA0C,EAC1CC,uBAAgC,GAAG,KAAK,EACxCC,kBAA0B,EACwB;EAClD,OAAOZ,cAAc,CAACO,eAAe,CACnCC,IAAI,EACJC,WAAW,EACXC,QAAQ,EAAEG,MAAM,CAAC,CAAC,EAClBF,uBAAuB,EACvBC,kBACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,kBAAkBA,CAChCC,OAAmC,EACe;EAClD,OAAOf,cAAc,CAACc,kBAAkB,CAACC,OAAO,CAACF,MAAM,CAAC,CAAC,CAAC;AAC5D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,qBAAqBA,CACnCC,UAAsC,EACtCP,QAA0C,EAC1CC,uBAAgC,GAAG,KAAK,EACxCF,WAAoB,GAAG,IAAI,EACuB;EAClD,OAAOT,cAAc,CAACgB,qBAAqB,CACzCC,UAAU,CAACJ,MAAM,CAAC,CAAC,EACnBH,QAAQ,EAAEG,MAAM,CAAC,CAAC,EAClBF,uBAAuB,EACvBF,WACF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASS,mBAAmBA,CACjCC,aAA6C,EACK;EAClD,OAAOnB,cAAc,CAACkB,mBAAmB,CAACC,aAAa,CAACN,MAAM,CAAC,CAAC,CAAC;AACnE","ignoreList":[]}