@sency/react-native-smkit-ui 0.1.3 → 0.1.5
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.
- package/LICENSE +1 -1
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/smkituilibrary/SmkitUiLibraryModule.kt +3 -2
- package/android/src/main/java/com/smkituilibrary/mapper/SMMapper.kt +30 -14
- package/android/src/main/java/com/smkituilibrary/model/SMKitExercise.kt +18 -6
- package/ios/SMKitUIManager.mm +1 -1
- package/ios/SMKitUIManager.swift +38 -11
- package/lib/commonjs/SMWorkout.js +15 -6
- package/lib/commonjs/SMWorkout.js.map +1 -1
- package/lib/commonjs/index.js +2 -2
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/SMWorkout.js +13 -5
- package/lib/module/SMWorkout.js.map +1 -1
- package/lib/module/index.js +2 -2
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/SMWorkout.d.ts +16 -9
- package/lib/typescript/src/SMWorkout.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/react-native-smkit-ui.podspec +2 -2
- package/src/SMWorkout.tsx +30 -14
- package/src/index.tsx +6 -2
- package/ios/SMKitUIViewContoller.swift +0 -20
- package/lib/commonjs/SMKitUIView.js +0 -5
- package/lib/commonjs/SMKitUIView.js.map +0 -1
- package/lib/module/SMKitUIView.js +0 -3
- package/lib/module/SMKitUIView.js.map +0 -1
- package/lib/typescript/example/src/App.d.ts +0 -4
- package/lib/typescript/example/src/App.d.ts.map +0 -1
- package/lib/typescript/src/SMKitUIView.d.ts +0 -2
- package/lib/typescript/src/SMKitUIView.d.ts.map +0 -1
- package/src/SMKitUIView.tsx +0 -3
package/LICENSE
CHANGED
package/android/build.gradle
CHANGED
|
@@ -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
|
-
compileOnly("com.sency.smkitui:smkitui:0.1.
|
|
96
|
+
compileOnly("com.sency.smkitui:smkitui:0.1.6") {
|
|
97
97
|
exclude group: 'com.facebook.fbjni', module: 'fbjni-java-only'
|
|
98
98
|
}
|
|
99
99
|
|
|
@@ -10,6 +10,7 @@ import com.sency.smkitui.SMKitUI
|
|
|
10
10
|
import com.sency.smkitui.listener.SMKitUIWorkoutListener
|
|
11
11
|
import com.sency.smkitui.model.ExerciseData
|
|
12
12
|
import com.sency.smkitui.model.WorkoutSummaryData
|
|
13
|
+
import com.sency.smkitui.model.smkitui.Custom
|
|
13
14
|
import com.smkituilibrary.mapper.toSMWorkout
|
|
14
15
|
import com.smkituilibrary.mapper.toWorkoutConfig
|
|
15
16
|
import com.smkituilibrary.model.SMKitWorkout
|
|
@@ -60,10 +61,10 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
|
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
@ReactMethod
|
|
63
|
-
fun startAssessment(type: String, showSummary: Boolean, promise: Promise) {
|
|
64
|
+
fun startAssessment(type: String, showSummary: Boolean, customAssessmentId: String, promise: Promise) {
|
|
64
65
|
this.resultPromise = promise
|
|
65
66
|
try {
|
|
66
|
-
smKitUI?.startAssessment(listener = this)
|
|
67
|
+
smKitUI?.startAssessment(listener = this, assessmentType = Custom(customAssessmentId))
|
|
67
68
|
} catch (e: Exception) {
|
|
68
69
|
promise.reject("Configure Failed", e)
|
|
69
70
|
}
|
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
package com.smkituilibrary.mapper
|
|
2
2
|
|
|
3
|
-
import android.net.Uri
|
|
4
|
-
import com.sency.smkitui.model.BodyZone
|
|
5
|
-
import com.sency.smkitui.model.DifficultyLevel
|
|
6
3
|
import com.sency.smkitui.model.SMExercise
|
|
7
|
-
import com.sency.smkitui.model.SMLanguage
|
|
8
4
|
import com.sency.smkitui.model.SMWorkout
|
|
9
|
-
import com.sency.smkitui.model.
|
|
10
|
-
import com.sency.smkitui.model.
|
|
5
|
+
import com.sency.smkitui.model.ScoringParams
|
|
6
|
+
import com.sency.smkitui.model.workoutConfig.BodyZone
|
|
7
|
+
import com.sency.smkitui.model.workoutConfig.DifficultyLevel
|
|
8
|
+
import com.sency.smkitui.model.workoutConfig.SMLanguage
|
|
9
|
+
import com.sency.smkitui.model.workoutConfig.WorkoutConfig
|
|
10
|
+
import com.sency.smkitui.model.workoutConfig.WorkoutDuration
|
|
11
11
|
import com.smkituilibrary.model.SMKitExercise
|
|
12
|
+
import com.smkituilibrary.model.SMKitScoringParams
|
|
12
13
|
import com.smkituilibrary.model.SMKitWorkout
|
|
13
14
|
import com.smkituilibrary.model.SMKitWorkoutConfig
|
|
14
15
|
|
|
15
16
|
internal fun SMKitWorkoutConfig.toWorkoutConfig(): WorkoutConfig = WorkoutConfig(
|
|
16
17
|
programId = programID,
|
|
17
18
|
week = week,
|
|
18
|
-
bodyZone = BodyZone.valueOf(bodyZone
|
|
19
|
-
difficultyLevel = DifficultyLevel.valueOf(difficultyLevel
|
|
20
|
-
workoutDuration = WorkoutDuration.valueOf(workoutDuration
|
|
19
|
+
bodyZone = BodyZone.valueOf(bodyZone),
|
|
20
|
+
difficultyLevel = DifficultyLevel.valueOf(difficultyLevel),
|
|
21
|
+
workoutDuration = WorkoutDuration.valueOf(workoutDuration),
|
|
21
22
|
language = SMLanguage.English,
|
|
22
23
|
)
|
|
23
24
|
|
|
@@ -33,7 +34,7 @@ internal fun SMKitWorkout.toSMWorkout(): SMWorkout = SMWorkout(
|
|
|
33
34
|
)
|
|
34
35
|
|
|
35
36
|
private fun SMKitExercise.toSMExercise(): SMExercise = SMExercise(
|
|
36
|
-
prettyName =
|
|
37
|
+
prettyName = prettyName ?: "",
|
|
37
38
|
exerciseIntro = exerciseIntro ?: "",
|
|
38
39
|
totalSeconds = totalSeconds ?: 0,
|
|
39
40
|
introSeconds = introSeconds ?: 0,
|
|
@@ -42,8 +43,23 @@ private fun SMKitExercise.toSMExercise(): SMExercise = SMExercise(
|
|
|
42
43
|
detector = detector ?: "",
|
|
43
44
|
repBased = repBased ?: false,
|
|
44
45
|
exerciseClosure = exerciseClosure ?: "",
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
scoringParams = scoringParams?.toParams() ?: ScoringParams(
|
|
47
|
+
type = "",
|
|
48
|
+
scoreFactor = 0f,
|
|
49
|
+
targetTime = 0,
|
|
50
|
+
targetReps = 0,
|
|
51
|
+
targetRom = "",
|
|
52
|
+
passCriteria = null
|
|
53
|
+
)
|
|
49
54
|
)
|
|
55
|
+
|
|
56
|
+
private fun SMKitScoringParams.toParams(): ScoringParams {
|
|
57
|
+
return ScoringParams(
|
|
58
|
+
type = type,
|
|
59
|
+
scoreFactor = scoreFactor,
|
|
60
|
+
targetTime = targetTime,
|
|
61
|
+
targetReps = targetReps,
|
|
62
|
+
targetRom = targetRom,
|
|
63
|
+
passCriteria = passCriteria
|
|
64
|
+
)
|
|
65
|
+
}
|
|
@@ -1,17 +1,29 @@
|
|
|
1
1
|
package com.smkituilibrary.model
|
|
2
2
|
|
|
3
3
|
import androidx.annotation.Keep
|
|
4
|
+
import com.sency.smkitui.model.ScoringParams
|
|
4
5
|
import com.sency.smkitui.model.UiElement
|
|
5
6
|
|
|
6
7
|
@Keep
|
|
7
8
|
internal data class SMKitExercise(
|
|
8
|
-
val name: String? = null,
|
|
9
|
-
val exerciseIntro: String? = null,
|
|
10
|
-
val totalSeconds: Int? = null,
|
|
11
|
-
val introSeconds: Int? = null,
|
|
12
|
-
val videoInstruction: String? = null,
|
|
13
|
-
val uiElements: Set<UiElement>? = null,
|
|
14
9
|
val detector: String? = null,
|
|
10
|
+
val uiElements: Set<UiElement>? = null,
|
|
15
11
|
val repBased: Boolean? = null,
|
|
12
|
+
val videoInstruction: String? = null,
|
|
13
|
+
val introSeconds: Int? = null,
|
|
14
|
+
val totalSeconds: Int? = null,
|
|
15
|
+
val scoringParams: SMKitScoringParams? = null,
|
|
16
|
+
val prettyName: String? = null,
|
|
17
|
+
val exerciseIntro: String? = null,
|
|
16
18
|
val exerciseClosure: String? = null,
|
|
17
19
|
)
|
|
20
|
+
|
|
21
|
+
@Keep
|
|
22
|
+
internal data class SMKitScoringParams(
|
|
23
|
+
val type: String,
|
|
24
|
+
val scoreFactor: Float,
|
|
25
|
+
val targetTime: Int,
|
|
26
|
+
val targetReps: Int,
|
|
27
|
+
val targetRom: String?,
|
|
28
|
+
val passCriteria: List<String>?
|
|
29
|
+
)
|
package/ios/SMKitUIManager.mm
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
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 onWorkoutDidFinish:(RCTPromiseResolveBlock)onWorkoutDidFinish onWorkoutFailed:(RCTPromiseRejectBlock)onWorkoutFailed)
|
|
6
|
+
RCT_EXTERN_METHOD(startAssessment:(NSString*)type showSummary:(BOOL)showSummary customAssessmentID:(NSString*)customAssessmentID onWorkoutDidFinish:(RCTPromiseResolveBlock)onWorkoutDidFinish onWorkoutFailed:(RCTPromiseRejectBlock)onWorkoutFailed)
|
|
7
7
|
RCT_EXTERN_METHOD(startCustomWorkout:(NSDictionary*)dic onWorkoutDidFinish:(RCTPromiseResolveBlock)onWorkoutDidFinish onWorkoutFailed:(RCTPromiseRejectBlock)onWorkoutFailed)
|
|
8
8
|
RCT_EXTERN_METHOD(startWorkoutProgram:(NSDictionary*)dic onWorkoutDidFinish:(RCTPromiseResolveBlock)onWorkoutDidFinish onWorkoutFailed:(RCTPromiseRejectBlock)onWorkoutFailed)
|
|
9
9
|
@end
|
package/ios/SMKitUIManager.swift
CHANGED
|
@@ -4,33 +4,51 @@ import SMBase
|
|
|
4
4
|
|
|
5
5
|
@objc(SMKitUIManager)
|
|
6
6
|
class SMKitUIManager: RCTViewManager {
|
|
7
|
-
|
|
8
|
-
let smkitUIViewController = SMKitUIViewController()
|
|
7
|
+
|
|
9
8
|
var onWorkoutDidFinish:RCTPromiseResolveBlock?
|
|
10
9
|
var onWorkoutFailed:RCTPromiseRejectBlock?
|
|
11
10
|
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
var smkitUIViewController:UIViewController?{
|
|
12
|
+
let keyWindow = UIApplication.shared.windows.filter {$0.isKeyWindow}.first
|
|
13
|
+
if var topController = keyWindow?.rootViewController {
|
|
14
|
+
while let presentedViewController = topController.presentedViewController {
|
|
15
|
+
topController = presentedViewController
|
|
16
|
+
}
|
|
17
|
+
return topController
|
|
18
|
+
}
|
|
19
|
+
return nil
|
|
14
20
|
}
|
|
15
21
|
|
|
16
22
|
@objc(configure:onSuccess:onFailure:)
|
|
17
23
|
func configure(key:NSString, onSuccess: @escaping RCTPromiseResolveBlock,onFailure:@escaping RCTPromiseRejectBlock) -> Void {
|
|
24
|
+
var isConfigDone = false
|
|
25
|
+
var didFail = false
|
|
18
26
|
SMKitUIModel.configure(authKey: "\(key)") {
|
|
19
|
-
|
|
27
|
+
if !isConfigDone{
|
|
28
|
+
isConfigDone = true
|
|
29
|
+
onSuccess("")
|
|
30
|
+
}
|
|
20
31
|
} onFailure: { err in
|
|
21
|
-
|
|
32
|
+
if !didFail{
|
|
33
|
+
didFail = true
|
|
34
|
+
onFailure("Configure Failed", err?.localizedDescription ?? "", err)
|
|
35
|
+
}
|
|
22
36
|
}
|
|
23
37
|
}
|
|
24
38
|
|
|
25
|
-
@objc(startAssessment:showSummary:onWorkoutDidFinish:onWorkoutFailed:)
|
|
26
|
-
func startAssessment(type:NSString, showSummary:Bool, onWorkoutDidFinish: @escaping RCTPromiseResolveBlock, onWorkoutFailed:@escaping RCTPromiseRejectBlock){
|
|
39
|
+
@objc(startAssessment:showSummary:customAssessmentID:onWorkoutDidFinish:onWorkoutFailed:)
|
|
40
|
+
func startAssessment(type:NSString, showSummary:Bool, customAssessmentID:String?, onWorkoutDidFinish: @escaping RCTPromiseResolveBlock, onWorkoutFailed:@escaping RCTPromiseRejectBlock){
|
|
41
|
+
guard let smkitUIViewController = smkitUIViewController else {
|
|
42
|
+
onWorkoutFailed("StartAssessment Failed", "Failed to present view", nil)
|
|
43
|
+
return
|
|
44
|
+
}
|
|
27
45
|
|
|
28
46
|
self.onWorkoutDidFinish = onWorkoutDidFinish
|
|
29
47
|
self.onWorkoutFailed = onWorkoutFailed
|
|
30
48
|
DispatchQueue.main.async {
|
|
31
49
|
do{
|
|
32
50
|
if let type = AssessmentTypes(rawValue: "\(type)"){
|
|
33
|
-
try SMKitUIModel.startAssessmet(viewController:
|
|
51
|
+
try SMKitUIModel.startAssessmet(viewController: smkitUIViewController, type: type, customAssessmentID:customAssessmentID, showSummary: showSummary, delegate: self){error in
|
|
34
52
|
onWorkoutFailed("StartAssessment Failed", error.localizedDescription, error)
|
|
35
53
|
}
|
|
36
54
|
}else{
|
|
@@ -44,12 +62,16 @@ class SMKitUIManager: RCTViewManager {
|
|
|
44
62
|
|
|
45
63
|
@objc(startCustomWorkout:onWorkoutDidFinish:onWorkoutFailed:)
|
|
46
64
|
func startCustomWorkout(json:[String:Any], onWorkoutDidFinish: @escaping RCTPromiseResolveBlock, onWorkoutFailed:@escaping RCTPromiseRejectBlock){
|
|
65
|
+
guard let smkitUIViewController = smkitUIViewController else {
|
|
66
|
+
onWorkoutFailed("StartCustomWorkout Failed", "Failed to present view", nil)
|
|
67
|
+
return
|
|
68
|
+
}
|
|
47
69
|
self.onWorkoutDidFinish = onWorkoutDidFinish
|
|
48
70
|
self.onWorkoutFailed = onWorkoutFailed
|
|
49
71
|
DispatchQueue.main.async {
|
|
50
72
|
do{
|
|
51
73
|
let workout = try SMWorkout(FromJson: json)
|
|
52
|
-
try SMKitUIModel.startWorkout(viewController:
|
|
74
|
+
try SMKitUIModel.startWorkout(viewController: smkitUIViewController, workout: workout, delegate: self)
|
|
53
75
|
}catch{
|
|
54
76
|
onWorkoutFailed("StartCustomWorkout Failed", error.localizedDescription, error)
|
|
55
77
|
}
|
|
@@ -61,6 +83,11 @@ class SMKitUIManager: RCTViewManager {
|
|
|
61
83
|
self.onWorkoutDidFinish = onWorkoutDidFinish
|
|
62
84
|
self.onWorkoutFailed = onWorkoutFailed
|
|
63
85
|
|
|
86
|
+
guard let smkitUIViewController = smkitUIViewController else {
|
|
87
|
+
onWorkoutFailed("StartWorkoutProgram Failed", "Failed to present view", nil)
|
|
88
|
+
return
|
|
89
|
+
}
|
|
90
|
+
|
|
64
91
|
guard let week = json["week"] as? Int,
|
|
65
92
|
let zone = json["bodyZone"] as? String,
|
|
66
93
|
let difficultyLevelRaw = json["difficultyLevel"] as? String,
|
|
@@ -82,7 +109,7 @@ class SMKitUIManager: RCTViewManager {
|
|
|
82
109
|
programID: programID
|
|
83
110
|
)
|
|
84
111
|
|
|
85
|
-
SMKitUIModel.startWorkoutFromProgram(viewController:
|
|
112
|
+
SMKitUIModel.startWorkoutFromProgram(viewController: smkitUIViewController, workoutConfig: config, delegate: self) { error in
|
|
86
113
|
onWorkoutFailed("StartWorkoutProgram Failed", error.localizedDescription, error)
|
|
87
114
|
}
|
|
88
115
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.WorkoutDuration = exports.WorkoutDifficulty = exports.WorkoutConfig = exports.UIElement = exports.SMWorkout = exports.SMExercise = exports.BodyZone = exports.AssessmentTypes = void 0;
|
|
6
|
+
exports.WorkoutDuration = exports.WorkoutDifficulty = exports.WorkoutConfig = exports.UIElement = exports.SMWorkout = exports.SMScoringParams = exports.SMExercise = exports.BodyZone = exports.AssessmentTypes = void 0;
|
|
7
7
|
let AssessmentTypes = exports.AssessmentTypes = /*#__PURE__*/function (AssessmentTypes) {
|
|
8
8
|
AssessmentTypes["Fitness"] = "fitness";
|
|
9
9
|
return AssessmentTypes;
|
|
@@ -45,8 +45,8 @@ class SMWorkout {
|
|
|
45
45
|
}
|
|
46
46
|
exports.SMWorkout = SMWorkout;
|
|
47
47
|
class SMExercise {
|
|
48
|
-
constructor(
|
|
49
|
-
this.
|
|
48
|
+
constructor(prettyName, totalSeconds, introSeconds, videoInstruction, exerciseIntro, uiElements, detector, repBased, exerciseClosure, scoringParams) {
|
|
49
|
+
this.prettyName = prettyName || null;
|
|
50
50
|
this.totalSeconds = totalSeconds || null;
|
|
51
51
|
this.introSeconds = introSeconds || null;
|
|
52
52
|
this.videoInstruction = videoInstruction || null;
|
|
@@ -54,13 +54,22 @@ class SMExercise {
|
|
|
54
54
|
this.uiElements = uiElements || null;
|
|
55
55
|
this.detector = detector;
|
|
56
56
|
this.repBased = repBased || null;
|
|
57
|
-
this.targetReps = targetReps || null;
|
|
58
|
-
this.targetTime = targetTime || null;
|
|
59
|
-
this.scoreFactor = scoreFactor || null;
|
|
60
57
|
this.exerciseClosure = exerciseClosure || null;
|
|
58
|
+
this.scoringParams = scoringParams || null;
|
|
61
59
|
}
|
|
62
60
|
}
|
|
63
61
|
exports.SMExercise = SMExercise;
|
|
62
|
+
class SMScoringParams {
|
|
63
|
+
constructor(type, scoreFactor, targetTime, targetReps, targetRom, passCriteria) {
|
|
64
|
+
this.type = type || null;
|
|
65
|
+
this.scoreFactor = scoreFactor || null;
|
|
66
|
+
this.targetTime = targetTime || null;
|
|
67
|
+
this.targetReps = targetReps || null;
|
|
68
|
+
this.targetRom = targetRom || null;
|
|
69
|
+
this.passCriteria = passCriteria || null;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.SMScoringParams = SMScoringParams;
|
|
64
73
|
class WorkoutConfig {
|
|
65
74
|
constructor(week, bodyZone, difficultyLevel, workoutDuration, programID) {
|
|
66
75
|
this.week = week;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AssessmentTypes","exports","UIElement","BodyZone","WorkoutDifficulty","WorkoutDuration","SMWorkout","constructor","id","name","workoutIntro","soundtrack","exercises","getInFrame","bodycalFinished","workoutClosure","SMExercise","totalSeconds","introSeconds","videoInstruction","exerciseIntro","uiElements","detector","repBased","exerciseClosure","
|
|
1
|
+
{"version":3,"names":["AssessmentTypes","exports","UIElement","BodyZone","WorkoutDifficulty","WorkoutDuration","SMWorkout","constructor","id","name","workoutIntro","soundtrack","exercises","getInFrame","bodycalFinished","workoutClosure","SMExercise","prettyName","totalSeconds","introSeconds","videoInstruction","exerciseIntro","uiElements","detector","repBased","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":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -21,8 +21,8 @@ const SMKitUIManager = _reactNative.NativeModules.SMKitUIManager ? _reactNative.
|
|
|
21
21
|
function configure(key) {
|
|
22
22
|
return SMKitUIManager.configure(key);
|
|
23
23
|
}
|
|
24
|
-
function startAssessment(type, showSummary) {
|
|
25
|
-
return SMKitUIManager.startAssessment(type, showSummary);
|
|
24
|
+
function startAssessment(type, showSummary, customAssessmentID) {
|
|
25
|
+
return SMKitUIManager.startAssessment(type, showSummary, customAssessmentID);
|
|
26
26
|
}
|
|
27
27
|
function startCustomWorkout(workout) {
|
|
28
28
|
return SMKitUIManager.startCustomWorkout(workout);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","SMKitUIManager","NativeModules","Proxy","get","Error","configure","key","startAssessment","type","showSummary","startCustomWorkout","workout","startWorkoutProgram","workoutConfig","AssessmentTypes","exports"],"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,
|
|
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","startWorkoutProgram","workoutConfig","AssessmentTypes","exports"],"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,CAAC;AACnD;AAEO,SAASC,mBAAmBA,CAACC,aAA4C,EAAgD;EAC9H,OAAOd,cAAc,CAACa,mBAAmB,CAACC,aAAa,CAAC;AAC1D;AAAC,IAEWC,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA","ignoreList":[]}
|
package/lib/module/SMWorkout.js
CHANGED
|
@@ -38,8 +38,8 @@ export class SMWorkout {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
export class SMExercise {
|
|
41
|
-
constructor(
|
|
42
|
-
this.
|
|
41
|
+
constructor(prettyName, totalSeconds, introSeconds, videoInstruction, exerciseIntro, uiElements, detector, repBased, exerciseClosure, scoringParams) {
|
|
42
|
+
this.prettyName = prettyName || null;
|
|
43
43
|
this.totalSeconds = totalSeconds || null;
|
|
44
44
|
this.introSeconds = introSeconds || null;
|
|
45
45
|
this.videoInstruction = videoInstruction || null;
|
|
@@ -47,10 +47,18 @@ export class SMExercise {
|
|
|
47
47
|
this.uiElements = uiElements || null;
|
|
48
48
|
this.detector = detector;
|
|
49
49
|
this.repBased = repBased || null;
|
|
50
|
-
this.targetReps = targetReps || null;
|
|
51
|
-
this.targetTime = targetTime || null;
|
|
52
|
-
this.scoreFactor = scoreFactor || null;
|
|
53
50
|
this.exerciseClosure = exerciseClosure || null;
|
|
51
|
+
this.scoringParams = scoringParams || null;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
export class SMScoringParams {
|
|
55
|
+
constructor(type, scoreFactor, targetTime, targetReps, targetRom, passCriteria) {
|
|
56
|
+
this.type = type || null;
|
|
57
|
+
this.scoreFactor = scoreFactor || null;
|
|
58
|
+
this.targetTime = targetTime || null;
|
|
59
|
+
this.targetReps = targetReps || null;
|
|
60
|
+
this.targetRom = targetRom || null;
|
|
61
|
+
this.passCriteria = passCriteria || null;
|
|
54
62
|
}
|
|
55
63
|
}
|
|
56
64
|
export class WorkoutConfig {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AssessmentTypes","UIElement","BodyZone","WorkoutDifficulty","WorkoutDuration","SMWorkout","constructor","id","name","workoutIntro","soundtrack","exercises","getInFrame","bodycalFinished","workoutClosure","SMExercise","totalSeconds","introSeconds","videoInstruction","exerciseIntro","uiElements","detector","repBased","exerciseClosure","
|
|
1
|
+
{"version":3,"names":["AssessmentTypes","UIElement","BodyZone","WorkoutDifficulty","WorkoutDuration","SMWorkout","constructor","id","name","workoutIntro","soundtrack","exercises","getInFrame","bodycalFinished","workoutClosure","SMExercise","prettyName","totalSeconds","introSeconds","videoInstruction","exerciseIntro","uiElements","detector","repBased","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":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -11,8 +11,8 @@ const SMKitUIManager = NativeModules.SMKitUIManager ? NativeModules.SMKitUIManag
|
|
|
11
11
|
export function configure(key) {
|
|
12
12
|
return SMKitUIManager.configure(key);
|
|
13
13
|
}
|
|
14
|
-
export function startAssessment(type, showSummary) {
|
|
15
|
-
return SMKitUIManager.startAssessment(type, showSummary);
|
|
14
|
+
export function startAssessment(type, showSummary, customAssessmentID) {
|
|
15
|
+
return SMKitUIManager.startAssessment(type, showSummary, customAssessmentID);
|
|
16
16
|
}
|
|
17
17
|
export function startCustomWorkout(workout) {
|
|
18
18
|
return SMKitUIManager.startCustomWorkout(workout);
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","SMKitUIManager","Proxy","get","Error","configure","key","startAssessment","type","showSummary","startCustomWorkout","workout","startWorkoutProgram","workoutConfig","AssessmentTypes"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAGtD,MAAMC,aAAa,GAChB,gFAA+E,GAChFD,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,cAAc,GAAGN,aAAa,CAACM,cAAc,GAC/CN,aAAa,CAACM,cAAc,GAC5B,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,OAAO,SAASQ,SAASA,CAACC,GAAW,EAAmB;EACtD,OAAOL,cAAc,CAACI,SAAS,CAACC,GAAG,CAAC;AACtC;AAEA,OAAO,SAASC,eAAeA,
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","SMKitUIManager","Proxy","get","Error","configure","key","startAssessment","type","showSummary","customAssessmentID","startCustomWorkout","workout","startWorkoutProgram","workoutConfig","AssessmentTypes"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAGtD,MAAMC,aAAa,GAChB,gFAA+E,GAChFD,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,cAAc,GAAGN,aAAa,CAACM,cAAc,GAC/CN,aAAa,CAACM,cAAc,GAC5B,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,OAAO,SAASQ,SAASA,CAACC,GAAW,EAAmB;EACtD,OAAOL,cAAc,CAACI,SAAS,CAACC,GAAG,CAAC;AACtC;AAEA,OAAO,SAASC,eAAeA,CAC7BC,IAAsC,EACtCC,WAAoB,EACpBC,kBAA0B,EACwB;EAClD,OAAOT,cAAc,CAACM,eAAe,CAACC,IAAI,EAAEC,WAAW,EAAEC,kBAAkB,CAAC;AAC9E;AAEA,OAAO,SAASC,kBAAkBA,CAACC,OAAkC,EAAgD;EACnH,OAAOX,cAAc,CAACU,kBAAkB,CAACC,OAAO,CAAC;AACnD;AAEA,OAAO,SAASC,mBAAmBA,CAACC,aAA4C,EAAgD;EAC9H,OAAOb,cAAc,CAACY,mBAAmB,CAACC,aAAa,CAAC;AAC1D;AAEA,WAAYC,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA","ignoreList":[]}
|
|
@@ -32,19 +32,26 @@ export declare class SMWorkout {
|
|
|
32
32
|
constructor(id: string | null, name: string | null, workoutIntro: string | null, soundtrack: string | null, exercises: SMExercise[], getInFrame: string | null, bodycalFinished: string | null, workoutClosure: string | null);
|
|
33
33
|
}
|
|
34
34
|
export declare class SMExercise {
|
|
35
|
-
name: string | null;
|
|
36
|
-
totalSeconds: number | null;
|
|
37
|
-
introSeconds: number | null;
|
|
38
|
-
videoInstruction: string | null;
|
|
39
|
-
exerciseIntro: string | null;
|
|
40
|
-
uiElements: UIElement[] | null;
|
|
41
35
|
detector: string;
|
|
36
|
+
uiElements: UIElement[] | null;
|
|
42
37
|
repBased: boolean | null;
|
|
38
|
+
videoInstruction: string | null;
|
|
39
|
+
introSeconds: number | null;
|
|
40
|
+
totalSeconds: number | null;
|
|
41
|
+
prettyName: string | null;
|
|
42
|
+
exerciseIntro: string | null;
|
|
43
43
|
exerciseClosure: string | null;
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
scoringParams: SMScoringParams | null;
|
|
45
|
+
constructor(prettyName: string | null, totalSeconds: number | null, introSeconds: number | null, videoInstruction: string | null, exerciseIntro: string | null, uiElements: UIElement[] | null, detector: string, repBased: boolean | null, exerciseClosure: string | null, scoringParams: SMScoringParams | null);
|
|
46
|
+
}
|
|
47
|
+
export declare class SMScoringParams {
|
|
48
|
+
type: string | null;
|
|
46
49
|
scoreFactor: number | null;
|
|
47
|
-
|
|
50
|
+
targetTime: number | null;
|
|
51
|
+
targetReps: number | null;
|
|
52
|
+
targetRom: string | null;
|
|
53
|
+
passCriteria: string[] | null;
|
|
54
|
+
constructor(type: string | null, scoreFactor: number | null, targetTime: number | null, targetReps: number | null, targetRom: string | null, passCriteria: string[] | null);
|
|
48
55
|
}
|
|
49
56
|
export declare class WorkoutConfig {
|
|
50
57
|
week: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SMWorkout.d.ts","sourceRoot":"","sources":["../../../src/SMWorkout.tsx"],"names":[],"mappings":"AAAA,oBAAY,eAAe;IACzB,OAAO,YAAY;CACpB;AAED,oBAAY,SAAS;IACnB,WAAW,gBAAgB;IAC3B,KAAK,UAAU;IACf,aAAa,kBAAkB;CAChC;AAED,oBAAY,QAAQ;IAClB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,QAAQ,aAAa;CACtB;AAED,oBAAY,iBAAiB;IAC3B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;CAClC;AAED,oBAAY,eAAe;IACzB,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,qBAAa,SAAS;IACrB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;gBAElB,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;CAU7N;AAED,qBAAa,UAAU;IACrB,
|
|
1
|
+
{"version":3,"file":"SMWorkout.d.ts","sourceRoot":"","sources":["../../../src/SMWorkout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as SMWorkoutLibrary from '../src/SMWorkout';
|
|
2
2
|
export declare function configure(key: string): Promise<string>;
|
|
3
|
-
export declare function startAssessment(type: SMWorkoutLibrary.AssessmentTypes, showSummary: boolean): Promise<{
|
|
3
|
+
export declare function startAssessment(type: SMWorkoutLibrary.AssessmentTypes, showSummary: boolean, customAssessmentID: string): Promise<{
|
|
4
4
|
summary: string;
|
|
5
5
|
didFinish: boolean;
|
|
6
6
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,gBAAgB,MAAM,kBAAkB,CAAC;AAmBrD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtD;AAED,wBAAgB,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,gBAAgB,MAAM,kBAAkB,CAAC;AAmBrD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtD;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,gBAAgB,CAAC,eAAe,EACtC,WAAW,EAAE,OAAO,EACpB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAElD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAC,gBAAgB,CAAC,SAAS,GAAG,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAC,OAAO,CAAA;CAAC,CAAC,CAEpH;AAED,wBAAgB,mBAAmB,CAAC,aAAa,EAAC,gBAAgB,CAAC,aAAa,GAAG,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAC,OAAO,CAAA;CAAC,CAAC,CAE/H;AAED,oBAAY,eAAe;IACzB,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB"}
|
package/package.json
CHANGED
|
@@ -12,10 +12,10 @@ Pod::Spec.new do |s|
|
|
|
12
12
|
s.authors = package["author"]
|
|
13
13
|
|
|
14
14
|
s.platforms = { :ios => min_ios_version_supported }
|
|
15
|
-
s.source = { :git => "https://sency-
|
|
15
|
+
s.source = { :git => "https://github.com/sency-ai/smkit-ui-react-native-demo.git", :tag => "#{s.version}" }
|
|
16
16
|
|
|
17
17
|
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
18
|
-
s.dependency "SMKitUI" ,'0.1
|
|
18
|
+
s.dependency "SMKitUI" ,'0.2.1'
|
|
19
19
|
|
|
20
20
|
# Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
|
|
21
21
|
# See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.
|
package/src/SMWorkout.tsx
CHANGED
|
@@ -48,21 +48,20 @@ export class SMWorkout{
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
export class SMExercise{
|
|
51
|
-
name:string | null;
|
|
52
|
-
totalSeconds: number | null;
|
|
53
|
-
introSeconds: number | null;
|
|
54
|
-
videoInstruction: string | null;
|
|
55
|
-
exerciseIntro: string | null;
|
|
56
|
-
uiElements: UIElement[] | null;
|
|
57
51
|
detector: string;
|
|
52
|
+
uiElements: UIElement[] | null;
|
|
58
53
|
repBased: boolean | null;
|
|
54
|
+
videoInstruction: string | null;
|
|
55
|
+
introSeconds: number | null;
|
|
56
|
+
totalSeconds: number | null;
|
|
57
|
+
prettyName:string | null;
|
|
58
|
+
exerciseIntro: string | null;
|
|
59
59
|
exerciseClosure: string | null;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
scoreFactor: number | null;
|
|
60
|
+
scoringParams: SMScoringParams | null;
|
|
61
|
+
|
|
63
62
|
|
|
64
|
-
constructor(
|
|
65
|
-
this.
|
|
63
|
+
constructor(prettyName: string | null, totalSeconds: number | null, introSeconds: number | null, videoInstruction: string | null, exerciseIntro: string | null, uiElements: UIElement[] | null, detector: string, repBased: boolean | null, exerciseClosure: string | null, scoringParams: SMScoringParams | null) {
|
|
64
|
+
this.prettyName = prettyName || null
|
|
66
65
|
this.totalSeconds = totalSeconds || null
|
|
67
66
|
this.introSeconds = introSeconds || null
|
|
68
67
|
this.videoInstruction = videoInstruction || null
|
|
@@ -70,13 +69,30 @@ export class SMExercise{
|
|
|
70
69
|
this.uiElements = uiElements || null
|
|
71
70
|
this.detector = detector
|
|
72
71
|
this.repBased = repBased || null
|
|
73
|
-
this.targetReps = targetReps || null
|
|
74
|
-
this.targetTime = targetTime || null
|
|
75
|
-
this.scoreFactor = scoreFactor || null
|
|
76
72
|
this.exerciseClosure = exerciseClosure || null;
|
|
73
|
+
this.scoringParams = scoringParams || null;
|
|
77
74
|
}
|
|
78
75
|
}
|
|
79
76
|
|
|
77
|
+
export class SMScoringParams {
|
|
78
|
+
type:string | null;
|
|
79
|
+
scoreFactor: number | null;
|
|
80
|
+
targetTime: number | null;
|
|
81
|
+
targetReps: number | null;
|
|
82
|
+
targetRom: string | null;
|
|
83
|
+
passCriteria: string[] | null;
|
|
84
|
+
|
|
85
|
+
constructor(type: string | null, scoreFactor: number | null, targetTime: number | null, targetReps: number | null, targetRom: string | null, passCriteria: string[] | null) {
|
|
86
|
+
this.type = type || null
|
|
87
|
+
this.scoreFactor = scoreFactor || null
|
|
88
|
+
this.targetTime = targetTime || null
|
|
89
|
+
this.targetReps = targetReps || null
|
|
90
|
+
this.targetRom = targetRom || null
|
|
91
|
+
this.passCriteria = passCriteria || null
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
}
|
|
95
|
+
|
|
80
96
|
export class WorkoutConfig{
|
|
81
97
|
week: number;
|
|
82
98
|
bodyZone: BodyZone;
|
package/src/index.tsx
CHANGED
|
@@ -22,8 +22,12 @@ export function configure(key: string): Promise<string> {
|
|
|
22
22
|
return SMKitUIManager.configure(key);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
export function startAssessment(
|
|
26
|
-
|
|
25
|
+
export function startAssessment(
|
|
26
|
+
type: SMWorkoutLibrary.AssessmentTypes,
|
|
27
|
+
showSummary: boolean,
|
|
28
|
+
customAssessmentID: string
|
|
29
|
+
): Promise<{ summary: string; didFinish: boolean }> {
|
|
30
|
+
return SMKitUIManager.startAssessment(type, showSummary, customAssessmentID);
|
|
27
31
|
}
|
|
28
32
|
|
|
29
33
|
export function startCustomWorkout(workout:SMWorkoutLibrary.SMWorkout): Promise<{summary: string, didFinish:boolean}>{
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// SMKitUIViewContoller.swift
|
|
3
|
-
// smkit-ui-library
|
|
4
|
-
//
|
|
5
|
-
// Created by netanel-yerushalmi on 31/03/2024.
|
|
6
|
-
//
|
|
7
|
-
|
|
8
|
-
import UIKit
|
|
9
|
-
|
|
10
|
-
class SMKitUIViewController: UIViewController {
|
|
11
|
-
let sdkView = SMKitUIView()
|
|
12
|
-
|
|
13
|
-
override func loadView() {
|
|
14
|
-
view = sdkView
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
class SMKitUIView:UIView{
|
|
19
|
-
|
|
20
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","module","exports","requireNativeComponent"],"sourceRoot":"../../src","sources":["SMKitUIView.tsx"],"mappings":";;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEAC,MAAM,CAACC,OAAO,GAAG,IAAAC,mCAAsB,EAAC,SAAS,CAAC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["requireNativeComponent","module","exports"],"sourceRoot":"../../src","sources":["SMKitUIView.tsx"],"mappings":"AAAA,SAASA,sBAAsB,QAAO,cAAc;AAEpDC,MAAM,CAACC,OAAO,GAAGF,sBAAsB,CAAC,SAAS,CAAC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../../example/src/App.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,QAAA,MAAM,GAAG,yBAoIR,CAAA;AA4BD,eAAe,GAAG,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SMKitUIView.d.ts","sourceRoot":"","sources":["../../../src/SMKitUIView.tsx"],"names":[],"mappings":""}
|
package/src/SMKitUIView.tsx
DELETED