@morscherlab/mint-sdk 1.1.0-beta.9 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{EmptyState-DgBRoYAy.js → EmptyState-LMPS3keb.js} +3 -193
- package/dist/EmptyState-LMPS3keb.js.map +1 -0
- package/dist/{ExperimentPopover-BFw3QX8L.js → ExperimentPopover-D6_RGzTY.js} +113 -35
- package/dist/ExperimentPopover-D6_RGzTY.js.map +1 -0
- package/dist/{ExperimentSelectorModal-BBWXC7KW.js → ExperimentSelectorModal-CDNsNudn.js} +9 -11
- package/dist/ExperimentSelectorModal-CDNsNudn.js.map +1 -0
- package/dist/{SettingsModal-Dpg-X1OM.js → SettingsModal-BGBimSIA.js} +5 -5
- package/dist/{SettingsModal-Dpg-X1OM.js.map → SettingsModal-BGBimSIA.js.map} +1 -1
- package/dist/__stories__/experiment-helpers.d.ts +3 -0
- package/dist/__tests__/stores/experiment.test.d.ts +1 -0
- package/dist/{analysisArtifactTypes-ejqR8MX3.js → analysisArtifactTypes-DQ0MjwHZ.js} +1 -1
- package/dist/{analysisArtifactTypes-ejqR8MX3.js.map → analysisArtifactTypes-DQ0MjwHZ.js.map} +1 -1
- package/dist/components/ExperimentPopover.vue.d.ts +5 -0
- package/dist/components/ExperimentSelectorModal.vue.d.ts +1 -5
- package/dist/components/PluginWorkspaceView.props.d.ts +1 -4
- package/dist/components/PluginWorkspaceView.vue.d.ts +0 -1
- package/dist/components/SmartGroupFieldRecipe.vue.d.ts +2 -2
- package/dist/components/index.js +7 -7
- package/dist/{components-Ci_BTx00.js → components-BbOyjE2T.js} +24 -29
- package/dist/components-BbOyjE2T.js.map +1 -0
- package/dist/composables/experiment-utils.d.ts +10 -0
- package/dist/composables/index.d.ts +2 -2
- package/dist/composables/index.js +11 -10
- package/dist/composables/useAppExperiment.d.ts +29 -17
- package/dist/composables/usePlatformContext.d.ts +3 -3
- package/dist/{composables-C0VEJ73O.js → composables-CW8NRXLB.js} +5 -5
- package/dist/{composables-C0VEJ73O.js.map → composables-CW8NRXLB.js.map} +1 -1
- package/dist/experiment-Y9Iz7KYi.js +95 -0
- package/dist/experiment-Y9Iz7KYi.js.map +1 -0
- package/dist/{experiment-utils-CxkruZ3G.js → experiment-utils-7Yw-h0tD.js} +16 -2
- package/dist/{experiment-utils-CxkruZ3G.js.map → experiment-utils-7Yw-h0tD.js.map} +1 -1
- package/dist/index.js +16 -15
- package/dist/index.js.map +1 -1
- package/dist/install.js +7 -7
- package/dist/{plotly.min-BR53hja4.js → plotly.min-c2Sez60c.js} +1 -1
- package/dist/{plotly.min-BR53hja4.js.map → plotly.min-c2Sez60c.js.map} +1 -1
- package/dist/stores/auth.d.ts +6 -6
- package/dist/stores/experiment.d.ts +166 -0
- package/dist/stores/index.d.ts +1 -0
- package/dist/stores/index.js +3 -2
- package/dist/styles.css +190 -6
- package/dist/templates/index.js +4 -4
- package/dist/{templates-Cdj93S9C.js → templates-CJRFiWUX.js} +2 -2
- package/dist/{templates-Cdj93S9C.js.map → templates-CJRFiWUX.js.map} +1 -1
- package/dist/types/auth.d.ts +1 -1
- package/dist/types/generated-ui.d.ts +7 -0
- package/dist/types/index.js +1 -1
- package/dist/types/platform.d.ts +1 -1
- package/dist/{auth-B87xM--s.js → useApi-CDBq6z23.js} +191 -2
- package/dist/useApi-CDBq6z23.js.map +1 -0
- package/dist/{useControlSchema-B_qgU4rW.js → useControlSchema-BEAgLyyx.js} +5 -4
- package/dist/{useControlSchema-B_qgU4rW.js.map → useControlSchema-BEAgLyyx.js.map} +1 -1
- package/dist/{useDropdownState-gVaMXtwW.js → useDropdownState-Be-ug_ci.js} +2 -2
- package/dist/{useDropdownState-gVaMXtwW.js.map → useDropdownState-Be-ug_ci.js.map} +1 -1
- package/dist/{useExperimentSelector-BuQZRgMt.js → useExperimentSelector-Dld4841S.js} +4 -3
- package/dist/{useExperimentSelector-BuQZRgMt.js.map → useExperimentSelector-Dld4841S.js.map} +1 -1
- package/dist/{useFormBuilder-D1G5J5Z5.js → useFormBuilder-CR9pBApW.js} +2 -2
- package/dist/{useFormBuilder-D1G5J5Z5.js.map → useFormBuilder-CR9pBApW.js.map} +1 -1
- package/dist/{useProtocolTemplates-DeaOmMaw.js → useProtocolTemplates-DXeIHMwV.js} +38 -42
- package/dist/useProtocolTemplates-DXeIHMwV.js.map +1 -0
- package/package.json +1 -1
- package/src/__stories__/experiment-helpers.ts +12 -9
- package/src/__tests__/components/AppTopBar.test.ts +10 -6
- package/src/__tests__/components/ExperimentPopover.test.ts +64 -0
- package/src/__tests__/components/ExperimentSelectorModal.test.ts +86 -41
- package/src/__tests__/components/PluginWorkspaceView.test.ts +103 -19
- package/src/__tests__/components/SettingsModal.test.ts +1 -1
- package/src/__tests__/composables/experiment-utils.test.ts +33 -0
- package/src/__tests__/composables/useAppExperiment.test.ts +331 -92
- package/src/__tests__/composables/useAuth.test.ts +2 -2
- package/src/__tests__/composables/usePlatformContext.test.ts +5 -1
- package/src/__tests__/stores/experiment.test.ts +300 -0
- package/src/__tests__/types/GeneratedJsonSchema.test.ts +31 -0
- package/src/components/AppTopBar.vue +0 -2
- package/src/components/ExperimentPopover.story.vue +59 -0
- package/src/components/ExperimentPopover.vue +96 -6
- package/src/components/ExperimentSelectorModal.story.vue +6 -16
- package/src/components/ExperimentSelectorModal.vue +8 -4
- package/src/components/PluginWorkspaceView.props.ts +1 -4
- package/src/components/PluginWorkspaceView.story.vue +12 -5
- package/src/components/PluginWorkspaceView.vue +0 -2
- package/src/composables/experiment-utils.ts +22 -0
- package/src/composables/index.ts +1 -2
- package/src/composables/useAppExperiment.ts +57 -67
- package/src/composables/useAuth.ts +1 -1
- package/src/stores/experiment.ts +120 -0
- package/src/stores/index.ts +1 -0
- package/src/styles/components/button.css +1 -3
- package/src/styles/components/experiment-popover.css +105 -0
- package/src/types/auth.ts +1 -1
- package/src/types/generated-ui.ts +7 -0
- package/src/types/platform.ts +1 -1
- package/dist/EmptyState-DgBRoYAy.js.map +0 -1
- package/dist/ExperimentPopover-BFw3QX8L.js.map +0 -1
- package/dist/ExperimentSelectorModal-BBWXC7KW.js.map +0 -1
- package/dist/auth-B87xM--s.js.map +0 -1
- package/dist/components-Ci_BTx00.js.map +0 -1
- package/dist/useProtocolTemplates-DeaOmMaw.js.map +0 -1
package/dist/stores/auth.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export declare const useAuthStore: import('pinia').StoreDefinition<"mint-auth",
|
|
|
4
4
|
tokenExpires: import('vue').Ref<Date | null, Date | null>;
|
|
5
5
|
username: import('vue').Ref<string | null, string | null>;
|
|
6
6
|
userInfo: import('vue').Ref<{
|
|
7
|
-
id:
|
|
7
|
+
id: number;
|
|
8
8
|
username: string;
|
|
9
9
|
shortname: string | null;
|
|
10
10
|
email: string | null;
|
|
@@ -20,7 +20,7 @@ export declare const useAuthStore: import('pinia').StoreDefinition<"mint-auth",
|
|
|
20
20
|
} | null | undefined;
|
|
21
21
|
isActive: boolean;
|
|
22
22
|
} | null, UserInfo | {
|
|
23
|
-
id:
|
|
23
|
+
id: number;
|
|
24
24
|
username: string;
|
|
25
25
|
shortname: string | null;
|
|
26
26
|
email: string | null;
|
|
@@ -78,7 +78,7 @@ export declare const useAuthStore: import('pinia').StoreDefinition<"mint-auth",
|
|
|
78
78
|
tokenExpires: import('vue').Ref<Date | null, Date | null>;
|
|
79
79
|
username: import('vue').Ref<string | null, string | null>;
|
|
80
80
|
userInfo: import('vue').Ref<{
|
|
81
|
-
id:
|
|
81
|
+
id: number;
|
|
82
82
|
username: string;
|
|
83
83
|
shortname: string | null;
|
|
84
84
|
email: string | null;
|
|
@@ -94,7 +94,7 @@ export declare const useAuthStore: import('pinia').StoreDefinition<"mint-auth",
|
|
|
94
94
|
} | null | undefined;
|
|
95
95
|
isActive: boolean;
|
|
96
96
|
} | null, UserInfo | {
|
|
97
|
-
id:
|
|
97
|
+
id: number;
|
|
98
98
|
username: string;
|
|
99
99
|
shortname: string | null;
|
|
100
100
|
email: string | null;
|
|
@@ -152,7 +152,7 @@ export declare const useAuthStore: import('pinia').StoreDefinition<"mint-auth",
|
|
|
152
152
|
tokenExpires: import('vue').Ref<Date | null, Date | null>;
|
|
153
153
|
username: import('vue').Ref<string | null, string | null>;
|
|
154
154
|
userInfo: import('vue').Ref<{
|
|
155
|
-
id:
|
|
155
|
+
id: number;
|
|
156
156
|
username: string;
|
|
157
157
|
shortname: string | null;
|
|
158
158
|
email: string | null;
|
|
@@ -168,7 +168,7 @@ export declare const useAuthStore: import('pinia').StoreDefinition<"mint-auth",
|
|
|
168
168
|
} | null | undefined;
|
|
169
169
|
isActive: boolean;
|
|
170
170
|
} | null, UserInfo | {
|
|
171
|
-
id:
|
|
171
|
+
id: number;
|
|
172
172
|
username: string;
|
|
173
173
|
shortname: string | null;
|
|
174
174
|
email: string | null;
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { ExperimentSummary } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* The single source of truth for the experiment a plugin is currently working on.
|
|
4
|
+
*
|
|
5
|
+
* Both entry points land here: `ExperimentSelectorModal` calls `select()` with a
|
|
6
|
+
* record the platform already returned, and deep links call `selectById()` with
|
|
7
|
+
* nothing but an id. Because a name can only ever arrive from the platform,
|
|
8
|
+
* there is no code path in which a caller can invent one.
|
|
9
|
+
*/
|
|
10
|
+
export declare const useExperimentStore: import('pinia').StoreDefinition<"mint-experiment", Pick<{
|
|
11
|
+
current: import('vue').Ref<{
|
|
12
|
+
id: number;
|
|
13
|
+
experiment_code?: string | undefined;
|
|
14
|
+
name: string;
|
|
15
|
+
status: import('..').ExperimentStatus;
|
|
16
|
+
experiment_type: string;
|
|
17
|
+
project?: string | undefined;
|
|
18
|
+
project_id?: number | undefined;
|
|
19
|
+
project_name?: string | undefined;
|
|
20
|
+
notes?: string | undefined;
|
|
21
|
+
tags?: Record<string, unknown> | undefined;
|
|
22
|
+
created_at: string;
|
|
23
|
+
updated_at: string;
|
|
24
|
+
created_by?: number | undefined;
|
|
25
|
+
created_by_user?: {
|
|
26
|
+
id: number;
|
|
27
|
+
username: string;
|
|
28
|
+
shortname?: string | undefined;
|
|
29
|
+
first_name?: string | undefined;
|
|
30
|
+
last_name?: string | undefined;
|
|
31
|
+
} | undefined;
|
|
32
|
+
has_design_data: boolean;
|
|
33
|
+
} | null, ExperimentSummary | {
|
|
34
|
+
id: number;
|
|
35
|
+
experiment_code?: string | undefined;
|
|
36
|
+
name: string;
|
|
37
|
+
status: import('..').ExperimentStatus;
|
|
38
|
+
experiment_type: string;
|
|
39
|
+
project?: string | undefined;
|
|
40
|
+
project_id?: number | undefined;
|
|
41
|
+
project_name?: string | undefined;
|
|
42
|
+
notes?: string | undefined;
|
|
43
|
+
tags?: Record<string, unknown> | undefined;
|
|
44
|
+
created_at: string;
|
|
45
|
+
updated_at: string;
|
|
46
|
+
created_by?: number | undefined;
|
|
47
|
+
created_by_user?: {
|
|
48
|
+
id: number;
|
|
49
|
+
username: string;
|
|
50
|
+
shortname?: string | undefined;
|
|
51
|
+
first_name?: string | undefined;
|
|
52
|
+
last_name?: string | undefined;
|
|
53
|
+
} | undefined;
|
|
54
|
+
has_design_data: boolean;
|
|
55
|
+
} | null>;
|
|
56
|
+
currentId: import('vue').Ref<number | null, number | null>;
|
|
57
|
+
isResolving: import('vue').Ref<boolean, boolean>;
|
|
58
|
+
error: import('vue').Ref<string | null, string | null>;
|
|
59
|
+
select: (experiment: ExperimentSummary) => void;
|
|
60
|
+
selectById: (id: number) => Promise<ExperimentSummary | null>;
|
|
61
|
+
clear: () => void;
|
|
62
|
+
}, "error" | "current" | "currentId" | "isResolving">, Pick<{
|
|
63
|
+
current: import('vue').Ref<{
|
|
64
|
+
id: number;
|
|
65
|
+
experiment_code?: string | undefined;
|
|
66
|
+
name: string;
|
|
67
|
+
status: import('..').ExperimentStatus;
|
|
68
|
+
experiment_type: string;
|
|
69
|
+
project?: string | undefined;
|
|
70
|
+
project_id?: number | undefined;
|
|
71
|
+
project_name?: string | undefined;
|
|
72
|
+
notes?: string | undefined;
|
|
73
|
+
tags?: Record<string, unknown> | undefined;
|
|
74
|
+
created_at: string;
|
|
75
|
+
updated_at: string;
|
|
76
|
+
created_by?: number | undefined;
|
|
77
|
+
created_by_user?: {
|
|
78
|
+
id: number;
|
|
79
|
+
username: string;
|
|
80
|
+
shortname?: string | undefined;
|
|
81
|
+
first_name?: string | undefined;
|
|
82
|
+
last_name?: string | undefined;
|
|
83
|
+
} | undefined;
|
|
84
|
+
has_design_data: boolean;
|
|
85
|
+
} | null, ExperimentSummary | {
|
|
86
|
+
id: number;
|
|
87
|
+
experiment_code?: string | undefined;
|
|
88
|
+
name: string;
|
|
89
|
+
status: import('..').ExperimentStatus;
|
|
90
|
+
experiment_type: string;
|
|
91
|
+
project?: string | undefined;
|
|
92
|
+
project_id?: number | undefined;
|
|
93
|
+
project_name?: string | undefined;
|
|
94
|
+
notes?: string | undefined;
|
|
95
|
+
tags?: Record<string, unknown> | undefined;
|
|
96
|
+
created_at: string;
|
|
97
|
+
updated_at: string;
|
|
98
|
+
created_by?: number | undefined;
|
|
99
|
+
created_by_user?: {
|
|
100
|
+
id: number;
|
|
101
|
+
username: string;
|
|
102
|
+
shortname?: string | undefined;
|
|
103
|
+
first_name?: string | undefined;
|
|
104
|
+
last_name?: string | undefined;
|
|
105
|
+
} | undefined;
|
|
106
|
+
has_design_data: boolean;
|
|
107
|
+
} | null>;
|
|
108
|
+
currentId: import('vue').Ref<number | null, number | null>;
|
|
109
|
+
isResolving: import('vue').Ref<boolean, boolean>;
|
|
110
|
+
error: import('vue').Ref<string | null, string | null>;
|
|
111
|
+
select: (experiment: ExperimentSummary) => void;
|
|
112
|
+
selectById: (id: number) => Promise<ExperimentSummary | null>;
|
|
113
|
+
clear: () => void;
|
|
114
|
+
}, never>, Pick<{
|
|
115
|
+
current: import('vue').Ref<{
|
|
116
|
+
id: number;
|
|
117
|
+
experiment_code?: string | undefined;
|
|
118
|
+
name: string;
|
|
119
|
+
status: import('..').ExperimentStatus;
|
|
120
|
+
experiment_type: string;
|
|
121
|
+
project?: string | undefined;
|
|
122
|
+
project_id?: number | undefined;
|
|
123
|
+
project_name?: string | undefined;
|
|
124
|
+
notes?: string | undefined;
|
|
125
|
+
tags?: Record<string, unknown> | undefined;
|
|
126
|
+
created_at: string;
|
|
127
|
+
updated_at: string;
|
|
128
|
+
created_by?: number | undefined;
|
|
129
|
+
created_by_user?: {
|
|
130
|
+
id: number;
|
|
131
|
+
username: string;
|
|
132
|
+
shortname?: string | undefined;
|
|
133
|
+
first_name?: string | undefined;
|
|
134
|
+
last_name?: string | undefined;
|
|
135
|
+
} | undefined;
|
|
136
|
+
has_design_data: boolean;
|
|
137
|
+
} | null, ExperimentSummary | {
|
|
138
|
+
id: number;
|
|
139
|
+
experiment_code?: string | undefined;
|
|
140
|
+
name: string;
|
|
141
|
+
status: import('..').ExperimentStatus;
|
|
142
|
+
experiment_type: string;
|
|
143
|
+
project?: string | undefined;
|
|
144
|
+
project_id?: number | undefined;
|
|
145
|
+
project_name?: string | undefined;
|
|
146
|
+
notes?: string | undefined;
|
|
147
|
+
tags?: Record<string, unknown> | undefined;
|
|
148
|
+
created_at: string;
|
|
149
|
+
updated_at: string;
|
|
150
|
+
created_by?: number | undefined;
|
|
151
|
+
created_by_user?: {
|
|
152
|
+
id: number;
|
|
153
|
+
username: string;
|
|
154
|
+
shortname?: string | undefined;
|
|
155
|
+
first_name?: string | undefined;
|
|
156
|
+
last_name?: string | undefined;
|
|
157
|
+
} | undefined;
|
|
158
|
+
has_design_data: boolean;
|
|
159
|
+
} | null>;
|
|
160
|
+
currentId: import('vue').Ref<number | null, number | null>;
|
|
161
|
+
isResolving: import('vue').Ref<boolean, boolean>;
|
|
162
|
+
error: import('vue').Ref<string | null, string | null>;
|
|
163
|
+
select: (experiment: ExperimentSummary) => void;
|
|
164
|
+
selectById: (id: number) => Promise<ExperimentSummary | null>;
|
|
165
|
+
clear: () => void;
|
|
166
|
+
}, "select" | "clear" | "selectById">>;
|
package/dist/stores/index.d.ts
CHANGED
package/dist/stores/index.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { a as colorPalettes, i as useAuthStore, o as useSettingsStore } from "../useApi-CDBq6z23.js";
|
|
2
|
+
import { t as useExperimentStore } from "../experiment-Y9Iz7KYi.js";
|
|
3
|
+
export { colorPalettes, useAuthStore, useExperimentStore, useSettingsStore };
|
package/dist/styles.css
CHANGED
|
@@ -124,9 +124,7 @@
|
|
|
124
124
|
.mint-button--sm {
|
|
125
125
|
padding: 0.375rem 0.75rem;
|
|
126
126
|
font-size: 0.875rem;
|
|
127
|
-
|
|
128
|
-
keeps the compact label from reading too heavy. Applies to all variants. */
|
|
129
|
-
font-weight: 400;
|
|
127
|
+
font-weight: 500;
|
|
130
128
|
min-height: var(--form-height-sm);
|
|
131
129
|
}
|
|
132
130
|
.mint-button--secondary.mint-button--sm {
|
|
@@ -4177,6 +4175,44 @@ html.dark .mint-pill__remove:hover {
|
|
|
4177
4175
|
.mint-experiment-popover__trigger--active .mint-experiment-popover__trigger-code {
|
|
4178
4176
|
color: var(--color-primary);
|
|
4179
4177
|
}
|
|
4178
|
+
|
|
4179
|
+
/* ─── Unresolved states ───
|
|
4180
|
+
An experiment is bound but has no name yet. The chip must not read "No
|
|
4181
|
+
experiment", and it must never fall back to the numeric id — a name only
|
|
4182
|
+
ever comes from the platform. */
|
|
4183
|
+
.mint-experiment-popover__trigger--loading {
|
|
4184
|
+
cursor: progress;
|
|
4185
|
+
}
|
|
4186
|
+
.mint-experiment-popover__trigger--loading .mint-experiment-popover__trigger-icon {
|
|
4187
|
+
color: var(--text-muted);
|
|
4188
|
+
}
|
|
4189
|
+
.mint-experiment-popover__trigger--error {
|
|
4190
|
+
border-color: var(--mint-error-border);
|
|
4191
|
+
background: var(--mint-error-bg);
|
|
4192
|
+
color: var(--mint-error);
|
|
4193
|
+
}
|
|
4194
|
+
.mint-experiment-popover__trigger--error .mint-experiment-popover__trigger-icon,
|
|
4195
|
+
.mint-experiment-popover__trigger--error .mint-experiment-popover__trigger-chevron {
|
|
4196
|
+
color: var(--mint-error);
|
|
4197
|
+
}
|
|
4198
|
+
|
|
4199
|
+
/* Placeholder bar standing in for the name while it resolves. */
|
|
4200
|
+
.mint-experiment-popover__trigger-skeleton {
|
|
4201
|
+
flex: 1;
|
|
4202
|
+
min-width: 4.5rem;
|
|
4203
|
+
height: 0.625rem;
|
|
4204
|
+
border-radius: var(--radius-sm);
|
|
4205
|
+
background-color: var(--bg-tertiary);
|
|
4206
|
+
background-image: linear-gradient(
|
|
4207
|
+
90deg,
|
|
4208
|
+
var(--bg-tertiary) 0%,
|
|
4209
|
+
var(--bg-hover) 40%,
|
|
4210
|
+
var(--bg-tertiary) 60%
|
|
4211
|
+
);
|
|
4212
|
+
background-size: 200% 100%;
|
|
4213
|
+
background-repeat: no-repeat;
|
|
4214
|
+
animation: mint-experiment-popover-shimmer 1.6s ease-in-out infinite;
|
|
4215
|
+
}
|
|
4180
4216
|
.mint-experiment-popover__trigger-chevron {
|
|
4181
4217
|
width: 0.8125rem;
|
|
4182
4218
|
height: 0.8125rem;
|
|
@@ -4431,6 +4467,53 @@ html.dark .mint-pill__remove:hover {
|
|
|
4431
4467
|
line-height: 1.3;
|
|
4432
4468
|
}
|
|
4433
4469
|
|
|
4470
|
+
/* ─── Card: unresolved variants ─── */
|
|
4471
|
+
.mint-experiment-popover__card--error {
|
|
4472
|
+
background: var(--mint-error-bg);
|
|
4473
|
+
}
|
|
4474
|
+
.mint-experiment-popover__card-icon--error {
|
|
4475
|
+
background: transparent;
|
|
4476
|
+
}
|
|
4477
|
+
.mint-experiment-popover__card-icon--error svg {
|
|
4478
|
+
color: var(--mint-error);
|
|
4479
|
+
}
|
|
4480
|
+
.mint-experiment-popover__card-message {
|
|
4481
|
+
font-size: 0.6875rem;
|
|
4482
|
+
color: var(--text-secondary);
|
|
4483
|
+
line-height: 1.4;
|
|
4484
|
+
overflow-wrap: anywhere;
|
|
4485
|
+
}
|
|
4486
|
+
|
|
4487
|
+
/* Placeholder lines mirroring the code / name / status stack of a real card. */
|
|
4488
|
+
.mint-experiment-popover__skeleton-line {
|
|
4489
|
+
display: block;
|
|
4490
|
+
height: 0.625rem;
|
|
4491
|
+
border-radius: var(--radius-sm);
|
|
4492
|
+
background-color: var(--bg-hover);
|
|
4493
|
+
background-image: linear-gradient(
|
|
4494
|
+
90deg,
|
|
4495
|
+
var(--bg-hover) 0%,
|
|
4496
|
+
var(--bg-secondary) 40%,
|
|
4497
|
+
var(--bg-hover) 60%
|
|
4498
|
+
);
|
|
4499
|
+
background-size: 200% 100%;
|
|
4500
|
+
background-repeat: no-repeat;
|
|
4501
|
+
animation: mint-experiment-popover-shimmer 1.6s ease-in-out infinite;
|
|
4502
|
+
}
|
|
4503
|
+
.mint-experiment-popover__skeleton-line--code {
|
|
4504
|
+
width: 3.5rem;
|
|
4505
|
+
height: 0.75rem;
|
|
4506
|
+
border-radius: 9999px;
|
|
4507
|
+
}
|
|
4508
|
+
.mint-experiment-popover__skeleton-line--name {
|
|
4509
|
+
width: 100%;
|
|
4510
|
+
margin-top: 0.25rem;
|
|
4511
|
+
}
|
|
4512
|
+
.mint-experiment-popover__skeleton-line--status {
|
|
4513
|
+
width: 45%;
|
|
4514
|
+
margin-top: 0.25rem;
|
|
4515
|
+
}
|
|
4516
|
+
|
|
4434
4517
|
/* Action row sits BELOW the card (was inside) so the buttons have
|
|
4435
4518
|
room to breathe and don't compete with the info stack. */
|
|
4436
4519
|
.mint-experiment-popover__card-actions {
|
|
@@ -4561,6 +4644,12 @@ html.dark .mint-pill__remove:hover {
|
|
|
4561
4644
|
to { transform: rotate(360deg);
|
|
4562
4645
|
}
|
|
4563
4646
|
}
|
|
4647
|
+
@keyframes mint-experiment-popover-shimmer {
|
|
4648
|
+
0% { background-position: 100% 0;
|
|
4649
|
+
}
|
|
4650
|
+
100% { background-position: -100% 0;
|
|
4651
|
+
}
|
|
4652
|
+
}
|
|
4564
4653
|
|
|
4565
4654
|
/* Respect motion preferences */
|
|
4566
4655
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -4586,6 +4675,12 @@ to { transform: rotate(360deg);
|
|
|
4586
4675
|
}
|
|
4587
4676
|
.mint-experiment-popover__trigger-chevron {
|
|
4588
4677
|
transition: none;
|
|
4678
|
+
}
|
|
4679
|
+
/* Placeholders stay as flat blocks — still legible as "not loaded yet". */
|
|
4680
|
+
.mint-experiment-popover__trigger-skeleton,
|
|
4681
|
+
.mint-experiment-popover__skeleton-line {
|
|
4682
|
+
animation: none;
|
|
4683
|
+
background-image: none;
|
|
4589
4684
|
}
|
|
4590
4685
|
}
|
|
4591
4686
|
.mint-exp-code {
|
|
@@ -21922,9 +22017,7 @@ code, pre {
|
|
|
21922
22017
|
.mint-button--sm {
|
|
21923
22018
|
padding: 0.375rem 0.75rem;
|
|
21924
22019
|
font-size: 0.875rem;
|
|
21925
|
-
|
|
21926
|
-
keeps the compact label from reading too heavy. Applies to all variants. */
|
|
21927
|
-
font-weight: 400;
|
|
22020
|
+
font-weight: 500;
|
|
21928
22021
|
min-height: var(--form-height-sm);
|
|
21929
22022
|
}
|
|
21930
22023
|
.mint-button--secondary.mint-button--sm {
|
|
@@ -35621,6 +35714,42 @@ html.dark .mint-experiment-selector__filters-toggle--active {
|
|
|
35621
35714
|
.mint-experiment-popover__trigger--active .mint-experiment-popover__trigger-code {
|
|
35622
35715
|
color: var(--color-primary);
|
|
35623
35716
|
}
|
|
35717
|
+
/* ─── Unresolved states ───
|
|
35718
|
+
An experiment is bound but has no name yet. The chip must not read "No
|
|
35719
|
+
experiment", and it must never fall back to the numeric id — a name only
|
|
35720
|
+
ever comes from the platform. */
|
|
35721
|
+
.mint-experiment-popover__trigger--loading {
|
|
35722
|
+
cursor: progress;
|
|
35723
|
+
}
|
|
35724
|
+
.mint-experiment-popover__trigger--loading .mint-experiment-popover__trigger-icon {
|
|
35725
|
+
color: var(--text-muted);
|
|
35726
|
+
}
|
|
35727
|
+
.mint-experiment-popover__trigger--error {
|
|
35728
|
+
border-color: var(--mint-error-border);
|
|
35729
|
+
background: var(--mint-error-bg);
|
|
35730
|
+
color: var(--mint-error);
|
|
35731
|
+
}
|
|
35732
|
+
.mint-experiment-popover__trigger--error .mint-experiment-popover__trigger-icon,
|
|
35733
|
+
.mint-experiment-popover__trigger--error .mint-experiment-popover__trigger-chevron {
|
|
35734
|
+
color: var(--mint-error);
|
|
35735
|
+
}
|
|
35736
|
+
/* Placeholder bar standing in for the name while it resolves. */
|
|
35737
|
+
.mint-experiment-popover__trigger-skeleton {
|
|
35738
|
+
flex: 1;
|
|
35739
|
+
min-width: 4.5rem;
|
|
35740
|
+
height: 0.625rem;
|
|
35741
|
+
border-radius: var(--radius-sm);
|
|
35742
|
+
background-color: var(--bg-tertiary);
|
|
35743
|
+
background-image: linear-gradient(
|
|
35744
|
+
90deg,
|
|
35745
|
+
var(--bg-tertiary) 0%,
|
|
35746
|
+
var(--bg-hover) 40%,
|
|
35747
|
+
var(--bg-tertiary) 60%
|
|
35748
|
+
);
|
|
35749
|
+
background-size: 200% 100%;
|
|
35750
|
+
background-repeat: no-repeat;
|
|
35751
|
+
animation: mint-experiment-popover-shimmer 1.6s ease-in-out infinite;
|
|
35752
|
+
}
|
|
35624
35753
|
.mint-experiment-popover__trigger-chevron {
|
|
35625
35754
|
width: 0.8125rem;
|
|
35626
35755
|
height: 0.8125rem;
|
|
@@ -35862,6 +35991,51 @@ html.dark .mint-experiment-selector__filters-toggle--active {
|
|
|
35862
35991
|
color: var(--text-muted);
|
|
35863
35992
|
line-height: 1.3;
|
|
35864
35993
|
}
|
|
35994
|
+
/* ─── Card: unresolved variants ─── */
|
|
35995
|
+
.mint-experiment-popover__card--error {
|
|
35996
|
+
background: var(--mint-error-bg);
|
|
35997
|
+
}
|
|
35998
|
+
.mint-experiment-popover__card-icon--error {
|
|
35999
|
+
background: transparent;
|
|
36000
|
+
}
|
|
36001
|
+
.mint-experiment-popover__card-icon--error svg {
|
|
36002
|
+
color: var(--mint-error);
|
|
36003
|
+
}
|
|
36004
|
+
.mint-experiment-popover__card-message {
|
|
36005
|
+
font-size: 0.6875rem;
|
|
36006
|
+
color: var(--text-secondary);
|
|
36007
|
+
line-height: 1.4;
|
|
36008
|
+
overflow-wrap: anywhere;
|
|
36009
|
+
}
|
|
36010
|
+
/* Placeholder lines mirroring the code / name / status stack of a real card. */
|
|
36011
|
+
.mint-experiment-popover__skeleton-line {
|
|
36012
|
+
display: block;
|
|
36013
|
+
height: 0.625rem;
|
|
36014
|
+
border-radius: var(--radius-sm);
|
|
36015
|
+
background-color: var(--bg-hover);
|
|
36016
|
+
background-image: linear-gradient(
|
|
36017
|
+
90deg,
|
|
36018
|
+
var(--bg-hover) 0%,
|
|
36019
|
+
var(--bg-secondary) 40%,
|
|
36020
|
+
var(--bg-hover) 60%
|
|
36021
|
+
);
|
|
36022
|
+
background-size: 200% 100%;
|
|
36023
|
+
background-repeat: no-repeat;
|
|
36024
|
+
animation: mint-experiment-popover-shimmer 1.6s ease-in-out infinite;
|
|
36025
|
+
}
|
|
36026
|
+
.mint-experiment-popover__skeleton-line--code {
|
|
36027
|
+
width: 3.5rem;
|
|
36028
|
+
height: 0.75rem;
|
|
36029
|
+
border-radius: 9999px;
|
|
36030
|
+
}
|
|
36031
|
+
.mint-experiment-popover__skeleton-line--name {
|
|
36032
|
+
width: 100%;
|
|
36033
|
+
margin-top: 0.25rem;
|
|
36034
|
+
}
|
|
36035
|
+
.mint-experiment-popover__skeleton-line--status {
|
|
36036
|
+
width: 45%;
|
|
36037
|
+
margin-top: 0.25rem;
|
|
36038
|
+
}
|
|
35865
36039
|
/* Action row sits BELOW the card (was inside) so the buttons have
|
|
35866
36040
|
room to breathe and don't compete with the info stack. */
|
|
35867
36041
|
.mint-experiment-popover__card-actions {
|
|
@@ -35989,6 +36163,10 @@ html.dark .mint-experiment-selector__filters-toggle--active {
|
|
|
35989
36163
|
@keyframes mint-experiment-popover-spin {
|
|
35990
36164
|
to { transform: rotate(360deg); }
|
|
35991
36165
|
}
|
|
36166
|
+
@keyframes mint-experiment-popover-shimmer {
|
|
36167
|
+
0% { background-position: 100% 0; }
|
|
36168
|
+
100% { background-position: -100% 0; }
|
|
36169
|
+
}
|
|
35992
36170
|
/* Respect motion preferences */
|
|
35993
36171
|
@media (prefers-reduced-motion: reduce) {
|
|
35994
36172
|
.mint-experiment-popover__trigger,
|
|
@@ -36014,6 +36192,12 @@ html.dark .mint-experiment-selector__filters-toggle--active {
|
|
|
36014
36192
|
.mint-experiment-popover__trigger-chevron {
|
|
36015
36193
|
transition: none;
|
|
36016
36194
|
}
|
|
36195
|
+
/* Placeholders stay as flat blocks — still legible as "not loaded yet". */
|
|
36196
|
+
.mint-experiment-popover__trigger-skeleton,
|
|
36197
|
+
.mint-experiment-popover__skeleton-line {
|
|
36198
|
+
animation: none;
|
|
36199
|
+
background-image: none;
|
|
36200
|
+
}
|
|
36017
36201
|
}
|
|
36018
36202
|
/* FitPanel Component Styles */
|
|
36019
36203
|
.mint-fit-panel {
|
package/dist/templates/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "../experiment-utils-
|
|
2
|
-
import "../EmptyState-
|
|
3
|
-
import "../useControlSchema-
|
|
4
|
-
import { $ as toTimeCourseRows, $t as listBioTemplatePacks, A as createSamplePrepTemplate, At as toCalibrationCurveRows, B as toBioTemplateComponentProps, Bt as validatePlateMapData, C as createFlowCytometryPanelTemplate, Ct as toInstrumentRunScheduleEvents, D as createTimeCourseTemplate, Dt as toFlowPanelRows, E as createProtocolStepsTemplate, Et as toFlowPanelDataFrame, F as getBioTemplateComponentProps, Ft as validateAssayMatrixData, G as toTemplateDataFrame, Gt as validateSampleSheetData, H as toBioTemplateComponentPropsById, Ht as validateQpcrPlateData, I as listBioTemplateComponentBindings, It as validateCalibrationCurveData, J as toDoseLayoutState, Jt as getBioTemplatePresetInfo, K as toWellMapArray, Kt as validateTimeCourseData, L as toBioTemplateComponentBindings, Lt as validateDoseResponseData, M as createPlateMapTemplate, Mt as toAssayMatrixDataFrame, N as bioTemplatePresetControlValuesToOptions, Nt as toAssayMatrixRows, O as createCalibrationCurveTemplate, Ot as toCalibrationCurveColumns, P as getBioTemplateComponentBindings, Pt as toAssayMatrixSampleOptions, Q as toTimeCourseDataFrame, Qt as getBioTemplatePackInfo, R as toBioTemplateComponentBindingsById, Rt as validateFlowCytometryPanelData, S as createInstrumentRunTemplate, St as toInstrumentRunRows, T as createAssayMatrixTemplate, Tt as toFlowPanelColumns, U as toBioTemplateComponentSnippets, Ut as validateReagentListData, V as toBioTemplateComponentPropsByComponent, Vt as validateProtocolStepsData, W as toBioTemplateComponentUsage, Wt as validateSamplePrepData, X as toWellPlateWells, Xt as searchBioTemplatePresets, Y as toPlateMapEditorState, Yt as listBioTemplatePresets, Z as toTimeCourseColumns, Zt as bioTemplatePacks, _ as createElisaAssayCollection, _t as toProtocolDataFrame, a as getBioTemplateControlDefaults, an as TEMPLATE_COLLECTION_KEY, at as toSamplePrepColumns, b as createQpcrExpressionCollection, bt as toInstrumentRunColumns, c as listBioTemplatePresetControlSchemas, cn as createTemplateEnvelope, ct as toReagentColumns, d as createBioTemplatePresetCollectionFromControls, dn as extractTemplateCollection, dt as toReagentRows, en as searchBioTemplatePacks, et as toTimeCourseSteps, f as createWellPlateScreenCollection, fn as getTemplateData, ft as toQpcrColumns, g as createFlowCytometryAssayCollection, gt as toProtocolColumns, h as createWesternBlotAssayCollection, ht as toQpcrWellPlateWells, i as createBioTemplateControlToolkit, in as searchBioTemplateCatalog, it as toSampleRows, j as createSampleSheetTemplate, jt as toAssayMatrixColumns, k as createDoseResponseTemplate, kt as toCalibrationCurveDataFrame, l as requireBioTemplateControlSchema, ln as ensureTemplateEnvelope, lt as toReagentDataFrame, m as createDefaultBioTemplate, mt as toQpcrRows, n as bioTemplateControlsToSectionFormSchemas, nn as getBioTemplateInfo, nt as toSampleDataFrame, o as getBioTemplateControlSchema, on as assertTemplateEnvelope, ot as toSamplePrepDataFrame, p as createBioTemplatePackCollection, pt as toQpcrDataFrame, q as toDoseConditions, qt as bioTemplatePresets, r as bioTemplateControlsToSidebarPanels, rn as listBioTemplateCatalog, rt as toSampleOptions, s as listBioTemplateControlSchemas, sn as createTemplateCollection, st as toSamplePrepRows, t as bioTemplateControlsToFormSchema, tn as bioTemplateCatalog, tt as toSampleColumns, u as createBioTemplatePresetCollection, un as ensureTemplateFromCollection, ut as toReagentListItems, v as createTargetedMetabolomicsCollection, vt as toProtocolRows, w as createReagentListTemplate, wt as toInstrumentRunSteps, x as createQpcrPlateTemplate, xt as toInstrumentRunDataFrame, y as createLcmsBatchCollection, yt as toProtocolSteps, z as toBioTemplateComponentImports, zt as validateInstrumentRunData } from "../templates-
|
|
1
|
+
import "../experiment-utils-7Yw-h0tD.js";
|
|
2
|
+
import "../EmptyState-LMPS3keb.js";
|
|
3
|
+
import "../useControlSchema-BEAgLyyx.js";
|
|
4
|
+
import { $ as toTimeCourseRows, $t as listBioTemplatePacks, A as createSamplePrepTemplate, At as toCalibrationCurveRows, B as toBioTemplateComponentProps, Bt as validatePlateMapData, C as createFlowCytometryPanelTemplate, Ct as toInstrumentRunScheduleEvents, D as createTimeCourseTemplate, Dt as toFlowPanelRows, E as createProtocolStepsTemplate, Et as toFlowPanelDataFrame, F as getBioTemplateComponentProps, Ft as validateAssayMatrixData, G as toTemplateDataFrame, Gt as validateSampleSheetData, H as toBioTemplateComponentPropsById, Ht as validateQpcrPlateData, I as listBioTemplateComponentBindings, It as validateCalibrationCurveData, J as toDoseLayoutState, Jt as getBioTemplatePresetInfo, K as toWellMapArray, Kt as validateTimeCourseData, L as toBioTemplateComponentBindings, Lt as validateDoseResponseData, M as createPlateMapTemplate, Mt as toAssayMatrixDataFrame, N as bioTemplatePresetControlValuesToOptions, Nt as toAssayMatrixRows, O as createCalibrationCurveTemplate, Ot as toCalibrationCurveColumns, P as getBioTemplateComponentBindings, Pt as toAssayMatrixSampleOptions, Q as toTimeCourseDataFrame, Qt as getBioTemplatePackInfo, R as toBioTemplateComponentBindingsById, Rt as validateFlowCytometryPanelData, S as createInstrumentRunTemplate, St as toInstrumentRunRows, T as createAssayMatrixTemplate, Tt as toFlowPanelColumns, U as toBioTemplateComponentSnippets, Ut as validateReagentListData, V as toBioTemplateComponentPropsByComponent, Vt as validateProtocolStepsData, W as toBioTemplateComponentUsage, Wt as validateSamplePrepData, X as toWellPlateWells, Xt as searchBioTemplatePresets, Y as toPlateMapEditorState, Yt as listBioTemplatePresets, Z as toTimeCourseColumns, Zt as bioTemplatePacks, _ as createElisaAssayCollection, _t as toProtocolDataFrame, a as getBioTemplateControlDefaults, an as TEMPLATE_COLLECTION_KEY, at as toSamplePrepColumns, b as createQpcrExpressionCollection, bt as toInstrumentRunColumns, c as listBioTemplatePresetControlSchemas, cn as createTemplateEnvelope, ct as toReagentColumns, d as createBioTemplatePresetCollectionFromControls, dn as extractTemplateCollection, dt as toReagentRows, en as searchBioTemplatePacks, et as toTimeCourseSteps, f as createWellPlateScreenCollection, fn as getTemplateData, ft as toQpcrColumns, g as createFlowCytometryAssayCollection, gt as toProtocolColumns, h as createWesternBlotAssayCollection, ht as toQpcrWellPlateWells, i as createBioTemplateControlToolkit, in as searchBioTemplateCatalog, it as toSampleRows, j as createSampleSheetTemplate, jt as toAssayMatrixColumns, k as createDoseResponseTemplate, kt as toCalibrationCurveDataFrame, l as requireBioTemplateControlSchema, ln as ensureTemplateEnvelope, lt as toReagentDataFrame, m as createDefaultBioTemplate, mt as toQpcrRows, n as bioTemplateControlsToSectionFormSchemas, nn as getBioTemplateInfo, nt as toSampleDataFrame, o as getBioTemplateControlSchema, on as assertTemplateEnvelope, ot as toSamplePrepDataFrame, p as createBioTemplatePackCollection, pt as toQpcrDataFrame, q as toDoseConditions, qt as bioTemplatePresets, r as bioTemplateControlsToSidebarPanels, rn as listBioTemplateCatalog, rt as toSampleOptions, s as listBioTemplateControlSchemas, sn as createTemplateCollection, st as toSamplePrepRows, t as bioTemplateControlsToFormSchema, tn as bioTemplateCatalog, tt as toSampleColumns, u as createBioTemplatePresetCollection, un as ensureTemplateFromCollection, ut as toReagentListItems, v as createTargetedMetabolomicsCollection, vt as toProtocolRows, w as createReagentListTemplate, wt as toInstrumentRunSteps, x as createQpcrPlateTemplate, xt as toInstrumentRunDataFrame, y as createLcmsBatchCollection, yt as toProtocolSteps, z as toBioTemplateComponentImports, zt as validateInstrumentRunData } from "../templates-CJRFiWUX.js";
|
|
5
5
|
export { TEMPLATE_COLLECTION_KEY, assertTemplateEnvelope, bioTemplateCatalog, bioTemplateControlsToFormSchema, bioTemplateControlsToSectionFormSchemas, bioTemplateControlsToSidebarPanels, bioTemplatePacks, bioTemplatePresetControlValuesToOptions, bioTemplatePresets, createAssayMatrixTemplate, createBioTemplateControlToolkit, createBioTemplatePackCollection, createBioTemplatePresetCollection, createBioTemplatePresetCollectionFromControls, createCalibrationCurveTemplate, createDefaultBioTemplate, createDoseResponseTemplate, createElisaAssayCollection, createFlowCytometryAssayCollection, createFlowCytometryPanelTemplate, createInstrumentRunTemplate, createLcmsBatchCollection, createPlateMapTemplate, createProtocolStepsTemplate, createQpcrExpressionCollection, createQpcrPlateTemplate, createReagentListTemplate, createSamplePrepTemplate, createSampleSheetTemplate, createTargetedMetabolomicsCollection, createTemplateCollection, createTemplateEnvelope, createTimeCourseTemplate, createWellPlateScreenCollection, createWesternBlotAssayCollection, ensureTemplateEnvelope, ensureTemplateFromCollection, extractTemplateCollection, getBioTemplateComponentBindings, getBioTemplateComponentProps, getBioTemplateControlDefaults, getBioTemplateControlSchema, getBioTemplateInfo, getBioTemplatePackInfo, getBioTemplatePresetInfo, getTemplateData, listBioTemplateCatalog, listBioTemplateComponentBindings, listBioTemplateControlSchemas, listBioTemplatePacks, listBioTemplatePresetControlSchemas, listBioTemplatePresets, requireBioTemplateControlSchema, searchBioTemplateCatalog, searchBioTemplatePacks, searchBioTemplatePresets, toAssayMatrixColumns, toAssayMatrixDataFrame, toAssayMatrixRows, toAssayMatrixSampleOptions, toBioTemplateComponentBindings, toBioTemplateComponentBindingsById, toBioTemplateComponentImports, toBioTemplateComponentProps, toBioTemplateComponentPropsByComponent, toBioTemplateComponentPropsById, toBioTemplateComponentSnippets, toBioTemplateComponentUsage, toCalibrationCurveColumns, toCalibrationCurveDataFrame, toCalibrationCurveRows, toDoseConditions, toDoseLayoutState, toFlowPanelColumns, toFlowPanelDataFrame, toFlowPanelRows, toInstrumentRunColumns, toInstrumentRunDataFrame, toInstrumentRunRows, toInstrumentRunScheduleEvents, toInstrumentRunSteps, toPlateMapEditorState, toProtocolColumns, toProtocolDataFrame, toProtocolRows, toProtocolSteps, toQpcrColumns, toQpcrDataFrame, toQpcrRows, toQpcrWellPlateWells, toReagentColumns, toReagentDataFrame, toReagentListItems, toReagentRows, toSampleColumns, toSampleDataFrame, toSampleOptions, toSamplePrepColumns, toSamplePrepDataFrame, toSamplePrepRows, toSampleRows, toTemplateDataFrame, toTimeCourseColumns, toTimeCourseDataFrame, toTimeCourseRows, toTimeCourseSteps, toWellMapArray, toWellPlateWells, validateAssayMatrixData, validateCalibrationCurveData, validateDoseResponseData, validateFlowCytometryPanelData, validateInstrumentRunData, validatePlateMapData, validateProtocolStepsData, validateQpcrPlateData, validateReagentListData, validateSamplePrepData, validateSampleSheetData, validateTimeCourseData };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as controlsToFormSchema, i as useControlSchema, r as getControlDefaults, x as controlsToSidebarPanels, y as controlsToSectionFormSchemas } from "./useControlSchema-
|
|
1
|
+
import { _ as controlsToFormSchema, i as useControlSchema, r as getControlDefaults, x as controlsToSidebarPanels, y as controlsToSectionFormSchemas } from "./useControlSchema-BEAgLyyx.js";
|
|
2
2
|
//#region src/templates/builderReadUtils.ts
|
|
3
3
|
function isRecord$2(value) {
|
|
4
4
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
@@ -5060,4 +5060,4 @@ function getBioTemplateControlDefaults(target) {
|
|
|
5060
5060
|
//#endregion
|
|
5061
5061
|
export { toTimeCourseRows as $, listBioTemplatePacks as $t, createSamplePrepTemplate as A, toCalibrationCurveRows as At, toBioTemplateComponentProps as B, validatePlateMapData as Bt, createFlowCytometryPanelTemplate as C, toInstrumentRunScheduleEvents as Ct, createTimeCourseTemplate as D, toFlowPanelRows as Dt, createProtocolStepsTemplate as E, toFlowPanelDataFrame as Et, getBioTemplateComponentProps as F, validateAssayMatrixData as Ft, toTemplateDataFrame as G, validateSampleSheetData as Gt, toBioTemplateComponentPropsById as H, validateQpcrPlateData as Ht, listBioTemplateComponentBindings as I, validateCalibrationCurveData as It, toDoseLayoutState as J, getBioTemplatePresetInfo as Jt, toWellMapArray as K, validateTimeCourseData as Kt, toBioTemplateComponentBindings as L, validateDoseResponseData as Lt, createPlateMapTemplate as M, toAssayMatrixDataFrame as Mt, bioTemplatePresetControlValuesToOptions as N, toAssayMatrixRows as Nt, createCalibrationCurveTemplate as O, toCalibrationCurveColumns as Ot, getBioTemplateComponentBindings as P, toAssayMatrixSampleOptions as Pt, toTimeCourseDataFrame as Q, getBioTemplatePackInfo as Qt, toBioTemplateComponentBindingsById as R, validateFlowCytometryPanelData as Rt, createInstrumentRunTemplate as S, toInstrumentRunRows as St, createAssayMatrixTemplate as T, toFlowPanelColumns as Tt, toBioTemplateComponentSnippets as U, validateReagentListData as Ut, toBioTemplateComponentPropsByComponent as V, validateProtocolStepsData as Vt, toBioTemplateComponentUsage as W, validateSamplePrepData as Wt, toWellPlateWells as X, searchBioTemplatePresets as Xt, toPlateMapEditorState as Y, listBioTemplatePresets as Yt, toTimeCourseColumns as Z, bioTemplatePacks as Zt, createElisaAssayCollection as _, toProtocolDataFrame as _t, getBioTemplateControlDefaults as a, TEMPLATE_COLLECTION_KEY as an, toSamplePrepColumns as at, createQpcrExpressionCollection as b, toInstrumentRunColumns as bt, listBioTemplatePresetControlSchemas as c, createTemplateEnvelope as cn, toReagentColumns as ct, createBioTemplatePresetCollectionFromControls as d, extractTemplateCollection as dn, toReagentRows as dt, searchBioTemplatePacks as en, toTimeCourseSteps as et, createWellPlateScreenCollection as f, getTemplateData as fn, toQpcrColumns as ft, createFlowCytometryAssayCollection as g, toProtocolColumns as gt, createWesternBlotAssayCollection as h, toQpcrWellPlateWells as ht, createBioTemplateControlToolkit as i, searchBioTemplateCatalog as in, toSampleRows as it, createSampleSheetTemplate as j, toAssayMatrixColumns as jt, createDoseResponseTemplate as k, toCalibrationCurveDataFrame as kt, requireBioTemplateControlSchema as l, ensureTemplateEnvelope as ln, toReagentDataFrame as lt, createDefaultBioTemplate as m, toQpcrRows as mt, bioTemplateControlsToSectionFormSchemas as n, getBioTemplateInfo as nn, toSampleDataFrame as nt, getBioTemplateControlSchema as o, assertTemplateEnvelope as on, toSamplePrepDataFrame as ot, createBioTemplatePackCollection as p, toQpcrDataFrame as pt, toDoseConditions as q, bioTemplatePresets as qt, bioTemplateControlsToSidebarPanels as r, listBioTemplateCatalog as rn, toSampleOptions as rt, listBioTemplateControlSchemas as s, createTemplateCollection as sn, toSamplePrepRows as st, bioTemplateControlsToFormSchema as t, bioTemplateCatalog as tn, toSampleColumns as tt, createBioTemplatePresetCollection as u, ensureTemplateFromCollection as un, toReagentListItems as ut, createTargetedMetabolomicsCollection as v, toProtocolRows as vt, createReagentListTemplate as w, toInstrumentRunSteps as wt, createQpcrPlateTemplate as x, toInstrumentRunDataFrame as xt, createLcmsBatchCollection as y, toProtocolSteps as yt, toBioTemplateComponentImports as z, validateInstrumentRunData as zt };
|
|
5062
5062
|
|
|
5063
|
-
//# sourceMappingURL=templates-
|
|
5063
|
+
//# sourceMappingURL=templates-CJRFiWUX.js.map
|