quantum-component-library 0.0.1 → 1.0.0-qa

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 (119) hide show
  1. package/README.md +115 -69
  2. package/dist/babel-vendor-BOM86iTb.js +221 -0
  3. package/dist/babel-vendor-cKvSpnBp.cjs +3 -0
  4. package/dist/components/activity-list/index.d.ts +19 -0
  5. package/dist/components/copy-activity-form/index.d.ts +30 -0
  6. package/dist/components/copy-activity-form/index.stories.d.ts +6 -0
  7. package/dist/components/copy-module-form/index.d.ts +30 -0
  8. package/dist/components/copy-module-form/index.stories.d.ts +6 -0
  9. package/dist/components/index.d.ts +8 -0
  10. package/dist/components/module-form/index.d.ts +15 -0
  11. package/dist/components/parameter-edit-list/index.d.ts +13 -0
  12. package/dist/components/parameter-edit-select/index.d.ts +16 -0
  13. package/dist/components/test-filter-panel/index.d.ts +7 -0
  14. package/dist/components/ui/form/index.d.ts +4 -0
  15. package/dist/components/ui/form/label/index.d.ts +4 -0
  16. package/dist/components/ui/form/list-order-input/index.d.ts +14 -0
  17. package/dist/components/ui/form/radio-buttons/index.d.ts +16 -0
  18. package/dist/components/ui/form/range-slider-input/index.d.ts +17 -0
  19. package/dist/components/ui/index.d.ts +2 -1
  20. package/dist/components/ui/tag-group/index.d.ts +7 -0
  21. package/dist/components/upsert-activity-form/index.d.ts +18 -0
  22. package/dist/components/upsert-activity-form/index.stories.d.ts +6 -0
  23. package/dist/components/upsert-module-form/index.d.ts +17 -0
  24. package/dist/components/upsert-module-form/index.stories.d.ts +6 -0
  25. package/dist/components.cjs +13 -0
  26. package/dist/components.js +2078 -0
  27. package/dist/dnd-core-vendor-bgjKfDi6.cjs +1 -0
  28. package/dist/dnd-core-vendor-q7mfiuVu.js +750 -0
  29. package/dist/generated/fragment-masking.d.ts +19 -0
  30. package/dist/generated/gql.d.ts +271 -0
  31. package/dist/generated/graphql.d.ts +2326 -0
  32. package/dist/generated/index.d.ts +2 -0
  33. package/dist/generated-ChsGaiYd.cjs +1 -0
  34. package/dist/generated-GfcSQz21.js +65 -0
  35. package/dist/graphql/fragments/actions.d.ts +1 -0
  36. package/dist/graphql/fragments/analysis.d.ts +12 -0
  37. package/dist/graphql/fragments/groups.d.ts +1 -0
  38. package/dist/graphql/fragments/index.d.ts +6 -0
  39. package/dist/graphql/fragments/modules.d.ts +3 -0
  40. package/dist/graphql/fragments/playback.d.ts +11 -0
  41. package/dist/graphql/fragments/session.d.ts +3 -0
  42. package/dist/graphql/index.d.ts +3 -0
  43. package/dist/graphql/mutations/actions.d.ts +7 -0
  44. package/dist/graphql/mutations/index.d.ts +2 -0
  45. package/dist/graphql/mutations/modules.d.ts +13 -0
  46. package/dist/graphql/queries/actions.d.ts +19 -0
  47. package/dist/graphql/queries/groups.d.ts +9 -0
  48. package/dist/graphql/queries/index.d.ts +3 -0
  49. package/dist/graphql/queries/modules.d.ts +9 -0
  50. package/dist/graphql-CqPvuCvr.cjs +679 -0
  51. package/dist/graphql-DiUes2Np.js +735 -0
  52. package/dist/graphql-vendor-JsvuUrRs.cjs +14 -0
  53. package/dist/graphql-vendor-YnA_qhJA.js +669 -0
  54. package/dist/hooks.cjs +1 -0
  55. package/dist/hooks.js +84 -0
  56. package/dist/index.cjs +1 -0
  57. package/dist/index.d.ts +6 -1
  58. package/dist/index.js +132 -3159
  59. package/dist/lib/hooks/index.d.ts +7 -0
  60. package/dist/lib/hooks/use-graphql-client.d.ts +5 -0
  61. package/dist/lib/hooks/use-joints-for-limb-ids.d.ts +2 -0
  62. package/dist/lib/hooks/use-joints-for-sensor-locations.d.ts +2 -0
  63. package/dist/lib/hooks/use-limbs-for-sensor-locations.d.ts +2 -0
  64. package/dist/lib/hooks/use-part-options-for-joints.d.ts +3 -0
  65. package/dist/lib/hooks/use-part-options-for-limbs.d.ts +3 -0
  66. package/dist/lib/hooks/use-part-options-for-sensor-locations.d.ts +3 -0
  67. package/dist/lib/services/human.d.ts +69 -0
  68. package/dist/lib/services/index.d.ts +1 -0
  69. package/dist/lib/services/rom.json.d.ts +226 -0
  70. package/dist/lib/types/activity.d.ts +19 -0
  71. package/dist/lib/types/analysis.d.ts +115 -0
  72. package/dist/lib/types/athlete.d.ts +8 -0
  73. package/dist/lib/types/catalog.d.ts +35 -0
  74. package/dist/lib/types/error.d.ts +4 -0
  75. package/dist/lib/types/human-part.d.ts +23 -0
  76. package/dist/lib/types/human.d.ts +147 -0
  77. package/dist/lib/types/index.d.ts +14 -0
  78. package/dist/lib/types/parameters.d.ts +10 -0
  79. package/dist/lib/types/playback.d.ts +20 -0
  80. package/dist/lib/types/recording.d.ts +5 -0
  81. package/dist/lib/types/sensor-info.d.ts +105 -0
  82. package/dist/lib/types/threshold.d.ts +30 -0
  83. package/dist/lib/types/tracking.d.ts +82 -0
  84. package/dist/lib/types/upload.d.ts +28 -0
  85. package/dist/lib/utils/conversion.d.ts +27 -0
  86. package/dist/lib/utils/index.d.ts +6 -0
  87. package/dist/lib/utils/memo.d.ts +7 -0
  88. package/dist/lib/utils/parameters.d.ts +6 -0
  89. package/dist/lib/utils/text.d.ts +2 -0
  90. package/dist/lodash-vendor-D5A6v3mw.cjs +1 -0
  91. package/dist/lodash-vendor-Dz4vW7Gd.js +1120 -0
  92. package/dist/other-CmpBz5tg.js +15 -0
  93. package/dist/other-TR0ap-t4.cjs +1 -0
  94. package/dist/providers/index.d.ts +1 -0
  95. package/dist/providers/quantum-library-provider.d.ts +8 -0
  96. package/dist/providers.cjs +1 -0
  97. package/dist/providers.js +11 -0
  98. package/dist/quantum-component-library.css +1 -0
  99. package/dist/react-dnd-vendor-BWqlt2EC.cjs +2 -0
  100. package/dist/react-dnd-vendor-BZs2igAJ.js +1375 -0
  101. package/dist/react-icons-vendor-D2s8zw9h.cjs +1 -0
  102. package/dist/react-icons-vendor-TETORdU9.js +119 -0
  103. package/dist/react-select-vendor-By3h6JjH.cjs +4 -0
  104. package/dist/react-select-vendor-eBH7yy3O.js +2801 -0
  105. package/dist/services.cjs +1 -0
  106. package/dist/services.js +810 -0
  107. package/dist/styled-components-vendor-Bvwhddj9.js +1154 -0
  108. package/dist/styled-components-vendor-D09ATioU.cjs +60 -0
  109. package/dist/types.cjs +1 -0
  110. package/dist/types.js +316 -0
  111. package/dist/utils.cjs +1 -0
  112. package/dist/utils.js +128 -0
  113. package/dist/vendor-BeqUcSbw.cjs +45 -0
  114. package/dist/vendor-DvX9OX-j.js +7876 -0
  115. package/package.json +118 -60
  116. package/dist/components/ui/button.d.ts +0 -10
  117. package/dist/index.css +0 -1
  118. package/dist/index.umd.cjs +0 -22
  119. package/dist/lib/utils.d.ts +0 -2
@@ -0,0 +1,7 @@
1
+ export * from './use-graphql-client';
2
+ export * from './use-joints-for-limb-ids';
3
+ export * from './use-joints-for-sensor-locations';
4
+ export * from './use-limbs-for-sensor-locations';
5
+ export * from './use-part-options-for-joints';
6
+ export * from './use-part-options-for-limbs';
7
+ export * from './use-part-options-for-sensor-locations';
@@ -0,0 +1,5 @@
1
+ import { Client } from 'urql';
2
+ export declare const useGraphqlClient: ({ url, getAuthToken, }: {
3
+ url: string;
4
+ getAuthToken: () => string;
5
+ }) => Client;
@@ -0,0 +1,2 @@
1
+ import { HumanBodyLimbId } from '../types/human';
2
+ export declare const useJointsForLimbIds: (limbIds: HumanBodyLimbId[]) => import('../types').IAvailableJoint[];
@@ -0,0 +1,2 @@
1
+ import { SensorLocation } from '../../generated/graphql';
2
+ export declare const useJointsForSensorLocations: (locations: SensorLocation[]) => import('../types').IAvailableJoint[];
@@ -0,0 +1,2 @@
1
+ import { SensorLocation } from '../../generated/graphql';
2
+ export declare const useLimbsForSensorLocations: (locations: SensorLocation[]) => import('../types').IAvailableHumanLimb[];
@@ -0,0 +1,3 @@
1
+ import { AngleDataSource, HumanBodyJointId } from '../types/human';
2
+ import { PartParameter } from '../types/parameters';
3
+ export declare const usePartOptionsForJoints: (joints: HumanBodyJointId[], dataSource: AngleDataSource) => Omit<PartParameter, "kind">[];
@@ -0,0 +1,3 @@
1
+ import { AngleDataSource, HumanBodyLimbId } from '../types/human';
2
+ import { PartParameter } from '../types/parameters';
3
+ export declare const usePartOptionsForLimbs: (limbIds: HumanBodyLimbId[], dataSource: AngleDataSource) => Omit<PartParameter, "kind">[];
@@ -0,0 +1,3 @@
1
+ import { SensorLocation } from '../../generated/graphql';
2
+ import { PartParameter } from '../types/parameters';
3
+ export declare const usePartOptionsForSensorLocations: (locations: SensorLocation[]) => Omit<PartParameter, "kind">[];
@@ -0,0 +1,69 @@
1
+ import { AngleDataSource, AnglePlane, HumanBodyJointId, HumanBodyLimbId, IAvailableJoint, IAvailableHumanLimb as IAvailableLimb, IHumanBody } from '../types/human';
2
+ import { HumanPart, XYZ } from '../types/human-part';
3
+ import { Parameter } from '../../generated/graphql';
4
+ export declare const limbNames: Record<HumanBodyLimbId, string>;
5
+ export declare const jointNames: Record<HumanBodyJointId, string>;
6
+ export declare const jointsUsedByLimbs: Record<HumanBodyLimbId, HumanBodyJointId[]>;
7
+ export declare const limbsRequiredForJoints: Record<HumanBodyJointId, HumanBodyLimbId[]>;
8
+ export declare const getAllAvailableLimbs: () => Array<IAvailableLimb>;
9
+ export declare const getAvailableLimbsForLimbIds: (limbIds: HumanBodyLimbId[]) => IAvailableLimb[];
10
+ export declare const getAllAvailableJoints: () => Array<IAvailableJoint>;
11
+ export declare const getAllAvailableSensorJoints: () => Array<IAvailableJoint>;
12
+ export declare const getAllAvailablePoseJoints: () => Array<IAvailableJoint>;
13
+ export declare const getAllAvailablePoseLimbs: () => Array<IAvailableLimb>;
14
+ export declare const getAvailableSensorJointsForLimbIds: (limbIds: HumanBodyLimbId[]) => IAvailableJoint[];
15
+ export declare const getAvailablePoseJointsForLimbIds: (limbIds: HumanBodyLimbId[]) => IAvailableJoint[];
16
+ export declare const getEnabledJointPlanes: (joint: IAvailableJoint["id"], angleDataSource?: AngleDataSource, enableAllData?: boolean) => AnglePlane[];
17
+ export declare const getEnabledSegmentPlanes: (segment: IAvailableLimb["id"], angleDataSource?: AngleDataSource) => AnglePlane[];
18
+ export declare const getJointAngleDirectionName: (joint: IAvailableJoint["id"], angle: AnglePlane, direction: -1 | 1) => string | null;
19
+ export declare const getJointAngleDirectionAbbr: (joint: IAvailableJoint["id"], angle: AnglePlane, direction: -1 | 1) => string | null;
20
+ export declare const getSegmentAngleDirectionName: (segment: IAvailableLimb["id"], angle: AnglePlane, direction: -1 | 1) => string | null;
21
+ export declare const getSegmentAngleDirectionAbbr: (segment: IAvailableLimb["id"], angle: AnglePlane, direction: -1 | 1) => string | null;
22
+ export declare const getDefaultJointRange: (joint: HumanBodyJointId, plane: AnglePlane) => {
23
+ min: number;
24
+ max: number;
25
+ };
26
+ export declare const getDefaultLimbRange: (limb: HumanBodyLimbId, plane: AnglePlane) => {
27
+ min: number;
28
+ max: number;
29
+ };
30
+ export declare const getNormativeJointRange: (joint: HumanBodyJointId, plane: AnglePlane) => {
31
+ min: number;
32
+ max: number;
33
+ };
34
+ export declare const mkJointPart: (value: IAvailableJoint, plane: AnglePlane) => HumanPart;
35
+ export declare const mkLimbPart: (value: IAvailableLimb, plane: AnglePlane) => HumanPart;
36
+ export declare const mkAccelerationPart: (value: IAvailableLimb, axis: XYZ) => HumanPart;
37
+ export declare const mkAngularVelocityPart: (value: IAvailableJoint, plane: AnglePlane) => HumanPart;
38
+ export declare const isAxis: (value: string) => value is XYZ;
39
+ export declare const isPlane: (value: string) => value is AnglePlane;
40
+ export declare const isLimb: (value: unknown) => value is IAvailableLimb;
41
+ export declare const isJoint: (value: unknown) => value is IAvailableJoint;
42
+ export declare const mkHumanPart: <A extends XYZ | AnglePlane>(value: A extends XYZ ? IAvailableLimb : IAvailableLimb | IAvailableJoint, planeOrAxis: A, angularVelocity?: boolean) => HumanPart;
43
+ export declare const planeOrAxis: (part: HumanPart) => XYZ | AnglePlane;
44
+ export declare const getAxis: (part?: HumanPart) => XYZ | null;
45
+ export declare const getPlane: (part?: HumanPart) => AnglePlane | null;
46
+ export declare const getPartName: (partId: HumanBodyLimbId | HumanBodyJointId) => string;
47
+ export declare const getPartNameNoSide: (partId: HumanBodyLimbId | HumanBodyJointId) => string;
48
+ export declare const getTypicalRom: (partId: HumanBodyJointId | HumanBodyLimbId, plane: AnglePlane) => {
49
+ min: number;
50
+ max: number;
51
+ } | null;
52
+ export declare const getTypicalRomSize: (...args: Parameters<typeof getTypicalRom>) => number;
53
+ export declare const getDefaultAngleSource: (body: IHumanBody, partId: HumanBodyJointId | HumanBodyLimbId) => AngleDataSource | null;
54
+ export declare const getIsDefaultAngleAllowed: (body: IHumanBody, partId: HumanBodyJointId | HumanBodyLimbId, plane: AnglePlane) => boolean;
55
+ export declare const getHumanBodyAngle: (body: IHumanBody, partId: HumanBodyJointId | HumanBodyLimbId, plane: AnglePlane) => number | null;
56
+ export declare const getJointPlaneName: (joint: HumanBodyJointId, plane: AnglePlane, reverse?: boolean) => string | null;
57
+ export declare const getSegmentNameWithPlane: (segment: HumanBodyLimbId, plane: AnglePlane, reverse?: boolean) => string;
58
+ export declare const getSegmentXyzName: (segment: HumanBodyLimbId, axis: XYZ) => string;
59
+ export declare const getJointNameWithPlane: (joint: HumanBodyJointId, plane: AnglePlane, reverse?: boolean) => string | null;
60
+ export declare const getJointOrSegmentNameWithPlane: (part: HumanBodyJointId | HumanBodyLimbId | string, plane: AnglePlane | string) => string;
61
+ export declare const getAngleDirectionNames: <K extends "joint" | "segment">(kind: K, id: K extends "joint" ? HumanBodyJointId : HumanBodyLimbId, plane: AnglePlane, abbreviate?: boolean) => {
62
+ readonly positive: string | null;
63
+ readonly negative: string | null;
64
+ };
65
+ export declare const getParameterDirectionNames: (parameter: Pick<Parameter, "partKind" | "partId" | "partDimension">, abbreviate?: boolean) => {
66
+ readonly positive: string | null;
67
+ readonly negative: string | null;
68
+ };
69
+ export declare const getParameterAngleDirectionName: (value: number, parameter: Pick<Parameter, "partKind" | "partId" | "partDimension">, abbreviate?: boolean) => string | null;
@@ -0,0 +1 @@
1
+ export * from './human';
@@ -0,0 +1,226 @@
1
+ declare const _default: {
2
+ "LeftAnkle": {
3
+ "sagittal": {
4
+ "__COMMENT__": "-Plantar Flexion, +Dorsi flexion",
5
+ "min": -20,
6
+ "max": 30
7
+ },
8
+ "frontal": {
9
+ "__COMMENT__": "-Inversion, +Eversion",
10
+ "min": -30,
11
+ "max": 20
12
+ },
13
+ "transverse": {
14
+ "__COMMENT__": "-Pronation, +Supination",
15
+ "min": -10,
16
+ "max": 10
17
+ }
18
+ },
19
+ "RightAnkle": {
20
+ "sagittal": {
21
+ "__COMMENT__": "-Plantar Flexion, +Dorsi flexion",
22
+ "min": -20,
23
+ "max": 30
24
+ },
25
+ "frontal": {
26
+ "__COMMENT__": "-Inversion, +Eversion",
27
+ "min": -30,
28
+ "max": 20
29
+ },
30
+ "transverse": {
31
+ "__COMMENT__": "-Pronation, +Supination",
32
+ "min": -10,
33
+ "max": 10
34
+ }
35
+ },
36
+ "LeftKnee": {
37
+ "sagittal": {
38
+ "__COMMENT__": "-Extension, +Flexion",
39
+ "min": -5,
40
+ "max": 142
41
+ },
42
+ "frontal": {
43
+ "__COMMENT__": "N/A",
44
+ "min": 0,
45
+ "max": 0
46
+ },
47
+ "transverse": {
48
+ "__COMMENT__": "N/A",
49
+ "min": 0,
50
+ "max": 0
51
+ }
52
+ },
53
+ "RightKnee": {
54
+ "sagittal": {
55
+ "__COMMENT__": "-Extension, +Flexion",
56
+ "min": -5,
57
+ "max": 142
58
+ },
59
+ "frontal": {
60
+ "__COMMENT__": "N/A",
61
+ "min": 0,
62
+ "max": 0
63
+ },
64
+ "transverse": {
65
+ "__COMMENT__": "N/A",
66
+ "min": 0,
67
+ "max": 0
68
+ }
69
+ },
70
+ "LeftHip": {
71
+ "sagittal": {
72
+ "__COMMENT__": "-Extension, +Flexion",
73
+ "min": -18,
74
+ "max": 134
75
+ },
76
+ "frontal": {
77
+ "__COMMENT__": "-Adduction, +Abduction",
78
+ "min": -20,
79
+ "max": 40
80
+ },
81
+ "transverse": {
82
+ "__COMMENT__": "-Internal Rotation, +External Rotation",
83
+ "min": -40,
84
+ "max": 50
85
+ }
86
+ },
87
+ "RightHip": {
88
+ "sagittal": {
89
+ "__COMMENT__": "-Extension, +Flexion",
90
+ "min": -18,
91
+ "max": 134
92
+ },
93
+ "frontal": {
94
+ "__COMMENT__": "-Adduction, +Abduction",
95
+ "min": -20,
96
+ "max": 40
97
+ },
98
+ "transverse": {
99
+ "__COMMENT__": "-Internal Rotation, +External Rotation",
100
+ "min": -40,
101
+ "max": 50
102
+ }
103
+ },
104
+ "NavalSpine": {
105
+ "sagittal": {
106
+ "__COMMENT__": "-Extension, +Flexion",
107
+ "min": -75,
108
+ "max": 60
109
+ },
110
+ "frontal": {
111
+ "__COMMENT__": "-Bend Right, +Bend Left",
112
+ "min": -45,
113
+ "max": 45
114
+ },
115
+ "transverse": {
116
+ "__COMMENT__": "-Twist Right, +Twist Left",
117
+ "min": -80,
118
+ "max": 80
119
+ }
120
+ },
121
+ "ChestSpine": {
122
+ "sagittal": {
123
+ "__COMMENT__": "-Extension, +Flexion",
124
+ "min": -25,
125
+ "max": 50
126
+ },
127
+ "frontal": {
128
+ "__COMMENT__": "-Bend Right, +Bend Left",
129
+ "min": -25,
130
+ "max": 25
131
+ },
132
+ "transverse": {
133
+ "__COMMENT__": "-Twist Right, +Twist Left",
134
+ "min": -30,
135
+ "max": 30
136
+ }
137
+ },
138
+ "TotalSpine": {
139
+ "__COMMENT__": "This is the sum of the ChestSpine and NavalSpine",
140
+ "sagittal": {
141
+ "__COMMENT__": "-Extension, +Flexion",
142
+ "min": -100,
143
+ "max": 110
144
+ },
145
+ "frontal": {
146
+ "__COMMENT__": "-Bend Right, +Bend Left",
147
+ "min": -70,
148
+ "max": 70
149
+ },
150
+ "transverse": {
151
+ "__COMMENT__": "-Twist Right, +Twist Left",
152
+ "min": -110,
153
+ "max": 110
154
+ }
155
+ },
156
+ "LeftShoulder": {
157
+ "sagittal": {
158
+ "__COMMENT__": "-Extension, +Flexion",
159
+ "min": -50,
160
+ "max": 180
161
+ },
162
+ "frontal": {
163
+ "__COMMENT__": "-Adduction, +Abduction",
164
+ "min": -50,
165
+ "max": 180
166
+ },
167
+ "transverse": {
168
+ "__COMMENT__": "-Internal Rotation, +External Rotation",
169
+ "min": -90,
170
+ "max": 90
171
+ }
172
+ },
173
+ "RightShoulder": {
174
+ "sagittal": {
175
+ "__COMMENT__": "-Extension, +Flexion",
176
+ "min": -50,
177
+ "max": 180
178
+ },
179
+ "frontal": {
180
+ "__COMMENT__": "-Adduction, +Abduction",
181
+ "min": -50,
182
+ "max": 180
183
+ },
184
+ "transverse": {
185
+ "__COMMENT__": "-Internal Rotation, +External Rotation",
186
+ "min": -90,
187
+ "max": 90
188
+ }
189
+ },
190
+ "LeftElbow": {
191
+ "sagittal": {
192
+ "__COMMENT__": "-Extension, +Flexion",
193
+ "min": 0,
194
+ "max": 140
195
+ },
196
+ "frontal": {
197
+ "__COMMENT__": "N/A",
198
+ "min": 0,
199
+ "max": 0
200
+ },
201
+ "transverse": {
202
+ "__COMMENT__": "-Pronation/+Supination (of forearm)",
203
+ "min": -80,
204
+ "max": 80
205
+ }
206
+ },
207
+ "RightElbow": {
208
+ "sagittal": {
209
+ "__COMMENT__": "-Extension, +Flexion",
210
+ "min": 0,
211
+ "max": 140
212
+ },
213
+ "frontal": {
214
+ "__COMMENT__": "N/A",
215
+ "min": 0,
216
+ "max": 0
217
+ },
218
+ "transverse": {
219
+ "__COMMENT__": "-Pronation/+Supination (of forearm)",
220
+ "min": -80,
221
+ "max": 80
222
+ }
223
+ }
224
+ };
225
+
226
+ export default _default;
@@ -0,0 +1,19 @@
1
+ import { IHumanBody } from './human';
2
+ export interface IPerformanceMetric {
3
+ name: string;
4
+ value: string | null;
5
+ }
6
+ export interface IActivityInfo {
7
+ mass: number;
8
+ }
9
+ export interface IActivityStep {
10
+ key: string;
11
+ name: string;
12
+ }
13
+ export interface IGetPerformanceMetricsArgs {
14
+ activity: string;
15
+ info: IActivityInfo;
16
+ packets: {
17
+ [key: string]: IHumanBody | null;
18
+ };
19
+ }
@@ -0,0 +1,115 @@
1
+ import { TestAnalysisThresholdKind } from '../../generated/graphql';
2
+ import { AnglePlane, HumanBodyJointId, HumanBodyLimbId } from './human';
3
+ import { XYZ } from './human-part';
4
+ export type UnitKind = "DeltaMilliseconds" | "Milliseconds" | "Meters" | "MetersPerSecond" | "MetersPerSecondSq" | "Kg" | "Rad" | "RadPerSecond" | "RadPerSecondSq" | "Frame" | "Percent" | "Count" | "Score" | "Newton" | "Centimeters" | "PassFail";
5
+ export type UnitDirectionLabels = {
6
+ positive: string;
7
+ negative: string;
8
+ };
9
+ export type Unit = {
10
+ unit: UnitKind;
11
+ value: number;
12
+ };
13
+ export type UnitMap = {
14
+ unit: "DistanceOverTime";
15
+ values: {
16
+ [t: number]: number;
17
+ };
18
+ } | {
19
+ unit: "VelocityOverTime";
20
+ values: {
21
+ [t: number]: number;
22
+ };
23
+ } | {
24
+ unit: "AccelerationOverTime";
25
+ values: {
26
+ [t: number]: number;
27
+ };
28
+ } | {
29
+ unit: "AngleOverTime";
30
+ values: {
31
+ [t: number]: number;
32
+ };
33
+ } | {
34
+ unit: "AngularVelocityOverTime";
35
+ values: {
36
+ [t: number]: number;
37
+ };
38
+ };
39
+ export interface ITimeRange {
40
+ __type?: "TimeRange";
41
+ start: number;
42
+ end: number;
43
+ }
44
+ export interface IFrameRange {
45
+ __type?: "FrameRange";
46
+ start: number;
47
+ end: number;
48
+ }
49
+ export type JointPartId = {
50
+ joint: HumanBodyJointId;
51
+ };
52
+ export type SegmentPartId = {
53
+ segment: HumanBodyLimbId;
54
+ };
55
+ export type AnalysisPartId = JointPartId | SegmentPartId;
56
+ export interface IAnalysisThreshold {
57
+ kind?: TestAnalysisThresholdKind | null;
58
+ min: number;
59
+ max: number;
60
+ part_id: AnalysisPartId;
61
+ plane: AnglePlane;
62
+ }
63
+ export interface IGenerateAnalysisArgs {
64
+ filePath: string;
65
+ }
66
+ export interface IAnalysisDesc {
67
+ name: string;
68
+ hint: string | null;
69
+ }
70
+ export interface IAnalysisStat {
71
+ desc: IAnalysisDesc;
72
+ value: Unit;
73
+ suffix?: string;
74
+ isLoading?: boolean;
75
+ }
76
+ export interface IAnalysisRange {
77
+ partId: AnalysisPartId;
78
+ dimension: AnalysisDimension;
79
+ threshold?: {
80
+ min: number;
81
+ max: number;
82
+ };
83
+ items: UnitMap[];
84
+ itemsOfInterest?: UnitMap;
85
+ }
86
+ export interface IAngleDimension {
87
+ type: "angle";
88
+ plane: AnglePlane;
89
+ }
90
+ export interface IAccelerationDimension {
91
+ type: "acceleration";
92
+ axis: XYZ;
93
+ }
94
+ export type AnalysisDimension = IAngleDimension | IAccelerationDimension;
95
+ export declare const analysisStatBuilder: () => {
96
+ add: (name: string, value: Unit | undefined, hint?: string, suffix?: string | null, isLoading?: boolean) => /*elided*/ any;
97
+ build: () => IAnalysisStat[];
98
+ };
99
+ export declare const mkUnit: (unit: UnitKind, value: number) => Unit;
100
+ export declare const tryMkUnit: (unit: UnitKind, value: number | undefined | null) => Unit | undefined;
101
+ export declare const partIdToJointLimbId: (partId: AnalysisPartId) => HumanBodyJointId | HumanBodyLimbId;
102
+ export declare const partIdToString: (partId: AnalysisPartId) => string;
103
+ export declare const dimensionToLegacy: (dimension: AnalysisDimension) => XYZ | AnglePlane;
104
+ export declare const dimensionName: (dimension: AnalysisDimension) => string;
105
+ export declare const partIdName: (partId: AnalysisPartId) => string;
106
+ type GetAnalysisNameProps = {
107
+ name?: string | null;
108
+ action?: {
109
+ name?: string | null;
110
+ id?: string | null;
111
+ } | null;
112
+ actionSide?: string | null;
113
+ };
114
+ export declare const getAnalysisName: (analysis?: GetAnalysisNameProps | null) => string;
115
+ export {};
@@ -0,0 +1,8 @@
1
+ export interface IAthlete {
2
+ id: string;
3
+ name: string;
4
+ sex: string;
5
+ height: string;
6
+ age: number;
7
+ weight: number;
8
+ }
@@ -0,0 +1,35 @@
1
+ import { CreateTestInput } from '../../generated/graphql';
2
+ import { ISensorRecording } from './sensor-info';
3
+ export interface ICatalogMetadata {
4
+ testFields: CreateTestInput & {
5
+ id?: string;
6
+ };
7
+ profileId: string;
8
+ }
9
+ export interface ICameraCalibration {
10
+ focalLength: [number, number] | null;
11
+ principalPoint: [number, number] | null;
12
+ }
13
+ export interface ICatalogAction {
14
+ startTimestamp: number;
15
+ endTimestamp?: number | null;
16
+ actionId: string;
17
+ actionName: string;
18
+ }
19
+ export interface ICatalogEntry {
20
+ id: string;
21
+ createdAt: number;
22
+ name: string | null;
23
+ zeroedAt: number | null;
24
+ videoStartedAt: number | null;
25
+ transcodedAt: number | null;
26
+ metadata: ICatalogMetadata;
27
+ videoPath: string | null;
28
+ externalVideo: string | null;
29
+ cameraDataPath: string | null;
30
+ sensorDataPath: string | null;
31
+ dataPath: string | null;
32
+ sensorRecordings: ISensorRecording[];
33
+ cameraCalibration: ICameraCalibration | null;
34
+ actions: ICatalogAction[];
35
+ }
@@ -0,0 +1,4 @@
1
+ import { SensorError, SyncError } from './sensor-info';
2
+ export declare const isSyncError: (error: any) => error is SyncError & {
3
+ SyncError: SensorError;
4
+ };
@@ -0,0 +1,23 @@
1
+ import { AnglePlane, IAvailableJoint, IAvailableHumanLimb as IAvailableLimb } from './human';
2
+ export type XYZ = "x" | "y" | "z";
3
+ export type HumanPart = {
4
+ kind: "joint";
5
+ value: IAvailableJoint;
6
+ plane: AnglePlane;
7
+ } | {
8
+ kind: "limb";
9
+ value: IAvailableLimb;
10
+ plane: AnglePlane;
11
+ } | {
12
+ kind: "acceleration";
13
+ value: IAvailableLimb;
14
+ axis: XYZ;
15
+ } | {
16
+ kind: "angular_velocity";
17
+ value: IAvailableJoint;
18
+ plane: AnglePlane;
19
+ };
20
+ export type HumanPartKind = HumanPart["kind"];
21
+ export declare const partKinds: HumanPartKind[];
22
+ export declare const planes: AnglePlane[];
23
+ export declare const axes: XYZ[];