@morscherlab/mint-sdk 1.0.0-alpha.7 → 1.0.0-alpha.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.
- package/README.md +15 -15
- package/dist/{auth-BYmxZdJl.js → auth-DsI0rQ7_.js} +6 -6
- package/dist/auth-DsI0rQ7_.js.map +1 -0
- package/dist/components/index.js +2 -2
- package/dist/{components-CKf-UpGi.js → components-CzbQQPCb.js} +1429 -1429
- package/dist/components-CzbQQPCb.js.map +1 -0
- package/dist/composables/index.js +2 -2
- package/dist/composables/usePlatformContext.d.ts +3 -3
- package/dist/{composables-D0QfFzq1.js → composables-BXklV5ii.js} +3 -3
- package/dist/{composables-D0QfFzq1.js.map → composables-BXklV5ii.js.map} +1 -1
- package/dist/index.js +4 -4
- package/dist/install.d.ts +3 -3
- package/dist/install.js +5 -5
- package/dist/install.js.map +1 -1
- package/dist/stores/auth.d.ts +1 -1
- package/dist/stores/index.js +1 -1
- package/dist/stores/settings.d.ts +1 -1
- package/dist/styles.css +5388 -5388
- package/dist/types/platform.d.ts +1 -1
- package/dist/{useScheduleDrag-DAJueTbK.js → useScheduleDrag-CxBeqYcu.js} +331 -331
- package/dist/useScheduleDrag-CxBeqYcu.js.map +1 -0
- package/package.json +2 -2
- package/src/__tests__/components/AppLayout.test.ts +23 -23
- package/src/__tests__/components/AppSidebar.test.ts +29 -29
- package/src/__tests__/components/AppTopBar.test.ts +45 -45
- package/src/__tests__/components/BaseInput.test.ts +2 -2
- package/src/__tests__/components/BasePill.test.ts +37 -37
- package/src/__tests__/components/Calendar.test.ts +52 -52
- package/src/__tests__/components/CollapsibleCard.test.ts +81 -81
- package/src/__tests__/components/DataFrame.test.ts +80 -80
- package/src/__tests__/components/DropdownButton.test.ts +80 -80
- package/src/__tests__/composables/usePlatformContext.test.ts +1 -1
- package/src/components/AlertBox.story.vue +1 -1
- package/src/components/AlertBox.vue +14 -14
- package/src/components/AppAvatarMenu.vue +26 -26
- package/src/components/AppContainer.vue +3 -3
- package/src/components/AppLayout.vue +7 -7
- package/src/components/AppPageSelector.vue +30 -30
- package/src/components/AppPillNav.vue +10 -10
- package/src/components/AppPluginSwitcher.vue +31 -31
- package/src/components/AppSidebar.vue +8 -8
- package/src/components/AppTopBar.story.vue +7 -7
- package/src/components/AppTopBar.vue +102 -102
- package/src/components/AuditTrail.vue +19 -19
- package/src/components/AutoGroupModal.vue +76 -76
- package/src/components/Avatar.vue +6 -6
- package/src/components/BaseButton.vue +6 -6
- package/src/components/BaseCheckbox.vue +9 -9
- package/src/components/BaseInput.vue +4 -4
- package/src/components/BaseModal.story.vue +1 -1
- package/src/components/BaseModal.vue +14 -14
- package/src/components/BasePill.vue +9 -9
- package/src/components/BaseRadioGroup.vue +21 -21
- package/src/components/BaseSelect.vue +6 -6
- package/src/components/BaseSlider.vue +8 -8
- package/src/components/BaseTabs.vue +7 -7
- package/src/components/BaseTextarea.vue +5 -5
- package/src/components/BaseToggle.vue +10 -10
- package/src/components/BatchProgressList.vue +25 -25
- package/src/components/Breadcrumb.vue +8 -8
- package/src/components/Calendar.vue +19 -19
- package/src/components/ChartContainer.vue +9 -9
- package/src/components/ChemicalFormula.vue +7 -7
- package/src/components/CollapsibleCard.vue +20 -20
- package/src/components/ColorSlider.vue +6 -6
- package/src/components/ConcentrationInput.vue +12 -12
- package/src/components/ConfirmDialog.story.vue +1 -1
- package/src/components/ConfirmDialog.vue +7 -7
- package/src/components/DataFrame.vue +40 -40
- package/src/components/DatePicker.vue +29 -29
- package/src/components/DateTimePicker.vue +41 -41
- package/src/components/Divider.vue +9 -9
- package/src/components/DoseCalculator.vue +66 -66
- package/src/components/DropdownButton.vue +19 -19
- package/src/components/EmptyState.vue +9 -9
- package/src/components/ExperimentCodeBadge.vue +3 -3
- package/src/components/ExperimentDataViewer.vue +25 -25
- package/src/components/ExperimentPopover.vue +35 -35
- package/src/components/ExperimentSelectorModal.vue +40 -40
- package/src/components/ExperimentTimeline.vue +48 -48
- package/src/components/FileUploader.vue +31 -31
- package/src/components/FitPanel.vue +9 -9
- package/src/components/FormActions.vue +1 -1
- package/src/components/FormBuilder.vue +2 -2
- package/src/components/FormField.vue +7 -7
- package/src/components/FormSection.vue +7 -7
- package/src/components/FormulaInput.vue +10 -10
- package/src/components/GroupAssigner.vue +40 -40
- package/src/components/GroupingModal.vue +45 -45
- package/src/components/IconButton.vue +6 -6
- package/src/components/LoadingSpinner.vue +5 -5
- package/src/components/MoleculeInput.vue +21 -21
- package/src/components/MultiSelect.vue +13 -13
- package/src/components/NumberInput.vue +13 -13
- package/src/components/PlateMapEditor.vue +63 -63
- package/src/components/ProgressBar.vue +18 -18
- package/src/components/ProtocolStepEditor.vue +57 -57
- package/src/components/RackEditor.vue +28 -28
- package/src/components/ReagentEditor.vue +61 -61
- package/src/components/ReagentList.vue +49 -49
- package/src/components/ResourceCard.vue +28 -28
- package/src/components/SampleHierarchyTree.vue +13 -13
- package/src/components/SampleLegend.vue +12 -12
- package/src/components/SampleSelector.vue +104 -104
- package/src/components/ScheduleCalendar.vue +42 -42
- package/src/components/ScientificNumber.vue +11 -11
- package/src/components/SegmentedControl.vue +12 -12
- package/src/components/SequenceInput.vue +32 -32
- package/src/components/SettingsButton.vue +5 -5
- package/src/components/SettingsModal.vue +17 -17
- package/src/components/StatusIndicator.vue +5 -5
- package/src/components/StepWizard.vue +16 -16
- package/src/components/TagsInput.vue +20 -20
- package/src/components/ThemeToggle.vue +3 -3
- package/src/components/TimePicker.vue +21 -21
- package/src/components/TimeRangeInput.vue +5 -5
- package/src/components/ToastNotification.vue +8 -8
- package/src/components/Tooltip.vue +7 -7
- package/src/components/UnitInput.vue +12 -12
- package/src/components/WellEditPopup.vue +28 -28
- package/src/components/WellPlate.vue +37 -37
- package/src/composables/useAppExperiment.ts +1 -1
- package/src/composables/usePlatformContext.ts +16 -16
- package/src/composables/useProtocolTemplates.ts +1 -1
- package/src/install.ts +3 -3
- package/src/stores/auth.ts +3 -3
- package/src/stores/settings.ts +2 -2
- package/src/styles/components/alert-box.css +30 -30
- package/src/styles/components/app-avatar-menu.css +23 -23
- package/src/styles/components/app-container.css +6 -6
- package/src/styles/components/app-layout.css +15 -15
- package/src/styles/components/app-page-selector.css +26 -26
- package/src/styles/components/app-pill-nav.css +7 -7
- package/src/styles/components/app-plugin-switcher.css +27 -27
- package/src/styles/components/app-sidebar.css +24 -24
- package/src/styles/components/app-top-bar.css +65 -65
- package/src/styles/components/audit-trail.css +29 -29
- package/src/styles/components/auto-group-modal.css +91 -91
- package/src/styles/components/avatar.css +15 -15
- package/src/styles/components/batch-progress-list.css +40 -40
- package/src/styles/components/breadcrumb.css +8 -8
- package/src/styles/components/button.css +31 -31
- package/src/styles/components/calendar.css +27 -27
- package/src/styles/components/chart-container.css +9 -9
- package/src/styles/components/checkbox.css +20 -20
- package/src/styles/components/chemical-formula.css +8 -8
- package/src/styles/components/collapsible-card.css +35 -35
- package/src/styles/components/color-slider.css +8 -8
- package/src/styles/components/concentration-input.css +27 -27
- package/src/styles/components/confirm-dialog.css +32 -32
- package/src/styles/components/dataframe.css +66 -66
- package/src/styles/components/date-picker.css +40 -40
- package/src/styles/components/datetime-picker.css +37 -37
- package/src/styles/components/divider.css +13 -13
- package/src/styles/components/dose-calculator.css +43 -43
- package/src/styles/components/dropdown-button.css +46 -46
- package/src/styles/components/empty-state.css +44 -44
- package/src/styles/components/experiment-code-badge.css +8 -8
- package/src/styles/components/experiment-data-viewer.css +23 -23
- package/src/styles/components/experiment-popover.css +97 -97
- package/src/styles/components/experiment-selector-modal.css +39 -39
- package/src/styles/components/experiment-timeline.css +98 -98
- package/src/styles/components/file-uploader.css +44 -44
- package/src/styles/components/fit-panel.css +12 -12
- package/src/styles/components/form-builder.css +11 -11
- package/src/styles/components/form-field.css +7 -7
- package/src/styles/components/formula-input.css +17 -17
- package/src/styles/components/group-assigner.css +26 -26
- package/src/styles/components/grouping-modal.css +51 -51
- package/src/styles/components/icon-button.css +41 -41
- package/src/styles/components/input.css +13 -13
- package/src/styles/components/loading-spinner.css +12 -12
- package/src/styles/components/modal.css +69 -69
- package/src/styles/components/molecule-input.css +27 -27
- package/src/styles/components/multi-select.css +23 -23
- package/src/styles/components/number-input.css +32 -32
- package/src/styles/components/pill.css +37 -37
- package/src/styles/components/plate-map-editor.css +67 -67
- package/src/styles/components/progress-bar.css +41 -41
- package/src/styles/components/protocol-step-editor.css +63 -63
- package/src/styles/components/rack-editor.css +34 -34
- package/src/styles/components/radio-group.css +41 -41
- package/src/styles/components/reagent-editor.css +70 -70
- package/src/styles/components/reagent-list.css +65 -65
- package/src/styles/components/resource-card.css +52 -52
- package/src/styles/components/sample-hierarchy-tree.css +56 -56
- package/src/styles/components/sample-legend.css +37 -37
- package/src/styles/components/sample-selector.css +121 -121
- package/src/styles/components/schedule-calendar.css +67 -67
- package/src/styles/components/scientific-number.css +11 -11
- package/src/styles/components/segmented-control.css +33 -33
- package/src/styles/components/select.css +11 -11
- package/src/styles/components/sequence-input.css +29 -29
- package/src/styles/components/settings-button.css +16 -16
- package/src/styles/components/settings-modal.css +14 -14
- package/src/styles/components/skeleton.css +2 -2
- package/src/styles/components/slider.css +10 -10
- package/src/styles/components/status-indicator.css +12 -12
- package/src/styles/components/step-wizard.css +32 -32
- package/src/styles/components/tabs.css +16 -16
- package/src/styles/components/tags-input.css +46 -46
- package/src/styles/components/textarea.css +17 -17
- package/src/styles/components/theme-toggle.css +13 -13
- package/src/styles/components/time-picker.css +28 -28
- package/src/styles/components/time-range-input.css +8 -8
- package/src/styles/components/toast.css +18 -18
- package/src/styles/components/toggle.css +27 -27
- package/src/styles/components/tooltip.css +18 -18
- package/src/styles/components/unit-input.css +25 -25
- package/src/styles/components/well-edit-popup.css +32 -32
- package/src/styles/components/well-plate.css +49 -49
- package/src/styles/index.css +1 -1
- package/src/styles/variables.css +3 -3
- package/src/types/platform.ts +6 -6
- package/dist/auth-BYmxZdJl.js.map +0 -1
- package/dist/components-CKf-UpGi.js.map +0 -1
- package/dist/useScheduleDrag-DAJueTbK.js.map +0 -1
|
@@ -8,23 +8,23 @@ describe('CollapsibleCard', () => {
|
|
|
8
8
|
const wrapper = mount(CollapsibleCard, {
|
|
9
9
|
props: { title: 'Test Card' },
|
|
10
10
|
})
|
|
11
|
-
expect(wrapper.find('.
|
|
12
|
-
expect(wrapper.find('.
|
|
11
|
+
expect(wrapper.find('.mint-collapsible-card').exists()).toBe(true)
|
|
12
|
+
expect(wrapper.find('.mint-collapsible-card__title').text()).toBe('Test Card')
|
|
13
13
|
})
|
|
14
14
|
|
|
15
15
|
it('should render subtitle when provided', () => {
|
|
16
16
|
const wrapper = mount(CollapsibleCard, {
|
|
17
17
|
props: { title: 'Test Card', subtitle: 'Test Subtitle' },
|
|
18
18
|
})
|
|
19
|
-
expect(wrapper.find('.
|
|
20
|
-
expect(wrapper.find('.
|
|
19
|
+
expect(wrapper.find('.mint-collapsible-card__subtitle').exists()).toBe(true)
|
|
20
|
+
expect(wrapper.find('.mint-collapsible-card__subtitle').text()).toBe('Test Subtitle')
|
|
21
21
|
})
|
|
22
22
|
|
|
23
23
|
it('should not render subtitle when not provided', () => {
|
|
24
24
|
const wrapper = mount(CollapsibleCard, {
|
|
25
25
|
props: { title: 'Test Card' },
|
|
26
26
|
})
|
|
27
|
-
expect(wrapper.find('.
|
|
27
|
+
expect(wrapper.find('.mint-collapsible-card__subtitle').exists()).toBe(false)
|
|
28
28
|
})
|
|
29
29
|
})
|
|
30
30
|
|
|
@@ -37,11 +37,11 @@ describe('CollapsibleCard', () => {
|
|
|
37
37
|
},
|
|
38
38
|
})
|
|
39
39
|
|
|
40
|
-
expect(wrapper.find('.
|
|
41
|
-
expect(wrapper.find('.
|
|
42
|
-
expect(wrapper.find('.
|
|
43
|
-
expect(wrapper.find('.
|
|
44
|
-
expect(wrapper.find('.
|
|
40
|
+
expect(wrapper.find('.mint-collapsible-card__icon-badge').exists()).toBe(true)
|
|
41
|
+
expect(wrapper.find('.mint-collapsible-card__icon').exists()).toBe(true)
|
|
42
|
+
expect(wrapper.find('.mint-collapsible-card__icon').element.tagName).toBe('svg')
|
|
43
|
+
expect(wrapper.find('.mint-collapsible-card__icon path').exists()).toBe(true)
|
|
44
|
+
expect(wrapper.find('.mint-collapsible-card__icon-text').exists()).toBe(false)
|
|
45
45
|
})
|
|
46
46
|
|
|
47
47
|
it('should render SVG when icon starts with lowercase m', () => {
|
|
@@ -52,10 +52,10 @@ describe('CollapsibleCard', () => {
|
|
|
52
52
|
},
|
|
53
53
|
})
|
|
54
54
|
|
|
55
|
-
expect(wrapper.find('.
|
|
56
|
-
expect(wrapper.find('.
|
|
57
|
-
expect(wrapper.find('.
|
|
58
|
-
expect(wrapper.find('.
|
|
55
|
+
expect(wrapper.find('.mint-collapsible-card__icon').exists()).toBe(true)
|
|
56
|
+
expect(wrapper.find('.mint-collapsible-card__icon').element.tagName).toBe('svg')
|
|
57
|
+
expect(wrapper.find('.mint-collapsible-card__icon path').exists()).toBe(true)
|
|
58
|
+
expect(wrapper.find('.mint-collapsible-card__icon-text').exists()).toBe(false)
|
|
59
59
|
})
|
|
60
60
|
|
|
61
61
|
it('should render single path element with correct d attribute', () => {
|
|
@@ -67,7 +67,7 @@ describe('CollapsibleCard', () => {
|
|
|
67
67
|
},
|
|
68
68
|
})
|
|
69
69
|
|
|
70
|
-
const path = wrapper.find('.
|
|
70
|
+
const path = wrapper.find('.mint-collapsible-card__icon path')
|
|
71
71
|
expect(path.exists()).toBe(true)
|
|
72
72
|
expect(path.attributes('d')).toBe(pathData)
|
|
73
73
|
})
|
|
@@ -84,14 +84,14 @@ describe('CollapsibleCard', () => {
|
|
|
84
84
|
},
|
|
85
85
|
})
|
|
86
86
|
|
|
87
|
-
expect(wrapper.find('.
|
|
88
|
-
expect(wrapper.find('.
|
|
87
|
+
expect(wrapper.find('.mint-collapsible-card__icon').exists()).toBe(true)
|
|
88
|
+
expect(wrapper.find('.mint-collapsible-card__icon').element.tagName).toBe('svg')
|
|
89
89
|
|
|
90
|
-
const pathElements = wrapper.findAll('.
|
|
90
|
+
const pathElements = wrapper.findAll('.mint-collapsible-card__icon path')
|
|
91
91
|
expect(pathElements).toHaveLength(2)
|
|
92
92
|
expect(pathElements[0].attributes('d')).toBe(paths[0])
|
|
93
93
|
expect(pathElements[1].attributes('d')).toBe(paths[1])
|
|
94
|
-
expect(wrapper.find('.
|
|
94
|
+
expect(wrapper.find('.mint-collapsible-card__icon-text').exists()).toBe(false)
|
|
95
95
|
})
|
|
96
96
|
|
|
97
97
|
it('should set correct SVG attributes for path icons', () => {
|
|
@@ -102,7 +102,7 @@ describe('CollapsibleCard', () => {
|
|
|
102
102
|
},
|
|
103
103
|
})
|
|
104
104
|
|
|
105
|
-
const svg = wrapper.find('.
|
|
105
|
+
const svg = wrapper.find('.mint-collapsible-card__icon')
|
|
106
106
|
expect(svg.attributes('viewBox')).toBe('0 0 24 24')
|
|
107
107
|
expect(svg.attributes('fill')).toBe('none')
|
|
108
108
|
expect(svg.attributes('stroke')).toBe('currentColor')
|
|
@@ -121,10 +121,10 @@ describe('CollapsibleCard', () => {
|
|
|
121
121
|
},
|
|
122
122
|
})
|
|
123
123
|
|
|
124
|
-
expect(wrapper.find('.
|
|
125
|
-
expect(wrapper.find('.
|
|
126
|
-
expect(wrapper.find('.
|
|
127
|
-
expect(wrapper.find('.
|
|
124
|
+
expect(wrapper.find('.mint-collapsible-card__icon-badge').exists()).toBe(true)
|
|
125
|
+
expect(wrapper.find('.mint-collapsible-card__icon-text').exists()).toBe(true)
|
|
126
|
+
expect(wrapper.find('.mint-collapsible-card__icon-text').text()).toBe('⚙')
|
|
127
|
+
expect(wrapper.find('.mint-collapsible-card__icon').exists()).toBe(false)
|
|
128
128
|
})
|
|
129
129
|
|
|
130
130
|
it('should render single letter as text in span element', () => {
|
|
@@ -135,9 +135,9 @@ describe('CollapsibleCard', () => {
|
|
|
135
135
|
},
|
|
136
136
|
})
|
|
137
137
|
|
|
138
|
-
expect(wrapper.find('.
|
|
139
|
-
expect(wrapper.find('.
|
|
140
|
-
expect(wrapper.find('.
|
|
138
|
+
expect(wrapper.find('.mint-collapsible-card__icon-text').exists()).toBe(true)
|
|
139
|
+
expect(wrapper.find('.mint-collapsible-card__icon-text').text()).toBe('A')
|
|
140
|
+
expect(wrapper.find('.mint-collapsible-card__icon').exists()).toBe(false)
|
|
141
141
|
})
|
|
142
142
|
|
|
143
143
|
it('should render multi-character text as span element', () => {
|
|
@@ -148,9 +148,9 @@ describe('CollapsibleCard', () => {
|
|
|
148
148
|
},
|
|
149
149
|
})
|
|
150
150
|
|
|
151
|
-
expect(wrapper.find('.
|
|
152
|
-
expect(wrapper.find('.
|
|
153
|
-
expect(wrapper.find('.
|
|
151
|
+
expect(wrapper.find('.mint-collapsible-card__icon-text').exists()).toBe(true)
|
|
152
|
+
expect(wrapper.find('.mint-collapsible-card__icon-text').text()).toBe('AB')
|
|
153
|
+
expect(wrapper.find('.mint-collapsible-card__icon').exists()).toBe(false)
|
|
154
154
|
})
|
|
155
155
|
|
|
156
156
|
it('should handle various emoji types', () => {
|
|
@@ -164,9 +164,9 @@ describe('CollapsibleCard', () => {
|
|
|
164
164
|
},
|
|
165
165
|
})
|
|
166
166
|
|
|
167
|
-
expect(wrapper.find('.
|
|
168
|
-
expect(wrapper.find('.
|
|
169
|
-
expect(wrapper.find('.
|
|
167
|
+
expect(wrapper.find('.mint-collapsible-card__icon-text').exists()).toBe(true)
|
|
168
|
+
expect(wrapper.find('.mint-collapsible-card__icon-text').text()).toBe(emoji)
|
|
169
|
+
expect(wrapper.find('.mint-collapsible-card__icon').exists()).toBe(false)
|
|
170
170
|
})
|
|
171
171
|
})
|
|
172
172
|
})
|
|
@@ -177,9 +177,9 @@ describe('CollapsibleCard', () => {
|
|
|
177
177
|
props: { title: 'Test Card' },
|
|
178
178
|
})
|
|
179
179
|
|
|
180
|
-
expect(wrapper.find('.
|
|
181
|
-
expect(wrapper.find('.
|
|
182
|
-
expect(wrapper.find('.
|
|
180
|
+
expect(wrapper.find('.mint-collapsible-card__icon-badge').exists()).toBe(false)
|
|
181
|
+
expect(wrapper.find('.mint-collapsible-card__icon').exists()).toBe(false)
|
|
182
|
+
expect(wrapper.find('.mint-collapsible-card__icon-text').exists()).toBe(false)
|
|
183
183
|
})
|
|
184
184
|
|
|
185
185
|
it('should not render icon badge when icon prop is empty string', () => {
|
|
@@ -187,7 +187,7 @@ describe('CollapsibleCard', () => {
|
|
|
187
187
|
props: { title: 'Test Card', icon: '' },
|
|
188
188
|
})
|
|
189
189
|
|
|
190
|
-
expect(wrapper.find('.
|
|
190
|
+
expect(wrapper.find('.mint-collapsible-card__icon-badge').exists()).toBe(false)
|
|
191
191
|
})
|
|
192
192
|
|
|
193
193
|
it('should render empty array as SVG with no paths', () => {
|
|
@@ -198,9 +198,9 @@ describe('CollapsibleCard', () => {
|
|
|
198
198
|
},
|
|
199
199
|
})
|
|
200
200
|
|
|
201
|
-
expect(wrapper.find('.
|
|
202
|
-
expect(wrapper.find('.
|
|
203
|
-
expect(wrapper.findAll('.
|
|
201
|
+
expect(wrapper.find('.mint-collapsible-card__icon-badge').exists()).toBe(true)
|
|
202
|
+
expect(wrapper.find('.mint-collapsible-card__icon').exists()).toBe(true)
|
|
203
|
+
expect(wrapper.findAll('.mint-collapsible-card__icon path')).toHaveLength(0)
|
|
204
204
|
})
|
|
205
205
|
|
|
206
206
|
it('should render string starting with non-M letter as text', () => {
|
|
@@ -211,9 +211,9 @@ describe('CollapsibleCard', () => {
|
|
|
211
211
|
},
|
|
212
212
|
})
|
|
213
213
|
|
|
214
|
-
expect(wrapper.find('.
|
|
215
|
-
expect(wrapper.find('.
|
|
216
|
-
expect(wrapper.find('.
|
|
214
|
+
expect(wrapper.find('.mint-collapsible-card__icon-text').exists()).toBe(true)
|
|
215
|
+
expect(wrapper.find('.mint-collapsible-card__icon-text').text()).toBe('Hello')
|
|
216
|
+
expect(wrapper.find('.mint-collapsible-card__icon').exists()).toBe(false)
|
|
217
217
|
})
|
|
218
218
|
|
|
219
219
|
it('should render string with M in middle as text', () => {
|
|
@@ -224,8 +224,8 @@ describe('CollapsibleCard', () => {
|
|
|
224
224
|
},
|
|
225
225
|
})
|
|
226
226
|
|
|
227
|
-
expect(wrapper.find('.
|
|
228
|
-
expect(wrapper.find('.
|
|
227
|
+
expect(wrapper.find('.mint-collapsible-card__icon-text').exists()).toBe(true)
|
|
228
|
+
expect(wrapper.find('.mint-collapsible-card__icon-text').text()).toBe('AMB')
|
|
229
229
|
})
|
|
230
230
|
})
|
|
231
231
|
|
|
@@ -239,7 +239,7 @@ describe('CollapsibleCard', () => {
|
|
|
239
239
|
},
|
|
240
240
|
})
|
|
241
241
|
|
|
242
|
-
const svg = wrapper.find('.
|
|
242
|
+
const svg = wrapper.find('.mint-collapsible-card__icon')
|
|
243
243
|
expect(svg.attributes('style')).toContain('color: #ff0000')
|
|
244
244
|
})
|
|
245
245
|
|
|
@@ -252,7 +252,7 @@ describe('CollapsibleCard', () => {
|
|
|
252
252
|
},
|
|
253
253
|
})
|
|
254
254
|
|
|
255
|
-
const badge = wrapper.find('.
|
|
255
|
+
const badge = wrapper.find('.mint-collapsible-card__icon-badge')
|
|
256
256
|
expect(badge.attributes('style')).toContain('background-color: #00ff00')
|
|
257
257
|
})
|
|
258
258
|
|
|
@@ -265,7 +265,7 @@ describe('CollapsibleCard', () => {
|
|
|
265
265
|
},
|
|
266
266
|
})
|
|
267
267
|
|
|
268
|
-
const textIcon = wrapper.find('.
|
|
268
|
+
const textIcon = wrapper.find('.mint-collapsible-card__icon-text')
|
|
269
269
|
expect(textIcon.attributes('style')).toContain('color: #0000ff')
|
|
270
270
|
})
|
|
271
271
|
|
|
@@ -277,7 +277,7 @@ describe('CollapsibleCard', () => {
|
|
|
277
277
|
},
|
|
278
278
|
})
|
|
279
279
|
|
|
280
|
-
const badge = wrapper.find('.
|
|
280
|
+
const badge = wrapper.find('.mint-collapsible-card__icon-badge')
|
|
281
281
|
expect(badge.attributes('style')).toContain('background-color: var(--color-primary-soft)')
|
|
282
282
|
})
|
|
283
283
|
|
|
@@ -289,7 +289,7 @@ describe('CollapsibleCard', () => {
|
|
|
289
289
|
},
|
|
290
290
|
})
|
|
291
291
|
|
|
292
|
-
const svg = wrapper.find('.
|
|
292
|
+
const svg = wrapper.find('.mint-collapsible-card__icon')
|
|
293
293
|
expect(svg.attributes('style')).toContain('color: var(--color-primary)')
|
|
294
294
|
})
|
|
295
295
|
})
|
|
@@ -300,7 +300,7 @@ describe('CollapsibleCard', () => {
|
|
|
300
300
|
props: { title: 'Test Card' },
|
|
301
301
|
})
|
|
302
302
|
|
|
303
|
-
const body = wrapper.find('.
|
|
303
|
+
const body = wrapper.find('.mint-collapsible-card__body')
|
|
304
304
|
expect((body.element as HTMLElement).style.display).toBe('none')
|
|
305
305
|
expect(wrapper.find('button').attributes('aria-expanded')).toBe('false')
|
|
306
306
|
})
|
|
@@ -310,7 +310,7 @@ describe('CollapsibleCard', () => {
|
|
|
310
310
|
props: { title: 'Test Card', defaultOpen: true },
|
|
311
311
|
})
|
|
312
312
|
|
|
313
|
-
const body = wrapper.find('.
|
|
313
|
+
const body = wrapper.find('.mint-collapsible-card__body')
|
|
314
314
|
expect((body.element as HTMLElement).style.display).not.toBe('none')
|
|
315
315
|
expect(wrapper.find('button').attributes('aria-expanded')).toBe('true')
|
|
316
316
|
})
|
|
@@ -320,15 +320,15 @@ describe('CollapsibleCard', () => {
|
|
|
320
320
|
props: { title: 'Test Card' },
|
|
321
321
|
})
|
|
322
322
|
|
|
323
|
-
let body = wrapper.find('.
|
|
323
|
+
let body = wrapper.find('.mint-collapsible-card__body')
|
|
324
324
|
expect((body.element as HTMLElement).style.display).toBe('none')
|
|
325
325
|
|
|
326
326
|
await wrapper.find('button').trigger('click')
|
|
327
|
-
body = wrapper.find('.
|
|
327
|
+
body = wrapper.find('.mint-collapsible-card__body')
|
|
328
328
|
expect((body.element as HTMLElement).style.display).not.toBe('none')
|
|
329
329
|
|
|
330
330
|
await wrapper.find('button').trigger('click')
|
|
331
|
-
body = wrapper.find('.
|
|
331
|
+
body = wrapper.find('.mint-collapsible-card__body')
|
|
332
332
|
expect((body.element as HTMLElement).style.display).toBe('none')
|
|
333
333
|
})
|
|
334
334
|
|
|
@@ -337,11 +337,11 @@ describe('CollapsibleCard', () => {
|
|
|
337
337
|
props: { title: 'Test Card', disabled: true },
|
|
338
338
|
})
|
|
339
339
|
|
|
340
|
-
let body = wrapper.find('.
|
|
340
|
+
let body = wrapper.find('.mint-collapsible-card__body')
|
|
341
341
|
expect((body.element as HTMLElement).style.display).toBe('none')
|
|
342
342
|
|
|
343
343
|
await wrapper.find('button').trigger('click')
|
|
344
|
-
body = wrapper.find('.
|
|
344
|
+
body = wrapper.find('.mint-collapsible-card__body')
|
|
345
345
|
expect((body.element as HTMLElement).style.display).toBe('none')
|
|
346
346
|
})
|
|
347
347
|
|
|
@@ -352,7 +352,7 @@ describe('CollapsibleCard', () => {
|
|
|
352
352
|
|
|
353
353
|
const header = wrapper.find('button')
|
|
354
354
|
expect(header.attributes('disabled')).toBeDefined()
|
|
355
|
-
expect(header.classes()).toContain('
|
|
355
|
+
expect(header.classes()).toContain('mint-collapsible-card__header--disabled')
|
|
356
356
|
})
|
|
357
357
|
})
|
|
358
358
|
|
|
@@ -362,7 +362,7 @@ describe('CollapsibleCard', () => {
|
|
|
362
362
|
props: { title: 'Test Card' },
|
|
363
363
|
})
|
|
364
364
|
|
|
365
|
-
expect(wrapper.find('.
|
|
365
|
+
expect(wrapper.find('.mint-collapsible-card__toggle').exists()).toBe(false)
|
|
366
366
|
})
|
|
367
367
|
|
|
368
368
|
it('should render toggle when showToggle is true', () => {
|
|
@@ -370,7 +370,7 @@ describe('CollapsibleCard', () => {
|
|
|
370
370
|
props: { title: 'Test Card', showToggle: true },
|
|
371
371
|
})
|
|
372
372
|
|
|
373
|
-
expect(wrapper.find('.
|
|
373
|
+
expect(wrapper.find('.mint-collapsible-card__toggle').exists()).toBe(true)
|
|
374
374
|
expect(wrapper.find('[role="switch"]').exists()).toBe(true)
|
|
375
375
|
})
|
|
376
376
|
|
|
@@ -381,7 +381,7 @@ describe('CollapsibleCard', () => {
|
|
|
381
381
|
|
|
382
382
|
const toggle = wrapper.find('[role="switch"]')
|
|
383
383
|
expect(toggle.attributes('aria-checked')).toBe('true')
|
|
384
|
-
expect(toggle.classes()).toContain('
|
|
384
|
+
expect(toggle.classes()).toContain('mint-collapsible-card__toggle-track--on')
|
|
385
385
|
})
|
|
386
386
|
|
|
387
387
|
it('should emit update:toggleValue event', async () => {
|
|
@@ -389,7 +389,7 @@ describe('CollapsibleCard', () => {
|
|
|
389
389
|
props: { title: 'Test Card', showToggle: true, toggleValue: false },
|
|
390
390
|
})
|
|
391
391
|
|
|
392
|
-
await wrapper.find('.
|
|
392
|
+
await wrapper.find('.mint-collapsible-card__toggle').trigger('click')
|
|
393
393
|
|
|
394
394
|
expect(wrapper.emitted('update:toggleValue')).toBeTruthy()
|
|
395
395
|
expect(wrapper.emitted('update:toggleValue')?.[0]).toEqual([true])
|
|
@@ -401,8 +401,8 @@ describe('CollapsibleCard', () => {
|
|
|
401
401
|
})
|
|
402
402
|
|
|
403
403
|
// Click toggle should not expand/collapse the card
|
|
404
|
-
await wrapper.find('.
|
|
405
|
-
const body = wrapper.find('.
|
|
404
|
+
await wrapper.find('.mint-collapsible-card__toggle').trigger('click')
|
|
405
|
+
const body = wrapper.find('.mint-collapsible-card__body')
|
|
406
406
|
expect((body.element as HTMLElement).style.display).toBe('none')
|
|
407
407
|
})
|
|
408
408
|
|
|
@@ -416,7 +416,7 @@ describe('CollapsibleCard', () => {
|
|
|
416
416
|
},
|
|
417
417
|
})
|
|
418
418
|
|
|
419
|
-
const track = wrapper.find('.
|
|
419
|
+
const track = wrapper.find('.mint-collapsible-card__toggle-track')
|
|
420
420
|
const style = track.attributes('style')
|
|
421
421
|
expect(style).toContain('background-color: #ff0000')
|
|
422
422
|
expect(style).toContain('border-color: #ff0000')
|
|
@@ -432,8 +432,8 @@ describe('CollapsibleCard', () => {
|
|
|
432
432
|
},
|
|
433
433
|
})
|
|
434
434
|
|
|
435
|
-
expect(wrapper.find('.
|
|
436
|
-
expect(wrapper.find('.
|
|
435
|
+
expect(wrapper.find('.mint-collapsible-card__content').exists()).toBe(true)
|
|
436
|
+
expect(wrapper.find('.mint-collapsible-card__content').html()).toContain('Card content')
|
|
437
437
|
})
|
|
438
438
|
})
|
|
439
439
|
|
|
@@ -443,7 +443,7 @@ describe('CollapsibleCard', () => {
|
|
|
443
443
|
props: { title: 'Test Card' },
|
|
444
444
|
})
|
|
445
445
|
|
|
446
|
-
expect(wrapper.find('.
|
|
446
|
+
expect(wrapper.find('.mint-collapsible-card__chevron').exists()).toBe(true)
|
|
447
447
|
})
|
|
448
448
|
|
|
449
449
|
it('should toggle chevron class when open', async () => {
|
|
@@ -451,11 +451,11 @@ describe('CollapsibleCard', () => {
|
|
|
451
451
|
props: { title: 'Test Card' },
|
|
452
452
|
})
|
|
453
453
|
|
|
454
|
-
const chevron = wrapper.find('.
|
|
455
|
-
expect(chevron.classes()).not.toContain('
|
|
454
|
+
const chevron = wrapper.find('.mint-collapsible-card__chevron')
|
|
455
|
+
expect(chevron.classes()).not.toContain('mint-collapsible-card__chevron--open')
|
|
456
456
|
|
|
457
457
|
await wrapper.find('button').trigger('click')
|
|
458
|
-
expect(chevron.classes()).toContain('
|
|
458
|
+
expect(chevron.classes()).toContain('mint-collapsible-card__chevron--open')
|
|
459
459
|
})
|
|
460
460
|
})
|
|
461
461
|
|
|
@@ -473,13 +473,13 @@ describe('CollapsibleCard', () => {
|
|
|
473
473
|
},
|
|
474
474
|
})
|
|
475
475
|
|
|
476
|
-
expect(wrapper.find('.
|
|
477
|
-
expect(wrapper.find('.
|
|
476
|
+
expect(wrapper.find('.mint-collapsible-card__icon').exists()).toBe(true)
|
|
477
|
+
expect(wrapper.find('.mint-collapsible-card__toggle').exists()).toBe(true)
|
|
478
478
|
|
|
479
|
-
const svg = wrapper.find('.
|
|
479
|
+
const svg = wrapper.find('.mint-collapsible-card__icon')
|
|
480
480
|
expect(svg.attributes('style')).toContain('color: #ff0000')
|
|
481
481
|
|
|
482
|
-
const badge = wrapper.find('.
|
|
482
|
+
const badge = wrapper.find('.mint-collapsible-card__icon-badge')
|
|
483
483
|
expect(badge.attributes('style')).toContain('background-color: #00ff00')
|
|
484
484
|
})
|
|
485
485
|
|
|
@@ -493,8 +493,8 @@ describe('CollapsibleCard', () => {
|
|
|
493
493
|
},
|
|
494
494
|
})
|
|
495
495
|
|
|
496
|
-
expect(wrapper.find('.
|
|
497
|
-
expect(wrapper.find('.
|
|
496
|
+
expect(wrapper.find('.mint-collapsible-card__icon-text').text()).toBe('🔬')
|
|
497
|
+
expect(wrapper.find('.mint-collapsible-card__subtitle').text()).toBe('Subtitle')
|
|
498
498
|
expect(wrapper.find('button').attributes('disabled')).toBeDefined()
|
|
499
499
|
})
|
|
500
500
|
|
|
@@ -512,12 +512,12 @@ describe('CollapsibleCard', () => {
|
|
|
512
512
|
},
|
|
513
513
|
})
|
|
514
514
|
|
|
515
|
-
const pathElements = wrapper.findAll('.
|
|
515
|
+
const pathElements = wrapper.findAll('.mint-collapsible-card__icon path')
|
|
516
516
|
expect(pathElements).toHaveLength(2)
|
|
517
|
-
expect(wrapper.find('.
|
|
518
|
-
expect(wrapper.find('.
|
|
517
|
+
expect(wrapper.find('.mint-collapsible-card__subtitle').exists()).toBe(true)
|
|
518
|
+
expect(wrapper.find('.mint-collapsible-card__toggle').exists()).toBe(true)
|
|
519
519
|
|
|
520
|
-
const body = wrapper.find('.
|
|
520
|
+
const body = wrapper.find('.mint-collapsible-card__body')
|
|
521
521
|
expect((body.element as HTMLElement).style.display).not.toBe('none')
|
|
522
522
|
})
|
|
523
523
|
})
|