@morscherlab/mint-sdk 1.0.0-rc.5 → 1.0.0-rc.7

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 (55) hide show
  1. package/dist/components/AppSidebar.vue.d.ts +6 -3
  2. package/dist/components/BaseCheckbox.vue.d.ts +6 -1
  3. package/dist/components/BasePill.vue.d.ts +1 -1
  4. package/dist/components/BaseRadioGroup.vue.d.ts +1 -1
  5. package/dist/components/BaseToggle.vue.d.ts +6 -1
  6. package/dist/components/CollapsibleCard.vue.d.ts +9 -0
  7. package/dist/components/ControlWorkspaceView.vue.d.ts +1 -1
  8. package/dist/components/DoseDesignWorkspaceView.vue.d.ts +1 -1
  9. package/dist/components/PluginWorkspaceView.vue.d.ts +5 -1
  10. package/dist/components/index.js +2 -2
  11. package/dist/{components-DtHA2bgp.js → components-Blx4MG--.js} +565 -1477
  12. package/dist/components-Blx4MG--.js.map +1 -0
  13. package/dist/composables/controlSchemaTypes.d.ts +7 -1
  14. package/dist/composables/index.js +3 -3
  15. package/dist/{composables-Dlg8jenH.js → composables-CHDjDIQT.js} +2 -2
  16. package/dist/{composables-Dlg8jenH.js.map → composables-CHDjDIQT.js.map} +1 -1
  17. package/dist/index.js +4 -4
  18. package/dist/install.js +2 -2
  19. package/dist/styles.css +867 -126
  20. package/dist/templates/index.js +1 -1
  21. package/dist/{templates-DtdUvJ4c.js → templates-DSbHJC4v.js} +1351 -120
  22. package/dist/templates-DSbHJC4v.js.map +1 -0
  23. package/dist/types/components.d.ts +12 -0
  24. package/dist/types/form-builder.d.ts +3 -0
  25. package/dist/types/index.d.ts +1 -1
  26. package/dist/{useProtocolTemplates-Bm5vyH4_.js → useProtocolTemplates-BbPOYPzO.js} +2 -2
  27. package/dist/{useProtocolTemplates-Bm5vyH4_.js.map → useProtocolTemplates-BbPOYPzO.js.map} +1 -1
  28. package/package.json +1 -1
  29. package/src/__tests__/components/AppSidebar.test.ts +67 -0
  30. package/src/__tests__/components/CollapsibleCard.test.ts +47 -0
  31. package/src/__tests__/components/FormBuilder.test.ts +57 -0
  32. package/src/__tests__/components/PluginWorkspaceView.shell.test.ts +2 -0
  33. package/src/components/AppSidebar.story.vue +79 -6
  34. package/src/components/AppSidebar.vue +72 -0
  35. package/src/components/BaseCheckbox.story.vue +27 -0
  36. package/src/components/BaseCheckbox.vue +63 -1
  37. package/src/components/BaseToggle.story.vue +27 -0
  38. package/src/components/BaseToggle.vue +66 -1
  39. package/src/components/CollapsibleCard.vue +123 -45
  40. package/src/components/FormBuilder.story.vue +13 -0
  41. package/src/components/PluginWorkspaceView.shell.ts +1 -0
  42. package/src/components/PluginWorkspaceView.vue +3 -0
  43. package/src/components/internal/FormFieldRendererInternal.vue +23 -5
  44. package/src/composables/controlSchemaAdapters.ts +3 -0
  45. package/src/composables/controlSchemaFormFields.ts +3 -0
  46. package/src/composables/controlSchemaTypes.ts +8 -0
  47. package/src/styles/components/app-sidebar.css +134 -6
  48. package/src/styles/components/checkbox.css +87 -0
  49. package/src/styles/components/collapsible-card.css +154 -14
  50. package/src/styles/components/toggle.css +80 -0
  51. package/src/types/components.ts +21 -0
  52. package/src/types/form-builder.ts +3 -0
  53. package/src/types/index.ts +2 -0
  54. package/dist/components-DtHA2bgp.js.map +0 -1
  55. package/dist/templates-DtdUvJ4c.js.map +0 -1
@@ -1,7 +1,7 @@
1
- import { $n as TimePicker_default, B as toBioTemplateComponentProps, Bn as ConcentrationInput_default, Cr as BaseRadioGroup_default, Dn as controlValuesToComponentProps, Dr as normalizeOptionInput, En as controlValuesToComponentBindingsById, Er as BaseSelect_default, F as getBioTemplateComponentProps, H as toBioTemplateComponentPropsById, Hn as useConcentrationUnits, In as controlsToViewItems, Jn as useChemicalFormula, Kn as FormulaInput_default, L as toBioTemplateComponentBindings, Ln as getDefaultControlView, Mn as controlsToSettingsSchema, Nn as controlsToSidebarPanels, On as mergeControlWorkspaceOptions, Or as BaseTextarea_default, Qn as TagsInput_default, R as toBioTemplateComponentBindingsById, Rn as getFieldRegistryEntry, Sn as useControlWorkspace, Sr as BaseSlider_default, Tn as controlValuesToComponentBindings, Tr as BaseCheckbox_default, Un as MoleculeInput_default, V as toBioTemplateComponentPropsByComponent, Vn as UnitInput_default, Wn as SequenceInput_default, Xn as FileUploader_default, Yn as DateTimePicker_default, Zn as NumberInput_default, _r as useDropdownState, ar as formatDuration, dn as extractTemplateCollection, gr as DatePicker_default, hn as getControlDefaults, jn as controlsToSectionFormSchemas, kn as controlsToFormSchema, kr as BaseInput_default, nr as durationMinutes, or as formatTime, tr as compareTime, vn as defineDoseDesignControlModel, vr as MultiSelect_default, wn as resolveControlModel, wr as BaseToggle_default, xr as useEventListener, yr as useListSelection } from "./templates-DtdUvJ4c.js";
2
- import { A as parseCSV, B as useExperimentSelector, C as useExpansionSet, F as classKey, I as useWellPlateEditor, J as SORT_OPTIONS, K as EXPERIMENT_STATUS_OPTIONS, L as useDoseCalculator, P as DEFAULT_COLORS, Q as getExperimentStatusVariant, R as APP_EXPERIMENT_KEY, U as useApi, W as DATE_PRESET_OPTIONS, X as formatExperimentDate, Z as formatExperimentStatus, _ as useScheduleDrag, a as useReagentSeries, at as useToast, c as useBioTemplatePresetWorkspace, ct as useTextSearch, et as usePlatformContext, it as useTheme, k as useAutoGroup, l as useBioTemplatePackWorkspace, n as DEFAULT_PRESETS, o as useGroupAssignment, r as DEFAULT_UNITS, s as useRackEditor, t as useProtocolTemplates, tt as useFormBuilder, ut as useSortedItems, v as useExperimentSamples, w as useSampleGroups, y as useExperimentData, z as useAppExperiment } from "./useProtocolTemplates-Bm5vyH4_.js";
1
+ import { $n as TimePicker_default, Ar as BaseInput_default, B as toBioTemplateComponentProps, Bn as ConcentrationInput_default, Cr as BaseToggle_default, Dn as controlValuesToComponentProps, Dr as BaseSelect_default, En as controlValuesToComponentBindingsById, Er as useEventListener, F as getBioTemplateComponentProps, H as toBioTemplateComponentPropsById, Hn as useConcentrationUnits, In as controlsToViewItems, Jn as useChemicalFormula, Kn as FormulaInput_default, L as toBioTemplateComponentBindings, Ln as getDefaultControlView, Mn as controlsToSettingsSchema, Nn as controlsToSidebarPanels, On as mergeControlWorkspaceOptions, Or as normalizeOptionInput, Qn as TagsInput_default, R as toBioTemplateComponentBindingsById, Rn as getFieldRegistryEntry, Sn as useControlWorkspace, Sr as BaseRadioGroup_default, Tn as controlValuesToComponentBindings, Tr as Tooltip_default, Un as MoleculeInput_default, V as toBioTemplateComponentPropsByComponent, Vn as UnitInput_default, Wn as SequenceInput_default, Xn as FileUploader_default, Yn as DateTimePicker_default, Zn as NumberInput_default, _r as useDropdownState, ar as formatDuration, dn as extractTemplateCollection, gr as DatePicker_default, hn as getControlDefaults, jn as controlsToSectionFormSchemas, kn as controlsToFormSchema, kr as BaseTextarea_default, nr as durationMinutes, or as formatTime, tr as compareTime, vn as defineDoseDesignControlModel, vr as MultiSelect_default, wn as resolveControlModel, wr as BaseCheckbox_default, xr as BaseSlider_default, yr as useListSelection } from "./templates-DSbHJC4v.js";
2
+ import { A as parseCSV, B as useExperimentSelector, C as useExpansionSet, F as classKey, I as useWellPlateEditor, J as SORT_OPTIONS, K as EXPERIMENT_STATUS_OPTIONS, L as useDoseCalculator, P as DEFAULT_COLORS, Q as getExperimentStatusVariant, R as APP_EXPERIMENT_KEY, U as useApi, W as DATE_PRESET_OPTIONS, X as formatExperimentDate, Z as formatExperimentStatus, _ as useScheduleDrag, a as useReagentSeries, at as useToast, c as useBioTemplatePresetWorkspace, ct as useTextSearch, et as usePlatformContext, it as useTheme, k as useAutoGroup, l as useBioTemplatePackWorkspace, n as DEFAULT_PRESETS, o as useGroupAssignment, r as DEFAULT_UNITS, s as useRackEditor, t as useProtocolTemplates, tt as useFormBuilder, ut as useSortedItems, v as useExperimentSamples, w as useSampleGroups, y as useExperimentData, z as useAppExperiment } from "./useProtocolTemplates-BbPOYPzO.js";
3
3
  import { a as canAccessByPolicy, g as useSettingsStore, h as colorPalettes, t as useAuthStore } from "./auth-B7g4J4ZF.js";
4
- import { Fragment, Teleport, Transition, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createStaticVNode, createTextVNode, createVNode, defineComponent, effectScope, guardReactiveProps, h, inject, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onMounted, onScopeDispose, onUnmounted, openBlock, reactive, ref, renderList, renderSlot, resolveComponent, resolveDynamicComponent, shallowRef, toDisplayString, toRaw, unref, useSlots, vModelCheckbox, vModelSelect, vModelText, vShow, watch, withCtx, withDirectives, withKeys, withModifiers } from "vue";
4
+ import { Fragment, Teleport, Transition, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createStaticVNode, createTextVNode, createVNode, defineComponent, effectScope, guardReactiveProps, h, inject, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onMounted, onScopeDispose, onUnmounted, openBlock, reactive, ref, renderList, renderSlot, resolveComponent, resolveDynamicComponent, shallowRef, toDisplayString, toRaw, unref, useSlots, vModelCheckbox, vModelSelect, vModelText, vShow, watch, withCtx, withDirectives, withKeys, withModifiers } from "vue";
5
5
  //#region \0rolldown/runtime.js
6
6
  var __defProp = Object.defineProperty;
7
7
  var __exportAll = (all, no_symbols) => {
@@ -15,8 +15,8 @@ var __exportAll = (all, no_symbols) => {
15
15
  };
16
16
  //#endregion
17
17
  //#region src/components/BaseButton.vue?vue&type=script&setup=true&lang.ts
18
- var _hoisted_1$78 = ["type", "disabled"];
19
- var _hoisted_2$69 = {
18
+ var _hoisted_1$77 = ["type", "disabled"];
19
+ var _hoisted_2$68 = {
20
20
  key: 0,
21
21
  class: "mint-button__spinner",
22
22
  fill: "none",
@@ -63,7 +63,7 @@ var BaseButton_default = /* @__PURE__ */ defineComponent({
63
63
  __props.disabled || __props.loading ? "mint-button--disabled" : ""
64
64
  ]),
65
65
  onClick: handleClick
66
- }, [__props.loading ? (openBlock(), createElementBlock("svg", _hoisted_2$69, [..._cache[0] || (_cache[0] = [createElementVNode("circle", {
66
+ }, [__props.loading ? (openBlock(), createElementBlock("svg", _hoisted_2$68, [..._cache[0] || (_cache[0] = [createElementVNode("circle", {
67
67
  style: { "opacity": "0.25" },
68
68
  cx: "12",
69
69
  cy: "12",
@@ -74,15 +74,15 @@ var BaseButton_default = /* @__PURE__ */ defineComponent({
74
74
  style: { "opacity": "0.75" },
75
75
  fill: "currentColor",
76
76
  d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
77
- }, null, -1)])])) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$78);
77
+ }, null, -1)])])) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")], 10, _hoisted_1$77);
78
78
  };
79
79
  }
80
80
  });
81
81
  //#endregion
82
82
  //#region src/components/ColorSlider.vue?vue&type=script&setup=true&lang.ts
83
- var _hoisted_1$77 = { class: "mint-color-slider__row" };
84
- var _hoisted_2$68 = { class: "mint-color-slider__track" };
85
- var _hoisted_3$62 = [
83
+ var _hoisted_1$76 = { class: "mint-color-slider__row" };
84
+ var _hoisted_2$67 = { class: "mint-color-slider__track" };
85
+ var _hoisted_3$61 = [
86
86
  "value",
87
87
  "min",
88
88
  "max",
@@ -197,7 +197,7 @@ var ColorSlider_default = /* @__PURE__ */ defineComponent({
197
197
  emit("update:modelValue", Number(target.value));
198
198
  }
199
199
  return (_ctx, _cache) => {
200
- return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-color-slider", { "mint-color-slider--disabled": __props.disabled }]) }, [createElementVNode("div", _hoisted_1$77, [createElementVNode("div", _hoisted_2$68, [createElementVNode("input", {
200
+ return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-color-slider", { "mint-color-slider--disabled": __props.disabled }]) }, [createElementVNode("div", _hoisted_1$76, [createElementVNode("div", _hoisted_2$67, [createElementVNode("input", {
201
201
  type: "range",
202
202
  value: currentValue.value,
203
203
  min: __props.min,
@@ -214,7 +214,7 @@ var ColorSlider_default = /* @__PURE__ */ defineComponent({
214
214
  "--thumb-size": `${sizeConfig.value.thumb}px`
215
215
  }),
216
216
  onInput: handleInput
217
- }, null, 44, _hoisted_3$62)]), __props.showValue ? (openBlock(), createElementBlock("div", {
217
+ }, null, 44, _hoisted_3$61)]), __props.showValue ? (openBlock(), createElementBlock("div", {
218
218
  key: 0,
219
219
  class: "mint-color-slider__badge",
220
220
  style: normalizeStyle({
@@ -246,13 +246,13 @@ function normalizeLabelItemInput(item) {
246
246
  }
247
247
  //#endregion
248
248
  //#region src/components/BaseTabs.vue?vue&type=script&setup=true&lang.ts
249
- var _hoisted_1$76 = [
249
+ var _hoisted_1$75 = [
250
250
  "aria-selected",
251
251
  "aria-disabled",
252
252
  "onClick"
253
253
  ];
254
- var _hoisted_2$67 = { class: "mint-tab__content" };
255
- var _hoisted_3$61 = {
254
+ var _hoisted_2$66 = { class: "mint-tab__content" };
255
+ var _hoisted_3$60 = {
256
256
  key: 0,
257
257
  class: "mint-tab__icon mint-tab__icon--svg",
258
258
  viewBox: "0 0 24 24",
@@ -314,8 +314,8 @@ var BaseTabs_default = /* @__PURE__ */ defineComponent({
314
314
  tab.disabled ? "mint-tab--disabled" : ""
315
315
  ]),
316
316
  onClick: ($event) => selectTab(tab.id)
317
- }, [createElementVNode("span", _hoisted_2$67, [
318
- isSvgIcon(tab.icon) ? (openBlock(), createElementBlock("svg", _hoisted_3$61, [Array.isArray(tab.icon) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(tab.icon, (d, index) => {
317
+ }, [createElementVNode("span", _hoisted_2$66, [
318
+ isSvgIcon(tab.icon) ? (openBlock(), createElementBlock("svg", _hoisted_3$60, [Array.isArray(tab.icon) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(tab.icon, (d, index) => {
319
319
  return openBlock(), createElementBlock("path", {
320
320
  key: index,
321
321
  d
@@ -326,23 +326,23 @@ var BaseTabs_default = /* @__PURE__ */ defineComponent({
326
326
  }, null, 8, _hoisted_5$54))])) : tab.icon ? (openBlock(), createElementBlock("span", _hoisted_6$53, toDisplayString(tab.icon), 1)) : createCommentVNode("", true),
327
327
  createTextVNode(" " + toDisplayString(tab.label) + " ", 1),
328
328
  tab.badge !== void 0 ? (openBlock(), createElementBlock("span", _hoisted_7$47, toDisplayString(tab.badge), 1)) : createCommentVNode("", true)
329
- ])], 10, _hoisted_1$76);
329
+ ])], 10, _hoisted_1$75);
330
330
  }), 128))], 2);
331
331
  };
332
332
  }
333
333
  });
334
334
  //#endregion
335
335
  //#region src/components/BaseModal.vue?vue&type=script&setup=true&lang.ts
336
- var _hoisted_1$75 = {
336
+ var _hoisted_1$74 = {
337
337
  key: 0,
338
338
  class: "mint-modal__grab-hint",
339
339
  "aria-hidden": "true"
340
340
  };
341
- var _hoisted_2$66 = {
341
+ var _hoisted_2$65 = {
342
342
  key: 1,
343
343
  class: "mint-modal__header"
344
344
  };
345
- var _hoisted_3$60 = {
345
+ var _hoisted_3$59 = {
346
346
  key: 0,
347
347
  class: "mint-modal__header-text"
348
348
  };
@@ -467,8 +467,8 @@ var BaseModal_default = /* @__PURE__ */ defineComponent({
467
467
  "aria-modal": "true",
468
468
  tabindex: "-1"
469
469
  }, [
470
- __props.variant === "sheet" ? (openBlock(), createElementBlock("div", _hoisted_1$75)) : createCommentVNode("", true),
471
- __props.title || __props.subtitle || __props.closable || _ctx.$slots.header ? (openBlock(), createElementBlock("div", _hoisted_2$66, [__props.title || __props.subtitle || _ctx.$slots.header ? (openBlock(), createElementBlock("div", _hoisted_3$60, [renderSlot(_ctx.$slots, "header", {}, () => [__props.title ? (openBlock(), createElementBlock("h3", _hoisted_4$55, toDisplayString(__props.title), 1)) : createCommentVNode("", true), __props.subtitle ? (openBlock(), createElementBlock("p", _hoisted_5$53, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)])])) : createCommentVNode("", true), __props.closable ? (openBlock(), createElementBlock("button", {
470
+ __props.variant === "sheet" ? (openBlock(), createElementBlock("div", _hoisted_1$74)) : createCommentVNode("", true),
471
+ __props.title || __props.subtitle || __props.closable || _ctx.$slots.header ? (openBlock(), createElementBlock("div", _hoisted_2$65, [__props.title || __props.subtitle || _ctx.$slots.header ? (openBlock(), createElementBlock("div", _hoisted_3$59, [renderSlot(_ctx.$slots, "header", {}, () => [__props.title ? (openBlock(), createElementBlock("h3", _hoisted_4$55, toDisplayString(__props.title), 1)) : createCommentVNode("", true), __props.subtitle ? (openBlock(), createElementBlock("p", _hoisted_5$53, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)])])) : createCommentVNode("", true), __props.closable ? (openBlock(), createElementBlock("button", {
472
472
  key: 1,
473
473
  type: "button",
474
474
  class: "mint-modal__close",
@@ -493,14 +493,14 @@ var BaseModal_default = /* @__PURE__ */ defineComponent({
493
493
  });
494
494
  //#endregion
495
495
  //#region src/components/SegmentedControl.vue?vue&type=script&setup=true&lang.ts
496
- var _hoisted_1$74 = [
496
+ var _hoisted_1$73 = [
497
497
  "aria-checked",
498
498
  "disabled",
499
499
  "onClick",
500
500
  "onKeydown"
501
501
  ];
502
- var _hoisted_2$65 = { class: "mint-segmented-control__label" };
503
- var _hoisted_3$59 = {
502
+ var _hoisted_2$64 = { class: "mint-segmented-control__label" };
503
+ var _hoisted_3$58 = {
504
504
  key: 0,
505
505
  class: "mint-segmented-control__description"
506
506
  };
@@ -572,18 +572,18 @@ var SegmentedControl_default = /* @__PURE__ */ defineComponent({
572
572
  ]),
573
573
  onClick: ($event) => handleSelect(option),
574
574
  onKeydown: ($event) => handleKeydown($event, option)
575
- }, [createElementVNode("span", _hoisted_2$65, toDisplayString(option.label), 1), option.description && __props.variant === "card" ? (openBlock(), createElementBlock("span", _hoisted_3$59, toDisplayString(option.description), 1)) : createCommentVNode("", true)], 42, _hoisted_1$74);
575
+ }, [createElementVNode("span", _hoisted_2$64, toDisplayString(option.label), 1), option.description && __props.variant === "card" ? (openBlock(), createElementBlock("span", _hoisted_3$58, toDisplayString(option.description), 1)) : createCommentVNode("", true)], 42, _hoisted_1$73);
576
576
  }), 128))], 2);
577
577
  };
578
578
  }
579
579
  });
580
580
  //#endregion
581
581
  //#region src/components/BasePill.vue?vue&type=script&setup=true&lang.ts
582
- var _hoisted_1$73 = {
582
+ var _hoisted_1$72 = {
583
583
  key: 0,
584
584
  class: "mint-pill__icon"
585
585
  };
586
- var _hoisted_2$64 = { class: "mint-pill__label" };
586
+ var _hoisted_2$63 = { class: "mint-pill__label" };
587
587
  //#endregion
588
588
  //#region src/components/BasePill.vue
589
589
  var BasePill_default = /* @__PURE__ */ defineComponent({
@@ -628,8 +628,8 @@ var BasePill_default = /* @__PURE__ */ defineComponent({
628
628
  "mint-pill--with-icon": __props.icon
629
629
  }
630
630
  ]) }, [
631
- __props.icon ? (openBlock(), createElementBlock("span", _hoisted_1$73, [renderSlot(_ctx.$slots, "icon")])) : createCommentVNode("", true),
632
- createElementVNode("span", _hoisted_2$64, [renderSlot(_ctx.$slots, "default")]),
631
+ __props.icon ? (openBlock(), createElementBlock("span", _hoisted_1$72, [renderSlot(_ctx.$slots, "icon")])) : createCommentVNode("", true),
632
+ createElementVNode("span", _hoisted_2$63, [renderSlot(_ctx.$slots, "default")]),
633
633
  __props.removable && !__props.disabled ? (openBlock(), createElementBlock("button", {
634
634
  key: 1,
635
635
  type: "button",
@@ -651,15 +651,15 @@ var BasePill_default = /* @__PURE__ */ defineComponent({
651
651
  });
652
652
  //#endregion
653
653
  //#region src/components/DropdownButton.vue?vue&type=script&setup=true&lang.ts
654
- var _hoisted_1$72 = ["disabled", "aria-expanded"];
655
- var _hoisted_2$63 = {
654
+ var _hoisted_1$71 = ["disabled", "aria-expanded"];
655
+ var _hoisted_2$62 = {
656
656
  key: 0,
657
657
  class: "mint-dropdown-button__spinner",
658
658
  viewBox: "0 0 24 24",
659
659
  fill: "none",
660
660
  "aria-hidden": "true"
661
661
  };
662
- var _hoisted_3$58 = { class: "mint-dropdown-button__label" };
662
+ var _hoisted_3$57 = { class: "mint-dropdown-button__label" };
663
663
  var _hoisted_4$54 = ["aria-activedescendant"];
664
664
  var _hoisted_5$52 = [
665
665
  "id",
@@ -747,7 +747,7 @@ var DropdownButton_default = /* @__PURE__ */ defineComponent({
747
747
  "aria-haspopup": "listbox",
748
748
  onClick: toggle
749
749
  }, [
750
- __props.loading ? (openBlock(), createElementBlock("svg", _hoisted_2$63, [..._cache[0] || (_cache[0] = [createElementVNode("circle", {
750
+ __props.loading ? (openBlock(), createElementBlock("svg", _hoisted_2$62, [..._cache[0] || (_cache[0] = [createElementVNode("circle", {
751
751
  cx: "12",
752
752
  cy: "12",
753
753
  r: "10",
@@ -760,7 +760,7 @@ var DropdownButton_default = /* @__PURE__ */ defineComponent({
760
760
  "stroke-width": "3",
761
761
  "stroke-linecap": "round"
762
762
  }, null, -1)])])) : createCommentVNode("", true),
763
- createElementVNode("span", _hoisted_3$58, toDisplayString(selectedLabel.value), 1),
763
+ createElementVNode("span", _hoisted_3$57, toDisplayString(selectedLabel.value), 1),
764
764
  (openBlock(), createElementBlock("svg", {
765
765
  class: normalizeClass(["mint-dropdown-button__chevron", { "mint-dropdown-button__chevron--open": unref(isOpen) }]),
766
766
  viewBox: "0 0 24 24",
@@ -770,7 +770,7 @@ var DropdownButton_default = /* @__PURE__ */ defineComponent({
770
770
  "stroke-linecap": "round",
771
771
  "stroke-linejoin": "round"
772
772
  }, [..._cache[1] || (_cache[1] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))
773
- ], 10, _hoisted_1$72), createVNode(Transition, { name: "mint-dropdown-button-menu" }, {
773
+ ], 10, _hoisted_1$71), createVNode(Transition, { name: "mint-dropdown-button-menu" }, {
774
774
  default: withCtx(() => [unref(isOpen) ? (openBlock(), createElementBlock("ul", {
775
775
  key: 0,
776
776
  class: "mint-dropdown-button__menu",
@@ -801,12 +801,12 @@ var DropdownButton_default = /* @__PURE__ */ defineComponent({
801
801
  });
802
802
  //#endregion
803
803
  //#region src/components/Calendar.vue?vue&type=script&setup=true&lang.ts
804
- var _hoisted_1$71 = { class: "mint-calendar" };
805
- var _hoisted_2$62 = {
804
+ var _hoisted_1$70 = { class: "mint-calendar" };
805
+ var _hoisted_2$61 = {
806
806
  key: 0,
807
807
  class: "mint-calendar__header"
808
808
  };
809
- var _hoisted_3$57 = { class: "mint-calendar__title" };
809
+ var _hoisted_3$56 = { class: "mint-calendar__title" };
810
810
  var _hoisted_4$53 = { class: "mint-calendar__weekdays" };
811
811
  var _hoisted_5$51 = { class: "mint-calendar__grid" };
812
812
  var _hoisted_6$50 = [
@@ -1035,8 +1035,8 @@ var Calendar_default = /* @__PURE__ */ defineComponent({
1035
1035
  emit("navigate", "next", currentMonth.value, currentYear.value);
1036
1036
  }
1037
1037
  return (_ctx, _cache) => {
1038
- return openBlock(), createElementBlock("div", _hoisted_1$71, [
1039
- __props.showNavigation ? (openBlock(), createElementBlock("div", _hoisted_2$62, [
1038
+ return openBlock(), createElementBlock("div", _hoisted_1$70, [
1039
+ __props.showNavigation ? (openBlock(), createElementBlock("div", _hoisted_2$61, [
1040
1040
  createElementVNode("button", {
1041
1041
  type: "button",
1042
1042
  class: "mint-calendar__nav-btn",
@@ -1055,7 +1055,7 @@ var Calendar_default = /* @__PURE__ */ defineComponent({
1055
1055
  year: currentYear.value,
1056
1056
  prevMonth,
1057
1057
  nextMonth
1058
- }, () => [createElementVNode("span", _hoisted_3$57, toDisplayString(monthLabel.value), 1)]),
1058
+ }, () => [createElementVNode("span", _hoisted_3$56, toDisplayString(monthLabel.value), 1)]),
1059
1059
  createElementVNode("button", {
1060
1060
  type: "button",
1061
1061
  class: "mint-calendar__nav-btn",
@@ -1109,12 +1109,12 @@ var Calendar_default = /* @__PURE__ */ defineComponent({
1109
1109
  });
1110
1110
  //#endregion
1111
1111
  //#region src/components/DataFrame.vue?vue&type=script&setup=true&lang.ts
1112
- var _hoisted_1$70 = {
1112
+ var _hoisted_1$69 = {
1113
1113
  key: 0,
1114
1114
  class: "mint-dataframe__header"
1115
1115
  };
1116
- var _hoisted_2$61 = { class: "mint-dataframe__search-wrapper" };
1117
- var _hoisted_3$56 = ["placeholder"];
1116
+ var _hoisted_2$60 = { class: "mint-dataframe__search-wrapper" };
1117
+ var _hoisted_3$55 = ["placeholder"];
1118
1118
  var _hoisted_4$52 = { class: "mint-dataframe__table" };
1119
1119
  var _hoisted_5$50 = {
1120
1120
  key: 0,
@@ -1128,23 +1128,23 @@ var _hoisted_10$32 = {
1128
1128
  key: 0,
1129
1129
  class: "mint-dataframe__td mint-dataframe__td--checkbox"
1130
1130
  };
1131
- var _hoisted_11$29 = ["checked", "onChange"];
1132
- var _hoisted_12$25 = ["onClick"];
1133
- var _hoisted_13$24 = {
1131
+ var _hoisted_11$30 = ["checked", "onChange"];
1132
+ var _hoisted_12$27 = ["onClick"];
1133
+ var _hoisted_13$26 = {
1134
1134
  key: 0,
1135
1135
  class: "mint-dataframe__empty"
1136
1136
  };
1137
- var _hoisted_14$21 = { class: "mint-dataframe__empty-text" };
1138
- var _hoisted_15$20 = {
1137
+ var _hoisted_14$23 = { class: "mint-dataframe__empty-text" };
1138
+ var _hoisted_15$22 = {
1139
1139
  key: 1,
1140
1140
  class: "mint-dataframe__loading"
1141
1141
  };
1142
- var _hoisted_16$18 = {
1142
+ var _hoisted_16$20 = {
1143
1143
  key: 1,
1144
1144
  class: "mint-dataframe__footer"
1145
1145
  };
1146
- var _hoisted_17$18 = { class: "mint-dataframe__page-info" };
1147
- var _hoisted_18$17 = { class: "mint-dataframe__page-controls" };
1146
+ var _hoisted_17$20 = { class: "mint-dataframe__page-info" };
1147
+ var _hoisted_18$18 = { class: "mint-dataframe__page-controls" };
1148
1148
  var _hoisted_19$17 = ["disabled"];
1149
1149
  var _hoisted_20$15 = { class: "mint-dataframe__page-number" };
1150
1150
  var _hoisted_21$13 = ["disabled"];
@@ -1316,7 +1316,7 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
1316
1316
  });
1317
1317
  return (_ctx, _cache) => {
1318
1318
  return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-dataframe", { "mint-dataframe--bordered": __props.bordered }]) }, [
1319
- __props.searchable ? (openBlock(), createElementBlock("div", _hoisted_1$70, [createElementVNode("div", _hoisted_2$61, [_cache[4] || (_cache[4] = createElementVNode("svg", {
1319
+ __props.searchable ? (openBlock(), createElementBlock("div", _hoisted_1$69, [createElementVNode("div", _hoisted_2$60, [_cache[4] || (_cache[4] = createElementVNode("svg", {
1320
1320
  class: "mint-dataframe__search-icon",
1321
1321
  viewBox: "0 0 24 24",
1322
1322
  fill: "none",
@@ -1333,7 +1333,7 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
1333
1333
  type: "text",
1334
1334
  class: "mint-dataframe__search",
1335
1335
  placeholder: __props.searchPlaceholder
1336
- }, null, 8, _hoisted_3$56), [[vModelText, searchQuery.value]])])])) : createCommentVNode("", true),
1336
+ }, null, 8, _hoisted_3$55), [[vModelText, searchQuery.value]])])])) : createCommentVNode("", true),
1337
1337
  createElementVNode("div", {
1338
1338
  class: "mint-dataframe__table-wrapper",
1339
1339
  style: normalizeStyle(wrapperStyle.value)
@@ -1393,7 +1393,7 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
1393
1393
  class: "mint-dataframe__checkbox",
1394
1394
  onClick: _cache[1] || (_cache[1] = withModifiers(() => {}, ["stop"])),
1395
1395
  onChange: ($event) => toggleRowSelect(getRowKey(row, rowIndex))
1396
- }, null, 40, _hoisted_11$29)])) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (col) => {
1396
+ }, null, 40, _hoisted_11$30)])) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (col) => {
1397
1397
  return openBlock(), createElementBlock("td", {
1398
1398
  key: col.key,
1399
1399
  class: normalizeClass([
@@ -1408,10 +1408,10 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
1408
1408
  row,
1409
1409
  column: col,
1410
1410
  index: rowIndex
1411
- }, () => [createTextVNode(toDisplayString(formatCell(col, row, rowIndex)), 1)])], 10, _hoisted_12$25);
1411
+ }, () => [createTextVNode(toDisplayString(formatCell(col, row, rowIndex)), 1)])], 10, _hoisted_12$27);
1412
1412
  }), 128))], 10, _hoisted_9$35);
1413
1413
  }), 128))])]),
1414
- paginatedData.value.length === 0 && !__props.loading ? (openBlock(), createElementBlock("div", _hoisted_13$24, [renderSlot(_ctx.$slots, "empty", {}, () => [_cache[6] || (_cache[6] = createElementVNode("svg", {
1414
+ paginatedData.value.length === 0 && !__props.loading ? (openBlock(), createElementBlock("div", _hoisted_13$26, [renderSlot(_ctx.$slots, "empty", {}, () => [_cache[6] || (_cache[6] = createElementVNode("svg", {
1415
1415
  class: "mint-dataframe__empty-icon",
1416
1416
  viewBox: "0 0 24 24",
1417
1417
  fill: "none",
@@ -1419,8 +1419,8 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
1419
1419
  "stroke-width": "2",
1420
1420
  "stroke-linecap": "round",
1421
1421
  "stroke-linejoin": "round"
1422
- }, [createElementVNode("polyline", { points: "22 12 16 12 14 15 10 15 8 12 2 12" }), createElementVNode("path", { d: "M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z" })], -1)), createElementVNode("p", _hoisted_14$21, toDisplayString(__props.emptyText), 1)])])) : createCommentVNode("", true),
1423
- __props.loading ? (openBlock(), createElementBlock("div", _hoisted_15$20, [renderSlot(_ctx.$slots, "loading", {}, () => [_cache[7] || (_cache[7] = createElementVNode("svg", {
1422
+ }, [createElementVNode("polyline", { points: "22 12 16 12 14 15 10 15 8 12 2 12" }), createElementVNode("path", { d: "M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z" })], -1)), createElementVNode("p", _hoisted_14$23, toDisplayString(__props.emptyText), 1)])])) : createCommentVNode("", true),
1423
+ __props.loading ? (openBlock(), createElementBlock("div", _hoisted_15$22, [renderSlot(_ctx.$slots, "loading", {}, () => [_cache[7] || (_cache[7] = createElementVNode("svg", {
1424
1424
  class: "mint-dataframe__loading-spinner",
1425
1425
  viewBox: "0 0 24 24",
1426
1426
  fill: "none",
@@ -1439,7 +1439,7 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
1439
1439
  "stroke-linecap": "round"
1440
1440
  })], -1))])])) : createCommentVNode("", true)
1441
1441
  ], 4),
1442
- __props.pagination ? (openBlock(), createElementBlock("div", _hoisted_16$18, [renderSlot(_ctx.$slots, "footer", {}, () => [createElementVNode("span", _hoisted_17$18, toDisplayString((__props.pagination.page - 1) * __props.pagination.pageSize + 1) + "–" + toDisplayString(Math.min(__props.pagination.page * __props.pagination.pageSize, unref(sortedData).length)) + " of " + toDisplayString(unref(sortedData).length), 1), createElementVNode("div", _hoisted_18$17, [
1442
+ __props.pagination ? (openBlock(), createElementBlock("div", _hoisted_16$20, [renderSlot(_ctx.$slots, "footer", {}, () => [createElementVNode("span", _hoisted_17$20, toDisplayString((__props.pagination.page - 1) * __props.pagination.pageSize + 1) + "–" + toDisplayString(Math.min(__props.pagination.page * __props.pagination.pageSize, unref(sortedData).length)) + " of " + toDisplayString(unref(sortedData).length), 1), createElementVNode("div", _hoisted_18$18, [
1443
1443
  createElementVNode("button", {
1444
1444
  type: "button",
1445
1445
  class: "mint-dataframe__page-btn",
@@ -1474,12 +1474,12 @@ var DataFrame_default = /* @__PURE__ */ defineComponent({
1474
1474
  });
1475
1475
  //#endregion
1476
1476
  //#region src/components/FormField.vue?vue&type=script&setup=true&lang.ts
1477
- var _hoisted_1$69 = { class: "mint-form-field" };
1478
- var _hoisted_2$60 = {
1477
+ var _hoisted_1$68 = { class: "mint-form-field" };
1478
+ var _hoisted_2$59 = {
1479
1479
  key: 0,
1480
1480
  class: "mint-form-field__label-row"
1481
1481
  };
1482
- var _hoisted_3$55 = ["for"];
1482
+ var _hoisted_3$54 = ["for"];
1483
1483
  var _hoisted_4$51 = {
1484
1484
  key: 0,
1485
1485
  class: "mint-form-field__required",
@@ -1511,11 +1511,11 @@ var FormField_default = /* @__PURE__ */ defineComponent({
1511
1511
  const hintId = computed(() => !props.error && props.hint && props.fieldId ? `${props.fieldId}-hint` : void 0);
1512
1512
  const describedBy = computed(() => errorId.value ?? hintId.value);
1513
1513
  return (_ctx, _cache) => {
1514
- return openBlock(), createElementBlock("div", _hoisted_1$69, [
1515
- __props.label ? (openBlock(), createElementBlock("div", _hoisted_2$60, [createElementVNode("label", {
1514
+ return openBlock(), createElementBlock("div", _hoisted_1$68, [
1515
+ __props.label ? (openBlock(), createElementBlock("div", _hoisted_2$59, [createElementVNode("label", {
1516
1516
  for: __props.htmlFor,
1517
1517
  class: "mint-form-field__label"
1518
- }, [createTextVNode(toDisplayString(__props.label) + " ", 1), __props.required ? (openBlock(), createElementBlock("span", _hoisted_4$51, "*")) : createCommentVNode("", true)], 8, _hoisted_3$55), !__props.required && __props.showOptional ? (openBlock(), createElementBlock("span", _hoisted_5$49, " optional ")) : createCommentVNode("", true)])) : createCommentVNode("", true),
1518
+ }, [createTextVNode(toDisplayString(__props.label) + " ", 1), __props.required ? (openBlock(), createElementBlock("span", _hoisted_4$51, "*")) : createCommentVNode("", true)], 8, _hoisted_3$54), !__props.required && __props.showOptional ? (openBlock(), createElementBlock("span", _hoisted_5$49, " optional ")) : createCommentVNode("", true)])) : createCommentVNode("", true),
1519
1519
  renderSlot(_ctx.$slots, "default", { describedBy: describedBy.value }),
1520
1520
  __props.error ? (openBlock(), createElementBlock("p", {
1521
1521
  key: 1,
@@ -1533,7 +1533,7 @@ var FormField_default = /* @__PURE__ */ defineComponent({
1533
1533
  });
1534
1534
  //#endregion
1535
1535
  //#region src/components/AlertBox.vue?vue&type=script&setup=true&lang.ts
1536
- var _hoisted_1$68 = {
1536
+ var _hoisted_1$67 = {
1537
1537
  key: 0,
1538
1538
  class: "mint-alert__icon mint-alert__icon--success",
1539
1539
  viewBox: "0 0 24 24",
@@ -1543,7 +1543,7 @@ var _hoisted_1$68 = {
1543
1543
  "stroke-linecap": "round",
1544
1544
  "stroke-linejoin": "round"
1545
1545
  };
1546
- var _hoisted_2$59 = {
1546
+ var _hoisted_2$58 = {
1547
1547
  key: 1,
1548
1548
  class: "mint-alert__icon mint-alert__icon--error",
1549
1549
  viewBox: "0 0 24 24",
@@ -1553,7 +1553,7 @@ var _hoisted_2$59 = {
1553
1553
  "stroke-linecap": "round",
1554
1554
  "stroke-linejoin": "round"
1555
1555
  };
1556
- var _hoisted_3$54 = {
1556
+ var _hoisted_3$53 = {
1557
1557
  key: 2,
1558
1558
  class: "mint-alert__icon mint-alert__icon--warning",
1559
1559
  viewBox: "0 0 24 24",
@@ -1608,11 +1608,11 @@ var AlertBox_default = /* @__PURE__ */ defineComponent({
1608
1608
  class: normalizeClass(["mint-alert", `mint-alert--${props.type}`]),
1609
1609
  role: "alert"
1610
1610
  }, [
1611
- props.type === "success" ? (openBlock(), createElementBlock("svg", _hoisted_1$68, [..._cache[2] || (_cache[2] = [createElementVNode("circle", {
1611
+ props.type === "success" ? (openBlock(), createElementBlock("svg", _hoisted_1$67, [..._cache[2] || (_cache[2] = [createElementVNode("circle", {
1612
1612
  cx: "12",
1613
1613
  cy: "12",
1614
1614
  r: "10"
1615
- }, null, -1), createElementVNode("path", { d: "m9 12 2 2 4-4" }, null, -1)])])) : props.type === "error" ? (openBlock(), createElementBlock("svg", _hoisted_2$59, [..._cache[3] || (_cache[3] = [
1615
+ }, null, -1), createElementVNode("path", { d: "m9 12 2 2 4-4" }, null, -1)])])) : props.type === "error" ? (openBlock(), createElementBlock("svg", _hoisted_2$58, [..._cache[3] || (_cache[3] = [
1616
1616
  createElementVNode("circle", {
1617
1617
  cx: "12",
1618
1618
  cy: "12",
@@ -1620,7 +1620,7 @@ var AlertBox_default = /* @__PURE__ */ defineComponent({
1620
1620
  }, null, -1),
1621
1621
  createElementVNode("path", { d: "m15 9-6 6" }, null, -1),
1622
1622
  createElementVNode("path", { d: "m9 9 6 6" }, null, -1)
1623
- ])])) : props.type === "warning" ? (openBlock(), createElementBlock("svg", _hoisted_3$54, [..._cache[4] || (_cache[4] = [
1623
+ ])])) : props.type === "warning" ? (openBlock(), createElementBlock("svg", _hoisted_3$53, [..._cache[4] || (_cache[4] = [
1624
1624
  createElementVNode("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3" }, null, -1),
1625
1625
  createElementVNode("path", { d: "M12 9v4" }, null, -1),
1626
1626
  createElementVNode("path", { d: "M12 17h.01" }, null, -1)
@@ -1660,9 +1660,9 @@ var AlertBox_default = /* @__PURE__ */ defineComponent({
1660
1660
  });
1661
1661
  //#endregion
1662
1662
  //#region src/components/AppToastContainer.vue?vue&type=script&setup=true&lang.ts
1663
- var _hoisted_1$67 = { class: "mint-toast__container" };
1664
- var _hoisted_2$58 = ["onClick"];
1665
- var _hoisted_3$53 = { class: "mint-toast__message" };
1663
+ var _hoisted_1$66 = { class: "mint-toast__container" };
1664
+ var _hoisted_2$57 = ["onClick"];
1665
+ var _hoisted_3$52 = { class: "mint-toast__message" };
1666
1666
  //#endregion
1667
1667
  //#region src/components/AppToastContainer.vue
1668
1668
  var AppToastContainer_default = /* @__PURE__ */ defineComponent({
@@ -1677,7 +1677,7 @@ var AppToastContainer_default = /* @__PURE__ */ defineComponent({
1677
1677
  info: "#3B82F6"
1678
1678
  };
1679
1679
  return (_ctx, _cache) => {
1680
- return openBlock(), createBlock(Teleport, { to: "body" }, [createElementVNode("div", _hoisted_1$67, [createVNode(TransitionGroup, { name: "toast" }, {
1680
+ return openBlock(), createBlock(Teleport, { to: "body" }, [createElementVNode("div", _hoisted_1$66, [createVNode(TransitionGroup, { name: "toast" }, {
1681
1681
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(toasts), (toast) => {
1682
1682
  return openBlock(), createElementBlock("div", {
1683
1683
  key: toast.id,
@@ -1751,7 +1751,7 @@ var AppToastContainer_default = /* @__PURE__ */ defineComponent({
1751
1751
  createElementVNode("path", { d: "M12 16v-4" }, null, -1),
1752
1752
  createElementVNode("path", { d: "M12 8h.01" }, null, -1)
1753
1753
  ])], 4)),
1754
- createElementVNode("span", _hoisted_3$53, toDisplayString(toast.message), 1),
1754
+ createElementVNode("span", _hoisted_3$52, toDisplayString(toast.message), 1),
1755
1755
  createElementVNode("span", {
1756
1756
  class: "mint-toast__progress",
1757
1757
  style: normalizeStyle({
@@ -1759,7 +1759,7 @@ var AppToastContainer_default = /* @__PURE__ */ defineComponent({
1759
1759
  animationDuration: `${toast.duration ?? 3500}ms`
1760
1760
  })
1761
1761
  }, null, 4)
1762
- ], 14, _hoisted_2$58);
1762
+ ], 14, _hoisted_2$57);
1763
1763
  }), 128))]),
1764
1764
  _: 1
1765
1765
  })])]);
@@ -1768,7 +1768,7 @@ var AppToastContainer_default = /* @__PURE__ */ defineComponent({
1768
1768
  });
1769
1769
  //#endregion
1770
1770
  //#region src/components/IconButton.vue?vue&type=script&setup=true&lang.ts
1771
- var _hoisted_1$66 = [
1771
+ var _hoisted_1$65 = [
1772
1772
  "disabled",
1773
1773
  "aria-label",
1774
1774
  "title"
@@ -1830,13 +1830,13 @@ var IconButton_default = /* @__PURE__ */ defineComponent({
1830
1830
  }, null, -1)])], 2)) : (openBlock(), createElementBlock("span", {
1831
1831
  key: 1,
1832
1832
  class: normalizeClass(`mint-icon-button__icon--${__props.size}`)
1833
- }, [renderSlot(_ctx.$slots, "default")], 2))], 10, _hoisted_1$66);
1833
+ }, [renderSlot(_ctx.$slots, "default")], 2))], 10, _hoisted_1$65);
1834
1834
  };
1835
1835
  }
1836
1836
  });
1837
1837
  //#endregion
1838
1838
  //#region src/components/ThemeToggle.vue?vue&type=script&setup=true&lang.ts
1839
- var _hoisted_1$65 = {
1839
+ var _hoisted_1$64 = {
1840
1840
  key: 0,
1841
1841
  class: "mint-theme-toggle__icon",
1842
1842
  viewBox: "0 0 24 24",
@@ -1846,7 +1846,7 @@ var _hoisted_1$65 = {
1846
1846
  "stroke-linecap": "round",
1847
1847
  "stroke-linejoin": "round"
1848
1848
  };
1849
- var _hoisted_2$57 = {
1849
+ var _hoisted_2$56 = {
1850
1850
  key: 1,
1851
1851
  class: "mint-theme-toggle__icon",
1852
1852
  viewBox: "0 0 24 24",
@@ -1872,7 +1872,7 @@ var ThemeToggle_default = /* @__PURE__ */ defineComponent({
1872
1872
  label: unref(isDark) ? "Switch to light mode" : "Switch to dark mode",
1873
1873
  onClick: unref(toggleTheme)
1874
1874
  }, {
1875
- default: withCtx(() => [unref(isDark) ? (openBlock(), createElementBlock("svg", _hoisted_1$65, [..._cache[0] || (_cache[0] = [
1875
+ default: withCtx(() => [unref(isDark) ? (openBlock(), createElementBlock("svg", _hoisted_1$64, [..._cache[0] || (_cache[0] = [
1876
1876
  createElementVNode("circle", {
1877
1877
  cx: "12",
1878
1878
  cy: "12",
@@ -1886,7 +1886,7 @@ var ThemeToggle_default = /* @__PURE__ */ defineComponent({
1886
1886
  createElementVNode("path", { d: "M20 12h2" }, null, -1),
1887
1887
  createElementVNode("path", { d: "m6.34 17.66-1.41 1.41" }, null, -1),
1888
1888
  createElementVNode("path", { d: "m19.07 4.93-1.41 1.41" }, null, -1)
1889
- ])])) : (openBlock(), createElementBlock("svg", _hoisted_2$57, [..._cache[1] || (_cache[1] = [createElementVNode("path", { d: "M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401" }, null, -1)])]))]),
1889
+ ])])) : (openBlock(), createElementBlock("svg", _hoisted_2$56, [..._cache[1] || (_cache[1] = [createElementVNode("path", { d: "M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401" }, null, -1)])]))]),
1890
1890
  _: 1
1891
1891
  }, 8, [
1892
1892
  "size",
@@ -1898,20 +1898,49 @@ var ThemeToggle_default = /* @__PURE__ */ defineComponent({
1898
1898
  });
1899
1899
  //#endregion
1900
1900
  //#region src/components/CollapsibleCard.vue?vue&type=script&setup=true&lang.ts
1901
- var _hoisted_1$64 = ["disabled", "aria-expanded"];
1902
- var _hoisted_2$56 = { class: "mint-collapsible-card__title-section" };
1903
- var _hoisted_3$52 = ["d"];
1901
+ var _hoisted_1$63 = { class: "mint-collapsible-card__header-shell" };
1902
+ var _hoisted_2$55 = ["disabled", "aria-expanded"];
1903
+ var _hoisted_3$51 = { class: "mint-collapsible-card__title-section" };
1904
1904
  var _hoisted_4$49 = ["d"];
1905
- var _hoisted_5$47 = { class: "mint-collapsible-card__titles" };
1906
- var _hoisted_6$46 = { class: "mint-collapsible-card__title" };
1907
- var _hoisted_7$40 = {
1905
+ var _hoisted_5$47 = ["d"];
1906
+ var _hoisted_6$46 = { class: "mint-collapsible-card__titles" };
1907
+ var _hoisted_7$40 = { class: "mint-collapsible-card__title" };
1908
+ var _hoisted_8$37 = {
1908
1909
  key: 0,
1909
1910
  class: "mint-collapsible-card__subtitle"
1910
1911
  };
1911
- var _hoisted_8$37 = { class: "mint-collapsible-card__actions" };
1912
- var _hoisted_9$34 = ["aria-checked", "onKeydown"];
1913
- var _hoisted_10$31 = { class: "mint-collapsible-card__body" };
1914
- var _hoisted_11$28 = { class: "mint-collapsible-card__content" };
1912
+ var _hoisted_9$34 = { class: "mint-collapsible-card__actions" };
1913
+ var _hoisted_10$31 = [
1914
+ "disabled",
1915
+ "aria-label",
1916
+ "title",
1917
+ "onClick"
1918
+ ];
1919
+ var _hoisted_11$29 = {
1920
+ key: 0,
1921
+ class: "mint-collapsible-card__action-icon",
1922
+ viewBox: "0 0 24 24",
1923
+ fill: "none",
1924
+ stroke: "currentColor",
1925
+ "stroke-width": "2",
1926
+ "stroke-linecap": "round",
1927
+ "stroke-linejoin": "round",
1928
+ "aria-hidden": "true"
1929
+ };
1930
+ var _hoisted_12$26 = ["d"];
1931
+ var _hoisted_13$25 = ["d"];
1932
+ var _hoisted_14$22 = {
1933
+ key: 1,
1934
+ class: "mint-collapsible-card__action-text-icon"
1935
+ };
1936
+ var _hoisted_15$21 = ["aria-checked", "onKeydown"];
1937
+ var _hoisted_16$19 = [
1938
+ "disabled",
1939
+ "aria-label",
1940
+ "aria-expanded"
1941
+ ];
1942
+ var _hoisted_17$19 = { class: "mint-collapsible-card__body" };
1943
+ var _hoisted_18$17 = { class: "mint-collapsible-card__content" };
1915
1944
  //#endregion
1916
1945
  //#region src/components/CollapsibleCard.vue
1917
1946
  var CollapsibleCard_default = /* @__PURE__ */ defineComponent({
@@ -1919,6 +1948,8 @@ var CollapsibleCard_default = /* @__PURE__ */ defineComponent({
1919
1948
  props: {
1920
1949
  title: {},
1921
1950
  subtitle: {},
1951
+ badge: { default: void 0 },
1952
+ badgeTone: { default: "cta" },
1922
1953
  defaultOpen: {
1923
1954
  type: Boolean,
1924
1955
  default: false
@@ -1934,6 +1965,7 @@ var CollapsibleCard_default = /* @__PURE__ */ defineComponent({
1934
1965
  icon: {},
1935
1966
  iconColor: {},
1936
1967
  iconBg: {},
1968
+ actions: { default: () => [] },
1937
1969
  showToggle: {
1938
1970
  type: Boolean,
1939
1971
  default: false
@@ -1944,7 +1976,7 @@ var CollapsibleCard_default = /* @__PURE__ */ defineComponent({
1944
1976
  },
1945
1977
  toggleColor: { default: "" }
1946
1978
  },
1947
- emits: ["update:toggleValue"],
1979
+ emits: ["update:toggleValue", "action"],
1948
1980
  setup(__props, { emit: __emit }) {
1949
1981
  /** Card whose body collapses with a chevron-rotate animation, with an optional inline toggle switch independent of expand state. */
1950
1982
  const props = __props;
@@ -1960,10 +1992,7 @@ var CollapsibleCard_default = /* @__PURE__ */ defineComponent({
1960
1992
  const headerClasses = computed(() => ["mint-collapsible-card__header", props.disabled ? "mint-collapsible-card__header--disabled" : ""]);
1961
1993
  const iconBgStyle = computed(() => ({ backgroundColor: props.iconBg || "var(--color-primary-soft)" }));
1962
1994
  const iconColorStyle = computed(() => ({ color: props.iconColor || "var(--color-primary)" }));
1963
- const isSvgIcon = computed(() => {
1964
- if (!props.icon) return false;
1965
- return Array.isArray(props.icon) || props.icon.startsWith("M") || props.icon.startsWith("m");
1966
- });
1995
+ const isSvgIcon = computed(() => isSvgIconValue(props.icon));
1967
1996
  const toggleTrackStyle = computed(() => {
1968
1997
  if (!props.toggleValue || !props.toggleColor) return {};
1969
1998
  return {
@@ -1971,14 +2000,33 @@ var CollapsibleCard_default = /* @__PURE__ */ defineComponent({
1971
2000
  borderColor: props.toggleColor
1972
2001
  };
1973
2002
  });
2003
+ const badgeClasses = computed(() => ["mint-collapsible-card__badge", `mint-collapsible-card__badge--${props.badgeTone}`]);
2004
+ function isSvgIconValue(icon) {
2005
+ if (!icon) return false;
2006
+ return Array.isArray(icon) || icon.startsWith("M") || icon.startsWith("m");
2007
+ }
2008
+ function actionClasses(action) {
2009
+ return [
2010
+ "mint-collapsible-card__action",
2011
+ action.tone ? `mint-collapsible-card__action--${action.tone}` : "",
2012
+ action.disabled ? "mint-collapsible-card__action--disabled" : ""
2013
+ ];
2014
+ }
2015
+ function actionStyle(action) {
2016
+ return action.iconColor ? { color: action.iconColor } : {};
2017
+ }
2018
+ function handleActionClick(action) {
2019
+ if (props.disabled || action.disabled) return;
2020
+ emit("action", action.id);
2021
+ }
1974
2022
  return (_ctx, _cache) => {
1975
- return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-collapsible-card", __props.dense ? "mint-collapsible-card--dense" : ""]) }, [createElementVNode("button", {
2023
+ return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-collapsible-card", __props.dense ? "mint-collapsible-card--dense" : ""]) }, [createElementVNode("div", _hoisted_1$63, [createElementVNode("button", {
1976
2024
  type: "button",
1977
2025
  class: normalizeClass(headerClasses.value),
1978
2026
  disabled: __props.disabled,
1979
2027
  "aria-expanded": isOpen.value,
1980
2028
  onClick: toggle
1981
- }, [createElementVNode("div", _hoisted_2$56, [__props.icon ? (openBlock(), createElementBlock("div", {
2029
+ }, [createElementVNode("div", _hoisted_3$51, [__props.icon ? (openBlock(), createElementBlock("div", {
1982
2030
  key: 0,
1983
2031
  class: "mint-collapsible-card__icon-badge",
1984
2032
  style: normalizeStyle(iconBgStyle.value)
@@ -1996,35 +2044,70 @@ var CollapsibleCard_default = /* @__PURE__ */ defineComponent({
1996
2044
  return openBlock(), createElementBlock("path", {
1997
2045
  key: i,
1998
2046
  d
1999
- }, null, 8, _hoisted_3$52);
2047
+ }, null, 8, _hoisted_4$49);
2000
2048
  }), 128)) : (openBlock(), createElementBlock("path", {
2001
2049
  key: 1,
2002
2050
  d: __props.icon
2003
- }, null, 8, _hoisted_4$49))], 4)) : (openBlock(), createElementBlock("span", {
2051
+ }, null, 8, _hoisted_5$47))], 4)) : (openBlock(), createElementBlock("span", {
2004
2052
  key: 1,
2005
2053
  class: "mint-collapsible-card__icon-text",
2006
2054
  style: normalizeStyle(iconColorStyle.value)
2007
- }, toDisplayString(__props.icon), 5))], 4)) : createCommentVNode("", true), createElementVNode("div", _hoisted_5$47, [createElementVNode("h3", _hoisted_6$46, toDisplayString(__props.title), 1), __props.subtitle ? (openBlock(), createElementBlock("p", _hoisted_7$40, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)])]), createElementVNode("div", _hoisted_8$37, [__props.showToggle ? (openBlock(), createElementBlock("div", {
2008
- key: 0,
2009
- class: "mint-collapsible-card__toggle",
2010
- onClick: handleToggleClick
2011
- }, [createElementVNode("div", {
2012
- role: "switch",
2013
- tabindex: "0",
2014
- "aria-checked": __props.toggleValue,
2015
- class: normalizeClass(["mint-collapsible-card__toggle-track", __props.toggleValue ? "mint-collapsible-card__toggle-track--on" : ""]),
2016
- style: normalizeStyle(toggleTrackStyle.value),
2017
- onKeydown: [withKeys(withModifiers(handleToggleClick, ["prevent"]), ["enter"]), withKeys(withModifiers(handleToggleClick, ["prevent"]), ["space"])]
2018
- }, [createElementVNode("span", { class: normalizeClass(["mint-collapsible-card__toggle-knob", __props.toggleValue ? "mint-collapsible-card__toggle-knob--on" : ""]) }, null, 2)], 46, _hoisted_9$34)])) : createCommentVNode("", true), (openBlock(), createElementBlock("svg", {
2019
- class: normalizeClass(["mint-collapsible-card__chevron", isOpen.value ? "mint-collapsible-card__chevron--open" : ""]),
2020
- fill: "none",
2021
- stroke: "currentColor",
2022
- "stroke-width": "2",
2023
- "stroke-linecap": "round",
2024
- "stroke-linejoin": "round",
2025
- viewBox: "0 0 24 24"
2026
- }, [..._cache[0] || (_cache[0] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))])], 10, _hoisted_1$64), createVNode(Transition, { name: "collapse" }, {
2027
- default: withCtx(() => [withDirectives(createElementVNode("div", _hoisted_10$31, [createElementVNode("div", _hoisted_11$28, [renderSlot(_ctx.$slots, "default")])], 512), [[vShow, isOpen.value]])]),
2055
+ }, toDisplayString(__props.icon), 5))], 4)) : createCommentVNode("", true), createElementVNode("div", _hoisted_6$46, [createElementVNode("h3", _hoisted_7$40, toDisplayString(__props.title), 1), __props.subtitle ? (openBlock(), createElementBlock("p", _hoisted_8$37, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)])])], 10, _hoisted_2$55), createElementVNode("div", _hoisted_9$34, [
2056
+ __props.badge !== void 0 ? (openBlock(), createElementBlock("span", {
2057
+ key: 0,
2058
+ class: normalizeClass(badgeClasses.value)
2059
+ }, toDisplayString(__props.badge), 3)) : createCommentVNode("", true),
2060
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.actions, (action) => {
2061
+ return openBlock(), createElementBlock("button", {
2062
+ key: action.id,
2063
+ type: "button",
2064
+ class: normalizeClass(actionClasses(action)),
2065
+ style: normalizeStyle(actionStyle(action)),
2066
+ disabled: __props.disabled || action.disabled,
2067
+ "aria-label": action.label,
2068
+ title: action.label,
2069
+ onClick: ($event) => handleActionClick(action)
2070
+ }, [action.icon && isSvgIconValue(action.icon) ? (openBlock(), createElementBlock("svg", _hoisted_11$29, [Array.isArray(action.icon) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(action.icon, (d, i) => {
2071
+ return openBlock(), createElementBlock("path", {
2072
+ key: i,
2073
+ d
2074
+ }, null, 8, _hoisted_12$26);
2075
+ }), 128)) : (openBlock(), createElementBlock("path", {
2076
+ key: 1,
2077
+ d: action.icon
2078
+ }, null, 8, _hoisted_13$25))])) : action.icon ? (openBlock(), createElementBlock("span", _hoisted_14$22, toDisplayString(action.icon), 1)) : createCommentVNode("", true)], 14, _hoisted_10$31);
2079
+ }), 128)),
2080
+ __props.showToggle ? (openBlock(), createElementBlock("div", {
2081
+ key: 1,
2082
+ class: "mint-collapsible-card__toggle",
2083
+ onClick: handleToggleClick
2084
+ }, [createElementVNode("div", {
2085
+ role: "switch",
2086
+ tabindex: "0",
2087
+ "aria-checked": __props.toggleValue,
2088
+ class: normalizeClass(["mint-collapsible-card__toggle-track", __props.toggleValue ? "mint-collapsible-card__toggle-track--on" : ""]),
2089
+ style: normalizeStyle(toggleTrackStyle.value),
2090
+ onKeydown: [withKeys(withModifiers(handleToggleClick, ["prevent"]), ["enter"]), withKeys(withModifiers(handleToggleClick, ["prevent"]), ["space"])]
2091
+ }, [createElementVNode("span", { class: normalizeClass(["mint-collapsible-card__toggle-knob", __props.toggleValue ? "mint-collapsible-card__toggle-knob--on" : ""]) }, null, 2)], 46, _hoisted_15$21)])) : createCommentVNode("", true),
2092
+ createElementVNode("button", {
2093
+ type: "button",
2094
+ class: "mint-collapsible-card__chevron-button",
2095
+ disabled: __props.disabled,
2096
+ "aria-label": isOpen.value ? "Collapse section" : "Expand section",
2097
+ "aria-expanded": isOpen.value,
2098
+ onClick: toggle
2099
+ }, [(openBlock(), createElementBlock("svg", {
2100
+ class: normalizeClass(["mint-collapsible-card__chevron", isOpen.value ? "mint-collapsible-card__chevron--open" : ""]),
2101
+ fill: "none",
2102
+ stroke: "currentColor",
2103
+ "stroke-width": "2",
2104
+ "stroke-linecap": "round",
2105
+ "stroke-linejoin": "round",
2106
+ viewBox: "0 0 24 24",
2107
+ "aria-hidden": "true"
2108
+ }, [..._cache[0] || (_cache[0] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))], 8, _hoisted_16$19)
2109
+ ])]), createVNode(Transition, { name: "collapse" }, {
2110
+ default: withCtx(() => [withDirectives(createElementVNode("div", _hoisted_17$19, [createElementVNode("div", _hoisted_18$17, [renderSlot(_ctx.$slots, "default")])], 512), [[vShow, isOpen.value]])]),
2028
2111
  _: 3
2029
2112
  })], 2);
2030
2113
  };
@@ -2042,6 +2125,19 @@ var FormFieldRendererInternal_default = /* @__PURE__ */ defineComponent({
2042
2125
  setup(__props) {
2043
2126
  const props = __props;
2044
2127
  const entry = computed(() => getFieldRegistryEntry(props.field.type));
2128
+ const isChoiceField = computed(() => props.field.type === "checkbox" || props.field.type === "toggle");
2129
+ const componentProps = computed(() => {
2130
+ if (!isChoiceField.value) return props.resolvedProps;
2131
+ return {
2132
+ variant: "row",
2133
+ label: props.field.label,
2134
+ description: props.field.hint,
2135
+ icon: props.field.icon,
2136
+ iconColor: props.field.iconColor,
2137
+ iconBg: props.field.iconBg,
2138
+ ...props.resolvedProps
2139
+ };
2140
+ });
2045
2141
  const errorMessage = computed(() => {
2046
2142
  const name = props.field.name;
2047
2143
  return props.form.touched[name] ? props.form.errors[name] : null;
@@ -2051,17 +2147,17 @@ var FormFieldRendererInternal_default = /* @__PURE__ */ defineComponent({
2051
2147
  }
2052
2148
  return (_ctx, _cache) => {
2053
2149
  return openBlock(), createBlock(FormField_default, {
2054
- label: __props.field.label,
2150
+ label: isChoiceField.value ? void 0 : __props.field.label,
2055
2151
  error: errorMessage.value ?? void 0,
2056
- hint: __props.field.hint,
2152
+ hint: isChoiceField.value ? void 0 : __props.field.hint,
2057
2153
  required: !!__props.field.validation?.required,
2058
- "html-for": __props.field.name
2154
+ "html-for": isChoiceField.value ? void 0 : __props.field.name
2059
2155
  }, {
2060
2156
  default: withCtx(() => [renderSlot(_ctx.$slots, `field:${__props.field.name}`, {
2061
2157
  field: __props.field,
2062
2158
  form: __props.form,
2063
2159
  fieldProps: __props.form.getFieldProps(__props.field.name)
2064
- }, () => [entry.value.vModel ? (openBlock(), createBlock(resolveDynamicComponent(entry.value.component), normalizeProps(mergeProps({ key: 0 }, __props.resolvedProps)), null, 16)) : (openBlock(), createBlock(resolveDynamicComponent(entry.value.component), mergeProps({ key: 1 }, __props.resolvedProps, { onUpload: handleUpload }), null, 16))])]),
2160
+ }, () => [entry.value.vModel ? (openBlock(), createBlock(resolveDynamicComponent(entry.value.component), normalizeProps(mergeProps({ key: 0 }, componentProps.value)), null, 16)) : (openBlock(), createBlock(resolveDynamicComponent(entry.value.component), mergeProps({ key: 1 }, componentProps.value, { onUpload: handleUpload }), null, 16))])]),
2065
2161
  _: 3
2066
2162
  }, 8, [
2067
2163
  "label",
@@ -2141,12 +2237,12 @@ function buildSettingsTabs(baseTabs, showAppearance) {
2141
2237
  }
2142
2238
  //#endregion
2143
2239
  //#region src/components/SettingsModal.vue?vue&type=script&setup=true&lang.ts
2144
- var _hoisted_1$63 = {
2240
+ var _hoisted_1$62 = {
2145
2241
  key: 0,
2146
2242
  class: "mint-settings-modal__tabs"
2147
2243
  };
2148
- var _hoisted_2$55 = ["onClick"];
2149
- var _hoisted_3$51 = {
2244
+ var _hoisted_2$54 = ["onClick"];
2245
+ var _hoisted_3$50 = {
2150
2246
  key: 1,
2151
2247
  class: "mint-settings-modal__rail",
2152
2248
  role: "tablist",
@@ -2175,16 +2271,16 @@ var _hoisted_10$30 = {
2175
2271
  key: 0,
2176
2272
  class: "mint-settings-modal__pane-header"
2177
2273
  };
2178
- var _hoisted_11$27 = { class: "mint-settings-modal__pane-title" };
2179
- var _hoisted_12$24 = {
2274
+ var _hoisted_11$28 = { class: "mint-settings-modal__pane-title" };
2275
+ var _hoisted_12$25 = {
2180
2276
  key: 0,
2181
2277
  class: "mint-settings-modal__pane-subtitle"
2182
2278
  };
2183
- var _hoisted_13$23 = { key: 2 };
2184
- var _hoisted_14$20 = { class: "mint-settings-modal__section" };
2185
- var _hoisted_15$19 = { class: "mint-settings-modal__option-group" };
2186
- var _hoisted_16$17 = ["onClick"];
2187
- var _hoisted_17$17 = { class: "mint-settings-modal__section" };
2279
+ var _hoisted_13$24 = { key: 2 };
2280
+ var _hoisted_14$21 = { class: "mint-settings-modal__section" };
2281
+ var _hoisted_15$20 = { class: "mint-settings-modal__option-group" };
2282
+ var _hoisted_16$18 = ["onClick"];
2283
+ var _hoisted_17$18 = { class: "mint-settings-modal__section" };
2188
2284
  var _hoisted_18$16 = { class: "mint-settings-modal__option-group" };
2189
2285
  var _hoisted_19$16 = ["onClick"];
2190
2286
  var _hoisted_20$14 = { class: "mint-settings-modal__section" };
@@ -2354,14 +2450,14 @@ var SettingsModal_default = /* @__PURE__ */ defineComponent({
2354
2450
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", $event)),
2355
2451
  onClose: handleClose
2356
2452
  }, {
2357
- default: withCtx(() => [createElementVNode("div", { class: normalizeClass(["mint-settings-modal", `mint-settings-modal--${__props.layout}`]) }, [!isVertical.value && allTabs.value.length > 1 ? (openBlock(), createElementBlock("div", _hoisted_1$63, [(openBlock(true), createElementBlock(Fragment, null, renderList(allTabs.value, (tab) => {
2453
+ default: withCtx(() => [createElementVNode("div", { class: normalizeClass(["mint-settings-modal", `mint-settings-modal--${__props.layout}`]) }, [!isVertical.value && allTabs.value.length > 1 ? (openBlock(), createElementBlock("div", _hoisted_1$62, [(openBlock(true), createElementBlock(Fragment, null, renderList(allTabs.value, (tab) => {
2358
2454
  return openBlock(), createElementBlock("button", {
2359
2455
  key: tab.id,
2360
2456
  type: "button",
2361
2457
  class: normalizeClass(["mint-settings-modal__tab", { "mint-settings-modal__tab--active": activeTab.value === tab.id }]),
2362
2458
  onClick: ($event) => activeTab.value = tab.id
2363
- }, toDisplayString(tab.label), 11, _hoisted_2$55);
2364
- }), 128))])) : isVertical.value ? (openBlock(), createElementBlock("div", _hoisted_3$51, [(openBlock(true), createElementBlock(Fragment, null, renderList(allTabs.value, (tab) => {
2459
+ }, toDisplayString(tab.label), 11, _hoisted_2$54);
2460
+ }), 128))])) : isVertical.value ? (openBlock(), createElementBlock("div", _hoisted_3$50, [(openBlock(true), createElementBlock(Fragment, null, renderList(allTabs.value, (tab) => {
2365
2461
  return openBlock(), createElementBlock("button", {
2366
2462
  id: tabId(tab.id),
2367
2463
  key: tab.id,
@@ -2383,7 +2479,7 @@ var SettingsModal_default = /* @__PURE__ */ defineComponent({
2383
2479
  "aria-labelledby": isVertical.value && activeTabMeta.value ? tabId(activeTabMeta.value.id) : void 0,
2384
2480
  tabindex: isVertical.value ? 0 : void 0
2385
2481
  }, {
2386
- default: withCtx(() => [isVertical.value && activeTabMeta.value?.label ? (openBlock(), createElementBlock("header", _hoisted_10$30, [createElementVNode("h4", _hoisted_11$27, toDisplayString(activeTabMeta.value.label), 1), activeTabMeta.value.description ? (openBlock(), createElementBlock("p", _hoisted_12$24, toDisplayString(activeTabMeta.value.description), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true), createElementVNode("div", { class: normalizeClass(isVertical.value ? "mint-settings-modal__pane-body" : null) }, [isSchemaDriven.value && activeGroup.value ? (openBlock(), createElementBlock("div", {
2482
+ default: withCtx(() => [isVertical.value && activeTabMeta.value?.label ? (openBlock(), createElementBlock("header", _hoisted_10$30, [createElementVNode("h4", _hoisted_11$28, toDisplayString(activeTabMeta.value.label), 1), activeTabMeta.value.description ? (openBlock(), createElementBlock("p", _hoisted_12$25, toDisplayString(activeTabMeta.value.description), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true), createElementVNode("div", { class: normalizeClass(isVertical.value ? "mint-settings-modal__pane-body" : null) }, [isSchemaDriven.value && activeGroup.value ? (openBlock(), createElementBlock("div", {
2387
2483
  key: 0,
2388
2484
  class: "mint-settings-modal__group-grid",
2389
2485
  style: normalizeStyle({ "--mint-settings-cols": activeGroup.value.columns ?? 1 })
@@ -2406,16 +2502,16 @@ var SettingsModal_default = /* @__PURE__ */ defineComponent({
2406
2502
  ])])], 4);
2407
2503
  }), 128))], 4)) : !isSchemaDriven.value ? (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(manualTabs.value, (tab) => {
2408
2504
  return withDirectives((openBlock(), createElementBlock("div", { key: tab.id }, [renderSlot(_ctx.$slots, `tab-${tab.id}`)], 512)), [[vShow, activeTab.value === tab.id]]);
2409
- }), 128)) : createCommentVNode("", true), __props.showAppearance ? withDirectives((openBlock(), createElementBlock("div", _hoisted_13$23, [
2410
- createElementVNode("div", _hoisted_14$20, [_cache[1] || (_cache[1] = createElementVNode("div", { class: "mint-settings-modal__section-label" }, "Theme", -1)), createElementVNode("div", _hoisted_15$19, [(openBlock(), createElementBlock(Fragment, null, renderList(themeOptions, (opt) => {
2505
+ }), 128)) : createCommentVNode("", true), __props.showAppearance ? withDirectives((openBlock(), createElementBlock("div", _hoisted_13$24, [
2506
+ createElementVNode("div", _hoisted_14$21, [_cache[1] || (_cache[1] = createElementVNode("div", { class: "mint-settings-modal__section-label" }, "Theme", -1)), createElementVNode("div", _hoisted_15$20, [(openBlock(), createElementBlock(Fragment, null, renderList(themeOptions, (opt) => {
2411
2507
  return createElementVNode("button", {
2412
2508
  key: opt.value,
2413
2509
  type: "button",
2414
2510
  class: normalizeClass(["mint-settings-modal__option-btn", { "mint-settings-modal__option-btn--active": unref(settings).theme === opt.value }]),
2415
2511
  onClick: ($event) => unref(settings).theme = opt.value
2416
- }, toDisplayString(opt.label), 11, _hoisted_16$17);
2512
+ }, toDisplayString(opt.label), 11, _hoisted_16$18);
2417
2513
  }), 64))])]),
2418
- createElementVNode("div", _hoisted_17$17, [_cache[2] || (_cache[2] = createElementVNode("div", { class: "mint-settings-modal__section-label" }, "Color Palette", -1)), createElementVNode("div", _hoisted_18$16, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(colorPalettes), (palette, key) => {
2514
+ createElementVNode("div", _hoisted_17$18, [_cache[2] || (_cache[2] = createElementVNode("div", { class: "mint-settings-modal__section-label" }, "Color Palette", -1)), createElementVNode("div", _hoisted_18$16, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(colorPalettes), (palette, key) => {
2419
2515
  return openBlock(), createElementBlock("button", {
2420
2516
  key,
2421
2517
  type: "button",
@@ -2459,12 +2555,12 @@ var SettingsModal_default = /* @__PURE__ */ defineComponent({
2459
2555
  });
2460
2556
  //#endregion
2461
2557
  //#region src/components/ConfirmDialog.vue?vue&type=script&setup=true&lang.ts
2462
- var _hoisted_1$62 = { class: "mint-confirm" };
2463
- var _hoisted_2$54 = {
2558
+ var _hoisted_1$61 = { class: "mint-confirm" };
2559
+ var _hoisted_2$53 = {
2464
2560
  key: 1,
2465
2561
  class: "mint-confirm__message"
2466
2562
  };
2467
- var _hoisted_3$50 = { class: "mint-confirm__footer" };
2563
+ var _hoisted_3$49 = { class: "mint-confirm__footer" };
2468
2564
  var _hoisted_4$47 = ["disabled"];
2469
2565
  var _hoisted_5$45 = ["disabled"];
2470
2566
  var _hoisted_6$44 = {
@@ -2516,7 +2612,7 @@ var ConfirmDialog_default = /* @__PURE__ */ defineComponent({
2516
2612
  "close-on-escape": !__props.loading,
2517
2613
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", $event))
2518
2614
  }, {
2519
- footer: withCtx(() => [createElementVNode("div", _hoisted_3$50, [createElementVNode("button", {
2615
+ footer: withCtx(() => [createElementVNode("div", _hoisted_3$49, [createElementVNode("button", {
2520
2616
  type: "button",
2521
2617
  class: "mint-confirm__btn-cancel",
2522
2618
  disabled: __props.loading,
@@ -2538,12 +2634,12 @@ var ConfirmDialog_default = /* @__PURE__ */ defineComponent({
2538
2634
  fill: "currentColor",
2539
2635
  d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
2540
2636
  }, null, -1)])])) : createCommentVNode("", true), createTextVNode(" " + toDisplayString(__props.confirmLabel), 1)], 10, _hoisted_5$45)])]),
2541
- default: withCtx(() => [createElementVNode("div", _hoisted_1$62, [
2637
+ default: withCtx(() => [createElementVNode("div", _hoisted_1$61, [
2542
2638
  _ctx.$slots.icon ? (openBlock(), createElementBlock("div", {
2543
2639
  key: 0,
2544
2640
  class: normalizeClass(["mint-confirm__icon", `mint-confirm__icon--${__props.variant}`])
2545
2641
  }, [renderSlot(_ctx.$slots, "icon")], 2)) : createCommentVNode("", true),
2546
- __props.message ? (openBlock(), createElementBlock("p", _hoisted_2$54, toDisplayString(__props.message), 1)) : createCommentVNode("", true),
2642
+ __props.message ? (openBlock(), createElementBlock("p", _hoisted_2$53, toDisplayString(__props.message), 1)) : createCommentVNode("", true),
2547
2643
  renderSlot(_ctx.$slots, "default")
2548
2644
  ])]),
2549
2645
  _: 3
@@ -2560,12 +2656,12 @@ var ConfirmDialog_default = /* @__PURE__ */ defineComponent({
2560
2656
  });
2561
2657
  //#endregion
2562
2658
  //#region src/components/ExperimentPopover.vue?vue&type=script&setup=true&lang.ts
2563
- var _hoisted_1$61 = ["title"];
2564
- var _hoisted_2$53 = {
2659
+ var _hoisted_1$60 = ["title"];
2660
+ var _hoisted_2$52 = {
2565
2661
  key: 0,
2566
2662
  class: "mint-experiment-popover__trigger-code"
2567
2663
  };
2568
- var _hoisted_3$49 = {
2664
+ var _hoisted_3$48 = {
2569
2665
  key: 1,
2570
2666
  class: "mint-experiment-popover__trigger-text"
2571
2667
  };
@@ -2597,22 +2693,22 @@ var _hoisted_9$32 = {
2597
2693
  class: "mint-experiment-popover__panel"
2598
2694
  };
2599
2695
  var _hoisted_10$29 = { class: "mint-experiment-popover__header" };
2600
- var _hoisted_11$26 = { class: "mint-experiment-popover__subtitle" };
2601
- var _hoisted_12$23 = {
2696
+ var _hoisted_11$27 = { class: "mint-experiment-popover__subtitle" };
2697
+ var _hoisted_12$24 = {
2602
2698
  key: 0,
2603
2699
  class: "mint-experiment-popover__body"
2604
2700
  };
2605
- var _hoisted_13$22 = {
2701
+ var _hoisted_13$23 = {
2606
2702
  key: 1,
2607
2703
  class: "mint-experiment-popover__body"
2608
2704
  };
2609
- var _hoisted_14$19 = { class: "mint-experiment-popover__card" };
2610
- var _hoisted_15$18 = { class: "mint-experiment-popover__card-info" };
2611
- var _hoisted_16$16 = {
2705
+ var _hoisted_14$20 = { class: "mint-experiment-popover__card" };
2706
+ var _hoisted_15$19 = { class: "mint-experiment-popover__card-info" };
2707
+ var _hoisted_16$17 = {
2612
2708
  key: 0,
2613
2709
  class: "mint-experiment-popover__card-code"
2614
2710
  };
2615
- var _hoisted_17$16 = { class: "mint-experiment-popover__card-name" };
2711
+ var _hoisted_17$17 = { class: "mint-experiment-popover__card-name" };
2616
2712
  var _hoisted_18$15 = {
2617
2713
  key: 1,
2618
2714
  class: "mint-experiment-popover__card-status"
@@ -2721,7 +2817,7 @@ var ExperimentPopover_default = /* @__PURE__ */ defineComponent({
2721
2817
  "stroke-width": "1.75",
2722
2818
  d: "M19.428 15.428a2 2 0 00-1.022-.547l-2.387-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z"
2723
2819
  })], -1)),
2724
- __props.experimentCode ? (openBlock(), createElementBlock("span", _hoisted_2$53, toDisplayString(__props.experimentCode), 1)) : __props.experimentName ? (openBlock(), createElementBlock("span", _hoisted_3$49, toDisplayString(__props.experimentName), 1)) : (openBlock(), createElementBlock("span", _hoisted_4$46, "No experiment")),
2820
+ __props.experimentCode ? (openBlock(), createElementBlock("span", _hoisted_2$52, toDisplayString(__props.experimentCode), 1)) : __props.experimentName ? (openBlock(), createElementBlock("span", _hoisted_3$48, toDisplayString(__props.experimentName), 1)) : (openBlock(), createElementBlock("span", _hoisted_4$46, "No experiment")),
2725
2821
  _cache[3] || (_cache[3] = createElementVNode("svg", {
2726
2822
  class: "mint-experiment-popover__trigger-chevron",
2727
2823
  viewBox: "0 0 24 24",
@@ -2731,7 +2827,7 @@ var ExperimentPopover_default = /* @__PURE__ */ defineComponent({
2731
2827
  "stroke-linecap": "round",
2732
2828
  "stroke-linejoin": "round"
2733
2829
  }, [createElementVNode("path", { d: "m6 9 6 6 6-6" })], -1))
2734
- ], 10, _hoisted_1$61), __props.showSave && __props.experimentName ? (openBlock(), createElementBlock("button", {
2830
+ ], 10, _hoisted_1$60), __props.showSave && __props.experimentName ? (openBlock(), createElementBlock("button", {
2735
2831
  key: 0,
2736
2832
  type: "button",
2737
2833
  class: normalizeClass([
@@ -2754,7 +2850,7 @@ var ExperimentPopover_default = /* @__PURE__ */ defineComponent({
2754
2850
  "stroke-width": "2",
2755
2851
  d: "M8 7H5a2 2 0 00-2 2v9a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-3m-1 4l-3 3m0 0l-3-3m3 3V4"
2756
2852
  }, null, -1)])]))], 10, _hoisted_5$44)) : createCommentVNode("", true)], 2),
2757
- unref(isOpen) ? (openBlock(), createElementBlock("div", _hoisted_9$32, [createElementVNode("div", _hoisted_10$29, [_cache[6] || (_cache[6] = createElementVNode("div", { class: "mint-experiment-popover__title" }, "Experiment", -1)), createElementVNode("div", _hoisted_11$26, toDisplayString(__props.experimentName ? "Linked experiment context" : "Link to an MINT experiment"), 1)]), !__props.experimentName ? (openBlock(), createElementBlock("div", _hoisted_12$23, [createElementVNode("button", {
2853
+ unref(isOpen) ? (openBlock(), createElementBlock("div", _hoisted_9$32, [createElementVNode("div", _hoisted_10$29, [_cache[6] || (_cache[6] = createElementVNode("div", { class: "mint-experiment-popover__title" }, "Experiment", -1)), createElementVNode("div", _hoisted_11$27, toDisplayString(__props.experimentName ? "Linked experiment context" : "Link to an MINT experiment"), 1)]), !__props.experimentName ? (openBlock(), createElementBlock("div", _hoisted_12$24, [createElementVNode("button", {
2758
2854
  type: "button",
2759
2855
  class: "mint-experiment-popover__select-btn",
2760
2856
  onClick: handleSelect
@@ -2769,7 +2865,7 @@ var ExperimentPopover_default = /* @__PURE__ */ defineComponent({
2769
2865
  "stroke-linejoin": "round",
2770
2866
  "stroke-width": "2",
2771
2867
  d: "M12 4v16m8-8H4"
2772
- })], -1), createTextVNode(" Select Experiment ", -1)])])])) : (openBlock(), createElementBlock("div", _hoisted_13$22, [createElementVNode("div", _hoisted_14$19, [_cache[8] || (_cache[8] = createElementVNode("div", { class: "mint-experiment-popover__card-icon" }, [createElementVNode("svg", {
2868
+ })], -1), createTextVNode(" Select Experiment ", -1)])])])) : (openBlock(), createElementBlock("div", _hoisted_13$23, [createElementVNode("div", _hoisted_14$20, [_cache[8] || (_cache[8] = createElementVNode("div", { class: "mint-experiment-popover__card-icon" }, [createElementVNode("svg", {
2773
2869
  fill: "none",
2774
2870
  stroke: "currentColor",
2775
2871
  viewBox: "0 0 24 24"
@@ -2778,9 +2874,9 @@ var ExperimentPopover_default = /* @__PURE__ */ defineComponent({
2778
2874
  "stroke-linejoin": "round",
2779
2875
  "stroke-width": "1.75",
2780
2876
  d: "M19.428 15.428a2 2 0 00-1.022-.547l-2.387-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z"
2781
- })])], -1)), createElementVNode("div", _hoisted_15$18, [
2782
- __props.experimentCode ? (openBlock(), createElementBlock("span", _hoisted_16$16, toDisplayString(__props.experimentCode), 1)) : createCommentVNode("", true),
2783
- createElementVNode("div", _hoisted_17$16, toDisplayString(__props.experimentName), 1),
2877
+ })])], -1)), createElementVNode("div", _hoisted_15$19, [
2878
+ __props.experimentCode ? (openBlock(), createElementBlock("span", _hoisted_16$17, toDisplayString(__props.experimentCode), 1)) : createCommentVNode("", true),
2879
+ createElementVNode("div", _hoisted_17$17, toDisplayString(__props.experimentName), 1),
2784
2880
  __props.experimentStatus ? (openBlock(), createElementBlock("div", _hoisted_18$15, toDisplayString(unref(formatExperimentStatus)(__props.experimentStatus)), 1)) : createCommentVNode("", true)
2785
2881
  ])]), createElementVNode("div", _hoisted_19$15, [createElementVNode("button", {
2786
2882
  type: "button",
@@ -2870,9 +2966,9 @@ var Skeleton_default = /* @__PURE__ */ defineComponent({
2870
2966
  });
2871
2967
  //#endregion
2872
2968
  //#region src/components/EmptyState.vue?vue&type=script&setup=true&lang.ts
2873
- var _hoisted_1$60 = ["d"];
2874
- var _hoisted_2$52 = ["d"];
2875
- var _hoisted_3$48 = { class: "mint-empty-state__body" };
2969
+ var _hoisted_1$59 = ["d"];
2970
+ var _hoisted_2$51 = ["d"];
2971
+ var _hoisted_3$47 = { class: "mint-empty-state__body" };
2876
2972
  var _hoisted_4$45 = {
2877
2973
  key: 0,
2878
2974
  class: "mint-empty-state__title"
@@ -2925,13 +3021,13 @@ var EmptyState_default = /* @__PURE__ */ defineComponent({
2925
3021
  }, [__props.iconPath ? (openBlock(), createElementBlock("path", {
2926
3022
  key: 0,
2927
3023
  d: __props.iconPath
2928
- }, null, 8, _hoisted_1$60)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, renderList(defaultIconPaths, (d, i) => {
3024
+ }, null, 8, _hoisted_1$59)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, renderList(defaultIconPaths, (d, i) => {
2929
3025
  return createElementVNode("path", {
2930
3026
  key: i,
2931
3027
  d
2932
- }, null, 8, _hoisted_2$52);
3028
+ }, null, 8, _hoisted_2$51);
2933
3029
  }), 64))], 2))])], 2),
2934
- createElementVNode("div", _hoisted_3$48, [
3030
+ createElementVNode("div", _hoisted_3$47, [
2935
3031
  __props.title ? (openBlock(), createElementBlock("h3", _hoisted_4$45, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
2936
3032
  __props.description ? (openBlock(), createElementBlock("p", _hoisted_5$43, toDisplayString(__props.description), 1)) : createCommentVNode("", true),
2937
3033
  renderSlot(_ctx.$slots, "default")
@@ -2946,7 +3042,7 @@ var EmptyState_default = /* @__PURE__ */ defineComponent({
2946
3042
  });
2947
3043
  //#endregion
2948
3044
  //#region src/components/ExperimentCodeBadge.vue?vue&type=script&setup=true&lang.ts
2949
- var _hoisted_1$59 = [
3045
+ var _hoisted_1$58 = [
2950
3046
  "role",
2951
3047
  "tabindex",
2952
3048
  "title"
@@ -3004,15 +3100,15 @@ var ExperimentCodeBadge_default = /* @__PURE__ */ defineComponent({
3004
3100
  title: __props.copyable ? copied.value ? "Copied!" : "Click to copy" : void 0,
3005
3101
  onClick: handleCopy,
3006
3102
  onKeydown: handleKeydown
3007
- }, toDisplayString(copied.value ? "Copied!" : __props.code), 43, _hoisted_1$59);
3103
+ }, toDisplayString(copied.value ? "Copied!" : __props.code), 43, _hoisted_1$58);
3008
3104
  };
3009
3105
  }
3010
3106
  });
3011
3107
  //#endregion
3012
3108
  //#region src/components/ExperimentSelectorModal.vue?vue&type=script&setup=true&lang.ts
3013
- var _hoisted_1$58 = { class: "mint-experiment-selector__filters-row" };
3014
- var _hoisted_2$51 = { class: "mint-experiment-selector__search" };
3015
- var _hoisted_3$47 = { class: "mint-experiment-selector__filter-select" };
3109
+ var _hoisted_1$57 = { class: "mint-experiment-selector__filters-row" };
3110
+ var _hoisted_2$50 = { class: "mint-experiment-selector__search" };
3111
+ var _hoisted_3$46 = { class: "mint-experiment-selector__filter-select" };
3016
3112
  var _hoisted_4$44 = {
3017
3113
  key: 0,
3018
3114
  class: "mint-experiment-selector__filter-select"
@@ -3032,19 +3128,19 @@ var _hoisted_7$37 = {
3032
3128
  var _hoisted_8$34 = { class: "mint-experiment-selector__filter-select" };
3033
3129
  var _hoisted_9$31 = { class: "mint-experiment-selector__filter-select" };
3034
3130
  var _hoisted_10$28 = { class: "mint-experiment-selector__group-toggle" };
3035
- var _hoisted_11$25 = {
3131
+ var _hoisted_11$26 = {
3036
3132
  key: 1,
3037
3133
  class: "mint-experiment-selector__skeleton"
3038
3134
  };
3039
- var _hoisted_12$22 = { class: "mint-experiment-selector__skeleton-content" };
3040
- var _hoisted_13$21 = {
3135
+ var _hoisted_12$23 = { class: "mint-experiment-selector__skeleton-content" };
3136
+ var _hoisted_13$22 = {
3041
3137
  key: 2,
3042
3138
  class: "mint-experiment-selector__error"
3043
3139
  };
3044
- var _hoisted_14$18 = ["onClick"];
3045
- var _hoisted_15$17 = { class: "mint-experiment-selector__group-name" };
3046
- var _hoisted_16$15 = { class: "mint-experiment-selector__group-count" };
3047
- var _hoisted_17$15 = ["onClick", "onMouseenter"];
3140
+ var _hoisted_14$19 = ["onClick"];
3141
+ var _hoisted_15$18 = { class: "mint-experiment-selector__group-name" };
3142
+ var _hoisted_16$16 = { class: "mint-experiment-selector__group-count" };
3143
+ var _hoisted_17$16 = ["onClick", "onMouseenter"];
3048
3144
  var _hoisted_18$14 = { class: "mint-experiment-selector__row-content" };
3049
3145
  var _hoisted_19$14 = { class: "mint-experiment-selector__name" };
3050
3146
  var _hoisted_20$13 = { class: "mint-experiment-selector__meta" };
@@ -3180,15 +3276,15 @@ var ExperimentSelectorModal_default = /* @__PURE__ */ defineComponent({
3180
3276
  class: "mint-experiment-selector",
3181
3277
  onKeydown: handleKeydown
3182
3278
  }, [
3183
- createElementVNode("div", _hoisted_1$58, [
3184
- createElementVNode("div", _hoisted_2$51, [createVNode(BaseInput_default, {
3279
+ createElementVNode("div", _hoisted_1$57, [
3280
+ createElementVNode("div", _hoisted_2$50, [createVNode(BaseInput_default, {
3185
3281
  modelValue: unref(filters).search,
3186
3282
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(filters).search = $event),
3187
3283
  placeholder: "Search experiments...",
3188
3284
  size: "sm",
3189
3285
  type: "search"
3190
3286
  }, null, 8, ["modelValue"])]),
3191
- createElementVNode("div", _hoisted_3$47, [createVNode(BaseSelect_default, {
3287
+ createElementVNode("div", _hoisted_3$46, [createVNode(BaseSelect_default, {
3192
3288
  "model-value": unref(filters).status ?? "",
3193
3289
  options: unref(EXPERIMENT_STATUS_OPTIONS),
3194
3290
  size: "sm",
@@ -3278,11 +3374,11 @@ var ExperimentSelectorModal_default = /* @__PURE__ */ defineComponent({
3278
3374
  class: "mint-experiment-selector__group-checkbox"
3279
3375
  }, null, 512), [[vModelCheckbox, groupToggle.value]]), _cache[10] || (_cache[10] = createTextVNode(" Group by project ", -1))])
3280
3376
  ])) : createCommentVNode("", true),
3281
- unref(isLoading) ? (openBlock(), createElementBlock("div", _hoisted_11$25, [(openBlock(), createElementBlock(Fragment, null, renderList(4, (n) => {
3377
+ unref(isLoading) ? (openBlock(), createElementBlock("div", _hoisted_11$26, [(openBlock(), createElementBlock(Fragment, null, renderList(4, (n) => {
3282
3378
  return createElementVNode("div", {
3283
3379
  key: n,
3284
3380
  class: "mint-experiment-selector__skeleton-row"
3285
- }, [createElementVNode("div", _hoisted_12$22, [createVNode(Skeleton_default, {
3381
+ }, [createElementVNode("div", _hoisted_12$23, [createVNode(Skeleton_default, {
3286
3382
  width: 120 + n * 20,
3287
3383
  height: "14px"
3288
3384
  }, null, 8, ["width"]), createVNode(Skeleton_default, {
@@ -3293,7 +3389,7 @@ var ExperimentSelectorModal_default = /* @__PURE__ */ defineComponent({
3293
3389
  height: "20px",
3294
3390
  variant: "rounded"
3295
3391
  })]);
3296
- }), 64))])) : unref(error) ? (openBlock(), createElementBlock("div", _hoisted_13$21, toDisplayString(unref(error)), 1)) : unref(experiments).length === 0 ? (openBlock(), createBlock(EmptyState_default, {
3392
+ }), 64))])) : unref(error) ? (openBlock(), createElementBlock("div", _hoisted_13$22, toDisplayString(unref(error)), 1)) : unref(experiments).length === 0 ? (openBlock(), createBlock(EmptyState_default, {
3297
3393
  key: 3,
3298
3394
  title: "No experiments found",
3299
3395
  description: "Try adjusting your search or filters.",
@@ -3320,9 +3416,9 @@ var ExperimentSelectorModal_default = /* @__PURE__ */ defineComponent({
3320
3416
  "stroke-linecap": "round",
3321
3417
  "stroke-linejoin": "round"
3322
3418
  }, [..._cache[11] || (_cache[11] = [createElementVNode("polyline", { points: "6 9 12 15 18 9" }, null, -1)])], 2)),
3323
- createElementVNode("span", _hoisted_15$17, toDisplayString(groupName), 1),
3324
- createElementVNode("span", _hoisted_16$15, toDisplayString(groupExps.length), 1)
3325
- ], 8, _hoisted_14$18), !collapsedGroups.has(groupName) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(groupExps, (exp) => {
3419
+ createElementVNode("span", _hoisted_15$18, toDisplayString(groupName), 1),
3420
+ createElementVNode("span", _hoisted_16$16, toDisplayString(groupExps.length), 1)
3421
+ ], 8, _hoisted_14$19), !collapsedGroups.has(groupName) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(groupExps, (exp) => {
3326
3422
  return openBlock(), createElementBlock("div", {
3327
3423
  key: exp.id,
3328
3424
  class: normalizeClass(["mint-experiment-selector__row", {
@@ -3342,7 +3438,7 @@ var ExperimentSelectorModal_default = /* @__PURE__ */ defineComponent({
3342
3438
  }, {
3343
3439
  default: withCtx(() => [createTextVNode(toDisplayString(unref(formatExperimentStatus)(exp.status)), 1)]),
3344
3440
  _: 2
3345
- }, 1032, ["variant"])], 42, _hoisted_17$15);
3441
+ }, 1032, ["variant"])], 42, _hoisted_17$16);
3346
3442
  }), 128)) : createCommentVNode("", true)], 64);
3347
3443
  }), 128))], 512)) : (openBlock(), createElementBlock("div", {
3348
3444
  key: 5,
@@ -3423,18 +3519,18 @@ function isPluginIconFormat(icon) {
3423
3519
  }
3424
3520
  //#endregion
3425
3521
  //#region src/components/internal/ActionItemInternal.vue?vue&type=script&setup=true&lang.ts
3426
- var _hoisted_1$57 = [
3522
+ var _hoisted_1$56 = [
3427
3523
  "href",
3428
3524
  "aria-disabled",
3429
3525
  "tabindex"
3430
3526
  ];
3431
- var _hoisted_2$50 = [
3527
+ var _hoisted_2$49 = [
3432
3528
  "href",
3433
3529
  "aria-disabled",
3434
3530
  "tabindex",
3435
3531
  "onClick"
3436
3532
  ];
3437
- var _hoisted_3$46 = ["type", "disabled"];
3533
+ var _hoisted_3$45 = ["type", "disabled"];
3438
3534
  //#endregion
3439
3535
  //#region src/components/internal/ActionItemInternal.vue
3440
3536
  var ActionItemInternal_default = /* @__PURE__ */ defineComponent({
@@ -3480,7 +3576,7 @@ var ActionItemInternal_default = /* @__PURE__ */ defineComponent({
3480
3576
  "aria-disabled": __props.disabled || void 0,
3481
3577
  tabindex: __props.disabled ? -1 : void 0,
3482
3578
  onClick: handleClick
3483
- }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$57)) : __props.to ? (openBlock(), createBlock(_component_router_link, {
3579
+ }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1$56)) : __props.to ? (openBlock(), createBlock(_component_router_link, {
3484
3580
  key: 1,
3485
3581
  to: __props.to,
3486
3582
  custom: ""
@@ -3490,19 +3586,19 @@ var ActionItemInternal_default = /* @__PURE__ */ defineComponent({
3490
3586
  "aria-disabled": __props.disabled || void 0,
3491
3587
  tabindex: __props.disabled ? -1 : void 0,
3492
3588
  onClick: ($event) => handleRouterClick($event, navigate)
3493
- }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_2$50)]),
3589
+ }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_2$49)]),
3494
3590
  _: 3
3495
3591
  }, 8, ["to"])) : (openBlock(), createElementBlock("button", mergeProps({ key: 2 }, _ctx.$attrs, {
3496
3592
  type: __props.type,
3497
3593
  disabled: __props.disabled,
3498
3594
  onClick: handleClick
3499
- }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_3$46));
3595
+ }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_3$45));
3500
3596
  };
3501
3597
  }
3502
3598
  });
3503
3599
  //#endregion
3504
3600
  //#region src/components/PluginIcon.vue?vue&type=script&setup=true&lang.ts
3505
- var _hoisted_1$56 = {
3601
+ var _hoisted_1$55 = {
3506
3602
  key: 0,
3507
3603
  class: "mint-plugin-icon__svg",
3508
3604
  viewBox: "0 0 24 24",
@@ -3513,8 +3609,8 @@ var _hoisted_1$56 = {
3513
3609
  "stroke-linejoin": "round",
3514
3610
  "aria-hidden": "true"
3515
3611
  };
3516
- var _hoisted_2$49 = ["d"];
3517
- var _hoisted_3$45 = ["src"];
3612
+ var _hoisted_2$48 = ["d"];
3613
+ var _hoisted_3$44 = ["src"];
3518
3614
  //#endregion
3519
3615
  //#region src/components/PluginIcon.vue
3520
3616
  var PluginIcon_default = /* @__PURE__ */ defineComponent({
@@ -3547,25 +3643,25 @@ var PluginIcon_default = /* @__PURE__ */ defineComponent({
3547
3643
  return openBlock(), createElementBlock("span", {
3548
3644
  class: normalizeClass(rootClasses.value),
3549
3645
  style: normalizeStyle(rootStyle.value)
3550
- }, [detected.value.format === "path" || detected.value.format === "fallback" ? (openBlock(), createElementBlock("svg", _hoisted_1$56, [createElementVNode("path", { d: detected.value.value }, null, 8, _hoisted_2$49)])) : (openBlock(), createElementBlock("img", {
3646
+ }, [detected.value.format === "path" || detected.value.format === "fallback" ? (openBlock(), createElementBlock("svg", _hoisted_1$55, [createElementVNode("path", { d: detected.value.value }, null, 8, _hoisted_2$48)])) : (openBlock(), createElementBlock("img", {
3551
3647
  key: 1,
3552
3648
  class: "mint-plugin-icon__img",
3553
3649
  src: detected.value.value,
3554
3650
  alt: "",
3555
3651
  referrerpolicy: "no-referrer",
3556
3652
  loading: "lazy"
3557
- }, null, 8, _hoisted_3$45))], 6);
3653
+ }, null, 8, _hoisted_3$44))], 6);
3558
3654
  };
3559
3655
  }
3560
3656
  });
3561
3657
  //#endregion
3562
3658
  //#region src/components/internal/AppTopBarPageSelectorInternal.vue?vue&type=script&setup=true&lang.ts
3563
- var _hoisted_1$55 = ["aria-expanded"];
3564
- var _hoisted_2$48 = {
3659
+ var _hoisted_1$54 = ["aria-expanded"];
3660
+ var _hoisted_2$47 = {
3565
3661
  key: 1,
3566
3662
  class: "mint-page-selector__icon-fallback"
3567
3663
  };
3568
- var _hoisted_3$44 = { class: "mint-page-selector__label" };
3664
+ var _hoisted_3$43 = { class: "mint-page-selector__label" };
3569
3665
  var _hoisted_4$43 = {
3570
3666
  class: "mint-page-selector__chevron-wrap",
3571
3667
  "aria-hidden": "true"
@@ -3633,8 +3729,8 @@ var AppTopBarPageSelectorInternal_default = /* @__PURE__ */ defineComponent({
3633
3729
  icon: current.value.icon,
3634
3730
  size: "sm",
3635
3731
  variant: "tinted"
3636
- }, null, 8, ["icon"])) : (openBlock(), createElementBlock("span", _hoisted_2$48, toDisplayString(current.value.label.charAt(0)), 1))])], 2)) : createCommentVNode("", true),
3637
- createElementVNode("span", _hoisted_3$44, toDisplayString(current.value?.label ?? __props.placeholder), 1),
3732
+ }, null, 8, ["icon"])) : (openBlock(), createElementBlock("span", _hoisted_2$47, toDisplayString(current.value.label.charAt(0)), 1))])], 2)) : createCommentVNode("", true),
3733
+ createElementVNode("span", _hoisted_3$43, toDisplayString(current.value?.label ?? __props.placeholder), 1),
3638
3734
  createElementVNode("span", _hoisted_4$43, [(openBlock(), createElementBlock("svg", {
3639
3735
  class: normalizeClass(["mint-page-selector__chevron", { "mint-page-selector__chevron--open": unref(isOpen) }]),
3640
3736
  viewBox: "0 0 24 24",
@@ -3644,7 +3740,7 @@ var AppTopBarPageSelectorInternal_default = /* @__PURE__ */ defineComponent({
3644
3740
  "stroke-linecap": "round",
3645
3741
  "stroke-linejoin": "round"
3646
3742
  }, [..._cache[1] || (_cache[1] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))])
3647
- ], 10, _hoisted_1$55), unref(isOpen) ? (openBlock(), createElementBlock("div", _hoisted_5$41, [_cache[2] || (_cache[2] = createElementVNode("div", { class: "mint-page-selector__menu-title" }, "Go to", -1)), (openBlock(true), createElementBlock(Fragment, null, renderList(normalizedPages.value, (page) => {
3743
+ ], 10, _hoisted_1$54), unref(isOpen) ? (openBlock(), createElementBlock("div", _hoisted_5$41, [_cache[2] || (_cache[2] = createElementVNode("div", { class: "mint-page-selector__menu-title" }, "Go to", -1)), (openBlock(true), createElementBlock(Fragment, null, renderList(normalizedPages.value, (page) => {
3648
3744
  return openBlock(), createBlock(ActionItemInternal_default, {
3649
3745
  key: page.id,
3650
3746
  href: page.href,
@@ -3683,16 +3779,16 @@ var AppTopBarPageSelectorInternal_default = /* @__PURE__ */ defineComponent({
3683
3779
  });
3684
3780
  //#endregion
3685
3781
  //#region src/components/internal/AppTopBarPillNavInternal.vue?vue&type=script&setup=true&lang.ts
3686
- var _hoisted_1$54 = {
3782
+ var _hoisted_1$53 = {
3687
3783
  class: "mint-pill-nav",
3688
3784
  "aria-label": "Primary"
3689
3785
  };
3690
- var _hoisted_2$47 = [
3786
+ var _hoisted_2$46 = [
3691
3787
  "disabled",
3692
3788
  "aria-expanded",
3693
3789
  "onClick"
3694
3790
  ];
3695
- var _hoisted_3$43 = {
3791
+ var _hoisted_3$42 = {
3696
3792
  key: 0,
3697
3793
  class: "mint-pill-nav__icon",
3698
3794
  viewBox: "0 0 24 24",
@@ -3724,7 +3820,7 @@ var _hoisted_9$30 = {
3724
3820
  role: "menu"
3725
3821
  };
3726
3822
  var _hoisted_10$27 = { class: "mint-pill-nav__dropdown-label" };
3727
- var _hoisted_11$24 = {
3823
+ var _hoisted_11$25 = {
3728
3824
  key: 0,
3729
3825
  class: "mint-pill-nav__dropdown-description"
3730
3826
  };
@@ -3783,7 +3879,7 @@ var AppTopBarPillNavInternal_default = /* @__PURE__ */ defineComponent({
3783
3879
  }
3784
3880
  useEventListener(() => document, "click", handleClickOutside);
3785
3881
  return (_ctx, _cache) => {
3786
- return openBlock(), createElementBlock("nav", _hoisted_1$54, [(openBlock(true), createElementBlock(Fragment, null, renderList(normalizedItems.value, (item) => {
3882
+ return openBlock(), createElementBlock("nav", _hoisted_1$53, [(openBlock(true), createElementBlock(Fragment, null, renderList(normalizedItems.value, (item) => {
3787
3883
  return openBlock(), createElementBlock("div", {
3788
3884
  key: item.id,
3789
3885
  ref_for: true,
@@ -3802,7 +3898,7 @@ var AppTopBarPillNavInternal_default = /* @__PURE__ */ defineComponent({
3802
3898
  "aria-haspopup": "menu",
3803
3899
  onClick: withModifiers(($event) => handleClick(item), ["stop"])
3804
3900
  }, [
3805
- isSvgIcon(item.icon) ? (openBlock(), createElementBlock("svg", _hoisted_3$43, [Array.isArray(item.icon) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(item.icon, (d, index) => {
3901
+ isSvgIcon(item.icon) ? (openBlock(), createElementBlock("svg", _hoisted_3$42, [Array.isArray(item.icon) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(item.icon, (d, index) => {
3806
3902
  return openBlock(), createElementBlock("path", {
3807
3903
  key: index,
3808
3904
  d
@@ -3822,7 +3918,7 @@ var AppTopBarPillNavInternal_default = /* @__PURE__ */ defineComponent({
3822
3918
  "stroke-linejoin": "round",
3823
3919
  "aria-hidden": "true"
3824
3920
  }, [..._cache[0] || (_cache[0] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))
3825
- ], 10, _hoisted_2$47)) : (openBlock(), createBlock(ActionItemInternal_default, {
3921
+ ], 10, _hoisted_2$46)) : (openBlock(), createBlock(ActionItemInternal_default, {
3826
3922
  key: 1,
3827
3923
  href: item.href,
3828
3924
  to: item.to,
@@ -3864,7 +3960,7 @@ var AppTopBarPillNavInternal_default = /* @__PURE__ */ defineComponent({
3864
3960
  role: "menuitem",
3865
3961
  onClick: ($event) => handleOptionClick(option, item)
3866
3962
  }, {
3867
- default: withCtx(() => [createElementVNode("span", _hoisted_10$27, toDisplayString(option.label), 1), option.description ? (openBlock(), createElementBlock("span", _hoisted_11$24, toDisplayString(option.description), 1)) : createCommentVNode("", true)]),
3963
+ default: withCtx(() => [createElementVNode("span", _hoisted_10$27, toDisplayString(option.label), 1), option.description ? (openBlock(), createElementBlock("span", _hoisted_11$25, toDisplayString(option.description), 1)) : createCommentVNode("", true)]),
3868
3964
  _: 2
3869
3965
  }, 1032, [
3870
3966
  "href",
@@ -3880,9 +3976,9 @@ var AppTopBarPillNavInternal_default = /* @__PURE__ */ defineComponent({
3880
3976
  });
3881
3977
  //#endregion
3882
3978
  //#region src/components/AppAvatarMenu.vue?vue&type=script&setup=true&lang.ts
3883
- var _hoisted_1$53 = ["aria-expanded", "title"];
3884
- var _hoisted_2$46 = { class: "mint-avatar-menu__avatar" };
3885
- var _hoisted_3$42 = {
3979
+ var _hoisted_1$52 = ["aria-expanded", "title"];
3980
+ var _hoisted_2$45 = { class: "mint-avatar-menu__avatar" };
3981
+ var _hoisted_3$41 = {
3886
3982
  key: 0,
3887
3983
  class: "mint-avatar-menu__name"
3888
3984
  };
@@ -3913,11 +4009,11 @@ var _hoisted_9$29 = {
3913
4009
  class: "mint-avatar-menu__item-icon"
3914
4010
  };
3915
4011
  var _hoisted_10$26 = { class: "mint-avatar-menu__item-label" };
3916
- var _hoisted_11$23 = {
4012
+ var _hoisted_11$24 = {
3917
4013
  key: 1,
3918
4014
  class: "mint-avatar-menu__item-right"
3919
4015
  };
3920
- var _hoisted_12$21 = { class: "mint-avatar-menu__item-label" };
4016
+ var _hoisted_12$22 = { class: "mint-avatar-menu__item-label" };
3921
4017
  //#endregion
3922
4018
  //#region src/components/AppAvatarMenu.vue
3923
4019
  var AppAvatarMenu_default = /* @__PURE__ */ defineComponent({
@@ -3983,7 +4079,7 @@ var AppAvatarMenu_default = /* @__PURE__ */ defineComponent({
3983
4079
  "aria-haspopup": "menu",
3984
4080
  title: __props.userName ? `${__props.userName} · Account menu` : "Account menu",
3985
4081
  onClick: _cache[0] || (_cache[0] = withModifiers((...args) => unref(toggle) && unref(toggle)(...args), ["stop"]))
3986
- }, [createElementVNode("span", _hoisted_2$46, [renderSlot(_ctx.$slots, "avatar", { initials: initials.value }, () => [createTextVNode(toDisplayString(initials.value), 1)])]), __props.userName ? (openBlock(), createElementBlock("span", _hoisted_3$42, toDisplayString(__props.userName), 1)) : createCommentVNode("", true)], 10, _hoisted_1$53), unref(isOpen) ? (openBlock(), createElementBlock("div", _hoisted_4$41, [
4082
+ }, [createElementVNode("span", _hoisted_2$45, [renderSlot(_ctx.$slots, "avatar", { initials: initials.value }, () => [createTextVNode(toDisplayString(initials.value), 1)])]), __props.userName ? (openBlock(), createElementBlock("span", _hoisted_3$41, toDisplayString(__props.userName), 1)) : createCommentVNode("", true)], 10, _hoisted_1$52), unref(isOpen) ? (openBlock(), createElementBlock("div", _hoisted_4$41, [
3987
4083
  __props.userName || __props.userEmail ? (openBlock(), createElementBlock("div", _hoisted_5$39, [__props.userName ? (openBlock(), createElementBlock("div", _hoisted_6$38, toDisplayString(__props.userName), 1)) : createCommentVNode("", true), __props.userEmail ? (openBlock(), createElementBlock("div", _hoisted_7$34, toDisplayString(__props.userEmail), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true),
3988
4084
  renderSlot(_ctx.$slots, "items", { close: closeSilently }, () => [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
3989
4085
  return openBlock(), createElementBlock(Fragment, { key: item.id }, [item.divider ? (openBlock(), createElementBlock("div", _hoisted_8$31)) : (openBlock(), createBlock(ActionItemInternal_default, {
@@ -3997,7 +4093,7 @@ var AppAvatarMenu_default = /* @__PURE__ */ defineComponent({
3997
4093
  default: withCtx(() => [
3998
4094
  item.icon ? (openBlock(), createElementBlock("span", _hoisted_9$29, [renderSlot(_ctx.$slots, "item-icon", { item })])) : createCommentVNode("", true),
3999
4095
  createElementVNode("span", _hoisted_10$26, toDisplayString(item.label), 1),
4000
- item.rightLabel ? (openBlock(), createElementBlock("span", _hoisted_11$23, toDisplayString(item.rightLabel), 1)) : createCommentVNode("", true)
4096
+ item.rightLabel ? (openBlock(), createElementBlock("span", _hoisted_11$24, toDisplayString(item.rightLabel), 1)) : createCommentVNode("", true)
4001
4097
  ]),
4002
4098
  _: 2
4003
4099
  }, 1032, [
@@ -4015,16 +4111,16 @@ var AppAvatarMenu_default = /* @__PURE__ */ defineComponent({
4015
4111
  class: "mint-avatar-menu__item mint-avatar-menu__item--danger",
4016
4112
  role: "menuitem",
4017
4113
  onClick: handleSignOut
4018
- }, [_cache[1] || (_cache[1] = createStaticVNode("<span class=\"mint-avatar-menu__item-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4\"></path><polyline points=\"16 17 21 12 16 7\"></polyline><line x1=\"21\" y1=\"12\" x2=\"9\" y2=\"12\"></line></svg></span>", 1)), createElementVNode("span", _hoisted_12$21, toDisplayString(__props.signOutLabel), 1)])], 64)) : createCommentVNode("", true)
4114
+ }, [_cache[1] || (_cache[1] = createStaticVNode("<span class=\"mint-avatar-menu__item-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4\"></path><polyline points=\"16 17 21 12 16 7\"></polyline><line x1=\"21\" y1=\"12\" x2=\"9\" y2=\"12\"></line></svg></span>", 1)), createElementVNode("span", _hoisted_12$22, toDisplayString(__props.signOutLabel), 1)])], 64)) : createCommentVNode("", true)
4019
4115
  ])) : createCommentVNode("", true)], 512);
4020
4116
  };
4021
4117
  }
4022
4118
  });
4023
4119
  //#endregion
4024
4120
  //#region src/components/AppPluginSwitcher.vue?vue&type=script&setup=true&lang.ts
4025
- var _hoisted_1$52 = ["aria-expanded"];
4026
- var _hoisted_2$45 = { class: "mint-plugin-switcher__label" };
4027
- var _hoisted_3$41 = {
4121
+ var _hoisted_1$51 = ["aria-expanded"];
4122
+ var _hoisted_2$44 = { class: "mint-plugin-switcher__label" };
4123
+ var _hoisted_3$40 = {
4028
4124
  key: 0,
4029
4125
  class: "mint-plugin-switcher__version"
4030
4126
  };
@@ -4102,8 +4198,8 @@ var AppPluginSwitcher_default = /* @__PURE__ */ defineComponent({
4102
4198
  "aria-haspopup": "menu",
4103
4199
  onClick: _cache[0] || (_cache[0] = withModifiers((...args) => unref(toggle) && unref(toggle)(...args), ["stop"]))
4104
4200
  }, [
4105
- createElementVNode("span", _hoisted_2$45, toDisplayString(__props.current.label), 1),
4106
- __props.current.version ? (openBlock(), createElementBlock("span", _hoisted_3$41, "v" + toDisplayString(__props.current.version), 1)) : createCommentVNode("", true),
4201
+ createElementVNode("span", _hoisted_2$44, toDisplayString(__props.current.label), 1),
4202
+ __props.current.version ? (openBlock(), createElementBlock("span", _hoisted_3$40, "v" + toDisplayString(__props.current.version), 1)) : createCommentVNode("", true),
4107
4203
  createElementVNode("span", _hoisted_4$40, [(openBlock(), createElementBlock("svg", {
4108
4204
  class: normalizeClass(["mint-plugin-switcher__chevron", { "mint-plugin-switcher__chevron--open": unref(isOpen) }]),
4109
4205
  viewBox: "0 0 24 24",
@@ -4113,7 +4209,7 @@ var AppPluginSwitcher_default = /* @__PURE__ */ defineComponent({
4113
4209
  "stroke-linecap": "round",
4114
4210
  "stroke-linejoin": "round"
4115
4211
  }, [..._cache[1] || (_cache[1] = [createElementVNode("path", { d: "m6 9 6 6 6-6" }, null, -1)])], 2))])
4116
- ], 10, _hoisted_1$52), unref(isOpen) ? (openBlock(), createElementBlock("div", _hoisted_5$38, [
4212
+ ], 10, _hoisted_1$51), unref(isOpen) ? (openBlock(), createElementBlock("div", _hoisted_5$38, [
4117
4213
  _cache[4] || (_cache[4] = createElementVNode("div", { class: "mint-plugin-switcher__menu-title" }, "Switch plugin", -1)),
4118
4214
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.plugins, (plugin) => {
4119
4215
  return openBlock(), createBlock(ActionItemInternal_default, {
@@ -4211,9 +4307,9 @@ function currentItemIdFromLocation(pages, pathname, routePrefix) {
4211
4307
  }
4212
4308
  //#endregion
4213
4309
  //#region src/components/AppTopBar.vue?vue&type=script&setup=true&lang.ts
4214
- var _hoisted_1$51 = { class: "mint-topbar__container" };
4215
- var _hoisted_2$44 = { class: "mint-topbar__brand" };
4216
- var _hoisted_3$40 = ["href"];
4310
+ var _hoisted_1$50 = { class: "mint-topbar__container" };
4311
+ var _hoisted_2$43 = { class: "mint-topbar__brand" };
4312
+ var _hoisted_3$39 = ["href"];
4217
4313
  var _hoisted_4$39 = {
4218
4314
  key: 0,
4219
4315
  class: "mint-topbar__logo"
@@ -4236,26 +4332,26 @@ var _hoisted_10$25 = {
4236
4332
  key: 3,
4237
4333
  class: "mint-topbar__title-only"
4238
4334
  };
4239
- var _hoisted_11$22 = {
4335
+ var _hoisted_11$23 = {
4240
4336
  key: 4,
4241
4337
  class: "mint-topbar__center"
4242
4338
  };
4243
- var _hoisted_12$20 = { class: "mint-topbar__right" };
4244
- var _hoisted_13$20 = {
4339
+ var _hoisted_12$21 = { class: "mint-topbar__right" };
4340
+ var _hoisted_13$21 = {
4245
4341
  key: 0,
4246
4342
  class: "mint-topbar__standalone-badge"
4247
4343
  };
4248
- var _hoisted_14$17 = {
4344
+ var _hoisted_14$18 = {
4249
4345
  key: 2,
4250
4346
  class: "mint-topbar__standalone-badge"
4251
4347
  };
4252
- var _hoisted_15$16 = {
4348
+ var _hoisted_15$17 = {
4253
4349
  key: 0,
4254
4350
  class: "mint-topbar__icon-btn-dot",
4255
4351
  "aria-hidden": "true"
4256
4352
  };
4257
- var _hoisted_16$14 = { class: "mint-topbar__profile-avatar" };
4258
- var _hoisted_17$14 = {
4353
+ var _hoisted_16$15 = { class: "mint-topbar__profile-avatar" };
4354
+ var _hoisted_17$15 = {
4259
4355
  key: 0,
4260
4356
  class: "mint-topbar__profile-name"
4261
4357
  };
@@ -4364,8 +4460,8 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
4364
4460
  return (_ctx, _cache) => {
4365
4461
  const _component_router_link = resolveComponent("router-link");
4366
4462
  return openBlock(), createElementBlock(Fragment, null, [
4367
- createElementVNode("header", { class: normalizeClass(["mint-topbar", `mint-topbar--${props.variant}`]) }, [createElementVNode("div", _hoisted_1$51, [
4368
- createElementVNode("div", _hoisted_2$44, [__props.homePath && (__props.homePath.startsWith("http") || __props.homePath.startsWith("/")) ? (openBlock(), createElementBlock("a", {
4463
+ createElementVNode("header", { class: normalizeClass(["mint-topbar", `mint-topbar--${props.variant}`]) }, [createElementVNode("div", _hoisted_1$50, [
4464
+ createElementVNode("div", _hoisted_2$43, [__props.homePath && (__props.homePath.startsWith("http") || __props.homePath.startsWith("/")) ? (openBlock(), createElementBlock("a", {
4369
4465
  key: 0,
4370
4466
  href: __props.homePath,
4371
4467
  class: "mint-topbar-home-link"
@@ -4376,7 +4472,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
4376
4472
  tone: pluginIcon.value.color,
4377
4473
  size: "md",
4378
4474
  variant: "solid"
4379
- }, null, 8, ["icon", "tone"])) : renderSlot(_ctx.$slots, "logo", { key: 1 }, () => [__props.showLogo ? (openBlock(), createElementBlock("div", _hoisted_4$39, [..._cache[19] || (_cache[19] = [createElementVNode("div", { class: "mint-topbar__logo-icon" }, [createElementVNode("span", { class: "mint-topbar__logo-text" }, "M")], -1)])])) : createCommentVNode("", true)])])], 8, _hoisted_3$40)) : __props.homePath ? (openBlock(), createBlock(_component_router_link, {
4475
+ }, null, 8, ["icon", "tone"])) : renderSlot(_ctx.$slots, "logo", { key: 1 }, () => [__props.showLogo ? (openBlock(), createElementBlock("div", _hoisted_4$39, [..._cache[19] || (_cache[19] = [createElementVNode("div", { class: "mint-topbar__logo-icon" }, [createElementVNode("span", { class: "mint-topbar__logo-text" }, "M")], -1)])])) : createCommentVNode("", true)])])], 8, _hoisted_3$39)) : __props.homePath ? (openBlock(), createBlock(_component_router_link, {
4380
4476
  key: 1,
4381
4477
  to: __props.homePath,
4382
4478
  class: "mint-topbar-home-link"
@@ -4427,21 +4523,21 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
4427
4523
  } : void 0]), 1032, ["pages", "current-page-id"])) : createCommentVNode("", true),
4428
4524
  hasTitleGroup.value ? (openBlock(), createElementBlock("div", _hoisted_7$32, [createElementVNode("span", _hoisted_8$29, toDisplayString(__props.title), 1), createElementVNode("span", _hoisted_9$27, toDisplayString(__props.subtitle), 1)])) : hasTitleOnly.value ? (openBlock(), createElementBlock("span", _hoisted_10$25, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
4429
4525
  renderSlot(_ctx.$slots, "nav"),
4430
- hasPillNav.value || _ctx.$slots.center ? (openBlock(), createElementBlock("div", _hoisted_11$22, [renderSlot(_ctx.$slots, "center", {}, () => [hasPillNav.value && __props.pillNav ? (openBlock(), createBlock(AppTopBarPillNavInternal_default, {
4526
+ hasPillNav.value || _ctx.$slots.center ? (openBlock(), createElementBlock("div", _hoisted_11$23, [renderSlot(_ctx.$slots, "center", {}, () => [hasPillNav.value && __props.pillNav ? (openBlock(), createBlock(AppTopBarPillNavInternal_default, {
4431
4527
  key: 0,
4432
4528
  items: normalizedPillNav.value,
4433
4529
  "current-item-id": __props.currentPillId,
4434
4530
  onSelect: _cache[3] || (_cache[3] = ($event) => emit("pill-select", $event)),
4435
4531
  onOptionSelect: _cache[4] || (_cache[4] = (option, item) => emit("pill-option-select", option, item))
4436
4532
  }, null, 8, ["items", "current-item-id"])) : createCommentVNode("", true)])])) : createCommentVNode("", true),
4437
- createElementVNode("div", _hoisted_12$20, [
4438
- __props.showStandaloneLabel && isStandalone.value && !unref(appExperiment) ? (openBlock(), createElementBlock("span", _hoisted_13$20, toDisplayString(__props.standaloneLabel), 1)) : createCommentVNode("", true),
4533
+ createElementVNode("div", _hoisted_12$21, [
4534
+ __props.showStandaloneLabel && isStandalone.value && !unref(appExperiment) ? (openBlock(), createElementBlock("span", _hoisted_13$21, toDisplayString(__props.standaloneLabel), 1)) : createCommentVNode("", true),
4439
4535
  unref(appExperiment) && !isStandalone.value ? (openBlock(), createBlock(ExperimentPopover_default, mergeProps({ key: 1 }, unref(appExperiment).popover.value, {
4440
4536
  onSelect: _cache[5] || (_cache[5] = ($event) => unref(appExperiment).openModal()),
4441
4537
  onSave: _cache[6] || (_cache[6] = ($event) => unref(appExperiment).handleSave()),
4442
4538
  onDetach: _cache[7] || (_cache[7] = ($event) => unref(appExperiment).handleDetach())
4443
4539
  }), null, 16)) : createCommentVNode("", true),
4444
- unref(appExperiment) && isStandalone.value ? (openBlock(), createElementBlock("span", _hoisted_14$17, toDisplayString(__props.standaloneLabel), 1)) : createCommentVNode("", true),
4540
+ unref(appExperiment) && isStandalone.value ? (openBlock(), createElementBlock("span", _hoisted_14$18, toDisplayString(__props.standaloneLabel), 1)) : createCommentVNode("", true),
4445
4541
  renderSlot(_ctx.$slots, "actions"),
4446
4542
  __props.showNotifications ? (openBlock(), createElementBlock("button", {
4447
4543
  key: 3,
@@ -4457,7 +4553,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
4457
4553
  "stroke-width": "2",
4458
4554
  "stroke-linecap": "round",
4459
4555
  "stroke-linejoin": "round"
4460
- }, [createElementVNode("path", { d: "M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9" }), createElementVNode("path", { d: "M10.3 21a1.94 1.94 0 0 0 3.4 0" })], -1)), __props.hasNotificationDot ? (openBlock(), createElementBlock("span", _hoisted_15$16)) : createCommentVNode("", true)])) : createCommentVNode("", true),
4556
+ }, [createElementVNode("path", { d: "M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9" }), createElementVNode("path", { d: "M10.3 21a1.94 1.94 0 0 0 3.4 0" })], -1)), __props.hasNotificationDot ? (openBlock(), createElementBlock("span", _hoisted_15$17)) : createCommentVNode("", true)])) : createCommentVNode("", true),
4461
4557
  __props.showThemeToggle ? (openBlock(), createBlock(ThemeToggle_default, {
4462
4558
  key: 4,
4463
4559
  size: "sm"
@@ -4526,7 +4622,7 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
4526
4622
  class: "mint-topbar__profile-btn",
4527
4623
  "aria-label": "Edit profile",
4528
4624
  onClick: _cache[13] || (_cache[13] = ($event) => emit("profile-click"))
4529
- }, [createElementVNode("div", _hoisted_16$14, toDisplayString(profileInitial.value), 1), __props.userName ? (openBlock(), createElementBlock("span", _hoisted_17$14, toDisplayString(__props.userName), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true)
4625
+ }, [createElementVNode("div", _hoisted_16$15, toDisplayString(profileInitial.value), 1), __props.userName ? (openBlock(), createElementBlock("span", _hoisted_17$15, toDisplayString(__props.userName), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true)
4530
4626
  ])
4531
4627
  ])], 2),
4532
4628
  __props.showSettings ? (openBlock(), createBlock(SettingsModal_default, {
@@ -4580,12 +4676,12 @@ var AppTopBar_default = /* @__PURE__ */ defineComponent({
4580
4676
  });
4581
4677
  //#endregion
4582
4678
  //#region src/components/StepWizard.vue?vue&type=script&setup=true&lang.ts
4583
- var _hoisted_1$50 = {
4679
+ var _hoisted_1$49 = {
4584
4680
  key: 0,
4585
4681
  class: "mint-wizard__progress"
4586
4682
  };
4587
- var _hoisted_2$43 = { class: "mint-wizard__steps-indicator" };
4588
- var _hoisted_3$39 = ["onClick"];
4683
+ var _hoisted_2$42 = { class: "mint-wizard__steps-indicator" };
4684
+ var _hoisted_3$38 = ["onClick"];
4589
4685
  var _hoisted_4$38 = { class: "mint-wizard__step-dot" };
4590
4686
  var _hoisted_5$36 = {
4591
4687
  key: 0,
@@ -4603,7 +4699,7 @@ var _hoisted_7$31 = { class: "mint-wizard__body" };
4603
4699
  var _hoisted_8$28 = { class: "mint-wizard__navigation" };
4604
4700
  var _hoisted_9$26 = ["disabled"];
4605
4701
  var _hoisted_10$24 = ["disabled"];
4606
- var _hoisted_11$21 = ["disabled"];
4702
+ var _hoisted_11$22 = ["disabled"];
4607
4703
  //#endregion
4608
4704
  //#region src/components/StepWizard.vue
4609
4705
  var StepWizard_default = /* @__PURE__ */ defineComponent({
@@ -4696,18 +4792,18 @@ var StepWizard_default = /* @__PURE__ */ defineComponent({
4696
4792
  tabindex: "0",
4697
4793
  onKeydown: handleKeydown
4698
4794
  }, [
4699
- props.showProgress ? (openBlock(), createElementBlock("div", _hoisted_1$50, [renderSlot(_ctx.$slots, "progress", {
4795
+ props.showProgress ? (openBlock(), createElementBlock("div", _hoisted_1$49, [renderSlot(_ctx.$slots, "progress", {
4700
4796
  steps: props.steps,
4701
4797
  current: props.modelValue,
4702
4798
  states: stepStates.value
4703
- }, () => [createElementVNode("div", _hoisted_2$43, [(openBlock(true), createElementBlock(Fragment, null, renderList(props.steps, (step, index) => {
4799
+ }, () => [createElementVNode("div", _hoisted_2$42, [(openBlock(true), createElementBlock(Fragment, null, renderList(props.steps, (step, index) => {
4704
4800
  return openBlock(), createElementBlock(Fragment, { key: step.id }, [index > 0 ? (openBlock(), createElementBlock("div", {
4705
4801
  key: 0,
4706
4802
  class: normalizeClass(["mint-wizard__step-connector", stepStates.value[index - 1] === "completed" ? "mint-wizard__step-connector--completed" : ""])
4707
4803
  }, null, 2)) : createCommentVNode("", true), createElementVNode("div", {
4708
4804
  class: normalizeClass(["mint-wizard__step-indicator", `mint-wizard__step-indicator--${stepStates.value[index]}`]),
4709
4805
  onClick: ($event) => goToStep(index)
4710
- }, [createElementVNode("div", _hoisted_4$38, [stepStates.value[index] === "completed" ? (openBlock(), createElementBlock("svg", _hoisted_5$36, [..._cache[0] || (_cache[0] = [createElementVNode("path", { d: "M20 6 9 17l-5-5" }, null, -1)])])) : props.showStepNumbers ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [createTextVNode(toDisplayString(index + 1), 1)], 64)) : createCommentVNode("", true)]), createElementVNode("div", _hoisted_6$35, toDisplayString(step.label), 1)], 10, _hoisted_3$39)], 64);
4806
+ }, [createElementVNode("div", _hoisted_4$38, [stepStates.value[index] === "completed" ? (openBlock(), createElementBlock("svg", _hoisted_5$36, [..._cache[0] || (_cache[0] = [createElementVNode("path", { d: "M20 6 9 17l-5-5" }, null, -1)])])) : props.showStepNumbers ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [createTextVNode(toDisplayString(index + 1), 1)], 64)) : createCommentVNode("", true)]), createElementVNode("div", _hoisted_6$35, toDisplayString(step.label), 1)], 10, _hoisted_3$38)], 64);
4711
4807
  }), 128))])])])) : createCommentVNode("", true),
4712
4808
  createElementVNode("div", _hoisted_7$31, [(openBlock(true), createElementBlock(Fragment, null, renderList(props.steps, (step, index) => {
4713
4809
  return withDirectives((openBlock(), createElementBlock("div", {
@@ -4751,7 +4847,7 @@ var StepWizard_default = /* @__PURE__ */ defineComponent({
4751
4847
  class: "mint-wizard__nav-btn mint-wizard__nav-btn--finish",
4752
4848
  disabled: stepValidity.value[props.modelValue] === false,
4753
4849
  onClick: finish
4754
- }, " Finish ", 8, _hoisted_11$21))
4850
+ }, " Finish ", 8, _hoisted_11$22))
4755
4851
  ])])
4756
4852
  ], 34);
4757
4853
  };
@@ -4759,15 +4855,15 @@ var StepWizard_default = /* @__PURE__ */ defineComponent({
4759
4855
  });
4760
4856
  //#endregion
4761
4857
  //#region src/components/internal/FormSectionRenderer.vue?vue&type=script&setup=true&lang.ts
4762
- var _hoisted_1$49 = {
4858
+ var _hoisted_1$48 = {
4763
4859
  key: 0,
4764
4860
  class: "mint-form-section"
4765
4861
  };
4766
- var _hoisted_2$42 = {
4862
+ var _hoisted_2$41 = {
4767
4863
  key: 1,
4768
4864
  class: "mint-form-section--static"
4769
4865
  };
4770
- var _hoisted_3$38 = {
4866
+ var _hoisted_3$37 = {
4771
4867
  key: 0,
4772
4868
  class: "mint-form-section__header"
4773
4869
  };
@@ -4792,7 +4888,7 @@ var FormSectionRenderer_default = /* @__PURE__ */ defineComponent({
4792
4888
  const visibleFields = computed(() => props.section.fields.filter((f) => props.builder.isFieldVisible(f.name)));
4793
4889
  const gridStyle = computed(() => ({ gridTemplateColumns: `repeat(${props.section.columns ?? 1}, 1fr)` }));
4794
4890
  return (_ctx, _cache) => {
4795
- return visibleFields.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_1$49, [renderSlot(_ctx.$slots, `section:${__props.section.id}`, {
4891
+ return visibleFields.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_1$48, [renderSlot(_ctx.$slots, `section:${__props.section.id}`, {
4796
4892
  section: __props.section,
4797
4893
  form: __props.builder.form
4798
4894
  }, () => [__props.section.collapsible ? (openBlock(), createBlock(CollapsibleCard_default, {
@@ -4827,7 +4923,7 @@ var FormSectionRenderer_default = /* @__PURE__ */ defineComponent({
4827
4923
  "title",
4828
4924
  "subtitle",
4829
4925
  "default-open"
4830
- ])) : (openBlock(), createElementBlock("div", _hoisted_2$42, [__props.section.title || __props.section.description ? (openBlock(), createElementBlock("div", _hoisted_3$38, [__props.section.title ? (openBlock(), createElementBlock("h3", _hoisted_4$37, toDisplayString(__props.section.title), 1)) : createCommentVNode("", true), __props.section.description ? (openBlock(), createElementBlock("p", _hoisted_5$35, toDisplayString(__props.section.description), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true), createElementVNode("div", {
4926
+ ])) : (openBlock(), createElementBlock("div", _hoisted_2$41, [__props.section.title || __props.section.description ? (openBlock(), createElementBlock("div", _hoisted_3$37, [__props.section.title ? (openBlock(), createElementBlock("h3", _hoisted_4$37, toDisplayString(__props.section.title), 1)) : createCommentVNode("", true), __props.section.description ? (openBlock(), createElementBlock("p", _hoisted_5$35, toDisplayString(__props.section.description), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true), createElementVNode("div", {
4831
4927
  class: "mint-form-section__grid",
4832
4928
  style: normalizeStyle(gridStyle.value)
4833
4929
  }, [(openBlock(true), createElementBlock(Fragment, null, renderList(visibleFields.value, (field) => {
@@ -4853,7 +4949,7 @@ var FormSectionRenderer_default = /* @__PURE__ */ defineComponent({
4853
4949
  });
4854
4950
  //#endregion
4855
4951
  //#region src/components/FormActions.vue?vue&type=script&setup=true&lang.ts
4856
- var _hoisted_1$48 = { class: "mint-form-actions" };
4952
+ var _hoisted_1$47 = { class: "mint-form-actions" };
4857
4953
  //#endregion
4858
4954
  //#region src/components/FormActions.vue
4859
4955
  var FormActions_default = /* @__PURE__ */ defineComponent({
@@ -4910,7 +5006,7 @@ var FormActions_default = /* @__PURE__ */ defineComponent({
4910
5006
  */
4911
5007
  const emit = __emit;
4912
5008
  return (_ctx, _cache) => {
4913
- return openBlock(), createElementBlock("div", _hoisted_1$48, [
5009
+ return openBlock(), createElementBlock("div", _hoisted_1$47, [
4914
5010
  __props.showCancel ? (openBlock(), createBlock(BaseButton_default, {
4915
5011
  key: 0,
4916
5012
  variant: "ghost",
@@ -4955,7 +5051,7 @@ var FormActions_default = /* @__PURE__ */ defineComponent({
4955
5051
  });
4956
5052
  //#endregion
4957
5053
  //#region src/components/FormBuilder.vue?vue&type=script&setup=true&lang.ts
4958
- var _hoisted_1$47 = { class: "mint-form-builder__step" };
5054
+ var _hoisted_1$46 = { class: "mint-form-builder__step" };
4959
5055
  //#endregion
4960
5056
  //#region src/components/FormBuilder.vue
4961
5057
  var FormBuilder_default = /* @__PURE__ */ defineComponent({
@@ -5099,7 +5195,7 @@ var FormBuilder_default = /* @__PURE__ */ defineComponent({
5099
5195
  }, createSlots({ _: 2 }, [renderList(resolvedSchema.value.steps, (step) => {
5100
5196
  return {
5101
5197
  name: `step-${step.id}`,
5102
- fn: withCtx(() => [createElementVNode("div", _hoisted_1$47, [(openBlock(true), createElementBlock(Fragment, null, renderList(step.sections, (section) => {
5198
+ fn: withCtx(() => [createElementVNode("div", _hoisted_1$46, [(openBlock(true), createElementBlock(Fragment, null, renderList(step.sections, (section) => {
5103
5199
  return openBlock(), createElementBlock(Fragment, { key: section.id }, [unref(builder).isSectionVisible(section.id) ? (openBlock(), createBlock(FormSectionRenderer_default, {
5104
5200
  key: 0,
5105
5201
  section,
@@ -5186,15 +5282,15 @@ var FormBuilder_default = /* @__PURE__ */ defineComponent({
5186
5282
  });
5187
5283
  //#endregion
5188
5284
  //#region src/components/AppSidebar.vue?vue&type=script&setup=true&lang.ts
5189
- var _hoisted_1$46 = {
5285
+ var _hoisted_1$45 = {
5190
5286
  key: 0,
5191
5287
  class: "mint-sidebar__header"
5192
5288
  };
5193
- var _hoisted_2$41 = {
5289
+ var _hoisted_2$40 = {
5194
5290
  key: 0,
5195
5291
  class: "mint-sidebar__heading"
5196
5292
  };
5197
- var _hoisted_3$37 = { class: "mint-sidebar__heading-copy" };
5293
+ var _hoisted_3$36 = { class: "mint-sidebar__heading-copy" };
5198
5294
  var _hoisted_4$36 = {
5199
5295
  key: 0,
5200
5296
  class: "mint-sidebar__title"
@@ -5215,8 +5311,34 @@ var _hoisted_9$25 = {
5215
5311
  };
5216
5312
  var _hoisted_10$23 = {
5217
5313
  key: 3,
5314
+ class: "mint-sidebar__collapsed mint-sidebar__collapsed--default"
5315
+ };
5316
+ var _hoisted_11$21 = ["aria-label", "title"];
5317
+ var _hoisted_12$20 = {
5318
+ key: 0,
5319
+ class: "mint-sidebar__rail-svg",
5320
+ viewBox: "0 0 24 24",
5321
+ fill: "none",
5322
+ stroke: "currentColor",
5323
+ "stroke-width": "2",
5324
+ "stroke-linecap": "round",
5325
+ "stroke-linejoin": "round",
5326
+ "aria-hidden": "true"
5327
+ };
5328
+ var _hoisted_13$20 = ["d"];
5329
+ var _hoisted_14$17 = ["d"];
5330
+ var _hoisted_15$16 = {
5331
+ key: 1,
5332
+ class: "mint-sidebar__rail-text-icon"
5333
+ };
5334
+ var _hoisted_16$14 = {
5335
+ key: 4,
5218
5336
  class: "mint-sidebar__footer"
5219
5337
  };
5338
+ var _hoisted_17$14 = {
5339
+ key: 5,
5340
+ class: "mint-sidebar__footer mint-sidebar__footer--collapsed"
5341
+ };
5220
5342
  //#endregion
5221
5343
  //#region src/components/AppSidebar.vue
5222
5344
  var AppSidebar_default = /* @__PURE__ */ defineComponent({
@@ -5292,6 +5414,7 @@ var AppSidebar_default = /* @__PURE__ */ defineComponent({
5292
5414
  "update:modelValue",
5293
5415
  "update:values",
5294
5416
  "update:collapsed",
5417
+ "section-action",
5295
5418
  "form-submit",
5296
5419
  "form-cancel"
5297
5420
  ],
@@ -5407,6 +5530,25 @@ var AppSidebar_default = /* @__PURE__ */ defineComponent({
5407
5530
  function expandCollapsed() {
5408
5531
  collapsedModel.value = false;
5409
5532
  }
5533
+ function handleSectionAction(sectionId, actionId) {
5534
+ emit("section-action", sectionId, actionId);
5535
+ }
5536
+ function isSvgIcon(icon) {
5537
+ if (!icon) return false;
5538
+ return Array.isArray(icon) || icon.startsWith("M") || icon.startsWith("m");
5539
+ }
5540
+ function sectionInitial(section) {
5541
+ return section.label.trim().charAt(0).toUpperCase() || "?";
5542
+ }
5543
+ function railIconStyle(section) {
5544
+ return {
5545
+ backgroundColor: section.iconBg ?? "var(--color-primary-soft)",
5546
+ color: section.iconColor ?? "var(--color-primary)"
5547
+ };
5548
+ }
5549
+ function badgeToneClass(section) {
5550
+ return `mint-sidebar__rail-badge--${section.badgeTone ?? "cta"}`;
5551
+ }
5410
5552
  function mergeSidebarPanels(generated, explicit) {
5411
5553
  const merged = {};
5412
5554
  const viewIds = new Set([...Object.keys(generated), ...Object.keys(explicit)]);
@@ -5427,10 +5569,10 @@ var AppSidebar_default = /* @__PURE__ */ defineComponent({
5427
5569
  class: normalizeClass(sidebarClasses.value),
5428
5570
  style: normalizeStyle(sidebarStyle.value)
5429
5571
  }, [
5430
- _ctx.$slots.header || __props.title || __props.subtitle || __props.badge !== void 0 || resolvedCollapsible.value ? (openBlock(), createElementBlock("div", _hoisted_1$46, [renderSlot(_ctx.$slots, "header", {
5572
+ _ctx.$slots.header || __props.title || __props.subtitle || __props.badge !== void 0 || resolvedCollapsible.value ? (openBlock(), createElementBlock("div", _hoisted_1$45, [renderSlot(_ctx.$slots, "header", {
5431
5573
  collapsed: collapsedModel.value,
5432
5574
  toggleCollapsed
5433
- }, () => [!collapsedModel.value ? (openBlock(), createElementBlock("div", _hoisted_2$41, [createElementVNode("div", _hoisted_3$37, [__props.title ? (openBlock(), createElementBlock("h2", _hoisted_4$36, toDisplayString(__props.title), 1)) : createCommentVNode("", true), __props.subtitle ? (openBlock(), createElementBlock("p", _hoisted_5$34, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)]), __props.badge !== void 0 ? (openBlock(), createElementBlock("span", _hoisted_6$34, toDisplayString(__props.badge), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true), resolvedCollapsible.value ? (openBlock(), createElementBlock("button", {
5575
+ }, () => [!collapsedModel.value ? (openBlock(), createElementBlock("div", _hoisted_2$40, [createElementVNode("div", _hoisted_3$36, [__props.title ? (openBlock(), createElementBlock("h2", _hoisted_4$36, toDisplayString(__props.title), 1)) : createCommentVNode("", true), __props.subtitle ? (openBlock(), createElementBlock("p", _hoisted_5$34, toDisplayString(__props.subtitle), 1)) : createCommentVNode("", true)]), __props.badge !== void 0 ? (openBlock(), createElementBlock("span", _hoisted_6$34, toDisplayString(__props.badge), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true), resolvedCollapsible.value ? (openBlock(), createElementBlock("button", {
5434
5576
  key: 1,
5435
5577
  type: "button",
5436
5578
  class: "mint-sidebar__collapse-button",
@@ -5459,10 +5601,14 @@ var AppSidebar_default = /* @__PURE__ */ defineComponent({
5459
5601
  icon: section.icon,
5460
5602
  "icon-color": section.iconColor,
5461
5603
  "icon-bg": section.iconBg,
5604
+ badge: section.badge,
5605
+ "badge-tone": section.badgeTone,
5606
+ actions: section.actions,
5462
5607
  dense: __props.dense,
5463
5608
  "default-open": section.defaultOpen !== false,
5464
5609
  "show-toggle": section.showToggle,
5465
5610
  "toggle-value": __props.toggleState[section.id] ?? false,
5611
+ onAction: ($event) => handleSectionAction(section.id, $event),
5466
5612
  "onUpdate:toggleValue": ($event) => emit("update:toggle", section.id, $event)
5467
5613
  }, {
5468
5614
  default: withCtx(() => [renderSlot(_ctx.$slots, `section-${section.id}`, {}, () => [resolvedForms.value[section.id] ? (openBlock(), createBlock(FormBuilder_default, {
@@ -5497,10 +5643,14 @@ var AppSidebar_default = /* @__PURE__ */ defineComponent({
5497
5643
  "icon",
5498
5644
  "icon-color",
5499
5645
  "icon-bg",
5646
+ "badge",
5647
+ "badge-tone",
5648
+ "actions",
5500
5649
  "dense",
5501
5650
  "default-open",
5502
5651
  "show-toggle",
5503
5652
  "toggle-value",
5653
+ "onAction",
5504
5654
  "onUpdate:toggleValue"
5505
5655
  ]);
5506
5656
  }), 128)), renderSlot(_ctx.$slots, "default", {
@@ -5510,20 +5660,43 @@ var AppSidebar_default = /* @__PURE__ */ defineComponent({
5510
5660
  })], 8, _hoisted_8$27)) : _ctx.$slots.collapsed ? (openBlock(), createElementBlock("div", _hoisted_9$25, [renderSlot(_ctx.$slots, "collapsed", {
5511
5661
  sections: activeSections.value,
5512
5662
  expand: expandCollapsed
5513
- })])) : createCommentVNode("", true),
5514
- !collapsedModel.value && _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_10$23, [renderSlot(_ctx.$slots, "footer")])) : createCommentVNode("", true)
5663
+ })])) : (openBlock(), createElementBlock("div", _hoisted_10$23, [(openBlock(true), createElementBlock(Fragment, null, renderList(activeSections.value, (section) => {
5664
+ return openBlock(), createElementBlock("button", {
5665
+ key: section.id,
5666
+ type: "button",
5667
+ class: "mint-sidebar__rail-item",
5668
+ "aria-label": `Expand ${section.label}`,
5669
+ title: section.label,
5670
+ onClick: expandCollapsed
5671
+ }, [createElementVNode("span", {
5672
+ class: "mint-sidebar__rail-icon",
5673
+ style: normalizeStyle(railIconStyle(section))
5674
+ }, [section.icon && isSvgIcon(section.icon) ? (openBlock(), createElementBlock("svg", _hoisted_12$20, [Array.isArray(section.icon) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(section.icon, (d, i) => {
5675
+ return openBlock(), createElementBlock("path", {
5676
+ key: i,
5677
+ d
5678
+ }, null, 8, _hoisted_13$20);
5679
+ }), 128)) : (openBlock(), createElementBlock("path", {
5680
+ key: 1,
5681
+ d: section.icon
5682
+ }, null, 8, _hoisted_14$17))])) : (openBlock(), createElementBlock("span", _hoisted_15$16, toDisplayString(section.icon || sectionInitial(section)), 1))], 4), section.badge !== void 0 ? (openBlock(), createElementBlock("span", {
5683
+ key: 0,
5684
+ class: normalizeClass(["mint-sidebar__rail-badge", badgeToneClass(section)])
5685
+ }, toDisplayString(section.badge), 3)) : createCommentVNode("", true)], 8, _hoisted_11$21);
5686
+ }), 128))])),
5687
+ !collapsedModel.value && _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_16$14, [renderSlot(_ctx.$slots, "footer")])) : collapsedModel.value && _ctx.$slots["collapsed-footer"] ? (openBlock(), createElementBlock("div", _hoisted_17$14, [renderSlot(_ctx.$slots, "collapsed-footer")])) : createCommentVNode("", true)
5515
5688
  ], 6);
5516
5689
  };
5517
5690
  }
5518
5691
  });
5519
5692
  //#endregion
5520
5693
  //#region src/components/AppLayout.vue?vue&type=script&setup=true&lang.ts
5521
- var _hoisted_1$45 = {
5694
+ var _hoisted_1$44 = {
5522
5695
  key: 0,
5523
5696
  class: "mint-layout__topbar"
5524
5697
  };
5525
- var _hoisted_2$40 = { class: "mint-layout__body" };
5526
- var _hoisted_3$36 = ["aria-label", "aria-expanded"];
5698
+ var _hoisted_2$39 = { class: "mint-layout__body" };
5699
+ var _hoisted_3$35 = ["aria-label", "aria-expanded"];
5527
5700
  var _hoisted_4$35 = {
5528
5701
  key: 0,
5529
5702
  class: "mint-layout__sidebar-toggle-icon",
@@ -5624,7 +5797,7 @@ var AppLayout_default = /* @__PURE__ */ defineComponent({
5624
5797
  sidebarOpenModel.value = false;
5625
5798
  }
5626
5799
  return (_ctx, _cache) => {
5627
- return openBlock(), createElementBlock("div", { class: normalizeClass(layoutClasses.value) }, [_ctx.$slots.topbar ? (openBlock(), createElementBlock("div", _hoisted_1$45, [renderSlot(_ctx.$slots, "topbar")])) : createCommentVNode("", true), createElementVNode("div", _hoisted_2$40, [
5800
+ return openBlock(), createElementBlock("div", { class: normalizeClass(layoutClasses.value) }, [_ctx.$slots.topbar ? (openBlock(), createElementBlock("div", _hoisted_1$44, [renderSlot(_ctx.$slots, "topbar")])) : createCommentVNode("", true), createElementVNode("div", _hoisted_2$39, [
5628
5801
  __props.responsiveSidebar && _ctx.$slots.sidebar ? (openBlock(), createElementBlock("button", {
5629
5802
  key: 0,
5630
5803
  type: "button",
@@ -5632,7 +5805,7 @@ var AppLayout_default = /* @__PURE__ */ defineComponent({
5632
5805
  "aria-label": sidebarOpenModel.value ? __props.sidebarCloseLabel : __props.sidebarToggleLabel,
5633
5806
  "aria-expanded": sidebarOpenModel.value,
5634
5807
  onClick: toggleSidebar
5635
- }, [!sidebarOpenModel.value ? (openBlock(), createElementBlock("svg", _hoisted_4$35, [..._cache[0] || (_cache[0] = [createElementVNode("path", { d: "M4 6h16M4 12h16M4 18h16" }, null, -1)])])) : (openBlock(), createElementBlock("svg", _hoisted_5$33, [..._cache[1] || (_cache[1] = [createElementVNode("path", { d: "M6 18 18 6M6 6l12 12" }, null, -1)])]))], 8, _hoisted_3$36)) : createCommentVNode("", true),
5808
+ }, [!sidebarOpenModel.value ? (openBlock(), createElementBlock("svg", _hoisted_4$35, [..._cache[0] || (_cache[0] = [createElementVNode("path", { d: "M4 6h16M4 12h16M4 18h16" }, null, -1)])])) : (openBlock(), createElementBlock("svg", _hoisted_5$33, [..._cache[1] || (_cache[1] = [createElementVNode("path", { d: "M6 18 18 6M6 6l12 12" }, null, -1)])]))], 8, _hoisted_3$35)) : createCommentVNode("", true),
5636
5809
  __props.responsiveSidebar && _ctx.$slots.sidebar && sidebarOpenModel.value ? (openBlock(), createElementBlock("div", {
5637
5810
  key: 1,
5638
5811
  class: "mint-layout__sidebar-backdrop",
@@ -5792,6 +5965,7 @@ var topBarForwardedSlots = new Set([
5792
5965
  var sidebarForwardedSlots = new Set([
5793
5966
  "header",
5794
5967
  "collapsed",
5968
+ "collapsed-footer",
5795
5969
  "footer"
5796
5970
  ]);
5797
5971
  function getPluginWorkspaceTopBarSlotNames(slots) {
@@ -5965,6 +6139,7 @@ var PluginWorkspaceView_default = /* @__PURE__ */ defineComponent({
5965
6139
  "update:values",
5966
6140
  "update:sidebarCollapsed",
5967
6141
  "update:toggle",
6142
+ "section-action",
5968
6143
  "form-submit",
5969
6144
  "form-cancel"
5970
6145
  ],
@@ -6179,6 +6354,7 @@ var PluginWorkspaceView_default = /* @__PURE__ */ defineComponent({
6179
6354
  "onUpdate:modelValue": unref(handleControlValuesUpdate),
6180
6355
  "onUpdate:collapsed": _cache[8] || (_cache[8] = ($event) => emit("update:sidebarCollapsed", $event)),
6181
6356
  "onUpdate:toggle": handleToggle,
6357
+ onSectionAction: _cache[9] || (_cache[9] = (sectionId, actionId) => emit("section-action", sectionId, actionId)),
6182
6358
  onFormSubmit: handleFormSubmit,
6183
6359
  onFormCancel: handleFormCancel
6184
6360
  }, createSlots({ _: 2 }, [renderList(sidebarSlotNames.value, (slotName) => {
@@ -6231,9 +6407,9 @@ var PluginWorkspaceView_default = /* @__PURE__ */ defineComponent({
6231
6407
  });
6232
6408
  //#endregion
6233
6409
  //#region src/components/DoseCalculatorVolumeField.vue?vue&type=script&setup=true&lang.ts
6234
- var _hoisted_1$44 = { class: "mint-dose-calculator__field" };
6235
- var _hoisted_2$39 = { class: "mint-dose-calculator__field-label" };
6236
- var _hoisted_3$35 = { class: "mint-dose-calculator__field-row" };
6410
+ var _hoisted_1$43 = { class: "mint-dose-calculator__field" };
6411
+ var _hoisted_2$38 = { class: "mint-dose-calculator__field-label" };
6412
+ var _hoisted_3$34 = { class: "mint-dose-calculator__field-row" };
6237
6413
  var _hoisted_4$34 = ["value", "disabled"];
6238
6414
  var _hoisted_5$32 = ["value", "disabled"];
6239
6415
  var _hoisted_6$32 = ["value"];
@@ -6272,7 +6448,7 @@ var DoseCalculatorVolumeField_default = /* @__PURE__ */ defineComponent({
6272
6448
  });
6273
6449
  }
6274
6450
  return (_ctx, _cache) => {
6275
- return openBlock(), createElementBlock("div", _hoisted_1$44, [createElementVNode("label", _hoisted_2$39, toDisplayString(__props.label), 1), createElementVNode("div", _hoisted_3$35, [createElementVNode("input", {
6451
+ return openBlock(), createElementBlock("div", _hoisted_1$43, [createElementVNode("label", _hoisted_2$38, toDisplayString(__props.label), 1), createElementVNode("div", _hoisted_3$34, [createElementVNode("input", {
6276
6452
  type: "number",
6277
6453
  value: __props.modelValue.value,
6278
6454
  disabled: __props.disabled,
@@ -6296,13 +6472,13 @@ var DoseCalculatorVolumeField_default = /* @__PURE__ */ defineComponent({
6296
6472
  });
6297
6473
  //#endregion
6298
6474
  //#region src/components/DoseCalculator.vue?vue&type=script&setup=true&lang.ts
6299
- var _hoisted_1$43 = {
6475
+ var _hoisted_1$42 = {
6300
6476
  key: 0,
6301
6477
  class: "mint-dose-calculator__tabs",
6302
6478
  role: "tablist"
6303
6479
  };
6304
- var _hoisted_2$38 = ["aria-selected"];
6305
- var _hoisted_3$34 = ["aria-selected"];
6480
+ var _hoisted_2$37 = ["aria-selected"];
6481
+ var _hoisted_3$33 = ["aria-selected"];
6306
6482
  var _hoisted_4$33 = ["aria-selected"];
6307
6483
  var _hoisted_5$31 = {
6308
6484
  key: 1,
@@ -6489,21 +6665,21 @@ var DoseCalculator_default = /* @__PURE__ */ defineComponent({
6489
6665
  });
6490
6666
  return (_ctx, _cache) => {
6491
6667
  return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-dose-calculator", __props.disabled ? "mint-dose-calculator--disabled" : ""]) }, [
6492
- showTabs.value ? (openBlock(), createElementBlock("div", _hoisted_1$43, [
6668
+ showTabs.value ? (openBlock(), createElementBlock("div", _hoisted_1$42, [
6493
6669
  createElementVNode("button", {
6494
6670
  type: "button",
6495
6671
  class: normalizeClass(["mint-dose-calculator__tab", activeMode.value === "dilution" ? "mint-dose-calculator__tab--active" : ""]),
6496
6672
  role: "tab",
6497
6673
  "aria-selected": activeMode.value === "dilution",
6498
6674
  onClick: _cache[0] || (_cache[0] = ($event) => activeMode.value = "dilution")
6499
- }, " Dilution ", 10, _hoisted_2$38),
6675
+ }, " Dilution ", 10, _hoisted_2$37),
6500
6676
  createElementVNode("button", {
6501
6677
  type: "button",
6502
6678
  class: normalizeClass(["mint-dose-calculator__tab", activeMode.value === "serial" ? "mint-dose-calculator__tab--active" : ""]),
6503
6679
  role: "tab",
6504
6680
  "aria-selected": activeMode.value === "serial",
6505
6681
  onClick: _cache[1] || (_cache[1] = ($event) => activeMode.value = "serial")
6506
- }, " Serial ", 10, _hoisted_3$34),
6682
+ }, " Serial ", 10, _hoisted_3$33),
6507
6683
  createElementVNode("button", {
6508
6684
  type: "button",
6509
6685
  class: normalizeClass(["mint-dose-calculator__tab", activeMode.value === "conversion" ? "mint-dose-calculator__tab--active" : ""]),
@@ -6650,14 +6826,14 @@ function formatProtocolDuration(minutes) {
6650
6826
  }
6651
6827
  //#endregion
6652
6828
  //#region src/components/ExperimentTimeline.vue?vue&type=script&setup=true&lang.ts
6653
- var _hoisted_1$42 = ["aria-label"];
6654
- var _hoisted_2$37 = [
6829
+ var _hoisted_1$41 = ["aria-label"];
6830
+ var _hoisted_2$36 = [
6655
6831
  "draggable",
6656
6832
  "onDragstart",
6657
6833
  "onDragover",
6658
6834
  "onDrop"
6659
6835
  ];
6660
- var _hoisted_3$33 = {
6836
+ var _hoisted_3$32 = {
6661
6837
  key: 0,
6662
6838
  class: "mint-timeline__connector"
6663
6839
  };
@@ -6869,7 +7045,7 @@ var ExperimentTimeline_default = /* @__PURE__ */ defineComponent({
6869
7045
  onDrop: ($event) => handleDrop($event, step),
6870
7046
  onDragend: handleDragEnd
6871
7047
  }, [
6872
- index < sortedSteps.value.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_3$33)) : createCommentVNode("", true),
7048
+ index < sortedSteps.value.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_3$32)) : createCommentVNode("", true),
6873
7049
  createElementVNode("div", {
6874
7050
  class: normalizeClass([
6875
7051
  "mint-timeline__card",
@@ -6982,7 +7158,7 @@ var ExperimentTimeline_default = /* @__PURE__ */ defineComponent({
6982
7158
  })], -1)])], 8, _hoisted_16$12)) : createCommentVNode("", true),
6983
7159
  __props.orientation === "vertical" && index < sortedSteps.value.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_17$12)) : createCommentVNode("", true),
6984
7160
  __props.orientation === "horizontal" && index < sortedSteps.value.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_18$12)) : createCommentVNode("", true)
6985
- ], 40, _hoisted_2$37);
7161
+ ], 40, _hoisted_2$36);
6986
7162
  }), 128)),
6987
7163
  sortedSteps.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_19$12, [createElementVNode("div", _hoisted_20$11, [_cache[5] || (_cache[5] = createElementVNode("p", { class: "mint-timeline__empty-text" }, "No protocol steps defined", -1)), __props.editable ? (openBlock(), createElementBlock("button", {
6988
7164
  key: 0,
@@ -7005,15 +7181,15 @@ var ExperimentTimeline_default = /* @__PURE__ */ defineComponent({
7005
7181
  "stroke-width": "2",
7006
7182
  d: "M12 4v16m8-8H4"
7007
7183
  })], -1)), createElementVNode("span", { class: normalizeClass(`mint-timeline__add-end-text--${__props.size}`) }, "Add Step", 2)], 2)) : createCommentVNode("", true)
7008
- ], 10, _hoisted_1$42);
7184
+ ], 10, _hoisted_1$41);
7009
7185
  };
7010
7186
  }
7011
7187
  });
7012
7188
  //#endregion
7013
7189
  //#region src/components/internal/WellEditPopupInternal.vue?vue&type=script&setup=true&lang.ts
7014
- var _hoisted_1$41 = { class: "mint-well-edit-popup__header" };
7015
- var _hoisted_2$36 = { class: "mint-well-edit-popup__header-left" };
7016
- var _hoisted_3$32 = { class: "mint-well-edit-popup__well-id" };
7190
+ var _hoisted_1$40 = { class: "mint-well-edit-popup__header" };
7191
+ var _hoisted_2$35 = { class: "mint-well-edit-popup__header-left" };
7192
+ var _hoisted_3$31 = { class: "mint-well-edit-popup__well-id" };
7017
7193
  var _hoisted_4$31 = { class: "mint-well-edit-popup__body" };
7018
7194
  var _hoisted_5$29 = { key: 0 };
7019
7195
  var _hoisted_6$29 = { class: "mint-well-edit-popup__row" };
@@ -7133,7 +7309,7 @@ var WellEditPopupInternal_default = /* @__PURE__ */ defineComponent({
7133
7309
  style: normalizeStyle(popupStyle.value),
7134
7310
  onClick: _cache[5] || (_cache[5] = withModifiers(() => {}, ["stop"]))
7135
7311
  }, [
7136
- createElementVNode("div", _hoisted_1$41, [createElementVNode("div", _hoisted_2$36, [createElementVNode("span", _hoisted_3$32, toDisplayString(__props.wellId), 1), _cache[6] || (_cache[6] = createElementVNode("span", { class: "mint-well-edit-popup__title" }, "Edit Well", -1))]), createElementVNode("button", {
7312
+ createElementVNode("div", _hoisted_1$40, [createElementVNode("div", _hoisted_2$35, [createElementVNode("span", _hoisted_3$31, toDisplayString(__props.wellId), 1), _cache[6] || (_cache[6] = createElementVNode("span", { class: "mint-well-edit-popup__title" }, "Edit Well", -1))]), createElementVNode("button", {
7137
7313
  class: "mint-well-edit-popup__close",
7138
7314
  onClick: close
7139
7315
  }, [..._cache[7] || (_cache[7] = [createElementVNode("svg", {
@@ -7832,9 +8008,9 @@ var DEFAULT_WELL_LEGEND_ITEMS = [
7832
8008
  ];
7833
8009
  //#endregion
7834
8010
  //#region src/components/WellPlate.vue?vue&type=script&setup=true&lang.ts
7835
- var _hoisted_1$40 = { class: "mint-well-plate__scroll" };
7836
- var _hoisted_2$35 = { class: "mint-well-plate__content" };
7837
- var _hoisted_3$31 = ["aria-label"];
8011
+ var _hoisted_1$39 = { class: "mint-well-plate__scroll" };
8012
+ var _hoisted_2$34 = { class: "mint-well-plate__content" };
8013
+ var _hoisted_3$30 = ["aria-label"];
7838
8014
  var _hoisted_4$30 = { key: 0 };
7839
8015
  var _hoisted_5$28 = ["colspan"];
7840
8016
  var _hoisted_6$28 = ["colspan"];
@@ -8056,7 +8232,7 @@ var WellPlate_default = /* @__PURE__ */ defineComponent({
8056
8232
  ref: plateRef,
8057
8233
  class: normalizeClass(["mint-well-plate", isFillMode.value ? "mint-well-plate--fill" : "mint-well-plate--inline"]),
8058
8234
  style: normalizeStyle(containerStyle.value)
8059
- }, [createElementVNode("div", _hoisted_1$40, [createElementVNode("div", _hoisted_2$35, [
8235
+ }, [createElementVNode("div", _hoisted_1$39, [createElementVNode("div", _hoisted_2$34, [
8060
8236
  createElementVNode("table", {
8061
8237
  ref_key: "tableRef",
8062
8238
  ref: tableRef,
@@ -8193,7 +8369,7 @@ var WellPlate_default = /* @__PURE__ */ defineComponent({
8193
8369
  }), 128))
8194
8370
  ]);
8195
8371
  }), 128))])
8196
- ], 12, _hoisted_3$31),
8372
+ ], 12, _hoisted_3$30),
8197
8373
  props.heatmap?.enabled && props.heatmap.showLegend ? (openBlock(), createElementBlock("div", _hoisted_16$11, [
8198
8374
  createElementVNode("span", _hoisted_17$11, toDisplayString(props.heatmap.min ?? 0), 1),
8199
8375
  createElementVNode("div", _hoisted_18$11, [(openBlock(true), createElementBlock(Fragment, null, renderList(props.heatmap.colorScale === "custom" && props.heatmap.customColors?.length ? props.heatmap.customColors : unref(HEATMAP_COLORS)[props.heatmap.colorScale || "viridis"], (color, index) => {
@@ -8251,8 +8427,8 @@ var WellPlate_default = /* @__PURE__ */ defineComponent({
8251
8427
  });
8252
8428
  //#endregion
8253
8429
  //#region src/components/SampleLegend.vue?vue&type=script&setup=true&lang.ts
8254
- var _hoisted_1$39 = ["aria-pressed", "onClick"];
8255
- var _hoisted_2$34 = ["aria-label", "onClick"];
8430
+ var _hoisted_1$38 = ["aria-pressed", "onClick"];
8431
+ var _hoisted_2$33 = ["aria-label", "onClick"];
8256
8432
  //#endregion
8257
8433
  //#region src/components/SampleLegend.vue
8258
8434
  var SampleLegend_default = /* @__PURE__ */ defineComponent({
@@ -8352,8 +8528,8 @@ var SampleLegend_default = /* @__PURE__ */ defineComponent({
8352
8528
  "stroke-linejoin": "round",
8353
8529
  "stroke-width": "2",
8354
8530
  d: "M6 18L18 6M6 6l12 12"
8355
- })], -1)])], 8, _hoisted_2$34)) : createCommentVNode("", true)
8356
- ], 10, _hoisted_1$39);
8531
+ })], -1)])], 8, _hoisted_2$33)) : createCommentVNode("", true)
8532
+ ], 10, _hoisted_1$38);
8357
8533
  }), 128)), __props.editable ? (openBlock(), createElementBlock("button", {
8358
8534
  key: 0,
8359
8535
  type: "button",
@@ -8376,9 +8552,9 @@ var SampleLegend_default = /* @__PURE__ */ defineComponent({
8376
8552
  });
8377
8553
  //#endregion
8378
8554
  //#region src/components/internal/PlateMapEditorToolbarInternal.vue?vue&type=script&setup=true&lang.ts
8379
- var _hoisted_1$38 = { class: "mint-plate-editor__toolbar" };
8380
- var _hoisted_2$33 = { class: "mint-plate-editor__tabs" };
8381
- var _hoisted_3$30 = ["onClick"];
8555
+ var _hoisted_1$37 = { class: "mint-plate-editor__toolbar" };
8556
+ var _hoisted_2$32 = { class: "mint-plate-editor__tabs" };
8557
+ var _hoisted_3$29 = ["onClick"];
8382
8558
  var _hoisted_4$29 = { class: "mint-plate-editor__tab-name" };
8383
8559
  var _hoisted_5$27 = {
8384
8560
  key: 0,
@@ -8415,8 +8591,8 @@ var PlateMapEditorToolbarInternal_default = /* @__PURE__ */ defineComponent({
8415
8591
  const props = __props;
8416
8592
  const emit = __emit;
8417
8593
  return (_ctx, _cache) => {
8418
- return openBlock(), createElementBlock("div", _hoisted_1$38, [
8419
- createElementVNode("div", _hoisted_2$33, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.plates, (plate, index) => {
8594
+ return openBlock(), createElementBlock("div", _hoisted_1$37, [
8595
+ createElementVNode("div", _hoisted_2$32, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.plates, (plate, index) => {
8420
8596
  return openBlock(), createElementBlock("button", {
8421
8597
  key: plate.id,
8422
8598
  type: "button",
@@ -8443,7 +8619,7 @@ var PlateMapEditorToolbarInternal_default = /* @__PURE__ */ defineComponent({
8443
8619
  "stroke-linecap": "round",
8444
8620
  "stroke-linejoin": "round"
8445
8621
  }, [createElementVNode("path", { d: "M18 6 6 18" }), createElementVNode("path", { d: "m6 6 12 12" })], -1)])], 8, _hoisted_6$27)) : createCommentVNode("", true)
8446
- ], 10, _hoisted_3$30);
8622
+ ], 10, _hoisted_3$29);
8447
8623
  }), 128)), __props.canAddPlate ? (openBlock(), createElementBlock("button", {
8448
8624
  key: 0,
8449
8625
  type: "button",
@@ -8530,12 +8706,12 @@ var PlateMapEditorToolbarInternal_default = /* @__PURE__ */ defineComponent({
8530
8706
  });
8531
8707
  //#endregion
8532
8708
  //#region src/components/PlateMapEditor.vue?vue&type=script&setup=true&lang.ts
8533
- var _hoisted_1$37 = { class: "mint-plate-editor__main" };
8534
- var _hoisted_2$32 = {
8709
+ var _hoisted_1$36 = { class: "mint-plate-editor__main" };
8710
+ var _hoisted_2$31 = {
8535
8711
  key: 2,
8536
8712
  class: "mint-plate-editor__selection-bar"
8537
8713
  };
8538
- var _hoisted_3$29 = { class: "mint-plate-editor__selection-count" };
8714
+ var _hoisted_3$28 = { class: "mint-plate-editor__selection-count" };
8539
8715
  var _hoisted_4$28 = {
8540
8716
  key: 0,
8541
8717
  class: "mint-plate-editor__sidebar"
@@ -8734,7 +8910,7 @@ var PlateMapEditor_default = /* @__PURE__ */ defineComponent({
8734
8910
  useEventListener(() => document, "keydown", handleKeyDown);
8735
8911
  return (_ctx, _cache) => {
8736
8912
  return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-plate-editor", { "mint-plate-editor--with-sidebar": __props.showSidebar }]) }, [
8737
- createElementVNode("div", _hoisted_1$37, [
8913
+ createElementVNode("div", _hoisted_1$36, [
8738
8914
  __props.showToolbar ? (openBlock(), createBlock(PlateMapEditorToolbarInternal_default, {
8739
8915
  key: 0,
8740
8916
  plates: unref(editor).plates.value,
@@ -8777,8 +8953,8 @@ var PlateMapEditor_default = /* @__PURE__ */ defineComponent({
8777
8953
  "sample-colors",
8778
8954
  "size"
8779
8955
  ])) : createCommentVNode("", true),
8780
- unref(editor).selectedWells.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_2$32, [
8781
- createElementVNode("span", _hoisted_3$29, [createElementVNode("strong", null, toDisplayString(unref(editor).selectedWells.value.length), 1), _cache[8] || (_cache[8] = createTextVNode(" wells selected ", -1))]),
8956
+ unref(editor).selectedWells.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_2$31, [
8957
+ createElementVNode("span", _hoisted_3$28, [createElementVNode("strong", null, toDisplayString(unref(editor).selectedWells.value.length), 1), _cache[8] || (_cache[8] = createTextVNode(" wells selected ", -1))]),
8782
8958
  _cache[9] || (_cache[9] = createElementVNode("div", { class: "mint-plate-editor__spacer" }, null, -1)),
8783
8959
  unref(editor).activeSampleId.value ? (openBlock(), createElementBlock("button", {
8784
8960
  key: 0,
@@ -8919,9 +9095,9 @@ function getReagentRowClasses(reagent, options) {
8919
9095
  }
8920
9096
  //#endregion
8921
9097
  //#region src/components/ReagentList.vue?vue&type=script&setup=true&lang.ts
8922
- var _hoisted_1$36 = { class: "mint-reagent-list" };
8923
- var _hoisted_2$31 = { class: "mint-reagent-list__header" };
8924
- var _hoisted_3$28 = {
9098
+ var _hoisted_1$35 = { class: "mint-reagent-list" };
9099
+ var _hoisted_2$30 = { class: "mint-reagent-list__header" };
9100
+ var _hoisted_3$27 = {
8925
9101
  key: 0,
8926
9102
  class: "mint-reagent-list__search"
8927
9103
  };
@@ -9170,7 +9346,7 @@ var ReagentList_default = /* @__PURE__ */ defineComponent({
9170
9346
  dragOverId.value = null;
9171
9347
  }
9172
9348
  return (_ctx, _cache) => {
9173
- return openBlock(), createElementBlock("div", _hoisted_1$36, [createElementVNode("div", _hoisted_2$31, [__props.searchable ? (openBlock(), createElementBlock("div", _hoisted_3$28, [_cache[1] || (_cache[1] = createElementVNode("svg", {
9349
+ return openBlock(), createElementBlock("div", _hoisted_1$35, [createElementVNode("div", _hoisted_2$30, [__props.searchable ? (openBlock(), createElementBlock("div", _hoisted_3$27, [_cache[1] || (_cache[1] = createElementVNode("svg", {
9174
9350
  class: "mint-reagent-list__search-icon",
9175
9351
  fill: "none",
9176
9352
  stroke: "currentColor",
@@ -9332,7 +9508,7 @@ var ReagentList_default = /* @__PURE__ */ defineComponent({
9332
9508
  });
9333
9509
  //#endregion
9334
9510
  //#region src/components/LoadingSpinner.vue?vue&type=script&setup=true&lang.ts
9335
- var _hoisted_1$35 = { class: "mint-spinner__label" };
9511
+ var _hoisted_1$34 = { class: "mint-spinner__label" };
9336
9512
  //#endregion
9337
9513
  //#region src/components/LoadingSpinner.vue
9338
9514
  var LoadingSpinner_default = /* @__PURE__ */ defineComponent({
@@ -9367,15 +9543,15 @@ var LoadingSpinner_default = /* @__PURE__ */ defineComponent({
9367
9543
  style: { "opacity": "0.75" },
9368
9544
  fill: "currentColor",
9369
9545
  d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
9370
- })], -1)), createElementVNode("span", _hoisted_1$35, toDisplayString(__props.label), 1)], 2);
9546
+ })], -1)), createElementVNode("span", _hoisted_1$34, toDisplayString(__props.label), 1)], 2);
9371
9547
  };
9372
9548
  }
9373
9549
  });
9374
9550
  //#endregion
9375
9551
  //#region src/components/AutoGroupModal.vue?vue&type=script&setup=true&lang.ts
9376
- var _hoisted_1$34 = { class: "mint-auto-group" };
9377
- var _hoisted_2$30 = { class: "mint-auto-group__input-step" };
9378
- var _hoisted_3$27 = { class: "mint-auto-group__mode-toggle" };
9552
+ var _hoisted_1$33 = { class: "mint-auto-group" };
9553
+ var _hoisted_2$29 = { class: "mint-auto-group__input-step" };
9554
+ var _hoisted_3$26 = { class: "mint-auto-group__mode-toggle" };
9379
9555
  var _hoisted_4$26 = {
9380
9556
  key: 0,
9381
9557
  class: "mint-auto-group__experiment"
@@ -9785,7 +9961,7 @@ var AutoGroupModal_default = /* @__PURE__ */ defineComponent({
9785
9961
  "onUpdate:modelValue": _cache[17] || (_cache[17] = ($event) => emit("update:modelValue", $event)),
9786
9962
  onClose: handleCancel
9787
9963
  }, {
9788
- default: withCtx(() => [createElementVNode("div", _hoisted_1$34, [createVNode(StepWizard_default, {
9964
+ default: withCtx(() => [createElementVNode("div", _hoisted_1$33, [createVNode(StepWizard_default, {
9789
9965
  ref_key: "wizardRef",
9790
9966
  ref: wizardRef,
9791
9967
  modelValue: currentStep.value,
@@ -9794,8 +9970,8 @@ var AutoGroupModal_default = /* @__PURE__ */ defineComponent({
9794
9970
  linear: true,
9795
9971
  size: "sm"
9796
9972
  }, {
9797
- "step-input": withCtx(() => [createElementVNode("div", _hoisted_2$30, [
9798
- createElementVNode("div", _hoisted_3$27, [
9973
+ "step-input": withCtx(() => [createElementVNode("div", _hoisted_2$29, [
9974
+ createElementVNode("div", _hoisted_3$26, [
9799
9975
  __props.experimentId || __props.designData ? (openBlock(), createBlock(BaseButton_default, {
9800
9976
  key: 0,
9801
9977
  variant: unref(autoGroup).inputMode.value === "experiment" ? "primary" : "secondary",
@@ -10208,8 +10384,8 @@ var AutoGroupModal_default = /* @__PURE__ */ defineComponent({
10208
10384
  });
10209
10385
  //#endregion
10210
10386
  //#region src/components/SampleSelectorSampleRow.vue?vue&type=script&setup=true&lang.ts
10211
- var _hoisted_1$33 = ["checked"];
10212
- var _hoisted_2$29 = { class: "mint-sample-selector__sample-name" };
10387
+ var _hoisted_1$32 = ["checked"];
10388
+ var _hoisted_2$28 = { class: "mint-sample-selector__sample-name" };
10213
10389
  //#endregion
10214
10390
  //#region src/components/SampleSelectorSampleRow.vue
10215
10391
  var SampleSelectorSampleRow_default = /* @__PURE__ */ defineComponent({
@@ -10256,8 +10432,8 @@ var SampleSelectorSampleRow_default = /* @__PURE__ */ defineComponent({
10256
10432
  class: normalizeClass(checkboxClasses.value),
10257
10433
  style: normalizeStyle(__props.accentColor ? { accentColor: __props.accentColor } : void 0),
10258
10434
  onChange: _cache[0] || (_cache[0] = ($event) => emit("toggle"))
10259
- }, null, 46, _hoisted_1$33),
10260
- createElementVNode("span", _hoisted_2$29, toDisplayString(__props.sample), 1),
10435
+ }, null, 46, _hoisted_1$32),
10436
+ createElementVNode("span", _hoisted_2$28, toDisplayString(__props.sample), 1),
10261
10437
  __props.removable ? (openBlock(), createElementBlock("button", {
10262
10438
  key: 0,
10263
10439
  type: "button",
@@ -10556,9 +10732,9 @@ function createSampleGroup(name, existingGroups) {
10556
10732
  }
10557
10733
  //#endregion
10558
10734
  //#region src/components/SampleSelector.vue?vue&type=script&setup=true&lang.ts
10559
- var _hoisted_1$32 = { class: "mint-sample-selector" };
10560
- var _hoisted_2$28 = { class: "mint-sample-selector__select-all" };
10561
- var _hoisted_3$26 = ["checked"];
10735
+ var _hoisted_1$31 = { class: "mint-sample-selector" };
10736
+ var _hoisted_2$27 = { class: "mint-sample-selector__select-all" };
10737
+ var _hoisted_3$25 = ["checked"];
10562
10738
  var _hoisted_4$25 = { class: "mint-sample-selector__select-all-count" };
10563
10739
  var _hoisted_5$23 = {
10564
10740
  key: 0,
@@ -10784,14 +10960,14 @@ var SampleSelector_default = /* @__PURE__ */ defineComponent({
10784
10960
  }
10785
10961
  __expose({ handleSmartGroupApply });
10786
10962
  return (_ctx, _cache) => {
10787
- return openBlock(), createElementBlock("div", _hoisted_1$32, [
10788
- createElementVNode("label", _hoisted_2$28, [
10963
+ return openBlock(), createElementBlock("div", _hoisted_1$31, [
10964
+ createElementVNode("label", _hoisted_2$27, [
10789
10965
  createElementVNode("input", {
10790
10966
  type: "checkbox",
10791
10967
  checked: unref(isAllSelected),
10792
10968
  onChange: _cache[0] || (_cache[0] = (...args) => unref(toggleSelectAll) && unref(toggleSelectAll)(...args)),
10793
10969
  class: "mint-sample-selector__checkbox"
10794
- }, null, 40, _hoisted_3$26),
10970
+ }, null, 40, _hoisted_3$25),
10795
10971
  _cache[17] || (_cache[17] = createElementVNode("span", { class: "mint-sample-selector__select-all-label" }, "Select All", -1)),
10796
10972
  createElementVNode("span", _hoisted_4$25, toDisplayString(resolvedSamples.value.length) + " samples", 1)
10797
10973
  ]),
@@ -11453,15 +11629,15 @@ function formatEventTime(event) {
11453
11629
  }
11454
11630
  //#endregion
11455
11631
  //#region src/components/ScheduleCalendar.vue?vue&type=script&setup=true&lang.ts
11456
- var _hoisted_1$31 = {
11632
+ var _hoisted_1$30 = {
11457
11633
  key: 0,
11458
11634
  class: "mint-schedule__header"
11459
11635
  };
11460
- var _hoisted_2$27 = {
11636
+ var _hoisted_2$26 = {
11461
11637
  key: 0,
11462
11638
  class: "mint-schedule__nav"
11463
11639
  };
11464
- var _hoisted_3$25 = { class: "mint-schedule__title" };
11640
+ var _hoisted_3$24 = { class: "mint-schedule__title" };
11465
11641
  var _hoisted_4$24 = {
11466
11642
  key: 1,
11467
11643
  class: "mint-schedule__view-toggle"
@@ -11680,8 +11856,8 @@ var ScheduleCalendar_default = /* @__PURE__ */ defineComponent({
11680
11856
  class: "mint-schedule",
11681
11857
  style: normalizeStyle({ "--slot-height": `${unref(SLOT_HEIGHT)}px` })
11682
11858
  }, [
11683
- __props.showNavigation || __props.showViewToggle ? (openBlock(), createElementBlock("div", _hoisted_1$31, [
11684
- __props.showNavigation ? (openBlock(), createElementBlock("div", _hoisted_2$27, [
11859
+ __props.showNavigation || __props.showViewToggle ? (openBlock(), createElementBlock("div", _hoisted_1$30, [
11860
+ __props.showNavigation ? (openBlock(), createElementBlock("div", _hoisted_2$26, [
11685
11861
  createElementVNode("button", {
11686
11862
  type: "button",
11687
11863
  class: "mint-schedule__nav-btn",
@@ -11714,7 +11890,7 @@ var ScheduleCalendar_default = /* @__PURE__ */ defineComponent({
11714
11890
  onClick: _cache[2] || (_cache[2] = ($event) => navigate("today"))
11715
11891
  }, " Today ")
11716
11892
  ])) : createCommentVNode("", true),
11717
- createElementVNode("span", _hoisted_3$25, toDisplayString(unref(headerTitle)), 1),
11893
+ createElementVNode("span", _hoisted_3$24, toDisplayString(unref(headerTitle)), 1),
11718
11894
  __props.showViewToggle ? (openBlock(), createElementBlock("div", _hoisted_4$24, [(openBlock(), createElementBlock(Fragment, null, renderList([
11719
11895
  "day",
11720
11896
  "week",
@@ -11838,16 +12014,16 @@ var ScheduleCalendar_default = /* @__PURE__ */ defineComponent({
11838
12014
  });
11839
12015
  //#endregion
11840
12016
  //#region src/components/ComponentBindingRenderer.vue?vue&type=script&setup=true&lang.ts
11841
- var _hoisted_1$30 = [
12017
+ var _hoisted_1$29 = [
11842
12018
  "data-component-binding-id",
11843
12019
  "data-template-id",
11844
12020
  "data-template-component"
11845
12021
  ];
11846
- var _hoisted_2$26 = {
12022
+ var _hoisted_2$25 = {
11847
12023
  key: 0,
11848
12024
  class: "mint-component-binding-renderer__header"
11849
12025
  };
11850
- var _hoisted_3$24 = { class: "mint-component-binding-renderer__title-group" };
12026
+ var _hoisted_3$23 = { class: "mint-component-binding-renderer__title-group" };
11851
12027
  var _hoisted_4$23 = { class: "mint-component-binding-renderer__component" };
11852
12028
  var _hoisted_5$21 = {
11853
12029
  key: 0,
@@ -11981,7 +12157,7 @@ var ComponentBindingRenderer_vue_vue_type_script_setup_true_lang_default = /* @_
11981
12157
  "data-component-binding-id": renderableBinding.id,
11982
12158
  "data-template-id": renderableBinding.template_id,
11983
12159
  "data-template-component": renderableBinding.component
11984
- }, [__props.showHeaders ? (openBlock(), createElementBlock("header", _hoisted_2$26, [createElementVNode("div", _hoisted_3$24, [createElementVNode("p", _hoisted_4$23, toDisplayString(renderableBinding.component), 1), renderableBinding.template_id || renderableBinding.id ? (openBlock(), createElementBlock("p", _hoisted_5$21, toDisplayString(renderableBinding.template_id ?? renderableBinding.id), 1)) : createCommentVNode("", true)]), __props.showDescriptions && renderableBinding.description ? (openBlock(), createElementBlock("p", _hoisted_6$21, toDisplayString(renderableBinding.description), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true), createElementVNode("div", _hoisted_7$19, [(openBlock(), createBlock(resolveDynamicComponent(renderableBinding.componentImpl), mergeProps({ ref_for: true }, renderableBinding.normalizedProps), null, 16))])], 8, _hoisted_1$30);
12160
+ }, [__props.showHeaders ? (openBlock(), createElementBlock("header", _hoisted_2$25, [createElementVNode("div", _hoisted_3$23, [createElementVNode("p", _hoisted_4$23, toDisplayString(renderableBinding.component), 1), renderableBinding.template_id || renderableBinding.id ? (openBlock(), createElementBlock("p", _hoisted_5$21, toDisplayString(renderableBinding.template_id ?? renderableBinding.id), 1)) : createCommentVNode("", true)]), __props.showDescriptions && renderableBinding.description ? (openBlock(), createElementBlock("p", _hoisted_6$21, toDisplayString(renderableBinding.description), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true), createElementVNode("div", _hoisted_7$19, [(openBlock(), createBlock(resolveDynamicComponent(renderableBinding.componentImpl), mergeProps({ ref_for: true }, renderableBinding.normalizedProps), null, 16))])], 8, _hoisted_1$29);
11985
12161
  }), 128)), renderableBindings.value.length === 0 ? (openBlock(), createElementBlock("p", _hoisted_8$16, toDisplayString(__props.emptyText), 1)) : createCommentVNode("", true)], 2);
11986
12162
  };
11987
12163
  }
@@ -11998,7 +12174,7 @@ var _plugin_vue_export_helper_default = (sfc, props) => {
11998
12174
  var ComponentBindingRenderer_default = /* @__PURE__ */ _plugin_vue_export_helper_default(ComponentBindingRenderer_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-93f5795f"]]);
11999
12175
  //#endregion
12000
12176
  //#region src/components/ControlWorkspaceView.vue?vue&type=script&setup=true&lang.ts
12001
- var _hoisted_1$29 = { class: "mint-control-workspace-view__content" };
12177
+ var _hoisted_1$28 = { class: "mint-control-workspace-view__content" };
12002
12178
  //#endregion
12003
12179
  //#region src/components/ControlWorkspaceView.vue
12004
12180
  var ControlWorkspaceView_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -12220,7 +12396,7 @@ var ControlWorkspaceView_default = /* @__PURE__ */ _plugin_vue_export_helper_def
12220
12396
  "form-disabled",
12221
12397
  "form-readonly"
12222
12398
  ])], true)]),
12223
- default: withCtx(() => [createElementVNode("main", _hoisted_1$29, [renderSlot(_ctx.$slots, "default", {
12399
+ default: withCtx(() => [createElementVNode("main", _hoisted_1$28, [renderSlot(_ctx.$slots, "default", {
12224
12400
  workspace: resolvedWorkspace.value,
12225
12401
  bindings: resolvedBindings.value,
12226
12402
  values: resolvedWorkspace.value.values,
@@ -12257,7 +12433,7 @@ var ControlWorkspaceView_default = /* @__PURE__ */ _plugin_vue_export_helper_def
12257
12433
  }), [["__scopeId", "data-v-83e93e6c"]]);
12258
12434
  //#endregion
12259
12435
  //#region src/components/DoseDesignWorkspaceView.vue?vue&type=script&setup=true&lang.ts
12260
- var _hoisted_1$28 = { class: "mint-dose-design-workspace" };
12436
+ var _hoisted_1$27 = { class: "mint-dose-design-workspace" };
12261
12437
  //#endregion
12262
12438
  //#region src/components/DoseDesignWorkspaceView.vue
12263
12439
  var DoseDesignWorkspaceView_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -12388,7 +12564,7 @@ var DoseDesignWorkspaceView_default = /* @__PURE__ */ _plugin_vue_export_helper_
12388
12564
  onSubmit: _cache[2] || (_cache[2] = ($event) => emit("submit", $event)),
12389
12565
  onCancel: _cache[3] || (_cache[3] = ($event) => emit("cancel"))
12390
12566
  }, {
12391
- default: withCtx((workspaceSlotProps) => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps(workspaceSlotProps))), () => [createElementVNode("div", _hoisted_1$28, [renderSlot(_ctx.$slots, "plate", normalizeProps(guardReactiveProps(slotProps(workspaceSlotProps))), () => [createVNode(WellPlate_default, normalizeProps(guardReactiveProps(wellPlateBinding(workspaceSlotProps.componentPropsById))), null, 16)], true), renderSlot(_ctx.$slots, "dose", normalizeProps(guardReactiveProps(slotProps(workspaceSlotProps))), () => [createVNode(DoseCalculator_default, normalizeProps(guardReactiveProps(doseCalculatorBinding(workspaceSlotProps.componentPropsById))), null, 16)], true)])], true)]),
12567
+ default: withCtx((workspaceSlotProps) => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps(workspaceSlotProps))), () => [createElementVNode("div", _hoisted_1$27, [renderSlot(_ctx.$slots, "plate", normalizeProps(guardReactiveProps(slotProps(workspaceSlotProps))), () => [createVNode(WellPlate_default, normalizeProps(guardReactiveProps(wellPlateBinding(workspaceSlotProps.componentPropsById))), null, 16)], true), renderSlot(_ctx.$slots, "dose", normalizeProps(guardReactiveProps(slotProps(workspaceSlotProps))), () => [createVNode(DoseCalculator_default, normalizeProps(guardReactiveProps(doseCalculatorBinding(workspaceSlotProps.componentPropsById))), null, 16)], true)])], true)]),
12392
12568
  _: 3
12393
12569
  }, 8, [
12394
12570
  "model",
@@ -12446,11 +12622,11 @@ var AppContainer_default = /* @__PURE__ */ defineComponent({
12446
12622
  });
12447
12623
  //#endregion
12448
12624
  //#region src/components/Divider.vue?vue&type=script&setup=true&lang.ts
12449
- var _hoisted_1$27 = {
12625
+ var _hoisted_1$26 = {
12450
12626
  key: 0,
12451
12627
  class: "mint-divider__line"
12452
12628
  };
12453
- var _hoisted_2$25 = { class: "mint-divider__label" };
12629
+ var _hoisted_2$24 = { class: "mint-divider__label" };
12454
12630
  //#endregion
12455
12631
  //#region src/components/Divider.vue
12456
12632
  var Divider_default = /* @__PURE__ */ defineComponent({
@@ -12486,8 +12662,8 @@ var Divider_default = /* @__PURE__ */ defineComponent({
12486
12662
  role: "separator",
12487
12663
  "aria-orientation": "horizontal"
12488
12664
  }, [__props.label ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
12489
- __props.align === "center" ? (openBlock(), createElementBlock("span", _hoisted_1$27)) : createCommentVNode("", true),
12490
- createElementVNode("span", _hoisted_2$25, toDisplayString(__props.label), 1),
12665
+ __props.align === "center" ? (openBlock(), createElementBlock("span", _hoisted_1$26)) : createCommentVNode("", true),
12666
+ createElementVNode("span", _hoisted_2$24, toDisplayString(__props.label), 1),
12491
12667
  _cache[0] || (_cache[0] = createElementVNode("span", { class: "mint-divider__line" }, null, -1))
12492
12668
  ], 64)) : createCommentVNode("", true)], 2));
12493
12669
  };
@@ -12495,8 +12671,8 @@ var Divider_default = /* @__PURE__ */ defineComponent({
12495
12671
  });
12496
12672
  //#endregion
12497
12673
  //#region src/components/StatusIndicator.vue?vue&type=script&setup=true&lang.ts
12498
- var _hoisted_1$26 = { class: "mint-status" };
12499
- var _hoisted_2$24 = {
12674
+ var _hoisted_1$25 = { class: "mint-status" };
12675
+ var _hoisted_2$23 = {
12500
12676
  key: 0,
12501
12677
  class: "mint-status__label"
12502
12678
  };
@@ -12521,28 +12697,28 @@ var StatusIndicator_default = /* @__PURE__ */ defineComponent({
12521
12697
  color: props.color
12522
12698
  } : {});
12523
12699
  return (_ctx, _cache) => {
12524
- return openBlock(), createElementBlock("span", _hoisted_1$26, [createElementVNode("span", {
12700
+ return openBlock(), createElementBlock("span", _hoisted_1$25, [createElementVNode("span", {
12525
12701
  class: normalizeClass([
12526
12702
  "mint-status__dot",
12527
12703
  { [`mint-status__dot--${__props.status}`]: !__props.color },
12528
12704
  { "mint-status__dot--pulse": __props.pulse }
12529
12705
  ]),
12530
12706
  style: normalizeStyle(dotStyle.value)
12531
- }, null, 6), __props.label ? (openBlock(), createElementBlock("span", _hoisted_2$24, toDisplayString(__props.label), 1)) : createCommentVNode("", true)]);
12707
+ }, null, 6), __props.label ? (openBlock(), createElementBlock("span", _hoisted_2$23, toDisplayString(__props.label), 1)) : createCommentVNode("", true)]);
12532
12708
  };
12533
12709
  }
12534
12710
  });
12535
12711
  //#endregion
12536
12712
  //#region src/components/ProgressBar.vue?vue&type=script&setup=true&lang.ts
12537
- var _hoisted_1$25 = {
12713
+ var _hoisted_1$24 = {
12538
12714
  key: 0,
12539
12715
  class: "mint-progress__header"
12540
12716
  };
12541
- var _hoisted_2$23 = {
12717
+ var _hoisted_2$22 = {
12542
12718
  key: 0,
12543
12719
  class: "mint-progress__label"
12544
12720
  };
12545
- var _hoisted_3$23 = {
12721
+ var _hoisted_3$22 = {
12546
12722
  key: 1,
12547
12723
  class: "mint-progress__value"
12548
12724
  };
@@ -12598,9 +12774,9 @@ var ProgressBar_default = /* @__PURE__ */ defineComponent({
12598
12774
  const segmentCount = computed(() => props.steps.length || 0);
12599
12775
  return (_ctx, _cache) => {
12600
12776
  return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-progress", `mint-progress--${__props.variant}`]) }, [
12601
- __props.label || __props.showValue ? (openBlock(), createElementBlock("div", _hoisted_1$25, [
12602
- __props.label ? (openBlock(), createElementBlock("span", _hoisted_2$23, toDisplayString(__props.label), 1)) : createCommentVNode("", true),
12603
- __props.showValue && !__props.indeterminate && __props.variant === "rail" ? (openBlock(), createElementBlock("span", _hoisted_3$23, toDisplayString(clampedValue.value) + "%", 1)) : createCommentVNode("", true),
12777
+ __props.label || __props.showValue ? (openBlock(), createElementBlock("div", _hoisted_1$24, [
12778
+ __props.label ? (openBlock(), createElementBlock("span", _hoisted_2$22, toDisplayString(__props.label), 1)) : createCommentVNode("", true),
12779
+ __props.showValue && !__props.indeterminate && __props.variant === "rail" ? (openBlock(), createElementBlock("span", _hoisted_3$22, toDisplayString(clampedValue.value) + "%", 1)) : createCommentVNode("", true),
12604
12780
  __props.showValue && __props.variant === "segmented" && segmentCount.value ? (openBlock(), createElementBlock("span", _hoisted_4$22, toDisplayString(__props.currentStep) + " / " + toDisplayString(segmentCount.value), 1)) : createCommentVNode("", true)
12605
12781
  ])) : createCommentVNode("", true),
12606
12782
  __props.variant === "rail" ? (openBlock(), createElementBlock("div", {
@@ -12652,9 +12828,9 @@ var ProgressBar_default = /* @__PURE__ */ defineComponent({
12652
12828
  });
12653
12829
  //#endregion
12654
12830
  //#region src/components/Avatar.vue?vue&type=script&setup=true&lang.ts
12655
- var _hoisted_1$24 = ["aria-label"];
12656
- var _hoisted_2$22 = ["src", "alt"];
12657
- var _hoisted_3$22 = {
12831
+ var _hoisted_1$23 = ["aria-label"];
12832
+ var _hoisted_2$21 = ["src", "alt"];
12833
+ var _hoisted_3$21 = {
12658
12834
  key: 1,
12659
12835
  class: "mint-avatar__initials"
12660
12836
  };
@@ -12711,22 +12887,22 @@ var Avatar_default = /* @__PURE__ */ defineComponent({
12711
12887
  src: __props.src,
12712
12888
  alt: __props.alt || __props.name || "",
12713
12889
  class: "mint-avatar__image"
12714
- }, null, 8, _hoisted_2$22)) : computedInitials.value ? (openBlock(), createElementBlock("span", _hoisted_3$22, toDisplayString(computedInitials.value), 1)) : (openBlock(), createElementBlock("svg", _hoisted_4$21, [..._cache[0] || (_cache[0] = [createElementVNode("path", { d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" }, null, -1)])]))], 4), __props.status ? (openBlock(), createElementBlock("span", {
12890
+ }, null, 8, _hoisted_2$21)) : computedInitials.value ? (openBlock(), createElementBlock("span", _hoisted_3$21, toDisplayString(computedInitials.value), 1)) : (openBlock(), createElementBlock("svg", _hoisted_4$21, [..._cache[0] || (_cache[0] = [createElementVNode("path", { d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" }, null, -1)])]))], 4), __props.status ? (openBlock(), createElementBlock("span", {
12715
12891
  key: 0,
12716
12892
  class: normalizeClass(["mint-avatar__status", `mint-avatar__status--${__props.status}`]),
12717
12893
  "aria-hidden": "true"
12718
- }, null, 2)) : createCommentVNode("", true)], 10, _hoisted_1$24);
12894
+ }, null, 2)) : createCommentVNode("", true)], 10, _hoisted_1$23);
12719
12895
  };
12720
12896
  }
12721
12897
  });
12722
12898
  //#endregion
12723
12899
  //#region src/components/Breadcrumb.vue?vue&type=script&setup=true&lang.ts
12724
- var _hoisted_1$23 = {
12900
+ var _hoisted_1$22 = {
12725
12901
  class: "mint-breadcrumb",
12726
12902
  "aria-label": "Breadcrumb"
12727
12903
  };
12728
- var _hoisted_2$21 = { class: "mint-breadcrumb__list" };
12729
- var _hoisted_3$21 = ["href"];
12904
+ var _hoisted_2$20 = { class: "mint-breadcrumb__list" };
12905
+ var _hoisted_3$20 = ["href"];
12730
12906
  var _hoisted_4$20 = ["onClick"];
12731
12907
  var _hoisted_5$19 = {
12732
12908
  key: 2,
@@ -12766,7 +12942,7 @@ var Breadcrumb_default = /* @__PURE__ */ defineComponent({
12766
12942
  if (!item.href) emit("navigate", item);
12767
12943
  }
12768
12944
  return (_ctx, _cache) => {
12769
- return openBlock(), createElementBlock("nav", _hoisted_1$23, [createElementVNode("ol", _hoisted_2$21, [(openBlock(true), createElementBlock(Fragment, null, renderList(normalizedItems.value, (item, index) => {
12945
+ return openBlock(), createElementBlock("nav", _hoisted_1$22, [createElementVNode("ol", _hoisted_2$20, [(openBlock(true), createElementBlock(Fragment, null, renderList(normalizedItems.value, (item, index) => {
12770
12946
  return openBlock(), createElementBlock("li", {
12771
12947
  key: index,
12772
12948
  class: "mint-breadcrumb__item"
@@ -12778,7 +12954,7 @@ var Breadcrumb_default = /* @__PURE__ */ defineComponent({
12778
12954
  key: 0,
12779
12955
  href: item.href,
12780
12956
  class: "mint-breadcrumb__link"
12781
- }, toDisplayString(item.label), 9, _hoisted_3$21)) : index !== normalizedItems.value.length - 1 ? (openBlock(), createElementBlock("button", {
12957
+ }, toDisplayString(item.label), 9, _hoisted_3$20)) : index !== normalizedItems.value.length - 1 ? (openBlock(), createElementBlock("button", {
12782
12958
  key: 1,
12783
12959
  class: "mint-breadcrumb__link",
12784
12960
  onClick: ($event) => handleClick(item)
@@ -12788,1094 +12964,6 @@ var Breadcrumb_default = /* @__PURE__ */ defineComponent({
12788
12964
  }
12789
12965
  });
12790
12966
  //#endregion
12791
- //#region ../../node_modules/.bun/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
12792
- var min = Math.min;
12793
- var max = Math.max;
12794
- var round = Math.round;
12795
- var createCoords = (v) => ({
12796
- x: v,
12797
- y: v
12798
- });
12799
- var oppositeSideMap = {
12800
- left: "right",
12801
- right: "left",
12802
- bottom: "top",
12803
- top: "bottom"
12804
- };
12805
- function clamp$1(start, value, end) {
12806
- return max(start, min(value, end));
12807
- }
12808
- function evaluate(value, param) {
12809
- return typeof value === "function" ? value(param) : value;
12810
- }
12811
- function getSide(placement) {
12812
- return placement.split("-")[0];
12813
- }
12814
- function getAlignment(placement) {
12815
- return placement.split("-")[1];
12816
- }
12817
- function getOppositeAxis(axis) {
12818
- return axis === "x" ? "y" : "x";
12819
- }
12820
- function getAxisLength(axis) {
12821
- return axis === "y" ? "height" : "width";
12822
- }
12823
- function getSideAxis(placement) {
12824
- const firstChar = placement[0];
12825
- return firstChar === "t" || firstChar === "b" ? "y" : "x";
12826
- }
12827
- function getAlignmentAxis(placement) {
12828
- return getOppositeAxis(getSideAxis(placement));
12829
- }
12830
- function getAlignmentSides(placement, rects, rtl) {
12831
- if (rtl === void 0) rtl = false;
12832
- const alignment = getAlignment(placement);
12833
- const alignmentAxis = getAlignmentAxis(placement);
12834
- const length = getAxisLength(alignmentAxis);
12835
- let mainAlignmentSide = alignmentAxis === "x" ? alignment === (rtl ? "end" : "start") ? "right" : "left" : alignment === "start" ? "bottom" : "top";
12836
- if (rects.reference[length] > rects.floating[length]) mainAlignmentSide = getOppositePlacement(mainAlignmentSide);
12837
- return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];
12838
- }
12839
- function getExpandedPlacements(placement) {
12840
- const oppositePlacement = getOppositePlacement(placement);
12841
- return [
12842
- getOppositeAlignmentPlacement(placement),
12843
- oppositePlacement,
12844
- getOppositeAlignmentPlacement(oppositePlacement)
12845
- ];
12846
- }
12847
- function getOppositeAlignmentPlacement(placement) {
12848
- return placement.includes("start") ? placement.replace("start", "end") : placement.replace("end", "start");
12849
- }
12850
- var lrPlacement = ["left", "right"];
12851
- var rlPlacement = ["right", "left"];
12852
- var tbPlacement = ["top", "bottom"];
12853
- var btPlacement = ["bottom", "top"];
12854
- function getSideList(side, isStart, rtl) {
12855
- switch (side) {
12856
- case "top":
12857
- case "bottom":
12858
- if (rtl) return isStart ? rlPlacement : lrPlacement;
12859
- return isStart ? lrPlacement : rlPlacement;
12860
- case "left":
12861
- case "right": return isStart ? tbPlacement : btPlacement;
12862
- default: return [];
12863
- }
12864
- }
12865
- function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
12866
- const alignment = getAlignment(placement);
12867
- let list = getSideList(getSide(placement), direction === "start", rtl);
12868
- if (alignment) {
12869
- list = list.map((side) => side + "-" + alignment);
12870
- if (flipAlignment) list = list.concat(list.map(getOppositeAlignmentPlacement));
12871
- }
12872
- return list;
12873
- }
12874
- function getOppositePlacement(placement) {
12875
- const side = getSide(placement);
12876
- return oppositeSideMap[side] + placement.slice(side.length);
12877
- }
12878
- function expandPaddingObject(padding) {
12879
- return {
12880
- top: 0,
12881
- right: 0,
12882
- bottom: 0,
12883
- left: 0,
12884
- ...padding
12885
- };
12886
- }
12887
- function getPaddingObject(padding) {
12888
- return typeof padding !== "number" ? expandPaddingObject(padding) : {
12889
- top: padding,
12890
- right: padding,
12891
- bottom: padding,
12892
- left: padding
12893
- };
12894
- }
12895
- function rectToClientRect(rect) {
12896
- const { x, y, width, height } = rect;
12897
- return {
12898
- width,
12899
- height,
12900
- top: y,
12901
- left: x,
12902
- right: x + width,
12903
- bottom: y + height,
12904
- x,
12905
- y
12906
- };
12907
- }
12908
- //#endregion
12909
- //#region ../../node_modules/.bun/@floating-ui+core@1.7.5/node_modules/@floating-ui/core/dist/floating-ui.core.mjs
12910
- function computeCoordsFromPlacement(_ref, placement, rtl) {
12911
- let { reference, floating } = _ref;
12912
- const sideAxis = getSideAxis(placement);
12913
- const alignmentAxis = getAlignmentAxis(placement);
12914
- const alignLength = getAxisLength(alignmentAxis);
12915
- const side = getSide(placement);
12916
- const isVertical = sideAxis === "y";
12917
- const commonX = reference.x + reference.width / 2 - floating.width / 2;
12918
- const commonY = reference.y + reference.height / 2 - floating.height / 2;
12919
- const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;
12920
- let coords;
12921
- switch (side) {
12922
- case "top":
12923
- coords = {
12924
- x: commonX,
12925
- y: reference.y - floating.height
12926
- };
12927
- break;
12928
- case "bottom":
12929
- coords = {
12930
- x: commonX,
12931
- y: reference.y + reference.height
12932
- };
12933
- break;
12934
- case "right":
12935
- coords = {
12936
- x: reference.x + reference.width,
12937
- y: commonY
12938
- };
12939
- break;
12940
- case "left":
12941
- coords = {
12942
- x: reference.x - floating.width,
12943
- y: commonY
12944
- };
12945
- break;
12946
- default: coords = {
12947
- x: reference.x,
12948
- y: reference.y
12949
- };
12950
- }
12951
- switch (getAlignment(placement)) {
12952
- case "start":
12953
- coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);
12954
- break;
12955
- case "end":
12956
- coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);
12957
- break;
12958
- }
12959
- return coords;
12960
- }
12961
- /**
12962
- * Resolves with an object of overflow side offsets that determine how much the
12963
- * element is overflowing a given clipping boundary on each side.
12964
- * - positive = overflowing the boundary by that number of pixels
12965
- * - negative = how many pixels left before it will overflow
12966
- * - 0 = lies flush with the boundary
12967
- * @see https://floating-ui.com/docs/detectOverflow
12968
- */
12969
- async function detectOverflow(state, options) {
12970
- var _await$platform$isEle;
12971
- if (options === void 0) options = {};
12972
- const { x, y, platform, rects, elements, strategy } = state;
12973
- const { boundary = "clippingAncestors", rootBoundary = "viewport", elementContext = "floating", altBoundary = false, padding = 0 } = evaluate(options, state);
12974
- const paddingObject = getPaddingObject(padding);
12975
- const element = elements[altBoundary ? elementContext === "floating" ? "reference" : "floating" : elementContext];
12976
- const clippingClientRect = rectToClientRect(await platform.getClippingRect({
12977
- element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating)),
12978
- boundary,
12979
- rootBoundary,
12980
- strategy
12981
- }));
12982
- const rect = elementContext === "floating" ? {
12983
- x,
12984
- y,
12985
- width: rects.floating.width,
12986
- height: rects.floating.height
12987
- } : rects.reference;
12988
- const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
12989
- const offsetScale = await (platform.isElement == null ? void 0 : platform.isElement(offsetParent)) ? await (platform.getScale == null ? void 0 : platform.getScale(offsetParent)) || {
12990
- x: 1,
12991
- y: 1
12992
- } : {
12993
- x: 1,
12994
- y: 1
12995
- };
12996
- const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({
12997
- elements,
12998
- rect,
12999
- offsetParent,
13000
- strategy
13001
- }) : rect);
13002
- return {
13003
- top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
13004
- bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
13005
- left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
13006
- right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
13007
- };
13008
- }
13009
- var MAX_RESET_COUNT = 50;
13010
- /**
13011
- * Computes the `x` and `y` coordinates that will place the floating element
13012
- * next to a given reference element.
13013
- *
13014
- * This export does not have any `platform` interface logic. You will need to
13015
- * write one for the platform you are using Floating UI with.
13016
- */
13017
- var computePosition$1 = async (reference, floating, config) => {
13018
- const { placement = "bottom", strategy = "absolute", middleware = [], platform } = config;
13019
- const platformWithDetectOverflow = platform.detectOverflow ? platform : {
13020
- ...platform,
13021
- detectOverflow
13022
- };
13023
- const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));
13024
- let rects = await platform.getElementRects({
13025
- reference,
13026
- floating,
13027
- strategy
13028
- });
13029
- let { x, y } = computeCoordsFromPlacement(rects, placement, rtl);
13030
- let statefulPlacement = placement;
13031
- let resetCount = 0;
13032
- const middlewareData = {};
13033
- for (let i = 0; i < middleware.length; i++) {
13034
- const currentMiddleware = middleware[i];
13035
- if (!currentMiddleware) continue;
13036
- const { name, fn } = currentMiddleware;
13037
- const { x: nextX, y: nextY, data, reset } = await fn({
13038
- x,
13039
- y,
13040
- initialPlacement: placement,
13041
- placement: statefulPlacement,
13042
- strategy,
13043
- middlewareData,
13044
- rects,
13045
- platform: platformWithDetectOverflow,
13046
- elements: {
13047
- reference,
13048
- floating
13049
- }
13050
- });
13051
- x = nextX != null ? nextX : x;
13052
- y = nextY != null ? nextY : y;
13053
- middlewareData[name] = {
13054
- ...middlewareData[name],
13055
- ...data
13056
- };
13057
- if (reset && resetCount < MAX_RESET_COUNT) {
13058
- resetCount++;
13059
- if (typeof reset === "object") {
13060
- if (reset.placement) statefulPlacement = reset.placement;
13061
- if (reset.rects) rects = reset.rects === true ? await platform.getElementRects({
13062
- reference,
13063
- floating,
13064
- strategy
13065
- }) : reset.rects;
13066
- ({x, y} = computeCoordsFromPlacement(rects, statefulPlacement, rtl));
13067
- }
13068
- i = -1;
13069
- }
13070
- }
13071
- return {
13072
- x,
13073
- y,
13074
- placement: statefulPlacement,
13075
- strategy,
13076
- middlewareData
13077
- };
13078
- };
13079
- /**
13080
- * Optimizes the visibility of the floating element by flipping the `placement`
13081
- * in order to keep it in view when the preferred placement(s) will overflow the
13082
- * clipping boundary. Alternative to `autoPlacement`.
13083
- * @see https://floating-ui.com/docs/flip
13084
- */
13085
- var flip$1 = function(options) {
13086
- if (options === void 0) options = {};
13087
- return {
13088
- name: "flip",
13089
- options,
13090
- async fn(state) {
13091
- var _middlewareData$arrow, _middlewareData$flip;
13092
- const { placement, middlewareData, rects, initialPlacement, platform, elements } = state;
13093
- const { mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = true, fallbackPlacements: specifiedFallbackPlacements, fallbackStrategy = "bestFit", fallbackAxisSideDirection = "none", flipAlignment = true, ...detectOverflowOptions } = evaluate(options, state);
13094
- if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) return {};
13095
- const side = getSide(placement);
13096
- const initialSideAxis = getSideAxis(initialPlacement);
13097
- const isBasePlacement = getSide(initialPlacement) === initialPlacement;
13098
- const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
13099
- const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));
13100
- const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== "none";
13101
- if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
13102
- const placements = [initialPlacement, ...fallbackPlacements];
13103
- const overflow = await platform.detectOverflow(state, detectOverflowOptions);
13104
- const overflows = [];
13105
- let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
13106
- if (checkMainAxis) overflows.push(overflow[side]);
13107
- if (checkCrossAxis) {
13108
- const sides = getAlignmentSides(placement, rects, rtl);
13109
- overflows.push(overflow[sides[0]], overflow[sides[1]]);
13110
- }
13111
- overflowsData = [...overflowsData, {
13112
- placement,
13113
- overflows
13114
- }];
13115
- if (!overflows.every((side) => side <= 0)) {
13116
- var _middlewareData$flip2, _overflowsData$filter;
13117
- const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
13118
- const nextPlacement = placements[nextIndex];
13119
- if (nextPlacement) {
13120
- if (!(checkCrossAxis === "alignment" ? initialSideAxis !== getSideAxis(nextPlacement) : false) || overflowsData.every((d) => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) return {
13121
- data: {
13122
- index: nextIndex,
13123
- overflows: overflowsData
13124
- },
13125
- reset: { placement: nextPlacement }
13126
- };
13127
- }
13128
- let resetPlacement = (_overflowsData$filter = overflowsData.filter((d) => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;
13129
- if (!resetPlacement) switch (fallbackStrategy) {
13130
- case "bestFit": {
13131
- var _overflowsData$filter2;
13132
- const placement = (_overflowsData$filter2 = overflowsData.filter((d) => {
13133
- if (hasFallbackAxisSideDirection) {
13134
- const currentSideAxis = getSideAxis(d.placement);
13135
- return currentSideAxis === initialSideAxis || currentSideAxis === "y";
13136
- }
13137
- return true;
13138
- }).map((d) => [d.placement, d.overflows.filter((overflow) => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];
13139
- if (placement) resetPlacement = placement;
13140
- break;
13141
- }
13142
- case "initialPlacement":
13143
- resetPlacement = initialPlacement;
13144
- break;
13145
- }
13146
- if (placement !== resetPlacement) return { reset: { placement: resetPlacement } };
13147
- }
13148
- return {};
13149
- }
13150
- };
13151
- };
13152
- var originSides = /* @__PURE__ */ new Set(["left", "top"]);
13153
- async function convertValueToCoords(state, options) {
13154
- const { placement, platform, elements } = state;
13155
- const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
13156
- const side = getSide(placement);
13157
- const alignment = getAlignment(placement);
13158
- const isVertical = getSideAxis(placement) === "y";
13159
- const mainAxisMulti = originSides.has(side) ? -1 : 1;
13160
- const crossAxisMulti = rtl && isVertical ? -1 : 1;
13161
- const rawValue = evaluate(options, state);
13162
- let { mainAxis, crossAxis, alignmentAxis } = typeof rawValue === "number" ? {
13163
- mainAxis: rawValue,
13164
- crossAxis: 0,
13165
- alignmentAxis: null
13166
- } : {
13167
- mainAxis: rawValue.mainAxis || 0,
13168
- crossAxis: rawValue.crossAxis || 0,
13169
- alignmentAxis: rawValue.alignmentAxis
13170
- };
13171
- if (alignment && typeof alignmentAxis === "number") crossAxis = alignment === "end" ? alignmentAxis * -1 : alignmentAxis;
13172
- return isVertical ? {
13173
- x: crossAxis * crossAxisMulti,
13174
- y: mainAxis * mainAxisMulti
13175
- } : {
13176
- x: mainAxis * mainAxisMulti,
13177
- y: crossAxis * crossAxisMulti
13178
- };
13179
- }
13180
- /**
13181
- * Modifies the placement by translating the floating element along the
13182
- * specified axes.
13183
- * A number (shorthand for `mainAxis` or distance), or an axes configuration
13184
- * object may be passed.
13185
- * @see https://floating-ui.com/docs/offset
13186
- */
13187
- var offset$1 = function(options) {
13188
- if (options === void 0) options = 0;
13189
- return {
13190
- name: "offset",
13191
- options,
13192
- async fn(state) {
13193
- var _middlewareData$offse, _middlewareData$arrow;
13194
- const { x, y, placement, middlewareData } = state;
13195
- const diffCoords = await convertValueToCoords(state, options);
13196
- if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) return {};
13197
- return {
13198
- x: x + diffCoords.x,
13199
- y: y + diffCoords.y,
13200
- data: {
13201
- ...diffCoords,
13202
- placement
13203
- }
13204
- };
13205
- }
13206
- };
13207
- };
13208
- /**
13209
- * Optimizes the visibility of the floating element by shifting it in order to
13210
- * keep it in view when it will overflow the clipping boundary.
13211
- * @see https://floating-ui.com/docs/shift
13212
- */
13213
- var shift$1 = function(options) {
13214
- if (options === void 0) options = {};
13215
- return {
13216
- name: "shift",
13217
- options,
13218
- async fn(state) {
13219
- const { x, y, placement, platform } = state;
13220
- const { mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = false, limiter = { fn: (_ref) => {
13221
- let { x, y } = _ref;
13222
- return {
13223
- x,
13224
- y
13225
- };
13226
- } }, ...detectOverflowOptions } = evaluate(options, state);
13227
- const coords = {
13228
- x,
13229
- y
13230
- };
13231
- const overflow = await platform.detectOverflow(state, detectOverflowOptions);
13232
- const crossAxis = getSideAxis(getSide(placement));
13233
- const mainAxis = getOppositeAxis(crossAxis);
13234
- let mainAxisCoord = coords[mainAxis];
13235
- let crossAxisCoord = coords[crossAxis];
13236
- if (checkMainAxis) {
13237
- const minSide = mainAxis === "y" ? "top" : "left";
13238
- const maxSide = mainAxis === "y" ? "bottom" : "right";
13239
- const min = mainAxisCoord + overflow[minSide];
13240
- const max = mainAxisCoord - overflow[maxSide];
13241
- mainAxisCoord = clamp$1(min, mainAxisCoord, max);
13242
- }
13243
- if (checkCrossAxis) {
13244
- const minSide = crossAxis === "y" ? "top" : "left";
13245
- const maxSide = crossAxis === "y" ? "bottom" : "right";
13246
- const min = crossAxisCoord + overflow[minSide];
13247
- const max = crossAxisCoord - overflow[maxSide];
13248
- crossAxisCoord = clamp$1(min, crossAxisCoord, max);
13249
- }
13250
- const limitedCoords = limiter.fn({
13251
- ...state,
13252
- [mainAxis]: mainAxisCoord,
13253
- [crossAxis]: crossAxisCoord
13254
- });
13255
- return {
13256
- ...limitedCoords,
13257
- data: {
13258
- x: limitedCoords.x - x,
13259
- y: limitedCoords.y - y,
13260
- enabled: {
13261
- [mainAxis]: checkMainAxis,
13262
- [crossAxis]: checkCrossAxis
13263
- }
13264
- }
13265
- };
13266
- }
13267
- };
13268
- };
13269
- //#endregion
13270
- //#region ../../node_modules/.bun/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
13271
- function hasWindow() {
13272
- return typeof window !== "undefined";
13273
- }
13274
- function getNodeName(node) {
13275
- if (isNode(node)) return (node.nodeName || "").toLowerCase();
13276
- return "#document";
13277
- }
13278
- function getWindow(node) {
13279
- var _node$ownerDocument;
13280
- return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
13281
- }
13282
- function getDocumentElement(node) {
13283
- var _ref;
13284
- return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;
13285
- }
13286
- function isNode(value) {
13287
- if (!hasWindow()) return false;
13288
- return value instanceof Node || value instanceof getWindow(value).Node;
13289
- }
13290
- function isElement(value) {
13291
- if (!hasWindow()) return false;
13292
- return value instanceof Element || value instanceof getWindow(value).Element;
13293
- }
13294
- function isHTMLElement(value) {
13295
- if (!hasWindow()) return false;
13296
- return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
13297
- }
13298
- function isShadowRoot(value) {
13299
- if (!hasWindow() || typeof ShadowRoot === "undefined") return false;
13300
- return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
13301
- }
13302
- function isOverflowElement(element) {
13303
- const { overflow, overflowX, overflowY, display } = getComputedStyle$1(element);
13304
- return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents";
13305
- }
13306
- function isTableElement(element) {
13307
- return /^(table|td|th)$/.test(getNodeName(element));
13308
- }
13309
- function isTopLayer(element) {
13310
- try {
13311
- if (element.matches(":popover-open")) return true;
13312
- } catch (_e) {}
13313
- try {
13314
- return element.matches(":modal");
13315
- } catch (_e) {
13316
- return false;
13317
- }
13318
- }
13319
- var willChangeRe = /transform|translate|scale|rotate|perspective|filter/;
13320
- var containRe = /paint|layout|strict|content/;
13321
- var isNotNone = (value) => !!value && value !== "none";
13322
- var isWebKitValue;
13323
- function isContainingBlock(elementOrCss) {
13324
- const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
13325
- return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || "") || containRe.test(css.contain || "");
13326
- }
13327
- function getContainingBlock(element) {
13328
- let currentNode = getParentNode(element);
13329
- while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
13330
- if (isContainingBlock(currentNode)) return currentNode;
13331
- else if (isTopLayer(currentNode)) return null;
13332
- currentNode = getParentNode(currentNode);
13333
- }
13334
- return null;
13335
- }
13336
- function isWebKit() {
13337
- if (isWebKitValue == null) isWebKitValue = typeof CSS !== "undefined" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none");
13338
- return isWebKitValue;
13339
- }
13340
- function isLastTraversableNode(node) {
13341
- return /^(html|body|#document)$/.test(getNodeName(node));
13342
- }
13343
- function getComputedStyle$1(element) {
13344
- return getWindow(element).getComputedStyle(element);
13345
- }
13346
- function getNodeScroll(element) {
13347
- if (isElement(element)) return {
13348
- scrollLeft: element.scrollLeft,
13349
- scrollTop: element.scrollTop
13350
- };
13351
- return {
13352
- scrollLeft: element.scrollX,
13353
- scrollTop: element.scrollY
13354
- };
13355
- }
13356
- function getParentNode(node) {
13357
- if (getNodeName(node) === "html") return node;
13358
- const result = node.assignedSlot || node.parentNode || isShadowRoot(node) && node.host || getDocumentElement(node);
13359
- return isShadowRoot(result) ? result.host : result;
13360
- }
13361
- function getNearestOverflowAncestor(node) {
13362
- const parentNode = getParentNode(node);
13363
- if (isLastTraversableNode(parentNode)) return node.ownerDocument ? node.ownerDocument.body : node.body;
13364
- if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) return parentNode;
13365
- return getNearestOverflowAncestor(parentNode);
13366
- }
13367
- function getOverflowAncestors(node, list, traverseIframes) {
13368
- var _node$ownerDocument2;
13369
- if (list === void 0) list = [];
13370
- if (traverseIframes === void 0) traverseIframes = true;
13371
- const scrollableAncestor = getNearestOverflowAncestor(node);
13372
- const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
13373
- const win = getWindow(scrollableAncestor);
13374
- if (isBody) {
13375
- const frameElement = getFrameElement(win);
13376
- return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
13377
- } else return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
13378
- }
13379
- function getFrameElement(win) {
13380
- return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
13381
- }
13382
- //#endregion
13383
- //#region ../../node_modules/.bun/@floating-ui+dom@1.7.6/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
13384
- function getCssDimensions(element) {
13385
- const css = getComputedStyle$1(element);
13386
- let width = parseFloat(css.width) || 0;
13387
- let height = parseFloat(css.height) || 0;
13388
- const hasOffset = isHTMLElement(element);
13389
- const offsetWidth = hasOffset ? element.offsetWidth : width;
13390
- const offsetHeight = hasOffset ? element.offsetHeight : height;
13391
- const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
13392
- if (shouldFallback) {
13393
- width = offsetWidth;
13394
- height = offsetHeight;
13395
- }
13396
- return {
13397
- width,
13398
- height,
13399
- $: shouldFallback
13400
- };
13401
- }
13402
- function unwrapElement(element) {
13403
- return !isElement(element) ? element.contextElement : element;
13404
- }
13405
- function getScale(element) {
13406
- const domElement = unwrapElement(element);
13407
- if (!isHTMLElement(domElement)) return createCoords(1);
13408
- const rect = domElement.getBoundingClientRect();
13409
- const { width, height, $ } = getCssDimensions(domElement);
13410
- let x = ($ ? round(rect.width) : rect.width) / width;
13411
- let y = ($ ? round(rect.height) : rect.height) / height;
13412
- if (!x || !Number.isFinite(x)) x = 1;
13413
- if (!y || !Number.isFinite(y)) y = 1;
13414
- return {
13415
- x,
13416
- y
13417
- };
13418
- }
13419
- var noOffsets = /* @__PURE__ */ createCoords(0);
13420
- function getVisualOffsets(element) {
13421
- const win = getWindow(element);
13422
- if (!isWebKit() || !win.visualViewport) return noOffsets;
13423
- return {
13424
- x: win.visualViewport.offsetLeft,
13425
- y: win.visualViewport.offsetTop
13426
- };
13427
- }
13428
- function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
13429
- if (isFixed === void 0) isFixed = false;
13430
- if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) return false;
13431
- return isFixed;
13432
- }
13433
- function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
13434
- if (includeScale === void 0) includeScale = false;
13435
- if (isFixedStrategy === void 0) isFixedStrategy = false;
13436
- const clientRect = element.getBoundingClientRect();
13437
- const domElement = unwrapElement(element);
13438
- let scale = createCoords(1);
13439
- if (includeScale) if (offsetParent) {
13440
- if (isElement(offsetParent)) scale = getScale(offsetParent);
13441
- } else scale = getScale(element);
13442
- const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);
13443
- let x = (clientRect.left + visualOffsets.x) / scale.x;
13444
- let y = (clientRect.top + visualOffsets.y) / scale.y;
13445
- let width = clientRect.width / scale.x;
13446
- let height = clientRect.height / scale.y;
13447
- if (domElement) {
13448
- const win = getWindow(domElement);
13449
- const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
13450
- let currentWin = win;
13451
- let currentIFrame = getFrameElement(currentWin);
13452
- while (currentIFrame && offsetParent && offsetWin !== currentWin) {
13453
- const iframeScale = getScale(currentIFrame);
13454
- const iframeRect = currentIFrame.getBoundingClientRect();
13455
- const css = getComputedStyle$1(currentIFrame);
13456
- const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
13457
- const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
13458
- x *= iframeScale.x;
13459
- y *= iframeScale.y;
13460
- width *= iframeScale.x;
13461
- height *= iframeScale.y;
13462
- x += left;
13463
- y += top;
13464
- currentWin = getWindow(currentIFrame);
13465
- currentIFrame = getFrameElement(currentWin);
13466
- }
13467
- }
13468
- return rectToClientRect({
13469
- width,
13470
- height,
13471
- x,
13472
- y
13473
- });
13474
- }
13475
- function getWindowScrollBarX(element, rect) {
13476
- const leftScroll = getNodeScroll(element).scrollLeft;
13477
- if (!rect) return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;
13478
- return rect.left + leftScroll;
13479
- }
13480
- function getHTMLOffset(documentElement, scroll) {
13481
- const htmlRect = documentElement.getBoundingClientRect();
13482
- return {
13483
- x: htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect),
13484
- y: htmlRect.top + scroll.scrollTop
13485
- };
13486
- }
13487
- function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
13488
- let { elements, rect, offsetParent, strategy } = _ref;
13489
- const isFixed = strategy === "fixed";
13490
- const documentElement = getDocumentElement(offsetParent);
13491
- const topLayer = elements ? isTopLayer(elements.floating) : false;
13492
- if (offsetParent === documentElement || topLayer && isFixed) return rect;
13493
- let scroll = {
13494
- scrollLeft: 0,
13495
- scrollTop: 0
13496
- };
13497
- let scale = createCoords(1);
13498
- const offsets = createCoords(0);
13499
- const isOffsetParentAnElement = isHTMLElement(offsetParent);
13500
- if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
13501
- if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) scroll = getNodeScroll(offsetParent);
13502
- if (isOffsetParentAnElement) {
13503
- const offsetRect = getBoundingClientRect(offsetParent);
13504
- scale = getScale(offsetParent);
13505
- offsets.x = offsetRect.x + offsetParent.clientLeft;
13506
- offsets.y = offsetRect.y + offsetParent.clientTop;
13507
- }
13508
- }
13509
- const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
13510
- return {
13511
- width: rect.width * scale.x,
13512
- height: rect.height * scale.y,
13513
- x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,
13514
- y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y
13515
- };
13516
- }
13517
- function getClientRects(element) {
13518
- return Array.from(element.getClientRects());
13519
- }
13520
- function getDocumentRect(element) {
13521
- const html = getDocumentElement(element);
13522
- const scroll = getNodeScroll(element);
13523
- const body = element.ownerDocument.body;
13524
- const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
13525
- const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
13526
- let x = -scroll.scrollLeft + getWindowScrollBarX(element);
13527
- const y = -scroll.scrollTop;
13528
- if (getComputedStyle$1(body).direction === "rtl") x += max(html.clientWidth, body.clientWidth) - width;
13529
- return {
13530
- width,
13531
- height,
13532
- x,
13533
- y
13534
- };
13535
- }
13536
- var SCROLLBAR_MAX = 25;
13537
- function getViewportRect(element, strategy) {
13538
- const win = getWindow(element);
13539
- const html = getDocumentElement(element);
13540
- const visualViewport = win.visualViewport;
13541
- let width = html.clientWidth;
13542
- let height = html.clientHeight;
13543
- let x = 0;
13544
- let y = 0;
13545
- if (visualViewport) {
13546
- width = visualViewport.width;
13547
- height = visualViewport.height;
13548
- const visualViewportBased = isWebKit();
13549
- if (!visualViewportBased || visualViewportBased && strategy === "fixed") {
13550
- x = visualViewport.offsetLeft;
13551
- y = visualViewport.offsetTop;
13552
- }
13553
- }
13554
- const windowScrollbarX = getWindowScrollBarX(html);
13555
- if (windowScrollbarX <= 0) {
13556
- const doc = html.ownerDocument;
13557
- const body = doc.body;
13558
- const bodyStyles = getComputedStyle(body);
13559
- const bodyMarginInline = doc.compatMode === "CSS1Compat" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
13560
- const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
13561
- if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) width -= clippingStableScrollbarWidth;
13562
- } else if (windowScrollbarX <= SCROLLBAR_MAX) width += windowScrollbarX;
13563
- return {
13564
- width,
13565
- height,
13566
- x,
13567
- y
13568
- };
13569
- }
13570
- function getInnerBoundingClientRect(element, strategy) {
13571
- const clientRect = getBoundingClientRect(element, true, strategy === "fixed");
13572
- const top = clientRect.top + element.clientTop;
13573
- const left = clientRect.left + element.clientLeft;
13574
- const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);
13575
- return {
13576
- width: element.clientWidth * scale.x,
13577
- height: element.clientHeight * scale.y,
13578
- x: left * scale.x,
13579
- y: top * scale.y
13580
- };
13581
- }
13582
- function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
13583
- let rect;
13584
- if (clippingAncestor === "viewport") rect = getViewportRect(element, strategy);
13585
- else if (clippingAncestor === "document") rect = getDocumentRect(getDocumentElement(element));
13586
- else if (isElement(clippingAncestor)) rect = getInnerBoundingClientRect(clippingAncestor, strategy);
13587
- else {
13588
- const visualOffsets = getVisualOffsets(element);
13589
- rect = {
13590
- x: clippingAncestor.x - visualOffsets.x,
13591
- y: clippingAncestor.y - visualOffsets.y,
13592
- width: clippingAncestor.width,
13593
- height: clippingAncestor.height
13594
- };
13595
- }
13596
- return rectToClientRect(rect);
13597
- }
13598
- function hasFixedPositionAncestor(element, stopNode) {
13599
- const parentNode = getParentNode(element);
13600
- if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) return false;
13601
- return getComputedStyle$1(parentNode).position === "fixed" || hasFixedPositionAncestor(parentNode, stopNode);
13602
- }
13603
- function getClippingElementAncestors(element, cache) {
13604
- const cachedResult = cache.get(element);
13605
- if (cachedResult) return cachedResult;
13606
- let result = getOverflowAncestors(element, [], false).filter((el) => isElement(el) && getNodeName(el) !== "body");
13607
- let currentContainingBlockComputedStyle = null;
13608
- const elementIsFixed = getComputedStyle$1(element).position === "fixed";
13609
- let currentNode = elementIsFixed ? getParentNode(element) : element;
13610
- while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
13611
- const computedStyle = getComputedStyle$1(currentNode);
13612
- const currentNodeIsContaining = isContainingBlock(currentNode);
13613
- if (!currentNodeIsContaining && computedStyle.position === "fixed") currentContainingBlockComputedStyle = null;
13614
- if (elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === "absolute" || currentContainingBlockComputedStyle.position === "fixed") || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode)) result = result.filter((ancestor) => ancestor !== currentNode);
13615
- else currentContainingBlockComputedStyle = computedStyle;
13616
- currentNode = getParentNode(currentNode);
13617
- }
13618
- cache.set(element, result);
13619
- return result;
13620
- }
13621
- function getClippingRect(_ref) {
13622
- let { element, boundary, rootBoundary, strategy } = _ref;
13623
- const clippingAncestors = [...boundary === "clippingAncestors" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary), rootBoundary];
13624
- const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);
13625
- let top = firstRect.top;
13626
- let right = firstRect.right;
13627
- let bottom = firstRect.bottom;
13628
- let left = firstRect.left;
13629
- for (let i = 1; i < clippingAncestors.length; i++) {
13630
- const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);
13631
- top = max(rect.top, top);
13632
- right = min(rect.right, right);
13633
- bottom = min(rect.bottom, bottom);
13634
- left = max(rect.left, left);
13635
- }
13636
- return {
13637
- width: right - left,
13638
- height: bottom - top,
13639
- x: left,
13640
- y: top
13641
- };
13642
- }
13643
- function getDimensions(element) {
13644
- const { width, height } = getCssDimensions(element);
13645
- return {
13646
- width,
13647
- height
13648
- };
13649
- }
13650
- function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
13651
- const isOffsetParentAnElement = isHTMLElement(offsetParent);
13652
- const documentElement = getDocumentElement(offsetParent);
13653
- const isFixed = strategy === "fixed";
13654
- const rect = getBoundingClientRect(element, true, isFixed, offsetParent);
13655
- let scroll = {
13656
- scrollLeft: 0,
13657
- scrollTop: 0
13658
- };
13659
- const offsets = createCoords(0);
13660
- function setLeftRTLScrollbarOffset() {
13661
- offsets.x = getWindowScrollBarX(documentElement);
13662
- }
13663
- if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
13664
- if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) scroll = getNodeScroll(offsetParent);
13665
- if (isOffsetParentAnElement) {
13666
- const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
13667
- offsets.x = offsetRect.x + offsetParent.clientLeft;
13668
- offsets.y = offsetRect.y + offsetParent.clientTop;
13669
- } else if (documentElement) setLeftRTLScrollbarOffset();
13670
- }
13671
- if (isFixed && !isOffsetParentAnElement && documentElement) setLeftRTLScrollbarOffset();
13672
- const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
13673
- return {
13674
- x: rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x,
13675
- y: rect.top + scroll.scrollTop - offsets.y - htmlOffset.y,
13676
- width: rect.width,
13677
- height: rect.height
13678
- };
13679
- }
13680
- function isStaticPositioned(element) {
13681
- return getComputedStyle$1(element).position === "static";
13682
- }
13683
- function getTrueOffsetParent(element, polyfill) {
13684
- if (!isHTMLElement(element) || getComputedStyle$1(element).position === "fixed") return null;
13685
- if (polyfill) return polyfill(element);
13686
- let rawOffsetParent = element.offsetParent;
13687
- if (getDocumentElement(element) === rawOffsetParent) rawOffsetParent = rawOffsetParent.ownerDocument.body;
13688
- return rawOffsetParent;
13689
- }
13690
- function getOffsetParent(element, polyfill) {
13691
- const win = getWindow(element);
13692
- if (isTopLayer(element)) return win;
13693
- if (!isHTMLElement(element)) {
13694
- let svgOffsetParent = getParentNode(element);
13695
- while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {
13696
- if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) return svgOffsetParent;
13697
- svgOffsetParent = getParentNode(svgOffsetParent);
13698
- }
13699
- return win;
13700
- }
13701
- let offsetParent = getTrueOffsetParent(element, polyfill);
13702
- while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) offsetParent = getTrueOffsetParent(offsetParent, polyfill);
13703
- if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) return win;
13704
- return offsetParent || getContainingBlock(element) || win;
13705
- }
13706
- var getElementRects = async function(data) {
13707
- const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
13708
- const getDimensionsFn = this.getDimensions;
13709
- const floatingDimensions = await getDimensionsFn(data.floating);
13710
- return {
13711
- reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),
13712
- floating: {
13713
- x: 0,
13714
- y: 0,
13715
- width: floatingDimensions.width,
13716
- height: floatingDimensions.height
13717
- }
13718
- };
13719
- };
13720
- function isRTL(element) {
13721
- return getComputedStyle$1(element).direction === "rtl";
13722
- }
13723
- var platform = {
13724
- convertOffsetParentRelativeRectToViewportRelativeRect,
13725
- getDocumentElement,
13726
- getClippingRect,
13727
- getOffsetParent,
13728
- getElementRects,
13729
- getClientRects,
13730
- getDimensions,
13731
- getScale,
13732
- isElement,
13733
- isRTL
13734
- };
13735
- /**
13736
- * Modifies the placement by translating the floating element along the
13737
- * specified axes.
13738
- * A number (shorthand for `mainAxis` or distance), or an axes configuration
13739
- * object may be passed.
13740
- * @see https://floating-ui.com/docs/offset
13741
- */
13742
- var offset = offset$1;
13743
- /**
13744
- * Optimizes the visibility of the floating element by shifting it in order to
13745
- * keep it in view when it will overflow the clipping boundary.
13746
- * @see https://floating-ui.com/docs/shift
13747
- */
13748
- var shift = shift$1;
13749
- /**
13750
- * Optimizes the visibility of the floating element by flipping the `placement`
13751
- * in order to keep it in view when the preferred placement(s) will overflow the
13752
- * clipping boundary. Alternative to `autoPlacement`.
13753
- * @see https://floating-ui.com/docs/flip
13754
- */
13755
- var flip = flip$1;
13756
- /**
13757
- * Computes the `x` and `y` coordinates that will place the floating element
13758
- * next to a given reference element.
13759
- */
13760
- var computePosition = (reference, floating, options) => {
13761
- const cache = /* @__PURE__ */ new Map();
13762
- const mergedOptions = {
13763
- platform,
13764
- ...options
13765
- };
13766
- const platformWithCache = {
13767
- ...mergedOptions.platform,
13768
- _c: cache
13769
- };
13770
- return computePosition$1(reference, floating, {
13771
- ...mergedOptions,
13772
- platform: platformWithCache
13773
- });
13774
- };
13775
- //#endregion
13776
- //#region src/components/Tooltip.vue?vue&type=script&setup=true&lang.ts
13777
- var _hoisted_1$22 = ["aria-describedby"];
13778
- var _hoisted_2$20 = { class: "mint-tooltip__body" };
13779
- var _hoisted_3$20 = {
13780
- key: 0,
13781
- class: "mint-tooltip__shortcut"
13782
- };
13783
- //#endregion
13784
- //#region src/components/Tooltip.vue
13785
- var Tooltip_default = /* @__PURE__ */ defineComponent({
13786
- __name: "Tooltip",
13787
- props: {
13788
- text: {},
13789
- position: { default: "top" },
13790
- delay: { default: 200 },
13791
- shortcut: { default: void 0 },
13792
- maxWidth: { default: void 0 }
13793
- },
13794
- setup(__props) {
13795
- /** Floating tooltip using @floating-ui with auto-flip, delay, optional keyboard shortcut badge, and body Teleport. */
13796
- const props = __props;
13797
- const tooltipId = `mint-tooltip-${Math.random().toString(36).slice(2, 9)}`;
13798
- const visible = ref(false);
13799
- const actualPlacement = ref(props.position);
13800
- const triggerRef = ref(null);
13801
- const contentRef = ref(null);
13802
- const coords = ref({
13803
- top: "0px",
13804
- left: "0px"
13805
- });
13806
- let timeoutId;
13807
- async function updatePosition() {
13808
- if (!triggerRef.value || !contentRef.value) return;
13809
- const { x, y, placement } = await computePosition(triggerRef.value, contentRef.value, {
13810
- placement: props.position,
13811
- middleware: [
13812
- offset(6),
13813
- flip(),
13814
- shift({ padding: 8 })
13815
- ]
13816
- });
13817
- coords.value = {
13818
- top: `${y}px`,
13819
- left: `${x}px`
13820
- };
13821
- actualPlacement.value = placement;
13822
- }
13823
- useEventListener(() => window, "scroll", updatePosition, {
13824
- passive: true,
13825
- capture: true,
13826
- enabled: visible
13827
- });
13828
- useEventListener(() => window, "resize", updatePosition, { enabled: visible });
13829
- async function show() {
13830
- timeoutId = setTimeout(async () => {
13831
- visible.value = true;
13832
- await nextTick();
13833
- await updatePosition();
13834
- }, props.delay);
13835
- }
13836
- function hide() {
13837
- clearTimeout(timeoutId);
13838
- timeoutId = void 0;
13839
- visible.value = false;
13840
- }
13841
- onBeforeUnmount(() => {
13842
- clearTimeout(timeoutId);
13843
- });
13844
- function resolvedMaxWidth(value) {
13845
- if (value === void 0) return void 0;
13846
- return typeof value === "number" ? `${value}px` : value;
13847
- }
13848
- return (_ctx, _cache) => {
13849
- return openBlock(), createElementBlock("span", {
13850
- ref_key: "triggerRef",
13851
- ref: triggerRef,
13852
- class: "mint-tooltip",
13853
- "aria-describedby": visible.value ? tooltipId : void 0,
13854
- onMouseenter: show,
13855
- onMouseleave: hide,
13856
- onFocusin: show,
13857
- onFocusout: hide
13858
- }, [renderSlot(_ctx.$slots, "default"), (openBlock(), createBlock(Teleport, { to: "body" }, [visible.value ? (openBlock(), createElementBlock("span", {
13859
- key: 0,
13860
- id: tooltipId,
13861
- ref_key: "contentRef",
13862
- ref: contentRef,
13863
- class: normalizeClass([
13864
- "mint-tooltip__content",
13865
- `mint-tooltip__content--${actualPlacement.value}`,
13866
- __props.maxWidth ? "mint-tooltip__content--multiline" : ""
13867
- ]),
13868
- style: normalizeStyle({
13869
- top: coords.value.top,
13870
- left: coords.value.left,
13871
- maxWidth: resolvedMaxWidth(__props.maxWidth)
13872
- }),
13873
- role: "tooltip"
13874
- }, [createElementVNode("span", _hoisted_2$20, toDisplayString(__props.text), 1), __props.shortcut ? (openBlock(), createElementBlock("kbd", _hoisted_3$20, toDisplayString(__props.shortcut), 1)) : createCommentVNode("", true)], 6)) : createCommentVNode("", true)]))], 40, _hoisted_1$22);
13875
- };
13876
- }
13877
- });
13878
- //#endregion
13879
12967
  //#region src/components/ChartContainer.vue?vue&type=script&setup=true&lang.ts
13880
12968
  var _hoisted_1$21 = { class: "mint-chart" };
13881
12969
  var _hoisted_2$19 = {
@@ -18413,6 +17501,6 @@ var components_exports = /* @__PURE__ */ __exportAll({
18413
17501
  WellPlate: () => WellPlate_default
18414
17502
  });
18415
17503
  //#endregion
18416
- export { PlateMapEditor_default as $, ReagentEditor_default as A, BasePill_default as At, Avatar_default as B, formatSequenceRemaining as C, IconButton_default as Ct, ScientificNumber_default as D, DataFrame_default as Dt, ChemicalFormula_default as E, FormField_default as Et, BioTemplateExperimentWorkspaceView_default as F, BaseButton_default as Ft, DoseDesignWorkspaceView_default as G, StatusIndicator_default as H, BioTemplateRenderer_default as I, ScheduleCalendar_default as J, ControlWorkspaceView_default as K, ChartContainer_default as L, RackEditor_default as M, BaseModal_default as Mt, BioTemplatePresetWorkspaceView_default as N, BaseTabs_default as Nt, ProtocolStepEditor_default as O, Calendar_default as Ot, BioTemplatePackWorkspaceView_default as P, ColorSlider_default as Pt, ReagentList_default as Q, Tooltip_default as R, formatSequenceEta as S, ThemeToggle_default as St, sequenceSamplesRemaining as T, AlertBox_default as Tt, Divider_default as U, ProgressBar_default as V, AppContainer_default as W, AutoGroupModal_default as X, SampleSelector_default as Y, LoadingSpinner_default as Z, InstrumentStateBadge_default as _, Skeleton_default as _t, ExperimentDataViewer_default as a, AppLayout_default as at, estimateSequenceFinishDate as b, SettingsModal_default as bt, LcmsSequenceTable_default as c, FormActions_default as ct, extractLcmsCommonPrefix as d, AppPluginSwitcher_default as dt, SampleLegend_default as et, extractLcmsSampleName as f, AppAvatarMenu_default as ft, InstrumentStatusCard_default as g, EmptyState_default as gt, reconstructLcmsPlateCellsFromSequenceItems as h, ExperimentCodeBadge_default as ht, TimeRangeInput_default as i, PluginWorkspaceView_default as it, GroupAssigner_default as j, SegmentedControl_default as jt, SampleHierarchyTree_default as k, DropdownButton_default as kt, DEFAULT_LCMS_SEQUENCE_COLUMNS as l, StepWizard_default as lt, lcmsWellIdFromPosition as m, ExperimentSelectorModal_default as mt, FitPanel_default as n, ExperimentTimeline_default as nt, BatchProgressList_default as o, AppSidebar_default as ot, inferLcmsPlateTypeFromWellIds as p, PluginIcon_default as pt, ComponentBindingRenderer_default as q, ResourceCard_default as r, DoseCalculator_default as rt, AuditTrail_default as s, FormBuilder_default as st, components_exports as t, WellPlate_default as tt, basenameFromWindowsPath as u, AppTopBar_default as ut, InstrumentAlertLog_default as v, ExperimentPopover_default as vt, sequenceProgressPercent as w, AppToastContainer_default as wt, estimateSequenceRemainingSeconds as x, CollapsibleCard_default as xt, SequenceProgressBar_default as y, ConfirmDialog_default as yt, Breadcrumb_default as z };
17504
+ export { SampleLegend_default as $, ReagentEditor_default as A, SegmentedControl_default as At, ProgressBar_default as B, formatSequenceRemaining as C, AppToastContainer_default as Ct, ScientificNumber_default as D, Calendar_default as Dt, ChemicalFormula_default as E, DataFrame_default as Et, BioTemplateExperimentWorkspaceView_default as F, ControlWorkspaceView_default as G, Divider_default as H, BioTemplateRenderer_default as I, SampleSelector_default as J, ComponentBindingRenderer_default as K, ChartContainer_default as L, RackEditor_default as M, BaseTabs_default as Mt, BioTemplatePresetWorkspaceView_default as N, ColorSlider_default as Nt, ProtocolStepEditor_default as O, DropdownButton_default as Ot, BioTemplatePackWorkspaceView_default as P, BaseButton_default as Pt, PlateMapEditor_default as Q, Breadcrumb_default as R, formatSequenceEta as S, IconButton_default as St, sequenceSamplesRemaining as T, FormField_default as Tt, AppContainer_default as U, StatusIndicator_default as V, DoseDesignWorkspaceView_default as W, LoadingSpinner_default as X, AutoGroupModal_default as Y, ReagentList_default as Z, InstrumentStateBadge_default as _, ExperimentPopover_default as _t, ExperimentDataViewer_default as a, AppSidebar_default as at, estimateSequenceFinishDate as b, CollapsibleCard_default as bt, LcmsSequenceTable_default as c, StepWizard_default as ct, extractLcmsCommonPrefix as d, AppAvatarMenu_default as dt, WellPlate_default as et, extractLcmsSampleName as f, PluginIcon_default as ft, InstrumentStatusCard_default as g, Skeleton_default as gt, reconstructLcmsPlateCellsFromSequenceItems as h, EmptyState_default as ht, TimeRangeInput_default as i, AppLayout_default as it, GroupAssigner_default as j, BaseModal_default as jt, SampleHierarchyTree_default as k, BasePill_default as kt, DEFAULT_LCMS_SEQUENCE_COLUMNS as l, AppTopBar_default as lt, lcmsWellIdFromPosition as m, ExperimentCodeBadge_default as mt, FitPanel_default as n, DoseCalculator_default as nt, BatchProgressList_default as o, FormBuilder_default as ot, inferLcmsPlateTypeFromWellIds as p, ExperimentSelectorModal_default as pt, ScheduleCalendar_default as q, ResourceCard_default as r, PluginWorkspaceView_default as rt, AuditTrail_default as s, FormActions_default as st, components_exports as t, ExperimentTimeline_default as tt, basenameFromWindowsPath as u, AppPluginSwitcher_default as ut, InstrumentAlertLog_default as v, ConfirmDialog_default as vt, sequenceProgressPercent as w, AlertBox_default as wt, estimateSequenceRemainingSeconds as x, ThemeToggle_default as xt, SequenceProgressBar_default as y, SettingsModal_default as yt, Avatar_default as z };
18417
17505
 
18418
- //# sourceMappingURL=components-DtHA2bgp.js.map
17506
+ //# sourceMappingURL=components-Blx4MG--.js.map