@morscherlab/mint-sdk 1.4.0-beta.7 → 1.4.0-beta.9

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 (257) hide show
  1. package/dist/{ActionMenu-CScINahU.js → AlertBox-B2Bgr3ei.js} +40 -209
  2. package/dist/AlertBox-B2Bgr3ei.js.map +1 -0
  3. package/dist/{AppSidebar-BmiiPfz9.js → AppSidebar-Dq9W1jE2.js} +160 -109
  4. package/dist/AppSidebar-Dq9W1jE2.js.map +1 -0
  5. package/dist/{ConfirmDialog-CJ7hqYUP.js → ConfirmDialog-nbJj51is.js} +2 -2
  6. package/dist/{ConfirmDialog-CJ7hqYUP.js.map → ConfirmDialog-nbJj51is.js.map} +1 -1
  7. package/dist/ExperimentPopover-5T1fAq2L.js +337 -0
  8. package/dist/ExperimentPopover-5T1fAq2L.js.map +1 -0
  9. package/dist/{ExperimentSelectorModal-D-9z7cNx.js → ExperimentSelectorModal-65peG4Up.js} +198 -181
  10. package/dist/ExperimentSelectorModal-65peG4Up.js.map +1 -0
  11. package/dist/{SegmentedControl-DERBN-Xd.js → SegmentedControl-BtnnjWzs.js} +2 -2
  12. package/dist/{SegmentedControl-DERBN-Xd.js.map → SegmentedControl-BtnnjWzs.js.map} +1 -1
  13. package/dist/{SettingsModal-CSLE31yg.js → SettingsModal-483nyI6b.js} +9 -9
  14. package/dist/SettingsModal-483nyI6b.js.map +1 -0
  15. package/dist/components/AppSidebar.vue.d.ts +1 -1
  16. package/dist/components/ArtifactSaveDialog.vue.d.ts +9 -1
  17. package/dist/components/AuditTrail.vue.d.ts +1 -1
  18. package/dist/components/BaseSelect.vue.d.ts +2 -2
  19. package/dist/components/ChartContainer.vue.d.ts +2 -0
  20. package/dist/components/DatePicker.vue.d.ts +1 -1
  21. package/dist/components/ExperimentPopover.vue.d.ts +18 -0
  22. package/dist/components/ExperimentSelectorModal.vue.d.ts +0 -4
  23. package/dist/components/FilePicker.vue.d.ts +1 -1
  24. package/dist/components/FileUploader.vue.d.ts +2 -2
  25. package/dist/components/PluginIcon.vue.d.ts +2 -2
  26. package/dist/components/SampleSelector.vue.d.ts +6 -6
  27. package/dist/components/SequenceProgressBar.vue.d.ts +3 -0
  28. package/dist/components/StepWizard.vue.d.ts +3 -0
  29. package/dist/components/internal/AutoGroupModalInternal.vue.d.ts +1 -1
  30. package/dist/components/internal/DatePickerTimeInternal.vue.d.ts +1 -1
  31. package/dist/components/internal/ResourcePickerListInternal.vue.d.ts +2 -7
  32. package/dist/components/internal/SelectMultipleInternal.vue.d.ts +4 -0
  33. package/dist/composables/createClient.d.ts +2 -0
  34. package/dist/composables/index.d.ts +1 -0
  35. package/dist/composables/pluginIdentity.d.ts +24 -0
  36. package/dist/composables/useAppExperiment.d.ts +8 -0
  37. package/dist/composables/useCalendarGrid.d.ts +1 -1
  38. package/dist/composables/useExperimentSelector.d.ts +6 -2
  39. package/dist/composables/usePlatform.d.ts +1 -0
  40. package/dist/{controlSchemaModel-CP5-_nAj.js → controlSchemaModel-B8CTXagP.js} +2 -2
  41. package/dist/{controlSchemaModel-CP5-_nAj.js.map → controlSchemaModel-B8CTXagP.js.map} +1 -1
  42. package/dist/{data-C2PwI_dn.js → data-CgILxDLW.js} +178 -124
  43. package/dist/data-CgILxDLW.js.map +1 -0
  44. package/dist/data.js +8 -8
  45. package/dist/{experimentStatus-BZmU4czV.js → experimentStatus-Cqp6qNrR.js} +3 -3
  46. package/dist/{experimentStatus-BZmU4czV.js.map → experimentStatus-Cqp6qNrR.js.map} +1 -1
  47. package/dist/index.js +19 -19
  48. package/dist/{install-DAID6c2-.js → install-BtLWTk6H.js} +15 -14
  49. package/dist/{install-DAID6c2-.js.map → install-BtLWTk6H.js.map} +1 -1
  50. package/dist/install.js +1 -1
  51. package/dist/{lab-DLwRl_Ql.js → lab-MHzp-_J8.js} +128 -147
  52. package/dist/lab-MHzp-_J8.js.map +1 -0
  53. package/dist/lab.js +4 -3
  54. package/dist/{records-BzTcxekG.js → records-B6gpM_3e.js} +472 -274
  55. package/dist/records-B6gpM_3e.js.map +1 -0
  56. package/dist/{runtime-D6gVat6r.js → runtime-7vfl_bI3.js} +27 -31
  57. package/dist/runtime-7vfl_bI3.js.map +1 -0
  58. package/dist/runtime.js +6 -6
  59. package/dist/{shell-5ju97nOS.js → shell-Cs9OJMnm.js} +5 -5
  60. package/dist/{shell-5ju97nOS.js.map → shell-Cs9OJMnm.js.map} +1 -1
  61. package/dist/shell.js +5 -5
  62. package/dist/styles.css +1606 -1666
  63. package/dist/types/componentWorkflowTypes.d.ts +2 -0
  64. package/dist/types/generated/platformContext.d.ts +1 -0
  65. package/dist/types/generated-ui.d.ts +4 -0
  66. package/dist/{BaseModal-DfRIuVoj.js → useDropdownState-8yWMu-7_.js} +60 -2
  67. package/dist/useDropdownState-8yWMu-7_.js.map +1 -0
  68. package/dist/{useExperimentSamples-CxcnxZ8h.js → useExperimentSamples-DHnxKFAF.js} +3 -3
  69. package/dist/{useExperimentSamples-CxcnxZ8h.js.map → useExperimentSamples-DHnxKFAF.js.map} +1 -1
  70. package/dist/{useListReorder-CcbEYxX-.js → useListReorder-BitdUhxn.js} +109 -277
  71. package/dist/useListReorder-BitdUhxn.js.map +1 -0
  72. package/dist/{useRackEditor-BD5NIo5s.js → useRackEditor-DiwCt77M.js} +71 -57
  73. package/dist/useRackEditor-DiwCt77M.js.map +1 -0
  74. package/dist/{useRealtime-PalKue84.js → useRealtime-C3iy9QkU.js} +7 -4
  75. package/dist/useRealtime-C3iy9QkU.js.map +1 -0
  76. package/dist/useRequest-D506eHi8.js +244 -0
  77. package/dist/useRequest-D506eHi8.js.map +1 -0
  78. package/dist/utils/time.d.ts +7 -0
  79. package/package.json +1 -1
  80. package/src/__tests__/components/AppTopBar.test.ts +51 -2
  81. package/src/__tests__/components/AppTopBarPillNav.test.ts +35 -0
  82. package/src/__tests__/components/ArtifactSaveDialog.test.ts +78 -0
  83. package/src/__tests__/components/BaseSelect.multiple.test.ts +87 -32
  84. package/src/__tests__/components/BaseSelect.test.ts +2 -1
  85. package/src/__tests__/components/BatchProgressList.test.ts +16 -0
  86. package/src/__tests__/components/CalendarGridPanel.test.ts +2 -2
  87. package/src/__tests__/components/ChartContainer.test.ts +11 -0
  88. package/src/__tests__/components/ChemicalFormula.test.ts +6 -3
  89. package/src/__tests__/components/DatePicker.datetime.test.ts +6 -0
  90. package/src/__tests__/components/DatePicker.test.ts +21 -0
  91. package/src/__tests__/components/DatePicker.time.test.ts +2 -2
  92. package/src/__tests__/components/EmptyState.test.ts +1 -1
  93. package/src/__tests__/components/ExperimentPopover.test.ts +125 -16
  94. package/src/__tests__/components/ExperimentSelectorModal.test.ts +119 -13
  95. package/src/__tests__/components/GeneratedPluginView.test.ts +22 -1
  96. package/src/__tests__/components/InstrumentStateBadge.test.ts +4 -4
  97. package/src/__tests__/components/ResourcePickerListInternal.test.ts +0 -20
  98. package/src/__tests__/components/SampleSelector.test.ts +13 -8
  99. package/src/__tests__/components/SequenceProgressBar.test.ts +12 -0
  100. package/src/__tests__/components/StepWizard.test.ts +11 -0
  101. package/src/__tests__/components/WellPlate.decoration.test.ts +11 -4
  102. package/src/__tests__/components/deprecationTags.test.ts +1 -1
  103. package/src/__tests__/composables/useAppExperiment.test.ts +27 -1
  104. package/src/__tests__/composables/useCalendarGrid.test.ts +4 -2
  105. package/src/__tests__/composables/useExperimentSelector.test.ts +111 -0
  106. package/src/__tests__/styles/baseControlsRules.test.ts +6 -2
  107. package/src/__tests__/styles/controlRefreshRules.test.ts +0 -6
  108. package/src/__tests__/styles/cssTokens.test.ts +2 -2
  109. package/src/__tests__/styles/menusShellRefresh.test.ts +14 -10
  110. package/src/__tests__/utils/plotlyTemplate.test.ts +4 -4
  111. package/src/__tests__/utils/time.test.ts +18 -1
  112. package/src/components/AdductText.story.vue +7 -0
  113. package/src/components/AdductText.vue +1 -1
  114. package/src/components/AlertBox.story.vue +2 -2
  115. package/src/components/AlertBox.vue +18 -16
  116. package/src/components/AppSidebar.story.vue +0 -28
  117. package/src/components/AppTopBar.story.vue +47 -12
  118. package/src/components/AppTopBar.vue +118 -114
  119. package/src/components/ArtifactSaveDialog.story.vue +23 -0
  120. package/src/components/ArtifactSaveDialog.vue +102 -12
  121. package/src/components/AuditTrail.story.vue +2 -1
  122. package/src/components/AuditTrail.vue +2 -21
  123. package/src/components/Avatar.vue +10 -14
  124. package/src/components/BaseSelect.multiple.story.vue +13 -2
  125. package/src/components/BaseSelect.vue +4 -3
  126. package/src/components/BatchProgressList.vue +35 -25
  127. package/src/components/ChartContainer.story.vue +2 -1
  128. package/src/components/ChartContainer.vue +8 -6
  129. package/src/components/ConfirmDialog.story.vue +1 -1
  130. package/src/components/EmptyState.vue +1 -1
  131. package/src/components/ExperimentPopover.story.vue +165 -53
  132. package/src/components/ExperimentPopover.vue +169 -187
  133. package/src/components/ExperimentSelectorModal.story.vue +40 -36
  134. package/src/components/ExperimentSelectorModal.vue +124 -110
  135. package/src/components/FormField.story.vue +8 -48
  136. package/src/components/GeneratedPluginView.vue +7 -1
  137. package/src/components/InstrumentStateBadge.vue +1 -1
  138. package/src/components/JobsStatusTray.vue +1 -1
  139. package/src/components/LoadingSpinner.vue +1 -1
  140. package/src/components/NumberInput.vue +3 -6
  141. package/src/components/PluginIcon.story.vue +2 -10
  142. package/src/components/PluginIcon.vue +2 -2
  143. package/src/components/PluginWorkspaceView.story.vue +1 -1
  144. package/src/components/RuntimeUpdateNotice.vue +1 -1
  145. package/src/components/SampleSelector.story.vue +1 -1
  146. package/src/components/SampleSelector.vue +27 -37
  147. package/src/components/SampleSelectorGroupNode.vue +1 -1
  148. package/src/components/SectionCard.story.vue +2 -2
  149. package/src/components/SequenceProgressBar.story.vue +9 -0
  150. package/src/components/SequenceProgressBar.vue +6 -1
  151. package/src/components/SettingsModal.schema.ts +1 -1
  152. package/src/components/SettingsModal.vue +2 -2
  153. package/src/components/SmartGroupFieldRecipe.story.vue +1 -1
  154. package/src/components/SmartGroupManual.story.vue +1 -1
  155. package/src/components/StepWizard.story.vue +33 -0
  156. package/src/components/StepWizard.vue +8 -1
  157. package/src/components/WellPlate.story.vue +3 -1
  158. package/src/components/WellPlate.vue +7 -0
  159. package/src/components/internal/AppTopBarPillNavInternal.vue +33 -2
  160. package/src/components/internal/DatePickerDateInternal.vue +16 -40
  161. package/src/components/internal/DatePickerDateTimeInternal.vue +3 -13
  162. package/src/components/internal/DatePickerTimeInternal.vue +5 -8
  163. package/src/components/internal/ResourcePickerListInternal.vue +45 -85
  164. package/src/components/internal/SelectMultipleInternal.vue +182 -65
  165. package/src/components/internal/SelectSearchableInternal.vue +2 -3
  166. package/src/composables/createClient.ts +2 -0
  167. package/src/composables/index.ts +1 -0
  168. package/src/composables/pluginIdentity.ts +31 -0
  169. package/src/composables/useAppExperiment.ts +20 -0
  170. package/src/composables/useCalendarGrid.ts +4 -3
  171. package/src/composables/useExperimentSelector.ts +77 -31
  172. package/src/styles/components/adduct-text.css +13 -5
  173. package/src/styles/components/alert-box.css +39 -58
  174. package/src/styles/components/app-layout.css +6 -5
  175. package/src/styles/components/app-page-selector.css +3 -1
  176. package/src/styles/components/app-pill-nav.css +11 -12
  177. package/src/styles/components/app-sidebar.css +9 -18
  178. package/src/styles/components/app-top-bar.css +57 -55
  179. package/src/styles/components/artifact-save-dialog.css +153 -2
  180. package/src/styles/components/audit-trail.css +16 -19
  181. package/src/styles/components/avatar.css +6 -4
  182. package/src/styles/components/batch-progress-list.css +38 -36
  183. package/src/styles/components/button.css +28 -59
  184. package/src/styles/components/calendar.css +12 -12
  185. package/src/styles/components/chart-container.css +34 -23
  186. package/src/styles/components/checkbox.css +2 -12
  187. package/src/styles/components/collapsible-card.css +27 -29
  188. package/src/styles/components/confirm-dialog.css +13 -14
  189. package/src/styles/components/dataframe.css +12 -4
  190. package/src/styles/components/date-picker.css +80 -92
  191. package/src/styles/components/datetime-picker.css +31 -43
  192. package/src/styles/components/divider.css +20 -20
  193. package/src/styles/components/dose-calculator.css +3 -3
  194. package/src/styles/components/empty-state.css +20 -17
  195. package/src/styles/components/experiment-code-badge.css +2 -0
  196. package/src/styles/components/experiment-popover.css +174 -329
  197. package/src/styles/components/experiment-selector-modal.css +75 -56
  198. package/src/styles/components/file-picker.css +3 -3
  199. package/src/styles/components/file-uploader.css +38 -49
  200. package/src/styles/components/form-builder.css +3 -3
  201. package/src/styles/components/formula-input.css +1 -1
  202. package/src/styles/components/icon-button.css +18 -24
  203. package/src/styles/components/input.css +5 -4
  204. package/src/styles/components/instrument-monitor.css +13 -15
  205. package/src/styles/components/jobs-status-tray.css +31 -25
  206. package/src/styles/components/modal.css +2 -4
  207. package/src/styles/components/molecule-input.css +2 -2
  208. package/src/styles/components/multi-select.css +65 -117
  209. package/src/styles/components/number-input.css +26 -19
  210. package/src/styles/components/pill.css +3 -2
  211. package/src/styles/components/plate-editor.css +0 -1
  212. package/src/styles/components/plugin-icon.css +26 -23
  213. package/src/styles/components/popover.css +2 -2
  214. package/src/styles/components/presence-avatars.css +1 -1
  215. package/src/styles/components/protocol-step-editor.css +1 -3
  216. package/src/styles/components/resource-card.css +2 -2
  217. package/src/styles/components/resource-picker-list.css +6 -57
  218. package/src/styles/components/sample-hierarchy-tree.css +4 -4
  219. package/src/styles/components/sample-selector.css +95 -79
  220. package/src/styles/components/schedule-calendar.css +8 -8
  221. package/src/styles/components/searchable-select.css +12 -12
  222. package/src/styles/components/section-card.css +28 -47
  223. package/src/styles/components/segmented-control.css +18 -15
  224. package/src/styles/components/select.css +3 -3
  225. package/src/styles/components/sequence-input.css +2 -2
  226. package/src/styles/components/sequence-progress-bar.css +17 -8
  227. package/src/styles/components/smart-group.css +18 -18
  228. package/src/styles/components/step-wizard.css +52 -16
  229. package/src/styles/components/tabs.css +2 -2
  230. package/src/styles/components/textarea.css +3 -3
  231. package/src/styles/components/time-picker.css +36 -21
  232. package/src/styles/components/toast.css +12 -10
  233. package/src/styles/components/toggle.css +1 -11
  234. package/src/styles/components/tooltip.css +10 -9
  235. package/src/styles/components/unit-input.css +8 -7
  236. package/src/styles/components/well-plate.css +9 -2
  237. package/src/styles/variables.css +106 -75
  238. package/src/types/componentWorkflowTypes.ts +2 -0
  239. package/src/types/generated/platformContext.ts +1 -0
  240. package/src/types/generated-ui.ts +4 -0
  241. package/src/utils/time.ts +21 -0
  242. package/dist/ActionMenu-CScINahU.js.map +0 -1
  243. package/dist/AppSidebar-BmiiPfz9.js.map +0 -1
  244. package/dist/BaseModal-DfRIuVoj.js.map +0 -1
  245. package/dist/ExperimentPopover-C4sGw-is.js +0 -359
  246. package/dist/ExperimentPopover-C4sGw-is.js.map +0 -1
  247. package/dist/ExperimentSelectorModal-D-9z7cNx.js.map +0 -1
  248. package/dist/SettingsModal-CSLE31yg.js.map +0 -1
  249. package/dist/data-C2PwI_dn.js.map +0 -1
  250. package/dist/lab-DLwRl_Ql.js.map +0 -1
  251. package/dist/records-BzTcxekG.js.map +0 -1
  252. package/dist/runtime-D6gVat6r.js.map +0 -1
  253. package/dist/useListReorder-CcbEYxX-.js.map +0 -1
  254. package/dist/useRackEditor-BD5NIo5s.js.map +0 -1
  255. package/dist/useRealtime-PalKue84.js.map +0 -1
  256. package/dist/useRequest-D5JDfsgZ.js +0 -76
  257. package/dist/useRequest-D5JDfsgZ.js.map +0 -1
@@ -1,9 +1,10 @@
1
- import { a as __exportAll, i as BaseButton_default, n as useFocusTrap, t as BaseModal_default } from "./BaseModal-DfRIuVoj.js";
1
+ import { a as BaseButton_default, n as BaseModal_default, o as __exportAll, r as useFocusTrap, t as useDropdownState } from "./useDropdownState-8yWMu-7_.js";
2
2
  import { d as tryUseSettingsStore, m as mintApiErrorFromResponse, p as MintApiError, t as useExperimentStore } from "./experiment-43OJtH7R.js";
3
- import { C as formatExperimentDate, D as useDropdownState, E as useMenuKeyboard, I as normalizeOptionInput, L as BaseInput_default, N as BaseSelect_default, T as FileUploader_default, d as normalizeJobState, i as getInjectedPlatformContext, j as BaseCheckbox_default, m as SecretInput_default, n as ResourcePickerListInternal_default, p as TagsInput_default, s as isActiveJobStatus } from "./records-BzTcxekG.js";
3
+ import { C as formatExperimentDate, D as compareTime, E as useMenuKeyboard, F as toMinutes, G as BaseInput_default, M as formatTimeSlot, N as generateTimeSlots, T as FileUploader_default, V as BaseSelect_default, W as normalizeOptionInput, d as normalizeJobState, i as getInjectedPlatformContext, j as formatTime, k as findNearestTimeSlotIndex, m as SecretInput_default, n as ResourcePickerListInternal_default, p as TagsInput_default, s as isActiveJobStatus, z as BaseCheckbox_default } from "./records-B6gpM_3e.js";
4
4
  import "./auth-SliLnFre.js";
5
5
  import { getRoleInfo, hasAllPermissions, isAdminUser } from "./permissions.js";
6
6
  import { Fragment, Teleport, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createStaticVNode, createTextVNode, createVNode, defineComponent, getCurrentInstance, getCurrentScope, inject, mergeProps, nextTick, normalizeClass, normalizeStyle, onBeforeUnmount, onMounted, onScopeDispose, onUnmounted, openBlock, ref, renderList, renderSlot, shallowRef, toDisplayString, toValue, unref, useAttrs, useId, useTemplateRef, vShow, watch, withCtx, withDirectives, withModifiers } from "vue";
7
+ import { ChevronDown, ChevronUp } from "lucide-vue-next";
7
8
  import { autoUpdate, computePosition, flip, offset, shift } from "@floating-ui/dom";
8
9
  //#region src/components/BaseRadioGroup.vue?vue&type=script&setup=true&lang.ts
9
10
  var _hoisted_1$12 = { class: "mint-radio-option__input-wrapper" };
@@ -16,7 +17,7 @@ var _hoisted_2$12 = [
16
17
  "onChange"
17
18
  ];
18
19
  var _hoisted_3$12 = { class: "mint-radio-option__content" };
19
- var _hoisted_4$11 = ["id"];
20
+ var _hoisted_4$10 = ["id"];
20
21
  var _hoisted_5$9 = [
21
22
  "name",
22
23
  "value",
@@ -89,7 +90,7 @@ var BaseRadioGroup_default = /* @__PURE__ */ defineComponent({
89
90
  key: 0,
90
91
  id: `${props.name}-${option.value}-desc`,
91
92
  class: normalizeClass(["mint-radio-option__description", `mint-radio-option__description--${props.size}`])
92
- }, toDisplayString(option.description), 11, _hoisted_4$11)) : createCommentVNode("", true)])], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
93
+ }, toDisplayString(option.description), 11, _hoisted_4$10)) : createCommentVNode("", true)])], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
93
94
  createElementVNode("input", {
94
95
  type: "radio",
95
96
  name: props.name,
@@ -369,15 +370,15 @@ function definePlateEditor(spec) {
369
370
  //#endregion
370
371
  //#region src/composables/useCalendarGrid.ts
371
372
  var WEEK_DAYS = [
372
- "Su",
373
373
  "Mo",
374
374
  "Tu",
375
375
  "We",
376
376
  "Th",
377
377
  "Fr",
378
- "Sa"
378
+ "Sa",
379
+ "Su"
379
380
  ];
380
- /** Shared calendar grid state for date and datetime pickers. */
381
+ /** Shared Monday-first calendar grid state for date and datetime pickers. */
381
382
  function useCalendarGrid(options = {}) {
382
383
  const currentMonth = ref(/* @__PURE__ */ new Date());
383
384
  const monthYear = computed(() => {
@@ -392,7 +393,7 @@ function useCalendarGrid(options = {}) {
392
393
  const firstDay = new Date(year, month, 1);
393
394
  const lastDay = new Date(year, month + 1, 0);
394
395
  const days = [];
395
- const startPadding = firstDay.getDay();
396
+ const startPadding = (firstDay.getDay() + 6) % 7;
396
397
  for (let i = startPadding - 1; i >= 0; i--) {
397
398
  const date = new Date(year, month, -i);
398
399
  days.push({
@@ -475,7 +476,7 @@ function startOfDay(date) {
475
476
  var _hoisted_1$10 = { class: "mint-calendar-grid-panel" };
476
477
  var _hoisted_2$10 = { class: "mint-date-picker__header" };
477
478
  var _hoisted_3$10 = ["aria-label"];
478
- var _hoisted_4$10 = { class: "mint-date-picker__month-year" };
479
+ var _hoisted_4$9 = { class: "mint-date-picker__month-year" };
479
480
  var _hoisted_5$8 = ["aria-label"];
480
481
  var _hoisted_6$8 = { class: "mint-date-picker__weekdays" };
481
482
  var _hoisted_7$7 = { class: "mint-date-picker__grid" };
@@ -539,7 +540,7 @@ var CalendarGridPanelInternal_default = /* @__PURE__ */ defineComponent({
539
540
  "stroke-linejoin": "round",
540
541
  "aria-hidden": "true"
541
542
  }, [createElementVNode("path", { d: "m15 18-6-6 6-6" })], -1)])], 8, _hoisted_3$10),
542
- createElementVNode("span", _hoisted_4$10, toDisplayString(__props.monthYear), 1),
543
+ createElementVNode("span", _hoisted_4$9, toDisplayString(__props.monthYear), 1),
543
544
  createElementVNode("button", {
544
545
  type: "button",
545
546
  class: "mint-date-picker__nav-btn",
@@ -595,7 +596,6 @@ var _hoisted_3$9 = [
595
596
  "placeholder",
596
597
  "disabled"
597
598
  ];
598
- var _hoisted_4$9 = { class: "mint-date-picker__footer" };
599
599
  //#endregion
600
600
  //#region src/components/internal/DatePickerDateInternal.vue
601
601
  var DatePickerDateInternal_default = /* @__PURE__ */ defineComponent({
@@ -634,7 +634,7 @@ var DatePickerDateInternal_default = /* @__PURE__ */ defineComponent({
634
634
  containerRef: dropdownRef,
635
635
  active: isOpen
636
636
  });
637
- const { weekDays, monthYear, calendarDays, isDateDisabled, formatDateValue, setCurrentMonthFromDate, prevMonth, nextMonth } = useCalendarGrid({
637
+ const { weekDays, monthYear, calendarDays, formatDateValue, setCurrentMonthFromDate, prevMonth, nextMonth } = useCalendarGrid({
638
638
  min: () => props.min,
639
639
  max: () => props.max
640
640
  });
@@ -643,27 +643,12 @@ var DatePickerDateInternal_default = /* @__PURE__ */ defineComponent({
643
643
  const date = /* @__PURE__ */ new Date(props.modelValue + "T00:00:00");
644
644
  return isNaN(date.getTime()) ? null : date;
645
645
  });
646
- const displayValue = computed(() => {
647
- if (!selectedDate.value) return "";
648
- return selectedDate.value.toLocaleDateString("en-US", {
649
- year: "numeric",
650
- month: "short",
651
- day: "numeric"
652
- });
653
- });
646
+ const displayValue = computed(() => selectedDate.value ? formatDateValue(selectedDate.value) : "");
654
647
  function selectDate(day) {
655
648
  if (day.isDisabled || props.disabled) return;
656
649
  emit("update:modelValue", formatDateValue(day.date));
657
650
  close();
658
651
  }
659
- function goToToday() {
660
- const today = /* @__PURE__ */ new Date();
661
- setCurrentMonthFromDate(today);
662
- if (!isDateDisabled(today)) {
663
- emit("update:modelValue", formatDateValue(today));
664
- close();
665
- }
666
- }
667
652
  function clear() {
668
653
  emit("update:modelValue", void 0);
669
654
  close();
@@ -730,25 +715,43 @@ var DatePickerDateInternal_default = /* @__PURE__ */ defineComponent({
730
715
  });
731
716
  onBeforeUnmount(stopPositioning);
732
717
  return (_ctx, _cache) => {
733
- return openBlock(), createElementBlock("div", _hoisted_1$9, [createElementVNode("div", _hoisted_2$9, [createElementVNode("input", {
734
- ref_key: "triggerRef",
735
- ref: triggerRef,
736
- type: "text",
737
- readonly: "",
738
- "aria-haspopup": "dialog",
739
- "aria-expanded": unref(isOpen),
740
- value: displayValue.value,
741
- placeholder: __props.placeholder || "Select date",
742
- disabled: __props.disabled,
743
- class: normalizeClass([
744
- "mint-date-picker__input",
745
- `mint-date-picker__input--${__props.size}`,
746
- __props.invalid ? "mint-date-picker__input--error" : "",
747
- __props.disabled ? "mint-date-picker__input--disabled" : ""
748
- ]),
749
- onClick: toggleCalendar,
750
- onKeydown: handleTriggerKeydown
751
- }, null, 42, _hoisted_3$9), _cache[0] || (_cache[0] = createStaticVNode("<div class=\"mint-date-picker__icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M8 2v4\"></path><path d=\"M16 2v4\"></path><rect width=\"18\" height=\"18\" x=\"3\" y=\"4\" rx=\"2\"></rect><path d=\"M3 10h18\"></path></svg></div>", 1))]), (openBlock(), createBlock(Teleport, { to: "body" }, [createVNode(Transition, {
718
+ return openBlock(), createElementBlock("div", _hoisted_1$9, [createElementVNode("div", _hoisted_2$9, [
719
+ _cache[1] || (_cache[1] = createStaticVNode("<div class=\"mint-date-picker__icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M8 2v4\"></path><path d=\"M16 2v4\"></path><rect width=\"18\" height=\"18\" x=\"3\" y=\"4\" rx=\"2\"></rect><path d=\"M3 10h18\"></path></svg></div>", 1)),
720
+ createElementVNode("input", {
721
+ ref_key: "triggerRef",
722
+ ref: triggerRef,
723
+ type: "text",
724
+ readonly: "",
725
+ "aria-haspopup": "dialog",
726
+ "aria-expanded": unref(isOpen),
727
+ value: displayValue.value,
728
+ placeholder: __props.placeholder || "Select date",
729
+ disabled: __props.disabled,
730
+ class: normalizeClass([
731
+ "mint-date-picker__input",
732
+ `mint-date-picker__input--${__props.size}`,
733
+ __props.invalid ? "mint-date-picker__input--error" : "",
734
+ __props.disabled ? "mint-date-picker__input--disabled" : ""
735
+ ]),
736
+ onClick: toggleCalendar,
737
+ onKeydown: handleTriggerKeydown
738
+ }, null, 42, _hoisted_3$9),
739
+ __props.clearable && __props.modelValue && !__props.disabled ? (openBlock(), createElementBlock("button", {
740
+ key: 0,
741
+ type: "button",
742
+ class: "mint-date-picker__clear-btn",
743
+ "aria-label": "Clear date",
744
+ onClick: withModifiers(clear, ["stop"])
745
+ }, [..._cache[0] || (_cache[0] = [createElementVNode("svg", {
746
+ viewBox: "0 0 24 24",
747
+ fill: "none",
748
+ stroke: "currentColor",
749
+ "stroke-width": "2",
750
+ "stroke-linecap": "round",
751
+ "stroke-linejoin": "round",
752
+ "aria-hidden": "true"
753
+ }, [createElementVNode("path", { d: "M18 6 6 18" }), createElementVNode("path", { d: "m6 6 12 12" })], -1)])])) : createCommentVNode("", true)
754
+ ]), (openBlock(), createBlock(Teleport, { to: "body" }, [createVNode(Transition, {
752
755
  "enter-active-class": "mint-date-picker__dropdown-enter-active",
753
756
  "enter-from-class": "mint-date-picker__dropdown-enter-from",
754
757
  "enter-to-class": "mint-date-picker__dropdown-enter-to",
@@ -779,148 +782,13 @@ var DatePickerDateInternal_default = /* @__PURE__ */ defineComponent({
779
782
  "selected-date",
780
783
  "onPreviousMonth",
781
784
  "onNextMonth"
782
- ]), createElementVNode("div", _hoisted_4$9, [createElementVNode("button", {
783
- type: "button",
784
- class: "mint-date-picker__footer-btn mint-date-picker__today-btn",
785
- onClick: goToToday
786
- }, " Today "), __props.clearable && __props.modelValue ? (openBlock(), createElementBlock("button", {
787
- key: 0,
788
- type: "button",
789
- class: "mint-date-picker__footer-btn mint-date-picker__clear-btn",
790
- onClick: clear
791
- }, " Clear ")) : createCommentVNode("", true)])], 4)) : createCommentVNode("", true)]),
785
+ ])], 4)) : createCommentVNode("", true)]),
792
786
  _: 1
793
787
  })]))], 512);
794
788
  };
795
789
  }
796
790
  });
797
791
  //#endregion
798
- //#region src/utils/time.ts
799
- var time_exports = /* @__PURE__ */ __exportAll({
800
- addMinutes: () => addMinutes,
801
- compareTime: () => compareTime,
802
- durationMinutes: () => durationMinutes,
803
- findAvailableSlots: () => findAvailableSlots,
804
- findNearestTimeSlotIndex: () => findNearestTimeSlotIndex,
805
- formatDuration: () => formatDuration,
806
- formatTime: () => formatTime,
807
- formatTimeSlot: () => formatTimeSlot,
808
- fromMinutes: () => fromMinutes,
809
- generateTimeSlots: () => generateTimeSlots,
810
- isTimeInRange: () => isTimeInRange,
811
- parseTime: () => parseTime,
812
- rangesOverlap: () => rangesOverlap,
813
- snapToSlot: () => snapToSlot,
814
- toMinutes: () => toMinutes
815
- });
816
- function parseTime(time) {
817
- const [h, m] = time.split(":").map(Number);
818
- return {
819
- hour: h,
820
- minute: m
821
- };
822
- }
823
- function formatTime(hour, minute, format = "24h") {
824
- if (format === "24h") return `${String(hour).padStart(2, "0")}:${String(minute).padStart(2, "0")}`;
825
- const period = hour >= 12 ? "PM" : "AM";
826
- return `${hour === 0 ? 12 : hour > 12 ? hour - 12 : hour}:${String(minute).padStart(2, "0")} ${period}`;
827
- }
828
- function formatTimeSlot(time, format = "24h") {
829
- const { hour, minute } = parseTime(time);
830
- return formatTime(hour, minute, format);
831
- }
832
- function generateTimeSlots(start, end, stepMinutes) {
833
- const slots = [];
834
- const s = parseTime(start);
835
- const e = parseTime(end);
836
- const startMin = s.hour * 60 + s.minute;
837
- const endMin = e.hour * 60 + e.minute;
838
- for (let m = startMin; m <= endMin; m += stepMinutes) {
839
- const hour = Math.floor(m / 60);
840
- const minute = m % 60;
841
- if (hour >= 24) break;
842
- slots.push(formatTime(hour, minute));
843
- }
844
- return slots;
845
- }
846
- function rangesOverlap(a, b) {
847
- const aStart = toMinutes(a.start);
848
- const aEnd = toMinutes(a.end);
849
- const bStart = toMinutes(b.start);
850
- return aStart < toMinutes(b.end) && bStart < aEnd;
851
- }
852
- function durationMinutes(start, end) {
853
- return toMinutes(end) - toMinutes(start);
854
- }
855
- function formatDuration(minutes) {
856
- if (minutes < 0) return "-" + formatDuration(-minutes);
857
- const h = Math.floor(minutes / 60);
858
- const m = minutes % 60;
859
- if (h === 0) return `${m}m`;
860
- if (m === 0) return `${h}h`;
861
- return `${h}h ${m}m`;
862
- }
863
- function isTimeInRange(time, start, end) {
864
- const t = toMinutes(time);
865
- return t >= toMinutes(start) && t <= toMinutes(end);
866
- }
867
- function findAvailableSlots(dayStart, dayEnd, occupied, minDuration) {
868
- const sorted = [...occupied].sort((a, b) => toMinutes(a.start) - toMinutes(b.start));
869
- const available = [];
870
- let cursor = toMinutes(dayStart);
871
- const end = toMinutes(dayEnd);
872
- for (const slot of sorted) {
873
- const slotStart = toMinutes(slot.start);
874
- const slotEnd = toMinutes(slot.end);
875
- if (slotStart > cursor && slotStart - cursor >= minDuration) available.push({
876
- start: fromMinutes(cursor),
877
- end: fromMinutes(slotStart)
878
- });
879
- cursor = Math.max(cursor, slotEnd);
880
- }
881
- if (end > cursor && end - cursor >= minDuration) available.push({
882
- start: fromMinutes(cursor),
883
- end: fromMinutes(end)
884
- });
885
- return available;
886
- }
887
- function snapToSlot(time, stepMinutes) {
888
- const total = toMinutes(time);
889
- return fromMinutes(Math.round(total / stepMinutes) * stepMinutes);
890
- }
891
- function addMinutes(time, minutes) {
892
- const total = toMinutes(time) + minutes;
893
- return fromMinutes(Math.max(0, Math.min(total, 1439)));
894
- }
895
- function compareTime(a, b) {
896
- const ma = toMinutes(a);
897
- const mb = toMinutes(b);
898
- if (ma < mb) return -1;
899
- if (ma > mb) return 1;
900
- return 0;
901
- }
902
- function findNearestTimeSlotIndex(time, slots) {
903
- if (slots.length === 0) return -1;
904
- const target = toMinutes(time);
905
- let bestIndex = 0;
906
- let bestDiff = Infinity;
907
- for (let index = 0; index < slots.length; index++) {
908
- const diff = Math.abs(toMinutes(slots[index]) - target);
909
- if (diff < bestDiff) {
910
- bestDiff = diff;
911
- bestIndex = index;
912
- }
913
- }
914
- return bestIndex;
915
- }
916
- function toMinutes(time) {
917
- const { hour, minute } = parseTime(time);
918
- return hour * 60 + minute;
919
- }
920
- function fromMinutes(total) {
921
- return formatTime(Math.floor(total / 60) % 24, total % 60);
922
- }
923
- //#endregion
924
792
  //#region src/components/internal/DatePickerDateTimeInternal.vue?vue&type=script&setup=true&lang.ts
925
793
  var _hoisted_1$8 = {
926
794
  ref: "root",
@@ -998,11 +866,8 @@ var DatePickerDateTimeInternal_default = /* @__PURE__ */ defineComponent({
998
866
  });
999
867
  const displayValue = computed(() => {
1000
868
  if (!selectedDate.value) return "";
1001
- return `${selectedDate.value.toLocaleDateString(props.locale, {
1002
- year: "numeric",
1003
- month: "short",
1004
- day: "numeric"
1005
- })} ${formatTime(selectedDate.value.getHours(), selectedDate.value.getMinutes(), props.timeFormat)}`;
869
+ const timeStr = formatTime(selectedDate.value.getHours(), selectedDate.value.getMinutes(), props.timeFormat);
870
+ return `${formatDateValue(selectedDate.value)} ${timeStr}`;
1006
871
  });
1007
872
  const timeSlots = computed(() => {
1008
873
  return generateTimeSlots("00:00", "23:59", props.timeStep);
@@ -1084,47 +949,25 @@ var DatePickerDateTimeInternal_default = /* @__PURE__ */ defineComponent({
1084
949
  focusCalendar();
1085
950
  });
1086
951
  return (_ctx, _cache) => {
1087
- return openBlock(), createElementBlock("div", _hoisted_1$8, [createElementVNode("div", _hoisted_2$8, [
1088
- _cache[0] || (_cache[0] = createElementVNode("div", { class: "mint-datetime-picker__icon-calendar" }, [createElementVNode("svg", {
1089
- fill: "none",
1090
- stroke: "currentColor",
1091
- viewBox: "0 0 24 24"
1092
- }, [createElementVNode("path", {
1093
- "stroke-linecap": "round",
1094
- "stroke-linejoin": "round",
1095
- "stroke-width": "2",
1096
- d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"
1097
- })])], -1)),
1098
- createElementVNode("input", {
1099
- ref: "trigger",
1100
- type: "text",
1101
- readonly: "",
1102
- "aria-haspopup": "dialog",
1103
- "aria-expanded": unref(isOpen),
1104
- value: displayValue.value,
1105
- placeholder: __props.placeholder,
1106
- disabled: __props.disabled,
1107
- class: normalizeClass([
1108
- "mint-datetime-picker__input",
1109
- `mint-datetime-picker__input--${__props.size}`,
1110
- __props.invalid ? "mint-datetime-picker__input--error" : "",
1111
- __props.disabled ? "mint-datetime-picker__input--disabled" : ""
1112
- ]),
1113
- "aria-label": "Select date and time",
1114
- onClick: toggleDropdown,
1115
- onKeydown: handleTriggerKeydown
1116
- }, null, 42, _hoisted_3$8),
1117
- _cache[1] || (_cache[1] = createElementVNode("div", { class: "mint-datetime-picker__icon-clock" }, [createElementVNode("svg", {
1118
- fill: "none",
1119
- stroke: "currentColor",
1120
- viewBox: "0 0 24 24"
1121
- }, [createElementVNode("path", {
1122
- "stroke-linecap": "round",
1123
- "stroke-linejoin": "round",
1124
- "stroke-width": "2",
1125
- d: "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"
1126
- })])], -1))
1127
- ]), createVNode(Transition, {
952
+ return openBlock(), createElementBlock("div", _hoisted_1$8, [createElementVNode("div", _hoisted_2$8, [_cache[0] || (_cache[0] = createStaticVNode("<div class=\"mint-datetime-picker__icon-calendar\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M8 2v4\"></path><path d=\"M16 2v4\"></path><rect width=\"18\" height=\"18\" x=\"3\" y=\"4\" rx=\"2\"></rect><path d=\"M3 10h18\"></path></svg></div>", 1)), createElementVNode("input", {
953
+ ref: "trigger",
954
+ type: "text",
955
+ readonly: "",
956
+ "aria-haspopup": "dialog",
957
+ "aria-expanded": unref(isOpen),
958
+ value: displayValue.value,
959
+ placeholder: __props.placeholder,
960
+ disabled: __props.disabled,
961
+ class: normalizeClass([
962
+ "mint-datetime-picker__input",
963
+ `mint-datetime-picker__input--${__props.size}`,
964
+ __props.invalid ? "mint-datetime-picker__input--error" : "",
965
+ __props.disabled ? "mint-datetime-picker__input--disabled" : ""
966
+ ]),
967
+ "aria-label": "Select date and time",
968
+ onClick: toggleDropdown,
969
+ onKeydown: handleTriggerKeydown
970
+ }, null, 42, _hoisted_3$8)]), createVNode(Transition, {
1128
971
  "enter-active-class": "mint-datetime-picker__dropdown-enter-active",
1129
972
  "enter-from-class": "mint-datetime-picker__dropdown-enter-from",
1130
973
  "enter-to-class": "mint-datetime-picker__dropdown-enter-to",
@@ -1158,8 +1001,8 @@ var DatePickerDateTimeInternal_default = /* @__PURE__ */ defineComponent({
1158
1001
  "onPreviousMonth",
1159
1002
  "onNextMonth"
1160
1003
  ])]),
1161
- _cache[3] || (_cache[3] = createElementVNode("div", { class: "mint-datetime-picker__divider" }, null, -1)),
1162
- createElementVNode("div", _hoisted_5$7, [_cache[2] || (_cache[2] = createElementVNode("div", { class: "mint-datetime-picker__time-label" }, "Time", -1)), createElementVNode("div", _hoisted_6$7, [(openBlock(true), createElementBlock(Fragment, null, renderList(timeSlots.value, (time) => {
1004
+ _cache[2] || (_cache[2] = createElementVNode("div", { class: "mint-datetime-picker__divider" }, null, -1)),
1005
+ createElementVNode("div", _hoisted_5$7, [_cache[1] || (_cache[1] = createElementVNode("div", { class: "mint-datetime-picker__time-label" }, "Time", -1)), createElementVNode("div", _hoisted_6$7, [(openBlock(true), createElementBlock(Fragment, null, renderList(timeSlots.value, (time) => {
1163
1006
  return openBlock(), createElementBlock("button", {
1164
1007
  key: time,
1165
1008
  type: "button",
@@ -1259,7 +1102,9 @@ var DatePickerTimeInternal_default = /* @__PURE__ */ defineComponent({
1259
1102
  /** Id of the highlighted slot, published to the input as `aria-activedescendant`. */
1260
1103
  const activeSlotId = computed(() => isOpen.value && highlightedIndex.value >= 0 ? `${listboxId}-option-${highlightedIndex.value}` : void 0);
1261
1104
  const slots = computed(() => {
1262
- return generateTimeSlots(props.min ?? "00:00", props.max ?? "23:59", props.step);
1105
+ const start = props.min ?? "00:00";
1106
+ const end = props.max ?? "23:59";
1107
+ return generateTimeSlots(start, end, props.step);
1263
1108
  });
1264
1109
  const displayValue = computed(() => {
1265
1110
  if (!props.modelValue) return "";
@@ -1382,6 +1227,19 @@ var DatePickerTimeInternal_default = /* @__PURE__ */ defineComponent({
1382
1227
  class: "mint-time-picker",
1383
1228
  onKeydown: handleKeydown
1384
1229
  }, [createElementVNode("div", _hoisted_1$7, [
1230
+ _cache[1] || (_cache[1] = createElementVNode("div", { class: "mint-time-picker__icon" }, [createElementVNode("svg", {
1231
+ viewBox: "0 0 24 24",
1232
+ fill: "none",
1233
+ stroke: "currentColor",
1234
+ "stroke-width": "2",
1235
+ "stroke-linecap": "round",
1236
+ "stroke-linejoin": "round",
1237
+ "aria-hidden": "true"
1238
+ }, [createElementVNode("circle", {
1239
+ cx: "12",
1240
+ cy: "12",
1241
+ r: "10"
1242
+ }), createElementVNode("path", { d: "M12 6v6l4 2" })])], -1)),
1385
1243
  createElementVNode("input", {
1386
1244
  ref: "trigger",
1387
1245
  type: "text",
@@ -1415,19 +1273,7 @@ var DatePickerTimeInternal_default = /* @__PURE__ */ defineComponent({
1415
1273
  "stroke-width": "2",
1416
1274
  "stroke-linecap": "round",
1417
1275
  "stroke-linejoin": "round"
1418
- }, [createElementVNode("path", { d: "M18 6 6 18" }), createElementVNode("path", { d: "m6 6 12 12" })], -1)])])) : createCommentVNode("", true),
1419
- _cache[1] || (_cache[1] = createElementVNode("div", { class: "mint-time-picker__icon" }, [createElementVNode("svg", {
1420
- viewBox: "0 0 24 24",
1421
- fill: "none",
1422
- stroke: "currentColor",
1423
- "stroke-width": "2",
1424
- "stroke-linecap": "round",
1425
- "stroke-linejoin": "round"
1426
- }, [createElementVNode("circle", {
1427
- cx: "12",
1428
- cy: "12",
1429
- r: "10"
1430
- }), createElementVNode("path", { d: "M12 6v6l4 2" })])], -1))
1276
+ }, [createElementVNode("path", { d: "M18 6 6 18" }), createElementVNode("path", { d: "m6 6 12 12" })], -1)])])) : createCommentVNode("", true)
1431
1277
  ]), createVNode(Transition, {
1432
1278
  "enter-active-class": "mint-time-picker__dropdown-enter-active",
1433
1279
  "enter-from-class": "mint-time-picker__dropdown-enter-from",
@@ -1457,20 +1303,7 @@ var DatePickerTimeInternal_default = /* @__PURE__ */ defineComponent({
1457
1303
  index === highlightedIndex.value && !isSlotDisabled(slot) ? "mint-menu-item--active mint-time-picker__slot--highlighted" : ""
1458
1304
  ]),
1459
1305
  onClick: ($event) => selectSlot(slot)
1460
- }, [
1461
- createElementVNode("span", _hoisted_5$6, toDisplayString(unref(formatTimeSlot)(slot, __props.format)), 1),
1462
- slotReason(slot) ? (openBlock(), createElementBlock("span", _hoisted_6$6, toDisplayString(slotReason(slot)), 1)) : createCommentVNode("", true),
1463
- _cache[2] || (_cache[2] = createElementVNode("svg", {
1464
- class: "mint-menu-item__check",
1465
- viewBox: "0 0 16 16",
1466
- fill: "none",
1467
- stroke: "currentColor",
1468
- "stroke-width": "2",
1469
- "stroke-linecap": "round",
1470
- "stroke-linejoin": "round",
1471
- "aria-hidden": "true"
1472
- }, [createElementVNode("path", { d: "M3.5 8.5l3 3 6-7" })], -1))
1473
- ], 10, _hoisted_4$7);
1306
+ }, [createElementVNode("span", _hoisted_5$6, toDisplayString(unref(formatTimeSlot)(slot, __props.format)), 1), slotReason(slot) ? (openBlock(), createElementBlock("span", _hoisted_6$6, toDisplayString(slotReason(slot)), 1)) : createCommentVNode("", true)], 10, _hoisted_4$7);
1474
1307
  }), 128))], 512)])) : createCommentVNode("", true)]),
1475
1308
  _: 1
1476
1309
  })], 544);
@@ -2178,26 +2011,20 @@ var NumberInput_default = /* @__PURE__ */ defineComponent({
2178
2011
  disabled: __props.disabled || !canDecrement.value,
2179
2012
  class: "mint-number-input__stepper mint-number-input__stepper--down",
2180
2013
  onClick: decrement
2181
- }, [..._cache[5] || (_cache[5] = [createElementVNode("svg", {
2182
- viewBox: "0 0 10 10",
2183
- fill: "none",
2184
- stroke: "currentColor",
2185
- "stroke-width": "1.6",
2186
- "stroke-linecap": "round"
2187
- }, [createElementVNode("path", { d: "M2 5h6" })], -1)])], 8, _hoisted_6$4), createElementVNode("button", {
2014
+ }, [createVNode(unref(ChevronDown), {
2015
+ size: 12,
2016
+ "stroke-width": 2.25
2017
+ })], 8, _hoisted_6$4), createElementVNode("button", {
2188
2018
  type: "button",
2189
2019
  tabindex: "-1",
2190
2020
  "aria-label": "Increase value",
2191
2021
  disabled: __props.disabled || !canIncrement.value,
2192
2022
  class: "mint-number-input__stepper mint-number-input__stepper--up",
2193
2023
  onClick: increment
2194
- }, [..._cache[6] || (_cache[6] = [createElementVNode("svg", {
2195
- viewBox: "0 0 10 10",
2196
- fill: "none",
2197
- stroke: "currentColor",
2198
- "stroke-width": "1.6",
2199
- "stroke-linecap": "round"
2200
- }, [createElementVNode("path", { d: "M5 2v6" }), createElementVNode("path", { d: "M2 5h6" })], -1)])], 8, _hoisted_7$4)])])], 6));
2024
+ }, [createVNode(unref(ChevronUp), {
2025
+ size: 12,
2026
+ "stroke-width": 2.25
2027
+ })], 8, _hoisted_7$4)])])], 6));
2201
2028
  };
2202
2029
  }
2203
2030
  });
@@ -5165,7 +4992,8 @@ var StepWizard_default = /* @__PURE__ */ defineComponent({
5165
4992
  type: Boolean,
5166
4993
  default: true
5167
4994
  },
5168
- size: { default: "md" }
4995
+ size: { default: "md" },
4996
+ orientation: { default: "horizontal" }
5169
4997
  },
5170
4998
  emits: [
5171
4999
  "update:modelValue",
@@ -5232,7 +5060,11 @@ var StepWizard_default = /* @__PURE__ */ defineComponent({
5232
5060
  __expose({ setStepValid });
5233
5061
  return (_ctx, _cache) => {
5234
5062
  return openBlock(), createElementBlock("div", {
5235
- class: normalizeClass(["mint-wizard", `mint-wizard--${props.size}`]),
5063
+ class: normalizeClass([
5064
+ "mint-wizard",
5065
+ `mint-wizard--${props.size}`,
5066
+ { "mint-wizard--vertical": props.orientation === "vertical" }
5067
+ ]),
5236
5068
  tabindex: "0",
5237
5069
  onKeydown: handleKeydown
5238
5070
  }, [
@@ -5457,6 +5289,6 @@ function useListReorder(options) {
5457
5289
  };
5458
5290
  }
5459
5291
  //#endregion
5460
- export { createGeneratedAnalysisTransport as A, defineDataFrame as B, useSequenceUtils as C, GeneratedPathInput_default as D, renderFormulaParts as E, compareTime as F, useSortedItems as G, definePluginWorkspaceView as H, durationMinutes as I, BaseSlider_default as K, formatTime as L, createEventStream as M, NumberInput_default as N, _plugin_vue_export_helper_default as O, DatePicker_default as P, time_exports as R, SequenceInput_default as S, formula_exports as T, defineWellPlate as U, definePlateEditor as V, compareSortValues as W, getFieldRegistryEntry as _, StepWizard_default as a, useConcentrationUnits as b, normalizeControlDefinition as c, humanize as d, numericValue as f, replaceRecord as g, recordValue as h, useReorderAnnouncer as i, useJobsEndpoint as j, GENERATED_JOBS_API_KEY as k, normalizeControls as l, orderedUnique as m, reorderList as n, usePlatform as o, omitUndefined as p, BaseRadioGroup_default as q, useListReorder as r, defaultValueForControl as s, REORDER_ANNOUNCER_STYLE as t, normalizeOption as u, getTypeDefault as v, FormulaInput_default as w, MoleculeInput_default as x, ConcentrationInput_default as y, applySpecDefaults as z };
5292
+ export { createGeneratedAnalysisTransport as A, compareSortValues as B, useSequenceUtils as C, GeneratedPathInput_default as D, renderFormulaParts as E, applySpecDefaults as F, BaseSlider_default as H, defineDataFrame as I, definePlateEditor as L, createEventStream as M, NumberInput_default as N, _plugin_vue_export_helper_default as O, DatePicker_default as P, definePluginWorkspaceView as R, SequenceInput_default as S, formula_exports as T, BaseRadioGroup_default as U, useSortedItems as V, getFieldRegistryEntry as _, StepWizard_default as a, useConcentrationUnits as b, normalizeControlDefinition as c, humanize as d, numericValue as f, replaceRecord as g, recordValue as h, useReorderAnnouncer as i, useJobsEndpoint as j, GENERATED_JOBS_API_KEY as k, normalizeControls as l, orderedUnique as m, reorderList as n, usePlatform as o, omitUndefined as p, useListReorder as r, defaultValueForControl as s, REORDER_ANNOUNCER_STYLE as t, normalizeOption as u, getTypeDefault as v, FormulaInput_default as w, MoleculeInput_default as x, ConcentrationInput_default as y, defineWellPlate as z };
5461
5293
 
5462
- //# sourceMappingURL=useListReorder-CcbEYxX-.js.map
5294
+ //# sourceMappingURL=useListReorder-BitdUhxn.js.map