@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,21 @@
1
1
  export type AesButtonProps = {
2
2
  data: {
3
- type: "stroke";
3
+ type: 'stroke';
4
4
  value: string;
5
5
  } | {
6
- type: "fill";
6
+ type: 'fill';
7
7
  value: string;
8
8
  } | {
9
- type: "lineType";
9
+ type: 'lineType';
10
10
  value: string;
11
11
  } | {
12
- type: "dotShape";
12
+ type: 'dotShape';
13
13
  value: string;
14
14
  } | {
15
- type: "size";
15
+ type: 'size';
16
16
  value: number;
17
17
  } | {
18
- type: "data";
18
+ type: 'data';
19
19
  value: null;
20
20
  };
21
21
  };
@@ -16,8 +16,8 @@ const b = {
16
16
  icon__empty: i && t.data.value.toLowerCase() === "transparent"
17
17
  })), r = s(() => t.data.type === "fill" ? { "background-color": t.data.value } : t.data.type === "stroke" && !l.value.icon__empty && !l.value.icon__white ? { "border-color": t.data.value } : {});
18
18
  return (u, w) => (a(), o("div", {
19
- class: "ui-aes-button",
20
- ref: (d) => u.$emit("ref", d)
19
+ ref: (d) => u.$emit("ref", d),
20
+ class: "ui-aes-button"
21
21
  }, [
22
22
  m(C, { class: "ui-multiselect-button__contour" }),
23
23
  e.data.type === "fill" ? (a(), o("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"AesButton.vue.js","sources":["../../src/components/AesButton.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from \"vue\";\nimport ColorsIcon from \"../icons/ColorsIcon.vue\";\nimport DoubleContour from \"./DoubleContourTemp.vue\";\n\nexport type AesButtonProps = {data: {\n type: \"stroke\";\n value: string;\n}\n | {\n type: \"fill\";\n value: string;\n}\n | {\n type: \"lineType\";\n value: string;\n}\n | {\n type: \"dotShape\";\n value: string;\n}\n | {\n type: \"size\";\n value: number;\n}\n | {\n type: \"data\";\n value: null;\n}}\nconst emit = defineEmits([\"ref\"]);\nconst props = defineProps<AesButtonProps>();\n\nconst isColor = props.data.type === \"fill\" || props.data.type === \"stroke\";\n\nconst strokeOrFillClass = computed(() => ({\n icon__white: isColor && props.data.value.toLowerCase() === \"#ffffff\",\n icon__empty: isColor && props.data.value.toLowerCase() === \"transparent\",\n}));\nconst strokeOrFillStyle = computed(() => {\n if (props.data.type === \"fill\") {\n return { [\"background-color\"]: props.data.value };\n }\n if (\n props.data.type === \"stroke\" &&\n !strokeOrFillClass.value.icon__empty &&\n !strokeOrFillClass.value.icon__white\n ) {\n return { [\"border-color\"]: props.data.value };\n }\n return {};\n});\n</script>\n\n<template>\n <div class=\"ui-aes-button\" :ref=\"(el) => $emit('ref', el)\">\n <double-contour class=\"ui-multiselect-button__contour\" />\n <div\n v-if=\"data.type === 'fill'\"\n class=\"icon icon__fill\"\n :class=\"strokeOrFillClass\"\n :style=\"strokeOrFillStyle\"\n />\n <div\n v-else-if=\"data.type === 'stroke'\"\n class=\"icon icon__stroke\"\n :class=\"strokeOrFillClass\"\n :style=\"strokeOrFillStyle\"\n />\n <div\n v-else-if=\"data.type === 'dotShape'\"\n class=\"icon dot\"\n :class=\"{ [`dot__${data.value}`]: true}\"\n />\n <div\n v-else-if=\"data.type === 'lineType'\"\n class=\"icon icon__line\"\n :class=\"{ [`line__${data.value}`]: true}\"\n />\n <span v-else-if=\"data.type === 'size'\" class=\"size\">{{ data.value }}</span>\n <component v-else-if=\"data.type === 'data'\" class=\"icon\" :is=\"ColorsIcon\" />\n </div>\n</template>\n"],"names":["props","__props","isColor","strokeOrFillClass","computed","strokeOrFillStyle","_createElementBlock","el","$emit","_createVNode","DoubleContour","_normalizeClass","_openBlock","_hoisted_1","_toDisplayString","_createBlock","_resolveDynamicComponent","ColorsIcon"],"mappings":";;;;;;;;;;;;;AA8BA,UAAMA,IAAQC,GAERC,IAAUF,EAAM,KAAK,SAAS,UAAUA,EAAM,KAAK,SAAS,UAE5DG,IAAoBC,EAAS,OAAO;AAAA,MACxC,aAAaF,KAAWF,EAAM,KAAK,MAAM,kBAAkB;AAAA,MAC3D,aAAaE,KAAWF,EAAM,KAAK,MAAM,kBAAkB;AAAA,IAAA,EAC3D,GACIK,IAAoBD,EAAS,MAC7BJ,EAAM,KAAK,SAAS,SACf,EAAG,oBAAqBA,EAAM,KAAK,MAAA,IAG1CA,EAAM,KAAK,SAAS,YACpB,CAACG,EAAkB,MAAM,eACzB,CAACA,EAAkB,MAAM,cAElB,EAAG,gBAAiBH,EAAM,KAAK,MAAA,IAEjC,CAAA,CACR;2BAICM,EA0BM,OAAA;AAAA,MA1BD,OAAM;AAAA,MAAiB,KAAG,CAAGC,MAAOC,EAAAA,aAAaD,CAAE;AAAA,IAAA;MACtDE,EAAyDC,GAAA,EAAzC,OAAM,kCAAgC;AAAA,MAE9CT,EAAA,KAAK,SAAI,eADjBK,EAKE,OAAA;AAAA;QAHA,OAAKK,EAAA,CAAC,mBACER,EAAA,KAAiB,CAAA;AAAA,QACxB,SAAOE,EAAA,KAAiB;AAAA,MAAA,eAGdJ,EAAA,KAAK,SAAI,iBADtBK,EAKE,OAAA;AAAA;QAHA,OAAKK,EAAA,CAAC,qBACER,EAAA,KAAiB,CAAA;AAAA,QACxB,SAAOE,EAAA,KAAiB;AAAA,MAAA,eAGdJ,EAAA,KAAK,SAAI,mBADtBK,EAIE,OAAA;AAAA;QAFA,OAAKK,EAAA,CAAC,YAAU,EAAA,CAAA,QACGV,EAAA,KAAK,KAAK,EAAA,GAAA,GAAA,CAAA,CAAA;AAAA,MAAA,eAGlBA,EAAA,KAAK,SAAI,mBADtBK,EAIE,OAAA;AAAA;QAFA,OAAKK,EAAA,CAAC,mBAAiB,EAAA,CAAA,SACHV,EAAA,KAAK,KAAK,EAAA,GAAA,GAAA,CAAA,CAAA;AAAA,MAAA,eAEfA,EAAA,KAAK,SAAI,UAA1BW,EAAA,GAAAN,EAA2E,QAA3EO,GAA2EC,EAApBb,EAAA,KAAK,KAAK,GAAA,CAAA,KAC3CA,EAAA,KAAK,SAAI,UAA/BW,EAAA,GAAAG,EAA4EC,EAAdC,CAAU,GAAA;AAAA;QAA5B,OAAM;AAAA,MAAA;;;;"}
1
+ {"version":3,"file":"AesButton.vue.js","sources":["../../src/components/AesButton.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed } from 'vue';\nimport ColorsIcon from '../icons/ColorsIcon.vue';\nimport DoubleContour from './DoubleContourTemp.vue';\n\nexport type AesButtonProps = { data: {\n type: 'stroke';\n value: string;\n}\n| {\n type: 'fill';\n value: string;\n}\n| {\n type: 'lineType';\n value: string;\n}\n| {\n type: 'dotShape';\n value: string;\n}\n| {\n type: 'size';\n value: number;\n}\n| {\n type: 'data';\n value: null;\n}; };\nconst _emit = defineEmits(['ref']);\nconst props = defineProps<AesButtonProps>();\n\nconst isColor = props.data.type === 'fill' || props.data.type === 'stroke';\n\nconst strokeOrFillClass = computed(() => ({\n icon__white: isColor && props.data.value.toLowerCase() === '#ffffff',\n icon__empty: isColor && props.data.value.toLowerCase() === 'transparent',\n}));\nconst strokeOrFillStyle = computed(() => {\n if (props.data.type === 'fill') {\n return { ['background-color']: props.data.value };\n }\n if (\n props.data.type === 'stroke'\n && !strokeOrFillClass.value.icon__empty\n && !strokeOrFillClass.value.icon__white\n ) {\n return { ['border-color']: props.data.value };\n }\n return {};\n});\n</script>\n\n<template>\n <div :ref=\"(el) => $emit('ref', el)\" class=\"ui-aes-button\">\n <DoubleContour class=\"ui-multiselect-button__contour\" />\n <div\n v-if=\"data.type === 'fill'\"\n class=\"icon icon__fill\"\n :class=\"strokeOrFillClass\"\n :style=\"strokeOrFillStyle\"\n />\n <div\n v-else-if=\"data.type === 'stroke'\"\n class=\"icon icon__stroke\"\n :class=\"strokeOrFillClass\"\n :style=\"strokeOrFillStyle\"\n />\n <div\n v-else-if=\"data.type === 'dotShape'\"\n class=\"icon dot\"\n :class=\"{ [`dot__${data.value}`]: true}\"\n />\n <div\n v-else-if=\"data.type === 'lineType'\"\n class=\"icon icon__line\"\n :class=\"{ [`line__${data.value}`]: true}\"\n />\n <span v-else-if=\"data.type === 'size'\" class=\"size\">{{ data.value }}</span>\n <component :is=\"ColorsIcon\" v-else-if=\"data.type === 'data'\" class=\"icon\" />\n </div>\n</template>\n"],"names":["props","__props","isColor","strokeOrFillClass","computed","strokeOrFillStyle","_createElementBlock","el","$emit","_createVNode","DoubleContour","_normalizeClass","_openBlock","_hoisted_1","_toDisplayString","_createBlock","_resolveDynamicComponent","ColorsIcon"],"mappings":";;;;;;;;;;;;;AA8BA,UAAMA,IAAQC,GAERC,IAAUF,EAAM,KAAK,SAAS,UAAUA,EAAM,KAAK,SAAS,UAE5DG,IAAoBC,EAAS,OAAO;AAAA,MACxC,aAAaF,KAAWF,EAAM,KAAK,MAAM,kBAAkB;AAAA,MAC3D,aAAaE,KAAWF,EAAM,KAAK,MAAM,kBAAkB;AAAA,IAAA,EAC3D,GACIK,IAAoBD,EAAS,MAC7BJ,EAAM,KAAK,SAAS,SACf,EAAG,oBAAqBA,EAAM,KAAK,MAAA,IAG1CA,EAAM,KAAK,SAAS,YACjB,CAACG,EAAkB,MAAM,eACzB,CAACA,EAAkB,MAAM,cAErB,EAAG,gBAAiBH,EAAM,KAAK,MAAA,IAEjC,CAAA,CACR;2BAICM,EA0BM,OAAA;AAAA,MA1BA,KAAG,CAAGC,MAAOC,EAAAA,aAAaD,CAAE;AAAA,MAAG,OAAM;AAAA,IAAA;MACzCE,EAAwDC,GAAA,EAAzC,OAAM,kCAAgC;AAAA,MAE7CT,EAAA,KAAK,SAAI,eADjBK,EAKE,OAAA;AAAA;QAHA,OAAKK,EAAA,CAAC,mBACER,EAAA,KAAiB,CAAA;AAAA,QACxB,SAAOE,EAAA,KAAiB;AAAA,MAAA,eAGdJ,EAAA,KAAK,SAAI,iBADtBK,EAKE,OAAA;AAAA;QAHA,OAAKK,EAAA,CAAC,qBACER,EAAA,KAAiB,CAAA;AAAA,QACxB,SAAOE,EAAA,KAAiB;AAAA,MAAA,eAGdJ,EAAA,KAAK,SAAI,mBADtBK,EAIE,OAAA;AAAA;QAFA,OAAKK,EAAA,CAAC,YAAU,EAAA,CAAA,QACGV,EAAA,KAAK,KAAK,EAAA,GAAA,GAAA,CAAA,CAAA;AAAA,MAAA,eAGlBA,EAAA,KAAK,SAAI,mBADtBK,EAIE,OAAA;AAAA;QAFA,OAAKK,EAAA,CAAC,mBAAiB,EAAA,CAAA,SACHV,EAAA,KAAK,KAAK,EAAA,GAAA,GAAA,CAAA,CAAA;AAAA,MAAA,eAEfA,EAAA,KAAK,SAAI,UAA1BW,EAAA,GAAAN,EAA2E,QAA3EO,GAA2EC,EAApBb,EAAA,KAAK,KAAK,GAAA,CAAA,KAC1BA,EAAA,KAAK,SAAI,UAAhDW,EAAA,GAAAG,EAA4EC,EAA5DC,CAAU,GAAA;AAAA;QAAmC,OAAM;AAAA,MAAA;;;;"}
@@ -67,43 +67,43 @@ const F = { class: "aes-mapping-block" }, G = { style: { margin: "0 24px" } }, D
67
67
  ]),
68
68
  n("div", W, [
69
69
  s(m(k), {
70
- options: L,
71
70
  modelValue: g.value,
72
- "onUpdate:modelValue": a[1] || (a[1] = (t) => g.value = t)
71
+ "onUpdate:modelValue": a[1] || (a[1] = (t) => g.value = t),
72
+ options: L
73
73
  }, null, 8, ["modelValue"])
74
74
  ]),
75
75
  n("div", j, [
76
76
  s(m(k), {
77
- label: "Gradient range",
78
- options: B,
79
77
  modelValue: d.value,
80
- "onUpdate:modelValue": a[2] || (a[2] = (t) => d.value = t)
78
+ "onUpdate:modelValue": a[2] || (a[2] = (t) => d.value = t),
79
+ label: "Gradient range",
80
+ options: B
81
81
  }, null, 8, ["modelValue"])
82
82
  ]),
83
83
  n("div", q, [
84
84
  d.value === "custom" ? (c(), O(m(C), {
85
85
  key: 0,
86
+ modelValue: V.value,
87
+ "onUpdate:modelValue": a[3] || (a[3] = (t) => V.value = t),
86
88
  label: "From",
87
89
  updateOnEnterOrClickOutside: !0,
88
- useIncrementButtons: !1,
89
- modelValue: V.value,
90
- "onUpdate:modelValue": a[3] || (a[3] = (t) => V.value = t)
90
+ useIncrementButtons: !1
91
91
  }, null, 8, ["modelValue"])) : x("", !0),
92
92
  s(m(C), {
93
+ modelValue: f.value,
94
+ "onUpdate:modelValue": a[4] || (a[4] = (t) => f.value = t),
93
95
  label: "Mid point",
94
96
  updateOnEnterOrClickOutside: !0,
95
97
  useIncrementButtons: !1,
96
- style: { flexGrow: 1, maxWidth: "50%" },
97
- modelValue: f.value,
98
- "onUpdate:modelValue": a[4] || (a[4] = (t) => f.value = t)
98
+ style: { flexGrow: 1, maxWidth: "50%" }
99
99
  }, null, 8, ["modelValue"]),
100
100
  d.value === "custom" ? (c(), O(m(C), {
101
101
  key: 1,
102
+ modelValue: v.value,
103
+ "onUpdate:modelValue": a[5] || (a[5] = (t) => v.value = t),
102
104
  label: "To",
103
105
  updateOnEnterOrClickOutside: !0,
104
- useIncrementButtons: !1,
105
- modelValue: v.value,
106
- "onUpdate:modelValue": a[5] || (a[5] = (t) => v.value = t)
106
+ useIncrementButtons: !1
107
107
  }, null, 8, ["modelValue"])) : x("", !0)
108
108
  ]),
109
109
  r.value ? (c(), O(U, {
@@ -1 +1 @@
1
- {"version":3,"file":"AesDataMappingContinuous.vue.js","sources":["../../../src/components/AesSettings/AesDataMappingContinuous.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlBtnGroup, PlNumberField } from '@platforma-sdk/ui-vue';\nimport { ref, watch } from 'vue';\nimport { ContinuousPalette, Palette } from './types';\nimport { PALETTE_MAP } from '../../constantsAesthetic';\nimport { AestheticMappingContinuous, createContinuousMappingFromPalette } from '../../dataBindAes';\nimport FormWrapper from './FormWrapper.vue';\nimport PalettesForm from './PalettesForm.vue';\nimport MultiselectButton from '../MultiselectButton.vue';\n\nconst props = defineProps<{\n dataColumnLabel: string;\n modelValue: AestheticMappingContinuous;\n}>();\n\nconst emit = defineEmits(['update:modelValue']);\n\nconst palettesOpen = ref(false);\nconst palette = ref<Palette>(props.modelValue.palette);\n\nfunction onPaletteSelect(value: Palette) {\n palette.value = value;\n palettesOpen.value = false;\n emit(\n 'update:modelValue',\n createContinuousMappingFromPalette(value as ContinuousPalette)\n );\n}\n\nconst MODE_OPTIONS = [{ value: 'auto', label: 'Auto' }, { value: 'custom', label: 'Custom' }];\nconst mode = ref<'auto' | 'custom'>(props.modelValue.range ? 'custom' : 'auto');\n\nconst LOG_LINEAR_OPTIONS = [{ value: 'linear', label: 'Linear' }, { value: 'log', label: 'Log' }];\nconst logOrLinear = ref<'linear' | 'log'>(props.modelValue.log ? 'log' : 'linear');\n\nconst lowerValue = ref<number | undefined>(props.modelValue.range?.minValue ?? undefined);\nconst upperValue = ref<number | undefined>(props.modelValue.range?.maxValue ?? undefined);\n\nconst midPoint = ref<number | undefined>(props.modelValue.midPoint ?? undefined);\n\nwatch(() => mode.value, (v) => {\n if (v === 'custom') {\n emit(\n 'update:modelValue',\n { ...props.modelValue, range: { minValue: lowerValue.value ?? null, maxValue: upperValue.value ?? null } }\n );\n }\n if (v === 'auto') {\n emit(\n 'update:modelValue',\n { ...props.modelValue, range: null }\n );\n }\n});\nwatch(() => lowerValue.value, (v) => {\n emit(\n 'update:modelValue',\n { ...props.modelValue, range: { ...props.modelValue.range, minValue: v } }\n );\n});\nwatch(() => upperValue.value, (v) => {\n emit(\n 'update:modelValue',\n { ...props.modelValue, range: { ...props.modelValue.range, maxValue: v } }\n );\n});\nwatch(() => midPoint.value, (v) => {\n emit(\n 'update:modelValue',\n { ...props.modelValue, midPoint: v ?? null }\n );\n});\nwatch(() => logOrLinear.value, (v) => {\n emit(\n 'update:modelValue',\n { ...props.modelValue, log: v === 'log' }\n );\n});\n\n</script>\n\n<template>\n <div class=\"aes-mapping-block\">\n <div style=\"margin: 0 24px\">\n <div class=\"section-title\">\n <span>{{ dataColumnLabel }}</span>\n </div>\n <div style=\"margin: 24px 0\">\n <multiselect-button\n label=\"Color Palette \"\n :title=\"PALETTE_MAP[palette].title\"\n :palette=\"palette\"\n @button-click=\"palettesOpen = true;\"\n />\n </div>\n <div style=\"margin: 24px 0\">\n <pl-btn-group\n :options=\"LOG_LINEAR_OPTIONS\"\n v-model=\"logOrLinear\"\n />\n </div>\n <div style=\"margin: 24px 0\">\n <pl-btn-group\n label=\"Gradient range\"\n :options=\"MODE_OPTIONS\"\n v-model=\"mode\"\n />\n </div>\n <div :style=\"{display: 'flex', marginTop: '16px', gap: '8px'}\">\n <pl-number-field\n v-if=\"mode === 'custom'\"\n label=\"From\"\n :updateOnEnterOrClickOutside=\"true\"\n :useIncrementButtons=\"false\"\n v-model=\"lowerValue\"\n />\n <pl-number-field\n label=\"Mid point\"\n :updateOnEnterOrClickOutside=\"true\"\n :useIncrementButtons=\"false\"\n :style=\"{flexGrow: 1, maxWidth: '50%'}\"\n v-model=\"midPoint\"\n />\n <pl-number-field\n v-if=\"mode === 'custom'\"\n label=\"To\"\n :updateOnEnterOrClickOutside=\"true\"\n :useIncrementButtons=\"false\"\n v-model=\"upperValue\"\n />\n </div>\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>\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","palettesOpen","ref","palette","onPaletteSelect","value","createContinuousMappingFromPalette","MODE_OPTIONS","mode","LOG_LINEAR_OPTIONS","logOrLinear","lowerValue","_a","upperValue","_b","midPoint","watch","v","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","_hoisted_4","_createVNode","MultiselectButton","_unref","PALETTE_MAP","_hoisted_5","PlBtnGroup","$event","_hoisted_6","_hoisted_7","_createBlock","PlNumberField","FormWrapper","PalettesForm"],"mappings":"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"}
1
+ {"version":3,"file":"AesDataMappingContinuous.vue.js","sources":["../../../src/components/AesSettings/AesDataMappingContinuous.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlBtnGroup, PlNumberField } from '@platforma-sdk/ui-vue';\nimport { ref, watch } from 'vue';\nimport type { ContinuousPalette, Palette } from './types';\nimport { PALETTE_MAP } from '../../constantsAesthetic';\nimport type { AestheticMappingContinuous } from '../../dataBindAes';\nimport { createContinuousMappingFromPalette } from '../../dataBindAes';\nimport FormWrapper from './FormWrapper.vue';\nimport PalettesForm from './PalettesForm.vue';\nimport MultiselectButton from '../MultiselectButton.vue';\n\nconst props = defineProps<{\n dataColumnLabel: string;\n modelValue: AestheticMappingContinuous;\n}>();\n\nconst emit = defineEmits(['update:modelValue']);\n\nconst palettesOpen = ref(false);\nconst palette = ref<Palette>(props.modelValue.palette);\n\nfunction onPaletteSelect(value: Palette) {\n palette.value = value;\n palettesOpen.value = false;\n emit(\n 'update:modelValue',\n createContinuousMappingFromPalette(value as ContinuousPalette),\n );\n}\n\nconst MODE_OPTIONS = [{ value: 'auto', label: 'Auto' }, { value: 'custom', label: 'Custom' }];\nconst mode = ref<'auto' | 'custom'>(props.modelValue.range ? 'custom' : 'auto');\n\nconst LOG_LINEAR_OPTIONS = [{ value: 'linear', label: 'Linear' }, { value: 'log', label: 'Log' }];\nconst logOrLinear = ref<'linear' | 'log'>(props.modelValue.log ? 'log' : 'linear');\n\nconst lowerValue = ref<number | undefined>(props.modelValue.range?.minValue ?? undefined);\nconst upperValue = ref<number | undefined>(props.modelValue.range?.maxValue ?? undefined);\n\nconst midPoint = ref<number | undefined>(props.modelValue.midPoint ?? undefined);\n\nwatch(() => mode.value, (v) => {\n if (v === 'custom') {\n emit(\n 'update:modelValue',\n { ...props.modelValue, range: { minValue: lowerValue.value ?? null, maxValue: upperValue.value ?? null } },\n );\n }\n if (v === 'auto') {\n emit(\n 'update:modelValue',\n { ...props.modelValue, range: null },\n );\n }\n});\nwatch(() => lowerValue.value, (v) => {\n emit(\n 'update:modelValue',\n { ...props.modelValue, range: { ...props.modelValue.range, minValue: v } },\n );\n});\nwatch(() => upperValue.value, (v) => {\n emit(\n 'update:modelValue',\n { ...props.modelValue, range: { ...props.modelValue.range, maxValue: v } },\n );\n});\nwatch(() => midPoint.value, (v) => {\n emit(\n 'update:modelValue',\n { ...props.modelValue, midPoint: v ?? null },\n );\n});\nwatch(() => logOrLinear.value, (v) => {\n emit(\n 'update:modelValue',\n { ...props.modelValue, log: v === 'log' },\n );\n});\n\n</script>\n\n<template>\n <div class=\"aes-mapping-block\">\n <div style=\"margin: 0 24px\">\n <div class=\"section-title\">\n <span>{{ dataColumnLabel }}</span>\n </div>\n <div style=\"margin: 24px 0\">\n <MultiselectButton\n label=\"Color Palette \"\n :title=\"PALETTE_MAP[palette].title\"\n :palette=\"palette\"\n @button-click=\"palettesOpen = true;\"\n />\n </div>\n <div style=\"margin: 24px 0\">\n <PlBtnGroup\n v-model=\"logOrLinear\"\n :options=\"LOG_LINEAR_OPTIONS\"\n />\n </div>\n <div style=\"margin: 24px 0\">\n <PlBtnGroup\n v-model=\"mode\"\n label=\"Gradient range\"\n :options=\"MODE_OPTIONS\"\n />\n </div>\n <div :style=\"{display: 'flex', marginTop: '16px', gap: '8px'}\">\n <PlNumberField\n v-if=\"mode === 'custom'\"\n v-model=\"lowerValue\"\n label=\"From\"\n :updateOnEnterOrClickOutside=\"true\"\n :useIncrementButtons=\"false\"\n />\n <PlNumberField\n v-model=\"midPoint\"\n label=\"Mid point\"\n :updateOnEnterOrClickOutside=\"true\"\n :useIncrementButtons=\"false\"\n :style=\"{flexGrow: 1, maxWidth: '50%'}\"\n />\n <PlNumberField\n v-if=\"mode === 'custom'\"\n v-model=\"upperValue\"\n label=\"To\"\n :updateOnEnterOrClickOutside=\"true\"\n :useIncrementButtons=\"false\"\n />\n </div>\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>\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","palettesOpen","ref","palette","onPaletteSelect","value","createContinuousMappingFromPalette","MODE_OPTIONS","mode","LOG_LINEAR_OPTIONS","logOrLinear","lowerValue","_a","upperValue","_b","midPoint","watch","v","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","_hoisted_4","_createVNode","MultiselectButton","_unref","PALETTE_MAP","_hoisted_5","PlBtnGroup","$event","_hoisted_6","_hoisted_7","_createBlock","PlNumberField","FormWrapper","PalettesForm"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { defineComponent as G, ref as g, computed as m, reactive as J, watch as Q, createElementBlock as p, openBlock as u, createElementVNode as r, createCommentVNode as s, createBlock as v, toDisplayString as M, createVNode as k, unref as S, withCtx as w, Fragment as Z, renderList as ee, normalizeClass as f, resolveDynamicComponent as le, withModifiers as x, normalizeStyle as oe } from "vue";
1
+ import { defineComponent as G, ref as g, computed as m, reactive as J, watch as Q, createElementBlock as p, openBlock as u, createElementVNode as r, createCommentVNode as s, createBlock as v, toDisplayString as M, createVNode as C, unref as S, withCtx as w, Fragment as Z, renderList as ee, normalizeClass as f, resolveDynamicComponent as le, withModifiers as x, normalizeStyle as oe } from "vue";
2
2
  import { useSortable as ae, PlTooltip as te, PlIcon24 as ne } from "@platforma-sdk/ui-vue";
3
3
  import { scaleLinear as ue } from "d3-scale";
4
4
  import { isCategorical as re, PALETTE_MAP as h, FIXED_LINE_TYPES as ie, FIXES_DOT_SHAPES as se, UNKNOWN_COLOR as N } from "../../constantsAesthetic.js";
@@ -13,7 +13,7 @@ import ge from "../MultiselectButton.vue.js";
13
13
  import Ve from "../PlColorSlider.vue.js";
14
14
  import he from "../Popup.vue.js";
15
15
  import ye from "../../icons/Reorder.vue.js";
16
- const Ce = { class: "aes-mapping-block" }, ke = { style: { margin: "0 24px" } }, Se = { class: "section-title" }, we = { style: { margin: "24px 0" } }, xe = {
16
+ const ke = { class: "aes-mapping-block" }, Ce = { style: { margin: "0 24px" } }, Se = { class: "section-title" }, we = { style: { margin: "24px 0" } }, xe = {
17
17
  key: 0,
18
18
  style: { margin: "24px 0" }
19
19
  }, $e = {
@@ -111,8 +111,8 @@ const Ce = { class: "aes-mapping-block" }, ke = { style: { margin: "0 24px" } },
111
111
  });
112
112
  }
113
113
  function b(l, a, e = 0, o = 1) {
114
- const _ = 1 / (l.length - 1), j = ue().domain(l.map((C, q) => e + q * _ * (o - e))).range(l);
115
- return (C) => C > o || C < e ? a : j(C);
114
+ const _ = 1 / (l.length - 1), j = ue().domain(l.map((k, q) => e + q * _ * (o - e))).range(l);
115
+ return (k) => k > o || k < e ? a : j(k);
116
116
  }
117
117
  const X = m(
118
118
  () => b(h[c.value].colors, N)
@@ -152,13 +152,13 @@ const Ce = { class: "aes-mapping-block" }, ke = { style: { margin: "0 24px" } },
152
152
  function Y(l) {
153
153
  n.value = "color", i.value = l.status ? t.modelValue.order[l.index] : null;
154
154
  }
155
- return (l, a) => (u(), p("div", Ce, [
156
- r("div", ke, [
155
+ return (l, a) => (u(), p("div", ke, [
156
+ r("div", Ce, [
157
157
  r("div", Se, [
158
158
  r("span", null, M(d.dataColumnLabel), 1)
159
159
  ]),
160
160
  r("div", we, [
161
- k(ge, {
161
+ C(ge, {
162
162
  label: "Color Palette ",
163
163
  icon: "chevron-right",
164
164
  title: S(h)[c.value].title,
@@ -169,7 +169,7 @@ const Ce = { class: "aes-mapping-block" }, ke = { style: { margin: "0 24px" } },
169
169
  }, null, 8, ["title", "palette"])
170
170
  ]),
171
171
  L.value ? s("", !0) : (u(), p("div", xe, [
172
- k(Ve, {
172
+ C(Ve, {
173
173
  modelValue: A.value,
174
174
  "onUpdate:modelValue": [
175
175
  a[1] || (a[1] = (e) => A.value = e),
@@ -188,7 +188,7 @@ const Ce = { class: "aes-mapping-block" }, ke = { style: { margin: "0 24px" } },
188
188
  "onForm:close": a[2] || (a[2] = (e) => y.value = !1)
189
189
  }, {
190
190
  default: w(() => [
191
- k(_e, {
191
+ C(_e, {
192
192
  selected: c.value,
193
193
  onSelect: D
194
194
  }, null, 8, ["selected"])
@@ -198,11 +198,12 @@ const Ce = { class: "aes-mapping-block" }, ke = { style: { margin: "0 24px" } },
198
198
  ]),
199
199
  d.allowReordering ? (u(), p("div", $e, " Drag the rows to reorder ")) : s("", !0),
200
200
  r("div", {
201
- class: "column-values-list",
202
201
  ref_key: "optionsListRef",
203
- ref: E
202
+ ref: E,
203
+ class: "column-values-list"
204
204
  }, [
205
205
  (u(!0), p(Z, null, ee(B.value, (e) => (u(), p("div", {
206
+ key: e.value,
206
207
  class: f(["column-value", { "column-value__with-reorder": d.allowReordering }])
207
208
  }, [
208
209
  d.allowReordering ? (u(), p("div", Te, [
@@ -222,11 +223,11 @@ const Ce = { class: "aes-mapping-block" }, ke = { style: { margin: "0 24px" } },
222
223
  var o;
223
224
  return [
224
225
  r("div", {
225
- onClick: x((_) => z(e), ["stop"]),
226
226
  style: { cursor: "pointer" },
227
- class: "column-value__aes"
227
+ class: "column-value__aes",
228
+ onClick: x((_) => z(e), ["stop"])
228
229
  }, [
229
- k(S(ne), {
230
+ C(S(ne), {
230
231
  name: (o = d.modelValue.hidden) != null && o[e.value] ? "view-hide" : "view-show"
231
232
  }, null, 8, ["name"])
232
233
  ], 8, Le)
@@ -236,11 +237,11 @@ const Ce = { class: "aes-mapping-block" }, ke = { style: { margin: "0 24px" } },
236
237
  }, 1024)) : s("", !0),
237
238
  d.usedAesInMapping.lineType ? (u(), p("div", {
238
239
  key: 1,
240
+ ref_for: !0,
241
+ ref: (o) => T("lineType", e, o),
239
242
  class: f(["column-value__aes", {
240
243
  aes__selected: i.value === e.value && n.value === "lineType"
241
244
  }]),
242
- ref_for: !0,
243
- ref: (o) => T("lineType", e, o),
244
245
  onClick: x((o) => I(e, "lineType"), ["stop"])
245
246
  }, [
246
247
  r("div", {
@@ -249,11 +250,11 @@ const Ce = { class: "aes-mapping-block" }, ke = { style: { margin: "0 24px" } },
249
250
  ], 10, Pe)) : s("", !0),
250
251
  d.usedAesInMapping.dotShape ? (u(), p("div", {
251
252
  key: 2,
253
+ ref_for: !0,
254
+ ref: (o) => T("dotShape", e, o),
252
255
  class: f(["column-value__aes", {
253
256
  aes__selected: i.value === e.value && n.value === "dotShape"
254
257
  }]),
255
- ref_for: !0,
256
- ref: (o) => T("dotShape", e, o),
257
258
  onClick: x((o) => I(e, "dotShape"), ["stop"])
258
259
  }, [
259
260
  r("div", {
@@ -262,11 +263,11 @@ const Ce = { class: "aes-mapping-block" }, ke = { style: { margin: "0 24px" } },
262
263
  ], 10, Re)) : s("", !0),
263
264
  d.usedAesInMapping.fill || d.usedAesInMapping.stroke ? (u(), p("div", {
264
265
  key: 3,
266
+ ref_for: !0,
267
+ ref: (o) => T("color", e, o),
265
268
  class: f(["column-value__aes", {
266
269
  aes__selected: i.value === e.value && n.value === "color"
267
270
  }]),
268
- ref_for: !0,
269
- ref: (o) => T("color", e, o),
270
271
  onClick: x((o) => I(e, "color"), ["stop"])
271
272
  }, [
272
273
  r("div", {
@@ -277,8 +278,8 @@ const Ce = { class: "aes-mapping-block" }, ke = { style: { margin: "0 24px" } },
277
278
  (n.value !== "color" || L.value) && n.value !== null && i.value === e.value ? (u(), v(he, {
278
279
  key: `${n.value}_${i.value}`,
279
280
  targetRef: P[n.value][i.value],
280
- "onPopup:close": R,
281
- height: H.value
281
+ height: H.value,
282
+ "onPopup:close": R
282
283
  }, {
283
284
  default: w(() => [
284
285
  r("div", {
@@ -286,35 +287,35 @@ const Ce = { class: "aes-mapping-block" }, ke = { style: { margin: "0 24px" } },
286
287
  }, [
287
288
  n.value === "lineType" ? (u(), v(ve, {
288
289
  key: 0,
290
+ modelValue: e.lineType,
289
291
  "onUpdate:modelValue": [
290
- (o) => $(e.value, "lineShape", o),
291
- (o) => e.lineType = o
292
- ],
293
- modelValue: e.lineType
294
- }, null, 8, ["onUpdate:modelValue", "modelValue"])) : s("", !0),
292
+ (o) => e.lineType = o,
293
+ (o) => $(e.value, "lineShape", o)
294
+ ]
295
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])) : s("", !0),
295
296
  n.value === "dotShape" ? (u(), v(me, {
296
297
  key: 1,
298
+ modelValue: e.dotShape,
297
299
  "onUpdate:modelValue": [
298
- (o) => $(e.value, "dotShape", o),
299
- (o) => e.dotShape = o
300
- ],
301
- modelValue: e.dotShape
302
- }, null, 8, ["onUpdate:modelValue", "modelValue"])) : s("", !0),
300
+ (o) => e.dotShape = o,
301
+ (o) => $(e.value, "dotShape", o)
302
+ ]
303
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])) : s("", !0),
303
304
  n.value === "color" ? (u(), v(pe, {
304
305
  key: 2,
305
- "colors-list": F.value,
306
+ modelValue: e.color,
306
307
  "onUpdate:modelValue": [
307
- (o) => $(e.value, "color", o),
308
- (o) => e.color = o
308
+ (o) => e.color = o,
309
+ (o) => $(e.value, "color", o)
309
310
  ],
310
- modelValue: e.color
311
- }, null, 8, ["colors-list", "onUpdate:modelValue", "modelValue"])) : s("", !0)
311
+ "colors-list": F.value
312
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "colors-list"])) : s("", !0)
312
313
  ])
313
314
  ]),
314
315
  _: 2
315
316
  }, 1032, ["targetRef", "height"])) : s("", !0)
316
317
  ])
317
- ], 2))), 256))
318
+ ], 2))), 128))
318
319
  ], 512)
319
320
  ]));
320
321
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AesDataMappingDiscrete.vue.js","sources":["../../../src/components/AesSettings/AesDataMappingDiscrete.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlIcon24, PlTooltip, useSortable } from '@platforma-sdk/ui-vue';\nimport { scaleLinear } from 'd3-scale';\nimport { ComponentPublicInstance, computed, reactive, ref, watch } from 'vue';\nimport {\n DotShape,\n LineType,\n Palette\n} from './types';\nimport {\n FIXED_LINE_TYPES,\n FIXES_DOT_SHAPES,\n isCategorical,\n PALETTE_MAP, UNKNOWN_COLOR\n} from '../../constantsAesthetic';\nimport { AesType } from '../../constantsCommon';\nimport {\n AestheticMappingCategorical,\n createCategoricalMappingFromPalette\n} from '../../dataBindAes';\nimport { getPopupHeightForFixedAesList } from '../../utils/getPopupHeightForFixedAesList';\nimport FixedColorsList from './FixedColorsList.vue';\nimport FixedDotShapeList from './FixedDotShapeList.vue';\nimport FixedLineTypeList from './FixedLineTypeList.vue';\nimport FormWrapper from './FormWrapper.vue';\nimport PalettesForm from './PalettesForm.vue';\nimport MultiselectButton from '../MultiselectButton.vue';\nimport PlColorSlider from '../PlColorSlider.vue';\nimport Popup from '../Popup.vue';\nimport Reorder from '../../icons/Reorder.vue';\n\nconst props = defineProps<{\n dataColumnLabel: string;\n columnValueLabels: Record<string, string>;\n usedAesInMapping: Record<AesType, boolean>;\n modelValue: AestheticMappingCategorical;\n allowReordering?: boolean;\n allowHiding?: boolean;\n allowNullOption?: boolean;\n}>();\n\nconst emit = defineEmits(['update:modelValue']);\n\nconst palettesOpen = ref(false);\nconst palette = ref<Palette>(props.modelValue.palette);\nconst categorical = computed(() => isCategorical(palette.value));\n\ntype EditableAesType = 'color' | 'dotShape' | 'lineType';\n\nconst activeValue = ref<string | null>(null);\nconst activeValueIndex = computed(() => {\n if (activeValue.value === null) {\n return null;\n }\n return props.modelValue.order.indexOf(activeValue.value);\n});\nconst activeAesType = ref<EditableAesType | null>(null);\n\nconst optionsList = computed(() => {\n const options = props.modelValue.order.map((value: string) => {\n const aes = props.modelValue.mapping[value]?.aes;\n return {\n text: props.columnValueLabels[value],\n value,\n dotShape: aes?.dotShape,\n color: aes?.color,\n lineType: aes?.lineShape\n };\n });\n\n return props.allowNullOption ? options : options.filter(op => op.value !== 'null')\n});\n\nfunction onPaletteSelect(value: Palette) {\n palette.value = value;\n palettesOpen.value = false;\n emit(\n 'update:modelValue',\n createCategoricalMappingFromPalette(value, props.modelValue.order)\n );\n}\n\nfunction onAesValueUpdate(\n value: string | number,\n aesField: string,\n aesValue: string | DotShape | LineType\n) {\n emit('update:modelValue', {\n ...props.modelValue,\n mapping: {\n ...props.modelValue.mapping,\n [value]: {\n ...props.modelValue.mapping[value],\n aes: {\n ...props.modelValue.mapping[value].aes,\n [aesField]: aesValue\n }\n }\n }\n });\n}\n\nconst itemRefs = reactive<\n Record<EditableAesType, Record<string, ComponentPublicInstance | Element>>\n>({\n color: {},\n dotShape: {},\n lineType: {}\n});\n\nfunction setRef(\n type: EditableAesType,\n item: (typeof optionsList.value)[0],\n el: ComponentPublicInstance | null | Element\n) {\n if (el) {\n itemRefs[type][item.value] = el;\n }\n}\n\nfunction toggleForm(\n item: (typeof optionsList.value)[0],\n valueType: EditableAesType\n) {\n const isThisFormOpen =\n activeValue.value === item.value && activeAesType.value === valueType;\n activeValue.value = isThisFormOpen ? null : item.value;\n activeAesType.value = isThisFormOpen ? null : valueType;\n}\n\nfunction closeForm() {\n activeValue.value = null;\n activeAesType.value = null;\n}\n\nconst selectedColorsList = computed(() =>\n PALETTE_MAP[palette.value].colors.map((color) => ({ color, name: color }))\n);\n\nconst popupHeight = computed(() => {\n if (!activeAesType.value) {\n return 0;\n }\n return getPopupHeightForFixedAesList(\n activeAesType.value === 'lineType' ? FIXED_LINE_TYPES.length : activeAesType.value === 'dotShape' ? FIXES_DOT_SHAPES.length : selectedColorsList.value.length,\n activeAesType.value\n );\n});\n\nconst optionsListRef = ref();\n\nif (props.allowReordering) {\n useSortable(optionsListRef, {\n handle: '.column-value__reorder-icon',\n onChange(indices) {\n emit('update:modelValue', {\n ...props.modelValue,\n order: indices.map((idx) => props.modelValue.order[idx])\n });\n }\n });\n}\n\nfunction switchVisibility (option: {value: string}) {\n emit('update:modelValue', {\n ...props.modelValue,\n hidden: {\n ...props.modelValue.hidden,\n [option.value]: props.modelValue.hidden?.[option.value] ? false : true\n }\n });\n}\n\nfunction getColorScale(colors: string[], unknownColor: string, from = 0, to = 1) {\n const colorStep = 1 / (colors.length - 1);\n const scale = scaleLinear<string, string>()\n .domain(colors.map((_c, idx) => from + idx * colorStep * (to - from)))\n .range(colors);\n return (v: number) => {\n if (v > to || v < from) {\n return unknownColor;\n }\n return scale(v);\n };\n}\n\nconst continuousColorScale = computed(() =>\n getColorScale(PALETTE_MAP[palette.value].colors, UNKNOWN_COLOR)\n);\n\nconst colorForPercent = computed(() =>\n getColorScale(PALETTE_MAP[palette.value].colors, UNKNOWN_COLOR, 0, 100)\n);\nconst continuousMappingItems = ref(\n props.modelValue.order.map(\n (item) => props.modelValue.mapping[item].colorIdx * 100\n )\n);\nwatch(\n () => props.modelValue,\n (v) => {\n continuousMappingItems.value = v.order.map(\n (item) => v.mapping[item].colorIdx * 100\n );\n }\n);\nfunction updateContinuousColors(v: number[]) {\n v.forEach((value, idx) => {\n const item = props.modelValue.order[idx];\n const newColorIdx = value / 100;\n if (props.modelValue.mapping[item].colorIdx !== newColorIdx) {\n emit('update:modelValue', {\n ...props.modelValue,\n mapping: {\n ...props.modelValue.mapping,\n [item]: {\n colorIdx: newColorIdx,\n aes: {\n ...props.modelValue.mapping[item].aes,\n color: continuousColorScale.value(newColorIdx)\n }\n }\n }\n });\n }\n });\n}\n\nfunction setActiveElementFromColorSlider(e: { index: number, status: boolean }) {\n activeAesType.value = 'color';\n activeValue.value = e.status ? props.modelValue.order[e.index] : null;\n}\n</script>\n\n<template>\n <div class=\"aes-mapping-block\">\n <div style=\"margin: 0 24px\">\n <div class=\"section-title\">\n <span>{{ dataColumnLabel }}</span>\n </div>\n <div style=\"margin: 24px 0\">\n <multiselect-button\n label=\"Color Palette \"\n icon=\"chevron-right\"\n :title=\"PALETTE_MAP[palette].title\"\n :palette=\"palette\"\n @button-click=\"\n palettesOpen = true;\n closeForm();\n \"\n />\n </div>\n <div v-if=\"!categorical\" style=\"margin: 24px 0\">\n <pl-color-slider\n v-model=\"continuousMappingItems\"\n :colors=\"PALETTE_MAP[palette].colors\"\n :get-color-for-percent=\"colorForPercent\"\n :active=\"activeValueIndex\"\n @active=\"setActiveElementFromColorSlider\"\n @update:model-value=\"updateContinuousColors\"\n />\n </div>\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\" @select=\"onPaletteSelect\" />\n </form-wrapper>\n </div>\n <div v-if=\"allowReordering\" class=\"aes-settings-hint\">\n Drag the rows to reorder\n </div>\n <div class=\"column-values-list\" ref=\"optionsListRef\">\n <div\n v-for=\"item of optionsList\"\n class=\"column-value\"\n :class=\"{ 'column-value__with-reorder': allowReordering }\"\n >\n <div v-if=\"allowReordering\" class=\"column-value__reorder-icon\">\n <component :is=\"Reorder\" />\n </div>\n <div class=\"column-value__title\">{{ item.text }}</div>\n <div class=\"column-value__aes-group\">\n <PlTooltip :open-delay=\"100\" :close-delay=\"100\" v-if=\"allowHiding\">\n <div @click.stop=\"switchVisibility(item)\" :style=\"{cursor: 'pointer'}\" class=\"column-value__aes\">\n <PlIcon24 :name=\"modelValue.hidden?.[item.value] ? 'view-hide' : 'view-show'\"/>\n </div>\n <template #tooltip>\n <span> Show / hide </span>\n </template>\n </PlTooltip>\n <div\n v-if=\"usedAesInMapping.lineType\"\n class=\"column-value__aes\"\n :class=\"{\n aes__selected:\n activeValue === item.value &&\n activeAesType === 'lineType'\n }\"\n :ref=\"(v) => setRef('lineType', item, v)\"\n @click.stop=\"toggleForm(item, 'lineType')\"\n >\n <div\n class=\"icon__line line\"\n :class=\"{ [`line__${item.lineType}`]: true }\"\n />\n </div>\n <div\n v-if=\"usedAesInMapping.dotShape\"\n class=\"column-value__aes\"\n :class=\"{\n aes__selected: activeValue === item.value && activeAesType === 'dotShape'\n }\"\n :ref=\"(v) => setRef('dotShape', item, v)\"\n @click.stop=\"toggleForm(item, 'dotShape')\"\n >\n <div class=\"dot\" :class=\"{ [`dot__${item.dotShape}`]: true }\" />\n </div>\n <div\n v-if=\"usedAesInMapping.fill || usedAesInMapping.stroke\"\n class=\"column-value__aes\"\n :class=\"{\n aes__selected: activeValue === item.value && activeAesType === 'color'\n }\"\n :ref=\"(v) => setRef('color', item, v)\"\n @click.stop=\"toggleForm(item, 'color')\"\n >\n <div\n class=\"column-value__color\"\n :style=\"{ background: item.color }\"\n />\n </div>\n <popup\n v-if=\"\n (activeAesType !== 'color' || categorical) &&\n activeAesType !== null &&\n activeValue === item.value\n \"\n :key=\"`${activeAesType}_${activeValue}`\"\n :targetRef=\"itemRefs[activeAesType][activeValue] as HTMLElement\"\n @popup:close=\"closeForm\"\n :height=\"popupHeight\"\n >\n <div\n class=\"fixed-aes-list\"\n :class=\"{ 'fixed-aes-list__rows': false }\"\n >\n <fixed-line-type-list\n v-if=\"activeAesType === 'lineType'\"\n @update:modelValue=\"\n (v) => onAesValueUpdate(item.value, 'lineShape', v)\n \"\n v-model=\"item.lineType as LineType\"\n />\n <fixed-dot-shape-list\n v-if=\"activeAesType === 'dotShape'\"\n @update:modelValue=\"\n (v) => onAesValueUpdate(item.value, 'dotShape', v)\n \"\n v-model=\"item.dotShape as DotShape\"\n />\n <fixed-colors-list\n v-if=\"activeAesType === 'color'\"\n :colors-list=\"selectedColorsList\"\n @update:modelValue=\"\n (v) => onAesValueUpdate(item.value, 'color', v)\n \"\n v-model=\"item.color as string\"\n />\n </div>\n </popup>\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","palettesOpen","ref","palette","categorical","computed","isCategorical","activeValue","activeValueIndex","activeAesType","optionsList","options","value","aes","_a","op","onPaletteSelect","createCategoricalMappingFromPalette","onAesValueUpdate","aesField","aesValue","itemRefs","reactive","setRef","type","item","el","toggleForm","valueType","isThisFormOpen","closeForm","selectedColorsList","PALETTE_MAP","color","popupHeight","getPopupHeightForFixedAesList","FIXED_LINE_TYPES","FIXES_DOT_SHAPES","optionsListRef","useSortable","indices","idx","switchVisibility","option","getColorScale","colors","unknownColor","from","to","colorStep","scale","scaleLinear","_c","v","continuousColorScale","UNKNOWN_COLOR","colorForPercent","continuousMappingItems","watch","updateContinuousColors","newColorIdx","setActiveElementFromColorSlider","e","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","_hoisted_4","_createVNode","MultiselectButton","_unref","_cache","$event","_hoisted_5","PlColorSlider","_createBlock","FormWrapper","PalettesForm","_hoisted_6","_Fragment","_renderList","_normalizeClass","_hoisted_7","_resolveDynamicComponent","Reorder","_hoisted_8","_toDisplayString","_hoisted_9","PlTooltip","_withModifiers","PlIcon24","_normalizeStyle","Popup","FixedLineTypeList","FixedDotShapeList","FixedColorsList"],"mappings":"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"}
1
+ {"version":3,"file":"AesDataMappingDiscrete.vue.js","sources":["../../../src/components/AesSettings/AesDataMappingDiscrete.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { PlIcon24, PlTooltip, useSortable } from '@platforma-sdk/ui-vue';\nimport { scaleLinear } from 'd3-scale';\nimport type { ComponentPublicInstance } from 'vue';\nimport { computed, reactive, ref, watch } from 'vue';\nimport type {\n DotShape,\n LineType,\n Palette,\n} from './types';\nimport {\n FIXED_LINE_TYPES,\n FIXES_DOT_SHAPES,\n isCategorical,\n PALETTE_MAP, UNKNOWN_COLOR,\n} from '../../constantsAesthetic';\nimport type { AesType } from '../../constantsCommon';\nimport type {\n AestheticMappingCategorical } from '../../dataBindAes';\nimport {\n createCategoricalMappingFromPalette,\n} from '../../dataBindAes';\nimport { getPopupHeightForFixedAesList } from '../../utils/getPopupHeightForFixedAesList';\nimport FixedColorsList from './FixedColorsList.vue';\nimport FixedDotShapeList from './FixedDotShapeList.vue';\nimport FixedLineTypeList from './FixedLineTypeList.vue';\nimport FormWrapper from './FormWrapper.vue';\nimport PalettesForm from './PalettesForm.vue';\nimport MultiselectButton from '../MultiselectButton.vue';\nimport PlColorSlider from '../PlColorSlider.vue';\nimport Popup from '../Popup.vue';\nimport Reorder from '../../icons/Reorder.vue';\n\nconst props = defineProps<{\n dataColumnLabel: string;\n columnValueLabels: Record<string, string>;\n usedAesInMapping: Record<AesType, boolean>;\n modelValue: AestheticMappingCategorical;\n allowReordering?: boolean;\n allowHiding?: boolean;\n allowNullOption?: boolean;\n}>();\n\nconst emit = defineEmits(['update:modelValue']);\n\nconst palettesOpen = ref(false);\nconst palette = ref<Palette>(props.modelValue.palette);\nconst categorical = computed(() => isCategorical(palette.value));\n\ntype EditableAesType = 'color' | 'dotShape' | 'lineType';\n\nconst activeValue = ref<string | null>(null);\nconst activeValueIndex = computed(() => {\n if (activeValue.value === null) {\n return null;\n }\n return props.modelValue.order.indexOf(activeValue.value);\n});\nconst activeAesType = ref<EditableAesType | null>(null);\n\nconst optionsList = computed(() => {\n const options = props.modelValue.order.map((value: string) => {\n const aes = props.modelValue.mapping[value]?.aes;\n return {\n text: props.columnValueLabels[value],\n value,\n dotShape: aes?.dotShape,\n color: aes?.color,\n lineType: aes?.lineShape,\n };\n });\n\n return props.allowNullOption ? options : options.filter((op) => op.value !== 'null');\n});\n\nfunction onPaletteSelect(value: Palette) {\n palette.value = value;\n palettesOpen.value = false;\n emit(\n 'update:modelValue',\n createCategoricalMappingFromPalette(value, props.modelValue.order),\n );\n}\n\nfunction onAesValueUpdate(\n value: string | number,\n aesField: string,\n aesValue: string | DotShape | LineType,\n) {\n emit('update:modelValue', {\n ...props.modelValue,\n mapping: {\n ...props.modelValue.mapping,\n [value]: {\n ...props.modelValue.mapping[value],\n aes: {\n ...props.modelValue.mapping[value].aes,\n [aesField]: aesValue,\n },\n },\n },\n });\n}\n\nconst itemRefs = reactive<\n Record<EditableAesType, Record<string, ComponentPublicInstance | Element>>\n>({\n color: {},\n dotShape: {},\n lineType: {},\n});\n\nfunction setRef(\n type: EditableAesType,\n item: (typeof optionsList.value)[0],\n el: ComponentPublicInstance | null | Element,\n) {\n if (el) {\n itemRefs[type][item.value] = el;\n }\n}\n\nfunction toggleForm(\n item: (typeof optionsList.value)[0],\n valueType: EditableAesType,\n) {\n const isThisFormOpen\n = activeValue.value === item.value && activeAesType.value === valueType;\n activeValue.value = isThisFormOpen ? null : item.value;\n activeAesType.value = isThisFormOpen ? null : valueType;\n}\n\nfunction closeForm() {\n activeValue.value = null;\n activeAesType.value = null;\n}\n\nconst selectedColorsList = computed(() =>\n PALETTE_MAP[palette.value].colors.map((color) => ({ color, name: color })),\n);\n\nconst popupHeight = computed(() => {\n if (!activeAesType.value) {\n return 0;\n }\n return getPopupHeightForFixedAesList(\n activeAesType.value === 'lineType' ? FIXED_LINE_TYPES.length : activeAesType.value === 'dotShape' ? FIXES_DOT_SHAPES.length : selectedColorsList.value.length,\n activeAesType.value,\n );\n});\n\nconst optionsListRef = ref();\n\nif (props.allowReordering) {\n useSortable(optionsListRef, {\n handle: '.column-value__reorder-icon',\n onChange(indices) {\n emit('update:modelValue', {\n ...props.modelValue,\n order: indices.map((idx) => props.modelValue.order[idx]),\n });\n },\n });\n}\n\nfunction switchVisibility(option: { value: string }) {\n emit('update:modelValue', {\n ...props.modelValue,\n hidden: {\n ...props.modelValue.hidden,\n [option.value]: props.modelValue.hidden?.[option.value] ? false : true,\n },\n });\n}\n\nfunction getColorScale(colors: string[], unknownColor: string, from = 0, to = 1) {\n const colorStep = 1 / (colors.length - 1);\n const scale = scaleLinear<string, string>()\n .domain(colors.map((_c, idx) => from + idx * colorStep * (to - from)))\n .range(colors);\n return (v: number) => {\n if (v > to || v < from) {\n return unknownColor;\n }\n return scale(v);\n };\n}\n\nconst continuousColorScale = computed(() =>\n getColorScale(PALETTE_MAP[palette.value].colors, UNKNOWN_COLOR),\n);\n\nconst colorForPercent = computed(() =>\n getColorScale(PALETTE_MAP[palette.value].colors, UNKNOWN_COLOR, 0, 100),\n);\nconst continuousMappingItems = ref(\n props.modelValue.order.map(\n (item) => props.modelValue.mapping[item].colorIdx * 100,\n ),\n);\nwatch(\n () => props.modelValue,\n (v) => {\n continuousMappingItems.value = v.order.map(\n (item) => v.mapping[item].colorIdx * 100,\n );\n },\n);\nfunction updateContinuousColors(v: number[]) {\n v.forEach((value, idx) => {\n const item = props.modelValue.order[idx];\n const newColorIdx = value / 100;\n if (props.modelValue.mapping[item].colorIdx !== newColorIdx) {\n emit('update:modelValue', {\n ...props.modelValue,\n mapping: {\n ...props.modelValue.mapping,\n [item]: {\n colorIdx: newColorIdx,\n aes: {\n ...props.modelValue.mapping[item].aes,\n color: continuousColorScale.value(newColorIdx),\n },\n },\n },\n });\n }\n });\n}\n\nfunction setActiveElementFromColorSlider(e: { index: number; status: boolean }) {\n activeAesType.value = 'color';\n activeValue.value = e.status ? props.modelValue.order[e.index] : null;\n}\n</script>\n\n<template>\n <div class=\"aes-mapping-block\">\n <div style=\"margin: 0 24px\">\n <div class=\"section-title\">\n <span>{{ dataColumnLabel }}</span>\n </div>\n <div style=\"margin: 24px 0\">\n <MultiselectButton\n label=\"Color Palette \"\n icon=\"chevron-right\"\n :title=\"PALETTE_MAP[palette].title\"\n :palette=\"palette\"\n @button-click=\"\n palettesOpen = true;\n closeForm();\n \"\n />\n </div>\n <div v-if=\"!categorical\" style=\"margin: 24px 0\">\n <PlColorSlider\n v-model=\"continuousMappingItems\"\n :colors=\"PALETTE_MAP[palette].colors\"\n :get-color-for-percent=\"colorForPercent\"\n :active=\"activeValueIndex\"\n @active=\"setActiveElementFromColorSlider\"\n @update:model-value=\"updateContinuousColors\"\n />\n </div>\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\" @select=\"onPaletteSelect\" />\n </FormWrapper>\n </div>\n <div v-if=\"allowReordering\" class=\"aes-settings-hint\">\n Drag the rows to reorder\n </div>\n <div ref=\"optionsListRef\" class=\"column-values-list\">\n <div\n v-for=\"item of optionsList\"\n :key=\"item.value\"\n class=\"column-value\"\n :class=\"{ 'column-value__with-reorder': allowReordering }\"\n >\n <div v-if=\"allowReordering\" class=\"column-value__reorder-icon\">\n <component :is=\"Reorder\" />\n </div>\n <div class=\"column-value__title\">{{ item.text }}</div>\n <div class=\"column-value__aes-group\">\n <PlTooltip v-if=\"allowHiding\" :open-delay=\"100\" :close-delay=\"100\">\n <div :style=\"{cursor: 'pointer'}\" class=\"column-value__aes\" @click.stop=\"switchVisibility(item)\">\n <PlIcon24 :name=\"modelValue.hidden?.[item.value] ? 'view-hide' : 'view-show'\"/>\n </div>\n <template #tooltip>\n <span> Show / hide </span>\n </template>\n </PlTooltip>\n <div\n v-if=\"usedAesInMapping.lineType\"\n :ref=\"(v) => setRef('lineType', item, v)\"\n class=\"column-value__aes\"\n :class=\"{\n aes__selected:\n activeValue === item.value &&\n activeAesType === 'lineType'\n }\"\n @click.stop=\"toggleForm(item, 'lineType')\"\n >\n <div\n class=\"icon__line line\"\n :class=\"{ [`line__${item.lineType}`]: true }\"\n />\n </div>\n <div\n v-if=\"usedAesInMapping.dotShape\"\n :ref=\"(v) => setRef('dotShape', item, v)\"\n class=\"column-value__aes\"\n :class=\"{\n aes__selected: activeValue === item.value && activeAesType === 'dotShape'\n }\"\n @click.stop=\"toggleForm(item, 'dotShape')\"\n >\n <div class=\"dot\" :class=\"{ [`dot__${item.dotShape}`]: true }\" />\n </div>\n <div\n v-if=\"usedAesInMapping.fill || usedAesInMapping.stroke\"\n :ref=\"(v) => setRef('color', item, v)\"\n class=\"column-value__aes\"\n :class=\"{\n aes__selected: activeValue === item.value && activeAesType === 'color'\n }\"\n @click.stop=\"toggleForm(item, 'color')\"\n >\n <div\n class=\"column-value__color\"\n :style=\"{ background: item.color }\"\n />\n </div>\n <Popup\n v-if=\"\n (activeAesType !== 'color' || categorical) &&\n activeAesType !== null &&\n activeValue === item.value\n \"\n :key=\"`${activeAesType}_${activeValue}`\"\n :targetRef=\"itemRefs[activeAesType][activeValue] as HTMLElement\"\n :height=\"popupHeight\"\n @popup:close=\"closeForm\"\n >\n <div\n class=\"fixed-aes-list\"\n :class=\"{ 'fixed-aes-list__rows': false }\"\n >\n <FixedLineTypeList\n v-if=\"activeAesType === 'lineType'\"\n v-model=\"item.lineType as LineType\"\n @update:modelValue=\"\n (v) => onAesValueUpdate(item.value, 'lineShape', v)\n \"\n />\n <FixedDotShapeList\n v-if=\"activeAesType === 'dotShape'\"\n v-model=\"item.dotShape as DotShape\"\n @update:modelValue=\"\n (v) => onAesValueUpdate(item.value, 'dotShape', v)\n \"\n />\n <FixedColorsList\n v-if=\"activeAesType === 'color'\"\n v-model=\"item.color as string\"\n :colors-list=\"selectedColorsList\"\n @update:modelValue=\"\n (v) => onAesValueUpdate(item.value, 'color', v)\n \"\n />\n </div>\n </Popup>\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","palettesOpen","ref","palette","categorical","computed","isCategorical","activeValue","activeValueIndex","activeAesType","optionsList","options","value","aes","_a","op","onPaletteSelect","createCategoricalMappingFromPalette","onAesValueUpdate","aesField","aesValue","itemRefs","reactive","setRef","type","item","el","toggleForm","valueType","isThisFormOpen","closeForm","selectedColorsList","PALETTE_MAP","color","popupHeight","getPopupHeightForFixedAesList","FIXED_LINE_TYPES","FIXES_DOT_SHAPES","optionsListRef","useSortable","indices","idx","switchVisibility","option","getColorScale","colors","unknownColor","from","to","colorStep","scale","scaleLinear","_c","v","continuousColorScale","UNKNOWN_COLOR","colorForPercent","continuousMappingItems","watch","updateContinuousColors","newColorIdx","setActiveElementFromColorSlider","e","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","_hoisted_4","_createVNode","MultiselectButton","_unref","_cache","$event","_hoisted_5","PlColorSlider","_createBlock","FormWrapper","PalettesForm","_hoisted_6","_Fragment","_renderList","_normalizeClass","_hoisted_7","_resolveDynamicComponent","Reorder","_hoisted_8","_toDisplayString","_hoisted_9","PlTooltip","_withModifiers","PlIcon24","_normalizeStyle","Popup","FixedLineTypeList","FixedDotShapeList","FixedColorsList"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { FIXED_COLORS } from '../../constantsAesthetic';
2
2
  type __VLS_Props = {
3
3
  modelValue: string;
4
- colorUsing?: "fill" | "stroke";
4
+ colorUsing?: 'fill' | 'stroke';
5
5
  colorsList?: typeof FIXED_COLORS;
6
6
  };
7
7
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
@@ -1,32 +1,33 @@
1
- import { defineComponent as r, createElementBlock as o, openBlock as n, Fragment as m, renderList as a, normalizeStyle as s, normalizeClass as d, createElementVNode as c } from "vue";
2
- import { FIXED_COLORS as u } from "../../constantsAesthetic.js";
3
- const f = ["onClick"], L = /* @__PURE__ */ r({
1
+ import { defineComponent as m, createElementBlock as n, openBlock as r, Fragment as s, renderList as a, normalizeStyle as d, normalizeClass as c, createElementVNode as u } from "vue";
2
+ import { FIXED_COLORS as f } from "../../constantsAesthetic.js";
3
+ const k = ["onClick"], V = /* @__PURE__ */ m({
4
4
  __name: "FixedColorsList",
5
5
  props: {
6
6
  modelValue: {},
7
7
  colorUsing: { default: "fill" },
8
- colorsList: { default: () => u }
8
+ colorsList: { default: () => f }
9
9
  },
10
10
  emits: ["update:modelValue"],
11
- setup(t, { emit: k }) {
12
- return (i, l) => (n(!0), o(m, null, a(t.colorsList, (e) => (n(), o("div", {
11
+ setup(t, { emit: p }) {
12
+ const o = t;
13
+ return (i, l) => (r(!0), n(s, null, a(o.colorsList, (e) => (r(), n("div", {
13
14
  key: e.color,
14
- class: d(["color-item", {
15
- border: t.colorUsing === "stroke",
15
+ class: c(["color-item", {
16
+ border: o.colorUsing === "stroke",
16
17
  white: e.name === "White",
17
18
  empty: e.name === "None",
18
19
  selected: e.color === t.modelValue
19
20
  }]),
20
- style: s(
21
+ style: d(
21
22
  e.name !== "White" && e.name !== "None" ? `${t.colorUsing === "fill" ? "background" : "border-color"}: ${e.color};` : ""
22
23
  ),
23
24
  onClick: (C) => i.$emit("update:modelValue", e.color)
24
25
  }, [...l[0] || (l[0] = [
25
- c("div", { class: "checkmark" }, null, -1)
26
- ])], 14, f))), 128));
26
+ u("div", { class: "checkmark" }, null, -1)
27
+ ])], 14, k))), 128));
27
28
  }
28
29
  });
29
30
  export {
30
- L as default
31
+ V as default
31
32
  };
32
33
  //# sourceMappingURL=FixedColorsList.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FixedColorsList.vue.js","sources":["../../../src/components/AesSettings/FixedColorsList.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { FIXED_COLORS } from '../../constantsAesthetic';\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string;\n colorUsing?: \"fill\" | \"stroke\";\n colorsList?: typeof FIXED_COLORS;\n }>(),\n {\n colorUsing: \"fill\",\n colorsList: () => FIXED_COLORS\n },\n);\n\nconst emit = defineEmits([\"update:modelValue\"]);\n</script>\n\n<template>\n <div\n v-for=\"color of colorsList\"\n :key=\"color.color\"\n class=\"color-item\"\n :class=\"{\n border: colorUsing === 'stroke',\n white: color.name === 'White',\n empty: color.name === 'None',\n selected: color.color === modelValue,\n }\"\n :style=\"\n color.name !== 'White' && color.name !== 'None'\n ? `${colorUsing === 'fill' ? 'background' : 'border-color'}: ${\n color.color\n };`\n : ''\n \"\n @click=\"$emit('update:modelValue', color.color)\"\n >\n <div class=\"checkmark\" />\n </div>\n</template>\n"],"names":["_createElementBlock","_Fragment","_renderList","__props","color","_normalizeStyle","$event","$emit","_createElementVNode"],"mappings":";;;;;;;;;;;6BAmBEA,EAoBMC,GAAA,MAAAC,EAnBYC,EAAA,YAAU,CAAnBC,YADTJ,EAoBM,OAAA;AAAA,MAlBH,KAAKI,EAAM;AAAA,MACZ,UAAM,cAAY;AAAA,gBACMD,EAAA,eAAU;AAAA,QAA4B,OAAAC,EAAM,SAAI;AAAA,QAA2B,OAAAA,EAAM,SAAI;AAAA,kBAA6BA,EAAM,UAAUD,EAAA;AAAA,MAAA;MAMzJ,OAAKE;AAAAA,QAASD,EAAM,SAAI,WAAgBA,EAAM,SAAI,YAAyBD,EAAA,eAAU,SAAA,eAAA,cAAA,KAA6DC,EAAM;;MAOxJ,SAAK,CAAAE,MAAEC,EAAAA,MAAK,qBAAsBH,EAAM,KAAK;AAAA,IAAA;MAE9CI,EAAyB,OAAA,EAApB,OAAM,YAAA,GAAW,MAAA,EAAA;AAAA,IAAA;;;"}
1
+ {"version":3,"file":"FixedColorsList.vue.js","sources":["../../../src/components/AesSettings/FixedColorsList.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { FIXED_COLORS } from '../../constantsAesthetic';\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string;\n colorUsing?: 'fill' | 'stroke';\n colorsList?: typeof FIXED_COLORS;\n }>(),\n {\n colorUsing: 'fill',\n colorsList: () => FIXED_COLORS,\n },\n);\n\nconst _emit = defineEmits(['update:modelValue']);\n</script>\n\n<template>\n <div\n v-for=\"color of props.colorsList\"\n :key=\"color.color\"\n class=\"color-item\"\n :class=\"{\n border: props.colorUsing === 'stroke',\n white: color.name === 'White',\n empty: color.name === 'None',\n selected: color.color === modelValue,\n }\"\n :style=\"\n color.name !== 'White' && color.name !== 'None'\n ? `${colorUsing === 'fill' ? 'background' : 'border-color'}: ${\n color.color\n };`\n : ''\n \"\n @click=\"$emit('update:modelValue', color.color)\"\n >\n <div class=\"checkmark\" />\n </div>\n</template>\n"],"names":["props","__props","_openBlock","_createElementBlock","_Fragment","_renderList","color","_normalizeStyle","$event","$emit","_createElementVNode"],"mappings":";;;;;;;;;;;AAGA,UAAMA,IAAQC;sBAgBZC,EAAA,EAAA,GAAAC,EAoBMC,GAAA,MAAAC,EAnBYL,EAAM,aAAfM,YADTH,EAoBM,OAAA;AAAA,MAlBH,KAAKG,EAAM;AAAA,MACZ,UAAM,cAAY;AAAA,QACM,QAAAN,EAAM,eAAU;AAAA,QAA4B,OAAAM,EAAM,SAAI;AAAA,QAA2B,OAAAA,EAAM,SAAI;AAAA,kBAA6BA,EAAM,UAAUL,EAAA;AAAA,MAAA;MAM/J,OAAKM;AAAAA,QAASD,EAAM,SAAI,WAAgBA,EAAM,SAAI,YAAyBL,EAAA,eAAU,SAAA,eAAA,cAAA,KAA2DK,EAAM;;MAOtJ,SAAK,CAAAE,MAAEC,EAAAA,MAAK,qBAAsBH,EAAM,KAAK;AAAA,IAAA;MAE9CI,EAAyB,OAAA,EAApB,OAAM,YAAA,GAAW,MAAA,EAAA;AAAA,IAAA;;;"}
@@ -1,24 +1,25 @@
1
- import { defineComponent as i, createElementBlock as l, openBlock as o, Fragment as m, renderList as r, normalizeClass as d } from "vue";
2
- import { FIXES_DOT_SHAPES as u } from "../../constantsAesthetic.js";
3
- const a = ["onClick"], k = /* @__PURE__ */ i({
1
+ import { defineComponent as i, createElementBlock as o, openBlock as l, Fragment as m, renderList as d, normalizeClass as u } from "vue";
2
+ import { FIXES_DOT_SHAPES as a } from "../../constantsAesthetic.js";
3
+ const s = ["onClick"], C = /* @__PURE__ */ i({
4
4
  __name: "FixedDotShapeList",
5
5
  props: {
6
6
  modelValue: {},
7
- list: { default: () => u }
7
+ list: { default: () => a }
8
8
  },
9
9
  emits: ["update:modelValue"],
10
10
  setup(t, { emit: c }) {
11
- return (n, s) => (o(!0), l(m, null, r(t.list, (e) => (o(), l("div", {
11
+ const n = t;
12
+ return (r, _) => (l(!0), o(m, null, d(n.list, (e) => (l(), o("div", {
12
13
  key: e,
13
- class: d(["color-item dot", {
14
+ class: u(["color-item dot", {
14
15
  selected: e === t.modelValue,
15
16
  [`dot__${e}`]: !0
16
17
  }]),
17
- onClick: (_) => n.$emit("update:modelValue", e)
18
- }, null, 10, a))), 128));
18
+ onClick: (p) => r.$emit("update:modelValue", e)
19
+ }, null, 10, s))), 128));
19
20
  }
20
21
  });
21
22
  export {
22
- k as default
23
+ C as default
23
24
  };
24
25
  //# sourceMappingURL=FixedDotShapeList.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FixedDotShapeList.vue.js","sources":["../../../src/components/AesSettings/FixedDotShapeList.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { DotShape } from './types';\nimport { FIXES_DOT_SHAPES } from '../../constantsAesthetic';\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string;\n list?: DotShape[];\n }>(),\n {\n list: () => FIXES_DOT_SHAPES\n },\n);\n\nconst emit = defineEmits([\"update:modelValue\"]);\n</script>\n\n<template>\n <div\n v-for=\"shape of list\"\n :key=\"shape\"\n class=\"color-item dot\"\n :class=\"{\n selected: shape === modelValue,\n [`dot__${shape}`]: true\n }\"\n @click=\"$emit('update:modelValue', shape)\"\n />\n</template>\n"],"names":["_createElementBlock","_Fragment","_renderList","__props","shape","$event","$emit"],"mappings":";;;;;;;;;;6BAkBEA,EASEC,GAAA,MAAAC,EARgBC,EAAA,MAAI,CAAbC,YADTJ,EASE,OAAA;AAAA,MAPC,KAAKI;AAAA,MACN,UAAM,kBAAgB;AAAA,QACI,UAAAA,MAAUD,EAAA;AAAA,iBAA2BC,CAAK,EAAA,GAAA;AAAA,MAAA;MAInE,SAAK,CAAAC,MAAEC,EAAAA,MAAK,qBAAsBF,CAAK;AAAA,IAAA;;;"}
1
+ {"version":3,"file":"FixedDotShapeList.vue.js","sources":["../../../src/components/AesSettings/FixedDotShapeList.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { DotShape } from './types';\nimport { FIXES_DOT_SHAPES } from '../../constantsAesthetic';\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string;\n list?: DotShape[];\n }>(),\n {\n list: () => FIXES_DOT_SHAPES,\n },\n);\n\nconst _emit = defineEmits(['update:modelValue']);\n</script>\n\n<template>\n <div\n v-for=\"shape of props.list\"\n :key=\"shape\"\n class=\"color-item dot\"\n :class=\"{\n selected: shape === modelValue,\n [`dot__${shape}`]: true\n }\"\n @click=\"$emit('update:modelValue', shape)\"\n />\n</template>\n"],"names":["props","__props","_openBlock","_createElementBlock","_Fragment","_renderList","shape","$event","$emit"],"mappings":";;;;;;;;;;AAIA,UAAMA,IAAQC;sBAcZC,EAAA,EAAA,GAAAC,EASEC,GAAA,MAAAC,EARgBL,EAAM,OAAfM,YADTH,EASE,OAAA;AAAA,MAPC,KAAKG;AAAA,MACN,UAAM,kBAAgB;AAAA,QACI,UAAAA,MAAUL,EAAA;AAAA,iBAA2BK,CAAK,EAAA,GAAA;AAAA,MAAA;MAInE,SAAK,CAAAC,MAAEC,EAAAA,MAAK,qBAAsBF,CAAK;AAAA,IAAA;;;"}