@milaboratories/uikit 2.8.3 → 2.8.5

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.
@@ -1,6 +1,6 @@
1
1
   WARN  Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @milaboratories/uikit@2.8.3 build /home/runner/_work/platforma/platforma/lib/ui/uikit
3
+ > @milaboratories/uikit@2.8.5 build /home/runner/_work/platforma/platforma/lib/ui/uikit
4
4
  > ts-builder build --target browser-lib --build-config ./build.browser-lib.config.js
5
5
 
6
6
  Building browser-lib project...
@@ -25,8 +25,8 @@ computing gzip size...
25
25
  dist/components/PlFileDialog/Local.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
26
26
  dist/components/Slider.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
27
27
  dist/layout/PlGrid/PlGrid.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
28
- dist/components/PlChip/PlChip.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
29
28
  dist/components/PlTabs/PlTabs.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
29
+ dist/components/PlChip/PlChip.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
30
30
  dist/components/DataTable/TdCell.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
31
31
  dist/components/DataTable/TrHead.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
32
32
  dist/components/DataTable/ThCell.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
@@ -38,65 +38,65 @@ computing gzip size...
38
38
  dist/base/BtnBase.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
39
39
  dist/components/DataTable/TScroll.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
40
40
  dist/components/TabItem.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
41
- dist/components/PlSplash/PlSplash.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
42
41
  dist/layout/PlSpacer/PlSpacer.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
42
+ dist/components/PlSplash/PlSplash.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
43
43
  dist/components/PlLogView/PlLogView.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
44
- dist/components/PlTooltip/PlTooltip.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
45
44
  dist/components/PlBtnLink/PlBtnLink.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
45
+ dist/components/PlTooltip/PlTooltip.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
46
46
  dist/components/Scrollable.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
47
- dist/components/PlTextArea/PlTextArea.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
47
+ dist/components/PlCheckbox/PlCheckbox.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
48
48
  dist/components/PlBtnGroup/PlBtnGroup.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
49
- dist/components/PlDropdown/PlDropdown.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
49
+ dist/components/PlTextArea/PlTextArea.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
50
50
  dist/components/PlBtnSplit/PlBtnSplit.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
51
- dist/components/PlCheckbox/PlCheckbox.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
52
51
  dist/components/PlBtnGhost/PlBtnGhost.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
53
- dist/components/PlDropdown/OptionList.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
52
+ dist/components/PlDropdown/PlDropdown.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
54
53
  dist/components/InputRange.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
54
+ dist/components/PlDropdown/OptionList.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
55
55
  dist/components/SliderRange.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
56
56
  dist/components/PlTextField/PlTextField.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
57
- dist/layout/PlContainer/PlContainer.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
58
- dist/components/PlAccordion/PlAccordion.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
59
- dist/components/PlFileInput/PlFileInput.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
57
+ dist/components/PlBtnAccent/PlBtnAccent.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
60
58
  dist/components/PlStatusTag/PlStatusTag.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
59
+ dist/components/PlAccordion/PlAccordion.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
61
60
  dist/components/PlBtnDanger/PlBtnDanger.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
61
+ dist/layout/PlContainer/PlContainer.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
62
+ dist/components/PlFileInput/PlFileInput.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
62
63
  dist/layout/PlBlockPage/PlBlockPage.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
63
- dist/components/PlBtnAccent/PlBtnAccent.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
64
64
  dist/components/DataTable/ColumnCaret.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
65
65
  dist/components/PlFileDialog/PlFileDialog.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
66
66
  dist/components/PlBtnPrimary/PlBtnPrimary.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
67
67
  dist/utils/InnerBorder.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.34 kB
68
68
  dist/components/ThemeSwitcher.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
69
- dist/components/PlProgressBar/PlProgressBar.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
70
69
  dist/components/PlDropdownRef/PlDropdownRef.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
71
70
  dist/components/PlDialogModal/PlDialogModal.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
72
71
  dist/components/PlNumberField/PlNumberField.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
73
- dist/components/PlAutocomplete/PlAutocomplete.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
72
+ dist/components/PlProgressBar/PlProgressBar.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
74
73
  dist/components/PlDropdownLine/PlDropdownLine.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
75
- dist/components/PlToggleSwitch/PlToggleSwitch.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
76
74
  dist/components/PlProgressCell/PlProgressCell.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
77
- dist/components/PlBtnSecondary/PlBtnSecondary.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
75
+ dist/components/PlAutocomplete/PlAutocomplete.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
78
76
  dist/components/DataTable/TableComponent.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
77
+ dist/components/PlBtnSecondary/PlBtnSecondary.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
78
+ dist/components/PlToggleSwitch/PlToggleSwitch.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
79
79
  dist/components/PlCheckbox/PlCheckboxBase.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
80
80
  dist/components/PlDropdownLine/ResizableInput.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
81
81
  dist/components/ContextProvider.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
82
- dist/components/PlDropdownMulti/PlDropdownMulti.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
83
82
  dist/components/PlConfirmDialog.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
83
+ dist/components/PlCheckboxGroup/PlCheckboxGroup.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
84
84
  dist/utils/DropdownOverlay/DropdownOverlay.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
85
- dist/components/PlErrorBoundary/PlErrorBoundary.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
86
85
  dist/components/PlEditableTitle/PlEditableTitle.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
87
- dist/components/PlCheckboxGroup/PlCheckboxGroup.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
86
+ dist/components/PlDropdownMulti/PlDropdownMulti.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
87
+ dist/components/PlErrorBoundary/PlErrorBoundary.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
88
88
  dist/helpers/math.js  0.12 kB │ gzip: 0.13 kB │ map: 0.33 kB
89
89
  dist/components/DataTable/RowsCommandMenu.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
90
90
  dist/components/DropdownListItem.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
91
- dist/components/PlSlideModal/PlPureSlideModal.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
92
- dist/components/PlDropdownLegacy/PlDropdownLegacy.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
93
91
  dist/components/PlLoaderCircular/PlLoaderCircular.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
92
+ dist/components/PlDropdownLegacy/PlDropdownLegacy.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
93
+ dist/components/PlSlideModal/PlPureSlideModal.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
94
94
  dist/components/SliderRangeTriple.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
95
95
  dist/components/DataTable/BaseCellComponent.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
96
96
  dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
97
97
  dist/components/DataTable/ColumnsCommandMenu.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
98
- dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue2.js  0.13 kB │ gzip: 0.12 kB │ map: 0.11 kB
99
98
  dist/components/PlNotificationAlert/PlNotificationAlert.vue2.js  0.13 kB │ gzip: 0.12 kB │ map: 0.11 kB
99
+ dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue2.js  0.13 kB │ gzip: 0.12 kB │ map: 0.11 kB
100
100
  dist/components/TransitionSlidePanel.vue2.js  0.13 kB │ gzip: 0.12 kB │ map: 0.11 kB
101
101
  dist/components/PlRadio/keys.js  0.13 kB │ gzip: 0.13 kB │ map: 0.43 kB
102
102
  dist/composition/utils.js  0.15 kB │ gzip: 0.14 kB │ map: 0.38 kB
@@ -131,8 +131,8 @@ computing gzip size...
131
131
  dist/assets/icons/icon-assets-min/24_arrow-down.svg.js  0.27 kB │ gzip: 0.24 kB │ map: 0.44 kB
132
132
  dist/assets/icons/icon-assets-min/16_add.svg.js  0.27 kB │ gzip: 0.23 kB │ map: 0.44 kB
133
133
  dist/components/PlRadio/PlRadio.vue.js  0.27 kB │ gzip: 0.21 kB │ map: 0.10 kB
134
- dist/assets/icons/icon-assets-min/24_linetype-longdash.svg.js  0.27 kB │ gzip: 0.23 kB │ map: 0.47 kB
135
134
  dist/components/PlChartStackedBar/Legends.vue.js  0.27 kB │ gzip: 0.21 kB │ map: 0.10 kB
135
+ dist/assets/icons/icon-assets-min/24_linetype-longdash.svg.js  0.27 kB │ gzip: 0.23 kB │ map: 0.47 kB
136
136
  dist/assets/icons/icon-assets-min/16_chevron-first.svg.js  0.28 kB │ gzip: 0.23 kB │ map: 0.45 kB
137
137
  dist/components/PlIcon16/PlIcon16.vue.js  0.28 kB │ gzip: 0.22 kB │ map: 0.10 kB
138
138
  dist/components/PlIcon24/PlIcon24.vue.js  0.28 kB │ gzip: 0.22 kB │ map: 0.10 kB
@@ -171,12 +171,12 @@ computing gzip size...
171
171
  dist/assets/icons/icon-assets-min/24_jump-link.svg.js  0.30 kB │ gzip: 0.25 kB │ map: 0.46 kB
172
172
  dist/assets/icons/icon-assets-min/24_checkbox-intermediate.svg.js  0.30 kB │ gzip: 0.24 kB │ map: 0.53 kB
173
173
  dist/assets/icons/icon-assets-min/24_chevron-up.svg.js  0.30 kB │ gzip: 0.24 kB │ map: 0.48 kB
174
+ dist/components/PlElementList/utils.js  0.30 kB │ gzip: 0.23 kB │ map: 0.79 kB
174
175
  dist/assets/icons/icon-assets-min/16_close.svg.js  0.30 kB │ gzip: 0.24 kB │ map: 0.47 kB
175
176
  dist/assets/icons/icon-assets-min/24_chevron-down.svg.js  0.30 kB │ gzip: 0.24 kB │ map: 0.48 kB
176
177
  dist/assets/icons/icon-assets-min/24_linetype-dotdash.svg.js  0.30 kB │ gzip: 0.25 kB │ map: 0.49 kB
177
178
  dist/assets/icons/icon-assets-min/24_menu.svg.js  0.30 kB │ gzip: 0.24 kB │ map: 0.46 kB
178
179
  dist/assets/icons/icon-assets-min/24_text-align-left.svg.js  0.30 kB │ gzip: 0.25 kB │ map: 0.49 kB
179
- dist/components/PlElementList/utils.js  0.30 kB │ gzip: 0.23 kB │ map: 0.79 kB
180
180
  dist/assets/icons/icon-assets-min/24_arrow-link.svg.js  0.30 kB │ gzip: 0.25 kB │ map: 0.48 kB
181
181
  dist/assets/icons/icon-assets-min/24_chevron-right.svg.js  0.30 kB │ gzip: 0.25 kB │ map: 0.49 kB
182
182
  dist/assets/icons/icon-assets-min/16_arrow-link.svg.js  0.30 kB │ gzip: 0.25 kB │ map: 0.48 kB
@@ -188,10 +188,10 @@ computing gzip size...
188
188
  dist/assets/icons/icon-assets-min/24_text-align-right.svg.js  0.30 kB │ gzip: 0.25 kB │ map: 0.50 kB
189
189
  dist/assets/icons/icon-assets-min/16_checkmark.svg.js  0.30 kB │ gzip: 0.25 kB │ map: 0.48 kB
190
190
  dist/components/PlChartStackedBar/PlChartStackedBar.vue.js  0.30 kB │ gzip: 0.22 kB │ map: 0.11 kB
191
+ dist/components/PlElementList/PlElementListItem.vue.js  0.30 kB │ gzip: 0.22 kB │ map: 0.11 kB
192
+ dist/components/PlChartStackedBar/StackedRowCompact.vue.js  0.30 kB │ gzip: 0.22 kB │ map: 0.11 kB
191
193
  dist/assets/icons/icon-assets-min/16_arrow-up.svg.js  0.30 kB │ gzip: 0.25 kB │ map: 0.48 kB
192
194
  dist/assets/icons/icon-assets-min/24_linetype-twodash.svg.js  0.30 kB │ gzip: 0.25 kB │ map: 0.50 kB
193
- dist/components/PlChartStackedBar/StackedRowCompact.vue.js  0.30 kB │ gzip: 0.22 kB │ map: 0.11 kB
194
- dist/components/PlElementList/PlElementListItem.vue.js  0.30 kB │ gzip: 0.22 kB │ map: 0.11 kB
195
195
  dist/assets/icons/icon-assets-min/24_checkmark.svg.js  0.31 kB │ gzip: 0.25 kB │ map: 0.49 kB
196
196
  dist/assets/icons/icon-assets-min/16_arrow-down.svg.js  0.31 kB │ gzip: 0.25 kB │ map: 0.49 kB
197
197
  dist/assets/icons/icon-assets-min/16_arrow-left.svg.js  0.31 kB │ gzip: 0.24 kB │ map: 0.49 kB
@@ -217,16 +217,16 @@ computing gzip size...
217
217
  dist/assets/icons/icon-assets-min/16_compare.svg.js  0.34 kB │ gzip: 0.26 kB │ map: 0.51 kB
218
218
  dist/assets/icons/icon-assets-min/16_jump-link.svg.js  0.34 kB │ gzip: 0.26 kB │ map: 0.52 kB
219
219
  dist/assets/icons/icon-assets-min/16_reverse.svg.js  0.34 kB │ gzip: 0.26 kB │ map: 0.51 kB
220
- dist/assets/icons/icon-assets-min/16_stop.svg.js  0.34 kB │ gzip: 0.25 kB │ map: 0.52 kB
221
220
  dist/components/DataTable/TrHead.vue.js  0.34 kB │ gzip: 0.27 kB │ map: 0.41 kB
221
+ dist/assets/icons/icon-assets-min/16_stop.svg.js  0.34 kB │ gzip: 0.25 kB │ map: 0.52 kB
222
222
  dist/assets/icons/icon-assets-min/24_expand-left.svg.js  0.35 kB │ gzip: 0.24 kB │ map: 0.53 kB
223
223
  dist/assets/icons/icon-assets-min/24_expand-right.svg.js  0.35 kB │ gzip: 0.25 kB │ map: 0.53 kB
224
224
  dist/assets/icons/icon-assets-min/24_restart.svg.js  0.35 kB │ gzip: 0.27 kB │ map: 0.52 kB
225
225
  dist/assets/icons/icon-assets-min/24_legend-box.svg.js  0.35 kB │ gzip: 0.26 kB │ map: 0.54 kB
226
226
  dist/assets/icons/icon-assets-min/24_position-left.svg.js  0.35 kB │ gzip: 0.27 kB │ map: 0.52 kB
227
227
  dist/assets/icons/icon-assets-min/24_close.svg.js  0.35 kB │ gzip: 0.25 kB │ map: 0.52 kB
228
- dist/assets/icons/icon-assets-min/24_stop.svg.js  0.35 kB │ gzip: 0.25 kB │ map: 0.52 kB
229
228
  dist/composition/useFilteredList.js  0.35 kB │ gzip: 0.24 kB │ map: 1.15 kB
229
+ dist/assets/icons/icon-assets-min/24_stop.svg.js  0.35 kB │ gzip: 0.25 kB │ map: 0.52 kB
230
230
  dist/layout/PlSpacer/PlSpacer.vue.js  0.35 kB │ gzip: 0.27 kB │ map: 0.53 kB
231
231
  dist/assets/icons/icon-assets-min/24_checkbox.svg.js  0.35 kB │ gzip: 0.26 kB │ map: 0.53 kB
232
232
  dist/assets/icons/icon-assets-min/24_play.svg.js  0.35 kB │ gzip: 0.28 kB │ map: 0.53 kB
@@ -234,8 +234,8 @@ computing gzip size...
234
234
  dist/composition/useMouse.js  0.37 kB │ gzip: 0.24 kB │ map: 0.88 kB
235
235
  dist/assets/icons/icon-assets-min/24_checkbox-checked.svg.js  0.37 kB │ gzip: 0.29 kB │ map: 0.60 kB
236
236
  dist/assets/icons/icon-assets-min/24_search.svg.js  0.37 kB │ gzip: 0.27 kB │ map: 0.56 kB
237
- dist/assets/icons/icon-assets-min/24_cursor-pointer.svg.js  0.37 kB │ gzip: 0.30 kB │ map: 0.56 kB
238
237
  dist/helpers/objects.js  0.37 kB │ gzip: 0.25 kB │ map: 1.12 kB
238
+ dist/assets/icons/icon-assets-min/24_cursor-pointer.svg.js  0.37 kB │ gzip: 0.30 kB │ map: 0.56 kB
239
239
  dist/composition/useEventListener.js  0.38 kB │ gzip: 0.22 kB │ map: 1.13 kB
240
240
  dist/assets/icons/icon-assets-min/24_canvas.svg.js  0.38 kB │ gzip: 0.27 kB │ map: 0.55 kB
241
241
  dist/assets/icons/icon-assets-min/24_position-right.svg.js  0.38 kB │ gzip: 0.29 kB │ map: 0.57 kB
@@ -354,8 +354,8 @@ computing gzip size...
354
354
  dist/assets/icons/icon-assets-min/16_settings.svg.js  0.56 kB │ gzip: 0.33 kB │ map: 0.74 kB
355
355
  dist/composition/useFormState.js  0.56 kB │ gzip: 0.32 kB │ map: 1.67 kB
356
356
  dist/assets/icons/icon-assets-min/24_frame-type-none.svg.js  0.56 kB │ gzip: 0.27 kB │ map: 0.75 kB
357
- dist/assets/icons/icon-assets-min/24_columns.svg.js  0.56 kB │ gzip: 0.33 kB │ map: 0.76 kB
358
357
  dist/components/DataTable/ColumnCaret.vue.js  0.56 kB │ gzip: 0.37 kB │ map: 0.90 kB
358
+ dist/assets/icons/icon-assets-min/24_columns.svg.js  0.56 kB │ gzip: 0.33 kB │ map: 0.76 kB
359
359
  dist/assets/icons/icon-assets-min/16_clipboard-copied.svg.js  0.56 kB │ gzip: 0.36 kB │ map: 0.76 kB
360
360
  dist/assets/icons/icon-assets-min/16_clipboard.svg.js  0.56 kB │ gzip: 0.34 kB │ map: 0.74 kB
361
361
  dist/assets/icons/icon-assets-min/24_file-doc-import.svg.js  0.56 kB │ gzip: 0.37 kB │ map: 0.77 kB
@@ -470,8 +470,8 @@ computing gzip size...
470
470
  dist/assets/icons/icon-assets-min/24_view-show.svg.js  0.93 kB │ gzip: 0.55 kB │ map: 1.11 kB
471
471
  dist/assets/icons/icon-assets-min/24_theme-dark.svg.js  0.94 kB │ gzip: 0.48 kB │ map: 1.12 kB
472
472
  dist/layout/PlRow/PlRow.vue.js  0.94 kB │ gzip: 0.56 kB │ map: 0.81 kB
473
- dist/components/PlIcon16/PlIcon16.vue2.js  0.95 kB │ gzip: 0.51 kB │ map: 1.86 kB
474
473
  dist/components/PlIcon24/PlIcon24.vue2.js  0.95 kB │ gzip: 0.51 kB │ map: 2.57 kB
474
+ dist/components/PlIcon16/PlIcon16.vue2.js  0.95 kB │ gzip: 0.51 kB │ map: 1.86 kB
475
475
  dist/assets/icons/icon-assets-min/24_dendrogram-X-line.svg.js  0.95 kB │ gzip: 0.39 kB │ map: 1.24 kB
476
476
  dist/components/PlAccordion/PlAccordionSection.vue3.js  0.95 kB │ gzip: 0.53 kB │ map: 0.11 kB
477
477
  dist/components/DataTable/composition/useTableColumns.js  0.97 kB │ gzip: 0.53 kB │ map: 2.87 kB
@@ -482,8 +482,8 @@ computing gzip size...
482
482
  dist/composition/usePosition.js  1.00 kB │ gzip: 0.46 kB │ map: 2.31 kB
483
483
  dist/assets/icons/icon-assets-min/16_progress.svg.js  1.02 kB │ gzip: 0.61 kB │ map: 1.22 kB
484
484
  dist/composition/useDraggable.js  1.02 kB │ gzip: 0.44 kB │ map: 2.56 kB
485
- dist/assets/icons/icon-assets-min/24_strip-plot.svg.js  1.02 kB │ gzip: 0.36 kB │ map: 1.29 kB
486
485
  dist/components/DataTable/assets/TableIcon.vue.js  1.02 kB │ gzip: 0.55 kB │ map: 1.20 kB
486
+ dist/assets/icons/icon-assets-min/24_strip-plot.svg.js  1.02 kB │ gzip: 0.36 kB │ map: 1.29 kB
487
487
  dist/components/PlChartStackedBar/Legends.vue3.js  1.03 kB │ gzip: 0.56 kB │ map: 0.10 kB
488
488
  dist/helpers/downloadContent.js  1.03 kB │ gzip: 0.50 kB │ map: 3.22 kB
489
489
  dist/generated/icons-16.js  1.04 kB │ gzip: 0.42 kB │ map: 1.90 kB
@@ -589,8 +589,8 @@ computing gzip size...
589
589
  dist/components/PlNotificationAlert/PlNotificationAlert.vue.js  2.64 kB │ gzip: 1.12 kB │ map: 2.10 kB
590
590
  dist/components/PlFileDialog/Local.vue.js  2.67 kB │ gzip: 1.17 kB │ map: 4.98 kB
591
591
  dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.js  2.76 kB │ gzip: 1.25 kB │ map: 3.61 kB
592
- dist/components/PlEditableTitle/PlEditableTitle.vue.js  2.89 kB │ gzip: 1.23 kB │ map: 4.58 kB
593
592
  dist/components/PlDropdown/OptionList.vue.js  2.92 kB │ gzip: 1.09 kB │ map: 4.26 kB
593
+ dist/components/PlEditableTitle/PlEditableTitle.vue.js  2.99 kB │ gzip: 1.26 kB │ map: 5.04 kB
594
594
  dist/colors/palette.js  3.25 kB │ gzip: 1.22 kB │ map: 6.96 kB
595
595
  dist/components/PlEditableTitle/pl-editable-title.module.scss.js  3.27 kB │ gzip: 1.17 kB │ map: 0.12 kB
596
596
  dist/components/PlBtnDanger/PlBtnDanger.vue.js  3.46 kB │ gzip: 1.34 kB │ map: 1.41 kB
@@ -643,7 +643,7 @@ computing gzip size...
643
643
  dist/index.js 502.59 kB │ gzip: 192.54 kB │ map: 5.98 kB
644
644
  dist/components/PlSlideModal/PlPureSlideModal.vue.js 605.54 kB │ gzip: 205.13 kB │ map: 2.93 kB
645
645
  dist/components/DataTable/TableComponent.vue.js 607.38 kB │ gzip: 206.02 kB │ map: 6.85 kB
646
- [vite:dts] Declaration files built in 10542ms.
646
+ [vite:dts] Declaration files built in 8473ms.
647
647
 
648
- ✓ built in 14.48s
648
+ ✓ built in 12.57s
649
649
  Build completed successfully
@@ -1,5 +1,5 @@
1
1
   WARN  Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @milaboratories/uikit@2.8.3 lint /home/runner/_work/platforma/platforma/lib/ui/uikit
3
+ > @milaboratories/uikit@2.8.5 lint /home/runner/_work/platforma/platforma/lib/ui/uikit
4
4
  > eslint .
5
5
 
@@ -1,6 +1,6 @@
1
1
   WARN  Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @milaboratories/uikit@2.8.3 type-check /home/runner/_work/platforma/platforma/lib/ui/uikit
3
+ > @milaboratories/uikit@2.8.5 type-check /home/runner/_work/platforma/platforma/lib/ui/uikit
4
4
  > ts-builder types --target browser-lib
5
5
 
6
6
  ↳ vue-tsc.js --noEmit --project ./tsconfig.json --customConditions ,
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @milaboratories/uikit
2
2
 
3
+ ## 2.8.5
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [72bb768]
8
+ - @platforma-sdk/model@1.48.13
9
+
10
+ ## 2.8.4
11
+
12
+ ### Patch Changes
13
+
14
+ - 8abf3c6: fix annotations problems
15
+ - Updated dependencies [8abf3c6]
16
+ - @platforma-sdk/model@1.48.12
17
+
3
18
  ## 2.8.3
4
19
 
5
20
  ### Patch Changes
@@ -0,0 +1,27 @@
1
+ import { defineComponent as n, createBlock as r, openBlock as a, Transition as s, withCtx as p, renderSlot as c } from "vue";
2
+ const f = /* @__PURE__ */ n({
3
+ __name: "ExpandTransition",
4
+ setup(l) {
5
+ const t = (e) => {
6
+ e.classList.add("expand-collapse-fix"), e.style.setProperty("--component-height", e.scrollHeight + "px");
7
+ }, o = (e) => {
8
+ e.style.removeProperty("--component-height"), e.classList.remove("expand-collapse-fix");
9
+ };
10
+ return (e, i) => (a(), r(s, {
11
+ name: "expand-collapse",
12
+ onEnter: t,
13
+ onLeave: t,
14
+ onAfterEnter: o,
15
+ onAfterLeave: o
16
+ }, {
17
+ default: p(() => [
18
+ c(e.$slots, "default")
19
+ ]),
20
+ _: 3
21
+ }));
22
+ }
23
+ });
24
+ export {
25
+ f as default
26
+ };
27
+ //# sourceMappingURL=ExpandTransition.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpandTransition.vue.js","sources":["../../../src/components/PlAccordion/ExpandTransition.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nconst onStart = (el: Element) => {\n el.classList.add('expand-collapse-fix');\n (el as HTMLElement).style.setProperty('--component-height', el.scrollHeight + 'px');\n};\n\nconst onAfter = (el: Element) => {\n (el as HTMLElement).style.removeProperty('--component-height');\n el.classList.remove('expand-collapse-fix');\n};\n</script>\n\n<template>\n <Transition name=\"expand-collapse\" @enter=\"onStart\" @leave=\"onStart\" @after-enter=\"onAfter\" @after-leave=\"onAfter\">\n <slot/>\n </Transition>\n</template>\n\n<style>\n.expand-collapse-fix {\n overflow: hidden;\n}\n\n.expand-collapse-enter-active,\n.expand-collapse-leave-active {\n transition:\n height 0.2s ease-in-out,\n opacity 0.2s ease-in-out;\n height: var(--component-height);\n}\n\n.expand-collapse-enter-from,\n.expand-collapse-leave-to {\n opacity: 0.5;\n height: 0;\n}\n</style>\n"],"names":["onStart","el","onAfter","_createBlock","_Transition","_renderSlot","_ctx"],"mappings":";;;;AACA,UAAMA,IAAU,CAACC,MAAgB;AAC/B,MAAAA,EAAG,UAAU,IAAI,qBAAqB,GACrCA,EAAmB,MAAM,YAAY,sBAAsBA,EAAG,eAAe,IAAI;AAAA,IACpF,GAEMC,IAAU,CAACD,MAAgB;AAC9B,MAAAA,EAAmB,MAAM,eAAe,oBAAoB,GAC7DA,EAAG,UAAU,OAAO,qBAAqB;AAAA,IAC3C;2BAIEE,EAEaC,GAAA;AAAA,MAFD,MAAK;AAAA,MAAmB,SAAOJ;AAAA,MAAU,SAAOA;AAAA,MAAU,cAAaE;AAAA,MAAU,cAAaA;AAAA,IAAA;iBACxG,MAAO;AAAA,QAAPG,EAAOC,EAAA,QAAA,SAAA;AAAA,MAAA;;;;;"}
@@ -23,6 +23,18 @@ type __VLS_Props = {
23
23
  * If true, input will be focused on mount
24
24
  */
25
25
  autofocus?: boolean;
26
+ /**
27
+ * A function that validates the input value.
28
+ * @example
29
+ * ```ts
30
+ * validate: (v: string) => {
31
+ * if (v.length < 3) {
32
+ * throw Error('Title must be at least 3 characters');
33
+ * }
34
+ * }
35
+ * ```
36
+ */
37
+ validate?: (v: string) => unknown;
26
38
  };
27
39
  type __VLS_PublicProps = {
28
40
  modelValue?: string;
@@ -37,6 +49,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {},
37
49
  prefix: string;
38
50
  maxLength: number;
39
51
  minLength: number;
52
+ validate: (v: string) => unknown;
40
53
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
41
54
  inputRef: HTMLInputElement;
42
55
  }, HTMLDivElement>;
@@ -1 +1 @@
1
- {"version":3,"file":"PlEditableTitle.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlEditableTitle/PlEditableTitle.vue"],"names":[],"mappings":"AA2GA,KAAK,WAAW,GAAG;IACf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AA6DJ,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,WAAW,CAAC;;;;;;iBApFE,MAAM;cAIT,MAAM;YAIR,MAAM;eAIH,MAAM;eAIN,MAAM;;;;AA+ItB,wBAUG"}
1
+ {"version":3,"file":"PlEditableTitle.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlEditableTitle/PlEditableTitle.vue"],"names":[],"mappings":"AA4HA,KAAK,WAAW,GAAG;IACf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;CACnC,CAAC;AAmEJ,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,WAAW,CAAC;;;;;;iBAtGE,MAAM;cAIT,MAAM;YAIR,MAAM;eAIH,MAAM;eAIN,MAAM;cAgBP,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO;;;;AAiJrC,wBAUG"}
@@ -1,7 +1,7 @@
1
- import { defineComponent as L, mergeModels as M, useModel as k, ref as w, computed as E, onMounted as V, createElementBlock as u, openBlock as d, normalizeStyle as b, normalizeClass as m, unref as t, createElementVNode as p, createCommentVNode as h, withDirectives as C, toDisplayString as g, withKeys as v, vModelText as T } from "vue";
1
+ import { defineComponent as L, mergeModels as M, useModel as k, ref as w, computed as E, onMounted as V, createElementBlock as s, openBlock as d, normalizeStyle as b, normalizeClass as m, unref as l, createElementVNode as p, createCommentVNode as h, withDirectives as C, toDisplayString as v, withKeys as g, vModelText as T } from "vue";
2
2
  import { useTransformedModel as B } from "../../composition/useTransformedModel.js";
3
3
  import f from "./pl-editable-title.module.scss.js";
4
- const S = { key: 0 }, W = ["placeholder"], N = /* @__PURE__ */ L({
4
+ const S = { key: 0 }, W = ["placeholder"], K = /* @__PURE__ */ L({
5
5
  __name: "PlEditableTitle",
6
6
  props: /* @__PURE__ */ M({
7
7
  placeholder: { default: "Title" },
@@ -9,75 +9,76 @@ const S = { key: 0 }, W = ["placeholder"], N = /* @__PURE__ */ L({
9
9
  prefix: { default: void 0 },
10
10
  maxLength: { default: 1e3 },
11
11
  minLength: { default: void 0 },
12
- autofocus: { type: Boolean }
12
+ autofocus: { type: Boolean },
13
+ validate: { type: Function, default: void 0 }
13
14
  }, {
14
15
  modelValue: {},
15
16
  modelModifiers: {}
16
17
  }),
17
18
  emits: ["update:modelValue"],
18
19
  setup(a) {
19
- const i = k(a, "modelValue"), o = a, e = B(i, {
20
+ const i = k(a, "modelValue"), e = a, t = B(i, {
20
21
  update() {
21
22
  return !1;
22
23
  },
23
- parse: (r) => {
24
- if (typeof r != "string")
24
+ parse: (o) => {
25
+ if (typeof o != "string")
25
26
  throw Error("value should be a string");
26
- if (o.maxLength && r.length > o.maxLength)
27
- throw Error(`Max title length is ${o.maxLength} characters`);
28
- if (o.minLength && r.length < o.minLength)
29
- throw Error(`Min title length is ${o.minLength} characters`);
30
- return r.trim();
27
+ if (e.maxLength && o.length > e.maxLength)
28
+ throw Error(`Max title length is ${e.maxLength} characters`);
29
+ if (e.minLength && o.length < e.minLength)
30
+ throw Error(`Min title length is ${e.minLength} characters`);
31
+ return typeof e.validate == "function" && e.validate(o), o.trim();
31
32
  }
32
- }), s = w(), x = E(() => ({
33
- maxWidth: o.maxWidth ?? "80%"
33
+ }), u = w(), x = E(() => ({
34
+ maxWidth: e.maxWidth ?? "80%"
34
35
  })), y = () => {
35
- i.value = e.value && !e.error ? e.value : i.value, e.reset();
36
+ i.value = t.value && !t.error ? t.value : i.value, t.reset();
36
37
  };
37
38
  return V(() => {
38
- var r;
39
- o.autofocus && ((r = s.value) == null || r.focus());
40
- }), (r, l) => (d(), u("div", {
41
- class: m(["pl-editable-title", t(f).component]),
39
+ var o;
40
+ e.autofocus && ((o = u.value) == null || o.focus());
41
+ }), (o, r) => (d(), s("div", {
42
+ class: m(["pl-editable-title", l(f).component]),
42
43
  style: b(x.value)
43
44
  }, [
44
45
  p("div", {
45
- class: m(t(f).container),
46
- onClick: l[3] || (l[3] = () => {
46
+ class: m(l(f).container),
47
+ onClick: r[3] || (r[3] = () => {
47
48
  var n;
48
- return (n = s.value) == null ? void 0 : n.focus();
49
+ return (n = u.value) == null ? void 0 : n.focus();
49
50
  })
50
51
  }, [
51
- a.prefix ? (d(), u("span", S, g(a.prefix.trim()) + " ", 1)) : h("", !0),
52
+ a.prefix ? (d(), s("span", S, v(a.prefix.trim()) + " ", 1)) : h("", !0),
52
53
  C(p("input", {
53
54
  ref_key: "inputRef",
54
- ref: s,
55
- "onUpdate:modelValue": l[0] || (l[0] = (n) => t(e).value = n),
55
+ ref: u,
56
+ "onUpdate:modelValue": r[0] || (r[0] = (n) => l(t).value = n),
56
57
  placeholder: a.placeholder,
57
58
  onFocusout: y,
58
59
  onKeydown: [
59
- l[1] || (l[1] = v(
60
+ r[1] || (r[1] = g(
60
61
  //@ts-ignore
61
- (...n) => t(e).reset && t(e).reset(...n),
62
+ (...n) => l(t).reset && l(t).reset(...n),
62
63
  ["escape"]
63
64
  )),
64
- l[2] || (l[2] = v((n) => {
65
+ r[2] || (r[2] = g((n) => {
65
66
  var c;
66
67
  return (c = n.target) == null ? void 0 : c.blur();
67
68
  }, ["enter"]))
68
69
  ]
69
70
  }, null, 40, W), [
70
- [T, t(e).value]
71
+ [T, l(t).value]
71
72
  ])
72
73
  ], 2),
73
- t(e).error ? (d(), u("div", {
74
+ l(t).error ? (d(), s("div", {
74
75
  key: 0,
75
- class: m(t(f).error)
76
- }, g(t(e).error), 3)) : h("", !0)
76
+ class: m(l(f).error)
77
+ }, v(l(t).error), 3)) : h("", !0)
77
78
  ], 6));
78
79
  }
79
80
  });
80
81
  export {
81
- N as default
82
+ K as default
82
83
  };
83
84
  //# sourceMappingURL=PlEditableTitle.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlEditableTitle.vue.js","sources":["../../../src/components/PlEditableTitle/PlEditableTitle.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useTransformedModel } from '../../composition/useTransformedModel';\nimport style from './pl-editable-title.module.scss';\nimport { computed, onMounted, ref } from 'vue';\n\nconst model = defineModel<string>();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * Standard input placeholder\n */\n placeholder?: string;\n /**\n * Any css `width` value (px, %), default is 80%\n */\n maxWidth?: string;\n /**\n * Fixed non-editable prefix\n */\n prefix?: string;\n /**\n * Max title length (default is 1000)\n */\n maxLength?: number;\n /**\n * Min title length\n */\n minLength?: number;\n /**\n * If true, input will be focused on mount\n */\n autofocus?: boolean;\n }>(),\n {\n placeholder: 'Title',\n maxWidth: '80%',\n prefix: undefined,\n maxLength: 1000,\n minLength: undefined,\n },\n);\n\nconst local = useTransformedModel(model, {\n update() {\n return false;\n },\n parse: (v): string => {\n if (typeof v !== 'string') {\n throw Error('value should be a string');\n }\n\n if (props.maxLength && v.length > props.maxLength) {\n throw Error(`Max title length is ${props.maxLength} characters`);\n }\n\n if (props.minLength && v.length < props.minLength) {\n throw Error(`Min title length is ${props.minLength} characters`);\n }\n\n return v.trim();\n },\n});\n\nconst inputRef = ref<HTMLInputElement>();\n\nconst computedStyle = computed(() => ({\n maxWidth: props.maxWidth ?? '80%',\n}));\n\nconst save = () => {\n model.value = local.value && !local.error ? local.value : model.value;\n local.reset();\n};\n\nonMounted(() => {\n if (props.autofocus) {\n inputRef.value?.focus();\n }\n});\n\n</script>\n\n<template>\n <div class=\"pl-editable-title\" :class=\"style.component\" :style=\"computedStyle\">\n <div :class=\"style.container\" @click=\"() => inputRef?.focus()\">\n <span v-if=\"prefix\">{{ prefix.trim() }}&nbsp;</span>\n <input\n ref=\"inputRef\"\n v-model=\"local.value\"\n :placeholder=\"placeholder\"\n @focusout=\"save\"\n @keydown.escape=\"local.reset\"\n @keydown.enter=\"(ev) => (ev.target as HTMLInputElement)?.blur()\"\n />\n </div>\n <div v-if=\"local.error\" :class=\"style.error\">{{ local.error }}</div>\n </div>\n</template>\n"],"names":["model","_useModel","__props","props","local","useTransformedModel","v","inputRef","ref","computedStyle","computed","save","onMounted","_a","_createElementBlock","_normalizeClass","_unref","style","_createElementVNode","_cache","_openBlock","_hoisted_1","_toDisplayString","$event","args","_withKeys","ev","_vModelText"],"mappings":";;;;;;;;;;;;;;;;;;AAKA,UAAMA,IAAQC,EAAmBC,GAAA,YAAC,GAE5BC,IAAQD,GAoCRE,IAAQC,EAAoBL,GAAO;AAAA,MACvC,SAAS;AACP,eAAO;AAAA,MACT;AAAA,MACA,OAAO,CAACM,MAAc;AACpB,YAAI,OAAOA,KAAM;AACf,gBAAM,MAAM,0BAA0B;AAGxC,YAAIH,EAAM,aAAaG,EAAE,SAASH,EAAM;AACtC,gBAAM,MAAM,uBAAuBA,EAAM,SAAS,aAAa;AAGjE,YAAIA,EAAM,aAAaG,EAAE,SAASH,EAAM;AACtC,gBAAM,MAAM,uBAAuBA,EAAM,SAAS,aAAa;AAGjE,eAAOG,EAAE,KAAA;AAAA,MACX;AAAA,IAAA,CACD,GAEKC,IAAWC,EAAA,GAEXC,IAAgBC,EAAS,OAAO;AAAA,MACpC,UAAUP,EAAM,YAAY;AAAA,IAAA,EAC5B,GAEIQ,IAAO,MAAM;AACjB,MAAAX,EAAM,QAAQI,EAAM,SAAS,CAACA,EAAM,QAAQA,EAAM,QAAQJ,EAAM,OAChEI,EAAM,MAAA;AAAA,IACR;AAEA,WAAAQ,EAAU,MAAM;;AACd,MAAIT,EAAM,eACRU,IAAAN,EAAS,UAAT,QAAAM,EAAgB;AAAA,IAEpB,CAAC,mBAKCC,EAaM,OAAA;AAAA,MAbD,OAAKC,EAAA,CAAC,qBAA4BC,EAAAC,CAAA,EAAM,SAAS,CAAA;AAAA,MAAG,SAAOR,EAAA,KAAa;AAAA,IAAA;MAC3ES,EAUM,OAAA;AAAA,QAVA,OAAKH,EAAEC,EAAAC,CAAA,EAAM,SAAS;AAAA,QAAG,SAAKE,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,MAAA;;AAAQ,kBAAAN,IAAAN,EAAA,UAAA,gBAAAM,EAAU;AAAA;AAAA,MAAK;QAC7CX,EAAA,UAAZkB,EAAA,GAAAN,EAAoD,QAAAO,GAAAC,EAA7BpB,EAAA,OAAO,KAAA,KAAS,KAAM,CAAA;UAC7CgB,EAOE,SAAA;AAAA,mBANI;AAAA,UAAJ,KAAIX;AAAA,UACK,uBAAAY,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAI,MAAAP,EAAAZ,CAAA,EAAM,QAAKmB;AAAA,UACnB,aAAarB,EAAA;AAAA,UACb,YAAUS;AAAA,UACV,WAAO;AAAA;;cAAS,IAAAa,MAAAR,EAAAZ,CAAA,EAAM,SAANY,EAAAZ,CAAA,EAAM,MAAK,GAAAoB,CAAA;AAAA,cAAA,CAAA,QAAA;AAAA,YAAA;AAAA,YACXL,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAM,EAAA,CAAAC,MAAA;;AAAQ,sBAAAb,IAAAa,EAAG,WAAH,gBAAAb,EAAgC;AAAA,eAAI,CAAA,OAAA,CAAA;AAAA,UAAA;AAAA;UAJpD,CAAAc,GAAAX,EAAAZ,CAAA,EAAM,KAAK;AAAA,QAAA;;MAObY,EAAAZ,CAAA,EAAM,cAAjBU,EAAoE,OAAA;AAAA;QAA3C,OAAKC,EAAEC,EAAAC,CAAA,EAAM,KAAK;AAAA,MAAA,GAAKK,EAAAN,EAAAZ,CAAA,EAAM,KAAK,GAAA,CAAA;;;;"}
1
+ {"version":3,"file":"PlEditableTitle.vue.js","sources":["../../../src/components/PlEditableTitle/PlEditableTitle.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useTransformedModel } from '../../composition/useTransformedModel';\nimport style from './pl-editable-title.module.scss';\nimport { computed, onMounted, ref } from 'vue';\n\nconst model = defineModel<string>();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * Standard input placeholder\n */\n placeholder?: string;\n /**\n * Any css `width` value (px, %), default is 80%\n */\n maxWidth?: string;\n /**\n * Fixed non-editable prefix\n */\n prefix?: string;\n /**\n * Max title length (default is 1000)\n */\n maxLength?: number;\n /**\n * Min title length\n */\n minLength?: number;\n /**\n * If true, input will be focused on mount\n */\n autofocus?: boolean;\n /**\n * A function that validates the input value.\n * @example\n * ```ts\n * validate: (v: string) => {\n * if (v.length < 3) {\n * throw Error('Title must be at least 3 characters');\n * }\n * }\n * ```\n */\n validate?: (v: string) => unknown;\n }>(),\n {\n placeholder: 'Title',\n maxWidth: '80%',\n prefix: undefined,\n maxLength: 1000,\n minLength: undefined,\n validate: undefined,\n },\n);\n\nconst local = useTransformedModel(model, {\n update() {\n return false;\n },\n parse: (v): string => {\n if (typeof v !== 'string') {\n throw Error('value should be a string');\n }\n\n if (props.maxLength && v.length > props.maxLength) {\n throw Error(`Max title length is ${props.maxLength} characters`);\n }\n\n if (props.minLength && v.length < props.minLength) {\n throw Error(`Min title length is ${props.minLength} characters`);\n }\n\n if (typeof props.validate === 'function') {\n props.validate(v);\n }\n\n return v.trim();\n },\n});\n\nconst inputRef = ref<HTMLInputElement>();\n\nconst computedStyle = computed(() => ({\n maxWidth: props.maxWidth ?? '80%',\n}));\n\nconst save = () => {\n model.value = local.value && !local.error ? local.value : model.value;\n local.reset();\n};\n\nonMounted(() => {\n if (props.autofocus) {\n inputRef.value?.focus();\n }\n});\n\n</script>\n\n<template>\n <div class=\"pl-editable-title\" :class=\"style.component\" :style=\"computedStyle\">\n <div :class=\"style.container\" @click=\"() => inputRef?.focus()\">\n <span v-if=\"prefix\">{{ prefix.trim() }}&nbsp;</span>\n <input\n ref=\"inputRef\"\n v-model=\"local.value\"\n :placeholder=\"placeholder\"\n @focusout=\"save\"\n @keydown.escape=\"local.reset\"\n @keydown.enter=\"(ev) => (ev.target as HTMLInputElement)?.blur()\"\n />\n </div>\n <div v-if=\"local.error\" :class=\"style.error\">{{ local.error }}</div>\n </div>\n</template>\n"],"names":["model","_useModel","__props","props","local","useTransformedModel","v","inputRef","ref","computedStyle","computed","save","onMounted","_a","_createElementBlock","_normalizeClass","_unref","style","_createElementVNode","_cache","_openBlock","_hoisted_1","_toDisplayString","$event","args","_withKeys","ev","_vModelText"],"mappings":";;;;;;;;;;;;;;;;;;;AAKA,UAAMA,IAAQC,EAAmBC,GAAA,YAAC,GAE5BC,IAAQD,GAiDRE,IAAQC,EAAoBL,GAAO;AAAA,MACvC,SAAS;AACP,eAAO;AAAA,MACT;AAAA,MACA,OAAO,CAACM,MAAc;AACpB,YAAI,OAAOA,KAAM;AACf,gBAAM,MAAM,0BAA0B;AAGxC,YAAIH,EAAM,aAAaG,EAAE,SAASH,EAAM;AACtC,gBAAM,MAAM,uBAAuBA,EAAM,SAAS,aAAa;AAGjE,YAAIA,EAAM,aAAaG,EAAE,SAASH,EAAM;AACtC,gBAAM,MAAM,uBAAuBA,EAAM,SAAS,aAAa;AAGjE,eAAI,OAAOA,EAAM,YAAa,cAC5BA,EAAM,SAASG,CAAC,GAGXA,EAAE,KAAA;AAAA,MACX;AAAA,IAAA,CACD,GAEKC,IAAWC,EAAA,GAEXC,IAAgBC,EAAS,OAAO;AAAA,MACpC,UAAUP,EAAM,YAAY;AAAA,IAAA,EAC5B,GAEIQ,IAAO,MAAM;AACjB,MAAAX,EAAM,QAAQI,EAAM,SAAS,CAACA,EAAM,QAAQA,EAAM,QAAQJ,EAAM,OAChEI,EAAM,MAAA;AAAA,IACR;AAEA,WAAAQ,EAAU,MAAM;;AACd,MAAIT,EAAM,eACRU,IAAAN,EAAS,UAAT,QAAAM,EAAgB;AAAA,IAEpB,CAAC,mBAKCC,EAaM,OAAA;AAAA,MAbD,OAAKC,EAAA,CAAC,qBAA4BC,EAAAC,CAAA,EAAM,SAAS,CAAA;AAAA,MAAG,SAAOR,EAAA,KAAa;AAAA,IAAA;MAC3ES,EAUM,OAAA;AAAA,QAVA,OAAKH,EAAEC,EAAAC,CAAA,EAAM,SAAS;AAAA,QAAG,SAAKE,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,MAAA;;AAAQ,kBAAAN,IAAAN,EAAA,UAAA,gBAAAM,EAAU;AAAA;AAAA,MAAK;QAC7CX,EAAA,UAAZkB,EAAA,GAAAN,EAAoD,QAAAO,GAAAC,EAA7BpB,EAAA,OAAO,KAAA,KAAS,KAAM,CAAA;UAC7CgB,EAOE,SAAA;AAAA,mBANI;AAAA,UAAJ,KAAIX;AAAA,UACK,uBAAAY,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAI,MAAAP,EAAAZ,CAAA,EAAM,QAAKmB;AAAA,UACnB,aAAarB,EAAA;AAAA,UACb,YAAUS;AAAA,UACV,WAAO;AAAA;;cAAS,IAAAa,MAAAR,EAAAZ,CAAA,EAAM,SAANY,EAAAZ,CAAA,EAAM,MAAK,GAAAoB,CAAA;AAAA,cAAA,CAAA,QAAA;AAAA,YAAA;AAAA,YACXL,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAM,EAAA,CAAAC,MAAA;;AAAQ,sBAAAb,IAAAa,EAAG,WAAH,gBAAAb,EAAgC;AAAA,eAAI,CAAA,OAAA,CAAA;AAAA,UAAA;AAAA;UAJpD,CAAAc,GAAAX,EAAAZ,CAAA,EAAM,KAAK;AAAA,QAAA;;MAObY,EAAAZ,CAAA,EAAM,cAAjBU,EAAoE,OAAA;AAAA;QAA3C,OAAKC,EAAEC,EAAAC,CAAA,EAAM,KAAK;AAAA,MAAA,GAAKK,EAAAN,EAAAZ,CAAA,EAAM,KAAK,GAAA,CAAA;;;;"}
@@ -71,11 +71,11 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
71
71
  placeholder: string;
72
72
  step: number;
73
73
  groupPosition: "top" | "bottom" | "left" | "right" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "middle";
74
+ validate: (v: number) => string | undefined;
74
75
  minValue: number;
75
76
  maxValue: number;
76
77
  useIncrementButtons: boolean;
77
78
  errorMessage: string;
78
- validate: (v: number) => string | undefined;
79
79
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
80
80
  rootRef: HTMLDivElement;
81
81
  inputRef: HTMLInputElement;
@@ -1 +1 @@
1
- {"version":3,"file":"PlNumberField.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlNumberField/PlNumberField.vue"],"names":[],"mappings":"AAiTA,OAAO,wBAAwB,CAAC;AAQhC;;;;;;;;;;;;;GAaG;;gBAkOS,MAAM,GAAG,SAAS;;IA/N5B,gCAAgC;eACrB,OAAO;IAClB,6DAA6D;YACrD,MAAM;IACd,0CAA0C;kBAC5B,MAAM;IACpB,yDAAyD;WAClD,MAAM;IACb,oDAAoD;eACzC,MAAM;IACjB,oDAAoD;eACzC,MAAM;IACjB,6CAA6C;0BACvB,OAAO;IAC7B,yIAAyI;kCAC3G,OAAO;IACrC,+EAA+E;mBAChE,MAAM;IACrB,yFAAyF;eAC9E,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS;IAC5C,wCAAwC;oBACxB,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,QAAQ;;;;gBA0MhH,MAAM,GAAG,SAAS;;IA/N5B,gCAAgC;eACrB,OAAO;IAClB,6DAA6D;YACrD,MAAM;IACd,0CAA0C;kBAC5B,MAAM;IACpB,yDAAyD;WAClD,MAAM;IACb,oDAAoD;eACzC,MAAM;IACjB,oDAAoD;eACzC,MAAM;IACjB,6CAA6C;0BACvB,OAAO;IAC7B,yIAAyI;kCAC3G,OAAO;IACrC,+EAA+E;mBAChE,MAAM;IACrB,yFAAyF;eAC9E,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS;IAC5C,wCAAwC;oBACxB,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,QAAQ;;;;WAlBlH,MAAM;iBAEA,MAAM;UAEb,MAAM;mBAcG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,QAAQ;cAZ/G,MAAM;cAEN,MAAM;yBAEK,OAAO;kBAId,MAAM;cAEV,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS;;;;;qBAiVhB,GAAG;;AAtWjC,wBAiaK;AAcL,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"PlNumberField.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlNumberField/PlNumberField.vue"],"names":[],"mappings":"AAiTA,OAAO,wBAAwB,CAAC;AAQhC;;;;;;;;;;;;;GAaG;;gBAkOS,MAAM,GAAG,SAAS;;IA/N5B,gCAAgC;eACrB,OAAO;IAClB,6DAA6D;YACrD,MAAM;IACd,0CAA0C;kBAC5B,MAAM;IACpB,yDAAyD;WAClD,MAAM;IACb,oDAAoD;eACzC,MAAM;IACjB,oDAAoD;eACzC,MAAM;IACjB,6CAA6C;0BACvB,OAAO;IAC7B,yIAAyI;kCAC3G,OAAO;IACrC,+EAA+E;mBAChE,MAAM;IACrB,yFAAyF;eAC9E,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS;IAC5C,wCAAwC;oBACxB,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,QAAQ;;;;gBA0MhH,MAAM,GAAG,SAAS;;IA/N5B,gCAAgC;eACrB,OAAO;IAClB,6DAA6D;YACrD,MAAM;IACd,0CAA0C;kBAC5B,MAAM;IACpB,yDAAyD;WAClD,MAAM;IACb,oDAAoD;eACzC,MAAM;IACjB,oDAAoD;eACzC,MAAM;IACjB,6CAA6C;0BACvB,OAAO;IAC7B,yIAAyI;kCAC3G,OAAO;IACrC,+EAA+E;mBAChE,MAAM;IACrB,yFAAyF;eAC9E,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS;IAC5C,wCAAwC;oBACxB,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,QAAQ;;;;WAlBlH,MAAM;iBAEA,MAAM;UAEb,MAAM;mBAcG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,QAAQ;cAF/G,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS;cAVjC,MAAM;cAEN,MAAM;yBAEK,OAAO;kBAId,MAAM;;;;;qBAmVO,GAAG;;AAtWjC,wBAiaK;AAcL,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { defineComponent as t, createElementBlock as r, openBlock as n, normalizeClass as s, createElementVNode as a, normalizeProps as l, guardReactiveProps as i, renderSlot as u } from "vue";
2
+ const d = {
3
+ inheritAttrs: !1
4
+ }, m = /* @__PURE__ */ t({
5
+ ...d,
6
+ __name: "DoubleContour",
7
+ props: {
8
+ groupPosition: { default: void 0 }
9
+ },
10
+ setup(o) {
11
+ return (e, c) => (n(), r("div", {
12
+ class: s(["double-contour", { [o.groupPosition]: !0 }])
13
+ }, [
14
+ a("div", l(i(e.$attrs)), [
15
+ u(e.$slots, "default")
16
+ ], 16)
17
+ ], 2));
18
+ }
19
+ });
20
+ export {
21
+ m as default
22
+ };
23
+ //# sourceMappingURL=DoubleContour.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DoubleContour.vue2.js","sources":["../../src/utils/DoubleContour.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nwithDefaults(defineProps<{\n groupPosition?: 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'middle';\n}>(), {\n groupPosition: undefined,\n});\n</script>\n\n<script lang=\"ts\">\n\nexport default {\n inheritAttrs: false,\n};\n</script>\n\n<template>\n <div class=\"double-contour\" :class=\"{ [groupPosition]: true }\">\n <div v-bind=\"$attrs\">\n <slot />\n </div>\n </div>\n</template>\n<style>\n.double-contour {\n &.top > div {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n }\n}\n.double-contour {\n &.bottom > div {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n }\n}\n.double-contour {\n &.left > div {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n}\n.double-contour {\n &.right > div {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n}\n.double-contour {\n &.top-left > div{\n border-top-right-radius: 0;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n}\n.double-contour {\n &.top-right > div {\n border-bottom-right-radius: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n}\n.double-contour {\n &.bottom-left > div {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: 0;\n }\n}\n.double-contour {\n &.bottom-right > div {\n border-top-right-radius: 0;\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n }\n}\n.double-contour {\n &.middle > div {\n border-radius: 0;\n }\n}\n</style>\n"],"names":["__default__","_createElementBlock","_normalizeClass","__props","_createElementVNode","$attrs","_renderSlot","_ctx"],"mappings":";AAUA,MAAAA,IAAe;AAAA,EACb,cAAc;AAChB;;;;;;;2BAIEC,EAIM,OAAA;AAAA,MAJD,OAAKC,EAAA,CAAC,kBAAgB,EAAA,CAAYC,EAAA,aAAa,GAAA,IAAA,CAAA;AAAA,IAAA;MAClDC,EAEM,WAFOC,EAAAA,MAAM,CAAA,GAAA;AAAA,QACjBC,EAAQC,EAAA,QAAA,SAAA;AAAA,MAAA;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milaboratories/uikit",
3
- "version": "2.8.3",
3
+ "version": "2.8.5",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "exports": {
@@ -31,18 +31,20 @@
31
31
  "d3-axis": "^3.0.0",
32
32
  "resize-observer-polyfill": "^1.5.1",
33
33
  "canonicalize": "~2.1.0",
34
- "@platforma-sdk/model": "1.48.4",
35
- "@milaboratories/helpers": "1.12.1"
34
+ "@milaboratories/helpers": "1.12.1",
35
+ "@platforma-sdk/model": "1.48.13"
36
36
  },
37
37
  "devDependencies": {
38
38
  "jsdom": "^25.0.1",
39
- "vitest": "^4.0.7",
39
+ "vitest": "^4.0.16",
40
+ "@vitest/coverage-istanbul": "^4.0.16",
41
+ "eslint": "^9.25.1",
40
42
  "yarpm": "^1.2.0",
41
43
  "svgo": "^3.3.2",
42
44
  "typescript": "~5.6.3",
43
45
  "@milaboratories/ts-builder": "1.2.1",
44
- "@milaboratories/build-configs": "1.2.1",
45
46
  "@milaboratories/ts-configs": "1.2.0",
47
+ "@milaboratories/build-configs": "1.2.1",
46
48
  "@milaboratories/eslint-config": "1.0.5"
47
49
  },
48
50
  "scripts": {
@@ -51,7 +53,7 @@
51
53
  "watch": "ts-builder build --target browser-lib --watch --build-config ./build.browser-lib.config.js",
52
54
  "type-check": "ts-builder types --target browser-lib",
53
55
  "test:unit": "vitest run",
54
- "test": "vitest run",
56
+ "test": "vitest run --coverage",
55
57
  "create-svg-components": "node scripts/create-svg-components.js",
56
58
  "parse-icons-folder": "node scripts/parse-icons.js",
57
59
  "minify-icons": "svgo -f src/assets/icons/icon-assets -o src/assets/icons/icon-assets-min",
@@ -31,6 +31,18 @@ const props = withDefaults(
31
31
  * If true, input will be focused on mount
32
32
  */
33
33
  autofocus?: boolean;
34
+ /**
35
+ * A function that validates the input value.
36
+ * @example
37
+ * ```ts
38
+ * validate: (v: string) => {
39
+ * if (v.length < 3) {
40
+ * throw Error('Title must be at least 3 characters');
41
+ * }
42
+ * }
43
+ * ```
44
+ */
45
+ validate?: (v: string) => unknown;
34
46
  }>(),
35
47
  {
36
48
  placeholder: 'Title',
@@ -38,6 +50,7 @@ const props = withDefaults(
38
50
  prefix: undefined,
39
51
  maxLength: 1000,
40
52
  minLength: undefined,
53
+ validate: undefined,
41
54
  },
42
55
  );
43
56
 
@@ -58,6 +71,10 @@ const local = useTransformedModel(model, {
58
71
  throw Error(`Min title length is ${props.minLength} characters`);
59
72
  }
60
73
 
74
+ if (typeof props.validate === 'function') {
75
+ props.validate(v);
76
+ }
77
+
61
78
  return v.trim();
62
79
  },
63
80
  });
package/vitest.config.mts CHANGED
@@ -1,16 +1,17 @@
1
1
  import { fileURLToPath } from 'node:url';
2
+ import { createVitestConfig } from '@milaboratories/build-configs';
2
3
  import { configDefaults, defineConfig, mergeConfig } from 'vitest/config';
3
4
  import viteConfig from './build.browser-lib.config';
4
5
 
5
- export default defineConfig((configEnv) => mergeConfig(
6
- viteConfig(configEnv),
7
- {
8
- test: {
9
- pool: 'threads',
10
- setupFiles: ['./src/__tests__/setup.ts'],
11
- environment: 'jsdom',
12
- exclude: [...configDefaults.exclude, 'e2e/**'],
13
- root: fileURLToPath(new URL('./', import.meta.url)),
14
- },
15
- },
16
- ));
6
+ export default defineConfig((configEnv) =>
7
+ createVitestConfig(
8
+ mergeConfig(viteConfig(configEnv), {
9
+ test: {
10
+ setupFiles: ['./src/__tests__/setup.ts'],
11
+ environment: 'jsdom',
12
+ exclude: [...configDefaults.exclude, 'e2e/**'],
13
+ root: fileURLToPath(new URL('./', import.meta.url)),
14
+ },
15
+ }),
16
+ ),
17
+ );