@milaboratories/graph-maker 1.1.177 → 1.1.179

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 (210) hide show
  1. package/dist/components/AesButton.vue.d.ts +6 -6
  2. package/dist/components/AesButton.vue.js +2 -2
  3. package/dist/components/AesButton.vue.js.map +1 -1
  4. package/dist/components/AesSettings/AesDataMappingContinuous.vue.js +14 -14
  5. package/dist/components/AesSettings/AesDataMappingContinuous.vue.js.map +1 -1
  6. package/dist/components/AesSettings/AesDataMappingDiscrete.vue.js +39 -38
  7. package/dist/components/AesSettings/AesDataMappingDiscrete.vue.js.map +1 -1
  8. package/dist/components/AesSettings/FixedColorsList.vue.d.ts +1 -1
  9. package/dist/components/AesSettings/FixedColorsList.vue.js +13 -12
  10. package/dist/components/AesSettings/FixedColorsList.vue.js.map +1 -1
  11. package/dist/components/AesSettings/FixedDotShapeList.vue.js +10 -9
  12. package/dist/components/AesSettings/FixedDotShapeList.vue.js.map +1 -1
  13. package/dist/components/AesSettings/FixedLineTypeList.vue.js +12 -11
  14. package/dist/components/AesSettings/FixedLineTypeList.vue.js.map +1 -1
  15. package/dist/components/AesSettings/FormWrapper.vue.js +2 -2
  16. package/dist/components/AesSettings/FormWrapper.vue.js.map +1 -1
  17. package/dist/components/AesSettings/PalettesForm.vue.js +54 -50
  18. package/dist/components/AesSettings/PalettesForm.vue.js.map +1 -1
  19. package/dist/components/AesSettings/types.d.ts +9 -9
  20. package/dist/components/BtnIconGroup.vue.js +10 -11
  21. package/dist/components/BtnIconGroup.vue.js.map +1 -1
  22. package/dist/components/Chart.vue.js +6 -8
  23. package/dist/components/Chart.vue.js.map +1 -1
  24. package/dist/components/CollapsableBlock.vue.js +2 -2
  25. package/dist/components/CollapsableBlock.vue.js.map +1 -1
  26. package/dist/components/DendroTable.vue.js +2 -2
  27. package/dist/components/DendroTable.vue.js.map +1 -1
  28. package/dist/components/DendroTooltip.vue.js +15 -14
  29. package/dist/components/DendroTooltip.vue.js.map +1 -1
  30. package/dist/components/DragAndDrop/DnDBasketChip.vue.js +2 -2
  31. package/dist/components/DragAndDrop/DnDBasketChip.vue.js.map +1 -1
  32. package/dist/components/DragAndDrop/DnDRangeChip.vue.d.ts +12 -3
  33. package/dist/components/DragAndDrop/DnDRangeChip.vue.js +4 -4
  34. package/dist/components/DragAndDrop/DnDRangeChip.vue.js.map +1 -1
  35. package/dist/components/DragAndDrop/DndBasket.vue.js +26 -26
  36. package/dist/components/DragAndDrop/DndBasket.vue.js.map +1 -1
  37. package/dist/components/DragAndDrop/DndChip.vue.js.map +1 -1
  38. package/dist/components/DragAndDrop/DndDoubleChip.vue.js +2 -2
  39. package/dist/components/DragAndDrop/DndDoubleChip.vue.js.map +1 -1
  40. package/dist/components/DragAndDrop/types.d.ts +1 -1
  41. package/dist/components/LassoControls/index.vue.js +4 -4
  42. package/dist/components/LassoControls/index.vue.js.map +1 -1
  43. package/dist/components/Loading.vue.js +8 -7
  44. package/dist/components/Loading.vue.js.map +1 -1
  45. package/dist/components/MultiselectButton.vue.js +28 -27
  46. package/dist/components/MultiselectButton.vue.js.map +1 -1
  47. package/dist/components/PanelModal.vue.js.map +1 -1
  48. package/dist/components/PlColorSlider.vue.js +12 -12
  49. package/dist/components/PlColorSlider.vue.js.map +1 -1
  50. package/dist/components/PlColorSliderThumb.vue.js +1 -3
  51. package/dist/components/PlColorSliderThumb.vue.js.map +1 -1
  52. package/dist/components/Popup.vue.d.ts +2 -0
  53. package/dist/components/Popup.vue.js +21 -21
  54. package/dist/components/Popup.vue.js.map +1 -1
  55. package/dist/components/ReorderForm.vue.js +20 -17
  56. package/dist/components/ReorderForm.vue.js.map +1 -1
  57. package/dist/components/SettingsTabs/icons/DeleteChartIcon.vue.js.map +1 -1
  58. package/dist/components/SettingsTabs/icons/LogIcon.vue.js.map +1 -1
  59. package/dist/components/SettingsTabs/icons/SettingsIcon.vue.js.map +1 -1
  60. package/dist/components/SettingsTabs/index.vue.d.ts +3 -2
  61. package/dist/components/SettingsTabs/index.vue.js +16 -15
  62. package/dist/components/SettingsTabs/index.vue.js.map +1 -1
  63. package/dist/components/Zoom/ZoomInput.vue.js +11 -11
  64. package/dist/components/Zoom/ZoomInput.vue.js.map +1 -1
  65. package/dist/components/Zoom/index.vue.js.map +1 -1
  66. package/dist/composition/useComponent.js.map +1 -1
  67. package/dist/constantsAesthetic.js.map +1 -1
  68. package/dist/constantsCommon.d.ts +3 -1
  69. package/dist/constantsCommon.js +5 -5
  70. package/dist/constantsCommon.js.map +1 -1
  71. package/dist/dataBindAes.js +4 -2
  72. package/dist/dataBindAes.js.map +1 -1
  73. package/dist/forms/AnnotationsForm.vue.d.ts +17 -0
  74. package/dist/forms/AnnotationsForm.vue.js +16 -0
  75. package/dist/forms/AnnotationsForm.vue.js.map +1 -0
  76. package/dist/forms/AxesSettingsForm/BubbleAxesSettingsForm.vue.js +35 -35
  77. package/dist/forms/AxesSettingsForm/BubbleAxesSettingsForm.vue.js.map +1 -1
  78. package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js +49 -47
  79. package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js.map +1 -1
  80. package/dist/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js +53 -53
  81. package/dist/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js.map +1 -1
  82. package/dist/forms/AxesSettingsForm/HistogramAxesSettingsForm.vue.js +37 -37
  83. package/dist/forms/AxesSettingsForm/HistogramAxesSettingsForm.vue.js.map +1 -1
  84. package/dist/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.js +38 -38
  85. package/dist/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.js.map +1 -1
  86. package/dist/forms/AxesSettingsForm/index.vue.js.map +1 -1
  87. package/dist/forms/DataMappingForm/BubbleForm.vue.js +4 -4
  88. package/dist/forms/DataMappingForm/BubbleForm.vue.js.map +1 -1
  89. package/dist/forms/DataMappingForm/DendroForm.vue.js +1 -1
  90. package/dist/forms/DataMappingForm/DendroForm.vue.js.map +1 -1
  91. package/dist/forms/DataMappingForm/DiscreteForm.vue.js.map +1 -1
  92. package/dist/forms/DataMappingForm/HeatmapForm.vue.js +2 -2
  93. package/dist/forms/DataMappingForm/HeatmapForm.vue.js.map +1 -1
  94. package/dist/forms/DataMappingForm/HistogramForm.vue.js.map +1 -1
  95. package/dist/forms/DataMappingForm/Layout/FormLayout.vue.js.map +1 -1
  96. package/dist/forms/DataMappingForm/Layout/MandatoryOptions.vue.js.map +1 -1
  97. package/dist/forms/DataMappingForm/Layout/OptionsList.vue.js.map +1 -1
  98. package/dist/forms/DataMappingForm/ScatterplotForm.vue.js +4 -4
  99. package/dist/forms/DataMappingForm/ScatterplotForm.vue.js.map +1 -1
  100. package/dist/forms/DataMappingForm/ScatterplotUmapForm.vue.js +4 -4
  101. package/dist/forms/DataMappingForm/ScatterplotUmapForm.vue.js.map +1 -1
  102. package/dist/forms/DataMappingForm/index.vue.js.map +1 -1
  103. package/dist/forms/DataMappingForm/useBaskets.js.map +1 -1
  104. package/dist/forms/DataMappingForm/utils.d.ts +1 -1
  105. package/dist/forms/DataMappingForm/utils.js +34 -34
  106. package/dist/forms/DataMappingForm/utils.js.map +1 -1
  107. package/dist/forms/LayersForm/AesSelector.vue.js +18 -25
  108. package/dist/forms/LayersForm/AesSelector.vue.js.map +1 -1
  109. package/dist/forms/LayersForm/DotSizeSelector.vue.d.ts +2 -0
  110. package/dist/forms/LayersForm/DotSizeSelector.vue.js +23 -23
  111. package/dist/forms/LayersForm/DotSizeSelector.vue.js.map +1 -1
  112. package/dist/forms/LayersForm/Layer/Bubble.vue.js +32 -34
  113. package/dist/forms/LayersForm/Layer/Bubble.vue.js.map +1 -1
  114. package/dist/forms/LayersForm/Layer/Dendro.vue.js +6 -6
  115. package/dist/forms/LayersForm/Layer/Dendro.vue.js.map +1 -1
  116. package/dist/forms/LayersForm/Layer/discrete/Bar.vue.js +6 -6
  117. package/dist/forms/LayersForm/Layer/discrete/Bar.vue.js.map +1 -1
  118. package/dist/forms/LayersForm/Layer/discrete/BinnedDots.vue.js +3 -3
  119. package/dist/forms/LayersForm/Layer/discrete/BinnedDots.vue.js.map +1 -1
  120. package/dist/forms/LayersForm/Layer/discrete/Boxplot.vue.js +3 -3
  121. package/dist/forms/LayersForm/Layer/discrete/Boxplot.vue.js.map +1 -1
  122. package/dist/forms/LayersForm/Layer/discrete/Errorbar.vue.js +9 -9
  123. package/dist/forms/LayersForm/Layer/discrete/Errorbar.vue.js.map +1 -1
  124. package/dist/forms/LayersForm/Layer/discrete/JitteredDots.vue.js +3 -3
  125. package/dist/forms/LayersForm/Layer/discrete/JitteredDots.vue.js.map +1 -1
  126. package/dist/forms/LayersForm/Layer/discrete/Line.vue.js +8 -8
  127. package/dist/forms/LayersForm/Layer/discrete/Line.vue.js.map +1 -1
  128. package/dist/forms/LayersForm/Layer/discrete/Logo.vue.js +3 -3
  129. package/dist/forms/LayersForm/Layer/discrete/Logo.vue.js.map +1 -1
  130. package/dist/forms/LayersForm/Layer/discrete/Sina.vue.js +3 -3
  131. package/dist/forms/LayersForm/Layer/discrete/Sina.vue.js.map +1 -1
  132. package/dist/forms/LayersForm/Layer/discrete/StackedArea.vue.js +9 -9
  133. package/dist/forms/LayersForm/Layer/discrete/StackedArea.vue.js.map +1 -1
  134. package/dist/forms/LayersForm/Layer/discrete/StackedBar.vue.js +6 -6
  135. package/dist/forms/LayersForm/Layer/discrete/StackedBar.vue.js.map +1 -1
  136. package/dist/forms/LayersForm/Layer/discrete/Violin.vue.js +3 -3
  137. package/dist/forms/LayersForm/Layer/discrete/Violin.vue.js.map +1 -1
  138. package/dist/forms/LayersForm/Layer/discrete/utils.js.map +1 -1
  139. package/dist/forms/LayersForm/Layer/heatmap/Heatmap.vue.js +23 -23
  140. package/dist/forms/LayersForm/Layer/heatmap/Heatmap.vue.js.map +1 -1
  141. package/dist/forms/LayersForm/Layer/heatmap/HeatmapAnnotations.vue.js +6 -6
  142. package/dist/forms/LayersForm/Layer/heatmap/HeatmapAnnotations.vue.js.map +1 -1
  143. package/dist/forms/LayersForm/Layer/heatmap/HeatmapClustered.vue.js +28 -28
  144. package/dist/forms/LayersForm/Layer/heatmap/HeatmapClustered.vue.js.map +1 -1
  145. package/dist/forms/LayersForm/Layer/histogram/Bins.vue.js +3 -3
  146. package/dist/forms/LayersForm/Layer/histogram/Bins.vue.js.map +1 -1
  147. package/dist/forms/LayersForm/Layer/scatterplot/Curve.vue.js.map +1 -1
  148. package/dist/forms/LayersForm/Layer/scatterplot/Scatter.vue.js.map +1 -1
  149. package/dist/forms/LayersForm/Layer/scatterplot-umap/Scatter.vue.js +2 -2
  150. package/dist/forms/LayersForm/Layer/scatterplot-umap/Scatter.vue.js.map +1 -1
  151. package/dist/forms/LayersForm/index.vue.js +56 -52
  152. package/dist/forms/LayersForm/index.vue.js.map +1 -1
  153. package/dist/forms/LogForm.vue.js.map +1 -1
  154. package/dist/forms/SettingsForm.vue.js.map +1 -1
  155. package/dist/forms/StatisticsForm/DiscreteStatisticsForm.vue.js +14 -14
  156. package/dist/forms/StatisticsForm/DiscreteStatisticsForm.vue.js.map +1 -1
  157. package/dist/forms/StatisticsForm/ScatterplotStatisticsForm.vue.js.map +1 -1
  158. package/dist/forms/StatisticsForm/index.vue.js.map +1 -1
  159. package/dist/forms/TemplateForm.vue.js +59 -52
  160. package/dist/forms/TemplateForm.vue.js.map +1 -1
  161. package/dist/forms/index.d.ts +21 -0
  162. package/dist/forms/index.js +53 -46
  163. package/dist/forms/index.js.map +1 -1
  164. package/dist/icons/Annotation.vue.d.ts +2 -0
  165. package/dist/icons/Annotation.vue.js +12 -0
  166. package/dist/icons/Annotation.vue.js.map +1 -0
  167. package/dist/icons/Annotation.vue2.js +5 -0
  168. package/dist/icons/Annotation.vue2.js.map +1 -0
  169. package/dist/icons/BinnedDotsIcon.vue.js.map +1 -1
  170. package/dist/icons/BoxplotAndBinnedIcon.vue.js.map +1 -1
  171. package/dist/icons/BoxplotAndJitterIcon.vue.js.map +1 -1
  172. package/dist/icons/BoxplotIcon.vue.js.map +1 -1
  173. package/dist/icons/EditIcon.vue.js.map +1 -1
  174. package/dist/icons/FrameLeft.vue.js.map +1 -1
  175. package/dist/icons/HeatmapAnnotation.vue.js.map +1 -1
  176. package/dist/icons/LineAndErrorbarIcon.vue.js.map +1 -1
  177. package/dist/icons/LogoIcon.vue.js.map +1 -1
  178. package/dist/icons/PlusIcon.vue.js.map +1 -1
  179. package/dist/icons/SinaIcon.vue.js.map +1 -1
  180. package/dist/icons/StackedAreaIcon.vue.js.map +1 -1
  181. package/dist/index.vue.d.ts +1 -0
  182. package/dist/index.vue.js +148 -146
  183. package/dist/index.vue.js.map +1 -1
  184. package/dist/store.d.ts +1 -1
  185. package/dist/store.js +2 -2
  186. package/dist/store.js.map +1 -1
  187. package/dist/types.d.ts +1 -1
  188. package/dist/utils/addFixedOptionsToState.js.map +1 -1
  189. package/dist/utils/calculateDiscreteGroups.js.map +1 -1
  190. package/dist/utils/createChartSettingsForRender/composeBubbleSettings.js.map +1 -1
  191. package/dist/utils/createChartSettingsForRender/composeChartSettings.js.map +1 -1
  192. package/dist/utils/createChartSettingsForRender/composeDendroSettings.js.map +1 -1
  193. package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.js +1 -1
  194. package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.js.map +1 -1
  195. package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.js.map +1 -1
  196. package/dist/utils/createChartSettingsForRender/composeHistogramSettings.js.map +1 -1
  197. package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.js.map +1 -1
  198. package/dist/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js +1 -1
  199. package/dist/utils/createChartSettingsForRender/composeScatterplotUmapSettings.js.map +1 -1
  200. package/dist/utils/createChartSettingsForRender/getAxesDataFromForms.js +24 -24
  201. package/dist/utils/createChartSettingsForRender/getAxesDataFromForms.js.map +1 -1
  202. package/dist/utils/createChartSettingsForRender/getLayersDataFromForms.js.map +1 -1
  203. package/dist/utils/getPopupHeightForFixedAesList.js.map +1 -1
  204. package/dist/utils/getStatisticsOptions.js.map +1 -1
  205. package/dist/utils/getUsedAesInMapping.js +1 -1
  206. package/dist/utils/getUsedAesInMapping.js.map +1 -1
  207. package/dist/utils/loadDefaultSources.js.map +1 -1
  208. package/dist/utils/loadUniqueValuesToSave.js.map +1 -1
  209. package/dist/utils/saveToFile.js.map +1 -1
  210. package/package.json +5 -3
@@ -1,21 +1,19 @@
1
- import { defineComponent as B, computed as s, ref as v, createElementBlock as O, openBlock as A, Fragment as x, createVNode as a, createBlock as y, createCommentVNode as E, createElementVNode as u, unref as n, withCtx as U } from "vue";
1
+ import { defineComponent as y, computed as s, ref as v, createElementBlock as B, openBlock as A, Fragment as O, createVNode as a, createBlock as x, createCommentVNode as E, createElementVNode as u, unref as n, withCtx as U } from "vue";
2
2
  import { useStore as P } from "../../../store.js";
3
3
  import { DEFAULT_CONTINUOUS_PALETTE as _, DEFAULT_BLACK as I, PALETTE_MAP as L } from "../../../constantsAesthetic.js";
4
4
  import { createContinuousMappingFromPalette as z } from "../../../dataBindAes.js";
5
5
  import D from "../../../components/MultiselectButton.vue.js";
6
6
  import F from "../../../components/AesSettings/PalettesForm.vue.js";
7
7
  import $ from "../../../components/AesSettings/FormWrapper.vue.js";
8
- import { PlBtnGroup as p, PlCheckbox as V, PlNumberField as G } from "@platforma-sdk/ui-vue";
9
- import R from "../AesSelector.vue.js";
10
- const w = { class: "input-item" }, X = { class: "button-group-item" }, Y = { class: "button-group-item" }, H = { class: "checkbox-item" }, Z = { class: "checkbox-item" }, K = { class: "button-group-item" }, j = {
8
+ import { PlBtnGroup as p, PlCheckbox as V, PlNumberField as R } from "@platforma-sdk/ui-vue";
9
+ import w from "../AesSelector.vue.js";
10
+ const G = { class: "input-item" }, X = { class: "button-group-item" }, Y = { class: "button-group-item" }, H = { class: "checkbox-item" }, Z = { class: "checkbox-item" }, K = { class: "button-group-item" }, j = {
11
11
  class: "button-group-item",
12
12
  style: { display: "flex", alignItems: "end" }
13
- }, ue = /* @__PURE__ */ B({
13
+ }, q = "bubble", ne = /* @__PURE__ */ y({
14
14
  __name: "Bubble",
15
- setup(q) {
16
- const i = P(), t = s(() => i.value.reactive.layersSettings.bubble), f = s(() => i.value.reactive.optionsState);
17
- s(() => i.value.inputGuide.value);
18
- const r = s(() => {
15
+ setup(J) {
16
+ const i = P(), t = s(() => i.value.reactive.layersSettings[q]), f = s(() => i.value.reactive.optionsState), r = s(() => {
19
17
  var o;
20
18
  return (o = f.value.components.valueColor.selectorStates[0]) == null ? void 0 : o.selectedSource;
21
19
  }), N = s(() => {
@@ -46,7 +44,7 @@ const w = { class: "input-item" }, X = { class: "button-group-item" }, Y = { cla
46
44
  { label: "empty", value: null },
47
45
  { label: "Special value", value: "custom" }
48
46
  ], g = v(t.value.NAValueAs !== null ? "custom" : t.value.NAValueAs), c = v(t.value.NAValueAs ?? 0);
49
- return (o, e) => (A(), O(x, null, [
47
+ return (o, e) => (A(), B(O, null, [
50
48
  a(D, {
51
49
  label: "Color Palette ",
52
50
  title: n(L)[d.value].title,
@@ -55,7 +53,7 @@ const w = { class: "input-item" }, X = { class: "button-group-item" }, Y = { cla
55
53
  m.value = !0;
56
54
  })
57
55
  }, null, 8, ["title", "palette"]),
58
- m.value ? (A(), y($, {
56
+ m.value ? (A(), x($, {
59
57
  key: 0,
60
58
  title: "Color Palette",
61
59
  "back-title": "Color mapping",
@@ -70,8 +68,8 @@ const w = { class: "input-item" }, X = { class: "button-group-item" }, Y = { cla
70
68
  ]),
71
69
  _: 1
72
70
  })) : E("", !0),
73
- u("div", w, [
74
- a(R, {
71
+ u("div", G, [
72
+ a(w, {
75
73
  label: "Stroke color",
76
74
  "form-title": "Stroke Color Settings",
77
75
  "form-back-title": "Layers",
@@ -83,20 +81,20 @@ const w = { class: "input-item" }, X = { class: "button-group-item" }, Y = { cla
83
81
  ]),
84
82
  u("div", X, [
85
83
  a(n(p), {
84
+ modelValue: t.value.normalizationDirection,
85
+ "onUpdate:modelValue": e[3] || (e[3] = (l) => t.value.normalizationDirection = l),
86
86
  label: "Normalize by",
87
87
  options: k,
88
- compact: !0,
89
- modelValue: t.value.normalizationDirection,
90
- "onUpdate:modelValue": e[3] || (e[3] = (l) => t.value.normalizationDirection = l)
88
+ compact: !0
91
89
  }, null, 8, ["modelValue"])
92
90
  ]),
93
91
  u("div", Y, [
94
92
  a(n(p), {
93
+ modelValue: t.value.normalizationMethod,
94
+ "onUpdate:modelValue": e[4] || (e[4] = (l) => t.value.normalizationMethod = l),
95
95
  label: "Normalization method",
96
96
  options: M,
97
- compact: !0,
98
- modelValue: t.value.normalizationMethod,
99
- "onUpdate:modelValue": e[4] || (e[4] = (l) => t.value.normalizationMethod = l)
97
+ compact: !0
100
98
  }, null, 8, ["modelValue"])
101
99
  ]),
102
100
  u("div", H, [
@@ -115,44 +113,44 @@ const w = { class: "input-item" }, X = { class: "button-group-item" }, Y = { cla
115
113
  ]),
116
114
  u("div", K, [
117
115
  a(n(p), {
116
+ modelValue: t.value.aggregationMethod,
117
+ "onUpdate:modelValue": e[7] || (e[7] = (l) => t.value.aggregationMethod = l),
118
118
  label: "Aggregation method",
119
119
  options: S,
120
- compact: !0,
121
- modelValue: t.value.aggregationMethod,
122
- "onUpdate:modelValue": e[7] || (e[7] = (l) => t.value.aggregationMethod = l)
120
+ compact: !0
123
121
  }, null, 8, ["modelValue"])
124
122
  ]),
125
123
  u("div", j, [
126
124
  a(n(p), {
127
- label: "Treat NA value as:",
128
- options: T,
129
- compact: !0,
130
125
  modelValue: g.value,
131
126
  "onUpdate:modelValue": [
132
127
  e[8] || (e[8] = (l) => g.value = l),
133
128
  e[9] || (e[9] = (l) => {
134
129
  l === "custom" ? t.value.NAValueAs = c.value : t.value.NAValueAs = l;
135
130
  })
136
- ]
131
+ ],
132
+ label: "Treat NA value as:",
133
+ options: T,
134
+ compact: !0
137
135
  }, null, 8, ["modelValue"]),
138
- a(n(G), {
139
- style: { height: "33px", marginLeft: "16px", width: "75px" },
140
- disabled: g.value !== "custom",
141
- label: "NA value",
142
- useIncrementButtons: !1,
136
+ a(n(R), {
143
137
  modelValue: c.value,
144
138
  "onUpdate:modelValue": [
145
139
  e[10] || (e[10] = (l) => c.value = l),
146
140
  e[11] || (e[11] = (l) => {
147
141
  l !== void 0 && (t.value.NAValueAs = l);
148
142
  })
149
- ]
150
- }, null, 8, ["disabled", "modelValue"])
143
+ ],
144
+ style: { height: "33px", marginLeft: "16px", width: "75px" },
145
+ disabled: g.value !== "custom",
146
+ label: "NA value",
147
+ useIncrementButtons: !1
148
+ }, null, 8, ["modelValue", "disabled"])
151
149
  ])
152
150
  ], 64));
153
151
  }
154
152
  });
155
153
  export {
156
- ue as default
154
+ ne as default
157
155
  };
158
156
  //# sourceMappingURL=Bubble.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Bubble.vue.js","sources":["../../../../src/forms/LayersForm/Layer/Bubble.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../../store';\nimport { BubbleLayer } from '../../../types';\nimport { computed, ref } from 'vue';\nimport {\n DEFAULT_BLACK,\n DEFAULT_CONTINUOUS_PALETTE,\n PALETTE_MAP\n} from '../../../constantsAesthetic';\nimport { ContinuousPalette } from '../../../components/AesSettings/types';\nimport { createContinuousMappingFromPalette } from '../../../dataBindAes';\nimport MultiselectButton from '../../../components/MultiselectButton.vue';\nimport PalettesForm from '../../../components/AesSettings/PalettesForm.vue';\nimport FormWrapper from '../../../components/AesSettings/FormWrapper.vue';\nimport { BubbleUIState, InputGuide } from '@milaboratories/pf-plots';\nimport { PlBtnGroup, PlCheckbox, PlNumberField, SimpleOption } from '@platforma-sdk/ui-vue';\nimport AesSelector from '../AesSelector.vue';\n\nconst store = useStore();\nconst layer: BubbleLayer = 'bubble';\nconst settings = computed(() => store.value.reactive.layersSettings.bubble);\nconst optionsState = computed(() => store.value.reactive.optionsState as BubbleUIState);\nconst inputGuide = computed(() => store.value.inputGuide.value as InputGuide<BubbleUIState>);\n\nconst valueColor = computed(() => optionsState.value.components.valueColor.selectorStates[0]?.selectedSource);\nconst savedDataValuePalette = computed(() => valueColor.value ? store.value.reactive.dataBindAes[valueColor.value]?.palette : undefined);\n\nconst palettesOpen = ref(false);\nconst palette = ref<ContinuousPalette>(savedDataValuePalette.value as ContinuousPalette ?? DEFAULT_CONTINUOUS_PALETTE);\n\nfunction onPaletteSelect(value: ContinuousPalette) {\n palette.value = value;\n palettesOpen.value = false;\n if (valueColor.value) {\n store.value.reactive.dataBindAes[valueColor.value] = createContinuousMappingFromPalette(value);\n }\n}\n\nconst NORMALIZATION_DIRECTION:SimpleOption[] = [\n {label: 'None', value: null},\n {label: 'Columns', value: 'column'},\n {label: 'Rows', value: 'row'},\n];\nconst NORMALIZATION_METHOD:SimpleOption[] = [\n {label: 'z-score', value: 'standardScaling'},\n {label: 'Min-max', value: 'meanNormalization'},\n];\nconst AGGREGATION_METHOD: SimpleOption[] = [\n {label: 'Mean', value: 'mean'},\n {label: 'Min', value: 'min'},\n {label: 'Max', value: 'max'},\n {label: 'Median', value: 'median'},\n];\n\nconst stroke = computed({\n get: () => {\n return settings.value.strokeColor ?? DEFAULT_BLACK\n },\n set: (v:string) => {\n settings.value.strokeColor = v;\n }\n});\n\nconst NA_VALUE_OPTIONS: SimpleOption[] = [\n { label: 'empty', value: null },\n { label: 'Special value', value: 'custom' }\n];\n\nconst NAValueOption = ref(settings.value.NAValueAs !== null ? 'custom' : settings.value.NAValueAs);\nconst customNA = ref(settings.value.NAValueAs ?? 0);\n\n</script>\n\n<template>\n <multiselect-button\n label=\"Color Palette \"\n :title=\"PALETTE_MAP[palette].title\"\n :palette=\"palette\"\n @button-click=\"palettesOpen = true;\"\n />\n <form-wrapper\n v-if=\"palettesOpen\"\n title=\"Color Palette\"\n back-title=\"Color mapping\"\n @form:close=\"palettesOpen = false\"\n >\n <palettes-form :selected=\"palette\" :categorical=\"false\" @select=\"onPaletteSelect\" />\n </form-wrapper>\n <div class=\"input-item\">\n <aes-selector\n label=\"Stroke color\"\n form-title=\"Stroke Color Settings\"\n form-back-title=\"Layers\"\n type=\"stroke\"\n :possible-aes-source-inputs=\"[]\"\n :selected=\"stroke\"\n @aes-update=\"(v:string) => stroke = v\"\n />\n </div>\n <div class=\"button-group-item\">\n <pl-btn-group\n label=\"Normalize by\"\n :options=\"NORMALIZATION_DIRECTION\"\n :compact=\"true\"\n v-model=\"settings.normalizationDirection\"\n />\n </div>\n <div class=\"button-group-item\">\n <pl-btn-group\n label=\"Normalization method\"\n :options=\"NORMALIZATION_METHOD\"\n :compact=\"true\"\n v-model=\"settings.normalizationMethod\"\n />\n </div>\n <div class=\"checkbox-item\">\n <pl-checkbox v-model=\"settings.aggregateByX\"/>\n <span>Aggregate X groups</span>\n </div>\n <div class=\"checkbox-item\">\n <pl-checkbox v-model=\"settings.aggregateByY\"/>\n <span>Aggregate Y groups</span>\n </div>\n <div class=\"button-group-item\">\n <pl-btn-group\n label=\"Aggregation method\"\n :options=\"AGGREGATION_METHOD\"\n :compact=\"true\"\n v-model=\"settings.aggregationMethod\"\n />\n </div>\n <div class=\"button-group-item\" :style=\"{display: 'flex', alignItems: 'end'}\">\n <pl-btn-group\n label=\"Treat NA value as:\"\n :options=\"NA_VALUE_OPTIONS\"\n :compact=\"true\"\n v-model=\"NAValueOption\"\n @update:modelValue=\"(value:unknown) => {\n if (value === 'custom') {\n settings.NAValueAs = customNA;\n } else {\n settings.NAValueAs = value as number|null;\n }\n }\"\n />\n <pl-number-field\n :style=\"{height: '33px', marginLeft: '16px', width: '75px'}\"\n :disabled=\"NAValueOption !== 'custom'\"\n label=\"NA value\"\n :useIncrementButtons=\"false\"\n v-model=\"customNA\"\n @update:modelValue=\"(value:unknown) => {\n if (value !== undefined) {\n settings.NAValueAs = value as number;\n }\n }\"\n />\n </div>\n</template>\n"],"names":["store","useStore","settings","computed","optionsState","valueColor","_a","savedDataValuePalette","palettesOpen","ref","palette","DEFAULT_CONTINUOUS_PALETTE","onPaletteSelect","value","createContinuousMappingFromPalette","NORMALIZATION_DIRECTION","NORMALIZATION_METHOD","AGGREGATION_METHOD","stroke","DEFAULT_BLACK","v","NA_VALUE_OPTIONS","NAValueOption","customNA","_createVNode","MultiselectButton","_unref","PALETTE_MAP","_createBlock","FormWrapper","PalettesForm","_createElementVNode","_hoisted_1","AesSelector","_cache","_hoisted_2","PlBtnGroup","$event","_hoisted_3","_hoisted_4","PlCheckbox","_hoisted_5","_hoisted_6","_hoisted_7","PlNumberField"],"mappings":"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"}
1
+ {"version":3,"file":"Bubble.vue.js","sources":["../../../../src/forms/LayersForm/Layer/Bubble.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../../store';\nimport type { BubbleLayer } from '../../../types';\nimport { computed, ref } from 'vue';\nimport {\n DEFAULT_BLACK,\n DEFAULT_CONTINUOUS_PALETTE,\n PALETTE_MAP,\n} from '../../../constantsAesthetic';\nimport type { ContinuousPalette } from '../../../components/AesSettings/types';\nimport { createContinuousMappingFromPalette } from '../../../dataBindAes';\nimport MultiselectButton from '../../../components/MultiselectButton.vue';\nimport PalettesForm from '../../../components/AesSettings/PalettesForm.vue';\nimport FormWrapper from '../../../components/AesSettings/FormWrapper.vue';\nimport type { BubbleUIState } from '@milaboratories/pf-plots';\nimport type { SimpleOption } from '@platforma-sdk/ui-vue';\nimport { PlBtnGroup, PlCheckbox, PlNumberField } from '@platforma-sdk/ui-vue';\nimport AesSelector from '../AesSelector.vue';\n\nconst store = useStore();\nconst layer: BubbleLayer = 'bubble';\nconst settings = computed(() => store.value.reactive.layersSettings[layer]);\nconst optionsState = computed(() => store.value.reactive.optionsState as BubbleUIState);\n\nconst valueColor = computed(() => optionsState.value.components.valueColor.selectorStates[0]?.selectedSource);\nconst savedDataValuePalette = computed(() => valueColor.value ? store.value.reactive.dataBindAes[valueColor.value]?.palette : undefined);\n\nconst palettesOpen = ref(false);\nconst palette = ref<ContinuousPalette>(savedDataValuePalette.value as ContinuousPalette ?? DEFAULT_CONTINUOUS_PALETTE);\n\nfunction onPaletteSelect(value: ContinuousPalette) {\n palette.value = value;\n palettesOpen.value = false;\n if (valueColor.value) {\n store.value.reactive.dataBindAes[valueColor.value] = createContinuousMappingFromPalette(value);\n }\n}\n\nconst NORMALIZATION_DIRECTION: SimpleOption[] = [\n { label: 'None', value: null },\n { label: 'Columns', value: 'column' },\n { label: 'Rows', value: 'row' },\n];\nconst NORMALIZATION_METHOD: SimpleOption[] = [\n { label: 'z-score', value: 'standardScaling' },\n { label: 'Min-max', value: 'meanNormalization' },\n];\nconst AGGREGATION_METHOD: SimpleOption[] = [\n { label: 'Mean', value: 'mean' },\n { label: 'Min', value: 'min' },\n { label: 'Max', value: 'max' },\n { label: 'Median', value: 'median' },\n];\n\nconst stroke = computed({\n get: () => {\n return settings.value.strokeColor ?? DEFAULT_BLACK;\n },\n set: (v: string) => {\n settings.value.strokeColor = v;\n },\n});\n\nconst NA_VALUE_OPTIONS: SimpleOption[] = [\n { label: 'empty', value: null },\n { label: 'Special value', value: 'custom' },\n];\n\nconst NAValueOption = ref(settings.value.NAValueAs !== null ? 'custom' : settings.value.NAValueAs);\nconst customNA = ref(settings.value.NAValueAs ?? 0);\n\n</script>\n\n<template>\n <MultiselectButton\n label=\"Color Palette \"\n :title=\"PALETTE_MAP[palette].title\"\n :palette=\"palette\"\n @button-click=\"palettesOpen = true;\"\n />\n <FormWrapper\n v-if=\"palettesOpen\"\n title=\"Color Palette\"\n back-title=\"Color mapping\"\n @form:close=\"palettesOpen = false\"\n >\n <PalettesForm :selected=\"palette\" :categorical=\"false\" @select=\"onPaletteSelect\" />\n </FormWrapper>\n <div class=\"input-item\">\n <AesSelector\n label=\"Stroke color\"\n form-title=\"Stroke Color Settings\"\n form-back-title=\"Layers\"\n type=\"stroke\"\n :possible-aes-source-inputs=\"[]\"\n :selected=\"stroke\"\n @aes-update=\"(v:string) => stroke = v\"\n />\n </div>\n <div class=\"button-group-item\">\n <PlBtnGroup\n v-model=\"settings.normalizationDirection\"\n label=\"Normalize by\"\n :options=\"NORMALIZATION_DIRECTION\"\n :compact=\"true\"\n />\n </div>\n <div class=\"button-group-item\">\n <PlBtnGroup\n v-model=\"settings.normalizationMethod\"\n label=\"Normalization method\"\n :options=\"NORMALIZATION_METHOD\"\n :compact=\"true\"\n />\n </div>\n <div class=\"checkbox-item\">\n <PlCheckbox v-model=\"settings.aggregateByX\"/>\n <span>Aggregate X groups</span>\n </div>\n <div class=\"checkbox-item\">\n <PlCheckbox v-model=\"settings.aggregateByY\"/>\n <span>Aggregate Y groups</span>\n </div>\n <div class=\"button-group-item\">\n <PlBtnGroup\n v-model=\"settings.aggregationMethod\"\n label=\"Aggregation method\"\n :options=\"AGGREGATION_METHOD\"\n :compact=\"true\"\n />\n </div>\n <div class=\"button-group-item\" :style=\"{display: 'flex', alignItems: 'end'}\">\n <PlBtnGroup\n v-model=\"NAValueOption\"\n label=\"Treat NA value as:\"\n :options=\"NA_VALUE_OPTIONS\"\n :compact=\"true\"\n @update:modelValue=\"(value:unknown) => {\n if (value === 'custom') {\n settings.NAValueAs = customNA;\n } else {\n settings.NAValueAs = value as number|null;\n }\n }\"\n />\n <PlNumberField\n v-model=\"customNA\"\n :style=\"{height: '33px', marginLeft: '16px', width: '75px'}\"\n :disabled=\"NAValueOption !== 'custom'\"\n label=\"NA value\"\n :useIncrementButtons=\"false\"\n @update:modelValue=\"(value:unknown) => {\n if (value !== undefined) {\n settings.NAValueAs = value as number;\n }\n }\"\n />\n </div>\n</template>\n"],"names":["layer","store","useStore","settings","computed","optionsState","valueColor","_a","savedDataValuePalette","palettesOpen","ref","palette","DEFAULT_CONTINUOUS_PALETTE","onPaletteSelect","value","createContinuousMappingFromPalette","NORMALIZATION_DIRECTION","NORMALIZATION_METHOD","AGGREGATION_METHOD","stroke","DEFAULT_BLACK","v","NA_VALUE_OPTIONS","NAValueOption","customNA","_createVNode","MultiselectButton","_unref","PALETTE_MAP","_createBlock","FormWrapper","PalettesForm","_createElementVNode","_hoisted_1","AesSelector","_cache","_hoisted_2","PlBtnGroup","$event","_hoisted_3","_hoisted_4","PlCheckbox","_hoisted_5","_hoisted_6","_hoisted_7","PlNumberField"],"mappings":"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"}
@@ -77,21 +77,21 @@ const M = { class: "checkbox-item" }, R = { class: "checkbox-item" }, r = "dendr
77
77
  d("div", null, [
78
78
  u.value.components.nodeSize.selectorStates.length > 0 ? (m(), b(p(B), {
79
79
  key: 0,
80
+ modelValue: c.value,
81
+ "onUpdate:modelValue": e[3] || (e[3] = (t) => c.value = t),
80
82
  min: 3,
81
83
  max: 10,
82
84
  breakpoints: !0,
83
- label: "Node size range",
84
- modelValue: c.value,
85
- "onUpdate:modelValue": e[3] || (e[3] = (t) => c.value = t)
85
+ label: "Node size range"
86
86
  }, null, 8, ["modelValue"])) : (m(), b(p(F), {
87
87
  key: 1,
88
+ modelValue: y.value,
89
+ "onUpdate:modelValue": e[4] || (e[4] = (t) => y.value = t),
88
90
  min: 3,
89
91
  max: 10,
90
92
  step: 1,
91
93
  breakpoints: !0,
92
- label: "Node size",
93
- modelValue: y.value,
94
- "onUpdate:modelValue": e[4] || (e[4] = (t) => y.value = t)
94
+ label: "Node size"
95
95
  }, null, 8, ["modelValue"]))
96
96
  ]),
97
97
  d("div", M, [
@@ -1 +1 @@
1
- {"version":3,"file":"Dendro.vue.js","sources":["../../../../src/forms/LayersForm/Layer/Dendro.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../../store';\nimport { computed, ref } from \"vue\";\nimport AesSelector from '../AesSelector.vue';\nimport { AestheticMappingCategorical } from '../../../dataBindAes';\nimport {\n AesMappingOption,\n AesOption,\n DotShape,\n} from '../../../components/AesSettings/types';\nimport { DendroUIState } from \"@milaboratories/pf-plots\";\nimport { PlCheckbox, SliderRange, Slider } from '@platforma-sdk/ui-vue';\nimport { isNumberRange } from '../../../constantsCommon';\n\nconst store = useStore();\nconst layer = \"dendro\";\nconst settings = computed(() => store.value.reactive.layersSettings[layer]);\nconst optionsState = computed(\n () => store.value.reactive.optionsState as DendroUIState,\n);\n\nconst nodeColor = computed(() => settings.value.dotFill);\nconst nodeShape = computed(() => settings.value.dotShape);\nconst lineColor = computed(() => settings.value.lineColor);\n\nfunction onUpdate(\n value: string | AestheticMappingCategorical,\n colorOption: AesOption,\n field: \"dotFill\" | \"lineColor\",\n) {\n if (typeof value === \"string\") {\n store.value.reactive.layersSettings[layer][field] = value;\n } else if (colorOption.type === \"dataCategorical\") {\n store.value.reactive.layersSettings[layer][field] = {\n type: colorOption.inputName,\n value: colorOption.selectedSource,\n };\n }\n if (colorOption.type === \"dataCategorical\" && typeof value !== \"string\") {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\n\nfunction onUpdateDot(\n value: DotShape | AestheticMappingCategorical,\n colorOption: AesMappingOption,\n field: \"dotShape\",\n) {\n if (typeof value === \"string\") {\n store.value.reactive.layersSettings[layer][field] = value;\n } else if (colorOption.type === \"dataCategorical\") {\n store.value.reactive.layersSettings[layer][field] = {\n type: colorOption.inputName,\n value: colorOption.selectedSource,\n };\n }\n if (colorOption.type === \"dataCategorical\" && typeof value !== \"string\") {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\n\n// Tree mode 'useAllNodesAsLeaves' - align tree special way to be able to set table line opposite every node\n// const treeAlign = ref(settings.value.mode === 'useAllNodesAsLeaves');\nconst leavesAlign = ref(settings.value.leavesMode === 'alignLeavesToLine');\n\nconst showLegend = computed({\n get() { return settings.value.showLegend ?? true},\n set(v) {\n settings.value.showLegend = v;\n },\n})\nconst nodeSizeRange = computed<[number, number]>({\n get() { return isNumberRange(settings.value.dotSize) ? [settings.value.dotSize.min, settings.value.dotSize.max] : [3, 10]},\n set([min, max]:[number, number]) {\n settings.value.dotSize = {min, max};\n }\n})\nconst nodeSize = computed<number>({\n get() { return isNumberRange(settings.value.dotSize) ? 3 : settings.value.dotSize},\n set(v:number) {\n settings.value.dotSize = v;\n }\n})\n\n</script>\n\n<template>\n <aes-selector\n label=\"Node color\"\n form-title=\"Node Color Settings\"\n form-back-title=\"Layers\"\n type=\"fill\"\n :selected=\"nodeColor\"\n :possible-aes-source-inputs=\"['nodeColor']\"\n :without-fixed=\"\n optionsState.components.nodeColor.selectorStates.length > 0\n \"\n @aes-update=\"(v:string|AestheticMappingCategorical, c:AesOption) => onUpdate(v, c, 'dotFill')\"\n />\n <aes-selector\n label=\"Node shape\"\n form-title=\"Node Shape Settings\"\n form-back-title=\"Layers\"\n type=\"dotShape\"\n :selected=\"nodeShape\"\n :possible-aes-source-inputs=\"['nodeShape']\"\n :without-fixed=\"\n optionsState.components.nodeShape.selectorStates.length > 0\n \"\n @aes-update=\"(v:DotShape|AestheticMappingCategorical, c:AesMappingOption) => onUpdateDot(v, c, 'dotShape')\"\n />\n <aes-selector\n label=\"Line color\"\n form-title=\"Line Color Settings\"\n form-back-title=\"Layers\"\n type=\"fill\"\n :selected=\"lineColor\"\n :possible-aes-source-inputs=\"['lineColor']\"\n :without-fixed=\"\n optionsState.components.lineColor.selectorStates.length > 0\n \"\n @aes-update=\"(v:string|AestheticMappingCategorical, c:AesOption) => onUpdate(v, c, 'lineColor')\"\n />\n<!-- <div class=\"checkbox-item\">-->\n<!-- <pl-checkbox v-model=\"treeAlign\" @update:modelValue=\"(v) => {-->\n<!-- settings.mode = v ? 'useAllNodesAsLeaves' : 'normal';-->\n<!-- }\"/>-->\n<!-- <span>Align every node with table</span>-->\n<!-- </div>-->\n <div>\n <SliderRange v-if=\"optionsState.components.nodeSize.selectorStates.length > 0\"\n :min=\"3\"\n :max=\"10\"\n :breakpoints=\"true\"\n label=\"Node size range\"\n v-model=\"nodeSizeRange\"\n />\n <Slider v-else\n :min=\"3\"\n :max=\"10\"\n :step=\"1\"\n :breakpoints=\"true\"\n label=\"Node size\"\n v-model=\"nodeSize\"\n />\n </div>\n <div class=\"checkbox-item\">\n <pl-checkbox v-model=\"leavesAlign\" @update:modelValue=\"(v) => {\n settings.leavesMode = v ? 'alignLeavesToLine' : 'normal';\n }\"/>\n <span>Move leaves to the right</span>\n </div>\n <div class=\"checkbox-item\">\n <pl-checkbox v-model=\"showLegend\"/>\n <span>Show legend</span>\n </div>\n</template>\n"],"names":["layer","store","useStore","settings","computed","optionsState","nodeColor","nodeShape","lineColor","onUpdate","value","colorOption","field","onUpdateDot","leavesAlign","ref","showLegend","v","nodeSizeRange","isNumberRange","min","max","nodeSize","_createVNode","AesSelector","_cache","c","_createElementVNode","_createBlock","_unref","SliderRange","$event","Slider","_hoisted_1","PlCheckbox","_hoisted_2"],"mappings":"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"}
1
+ {"version":3,"file":"Dendro.vue.js","sources":["../../../../src/forms/LayersForm/Layer/Dendro.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../../store';\nimport { computed, ref } from 'vue';\nimport AesSelector from '../AesSelector.vue';\nimport type { AestheticMappingCategorical } from '../../../dataBindAes';\nimport type {\n AesMappingOption,\n AesOption,\n DotShape,\n} from '../../../components/AesSettings/types';\nimport type { DendroUIState } from '@milaboratories/pf-plots';\nimport { PlCheckbox, SliderRange, Slider } from '@platforma-sdk/ui-vue';\nimport { isNumberRange } from '../../../constantsCommon';\n\nconst store = useStore();\nconst layer = 'dendro';\nconst settings = computed(() => store.value.reactive.layersSettings[layer]);\nconst optionsState = computed(\n () => store.value.reactive.optionsState as DendroUIState,\n);\n\nconst nodeColor = computed(() => settings.value.dotFill);\nconst nodeShape = computed(() => settings.value.dotShape);\nconst lineColor = computed(() => settings.value.lineColor);\n\nfunction onUpdate(\n value: string | AestheticMappingCategorical,\n colorOption: AesOption,\n field: 'dotFill' | 'lineColor',\n) {\n if (typeof value === 'string') {\n store.value.reactive.layersSettings[layer][field] = value;\n } else if (colorOption.type === 'dataCategorical') {\n store.value.reactive.layersSettings[layer][field] = {\n type: colorOption.inputName,\n value: colorOption.selectedSource,\n };\n }\n if (colorOption.type === 'dataCategorical' && typeof value !== 'string') {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\n\nfunction onUpdateDot(\n value: DotShape | AestheticMappingCategorical,\n colorOption: AesMappingOption,\n field: 'dotShape',\n) {\n if (typeof value === 'string') {\n store.value.reactive.layersSettings[layer][field] = value;\n } else if (colorOption.type === 'dataCategorical') {\n store.value.reactive.layersSettings[layer][field] = {\n type: colorOption.inputName,\n value: colorOption.selectedSource,\n };\n }\n if (colorOption.type === 'dataCategorical' && typeof value !== 'string') {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\n\n// Tree mode 'useAllNodesAsLeaves' - align tree special way to be able to set table line opposite every node\n// const treeAlign = ref(settings.value.mode === 'useAllNodesAsLeaves');\nconst leavesAlign = ref(settings.value.leavesMode === 'alignLeavesToLine');\n\nconst showLegend = computed({\n get() { return settings.value.showLegend ?? true; },\n set(v) {\n settings.value.showLegend = v;\n },\n});\nconst nodeSizeRange = computed<[number, number]>({\n get() { return isNumberRange(settings.value.dotSize) ? [settings.value.dotSize.min, settings.value.dotSize.max] : [3, 10]; },\n set([min, max]: [number, number]) {\n settings.value.dotSize = { min, max };\n },\n});\nconst nodeSize = computed<number>({\n get() { return isNumberRange(settings.value.dotSize) ? 3 : settings.value.dotSize; },\n set(v: number) {\n settings.value.dotSize = v;\n },\n});\n\n</script>\n\n<template>\n <AesSelector\n label=\"Node color\"\n form-title=\"Node Color Settings\"\n form-back-title=\"Layers\"\n type=\"fill\"\n :selected=\"nodeColor\"\n :possible-aes-source-inputs=\"['nodeColor']\"\n :without-fixed=\"\n optionsState.components.nodeColor.selectorStates.length > 0\n \"\n @aes-update=\"(v:string|AestheticMappingCategorical, c:AesOption) => onUpdate(v, c, 'dotFill')\"\n />\n <AesSelector\n label=\"Node shape\"\n form-title=\"Node Shape Settings\"\n form-back-title=\"Layers\"\n type=\"dotShape\"\n :selected=\"nodeShape\"\n :possible-aes-source-inputs=\"['nodeShape']\"\n :without-fixed=\"\n optionsState.components.nodeShape.selectorStates.length > 0\n \"\n @aes-update=\"(v:DotShape|AestheticMappingCategorical, c:AesMappingOption) => onUpdateDot(v, c, 'dotShape')\"\n />\n <AesSelector\n label=\"Line color\"\n form-title=\"Line Color Settings\"\n form-back-title=\"Layers\"\n type=\"fill\"\n :selected=\"lineColor\"\n :possible-aes-source-inputs=\"['lineColor']\"\n :without-fixed=\"\n optionsState.components.lineColor.selectorStates.length > 0\n \"\n @aes-update=\"(v:string|AestheticMappingCategorical, c:AesOption) => onUpdate(v, c, 'lineColor')\"\n />\n <!-- <div class=\"checkbox-item\">-->\n <!-- <pl-checkbox v-model=\"treeAlign\" @update:modelValue=\"(v) => {-->\n <!-- settings.mode = v ? 'useAllNodesAsLeaves' : 'normal';-->\n <!-- }\"/>-->\n <!-- <span>Align every node with table</span>-->\n <!-- </div>-->\n <div>\n <SliderRange\n v-if=\"optionsState.components.nodeSize.selectorStates.length > 0\"\n v-model=\"nodeSizeRange\"\n :min=\"3\"\n :max=\"10\"\n :breakpoints=\"true\"\n label=\"Node size range\"\n />\n <Slider\n v-else\n v-model=\"nodeSize\"\n :min=\"3\"\n :max=\"10\"\n :step=\"1\"\n :breakpoints=\"true\"\n label=\"Node size\"\n />\n </div>\n <div class=\"checkbox-item\">\n <PlCheckbox\n v-model=\"leavesAlign\" @update:modelValue=\"(v) => {\n settings.leavesMode = v ? 'alignLeavesToLine' : 'normal';\n }\"\n />\n <span>Move leaves to the right</span>\n </div>\n <div class=\"checkbox-item\">\n <PlCheckbox v-model=\"showLegend\"/>\n <span>Show legend</span>\n </div>\n</template>\n"],"names":["layer","store","useStore","settings","computed","optionsState","nodeColor","nodeShape","lineColor","onUpdate","value","colorOption","field","onUpdateDot","leavesAlign","ref","showLegend","v","nodeSizeRange","isNumberRange","min","max","nodeSize","_createVNode","AesSelector","_cache","c","_createElementVNode","_createBlock","_unref","SliderRange","$event","Slider","_hoisted_1","PlCheckbox","_hoisted_2"],"mappings":"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"}
@@ -51,21 +51,21 @@ const s = "bar", _ = /* @__PURE__ */ C({
51
51
  }, ["stop"]))
52
52
  }, [
53
53
  r(d(U), {
54
- label: "Height",
55
- options: g,
56
54
  modelValue: l.value.height,
57
- "onUpdate:modelValue": e[2] || (e[2] = (t) => l.value.height = t)
55
+ "onUpdate:modelValue": e[2] || (e[2] = (t) => l.value.height = t),
56
+ label: "Height",
57
+ options: g
58
58
  }, null, 8, ["modelValue"])
59
59
  ]),
60
60
  r(d(E), {
61
+ modelValue: p.value,
62
+ "onUpdate:modelValue": e[4] || (e[4] = (t) => p.value = t),
61
63
  label: "Opacity",
62
64
  min: 0,
63
65
  max: 100,
64
66
  step: 1,
65
67
  breakpoints: !1,
66
- measure: "%",
67
- modelValue: p.value,
68
- "onUpdate:modelValue": e[4] || (e[4] = (t) => p.value = t)
68
+ measure: "%"
69
69
  }, null, 8, ["modelValue"])
70
70
  ], 64));
71
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Bar.vue.js","sources":["../../../../../src/forms/LayersForm/Layer/discrete/Bar.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../../../store';\nimport {PlDropdown, Slider} from \"@platforma-sdk/ui-vue\";\nimport { computed } from \"vue\";\nimport type { AestheticMappingCategorical } from '../../../../dataBindAes';\nimport { useDefaultAes } from './utils';\nimport { DiscreteUIState } from \"@milaboratories/pf-plots\";\nimport {\n DEFAULT_BLACK,\n DEFAULT_WHITE,\n} from '../../../../constantsAesthetic';\nimport AesSelector from '../../AesSelector.vue';\nimport {AesOption} from '../../../../components/AesSettings/types';\n\nconst store = useStore();\nconst layer = \"bar\";\nconst settings = computed(() => store.value.reactive.layersSettings[layer]);\nconst optionsState = computed(\n () => store.value.reactive.optionsState as DiscreteUIState,\n);\n\nconst fillColor = computed(() =>\n useDefaultAes(settings.value.fillColor, optionsState.value, DEFAULT_WHITE),\n);\nconst lineColor = computed(() =>\n useDefaultAes(settings.value.lineColor, optionsState.value, DEFAULT_BLACK),\n);\n\nfunction onUpdate(\n value: string | AestheticMappingCategorical,\n colorOption: AesOption,\n field: \"fillColor\" | \"lineColor\",\n) {\n if (colorOption.type === 'dataCategorical') {\n store.value.reactive.layersSettings[layer][field] = { type: colorOption.inputName };\n } else {\n store.value.reactive.layersSettings[layer][field] = value;\n }\n if (colorOption.type === \"dataCategorical\" && typeof value !== \"string\") {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\n\nconst HEIGHT_OPTIONS: { text:string, value:string }[] = [\n { text: \"Min\", value: \"min\" },\n { text: \"Max\", value: \"max\" },\n { text: \"Mean\", value: \"mean\" },\n { text: \"Median\", value: \"median\" },\n];\n\nconst opacity = computed({\n get: () => settings.value.opacity * 100,\n set: (newValue: number) => {\n settings.value.opacity = newValue / 100;\n }\n})\n</script>\n\n<template>\n <aes-selector\n label=\"Fill color\"\n form-title=\"Fill Color Settings\"\n form-back-title=\"Layers\"\n type=\"fill\"\n :selected=\"fillColor\"\n @aes-update=\"(v, c) => onUpdate(v, c, 'fillColor')\"\n />\n <aes-selector\n label=\"Stroke color\"\n form-title=\"Stroke Color Settings\"\n form-back-title=\"Layers\"\n type=\"stroke\"\n :selected=\"lineColor\"\n @aes-update=\"(v, c) => onUpdate(v, c, 'lineColor')\"\n />\n <div class=\"input-item\" @click.stop>\n <pl-dropdown\n label=\"Height\"\n :options=\"HEIGHT_OPTIONS\"\n v-model=\"settings.height\"\n />\n </div>\n <Slider\n label=\"Opacity\"\n :min=\"0\"\n :max=\"100\"\n :step=\"1\"\n :breakpoints=\"false\"\n measure=\"%\"\n v-model=\"opacity\"\n />\n</template>\n"],"names":["layer","store","useStore","settings","computed","optionsState","fillColor","useDefaultAes","DEFAULT_WHITE","lineColor","DEFAULT_BLACK","onUpdate","value","colorOption","field","HEIGHT_OPTIONS","opacity","newValue","_createVNode","AesSelector","_cache","v","c","_createElementVNode","_unref","PlDropdown","$event","Slider"],"mappings":";;;;;;AAeA,MAAMA,IAAQ;;;AADd,UAAMC,IAAQC,EAAA,GAERC,IAAWC,EAAS,MAAMH,EAAM,MAAM,SAAS,eAAeD,CAAK,CAAC,GACpEK,IAAeD;AAAA,MACnB,MAAMH,EAAM,MAAM,SAAS;AAAA,IAAA,GAGvBK,IAAYF;AAAA,MAAS,MACzBG,EAAcJ,EAAS,MAAM,WAAWE,EAAa,OAAOG,CAAa;AAAA,IAAA,GAErEC,IAAYL;AAAA,MAAS,MACzBG,EAAcJ,EAAS,MAAM,WAAWE,EAAa,OAAOK,CAAa;AAAA,IAAA;AAG3E,aAASC,EACPC,GACAC,GACAC,GACA;AACA,MAAID,EAAY,SAAS,oBACvBZ,EAAM,MAAM,SAAS,eAAeD,CAAK,EAAEc,CAAK,IAAI,EAAE,MAAMD,EAAY,UAAA,IAExEZ,EAAM,MAAM,SAAS,eAAeD,CAAK,EAAEc,CAAK,IAAIF,GAElDC,EAAY,SAAS,qBAAqB,OAAOD,KAAU,aAC7DX,EAAM,MAAM,SAAS,YAAYY,EAAY,cAAc,IAAID;AAAA,IAEnE;AAEA,UAAMG,IAAkD;AAAA,MACtD,EAAE,MAAM,OAAO,OAAO,MAAA;AAAA,MACtB,EAAE,MAAM,OAAO,OAAO,MAAA;AAAA,MACtB,EAAE,MAAM,QAAQ,OAAO,OAAA;AAAA,MACvB,EAAE,MAAM,UAAU,OAAO,SAAA;AAAA,IAAS,GAG9BC,IAAUZ,EAAS;AAAA,MACvB,KAAK,MAAMD,EAAS,MAAM,UAAU;AAAA,MACpC,KAAK,CAACc,MAAqB;AACzB,QAAAd,EAAS,MAAM,UAAUc,IAAW;AAAA,MACtC;AAAA,IAAA,CACD;;MAICC,EAOEC,GAAA;AAAA,QANA,OAAM;AAAA,QACN,cAAW;AAAA,QACX,mBAAgB;AAAA,QAChB,MAAK;AAAA,QACJ,UAAUb,EAAA;AAAA,QACV,aAAUc,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,GAAGC,MAAMX,EAASU,GAAGC,GAAC,WAAA;AAAA,MAAA;MAEtCJ,EAOEC,GAAA;AAAA,QANA,OAAM;AAAA,QACN,cAAW;AAAA,QACX,mBAAgB;AAAA,QAChB,MAAK;AAAA,QACJ,UAAUV,EAAA;AAAA,QACV,aAAUW,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,GAAGC,MAAMX,EAASU,GAAGC,GAAC,WAAA;AAAA,MAAA;MAEtCC,EAMM,OAAA;AAAA,QAND,OAAM;AAAA,QAAc,2BAAD,MAAA;AAAA,QAAA,GAAW,CAAA,MAAA,CAAA;AAAA,MAAA;QACjCL,EAIEM,EAAAC,CAAA,GAAA;AAAA,UAHA,OAAM;AAAA,UACL,SAASV;AAAA,UACD,YAAAZ,EAAA,MAAS;AAAA,UAAT,uBAAAiB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAM,MAAAvB,EAAA,MAAS,SAAMuB;AAAA,QAAA;;MAG5BR,EAQEM,EAAAG,CAAA,GAAA;AAAA,QAPE,OAAM;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,QACN,aAAa;AAAA,QACd,SAAQ;AAAA,oBACCX,EAAA;AAAA,sDAAAA,EAAO,QAAAU;AAAA,MAAA;;;;"}
1
+ {"version":3,"file":"Bar.vue.js","sources":["../../../../../src/forms/LayersForm/Layer/discrete/Bar.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../../../store';\nimport { PlDropdown, Slider } from '@platforma-sdk/ui-vue';\nimport { computed } from 'vue';\nimport type { AestheticMappingCategorical } from '../../../../dataBindAes';\nimport { useDefaultAes } from './utils';\nimport type { DiscreteUIState } from '@milaboratories/pf-plots';\nimport {\n DEFAULT_BLACK,\n DEFAULT_WHITE,\n} from '../../../../constantsAesthetic';\nimport AesSelector from '../../AesSelector.vue';\nimport type { AesOption } from '../../../../components/AesSettings/types';\n\nconst store = useStore();\nconst layer = 'bar';\nconst settings = computed(() => store.value.reactive.layersSettings[layer]);\nconst optionsState = computed(\n () => store.value.reactive.optionsState as DiscreteUIState,\n);\n\nconst fillColor = computed(() =>\n useDefaultAes(settings.value.fillColor, optionsState.value, DEFAULT_WHITE),\n);\nconst lineColor = computed(() =>\n useDefaultAes(settings.value.lineColor, optionsState.value, DEFAULT_BLACK),\n);\n\nfunction onUpdate(\n value: string | AestheticMappingCategorical,\n colorOption: AesOption,\n field: 'fillColor' | 'lineColor',\n) {\n if (colorOption.type === 'dataCategorical') {\n store.value.reactive.layersSettings[layer][field] = { type: colorOption.inputName };\n } else {\n store.value.reactive.layersSettings[layer][field] = value;\n }\n if (colorOption.type === 'dataCategorical' && typeof value !== 'string') {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\n\nconst HEIGHT_OPTIONS: { text: string; value: string }[] = [\n { text: 'Min', value: 'min' },\n { text: 'Max', value: 'max' },\n { text: 'Mean', value: 'mean' },\n { text: 'Median', value: 'median' },\n];\n\nconst opacity = computed({\n get: () => settings.value.opacity * 100,\n set: (newValue: number) => {\n settings.value.opacity = newValue / 100;\n },\n});\n</script>\n\n<template>\n <AesSelector\n label=\"Fill color\"\n form-title=\"Fill Color Settings\"\n form-back-title=\"Layers\"\n type=\"fill\"\n :selected=\"fillColor\"\n @aes-update=\"(v, c) => onUpdate(v, c, 'fillColor')\"\n />\n <AesSelector\n label=\"Stroke color\"\n form-title=\"Stroke Color Settings\"\n form-back-title=\"Layers\"\n type=\"stroke\"\n :selected=\"lineColor\"\n @aes-update=\"(v, c) => onUpdate(v, c, 'lineColor')\"\n />\n <div class=\"input-item\" @click.stop>\n <PlDropdown\n v-model=\"settings.height\"\n label=\"Height\"\n :options=\"HEIGHT_OPTIONS\"\n />\n </div>\n <Slider\n v-model=\"opacity\"\n label=\"Opacity\"\n :min=\"0\"\n :max=\"100\"\n :step=\"1\"\n :breakpoints=\"false\"\n measure=\"%\"\n />\n</template>\n"],"names":["layer","store","useStore","settings","computed","optionsState","fillColor","useDefaultAes","DEFAULT_WHITE","lineColor","DEFAULT_BLACK","onUpdate","value","colorOption","field","HEIGHT_OPTIONS","opacity","newValue","_createVNode","AesSelector","_cache","v","c","_createElementVNode","_unref","PlDropdown","$event","Slider"],"mappings":";;;;;;AAeA,MAAMA,IAAQ;;;AADd,UAAMC,IAAQC,EAAA,GAERC,IAAWC,EAAS,MAAMH,EAAM,MAAM,SAAS,eAAeD,CAAK,CAAC,GACpEK,IAAeD;AAAA,MACnB,MAAMH,EAAM,MAAM,SAAS;AAAA,IAAA,GAGvBK,IAAYF;AAAA,MAAS,MACzBG,EAAcJ,EAAS,MAAM,WAAWE,EAAa,OAAOG,CAAa;AAAA,IAAA,GAErEC,IAAYL;AAAA,MAAS,MACzBG,EAAcJ,EAAS,MAAM,WAAWE,EAAa,OAAOK,CAAa;AAAA,IAAA;AAG3E,aAASC,EACPC,GACAC,GACAC,GACA;AACA,MAAID,EAAY,SAAS,oBACvBZ,EAAM,MAAM,SAAS,eAAeD,CAAK,EAAEc,CAAK,IAAI,EAAE,MAAMD,EAAY,UAAA,IAExEZ,EAAM,MAAM,SAAS,eAAeD,CAAK,EAAEc,CAAK,IAAIF,GAElDC,EAAY,SAAS,qBAAqB,OAAOD,KAAU,aAC7DX,EAAM,MAAM,SAAS,YAAYY,EAAY,cAAc,IAAID;AAAA,IAEnE;AAEA,UAAMG,IAAoD;AAAA,MACxD,EAAE,MAAM,OAAO,OAAO,MAAA;AAAA,MACtB,EAAE,MAAM,OAAO,OAAO,MAAA;AAAA,MACtB,EAAE,MAAM,QAAQ,OAAO,OAAA;AAAA,MACvB,EAAE,MAAM,UAAU,OAAO,SAAA;AAAA,IAAS,GAG9BC,IAAUZ,EAAS;AAAA,MACvB,KAAK,MAAMD,EAAS,MAAM,UAAU;AAAA,MACpC,KAAK,CAACc,MAAqB;AACzB,QAAAd,EAAS,MAAM,UAAUc,IAAW;AAAA,MACtC;AAAA,IAAA,CACD;;MAICC,EAOEC,GAAA;AAAA,QANA,OAAM;AAAA,QACN,cAAW;AAAA,QACX,mBAAgB;AAAA,QAChB,MAAK;AAAA,QACJ,UAAUb,EAAA;AAAA,QACV,aAAUc,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,GAAGC,MAAMX,EAASU,GAAGC,GAAC,WAAA;AAAA,MAAA;MAEtCJ,EAOEC,GAAA;AAAA,QANA,OAAM;AAAA,QACN,cAAW;AAAA,QACX,mBAAgB;AAAA,QAChB,MAAK;AAAA,QACJ,UAAUV,EAAA;AAAA,QACV,aAAUW,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,GAAGC,MAAMX,EAASU,GAAGC,GAAC,WAAA;AAAA,MAAA;MAEtCC,EAMM,OAAA;AAAA,QAND,OAAM;AAAA,QAAc,2BAAD,MAAA;AAAA,QAAA,GAAW,CAAA,MAAA,CAAA;AAAA,MAAA;QACjCL,EAIEM,EAAAC,CAAA,GAAA;AAAA,UAHS,YAAAtB,EAAA,MAAS;AAAA,UAAT,uBAAAiB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAM,MAAAvB,EAAA,MAAS,SAAMuB;AAAA,UACxB,OAAM;AAAA,UACL,SAASX;AAAA,QAAA;;MAGdG,EAQEM,EAAAG,CAAA,GAAA;AAAA,oBAPSX,EAAA;AAAA,sDAAAA,EAAO,QAAAU;AAAA,QAChB,OAAM;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,QACN,aAAa;AAAA,QACd,SAAQ;AAAA,MAAA;;;;"}
@@ -41,14 +41,14 @@ const D = { class: "checkbox-item" }, n = "binnedDots", H = /* @__PURE__ */ S({
41
41
  onAesUpdate: e[1] || (e[1] = (t, i) => m(t, i, "lineColor"))
42
42
  }, null, 8, ["selected"]),
43
43
  s(f(A), {
44
+ modelValue: p.value,
45
+ "onUpdate:modelValue": e[2] || (e[2] = (t) => p.value = t),
44
46
  label: "Opacity",
45
47
  min: 0,
46
48
  max: 100,
47
49
  step: 1,
48
50
  breakpoints: !1,
49
- measure: "%",
50
- modelValue: p.value,
51
- "onUpdate:modelValue": e[2] || (e[2] = (t) => p.value = t)
51
+ measure: "%"
52
52
  }, null, 8, ["modelValue"]),
53
53
  d("div", D, [
54
54
  s(f(U), {
@@ -1 +1 @@
1
- {"version":3,"file":"BinnedDots.vue.js","sources":["../../../../../src/forms/LayersForm/Layer/discrete/BinnedDots.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../../../store';\nimport {Slider, PlCheckbox} from \"@platforma-sdk/ui-vue\";\nimport { computed } from \"vue\";\nimport type {AesOption} from '../../../../components/AesSettings/types';\nimport type { AestheticMappingCategorical } from '../../../../dataBindAes';\nimport { useDefaultAes } from './utils';\nimport { DiscreteUIState } from \"@milaboratories/pf-plots\";\nimport {\n DEFAULT_BLACK,\n DEFAULT_WHITE,\n} from '../../../../constantsAesthetic';\nimport AesSelector from '../../AesSelector.vue';\n\nconst store = useStore();\nconst layer = \"binnedDots\";\nconst settings = computed(() => store.value.reactive.layersSettings[layer]);\nconst optionsState = computed(\n () => store.value.reactive.optionsState as DiscreteUIState,\n);\n\nconst fillColor = computed(() =>\n useDefaultAes(settings.value.fillColor, optionsState.value, DEFAULT_WHITE),\n);\nconst lineColor = computed(() =>\n useDefaultAes(settings.value.lineColor, optionsState.value, DEFAULT_BLACK),\n);\n\nfunction onUpdate(\n value: string | AestheticMappingCategorical,\n colorOption: AesOption,\n field: \"fillColor\" | \"lineColor\",\n) {\n if (colorOption.type === 'dataCategorical') {\n store.value.reactive.layersSettings[layer][field] = { type: colorOption.inputName };\n } else {\n store.value.reactive.layersSettings[layer][field] = value;\n }\n if (colorOption.type === \"dataCategorical\" && typeof value !== \"string\") {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\n\nconst opacity = computed({\n get: () => settings.value.opacity * 100,\n set: (newValue: number) => {\n settings.value.opacity = newValue / 100;\n }\n})\n</script>\n\n<template>\n <aes-selector\n label=\"Fill color\"\n form-title=\"Fill Color Settings\"\n form-back-title=\"Layers\"\n type=\"fill\"\n :selected=\"fillColor\"\n @aes-update=\"(v, c) => onUpdate(v, c, 'fillColor')\"\n />\n <aes-selector\n label=\"Stroke color\"\n form-title=\"Stroke Color Settings\"\n form-back-title=\"Layers\"\n type=\"stroke\"\n :selected=\"lineColor\"\n @aes-update=\"(v, c) => onUpdate(v, c, 'lineColor')\"\n />\n <Slider\n label=\"Opacity\"\n :min=\"0\"\n :max=\"100\"\n :step=\"1\"\n :breakpoints=\"false\"\n measure=\"%\"\n v-model=\"opacity\"\n />\n <div class=\"checkbox-item\">\n <pl-checkbox v-model=\"settings.showOutliers\" />\n <span>Show outliers</span>\n </div>\n</template>\n"],"names":["layer","store","useStore","settings","computed","optionsState","fillColor","useDefaultAes","DEFAULT_WHITE","lineColor","DEFAULT_BLACK","onUpdate","value","colorOption","field","opacity","newValue","_createVNode","AesSelector","_cache","v","c","_unref","Slider","$event","_createElementVNode","_hoisted_1","PlCheckbox"],"mappings":";;;;;;sCAeMA,IAAQ;;;AADd,UAAMC,IAAQC,EAAA,GAERC,IAAWC,EAAS,MAAMH,EAAM,MAAM,SAAS,eAAeD,CAAK,CAAC,GACpEK,IAAeD;AAAA,MACnB,MAAMH,EAAM,MAAM,SAAS;AAAA,IAAA,GAGvBK,IAAYF;AAAA,MAAS,MACzBG,EAAcJ,EAAS,MAAM,WAAWE,EAAa,OAAOG,CAAa;AAAA,IAAA,GAErEC,IAAYL;AAAA,MAAS,MACzBG,EAAcJ,EAAS,MAAM,WAAWE,EAAa,OAAOK,CAAa;AAAA,IAAA;AAG3E,aAASC,EACPC,GACAC,GACAC,GACA;AACA,MAAID,EAAY,SAAS,oBACvBZ,EAAM,MAAM,SAAS,eAAeD,CAAK,EAAEc,CAAK,IAAI,EAAE,MAAMD,EAAY,UAAA,IAExEZ,EAAM,MAAM,SAAS,eAAeD,CAAK,EAAEc,CAAK,IAAIF,GAElDC,EAAY,SAAS,qBAAqB,OAAOD,KAAU,aAC7DX,EAAM,MAAM,SAAS,YAAYY,EAAY,cAAc,IAAID;AAAA,IAEnE;AAEA,UAAMG,IAAUX,EAAS;AAAA,MACvB,KAAK,MAAMD,EAAS,MAAM,UAAU;AAAA,MACpC,KAAK,CAACa,MAAqB;AACzB,QAAAb,EAAS,MAAM,UAAUa,IAAW;AAAA,MACtC;AAAA,IAAA,CACD;;MAICC,EAOEC,GAAA;AAAA,QANA,OAAM;AAAA,QACN,cAAW;AAAA,QACX,mBAAgB;AAAA,QAChB,MAAK;AAAA,QACJ,UAAUZ,EAAA;AAAA,QACV,aAAUa,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,GAAGC,MAAMV,EAASS,GAAGC,GAAC,WAAA;AAAA,MAAA;MAEtCJ,EAOEC,GAAA;AAAA,QANA,OAAM;AAAA,QACN,cAAW;AAAA,QACX,mBAAgB;AAAA,QAChB,MAAK;AAAA,QACJ,UAAUT,EAAA;AAAA,QACV,aAAUU,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,GAAGC,MAAMV,EAASS,GAAGC,GAAC,WAAA;AAAA,MAAA;MAEtCJ,EAQEK,EAAAC,CAAA,GAAA;AAAA,QAPE,OAAM;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,QACN,aAAa;AAAA,QACd,SAAQ;AAAA,oBACCR,EAAA;AAAA,sDAAAA,EAAO,QAAAS;AAAA,MAAA;MAEpBC,EAGM,OAHNC,GAGM;AAAA,QAFJT,EAA+CK,EAAAK,CAAA,GAAA;AAAA,UAAzB,YAAAxB,EAAA,MAAS;AAAA,UAAT,uBAAAgB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAK,MAAArB,EAAA,MAAS,eAAYqB;AAAA,QAAA;QAC3CL,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAM,EAA0B,cAApB,iBAAa,EAAA;AAAA,MAAA;;;;"}
1
+ {"version":3,"file":"BinnedDots.vue.js","sources":["../../../../../src/forms/LayersForm/Layer/discrete/BinnedDots.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../../../store';\nimport { Slider, PlCheckbox } from '@platforma-sdk/ui-vue';\nimport { computed } from 'vue';\nimport type { AesOption } from '../../../../components/AesSettings/types';\nimport type { AestheticMappingCategorical } from '../../../../dataBindAes';\nimport { useDefaultAes } from './utils';\nimport type { DiscreteUIState } from '@milaboratories/pf-plots';\nimport {\n DEFAULT_BLACK,\n DEFAULT_WHITE,\n} from '../../../../constantsAesthetic';\nimport AesSelector from '../../AesSelector.vue';\n\nconst store = useStore();\nconst layer = 'binnedDots';\nconst settings = computed(() => store.value.reactive.layersSettings[layer]);\nconst optionsState = computed(\n () => store.value.reactive.optionsState as DiscreteUIState,\n);\n\nconst fillColor = computed(() =>\n useDefaultAes(settings.value.fillColor, optionsState.value, DEFAULT_WHITE),\n);\nconst lineColor = computed(() =>\n useDefaultAes(settings.value.lineColor, optionsState.value, DEFAULT_BLACK),\n);\n\nfunction onUpdate(\n value: string | AestheticMappingCategorical,\n colorOption: AesOption,\n field: 'fillColor' | 'lineColor',\n) {\n if (colorOption.type === 'dataCategorical') {\n store.value.reactive.layersSettings[layer][field] = { type: colorOption.inputName };\n } else {\n store.value.reactive.layersSettings[layer][field] = value;\n }\n if (colorOption.type === 'dataCategorical' && typeof value !== 'string') {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\n\nconst opacity = computed({\n get: () => settings.value.opacity * 100,\n set: (newValue: number) => {\n settings.value.opacity = newValue / 100;\n },\n});\n</script>\n\n<template>\n <AesSelector\n label=\"Fill color\"\n form-title=\"Fill Color Settings\"\n form-back-title=\"Layers\"\n type=\"fill\"\n :selected=\"fillColor\"\n @aes-update=\"(v, c) => onUpdate(v, c, 'fillColor')\"\n />\n <AesSelector\n label=\"Stroke color\"\n form-title=\"Stroke Color Settings\"\n form-back-title=\"Layers\"\n type=\"stroke\"\n :selected=\"lineColor\"\n @aes-update=\"(v, c) => onUpdate(v, c, 'lineColor')\"\n />\n <Slider\n v-model=\"opacity\"\n label=\"Opacity\"\n :min=\"0\"\n :max=\"100\"\n :step=\"1\"\n :breakpoints=\"false\"\n measure=\"%\"\n />\n <div class=\"checkbox-item\">\n <PlCheckbox v-model=\"settings.showOutliers\" />\n <span>Show outliers</span>\n </div>\n</template>\n"],"names":["layer","store","useStore","settings","computed","optionsState","fillColor","useDefaultAes","DEFAULT_WHITE","lineColor","DEFAULT_BLACK","onUpdate","value","colorOption","field","opacity","newValue","_createVNode","AesSelector","_cache","v","c","_unref","Slider","$event","_createElementVNode","_hoisted_1","PlCheckbox"],"mappings":";;;;;;sCAeMA,IAAQ;;;AADd,UAAMC,IAAQC,EAAA,GAERC,IAAWC,EAAS,MAAMH,EAAM,MAAM,SAAS,eAAeD,CAAK,CAAC,GACpEK,IAAeD;AAAA,MACnB,MAAMH,EAAM,MAAM,SAAS;AAAA,IAAA,GAGvBK,IAAYF;AAAA,MAAS,MACzBG,EAAcJ,EAAS,MAAM,WAAWE,EAAa,OAAOG,CAAa;AAAA,IAAA,GAErEC,IAAYL;AAAA,MAAS,MACzBG,EAAcJ,EAAS,MAAM,WAAWE,EAAa,OAAOK,CAAa;AAAA,IAAA;AAG3E,aAASC,EACPC,GACAC,GACAC,GACA;AACA,MAAID,EAAY,SAAS,oBACvBZ,EAAM,MAAM,SAAS,eAAeD,CAAK,EAAEc,CAAK,IAAI,EAAE,MAAMD,EAAY,UAAA,IAExEZ,EAAM,MAAM,SAAS,eAAeD,CAAK,EAAEc,CAAK,IAAIF,GAElDC,EAAY,SAAS,qBAAqB,OAAOD,KAAU,aAC7DX,EAAM,MAAM,SAAS,YAAYY,EAAY,cAAc,IAAID;AAAA,IAEnE;AAEA,UAAMG,IAAUX,EAAS;AAAA,MACvB,KAAK,MAAMD,EAAS,MAAM,UAAU;AAAA,MACpC,KAAK,CAACa,MAAqB;AACzB,QAAAb,EAAS,MAAM,UAAUa,IAAW;AAAA,MACtC;AAAA,IAAA,CACD;;MAICC,EAOEC,GAAA;AAAA,QANA,OAAM;AAAA,QACN,cAAW;AAAA,QACX,mBAAgB;AAAA,QAChB,MAAK;AAAA,QACJ,UAAUZ,EAAA;AAAA,QACV,aAAUa,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,GAAGC,MAAMV,EAASS,GAAGC,GAAC,WAAA;AAAA,MAAA;MAEtCJ,EAOEC,GAAA;AAAA,QANA,OAAM;AAAA,QACN,cAAW;AAAA,QACX,mBAAgB;AAAA,QAChB,MAAK;AAAA,QACJ,UAAUT,EAAA;AAAA,QACV,aAAUU,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,GAAGC,MAAMV,EAASS,GAAGC,GAAC,WAAA;AAAA,MAAA;MAEtCJ,EAQEK,EAAAC,CAAA,GAAA;AAAA,oBAPSR,EAAA;AAAA,sDAAAA,EAAO,QAAAS;AAAA,QAChB,OAAM;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,QACN,aAAa;AAAA,QACd,SAAQ;AAAA,MAAA;MAEVC,EAGM,OAHNC,GAGM;AAAA,QAFJT,EAA8CK,EAAAK,CAAA,GAAA;AAAA,UAAzB,YAAAxB,EAAA,MAAS;AAAA,UAAT,uBAAAgB,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAK,MAAArB,EAAA,MAAS,eAAYqB;AAAA,QAAA;QAC1CL,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAM,EAA0B,cAApB,iBAAa,EAAA;AAAA,MAAA;;;;"}
@@ -56,14 +56,14 @@ const D = { class: "checkbox-item" }, r = "box", h = /* @__PURE__ */ U({
56
56
  onAesUpdate: e[2] || (e[2] = (t, s) => A(t, s, "lineType"))
57
57
  }, null, 8, ["selected"]),
58
58
  n(f(N), {
59
+ modelValue: m.value,
60
+ "onUpdate:modelValue": e[3] || (e[3] = (t) => m.value = t),
59
61
  label: "Opacity",
60
62
  min: 0,
61
63
  max: 100,
62
64
  step: 1,
63
65
  breakpoints: !1,
64
- measure: "%",
65
- modelValue: m.value,
66
- "onUpdate:modelValue": e[3] || (e[3] = (t) => m.value = t)
66
+ measure: "%"
67
67
  }, null, 8, ["modelValue"]),
68
68
  y("div", D, [
69
69
  n(f(E), {
@@ -1 +1 @@
1
- {"version":3,"file":"Boxplot.vue.js","sources":["../../../../../src/forms/LayersForm/Layer/discrete/Boxplot.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../../../store';\nimport { PlCheckbox, Slider } from \"@platforma-sdk/ui-vue\";\nimport { computed } from \"vue\";\nimport type {AesOption, DotShape, LineType} from '../../../../components/AesSettings/types';\nimport type { AestheticMappingCategorical } from '../../../../dataBindAes';\nimport { useDefaultAes } from './utils';\nimport { DiscreteUIState } from \"@milaboratories/pf-plots\";\nimport {\n DEFAULT_BLACK,\n DEFAULT_WHITE,\n} from '../../../../constantsAesthetic';\nimport AesSelector from '../../AesSelector.vue';\n\nconst store = useStore();\nconst layer = \"box\";\nconst settings = computed(() => store.value.reactive.layersSettings[layer]);\nconst optionsState = computed(\n () => store.value.reactive.optionsState as DiscreteUIState,\n);\n\nconst fillColor = computed(() =>\n useDefaultAes(settings.value.fillColor, optionsState.value, DEFAULT_WHITE),\n);\nconst lineColor = computed(() =>\n useDefaultAes(settings.value.lineColor, optionsState.value, DEFAULT_BLACK),\n);\nconst outliersShape = computed(() => settings.value.dotShape);\nconst lineType = computed(() => settings.value.lineType);\n\nfunction onUpdate(\n value: string | AestheticMappingCategorical,\n colorOption: AesOption,\n field: \"fillColor\" | \"lineColor\",\n) {\n if (colorOption.type === 'dataCategorical') {\n store.value.reactive.layersSettings[layer][field] = { type: colorOption.inputName };\n } else {\n store.value.reactive.layersSettings[layer][field] = value;\n }\n if (colorOption.type === \"dataCategorical\" && typeof value !== \"string\") {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\n\nfunction onUpdateDot(\n value: DotShape | AestheticMappingCategorical,\n colorOption: AesOption,\n field: \"dotShape\",\n) {\n if (colorOption.type === 'dataCategorical') {\n store.value.reactive.layersSettings[layer][field] = { type: colorOption.inputName };\n } else {\n store.value.reactive.layersSettings[layer][field] = value;\n }\n if (colorOption.type === \"dataCategorical\" && typeof value === \"object\") {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\nfunction onUpdateLineType(\n value: LineType | AestheticMappingCategorical,\n colorOption: AesOption,\n field: \"lineType\",\n) {\n if (colorOption.type === 'dataCategorical') {\n store.value.reactive.layersSettings[layer][field] = { type: colorOption.inputName };\n } else {\n store.value.reactive.layersSettings[layer][field] = value;\n }\n if (colorOption.type === \"dataCategorical\" && typeof value === \"object\") {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\n\nconst opacity = computed({\n get: () => settings.value.opacity * 100,\n set: (newValue: number) => {\n settings.value.opacity = newValue / 100;\n }\n})\n</script>\n\n<template>\n <aes-selector\n label=\"Fill color\"\n form-title=\"Fill Color Settings\"\n form-back-title=\"Layers\"\n type=\"fill\"\n :selected=\"fillColor\"\n @aes-update=\"(v, c) => onUpdate(v, c, 'fillColor')\"\n />\n <aes-selector\n label=\"Stroke color\"\n form-title=\"Stroke Color Settings\"\n form-back-title=\"Layers\"\n type=\"stroke\"\n :selected=\"lineColor\"\n @aes-update=\"(v, c) => onUpdate(v, c, 'lineColor')\"\n />\n <aes-selector\n label=\"Line Type\"\n form-title=\"Line Type Settings\"\n form-back-title=\"Layers\"\n type=\"lineType\"\n :possible-aes-source-inputs=\"[]\"\n :selected=\"lineType\"\n @aes-update=\"(v, c) => onUpdateLineType(v, c, 'lineType')\"\n />\n <Slider\n label=\"Opacity\"\n :min=\"0\"\n :max=\"100\"\n :step=\"1\"\n :breakpoints=\"false\"\n measure=\"%\"\n v-model=\"opacity\"\n />\n <div class=\"checkbox-item\">\n <pl-checkbox v-model=\"settings.showOutliers\" />\n <span>Show outliers</span>\n </div>\n <aes-selector\n v-if=\"settings.showOutliers\"\n label=\"Outlier shape\"\n form-title=\"Outlier Shape Settings\"\n form-back-title=\"Layers\"\n type=\"dotShape\"\n :possible-aes-source-inputs=\"[]\"\n :selected=\"outliersShape\"\n @aes-update=\"(v, c) => onUpdateDot(v, c, 'dotShape')\"\n />\n</template>\n"],"names":["layer","store","useStore","settings","computed","optionsState","fillColor","useDefaultAes","DEFAULT_WHITE","lineColor","DEFAULT_BLACK","outliersShape","lineType","onUpdate","value","colorOption","field","onUpdateDot","onUpdateLineType","opacity","newValue","_createVNode","AesSelector","_cache","v","c","_unref","Slider","$event","_createElementVNode","_hoisted_1","PlCheckbox","_createBlock"],"mappings":"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"}
1
+ {"version":3,"file":"Boxplot.vue.js","sources":["../../../../../src/forms/LayersForm/Layer/discrete/Boxplot.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../../../store';\nimport { PlCheckbox, Slider } from '@platforma-sdk/ui-vue';\nimport { computed } from 'vue';\nimport type { AesOption, DotShape, LineType } from '../../../../components/AesSettings/types';\nimport type { AestheticMappingCategorical } from '../../../../dataBindAes';\nimport { useDefaultAes } from './utils';\nimport type { DiscreteUIState } from '@milaboratories/pf-plots';\nimport {\n DEFAULT_BLACK,\n DEFAULT_WHITE,\n} from '../../../../constantsAesthetic';\nimport AesSelector from '../../AesSelector.vue';\n\nconst store = useStore();\nconst layer = 'box';\nconst settings = computed(() => store.value.reactive.layersSettings[layer]);\nconst optionsState = computed(\n () => store.value.reactive.optionsState as DiscreteUIState,\n);\n\nconst fillColor = computed(() =>\n useDefaultAes(settings.value.fillColor, optionsState.value, DEFAULT_WHITE),\n);\nconst lineColor = computed(() =>\n useDefaultAes(settings.value.lineColor, optionsState.value, DEFAULT_BLACK),\n);\nconst outliersShape = computed(() => settings.value.dotShape);\nconst lineType = computed(() => settings.value.lineType);\n\nfunction onUpdate(\n value: string | AestheticMappingCategorical,\n colorOption: AesOption,\n field: 'fillColor' | 'lineColor',\n) {\n if (colorOption.type === 'dataCategorical') {\n store.value.reactive.layersSettings[layer][field] = { type: colorOption.inputName };\n } else {\n store.value.reactive.layersSettings[layer][field] = value;\n }\n if (colorOption.type === 'dataCategorical' && typeof value !== 'string') {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\n\nfunction onUpdateDot(\n value: DotShape | AestheticMappingCategorical,\n colorOption: AesOption,\n field: 'dotShape',\n) {\n if (colorOption.type === 'dataCategorical') {\n store.value.reactive.layersSettings[layer][field] = { type: colorOption.inputName };\n } else {\n store.value.reactive.layersSettings[layer][field] = value;\n }\n if (colorOption.type === 'dataCategorical' && typeof value === 'object') {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\nfunction onUpdateLineType(\n value: LineType | AestheticMappingCategorical,\n colorOption: AesOption,\n field: 'lineType',\n) {\n if (colorOption.type === 'dataCategorical') {\n store.value.reactive.layersSettings[layer][field] = { type: colorOption.inputName };\n } else {\n store.value.reactive.layersSettings[layer][field] = value;\n }\n if (colorOption.type === 'dataCategorical' && typeof value === 'object') {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\n\nconst opacity = computed({\n get: () => settings.value.opacity * 100,\n set: (newValue: number) => {\n settings.value.opacity = newValue / 100;\n },\n});\n</script>\n\n<template>\n <AesSelector\n label=\"Fill color\"\n form-title=\"Fill Color Settings\"\n form-back-title=\"Layers\"\n type=\"fill\"\n :selected=\"fillColor\"\n @aes-update=\"(v, c) => onUpdate(v, c, 'fillColor')\"\n />\n <AesSelector\n label=\"Stroke color\"\n form-title=\"Stroke Color Settings\"\n form-back-title=\"Layers\"\n type=\"stroke\"\n :selected=\"lineColor\"\n @aes-update=\"(v, c) => onUpdate(v, c, 'lineColor')\"\n />\n <AesSelector\n label=\"Line Type\"\n form-title=\"Line Type Settings\"\n form-back-title=\"Layers\"\n type=\"lineType\"\n :possible-aes-source-inputs=\"[]\"\n :selected=\"lineType\"\n @aes-update=\"(v, c) => onUpdateLineType(v, c, 'lineType')\"\n />\n <Slider\n v-model=\"opacity\"\n label=\"Opacity\"\n :min=\"0\"\n :max=\"100\"\n :step=\"1\"\n :breakpoints=\"false\"\n measure=\"%\"\n />\n <div class=\"checkbox-item\">\n <PlCheckbox v-model=\"settings.showOutliers\" />\n <span>Show outliers</span>\n </div>\n <AesSelector\n v-if=\"settings.showOutliers\"\n label=\"Outlier shape\"\n form-title=\"Outlier Shape Settings\"\n form-back-title=\"Layers\"\n type=\"dotShape\"\n :possible-aes-source-inputs=\"[]\"\n :selected=\"outliersShape\"\n @aes-update=\"(v, c) => onUpdateDot(v, c, 'dotShape')\"\n />\n</template>\n"],"names":["layer","store","useStore","settings","computed","optionsState","fillColor","useDefaultAes","DEFAULT_WHITE","lineColor","DEFAULT_BLACK","outliersShape","lineType","onUpdate","value","colorOption","field","onUpdateDot","onUpdateLineType","opacity","newValue","_createVNode","AesSelector","_cache","v","c","_unref","Slider","$event","_createElementVNode","_hoisted_1","PlCheckbox","_createBlock"],"mappings":"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"}
@@ -77,10 +77,10 @@ const n = "errorbar", R = /* @__PURE__ */ x({
77
77
  }, ["stop"]))
78
78
  }, [
79
79
  s(u(y), {
80
- label: "Point value",
81
- options: U,
82
80
  modelValue: a.value.pointsValues,
83
- "onUpdate:modelValue": e[3] || (e[3] = (t) => a.value.pointsValues = t)
81
+ "onUpdate:modelValue": e[3] || (e[3] = (t) => a.value.pointsValues = t),
82
+ label: "Point value",
83
+ options: U
84
84
  }, null, 8, ["modelValue"])
85
85
  ]),
86
86
  f("div", {
@@ -89,21 +89,21 @@ const n = "errorbar", R = /* @__PURE__ */ x({
89
89
  }, ["stop"]))
90
90
  }, [
91
91
  s(u(y), {
92
- label: "Interval",
93
- options: k,
94
92
  modelValue: a.value.interval,
95
- "onUpdate:modelValue": e[5] || (e[5] = (t) => a.value.interval = t)
93
+ "onUpdate:modelValue": e[5] || (e[5] = (t) => a.value.interval = t),
94
+ label: "Interval",
95
+ options: k
96
96
  }, null, 8, ["modelValue"])
97
97
  ]),
98
98
  s(u(B), {
99
+ modelValue: v.value,
100
+ "onUpdate:modelValue": e[7] || (e[7] = (t) => v.value = t),
99
101
  label: "Opacity",
100
102
  min: 0,
101
103
  max: 100,
102
104
  step: 1,
103
105
  breakpoints: !1,
104
- measure: "%",
105
- modelValue: v.value,
106
- "onUpdate:modelValue": e[7] || (e[7] = (t) => v.value = t)
106
+ measure: "%"
107
107
  }, null, 8, ["modelValue"])
108
108
  ], 64));
109
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Errorbar.vue.js","sources":["../../../../../src/forms/LayersForm/Layer/discrete/Errorbar.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../../../store';\nimport {PlDropdown, Slider} from \"@platforma-sdk/ui-vue\";\nimport { computed } from \"vue\";\nimport type {AesOption, DotShape} from '../../../../components/AesSettings/types';\nimport type { AestheticMappingCategorical } from '../../../../dataBindAes';\nimport { useDefaultAes } from './utils';\nimport { DiscreteUIState } from \"@milaboratories/pf-plots\";\nimport {DEFAULT_BLACK} from '../../../../constantsAesthetic';\nimport AesSelector from '../../AesSelector.vue';\n\nconst store = useStore();\nconst layer = \"errorbar\";\nconst settings = computed(() => store.value.reactive.layersSettings[layer]);\nconst optionsState = computed(\n () => store.value.reactive.optionsState as DiscreteUIState,\n);\nconst lineColor = computed(() =>\n useDefaultAes(\n settings.value.lineColor,\n optionsState.value,\n DEFAULT_BLACK,\n true,\n ),\n);\nconst dotFill = computed(() => useDefaultAes(\n settings.value.dotFill,\n optionsState.value,\n DEFAULT_BLACK,\n true\n )\n);\nfunction onUpdate(\n value: string | AestheticMappingCategorical,\n colorOption: AesOption,\n field: \"lineColor\" | \"dotFill\",\n) {\n if (colorOption.type === 'dataCategorical') {\n store.value.reactive.layersSettings[layer][field] = { type: colorOption.inputName };\n } else {\n store.value.reactive.layersSettings[layer][field] = value;\n }\n if (colorOption.type === \"dataCategorical\" && typeof value !== \"string\") {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\nfunction onUpdateDot(\n value: DotShape | AestheticMappingCategorical,\n colorOption: AesOption,\n field: \"dotShape\" | \"dotFill\",\n) {\n if (colorOption.type === 'dataCategorical') {\n store.value.reactive.layersSettings[layer][field] = { type: colorOption.inputName };\n } else {\n store.value.reactive.layersSettings[layer][field] = value;\n }\n if (colorOption.type === \"dataCategorical\" && typeof value === \"object\") {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\n\nconst ERROR_OPTIONS: { text:string, value:string }[] = [\n { text: \"Standard deviation\", value: \"sd\" },\n { text: \"Standard error\", value: \"se\" },\n { text: \"Confident interval\", value: \"ci\" },\n];\n\nconst POINT_OPTIONS: { text:string, value:string }[] = [\n { text: \"Mean\", value: \"mean\" },\n { text: \"Median\", value: \"median\" },\n];\n\nconst opacity = computed({\n get: () => settings.value.opacity * 100,\n set: (newValue: number) => {\n settings.value.opacity = newValue / 100;\n }\n})\n</script>\n\n<template>\n <aes-selector\n label=\"Stroke color\"\n form-title=\"Stroke Color Settings\"\n form-back-title=\"Layers\"\n type=\"stroke\"\n :selected=\"lineColor\"\n :possible-aes-source-inputs=\"['secondaryGrouping']\"\n @aes-update=\"(v, c) => onUpdate(v, c, 'lineColor')\"\n />\n <aes-selector\n label=\"Dot fill\"\n form-title=\"Dot Fill Settings\"\n form-back-title=\"Layers\"\n type=\"fill\"\n :selected=\"dotFill\"\n :possible-aes-source-inputs=\"['secondaryGrouping']\"\n @aes-update=\"(v, c) => onUpdate(v, c, 'dotFill')\"\n />\n <aes-selector\n label=\"Dot shape\"\n form-title=\"Dot Shape Settings\"\n form-back-title=\"Layers\"\n type=\"dotShape\"\n :selected=\"settings.dotShape\"\n :possible-aes-source-inputs=\"['secondaryGrouping']\"\n @aes-update=\"(v, c) => onUpdateDot(v, c, 'dotShape')\"\n />\n <div class=\"input-item\" @click.stop>\n <pl-dropdown\n label=\"Point value\"\n :options=\"POINT_OPTIONS\"\n v-model=\"settings.pointsValues\"\n />\n </div>\n <div class=\"input-item\" @click.stop>\n <pl-dropdown\n label=\"Interval\"\n :options=\"ERROR_OPTIONS\"\n v-model=\"settings.interval\"\n />\n </div>\n <Slider\n label=\"Opacity\"\n :min=\"0\"\n :max=\"100\"\n :step=\"1\"\n :breakpoints=\"false\"\n measure=\"%\"\n v-model=\"opacity\"\n />\n</template>\n"],"names":["layer","store","useStore","settings","computed","optionsState","lineColor","useDefaultAes","DEFAULT_BLACK","dotFill","onUpdate","value","colorOption","field","onUpdateDot","ERROR_OPTIONS","POINT_OPTIONS","opacity","newValue","_createVNode","AesSelector","_cache","v","c","_createElementVNode","_unref","PlDropdown","$event","Slider"],"mappings":"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"}
1
+ {"version":3,"file":"Errorbar.vue.js","sources":["../../../../../src/forms/LayersForm/Layer/discrete/Errorbar.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../../../store';\nimport { PlDropdown, Slider } from '@platforma-sdk/ui-vue';\nimport { computed } from 'vue';\nimport type { AesOption, DotShape } from '../../../../components/AesSettings/types';\nimport type { AestheticMappingCategorical } from '../../../../dataBindAes';\nimport { useDefaultAes } from './utils';\nimport type { DiscreteUIState } from '@milaboratories/pf-plots';\nimport { DEFAULT_BLACK } from '../../../../constantsAesthetic';\nimport AesSelector from '../../AesSelector.vue';\n\nconst store = useStore();\nconst layer = 'errorbar';\nconst settings = computed(() => store.value.reactive.layersSettings[layer]);\nconst optionsState = computed(\n () => store.value.reactive.optionsState as DiscreteUIState,\n);\nconst lineColor = computed(() =>\n useDefaultAes(\n settings.value.lineColor,\n optionsState.value,\n DEFAULT_BLACK,\n true,\n ),\n);\nconst dotFill = computed(() => useDefaultAes(\n settings.value.dotFill,\n optionsState.value,\n DEFAULT_BLACK,\n true,\n),\n);\nfunction onUpdate(\n value: string | AestheticMappingCategorical,\n colorOption: AesOption,\n field: 'lineColor' | 'dotFill',\n) {\n if (colorOption.type === 'dataCategorical') {\n store.value.reactive.layersSettings[layer][field] = { type: colorOption.inputName };\n } else {\n store.value.reactive.layersSettings[layer][field] = value;\n }\n if (colorOption.type === 'dataCategorical' && typeof value !== 'string') {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\nfunction onUpdateDot(\n value: DotShape | AestheticMappingCategorical,\n colorOption: AesOption,\n field: 'dotShape' | 'dotFill',\n) {\n if (colorOption.type === 'dataCategorical') {\n store.value.reactive.layersSettings[layer][field] = { type: colorOption.inputName };\n } else {\n store.value.reactive.layersSettings[layer][field] = value;\n }\n if (colorOption.type === 'dataCategorical' && typeof value === 'object') {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\n\nconst ERROR_OPTIONS: { text: string; value: string }[] = [\n { text: 'Standard deviation', value: 'sd' },\n { text: 'Standard error', value: 'se' },\n { text: 'Confident interval', value: 'ci' },\n];\n\nconst POINT_OPTIONS: { text: string; value: string }[] = [\n { text: 'Mean', value: 'mean' },\n { text: 'Median', value: 'median' },\n];\n\nconst opacity = computed({\n get: () => settings.value.opacity * 100,\n set: (newValue: number) => {\n settings.value.opacity = newValue / 100;\n },\n});\n</script>\n\n<template>\n <AesSelector\n label=\"Stroke color\"\n form-title=\"Stroke Color Settings\"\n form-back-title=\"Layers\"\n type=\"stroke\"\n :selected=\"lineColor\"\n :possible-aes-source-inputs=\"['secondaryGrouping']\"\n @aes-update=\"(v, c) => onUpdate(v, c, 'lineColor')\"\n />\n <AesSelector\n label=\"Dot fill\"\n form-title=\"Dot Fill Settings\"\n form-back-title=\"Layers\"\n type=\"fill\"\n :selected=\"dotFill\"\n :possible-aes-source-inputs=\"['secondaryGrouping']\"\n @aes-update=\"(v, c) => onUpdate(v, c, 'dotFill')\"\n />\n <AesSelector\n label=\"Dot shape\"\n form-title=\"Dot Shape Settings\"\n form-back-title=\"Layers\"\n type=\"dotShape\"\n :selected=\"settings.dotShape\"\n :possible-aes-source-inputs=\"['secondaryGrouping']\"\n @aes-update=\"(v, c) => onUpdateDot(v, c, 'dotShape')\"\n />\n <div class=\"input-item\" @click.stop>\n <PlDropdown\n v-model=\"settings.pointsValues\"\n label=\"Point value\"\n :options=\"POINT_OPTIONS\"\n />\n </div>\n <div class=\"input-item\" @click.stop>\n <PlDropdown\n v-model=\"settings.interval\"\n label=\"Interval\"\n :options=\"ERROR_OPTIONS\"\n />\n </div>\n <Slider\n v-model=\"opacity\"\n label=\"Opacity\"\n :min=\"0\"\n :max=\"100\"\n :step=\"1\"\n :breakpoints=\"false\"\n measure=\"%\"\n />\n</template>\n"],"names":["layer","store","useStore","settings","computed","optionsState","lineColor","useDefaultAes","DEFAULT_BLACK","dotFill","onUpdate","value","colorOption","field","onUpdateDot","ERROR_OPTIONS","POINT_OPTIONS","opacity","newValue","_createVNode","AesSelector","_cache","v","c","_createElementVNode","_unref","PlDropdown","$event","Slider"],"mappings":"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"}
@@ -42,14 +42,14 @@ const U = { class: "checkbox-item" }, s = "jitteredDots", h = /* @__PURE__ */ S(
42
42
  onAesUpdate: e[1] || (e[1] = (t, n) => y(t, n, "dotShape"))
43
43
  }, null, 8, ["selected"]),
44
44
  r(p(k), {
45
+ modelValue: u.value,
46
+ "onUpdate:modelValue": e[2] || (e[2] = (t) => u.value = t),
45
47
  label: "Opacity",
46
48
  min: 0,
47
49
  max: 100,
48
50
  step: 1,
49
51
  breakpoints: !1,
50
- measure: "%",
51
- modelValue: u.value,
52
- "onUpdate:modelValue": e[2] || (e[2] = (t) => u.value = t)
52
+ measure: "%"
53
53
  }, null, 8, ["modelValue"]),
54
54
  d("div", U, [
55
55
  r(p(A), {
@@ -1 +1 @@
1
- {"version":3,"file":"JitteredDots.vue.js","sources":["../../../../../src/forms/LayersForm/Layer/discrete/JitteredDots.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../../../store';\nimport {Slider, PlCheckbox} from \"@platforma-sdk/ui-vue\";\nimport { computed } from \"vue\";\nimport type {AesOption, DotShape} from '../../../../components/AesSettings/types';\nimport type { AestheticMappingCategorical } from '../../../../dataBindAes';\nimport {\n useDefaultAes,\n} from './utils';\nimport { DiscreteUIState } from \"@milaboratories/pf-plots\";\nimport {DEFAULT_BLACK} from '../../../../constantsAesthetic';\nimport AesSelector from '../../AesSelector.vue';\n\nconst store = useStore();\nconst layer = \"jitteredDots\";\nconst settings = computed(() => store.value.reactive.layersSettings[layer]);\nconst optionsState = computed(\n () => store.value.reactive.optionsState as DiscreteUIState,\n);\n\nconst dotFill = computed(() =>\n useDefaultAes(settings.value.dotFill, optionsState.value, DEFAULT_BLACK),\n);\n\nfunction onUpdate(\n value: string | AestheticMappingCategorical,\n colorOption: AesOption,\n field: \"dotFill\",\n) {\n if (colorOption.type === 'dataCategorical') {\n store.value.reactive.layersSettings[layer][field] = { type: colorOption.inputName };\n } else {\n store.value.reactive.layersSettings[layer][field] = value;\n }\n if (colorOption.type === \"dataCategorical\" && typeof value !== \"string\") {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\nfunction onUpdateDot(\n value: DotShape | AestheticMappingCategorical,\n colorOption: AesOption,\n field: \"dotShape\",\n) {\n if (colorOption.type === 'dataCategorical') {\n store.value.reactive.layersSettings[layer][field] = { type: colorOption.inputName };\n } else {\n store.value.reactive.layersSettings[layer][field] = value;\n }\n if (colorOption.type === \"dataCategorical\" && typeof value === \"object\") {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\nconst opacity = computed({\n get: () => settings.value.opacity * 100,\n set: (newValue: number) => {\n settings.value.opacity = newValue / 100;\n }\n})\n</script>\n\n<template>\n <aes-selector\n label=\"Fill color\"\n form-title=\"Fill Color Settings\"\n form-back-title=\"Layers\"\n type=\"fill\"\n :selected=\"dotFill\"\n @aes-update=\"(v, c) => onUpdate(v, c, 'dotFill')\"\n />\n <aes-selector\n label=\"Dot shape\"\n form-title=\"Dot Shape Settings\"\n form-back-title=\"Layers\"\n type=\"dotShape\"\n :selected=\"settings.dotShape\"\n @aes-update=\"(v, c) => onUpdateDot(v, c, 'dotShape')\"\n />\n <Slider\n label=\"Opacity\"\n :min=\"0\"\n :max=\"100\"\n :step=\"1\"\n :breakpoints=\"false\"\n measure=\"%\"\n v-model=\"opacity\"\n />\n <div class=\"checkbox-item\">\n <pl-checkbox v-model=\"settings.showOutliers\" />\n <span>Show outliers</span>\n </div>\n</template>\n"],"names":["layer","store","useStore","settings","computed","optionsState","dotFill","useDefaultAes","DEFAULT_BLACK","onUpdate","value","colorOption","field","onUpdateDot","opacity","newValue","_createVNode","AesSelector","_cache","v","c","_unref","Slider","$event","_createElementVNode","_hoisted_1","PlCheckbox"],"mappings":";;;;;;sCAcMA,IAAQ;;;AADd,UAAMC,IAAQC,EAAA,GAERC,IAAWC,EAAS,MAAMH,EAAM,MAAM,SAAS,eAAeD,CAAK,CAAC,GACpEK,IAAeD;AAAA,MACnB,MAAMH,EAAM,MAAM,SAAS;AAAA,IAAA,GAGvBK,IAAUF;AAAA,MAAS,MACvBG,EAAcJ,EAAS,MAAM,SAASE,EAAa,OAAOG,CAAa;AAAA,IAAA;AAGzE,aAASC,EACPC,GACAC,GACAC,GACA;AACA,MAAID,EAAY,SAAS,oBACvBV,EAAM,MAAM,SAAS,eAAeD,CAAK,EAAEY,CAAK,IAAI,EAAE,MAAMD,EAAY,UAAA,IAExEV,EAAM,MAAM,SAAS,eAAeD,CAAK,EAAEY,CAAK,IAAIF,GAElDC,EAAY,SAAS,qBAAqB,OAAOD,KAAU,aAC7DT,EAAM,MAAM,SAAS,YAAYU,EAAY,cAAc,IAAID;AAAA,IAEnE;AACA,aAASG,EACLH,GACAC,GACAC,GACF;AACA,MAAID,EAAY,SAAS,oBACvBV,EAAM,MAAM,SAAS,eAAeD,CAAK,EAAEY,CAAK,IAAI,EAAE,MAAMD,EAAY,UAAA,IAExEV,EAAM,MAAM,SAAS,eAAeD,CAAK,EAAEY,CAAK,IAAIF,GAElDC,EAAY,SAAS,qBAAqB,OAAOD,KAAU,aAC7DT,EAAM,MAAM,SAAS,YAAYU,EAAY,cAAc,IAAID;AAAA,IAEnE;AACA,UAAMI,IAAUV,EAAS;AAAA,MACvB,KAAK,MAAMD,EAAS,MAAM,UAAU;AAAA,MACpC,KAAK,CAACY,MAAqB;AACzB,QAAAZ,EAAS,MAAM,UAAUY,IAAW;AAAA,MACtC;AAAA,IAAA,CACD;;MAICC,EAOEC,GAAA;AAAA,QANE,OAAM;AAAA,QACN,cAAW;AAAA,QACX,mBAAgB;AAAA,QAChB,MAAK;AAAA,QACJ,UAAUX,EAAA;AAAA,QACV,aAAUY,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,GAAGC,MAAMX,EAASU,GAAGC,GAAC,SAAA;AAAA,MAAA;MAExCJ,EAOEC,GAAA;AAAA,QANE,OAAM;AAAA,QACN,cAAW;AAAA,QACX,mBAAgB;AAAA,QAChB,MAAK;AAAA,QACJ,UAAUd,EAAA,MAAS;AAAA,QACnB,aAAUe,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,GAAGC,MAAMP,EAAYM,GAAGC,GAAC,UAAA;AAAA,MAAA;MAE3CJ,EAQEK,EAAAC,CAAA,GAAA;AAAA,QAPE,OAAM;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,QACN,aAAa;AAAA,QACd,SAAQ;AAAA,oBACCR,EAAA;AAAA,sDAAAA,EAAO,QAAAS;AAAA,MAAA;MAEpBC,EAGM,OAHNC,GAGM;AAAA,QAFJT,EAA+CK,EAAAK,CAAA,GAAA;AAAA,UAAzB,YAAAvB,EAAA,MAAS;AAAA,UAAT,uBAAAe,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAK,MAAApB,EAAA,MAAS,eAAYoB;AAAA,QAAA;QAC3CL,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAM,EAA0B,cAApB,iBAAa,EAAA;AAAA,MAAA;;;;"}
1
+ {"version":3,"file":"JitteredDots.vue.js","sources":["../../../../../src/forms/LayersForm/Layer/discrete/JitteredDots.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useStore } from '../../../../store';\nimport { Slider, PlCheckbox } from '@platforma-sdk/ui-vue';\nimport { computed } from 'vue';\nimport type { AesOption, DotShape } from '../../../../components/AesSettings/types';\nimport type { AestheticMappingCategorical } from '../../../../dataBindAes';\nimport {\n useDefaultAes,\n} from './utils';\nimport type { DiscreteUIState } from '@milaboratories/pf-plots';\nimport { DEFAULT_BLACK } from '../../../../constantsAesthetic';\nimport AesSelector from '../../AesSelector.vue';\n\nconst store = useStore();\nconst layer = 'jitteredDots';\nconst settings = computed(() => store.value.reactive.layersSettings[layer]);\nconst optionsState = computed(\n () => store.value.reactive.optionsState as DiscreteUIState,\n);\n\nconst dotFill = computed(() =>\n useDefaultAes(settings.value.dotFill, optionsState.value, DEFAULT_BLACK),\n);\n\nfunction onUpdate(\n value: string | AestheticMappingCategorical,\n colorOption: AesOption,\n field: 'dotFill',\n) {\n if (colorOption.type === 'dataCategorical') {\n store.value.reactive.layersSettings[layer][field] = { type: colorOption.inputName };\n } else {\n store.value.reactive.layersSettings[layer][field] = value;\n }\n if (colorOption.type === 'dataCategorical' && typeof value !== 'string') {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\nfunction onUpdateDot(\n value: DotShape | AestheticMappingCategorical,\n colorOption: AesOption,\n field: 'dotShape',\n) {\n if (colorOption.type === 'dataCategorical') {\n store.value.reactive.layersSettings[layer][field] = { type: colorOption.inputName };\n } else {\n store.value.reactive.layersSettings[layer][field] = value;\n }\n if (colorOption.type === 'dataCategorical' && typeof value === 'object') {\n store.value.reactive.dataBindAes[colorOption.selectedSource] = value;\n }\n}\nconst opacity = computed({\n get: () => settings.value.opacity * 100,\n set: (newValue: number) => {\n settings.value.opacity = newValue / 100;\n },\n});\n</script>\n\n<template>\n <AesSelector\n label=\"Fill color\"\n form-title=\"Fill Color Settings\"\n form-back-title=\"Layers\"\n type=\"fill\"\n :selected=\"dotFill\"\n @aes-update=\"(v, c) => onUpdate(v, c, 'dotFill')\"\n />\n <AesSelector\n label=\"Dot shape\"\n form-title=\"Dot Shape Settings\"\n form-back-title=\"Layers\"\n type=\"dotShape\"\n :selected=\"settings.dotShape\"\n @aes-update=\"(v, c) => onUpdateDot(v, c, 'dotShape')\"\n />\n <Slider\n v-model=\"opacity\"\n label=\"Opacity\"\n :min=\"0\"\n :max=\"100\"\n :step=\"1\"\n :breakpoints=\"false\"\n measure=\"%\"\n />\n <div class=\"checkbox-item\">\n <PlCheckbox v-model=\"settings.showOutliers\" />\n <span>Show outliers</span>\n </div>\n</template>\n"],"names":["layer","store","useStore","settings","computed","optionsState","dotFill","useDefaultAes","DEFAULT_BLACK","onUpdate","value","colorOption","field","onUpdateDot","opacity","newValue","_createVNode","AesSelector","_cache","v","c","_unref","Slider","$event","_createElementVNode","_hoisted_1","PlCheckbox"],"mappings":";;;;;;sCAcMA,IAAQ;;;AADd,UAAMC,IAAQC,EAAA,GAERC,IAAWC,EAAS,MAAMH,EAAM,MAAM,SAAS,eAAeD,CAAK,CAAC,GACpEK,IAAeD;AAAA,MACnB,MAAMH,EAAM,MAAM,SAAS;AAAA,IAAA,GAGvBK,IAAUF;AAAA,MAAS,MACvBG,EAAcJ,EAAS,MAAM,SAASE,EAAa,OAAOG,CAAa;AAAA,IAAA;AAGzE,aAASC,EACPC,GACAC,GACAC,GACA;AACA,MAAID,EAAY,SAAS,oBACvBV,EAAM,MAAM,SAAS,eAAeD,CAAK,EAAEY,CAAK,IAAI,EAAE,MAAMD,EAAY,UAAA,IAExEV,EAAM,MAAM,SAAS,eAAeD,CAAK,EAAEY,CAAK,IAAIF,GAElDC,EAAY,SAAS,qBAAqB,OAAOD,KAAU,aAC7DT,EAAM,MAAM,SAAS,YAAYU,EAAY,cAAc,IAAID;AAAA,IAEnE;AACA,aAASG,EACPH,GACAC,GACAC,GACA;AACA,MAAID,EAAY,SAAS,oBACvBV,EAAM,MAAM,SAAS,eAAeD,CAAK,EAAEY,CAAK,IAAI,EAAE,MAAMD,EAAY,UAAA,IAExEV,EAAM,MAAM,SAAS,eAAeD,CAAK,EAAEY,CAAK,IAAIF,GAElDC,EAAY,SAAS,qBAAqB,OAAOD,KAAU,aAC7DT,EAAM,MAAM,SAAS,YAAYU,EAAY,cAAc,IAAID;AAAA,IAEnE;AACA,UAAMI,IAAUV,EAAS;AAAA,MACvB,KAAK,MAAMD,EAAS,MAAM,UAAU;AAAA,MACpC,KAAK,CAACY,MAAqB;AACzB,QAAAZ,EAAS,MAAM,UAAUY,IAAW;AAAA,MACtC;AAAA,IAAA,CACD;;MAICC,EAOEC,GAAA;AAAA,QANA,OAAM;AAAA,QACN,cAAW;AAAA,QACX,mBAAgB;AAAA,QAChB,MAAK;AAAA,QACJ,UAAUX,EAAA;AAAA,QACV,aAAUY,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,GAAGC,MAAMX,EAASU,GAAGC,GAAC,SAAA;AAAA,MAAA;MAEtCJ,EAOEC,GAAA;AAAA,QANA,OAAM;AAAA,QACN,cAAW;AAAA,QACX,mBAAgB;AAAA,QAChB,MAAK;AAAA,QACJ,UAAUd,EAAA,MAAS;AAAA,QACnB,aAAUe,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,GAAGC,MAAMP,EAAYM,GAAGC,GAAC,UAAA;AAAA,MAAA;MAEzCJ,EAQEK,EAAAC,CAAA,GAAA;AAAA,oBAPSR,EAAA;AAAA,sDAAAA,EAAO,QAAAS;AAAA,QAChB,OAAM;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,QACN,aAAa;AAAA,QACd,SAAQ;AAAA,MAAA;MAEVC,EAGM,OAHNC,GAGM;AAAA,QAFJT,EAA8CK,EAAAK,CAAA,GAAA;AAAA,UAAzB,YAAAvB,EAAA,MAAS;AAAA,UAAT,uBAAAe,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAK,MAAApB,EAAA,MAAS,eAAYoB;AAAA,QAAA;QAC1CL,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAM,EAA0B,cAApB,iBAAa,EAAA;AAAA,MAAA;;;;"}