@milaboratories/uikit 2.10.2 → 2.10.3
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/.turbo/turbo-build.log +32 -32
- package/.turbo/turbo-lint.log +1 -1
- package/.turbo/turbo-type-check.log +1 -1
- package/CHANGELOG.md +6 -0
- package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.d.ts.map +1 -1
- package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.js +86 -86
- package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.js.map +1 -1
- package/package.json +5 -5
- package/src/components/PlDropdownMulti/PlDropdownMulti.vue +6 -2
package/.turbo/turbo-build.log
CHANGED
|
@@ -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.10.
|
|
3
|
+
> @milaboratories/uikit@2.10.3 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...
|
|
@@ -24,8 +24,8 @@ computing gzip size...
|
|
|
24
24
|
[2mdist/[22m[36mlayout/PlRow/PlRow.vue2.js [39m[1m[2m 0.10 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
25
25
|
[2mdist/[22m[36mcomponents/PlFileDialog/Local.vue2.js [39m[1m[2m 0.10 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
26
26
|
[2mdist/[22m[36mcomponents/Slider.vue2.js [39m[1m[2m 0.10 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
27
|
-
[2mdist/[22m[36mcomponents/PlChip/PlChip.vue2.js [39m[1m[2m 0.10 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
28
27
|
[2mdist/[22m[36mlayout/PlGrid/PlGrid.vue2.js [39m[1m[2m 0.10 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
28
|
+
[2mdist/[22m[36mcomponents/PlChip/PlChip.vue2.js [39m[1m[2m 0.10 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
29
29
|
[2mdist/[22m[36mcomponents/PlTabs/PlTabs.vue2.js [39m[1m[2m 0.10 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
30
30
|
[2mdist/[22m[36mcomponents/PlFileDialog/Remote.vue2.js [39m[1m[2m 0.10 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
31
31
|
[2mdist/[22m[36mcomponents/DataTable/TdCell.vue2.js [39m[1m[2m 0.10 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
@@ -38,67 +38,67 @@ computing gzip size...
|
|
|
38
38
|
[2mdist/[22m[36mcomponents/HScroll.vue2.js [39m[1m[2m 0.10 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
39
39
|
[2mdist/[22m[36mcomponents/TabItem.vue2.js [39m[1m[2m 0.10 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
40
40
|
[2mdist/[22m[36mcomponents/DataTable/TScroll.vue2.js [39m[1m[2m 0.10 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
41
|
-
[2mdist/[22m[36mlayout/PlSpacer/PlSpacer.vue2.js [39m[1m[2m 0.10 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
42
41
|
[2mdist/[22m[36mcomponents/PlSplash/PlSplash.vue2.js [39m[1m[2m 0.10 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
43
|
-
[2mdist/[22m[
|
|
42
|
+
[2mdist/[22m[36mlayout/PlSpacer/PlSpacer.vue2.js [39m[1m[2m 0.10 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
44
43
|
[2mdist/[22m[36mcomponents/PlLogView/PlLogView.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
44
|
+
[2mdist/[22m[36mcomponents/PlTooltip/PlTooltip.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
45
45
|
[2mdist/[22m[36mcomponents/PlBtnLink/PlBtnLink.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
46
46
|
[2mdist/[22m[36mcomponents/Scrollable.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
47
|
-
[2mdist/[22m[36mcomponents/PlCheckbox/PlCheckbox.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
48
|
-
[2mdist/[22m[36mcomponents/PlBtnSplit/PlBtnSplit.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
49
|
-
[2mdist/[22m[36mcomponents/PlDropdown/PlDropdown.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
50
47
|
[2mdist/[22m[36mcomponents/PlBtnGhost/PlBtnGhost.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
51
48
|
[2mdist/[22m[36mcomponents/PlBtnGroup/PlBtnGroup.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
49
|
+
[2mdist/[22m[36mcomponents/PlBtnSplit/PlBtnSplit.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
50
|
+
[2mdist/[22m[36mcomponents/PlDropdown/PlDropdown.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
51
|
+
[2mdist/[22m[36mcomponents/PlCheckbox/PlCheckbox.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
52
52
|
[2mdist/[22m[36mcomponents/PlTextArea/PlTextArea.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
53
53
|
[2mdist/[22m[36mcomponents/PlDropdown/OptionList.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
54
54
|
[2mdist/[22m[36mcomponents/InputRange.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
55
55
|
[2mdist/[22m[36mcomponents/SliderRange.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
56
|
-
[2mdist/[22m[36mcomponents/PlBtnDanger/PlBtnDanger.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
57
56
|
[2mdist/[22m[36mcomponents/PlAccordion/PlAccordion.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
58
|
-
[2mdist/[22m[36mcomponents/PlStatusTag/PlStatusTag.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
59
57
|
[2mdist/[22m[36mcomponents/PlTextField/PlTextField.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
58
|
+
[2mdist/[22m[36mcomponents/PlBtnDanger/PlBtnDanger.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
59
|
+
[2mdist/[22m[36mlayout/PlContainer/PlContainer.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
60
60
|
[2mdist/[22m[36mcomponents/PlBtnAccent/PlBtnAccent.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
61
61
|
[2mdist/[22m[36mcomponents/PlFileInput/PlFileInput.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
62
|
-
[2mdist/[22m[
|
|
62
|
+
[2mdist/[22m[36mcomponents/PlStatusTag/PlStatusTag.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
63
63
|
[2mdist/[22m[36mcomponents/DataTable/ColumnCaret.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
64
|
-
[2mdist/[22m[36mcomponents/PlFileDialog/PlFileDialog.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
65
64
|
[2mdist/[22m[36mcomponents/PlBtnPrimary/PlBtnPrimary.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
65
|
+
[2mdist/[22m[36mcomponents/PlFileDialog/PlFileDialog.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
66
66
|
[2mdist/[22m[36mutils/InnerBorder.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.34 kB[22m
|
|
67
67
|
[2mdist/[22m[36mcomponents/ThemeSwitcher.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
68
|
-
[2mdist/[22m[36mcomponents/PlDialogModal/PlDialogModal.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
69
68
|
[2mdist/[22m[36mcomponents/PlProgressBar/PlProgressBar.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
70
|
-
[2mdist/[22m[36mcomponents/
|
|
69
|
+
[2mdist/[22m[36mcomponents/PlDialogModal/PlDialogModal.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
71
70
|
[2mdist/[22m[36mcomponents/PlNumberField/PlNumberField.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
71
|
+
[2mdist/[22m[36mcomponents/PlDropdownRef/PlDropdownRef.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
72
|
+
[2mdist/[22m[36mcomponents/PlBtnSecondary/PlBtnSecondary.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
72
73
|
[2mdist/[22m[36mcomponents/PlAutocomplete/PlAutocomplete.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
73
|
-
[2mdist/[22m[36mcomponents/PlDropdownLine/PlDropdownLine.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
74
|
-
[2mdist/[22m[36mcomponents/DataTable/TableComponent.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
75
74
|
[2mdist/[22m[36mcomponents/PlToggleSwitch/PlToggleSwitch.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
76
75
|
[2mdist/[22m[36mcomponents/PlProgressCell/PlProgressCell.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
77
|
-
[2mdist/[22m[36mcomponents/
|
|
76
|
+
[2mdist/[22m[36mcomponents/DataTable/TableComponent.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
77
|
+
[2mdist/[22m[36mcomponents/PlDropdownLine/PlDropdownLine.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
78
78
|
[2mdist/[22m[36mcomponents/PlCheckbox/PlCheckboxBase.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
79
79
|
[2mdist/[22m[36mcomponents/PlDropdownLine/ResizableInput.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.10 kB[22m
|
|
80
80
|
[2mdist/[22m[36mcomponents/ContextProvider.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
81
81
|
[2mdist/[22m[36mcomponents/PlConfirmDialog.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
82
82
|
[2mdist/[22m[36mutils/DropdownOverlay/DropdownOverlay.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
83
|
+
[2mdist/[22m[36mcomponents/PlErrorBoundary/PlErrorBoundary.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
83
84
|
[2mdist/[22m[36mcomponents/PlEditableTitle/PlEditableTitle.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
84
85
|
[2mdist/[22m[36mcomponents/PlDropdownMulti/PlDropdownMulti.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
85
|
-
[2mdist/[22m[36mcomponents/PlErrorBoundary/PlErrorBoundary.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
86
86
|
[2mdist/[22m[36mcomponents/PlCheckboxGroup/PlCheckboxGroup.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
87
87
|
[2mdist/[22m[36mhelpers/math.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.13 kB[22m[2m │ map: 0.33 kB[22m
|
|
88
88
|
[2mdist/[22m[36mcomponents/DataTable/RowsCommandMenu.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
89
89
|
[2mdist/[22m[36mcomponents/DropdownListItem.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
90
|
-
[2mdist/[22m[36mcomponents/PlSlideModal/PlPureSlideModal.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
91
90
|
[2mdist/[22m[36mcomponents/PlDropdownLegacy/PlDropdownLegacy.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
92
91
|
[2mdist/[22m[36mcomponents/PlLoaderCircular/PlLoaderCircular.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
92
|
+
[2mdist/[22m[36mcomponents/PlSlideModal/PlPureSlideModal.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
93
93
|
[2mdist/[22m[36mcomponents/SliderRangeTriple.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
94
94
|
[2mdist/[22m[36mcomponents/PlSvg/PlSvg.vue3.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.13 kB[22m[2m │ map: 0.10 kB[22m
|
|
95
95
|
[2mdist/[22m[36mcomponents/DataTable/BaseCellComponent.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
96
96
|
[2mdist/[22m[36mcomponents/PlDropdownMultiRef/PlDropdownMultiRef.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
97
97
|
[2mdist/[22m[36mcomponents/DataTable/ColumnsCommandMenu.vue2.js [39m[1m[2m 0.12 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
98
|
-
[2mdist/[22m[36mcomponents/PlNotificationAlert/PlNotificationAlert.vue2.js [39m[1m[2m 0.13 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
99
98
|
[2mdist/[22m[36mcomponents/PlAutocompleteMulti/PlAutocompleteMulti.vue2.js [39m[1m[2m 0.13 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
100
|
-
[2mdist/[22m[36mcomponents/
|
|
99
|
+
[2mdist/[22m[36mcomponents/PlNotificationAlert/PlNotificationAlert.vue2.js [39m[1m[2m 0.13 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
101
100
|
[2mdist/[22m[36mcomponents/PlIcon16/PlIcon16.vue3.js [39m[1m[2m 0.13 kB[22m[1m[22m[2m │ gzip: 0.13 kB[22m[2m │ map: 0.10 kB[22m
|
|
101
|
+
[2mdist/[22m[36mcomponents/PlIcon24/PlIcon24.vue3.js [39m[1m[2m 0.13 kB[22m[1m[22m[2m │ gzip: 0.13 kB[22m[2m │ map: 0.10 kB[22m
|
|
102
102
|
[2mdist/[22m[36mcomponents/TransitionSlidePanel.vue2.js [39m[1m[2m 0.13 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.11 kB[22m
|
|
103
103
|
[2mdist/[22m[36mcomponents/PlRadio/keys.js [39m[1m[2m 0.13 kB[22m[1m[22m[2m │ gzip: 0.13 kB[22m[2m │ map: 0.43 kB[22m
|
|
104
104
|
[2mdist/[22m[36mcomponents/PlClipboard/PlClipboard.vue3.js [39m[1m[2m 0.13 kB[22m[1m[22m[2m │ gzip: 0.13 kB[22m[2m │ map: 0.10 kB[22m
|
|
@@ -119,8 +119,8 @@ computing gzip size...
|
|
|
119
119
|
[2mdist/[22m[36m_virtual/_plugin-vue_export-helper.js [39m[1m[2m 0.19 kB[22m[1m[22m[2m │ gzip: 0.17 kB[22m[2m │ map: 0.12 kB[22m
|
|
120
120
|
[2mdist/[22m[36mcomponents/PlRadio/PlRadioGroup.vue3.js [39m[1m[2m 0.20 kB[22m[1m[22m[2m │ gzip: 0.16 kB[22m[2m │ map: 0.11 kB[22m
|
|
121
121
|
[2mdist/[22m[36mcomponents/PlSearchField/PlSearchField.vue3.js [39m[1m[2m 0.20 kB[22m[1m[22m[2m │ gzip: 0.16 kB[22m[2m │ map: 0.11 kB[22m
|
|
122
|
-
[2mdist/[22m[36mcomponents/PlChartStackedBar/PlChartStackedBar.vue3.js [39m[1m[2m 0.20 kB[22m[1m[22m[2m │ gzip: 0.16 kB[22m[2m │ map: 0.11 kB[22m
|
|
123
122
|
[2mdist/[22m[36mcomponents/PlChartHistogram/PlChartHistogram.vue3.js [39m[1m[2m 0.20 kB[22m[1m[22m[2m │ gzip: 0.16 kB[22m[2m │ map: 0.11 kB[22m
|
|
123
|
+
[2mdist/[22m[36mcomponents/PlChartStackedBar/PlChartStackedBar.vue3.js [39m[1m[2m 0.20 kB[22m[1m[22m[2m │ gzip: 0.16 kB[22m[2m │ map: 0.11 kB[22m
|
|
124
124
|
[2mdist/[22m[36mcomponents/PlSectionSeparator/PlSectionSeparator.vue3.js [39m[1m[2m 0.20 kB[22m[1m[22m[2m │ gzip: 0.16 kB[22m[2m │ map: 0.11 kB[22m
|
|
125
125
|
[2mdist/[22m[36mhelpers/index.js [39m[1m[2m 0.21 kB[22m[1m[22m[2m │ gzip: 0.17 kB[22m[2m │ map: 0.65 kB[22m
|
|
126
126
|
[2mdist/[22m[36mcomponents/PlElementList/PlElementList.vue3.js [39m[1m[2m 0.22 kB[22m[1m[22m[2m │ gzip: 0.17 kB[22m[2m │ map: 0.11 kB[22m
|
|
@@ -155,8 +155,8 @@ computing gzip size...
|
|
|
155
155
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_arrow-down.svg.js [39m[1m[2m 0.27 kB[22m[1m[22m[2m │ gzip: 0.24 kB[22m[2m │ map: 0.44 kB[22m
|
|
156
156
|
[2mdist/[22m[36massets/icons/icon-assets-min/16_add.svg.js [39m[1m[2m 0.27 kB[22m[1m[22m[2m │ gzip: 0.23 kB[22m[2m │ map: 0.44 kB[22m
|
|
157
157
|
[2mdist/[22m[36mcomponents/PlRadio/PlRadio.vue.js [39m[1m[2m 0.27 kB[22m[1m[22m[2m │ gzip: 0.21 kB[22m[2m │ map: 0.10 kB[22m
|
|
158
|
-
[2mdist/[22m[36mcomponents/PlChartStackedBar/Legends.vue.js [39m[1m[2m 0.27 kB[22m[1m[22m[2m │ gzip: 0.21 kB[22m[2m │ map: 0.10 kB[22m
|
|
159
158
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_linetype-longdash.svg.js [39m[1m[2m 0.27 kB[22m[1m[22m[2m │ gzip: 0.23 kB[22m[2m │ map: 0.47 kB[22m
|
|
159
|
+
[2mdist/[22m[36mcomponents/PlChartStackedBar/Legends.vue.js [39m[1m[2m 0.27 kB[22m[1m[22m[2m │ gzip: 0.21 kB[22m[2m │ map: 0.10 kB[22m
|
|
160
160
|
[2mdist/[22m[36massets/icons/icon-assets-min/16_chevron-first.svg.js [39m[1m[2m 0.28 kB[22m[1m[22m[2m │ gzip: 0.23 kB[22m[2m │ map: 0.45 kB[22m
|
|
161
161
|
[2mdist/[22m[36mcomponents/PlIcon16/PlIcon16.vue.js [39m[1m[2m 0.28 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.10 kB[22m
|
|
162
162
|
[2mdist/[22m[36mcomponents/PlIcon24/PlIcon24.vue.js [39m[1m[2m 0.28 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.10 kB[22m
|
|
@@ -177,10 +177,10 @@ computing gzip size...
|
|
|
177
177
|
[2mdist/[22m[36massets/icons/icon-assets-min/16_maximize.svg.js [39m[1m[2m 0.29 kB[22m[1m[22m[2m │ gzip: 0.24 kB[22m[2m │ map: 0.47 kB[22m
|
|
178
178
|
[2mdist/[22m[36mcomponents/PlSlideModal/PlSlideModal.vue.js [39m[1m[2m 0.29 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
179
179
|
[2mdist/[22m[36mcomponents/PlRadio/PlRadioGroup.vue.js [39m[1m[2m 0.29 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
180
|
+
[2mdist/[22m[36mcomponents/PlErrorAlert/PlErrorAlert.vue.js [39m[1m[2m 0.29 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
180
181
|
[2mdist/[22m[36massets/icons/icon-assets-min/16_caret-left.svg.js [39m[1m[2m 0.29 kB[22m[1m[22m[2m │ gzip: 0.24 kB[22m[2m │ map: 0.46 kB[22m
|
|
181
182
|
[2mdist/[22m[36massets/icons/icon-assets-min/16_download.svg.js [39m[1m[2m 0.29 kB[22m[1m[22m[2m │ gzip: 0.24 kB[22m[2m │ map: 0.46 kB[22m
|
|
182
183
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_linetype-dashed.svg.js [39m[1m[2m 0.29 kB[22m[1m[22m[2m │ gzip: 0.23 kB[22m[2m │ map: 0.48 kB[22m
|
|
183
|
-
[2mdist/[22m[36mcomponents/PlErrorAlert/PlErrorAlert.vue.js [39m[1m[2m 0.29 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
184
184
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_drag-dots.svg.js [39m[1m[2m 0.29 kB[22m[1m[22m[2m │ gzip: 0.23 kB[22m[2m │ map: 0.46 kB[22m
|
|
185
185
|
[2mdist/[22m[36massets/icons/icon-assets-min/16_chevron-up.svg.js [39m[1m[2m 0.29 kB[22m[1m[22m[2m │ gzip: 0.24 kB[22m[2m │ map: 0.47 kB[22m
|
|
186
186
|
[2mdist/[22m[36mcomponents/PlElementList/PlElementList.vue.js [39m[1m[2m 0.29 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
@@ -196,12 +196,12 @@ computing gzip size...
|
|
|
196
196
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_jump-link.svg.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.25 kB[22m[2m │ map: 0.46 kB[22m
|
|
197
197
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_checkbox-intermediate.svg.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.24 kB[22m[2m │ map: 0.53 kB[22m
|
|
198
198
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_chevron-up.svg.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.24 kB[22m[2m │ map: 0.48 kB[22m
|
|
199
|
+
[2mdist/[22m[36mcomponents/PlElementList/utils.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.23 kB[22m[2m │ map: 0.79 kB[22m
|
|
199
200
|
[2mdist/[22m[36massets/icons/icon-assets-min/16_close.svg.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.24 kB[22m[2m │ map: 0.47 kB[22m
|
|
200
201
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_chevron-down.svg.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.24 kB[22m[2m │ map: 0.48 kB[22m
|
|
201
202
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_linetype-dotdash.svg.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.25 kB[22m[2m │ map: 0.49 kB[22m
|
|
202
203
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_menu.svg.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.24 kB[22m[2m │ map: 0.46 kB[22m
|
|
203
204
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_text-align-left.svg.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.25 kB[22m[2m │ map: 0.49 kB[22m
|
|
204
|
-
[2mdist/[22m[36mcomponents/PlElementList/utils.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.23 kB[22m[2m │ map: 0.79 kB[22m
|
|
205
205
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_arrow-link.svg.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.25 kB[22m[2m │ map: 0.48 kB[22m
|
|
206
206
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_chevron-right.svg.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.25 kB[22m[2m │ map: 0.49 kB[22m
|
|
207
207
|
[2mdist/[22m[36massets/icons/icon-assets-min/16_arrow-link.svg.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.25 kB[22m[2m │ map: 0.48 kB[22m
|
|
@@ -214,9 +214,9 @@ computing gzip size...
|
|
|
214
214
|
[2mdist/[22m[36massets/icons/icon-assets-min/16_checkmark.svg.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.25 kB[22m[2m │ map: 0.48 kB[22m
|
|
215
215
|
[2mdist/[22m[36mcomponents/PlChartStackedBar/PlChartStackedBar.vue.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
216
216
|
[2mdist/[22m[36mcomponents/PlChartStackedBar/StackedRowCompact.vue.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
217
|
+
[2mdist/[22m[36mcomponents/PlElementList/PlElementListItem.vue.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
217
218
|
[2mdist/[22m[36massets/icons/icon-assets-min/16_arrow-up.svg.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.25 kB[22m[2m │ map: 0.48 kB[22m
|
|
218
219
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_linetype-twodash.svg.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.25 kB[22m[2m │ map: 0.50 kB[22m
|
|
219
|
-
[2mdist/[22m[36mcomponents/PlElementList/PlElementListItem.vue.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.11 kB[22m
|
|
220
220
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_checkmark.svg.js [39m[1m[2m 0.31 kB[22m[1m[22m[2m │ gzip: 0.25 kB[22m[2m │ map: 0.49 kB[22m
|
|
221
221
|
[2mdist/[22m[36massets/icons/icon-assets-min/16_arrow-down.svg.js [39m[1m[2m 0.31 kB[22m[1m[22m[2m │ gzip: 0.25 kB[22m[2m │ map: 0.49 kB[22m
|
|
222
222
|
[2mdist/[22m[36massets/icons/icon-assets-min/16_arrow-left.svg.js [39m[1m[2m 0.31 kB[22m[1m[22m[2m │ gzip: 0.24 kB[22m[2m │ map: 0.49 kB[22m
|
|
@@ -302,9 +302,9 @@ computing gzip size...
|
|
|
302
302
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_align-right.svg.js [39m[1m[2m 0.43 kB[22m[1m[22m[2m │ gzip: 0.28 kB[22m[2m │ map: 0.61 kB[22m
|
|
303
303
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_zoom-out.svg.js [39m[1m[2m 0.43 kB[22m[1m[22m[2m │ gzip: 0.29 kB[22m[2m │ map: 0.63 kB[22m
|
|
304
304
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_windows-collapse.svg.js [39m[1m[2m 0.43 kB[22m[1m[22m[2m │ gzip: 0.30 kB[22m[2m │ map: 0.66 kB[22m
|
|
305
|
-
[2mdist/[22m[36mutils/InnerBorder.vue.js [39m[1m[2m 0.43 kB[22m[1m[22m[2m │ gzip: 0.31 kB[22m[2m │ map: 0.42 kB[22m
|
|
306
305
|
[2mdist/[22m[36massets/icons/icon-assets-min/16_delete-circle.svg.js [39m[1m[2m 0.43 kB[22m[1m[22m[2m │ gzip: 0.30 kB[22m[2m │ map: 0.62 kB[22m
|
|
307
306
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_drag-vertical.svg.js [39m[1m[2m 0.43 kB[22m[1m[22m[2m │ gzip: 0.31 kB[22m[2m │ map: 0.62 kB[22m
|
|
307
|
+
[2mdist/[22m[36mutils/InnerBorder.vue.js [39m[1m[2m 0.43 kB[22m[1m[22m[2m │ gzip: 0.31 kB[22m[2m │ map: 0.42 kB[22m
|
|
308
308
|
[2mdist/[22m[36massets/icons/icon-assets-min/16_zip.svg.js [39m[1m[2m 0.43 kB[22m[1m[22m[2m │ gzip: 0.29 kB[22m[2m │ map: 0.60 kB[22m
|
|
309
309
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_arrow-left-curved.svg.js [39m[1m[2m 0.43 kB[22m[1m[22m[2m │ gzip: 0.31 kB[22m[2m │ map: 0.61 kB[22m
|
|
310
310
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_drag-horizontal.svg.js [39m[1m[2m 0.43 kB[22m[1m[22m[2m │ gzip: 0.32 kB[22m[2m │ map: 0.62 kB[22m
|
|
@@ -318,8 +318,8 @@ computing gzip size...
|
|
|
318
318
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_renew.svg.js [39m[1m[2m 0.44 kB[22m[1m[22m[2m │ gzip: 0.32 kB[22m[2m │ map: 0.62 kB[22m
|
|
319
319
|
[2mdist/[22m[36massets/icons/icon-assets-min/16_error.svg.js [39m[1m[2m 0.44 kB[22m[1m[22m[2m │ gzip: 0.32 kB[22m[2m │ map: 0.64 kB[22m
|
|
320
320
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_monetization.svg.js [39m[1m[2m 0.45 kB[22m[1m[22m[2m │ gzip: 0.30 kB[22m[2m │ map: 0.63 kB[22m
|
|
321
|
-
[2mdist/[22m[36massets/images/24_checkbox-light-enabled-unchecked.svg.js [39m[1m[2m 0.45 kB[22m[1m[22m[2m │ gzip: 0.32 kB[22m[2m │ map: 0.67 kB[22m
|
|
322
321
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_y-axis.svg.js [39m[1m[2m 0.45 kB[22m[1m[22m[2m │ gzip: 0.30 kB[22m[2m │ map: 0.65 kB[22m
|
|
322
|
+
[2mdist/[22m[36massets/images/24_checkbox-light-enabled-unchecked.svg.js [39m[1m[2m 0.45 kB[22m[1m[22m[2m │ gzip: 0.32 kB[22m[2m │ map: 0.67 kB[22m
|
|
323
323
|
[2mdist/[22m[36massets/icons/icon-assets-min/16_y-axis.svg.js [39m[1m[2m 0.45 kB[22m[1m[22m[2m │ gzip: 0.30 kB[22m[2m │ map: 0.65 kB[22m
|
|
324
324
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_delete-circle.svg.js [39m[1m[2m 0.45 kB[22m[1m[22m[2m │ gzip: 0.31 kB[22m[2m │ map: 0.65 kB[22m
|
|
325
325
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_zoom-in.svg.js [39m[1m[2m 0.45 kB[22m[1m[22m[2m │ gzip: 0.30 kB[22m[2m │ map: 0.65 kB[22m
|
|
@@ -419,8 +419,8 @@ computing gzip size...
|
|
|
419
419
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_filter-on.svg.js [39m[1m[2m 0.62 kB[22m[1m[22m[2m │ gzip: 0.41 kB[22m[2m │ map: 0.81 kB[22m
|
|
420
420
|
[2mdist/[22m[36massets/icons/icon-assets-min/16_duplicate.svg.js [39m[1m[2m 0.62 kB[22m[1m[22m[2m │ gzip: 0.39 kB[22m[2m │ map: 0.83 kB[22m
|
|
421
421
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_bar-stacked.svg.js [39m[1m[2m 0.62 kB[22m[1m[22m[2m │ gzip: 0.34 kB[22m[2m │ map: 0.83 kB[22m
|
|
422
|
-
[2mdist/[22m[36mcomposition/useRipple.js [39m[1m[2m 0.63 kB[22m[1m[22m[2m │ gzip: 0.40 kB[22m[2m │ map: 1.69 kB[22m
|
|
423
422
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_file-doc-download.svg.js [39m[1m[2m 0.63 kB[22m[1m[22m[2m │ gzip: 0.38 kB[22m[2m │ map: 0.85 kB[22m
|
|
423
|
+
[2mdist/[22m[36mcomposition/useRipple.js [39m[1m[2m 0.63 kB[22m[1m[22m[2m │ gzip: 0.40 kB[22m[2m │ map: 1.69 kB[22m
|
|
424
424
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_axes.svg.js [39m[1m[2m 0.63 kB[22m[1m[22m[2m │ gzip: 0.37 kB[22m[2m │ map: 0.81 kB[22m
|
|
425
425
|
[2mdist/[22m[36mutils/DoubleContour.vue.js [39m[1m[2m 0.63 kB[22m[1m[22m[2m │ gzip: 0.41 kB[22m[2m │ map: 2.12 kB[22m
|
|
426
426
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_clipboard.svg.js [39m[1m[2m 0.63 kB[22m[1m[22m[2m │ gzip: 0.37 kB[22m[2m │ map: 0.84 kB[22m
|
|
@@ -498,8 +498,8 @@ computing gzip size...
|
|
|
498
498
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_view-show.svg.js [39m[1m[2m 0.93 kB[22m[1m[22m[2m │ gzip: 0.55 kB[22m[2m │ map: 1.11 kB[22m
|
|
499
499
|
[2mdist/[22m[36mcomponents/PlCheckbox/PlCheckboxBase.vue.js [39m[1m[2m 0.94 kB[22m[1m[22m[2m │ gzip: 0.51 kB[22m[2m │ map: 1.26 kB[22m
|
|
500
500
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_theme-dark.svg.js [39m[1m[2m 0.94 kB[22m[1m[22m[2m │ gzip: 0.48 kB[22m[2m │ map: 1.12 kB[22m
|
|
501
|
-
[2mdist/[22m[36mcomponents/PlIcon24/PlIcon24.vue2.js [39m[1m[2m 0.95 kB[22m[1m[22m[2m │ gzip: 0.51 kB[22m[2m │ map: 2.57 kB[22m
|
|
502
501
|
[2mdist/[22m[36mcomponents/PlIcon16/PlIcon16.vue2.js [39m[1m[2m 0.95 kB[22m[1m[22m[2m │ gzip: 0.51 kB[22m[2m │ map: 1.86 kB[22m
|
|
502
|
+
[2mdist/[22m[36mcomponents/PlIcon24/PlIcon24.vue2.js [39m[1m[2m 0.95 kB[22m[1m[22m[2m │ gzip: 0.51 kB[22m[2m │ map: 2.57 kB[22m
|
|
503
503
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_dendrogram-X-line.svg.js [39m[1m[2m 0.95 kB[22m[1m[22m[2m │ gzip: 0.39 kB[22m[2m │ map: 1.24 kB[22m
|
|
504
504
|
[2mdist/[22m[36mcomponents/DataTable/composition/useTableColumns.js [39m[1m[2m 0.97 kB[22m[1m[22m[2m │ gzip: 0.53 kB[22m[2m │ map: 2.87 kB[22m
|
|
505
505
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_lasso.svg.js [39m[1m[2m 0.97 kB[22m[1m[22m[2m │ gzip: 0.57 kB[22m[2m │ map: 1.15 kB[22m
|
|
@@ -636,7 +636,7 @@ computing gzip size...
|
|
|
636
636
|
[2mdist/[22m[36mcomponents/PlDropdownLine/PlDropdownLine.vue.js [39m[1m[2m 8.19 kB[22m[1m[22m[2m │ gzip: 2.56 kB[22m[2m │ map: 15.98 kB[22m
|
|
637
637
|
[2mdist/[22m[36mcomponents/SliderRangeTriple.vue.js [39m[1m[2m 8.54 kB[22m[1m[22m[2m │ gzip: 2.46 kB[22m[2m │ map: 17.64 kB[22m
|
|
638
638
|
[2mdist/[22m[36mcomponents/PlFileDialog/Remote.vue.js [39m[1m[2m 8.71 kB[22m[1m[22m[2m │ gzip: 2.80 kB[22m[2m │ map: 17.21 kB[22m
|
|
639
|
-
[2mdist/[22m[36mcomponents/PlDropdownMulti/PlDropdownMulti.vue.js [39m[1m[2m 8.
|
|
639
|
+
[2mdist/[22m[36mcomponents/PlDropdownMulti/PlDropdownMulti.vue.js [39m[1m[2m 8.97 kB[22m[1m[22m[2m │ gzip: 2.83 kB[22m[2m │ map: 16.82 kB[22m
|
|
640
640
|
[2mdist/[22m[36mcomponents/PlDropdownLegacy/PlDropdownLegacy.vue.js [39m[1m[2m 9.16 kB[22m[1m[22m[2m │ gzip: 2.89 kB[22m[2m │ map: 17.77 kB[22m
|
|
641
641
|
[2mdist/[22m[36mcomponents/PlDropdown/PlDropdown.vue.js [39m[1m[2m 9.27 kB[22m[1m[22m[2m │ gzip: 2.89 kB[22m[2m │ map: 18.45 kB[22m
|
|
642
642
|
[2mdist/[22m[36mcomponents/PlAutocompleteMulti/PlAutocompleteMulti.vue.js [39m[1m[2m 9.82 kB[22m[1m[22m[2m │ gzip: 3.09 kB[22m[2m │ map: 20.80 kB[22m
|
|
@@ -646,7 +646,7 @@ computing gzip size...
|
|
|
646
646
|
[2mdist/[22m[36mcomposition/filters/metadata.js [39m[1m[2m 12.91 kB[22m[1m[22m[2m │ gzip: 1.15 kB[22m[2m │ map: 24.22 kB[22m
|
|
647
647
|
[2mdist/[22m[36mcomponents/PlSvg/PlSvg.vue2.js [39m[1m[2m 39.54 kB[22m[1m[22m[2m │ gzip: 3.38 kB[22m[2m │ map: 12.31 kB[22m
|
|
648
648
|
[2mdist/[22m[36mindex.js [39m[1m[33m683.13 kB[39m[22m[2m │ gzip: 226.33 kB[22m[2m │ map: 5.98 kB[22m
|
|
649
|
-
[vite:dts] Declaration files built in
|
|
649
|
+
[vite:dts] Declaration files built in 5810ms.
|
|
650
650
|
|
|
651
|
-
[32m✓ built in
|
|
651
|
+
[32m✓ built in 8.61s[39m
|
|
652
652
|
Build completed successfully
|
package/.turbo/turbo-lint.log
CHANGED
|
@@ -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.10.
|
|
3
|
+
> @milaboratories/uikit@2.10.3 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.10.
|
|
3
|
+
> @milaboratories/uikit@2.10.3 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlDropdownMulti.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlDropdownMulti/PlDropdownMulti.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlDropdownMulti.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlDropdownMulti/PlDropdownMulti.vue"],"names":[],"mappings":"AA6UA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAS9C,OAAO,0BAA0B,CAAC;AAGlC;;GAEG;yBACc,CAAC,yBACJ,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,cAClD,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,iBAC5F,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;WAyjB1D,mBAAmB,CAAC;;;QA7iBxB;;WAEG;oBACS,CAAC,EAAE;QACf;;WAEG;gBACK,MAAM;QACd;;WAEG;kBACO,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC;;WAEG;iBACM,MAAM;QACf;;WAEG;gBACK,OAAO;QACf;;WAEG;sBACW,MAAM;QACpB;;WAEG;mBACQ,OAAO;QAClB;;WAEG;mBACQ,OAAO;QAClB;;aAEK;wBACW,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,QAAQ;mBA0gBhC,CAAC,4BAA2B;oBACzG,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;;wBA5DkB,GAAG;yBACF,GAAG;;cA7f3B,mBAAmB,KAAK,CAAC,EAAE,KAAG,IAAI;;;;YA6jBI,OAAO,CAAC,OAAO,WAAW,CAAC;;AAnkBvE,wBAmkB4E;AAG5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import
|
|
3
|
-
import { getErrorMessage as
|
|
4
|
-
import { deepEqual as V, deepIncludes as
|
|
5
|
-
import { normalizeListOptions as
|
|
6
|
-
import
|
|
1
|
+
import { defineComponent as Y, useSlots as Z, ref as P, useTemplateRef as ee, reactive as oe, computed as d, unref as s, watch as te, watchPostEffect as le, createElementBlock as c, openBlock as r, createElementVNode as p, createCommentVNode as m, normalizeClass as ne, createBlock as v, createVNode as re, withDirectives as se, vModelText as ie, Fragment as b, renderList as C, withModifiers as O, withCtx as y, createTextVNode as S, toDisplayString as h, renderSlot as q } from "vue";
|
|
2
|
+
import ae from "../../assets/images/required.svg.js";
|
|
3
|
+
import { getErrorMessage as ue } from "../../helpers/error.js";
|
|
4
|
+
import { deepEqual as V, deepIncludes as B } from "../../helpers/objects.js";
|
|
5
|
+
import { normalizeListOptions as de } from "../../helpers/utils.js";
|
|
6
|
+
import ce from "../../utils/DoubleContour.vue.js";
|
|
7
7
|
/* empty css */
|
|
8
|
-
import
|
|
9
|
-
import { useLabelNotch as
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
8
|
+
import pe from "../../utils/DropdownOverlay/DropdownOverlay.vue.js";
|
|
9
|
+
import { useLabelNotch as fe } from "../../utils/useLabelNotch.js";
|
|
10
|
+
import me from "../DropdownListItem.vue.js";
|
|
11
|
+
import I from "../PlChip/PlChip.vue.js";
|
|
12
|
+
import ve from "../PlIcon24/PlIcon24.vue.js";
|
|
13
|
+
import he from "../PlSvg/PlSvg.vue.js";
|
|
14
|
+
import _e from "../PlTooltip/PlTooltip.vue.js";
|
|
15
15
|
/* empty css */
|
|
16
|
-
const
|
|
16
|
+
const we = ["tabindex"], ye = { class: "pl-dropdown-multi__container" }, ge = { class: "pl-dropdown-multi__field" }, ke = ["disabled", "placeholder"], be = {
|
|
17
17
|
key: 0,
|
|
18
18
|
class: "chips-container"
|
|
19
|
-
},
|
|
19
|
+
}, Ce = { class: "pl-dropdown-multi__controls" }, Oe = { key: 0 }, Ve = { class: "pl-dropdown-multi__open-chips-container" }, $e = {
|
|
20
20
|
key: 0,
|
|
21
21
|
class: "nothing-found"
|
|
22
|
-
},
|
|
22
|
+
}, xe = {
|
|
23
23
|
key: 0,
|
|
24
24
|
class: "pl-dropdown-multi__error"
|
|
25
|
-
},
|
|
25
|
+
}, Ae = {
|
|
26
26
|
key: 1,
|
|
27
27
|
class: "pl-dropdown-multi__helper"
|
|
28
|
-
},
|
|
28
|
+
}, Ee = {
|
|
29
29
|
name: "PlDropdownMulti"
|
|
30
|
-
},
|
|
31
|
-
...
|
|
30
|
+
}, He = /* @__PURE__ */ Y({
|
|
31
|
+
...Ee,
|
|
32
32
|
props: {
|
|
33
33
|
modelValue: { default: () => [] },
|
|
34
34
|
label: { default: void 0 },
|
|
@@ -41,159 +41,159 @@ const _e = ["tabindex"], we = { class: "pl-dropdown-multi__container" }, ye = {
|
|
|
41
41
|
groupPosition: { default: void 0 }
|
|
42
42
|
},
|
|
43
43
|
emits: ["update:modelValue"],
|
|
44
|
-
setup(
|
|
45
|
-
const z = T, $ = (e) => z("update:modelValue", e), U =
|
|
44
|
+
setup(a, { emit: T }) {
|
|
45
|
+
const z = T, $ = (e) => z("update:modelValue", e), U = Z(), i = a, f = P(), x = P(), _ = ee("overlay"), t = oe({
|
|
46
46
|
search: "",
|
|
47
47
|
activeOption: -1,
|
|
48
48
|
open: !1,
|
|
49
49
|
optionsHeight: 0
|
|
50
|
-
}), w =
|
|
50
|
+
}), w = d(() => Array.isArray(i.modelValue) ? i.modelValue : []), K = d(() => t.open && i.modelValue.length > 0 ? i.placeholder : i.modelValue.length > 0 ? "" : i.placeholder), A = d(() => de(i.options ?? [])), E = d(() => w.value.map((e) => A.value.find((l) => V(l.value, e))).filter((e) => e !== void 0)), g = d(() => {
|
|
51
51
|
const e = s(w), l = s(A);
|
|
52
52
|
return (t.search ? l.filter((o) => {
|
|
53
53
|
const n = t.search.toLowerCase();
|
|
54
54
|
return o.label.toLowerCase().includes(n) ? !0 : typeof o.value == "string" ? o.value.toLowerCase().includes(n) : o.value === t.search;
|
|
55
55
|
}) : [...l]).map((o) => ({
|
|
56
56
|
...o,
|
|
57
|
-
selected:
|
|
57
|
+
selected: B(e, o.value)
|
|
58
58
|
}));
|
|
59
|
-
}),
|
|
59
|
+
}), L = d(() => i.options === void 0), H = d(() => !i.disabled && L.value), k = d(() => L.value ? !0 : i.disabled), j = d(() => k.value ? void 0 : "0"), G = () => {
|
|
60
60
|
t.activeOption = 0;
|
|
61
|
-
},
|
|
61
|
+
}, M = (e) => {
|
|
62
62
|
var o;
|
|
63
63
|
const l = s(w);
|
|
64
|
-
$(
|
|
65
|
-
},
|
|
64
|
+
$(B(l, e) ? l.filter((n) => !V(n, e)) : [...l, e]), t.search = "", (o = f == null ? void 0 : f.value) == null || o.focus();
|
|
65
|
+
}, R = (e) => $(s(w).filter((l) => !V(l, e))), J = () => {
|
|
66
66
|
var e;
|
|
67
67
|
return (e = x.value) == null ? void 0 : e.focus();
|
|
68
|
-
},
|
|
68
|
+
}, Q = () => {
|
|
69
69
|
t.open = !t.open, t.open || (t.search = "");
|
|
70
|
-
},
|
|
70
|
+
}, D = (e) => {
|
|
71
71
|
var o, n, u;
|
|
72
72
|
const l = e.relatedTarget;
|
|
73
|
-
!((o =
|
|
74
|
-
},
|
|
75
|
-
var
|
|
73
|
+
!((o = f.value) != null && o.contains(l)) && !((u = (n = _.value) == null ? void 0 : n.listRef) != null && u.contains(l)) && (t.search = "", t.open = !1);
|
|
74
|
+
}, W = (e) => {
|
|
75
|
+
var F;
|
|
76
76
|
const { open: l, activeOption: o } = t;
|
|
77
77
|
if (!l) {
|
|
78
78
|
e.code === "Enter" && (t.open = !0);
|
|
79
79
|
return;
|
|
80
80
|
}
|
|
81
|
-
e.code === "Escape" && (t.open = !1, (
|
|
82
|
-
const n = s(
|
|
81
|
+
e.code === "Escape" && (t.open = !1, (F = f.value) == null || F.focus());
|
|
82
|
+
const n = s(g), { length: u } = n;
|
|
83
83
|
if (!u)
|
|
84
84
|
return;
|
|
85
|
-
["ArrowDown", "ArrowUp", "Enter"].includes(e.code) && e.preventDefault(), e.code === "Enter" &&
|
|
86
|
-
const
|
|
87
|
-
t.activeOption = Math.abs(o +
|
|
85
|
+
["ArrowDown", "ArrowUp", "Enter"].includes(e.code) && e.preventDefault(), e.code === "Enter" && M(n[o].value);
|
|
86
|
+
const X = e.code === "ArrowDown" ? 1 : e.code === "ArrowUp" ? -1 : 0;
|
|
87
|
+
t.activeOption = Math.abs(o + X + u) % u, requestAnimationFrame(() => {
|
|
88
88
|
var N;
|
|
89
89
|
return (N = _.value) == null ? void 0 : N.scrollIntoActive();
|
|
90
90
|
});
|
|
91
91
|
};
|
|
92
|
-
return
|
|
93
|
-
() =>
|
|
94
|
-
() =>
|
|
92
|
+
return fe(f), te(
|
|
93
|
+
() => i.modelValue,
|
|
94
|
+
() => G(),
|
|
95
95
|
{ immediate: !0 }
|
|
96
|
-
),
|
|
96
|
+
), le(() => {
|
|
97
97
|
var e;
|
|
98
98
|
t.search, t.open && ((e = _.value) == null || e.scrollIntoActive());
|
|
99
|
-
}), (e, l) => (r(),
|
|
99
|
+
}), (e, l) => (r(), c("div", {
|
|
100
100
|
class: "pl-dropdown-multi__envelope",
|
|
101
|
-
onClick:
|
|
101
|
+
onClick: J
|
|
102
102
|
}, [
|
|
103
|
-
|
|
103
|
+
p("div", {
|
|
104
104
|
ref_key: "rootRef",
|
|
105
|
-
ref:
|
|
106
|
-
tabindex:
|
|
107
|
-
class:
|
|
108
|
-
onKeydown:
|
|
109
|
-
onFocusout:
|
|
105
|
+
ref: f,
|
|
106
|
+
tabindex: j.value,
|
|
107
|
+
class: ne(["pl-dropdown-multi", { open: t.open, error: a.error, disabled: k.value }]),
|
|
108
|
+
onKeydown: W,
|
|
109
|
+
onFocusout: D
|
|
110
110
|
}, [
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
111
|
+
p("div", ye, [
|
|
112
|
+
p("div", ge, [
|
|
113
|
+
se(p("input", {
|
|
114
114
|
ref_key: "input",
|
|
115
115
|
ref: x,
|
|
116
116
|
"onUpdate:modelValue": l[0] || (l[0] = (o) => t.search = o),
|
|
117
117
|
type: "text",
|
|
118
118
|
tabindex: "-1",
|
|
119
|
-
disabled:
|
|
119
|
+
disabled: k.value,
|
|
120
120
|
placeholder: K.value,
|
|
121
121
|
spellcheck: "false",
|
|
122
122
|
autocomplete: "chrome-off",
|
|
123
123
|
onFocus: l[1] || (l[1] = (o) => t.open = !0)
|
|
124
124
|
}, null, 40, ke), [
|
|
125
|
-
[
|
|
125
|
+
[ie, t.search]
|
|
126
126
|
]),
|
|
127
|
-
t.open ? m("", !0) : (r(),
|
|
128
|
-
(r(!0),
|
|
127
|
+
t.open ? m("", !0) : (r(), c("div", be, [
|
|
128
|
+
(r(!0), c(b, null, C(E.value, (o, n) => (r(), v(s(I), {
|
|
129
129
|
key: n,
|
|
130
130
|
closeable: "",
|
|
131
131
|
small: "",
|
|
132
132
|
onClick: l[2] || (l[2] = O((u) => t.open = !0, ["stop"])),
|
|
133
|
-
onClose: (u) =>
|
|
133
|
+
onClose: (u) => R(o.value)
|
|
134
134
|
}, {
|
|
135
135
|
default: y(() => [
|
|
136
|
-
|
|
136
|
+
S(h(o.label || o.value), 1)
|
|
137
137
|
]),
|
|
138
138
|
_: 2
|
|
139
139
|
}, 1032, ["onClose"]))), 128))
|
|
140
140
|
])),
|
|
141
|
-
|
|
142
|
-
|
|
141
|
+
p("div", Ce, [
|
|
142
|
+
H.value ? (r(), v(s(ve), {
|
|
143
143
|
key: 0,
|
|
144
144
|
name: "loading"
|
|
145
145
|
})) : m("", !0),
|
|
146
|
-
|
|
147
|
-
|
|
146
|
+
q(e.$slots, "append"),
|
|
147
|
+
p("div", {
|
|
148
148
|
class: "pl-dropdown-multi__arrow-wrapper",
|
|
149
|
-
onClick: O(
|
|
149
|
+
onClick: O(Q, ["stop"])
|
|
150
150
|
}, [...l[3] || (l[3] = [
|
|
151
|
-
|
|
151
|
+
p("div", { class: "arrow-icon arrow-icon-default" }, null, -1)
|
|
152
152
|
])])
|
|
153
153
|
])
|
|
154
154
|
]),
|
|
155
|
-
|
|
156
|
-
|
|
155
|
+
a.label ? (r(), c("label", Oe, [
|
|
156
|
+
a.required ? (r(), v(s(he), {
|
|
157
157
|
key: 0,
|
|
158
|
-
uri: s(
|
|
158
|
+
uri: s(ae)
|
|
159
159
|
}, null, 8, ["uri"])) : m("", !0),
|
|
160
|
-
|
|
161
|
-
s(U).tooltip ? (r(), v(s(
|
|
160
|
+
p("span", null, h(a.label), 1),
|
|
161
|
+
s(U).tooltip ? (r(), v(s(_e), {
|
|
162
162
|
key: 1,
|
|
163
163
|
class: "info",
|
|
164
164
|
position: "top"
|
|
165
165
|
}, {
|
|
166
166
|
tooltip: y(() => [
|
|
167
|
-
|
|
167
|
+
q(e.$slots, "tooltip")
|
|
168
168
|
]),
|
|
169
169
|
_: 3
|
|
170
170
|
})) : m("", !0)
|
|
171
171
|
])) : m("", !0),
|
|
172
|
-
t.open ? (r(), v(
|
|
172
|
+
t.open ? (r(), v(pe, {
|
|
173
173
|
key: 1,
|
|
174
174
|
ref_key: "overlay",
|
|
175
175
|
ref: _,
|
|
176
|
-
root:
|
|
176
|
+
root: f.value,
|
|
177
177
|
class: "pl-dropdown-multi__options",
|
|
178
178
|
gap: 5,
|
|
179
179
|
tabindex: "-1",
|
|
180
|
-
onFocusout:
|
|
180
|
+
onFocusout: D
|
|
181
181
|
}, {
|
|
182
182
|
default: y(() => [
|
|
183
|
-
|
|
184
|
-
(r(!0),
|
|
183
|
+
p("div", Ve, [
|
|
184
|
+
(r(!0), c(b, null, C(E.value, (o, n) => (r(), v(s(I), {
|
|
185
185
|
key: n,
|
|
186
186
|
closeable: "",
|
|
187
187
|
small: "",
|
|
188
|
-
onClose: (u) =>
|
|
188
|
+
onClose: (u) => R(o.value)
|
|
189
189
|
}, {
|
|
190
190
|
default: y(() => [
|
|
191
|
-
|
|
191
|
+
S(h(o.label || o.value), 1)
|
|
192
192
|
]),
|
|
193
193
|
_: 2
|
|
194
194
|
}, 1032, ["onClose"]))), 128))
|
|
195
195
|
]),
|
|
196
|
-
(r(!0),
|
|
196
|
+
(r(!0), c(b, null, C(g.value, (o, n) => (r(), v(me, {
|
|
197
197
|
key: n,
|
|
198
198
|
option: o,
|
|
199
199
|
"text-item": "text",
|
|
@@ -201,23 +201,23 @@ const _e = ["tabindex"], we = { class: "pl-dropdown-multi__container" }, ye = {
|
|
|
201
201
|
"is-hovered": t.activeOption == n,
|
|
202
202
|
size: "medium",
|
|
203
203
|
"use-checkbox": "",
|
|
204
|
-
onClick: O((u) =>
|
|
204
|
+
onClick: O((u) => M(o.value), ["stop"])
|
|
205
205
|
}, null, 8, ["option", "is-selected", "is-hovered", "onClick"]))), 128)),
|
|
206
|
-
|
|
206
|
+
g.value.length ? m("", !0) : (r(), c("div", $e, "Nothing found"))
|
|
207
207
|
]),
|
|
208
208
|
_: 1
|
|
209
209
|
}, 8, ["root"])) : m("", !0),
|
|
210
|
-
|
|
210
|
+
re(ce, {
|
|
211
211
|
class: "pl-dropdown-multi__contour",
|
|
212
|
-
"group-position":
|
|
212
|
+
"group-position": a.groupPosition
|
|
213
213
|
}, null, 8, ["group-position"])
|
|
214
214
|
])
|
|
215
|
-
], 42,
|
|
216
|
-
|
|
215
|
+
], 42, we),
|
|
216
|
+
a.error ? (r(), c("div", xe, h(s(ue)(a.error)), 1)) : a.helper ? (r(), c("div", Ae, h(a.helper), 1)) : m("", !0)
|
|
217
217
|
]));
|
|
218
218
|
}
|
|
219
219
|
});
|
|
220
220
|
export {
|
|
221
|
-
|
|
221
|
+
He as default
|
|
222
222
|
};
|
|
223
223
|
//# sourceMappingURL=PlDropdownMulti.vue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlDropdownMulti.vue.js","sources":["../../../src/components/PlDropdownMulti/PlDropdownMulti.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * A component for selecting multiple values from a list of options\n */\nexport default {\n name: 'PlDropdownMulti',\n};\n</script>\n\n<script lang=\"ts\" setup generic=\"M = unknown\">\nimport { computed, reactive, ref, unref, useSlots, useTemplateRef, watch, watchPostEffect } from 'vue';\nimport SvgRequired from '../../assets/images/required.svg?raw';\nimport { getErrorMessage } from '../../helpers/error.ts';\nimport { deepEqual, deepIncludes } from '../../helpers/objects';\nimport { normalizeListOptions } from '../../helpers/utils';\nimport type { ListOption } from '../../types';\nimport DoubleContour from '../../utils/DoubleContour.vue';\nimport DropdownOverlay from '../../utils/DropdownOverlay/DropdownOverlay.vue';\nimport { useLabelNotch } from '../../utils/useLabelNotch';\nimport DropdownListItem from '../DropdownListItem.vue';\nimport { PlChip } from '../PlChip';\nimport { PlMaskIcon24 } from '../PlMaskIcon24';\nimport { PlSvg } from '../PlSvg';\nimport { PlTooltip } from '../PlTooltip';\nimport './pl-dropdown-multi.scss';\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', v: M[]): void;\n}>();\n\nconst emitModel = (v: M[]) => emit('update:modelValue', v);\n\nconst slots = useSlots();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * The current selected values.\n */\n modelValue: M[];\n /**\n * The label text for the dropdown field (optional)\n */\n label?: string;\n /**\n * List of available options for the dropdown\n */\n options?: Readonly<ListOption<M>[]>;\n /**\n * A helper text displayed below the dropdown when there are no errors (optional).\n */\n helper?: string;\n /**\n * Error message displayed below the dropdown (optional)\n */\n error?: unknown;\n /**\n * Placeholder text shown when no value is selected.\n */\n placeholder?: string;\n /**\n * If `true`, the dropdown component is marked as required.\n */\n required?: boolean;\n /**\n * If `true`, the dropdown component is disabled and cannot be interacted with.\n */\n disabled?: boolean;\n /**\n * Makes some of corners not rounded\n * */\n groupPosition?: 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'middle';\n }>(),\n {\n modelValue: () => [],\n label: undefined,\n helper: undefined,\n error: undefined,\n placeholder: '...',\n required: false,\n disabled: false,\n options: undefined,\n groupPosition: undefined,\n },\n);\n\nconst rootRef = ref<HTMLElement | undefined>();\nconst input = ref<HTMLInputElement | undefined>();\n\nconst overlay = useTemplateRef('overlay');\n\nconst data = reactive({\n search: '',\n activeOption: -1,\n open: false,\n optionsHeight: 0,\n});\n\nconst selectedValuesRef = computed(() => (Array.isArray(props.modelValue) ? props.modelValue : []));\n\nconst placeholderRef = computed(() => {\n if (data.open && props.modelValue.length > 0) {\n return props.placeholder;\n }\n\n return props.modelValue.length > 0 ? '' : props.placeholder;\n});\n\nconst normalizedOptionsRef = computed(() => normalizeListOptions(props.options ?? []));\n\nconst selectedOptionsRef = computed(() => {\n return selectedValuesRef.value.map((v) => normalizedOptionsRef.value.find((opt) => deepEqual(opt.value, v))).filter((v) => v !== undefined);\n});\n\nconst filteredOptionsRef = computed(() => {\n const selectedValues = unref(selectedValuesRef);\n\n const options = unref(normalizedOptionsRef);\n\n return (\n data.search\n ? options.filter((opt) => {\n const search = data.search.toLowerCase();\n\n if (opt.label.toLowerCase().includes(search)) {\n return true;\n }\n\n if (typeof opt.value === 'string') {\n return opt.value.toLowerCase().includes(search);\n }\n\n return opt.value === data.search;\n })\n : [...options]\n ).map((opt) => ({\n ...opt,\n selected: deepIncludes(selectedValues, opt.value),\n }));\n});\n\nconst isLoadingOptions = computed(() => {\n return props.options === undefined;\n});\n\nconst isDisabled = computed(() => {\n if (isLoadingOptions.value) {\n return true;\n }\n\n return props.disabled;\n});\n\nconst tabindex = computed(() => (isDisabled.value ? undefined : '0'));\n\nconst updateActiveOption = () => {\n data.activeOption = 0;\n};\n\nconst selectOption = (v: M) => {\n const values = unref(selectedValuesRef);\n emitModel(deepIncludes(values, v) ? values.filter((it) => !deepEqual(it, v)) : [...values, v]);\n data.search = '';\n rootRef?.value?.focus();\n};\n\nconst unselectOption = (d: M) => emitModel(unref(selectedValuesRef).filter((v) => !deepEqual(v, d)));\n\nconst setFocusOnInput = () => input.value?.focus();\n\nconst toggleModel = () => {\n data.open = !data.open;\n if (!data.open) {\n data.search = '';\n }\n};\n\nconst onFocusOut = (event: FocusEvent) => {\n const relatedTarget = event.relatedTarget as Node | null;\n\n if (!rootRef.value?.contains(relatedTarget) && !overlay.value?.listRef?.contains(relatedTarget)) {\n data.search = '';\n data.open = false;\n }\n};\n\nconst handleKeydown = (e: { code: string; preventDefault(): void }) => {\n const { open, activeOption } = data;\n\n if (!open) {\n if (e.code === 'Enter') {\n data.open = true;\n }\n return;\n }\n\n if (e.code === 'Escape') {\n data.open = false;\n rootRef.value?.focus();\n }\n\n const filteredOptions = unref(filteredOptionsRef);\n\n const { length } = filteredOptions;\n\n if (!length) {\n return;\n }\n\n if (['ArrowDown', 'ArrowUp', 'Enter'].includes(e.code)) {\n e.preventDefault();\n }\n\n if (e.code === 'Enter') {\n selectOption(filteredOptions[activeOption].value);\n }\n\n const d = e.code === 'ArrowDown' ? 1 : e.code === 'ArrowUp' ? -1 : 0;\n\n data.activeOption = Math.abs(activeOption + d + length) % length;\n\n requestAnimationFrame(() => overlay.value?.scrollIntoActive());\n};\n\nuseLabelNotch(rootRef);\n\nwatch(\n () => props.modelValue,\n () => updateActiveOption(),\n { immediate: true },\n);\n\nwatchPostEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n data.search;\n\n if (data.open) {\n overlay.value?.scrollIntoActive();\n }\n});\n</script>\n\n<template>\n <div class=\"pl-dropdown-multi__envelope\" @click=\"setFocusOnInput\">\n <div\n ref=\"rootRef\"\n :tabindex=\"tabindex\"\n class=\"pl-dropdown-multi\"\n :class=\"{ open: data.open, error, disabled: isDisabled }\"\n @keydown=\"handleKeydown\"\n @focusout=\"onFocusOut\"\n >\n <div class=\"pl-dropdown-multi__container\">\n <div class=\"pl-dropdown-multi__field\">\n <input\n ref=\"input\"\n v-model=\"data.search\"\n type=\"text\"\n tabindex=\"-1\"\n :disabled=\"isDisabled\"\n :placeholder=\"placeholderRef\"\n spellcheck=\"false\"\n autocomplete=\"chrome-off\"\n @focus=\"data.open = true\"\n />\n <div v-if=\"!data.open\" class=\"chips-container\">\n <PlChip v-for=\"(opt, i) in selectedOptionsRef\" :key=\"i\" closeable small @click.stop=\"data.open = true\" @close=\"unselectOption(opt.value)\">\n {{ opt.label || opt.value }}\n </PlChip>\n </div>\n\n <div class=\"pl-dropdown-multi__controls\">\n <PlMaskIcon24 v-if=\"isLoadingOptions\" name=\"loading\" />\n <slot name=\"append\" />\n <div class=\"pl-dropdown-multi__arrow-wrapper\" @click.stop=\"toggleModel\">\n <div class=\"arrow-icon arrow-icon-default\" />\n </div>\n </div>\n </div>\n <label v-if=\"label\">\n <PlSvg v-if=\"required\" :uri=\"SvgRequired\" />\n <span>{{ label }}</span>\n <PlTooltip v-if=\"slots.tooltip\" class=\"info\" position=\"top\">\n <template #tooltip>\n <slot name=\"tooltip\" />\n </template>\n </PlTooltip>\n </label>\n <DropdownOverlay\n v-if=\"data.open\"\n ref=\"overlay\"\n :root=\"rootRef\"\n class=\"pl-dropdown-multi__options\"\n :gap=\"5\"\n tabindex=\"-1\"\n @focusout=\"onFocusOut\"\n >\n <div class=\"pl-dropdown-multi__open-chips-container\">\n <PlChip v-for=\"(opt, i) in selectedOptionsRef\" :key=\"i\" closeable small @close=\"unselectOption(opt.value)\">\n {{ opt.label || opt.value }}\n </PlChip>\n </div>\n <DropdownListItem\n v-for=\"(item, index) in filteredOptionsRef\"\n :key=\"index\"\n :option=\"item\"\n :text-item=\"'text'\"\n :is-selected=\"item.selected\"\n :is-hovered=\"data.activeOption == index\"\n size=\"medium\"\n use-checkbox\n @click.stop=\"selectOption(item.value)\"\n />\n <div v-if=\"!filteredOptionsRef.length\" class=\"nothing-found\">Nothing found</div>\n </DropdownOverlay>\n <DoubleContour class=\"pl-dropdown-multi__contour\" :group-position=\"groupPosition\" />\n </div>\n </div>\n <div v-if=\"error\" class=\"pl-dropdown-multi__error\">{{ getErrorMessage(error) }}</div>\n <div v-else-if=\"helper\" class=\"pl-dropdown-multi__helper\">{{ helper }}</div>\n </div>\n</template>\n"],"names":["__default__","emit","__emit","emitModel","v","slots","useSlots","props","__props","rootRef","ref","input","overlay","useTemplateRef","data","reactive","selectedValuesRef","computed","placeholderRef","normalizedOptionsRef","normalizeListOptions","selectedOptionsRef","opt","deepEqual","filteredOptionsRef","selectedValues","unref","options","search","deepIncludes","isLoadingOptions","isDisabled","tabindex","updateActiveOption","selectOption","values","it","_a","unselectOption","d","setFocusOnInput","toggleModel","onFocusOut","event","relatedTarget","_c","_b","handleKeydown","open","activeOption","filteredOptions","length","useLabelNotch","watch","watchPostEffect","_createElementBlock","_createElementVNode","_normalizeClass","_hoisted_2","_hoisted_3","_cache","$event","_vModelText","_openBlock","_hoisted_5","_Fragment","_renderList","i","_createBlock","_unref","PlChip","_withModifiers","_createTextVNode","_toDisplayString","_hoisted_6","PlMaskIcon24","_renderSlot","_ctx","_hoisted_7","PlSvg","SvgRequired","PlTooltip","DropdownOverlay","_hoisted_8","item","index","DropdownListItem","_hoisted_9","_createVNode","DoubleContour","_hoisted_10","getErrorMessage","_hoisted_11"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PlDropdownMulti.vue.js","sources":["../../../src/components/PlDropdownMulti/PlDropdownMulti.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * A component for selecting multiple values from a list of options\n */\nexport default {\n name: 'PlDropdownMulti',\n};\n</script>\n\n<script lang=\"ts\" setup generic=\"M = unknown\">\nimport { computed, reactive, ref, unref, useSlots, useTemplateRef, watch, watchPostEffect } from 'vue';\nimport SvgRequired from '../../assets/images/required.svg?raw';\nimport { getErrorMessage } from '../../helpers/error.ts';\nimport { deepEqual, deepIncludes } from '../../helpers/objects';\nimport { normalizeListOptions } from '../../helpers/utils';\nimport type { ListOption } from '../../types';\nimport DoubleContour from '../../utils/DoubleContour.vue';\nimport DropdownOverlay from '../../utils/DropdownOverlay/DropdownOverlay.vue';\nimport { useLabelNotch } from '../../utils/useLabelNotch';\nimport DropdownListItem from '../DropdownListItem.vue';\nimport { PlChip } from '../PlChip';\nimport { PlIcon24 } from '../PlIcon24';\nimport { PlSvg } from '../PlSvg';\nimport { PlTooltip } from '../PlTooltip';\nimport './pl-dropdown-multi.scss';\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', v: M[]): void;\n}>();\n\nconst emitModel = (v: M[]) => emit('update:modelValue', v);\n\nconst slots = useSlots();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * The current selected values.\n */\n modelValue: M[];\n /**\n * The label text for the dropdown field (optional)\n */\n label?: string;\n /**\n * List of available options for the dropdown\n */\n options?: Readonly<ListOption<M>[]>;\n /**\n * A helper text displayed below the dropdown when there are no errors (optional).\n */\n helper?: string;\n /**\n * Error message displayed below the dropdown (optional)\n */\n error?: unknown;\n /**\n * Placeholder text shown when no value is selected.\n */\n placeholder?: string;\n /**\n * If `true`, the dropdown component is marked as required.\n */\n required?: boolean;\n /**\n * If `true`, the dropdown component is disabled and cannot be interacted with.\n */\n disabled?: boolean;\n /**\n * Makes some of corners not rounded\n * */\n groupPosition?: 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'middle';\n }>(),\n {\n modelValue: () => [],\n label: undefined,\n helper: undefined,\n error: undefined,\n placeholder: '...',\n required: false,\n disabled: false,\n options: undefined,\n groupPosition: undefined,\n },\n);\n\nconst rootRef = ref<HTMLElement | undefined>();\nconst input = ref<HTMLInputElement | undefined>();\n\nconst overlay = useTemplateRef('overlay');\n\nconst data = reactive({\n search: '',\n activeOption: -1,\n open: false,\n optionsHeight: 0,\n});\n\nconst selectedValuesRef = computed(() => (Array.isArray(props.modelValue) ? props.modelValue : []));\n\nconst placeholderRef = computed(() => {\n if (data.open && props.modelValue.length > 0) {\n return props.placeholder;\n }\n\n return props.modelValue.length > 0 ? '' : props.placeholder;\n});\n\nconst normalizedOptionsRef = computed(() => normalizeListOptions(props.options ?? []));\n\nconst selectedOptionsRef = computed(() => {\n return selectedValuesRef.value.map((v) => normalizedOptionsRef.value.find((opt) => deepEqual(opt.value, v))).filter((v) => v !== undefined);\n});\n\nconst filteredOptionsRef = computed(() => {\n const selectedValues = unref(selectedValuesRef);\n\n const options = unref(normalizedOptionsRef);\n\n return (\n data.search\n ? options.filter((opt) => {\n const search = data.search.toLowerCase();\n\n if (opt.label.toLowerCase().includes(search)) {\n return true;\n }\n\n if (typeof opt.value === 'string') {\n return opt.value.toLowerCase().includes(search);\n }\n\n return opt.value === data.search;\n })\n : [...options]\n ).map((opt) => ({\n ...opt,\n selected: deepIncludes(selectedValues, opt.value),\n }));\n});\n\nconst isLoadingOptions = computed(() => {\n return props.options === undefined;\n});\n\nconst showLoadingSpinner = computed(() => {\n return !props.disabled && isLoadingOptions.value;\n});\n\nconst isDisabled = computed(() => {\n if (isLoadingOptions.value) {\n return true;\n }\n\n return props.disabled;\n});\n\nconst tabindex = computed(() => (isDisabled.value ? undefined : '0'));\n\nconst updateActiveOption = () => {\n data.activeOption = 0;\n};\n\nconst selectOption = (v: M) => {\n const values = unref(selectedValuesRef);\n emitModel(deepIncludes(values, v) ? values.filter((it) => !deepEqual(it, v)) : [...values, v]);\n data.search = '';\n rootRef?.value?.focus();\n};\n\nconst unselectOption = (d: M) => emitModel(unref(selectedValuesRef).filter((v) => !deepEqual(v, d)));\n\nconst setFocusOnInput = () => input.value?.focus();\n\nconst toggleModel = () => {\n data.open = !data.open;\n if (!data.open) {\n data.search = '';\n }\n};\n\nconst onFocusOut = (event: FocusEvent) => {\n const relatedTarget = event.relatedTarget as Node | null;\n\n if (!rootRef.value?.contains(relatedTarget) && !overlay.value?.listRef?.contains(relatedTarget)) {\n data.search = '';\n data.open = false;\n }\n};\n\nconst handleKeydown = (e: { code: string; preventDefault(): void }) => {\n const { open, activeOption } = data;\n\n if (!open) {\n if (e.code === 'Enter') {\n data.open = true;\n }\n return;\n }\n\n if (e.code === 'Escape') {\n data.open = false;\n rootRef.value?.focus();\n }\n\n const filteredOptions = unref(filteredOptionsRef);\n\n const { length } = filteredOptions;\n\n if (!length) {\n return;\n }\n\n if (['ArrowDown', 'ArrowUp', 'Enter'].includes(e.code)) {\n e.preventDefault();\n }\n\n if (e.code === 'Enter') {\n selectOption(filteredOptions[activeOption].value);\n }\n\n const d = e.code === 'ArrowDown' ? 1 : e.code === 'ArrowUp' ? -1 : 0;\n\n data.activeOption = Math.abs(activeOption + d + length) % length;\n\n requestAnimationFrame(() => overlay.value?.scrollIntoActive());\n};\n\nuseLabelNotch(rootRef);\n\nwatch(\n () => props.modelValue,\n () => updateActiveOption(),\n { immediate: true },\n);\n\nwatchPostEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n data.search;\n\n if (data.open) {\n overlay.value?.scrollIntoActive();\n }\n});\n</script>\n\n<template>\n <div class=\"pl-dropdown-multi__envelope\" @click=\"setFocusOnInput\">\n <div\n ref=\"rootRef\"\n :tabindex=\"tabindex\"\n class=\"pl-dropdown-multi\"\n :class=\"{ open: data.open, error, disabled: isDisabled }\"\n @keydown=\"handleKeydown\"\n @focusout=\"onFocusOut\"\n >\n <div class=\"pl-dropdown-multi__container\">\n <div class=\"pl-dropdown-multi__field\">\n <input\n ref=\"input\"\n v-model=\"data.search\"\n type=\"text\"\n tabindex=\"-1\"\n :disabled=\"isDisabled\"\n :placeholder=\"placeholderRef\"\n spellcheck=\"false\"\n autocomplete=\"chrome-off\"\n @focus=\"data.open = true\"\n />\n <div v-if=\"!data.open\" class=\"chips-container\">\n <PlChip v-for=\"(opt, i) in selectedOptionsRef\" :key=\"i\" closeable small @click.stop=\"data.open = true\" @close=\"unselectOption(opt.value)\">\n {{ opt.label || opt.value }}\n </PlChip>\n </div>\n\n <div class=\"pl-dropdown-multi__controls\">\n <PlIcon24 v-if=\"showLoadingSpinner\" name=\"loading\" />\n <slot name=\"append\" />\n <div class=\"pl-dropdown-multi__arrow-wrapper\" @click.stop=\"toggleModel\">\n <div class=\"arrow-icon arrow-icon-default\" />\n </div>\n </div>\n </div>\n <label v-if=\"label\">\n <PlSvg v-if=\"required\" :uri=\"SvgRequired\" />\n <span>{{ label }}</span>\n <PlTooltip v-if=\"slots.tooltip\" class=\"info\" position=\"top\">\n <template #tooltip>\n <slot name=\"tooltip\" />\n </template>\n </PlTooltip>\n </label>\n <DropdownOverlay\n v-if=\"data.open\"\n ref=\"overlay\"\n :root=\"rootRef\"\n class=\"pl-dropdown-multi__options\"\n :gap=\"5\"\n tabindex=\"-1\"\n @focusout=\"onFocusOut\"\n >\n <div class=\"pl-dropdown-multi__open-chips-container\">\n <PlChip v-for=\"(opt, i) in selectedOptionsRef\" :key=\"i\" closeable small @close=\"unselectOption(opt.value)\">\n {{ opt.label || opt.value }}\n </PlChip>\n </div>\n <DropdownListItem\n v-for=\"(item, index) in filteredOptionsRef\"\n :key=\"index\"\n :option=\"item\"\n :text-item=\"'text'\"\n :is-selected=\"item.selected\"\n :is-hovered=\"data.activeOption == index\"\n size=\"medium\"\n use-checkbox\n @click.stop=\"selectOption(item.value)\"\n />\n <div v-if=\"!filteredOptionsRef.length\" class=\"nothing-found\">Nothing found</div>\n </DropdownOverlay>\n <DoubleContour class=\"pl-dropdown-multi__contour\" :group-position=\"groupPosition\" />\n </div>\n </div>\n <div v-if=\"error\" class=\"pl-dropdown-multi__error\">{{ getErrorMessage(error) }}</div>\n <div v-else-if=\"helper\" class=\"pl-dropdown-multi__helper\">{{ helper }}</div>\n </div>\n</template>\n"],"names":["__default__","emit","__emit","emitModel","v","slots","useSlots","props","__props","rootRef","ref","input","overlay","useTemplateRef","data","reactive","selectedValuesRef","computed","placeholderRef","normalizedOptionsRef","normalizeListOptions","selectedOptionsRef","opt","deepEqual","filteredOptionsRef","selectedValues","unref","options","search","deepIncludes","isLoadingOptions","showLoadingSpinner","isDisabled","tabindex","updateActiveOption","selectOption","values","it","_a","unselectOption","d","setFocusOnInput","toggleModel","onFocusOut","event","relatedTarget","_c","_b","handleKeydown","open","activeOption","filteredOptions","length","useLabelNotch","watch","watchPostEffect","_createElementBlock","_createElementVNode","_normalizeClass","_hoisted_2","_hoisted_3","_cache","$event","_vModelText","_openBlock","_hoisted_5","_Fragment","_renderList","i","_createBlock","_unref","PlChip","_withModifiers","_createTextVNode","_toDisplayString","_hoisted_6","PlIcon24","_renderSlot","_ctx","_hoisted_7","PlSvg","SvgRequired","PlTooltip","DropdownOverlay","_hoisted_8","item","index","DropdownListItem","_hoisted_9","_createVNode","DoubleContour","_hoisted_10","getErrorMessage","_hoisted_11"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@milaboratories/uikit",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"exports": {
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
"d3-axis": "^3.0.0",
|
|
33
33
|
"resize-observer-polyfill": "^1.5.1",
|
|
34
34
|
"canonicalize": "~2.1.0",
|
|
35
|
-
"@
|
|
36
|
-
"@
|
|
35
|
+
"@milaboratories/helpers": "1.13.0",
|
|
36
|
+
"@platforma-sdk/model": "1.51.6"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"jsdom": "^25.0.1",
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
"svgo": "^3.3.2",
|
|
45
45
|
"typescript": "~5.6.3",
|
|
46
46
|
"@milaboratories/ts-configs": "1.2.0",
|
|
47
|
-
"@milaboratories/build-configs": "1.2.2",
|
|
48
47
|
"@milaboratories/ts-builder": "1.2.2",
|
|
49
|
-
"@milaboratories/eslint-config": "1.0.5"
|
|
48
|
+
"@milaboratories/eslint-config": "1.0.5",
|
|
49
|
+
"@milaboratories/build-configs": "1.2.2"
|
|
50
50
|
},
|
|
51
51
|
"scripts": {
|
|
52
52
|
"dev": "ts-builder serve --target browser-lib --build-config ./build.browser-lib.config.js",
|
|
@@ -19,7 +19,7 @@ import DropdownOverlay from '../../utils/DropdownOverlay/DropdownOverlay.vue';
|
|
|
19
19
|
import { useLabelNotch } from '../../utils/useLabelNotch';
|
|
20
20
|
import DropdownListItem from '../DropdownListItem.vue';
|
|
21
21
|
import { PlChip } from '../PlChip';
|
|
22
|
-
import {
|
|
22
|
+
import { PlIcon24 } from '../PlIcon24';
|
|
23
23
|
import { PlSvg } from '../PlSvg';
|
|
24
24
|
import { PlTooltip } from '../PlTooltip';
|
|
25
25
|
import './pl-dropdown-multi.scss';
|
|
@@ -143,6 +143,10 @@ const isLoadingOptions = computed(() => {
|
|
|
143
143
|
return props.options === undefined;
|
|
144
144
|
});
|
|
145
145
|
|
|
146
|
+
const showLoadingSpinner = computed(() => {
|
|
147
|
+
return !props.disabled && isLoadingOptions.value;
|
|
148
|
+
});
|
|
149
|
+
|
|
146
150
|
const isDisabled = computed(() => {
|
|
147
151
|
if (isLoadingOptions.value) {
|
|
148
152
|
return true;
|
|
@@ -270,7 +274,7 @@ watchPostEffect(() => {
|
|
|
270
274
|
</div>
|
|
271
275
|
|
|
272
276
|
<div class="pl-dropdown-multi__controls">
|
|
273
|
-
<
|
|
277
|
+
<PlIcon24 v-if="showLoadingSpinner" name="loading" />
|
|
274
278
|
<slot name="append" />
|
|
275
279
|
<div class="pl-dropdown-multi__arrow-wrapper" @click.stop="toggleModel">
|
|
276
280
|
<div class="arrow-icon arrow-icon-default" />
|