@morscherlab/mint-sdk 1.4.0-beta.20 → 1.4.0-beta.21

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 (97) hide show
  1. package/dist/{AlertBox-CzLg0UaL.js → AlertBox-DwgNTEqf.js} +3 -3
  2. package/dist/{AlertBox-CzLg0UaL.js.map → AlertBox-DwgNTEqf.js.map} +1 -1
  3. package/dist/{AppSidebar-6oTT-gPO.js → AppSidebar-CZZaxni0.js} +7 -7
  4. package/dist/{AppSidebar-6oTT-gPO.js.map → AppSidebar-CZZaxni0.js.map} +1 -1
  5. package/dist/{ConfirmDialog-CSls2Nuv.js → ConfirmDialog-CjWoxAD1.js} +2 -2
  6. package/dist/{ConfirmDialog-CSls2Nuv.js.map → ConfirmDialog-CjWoxAD1.js.map} +1 -1
  7. package/dist/{ExperimentPopover-9l4QZlvQ.js → ExperimentPopover-DujiuQIO.js} +5 -5
  8. package/dist/{ExperimentPopover-9l4QZlvQ.js.map → ExperimentPopover-DujiuQIO.js.map} +1 -1
  9. package/dist/{ExperimentSelectorModal-pR5fK3pA.js → ExperimentSelectorModal-B4j4eUOJ.js} +5 -5
  10. package/dist/{ExperimentSelectorModal-pR5fK3pA.js.map → ExperimentSelectorModal-B4j4eUOJ.js.map} +1 -1
  11. package/dist/{SegmentedControl-CJ7EAmOq.js → SegmentedControl-DyUPH3I5.js} +2 -2
  12. package/dist/{SegmentedControl-CJ7EAmOq.js.map → SegmentedControl-DyUPH3I5.js.map} +1 -1
  13. package/dist/{SettingsModal-Dyitgzfp.js → SettingsModal-D2MOOtuO.js} +7 -7
  14. package/dist/{SettingsModal-Dyitgzfp.js.map → SettingsModal-D2MOOtuO.js.map} +1 -1
  15. package/dist/__tests__/components/FloatingPanelsInModal.test.d.ts +1 -0
  16. package/dist/__tests__/composables/useFloatingPanel.test.d.ts +1 -0
  17. package/dist/components/SmartGroupFieldRecipe.vue.d.ts +2 -2
  18. package/dist/components/internal/AutoGroupModalInternal.vue.d.ts +2 -2
  19. package/dist/composables/useFileImport.d.ts +7 -0
  20. package/dist/composables/useFloatingPanel.d.ts +29 -0
  21. package/dist/{controlSchemaModel-DCUOx8ll.js → controlSchemaModel-Bsg0t5Ab.js} +2 -2
  22. package/dist/{controlSchemaModel-DCUOx8ll.js.map → controlSchemaModel-Bsg0t5Ab.js.map} +1 -1
  23. package/dist/{data-DBnmeBZX.js → data-Boeh4uPI.js} +12 -11
  24. package/dist/{data-DBnmeBZX.js.map → data-Boeh4uPI.js.map} +1 -1
  25. package/dist/data.d.ts +1 -1
  26. package/dist/data.js +9 -9
  27. package/dist/{experimentStatus-BFrKpHAH.js → experimentStatus-DCn2QKG7.js} +2 -2
  28. package/dist/{experimentStatus-BFrKpHAH.js.map → experimentStatus-DCn2QKG7.js.map} +1 -1
  29. package/dist/index.js +18 -18
  30. package/dist/{install-qjELyNwc.js → install-BEHp7Mo-.js} +15 -15
  31. package/dist/{install-qjELyNwc.js.map → install-BEHp7Mo-.js.map} +1 -1
  32. package/dist/install.js +1 -1
  33. package/dist/{lab-UyTbokQC.js → lab-D61eaX6f.js} +10 -10
  34. package/dist/{lab-UyTbokQC.js.map → lab-D61eaX6f.js.map} +1 -1
  35. package/dist/lab.js +4 -4
  36. package/dist/{records-CR_pYzIP.js → records-D4aQXyZu.js} +132 -72
  37. package/dist/records-D4aQXyZu.js.map +1 -0
  38. package/dist/{runtime-CoHhBP10.js → runtime-q-R0CNLh.js} +9 -9
  39. package/dist/{runtime-CoHhBP10.js.map → runtime-q-R0CNLh.js.map} +1 -1
  40. package/dist/runtime.js +6 -6
  41. package/dist/{shell-BDuZf2zb.js → shell-6CGFvUUw.js} +5 -5
  42. package/dist/{shell-BDuZf2zb.js.map → shell-6CGFvUUw.js.map} +1 -1
  43. package/dist/shell.js +5 -5
  44. package/dist/styles.css +36 -33
  45. package/dist/{useDropdownState-Bb2N4m40.js → useDropdownState-uFIz6Yv8.js} +2 -2
  46. package/dist/useDropdownState-uFIz6Yv8.js.map +1 -0
  47. package/dist/{useExperimentSamples-Dno1fFMq.js → useExperimentSamples-QEFoq4tf.js} +47 -5
  48. package/dist/useExperimentSamples-QEFoq4tf.js.map +1 -0
  49. package/dist/{useListReorder-CQ9OCScc.js → useListReorder-DsuzwWGS.js} +47 -97
  50. package/dist/useListReorder-DsuzwWGS.js.map +1 -0
  51. package/dist/{useRackEditor-wL3kPrRT.js → useRackEditor-KpZ4iJ6o.js} +20 -30
  52. package/dist/useRackEditor-KpZ4iJ6o.js.map +1 -0
  53. package/dist/{useRealtime-C3whhVvb.js → useRealtime-B58Lo-Tm.js} +3 -3
  54. package/dist/{useRealtime-C3whhVvb.js.map → useRealtime-B58Lo-Tm.js.map} +1 -1
  55. package/dist/{useRequest-CDkrXNU7.js → useRequest-BuDmW8Jc.js} +7 -36
  56. package/dist/useRequest-BuDmW8Jc.js.map +1 -0
  57. package/package.json +3 -2
  58. package/src/__tests__/components/ActionMenu.test.ts +2 -2
  59. package/src/__tests__/components/BaseModal.test.ts +13 -0
  60. package/src/__tests__/components/FloatingPanelsInModal.test.ts +94 -0
  61. package/src/__tests__/composables/useFileImport.test.ts +36 -0
  62. package/src/__tests__/composables/useFloatingPanel.test.ts +68 -0
  63. package/src/__tests__/fixtures/table-import/cells.xlsx +0 -0
  64. package/src/__tests__/fixtures/table-import/samples.xlsx +0 -0
  65. package/src/components/ActionMenu.vue +6 -37
  66. package/src/components/BaseModal.vue +2 -1
  67. package/src/components/Tooltip.vue +9 -32
  68. package/src/components/internal/DatePickerDateInternal.vue +7 -45
  69. package/src/components/internal/DatePickerDateTimeInternal.vue +7 -1
  70. package/src/components/internal/DatePickerTimeInternal.vue +8 -1
  71. package/src/components/internal/NumberUnitInputInternal.vue +4 -18
  72. package/src/components/internal/SelectMultipleInternal.vue +6 -1
  73. package/src/components/internal/SelectSearchableInternal.vue +6 -1
  74. package/src/components/internal/WellEditPopupInternal.vue +11 -22
  75. package/src/composables/useFileImport.ts +51 -1
  76. package/src/composables/useFloatingPanel.ts +107 -0
  77. package/src/data.ts +1 -0
  78. package/src/styles/components/action-menu.css +1 -1
  79. package/src/styles/components/app-layout.css +3 -1
  80. package/src/styles/components/date-picker.css +4 -2
  81. package/src/styles/components/datetime-picker.css +4 -4
  82. package/src/styles/components/jobs-status-tray.css +3 -3
  83. package/src/styles/components/modal.css +1 -1
  84. package/src/styles/components/onboarding.css +2 -2
  85. package/src/styles/components/searchable-select.css +3 -7
  86. package/src/styles/components/time-picker.css +3 -6
  87. package/src/styles/components/toast.css +1 -1
  88. package/src/styles/components/tooltip.css +2 -2
  89. package/src/styles/components/unit-input.css +1 -1
  90. package/src/styles/components/well-edit-popup.css +2 -2
  91. package/src/styles/variables.css +6 -0
  92. package/dist/records-CR_pYzIP.js.map +0 -1
  93. package/dist/useDropdownState-Bb2N4m40.js.map +0 -1
  94. package/dist/useExperimentSamples-Dno1fFMq.js.map +0 -1
  95. package/dist/useListReorder-CQ9OCScc.js.map +0 -1
  96. package/dist/useRackEditor-wL3kPrRT.js.map +0 -1
  97. package/dist/useRequest-CDkrXNU7.js.map +0 -1
@@ -1,15 +1,14 @@
1
- import { a as BaseButton_default, i as useEventListener, o as __exportAll, r as useFocusTrap } from "./useDropdownState-Bb2N4m40.js";
1
+ import { a as BaseButton_default, i as useEventListener, o as __exportAll, r as useFocusTrap } from "./useDropdownState-uFIz6Yv8.js";
2
2
  import { a as authenticationRequiredError, c as tableDensityToSize, f as mintApiErrorFromResponse, i as AuthenticationRequiredError, l as tryUseSettingsStore, o as useApi, t as useExperimentStore } from "./experiment-DyO54FQB.js";
3
- import { G as BaseInput_default, H as useListSelection, I as FormField_default, R as useRovingFocus, i as getInjectedPlatformContext, j as formatTime, l as FORMAT_KEY, z as BaseCheckbox_default } from "./records-CR_pYzIP.js";
4
- import { D as _plugin_vue_export_helper_default, F as applySpecDefaults, I as defineDataFrame, M as usePlatform, N as NumberInput_default, V as useSortedItems, i as useReorderAnnouncer, j as createEventStream, k as createGeneratedAnalysisTransport, n as reorderList, r as useListReorder, v as ConcentrationInput_default, y as useConcentrationUnits, z as defineWellPlate } from "./useListReorder-CQ9OCScc.js";
5
- import { t as SegmentedControl_default } from "./SegmentedControl-CJ7EAmOq.js";
6
- import { n as DataStateInternal_default, o as useTextSearch, r as LoadingSpinner_default } from "./AlertBox-CzLg0UaL.js";
7
- import { n as ActionMenu_default, t as useRequest } from "./useRequest-CDkrXNU7.js";
3
+ import { H as useListSelection, I as FormField_default, K as BaseInput_default, R as useRovingFocus, W as useFloatingPanel, i as getInjectedPlatformContext, j as formatTime, l as FORMAT_KEY, z as BaseCheckbox_default } from "./records-D4aQXyZu.js";
4
+ import { D as _plugin_vue_export_helper_default, F as applySpecDefaults, I as defineDataFrame, M as usePlatform, N as NumberInput_default, V as useSortedItems, i as useReorderAnnouncer, j as createEventStream, k as createGeneratedAnalysisTransport, n as reorderList, r as useListReorder, v as ConcentrationInput_default, y as useConcentrationUnits, z as defineWellPlate } from "./useListReorder-DsuzwWGS.js";
5
+ import { t as SegmentedControl_default } from "./SegmentedControl-DyUPH3I5.js";
6
+ import { n as DataStateInternal_default, o as useTextSearch, r as LoadingSpinner_default } from "./AlertBox-DwgNTEqf.js";
7
+ import { n as ActionMenu_default, t as useRequest } from "./useRequest-BuDmW8Jc.js";
8
8
  import { r as useAuthStore } from "./auth-SliLnFre.js";
9
- import { t as ConfirmDialog_default } from "./ConfirmDialog-CSls2Nuv.js";
9
+ import { t as ConfirmDialog_default } from "./ConfirmDialog-CjWoxAD1.js";
10
10
  import { Fragment, Teleport, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createStaticVNode, createTextVNode, createVNode, defineComponent, mergeProps, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, onUnmounted, openBlock, ref, renderList, renderSlot, resolveDynamicComponent, shallowRef, toDisplayString, toRaw, unref, vModelText, vShow, watch, withCtx, withDirectives, withKeys, withModifiers } from "vue";
11
11
  import { ChartLine, ChevronRight, Download, Move, Plus, Redo2, Trash2, Undo2, Upload, X } from "lucide-vue-next";
12
- import { computePosition, flip, shift } from "@floating-ui/dom";
13
12
  //#region src/components/DataFrame.vue?vue&type=script&setup=true&lang.ts
14
13
  var _hoisted_1$9 = {
15
14
  key: 0,
@@ -814,12 +813,10 @@ var WellEditPopupInternal_default = /* @__PURE__ */ defineComponent({
814
813
  emit("close");
815
814
  }
816
815
  const containerRef = ref(null);
817
- const panelStyle = ref({ opacity: "0" });
818
- async function place() {
819
- const panel = containerRef.value;
820
- if (!panel || props.inline) return;
816
+ const pointAnchor = () => {
817
+ if (props.inline) return null;
821
818
  const { x, y } = props.position;
822
- const placed = await computePosition({ getBoundingClientRect: () => ({
819
+ return { getBoundingClientRect: () => ({
823
820
  x,
824
821
  y,
825
822
  left: x,
@@ -828,18 +825,12 @@ var WellEditPopupInternal_default = /* @__PURE__ */ defineComponent({
828
825
  bottom: y,
829
826
  width: 0,
830
827
  height: 0
831
- }) }, panel, {
832
- placement: "right-start",
833
- strategy: "fixed",
834
- middleware: [flip(), shift({ padding: 8 })]
835
- });
836
- panelStyle.value = {
837
- left: `${placed.x}px`,
838
- top: `${placed.y}px`
839
- };
840
- }
841
- watch(() => props.position, place);
842
- watch(showAdvanced, () => nextTick(place));
828
+ }) };
829
+ };
830
+ const { style: panelStyle } = useFloatingPanel(pointAnchor, containerRef, computed(() => !props.inline), {
831
+ placement: "right-start",
832
+ offset: 0
833
+ });
843
834
  const trapActive = ref(false);
844
835
  useFocusTrap({
845
836
  containerRef,
@@ -857,7 +848,6 @@ var WellEditPopupInternal_default = /* @__PURE__ */ defineComponent({
857
848
  onMounted(() => {
858
849
  if (props.inline) return focusInline();
859
850
  trapActive.value = true;
860
- place();
861
851
  nextTick(() => containerRef.value?.querySelector("[data-field=\"label\"] input")?.focus());
862
852
  });
863
853
  onBeforeUnmount(() => {
@@ -876,15 +866,15 @@ var WellEditPopupInternal_default = /* @__PURE__ */ defineComponent({
876
866
  ref_key: "containerRef",
877
867
  ref: containerRef,
878
868
  class: normalizeClass(__props.inline ? "mint-well-edit-popup mint-well-edit-popup--inline" : "mint-popover mint-well-edit-popup"),
879
- style: normalizeStyle(__props.inline ? void 0 : panelStyle.value),
869
+ style: normalizeStyle(__props.inline ? void 0 : unref(panelStyle)),
880
870
  role: __props.inline ? "region" : "dialog",
881
871
  "aria-label": `Edit well ${__props.wellId}`,
882
872
  tabindex: __props.inline ? void 0 : -1,
883
873
  onClick: _cache[12] || (_cache[12] = ($event) => __props.inline || $event.stopPropagation()),
884
- onKeydown: [_cache[13] || (_cache[13] = withKeys(($event) => {
874
+ onKeydown: [_cache[13] || (_cache[13] = withKeys(withModifiers(($event) => {
885
875
  commit();
886
876
  emit("close");
887
- }, ["escape"])), _cache[14] || (_cache[14] = ($event) => __props.inline && handleInlineEnter($event))],
877
+ }, ["prevent"]), ["escape"])), _cache[14] || (_cache[14] = ($event) => __props.inline && handleInlineEnter($event))],
888
878
  onFocusout: handleFocusout
889
879
  }, [
890
880
  createElementVNode("div", _hoisted_2$6, [
@@ -5927,4 +5917,4 @@ function useRackEditor(initialRacks, options) {
5927
5917
  //#endregion
5928
5918
  export { hexToHsl as C, DataFrame_default as D, sampleTypeMarker as E, deriveShade as S, WellPlate_default as T, mintPlotlyTemplate as _, GeneratedPlotlyResult_default as a, PlateEditor_default as b, downloadEndpoint as c, useEventStream as d, useSettingsEndpoint as f, ChartContainer_default as g, PlotlyChart_default as h, GeneratedResultRenderer_default as i, pluginFormDataFromPayload as l, resolvePluginBaseUrl as m, ScheduleCalendar_default as n, createClient as o, buildEndpointUrl as p, useScheduleDrag as r, downloadBlob as s, useRackEditor as t, uploadEndpoint as u, DoseCalculator_default as v, hslToHex as w, SAMPLE_GROUP_TOKENS as x, dose_exports as y };
5929
5919
 
5930
- //# sourceMappingURL=useRackEditor-wL3kPrRT.js.map
5920
+ //# sourceMappingURL=useRackEditor-KpZ4iJ6o.js.map