@morscherlab/mint-sdk 1.5.0-beta.7 → 1.5.0-beta.8

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 (104) hide show
  1. package/dist/{AlertBox-CexONPhA.js → AlertBox-Cai0w7gF.js} +3 -3
  2. package/dist/{AlertBox-CexONPhA.js.map → AlertBox-Cai0w7gF.js.map} +1 -1
  3. package/dist/{AppSidebar-C4qQLHcH.js → AppSidebar-C1DT4nsZ.js} +351 -90
  4. package/dist/AppSidebar-C1DT4nsZ.js.map +1 -0
  5. package/dist/{ConfirmDialog-D9QXFpsy.js → ConfirmDialog-BjFsOpBe.js} +2 -2
  6. package/dist/{ConfirmDialog-D9QXFpsy.js.map → ConfirmDialog-BjFsOpBe.js.map} +1 -1
  7. package/dist/{ExperimentPopover-DyjoXwry.js → ExperimentPopover-DYy_s0kI.js} +21 -20
  8. package/dist/ExperimentPopover-DYy_s0kI.js.map +1 -0
  9. package/dist/{ExperimentSelectorModal-CUkKmgfr.js → ExperimentSelectorModal-Bfh5bdkv.js} +5 -5
  10. package/dist/{ExperimentSelectorModal-CUkKmgfr.js.map → ExperimentSelectorModal-Bfh5bdkv.js.map} +1 -1
  11. package/dist/{SegmentedControl-C-sckoJZ.js → SegmentedControl-B8KgyOjd.js} +2 -2
  12. package/dist/{SegmentedControl-C-sckoJZ.js.map → SegmentedControl-B8KgyOjd.js.map} +1 -1
  13. package/dist/{SettingsModal-B1ltysmg.js → SettingsModal-DPNblTe9.js} +7 -7
  14. package/dist/{SettingsModal-B1ltysmg.js.map → SettingsModal-DPNblTe9.js.map} +1 -1
  15. package/dist/__tests__/components/AppTopBarCompact.test.d.ts +1 -0
  16. package/dist/__tests__/components/AppTopBarCompactReset.test.d.ts +1 -0
  17. package/dist/__tests__/components/AutoGroupModal.experimentLoad.test.d.ts +1 -0
  18. package/dist/components/AppTopBar.compact.d.ts +5 -0
  19. package/dist/components/AppTopBar.vue.d.ts +17 -17
  20. package/dist/components/PluginWorkspaceView.vue.d.ts +4 -0
  21. package/dist/components/internal/AppTopBarPageSelectorInternal.vue.d.ts +2 -2
  22. package/dist/components/internal/LucideIconInternal.vue.d.ts +17 -0
  23. package/dist/composables/appLayoutSidebar.d.ts +9 -0
  24. package/dist/composables/useVersionedSave.d.ts +5 -2
  25. package/dist/{controlSchemaModel-C_XqpkgE.js → controlSchemaModel-BtFNZj8t.js} +2 -2
  26. package/dist/{controlSchemaModel-C_XqpkgE.js.map → controlSchemaModel-BtFNZj8t.js.map} +1 -1
  27. package/dist/{data-CgIcnf9D.js → data-CJztFns8.js} +31 -15
  28. package/dist/{data-CgIcnf9D.js.map → data-CJztFns8.js.map} +1 -1
  29. package/dist/data.js +8 -8
  30. package/dist/{experimentStatus-DCn2QKG7.js → experimentStatus-Deokk7Br.js} +2 -2
  31. package/dist/{experimentStatus-DCn2QKG7.js.map → experimentStatus-Deokk7Br.js.map} +1 -1
  32. package/dist/index.js +14 -14
  33. package/dist/{install-DmyjbTJ5.js → install-9FkKs0iW.js} +14 -15
  34. package/dist/{install-DmyjbTJ5.js.map → install-9FkKs0iW.js.map} +1 -1
  35. package/dist/install.js +1 -1
  36. package/dist/{lab-BcX5JBSY.js → lab-BYhb_cJI.js} +22 -14
  37. package/dist/lab-BYhb_cJI.js.map +1 -0
  38. package/dist/lab.js +4 -4
  39. package/dist/{records-BAymyHAn.js → records-GtiVMlTQ.js} +198 -62
  40. package/dist/records-GtiVMlTQ.js.map +1 -0
  41. package/dist/{runtime-CjfAxufu.js → runtime-DcMsvlaS.js} +29 -12
  42. package/dist/runtime-DcMsvlaS.js.map +1 -0
  43. package/dist/runtime.js +6 -6
  44. package/dist/{shell-XDqDu_UD.js → shell-XZYkAZS_.js} +5 -5
  45. package/dist/{shell-XDqDu_UD.js.map → shell-XZYkAZS_.js.map} +1 -1
  46. package/dist/shell.js +5 -5
  47. package/dist/styles.css +136 -12
  48. package/dist/types/components.d.ts +22 -2
  49. package/dist/types/index.d.ts +1 -1
  50. package/dist/{useDropdownState-uFIz6Yv8.js → useDropdownState-CcBzUYZ6.js} +14 -5
  51. package/dist/useDropdownState-CcBzUYZ6.js.map +1 -0
  52. package/dist/{useExperimentSamples-DEDAKa2E.js → useExperimentSamples-CpNXvpUn.js} +3 -3
  53. package/dist/{useExperimentSamples-DEDAKa2E.js.map → useExperimentSamples-CpNXvpUn.js.map} +1 -1
  54. package/dist/{useListReorder-W1bzK_bo.js → useListReorder-Bp4EAI2w.js} +3 -3
  55. package/dist/{useListReorder-W1bzK_bo.js.map → useListReorder-Bp4EAI2w.js.map} +1 -1
  56. package/dist/{useRackEditor-Bmtuo0aj.js → useRackEditor-i2bdPUFf.js} +8 -8
  57. package/dist/{useRackEditor-Bmtuo0aj.js.map → useRackEditor-i2bdPUFf.js.map} +1 -1
  58. package/dist/{useRealtime-jOetF2mM.js → useRealtime-BLQEjbuq.js} +3 -3
  59. package/dist/{useRealtime-jOetF2mM.js.map → useRealtime-BLQEjbuq.js.map} +1 -1
  60. package/dist/useRequest-CXyPw3eh.js +76 -0
  61. package/dist/useRequest-CXyPw3eh.js.map +1 -0
  62. package/dist/utils/deprecation.d.ts +2 -0
  63. package/dist/utils/lucideIcon.d.ts +4 -0
  64. package/package.json +1 -1
  65. package/src/__tests__/components/AppTopBar.test.ts +102 -20
  66. package/src/__tests__/components/AppTopBarCompact.test.ts +65 -0
  67. package/src/__tests__/components/AppTopBarCompactReset.test.ts +24 -0
  68. package/src/__tests__/components/AutoGroupModal.experimentLoad.test.ts +58 -0
  69. package/src/__tests__/components/BaseModal.test.ts +33 -2
  70. package/src/__tests__/components/PluginWorkspaceView.test.ts +1 -1
  71. package/src/__tests__/composables/useJobCenter.test.ts +35 -0
  72. package/src/__tests__/composables/useVersionedSave.test.ts +71 -6
  73. package/src/__tests__/styles/menusShellRefresh.test.ts +5 -0
  74. package/src/components/AppLayout.story.vue +5 -5
  75. package/src/components/AppLayout.vue +13 -1
  76. package/src/components/AppTopBar.compact.ts +60 -0
  77. package/src/components/AppTopBar.story.vue +39 -14
  78. package/src/components/AppTopBar.vue +222 -89
  79. package/src/components/BaseModal.vue +16 -5
  80. package/src/components/ExperimentPopover.vue +1 -1
  81. package/src/components/GeneratedPluginView.vue +0 -1
  82. package/src/components/PluginWorkspaceView.vue +8 -0
  83. package/src/components/internal/AppTopBarPageSelectorInternal.vue +12 -0
  84. package/src/components/internal/AutoGroupModalInternal.vue +14 -3
  85. package/src/components/internal/LucideIconInternal.vue +23 -0
  86. package/src/composables/appLayoutSidebar.ts +11 -0
  87. package/src/composables/useJobCenter.ts +21 -1
  88. package/src/composables/usePluginWorkspace.ts +1 -1
  89. package/src/composables/useVersionedSave.ts +32 -7
  90. package/src/styles/components/app-layout.css +5 -0
  91. package/src/styles/components/app-top-bar.css +128 -8
  92. package/src/types/components.ts +23 -2
  93. package/src/types/index.ts +1 -0
  94. package/src/utils/deprecation.ts +8 -0
  95. package/src/utils/lucideIcon.ts +25 -0
  96. package/src/utils/lucideIconIndex.d.ts +2 -0
  97. package/dist/AppSidebar-C4qQLHcH.js.map +0 -1
  98. package/dist/ExperimentPopover-DyjoXwry.js.map +0 -1
  99. package/dist/lab-BcX5JBSY.js.map +0 -1
  100. package/dist/records-BAymyHAn.js.map +0 -1
  101. package/dist/runtime-CjfAxufu.js.map +0 -1
  102. package/dist/useDropdownState-uFIz6Yv8.js.map +0 -1
  103. package/dist/useRequest-D9-3BS-3.js +0 -215
  104. package/dist/useRequest-D9-3BS-3.js.map +0 -1
package/dist/lab.js CHANGED
@@ -1,5 +1,5 @@
1
- import { P as time_exports } from "./records-BAymyHAn.js";
2
- import { C as FormulaInput_default, L as definePlateEditor, S as useSequenceUtils, a as StepWizard_default, b as MoleculeInput_default, v as ConcentrationInput_default, w as formula_exports, x as SequenceInput_default, y as useConcentrationUnits, z as defineWellPlate } from "./useListReorder-W1bzK_bo.js";
3
- import { C as defineWellPlateDoseComponentBindings, S as defineWellPlateControlProps, _ as SampleSelector_default, a as useReagentSeries, b as defineDoseCalculatorControlProps, c as InstrumentStatusPanels_default, d as ChemicalFormula_default, f as AdductText_default, g as SampleHierarchyTree_default, h as useProtocolTemplates, i as generateDilutionSeries, l as InstrumentStateBadge_default, m as ProtocolStepEditor_default, n as DEFAULT_PRESETS, o as ResourceCard_default, p as ScientificNumber_default, r as DEFAULT_UNITS, s as TimeRangeInput_default, u as SequenceProgressBar_default, v as useSampleGroups, w as defineWellPlateDoseControlProps, x as defineDoseDesignControlModel } from "./lab-BcX5JBSY.js";
4
- import { C as hexToHsl, E as sampleTypeMarker, S as deriveShade, T as WellPlate_default, _ as mintPlotlyTemplate, b as PlateEditor_default, g as ChartContainer_default, h as PlotlyChart_default, n as ScheduleCalendar_default, r as useScheduleDrag, t as useRackEditor, v as DoseCalculator_default, w as hslToHex, y as dose_exports } from "./useRackEditor-Bmtuo0aj.js";
1
+ import { F as time_exports } from "./records-GtiVMlTQ.js";
2
+ import { C as FormulaInput_default, L as definePlateEditor, S as useSequenceUtils, a as StepWizard_default, b as MoleculeInput_default, v as ConcentrationInput_default, w as formula_exports, x as SequenceInput_default, y as useConcentrationUnits, z as defineWellPlate } from "./useListReorder-Bp4EAI2w.js";
3
+ import { C as defineWellPlateDoseComponentBindings, S as defineWellPlateControlProps, _ as SampleSelector_default, a as useReagentSeries, b as defineDoseCalculatorControlProps, c as InstrumentStatusPanels_default, d as ChemicalFormula_default, f as AdductText_default, g as SampleHierarchyTree_default, h as useProtocolTemplates, i as generateDilutionSeries, l as InstrumentStateBadge_default, m as ProtocolStepEditor_default, n as DEFAULT_PRESETS, o as ResourceCard_default, p as ScientificNumber_default, r as DEFAULT_UNITS, s as TimeRangeInput_default, u as SequenceProgressBar_default, v as useSampleGroups, w as defineWellPlateDoseControlProps, x as defineDoseDesignControlModel } from "./lab-BYhb_cJI.js";
4
+ import { C as hexToHsl, E as sampleTypeMarker, S as deriveShade, T as WellPlate_default, _ as mintPlotlyTemplate, b as PlateEditor_default, g as ChartContainer_default, h as PlotlyChart_default, n as ScheduleCalendar_default, r as useScheduleDrag, t as useRackEditor, v as DoseCalculator_default, w as hslToHex, y as dose_exports } from "./useRackEditor-i2bdPUFf.js";
5
5
  export { AdductText_default as AdductText, ChartContainer_default as ChartContainer, ChemicalFormula_default as ChemicalFormula, ConcentrationInput_default as ConcentrationInput, DEFAULT_PRESETS, DEFAULT_UNITS, DoseCalculator_default as DoseCalculator, FormulaInput_default as FormulaInput, InstrumentStateBadge_default as InstrumentStateBadge, InstrumentStatusPanels_default as InstrumentStatusPanels, MoleculeInput_default as MoleculeInput, PlateEditor_default as PlateEditor, PlotlyChart_default as PlotlyChart, ProtocolStepEditor_default as ProtocolStepEditor, ResourceCard_default as ResourceCard, SampleHierarchyTree_default as SampleHierarchyTree, SampleSelector_default as SampleSelector, ScheduleCalendar_default as ScheduleCalendar, ScientificNumber_default as ScientificNumber, SequenceInput_default as SequenceInput, SequenceProgressBar_default as SequenceProgressBar, StepWizard_default as StepWizard, TimeRangeInput_default as TimeRangeInput, WellPlate_default as WellPlate, defineDoseCalculatorControlProps, defineDoseDesignControlModel, definePlateEditor, defineWellPlate, defineWellPlateControlProps, defineWellPlateDoseComponentBindings, defineWellPlateDoseControlProps, deriveShade, dose_exports as dose, formula_exports as formula, generateDilutionSeries, hexToHsl, hslToHex, mintPlotlyTemplate, sampleTypeMarker, time_exports as time, useConcentrationUnits, useProtocolTemplates, useRackEditor, useReagentSeries, useSampleGroups, useScheduleDrag, useSequenceUtils };
@@ -1,10 +1,10 @@
1
- import { a as BaseButton_default, i as useEventListener, o as __exportAll, t as useDropdownState } from "./useDropdownState-uFIz6Yv8.js";
1
+ import { a as BaseButton_default, i as useEventListener, o as __exportAll, t as useDropdownState } from "./useDropdownState-CcBzUYZ6.js";
2
2
  import { t as useExperimentStore } from "./experiment-DyO54FQB.js";
3
- import { Fragment, Teleport, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, guardReactiveProps, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onScopeDispose, openBlock, provide, ref, renderList, renderSlot, toDisplayString, toValue, unref, useAttrs, useId, useSlots, useTemplateRef, vModelText, watch, withCtx, withDirectives, withKeys, withModifiers } from "vue";
4
- import { Check, ChevronDown, ChevronsUpDown, X } from "lucide-vue-next";
3
+ import { Fragment, Teleport, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, guardReactiveProps, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onMounted, onScopeDispose, openBlock, provide, ref, renderList, renderSlot, toDisplayString, toValue, unref, useAttrs, useId, useSlots, useTemplateRef, vModelText, watch, withCtx, withDirectives, withKeys, withModifiers } from "vue";
4
+ import { Check, ChevronDown, ChevronsUpDown, Ellipsis, X } from "lucide-vue-next";
5
5
  import { autoUpdate, computePosition, flip, hide, offset, shift, size } from "@floating-ui/dom";
6
6
  //#region src/components/BaseInput.vue?vue&type=script&setup=true&lang.ts
7
- var _hoisted_1$12 = [
7
+ var _hoisted_1$13 = [
8
8
  "value",
9
9
  "placeholder",
10
10
  "disabled",
@@ -15,11 +15,11 @@ var _hoisted_1$12 = [
15
15
  "aria-invalid",
16
16
  "aria-describedby"
17
17
  ];
18
- var _hoisted_2$12 = {
18
+ var _hoisted_2$13 = {
19
19
  key: 0,
20
20
  class: "mint-input-group__prefix"
21
21
  };
22
- var _hoisted_3$12 = [
22
+ var _hoisted_3$13 = [
23
23
  "type",
24
24
  "value",
25
25
  "placeholder",
@@ -133,7 +133,7 @@ var BaseInput_default = /* @__PURE__ */ defineComponent({
133
133
  onFocus: _cache[0] || (_cache[0] = ($event) => emit("focus", $event)),
134
134
  onBlur: _cache[1] || (_cache[1] = ($event) => emit("blur", $event)),
135
135
  onKeydown: _cache[2] || (_cache[2] = ($event) => emit("keydown", $event))
136
- }), null, 16, _hoisted_1$12)) : wrapped.value ? (openBlock(), createElementBlock("div", {
136
+ }), null, 16, _hoisted_1$13)) : wrapped.value ? (openBlock(), createElementBlock("div", {
137
137
  key: 1,
138
138
  class: normalizeClass([
139
139
  "mint-input-group",
@@ -144,7 +144,7 @@ var BaseInput_default = /* @__PURE__ */ defineComponent({
144
144
  ]),
145
145
  style: normalizeStyle(unref(attrs).style)
146
146
  }, [
147
- unref(slots).prefix ? (openBlock(), createElementBlock("span", _hoisted_2$12, [renderSlot(_ctx.$slots, "prefix")])) : createCommentVNode("", true),
147
+ unref(slots).prefix ? (openBlock(), createElementBlock("span", _hoisted_2$13, [renderSlot(_ctx.$slots, "prefix")])) : createCommentVNode("", true),
148
148
  createElementVNode("input", mergeProps(inputAttrs.value, {
149
149
  type: __props.type,
150
150
  value: __props.modelValue,
@@ -166,7 +166,7 @@ var BaseInput_default = /* @__PURE__ */ defineComponent({
166
166
  onFocus: _cache[3] || (_cache[3] = ($event) => emit("focus", $event)),
167
167
  onBlur: _cache[4] || (_cache[4] = ($event) => emit("blur", $event)),
168
168
  onKeydown: _cache[5] || (_cache[5] = ($event) => emit("keydown", $event))
169
- }), null, 16, _hoisted_3$12),
169
+ }), null, 16, _hoisted_3$13),
170
170
  unref(slots).suffix ? (openBlock(), createElementBlock("span", _hoisted_4$9, [renderSlot(_ctx.$slots, "suffix")])) : createCommentVNode("", true)
171
171
  ], 6)) : (openBlock(), createElementBlock("input", mergeProps({ key: 2 }, inputAttrs.value, {
172
172
  type: __props.type,
@@ -406,7 +406,7 @@ function uniqueValues(values) {
406
406
  }
407
407
  //#endregion
408
408
  //#region src/components/internal/SelectMultipleInternal.vue?vue&type=script&setup=true&lang.ts
409
- var _hoisted_1$11 = [
409
+ var _hoisted_1$12 = [
410
410
  "tabindex",
411
411
  "aria-expanded",
412
412
  "aria-disabled",
@@ -414,8 +414,8 @@ var _hoisted_1$11 = [
414
414
  "aria-labelledby",
415
415
  "aria-describedby"
416
416
  ];
417
- var _hoisted_2$11 = { class: "mint-multi-select__chips" };
418
- var _hoisted_3$11 = ["aria-label", "onClick"];
417
+ var _hoisted_2$12 = { class: "mint-multi-select__chips" };
418
+ var _hoisted_3$12 = ["aria-label", "onClick"];
419
419
  var _hoisted_4$8 = {
420
420
  key: 0,
421
421
  class: "mint-multi-select__placeholder"
@@ -583,7 +583,7 @@ var SelectMultipleInternal_default = /* @__PURE__ */ defineComponent({
583
583
  "aria-describedby": __props.ariaDescribedby || void 0,
584
584
  onClick: _cache[0] || (_cache[0] = ($event) => open.value ? closePanel() : openPanel()),
585
585
  onKeydown: withModifiers(handleFieldKeydown, ["self"])
586
- }), [createElementVNode("div", _hoisted_2$11, [(openBlock(true), createElementBlock(Fragment, null, renderList(chips.value, (chip) => {
586
+ }), [createElementVNode("div", _hoisted_2$12, [(openBlock(true), createElementBlock(Fragment, null, renderList(chips.value, (chip) => {
587
587
  return openBlock(), createElementBlock("span", {
588
588
  key: String(chip.value),
589
589
  class: "mint-multi-select__chip"
@@ -598,12 +598,12 @@ var SelectMultipleInternal_default = /* @__PURE__ */ defineComponent({
598
598
  size: 11,
599
599
  "stroke-width": 2.25,
600
600
  "aria-hidden": "true"
601
- })], 8, _hoisted_3$11)) : createCommentVNode("", true)]);
601
+ })], 8, _hoisted_3$12)) : createCommentVNode("", true)]);
602
602
  }), 128)), chips.value.length === 0 ? (openBlock(), createElementBlock("span", _hoisted_4$8, toDisplayString(__props.placeholder), 1)) : createCommentVNode("", true)]), createVNode(unref(ChevronDown), {
603
603
  class: "mint-multi-select__icon",
604
604
  size: 14,
605
605
  "aria-hidden": "true"
606
- })], 16, _hoisted_1$11), open.value ? (openBlock(), createElementBlock("div", {
606
+ })], 16, _hoisted_1$12), open.value ? (openBlock(), createElementBlock("div", {
607
607
  key: 0,
608
608
  ref_key: "panel",
609
609
  ref: panel,
@@ -662,15 +662,15 @@ var SelectMultipleInternal_default = /* @__PURE__ */ defineComponent({
662
662
  });
663
663
  //#endregion
664
664
  //#region src/components/internal/SelectSearchableInternal.vue?vue&type=script&setup=true&lang.ts
665
- var _hoisted_1$10 = [
665
+ var _hoisted_1$11 = [
666
666
  "aria-describedby",
667
667
  "aria-labelledby",
668
668
  "disabled",
669
669
  "aria-invalid",
670
670
  "aria-expanded"
671
671
  ];
672
- var _hoisted_2$10 = { class: "mint-searchable-select__search-wrap" };
673
- var _hoisted_3$10 = [
672
+ var _hoisted_2$11 = { class: "mint-searchable-select__search-wrap" };
673
+ var _hoisted_3$11 = [
674
674
  "placeholder",
675
675
  "aria-label",
676
676
  "aria-expanded",
@@ -854,14 +854,14 @@ var SelectSearchableInternal_default = /* @__PURE__ */ defineComponent({
854
854
  }), [createElementVNode("span", { class: normalizeClass(["mint-searchable-select__value", { "mint-searchable-select__value--placeholder": !selectedOption.value }]) }, toDisplayString(selectedOption.value?.label ?? __props.placeholder), 3), createVNode(unref(ChevronsUpDown), {
855
855
  size: 14,
856
856
  "aria-hidden": "true"
857
- })], 16, _hoisted_1$10), open.value ? (openBlock(), createElementBlock("div", {
857
+ })], 16, _hoisted_1$11), open.value ? (openBlock(), createElementBlock("div", {
858
858
  key: 0,
859
859
  ref_key: "panel",
860
860
  ref: panel,
861
861
  class: "mint-popover mint-searchable-select__panel",
862
862
  style: normalizeStyle(unref(panelStyle))
863
863
  }, [
864
- createElementVNode("div", _hoisted_2$10, [_cache[4] || (_cache[4] = createElementVNode("svg", {
864
+ createElementVNode("div", _hoisted_2$11, [_cache[4] || (_cache[4] = createElementVNode("svg", {
865
865
  viewBox: "0 0 20 20",
866
866
  fill: "none",
867
867
  stroke: "currentColor",
@@ -884,7 +884,7 @@ var SelectSearchableInternal_default = /* @__PURE__ */ defineComponent({
884
884
  "aria-activedescendant": activeDescendant.value,
885
885
  "aria-autocomplete": "list",
886
886
  onKeydown: handleSearchKeydown
887
- }, null, 40, _hoisted_3$10), [[vModelText, query.value]])]),
887
+ }, null, 40, _hoisted_3$11), [[vModelText, query.value]])]),
888
888
  createElementVNode("ul", {
889
889
  id: listboxId,
890
890
  class: "mint-searchable-select__list",
@@ -932,19 +932,19 @@ var SelectSearchableInternal_default = /* @__PURE__ */ defineComponent({
932
932
  });
933
933
  //#endregion
934
934
  //#region src/components/BaseSelect.vue?vue&type=script&setup=true&lang.ts
935
- var _hoisted_1$9 = [
935
+ var _hoisted_1$10 = [
936
936
  "value",
937
937
  "disabled",
938
938
  "aria-invalid",
939
939
  "aria-describedby",
940
940
  "aria-labelledby"
941
941
  ];
942
- var _hoisted_2$9 = {
942
+ var _hoisted_2$10 = {
943
943
  key: 0,
944
944
  value: "",
945
945
  disabled: ""
946
946
  };
947
- var _hoisted_3$9 = ["value", "disabled"];
947
+ var _hoisted_3$10 = ["value", "disabled"];
948
948
  //#endregion
949
949
  //#region src/components/BaseSelect.vue
950
950
  var BaseSelect_default = /* @__PURE__ */ defineComponent({
@@ -1082,13 +1082,13 @@ var BaseSelect_default = /* @__PURE__ */ defineComponent({
1082
1082
  __props.disabled ? "mint-select__control--disabled" : ""
1083
1083
  ],
1084
1084
  onChange: handleChange
1085
- }), [__props.placeholder ? (openBlock(), createElementBlock("option", _hoisted_2$9, toDisplayString(__props.placeholder), 1)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(normalizedOptions.value, (option) => {
1085
+ }), [__props.placeholder ? (openBlock(), createElementBlock("option", _hoisted_2$10, toDisplayString(__props.placeholder), 1)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(normalizedOptions.value, (option) => {
1086
1086
  return openBlock(), createElementBlock("option", {
1087
1087
  key: String(option.value),
1088
1088
  value: option.value,
1089
1089
  disabled: option.disabled
1090
- }, toDisplayString(option.label), 9, _hoisted_3$9);
1091
- }), 128))], 16, _hoisted_1$9), _cache[0] || (_cache[0] = createElementVNode("div", { class: "mint-select__icon" }, [createElementVNode("svg", {
1090
+ }, toDisplayString(option.label), 9, _hoisted_3$10);
1091
+ }), 128))], 16, _hoisted_1$10), _cache[0] || (_cache[0] = createElementVNode("div", { class: "mint-select__icon" }, [createElementVNode("svg", {
1092
1092
  fill: "none",
1093
1093
  stroke: "currentColor",
1094
1094
  "stroke-width": "2",
@@ -1101,9 +1101,9 @@ var BaseSelect_default = /* @__PURE__ */ defineComponent({
1101
1101
  });
1102
1102
  //#endregion
1103
1103
  //#region src/components/Tooltip.vue?vue&type=script&setup=true&lang.ts
1104
- var _hoisted_1$8 = ["aria-describedby"];
1105
- var _hoisted_2$8 = { class: "mint-tooltip__body" };
1106
- var _hoisted_3$8 = {
1104
+ var _hoisted_1$9 = ["aria-describedby"];
1105
+ var _hoisted_2$9 = { class: "mint-tooltip__body" };
1106
+ var _hoisted_3$9 = {
1107
1107
  key: 0,
1108
1108
  class: "mint-tooltip__shortcut"
1109
1109
  };
@@ -1172,13 +1172,13 @@ var Tooltip_default = /* @__PURE__ */ defineComponent({
1172
1172
  maxWidth: resolvedMaxWidth(__props.maxWidth)
1173
1173
  }),
1174
1174
  role: "tooltip"
1175
- }, [createElementVNode("span", _hoisted_2$8, toDisplayString(__props.text), 1), __props.shortcut ? (openBlock(), createElementBlock("kbd", _hoisted_3$8, toDisplayString(__props.shortcut), 1)) : createCommentVNode("", true)], 6)) : createCommentVNode("", true)]))], 40, _hoisted_1$8);
1175
+ }, [createElementVNode("span", _hoisted_2$9, toDisplayString(__props.text), 1), __props.shortcut ? (openBlock(), createElementBlock("kbd", _hoisted_3$9, toDisplayString(__props.shortcut), 1)) : createCommentVNode("", true)], 6)) : createCommentVNode("", true)]))], 40, _hoisted_1$9);
1176
1176
  };
1177
1177
  }
1178
1178
  });
1179
1179
  //#endregion
1180
1180
  //#region src/components/internal/CheckboxSwitchInternal.vue?vue&type=script&setup=true&lang.ts
1181
- var _hoisted_1$7 = {
1181
+ var _hoisted_1$8 = {
1182
1182
  key: 0,
1183
1183
  class: "mint-toggle__row-svg",
1184
1184
  viewBox: "0 0 24 24",
@@ -1188,8 +1188,8 @@ var _hoisted_1$7 = {
1188
1188
  "stroke-linecap": "round",
1189
1189
  "stroke-linejoin": "round"
1190
1190
  };
1191
- var _hoisted_2$7 = ["d"];
1192
- var _hoisted_3$7 = ["d"];
1191
+ var _hoisted_2$8 = ["d"];
1192
+ var _hoisted_3$8 = ["d"];
1193
1193
  var _hoisted_4$6 = {
1194
1194
  key: 1,
1195
1195
  class: "mint-toggle__row-text-icon"
@@ -1266,15 +1266,15 @@ var CheckboxSwitchInternal_default = /* @__PURE__ */ defineComponent({
1266
1266
  class: "mint-toggle__row-icon",
1267
1267
  style: normalizeStyle(iconStyle()),
1268
1268
  "aria-hidden": "true"
1269
- }, [isSvgIcon(__props.icon) ? (openBlock(), createElementBlock("svg", _hoisted_1$7, [Array.isArray(__props.icon) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(__props.icon, (d, i) => {
1269
+ }, [isSvgIcon(__props.icon) ? (openBlock(), createElementBlock("svg", _hoisted_1$8, [Array.isArray(__props.icon) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(__props.icon, (d, i) => {
1270
1270
  return openBlock(), createElementBlock("path", {
1271
1271
  key: i,
1272
1272
  d
1273
- }, null, 8, _hoisted_2$7);
1273
+ }, null, 8, _hoisted_2$8);
1274
1274
  }), 128)) : (openBlock(), createElementBlock("path", {
1275
1275
  key: 1,
1276
1276
  d: __props.icon
1277
- }, null, 8, _hoisted_3$7))])) : (openBlock(), createElementBlock("span", _hoisted_4$6, toDisplayString(__props.icon), 1))], 4)) : createCommentVNode("", true),
1277
+ }, null, 8, _hoisted_3$8))])) : (openBlock(), createElementBlock("span", _hoisted_4$6, toDisplayString(__props.icon), 1))], 4)) : createCommentVNode("", true),
1278
1278
  __props.layout === "row" && __props.label ? (openBlock(), createElementBlock("span", _hoisted_5$6, [__props.description ? (openBlock(), createBlock(Tooltip_default, {
1279
1279
  key: 0,
1280
1280
  text: __props.description,
@@ -1313,7 +1313,7 @@ var CheckboxSwitchInternal_default = /* @__PURE__ */ defineComponent({
1313
1313
  });
1314
1314
  //#endregion
1315
1315
  //#region src/components/BaseCheckbox.vue?vue&type=script&setup=true&lang.ts
1316
- var _hoisted_1$6 = {
1316
+ var _hoisted_1$7 = {
1317
1317
  key: 0,
1318
1318
  class: "mint-checkbox__row-svg",
1319
1319
  viewBox: "0 0 24 24",
@@ -1323,8 +1323,8 @@ var _hoisted_1$6 = {
1323
1323
  "stroke-linecap": "round",
1324
1324
  "stroke-linejoin": "round"
1325
1325
  };
1326
- var _hoisted_2$6 = ["d"];
1327
- var _hoisted_3$6 = ["d"];
1326
+ var _hoisted_2$7 = ["d"];
1327
+ var _hoisted_3$7 = ["d"];
1328
1328
  var _hoisted_4$5 = {
1329
1329
  key: 1,
1330
1330
  class: "mint-checkbox__row-text-icon"
@@ -1438,15 +1438,15 @@ var BaseCheckbox_default = /* @__PURE__ */ defineComponent({
1438
1438
  class: "mint-checkbox__row-icon",
1439
1439
  style: normalizeStyle(iconStyle()),
1440
1440
  "aria-hidden": "true"
1441
- }, [isSvgIcon(props.icon) ? (openBlock(), createElementBlock("svg", _hoisted_1$6, [Array.isArray(props.icon) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(props.icon, (d, i) => {
1441
+ }, [isSvgIcon(props.icon) ? (openBlock(), createElementBlock("svg", _hoisted_1$7, [Array.isArray(props.icon) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(props.icon, (d, i) => {
1442
1442
  return openBlock(), createElementBlock("path", {
1443
1443
  key: i,
1444
1444
  d
1445
- }, null, 8, _hoisted_2$6);
1445
+ }, null, 8, _hoisted_2$7);
1446
1446
  }), 128)) : (openBlock(), createElementBlock("path", {
1447
1447
  key: 1,
1448
1448
  d: props.icon
1449
- }, null, 8, _hoisted_3$6))])) : (openBlock(), createElementBlock("span", _hoisted_4$5, toDisplayString(props.icon), 1))], 4)) : createCommentVNode("", true),
1449
+ }, null, 8, _hoisted_3$7))])) : (openBlock(), createElementBlock("span", _hoisted_4$5, toDisplayString(props.icon), 1))], 4)) : createCommentVNode("", true),
1450
1450
  props.layout === "row" && props.label ? (openBlock(), createElementBlock("span", _hoisted_5$5, [props.description ? (openBlock(), createBlock(Tooltip_default, {
1451
1451
  key: 0,
1452
1452
  text: props.description,
@@ -1555,9 +1555,9 @@ function useRovingFocus(options) {
1555
1555
  }
1556
1556
  //#endregion
1557
1557
  //#region src/components/EmptyState.vue?vue&type=script&setup=true&lang.ts
1558
- var _hoisted_1$5 = ["d"];
1559
- var _hoisted_2$5 = ["d"];
1560
- var _hoisted_3$5 = { class: "mint-empty-state__body" };
1558
+ var _hoisted_1$6 = ["d"];
1559
+ var _hoisted_2$6 = ["d"];
1560
+ var _hoisted_3$6 = { class: "mint-empty-state__body" };
1561
1561
  var _hoisted_4$4 = {
1562
1562
  key: 0,
1563
1563
  class: "mint-empty-state__title"
@@ -1614,13 +1614,13 @@ var EmptyState_default = /* @__PURE__ */ defineComponent({
1614
1614
  }, [__props.iconPath ? (openBlock(), createElementBlock("path", {
1615
1615
  key: 0,
1616
1616
  d: __props.iconPath
1617
- }, null, 8, _hoisted_1$5)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, renderList(defaultIconPaths, (d, i) => {
1617
+ }, null, 8, _hoisted_1$6)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, renderList(defaultIconPaths, (d, i) => {
1618
1618
  return createElementVNode("path", {
1619
1619
  key: i,
1620
1620
  d
1621
- }, null, 8, _hoisted_2$5);
1621
+ }, null, 8, _hoisted_2$6);
1622
1622
  }), 64))], 2))])], 2),
1623
- createElementVNode("div", _hoisted_3$5, [
1623
+ createElementVNode("div", _hoisted_3$6, [
1624
1624
  __props.title ? (openBlock(), createElementBlock("h3", _hoisted_4$4, toDisplayString(__props.title), 1)) : createCommentVNode("", true),
1625
1625
  __props.description ? (openBlock(), createElementBlock("p", _hoisted_5$4, toDisplayString(__props.description), 1)) : createCommentVNode("", true),
1626
1626
  _ctx.$slots.default ? (openBlock(), createElementBlock("div", _hoisted_6$4, [renderSlot(_ctx.$slots, "default")])) : createCommentVNode("", true)
@@ -1639,12 +1639,12 @@ var EmptyState_default = /* @__PURE__ */ defineComponent({
1639
1639
  });
1640
1640
  //#endregion
1641
1641
  //#region src/components/FormField.vue?vue&type=script&setup=true&lang.ts
1642
- var _hoisted_1$4 = {
1642
+ var _hoisted_1$5 = {
1643
1643
  key: 0,
1644
1644
  class: "mint-form-field__label-row"
1645
1645
  };
1646
- var _hoisted_2$4 = ["id", "for"];
1647
- var _hoisted_3$4 = {
1646
+ var _hoisted_2$5 = ["id", "for"];
1647
+ var _hoisted_3$5 = {
1648
1648
  key: 0,
1649
1649
  class: "mint-form-field__required",
1650
1650
  "aria-hidden": "true"
@@ -1681,11 +1681,11 @@ var FormField_default = /* @__PURE__ */ defineComponent({
1681
1681
  const describedBy = computed(() => errorId.value ?? hintId.value);
1682
1682
  return (_ctx, _cache) => {
1683
1683
  return openBlock(), createElementBlock("div", { class: normalizeClass(["mint-form-field", __props.layout === "row" ? "mint-form-field--row" : ""]) }, [
1684
- __props.label ? (openBlock(), createElementBlock("div", _hoisted_1$4, [createElementVNode("label", {
1684
+ __props.label ? (openBlock(), createElementBlock("div", _hoisted_1$5, [createElementVNode("label", {
1685
1685
  id: __props.fieldId ? `${__props.fieldId}-label` : void 0,
1686
1686
  for: __props.htmlFor,
1687
1687
  class: "mint-form-field__label"
1688
- }, [createTextVNode(toDisplayString(__props.label) + " ", 1), __props.required ? (openBlock(), createElementBlock("span", _hoisted_3$4, "*")) : createCommentVNode("", true)], 8, _hoisted_2$4), !__props.required && __props.showOptional ? (openBlock(), createElementBlock("span", _hoisted_4$3, " optional ")) : createCommentVNode("", true)])) : createCommentVNode("", true),
1688
+ }, [createTextVNode(toDisplayString(__props.label) + " ", 1), __props.required ? (openBlock(), createElementBlock("span", _hoisted_3$5, "*")) : createCommentVNode("", true)], 8, _hoisted_2$5), !__props.required && __props.showOptional ? (openBlock(), createElementBlock("span", _hoisted_4$3, " optional ")) : createCommentVNode("", true)])) : createCommentVNode("", true),
1689
1689
  __props.layout === "row" ? (openBlock(), createElementBlock("div", _hoisted_5$3, [renderSlot(_ctx.$slots, "default", { describedBy: describedBy.value })])) : renderSlot(_ctx.$slots, "default", { describedBy: describedBy.value }, void 0, void 0, 2),
1690
1690
  __props.error ? (openBlock(), createElementBlock("p", {
1691
1691
  key: 3,
@@ -1910,13 +1910,13 @@ function useMenuKeyboard(options) {
1910
1910
  }
1911
1911
  //#endregion
1912
1912
  //#region src/components/FileUploader.vue?vue&type=script&setup=true&lang.ts
1913
- var _hoisted_1$3 = { class: "mint-file-uploader" };
1914
- var _hoisted_2$3 = [
1913
+ var _hoisted_1$4 = { class: "mint-file-uploader" };
1914
+ var _hoisted_2$4 = [
1915
1915
  "aria-label",
1916
1916
  "aria-disabled",
1917
1917
  "onKeydown"
1918
1918
  ];
1919
- var _hoisted_3$3 = [
1919
+ var _hoisted_3$4 = [
1920
1920
  "accept",
1921
1921
  "multiple",
1922
1922
  "disabled",
@@ -2158,7 +2158,7 @@ var FileUploader_default = /* @__PURE__ */ defineComponent({
2158
2158
  return `${bytes} bytes`;
2159
2159
  }
2160
2160
  return (_ctx, _cache) => {
2161
- return openBlock(), createElementBlock("div", _hoisted_1$3, [
2161
+ return openBlock(), createElementBlock("div", _hoisted_1$4, [
2162
2162
  createElementVNode("div", {
2163
2163
  role: "button",
2164
2164
  tabindex: "0",
@@ -2186,11 +2186,11 @@ var FileUploader_default = /* @__PURE__ */ defineComponent({
2186
2186
  webkitdirectory: isFolder.value || void 0,
2187
2187
  class: "mint-file-uploader__input",
2188
2188
  onChange: handleInputChange
2189
- }, null, 40, _hoisted_3$3), createElementVNode("div", _hoisted_4$2, [isFolder.value ? (openBlock(), createElementBlock("svg", _hoisted_5$2, [..._cache[0] || (_cache[0] = [createElementVNode("path", { d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z" }, null, -1)])])) : (openBlock(), createElementBlock("svg", _hoisted_6$2, [..._cache[1] || (_cache[1] = [
2189
+ }, null, 40, _hoisted_3$4), createElementVNode("div", _hoisted_4$2, [isFolder.value ? (openBlock(), createElementBlock("svg", _hoisted_5$2, [..._cache[0] || (_cache[0] = [createElementVNode("path", { d: "M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z" }, null, -1)])])) : (openBlock(), createElementBlock("svg", _hoisted_6$2, [..._cache[1] || (_cache[1] = [
2190
2190
  createElementVNode("path", { d: "M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3" }, null, -1),
2191
2191
  createElementVNode("path", { d: "m16 16-4-4-4 4" }, null, -1),
2192
2192
  createElementVNode("path", { d: "M12 12v9" }, null, -1)
2193
- ])])), createElementVNode("p", _hoisted_7$2, toDisplayString(isMixed.value ? "Drop files or a folder, or click to choose files" : `Drop ${acceptLabel.value} or click`), 1)])], 42, _hoisted_2$3),
2193
+ ])])), createElementVNode("p", _hoisted_7$2, toDisplayString(isMixed.value ? "Drop files or a folder, or click to choose files" : `Drop ${acceptLabel.value} or click`), 1)])], 42, _hoisted_2$4),
2194
2194
  _ctx.$slots.actions ? (openBlock(), createElementBlock("div", _hoisted_8$1, [renderSlot(_ctx.$slots, "actions")])) : createCommentVNode("", true),
2195
2195
  __props.showFiles && isFolder.value && folderName.value && selectedFiles.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_9$1, [createElementVNode("div", _hoisted_10$1, [_cache[2] || (_cache[2] = createElementVNode("div", { class: "mint-file-uploader__folder-icon-wrapper" }, [createElementVNode("svg", {
2196
2196
  class: "mint-file-uploader__folder-icon",
@@ -2246,6 +2246,142 @@ var FileUploader_default = /* @__PURE__ */ defineComponent({
2246
2246
  }
2247
2247
  });
2248
2248
  //#endregion
2249
+ //#region src/components/ActionMenu.vue?vue&type=script&setup=true&lang.ts
2250
+ var _hoisted_1$3 = {
2251
+ key: 0,
2252
+ class: "mint-menu-separator",
2253
+ role: "separator"
2254
+ };
2255
+ var _hoisted_2$3 = [
2256
+ "href",
2257
+ "target",
2258
+ "rel",
2259
+ "onClick"
2260
+ ];
2261
+ var _hoisted_3$3 = [
2262
+ "role",
2263
+ "aria-checked",
2264
+ "disabled",
2265
+ "onClick"
2266
+ ];
2267
+ //#endregion
2268
+ //#region src/components/ActionMenu.vue
2269
+ var ActionMenu_default = /* @__PURE__ */ defineComponent({
2270
+ __name: "ActionMenu",
2271
+ props: {
2272
+ label: {},
2273
+ items: {},
2274
+ disabled: {
2275
+ type: Boolean,
2276
+ default: false
2277
+ }
2278
+ },
2279
+ emits: [
2280
+ "select",
2281
+ "open",
2282
+ "close"
2283
+ ],
2284
+ setup(__props, { emit: __emit }) {
2285
+ /** Compact overflow actions with an icon-only BaseButton trigger and a viewport-safe teleported menu. */
2286
+ const props = __props;
2287
+ const emit = __emit;
2288
+ const panelRef = ref(null);
2289
+ const { isOpen, rootRef, triggerRef, open, close } = useDropdownState({
2290
+ insideRefs: [panelRef],
2291
+ onOpen: () => emit("open"),
2292
+ onClose: () => emit("close")
2293
+ });
2294
+ const { style: panelStyle } = useFloatingPanel(triggerRef, panelRef, isOpen, { placement: "bottom-end" });
2295
+ onMounted(() => {
2296
+ triggerRef.value = rootRef.value?.querySelector("button") ?? null;
2297
+ });
2298
+ function menuItems() {
2299
+ if (!panelRef.value) return [];
2300
+ return Array.from(panelRef.value.querySelectorAll(".mint-action-menu__item:not(:disabled)"));
2301
+ }
2302
+ /** `focusFirst` is false when the keyboard composable owns the initial focus. */
2303
+ function openMenu(focusFirst = true) {
2304
+ if (props.disabled || isOpen.value) return;
2305
+ open();
2306
+ if (focusFirst) nextTick(() => menuItems()[0]?.focus());
2307
+ }
2308
+ function toggleMenu() {
2309
+ if (props.disabled) return;
2310
+ if (isOpen.value) close();
2311
+ else openMenu();
2312
+ }
2313
+ const { handleTriggerKeydown, handlePanelKeydown } = useMenuKeyboard({
2314
+ items: menuItems,
2315
+ isOpen: () => isOpen.value,
2316
+ open: () => openMenu(false),
2317
+ close
2318
+ });
2319
+ function handleSelect(item) {
2320
+ if (item.disabled) return;
2321
+ emit("select", item);
2322
+ close();
2323
+ }
2324
+ return (_ctx, _cache) => {
2325
+ return openBlock(), createElementBlock(Fragment, null, [createElementVNode("span", {
2326
+ ref_key: "rootRef",
2327
+ ref: rootRef,
2328
+ class: "mint-action-menu"
2329
+ }, [renderSlot(_ctx.$slots, "trigger", {
2330
+ open: unref(isOpen),
2331
+ toggle: toggleMenu,
2332
+ keydown: unref(handleTriggerKeydown)
2333
+ }, () => [createVNode(BaseButton_default, {
2334
+ variant: "secondary",
2335
+ size: "sm",
2336
+ icon: unref(Ellipsis),
2337
+ label: __props.label,
2338
+ disabled: __props.disabled,
2339
+ "aria-haspopup": "menu",
2340
+ "aria-expanded": unref(isOpen),
2341
+ onClick: toggleMenu,
2342
+ onKeydown: unref(handleTriggerKeydown)
2343
+ }, null, 8, [
2344
+ "icon",
2345
+ "label",
2346
+ "disabled",
2347
+ "aria-expanded",
2348
+ "onKeydown"
2349
+ ])])], 512), (openBlock(), createBlock(Teleport, { to: "body" }, [unref(isOpen) ? (openBlock(), createElementBlock("div", {
2350
+ key: 0,
2351
+ ref_key: "panelRef",
2352
+ ref: panelRef,
2353
+ class: "mint-popover mint-action-menu__panel",
2354
+ style: normalizeStyle(unref(panelStyle)),
2355
+ role: "menu",
2356
+ onKeydown: _cache[0] || (_cache[0] = (...args) => unref(handlePanelKeydown) && unref(handlePanelKeydown)(...args))
2357
+ }, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item, index) => {
2358
+ return openBlock(), createElementBlock(Fragment, { key: item.id }, [item.danger && index > 0 && !__props.items[index - 1].danger ? (openBlock(), createElementBlock("div", _hoisted_1$3)) : createCommentVNode("", true), item.href !== void 0 && !item.disabled ? (openBlock(), createElementBlock("a", {
2359
+ key: 1,
2360
+ href: item.href,
2361
+ target: item.target,
2362
+ rel: item.target === "_blank" ? "noopener noreferrer" : void 0,
2363
+ class: normalizeClass(["mint-menu-item mint-action-menu__item", { "mint-menu-item--danger mint-action-menu__item--danger": item.danger }]),
2364
+ role: "menuitem",
2365
+ onClick: ($event) => handleSelect(item)
2366
+ }, toDisplayString(item.label), 11, _hoisted_2$3)) : (openBlock(), createElementBlock("button", {
2367
+ key: 2,
2368
+ type: "button",
2369
+ class: normalizeClass(["mint-menu-item mint-action-menu__item", { "mint-menu-item--danger mint-action-menu__item--danger": item.danger }]),
2370
+ role: item.checked === void 0 ? "menuitem" : "menuitemradio",
2371
+ "aria-checked": item.checked,
2372
+ disabled: item.disabled,
2373
+ onClick: ($event) => handleSelect(item)
2374
+ }, [item.checked !== void 0 ? (openBlock(), createBlock(unref(Check), {
2375
+ key: 0,
2376
+ class: normalizeClass(["mint-action-menu__check", { "mint-action-menu__check--off": !item.checked }]),
2377
+ size: 14,
2378
+ "aria-hidden": "true"
2379
+ }, null, 8, ["class"])) : createCommentVNode("", true), createTextVNode(" " + toDisplayString(item.label), 1)], 10, _hoisted_3$3))], 64);
2380
+ }), 128))], 36)) : createCommentVNode("", true)]))], 64);
2381
+ };
2382
+ }
2383
+ });
2384
+ //#endregion
2249
2385
  //#region src/composables/experiment-utils.ts
2250
2386
  function formatExperimentDate(dateStr) {
2251
2387
  try {
@@ -3230,6 +3366,6 @@ function isRecord(value) {
3230
3366
  return typeof value === "object" && value !== null && !Array.isArray(value);
3231
3367
  }
3232
3368
  //#endregion
3233
- export { formatRelativeTime as A, Tooltip_default as B, formatExperimentDate as C, compareTime as D, useMenuKeyboard as E, toMinutes as F, normalizeOptionInput as G, useListSelection as H, FormField_default as I, BaseInput_default as K, EmptyState_default as L, formatTimeSlot as M, generateTimeSlots as N, durationMinutes as O, time_exports as P, useRovingFocus as R, experimentIdFromRoute as S, FileUploader_default as T, useSelectionLimit as U, BaseSelect_default as V, useFloatingPanel as W, APP_EXPERIMENT_KEY as _, parseExperimentId as a, SORT_OPTIONS as b, SecretInput_default as c, isActiveJobStatus as d, isTerminalJobStatus as f, resolveJobCapabilities as g, normalizeJobState as h, getInjectedPlatformContext as i, formatTime as j, findNearestTimeSlotIndex as k, FORMAT_KEY as l, normalizeJobPercent as m, ResourcePickerListInternal_default as n, resolveCurrentPluginId as o, jobStatusLabel as p, Skeleton_default as r, TagsInput_default as s, isRecord as t, pluginSecrets_exports as u, useAppExperiment as v, resolveExperimentCode as w, datePresetToISO as x, DATE_PRESET_OPTIONS as y, BaseCheckbox_default as z };
3369
+ export { findNearestTimeSlotIndex as A, BaseCheckbox_default as B, formatExperimentDate as C, useMenuKeyboard as D, FileUploader_default as E, time_exports as F, useFloatingPanel as G, BaseSelect_default as H, toMinutes as I, normalizeOptionInput as K, FormField_default as L, formatTime as M, formatTimeSlot as N, compareTime as O, generateTimeSlots as P, EmptyState_default as R, experimentIdFromRoute as S, ActionMenu_default as T, useListSelection as U, Tooltip_default as V, useSelectionLimit as W, APP_EXPERIMENT_KEY as _, parseExperimentId as a, SORT_OPTIONS as b, SecretInput_default as c, isActiveJobStatus as d, isTerminalJobStatus as f, resolveJobCapabilities as g, normalizeJobState as h, getInjectedPlatformContext as i, formatRelativeTime as j, durationMinutes as k, FORMAT_KEY as l, normalizeJobPercent as m, ResourcePickerListInternal_default as n, resolveCurrentPluginId as o, jobStatusLabel as p, BaseInput_default as q, Skeleton_default as r, TagsInput_default as s, isRecord as t, pluginSecrets_exports as u, useAppExperiment as v, resolveExperimentCode as w, datePresetToISO as x, DATE_PRESET_OPTIONS as y, useRovingFocus as z };
3234
3370
 
3235
- //# sourceMappingURL=records-BAymyHAn.js.map
3371
+ //# sourceMappingURL=records-GtiVMlTQ.js.map