@morscherlab/mint-sdk 1.0.0-alpha.8 → 1.0.0-beta.1

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 (217) hide show
  1. package/README.md +15 -15
  2. package/dist/{auth-BYmxZdJl.js → auth-DsI0rQ7_.js} +6 -6
  3. package/dist/auth-DsI0rQ7_.js.map +1 -0
  4. package/dist/components/index.js +2 -2
  5. package/dist/{components-CKf-UpGi.js → components-CzbQQPCb.js} +1429 -1429
  6. package/dist/components-CzbQQPCb.js.map +1 -0
  7. package/dist/composables/index.js +2 -2
  8. package/dist/composables/usePlatformContext.d.ts +3 -3
  9. package/dist/{composables-D0QfFzq1.js → composables-BXklV5ii.js} +3 -3
  10. package/dist/{composables-D0QfFzq1.js.map → composables-BXklV5ii.js.map} +1 -1
  11. package/dist/index.js +4 -4
  12. package/dist/install.d.ts +3 -3
  13. package/dist/install.js +5 -5
  14. package/dist/install.js.map +1 -1
  15. package/dist/stores/auth.d.ts +1 -1
  16. package/dist/stores/index.js +1 -1
  17. package/dist/stores/settings.d.ts +1 -1
  18. package/dist/styles.css +5388 -5388
  19. package/dist/types/platform.d.ts +1 -1
  20. package/dist/{useScheduleDrag-DAJueTbK.js → useScheduleDrag-CxBeqYcu.js} +331 -331
  21. package/dist/useScheduleDrag-CxBeqYcu.js.map +1 -0
  22. package/package.json +2 -2
  23. package/src/__tests__/components/AppLayout.test.ts +23 -23
  24. package/src/__tests__/components/AppSidebar.test.ts +29 -29
  25. package/src/__tests__/components/AppTopBar.test.ts +45 -45
  26. package/src/__tests__/components/BaseInput.test.ts +2 -2
  27. package/src/__tests__/components/BasePill.test.ts +37 -37
  28. package/src/__tests__/components/Calendar.test.ts +52 -52
  29. package/src/__tests__/components/CollapsibleCard.test.ts +81 -81
  30. package/src/__tests__/components/DataFrame.test.ts +80 -80
  31. package/src/__tests__/components/DropdownButton.test.ts +80 -80
  32. package/src/__tests__/composables/usePlatformContext.test.ts +1 -1
  33. package/src/components/AlertBox.story.vue +1 -1
  34. package/src/components/AlertBox.vue +14 -14
  35. package/src/components/AppAvatarMenu.vue +26 -26
  36. package/src/components/AppContainer.vue +3 -3
  37. package/src/components/AppLayout.vue +7 -7
  38. package/src/components/AppPageSelector.vue +30 -30
  39. package/src/components/AppPillNav.vue +10 -10
  40. package/src/components/AppPluginSwitcher.vue +31 -31
  41. package/src/components/AppSidebar.vue +8 -8
  42. package/src/components/AppTopBar.story.vue +7 -7
  43. package/src/components/AppTopBar.vue +102 -102
  44. package/src/components/AuditTrail.vue +19 -19
  45. package/src/components/AutoGroupModal.vue +76 -76
  46. package/src/components/Avatar.vue +6 -6
  47. package/src/components/BaseButton.vue +6 -6
  48. package/src/components/BaseCheckbox.vue +9 -9
  49. package/src/components/BaseInput.vue +4 -4
  50. package/src/components/BaseModal.story.vue +1 -1
  51. package/src/components/BaseModal.vue +14 -14
  52. package/src/components/BasePill.vue +9 -9
  53. package/src/components/BaseRadioGroup.vue +21 -21
  54. package/src/components/BaseSelect.vue +6 -6
  55. package/src/components/BaseSlider.vue +8 -8
  56. package/src/components/BaseTabs.vue +7 -7
  57. package/src/components/BaseTextarea.vue +5 -5
  58. package/src/components/BaseToggle.vue +10 -10
  59. package/src/components/BatchProgressList.vue +25 -25
  60. package/src/components/Breadcrumb.vue +8 -8
  61. package/src/components/Calendar.vue +19 -19
  62. package/src/components/ChartContainer.vue +9 -9
  63. package/src/components/ChemicalFormula.vue +7 -7
  64. package/src/components/CollapsibleCard.vue +20 -20
  65. package/src/components/ColorSlider.vue +6 -6
  66. package/src/components/ConcentrationInput.vue +12 -12
  67. package/src/components/ConfirmDialog.story.vue +1 -1
  68. package/src/components/ConfirmDialog.vue +7 -7
  69. package/src/components/DataFrame.vue +40 -40
  70. package/src/components/DatePicker.vue +29 -29
  71. package/src/components/DateTimePicker.vue +41 -41
  72. package/src/components/Divider.vue +9 -9
  73. package/src/components/DoseCalculator.vue +66 -66
  74. package/src/components/DropdownButton.vue +19 -19
  75. package/src/components/EmptyState.vue +9 -9
  76. package/src/components/ExperimentCodeBadge.vue +3 -3
  77. package/src/components/ExperimentDataViewer.vue +25 -25
  78. package/src/components/ExperimentPopover.vue +35 -35
  79. package/src/components/ExperimentSelectorModal.vue +40 -40
  80. package/src/components/ExperimentTimeline.vue +48 -48
  81. package/src/components/FileUploader.vue +31 -31
  82. package/src/components/FitPanel.vue +9 -9
  83. package/src/components/FormActions.vue +1 -1
  84. package/src/components/FormBuilder.vue +2 -2
  85. package/src/components/FormField.vue +7 -7
  86. package/src/components/FormSection.vue +7 -7
  87. package/src/components/FormulaInput.vue +10 -10
  88. package/src/components/GroupAssigner.vue +40 -40
  89. package/src/components/GroupingModal.vue +45 -45
  90. package/src/components/IconButton.vue +6 -6
  91. package/src/components/LoadingSpinner.vue +5 -5
  92. package/src/components/MoleculeInput.vue +21 -21
  93. package/src/components/MultiSelect.vue +13 -13
  94. package/src/components/NumberInput.vue +13 -13
  95. package/src/components/PlateMapEditor.vue +63 -63
  96. package/src/components/ProgressBar.vue +18 -18
  97. package/src/components/ProtocolStepEditor.vue +57 -57
  98. package/src/components/RackEditor.vue +28 -28
  99. package/src/components/ReagentEditor.vue +61 -61
  100. package/src/components/ReagentList.vue +49 -49
  101. package/src/components/ResourceCard.vue +28 -28
  102. package/src/components/SampleHierarchyTree.vue +13 -13
  103. package/src/components/SampleLegend.vue +12 -12
  104. package/src/components/SampleSelector.vue +104 -104
  105. package/src/components/ScheduleCalendar.vue +42 -42
  106. package/src/components/ScientificNumber.vue +11 -11
  107. package/src/components/SegmentedControl.vue +12 -12
  108. package/src/components/SequenceInput.vue +32 -32
  109. package/src/components/SettingsButton.vue +5 -5
  110. package/src/components/SettingsModal.vue +17 -17
  111. package/src/components/StatusIndicator.vue +5 -5
  112. package/src/components/StepWizard.vue +16 -16
  113. package/src/components/TagsInput.vue +20 -20
  114. package/src/components/ThemeToggle.vue +3 -3
  115. package/src/components/TimePicker.vue +21 -21
  116. package/src/components/TimeRangeInput.vue +5 -5
  117. package/src/components/ToastNotification.vue +8 -8
  118. package/src/components/Tooltip.vue +7 -7
  119. package/src/components/UnitInput.vue +12 -12
  120. package/src/components/WellEditPopup.vue +28 -28
  121. package/src/components/WellPlate.vue +37 -37
  122. package/src/composables/useAppExperiment.ts +1 -1
  123. package/src/composables/usePlatformContext.ts +16 -16
  124. package/src/composables/useProtocolTemplates.ts +1 -1
  125. package/src/install.ts +3 -3
  126. package/src/stores/auth.ts +3 -3
  127. package/src/stores/settings.ts +2 -2
  128. package/src/styles/components/alert-box.css +30 -30
  129. package/src/styles/components/app-avatar-menu.css +23 -23
  130. package/src/styles/components/app-container.css +6 -6
  131. package/src/styles/components/app-layout.css +15 -15
  132. package/src/styles/components/app-page-selector.css +26 -26
  133. package/src/styles/components/app-pill-nav.css +7 -7
  134. package/src/styles/components/app-plugin-switcher.css +27 -27
  135. package/src/styles/components/app-sidebar.css +24 -24
  136. package/src/styles/components/app-top-bar.css +65 -65
  137. package/src/styles/components/audit-trail.css +29 -29
  138. package/src/styles/components/auto-group-modal.css +91 -91
  139. package/src/styles/components/avatar.css +15 -15
  140. package/src/styles/components/batch-progress-list.css +40 -40
  141. package/src/styles/components/breadcrumb.css +8 -8
  142. package/src/styles/components/button.css +31 -31
  143. package/src/styles/components/calendar.css +27 -27
  144. package/src/styles/components/chart-container.css +9 -9
  145. package/src/styles/components/checkbox.css +20 -20
  146. package/src/styles/components/chemical-formula.css +8 -8
  147. package/src/styles/components/collapsible-card.css +35 -35
  148. package/src/styles/components/color-slider.css +8 -8
  149. package/src/styles/components/concentration-input.css +27 -27
  150. package/src/styles/components/confirm-dialog.css +32 -32
  151. package/src/styles/components/dataframe.css +66 -66
  152. package/src/styles/components/date-picker.css +40 -40
  153. package/src/styles/components/datetime-picker.css +37 -37
  154. package/src/styles/components/divider.css +13 -13
  155. package/src/styles/components/dose-calculator.css +43 -43
  156. package/src/styles/components/dropdown-button.css +46 -46
  157. package/src/styles/components/empty-state.css +44 -44
  158. package/src/styles/components/experiment-code-badge.css +8 -8
  159. package/src/styles/components/experiment-data-viewer.css +23 -23
  160. package/src/styles/components/experiment-popover.css +97 -97
  161. package/src/styles/components/experiment-selector-modal.css +39 -39
  162. package/src/styles/components/experiment-timeline.css +98 -98
  163. package/src/styles/components/file-uploader.css +44 -44
  164. package/src/styles/components/fit-panel.css +12 -12
  165. package/src/styles/components/form-builder.css +11 -11
  166. package/src/styles/components/form-field.css +7 -7
  167. package/src/styles/components/formula-input.css +17 -17
  168. package/src/styles/components/group-assigner.css +26 -26
  169. package/src/styles/components/grouping-modal.css +51 -51
  170. package/src/styles/components/icon-button.css +41 -41
  171. package/src/styles/components/input.css +13 -13
  172. package/src/styles/components/loading-spinner.css +12 -12
  173. package/src/styles/components/modal.css +69 -69
  174. package/src/styles/components/molecule-input.css +27 -27
  175. package/src/styles/components/multi-select.css +23 -23
  176. package/src/styles/components/number-input.css +32 -32
  177. package/src/styles/components/pill.css +37 -37
  178. package/src/styles/components/plate-map-editor.css +67 -67
  179. package/src/styles/components/progress-bar.css +41 -41
  180. package/src/styles/components/protocol-step-editor.css +63 -63
  181. package/src/styles/components/rack-editor.css +34 -34
  182. package/src/styles/components/radio-group.css +41 -41
  183. package/src/styles/components/reagent-editor.css +70 -70
  184. package/src/styles/components/reagent-list.css +65 -65
  185. package/src/styles/components/resource-card.css +52 -52
  186. package/src/styles/components/sample-hierarchy-tree.css +56 -56
  187. package/src/styles/components/sample-legend.css +37 -37
  188. package/src/styles/components/sample-selector.css +121 -121
  189. package/src/styles/components/schedule-calendar.css +67 -67
  190. package/src/styles/components/scientific-number.css +11 -11
  191. package/src/styles/components/segmented-control.css +33 -33
  192. package/src/styles/components/select.css +11 -11
  193. package/src/styles/components/sequence-input.css +29 -29
  194. package/src/styles/components/settings-button.css +16 -16
  195. package/src/styles/components/settings-modal.css +14 -14
  196. package/src/styles/components/skeleton.css +2 -2
  197. package/src/styles/components/slider.css +10 -10
  198. package/src/styles/components/status-indicator.css +12 -12
  199. package/src/styles/components/step-wizard.css +32 -32
  200. package/src/styles/components/tabs.css +16 -16
  201. package/src/styles/components/tags-input.css +46 -46
  202. package/src/styles/components/textarea.css +17 -17
  203. package/src/styles/components/theme-toggle.css +13 -13
  204. package/src/styles/components/time-picker.css +28 -28
  205. package/src/styles/components/time-range-input.css +8 -8
  206. package/src/styles/components/toast.css +18 -18
  207. package/src/styles/components/toggle.css +27 -27
  208. package/src/styles/components/tooltip.css +18 -18
  209. package/src/styles/components/unit-input.css +25 -25
  210. package/src/styles/components/well-edit-popup.css +32 -32
  211. package/src/styles/components/well-plate.css +49 -49
  212. package/src/styles/index.css +1 -1
  213. package/src/styles/variables.css +3 -3
  214. package/src/types/platform.ts +6 -6
  215. package/dist/auth-BYmxZdJl.js.map +0 -1
  216. package/dist/components-CKf-UpGi.js.map +0 -1
  217. package/dist/useScheduleDrag-DAJueTbK.js.map +0 -1
@@ -21,15 +21,15 @@ describe('DataFrame', () => {
21
21
  const wrapper = mount(DataFrame, {
22
22
  props: { data: mockData, columns: mockColumns },
23
23
  })
24
- expect(wrapper.find('.mld-dataframe').exists()).toBe(true)
25
- expect(wrapper.find('.mld-dataframe__table').exists()).toBe(true)
24
+ expect(wrapper.find('.mint-dataframe').exists()).toBe(true)
25
+ expect(wrapper.find('.mint-dataframe__table').exists()).toBe(true)
26
26
  })
27
27
 
28
28
  it('should render column headers', () => {
29
29
  const wrapper = mount(DataFrame, {
30
30
  props: { data: mockData, columns: mockColumns },
31
31
  })
32
- const headers = wrapper.findAll('.mld-dataframe__th')
32
+ const headers = wrapper.findAll('.mint-dataframe__th')
33
33
  expect(headers).toHaveLength(3)
34
34
  expect(headers[0].text()).toBe('Name')
35
35
  expect(headers[1].text()).toBe('Age')
@@ -40,7 +40,7 @@ describe('DataFrame', () => {
40
40
  const wrapper = mount(DataFrame, {
41
41
  props: { data: mockData, columns: mockColumns },
42
42
  })
43
- const rows = wrapper.findAll('.mld-dataframe__row')
43
+ const rows = wrapper.findAll('.mint-dataframe__row')
44
44
  expect(rows).toHaveLength(3)
45
45
  })
46
46
 
@@ -48,8 +48,8 @@ describe('DataFrame', () => {
48
48
  const wrapper = mount(DataFrame, {
49
49
  props: { data: mockData, columns: mockColumns },
50
50
  })
51
- const firstRow = wrapper.findAll('.mld-dataframe__row')[0]
52
- const cells = firstRow.findAll('.mld-dataframe__td')
51
+ const firstRow = wrapper.findAll('.mint-dataframe__row')[0]
52
+ const cells = firstRow.findAll('.mint-dataframe__td')
53
53
  expect(cells[0].text()).toBe('Alice')
54
54
  expect(cells[1].text()).toBe('30')
55
55
  expect(cells[2].text()).toBe('alice@example.com')
@@ -59,15 +59,15 @@ describe('DataFrame', () => {
59
59
  const wrapper = mount(DataFrame, {
60
60
  props: { data: mockData, columns: mockColumns },
61
61
  })
62
- expect(wrapper.find('.mld-dataframe--bordered').exists()).toBe(true)
62
+ expect(wrapper.find('.mint-dataframe--bordered').exists()).toBe(true)
63
63
  })
64
64
 
65
65
  it('should apply striped rows by default', () => {
66
66
  const wrapper = mount(DataFrame, {
67
67
  props: { data: mockData, columns: mockColumns },
68
68
  })
69
- const rows = wrapper.findAll('.mld-dataframe__row')
70
- expect(rows[1].classes()).toContain('mld-dataframe__row--striped')
69
+ const rows = wrapper.findAll('.mint-dataframe__row')
70
+ expect(rows[1].classes()).toContain('mint-dataframe__row--striped')
71
71
  })
72
72
  })
73
73
 
@@ -76,8 +76,8 @@ describe('DataFrame', () => {
76
76
  const wrapper = mount(DataFrame, {
77
77
  props: { data: mockData, columns: mockColumns },
78
78
  })
79
- const ageHeader = wrapper.findAll('.mld-dataframe__th')[1]
80
- expect(ageHeader.classes()).toContain('mld-dataframe__th--align-right')
79
+ const ageHeader = wrapper.findAll('.mint-dataframe__th')[1]
80
+ expect(ageHeader.classes()).toContain('mint-dataframe__th--align-right')
81
81
  })
82
82
 
83
83
  it('should apply column width', () => {
@@ -87,7 +87,7 @@ describe('DataFrame', () => {
87
87
  const wrapper = mount(DataFrame, {
88
88
  props: { data: mockData, columns },
89
89
  })
90
- const header = wrapper.find('.mld-dataframe__th')
90
+ const header = wrapper.find('.mint-dataframe__th')
91
91
  expect(header.attributes('style')).toContain('width: 200px')
92
92
  })
93
93
 
@@ -98,7 +98,7 @@ describe('DataFrame', () => {
98
98
  const wrapper = mount(DataFrame, {
99
99
  props: { data: mockData, columns },
100
100
  })
101
- const header = wrapper.find('.mld-dataframe__th')
101
+ const header = wrapper.find('.mint-dataframe__th')
102
102
  expect(header.attributes('style')).toContain('width: 20rem')
103
103
  })
104
104
 
@@ -109,7 +109,7 @@ describe('DataFrame', () => {
109
109
  const wrapper = mount(DataFrame, {
110
110
  props: { data: mockData, columns },
111
111
  })
112
- const header = wrapper.find('.mld-dataframe__th')
112
+ const header = wrapper.find('.mint-dataframe__th')
113
113
  expect(header.attributes('style')).toContain('min-width: 150px')
114
114
  })
115
115
 
@@ -120,8 +120,8 @@ describe('DataFrame', () => {
120
120
  const wrapper = mount(DataFrame, {
121
121
  props: { data: mockData, columns },
122
122
  })
123
- const cell = wrapper.find('.mld-dataframe__td')
124
- expect(cell.classes()).toContain('mld-dataframe__td--ellipsis')
123
+ const cell = wrapper.find('.mint-dataframe__td')
124
+ expect(cell.classes()).toContain('mint-dataframe__td--ellipsis')
125
125
  })
126
126
 
127
127
  it('should use custom formatter', () => {
@@ -135,7 +135,7 @@ describe('DataFrame', () => {
135
135
  const wrapper = mount(DataFrame, {
136
136
  props: { data: mockData, columns },
137
137
  })
138
- const ageCell = wrapper.findAll('.mld-dataframe__row')[0].findAll('.mld-dataframe__td')[0]
138
+ const ageCell = wrapper.findAll('.mint-dataframe__row')[0].findAll('.mint-dataframe__td')[0]
139
139
  expect(ageCell.text()).toBe('30 years old')
140
140
  })
141
141
  })
@@ -150,7 +150,7 @@ describe('DataFrame', () => {
150
150
  const wrapper = mount(DataFrame, {
151
151
  props: { data: mockData, columns: sortableColumns },
152
152
  })
153
- const sortIcons = wrapper.findAll('.mld-dataframe__sort-icon')
153
+ const sortIcons = wrapper.findAll('.mint-dataframe__sort-icon')
154
154
  expect(sortIcons).toHaveLength(2)
155
155
  })
156
156
 
@@ -158,15 +158,15 @@ describe('DataFrame', () => {
158
158
  const wrapper = mount(DataFrame, {
159
159
  props: { data: mockData, columns: sortableColumns },
160
160
  })
161
- const headers = wrapper.findAll('.mld-dataframe__th')
162
- expect(headers[0].classes()).toContain('mld-dataframe__th--sortable')
161
+ const headers = wrapper.findAll('.mint-dataframe__th')
162
+ expect(headers[0].classes()).toContain('mint-dataframe__th--sortable')
163
163
  })
164
164
 
165
165
  it('should sort ascending on first click', async () => {
166
166
  const wrapper = mount(DataFrame, {
167
167
  props: { data: mockData, columns: sortableColumns },
168
168
  })
169
- const nameHeader = wrapper.findAll('.mld-dataframe__th')[0]
169
+ const nameHeader = wrapper.findAll('.mint-dataframe__th')[0]
170
170
  await nameHeader.trigger('click')
171
171
 
172
172
  expect(wrapper.emitted('update:sort')).toHaveLength(1)
@@ -183,7 +183,7 @@ describe('DataFrame', () => {
183
183
  sort: { key: 'name', direction: 'asc' },
184
184
  },
185
185
  })
186
- const nameHeader = wrapper.findAll('.mld-dataframe__th')[0]
186
+ const nameHeader = wrapper.findAll('.mint-dataframe__th')[0]
187
187
  await nameHeader.trigger('click')
188
188
 
189
189
  const sortState = wrapper.emitted('update:sort')?.[0]?.[0] as SortState
@@ -198,7 +198,7 @@ describe('DataFrame', () => {
198
198
  sort: { key: 'name', direction: 'desc' },
199
199
  },
200
200
  })
201
- const nameHeader = wrapper.findAll('.mld-dataframe__th')[0]
201
+ const nameHeader = wrapper.findAll('.mint-dataframe__th')[0]
202
202
  await nameHeader.trigger('click')
203
203
 
204
204
  const sortState = wrapper.emitted('update:sort')?.[0]?.[0]
@@ -209,12 +209,12 @@ describe('DataFrame', () => {
209
209
  const wrapper = mount(DataFrame, {
210
210
  props: { data: mockData, columns: sortableColumns },
211
211
  })
212
- const nameHeader = wrapper.findAll('.mld-dataframe__th')[0]
212
+ const nameHeader = wrapper.findAll('.mint-dataframe__th')[0]
213
213
  await nameHeader.trigger('click')
214
214
 
215
215
  // After sorting, first row should have name starting with 'A'
216
- const firstRow = wrapper.findAll('.mld-dataframe__row')[0]
217
- const cells = firstRow.findAll('.mld-dataframe__td')
216
+ const firstRow = wrapper.findAll('.mint-dataframe__row')[0]
217
+ const cells = firstRow.findAll('.mint-dataframe__td')
218
218
  expect(cells[0].text()).toBe('Alice')
219
219
  })
220
220
 
@@ -222,12 +222,12 @@ describe('DataFrame', () => {
222
222
  const wrapper = mount(DataFrame, {
223
223
  props: { data: mockData, columns: sortableColumns },
224
224
  })
225
- const ageHeader = wrapper.findAll('.mld-dataframe__th')[1]
225
+ const ageHeader = wrapper.findAll('.mint-dataframe__th')[1]
226
226
  await ageHeader.trigger('click')
227
227
 
228
228
  // After sorting ascending, first row should have age 25
229
- const firstRow = wrapper.findAll('.mld-dataframe__row')[0]
230
- const cells = firstRow.findAll('.mld-dataframe__td')
229
+ const firstRow = wrapper.findAll('.mint-dataframe__row')[0]
230
+ const cells = firstRow.findAll('.mint-dataframe__td')
231
231
  expect(cells[1].text()).toBe('25')
232
232
  })
233
233
 
@@ -239,8 +239,8 @@ describe('DataFrame', () => {
239
239
  sort: { key: 'name', direction: 'asc' },
240
240
  },
241
241
  })
242
- const nameHeader = wrapper.findAll('.mld-dataframe__th')[0]
243
- expect(nameHeader.classes()).toContain('mld-dataframe__th--sorted')
242
+ const nameHeader = wrapper.findAll('.mint-dataframe__th')[0]
243
+ expect(nameHeader.classes()).toContain('mint-dataframe__th--sorted')
244
244
  })
245
245
 
246
246
  it('should enable sorting globally with sortable prop', () => {
@@ -251,7 +251,7 @@ describe('DataFrame', () => {
251
251
  const wrapper = mount(DataFrame, {
252
252
  props: { data: mockData, columns, sortable: true },
253
253
  })
254
- const sortableHeaders = wrapper.findAll('.mld-dataframe__th--sortable')
254
+ const sortableHeaders = wrapper.findAll('.mint-dataframe__th--sortable')
255
255
  expect(sortableHeaders).toHaveLength(2)
256
256
  })
257
257
  })
@@ -261,17 +261,17 @@ describe('DataFrame', () => {
261
261
  const wrapper = mount(DataFrame, {
262
262
  props: { data: mockData, columns: mockColumns, searchable: true },
263
263
  })
264
- expect(wrapper.find('.mld-dataframe__search').exists()).toBe(true)
264
+ expect(wrapper.find('.mint-dataframe__search').exists()).toBe(true)
265
265
  })
266
266
 
267
267
  it('should filter data based on search query', async () => {
268
268
  const wrapper = mount(DataFrame, {
269
269
  props: { data: mockData, columns: mockColumns, searchable: true },
270
270
  })
271
- const searchInput = wrapper.find('.mld-dataframe__search')
271
+ const searchInput = wrapper.find('.mint-dataframe__search')
272
272
  await searchInput.setValue('Alice')
273
273
 
274
- const rows = wrapper.findAll('.mld-dataframe__row')
274
+ const rows = wrapper.findAll('.mint-dataframe__row')
275
275
  expect(rows).toHaveLength(1)
276
276
  expect(rows[0].text()).toContain('Alice')
277
277
  })
@@ -280,10 +280,10 @@ describe('DataFrame', () => {
280
280
  const wrapper = mount(DataFrame, {
281
281
  props: { data: mockData, columns: mockColumns, searchable: true },
282
282
  })
283
- const searchInput = wrapper.find('.mld-dataframe__search')
283
+ const searchInput = wrapper.find('.mint-dataframe__search')
284
284
  await searchInput.setValue('bob@example.com')
285
285
 
286
- const rows = wrapper.findAll('.mld-dataframe__row')
286
+ const rows = wrapper.findAll('.mint-dataframe__row')
287
287
  expect(rows).toHaveLength(1)
288
288
  expect(rows[0].text()).toContain('Bob')
289
289
  })
@@ -297,11 +297,11 @@ describe('DataFrame', () => {
297
297
  searchKeys: ['name'],
298
298
  },
299
299
  })
300
- const searchInput = wrapper.find('.mld-dataframe__search')
300
+ const searchInput = wrapper.find('.mint-dataframe__search')
301
301
  await searchInput.setValue('bob@example.com')
302
302
 
303
303
  // Should not find Bob by email since we're only searching name
304
- const rows = wrapper.findAll('.mld-dataframe__row')
304
+ const rows = wrapper.findAll('.mint-dataframe__row')
305
305
  expect(rows).toHaveLength(0)
306
306
  })
307
307
 
@@ -309,10 +309,10 @@ describe('DataFrame', () => {
309
309
  const wrapper = mount(DataFrame, {
310
310
  props: { data: mockData, columns: mockColumns, searchable: true },
311
311
  })
312
- const searchInput = wrapper.find('.mld-dataframe__search')
312
+ const searchInput = wrapper.find('.mint-dataframe__search')
313
313
  await searchInput.setValue('ALICE')
314
314
 
315
- const rows = wrapper.findAll('.mld-dataframe__row')
315
+ const rows = wrapper.findAll('.mint-dataframe__row')
316
316
  expect(rows).toHaveLength(1)
317
317
  })
318
318
 
@@ -325,7 +325,7 @@ describe('DataFrame', () => {
325
325
  searchPlaceholder: 'Type to search...',
326
326
  },
327
327
  })
328
- const searchInput = wrapper.find('.mld-dataframe__search')
328
+ const searchInput = wrapper.find('.mint-dataframe__search')
329
329
  expect(searchInput.attributes('placeholder')).toBe('Type to search...')
330
330
  })
331
331
  })
@@ -341,15 +341,15 @@ describe('DataFrame', () => {
341
341
  const wrapper = mount(DataFrame, {
342
342
  props: { data: mockData, columns: mockColumns, pagination: paginationState },
343
343
  })
344
- expect(wrapper.find('.mld-dataframe__footer').exists()).toBe(true)
345
- expect(wrapper.find('.mld-dataframe__page-controls').exists()).toBe(true)
344
+ expect(wrapper.find('.mint-dataframe__footer').exists()).toBe(true)
345
+ expect(wrapper.find('.mint-dataframe__page-controls').exists()).toBe(true)
346
346
  })
347
347
 
348
348
  it('should display page info', () => {
349
349
  const wrapper = mount(DataFrame, {
350
350
  props: { data: mockData, columns: mockColumns, pagination: paginationState },
351
351
  })
352
- const pageInfo = wrapper.find('.mld-dataframe__page-info')
352
+ const pageInfo = wrapper.find('.mint-dataframe__page-info')
353
353
  expect(pageInfo.text()).toContain('1')
354
354
  expect(pageInfo.text()).toContain('3')
355
355
  })
@@ -358,7 +358,7 @@ describe('DataFrame', () => {
358
358
  const wrapper = mount(DataFrame, {
359
359
  props: { data: mockData, columns: mockColumns, pagination: paginationState },
360
360
  })
361
- const rows = wrapper.findAll('.mld-dataframe__row')
361
+ const rows = wrapper.findAll('.mint-dataframe__row')
362
362
  expect(rows).toHaveLength(2) // pageSize is 2
363
363
  })
364
364
 
@@ -366,7 +366,7 @@ describe('DataFrame', () => {
366
366
  const wrapper = mount(DataFrame, {
367
367
  props: { data: mockData, columns: mockColumns, pagination: paginationState },
368
368
  })
369
- const nextButton = wrapper.findAll('.mld-dataframe__page-btn')[1]
369
+ const nextButton = wrapper.findAll('.mint-dataframe__page-btn')[1]
370
370
  await nextButton.trigger('click')
371
371
 
372
372
  expect(wrapper.emitted('update:pagination')).toHaveLength(1)
@@ -378,7 +378,7 @@ describe('DataFrame', () => {
378
378
  const wrapper = mount(DataFrame, {
379
379
  props: { data: mockData, columns: mockColumns, pagination: paginationState },
380
380
  })
381
- const prevButton = wrapper.findAll('.mld-dataframe__page-btn')[0]
381
+ const prevButton = wrapper.findAll('.mint-dataframe__page-btn')[0]
382
382
  expect(prevButton.attributes('disabled')).toBeDefined()
383
383
  })
384
384
 
@@ -387,7 +387,7 @@ describe('DataFrame', () => {
387
387
  const wrapper = mount(DataFrame, {
388
388
  props: { data: mockData, columns: mockColumns, pagination: lastPageState },
389
389
  })
390
- const nextButton = wrapper.findAll('.mld-dataframe__page-btn')[1]
390
+ const nextButton = wrapper.findAll('.mint-dataframe__page-btn')[1]
391
391
  expect(nextButton.attributes('disabled')).toBeDefined()
392
392
  })
393
393
 
@@ -395,7 +395,7 @@ describe('DataFrame', () => {
395
395
  const wrapper = mount(DataFrame, {
396
396
  props: { data: mockData, columns: mockColumns, pagination: false },
397
397
  })
398
- expect(wrapper.find('.mld-dataframe__footer').exists()).toBe(false)
398
+ expect(wrapper.find('.mint-dataframe__footer').exists()).toBe(false)
399
399
  })
400
400
  })
401
401
 
@@ -404,14 +404,14 @@ describe('DataFrame', () => {
404
404
  const wrapper = mount(DataFrame, {
405
405
  props: { data: mockData, columns: mockColumns, selectable: true },
406
406
  })
407
- expect(wrapper.find('.mld-dataframe__th--checkbox').exists()).toBe(true)
407
+ expect(wrapper.find('.mint-dataframe__th--checkbox').exists()).toBe(true)
408
408
  })
409
409
 
410
410
  it('should show checkboxes for each row', () => {
411
411
  const wrapper = mount(DataFrame, {
412
412
  props: { data: mockData, columns: mockColumns, selectable: true },
413
413
  })
414
- const checkboxes = wrapper.findAll('.mld-dataframe__checkbox')
414
+ const checkboxes = wrapper.findAll('.mint-dataframe__checkbox')
415
415
  // One for header + one for each row
416
416
  expect(checkboxes.length).toBeGreaterThan(mockData.length)
417
417
  })
@@ -420,7 +420,7 @@ describe('DataFrame', () => {
420
420
  const wrapper = mount(DataFrame, {
421
421
  props: { data: mockData, columns: mockColumns, selectable: true, rowKey: 'id' },
422
422
  })
423
- const rowCheckboxes = wrapper.findAll('.mld-dataframe__td--checkbox .mld-dataframe__checkbox')
423
+ const rowCheckboxes = wrapper.findAll('.mint-dataframe__td--checkbox .mint-dataframe__checkbox')
424
424
  await rowCheckboxes[0].trigger('change')
425
425
 
426
426
  expect(wrapper.emitted('update:selectedKeys')).toHaveLength(1)
@@ -438,7 +438,7 @@ describe('DataFrame', () => {
438
438
  selectedKeys: [1],
439
439
  },
440
440
  })
441
- const rowCheckboxes = wrapper.findAll('.mld-dataframe__td--checkbox .mld-dataframe__checkbox')
441
+ const rowCheckboxes = wrapper.findAll('.mint-dataframe__td--checkbox .mint-dataframe__checkbox')
442
442
  await rowCheckboxes[0].trigger('change')
443
443
 
444
444
  const keys = wrapper.emitted('update:selectedKeys')?.[0]?.[0] as number[]
@@ -449,7 +449,7 @@ describe('DataFrame', () => {
449
449
  const wrapper = mount(DataFrame, {
450
450
  props: { data: mockData, columns: mockColumns, selectable: true, rowKey: 'id' },
451
451
  })
452
- const headerCheckbox = wrapper.find('.mld-dataframe__th--checkbox .mld-dataframe__checkbox')
452
+ const headerCheckbox = wrapper.find('.mint-dataframe__th--checkbox .mint-dataframe__checkbox')
453
453
  await headerCheckbox.trigger('change')
454
454
 
455
455
  const keys = wrapper.emitted('update:selectedKeys')?.[0]?.[0] as number[]
@@ -466,7 +466,7 @@ describe('DataFrame', () => {
466
466
  selectedKeys: [1],
467
467
  },
468
468
  })
469
- const selectedRow = wrapper.find('.mld-dataframe__row--selected')
469
+ const selectedRow = wrapper.find('.mint-dataframe__row--selected')
470
470
  expect(selectedRow.exists()).toBe(true)
471
471
  })
472
472
  })
@@ -476,7 +476,7 @@ describe('DataFrame', () => {
476
476
  const wrapper = mount(DataFrame, {
477
477
  props: { data: mockData, columns: mockColumns },
478
478
  })
479
- const firstRow = wrapper.findAll('.mld-dataframe__row')[0]
479
+ const firstRow = wrapper.findAll('.mint-dataframe__row')[0]
480
480
  await firstRow.trigger('click')
481
481
 
482
482
  expect(wrapper.emitted('row-click')).toHaveLength(1)
@@ -489,7 +489,7 @@ describe('DataFrame', () => {
489
489
  const wrapper = mount(DataFrame, {
490
490
  props: { data: mockData, columns: mockColumns },
491
491
  })
492
- const firstCell = wrapper.find('.mld-dataframe__td')
492
+ const firstCell = wrapper.find('.mint-dataframe__td')
493
493
  await firstCell.trigger('click')
494
494
 
495
495
  expect(wrapper.emitted('cell-click')).toHaveLength(1)
@@ -505,28 +505,28 @@ describe('DataFrame', () => {
505
505
  const wrapper = mount(DataFrame, {
506
506
  props: { data: [], columns: mockColumns },
507
507
  })
508
- expect(wrapper.find('.mld-dataframe__empty').exists()).toBe(true)
508
+ expect(wrapper.find('.mint-dataframe__empty').exists()).toBe(true)
509
509
  })
510
510
 
511
511
  it('should display empty text', () => {
512
512
  const wrapper = mount(DataFrame, {
513
513
  props: { data: [], columns: mockColumns },
514
514
  })
515
- expect(wrapper.find('.mld-dataframe__empty-text').text()).toBe('No data')
515
+ expect(wrapper.find('.mint-dataframe__empty-text').text()).toBe('No data')
516
516
  })
517
517
 
518
518
  it('should use custom empty text', () => {
519
519
  const wrapper = mount(DataFrame, {
520
520
  props: { data: [], columns: mockColumns, emptyText: 'No records found' },
521
521
  })
522
- expect(wrapper.find('.mld-dataframe__empty-text').text()).toBe('No records found')
522
+ expect(wrapper.find('.mint-dataframe__empty-text').text()).toBe('No records found')
523
523
  })
524
524
 
525
525
  it('should not show empty state when loading', () => {
526
526
  const wrapper = mount(DataFrame, {
527
527
  props: { data: [], columns: mockColumns, loading: true },
528
528
  })
529
- expect(wrapper.find('.mld-dataframe__empty').exists()).toBe(false)
529
+ expect(wrapper.find('.mint-dataframe__empty').exists()).toBe(false)
530
530
  })
531
531
  })
532
532
 
@@ -535,14 +535,14 @@ describe('DataFrame', () => {
535
535
  const wrapper = mount(DataFrame, {
536
536
  props: { data: mockData, columns: mockColumns, loading: true },
537
537
  })
538
- expect(wrapper.find('.mld-dataframe__loading').exists()).toBe(true)
538
+ expect(wrapper.find('.mint-dataframe__loading').exists()).toBe(true)
539
539
  })
540
540
 
541
541
  it('should show loading spinner', () => {
542
542
  const wrapper = mount(DataFrame, {
543
543
  props: { data: mockData, columns: mockColumns, loading: true },
544
544
  })
545
- expect(wrapper.find('.mld-dataframe__loading-spinner').exists()).toBe(true)
545
+ expect(wrapper.find('.mint-dataframe__loading-spinner').exists()).toBe(true)
546
546
  })
547
547
  })
548
548
 
@@ -551,36 +551,36 @@ describe('DataFrame', () => {
551
551
  const wrapper = mount(DataFrame, {
552
552
  props: { data: mockData, columns: mockColumns, striped: false },
553
553
  })
554
- expect(wrapper.find('.mld-dataframe__row--striped').exists()).toBe(false)
554
+ expect(wrapper.find('.mint-dataframe__row--striped').exists()).toBe(false)
555
555
  })
556
556
 
557
557
  it('should not apply bordered when bordered is false', () => {
558
558
  const wrapper = mount(DataFrame, {
559
559
  props: { data: mockData, columns: mockColumns, bordered: false },
560
560
  })
561
- expect(wrapper.find('.mld-dataframe--bordered').exists()).toBe(false)
561
+ expect(wrapper.find('.mint-dataframe--bordered').exists()).toBe(false)
562
562
  })
563
563
 
564
564
  it('should apply size class to cells', () => {
565
565
  const wrapper = mount(DataFrame, {
566
566
  props: { data: mockData, columns: mockColumns, size: 'sm' },
567
567
  })
568
- const cell = wrapper.find('.mld-dataframe__td')
569
- expect(cell.classes()).toContain('mld-dataframe__td--sm')
568
+ const cell = wrapper.find('.mint-dataframe__td')
569
+ expect(cell.classes()).toContain('mint-dataframe__td--sm')
570
570
  })
571
571
 
572
572
  it('should apply sticky header class', () => {
573
573
  const wrapper = mount(DataFrame, {
574
574
  props: { data: mockData, columns: mockColumns, stickyHeader: true },
575
575
  })
576
- expect(wrapper.find('.mld-dataframe__thead--sticky').exists()).toBe(true)
576
+ expect(wrapper.find('.mint-dataframe__thead--sticky').exists()).toBe(true)
577
577
  })
578
578
 
579
579
  it('should apply maxHeight style', () => {
580
580
  const wrapper = mount(DataFrame, {
581
581
  props: { data: mockData, columns: mockColumns, maxHeight: 400 },
582
582
  })
583
- const tableWrapper = wrapper.find('.mld-dataframe__table-wrapper')
583
+ const tableWrapper = wrapper.find('.mint-dataframe__table-wrapper')
584
584
  expect(tableWrapper.attributes('style')).toContain('max-height: 400px')
585
585
  })
586
586
 
@@ -588,7 +588,7 @@ describe('DataFrame', () => {
588
588
  const wrapper = mount(DataFrame, {
589
589
  props: { data: mockData, columns: mockColumns, maxHeight: '50vh' },
590
590
  })
591
- const tableWrapper = wrapper.find('.mld-dataframe__table-wrapper')
591
+ const tableWrapper = wrapper.find('.mint-dataframe__table-wrapper')
592
592
  expect(tableWrapper.attributes('style')).toContain('max-height: 50vh')
593
593
  })
594
594
  })
@@ -605,7 +605,7 @@ describe('DataFrame', () => {
605
605
  const wrapper = mount(DataFrame, {
606
606
  props: { data: nestedData, columns: nestedColumns },
607
607
  })
608
- const cells = wrapper.findAll('.mld-dataframe__td')
608
+ const cells = wrapper.findAll('.mint-dataframe__td')
609
609
  expect(cells[0].text()).toBe('Alice')
610
610
  expect(cells[1].text()).toBe('alice@example.com')
611
611
  })
@@ -621,7 +621,7 @@ describe('DataFrame', () => {
621
621
  rowKey: 'id',
622
622
  },
623
623
  })
624
- expect(wrapper.find('.mld-dataframe').exists()).toBe(true)
624
+ expect(wrapper.find('.mint-dataframe').exists()).toBe(true)
625
625
  })
626
626
 
627
627
  it('should use function rowKey', () => {
@@ -633,7 +633,7 @@ describe('DataFrame', () => {
633
633
  rowKey: (row) => `row-${row.id}`,
634
634
  },
635
635
  })
636
- expect(wrapper.find('.mld-dataframe').exists()).toBe(true)
636
+ expect(wrapper.find('.mint-dataframe').exists()).toBe(true)
637
637
  })
638
638
  })
639
639
 
@@ -703,7 +703,7 @@ describe('DataFrame', () => {
703
703
  const wrapper = mount(DataFrame, {
704
704
  props: { data: dataWithNulls, columns: mockColumns },
705
705
  })
706
- const cells = wrapper.findAll('.mld-dataframe__td')
706
+ const cells = wrapper.findAll('.mint-dataframe__td')
707
707
  expect(cells[0].text()).toBe('')
708
708
  expect(cells[1].text()).toBe('')
709
709
  })
@@ -712,7 +712,7 @@ describe('DataFrame', () => {
712
712
  const wrapper = mount(DataFrame, {
713
713
  props: { data: mockData, columns: [] },
714
714
  })
715
- expect(wrapper.find('.mld-dataframe__table').exists()).toBe(true)
715
+ expect(wrapper.find('.mint-dataframe__table').exists()).toBe(true)
716
716
  })
717
717
 
718
718
  it('should handle large datasets efficiently', () => {
@@ -728,7 +728,7 @@ describe('DataFrame', () => {
728
728
  pagination: { page: 1, pageSize: 10, total: 1000 },
729
729
  },
730
730
  })
731
- const rows = wrapper.findAll('.mld-dataframe__row')
731
+ const rows = wrapper.findAll('.mint-dataframe__row')
732
732
  expect(rows).toHaveLength(10)
733
733
  })
734
734
 
@@ -741,10 +741,10 @@ describe('DataFrame', () => {
741
741
  pagination: { page: 1, pageSize: 2, total: 3 },
742
742
  },
743
743
  })
744
- const searchInput = wrapper.find('.mld-dataframe__search')
744
+ const searchInput = wrapper.find('.mint-dataframe__search')
745
745
  await searchInput.setValue('Alice')
746
746
 
747
- const rows = wrapper.findAll('.mld-dataframe__row')
747
+ const rows = wrapper.findAll('.mint-dataframe__row')
748
748
  expect(rows).toHaveLength(1)
749
749
  })
750
750
 
@@ -757,7 +757,7 @@ describe('DataFrame', () => {
757
757
  rowKey: 'id',
758
758
  },
759
759
  })
760
- const checkbox = wrapper.find('.mld-dataframe__td--checkbox .mld-dataframe__checkbox')
760
+ const checkbox = wrapper.find('.mint-dataframe__td--checkbox .mint-dataframe__checkbox')
761
761
  await checkbox.trigger('click')
762
762
 
763
763
  // Row click should not be emitted