@milaboratories/uikit 2.3.11 → 2.3.12
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 +20 -20
- package/.turbo/turbo-type-check.log +1 -1
- package/CHANGELOG.md +6 -0
- package/dist/components/PlSvg/registry.d.ts.map +1 -1
- package/dist/components/PlSvg/registry.js +26 -28
- package/dist/components/PlSvg/registry.js.map +1 -1
- package/dist/composition/computedCached.d.ts +4 -5
- package/dist/composition/computedCached.d.ts.map +1 -1
- package/dist/composition/computedCached.js +13 -14
- package/dist/composition/computedCached.js.map +1 -1
- package/dist/composition/watchCached.d.ts +1 -1
- package/dist/composition/watchCached.d.ts.map +1 -1
- package/dist/composition/watchCached.js +12 -12
- package/dist/composition/watchCached.js.map +1 -1
- package/package.json +5 -5
- package/src/components/PlSvg/registry.ts +10 -12
- package/src/composition/computedCached.ts +18 -16
- package/src/composition/watchCached.ts +9 -6
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.3.
|
|
3
|
+
> @milaboratories/uikit@2.3.12 build /home/runner/_work/platforma/platforma/lib/ui/uikit
|
|
4
4
|
> vite build
|
|
5
5
|
|
|
6
6
|
[36mvite v6.3.5 [32mbuilding for production...[36m[39m
|
|
@@ -14,8 +14,8 @@ computing gzip size...
|
|
|
14
14
|
[2mdist/[22m[36m_virtual/stringify2.js [39m[1m[2m 0.09 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
15
15
|
[2mdist/[22m[36mnode_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/number.js [39m[1m[2m 0.09 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.33 kB[22m
|
|
16
16
|
[2mdist/[22m[36mcomponents/PlTabs/Tab.vue2.js [39m[1m[2m 0.09 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.09 kB[22m
|
|
17
|
-
[2mdist/[22m[36mnode_modules/.pnpm/d3-axis@3.0.0/node_modules/d3-axis/src/identity.js [39m[1m[2m 0.09 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.32 kB[22m
|
|
18
17
|
[2mdist/[22m[36mnode_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/identity.js [39m[1m[2m 0.09 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.33 kB[22m
|
|
18
|
+
[2mdist/[22m[36mnode_modules/.pnpm/d3-axis@3.0.0/node_modules/d3-axis/src/identity.js [39m[1m[2m 0.09 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.32 kB[22m
|
|
19
19
|
[2mdist/[22m[36mnode_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/identity.js [39m[1m[2m 0.09 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.32 kB[22m
|
|
20
20
|
[2mdist/[22m[36mcomponents/PlTooltip/global.js [39m[1m[2m 0.10 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.22 kB[22m
|
|
21
21
|
[2mdist/[22m[36mnode_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/array.js [39m[1m[2m 0.10 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.36 kB[22m
|
|
@@ -35,8 +35,8 @@ computing gzip size...
|
|
|
35
35
|
[2mdist/[22m[36mcomponents/PlAlert/PlAlert.vue2.js [39m[1m[2m 0.10 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
36
36
|
[2mdist/[22m[36mcomponents/VScroll.vue2.js [39m[1m[2m 0.10 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
37
37
|
[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
|
|
38
|
-
[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
|
|
39
38
|
[2mdist/[22m[36mbase/BtnBase.vue2.js [39m[1m[2m 0.10 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
39
|
+
[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
|
|
40
40
|
[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
|
|
41
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
42
|
[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
|
|
@@ -46,41 +46,41 @@ computing gzip size...
|
|
|
46
46
|
[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
|
|
47
47
|
[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
|
|
48
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/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
|
|
50
49
|
[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
50
|
[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
|
|
52
51
|
[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
|
|
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/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
|
|
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[36mutils/DoubleContour.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.43 kB[22m
|
|
56
56
|
[2mdist/[22m[36mgenerated/components/svg/images/SvgRequired.vue3.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 1.02 kB[22m
|
|
57
57
|
[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
|
|
58
58
|
[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
|
|
59
|
-
[2mdist/[22m[36mlayout/PlBlockPage/PlBlockPage.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
60
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
|
|
61
|
-
[2mdist/[22m[
|
|
60
|
+
[2mdist/[22m[36mlayout/PlBlockPage/PlBlockPage.vue2.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.11 kB[22m[2m │ map: 0.10 kB[22m
|
|
62
61
|
[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
|
|
62
|
+
[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
|
|
63
63
|
[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
|
|
64
|
-
[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
|
|
65
|
-
[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
|
|
66
64
|
[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
|
|
65
|
+
[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
|
|
66
|
+
[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
|
|
67
67
|
[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
|
|
68
68
|
[2mdist/[22m[36mnode_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/sparse.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.39 kB[22m
|
|
69
69
|
[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
|
|
70
|
-
[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
|
|
71
70
|
[2mdist/[22m[36mcomponents/PlSlideModal/PlSlideModal.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/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
|
|
72
72
|
[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
|
|
73
73
|
[2mdist/[22m[36mnode_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/number.js [39m[1m[2m 0.11 kB[22m[1m[22m[2m │ gzip: 0.12 kB[22m[2m │ map: 0.78 kB[22m
|
|
74
74
|
[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
|
|
75
|
-
[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
|
|
76
75
|
[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
|
|
77
76
|
[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
|
|
77
|
+
[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
|
|
78
78
|
[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
|
|
79
79
|
[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
|
|
80
80
|
[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
|
|
81
81
|
[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
|
|
82
|
-
[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
|
|
83
82
|
[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
|
|
83
|
+
[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
|
|
84
84
|
[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
|
|
85
85
|
[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
|
|
86
86
|
[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
|
|
@@ -230,9 +230,9 @@ computing gzip size...
|
|
|
230
230
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_text-align-right.svg.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.25 kB[22m[2m │ map: 0.50 kB[22m
|
|
231
231
|
[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
|
|
232
232
|
[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
|
|
233
|
+
[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
|
|
233
234
|
[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
|
|
234
235
|
[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
|
|
235
|
-
[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
|
|
236
236
|
[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
|
|
237
237
|
[2mdist/[22m[36m_virtual/canonicalize.js [39m[1m[2m 0.30 kB[22m[1m[22m[2m │ gzip: 0.22 kB[22m[2m │ map: 0.10 kB[22m
|
|
238
238
|
[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
|
|
@@ -360,8 +360,8 @@ computing gzip size...
|
|
|
360
360
|
[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
|
|
361
361
|
[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
|
|
362
362
|
[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
|
|
363
|
-
[2mdist/[22m[36massets/images/24_checkbox-light-enabled-checked.svg.js [39m[1m[2m 0.45 kB[22m[1m[22m[2m │ gzip: 0.33 kB[22m[2m │ map: 0.71 kB[22m
|
|
364
363
|
[2mdist/[22m[36mcomponents/PlChartStackedBar/PlChartStackedBarCompact.vue3.js [39m[1m[2m 0.45 kB[22m[1m[22m[2m │ gzip: 0.32 kB[22m[2m │ map: 0.12 kB[22m
|
|
364
|
+
[2mdist/[22m[36massets/images/24_checkbox-light-enabled-checked.svg.js [39m[1m[2m 0.45 kB[22m[1m[22m[2m │ gzip: 0.33 kB[22m[2m │ map: 0.71 kB[22m
|
|
365
365
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_frame-type-all.svg.js [39m[1m[2m 0.46 kB[22m[1m[22m[2m │ gzip: 0.31 kB[22m[2m │ map: 0.65 kB[22m
|
|
366
366
|
[2mdist/[22m[36massets/icons/icon-assets-min/16_delete-bin.svg.js [39m[1m[2m 0.46 kB[22m[1m[22m[2m │ gzip: 0.32 kB[22m[2m │ map: 0.64 kB[22m
|
|
367
367
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_frame-type-left-bottom.svg.js [39m[1m[2m 0.46 kB[22m[1m[22m[2m │ gzip: 0.30 kB[22m[2m │ map: 0.67 kB[22m
|
|
@@ -415,8 +415,8 @@ computing gzip size...
|
|
|
415
415
|
[2mdist/[22m[36mnode_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/filter.js [39m[1m[2m 0.53 kB[22m[1m[22m[2m │ gzip: 0.35 kB[22m[2m │ map: 1.42 kB[22m
|
|
416
416
|
[2mdist/[22m[36mutils/PlCloseModalBtn.vue.js [39m[1m[2m 0.53 kB[22m[1m[22m[2m │ gzip: 0.36 kB[22m[2m │ map: 0.85 kB[22m
|
|
417
417
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_warning.svg.js [39m[1m[2m 0.53 kB[22m[1m[22m[2m │ gzip: 0.37 kB[22m[2m │ map: 0.71 kB[22m
|
|
418
|
-
[2mdist/[22m[36massets/icons/icon-assets-min/24_info-outline.svg.js [39m[1m[2m 0.54 kB[22m[1m[22m[2m │ gzip: 0.36 kB[22m[2m │ map: 0.72 kB[22m
|
|
419
418
|
[2mdist/[22m[36mcomponents/DataTable/composition/useColumn.js [39m[1m[2m 0.54 kB[22m[1m[22m[2m │ gzip: 0.31 kB[22m[2m │ map: 1.45 kB[22m
|
|
419
|
+
[2mdist/[22m[36massets/icons/icon-assets-min/24_info-outline.svg.js [39m[1m[2m 0.54 kB[22m[1m[22m[2m │ gzip: 0.36 kB[22m[2m │ map: 0.72 kB[22m
|
|
420
420
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_align-center.svg.js [39m[1m[2m 0.54 kB[22m[1m[22m[2m │ gzip: 0.31 kB[22m[2m │ map: 0.75 kB[22m
|
|
421
421
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_table-alias.svg.js [39m[1m[2m 0.54 kB[22m[1m[22m[2m │ gzip: 0.34 kB[22m[2m │ map: 0.72 kB[22m
|
|
422
422
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_box.svg.js [39m[1m[2m 0.54 kB[22m[1m[22m[2m │ gzip: 0.34 kB[22m[2m │ map: 0.71 kB[22m
|
|
@@ -429,11 +429,11 @@ computing gzip size...
|
|
|
429
429
|
[2mdist/[22m[36mnode_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/interrupt.js [39m[1m[2m 0.55 kB[22m[1m[22m[2m │ gzip: 0.35 kB[22m[2m │ map: 1.53 kB[22m
|
|
430
430
|
[2mdist/[22m[36mutils/DoubleContour.vue.js [39m[1m[2m 0.55 kB[22m[1m[22m[2m │ gzip: 0.37 kB[22m[2m │ map: 0.70 kB[22m
|
|
431
431
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_paper-clip.svg.js [39m[1m[2m 0.55 kB[22m[1m[22m[2m │ gzip: 0.33 kB[22m[2m │ map: 0.73 kB[22m
|
|
432
|
-
[2mdist/[22m[36mcomposition/computedCached.js [39m[1m[2m 0.55 kB[22m[1m[22m[2m │ gzip: 0.32 kB[22m[2m │ map: 2.15 kB[22m
|
|
433
432
|
[2mdist/[22m[36massets/icons/icon-assets-min/16_paper-clip.svg.js [39m[1m[2m 0.55 kB[22m[1m[22m[2m │ gzip: 0.35 kB[22m[2m │ map: 0.73 kB[22m
|
|
434
433
|
[2mdist/[22m[36mnode_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/sort.js [39m[1m[2m 0.55 kB[22m[1m[22m[2m │ gzip: 0.36 kB[22m[2m │ map: 1.72 kB[22m
|
|
435
434
|
[2mdist/[22m[36mnode_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/selectAll.js [39m[1m[2m 0.55 kB[22m[1m[22m[2m │ gzip: 0.34 kB[22m[2m │ map: 1.68 kB[22m
|
|
436
435
|
[2mdist/[22m[36mnode_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/interpolate.js [39m[1m[2m 0.56 kB[22m[1m[22m[2m │ gzip: 0.26 kB[22m[2m │ map: 0.88 kB[22m
|
|
436
|
+
[2mdist/[22m[36mcomposition/computedCached.js [39m[1m[2m 0.56 kB[22m[1m[22m[2m │ gzip: 0.33 kB[22m[2m │ map: 2.39 kB[22m
|
|
437
437
|
[2mdist/[22m[36massets/icons/icon-assets-min/16_settings.svg.js [39m[1m[2m 0.56 kB[22m[1m[22m[2m │ gzip: 0.33 kB[22m[2m │ map: 0.74 kB[22m
|
|
438
438
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_frame-type-none.svg.js [39m[1m[2m 0.56 kB[22m[1m[22m[2m │ gzip: 0.27 kB[22m[2m │ map: 0.75 kB[22m
|
|
439
439
|
[2mdist/[22m[36mcomponents/DataTable/ColumnCaret.vue.js [39m[1m[2m 0.56 kB[22m[1m[22m[2m │ gzip: 0.37 kB[22m[2m │ map: 0.78 kB[22m
|
|
@@ -535,13 +535,13 @@ computing gzip size...
|
|
|
535
535
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_color.svg.js [39m[1m[2m 0.81 kB[22m[1m[22m[2m │ gzip: 0.44 kB[22m[2m │ map: 1.02 kB[22m
|
|
536
536
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_show.svg.js [39m[1m[2m 0.81 kB[22m[1m[22m[2m │ gzip: 0.49 kB[22m[2m │ map: 0.99 kB[22m
|
|
537
537
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_cloud-offline.svg.js [39m[1m[2m 0.81 kB[22m[1m[22m[2m │ gzip: 0.51 kB[22m[2m │ map: 1.01 kB[22m
|
|
538
|
+
[2mdist/[22m[36mcomposition/watchCached.js [39m[1m[2m 0.81 kB[22m[1m[22m[2m │ gzip: 0.45 kB[22m[2m │ map: 2.45 kB[22m
|
|
538
539
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_cookie.svg.js [39m[1m[2m 0.82 kB[22m[1m[22m[2m │ gzip: 0.48 kB[22m[2m │ map: 0.99 kB[22m
|
|
539
540
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_bar-cross.svg.js [39m[1m[2m 0.82 kB[22m[1m[22m[2m │ gzip: 0.37 kB[22m[2m │ map: 1.07 kB[22m
|
|
540
541
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_view-hide.svg.js [39m[1m[2m 0.83 kB[22m[1m[22m[2m │ gzip: 0.51 kB[22m[2m │ map: 1.01 kB[22m
|
|
541
542
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_rotation-45.svg.js [39m[1m[2m 0.83 kB[22m[1m[22m[2m │ gzip: 0.49 kB[22m[2m │ map: 1.01 kB[22m
|
|
542
543
|
[2mdist/[22m[36mcomponents/TabItem.vue.js [39m[1m[2m 0.84 kB[22m[1m[22m[2m │ gzip: 0.48 kB[22m[2m │ map: 1.25 kB[22m
|
|
543
544
|
[2mdist/[22m[36mcomponents/PlFileDialog/remote.js [39m[1m[2m 0.84 kB[22m[1m[22m[2m │ gzip: 0.48 kB[22m[2m │ map: 2.26 kB[22m
|
|
544
|
-
[2mdist/[22m[36mcomposition/watchCached.js [39m[1m[2m 0.85 kB[22m[1m[22m[2m │ gzip: 0.45 kB[22m[2m │ map: 2.11 kB[22m
|
|
545
545
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_skatterplot.svg.js [39m[1m[2m 0.85 kB[22m[1m[22m[2m │ gzip: 0.37 kB[22m[2m │ map: 1.06 kB[22m
|
|
546
546
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_boxplot-jitter.svg.js [39m[1m[2m 0.85 kB[22m[1m[22m[2m │ gzip: 0.38 kB[22m[2m │ map: 1.06 kB[22m
|
|
547
547
|
[2mdist/[22m[36mcomponents/DataTable/index.js [39m[1m[2m 0.88 kB[22m[1m[22m[2m │ gzip: 0.41 kB[22m[2m │ map: 2.81 kB[22m
|
|
@@ -562,8 +562,8 @@ computing gzip size...
|
|
|
562
562
|
[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
|
|
563
563
|
[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
|
|
564
564
|
[2mdist/[22m[36mlayout/PlRow/PlRow.vue.js [39m[1m[2m 0.94 kB[22m[1m[22m[2m │ gzip: 0.56 kB[22m[2m │ map: 0.61 kB[22m
|
|
565
|
-
[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.55 kB[22m
|
|
566
565
|
[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.26 kB[22m
|
|
566
|
+
[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.55 kB[22m
|
|
567
567
|
[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
|
|
568
568
|
[2mdist/[22m[36mcomponents/PlAccordion/PlAccordionSection.vue3.js [39m[1m[2m 0.95 kB[22m[1m[22m[2m │ gzip: 0.53 kB[22m[2m │ map: 0.11 kB[22m
|
|
569
569
|
[2mdist/[22m[36mnode_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/bisector.js [39m[1m[2m 0.96 kB[22m[1m[22m[2m │ gzip: 0.40 kB[22m[2m │ map: 3.13 kB[22m
|
|
@@ -674,7 +674,6 @@ computing gzip size...
|
|
|
674
674
|
[2mdist/[22m[36mcomponents/DropdownListItem.vue.js [39m[1m[2m 1.89 kB[22m[1m[22m[2m │ gzip: 0.77 kB[22m[2m │ map: 2.72 kB[22m
|
|
675
675
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_pen-tool.svg.js [39m[1m[2m 1.94 kB[22m[1m[22m[2m │ gzip: 1.00 kB[22m[2m │ map: 2.11 kB[22m
|
|
676
676
|
[2mdist/[22m[36massets/icons/icon-assets-min/16_sorter.svg.js [39m[1m[2m 1.96 kB[22m[1m[22m[2m │ gzip: 0.51 kB[22m[2m │ map: 2.19 kB[22m
|
|
677
|
-
[2mdist/[22m[36mcomponents/PlSvg/registry.js [39m[1m[2m 1.98 kB[22m[1m[22m[2m │ gzip: 0.96 kB[22m[2m │ map: 5.37 kB[22m
|
|
678
677
|
[2mdist/[22m[36mcomponents/PlToggleSwitch/PlToggleSwitch.vue.js [39m[1m[2m 2.02 kB[22m[1m[22m[2m │ gzip: 0.97 kB[22m[2m │ map: 1.31 kB[22m
|
|
679
678
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_bindot.svg.js [39m[1m[2m 2.04 kB[22m[1m[22m[2m │ gzip: 0.38 kB[22m[2m │ map: 2.40 kB[22m
|
|
680
679
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_violin-jitter.svg.js [39m[1m[2m 2.08 kB[22m[1m[22m[2m │ gzip: 0.98 kB[22m[2m │ map: 2.29 kB[22m
|
|
@@ -683,6 +682,7 @@ computing gzip size...
|
|
|
683
682
|
[2mdist/[22m[36massets/icons/icon-assets-min/24_annotation.svg.js [39m[1m[2m 2.11 kB[22m[1m[22m[2m │ gzip: 0.63 kB[22m[2m │ map: 2.36 kB[22m
|
|
684
683
|
[2mdist/[22m[36mnode_modules/.pnpm/d3-dispatch@3.0.1/node_modules/d3-dispatch/src/dispatch.js [39m[1m[2m 2.11 kB[22m[1m[22m[2m │ gzip: 0.88 kB[22m[2m │ map: 5.87 kB[22m
|
|
685
684
|
[2mdist/[22m[36mcomponents/PlDropdownLine/ResizableInput.vue.js [39m[1m[2m 2.17 kB[22m[1m[22m[2m │ gzip: 1.03 kB[22m[2m │ map: 1.76 kB[22m
|
|
685
|
+
[2mdist/[22m[36mcomponents/PlSvg/registry.js [39m[1m[2m 2.20 kB[22m[1m[22m[2m │ gzip: 0.99 kB[22m[2m │ map: 5.59 kB[22m
|
|
686
686
|
[2mdist/[22m[36mcomponents/PlLoaderCircular/PlLoaderCircular.vue.js [39m[1m[2m 2.21 kB[22m[1m[22m[2m │ gzip: 0.94 kB[22m[2m │ map: 0.14 kB[22m
|
|
687
687
|
[2mdist/[22m[36mnode_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/bin.js [39m[1m[2m 2.22 kB[22m[1m[22m[2m │ gzip: 0.89 kB[22m[2m │ map: 7.16 kB[22m
|
|
688
688
|
[2mdist/[22m[36mcomponents/InputRange.vue.js [39m[1m[2m 2.24 kB[22m[1m[22m[2m │ gzip: 0.92 kB[22m[2m │ map: 3.72 kB[22m
|
|
@@ -756,6 +756,6 @@ computing gzip size...
|
|
|
756
756
|
[2mdist/[22m[36mindex.js [39m[1m[33m501.34 kB[39m[22m[2m │ gzip: 192.29 kB[22m[2m │ map: 5.60 kB[22m
|
|
757
757
|
[2mdist/[22m[36mcomponents/PlSlideModal/PlSlideModal.vue.js [39m[1m[33m601.75 kB[39m[22m[2m │ gzip: 204.43 kB[22m[2m │ map: 3.22 kB[22m
|
|
758
758
|
[2mdist/[22m[36mcomponents/DataTable/TableComponent.vue.js [39m[1m[33m603.09 kB[39m[22m[2m │ gzip: 205.04 kB[22m[2m │ map: 4.87 kB[22m
|
|
759
|
-
[vite:dts] Declaration files built in
|
|
759
|
+
[vite:dts] Declaration files built in 6195ms.
|
|
760
760
|
|
|
761
|
-
[32m✓ built in 11.
|
|
761
|
+
[32m✓ built in 11.61s[39m
|
|
@@ -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.3.
|
|
3
|
+
> @milaboratories/uikit@2.3.12 type-check /home/runner/_work/platforma/platforma/lib/ui/uikit
|
|
4
4
|
> vue-tsc --project ./tsconfig.lib.json
|
|
5
5
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/components/PlSvg/registry.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,sBAAsB,EAAE,cAAc,CAAC;KACxC;CACF;AAcD,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAKF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/components/PlSvg/registry.ts"],"names":[],"mappings":"AAEA,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,sBAAsB,EAAE,cAAc,CAAC;KACxC;CACF;AAcD,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAKF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAyD/D"}
|
|
@@ -1,41 +1,39 @@
|
|
|
1
|
-
import { uniqueId as
|
|
2
|
-
function
|
|
1
|
+
import { uniqueId as D } from "../../lib/util/helpers/dist/index.js";
|
|
2
|
+
function H() {
|
|
3
3
|
const e = document.createElementNS("http://www.w3.org/2000/svg", "svg");
|
|
4
4
|
return e.setAttribute("xmlns", "http://www.w3.org/2000/svg"), e.style.display = "none", document.body.prepend(e), e;
|
|
5
5
|
}
|
|
6
6
|
window.SvgRegistryRawSvgMap = window.SvgRegistryRawSvgMap ?? /* @__PURE__ */ new Map();
|
|
7
|
-
window.SvgRegistryDefsElement = window.SvgRegistryDefsElement ??
|
|
8
|
-
const
|
|
9
|
-
function
|
|
10
|
-
var
|
|
11
|
-
if (!
|
|
12
|
-
const
|
|
13
|
-
let
|
|
14
|
-
|
|
15
|
-
let
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
let
|
|
19
|
-
|
|
20
|
-
let M = 0, y = 0;
|
|
21
|
-
const R = e.replace(/^<svg[^>]*>/i, `<svg id="${a}" viewBox="${u}" ${o}>`).replace(/<\/svg>\s*$/, "</svg>").replace(
|
|
7
|
+
window.SvgRegistryDefsElement = window.SvgRegistryDefsElement ?? H();
|
|
8
|
+
const l = window.SvgRegistryRawSvgMap, u = window.SvgRegistryDefsElement;
|
|
9
|
+
function B(e, d) {
|
|
10
|
+
var c, $, w, m, f;
|
|
11
|
+
if (!l.has(e)) {
|
|
12
|
+
const g = `svg-${d ? `${d}-` : ""}${D(16)}`, t = (c = e.match(/^<svg[^>]*>/i)) == null ? void 0 : c[0], h = ($ = t == null ? void 0 : t.match(/fill\s*=\s*"(.*?)"/)) == null ? void 0 : $[1], p = (w = t == null ? void 0 : t.match(/stroke\s*=\s*"(.*?)"/)) == null ? void 0 : w[1], y = (m = t == null ? void 0 : t.match(/width\s*=\s*"(\d+)(px)?"/)) == null ? void 0 : m[1], R = (f = t == null ? void 0 : t.match(/height\s*=\s*"(\d+)(px)?"/)) == null ? void 0 : f[1], n = t == null ? void 0 : t.match(/viewBox\s*=\s*"[-+]?\d*\.?\d+(?:e[-+]?\d+)?"/), k = n == null ? void 0 : n[2], x = n == null ? void 0 : n[3];
|
|
13
|
+
let r = Number(k ?? y ?? 16);
|
|
14
|
+
r = isNaN(r) ? 16 : r;
|
|
15
|
+
let o = Number(x ?? R ?? 16);
|
|
16
|
+
o = isNaN(o) ? 16 : o;
|
|
17
|
+
const E = `0 0 ${r} ${o}`;
|
|
18
|
+
let b = 0, N = 0;
|
|
19
|
+
const I = h ? `fill="${h}"` : "", S = p ? `stroke="${p}"` : "", A = e.replace(/^<svg[^>]*>/i, `<svg id="${g}" viewBox="${E}" ${I} ${S}>`).replace(/<\/svg>\s*$/, "</svg>").replace(
|
|
22
20
|
/\bfill\s*=\s*(['"])(.*?)\1/gi,
|
|
23
|
-
(
|
|
21
|
+
(C, s, i) => /^(none|transparent)$/i.test(i) ? `fill=${s}${i}${s}` : `fill=${s}var(--svg-fill-${b++}, ${i})${s}`
|
|
24
22
|
).replace(
|
|
25
23
|
/\bstroke\s*=\s*(['"])(.*?)\1/gi,
|
|
26
|
-
(
|
|
27
|
-
),
|
|
28
|
-
|
|
29
|
-
const v =
|
|
30
|
-
v &&
|
|
31
|
-
spriteId:
|
|
32
|
-
defaultWidth:
|
|
33
|
-
defaultHeight:
|
|
24
|
+
(C, s, i) => /^(none|transparent)$/i.test(i) ? `stroke=${s}${i}${s}` : `stroke=${s}var(--svg-stroke-${N++}, ${i})${s}`
|
|
25
|
+
), a = document.createElement("template");
|
|
26
|
+
a.innerHTML = A;
|
|
27
|
+
const v = a.content.firstElementChild;
|
|
28
|
+
v && u && u.appendChild(v), l.set(e, {
|
|
29
|
+
spriteId: g,
|
|
30
|
+
defaultWidth: r,
|
|
31
|
+
defaultHeight: o
|
|
34
32
|
});
|
|
35
33
|
}
|
|
36
|
-
return
|
|
34
|
+
return l.get(e);
|
|
37
35
|
}
|
|
38
36
|
export {
|
|
39
|
-
|
|
37
|
+
B as registerSvg
|
|
40
38
|
};
|
|
41
39
|
//# sourceMappingURL=registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sources":["../../../src/components/PlSvg/registry.ts"],"sourcesContent":["import { uniqueId } from '@milaboratories/helpers';\n\ndeclare global {\n interface Window {\n SvgRegistryRawSvgMap: Map<string, SvgMeta>;\n SvgRegistryDefsElement: SVGDefsElement;\n }\n}\n\nfunction createSpriteContainer() {\n const defsElement = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n defsElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n defsElement.style.display = 'none';\n document.body.prepend(defsElement);\n return defsElement;\n}\n\n// prevent multiple definitions of the same SVG registry in different builds\nwindow.SvgRegistryRawSvgMap = window.SvgRegistryRawSvgMap ?? new Map<string, SvgMeta>();\nwindow.SvgRegistryDefsElement = window.SvgRegistryDefsElement ?? createSpriteContainer();\n\nexport type SvgMeta = {\n spriteId: string;\n defaultWidth: number;\n defaultHeight: number;\n};\n\nconst registeredRaw = window.SvgRegistryRawSvgMap;\nconst defsElement = window.SvgRegistryDefsElement;\n\nexport function registerSvg(raw: string, name?: string): SvgMeta {\n if (!registeredRaw.has(raw)) {\n const id = `svg-${name ? `${name}-` : ''}${uniqueId(16)}`;\n\n const
|
|
1
|
+
{"version":3,"file":"registry.js","sources":["../../../src/components/PlSvg/registry.ts"],"sourcesContent":["import { uniqueId } from '@milaboratories/helpers';\n\ndeclare global {\n interface Window {\n SvgRegistryRawSvgMap: Map<string, SvgMeta>;\n SvgRegistryDefsElement: SVGDefsElement;\n }\n}\n\nfunction createSpriteContainer() {\n const defsElement = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n defsElement.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n defsElement.style.display = 'none';\n document.body.prepend(defsElement);\n return defsElement;\n}\n\n// prevent multiple definitions of the same SVG registry in different builds\nwindow.SvgRegistryRawSvgMap = window.SvgRegistryRawSvgMap ?? new Map<string, SvgMeta>();\nwindow.SvgRegistryDefsElement = window.SvgRegistryDefsElement ?? createSpriteContainer();\n\nexport type SvgMeta = {\n spriteId: string;\n defaultWidth: number;\n defaultHeight: number;\n};\n\nconst registeredRaw = window.SvgRegistryRawSvgMap;\nconst defsElement = window.SvgRegistryDefsElement;\n\nexport function registerSvg(raw: string, name?: string): SvgMeta {\n if (!registeredRaw.has(raw)) {\n const id = `svg-${name ? `${name}-` : ''}${uniqueId(16)}`;\n\n const openSvgTagMatch = raw.match(/^<svg[^>]*>/i)?.[0];\n const fillMatch = openSvgTagMatch?.match(/fill\\s*=\\s*\"(.*?)\"/)?.[1];\n const strokeMatch = openSvgTagMatch?.match(/stroke\\s*=\\s*\"(.*?)\"/)?.[1];\n const widthMatch = openSvgTagMatch?.match(/width\\s*=\\s*\"(\\d+)(px)?\"/)?.[1];\n const heightMatch = openSvgTagMatch?.match(/height\\s*=\\s*\"(\\d+)(px)?\"/)?.[1];\n const viewBoxParts = openSvgTagMatch?.match(/viewBox\\s*=\\s*\"[-+]?\\d*\\.?\\d+(?:e[-+]?\\d+)?\"/);\n const viewBoxWidthMatch = viewBoxParts?.[2];\n const viewBoxHeightMatch = viewBoxParts?.[3];\n let width = Number(viewBoxWidthMatch ?? widthMatch ?? 16);\n width = isNaN(width) ? 16 : width;\n let height = Number(viewBoxHeightMatch ?? heightMatch ?? 16);\n height = isNaN(height) ? 16 : height;\n const viewBox = `0 0 ${width} ${height}`;\n\n let fillIdx = 0;\n let strokeIdx = 0;\n const fillAttr = fillMatch ? `fill=\"${fillMatch}\"` : '';\n const strokeAttr = strokeMatch ? `stroke=\"${strokeMatch}\"` : '';\n\n const preparedSvg = raw\n .replace(/^<svg[^>]*>/i, `<svg id=\"${id}\" viewBox=\"${viewBox}\" ${fillAttr} ${strokeAttr}>`)\n .replace(/<\\/svg>\\s*$/, '</svg>')\n .replace(\n /\\bfill\\s*=\\s*(['\"])(.*?)\\1/gi,\n (_, q, value) =>\n /^(none|transparent)$/i.test(value)\n ? `fill=${q}${value}${q}`\n : `fill=${q}var(--svg-fill-${fillIdx++}, ${value})${q}`,\n )\n .replace(\n /\\bstroke\\s*=\\s*(['\"])(.*?)\\1/gi,\n (_, q, value) =>\n /^(none|transparent)$/i.test(value)\n ? `stroke=${q}${value}${q}`\n : `stroke=${q}var(--svg-stroke-${strokeIdx++}, ${value})${q}`,\n );\n\n const template = document.createElement('template');\n template.innerHTML = preparedSvg;\n\n const symbol = template.content.firstElementChild;\n if (symbol && defsElement) {\n defsElement.appendChild(symbol);\n }\n\n registeredRaw.set(raw, {\n spriteId: id,\n defaultWidth: width,\n defaultHeight: height,\n });\n }\n\n return registeredRaw.get(raw)!;\n}\n"],"names":["createSpriteContainer","defsElement","registeredRaw","registerSvg","raw","name","id","uniqueId","openSvgTagMatch","_a","fillMatch","_b","strokeMatch","_c","widthMatch","_d","heightMatch","_e","viewBoxParts","viewBoxWidthMatch","viewBoxHeightMatch","width","height","viewBox","fillIdx","strokeIdx","fillAttr","strokeAttr","preparedSvg","_","q","value","template","symbol"],"mappings":";AASA,SAASA,IAAwB;AAC/B,QAAMC,IAAc,SAAS,gBAAgB,8BAA8B,KAAK;AAChFA,SAAAA,EAAY,aAAa,SAAS,4BAA4B,GAC9DA,EAAY,MAAM,UAAU,QACnB,SAAA,KAAK,QAAQA,CAAW,GAC1BA;AACT;AAGA,OAAO,uBAAuB,OAAO,wBAAwB,oBAAI,IAAqB;AACtF,OAAO,yBAAyB,OAAO,0BAA0BD,EAAsB;AAQvF,MAAME,IAAgB,OAAO,sBACvBD,IAAc,OAAO;AAEX,SAAAE,EAAYC,GAAaC,GAAwB;;AAC/D,MAAI,CAACH,EAAc,IAAIE,CAAG,GAAG;AACrB,UAAAE,IAAK,OAAOD,IAAO,GAAGA,CAAI,MAAM,EAAE,GAAGE,EAAS,EAAE,CAAC,IAEjDC,KAAkBC,IAAAL,EAAI,MAAM,cAAc,MAAxB,gBAAAK,EAA4B,IAC9CC,KAAYC,IAAAH,KAAA,gBAAAA,EAAiB,MAAM,0BAAvB,gBAAAG,EAA+C,IAC3DC,KAAcC,IAAAL,KAAA,gBAAAA,EAAiB,MAAM,4BAAvB,gBAAAK,EAAiD,IAC/DC,KAAaC,IAAAP,KAAA,gBAAAA,EAAiB,MAAM,gCAAvB,gBAAAO,EAAqD,IAClEC,KAAcC,IAAAT,KAAA,gBAAAA,EAAiB,MAAM,iCAAvB,gBAAAS,EAAsD,IACpEC,IAAeV,KAAA,gBAAAA,EAAiB,MAAM,iDACtCW,IAAoBD,KAAA,gBAAAA,EAAe,IACnCE,IAAqBF,KAAA,gBAAAA,EAAe;AAC1C,QAAIG,IAAQ,OAAOF,KAAqBL,KAAc,EAAE;AAChD,IAAAO,IAAA,MAAMA,CAAK,IAAI,KAAKA;AAC5B,QAAIC,IAAS,OAAOF,KAAsBJ,KAAe,EAAE;AAClD,IAAAM,IAAA,MAAMA,CAAM,IAAI,KAAKA;AAC9B,UAAMC,IAAU,OAAOF,CAAK,IAAIC,CAAM;AAEtC,QAAIE,IAAU,GACVC,IAAY;AAChB,UAAMC,IAAWhB,IAAY,SAASA,CAAS,MAAM,IAC/CiB,IAAaf,IAAc,WAAWA,CAAW,MAAM,IAEvDgB,IAAcxB,EACjB,QAAQ,gBAAgB,YAAYE,CAAE,cAAciB,CAAO,KAAKG,CAAQ,IAAIC,CAAU,GAAG,EACzF,QAAQ,eAAe,QAAQ,EAC/B;AAAA,MACC;AAAA,MACA,CAACE,GAAGC,GAAGC,MACL,wBAAwB,KAAKA,CAAK,IAC9B,QAAQD,CAAC,GAAGC,CAAK,GAAGD,CAAC,KACrB,QAAQA,CAAC,kBAAkBN,GAAS,KAAKO,CAAK,IAAID,CAAC;AAAA,IAAA,EAE1D;AAAA,MACC;AAAA,MACA,CAACD,GAAGC,GAAGC,MACL,wBAAwB,KAAKA,CAAK,IAC9B,UAAUD,CAAC,GAAGC,CAAK,GAAGD,CAAC,KACvB,UAAUA,CAAC,oBAAoBL,GAAW,KAAKM,CAAK,IAAID,CAAC;AAAA,IACjE,GAEIE,IAAW,SAAS,cAAc,UAAU;AAClD,IAAAA,EAAS,YAAYJ;AAEf,UAAAK,IAASD,EAAS,QAAQ;AAChC,IAAIC,KAAUhC,KACZA,EAAY,YAAYgC,CAAM,GAGhC/B,EAAc,IAAIE,GAAK;AAAA,MACrB,UAAUE;AAAA,MACV,cAAce;AAAA,MACd,eAAeC;AAAA,IAAA,CAChB;AAAA,EAAA;AAGI,SAAApB,EAAc,IAAIE,CAAG;AAC9B;"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { ComputedGetter, ComputedSetter, ComputedRef, WritableComputedRef } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* Alternative to `computed`, but triggering only on actual data changes.
|
|
4
|
+
* Always `deep` as the plain `computed` is.
|
|
5
|
+
*/
|
|
2
6
|
export declare function computedCached<T>(options: {
|
|
3
7
|
get: ComputedGetter<T>;
|
|
4
8
|
set: ComputedSetter<T>;
|
|
5
|
-
deep?: boolean;
|
|
6
9
|
}): WritableComputedRef<T>;
|
|
7
|
-
export declare function computedCached<T>(options: {
|
|
8
|
-
get: ComputedGetter<T>;
|
|
9
|
-
deep?: boolean;
|
|
10
|
-
}): ComputedRef<T>;
|
|
11
10
|
export declare function computedCached<T>(getter: ComputedGetter<T>): ComputedRef<T>;
|
|
12
11
|
//# sourceMappingURL=computedCached.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computedCached.d.ts","sourceRoot":"","sources":["../../src/composition/computedCached.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACzB,MAAM,KAAK,CAAC;AAEb,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE;IACzC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACvB,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"computedCached.d.ts","sourceRoot":"","sources":["../../src/composition/computedCached.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACzB,MAAM,KAAK,CAAC;AAEb;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE;IACzC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IACvB,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;CACxB,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAC3B,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -1,24 +1,23 @@
|
|
|
1
|
-
import { isJsonEqual as f } from "../lib/util/helpers/dist/index.js";
|
|
2
|
-
import { ref as
|
|
3
|
-
function
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
return i(
|
|
1
|
+
import { isJsonEqual as f, deepClone as r } from "../lib/util/helpers/dist/index.js";
|
|
2
|
+
import { ref as s, watch as c, computed as i } from "vue";
|
|
3
|
+
function d(o) {
|
|
4
|
+
let u, l;
|
|
5
|
+
typeof o == "function" ? u = o : (u = o.get, l = o.set);
|
|
6
|
+
const e = s(u());
|
|
7
|
+
return c(
|
|
9
8
|
u,
|
|
10
9
|
(t) => {
|
|
11
|
-
f(t, e.value) || (e.value = t);
|
|
10
|
+
f(t, e.value) || (e.value = r(t));
|
|
12
11
|
},
|
|
13
|
-
{ deep:
|
|
14
|
-
),
|
|
12
|
+
{ deep: !0 }
|
|
13
|
+
), l ? i({
|
|
15
14
|
get: () => e.value,
|
|
16
15
|
set: (t) => {
|
|
17
|
-
f(t, e.value) || (e.value = t,
|
|
16
|
+
f(t, e.value) || (e.value = t, l(t));
|
|
18
17
|
}
|
|
19
|
-
}) :
|
|
18
|
+
}) : i(() => e.value);
|
|
20
19
|
}
|
|
21
20
|
export {
|
|
22
|
-
|
|
21
|
+
d as computedCached
|
|
23
22
|
};
|
|
24
23
|
//# sourceMappingURL=computedCached.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computedCached.js","sources":["../../src/composition/computedCached.ts"],"sourcesContent":["import { isJsonEqual } from '@milaboratories/helpers';\nimport {\n computed,\n ref,\n watch,\n type ComputedGetter,\n type ComputedSetter,\n type ComputedRef,\n type WritableComputedRef,\n} from 'vue';\n\
|
|
1
|
+
{"version":3,"file":"computedCached.js","sources":["../../src/composition/computedCached.ts"],"sourcesContent":["import { deepClone, isJsonEqual } from '@milaboratories/helpers';\nimport {\n computed,\n ref,\n watch,\n type ComputedGetter,\n type ComputedSetter,\n type ComputedRef,\n type WritableComputedRef,\n} from 'vue';\n\n/**\n * Alternative to `computed`, but triggering only on actual data changes.\n * Always `deep` as the plain `computed` is.\n */\nexport function computedCached<T>(options: {\n get: ComputedGetter<T>;\n set: ComputedSetter<T>;\n}): WritableComputedRef<T>;\nexport function computedCached<T>(getter: ComputedGetter<T>): ComputedRef<T>;\nexport function computedCached<T>(arg: ComputedGetter<T> | {\n get: ComputedGetter<T>;\n set: ComputedSetter<T>;\n}) {\n let getter: ComputedGetter<T>;\n let setter: ComputedSetter<T> | undefined = undefined;\n if (typeof arg === 'function') {\n getter = arg;\n } else {\n getter = arg.get;\n setter = arg.set;\n }\n\n const cachedValue = ref<T>(getter());\n watch(\n getter,\n (newValue) => {\n if (!isJsonEqual(newValue, cachedValue.value)) {\n // `deepClone` is needed because in case some fields are patched the deep would be triggered,\n // but objects would be equal as the saved value was also patched\n cachedValue.value = deepClone(newValue);\n }\n },\n { deep: true },\n );\n\n if (setter) {\n return computed({\n get: () => cachedValue.value,\n set: (newValue) => {\n if (!isJsonEqual(newValue, cachedValue.value)) {\n cachedValue.value = newValue;\n setter(newValue);\n }\n },\n });\n } else {\n return computed(() => cachedValue.value);\n }\n}\n"],"names":["computedCached","arg","getter","setter","cachedValue","ref","watch","newValue","isJsonEqual","deepClone","computed"],"mappings":";;AAoBO,SAASA,EAAkBC,GAG/B;AACG,MAAAC,GACAC;AACA,EAAA,OAAOF,KAAQ,aACRC,IAAAD,KAETC,IAASD,EAAI,KACbE,IAASF,EAAI;AAGT,QAAAG,IAAcC,EAAOH,GAAQ;AAanC,SAZAI;AAAA,IACEJ;AAAA,IACA,CAACK,MAAa;AACZ,MAAKC,EAAYD,GAAUH,EAAY,KAAK,MAG9BA,EAAA,QAAQK,EAAUF,CAAQ;AAAA,IAE1C;AAAA,IACA,EAAE,MAAM,GAAK;AAAA,EACf,GAEIJ,IACKO,EAAS;AAAA,IACd,KAAK,MAAMN,EAAY;AAAA,IACvB,KAAK,CAACG,MAAa;AACjB,MAAKC,EAAYD,GAAUH,EAAY,KAAK,MAC1CA,EAAY,QAAQG,GACpBJ,EAAOI,CAAQ;AAAA,IACjB;AAAA,EACF,CACD,IAEMG,EAAS,MAAMN,EAAY,KAAK;AAE3C;"}
|
|
@@ -2,8 +2,8 @@ import { WatchCallback, WatchHandle, WatchSource } from 'vue';
|
|
|
2
2
|
type MaybeUndefined<T, I> = I extends true ? T | undefined : T;
|
|
3
3
|
export interface WatchCachedOptions<Immediate = boolean> {
|
|
4
4
|
immediate?: Immediate;
|
|
5
|
-
deep?: boolean;
|
|
6
5
|
}
|
|
6
|
+
/** Alternative to `watch`, but triggering only on actual data changes */
|
|
7
7
|
export declare function watchCached<T, Immediate extends Readonly<boolean> = false>(source: WatchSource<T>, cb: WatchCallback<T, MaybeUndefined<T, Immediate>>, options?: WatchCachedOptions<Immediate>): WatchHandle;
|
|
8
8
|
export {};
|
|
9
9
|
//# sourceMappingURL=watchCached.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchCached.d.ts","sourceRoot":"","sources":["../../src/composition/watchCached.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,KAAK,CAAC;AAEb,KAAK,cAAc,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;AAC/D,MAAM,WAAW,kBAAkB,CAAC,SAAS,GAAG,OAAO;IACrD,SAAS,CAAC,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"watchCached.d.ts","sourceRoot":"","sources":["../../src/composition/watchCached.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,KAAK,CAAC;AAEb,KAAK,cAAc,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;AAC/D,MAAM,WAAW,kBAAkB,CAAC,SAAS,GAAG,OAAO;IACrD,SAAS,CAAC,EAAE,SAAS,CAAC;CAGvB;AACD,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS,SAAS,QAAQ,CAAC,OAAO,CAAC,GAAG,KAAK,EACxE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EACtB,EAAE,EAAE,aAAa,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAClD,OAAO,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,GACtC,WAAW,CA2Bb"}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { isJsonEqual as
|
|
2
|
-
import { ref as
|
|
3
|
-
function
|
|
4
|
-
const a =
|
|
5
|
-
|
|
6
|
-
(
|
|
7
|
-
|
|
1
|
+
import { isJsonEqual as c, deepClone as i } from "../lib/util/helpers/dist/index.js";
|
|
2
|
+
import { ref as l, watch as t } from "vue";
|
|
3
|
+
function n(m, d, e) {
|
|
4
|
+
const a = l(), u = t(
|
|
5
|
+
m,
|
|
6
|
+
(r) => {
|
|
7
|
+
c(r, a.value) || (a.value = i(r));
|
|
8
8
|
},
|
|
9
9
|
{
|
|
10
|
-
deep:
|
|
10
|
+
deep: !0,
|
|
11
11
|
immediate: !0
|
|
12
12
|
// always initialize cachedValue
|
|
13
13
|
}
|
|
14
14
|
);
|
|
15
|
-
return
|
|
15
|
+
return t(
|
|
16
16
|
() => a.value,
|
|
17
17
|
// `as T` is safe as we always initialize cachedValue
|
|
18
|
-
|
|
18
|
+
d,
|
|
19
19
|
// separate watch so that `onWatcherCleanup` would only be triggerred here
|
|
20
20
|
{
|
|
21
21
|
// standard vue `WatchOptions` conform to `WatchCachedOptions` interface,
|
|
22
22
|
// so construct new options to remove unsupported entries
|
|
23
|
-
deep:
|
|
23
|
+
deep: !0,
|
|
24
24
|
immediate: e == null ? void 0 : e.immediate
|
|
25
25
|
}
|
|
26
26
|
), u;
|
|
27
27
|
}
|
|
28
28
|
export {
|
|
29
|
-
|
|
29
|
+
n as watchCached
|
|
30
30
|
};
|
|
31
31
|
//# sourceMappingURL=watchCached.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchCached.js","sources":["../../src/composition/watchCached.ts"],"sourcesContent":["import { isJsonEqual } from '@milaboratories/helpers';\nimport {\n ref,\n watch,\n type WatchCallback,\n type WatchHandle,\n type WatchSource,\n} from 'vue';\n\ntype MaybeUndefined<T, I> = I extends true ? T | undefined : T;\nexport interface WatchCachedOptions<Immediate = boolean> {\n immediate?: Immediate;\n deep
|
|
1
|
+
{"version":3,"file":"watchCached.js","sources":["../../src/composition/watchCached.ts"],"sourcesContent":["import { deepClone, isJsonEqual } from '@milaboratories/helpers';\nimport {\n ref,\n watch,\n type WatchCallback,\n type WatchHandle,\n type WatchSource,\n} from 'vue';\n\ntype MaybeUndefined<T, I> = I extends true ? T | undefined : T;\nexport interface WatchCachedOptions<Immediate = boolean> {\n immediate?: Immediate;\n // deep: true; - caching is useless when you are using the source as a `shallowRef`\n // once: false; - caching is useless when you need a single shot, use plain watch instead\n}\n/** Alternative to `watch`, but triggering only on actual data changes */\nexport function watchCached<T, Immediate extends Readonly<boolean> = false>(\n source: WatchSource<T>,\n cb: WatchCallback<T, MaybeUndefined<T, Immediate>>,\n options?: WatchCachedOptions<Immediate>,\n): WatchHandle {\n const cachedValue = ref<T>();\n const handle = watch(\n source,\n (newValue) => {\n if (!isJsonEqual(newValue, cachedValue.value)) {\n // `deepClone` is needed because in case some fields are patched the deep would be triggered,\n // but objects would be equal as the saved value was also patched\n cachedValue.value = deepClone(newValue);\n }\n },\n {\n deep: true,\n immediate: true, // always initialize cachedValue\n },\n );\n watch<T, Immediate>(\n () => cachedValue.value as T, // `as T` is safe as we always initialize cachedValue\n cb, // separate watch so that `onWatcherCleanup` would only be triggerred here\n {\n // standard vue `WatchOptions` conform to `WatchCachedOptions` interface,\n // so construct new options to remove unsupported entries\n deep: true,\n immediate: options?.immediate,\n },\n );\n return handle; // stopping first handle would effectively stop the second one\n}\n"],"names":["watchCached","source","cb","options","cachedValue","ref","handle","watch","newValue","isJsonEqual","deepClone"],"mappings":";;AAgBgB,SAAAA,EACdC,GACAC,GACAC,GACa;AACb,QAAMC,IAAcC,EAAO,GACrBC,IAASC;AAAA,IACbN;AAAA,IACA,CAACO,MAAa;AACZ,MAAKC,EAAYD,GAAUJ,EAAY,KAAK,MAG9BA,EAAA,QAAQM,EAAUF,CAAQ;AAAA,IAE1C;AAAA,IACA;AAAA,MACE,MAAM;AAAA,MACN,WAAW;AAAA;AAAA,IAAA;AAAA,EAEf;AACA,SAAAD;AAAA,IACE,MAAMH,EAAY;AAAA;AAAA,IAClBF;AAAA;AAAA,IACA;AAAA;AAAA;AAAA,MAGE,MAAM;AAAA,MACN,WAAWC,KAAA,gBAAAA,EAAS;AAAA,IAAA;AAAA,EAExB,GACOG;AACT;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@milaboratories/uikit",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.12",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"exports": {
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"@vueuse/core": "^13.3.0",
|
|
24
24
|
"d3": "^7.9.0",
|
|
25
25
|
"resize-observer-polyfill": "^1.5.1",
|
|
26
|
-
"@
|
|
27
|
-
"@
|
|
26
|
+
"@platforma-sdk/model": "^1.40.1",
|
|
27
|
+
"@milaboratories/helpers": "^1.6.17"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@vitejs/plugin-vue": "^5.2.3",
|
|
@@ -34,9 +34,9 @@
|
|
|
34
34
|
"vue-tsc": "^2.2.10",
|
|
35
35
|
"yarpm": "^1.2.0",
|
|
36
36
|
"svgo": "^3.3.2",
|
|
37
|
-
"@milaboratories/ts-configs": "1.0.4",
|
|
38
37
|
"@milaboratories/eslint-config": "^1.0.4",
|
|
39
|
-
"@milaboratories/build-configs": "1.0.4"
|
|
38
|
+
"@milaboratories/build-configs": "1.0.4",
|
|
39
|
+
"@milaboratories/ts-configs": "1.0.4"
|
|
40
40
|
},
|
|
41
41
|
"scripts": {
|
|
42
42
|
"dev": "vite",
|
|
@@ -32,9 +32,12 @@ export function registerSvg(raw: string, name?: string): SvgMeta {
|
|
|
32
32
|
if (!registeredRaw.has(raw)) {
|
|
33
33
|
const id = `svg-${name ? `${name}-` : ''}${uniqueId(16)}`;
|
|
34
34
|
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
const
|
|
35
|
+
const openSvgTagMatch = raw.match(/^<svg[^>]*>/i)?.[0];
|
|
36
|
+
const fillMatch = openSvgTagMatch?.match(/fill\s*=\s*"(.*?)"/)?.[1];
|
|
37
|
+
const strokeMatch = openSvgTagMatch?.match(/stroke\s*=\s*"(.*?)"/)?.[1];
|
|
38
|
+
const widthMatch = openSvgTagMatch?.match(/width\s*=\s*"(\d+)(px)?"/)?.[1];
|
|
39
|
+
const heightMatch = openSvgTagMatch?.match(/height\s*=\s*"(\d+)(px)?"/)?.[1];
|
|
40
|
+
const viewBoxParts = openSvgTagMatch?.match(/viewBox\s*=\s*"[-+]?\d*\.?\d+(?:e[-+]?\d+)?"/);
|
|
38
41
|
const viewBoxWidthMatch = viewBoxParts?.[2];
|
|
39
42
|
const viewBoxHeightMatch = viewBoxParts?.[3];
|
|
40
43
|
let width = Number(viewBoxWidthMatch ?? widthMatch ?? 16);
|
|
@@ -43,18 +46,13 @@ export function registerSvg(raw: string, name?: string): SvgMeta {
|
|
|
43
46
|
height = isNaN(height) ? 16 : height;
|
|
44
47
|
const viewBox = `0 0 ${width} ${height}`;
|
|
45
48
|
|
|
46
|
-
// Parse the original SVG tag and preserve all its attributes except id and viewBox
|
|
47
|
-
const svgTagMatch = raw.match(/^<svg([^>]*)>/i);
|
|
48
|
-
let svgAttributes = svgTagMatch ? svgTagMatch[1] : '';
|
|
49
|
-
// Remove any existing id or viewBox attributes
|
|
50
|
-
svgAttributes = svgAttributes
|
|
51
|
-
.replace(/\s*id\s*=\s*(['"])[^'"]*\1/gi, '')
|
|
52
|
-
.replace(/\s*viewBox\s*=\s*(['"])[^'"]*\1/gi, '');
|
|
53
|
-
|
|
54
49
|
let fillIdx = 0;
|
|
55
50
|
let strokeIdx = 0;
|
|
51
|
+
const fillAttr = fillMatch ? `fill="${fillMatch}"` : '';
|
|
52
|
+
const strokeAttr = strokeMatch ? `stroke="${strokeMatch}"` : '';
|
|
53
|
+
|
|
56
54
|
const preparedSvg = raw
|
|
57
|
-
.replace(/^<svg[^>]*>/i, `<svg id="${id}" viewBox="${viewBox}" ${
|
|
55
|
+
.replace(/^<svg[^>]*>/i, `<svg id="${id}" viewBox="${viewBox}" ${fillAttr} ${strokeAttr}>`)
|
|
58
56
|
.replace(/<\/svg>\s*$/, '</svg>')
|
|
59
57
|
.replace(
|
|
60
58
|
/\bfill\s*=\s*(['"])(.*?)\1/gi,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isJsonEqual } from '@milaboratories/helpers';
|
|
1
|
+
import { deepClone, isJsonEqual } from '@milaboratories/helpers';
|
|
2
2
|
import {
|
|
3
3
|
computed,
|
|
4
4
|
ref,
|
|
@@ -9,37 +9,39 @@ import {
|
|
|
9
9
|
type WritableComputedRef,
|
|
10
10
|
} from 'vue';
|
|
11
11
|
|
|
12
|
+
/**
|
|
13
|
+
* Alternative to `computed`, but triggering only on actual data changes.
|
|
14
|
+
* Always `deep` as the plain `computed` is.
|
|
15
|
+
*/
|
|
12
16
|
export function computedCached<T>(options: {
|
|
13
17
|
get: ComputedGetter<T>;
|
|
14
18
|
set: ComputedSetter<T>;
|
|
15
|
-
deep?: boolean;
|
|
16
19
|
}): WritableComputedRef<T>;
|
|
17
|
-
export function computedCached<T>(options: {
|
|
18
|
-
get: ComputedGetter<T>;
|
|
19
|
-
deep?: boolean;
|
|
20
|
-
}): ComputedRef<T>;
|
|
21
20
|
export function computedCached<T>(getter: ComputedGetter<T>): ComputedRef<T>;
|
|
22
|
-
export function computedCached<T>(
|
|
21
|
+
export function computedCached<T>(arg: ComputedGetter<T> | {
|
|
23
22
|
get: ComputedGetter<T>;
|
|
24
|
-
set
|
|
25
|
-
deep?: boolean;
|
|
23
|
+
set: ComputedSetter<T>;
|
|
26
24
|
}) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
let getter: ComputedGetter<T>;
|
|
26
|
+
let setter: ComputedSetter<T> | undefined = undefined;
|
|
27
|
+
if (typeof arg === 'function') {
|
|
28
|
+
getter = arg;
|
|
29
|
+
} else {
|
|
30
|
+
getter = arg.get;
|
|
31
|
+
setter = arg.set;
|
|
31
32
|
}
|
|
32
|
-
const { get: getter, set: setter, deep } = options;
|
|
33
33
|
|
|
34
34
|
const cachedValue = ref<T>(getter());
|
|
35
35
|
watch(
|
|
36
36
|
getter,
|
|
37
37
|
(newValue) => {
|
|
38
38
|
if (!isJsonEqual(newValue, cachedValue.value)) {
|
|
39
|
-
|
|
39
|
+
// `deepClone` is needed because in case some fields are patched the deep would be triggered,
|
|
40
|
+
// but objects would be equal as the saved value was also patched
|
|
41
|
+
cachedValue.value = deepClone(newValue);
|
|
40
42
|
}
|
|
41
43
|
},
|
|
42
|
-
{ deep },
|
|
44
|
+
{ deep: true },
|
|
43
45
|
);
|
|
44
46
|
|
|
45
47
|
if (setter) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isJsonEqual } from '@milaboratories/helpers';
|
|
1
|
+
import { deepClone, isJsonEqual } from '@milaboratories/helpers';
|
|
2
2
|
import {
|
|
3
3
|
ref,
|
|
4
4
|
watch,
|
|
@@ -10,9 +10,10 @@ import {
|
|
|
10
10
|
type MaybeUndefined<T, I> = I extends true ? T | undefined : T;
|
|
11
11
|
export interface WatchCachedOptions<Immediate = boolean> {
|
|
12
12
|
immediate?: Immediate;
|
|
13
|
-
deep
|
|
14
|
-
//
|
|
13
|
+
// deep: true; - caching is useless when you are using the source as a `shallowRef`
|
|
14
|
+
// once: false; - caching is useless when you need a single shot, use plain watch instead
|
|
15
15
|
}
|
|
16
|
+
/** Alternative to `watch`, but triggering only on actual data changes */
|
|
16
17
|
export function watchCached<T, Immediate extends Readonly<boolean> = false>(
|
|
17
18
|
source: WatchSource<T>,
|
|
18
19
|
cb: WatchCallback<T, MaybeUndefined<T, Immediate>>,
|
|
@@ -23,11 +24,13 @@ export function watchCached<T, Immediate extends Readonly<boolean> = false>(
|
|
|
23
24
|
source,
|
|
24
25
|
(newValue) => {
|
|
25
26
|
if (!isJsonEqual(newValue, cachedValue.value)) {
|
|
26
|
-
|
|
27
|
+
// `deepClone` is needed because in case some fields are patched the deep would be triggered,
|
|
28
|
+
// but objects would be equal as the saved value was also patched
|
|
29
|
+
cachedValue.value = deepClone(newValue);
|
|
27
30
|
}
|
|
28
31
|
},
|
|
29
32
|
{
|
|
30
|
-
deep:
|
|
33
|
+
deep: true,
|
|
31
34
|
immediate: true, // always initialize cachedValue
|
|
32
35
|
},
|
|
33
36
|
);
|
|
@@ -37,7 +40,7 @@ export function watchCached<T, Immediate extends Readonly<boolean> = false>(
|
|
|
37
40
|
{
|
|
38
41
|
// standard vue `WatchOptions` conform to `WatchCachedOptions` interface,
|
|
39
42
|
// so construct new options to remove unsupported entries
|
|
40
|
-
deep:
|
|
43
|
+
deep: true,
|
|
41
44
|
immediate: options?.immediate,
|
|
42
45
|
},
|
|
43
46
|
);
|