@milaboratories/uikit 2.10.18 → 2.10.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/.turbo/turbo-build.log +44 -44
  2. package/.turbo/turbo-formatter$colon$check.log +2 -2
  3. package/.turbo/turbo-linter$colon$check.log +2 -2
  4. package/.turbo/turbo-types$colon$check.log +1 -1
  5. package/CHANGELOG.md +17 -0
  6. package/dist/components/DataTable/TableComponent.vue.js +1 -1
  7. package/dist/components/PlAutocomplete/PlAutocomplete.vue.js +2 -2
  8. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.js +2 -2
  9. package/dist/components/PlDropdown/PlDropdown.vue.js +2 -2
  10. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.js +2 -2
  11. package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.js +2 -2
  12. package/dist/components/PlFileInput/PlFileInput.vue.js +2 -2
  13. package/dist/components/PlLogView/PlLogView.vue.js +2 -2
  14. package/dist/components/PlNumberField/PlNumberField.vue.js +2 -2
  15. package/dist/components/PlSlideModal/PlPureSlideModal.vue.js +1 -1
  16. package/dist/components/PlTextArea/PlTextArea.vue.js +2 -2
  17. package/dist/components/PlTextField/PlTextField.vue.js +2 -2
  18. package/dist/composition/filters/metadata.d.ts +41 -0
  19. package/dist/composition/filters/metadata.d.ts.map +1 -1
  20. package/dist/composition/filters/metadata.js +22 -0
  21. package/dist/composition/filters/metadata.js.map +1 -1
  22. package/dist/utils/{DoubleContour.vue.js → DoubleContour.vue2.js} +1 -1
  23. package/dist/utils/DoubleContour.vue2.js.map +1 -0
  24. package/dist/utils/DoubleContour.vue3.js +2 -2
  25. package/package.json +5 -5
  26. package/src/composition/filters/metadata.ts +21 -0
  27. package/dist/utils/DoubleContour.vue.js.map +0 -1
@@ -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.18 build /home/runner/_work/platforma/platforma/lib/ui/uikit
3
+ > @milaboratories/uikit@2.10.20 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...
@@ -33,72 +33,72 @@ computing gzip size...
33
33
  dist/components/DataTable/TrBody.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
34
34
  dist/components/PlFileDialog/Remote.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
35
35
  dist/components/PlAlert/PlAlert.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
36
+ dist/components/DataTable/TScroll.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
37
+ dist/components/TabItem.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
38
+ dist/base/BtnBase.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
36
39
  dist/components/VScroll.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
37
40
  dist/components/HScroll.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
38
- dist/base/BtnBase.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
39
- dist/components/TabItem.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
40
- dist/components/DataTable/TScroll.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
41
- dist/layout/PlSpacer/PlSpacer.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
42
41
  dist/components/PlSplash/PlSplash.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
42
+ dist/layout/PlSpacer/PlSpacer.vue2.js  0.10 kB │ gzip: 0.11 kB │ map: 0.10 kB
43
43
  dist/components/PlBtnLink/PlBtnLink.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
44
44
  dist/components/PlLogView/PlLogView.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
45
45
  dist/components/PlTooltip/PlTooltip.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
46
46
  dist/components/Scrollable.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
47
47
  dist/components/PlCheckbox/PlCheckbox.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
48
+ dist/components/PlTextArea/PlTextArea.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
48
49
  dist/components/PlBtnGroup/PlBtnGroup.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
49
50
  dist/components/PlBtnGhost/PlBtnGhost.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
50
- dist/components/PlBtnSplit/PlBtnSplit.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
51
- dist/components/PlTextArea/PlTextArea.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
52
51
  dist/components/PlDropdown/PlDropdown.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
52
+ dist/components/PlBtnSplit/PlBtnSplit.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
53
53
  dist/components/InputRange.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
54
54
  dist/components/PlDropdown/OptionList.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
55
55
  dist/components/SliderRange.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
56
56
  dist/components/PlBtnAccent/PlBtnAccent.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
57
- dist/components/PlStatusTag/PlStatusTag.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
58
- dist/components/PlFileInput/PlFileInput.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
59
- dist/layout/PlContainer/PlContainer.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
60
57
  dist/components/PlAccordion/PlAccordion.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
61
58
  dist/components/PlBtnDanger/PlBtnDanger.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
59
+ dist/components/PlFileInput/PlFileInput.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
60
+ dist/layout/PlContainer/PlContainer.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
62
61
  dist/components/PlTextField/PlTextField.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
62
+ dist/components/PlStatusTag/PlStatusTag.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
63
63
  dist/components/DataTable/ColumnCaret.vue2.js  0.11 kB │ gzip: 0.11 kB │ map: 0.10 kB
64
- dist/components/PlBtnPrimary/PlBtnPrimary.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
65
64
  dist/components/PlFileDialog/PlFileDialog.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
65
+ dist/components/PlBtnPrimary/PlBtnPrimary.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
66
66
  dist/utils/InnerBorder.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.34 kB
67
67
  dist/components/ThemeSwitcher.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
68
- dist/components/PlDialogModal/PlDialogModal.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
69
68
  dist/components/PlNumberField/PlNumberField.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
70
- dist/components/PlProgressBar/PlProgressBar.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
69
+ dist/components/PlDialogModal/PlDialogModal.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
71
70
  dist/components/PlDropdownRef/PlDropdownRef.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
72
- dist/components/PlAutocomplete/PlAutocomplete.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
73
- dist/components/PlBtnSecondary/PlBtnSecondary.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
71
+ dist/components/PlProgressBar/PlProgressBar.vue2.js  0.11 kB │ gzip: 0.12 kB │ map: 0.10 kB
74
72
  dist/components/DataTable/TableComponent.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
75
73
  dist/components/PlToggleSwitch/PlToggleSwitch.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
76
- dist/components/PlDropdownLine/PlDropdownLine.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
77
74
  dist/components/PlProgressCell/PlProgressCell.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
78
- dist/components/PlCheckbox/PlCheckboxBase.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
75
+ dist/components/PlBtnSecondary/PlBtnSecondary.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
76
+ dist/components/PlDropdownLine/PlDropdownLine.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
77
+ dist/components/PlAutocomplete/PlAutocomplete.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
79
78
  dist/components/PlDropdownLine/ResizableInput.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
79
+ dist/components/PlCheckbox/PlCheckboxBase.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.10 kB
80
80
  dist/components/ContextProvider.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
81
81
  dist/components/PlConfirmDialog.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
82
+ dist/components/PlDropdownMulti/PlDropdownMulti.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
82
83
  dist/utils/DropdownOverlay/DropdownOverlay.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
83
- dist/components/PlEditableTitle/PlEditableTitle.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
84
84
  dist/components/PlErrorBoundary/PlErrorBoundary.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
85
- dist/components/PlDropdownMulti/PlDropdownMulti.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
85
+ dist/components/PlEditableTitle/PlEditableTitle.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
86
86
  dist/components/PlCheckboxGroup/PlCheckboxGroup.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
87
87
  dist/helpers/math.js  0.12 kB │ gzip: 0.13 kB │ map: 0.33 kB
88
88
  dist/components/DataTable/RowsCommandMenu.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
89
89
  dist/components/DropdownListItem.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
90
+ dist/components/PlDropdownLegacy/PlDropdownLegacy.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
90
91
  dist/components/PlLoaderCircular/PlLoaderCircular.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
91
92
  dist/components/PlSlideModal/PlPureSlideModal.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
92
- dist/components/PlDropdownLegacy/PlDropdownLegacy.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
93
93
  dist/components/SliderRangeTriple.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
94
94
  dist/components/PlSvg/PlSvg.vue3.js  0.12 kB │ gzip: 0.13 kB │ map: 0.10 kB
95
95
  dist/components/DataTable/BaseCellComponent.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
96
96
  dist/components/PlDropdownMultiRef/PlDropdownMultiRef.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
97
97
  dist/components/DataTable/ColumnsCommandMenu.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
98
- dist/components/PlNotificationAlert/PlNotificationAlert.vue2.js  0.13 kB │ gzip: 0.12 kB │ map: 0.11 kB
99
98
  dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue2.js  0.13 kB │ gzip: 0.12 kB │ map: 0.11 kB
100
- dist/components/PlIcon16/PlIcon16.vue3.js  0.13 kB │ gzip: 0.13 kB │ map: 0.10 kB
99
+ dist/components/PlNotificationAlert/PlNotificationAlert.vue2.js  0.13 kB │ gzip: 0.12 kB │ map: 0.11 kB
101
100
  dist/components/PlIcon24/PlIcon24.vue3.js  0.13 kB │ gzip: 0.13 kB │ map: 0.10 kB
101
+ dist/components/PlIcon16/PlIcon16.vue3.js  0.13 kB │ gzip: 0.13 kB │ map: 0.10 kB
102
102
  dist/components/TransitionSlidePanel.vue2.js  0.13 kB │ gzip: 0.12 kB │ map: 0.11 kB
103
103
  dist/components/PlRadio/keys.js  0.13 kB │ gzip: 0.13 kB │ map: 0.43 kB
104
104
  dist/components/PlClipboard/PlClipboard.vue3.js  0.13 kB │ gzip: 0.13 kB │ map: 0.10 kB
@@ -119,8 +119,8 @@ computing gzip size...
119
119
  dist/_virtual/_plugin-vue_export-helper.js  0.19 kB │ gzip: 0.17 kB │ map: 0.12 kB
120
120
  dist/components/PlRadio/PlRadioGroup.vue3.js  0.20 kB │ gzip: 0.16 kB │ map: 0.11 kB
121
121
  dist/components/PlSearchField/PlSearchField.vue3.js  0.20 kB │ gzip: 0.16 kB │ map: 0.11 kB
122
- dist/components/PlChartStackedBar/PlChartStackedBar.vue3.js  0.20 kB │ gzip: 0.16 kB │ map: 0.11 kB
123
122
  dist/components/PlChartHistogram/PlChartHistogram.vue3.js  0.20 kB │ gzip: 0.16 kB │ map: 0.11 kB
123
+ dist/components/PlChartStackedBar/PlChartStackedBar.vue3.js  0.20 kB │ gzip: 0.16 kB │ map: 0.11 kB
124
124
  dist/components/PlSectionSeparator/PlSectionSeparator.vue3.js  0.20 kB │ gzip: 0.16 kB │ map: 0.11 kB
125
125
  dist/helpers/index.js  0.21 kB │ gzip: 0.17 kB │ map: 0.65 kB
126
126
  dist/components/PlElementList/PlElementList.vue3.js  0.22 kB │ gzip: 0.17 kB │ map: 0.11 kB
@@ -147,16 +147,16 @@ computing gzip size...
147
147
  dist/components/PlChartHistogram/logspace.js  0.27 kB │ gzip: 0.20 kB │ map: 0.84 kB
148
148
  dist/components/PlFileDialog/Shortcuts.vue3.js  0.27 kB │ gzip: 0.19 kB │ map: 0.10 kB
149
149
  dist/components/PlSvg/PlSvg.vue.js  0.27 kB │ gzip: 0.21 kB │ map: 0.10 kB
150
- dist/assets/icons/icon-assets-min/24_windows-expand.svg.js  0.27 kB │ gzip: 0.22 kB │ map: 0.48 kB
151
150
  dist/components/PlEditableTitle/pl-editable-title.module.scss.js  0.27 kB │ gzip: 0.19 kB │ map: 0.12 kB
151
+ dist/assets/icons/icon-assets-min/24_windows-expand.svg.js  0.27 kB │ gzip: 0.22 kB │ map: 0.48 kB
152
152
  dist/assets/icons/icon-assets-min/24_arrow-left.svg.js  0.27 kB │ gzip: 0.23 kB │ map: 0.44 kB
153
153
  dist/components/PlChartStackedBar/StackedRowCompact.vue3.js  0.27 kB │ gzip: 0.19 kB │ map: 0.11 kB
154
154
  dist/assets/icons/icon-assets-min/24_arrow-right.svg.js  0.27 kB │ gzip: 0.24 kB │ map: 0.44 kB
155
155
  dist/assets/icons/icon-assets-min/24_arrow-down.svg.js  0.27 kB │ gzip: 0.24 kB │ map: 0.44 kB
156
156
  dist/assets/icons/icon-assets-min/16_add.svg.js  0.27 kB │ gzip: 0.23 kB │ map: 0.44 kB
157
157
  dist/components/PlRadio/PlRadio.vue.js  0.27 kB │ gzip: 0.21 kB │ map: 0.10 kB
158
- dist/assets/icons/icon-assets-min/24_linetype-longdash.svg.js  0.27 kB │ gzip: 0.23 kB │ map: 0.47 kB
159
158
  dist/components/PlChartStackedBar/Legends.vue.js  0.27 kB │ gzip: 0.21 kB │ map: 0.10 kB
159
+ dist/assets/icons/icon-assets-min/24_linetype-longdash.svg.js  0.27 kB │ gzip: 0.23 kB │ map: 0.47 kB
160
160
  dist/assets/icons/icon-assets-min/16_chevron-first.svg.js  0.28 kB │ gzip: 0.23 kB │ map: 0.45 kB
161
161
  dist/components/PlIcon16/PlIcon16.vue.js  0.28 kB │ gzip: 0.22 kB │ map: 0.10 kB
162
162
  dist/components/PlIcon24/PlIcon24.vue.js  0.28 kB │ gzip: 0.22 kB │ map: 0.10 kB
@@ -177,10 +177,10 @@ computing gzip size...
177
177
  dist/assets/icons/icon-assets-min/16_maximize.svg.js  0.29 kB │ gzip: 0.24 kB │ map: 0.47 kB
178
178
  dist/components/PlSlideModal/PlSlideModal.vue.js  0.29 kB │ gzip: 0.22 kB │ map: 0.11 kB
179
179
  dist/components/PlRadio/PlRadioGroup.vue.js  0.29 kB │ gzip: 0.22 kB │ map: 0.11 kB
180
+ dist/components/PlErrorAlert/PlErrorAlert.vue.js  0.29 kB │ gzip: 0.22 kB │ map: 0.11 kB
180
181
  dist/assets/icons/icon-assets-min/16_caret-left.svg.js  0.29 kB │ gzip: 0.24 kB │ map: 0.46 kB
181
182
  dist/assets/icons/icon-assets-min/16_download.svg.js  0.29 kB │ gzip: 0.24 kB │ map: 0.46 kB
182
183
  dist/assets/icons/icon-assets-min/24_linetype-dashed.svg.js  0.29 kB │ gzip: 0.23 kB │ map: 0.48 kB
183
- dist/components/PlErrorAlert/PlErrorAlert.vue.js  0.29 kB │ gzip: 0.22 kB │ map: 0.11 kB
184
184
  dist/assets/icons/icon-assets-min/24_drag-dots.svg.js  0.29 kB │ gzip: 0.23 kB │ map: 0.46 kB
185
185
  dist/assets/icons/icon-assets-min/16_chevron-up.svg.js  0.29 kB │ gzip: 0.24 kB │ map: 0.47 kB
186
186
  dist/components/PlElementList/PlElementList.vue.js  0.29 kB │ gzip: 0.22 kB │ map: 0.11 kB
@@ -212,9 +212,9 @@ computing gzip size...
212
212
  dist/assets/icons/icon-assets-min/24_text-align-right.svg.js  0.30 kB │ gzip: 0.25 kB │ map: 0.50 kB
213
213
  dist/assets/icons/icon-assets-min/16_checkmark.svg.js  0.30 kB │ gzip: 0.25 kB │ map: 0.48 kB
214
214
  dist/components/PlChartStackedBar/PlChartStackedBar.vue.js  0.30 kB │ gzip: 0.22 kB │ map: 0.11 kB
215
+ dist/components/PlChartStackedBar/StackedRowCompact.vue.js  0.30 kB │ gzip: 0.22 kB │ map: 0.11 kB
215
216
  dist/assets/icons/icon-assets-min/16_arrow-up.svg.js  0.30 kB │ gzip: 0.25 kB │ map: 0.48 kB
216
217
  dist/assets/icons/icon-assets-min/24_linetype-twodash.svg.js  0.30 kB │ gzip: 0.25 kB │ map: 0.50 kB
217
- dist/components/PlChartStackedBar/StackedRowCompact.vue.js  0.30 kB │ gzip: 0.22 kB │ map: 0.11 kB
218
218
  dist/components/PlElementList/PlElementListItem.vue.js  0.30 kB │ gzip: 0.22 kB │ map: 0.11 kB
219
219
  dist/assets/icons/icon-assets-min/24_checkmark.svg.js  0.31 kB │ gzip: 0.25 kB │ map: 0.49 kB
220
220
  dist/assets/icons/icon-assets-min/16_arrow-down.svg.js  0.31 kB │ gzip: 0.25 kB │ map: 0.49 kB
@@ -246,27 +246,27 @@ computing gzip size...
246
246
  dist/assets/icons/icon-assets-min/16_compare.svg.js  0.34 kB │ gzip: 0.26 kB │ map: 0.51 kB
247
247
  dist/assets/icons/icon-assets-min/16_jump-link.svg.js  0.34 kB │ gzip: 0.26 kB │ map: 0.52 kB
248
248
  dist/assets/icons/icon-assets-min/16_reverse.svg.js  0.34 kB │ gzip: 0.26 kB │ map: 0.51 kB
249
- dist/assets/icons/icon-assets-min/16_stop.svg.js  0.34 kB │ gzip: 0.25 kB │ map: 0.52 kB
250
249
  dist/components/DataTable/TrHead.vue.js  0.34 kB │ gzip: 0.27 kB │ map: 0.41 kB
250
+ dist/assets/icons/icon-assets-min/16_stop.svg.js  0.34 kB │ gzip: 0.25 kB │ map: 0.52 kB
251
251
  dist/assets/icons/icon-assets-min/24_expand-left.svg.js  0.35 kB │ gzip: 0.24 kB │ map: 0.53 kB
252
252
  dist/assets/icons/icon-assets-min/24_expand-right.svg.js  0.35 kB │ gzip: 0.25 kB │ map: 0.53 kB
253
253
  dist/assets/icons/icon-assets-min/24_restart.svg.js  0.35 kB │ gzip: 0.27 kB │ map: 0.52 kB
254
254
  dist/assets/icons/icon-assets-min/24_legend-box.svg.js  0.35 kB │ gzip: 0.26 kB │ map: 0.54 kB
255
255
  dist/assets/icons/icon-assets-min/24_position-left.svg.js  0.35 kB │ gzip: 0.27 kB │ map: 0.52 kB
256
256
  dist/assets/icons/icon-assets-min/24_close.svg.js  0.35 kB │ gzip: 0.25 kB │ map: 0.52 kB
257
- dist/assets/icons/icon-assets-min/24_stop.svg.js  0.35 kB │ gzip: 0.25 kB │ map: 0.52 kB
258
257
  dist/composition/useFilteredList.js  0.35 kB │ gzip: 0.24 kB │ map: 1.17 kB
258
+ dist/assets/icons/icon-assets-min/24_stop.svg.js  0.35 kB │ gzip: 0.25 kB │ map: 0.52 kB
259
259
  dist/layout/PlSpacer/PlSpacer.vue.js  0.35 kB │ gzip: 0.27 kB │ map: 0.53 kB
260
260
  dist/assets/icons/icon-assets-min/24_checkbox.svg.js  0.35 kB │ gzip: 0.26 kB │ map: 0.53 kB
261
261
  dist/assets/icons/icon-assets-min/24_play.svg.js  0.35 kB │ gzip: 0.28 kB │ map: 0.53 kB
262
- dist/components/PlTabs/pl-tabs.module.scss.js  0.36 kB │ gzip: 0.23 kB │ map: 0.11 kB
263
262
  dist/components/PlSplash/pl-splash.module.scss.js  0.36 kB │ gzip: 0.22 kB │ map: 0.11 kB
263
+ dist/components/PlTabs/pl-tabs.module.scss.js  0.36 kB │ gzip: 0.23 kB │ map: 0.11 kB
264
264
  dist/assets/icons/icon-assets-min/16_play.svg.js  0.36 kB │ gzip: 0.27 kB │ map: 0.53 kB
265
265
  dist/composition/useMouse.js  0.37 kB │ gzip: 0.24 kB │ map: 0.88 kB
266
266
  dist/assets/icons/icon-assets-min/24_checkbox-checked.svg.js  0.37 kB │ gzip: 0.29 kB │ map: 0.60 kB
267
267
  dist/assets/icons/icon-assets-min/24_search.svg.js  0.37 kB │ gzip: 0.27 kB │ map: 0.56 kB
268
- dist/assets/icons/icon-assets-min/24_cursor-pointer.svg.js  0.37 kB │ gzip: 0.30 kB │ map: 0.56 kB
269
268
  dist/helpers/objects.js  0.37 kB │ gzip: 0.25 kB │ map: 1.12 kB
269
+ dist/assets/icons/icon-assets-min/24_cursor-pointer.svg.js  0.37 kB │ gzip: 0.30 kB │ map: 0.56 kB
270
270
  dist/assets/icons/icon-assets-min/24_canvas.svg.js  0.38 kB │ gzip: 0.27 kB │ map: 0.55 kB
271
271
  dist/assets/icons/icon-assets-min/24_position-right.svg.js  0.38 kB │ gzip: 0.29 kB │ map: 0.57 kB
272
272
  dist/assets/icons/icon-assets-min/24_position-top.svg.js  0.38 kB │ gzip: 0.29 kB │ map: 0.57 kB
@@ -298,13 +298,13 @@ computing gzip size...
298
298
  dist/assets/icons/icon-assets-min/24_download.svg.js  0.42 kB │ gzip: 0.30 kB │ map: 0.60 kB
299
299
  dist/composition/useClickOutside.js  0.42 kB │ gzip: 0.27 kB │ map: 1.12 kB
300
300
  dist/assets/icons/icon-assets-min/24_align-left.svg.js  0.42 kB │ gzip: 0.28 kB │ map: 0.61 kB
301
+ dist/assets/images/required.svg.js  0.43 kB │ gzip: 0.32 kB │ map: 0.59 kB
301
302
  dist/assets/icons/icon-assets-min/24_align-right.svg.js  0.43 kB │ gzip: 0.28 kB │ map: 0.61 kB
302
303
  dist/assets/icons/icon-assets-min/24_zoom-out.svg.js  0.43 kB │ gzip: 0.29 kB │ map: 0.63 kB
303
- dist/assets/images/required.svg.js  0.43 kB │ gzip: 0.32 kB │ map: 0.59 kB
304
304
  dist/assets/icons/icon-assets-min/24_windows-collapse.svg.js  0.43 kB │ gzip: 0.30 kB │ map: 0.66 kB
305
+ dist/utils/InnerBorder.vue.js  0.43 kB │ gzip: 0.31 kB │ map: 0.42 kB
305
306
  dist/assets/icons/icon-assets-min/16_delete-circle.svg.js  0.43 kB │ gzip: 0.30 kB │ map: 0.62 kB
306
307
  dist/assets/icons/icon-assets-min/24_drag-vertical.svg.js  0.43 kB │ gzip: 0.31 kB │ map: 0.62 kB
307
- dist/utils/InnerBorder.vue.js  0.43 kB │ gzip: 0.31 kB │ map: 0.42 kB
308
308
  dist/assets/icons/icon-assets-min/16_zip.svg.js  0.43 kB │ gzip: 0.29 kB │ map: 0.60 kB
309
309
  dist/assets/icons/icon-assets-min/24_arrow-left-curved.svg.js  0.43 kB │ gzip: 0.31 kB │ map: 0.61 kB
310
310
  dist/assets/icons/icon-assets-min/24_drag-horizontal.svg.js  0.43 kB │ gzip: 0.32 kB │ map: 0.62 kB
@@ -383,8 +383,8 @@ computing gzip size...
383
383
  dist/assets/icons/icon-assets-min/16_settings.svg.js  0.56 kB │ gzip: 0.33 kB │ map: 0.74 kB
384
384
  dist/composition/useFormState.js  0.56 kB │ gzip: 0.32 kB │ map: 1.67 kB
385
385
  dist/assets/icons/icon-assets-min/24_frame-type-none.svg.js  0.56 kB │ gzip: 0.27 kB │ map: 0.75 kB
386
- dist/assets/icons/icon-assets-min/24_columns.svg.js  0.56 kB │ gzip: 0.33 kB │ map: 0.76 kB
387
386
  dist/components/DataTable/ColumnCaret.vue.js  0.56 kB │ gzip: 0.37 kB │ map: 0.91 kB
387
+ dist/assets/icons/icon-assets-min/24_columns.svg.js  0.56 kB │ gzip: 0.33 kB │ map: 0.76 kB
388
388
  dist/assets/icons/icon-assets-min/16_clipboard-copied.svg.js  0.56 kB │ gzip: 0.36 kB │ map: 0.76 kB
389
389
  dist/assets/icons/icon-assets-min/16_clipboard.svg.js  0.56 kB │ gzip: 0.34 kB │ map: 0.74 kB
390
390
  dist/assets/icons/icon-assets-min/24_file-doc-import.svg.js  0.56 kB │ gzip: 0.37 kB │ map: 0.77 kB
@@ -424,7 +424,7 @@ computing gzip size...
424
424
  dist/assets/icons/icon-assets-min/24_axes.svg.js  0.63 kB │ gzip: 0.37 kB │ map: 0.81 kB
425
425
  dist/assets/icons/icon-assets-min/24_clipboard.svg.js  0.63 kB │ gzip: 0.37 kB │ map: 0.84 kB
426
426
  dist/assets/icons/icon-assets-min/24_connected-points.svg.js  0.63 kB │ gzip: 0.37 kB │ map: 0.83 kB
427
- dist/utils/DoubleContour.vue.js  0.63 kB │ gzip: 0.41 kB │ map: 2.22 kB
427
+ dist/utils/DoubleContour.vue2.js  0.64 kB │ gzip: 0.41 kB │ map: 2.22 kB
428
428
  dist/assets/icons/icon-assets-min/24_template.svg.js  0.64 kB │ gzip: 0.30 kB │ map: 0.84 kB
429
429
  dist/assets/icons/icon-assets-min/24_slice.svg.js  0.64 kB │ gzip: 0.33 kB │ map: 0.84 kB
430
430
  dist/assets/icons/icon-assets-min/24_error-bar.svg.js  0.64 kB │ gzip: 0.33 kB │ map: 0.85 kB
@@ -498,8 +498,8 @@ computing gzip size...
498
498
  dist/assets/icons/icon-assets-min/24_view-show.svg.js  0.93 kB │ gzip: 0.55 kB │ map: 1.11 kB
499
499
  dist/components/PlCheckbox/PlCheckboxBase.vue.js  0.94 kB │ gzip: 0.51 kB │ map: 1.26 kB
500
500
  dist/assets/icons/icon-assets-min/24_theme-dark.svg.js  0.94 kB │ gzip: 0.48 kB │ map: 1.12 kB
501
- dist/components/PlIcon16/PlIcon16.vue2.js  0.95 kB │ gzip: 0.51 kB │ map: 1.87 kB
502
501
  dist/components/PlIcon24/PlIcon24.vue2.js  0.95 kB │ gzip: 0.51 kB │ map: 2.58 kB
502
+ dist/components/PlIcon16/PlIcon16.vue2.js  0.95 kB │ gzip: 0.51 kB │ map: 1.87 kB
503
503
  dist/assets/icons/icon-assets-min/24_dendrogram-X-line.svg.js  0.95 kB │ gzip: 0.39 kB │ map: 1.24 kB
504
504
  dist/components/DataTable/composition/useTableColumns.js  0.97 kB │ gzip: 0.53 kB │ map: 2.89 kB
505
505
  dist/assets/icons/icon-assets-min/24_lasso.svg.js  0.97 kB │ gzip: 0.57 kB │ map: 1.15 kB
@@ -511,8 +511,8 @@ computing gzip size...
511
511
  dist/composition/usePosition.js  1.00 kB │ gzip: 0.46 kB │ map: 2.33 kB
512
512
  dist/assets/icons/icon-assets-min/16_progress.svg.js  1.02 kB │ gzip: 0.61 kB │ map: 1.22 kB
513
513
  dist/composition/useDraggable.js  1.02 kB │ gzip: 0.44 kB │ map: 2.59 kB
514
- dist/assets/icons/icon-assets-min/24_strip-plot.svg.js  1.02 kB │ gzip: 0.36 kB │ map: 1.29 kB
515
514
  dist/components/DataTable/assets/TableIcon.vue.js  1.02 kB │ gzip: 0.55 kB │ map: 1.23 kB
515
+ dist/assets/icons/icon-assets-min/24_strip-plot.svg.js  1.02 kB │ gzip: 0.36 kB │ map: 1.29 kB
516
516
  dist/generated/icons-16.js  1.04 kB │ gzip: 0.42 kB │ map: 2.04 kB
517
517
  dist/assets/icons/icon-assets-min/24_jitter.svg.js  1.04 kB │ gzip: 0.34 kB │ map: 1.21 kB
518
518
  dist/helpers/downloadContent.js  1.05 kB │ gzip: 0.50 kB │ map: 3.29 kB
@@ -616,12 +616,12 @@ computing gzip size...
616
616
  dist/components/PlTooltip/PlTooltip.vue.js  3.44 kB │ gzip: 1.37 kB │ map: 6.78 kB
617
617
  dist/generated/icons-24.js  3.50 kB │ gzip: 1.11 kB │ map: 6.37 kB
618
618
  dist/components/DataTable/state.js  3.53 kB │ gzip: 1.29 kB │ map: 9.27 kB
619
- dist/components/PlTextArea/PlTextArea.vue.js  3.55 kB │ gzip: 1.42 kB │ map: 7.16 kB
619
+ dist/components/PlTextArea/PlTextArea.vue.js  3.55 kB │ gzip: 1.43 kB │ map: 7.16 kB
620
620
  dist/components/PlDialogModal/PlDialogModal.vue.js  3.60 kB │ gzip: 1.26 kB │ map: 6.60 kB
621
621
  dist/components/PlFileDialog/PlFileDialog.vue.js  3.60 kB │ gzip: 1.41 kB │ map: 6.11 kB
622
622
  dist/composition/useSortable.js  3.68 kB │ gzip: 1.30 kB │ map: 10.89 kB
623
623
  dist/composition/usePollingQuery.js  4.15 kB │ gzip: 1.58 kB │ map: 19.11 kB
624
- dist/components/PlLogView/PlLogView.vue.js  4.28 kB │ gzip: 1.57 kB │ map: 8.47 kB
624
+ dist/components/PlLogView/PlLogView.vue.js  4.28 kB │ gzip: 1.58 kB │ map: 8.47 kB
625
625
  dist/assets/icons/icon-assets-min/24_heatmap.svg.js  4.38 kB │ gzip: 0.99 kB │ map: 4.68 kB
626
626
  dist/composition/useSortable2.js  4.43 kB │ gzip: 1.50 kB │ map: 13.15 kB
627
627
  dist/components/PlSlideModal/PlPureSlideModal.vue.js  4.68 kB │ gzip: 1.21 kB │ map: 2.97 kB
@@ -630,7 +630,7 @@ computing gzip size...
630
630
  dist/components/PlTextField/PlTextField.vue.js  5.35 kB │ gzip: 1.92 kB │ map: 11.11 kB
631
631
  dist/components/Slider.vue.js  5.54 kB │ gzip: 1.93 kB │ map: 10.23 kB
632
632
  dist/components/PlFileInput/PlFileInput.vue.js  5.79 kB │ gzip: 2.02 kB │ map: 10.68 kB
633
- dist/components/DataTable/TableComponent.vue.js  6.52 kB │ gzip: 1.80 kB │ map: 7.06 kB
633
+ dist/components/DataTable/TableComponent.vue.js  6.52 kB │ gzip: 1.81 kB │ map: 7.06 kB
634
634
  dist/components/SliderRange.vue.js  7.10 kB │ gzip: 2.21 kB │ map: 14.21 kB
635
635
  dist/components/PlNumberField/PlNumberField.vue.js  7.29 kB │ gzip: 2.33 kB │ map: 14.88 kB
636
636
  dist/components/PlDropdownLine/PlDropdownLine.vue.js  8.21 kB │ gzip: 2.57 kB │ map: 16.33 kB
@@ -640,13 +640,13 @@ computing gzip size...
640
640
  dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.js  9.16 kB │ gzip: 2.89 kB │ map: 18.08 kB
641
641
  dist/components/PlDropdown/PlDropdown.vue.js  9.27 kB │ gzip: 2.89 kB │ map: 18.72 kB
642
642
  dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.js  9.90 kB │ gzip: 3.10 kB │ map: 21.22 kB
643
- dist/components/PlAutocomplete/PlAutocomplete.vue.js  10.38 kB │ gzip: 3.18 kB │ map: 21.41 kB
643
+ dist/components/PlAutocomplete/PlAutocomplete.vue.js  10.38 kB │ gzip: 3.19 kB │ map: 21.41 kB
644
644
  dist/components/PlElementList/PlElementList.vue2.js  10.77 kB │ gzip: 2.56 kB │ map: 23.04 kB
645
645
  dist/demo-site-data/all-css-variables.js  11.47 kB │ gzip: 1.77 kB │ map: 19.30 kB
646
- dist/composition/filters/metadata.js  12.91 kB │ gzip: 1.15 kB │ map: 24.70 kB
646
+ dist/composition/filters/metadata.js  13.39 kB │ gzip: 1.20 kB │ map: 25.54 kB
647
647
  dist/components/PlSvg/PlSvg.vue2.js  39.58 kB │ gzip: 3.39 kB │ map: 12.40 kB
648
648
  dist/index.js 683.13 kB │ gzip: 226.29 kB │ map: 6.19 kB
649
- [vite:dts] Declaration files built in 10992ms.
649
+ [vite:dts] Declaration files built in 12896ms.
650
650
 
651
- ✓ built in 16.09s
651
+ ✓ built in 16.46s
652
652
  Build completed successfully
@@ -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.18 formatter:check /home/runner/_work/platforma/platforma/lib/ui/uikit
3
+ > @milaboratories/uikit@2.10.20 formatter:check /home/runner/_work/platforma/platforma/lib/ui/uikit
4
4
  > ts-builder formatter --check
5
5
 
6
6
  Checking formatting...
@@ -8,5 +8,5 @@ Checking formatting...
8
8
  Checking formatting...
9
9
 
10
10
  All matched files use the correct format.
11
- Finished in 5922ms on 383 files using 8 threads.
11
+ Finished in 3782ms on 383 files using 8 threads.
12
12
  Format check completed successfully
@@ -1,10 +1,10 @@
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.18 linter:check /home/runner/_work/platforma/platforma/lib/ui/uikit
3
+ > @milaboratories/uikit@2.10.20 linter:check /home/runner/_work/platforma/platforma/lib/ui/uikit
4
4
  > ts-builder linter --check
5
5
 
6
6
  Linting project...
7
7
  ↳ oxlint --config /home/runner/_work/platforma/platforma/lib/ui/uikit/.oxlintrc.json --deny-warnings
8
8
  Found 0 warnings and 0 errors.
9
- Finished in 32ms on 309 files with 100 rules using 8 threads.
9
+ Finished in 49ms on 309 files with 98 rules using 8 threads.
10
10
  Linting completed successfully
@@ -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.18 types:check /home/runner/_work/platforma/platforma/lib/ui/uikit
3
+ > @milaboratories/uikit@2.10.20 types:check /home/runner/_work/platforma/platforma/lib/ui/uikit
4
4
  > ts-builder type-check --target browser-lib
5
5
 
6
6
  ↳ vue-tsc.js --noEmit --project ./tsconfig.json --customConditions ,
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @milaboratories/uikit
2
2
 
3
+ ## 2.10.20
4
+
5
+ ### Patch Changes
6
+
7
+ - 0ae1854: createPTableV2 + Advanced filter in AgTable
8
+ - Updated dependencies [0ae1854]
9
+ - @milaboratories/helpers@1.13.4
10
+ - @platforma-sdk/model@1.54.7
11
+
12
+ ## 2.10.19
13
+
14
+ ### Patch Changes
15
+
16
+ - Updated dependencies [2dc3b33]
17
+ - @milaboratories/helpers@1.13.3
18
+ - @platforma-sdk/model@1.53.15
19
+
3
20
  ## 2.10.18
4
21
 
5
22
  ### Patch Changes
@@ -31,7 +31,7 @@ import "../../layout/PlPlaceholder/PlPlaceholder.vue2.js";
31
31
  /* empty css */
32
32
  /* empty css */
33
33
  /* empty css */
34
- /* empty css */
34
+ /* empty css */
35
35
  /* empty css */
36
36
  import "canonicalize";
37
37
  /* empty css */
@@ -2,8 +2,8 @@ import { defineComponent as ie, mergeModels as ue, useModel as se, useSlots as c
2
2
  /* empty css */
3
3
  import { tap as ye } from "../../helpers/functions.js";
4
4
  import ke from "../PlTooltip/PlTooltip.vue.js";
5
- import we from "../../utils/DoubleContour.vue.js";
6
- /* empty css */
5
+ import we from "../../utils/DoubleContour.vue2.js";
6
+ /* empty css */
7
7
  import { useLabelNotch as xe } from "../../utils/useLabelNotch.js";
8
8
  import { deepEqual as I } from "../../helpers/objects.js";
9
9
  import Ie from "../DropdownListItem.vue.js";
@@ -4,8 +4,8 @@ import fe from "canonicalize";
4
4
  import { useWatchFetch as W } from "../../composition/useWatchFetch.js";
5
5
  import { getErrorMessage as B } from "../../helpers/error.js";
6
6
  import { deepEqual as I, deepIncludes as H } from "../../helpers/objects.js";
7
- import me from "../../utils/DoubleContour.vue.js";
8
- /* empty css */
7
+ import me from "../../utils/DoubleContour.vue2.js";
8
+ /* empty css */
9
9
  import ve from "../../utils/DropdownOverlay/DropdownOverlay.vue.js";
10
10
  import { useLabelNotch as he } from "../../utils/useLabelNotch.js";
11
11
  import _e from "../DropdownListItem.vue.js";
@@ -4,8 +4,8 @@ import { getErrorMessage as ve } from "../../helpers/error.js";
4
4
  import { tap as he } from "../../helpers/functions.js";
5
5
  import { deepEqual as x } from "../../helpers/objects.js";
6
6
  import { normalizeListOptions as we } from "../../helpers/utils.js";
7
- import ge from "../../utils/DoubleContour.vue.js";
8
- /* empty css */
7
+ import ge from "../../utils/DoubleContour.vue2.js";
8
+ /* empty css */
9
9
  import { useLabelNotch as ye } from "../../utils/useLabelNotch.js";
10
10
  import ke from "../LongText.vue.js";
11
11
  /* empty css */
@@ -2,8 +2,8 @@ import { defineComponent as te, useSlots as ne, ref as V, reactive as le, comput
2
2
  /* empty css */
3
3
  import { tap as ue, tapIf as pe } from "../../helpers/functions.js";
4
4
  import fe from "../PlTooltip/PlTooltip.vue.js";
5
- import ve from "../../utils/DoubleContour.vue.js";
6
- /* empty css */
5
+ import ve from "../../utils/DoubleContour.vue2.js";
6
+ /* empty css */
7
7
  import { useLabelNotch as me } from "../../utils/useLabelNotch.js";
8
8
  import { scrollIntoView as he } from "../../helpers/dom.js";
9
9
  import { deepEqual as C } from "../../helpers/objects.js";
@@ -3,8 +3,8 @@ import ae from "../../assets/images/required.svg.js";
3
3
  import { getErrorMessage as ue } from "../../helpers/error.js";
4
4
  import { deepEqual as V, deepIncludes as B } from "../../helpers/objects.js";
5
5
  import { normalizeListOptions as de } from "../../helpers/utils.js";
6
- import ce from "../../utils/DoubleContour.vue.js";
7
- /* empty css */
6
+ import ce from "../../utils/DoubleContour.vue2.js";
7
+ /* empty css */
8
8
  import pe from "../../utils/DropdownOverlay/DropdownOverlay.vue.js";
9
9
  import { useLabelNotch as fe } from "../../utils/useLabelNotch.js";
10
10
  import me from "../DropdownListItem.vue.js";
@@ -3,8 +3,8 @@ import { defineComponent as I, reactive as $, useSlots as q, computed as s, watc
3
3
  import { prettyBytes as g } from "@milaboratories/helpers";
4
4
  import { getFileNameFromHandle as A, getFilePathFromHandle as G } from "@platforma-sdk/model";
5
5
  import { getErrorMessage as J } from "../../helpers/error.js";
6
- import Q from "../../utils/DoubleContour.vue.js";
7
- /* empty css */
6
+ import Q from "../../utils/DoubleContour.vue2.js";
7
+ /* empty css */
8
8
  import { useLabelNotch as W } from "../../utils/useLabelNotch.js";
9
9
  import X from "../PlFileDialog/PlFileDialog.vue.js";
10
10
  import m from "../PlIcon24/PlIcon24.vue.js";
@@ -4,8 +4,8 @@ import h from "../PlIcon24/PlIcon24.vue.js";
4
4
  import { okOptional as $, tapIf as I } from "@milaboratories/helpers";
5
5
  import { useLogHandle as O } from "./useLogHandle.js";
6
6
  import { useLabelNotch as j } from "../../utils/useLabelNotch.js";
7
- import q from "../../utils/DoubleContour.vue.js";
8
- /* empty css */
7
+ import q from "../../utils/DoubleContour.vue2.js";
8
+ /* empty css */
9
9
  import y from "../PlTooltip/PlTooltip.vue.js";
10
10
  import { downloadContent as z } from "../../helpers/downloadContent.js";
11
11
  const M = { key: 0 }, G = { class: "pl-log-view__copy" }, J = {
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as _, mergeModels as A, useModel as R, useSlots as $, ref as c, computed as s, watch as F, createElementBlock as m, openBlock as v, normalizeClass as p, createElementVNode as r, createCommentVNode as g, createVNode as P, withDirectives as j, createTextVNode as T, createBlock as U, toDisplayString as M, unref as C, withCtx as K, renderSlot as Z, vModelText as q } from "vue";
2
2
  /* empty css */
3
- import z from "../../utils/DoubleContour.vue.js";
4
- /* empty css */
3
+ import z from "../../utils/DoubleContour.vue2.js";
4
+ /* empty css */
5
5
  import { useLabelNotch as G } from "../../utils/useLabelNotch.js";
6
6
  import H from "../PlTooltip/PlTooltip.vue.js";
7
7
  import { parseNumber as D } from "./parseNumber.js";
@@ -23,7 +23,7 @@ import "../../layout/PlPlaceholder/PlPlaceholder.vue2.js";
23
23
  /* empty css */
24
24
  /* empty css */
25
25
  /* empty css */
26
- /* empty css */
26
+ /* empty css */
27
27
  /* empty css */
28
28
  import "canonicalize";
29
29
  /* empty css */
@@ -1,8 +1,8 @@
1
1
  import { defineComponent as E, useSlots as S, ref as v, computed as a, onMounted as $, createElementBlock as s, openBlock as o, createElementVNode as n, createCommentVNode as i, normalizeClass as C, withDirectives as N, createVNode as q, createBlock as g, unref as d, toDisplayString as c, withCtx as D, renderSlot as b, vModelText as M } from "vue";
2
2
  /* empty css */
3
3
  import j from "../PlTooltip/PlTooltip.vue.js";
4
- import H from "../../utils/DoubleContour.vue.js";
5
- /* empty css */
4
+ import H from "../../utils/DoubleContour.vue2.js";
5
+ /* empty css */
6
6
  import { useLabelNotch as P } from "../../utils/useLabelNotch.js";
7
7
  import { useValidation as T } from "../../utils/useValidation.js";
8
8
  import { getErrorMessage as z } from "../../helpers/error.js";
@@ -1,8 +1,8 @@
1
1
  import { defineComponent as I, mergeModels as N, useSlots as $, useModel as O, ref as h, reactive as T, computed as i, createElementBlock as d, openBlock as a, createElementVNode as p, createCommentVNode as n, normalizeClass as j, withDirectives as z, createVNode as L, createBlock as f, unref as c, toDisplayString as m, withCtx as U, renderSlot as E, vModelDynamic as A, withModifiers as V } from "vue";
2
2
  import G from "../../assets/images/required.svg.js";
3
3
  import { getErrorMessage as H } from "../../helpers/error.js";
4
- import J from "../../utils/DoubleContour.vue.js";
5
- /* empty css */
4
+ import J from "../../utils/DoubleContour.vue2.js";
5
+ /* empty css */
6
6
  import { useLabelNotch as K } from "../../utils/useLabelNotch.js";
7
7
  import { useValidation as Q } from "../../utils/useValidation.js";
8
8
  import W from "../PlIcon16/PlIcon16.vue.js";
@@ -541,6 +541,27 @@ export declare const filterUiMetadata: {
541
541
  };
542
542
  supportedFor: typeof isStringValueType;
543
543
  };
544
+ ifNa: {
545
+ label: string;
546
+ form: {
547
+ column: {
548
+ label: string;
549
+ fieldType: "SUniversalPColumnId";
550
+ defaultValue: () => undefined;
551
+ };
552
+ type: {
553
+ label: string;
554
+ fieldType: "FilterType";
555
+ defaultValue: () => "ifNa";
556
+ };
557
+ replacement: {
558
+ label: string;
559
+ fieldType: "string";
560
+ defaultValue: () => string;
561
+ };
562
+ };
563
+ supportedFor: () => true;
564
+ };
544
565
  };
545
566
  export declare function getFilterUiTypeOptions(columnSpec?: SimplifiedPColumnSpec): {
546
567
  label: string;
@@ -1061,6 +1082,26 @@ export declare function getFilterUiMetadata(type: FilterSpecType): {
1061
1082
  };
1062
1083
  };
1063
1084
  supportedFor: typeof isStringValueType;
1085
+ } | {
1086
+ label: string;
1087
+ form: {
1088
+ column: {
1089
+ label: string;
1090
+ fieldType: "SUniversalPColumnId";
1091
+ defaultValue: () => undefined;
1092
+ };
1093
+ type: {
1094
+ label: string;
1095
+ fieldType: "FilterType";
1096
+ defaultValue: () => "ifNa";
1097
+ };
1098
+ replacement: {
1099
+ label: string;
1100
+ fieldType: "string";
1101
+ defaultValue: () => string;
1102
+ };
1103
+ };
1104
+ supportedFor: () => true;
1064
1105
  };
1065
1106
  declare function isNumericValueType(spec: SimplifiedPColumnSpec): boolean;
1066
1107
  declare function isStringValueType(spec: SimplifiedPColumnSpec): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/composition/filters/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGlF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAmJH,qBAAqB,UAAU,qBAAqB,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;8BA4B9D,qBAAqB,UAAU,qBAAqB,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;8BA4B9D,qBAAqB,UAAU,qBAAqB,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;8BA4B9D,qBAAqB,UAAU,qBAAqB,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;8BA4B9D,qBAAqB,UAAU,qBAAqB,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuSpC,CAAC;AAErD,wBAAgB,sBAAsB,CAAC,UAAU,CAAC,EAAE,qBAAqB;;;IAWxE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAta9B,qBAAqB,UAAU,qBAAqB,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;0BA4B9D,qBAAqB,UAAU,qBAAqB,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;0BA4B9D,qBAAqB,UAAU,qBAAqB,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;0BA4B9D,qBAAqB,UAAU,qBAAqB,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;0BA4B9D,qBAAqB,UAAU,qBAAqB,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwTvF;AAED,iBAAS,kBAAkB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAOhE;AAED,iBAAS,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAE/D"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/composition/filters/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGlF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAmJH,qBAAqB,UAAU,qBAAqB,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;8BA4B9D,qBAAqB,UAAU,qBAAqB,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;8BA4B9D,qBAAqB,UAAU,qBAAqB,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;8BA4B9D,qBAAqB,UAAU,qBAAqB,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;8BA4B9D,qBAAqB,UAAU,qBAAqB,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4TpC,CAAC;AAErD,wBAAgB,sBAAsB,CAAC,UAAU,CAAC,EAAE,qBAAqB;;;IAWxE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA3b9B,qBAAqB,UAAU,qBAAqB,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;0BA4B9D,qBAAqB,UAAU,qBAAqB,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;0BA4B9D,qBAAqB,UAAU,qBAAqB,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;0BA4B9D,qBAAqB,UAAU,qBAAqB,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;0BA4B9D,qBAAqB,UAAU,qBAAqB,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6UvF;AAED,iBAAS,kBAAkB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAOhE;AAED,iBAAS,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAE/D"}
@@ -574,6 +574,28 @@ const o = {
574
574
  }
575
575
  },
576
576
  supportedFor: u
577
+ },
578
+ ifNa: {
579
+ label: "If NA Then (Replace NA)",
580
+ form: {
581
+ column: {
582
+ label: "Column",
583
+ fieldType: "SUniversalPColumnId",
584
+ defaultValue: () => {
585
+ }
586
+ },
587
+ type: {
588
+ label: "Predicate",
589
+ fieldType: "FilterType",
590
+ defaultValue: () => "ifNa"
591
+ },
592
+ replacement: {
593
+ label: "Replacement Value",
594
+ fieldType: "string",
595
+ defaultValue: () => ""
596
+ }
597
+ },
598
+ supportedFor: () => !0
577
599
  }
578
600
  };
579
601
  function r(e) {
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sources":["../../../src/composition/filters/metadata.ts"],"sourcesContent":["import type { FilterSpecType, SimplifiedPColumnSpec } from \"@platforma-sdk/model\";\nimport type { FilterSpecMetadataRecord } from \"./types\";\n\nexport const filterUiMetadata = {\n equal: {\n label: \"Col = X (Equal)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"equal\",\n },\n x: {\n label: \"X\",\n fieldType: \"number\",\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n notEqual: {\n label: \"Col ≠ X (Not Equal)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"notEqual\",\n },\n x: {\n label: \"X\",\n fieldType: \"number\",\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n lessThan: {\n label: \"Col < X (Less Than)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"lessThan\",\n },\n x: {\n label: \"X\",\n fieldType: \"number\",\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n greaterThan: {\n label: \"Col > X (Greater Than)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"greaterThan\",\n },\n x: {\n label: \"X\",\n fieldType: \"number\",\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n lessThanOrEqual: {\n label: \"Col ≤ X (Less Than or Equal)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"lessThanOrEqual\",\n },\n x: {\n label: \"X\",\n fieldType: \"number\",\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n greaterThanOrEqual: {\n label: \"Col ≥ X (Greater Than or Equal)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"greaterThanOrEqual\",\n },\n x: {\n label: \"X\",\n fieldType: \"number\",\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n // Columns comparison\n equalToColumn: {\n label: \"Col₁ = Col₂ (Compare Columns)\",\n form: {\n column: {\n label: \"Col₁\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"equalToColumn\",\n },\n rhs: {\n label: \"Col₂\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n },\n supportedFor: (spec1: SimplifiedPColumnSpec, spec2?: SimplifiedPColumnSpec): boolean => {\n return isNumericValueType(spec1) && (spec2 === undefined || isNumericValueType(spec2));\n },\n },\n lessThanColumn: {\n label: \"Col₁ < Col₂ (Compare Columns)\",\n form: {\n column: {\n label: \"Col₁\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"lessThanColumn\",\n },\n rhs: {\n label: \"Col₂\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n minDiff: {\n label: \"Margin (positive)\",\n fieldType: \"number?\",\n defaultValue: () => undefined,\n },\n },\n supportedFor: (spec1: SimplifiedPColumnSpec, spec2?: SimplifiedPColumnSpec): boolean => {\n return isNumericValueType(spec1) && (spec2 === undefined || isNumericValueType(spec2));\n },\n },\n greaterThanColumn: {\n label: \"Col₁ > Col₂ (Compare Columns)\",\n form: {\n column: {\n label: \"Col₁\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"greaterThanColumn\",\n },\n rhs: {\n label: \"Col₂\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n minDiff: {\n label: \"Margin (positive)\",\n fieldType: \"number?\",\n defaultValue: () => undefined,\n },\n },\n supportedFor: (spec1: SimplifiedPColumnSpec, spec2?: SimplifiedPColumnSpec): boolean => {\n return isNumericValueType(spec1) && (spec2 === undefined || isNumericValueType(spec2));\n },\n },\n lessThanColumnOrEqual: {\n label: \"Col₁ ≤ Col₂ (Compare Columns)\",\n form: {\n column: {\n label: \"Col₁\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"lessThanColumnOrEqual\",\n },\n rhs: {\n label: \"Col₂\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n minDiff: {\n label: \"Margin (positive)\",\n fieldType: \"number?\",\n defaultValue: () => undefined,\n },\n },\n supportedFor: (spec1: SimplifiedPColumnSpec, spec2?: SimplifiedPColumnSpec): boolean => {\n return isNumericValueType(spec1) && (spec2 === undefined || isNumericValueType(spec2));\n },\n },\n greaterThanColumnOrEqual: {\n label: \"Col₁ ≥ Col₂ (Compare Columns)\",\n form: {\n column: {\n label: \"Col₁\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"greaterThanColumnOrEqual\",\n },\n rhs: {\n label: \"Col₂\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n minDiff: {\n label: \"Margin (positive)\",\n fieldType: \"number?\",\n defaultValue: () => undefined,\n },\n },\n supportedFor: (spec1: SimplifiedPColumnSpec, spec2?: SimplifiedPColumnSpec): boolean => {\n return isNumericValueType(spec1) && (spec2 === undefined || isNumericValueType(spec2));\n },\n },\n // Ordering filters\n topN: {\n label: \"Top N\",\n form: {\n column: {\n label: \"Rank By Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"topN\",\n },\n n: {\n label: \"N\",\n fieldType: \"number\",\n defaultValue: () => 10,\n },\n },\n supportedFor: isNumericValueType,\n },\n bottomN: {\n label: \"Bottom N\",\n form: {\n column: {\n label: \"Rank By Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"bottomN\",\n },\n n: {\n label: \"N\",\n fieldType: \"number\",\n defaultValue: () => 10,\n },\n },\n supportedFor: isNumericValueType,\n },\n patternContainSubsequence: {\n label: \"Col ~ Seq (Contain Subsequence)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"patternContainSubsequence\",\n },\n value: {\n label: \"Seq\",\n fieldType: \"string\",\n defaultValue: () => \"\",\n },\n },\n supportedFor: isStringValueType,\n },\n patternNotContainSubsequence: {\n label: \"Col ≁ Seq (Not Contain Subsequence)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"patternNotContainSubsequence\",\n },\n value: {\n label: \"Seq\",\n fieldType: \"string\",\n defaultValue: () => \"\",\n },\n },\n supportedFor: isStringValueType,\n },\n patternEquals: {\n label: \"Col = Seq (Equals)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"patternEquals\",\n },\n value: {\n label: \"Seq\",\n fieldType: \"string\",\n defaultValue: () => \"\",\n },\n },\n supportedFor: isStringValueType,\n },\n patternNotEquals: {\n label: \"Col ≠ Seq (Not Equal)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"patternNotEquals\",\n },\n value: {\n label: \"Seq\",\n fieldType: \"string\",\n defaultValue: () => \"\",\n },\n },\n supportedFor: isStringValueType,\n },\n isNA: {\n label: \"Is NA\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"isNA\",\n },\n },\n supportedFor: () => true,\n },\n isNotNA: {\n label: \"Is Not NA\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"isNotNA\",\n },\n },\n supportedFor: () => true,\n },\n or: {\n label: \"Or\",\n form: {\n type: {\n fieldType: \"FilterType\",\n label: \"Predicate\",\n defaultValue: () => \"or\",\n },\n filters: {\n fieldType: \"unknown[]\",\n label: \"Filters\",\n defaultValue: () => [],\n },\n },\n supportedFor: () => false,\n },\n and: {\n label: \"And\",\n form: {\n type: {\n fieldType: \"FilterType\",\n label: \"Predicate\",\n defaultValue: () => \"and\",\n },\n filters: {\n fieldType: \"unknown[]\",\n label: \"Filters\",\n defaultValue: () => [],\n },\n },\n supportedFor: () => false,\n },\n not: {\n label: \"Not\",\n form: {\n type: {\n fieldType: \"FilterType\",\n label: \"Predicate\",\n defaultValue: () => \"not\",\n },\n filter: {\n fieldType: \"form\",\n label: \"Filter\",\n defaultValue: () => undefined,\n },\n },\n supportedFor: () => false,\n },\n patternMatchesRegularExpression: {\n label: \"Col ~ X (Matches Regular Expression)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"patternMatchesRegularExpression\",\n },\n value: {\n label: \"Seq\",\n fieldType: \"string\",\n defaultValue: () => \"\",\n },\n },\n supportedFor: isStringValueType,\n },\n patternFuzzyContainSubsequence: {\n label: \"Col ~ Seq (Fuzzy Contain Subsequence)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"patternFuzzyContainSubsequence\",\n },\n value: {\n label: \"Set\",\n fieldType: \"string\",\n defaultValue: () => \"\",\n },\n },\n supportedFor: isStringValueType,\n },\n inSet: {\n label: \"Col ∈ Set (In Set)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"inSet\",\n },\n value: {\n fieldType: \"unknown[]\",\n label: \"Set\",\n defaultValue: () => [],\n },\n },\n supportedFor: isStringValueType,\n },\n notInSet: {\n label: \"Col ∉ Set (Not In Set)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"notInSet\",\n },\n value: {\n label: \"Seq\",\n fieldType: \"unknown[]\",\n defaultValue: () => [],\n },\n },\n supportedFor: isStringValueType,\n },\n} satisfies FilterSpecMetadataRecord<FilterSpecType>;\n\nexport function getFilterUiTypeOptions(columnSpec?: SimplifiedPColumnSpec) {\n if (!columnSpec) {\n return [];\n }\n\n return Object.entries(filterUiMetadata)\n .filter(([_, metadata]) => metadata.supportedFor(columnSpec))\n .map(([type, metadata]) => ({\n label: metadata.label,\n value: type,\n }));\n}\n\nexport function getFilterUiMetadata(type: FilterSpecType) {\n return filterUiMetadata[type];\n}\n\nfunction isNumericValueType(spec: SimplifiedPColumnSpec): boolean {\n return (\n spec.valueType === \"Int\" ||\n spec.valueType === \"Long\" ||\n spec.valueType === \"Float\" ||\n spec.valueType === \"Double\"\n );\n}\n\nfunction isStringValueType(spec: SimplifiedPColumnSpec): boolean {\n return spec.valueType === \"String\";\n}\n"],"names":["filterUiMetadata","isNumericValueType","spec1","spec2","isStringValueType","getFilterUiTypeOptions","columnSpec","_","metadata","type","getFilterUiMetadata","spec"],"mappings":"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"}
1
+ {"version":3,"file":"metadata.js","sources":["../../../src/composition/filters/metadata.ts"],"sourcesContent":["import type { FilterSpecType, SimplifiedPColumnSpec } from \"@platforma-sdk/model\";\nimport type { FilterSpecMetadataRecord } from \"./types\";\n\nexport const filterUiMetadata = {\n equal: {\n label: \"Col = X (Equal)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"equal\",\n },\n x: {\n label: \"X\",\n fieldType: \"number\",\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n notEqual: {\n label: \"Col ≠ X (Not Equal)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"notEqual\",\n },\n x: {\n label: \"X\",\n fieldType: \"number\",\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n lessThan: {\n label: \"Col < X (Less Than)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"lessThan\",\n },\n x: {\n label: \"X\",\n fieldType: \"number\",\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n greaterThan: {\n label: \"Col > X (Greater Than)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"greaterThan\",\n },\n x: {\n label: \"X\",\n fieldType: \"number\",\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n lessThanOrEqual: {\n label: \"Col ≤ X (Less Than or Equal)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"lessThanOrEqual\",\n },\n x: {\n label: \"X\",\n fieldType: \"number\",\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n greaterThanOrEqual: {\n label: \"Col ≥ X (Greater Than or Equal)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"greaterThanOrEqual\",\n },\n x: {\n label: \"X\",\n fieldType: \"number\",\n defaultValue: () => 0,\n },\n },\n supportedFor: isNumericValueType,\n },\n // Columns comparison\n equalToColumn: {\n label: \"Col₁ = Col₂ (Compare Columns)\",\n form: {\n column: {\n label: \"Col₁\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"equalToColumn\",\n },\n rhs: {\n label: \"Col₂\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n },\n supportedFor: (spec1: SimplifiedPColumnSpec, spec2?: SimplifiedPColumnSpec): boolean => {\n return isNumericValueType(spec1) && (spec2 === undefined || isNumericValueType(spec2));\n },\n },\n lessThanColumn: {\n label: \"Col₁ < Col₂ (Compare Columns)\",\n form: {\n column: {\n label: \"Col₁\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"lessThanColumn\",\n },\n rhs: {\n label: \"Col₂\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n minDiff: {\n label: \"Margin (positive)\",\n fieldType: \"number?\",\n defaultValue: () => undefined,\n },\n },\n supportedFor: (spec1: SimplifiedPColumnSpec, spec2?: SimplifiedPColumnSpec): boolean => {\n return isNumericValueType(spec1) && (spec2 === undefined || isNumericValueType(spec2));\n },\n },\n greaterThanColumn: {\n label: \"Col₁ > Col₂ (Compare Columns)\",\n form: {\n column: {\n label: \"Col₁\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"greaterThanColumn\",\n },\n rhs: {\n label: \"Col₂\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n minDiff: {\n label: \"Margin (positive)\",\n fieldType: \"number?\",\n defaultValue: () => undefined,\n },\n },\n supportedFor: (spec1: SimplifiedPColumnSpec, spec2?: SimplifiedPColumnSpec): boolean => {\n return isNumericValueType(spec1) && (spec2 === undefined || isNumericValueType(spec2));\n },\n },\n lessThanColumnOrEqual: {\n label: \"Col₁ ≤ Col₂ (Compare Columns)\",\n form: {\n column: {\n label: \"Col₁\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"lessThanColumnOrEqual\",\n },\n rhs: {\n label: \"Col₂\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n minDiff: {\n label: \"Margin (positive)\",\n fieldType: \"number?\",\n defaultValue: () => undefined,\n },\n },\n supportedFor: (spec1: SimplifiedPColumnSpec, spec2?: SimplifiedPColumnSpec): boolean => {\n return isNumericValueType(spec1) && (spec2 === undefined || isNumericValueType(spec2));\n },\n },\n greaterThanColumnOrEqual: {\n label: \"Col₁ ≥ Col₂ (Compare Columns)\",\n form: {\n column: {\n label: \"Col₁\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"greaterThanColumnOrEqual\",\n },\n rhs: {\n label: \"Col₂\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n minDiff: {\n label: \"Margin (positive)\",\n fieldType: \"number?\",\n defaultValue: () => undefined,\n },\n },\n supportedFor: (spec1: SimplifiedPColumnSpec, spec2?: SimplifiedPColumnSpec): boolean => {\n return isNumericValueType(spec1) && (spec2 === undefined || isNumericValueType(spec2));\n },\n },\n // Ordering filters\n topN: {\n label: \"Top N\",\n form: {\n column: {\n label: \"Rank By Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"topN\",\n },\n n: {\n label: \"N\",\n fieldType: \"number\",\n defaultValue: () => 10,\n },\n },\n supportedFor: isNumericValueType,\n },\n bottomN: {\n label: \"Bottom N\",\n form: {\n column: {\n label: \"Rank By Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"bottomN\",\n },\n n: {\n label: \"N\",\n fieldType: \"number\",\n defaultValue: () => 10,\n },\n },\n supportedFor: isNumericValueType,\n },\n patternContainSubsequence: {\n label: \"Col ~ Seq (Contain Subsequence)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"patternContainSubsequence\",\n },\n value: {\n label: \"Seq\",\n fieldType: \"string\",\n defaultValue: () => \"\",\n },\n },\n supportedFor: isStringValueType,\n },\n patternNotContainSubsequence: {\n label: \"Col ≁ Seq (Not Contain Subsequence)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"patternNotContainSubsequence\",\n },\n value: {\n label: \"Seq\",\n fieldType: \"string\",\n defaultValue: () => \"\",\n },\n },\n supportedFor: isStringValueType,\n },\n patternEquals: {\n label: \"Col = Seq (Equals)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"patternEquals\",\n },\n value: {\n label: \"Seq\",\n fieldType: \"string\",\n defaultValue: () => \"\",\n },\n },\n supportedFor: isStringValueType,\n },\n patternNotEquals: {\n label: \"Col ≠ Seq (Not Equal)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"patternNotEquals\",\n },\n value: {\n label: \"Seq\",\n fieldType: \"string\",\n defaultValue: () => \"\",\n },\n },\n supportedFor: isStringValueType,\n },\n isNA: {\n label: \"Is NA\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"isNA\",\n },\n },\n supportedFor: () => true,\n },\n isNotNA: {\n label: \"Is Not NA\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"isNotNA\",\n },\n },\n supportedFor: () => true,\n },\n or: {\n label: \"Or\",\n form: {\n type: {\n fieldType: \"FilterType\",\n label: \"Predicate\",\n defaultValue: () => \"or\",\n },\n filters: {\n fieldType: \"unknown[]\",\n label: \"Filters\",\n defaultValue: () => [],\n },\n },\n supportedFor: () => false,\n },\n and: {\n label: \"And\",\n form: {\n type: {\n fieldType: \"FilterType\",\n label: \"Predicate\",\n defaultValue: () => \"and\",\n },\n filters: {\n fieldType: \"unknown[]\",\n label: \"Filters\",\n defaultValue: () => [],\n },\n },\n supportedFor: () => false,\n },\n not: {\n label: \"Not\",\n form: {\n type: {\n fieldType: \"FilterType\",\n label: \"Predicate\",\n defaultValue: () => \"not\",\n },\n filter: {\n fieldType: \"form\",\n label: \"Filter\",\n defaultValue: () => undefined,\n },\n },\n supportedFor: () => false,\n },\n patternMatchesRegularExpression: {\n label: \"Col ~ X (Matches Regular Expression)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"patternMatchesRegularExpression\",\n },\n value: {\n label: \"Seq\",\n fieldType: \"string\",\n defaultValue: () => \"\",\n },\n },\n supportedFor: isStringValueType,\n },\n patternFuzzyContainSubsequence: {\n label: \"Col ~ Seq (Fuzzy Contain Subsequence)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"patternFuzzyContainSubsequence\",\n },\n value: {\n label: \"Set\",\n fieldType: \"string\",\n defaultValue: () => \"\",\n },\n },\n supportedFor: isStringValueType,\n },\n inSet: {\n label: \"Col ∈ Set (In Set)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"inSet\",\n },\n value: {\n fieldType: \"unknown[]\",\n label: \"Set\",\n defaultValue: () => [],\n },\n },\n supportedFor: isStringValueType,\n },\n notInSet: {\n label: \"Col ∉ Set (Not In Set)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"notInSet\",\n },\n value: {\n label: \"Seq\",\n fieldType: \"unknown[]\",\n defaultValue: () => [],\n },\n },\n supportedFor: isStringValueType,\n },\n ifNa: {\n label: \"If NA Then (Replace NA)\",\n form: {\n column: {\n label: \"Column\",\n fieldType: \"SUniversalPColumnId\",\n defaultValue: () => undefined,\n },\n type: {\n label: \"Predicate\",\n fieldType: \"FilterType\",\n defaultValue: () => \"ifNa\",\n },\n replacement: {\n label: \"Replacement Value\",\n fieldType: \"string\",\n defaultValue: () => \"\",\n },\n },\n supportedFor: () => true,\n },\n} satisfies FilterSpecMetadataRecord<FilterSpecType>;\n\nexport function getFilterUiTypeOptions(columnSpec?: SimplifiedPColumnSpec) {\n if (!columnSpec) {\n return [];\n }\n\n return Object.entries(filterUiMetadata)\n .filter(([_, metadata]) => metadata.supportedFor(columnSpec))\n .map(([type, metadata]) => ({\n label: metadata.label,\n value: type,\n }));\n}\n\nexport function getFilterUiMetadata(type: FilterSpecType) {\n return filterUiMetadata[type];\n}\n\nfunction isNumericValueType(spec: SimplifiedPColumnSpec): boolean {\n return (\n spec.valueType === \"Int\" ||\n spec.valueType === \"Long\" ||\n spec.valueType === \"Float\" ||\n spec.valueType === \"Double\"\n );\n}\n\nfunction isStringValueType(spec: SimplifiedPColumnSpec): boolean {\n return spec.valueType === \"String\";\n}\n"],"names":["filterUiMetadata","isNumericValueType","spec1","spec2","isStringValueType","getFilterUiTypeOptions","columnSpec","_","metadata","type","getFilterUiMetadata","spec"],"mappings":"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"}
@@ -20,4 +20,4 @@ const d = {
20
20
  export {
21
21
  m as default
22
22
  };
23
- //# sourceMappingURL=DoubleContour.vue.js.map
23
+ //# sourceMappingURL=DoubleContour.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DoubleContour.vue2.js","sources":["../../src/utils/DoubleContour.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nwithDefaults(\n defineProps<{\n groupPosition?:\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\"\n | \"top-left\"\n | \"top-right\"\n | \"bottom-left\"\n | \"bottom-right\"\n | \"middle\";\n }>(),\n {\n groupPosition: undefined,\n },\n);\n</script>\n\n<script lang=\"ts\">\nexport default {\n inheritAttrs: false,\n};\n</script>\n\n<template>\n <div class=\"double-contour\" :class=\"{ [groupPosition]: true }\">\n <div v-bind=\"$attrs\">\n <slot />\n </div>\n </div>\n</template>\n<style>\n.double-contour {\n &.top > div {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n }\n}\n.double-contour {\n &.bottom > div {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n }\n}\n.double-contour {\n &.left > div {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n}\n.double-contour {\n &.right > div {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n}\n.double-contour {\n &.top-left > div {\n border-top-right-radius: 0;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n}\n.double-contour {\n &.top-right > div {\n border-bottom-right-radius: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n}\n.double-contour {\n &.bottom-left > div {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: 0;\n }\n}\n.double-contour {\n &.bottom-right > div {\n border-top-right-radius: 0;\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n }\n}\n.double-contour {\n &.middle > div {\n border-radius: 0;\n }\n}\n</style>\n"],"names":["__default__","_createElementBlock","_normalizeClass","__props","_createElementVNode","$attrs","_renderSlot","_ctx"],"mappings":";AAqBA,MAAAA,IAAe;AAAA,EACb,cAAc;AAChB;;;;;;;2BAIEC,EAIM,OAAA;AAAA,MAJD,OAAKC,EAAA,CAAC,kBAAgB,EAAA,CAAYC,EAAA,aAAa,GAAA,IAAA,CAAA;AAAA,IAAA;MAClDC,EAEM,WAFOC,EAAAA,MAAM,CAAA,GAAA;AAAA,QACjBC,EAAQC,EAAA,QAAA,SAAA;AAAA,MAAA;;;;"}
@@ -1,5 +1,5 @@
1
- import o from "./DoubleContour.vue.js";
2
- /* empty css */
1
+ import o from "./DoubleContour.vue2.js";
2
+ /* empty css */
3
3
  export {
4
4
  o as default
5
5
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milaboratories/uikit",
3
- "version": "2.10.18",
3
+ "version": "2.10.20",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "exports": {
@@ -32,8 +32,8 @@
32
32
  "resize-observer-polyfill": "^1.5.1",
33
33
  "sortablejs": "^1.15.6",
34
34
  "vue": "^3.5.24",
35
- "@platforma-sdk/model": "1.53.15",
36
- "@milaboratories/helpers": "1.13.2"
35
+ "@milaboratories/helpers": "1.13.4",
36
+ "@platforma-sdk/model": "1.54.7"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@vitest/coverage-istanbul": "^4.0.16",
@@ -41,9 +41,9 @@
41
41
  "svgo": "^3.3.2",
42
42
  "typescript": "~5.6.3",
43
43
  "vitest": "^4.0.16",
44
- "@milaboratories/ts-builder": "1.2.7",
44
+ "@milaboratories/ts-builder": "1.2.10",
45
45
  "@milaboratories/ts-configs": "1.2.1",
46
- "@milaboratories/build-configs": "1.4.3"
46
+ "@milaboratories/build-configs": "1.4.4"
47
47
  },
48
48
  "scripts": {
49
49
  "dev": "ts-builder serve --target browser-lib --build-config ./build.browser-lib.config.js",
@@ -555,6 +555,27 @@ export const filterUiMetadata = {
555
555
  },
556
556
  supportedFor: isStringValueType,
557
557
  },
558
+ ifNa: {
559
+ label: "If NA Then (Replace NA)",
560
+ form: {
561
+ column: {
562
+ label: "Column",
563
+ fieldType: "SUniversalPColumnId",
564
+ defaultValue: () => undefined,
565
+ },
566
+ type: {
567
+ label: "Predicate",
568
+ fieldType: "FilterType",
569
+ defaultValue: () => "ifNa",
570
+ },
571
+ replacement: {
572
+ label: "Replacement Value",
573
+ fieldType: "string",
574
+ defaultValue: () => "",
575
+ },
576
+ },
577
+ supportedFor: () => true,
578
+ },
558
579
  } satisfies FilterSpecMetadataRecord<FilterSpecType>;
559
580
 
560
581
  export function getFilterUiTypeOptions(columnSpec?: SimplifiedPColumnSpec) {
@@ -1 +0,0 @@
1
- {"version":3,"file":"DoubleContour.vue.js","sources":["../../src/utils/DoubleContour.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nwithDefaults(\n defineProps<{\n groupPosition?:\n | \"top\"\n | \"bottom\"\n | \"left\"\n | \"right\"\n | \"top-left\"\n | \"top-right\"\n | \"bottom-left\"\n | \"bottom-right\"\n | \"middle\";\n }>(),\n {\n groupPosition: undefined,\n },\n);\n</script>\n\n<script lang=\"ts\">\nexport default {\n inheritAttrs: false,\n};\n</script>\n\n<template>\n <div class=\"double-contour\" :class=\"{ [groupPosition]: true }\">\n <div v-bind=\"$attrs\">\n <slot />\n </div>\n </div>\n</template>\n<style>\n.double-contour {\n &.top > div {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n }\n}\n.double-contour {\n &.bottom > div {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n }\n}\n.double-contour {\n &.left > div {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n}\n.double-contour {\n &.right > div {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n}\n.double-contour {\n &.top-left > div {\n border-top-right-radius: 0;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n}\n.double-contour {\n &.top-right > div {\n border-bottom-right-radius: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n}\n.double-contour {\n &.bottom-left > div {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: 0;\n }\n}\n.double-contour {\n &.bottom-right > div {\n border-top-right-radius: 0;\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n }\n}\n.double-contour {\n &.middle > div {\n border-radius: 0;\n }\n}\n</style>\n"],"names":["__default__","_createElementBlock","_normalizeClass","__props","_createElementVNode","$attrs","_renderSlot","_ctx"],"mappings":";AAqBA,MAAAA,IAAe;AAAA,EACb,cAAc;AAChB;;;;;;;2BAIEC,EAIM,OAAA;AAAA,MAJD,OAAKC,EAAA,CAAC,kBAAgB,EAAA,CAAYC,EAAA,aAAa,GAAA,IAAA,CAAA;AAAA,IAAA;MAClDC,EAEM,WAFOC,EAAAA,MAAM,CAAA,GAAA;AAAA,QACjBC,EAAQC,EAAA,QAAA,SAAA;AAAA,MAAA;;;;"}