@morscherlab/mint-sdk 1.1.0-beta.2 → 1.1.0-beta.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/README.md +18 -4
  2. package/dist/{EmptyState-D1c4RdC7.js → EmptyState-DgBRoYAy.js} +22 -13
  3. package/dist/EmptyState-DgBRoYAy.js.map +1 -0
  4. package/dist/{ExperimentSelectorModal-B7w6k3Y8.js → ExperimentSelectorModal-BBWXC7KW.js} +3 -3
  5. package/dist/{ExperimentSelectorModal-B7w6k3Y8.js.map → ExperimentSelectorModal-BBWXC7KW.js.map} +1 -1
  6. package/dist/{SettingsModal-DPDwCbXK.js → SettingsModal-Dpg-X1OM.js} +3 -3
  7. package/dist/{SettingsModal-DPDwCbXK.js.map → SettingsModal-Dpg-X1OM.js.map} +1 -1
  8. package/dist/__tests__/components/BaseToggle.test.d.ts +1 -0
  9. package/dist/__tests__/components/SectionCard.test.d.ts +1 -0
  10. package/dist/__tests__/composables/analysisArtifactTarget.test.d.ts +1 -0
  11. package/dist/__tests__/types/GeneratedJsonSchema.test.d.ts +1 -0
  12. package/dist/analysisArtifactTypes-ejqR8MX3.js.map +1 -1
  13. package/dist/components/BaseSelect.vue.d.ts +1 -1
  14. package/dist/components/BaseToggle.vue.d.ts +2 -0
  15. package/dist/components/FitPanel.vue.d.ts +1 -1
  16. package/dist/components/PluginWorkspaceView.props.d.ts +1 -1
  17. package/dist/components/SectionCard.vue.d.ts +47 -0
  18. package/dist/components/index.d.ts +1 -0
  19. package/dist/components/index.js +6 -6
  20. package/dist/{components-UfkPN1bK.js → components-Ci_BTx00.js} +711 -633
  21. package/dist/components-Ci_BTx00.js.map +1 -0
  22. package/dist/composables/analysisArtifactTarget.d.ts +5 -0
  23. package/dist/composables/index.d.ts +3 -1
  24. package/dist/composables/index.js +8 -8
  25. package/dist/composables/platformContextHelpers.d.ts +2 -0
  26. package/dist/composables/useAnalysisArtifacts.d.ts +3 -1
  27. package/dist/composables/useGeneratedAnalysis.d.ts +1 -1
  28. package/dist/composables/usePluginClient.d.ts +11 -5
  29. package/dist/{composables-B512bWJP.js → composables-C0VEJ73O.js} +40 -5
  30. package/dist/composables-C0VEJ73O.js.map +1 -0
  31. package/dist/index.js +11 -11
  32. package/dist/install.js +5 -5
  33. package/dist/styles.css +314 -17
  34. package/dist/tailwind.preset.d.ts +5 -0
  35. package/dist/tailwind.preset.js +7 -2
  36. package/dist/tailwind.preset.js.map +1 -1
  37. package/dist/templates/index.js +3 -3
  38. package/dist/{templates-Cttbjbyc.js → templates-Cdj93S9C.js} +2 -2
  39. package/dist/{templates-Cttbjbyc.js.map → templates-Cdj93S9C.js.map} +1 -1
  40. package/dist/types/analysisArtifactTypes.d.ts +8 -0
  41. package/dist/types/components.d.ts +2 -0
  42. package/dist/types/generated-ui.d.ts +13 -0
  43. package/dist/types/index.d.ts +2 -2
  44. package/dist/{useControlSchema-Dallso-L.js → useControlSchema-B_qgU4rW.js} +48 -19
  45. package/dist/useControlSchema-B_qgU4rW.js.map +1 -0
  46. package/dist/{useExperimentSelector-BMjzNcf2.js → useExperimentSelector-BuQZRgMt.js} +2 -2
  47. package/dist/{useExperimentSelector-BMjzNcf2.js.map → useExperimentSelector-BuQZRgMt.js.map} +1 -1
  48. package/dist/{useFormBuilder-BXaaDI41.js → useFormBuilder-D1G5J5Z5.js} +2 -2
  49. package/dist/{useFormBuilder-BXaaDI41.js.map → useFormBuilder-D1G5J5Z5.js.map} +1 -1
  50. package/dist/{useProtocolTemplates-BP7_4RGQ.js → useProtocolTemplates-DeaOmMaw.js} +4 -4
  51. package/dist/{useProtocolTemplates-BP7_4RGQ.js.map → useProtocolTemplates-DeaOmMaw.js.map} +1 -1
  52. package/package.json +1 -1
  53. package/src/__tests__/components/BaseSelect.test.ts +52 -0
  54. package/src/__tests__/components/BaseToggle.test.ts +40 -0
  55. package/src/__tests__/components/GeneratedPluginView.test.ts +10 -0
  56. package/src/__tests__/components/PluginWorkspaceView.test.ts +68 -14
  57. package/src/__tests__/components/SectionCard.test.ts +181 -0
  58. package/src/__tests__/composables/analysisArtifactTarget.test.ts +77 -0
  59. package/src/__tests__/composables/useAnalysisArtifacts.test.ts +74 -1
  60. package/src/__tests__/composables/useGeneratedAnalysis.test.ts +2 -0
  61. package/src/__tests__/composables/usePluginClient.test.ts +36 -1
  62. package/src/__tests__/types/GeneratedJsonSchema.test.ts +62 -0
  63. package/src/components/BaseSelect.vue +16 -2
  64. package/src/components/BaseToggle.vue +3 -1
  65. package/src/components/GeneratedPluginView.vue +1 -1
  66. package/src/components/PluginWorkspaceView.props.ts +1 -1
  67. package/src/components/PluginWorkspaceView.vue +1 -5
  68. package/src/components/SectionCard.story.vue +163 -0
  69. package/src/components/SectionCard.vue +98 -0
  70. package/src/components/index.ts +1 -0
  71. package/src/composables/analysisArtifactTarget.ts +53 -0
  72. package/src/composables/index.ts +6 -0
  73. package/src/composables/platformContextHelpers.ts +10 -3
  74. package/src/composables/useAnalysisArtifacts.ts +48 -0
  75. package/src/composables/useGeneratedAnalysis.ts +30 -12
  76. package/src/composables/usePluginClient.ts +12 -5
  77. package/src/styles/components/button.css +1 -3
  78. package/src/styles/components/section-card.css +161 -0
  79. package/src/styles/index.css +1 -0
  80. package/src/styles/variables.css +25 -0
  81. package/src/tailwind.preset.ts +5 -0
  82. package/src/types/analysisArtifactTypes.ts +9 -0
  83. package/src/types/components.ts +12 -0
  84. package/src/types/generated-ui.ts +13 -0
  85. package/src/types/index.ts +3 -0
  86. package/dist/EmptyState-D1c4RdC7.js.map +0 -1
  87. package/dist/components-UfkPN1bK.js.map +0 -1
  88. package/dist/composables-B512bWJP.js.map +0 -1
  89. package/dist/useControlSchema-Dallso-L.js.map +0 -1
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
- /* Small buttons live in dense/secondary contexts — regular (400) weight
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 {
@@ -9575,14 +9573,14 @@ to {
9575
9573
  }
9576
9574
  }
9577
9575
 
9578
- .mint-generated-workspace[data-v-1cc29b49] {
9576
+ .mint-generated-workspace[data-v-6219e939] {
9579
9577
  position: relative;
9580
9578
  min-width: 0;
9581
9579
  min-height: calc(100vh - 5rem);
9582
9580
  padding: clamp(1rem, 2.5vw, 2.5rem);
9583
9581
  background: var(--color-bg-primary);
9584
9582
  }
9585
- .mint-generated-workspace__loading[data-v-1cc29b49] {
9583
+ .mint-generated-workspace__loading[data-v-6219e939] {
9586
9584
  display: flex;
9587
9585
  min-height: 24rem;
9588
9586
  align-items: center;
@@ -9590,7 +9588,7 @@ to {
9590
9588
  gap: 0.75rem;
9591
9589
  color: var(--color-text-secondary);
9592
9590
  }
9593
- .mint-generated-workspace__header[data-v-1cc29b49] {
9591
+ .mint-generated-workspace__header[data-v-6219e939] {
9594
9592
  display: flex;
9595
9593
  align-items: flex-start;
9596
9594
  justify-content: space-between;
@@ -9598,17 +9596,17 @@ to {
9598
9596
  max-width: 76rem;
9599
9597
  margin: 0 auto 1.25rem;
9600
9598
  }
9601
- .mint-generated-workspace__header h1[data-v-1cc29b49] {
9599
+ .mint-generated-workspace__header h1[data-v-6219e939] {
9602
9600
  margin: 0;
9603
9601
  color: var(--color-text-primary);
9604
9602
  font-size: clamp(1.35rem, 2vw, 1.8rem);
9605
9603
  line-height: 1.2;
9606
9604
  }
9607
- .mint-generated-workspace__header p[data-v-1cc29b49]:not(.mint-generated-workspace__eyebrow) {
9605
+ .mint-generated-workspace__header p[data-v-6219e939]:not(.mint-generated-workspace__eyebrow) {
9608
9606
  margin: 0.4rem 0 0;
9609
9607
  color: var(--color-text-secondary);
9610
9608
  }
9611
- .mint-generated-workspace__eyebrow[data-v-1cc29b49] {
9609
+ .mint-generated-workspace__eyebrow[data-v-6219e939] {
9612
9610
  margin: 0 0 0.35rem;
9613
9611
  color: var(--color-text-muted);
9614
9612
  font-size: 0.72rem;
@@ -9616,13 +9614,13 @@ to {
9616
9614
  letter-spacing: 0.08em;
9617
9615
  text-transform: uppercase;
9618
9616
  }
9619
- .mint-generated-workspace__resources[data-v-1cc29b49] {
9617
+ .mint-generated-workspace__resources[data-v-6219e939] {
9620
9618
  display: flex;
9621
9619
  flex-wrap: wrap;
9622
9620
  justify-content: flex-end;
9623
9621
  gap: 0.4rem;
9624
9622
  }
9625
- .mint-generated-workspace__resources span[data-v-1cc29b49] {
9623
+ .mint-generated-workspace__resources span[data-v-6219e939] {
9626
9624
  padding: 0.3rem 0.55rem;
9627
9625
  border: 1px solid var(--color-border);
9628
9626
  border-radius: 999px;
@@ -9631,7 +9629,7 @@ to {
9631
9629
  font-size: 0.75rem;
9632
9630
  font-weight: 600;
9633
9631
  }
9634
- .mint-generated-workspace__result[data-v-1cc29b49] {
9632
+ .mint-generated-workspace__result[data-v-6219e939] {
9635
9633
  max-width: 76rem;
9636
9634
  min-height: 24rem;
9637
9635
  margin: 0 auto;
@@ -9642,10 +9640,10 @@ to {
9642
9640
  box-shadow: var(--shadow-sm);
9643
9641
  }
9644
9642
  @media (max-width: 640px) {
9645
- .mint-generated-workspace__header[data-v-1cc29b49] {
9643
+ .mint-generated-workspace__header[data-v-6219e939] {
9646
9644
  flex-direction: column;
9647
9645
  }
9648
- .mint-generated-workspace__resources[data-v-1cc29b49] {
9646
+ .mint-generated-workspace__resources[data-v-6219e939] {
9649
9647
  justify-content: flex-start;
9650
9648
  }
9651
9649
  }
@@ -19708,6 +19706,145 @@ to { transform: rotate(360deg);
19708
19706
  animation: none;
19709
19707
  }
19710
19708
  }
19709
+ /* SectionCard — the MINT 1.1 one-card system.
19710
+ *
19711
+ * One card per page region: 12px radius, one shadow token (--card-shadow),
19712
+ * a single header strip, and hairline-separated regions inside — never a
19713
+ * card nested in a card.
19714
+ */
19715
+ .mint-section-card {
19716
+ display: flex;
19717
+ flex-direction: column;
19718
+ border-radius: 12px;
19719
+ border: 1px solid var(--border-color);
19720
+ background: var(--bg-secondary);
19721
+ box-shadow: var(--card-shadow);
19722
+ overflow: hidden;
19723
+ transition: background-color var(--mint-transition), border-color var(--mint-transition);
19724
+ }
19725
+
19726
+ /* Fill the height the parent offers: the body takes the slack and scrolls,
19727
+ * so the header and footer stay pinned to the card's edges. */
19728
+ .mint-section-card--fill {
19729
+ flex: 1;
19730
+ min-height: 0;
19731
+ }
19732
+ .mint-section-card--fill .mint-section-card__body {
19733
+ flex: 1;
19734
+ min-height: 0;
19735
+ overflow: auto;
19736
+ }
19737
+ .mint-section-card__header {
19738
+ display: flex;
19739
+ align-items: center;
19740
+ gap: 0.625rem;
19741
+ padding: 0.6875rem 1rem;
19742
+ border-bottom: 1px solid var(--border-color);
19743
+ flex-shrink: 0;
19744
+ }
19745
+ .mint-section-card__header--divider-light {
19746
+ border-bottom-color: var(--border-light);
19747
+ }
19748
+ .mint-section-card__icon-chip {
19749
+ display: inline-flex;
19750
+ align-items: center;
19751
+ justify-content: center;
19752
+ flex-shrink: 0;
19753
+ width: 1.375rem;
19754
+ height: 1.375rem;
19755
+ border-radius: 6px;
19756
+ }
19757
+ .mint-section-card__icon {
19758
+ width: 0.8125rem;
19759
+ height: 0.8125rem;
19760
+ }
19761
+ .mint-section-card__icon-chip--primary {
19762
+ background: var(--color-primary-soft);
19763
+ color: var(--color-primary);
19764
+ }
19765
+ .mint-section-card__icon-chip--experiment {
19766
+ background: var(--color-experiment-soft);
19767
+ color: var(--color-experiment);
19768
+ }
19769
+ .mint-section-card__icon-chip--project {
19770
+ background: var(--color-project-soft);
19771
+ color: var(--color-project);
19772
+ }
19773
+ .mint-section-card__icon-chip--success {
19774
+ background: var(--mint-success-bg);
19775
+ color: var(--mint-success);
19776
+ }
19777
+ .mint-section-card__icon-chip--error {
19778
+ background: var(--mint-error-bg);
19779
+ color: var(--mint-error);
19780
+ }
19781
+ .mint-section-card__icon-chip--warning {
19782
+ background: var(--mint-warning-bg);
19783
+ color: var(--mint-warning);
19784
+ }
19785
+ .mint-section-card__icon-chip--info {
19786
+ background: var(--mint-info-bg);
19787
+ color: var(--mint-info);
19788
+ }
19789
+ .mint-section-card__title {
19790
+ margin: 0;
19791
+ font-size: 0.8125rem;
19792
+ font-weight: 600;
19793
+ color: var(--text-primary);
19794
+ }
19795
+ .mint-section-card__title--uppercase {
19796
+ font-size: 0.75rem;
19797
+ letter-spacing: 0.08em;
19798
+ text-transform: uppercase;
19799
+ color: var(--text-secondary);
19800
+ }
19801
+ .mint-section-card__count {
19802
+ font-family: 'Fira Code', monospace;
19803
+ font-size: 0.6875rem;
19804
+ color: var(--text-muted);
19805
+ }
19806
+ .mint-section-card__spacer {
19807
+ flex: 1;
19808
+ }
19809
+ .mint-section-card__toolbar {
19810
+ flex-shrink: 0;
19811
+ }
19812
+ .mint-section-card__footer {
19813
+ display: flex;
19814
+ align-items: center;
19815
+ justify-content: space-between;
19816
+ padding: 0.5rem 1rem;
19817
+ border-top: 1px solid var(--border-color);
19818
+ background: var(--bg-primary);
19819
+ flex-shrink: 0;
19820
+ }
19821
+
19822
+ /* Hairline row helpers — regions inside a card separate with 1px lines,
19823
+ * rendered by a 1px gap over a hairline-colored track. */
19824
+ .mint-section-card__rows {
19825
+ display: flex;
19826
+ flex-direction: column;
19827
+ gap: 1px;
19828
+ background: var(--border-light);
19829
+ }
19830
+ .mint-section-card__row {
19831
+ display: flex;
19832
+ align-items: center;
19833
+ gap: 0.625rem;
19834
+ padding: 0.5625rem 1rem;
19835
+ background: var(--bg-secondary);
19836
+ transition: background-color var(--mint-transition);
19837
+ }
19838
+ a.mint-section-card__row,
19839
+ button.mint-section-card__row {
19840
+ cursor: pointer;
19841
+ color: inherit;
19842
+ text-decoration: none;
19843
+ }
19844
+ a.mint-section-card__row:hover,
19845
+ button.mint-section-card__row:hover {
19846
+ background: var(--bg-primary);
19847
+ }
19711
19848
  .mint-artifact-save-dialog {
19712
19849
  display: flex;
19713
19850
  flex-direction: column;
@@ -19824,6 +19961,18 @@ to { transform: rotate(360deg);
19824
19961
  --color-cta-hover: #EA580C;
19825
19962
  --color-purple: #8B5CF6;
19826
19963
 
19964
+ /* Entity accent colors — experiments (cyan) and projects (sky), from the
19965
+ MINT 1.1 card system. -soft backs icon chips and pills, -border outlines
19966
+ pills that sit on a card surface. */
19967
+ --color-experiment: #06B6D4;
19968
+ --color-experiment-hover: #0891B2;
19969
+ --color-experiment-soft: rgba(6, 182, 212, 0.12);
19970
+ --color-experiment-border: rgba(6, 182, 212, 0.3);
19971
+ --color-project: #0EA5E9;
19972
+ --color-project-hover: #0284C7;
19973
+ --color-project-soft: rgba(14, 165, 233, 0.12);
19974
+ --color-project-border: rgba(14, 165, 233, 0.32);
19975
+
19827
19976
  /* MINT brand mark — used for browser theme-color, marketing chrome, app icon background */
19828
19977
  --mint-brand: #7BD0B5;
19829
19978
  --mint-brand-hover: #5FB89A;
@@ -19839,6 +19988,8 @@ to { transform: rotate(360deg);
19839
19988
  --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
19840
19989
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
19841
19990
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
19991
+ /* The MINT 1.1 card system uses exactly one shadow for every card. */
19992
+ --card-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.04), 0 1px 3px 0 rgb(0 0 0 / 0.06);
19842
19993
 
19843
19994
  /* Border radius */
19844
19995
  --radius-sm: 0.25rem;
@@ -19935,6 +20086,17 @@ html.dark {
19935
20086
  --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.3), 0 1px 2px -1px rgb(0 0 0 / 0.2);
19936
20087
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.3), 0 2px 4px -2px rgb(0 0 0 / 0.2);
19937
20088
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.3), 0 4px 6px -4px rgb(0 0 0 / 0.2);
20089
+ --card-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.24), 0 1px 3px 0 rgb(0 0 0 / 0.32);
20090
+
20091
+ /* Entity accent colors - Dark mode */
20092
+ --color-experiment: #22D3EE;
20093
+ --color-experiment-hover: #67E8F9;
20094
+ --color-experiment-soft: rgba(34, 211, 238, 0.16);
20095
+ --color-experiment-border: rgba(34, 211, 238, 0.36);
20096
+ --color-project: #38BDF8;
20097
+ --color-project-hover: #7DD3FC;
20098
+ --color-project-soft: rgba(56, 189, 248, 0.16);
20099
+ --color-project-border: rgba(56, 189, 248, 0.38);
19938
20100
 
19939
20101
  /* Semantic colors - Dark mode */
19940
20102
  --mint-success-bg: rgba(16, 185, 129, 0.15);
@@ -21758,9 +21920,7 @@ code, pre {
21758
21920
  .mint-button--sm {
21759
21921
  padding: 0.375rem 0.75rem;
21760
21922
  font-size: 0.875rem;
21761
- /* Small buttons live in dense/secondary contexts — regular (400) weight
21762
- keeps the compact label from reading too heavy. Applies to all variants. */
21763
- font-weight: 400;
21923
+ font-weight: 500;
21764
21924
  min-height: var(--form-height-sm);
21765
21925
  }
21766
21926
  .mint-button--secondary.mint-button--sm {
@@ -25587,6 +25747,143 @@ code, pre {
25587
25747
  .mint-sample-legend__add-text--lg {
25588
25748
  font-size: 1rem;
25589
25749
  }
25750
+ /* SectionCard — the MINT 1.1 one-card system.
25751
+ *
25752
+ * One card per page region: 12px radius, one shadow token (--card-shadow),
25753
+ * a single header strip, and hairline-separated regions inside — never a
25754
+ * card nested in a card.
25755
+ */
25756
+ .mint-section-card {
25757
+ display: flex;
25758
+ flex-direction: column;
25759
+ border-radius: 12px;
25760
+ border: 1px solid var(--border-color);
25761
+ background: var(--bg-secondary);
25762
+ box-shadow: var(--card-shadow);
25763
+ overflow: hidden;
25764
+ transition: background-color var(--mint-transition), border-color var(--mint-transition);
25765
+ }
25766
+ /* Fill the height the parent offers: the body takes the slack and scrolls,
25767
+ * so the header and footer stay pinned to the card's edges. */
25768
+ .mint-section-card--fill {
25769
+ flex: 1;
25770
+ min-height: 0;
25771
+ }
25772
+ .mint-section-card--fill .mint-section-card__body {
25773
+ flex: 1;
25774
+ min-height: 0;
25775
+ overflow: auto;
25776
+ }
25777
+ .mint-section-card__header {
25778
+ display: flex;
25779
+ align-items: center;
25780
+ gap: 0.625rem;
25781
+ padding: 0.6875rem 1rem;
25782
+ border-bottom: 1px solid var(--border-color);
25783
+ flex-shrink: 0;
25784
+ }
25785
+ .mint-section-card__header--divider-light {
25786
+ border-bottom-color: var(--border-light);
25787
+ }
25788
+ .mint-section-card__icon-chip {
25789
+ display: inline-flex;
25790
+ align-items: center;
25791
+ justify-content: center;
25792
+ flex-shrink: 0;
25793
+ width: 1.375rem;
25794
+ height: 1.375rem;
25795
+ border-radius: 6px;
25796
+ }
25797
+ .mint-section-card__icon {
25798
+ width: 0.8125rem;
25799
+ height: 0.8125rem;
25800
+ }
25801
+ .mint-section-card__icon-chip--primary {
25802
+ background: var(--color-primary-soft);
25803
+ color: var(--color-primary);
25804
+ }
25805
+ .mint-section-card__icon-chip--experiment {
25806
+ background: var(--color-experiment-soft);
25807
+ color: var(--color-experiment);
25808
+ }
25809
+ .mint-section-card__icon-chip--project {
25810
+ background: var(--color-project-soft);
25811
+ color: var(--color-project);
25812
+ }
25813
+ .mint-section-card__icon-chip--success {
25814
+ background: var(--mint-success-bg);
25815
+ color: var(--mint-success);
25816
+ }
25817
+ .mint-section-card__icon-chip--error {
25818
+ background: var(--mint-error-bg);
25819
+ color: var(--mint-error);
25820
+ }
25821
+ .mint-section-card__icon-chip--warning {
25822
+ background: var(--mint-warning-bg);
25823
+ color: var(--mint-warning);
25824
+ }
25825
+ .mint-section-card__icon-chip--info {
25826
+ background: var(--mint-info-bg);
25827
+ color: var(--mint-info);
25828
+ }
25829
+ .mint-section-card__title {
25830
+ margin: 0;
25831
+ font-size: 0.8125rem;
25832
+ font-weight: 600;
25833
+ color: var(--text-primary);
25834
+ }
25835
+ .mint-section-card__title--uppercase {
25836
+ font-size: 0.75rem;
25837
+ letter-spacing: 0.08em;
25838
+ text-transform: uppercase;
25839
+ color: var(--text-secondary);
25840
+ }
25841
+ .mint-section-card__count {
25842
+ font-family: 'Fira Code', monospace;
25843
+ font-size: 0.6875rem;
25844
+ color: var(--text-muted);
25845
+ }
25846
+ .mint-section-card__spacer {
25847
+ flex: 1;
25848
+ }
25849
+ .mint-section-card__toolbar {
25850
+ flex-shrink: 0;
25851
+ }
25852
+ .mint-section-card__footer {
25853
+ display: flex;
25854
+ align-items: center;
25855
+ justify-content: space-between;
25856
+ padding: 0.5rem 1rem;
25857
+ border-top: 1px solid var(--border-color);
25858
+ background: var(--bg-primary);
25859
+ flex-shrink: 0;
25860
+ }
25861
+ /* Hairline row helpers — regions inside a card separate with 1px lines,
25862
+ * rendered by a 1px gap over a hairline-colored track. */
25863
+ .mint-section-card__rows {
25864
+ display: flex;
25865
+ flex-direction: column;
25866
+ gap: 1px;
25867
+ background: var(--border-light);
25868
+ }
25869
+ .mint-section-card__row {
25870
+ display: flex;
25871
+ align-items: center;
25872
+ gap: 0.625rem;
25873
+ padding: 0.5625rem 1rem;
25874
+ background: var(--bg-secondary);
25875
+ transition: background-color var(--mint-transition);
25876
+ }
25877
+ a.mint-section-card__row,
25878
+ button.mint-section-card__row {
25879
+ cursor: pointer;
25880
+ color: inherit;
25881
+ text-decoration: none;
25882
+ }
25883
+ a.mint-section-card__row:hover,
25884
+ button.mint-section-card__row:hover {
25885
+ background: var(--bg-primary);
25886
+ }
25590
25887
  /* BaseSelect Component Styles */
25591
25888
  .mint-select {
25592
25889
  position: relative;
@@ -16,6 +16,10 @@ declare const mintPreset: {
16
16
  'warning-hover': string;
17
17
  brand: string;
18
18
  'brand-hover': string;
19
+ experiment: string;
20
+ 'experiment-hover': string;
21
+ project: string;
22
+ 'project-hover': string;
19
23
  };
20
24
  bg: {
21
25
  primary: string;
@@ -48,6 +52,7 @@ declare const mintPreset: {
48
52
  mint: string;
49
53
  'mint-md': string;
50
54
  'mint-lg': string;
55
+ 'mint-card': string;
51
56
  };
52
57
  transitionDuration: {
53
58
  mint: string;
@@ -14,7 +14,11 @@ var mintPreset = { theme: { extend: {
14
14
  warning: "var(--mint-warning)",
15
15
  "warning-hover": "var(--mint-warning-hover)",
16
16
  brand: "var(--mint-brand)",
17
- "brand-hover": "var(--mint-brand-hover)"
17
+ "brand-hover": "var(--mint-brand-hover)",
18
+ experiment: "var(--color-experiment)",
19
+ "experiment-hover": "var(--color-experiment-hover)",
20
+ project: "var(--color-project)",
21
+ "project-hover": "var(--color-project-hover)"
18
22
  },
19
23
  bg: {
20
24
  primary: "var(--mint-bg-primary)",
@@ -56,7 +60,8 @@ var mintPreset = { theme: { extend: {
56
60
  boxShadow: {
57
61
  mint: "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",
58
62
  "mint-md": "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
59
- "mint-lg": "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)"
63
+ "mint-lg": "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",
64
+ "mint-card": "var(--card-shadow)"
60
65
  },
61
66
  transitionDuration: { mint: "150ms" }
62
67
  } } };
@@ -1 +1 @@
1
- {"version":3,"file":"tailwind.preset.js","names":[],"sources":["../src/tailwind.preset.ts"],"sourcesContent":["import type { Config } from 'tailwindcss'\n\nconst mintPreset = {\n theme: {\n extend: {\n colors: {\n mint: {\n primary: 'var(--color-primary)',\n 'primary-hover': 'var(--color-primary-hover)',\n 'primary-light': 'var(--color-primary-light)',\n cta: 'var(--color-cta)',\n 'cta-hover': 'var(--color-cta-hover)',\n danger: 'var(--mint-error)',\n 'danger-hover': 'var(--mint-error-hover)',\n success: 'var(--mint-success)',\n 'success-hover': 'var(--mint-success-hover)',\n warning: 'var(--mint-warning)',\n 'warning-hover': 'var(--mint-warning-hover)',\n brand: 'var(--mint-brand)',\n 'brand-hover': 'var(--mint-brand-hover)',\n },\n bg: {\n primary: 'var(--mint-bg-primary)',\n secondary: 'var(--mint-bg-secondary)',\n card: 'var(--mint-bg-card)',\n hover: 'var(--mint-bg-hover)',\n input: 'var(--mint-bg-input)',\n },\n text: {\n primary: 'var(--mint-text-primary)',\n secondary: 'var(--mint-text-secondary)',\n muted: 'var(--mint-text-muted)',\n inverse: 'var(--mint-text-inverse)',\n },\n border: {\n DEFAULT: 'var(--mint-border)',\n focus: 'var(--mint-border-focus)',\n },\n },\n fontFamily: {\n sans: ['Fira Sans', 'system-ui', '-apple-system', 'sans-serif'],\n mono: ['Fira Code', 'ui-monospace', 'SFMono-Regular', 'monospace'],\n },\n borderRadius: {\n mint: '0.5rem',\n 'mint-sm': '0.375rem',\n 'mint-lg': '0.75rem',\n },\n boxShadow: {\n mint: '0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)',\n 'mint-md': '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',\n 'mint-lg': '0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)',\n },\n transitionDuration: {\n mint: '150ms',\n },\n },\n },\n} satisfies Partial<Config>\n\nexport default mintPreset\n"],"mappings":";AAEA,IAAM,aAAa,EACjB,OAAO,EACL,QAAQ;CACN,QAAQ;EACN,MAAM;GACJ,SAAS;GACT,iBAAiB;GACjB,iBAAiB;GACjB,KAAK;GACL,aAAa;GACb,QAAQ;GACR,gBAAgB;GAChB,SAAS;GACT,iBAAiB;GACjB,SAAS;GACT,iBAAiB;GACjB,OAAO;GACP,eAAe;GAChB;EACD,IAAI;GACF,SAAS;GACT,WAAW;GACX,MAAM;GACN,OAAO;GACP,OAAO;GACR;EACD,MAAM;GACJ,SAAS;GACT,WAAW;GACX,OAAO;GACP,SAAS;GACV;EACD,QAAQ;GACN,SAAS;GACT,OAAO;GACR;EACF;CACD,YAAY;EACV,MAAM;GAAC;GAAa;GAAa;GAAiB;GAAa;EAC/D,MAAM;GAAC;GAAa;GAAgB;GAAkB;GAAY;EACnE;CACD,cAAc;EACZ,MAAM;EACN,WAAW;EACX,WAAW;EACZ;CACD,WAAW;EACT,MAAM;EACN,WAAW;EACX,WAAW;EACZ;CACD,oBAAoB,EAClB,MAAM,SACP;CACF,EACF,EACF"}
1
+ {"version":3,"file":"tailwind.preset.js","names":[],"sources":["../src/tailwind.preset.ts"],"sourcesContent":["import type { Config } from 'tailwindcss'\n\nconst mintPreset = {\n theme: {\n extend: {\n colors: {\n mint: {\n primary: 'var(--color-primary)',\n 'primary-hover': 'var(--color-primary-hover)',\n 'primary-light': 'var(--color-primary-light)',\n cta: 'var(--color-cta)',\n 'cta-hover': 'var(--color-cta-hover)',\n danger: 'var(--mint-error)',\n 'danger-hover': 'var(--mint-error-hover)',\n success: 'var(--mint-success)',\n 'success-hover': 'var(--mint-success-hover)',\n warning: 'var(--mint-warning)',\n 'warning-hover': 'var(--mint-warning-hover)',\n brand: 'var(--mint-brand)',\n 'brand-hover': 'var(--mint-brand-hover)',\n experiment: 'var(--color-experiment)',\n 'experiment-hover': 'var(--color-experiment-hover)',\n project: 'var(--color-project)',\n 'project-hover': 'var(--color-project-hover)',\n },\n bg: {\n primary: 'var(--mint-bg-primary)',\n secondary: 'var(--mint-bg-secondary)',\n card: 'var(--mint-bg-card)',\n hover: 'var(--mint-bg-hover)',\n input: 'var(--mint-bg-input)',\n },\n text: {\n primary: 'var(--mint-text-primary)',\n secondary: 'var(--mint-text-secondary)',\n muted: 'var(--mint-text-muted)',\n inverse: 'var(--mint-text-inverse)',\n },\n border: {\n DEFAULT: 'var(--mint-border)',\n focus: 'var(--mint-border-focus)',\n },\n },\n fontFamily: {\n sans: ['Fira Sans', 'system-ui', '-apple-system', 'sans-serif'],\n mono: ['Fira Code', 'ui-monospace', 'SFMono-Regular', 'monospace'],\n },\n borderRadius: {\n mint: '0.5rem',\n 'mint-sm': '0.375rem',\n 'mint-lg': '0.75rem',\n },\n boxShadow: {\n mint: '0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)',\n 'mint-md': '0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)',\n 'mint-lg': '0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)',\n 'mint-card': 'var(--card-shadow)',\n },\n transitionDuration: {\n mint: '150ms',\n },\n },\n },\n} satisfies Partial<Config>\n\nexport default mintPreset\n"],"mappings":";AAEA,IAAM,aAAa,EACjB,OAAO,EACL,QAAQ;CACN,QAAQ;EACN,MAAM;GACJ,SAAS;GACT,iBAAiB;GACjB,iBAAiB;GACjB,KAAK;GACL,aAAa;GACb,QAAQ;GACR,gBAAgB;GAChB,SAAS;GACT,iBAAiB;GACjB,SAAS;GACT,iBAAiB;GACjB,OAAO;GACP,eAAe;GACf,YAAY;GACZ,oBAAoB;GACpB,SAAS;GACT,iBAAiB;GAClB;EACD,IAAI;GACF,SAAS;GACT,WAAW;GACX,MAAM;GACN,OAAO;GACP,OAAO;GACR;EACD,MAAM;GACJ,SAAS;GACT,WAAW;GACX,OAAO;GACP,SAAS;GACV;EACD,QAAQ;GACN,SAAS;GACT,OAAO;GACR;EACF;CACD,YAAY;EACV,MAAM;GAAC;GAAa;GAAa;GAAiB;GAAa;EAC/D,MAAM;GAAC;GAAa;GAAgB;GAAkB;GAAY;EACnE;CACD,cAAc;EACZ,MAAM;EACN,WAAW;EACX,WAAW;EACZ;CACD,WAAW;EACT,MAAM;EACN,WAAW;EACX,WAAW;EACX,aAAa;EACd;CACD,oBAAoB,EAClB,MAAM,SACP;CACF,EACF,EACF"}
@@ -1,5 +1,5 @@
1
1
  import "../experiment-utils-CxkruZ3G.js";
2
- import "../EmptyState-D1c4RdC7.js";
3
- import "../useControlSchema-Dallso-L.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-Cttbjbyc.js";
2
+ import "../EmptyState-DgBRoYAy.js";
3
+ import "../useControlSchema-B_qgU4rW.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-Cdj93S9C.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-Dallso-L.js";
1
+ import { _ as controlsToFormSchema, i as useControlSchema, r as getControlDefaults, x as controlsToSidebarPanels, y as controlsToSectionFormSchemas } from "./useControlSchema-B_qgU4rW.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-Cttbjbyc.js.map
5063
+ //# sourceMappingURL=templates-Cdj93S9C.js.map