@platforma-sdk/ui-vue 1.83.0 → 1.83.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/.turbo/turbo-build.log +164 -15
  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 +2 -2
  5. package/CHANGELOG.md +24 -0
  6. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js +1 -1
  7. package/dist/components/PlAgDataTable/compositions/useFilterableColumns.d.ts +16 -16
  8. package/dist/components/PlAnnotations/components/AnnotationsSidebar.js.map +1 -1
  9. package/dist/components/PlAnnotations/components/AnnotationsSidebar.style.js.map +1 -1
  10. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue2.js +1 -1
  11. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue2.js.map +1 -1
  12. package/dist/components/PlAnnotations/components/FilterSidebar.js.map +1 -1
  13. package/dist/components/PlAnnotations/components/FilterSidebar.style.js.map +1 -1
  14. package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js +1 -1
  15. package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js.map +1 -1
  16. package/dist/components/PlAnnotations/components/PlAnnotations.vue2.js.map +1 -1
  17. package/dist/internal/createAppV3.d.ts +1 -1
  18. package/package.json +7 -7
  19. package/src/components/PlAnnotations/components/AnnotationsSidebar.vue +2 -2
  20. package/src/components/PlAnnotations/components/FilterSidebar.vue +2 -2
  21. package/dist/components/BlockLayout.vue.d.ts +0 -3
  22. package/dist/components/BlockLayout.vue.d.ts.map +0 -1
  23. package/dist/components/BlockLoader.vue.d.ts +0 -6
  24. package/dist/components/BlockLoader.vue.d.ts.map +0 -1
  25. package/dist/components/LoaderPage.vue.d.ts +0 -3
  26. package/dist/components/LoaderPage.vue.d.ts.map +0 -1
  27. package/dist/components/NotFound.vue.d.ts +0 -3
  28. package/dist/components/NotFound.vue.d.ts.map +0 -1
  29. package/dist/components/PlAdvancedFilter/FilterEditor.vue.d.ts +0 -23
  30. package/dist/components/PlAdvancedFilter/FilterEditor.vue.d.ts.map +0 -1
  31. package/dist/components/PlAdvancedFilter/OperandButton.vue.d.ts +0 -9
  32. package/dist/components/PlAdvancedFilter/OperandButton.vue.d.ts.map +0 -1
  33. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.d.ts +0 -55
  34. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.d.ts.map +0 -1
  35. package/dist/components/PlAgCellFile/PlAgCellFile.vue.d.ts +0 -26
  36. package/dist/components/PlAgCellFile/PlAgCellFile.vue.d.ts.map +0 -1
  37. package/dist/components/PlAgCellProgress/PlAgCellProgress.vue.d.ts +0 -8
  38. package/dist/components/PlAgCellProgress/PlAgCellProgress.vue.d.ts.map +0 -1
  39. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue.d.ts +0 -10
  40. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue.d.ts.map +0 -1
  41. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue.d.ts +0 -11
  42. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue.d.ts.map +0 -1
  43. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue.d.ts +0 -8
  44. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue.d.ts.map +0 -1
  45. package/dist/components/PlAgColumnHeader/PlAgColumnHeader.vue.d.ts +0 -10
  46. package/dist/components/PlAgColumnHeader/PlAgColumnHeader.vue.d.ts.map +0 -1
  47. package/dist/components/PlAgCsvExporter/PlAgCsvExporter.vue.d.ts +0 -10
  48. package/dist/components/PlAgCsvExporter/PlAgCsvExporter.vue.d.ts.map +0 -1
  49. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue.d.ts +0 -31
  50. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue.d.ts.map +0 -1
  51. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue.d.ts +0 -94
  52. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue.d.ts.map +0 -1
  53. package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue.d.ts +0 -10
  54. package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue.d.ts.map +0 -1
  55. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue.d.ts +0 -9
  56. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue.d.ts.map +0 -1
  57. package/dist/components/PlAgDataTable/PlAgRowCount.vue.d.ts +0 -9
  58. package/dist/components/PlAgDataTable/PlAgRowCount.vue.d.ts.map +0 -1
  59. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue.d.ts +0 -17
  60. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue.d.ts.map +0 -1
  61. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.d.ts +0 -7
  62. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.d.ts.map +0 -1
  63. package/dist/components/PlAgRowNumHeader.vue.d.ts +0 -7
  64. package/dist/components/PlAgRowNumHeader.vue.d.ts.map +0 -1
  65. package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue.d.ts +0 -32
  66. package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue.d.ts.map +0 -1
  67. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue.d.ts +0 -14
  68. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue.d.ts.map +0 -1
  69. package/dist/components/PlAnnotations/components/FilterSidebar.vue.d.ts +0 -26
  70. package/dist/components/PlAnnotations/components/FilterSidebar.vue.d.ts.map +0 -1
  71. package/dist/components/PlAnnotations/components/PlAnnotations.vue.d.ts +0 -10
  72. package/dist/components/PlAnnotations/components/PlAnnotations.vue.d.ts.map +0 -1
  73. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue.d.ts +0 -8
  74. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue.d.ts.map +0 -1
  75. package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue.d.ts +0 -11
  76. package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue.d.ts.map +0 -1
  77. package/dist/components/PlBtnExportArchive/Item.vue.d.ts +0 -7
  78. package/dist/components/PlBtnExportArchive/Item.vue.d.ts.map +0 -1
  79. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue.d.ts +0 -35
  80. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue.d.ts.map +0 -1
  81. package/dist/components/PlBtnExportArchive/Summary.vue.d.ts +0 -11
  82. package/dist/components/PlBtnExportArchive/Summary.vue.d.ts.map +0 -1
  83. package/dist/components/PlDatasetSelector/PlDatasetSelector.vue.d.ts +0 -77
  84. package/dist/components/PlDatasetSelector/PlDatasetSelector.vue.d.ts.map +0 -1
  85. package/dist/components/PlTableFastSearch/PlTableFastSearch.vue.d.ts +0 -10
  86. package/dist/components/PlTableFastSearch/PlTableFastSearch.vue.d.ts.map +0 -1
  87. package/dist/components/PlTableFilters/PlTableFiltersV2.vue.d.ts +0 -14
  88. package/dist/components/PlTableFilters/PlTableFiltersV2.vue.d.ts.map +0 -1
  89. package/dist/plugins/Monetization/EndOfPeriod.vue.d.ts +0 -6
  90. package/dist/plugins/Monetization/EndOfPeriod.vue.d.ts.map +0 -1
  91. package/dist/plugins/Monetization/LimitCard.vue.d.ts +0 -11
  92. package/dist/plugins/Monetization/LimitCard.vue.d.ts.map +0 -1
  93. package/dist/plugins/Monetization/MonetizationSidebar.vue.d.ts +0 -3
  94. package/dist/plugins/Monetization/MonetizationSidebar.vue.d.ts.map +0 -1
  95. package/dist/plugins/Monetization/RunStatus.vue.d.ts +0 -23
  96. package/dist/plugins/Monetization/RunStatus.vue.d.ts.map +0 -1
  97. package/dist/plugins/Monetization/UserCabinetCard.vue.d.ts +0 -7
  98. package/dist/plugins/Monetization/UserCabinetCard.vue.d.ts.map +0 -1
@@ -1,13 +1,162 @@
1
1
   WARN  Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-sdk/ui-vue@1.83.0 build /home/runner/_work/platforma/platforma/sdk/ui-vue
3
+ > @platforma-sdk/ui-vue@1.83.1 build /home/runner/_work/platforma/platforma/sdk/ui-vue
4
4
  > ts-builder build --target browser-lib
5
5
 
6
6
  Building browser-lib project...
7
7
  ↳ vite.js build --config /configs/vite.browser-lib.config.js --mode production
8
8
  vite v8.0.6 building client environment for production...
9
9
  [warn] `inlineDynamicImports` option is deprecated, please use `codeSplitting: false` instead.
10
- src/components/PlAgGridColumnManager/useGridColumns.ts:4:17 - error TS2742: The inferred type of 'useGridColumns' cannot be named without a reference to '.pnpm/ag-grid-community@34.1.2/node_modules/ag-grid-community/dist/types/src/interfaces/iColumn'. This is likely not portable. A type annotation is necessary.
10
+ src/components/PlAgGridColumnManager/useGridColumns.ts:4:17 - error TS2883: The inferred type of 'useGridColumns' cannot be named without a reference to 'ColumnEventName' from '../../../../../node_modules/.pnpm/ag-grid-community@34.1.2/node_modules/ag-grid-community/dist/types/src/interfaces/iColumn'. This is likely not portable. A type annotation is necessary.
11
+
12
+ 4 export function useGridColumns(props: { api: GridApi }) {
13
+    ~~~~~~~~~~~~~~
14
+ src/components/PlAgGridColumnManager/useGridColumns.ts:4:17 - error TS2883: The inferred type of 'useGridColumns' cannot be named without a reference to 'ColumnInstanceId' from '../../../../../node_modules/.pnpm/ag-grid-community@34.1.2/node_modules/ag-grid-community/dist/types/src/interfaces/iColumn'. This is likely not portable. A type annotation is necessary.
15
+
16
+ 4 export function useGridColumns(props: { api: GridApi }) {
17
+    ~~~~~~~~~~~~~~
18
+ src/components/PlAgGridColumnManager/useGridColumns.ts:4:17 - error TS2883: The inferred type of 'useGridColumns' cannot be named without a reference to 'HeaderColumnId' from '../../../../../node_modules/.pnpm/ag-grid-community@34.1.2/node_modules/ag-grid-community/dist/types/src/interfaces/iColumn'. This is likely not portable. A type annotation is necessary.
19
+
20
+ 4 export function useGridColumns(props: { api: GridApi }) {
21
+    ~~~~~~~~~~~~~~
22
+ src/components/PlAdvancedFilter/FilterEditor.test.ts:37:33 - error TS2307: Cannot find module './FilterEditor.vue' or its corresponding type declarations.
23
+
24
+ 37 let FilterEditor: typeof import("./FilterEditor.vue").default;
25
+    ~~~~~~~~~~~~~~~~~~~~
26
+ src/components/PlAdvancedFilter/FilterEditor.test.ts:46:32 - error TS2307: Cannot find module './FilterEditor.vue' or its corresponding type declarations.
27
+
28
+ 46 FilterEditor = (await import("./FilterEditor.vue")).default;
29
+    ~~~~~~~~~~~~~~~~~~~~
30
+ src/components/PlAdvancedFilter/index.ts:9:54 - error TS2307: Cannot find module './PlAdvancedFilter.vue' or its corresponding type declarations.
31
+
32
+ 9 export { default as PlAdvancedFilterComponent } from "./PlAdvancedFilter.vue";
33
+    ~~~~~~~~~~~~~~~~~~~~~~~~
34
+ src/components/PlAgCellFile/index.ts:1:41 - error TS2307: Cannot find module './PlAgCellFile.vue' or its corresponding type declarations.
35
+
36
+ 1 export { default as PlAgCellFile } from "./PlAgCellFile.vue";
37
+    ~~~~~~~~~~~~~~~~~~~~
38
+ src/components/PlAgCellProgress/index.ts:1:45 - error TS2307: Cannot find module './PlAgCellProgress.vue' or its corresponding type declarations.
39
+
40
+ 1 export { default as PlAgCellProgress } from "./PlAgCellProgress.vue";
41
+    ~~~~~~~~~~~~~~~~~~~~~~~~
42
+ src/components/PlAgCellStatusTag/index.ts:1:46 - error TS2307: Cannot find module './PlAgCellStatusTag.vue' or its corresponding type declarations.
43
+
44
+ 1 export { default as PlAgCellStatusTag } from "./PlAgCellStatusTag.vue";
45
+    ~~~~~~~~~~~~~~~~~~~~~~~~~
46
+ src/components/PlAgChartHistogramCell/index.ts:1:51 - error TS2307: Cannot find module './PlAgChartHistogramCell.vue' or its corresponding type declarations.
47
+
48
+ 1 export { default as PlAgChartHistogramCell } from "./PlAgChartHistogramCell.vue";
49
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50
+ src/components/PlAgChartStackedBarCell/index.ts:1:52 - error TS2307: Cannot find module './PlAgChartStackedBarCell.vue' or its corresponding type declarations.
51
+
52
+ 1 export { default as PlAgChartStackedBarCell } from "./PlAgChartStackedBarCell.vue";
53
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
54
+ src/components/PlAgColumnHeader/index.ts:1:45 - error TS2307: Cannot find module './PlAgColumnHeader.vue' or its corresponding type declarations.
55
+
56
+ 1 export { default as PlAgColumnHeader } from "./PlAgColumnHeader.vue";
57
+    ~~~~~~~~~~~~~~~~~~~~~~~~
58
+ src/components/PlAgCsvExporter/index.ts:1:44 - error TS2307: Cannot find module './PlAgCsvExporter.vue' or its corresponding type declarations.
59
+
60
+ 1 export { default as PlAgCsvExporter } from "./PlAgCsvExporter.vue";
61
+    ~~~~~~~~~~~~~~~~~~~~~~~
62
+ src/components/PlAgDataTable/compositions/useGrid.ts:18:30 - error TS2307: Cannot find module '../PlAgOverlayLoading.vue' or its corresponding type declarations.
63
+
64
+ 18 import PlOverlayLoading from "../PlAgOverlayLoading.vue";
65
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
66
+ src/components/PlAgDataTable/compositions/useGrid.ts:19:29 - error TS2307: Cannot find module '../PlAgOverlayNoRows.vue' or its corresponding type declarations.
67
+
68
+ 19 import PlOverlayNoRows from "../PlAgOverlayNoRows.vue";
69
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~
70
+ src/components/PlAgDataTable/index.ts:5:42 - error TS2307: Cannot find module './PlAgDataTableV2.vue' or its corresponding type declarations.
71
+
72
+ 5 export { default as PlDataTableV2 } from "./PlAgDataTableV2.vue";
73
+    ~~~~~~~~~~~~~~~~~~~~~~~
74
+ src/components/PlAgDataTable/index.ts:6:47 - error TS2307: Cannot find module './PlAgOverlayLoading.vue' or its corresponding type declarations.
75
+
76
+ 6 export { default as PlAgOverlayLoading } from "./PlAgOverlayLoading.vue";
77
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~
78
+ src/components/PlAgDataTable/index.ts:7:46 - error TS2307: Cannot find module './PlAgOverlayNoRows.vue' or its corresponding type declarations.
79
+
80
+ 7 export { default as PlAgOverlayNoRows } from "./PlAgOverlayNoRows.vue";
81
+    ~~~~~~~~~~~~~~~~~~~~~~~~~
82
+ src/components/PlAgDataTable/sources/row-number.ts:10:30 - error TS2307: Cannot find module '../../PlAgRowNumHeader.vue' or its corresponding type declarations.
83
+
84
+ 10 import PlAgRowNumHeader from "../../PlAgRowNumHeader.vue";
85
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86
+ src/components/PlAgGridColumnManager/index.ts:1:50 - error TS2307: Cannot find module './PlAgGridColumnManager.vue' or its corresponding type declarations.
87
+
88
+ 1 export { default as PlAgGridColumnManager } from "./PlAgGridColumnManager.vue";
89
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
90
+ src/components/PlAgRowNumCheckbox/index.ts:1:47 - error TS2307: Cannot find module './PlAgRowNumCheckbox.vue' or its corresponding type declarations.
91
+
92
+ 1 export { default as PlAgRowNumCheckbox } from "./PlAgRowNumCheckbox.vue";
93
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~
94
+ src/components/PlAgTextAndButtonCell/index.ts:1:50 - error TS2307: Cannot find module './PlAgTextAndButtonCell.vue' or its corresponding type declarations.
95
+
96
+ 1 export { default as PlAgTextAndButtonCell } from "./PlAgTextAndButtonCell.vue";
97
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
98
+ src/components/PlAnnotations/index.ts:1:42 - error TS2307: Cannot find module './components/PlAnnotations.vue' or its corresponding type declarations.
99
+
100
+ 1 export { default as PlAnnotations } from "./components/PlAnnotations.vue";
101
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
102
+ src/components/PlAnnotations/index.ts:2:47 - error TS2307: Cannot find module './components/PlAnnotationsModal.vue' or its corresponding type declarations.
103
+
104
+ 2 export { default as PlAnnotationsModal } from "./components/PlAnnotationsModal.vue";
105
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
106
+ src/components/PlAppErrorNotificationAlert/index.ts:1:56 - error TS2307: Cannot find module './PlAppErrorNotificationAlert.vue' or its corresponding type declarations.
107
+
108
+ 1 export { default as PlAppErrorNotificationAlert } from "./PlAppErrorNotificationAlert.vue";
109
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
110
+ src/components/PlBtnExportArchive/index.ts:1:47 - error TS2307: Cannot find module './PlBtnExportArchive.vue' or its corresponding type declarations.
111
+
112
+ 1 export { default as PlBtnExportArchive } from "./PlBtnExportArchive.vue";
113
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~
114
+ src/components/PlDatasetSelector/__tests__/PlDatasetSelector.jsdomtest.ts:5:31 - error TS2307: Cannot find module '../PlDatasetSelector.vue' or its corresponding type declarations.
115
+
116
+ 5 import PlDatasetSelector from "../PlDatasetSelector.vue";
117
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~
118
+ src/components/PlDatasetSelector/index.ts:1:46 - error TS2307: Cannot find module './PlDatasetSelector.vue' or its corresponding type declarations.
119
+
120
+ 1 export { default as PlDatasetSelector } from "./PlDatasetSelector.vue";
121
+    ~~~~~~~~~~~~~~~~~~~~~~~~~
122
+ src/components/PlTableFastSearch/index.ts:1:46 - error TS2307: Cannot find module './PlTableFastSearch.vue' or its corresponding type declarations.
123
+
124
+ 1 export { default as PlTableFastSearch } from "./PlTableFastSearch.vue";
125
+    ~~~~~~~~~~~~~~~~~~~~~~~~~
126
+ src/components/PlTableFilters/index.ts:1:45 - error TS2307: Cannot find module './PlTableFiltersV2.vue' or its corresponding type declarations.
127
+
128
+ 1 export { default as PlTableFiltersV2 } from "./PlTableFiltersV2.vue";
129
+    ~~~~~~~~~~~~~~~~~~~~~~~~
130
+ src/lib.ts:3:40 - error TS2307: Cannot find module './components/BlockLayout.vue' or its corresponding type declarations.
131
+
132
+ 3 export { default as BlockLayout } from "./components/BlockLayout.vue";
133
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
134
+ src/lib.ts:4:44 - error TS2307: Cannot find module './components/PlAgDataTable/PlAgDataTableV2.vue' or its corresponding type declarations.
135
+
136
+ 4 export { default as PlAgDataTableV2 } from "./components/PlAgDataTable/PlAgDataTableV2.vue";
137
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
138
+ src/lib.ts:5:47 - error TS2307: Cannot find module './components/PlAgDataTable/PlAgOverlayLoading.vue' or its corresponding type declarations.
139
+
140
+ 5 export { default as PlAgOverlayLoading } from "./components/PlAgDataTable/PlAgOverlayLoading.vue";
141
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
142
+ src/lib.ts:6:46 - error TS2307: Cannot find module './components/PlAgDataTable/PlAgOverlayNoRows.vue' or its corresponding type declarations.
143
+
144
+ 6 export { default as PlAgOverlayNoRows } from "./components/PlAgDataTable/PlAgOverlayNoRows.vue";
145
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
146
+ src/plugins/Monetization/index.ts:1:33 - error TS2307: Cannot find module './MonetizationSidebar.vue' or its corresponding type declarations.
147
+
148
+ 1 import MonetizationSidebar from "./MonetizationSidebar.vue";
149
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
150
+
151
+ src/components/PlAgGridColumnManager/useGridColumns.ts:4:17 - error TS2883: The inferred type of 'useGridColumns' cannot be named without a reference to 'ColumnEventName' from '../../../../../node_modules/.pnpm/ag-grid-community@34.1.2/node_modules/ag-grid-community/dist/types/src/interfaces/iColumn'. This is likely not portable. A type annotation is necessary.
152
+
153
+ 4 export function useGridColumns(props: { api: GridApi }) {
154
+    ~~~~~~~~~~~~~~
155
+ src/components/PlAgGridColumnManager/useGridColumns.ts:4:17 - error TS2883: The inferred type of 'useGridColumns' cannot be named without a reference to 'ColumnInstanceId' from '../../../../../node_modules/.pnpm/ag-grid-community@34.1.2/node_modules/ag-grid-community/dist/types/src/interfaces/iColumn'. This is likely not portable. A type annotation is necessary.
156
+
157
+ 4 export function useGridColumns(props: { api: GridApi }) {
158
+    ~~~~~~~~~~~~~~
159
+ src/components/PlAgGridColumnManager/useGridColumns.ts:4:17 - error TS2883: The inferred type of 'useGridColumns' cannot be named without a reference to 'HeaderColumnId' from '../../../../../node_modules/.pnpm/ag-grid-community@34.1.2/node_modules/ag-grid-community/dist/types/src/interfaces/iColumn'. This is likely not portable. A type annotation is necessary.
11
160
 
12
161
  4 export function useGridColumns(props: { api: GridApi }) {
13
162
     ~~~~~~~~~~~~~~
@@ -15,8 +164,8 @@ Building browser-lib project...
15
164
  
16
165
  rendering chunks...
17
166
 
18
- [vite:dts] Start generate declaration files...
19
- [vite:dts] Declaration files built in 5030ms.
167
+ [unplugin:dts] Start generate declaration files...
168
+ [unplugin:dts] Declaration files built in 2954ms.
20
169
 
21
170
  computing gzip size...
22
171
  dist/components/PlAnnotations/components/PlAnnotations.vue?vue&type=style&index=0&lang.css 0.04 kB │ gzip: 0.06 kB
@@ -119,7 +268,7 @@ dist/components/BlockLayout.js
119
268
  dist/plugins/Monetization/EndOfPeriod.js 0.34 kB │ gzip: 0.24 kB │ map: 1.21 kB
120
269
  dist/components/PlAdvancedFilter/FilterEditor.js 0.35 kB │ gzip: 0.24 kB │ map: 17.62 kB
121
270
  dist/components/PlAdvancedFilter/OperandButton.js 0.35 kB │ gzip: 0.24 kB │ map: 1.31 kB
122
- dist/components/PlAnnotations/components/FilterSidebar.js 0.35 kB │ gzip: 0.24 kB │ map: 5.40 kB
271
+ dist/components/PlAnnotations/components/FilterSidebar.js 0.35 kB │ gzip: 0.24 kB │ map: 5.42 kB
123
272
  dist/components/PlAnnotations/components/PlAnnotations.js 0.35 kB │ gzip: 0.24 kB │ map: 3.11 kB
124
273
  dist/components/PlAgDataTable/PlAgDataTableV2.js 0.35 kB │ gzip: 0.25 kB │ map: 24.08 kB
125
274
  dist/plugins/Monetization/UserCabinetCard.js 0.35 kB │ gzip: 0.24 kB │ map: 3.00 kB
@@ -129,7 +278,7 @@ dist/components/PlTableFilters/PlTableFiltersV2.js
129
278
  dist/components/PlAgCellStatusTag/PlAgCellStatusTag.js 0.36 kB │ gzip: 0.20 kB │ map: 0.74 kB
130
279
  dist/components/PlBtnExportArchive/PlBtnExportArchive.js 0.36 kB │ gzip: 0.24 kB │ map: 7.17 kB
131
280
  dist/components/PlAgDataTable/PlAgDataTableSheets.js 0.37 kB │ gzip: 0.25 kB │ map: 3.61 kB
132
- dist/components/PlAnnotations/components/AnnotationsSidebar.js 0.37 kB │ gzip: 0.24 kB │ map: 4.56 kB
281
+ dist/components/PlAnnotations/components/AnnotationsSidebar.js 0.37 kB │ gzip: 0.24 kB │ map: 4.58 kB
133
282
  dist/components/PlAnnotations/components/PlAnnotationsModal.js 0.37 kB │ gzip: 0.24 kB │ map: 1.36 kB
134
283
  dist/components/PlAgGridColumnManager/PlAgGridColumnManager.js 0.37 kB │ gzip: 0.25 kB │ map: 4.71 kB
135
284
  dist/lib/util/helpers/dist/strings.js 0.39 kB │ gzip: 0.27 kB │ map: 4.11 kB
@@ -209,9 +358,9 @@ dist/components/PlAgCsvExporter/export-csv.js
209
358
  dist/plugins/Monetization/LimitCard.vue_vue_type_script_setup_true_lang.js 3.31 kB │ gzip: 1.15 kB │ map: 9.08 kB
210
359
  dist/composition/fileContent.js 3.78 kB │ gzip: 1.45 kB │ map: 12.95 kB
211
360
  dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue_vue_type_script_setup_true_lang.js 3.83 kB │ gzip: 1.64 kB │ map: 6.89 kB
212
- dist/components/PlAnnotations/components/AnnotationsSidebar.vue_vue_type_script_setup_true_lang.js 3.89 kB │ gzip: 1.61 kB │ map: 6.51 kB
361
+ dist/components/PlAnnotations/components/AnnotationsSidebar.vue_vue_type_script_setup_true_lang.js 3.89 kB │ gzip: 1.61 kB │ map: 6.54 kB
213
362
  dist/plugins/Monetization/MonetizationSidebar.vue_vue_type_script_setup_true_lang.js 3.96 kB │ gzip: 1.71 kB │ map: 5.71 kB
214
- dist/components/PlAnnotations/components/FilterSidebar.vue_vue_type_script_setup_true_lang.js 3.97 kB │ gzip: 1.56 kB │ map: 7.42 kB
363
+ dist/components/PlAnnotations/components/FilterSidebar.vue_vue_type_script_setup_true_lang.js 3.98 kB │ gzip: 1.57 kB │ map: 7.45 kB
215
364
  dist/AgGridVue/useAgGridOptions.js 4.23 kB │ gzip: 1.32 kB │ map: 14.12 kB
216
365
  dist/index.js 4.50 kB │ gzip: 1.36 kB │ map: 0.25 kB
217
366
  dist/components/PlTableFilters/PlTableFiltersV2.vue_vue_type_script_setup_true_lang.js 4.90 kB │ gzip: 2.02 kB │ map: 9.61 kB
@@ -221,15 +370,15 @@ dist/internal/createAppV3.js
221
370
  dist/components/PlAgDataTable/sources/table-source-v2.js 7.59 kB │ gzip: 2.88 kB │ map: 27.20 kB
222
371
  dist/components/PlAdvancedFilter/PlAdvancedFilter.vue_vue_type_script_setup_true_lang.js 8.57 kB │ gzip: 2.60 kB │ map: 18.58 kB
223
372
  dist/components/PlAdvancedFilter/FilterEditor.vue_vue_type_script_setup_true_lang.js 10.58 kB │ gzip: 3.14 kB │ map: 24.73 kB
224
- dist/components/PlAgDataTable/PlAgDataTableV2.vue_vue_type_script_setup_true_lang.js 12.81 kB │ gzip: 4.02 kB │ map: 32.00 kB
373
+ dist/components/PlAgDataTable/PlAgDataTableV2.vue_vue_type_script_setup_true_lang.js 12.79 kB │ gzip: 4.02 kB │ map: 32.00 kB
225
374
 
226
375
  [PLUGIN_TIMINGS] Warning: Your build spent significant time in plugins. Here is a breakdown:
227
- - sourcemaps (25%)
228
- - vite:dts (23%)
229
- - vite:css-post (19%)
230
- - vite:vue (12%)
231
- - vite:css (7%)
376
+ - sourcemaps (41%)
377
+ - unplugin-dts (15%)
378
+ - vite:css-post (13%)
379
+ - vite:vue (10%)
380
+ - vite:css (6%)
232
381
  See https://rolldown.rs/options/checks#plugintimings for more details.
233
382
  
234
- ✓ built in 6.05s
383
+ ✓ built in 3.83s
235
384
  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
- > @platforma-sdk/ui-vue@1.83.0 formatter:check /home/runner/_work/platforma/platforma/sdk/ui-vue
3
+ > @platforma-sdk/ui-vue@1.83.1 formatter:check /home/runner/_work/platforma/platforma/sdk/ui-vue
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 2365ms on 129 files using 16 threads.
11
+ Finished in 1463ms on 129 files using 16 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
- > @platforma-sdk/ui-vue@1.83.0 linter:check /home/runner/_work/platforma/platforma/sdk/ui-vue
3
+ > @platforma-sdk/ui-vue@1.83.1 linter:check /home/runner/_work/platforma/platforma/sdk/ui-vue
4
4
  > ts-builder linter --check
5
5
 
6
6
  Linting project...
7
7
  ↳ oxlint --config /home/runner/_work/platforma/platforma/sdk/ui-vue/.oxlintrc.json --deny-warnings
8
8
  Found 0 warnings and 0 errors.
9
- Finished in 32ms on 112 files with 108 rules using 16 threads.
9
+ Finished in 33ms on 112 files with 108 rules using 16 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
- > @platforma-sdk/ui-vue@1.83.0 types:check /home/runner/_work/platforma/platforma/sdk/ui-vue
3
+ > @platforma-sdk/ui-vue@1.83.1 types:check /home/runner/_work/platforma/platforma/sdk/ui-vue
4
4
  > ts-builder type-check --target browser-lib
5
5
 
6
- ↳ vue-tsc.js --noEmit --project ./tsconfig.json --customConditions ,
6
+ ↳ vue-tsc-ts6.cjs --noEmit --project ./tsconfig.json --customConditions default
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @platforma-sdk/ui-vue
2
2
 
3
+ ## 1.83.1
4
+
5
+ ### Patch Changes
6
+
7
+ - c5af077: Support TypeScript 7 (the native compiler) across the build toolchain.
8
+
9
+ TS7 no longer exposes the classic JS Compiler API that Volar-based tooling
10
+ requires, so:
11
+
12
+ - ts-builder runs `vue-tsc` against the official `@typescript/typescript6`
13
+ bridge, passes a TS7-compatible `--customConditions` value (a bare `,` is
14
+ parsed as a source file on TS7), provides an explicit `fs` to
15
+ `@vue/compiler-sfc` (`ts.sys` is gone on TS7), and uses `Bundler`
16
+ `moduleResolution` for declaration emit.
17
+ - build-configs provides the same explicit `fs` to the vitest Vue config so
18
+ SFC-compiling tests pass on TS7.
19
+ - ui-vue's `AnnotationsSidebar`/`FilterSidebar` title/label handlers accept
20
+ `string | undefined`, matching `PlEditableTitle`'s model emit type.
21
+ - @milaboratories/columns-collection-driver@0.2.4
22
+ - @milaboratories/pl-model-common@1.48.0
23
+ - @milaboratories/pf-spec-driver@1.5.1
24
+ - @milaboratories/uikit@2.15.26
25
+ - @platforma-sdk/model@1.83.0
26
+
3
27
  ## 1.83.0
4
28
 
5
29
  ### Minor Changes
@@ -33,7 +33,7 @@ var j = /* @__PURE__ */ h({
33
33
  runningText: {},
34
34
  notReadyText: {},
35
35
  noRowsText: {},
36
- cellRendererSelector: { type: Function }
36
+ cellRendererSelector: {}
37
37
  }, {
38
38
  modelValue: { required: !0 },
39
39
  modelModifiers: {},
@@ -5,13 +5,13 @@ import { PlAgDataTableV2Row } from '../types';
5
5
  export declare function useFilterableColumns(getSourceId: () => string | null, getColumnDefs: () => null | undefined | ColDef<PlAgDataTableV2Row, PTableValue | PTableHidden>[]): readonly [import('vue').Ref<({
6
6
  type: "axis";
7
7
  id: {
8
- readonly type: import('@platforma-sdk/model').AxisValueType;
8
+ readonly type: import('@milaboratories/pl-model-common').AxisValueType;
9
9
  readonly name: string;
10
10
  readonly domain?: Record<string, string> | undefined;
11
11
  readonly contextDomain?: Record<string, string> | undefined;
12
12
  };
13
13
  spec: {
14
- readonly type: import('@platforma-sdk/model').AxisValueType;
14
+ readonly type: import('@milaboratories/pl-model-common').AxisValueType;
15
15
  readonly name: string;
16
16
  readonly domain?: Record<string, string> | undefined;
17
17
  readonly contextDomain?: Record<string, string> | undefined;
@@ -20,7 +20,7 @@ export declare function useFilterableColumns(getSourceId: () => string | null, g
20
20
  };
21
21
  } | {
22
22
  type: "column";
23
- id: import('@platforma-sdk/model').ColumnUniversalId;
23
+ id: import('@milaboratories/pl-model-common').ColumnUniversalId;
24
24
  spec: {
25
25
  readonly kind: "PColumn";
26
26
  readonly name: string;
@@ -30,7 +30,7 @@ export declare function useFilterableColumns(getSourceId: () => string | null, g
30
30
  readonly valueType: "Int" | "Long" | "Float" | "Double" | "String" | "Bytes";
31
31
  readonly parentAxes?: number[] | undefined;
32
32
  readonly axesSpec: {
33
- readonly type: import('@platforma-sdk/model').AxisValueType;
33
+ readonly type: import('@milaboratories/pl-model-common').AxisValueType;
34
34
  readonly name: string;
35
35
  readonly domain?: Record<string, string> | undefined;
36
36
  readonly contextDomain?: Record<string, string> | undefined;
@@ -41,13 +41,13 @@ export declare function useFilterableColumns(getSourceId: () => string | null, g
41
41
  })[], PTableColumnSpec[] | ({
42
42
  type: "axis";
43
43
  id: {
44
- readonly type: import('@platforma-sdk/model').AxisValueType;
44
+ readonly type: import('@milaboratories/pl-model-common').AxisValueType;
45
45
  readonly name: string;
46
46
  readonly domain?: Record<string, string> | undefined;
47
47
  readonly contextDomain?: Record<string, string> | undefined;
48
48
  };
49
49
  spec: {
50
- readonly type: import('@platforma-sdk/model').AxisValueType;
50
+ readonly type: import('@milaboratories/pl-model-common').AxisValueType;
51
51
  readonly name: string;
52
52
  readonly domain?: Record<string, string> | undefined;
53
53
  readonly contextDomain?: Record<string, string> | undefined;
@@ -56,7 +56,7 @@ export declare function useFilterableColumns(getSourceId: () => string | null, g
56
56
  };
57
57
  } | {
58
58
  type: "column";
59
- id: import('@platforma-sdk/model').ColumnUniversalId;
59
+ id: import('@milaboratories/pl-model-common').ColumnUniversalId;
60
60
  spec: {
61
61
  readonly kind: "PColumn";
62
62
  readonly name: string;
@@ -66,7 +66,7 @@ export declare function useFilterableColumns(getSourceId: () => string | null, g
66
66
  readonly valueType: "Int" | "Long" | "Float" | "Double" | "String" | "Bytes";
67
67
  readonly parentAxes?: number[] | undefined;
68
68
  readonly axesSpec: {
69
- readonly type: import('@platforma-sdk/model').AxisValueType;
69
+ readonly type: import('@milaboratories/pl-model-common').AxisValueType;
70
70
  readonly name: string;
71
71
  readonly domain?: Record<string, string> | undefined;
72
72
  readonly contextDomain?: Record<string, string> | undefined;
@@ -77,13 +77,13 @@ export declare function useFilterableColumns(getSourceId: () => string | null, g
77
77
  })[]>, import('vue').Ref<({
78
78
  type: "axis";
79
79
  id: {
80
- readonly type: import('@platforma-sdk/model').AxisValueType;
80
+ readonly type: import('@milaboratories/pl-model-common').AxisValueType;
81
81
  readonly name: string;
82
82
  readonly domain?: Record<string, string> | undefined;
83
83
  readonly contextDomain?: Record<string, string> | undefined;
84
84
  };
85
85
  spec: {
86
- readonly type: import('@platforma-sdk/model').AxisValueType;
86
+ readonly type: import('@milaboratories/pl-model-common').AxisValueType;
87
87
  readonly name: string;
88
88
  readonly domain?: Record<string, string> | undefined;
89
89
  readonly contextDomain?: Record<string, string> | undefined;
@@ -92,7 +92,7 @@ export declare function useFilterableColumns(getSourceId: () => string | null, g
92
92
  };
93
93
  } | {
94
94
  type: "column";
95
- id: import('@platforma-sdk/model').ColumnUniversalId;
95
+ id: import('@milaboratories/pl-model-common').ColumnUniversalId;
96
96
  spec: {
97
97
  readonly kind: "PColumn";
98
98
  readonly name: string;
@@ -102,7 +102,7 @@ export declare function useFilterableColumns(getSourceId: () => string | null, g
102
102
  readonly valueType: "Int" | "Long" | "Float" | "Double" | "String" | "Bytes";
103
103
  readonly parentAxes?: number[] | undefined;
104
104
  readonly axesSpec: {
105
- readonly type: import('@platforma-sdk/model').AxisValueType;
105
+ readonly type: import('@milaboratories/pl-model-common').AxisValueType;
106
106
  readonly name: string;
107
107
  readonly domain?: Record<string, string> | undefined;
108
108
  readonly contextDomain?: Record<string, string> | undefined;
@@ -113,13 +113,13 @@ export declare function useFilterableColumns(getSourceId: () => string | null, g
113
113
  })[], PTableColumnSpec[] | ({
114
114
  type: "axis";
115
115
  id: {
116
- readonly type: import('@platforma-sdk/model').AxisValueType;
116
+ readonly type: import('@milaboratories/pl-model-common').AxisValueType;
117
117
  readonly name: string;
118
118
  readonly domain?: Record<string, string> | undefined;
119
119
  readonly contextDomain?: Record<string, string> | undefined;
120
120
  };
121
121
  spec: {
122
- readonly type: import('@platforma-sdk/model').AxisValueType;
122
+ readonly type: import('@milaboratories/pl-model-common').AxisValueType;
123
123
  readonly name: string;
124
124
  readonly domain?: Record<string, string> | undefined;
125
125
  readonly contextDomain?: Record<string, string> | undefined;
@@ -128,7 +128,7 @@ export declare function useFilterableColumns(getSourceId: () => string | null, g
128
128
  };
129
129
  } | {
130
130
  type: "column";
131
- id: import('@platforma-sdk/model').ColumnUniversalId;
131
+ id: import('@milaboratories/pl-model-common').ColumnUniversalId;
132
132
  spec: {
133
133
  readonly kind: "PColumn";
134
134
  readonly name: string;
@@ -138,7 +138,7 @@ export declare function useFilterableColumns(getSourceId: () => string | null, g
138
138
  readonly valueType: "Int" | "Long" | "Float" | "Double" | "String" | "Bytes";
139
139
  readonly parentAxes?: number[] | undefined;
140
140
  readonly axesSpec: {
141
- readonly type: import('@platforma-sdk/model').AxisValueType;
141
+ readonly type: import('@milaboratories/pl-model-common').AxisValueType;
142
142
  readonly name: string;
143
143
  readonly domain?: Record<string, string> | undefined;
144
144
  readonly contextDomain?: Record<string, string> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"AnnotationsSidebar.js","names":[],"sources":["../../../../src/components/PlAnnotations/components/AnnotationsSidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport $commonStyle from \"./style.module.css\";\n\nimport { produce } from \"immer\";\nimport { randomInt } from \"@milaboratories/helpers\";\nimport {\n PlBtnGhost,\n PlBtnSecondary,\n PlEditableTitle,\n PlElementList,\n PlSidebarItem,\n PlTextField,\n} from \"@milaboratories/uikit\";\nimport type { Annotation } from \"../types\";\nimport { validateTitle } from \"../utils\";\nimport { isEmpty } from \"es-toolkit/compat\";\n\nconst props = defineProps<{\n annotation: Annotation;\n selectedStepId: undefined | number;\n onUpdateAnnotation: (annotation: Annotation) => void;\n onUpdateSelectedStepId: (id: undefined | number) => void;\n}>();\n\nconst emits = defineEmits<{\n (e: \"delete-schema\"): void;\n}>();\n\nfunction produceAnnotationUpdate(updater: (draft: Annotation) => void) {\n props.onUpdateAnnotation(produce(props.annotation, updater));\n}\n\nfunction updateTitle(title: string) {\n produceAnnotationUpdate((draft) => {\n draft.title = title;\n });\n}\n\nfunction updateSteps(steps: Annotation[\"steps\"]) {\n produceAnnotationUpdate((draft) => {\n draft.steps = steps;\n });\n}\n\nfunction updateDefaultValue(value: string) {\n produceAnnotationUpdate((draft) => {\n draft.defaultValue = value === \"\" ? undefined : value;\n });\n}\n\nfunction handleAddStep() {\n const id = randomInt();\n produceAnnotationUpdate((draft) => {\n draft.steps.push({\n id,\n label: \"\",\n filter: {\n id: randomInt(),\n type: \"and\",\n filters: [],\n },\n });\n });\n props.onUpdateSelectedStepId(id);\n}\n</script>\n\n<template>\n <PlSidebarItem>\n <template #header-content>\n <PlEditableTitle\n :model-value=\"props.annotation.title\"\n :class=\"{ [$commonStyle.flashing]: props.annotation.title.length === 0 }\"\n :max-length=\"40\"\n max-width=\"600px\"\n placeholder=\"Annotation Title\"\n :autofocus=\"props.annotation.title.length === 0\"\n :validate=\"validateTitle\"\n @update:model-value=\"updateTitle\"\n />\n </template>\n <template v-if=\"props.annotation\" #body-content>\n <div :class=\"[$style.root, { [$commonStyle.disabled]: props.annotation.title.length === 0 }]\">\n <span :class=\"$style.tip\">\n Above annotations override the ones below. Rearrange them by dragging.\n </span>\n <PlElementList\n :items=\"props.annotation.steps\"\n :get-item-key=\"(item) => item.id\"\n :is-active=\"(item) => item.id === props.selectedStepId\"\n :item-class=\"$style.stepItem\"\n :class=\"$style.steps\"\n @update:items=\"updateSteps\"\n @item-click=\"(item) => props.onUpdateSelectedStepId(item.id)\"\n >\n <template #item-title=\"{ item }\">\n {{ item.label }}\n </template>\n </PlElementList>\n\n <PlBtnSecondary icon=\"add\" @click=\"handleAddStep\"> Add label </PlBtnSecondary>\n\n <PlTextField\n :class=\"[\n $style.defaultValue,\n { [$style.emptyDefaultValue]: isEmpty(props.annotation.defaultValue) },\n ]\"\n :model-value=\"props.annotation.defaultValue ?? ''\"\n label=\"Label remaining with\"\n placeholder=\"No label\"\n clearable\n helper=\"This label will be applied to the remaining rows, after all other filters are applied.\"\n @click.stop\n @update:model-value=\"updateDefaultValue\"\n />\n </div>\n </template>\n <template #footer-content>\n <PlBtnGhost\n icon=\"delete-bin\"\n reverse\n :disabled=\"props.annotation.steps.length === 0\"\n @click.stop=\"emits('delete-schema')\"\n >\n Delete Schema\n </PlBtnGhost>\n </template>\n </PlSidebarItem>\n</template>\n\n<style lang=\"scss\" module>\n@use \"@milaboratories/uikit/styles/variables\" as *;\n\n.root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.tip {\n color: var(--txt-03);\n}\n\n.steps {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.stepItem {\n cursor: pointer;\n}\n\n.defaultValue {\n margin-top: 8px;\n}\n.emptyDefaultValue {\n opacity: 0.5;\n transition: opacity 0.2s ease-in-out;\n\n &:hover {\n opacity: 1;\n }\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"AnnotationsSidebar.js","names":[],"sources":["../../../../src/components/PlAnnotations/components/AnnotationsSidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport $commonStyle from \"./style.module.css\";\n\nimport { produce } from \"immer\";\nimport { randomInt } from \"@milaboratories/helpers\";\nimport {\n PlBtnGhost,\n PlBtnSecondary,\n PlEditableTitle,\n PlElementList,\n PlSidebarItem,\n PlTextField,\n} from \"@milaboratories/uikit\";\nimport type { Annotation } from \"../types\";\nimport { validateTitle } from \"../utils\";\nimport { isEmpty } from \"es-toolkit/compat\";\n\nconst props = defineProps<{\n annotation: Annotation;\n selectedStepId: undefined | number;\n onUpdateAnnotation: (annotation: Annotation) => void;\n onUpdateSelectedStepId: (id: undefined | number) => void;\n}>();\n\nconst emits = defineEmits<{\n (e: \"delete-schema\"): void;\n}>();\n\nfunction produceAnnotationUpdate(updater: (draft: Annotation) => void) {\n props.onUpdateAnnotation(produce(props.annotation, updater));\n}\n\nfunction updateTitle(title: string | undefined) {\n produceAnnotationUpdate((draft) => {\n draft.title = title ?? \"\";\n });\n}\n\nfunction updateSteps(steps: Annotation[\"steps\"]) {\n produceAnnotationUpdate((draft) => {\n draft.steps = steps;\n });\n}\n\nfunction updateDefaultValue(value: string) {\n produceAnnotationUpdate((draft) => {\n draft.defaultValue = value === \"\" ? undefined : value;\n });\n}\n\nfunction handleAddStep() {\n const id = randomInt();\n produceAnnotationUpdate((draft) => {\n draft.steps.push({\n id,\n label: \"\",\n filter: {\n id: randomInt(),\n type: \"and\",\n filters: [],\n },\n });\n });\n props.onUpdateSelectedStepId(id);\n}\n</script>\n\n<template>\n <PlSidebarItem>\n <template #header-content>\n <PlEditableTitle\n :model-value=\"props.annotation.title\"\n :class=\"{ [$commonStyle.flashing]: props.annotation.title.length === 0 }\"\n :max-length=\"40\"\n max-width=\"600px\"\n placeholder=\"Annotation Title\"\n :autofocus=\"props.annotation.title.length === 0\"\n :validate=\"validateTitle\"\n @update:model-value=\"updateTitle\"\n />\n </template>\n <template v-if=\"props.annotation\" #body-content>\n <div :class=\"[$style.root, { [$commonStyle.disabled]: props.annotation.title.length === 0 }]\">\n <span :class=\"$style.tip\">\n Above annotations override the ones below. Rearrange them by dragging.\n </span>\n <PlElementList\n :items=\"props.annotation.steps\"\n :get-item-key=\"(item) => item.id\"\n :is-active=\"(item) => item.id === props.selectedStepId\"\n :item-class=\"$style.stepItem\"\n :class=\"$style.steps\"\n @update:items=\"updateSteps\"\n @item-click=\"(item) => props.onUpdateSelectedStepId(item.id)\"\n >\n <template #item-title=\"{ item }\">\n {{ item.label }}\n </template>\n </PlElementList>\n\n <PlBtnSecondary icon=\"add\" @click=\"handleAddStep\"> Add label </PlBtnSecondary>\n\n <PlTextField\n :class=\"[\n $style.defaultValue,\n { [$style.emptyDefaultValue]: isEmpty(props.annotation.defaultValue) },\n ]\"\n :model-value=\"props.annotation.defaultValue ?? ''\"\n label=\"Label remaining with\"\n placeholder=\"No label\"\n clearable\n helper=\"This label will be applied to the remaining rows, after all other filters are applied.\"\n @click.stop\n @update:model-value=\"updateDefaultValue\"\n />\n </div>\n </template>\n <template #footer-content>\n <PlBtnGhost\n icon=\"delete-bin\"\n reverse\n :disabled=\"props.annotation.steps.length === 0\"\n @click.stop=\"emits('delete-schema')\"\n >\n Delete Schema\n </PlBtnGhost>\n </template>\n </PlSidebarItem>\n</template>\n\n<style lang=\"scss\" module>\n@use \"@milaboratories/uikit/styles/variables\" as *;\n\n.root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.tip {\n color: var(--txt-03);\n}\n\n.steps {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.stepItem {\n cursor: pointer;\n}\n\n.defaultValue {\n margin-top: 8px;\n}\n.emptyDefaultValue {\n opacity: 0.5;\n transition: opacity 0.2s ease-in-out;\n\n &:hover {\n opacity: 1;\n }\n}\n</style>\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"AnnotationsSidebar.vue_vue_type_style_index_0_lang.module.js","names":[],"sources":["../../../../src/components/PlAnnotations/components/AnnotationsSidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport $commonStyle from \"./style.module.css\";\n\nimport { produce } from \"immer\";\nimport { randomInt } from \"@milaboratories/helpers\";\nimport {\n PlBtnGhost,\n PlBtnSecondary,\n PlEditableTitle,\n PlElementList,\n PlSidebarItem,\n PlTextField,\n} from \"@milaboratories/uikit\";\nimport type { Annotation } from \"../types\";\nimport { validateTitle } from \"../utils\";\nimport { isEmpty } from \"es-toolkit/compat\";\n\nconst props = defineProps<{\n annotation: Annotation;\n selectedStepId: undefined | number;\n onUpdateAnnotation: (annotation: Annotation) => void;\n onUpdateSelectedStepId: (id: undefined | number) => void;\n}>();\n\nconst emits = defineEmits<{\n (e: \"delete-schema\"): void;\n}>();\n\nfunction produceAnnotationUpdate(updater: (draft: Annotation) => void) {\n props.onUpdateAnnotation(produce(props.annotation, updater));\n}\n\nfunction updateTitle(title: string) {\n produceAnnotationUpdate((draft) => {\n draft.title = title;\n });\n}\n\nfunction updateSteps(steps: Annotation[\"steps\"]) {\n produceAnnotationUpdate((draft) => {\n draft.steps = steps;\n });\n}\n\nfunction updateDefaultValue(value: string) {\n produceAnnotationUpdate((draft) => {\n draft.defaultValue = value === \"\" ? undefined : value;\n });\n}\n\nfunction handleAddStep() {\n const id = randomInt();\n produceAnnotationUpdate((draft) => {\n draft.steps.push({\n id,\n label: \"\",\n filter: {\n id: randomInt(),\n type: \"and\",\n filters: [],\n },\n });\n });\n props.onUpdateSelectedStepId(id);\n}\n</script>\n\n<template>\n <PlSidebarItem>\n <template #header-content>\n <PlEditableTitle\n :model-value=\"props.annotation.title\"\n :class=\"{ [$commonStyle.flashing]: props.annotation.title.length === 0 }\"\n :max-length=\"40\"\n max-width=\"600px\"\n placeholder=\"Annotation Title\"\n :autofocus=\"props.annotation.title.length === 0\"\n :validate=\"validateTitle\"\n @update:model-value=\"updateTitle\"\n />\n </template>\n <template v-if=\"props.annotation\" #body-content>\n <div :class=\"[$style.root, { [$commonStyle.disabled]: props.annotation.title.length === 0 }]\">\n <span :class=\"$style.tip\">\n Above annotations override the ones below. Rearrange them by dragging.\n </span>\n <PlElementList\n :items=\"props.annotation.steps\"\n :get-item-key=\"(item) => item.id\"\n :is-active=\"(item) => item.id === props.selectedStepId\"\n :item-class=\"$style.stepItem\"\n :class=\"$style.steps\"\n @update:items=\"updateSteps\"\n @item-click=\"(item) => props.onUpdateSelectedStepId(item.id)\"\n >\n <template #item-title=\"{ item }\">\n {{ item.label }}\n </template>\n </PlElementList>\n\n <PlBtnSecondary icon=\"add\" @click=\"handleAddStep\"> Add label </PlBtnSecondary>\n\n <PlTextField\n :class=\"[\n $style.defaultValue,\n { [$style.emptyDefaultValue]: isEmpty(props.annotation.defaultValue) },\n ]\"\n :model-value=\"props.annotation.defaultValue ?? ''\"\n label=\"Label remaining with\"\n placeholder=\"No label\"\n clearable\n helper=\"This label will be applied to the remaining rows, after all other filters are applied.\"\n @click.stop\n @update:model-value=\"updateDefaultValue\"\n />\n </div>\n </template>\n <template #footer-content>\n <PlBtnGhost\n icon=\"delete-bin\"\n reverse\n :disabled=\"props.annotation.steps.length === 0\"\n @click.stop=\"emits('delete-schema')\"\n >\n Delete Schema\n </PlBtnGhost>\n </template>\n </PlSidebarItem>\n</template>\n\n<style lang=\"scss\" module>\n@use \"@milaboratories/uikit/styles/variables\" as *;\n\n.root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.tip {\n color: var(--txt-03);\n}\n\n.steps {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.stepItem {\n cursor: pointer;\n}\n\n.defaultValue {\n margin-top: 8px;\n}\n.emptyDefaultValue {\n opacity: 0.5;\n transition: opacity 0.2s ease-in-out;\n\n &:hover {\n opacity: 1;\n }\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"AnnotationsSidebar.vue_vue_type_style_index_0_lang.module.js","names":[],"sources":["../../../../src/components/PlAnnotations/components/AnnotationsSidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport $commonStyle from \"./style.module.css\";\n\nimport { produce } from \"immer\";\nimport { randomInt } from \"@milaboratories/helpers\";\nimport {\n PlBtnGhost,\n PlBtnSecondary,\n PlEditableTitle,\n PlElementList,\n PlSidebarItem,\n PlTextField,\n} from \"@milaboratories/uikit\";\nimport type { Annotation } from \"../types\";\nimport { validateTitle } from \"../utils\";\nimport { isEmpty } from \"es-toolkit/compat\";\n\nconst props = defineProps<{\n annotation: Annotation;\n selectedStepId: undefined | number;\n onUpdateAnnotation: (annotation: Annotation) => void;\n onUpdateSelectedStepId: (id: undefined | number) => void;\n}>();\n\nconst emits = defineEmits<{\n (e: \"delete-schema\"): void;\n}>();\n\nfunction produceAnnotationUpdate(updater: (draft: Annotation) => void) {\n props.onUpdateAnnotation(produce(props.annotation, updater));\n}\n\nfunction updateTitle(title: string | undefined) {\n produceAnnotationUpdate((draft) => {\n draft.title = title ?? \"\";\n });\n}\n\nfunction updateSteps(steps: Annotation[\"steps\"]) {\n produceAnnotationUpdate((draft) => {\n draft.steps = steps;\n });\n}\n\nfunction updateDefaultValue(value: string) {\n produceAnnotationUpdate((draft) => {\n draft.defaultValue = value === \"\" ? undefined : value;\n });\n}\n\nfunction handleAddStep() {\n const id = randomInt();\n produceAnnotationUpdate((draft) => {\n draft.steps.push({\n id,\n label: \"\",\n filter: {\n id: randomInt(),\n type: \"and\",\n filters: [],\n },\n });\n });\n props.onUpdateSelectedStepId(id);\n}\n</script>\n\n<template>\n <PlSidebarItem>\n <template #header-content>\n <PlEditableTitle\n :model-value=\"props.annotation.title\"\n :class=\"{ [$commonStyle.flashing]: props.annotation.title.length === 0 }\"\n :max-length=\"40\"\n max-width=\"600px\"\n placeholder=\"Annotation Title\"\n :autofocus=\"props.annotation.title.length === 0\"\n :validate=\"validateTitle\"\n @update:model-value=\"updateTitle\"\n />\n </template>\n <template v-if=\"props.annotation\" #body-content>\n <div :class=\"[$style.root, { [$commonStyle.disabled]: props.annotation.title.length === 0 }]\">\n <span :class=\"$style.tip\">\n Above annotations override the ones below. Rearrange them by dragging.\n </span>\n <PlElementList\n :items=\"props.annotation.steps\"\n :get-item-key=\"(item) => item.id\"\n :is-active=\"(item) => item.id === props.selectedStepId\"\n :item-class=\"$style.stepItem\"\n :class=\"$style.steps\"\n @update:items=\"updateSteps\"\n @item-click=\"(item) => props.onUpdateSelectedStepId(item.id)\"\n >\n <template #item-title=\"{ item }\">\n {{ item.label }}\n </template>\n </PlElementList>\n\n <PlBtnSecondary icon=\"add\" @click=\"handleAddStep\"> Add label </PlBtnSecondary>\n\n <PlTextField\n :class=\"[\n $style.defaultValue,\n { [$style.emptyDefaultValue]: isEmpty(props.annotation.defaultValue) },\n ]\"\n :model-value=\"props.annotation.defaultValue ?? ''\"\n label=\"Label remaining with\"\n placeholder=\"No label\"\n clearable\n helper=\"This label will be applied to the remaining rows, after all other filters are applied.\"\n @click.stop\n @update:model-value=\"updateDefaultValue\"\n />\n </div>\n </template>\n <template #footer-content>\n <PlBtnGhost\n icon=\"delete-bin\"\n reverse\n :disabled=\"props.annotation.steps.length === 0\"\n @click.stop=\"emits('delete-schema')\"\n >\n Delete Schema\n </PlBtnGhost>\n </template>\n </PlSidebarItem>\n</template>\n\n<style lang=\"scss\" module>\n@use \"@milaboratories/uikit/styles/variables\" as *;\n\n.root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.tip {\n color: var(--txt-03);\n}\n\n.steps {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.stepItem {\n cursor: pointer;\n}\n\n.defaultValue {\n margin-top: 8px;\n}\n.emptyDefaultValue {\n opacity: 0.5;\n transition: opacity 0.2s ease-in-out;\n\n &:hover {\n opacity: 1;\n }\n}\n</style>\n"],"mappings":""}
@@ -23,7 +23,7 @@ var C = /* @__PURE__ */ l({
23
23
  }
24
24
  function D(e) {
25
25
  E((t) => {
26
- t.title = e;
26
+ t.title = e ?? "";
27
27
  });
28
28
  }
29
29
  function O(e) {
@@ -1 +1 @@
1
- {"version":3,"file":"AnnotationsSidebar.vue_vue_type_script_setup_true_lang.js","names":["$style"],"sources":["../../../../src/components/PlAnnotations/components/AnnotationsSidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport $commonStyle from \"./style.module.css\";\n\nimport { produce } from \"immer\";\nimport { randomInt } from \"@milaboratories/helpers\";\nimport {\n PlBtnGhost,\n PlBtnSecondary,\n PlEditableTitle,\n PlElementList,\n PlSidebarItem,\n PlTextField,\n} from \"@milaboratories/uikit\";\nimport type { Annotation } from \"../types\";\nimport { validateTitle } from \"../utils\";\nimport { isEmpty } from \"es-toolkit/compat\";\n\nconst props = defineProps<{\n annotation: Annotation;\n selectedStepId: undefined | number;\n onUpdateAnnotation: (annotation: Annotation) => void;\n onUpdateSelectedStepId: (id: undefined | number) => void;\n}>();\n\nconst emits = defineEmits<{\n (e: \"delete-schema\"): void;\n}>();\n\nfunction produceAnnotationUpdate(updater: (draft: Annotation) => void) {\n props.onUpdateAnnotation(produce(props.annotation, updater));\n}\n\nfunction updateTitle(title: string) {\n produceAnnotationUpdate((draft) => {\n draft.title = title;\n });\n}\n\nfunction updateSteps(steps: Annotation[\"steps\"]) {\n produceAnnotationUpdate((draft) => {\n draft.steps = steps;\n });\n}\n\nfunction updateDefaultValue(value: string) {\n produceAnnotationUpdate((draft) => {\n draft.defaultValue = value === \"\" ? undefined : value;\n });\n}\n\nfunction handleAddStep() {\n const id = randomInt();\n produceAnnotationUpdate((draft) => {\n draft.steps.push({\n id,\n label: \"\",\n filter: {\n id: randomInt(),\n type: \"and\",\n filters: [],\n },\n });\n });\n props.onUpdateSelectedStepId(id);\n}\n</script>\n\n<template>\n <PlSidebarItem>\n <template #header-content>\n <PlEditableTitle\n :model-value=\"props.annotation.title\"\n :class=\"{ [$commonStyle.flashing]: props.annotation.title.length === 0 }\"\n :max-length=\"40\"\n max-width=\"600px\"\n placeholder=\"Annotation Title\"\n :autofocus=\"props.annotation.title.length === 0\"\n :validate=\"validateTitle\"\n @update:model-value=\"updateTitle\"\n />\n </template>\n <template v-if=\"props.annotation\" #body-content>\n <div :class=\"[$style.root, { [$commonStyle.disabled]: props.annotation.title.length === 0 }]\">\n <span :class=\"$style.tip\">\n Above annotations override the ones below. Rearrange them by dragging.\n </span>\n <PlElementList\n :items=\"props.annotation.steps\"\n :get-item-key=\"(item) => item.id\"\n :is-active=\"(item) => item.id === props.selectedStepId\"\n :item-class=\"$style.stepItem\"\n :class=\"$style.steps\"\n @update:items=\"updateSteps\"\n @item-click=\"(item) => props.onUpdateSelectedStepId(item.id)\"\n >\n <template #item-title=\"{ item }\">\n {{ item.label }}\n </template>\n </PlElementList>\n\n <PlBtnSecondary icon=\"add\" @click=\"handleAddStep\"> Add label </PlBtnSecondary>\n\n <PlTextField\n :class=\"[\n $style.defaultValue,\n { [$style.emptyDefaultValue]: isEmpty(props.annotation.defaultValue) },\n ]\"\n :model-value=\"props.annotation.defaultValue ?? ''\"\n label=\"Label remaining with\"\n placeholder=\"No label\"\n clearable\n helper=\"This label will be applied to the remaining rows, after all other filters are applied.\"\n @click.stop\n @update:model-value=\"updateDefaultValue\"\n />\n </div>\n </template>\n <template #footer-content>\n <PlBtnGhost\n icon=\"delete-bin\"\n reverse\n :disabled=\"props.annotation.steps.length === 0\"\n @click.stop=\"emits('delete-schema')\"\n >\n Delete Schema\n </PlBtnGhost>\n </template>\n </PlSidebarItem>\n</template>\n\n<style lang=\"scss\" module>\n@use \"@milaboratories/uikit/styles/variables\" as *;\n\n.root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.tip {\n color: var(--txt-03);\n}\n\n.steps {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.stepItem {\n cursor: pointer;\n}\n\n.defaultValue {\n margin-top: 8px;\n}\n.emptyDefaultValue {\n opacity: 0.5;\n transition: opacity 0.2s ease-in-out;\n\n &:hover {\n opacity: 1;\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;EAiBA,IAAM,IAAQ,GAOR,IAAQ;EAId,SAAS,EAAwB,GAAsC;AACrE,KAAM,mBAAmB,EAAQ,EAAM,YAAY,EAAQ,CAAC;;EAG9D,SAAS,EAAY,GAAe;AAClC,MAAyB,MAAU;AACjC,MAAM,QAAQ;KACd;;EAGJ,SAAS,EAAY,GAA4B;AAC/C,MAAyB,MAAU;AACjC,MAAM,QAAQ;KACd;;EAGJ,SAAS,EAAmB,GAAe;AACzC,MAAyB,MAAU;AACjC,MAAM,eAAe,MAAU,KAAK,KAAA,IAAY;KAChD;;EAGJ,SAAS,IAAgB;GACvB,IAAM,IAAK,GAAW;AAYtB,GAXA,GAAyB,MAAU;AACjC,MAAM,MAAM,KAAK;KACf;KACA,OAAO;KACP,QAAQ;MACN,IAAI,GAAW;MACf,MAAM;MACN,SAAS,EAAE;MACZ;KACF,CAAC;KACF,EACF,EAAM,uBAAuB,EAAG;;yBAKhC,EA2DgB,EAAA,EAAA,EAAA,MAAA,EAAA;GA1DH,kBAAc,QAUrB,CATF,EASE,EAAA,EAAA,EAAA;IARC,eAAa,EAAM,WAAW;IAC9B,OAAK,EAAA,GAAK,EAAA,EAAY,CAAC,WAAW,EAAM,WAAW,MAAM,WAAM,GAAA,CAAA;IAC/D,cAAY;IACb,aAAU;IACV,aAAY;IACX,WAAW,EAAM,WAAW,MAAM,WAAM;IACxC,UAAU,EAAA,EAAa;IACvB,uBAAoB;;;;;;;GAuCd,kBAAc,QAQV,CAPb,EAOa,EAAA,EAAA,EAAA;IANX,MAAK;IACL,SAAA;IACC,UAAU,EAAM,WAAW,MAAM,WAAM;IACvC,SAAK,AAAA,EAAA,OAAA,GAAA,MAAO,EAAK,gBAAA,EAAA,CAAA,OAAA,CAAA;;qBAGpB,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAFC,mBAED,GAAA,CAAA,CAAA,CAAA;;;;MA5Cc,EAAM,aAAA;SAAa;eAkC3B,CAjCN,EAiCM,OAAA,EAjCA,OAAK,EAAA,CAAGA,EAAAA,OAAO,MAAI,GAAK,EAAA,EAAY,CAAC,WAAW,EAAM,WAAW,MAAM,WAAM,GAAA,CAAA,CAAA,EAAA,EAAA;IACjF,EAEO,QAAA,EAFA,OAAK,EAAEA,EAAAA,OAAO,IAAG,EAAA,EAAE,4EAE1B,EAAA;IACA,EAYgB,EAAA,EAAA,EAAA;KAXb,OAAO,EAAM,WAAW;KACxB,iBAAe,MAAS,EAAK;KAC7B,cAAY,MAAS,EAAK,OAAO,EAAM;KACvC,cAAYA,EAAAA,OAAO;KACnB,OAAK,EAAEA,EAAAA,OAAO,MAAK;KACnB,kBAAc;KACd,aAAU,AAAA,EAAA,QAAG,MAAS,EAAM,uBAAuB,EAAK,GAAE;;KAEhD,cAAU,GACH,EADO,cAAI,CAAA,EAAA,EACxB,EAAK,MAAK,EAAA,EAAA,CAAA,CAAA;;;;;;;;;IAIjB,EAA8E,EAAA,EAAA,EAAA;KAA9D,MAAK;KAAO,SAAO;;sBAA0B,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAAX,eAAW,GAAA,CAAA,CAAA,CAAA;;;IAE7D,EAYE,EAAA,EAAA,EAAA;KAXC,OAAK,EAAA,CAAgBA,EAAAA,OAAO,cAAA,GAA6BA,EAAAA,OAAO,oBAAoB,EAAA,EAAO,CAAC,EAAM,WAAW,aAAY,EAAA,CAAA,CAAA;KAIzH,eAAa,EAAM,WAAW,gBAAY;KAC3C,OAAM;KACN,aAAY;KACZ,WAAA;KACA,QAAO;KACN,SAAK,AAAA,EAAA,OAAA,QAAN,IAAW,CAAA,OAAA,CAAA;KACV,uBAAoB"}
1
+ {"version":3,"file":"AnnotationsSidebar.vue_vue_type_script_setup_true_lang.js","names":["$style"],"sources":["../../../../src/components/PlAnnotations/components/AnnotationsSidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport $commonStyle from \"./style.module.css\";\n\nimport { produce } from \"immer\";\nimport { randomInt } from \"@milaboratories/helpers\";\nimport {\n PlBtnGhost,\n PlBtnSecondary,\n PlEditableTitle,\n PlElementList,\n PlSidebarItem,\n PlTextField,\n} from \"@milaboratories/uikit\";\nimport type { Annotation } from \"../types\";\nimport { validateTitle } from \"../utils\";\nimport { isEmpty } from \"es-toolkit/compat\";\n\nconst props = defineProps<{\n annotation: Annotation;\n selectedStepId: undefined | number;\n onUpdateAnnotation: (annotation: Annotation) => void;\n onUpdateSelectedStepId: (id: undefined | number) => void;\n}>();\n\nconst emits = defineEmits<{\n (e: \"delete-schema\"): void;\n}>();\n\nfunction produceAnnotationUpdate(updater: (draft: Annotation) => void) {\n props.onUpdateAnnotation(produce(props.annotation, updater));\n}\n\nfunction updateTitle(title: string | undefined) {\n produceAnnotationUpdate((draft) => {\n draft.title = title ?? \"\";\n });\n}\n\nfunction updateSteps(steps: Annotation[\"steps\"]) {\n produceAnnotationUpdate((draft) => {\n draft.steps = steps;\n });\n}\n\nfunction updateDefaultValue(value: string) {\n produceAnnotationUpdate((draft) => {\n draft.defaultValue = value === \"\" ? undefined : value;\n });\n}\n\nfunction handleAddStep() {\n const id = randomInt();\n produceAnnotationUpdate((draft) => {\n draft.steps.push({\n id,\n label: \"\",\n filter: {\n id: randomInt(),\n type: \"and\",\n filters: [],\n },\n });\n });\n props.onUpdateSelectedStepId(id);\n}\n</script>\n\n<template>\n <PlSidebarItem>\n <template #header-content>\n <PlEditableTitle\n :model-value=\"props.annotation.title\"\n :class=\"{ [$commonStyle.flashing]: props.annotation.title.length === 0 }\"\n :max-length=\"40\"\n max-width=\"600px\"\n placeholder=\"Annotation Title\"\n :autofocus=\"props.annotation.title.length === 0\"\n :validate=\"validateTitle\"\n @update:model-value=\"updateTitle\"\n />\n </template>\n <template v-if=\"props.annotation\" #body-content>\n <div :class=\"[$style.root, { [$commonStyle.disabled]: props.annotation.title.length === 0 }]\">\n <span :class=\"$style.tip\">\n Above annotations override the ones below. Rearrange them by dragging.\n </span>\n <PlElementList\n :items=\"props.annotation.steps\"\n :get-item-key=\"(item) => item.id\"\n :is-active=\"(item) => item.id === props.selectedStepId\"\n :item-class=\"$style.stepItem\"\n :class=\"$style.steps\"\n @update:items=\"updateSteps\"\n @item-click=\"(item) => props.onUpdateSelectedStepId(item.id)\"\n >\n <template #item-title=\"{ item }\">\n {{ item.label }}\n </template>\n </PlElementList>\n\n <PlBtnSecondary icon=\"add\" @click=\"handleAddStep\"> Add label </PlBtnSecondary>\n\n <PlTextField\n :class=\"[\n $style.defaultValue,\n { [$style.emptyDefaultValue]: isEmpty(props.annotation.defaultValue) },\n ]\"\n :model-value=\"props.annotation.defaultValue ?? ''\"\n label=\"Label remaining with\"\n placeholder=\"No label\"\n clearable\n helper=\"This label will be applied to the remaining rows, after all other filters are applied.\"\n @click.stop\n @update:model-value=\"updateDefaultValue\"\n />\n </div>\n </template>\n <template #footer-content>\n <PlBtnGhost\n icon=\"delete-bin\"\n reverse\n :disabled=\"props.annotation.steps.length === 0\"\n @click.stop=\"emits('delete-schema')\"\n >\n Delete Schema\n </PlBtnGhost>\n </template>\n </PlSidebarItem>\n</template>\n\n<style lang=\"scss\" module>\n@use \"@milaboratories/uikit/styles/variables\" as *;\n\n.root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.tip {\n color: var(--txt-03);\n}\n\n.steps {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.stepItem {\n cursor: pointer;\n}\n\n.defaultValue {\n margin-top: 8px;\n}\n.emptyDefaultValue {\n opacity: 0.5;\n transition: opacity 0.2s ease-in-out;\n\n &:hover {\n opacity: 1;\n }\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;EAiBA,IAAM,IAAQ,GAOR,IAAQ;EAId,SAAS,EAAwB,GAAsC;AACrE,KAAM,mBAAmB,EAAQ,EAAM,YAAY,EAAQ,CAAC;;EAG9D,SAAS,EAAY,GAA2B;AAC9C,MAAyB,MAAU;AACjC,MAAM,QAAQ,KAAS;KACvB;;EAGJ,SAAS,EAAY,GAA4B;AAC/C,MAAyB,MAAU;AACjC,MAAM,QAAQ;KACd;;EAGJ,SAAS,EAAmB,GAAe;AACzC,MAAyB,MAAU;AACjC,MAAM,eAAe,MAAU,KAAK,KAAA,IAAY;KAChD;;EAGJ,SAAS,IAAgB;GACvB,IAAM,IAAK,GAAW;AAYtB,GAXA,GAAyB,MAAU;AACjC,MAAM,MAAM,KAAK;KACf;KACA,OAAO;KACP,QAAQ;MACN,IAAI,GAAW;MACf,MAAM;MACN,SAAS,EAAE;MACZ;KACF,CAAC;KACF,EACF,EAAM,uBAAuB,EAAG;;yBAKhC,EA2DgB,EAAA,EAAA,EAAA,MAAA,EAAA;GA1DH,kBAAc,QAUrB,CATF,EASE,EAAA,EAAA,EAAA;IARC,eAAa,EAAM,WAAW;IAC9B,OAAK,EAAA,GAAK,EAAA,EAAY,CAAC,WAAW,EAAM,WAAW,MAAM,WAAM,GAAA,CAAA;IAC/D,cAAY;IACb,aAAU;IACV,aAAY;IACX,WAAW,EAAM,WAAW,MAAM,WAAM;IACxC,UAAU,EAAA,EAAa;IACvB,uBAAoB;;;;;;;GAuCd,kBAAc,QAQV,CAPb,EAOa,EAAA,EAAA,EAAA;IANX,MAAK;IACL,SAAA;IACC,UAAU,EAAM,WAAW,MAAM,WAAM;IACvC,SAAK,AAAA,EAAA,OAAA,GAAA,MAAO,EAAK,gBAAA,EAAA,CAAA,OAAA,CAAA;;qBAGpB,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAFC,mBAED,GAAA,CAAA,CAAA,CAAA;;;;MA5Cc,EAAM,aAAA;SAAa;eAkC3B,CAjCN,EAiCM,OAAA,EAjCA,OAAK,EAAA,CAAGA,EAAAA,OAAO,MAAI,GAAK,EAAA,EAAY,CAAC,WAAW,EAAM,WAAW,MAAM,WAAM,GAAA,CAAA,CAAA,EAAA,EAAA;IACjF,EAEO,QAAA,EAFA,OAAK,EAAEA,EAAAA,OAAO,IAAG,EAAA,EAAE,4EAE1B,EAAA;IACA,EAYgB,EAAA,EAAA,EAAA;KAXb,OAAO,EAAM,WAAW;KACxB,iBAAe,MAAS,EAAK;KAC7B,cAAY,MAAS,EAAK,OAAO,EAAM;KACvC,cAAYA,EAAAA,OAAO;KACnB,OAAK,EAAEA,EAAAA,OAAO,MAAK;KACnB,kBAAc;KACd,aAAU,AAAA,EAAA,QAAG,MAAS,EAAM,uBAAuB,EAAK,GAAE;;KAEhD,cAAU,GACH,EADO,cAAI,CAAA,EAAA,EACxB,EAAK,MAAK,EAAA,EAAA,CAAA,CAAA;;;;;;;;;IAIjB,EAA8E,EAAA,EAAA,EAAA;KAA9D,MAAK;KAAO,SAAO;;sBAA0B,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAAX,eAAW,GAAA,CAAA,CAAA,CAAA;;;IAE7D,EAYE,EAAA,EAAA,EAAA;KAXC,OAAK,EAAA,CAAgBA,EAAAA,OAAO,cAAA,GAA6BA,EAAAA,OAAO,oBAAoB,EAAA,EAAO,CAAC,EAAM,WAAW,aAAY,EAAA,CAAA,CAAA;KAIzH,eAAa,EAAM,WAAW,gBAAY;KAC3C,OAAM;KACN,aAAY;KACZ,WAAA;KACA,QAAO;KACN,SAAK,AAAA,EAAA,OAAA,QAAN,IAAW,CAAA,OAAA,CAAA;KACV,uBAAoB"}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterSidebar.js","names":[],"sources":["../../../../src/components/PlAnnotations/components/FilterSidebar.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type Props = {\n columns: PlAdvancedFilterItem[];\n\n getSuggestOptions: (params: {\n columnId: PlAdvancedFilterColumnId;\n axisIdx?: number;\n searchStr: string;\n searchType: \"value\" | \"label\";\n }) => ListOptionBase<string | number>[] | Promise<ListOptionBase<string | number>[]>;\n\n hasSelectedColumns?: boolean;\n getValuesForSelectedColumns?: () => Promise<\n undefined | { columnId: PObjectId; values: string[] }\n >;\n};\n</script>\n<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { produce } from \"immer\";\nimport { randomInt } from \"@milaboratories/helpers\";\nimport { PlBtnSecondary, PlEditableTitle, PlSidebarItem } from \"@milaboratories/uikit\";\nimport type { ListOptionBase, PObjectId, SUniversalPColumnId } from \"@platforma-sdk/model\";\n\nimport { PlAdvancedFilterComponent } from \"../../PlAdvancedFilter\";\nimport type {\n PlAdvancedFilterItem,\n PlAdvancedFilterColumnId,\n PlAdvancedFilterSupportedFilters,\n PlAdvancedFilter,\n} from \"../../PlAdvancedFilter\";\nimport type { Filter } from \"../types\";\nimport { validateTitle } from \"../utils\";\n\nimport $commonStyle from \"./style.module.css\";\n\nconst props = defineProps<\n Props & {\n step: Filter;\n onUpdateStep: (step: Filter) => void;\n }\n>();\n\nconst withSelection = computed(() => {\n return props.hasSelectedColumns !== undefined && props.getValuesForSelectedColumns !== undefined;\n});\n\nfunction produceStepUpdate(updater: (draft: Filter) => void) {\n props.onUpdateStep(produce(props.step, updater));\n}\n\nfunction updateLabel(label: string) {\n produceStepUpdate((draft) => {\n draft.label = label;\n });\n}\n\nfunction updateFilter(filter: PlAdvancedFilter) {\n produceStepUpdate((draft) => {\n draft.filter = filter as typeof draft.filter;\n });\n}\n\nfunction addFilterPlaceholder() {\n if (props.columns.length === 0) return;\n produceStepUpdate((draft) => {\n draft.filter.filters.push({\n id: randomInt(),\n isExpanded: true,\n type: \"or\",\n filters: [\n {\n id: randomInt(),\n type: \"isNA\",\n column: props.columns[0].id as SUniversalPColumnId,\n },\n ],\n });\n });\n}\n\nasync function addFilterFromSelected() {\n if (props.hasSelectedColumns === undefined || props.getValuesForSelectedColumns === undefined)\n return;\n\n const data = await props.getValuesForSelectedColumns();\n if (!data || data.values.length === 0) return;\n\n const { columnId, values } = data;\n const shortReminder =\n values.slice(0, 3).join(\", \") + (values.length > 3 ? ` and ${values.length - 3} more` : \"\");\n\n produceStepUpdate((draft) => {\n draft.filter.filters.push({\n id: randomInt(),\n name: `Selected list (${shortReminder})`,\n isExpanded: false,\n type: \"or\",\n filters: values.map((value, i) => ({\n id: i,\n type: \"patternEquals\",\n column: columnId as SUniversalPColumnId,\n value,\n })),\n });\n });\n}\n\nconst supportedFilters = [\n \"isNA\",\n \"isNotNA\",\n \"greaterThan\",\n \"greaterThanOrEqual\",\n \"lessThan\",\n \"lessThanOrEqual\",\n \"patternEquals\",\n \"patternNotEquals\",\n \"patternContainSubsequence\",\n \"patternNotContainSubsequence\",\n \"equal\",\n \"notEqual\",\n \"topN\",\n \"bottomN\",\n] as (typeof PlAdvancedFilterSupportedFilters)[number][];\n</script>\n\n<template>\n <PlSidebarItem v-if=\"props.step\">\n <template #header-content>\n <PlEditableTitle\n :key=\"props.step.id\"\n :model-value=\"props.step.label\"\n :class=\"{ [$commonStyle.flashing]: props.step.label.length === 0 }\"\n :max-length=\"40\"\n max-width=\"600px\"\n placeholder=\"Label\"\n :autofocus=\"props.step.label.length === 0\"\n :validate=\"validateTitle\"\n @update:model-value=\"updateLabel\"\n />\n </template>\n <template #body-content>\n <PlAdvancedFilterComponent\n :class=\"[$style.root, { [$commonStyle.disabled]: props.step.label.length === 0 }]\"\n :options=\"props.columns\"\n :filters=\"props.step.filter as PlAdvancedFilter\"\n :on-update-filters=\"updateFilter\"\n :supported-filters=\"supportedFilters\"\n :get-suggest-options=\"props.getSuggestOptions\"\n :enable-dnd=\"false\"\n :enable-add-group-button=\"true\"\n >\n <template #add-group-buttons>\n <div :class=\"$style.actions\">\n <PlBtnSecondary icon=\"add\" @click=\"addFilterPlaceholder\"> Add Filter </PlBtnSecondary>\n <PlBtnSecondary\n v-if=\"withSelection\"\n icon=\"add\"\n :disabled=\"props.hasSelectedColumns !== true\"\n @click=\"addFilterFromSelected\"\n >\n From selection\n </PlBtnSecondary>\n </div>\n </template>\n </PlAdvancedFilterComponent>\n </template>\n </PlSidebarItem>\n</template>\n\n<style module>\n.root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.actions {\n display: flex;\n flex-direction: row;\n gap: 12px;\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"FilterSidebar.js","names":[],"sources":["../../../../src/components/PlAnnotations/components/FilterSidebar.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type Props = {\n columns: PlAdvancedFilterItem[];\n\n getSuggestOptions: (params: {\n columnId: PlAdvancedFilterColumnId;\n axisIdx?: number;\n searchStr: string;\n searchType: \"value\" | \"label\";\n }) => ListOptionBase<string | number>[] | Promise<ListOptionBase<string | number>[]>;\n\n hasSelectedColumns?: boolean;\n getValuesForSelectedColumns?: () => Promise<\n undefined | { columnId: PObjectId; values: string[] }\n >;\n};\n</script>\n<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { produce } from \"immer\";\nimport { randomInt } from \"@milaboratories/helpers\";\nimport { PlBtnSecondary, PlEditableTitle, PlSidebarItem } from \"@milaboratories/uikit\";\nimport type { ListOptionBase, PObjectId, SUniversalPColumnId } from \"@platforma-sdk/model\";\n\nimport { PlAdvancedFilterComponent } from \"../../PlAdvancedFilter\";\nimport type {\n PlAdvancedFilterItem,\n PlAdvancedFilterColumnId,\n PlAdvancedFilterSupportedFilters,\n PlAdvancedFilter,\n} from \"../../PlAdvancedFilter\";\nimport type { Filter } from \"../types\";\nimport { validateTitle } from \"../utils\";\n\nimport $commonStyle from \"./style.module.css\";\n\nconst props = defineProps<\n Props & {\n step: Filter;\n onUpdateStep: (step: Filter) => void;\n }\n>();\n\nconst withSelection = computed(() => {\n return props.hasSelectedColumns !== undefined && props.getValuesForSelectedColumns !== undefined;\n});\n\nfunction produceStepUpdate(updater: (draft: Filter) => void) {\n props.onUpdateStep(produce(props.step, updater));\n}\n\nfunction updateLabel(label: string | undefined) {\n produceStepUpdate((draft) => {\n draft.label = label ?? \"\";\n });\n}\n\nfunction updateFilter(filter: PlAdvancedFilter) {\n produceStepUpdate((draft) => {\n draft.filter = filter as typeof draft.filter;\n });\n}\n\nfunction addFilterPlaceholder() {\n if (props.columns.length === 0) return;\n produceStepUpdate((draft) => {\n draft.filter.filters.push({\n id: randomInt(),\n isExpanded: true,\n type: \"or\",\n filters: [\n {\n id: randomInt(),\n type: \"isNA\",\n column: props.columns[0].id as SUniversalPColumnId,\n },\n ],\n });\n });\n}\n\nasync function addFilterFromSelected() {\n if (props.hasSelectedColumns === undefined || props.getValuesForSelectedColumns === undefined)\n return;\n\n const data = await props.getValuesForSelectedColumns();\n if (!data || data.values.length === 0) return;\n\n const { columnId, values } = data;\n const shortReminder =\n values.slice(0, 3).join(\", \") + (values.length > 3 ? ` and ${values.length - 3} more` : \"\");\n\n produceStepUpdate((draft) => {\n draft.filter.filters.push({\n id: randomInt(),\n name: `Selected list (${shortReminder})`,\n isExpanded: false,\n type: \"or\",\n filters: values.map((value, i) => ({\n id: i,\n type: \"patternEquals\",\n column: columnId as SUniversalPColumnId,\n value,\n })),\n });\n });\n}\n\nconst supportedFilters = [\n \"isNA\",\n \"isNotNA\",\n \"greaterThan\",\n \"greaterThanOrEqual\",\n \"lessThan\",\n \"lessThanOrEqual\",\n \"patternEquals\",\n \"patternNotEquals\",\n \"patternContainSubsequence\",\n \"patternNotContainSubsequence\",\n \"equal\",\n \"notEqual\",\n \"topN\",\n \"bottomN\",\n] as (typeof PlAdvancedFilterSupportedFilters)[number][];\n</script>\n\n<template>\n <PlSidebarItem v-if=\"props.step\">\n <template #header-content>\n <PlEditableTitle\n :key=\"props.step.id\"\n :model-value=\"props.step.label\"\n :class=\"{ [$commonStyle.flashing]: props.step.label.length === 0 }\"\n :max-length=\"40\"\n max-width=\"600px\"\n placeholder=\"Label\"\n :autofocus=\"props.step.label.length === 0\"\n :validate=\"validateTitle\"\n @update:model-value=\"updateLabel\"\n />\n </template>\n <template #body-content>\n <PlAdvancedFilterComponent\n :class=\"[$style.root, { [$commonStyle.disabled]: props.step.label.length === 0 }]\"\n :options=\"props.columns\"\n :filters=\"props.step.filter as PlAdvancedFilter\"\n :on-update-filters=\"updateFilter\"\n :supported-filters=\"supportedFilters\"\n :get-suggest-options=\"props.getSuggestOptions\"\n :enable-dnd=\"false\"\n :enable-add-group-button=\"true\"\n >\n <template #add-group-buttons>\n <div :class=\"$style.actions\">\n <PlBtnSecondary icon=\"add\" @click=\"addFilterPlaceholder\"> Add Filter </PlBtnSecondary>\n <PlBtnSecondary\n v-if=\"withSelection\"\n icon=\"add\"\n :disabled=\"props.hasSelectedColumns !== true\"\n @click=\"addFilterFromSelected\"\n >\n From selection\n </PlBtnSecondary>\n </div>\n </template>\n </PlAdvancedFilterComponent>\n </template>\n </PlSidebarItem>\n</template>\n\n<style module>\n.root {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.actions {\n display: flex;\n flex-direction: row;\n gap: 12px;\n}\n</style>\n"],"mappings":""}