@platforma-sdk/ui-vue 1.37.11 → 1.37.13

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 (32) hide show
  1. package/.turbo/turbo-build.log +14 -14
  2. package/.turbo/turbo-type-check.log +1 -1
  3. package/CHANGELOG.md +13 -0
  4. package/dist/components/PlMultiSequenceAlignment/Consensus.vue2.js +12 -12
  5. package/dist/components/PlMultiSequenceAlignment/Consensus.vue2.js.map +1 -1
  6. package/dist/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue.d.ts +1 -0
  7. package/dist/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue.d.ts.map +1 -1
  8. package/dist/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue2.js +58 -45
  9. package/dist/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue2.js.map +1 -1
  10. package/dist/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue3.js +12 -11
  11. package/dist/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue3.js.map +1 -1
  12. package/dist/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue.d.ts.map +1 -1
  13. package/dist/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue2.js +27 -26
  14. package/dist/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue2.js.map +1 -1
  15. package/dist/components/PlMultiSequenceAlignment/SeqLogo.vue.d.ts.map +1 -1
  16. package/dist/components/PlMultiSequenceAlignment/SeqLogo.vue2.js +1 -1
  17. package/dist/components/PlMultiSequenceAlignment/SeqLogo.vue2.js.map +1 -1
  18. package/dist/components/PlMultiSequenceAlignment/data.d.ts +1 -0
  19. package/dist/components/PlMultiSequenceAlignment/data.d.ts.map +1 -1
  20. package/dist/components/PlMultiSequenceAlignment/data.js +161 -140
  21. package/dist/components/PlMultiSequenceAlignment/data.js.map +1 -1
  22. package/dist/lib/ui/uikit/dist/components/PlElementList/PlElementList.vue2.js +137 -125
  23. package/dist/lib/ui/uikit/dist/components/PlElementList/PlElementList.vue2.js.map +1 -1
  24. package/dist/lib/ui/uikit/dist/components/PlElementList/PlElementListItem.vue.js +2 -2
  25. package/dist/lib/ui/uikit/dist/components/PlElementList/PlElementListItem.vue2.js.map +1 -1
  26. package/dist/lib/ui/uikit/dist/components/PlElementList/PlElementListItem.vue3.js +31 -31
  27. package/package.json +5 -5
  28. package/src/components/PlMultiSequenceAlignment/Consensus.vue +1 -1
  29. package/src/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue +20 -1
  30. package/src/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue +1 -0
  31. package/src/components/PlMultiSequenceAlignment/SeqLogo.vue +1 -1
  32. package/src/components/PlMultiSequenceAlignment/data.ts +37 -14
@@ -1,6 +1,6 @@
1
1
   WARN  Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-sdk/ui-vue@1.37.11 build /home/runner/_work/platforma/platforma/sdk/ui-vue
3
+ > @platforma-sdk/ui-vue@1.37.13 build /home/runner/_work/platforma/platforma/sdk/ui-vue
4
4
  > vite build
5
5
 
6
6
  vite v6.3.5 building for production...
@@ -10,7 +10,7 @@ rendering chunks...
10
10
 
11
11
  [vite:dts] Start generate declaration files...
12
12
  computing gzip size...
13
- [vite:dts] Declaration files built in 5133ms.
13
+ [vite:dts] Declaration files built in 5127ms.
14
14
 
15
15
  dist/_virtual/re.js  0.08 kB │ gzip: 0.10 kB │ map: 0.09 kB
16
16
  dist/_virtual/lodash2.js  0.09 kB │ gzip: 0.10 kB │ map: 0.09 kB
@@ -50,8 +50,8 @@ computing gzip size...
50
50
  dist/components/PlAgRowNumCheckbox/PlAgRowNumCheckbox.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
51
51
  dist/components/PlTableFilters/PlTableFilterEntry.vue2.js  0.12 kB │ gzip: 0.12 kB │ map: 0.11 kB
52
52
  dist/plugins/Monetization/MonetizationSidebar.vue2.js  0.13 kB │ gzip: 0.12 kB │ map: 0.11 kB
53
- dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue2.js  0.13 kB │ gzip: 0.12 kB │ map: 0.11 kB
54
53
  dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue2.js  0.13 kB │ gzip: 0.12 kB │ map: 0.11 kB
54
+ dist/components/PlAgTextAndButtonCell/PlAgTextAndButtonCell.vue2.js  0.13 kB │ gzip: 0.12 kB │ map: 0.11 kB
55
55
  dist/lib/ui/uikit/dist/components/PlRadio/keys.js  0.13 kB │ gzip: 0.13 kB │ map: 0.46 kB
56
56
  dist/lib/ui/uikit/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/size.js  0.13 kB │ gzip: 0.13 kB │ map: 0.49 kB
57
57
  dist/components/ValueOrErrorsComponent.vue2.js  0.13 kB │ gzip: 0.12 kB │ map: 0.11 kB
@@ -137,8 +137,8 @@ computing gzip size...
137
137
  dist/lib/ui/uikit/dist/assets/icons/icon-assets-min/24_linetype-solid.svg.js  0.26 kB │ gzip: 0.22 kB │ map: 0.48 kB
138
138
  dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/defaultLocale.js  0.26 kB │ gzip: 0.21 kB │ map: 0.87 kB
139
139
  dist/lib/ui/uikit/dist/assets/icons/icon-assets-min/24_color-stroke.svg.js  0.26 kB │ gzip: 0.22 kB │ map: 0.49 kB
140
- dist/lib/ui/uikit/dist/node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/selection.js  0.26 kB │ gzip: 0.20 kB │ map: 0.60 kB
141
140
  dist/lib/ui/uikit/dist/node_modules/.pnpm/d3-scale@4.0.2/node_modules/d3-scale/src/init.js  0.26 kB │ gzip: 0.18 kB │ map: 1.11 kB
141
+ dist/lib/ui/uikit/dist/node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/selection.js  0.26 kB │ gzip: 0.20 kB │ map: 0.60 kB
142
142
  dist/lib/ui/uikit/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/node.js  0.26 kB │ gzip: 0.19 kB │ map: 0.82 kB
143
143
  dist/lib/ui/uikit/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/select.js  0.26 kB │ gzip: 0.20 kB │ map: 0.73 kB
144
144
  dist/lib/ui/uikit/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/each.js  0.26 kB │ gzip: 0.21 kB │ map: 0.88 kB
@@ -605,8 +605,8 @@ computing gzip size...
605
605
  dist/lib/ui/uikit/dist/assets/icons/icon-assets-min/24_dendrogram-X-line.svg.js  0.95 kB │ gzip: 0.39 kB │ map: 1.27 kB
606
606
  dist/lib/ui/uikit/dist/node_modules/.pnpm/d3-array@3.2.4/node_modules/d3-array/src/bisector.js  0.96 kB │ gzip: 0.40 kB │ map: 3.15 kB
607
607
  dist/lib/ui/uikit/dist/node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/transition/attrTween.js  0.97 kB │ gzip: 0.42 kB │ map: 2.60 kB
608
- dist/lib/ui/uikit/dist/node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/selection/transition.js  0.97 kB │ gzip: 0.53 kB │ map: 2.34 kB
609
608
  dist/lib/ui/uikit/dist/assets/icons/icon-assets-min/24_lasso.svg.js  0.97 kB │ gzip: 0.57 kB │ map: 1.18 kB
609
+ dist/lib/ui/uikit/dist/node_modules/.pnpm/d3-transition@3.0.1_d3-selection@3.0.0/node_modules/d3-transition/src/selection/transition.js  0.97 kB │ gzip: 0.53 kB │ map: 2.34 kB
610
610
  dist/lib/ui/uikit/dist/layout/PlRow/PlRow.vue.js  0.98 kB │ gzip: 0.57 kB │ map: 0.64 kB
611
611
  dist/lib/ui/uikit/dist/composition/useTheme.js  0.98 kB │ gzip: 0.50 kB │ map: 2.43 kB
612
612
  dist/components/ValueOrErrorsComponent.vue.js  0.98 kB │ gzip: 0.50 kB │ map: 1.34 kB
@@ -701,7 +701,6 @@ computing gzip size...
701
701
  dist/lib/ui/uikit/dist/components/PlBtnLink/PlBtnLink.vue.js  1.46 kB │ gzip: 0.76 kB │ map: 1.36 kB
702
702
  dist/lib/ui/uikit/dist/components/PlChartStackedBar/StackedRowCompact.vue2.js  1.48 kB │ gzip: 0.71 kB │ map: 2.57 kB
703
703
  dist/lib/ui/uikit/dist/assets/icons/icon-assets-min/24_social-youtube.svg.js  1.49 kB │ gzip: 0.76 kB │ map: 1.73 kB
704
- dist/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue3.js  1.49 kB │ gzip: 0.73 kB │ map: 0.12 kB
705
704
  dist/lib/ui/uikit/dist/components/PlErrorAlert/PlErrorAlert.vue2.js  1.50 kB │ gzip: 0.65 kB │ map: 2.59 kB
706
705
  dist/lib/ui/uikit/dist/components/VScroll.vue.js  1.50 kB │ gzip: 0.73 kB │ map: 2.68 kB
707
706
  dist/lib/ui/uikit/dist/components/HScroll.vue.js  1.50 kB │ gzip: 0.73 kB │ map: 2.67 kB
@@ -723,6 +722,7 @@ computing gzip size...
723
722
  dist/lib/ui/uikit/dist/node_modules/.pnpm/d3-selection@3.0.0/node_modules/d3-selection/src/selection/on.js  1.63 kB │ gzip: 0.68 kB │ map: 4.38 kB
724
723
  dist/lib/ui/uikit/dist/components/PlFileDialog/Shortcuts.vue2.js  1.63 kB │ gzip: 0.60 kB │ map: 0.14 kB
725
724
  dist/plugins/Monetization/RunStatus.vue3.js  1.63 kB │ gzip: 0.77 kB │ map: 0.11 kB
725
+ dist/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue3.js  1.64 kB │ gzip: 0.78 kB │ map: 0.12 kB
726
726
  dist/aggrid.js  1.66 kB │ gzip: 0.79 kB │ map: 3.09 kB
727
727
  dist/lib/ui/uikit/dist/components/PlSvg/registry.js  1.66 kB │ gzip: 0.86 kB │ map: 4.41 kB
728
728
  dist/lib/ui/uikit/dist/components/PlErrorBoundary/PlErrorBoundary.vue.js  1.66 kB │ gzip: 0.79 kB │ map: 2.78 kB
@@ -784,7 +784,6 @@ computing gzip size...
784
784
  dist/lib/ui/uikit/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.js  2.80 kB │ gzip: 1.25 kB │ map: 2.65 kB
785
785
  dist/composition/fileContent.js  2.92 kB │ gzip: 1.06 kB │ map: 8.69 kB
786
786
  dist/lib/ui/uikit/dist/components/PlChartHistogram/histogram.js  2.98 kB │ gzip: 0.99 kB │ map: 7.83 kB
787
- dist/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue2.js  2.99 kB │ gzip: 1.16 kB │ map: 5.01 kB
788
787
  dist/components/PlAgDataTable/sources/row-number.js  3.10 kB │ gzip: 1.34 kB │ map: 8.35 kB
789
788
  dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/locale.js  3.12 kB │ gzip: 1.35 kB │ map: 10.44 kB
790
789
  dist/lib/ui/uikit/dist/node_modules/.pnpm/d3-format@3.1.0/node_modules/d3-format/src/locale.js  3.12 kB │ gzip: 1.35 kB │ map: 10.46 kB
@@ -796,6 +795,7 @@ computing gzip size...
796
795
  dist/lib/ui/uikit/dist/generated/icons-24.js  3.37 kB │ gzip: 1.08 kB │ map: 5.77 kB
797
796
  dist/lib/ui/uikit/dist/components/PlBtnDanger/PlBtnDanger.vue.js  3.47 kB │ gzip: 1.34 kB │ map: 1.23 kB
798
797
  dist/lib/ui/uikit/dist/node_modules/.pnpm/d3-axis@3.0.0/node_modules/d3-axis/src/axis.js  3.49 kB │ gzip: 1.30 kB │ map: 10.47 kB
798
+ dist/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue2.js  3.49 kB │ gzip: 1.29 kB │ map: 5.69 kB
799
799
  dist/lib/ui/uikit/dist/components/PlBtnAccent/PlBtnAccent.vue.js  3.50 kB │ gzip: 1.34 kB │ map: 1.24 kB
800
800
  dist/lib/ui/uikit/dist/components/DataTable/state.js  3.50 kB │ gzip: 1.28 kB │ map: 9.14 kB
801
801
  dist/lib/ui/uikit/dist/components/PlProgressCell/PlProgressCell.vue.js  3.51 kB │ gzip: 1.42 kB │ map: 1.99 kB
@@ -806,14 +806,14 @@ computing gzip size...
806
806
  dist/sdk/model/dist/index.js  3.57 kB │ gzip: 1.45 kB │ map: 51.57 kB
807
807
  dist/components/PlAppErrorNotificationAlert/PlAppErrorNotificationAlert.vue.js  3.59 kB │ gzip: 1.43 kB │ map: 2.78 kB
808
808
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/index.js  3.67 kB │ gzip: 1.01 kB │ map: 5.45 kB
809
+ dist/lib/ui/uikit/dist/components/PlElementList/PlElementListItem.vue3.js  3.68 kB │ gzip: 1.33 kB │ map: 0.13 kB
809
810
  dist/lib/ui/uikit/dist/composition/useSortable.js  3.68 kB │ gzip: 1.32 kB │ map: 10.93 kB
810
- dist/lib/ui/uikit/dist/components/PlElementList/PlElementListItem.vue3.js  3.70 kB │ gzip: 1.34 kB │ map: 0.13 kB
811
- dist/lib/ui/uikit/dist/components/PlElementList/PlElementListItem.vue2.js  3.72 kB │ gzip: 1.14 kB │ map: 6.34 kB
811
+ dist/lib/ui/uikit/dist/components/PlElementList/PlElementListItem.vue2.js  3.72 kB │ gzip: 1.14 kB │ map: 6.33 kB
812
812
  dist/components/PlMultiSequenceAlignment/chemical-properties.js  3.79 kB │ gzip: 1.16 kB │ map: 9.18 kB
813
813
  dist/components/PlMultiSequenceAlignment/SeqLogo.vue2.js  3.87 kB │ gzip: 1.48 kB │ map: 6.75 kB
814
814
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/internal/re.js  4.03 kB │ gzip: 1.23 kB │ map: 12.96 kB
815
815
  dist/lib/ui/uikit/dist/components/PlChip/PlChip.vue.js  4.05 kB │ gzip: 1.61 kB │ map: 1.36 kB
816
- dist/components/PlMultiSequenceAlignment/Consensus.vue2.js  4.14 kB │ gzip: 1.56 kB │ map: 7.22 kB
816
+ dist/components/PlMultiSequenceAlignment/Consensus.vue2.js  4.16 kB │ gzip: 1.58 kB │ map: 7.26 kB
817
817
  dist/lib/ui/uikit/dist/assets/icons/icon-assets-min/24_heatmap.svg.js  4.38 kB │ gzip: 0.99 kB │ map: 4.71 kB
818
818
  dist/lib/ui/uikit/dist/components/PlBtnGhost/PlBtnGhost.vue.js  4.39 kB │ gzip: 1.68 kB │ map: 2.34 kB
819
819
  dist/lib/ui/uikit/dist/composition/useSortable2.js  4.41 kB │ gzip: 1.51 kB │ map: 13.13 kB
@@ -829,8 +829,8 @@ computing gzip size...
829
829
  dist/lib/ui/uikit/dist/components/PlDialogModal/PlDialogModal.vue.js  5.82 kB │ gzip: 2.02 kB │ map: 5.25 kB
830
830
  dist/node_modules/.pnpm/@vueuse_core@13.3.0_vue@3.5.13_typescript@5.5.4_/node_modules/@vueuse/core/index.js  5.94 kB │ gzip: 2.28 kB │ map: 253.62 kB
831
831
  dist/components/PlAgGridColumnManager/PlAgGridColumnManager.vue.js  6.19 kB │ gzip: 2.18 kB │ map: 4.91 kB
832
- dist/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue2.js  6.38 kB │ gzip: 2.02 kB │ map: 9.82 kB
833
832
  dist/components/PlTableFilters/PlTableFilterEntry.vue.js  6.41 kB │ gzip: 1.44 kB │ map: 5.04 kB
833
+ dist/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue2.js  6.46 kB │ gzip: 2.03 kB │ map: 9.89 kB
834
834
  dist/lib/ui/uikit/dist/components/PlLogView/PlLogView.vue.js  6.50 kB │ gzip: 2.32 kB │ map: 5.68 kB
835
835
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/classes/semver.js  6.70 kB │ gzip: 1.86 kB │ map: 15.20 kB
836
836
  dist/lib/ui/uikit/dist/components/PlTextArea/PlTextArea.vue.js  6.71 kB │ gzip: 2.37 kB │ map: 5.76 kB
@@ -841,13 +841,13 @@ computing gzip size...
841
841
  dist/components/PlAgDataTable/sources/table-source-v2.js  7.17 kB │ gzip: 2.62 kB │ map: 20.17 kB
842
842
  dist/node_modules/.pnpm/semver@7.7.2/node_modules/semver/classes/range.js  7.70 kB │ gzip: 2.49 kB │ map: 25.67 kB
843
843
  dist/lib/ui/uikit/dist/lib/util/helpers/dist/index.js  7.87 kB │ gzip: 2.90 kB │ map: 39.99 kB
844
- dist/components/PlMultiSequenceAlignment/data.js  8.21 kB │ gzip: 2.59 kB │ map: 22.37 kB
844
+ dist/components/PlMultiSequenceAlignment/data.js  8.29 kB │ gzip: 2.65 kB │ map: 23.02 kB
845
845
  dist/lib/ui/uikit/dist/components/SliderRangeTriple.vue.js  8.52 kB │ gzip: 2.46 kB │ map: 15.56 kB
846
846
  dist/lib/ui/uikit/dist/components/PlTextField/PlTextField.vue.js  8.71 kB │ gzip: 2.89 kB │ map: 8.77 kB
847
847
  dist/lib/ui/uikit/dist/components/PlFileDialog/Remote.vue.js  8.72 kB │ gzip: 2.80 kB │ map: 14.28 kB
848
848
  dist/lib/ui/uikit/dist/node_modules/.pnpm/d3-color@3.1.0/node_modules/d3-color/src/color.js  9.19 kB │ gzip: 3.33 kB │ map: 22.02 kB
849
849
  dist/components/PlTableFilters/filters_logic.js  9.32 kB │ gzip: 2.11 kB │ map: 19.05 kB
850
- dist/lib/ui/uikit/dist/components/PlElementList/PlElementList.vue2.js  9.64 kB │ gzip: 2.56 kB │ map: 17.64 kB
850
+ dist/lib/ui/uikit/dist/components/PlElementList/PlElementList.vue2.js  10.13 kB │ gzip: 2.58 kB │ map: 19.02 kB
851
851
  dist/lib/ui/uikit/dist/components/PlNumberField/PlNumberField.vue.js  10.21 kB │ gzip: 3.25 kB │ map: 13.09 kB
852
852
  dist/lib/ui/uikit/dist/components/PlFileInput/PlFileInput.vue.js  10.76 kB │ gzip: 3.37 kB │ map: 8.09 kB
853
853
  dist/lib/ui/uikit/dist/demo-site-data/all-css-variables.js  11.00 kB │ gzip: 1.76 kB │ map: 18.24 kB
@@ -876,4 +876,4 @@ computing gzip size...
876
876
  dist/lib/ui/uikit/dist/index.js 497.54 kB │ gzip: 191.69 kB │ map: 0.18 kB
877
877
  dist/lib/ui/uikit/dist/components/PlSlideModal/PlSlideModal.vue.js 601.36 kB │ gzip: 204.40 kB │ map: 0.23 kB
878
878
  dist/lib/ui/uikit/dist/components/DataTable/TableComponent.vue.js 602.69 kB │ gzip: 204.99 kB │ map: 0.27 kB
879
- ✓ built in 9.82s
879
+ ✓ built in 9.07s
@@ -1,5 +1,5 @@
1
1
   WARN  Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-sdk/ui-vue@1.37.11 type-check /home/runner/_work/platforma/platforma/sdk/ui-vue
3
+ > @platforma-sdk/ui-vue@1.37.13 type-check /home/runner/_work/platforma/platforma/sdk/ui-vue
4
4
  > vue-tsc --noEmit --project ./tsconfig.json
5
5
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @platforma-sdk/ui-vue
2
2
 
3
+ ## 1.37.13
4
+
5
+ ### Patch Changes
6
+
7
+ - eb52553: MSA: show multiple sequence columns separately
8
+
9
+ ## 1.37.12
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies [70eff11]
14
+ - @milaboratories/uikit@2.2.95
15
+
3
16
  ## 1.37.11
4
17
 
5
18
  ### Patch Changes
@@ -9,21 +9,21 @@ const P = /* @__PURE__ */ g({
9
9
  residueCounts: {}
10
10
  },
11
11
  setup(l) {
12
- const u = E("plotEl"), r = k();
13
- G(u, ([{ contentRect: { width: e, height: t } }]) => {
14
- r.value = { width: e, height: t };
12
+ const r = E("plotEl"), a = k();
13
+ G(r, ([{ contentRect: { width: e, height: t } }]) => {
14
+ a.value = { width: e, height: t };
15
15
  });
16
16
  const v = m(() => l.residueCounts.map((e) => {
17
17
  let t = 0, o = { label: "", count: 0 };
18
- for (const [a, s] of Object.entries(e))
19
- t += s, a !== "-" && s > o.count && (o = { label: a, count: s });
18
+ for (const [s, u] of Object.entries(e))
19
+ t += u, s !== "-" && u > o.count && (o = { label: s, count: u });
20
20
  const f = CSS.percent(o.count / t * 100);
21
21
  return {
22
22
  label: o.label,
23
23
  color: `color-mix(in oklab, ${f} #3056AE, #C1CDE9)`
24
24
  };
25
25
  })), c = m(() => {
26
- if (r.value)
26
+ if (a.value)
27
27
  return {
28
28
  type: "discrete",
29
29
  y: {
@@ -46,7 +46,7 @@ const P = /* @__PURE__ */ g({
46
46
  height: "max",
47
47
  aes: {
48
48
  ...l.residueCounts.length && {
49
- width: (r.value.width - l.residueCounts.length + 1) / l.residueCounts.length
49
+ width: (a.value.width - l.residueCounts.length + 1) / l.residueCounts.length
50
50
  },
51
51
  fillColor: {
52
52
  type: "primaryGrouping"
@@ -59,7 +59,7 @@ const P = /* @__PURE__ */ g({
59
59
  show: !1
60
60
  },
61
61
  size: {
62
- width: r.value.width,
62
+ width: a.value.width,
63
63
  height: 60,
64
64
  outerOffset: 0,
65
65
  innerOffset: 0
@@ -84,8 +84,8 @@ const P = /* @__PURE__ */ g({
84
84
  () => {
85
85
  const e = [], t = [];
86
86
  for (const [o, f] of l.residueCounts.entries())
87
- for (const [a, s] of Object.entries(f))
88
- a !== "-" && (e.push(s), t.push(o));
87
+ for (const [s, u] of Object.entries(f))
88
+ s !== "-" && (e.push(s === " " ? 0 : u), t.push(o));
89
89
  return {
90
90
  type: "columns",
91
91
  id: "consensus",
@@ -94,7 +94,7 @@ const P = /* @__PURE__ */ g({
94
94
  }
95
95
  ), n = x(), { miplots: y, error: C } = K();
96
96
  return O(async () => {
97
- !c.value || !u.value || !y.value || (n.value ? n.value.updateSettingsAndData(h.value, c.value) : (n.value = y.value.newPlot(h.value, c.value), n.value.mount(u.value)));
97
+ !c.value || !r.value || !y.value || (n.value ? n.value.updateSettingsAndData(h.value, c.value) : (n.value = y.value.newPlot(h.value, c.value), n.value.mount(r.value)));
98
98
  }), A(() => {
99
99
  var e;
100
100
  (e = n.value) == null || e.unmount();
@@ -109,7 +109,7 @@ const P = /* @__PURE__ */ g({
109
109
  }, [
110
110
  d("div", {
111
111
  ref_key: "plotEl",
112
- ref: u,
112
+ ref: r,
113
113
  class: i(e.$style.plot)
114
114
  }, null, 2),
115
115
  p(C) ? (b(), R(p(N), {
@@ -1 +1 @@
1
- {"version":3,"file":"Consensus.vue2.js","sources":["../../../src/components/PlMultiSequenceAlignment/Consensus.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type {\n ChartInterface,\n DataByColumns,\n Settings,\n} from '@milaboratories/miplots4';\nimport { PlAlert } from '@milaboratories/uikit';\nimport { useResizeObserver } from '@vueuse/core';\nimport {\n computed,\n onBeforeUnmount,\n ref,\n shallowRef,\n useTemplateRef,\n watchEffect,\n} from 'vue';\nimport type { ResidueCounts } from './types';\nimport { useMiPlots } from './useMiPlots';\n\nconst { residueCounts } = defineProps<{\n residueCounts: ResidueCounts;\n}>();\n\nconst plotEl = useTemplateRef('plotEl');\n\nconst size = ref<{ width: number; height: number }>();\n\nuseResizeObserver(plotEl, ([{ contentRect: { width, height } }]) => {\n size.value = { width, height };\n});\n\nconst columns = computed(() => {\n return residueCounts.map((column) => {\n let totalCount = 0;\n let topResidue = { label: '', count: 0 };\n for (const [residue, count] of Object.entries(column)) {\n totalCount += count;\n if (residue === '-') continue;\n if (count > topResidue.count) topResidue = { label: residue, count };\n }\n const confidence = CSS.percent(topResidue.count / totalCount * 100);\n return {\n label: topResidue.label,\n color: `color-mix(in oklab, ${confidence} #3056AE, #C1CDE9)`,\n };\n });\n});\n\nconst settings = computed<Settings | undefined>(() => {\n if (!size.value) return;\n return ({\n type: 'discrete',\n y: {\n type: 'column',\n value: 'countKey',\n },\n legend: { show: false },\n primaryGrouping: {\n columnName: {\n type: 'column',\n value: 'columnKey',\n },\n order: residueCounts.map((_, i) => i),\n inheritedAes: Object.fromEntries(\n columns.value.map(({ color }) => ({ fillColor: color })).entries(),\n ),\n },\n layers: [{\n type: 'bar',\n height: 'max',\n aes: {\n ...residueCounts.length && {\n width: (size.value.width - residueCounts.length + 1)\n / residueCounts.length,\n },\n fillColor: {\n type: 'primaryGrouping',\n },\n lineColor: '#ffffff',\n },\n }],\n title: {\n name: '',\n show: false,\n },\n size: {\n width: size.value.width,\n height: 60,\n outerOffset: 0,\n innerOffset: 0,\n },\n xAxis: {\n title: '',\n showGrid: false,\n showTicks: false,\n hiddenLabels: true,\n },\n yAxis: {\n title: '',\n showGrid: false,\n showTicks: false,\n hiddenLabels: true,\n },\n frame: {\n type: 'empty',\n },\n });\n});\n\nconst data = computed<DataByColumns>(\n () => {\n const countKey: number[] = [];\n const columnKey: number[] = [];\n for (const [columnIndex, column] of residueCounts.entries()) {\n for (const [residue, count] of Object.entries(column)) {\n if (residue === '-') continue;\n countKey.push(count);\n columnKey.push(columnIndex);\n }\n }\n return ({\n type: 'columns',\n id: 'consensus',\n values: { countKey, columnKey },\n });\n },\n);\n\nconst plot = shallowRef<ChartInterface>();\n\nconst { miplots, error } = useMiPlots();\n\nwatchEffect(async () => {\n if (!settings.value || !plotEl.value || !miplots.value) return;\n if (!plot.value) {\n plot.value = miplots.value.newPlot(data.value, settings.value);\n plot.value.mount(plotEl.value);\n } else {\n plot.value.updateSettingsAndData(data.value, settings.value);\n }\n});\n\nonBeforeUnmount(() => {\n plot.value?.unmount();\n});\n</script>\n\n<template>\n <div :class=\"$style.container\">\n <div :class=\"$style.labels\">\n {{ columns.map(column => column.label).join('') }}\n </div>\n <div :class=\"$style['plot-container']\">\n <div ref=\"plotEl\" :class=\"$style.plot\" />\n <PlAlert v-if=\"error\" type=\"error\">\n {{ error.message }}\n </PlAlert>\n </div>\n </div>\n</template>\n\n<style module>\n.container {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.labels {\n font-family: Spline Sans Mono;\n font-weight: 600;\n line-height: 24px;\n letter-spacing: 11.6px;\n text-indent: 5.8px;\n margin-inline-end: -5.8px;\n}\n\n.plot-container {\n position: relative;\n block-size: 60px;\n}\n\n.plot {\n position: absolute;\n inset: 0;\n}\n</style>\n"],"names":["plotEl","useTemplateRef","size","ref","useResizeObserver","width","height","columns","computed","__props","column","totalCount","topResidue","residue","count","confidence","settings","_","i","color","data","countKey","columnKey","columnIndex","plot","shallowRef","miplots","error","useMiPlots","watchEffect","onBeforeUnmount","_a"],"mappings":"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"}
1
+ {"version":3,"file":"Consensus.vue2.js","sources":["../../../src/components/PlMultiSequenceAlignment/Consensus.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type {\n ChartInterface,\n DataByColumns,\n Settings,\n} from '@milaboratories/miplots4';\nimport { PlAlert } from '@milaboratories/uikit';\nimport { useResizeObserver } from '@vueuse/core';\nimport {\n computed,\n onBeforeUnmount,\n ref,\n shallowRef,\n useTemplateRef,\n watchEffect,\n} from 'vue';\nimport type { ResidueCounts } from './types';\nimport { useMiPlots } from './useMiPlots';\n\nconst { residueCounts } = defineProps<{\n residueCounts: ResidueCounts;\n}>();\n\nconst plotEl = useTemplateRef('plotEl');\n\nconst size = ref<{ width: number; height: number }>();\n\nuseResizeObserver(plotEl, ([{ contentRect: { width, height } }]) => {\n size.value = { width, height };\n});\n\nconst columns = computed(() => {\n return residueCounts.map((column) => {\n let totalCount = 0;\n let topResidue = { label: '', count: 0 };\n for (const [residue, count] of Object.entries(column)) {\n totalCount += count;\n if (residue === '-') continue;\n if (count > topResidue.count) topResidue = { label: residue, count };\n }\n const confidence = CSS.percent(topResidue.count / totalCount * 100);\n return {\n label: topResidue.label,\n color: `color-mix(in oklab, ${confidence} #3056AE, #C1CDE9)`,\n };\n });\n});\n\nconst settings = computed<Settings | undefined>(() => {\n if (!size.value) return;\n return ({\n type: 'discrete',\n y: {\n type: 'column',\n value: 'countKey',\n },\n legend: { show: false },\n primaryGrouping: {\n columnName: {\n type: 'column',\n value: 'columnKey',\n },\n order: residueCounts.map((_, i) => i),\n inheritedAes: Object.fromEntries(\n columns.value.map(({ color }) => ({ fillColor: color })).entries(),\n ),\n },\n layers: [{\n type: 'bar',\n height: 'max',\n aes: {\n ...residueCounts.length && {\n width: (size.value.width - residueCounts.length + 1)\n / residueCounts.length,\n },\n fillColor: {\n type: 'primaryGrouping',\n },\n lineColor: '#ffffff',\n },\n }],\n title: {\n name: '',\n show: false,\n },\n size: {\n width: size.value.width,\n height: 60,\n outerOffset: 0,\n innerOffset: 0,\n },\n xAxis: {\n title: '',\n showGrid: false,\n showTicks: false,\n hiddenLabels: true,\n },\n yAxis: {\n title: '',\n showGrid: false,\n showTicks: false,\n hiddenLabels: true,\n },\n frame: {\n type: 'empty',\n },\n });\n});\n\nconst data = computed<DataByColumns>(\n () => {\n const countKey: number[] = [];\n const columnKey: number[] = [];\n for (const [columnIndex, column] of residueCounts.entries()) {\n for (const [residue, count] of Object.entries(column)) {\n if (residue === '-') continue;\n countKey.push(residue === ' ' ? 0 : count);\n columnKey.push(columnIndex);\n }\n }\n return ({\n type: 'columns',\n id: 'consensus',\n values: { countKey, columnKey },\n });\n },\n);\n\nconst plot = shallowRef<ChartInterface>();\n\nconst { miplots, error } = useMiPlots();\n\nwatchEffect(async () => {\n if (!settings.value || !plotEl.value || !miplots.value) return;\n if (!plot.value) {\n plot.value = miplots.value.newPlot(data.value, settings.value);\n plot.value.mount(plotEl.value);\n } else {\n plot.value.updateSettingsAndData(data.value, settings.value);\n }\n});\n\nonBeforeUnmount(() => {\n plot.value?.unmount();\n});\n</script>\n\n<template>\n <div :class=\"$style.container\">\n <div :class=\"$style.labels\">\n {{ columns.map(column => column.label).join('') }}\n </div>\n <div :class=\"$style['plot-container']\">\n <div ref=\"plotEl\" :class=\"$style.plot\" />\n <PlAlert v-if=\"error\" type=\"error\">\n {{ error.message }}\n </PlAlert>\n </div>\n </div>\n</template>\n\n<style module>\n.container {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.labels {\n font-family: Spline Sans Mono;\n font-weight: 600;\n line-height: 24px;\n letter-spacing: 11.6px;\n text-indent: 5.8px;\n margin-inline-end: -5.8px;\n}\n\n.plot-container {\n position: relative;\n block-size: 60px;\n}\n\n.plot {\n position: absolute;\n inset: 0;\n}\n</style>\n"],"names":["plotEl","useTemplateRef","size","ref","useResizeObserver","width","height","columns","computed","__props","column","totalCount","topResidue","residue","count","confidence","settings","_","i","color","data","countKey","columnKey","columnIndex","plot","shallowRef","miplots","error","useMiPlots","watchEffect","onBeforeUnmount","_a"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Markup } from './markup';
2
2
  import { ColorScheme } from './types';
3
3
  type __VLS_Props = {
4
+ sequenceNames: string[];
4
5
  sequenceRows: string[][];
5
6
  labelRows: string[][];
6
7
  markup: {
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSequenceAlignmentView.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue"],"names":[],"mappings":"AA4JA,OAAO,EAA6B,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;IACtB,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,GAAG,SAAS,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;;AAwIF,wBAOG"}
1
+ {"version":3,"file":"MultiSequenceAlignmentView.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue"],"names":[],"mappings":"AA+KA,OAAO,EAA6B,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,KAAK,WAAW,GAAG;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;IACtB,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,EAAE,MAAM,EAAE,CAAC;KAChB,GAAG,SAAS,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;;AAwJF,wBAOG"}
@@ -1,13 +1,14 @@
1
- import { defineComponent as w, useCssVars as S, computed as d, createElementBlock as r, openBlock as o, normalizeClass as s, createElementVNode as t, createBlock as h, createCommentVNode as v, Fragment as u, renderList as p, normalizeStyle as b, toDisplayString as C } from "vue";
2
- import { asyncComputed as B, useObjectUrl as R } from "../../node_modules/.pnpm/@vueuse_core@13.3.0_vue@3.5.13_typescript@5.5.4_/node_modules/@vueuse/core/index.js";
3
- import { colorizeSequencesByChemicalProperties as $, chemicalPropertiesColorMap as M } from "./chemical-properties.js";
4
- import z from "./Consensus.vue.js";
5
- import { colorizeSequencesByMarkup as L } from "./markup.js";
1
+ import { defineComponent as $, useCssVars as B, computed as p, createElementBlock as s, openBlock as o, normalizeClass as t, createElementVNode as i, createCommentVNode as y, createBlock as v, Fragment as a, renderList as m, normalizeStyle as q, toDisplayString as h } from "vue";
2
+ import { asyncComputed as R, useObjectUrl as b } from "../../node_modules/.pnpm/@vueuse_core@13.3.0_vue@3.5.13_typescript@5.5.4_/node_modules/@vueuse/core/index.js";
3
+ import { colorizeSequencesByChemicalProperties as z, chemicalPropertiesColorMap as L } from "./chemical-properties.js";
4
+ import M from "./Consensus.vue.js";
5
+ import { colorizeSequencesByMarkup as N } from "./markup.js";
6
6
  import { getResidueCounts as V } from "./residue-counts.js";
7
7
  import j from "./SeqLogo.vue.js";
8
- const F = /* @__PURE__ */ w({
8
+ const O = /* @__PURE__ */ $({
9
9
  __name: "MultiSequenceAlignmentView",
10
10
  props: {
11
+ sequenceNames: {},
11
12
  sequenceRows: {},
12
13
  labelRows: {},
13
14
  markup: {},
@@ -16,73 +17,85 @@ const F = /* @__PURE__ */ w({
16
17
  seqLogo: { type: Boolean }
17
18
  },
18
19
  setup(l) {
19
- S((e) => ({
20
- e34cbd12: k.value
20
+ B((e) => ({
21
+ "6c434620": k.value
21
22
  }));
22
- const n = d(
23
- () => l.sequenceRows.map((e) => e.join(""))
24
- ), c = d(
25
- () => V(n.value)
26
- ), g = B(() => {
27
- var e, a;
23
+ const c = p(
24
+ () => l.sequenceRows.map((e) => e.join(" "))
25
+ ), d = p(
26
+ () => V(c.value)
27
+ ), C = R(() => {
28
+ var e, r;
28
29
  switch (l.colorScheme.type) {
29
30
  case "no-color":
30
31
  return;
31
32
  case "chemical-properties":
32
- return $({
33
- sequences: n.value,
34
- residueCounts: c.value,
35
- colorMap: M
33
+ return z({
34
+ sequences: c.value,
35
+ residueCounts: d.value,
36
+ colorMap: L
36
37
  });
37
38
  case "markup":
38
- return L({
39
+ return N({
39
40
  markupRows: ((e = l.markup) == null ? void 0 : e.data) ?? [],
40
41
  colorMap: l.colorScheme.colors,
41
- columnCount: ((a = n.value) == null ? void 0 : a[0].length) ?? 0
42
+ columnCount: ((r = c.value) == null ? void 0 : r[0].length) ?? 0
42
43
  });
43
44
  default:
44
45
  throw new Error(`Unknown color scheme: ${l.colorScheme.type}`);
45
46
  }
46
- }), y = R(g), k = d(
47
- () => y.value ? `url('${y.value}')` : "none"
47
+ }), g = b(C), k = p(
48
+ () => g.value ? `url('${g.value}')` : "none"
48
49
  );
49
- return (e, a) => (o(), r("div", {
50
- class: s(["pl-scrollable", e.$style.root])
50
+ function f(e) {
51
+ var r, n;
52
+ return ((n = (r = l.sequenceRows.at(0)) == null ? void 0 : r.at(e)) == null ? void 0 : n.length) ?? 0;
53
+ }
54
+ return (e, r) => (o(), s("div", {
55
+ class: t(["pl-scrollable", e.$style.root])
51
56
  }, [
52
- t("div", {
53
- class: s(e.$style.corner)
57
+ i("div", {
58
+ class: t(e.$style.corner)
54
59
  }, null, 2),
55
- t("div", {
56
- class: s(e.$style.header)
60
+ i("div", {
61
+ class: t(e.$style.header)
57
62
  }, [
58
- e.consensus ? (o(), h(z, {
63
+ e.sequenceNames.length > 1 ? (o(), s("div", {
59
64
  key: 0,
60
- residueCounts: c.value
61
- }, null, 8, ["residueCounts"])) : v("", !0),
62
- e.seqLogo ? (o(), h(j, {
65
+ class: t(e.$style["sequence-names"])
66
+ }, [
67
+ (o(!0), s(a, null, m(e.sequenceNames, (n, u) => (o(), s("span", {
68
+ style: q({ inlineSize: `calc(${f(u)} * 20px)` })
69
+ }, h(n), 5))), 256))
70
+ ], 2)) : y("", !0),
71
+ e.consensus ? (o(), v(M, {
63
72
  key: 1,
64
- residueCounts: c.value
65
- }, null, 8, ["residueCounts"])) : v("", !0)
73
+ residueCounts: d.value
74
+ }, null, 8, ["residueCounts"])) : y("", !0),
75
+ e.seqLogo ? (o(), v(j, {
76
+ key: 2,
77
+ residueCounts: d.value
78
+ }, null, 8, ["residueCounts"])) : y("", !0)
66
79
  ], 2),
67
- t("div", {
68
- class: s(e.$style.labels)
80
+ i("div", {
81
+ class: t(e.$style.labels)
69
82
  }, [
70
- (o(!0), r(u, null, p(e.labelRows, (i, m) => (o(), r(u, null, [
71
- (o(!0), r(u, null, p(i, (f, q) => (o(), r("div", {
72
- key: q,
73
- style: b({ gridRow: m + 1 })
74
- }, C(f), 5))), 128))
83
+ (o(!0), s(a, null, m(e.labelRows, (n, u) => (o(), s(a, null, [
84
+ (o(!0), s(a, null, m(n, (w, S) => (o(), s("div", {
85
+ key: S,
86
+ style: q({ gridRow: u + 1 })
87
+ }, h(w), 5))), 128))
75
88
  ], 64))), 256))
76
89
  ], 2),
77
- t("div", {
78
- class: s(e.$style.sequences)
90
+ i("div", {
91
+ class: t(e.$style.sequences)
79
92
  }, [
80
- (o(!0), r(u, null, p(n.value, (i, m) => (o(), r("div", { key: m }, C(i), 1))), 128))
93
+ (o(!0), s(a, null, m(c.value, (n, u) => (o(), s("div", { key: u }, h(n), 1))), 128))
81
94
  ], 2)
82
95
  ], 2));
83
96
  }
84
97
  });
85
98
  export {
86
- F as default
99
+ O as default
87
100
  };
88
101
  //# sourceMappingURL=MultiSequenceAlignmentView.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSequenceAlignmentView.vue2.js","sources":["../../../src/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computedAsync, useObjectUrl } from '@vueuse/core';\nimport { computed } from 'vue';\nimport {\n chemicalPropertiesColorMap,\n colorizeSequencesByChemicalProperties,\n} from './chemical-properties';\nimport Consensus from './Consensus.vue';\nimport { colorizeSequencesByMarkup, type Markup } from './markup';\nimport { getResidueCounts } from './residue-counts';\nimport SeqLogo from './SeqLogo.vue';\nimport type { ColorScheme } from './types';\n\nconst { sequenceRows, labelRows, markup, colorScheme } = defineProps<{\n sequenceRows: string[][];\n labelRows: string[][];\n markup: {\n labels: Record<string, string>;\n data: Markup[];\n } | undefined;\n colorScheme: ColorScheme;\n consensus: boolean;\n seqLogo: boolean;\n}>();\n\nconst concatenatedSequences = computed(() =>\n sequenceRows.map((row) => row.join('')),\n);\n\nconst residueCounts = computed(\n () => getResidueCounts(concatenatedSequences.value),\n);\n\nconst highlightImageBlob = computedAsync(() => {\n switch (colorScheme.type) {\n case 'no-color':\n return;\n case 'chemical-properties':\n return colorizeSequencesByChemicalProperties({\n sequences: concatenatedSequences.value,\n residueCounts: residueCounts.value,\n colorMap: chemicalPropertiesColorMap,\n });\n case 'markup':\n return colorizeSequencesByMarkup({\n markupRows: markup?.data ?? [],\n colorMap: colorScheme.colors,\n columnCount: concatenatedSequences.value?.[0].length ?? 0,\n });\n default:\n throw new Error(`Unknown color scheme: ${colorScheme.type}`);\n }\n});\n\nconst objectUrl = useObjectUrl(highlightImageBlob);\n\nconst highlightImage = computed(\n () => objectUrl.value ? `url('${objectUrl.value}')` : 'none',\n);\n</script>\n\n<template>\n <div :class=\"['pl-scrollable', $style.root]\">\n <div :class=\"$style.corner\" />\n <div :class=\"$style.header\">\n <Consensus v-if=\"consensus\" :residueCounts />\n <SeqLogo v-if=\"seqLogo\" :residueCounts />\n </div>\n <div :class=\"$style.labels\">\n <template v-for=\"(labelRow, rowIndex) of labelRows\">\n <div\n v-for=\"(label, labelIndex) of labelRow\"\n :key=\"labelIndex\"\n :style=\"{ gridRow: rowIndex + 1 }\"\n >\n {{ label }}\n </div>\n </template>\n </div>\n <div :class=\"$style.sequences\">\n <div\n v-for=\"(sequence, sequenceIndex) of concatenatedSequences\"\n :key=\"sequenceIndex\"\n >\n {{ sequence }}\n </div>\n </div>\n </div>\n</template>\n\n<style module>\n.root {\n display: grid;\n grid-template-areas:\n \"corner header\"\n \"labels sequences\";\n text-wrap: nowrap;\n justify-content: start;\n}\n\n.corner {\n grid-area: corner;\n background-color: white;\n position: sticky;\n inset-inline-start: 0;\n inset-block-start: 0;\n z-index: 2;\n}\n\n.header {\n grid-area: header;\n padding-inline-end: 6px;\n background-color: white;\n position: sticky;\n inset-block-start: 0;\n z-index: 1;\n}\n\n.labels {\n grid-area: labels;\n display: grid;\n grid-auto-flow: dense;\n column-gap: 12px;\n background-color: white;\n position: sticky;\n inset-inline-start: 0;\n z-index: 1;\n padding-inline-end: 12px;\n font-family: Spline Sans Mono;\n line-height: 24px;\n}\n\n.sequences {\n grid-area: sequences;\n display: flex;\n flex-direction: column;\n font-family: Spline Sans Mono;\n font-weight: 600;\n line-height: 24px;\n letter-spacing: 11.6px;\n text-indent: 5.8px;\n background-image: v-bind(highlightImage);\n background-repeat: no-repeat;\n background-size: calc(100% - 5.8px) 100%;\n image-rendering: pixelated;\n}\n</style>\n"],"names":["concatenatedSequences","computed","__props","row","residueCounts","getResidueCounts","highlightImageBlob","computedAsync","colorizeSequencesByChemicalProperties","chemicalPropertiesColorMap","colorizeSequencesByMarkup","_a","_b","objectUrl","useObjectUrl","highlightImage"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAyBA,UAAMA,IAAwBC;AAAA,MAAS,MACrCC,EAAA,aAAa,IAAI,CAACC,MAAQA,EAAI,KAAK,EAAE,CAAC;AAAA,IACxC,GAEMC,IAAgBH;AAAA,MACpB,MAAMI,EAAiBL,EAAsB,KAAK;AAAA,IACpD,GAEMM,IAAqBC,EAAc,MAAM;;AACrC,cAAAL,EAAA,YAAY,MAAM;AAAA,QACxB,KAAK;AACH;AAAA,QACF,KAAK;AACH,iBAAOM,EAAsC;AAAA,YAC3C,WAAWR,EAAsB;AAAA,YACjC,eAAeI,EAAc;AAAA,YAC7B,UAAUK;AAAA,UAAA,CACX;AAAA,QACH,KAAK;AACH,iBAAOC,EAA0B;AAAA,YAC/B,cAAYC,IAAAT,EAAM,WAAN,gBAAAS,EAAQ,SAAQ,CAAC;AAAA,YAC7B,UAAUT,EAAW,YAAC;AAAA,YACtB,eAAaU,IAAAZ,EAAsB,UAAtB,gBAAAY,EAA8B,GAAG,WAAU;AAAA,UAAA,CACzD;AAAA,QACH;AACE,gBAAM,IAAI,MAAM,yBAAyBV,EAAW,YAAC,IAAI,EAAE;AAAA,MAAA;AAAA,IAC/D,CACD,GAEKW,IAAYC,EAAaR,CAAkB,GAE3CS,IAAiBd;AAAA,MACrB,MAAMY,EAAU,QAAQ,QAAQA,EAAU,KAAK,OAAO;AAAA,IACxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"MultiSequenceAlignmentView.vue2.js","sources":["../../../src/components/PlMultiSequenceAlignment/MultiSequenceAlignmentView.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computedAsync, useObjectUrl } from '@vueuse/core';\nimport { computed } from 'vue';\nimport {\n chemicalPropertiesColorMap,\n colorizeSequencesByChemicalProperties,\n} from './chemical-properties';\nimport Consensus from './Consensus.vue';\nimport { colorizeSequencesByMarkup, type Markup } from './markup';\nimport { getResidueCounts } from './residue-counts';\nimport SeqLogo from './SeqLogo.vue';\nimport type { ColorScheme } from './types';\n\nconst { sequenceRows, labelRows, markup, colorScheme } = defineProps<{\n sequenceNames: string[];\n sequenceRows: string[][];\n labelRows: string[][];\n markup: {\n labels: Record<string, string>;\n data: Markup[];\n } | undefined;\n colorScheme: ColorScheme;\n consensus: boolean;\n seqLogo: boolean;\n}>();\n\nconst concatenatedSequences = computed(() =>\n sequenceRows.map((row) => row.join(' ')),\n);\n\nconst residueCounts = computed(\n () => getResidueCounts(concatenatedSequences.value),\n);\n\nconst highlightImageBlob = computedAsync(() => {\n switch (colorScheme.type) {\n case 'no-color':\n return;\n case 'chemical-properties':\n return colorizeSequencesByChemicalProperties({\n sequences: concatenatedSequences.value,\n residueCounts: residueCounts.value,\n colorMap: chemicalPropertiesColorMap,\n });\n case 'markup':\n return colorizeSequencesByMarkup({\n markupRows: markup?.data ?? [],\n colorMap: colorScheme.colors,\n columnCount: concatenatedSequences.value?.[0].length ?? 0,\n });\n default:\n throw new Error(`Unknown color scheme: ${colorScheme.type}`);\n }\n});\n\nconst objectUrl = useObjectUrl(highlightImageBlob);\n\nconst highlightImage = computed(\n () => objectUrl.value ? `url('${objectUrl.value}')` : 'none',\n);\n\nfunction sequenceLength(index: number) {\n return sequenceRows.at(0)?.at(index)?.length ?? 0;\n}\n</script>\n\n<template>\n <div :class=\"['pl-scrollable', $style.root]\">\n <div :class=\"$style.corner\" />\n <div :class=\"$style.header\">\n <div v-if=\"sequenceNames.length > 1\" :class=\"$style['sequence-names']\">\n <span\n v-for=\"(name, index) of sequenceNames\"\n :style=\"{ inlineSize: `calc(${sequenceLength(index)} * 20px)` }\"\n >{{ name }}</span>\n </div>\n <Consensus v-if=\"consensus\" :residueCounts />\n <SeqLogo v-if=\"seqLogo\" :residueCounts />\n </div>\n <div :class=\"$style.labels\">\n <template v-for=\"(labelRow, rowIndex) of labelRows\">\n <div\n v-for=\"(label, labelIndex) of labelRow\"\n :key=\"labelIndex\"\n :style=\"{ gridRow: rowIndex + 1 }\"\n >\n {{ label }}\n </div>\n </template>\n </div>\n <div :class=\"$style.sequences\">\n <div\n v-for=\"(sequence, sequenceIndex) of concatenatedSequences\"\n :key=\"sequenceIndex\"\n >\n {{ sequence }}\n </div>\n </div>\n </div>\n</template>\n\n<style module>\n.root {\n display: grid;\n grid-template-areas:\n \"corner header\"\n \"labels sequences\";\n text-wrap: nowrap;\n justify-content: start;\n}\n\n.corner {\n grid-area: corner;\n background-color: white;\n position: sticky;\n inset-inline-start: 0;\n inset-block-start: 0;\n z-index: 2;\n}\n\n.header {\n grid-area: header;\n padding-inline-end: 6px;\n background-color: white;\n position: sticky;\n inset-block-start: 0;\n z-index: 1;\n}\n\n.sequence-names {\n display: flex;\n font-weight: 700;\n line-height: 20px;\n margin-block-end: 4px;\n gap: 20px;\n}\n\n.labels {\n grid-area: labels;\n display: grid;\n grid-auto-flow: dense;\n column-gap: 12px;\n background-color: white;\n position: sticky;\n inset-inline-start: 0;\n z-index: 1;\n padding-inline-end: 12px;\n font-family: Spline Sans Mono;\n line-height: 24px;\n}\n\n.sequences {\n grid-area: sequences;\n display: flex;\n flex-direction: column;\n font-family: Spline Sans Mono;\n font-weight: 600;\n line-height: 24px;\n letter-spacing: 11.6px;\n text-indent: 5.8px;\n background-image: v-bind(highlightImage);\n background-repeat: no-repeat;\n background-size: calc(100% - 5.8px) 100%;\n image-rendering: pixelated;\n}\n</style>\n"],"names":["concatenatedSequences","computed","__props","row","residueCounts","getResidueCounts","highlightImageBlob","computedAsync","colorizeSequencesByChemicalProperties","chemicalPropertiesColorMap","colorizeSequencesByMarkup","_a","_b","objectUrl","useObjectUrl","highlightImage","sequenceLength","index"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA0BA,UAAMA,IAAwBC;AAAA,MAAS,MACrCC,EAAA,aAAa,IAAI,CAACC,MAAQA,EAAI,KAAK,GAAG,CAAC;AAAA,IACzC,GAEMC,IAAgBH;AAAA,MACpB,MAAMI,EAAiBL,EAAsB,KAAK;AAAA,IACpD,GAEMM,IAAqBC,EAAc,MAAM;;AACrC,cAAAL,EAAA,YAAY,MAAM;AAAA,QACxB,KAAK;AACH;AAAA,QACF,KAAK;AACH,iBAAOM,EAAsC;AAAA,YAC3C,WAAWR,EAAsB;AAAA,YACjC,eAAeI,EAAc;AAAA,YAC7B,UAAUK;AAAA,UAAA,CACX;AAAA,QACH,KAAK;AACH,iBAAOC,EAA0B;AAAA,YAC/B,cAAYC,IAAAT,EAAM,WAAN,gBAAAS,EAAQ,SAAQ,CAAC;AAAA,YAC7B,UAAUT,EAAW,YAAC;AAAA,YACtB,eAAaU,IAAAZ,EAAsB,UAAtB,gBAAAY,EAA8B,GAAG,WAAU;AAAA,UAAA,CACzD;AAAA,QACH;AACE,gBAAM,IAAI,MAAM,yBAAyBV,EAAW,YAAC,IAAI,EAAE;AAAA,MAAA;AAAA,IAC/D,CACD,GAEKW,IAAYC,EAAaR,CAAkB,GAE3CS,IAAiBd;AAAA,MACrB,MAAMY,EAAU,QAAQ,QAAQA,EAAU,KAAK,OAAO;AAAA,IACxD;AAEA,aAASG,EAAeC,GAAe;;AAC9B,eAAAL,KAAAD,IAAAT,EAAY,aAAC,GAAG,CAAC,MAAjB,gBAAAS,EAAoB,GAAGM,OAAvB,gBAAAL,EAA+B,WAAU;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,17 +1,18 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode('._root_42ytm_2{display:grid;grid-template-areas:"corner header" "labels sequences";text-wrap:nowrap;justify-content:start}._corner_42ytm_11{grid-area:corner;background-color:#fff;position:sticky;inset-inline-start:0;inset-block-start:0;z-index:2}._header_42ytm_20{grid-area:header;padding-inline-end:6px;background-color:#fff;position:sticky;inset-block-start:0;z-index:1}._labels_42ytm_29{grid-area:labels;display:grid;grid-auto-flow:dense;column-gap:12px;background-color:#fff;position:sticky;inset-inline-start:0;z-index:1;padding-inline-end:12px;font-family:Spline Sans Mono;line-height:24px}._sequences_42ytm_43{grid-area:sequences;display:flex;flex-direction:column;font-family:Spline Sans Mono;font-weight:600;line-height:24px;letter-spacing:11.6px;text-indent:5.8px;background-image:var(--e34cbd12);background-repeat:no-repeat;background-size:calc(100% - 5.8px) 100%;image-rendering:pixelated}')),document.head.appendChild(e)}}catch(n){console.error("vite-plugin-css-injected-by-js",n)}})();
2
- const e = "_root_42ytm_2", s = "_corner_42ytm_11", t = "_header_42ytm_20", o = "_labels_42ytm_29", _ = "_sequences_42ytm_43", r = {
1
+ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode('._root_a5ad4_2{display:grid;grid-template-areas:"corner header" "labels sequences";text-wrap:nowrap;justify-content:start}._corner_a5ad4_11{grid-area:corner;background-color:#fff;position:sticky;inset-inline-start:0;inset-block-start:0;z-index:2}._header_a5ad4_20{grid-area:header;padding-inline-end:6px;background-color:#fff;position:sticky;inset-block-start:0;z-index:1}._sequence-names_a5ad4_29{display:flex;font-weight:700;line-height:20px;margin-block-end:4px;gap:20px}._labels_a5ad4_37{grid-area:labels;display:grid;grid-auto-flow:dense;column-gap:12px;background-color:#fff;position:sticky;inset-inline-start:0;z-index:1;padding-inline-end:12px;font-family:Spline Sans Mono;line-height:24px}._sequences_a5ad4_51{grid-area:sequences;display:flex;flex-direction:column;font-family:Spline Sans Mono;font-weight:600;line-height:24px;letter-spacing:11.6px;text-indent:5.8px;background-image:var(--6c434620);background-repeat:no-repeat;background-size:calc(100% - 5.8px) 100%;image-rendering:pixelated}')),document.head.appendChild(e)}}catch(n){console.error("vite-plugin-css-injected-by-js",n)}})();
2
+ const e = "_root_a5ad4_2", a = "_corner_a5ad4_11", s = "_header_a5ad4_20", _ = "_labels_a5ad4_37", n = "_sequences_a5ad4_51", o = {
3
3
  root: e,
4
- corner: s,
5
- header: t,
6
- labels: o,
7
- sequences: _
4
+ corner: a,
5
+ header: s,
6
+ "sequence-names": "_sequence-names_a5ad4_29",
7
+ labels: _,
8
+ sequences: n
8
9
  };
9
10
  export {
10
- s as corner,
11
- r as default,
12
- t as header,
13
- o as labels,
11
+ a as corner,
12
+ o as default,
13
+ s as header,
14
+ _ as labels,
14
15
  e as root,
15
- _ as sequences
16
+ n as sequences
16
17
  };
17
18
  //# sourceMappingURL=MultiSequenceAlignmentView.vue3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSequenceAlignmentView.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
1
+ {"version":3,"file":"MultiSequenceAlignmentView.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlMultiSequenceAlignment.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue"],"names":[],"mappings":"AA4OA,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,6BAA6B,EAC7B,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAwB9B,KAAK,WAAW,GAAG;IACjB;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IAC1C;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,EAAE,gBAAgB,CAAC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;CACvC,CAAC;AAsHF,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,6BAA6B,CAAC;CAC1C,GAAG,WAAW,CAAC;;;;;;AAqLhB,wBAOG"}
1
+ {"version":3,"file":"PlMultiSequenceAlignment.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlMultiSequenceAlignment/PlMultiSequenceAlignment.vue"],"names":[],"mappings":"AA6OA,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,6BAA6B,EAC7B,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAwB9B,KAAK,WAAW,GAAG;IACjB;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IAC1C;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,EAAE,gBAAgB,CAAC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;CACvC,CAAC;AAsHF,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,6BAA6B,CAAC;CAC1C,GAAG,WAAW,CAAC;;;;;;AAuLhB,wBAOG"}