quantum-component-library 1.4.45-qa.4 → 1.4.45-qa.6
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/dist/{babel-vendor-Brd7V25k.js → babel-vendor-BOM86iTb.js} +71 -76
- package/dist/babel-vendor-cKvSpnBp.cjs +3 -0
- package/dist/components.cjs +3 -3
- package/dist/components.js +58 -57
- package/dist/{dnd-core-vendor-DFyhudg3.cjs → dnd-core-vendor-BYC7cLQD.cjs} +1 -1
- package/dist/{dnd-core-vendor-GeFJIrqw.js → dnd-core-vendor-DvzJ584W.js} +2 -2
- package/dist/emotion-vendor-D6PQH2K8.cjs +1 -0
- package/dist/emotion-vendor-DNnoMT20.js +546 -0
- package/dist/floating-ui-vendor-BcB50aec.js +246 -0
- package/dist/floating-ui-vendor-Dsd5TAjM.cjs +1 -0
- package/dist/{graphql-vendor-Bp1AYkpN.cjs → graphql-vendor-B5FHuhCx.cjs} +1 -1
- package/dist/{graphql-vendor-D5ETG7wB.js → graphql-vendor-D_K-hLF7.js} +1 -1
- package/dist/hooks.cjs +1 -1
- package/dist/hooks.js +1 -1
- package/dist/lodash-vendor-D5A6v3mw.cjs +1 -0
- package/dist/lodash-vendor-Dz4vW7Gd.js +1120 -0
- package/dist/moment-vendor-1cRqq0AH.cjs +10 -0
- package/dist/moment-vendor-DMLRxgRE.js +2589 -0
- package/dist/other-react-vendor-CbZyzO2N.cjs +36 -0
- package/dist/other-react-vendor-ZnZFHn3v.js +598 -0
- package/dist/providers.cjs +1 -1
- package/dist/providers.js +6 -6
- package/dist/quantum-component-library.css +1 -1
- package/dist/{react-dnd-vendor-bl4guadi.js → react-dnd-vendor-CN8oCpGz.js} +30 -29
- package/dist/react-dnd-vendor-z_kx2PK8.cjs +2 -0
- package/dist/{react-select-vendor-CM41In8Q.js → react-select-vendor-BAxJ-fS5.js} +45 -43
- package/dist/react-select-vendor-CufHBxrs.cjs +4 -0
- package/dist/services.cjs +1 -1
- package/dist/services.js +1 -1
- package/dist/stylis-vendor-CdCMw5Aa.js +334 -0
- package/dist/stylis-vendor-DzcTLVj9.cjs +1 -0
- package/dist/types.cjs +1 -1
- package/dist/types.js +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +26 -25
- package/dist/vendor-DVLzEdMv.js +3717 -0
- package/dist/vendor-DoH3f618.cjs +1 -0
- package/package.json +3 -4
- package/dist/babel-vendor-pl7onWh-.cjs +0 -3
- package/dist/framer-motion-vendor-BpR8WNZk.js +0 -2945
- package/dist/framer-motion-vendor-DmZv69_a.cjs +0 -9
- package/dist/lodash-vendor-Dkc3o8vE.cjs +0 -1
- package/dist/lodash-vendor-KQku4vKh.js +0 -1602
- package/dist/react-dnd-vendor-CQ6n_Iry.cjs +0 -2
- package/dist/react-select-vendor-qYWfPIoq.cjs +0 -4
- package/dist/ui-vendor-CDpwLSe-.cjs +0 -294
- package/dist/ui-vendor-CTkR2JkD.js +0 -10756
- package/dist/vendor-D0fSwmdY.cjs +0 -90
- package/dist/vendor-DxZbxm3m.js +0 -13085
|
@@ -1,29 +1,3 @@
|
|
|
1
|
-
function b() {
|
|
2
|
-
return b = Object.assign ? Object.assign.bind() : function(t) {
|
|
3
|
-
for (var e = 1; e < arguments.length; e++) {
|
|
4
|
-
var r = arguments[e];
|
|
5
|
-
for (var n in r) ({}).hasOwnProperty.call(r, n) && (t[n] = r[n]);
|
|
6
|
-
}
|
|
7
|
-
return t;
|
|
8
|
-
}, b.apply(null, arguments);
|
|
9
|
-
}
|
|
10
|
-
function g(t, e) {
|
|
11
|
-
if (t == null) return {};
|
|
12
|
-
var r = {};
|
|
13
|
-
for (var n in t) if ({}.hasOwnProperty.call(t, n)) {
|
|
14
|
-
if (e.indexOf(n) !== -1) continue;
|
|
15
|
-
r[n] = t[n];
|
|
16
|
-
}
|
|
17
|
-
return r;
|
|
18
|
-
}
|
|
19
|
-
function c(t, e) {
|
|
20
|
-
return c = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(r, n) {
|
|
21
|
-
return r.__proto__ = n, r;
|
|
22
|
-
}, c(t, e);
|
|
23
|
-
}
|
|
24
|
-
function x(t, e) {
|
|
25
|
-
t.prototype = Object.create(e.prototype), t.prototype.constructor = t, c(t, e);
|
|
26
|
-
}
|
|
27
1
|
function i(t) {
|
|
28
2
|
"@babel/helpers - typeof";
|
|
29
3
|
return i = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
|
|
@@ -32,7 +6,7 @@ function i(t) {
|
|
|
32
6
|
return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
|
|
33
7
|
}, i(t);
|
|
34
8
|
}
|
|
35
|
-
function
|
|
9
|
+
function g(t, e) {
|
|
36
10
|
if (i(t) != "object" || !t) return t;
|
|
37
11
|
var r = t[Symbol.toPrimitive];
|
|
38
12
|
if (r !== void 0) {
|
|
@@ -43,10 +17,10 @@ function _(t, e) {
|
|
|
43
17
|
return (e === "string" ? String : Number)(t);
|
|
44
18
|
}
|
|
45
19
|
function v(t) {
|
|
46
|
-
var e =
|
|
20
|
+
var e = g(t, "string");
|
|
47
21
|
return i(e) == "symbol" ? e : e + "";
|
|
48
22
|
}
|
|
49
|
-
function
|
|
23
|
+
function _(t, e, r) {
|
|
50
24
|
return (e = v(e)) in t ? Object.defineProperty(t, e, {
|
|
51
25
|
value: r,
|
|
52
26
|
enumerable: !0,
|
|
@@ -54,7 +28,7 @@ function w(t, e, r) {
|
|
|
54
28
|
writable: !0
|
|
55
29
|
}) : t[e] = r, t;
|
|
56
30
|
}
|
|
57
|
-
function
|
|
31
|
+
function p(t, e) {
|
|
58
32
|
var r = Object.keys(t);
|
|
59
33
|
if (Object.getOwnPropertySymbols) {
|
|
60
34
|
var n = Object.getOwnPropertySymbols(t);
|
|
@@ -64,70 +38,88 @@ function m(t, e) {
|
|
|
64
38
|
}
|
|
65
39
|
return r;
|
|
66
40
|
}
|
|
67
|
-
function
|
|
41
|
+
function x(t) {
|
|
68
42
|
for (var e = 1; e < arguments.length; e++) {
|
|
69
43
|
var r = arguments[e] != null ? arguments[e] : {};
|
|
70
|
-
e % 2 ?
|
|
71
|
-
|
|
72
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(r)) :
|
|
44
|
+
e % 2 ? p(Object(r), !0).forEach(function(n) {
|
|
45
|
+
_(t, n, r[n]);
|
|
46
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(r)) : p(Object(r)).forEach(function(n) {
|
|
73
47
|
Object.defineProperty(t, n, Object.getOwnPropertyDescriptor(r, n));
|
|
74
48
|
});
|
|
75
49
|
}
|
|
76
50
|
return t;
|
|
77
51
|
}
|
|
78
|
-
function
|
|
52
|
+
function w(t) {
|
|
79
53
|
if (Array.isArray(t)) return t;
|
|
80
54
|
}
|
|
81
|
-
function
|
|
55
|
+
function P(t, e) {
|
|
82
56
|
var r = t == null ? null : typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
|
|
83
57
|
if (r != null) {
|
|
84
|
-
var n, o, a,
|
|
58
|
+
var n, o, a, l, f = [], u = !0, b = !1;
|
|
85
59
|
try {
|
|
86
60
|
if (a = (r = r.call(t)).next, e === 0) {
|
|
87
61
|
if (Object(r) !== r) return;
|
|
88
62
|
u = !1;
|
|
89
|
-
} else for (; !(u = (n = a.call(r)).done) && (
|
|
63
|
+
} else for (; !(u = (n = a.call(r)).done) && (f.push(n.value), f.length !== e); u = !0) ;
|
|
90
64
|
} catch (j) {
|
|
91
|
-
|
|
65
|
+
b = !0, o = j;
|
|
92
66
|
} finally {
|
|
93
67
|
try {
|
|
94
|
-
if (!u && r.return != null && (
|
|
68
|
+
if (!u && r.return != null && (l = r.return(), Object(l) !== l)) return;
|
|
95
69
|
} finally {
|
|
96
|
-
if (
|
|
70
|
+
if (b) throw o;
|
|
97
71
|
}
|
|
98
72
|
}
|
|
99
|
-
return
|
|
73
|
+
return f;
|
|
100
74
|
}
|
|
101
75
|
}
|
|
102
|
-
function
|
|
76
|
+
function s(t, e) {
|
|
103
77
|
(e == null || e > t.length) && (e = t.length);
|
|
104
78
|
for (var r = 0, n = Array(e); r < e; r++) n[r] = t[r];
|
|
105
79
|
return n;
|
|
106
80
|
}
|
|
107
81
|
function d(t, e) {
|
|
108
82
|
if (t) {
|
|
109
|
-
if (typeof t == "string") return
|
|
83
|
+
if (typeof t == "string") return s(t, e);
|
|
110
84
|
var r = {}.toString.call(t).slice(8, -1);
|
|
111
|
-
return r === "Object" && t.constructor && (r = t.constructor.name), r === "Map" || r === "Set" ? Array.from(t) : r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ?
|
|
85
|
+
return r === "Object" && t.constructor && (r = t.constructor.name), r === "Map" || r === "Set" ? Array.from(t) : r === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? s(t, e) : void 0;
|
|
112
86
|
}
|
|
113
87
|
}
|
|
114
|
-
function
|
|
88
|
+
function S() {
|
|
115
89
|
throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
116
90
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
117
91
|
}
|
|
118
|
-
function
|
|
119
|
-
return
|
|
92
|
+
function k(t, e) {
|
|
93
|
+
return w(t) || P(t, e) || d(t, e) || S();
|
|
120
94
|
}
|
|
121
|
-
function
|
|
95
|
+
function A(t, e) {
|
|
122
96
|
if (t == null) return {};
|
|
123
|
-
var r
|
|
97
|
+
var r = {};
|
|
98
|
+
for (var n in t) if ({}.hasOwnProperty.call(t, n)) {
|
|
99
|
+
if (e.indexOf(n) !== -1) continue;
|
|
100
|
+
r[n] = t[n];
|
|
101
|
+
}
|
|
102
|
+
return r;
|
|
103
|
+
}
|
|
104
|
+
function D(t, e) {
|
|
105
|
+
if (t == null) return {};
|
|
106
|
+
var r, n, o = A(t, e);
|
|
124
107
|
if (Object.getOwnPropertySymbols) {
|
|
125
108
|
var a = Object.getOwnPropertySymbols(t);
|
|
126
109
|
for (n = 0; n < a.length; n++) r = a[n], e.indexOf(r) === -1 && {}.propertyIsEnumerable.call(t, r) && (o[r] = t[r]);
|
|
127
110
|
}
|
|
128
111
|
return o;
|
|
129
112
|
}
|
|
130
|
-
function
|
|
113
|
+
function m() {
|
|
114
|
+
return m = Object.assign ? Object.assign.bind() : function(t) {
|
|
115
|
+
for (var e = 1; e < arguments.length; e++) {
|
|
116
|
+
var r = arguments[e];
|
|
117
|
+
for (var n in r) ({}).hasOwnProperty.call(r, n) && (t[n] = r[n]);
|
|
118
|
+
}
|
|
119
|
+
return t;
|
|
120
|
+
}, m.apply(null, arguments);
|
|
121
|
+
}
|
|
122
|
+
function L(t, e) {
|
|
131
123
|
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
|
|
132
124
|
}
|
|
133
125
|
function O(t, e) {
|
|
@@ -136,12 +128,17 @@ function O(t, e) {
|
|
|
136
128
|
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(t, v(n.key), n);
|
|
137
129
|
}
|
|
138
130
|
}
|
|
139
|
-
function
|
|
131
|
+
function W(t, e, r) {
|
|
140
132
|
return e && O(t.prototype, e), r && O(t, r), Object.defineProperty(t, "prototype", {
|
|
141
133
|
writable: !1
|
|
142
134
|
}), t;
|
|
143
135
|
}
|
|
144
|
-
function
|
|
136
|
+
function y(t, e) {
|
|
137
|
+
return y = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(r, n) {
|
|
138
|
+
return r.__proto__ = n, r;
|
|
139
|
+
}, y(t, e);
|
|
140
|
+
}
|
|
141
|
+
function z(t, e) {
|
|
145
142
|
if (typeof e != "function" && e !== null) throw new TypeError("Super expression must either be null or a function");
|
|
146
143
|
t.prototype = Object.create(e && e.prototype, {
|
|
147
144
|
constructor: {
|
|
@@ -151,12 +148,12 @@ function N(t, e) {
|
|
|
151
148
|
}
|
|
152
149
|
}), Object.defineProperty(t, "prototype", {
|
|
153
150
|
writable: !1
|
|
154
|
-
}), e &&
|
|
151
|
+
}), e && y(t, e);
|
|
155
152
|
}
|
|
156
|
-
function
|
|
157
|
-
return
|
|
153
|
+
function c(t) {
|
|
154
|
+
return c = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(e) {
|
|
158
155
|
return e.__proto__ || Object.getPrototypeOf(e);
|
|
159
|
-
},
|
|
156
|
+
}, c(t);
|
|
160
157
|
}
|
|
161
158
|
function h() {
|
|
162
159
|
try {
|
|
@@ -177,19 +174,19 @@ function E(t, e) {
|
|
|
177
174
|
if (e !== void 0) throw new TypeError("Derived constructors may only return object or undefined");
|
|
178
175
|
return T(t);
|
|
179
176
|
}
|
|
180
|
-
function
|
|
177
|
+
function N(t) {
|
|
181
178
|
var e = h();
|
|
182
179
|
return function() {
|
|
183
|
-
var r, n =
|
|
180
|
+
var r, n = c(t);
|
|
184
181
|
if (e) {
|
|
185
|
-
var o =
|
|
182
|
+
var o = c(this).constructor;
|
|
186
183
|
r = Reflect.construct(n, arguments, o);
|
|
187
184
|
} else r = n.apply(this, arguments);
|
|
188
185
|
return E(this, r);
|
|
189
186
|
};
|
|
190
187
|
}
|
|
191
188
|
function I(t) {
|
|
192
|
-
if (Array.isArray(t)) return
|
|
189
|
+
if (Array.isArray(t)) return s(t);
|
|
193
190
|
}
|
|
194
191
|
function C(t) {
|
|
195
192
|
if (typeof Symbol < "u" && t[Symbol.iterator] != null || t["@@iterator"] != null) return Array.from(t);
|
|
@@ -198,10 +195,10 @@ function R() {
|
|
|
198
195
|
throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
199
196
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
|
|
200
197
|
}
|
|
201
|
-
function
|
|
198
|
+
function B(t) {
|
|
202
199
|
return I(t) || C(t) || d(t) || R();
|
|
203
200
|
}
|
|
204
|
-
function
|
|
201
|
+
function H(t, e) {
|
|
205
202
|
return e || (e = t.slice(0)), Object.freeze(Object.defineProperties(t, {
|
|
206
203
|
raw: {
|
|
207
204
|
value: Object.freeze(e)
|
|
@@ -209,18 +206,16 @@ function K(t, e) {
|
|
|
209
206
|
}));
|
|
210
207
|
}
|
|
211
208
|
export {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
209
|
+
D as _,
|
|
210
|
+
k as a,
|
|
211
|
+
x as b,
|
|
215
212
|
i as c,
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
x as l,
|
|
225
|
-
g as m
|
|
213
|
+
_ as d,
|
|
214
|
+
m as e,
|
|
215
|
+
H as f,
|
|
216
|
+
z as g,
|
|
217
|
+
N as h,
|
|
218
|
+
W as i,
|
|
219
|
+
L as j,
|
|
220
|
+
B as k
|
|
226
221
|
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";function i(e){"@babel/helpers - typeof";return i=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(e)}function g(e,t){if(i(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(i(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function d(e){var t=g(e,"string");return i(t)=="symbol"?t:t+""}function _(e,t,r){return(t=d(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function P(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?m(Object(r),!0).forEach(function(n){_(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):m(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function w(e){if(Array.isArray(e))return e}function S(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,u,l,f=[],a=!0,b=!1;try{if(u=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;a=!1}else for(;!(a=(n=u.call(r)).done)&&(f.push(n.value),f.length!==t);a=!0);}catch(j){b=!0,o=j}finally{try{if(!a&&r.return!=null&&(l=r.return(),Object(l)!==l))return}finally{if(b)throw o}}return f}}function s(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function v(e,t){if(e){if(typeof e=="string")return s(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?s(e,t):void 0}}function A(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function T(e,t){return w(e)||S(e,t)||v(e,t)||A()}function C(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}function E(e,t){if(e==null)return{};var r,n,o=C(e,t);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(n=0;n<u.length;n++)r=u[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function y(){return y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},y.apply(null,arguments)}function I(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function O(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,d(n.key),n)}}function R(e,t,r){return t&&O(e.prototype,t),r&&O(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function p(e,t){return p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},p(e,t)}function x(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}function c(e){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},c(e)}function h(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(h=function(){return!!e})()}function k(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function D(e,t){if(t&&(i(t)=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return k(e)}function L(e){var t=h();return function(){var r,n=c(e);if(t){var o=c(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return D(this,r)}}function W(e){if(Array.isArray(e))return s(e)}function z(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function N(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
3
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function B(e){return W(e)||z(e)||v(e)||N()}function H(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}exports._classCallCheck=I;exports._createClass=R;exports._createSuper=L;exports._defineProperty=_;exports._extends=y;exports._inherits=x;exports._objectSpread2=P;exports._objectWithoutProperties=E;exports._slicedToArray=T;exports._taggedTemplateLiteral=H;exports._toConsumableArray=B;exports._typeof=i;
|
package/dist/components.cjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./vendor-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./other-react-vendor-CbZyzO2N.cjs"),t=require("@chakra-ui/react"),o=require("react"),Re=require("./vendor-DoH3f618.cjs"),xe=require("./styled-components-vendor-D09ATioU.cjs"),H=require("./react-select-vendor-CufHBxrs.cjs"),de=require("./react-icons-vendor-D2s8zw9h.cjs"),G=require("./graphql-vendor-B5FHuhCx.cjs"),R=require("./generated-ChsGaiYd.cjs"),w=require("./graphql-CqPvuCvr.cjs"),oe=require("./react-dnd-vendor-z_kx2PK8.cjs"),V=require("./services.cjs"),J=require("./types.cjs"),X=require("./utils.cjs"),fe=require("./hooks.cjs"),be=({setSearch:n,actions:s,updateUseCases:a})=>{const m=o.useMemo(()=>s?.flatMap(c=>c.useCases).filter((c,u,h)=>h.findIndex(f=>f.id===c.id)===u).map(c=>({label:c.name,value:c.id}))||[],[s]);return e.jsxRuntimeExports.jsxs(t.Flex,{width:"100%",alignContent:"space-evenly",gap:4,children:[e.jsxRuntimeExports.jsxs(t.InputGroup,{size:"md",children:[e.jsxRuntimeExports.jsx(t.InputLeftElement,{children:e.jsxRuntimeExports.jsx(t.Icon,{as:de.FaSearch,color:"gray.300"})}),e.jsxRuntimeExports.jsx(t.Input,{placeholder:"Search by name...",maxW:"30rem",onChange:c=>n(c.target.value)})]}),e.jsxRuntimeExports.jsx(t.InputGroup,{size:"md",children:e.jsxRuntimeExports.jsx(H.st,{size:"md",chakraStyles:{container:c=>({...c,width:"100%"})},menuPortalTarget:document.body,placeholder:"Filter use case",isMulti:!0,options:m,onChange:c=>a(c.map(u=>u.value))})})]})},Y=({children:n})=>e.jsxRuntimeExports.jsx(t.FormLabel,{fontWeight:"bold",fontFamily:"sans-serif",fontSize:"large",children:n}),Ce=({value:n,onChange:s})=>{const a=o.useState(()=>Math.random().toString(36).substring(2,15))[0],m=o.useCallback((c,u)=>{s(h=>{const f=[...h],[b]=f.splice(c,1);return f.splice(u,0,b),f})},[s]);return e.jsxRuntimeExports.jsx(t.Box,{children:e.jsxRuntimeExports.jsx(oe.DndProvider,{backend:oe.HTML5Backend,children:e.jsxRuntimeExports.jsx(t.TableContainer,{children:e.jsxRuntimeExports.jsxs(t.Table,{variant:"simple",size:"md",children:[e.jsxRuntimeExports.jsx(t.Thead,{children:e.jsxRuntimeExports.jsxs(t.Tr,{children:[e.jsxRuntimeExports.jsx(t.Th,{children:"Order"}),e.jsxRuntimeExports.jsx(t.Th,{children:"Name"})]})}),e.jsxRuntimeExports.jsx(t.Tbody,{children:n.map((c,u)=>e.jsxRuntimeExports.jsx(Se,{listKey:a,index:u,id:c.id,name:c.name,move:m},c.id))})]})})})})},Se=({listKey:n,index:s,id:a,name:m,move:c})=>{const u=o.useRef(null),[{handlerId:h},f]=oe.useDrop({accept:n,collect:E=>({handlerId:E.getHandlerId()?.toString()??""}),hover:(E,A)=>{if(!u.current)return;const d=E.index,l=s;if(d===l)return;const T=u.current?.getBoundingClientRect(),C=(T.bottom-T.top)/2,p=A.getClientOffset().y-T.top;d<l&&p<C||d>l&&p>C||(c(d,l),E.index=l)}}),[{isDragging:b},v]=oe.useDrag({type:n,item:()=>({id:a,index:s}),collect:E=>({isDragging:E.isDragging()})}),F=b?.6:1,g=b?"grabbing":"grab";return v(f(u)),e.jsxRuntimeExports.jsxs(t.Tr,{ref:u,style:{opacity:F,cursor:g},"data-handler-id":h,children:[e.jsxRuntimeExports.jsx(t.Td,{children:s+1}),e.jsxRuntimeExports.jsx(t.Td,{children:m})]})},le=({items:n,onChange:s,selectedItem:a,isDisabled:m,selectedProps:c,buttonProps:u})=>{const h=b=>b===a||b.value===a,f=b=>h(b)?{...u,...c}:u;return e.jsxRuntimeExports.jsx(t.ButtonGroup,{isAttached:!0,isDisabled:m,children:n.map((b,v)=>e.jsxRuntimeExports.jsx(t.Tooltip,{label:b.tooltip,openDelay:50,closeDelay:200,placement:"top",visibility:b.tooltip?"visible":"hidden",hasArrow:!0,children:e.jsxRuntimeExports.jsx(t.Button,{onClick:()=>h(b)?null:s(b,v),isDisabled:b.disabled,...f(b),children:b.label})},v))})},se=(n,s)=>s<0?-1*Math.abs(n):Math.abs(n),ye=({isReversed:n,min:s,max:a,value:m,onChange:c,inputProps:u,size:h,zeroMarker:f,formatValue:b,valueLabel:v,positiveNegativeLabels:F,isDisabled:g,...E})=>{const[A,d]=o.useState([void 0,void 0]),l=A[0],T=A[1],C=f&&s<-5&&a>5,S=Number(m?.[0]??T??s)>0?1:-1,p=Number(m?.[1]??T??a)<0?-1:1,j=F?.[0]===F?.[1],M=m?.[0],D=m?.[1];o.useEffect(()=>{M!==void 0&&D!==void 0&&d([M.toFixed(0),D.toFixed(0)])},[M,D,d]);const I=o.useCallback(([i,y])=>{i<y&&d([i.toFixed(0),y.toFixed(0)])},[d]),z=o.useCallback(([i,y])=>{i<y&&c([i,y])},[c]),k=o.useCallback(()=>{d(([i,y])=>{const L=isNaN(Number(i))?s:Number(i),_=isNaN(Number(y))?a:Number(y),W=se(Number(L),S),O=se(Number(_),p),q=S<0?Math.max(W,s):Math.min(W,a),B=p<0?Math.max(O,s):Math.min(O,a);return q>B?(c([B,q]),[B.toFixed(0),q.toFixed(0)]):(c([q,B]),[q.toFixed(0),B.toFixed(0)])})},[c,d,S,p,s,a]),U=o.useCallback(i=>{const y=i===""||isNaN(Number(i))?i:se(Number(i),S);d(([L,_])=>[y.toString(),_])},[d,S]),P=o.useCallback(i=>{const y=i===""||isNaN(Number(i))?i:se(Number(i),p);d(([L,_])=>[L,y.toString()])},[d,p]),x=o.useMemo(()=>h==="xs"?"0.75rem":void 0,[h]),r=o.useCallback((i,y)=>{const L=Number(y.target.value);if(!l||!T||![-1,1].includes(L))return;const _=q=>L<0?-1*Math.abs(q):Math.abs(q),W=i?_(Number(l)):Number(l),O=i?Number(T):_(Number(T));W>O?c([O,W]):c([W,O])},[l,T,c]);return e.jsxRuntimeExports.jsxs(t.Flex,{direction:"column",...E,children:[e.jsxRuntimeExports.jsx(t.Box,{pt:"1em",mb:"-0.5em",children:e.jsxRuntimeExports.jsxs(t.RangeSlider,{"aria-label":["min","max"],isReversed:n,value:[Number(l??s),Number(T??a)],max:a,min:s,minStepsBetweenThumbs:3,step:1,onChange:I,onChangeEnd:z,isDisabled:g,children:[e.jsxRuntimeExports.jsx(t.RangeSliderMark,{value:s,top:"-1em",children:e.jsxRuntimeExports.jsx(t.Text,{fontSize:h??"sm",fontWeight:"semibold",whiteSpace:"nowrap",children:b?b?.(s):s})}),e.jsxRuntimeExports.jsx(t.RangeSliderMark,{value:a,top:"-1em",children:e.jsxRuntimeExports.jsx(t.Text,{fontSize:h??"sm",fontWeight:"semibold",style:{transform:"translateX(-100%)"},whiteSpace:"nowrap",children:b?b(a):a})}),C&&e.jsxRuntimeExports.jsxs(t.RangeSliderMark,{value:0,top:"-1em",pos:"relative",children:[e.jsxRuntimeExports.jsx(t.Text,{fontSize:h,fontWeight:"semibold",children:b?.(0)??"0"}),e.jsxRuntimeExports.jsx(ve,{})]}),e.jsxRuntimeExports.jsx(t.RangeSliderTrack,{children:e.jsxRuntimeExports.jsx(t.RangeSliderFilledTrack,{})}),e.jsxRuntimeExports.jsx(t.RangeSliderThumb,{index:0,w:x,h:x}),e.jsxRuntimeExports.jsx(t.RangeSliderThumb,{index:1,w:x,h:x})]})}),v&&e.jsxRuntimeExports.jsxs(t.Flex,{direction:n?"row-reverse":"row",justifyContent:"space-between",children:[e.jsxRuntimeExports.jsx(t.Text,{fontSize:h??"sm",fontWeight:"semibold",whiteSpace:"nowrap",children:v(s)}),e.jsxRuntimeExports.jsx(t.Text,{fontSize:h??"sm",fontWeight:"semibold",whiteSpace:"nowrap",children:v(a)})]}),e.jsxRuntimeExports.jsxs(t.Flex,{direction:n?"row-reverse":"row",justifyContent:"center",alignItems:"center",gap:"0.125em",children:[F&&e.jsxRuntimeExports.jsxs(t.Select,{width:"auto",size:h,fontWeight:"bold",value:S,onChange:i=>r(!0,i),isDisabled:j||g,children:[e.jsxRuntimeExports.jsx("option",{value:-1,children:F[0]}),e.jsxRuntimeExports.jsx("option",{value:1,children:F[1]})]}),e.jsxRuntimeExports.jsx(t.NumberInput,{precision:0,size:h??"sm",min:0,max:S<0?Math.abs(s):D??a,value:l===""?"":Math.abs(Number(l??s)),onChange:U,onBlur:k,borderWidth:1,borderRadius:3,borderColor:"#ccc",isDisabled:g,...u,children:e.jsxRuntimeExports.jsx(t.NumberInputField,{backgroundColor:"#fff",paddingRight:0,width:"4em"})}),e.jsxRuntimeExports.jsx(t.NumberInput,{size:h??"sm",min:0,max:p<0?Math.abs(M??s):a,precision:0,value:T===""?"":Math.abs(Number(T??a)),onChange:P,onBlur:k,borderWidth:1,borderRadius:3,borderColor:"#ccc",isDisabled:g,...u,children:e.jsxRuntimeExports.jsx(t.NumberInputField,{backgroundColor:"#fff",paddingRight:0,width:"4em"})}),F&&e.jsxRuntimeExports.jsxs(t.Select,{width:"auto",size:h,fontWeight:"bold",value:p,onChange:i=>r(!1,i),isDisabled:j||g,children:[e.jsxRuntimeExports.jsx("option",{value:-1,children:F[0]}),e.jsxRuntimeExports.jsx("option",{value:1,children:F[1]})]})]})]})},ve=xe.dt(t.Box)`
|
|
2
2
|
position: absolute;
|
|
3
3
|
width: 2px;
|
|
4
4
|
height: 1em;
|
|
5
5
|
top: 90%;
|
|
6
6
|
left: 20%;
|
|
7
7
|
background-color: var(--chakra-colors-gray-300);
|
|
8
|
-
`,
|
|
8
|
+
`,Te=({tags:n,containerProps:s,...a})=>e.jsxRuntimeExports.jsx(t.HStack,{...s,children:n.map((m,c)=>e.jsxRuntimeExports.jsx(t.Tag,{...a,children:m},c))}),Me=new Re.uFuzzy({}),Ae=(n,s)=>{if(!s||!s.trim().length)return n;const a=n.map(c=>c.name??"");return Me.filter(a,s)?.map(c=>n[c])??[]},we=(n,s)=>!s||s.length==0?n:n.filter(a=>a.useCases.some(m=>s.includes(m.id))),me=({actions:n,totalActions:s,onCreate:a,onDelete:m,onEdit:c,onSelected:u,onDuplicate:h,disableMultiSelect:f,disableDelete:b,disableEdit:v,disableCreate:F,tableProps:g,...E})=>{const[A,d]=o.useState(""),[l,T]=o.useState(),C=o.useMemo(()=>{if(!n)return;const j=Ae(n,A);return we(j,l).sort((D,I)=>D.name.localeCompare(I.name))},[n,A,l]),S=o.useCallback(()=>{if(!m)return;const j=n.filter(M=>M.selected).map(M=>M.id);m(j)},[n,m]),p=o.useCallback(()=>{if(!h)return;const j=n.filter(M=>M.selected);h(j.map(M=>M.id)),u&&j.forEach(M=>u(M,!1))},[n,h,u]);return e.jsxRuntimeExports.jsxs(t.Box,{...E,children:[e.jsxRuntimeExports.jsxs(t.Flex,{alignContent:"space-between",gap:4,children:[(a||m||h)&&e.jsxRuntimeExports.jsxs(t.ButtonGroup,{mb:"1rem",gap:4,children:[a&&e.jsxRuntimeExports.jsx(t.Button,{isDisabled:!a||F,colorScheme:"blackAlpha",backgroundColor:"gray.700",onClick:a,children:"Create New Activity"}),m&&!f&&e.jsxRuntimeExports.jsx(t.Button,{colorScheme:"gray",isDisabled:n.length<=0||!m||b,onClick:S,children:"Delete Selected"}),h&&!f&&e.jsxRuntimeExports.jsx(t.Button,{colorScheme:"gray",isDisabled:n.length<=0,onClick:p,children:"Duplicate Selected"})]}),e.jsxRuntimeExports.jsx(be,{setSearch:d,actions:n,updateUseCases:T})]}),e.jsxRuntimeExports.jsx(t.TableContainer,{mr:"2rem",overflowX:"hidden",...g,children:e.jsxRuntimeExports.jsxs(t.Table,{size:"md",variant:"simple",children:[e.jsxRuntimeExports.jsx(t.Thead,{position:"sticky",top:0,bg:"white",zIndex:1,children:e.jsxRuntimeExports.jsxs(t.Tr,{children:[e.jsxRuntimeExports.jsxs(t.Th,{fontWeight:"normal",children:["(showing ",C?.length??0," of"," ",s??n.length,")"]}),e.jsxRuntimeExports.jsx(t.Th,{children:"Name"}),e.jsxRuntimeExports.jsx(t.Th,{children:"Sensor Count"}),e.jsxRuntimeExports.jsx(t.Th,{children:"Use Case"}),e.jsxRuntimeExports.jsx(t.Th,{})]})}),e.jsxRuntimeExports.jsx(t.Tbody,{children:C?.map(j=>e.jsxRuntimeExports.jsxs(Fe,{disableMultiSelect:f,selected:j.selected,title:f&&j.selected?"This activity is selected. Click it again to deselect.":void 0,bg:f&&j.selected?"gray.200":void 0,onClick:()=>f?u?.(j,!j.selected):void 0,children:[e.jsxRuntimeExports.jsx(t.Td,{children:e.jsxRuntimeExports.jsxs(t.Flex,{children:[u&&!f&&e.jsxRuntimeExports.jsx(t.Checkbox,{isChecked:j.selected,onChange:M=>u(j,M.target.checked)}),c&&e.jsxRuntimeExports.jsx(t.Button,{disabled:v,ml:"1em",size:"sm",variant:"link",colorScheme:"blue",onClick:()=>c(j.id),children:"edit"})]})}),e.jsxRuntimeExports.jsx(t.Td,{whiteSpace:"break-spaces",children:j.name}),e.jsxRuntimeExports.jsx(t.Td,{maxW:"20rem",children:j.sensorLocations.length}),e.jsxRuntimeExports.jsx(t.Td,{maxW:"20rem",children:e.jsxRuntimeExports.jsx(Te,{containerProps:{flexWrap:"wrap"},tags:j.useCases?.map(M=>M.name)??[]})})]},j.id))})]})})]})},Fe=xe.dt(t.Tr)`
|
|
9
9
|
&:hover {
|
|
10
10
|
background-color: ${n=>n.disableMultiSelect&&!n.selected?"#f7f7f7":void 0};
|
|
11
11
|
}
|
|
12
12
|
cursor: ${n=>n.disableMultiSelect?"pointer":"default"};
|
|
13
|
-
`,Fe=({onSave:n,onCancel:s,onError:a,hideButtons:m=!1,setButtonDisabled:c,setButtonOnClick:u,quantumOwned:h})=>{const f=t.useToast(),[b,v]=o.useState(""),[F,g]=o.useState([]),[E,A]=o.useState(!1),[d]=G.useQuery({query:w.GET_GROUPS}),[l]=G.useQuery({query:w.GET_ACTIONS_BY_GROUP,variables:{groupId:b},pause:!b}),[,T]=G.useMutation(w.CREATE_ACTION),C=o.useMemo(()=>d.data?.groups?d.data.groups.map(x=>R.getFragmentData(w.GROUP_FRAGMENT,x)):[],[d.data]),S=o.useMemo(()=>l.data?l.data.actions.map(r=>R.getFragmentData(w.ACTION_FRAGMENT,r)):[],[l.data]),p=o.useMemo(()=>S.filter(x=>F.includes(x.id)),[S,F]),j=o.useCallback(x=>{const r=x?.value||"";v(r),g([])},[]),M=o.useCallback(x=>{const r=x.map(i=>i.value);g(r)},[]),D=o.useCallback(async()=>{if(A(!0),!p.length){const x=new Error("No activities selected for copying");a?.(x),A(!1);return}try{const x=[];let r=0;for(const i of p)try{const y={...i,name:`${i.name} (Copy)`,description:i.description||void 0,instructionsPointOfInterest:i.instructionsPointOfInterest||void 0,instructionsMovementReport:i.instructionsMovementReport||void 0,laterality:i.laterality,activityKind:i.activityKind,sensorLocations:i.sensorLocations,thresholds:i.thresholds.map(_=>({..._,id:void 0})),quantumOwned:h,id:void 0},L=await T({fields:y});if(L.error)throw new Error(L.error.message);if(L.data?.createAction){const _=R.getFragmentData(w.ACTION_FRAGMENT,L.data.createAction);x.push(_)}}catch(y){console.error(`Failed to copy activity "${i.name}":`,y),r++}if(x.length>0){const i=x.length,y=p.length;f({title:r>0?"Partial copy completed":"Activities copied successfully",description:r>0?`${i} of ${y} activities copied successfully`:`${i} activit${i>1?"ies":"y"} copied successfully`,status:r>0?"warning":"success",duration:3e3,isClosable:!0}),n?.(),v(""),g([])}else throw new Error("Failed to copy any activities")}catch(x){const r=x instanceof Error?x.message:"Failed to copy activities";f({title:"Copy failed",description:r,status:"error",duration:5e3,isClosable:!0}),a?.(x instanceof Error?x:new Error(r))}finally{A(!1)}},[p,T,f,n,a,h]),I=o.useCallback(()=>{v(""),g([]),s?.()},[s]);o.useEffect(()=>{c&&c({cancelButton:!1,saveButton:p.length===0||E})},[p.length,E,c]),o.useEffect(()=>{u&&u({cancelButton:I,saveButton:D})},[u,I,D]);const z=o.useMemo(()=>C.map(x=>({value:x.id,label:x.name})),[C]),k=o.useMemo(()=>S.map(x=>({value:x.id,label:x.name,isQuantumOwned:x.quantumOwned})),[S]),U=d.fetching,P=l.fetching;return e.jsxRuntimeExports.jsx(t.Box,{children:e.jsxRuntimeExports.jsxs(t.VStack,{spacing:6,align:"stretch",children:[e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx(Y,{children:"Select Source Group"}),e.jsxRuntimeExports.jsx(H.st,{placeholder:"Choose a group...",options:z,value:z.find(x=>x.value===b)||null,onChange:j,isLoading:U,isDisabled:U,isClearable:!0}),d.error&&e.jsxRuntimeExports.jsxs(t.Alert,{status:"error",mt:2,children:[e.jsxRuntimeExports.jsx(t.AlertIcon,{}),e.jsxRuntimeExports.jsxs(t.Text,{fontSize:"sm",children:["Failed to load groups: ",d.error.message]})]})]}),b&&e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx(Y,{children:"Select Activities to Copy"}),P?e.jsxRuntimeExports.jsxs(t.HStack,{children:[e.jsxRuntimeExports.jsx(t.Spinner,{size:"sm"}),e.jsxRuntimeExports.jsx(t.Text,{fontSize:"sm",color:"gray.600",children:"Loading activities..."})]}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(H.st,{placeholder:"Choose activities to copy...",options:k,value:k.filter(x=>F.includes(x.value)),onChange:M,isDisabled:k.length===0,isClearable:!0,isMulti:!0,closeMenuOnSelect:!1,formatOptionLabel:(x,{context:r})=>e.jsxRuntimeExports.jsxs(t.HStack,{justify:"space-between",w:"100%",children:[e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxRuntimeExports.jsx(t.Text,{children:x.label}),r==="value"&&x.isQuantumOwned&&e.jsxRuntimeExports.jsx(t.Text,{color:"blue",fontSize:"xs",children:"(Quantum Owned)"})]}),x.isQuantumOwned&&r==="menu"&&e.jsxRuntimeExports.jsx(t.Tag,{size:"sm",colorScheme:"blue",variant:"solid",children:"Quantum Owned"})]})}),k.length===0&&e.jsxRuntimeExports.jsx(t.Text,{fontSize:"sm",color:"gray.500",mt:2,children:"No activities found"})]}),l.error&&e.jsxRuntimeExports.jsxs(t.Alert,{status:"error",mt:2,children:[e.jsxRuntimeExports.jsx(t.AlertIcon,{}),e.jsxRuntimeExports.jsxs(t.Text,{fontSize:"sm",children:["Failed to load activities: ",l.error.message]})]})]}),p.length>0&&e.jsxRuntimeExports.jsxs(t.Box,{p:4,bg:"gray.50",borderRadius:"md",children:[e.jsxRuntimeExports.jsx(t.Text,{fontWeight:"semibold",mb:3,children:p.length===1?"Activity to Copy:":`${p.length} Activities to Copy:`}),e.jsxRuntimeExports.jsxs(t.VStack,{align:"start",spacing:3,children:[p.map((x,r)=>e.jsxRuntimeExports.jsxs(t.Box,{w:"100%",p:3,bg:"white",borderRadius:"md",border:"1px solid",borderColor:"gray.200",children:[e.jsxRuntimeExports.jsxs(t.HStack,{justify:"space-between",align:"start",mb:2,children:[e.jsxRuntimeExports.jsxs(t.Text,{fontWeight:"medium",fontSize:"sm",children:[r+1,". ",x.name]}),x.quantumOwned&&e.jsxRuntimeExports.jsx(t.Tag,{size:"sm",colorScheme:"blue",variant:"solid",children:"Quantum Owned"})]}),e.jsxRuntimeExports.jsxs(t.VStack,{align:"start",spacing:1,fontSize:"sm",color:"gray.600",children:[x.description&&e.jsxRuntimeExports.jsxs(t.Text,{children:[e.jsxRuntimeExports.jsx("strong",{children:"Description:"})," ",x.description]}),e.jsxRuntimeExports.jsxs(t.Text,{children:[e.jsxRuntimeExports.jsx("strong",{children:"Type:"})," ",x.activityKind]}),e.jsxRuntimeExports.jsxs(t.Text,{children:[e.jsxRuntimeExports.jsx("strong",{children:"Laterality:"})," ",x.laterality]}),e.jsxRuntimeExports.jsxs(t.Text,{children:[e.jsxRuntimeExports.jsx("strong",{children:"Sensor Locations:"})," ",x.sensorLocations.length]}),e.jsxRuntimeExports.jsxs(t.Text,{children:[e.jsxRuntimeExports.jsx("strong",{children:"Thresholds:"})," ",x.thresholds.length]}),e.jsxRuntimeExports.jsxs(t.Text,{children:[e.jsxRuntimeExports.jsx("strong",{children:"Use Cases:"})," ",x.useCases.map(i=>i.name).join(", ")||"None"]})]})]},x.id)),p.length>1&&e.jsxRuntimeExports.jsx(t.Box,{w:"100%",p:2,bg:"blue.50",borderRadius:"md",border:"1px solid",borderColor:"blue.200",children:e.jsxRuntimeExports.jsxs(t.Text,{fontSize:"sm",fontWeight:"medium",color:"blue.800",children:["Total: ",p.length," activities will be copied"]})})]})]}),!m&&e.jsxRuntimeExports.jsxs(t.ButtonGroup,{spacing:4,justifyContent:"flex-end",children:[e.jsxRuntimeExports.jsx(t.Button,{variant:"outline",onClick:I,isDisabled:E,children:"Cancel"}),e.jsxRuntimeExports.jsxs(t.Button,{colorScheme:"blue",onClick:D,isDisabled:p.length===0||E,isLoading:E,loadingText:"Copying...",children:["Copy"," ",p.length===1?"Activity":`${p.length} Activities`]})]})]})})},Ie=({onSave:n,onCancel:s,onError:a,hideButtons:m=!1,setButtonDisabled:c,setButtonOnClick:u,quantumOwned:h})=>{const f=t.useToast(),[b,v]=o.useState(""),[F,g]=o.useState([]),[E,A]=o.useState(!1),[d]=G.useQuery({query:w.GET_GROUPS}),[l]=G.useQuery({query:w.GET_MODULES_BY_GROUP,variables:{groupId:b},pause:!b}),[,T]=G.useMutation(w.CREATE_MODULE),[,C]=G.useMutation(w.CREATE_ACTION),S=o.useMemo(()=>d.data?.groups?d.data.groups.map(r=>R.getFragmentData(w.GROUP_FRAGMENT,r)):[],[d.data]),p=o.useMemo(()=>l.data?.modules?R.getFragmentData(w.ACTION_MODULE_FRAGMENT,l.data?.modules).map(i=>{const y=R.getFragmentData(w.MODULE_ACTION_FRAGMENT,i.moduleActions);return{...i,moduleActions:y.map(L=>({...L,action:R.getFragmentData(w.ACTION_FRAGMENT,L.action)})),categories:R.getFragmentData(w.MODULE_CATEGORY_FRAGMENT,i.categories)}}):[],[l.data]),j=o.useMemo(()=>p.filter(r=>F.includes(r.id)),[p,F]),M=o.useCallback(r=>{const i=r?.value||"";v(i),g([])},[]),D=o.useCallback(r=>{const i=r.map(y=>y.value);g(i)},[]),I=o.useCallback(async()=>{if(A(!0),!j.length){A(!1);const r=new Error("No modules selected for copying");a?.(r);return}try{const r=[];let i=0;for(const y of j)try{let L=y.moduleActions.map(O=>O.actionId);if(h){const O=y.moduleActions.map(B=>B.action);L=(await Promise.all(O.map(async B=>{if(B.quantumOwned)return Promise.resolve(B);const Z={...B,quantumOwned:h,thresholds:B.thresholds.map(Q=>({...Q,id:void 0})),id:void 0};return await C({fields:Z}).then(Q=>Q.error||!Q.data?.createAction?null:R.getFragmentData(w.ACTION_FRAGMENT,Q.data.createAction))}))).filter(B=>!!B).map(B=>B.id)}const _={name:`${y.name} (Copy)`,description:y.description||void 0,actions:L,categories:y.categories.map(O=>O.id),quantumOwned:h},W=await T({input:_});if(W.error)throw new Error(W.error.message);if(W.data?.createModule){const O=R.getFragmentData(w.ACTION_MODULE_FRAGMENT,W.data.createModule);r.push(O)}}catch(L){console.error(`Failed to copy module "${y.name}":`,L),i++}if(r.length>0){const y=r.length,L=j.length;f({title:i>0?"Partial copy completed":"Modules copied successfully",description:i>0?`${y} of ${L} modules copied successfully`:`${y} module${y>1?"s":""} copied successfully`,status:i>0?"warning":"success",duration:3e3,isClosable:!0}),r.length>0&&n?.(),v(""),g([])}else throw new Error("Failed to copy any modules")}catch(r){const i=r instanceof Error?r.message:"Failed to copy modules";f({title:"Copy failed",description:i,status:"error",duration:5e3,isClosable:!0}),a?.(r instanceof Error?r:new Error(i))}finally{A(!1)}},[j,T,f,n,a,h,C]),z=o.useCallback(()=>{v(""),g([]),s?.()},[s]);o.useEffect(()=>{c&&c({cancelButton:!1,saveButton:j.length===0||E})},[j.length,E,c]),o.useEffect(()=>{u&&u({cancelButton:z,saveButton:I})},[u,z,I]);const k=o.useMemo(()=>S.map(r=>({value:r.id,label:r.name})),[S]),U=o.useMemo(()=>p.map(r=>({value:r.id,label:r.name,isQuantumOwned:r.quantumOwned})),[p]),P=d.fetching,x=l.fetching;return e.jsxRuntimeExports.jsx(t.Box,{children:e.jsxRuntimeExports.jsxs(t.VStack,{spacing:6,align:"stretch",children:[e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx(Y,{children:"Select Source Group"}),e.jsxRuntimeExports.jsx(H.st,{placeholder:"Choose a group...",options:k,value:k.find(r=>r.value===b)||null,onChange:M,isLoading:P,isDisabled:P,isClearable:!0}),d.error&&e.jsxRuntimeExports.jsxs(t.Alert,{status:"error",mt:2,children:[e.jsxRuntimeExports.jsx(t.AlertIcon,{}),e.jsxRuntimeExports.jsxs(t.Text,{fontSize:"sm",children:["Failed to load groups: ",d.error.message]})]})]}),b&&e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx(Y,{children:"Select Module to Copy"}),x?e.jsxRuntimeExports.jsxs(t.HStack,{children:[e.jsxRuntimeExports.jsx(t.Spinner,{size:"sm"}),e.jsxRuntimeExports.jsx(t.Text,{fontSize:"sm",color:"gray.600",children:"Loading modules..."})]}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(H.st,{placeholder:"Choose modules to copy...",options:U,value:U.filter(r=>F.includes(r.value)),onChange:D,isDisabled:U.length===0,isClearable:!0,isMulti:!0,closeMenuOnSelect:!1,formatOptionLabel:(r,{context:i})=>e.jsxRuntimeExports.jsxs(t.HStack,{justify:"space-between",w:"100%",children:[e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxRuntimeExports.jsx(t.Text,{children:r.label}),i==="value"&&r.isQuantumOwned&&e.jsxRuntimeExports.jsx(t.Text,{color:"blue",fontSize:"xs",children:"(Quantum Owned)"})]}),r.isQuantumOwned&&i==="menu"&&e.jsxRuntimeExports.jsx(t.Tag,{size:"sm",colorScheme:"blue",variant:"solid",children:"Quantum Owned"})]})}),U.length===0&&e.jsxRuntimeExports.jsx(t.Text,{fontSize:"sm",color:"gray.500",mt:2,children:"No modules found in this group"})]}),l.error&&e.jsxRuntimeExports.jsxs(t.Alert,{status:"error",mt:2,children:[e.jsxRuntimeExports.jsx(t.AlertIcon,{}),e.jsxRuntimeExports.jsxs(t.Text,{fontSize:"sm",children:["Failed to load modules: ",l.error.message]})]})]}),j.length>0&&e.jsxRuntimeExports.jsxs(t.Box,{p:4,bg:"gray.50",borderRadius:"md",children:[e.jsxRuntimeExports.jsx(t.Text,{fontWeight:"semibold",mb:3,children:j.length===1?"Module to Copy:":`${j.length} Modules to Copy:`}),e.jsxRuntimeExports.jsxs(t.VStack,{align:"start",spacing:3,children:[j.map((r,i)=>e.jsxRuntimeExports.jsxs(t.Box,{w:"100%",p:3,bg:"white",borderRadius:"md",border:"1px solid",borderColor:"gray.200",children:[e.jsxRuntimeExports.jsxs(t.HStack,{justify:"space-between",align:"start",mb:2,children:[e.jsxRuntimeExports.jsxs(t.Text,{fontWeight:"medium",fontSize:"sm",children:[i+1,". ",r.name]}),r.quantumOwned&&e.jsxRuntimeExports.jsx(t.Tag,{size:"sm",colorScheme:"blue",variant:"solid",children:"Quantum Owned"})]}),e.jsxRuntimeExports.jsxs(t.VStack,{align:"start",spacing:1,fontSize:"sm",color:"gray.600",children:[r.description&&e.jsxRuntimeExports.jsxs(t.Text,{children:[e.jsxRuntimeExports.jsx("strong",{children:"Description:"})," ",r.description]}),e.jsxRuntimeExports.jsxs(t.Text,{children:[e.jsxRuntimeExports.jsx("strong",{children:"Actions:"})," ",r.moduleActions.length]}),e.jsxRuntimeExports.jsxs(t.Text,{children:[e.jsxRuntimeExports.jsx("strong",{children:"Categories:"})," ",r.categories.map(y=>y.name).join(", ")||"None"]})]})]},r.id)),j.length>1&&e.jsxRuntimeExports.jsx(t.Box,{w:"100%",p:2,bg:"blue.50",borderRadius:"md",border:"1px solid",borderColor:"blue.200",children:e.jsxRuntimeExports.jsxs(t.Text,{fontSize:"sm",fontWeight:"medium",color:"blue.800",children:["Total: ",j.length," modules will be copied"]})}),h&&j.filter(r=>r.moduleActions.some(i=>!i.action.quantumOwned)).length>0&&e.jsxRuntimeExports.jsx(t.Box,{p:2,bg:"yellow.50",borderRadius:"md",border:"1px solid",borderColor:"yellow.200",children:e.jsxRuntimeExports.jsx(t.Text,{fontSize:"sm",fontWeight:"medium",color:"yellow.800",children:"Copying Modules with Non QM-Owned Actions will create corresponding QM-Owned Actions"})})]})]}),!m&&e.jsxRuntimeExports.jsxs(t.ButtonGroup,{spacing:4,justifyContent:"flex-end",children:[e.jsxRuntimeExports.jsx(t.Button,{variant:"outline",onClick:z,isDisabled:E,children:"Cancel"}),e.jsxRuntimeExports.jsxs(t.Button,{colorScheme:"blue",onClick:I,isDisabled:j.length===0||E,isLoading:E,loadingText:"Copying...",children:["Copy"," ",j.length===1?"Module":`${j.length} Modules`]})]})]})})},pe=({name:n,setName:s,actions:a,selectedActionIds:m,setSelectedActionIds:c,availableCategories:u,selectedCategoryIds:h,setSelectedCategoryIds:f,description:b,setDescription:v,...F})=>{const g=t.useDisclosure(),E=o.useMemo(()=>a.map(S=>({...S,selected:m.includes(S.id)})),[a,m]),A=o.useMemo(()=>a.reduce((S,p)=>(S[p.id]=p,S),{}),[a]),d=o.useMemo(()=>m.map(S=>A[S]),[E,m]),l=o.useCallback((S,p)=>{c(p?[...m,S.id]:m.filter(j=>j!==S.id))},[m,c]),T=o.useCallback(S=>{s(S.target.value)},[s]),C=o.useCallback(S=>{v?.(S.target.value)},[v]);return e.jsxRuntimeExports.jsxs(t.Box,{...F,children:[e.jsxRuntimeExports.jsxs(t.HStack,{gap:"2rem",children:[e.jsxRuntimeExports.jsx(Ne,{name:n??"",onInputChange:T}),e.jsxRuntimeExports.jsx(ke,{availableCategories:u,value:h,onChange:f})]}),e.jsxRuntimeExports.jsx(Le,{description:b??"",onInputChange:C}),e.jsxRuntimeExports.jsx(Oe,{value:d,onChange:c,onAdjustActivities:()=>g.onOpen()}),e.jsxRuntimeExports.jsxs(t.Modal,{isOpen:g.isOpen,onClose:g.onClose,size:"6xl",children:[e.jsxRuntimeExports.jsx(t.ModalOverlay,{}),e.jsxRuntimeExports.jsxs(t.ModalContent,{children:[e.jsxRuntimeExports.jsx(t.ModalHeader,{children:"Select Activities"}),e.jsxRuntimeExports.jsx(t.ModalCloseButton,{}),e.jsxRuntimeExports.jsx(t.ModalBody,{children:e.jsxRuntimeExports.jsx(me,{actions:E,onSelected:l,disableCreate:!0,disableDelete:!0,tableProps:{height:"28rem",overflowY:"auto"}})}),e.jsxRuntimeExports.jsx(t.ModalFooter,{children:e.jsxRuntimeExports.jsx(t.Button,{colorScheme:"blue",onClick:g.onClose,isDisabled:m.length===0,children:"Done"})})]})]})]})},Ne=o.memo(({name:n,onInputChange:s})=>e.jsxRuntimeExports.jsxs(t.FormControl,{mb:4,children:[e.jsxRuntimeExports.jsx(Y,{children:"Module Name"}),e.jsxRuntimeExports.jsx(t.Input,{placeholder:"i.e. ACL RTP Test Battery",value:n,onChange:s,isRequired:!0})]})),ke=o.memo(({availableCategories:n,value:s,onChange:a})=>{const m=o.useMemo(()=>[...n,{id:"other",name:"Other"}],[n]),c=o.useMemo(()=>m.map(u=>({value:u.id,label:u.name})),[m]);return e.jsxRuntimeExports.jsxs(t.FormControl,{mb:4,children:[e.jsxRuntimeExports.jsx(Y,{children:"Module Category"}),e.jsxRuntimeExports.jsx(H.st,{isDisabled:n.length===0,isClearable:!0,options:c,value:m.filter(u=>s.includes(u.id)).map(u=>({value:u.id,label:u.name})),onChange:u=>a(u?[u.value]:[]),placeholder:"Select category"})]})}),Le=o.memo(({description:n,onInputChange:s})=>e.jsxRuntimeExports.jsxs(t.FormControl,{mb:4,children:[e.jsxRuntimeExports.jsx(Y,{children:e.jsxRuntimeExports.jsxs("span",{children:["Description",e.jsxRuntimeExports.jsx(t.Text,{fontSize:"sm",color:"gray.500",children:"Briefly describe the objective of this module. Max 40 words."})]})}),e.jsxRuntimeExports.jsx(t.Input,{placeholder:"i.e. Assess readiness to return to play post-ACL reconstruction",value:n,onChange:s})]})),Oe=o.memo(({value:n,onChange:s,onAdjustActivities:a})=>{const m=o.useMemo(()=>n.map(c=>({id:c.id,name:c.name})),[n]);return e.jsxRuntimeExports.jsxs(t.FormControl,{mb:4,children:[e.jsxRuntimeExports.jsxs(t.HStack,{justifyContent:"space-between",children:[e.jsxRuntimeExports.jsx(Y,{children:e.jsxRuntimeExports.jsxs("span",{children:["Activities",e.jsxRuntimeExports.jsx(t.Text,{fontSize:"sm",color:"gray.500",children:"Drag and drop to reorder the activities in this module."})]})}),e.jsxRuntimeExports.jsx(t.Button,{size:"sm",variant:"solid",colorScheme:"blue",onClick:a,children:"Add / Remove Activities"})]}),m.length===0?e.jsxRuntimeExports.jsx(t.VStack,{children:e.jsxRuntimeExports.jsxs(t.Text,{color:"gray.500",fontSize:"lg",mb:"4rem",mt:"4rem",children:["No activities selected for this module.",e.jsxRuntimeExports.jsx(t.Button,{ml:"0.5em",size:"sm",variant:"link",colorScheme:"blue",onClick:a,children:"Add activities."})]})}):e.jsxRuntimeExports.jsx(be,{value:m,onChange:c=>{const u=c(m);s(u.map(h=>h.id))}})]})}),he=({value:n,onChange:s,forceKind:a,disableRemove:m,disableKind:c,lockRanges:u,...h})=>{const f=o.useMemo(()=>[...n].sort((g,E)=>{const A=J.availablePlanes.indexOf(g.plane),d=J.availablePlanes.indexOf(E.plane);return A-d}),[n]),b=o.useCallback(g=>"segment"in g.id?V.getSegmentNameWithPlane(g.id.segment,g.plane,!0)??"Unknown":V.getJointNameWithPlane(g.id.joint,g.plane,!0)??"Unknown",[]),v=o.useCallback((g,E)=>{const A=f.findIndex(l=>l.id===E.id&&l.plane===E.plane);let d=[...f];a&&(E={...E,kind:a}),d[A]=E,u&&(d=d.map(l=>({...l,min:E.min,max:E.max}))),s(d)},[s,f,a,u]),F=o.useCallback(g=>{const E=f.filter(A=>A.id!==g.id||A.plane!==g.plane);s(E)},[s,f]);return e.jsxRuntimeExports.jsx(t.VStack,{alignItems:"flex-start",overflowY:"auto",...h,children:f.map((g,E)=>e.jsxRuntimeExports.jsx(De,{label:b(g),parameter:g,onChange:A=>v(E,A),onRemove:m?void 0:()=>F(g),forceKind:a,disableKind:c},`${JSON.stringify(g.id)}-${g.plane}`))})},De=({label:n,parameter:s,onChange:a,onRemove:m,forceKind:c,disableKind:u})=>{const h=o.useCallback(v=>"joint"in s.id?V.getJointAngleDirectionName(s.id.joint,s.plane,v<0?-1:1):V.getSegmentAngleDirectionName(s.id.segment,s.plane,v<0?-1:1),[s]),{min:f,max:b}="joint"in s.id?V.getNormativeJointRange(s.id.joint,s.plane):{min:-180,max:180};return e.jsxRuntimeExports.jsxs(t.VStack,{borderRadius:"md",p:2,px:4,bg:"gray.100",w:"100%",overflow:"hidden",flexShrink:"0",children:[e.jsxRuntimeExports.jsxs(t.HStack,{w:"100%",children:[e.jsxRuntimeExports.jsx(t.Text,{fontSize:"sm",flex:1,textTransform:"capitalize",fontWeight:"semibold",children:n}),m&&e.jsxRuntimeExports.jsx(t.IconButton,{size:"xs",variant:"ghost","aria-label":"delete",icon:e.jsxRuntimeExports.jsx(t.Icon,{as:de.FaTrash}),onClick:m}),!c&&e.jsxRuntimeExports.jsx(le,{selectedItem:s?.kind??R.ThresholdKind.Limit,onChange:({value:v})=>a({...s,kind:v}),isDisabled:u,buttonProps:{size:"sm",variant:"outline",colorScheme:"gray"},selectedProps:{variant:"solid",colorScheme:"teal"},items:[{value:R.ThresholdKind.Limit,label:"limit"},{value:R.ThresholdKind.Target,label:"target"}]})]}),e.jsxRuntimeExports.jsx(Se,{w:"100%",size:"xs",min:f,max:b,zeroMarker:!0,value:[s.min,s.max],onChange:v=>a({...s,min:v[0],max:v[1]}),formatValue:v=>`${Math.abs(v)}°`,valueLabel:v=>h(v)??"",positiveNegativeLabels:h(0)?[h(-1)??"",h(1)??""]:void 0})]})},ne=(n,s)=>"segment"in n&&"segment"in s&&n.segment===s.segment||"joint"in n&&"joint"in s&&n.joint===s.joint,je=({options:n,value:s,onChange:a,forceKind:m,singleValue:c,singleValueSideless:u,editOnly:h,disableKind:f,maxParameters:b,...v})=>{const F=u?2:b,g=o.useMemo(()=>n.map(l=>({label:"segment"in l.id?V.getSegmentNameWithPlane(l.id.segment,l.plane,!0)??"Unknown":V.getJointNameWithPlane(l.id.joint,l.plane,!0)??"Unknown",value:l.id,plane:l.plane})),[n]),E=o.useMemo(()=>{if(!u||s.length===0)return g;const l=s[0];return g.filter(T=>J.getAnalysisPartIdNoSide(T.value)===J.getAnalysisPartIdNoSide(l.id)&&T.plane===l.plane)},[g,s,u]),A=o.useMemo(()=>g.filter(l=>s.some(T=>ne(T.id,l.value)&&T.plane===l.plane)),[g,s]),d=o.useCallback(l=>{const T=l.map(C=>{const S=s.find(I=>ne(I.id,C.value)&&I.plane===C.plane),p=n.find(I=>ne(I.id,C.value)&&I.plane===C.plane),j=u?s.find(I=>J.getAnalysisPartIdNoSide(I.id)===J.getAnalysisPartIdNoSide(C.value)&&I.plane===C.plane):void 0,M=j&&!S?j.min:p&&p.min?p.min:0,D=j&&!S?j.max:p&&p.max?p.max:0;return S??{id:C.value,plane:C.plane,min:M,max:D,kind:m??R.ThresholdKind.Limit}});a(T)},[a,s,n,m,u]);return o.useEffect(()=>{const l=s.filter(T=>n.some(C=>ne(C.id,T.id)&&C.plane===T.plane));l.length!==s.length&&a(l)},[n,a]),e.jsxRuntimeExports.jsxs(t.Box,{...v,children:[e.jsxRuntimeExports.jsx(H.st,{isMulti:!c,placeholder:s.length?`${s.length} selected`:"Search...",value:A,isDisabled:h||A.length>=(F??1/0),onChange:l=>Array.isArray(l)?d([...l]):d(l!==null?[l]:[]),options:E,controlShouldRenderValue:!1}),e.jsxRuntimeExports.jsx(he,{marginTop:2,maxH:"28rem",value:s,onChange:a,forceKind:m,disableKind:f,lockRanges:u})]})},ge=n=>{switch(n){case R.SensorLocation.Thorax:return"Thorax";case R.SensorLocation.CenterBack:return"Center Back";case R.SensorLocation.Pelvis:return"Pelvis";case R.SensorLocation.LeftThigh:return"Left Thigh";case R.SensorLocation.RightThigh:return"Right Thigh";case R.SensorLocation.LeftShank:return"Left Shank";case R.SensorLocation.RightShank:return"Right Shank";case R.SensorLocation.LeftFoot:return"Left Foot";case R.SensorLocation.RightFoot:return"Right Foot";case R.SensorLocation.LeftUpperArm:return"Left Upper Arm";case R.SensorLocation.RightUpperArm:return"Right Upper Arm";case R.SensorLocation.LeftForearm:return"Left Forearm";case R.SensorLocation.RightForearm:return"Right Forearm";case R.SensorLocation.Head:return"Head"}return console.warn(`Unknown sensor location: ${n}`),"Unknown"},_e=6,Be=[R.SensorLocation.LeftFoot,R.SensorLocation.LeftShank,R.SensorLocation.LeftThigh,R.SensorLocation.Pelvis,R.SensorLocation.RightFoot,R.SensorLocation.RightShank,R.SensorLocation.RightThigh,R.SensorLocation.Thorax,R.SensorLocation.CenterBack,R.SensorLocation.Head],Pe=Be.map(n=>({label:ge(n),value:n})),ae=n=>n.map(s=>s.__isNew__?{name:s.label}:{id:s.value,name:s.label}),Ge=({id:n,onError:s,onCancel:a,onSave:m,hideButtons:c,setButtonOnClick:u,setButtonDisabled:h,quantumOwned:f})=>{const b=G.useClient(),[{fetching:v},F]=G.useMutation(w.CREATE_ACTION),[{fetching:g},E]=G.useMutation(w.UPDATE_ACTION),[{data:A}]=G.useQuery({query:w.GET_ACTION_BY_ID,variables:{id:n??""},pause:!n}),d=R.getFragmentData(w.ACTION_FRAGMENT,A?.getActionById),l=v||g,T=!!d&&!!n,[C,S]=o.useState(""),[p,j]=o.useState(""),[M,D]=o.useState(""),[I,z]=o.useState(""),[k,U]=o.useState(R.ActionLaterality.Either),[P,x]=o.useState(R.ActionActivityKind.Action),[r,i]=o.useState([]),[y,L]=o.useState([]),_=o.useMemo(()=>r.map(N=>N.value),[r]),W=Re.usePartOptionsForSensorLocations(_),[O,q]=o.useState([]),[B,Z]=o.useState(!1),Q=C.length&&k;o.useEffect(()=>{d&&(S(d.name),x(d.activityKind),j(d.description||""),U(d.laterality),L(d.useCases.map(N=>({id:N.id,value:N.id,label:N.name,__isNew__:!1}))),D(d.instructionsPointOfInterest||""),z(d.instructionsMovementReport||""),i(d.sensorLocations.map(N=>({label:ge(N),value:N}))),q(X.thresholdsToParameters(d.thresholds)))},[d]);const Ee=o.useCallback(async N=>(await b.query(f?w.SEARCH_QUANTUM_OWNED_USE_CASES:w.SEARCH_USE_CASES,{query:N,limit:10}).then(K=>{const te=K.data;return te?te?.quantumOwnedUseCases?te.quantumOwnedUseCases:te.useCases:[]})??[]).map(K=>({label:K.name,value:K.id})),[b,f]),[ce,ue]=o.useState({});o.useEffect(()=>{ue({name:C,laterality:k,description:p,instructionsPointOfInterest:M,instructionsMovementReport:I,sensorLocations:_,thresholds:X.parametersToThresholds(O),useCases:ae(y),activityKind:P})},[ue,d]);const re=o.useMemo(()=>JSON.stringify(ce)!==JSON.stringify({name:C,laterality:k,description:p,instructionsPointOfInterest:M,instructionsMovementReport:I,sensorLocations:_,thresholds:X.parametersToThresholds(O),useCases:ae(y),activityKind:P}),[ce,C,k,_,p,I,M,O,y,P]),ie=o.useCallback(()=>{const N={name:C,laterality:k,description:p,instructionsPointOfInterest:M,instructionsMovementReport:I,sensorLocations:_,thresholds:X.parametersToThresholds(O),useCases:ae(y),activityKind:P,quantumOwned:f};let ee;T&&n?ee=E({id:n,fields:N}):ee=F({fields:N}),ee.then(({error:K})=>{K?s(K):m()})},[f,F,E,n,C,k,_,m,p,I,M,T,O,y,P,s]);return o.useEffect(()=>{h&&h({cancelButton:l,saveButton:l||!Q||!re})},[l,h,Q,re]),o.useEffect(()=>{u&&u({cancelButton:a,saveButton:ie})},[u,a,ie]),e.jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-4 w-full",children:[e.jsxRuntimeExports.jsxs("div",{className:"col-span-2 lg:col-span-1 flex flex-col gap-8",children:[e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx($,{children:"Name"}),e.jsxRuntimeExports.jsx(t.Input,{value:C,onChange:N=>S(N.target.value),type:"text",placeholder:"i.e. Lunge & Return"})]}),e.jsxRuntimeExports.jsxs(t.HStack,{m:"0",p:"0",w:"100%",justifyItems:"space-between",children:[e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx($,{children:"Activity Type"}),e.jsxRuntimeExports.jsx(le,{selectedItem:P,onChange:N=>x(N.value),buttonProps:{size:"sm",variant:"outline",colorScheme:"gray"},selectedProps:{variant:"solid",colorScheme:"teal"},items:[{value:R.ActionActivityKind.Action,label:"Action"},{value:R.ActionActivityKind.Movement,label:"Movement"}]})]}),e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx($,{children:"Laterality"}),e.jsxRuntimeExports.jsx(le,{selectedItem:k,onChange:N=>U(N.value),buttonProps:{size:"sm",variant:"outline",colorScheme:"gray"},selectedProps:{variant:"solid",colorScheme:"teal"},items:[{value:R.ActionLaterality.Unilateral,label:"unilateral"},{value:R.ActionLaterality.Bilateral,label:"bilateral"},{value:R.ActionLaterality.Either,label:"either / or"}]})]})]}),e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx($,{children:"Use Cases"}),e.jsxRuntimeExports.jsx(t.Tooltip,{isOpen:B,label:"Type to search for existing use cases",placement:"top-end",children:e.jsxRuntimeExports.jsx(t.Box,{children:e.jsxRuntimeExports.jsx(H.yt,{value:y,onChange:N=>L([...N]),isMulti:!0,cacheOptions:!0,defaultOptions:!0,onFocus:()=>Z(!0),onBlur:()=>Z(!1),loadOptions:Ee,placeholder:"(optional) Search for & select use cases…"})})})]}),e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx($,{children:"Description"}),e.jsxRuntimeExports.jsx(t.Textarea,{value:p,onChange:N=>j(N.target.value),rows:2,placeholder:"(optional) Describe how to perform the test or exercise"})]}),e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx($,{children:"Instructions for General Movement Report"}),e.jsxRuntimeExports.jsx(t.Textarea,{value:I,onChange:N=>z(N.target.value),rows:2,placeholder:"(optional) Describe how to setup or generate the movement report"})]}),e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx($,{children:"Instructions for Point of Interest Report"}),e.jsxRuntimeExports.jsx(t.Textarea,{value:M,onChange:N=>D(N.target.value),rows:2,placeholder:"(optional) Describe how to setup or generate the point of interest report"})]})]}),e.jsxRuntimeExports.jsxs("div",{className:"col-span-2 lg:col-span-1 flex flex-col gap-8",children:[e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx($,{children:"Sensor Locations"}),e.jsxRuntimeExports.jsx(H.st,{isMulti:!0,value:r,onChange:N=>i([...N]),options:Pe,isOptionDisabled:()=>r.length>=_e})]}),e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx($,{children:"Default Parameters"}),e.jsxRuntimeExports.jsx(je,{options:W,value:O,onChange:q})]})]}),e.jsxRuntimeExports.jsx("div",{className:X.cn("col-span-2 flex justify-end",c&&"hidden"),children:e.jsxRuntimeExports.jsxs(t.ButtonGroup,{mt:16,gap:4,children:[e.jsxRuntimeExports.jsx(t.Button,{colorScheme:"gray",isDisabled:l,onClick:a,children:"Cancel"}),e.jsxRuntimeExports.jsx(t.Button,{colorScheme:"blue",isDisabled:l||!Q||!re,isLoading:l,onClick:ie,children:"Save changes"})]})})]})},$=({children:n})=>e.jsxRuntimeExports.jsx(t.FormLabel,{fontWeight:"bold",fontFamily:"sans-serif",fontSize:"large",children:n}),Ue=({id:n,onCancel:s,onSave:a,onError:m,hideButtons:c,quantumOwned:u,setButtonOnClick:h,setButtonDisabled:f})=>{const[{data:b}]=G.useQuery({query:u?w.GET_QUANTUM_OWNED_ACTIONS:w.GET_ACTIONS}),[{data:v}]=G.useQuery({query:w.GET_MODULE_BY_ID,variables:{id:n},pause:!n}),[{data:F}]=G.useQuery({query:w.GET_ALL_MODULE_CATEGORIES}),g=R.getFragmentData(w.MODULE_CATEGORY_FRAGMENT,F?.moduleCategories),[{fetching:E},A]=G.useMutation(w.UPDATE_MODULE),[{fetching:d},l]=G.useMutation(w.CREATE_MODULE),T=R.getFragmentData(w.ACTION_FRAGMENT,u?b?.quantumOwnedActions:b?.actions)??[],C=R.getFragmentData(w.ACTION_MODULE_FRAGMENT,v?.module),S=R.getFragmentData(w.MODULE_ACTION_FRAGMENT,C?.moduleActions)??[],[p,j]=o.useState([...S.map(x=>x.actionId)??[]]),[M,D]=o.useState(C?.name??""),[I,z]=o.useState([]),[k,U]=o.useState(C?.description??"");o.useEffect(()=>{C&&(j(S.map(x=>x.actionId)),D(C.name),U(C.description??""),z(C.categories.map(x=>R.getFragmentData(w.MODULE_CATEGORY_FRAGMENT,x).id)??[]))},[C,S]);const P=o.useCallback(()=>{let x;const r={actions:p,name:M,categories:I.filter(i=>i!=="other"),description:k,quantumOwned:u};C?x=A({id:C.id,input:r}):x=l({input:r}),x.then(({error:i})=>{i?m(i):a()})},[l,A,p,M,k,I,C,a,m]);return o.useEffect(()=>{f&&f({cancelButton:E||d,saveButton:E||d||!M||k.trim().split(/\s+/).filter(Boolean).length>40})},[f,E,d,p,M,k]),o.useEffect(()=>{h&&h({cancelButton:s,saveButton:P})},[h,s,P]),e.jsxRuntimeExports.jsxs(t.Box,{width:"100%",children:[e.jsxRuntimeExports.jsx(pe,{name:M,setName:D,actions:T,selectedActionIds:p,setSelectedActionIds:j,availableCategories:g??[],selectedCategoryIds:I,setSelectedCategoryIds:z,description:k,setDescription:U}),!c&&e.jsxRuntimeExports.jsx(t.HStack,{justifyContent:"flex-start",children:e.jsxRuntimeExports.jsxs(t.ButtonGroup,{mt:16,gap:4,children:[e.jsxRuntimeExports.jsx(t.Button,{colorScheme:"gray",isDisabled:E||d,onClick:s,children:"Cancel"}),e.jsxRuntimeExports.jsx(t.Button,{colorScheme:"blue",isDisabled:E||d||!M||k.trim().split(/\s+/).filter(Boolean).length>40,isLoading:E||d,onClick:P,children:"Save"})]})})]})};exports.ActivityList=me;exports.CopyActivityForm=Fe;exports.CopyModuleForm=Ie;exports.ModuleForm=pe;exports.ParameterEditList=he;exports.ParameterEditSelect=je;exports.UpsertActivityForm=Ge;exports.UpsertModuleForm=Ue;
|
|
13
|
+
`,Ie=({onSave:n,onCancel:s,onError:a,hideButtons:m=!1,setButtonDisabled:c,setButtonOnClick:u,quantumOwned:h})=>{const f=t.useToast(),[b,v]=o.useState(""),[F,g]=o.useState([]),[E,A]=o.useState(!1),[d]=G.useQuery({query:w.GET_GROUPS}),[l]=G.useQuery({query:w.GET_ACTIONS_BY_GROUP,variables:{groupId:b},pause:!b}),[,T]=G.useMutation(w.CREATE_ACTION),C=o.useMemo(()=>d.data?.groups?d.data.groups.map(x=>R.getFragmentData(w.GROUP_FRAGMENT,x)):[],[d.data]),S=o.useMemo(()=>l.data?l.data.actions.map(r=>R.getFragmentData(w.ACTION_FRAGMENT,r)):[],[l.data]),p=o.useMemo(()=>S.filter(x=>F.includes(x.id)),[S,F]),j=o.useCallback(x=>{const r=x?.value||"";v(r),g([])},[]),M=o.useCallback(x=>{const r=x.map(i=>i.value);g(r)},[]),D=o.useCallback(async()=>{if(A(!0),!p.length){const x=new Error("No activities selected for copying");a?.(x),A(!1);return}try{const x=[];let r=0;for(const i of p)try{const y={...i,name:`${i.name} (Copy)`,description:i.description||void 0,instructionsPointOfInterest:i.instructionsPointOfInterest||void 0,instructionsMovementReport:i.instructionsMovementReport||void 0,laterality:i.laterality,activityKind:i.activityKind,sensorLocations:i.sensorLocations,thresholds:i.thresholds.map(_=>({..._,id:void 0})),quantumOwned:h,id:void 0},L=await T({fields:y});if(L.error)throw new Error(L.error.message);if(L.data?.createAction){const _=R.getFragmentData(w.ACTION_FRAGMENT,L.data.createAction);x.push(_)}}catch(y){console.error(`Failed to copy activity "${i.name}":`,y),r++}if(x.length>0){const i=x.length,y=p.length;f({title:r>0?"Partial copy completed":"Activities copied successfully",description:r>0?`${i} of ${y} activities copied successfully`:`${i} activit${i>1?"ies":"y"} copied successfully`,status:r>0?"warning":"success",duration:3e3,isClosable:!0}),n?.(),v(""),g([])}else throw new Error("Failed to copy any activities")}catch(x){const r=x instanceof Error?x.message:"Failed to copy activities";f({title:"Copy failed",description:r,status:"error",duration:5e3,isClosable:!0}),a?.(x instanceof Error?x:new Error(r))}finally{A(!1)}},[p,T,f,n,a,h]),I=o.useCallback(()=>{v(""),g([]),s?.()},[s]);o.useEffect(()=>{c&&c({cancelButton:!1,saveButton:p.length===0||E})},[p.length,E,c]),o.useEffect(()=>{u&&u({cancelButton:I,saveButton:D})},[u,I,D]);const z=o.useMemo(()=>C.map(x=>({value:x.id,label:x.name})),[C]),k=o.useMemo(()=>S.map(x=>({value:x.id,label:x.name,isQuantumOwned:x.quantumOwned})),[S]),U=d.fetching,P=l.fetching;return e.jsxRuntimeExports.jsx(t.Box,{children:e.jsxRuntimeExports.jsxs(t.VStack,{spacing:6,align:"stretch",children:[e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx(Y,{children:"Select Source Group"}),e.jsxRuntimeExports.jsx(H.st,{placeholder:"Choose a group...",options:z,value:z.find(x=>x.value===b)||null,onChange:j,isLoading:U,isDisabled:U,isClearable:!0}),d.error&&e.jsxRuntimeExports.jsxs(t.Alert,{status:"error",mt:2,children:[e.jsxRuntimeExports.jsx(t.AlertIcon,{}),e.jsxRuntimeExports.jsxs(t.Text,{fontSize:"sm",children:["Failed to load groups: ",d.error.message]})]})]}),b&&e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx(Y,{children:"Select Activities to Copy"}),P?e.jsxRuntimeExports.jsxs(t.HStack,{children:[e.jsxRuntimeExports.jsx(t.Spinner,{size:"sm"}),e.jsxRuntimeExports.jsx(t.Text,{fontSize:"sm",color:"gray.600",children:"Loading activities..."})]}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(H.st,{placeholder:"Choose activities to copy...",options:k,value:k.filter(x=>F.includes(x.value)),onChange:M,isDisabled:k.length===0,isClearable:!0,isMulti:!0,closeMenuOnSelect:!1,formatOptionLabel:(x,{context:r})=>e.jsxRuntimeExports.jsxs(t.HStack,{justify:"space-between",w:"100%",children:[e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxRuntimeExports.jsx(t.Text,{children:x.label}),r==="value"&&x.isQuantumOwned&&e.jsxRuntimeExports.jsx(t.Text,{color:"blue",fontSize:"xs",children:"(Quantum Owned)"})]}),x.isQuantumOwned&&r==="menu"&&e.jsxRuntimeExports.jsx(t.Tag,{size:"sm",colorScheme:"blue",variant:"solid",children:"Quantum Owned"})]})}),k.length===0&&e.jsxRuntimeExports.jsx(t.Text,{fontSize:"sm",color:"gray.500",mt:2,children:"No activities found"})]}),l.error&&e.jsxRuntimeExports.jsxs(t.Alert,{status:"error",mt:2,children:[e.jsxRuntimeExports.jsx(t.AlertIcon,{}),e.jsxRuntimeExports.jsxs(t.Text,{fontSize:"sm",children:["Failed to load activities: ",l.error.message]})]})]}),p.length>0&&e.jsxRuntimeExports.jsxs(t.Box,{p:4,bg:"gray.50",borderRadius:"md",children:[e.jsxRuntimeExports.jsx(t.Text,{fontWeight:"semibold",mb:3,children:p.length===1?"Activity to Copy:":`${p.length} Activities to Copy:`}),e.jsxRuntimeExports.jsxs(t.VStack,{align:"start",spacing:3,children:[p.map((x,r)=>e.jsxRuntimeExports.jsxs(t.Box,{w:"100%",p:3,bg:"white",borderRadius:"md",border:"1px solid",borderColor:"gray.200",children:[e.jsxRuntimeExports.jsxs(t.HStack,{justify:"space-between",align:"start",mb:2,children:[e.jsxRuntimeExports.jsxs(t.Text,{fontWeight:"medium",fontSize:"sm",children:[r+1,". ",x.name]}),x.quantumOwned&&e.jsxRuntimeExports.jsx(t.Tag,{size:"sm",colorScheme:"blue",variant:"solid",children:"Quantum Owned"})]}),e.jsxRuntimeExports.jsxs(t.VStack,{align:"start",spacing:1,fontSize:"sm",color:"gray.600",children:[x.description&&e.jsxRuntimeExports.jsxs(t.Text,{children:[e.jsxRuntimeExports.jsx("strong",{children:"Description:"})," ",x.description]}),e.jsxRuntimeExports.jsxs(t.Text,{children:[e.jsxRuntimeExports.jsx("strong",{children:"Type:"})," ",x.activityKind]}),e.jsxRuntimeExports.jsxs(t.Text,{children:[e.jsxRuntimeExports.jsx("strong",{children:"Laterality:"})," ",x.laterality]}),e.jsxRuntimeExports.jsxs(t.Text,{children:[e.jsxRuntimeExports.jsx("strong",{children:"Sensor Locations:"})," ",x.sensorLocations.length]}),e.jsxRuntimeExports.jsxs(t.Text,{children:[e.jsxRuntimeExports.jsx("strong",{children:"Thresholds:"})," ",x.thresholds.length]}),e.jsxRuntimeExports.jsxs(t.Text,{children:[e.jsxRuntimeExports.jsx("strong",{children:"Use Cases:"})," ",x.useCases.map(i=>i.name).join(", ")||"None"]})]})]},x.id)),p.length>1&&e.jsxRuntimeExports.jsx(t.Box,{w:"100%",p:2,bg:"blue.50",borderRadius:"md",border:"1px solid",borderColor:"blue.200",children:e.jsxRuntimeExports.jsxs(t.Text,{fontSize:"sm",fontWeight:"medium",color:"blue.800",children:["Total: ",p.length," activities will be copied"]})})]})]}),!m&&e.jsxRuntimeExports.jsxs(t.ButtonGroup,{spacing:4,justifyContent:"flex-end",children:[e.jsxRuntimeExports.jsx(t.Button,{variant:"outline",onClick:I,isDisabled:E,children:"Cancel"}),e.jsxRuntimeExports.jsxs(t.Button,{colorScheme:"blue",onClick:D,isDisabled:p.length===0||E,isLoading:E,loadingText:"Copying...",children:["Copy"," ",p.length===1?"Activity":`${p.length} Activities`]})]})]})})},Ne=({onSave:n,onCancel:s,onError:a,hideButtons:m=!1,setButtonDisabled:c,setButtonOnClick:u,quantumOwned:h})=>{const f=t.useToast(),[b,v]=o.useState(""),[F,g]=o.useState([]),[E,A]=o.useState(!1),[d]=G.useQuery({query:w.GET_GROUPS}),[l]=G.useQuery({query:w.GET_MODULES_BY_GROUP,variables:{groupId:b},pause:!b}),[,T]=G.useMutation(w.CREATE_MODULE),[,C]=G.useMutation(w.CREATE_ACTION),S=o.useMemo(()=>d.data?.groups?d.data.groups.map(r=>R.getFragmentData(w.GROUP_FRAGMENT,r)):[],[d.data]),p=o.useMemo(()=>l.data?.modules?R.getFragmentData(w.ACTION_MODULE_FRAGMENT,l.data?.modules).map(i=>{const y=R.getFragmentData(w.MODULE_ACTION_FRAGMENT,i.moduleActions);return{...i,moduleActions:y.map(L=>({...L,action:R.getFragmentData(w.ACTION_FRAGMENT,L.action)})),categories:R.getFragmentData(w.MODULE_CATEGORY_FRAGMENT,i.categories)}}):[],[l.data]),j=o.useMemo(()=>p.filter(r=>F.includes(r.id)),[p,F]),M=o.useCallback(r=>{const i=r?.value||"";v(i),g([])},[]),D=o.useCallback(r=>{const i=r.map(y=>y.value);g(i)},[]),I=o.useCallback(async()=>{if(A(!0),!j.length){A(!1);const r=new Error("No modules selected for copying");a?.(r);return}try{const r=[];let i=0;for(const y of j)try{let L=y.moduleActions.map(O=>O.actionId);if(h){const O=y.moduleActions.map(B=>B.action);L=(await Promise.all(O.map(async B=>{if(B.quantumOwned)return Promise.resolve(B);const Z={...B,quantumOwned:h,thresholds:B.thresholds.map(Q=>({...Q,id:void 0})),id:void 0};return await C({fields:Z}).then(Q=>Q.error||!Q.data?.createAction?null:R.getFragmentData(w.ACTION_FRAGMENT,Q.data.createAction))}))).filter(B=>!!B).map(B=>B.id)}const _={name:`${y.name} (Copy)`,description:y.description||void 0,actions:L,categories:y.categories.map(O=>O.id),quantumOwned:h},W=await T({input:_});if(W.error)throw new Error(W.error.message);if(W.data?.createModule){const O=R.getFragmentData(w.ACTION_MODULE_FRAGMENT,W.data.createModule);r.push(O)}}catch(L){console.error(`Failed to copy module "${y.name}":`,L),i++}if(r.length>0){const y=r.length,L=j.length;f({title:i>0?"Partial copy completed":"Modules copied successfully",description:i>0?`${y} of ${L} modules copied successfully`:`${y} module${y>1?"s":""} copied successfully`,status:i>0?"warning":"success",duration:3e3,isClosable:!0}),r.length>0&&n?.(),v(""),g([])}else throw new Error("Failed to copy any modules")}catch(r){const i=r instanceof Error?r.message:"Failed to copy modules";f({title:"Copy failed",description:i,status:"error",duration:5e3,isClosable:!0}),a?.(r instanceof Error?r:new Error(i))}finally{A(!1)}},[j,T,f,n,a,h,C]),z=o.useCallback(()=>{v(""),g([]),s?.()},[s]);o.useEffect(()=>{c&&c({cancelButton:!1,saveButton:j.length===0||E})},[j.length,E,c]),o.useEffect(()=>{u&&u({cancelButton:z,saveButton:I})},[u,z,I]);const k=o.useMemo(()=>S.map(r=>({value:r.id,label:r.name})),[S]),U=o.useMemo(()=>p.map(r=>({value:r.id,label:r.name,isQuantumOwned:r.quantumOwned})),[p]),P=d.fetching,x=l.fetching;return e.jsxRuntimeExports.jsx(t.Box,{children:e.jsxRuntimeExports.jsxs(t.VStack,{spacing:6,align:"stretch",children:[e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx(Y,{children:"Select Source Group"}),e.jsxRuntimeExports.jsx(H.st,{placeholder:"Choose a group...",options:k,value:k.find(r=>r.value===b)||null,onChange:M,isLoading:P,isDisabled:P,isClearable:!0}),d.error&&e.jsxRuntimeExports.jsxs(t.Alert,{status:"error",mt:2,children:[e.jsxRuntimeExports.jsx(t.AlertIcon,{}),e.jsxRuntimeExports.jsxs(t.Text,{fontSize:"sm",children:["Failed to load groups: ",d.error.message]})]})]}),b&&e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx(Y,{children:"Select Module to Copy"}),x?e.jsxRuntimeExports.jsxs(t.HStack,{children:[e.jsxRuntimeExports.jsx(t.Spinner,{size:"sm"}),e.jsxRuntimeExports.jsx(t.Text,{fontSize:"sm",color:"gray.600",children:"Loading modules..."})]}):e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(H.st,{placeholder:"Choose modules to copy...",options:U,value:U.filter(r=>F.includes(r.value)),onChange:D,isDisabled:U.length===0,isClearable:!0,isMulti:!0,closeMenuOnSelect:!1,formatOptionLabel:(r,{context:i})=>e.jsxRuntimeExports.jsxs(t.HStack,{justify:"space-between",w:"100%",children:[e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxRuntimeExports.jsx(t.Text,{children:r.label}),i==="value"&&r.isQuantumOwned&&e.jsxRuntimeExports.jsx(t.Text,{color:"blue",fontSize:"xs",children:"(Quantum Owned)"})]}),r.isQuantumOwned&&i==="menu"&&e.jsxRuntimeExports.jsx(t.Tag,{size:"sm",colorScheme:"blue",variant:"solid",children:"Quantum Owned"})]})}),U.length===0&&e.jsxRuntimeExports.jsx(t.Text,{fontSize:"sm",color:"gray.500",mt:2,children:"No modules found in this group"})]}),l.error&&e.jsxRuntimeExports.jsxs(t.Alert,{status:"error",mt:2,children:[e.jsxRuntimeExports.jsx(t.AlertIcon,{}),e.jsxRuntimeExports.jsxs(t.Text,{fontSize:"sm",children:["Failed to load modules: ",l.error.message]})]})]}),j.length>0&&e.jsxRuntimeExports.jsxs(t.Box,{p:4,bg:"gray.50",borderRadius:"md",children:[e.jsxRuntimeExports.jsx(t.Text,{fontWeight:"semibold",mb:3,children:j.length===1?"Module to Copy:":`${j.length} Modules to Copy:`}),e.jsxRuntimeExports.jsxs(t.VStack,{align:"start",spacing:3,children:[j.map((r,i)=>e.jsxRuntimeExports.jsxs(t.Box,{w:"100%",p:3,bg:"white",borderRadius:"md",border:"1px solid",borderColor:"gray.200",children:[e.jsxRuntimeExports.jsxs(t.HStack,{justify:"space-between",align:"start",mb:2,children:[e.jsxRuntimeExports.jsxs(t.Text,{fontWeight:"medium",fontSize:"sm",children:[i+1,". ",r.name]}),r.quantumOwned&&e.jsxRuntimeExports.jsx(t.Tag,{size:"sm",colorScheme:"blue",variant:"solid",children:"Quantum Owned"})]}),e.jsxRuntimeExports.jsxs(t.VStack,{align:"start",spacing:1,fontSize:"sm",color:"gray.600",children:[r.description&&e.jsxRuntimeExports.jsxs(t.Text,{children:[e.jsxRuntimeExports.jsx("strong",{children:"Description:"})," ",r.description]}),e.jsxRuntimeExports.jsxs(t.Text,{children:[e.jsxRuntimeExports.jsx("strong",{children:"Actions:"})," ",r.moduleActions.length]}),e.jsxRuntimeExports.jsxs(t.Text,{children:[e.jsxRuntimeExports.jsx("strong",{children:"Categories:"})," ",r.categories.map(y=>y.name).join(", ")||"None"]})]})]},r.id)),j.length>1&&e.jsxRuntimeExports.jsx(t.Box,{w:"100%",p:2,bg:"blue.50",borderRadius:"md",border:"1px solid",borderColor:"blue.200",children:e.jsxRuntimeExports.jsxs(t.Text,{fontSize:"sm",fontWeight:"medium",color:"blue.800",children:["Total: ",j.length," modules will be copied"]})}),h&&j.filter(r=>r.moduleActions.some(i=>!i.action.quantumOwned)).length>0&&e.jsxRuntimeExports.jsx(t.Box,{p:2,bg:"yellow.50",borderRadius:"md",border:"1px solid",borderColor:"yellow.200",children:e.jsxRuntimeExports.jsx(t.Text,{fontSize:"sm",fontWeight:"medium",color:"yellow.800",children:"Copying Modules with Non QM-Owned Actions will create corresponding QM-Owned Actions"})})]})]}),!m&&e.jsxRuntimeExports.jsxs(t.ButtonGroup,{spacing:4,justifyContent:"flex-end",children:[e.jsxRuntimeExports.jsx(t.Button,{variant:"outline",onClick:z,isDisabled:E,children:"Cancel"}),e.jsxRuntimeExports.jsxs(t.Button,{colorScheme:"blue",onClick:I,isDisabled:j.length===0||E,isLoading:E,loadingText:"Copying...",children:["Copy"," ",j.length===1?"Module":`${j.length} Modules`]})]})]})})},pe=({name:n,setName:s,actions:a,selectedActionIds:m,setSelectedActionIds:c,availableCategories:u,selectedCategoryIds:h,setSelectedCategoryIds:f,description:b,setDescription:v,...F})=>{const g=t.useDisclosure(),E=o.useMemo(()=>a.map(S=>({...S,selected:m.includes(S.id)})),[a,m]),A=o.useMemo(()=>a.reduce((S,p)=>(S[p.id]=p,S),{}),[a]),d=o.useMemo(()=>m.map(S=>A[S]),[E,m]),l=o.useCallback((S,p)=>{c(p?[...m,S.id]:m.filter(j=>j!==S.id))},[m,c]),T=o.useCallback(S=>{s(S.target.value)},[s]),C=o.useCallback(S=>{v?.(S.target.value)},[v]);return e.jsxRuntimeExports.jsxs(t.Box,{...F,children:[e.jsxRuntimeExports.jsxs(t.HStack,{gap:"2rem",children:[e.jsxRuntimeExports.jsx(ke,{name:n??"",onInputChange:T}),e.jsxRuntimeExports.jsx(Le,{availableCategories:u,value:h,onChange:f})]}),e.jsxRuntimeExports.jsx(Oe,{description:b??"",onInputChange:C}),e.jsxRuntimeExports.jsx(De,{value:d,onChange:c,onAdjustActivities:()=>g.onOpen()}),e.jsxRuntimeExports.jsxs(t.Modal,{isOpen:g.isOpen,onClose:g.onClose,size:"6xl",children:[e.jsxRuntimeExports.jsx(t.ModalOverlay,{}),e.jsxRuntimeExports.jsxs(t.ModalContent,{children:[e.jsxRuntimeExports.jsx(t.ModalHeader,{children:"Select Activities"}),e.jsxRuntimeExports.jsx(t.ModalCloseButton,{}),e.jsxRuntimeExports.jsx(t.ModalBody,{children:e.jsxRuntimeExports.jsx(me,{actions:E,onSelected:l,disableCreate:!0,disableDelete:!0,tableProps:{height:"28rem",overflowY:"auto"}})}),e.jsxRuntimeExports.jsx(t.ModalFooter,{children:e.jsxRuntimeExports.jsx(t.Button,{colorScheme:"blue",onClick:g.onClose,isDisabled:m.length===0,children:"Done"})})]})]})]})},ke=o.memo(({name:n,onInputChange:s})=>e.jsxRuntimeExports.jsxs(t.FormControl,{mb:4,children:[e.jsxRuntimeExports.jsx(Y,{children:"Module Name"}),e.jsxRuntimeExports.jsx(t.Input,{placeholder:"i.e. ACL RTP Test Battery",value:n,onChange:s,isRequired:!0})]})),Le=o.memo(({availableCategories:n,value:s,onChange:a})=>{const m=o.useMemo(()=>[...n,{id:"other",name:"Other"}],[n]),c=o.useMemo(()=>m.map(u=>({value:u.id,label:u.name})),[m]);return e.jsxRuntimeExports.jsxs(t.FormControl,{mb:4,children:[e.jsxRuntimeExports.jsx(Y,{children:"Module Category"}),e.jsxRuntimeExports.jsx(H.st,{isDisabled:n.length===0,isClearable:!0,options:c,value:m.filter(u=>s.includes(u.id)).map(u=>({value:u.id,label:u.name})),onChange:u=>a(u?[u.value]:[]),placeholder:"Select category"})]})}),Oe=o.memo(({description:n,onInputChange:s})=>e.jsxRuntimeExports.jsxs(t.FormControl,{mb:4,children:[e.jsxRuntimeExports.jsx(Y,{children:e.jsxRuntimeExports.jsxs("span",{children:["Description",e.jsxRuntimeExports.jsx(t.Text,{fontSize:"sm",color:"gray.500",children:"Briefly describe the objective of this module. Max 40 words."})]})}),e.jsxRuntimeExports.jsx(t.Input,{placeholder:"i.e. Assess readiness to return to play post-ACL reconstruction",value:n,onChange:s})]})),De=o.memo(({value:n,onChange:s,onAdjustActivities:a})=>{const m=o.useMemo(()=>n.map(c=>({id:c.id,name:c.name})),[n]);return e.jsxRuntimeExports.jsxs(t.FormControl,{mb:4,children:[e.jsxRuntimeExports.jsxs(t.HStack,{justifyContent:"space-between",children:[e.jsxRuntimeExports.jsx(Y,{children:e.jsxRuntimeExports.jsxs("span",{children:["Activities",e.jsxRuntimeExports.jsx(t.Text,{fontSize:"sm",color:"gray.500",children:"Drag and drop to reorder the activities in this module."})]})}),e.jsxRuntimeExports.jsx(t.Button,{size:"sm",variant:"solid",colorScheme:"blue",onClick:a,children:"Add / Remove Activities"})]}),m.length===0?e.jsxRuntimeExports.jsx(t.VStack,{children:e.jsxRuntimeExports.jsxs(t.Text,{color:"gray.500",fontSize:"lg",mb:"4rem",mt:"4rem",children:["No activities selected for this module.",e.jsxRuntimeExports.jsx(t.Button,{ml:"0.5em",size:"sm",variant:"link",colorScheme:"blue",onClick:a,children:"Add activities."})]})}):e.jsxRuntimeExports.jsx(Ce,{value:m,onChange:c=>{const u=c(m);s(u.map(h=>h.id))}})]})}),he=({value:n,onChange:s,forceKind:a,disableRemove:m,disableKind:c,lockRanges:u,...h})=>{const f=o.useMemo(()=>[...n].sort((g,E)=>{const A=J.availablePlanes.indexOf(g.plane),d=J.availablePlanes.indexOf(E.plane);return A-d}),[n]),b=o.useCallback(g=>"segment"in g.id?V.getSegmentNameWithPlane(g.id.segment,g.plane,!0)??"Unknown":V.getJointNameWithPlane(g.id.joint,g.plane,!0)??"Unknown",[]),v=o.useCallback((g,E)=>{const A=f.findIndex(l=>l.id===E.id&&l.plane===E.plane);let d=[...f];a&&(E={...E,kind:a}),d[A]=E,u&&(d=d.map(l=>({...l,min:E.min,max:E.max}))),s(d)},[s,f,a,u]),F=o.useCallback(g=>{const E=f.filter(A=>A.id!==g.id||A.plane!==g.plane);s(E)},[s,f]);return e.jsxRuntimeExports.jsx(t.VStack,{alignItems:"flex-start",overflowY:"auto",...h,children:f.map((g,E)=>e.jsxRuntimeExports.jsx(_e,{label:b(g),parameter:g,onChange:A=>v(E,A),onRemove:m?void 0:()=>F(g),forceKind:a,disableKind:c},`${JSON.stringify(g.id)}-${g.plane}`))})},_e=({label:n,parameter:s,onChange:a,onRemove:m,forceKind:c,disableKind:u})=>{const h=o.useCallback(v=>"joint"in s.id?V.getJointAngleDirectionName(s.id.joint,s.plane,v<0?-1:1):V.getSegmentAngleDirectionName(s.id.segment,s.plane,v<0?-1:1),[s]),{min:f,max:b}="joint"in s.id?V.getNormativeJointRange(s.id.joint,s.plane):{min:-180,max:180};return e.jsxRuntimeExports.jsxs(t.VStack,{borderRadius:"md",p:2,px:4,bg:"gray.100",w:"100%",overflow:"hidden",flexShrink:"0",children:[e.jsxRuntimeExports.jsxs(t.HStack,{w:"100%",children:[e.jsxRuntimeExports.jsx(t.Text,{fontSize:"sm",flex:1,textTransform:"capitalize",fontWeight:"semibold",children:n}),m&&e.jsxRuntimeExports.jsx(t.IconButton,{size:"xs",variant:"ghost","aria-label":"delete",icon:e.jsxRuntimeExports.jsx(t.Icon,{as:de.FaTrash}),onClick:m}),!c&&e.jsxRuntimeExports.jsx(le,{selectedItem:s?.kind??R.ThresholdKind.Limit,onChange:({value:v})=>a({...s,kind:v}),isDisabled:u,buttonProps:{size:"sm",variant:"outline",colorScheme:"gray"},selectedProps:{variant:"solid",colorScheme:"teal"},items:[{value:R.ThresholdKind.Limit,label:"limit"},{value:R.ThresholdKind.Target,label:"target"}]})]}),e.jsxRuntimeExports.jsx(ye,{w:"100%",size:"xs",min:f,max:b,zeroMarker:!0,value:[s.min,s.max],onChange:v=>a({...s,min:v[0],max:v[1]}),formatValue:v=>`${Math.abs(v)}°`,valueLabel:v=>h(v)??"",positiveNegativeLabels:h(0)?[h(-1)??"",h(1)??""]:void 0})]})},ne=(n,s)=>"segment"in n&&"segment"in s&&n.segment===s.segment||"joint"in n&&"joint"in s&&n.joint===s.joint,je=({options:n,value:s,onChange:a,forceKind:m,singleValue:c,singleValueSideless:u,editOnly:h,disableKind:f,maxParameters:b,...v})=>{const F=u?2:b,g=o.useMemo(()=>n.map(l=>({label:"segment"in l.id?V.getSegmentNameWithPlane(l.id.segment,l.plane,!0)??"Unknown":V.getJointNameWithPlane(l.id.joint,l.plane,!0)??"Unknown",value:l.id,plane:l.plane})),[n]),E=o.useMemo(()=>{if(!u||s.length===0)return g;const l=s[0];return g.filter(T=>J.getAnalysisPartIdNoSide(T.value)===J.getAnalysisPartIdNoSide(l.id)&&T.plane===l.plane)},[g,s,u]),A=o.useMemo(()=>g.filter(l=>s.some(T=>ne(T.id,l.value)&&T.plane===l.plane)),[g,s]),d=o.useCallback(l=>{const T=l.map(C=>{const S=s.find(I=>ne(I.id,C.value)&&I.plane===C.plane),p=n.find(I=>ne(I.id,C.value)&&I.plane===C.plane),j=u?s.find(I=>J.getAnalysisPartIdNoSide(I.id)===J.getAnalysisPartIdNoSide(C.value)&&I.plane===C.plane):void 0,M=j&&!S?j.min:p&&p.min?p.min:0,D=j&&!S?j.max:p&&p.max?p.max:0;return S??{id:C.value,plane:C.plane,min:M,max:D,kind:m??R.ThresholdKind.Limit}});a(T)},[a,s,n,m,u]);return o.useEffect(()=>{const l=s.filter(T=>n.some(C=>ne(C.id,T.id)&&C.plane===T.plane));l.length!==s.length&&a(l)},[n,a]),e.jsxRuntimeExports.jsxs(t.Box,{...v,children:[e.jsxRuntimeExports.jsx(H.st,{isMulti:!c,placeholder:s.length?`${s.length} selected`:"Search...",value:A,isDisabled:h||A.length>=(F??1/0),onChange:l=>Array.isArray(l)?d([...l]):d(l!==null?[l]:[]),options:E,controlShouldRenderValue:!1}),e.jsxRuntimeExports.jsx(he,{marginTop:2,maxH:"28rem",value:s,onChange:a,forceKind:m,disableKind:f,lockRanges:u})]})},ge=n=>{switch(n){case R.SensorLocation.Thorax:return"Thorax";case R.SensorLocation.CenterBack:return"Center Back";case R.SensorLocation.Pelvis:return"Pelvis";case R.SensorLocation.LeftThigh:return"Left Thigh";case R.SensorLocation.RightThigh:return"Right Thigh";case R.SensorLocation.LeftShank:return"Left Shank";case R.SensorLocation.RightShank:return"Right Shank";case R.SensorLocation.LeftFoot:return"Left Foot";case R.SensorLocation.RightFoot:return"Right Foot";case R.SensorLocation.LeftUpperArm:return"Left Upper Arm";case R.SensorLocation.RightUpperArm:return"Right Upper Arm";case R.SensorLocation.LeftForearm:return"Left Forearm";case R.SensorLocation.RightForearm:return"Right Forearm";case R.SensorLocation.Head:return"Head"}return console.warn(`Unknown sensor location: ${n}`),"Unknown"},Be=6,Pe=[R.SensorLocation.LeftFoot,R.SensorLocation.LeftShank,R.SensorLocation.LeftThigh,R.SensorLocation.Pelvis,R.SensorLocation.RightFoot,R.SensorLocation.RightShank,R.SensorLocation.RightThigh,R.SensorLocation.Thorax,R.SensorLocation.CenterBack,R.SensorLocation.Head],Ge=Pe.map(n=>({label:ge(n),value:n})),ae=n=>n.map(s=>s.__isNew__?{name:s.label}:{id:s.value,name:s.label}),Ue=({id:n,onError:s,onCancel:a,onSave:m,hideButtons:c,setButtonOnClick:u,setButtonDisabled:h,quantumOwned:f})=>{const b=G.useClient(),[{fetching:v},F]=G.useMutation(w.CREATE_ACTION),[{fetching:g},E]=G.useMutation(w.UPDATE_ACTION),[{data:A}]=G.useQuery({query:w.GET_ACTION_BY_ID,variables:{id:n??""},pause:!n}),d=R.getFragmentData(w.ACTION_FRAGMENT,A?.getActionById),l=v||g,T=!!d&&!!n,[C,S]=o.useState(""),[p,j]=o.useState(""),[M,D]=o.useState(""),[I,z]=o.useState(""),[k,U]=o.useState(R.ActionLaterality.Either),[P,x]=o.useState(R.ActionActivityKind.Action),[r,i]=o.useState([]),[y,L]=o.useState([]),_=o.useMemo(()=>r.map(N=>N.value),[r]),W=fe.usePartOptionsForSensorLocations(_),[O,q]=o.useState([]),[B,Z]=o.useState(!1),Q=C.length&&k;o.useEffect(()=>{d&&(S(d.name),x(d.activityKind),j(d.description||""),U(d.laterality),L(d.useCases.map(N=>({id:N.id,value:N.id,label:N.name,__isNew__:!1}))),D(d.instructionsPointOfInterest||""),z(d.instructionsMovementReport||""),i(d.sensorLocations.map(N=>({label:ge(N),value:N}))),q(X.thresholdsToParameters(d.thresholds)))},[d]);const Ee=o.useCallback(async N=>(await b.query(f?w.SEARCH_QUANTUM_OWNED_USE_CASES:w.SEARCH_USE_CASES,{query:N,limit:10}).then(K=>{const te=K.data;return te?te?.quantumOwnedUseCases?te.quantumOwnedUseCases:te.useCases:[]})??[]).map(K=>({label:K.name,value:K.id})),[b,f]),[ce,ue]=o.useState({});o.useEffect(()=>{ue({name:C,laterality:k,description:p,instructionsPointOfInterest:M,instructionsMovementReport:I,sensorLocations:_,thresholds:X.parametersToThresholds(O),useCases:ae(y),activityKind:P})},[ue,d]);const re=o.useMemo(()=>JSON.stringify(ce)!==JSON.stringify({name:C,laterality:k,description:p,instructionsPointOfInterest:M,instructionsMovementReport:I,sensorLocations:_,thresholds:X.parametersToThresholds(O),useCases:ae(y),activityKind:P}),[ce,C,k,_,p,I,M,O,y,P]),ie=o.useCallback(()=>{const N={name:C,laterality:k,description:p,instructionsPointOfInterest:M,instructionsMovementReport:I,sensorLocations:_,thresholds:X.parametersToThresholds(O),useCases:ae(y),activityKind:P,quantumOwned:f};let ee;T&&n?ee=E({id:n,fields:N}):ee=F({fields:N}),ee.then(({error:K})=>{K?s(K):m()})},[f,F,E,n,C,k,_,m,p,I,M,T,O,y,P,s]);return o.useEffect(()=>{h&&h({cancelButton:l,saveButton:l||!Q||!re})},[l,h,Q,re]),o.useEffect(()=>{u&&u({cancelButton:a,saveButton:ie})},[u,a,ie]),e.jsxRuntimeExports.jsxs("div",{className:"grid grid-cols-2 gap-4 w-full",children:[e.jsxRuntimeExports.jsxs("div",{className:"col-span-2 lg:col-span-1 flex flex-col gap-8",children:[e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx($,{children:"Name"}),e.jsxRuntimeExports.jsx(t.Input,{value:C,onChange:N=>S(N.target.value),type:"text",placeholder:"i.e. Lunge & Return"})]}),e.jsxRuntimeExports.jsxs(t.HStack,{m:"0",p:"0",w:"100%",justifyItems:"space-between",children:[e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx($,{children:"Activity Type"}),e.jsxRuntimeExports.jsx(le,{selectedItem:P,onChange:N=>x(N.value),buttonProps:{size:"sm",variant:"outline",colorScheme:"gray"},selectedProps:{variant:"solid",colorScheme:"teal"},items:[{value:R.ActionActivityKind.Action,label:"Action"},{value:R.ActionActivityKind.Movement,label:"Movement"}]})]}),e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx($,{children:"Laterality"}),e.jsxRuntimeExports.jsx(le,{selectedItem:k,onChange:N=>U(N.value),buttonProps:{size:"sm",variant:"outline",colorScheme:"gray"},selectedProps:{variant:"solid",colorScheme:"teal"},items:[{value:R.ActionLaterality.Unilateral,label:"unilateral"},{value:R.ActionLaterality.Bilateral,label:"bilateral"},{value:R.ActionLaterality.Either,label:"either / or"}]})]})]}),e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx($,{children:"Use Cases"}),e.jsxRuntimeExports.jsx(t.Tooltip,{isOpen:B,label:"Type to search for existing use cases",placement:"top-end",children:e.jsxRuntimeExports.jsx(t.Box,{children:e.jsxRuntimeExports.jsx(H.yt,{value:y,onChange:N=>L([...N]),isMulti:!0,cacheOptions:!0,defaultOptions:!0,onFocus:()=>Z(!0),onBlur:()=>Z(!1),loadOptions:Ee,placeholder:"(optional) Search for & select use cases…"})})})]}),e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx($,{children:"Description"}),e.jsxRuntimeExports.jsx(t.Textarea,{value:p,onChange:N=>j(N.target.value),rows:2,placeholder:"(optional) Describe how to perform the test or exercise"})]}),e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx($,{children:"Instructions for General Movement Report"}),e.jsxRuntimeExports.jsx(t.Textarea,{value:I,onChange:N=>z(N.target.value),rows:2,placeholder:"(optional) Describe how to setup or generate the movement report"})]}),e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx($,{children:"Instructions for Point of Interest Report"}),e.jsxRuntimeExports.jsx(t.Textarea,{value:M,onChange:N=>D(N.target.value),rows:2,placeholder:"(optional) Describe how to setup or generate the point of interest report"})]})]}),e.jsxRuntimeExports.jsxs("div",{className:"col-span-2 lg:col-span-1 flex flex-col gap-8",children:[e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx($,{children:"Sensor Locations"}),e.jsxRuntimeExports.jsx(H.st,{isMulti:!0,value:r,onChange:N=>i([...N]),options:Ge,isOptionDisabled:()=>r.length>=Be})]}),e.jsxRuntimeExports.jsxs(t.FormControl,{children:[e.jsxRuntimeExports.jsx($,{children:"Default Parameters"}),e.jsxRuntimeExports.jsx(je,{options:W,value:O,onChange:q})]})]}),e.jsxRuntimeExports.jsx("div",{className:X.cn("col-span-2 flex justify-end",c&&"hidden"),children:e.jsxRuntimeExports.jsxs(t.ButtonGroup,{mt:16,gap:4,children:[e.jsxRuntimeExports.jsx(t.Button,{colorScheme:"gray",isDisabled:l,onClick:a,children:"Cancel"}),e.jsxRuntimeExports.jsx(t.Button,{colorScheme:"blue",isDisabled:l||!Q||!re,isLoading:l,onClick:ie,children:"Save changes"})]})})]})},$=({children:n})=>e.jsxRuntimeExports.jsx(t.FormLabel,{fontWeight:"bold",fontFamily:"sans-serif",fontSize:"large",children:n}),ze=({id:n,onCancel:s,onSave:a,onError:m,hideButtons:c,quantumOwned:u,setButtonOnClick:h,setButtonDisabled:f})=>{const[{data:b}]=G.useQuery({query:u?w.GET_QUANTUM_OWNED_ACTIONS:w.GET_ACTIONS}),[{data:v}]=G.useQuery({query:w.GET_MODULE_BY_ID,variables:{id:n},pause:!n}),[{data:F}]=G.useQuery({query:w.GET_ALL_MODULE_CATEGORIES}),g=R.getFragmentData(w.MODULE_CATEGORY_FRAGMENT,F?.moduleCategories),[{fetching:E},A]=G.useMutation(w.UPDATE_MODULE),[{fetching:d},l]=G.useMutation(w.CREATE_MODULE),T=R.getFragmentData(w.ACTION_FRAGMENT,u?b?.quantumOwnedActions:b?.actions)??[],C=R.getFragmentData(w.ACTION_MODULE_FRAGMENT,v?.module),S=R.getFragmentData(w.MODULE_ACTION_FRAGMENT,C?.moduleActions)??[],[p,j]=o.useState([...S.map(x=>x.actionId)??[]]),[M,D]=o.useState(C?.name??""),[I,z]=o.useState([]),[k,U]=o.useState(C?.description??"");o.useEffect(()=>{C&&(j(S.map(x=>x.actionId)),D(C.name),U(C.description??""),z(C.categories.map(x=>R.getFragmentData(w.MODULE_CATEGORY_FRAGMENT,x).id)??[]))},[C,S]);const P=o.useCallback(()=>{let x;const r={actions:p,name:M,categories:I.filter(i=>i!=="other"),description:k,quantumOwned:u};C?x=A({id:C.id,input:r}):x=l({input:r}),x.then(({error:i})=>{i?m(i):a()})},[l,A,p,M,k,I,C,a,m]);return o.useEffect(()=>{f&&f({cancelButton:E||d,saveButton:E||d||!M||k.trim().split(/\s+/).filter(Boolean).length>40})},[f,E,d,p,M,k]),o.useEffect(()=>{h&&h({cancelButton:s,saveButton:P})},[h,s,P]),e.jsxRuntimeExports.jsxs(t.Box,{width:"100%",children:[e.jsxRuntimeExports.jsx(pe,{name:M,setName:D,actions:T,selectedActionIds:p,setSelectedActionIds:j,availableCategories:g??[],selectedCategoryIds:I,setSelectedCategoryIds:z,description:k,setDescription:U}),!c&&e.jsxRuntimeExports.jsx(t.HStack,{justifyContent:"flex-start",children:e.jsxRuntimeExports.jsxs(t.ButtonGroup,{mt:16,gap:4,children:[e.jsxRuntimeExports.jsx(t.Button,{colorScheme:"gray",isDisabled:E||d,onClick:s,children:"Cancel"}),e.jsxRuntimeExports.jsx(t.Button,{colorScheme:"blue",isDisabled:E||d||!M||k.trim().split(/\s+/).filter(Boolean).length>40,isLoading:E||d,onClick:P,children:"Save"})]})})]})};exports.ActivityList=me;exports.CopyActivityForm=Ie;exports.CopyModuleForm=Ne;exports.ModuleForm=pe;exports.ParameterEditList=he;exports.ParameterEditSelect=je;exports.UpsertActivityForm=Ue;exports.UpsertModuleForm=ze;
|