@milaboratories/graph-maker 1.1.182 → 1.1.183
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.
- package/dist/components/AesSettings/AesDataMappingDiscrete.vue.d.ts +1 -3
- package/dist/components/AesSettings/AesDataMappingDiscrete.vue.js +7 -323
- package/dist/components/AesSettings/AesDataMappingDiscrete.vue.js.map +1 -1
- package/dist/components/AesSettings/AesDataMappingDiscrete.vue2.js +215 -2
- package/dist/components/AesSettings/AesDataMappingDiscrete.vue2.js.map +1 -1
- package/dist/components/AesSettings/AesDataMappingDiscrete.vue3.js +11 -0
- package/dist/components/AesSettings/AesDataMappingDiscrete.vue3.js.map +1 -0
- package/dist/components/AesSettings/DiscreteRow.vue.d.ts +27 -0
- package/dist/components/AesSettings/DiscreteRow.vue.js +10 -0
- package/dist/components/AesSettings/DiscreteRow.vue.js.map +1 -0
- package/dist/components/AesSettings/DiscreteRow.vue2.js +159 -0
- package/dist/components/AesSettings/DiscreteRow.vue2.js.map +1 -0
- package/dist/components/AesSettings/DiscreteRow.vue3.js +19 -0
- package/dist/components/AesSettings/DiscreteRow.vue3.js.map +1 -0
- package/dist/components/ReorderForm.vue.d.ts +1 -3
- package/dist/components/ReorderForm.vue.js +7 -43
- package/dist/components/ReorderForm.vue.js.map +1 -1
- package/dist/components/ReorderForm.vue2.js +50 -2
- package/dist/components/ReorderForm.vue2.js.map +1 -1
- package/dist/components/ReorderForm.vue3.js +11 -0
- package/dist/components/ReorderForm.vue3.js.map +1 -0
- package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js +20 -20
- package/dist/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.js +53 -53
- package/dist/forms/LayersForm/AesSelector.vue.js +29 -29
- package/dist/utils/createChartSettingsForRender/getLayersDataFromForms.js +49 -52
- package/dist/utils/createChartSettingsForRender/getLayersDataFromForms.js.map +1 -1
- package/package.json +1 -1
- package/dist/icons/Reorder.vue.d.ts +0 -2
- package/dist/icons/Reorder.vue.js +0 -19
- package/dist/icons/Reorder.vue.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isContinuousDataMapping as w } from "../../constantsCommon.js";
|
|
2
|
-
import { AMINOACID_COLOR_MAPPING as L, NUCLEOTIDE_COLOR_MAPPING as
|
|
3
|
-
import { DEFAULT_DOT_SIZE as
|
|
2
|
+
import { AMINOACID_COLOR_MAPPING as L, NUCLEOTIDE_COLOR_MAPPING as A, PALETTE_MAP as b, DEFAULT_BLACK as v, DEFAULT_CONTINUOUS_PALETTE as F, DEFAULT_DOT_SHAPE as I } from "../../constantsAesthetic.js";
|
|
3
|
+
import { DEFAULT_DOT_SIZE as _, DEFAULT_DOT_RANGE as P, isAestheticMappingContinuous as N, createContinuousMappingFromPalette as V } from "../../dataBindAes.js";
|
|
4
4
|
function x(t) {
|
|
5
5
|
const r = [];
|
|
6
6
|
if (t.overall.data.testMethod && t.overall.validity.testMethod && r.push({
|
|
@@ -8,7 +8,7 @@ function x(t) {
|
|
|
8
8
|
statType: "overall",
|
|
9
9
|
testMethod: t.overall.data.testMethod
|
|
10
10
|
}), t.referenceGroup.data.testMethod && t.referenceGroup.validity.testMethod && t.referenceGroup.validity.referenceGroup) {
|
|
11
|
-
const
|
|
11
|
+
const u = {
|
|
12
12
|
type: "stat",
|
|
13
13
|
statType: "referenceGroup",
|
|
14
14
|
testMethod: t.referenceGroup.data.testMethod,
|
|
@@ -16,24 +16,24 @@ function x(t) {
|
|
|
16
16
|
format: t.referenceGroup.data.format,
|
|
17
17
|
ns: t.referenceGroup.data.ns
|
|
18
18
|
};
|
|
19
|
-
t.referenceGroup.data.correctionMethod !== "none" && (
|
|
19
|
+
t.referenceGroup.data.correctionMethod !== "none" && (u.correctionMethod = t.referenceGroup.data.correctionMethod), r.push(u);
|
|
20
20
|
}
|
|
21
21
|
if (t.pairwise.data.testMethod && t.pairwise.validity.testMethod) {
|
|
22
|
-
const
|
|
22
|
+
const u = {
|
|
23
23
|
type: "stat",
|
|
24
24
|
statType: "pairwise",
|
|
25
25
|
testMethod: t.pairwise.data.testMethod,
|
|
26
26
|
format: t.pairwise.data.format,
|
|
27
27
|
ns: t.pairwise.data.ns
|
|
28
28
|
};
|
|
29
|
-
t.referenceGroup.data.correctionMethod !== "none" && (
|
|
29
|
+
t.referenceGroup.data.correctionMethod !== "none" && (u.correctionMethod = t.referenceGroup.data.correctionMethod), r.push(u);
|
|
30
30
|
}
|
|
31
31
|
return r;
|
|
32
32
|
}
|
|
33
|
-
function B(t, r,
|
|
34
|
-
const n = [], h =
|
|
33
|
+
function B(t, r, u, f, d) {
|
|
34
|
+
const n = [], h = f.components.primaryGrouping.selectorStates.length > 0, s = f.components.secondaryGrouping.selectorStates.length > 0;
|
|
35
35
|
function i(o, l = !1) {
|
|
36
|
-
return o === null ?
|
|
36
|
+
return o === null ? s ? { type: "secondaryGrouping" } : h && !l ? { type: "primaryGrouping" } : { type: "secondaryGrouping" } : o;
|
|
37
37
|
}
|
|
38
38
|
return t.forEach((o) => {
|
|
39
39
|
var l;
|
|
@@ -174,88 +174,85 @@ function B(t, r, c, d, f) {
|
|
|
174
174
|
}
|
|
175
175
|
});
|
|
176
176
|
}
|
|
177
|
-
if (o === "logo" &&
|
|
178
|
-
const e = r[o], y = ((l =
|
|
177
|
+
if (o === "logo" && s) {
|
|
178
|
+
const e = r[o], y = ((l = d.getSourceInfo(f.components.secondaryGrouping.selectorStates[0].selectedSource).spec.domain) == null ? void 0 : l["pl7.app/alphabet"]) === "aminoacid";
|
|
179
179
|
n.push({
|
|
180
180
|
type: "logo",
|
|
181
181
|
normalize: e.normalize,
|
|
182
182
|
aes: {
|
|
183
183
|
opacity: e.opacity,
|
|
184
|
-
dotFill: y ? L :
|
|
184
|
+
dotFill: y ? L : A
|
|
185
185
|
}
|
|
186
186
|
});
|
|
187
187
|
}
|
|
188
|
-
}), h && !
|
|
188
|
+
}), h && !s && n.push(...x(u)), n;
|
|
189
189
|
}
|
|
190
|
-
function z(t, r,
|
|
190
|
+
function z(t, r, u, f) {
|
|
191
191
|
if (t) {
|
|
192
|
-
const
|
|
193
|
-
return
|
|
194
|
-
const
|
|
195
|
-
|
|
196
|
-
}), { columnName: t, domain: n, range: [
|
|
192
|
+
const d = w(r) ? r : { column: t.value, range: P }, n = [1 / 0, -1 / 0];
|
|
193
|
+
return u.values[t.value].forEach((h) => {
|
|
194
|
+
const s = Number(h);
|
|
195
|
+
s < n[0] && (n[0] = s), s > n[1] && (n[1] = s);
|
|
196
|
+
}), { columnName: t, domain: n, range: [d.range.min, d.range.max] };
|
|
197
197
|
}
|
|
198
|
-
return w(r) ?
|
|
198
|
+
return w(r) ? f : r ?? f;
|
|
199
199
|
}
|
|
200
|
-
function D(t, r,
|
|
201
|
-
const
|
|
202
|
-
if (
|
|
203
|
-
|
|
204
|
-
const { range: n, palette: h, midPoint: p, log: i } = r;
|
|
200
|
+
function D(t, r, u, f) {
|
|
201
|
+
const d = u.find((n) => n.value === t);
|
|
202
|
+
if (d) {
|
|
203
|
+
const { range: n, palette: h, midPoint: s, log: i } = r;
|
|
205
204
|
let { minValue: o, maxValue: l } = n ?? {}, e = !1;
|
|
206
|
-
const m = o == null, y = l == null;
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
g < u[0] && (u[0] = g), g > u[1] && (u[1] = g);
|
|
212
|
-
}), console.log("bounds", u)), m && y ? (o = u[0], l = u[1]) : m ? o = l > u[0] ? u[0] : u[1] : y && (l = o < u[1] ? u[1] : u[0]), console.log("minValue", o, "maxValue", l), o != null && l !== null && l !== void 0 && o > l && (e = !0, [o, l] = [l, o]);
|
|
205
|
+
const m = o == null, y = l == null, c = [1 / 0, -1 / 0];
|
|
206
|
+
(m || y) && f.values[d.value].forEach((p) => {
|
|
207
|
+
const g = Number(p);
|
|
208
|
+
g < c[0] && (c[0] = g), g > c[1] && (c[1] = g);
|
|
209
|
+
}), m && y ? (o = c[0], l = c[1]) : m ? o = l > c[0] ? c[0] : c[1] : y && (l = o < c[1] ? c[1] : c[0]), o != null && l !== null && l !== void 0 && o > l && (e = !0, [o, l] = [l, o]);
|
|
213
210
|
const C = [o, l];
|
|
214
|
-
if (
|
|
215
|
-
const
|
|
216
|
-
C[0] =
|
|
211
|
+
if (s != null) {
|
|
212
|
+
const p = Math.max(Math.abs(s - o), Math.abs(s - l));
|
|
213
|
+
C[0] = s - p, C[1] = s + p;
|
|
217
214
|
}
|
|
218
|
-
const a = [...
|
|
215
|
+
const a = [...b[h].colors];
|
|
219
216
|
return e && a.reverse(), {
|
|
220
|
-
columnName:
|
|
217
|
+
columnName: d,
|
|
221
218
|
domain: C,
|
|
222
219
|
range: a,
|
|
223
220
|
type: i ? "log" : "linear"
|
|
224
221
|
};
|
|
225
222
|
}
|
|
226
|
-
return
|
|
223
|
+
return v;
|
|
227
224
|
}
|
|
228
|
-
function R(t, r,
|
|
229
|
-
var
|
|
225
|
+
function R(t, r, u, f, d, n, h = [], s = _) {
|
|
226
|
+
var c, C;
|
|
230
227
|
const i = [];
|
|
231
|
-
function o(a,
|
|
228
|
+
function o(a, p, g, M = !1) {
|
|
232
229
|
var G;
|
|
233
|
-
if (
|
|
234
|
-
const O =
|
|
235
|
-
return a === null || O === "String" || !
|
|
230
|
+
if (p.length) {
|
|
231
|
+
const O = p.length ? (G = n.getSourceInfo(p[0])) == null ? void 0 : G.type : void 0, E = O === "String" || !M ? { type: "grouping", value: p[0] } : D(p[0], V(F), h, u), T = d[p[0]];
|
|
232
|
+
return a === null || O === "String" || !M || !N(T) ? E : D(p[0], T, h, u);
|
|
236
233
|
}
|
|
237
234
|
return typeof a == "object" ? g : a;
|
|
238
235
|
}
|
|
239
|
-
const l =
|
|
236
|
+
const l = f.components.grouping.selectorStates.map((a) => a.selectedSource), e = ((c = f.components.shape) == null ? void 0 : c.selectorStates.map((a) => a.selectedSource)) ?? [], m = (C = f.components.size) == null ? void 0 : C.selectorStates.map((a) => a.selectedSource)[0], y = m ? h.find((a) => a.value === m) : void 0;
|
|
240
237
|
return t.forEach((a) => {
|
|
241
238
|
if (a === "dots") {
|
|
242
|
-
const
|
|
239
|
+
const p = r[a];
|
|
243
240
|
i.push({
|
|
244
241
|
type: "dots",
|
|
245
242
|
aes: {
|
|
246
|
-
dotFill: o(
|
|
247
|
-
dotShape: o(
|
|
248
|
-
dotSize: z(y,
|
|
243
|
+
dotFill: o(p.dotFill, l, v, !0),
|
|
244
|
+
dotShape: o(p.dotShape, e, I),
|
|
245
|
+
dotSize: z(y, p.dotSize, u, s)
|
|
249
246
|
}
|
|
250
247
|
});
|
|
251
248
|
}
|
|
252
249
|
if (a === "curve") {
|
|
253
|
-
const
|
|
250
|
+
const p = r[a];
|
|
254
251
|
i.push({
|
|
255
252
|
type: "curve",
|
|
256
|
-
smoothing:
|
|
253
|
+
smoothing: p.smoothing,
|
|
257
254
|
aes: {
|
|
258
|
-
lineColor: o(
|
|
255
|
+
lineColor: o(p.lineColor, l, v, !0)
|
|
259
256
|
}
|
|
260
257
|
});
|
|
261
258
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getLayersDataFromForms.js","sources":["../../../src/utils/createChartSettingsForRender/getLayersDataFromForms.ts"],"sourcesContent":["import type {\n ColorAes,\n getDefaultLayersSettings,\n NumberRange,\n LayersSettings,\n MappingLink,\n DiscreteStatisticsState,\n ColumnNameSchema,\n ContinuousDataMappingSize,\n ContinuousDataMappingForGraph,\n} from '../../constantsCommon';\nimport {\n isContinuousDataMapping,\n} from '../../constantsCommon';\nimport type {\n Layer,\n ReactiveState,\n} from '../../types';\nimport type {\n DiscreteUIState, InputGuide,\n InputState,\n PlotDataAndSettings,\n ScatterplotUIState,\n} from '@milaboratories/pf-plots';\nimport type { DotShape, LineType } from '../../components/AesSettings/types';\nimport {\n AMINOACID_COLOR_MAPPING,\n DEFAULT_BLACK,\n DEFAULT_CONTINUOUS_PALETTE,\n DEFAULT_DOT_SHAPE, NUCLEOTIDE_COLOR_MAPPING,\n PALETTE_MAP,\n} from '../../constantsAesthetic';\nimport type {\n AestheticMappingContinuous } from '../../dataBindAes';\nimport { createContinuousMappingFromPalette,\n DEFAULT_DOT_RANGE,\n DEFAULT_DOT_SIZE,\n} from '../../dataBindAes';\nimport type { ScatterplotSettings } from '@milaboratories/miplots4';\nimport { isAestheticMappingContinuous } from '../../dataBindAes';\n\nexport function getStatLayers(statisticsSettings: DiscreteStatisticsState) {\n const layers: ChartLayerSettings[] = [];\n if (\n statisticsSettings.overall.data.testMethod\n && statisticsSettings.overall.validity.testMethod\n ) {\n layers.push({\n type: 'stat',\n statType: 'overall',\n testMethod: statisticsSettings.overall.data.testMethod,\n });\n }\n if (\n statisticsSettings.referenceGroup.data.testMethod\n && statisticsSettings.referenceGroup.validity.testMethod\n && statisticsSettings.referenceGroup.validity.referenceGroup\n ) {\n const layer: ChartLayerSettings = {\n type: 'stat',\n statType: 'referenceGroup',\n testMethod: statisticsSettings.referenceGroup.data.testMethod,\n referenceGroup: statisticsSettings.referenceGroup.data.referenceGroup,\n format: statisticsSettings.referenceGroup.data.format,\n ns: statisticsSettings.referenceGroup.data.ns,\n };\n if (statisticsSettings.referenceGroup.data.correctionMethod !== 'none') {\n layer.correctionMethod\n = statisticsSettings.referenceGroup.data.correctionMethod;\n }\n layers.push(layer);\n }\n if (\n statisticsSettings.pairwise.data.testMethod\n && statisticsSettings.pairwise.validity.testMethod\n ) {\n const layer: ChartLayerSettings = {\n type: 'stat',\n statType: 'pairwise',\n testMethod: statisticsSettings.pairwise.data.testMethod,\n format: statisticsSettings.pairwise.data.format,\n ns: statisticsSettings.pairwise.data.ns,\n };\n if (statisticsSettings.referenceGroup.data.correctionMethod !== 'none') {\n layer.correctionMethod\n = statisticsSettings.referenceGroup.data.correctionMethod;\n }\n layers.push(layer);\n }\n return layers;\n}\n\nexport function getDiscreteLayersSettings(\n layers: Layer[],\n layerSettings: LayersSettings,\n statisticsSettings: DiscreteStatisticsState,\n optionsState: DiscreteUIState,\n inputGuide: InputGuide<InputState>,\n): ChartLayerSettings[] {\n const result: ChartLayerSettings[] = [];\n const hasPrimaryGrouping\n = optionsState.components.primaryGrouping.selectorStates.length > 0;\n const hasSecondaryGrouping\n = optionsState.components.secondaryGrouping.selectorStates.length > 0;\n // If user didn't touch layers settings, some aes that can be mapped to groupings has 'null' value - we set them to secondary or primary grouping if available\n // for 'line', 'errorbar' layer it isn't possible to set primary grouping as a color aes\n function useDefaultColor(\n value: ColorAes | null,\n onlySecondaryAvailable = false,\n ) {\n if (value === null) {\n if (hasSecondaryGrouping) {\n return { type: 'secondaryGrouping' };\n }\n if (hasPrimaryGrouping && !onlySecondaryAvailable) {\n return { type: 'primaryGrouping' };\n }\n return { type: 'secondaryGrouping' };\n }\n return value;\n }\n\n layers.forEach((layer) => {\n if (layer === 'box') {\n const settings = layerSettings[layer];\n result.push({\n type: 'box',\n aes: {\n showOutliers: settings.showOutliers,\n dotShape: settings.dotShape,\n fillColor: useDefaultColor(settings.fillColor),\n lineColor: useDefaultColor(settings.lineColor),\n lineShape: settings.lineType,\n opacity: settings.opacity,\n },\n });\n }\n if (layer === 'binnedDots') {\n const settings = layerSettings[layer];\n result.push({\n type: 'binnedDots',\n aes: {\n showOutliers: settings.showOutliers,\n fillColor: useDefaultColor(settings.fillColor),\n lineColor: useDefaultColor(settings.lineColor),\n opacity: settings.opacity,\n },\n });\n }\n if (layer === 'jitteredDots') {\n const settings = layerSettings[layer];\n result.push({\n type: 'dot',\n aes: {\n showOutliers: settings.showOutliers,\n dotFill: useDefaultColor(settings.dotFill),\n dotShape: settings.dotShape,\n lineColor: settings.lineColor,\n opacity: settings.opacity,\n },\n });\n }\n if (layer === 'violin') {\n const settings = layerSettings[layer];\n result.push({\n type: 'violin',\n stat: {\n trim: settings.trim,\n },\n aes: {\n showQuartiles: settings.showQuartiles,\n medianLineStyle: settings.medianLineStyle,\n quartilesLineStyle: settings.quartilesLineStyle,\n fillColor: useDefaultColor(settings.fillColor),\n lineColor: useDefaultColor(settings.lineColor),\n lineShape: settings.lineType,\n opacity: settings.opacity,\n },\n });\n }\n if (layer === 'bar') {\n const settings = layerSettings[layer];\n result.push({\n type: 'bar',\n height: settings.height,\n aes: {\n fillColor: useDefaultColor(settings.fillColor),\n lineColor: useDefaultColor(settings.lineColor),\n opacity: settings.opacity,\n },\n });\n }\n if (layer === 'stackedBar') {\n const settings = layerSettings[layer];\n result.push({\n type: 'stackedBar',\n normalize: settings.normalize,\n height: settings.height,\n aes: {\n fillColor: useDefaultColor(settings.fillColor),\n lineColor: useDefaultColor(settings.lineColor),\n opacity: settings.opacity,\n },\n });\n }\n if (layer === 'stackedArea') {\n const settings = layerSettings[layer];\n result.push({\n type: 'stackedArea',\n normalize: settings.normalize,\n showBars: settings.showBars,\n height: settings.height,\n aes: {\n fillColor: useDefaultColor(settings.fillColor),\n lineColor: useDefaultColor(settings.lineColor),\n barsOpacity: settings.barsOpacity,\n areaOpacity: settings.areaOpacity,\n },\n });\n }\n if (layer === 'line') {\n const settings = layerSettings[layer];\n result.push({\n type: 'line',\n pointsValues: settings.pointsValues,\n emptyGroupValue: settings.emptyGroupValue ?? 0,\n aes: {\n lineColor: useDefaultColor(settings.lineColor, true),\n fillColor: useDefaultColor(settings.dotFill, true),\n lineShape: settings.lineType,\n dotShape: settings.dotShape,\n opacity: settings.opacity,\n },\n });\n }\n if (layer === 'errorbar') {\n const settings = layerSettings[layer];\n result.push({\n type: 'errorbar',\n pointsValues: settings.pointsValues,\n interval: settings.interval,\n aes: {\n lineColor: useDefaultColor(settings.lineColor, true),\n fillColor: useDefaultColor(settings.dotFill, true),\n dotShape: settings.dotShape,\n opacity: settings.opacity,\n },\n });\n }\n if (layer === 'sina') {\n const settings = layerSettings[layer];\n result.push({\n type: 'sina',\n aes: {\n showOutliers: settings.showOutliers,\n dotFill: useDefaultColor(settings.dotFill),\n dotShape: settings.dotShape,\n },\n });\n }\n if (layer === 'logo' && hasSecondaryGrouping) {\n const settings = layerSettings[layer];\n const secondaryGroupingInfo = inputGuide.getSourceInfo(optionsState.components.secondaryGrouping.selectorStates[0].selectedSource);\n const isProtein = secondaryGroupingInfo.spec.domain?.['pl7.app/alphabet'] === 'aminoacid';\n result.push({\n type: 'logo',\n normalize: settings.normalize,\n aes: {\n opacity: settings.opacity,\n dotFill: isProtein ? AMINOACID_COLOR_MAPPING : NUCLEOTIDE_COLOR_MAPPING,\n },\n });\n }\n });\n if (hasPrimaryGrouping && !hasSecondaryGrouping) {\n result.push(...getStatLayers(statisticsSettings));\n }\n return result;\n}\n\nfunction getDotSize(\n column: ColumnNameSchema | undefined,\n dotSize: ContinuousDataMappingSize | number | null,\n dataByColumns: PlotDataAndSettings['data']['byColumns'],\n defaultDotSize: number,\n): number | { columnName: ColumnNameSchema; domain: number[]; range: number[] } {\n if (column) {\n const mapping = isContinuousDataMapping(dotSize) ? dotSize : { column: column.value, range: DEFAULT_DOT_RANGE };\n const domain = [Infinity, -Infinity];\n dataByColumns.values[column.value].forEach((v) => {\n const value = Number(v);\n if (value < domain[0]) {\n domain[0] = value;\n }\n if (value > domain[1]) {\n domain[1] = value;\n }\n });\n return { columnName: column, domain, range: [mapping.range.min, mapping.range.max] };\n }\n return isContinuousDataMapping(dotSize) ? defaultDotSize : dotSize ?? defaultDotSize;\n}\n\nfunction getContinuousColor<T extends string>(\n columnKey: string,\n value: AestheticMappingContinuous,\n groupingColumns: ColumnNameSchema[],\n dataByColumns: PlotDataAndSettings['data']['byColumns'],\n): T | ContinuousDataMappingForGraph<T> {\n const column = groupingColumns.find((groupingColumn) => groupingColumn.value === columnKey);\n if (column) {\n console.log('column', column);\n console.log('value', value);\n const { range, palette, midPoint, log } = value;\n let { minValue, maxValue } = range ?? {};\n let inverted = false;\n\n const minValueMissed = minValue === null || minValue === undefined;\n const maxValueMissed = maxValue === null || maxValue === undefined;\n\n console.log('minValueMissed', minValueMissed);\n console.log('maxValueMissed', maxValueMissed);\n const bounds = [Infinity, -Infinity];\n if (minValueMissed || maxValueMissed) {\n dataByColumns.values[column.value].forEach((v) => {\n const value = Number(v);\n if (value < bounds[0]) {\n bounds[0] = value;\n }\n if (value > bounds[1]) {\n bounds[1] = value;\n }\n });\n console.log('bounds', bounds);\n }\n if (minValueMissed && maxValueMissed) {\n minValue = bounds[0];\n maxValue = bounds[1];\n } else if (minValueMissed) {\n minValue = (maxValue as number) > bounds[0] ? bounds[0] : bounds[1];\n } else if (maxValueMissed) {\n maxValue = (minValue as number) < bounds[1] ? bounds[1] : bounds[0];\n }\n console.log('minValue', minValue, 'maxValue', maxValue);\n if (minValue !== null && minValue !== undefined && maxValue !== null && maxValue !== undefined && minValue > maxValue) {\n inverted = true;\n [minValue, maxValue] = [maxValue, minValue];\n }\n const domain = [minValue as number, maxValue as number];\n if (midPoint !== null && midPoint !== undefined) {\n const maxDistance = Math.max(Math.abs(midPoint - (minValue as number)), Math.abs(midPoint - (maxValue as number)));\n domain[0] = midPoint - maxDistance;\n domain[1] = midPoint + maxDistance;\n }\n\n const colors = [...PALETTE_MAP[palette].colors];\n if (inverted) {\n colors.reverse();\n }\n return {\n columnName: column,\n domain,\n range: colors,\n type: log ? 'log' : 'linear',\n } as ContinuousDataMappingForGraph<T>;\n }\n return DEFAULT_BLACK as T;\n}\n\nexport function getScatterplotLayersSettings(\n layers: Layer[],\n layerSettings: ReturnType<typeof getDefaultLayersSettings>,\n dataByColumns: PlotDataAndSettings['data']['byColumns'],\n optionsState: ScatterplotUIState,\n dataBindAes: ReactiveState['dataBindAes'],\n inputGuide: InputGuide<InputState>,\n groupingSchema: ColumnNameSchema[] = [],\n defaultDotSize = DEFAULT_DOT_SIZE,\n): ScatterplotSettings['layers'] {\n const result: ScatterplotSettings['layers'] = [];\n\n function useDefault<T extends string>(value: T | MappingLink | null, columns: string[], defaultValue: T, continousAvailable = false): T | {\n type: 'grouping';\n value: string;\n } | ContinuousDataMappingForGraph<T> {\n if (columns.length) {\n const valueType = columns.length ? inputGuide.getSourceInfo(columns[0])?.type : undefined;\n const defaultByColumn = (valueType === 'String' || !continousAvailable)\n ? { type: 'grouping', value: columns[0] } as { type: 'grouping'; value: string }\n : getContinuousColor<T>(columns[0], createContinuousMappingFromPalette(DEFAULT_CONTINUOUS_PALETTE), groupingSchema, dataByColumns);\n\n const savedMapping = dataBindAes[columns[0]];\n\n if (value === null || (valueType === 'String' || !continousAvailable) || !isAestheticMappingContinuous(savedMapping)) {\n return defaultByColumn;\n }\n return getContinuousColor<T>(columns[0], savedMapping as AestheticMappingContinuous, groupingSchema, dataByColumns);\n }\n\n return typeof value === 'object' ? defaultValue : value as T;\n }\n\n const grouping = optionsState.components.grouping.selectorStates.map((s) => s.selectedSource);\n const shape = optionsState.components.shape?.selectorStates.map((s) => s.selectedSource) ?? [];\n const sizeKey = optionsState.components.size?.selectorStates.map((s) => s.selectedSource)[0];\n const sizeColumn = sizeKey ? groupingSchema.find((column) => column.value === sizeKey) : undefined;\n\n layers.forEach((layer) => {\n if (layer === 'dots') {\n const settings = layerSettings[layer];\n result.push({\n type: 'dots',\n aes: {\n dotFill: useDefault<string>(settings.dotFill, grouping, DEFAULT_BLACK, true) as string | {\n type: 'grouping';\n value: string;\n } | ContinuousDataMappingForGraph<string>,\n dotShape: useDefault<DotShape>(settings.dotShape, shape, DEFAULT_DOT_SHAPE) as {\n type: 'grouping';\n value: string;\n } | DotShape,\n dotSize: getDotSize(sizeColumn, settings.dotSize, dataByColumns, defaultDotSize),\n },\n });\n }\n if (layer === 'curve') {\n const settings = layerSettings[layer];\n result.push({\n type: 'curve',\n smoothing: settings.smoothing,\n aes: {\n lineColor: useDefault<string>(settings.lineColor, grouping, DEFAULT_BLACK, true) as {\n type: 'grouping';\n value: string;\n } | string,\n },\n });\n }\n });\n return result;\n}\n\nexport type ChartLayerSettings = {\n [key: string]: string | number | boolean | null | Record<string, string | DotShape | NumberRange | {\n domain: number[];\n range: number[];\n } | LineType | boolean | number | MappingLink | Record<string, string>> | undefined;\n type: string;\n aes?: Record<string, string | DotShape | NumberRange | {\n domain: number[];\n range: number[];\n } | LineType | boolean | number | MappingLink | Record<string, string>>;\n};\n"],"names":["getStatLayers","statisticsSettings","layers","layer","getDiscreteLayersSettings","layerSettings","optionsState","inputGuide","result","hasPrimaryGrouping","hasSecondaryGrouping","useDefaultColor","value","onlySecondaryAvailable","settings","isProtein","_a","AMINOACID_COLOR_MAPPING","NUCLEOTIDE_COLOR_MAPPING","getDotSize","column","dotSize","dataByColumns","defaultDotSize","mapping","isContinuousDataMapping","DEFAULT_DOT_RANGE","domain","v","getContinuousColor","columnKey","groupingColumns","groupingColumn","range","palette","midPoint","log","minValue","maxValue","inverted","minValueMissed","maxValueMissed","bounds","maxDistance","colors","PALETTE_MAP","DEFAULT_BLACK","getScatterplotLayersSettings","dataBindAes","groupingSchema","DEFAULT_DOT_SIZE","useDefault","columns","defaultValue","continousAvailable","valueType","defaultByColumn","createContinuousMappingFromPalette","DEFAULT_CONTINUOUS_PALETTE","savedMapping","isAestheticMappingContinuous","grouping","s","shape","sizeKey","_b","sizeColumn","DEFAULT_DOT_SHAPE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getLayersDataFromForms.js","sources":["../../../src/utils/createChartSettingsForRender/getLayersDataFromForms.ts"],"sourcesContent":["import type {\n ColorAes,\n getDefaultLayersSettings,\n NumberRange,\n LayersSettings,\n MappingLink,\n DiscreteStatisticsState,\n ColumnNameSchema,\n ContinuousDataMappingSize,\n ContinuousDataMappingForGraph,\n} from '../../constantsCommon';\nimport {\n isContinuousDataMapping,\n} from '../../constantsCommon';\nimport type {\n Layer,\n ReactiveState,\n} from '../../types';\nimport type {\n DiscreteUIState, InputGuide,\n InputState,\n PlotDataAndSettings,\n ScatterplotUIState,\n} from '@milaboratories/pf-plots';\nimport type { DotShape, LineType } from '../../components/AesSettings/types';\nimport {\n AMINOACID_COLOR_MAPPING,\n DEFAULT_BLACK,\n DEFAULT_CONTINUOUS_PALETTE,\n DEFAULT_DOT_SHAPE, NUCLEOTIDE_COLOR_MAPPING,\n PALETTE_MAP,\n} from '../../constantsAesthetic';\nimport type {\n AestheticMappingContinuous } from '../../dataBindAes';\nimport { createContinuousMappingFromPalette,\n DEFAULT_DOT_RANGE,\n DEFAULT_DOT_SIZE,\n} from '../../dataBindAes';\nimport type { ScatterplotSettings } from '@milaboratories/miplots4';\nimport { isAestheticMappingContinuous } from '../../dataBindAes';\n\nexport function getStatLayers(statisticsSettings: DiscreteStatisticsState) {\n const layers: ChartLayerSettings[] = [];\n if (\n statisticsSettings.overall.data.testMethod\n && statisticsSettings.overall.validity.testMethod\n ) {\n layers.push({\n type: 'stat',\n statType: 'overall',\n testMethod: statisticsSettings.overall.data.testMethod,\n });\n }\n if (\n statisticsSettings.referenceGroup.data.testMethod\n && statisticsSettings.referenceGroup.validity.testMethod\n && statisticsSettings.referenceGroup.validity.referenceGroup\n ) {\n const layer: ChartLayerSettings = {\n type: 'stat',\n statType: 'referenceGroup',\n testMethod: statisticsSettings.referenceGroup.data.testMethod,\n referenceGroup: statisticsSettings.referenceGroup.data.referenceGroup,\n format: statisticsSettings.referenceGroup.data.format,\n ns: statisticsSettings.referenceGroup.data.ns,\n };\n if (statisticsSettings.referenceGroup.data.correctionMethod !== 'none') {\n layer.correctionMethod\n = statisticsSettings.referenceGroup.data.correctionMethod;\n }\n layers.push(layer);\n }\n if (\n statisticsSettings.pairwise.data.testMethod\n && statisticsSettings.pairwise.validity.testMethod\n ) {\n const layer: ChartLayerSettings = {\n type: 'stat',\n statType: 'pairwise',\n testMethod: statisticsSettings.pairwise.data.testMethod,\n format: statisticsSettings.pairwise.data.format,\n ns: statisticsSettings.pairwise.data.ns,\n };\n if (statisticsSettings.referenceGroup.data.correctionMethod !== 'none') {\n layer.correctionMethod\n = statisticsSettings.referenceGroup.data.correctionMethod;\n }\n layers.push(layer);\n }\n return layers;\n}\n\nexport function getDiscreteLayersSettings(\n layers: Layer[],\n layerSettings: LayersSettings,\n statisticsSettings: DiscreteStatisticsState,\n optionsState: DiscreteUIState,\n inputGuide: InputGuide<InputState>,\n): ChartLayerSettings[] {\n const result: ChartLayerSettings[] = [];\n const hasPrimaryGrouping\n = optionsState.components.primaryGrouping.selectorStates.length > 0;\n const hasSecondaryGrouping\n = optionsState.components.secondaryGrouping.selectorStates.length > 0;\n // If user didn't touch layers settings, some aes that can be mapped to groupings has 'null' value - we set them to secondary or primary grouping if available\n // for 'line', 'errorbar' layer it isn't possible to set primary grouping as a color aes\n function useDefaultColor(\n value: ColorAes | null,\n onlySecondaryAvailable = false,\n ) {\n if (value === null) {\n if (hasSecondaryGrouping) {\n return { type: 'secondaryGrouping' };\n }\n if (hasPrimaryGrouping && !onlySecondaryAvailable) {\n return { type: 'primaryGrouping' };\n }\n return { type: 'secondaryGrouping' };\n }\n return value;\n }\n\n layers.forEach((layer) => {\n if (layer === 'box') {\n const settings = layerSettings[layer];\n result.push({\n type: 'box',\n aes: {\n showOutliers: settings.showOutliers,\n dotShape: settings.dotShape,\n fillColor: useDefaultColor(settings.fillColor),\n lineColor: useDefaultColor(settings.lineColor),\n lineShape: settings.lineType,\n opacity: settings.opacity,\n },\n });\n }\n if (layer === 'binnedDots') {\n const settings = layerSettings[layer];\n result.push({\n type: 'binnedDots',\n aes: {\n showOutliers: settings.showOutliers,\n fillColor: useDefaultColor(settings.fillColor),\n lineColor: useDefaultColor(settings.lineColor),\n opacity: settings.opacity,\n },\n });\n }\n if (layer === 'jitteredDots') {\n const settings = layerSettings[layer];\n result.push({\n type: 'dot',\n aes: {\n showOutliers: settings.showOutliers,\n dotFill: useDefaultColor(settings.dotFill),\n dotShape: settings.dotShape,\n lineColor: settings.lineColor,\n opacity: settings.opacity,\n },\n });\n }\n if (layer === 'violin') {\n const settings = layerSettings[layer];\n result.push({\n type: 'violin',\n stat: {\n trim: settings.trim,\n },\n aes: {\n showQuartiles: settings.showQuartiles,\n medianLineStyle: settings.medianLineStyle,\n quartilesLineStyle: settings.quartilesLineStyle,\n fillColor: useDefaultColor(settings.fillColor),\n lineColor: useDefaultColor(settings.lineColor),\n lineShape: settings.lineType,\n opacity: settings.opacity,\n },\n });\n }\n if (layer === 'bar') {\n const settings = layerSettings[layer];\n result.push({\n type: 'bar',\n height: settings.height,\n aes: {\n fillColor: useDefaultColor(settings.fillColor),\n lineColor: useDefaultColor(settings.lineColor),\n opacity: settings.opacity,\n },\n });\n }\n if (layer === 'stackedBar') {\n const settings = layerSettings[layer];\n result.push({\n type: 'stackedBar',\n normalize: settings.normalize,\n height: settings.height,\n aes: {\n fillColor: useDefaultColor(settings.fillColor),\n lineColor: useDefaultColor(settings.lineColor),\n opacity: settings.opacity,\n },\n });\n }\n if (layer === 'stackedArea') {\n const settings = layerSettings[layer];\n result.push({\n type: 'stackedArea',\n normalize: settings.normalize,\n showBars: settings.showBars,\n height: settings.height,\n aes: {\n fillColor: useDefaultColor(settings.fillColor),\n lineColor: useDefaultColor(settings.lineColor),\n barsOpacity: settings.barsOpacity,\n areaOpacity: settings.areaOpacity,\n },\n });\n }\n if (layer === 'line') {\n const settings = layerSettings[layer];\n result.push({\n type: 'line',\n pointsValues: settings.pointsValues,\n emptyGroupValue: settings.emptyGroupValue ?? 0,\n aes: {\n lineColor: useDefaultColor(settings.lineColor, true),\n fillColor: useDefaultColor(settings.dotFill, true),\n lineShape: settings.lineType,\n dotShape: settings.dotShape,\n opacity: settings.opacity,\n },\n });\n }\n if (layer === 'errorbar') {\n const settings = layerSettings[layer];\n result.push({\n type: 'errorbar',\n pointsValues: settings.pointsValues,\n interval: settings.interval,\n aes: {\n lineColor: useDefaultColor(settings.lineColor, true),\n fillColor: useDefaultColor(settings.dotFill, true),\n dotShape: settings.dotShape,\n opacity: settings.opacity,\n },\n });\n }\n if (layer === 'sina') {\n const settings = layerSettings[layer];\n result.push({\n type: 'sina',\n aes: {\n showOutliers: settings.showOutliers,\n dotFill: useDefaultColor(settings.dotFill),\n dotShape: settings.dotShape,\n },\n });\n }\n if (layer === 'logo' && hasSecondaryGrouping) {\n const settings = layerSettings[layer];\n const secondaryGroupingInfo = inputGuide.getSourceInfo(optionsState.components.secondaryGrouping.selectorStates[0].selectedSource);\n const isProtein = secondaryGroupingInfo.spec.domain?.['pl7.app/alphabet'] === 'aminoacid';\n result.push({\n type: 'logo',\n normalize: settings.normalize,\n aes: {\n opacity: settings.opacity,\n dotFill: isProtein ? AMINOACID_COLOR_MAPPING : NUCLEOTIDE_COLOR_MAPPING,\n },\n });\n }\n });\n if (hasPrimaryGrouping && !hasSecondaryGrouping) {\n result.push(...getStatLayers(statisticsSettings));\n }\n return result;\n}\n\nfunction getDotSize(\n column: ColumnNameSchema | undefined,\n dotSize: ContinuousDataMappingSize | number | null,\n dataByColumns: PlotDataAndSettings['data']['byColumns'],\n defaultDotSize: number,\n): number | { columnName: ColumnNameSchema; domain: number[]; range: number[] } {\n if (column) {\n const mapping = isContinuousDataMapping(dotSize) ? dotSize : { column: column.value, range: DEFAULT_DOT_RANGE };\n const domain = [Infinity, -Infinity];\n dataByColumns.values[column.value].forEach((v) => {\n const value = Number(v);\n if (value < domain[0]) {\n domain[0] = value;\n }\n if (value > domain[1]) {\n domain[1] = value;\n }\n });\n return { columnName: column, domain, range: [mapping.range.min, mapping.range.max] };\n }\n return isContinuousDataMapping(dotSize) ? defaultDotSize : dotSize ?? defaultDotSize;\n}\n\nfunction getContinuousColor<T extends string>(\n columnKey: string,\n value: AestheticMappingContinuous,\n groupingColumns: ColumnNameSchema[],\n dataByColumns: PlotDataAndSettings['data']['byColumns'],\n): T | ContinuousDataMappingForGraph<T> {\n const column = groupingColumns.find((groupingColumn) => groupingColumn.value === columnKey);\n if (column) {\n const { range, palette, midPoint, log } = value;\n let { minValue, maxValue } = range ?? {};\n let inverted = false;\n\n const minValueMissed = minValue === null || minValue === undefined;\n const maxValueMissed = maxValue === null || maxValue === undefined;\n\n const bounds = [Infinity, -Infinity];\n if (minValueMissed || maxValueMissed) {\n dataByColumns.values[column.value].forEach((v) => {\n const value = Number(v);\n if (value < bounds[0]) {\n bounds[0] = value;\n }\n if (value > bounds[1]) {\n bounds[1] = value;\n }\n });\n }\n if (minValueMissed && maxValueMissed) {\n minValue = bounds[0];\n maxValue = bounds[1];\n } else if (minValueMissed) {\n minValue = (maxValue as number) > bounds[0] ? bounds[0] : bounds[1];\n } else if (maxValueMissed) {\n maxValue = (minValue as number) < bounds[1] ? bounds[1] : bounds[0];\n }\n if (minValue !== null && minValue !== undefined && maxValue !== null && maxValue !== undefined && minValue > maxValue) {\n inverted = true;\n [minValue, maxValue] = [maxValue, minValue];\n }\n const domain = [minValue as number, maxValue as number];\n if (midPoint !== null && midPoint !== undefined) {\n const maxDistance = Math.max(Math.abs(midPoint - (minValue as number)), Math.abs(midPoint - (maxValue as number)));\n domain[0] = midPoint - maxDistance;\n domain[1] = midPoint + maxDistance;\n }\n\n const colors = [...PALETTE_MAP[palette].colors];\n if (inverted) {\n colors.reverse();\n }\n return {\n columnName: column,\n domain,\n range: colors,\n type: log ? 'log' : 'linear',\n } as ContinuousDataMappingForGraph<T>;\n }\n return DEFAULT_BLACK as T;\n}\n\nexport function getScatterplotLayersSettings(\n layers: Layer[],\n layerSettings: ReturnType<typeof getDefaultLayersSettings>,\n dataByColumns: PlotDataAndSettings['data']['byColumns'],\n optionsState: ScatterplotUIState,\n dataBindAes: ReactiveState['dataBindAes'],\n inputGuide: InputGuide<InputState>,\n groupingSchema: ColumnNameSchema[] = [],\n defaultDotSize = DEFAULT_DOT_SIZE,\n): ScatterplotSettings['layers'] {\n const result: ScatterplotSettings['layers'] = [];\n\n function useDefault<T extends string>(value: T | MappingLink | null, columns: string[], defaultValue: T, continousAvailable = false): T | {\n type: 'grouping';\n value: string;\n } | ContinuousDataMappingForGraph<T> {\n if (columns.length) {\n const valueType = columns.length ? inputGuide.getSourceInfo(columns[0])?.type : undefined;\n const defaultByColumn = (valueType === 'String' || !continousAvailable)\n ? { type: 'grouping', value: columns[0] } as { type: 'grouping'; value: string }\n : getContinuousColor<T>(columns[0], createContinuousMappingFromPalette(DEFAULT_CONTINUOUS_PALETTE), groupingSchema, dataByColumns);\n\n const savedMapping = dataBindAes[columns[0]];\n\n if (value === null || (valueType === 'String' || !continousAvailable) || !isAestheticMappingContinuous(savedMapping)) {\n return defaultByColumn;\n }\n return getContinuousColor<T>(columns[0], savedMapping as AestheticMappingContinuous, groupingSchema, dataByColumns);\n }\n\n return typeof value === 'object' ? defaultValue : value as T;\n }\n\n const grouping = optionsState.components.grouping.selectorStates.map((s) => s.selectedSource);\n const shape = optionsState.components.shape?.selectorStates.map((s) => s.selectedSource) ?? [];\n const sizeKey = optionsState.components.size?.selectorStates.map((s) => s.selectedSource)[0];\n const sizeColumn = sizeKey ? groupingSchema.find((column) => column.value === sizeKey) : undefined;\n\n layers.forEach((layer) => {\n if (layer === 'dots') {\n const settings = layerSettings[layer];\n result.push({\n type: 'dots',\n aes: {\n dotFill: useDefault<string>(settings.dotFill, grouping, DEFAULT_BLACK, true) as string | {\n type: 'grouping';\n value: string;\n } | ContinuousDataMappingForGraph<string>,\n dotShape: useDefault<DotShape>(settings.dotShape, shape, DEFAULT_DOT_SHAPE) as {\n type: 'grouping';\n value: string;\n } | DotShape,\n dotSize: getDotSize(sizeColumn, settings.dotSize, dataByColumns, defaultDotSize),\n },\n });\n }\n if (layer === 'curve') {\n const settings = layerSettings[layer];\n result.push({\n type: 'curve',\n smoothing: settings.smoothing,\n aes: {\n lineColor: useDefault<string>(settings.lineColor, grouping, DEFAULT_BLACK, true) as {\n type: 'grouping';\n value: string;\n } | string,\n },\n });\n }\n });\n return result;\n}\n\nexport type ChartLayerSettings = {\n [key: string]: string | number | boolean | null | Record<string, string | DotShape | NumberRange | {\n domain: number[];\n range: number[];\n } | LineType | boolean | number | MappingLink | Record<string, string>> | undefined;\n type: string;\n aes?: Record<string, string | DotShape | NumberRange | {\n domain: number[];\n range: number[];\n } | LineType | boolean | number | MappingLink | Record<string, string>>;\n};\n"],"names":["getStatLayers","statisticsSettings","layers","layer","getDiscreteLayersSettings","layerSettings","optionsState","inputGuide","result","hasPrimaryGrouping","hasSecondaryGrouping","useDefaultColor","value","onlySecondaryAvailable","settings","isProtein","_a","AMINOACID_COLOR_MAPPING","NUCLEOTIDE_COLOR_MAPPING","getDotSize","column","dotSize","dataByColumns","defaultDotSize","mapping","isContinuousDataMapping","DEFAULT_DOT_RANGE","domain","v","getContinuousColor","columnKey","groupingColumns","groupingColumn","range","palette","midPoint","log","minValue","maxValue","inverted","minValueMissed","maxValueMissed","bounds","maxDistance","colors","PALETTE_MAP","DEFAULT_BLACK","getScatterplotLayersSettings","dataBindAes","groupingSchema","DEFAULT_DOT_SIZE","useDefault","columns","defaultValue","continousAvailable","valueType","defaultByColumn","createContinuousMappingFromPalette","DEFAULT_CONTINUOUS_PALETTE","savedMapping","isAestheticMappingContinuous","grouping","s","shape","sizeKey","_b","sizeColumn","DEFAULT_DOT_SHAPE"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
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;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { createElementBlock as e, openBlock as l, createStaticVNode as o } from "vue";
|
|
2
|
-
import p from "../_virtual/_plugin-vue_export-helper.js";
|
|
3
|
-
const a = {}, r = {
|
|
4
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
5
|
-
width: "8",
|
|
6
|
-
height: "12",
|
|
7
|
-
viewBox: "0 0 8 12",
|
|
8
|
-
fill: "none"
|
|
9
|
-
};
|
|
10
|
-
function h(i, t) {
|
|
11
|
-
return l(), e("svg", r, [...t[0] || (t[0] = [
|
|
12
|
-
o('<path d="M2.5 0H0.5V2H2.5V0Z" fill="#CFD1DB"></path><path d="M2.5 5H0.5V7H2.5V5Z" fill="#CFD1DB"></path><path d="M0.5 10H2.5V12H0.5V10Z" fill="#CFD1DB"></path><path d="M7.5 0H5.5V2H7.5V0Z" fill="#CFD1DB"></path><path d="M5.5 5H7.5V7H5.5V5Z" fill="#CFD1DB"></path><path d="M7.5 10H5.5V12H7.5V10Z" fill="#CFD1DB"></path>', 6)
|
|
13
|
-
])]);
|
|
14
|
-
}
|
|
15
|
-
const d = /* @__PURE__ */ p(a, [["render", h]]);
|
|
16
|
-
export {
|
|
17
|
-
d as default
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=Reorder.vue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Reorder.vue.js","sources":["../../src/icons/Reorder.vue"],"sourcesContent":["<template>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"8\" height=\"12\" viewBox=\"0 0 8 12\" fill=\"none\">\n <path d=\"M2.5 0H0.5V2H2.5V0Z\" fill=\"#CFD1DB\"/>\n <path d=\"M2.5 5H0.5V7H2.5V5Z\" fill=\"#CFD1DB\"/>\n <path d=\"M0.5 10H2.5V12H0.5V10Z\" fill=\"#CFD1DB\"/>\n <path d=\"M7.5 0H5.5V2H7.5V0Z\" fill=\"#CFD1DB\"/>\n <path d=\"M5.5 5H7.5V7H5.5V5Z\" fill=\"#CFD1DB\"/>\n <path d=\"M7.5 10H5.5V12H7.5V10Z\" fill=\"#CFD1DB\"/>\n </svg>\n</template>\n"],"names":["_openBlock","_createElementBlock","_hoisted_1","_cache"],"mappings":";;;EACO,OAAM;AAAA,EAA6B,OAAM;AAAA,EAAI,QAAO;AAAA,EAAK,SAAQ;AAAA,EAAW,MAAK;;;AAAtF,SAAAA,EAAA,GAAAC,EAOM,OAPNC,GAOM,CAAA,GAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA;AAAA;;;;"}
|