@platforma-sdk/ui-vue 1.49.0 → 1.51.0

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 (64) hide show
  1. package/.turbo/turbo-build.log +14 -16
  2. package/.turbo/turbo-lint.log +1 -1
  3. package/.turbo/turbo-type-check.log +1 -1
  4. package/CHANGELOG.md +28 -0
  5. package/dist/AgGridVue/useAgGridOptions.js +8 -8
  6. package/dist/AgGridVue/useAgGridOptions.js.map +1 -1
  7. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue.d.ts +2 -0
  8. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue.d.ts.map +1 -1
  9. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js +151 -154
  10. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js.map +1 -1
  11. package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue.d.ts.map +1 -1
  12. package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue.js +26 -20
  13. package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue.js.map +1 -1
  14. package/dist/components/PlAgDataTable/types.d.ts +12 -4
  15. package/dist/components/PlAgDataTable/types.d.ts.map +1 -1
  16. package/dist/components/PlAgDataTable/types.js +33 -31
  17. package/dist/components/PlAgDataTable/types.js.map +1 -1
  18. package/dist/components/PlAnnotations/components/PlAnnotations.vue2.js.map +1 -1
  19. package/dist/defineApp.d.ts +3 -3
  20. package/dist/defineApp.d.ts.map +1 -1
  21. package/dist/defineApp.js.map +1 -1
  22. package/dist/index.js +79 -81
  23. package/dist/index.js.map +1 -1
  24. package/dist/internal/createAppV1.d.ts +2 -2
  25. package/dist/internal/createAppV1.d.ts.map +1 -1
  26. package/dist/internal/createAppV1.js +29 -27
  27. package/dist/internal/createAppV1.js.map +1 -1
  28. package/dist/internal/createAppV2.d.ts +2 -2
  29. package/dist/internal/createAppV2.d.ts.map +1 -1
  30. package/dist/internal/createAppV2.js +68 -66
  31. package/dist/internal/createAppV2.js.map +1 -1
  32. package/dist/internal/createAppV2.test.d.ts +2 -2
  33. package/dist/internal/createAppV2.test.d.ts.map +1 -1
  34. package/dist/internal/v1.static-test.d.ts.map +1 -1
  35. package/dist/internal/v2.static-test.d.ts.map +1 -1
  36. package/dist/lib.d.ts +0 -1
  37. package/dist/lib.d.ts.map +1 -1
  38. package/dist/types.d.ts +5 -5
  39. package/dist/types.d.ts.map +1 -1
  40. package/dist/utils.d.ts +11 -3
  41. package/dist/utils.d.ts.map +1 -1
  42. package/dist/utils.js +33 -34
  43. package/dist/utils.js.map +1 -1
  44. package/package.json +8 -8
  45. package/src/AgGridVue/useAgGridOptions.ts +2 -2
  46. package/src/components/PlAgDataTable/PlAgDataTableV2.vue +27 -33
  47. package/src/components/PlAgDataTable/PlAgOverlayLoading.vue +20 -17
  48. package/src/components/PlAgDataTable/types.ts +39 -29
  49. package/src/defineApp.ts +4 -4
  50. package/src/internal/createAppV1.ts +9 -5
  51. package/src/internal/createAppV2.test.ts +40 -6
  52. package/src/internal/createAppV2.ts +9 -5
  53. package/src/internal/v1.static-test.ts +2 -2
  54. package/src/internal/v2.static-test.ts +2 -2
  55. package/src/lib.ts +0 -1
  56. package/src/types.ts +6 -5
  57. package/src/utils.ts +16 -13
  58. package/dist/components/ValueOrErrorsComponent.vue.d.ts +0 -27
  59. package/dist/components/ValueOrErrorsComponent.vue.d.ts.map +0 -1
  60. package/dist/components/ValueOrErrorsComponent.vue.js +0 -22
  61. package/dist/components/ValueOrErrorsComponent.vue.js.map +0 -1
  62. package/dist/components/ValueOrErrorsComponent.vue2.js +0 -5
  63. package/dist/components/ValueOrErrorsComponent.vue2.js.map +0 -1
  64. package/src/components/ValueOrErrorsComponent.vue +0 -28
@@ -1,13 +1,13 @@
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.49.0 build /home/runner/_work/platforma/platforma/sdk/ui-vue
3
+ > @platforma-sdk/ui-vue@1.51.0 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 v6.3.5 building for production...
9
9
  transforming...
10
- ✓ 235 modules transformed.
10
+ ✓ 233 modules transformed.
11
11
  Export "default" of module "src/components/PlAgGridColumnManager/PlAgGridColumnManager.vue" was reexported through module "src/components/PlAgGridColumnManager/index.ts" while both modules are dependencies of each other and will end up in different chunks by current Rollup settings. This scenario is not well supported at the moment as it will produce a circular dependency between chunks and will likely lead to broken execution order.
12
12
  Either change the import in "src/components/PlAgDataTable/PlAgDataTableV2.vue?vue&type=script&setup=true&lang.ts" to point directly to the exporting module or do not use "output.preserveModules" to ensure these modules end up in the same chunk.
13
13
  rendering chunks...
@@ -29,7 +29,6 @@ computing gzip size...
29
29
  dist/plugins/Monetization/MonetizationSidebar.vue2.js  0.13 kB │ gzip: 0.12 kB │ map: 0.11 kB
30
30
  dist/components/PlTableFilters/PlTableFilterEntryV2.vue2.js  0.13 kB │ gzip: 0.12 kB │ map: 0.11 kB
31
31
  dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue2.js  0.13 kB │ gzip: 0.12 kB │ map: 0.11 kB
32
- dist/components/ValueOrErrorsComponent.vue2.js  0.13 kB │ gzip: 0.12 kB │ map: 0.11 kB
33
32
  dist/urls.js  0.14 kB │ gzip: 0.15 kB │ map: 0.64 kB
34
33
  dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue2.js  0.14 kB │ gzip: 0.13 kB │ map: 0.12 kB
35
34
  dist/_virtual/index.js  0.16 kB │ gzip: 0.15 kB │ map: 0.09 kB
@@ -79,8 +78,8 @@ computing gzip size...
79
78
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/to-comparators.js  0.30 kB │ gzip: 0.23 kB │ map: 0.78 kB
80
79
  dist/components/PlBtnExportArchive/PlBtnExportArchive.vue.js  0.31 kB │ gzip: 0.22 kB │ map: 0.11 kB
81
80
  dist/components/PlAnnotations/components/PlAnnotationsModal.vue.js  0.31 kB │ gzip: 0.22 kB │ map: 0.11 kB
82
- dist/components/PlAnnotations/components/AnnotationsSidebar.vue.js  0.31 kB │ gzip: 0.22 kB │ map: 0.11 kB
83
81
  dist/components/PlAgDataTable/PlAgDataTableSheets.vue.js  0.31 kB │ gzip: 0.22 kB │ map: 0.11 kB
82
+ dist/components/PlAnnotations/components/AnnotationsSidebar.vue.js  0.31 kB │ gzip: 0.22 kB │ map: 0.11 kB
84
83
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/valid.js  0.31 kB │ gzip: 0.22 kB │ map: 0.76 kB
85
84
  dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue.js  0.32 kB │ gzip: 0.23 kB │ map: 0.12 kB
86
85
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/satisfies.js  0.32 kB │ gzip: 0.23 kB │ map: 0.74 kB
@@ -125,7 +124,6 @@ computing gzip size...
125
124
  dist/components/PlBtnExportArchive/PlBtnExportArchive.vue3.js  0.91 kB │ gzip: 0.52 kB │ map: 0.11 kB
126
125
  dist/components/PlAdvancedFilter/OperandButton.vue3.js  0.93 kB │ gzip: 0.52 kB │ map: 0.11 kB
127
126
  dist/node_modules/.pnpm/fast-json-patch@3.1.1/node_modules/fast-json-patch/index.js  0.94 kB │ gzip: 0.42 kB │ map: 1.12 kB
128
- dist/components/ValueOrErrorsComponent.vue.js  0.98 kB │ gzip: 0.50 kB │ map: 1.62 kB
129
127
  dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue.js  1.00 kB │ gzip: 0.55 kB │ map: 2.09 kB
130
128
  dist/components/PlBtnExportArchive/Item.vue3.js  1.03 kB │ gzip: 0.52 kB │ map: 0.10 kB
131
129
  dist/components/PlAgRowNumCheckbox/pl-ag-row-num-checkbox.module.scss.js  1.03 kB │ gzip: 0.49 kB │ map: 0.13 kB
@@ -140,20 +138,20 @@ computing gzip size...
140
138
  dist/lib/util/helpers/dist/objects.js  1.18 kB │ gzip: 0.53 kB │ map: 9.42 kB
141
139
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/functions/coerce.js  1.18 kB │ gzip: 0.58 kB │ map: 3.54 kB
142
140
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/min-version.js  1.20 kB │ gzip: 0.57 kB │ map: 2.88 kB
143
- dist/components/PlAgDataTable/PlAgOverlayLoading.vue.js  1.23 kB │ gzip: 0.65 kB │ map: 2.46 kB
144
141
  dist/components/PlAdvancedFilter/utils.js  1.26 kB │ gzip: 0.60 kB │ map: 5.10 kB
145
142
  dist/plugins/Monetization/RunStatus.vue2.js  1.27 kB │ gzip: 0.59 kB │ map: 3.13 kB
146
143
  dist/components/PlBtnExportArchive/Summary.vue2.js  1.32 kB │ gzip: 0.58 kB │ map: 2.53 kB
147
144
  dist/lib/util/helpers/dist/prettyBytes.js  1.34 kB │ gzip: 0.65 kB │ map: 4.36 kB
145
+ dist/components/PlAgDataTable/PlAgOverlayLoading.vue.js  1.37 kB │ gzip: 0.72 kB │ map: 2.76 kB
148
146
  dist/components/PlBtnExportArchive/Item.vue2.js  1.37 kB │ gzip: 0.56 kB │ map: 2.80 kB
149
147
  dist/createModel.js  1.39 kB │ gzip: 0.65 kB │ map: 3.91 kB
150
- dist/components/PlAgDataTable/types.js  1.40 kB │ gzip: 0.56 kB │ map: 9.40 kB
151
148
  dist/components/PlAdvancedFilter/PlAdvancedFilter.vue3.js  1.52 kB │ gzip: 0.73 kB │ map: 0.11 kB
152
149
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/ranges/outside.js  1.55 kB │ gzip: 0.65 kB │ map: 3.99 kB
153
150
  dist/plugins/Monetization/UserCabinetCard.vue3.js  1.55 kB │ gzip: 0.77 kB │ map: 0.11 kB
154
151
  dist/components/PlAgDataTable/sources/focus-row.js  1.57 kB │ gzip: 0.75 kB │ map: 2.65 kB
155
- dist/utils.js  1.57 kB │ gzip: 0.72 kB │ map: 3.81 kB
152
+ dist/components/PlAgDataTable/types.js  1.57 kB │ gzip: 0.60 kB │ map: 9.98 kB
156
153
  dist/AgGridVue/createAgGridColDef.js  1.61 kB │ gzip: 0.72 kB │ map: 9.40 kB
154
+ dist/utils.js  1.61 kB │ gzip: 0.75 kB │ map: 3.87 kB
157
155
  dist/components/PlAgCsvExporter/export-csv.js  1.63 kB │ gzip: 0.74 kB │ map: 3.92 kB
158
156
  dist/aggrid.js  1.65 kB │ gzip: 0.79 kB │ map: 3.09 kB
159
157
  dist/components/PlAdvancedFilter/constants.js  1.66 kB │ gzip: 0.51 kB │ map: 3.77 kB
@@ -161,7 +159,7 @@ computing gzip size...
161
159
  dist/plugins/Monetization/RunStatus.vue3.js  1.79 kB │ gzip: 0.82 kB │ map: 0.11 kB
162
160
  dist/internal/UpdateSerializer.js  1.86 kB │ gzip: 0.80 kB │ map: 4.63 kB
163
161
  dist/components/PlAnnotations/components/PlAnnotationsModal.vue2.js  1.99 kB │ gzip: 0.86 kB │ map: 2.62 kB
164
- dist/defineApp.js  2.15 kB │ gzip: 0.96 kB │ map: 9.58 kB
162
+ dist/defineApp.js  2.15 kB │ gzip: 0.96 kB │ map: 9.65 kB
165
163
  dist/plugins/Monetization/useInfo.js  2.18 kB │ gzip: 0.80 kB │ map: 4.32 kB
166
164
  dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue.js  2.20 kB │ gzip: 1.05 kB │ map: 3.27 kB
167
165
  dist/plugins/Monetization/UserCabinetCard.vue2.js  2.36 kB │ gzip: 0.95 kB │ map: 4.61 kB
@@ -188,13 +186,13 @@ computing gzip size...
188
186
  dist/components/PlAnnotations/components/FilterSidebar.vue2.js  4.30 kB │ gzip: 1.56 kB │ map: 7.41 kB
189
187
  dist/plugins/Monetization/MonetizationSidebar.vue.js  4.71 kB │ gzip: 1.75 kB │ map: 6.69 kB
190
188
  dist/components/BlockLayout.vue2.js  4.97 kB │ gzip: 1.84 kB │ map: 3.90 kB
191
- dist/internal/createAppV1.js  5.76 kB │ gzip: 1.84 kB │ map: 15.33 kB
192
189
  dist/composition/fileContent.js  5.78 kB │ gzip: 1.95 kB │ map: 14.16 kB
190
+ dist/internal/createAppV1.js  5.85 kB │ gzip: 1.89 kB │ map: 15.68 kB
193
191
  dist/components/PlBtnExportArchive/PlBtnExportArchive.vue2.js  5.93 kB │ gzip: 2.22 kB │ map: 11.97 kB
194
192
  dist/components/PlAnnotations/components/AnnotationsSidebar.vue3.js  5.97 kB │ gzip: 1.77 kB │ map: 0.12 kB
195
193
  dist/components/PlTableFilters/PlTableFiltersV2.vue2.js  6.12 kB │ gzip: 2.03 kB │ map: 11.68 kB
196
194
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/classes/semver.js  6.70 kB │ gzip: 1.86 kB │ map: 15.20 kB
197
- dist/internal/createAppV2.js  6.93 kB │ gzip: 2.43 kB │ map: 19.37 kB
195
+ dist/internal/createAppV2.js  7.02 kB │ gzip: 2.48 kB │ map: 19.73 kB
198
196
  dist/components/PlAgDataTable/sources/table-source-v2.js  7.32 kB │ gzip: 2.67 kB │ map: 22.27 kB
199
197
  dist/components/PlTableFilters/PlTableFilterEntryV2.vue.js  7.36 kB │ gzip: 1.62 kB │ map: 10.79 kB
200
198
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/classes/range.js  7.70 kB │ gzip: 2.49 kB │ map: 25.65 kB
@@ -204,13 +202,13 @@ computing gzip size...
204
202
  dist/components/PlAdvancedFilter/FilterEditor.vue2.js 12.66 kB │ gzip: 3.26 kB │ map: 24.94 kB
205
203
  dist/components/PlAgDataTable/PlAgOverlayNoRows.vue3.js 35.48 kB │ gzip: 26.70 kB │ map: 0.11 kB
206
204
  dist/components/PlAgDataTable/pl-ag-overlay-loading.module.scss.js 41.43 kB │ gzip: 30.91 kB │ map: 0.12 kB
207
- dist/index.js 43.15 kB │ gzip: 29.03 kB │ map: 0.13 kB
205
+ dist/index.js 43.04 kB │ gzip: 29.01 kB │ map: 0.13 kB
208
206
  dist/components/PlAgDataTable/PlAgRowCount.vue.js 43.96 kB │ gzip: 29.03 kB │ map: 2.76 kB
209
207
  dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.js 44.35 kB │ gzip: 29.27 kB │ map: 3.03 kB
210
208
  dist/components/PlAgRowNumHeader.vue.js 44.62 kB │ gzip: 29.27 kB │ map: 4.05 kB
211
- dist/AgGridVue/useAgGridOptions.js 49.01 kB │ gzip: 30.10 kB │ map: 15.74 kB
212
- dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js 50.40 kB │ gzip: 31.07 kB │ map: 34.82 kB
213
- [vite:dts] Declaration files built in 5279ms.
209
+ dist/AgGridVue/useAgGridOptions.js 49.06 kB │ gzip: 30.12 kB │ map: 15.83 kB
210
+ dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js 50.38 kB │ gzip: 31.10 kB │ map: 34.48 kB
211
+ [vite:dts] Declaration files built in 5073ms.
214
212
 
215
- ✓ built in 7.53s
213
+ ✓ built in 7.36s
216
214
  Build completed successfully
@@ -1,5 +1,5 @@
1
1
   WARN  Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-sdk/ui-vue@1.49.0 lint /home/runner/_work/platforma/platforma/sdk/ui-vue
3
+ > @platforma-sdk/ui-vue@1.51.0 lint /home/runner/_work/platforma/platforma/sdk/ui-vue
4
4
  > eslint .
5
5
 
@@ -1,6 +1,6 @@
1
1
   WARN  Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-sdk/ui-vue@1.49.0 type-check /home/runner/_work/platforma/platforma/sdk/ui-vue
3
+ > @platforma-sdk/ui-vue@1.51.0 type-check /home/runner/_work/platforma/platforma/sdk/ui-vue
4
4
  > ts-builder types --target browser-lib
5
5
 
6
6
  ↳ vue-tsc.js --noEmit --project ./tsconfig.json --customConditions ,
package/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # @platforma-sdk/ui-vue
2
2
 
3
+ ## 1.51.0
4
+
5
+ ### Minor Changes
6
+
7
+ - a12641f: - `usePlDataTableSettingsV2` expects `OutputWithStatus` now
8
+ - `PlAgOverlayLoading`: replaced `notReady: boolean` with `variant: 'not-ready' | 'running' | 'loading'`
9
+ - `PlAgDataTableV2`: only show status bar when data is loaded
10
+ - `PlAgDataTableV2`: old loading hack removed
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [a12641f]
15
+ - @milaboratories/uikit@2.9.0
16
+
17
+ ## 1.50.0
18
+
19
+ ### Minor Changes
20
+
21
+ - fc75a16: defineApp now expects platforma extended with `blockModelInfo` field
22
+
23
+ ### Patch Changes
24
+
25
+ - Updated dependencies [fc75a16]
26
+ - Updated dependencies [fc75a16]
27
+ - @platforma-sdk/model@1.50.0
28
+ - @milaboratories/uikit@2.8.9
29
+ - @milaboratories/ptabler-expression-js@1.1.9
30
+
3
31
  ## 1.49.0
4
32
 
5
33
  ### Patch Changes
@@ -12,13 +12,13 @@ var c = (r) => {
12
12
  };
13
13
  var d = (r, t, o) => t.has(r) || c("Cannot " + o);
14
14
  var i = (r, t, o) => (d(r, t, "read from private field"), o ? o.call(r) : t.get(r)), g = (r, t, o) => t.has(r) ? c("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(r) : t.set(r, o), h = (r, t, o, a) => (d(r, t, "write to private field"), a ? a.call(r, o) : t.set(r, o), o);
15
- import { shallowRef as f, computed as R, watch as y } from "vue";
15
+ import { shallowRef as f, computed as v, watch as y } from "vue";
16
16
  import { AgGridTheme as x } from "../aggrid.js";
17
17
  import "@platforma-sdk/model";
18
18
  import "ag-grid-vue3";
19
19
  import "@milaboratories/uikit";
20
20
  import "ag-grid-enterprise";
21
- import { makeRowNumberColDef as w, autoSizeRowNumberColumn as v } from "../components/PlAgDataTable/sources/row-number.js";
21
+ import { makeRowNumberColDef as w, autoSizeRowNumberColumn as R } from "../components/PlAgDataTable/sources/row-number.js";
22
22
  import "../_virtual/index.js";
23
23
  import T from "../components/PlAgDataTable/PlAgOverlayLoading.vue.js";
24
24
  import O from "../components/PlAgDataTable/PlAgOverlayNoRows.vue.js";
@@ -189,14 +189,14 @@ class C {
189
189
  }
190
190
  e = new WeakMap();
191
191
  function ut(r) {
192
- const t = f(), o = R(() => {
192
+ const t = f(), o = v(() => {
193
193
  var u;
194
194
  const s = {
195
195
  theme: x,
196
196
  loadingOverlayComponent: T,
197
197
  noRowsOverlayComponent: O,
198
198
  onGridReady: (m) => {
199
- t.value = m.api, v(m.api);
199
+ t.value = m.api, R(m.api);
200
200
  }
201
201
  }, p = (m) => m, l = r({ builder: new C(), column: p }), n = Object.assign({}, s, l instanceof C ? l.build() : l);
202
202
  return n.rowNumbersColumn && (n.columnDefs = [w(), ...n.columnDefs ?? []]), n.noRowsText && (n.noRowsOverlayComponentParams = {
@@ -207,26 +207,26 @@ function ut(r) {
207
207
  PlAgChartHistogramCell: A,
208
208
  PlAgCellStatusTag: N
209
209
  }), n;
210
- }), a = R(() => {
210
+ }), a = v(() => {
211
211
  const s = o.value;
212
212
  return {
213
213
  ...s,
214
214
  loadingOverlayComponentParams: {
215
- notReady: s.notReady,
215
+ variant: s.notReady ? "not-ready" : "loading",
216
216
  notReadyText: s.notReadyText,
217
217
  loadingText: s.loadingText
218
218
  }
219
219
  };
220
220
  });
221
221
  return D(() => o.value.rowNumbersColumn, () => {
222
- t.value && v(t.value);
222
+ t.value && R(t.value);
223
223
  }), y([
224
224
  () => o.value.notReady,
225
225
  () => o.value.loading
226
226
  ], ([s, p]) => {
227
227
  var n, u;
228
228
  const l = {
229
- notReady: s,
229
+ variant: s ? "not-ready" : "loading",
230
230
  // we probably don't need to update the parameters below
231
231
  notReadyText: o.value.notReadyText,
232
232
  loadingText: o.value.loadingText
@@ -1 +1 @@
1
- {"version":3,"file":"useAgGridOptions.js","sources":["../../src/AgGridVue/useAgGridOptions.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { ColGroupDef, GridApi, GridOptions, GridReadyEvent, ICellRendererParams, RowSelectionOptions, ValueSetterParams } from 'ag-grid-enterprise';\nimport type { Component } from 'vue';\nimport { computed, shallowRef, watch } from 'vue';\nimport { AgGridTheme } from '../aggrid';\nimport { autoSizeRowNumberColumn, makeRowNumberColDef, PlAgOverlayLoading, type PlAgOverlayLoadingParams } from '../components/PlAgDataTable';\nimport { PlAgOverlayNoRows } from '../components/PlAgDataTable';\nimport { createAgGridColDef, type ColDefExtended } from './createAgGridColDef';\nimport { whenever } from '@vueuse/core';\nimport { PlAgCellFile } from '../components/PlAgCellFile';\nimport { PlAgChartStackedBarCell } from '../components/PlAgChartStackedBarCell';\nimport { PlAgChartHistogramCell } from '../components/PlAgChartHistogramCell';\nimport type { ImportFileHandle } from '@platforma-sdk/model';\nimport type { ImportProgress } from '@platforma-sdk/model';\nimport { PlAgCellStatusTag } from '../components/PlAgCellStatusTag';\ninterface GridOptionsExtended<TData = any> extends Omit<GridOptions<TData>, 'columnDefs' | 'loadingOverlayComponentParams'> {\n /**\n * Array of Column / Column Group definitions.\n */\n columnDefs?: (ColDefExtended<TData> | ColGroupDef<TData>)[] | null;\n /**\n * Show row numbers column\n */\n rowNumbersColumn?: boolean;\n /**\n * Loading overlay text\n */\n loadingText?: string;\n /**\n * Not ready overlay (No datasource). Takes priority over \"loading\"\n */\n notReady?: boolean;\n /**\n * \"No datasource\" by default\n */\n notReadyText?: string;\n /**\n * Override standard 'Empty' text for the \"no rows\" overlay\n */\n noRowsText?: string;\n /**\n * @deprecated Use loading, notReady, loadingText instead\n */\n loadingOverlayComponentParams?: never;\n}\n\n// @TODO (super simple builder for now)\nclass Builder<TData> {\n #options: GridOptionsExtended<TData> = {};\n\n public options(options: GridOptionsExtended<TData>) {\n this.#options = Object.assign({}, this.#options, options);\n return this;\n }\n\n private get columnDefs() {\n return this.#options.columnDefs ?? [];\n }\n\n /**\n * Set default column definition\n * @param def - column definition\n * @returns this\n */\n public setDefaultColDef(def: ColDefExtended<TData>) {\n this.#options.defaultColDef = def;\n return this;\n }\n\n /**\n * Show loading overlay\n * @param loading\n * @returns this\n */\n public setLoading(loading?: boolean) {\n this.#options.loading = loading;\n return this;\n }\n\n /**\n * Set loading overlay custom text (default is \"Loading\")\n * @param loadingText\n * @returns this\n */\n public setLoadingText(loadingText?: string) {\n this.#options.loadingText = loadingText;\n return this;\n }\n\n /**\n * Show \"not ready overlay\n * @param notReady\n * @returns this\n */\n public setNotReady(notReady?: boolean) {\n this.#options.notReady = notReady;\n return this;\n }\n\n /**\n * Set \"not ready\" text\n * @param notReadyText\n * @returns this\n */\n public setNotReadyText(notReadyText?: string) {\n this.#options.notReadyText = notReadyText;\n return this;\n }\n\n /**\n * Set \"no rows\" text when there are no rows (default is \"Empty\")\n * @param noRowsText\n * @returns this\n */\n public setNoRowsText(noRowsText?: string) {\n this.#options.noRowsText = noRowsText;\n return this;\n }\n\n /**\n * Set row selection options\n * @param rowSelection\n * @returns this\n */\n public setRowSelection(rowSelection?: RowSelectionOptions) {\n this.#options.rowSelection = rowSelection;\n return this;\n }\n\n /**\n * Set row data\n * @param rowData\n * @returns this\n */\n public setRowData(rowData?: TData[]) {\n this.#options.rowData = rowData;\n return this;\n }\n\n /**\n * Set components\n * @param components\n * @returns this\n */\n public setComponents(components?: Record<string, Component>) {\n this.#options.components = components;\n return this;\n }\n\n /**\n * Set an option\n * @param key - option key\n * @param value - option value\n * @returns this\n */\n public setOption<K extends keyof GridOptionsExtended<TData>>(key: K, value: GridOptionsExtended<TData>[K]) {\n this.#options[key] = value;\n return this;\n }\n\n /**\n * Add an extended column definition\n * @param def - column definition\n * @returns this\n */\n public column<TValue = any>(def: ColDefExtended<TData, TValue>) {\n this.#options.columnDefs = [...this.columnDefs, def];\n return this;\n }\n\n /**\n * Show row numbers column\n * @param show - show or hide row numbers column\n * @returns this\n */\n public columnRowNumbers(show: boolean = true) {\n this.#options.rowNumbersColumn = show;\n return this;\n }\n\n /**\n * Add a file input column\n * @param def - column definition\n * @param cb - callback to set params for the file input cell renderer\n * @returns this\n */\n public columnFileInput<TValue = any>(\n def: ColDefExtended<TData, TValue> & {\n /**\n * Allowed file extensions (like ['fastq.gz'])\n */\n extensions?: string[];\n /**\n * The resolveProgress function is an optional input parameter for the component\n * that allows tracking the file upload progress in real-time.\n * By passing resolveProgress, you can ensure that the component\n * displays accurate progress values for each file as they upload.\n * How to use it in AgGrid\n * cellRendererParams: {\n * resolveProgress: (cellData) => {\n * const progresses = app.progresses;\n * if (!cellData.value.importFileHandle) return undefined;\n * else return progresses[cellData.value.importFileHandle];\n * }\n * }\n */\n resolveImportProgress?: (cellData: ICellRendererParams<TData, TValue>) => ImportProgress | undefined;\n\n /**\n * The resolveFileHandle function is an optional input parameter for the component\n * that allows tracking the file upload progress in real-time.\n * By passing resolveFileHandle, you can ensure that the component\n * displays accurate progress values for each file as they upload.\n * How to use it in AgGrid\n * cellRendererParams: {\n * resolveFileHandle: (cellData) => {\n * return cellData.value.importFileHandle;\n * }\n * }\n */\n resolveImportFileHandle?: (cellData: ICellRendererParams<TData, TValue>) => ImportFileHandle | undefined;\n\n setImportFileHandle?: (d: ValueSetterParams<TData, ImportFileHandle | undefined>) => void;\n }) {\n return this.column(Object.assign({\n cellRenderer: 'PlAgCellFile',\n headerComponentParams: { type: 'File' },\n cellStyle: { padding: 0 },\n valueSetter: (d: ValueSetterParams<TData, ImportFileHandle | undefined>) => {\n def.setImportFileHandle?.(d);\n return true;\n },\n cellRendererSelector: (cellData: ICellRendererParams<TData, TValue>) => {\n return {\n component: 'PlAgCellFile',\n params: {\n extensions: def.extensions,\n value: def.resolveImportFileHandle?.(cellData),\n resolveProgress: () => {\n return def.resolveImportProgress?.(cellData);\n },\n },\n };\n },\n }, def));\n }\n\n public build() {\n return this.#options;\n }\n}\n\n// Simple helper to use like column<string> in grid options literal\ntype ColumnFunc<TData> = <TValue>(def: ColDefExtended<TData, TValue>) => ColDefExtended<TData, TValue>;\n\n/**\n * Returns a set of Ag Grid options along with a reference to the Ag Grid API.\n * (This is a fast prototype)\n *\n * @example\n * ```ts\n * const { gridOptions, gridApi } = useAgGridOptions(() => ({\n * // custom grid options here\n * }));\n *\n * // Usage in a template (v-bind is required!)\n * <template>\n * <AgGridVue :style=\"{ height: '100%' }\" v-bind=\"gridOptions\" />\n * </template>\n * ```\n */\nexport function useAgGridOptions<TData>(\n factory: (context: { builder: Builder<TData>; column: ColumnFunc<TData> }) => Builder<TData> | GridOptionsExtended<TData>,\n) {\n const gridApi = shallowRef<GridApi>();\n\n const extOptions = computed<GridOptionsExtended>(() => {\n const def: GridOptionsExtended<TData> = {\n theme: AgGridTheme,\n loadingOverlayComponent: PlAgOverlayLoading,\n noRowsOverlayComponent: PlAgOverlayNoRows,\n onGridReady: (e: GridReadyEvent) => {\n gridApi.value = e.api;\n autoSizeRowNumberColumn(e.api); // @TODO\n },\n };\n\n const column = <TValue>(def: ColDefExtended<TData, TValue>) => {\n return def;\n };\n\n const result = factory({ builder: new Builder(), column });\n\n const options = Object.assign({}, def, result instanceof Builder ? result.build() : result);\n\n if (options.rowNumbersColumn) {\n options.columnDefs = [makeRowNumberColDef(), ...(options.columnDefs ?? [])];\n }\n\n if (options.noRowsText) {\n options.noRowsOverlayComponentParams = {\n text: options.noRowsText,\n };\n }\n\n if ('loadingOverlayComponentParams' in options) {\n console.warn('useAgGridOptions: remove loadingOverlayComponentParams from options, use loading, notReady, loadingText instead');\n }\n\n options.loading = options.notReady || options.loading;\n\n options.columnDefs = options.columnDefs?.map((it) => createAgGridColDef(it));\n\n // Register all special components\n options.components = Object.assign({}, options.components ?? {}, {\n PlAgCellFile,\n PlAgChartStackedBarCell,\n PlAgChartHistogramCell,\n PlAgCellStatusTag,\n });\n\n return options;\n });\n\n const gridOptions = computed<GridOptions>(() => {\n const options = extOptions.value;\n\n return {\n ...options,\n loadingOverlayComponentParams: {\n notReady: options.notReady,\n notReadyText: options.notReadyText,\n loadingText: options.loadingText,\n } satisfies PlAgOverlayLoadingParams,\n };\n });\n\n whenever(() => extOptions.value.rowNumbersColumn, () => {\n if (gridApi.value) {\n autoSizeRowNumberColumn(gridApi.value);\n }\n });\n\n watch([\n () => extOptions.value.notReady,\n () => extOptions.value.loading,\n ], ([notReady, loading]) => {\n const loadingOverlayComponentParams = {\n notReady,\n // we probably don't need to update the parameters below\n notReadyText: extOptions.value.notReadyText,\n loadingText: extOptions.value.loadingText,\n } satisfies PlAgOverlayLoadingParams;\n\n // Hack to apply loadingOverlayComponentParams\n gridApi.value?.updateGridOptions({\n loading: !loading,\n loadingOverlayComponentParams,\n });\n\n gridApi.value?.updateGridOptions({\n loading,\n loadingOverlayComponentParams,\n });\n }, { deep: true, immediate: true });\n\n return { gridOptions, gridApi };\n};\n"],"names":["Builder","__privateAdd","_options","options","__privateSet","__privateGet","def","loading","loadingText","notReady","notReadyText","noRowsText","rowSelection","rowData","components","key","value","show","d","_a","cellData","useAgGridOptions","factory","gridApi","shallowRef","extOptions","computed","AgGridTheme","PlAgOverlayLoading","PlAgOverlayNoRows","e","autoSizeRowNumberColumn","column","result","makeRowNumberColDef","it","createAgGridColDef","PlAgCellFile","PlAgChartStackedBarCell","PlAgChartHistogramCell","PlAgCellStatusTag","gridOptions","whenever","watch","loadingOverlayComponentParams","_b"],"mappings":"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"}
1
+ {"version":3,"file":"useAgGridOptions.js","sources":["../../src/AgGridVue/useAgGridOptions.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { ColGroupDef, GridApi, GridOptions, GridReadyEvent, ICellRendererParams, RowSelectionOptions, ValueSetterParams } from 'ag-grid-enterprise';\nimport type { Component } from 'vue';\nimport { computed, shallowRef, watch } from 'vue';\nimport { AgGridTheme } from '../aggrid';\nimport { autoSizeRowNumberColumn, makeRowNumberColDef, PlAgOverlayLoading, type PlAgOverlayLoadingParams } from '../components/PlAgDataTable';\nimport { PlAgOverlayNoRows } from '../components/PlAgDataTable';\nimport { createAgGridColDef, type ColDefExtended } from './createAgGridColDef';\nimport { whenever } from '@vueuse/core';\nimport { PlAgCellFile } from '../components/PlAgCellFile';\nimport { PlAgChartStackedBarCell } from '../components/PlAgChartStackedBarCell';\nimport { PlAgChartHistogramCell } from '../components/PlAgChartHistogramCell';\nimport type { ImportFileHandle } from '@platforma-sdk/model';\nimport type { ImportProgress } from '@platforma-sdk/model';\nimport { PlAgCellStatusTag } from '../components/PlAgCellStatusTag';\ninterface GridOptionsExtended<TData = any> extends Omit<GridOptions<TData>, 'columnDefs' | 'loadingOverlayComponentParams'> {\n /**\n * Array of Column / Column Group definitions.\n */\n columnDefs?: (ColDefExtended<TData> | ColGroupDef<TData>)[] | null;\n /**\n * Show row numbers column\n */\n rowNumbersColumn?: boolean;\n /**\n * Loading overlay text\n */\n loadingText?: string;\n /**\n * Not ready overlay (No datasource). Takes priority over \"loading\"\n */\n notReady?: boolean;\n /**\n * \"No datasource\" by default\n */\n notReadyText?: string;\n /**\n * Override standard 'Empty' text for the \"no rows\" overlay\n */\n noRowsText?: string;\n /**\n * @deprecated Use loading, notReady, loadingText instead\n */\n loadingOverlayComponentParams?: never;\n}\n\n// @TODO (super simple builder for now)\nclass Builder<TData> {\n #options: GridOptionsExtended<TData> = {};\n\n public options(options: GridOptionsExtended<TData>) {\n this.#options = Object.assign({}, this.#options, options);\n return this;\n }\n\n private get columnDefs() {\n return this.#options.columnDefs ?? [];\n }\n\n /**\n * Set default column definition\n * @param def - column definition\n * @returns this\n */\n public setDefaultColDef(def: ColDefExtended<TData>) {\n this.#options.defaultColDef = def;\n return this;\n }\n\n /**\n * Show loading overlay\n * @param loading\n * @returns this\n */\n public setLoading(loading?: boolean) {\n this.#options.loading = loading;\n return this;\n }\n\n /**\n * Set loading overlay custom text (default is \"Loading\")\n * @param loadingText\n * @returns this\n */\n public setLoadingText(loadingText?: string) {\n this.#options.loadingText = loadingText;\n return this;\n }\n\n /**\n * Show \"not ready overlay\n * @param notReady\n * @returns this\n */\n public setNotReady(notReady?: boolean) {\n this.#options.notReady = notReady;\n return this;\n }\n\n /**\n * Set \"not ready\" text\n * @param notReadyText\n * @returns this\n */\n public setNotReadyText(notReadyText?: string) {\n this.#options.notReadyText = notReadyText;\n return this;\n }\n\n /**\n * Set \"no rows\" text when there are no rows (default is \"Empty\")\n * @param noRowsText\n * @returns this\n */\n public setNoRowsText(noRowsText?: string) {\n this.#options.noRowsText = noRowsText;\n return this;\n }\n\n /**\n * Set row selection options\n * @param rowSelection\n * @returns this\n */\n public setRowSelection(rowSelection?: RowSelectionOptions) {\n this.#options.rowSelection = rowSelection;\n return this;\n }\n\n /**\n * Set row data\n * @param rowData\n * @returns this\n */\n public setRowData(rowData?: TData[]) {\n this.#options.rowData = rowData;\n return this;\n }\n\n /**\n * Set components\n * @param components\n * @returns this\n */\n public setComponents(components?: Record<string, Component>) {\n this.#options.components = components;\n return this;\n }\n\n /**\n * Set an option\n * @param key - option key\n * @param value - option value\n * @returns this\n */\n public setOption<K extends keyof GridOptionsExtended<TData>>(key: K, value: GridOptionsExtended<TData>[K]) {\n this.#options[key] = value;\n return this;\n }\n\n /**\n * Add an extended column definition\n * @param def - column definition\n * @returns this\n */\n public column<TValue = any>(def: ColDefExtended<TData, TValue>) {\n this.#options.columnDefs = [...this.columnDefs, def];\n return this;\n }\n\n /**\n * Show row numbers column\n * @param show - show or hide row numbers column\n * @returns this\n */\n public columnRowNumbers(show: boolean = true) {\n this.#options.rowNumbersColumn = show;\n return this;\n }\n\n /**\n * Add a file input column\n * @param def - column definition\n * @param cb - callback to set params for the file input cell renderer\n * @returns this\n */\n public columnFileInput<TValue = any>(\n def: ColDefExtended<TData, TValue> & {\n /**\n * Allowed file extensions (like ['fastq.gz'])\n */\n extensions?: string[];\n /**\n * The resolveProgress function is an optional input parameter for the component\n * that allows tracking the file upload progress in real-time.\n * By passing resolveProgress, you can ensure that the component\n * displays accurate progress values for each file as they upload.\n * How to use it in AgGrid\n * cellRendererParams: {\n * resolveProgress: (cellData) => {\n * const progresses = app.progresses;\n * if (!cellData.value.importFileHandle) return undefined;\n * else return progresses[cellData.value.importFileHandle];\n * }\n * }\n */\n resolveImportProgress?: (cellData: ICellRendererParams<TData, TValue>) => ImportProgress | undefined;\n\n /**\n * The resolveFileHandle function is an optional input parameter for the component\n * that allows tracking the file upload progress in real-time.\n * By passing resolveFileHandle, you can ensure that the component\n * displays accurate progress values for each file as they upload.\n * How to use it in AgGrid\n * cellRendererParams: {\n * resolveFileHandle: (cellData) => {\n * return cellData.value.importFileHandle;\n * }\n * }\n */\n resolveImportFileHandle?: (cellData: ICellRendererParams<TData, TValue>) => ImportFileHandle | undefined;\n\n setImportFileHandle?: (d: ValueSetterParams<TData, ImportFileHandle | undefined>) => void;\n }) {\n return this.column(Object.assign({\n cellRenderer: 'PlAgCellFile',\n headerComponentParams: { type: 'File' },\n cellStyle: { padding: 0 },\n valueSetter: (d: ValueSetterParams<TData, ImportFileHandle | undefined>) => {\n def.setImportFileHandle?.(d);\n return true;\n },\n cellRendererSelector: (cellData: ICellRendererParams<TData, TValue>) => {\n return {\n component: 'PlAgCellFile',\n params: {\n extensions: def.extensions,\n value: def.resolveImportFileHandle?.(cellData),\n resolveProgress: () => {\n return def.resolveImportProgress?.(cellData);\n },\n },\n };\n },\n }, def));\n }\n\n public build() {\n return this.#options;\n }\n}\n\n// Simple helper to use like column<string> in grid options literal\ntype ColumnFunc<TData> = <TValue>(def: ColDefExtended<TData, TValue>) => ColDefExtended<TData, TValue>;\n\n/**\n * Returns a set of Ag Grid options along with a reference to the Ag Grid API.\n * (This is a fast prototype)\n *\n * @example\n * ```ts\n * const { gridOptions, gridApi } = useAgGridOptions(() => ({\n * // custom grid options here\n * }));\n *\n * // Usage in a template (v-bind is required!)\n * <template>\n * <AgGridVue :style=\"{ height: '100%' }\" v-bind=\"gridOptions\" />\n * </template>\n * ```\n */\nexport function useAgGridOptions<TData>(\n factory: (context: { builder: Builder<TData>; column: ColumnFunc<TData> }) => Builder<TData> | GridOptionsExtended<TData>,\n) {\n const gridApi = shallowRef<GridApi>();\n\n const extOptions = computed<GridOptionsExtended>(() => {\n const def: GridOptionsExtended<TData> = {\n theme: AgGridTheme,\n loadingOverlayComponent: PlAgOverlayLoading,\n noRowsOverlayComponent: PlAgOverlayNoRows,\n onGridReady: (e: GridReadyEvent) => {\n gridApi.value = e.api;\n autoSizeRowNumberColumn(e.api); // @TODO\n },\n };\n\n const column = <TValue>(def: ColDefExtended<TData, TValue>) => {\n return def;\n };\n\n const result = factory({ builder: new Builder(), column });\n\n const options = Object.assign({}, def, result instanceof Builder ? result.build() : result);\n\n if (options.rowNumbersColumn) {\n options.columnDefs = [makeRowNumberColDef(), ...(options.columnDefs ?? [])];\n }\n\n if (options.noRowsText) {\n options.noRowsOverlayComponentParams = {\n text: options.noRowsText,\n };\n }\n\n if ('loadingOverlayComponentParams' in options) {\n console.warn('useAgGridOptions: remove loadingOverlayComponentParams from options, use loading, notReady, loadingText instead');\n }\n\n options.loading = options.notReady || options.loading;\n\n options.columnDefs = options.columnDefs?.map((it) => createAgGridColDef(it));\n\n // Register all special components\n options.components = Object.assign({}, options.components ?? {}, {\n PlAgCellFile,\n PlAgChartStackedBarCell,\n PlAgChartHistogramCell,\n PlAgCellStatusTag,\n });\n\n return options;\n });\n\n const gridOptions = computed<GridOptions>(() => {\n const options = extOptions.value;\n\n return {\n ...options,\n loadingOverlayComponentParams: {\n variant: options.notReady ? 'not-ready' : 'loading',\n notReadyText: options.notReadyText,\n loadingText: options.loadingText,\n } satisfies PlAgOverlayLoadingParams,\n };\n });\n\n whenever(() => extOptions.value.rowNumbersColumn, () => {\n if (gridApi.value) {\n autoSizeRowNumberColumn(gridApi.value);\n }\n });\n\n watch([\n () => extOptions.value.notReady,\n () => extOptions.value.loading,\n ], ([notReady, loading]) => {\n const loadingOverlayComponentParams = {\n variant: notReady ? 'not-ready' : 'loading',\n // we probably don't need to update the parameters below\n notReadyText: extOptions.value.notReadyText,\n loadingText: extOptions.value.loadingText,\n } satisfies PlAgOverlayLoadingParams;\n\n // Hack to apply loadingOverlayComponentParams\n gridApi.value?.updateGridOptions({\n loading: !loading,\n loadingOverlayComponentParams,\n });\n\n gridApi.value?.updateGridOptions({\n loading,\n loadingOverlayComponentParams,\n });\n }, { deep: true, immediate: true });\n\n return { gridOptions, gridApi };\n};\n"],"names":["Builder","__privateAdd","_options","options","__privateSet","__privateGet","def","loading","loadingText","notReady","notReadyText","noRowsText","rowSelection","rowData","components","key","value","show","d","_a","cellData","useAgGridOptions","factory","gridApi","shallowRef","extOptions","computed","AgGridTheme","PlAgOverlayLoading","PlAgOverlayNoRows","e","autoSizeRowNumberColumn","column","result","makeRowNumberColDef","it","createAgGridColDef","PlAgCellFile","PlAgChartStackedBarCell","PlAgChartHistogramCell","PlAgCellStatusTag","gridOptions","whenever","watch","loadingOverlayComponentParams","_b"],"mappings":"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"}
@@ -39,6 +39,8 @@ type __VLS_Props = {
39
39
  cellButtonInvokeRowsOnDoubleClick?: boolean;
40
40
  /** @see {@link PlAgOverlayLoadingParams.loadingText} */
41
41
  loadingText?: string;
42
+ /** @see {@link PlAgOverlayLoadingParams.runningText} */
43
+ runningText?: string;
42
44
  /** @see {@link PlAgOverlayLoadingParams.notReadyText} */
43
45
  notReadyText?: string;
44
46
  /** @see {@link PlAgOverlayNoRowsParams.text} */
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgDataTableV2.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgDataTable/PlAgDataTableV2.vue"],"names":[],"mappings":"AA+oBA,OAAO,KAAK,EACV,MAAM,EAEN,kBAAkB,EAClB,gBAAgB,EAGhB,SAAS,EAEV,MAAM,sBAAsB,CAAC;AAU9B,OAAO,KAAK,EACV,wBAAwB,EAQzB,MAAM,oBAAoB,CAAC;AAiB5B,OAAO,KAAK,EAEV,kBAAkB,EAGlB,qBAAqB,EAItB,MAAM,SAAS,CAAC;AASjB,KAAK,WAAW,GAAG;IACjB,kCAAkC;IAClC,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAE1C;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;;;OAMG;IACH,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAE5C,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;CACrE,CAAC;AAyeF,KAAK,iBAAiB,GAAG;IACzB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAC9B,GAAG,WAAW,CAAC;AAMhB,iBAAS,cAAc;WAuGT,OAAO,IAA6B;;iCAXZ,GAAG;gCACJ,GAAG;;;;EAevC;AAsBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;6FASnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"PlAgDataTableV2.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgDataTable/PlAgDataTableV2.vue"],"names":[],"mappings":"AAyoBA,OAAO,KAAK,EACV,MAAM,EAEN,kBAAkB,EAClB,gBAAgB,EAGhB,SAAS,EAEV,MAAM,sBAAsB,CAAC;AAU9B,OAAO,KAAK,EACV,wBAAwB,EAQzB,MAAM,oBAAoB,CAAC;AAiB5B,OAAO,KAAK,EAEV,kBAAkB,EAGlB,qBAAqB,EAItB,MAAM,SAAS,CAAC;AASjB,KAAK,WAAW,GAAG;IACjB,kCAAkC;IAClC,QAAQ,EAAE,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAE1C;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;;;;;OAMG;IACH,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAE5C,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;CACrE,CAAC;AAgeF,KAAK,iBAAiB,GAAG;IACzB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAC9B,GAAG,WAAW,CAAC;AAMhB,iBAAS,cAAc;WAuGT,OAAO,IAA6B;;iCAXZ,GAAG;gCACJ,GAAG;;;;EAevC;AAsBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;6FASnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}