@morscherlab/mint-sdk 1.4.0-beta.1 → 1.4.0-beta.10
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.
- package/dist/{ActionMenu-CScINahU.js → AlertBox-B2Bgr3ei.js} +40 -209
- package/dist/AlertBox-B2Bgr3ei.js.map +1 -0
- package/dist/{AppSidebar-BmiiPfz9.js → AppSidebar-mvm--GxN.js} +161 -110
- package/dist/AppSidebar-mvm--GxN.js.map +1 -0
- package/dist/{ConfirmDialog-CJ7hqYUP.js → ConfirmDialog-nbJj51is.js} +2 -2
- package/dist/{ConfirmDialog-CJ7hqYUP.js.map → ConfirmDialog-nbJj51is.js.map} +1 -1
- package/dist/ExperimentPopover-5T1fAq2L.js +337 -0
- package/dist/ExperimentPopover-5T1fAq2L.js.map +1 -0
- package/dist/{ExperimentSelectorModal-D-9z7cNx.js → ExperimentSelectorModal-65peG4Up.js} +198 -181
- package/dist/ExperimentSelectorModal-65peG4Up.js.map +1 -0
- package/dist/{SegmentedControl-DERBN-Xd.js → SegmentedControl-BtnnjWzs.js} +2 -2
- package/dist/{SegmentedControl-DERBN-Xd.js.map → SegmentedControl-BtnnjWzs.js.map} +1 -1
- package/dist/{SettingsModal-CSLE31yg.js → SettingsModal-DO3IZ7qz.js} +9 -9
- package/dist/SettingsModal-DO3IZ7qz.js.map +1 -0
- package/dist/components/AppSidebar.vue.d.ts +1 -1
- package/dist/components/ArtifactSaveDialog.vue.d.ts +9 -1
- package/dist/components/AuditTrail.vue.d.ts +1 -1
- package/dist/components/BaseSelect.vue.d.ts +2 -2
- package/dist/components/ChartContainer.vue.d.ts +2 -0
- package/dist/components/DatePicker.vue.d.ts +1 -1
- package/dist/components/ExperimentPopover.vue.d.ts +18 -0
- package/dist/components/ExperimentSelectorModal.vue.d.ts +0 -4
- package/dist/components/FilePicker.vue.d.ts +1 -1
- package/dist/components/FileUploader.vue.d.ts +2 -2
- package/dist/components/PluginIcon.vue.d.ts +2 -2
- package/dist/components/SampleSelector.vue.d.ts +6 -6
- package/dist/components/SequenceProgressBar.vue.d.ts +3 -0
- package/dist/components/StepWizard.vue.d.ts +3 -0
- package/dist/components/internal/AutoGroupModalInternal.vue.d.ts +1 -1
- package/dist/components/internal/DatePickerTimeInternal.vue.d.ts +1 -1
- package/dist/components/internal/ResourcePickerListInternal.vue.d.ts +2 -7
- package/dist/components/internal/SelectMultipleInternal.vue.d.ts +4 -0
- package/dist/composables/createClient.d.ts +2 -0
- package/dist/composables/index.d.ts +1 -0
- package/dist/composables/pluginIdentity.d.ts +24 -0
- package/dist/composables/pluginWorkspaceModel.d.ts +2 -2
- package/dist/composables/useAppExperiment.d.ts +8 -0
- package/dist/composables/useCalendarGrid.d.ts +1 -1
- package/dist/composables/useExperimentSelector.d.ts +6 -2
- package/dist/composables/usePlatform.d.ts +1 -0
- package/dist/{controlSchemaModel-CP5-_nAj.js → controlSchemaModel-B8CTXagP.js} +2 -2
- package/dist/{controlSchemaModel-CP5-_nAj.js.map → controlSchemaModel-B8CTXagP.js.map} +1 -1
- package/dist/{data-C2PwI_dn.js → data-CgILxDLW.js} +178 -124
- package/dist/data-CgILxDLW.js.map +1 -0
- package/dist/data.js +8 -8
- package/dist/{experimentStatus-BZmU4czV.js → experimentStatus-Cqp6qNrR.js} +3 -3
- package/dist/{experimentStatus-BZmU4czV.js.map → experimentStatus-Cqp6qNrR.js.map} +1 -1
- package/dist/index.js +19 -19
- package/dist/{install-DAID6c2-.js → install-CsPFJSx3.js} +15 -14
- package/dist/{install-DAID6c2-.js.map → install-CsPFJSx3.js.map} +1 -1
- package/dist/install.js +1 -1
- package/dist/{lab-DLwRl_Ql.js → lab-MHzp-_J8.js} +128 -147
- package/dist/lab-MHzp-_J8.js.map +1 -0
- package/dist/lab.js +4 -3
- package/dist/{records-BzTcxekG.js → records-B6gpM_3e.js} +472 -274
- package/dist/records-B6gpM_3e.js.map +1 -0
- package/dist/{runtime-D6gVat6r.js → runtime-8bs8EogX.js} +27 -31
- package/dist/runtime-8bs8EogX.js.map +1 -0
- package/dist/runtime.js +6 -6
- package/dist/{shell-5ju97nOS.js → shell-CywENwBT.js} +5 -5
- package/dist/{shell-5ju97nOS.js.map → shell-CywENwBT.js.map} +1 -1
- package/dist/shell.js +5 -5
- package/dist/styles.css +1606 -1666
- package/dist/types/componentWorkflowTypes.d.ts +2 -0
- package/dist/types/generated/platformContext.d.ts +1 -0
- package/dist/types/generated-ui.d.ts +4 -0
- package/dist/{BaseModal-DfRIuVoj.js → useDropdownState-8yWMu-7_.js} +60 -2
- package/dist/useDropdownState-8yWMu-7_.js.map +1 -0
- package/dist/{useExperimentSamples-CxcnxZ8h.js → useExperimentSamples-DHnxKFAF.js} +3 -3
- package/dist/{useExperimentSamples-CxcnxZ8h.js.map → useExperimentSamples-DHnxKFAF.js.map} +1 -1
- package/dist/{useListReorder-CcbEYxX-.js → useListReorder-BitdUhxn.js} +109 -277
- package/dist/useListReorder-BitdUhxn.js.map +1 -0
- package/dist/{useRackEditor-BD5NIo5s.js → useRackEditor-DiwCt77M.js} +71 -57
- package/dist/useRackEditor-DiwCt77M.js.map +1 -0
- package/dist/{useRealtime-PalKue84.js → useRealtime-C3iy9QkU.js} +7 -4
- package/dist/useRealtime-C3iy9QkU.js.map +1 -0
- package/dist/useRequest-D506eHi8.js +244 -0
- package/dist/useRequest-D506eHi8.js.map +1 -0
- package/dist/utils/time.d.ts +7 -0
- package/package.json +1 -1
- package/src/__tests__/components/AppTopBar.test.ts +51 -2
- package/src/__tests__/components/AppTopBarPillNav.test.ts +35 -0
- package/src/__tests__/components/ArtifactSaveDialog.test.ts +78 -0
- package/src/__tests__/components/BaseSelect.multiple.test.ts +87 -32
- package/src/__tests__/components/BaseSelect.test.ts +2 -1
- package/src/__tests__/components/BatchProgressList.test.ts +16 -0
- package/src/__tests__/components/CalendarGridPanel.test.ts +2 -2
- package/src/__tests__/components/ChartContainer.test.ts +11 -0
- package/src/__tests__/components/ChemicalFormula.test.ts +6 -3
- package/src/__tests__/components/DatePicker.datetime.test.ts +6 -0
- package/src/__tests__/components/DatePicker.test.ts +21 -0
- package/src/__tests__/components/DatePicker.time.test.ts +2 -2
- package/src/__tests__/components/EmptyState.test.ts +1 -1
- package/src/__tests__/components/ExperimentPopover.test.ts +125 -16
- package/src/__tests__/components/ExperimentSelectorModal.test.ts +119 -13
- package/src/__tests__/components/GeneratedPluginView.test.ts +22 -1
- package/src/__tests__/components/InstrumentStateBadge.test.ts +4 -4
- package/src/__tests__/components/PluginWorkspaceView.test.ts +7 -0
- package/src/__tests__/components/ResourcePickerListInternal.test.ts +0 -20
- package/src/__tests__/components/SampleSelector.test.ts +13 -8
- package/src/__tests__/components/SequenceProgressBar.test.ts +12 -0
- package/src/__tests__/components/StepWizard.test.ts +11 -0
- package/src/__tests__/components/WellPlate.decoration.test.ts +11 -4
- package/src/__tests__/components/deprecationTags.test.ts +1 -1
- package/src/__tests__/composables/useAppExperiment.test.ts +27 -1
- package/src/__tests__/composables/useCalendarGrid.test.ts +4 -2
- package/src/__tests__/composables/useExperimentSelector.test.ts +111 -0
- package/src/__tests__/styles/baseControlsRules.test.ts +6 -2
- package/src/__tests__/styles/controlRefreshRules.test.ts +0 -6
- package/src/__tests__/styles/cssTokens.test.ts +2 -2
- package/src/__tests__/styles/menusShellRefresh.test.ts +14 -10
- package/src/__tests__/utils/plotlyTemplate.test.ts +4 -4
- package/src/__tests__/utils/time.test.ts +18 -1
- package/src/components/AdductText.story.vue +7 -0
- package/src/components/AdductText.vue +1 -1
- package/src/components/AlertBox.story.vue +2 -2
- package/src/components/AlertBox.vue +18 -16
- package/src/components/AppSidebar.story.vue +0 -28
- package/src/components/AppTopBar.story.vue +47 -12
- package/src/components/AppTopBar.vue +118 -114
- package/src/components/ArtifactSaveDialog.story.vue +23 -0
- package/src/components/ArtifactSaveDialog.vue +102 -12
- package/src/components/AuditTrail.story.vue +2 -1
- package/src/components/AuditTrail.vue +2 -21
- package/src/components/Avatar.vue +10 -14
- package/src/components/BaseSelect.multiple.story.vue +13 -2
- package/src/components/BaseSelect.vue +4 -3
- package/src/components/BatchProgressList.vue +35 -25
- package/src/components/ChartContainer.story.vue +2 -1
- package/src/components/ChartContainer.vue +8 -6
- package/src/components/ConfirmDialog.story.vue +1 -1
- package/src/components/EmptyState.vue +1 -1
- package/src/components/ExperimentPopover.story.vue +165 -53
- package/src/components/ExperimentPopover.vue +169 -187
- package/src/components/ExperimentSelectorModal.story.vue +40 -36
- package/src/components/ExperimentSelectorModal.vue +124 -110
- package/src/components/FormField.story.vue +8 -48
- package/src/components/GeneratedPluginView.vue +7 -1
- package/src/components/InstrumentStateBadge.vue +1 -1
- package/src/components/JobsStatusTray.vue +1 -1
- package/src/components/LoadingSpinner.vue +1 -1
- package/src/components/NumberInput.vue +3 -6
- package/src/components/PluginIcon.story.vue +2 -10
- package/src/components/PluginIcon.vue +2 -2
- package/src/components/PluginWorkspaceView.story.vue +1 -1
- package/src/components/RuntimeUpdateNotice.vue +1 -1
- package/src/components/SampleSelector.story.vue +1 -1
- package/src/components/SampleSelector.vue +27 -37
- package/src/components/SampleSelectorGroupNode.vue +1 -1
- package/src/components/SectionCard.story.vue +2 -2
- package/src/components/SequenceProgressBar.story.vue +9 -0
- package/src/components/SequenceProgressBar.vue +6 -1
- package/src/components/SettingsModal.schema.ts +1 -1
- package/src/components/SettingsModal.vue +2 -2
- package/src/components/SmartGroupFieldRecipe.story.vue +1 -1
- package/src/components/SmartGroupManual.story.vue +1 -1
- package/src/components/StepWizard.story.vue +33 -0
- package/src/components/StepWizard.vue +8 -1
- package/src/components/WellPlate.story.vue +3 -1
- package/src/components/WellPlate.vue +7 -0
- package/src/components/internal/AppTopBarPillNavInternal.vue +33 -2
- package/src/components/internal/DatePickerDateInternal.vue +16 -40
- package/src/components/internal/DatePickerDateTimeInternal.vue +3 -13
- package/src/components/internal/DatePickerTimeInternal.vue +5 -8
- package/src/components/internal/ResourcePickerListInternal.vue +45 -85
- package/src/components/internal/SelectMultipleInternal.vue +182 -65
- package/src/components/internal/SelectSearchableInternal.vue +2 -3
- package/src/composables/createClient.ts +2 -0
- package/src/composables/index.ts +1 -0
- package/src/composables/pluginIdentity.ts +31 -0
- package/src/composables/pluginWorkspaceModel.ts +2 -2
- package/src/composables/useAppExperiment.ts +20 -0
- package/src/composables/useCalendarGrid.ts +4 -3
- package/src/composables/useExperimentSelector.ts +77 -31
- package/src/composables/usePluginWorkspace.ts +1 -1
- package/src/styles/components/adduct-text.css +13 -5
- package/src/styles/components/alert-box.css +39 -58
- package/src/styles/components/app-layout.css +6 -5
- package/src/styles/components/app-page-selector.css +3 -1
- package/src/styles/components/app-pill-nav.css +11 -12
- package/src/styles/components/app-sidebar.css +9 -18
- package/src/styles/components/app-top-bar.css +57 -55
- package/src/styles/components/artifact-save-dialog.css +153 -2
- package/src/styles/components/audit-trail.css +16 -19
- package/src/styles/components/avatar.css +6 -4
- package/src/styles/components/batch-progress-list.css +38 -36
- package/src/styles/components/button.css +28 -59
- package/src/styles/components/calendar.css +12 -12
- package/src/styles/components/chart-container.css +34 -23
- package/src/styles/components/checkbox.css +2 -12
- package/src/styles/components/collapsible-card.css +27 -29
- package/src/styles/components/confirm-dialog.css +13 -14
- package/src/styles/components/dataframe.css +12 -4
- package/src/styles/components/date-picker.css +80 -92
- package/src/styles/components/datetime-picker.css +31 -43
- package/src/styles/components/divider.css +20 -20
- package/src/styles/components/dose-calculator.css +3 -3
- package/src/styles/components/empty-state.css +20 -17
- package/src/styles/components/experiment-code-badge.css +2 -0
- package/src/styles/components/experiment-popover.css +174 -329
- package/src/styles/components/experiment-selector-modal.css +75 -56
- package/src/styles/components/file-picker.css +3 -3
- package/src/styles/components/file-uploader.css +38 -49
- package/src/styles/components/form-builder.css +3 -3
- package/src/styles/components/formula-input.css +1 -1
- package/src/styles/components/icon-button.css +18 -24
- package/src/styles/components/input.css +5 -4
- package/src/styles/components/instrument-monitor.css +13 -15
- package/src/styles/components/jobs-status-tray.css +31 -25
- package/src/styles/components/modal.css +2 -4
- package/src/styles/components/molecule-input.css +2 -2
- package/src/styles/components/multi-select.css +65 -117
- package/src/styles/components/number-input.css +26 -19
- package/src/styles/components/pill.css +3 -2
- package/src/styles/components/plate-editor.css +0 -1
- package/src/styles/components/plugin-icon.css +26 -23
- package/src/styles/components/popover.css +2 -2
- package/src/styles/components/presence-avatars.css +1 -1
- package/src/styles/components/protocol-step-editor.css +1 -3
- package/src/styles/components/resource-card.css +2 -2
- package/src/styles/components/resource-picker-list.css +6 -57
- package/src/styles/components/sample-hierarchy-tree.css +4 -4
- package/src/styles/components/sample-selector.css +95 -79
- package/src/styles/components/schedule-calendar.css +8 -8
- package/src/styles/components/searchable-select.css +12 -12
- package/src/styles/components/section-card.css +28 -47
- package/src/styles/components/segmented-control.css +18 -15
- package/src/styles/components/select.css +3 -3
- package/src/styles/components/sequence-input.css +2 -2
- package/src/styles/components/sequence-progress-bar.css +17 -8
- package/src/styles/components/smart-group.css +18 -18
- package/src/styles/components/step-wizard.css +52 -16
- package/src/styles/components/tabs.css +2 -2
- package/src/styles/components/textarea.css +3 -3
- package/src/styles/components/time-picker.css +36 -21
- package/src/styles/components/toast.css +12 -10
- package/src/styles/components/toggle.css +1 -11
- package/src/styles/components/tooltip.css +10 -9
- package/src/styles/components/unit-input.css +8 -7
- package/src/styles/components/well-plate.css +9 -2
- package/src/styles/variables.css +106 -75
- package/src/types/componentWorkflowTypes.ts +2 -0
- package/src/types/generated/platformContext.ts +1 -0
- package/src/types/generated-ui.ts +4 -0
- package/src/utils/time.ts +21 -0
- package/dist/ActionMenu-CScINahU.js.map +0 -1
- package/dist/AppSidebar-BmiiPfz9.js.map +0 -1
- package/dist/BaseModal-DfRIuVoj.js.map +0 -1
- package/dist/ExperimentPopover-C4sGw-is.js +0 -359
- package/dist/ExperimentPopover-C4sGw-is.js.map +0 -1
- package/dist/ExperimentSelectorModal-D-9z7cNx.js.map +0 -1
- package/dist/SettingsModal-CSLE31yg.js.map +0 -1
- package/dist/data-C2PwI_dn.js.map +0 -1
- package/dist/lab-DLwRl_Ql.js.map +0 -1
- package/dist/records-BzTcxekG.js.map +0 -1
- package/dist/runtime-D6gVat6r.js.map +0 -1
- package/dist/useListReorder-CcbEYxX-.js.map +0 -1
- package/dist/useRackEditor-BD5NIo5s.js.map +0 -1
- package/dist/useRealtime-PalKue84.js.map +0 -1
- package/dist/useRequest-D5JDfsgZ.js +0 -76
- package/dist/useRequest-D5JDfsgZ.js.map +0 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { a as
|
|
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
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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,
|
|
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, [
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
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
|
-
]),
|
|
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
|
-
|
|
1002
|
-
|
|
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
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
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[
|
|
1162
|
-
createElementVNode("div", _hoisted_5$7, [_cache[
|
|
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
|
-
|
|
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
|
-
}, [
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
|
|
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
|
-
}, [
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
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([
|
|
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,
|
|
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-
|
|
5294
|
+
//# sourceMappingURL=useListReorder-BitdUhxn.js.map
|