@platforma-sdk/ui-vue 1.84.10 → 1.84.17

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 (185) hide show
  1. package/.turbo/turbo-build.log +67 -67
  2. package/.turbo/turbo-formatter$colon$check.log +2 -2
  3. package/.turbo/turbo-linter$colon$check.log +1 -1
  4. package/.turbo/turbo-types$colon$check.log +1 -1
  5. package/CHANGELOG.md +19 -0
  6. package/dist/components/BlockLayout.js.map +1 -1
  7. package/dist/components/BlockLayout.style.js.map +1 -1
  8. package/dist/components/BlockLayout.vue.d.ts.map +1 -1
  9. package/dist/components/BlockLayout.vue2.js +5 -1
  10. package/dist/components/BlockLayout.vue2.js.map +1 -1
  11. package/dist/components/BlockLoader.js.map +1 -1
  12. package/dist/components/BlockLoader.vue.d.ts.map +1 -1
  13. package/dist/components/BlockLoader.vue2.js +2 -0
  14. package/dist/components/BlockLoader.vue2.js.map +1 -1
  15. package/dist/components/LoaderPage.js +4 -1
  16. package/dist/components/LoaderPage.js.map +1 -1
  17. package/dist/components/LoaderPage.vue.d.ts.map +1 -1
  18. package/dist/components/NotFound.js.map +1 -1
  19. package/dist/components/NotFound.vue.d.ts.map +1 -1
  20. package/dist/components/NotFound.vue2.js +11 -5
  21. package/dist/components/NotFound.vue2.js.map +1 -1
  22. package/dist/components/PlAdvancedFilter/FilterEditor.js.map +1 -1
  23. package/dist/components/PlAdvancedFilter/FilterEditor.style.js.map +1 -1
  24. package/dist/components/PlAdvancedFilter/FilterEditor.vue.d.ts.map +1 -1
  25. package/dist/components/PlAdvancedFilter/FilterEditor.vue2.js +26 -2
  26. package/dist/components/PlAdvancedFilter/FilterEditor.vue2.js.map +1 -1
  27. package/dist/components/PlAdvancedFilter/OperandButton.js.map +1 -1
  28. package/dist/components/PlAdvancedFilter/OperandButton.style.js.map +1 -1
  29. package/dist/components/PlAdvancedFilter/OperandButton.vue.d.ts.map +1 -1
  30. package/dist/components/PlAdvancedFilter/OperandButton.vue2.js +2 -1
  31. package/dist/components/PlAdvancedFilter/OperandButton.vue2.js.map +1 -1
  32. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.js.map +1 -1
  33. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.style.js.map +1 -1
  34. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue.d.ts.map +1 -1
  35. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue2.js +70 -61
  36. package/dist/components/PlAdvancedFilter/PlAdvancedFilter.vue2.js.map +1 -1
  37. package/dist/components/PlAgCellFile/PlAgCellFile.js.map +1 -1
  38. package/dist/components/PlAgCellFile/PlAgCellFile.vue.d.ts.map +1 -1
  39. package/dist/components/PlAgCellFile/PlAgCellFile.vue2.js +5 -1
  40. package/dist/components/PlAgCellFile/PlAgCellFile.vue2.js.map +1 -1
  41. package/dist/components/PlAgCellProgress/PlAgCellProgress.js.map +1 -1
  42. package/dist/components/PlAgCellProgress/PlAgCellProgress.vue.d.ts.map +1 -1
  43. package/dist/components/PlAgCellProgress/PlAgCellProgress.vue2.js +6 -6
  44. package/dist/components/PlAgCellProgress/PlAgCellProgress.vue2.js.map +1 -1
  45. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.js.map +1 -1
  46. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue.d.ts.map +1 -1
  47. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue2.js +8 -2
  48. package/dist/components/PlAgCellStatusTag/PlAgCellStatusTag.vue2.js.map +1 -1
  49. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.js.map +1 -1
  50. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue.d.ts.map +1 -1
  51. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue2.js +4 -1
  52. package/dist/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue2.js.map +1 -1
  53. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.js.map +1 -1
  54. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue.d.ts.map +1 -1
  55. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue2.js +7 -2
  56. package/dist/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue2.js.map +1 -1
  57. package/dist/components/PlAgColumnHeader/PlAgColumnHeader.js.map +1 -1
  58. package/dist/components/PlAgColumnHeader/PlAgColumnHeader.vue.d.ts.map +1 -1
  59. package/dist/components/PlAgColumnHeader/PlAgColumnHeader.vue2.js +28 -20
  60. package/dist/components/PlAgColumnHeader/PlAgColumnHeader.vue2.js.map +1 -1
  61. package/dist/components/PlAgCsvExporter/PlAgCsvExporter.js.map +1 -1
  62. package/dist/components/PlAgCsvExporter/PlAgCsvExporter.vue.d.ts.map +1 -1
  63. package/dist/components/PlAgCsvExporter/PlAgCsvExporter.vue2.js +1 -0
  64. package/dist/components/PlAgCsvExporter/PlAgCsvExporter.vue2.js.map +1 -1
  65. package/dist/components/PlAgDataTable/PlAgDataTableSheets.js.map +1 -1
  66. package/dist/components/PlAgDataTable/PlAgDataTableSheets.style.js.map +1 -1
  67. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue.d.ts.map +1 -1
  68. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue2.js +2 -0
  69. package/dist/components/PlAgDataTable/PlAgDataTableSheets.vue2.js.map +1 -1
  70. package/dist/components/PlAgDataTable/PlAgDataTableV2.js.map +1 -1
  71. package/dist/components/PlAgDataTable/PlAgDataTableV2.style.js.map +1 -1
  72. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue.d.ts.map +1 -1
  73. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js +5 -1
  74. package/dist/components/PlAgDataTable/PlAgDataTableV2.vue2.js.map +1 -1
  75. package/dist/components/PlAgDataTable/PlAgOverlayLoading.js.map +1 -1
  76. package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue.d.ts.map +1 -1
  77. package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue2.js +12 -2
  78. package/dist/components/PlAgDataTable/PlAgOverlayLoading.vue2.js.map +1 -1
  79. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.js.map +1 -1
  80. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue.d.ts.map +1 -1
  81. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue2.js +7 -1
  82. package/dist/components/PlAgDataTable/PlAgOverlayNoRows.vue2.js.map +1 -1
  83. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.js.map +1 -1
  84. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.style.js.map +1 -1
  85. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue.d.ts.map +1 -1
  86. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue2.js +35 -27
  87. package/dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue2.js.map +1 -1
  88. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.js.map +1 -1
  89. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue.d.ts.map +1 -1
  90. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue2.js +12 -7
  91. package/dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue2.js.map +1 -1
  92. package/dist/components/PlAgRowNumHeader.js.map +1 -1
  93. package/dist/components/PlAgRowNumHeader.vue.d.ts.map +1 -1
  94. package/dist/components/PlAgRowNumHeader.vue2.js +14 -7
  95. package/dist/components/PlAgRowNumHeader.vue2.js.map +1 -1
  96. package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.js.map +1 -1
  97. package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue.d.ts.map +1 -1
  98. package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue2.js +8 -1
  99. package/dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue2.js.map +1 -1
  100. package/dist/components/PlAnnotations/components/AnnotationsSidebar.js.map +1 -1
  101. package/dist/components/PlAnnotations/components/AnnotationsSidebar.style.js.map +1 -1
  102. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue.d.ts.map +1 -1
  103. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue2.js +14 -3
  104. package/dist/components/PlAnnotations/components/AnnotationsSidebar.vue2.js.map +1 -1
  105. package/dist/components/PlAnnotations/components/FilterSidebar.js.map +1 -1
  106. package/dist/components/PlAnnotations/components/FilterSidebar.style.js.map +1 -1
  107. package/dist/components/PlAnnotations/components/FilterSidebar.vue.d.ts.map +1 -1
  108. package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js +11 -2
  109. package/dist/components/PlAnnotations/components/FilterSidebar.vue2.js.map +1 -1
  110. package/dist/components/PlAnnotations/components/PlAnnotations.js.map +1 -1
  111. package/dist/components/PlAnnotations/components/PlAnnotations.style.js.map +1 -1
  112. package/dist/components/PlAnnotations/components/PlAnnotations.vue.d.ts.map +1 -1
  113. package/dist/components/PlAnnotations/components/PlAnnotations.vue2.js +1 -1
  114. package/dist/components/PlAnnotations/components/PlAnnotations.vue2.js.map +1 -1
  115. package/dist/components/PlAnnotations/components/PlAnnotationsModal.js.map +1 -1
  116. package/dist/components/PlAnnotations/components/PlAnnotationsModal.style.js.map +1 -1
  117. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue.d.ts.map +1 -1
  118. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue2.js +1 -0
  119. package/dist/components/PlAnnotations/components/PlAnnotationsModal.vue2.js.map +1 -1
  120. package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.js.map +1 -1
  121. package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue.d.ts.map +1 -1
  122. package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue2.js +16 -2
  123. package/dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue2.js.map +1 -1
  124. package/dist/components/PlBtnExportArchive/Item.js.map +1 -1
  125. package/dist/components/PlBtnExportArchive/Item.style.js.map +1 -1
  126. package/dist/components/PlBtnExportArchive/Item.vue.d.ts.map +1 -1
  127. package/dist/components/PlBtnExportArchive/Item.vue2.js +12 -2
  128. package/dist/components/PlBtnExportArchive/Item.vue2.js.map +1 -1
  129. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.js.map +1 -1
  130. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.style.js.map +1 -1
  131. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue.d.ts.map +1 -1
  132. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue2.js +7 -1
  133. package/dist/components/PlBtnExportArchive/PlBtnExportArchive.vue2.js.map +1 -1
  134. package/dist/components/PlBtnExportArchive/Summary.js.map +1 -1
  135. package/dist/components/PlBtnExportArchive/Summary.style.js.map +1 -1
  136. package/dist/components/PlBtnExportArchive/Summary.vue.d.ts.map +1 -1
  137. package/dist/components/PlBtnExportArchive/Summary.vue2.js +11 -2
  138. package/dist/components/PlBtnExportArchive/Summary.vue2.js.map +1 -1
  139. package/dist/components/PlDatasetSelector/PlDatasetSelector.js.map +1 -1
  140. package/dist/components/PlDatasetSelector/PlDatasetSelector.vue.d.ts.map +1 -1
  141. package/dist/components/PlDatasetSelector/PlDatasetSelector.vue2.js +1 -0
  142. package/dist/components/PlDatasetSelector/PlDatasetSelector.vue2.js.map +1 -1
  143. package/dist/components/PlTableFastSearch/PlTableFastSearch.js.map +1 -1
  144. package/dist/components/PlTableFastSearch/PlTableFastSearch.vue.d.ts.map +1 -1
  145. package/dist/components/PlTableFastSearch/PlTableFastSearch.vue2.js +1 -0
  146. package/dist/components/PlTableFastSearch/PlTableFastSearch.vue2.js.map +1 -1
  147. package/dist/components/PlTableFilters/PlTableFiltersV2.js.map +1 -1
  148. package/dist/components/PlTableFilters/PlTableFiltersV2.style.js.map +1 -1
  149. package/dist/components/PlTableFilters/PlTableFiltersV2.vue.d.ts.map +1 -1
  150. package/dist/components/PlTableFilters/PlTableFiltersV2.vue2.js +12 -2
  151. package/dist/components/PlTableFilters/PlTableFiltersV2.vue2.js.map +1 -1
  152. package/package.json +7 -7
  153. package/src/components/BlockLayout.vue +4 -2
  154. package/src/components/BlockLoader.vue +2 -1
  155. package/src/components/LoaderPage.vue +1 -1
  156. package/src/components/NotFound.vue +7 -3
  157. package/src/components/PlAdvancedFilter/FilterEditor.vue +36 -6
  158. package/src/components/PlAdvancedFilter/OperandButton.vue +2 -1
  159. package/src/components/PlAdvancedFilter/PlAdvancedFilter.vue +20 -4
  160. package/src/components/PlAgCellFile/PlAgCellFile.vue +2 -1
  161. package/src/components/PlAgCellProgress/PlAgCellProgress.vue +1 -1
  162. package/src/components/PlAgCellStatusTag/PlAgCellStatusTag.vue +2 -2
  163. package/src/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue +13 -3
  164. package/src/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue +13 -3
  165. package/src/components/PlAgColumnHeader/PlAgColumnHeader.vue +24 -6
  166. package/src/components/PlAgCsvExporter/PlAgCsvExporter.vue +6 -1
  167. package/src/components/PlAgDataTable/PlAgDataTableSheets.vue +6 -1
  168. package/src/components/PlAgDataTable/PlAgDataTableV2.vue +2 -1
  169. package/src/components/PlAgDataTable/PlAgOverlayLoading.vue +10 -3
  170. package/src/components/PlAgDataTable/PlAgOverlayNoRows.vue +4 -2
  171. package/src/components/PlAgGridColumnManager/PlAgGridColumnManager.vue +18 -5
  172. package/src/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue +5 -1
  173. package/src/components/PlAgRowNumHeader.vue +3 -1
  174. package/src/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue +3 -2
  175. package/src/components/PlAnnotations/components/AnnotationsSidebar.vue +13 -4
  176. package/src/components/PlAnnotations/components/FilterSidebar.vue +11 -3
  177. package/src/components/PlAnnotations/components/PlAnnotations.vue +1 -1
  178. package/src/components/PlAnnotations/components/PlAnnotationsModal.vue +1 -0
  179. package/src/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue +34 -7
  180. package/src/components/PlBtnExportArchive/Item.vue +22 -6
  181. package/src/components/PlBtnExportArchive/PlBtnExportArchive.vue +18 -3
  182. package/src/components/PlBtnExportArchive/Summary.vue +15 -5
  183. package/src/components/PlDatasetSelector/PlDatasetSelector.vue +1 -0
  184. package/src/components/PlTableFastSearch/PlTableFastSearch.vue +6 -1
  185. package/src/components/PlTableFilters/PlTableFiltersV2.vue +14 -4
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgCellProgress.js","names":[],"sources":["../../../src/components/PlAgCellProgress/PlAgCellProgress.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { PlProgressCellProps } from \"@milaboratories/uikit\";\nimport { PlProgressCell } from \"@milaboratories/uikit\";\nimport type { ICellRendererParams } from \"ag-grid-enterprise\";\n\nconst props = defineProps<{ params: ICellRendererParams & PlProgressCellProps }>();\n</script>\n\n<template>\n <PlProgressCell v-bind=\"props.params\" />\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"PlAgCellProgress.js","names":[],"sources":["../../../src/components/PlAgCellProgress/PlAgCellProgress.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { PlProgressCellProps } from \"@milaboratories/uikit\";\nimport { PlProgressCell } from \"@milaboratories/uikit\";\nimport type { ICellRendererParams } from \"ag-grid-enterprise\";\n\nconst props = defineProps<{ params: ICellRendererParams & PlProgressCellProps }>();\n</script>\n\n<template>\n <PlProgressCell data-testid=\"pl-ag-cell-progress\" v-bind=\"props.params\" />\n</template>\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgCellProgress.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgCellProgress/PlAgCellProgress.vue"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,KAAK,WAAW,GAAG;IAAE,MAAM,EAAE,mBAAmB,GAAG,mBAAmB,CAAA;CAAE,CAAC;AAkCzE,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"PlAgCellProgress.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgCellProgress/PlAgCellProgress.vue"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,KAAK,WAAW,GAAG;IAAE,MAAM,EAAE,mBAAmB,GAAG,mBAAmB,CAAA;CAAE,CAAC;AAoCzE,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1,15 +1,15 @@
1
- import { createBlock as e, defineComponent as t, guardReactiveProps as n, normalizeProps as r, openBlock as i, unref as a } from "vue";
2
- import { PlProgressCell as o } from "@milaboratories/uikit";
1
+ import { createBlock as e, defineComponent as t, mergeProps as n, openBlock as r, unref as i } from "vue";
2
+ import { PlProgressCell as a } from "@milaboratories/uikit";
3
3
  //#region src/components/PlAgCellProgress/PlAgCellProgress.vue?vue&type=script&setup=true&lang.ts
4
- var s = /* @__PURE__ */ t({
4
+ var o = /* @__PURE__ */ t({
5
5
  __name: "PlAgCellProgress",
6
6
  props: { params: {} },
7
7
  setup(t) {
8
- let s = t;
9
- return (t, c) => (i(), e(a(o), r(n(s.params)), null, 16));
8
+ let o = t;
9
+ return (t, s) => (r(), e(i(a), n({ "data-testid": "pl-ag-cell-progress" }, o.params), null, 16));
10
10
  }
11
11
  });
12
12
  //#endregion
13
- export { s as default };
13
+ export { o as default };
14
14
 
15
15
  //# sourceMappingURL=PlAgCellProgress.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgCellProgress.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/PlAgCellProgress/PlAgCellProgress.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { PlProgressCellProps } from \"@milaboratories/uikit\";\nimport { PlProgressCell } from \"@milaboratories/uikit\";\nimport type { ICellRendererParams } from \"ag-grid-enterprise\";\n\nconst props = defineProps<{ params: ICellRendererParams & PlProgressCellProps }>();\n</script>\n\n<template>\n <PlProgressCell v-bind=\"props.params\" />\n</template>\n"],"mappings":";;;;;;;EAKA,IAAM,IAAQ;yBAIZ,EAAwC,EAAA,EAAA,EAAA,EAAA,EAAhB,EAAM,OAAM,CAAA,EAAA,MAAA,GAAA"}
1
+ {"version":3,"file":"PlAgCellProgress.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/PlAgCellProgress/PlAgCellProgress.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { PlProgressCellProps } from \"@milaboratories/uikit\";\nimport { PlProgressCell } from \"@milaboratories/uikit\";\nimport type { ICellRendererParams } from \"ag-grid-enterprise\";\n\nconst props = defineProps<{ params: ICellRendererParams & PlProgressCellProps }>();\n</script>\n\n<template>\n <PlProgressCell data-testid=\"pl-ag-cell-progress\" v-bind=\"props.params\" />\n</template>\n"],"mappings":";;;;;;;EAKA,IAAM,IAAQ;yBAIZ,EAA0E,EAAA,EAAA,EAA1E,EAA0E,EAA1D,eAAY,uBAAqB,EAAS,EAAM,OAAM,EAAA,MAAA,GAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgCellStatusTag.js","names":[],"sources":["../../../src/components/PlAgCellStatusTag/PlAgCellStatusTag.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ICellRendererParams } from \"ag-grid-enterprise\";\nimport { PlStatusTag } from \"@milaboratories/uikit\";\nimport type { PlStatusTagType } from \"@milaboratories/uikit\";\n\ndefineProps<{ params?: ICellRendererParams & { type: PlStatusTagType } }>();\n</script>\n\n<template>\n <div class=\"pl-ag-cell-status-tag d-flex align-center\">\n <PlStatusTag :type=\"params?.type\" />\n </div>\n</template>\n\n<style lang=\"scss\">\n.pl-ag-cell-status-tag {\n height: 100%;\n padding: 0 12px;\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"PlAgCellStatusTag.js","names":[],"sources":["../../../src/components/PlAgCellStatusTag/PlAgCellStatusTag.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ICellRendererParams } from \"ag-grid-enterprise\";\nimport { PlStatusTag } from \"@milaboratories/uikit\";\nimport type { PlStatusTagType } from \"@milaboratories/uikit\";\n\ndefineProps<{ params?: ICellRendererParams & { type: PlStatusTagType } }>();\n</script>\n\n<template>\n <div data-testid=\"pl-ag-cell-status-tag\" class=\"pl-ag-cell-status-tag d-flex align-center\">\n <PlStatusTag data-testid=\"pl-ag-cell-status-tag-tag\" :type=\"params?.type\" />\n </div>\n</template>\n\n<style lang=\"scss\">\n.pl-ag-cell-status-tag {\n height: 100%;\n padding: 0 12px;\n}\n</style>\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgCellStatusTag.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgCellStatusTag/PlAgCellStatusTag.vue"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,EAAE,eAAe,CAAA;KAAE,CAAA;CAAE,CAAC;AAwChF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"PlAgCellStatusTag.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgCellStatusTag/PlAgCellStatusTag.vue"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,KAAK,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,mBAAmB,GAAG;QAAE,IAAI,EAAE,eAAe,CAAA;KAAE,CAAA;CAAE,CAAC;AA2ChF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1,11 +1,17 @@
1
1
  import { createElementBlock as e, createVNode as t, defineComponent as n, openBlock as r, unref as i } from "vue";
2
2
  import { PlStatusTag as a } from "@milaboratories/uikit";
3
3
  //#region src/components/PlAgCellStatusTag/PlAgCellStatusTag.vue?vue&type=script&setup=true&lang.ts
4
- var o = { class: "pl-ag-cell-status-tag d-flex align-center" }, s = /* @__PURE__ */ n({
4
+ var o = {
5
+ "data-testid": "pl-ag-cell-status-tag",
6
+ class: "pl-ag-cell-status-tag d-flex align-center"
7
+ }, s = /* @__PURE__ */ n({
5
8
  __name: "PlAgCellStatusTag",
6
9
  props: { params: {} },
7
10
  setup(n) {
8
- return (s, c) => (r(), e("div", o, [t(i(a), { type: n.params?.type }, null, 8, ["type"])]));
11
+ return (s, c) => (r(), e("div", o, [t(i(a), {
12
+ "data-testid": "pl-ag-cell-status-tag-tag",
13
+ type: n.params?.type
14
+ }, null, 8, ["type"])]));
9
15
  }
10
16
  });
11
17
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgCellStatusTag.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/PlAgCellStatusTag/PlAgCellStatusTag.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ICellRendererParams } from \"ag-grid-enterprise\";\nimport { PlStatusTag } from \"@milaboratories/uikit\";\nimport type { PlStatusTagType } from \"@milaboratories/uikit\";\n\ndefineProps<{ params?: ICellRendererParams & { type: PlStatusTagType } }>();\n</script>\n\n<template>\n <div class=\"pl-ag-cell-status-tag d-flex align-center\">\n <PlStatusTag :type=\"params?.type\" />\n </div>\n</template>\n\n<style lang=\"scss\">\n.pl-ag-cell-status-tag {\n height: 100%;\n padding: 0 12px;\n}\n</style>\n"],"mappings":";;;;;;;yBASE,EAEM,OAFN,GAEM,CADJ,EAAoC,EAAA,EAAA,EAAA,EAAtB,MAAM,EAAA,QAAQ,MAAA,EAAA,MAAA,GAAA,CAAA,OAAA,CAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"PlAgCellStatusTag.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/PlAgCellStatusTag/PlAgCellStatusTag.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ICellRendererParams } from \"ag-grid-enterprise\";\nimport { PlStatusTag } from \"@milaboratories/uikit\";\nimport type { PlStatusTagType } from \"@milaboratories/uikit\";\n\ndefineProps<{ params?: ICellRendererParams & { type: PlStatusTagType } }>();\n</script>\n\n<template>\n <div data-testid=\"pl-ag-cell-status-tag\" class=\"pl-ag-cell-status-tag d-flex align-center\">\n <PlStatusTag data-testid=\"pl-ag-cell-status-tag-tag\" :type=\"params?.type\" />\n </div>\n</template>\n\n<style lang=\"scss\">\n.pl-ag-cell-status-tag {\n height: 100%;\n padding: 0 12px;\n}\n</style>\n"],"mappings":";;;;;;;;;;yBASE,EAEM,OAFN,GAEM,CADJ,EAA4E,EAAA,EAAA,EAAA;GAA/D,eAAY;GAA6B,MAAM,EAAA,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgChartHistogramCell.js","names":[],"sources":["../../../src/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ICellRendererParams } from \"ag-grid-enterprise\";\nimport { type InferComponentProps, PlChartHistogram } from \"@milaboratories/uikit\";\nimport { computed, ref } from \"vue\";\nimport { useElementBounding } from \"@vueuse/core\";\n\ntype PlChartHistogramSettings = InferComponentProps<typeof PlChartHistogram>[\"settings\"];\n\nconst props = defineProps<{\n params: ICellRendererParams<unknown, PlChartHistogramSettings | undefined>;\n}>();\n\nconst root = ref<HTMLElement>();\n\nconst { width } = useElementBounding(root);\n\nconst settings = computed<PlChartHistogramSettings | undefined>(() => {\n if (!props.params.value) {\n return undefined;\n }\n\n if (!width.value) {\n return undefined;\n }\n\n return { ...props.params.value, compact: true, totalHeight: 24, totalWidth: width.value };\n});\n</script>\n\n<template>\n <div ref=\"root\" class=\"pl-ag-chart-histogram-cell\">\n <PlChartHistogram v-if=\"settings\" :settings=\"settings\" />\n <div v-else class=\"pl-ag-chart-histogram-cell__not-ready\">Not ready</div>\n </div>\n</template>\n\n<style>\n.pl-ag-chart-histogram-cell {\n height: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.pl-ag-chart-histogram-cell__not-ready {\n color: var(--txt-03) !important;\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"PlAgChartHistogramCell.js","names":[],"sources":["../../../src/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ICellRendererParams } from \"ag-grid-enterprise\";\nimport { type InferComponentProps, PlChartHistogram } from \"@milaboratories/uikit\";\nimport { computed, ref } from \"vue\";\nimport { useElementBounding } from \"@vueuse/core\";\n\ntype PlChartHistogramSettings = InferComponentProps<typeof PlChartHistogram>[\"settings\"];\n\nconst props = defineProps<{\n params: ICellRendererParams<unknown, PlChartHistogramSettings | undefined>;\n}>();\n\nconst root = ref<HTMLElement>();\n\nconst { width } = useElementBounding(root);\n\nconst settings = computed<PlChartHistogramSettings | undefined>(() => {\n if (!props.params.value) {\n return undefined;\n }\n\n if (!width.value) {\n return undefined;\n }\n\n return { ...props.params.value, compact: true, totalHeight: 24, totalWidth: width.value };\n});\n</script>\n\n<template>\n <div ref=\"root\" data-testid=\"pl-ag-chart-histogram-cell\" class=\"pl-ag-chart-histogram-cell\">\n <PlChartHistogram\n v-if=\"settings\"\n data-testid=\"pl-ag-chart-histogram-cell-chart\"\n :settings=\"settings\"\n />\n <div\n v-else\n data-testid=\"pl-ag-chart-histogram-cell-not-ready\"\n class=\"pl-ag-chart-histogram-cell__not-ready\"\n >\n Not ready\n </div>\n </div>\n</template>\n\n<style>\n.pl-ag-chart-histogram-cell {\n height: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.pl-ag-chart-histogram-cell__not-ready {\n color: var(--txt-03) !important;\n}\n</style>\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgChartHistogramCell.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue"],"names":[],"mappings":"AAmDA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,KAAK,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAInF,KAAK,wBAAwB,GAAG,mBAAmB,CAAC,OAAO,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC;AAEzF,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,wBAAwB,GAAG,SAAS,CAAC,CAAC;CAC5E,CAAC;AAkEF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"PlAgChartHistogramCell.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue"],"names":[],"mappings":"AA6DA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,KAAK,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAInF,KAAK,wBAAwB,GAAG,mBAAmB,CAAC,OAAO,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC;AAEzF,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,wBAAwB,GAAG,SAAS,CAAC,CAAC;CAC5E,CAAC;AAsEF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -4,6 +4,7 @@ import { PlChartHistogram as c } from "@milaboratories/uikit";
4
4
  //#region src/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue?vue&type=script&setup=true&lang.ts
5
5
  var l = {
6
6
  key: 1,
7
+ "data-testid": "pl-ag-chart-histogram-cell-not-ready",
7
8
  class: "pl-ag-chart-histogram-cell__not-ready"
8
9
  }, u = /* @__PURE__ */ r({
9
10
  __name: "PlAgChartHistogramCell",
@@ -20,11 +21,13 @@ var l = {
20
21
  return (e, r) => (i(), n("div", {
21
22
  ref_key: "root",
22
23
  ref: d,
24
+ "data-testid": "pl-ag-chart-histogram-cell",
23
25
  class: "pl-ag-chart-histogram-cell"
24
26
  }, [p.value ? (i(), t(o(c), {
25
27
  key: 0,
28
+ "data-testid": "pl-ag-chart-histogram-cell-chart",
26
29
  settings: p.value
27
- }, null, 8, ["settings"])) : (i(), n("div", l, "Not ready"))], 512));
30
+ }, null, 8, ["settings"])) : (i(), n("div", l, " Not ready "))], 512));
28
31
  }
29
32
  });
30
33
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgChartHistogramCell.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ICellRendererParams } from \"ag-grid-enterprise\";\nimport { type InferComponentProps, PlChartHistogram } from \"@milaboratories/uikit\";\nimport { computed, ref } from \"vue\";\nimport { useElementBounding } from \"@vueuse/core\";\n\ntype PlChartHistogramSettings = InferComponentProps<typeof PlChartHistogram>[\"settings\"];\n\nconst props = defineProps<{\n params: ICellRendererParams<unknown, PlChartHistogramSettings | undefined>;\n}>();\n\nconst root = ref<HTMLElement>();\n\nconst { width } = useElementBounding(root);\n\nconst settings = computed<PlChartHistogramSettings | undefined>(() => {\n if (!props.params.value) {\n return undefined;\n }\n\n if (!width.value) {\n return undefined;\n }\n\n return { ...props.params.value, compact: true, totalHeight: 24, totalWidth: width.value };\n});\n</script>\n\n<template>\n <div ref=\"root\" class=\"pl-ag-chart-histogram-cell\">\n <PlChartHistogram v-if=\"settings\" :settings=\"settings\" />\n <div v-else class=\"pl-ag-chart-histogram-cell__not-ready\">Not ready</div>\n </div>\n</template>\n\n<style>\n.pl-ag-chart-histogram-cell {\n height: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.pl-ag-chart-histogram-cell__not-ready {\n color: var(--txt-03) !important;\n}\n</style>\n"],"mappings":";;;;;;;;;;;EAQA,IAAM,IAAQ,GAIR,IAAO,GAAkB,EAEzB,EAAE,aAAU,EAAmB,EAAK,EAEpC,IAAW,QAAqD;AAC/D,SAAM,OAAO,SAIb,EAAM,MAIX,QAAO;IAAE,GAAG,EAAM,OAAO;IAAO,SAAS;IAAM,aAAa;IAAI,YAAY,EAAM;IAAO;IACzF;yBAIA,EAGM,OAAA;YAHG;GAAJ,KAAI;GAAO,OAAM;MACI,EAAA,SAAA,GAAA,EAAxB,EAAyD,EAAA,EAAA,EAAA;;GAAtB,UAAU,EAAA;qCAC7C,EAAyE,OAAzE,GAA0D,YAAS,EAAA,EAAA,IAAA"}
1
+ {"version":3,"file":"PlAgChartHistogramCell.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/PlAgChartHistogramCell/PlAgChartHistogramCell.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ICellRendererParams } from \"ag-grid-enterprise\";\nimport { type InferComponentProps, PlChartHistogram } from \"@milaboratories/uikit\";\nimport { computed, ref } from \"vue\";\nimport { useElementBounding } from \"@vueuse/core\";\n\ntype PlChartHistogramSettings = InferComponentProps<typeof PlChartHistogram>[\"settings\"];\n\nconst props = defineProps<{\n params: ICellRendererParams<unknown, PlChartHistogramSettings | undefined>;\n}>();\n\nconst root = ref<HTMLElement>();\n\nconst { width } = useElementBounding(root);\n\nconst settings = computed<PlChartHistogramSettings | undefined>(() => {\n if (!props.params.value) {\n return undefined;\n }\n\n if (!width.value) {\n return undefined;\n }\n\n return { ...props.params.value, compact: true, totalHeight: 24, totalWidth: width.value };\n});\n</script>\n\n<template>\n <div ref=\"root\" data-testid=\"pl-ag-chart-histogram-cell\" class=\"pl-ag-chart-histogram-cell\">\n <PlChartHistogram\n v-if=\"settings\"\n data-testid=\"pl-ag-chart-histogram-cell-chart\"\n :settings=\"settings\"\n />\n <div\n v-else\n data-testid=\"pl-ag-chart-histogram-cell-not-ready\"\n class=\"pl-ag-chart-histogram-cell__not-ready\"\n >\n Not ready\n </div>\n </div>\n</template>\n\n<style>\n.pl-ag-chart-histogram-cell {\n height: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.pl-ag-chart-histogram-cell__not-ready {\n color: var(--txt-03) !important;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;EAQA,IAAM,IAAQ,GAIR,IAAO,GAAkB,EAEzB,EAAE,aAAU,EAAmB,EAAK,EAEpC,IAAW,QAAqD;AAC/D,SAAM,OAAO,SAIb,EAAM,MAIX,QAAO;IAAE,GAAG,EAAM,OAAO;IAAO,SAAS;IAAM,aAAa;IAAI,YAAY,EAAM;IAAO;IACzF;yBAIA,EAaM,OAAA;YAbG;GAAJ,KAAI;GAAO,eAAY;GAA6B,OAAM;MAErD,EAAA,SAAA,GAAA,EADR,EAIE,EAAA,EAAA,EAAA;;GAFA,eAAY;GACX,UAAU,EAAA;qCAEb,EAMM,OANN,GAIC,cAED,EAAA,EAAA,IAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgChartStackedBarCell.js","names":[],"sources":["../../../src/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ICellRendererParams } from \"ag-grid-enterprise\";\nimport type { PlChartStackedBarSettings } from \"@milaboratories/uikit\";\nimport { PlChartStackedBarCompact } from \"@milaboratories/uikit\";\nimport { computed } from \"vue\";\n\nconst props = defineProps<{\n params: ICellRendererParams<unknown, PlChartStackedBarSettings | undefined>;\n}>();\n\nconst settings = computed(() => props.params.value || undefined);\n</script>\n\n<template>\n <div class=\"pl-ag-chart-stacked-bar-cell\">\n <PlChartStackedBarCompact v-if=\"settings\" :settings=\"settings\" />\n <div v-else class=\"pl-ag-chart-stacked-bar-cell__not-ready\">Not ready</div>\n </div>\n</template>\n\n<style>\n.pl-ag-chart-stacked-bar-cell {\n height: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.pl-ag-chart-stacked-bar-cell__not-ready {\n color: var(--txt-03) !important;\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"PlAgChartStackedBarCell.js","names":[],"sources":["../../../src/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ICellRendererParams } from \"ag-grid-enterprise\";\nimport type { PlChartStackedBarSettings } from \"@milaboratories/uikit\";\nimport { PlChartStackedBarCompact } from \"@milaboratories/uikit\";\nimport { computed } from \"vue\";\n\nconst props = defineProps<{\n params: ICellRendererParams<unknown, PlChartStackedBarSettings | undefined>;\n}>();\n\nconst settings = computed(() => props.params.value || undefined);\n</script>\n\n<template>\n <div data-testid=\"pl-ag-chart-stacked-bar-cell\" class=\"pl-ag-chart-stacked-bar-cell\">\n <PlChartStackedBarCompact\n v-if=\"settings\"\n data-testid=\"pl-ag-chart-stacked-bar-cell-chart\"\n :settings=\"settings\"\n />\n <div\n v-else\n data-testid=\"pl-ag-chart-stacked-bar-cell-not-ready\"\n class=\"pl-ag-chart-stacked-bar-cell__not-ready\"\n >\n Not ready\n </div>\n </div>\n</template>\n\n<style>\n.pl-ag-chart-stacked-bar-cell {\n height: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.pl-ag-chart-stacked-bar-cell__not-ready {\n color: var(--txt-03) !important;\n}\n</style>\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgChartStackedBarCell.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAIvE,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,yBAAyB,GAAG,SAAS,CAAC,CAAC;CAC7E,CAAC;AAiDF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"PlAgChartStackedBarCell.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAIvE,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,yBAAyB,GAAG,SAAS,CAAC,CAAC;CAC7E,CAAC;AAqDF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1,8 +1,12 @@
1
1
  import { computed as e, createBlock as t, createElementBlock as n, defineComponent as r, openBlock as i, unref as a } from "vue";
2
2
  import { PlChartStackedBarCompact as o } from "@milaboratories/uikit";
3
3
  //#region src/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue?vue&type=script&setup=true&lang.ts
4
- var s = { class: "pl-ag-chart-stacked-bar-cell" }, c = {
4
+ var s = {
5
+ "data-testid": "pl-ag-chart-stacked-bar-cell",
6
+ class: "pl-ag-chart-stacked-bar-cell"
7
+ }, c = {
5
8
  key: 1,
9
+ "data-testid": "pl-ag-chart-stacked-bar-cell-not-ready",
6
10
  class: "pl-ag-chart-stacked-bar-cell__not-ready"
7
11
  }, l = /* @__PURE__ */ r({
8
12
  __name: "PlAgChartStackedBarCell",
@@ -11,8 +15,9 @@ var s = { class: "pl-ag-chart-stacked-bar-cell" }, c = {
11
15
  let l = r, u = e(() => l.params.value || void 0);
12
16
  return (e, r) => (i(), n("div", s, [u.value ? (i(), t(a(o), {
13
17
  key: 0,
18
+ "data-testid": "pl-ag-chart-stacked-bar-cell-chart",
14
19
  settings: u.value
15
- }, null, 8, ["settings"])) : (i(), n("div", c, "Not ready"))]));
20
+ }, null, 8, ["settings"])) : (i(), n("div", c, " Not ready "))]));
16
21
  }
17
22
  });
18
23
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgChartStackedBarCell.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ICellRendererParams } from \"ag-grid-enterprise\";\nimport type { PlChartStackedBarSettings } from \"@milaboratories/uikit\";\nimport { PlChartStackedBarCompact } from \"@milaboratories/uikit\";\nimport { computed } from \"vue\";\n\nconst props = defineProps<{\n params: ICellRendererParams<unknown, PlChartStackedBarSettings | undefined>;\n}>();\n\nconst settings = computed(() => props.params.value || undefined);\n</script>\n\n<template>\n <div class=\"pl-ag-chart-stacked-bar-cell\">\n <PlChartStackedBarCompact v-if=\"settings\" :settings=\"settings\" />\n <div v-else class=\"pl-ag-chart-stacked-bar-cell__not-ready\">Not ready</div>\n </div>\n</template>\n\n<style>\n.pl-ag-chart-stacked-bar-cell {\n height: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.pl-ag-chart-stacked-bar-cell__not-ready {\n color: var(--txt-03) !important;\n}\n</style>\n"],"mappings":";;;;;;;;;;EAMA,IAAM,IAAQ,GAIR,IAAW,QAAe,EAAM,OAAO,SAAS,KAAA,EAAU;yBAI9D,EAGM,OAHN,GAGM,CAF4B,EAAA,SAAA,GAAA,EAAhC,EAAiE,EAAA,EAAA,EAAA;;GAAtB,UAAU,EAAA;qCACrD,EAA2E,OAA3E,GAA4D,YAAS,EAAA,CAAA"}
1
+ {"version":3,"file":"PlAgChartStackedBarCell.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/PlAgChartStackedBarCell/PlAgChartStackedBarCell.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ICellRendererParams } from \"ag-grid-enterprise\";\nimport type { PlChartStackedBarSettings } from \"@milaboratories/uikit\";\nimport { PlChartStackedBarCompact } from \"@milaboratories/uikit\";\nimport { computed } from \"vue\";\n\nconst props = defineProps<{\n params: ICellRendererParams<unknown, PlChartStackedBarSettings | undefined>;\n}>();\n\nconst settings = computed(() => props.params.value || undefined);\n</script>\n\n<template>\n <div data-testid=\"pl-ag-chart-stacked-bar-cell\" class=\"pl-ag-chart-stacked-bar-cell\">\n <PlChartStackedBarCompact\n v-if=\"settings\"\n data-testid=\"pl-ag-chart-stacked-bar-cell-chart\"\n :settings=\"settings\"\n />\n <div\n v-else\n data-testid=\"pl-ag-chart-stacked-bar-cell-not-ready\"\n class=\"pl-ag-chart-stacked-bar-cell__not-ready\"\n >\n Not ready\n </div>\n </div>\n</template>\n\n<style>\n.pl-ag-chart-stacked-bar-cell {\n height: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.pl-ag-chart-stacked-bar-cell__not-ready {\n color: var(--txt-03) !important;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;EAMA,IAAM,IAAQ,GAIR,IAAW,QAAe,EAAM,OAAO,SAAS,KAAA,EAAU;yBAI9D,EAaM,OAbN,GAaM,CAXI,EAAA,SAAA,GAAA,EADR,EAIE,EAAA,EAAA,EAAA;;GAFA,eAAY;GACX,UAAU,EAAA;qCAEb,EAMM,OANN,GAIC,cAED,EAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgColumnHeader.js","names":[],"sources":["../../../src/components/PlAgColumnHeader/PlAgColumnHeader.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { IHeaderParams, SortDirection } from \"ag-grid-enterprise\";\nimport type { MaskIconName16 } from \"@milaboratories/uikit\";\nimport { PlMaskIcon16, PlTooltip } from \"@milaboratories/uikit\";\nimport { computed, onMounted, ref } from \"vue\";\nimport \"./pl-ag-column-header.scss\";\nimport type { PlAgHeaderComponentParams } from \"./types\";\n\nconst { params } = defineProps<{ params: IHeaderParams & PlAgHeaderComponentParams }>();\n\nconst icon = computed<MaskIconName16>(() => {\n switch (params.type) {\n case undefined:\n case \"Text\":\n return \"cell-type-txt\";\n case \"Number\":\n return \"cell-type-num\";\n case \"File\":\n return \"paper-clip\";\n case \"Date\":\n return \"calendar\";\n case \"Duration\":\n return \"time\";\n case \"Progress\":\n return \"progress\";\n default:\n throw Error(\n `unsupported data type: ${params.type satisfies never} for PlAgColumnHeader component. Column ${params.column.getColId()}`,\n );\n }\n});\n\nconst sortDirection = ref<SortDirection>(null);\nconst refreshSortDirection = () => (sortDirection.value = params.column.getSort() ?? null);\nonMounted(() => refreshSortDirection());\nfunction onSortRequested() {\n if (params.column.isSortable()) {\n params.progressSort();\n refreshSortDirection();\n }\n}\nconst sortIcon = computed<MaskIconName16 | null>(() => {\n const direction = sortDirection.value;\n switch (direction) {\n case \"asc\":\n return \"arrow-up\";\n case \"desc\":\n return \"arrow-down\";\n case null:\n return null;\n default:\n throw Error(\n `unsupported sort direction: ${direction satisfies never}. Column ${params.column.getColId()}`,\n );\n }\n});\n\nconst menuActivatorBtn = ref<HTMLElement>();\nfunction showMenu() {\n const menuActivatorBtnValue = menuActivatorBtn.value;\n if (menuActivatorBtnValue) params.showColumnMenu(menuActivatorBtnValue);\n}\n</script>\n\n<template>\n <div class=\"pl-ag-column-header d-flex align-center gap-6\" @click=\"onSortRequested\">\n <div class=\"pl-ag-column-header__title d-flex align-center gap-6 flex-grow-1\">\n <PlMaskIcon16 :name=\"icon\" class=\"pl-ag-column-header__type-icon\" />\n <PlTooltip>\n <template v-if=\"params.tooltip\" #tooltip>{{ params.tooltip }}</template>\n <span>{{ params.displayName }}</span>\n </PlTooltip>\n <PlTooltip v-if=\"params.info\" max-width=\"500px\" position=\"bottom\" :close-delay=\"10000000000\">\n <template #tooltip>\n <span style=\"white-space: pre-wrap\">{{ params.info }}</span>\n </template>\n <PlMaskIcon16 name=\"info\" />\n </PlTooltip>\n <PlMaskIcon16 v-if=\"sortIcon\" :name=\"sortIcon\" />\n </div>\n <div\n v-if=\"params.enableMenu\"\n ref=\"menuActivatorBtn\"\n class=\"pl-ag-column-header__menu-icon\"\n @click.stop=\"showMenu\"\n >\n <PlMaskIcon16 name=\"more\" />\n </div>\n </div>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"PlAgColumnHeader.js","names":[],"sources":["../../../src/components/PlAgColumnHeader/PlAgColumnHeader.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { IHeaderParams, SortDirection } from \"ag-grid-enterprise\";\nimport type { MaskIconName16 } from \"@milaboratories/uikit\";\nimport { PlMaskIcon16, PlTooltip } from \"@milaboratories/uikit\";\nimport { computed, onMounted, ref } from \"vue\";\nimport \"./pl-ag-column-header.scss\";\nimport type { PlAgHeaderComponentParams } from \"./types\";\n\nconst { params } = defineProps<{ params: IHeaderParams & PlAgHeaderComponentParams }>();\n\nconst icon = computed<MaskIconName16>(() => {\n switch (params.type) {\n case undefined:\n case \"Text\":\n return \"cell-type-txt\";\n case \"Number\":\n return \"cell-type-num\";\n case \"File\":\n return \"paper-clip\";\n case \"Date\":\n return \"calendar\";\n case \"Duration\":\n return \"time\";\n case \"Progress\":\n return \"progress\";\n default:\n throw Error(\n `unsupported data type: ${params.type satisfies never} for PlAgColumnHeader component. Column ${params.column.getColId()}`,\n );\n }\n});\n\nconst sortDirection = ref<SortDirection>(null);\nconst refreshSortDirection = () => (sortDirection.value = params.column.getSort() ?? null);\nonMounted(() => refreshSortDirection());\nfunction onSortRequested() {\n if (params.column.isSortable()) {\n params.progressSort();\n refreshSortDirection();\n }\n}\nconst sortIcon = computed<MaskIconName16 | null>(() => {\n const direction = sortDirection.value;\n switch (direction) {\n case \"asc\":\n return \"arrow-up\";\n case \"desc\":\n return \"arrow-down\";\n case null:\n return null;\n default:\n throw Error(\n `unsupported sort direction: ${direction satisfies never}. Column ${params.column.getColId()}`,\n );\n }\n});\n\nconst menuActivatorBtn = ref<HTMLElement>();\nfunction showMenu() {\n const menuActivatorBtnValue = menuActivatorBtn.value;\n if (menuActivatorBtnValue) params.showColumnMenu(menuActivatorBtnValue);\n}\n</script>\n\n<template>\n <div\n data-testid=\"pl-ag-column-header\"\n class=\"pl-ag-column-header d-flex align-center gap-6\"\n @click=\"onSortRequested\"\n >\n <div\n data-testid=\"pl-ag-column-header-title\"\n class=\"pl-ag-column-header__title d-flex align-center gap-6 flex-grow-1\"\n >\n <PlMaskIcon16\n data-testid=\"pl-ag-column-header-type-icon\"\n :name=\"icon\"\n class=\"pl-ag-column-header__type-icon\"\n />\n <PlTooltip>\n <template v-if=\"params.tooltip\" #tooltip>{{ params.tooltip }}</template>\n <span data-testid=\"pl-ag-column-header-name\">{{ params.displayName }}</span>\n </PlTooltip>\n <PlTooltip\n v-if=\"params.info\"\n data-testid=\"pl-ag-column-header-info\"\n max-width=\"500px\"\n position=\"bottom\"\n :close-delay=\"10000000000\"\n >\n <template #tooltip>\n <span style=\"white-space: pre-wrap\">{{ params.info }}</span>\n </template>\n <PlMaskIcon16 name=\"info\" />\n </PlTooltip>\n <PlMaskIcon16 v-if=\"sortIcon\" data-testid=\"pl-ag-column-header-sort\" :name=\"sortIcon\" />\n </div>\n <div\n v-if=\"params.enableMenu\"\n ref=\"menuActivatorBtn\"\n data-testid=\"pl-ag-column-header-menu\"\n class=\"pl-ag-column-header__menu-icon\"\n @click.stop=\"showMenu\"\n >\n <PlMaskIcon16 name=\"more\" />\n </div>\n </div>\n</template>\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgColumnHeader.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgColumnHeader/PlAgColumnHeader.vue"],"names":[],"mappings":"AA6FA,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,oBAAoB,CAAC;AAIvE,OAAO,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEzD,KAAK,WAAW,GAAG;IAAE,MAAM,EAAE,aAAa,GAAG,yBAAyB,CAAA;CAAE,CAAC;AA8MzE,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"PlAgColumnHeader.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgColumnHeader/PlAgColumnHeader.vue"],"names":[],"mappings":"AA+GA,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,oBAAoB,CAAC;AAIvE,OAAO,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEzD,KAAK,WAAW,GAAG;IAAE,MAAM,EAAE,aAAa,GAAG,yBAAyB,CAAA;CAAE,CAAC;AAwNzE,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -2,11 +2,14 @@ import './pl-ag-column-header.css';/* empty css */
2
2
  import { computed as e, createBlock as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, createSlots as a, createTextVNode as o, createVNode as s, defineComponent as c, onMounted as l, openBlock as u, ref as d, toDisplayString as f, unref as p, withCtx as m, withModifiers as h } from "vue";
3
3
  import { PlMaskIcon16 as g, PlTooltip as _ } from "@milaboratories/uikit";
4
4
  //#region src/components/PlAgColumnHeader/PlAgColumnHeader.vue?vue&type=script&setup=true&lang.ts
5
- var v = { class: "pl-ag-column-header__title d-flex align-center gap-6 flex-grow-1" }, y = { style: { "white-space": "pre-wrap" } }, b = /* @__PURE__ */ c({
5
+ var v = {
6
+ "data-testid": "pl-ag-column-header-title",
7
+ class: "pl-ag-column-header__title d-flex align-center gap-6 flex-grow-1"
8
+ }, y = { "data-testid": "pl-ag-column-header-name" }, b = { style: { "white-space": "pre-wrap" } }, x = /* @__PURE__ */ c({
6
9
  __name: "PlAgColumnHeader",
7
10
  props: { params: {} },
8
11
  setup(c) {
9
- let b = e(() => {
12
+ let x = e(() => {
10
13
  switch (c.params.type) {
11
14
  case void 0:
12
15
  case "Text": return "cell-type-txt";
@@ -17,34 +20,36 @@ var v = { class: "pl-ag-column-header__title d-flex align-center gap-6 flex-grow
17
20
  case "Progress": return "progress";
18
21
  default: throw Error(`unsupported data type: ${c.params.type} for PlAgColumnHeader component. Column ${c.params.column.getColId()}`);
19
22
  }
20
- }), x = d(null), S = () => x.value = c.params.column.getSort() ?? null;
21
- l(() => S());
22
- function C() {
23
- c.params.column.isSortable() && (c.params.progressSort(), S());
23
+ }), S = d(null), C = () => S.value = c.params.column.getSort() ?? null;
24
+ l(() => C());
25
+ function w() {
26
+ c.params.column.isSortable() && (c.params.progressSort(), C());
24
27
  }
25
- let w = e(() => {
26
- let e = x.value;
28
+ let T = e(() => {
29
+ let e = S.value;
27
30
  switch (e) {
28
31
  case "asc": return "arrow-up";
29
32
  case "desc": return "arrow-down";
30
33
  case null: return null;
31
34
  default: throw Error(`unsupported sort direction: ${e}. Column ${c.params.column.getColId()}`);
32
35
  }
33
- }), T = d();
34
- function E() {
35
- let e = T.value;
36
+ }), E = d();
37
+ function D() {
38
+ let e = E.value;
36
39
  e && c.params.showColumnMenu(e);
37
40
  }
38
41
  return (e, l) => (u(), r("div", {
42
+ "data-testid": "pl-ag-column-header",
39
43
  class: "pl-ag-column-header d-flex align-center gap-6",
40
- onClick: C
44
+ onClick: w
41
45
  }, [i("div", v, [
42
46
  s(p(g), {
43
- name: b.value,
47
+ "data-testid": "pl-ag-column-header-type-icon",
48
+ name: x.value,
44
49
  class: "pl-ag-column-header__type-icon"
45
50
  }, null, 8, ["name"]),
46
51
  s(p(_), null, a({
47
- default: m(() => [i("span", null, f(c.params.displayName), 1)]),
52
+ default: m(() => [i("span", y, f(c.params.displayName), 1)]),
48
53
  _: 2
49
54
  }, [c.params.tooltip ? {
50
55
  name: "tooltip",
@@ -53,28 +58,31 @@ var v = { class: "pl-ag-column-header__title d-flex align-center gap-6 flex-grow
53
58
  } : void 0]), 1024),
54
59
  c.params.info ? (u(), t(p(_), {
55
60
  key: 0,
61
+ "data-testid": "pl-ag-column-header-info",
56
62
  "max-width": "500px",
57
63
  position: "bottom",
58
64
  "close-delay": 1e10
59
65
  }, {
60
- tooltip: m(() => [i("span", y, f(c.params.info), 1)]),
66
+ tooltip: m(() => [i("span", b, f(c.params.info), 1)]),
61
67
  default: m(() => [s(p(g), { name: "info" })]),
62
68
  _: 1
63
69
  })) : n("", !0),
64
- w.value ? (u(), t(p(g), {
70
+ T.value ? (u(), t(p(g), {
65
71
  key: 1,
66
- name: w.value
72
+ "data-testid": "pl-ag-column-header-sort",
73
+ name: T.value
67
74
  }, null, 8, ["name"])) : n("", !0)
68
75
  ]), c.params.enableMenu ? (u(), r("div", {
69
76
  key: 0,
70
77
  ref_key: "menuActivatorBtn",
71
- ref: T,
78
+ ref: E,
79
+ "data-testid": "pl-ag-column-header-menu",
72
80
  class: "pl-ag-column-header__menu-icon",
73
- onClick: h(E, ["stop"])
81
+ onClick: h(D, ["stop"])
74
82
  }, [s(p(g), { name: "more" })], 512)) : n("", !0)]));
75
83
  }
76
84
  });
77
85
  //#endregion
78
- export { b as default };
86
+ export { x as default };
79
87
 
80
88
  //# sourceMappingURL=PlAgColumnHeader.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgColumnHeader.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/PlAgColumnHeader/PlAgColumnHeader.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { IHeaderParams, SortDirection } from \"ag-grid-enterprise\";\nimport type { MaskIconName16 } from \"@milaboratories/uikit\";\nimport { PlMaskIcon16, PlTooltip } from \"@milaboratories/uikit\";\nimport { computed, onMounted, ref } from \"vue\";\nimport \"./pl-ag-column-header.scss\";\nimport type { PlAgHeaderComponentParams } from \"./types\";\n\nconst { params } = defineProps<{ params: IHeaderParams & PlAgHeaderComponentParams }>();\n\nconst icon = computed<MaskIconName16>(() => {\n switch (params.type) {\n case undefined:\n case \"Text\":\n return \"cell-type-txt\";\n case \"Number\":\n return \"cell-type-num\";\n case \"File\":\n return \"paper-clip\";\n case \"Date\":\n return \"calendar\";\n case \"Duration\":\n return \"time\";\n case \"Progress\":\n return \"progress\";\n default:\n throw Error(\n `unsupported data type: ${params.type satisfies never} for PlAgColumnHeader component. Column ${params.column.getColId()}`,\n );\n }\n});\n\nconst sortDirection = ref<SortDirection>(null);\nconst refreshSortDirection = () => (sortDirection.value = params.column.getSort() ?? null);\nonMounted(() => refreshSortDirection());\nfunction onSortRequested() {\n if (params.column.isSortable()) {\n params.progressSort();\n refreshSortDirection();\n }\n}\nconst sortIcon = computed<MaskIconName16 | null>(() => {\n const direction = sortDirection.value;\n switch (direction) {\n case \"asc\":\n return \"arrow-up\";\n case \"desc\":\n return \"arrow-down\";\n case null:\n return null;\n default:\n throw Error(\n `unsupported sort direction: ${direction satisfies never}. Column ${params.column.getColId()}`,\n );\n }\n});\n\nconst menuActivatorBtn = ref<HTMLElement>();\nfunction showMenu() {\n const menuActivatorBtnValue = menuActivatorBtn.value;\n if (menuActivatorBtnValue) params.showColumnMenu(menuActivatorBtnValue);\n}\n</script>\n\n<template>\n <div class=\"pl-ag-column-header d-flex align-center gap-6\" @click=\"onSortRequested\">\n <div class=\"pl-ag-column-header__title d-flex align-center gap-6 flex-grow-1\">\n <PlMaskIcon16 :name=\"icon\" class=\"pl-ag-column-header__type-icon\" />\n <PlTooltip>\n <template v-if=\"params.tooltip\" #tooltip>{{ params.tooltip }}</template>\n <span>{{ params.displayName }}</span>\n </PlTooltip>\n <PlTooltip v-if=\"params.info\" max-width=\"500px\" position=\"bottom\" :close-delay=\"10000000000\">\n <template #tooltip>\n <span style=\"white-space: pre-wrap\">{{ params.info }}</span>\n </template>\n <PlMaskIcon16 name=\"info\" />\n </PlTooltip>\n <PlMaskIcon16 v-if=\"sortIcon\" :name=\"sortIcon\" />\n </div>\n <div\n v-if=\"params.enableMenu\"\n ref=\"menuActivatorBtn\"\n class=\"pl-ag-column-header__menu-icon\"\n @click.stop=\"showMenu\"\n >\n <PlMaskIcon16 name=\"more\" />\n </div>\n </div>\n</template>\n"],"mappings":";;;;;;;;EAUA,IAAM,IAAO,QAA+B;AAC1C,WAAQ,EAAA,OAAO,MAAf;IACE,KAAK,KAAA;IACL,KAAK,OACH,QAAO;IACT,KAAK,SACH,QAAO;IACT,KAAK,OACH,QAAO;IACT,KAAK,OACH,QAAO;IACT,KAAK,WACH,QAAO;IACT,KAAK,WACH,QAAO;IACT,QACE,OAAM,MACJ,0BAA0B,EAAA,OAAO,KAAqB,0CAA0C,EAAA,OAAO,OAAO,UAAU,GACzH;;IAEL,EAEI,IAAgB,EAAmB,KAAK,EACxC,UAA8B,EAAc,QAAQ,EAAA,OAAO,OAAO,SAAS,IAAI;AACrF,UAAgB,GAAsB,CAAC;EACvC,SAAS,IAAkB;AACzB,GAAI,EAAA,OAAO,OAAO,YAAY,KAC5B,EAAA,OAAO,cAAc,EACrB,GAAsB;;EAG1B,IAAM,IAAW,QAAsC;GACrD,IAAM,IAAY,EAAc;AAChC,WAAQ,GAAR;IACE,KAAK,MACH,QAAO;IACT,KAAK,OACH,QAAO;IACT,KAAK,KACH,QAAO;IACT,QACE,OAAM,MACJ,+BAA+B,EAA0B,WAAW,EAAA,OAAO,OAAO,UAAU,GAC7F;;IAEL,EAEI,IAAmB,GAAkB;EAC3C,SAAS,IAAW;GAClB,IAAM,IAAwB,EAAiB;AAC/C,GAAI,KAAuB,EAAA,OAAO,eAAe,EAAsB;;yBAKvE,EAuBM,OAAA;GAvBD,OAAM;GAAiD,SAAO;MACjE,EAaM,OAbN,GAaM;GAZJ,EAAoE,EAAA,EAAA,EAAA;IAArD,MAAM,EAAA;IAAM,OAAM;;GACjC,EAGY,EAAA,EAAA,EAAA,MAAA,EAAA;qBAD2B,CAArC,EAAqC,QAAA,MAAA,EAA5B,EAAA,OAAO,YAAW,EAAA,EAAA,CAAA,CAAA;;OADX,EAAA,OAAO,UAAA;UAAU;gBAA4B,CAAA,EAAA,EAAjB,EAAA,OAAO,QAAO,EAAA,EAAA,CAAA,CAAA;;;GAG3C,EAAA,OAAO,QAAA,GAAA,EAAxB,EAKY,EAAA,EAAA,EAAA;;IALkB,aAAU;IAAQ,UAAS;IAAU,eAAa;;IACnE,SAAO,QAC4C,CAA5D,EAA4D,QAA5D,GAA4D,EAArB,EAAA,OAAO,KAAI,EAAA,EAAA,CAAA,CAAA;qBAExB,CAA5B,EAA4B,EAAA,EAAA,EAAA,EAAd,MAAK,QAAM,CAAA,CAAA,CAAA;;;GAEP,EAAA,SAAA,GAAA,EAApB,EAAiD,EAAA,EAAA,EAAA;;IAAlB,MAAM,EAAA;;MAG/B,EAAA,OAAO,cAAA,GAAA,EADf,EAOM,OAAA;;YALA;GAAJ,KAAI;GACJ,OAAM;GACL,SAAK,EAAO,GAAQ,CAAA,OAAA,CAAA;MAErB,EAA4B,EAAA,EAAA,EAAA,EAAd,MAAK,QAAM,CAAA,CAAA,EAAA,IAAA,IAAA,EAAA,IAAA,GAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"PlAgColumnHeader.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/PlAgColumnHeader/PlAgColumnHeader.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { IHeaderParams, SortDirection } from \"ag-grid-enterprise\";\nimport type { MaskIconName16 } from \"@milaboratories/uikit\";\nimport { PlMaskIcon16, PlTooltip } from \"@milaboratories/uikit\";\nimport { computed, onMounted, ref } from \"vue\";\nimport \"./pl-ag-column-header.scss\";\nimport type { PlAgHeaderComponentParams } from \"./types\";\n\nconst { params } = defineProps<{ params: IHeaderParams & PlAgHeaderComponentParams }>();\n\nconst icon = computed<MaskIconName16>(() => {\n switch (params.type) {\n case undefined:\n case \"Text\":\n return \"cell-type-txt\";\n case \"Number\":\n return \"cell-type-num\";\n case \"File\":\n return \"paper-clip\";\n case \"Date\":\n return \"calendar\";\n case \"Duration\":\n return \"time\";\n case \"Progress\":\n return \"progress\";\n default:\n throw Error(\n `unsupported data type: ${params.type satisfies never} for PlAgColumnHeader component. Column ${params.column.getColId()}`,\n );\n }\n});\n\nconst sortDirection = ref<SortDirection>(null);\nconst refreshSortDirection = () => (sortDirection.value = params.column.getSort() ?? null);\nonMounted(() => refreshSortDirection());\nfunction onSortRequested() {\n if (params.column.isSortable()) {\n params.progressSort();\n refreshSortDirection();\n }\n}\nconst sortIcon = computed<MaskIconName16 | null>(() => {\n const direction = sortDirection.value;\n switch (direction) {\n case \"asc\":\n return \"arrow-up\";\n case \"desc\":\n return \"arrow-down\";\n case null:\n return null;\n default:\n throw Error(\n `unsupported sort direction: ${direction satisfies never}. Column ${params.column.getColId()}`,\n );\n }\n});\n\nconst menuActivatorBtn = ref<HTMLElement>();\nfunction showMenu() {\n const menuActivatorBtnValue = menuActivatorBtn.value;\n if (menuActivatorBtnValue) params.showColumnMenu(menuActivatorBtnValue);\n}\n</script>\n\n<template>\n <div\n data-testid=\"pl-ag-column-header\"\n class=\"pl-ag-column-header d-flex align-center gap-6\"\n @click=\"onSortRequested\"\n >\n <div\n data-testid=\"pl-ag-column-header-title\"\n class=\"pl-ag-column-header__title d-flex align-center gap-6 flex-grow-1\"\n >\n <PlMaskIcon16\n data-testid=\"pl-ag-column-header-type-icon\"\n :name=\"icon\"\n class=\"pl-ag-column-header__type-icon\"\n />\n <PlTooltip>\n <template v-if=\"params.tooltip\" #tooltip>{{ params.tooltip }}</template>\n <span data-testid=\"pl-ag-column-header-name\">{{ params.displayName }}</span>\n </PlTooltip>\n <PlTooltip\n v-if=\"params.info\"\n data-testid=\"pl-ag-column-header-info\"\n max-width=\"500px\"\n position=\"bottom\"\n :close-delay=\"10000000000\"\n >\n <template #tooltip>\n <span style=\"white-space: pre-wrap\">{{ params.info }}</span>\n </template>\n <PlMaskIcon16 name=\"info\" />\n </PlTooltip>\n <PlMaskIcon16 v-if=\"sortIcon\" data-testid=\"pl-ag-column-header-sort\" :name=\"sortIcon\" />\n </div>\n <div\n v-if=\"params.enableMenu\"\n ref=\"menuActivatorBtn\"\n data-testid=\"pl-ag-column-header-menu\"\n class=\"pl-ag-column-header__menu-icon\"\n @click.stop=\"showMenu\"\n >\n <PlMaskIcon16 name=\"more\" />\n </div>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;EAUA,IAAM,IAAO,QAA+B;AAC1C,WAAQ,EAAA,OAAO,MAAf;IACE,KAAK,KAAA;IACL,KAAK,OACH,QAAO;IACT,KAAK,SACH,QAAO;IACT,KAAK,OACH,QAAO;IACT,KAAK,OACH,QAAO;IACT,KAAK,WACH,QAAO;IACT,KAAK,WACH,QAAO;IACT,QACE,OAAM,MACJ,0BAA0B,EAAA,OAAO,KAAqB,0CAA0C,EAAA,OAAO,OAAO,UAAU,GACzH;;IAEL,EAEI,IAAgB,EAAmB,KAAK,EACxC,UAA8B,EAAc,QAAQ,EAAA,OAAO,OAAO,SAAS,IAAI;AACrF,UAAgB,GAAsB,CAAC;EACvC,SAAS,IAAkB;AACzB,GAAI,EAAA,OAAO,OAAO,YAAY,KAC5B,EAAA,OAAO,cAAc,EACrB,GAAsB;;EAG1B,IAAM,IAAW,QAAsC;GACrD,IAAM,IAAY,EAAc;AAChC,WAAQ,GAAR;IACE,KAAK,MACH,QAAO;IACT,KAAK,OACH,QAAO;IACT,KAAK,KACH,QAAO;IACT,QACE,OAAM,MACJ,+BAA+B,EAA0B,WAAW,EAAA,OAAO,OAAO,UAAU,GAC7F;;IAEL,EAEI,IAAmB,GAAkB;EAC3C,SAAS,IAAW;GAClB,IAAM,IAAwB,EAAiB;AAC/C,GAAI,KAAuB,EAAA,OAAO,eAAe,EAAsB;;yBAKvE,EAyCM,OAAA;GAxCJ,eAAY;GACZ,OAAM;GACL,SAAO;MAER,EA0BM,OA1BN,GA0BM;GAtBJ,EAIE,EAAA,EAAA,EAAA;IAHA,eAAY;IACX,MAAM,EAAA;IACP,OAAM;;GAER,EAGY,EAAA,EAAA,EAAA,MAAA,EAAA;qBADkE,CAA5E,EAA4E,QAA5E,GAA4E,EAA5B,EAAA,OAAO,YAAW,EAAA,EAAA,CAAA,CAAA;;OADlD,EAAA,OAAO,UAAA;UAAU;gBAA4B,CAAA,EAAA,EAAjB,EAAA,OAAO,QAAO,EAAA,EAAA,CAAA,CAAA;;;GAIpD,EAAA,OAAO,QAAA,GAAA,EADf,EAWY,EAAA,EAAA,EAAA;;IATV,eAAY;IACZ,aAAU;IACV,UAAS;IACR,eAAa;;IAEH,SAAO,QAC4C,CAA5D,EAA4D,QAA5D,GAA4D,EAArB,EAAA,OAAO,KAAI,EAAA,EAAA,CAAA,CAAA;qBAExB,CAA5B,EAA4B,EAAA,EAAA,EAAA,EAAd,MAAK,QAAM,CAAA,CAAA,CAAA;;;GAEP,EAAA,SAAA,GAAA,EAApB,EAAwF,EAAA,EAAA,EAAA;;IAA1D,eAAY;IAA4B,MAAM,EAAA;;MAGtE,EAAA,OAAO,cAAA,GAAA,EADf,EAQM,OAAA;;YANA;GAAJ,KAAI;GACJ,eAAY;GACZ,OAAM;GACL,SAAK,EAAO,GAAQ,CAAA,OAAA,CAAA;MAErB,EAA4B,EAAA,EAAA,EAAA,EAAd,MAAK,QAAM,CAAA,CAAA,EAAA,IAAA,IAAA,EAAA,IAAA,GAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgCsvExporter.js","names":[],"sources":["../../../src/components/PlAgCsvExporter/PlAgCsvExporter.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { GridApi } from \"ag-grid-enterprise\";\nimport type { PTableHandle, PlDataTableColumnsMeta } from \"@platforma-sdk/model\";\nimport { PlBtnGhost, usePlBlockPageTitleTeleportTarget } from \"@milaboratories/uikit\";\nimport { shallowRef, toRefs } from \"vue\";\nimport { isNil } from \"es-toolkit\";\nimport { exportCsv, isCsvExportAvailable } from \"./export-csv\";\nimport type { ExportOptions } from \"./export-csv\";\n\nconst props = defineProps<{\n api: GridApi;\n tableHandle?: PTableHandle;\n columnsMeta?: PlDataTableColumnsMeta;\n}>();\nconst { api: gridApi } = toRefs(props);\nconst csvExportAvailable = isCsvExportAvailable();\n\nconst exporting = shallowRef(false);\nconst initiateExport = () => {\n const nativeOptions: ExportOptions | undefined = !isNil(props.tableHandle)\n ? { tableHandle: props.tableHandle, columnsMeta: props.columnsMeta }\n : undefined;\n\n if (isNil(nativeOptions)) {\n return;\n }\n\n exporting.value = true;\n exportCsv(gridApi.value, nativeOptions).finally(() => (exporting.value = false));\n};\n\nconst teleportTarget = usePlBlockPageTitleTeleportTarget(\"PlAgCsvExporter\");\n</script>\n\n<template>\n <Teleport v-if=\"teleportTarget && csvExportAvailable\" :to=\"teleportTarget\">\n <PlBtnGhost :loading=\"exporting\" icon=\"export\" @click.stop=\"initiateExport\">\n Export\n </PlBtnGhost>\n </Teleport>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"PlAgCsvExporter.js","names":[],"sources":["../../../src/components/PlAgCsvExporter/PlAgCsvExporter.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { GridApi } from \"ag-grid-enterprise\";\nimport type { PTableHandle, PlDataTableColumnsMeta } from \"@platforma-sdk/model\";\nimport { PlBtnGhost, usePlBlockPageTitleTeleportTarget } from \"@milaboratories/uikit\";\nimport { shallowRef, toRefs } from \"vue\";\nimport { isNil } from \"es-toolkit\";\nimport { exportCsv, isCsvExportAvailable } from \"./export-csv\";\nimport type { ExportOptions } from \"./export-csv\";\n\nconst props = defineProps<{\n api: GridApi;\n tableHandle?: PTableHandle;\n columnsMeta?: PlDataTableColumnsMeta;\n}>();\nconst { api: gridApi } = toRefs(props);\nconst csvExportAvailable = isCsvExportAvailable();\n\nconst exporting = shallowRef(false);\nconst initiateExport = () => {\n const nativeOptions: ExportOptions | undefined = !isNil(props.tableHandle)\n ? { tableHandle: props.tableHandle, columnsMeta: props.columnsMeta }\n : undefined;\n\n if (isNil(nativeOptions)) {\n return;\n }\n\n exporting.value = true;\n exportCsv(gridApi.value, nativeOptions).finally(() => (exporting.value = false));\n};\n\nconst teleportTarget = usePlBlockPageTitleTeleportTarget(\"PlAgCsvExporter\");\n</script>\n\n<template>\n <Teleport v-if=\"teleportTarget && csvExportAvailable\" :to=\"teleportTarget\">\n <PlBtnGhost\n data-testid=\"pl-ag-csv-exporter\"\n :loading=\"exporting\"\n icon=\"export\"\n @click.stop=\"initiateExport\"\n >\n Export\n </PlBtnGhost>\n </Teleport>\n</template>\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgCsvExporter.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgCsvExporter/PlAgCsvExporter.vue"],"names":[],"mappings":"AA4CA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAOjF,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,OAAO,CAAC;IACb,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,WAAW,CAAC,EAAE,sBAAsB,CAAC;CACtC,CAAC;AAuFF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"PlAgCsvExporter.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgCsvExporter/PlAgCsvExporter.vue"],"names":[],"mappings":"AAiDA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAOjF,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,OAAO,CAAC;IACb,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,WAAW,CAAC,EAAE,sBAAsB,CAAC;CACtC,CAAC;AAyFF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -22,6 +22,7 @@ var _ = /* @__PURE__ */ s({
22
22
  key: 0,
23
23
  to: d(S)
24
24
  }, [o(d(h), {
25
+ "data-testid": "pl-ag-csv-exporter",
25
26
  loading: b.value,
26
27
  icon: "export",
27
28
  onClick: p(x, ["stop"])
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgCsvExporter.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/PlAgCsvExporter/PlAgCsvExporter.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { GridApi } from \"ag-grid-enterprise\";\nimport type { PTableHandle, PlDataTableColumnsMeta } from \"@platforma-sdk/model\";\nimport { PlBtnGhost, usePlBlockPageTitleTeleportTarget } from \"@milaboratories/uikit\";\nimport { shallowRef, toRefs } from \"vue\";\nimport { isNil } from \"es-toolkit\";\nimport { exportCsv, isCsvExportAvailable } from \"./export-csv\";\nimport type { ExportOptions } from \"./export-csv\";\n\nconst props = defineProps<{\n api: GridApi;\n tableHandle?: PTableHandle;\n columnsMeta?: PlDataTableColumnsMeta;\n}>();\nconst { api: gridApi } = toRefs(props);\nconst csvExportAvailable = isCsvExportAvailable();\n\nconst exporting = shallowRef(false);\nconst initiateExport = () => {\n const nativeOptions: ExportOptions | undefined = !isNil(props.tableHandle)\n ? { tableHandle: props.tableHandle, columnsMeta: props.columnsMeta }\n : undefined;\n\n if (isNil(nativeOptions)) {\n return;\n }\n\n exporting.value = true;\n exportCsv(gridApi.value, nativeOptions).finally(() => (exporting.value = false));\n};\n\nconst teleportTarget = usePlBlockPageTitleTeleportTarget(\"PlAgCsvExporter\");\n</script>\n\n<template>\n <Teleport v-if=\"teleportTarget && csvExportAvailable\" :to=\"teleportTarget\">\n <PlBtnGhost :loading=\"exporting\" icon=\"export\" @click.stop=\"initiateExport\">\n Export\n </PlBtnGhost>\n </Teleport>\n</template>\n"],"mappings":";;;;;;;;;;;;;EASA,IAAM,IAAQ,GAKR,EAAE,KAAK,MAAY,EAAO,EAAM,EAChC,IAAqB,GAAsB,EAE3C,IAAY,EAAW,GAAM,EAC7B,UAAuB;GAC3B,IAAM,IAA4C,EAAM,EAAM,YAAW,GAErE,KAAA,IADA;IAAE,aAAa,EAAM;IAAa,aAAa,EAAM;IAAY;AAGjE,KAAM,EAAc,KAIxB,EAAU,QAAQ,IAClB,EAAU,EAAQ,OAAO,EAAc,CAAC,cAAe,EAAU,QAAQ,GAAO;KAG5E,IAAiB,EAAkC,kBAAkB;mBAIzD,EAAA,EAAc,IAAI,EAAA,EAAkB,IAAA,GAAA,EAApD,EAIW,GAAA;;GAJ4C,IAAI,EAAA,EAAc;MACvE,EAEa,EAAA,EAAA,EAAA;GAFA,SAAS,EAAA;GAAW,MAAK;GAAU,SAAK,EAAO,GAAc,CAAA,OAAA,CAAA;;oBAE1E,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAF4E,YAE5E,GAAA,CAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"PlAgCsvExporter.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/PlAgCsvExporter/PlAgCsvExporter.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { GridApi } from \"ag-grid-enterprise\";\nimport type { PTableHandle, PlDataTableColumnsMeta } from \"@platforma-sdk/model\";\nimport { PlBtnGhost, usePlBlockPageTitleTeleportTarget } from \"@milaboratories/uikit\";\nimport { shallowRef, toRefs } from \"vue\";\nimport { isNil } from \"es-toolkit\";\nimport { exportCsv, isCsvExportAvailable } from \"./export-csv\";\nimport type { ExportOptions } from \"./export-csv\";\n\nconst props = defineProps<{\n api: GridApi;\n tableHandle?: PTableHandle;\n columnsMeta?: PlDataTableColumnsMeta;\n}>();\nconst { api: gridApi } = toRefs(props);\nconst csvExportAvailable = isCsvExportAvailable();\n\nconst exporting = shallowRef(false);\nconst initiateExport = () => {\n const nativeOptions: ExportOptions | undefined = !isNil(props.tableHandle)\n ? { tableHandle: props.tableHandle, columnsMeta: props.columnsMeta }\n : undefined;\n\n if (isNil(nativeOptions)) {\n return;\n }\n\n exporting.value = true;\n exportCsv(gridApi.value, nativeOptions).finally(() => (exporting.value = false));\n};\n\nconst teleportTarget = usePlBlockPageTitleTeleportTarget(\"PlAgCsvExporter\");\n</script>\n\n<template>\n <Teleport v-if=\"teleportTarget && csvExportAvailable\" :to=\"teleportTarget\">\n <PlBtnGhost\n data-testid=\"pl-ag-csv-exporter\"\n :loading=\"exporting\"\n icon=\"export\"\n @click.stop=\"initiateExport\"\n >\n Export\n </PlBtnGhost>\n </Teleport>\n</template>\n"],"mappings":";;;;;;;;;;;;;EASA,IAAM,IAAQ,GAKR,EAAE,KAAK,MAAY,EAAO,EAAM,EAChC,IAAqB,GAAsB,EAE3C,IAAY,EAAW,GAAM,EAC7B,UAAuB;GAC3B,IAAM,IAA4C,EAAM,EAAM,YAAW,GAErE,KAAA,IADA;IAAE,aAAa,EAAM;IAAa,aAAa,EAAM;IAAY;AAGjE,KAAM,EAAc,KAIxB,EAAU,QAAQ,IAClB,EAAU,EAAQ,OAAO,EAAc,CAAC,cAAe,EAAU,QAAQ,GAAO;KAG5E,IAAiB,EAAkC,kBAAkB;mBAIzD,EAAA,EAAc,IAAI,EAAA,EAAkB,IAAA,GAAA,EAApD,EASW,GAAA;;GAT4C,IAAI,EAAA,EAAc;MACvE,EAOa,EAAA,EAAA,EAAA;GANX,eAAY;GACX,SAAS,EAAA;GACV,MAAK;GACJ,SAAK,EAAO,GAAc,CAAA,OAAA,CAAA;;oBAG7B,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAFC,YAED,GAAA,CAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgDataTableSheets.js","names":[],"sources":["../../../src/components/PlAgDataTable/PlAgDataTableSheets.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlDropdownLine } from \"@milaboratories/uikit\";\nimport type { PlDataTableSheet, PlDataTableSheetState } from \"@platforma-sdk/model\";\nimport { getAxisId } from \"@platforma-sdk/model\";\nimport { computed, watchEffect } from \"vue\";\nimport type { PlDataTableSheetsSettings, PlDataTableSheetNormalized } from \"./types\";\nimport { isJsonEqual } from \"@milaboratories/helpers\";\n\nconst state = defineModel<PlDataTableSheetState[]>({\n default: [],\n});\nconst props = defineProps<{\n settings: Readonly<PlDataTableSheetsSettings>;\n}>();\n\n// Normalize sheets: skip sheets with no options, set default values\nconst sheets = computed<PlDataTableSheetNormalized[]>(() => {\n return props.settings.sheets\n .filter((sheet) => sheet.options.length > 0)\n .map((sheet, i) => {\n const axisId = getAxisId(sheet.axis);\n\n const getDefaultValue = (): string | number => {\n const cachedState = props.settings.cachedState.find((s) => {\n return isJsonEqual(s.axisId, axisId);\n });\n if (cachedState && isValidOption(sheet, cachedState.value)) {\n return cachedState.value;\n }\n if (sheet.defaultValue && isValidOption(sheet, sheet.defaultValue)) {\n return sheet.defaultValue;\n }\n return sheet.options[0].value;\n };\n\n const makePrefix = (): string => {\n return (sheet.axis.annotations?.[\"pl7.app/label\"]?.trim() ?? `Unlabeled axis ${i}`) + \":\";\n };\n\n return {\n axisId,\n prefix: makePrefix(),\n options: sheet.options,\n defaultValue: getDefaultValue(),\n } satisfies PlDataTableSheetNormalized;\n });\n});\n\nfunction isValidOption(sheet: PlDataTableSheet, value: string | number): boolean {\n return sheet.options.some((option) => option.value === value);\n}\n\n// Restore state from settings\nwatchEffect(() => {\n const oldState = [...state.value];\n const newState = sheets.value.map((sheet, i) => makeStateEntry(i, sheet.defaultValue));\n if (!isJsonEqual(oldState, newState)) {\n state.value = newState;\n }\n});\n\nfunction makeStateEntry(i: number, value: string | number): PlDataTableSheetState {\n const axisId = sheets.value[i].axisId;\n return {\n axisId,\n value,\n };\n}\n\nfunction onSheetChanged(i: number, newValue: string | number): void {\n const oldState = [...state.value];\n const stateEntry = makeStateEntry(i, newValue);\n if (!isJsonEqual(oldState[i], stateEntry)) {\n const newState = [...oldState];\n newState[i] = stateEntry;\n state.value = newState;\n }\n}\n</script>\n\n<template>\n <div v-if=\"$slots['before'] || sheets.length > 0 || $slots['after']\" :class=\"$style.container\">\n <slot name=\"before\" />\n <template v-for=\"(sheet, i) in sheets\" :key=\"i\">\n <!-- For some reason state[i] is undefined when the sheet initially loads, so v-if to suppress the error -->\n <PlDropdownLine\n v-if=\"state[i]\"\n :model-value=\"state[i].value\"\n :options=\"sheet.options\"\n :prefix=\"sheet.prefix\"\n @update:model-value=\"(newValue: string | number) => onSheetChanged(i, newValue)\"\n />\n </template>\n <slot name=\"after\" />\n </div>\n</template>\n\n<style lang=\"css\" module>\n.container {\n display: flex;\n flex-direction: row;\n gap: 12px;\n flex-wrap: wrap;\n z-index: 3;\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"PlAgDataTableSheets.js","names":[],"sources":["../../../src/components/PlAgDataTable/PlAgDataTableSheets.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlDropdownLine } from \"@milaboratories/uikit\";\nimport type { PlDataTableSheet, PlDataTableSheetState } from \"@platforma-sdk/model\";\nimport { getAxisId } from \"@platforma-sdk/model\";\nimport { computed, watchEffect } from \"vue\";\nimport type { PlDataTableSheetsSettings, PlDataTableSheetNormalized } from \"./types\";\nimport { isJsonEqual } from \"@milaboratories/helpers\";\n\nconst state = defineModel<PlDataTableSheetState[]>({\n default: [],\n});\nconst props = defineProps<{\n settings: Readonly<PlDataTableSheetsSettings>;\n}>();\n\n// Normalize sheets: skip sheets with no options, set default values\nconst sheets = computed<PlDataTableSheetNormalized[]>(() => {\n return props.settings.sheets\n .filter((sheet) => sheet.options.length > 0)\n .map((sheet, i) => {\n const axisId = getAxisId(sheet.axis);\n\n const getDefaultValue = (): string | number => {\n const cachedState = props.settings.cachedState.find((s) => {\n return isJsonEqual(s.axisId, axisId);\n });\n if (cachedState && isValidOption(sheet, cachedState.value)) {\n return cachedState.value;\n }\n if (sheet.defaultValue && isValidOption(sheet, sheet.defaultValue)) {\n return sheet.defaultValue;\n }\n return sheet.options[0].value;\n };\n\n const makePrefix = (): string => {\n return (sheet.axis.annotations?.[\"pl7.app/label\"]?.trim() ?? `Unlabeled axis ${i}`) + \":\";\n };\n\n return {\n axisId,\n prefix: makePrefix(),\n options: sheet.options,\n defaultValue: getDefaultValue(),\n } satisfies PlDataTableSheetNormalized;\n });\n});\n\nfunction isValidOption(sheet: PlDataTableSheet, value: string | number): boolean {\n return sheet.options.some((option) => option.value === value);\n}\n\n// Restore state from settings\nwatchEffect(() => {\n const oldState = [...state.value];\n const newState = sheets.value.map((sheet, i) => makeStateEntry(i, sheet.defaultValue));\n if (!isJsonEqual(oldState, newState)) {\n state.value = newState;\n }\n});\n\nfunction makeStateEntry(i: number, value: string | number): PlDataTableSheetState {\n const axisId = sheets.value[i].axisId;\n return {\n axisId,\n value,\n };\n}\n\nfunction onSheetChanged(i: number, newValue: string | number): void {\n const oldState = [...state.value];\n const stateEntry = makeStateEntry(i, newValue);\n if (!isJsonEqual(oldState[i], stateEntry)) {\n const newState = [...oldState];\n newState[i] = stateEntry;\n state.value = newState;\n }\n}\n</script>\n\n<template>\n <div\n v-if=\"$slots['before'] || sheets.length > 0 || $slots['after']\"\n data-testid=\"pl-ag-data-table-sheets\"\n :class=\"$style.container\"\n >\n <slot name=\"before\" />\n <template v-for=\"(sheet, i) in sheets\" :key=\"i\">\n <!-- For some reason state[i] is undefined when the sheet initially loads, so v-if to suppress the error -->\n <PlDropdownLine\n v-if=\"state[i]\"\n data-testid=\"pl-ag-data-table-sheets-dropdown\"\n :model-value=\"state[i].value\"\n :options=\"sheet.options\"\n :prefix=\"sheet.prefix\"\n @update:model-value=\"(newValue: string | number) => onSheetChanged(i, newValue)\"\n />\n </template>\n <slot name=\"after\" />\n </div>\n</template>\n\n<style lang=\"css\" module>\n.container {\n display: flex;\n flex-direction: row;\n gap: 12px;\n flex-wrap: wrap;\n z-index: 3;\n}\n</style>\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgDataTableSheets.vue_vue_type_style_index_0_lang.module.js","names":[],"sources":["../../../src/components/PlAgDataTable/PlAgDataTableSheets.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlDropdownLine } from \"@milaboratories/uikit\";\nimport type { PlDataTableSheet, PlDataTableSheetState } from \"@platforma-sdk/model\";\nimport { getAxisId } from \"@platforma-sdk/model\";\nimport { computed, watchEffect } from \"vue\";\nimport type { PlDataTableSheetsSettings, PlDataTableSheetNormalized } from \"./types\";\nimport { isJsonEqual } from \"@milaboratories/helpers\";\n\nconst state = defineModel<PlDataTableSheetState[]>({\n default: [],\n});\nconst props = defineProps<{\n settings: Readonly<PlDataTableSheetsSettings>;\n}>();\n\n// Normalize sheets: skip sheets with no options, set default values\nconst sheets = computed<PlDataTableSheetNormalized[]>(() => {\n return props.settings.sheets\n .filter((sheet) => sheet.options.length > 0)\n .map((sheet, i) => {\n const axisId = getAxisId(sheet.axis);\n\n const getDefaultValue = (): string | number => {\n const cachedState = props.settings.cachedState.find((s) => {\n return isJsonEqual(s.axisId, axisId);\n });\n if (cachedState && isValidOption(sheet, cachedState.value)) {\n return cachedState.value;\n }\n if (sheet.defaultValue && isValidOption(sheet, sheet.defaultValue)) {\n return sheet.defaultValue;\n }\n return sheet.options[0].value;\n };\n\n const makePrefix = (): string => {\n return (sheet.axis.annotations?.[\"pl7.app/label\"]?.trim() ?? `Unlabeled axis ${i}`) + \":\";\n };\n\n return {\n axisId,\n prefix: makePrefix(),\n options: sheet.options,\n defaultValue: getDefaultValue(),\n } satisfies PlDataTableSheetNormalized;\n });\n});\n\nfunction isValidOption(sheet: PlDataTableSheet, value: string | number): boolean {\n return sheet.options.some((option) => option.value === value);\n}\n\n// Restore state from settings\nwatchEffect(() => {\n const oldState = [...state.value];\n const newState = sheets.value.map((sheet, i) => makeStateEntry(i, sheet.defaultValue));\n if (!isJsonEqual(oldState, newState)) {\n state.value = newState;\n }\n});\n\nfunction makeStateEntry(i: number, value: string | number): PlDataTableSheetState {\n const axisId = sheets.value[i].axisId;\n return {\n axisId,\n value,\n };\n}\n\nfunction onSheetChanged(i: number, newValue: string | number): void {\n const oldState = [...state.value];\n const stateEntry = makeStateEntry(i, newValue);\n if (!isJsonEqual(oldState[i], stateEntry)) {\n const newState = [...oldState];\n newState[i] = stateEntry;\n state.value = newState;\n }\n}\n</script>\n\n<template>\n <div v-if=\"$slots['before'] || sheets.length > 0 || $slots['after']\" :class=\"$style.container\">\n <slot name=\"before\" />\n <template v-for=\"(sheet, i) in sheets\" :key=\"i\">\n <!-- For some reason state[i] is undefined when the sheet initially loads, so v-if to suppress the error -->\n <PlDropdownLine\n v-if=\"state[i]\"\n :model-value=\"state[i].value\"\n :options=\"sheet.options\"\n :prefix=\"sheet.prefix\"\n @update:model-value=\"(newValue: string | number) => onSheetChanged(i, newValue)\"\n />\n </template>\n <slot name=\"after\" />\n </div>\n</template>\n\n<style lang=\"css\" module>\n.container {\n display: flex;\n flex-direction: row;\n gap: 12px;\n flex-wrap: wrap;\n z-index: 3;\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"PlAgDataTableSheets.vue_vue_type_style_index_0_lang.module.js","names":[],"sources":["../../../src/components/PlAgDataTable/PlAgDataTableSheets.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlDropdownLine } from \"@milaboratories/uikit\";\nimport type { PlDataTableSheet, PlDataTableSheetState } from \"@platforma-sdk/model\";\nimport { getAxisId } from \"@platforma-sdk/model\";\nimport { computed, watchEffect } from \"vue\";\nimport type { PlDataTableSheetsSettings, PlDataTableSheetNormalized } from \"./types\";\nimport { isJsonEqual } from \"@milaboratories/helpers\";\n\nconst state = defineModel<PlDataTableSheetState[]>({\n default: [],\n});\nconst props = defineProps<{\n settings: Readonly<PlDataTableSheetsSettings>;\n}>();\n\n// Normalize sheets: skip sheets with no options, set default values\nconst sheets = computed<PlDataTableSheetNormalized[]>(() => {\n return props.settings.sheets\n .filter((sheet) => sheet.options.length > 0)\n .map((sheet, i) => {\n const axisId = getAxisId(sheet.axis);\n\n const getDefaultValue = (): string | number => {\n const cachedState = props.settings.cachedState.find((s) => {\n return isJsonEqual(s.axisId, axisId);\n });\n if (cachedState && isValidOption(sheet, cachedState.value)) {\n return cachedState.value;\n }\n if (sheet.defaultValue && isValidOption(sheet, sheet.defaultValue)) {\n return sheet.defaultValue;\n }\n return sheet.options[0].value;\n };\n\n const makePrefix = (): string => {\n return (sheet.axis.annotations?.[\"pl7.app/label\"]?.trim() ?? `Unlabeled axis ${i}`) + \":\";\n };\n\n return {\n axisId,\n prefix: makePrefix(),\n options: sheet.options,\n defaultValue: getDefaultValue(),\n } satisfies PlDataTableSheetNormalized;\n });\n});\n\nfunction isValidOption(sheet: PlDataTableSheet, value: string | number): boolean {\n return sheet.options.some((option) => option.value === value);\n}\n\n// Restore state from settings\nwatchEffect(() => {\n const oldState = [...state.value];\n const newState = sheets.value.map((sheet, i) => makeStateEntry(i, sheet.defaultValue));\n if (!isJsonEqual(oldState, newState)) {\n state.value = newState;\n }\n});\n\nfunction makeStateEntry(i: number, value: string | number): PlDataTableSheetState {\n const axisId = sheets.value[i].axisId;\n return {\n axisId,\n value,\n };\n}\n\nfunction onSheetChanged(i: number, newValue: string | number): void {\n const oldState = [...state.value];\n const stateEntry = makeStateEntry(i, newValue);\n if (!isJsonEqual(oldState[i], stateEntry)) {\n const newState = [...oldState];\n newState[i] = stateEntry;\n state.value = newState;\n }\n}\n</script>\n\n<template>\n <div\n v-if=\"$slots['before'] || sheets.length > 0 || $slots['after']\"\n data-testid=\"pl-ag-data-table-sheets\"\n :class=\"$style.container\"\n >\n <slot name=\"before\" />\n <template v-for=\"(sheet, i) in sheets\" :key=\"i\">\n <!-- For some reason state[i] is undefined when the sheet initially loads, so v-if to suppress the error -->\n <PlDropdownLine\n v-if=\"state[i]\"\n data-testid=\"pl-ag-data-table-sheets-dropdown\"\n :model-value=\"state[i].value\"\n :options=\"sheet.options\"\n :prefix=\"sheet.prefix\"\n @update:model-value=\"(newValue: string | number) => onSheetChanged(i, newValue)\"\n />\n </template>\n <slot name=\"after\" />\n </div>\n</template>\n\n<style lang=\"css\" module>\n.container {\n display: flex;\n flex-direction: row;\n gap: 12px;\n flex-wrap: wrap;\n z-index: 3;\n}\n</style>\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgDataTableSheets.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgDataTable/PlAgDataTableSheets.vue"],"names":[],"mappings":"AA8GA,OAAO,KAAK,EAAoB,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGpF,OAAO,KAAK,EAAE,yBAAyB,EAA8B,MAAM,SAAS,CAAC;AAMrF,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;CAC/C,CAAC;AAuEF,KAAK,gBAAgB,GAAG;IACxB,UAAU,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACpC,CAAC;AAKF,KAAK,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAoExD,QAAA,IAAI,OAAO,IAAU,EAAE,QAAQ,IAAW,CAAE;AAC5C,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GAC3C;IAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAK9C,QAAA,MAAM,UAAU;;;;kFAGd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"PlAgDataTableSheets.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlAgDataTable/PlAgDataTableSheets.vue"],"names":[],"mappings":"AAmHA,OAAO,KAAK,EAAoB,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGpF,OAAO,KAAK,EAAE,yBAAyB,EAA8B,MAAM,SAAS,CAAC;AAMrF,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;CAC/C,CAAC;AAuEF,KAAK,gBAAgB,GAAG;IACxB,UAAU,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACpC,CAAC;AAKF,KAAK,iBAAiB,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAuExD,QAAA,IAAI,OAAO,IAAU,EAAE,QAAQ,IAAW,CAAE;AAC5C,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GAC3C;IAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAK9C,QAAA,MAAM,UAAU;;;;kFAGd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -46,11 +46,13 @@ var _ = /* @__PURE__ */ o({
46
46
  }
47
47
  return (e, n) => e.$slots.before || v.value.length > 0 || e.$slots.after ? (l(), a("div", {
48
48
  key: 0,
49
+ "data-testid": "pl-ag-data-table-sheets",
49
50
  class: c(e.$style.container)
50
51
  }, [
51
52
  d(e.$slots, "before"),
52
53
  (l(!0), a(t, null, u(v.value, (e, n) => (l(), a(t, { key: n }, [s.value[n] ? (l(), r(f(g), {
53
54
  key: 0,
55
+ "data-testid": "pl-ag-data-table-sheets-dropdown",
54
56
  "model-value": s.value[n].value,
55
57
  options: e.options,
56
58
  prefix: e.prefix,
@@ -1 +1 @@
1
- {"version":3,"file":"PlAgDataTableSheets.vue_vue_type_script_setup_true_lang.js","names":["$slots","$style"],"sources":["../../../src/components/PlAgDataTable/PlAgDataTableSheets.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlDropdownLine } from \"@milaboratories/uikit\";\nimport type { PlDataTableSheet, PlDataTableSheetState } from \"@platforma-sdk/model\";\nimport { getAxisId } from \"@platforma-sdk/model\";\nimport { computed, watchEffect } from \"vue\";\nimport type { PlDataTableSheetsSettings, PlDataTableSheetNormalized } from \"./types\";\nimport { isJsonEqual } from \"@milaboratories/helpers\";\n\nconst state = defineModel<PlDataTableSheetState[]>({\n default: [],\n});\nconst props = defineProps<{\n settings: Readonly<PlDataTableSheetsSettings>;\n}>();\n\n// Normalize sheets: skip sheets with no options, set default values\nconst sheets = computed<PlDataTableSheetNormalized[]>(() => {\n return props.settings.sheets\n .filter((sheet) => sheet.options.length > 0)\n .map((sheet, i) => {\n const axisId = getAxisId(sheet.axis);\n\n const getDefaultValue = (): string | number => {\n const cachedState = props.settings.cachedState.find((s) => {\n return isJsonEqual(s.axisId, axisId);\n });\n if (cachedState && isValidOption(sheet, cachedState.value)) {\n return cachedState.value;\n }\n if (sheet.defaultValue && isValidOption(sheet, sheet.defaultValue)) {\n return sheet.defaultValue;\n }\n return sheet.options[0].value;\n };\n\n const makePrefix = (): string => {\n return (sheet.axis.annotations?.[\"pl7.app/label\"]?.trim() ?? `Unlabeled axis ${i}`) + \":\";\n };\n\n return {\n axisId,\n prefix: makePrefix(),\n options: sheet.options,\n defaultValue: getDefaultValue(),\n } satisfies PlDataTableSheetNormalized;\n });\n});\n\nfunction isValidOption(sheet: PlDataTableSheet, value: string | number): boolean {\n return sheet.options.some((option) => option.value === value);\n}\n\n// Restore state from settings\nwatchEffect(() => {\n const oldState = [...state.value];\n const newState = sheets.value.map((sheet, i) => makeStateEntry(i, sheet.defaultValue));\n if (!isJsonEqual(oldState, newState)) {\n state.value = newState;\n }\n});\n\nfunction makeStateEntry(i: number, value: string | number): PlDataTableSheetState {\n const axisId = sheets.value[i].axisId;\n return {\n axisId,\n value,\n };\n}\n\nfunction onSheetChanged(i: number, newValue: string | number): void {\n const oldState = [...state.value];\n const stateEntry = makeStateEntry(i, newValue);\n if (!isJsonEqual(oldState[i], stateEntry)) {\n const newState = [...oldState];\n newState[i] = stateEntry;\n state.value = newState;\n }\n}\n</script>\n\n<template>\n <div v-if=\"$slots['before'] || sheets.length > 0 || $slots['after']\" :class=\"$style.container\">\n <slot name=\"before\" />\n <template v-for=\"(sheet, i) in sheets\" :key=\"i\">\n <!-- For some reason state[i] is undefined when the sheet initially loads, so v-if to suppress the error -->\n <PlDropdownLine\n v-if=\"state[i]\"\n :model-value=\"state[i].value\"\n :options=\"sheet.options\"\n :prefix=\"sheet.prefix\"\n @update:model-value=\"(newValue: string | number) => onSheetChanged(i, newValue)\"\n />\n </template>\n <slot name=\"after\" />\n </div>\n</template>\n\n<style lang=\"css\" module>\n.container {\n display: flex;\n flex-direction: row;\n gap: 12px;\n flex-wrap: wrap;\n z-index: 3;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;EAQA,IAAM,IAAQ,EAAoC,GAAA,aAEhD,EACI,IAAQ,GAKR,IAAS,QACN,EAAM,SAAS,OACnB,QAAQ,MAAU,EAAM,QAAQ,SAAS,EAAC,CAC1C,KAAK,GAAO,MAAM;GACjB,IAAM,IAAS,EAAU,EAAM,KAAK;AAmBpC,UAAO;IACL;IACA,SALQ,EAAM,KAAK,cAAc,kBAAkB,MAAM,IAAI,kBAAkB,OAAO;IAMtF,SAAS,EAAM;IACf,qBArB6C;KAC7C,IAAM,IAAc,EAAM,SAAS,YAAY,MAAM,MAC5C,EAAY,EAAE,QAAQ,EAAO,CACpC;AAOF,YANI,KAAe,EAAc,GAAO,EAAY,MAAM,GACjD,EAAY,QAEjB,EAAM,gBAAgB,EAAc,GAAO,EAAM,aAAa,GACzD,EAAM,eAER,EAAM,QAAQ,GAAG;QAWO;IAChC;IACD,CACJ;EAEF,SAAS,EAAc,GAAyB,GAAiC;AAC/E,UAAO,EAAM,QAAQ,MAAM,MAAW,EAAO,UAAU,EAAM;;AAI/D,UAAkB;GAChB,IAAM,IAAW,CAAC,GAAG,EAAM,MAAM,EAC3B,IAAW,EAAO,MAAM,KAAK,GAAO,MAAM,EAAe,GAAG,EAAM,aAAa,CAAC;AACtF,GAAK,EAAY,GAAU,EAAS,KAClC,EAAM,QAAQ;IAEhB;EAEF,SAAS,EAAe,GAAW,GAA+C;AAEhF,UAAO;IACL,QAFa,EAAO,MAAM,GAAG;IAG7B;IACD;;EAGH,SAAS,EAAe,GAAW,GAAiC;GAClE,IAAM,IAAW,CAAC,GAAG,EAAM,MAAM,EAC3B,IAAa,EAAe,GAAG,EAAS;AAC9C,OAAI,CAAC,EAAY,EAAS,IAAI,EAAW,EAAE;IACzC,IAAM,IAAW,CAAC,GAAG,EAAS;AAE9B,IADA,EAAS,KAAK,GACd,EAAM,QAAQ;;;mBAMLA,EAAAA,OAAM,UAAc,EAAA,MAAO,SAAM,KAAQA,EAAAA,OAAM,SAAA,GAAA,EAA1D,EAaM,OAAA;;GAbgE,OAAK,EAAEC,EAAAA,OAAO,UAAS;;GAC3F,EAAsB,EAAA,QAAA,SAAA;WACtB,EASW,GAAA,MAAA,EAToB,EAAA,QAAb,GAAO,wBAAoB,GAAC,EAAA,CAGpC,EAAA,MAAM,MAAA,GAAA,EADd,EAME,EAAA,EAAA,EAAA;;IAJC,eAAa,EAAA,MAAM,GAAG;IACtB,SAAS,EAAM;IACf,QAAQ,EAAM;IACd,wBAAqB,MAA8B,EAAe,GAAG,EAAQ;;;;;;;GAGlF,EAAqB,EAAA,QAAA,QAAA"}
1
+ {"version":3,"file":"PlAgDataTableSheets.vue_vue_type_script_setup_true_lang.js","names":["$slots","$style"],"sources":["../../../src/components/PlAgDataTable/PlAgDataTableSheets.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlDropdownLine } from \"@milaboratories/uikit\";\nimport type { PlDataTableSheet, PlDataTableSheetState } from \"@platforma-sdk/model\";\nimport { getAxisId } from \"@platforma-sdk/model\";\nimport { computed, watchEffect } from \"vue\";\nimport type { PlDataTableSheetsSettings, PlDataTableSheetNormalized } from \"./types\";\nimport { isJsonEqual } from \"@milaboratories/helpers\";\n\nconst state = defineModel<PlDataTableSheetState[]>({\n default: [],\n});\nconst props = defineProps<{\n settings: Readonly<PlDataTableSheetsSettings>;\n}>();\n\n// Normalize sheets: skip sheets with no options, set default values\nconst sheets = computed<PlDataTableSheetNormalized[]>(() => {\n return props.settings.sheets\n .filter((sheet) => sheet.options.length > 0)\n .map((sheet, i) => {\n const axisId = getAxisId(sheet.axis);\n\n const getDefaultValue = (): string | number => {\n const cachedState = props.settings.cachedState.find((s) => {\n return isJsonEqual(s.axisId, axisId);\n });\n if (cachedState && isValidOption(sheet, cachedState.value)) {\n return cachedState.value;\n }\n if (sheet.defaultValue && isValidOption(sheet, sheet.defaultValue)) {\n return sheet.defaultValue;\n }\n return sheet.options[0].value;\n };\n\n const makePrefix = (): string => {\n return (sheet.axis.annotations?.[\"pl7.app/label\"]?.trim() ?? `Unlabeled axis ${i}`) + \":\";\n };\n\n return {\n axisId,\n prefix: makePrefix(),\n options: sheet.options,\n defaultValue: getDefaultValue(),\n } satisfies PlDataTableSheetNormalized;\n });\n});\n\nfunction isValidOption(sheet: PlDataTableSheet, value: string | number): boolean {\n return sheet.options.some((option) => option.value === value);\n}\n\n// Restore state from settings\nwatchEffect(() => {\n const oldState = [...state.value];\n const newState = sheets.value.map((sheet, i) => makeStateEntry(i, sheet.defaultValue));\n if (!isJsonEqual(oldState, newState)) {\n state.value = newState;\n }\n});\n\nfunction makeStateEntry(i: number, value: string | number): PlDataTableSheetState {\n const axisId = sheets.value[i].axisId;\n return {\n axisId,\n value,\n };\n}\n\nfunction onSheetChanged(i: number, newValue: string | number): void {\n const oldState = [...state.value];\n const stateEntry = makeStateEntry(i, newValue);\n if (!isJsonEqual(oldState[i], stateEntry)) {\n const newState = [...oldState];\n newState[i] = stateEntry;\n state.value = newState;\n }\n}\n</script>\n\n<template>\n <div\n v-if=\"$slots['before'] || sheets.length > 0 || $slots['after']\"\n data-testid=\"pl-ag-data-table-sheets\"\n :class=\"$style.container\"\n >\n <slot name=\"before\" />\n <template v-for=\"(sheet, i) in sheets\" :key=\"i\">\n <!-- For some reason state[i] is undefined when the sheet initially loads, so v-if to suppress the error -->\n <PlDropdownLine\n v-if=\"state[i]\"\n data-testid=\"pl-ag-data-table-sheets-dropdown\"\n :model-value=\"state[i].value\"\n :options=\"sheet.options\"\n :prefix=\"sheet.prefix\"\n @update:model-value=\"(newValue: string | number) => onSheetChanged(i, newValue)\"\n />\n </template>\n <slot name=\"after\" />\n </div>\n</template>\n\n<style lang=\"css\" module>\n.container {\n display: flex;\n flex-direction: row;\n gap: 12px;\n flex-wrap: wrap;\n z-index: 3;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;EAQA,IAAM,IAAQ,EAAoC,GAAA,aAEhD,EACI,IAAQ,GAKR,IAAS,QACN,EAAM,SAAS,OACnB,QAAQ,MAAU,EAAM,QAAQ,SAAS,EAAC,CAC1C,KAAK,GAAO,MAAM;GACjB,IAAM,IAAS,EAAU,EAAM,KAAK;AAmBpC,UAAO;IACL;IACA,SALQ,EAAM,KAAK,cAAc,kBAAkB,MAAM,IAAI,kBAAkB,OAAO;IAMtF,SAAS,EAAM;IACf,qBArB6C;KAC7C,IAAM,IAAc,EAAM,SAAS,YAAY,MAAM,MAC5C,EAAY,EAAE,QAAQ,EAAO,CACpC;AAOF,YANI,KAAe,EAAc,GAAO,EAAY,MAAM,GACjD,EAAY,QAEjB,EAAM,gBAAgB,EAAc,GAAO,EAAM,aAAa,GACzD,EAAM,eAER,EAAM,QAAQ,GAAG;QAWO;IAChC;IACD,CACJ;EAEF,SAAS,EAAc,GAAyB,GAAiC;AAC/E,UAAO,EAAM,QAAQ,MAAM,MAAW,EAAO,UAAU,EAAM;;AAI/D,UAAkB;GAChB,IAAM,IAAW,CAAC,GAAG,EAAM,MAAM,EAC3B,IAAW,EAAO,MAAM,KAAK,GAAO,MAAM,EAAe,GAAG,EAAM,aAAa,CAAC;AACtF,GAAK,EAAY,GAAU,EAAS,KAClC,EAAM,QAAQ;IAEhB;EAEF,SAAS,EAAe,GAAW,GAA+C;AAEhF,UAAO;IACL,QAFa,EAAO,MAAM,GAAG;IAG7B;IACD;;EAGH,SAAS,EAAe,GAAW,GAAiC;GAClE,IAAM,IAAW,CAAC,GAAG,EAAM,MAAM,EAC3B,IAAa,EAAe,GAAG,EAAS;AAC9C,OAAI,CAAC,EAAY,EAAS,IAAI,EAAW,EAAE;IACzC,IAAM,IAAW,CAAC,GAAG,EAAS;AAE9B,IADA,EAAS,KAAK,GACd,EAAM,QAAQ;;;mBAORA,EAAAA,OAAM,UAAc,EAAA,MAAO,SAAM,KAAQA,EAAAA,OAAM,SAAA,GAAA,EADvD,EAkBM,OAAA;;GAhBJ,eAAY;GACX,OAAK,EAAEC,EAAAA,OAAO,UAAS;;GAExB,EAAsB,EAAA,QAAA,SAAA;WACtB,EAUW,GAAA,MAAA,EAVoB,EAAA,QAAb,GAAO,wBAAoB,GAAC,EAAA,CAGpC,EAAA,MAAM,MAAA,GAAA,EADd,EAOE,EAAA,EAAA,EAAA;;IALA,eAAY;IACX,eAAa,EAAA,MAAM,GAAG;IACtB,SAAS,EAAM;IACf,QAAQ,EAAM;IACd,wBAAqB,MAA8B,EAAe,GAAG,EAAQ;;;;;;;GAGlF,EAAqB,EAAA,QAAA,QAAA"}