@milaboratories/graph-maker 1.1.137 → 1.1.138

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 (65) hide show
  1. package/README.md +120 -24
  2. package/dist/GraphMaker/components/SettingsTabs/icons/AxesIcon.vue.d.ts.map +1 -0
  3. package/dist/GraphMaker/{icons → components/SettingsTabs/icons}/AxesIcon.vue.js +1 -1
  4. package/dist/GraphMaker/components/SettingsTabs/icons/AxesIcon.vue.js.map +1 -0
  5. package/dist/GraphMaker/components/SettingsTabs/icons/DeleteChartIcon.vue.d.ts.map +1 -0
  6. package/dist/GraphMaker/{icons → components/SettingsTabs/icons}/DeleteChartIcon.vue.js +1 -1
  7. package/dist/GraphMaker/components/SettingsTabs/icons/DeleteChartIcon.vue.js.map +1 -0
  8. package/dist/GraphMaker/components/SettingsTabs/icons/ExportIcon.vue.d.ts.map +1 -0
  9. package/dist/GraphMaker/{icons → components/SettingsTabs/icons}/ExportIcon.vue.js +1 -1
  10. package/dist/GraphMaker/components/SettingsTabs/icons/ExportIcon.vue.js.map +1 -0
  11. package/dist/GraphMaker/components/SettingsTabs/icons/LayersIcon.vue.d.ts.map +1 -0
  12. package/dist/GraphMaker/{icons → components/SettingsTabs/icons}/LayersIcon.vue.js +1 -1
  13. package/dist/GraphMaker/components/SettingsTabs/icons/LayersIcon.vue.js.map +1 -0
  14. package/dist/GraphMaker/components/SettingsTabs/icons/LinkIcon.vue.d.ts.map +1 -0
  15. package/dist/GraphMaker/{icons → components/SettingsTabs/icons}/LinkIcon.vue.js +1 -1
  16. package/dist/GraphMaker/components/SettingsTabs/icons/LinkIcon.vue.js.map +1 -0
  17. package/dist/GraphMaker/components/SettingsTabs/icons/LogIcon.vue.d.ts +3 -0
  18. package/dist/GraphMaker/components/SettingsTabs/icons/LogIcon.vue.d.ts.map +1 -0
  19. package/dist/GraphMaker/components/SettingsTabs/icons/LogIcon.vue.js +12 -0
  20. package/dist/GraphMaker/components/SettingsTabs/icons/LogIcon.vue.js.map +1 -0
  21. package/dist/GraphMaker/components/SettingsTabs/icons/LogIcon.vue2.js +5 -0
  22. package/dist/GraphMaker/components/SettingsTabs/icons/LogIcon.vue2.js.map +1 -0
  23. package/dist/GraphMaker/components/SettingsTabs/icons/SettingsIcon.vue.d.ts.map +1 -0
  24. package/dist/GraphMaker/components/SettingsTabs/index.vue.d.ts +2 -0
  25. package/dist/GraphMaker/components/SettingsTabs/index.vue.d.ts.map +1 -1
  26. package/dist/GraphMaker/components/SettingsTabs/index.vue.js +17 -15
  27. package/dist/GraphMaker/components/SettingsTabs/index.vue.js.map +1 -1
  28. package/dist/GraphMaker/forms/LogForm.vue.d.ts +19 -0
  29. package/dist/GraphMaker/forms/LogForm.vue.d.ts.map +1 -0
  30. package/dist/GraphMaker/forms/LogForm.vue.js +22 -0
  31. package/dist/GraphMaker/forms/LogForm.vue.js.map +1 -0
  32. package/dist/GraphMaker/forms/index.d.ts +22 -0
  33. package/dist/GraphMaker/forms/index.d.ts.map +1 -1
  34. package/dist/GraphMaker/forms/index.js +35 -28
  35. package/dist/GraphMaker/forms/index.js.map +1 -1
  36. package/dist/GraphMaker/index.vue.d.ts +1 -0
  37. package/dist/GraphMaker/index.vue.d.ts.map +1 -1
  38. package/dist/GraphMaker/index.vue.js +146 -144
  39. package/dist/GraphMaker/index.vue.js.map +1 -1
  40. package/dist/GraphMaker/store.d.ts.map +1 -1
  41. package/dist/GraphMaker/store.js +71 -67
  42. package/dist/GraphMaker/store.js.map +1 -1
  43. package/dist/lib.js +1 -1
  44. package/package.json +1 -1
  45. package/dist/GraphMaker/icons/AxesIcon.vue.d.ts.map +0 -1
  46. package/dist/GraphMaker/icons/AxesIcon.vue.js.map +0 -1
  47. package/dist/GraphMaker/icons/DeleteChartIcon.vue.d.ts.map +0 -1
  48. package/dist/GraphMaker/icons/DeleteChartIcon.vue.js.map +0 -1
  49. package/dist/GraphMaker/icons/ExportIcon.vue.d.ts.map +0 -1
  50. package/dist/GraphMaker/icons/ExportIcon.vue.js.map +0 -1
  51. package/dist/GraphMaker/icons/LayersIcon.vue.d.ts.map +0 -1
  52. package/dist/GraphMaker/icons/LayersIcon.vue.js.map +0 -1
  53. package/dist/GraphMaker/icons/LinkIcon.vue.d.ts.map +0 -1
  54. package/dist/GraphMaker/icons/LinkIcon.vue.js.map +0 -1
  55. package/dist/GraphMaker/icons/SettingsIcon.vue.d.ts.map +0 -1
  56. /package/dist/GraphMaker/{icons → components/SettingsTabs/icons}/AxesIcon.vue.d.ts +0 -0
  57. /package/dist/GraphMaker/{icons → components/SettingsTabs/icons}/DeleteChartIcon.vue.d.ts +0 -0
  58. /package/dist/GraphMaker/{icons → components/SettingsTabs/icons}/ExportIcon.vue.d.ts +0 -0
  59. /package/dist/GraphMaker/{icons → components/SettingsTabs/icons}/LayersIcon.vue.d.ts +0 -0
  60. /package/dist/GraphMaker/{icons → components/SettingsTabs/icons}/LinkIcon.vue.d.ts +0 -0
  61. /package/dist/GraphMaker/{icons → components/SettingsTabs/icons}/SettingsIcon.vue.d.ts +0 -0
  62. /package/dist/GraphMaker/{icons → components/SettingsTabs/icons}/SettingsIcon.vue.js +0 -0
  63. /package/dist/GraphMaker/{icons → components/SettingsTabs/icons}/SettingsIcon.vue.js.map +0 -0
  64. /package/dist/GraphMaker/{icons → components/SettingsTabs/icons}/SettingsIcon.vue2.js +0 -0
  65. /package/dist/GraphMaker/{icons → components/SettingsTabs/icons}/SettingsIcon.vue2.js.map +0 -0
package/README.md CHANGED
@@ -1,54 +1,150 @@
1
1
  Vue-component including graph settings interface and resulting rendered graph.
2
+ For using graph only (creating picture without user interface) use [miplots4](https://github.com/milaboratory/miplots4).
2
3
 
3
- How to use:
4
+ # How to connect
5
+ Basic usage in a page of block's ui (discrete boxplot graph in example):
4
6
 
5
7
  ```
6
8
  <script setup lang="ts">
7
- import { computed, ref } from 'vue';
9
+ import { ref } from 'vue';
8
10
  import { useApp } from './app';
9
- import { platforma } from '@platforma-open/milaboratories.graph-maker.model';
10
- import { GraphMakerSettings } from '@milaboratories/graph-maker/dist/GraphMaker/types';
11
- import { GraphMaker } from '@milaboratories/graph-maker';
11
+ import { GraphMakerState, GraphMaker } from '@milaboratories/graph-maker';
12
+ import '@milaboratories/graph-maker/styles';
12
13
 
13
14
  const app = useApp();
14
- const frameRef = app.model.outputs.pFrame;
15
-
16
15
  const state = ref<GraphMakerSettings>({
17
16
  template: 'box',
18
17
  title: 'My graph'
19
18
  });
20
19
 
21
- const defaultOptions:PredefinedGraphOption<'discrete'>[] = [{
22
- inputName: 'y',
23
- selectedSource: {
24
- kind: 'PColumn',
25
- axesSpec: [...],
26
- valueType: 'Int',
27
- name: 'columnNameOfSomeYColumn',
28
- }
20
+ </script>
21
+
22
+ <template>
23
+ <graph-maker
24
+ v-model="state"
25
+ chartType="discrete"
26
+ :pFrame="app.model.outputs.pFrame"
27
+ />
28
+ </template>
29
+ ```
30
+ Necessary properties are: `chartType`, graph's state (`v-model`) and `pFrame`.
31
+
32
+ `chartType` must be one of: 'discrete', 'scatterplot', 'scatterplot-umap', 'heatmap', 'bubble', 'histogram', 'dendro'. Chart type defines graph structure and available settings set. Once set chart type can't be changed.
33
+
34
+ State (`v-model`) must satisfy [GraphMakerState](./src/GraphMaker/types.ts). Necessary fields – `title` (goes to big editable title above the chart) and `template` ('box', 'violin' for discrete, 'dots', 'curve' for scatterplot' etc.)
35
+ Other fields of state Graph-maker uses to save/load changes in interface.
36
+ Any of them can be predefined, fully ot partially.
37
+
38
+ `pFrame` must be created in a model part of a block as an output. Use [createPFrameForGraphs](https://github.com/milaboratory/platforma/blob/main/sdk/model/src/components/PFrameForGraphs.ts) or `ctx.createPFrame(columns)`.
39
+
40
+ # Other abilities
41
+
42
+ ## Slots
43
+
44
+ \#titleLine - slot in horizontal line with main title
45
+
46
+ \#settingsSlot - if used creates additional 'Settings' tab with its content in right panel
47
+
48
+ \#logSlot - if used creates additional 'Log' tab with its content in right panel
49
+
50
+ ## Available properties
51
+
52
+ ### defaultOptions
53
+ Defines default state of data-mapping tab. User changes have higher priority, default state applies only if nothing from user changes conflicts with them. To set use column/axis specs([description](https://github.com/milaboratory/platforma/blob/main/docs/pcolumn.md), [types](https://github.com/milaboratory/platforma/blob/main/lib/model/common/src/drivers/pframe/spec/spec.ts)) from pFrame and names of inputs ('x', 'y', 'primaryGrouping', 'filters' etc):
54
+
55
+ ```
56
+ const defaultOptions:PredefinedGraphOption<'discrete'> = [{
57
+ inputName: 'y'
58
+ selectedSource: {
59
+ kind: 'PColumn',
60
+ name: 'FractionOfReads',
61
+ valueType: 'Double',
62
+ domain: {...},
63
+ axesSpec: [...]
64
+ }, // AxisSpec | PColumnSpec from '@sdk/model'
65
+ }, {
66
+ inputName: 'filters'
67
+ selectedSource: {
68
+ kind: 'PColumn',
69
+ name: 'Chain',
70
+ valueType: 'String',
71
+ axesSpec: [...]
72
+ },
73
+ filterType: 'equals'
74
+ selectedFilterValue: 'Heavy'
75
+ }, {
76
+ inputName: 'filters'
77
+ selectedSource: {
78
+ kind: 'PColumn',
79
+ name: 'FractionOfReads',
80
+ valueType: 'Double',
81
+ axesSpec: [...]
82
+ },
83
+ filterType: 'range'
84
+ selectedFilterValue: {min: 0}
29
85
  }];
86
+ </script>
30
87
 
31
- const graphMakerRef = useTemplateRef('graphMaker');
32
- function reset() {
33
- state.value = {...} // new graph state, empty or not;
34
- graphMakerRef.value?.reset();
35
- }
88
+ <template>
89
+ <graph-maker
90
+ v-model="state"
91
+ chartType="discrete"
92
+ :pFrame="app.model.outputs.pFrame"
93
+ :defaultOptions="defaultOptions"
94
+ />
95
+ </template>
96
+ ```
97
+ Every input can be mentioned more than one time.
36
98
 
99
+
100
+ ### allowChartDeleting
101
+ If true there is a button with trash bin icon on the right panel. On click it fires `@delete-this-graph`:
102
+ ```
103
+ function removeSection() {
104
+ ... // code to delete current graph from block's state
105
+ }
37
106
  </script>
38
107
 
39
108
  <template>
40
109
  <graph-maker
41
- ref="graphMaker"
42
110
  v-model="state"
43
111
  chartType="discrete"
44
112
  :pFrame="app.model.outputs.pFrame"
45
- :default-options="defaultOptions"
113
+ :allowChartDeleting="true"
114
+ @delete-this-graph="removeSection"
46
115
  />
47
116
  </template>
48
117
  ```
49
118
 
50
- How to build locally:
119
+ ### dataStateKey
120
+
121
+ If changes graph reapplies options state and default options. (For example, use if you need to reset data-mapping when block's data was recalculated).
122
+
123
+ ### dataColumnPredicate
124
+
125
+ Function which filter columns available for data-inputs ('x', 'y', 'Data source', 'Data value'...). By default it filters out columns with 'metadata' in name.
126
+ To make available all the columns:
127
+
128
+ ```
129
+ <graph-maker
130
+ v-model="state"
131
+ chartType="discrete"
132
+ :pFrame="app.model.outputs.pFrame"
133
+ :dataColumnPredicate="() => true"
134
+ />
135
+ ```
136
+
137
+ # How to build locally:
51
138
  ```
52
139
  npm install
53
140
  npm run build
54
- ```
141
+ ```
142
+ To link graph-maker local build to local block's build use `npm run build && npm run do-pack`, it creates package.tgz with local build. Then write in block's root package.json:
143
+ ```
144
+ "pnpm": {
145
+ "overrides": {
146
+ "@milaboratories/graph-maker": "/path/to/graph-maker/package.tgz"
147
+ }
148
+ }
149
+ ```
150
+ and run `pnpm install && pnpm build` in block.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AxesIcon.vue.d.ts","sourceRoot":"","sources":["../../../../../src/GraphMaker/components/SettingsTabs/icons/AxesIcon.vue"],"names":[],"mappings":";AA2DA,wBAMG"}
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as V, openBlock as o, createElementVNode as l } from "vue";
2
- import H from "../../_virtual/_plugin-vue_export-helper.js";
2
+ import H from "../../../../_virtual/_plugin-vue_export-helper.js";
3
3
  const n = {}, t = {
4
4
  width: "48",
5
5
  height: "48",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AxesIcon.vue.js","sources":["../../../../../src/GraphMaker/components/SettingsTabs/icons/AxesIcon.vue"],"sourcesContent":["<template>\n <svg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M23.25 17.75V14H24.75V17.75H26V19.25H24.75V23.25H28.75V22H30.25V23.25H34V24.75H30.25V26H28.75V24.75H24.75V28.75H26V30.25H24.75V34H23.25V30.25H22V28.75H23.25V24.75H19.25V26H17.75V24.75H14V23.25H17.75V22H19.25V23.25H23.25V19.25H22V17.75H23.25Z\" fill=\"#110529\"/>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M15.4697 15.5303L17.7501 17.8107V20H19.2501V17.8107L21.5304 15.5303L20.4697 14.4697L18.5001 16.4393L16.5304 14.4697L15.4697 15.5303ZM27.4697 28.5303L29.4394 30.5L27.4697 32.4697L28.5304 33.5303L30.5001 31.5607L32.4697 33.5303L33.5304 32.4697L31.5607 30.5L33.5304 28.5303L32.4697 27.4697L30.5001 29.4393L28.5304 27.4697L27.4697 28.5303Z\" fill=\"#07AD3E\"/>\n </svg>\n</template>\n"],"names":["_openBlock","_createElementBlock","_hoisted_1","_cache","_createElementVNode"],"mappings":";;;EACO,OAAM;AAAA,EAAK,QAAO;AAAA,EAAK,SAAQ;AAAA,EAAY,MAAK;AAAA,EAAO,OAAM;;;AAAlE,SAAAA,EAAA,GAAAC,EAGM,OAHNC,GAGMC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,IAFJC,EAAoT,QAAA;AAAA,MAA9S,aAAU;AAAA,MAAU,aAAU;AAAA,MAAU,GAAE;AAAA,MAAoP,MAAK;AAAA;IACzSA,EAAkZ,QAAA;AAAA,MAA5Y,aAAU;AAAA,MAAU,aAAU;AAAA,MAAU,GAAE;AAAA,MAAkV,MAAK;AAAA;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeleteChartIcon.vue.d.ts","sourceRoot":"","sources":["../../../../../src/GraphMaker/components/SettingsTabs/icons/DeleteChartIcon.vue"],"names":[],"mappings":";AA0EA,wBAMG"}
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as t, openBlock as l, createStaticVNode as o } from "vue";
2
- import r from "../../_virtual/_plugin-vue_export-helper.js";
2
+ import r from "../../../../_virtual/_plugin-vue_export-helper.js";
3
3
  const d = {}, i = {
4
4
  xmlns: "http://www.w3.org/2000/svg",
5
5
  width: "24",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeleteChartIcon.vue.js","sources":["../../../../../src/GraphMaker/components/SettingsTabs/icons/DeleteChartIcon.vue"],"sourcesContent":["<template>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.5 3.75002C7.5 3.05967 8.05964 2.50002 8.75 2.50002L15.25 2.5C15.9404 2.5 16.5 3.05964 16.5 3.75V5.50004L20.5 5.50006V7.00006L19 7.00006H17.5L6.5 7.00004H5L3.5 7V5.5L7.5 5.50006V3.75002ZM9 5.50006L15 5.50004V4L9 4.00002V5.50006Z\" fill=\"#110529\"/>\n <path d=\"M17.5 7.00006V12.5H19V7.00006H17.5Z\" fill=\"#110529\"/>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.5 17.75C6.5 18.9926 7.50736 20 8.75 20H12V21.5H8.75C6.67893 21.5 5 19.8211 5 17.75V8.50006H6.5V17.75Z\" fill=\"#110529\"/>\n <path d=\"M6.5 7.00004H5V8.50006H6.5V7.00004Z\" fill=\"#110529\"/>\n <path d=\"M14.75 14.5L18.25 18M21.75 21.5L18.25 18M18.25 18L21.75 14.5M18.25 18L14.75 21.5\" stroke=\"#07AD3E\" stroke-width=\"1.5\"/>\n </svg>\n</template>"],"names":["_openBlock","_createElementBlock","_hoisted_1","_cache","_createStaticVNode"],"mappings":";;;EACO,OAAM;AAAA,EAA6B,OAAM;AAAA,EAAK,QAAO;AAAA,EAAK,SAAQ;AAAA,EAAY,MAAK;;;AAAxF,SAAAA,EAAA,GAAAC,EAMM,OANNC,GAMMC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,IAPRC,EAAA,kvBAAA,CAAA;AAAA;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExportIcon.vue.d.ts","sourceRoot":"","sources":["../../../../../src/GraphMaker/components/SettingsTabs/icons/ExportIcon.vue"],"names":[],"mappings":";AAkEA,wBAMG"}
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as o, openBlock as r, createElementVNode as t } from "vue";
2
- import n from "../../_virtual/_plugin-vue_export-helper.js";
2
+ import n from "../../../../_virtual/_plugin-vue_export-helper.js";
3
3
  const c = {}, s = {
4
4
  class: "export-icon",
5
5
  width: "24",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExportIcon.vue.js","sources":["../../../../../src/GraphMaker/components/SettingsTabs/icons/ExportIcon.vue"],"sourcesContent":["<template>\n <svg class=\"export-icon\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"Icon\">\n <path id=\"Rectangle 4179\" d=\"M3 17V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V17\" stroke=\"#07AD3E\" stroke-width=\"1.5\"/>\n <path id=\"Vector 1335\" d=\"M18 10L12 16M12 16L6 10M12 16L12 2\" stroke=\"black\" stroke-width=\"1.5\"/>\n </g>\n </svg>\n</template>\n"],"names":["_openBlock","_createElementBlock","_hoisted_1","_cache","_createElementVNode"],"mappings":";;;EACO,OAAM;AAAA,EAAc,OAAM;AAAA,EAAK,QAAO;AAAA,EAAK,SAAQ;AAAA,EAAY,MAAK;AAAA,EAAO,OAAM;;;AAAtF,SAAAA,EAAA,GAAAC,EAKM,OALNC,GAKMC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,IAJJC,EAGI,KAAA,EAHD,IAAG,OAAM,GAAA;AAAA,MACVA,EAAwI,QAAA;AAAA,QAAlI,IAAG;AAAA,QAAiB,GAAE;AAAA,QAAuE,QAAO;AAAA,QAAU,gBAAa;AAAA;MACjIA,EAAiG,QAAA;AAAA,QAA3F,IAAG;AAAA,QAAc,GAAE;AAAA,QAAqC,QAAO;AAAA,QAAQ,gBAAa;AAAA;;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayersIcon.vue.d.ts","sourceRoot":"","sources":["../../../../../src/GraphMaker/components/SettingsTabs/icons/LayersIcon.vue"],"names":[],"mappings":";AAoEA,wBAMG"}
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as o, openBlock as t, createElementVNode as e } from "vue";
2
- import n from "../../_virtual/_plugin-vue_export-helper.js";
2
+ import n from "../../../../_virtual/_plugin-vue_export-helper.js";
3
3
  const r = {}, L = {
4
4
  class: "layers-icon",
5
5
  width: "24",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayersIcon.vue.js","sources":["../../../../../src/GraphMaker/components/SettingsTabs/icons/LayersIcon.vue"],"sourcesContent":["<template>\n <svg class=\"layers-icon\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g id=\"24: layers\">\n <path id=\"Subtract\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2.37549 15.1251L12.0003 21.25L21.6255 15.1249L21.6749 15.1563C22.2924 15.5493 22.2924 16.4507 21.6749 16.8436L12.5375 22.6583C12.21 22.8668 11.7913 22.8668 11.4638 22.6583L2.32641 16.8436C1.70891 16.4507 1.70891 15.5493 2.32641 15.1563L2.37549 15.1251Z\" fill=\"#07AD3E\"/>\n <path id=\"Union\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M2.32641 7.15633C1.70891 7.54929 1.70891 8.4507 2.32641 8.84366L11.4638 14.6583C11.7913 14.8668 12.21 14.8668 12.5375 14.6583L21.6749 8.84365C22.2924 8.4507 22.2924 7.54929 21.6749 7.15633L12.5375 1.34164C12.21 1.13319 11.7913 1.13319 11.4638 1.34164L2.32641 7.15633ZM3.75 7.99997L12 13.25L20.25 7.99997L12 2.74997L3.75 7.99997ZM12.0003 17.25L2.37549 11.1251L2.32641 11.1563C1.70891 11.5493 1.70891 12.4507 2.32641 12.8436L11.4638 18.6583C11.7913 18.8668 12.21 18.8668 12.5375 18.6583L21.6749 12.8436C22.2924 12.4507 22.2924 11.5493 21.6749 11.1563L21.6255 11.1249L12.0003 17.25Z\" fill=\"#110529\"/>\n </g>\n </svg>\n</template>\n"],"names":["_openBlock","_createElementBlock","_hoisted_1","_cache","_createElementVNode"],"mappings":";;;EACO,OAAM;AAAA,EAAc,OAAM;AAAA,EAAK,QAAO;AAAA,EAAK,SAAQ;AAAA,EAAY,MAAK;AAAA,EAAO,OAAM;;;AAAtF,SAAAA,EAAA,GAAAC,EAKM,OALNC,GAKMC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,IAJJC,EAGI,KAAA,EAHD,IAAG,aAAY,GAAA;AAAA,MAChBA,EAA8U,QAAA;AAAA,QAAxU,IAAG;AAAA,QAAW,aAAU;AAAA,QAAU,aAAU;AAAA,QAAU,GAAE;AAAA,QAAgQ,MAAK;AAAA;MACnUA,EAAipB,QAAA;AAAA,QAA3oB,IAAG;AAAA,QAAQ,aAAU;AAAA,QAAU,aAAU;AAAA,QAAU,GAAE;AAAA,QAAskB,MAAK;AAAA;;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkIcon.vue.d.ts","sourceRoot":"","sources":["../../../../../src/GraphMaker/components/SettingsTabs/icons/LinkIcon.vue"],"names":[],"mappings":";AA+EA,wBAMG"}
@@ -1,5 +1,5 @@
1
1
  import { createElementBlock as t, openBlock as l, createStaticVNode as i } from "vue";
2
- import o from "../../_virtual/_plugin-vue_export-helper.js";
2
+ import o from "../../../../_virtual/_plugin-vue_export-helper.js";
3
3
  const r = {}, c = {
4
4
  width: "24",
5
5
  height: "24",
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkIcon.vue.js","sources":["../../../../../src/GraphMaker/components/SettingsTabs/icons/LinkIcon.vue"],"sourcesContent":["<template>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g clip-path=\"url(#clip0_8849_14901)\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M11.2214 15.2215L13.5701 12.8728C15.2298 11.2131 15.2298 8.5221 13.5701 6.86237C11.9104 5.20264 9.21943 5.20264 7.5597 6.86237L3.31706 11.105C1.65733 12.7647 1.65733 15.4557 3.31706 17.1154C4.38616 18.1845 5.88312 18.565 7.25674 18.2568L8.45258 19.4526C6.38303 20.2767 3.93151 19.8512 2.2564 18.1761C0.0108876 15.9306 0.0108879 12.2899 2.2564 10.0444L6.49904 5.80171C8.74456 3.5562 12.3853 3.5562 14.6308 5.80171C16.8763 8.04723 16.8763 11.6879 14.6308 13.9334L12.2821 16.2821L11.2214 15.2215Z\" fill=\"#110529\"/>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M17.4594 18.1761C15.2139 20.4216 11.5732 20.4216 9.32769 18.1761C7.08218 15.9306 7.08218 12.2899 9.32769 10.0444L11.686 7.68604L12.7467 8.7467L10.3884 11.105C8.72862 12.7647 8.72862 15.4557 10.3884 17.1154C12.0481 18.7751 14.739 18.7751 16.3988 17.1154L20.6414 12.8728C22.3011 11.2131 22.3011 8.5221 20.6414 6.86237C19.5764 5.79737 18.0868 5.41575 16.7175 5.71752L15.5197 4.51971C17.5863 3.70299 20.0307 4.13032 21.7021 5.80171C23.9476 8.04723 23.9476 11.6879 21.7021 13.9334L17.4594 18.1761Z\" fill=\"#07AD3E\"/>\n </g>\n <defs>\n <clipPath id=\"clip0_8849_14901\">\n <rect width=\"24\" height=\"24\" fill=\"white\"/>\n </clipPath>\n </defs>\n </svg>\n</template>\n"],"names":["_openBlock","_createElementBlock","_hoisted_1","_cache","_createStaticVNode"],"mappings":";;;EACO,OAAM;AAAA,EAAK,QAAO;AAAA,EAAK,SAAQ;AAAA,EAAY,MAAK;AAAA,EAAO,OAAM;;;AAAlE,SAAAA,EAAA,GAAAC,EAUM,OAVNC,GAUMC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA,IAXRC,EAAA,kwCAAA,CAAA;AAAA;;;"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, SVGSVGElement>;
2
+ export default _default;
3
+ //# sourceMappingURL=LogIcon.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogIcon.vue.d.ts","sourceRoot":"","sources":["../../../../../src/GraphMaker/components/SettingsTabs/icons/LogIcon.vue"],"names":[],"mappings":";AAuDA,wBAMG"}
@@ -0,0 +1,12 @@
1
+ import { defineComponent as e, createBlock as o, openBlock as r, unref as n } from "vue";
2
+ import { PlIcon24 as t } from "@platforma-sdk/ui-vue";
3
+ const s = /* @__PURE__ */ e({
4
+ __name: "LogIcon",
5
+ setup(c) {
6
+ return (p, m) => (r(), o(n(t), { name: "progress" }));
7
+ }
8
+ });
9
+ export {
10
+ s as default
11
+ };
12
+ //# sourceMappingURL=LogIcon.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogIcon.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -0,0 +1,5 @@
1
+ import f from "./LogIcon.vue.js";
2
+ export {
3
+ f as default
4
+ };
5
+ //# sourceMappingURL=LogIcon.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogIcon.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsIcon.vue.d.ts","sourceRoot":"","sources":["../../../../../src/GraphMaker/components/SettingsTabs/icons/SettingsIcon.vue"],"names":[],"mappings":";AAuDA,wBAMG"}
@@ -6,6 +6,8 @@ type __VLS_Props = {
6
6
  graphStatus: GraphStatus;
7
7
  allowDeleting?: boolean;
8
8
  hasSettingsSlot?: boolean;
9
+ hasLogSlot?: boolean;
10
+ initialLoading: boolean;
9
11
  modelValue: FormKey | null;
10
12
  };
11
13
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../../src/GraphMaker/components/SettingsTabs/index.vue"],"names":[],"mappings":"AA8DA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAGrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,OAAO,GAAG,IAAI,CAAA;CAC3B,CAAC;;;;;;;;;;AAmHF,wBAQG"}
1
+ {"version":3,"file":"index.vue.d.ts","sourceRoot":"","sources":["../../../../src/GraphMaker/components/SettingsTabs/index.vue"],"names":[],"mappings":"AAmEA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAGrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,GAAG,IAAI,CAAA;CAC3B,CAAC;;;;;;;;;;AAwHF,wBAQG"}
@@ -1,31 +1,33 @@
1
- import { defineComponent as f, computed as h, createElementBlock as a, openBlock as l, Fragment as y, renderList as g, createBlock as i, unref as s, normalizeClass as v, withCtx as r, resolveDynamicComponent as S, createElementVNode as V, toDisplayString as C } from "vue";
2
- import { PlTooltip as T } from "@platforma-sdk/ui-vue";
3
- import { tabKeys as B, resolveIcon as _, resolveTitle as b } from "../../forms/index.js";
4
- const k = { class: "settings-tabs" }, D = { style: { "font-family": "var(--font-family-base)" } }, $ = /* @__PURE__ */ f({
1
+ import { defineComponent as g, computed as h, createElementBlock as i, openBlock as l, Fragment as y, renderList as f, createBlock as s, unref as a, normalizeClass as S, withCtx as r, resolveDynamicComponent as v, createElementVNode as B, toDisplayString as V } from "vue";
2
+ import { PlTooltip as C } from "@platforma-sdk/ui-vue";
3
+ import { tabKeys as T, resolveIcon as L, resolveTitle as b } from "../../forms/index.js";
4
+ const D = { class: "settings-tabs" }, _ = { style: { "font-family": "var(--font-family-base)" } }, M = /* @__PURE__ */ g({
5
5
  __name: "index",
6
6
  props: {
7
7
  chartType: {},
8
8
  graphStatus: {},
9
9
  allowDeleting: { type: Boolean },
10
10
  hasSettingsSlot: { type: Boolean },
11
+ hasLogSlot: { type: Boolean },
12
+ initialLoading: { type: Boolean },
11
13
  modelValue: {}
12
14
  },
13
15
  emits: ["update:modelValue", "export", "delete"],
14
- setup(n, { emit: p }) {
15
- const c = p, o = n, d = h(() => B().filter(
16
- (e) => !(e === "settings" && !o.hasSettingsSlot) && !(e === "statistics" && o.chartType !== "discrete" && o.chartType !== "scatterplot") && !(e === "delete" && o.allowDeleting)
16
+ setup(p, { emit: n }) {
17
+ const d = n, o = p, c = h(() => T().filter(
18
+ (e) => !(e === "settings" && !o.hasSettingsSlot) && !(e === "log" && !o.hasLogSlot) && !(e === "statistics" && o.chartType !== "discrete" && o.chartType !== "scatterplot") && !(e === "delete" && o.allowDeleting)
17
19
  ));
18
20
  function u(e) {
19
- c("update:modelValue", e === o.modelValue ? null : e);
21
+ d("update:modelValue", e === o.modelValue ? null : e);
20
22
  }
21
- return (e, w) => (l(), a("div", k, [
22
- (l(!0), a(y, null, g(d.value, (t) => (l(), i(s(T), {
23
+ return (e, k) => (l(), i("div", D, [
24
+ (l(!0), i(y, null, f(c.value, (t) => (l(), s(a(C), {
23
25
  key: t,
24
26
  "open-delay": 100,
25
27
  "close-delay": 100,
26
- class: v(["has-inline-icon", {
28
+ class: S(["has-inline-icon", {
27
29
  active: e.modelValue === t,
28
- "temp-inactive": t === "export" && (e.graphStatus !== "ready" || e.chartType === "scatterplot-umap"),
30
+ "temp-inactive": t === "export" && (e.graphStatus !== "ready" || e.chartType === "scatterplot-umap") || e.initialLoading && (t === "template" || t === "dataMapping" || t === "axes" || t === "statistics" || t === "layers"),
29
31
  [t]: !0
30
32
  }]),
31
33
  position: "left",
@@ -35,10 +37,10 @@ const k = { class: "settings-tabs" }, D = { style: { "font-family": "var(--font-
35
37
  }
36
38
  }, {
37
39
  tooltip: r(() => [
38
- V("span", D, C(s(b)(t)), 1)
40
+ B("span", _, V(a(b)(t)), 1)
39
41
  ]),
40
42
  default: r(() => [
41
- (l(), i(S(s(_)(t))))
43
+ (l(), s(v(a(L)(t))))
42
44
  ]),
43
45
  _: 2
44
46
  }, 1032, ["class", "hide", "onClick"]))), 128))
@@ -46,6 +48,6 @@ const k = { class: "settings-tabs" }, D = { style: { "font-family": "var(--font-
46
48
  }
47
49
  });
48
50
  export {
49
- $ as default
51
+ M as default
50
52
  };
51
53
  //# sourceMappingURL=index.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue.js","sources":["../../../../src/GraphMaker/components/SettingsTabs/index.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ChartType } from '@milaboratories/pf-plots';\nimport { PlTooltip } from '@platforma-sdk/ui-vue';\nimport { computed } from 'vue';\nimport type { FormKey } from '../../forms';\nimport { resolveIcon, resolveTitle, tabKeys } from '../../forms';\nimport { GraphStatus } from '../../types';\n\nconst emit = defineEmits(['update:modelValue', 'export', 'delete']);\n\nconst props = defineProps<{\n chartType: ChartType,\n graphStatus: GraphStatus,\n allowDeleting?: boolean,\n hasSettingsSlot?: boolean,\n modelValue: FormKey | null\n}>();\n\nconst tabs = computed(() => tabKeys().filter((key) =>\n !(key === 'settings' && !props.hasSettingsSlot) &&\n !(key === 'statistics' && props.chartType !== 'discrete' && props.chartType !== 'scatterplot') &&\n !(key === 'delete' && props.allowDeleting)\n));\n\nfunction updateModel(v: string) {\n emit('update:modelValue', v === props.modelValue ? null : v);\n}\n</script>\n\n<template>\n <div class=\"settings-tabs\">\n <pl-tooltip\n v-for=\"(name) in tabs\"\n :key=\"name\"\n :open-delay=\"100\"\n :close-delay=\"100\"\n class=\"has-inline-icon\"\n :class=\"{\n 'active': modelValue === name,\n 'temp-inactive': name === 'export' && (graphStatus !== 'ready' || chartType === 'scatterplot-umap'),\n [name]: true\n }\"\n position=\"left\"\n :hide=\"modelValue === name\"\n @click=\"(e:Event) => {\n e.stopPropagation();\n name === 'export' ? $emit('export') :\n name === 'delete' ? $emit('delete') :\n updateModel(name)\n }\"\n >\n <component :is=\"resolveIcon(name)\"/>\n <template #tooltip>\n <span style=\"font-family: var(--font-family-base);\">\n {{ resolveTitle(name) }}\n </span>\n </template>\n </pl-tooltip>\n </div>\n</template>\n"],"names":["emit","__emit","props","__props","tabs","computed","tabKeys","key","updateModel","v"],"mappings":";;;;;;;;;;;;;;AAQA,UAAMA,IAAOC,GAEPC,IAAQC,GAQRC,IAAOC,EAAS,MAAMC,EAAA,EAAU;AAAA,MAAO,CAACC,MAC1C,EAAEA,MAAQ,cAAc,CAACL,EAAM,oBAC/B,EAAEK,MAAQ,gBAAgBL,EAAM,cAAc,cAAcA,EAAM,cAAc,kBAChF,EAAEK,MAAQ,YAAYL,EAAM;AAAA,IAAA,CAC/B;AAED,aAASM,EAAYC,GAAW;AAC9B,MAAAT,EAAK,qBAAqBS,MAAMP,EAAM,aAAa,OAAOO,CAAC;AAAA,IAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.vue.js","sources":["../../../../src/GraphMaker/components/SettingsTabs/index.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ChartType } from '@milaboratories/pf-plots';\nimport { PlTooltip } from '@platforma-sdk/ui-vue';\nimport { computed } from 'vue';\nimport type { FormKey } from '../../forms';\nimport { resolveIcon, resolveTitle, tabKeys } from '../../forms';\nimport { GraphStatus } from '../../types';\n\nconst emit = defineEmits(['update:modelValue', 'export', 'delete']);\n\nconst props = defineProps<{\n chartType: ChartType,\n graphStatus: GraphStatus,\n allowDeleting?: boolean,\n hasSettingsSlot?: boolean,\n hasLogSlot?: boolean,\n initialLoading: boolean,\n modelValue: FormKey | null\n}>();\n\nconst tabs = computed(() => tabKeys().filter((key) =>\n !(key === 'settings' && !props.hasSettingsSlot) &&\n !(key === 'log' && !props.hasLogSlot) &&\n !(key === 'statistics' && props.chartType !== 'discrete' && props.chartType !== 'scatterplot') &&\n !(key === 'delete' && props.allowDeleting)\n));\n\nfunction updateModel(v: string) {\n emit('update:modelValue', v === props.modelValue ? null : v);\n}\n</script>\n\n<template>\n <div class=\"settings-tabs\">\n <pl-tooltip\n v-for=\"(name) in tabs\"\n :key=\"name\"\n :open-delay=\"100\"\n :close-delay=\"100\"\n class=\"has-inline-icon\"\n :class=\"{\n 'active': modelValue === name,\n 'temp-inactive':\n name === 'export' && (graphStatus !== 'ready' || chartType === 'scatterplot-umap') ||\n initialLoading && (name === 'template' || name === 'dataMapping' || name === 'axes' || name === 'statistics' || name === 'layers'),\n [name]: true\n }\"\n position=\"left\"\n :hide=\"modelValue === name\"\n @click=\"(e:Event) => {\n e.stopPropagation();\n name === 'export' ? $emit('export') :\n name === 'delete' ? $emit('delete') :\n updateModel(name)\n }\"\n >\n <component :is=\"resolveIcon(name)\"/>\n <template #tooltip>\n <span style=\"font-family: var(--font-family-base);\">\n {{ resolveTitle(name) }}\n </span>\n </template>\n </pl-tooltip>\n </div>\n</template>\n"],"names":["emit","__emit","props","__props","tabs","computed","tabKeys","key","updateModel","v"],"mappings":";;;;;;;;;;;;;;;;AAQA,UAAMA,IAAOC,GAEPC,IAAQC,GAURC,IAAOC,EAAS,MAAMC,EAAA,EAAU;AAAA,MAAO,CAACC,MAC1C,EAAEA,MAAQ,cAAc,CAACL,EAAM,oBAC/B,EAAEK,MAAQ,SAAS,CAACL,EAAM,eAC1B,EAAEK,MAAQ,gBAAgBL,EAAM,cAAc,cAAcA,EAAM,cAAc,kBAChF,EAAEK,MAAQ,YAAYL,EAAM;AAAA,IAAA,CAC/B;AAED,aAASM,EAAYC,GAAW;AAC9B,MAAAT,EAAK,qBAAqBS,MAAMP,EAAM,aAAa,OAAOO,CAAC;AAAA,IAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,19 @@
1
+ declare function __VLS_template(): {
2
+ attrs: Partial<{}>;
3
+ slots: {
4
+ default?(_: {}): any;
5
+ logSlot?(_: {}): any;
6
+ };
7
+ refs: {};
8
+ rootEl: HTMLDivElement;
9
+ };
10
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
11
+ declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
12
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
13
+ export default _default;
14
+ type __VLS_WithTemplateSlots<T, S> = T & {
15
+ new (): {
16
+ $slots: S;
17
+ };
18
+ };
19
+ //# sourceMappingURL=LogForm.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogForm.vue.d.ts","sourceRoot":"","sources":["../../../src/GraphMaker/forms/LogForm.vue"],"names":[],"mappings":"AAuBA,iBAAS,cAAc;WAoCT,OAAO,IAA6B;;yBAXrB,GAAG;yBACH,GAAG;;;;EAe/B;AAOD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe,0RAMnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAEpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { createElementBlock as n, openBlock as r, createElementVNode as o, renderSlot as e } from "vue";
2
+ import i from "../../_virtual/_plugin-vue_export-helper.js";
3
+ const d = {}, f = { class: "settings-list" };
4
+ function m(s, t) {
5
+ return r(), n("div", {
6
+ class: "settings-form",
7
+ onClick: t[0] || (t[0] = (l) => l.stopPropagation())
8
+ }, [
9
+ t[1] || (t[1] = o("div", { class: "settings-title" }, [
10
+ o("h3", null, " Log ")
11
+ ], -1)),
12
+ o("div", f, [
13
+ e(s.$slots, "default"),
14
+ e(s.$slots, "logSlot")
15
+ ])
16
+ ]);
17
+ }
18
+ const g = /* @__PURE__ */ i(d, [["render", m]]);
19
+ export {
20
+ g as default
21
+ };
22
+ //# sourceMappingURL=LogForm.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogForm.vue.js","sources":["../../../src/GraphMaker/forms/LogForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n\n</script>\n\n<template v-slot=\"slotProps\">\n <div class=\"settings-form\" @click=\"(e) => e.stopPropagation()\">\n <div class=\"settings-title\">\n <h3>\n Log\n </h3>\n </div>\n <div class=\"settings-list\">\n <slot></slot>\n <slot name=\"logSlot\"></slot>\n </div>\n </div>\n</template>\n"],"names":["_hoisted_1","_createElementBlock","_cache","e","_createElementVNode","_renderSlot","_ctx"],"mappings":";;cAWSA,IAAA,EAAA,OAAM,gBAAe;;cAN5BC,EAUM,OAAA;AAAA,IAVD,OAAM;AAAA,IAAiB,SAAKC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,MAAMA,EAAE,gBAAe;AAAA;oBACzDC,EAIM,OAAA,EAJD,OAAM,oBAAgB;AAAA,MACzBA,EAEK,YAFD,OAEJ;AAAA;IAEFA,EAGM,OAHNJ,GAGM;AAAA,MAFFK,EAAaC,EAAA,QAAA,SAAA;AAAA,MACbD,EAA4BC,EAAA,QAAA,SAAA;AAAA;;;;"}
@@ -23,6 +23,28 @@ declare const forms: {
23
23
  });
24
24
  title: string;
25
25
  };
26
+ log: {
27
+ icon: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, SVGSVGElement>;
28
+ component: {
29
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
30
+ P: {};
31
+ B: {};
32
+ D: {};
33
+ C: {};
34
+ M: {};
35
+ Defaults: {};
36
+ }, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, {}>;
37
+ __isFragment?: never;
38
+ __isTeleport?: never;
39
+ __isSuspense?: never;
40
+ } & import('vue').ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
41
+ $slots: {
42
+ default?(_: {}): any;
43
+ logSlot?(_: {}): any;
44
+ };
45
+ });
46
+ title: string;
47
+ };
26
48
  template: {
27
49
  icon: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, SVGSVGElement>;
28
50
  component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/GraphMaker/forms/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAkBhC,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCV,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,KAAK,CAAC;AAEzC,wBAAgB,OAAO,IACQ,OAAO,EAAE,CACvC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAEpD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,UAEzC;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,6HAK5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/GraphMaker/forms/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAmBhC,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CV,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,KAAK,CAAC;AAEzC,wBAAgB,OAAO,IACQ,OAAO,EAAE,CACvC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAEpD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,UAEzC;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,6HAK5D"}
@@ -1,43 +1,50 @@
1
1
  import { objects as m } from "../../node_modules/@milaboratories/helpers/dist/index.js";
2
2
  import { useComponent as c } from "../composition/useComponent.js";
3
- import p from "../icons/AxesIcon.vue.js";
4
- import s from "../icons/DeleteChartIcon.vue.js";
5
- import f from "../icons/ExportIcon.vue.js";
6
- import a from "../icons/LayersIcon.vue.js";
7
- import l from "../icons/LinkIcon.vue.js";
8
- import u from "../icons/SettingsIcon.vue.js";
9
- import _ from "../icons/StatisticsIcon.vue.js";
10
- import g from "../icons/TemplateIcon.vue.js";
11
- import I from "./AxesSettingsForm/index.vue.js";
12
- import x from "./DataMappingForm/index.vue.js";
3
+ import p from "../components/SettingsTabs/icons/AxesIcon.vue.js";
4
+ import s from "../components/SettingsTabs/icons/DeleteChartIcon.vue.js";
5
+ import f from "../components/SettingsTabs/icons/ExportIcon.vue.js";
6
+ import a from "../components/SettingsTabs/icons/LayersIcon.vue.js";
7
+ import l from "../components/SettingsTabs/icons/LinkIcon.vue.js";
8
+ import u from "../components/SettingsTabs/icons/SettingsIcon.vue.js";
9
+ import _ from "../components/SettingsTabs/icons/LogIcon.vue.js";
10
+ import g from "../icons/StatisticsIcon.vue.js";
11
+ import I from "../icons/TemplateIcon.vue.js";
12
+ import x from "./AxesSettingsForm/index.vue.js";
13
+ import $ from "./DataMappingForm/index.vue.js";
13
14
  import y from "./LayersForm/index.vue.js";
14
- import S from "./SettingsForm.vue.js";
15
- import $ from "./StatisticsForm/index.vue.js";
16
- import b from "./TemplateForm.vue.js";
15
+ import L from "./SettingsForm.vue.js";
16
+ import S from "./LogForm.vue.js";
17
+ import b from "./StatisticsForm/index.vue.js";
18
+ import d from "./TemplateForm.vue.js";
17
19
  const o = {
18
20
  settings: {
19
21
  icon: u,
20
- component: S,
22
+ component: L,
21
23
  title: "Settings"
22
24
  },
25
+ log: {
26
+ icon: _,
27
+ component: S,
28
+ title: "Log"
29
+ },
23
30
  template: {
24
- icon: g,
25
- component: b,
31
+ icon: I,
32
+ component: d,
26
33
  title: "Template"
27
34
  },
28
35
  dataMapping: {
29
36
  icon: l,
30
- component: x,
37
+ component: $,
31
38
  title: "Data mapping"
32
39
  },
33
40
  axes: {
34
41
  icon: p,
35
- component: I,
42
+ component: x,
36
43
  title: "Axes settings"
37
44
  },
38
45
  statistics: {
39
- icon: _,
40
- component: $,
46
+ icon: g,
47
+ component: b,
41
48
  title: "Statistics"
42
49
  },
43
50
  layers: {
@@ -56,23 +63,23 @@ const o = {
56
63
  title: "Export"
57
64
  }
58
65
  };
59
- function q() {
66
+ function G() {
60
67
  return Object.keys(o);
61
68
  }
62
- function w(t) {
69
+ function H(t) {
63
70
  return o[t].icon ?? "";
64
71
  }
65
- function z(t) {
72
+ function J(t) {
66
73
  return o[t].title ?? "";
67
74
  }
68
- function B(t) {
75
+ function N(t) {
69
76
  const n = Object.entries(o).reduce((e, [i, r]) => m.setProp(e, i, r.component), {});
70
77
  return c(n, t);
71
78
  }
72
79
  export {
73
- w as resolveIcon,
74
- z as resolveTitle,
75
- q as tabKeys,
76
- B as useSettingsForm
80
+ H as resolveIcon,
81
+ J as resolveTitle,
82
+ G as tabKeys,
83
+ N as useSettingsForm
77
84
  };
78
85
  //# sourceMappingURL=index.js.map