@milaboratories/graph-maker 1.1.167 → 1.1.168

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 (29) hide show
  1. package/dist/GraphMaker/constantsCommon.d.ts +2 -0
  2. package/dist/GraphMaker/constantsCommon.d.ts.map +1 -1
  3. package/dist/GraphMaker/constantsCommon.js +4 -2
  4. package/dist/GraphMaker/constantsCommon.js.map +1 -1
  5. package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue.d.ts.map +1 -1
  6. package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue.js +56 -38
  7. package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedArea.vue.js.map +1 -1
  8. package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedBar.vue.d.ts.map +1 -1
  9. package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedBar.vue.js +48 -30
  10. package/dist/GraphMaker/forms/LayersForm/Layer/discrete/StackedBar.vue.js.map +1 -1
  11. package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts +2 -0
  12. package/dist/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts.map +1 -1
  13. package/dist/GraphMaker/utils/createChartSettingsForRender/getLayersDataFromForms.d.ts.map +1 -1
  14. package/dist/GraphMaker/utils/createChartSettingsForRender/getLayersDataFromForms.js +7 -5
  15. package/dist/GraphMaker/utils/createChartSettingsForRender/getLayersDataFromForms.js.map +1 -1
  16. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/DiscreteSettingsImpl.js +8 -8
  17. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/DiscreteSettingsImpl.js.map +1 -1
  18. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/index.js +8 -8
  19. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/layers/stackedBar.js +54 -29
  20. package/dist/node_modules/@milaboratories/miplots4/dist/discrete/layers/stackedBar.js.map +1 -1
  21. package/dist/node_modules/@milaboratories/miplots4/dist/node_modules/d3-array/src/min.js +12 -6
  22. package/dist/node_modules/@milaboratories/miplots4/dist/node_modules/d3-array/src/min.js.map +1 -1
  23. package/dist/node_modules/@milaboratories/miplots4/dist/types/discrete.js +2 -0
  24. package/dist/node_modules/@milaboratories/miplots4/dist/types/discrete.js.map +1 -1
  25. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot-umap.js +64 -64
  26. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot-umap.js.map +1 -1
  27. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot.js +30 -30
  28. package/dist/node_modules/@milaboratories/pf-plots/dist/controllers/controllersByChartType/scatterplot.js.map +1 -1
  29. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"composeDiscreteSettings.d.ts","sourceRoot":"","sources":["../../../../src/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAmB,UAAU,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AASnF,OAAO,EAEL,aAAa,EACb,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAYrB,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,gBAAgB,EAC1B,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,uBAAuB,EACzC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC;;;;YAwE6r5K,CAAC;gBAAuC,CAAC;;;;;cAAwH,CAAC;aAAmC,CAAC;mBAAyC,CAAC;;;;WAA4E,CAAC;qBAAyB,CAAC;qBAA2C,CAAC;qBAAuG,CAAC;;;mBAA0H,CAAC;qBAA2C,CAAC;;;wBAA+H,CAAC;yBAAgD,CAAC;;;wBAA2R,CAAC;;;yBAAgI,CAAC;;;oBAA2H,CAAC;;YAAyD,CAAC;kBAAsB,CAAC;iBAAuC,CAAC;iBAAuC,CAAC;aAAmC,CAAC;;;;WAA0F,CAAC;qBAAyB,CAAC;qBAA2C,CAAC;qBAAuG,CAAC;;;mBAA0H,CAAC;qBAA2C,CAAC;;;oBAA2H,CAAC;yBAA+C,CAAC;2BAAkD,CAAC;8BAAgH,CAAC;;YAAqH,CAAC;qBAAyB,CAAC;gBAAsC,CAAC;;;;WAAwF,CAAC;oBAAwB,CAAC;;;mBAAsR,CAAC;qBAA2C,CAAC;;;mBAA0H,CAAC;qBAA2C,CAAC;;;wBAA+H,CAAC;kBAAyC,CAAC;;;;;WAAiI,CAAC;oBAAwB,CAAC;;;mBAAsR,CAAC;qBAA2C,CAAC;qBAA2C,CAAC;;;qBAAwL,CAAC;;;mBAA0H,CAAC;qBAA2C,CAAC;;;wBAA+H,CAAC;;uBAAqE,CAAC;;;;;WAAoJ,CAAC;oBAAwB,CAAC;;;mBAAsR,CAAC;qBAA2C,CAAC;qBAA2C,CAAC;;;mBAA0H,CAAC;iBAAuC,CAAC;qBAA2C,CAAC;;;oBAA2H,CAAC;;;;WAAwF,CAAC;qBAAyB,CAAC;qBAA2C,CAAC;;;mBAA0H,CAAC;iBAAuC,CAAC;qBAA2C,CAAC;;;;cAA4I,CAAC;;;WAAkG,CAAC;qBAAyB,CAAC;qBAA2C,CAAC;;;mBAA0H,CAAC;iBAAuC,CAAC;qBAA2C,CAAC;;;;iBAA+I,CAAC;;;WAAwE,CAAC;mBAAuB,CAAC;qBAA2C,CAAC;qBAA2C,CAAC;;;mBAA0H,CAAC;iBAAuC,CAAC;qBAA2C,CAAC;;;wBAA+H,CAAC;;gBAA8D,CAAC;iBAAmD,CAAC;;;kBAA6E,CAAC;iBAAuC,CAAC;uBAA6C,CAAC;;cAA2D,CAAC;;;;;;kBAAgL,CAAC;iBAAuC,CAAC;uBAA6C,CAAC;;WAA4C,CAAC;mBAAuB,CAAC;;;oBAA2H,CAAC;mBAAqM,CAAC;qBAA2C,CAAC;qBAA2C,CAAC;qBAAuG,CAAC;;;mBAA0H,CAAC;wBAA8C,CAAC;;;;WAAyF,CAAC;mBAAuB,CAAC;;;oBAA2H,CAAC;;;mBAAsR,CAAC;mBAAyC,CAAC;wBAA8C,CAAC;;;;WAAyF,CAAC;qBAAyB,CAAC;mBAAyC,CAAC;iBAAuC,CAAC;qBAA2C,CAAC;;iBAAuF,CAAC;;;WAAyE,CAAC;qBAAyB,CAAC;qBAA2C,CAAC;;;qBAA4H,CAAC;;;oBAA2H,CAAC;uBAA6C,CAAC;uBAA6C,CAAC;;iBAA8D,CAAC;gBAAuC,CAAC;;;;;cAAwM,CAAC;sBAA+D,CAAC;cAAoD,CAAC;UAAiC,CAAC;wBAA+C,CAAC;0BAAoI,CAAC;;;;;;;aAA4I,CAAC;cAAoC,CAAC;mBAAyC,CAAC;mBAAyC,CAAC;;;YAAoE,CAAC;gBAAuC,CAAC;;;WAAoG,CAAC;;;cAAoE,CAAC;;;WAAiE,CAAC;;;YAAkE,CAAC;;;kBAAwE,CAAC;;;kBAAwE,CAAC;;;oBAA0E,CAAC;;;YAAkE,CAAC;;;mBAAyE,CAAC;;;gBAAsE,CAAC;;;;;YAAmG,CAAC;;;eAA4H,CAAC;eAAsC,CAAC;aAAoC,CAAC;aAAmC,CAAC;aAAmC,CAAC;qBAA+E,CAAC;;;;;cAA6I,CAAC;aAAmC,CAAC;mBAAyC,CAAC;;;YAAmE,CAAC;aAAgD,CAAC;;;kBAAsF,CAAC;iBAAuC,CAAC;uBAA6C,CAAC;;aAA0D,CAAC;cAAwC,CAAC;gBAAsD,CAAC;8BAAqD,CAAC;iBAAwC,CAAC;sBAA6C,CAAC;oBAAgE,CAAC;;;aAAqE,CAAC;;;kBAAsF,CAAC;iBAAuC,CAAC;uBAA6C,CAAC;;aAA0D,CAAC;gBAAgD,CAAC;iBAAwC,CAAC;oBAA2C,CAAC;wBAA+C,CAAC;6BAAqD,CAAC;sBAAwG,CAAC;kBAAwC,CAAC;kBAAwC,CAAC;;;;;cAAsH,CAAC;aAAmC,CAAC;mBAAyC,CAAC;;;;;;kBAAkK,CAAC;iBAAuC,CAAC;uBAA6C,CAAC;;aAA8C,CAAC;oBAA8D,CAAC;mBAAsC,CAAC;oBAA0C,CAAC;mBAAqM,CAAC;qBAA2C,CAAC;qBAA2C,CAAC;qBAAuG,CAAC;qBAA2C,CAAC;;sBAAoE,CAAC;;;;;;kBAAmK,CAAC;iBAAuC,CAAC;uBAA6C,CAAC;;aAA8C,CAAC;oBAA8D,CAAC;mBAAsC,CAAC;oBAA0C,CAAC;mBAAqM,CAAC;qBAA2C,CAAC;qBAA2C,CAAC;qBAAuG,CAAC;qBAA2C,CAAC;;sBAAoE,CAAC;;;EAA/y3L"}
1
+ {"version":3,"file":"composeDiscreteSettings.d.ts","sourceRoot":"","sources":["../../../../src/GraphMaker/utils/createChartSettingsForRender/composeDiscreteSettings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getLayersDataFromForms.d.ts","sourceRoot":"","sources":["../../../../src/GraphMaker/utils/createChartSettingsForRender/getLayersDataFromForms.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EACxB,WAAW,EACX,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,gBAAgB,EAIjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,EACL,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,eAAe,EAAE,UAAU,EAC3B,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAaxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,wBAAgB,aAAa,CAAC,kBAAkB,EAAE,uBAAuB,wBAiDxE;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,KAAK,EAAE,EACf,aAAa,EAAE,cAAc,EAC7B,kBAAkB,EAAE,uBAAuB,EAC3C,YAAY,EAAE,eAAe,EAC7B,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,GACjC,kBAAkB,EAAE,CAkLtB;AAsED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,KAAK,EAAE,EACf,aAAa,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,EAC1D,aAAa,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,EACvD,YAAY,EAAE,kBAAkB,EAChC,WAAW,EAAE,aAAa,CAAC,aAAa,CAAC,EACzC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,EAClC,cAAc,GAAE,gBAAgB,EAAO,EACvC,cAAc,SAAmB,GAChC,mBAAmB,CAAC,QAAQ,CAAC,CA8D/B;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG;QACjG,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,EAAE,MAAM,EAAE,CAAA;KAChB,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IACpF,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG;QACrD,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,EAAE,MAAM,EAAE,CAAA;KAChB,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACzE,CAAA"}
1
+ {"version":3,"file":"getLayersDataFromForms.d.ts","sourceRoot":"","sources":["../../../../src/GraphMaker/utils/createChartSettingsForRender/getLayersDataFromForms.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EACxB,WAAW,EACX,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,gBAAgB,EAIjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,EACL,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,eAAe,EAAE,UAAU,EAC3B,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAaxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,wBAAgB,aAAa,CAAC,kBAAkB,EAAE,uBAAuB,wBAiDxE;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,KAAK,EAAE,EACf,aAAa,EAAE,cAAc,EAC7B,kBAAkB,EAAE,uBAAuB,EAC3C,YAAY,EAAE,eAAe,EAC7B,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,GACjC,kBAAkB,EAAE,CAoLtB;AAsED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,KAAK,EAAE,EACf,aAAa,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,EAC1D,aAAa,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,EACvD,YAAY,EAAE,kBAAkB,EAChC,WAAW,EAAE,aAAa,CAAC,aAAa,CAAC,EACzC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,EAClC,cAAc,GAAE,gBAAgB,EAAO,EACvC,cAAc,SAAmB,GAChC,mBAAmB,CAAC,QAAQ,CAAC,CA8D/B;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG;QACjG,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,EAAE,MAAM,EAAE,CAAA;KAChB,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IACpF,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG;QACrD,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,EAAE,MAAM,EAAE,CAAA;KAChB,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACzE,CAAA"}
@@ -1,4 +1,4 @@
1
- import { isContinuousDataMapping as g } from "../../constantsCommon.js";
1
+ import { isContinuousDataMapping as T } from "../../constantsCommon.js";
2
2
  import { AMINOACID_COLOR_MAPPING as L, NUCLEOTIDE_COLOR_MAPPING as A, PALETTE_MAP as b, DEFAULT_BLACK as y, DEFAULT_CONTINUOUS_PALETTE as F, DEFAULT_DOT_SHAPE as I } from "../../constantsAesthetic.js";
3
3
  import { DEFAULT_DOT_SIZE as V, DEFAULT_DOT_RANGE as _, isAestheticMappingContinuous as P, createContinuousMappingFromPalette as N } from "../../dataBindAes.js";
4
4
  function x(r) {
@@ -111,6 +111,7 @@ function B(r, l, p, u, d) {
111
111
  o.push({
112
112
  type: "stackedBar",
113
113
  normalize: e.normalize,
114
+ height: e.height,
114
115
  aes: {
115
116
  fillColor: i(e.fillColor),
116
117
  lineColor: i(e.lineColor),
@@ -124,6 +125,7 @@ function B(r, l, p, u, d) {
124
125
  type: "stackedArea",
125
126
  normalize: e.normalize,
126
127
  showBars: e.showBars,
128
+ height: e.height,
127
129
  aes: {
128
130
  fillColor: i(e.fillColor),
129
131
  lineColor: i(e.lineColor),
@@ -187,13 +189,13 @@ function B(r, l, p, u, d) {
187
189
  }
188
190
  function z(r, l, p, u) {
189
191
  if (r) {
190
- const d = g(l) ? l : { column: r.value, range: _ }, o = [1 / 0, -1 / 0];
192
+ const d = T(l) ? l : { column: r.value, range: _ }, o = [1 / 0, -1 / 0];
191
193
  return p.values[r.value].forEach((n) => {
192
194
  const c = Number(n);
193
195
  c < o[0] && (o[0] = c), c > o[1] && (o[1] = c);
194
196
  }), { columnName: r, domain: o, range: [d.range.min, d.range.max] };
195
197
  }
196
- return g(l) ? u : l ?? u;
198
+ return T(l) ? u : l ?? u;
197
199
  }
198
200
  function w(r, l, p, u) {
199
201
  const d = p.find((n) => n.value === r);
@@ -222,8 +224,8 @@ function R(r, l, p, u, d, o, n = [], c = V) {
222
224
  function t(a, s, D, G = !1) {
223
225
  var v;
224
226
  if (s.length) {
225
- const O = s.length ? (v = o.getSourceInfo(s[0])) == null ? void 0 : v.type : void 0, E = O === "String" || !G ? { type: "grouping", value: s[0] } : w(s[0], N(F), n, p), T = d[s[0]];
226
- return a === null || O === "String" || !G || !P(T) ? E : w(s[0], T, n, p);
227
+ const O = s.length ? (v = o.getSourceInfo(s[0])) == null ? void 0 : v.type : void 0, E = O === "String" || !G ? { type: "grouping", value: s[0] } : w(s[0], N(F), n, p), g = d[s[0]];
228
+ return a === null || O === "String" || !G || !P(g) ? E : w(s[0], g, n, p);
227
229
  }
228
230
  return typeof a == "object" ? D : a;
229
231
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getLayersDataFromForms.js","sources":["../../../../src/GraphMaker/utils/createChartSettingsForRender/getLayersDataFromForms.ts"],"sourcesContent":["import {\n ColorAes,\n getDefaultLayersSettings,\n NumberRange,\n LayersSettings,\n MappingLink,\n DiscreteStatisticsState,\n ColumnNameSchema,\n ContinuousDataMappingSize,\n isContinuousDataMapping,\n ContinuousDataMappingForGraph\n} from '../../constantsCommon';\nimport {\n Layer,\n ReactiveState\n} from '../../types';\nimport {\n DiscreteUIState, InputGuide,\n InputState,\n PlotDataAndSettings,\n ScatterplotUIState\n} from '@milaboratories/pf-plots';\nimport { 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 {\n AestheticMappingContinuous, createContinuousMappingFromPalette,\n DEFAULT_DOT_RANGE,\n DEFAULT_DOT_SIZE\n} from '../../dataBindAes';\nimport { 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 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 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 let domain = [Infinity, -Infinity];\n if (column) {\n const { range, palette, midPoint, log } = value;\n const minValueMissed = range?.minValue === null || range?.minValue === undefined;\n const maxValueMissed = range?.maxValue === null || range?.maxValue === undefined;\n if (minValueMissed || maxValueMissed) {\n dataByColumns.values[column.value].forEach((v) => {\n const value = Number(v);\n if (minValueMissed && value < domain[0]) {\n domain[0] = value;\n }\n if (maxValueMissed && value > domain[1]) {\n domain[1] = value;\n }\n });\n }\n if (!minValueMissed) {\n domain[0] = range?.minValue as number;\n }\n if (!maxValueMissed) {\n domain[1] = range?.maxValue as number;\n }\n if (midPoint !== null && midPoint !== undefined) {\n const maxDistance = Math.max(Math.abs(midPoint - domain[0]), Math.abs(midPoint - domain[1]));\n domain[0] = midPoint - maxDistance;\n domain[1] = midPoint + maxDistance;\n }\n\n return {\n columnName: column,\n domain,\n range: PALETTE_MAP[palette].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","minValueMissed","maxValueMissed","maxDistance","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/GraphMaker/utils/createChartSettingsForRender/getLayersDataFromForms.ts"],"sourcesContent":["import {\n ColorAes,\n getDefaultLayersSettings,\n NumberRange,\n LayersSettings,\n MappingLink,\n DiscreteStatisticsState,\n ColumnNameSchema,\n ContinuousDataMappingSize,\n isContinuousDataMapping,\n ContinuousDataMappingForGraph\n} from '../../constantsCommon';\nimport {\n Layer,\n ReactiveState\n} from '../../types';\nimport {\n DiscreteUIState, InputGuide,\n InputState,\n PlotDataAndSettings,\n ScatterplotUIState\n} from '@milaboratories/pf-plots';\nimport { 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 {\n AestheticMappingContinuous, createContinuousMappingFromPalette,\n DEFAULT_DOT_RANGE,\n DEFAULT_DOT_SIZE\n} from '../../dataBindAes';\nimport { 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 let domain = [Infinity, -Infinity];\n if (column) {\n const { range, palette, midPoint, log } = value;\n const minValueMissed = range?.minValue === null || range?.minValue === undefined;\n const maxValueMissed = range?.maxValue === null || range?.maxValue === undefined;\n if (minValueMissed || maxValueMissed) {\n dataByColumns.values[column.value].forEach((v) => {\n const value = Number(v);\n if (minValueMissed && value < domain[0]) {\n domain[0] = value;\n }\n if (maxValueMissed && value > domain[1]) {\n domain[1] = value;\n }\n });\n }\n if (!minValueMissed) {\n domain[0] = range?.minValue as number;\n }\n if (!maxValueMissed) {\n domain[1] = range?.maxValue as number;\n }\n if (midPoint !== null && midPoint !== undefined) {\n const maxDistance = Math.max(Math.abs(midPoint - domain[0]), Math.abs(midPoint - domain[1]));\n domain[0] = midPoint - maxDistance;\n domain[1] = midPoint + maxDistance;\n }\n\n return {\n columnName: column,\n domain,\n range: PALETTE_MAP[palette].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","minValueMissed","maxValueMissed","maxDistance","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,4 +1,4 @@
1
- import { DEFAULT_HEIGHT_SMALL as v, DEFAULT_HEIGHT as g, DEFAULT_WIDTH_SMALL as L, DEFAULT_WIDTH as S, BLACK as r } from "../constants.js";
1
+ import { DEFAULT_HEIGHT_SMALL as g, DEFAULT_HEIGHT as v, DEFAULT_WIDTH_SMALL as L, DEFAULT_WIDTH as S, BLACK as r } from "../constants.js";
2
2
  import "../types/common.js";
3
3
  import { DiscreteSettingsSchema as b } from "../types/discrete.js";
4
4
  import "../types/scatterplot.js";
@@ -149,37 +149,37 @@ class V extends a {
149
149
  }
150
150
  class q extends a {
151
151
  constructor(e) {
152
- super(), t(this, "type", "stackedBar"), t(this, "normalize", !1), t(this, "aes", {
152
+ super(), t(this, "type", "stackedBar"), t(this, "normalize", !1), t(this, "height"), t(this, "aes", {
153
153
  width: "auto",
154
154
  lineWidth: 1,
155
155
  fillColor: n,
156
156
  lineColor: "none",
157
157
  opacity: 1
158
- }), this.normalize = e.normalize ?? !1, this.aes = {
158
+ }), this.normalize = e.normalize ?? !1, this.height = e.height ?? "sum", this.aes = {
159
159
  ...this.aes,
160
160
  ...e.aes
161
161
  };
162
162
  }
163
163
  isEqualForCalculation(e) {
164
- return e.type === "stackedBar" && e.normalize === this.normalize;
164
+ return e.type === "stackedBar" && e.normalize === this.normalize && e.height === this.height;
165
165
  }
166
166
  }
167
167
  class W extends a {
168
168
  constructor(e) {
169
- super(), t(this, "type", "stackedArea"), t(this, "normalize", !1), t(this, "showBars", !0), t(this, "aes", {
169
+ super(), t(this, "type", "stackedArea"), t(this, "normalize", !1), t(this, "height"), t(this, "showBars", !0), t(this, "aes", {
170
170
  barWidth: "auto",
171
171
  lineWidth: 1,
172
172
  fillColor: n,
173
173
  lineColor: "none",
174
174
  barsOpacity: 1,
175
175
  areaOpacity: 0.7
176
- }), this.normalize = e.normalize ?? !1, this.showBars = e.showBars ?? !0, this.aes = {
176
+ }), this.normalize = e.normalize ?? !1, this.height = e.height ?? "sum", this.showBars = e.showBars ?? !0, this.aes = {
177
177
  ...this.aes,
178
178
  ...e.aes
179
179
  };
180
180
  }
181
181
  isEqualForCalculation(e) {
182
- return e.type === "stackedArea" && e.normalize === this.normalize && e.showBars === this.showBars;
182
+ return e.type === "stackedArea" && e.normalize === this.normalize && e.height === this.height && e.showBars === this.showBars;
183
183
  }
184
184
  }
185
185
  class P extends a {
@@ -280,7 +280,7 @@ class ee {
280
280
  }, this.facetBy = e.facetBy ?? [], this.chartSettings = {
281
281
  size: {
282
282
  width: ((o = e == null ? void 0 : e.size) == null ? void 0 : o.width) ?? (this.facetBy.length ? L : S),
283
- height: ((l = e == null ? void 0 : e.size) == null ? void 0 : l.height) ?? (this.facetBy.length ? v : g),
283
+ height: ((l = e == null ? void 0 : e.size) == null ? void 0 : l.height) ?? (this.facetBy.length ? g : v),
284
284
  outerOffset: ((p = e == null ? void 0 : e.size) == null ? void 0 : p.outerOffset) ?? k,
285
285
  innerOffset: ((d = e == null ? void 0 : e.size) == null ? void 0 : d.innerOffset) ?? x.TOP
286
286
  },
@@ -1 +1 @@
1
- {"version":3,"file":"DiscreteSettingsImpl.js","sources":["../../../../../../node_modules/@milaboratories/miplots4/src/discrete/DiscreteSettingsImpl.ts"],"sourcesContent":["import { BLACK, DEFAULT_HEIGHT, DEFAULT_HEIGHT_SMALL, DEFAULT_WIDTH, DEFAULT_WIDTH_SMALL } from '../constants';\nimport type {\n AesRecord,\n Color,\n ColumnName,\n DataValue,\n DiscreteSettings,\n FrameType,\n InheritAesDiscrete,\n LegendPosition,\n LineShape,\n Orientation,\n BarLayer as OuterBarLayer,\n BinnedDotsLayer as OuterBinnedDotsLayer,\n BoxLayer as OuterBoxLayer,\n DotLayer as OuterDotLayer,\n ErrorBarLayer as OuterErrorBarLayer,\n LineLayer as OuterLineLayer,\n LogoPlotLayer as OuterLogoPlotLayer,\n PairedPointsLayer as OuterPairedPointsLayer,\n SinaLayer as OuterSinaLayer,\n StackedAreaLayer as OuterStackedAreaLayer,\n StackedBarLayer as OuterStackedBarLayer,\n StatLayer as OuterStatLayer,\n ViolinLayer as OuterViolinLayer,\n PointShape,\n PValueCorrectionMethod,\n SettingsInterface,\n SignificanceLevels,\n StatTestMethod,\n SummaryErrorValue,\n SummaryGroupValue,\n TitlePosition,\n} from '../types';\nimport { DiscreteSettingsSchema } from '../types';\nimport { MIN_MARGIN, PADDINGS } from './constants';\n\nimport lodash from 'lodash';\nimport { exhaustive } from '../utils';\n\nconst DEFAULT_FILL = '#3e9838';\nconst DEFAULT_DOT_SHAPE = '21';\nconst DEFAULT_DOT_SIZE = 3;\n\nabstract class BaseDiscreteLayer {\n abstract type: string;\n abstract isEqualForCalculation(otherLayer: DiscreteLayer): boolean;\n}\n\nexport class BoxLayer extends BaseDiscreteLayer {\n readonly type = 'box';\n readonly stat: {\n upper: number;\n medium: number;\n lower: number;\n k: number;\n } = {\n upper: 0.75,\n medium: 0.5,\n lower: 0.25,\n k: 1.5,\n };\n readonly aes: {\n showOutliers: boolean;\n boxWidth: 'auto' | number;\n dotShape: InheritAesDiscrete | PointShape;\n dotSize: InheritAesDiscrete | number;\n dotFill: InheritAesDiscrete | string;\n lineColor: InheritAesDiscrete | string;\n fillColor: InheritAesDiscrete | string;\n lineWidth: number;\n lineShape: LineShape;\n opacity: number;\n } = {\n showOutliers: true,\n boxWidth: 'auto',\n dotShape: DEFAULT_DOT_SHAPE,\n dotFill: BLACK,\n dotSize: DEFAULT_DOT_SIZE,\n lineColor: BLACK,\n fillColor: DEFAULT_FILL,\n lineWidth: 1,\n lineShape: 'solid',\n opacity: 1,\n };\n\n constructor(layer: OuterBoxLayer) {\n super();\n this.stat = {\n ...this.stat,\n ...layer.stat,\n };\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return (\n otherLayer.type === 'box' &&\n (Object.keys(this.stat) as (keyof BoxLayer['stat'])[]).every(key => this.stat[key] === otherLayer.stat[key])\n );\n }\n}\n\nexport class ViolinLayer extends BaseDiscreteLayer {\n readonly type = 'violin';\n readonly stat: {\n bandwidth: 'auto' | number;\n stepsCount: 'auto' | number;\n trim: boolean;\n } = {\n bandwidth: 'auto',\n stepsCount: 40,\n trim: true,\n };\n readonly aes: {\n width: 'auto' | number;\n lineColor: InheritAesDiscrete | string;\n fillColor: InheritAesDiscrete | string;\n lineWidth: number;\n lineShape: LineShape;\n opacity: number;\n showQuartiles: boolean;\n medianLineStyle: LineShape;\n quartilesLineStyle: LineShape;\n } = {\n width: 'auto',\n lineColor: BLACK,\n fillColor: DEFAULT_FILL,\n lineWidth: 1,\n lineShape: 'solid',\n opacity: 1,\n showQuartiles: true,\n medianLineStyle: 'solid',\n quartilesLineStyle: 'dashed'\n };\n\n constructor(layer: OuterViolinLayer) {\n super();\n this.stat = {\n ...this.stat,\n ...layer.stat,\n };\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return (\n otherLayer.type === 'violin' && (\n this.stat.bandwidth !== otherLayer.stat.bandwidth ||\n this.stat.trim !== otherLayer.stat.trim ||\n this.stat.stepsCount !== otherLayer.stat.stepsCount\n )\n );\n }\n}\n\nexport class DotLayer extends BaseDiscreteLayer {\n readonly type = 'dot';\n readonly aes: {\n showOutliers: boolean;\n jitter: number;\n dotFill: InheritAesDiscrete | string;\n lineColor: InheritAesDiscrete | string;\n dotShape: InheritAesDiscrete | PointShape;\n dotSize: number;\n opacity: number;\n } = {\n showOutliers: true,\n jitter: 0.8,\n lineColor: 'none',\n dotFill: BLACK,\n dotShape: DEFAULT_DOT_SHAPE,\n dotSize: DEFAULT_DOT_SIZE,\n opacity: 1,\n };\n\n constructor(layer: OuterDotLayer) {\n super();\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'dot' && this.aes.showOutliers === otherLayer.aes.showOutliers;\n }\n}\n\nexport class LineLayer extends BaseDiscreteLayer {\n readonly type = 'line';\n readonly pointsValues: SummaryGroupValue;\n readonly emptyGroupValue: number;\n readonly aes: {\n showOutliers: boolean;\n lineWidth: number;\n lineColor: InheritAesDiscrete | string;\n fillColor: InheritAesDiscrete | string;\n lineShape: InheritAesDiscrete | LineShape;\n dotShape: InheritAesDiscrete | PointShape;\n dotSize: number;\n opacity: number;\n } = {\n showOutliers: true,\n lineWidth: 1,\n lineShape: 'solid',\n fillColor: 'none',\n lineColor: BLACK,\n dotShape: DEFAULT_DOT_SHAPE,\n dotSize: DEFAULT_DOT_SIZE,\n opacity: 1,\n };\n\n constructor(layer: OuterLineLayer) {\n super();\n this.pointsValues = layer.pointsValues;\n this.emptyGroupValue = layer.emptyGroupValue ?? 0;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'line' && this.pointsValues === otherLayer.pointsValues && this.emptyGroupValue === otherLayer.emptyGroupValue;\n }\n}\n\nexport class ErrorBarLayer extends BaseDiscreteLayer {\n readonly type = 'errorbar';\n readonly pointsValues: SummaryGroupValue;\n readonly interval: SummaryErrorValue;\n readonly aes: {\n showDots: boolean;\n width: number | 'auto';\n lineWidth: number;\n lineColor: InheritAesDiscrete | string;\n fillColor: InheritAesDiscrete | string;\n dotShape: InheritAesDiscrete | PointShape;\n dotSize: number;\n opacity: number;\n } = {\n showDots: true,\n width: 'auto',\n lineWidth: 1,\n fillColor: 'none',\n lineColor: BLACK,\n dotShape: DEFAULT_DOT_SHAPE,\n dotSize: DEFAULT_DOT_SIZE,\n opacity: 1,\n };\n\n constructor(layer: OuterErrorBarLayer) {\n super();\n this.pointsValues = layer.pointsValues;\n this.interval = layer.interval;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return (\n otherLayer.type === 'errorbar' &&\n this.pointsValues === otherLayer.pointsValues &&\n this.interval === otherLayer.interval\n );\n }\n}\n\nexport class BarLayer extends BaseDiscreteLayer {\n readonly type = 'bar';\n readonly height: 'min' | 'max' | 'median' | 'mean';\n readonly aes: {\n width: number | 'auto';\n lineColor: InheritAesDiscrete | Color;\n fillColor: InheritAesDiscrete | Color;\n lineWidth: number;\n opacity: number;\n } = {\n width: 'auto',\n lineWidth: 1,\n fillColor: 'none',\n lineColor: BLACK,\n opacity: 1,\n };\n\n constructor(layer: OuterBarLayer) {\n super();\n this.height = layer.height ?? 'max';\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'bar' && this.height === otherLayer.height;\n }\n}\n\nexport class StackedBarLayer extends BaseDiscreteLayer {\n readonly type = 'stackedBar';\n readonly normalize: boolean = false;\n readonly aes: {\n width: number | 'auto';\n lineColor: InheritAesDiscrete | Color;\n fillColor: InheritAesDiscrete | Color;\n lineWidth: number;\n opacity: number;\n } = {\n width: 'auto',\n lineWidth: 1,\n fillColor: DEFAULT_FILL,\n lineColor: 'none',\n opacity: 1,\n };\n\n constructor(layer: OuterStackedBarLayer) {\n super();\n this.normalize = layer.normalize ?? false;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'stackedBar' && otherLayer.normalize === this.normalize;\n }\n}\n\nexport class StackedAreaLayer extends BaseDiscreteLayer {\n readonly type = 'stackedArea';\n readonly normalize: boolean = false;\n readonly showBars: boolean = true;\n readonly aes: {\n barWidth: number | 'auto';\n lineColor: InheritAesDiscrete | Color;\n fillColor: InheritAesDiscrete | Color;\n lineWidth: number;\n barsOpacity: number;\n areaOpacity: number;\n } = {\n barWidth: 'auto',\n lineWidth: 1,\n fillColor: DEFAULT_FILL,\n lineColor: 'none',\n barsOpacity: 1,\n areaOpacity: 0.7,\n };\n\n constructor(layer: OuterStackedAreaLayer) {\n super();\n this.normalize = layer.normalize ?? false;\n this.showBars = layer.showBars ?? true;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'stackedArea' && otherLayer.normalize === this.normalize && otherLayer.showBars === this.showBars;\n }\n}\n\nexport class LogoPlotLayer extends BaseDiscreteLayer {\n readonly type = 'logo';\n readonly normalize: boolean = false;\n readonly aes: {\n width: number | 'auto';\n fillColor: Record<string, string> | Color;\n lineColor: Color;\n opacity: number;\n } = {\n width: 'auto',\n fillColor: DEFAULT_FILL,\n lineColor: 'none',\n opacity: 1,\n };\n\n constructor(layer: OuterLogoPlotLayer) {\n super();\n this.normalize = layer.normalize ?? false;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'logo' && otherLayer.normalize === this.normalize;\n }\n}\n\nexport class BinnedDotsLayer extends BaseDiscreteLayer {\n readonly type = 'binnedDots';\n readonly method: 'dotdensity' | 'histodot';\n readonly position: 'stack' | 'jitter';\n readonly keyColumn: ColumnName | null;\n readonly aes: {\n showOutliers: boolean;\n width: number | 'auto';\n lineColor: InheritAesDiscrete | Color;\n fillColor: InheritAesDiscrete | Color;\n dotSize?: number;\n lineWidth: number;\n opacity: number;\n } = {\n showOutliers: true,\n width: 'auto',\n lineWidth: 1,\n fillColor: 'none',\n lineColor: BLACK,\n opacity: 1,\n };\n\n constructor(layer: OuterBinnedDotsLayer) {\n super();\n this.method = layer.method ?? 'dotdensity';\n this.position = layer.position ?? 'stack';\n this.keyColumn = layer.keyColumn ?? null;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return (\n otherLayer.type === 'binnedDots' &&\n this.method === otherLayer.method &&\n this.position === otherLayer.position &&\n this.keyColumn?.value === otherLayer.keyColumn?.value\n );\n }\n}\n\nexport class PairedPointsLayer extends BaseDiscreteLayer {\n readonly type = 'pairedPoints';\n readonly linkColumn: ColumnName;\n readonly aes: {\n showOutliers: boolean;\n lineColor: InheritAesDiscrete | Color;\n lineWidth: number;\n lineShape: LineShape;\n dotFill: InheritAesDiscrete | Color;\n dotSize: number;\n dotShape: PointShape;\n opacity: number;\n } = {\n showOutliers: true,\n lineWidth: 1,\n lineColor: BLACK,\n lineShape: 'solid',\n dotFill: BLACK,\n dotSize: DEFAULT_DOT_SIZE,\n dotShape: DEFAULT_DOT_SHAPE,\n opacity: 1,\n };\n\n constructor(layer: OuterPairedPointsLayer) {\n super();\n this.linkColumn = layer.linkColumn;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return (\n otherLayer.type === 'pairedPoints' &&\n this.aes.showOutliers === otherLayer.aes.showOutliers &&\n this.linkColumn.value === otherLayer.linkColumn.value\n );\n }\n}\n\nexport class SinaLayer extends BaseDiscreteLayer {\n readonly type = 'sina';\n readonly aes: {\n showOutliers: boolean;\n width: number | 'auto';\n dotFill: InheritAesDiscrete | Color;\n dotSize: number;\n dotShape: InheritAesDiscrete | PointShape;\n opacity: number;\n } = {\n showOutliers: true,\n width: 'auto',\n dotFill: DEFAULT_FILL,\n dotSize: DEFAULT_DOT_SIZE,\n dotShape: DEFAULT_DOT_SHAPE,\n opacity: 1,\n };\n\n constructor(layer: OuterSinaLayer) {\n super();\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'sina' && this.aes.showOutliers === otherLayer.aes.showOutliers;\n }\n}\n\nexport class StatLayer extends BaseDiscreteLayer {\n readonly type = 'stat';\n readonly statType: 'overall' | 'referenceGroup' | 'pairwise';\n readonly testMethod: StatTestMethod;\n readonly paired: boolean;\n readonly ns: boolean;\n readonly format: 'significance' | 'pValue';\n readonly referenceGroup: DataValue | null = null;\n readonly correctionMethod: PValueCorrectionMethod | null = null;\n readonly significanceLevels: SignificanceLevels;\n\n constructor(layer: OuterStatLayer) {\n super();\n this.statType = layer.statType;\n this.testMethod = layer.testMethod;\n this.paired = layer.paired ?? false;\n this.ns = layer.ns ?? true;\n this.format = layer.format ?? 'pValue';\n if (this.statType === 'referenceGroup') {\n this.referenceGroup = layer.referenceGroup ?? null;\n }\n if (this.statType === 'referenceGroup' || this.statType === 'pairwise') {\n this.correctionMethod = layer.correctionMethod ?? null;\n }\n this.significanceLevels = {\n one: layer.significanceLevels?.one ?? 0.05,\n two: layer.significanceLevels?.two ?? 0.01,\n three: layer.significanceLevels?.three ?? 0.001,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'stat' && (Object.keys(this) as (keyof StatLayer)[]).every(key => this[key] === otherLayer[key]);\n }\n}\n\nexport type DiscreteLayer =\n | StackedAreaLayer\n | BoxLayer\n | ViolinLayer\n | DotLayer\n | LineLayer\n | ErrorBarLayer\n | BarLayer\n | StackedBarLayer\n | BinnedDotsLayer\n | PairedPointsLayer\n | SinaLayer\n | StatLayer\n | LogoPlotLayer;\n\nexport class DiscreteSettingsImpl implements SettingsInterface {\n readonly id: string;\n readonly type = 'discrete';\n readonly y: ColumnName;\n readonly keyColumn: ColumnName | null;\n readonly primaryGrouping: {\n columnName: ColumnName;\n order?: DataValue[];\n inheritedAes?: AesRecord;\n allowNullGroup?: boolean;\n } | null;\n readonly secondaryGrouping: {\n columnName: ColumnName;\n order?: DataValue[];\n inheritedAes?: AesRecord;\n allowNullGroup?: boolean;\n } | null;\n readonly facetSettings: {\n sharedX: boolean;\n sharedY: boolean;\n order?: Record<string, DataValue[]>; // map with ordered values of columns in \"facetBy\"\n nRows?: number;\n nCols?: number;\n titlePosition?: 'left' | 'right' | 'center';\n } | null;\n readonly facetBy: ColumnName[];\n readonly chartSettings: {\n readonly size: {width: number; height: number, outerOffset: number, innerOffset: number};\n readonly title: {name: string; show: boolean; position: TitlePosition};\n readonly orientation: Orientation;\n readonly yAxis: {\n title: string | ColumnName;\n scale: 'linear' | 'log';\n showGrid: boolean;\n showTicks: boolean;\n hiddenLabels: boolean;\n };\n readonly xAxis: {\n title: string | ColumnName;\n showGrid: boolean;\n linesBetweenCategories: boolean;\n showTicks: boolean;\n labelsPosition: 'center' | '45deg' | '90deg';\n hiddenLabels: boolean;\n };\n readonly frame: {type: FrameType};\n readonly legend: {show: boolean; position: LegendPosition};\n readonly tooltips: {\n box: {show: boolean};\n violin: {show: boolean};\n boxOutliers: {show: boolean};\n line: {show: boolean};\n dot: {show: boolean};\n errorBar: {show: boolean};\n binnedDots: {show: boolean};\n pairedPoints: {show: boolean};\n stackedBar: {show: boolean};\n logo: {show: boolean};\n };\n };\n\n readonly layers: DiscreteLayer[];\n\n constructor(settings: DiscreteSettings) {\n DiscreteSettingsSchema.parse(settings);\n this.id = lodash.uniqueId('settings');\n this.y = settings.y; // throw error if empty or if y.name doesn't exist in input table\n this.keyColumn = settings.keyColumn ?? null;\n this.primaryGrouping = settings.primaryGrouping ?? null; // check columnName\n this.secondaryGrouping = settings.secondaryGrouping ?? null; // check columnName\n this.facetSettings = {\n sharedX: true,\n sharedY: true,\n titlePosition: 'left',\n ...settings.facetSettings,\n };\n this.facetBy = settings.facetBy ?? [];\n this.chartSettings = {\n size: {\n width: settings?.size?.width ?? (this.facetBy.length ? DEFAULT_WIDTH_SMALL : DEFAULT_WIDTH),\n height: settings?.size?.height ?? (this.facetBy.length ? DEFAULT_HEIGHT_SMALL : DEFAULT_HEIGHT),\n outerOffset: settings?.size?.outerOffset ?? MIN_MARGIN,\n innerOffset: settings?.size?.innerOffset ?? PADDINGS.TOP\n },\n title: {\n position: 'center',\n show: true,\n ...settings.title,\n name: settings.title?.name ?? 'Chart',\n },\n orientation: settings.orientation ?? 'vertical',\n yAxis: {\n title: settings.y?.label ?? settings.y.value ?? '',\n scale: 'linear',\n showGrid: true,\n showTicks: true,\n hiddenLabels: false,\n ...settings.yAxis,\n },\n xAxis: {\n title: settings.primaryGrouping?.columnName?.label ?? settings.primaryGrouping?.columnName.value ?? '',\n showGrid: true,\n showTicks: true,\n linesBetweenCategories: true,\n labelsPosition: 'center',\n hiddenLabels: false,\n ...settings.xAxis,\n },\n frame: {type: settings.frame?.type ?? 'full'},\n legend: {\n show: true,\n position: 'right',\n ...settings.legend,\n },\n tooltips: {\n box: {show: true},\n violin: {show: true},\n boxOutliers: {show: true},\n line: {show: true},\n errorBar: {show: true},\n dot: {show: true},\n binnedDots: {show: true},\n pairedPoints: {show: true},\n stackedBar: {show: true},\n logo: {show: false},\n ...settings.tooltips,\n },\n };\n this.layers = settings.layers\n .map(layer => {\n if (layer.type === 'box') {\n return new BoxLayer(layer);\n }\n if (layer.type === 'violin') {\n return new ViolinLayer(layer);\n }\n if (layer.type === 'dot') {\n return new DotLayer(layer);\n }\n if (layer.type === 'line') {\n return new LineLayer(layer);\n }\n if (layer.type === 'errorbar') {\n return new ErrorBarLayer(layer);\n }\n if (layer.type === 'bar') {\n return new BarLayer(layer);\n }\n if (layer.type === 'stackedBar') {\n return new StackedBarLayer(layer);\n }\n if (layer.type === 'stackedArea') {\n return new StackedAreaLayer(layer);\n }\n if (layer.type === 'stat') {\n return new StatLayer(layer);\n }\n if (layer.type === 'binnedDots') {\n return new BinnedDotsLayer(layer);\n }\n if (layer.type === 'pairedPoints') {\n return new PairedPointsLayer(layer);\n }\n if (layer.type === 'sina') {\n return new SinaLayer(layer);\n }\n if (layer.type === 'logo') {\n return new LogoPlotLayer(layer);\n }\n exhaustive(layer, 'Unknown layer type');\n })\n .filter(Boolean) as DiscreteLayer[];\n }\n}\n"],"names":["DEFAULT_FILL","DEFAULT_DOT_SHAPE","DEFAULT_DOT_SIZE","BaseDiscreteLayer","BoxLayer","layer","__publicField","BLACK","otherLayer","key","ViolinLayer","DotLayer","LineLayer","ErrorBarLayer","BarLayer","StackedBarLayer","StackedAreaLayer","LogoPlotLayer","BinnedDotsLayer","_a","_b","PairedPointsLayer","SinaLayer","StatLayer","_c","DiscreteSettingsImpl","settings","DiscreteSettingsSchema","lodash","DEFAULT_WIDTH_SMALL","DEFAULT_WIDTH","DEFAULT_HEIGHT_SMALL","DEFAULT_HEIGHT","MIN_MARGIN","_d","PADDINGS","_e","_f","_h","_g","_i","_j","exhaustive"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"DiscreteSettingsImpl.js","sources":["../../../../../../node_modules/@milaboratories/miplots4/src/discrete/DiscreteSettingsImpl.ts"],"sourcesContent":["import { BLACK, DEFAULT_HEIGHT, DEFAULT_HEIGHT_SMALL, DEFAULT_WIDTH, DEFAULT_WIDTH_SMALL } from '../constants';\nimport type {\n AesRecord,\n Color,\n ColumnName,\n DataValue,\n DiscreteSettings,\n FrameType,\n InheritAesDiscrete,\n LegendPosition,\n LineShape,\n Orientation,\n BarLayer as OuterBarLayer,\n BinnedDotsLayer as OuterBinnedDotsLayer,\n BoxLayer as OuterBoxLayer,\n DotLayer as OuterDotLayer,\n ErrorBarLayer as OuterErrorBarLayer,\n LineLayer as OuterLineLayer,\n LogoPlotLayer as OuterLogoPlotLayer,\n PairedPointsLayer as OuterPairedPointsLayer,\n SinaLayer as OuterSinaLayer,\n StackedAreaLayer as OuterStackedAreaLayer,\n StackedBarLayer as OuterStackedBarLayer,\n StatLayer as OuterStatLayer,\n ViolinLayer as OuterViolinLayer,\n PointShape,\n PValueCorrectionMethod,\n SettingsInterface,\n SignificanceLevels,\n StatTestMethod,\n SummaryErrorValue,\n SummaryGroupValue,\n TitlePosition,\n} from '../types';\nimport { DiscreteSettingsSchema } from '../types';\nimport { MIN_MARGIN, PADDINGS } from './constants';\n\nimport lodash from 'lodash';\nimport { exhaustive } from '../utils';\n\nconst DEFAULT_FILL = '#3e9838';\nconst DEFAULT_DOT_SHAPE = '21';\nconst DEFAULT_DOT_SIZE = 3;\n\nabstract class BaseDiscreteLayer {\n abstract type: string;\n abstract isEqualForCalculation(otherLayer: DiscreteLayer): boolean;\n}\n\nexport class BoxLayer extends BaseDiscreteLayer {\n readonly type = 'box';\n readonly stat: {\n upper: number;\n medium: number;\n lower: number;\n k: number;\n } = {\n upper: 0.75,\n medium: 0.5,\n lower: 0.25,\n k: 1.5,\n };\n readonly aes: {\n showOutliers: boolean;\n boxWidth: 'auto' | number;\n dotShape: InheritAesDiscrete | PointShape;\n dotSize: InheritAesDiscrete | number;\n dotFill: InheritAesDiscrete | string;\n lineColor: InheritAesDiscrete | string;\n fillColor: InheritAesDiscrete | string;\n lineWidth: number;\n lineShape: LineShape;\n opacity: number;\n } = {\n showOutliers: true,\n boxWidth: 'auto',\n dotShape: DEFAULT_DOT_SHAPE,\n dotFill: BLACK,\n dotSize: DEFAULT_DOT_SIZE,\n lineColor: BLACK,\n fillColor: DEFAULT_FILL,\n lineWidth: 1,\n lineShape: 'solid',\n opacity: 1,\n };\n\n constructor(layer: OuterBoxLayer) {\n super();\n this.stat = {\n ...this.stat,\n ...layer.stat,\n };\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return (\n otherLayer.type === 'box' &&\n (Object.keys(this.stat) as (keyof BoxLayer['stat'])[]).every(key => this.stat[key] === otherLayer.stat[key])\n );\n }\n}\n\nexport class ViolinLayer extends BaseDiscreteLayer {\n readonly type = 'violin';\n readonly stat: {\n bandwidth: 'auto' | number;\n stepsCount: 'auto' | number;\n trim: boolean;\n } = {\n bandwidth: 'auto',\n stepsCount: 40,\n trim: true,\n };\n readonly aes: {\n width: 'auto' | number;\n lineColor: InheritAesDiscrete | string;\n fillColor: InheritAesDiscrete | string;\n lineWidth: number;\n lineShape: LineShape;\n opacity: number;\n showQuartiles: boolean;\n medianLineStyle: LineShape;\n quartilesLineStyle: LineShape;\n } = {\n width: 'auto',\n lineColor: BLACK,\n fillColor: DEFAULT_FILL,\n lineWidth: 1,\n lineShape: 'solid',\n opacity: 1,\n showQuartiles: true,\n medianLineStyle: 'solid',\n quartilesLineStyle: 'dashed'\n };\n\n constructor(layer: OuterViolinLayer) {\n super();\n this.stat = {\n ...this.stat,\n ...layer.stat,\n };\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return (\n otherLayer.type === 'violin' && (\n this.stat.bandwidth !== otherLayer.stat.bandwidth ||\n this.stat.trim !== otherLayer.stat.trim ||\n this.stat.stepsCount !== otherLayer.stat.stepsCount\n )\n );\n }\n}\n\nexport class DotLayer extends BaseDiscreteLayer {\n readonly type = 'dot';\n readonly aes: {\n showOutliers: boolean;\n jitter: number;\n dotFill: InheritAesDiscrete | string;\n lineColor: InheritAesDiscrete | string;\n dotShape: InheritAesDiscrete | PointShape;\n dotSize: number;\n opacity: number;\n } = {\n showOutliers: true,\n jitter: 0.8,\n lineColor: 'none',\n dotFill: BLACK,\n dotShape: DEFAULT_DOT_SHAPE,\n dotSize: DEFAULT_DOT_SIZE,\n opacity: 1,\n };\n\n constructor(layer: OuterDotLayer) {\n super();\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'dot' && this.aes.showOutliers === otherLayer.aes.showOutliers;\n }\n}\n\nexport class LineLayer extends BaseDiscreteLayer {\n readonly type = 'line';\n readonly pointsValues: SummaryGroupValue;\n readonly emptyGroupValue: number;\n readonly aes: {\n showOutliers: boolean;\n lineWidth: number;\n lineColor: InheritAesDiscrete | string;\n fillColor: InheritAesDiscrete | string;\n lineShape: InheritAesDiscrete | LineShape;\n dotShape: InheritAesDiscrete | PointShape;\n dotSize: number;\n opacity: number;\n } = {\n showOutliers: true,\n lineWidth: 1,\n lineShape: 'solid',\n fillColor: 'none',\n lineColor: BLACK,\n dotShape: DEFAULT_DOT_SHAPE,\n dotSize: DEFAULT_DOT_SIZE,\n opacity: 1,\n };\n\n constructor(layer: OuterLineLayer) {\n super();\n this.pointsValues = layer.pointsValues;\n this.emptyGroupValue = layer.emptyGroupValue ?? 0;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'line' && this.pointsValues === otherLayer.pointsValues && this.emptyGroupValue === otherLayer.emptyGroupValue;\n }\n}\n\nexport class ErrorBarLayer extends BaseDiscreteLayer {\n readonly type = 'errorbar';\n readonly pointsValues: SummaryGroupValue;\n readonly interval: SummaryErrorValue;\n readonly aes: {\n showDots: boolean;\n width: number | 'auto';\n lineWidth: number;\n lineColor: InheritAesDiscrete | string;\n fillColor: InheritAesDiscrete | string;\n dotShape: InheritAesDiscrete | PointShape;\n dotSize: number;\n opacity: number;\n } = {\n showDots: true,\n width: 'auto',\n lineWidth: 1,\n fillColor: 'none',\n lineColor: BLACK,\n dotShape: DEFAULT_DOT_SHAPE,\n dotSize: DEFAULT_DOT_SIZE,\n opacity: 1,\n };\n\n constructor(layer: OuterErrorBarLayer) {\n super();\n this.pointsValues = layer.pointsValues;\n this.interval = layer.interval;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return (\n otherLayer.type === 'errorbar' &&\n this.pointsValues === otherLayer.pointsValues &&\n this.interval === otherLayer.interval\n );\n }\n}\n\nexport class BarLayer extends BaseDiscreteLayer {\n readonly type = 'bar';\n readonly height: 'min' | 'max' | 'median' | 'mean';\n readonly aes: {\n width: number | 'auto';\n lineColor: InheritAesDiscrete | Color;\n fillColor: InheritAesDiscrete | Color;\n lineWidth: number;\n opacity: number;\n } = {\n width: 'auto',\n lineWidth: 1,\n fillColor: 'none',\n lineColor: BLACK,\n opacity: 1,\n };\n\n constructor(layer: OuterBarLayer) {\n super();\n this.height = layer.height ?? 'max';\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'bar' && this.height === otherLayer.height;\n }\n}\n\nexport class StackedBarLayer extends BaseDiscreteLayer {\n readonly type = 'stackedBar';\n readonly normalize: boolean = false;\n readonly height: 'sum' | 'min' | 'max' | 'median' | 'mean';\n readonly aes: {\n width: number | 'auto';\n lineColor: InheritAesDiscrete | Color;\n fillColor: InheritAesDiscrete | Color;\n lineWidth: number;\n opacity: number;\n } = {\n width: 'auto',\n lineWidth: 1,\n fillColor: DEFAULT_FILL,\n lineColor: 'none',\n opacity: 1,\n };\n\n constructor(layer: OuterStackedBarLayer) {\n super();\n this.normalize = layer.normalize ?? false;\n this.height = layer.height ?? 'sum';\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'stackedBar' && otherLayer.normalize === this.normalize && otherLayer.height === this.height;\n }\n}\n\nexport class StackedAreaLayer extends BaseDiscreteLayer {\n readonly type = 'stackedArea';\n readonly normalize: boolean = false;\n readonly height: 'sum' | 'min' | 'max' | 'median' | 'mean';\n readonly showBars: boolean = true;\n readonly aes: {\n barWidth: number | 'auto';\n lineColor: InheritAesDiscrete | Color;\n fillColor: InheritAesDiscrete | Color;\n lineWidth: number;\n barsOpacity: number;\n areaOpacity: number;\n } = {\n barWidth: 'auto',\n lineWidth: 1,\n fillColor: DEFAULT_FILL,\n lineColor: 'none',\n barsOpacity: 1,\n areaOpacity: 0.7,\n };\n\n constructor(layer: OuterStackedAreaLayer) {\n super();\n this.normalize = layer.normalize ?? false;\n this.height = layer.height ?? 'sum';\n this.showBars = layer.showBars ?? true;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'stackedArea' && otherLayer.normalize === this.normalize && otherLayer.height === this.height && otherLayer.showBars === this.showBars;\n }\n}\n\nexport class LogoPlotLayer extends BaseDiscreteLayer {\n readonly type = 'logo';\n readonly normalize: boolean = false;\n readonly aes: {\n width: number | 'auto';\n fillColor: Record<string, string> | Color;\n lineColor: Color;\n opacity: number;\n } = {\n width: 'auto',\n fillColor: DEFAULT_FILL,\n lineColor: 'none',\n opacity: 1,\n };\n\n constructor(layer: OuterLogoPlotLayer) {\n super();\n this.normalize = layer.normalize ?? false;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'logo' && otherLayer.normalize === this.normalize;\n }\n}\n\nexport class BinnedDotsLayer extends BaseDiscreteLayer {\n readonly type = 'binnedDots';\n readonly method: 'dotdensity' | 'histodot';\n readonly position: 'stack' | 'jitter';\n readonly keyColumn: ColumnName | null;\n readonly aes: {\n showOutliers: boolean;\n width: number | 'auto';\n lineColor: InheritAesDiscrete | Color;\n fillColor: InheritAesDiscrete | Color;\n dotSize?: number;\n lineWidth: number;\n opacity: number;\n } = {\n showOutliers: true,\n width: 'auto',\n lineWidth: 1,\n fillColor: 'none',\n lineColor: BLACK,\n opacity: 1,\n };\n\n constructor(layer: OuterBinnedDotsLayer) {\n super();\n this.method = layer.method ?? 'dotdensity';\n this.position = layer.position ?? 'stack';\n this.keyColumn = layer.keyColumn ?? null;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return (\n otherLayer.type === 'binnedDots' &&\n this.method === otherLayer.method &&\n this.position === otherLayer.position &&\n this.keyColumn?.value === otherLayer.keyColumn?.value\n );\n }\n}\n\nexport class PairedPointsLayer extends BaseDiscreteLayer {\n readonly type = 'pairedPoints';\n readonly linkColumn: ColumnName;\n readonly aes: {\n showOutliers: boolean;\n lineColor: InheritAesDiscrete | Color;\n lineWidth: number;\n lineShape: LineShape;\n dotFill: InheritAesDiscrete | Color;\n dotSize: number;\n dotShape: PointShape;\n opacity: number;\n } = {\n showOutliers: true,\n lineWidth: 1,\n lineColor: BLACK,\n lineShape: 'solid',\n dotFill: BLACK,\n dotSize: DEFAULT_DOT_SIZE,\n dotShape: DEFAULT_DOT_SHAPE,\n opacity: 1,\n };\n\n constructor(layer: OuterPairedPointsLayer) {\n super();\n this.linkColumn = layer.linkColumn;\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return (\n otherLayer.type === 'pairedPoints' &&\n this.aes.showOutliers === otherLayer.aes.showOutliers &&\n this.linkColumn.value === otherLayer.linkColumn.value\n );\n }\n}\n\nexport class SinaLayer extends BaseDiscreteLayer {\n readonly type = 'sina';\n readonly aes: {\n showOutliers: boolean;\n width: number | 'auto';\n dotFill: InheritAesDiscrete | Color;\n dotSize: number;\n dotShape: InheritAesDiscrete | PointShape;\n opacity: number;\n } = {\n showOutliers: true,\n width: 'auto',\n dotFill: DEFAULT_FILL,\n dotSize: DEFAULT_DOT_SIZE,\n dotShape: DEFAULT_DOT_SHAPE,\n opacity: 1,\n };\n\n constructor(layer: OuterSinaLayer) {\n super();\n this.aes = {\n ...this.aes,\n ...layer.aes,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'sina' && this.aes.showOutliers === otherLayer.aes.showOutliers;\n }\n}\n\nexport class StatLayer extends BaseDiscreteLayer {\n readonly type = 'stat';\n readonly statType: 'overall' | 'referenceGroup' | 'pairwise';\n readonly testMethod: StatTestMethod;\n readonly paired: boolean;\n readonly ns: boolean;\n readonly format: 'significance' | 'pValue';\n readonly referenceGroup: DataValue | null = null;\n readonly correctionMethod: PValueCorrectionMethod | null = null;\n readonly significanceLevels: SignificanceLevels;\n\n constructor(layer: OuterStatLayer) {\n super();\n this.statType = layer.statType;\n this.testMethod = layer.testMethod;\n this.paired = layer.paired ?? false;\n this.ns = layer.ns ?? true;\n this.format = layer.format ?? 'pValue';\n if (this.statType === 'referenceGroup') {\n this.referenceGroup = layer.referenceGroup ?? null;\n }\n if (this.statType === 'referenceGroup' || this.statType === 'pairwise') {\n this.correctionMethod = layer.correctionMethod ?? null;\n }\n this.significanceLevels = {\n one: layer.significanceLevels?.one ?? 0.05,\n two: layer.significanceLevels?.two ?? 0.01,\n three: layer.significanceLevels?.three ?? 0.001,\n };\n }\n\n isEqualForCalculation(otherLayer: DiscreteLayer) {\n return otherLayer.type === 'stat' && (Object.keys(this) as (keyof StatLayer)[]).every(key => this[key] === otherLayer[key]);\n }\n}\n\nexport type DiscreteLayer =\n | StackedAreaLayer\n | BoxLayer\n | ViolinLayer\n | DotLayer\n | LineLayer\n | ErrorBarLayer\n | BarLayer\n | StackedBarLayer\n | BinnedDotsLayer\n | PairedPointsLayer\n | SinaLayer\n | StatLayer\n | LogoPlotLayer;\n\nexport class DiscreteSettingsImpl implements SettingsInterface {\n readonly id: string;\n readonly type = 'discrete';\n readonly y: ColumnName;\n readonly keyColumn: ColumnName | null;\n readonly primaryGrouping: {\n columnName: ColumnName;\n order?: DataValue[];\n inheritedAes?: AesRecord;\n allowNullGroup?: boolean;\n } | null;\n readonly secondaryGrouping: {\n columnName: ColumnName;\n order?: DataValue[];\n inheritedAes?: AesRecord;\n allowNullGroup?: boolean;\n } | null;\n readonly facetSettings: {\n sharedX: boolean;\n sharedY: boolean;\n order?: Record<string, DataValue[]>; // map with ordered values of columns in \"facetBy\"\n nRows?: number;\n nCols?: number;\n titlePosition?: 'left' | 'right' | 'center';\n } | null;\n readonly facetBy: ColumnName[];\n readonly chartSettings: {\n readonly size: {width: number; height: number, outerOffset: number, innerOffset: number};\n readonly title: {name: string; show: boolean; position: TitlePosition};\n readonly orientation: Orientation;\n readonly yAxis: {\n title: string | ColumnName;\n scale: 'linear' | 'log';\n showGrid: boolean;\n showTicks: boolean;\n hiddenLabels: boolean;\n };\n readonly xAxis: {\n title: string | ColumnName;\n showGrid: boolean;\n linesBetweenCategories: boolean;\n showTicks: boolean;\n labelsPosition: 'center' | '45deg' | '90deg';\n hiddenLabels: boolean;\n };\n readonly frame: {type: FrameType};\n readonly legend: {show: boolean; position: LegendPosition};\n readonly tooltips: {\n box: {show: boolean};\n violin: {show: boolean};\n boxOutliers: {show: boolean};\n line: {show: boolean};\n dot: {show: boolean};\n errorBar: {show: boolean};\n binnedDots: {show: boolean};\n pairedPoints: {show: boolean};\n stackedBar: {show: boolean};\n logo: {show: boolean};\n };\n };\n\n readonly layers: DiscreteLayer[];\n\n constructor(settings: DiscreteSettings) {\n DiscreteSettingsSchema.parse(settings);\n this.id = lodash.uniqueId('settings');\n this.y = settings.y; // throw error if empty or if y.name doesn't exist in input table\n this.keyColumn = settings.keyColumn ?? null;\n this.primaryGrouping = settings.primaryGrouping ?? null; // check columnName\n this.secondaryGrouping = settings.secondaryGrouping ?? null; // check columnName\n this.facetSettings = {\n sharedX: true,\n sharedY: true,\n titlePosition: 'left',\n ...settings.facetSettings,\n };\n this.facetBy = settings.facetBy ?? [];\n this.chartSettings = {\n size: {\n width: settings?.size?.width ?? (this.facetBy.length ? DEFAULT_WIDTH_SMALL : DEFAULT_WIDTH),\n height: settings?.size?.height ?? (this.facetBy.length ? DEFAULT_HEIGHT_SMALL : DEFAULT_HEIGHT),\n outerOffset: settings?.size?.outerOffset ?? MIN_MARGIN,\n innerOffset: settings?.size?.innerOffset ?? PADDINGS.TOP\n },\n title: {\n position: 'center',\n show: true,\n ...settings.title,\n name: settings.title?.name ?? 'Chart',\n },\n orientation: settings.orientation ?? 'vertical',\n yAxis: {\n title: settings.y?.label ?? settings.y.value ?? '',\n scale: 'linear',\n showGrid: true,\n showTicks: true,\n hiddenLabels: false,\n ...settings.yAxis,\n },\n xAxis: {\n title: settings.primaryGrouping?.columnName?.label ?? settings.primaryGrouping?.columnName.value ?? '',\n showGrid: true,\n showTicks: true,\n linesBetweenCategories: true,\n labelsPosition: 'center',\n hiddenLabels: false,\n ...settings.xAxis,\n },\n frame: {type: settings.frame?.type ?? 'full'},\n legend: {\n show: true,\n position: 'right',\n ...settings.legend,\n },\n tooltips: {\n box: {show: true},\n violin: {show: true},\n boxOutliers: {show: true},\n line: {show: true},\n errorBar: {show: true},\n dot: {show: true},\n binnedDots: {show: true},\n pairedPoints: {show: true},\n stackedBar: {show: true},\n logo: {show: false},\n ...settings.tooltips,\n },\n };\n this.layers = settings.layers\n .map(layer => {\n if (layer.type === 'box') {\n return new BoxLayer(layer);\n }\n if (layer.type === 'violin') {\n return new ViolinLayer(layer);\n }\n if (layer.type === 'dot') {\n return new DotLayer(layer);\n }\n if (layer.type === 'line') {\n return new LineLayer(layer);\n }\n if (layer.type === 'errorbar') {\n return new ErrorBarLayer(layer);\n }\n if (layer.type === 'bar') {\n return new BarLayer(layer);\n }\n if (layer.type === 'stackedBar') {\n return new StackedBarLayer(layer);\n }\n if (layer.type === 'stackedArea') {\n return new StackedAreaLayer(layer);\n }\n if (layer.type === 'stat') {\n return new StatLayer(layer);\n }\n if (layer.type === 'binnedDots') {\n return new BinnedDotsLayer(layer);\n }\n if (layer.type === 'pairedPoints') {\n return new PairedPointsLayer(layer);\n }\n if (layer.type === 'sina') {\n return new SinaLayer(layer);\n }\n if (layer.type === 'logo') {\n return new LogoPlotLayer(layer);\n }\n exhaustive(layer, 'Unknown layer type');\n })\n .filter(Boolean) as DiscreteLayer[];\n }\n}\n"],"names":["DEFAULT_FILL","DEFAULT_DOT_SHAPE","DEFAULT_DOT_SIZE","BaseDiscreteLayer","BoxLayer","layer","__publicField","BLACK","otherLayer","key","ViolinLayer","DotLayer","LineLayer","ErrorBarLayer","BarLayer","StackedBarLayer","StackedAreaLayer","LogoPlotLayer","BinnedDotsLayer","_a","_b","PairedPointsLayer","SinaLayer","StatLayer","_c","DiscreteSettingsImpl","settings","DiscreteSettingsSchema","lodash","DEFAULT_WIDTH_SMALL","DEFAULT_WIDTH","DEFAULT_HEIGHT_SMALL","DEFAULT_HEIGHT","MIN_MARGIN","_d","PADDINGS","_e","_f","_h","_g","_i","_j","exhaustive"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,10 +1,10 @@
1
1
  import { l as k } from "../node_modules/lodash/lodash.js";
2
- import { renderToString as $ } from "../node_modules/react-dom/server.browser.js";
2
+ import { renderToString as N } from "../node_modules/react-dom/server.browser.js";
3
3
  import { AbstractChart as R } from "../AbstractChart.js";
4
4
  import { NO_GROUPED as D } from "../DataFrame.js";
5
5
  import U from "./ChartRenderer.js";
6
6
  import { MAX_GROUPS_COUNT as w, MAX_FACETS_COUNT as O } from "./constants.js";
7
- import { DiscreteSettingsImpl as E, StatLayer as L, BoxLayer as P, ViolinLayer as T, DotLayer as x, LineLayer as K, ErrorBarLayer as I, BarLayer as F, StackedBarLayer as V, StackedAreaLayer as H, BinnedDotsLayer as j, PairedPointsLayer as M, SinaLayer as q, LogoPlotLayer as W } from "./DiscreteSettingsImpl.js";
7
+ import { DiscreteSettingsImpl as E, StatLayer as L, BoxLayer as P, ViolinLayer as T, DotLayer as x, LineLayer as K, ErrorBarLayer as I, BarLayer as F, StackedBarLayer as V, StackedAreaLayer as j, BinnedDotsLayer as H, PairedPointsLayer as M, SinaLayer as q, LogoPlotLayer as W } from "./DiscreteSettingsImpl.js";
8
8
  import { getBoxesData as X } from "./layers/boxes.js";
9
9
  import { getViolinsData as z } from "./layers/violins.js";
10
10
  import { getSinaData as J } from "./layers/sina.js";
@@ -59,7 +59,7 @@ function C(l, a) {
59
59
  inheritedAes: a.inheritedAes ?? null
60
60
  };
61
61
  }
62
- class Nt extends R {
62
+ class $t extends R {
63
63
  constructor(a, t, s) {
64
64
  super(a, t), S(this, "settings"), S(this, "chartRenderer", new U()), S(this, "onTooltipHintSwitch", () => {
65
65
  }), S(this, "calculatedData", null), this.settings = new E(t), s && (this.onTooltipHintSwitch = s[0]);
@@ -86,7 +86,7 @@ class Nt extends R {
86
86
  console.warn("no chart state for discrete");
87
87
  }
88
88
  export() {
89
- return this._updateChart(), $(this.chartRenderer.component);
89
+ return this._updateChart(), N(this.chartRenderer.component);
90
90
  }
91
91
  _needUpdateCalculatedDataBySettings(a, t) {
92
92
  var s, i, o, u, r, c, d, h, v, m, p, n;
@@ -122,7 +122,7 @@ class Nt extends R {
122
122
  primary: d.value !== null ? d.keys : [D],
123
123
  secondary: h.value !== null ? h.keys : [D]
124
124
  }, g = n.facet.reduce((e, f) => (e[B(f)] = n.primary.filter(
125
- (N) => this.data.getRowsByGrouping([...f, N]).length > 0
125
+ ($) => this.data.getRowsByGrouping([...f, $]).length > 0
126
126
  ).map(String), e), {}), y = o.filter((e) => !(e instanceof L)).map((e) => {
127
127
  if (e instanceof P)
128
128
  return X(e, n, this.data, t, s, r);
@@ -138,9 +138,9 @@ class Nt extends R {
138
138
  return tt(e, n, this.data, t, r);
139
139
  if (e instanceof V)
140
140
  return at(e, n, this.data, t);
141
- if (e instanceof H)
142
- return et(e, n, this.data, t);
143
141
  if (e instanceof j)
142
+ return et(e, n, this.data, t);
143
+ if (e instanceof H)
144
144
  return rt(e, n, this.data, t, r);
145
145
  if (e instanceof M)
146
146
  return st(e, n, this.data, t, r);
@@ -202,6 +202,6 @@ class Nt extends R {
202
202
  }
203
203
  }
204
204
  export {
205
- Nt as ChartDiscrete
205
+ $t as ChartDiscrete
206
206
  };
207
207
  //# sourceMappingURL=index.js.map
@@ -1,44 +1,69 @@
1
- import { NO_GROUPED as y } from "../../DataFrame.js";
1
+ import { NO_GROUPED as x } from "../../DataFrame.js";
2
2
  import { getFacetStringKey as k } from "../utils/getFacetStringKey.js";
3
- import E from "../../node_modules/d3-array/src/sum.js";
4
- function G(e, o, c, x) {
5
- let m = -1 / 0, i = 1 / 0;
3
+ import { exhaustive as z } from "../../utils/index.js";
4
+ import S from "../../node_modules/d3-array/src/mean.js";
5
+ import { quantileSorted as B } from "../../node_modules/d3-array/src/quantile.js";
6
+ import E from "../../node_modules/d3-array/src/min.js";
7
+ import M from "../../node_modules/d3-array/src/max.js";
8
+ import w from "../../node_modules/d3-array/src/sum.js";
9
+ function $(e, r, t) {
10
+ if (e.length === 0)
11
+ throw Error("Unable to create bar on empty data");
12
+ switch (t) {
13
+ case "sum":
14
+ return w(e, r);
15
+ case "max":
16
+ return M(e, r) ?? r(0);
17
+ case "min":
18
+ return E(e, r) ?? r(0);
19
+ case "median": {
20
+ const c = [...e].map(r).sort((a, m) => a - m);
21
+ return B(c, 0.5) ?? r(0);
22
+ }
23
+ case "mean":
24
+ return S(e, r) ?? r(0);
25
+ default:
26
+ z(t, `Unknown bar height function ${t}`);
27
+ }
28
+ }
29
+ function _(e, r, t, c) {
30
+ let a = -1 / 0, m = 1 / 0;
6
31
  return {
7
32
  type: "stackedBar",
8
- geoms: o.facet.reduce((s, g) => {
9
- const u = k(g);
10
- return s[u] = [], o.primary.forEach((l) => {
11
- let n = 0;
12
- const t = {};
13
- o.secondary.forEach((a) => {
14
- const r = a === y ? "null" : a, f = c.getRowsByGrouping([...g, l, a]);
15
- if (!f.length)
33
+ geoms: r.facet.reduce((u, h) => {
34
+ const p = k(h);
35
+ return u[p] = [], r.primary.forEach((l) => {
36
+ let s = 0;
37
+ const i = {};
38
+ r.secondary.forEach((o) => {
39
+ const n = o === x ? "null" : o, d = t.getRowsByGrouping([...h, l, o]);
40
+ if (!d.length)
16
41
  return;
17
- const d = E(f, (z) => Number(c.getColumnValue(x.value, z)));
18
- t[r] = {
19
- height: d,
20
- key: String(r)
21
- }, n += d;
42
+ const y = $(d, (b) => Number(t.getColumnValue(c.value, b)), e.height);
43
+ i[n] = {
44
+ height: y,
45
+ key: String(n)
46
+ }, s += y;
22
47
  });
23
- const h = n;
24
- e.normalize && o.secondary.forEach((a) => {
25
- const r = a === y ? "null" : a;
26
- t[r] && (t[r].height = t[r].height / h * 100);
27
- }), m = Math.max(m, 0, n), i = Math.min(i, 0, n);
28
- const p = e.normalize ? 100 : h;
29
- s[u].push({
48
+ const f = s;
49
+ e.normalize && r.secondary.forEach((o) => {
50
+ const n = o === x ? "null" : o;
51
+ i[n] && (i[n].height = i[n].height / f * 100);
52
+ }), a = Math.max(a, 0, s), m = Math.min(m, 0, s);
53
+ const g = e.normalize ? 100 : f;
54
+ u[p].push({
30
55
  key: `stackedBar_${String(l)}`,
31
- valuesMap: t,
56
+ valuesMap: i,
32
57
  primaryGrouping: l,
33
- boundsY: { min: Math.min(p, 0), max: Math.max(p, 0) }
58
+ boundsY: { min: Math.min(g, 0), max: Math.max(g, 0) }
34
59
  });
35
- }), s;
60
+ }), u;
36
61
  }, {}),
37
- meta: { minY: e.normalize ? 0 : i, maxY: e.normalize ? 100 : m, normalize: e.normalize },
62
+ meta: { minY: e.normalize ? 0 : m, maxY: e.normalize ? 100 : a, normalize: e.normalize },
38
63
  aes: e.aes
39
64
  };
40
65
  }
41
66
  export {
42
- G as getStackedBarsData
67
+ _ as getStackedBarsData
43
68
  };
44
69
  //# sourceMappingURL=stackedBar.js.map