@milaboratories/multi-sequence-alignment 1.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/.turbo/turbo-build.log +52 -0
  2. package/.turbo/turbo-lint.log +12 -0
  3. package/.turbo/turbo-test.log +13 -0
  4. package/.turbo/turbo-type-check.log +6 -0
  5. package/dist/Consensus.vue.d.ts +9 -0
  6. package/dist/Consensus.vue.js +10 -0
  7. package/dist/Consensus.vue.js.map +1 -0
  8. package/dist/Consensus.vue2.js +122 -0
  9. package/dist/Consensus.vue2.js.map +1 -0
  10. package/dist/Consensus.vue3.js +9 -0
  11. package/dist/Consensus.vue3.js.map +1 -0
  12. package/dist/Legend.vue.d.ts +6 -0
  13. package/dist/Legend.vue.js +10 -0
  14. package/dist/Legend.vue.js.map +1 -0
  15. package/dist/Legend.vue2.js +28 -0
  16. package/dist/Legend.vue2.js.map +1 -0
  17. package/dist/Legend.vue3.js +13 -0
  18. package/dist/Legend.vue3.js.map +1 -0
  19. package/dist/MultiSequenceAlignmentView.vue.d.ts +25 -0
  20. package/dist/MultiSequenceAlignmentView.vue.js +10 -0
  21. package/dist/MultiSequenceAlignmentView.vue.js.map +1 -0
  22. package/dist/MultiSequenceAlignmentView.vue2.js +138 -0
  23. package/dist/MultiSequenceAlignmentView.vue2.js.map +1 -0
  24. package/dist/MultiSequenceAlignmentView.vue3.js +31 -0
  25. package/dist/MultiSequenceAlignmentView.vue3.js.map +1 -0
  26. package/dist/PhylogeneticTree.vue.d.ts +8 -0
  27. package/dist/PhylogeneticTree.vue.js +10 -0
  28. package/dist/PhylogeneticTree.vue.js.map +1 -0
  29. package/dist/PhylogeneticTree.vue2.js +77 -0
  30. package/dist/PhylogeneticTree.vue2.js.map +1 -0
  31. package/dist/PhylogeneticTree.vue3.js +9 -0
  32. package/dist/PhylogeneticTree.vue3.js.map +1 -0
  33. package/dist/PlMultiSequenceAlignment.vue.d.ts +71 -0
  34. package/dist/PlMultiSequenceAlignment.vue.js +10 -0
  35. package/dist/PlMultiSequenceAlignment.vue.js.map +1 -0
  36. package/dist/PlMultiSequenceAlignment.vue2.js +224 -0
  37. package/dist/PlMultiSequenceAlignment.vue2.js.map +1 -0
  38. package/dist/PlMultiSequenceAlignment.vue3.js +9 -0
  39. package/dist/PlMultiSequenceAlignment.vue3.js.map +1 -0
  40. package/dist/SeqLogo.vue.d.ts +8 -0
  41. package/dist/SeqLogo.vue.js +10 -0
  42. package/dist/SeqLogo.vue.js.map +1 -0
  43. package/dist/SeqLogo.vue2.js +127 -0
  44. package/dist/SeqLogo.vue2.js.map +1 -0
  45. package/dist/SeqLogo.vue3.js +9 -0
  46. package/dist/SeqLogo.vue3.js.map +1 -0
  47. package/dist/Toolbar.vue.d.ts +16 -0
  48. package/dist/Toolbar.vue.js +10 -0
  49. package/dist/Toolbar.vue.js.map +1 -0
  50. package/dist/Toolbar.vue2.js +228 -0
  51. package/dist/Toolbar.vue2.js.map +1 -0
  52. package/dist/Toolbar.vue3.js +19 -0
  53. package/dist/Toolbar.vue3.js.map +1 -0
  54. package/dist/_virtual/_plugin-vue_export-helper.js +10 -0
  55. package/dist/_virtual/_plugin-vue_export-helper.js.map +1 -0
  56. package/dist/assets/multi-sequence-alignment.worker-Cm0gZp19.js +6 -0
  57. package/dist/assets/multi-sequence-alignment.worker-Cm0gZp19.js.map +1 -0
  58. package/dist/assets/phylogenetic-tree.worker-4CrExYEo.js +5 -0
  59. package/dist/assets/phylogenetic-tree.worker-4CrExYEo.js.map +1 -0
  60. package/dist/cell-size.d.ts +4 -0
  61. package/dist/cell-size.js +8 -0
  62. package/dist/cell-size.js.map +1 -0
  63. package/dist/chemical-properties.d.ts +44 -0
  64. package/dist/chemical-properties.js +132 -0
  65. package/dist/chemical-properties.js.map +1 -0
  66. package/dist/data.d.ts +61 -0
  67. package/dist/data.js +370 -0
  68. package/dist/data.js.map +1 -0
  69. package/dist/index.d.ts +1 -0
  70. package/dist/index.js +6 -0
  71. package/dist/index.js.map +1 -0
  72. package/dist/markup.d.ts +16 -0
  73. package/dist/markup.js +84 -0
  74. package/dist/markup.js.map +1 -0
  75. package/dist/migrations.d.ts +3 -0
  76. package/dist/migrations.js +24 -0
  77. package/dist/migrations.js.map +1 -0
  78. package/dist/multi-sequence-alignment.worker.d.ts +6 -0
  79. package/dist/node_modules/.pnpm/@milaboratories_helpers@1.12.0/node_modules/@milaboratories/helpers/dist/objects.js +33 -0
  80. package/dist/node_modules/.pnpm/@milaboratories_helpers@1.12.0/node_modules/@milaboratories/helpers/dist/objects.js.map +1 -0
  81. package/dist/phylogenetic-tree.worker.d.ts +7 -0
  82. package/dist/residue-counts.d.ts +2 -0
  83. package/dist/residue-counts.js +13 -0
  84. package/dist/residue-counts.js.map +1 -0
  85. package/dist/settings.d.ts +2 -0
  86. package/dist/settings.js +9 -0
  87. package/dist/settings.js.map +1 -0
  88. package/dist/types.d.ts +5 -0
  89. package/dist/useMiPlots.d.ts +4 -0
  90. package/dist/useMiPlots.js +19 -0
  91. package/dist/useMiPlots.js.map +1 -0
  92. package/eslint.config.js +66 -0
  93. package/package.json +45 -0
  94. package/src/Consensus.vue +165 -0
  95. package/src/Legend.vue +44 -0
  96. package/src/MultiSequenceAlignmentView.vue +299 -0
  97. package/src/PhylogeneticTree.vue +110 -0
  98. package/src/PlMultiSequenceAlignment.vue +314 -0
  99. package/src/README.md +216 -0
  100. package/src/SeqLogo.vue +166 -0
  101. package/src/Toolbar.vue +228 -0
  102. package/src/cell-size.ts +4 -0
  103. package/src/chemical-properties.ts +199 -0
  104. package/src/data.ts +661 -0
  105. package/src/index.ts +2 -0
  106. package/src/markup.ts +141 -0
  107. package/src/migrations.ts +46 -0
  108. package/src/multi-sequence-alignment.worker.ts +54 -0
  109. package/src/phylogenetic-tree.worker.ts +89 -0
  110. package/src/residue-counts.ts +124 -0
  111. package/src/settings.ts +7 -0
  112. package/src/types.ts +3 -0
  113. package/src/useMiPlots.ts +23 -0
  114. package/tsconfig.json +10 -0
@@ -0,0 +1,16 @@
1
+ import { ListOptionNormalized } from '@milaboratories/uikit';
2
+ import { PlMultiSequenceAlignmentColorSchemeOption as ColorSchemeOption, PlMultiSequenceAlignmentSettings as Settings, PObjectId, PTableColumnId } from '@platforma-sdk/model';
3
+ type __VLS_Props = {
4
+ settings: Settings;
5
+ sequenceColumnOptions: ListOptionNormalized<PObjectId>[] | undefined;
6
+ labelColumnOptions: ListOptionNormalized<PTableColumnId>[] | undefined;
7
+ colorSchemeOptions: ListOptionNormalized<ColorSchemeOption>[];
8
+ };
9
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
10
+ updateSettings: (args_0: Partial<Settings>) => any;
11
+ export: () => any;
12
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
13
+ onUpdateSettings?: ((args_0: Partial<Settings>) => any) | undefined;
14
+ onExport?: (() => any) | undefined;
15
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
16
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import o from "./Toolbar.vue2.js";
2
+ import s from "./Toolbar.vue3.js";
3
+ import t from "./_virtual/_plugin-vue_export-helper.js";
4
+ const r = {
5
+ $style: s
6
+ }, f = /* @__PURE__ */ t(o, [["__cssModules", r]]);
7
+ export {
8
+ f as default
9
+ };
10
+ //# sourceMappingURL=Toolbar.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolbar.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,228 @@
1
+ import { defineComponent as I, useCssModule as K, ref as S, watchEffect as L, computed as x, createElementBlock as w, openBlock as P, Fragment as M, createElementVNode as r, createVNode as o, normalizeClass as m, unref as t, withModifiers as k, withCtx as s, createTextVNode as a, createCommentVNode as U, createBlock as T, withKeys as C } from "vue";
2
+ import { isJsonEqual as q } from "./node_modules/.pnpm/@milaboratories_helpers@1.12.0/node_modules/@milaboratories/helpers/dist/objects.js";
3
+ import { PlDropdownMulti as $, PlDropdown as D, PlBtnGhost as V, PlCheckbox as g, PlSlideModal as G, PlNumberField as b, PlBtnPrimary as A, PlBtnSecondary as F } from "@milaboratories/uikit";
4
+ import { defaultSettings as R } from "./settings.js";
5
+ const H = /* @__PURE__ */ I({
6
+ __name: "Toolbar",
7
+ props: {
8
+ settings: {},
9
+ sequenceColumnOptions: {},
10
+ labelColumnOptions: {},
11
+ colorSchemeOptions: {}
12
+ },
13
+ emits: ["updateSettings", "export"],
14
+ setup(B, { emit: O }) {
15
+ const n = B, y = O, u = K(), f = S(!1);
16
+ function d(p, e) {
17
+ y("updateSettings", { [p]: e });
18
+ }
19
+ function v(p, e) {
20
+ d(
21
+ "widgets",
22
+ e ? [...n.settings.widgets, p] : n.settings.widgets.filter((l) => p !== l)
23
+ );
24
+ }
25
+ const i = S({ ...n.settings.alignmentParams });
26
+ L(() => {
27
+ i.value = { ...n.settings.alignmentParams };
28
+ });
29
+ const N = x(
30
+ () => !q(n.settings.alignmentParams, i.value)
31
+ ), E = x(
32
+ () => !q(n.settings.alignmentParams, R.alignmentParams)
33
+ );
34
+ return (p, e) => (P(), w(M, null, [
35
+ r("div", {
36
+ class: m(t(u).container)
37
+ }, [
38
+ r("div", {
39
+ class: m(t(u).line)
40
+ }, [
41
+ r("div", {
42
+ class: m(t(u).section)
43
+ }, [
44
+ o(t($), {
45
+ label: "Sequence Columns",
46
+ "model-value": n.settings.sequenceColumnIds ?? [],
47
+ options: n.sequenceColumnOptions,
48
+ clearable: "",
49
+ "onUpdate:modelValue": e[0] || (e[0] = (l) => d("sequenceColumnIds", l))
50
+ }, null, 8, ["model-value", "options"]),
51
+ o(t($), {
52
+ "model-value": n.settings.labelColumnIds ?? [],
53
+ label: "Label Columns",
54
+ options: n.labelColumnOptions,
55
+ clearable: "",
56
+ "onUpdate:modelValue": e[1] || (e[1] = (l) => d("labelColumnIds", l))
57
+ }, null, 8, ["model-value", "options"]),
58
+ o(t(D), {
59
+ "model-value": n.settings.colorScheme,
60
+ label: "Color Scheme",
61
+ options: n.colorSchemeOptions,
62
+ "onUpdate:modelValue": e[2] || (e[2] = (l) => d("colorScheme", l))
63
+ }, null, 8, ["model-value", "options"])
64
+ ], 2),
65
+ r("div", {
66
+ class: m(t(u).buttons)
67
+ }, [
68
+ o(t(V), {
69
+ icon: "settings",
70
+ onClick: e[3] || (e[3] = k((l) => f.value = !0, ["stop"]))
71
+ }, {
72
+ default: s(() => [...e[19] || (e[19] = [
73
+ a(" Settings ", -1)
74
+ ])]),
75
+ _: 1
76
+ }),
77
+ o(t(V), {
78
+ icon: "export",
79
+ onClick: e[4] || (e[4] = k((l) => y("export"), ["stop"]))
80
+ }, {
81
+ default: s(() => [...e[20] || (e[20] = [
82
+ a(" Export ", -1)
83
+ ])]),
84
+ _: 1
85
+ })
86
+ ], 2)
87
+ ], 2),
88
+ r("div", {
89
+ class: m(t(u).line)
90
+ }, [
91
+ r("div", {
92
+ class: m(t(u).section)
93
+ }, [
94
+ o(t(g), {
95
+ "model-value": n.settings.widgets.includes("seqLogo"),
96
+ "onUpdate:modelValue": e[5] || (e[5] = (l) => v("seqLogo", l))
97
+ }, {
98
+ default: s(() => [...e[21] || (e[21] = [
99
+ a(" Seq logo ", -1)
100
+ ])]),
101
+ _: 1
102
+ }, 8, ["model-value"]),
103
+ o(t(g), {
104
+ "model-value": n.settings.widgets.includes("consensus"),
105
+ "onUpdate:modelValue": e[6] || (e[6] = (l) => v("consensus", l))
106
+ }, {
107
+ default: s(() => [...e[22] || (e[22] = [
108
+ a(" Consensus ", -1)
109
+ ])]),
110
+ _: 1
111
+ }, 8, ["model-value"]),
112
+ o(t(g), {
113
+ "model-value": !1,
114
+ disabled: ""
115
+ }, {
116
+ default: s(() => [...e[23] || (e[23] = [
117
+ a("Navigator", -1)
118
+ ])]),
119
+ _: 1
120
+ }),
121
+ o(t(g), {
122
+ "model-value": n.settings.widgets.includes("tree"),
123
+ "onUpdate:modelValue": e[7] || (e[7] = (l) => v("tree", l))
124
+ }, {
125
+ default: s(() => [...e[24] || (e[24] = [
126
+ a(" Tree ", -1)
127
+ ])]),
128
+ _: 1
129
+ }, 8, ["model-value"]),
130
+ o(t(g), {
131
+ "model-value": n.settings.widgets.includes("legend"),
132
+ disabled: n.settings.colorScheme.type === "no-color",
133
+ "onUpdate:modelValue": e[8] || (e[8] = (l) => v("legend", l))
134
+ }, {
135
+ default: s(() => [...e[25] || (e[25] = [
136
+ a(" Legend ", -1)
137
+ ])]),
138
+ _: 1
139
+ }, 8, ["model-value", "disabled"])
140
+ ], 2)
141
+ ], 2)
142
+ ], 2),
143
+ o(t(G), {
144
+ modelValue: f.value,
145
+ "onUpdate:modelValue": e[18] || (e[18] = (l) => f.value = l)
146
+ }, {
147
+ title: s(() => [...e[26] || (e[26] = [
148
+ a("Settings", -1)
149
+ ])]),
150
+ default: s(() => [
151
+ o(t(b), {
152
+ modelValue: i.value.gpo,
153
+ "onUpdate:modelValue": e[9] || (e[9] = (l) => i.value.gpo = l),
154
+ label: "Gap open penalty",
155
+ step: 0.1,
156
+ onKeyup: e[10] || (e[10] = C((l) => d("alignmentParams", i.value), ["enter"]))
157
+ }, {
158
+ tooltip: s(() => [...e[27] || (e[27] = [
159
+ a(" Penalty score assigned to the introduction of a gap in the alignment ", -1)
160
+ ])]),
161
+ _: 1
162
+ }, 8, ["modelValue"]),
163
+ o(t(b), {
164
+ modelValue: i.value.gpe,
165
+ "onUpdate:modelValue": e[11] || (e[11] = (l) => i.value.gpe = l),
166
+ label: "Gap extension penalty",
167
+ step: 0.1,
168
+ onKeyup: e[12] || (e[12] = C((l) => d("alignmentParams", i.value), ["enter"]))
169
+ }, {
170
+ tooltip: s(() => [...e[28] || (e[28] = [
171
+ a(" Penalty score assigned to each additional residue added to an existing gap ", -1)
172
+ ])]),
173
+ _: 1
174
+ }, 8, ["modelValue"]),
175
+ o(t(b), {
176
+ modelValue: i.value.tgpe,
177
+ "onUpdate:modelValue": e[13] || (e[13] = (l) => i.value.tgpe = l),
178
+ label: "Terminal gap extension penalty",
179
+ step: 0.1,
180
+ onKeyup: e[14] || (e[14] = C((l) => d("alignmentParams", i.value), ["enter"]))
181
+ }, {
182
+ tooltip: s(() => [...e[29] || (e[29] = [
183
+ a(" Penalty score assigned to extending gaps at the ends of sequences ", -1)
184
+ ])]),
185
+ _: 1
186
+ }, 8, ["modelValue"]),
187
+ N.value ? (P(), w("div", {
188
+ key: 0,
189
+ class: m(t(u).pendingChanges)
190
+ }, [
191
+ o(t(A), {
192
+ onClick: e[15] || (e[15] = (l) => d("alignmentParams", i.value))
193
+ }, {
194
+ default: s(() => [...e[30] || (e[30] = [
195
+ a(" Apply ", -1)
196
+ ])]),
197
+ _: 1
198
+ }),
199
+ o(t(V), {
200
+ onClick: e[16] || (e[16] = (l) => i.value = n.settings.alignmentParams)
201
+ }, {
202
+ default: s(() => [...e[31] || (e[31] = [
203
+ a(" Cancel ", -1)
204
+ ])]),
205
+ _: 1
206
+ })
207
+ ], 2)) : U("", !0),
208
+ E.value ? (P(), T(t(F), {
209
+ key: 1,
210
+ class: m(t(u).resetButton),
211
+ icon: "reverse",
212
+ onClick: e[17] || (e[17] = (l) => d("alignmentParams", void 0))
213
+ }, {
214
+ default: s(() => [...e[32] || (e[32] = [
215
+ a(" Reset to Default ", -1)
216
+ ])]),
217
+ _: 1
218
+ }, 8, ["class"])) : U("", !0)
219
+ ]),
220
+ _: 1
221
+ }, 8, ["modelValue"])
222
+ ], 64));
223
+ }
224
+ });
225
+ export {
226
+ H as default
227
+ };
228
+ //# sourceMappingURL=Toolbar.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolbar.vue2.js","sources":["../src/Toolbar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { isJsonEqual } from '@milaboratories/helpers';\nimport {\n type ListOptionNormalized,\n PlBtnGhost,\n PlBtnPrimary,\n PlBtnSecondary,\n PlCheckbox,\n PlDropdown,\n PlDropdownMulti,\n PlNumberField,\n PlSlideModal,\n} from '@milaboratories/uikit';\nimport type {\n PlMultiSequenceAlignmentColorSchemeOption as ColorSchemeOption,\n PlMultiSequenceAlignmentSettings as Settings,\n PlMultiSequenceAlignmentWidget,\n PObjectId,\n PTableColumnId,\n} from '@platforma-sdk/model';\nimport { computed, ref, useCssModule, watchEffect } from 'vue';\nimport { defaultSettings } from './settings';\n\nconst props = defineProps<{\n settings: Settings;\n sequenceColumnOptions: ListOptionNormalized<PObjectId>[] | undefined;\n labelColumnOptions: ListOptionNormalized<PTableColumnId>[] | undefined;\n colorSchemeOptions: ListOptionNormalized<ColorSchemeOption>[];\n}>();\n\nconst emit = defineEmits<{\n updateSettings: [Partial<Settings>];\n export: [];\n}>();\n\nconst classes = useCssModule();\n\nconst settingsOpen = ref(false);\n\nfunction updateSetting<K extends keyof Settings>(\n key: K,\n value: Settings[K] | undefined,\n) {\n emit('updateSettings', { [key]: value });\n}\n\nfunction toggleWidget(\n widget: PlMultiSequenceAlignmentWidget,\n checked: boolean,\n) {\n updateSetting(\n 'widgets',\n checked\n ? [...props.settings.widgets, widget]\n : props.settings.widgets.filter((w) => widget !== w),\n );\n}\n\nconst alignmentParams = ref({ ...props.settings.alignmentParams });\nwatchEffect(() => {\n alignmentParams.value = { ...props.settings.alignmentParams };\n});\n\nconst alignmentParamsChangesPending = computed(() =>\n !isJsonEqual(props.settings.alignmentParams, alignmentParams.value),\n);\n\nconst canResetAlignmentParams = computed(() =>\n !isJsonEqual(props.settings.alignmentParams, defaultSettings.alignmentParams),\n);\n</script>\n\n<template>\n <div :class=\"classes.container\">\n <div :class=\"classes.line\">\n <div :class=\"classes.section\">\n <PlDropdownMulti\n label=\"Sequence Columns\"\n :model-value=\"props.settings.sequenceColumnIds ?? []\"\n :options=\"props.sequenceColumnOptions\"\n clearable\n @update:model-value=\"event => updateSetting('sequenceColumnIds', event)\"\n />\n <PlDropdownMulti\n :model-value=\"props.settings.labelColumnIds ?? []\"\n label=\"Label Columns\"\n :options=\"props.labelColumnOptions\"\n clearable\n @update:model-value=\"event => updateSetting('labelColumnIds', event)\"\n />\n <PlDropdown\n :model-value=\"props.settings.colorScheme\"\n label=\"Color Scheme\"\n :options=\"props.colorSchemeOptions\"\n @update:model-value=\"event => updateSetting('colorScheme', event)\"\n />\n </div>\n <div :class=\"classes.buttons\">\n <PlBtnGhost icon=\"settings\" @click.stop=\"settingsOpen = true\">\n Settings\n </PlBtnGhost>\n <PlBtnGhost icon=\"export\" @click.stop=\"emit('export')\">\n Export\n </PlBtnGhost>\n </div>\n </div>\n <div :class=\"classes.line\">\n <div :class=\"classes.section\">\n <PlCheckbox\n :model-value=\"props.settings.widgets.includes('seqLogo')\"\n @update:model-value=\"event => toggleWidget('seqLogo', event)\"\n >\n Seq logo\n </PlCheckbox>\n <PlCheckbox\n :model-value=\"props.settings.widgets.includes('consensus')\"\n @update:model-value=\"event => toggleWidget('consensus', event)\"\n >\n Consensus\n </PlCheckbox>\n <PlCheckbox :model-value=\"false\" disabled>Navigator</PlCheckbox>\n <PlCheckbox\n :model-value=\"props.settings.widgets.includes('tree')\"\n @update:model-value=\"event => toggleWidget('tree', event)\"\n >\n Tree\n </PlCheckbox>\n <PlCheckbox\n :model-value=\"props.settings.widgets.includes('legend')\"\n :disabled=\"props.settings.colorScheme.type === 'no-color'\"\n @update:model-value=\"event => toggleWidget('legend', event)\"\n >\n Legend\n </PlCheckbox>\n </div>\n </div>\n </div>\n <PlSlideModal v-model=\"settingsOpen\">\n <template #title>Settings</template>\n <PlNumberField\n v-model=\"alignmentParams.gpo\"\n label=\"Gap open penalty\"\n :step=\"0.1\"\n @keyup.enter=\"updateSetting('alignmentParams', alignmentParams)\"\n >\n <template #tooltip>\n Penalty score assigned to the introduction of a gap in the alignment\n </template>\n </PlNumberField>\n <PlNumberField\n v-model=\"alignmentParams.gpe\"\n label=\"Gap extension penalty\"\n :step=\"0.1\"\n @keyup.enter=\"updateSetting('alignmentParams', alignmentParams)\"\n >\n <template #tooltip>\n Penalty score assigned to each additional residue added to an existing\n gap\n </template>\n </PlNumberField>\n <PlNumberField\n v-model=\"alignmentParams.tgpe\"\n label=\"Terminal gap extension penalty\"\n :step=\"0.1\"\n @keyup.enter=\"updateSetting('alignmentParams', alignmentParams)\"\n >\n <template #tooltip>\n Penalty score assigned to extending gaps at the ends of sequences\n </template>\n </PlNumberField>\n <div\n v-if=\"alignmentParamsChangesPending\"\n :class=\"classes.pendingChanges\"\n >\n <PlBtnPrimary @click=\"updateSetting('alignmentParams', alignmentParams)\">\n Apply\n </PlBtnPrimary>\n <PlBtnGhost @click=\"alignmentParams = props.settings.alignmentParams\">\n Cancel\n </PlBtnGhost>\n </div>\n <PlBtnSecondary\n v-if=\"canResetAlignmentParams\"\n :class=\"classes.resetButton\"\n icon=\"reverse\"\n @click=\"updateSetting('alignmentParams', undefined)\"\n >\n Reset to Default\n </PlBtnSecondary>\n </PlSlideModal>\n</template>\n\n<style module>\n.container {\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n.line {\n display: flex;\n justify-content: space-between;\n}\n\n.section {\n display: flex;\n flex-wrap: wrap;\n gap: 24px;\n}\n\n.buttons {\n display: flex;\n}\n\n.pendingChanges {\n display: flex;\n button {\n min-width: 160px;\n }\n}\n\n.resetButton {\n margin-block-start: auto;\n span {\n text-transform: none;\n }\n}\n</style>\n"],"names":["props","__props","emit","__emit","classes","useCssModule","settingsOpen","ref","updateSetting","key","value","toggleWidget","widget","checked","w","alignmentParams","watchEffect","alignmentParamsChangesPending","computed","isJsonEqual","canResetAlignmentParams","defaultSettings","_createElementVNode","_normalizeClass","_unref","_createVNode","PlDropdownMulti","_cache","event","PlDropdown","PlBtnGhost","PlCheckbox","PlSlideModal","$event","PlNumberField","_withKeys","_createElementBlock","PlBtnPrimary","_createBlock","PlBtnSecondary"],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode("._container_ypn45_2{display:flex;flex-direction:column;gap:24px}._line_ypn45_8{display:flex;justify-content:space-between}._section_ypn45_13{display:flex;flex-wrap:wrap;gap:24px}._buttons_ypn45_19,._pendingChanges_ypn45_23{display:flex}._pendingChanges_ypn45_23 button{min-width:160px}._resetButton_ypn45_30{margin-block-start:auto}._resetButton_ypn45_30 span{text-transform:none}")),document.head.appendChild(e)}}catch(n){console.error("vite-plugin-css-injected-by-js",n)}})();
2
+ const n = "_container_ypn45_2", t = "_line_ypn45_8", e = "_section_ypn45_13", s = "_buttons_ypn45_19", o = "_pendingChanges_ypn45_23", _ = "_resetButton_ypn45_30", c = {
3
+ container: n,
4
+ line: t,
5
+ section: e,
6
+ buttons: s,
7
+ pendingChanges: o,
8
+ resetButton: _
9
+ };
10
+ export {
11
+ s as buttons,
12
+ n as container,
13
+ c as default,
14
+ t as line,
15
+ o as pendingChanges,
16
+ _ as resetButton,
17
+ e as section
18
+ };
19
+ //# sourceMappingURL=Toolbar.vue3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolbar.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,10 @@
1
+ const s = (t, e) => {
2
+ const o = t.__vccOpts || t;
3
+ for (const [r, c] of e)
4
+ o[r] = c;
5
+ return o;
6
+ };
7
+ export {
8
+ s as default
9
+ };
10
+ //# sourceMappingURL=_plugin-vue_export-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_plugin-vue_export-helper.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}