@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 +1 @@
1
- {"version":3,"file":"dataBindAes.js","sources":["../src/dataBindAes.ts"],"sourcesContent":["import { InputState } from '@milaboratories/pf-plots';\nimport { scaleLinear } from 'd3-scale';\nimport {\n ContinuousPalette,\n DotShape,\n LineType,\n Palette,\n} from './components/AesSettings/types';\nimport {\n DEFAULT_BLACK,\n FIXED_LINE_TYPES,\n FIXES_DOT_SHAPES,\n isCategorical,\n PALETTE_MAP\n} from './constantsAesthetic';\nimport { AesType, ContinuousDataMappingSize, NumberRange } from './constantsCommon';\nimport { UniqueValuesBySourceMap } from './types';\n\nexport type AestheticMappingState = Record<string, AestheticMapping>;\nexport type AestheticMapping =\n | AestheticMappingContinuous\n | AestheticMappingCategorical;\n\ninterface MappingRange {\n maxValue: number | null;\n minValue: number | null;\n}\n\n/** Mapping for continuous axes (numerical axes) */\nexport interface AestheticMappingContinuous {\n type: 'continuous';\n palette: ContinuousPalette;\n range: MappingRange | null;\n midPoint: number | null;\n log: boolean;\n naAes: AestheticValues;\n}\n\nexport function isAestheticMappingContinuous(v:unknown | AestheticMappingContinuous): v is AestheticMappingContinuous {\n return v !== null && typeof v === 'object' && 'palette' in v && 'type' in v && v.type === 'continuous';\n}\n\n/** Mapping for categorical axes (string axes) */\nexport interface AestheticMappingCategorical {\n type: 'categorical';\n palette: Palette;\n naAes: AestheticValues;\n order: string[];\n hidden?: Record<string, boolean>;\n mapping: AestheticMappingRecord;\n}\n\nexport function isAestheticMappingCategorical(v:unknown | AestheticMappingCategorical): v is AestheticMappingCategorical {\n return v !== null && typeof v === 'object' && 'palette' in v && 'type' in v && v.type === 'categorical';\n}\n\nexport function isAestheticMapping(v:unknown | AestheticMappingContinuous | AestheticMappingCategorical):v is AestheticMapping {\n return isAestheticMappingCategorical(v) || isAestheticMappingContinuous(v);\n}\n\n// key - column value, colorIdx - idx of color (if palette is categorical) of percent value of colors gradient (if palette is continuous)\ntype AestheticMappingRecord = Record<\n string | number,\n {\n aes: Partial<AestheticValues>;\n colorIdx: number;\n }\n>;\n\ninterface AestheticValues {\n /** Number to retrieve the color from pallet, string to represent specific color as hex */\n color: string;\n lineShape: LineType;\n dotShape: DotShape;\n}\n\nexport const DEFAULT_LINE_COLOR = '#110529';\nexport const DEFAULT_LINE_SHAPE:LineType = 'solid';\nexport const DEFAULT_LINE_WIDTH = 1;\nexport const DEFAULT_DOT_SHAPE:DotShape = '21'; // colored circle, shape number as in R\nexport const DEFAULT_DOT_SIZE = 3; // radius;\nexport const DEFAULT_DOT_SIZE_CANVAS = 2;\nexport const DEFAULT_DOT_RANGE:NumberRange = { min: 3, max: 10 }; // radius;\n\nexport const DEFAULT_NA_AES = {\n color: '#ccc',\n lineShape: DEFAULT_LINE_SHAPE as LineType,\n dotShape: DEFAULT_DOT_SHAPE as DotShape,\n};\nconst DEFAULT_PALETTE: Palette = 'light';\n\nfunction getColorScale(colors: string[]) {\n const colorStep = 1 / (colors.length - 1);\n return scaleLinear<string, string>()\n .domain(colors.map((_c, idx) => idx * colorStep))\n .range(colors);\n}\n\nexport function createCategoricalMappingFromPalette(\n palette: Palette,\n values: string[],\n): AestheticMappingCategorical {\n const colors = PALETTE_MAP[palette].colors;\n const step = values.length > 1 ? 1 / (values.length - 1) : 0;\n const colorScale = getColorScale(colors);\n\n const categorical = isCategorical(palette);\n const mapping = values.reduce((res: AestheticMappingRecord, value, idx) => {\n res[value] = {\n colorIdx: categorical ? idx : idx * step,\n aes: {\n color: categorical\n ? colors[idx % colors.length]\n : colorScale(idx * step),\n lineShape: FIXED_LINE_TYPES[idx % FIXED_LINE_TYPES.length],\n dotShape: FIXES_DOT_SHAPES[idx % FIXES_DOT_SHAPES.length],\n },\n };\n return res;\n }, {});\n return {\n type: 'categorical',\n palette: palette,\n naAes: DEFAULT_NA_AES,\n order: values,\n hidden: {},\n mapping,\n };\n}\n\nconst INPUTS_WITH_AES_MAPPINGS = [\n 'primaryGrouping', 'secondaryGrouping', // discrete charts\n 'grouping', 'shape', // scatterplot\n 'nodeColor', 'nodeShape', 'lineColor', 'heatmapAnnotation', // dendro\n];\nexport function updateDataBindAes(\n optionsState: InputState,\n dataBindAes: Record<string, AestheticMapping>,\n uniqueValuesMap: UniqueValuesBySourceMap\n) {\n INPUTS_WITH_AES_MAPPINGS.forEach((inputName) => {\n const selectorStates = optionsState.components[inputName as keyof InputState]?.selectorStates;\n selectorStates?.forEach(({selectedSource}) => {\n const savedMapping = dataBindAes[selectedSource];\n const uniqueValues = uniqueValuesMap[selectedSource]?.list;\n if (savedMapping && uniqueValues && isAestheticMappingCategorical(savedMapping)) {\n dataBindAes[selectedSource] = updateCategoricalMapping(uniqueValues, savedMapping);\n }\n })\n });\n}\n\nexport function updateCategoricalMapping(\n newUniqueValues: string[],\n currentMapping: AestheticMappingCategorical,\n): AestheticMappingCategorical {\n const {palette, order, mapping} = currentMapping;\n const uniqueValuesSet = new Set(newUniqueValues);\n const orderValuesSet = new Set(order);\n const addedValues:string[] = newUniqueValues.filter(v => !orderValuesSet.has(v));\n const removedValues:string[] = order.filter(v => !uniqueValuesSet.has(v as string));\n if (!addedValues.length && !removedValues.length) {\n return currentMapping;\n }\n let newOrder = [...newUniqueValues];\n const newMapping = {...mapping};\n const colors = PALETTE_MAP[palette].colors;\n addedValues.forEach((v, idx) => {\n const index = idx + (order.length ? mapping[order[order.length - 1]].colorIdx + 1 : 0);\n newMapping[v] = {\n colorIdx: index,\n aes: {\n color: colors[index % colors.length],\n lineShape: FIXED_LINE_TYPES[index % FIXED_LINE_TYPES.length],\n dotShape: FIXES_DOT_SHAPES[index % FIXES_DOT_SHAPES.length],\n }\n }\n });\n removedValues.forEach((v) => {\n if (newMapping[v]) {\n delete newMapping[v];\n }\n });\n\n return {...currentMapping, order: newOrder, mapping: newMapping} as AestheticMappingCategorical;\n}\nexport function createContinuousMappingFromPalette(palette: ContinuousPalette):AestheticMappingContinuous {\n return {\n type: 'continuous',\n palette: palette,\n naAes: DEFAULT_NA_AES,\n range: null,\n midPoint: null,\n log: false\n }\n}\n\nexport function createDefaultMapping(\n values: string[],\n): AestheticMappingCategorical {\n return createCategoricalMappingFromPalette(DEFAULT_PALETTE, values);\n}\n\nexport function createDefaultContinuousMapping(columnId: string):ContinuousDataMappingSize {\n return {\n column: columnId,\n range: DEFAULT_DOT_RANGE\n }\n}\n\nexport function getChartSettingsInheritedAes(\n uniqueValuesData: UniqueValuesBySourceMap,\n savedMapping: AestheticMapping | undefined,\n sourceId: string | null,\n usedAesInMapping: Record<AesType, boolean>,\n) {\n if (savedMapping?.type === 'continuous') {\n return { inheritedAes: {} };\n }\n const uniqueValues = sourceId ? uniqueValuesData[sourceId]?.list ?? [] : [];\n const mapping = savedMapping ?? createDefaultMapping(uniqueValues);\n if (!mapping.order.length) {\n return {inheritedAes: {}};\n }\n return {\n order: mapping.order.filter((v) => !mapping.hidden?.[v]),\n inheritedAes: mapping.order.reduce((res: Record<string, any>, value) => {\n const aes = mapping.mapping[value].aes;\n res[value] = {};\n if (usedAesInMapping.fill) {\n res[value].fillColor = aes.color;\n res[value].dotFill = aes.color;\n }\n if (usedAesInMapping.stroke) {\n res[value].lineColor = aes.color;\n }\n if (usedAesInMapping.dotShape) {\n res[value].dotShape = aes.dotShape;\n }\n if (usedAesInMapping.lineType) {\n res[value].lineShape = aes.lineShape;\n }\n return res;\n }, {}),\n };\n}\n\nexport function getScatterplotAes(\n selectedSource: string,\n uniqueValuesData: UniqueValuesBySourceMap,\n dataBindAes: AestheticMappingState,\n) {\n const savedMapping = dataBindAes[selectedSource];\n if (savedMapping && !isAestheticMappingCategorical(savedMapping)) {\n return {order: [], inheritedAes: {}};\n }\n const uniqueValues = uniqueValuesData[selectedSource]?.list ?? [];\n const mapping = savedMapping ?? createDefaultMapping(uniqueValues);\n return {\n order: mapping.order,\n inheritedAes: mapping.order.reduce((res: Record<string, any>, value) => {\n const aes = mapping.mapping[value].aes;\n res[value] = {\n fillColor: aes.color,\n lineColor: aes.color,\n dotFill: aes.color,\n dotShape: aes.dotShape,\n dotSize: DEFAULT_DOT_SIZE,\n lineWidth: DEFAULT_LINE_WIDTH,\n };\n return res;\n }, {})\n }\n}\n\nexport function getHistogramAes(\n selectedSource: string,\n uniqueValuesData: UniqueValuesBySourceMap,\n dataBindAes: AestheticMappingState,\n) {\n const savedMapping = dataBindAes[selectedSource];\n if (savedMapping && !isAestheticMappingCategorical(savedMapping)) {\n return {};\n }\n const uniqueValues = uniqueValuesData[selectedSource]?.list ?? [];\n const mapping = savedMapping ?? createDefaultMapping(uniqueValues);\n if (!mapping.order.length) {\n return {order: [], inheritedAes: {}};\n }\n return {\n order: mapping.order.filter((v) => !mapping.hidden?.[v]),\n inheritedAes: mapping.order.reduce((res: Record<string, any>, value) => {\n const aes = mapping.mapping[value].aes;\n res[value] = {\n fillColor: aes.color,\n lineColor: DEFAULT_BLACK,\n dotFill: DEFAULT_BLACK,\n dotShape: DEFAULT_DOT_SHAPE,\n dotSize: DEFAULT_DOT_SIZE,\n lineWidth: DEFAULT_LINE_WIDTH,\n };\n return res;\n }, {})\n };\n}\n\nexport function getDendroAes(\n selectedSource: string,\n uniqueValuesData: UniqueValuesBySourceMap,\n dataBindAes: AestheticMappingState,\n field: keyof AestheticValues,\n): Record<string, AestheticValues[keyof AestheticValues]> {\n const uniqueValues = uniqueValuesData[selectedSource]?.list ?? [];\n const mapping =\n dataBindAes[selectedSource] as AestheticMappingCategorical ??\n createDefaultMapping(uniqueValues);\n return mapping.order.reduce(\n (res: Record<string, AestheticValues[keyof AestheticValues]>, value) => {\n const aes = mapping.mapping[value].aes;\n res[value] = aes[field] as string;\n return res;\n },\n {},\n );\n}\n"],"names":["isAestheticMappingContinuous","v","isAestheticMappingCategorical","isAestheticMapping","DEFAULT_LINE_COLOR","DEFAULT_LINE_SHAPE","DEFAULT_LINE_WIDTH","DEFAULT_DOT_SHAPE","DEFAULT_DOT_SIZE","DEFAULT_DOT_SIZE_CANVAS","DEFAULT_DOT_RANGE","DEFAULT_NA_AES","DEFAULT_PALETTE","getColorScale","colors","colorStep","scaleLinear","_c","idx","createCategoricalMappingFromPalette","palette","values","PALETTE_MAP","step","colorScale","categorical","isCategorical","mapping","res","value","FIXED_LINE_TYPES","FIXES_DOT_SHAPES","INPUTS_WITH_AES_MAPPINGS","updateDataBindAes","optionsState","dataBindAes","uniqueValuesMap","inputName","selectorStates","_a","selectedSource","savedMapping","uniqueValues","updateCategoricalMapping","newUniqueValues","currentMapping","order","uniqueValuesSet","orderValuesSet","addedValues","removedValues","newOrder","newMapping","index","createContinuousMappingFromPalette","createDefaultMapping","getChartSettingsInheritedAes","uniqueValuesData","sourceId","usedAesInMapping","aes","getScatterplotAes","getHistogramAes","DEFAULT_BLACK","getDendroAes","field"],"mappings":"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"}
1
+ {"version":3,"file":"dataBindAes.js","sources":["../src/dataBindAes.ts"],"sourcesContent":["import type { InputState } from '@milaboratories/pf-plots';\nimport { scaleLinear } from 'd3-scale';\nimport type {\n ContinuousPalette,\n DotShape,\n LineType,\n Palette,\n} from './components/AesSettings/types';\nimport {\n DEFAULT_BLACK,\n FIXED_LINE_TYPES,\n FIXES_DOT_SHAPES,\n isCategorical,\n PALETTE_MAP,\n} from './constantsAesthetic';\nimport type { AesType, ContinuousDataMappingSize, NumberRange } from './constantsCommon';\nimport type { UniqueValuesBySourceMap } from './types';\n\nexport type AestheticMappingState = Record<string, AestheticMapping>;\nexport type AestheticMapping =\n | AestheticMappingContinuous\n | AestheticMappingCategorical;\n\ninterface MappingRange {\n maxValue: number | null;\n minValue: number | null;\n}\n\n/** Mapping for continuous axes (numerical axes) */\nexport interface AestheticMappingContinuous {\n type: 'continuous';\n palette: ContinuousPalette;\n range: MappingRange | null;\n midPoint: number | null;\n log: boolean;\n naAes: AestheticValues;\n}\n\nexport function isAestheticMappingContinuous(v: unknown | AestheticMappingContinuous): v is AestheticMappingContinuous {\n return v !== null && typeof v === 'object' && 'palette' in v && 'type' in v && v.type === 'continuous';\n}\n\n/** Mapping for categorical axes (string axes) */\nexport interface AestheticMappingCategorical {\n type: 'categorical';\n palette: Palette;\n naAes: AestheticValues;\n order: string[];\n hidden?: Record<string, boolean>;\n mapping: AestheticMappingRecord;\n}\n\nexport function isAestheticMappingCategorical(v: unknown | AestheticMappingCategorical): v is AestheticMappingCategorical {\n return v !== null && typeof v === 'object' && 'palette' in v && 'type' in v && v.type === 'categorical';\n}\n\nexport function isAestheticMapping(v: unknown | AestheticMappingContinuous | AestheticMappingCategorical): v is AestheticMapping {\n return isAestheticMappingCategorical(v) || isAestheticMappingContinuous(v);\n}\n\n// key - column value, colorIdx - idx of color (if palette is categorical) of percent value of colors gradient (if palette is continuous)\ntype AestheticMappingRecord = Record<\n string | number,\n {\n aes: Partial<AestheticValues>;\n colorIdx: number;\n }\n>;\n\ninterface AestheticValues {\n /** Number to retrieve the color from pallet, string to represent specific color as hex */\n color: string;\n lineShape: LineType;\n dotShape: DotShape;\n}\n\nexport const DEFAULT_LINE_COLOR = '#110529';\nexport const DEFAULT_LINE_SHAPE: LineType = 'solid';\nexport const DEFAULT_LINE_WIDTH = 1;\nexport const DEFAULT_DOT_SHAPE: DotShape = '21'; // colored circle, shape number as in R\nexport const DEFAULT_DOT_SIZE = 3; // radius;\nexport const DEFAULT_DOT_SIZE_CANVAS = 2;\nexport const DEFAULT_DOT_RANGE: NumberRange = { min: 3, max: 10 }; // radius;\n\nexport const DEFAULT_NA_AES = {\n color: '#ccc',\n lineShape: DEFAULT_LINE_SHAPE as LineType,\n dotShape: DEFAULT_DOT_SHAPE as DotShape,\n};\nconst DEFAULT_PALETTE: Palette = 'light';\n\nfunction getColorScale(colors: string[]) {\n const colorStep = 1 / (colors.length - 1);\n return scaleLinear<string, string>()\n .domain(colors.map((_c, idx) => idx * colorStep))\n .range(colors);\n}\n\nexport function createCategoricalMappingFromPalette(\n palette: Palette,\n values: string[],\n): AestheticMappingCategorical {\n const colors = PALETTE_MAP[palette].colors;\n const step = values.length > 1 ? 1 / (values.length - 1) : 0;\n const colorScale = getColorScale(colors);\n\n const categorical = isCategorical(palette);\n const mapping = values.reduce((res: AestheticMappingRecord, value, idx) => {\n res[value] = {\n colorIdx: categorical ? idx : idx * step,\n aes: {\n color: categorical\n ? colors[idx % colors.length]\n : colorScale(idx * step),\n lineShape: FIXED_LINE_TYPES[idx % FIXED_LINE_TYPES.length],\n dotShape: FIXES_DOT_SHAPES[idx % FIXES_DOT_SHAPES.length],\n },\n };\n return res;\n }, {});\n return {\n type: 'categorical',\n palette: palette,\n naAes: DEFAULT_NA_AES,\n order: values,\n hidden: {},\n mapping,\n };\n}\n\nconst INPUTS_WITH_AES_MAPPINGS = [\n 'primaryGrouping', 'secondaryGrouping', // discrete charts\n 'grouping', 'shape', // scatterplot\n 'nodeColor', 'nodeShape', 'lineColor', 'heatmapAnnotation', // dendro\n];\nexport function updateDataBindAes(\n optionsState: InputState,\n dataBindAes: Record<string, AestheticMapping>,\n uniqueValuesMap: UniqueValuesBySourceMap,\n) {\n INPUTS_WITH_AES_MAPPINGS.forEach((inputName) => {\n const selectorStates = optionsState.components[inputName as keyof InputState]?.selectorStates;\n selectorStates?.forEach(({ selectedSource }) => {\n const savedMapping = dataBindAes[selectedSource];\n const uniqueValues = uniqueValuesMap[selectedSource]?.list;\n if (savedMapping && uniqueValues && isAestheticMappingCategorical(savedMapping)) {\n dataBindAes[selectedSource] = updateCategoricalMapping(uniqueValues, savedMapping);\n }\n });\n });\n}\n\nexport function updateCategoricalMapping(\n newUniqueValues: string[],\n currentMapping: AestheticMappingCategorical,\n): AestheticMappingCategorical {\n const { palette, order, mapping } = currentMapping;\n const uniqueValuesSet = new Set(newUniqueValues);\n const orderValuesSet = new Set(order);\n const addedValues: string[] = newUniqueValues.filter((v) => !orderValuesSet.has(v));\n const removedValues: string[] = order.filter((v) => !uniqueValuesSet.has(v as string));\n if (!addedValues.length && !removedValues.length) {\n return currentMapping;\n }\n const newOrder = [...newUniqueValues];\n const newMapping = { ...mapping };\n const colors = PALETTE_MAP[palette].colors;\n addedValues.forEach((v, idx) => {\n const index = idx + (order.length ? mapping[order[order.length - 1]].colorIdx + 1 : 0);\n newMapping[v] = {\n colorIdx: index,\n aes: {\n color: colors[index % colors.length],\n lineShape: FIXED_LINE_TYPES[index % FIXED_LINE_TYPES.length],\n dotShape: FIXES_DOT_SHAPES[index % FIXES_DOT_SHAPES.length],\n },\n };\n });\n removedValues.forEach((v) => {\n if (newMapping[v]) {\n delete newMapping[v];\n }\n });\n\n return { ...currentMapping, order: newOrder, mapping: newMapping } as AestheticMappingCategorical;\n}\nexport function createContinuousMappingFromPalette(palette: ContinuousPalette): AestheticMappingContinuous {\n return {\n type: 'continuous',\n palette: palette,\n naAes: DEFAULT_NA_AES,\n range: null,\n midPoint: null,\n log: false,\n };\n}\n\nexport function createDefaultMapping(\n values: string[],\n): AestheticMappingCategorical {\n return createCategoricalMappingFromPalette(DEFAULT_PALETTE, values);\n}\n\nexport function createDefaultContinuousMapping(columnId: string): ContinuousDataMappingSize {\n return {\n column: columnId,\n range: DEFAULT_DOT_RANGE,\n };\n}\n\nexport function getChartSettingsInheritedAes(\n uniqueValuesData: UniqueValuesBySourceMap,\n savedMapping: AestheticMapping | undefined,\n sourceId: string | null,\n usedAesInMapping: Record<AesType, boolean>,\n) {\n if (savedMapping?.type === 'continuous') {\n return { inheritedAes: {} };\n }\n const uniqueValues = sourceId ? uniqueValuesData[sourceId]?.list ?? [] : [];\n const mapping = savedMapping ?? createDefaultMapping(uniqueValues);\n if (!mapping.order.length) {\n return { inheritedAes: {} };\n }\n return {\n order: mapping.order.filter((v) => !mapping.hidden?.[v]),\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n inheritedAes: mapping.order.reduce((res: Record<string, any>, value) => { // TODO: remove any\n const aes = mapping.mapping[value].aes;\n res[value] = {};\n if (usedAesInMapping.fill) {\n res[value].fillColor = aes.color;\n res[value].dotFill = aes.color;\n }\n if (usedAesInMapping.stroke) {\n res[value].lineColor = aes.color;\n }\n if (usedAesInMapping.dotShape) {\n res[value].dotShape = aes.dotShape;\n }\n if (usedAesInMapping.lineType) {\n res[value].lineShape = aes.lineShape;\n }\n return res;\n }, {}),\n };\n}\n\nexport function getScatterplotAes(\n selectedSource: string,\n uniqueValuesData: UniqueValuesBySourceMap,\n dataBindAes: AestheticMappingState,\n) {\n const savedMapping = dataBindAes[selectedSource];\n if (savedMapping && !isAestheticMappingCategorical(savedMapping)) {\n return { order: [], inheritedAes: {} };\n }\n const uniqueValues = uniqueValuesData[selectedSource]?.list ?? [];\n const mapping = savedMapping ?? createDefaultMapping(uniqueValues);\n return {\n order: mapping.order,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n inheritedAes: mapping.order.reduce((res: Record<string, any>, value) => { // TODO: remove any\n const aes = mapping.mapping[value].aes;\n res[value] = {\n fillColor: aes.color,\n lineColor: aes.color,\n dotFill: aes.color,\n dotShape: aes.dotShape,\n dotSize: DEFAULT_DOT_SIZE,\n lineWidth: DEFAULT_LINE_WIDTH,\n };\n return res;\n }, {}),\n };\n}\n\nexport function getHistogramAes(\n selectedSource: string,\n uniqueValuesData: UniqueValuesBySourceMap,\n dataBindAes: AestheticMappingState,\n) {\n const savedMapping = dataBindAes[selectedSource];\n if (savedMapping && !isAestheticMappingCategorical(savedMapping)) {\n return {};\n }\n const uniqueValues = uniqueValuesData[selectedSource]?.list ?? [];\n const mapping = savedMapping ?? createDefaultMapping(uniqueValues);\n if (!mapping.order.length) {\n return { order: [], inheritedAes: {} };\n }\n return {\n order: mapping.order.filter((v) => !mapping.hidden?.[v]),\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n inheritedAes: mapping.order.reduce((res: Record<string, any>, value) => { // TODO: remove any\n const aes = mapping.mapping[value].aes;\n res[value] = {\n fillColor: aes.color,\n lineColor: DEFAULT_BLACK,\n dotFill: DEFAULT_BLACK,\n dotShape: DEFAULT_DOT_SHAPE,\n dotSize: DEFAULT_DOT_SIZE,\n lineWidth: DEFAULT_LINE_WIDTH,\n };\n return res;\n }, {}),\n };\n}\n\nexport function getDendroAes(\n selectedSource: string,\n uniqueValuesData: UniqueValuesBySourceMap,\n dataBindAes: AestheticMappingState,\n field: keyof AestheticValues,\n): Record<string, AestheticValues[keyof AestheticValues]> {\n const uniqueValues = uniqueValuesData[selectedSource]?.list ?? [];\n const mapping\n = dataBindAes[selectedSource] as AestheticMappingCategorical\n ?? createDefaultMapping(uniqueValues);\n return mapping.order.reduce(\n (res: Record<string, AestheticValues[keyof AestheticValues]>, value) => {\n const aes = mapping.mapping[value].aes;\n res[value] = aes[field] as string;\n return res;\n },\n {},\n );\n}\n"],"names":["isAestheticMappingContinuous","v","isAestheticMappingCategorical","isAestheticMapping","DEFAULT_LINE_COLOR","DEFAULT_LINE_SHAPE","DEFAULT_LINE_WIDTH","DEFAULT_DOT_SHAPE","DEFAULT_DOT_SIZE","DEFAULT_DOT_SIZE_CANVAS","DEFAULT_DOT_RANGE","DEFAULT_NA_AES","DEFAULT_PALETTE","getColorScale","colors","colorStep","scaleLinear","_c","idx","createCategoricalMappingFromPalette","palette","values","PALETTE_MAP","step","colorScale","categorical","isCategorical","mapping","res","value","FIXED_LINE_TYPES","FIXES_DOT_SHAPES","INPUTS_WITH_AES_MAPPINGS","updateDataBindAes","optionsState","dataBindAes","uniqueValuesMap","inputName","selectorStates","_a","selectedSource","savedMapping","uniqueValues","updateCategoricalMapping","newUniqueValues","currentMapping","order","uniqueValuesSet","orderValuesSet","addedValues","removedValues","newOrder","newMapping","index","createContinuousMappingFromPalette","createDefaultMapping","getChartSettingsInheritedAes","uniqueValuesData","sourceId","usedAesInMapping","aes","getScatterplotAes","getHistogramAes","DEFAULT_BLACK","getDendroAes","field"],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ declare function __VLS_template(): {
2
+ attrs: Partial<{}>;
3
+ slots: {
4
+ default?(_: {}): any;
5
+ };
6
+ refs: {};
7
+ rootEl: HTMLDivElement;
8
+ };
9
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
+ declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
11
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
12
+ export default _default;
13
+ type __VLS_WithTemplateSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1,16 @@
1
+ import { createElementBlock as r, openBlock as e, renderSlot as s } from "vue";
2
+ import a from "../_virtual/_plugin-vue_export-helper.js";
3
+ const c = {};
4
+ function f(t, o) {
5
+ return e(), r("div", {
6
+ class: "annotations-form",
7
+ onClick: o[0] || (o[0] = (n) => n.stopPropagation())
8
+ }, [
9
+ s(t.$slots, "default")
10
+ ]);
11
+ }
12
+ const m = /* @__PURE__ */ a(c, [["render", f]]);
13
+ export {
14
+ m as default
15
+ };
16
+ //# sourceMappingURL=AnnotationsForm.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnnotationsForm.vue.js","sources":["../../src/forms/AnnotationsForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n\n</script>\n\n<template>\n <div class=\"annotations-form\" @click=\"(e) => e.stopPropagation()\">\n <slot/>\n </div>\n</template>\n"],"names":["_createElementBlock","_cache","e","_renderSlot","_ctx"],"mappings":";;;;cAKEA,EAEM,OAAA;AAAA,IAFD,OAAM;AAAA,IAAoB,SAAKC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAGC,MAAMA,EAAE,gBAAe;AAAA;IAC5DC,EAAOC,EAAA,QAAA,SAAA;AAAA;;;"}
@@ -57,26 +57,26 @@ const P = { class: "axes-settings-list" }, Y = { class: "axes-settings-options-r
57
57
  default: p(() => [
58
58
  s("div", Y, [
59
59
  i(t(n), {
60
- label: "Title",
61
- options: r,
62
60
  modelValue: t(o).title.mode,
63
- "onUpdate:modelValue": e[0] || (e[0] = (l) => t(o).title.mode = l)
61
+ "onUpdate:modelValue": e[0] || (e[0] = (l) => t(o).title.mode = l),
62
+ label: "Title",
63
+ options: r
64
64
  }, null, 8, ["modelValue"])
65
65
  ]),
66
66
  t(o).title.mode === "custom" ? (d(), a("div", M, [
67
67
  i(t(V), {
68
- label: "Chart title",
69
- placeholder: "Chart title",
70
68
  modelValue: t(o).title.value,
71
- "onUpdate:modelValue": e[1] || (e[1] = (l) => t(o).title.value = l)
69
+ "onUpdate:modelValue": e[1] || (e[1] = (l) => t(o).title.value = l),
70
+ label: "Chart title",
71
+ placeholder: "Chart title"
72
72
  }, null, 8, ["modelValue"])
73
73
  ])) : x("", !0),
74
74
  s("div", R, [
75
75
  e[14] || (e[14] = s("span", null, "Alignment", -1)),
76
76
  i(u, {
77
- options: A,
78
77
  modelValue: t(o).title.position,
79
- "onUpdate:modelValue": e[2] || (e[2] = (l) => t(o).title.position = l)
78
+ "onUpdate:modelValue": e[2] || (e[2] = (l) => t(o).title.position = l),
79
+ options: A
80
80
  }, null, 8, ["modelValue"])
81
81
  ])
82
82
  ]),
@@ -92,33 +92,33 @@ const P = { class: "axes-settings-list" }, Y = { class: "axes-settings-options-r
92
92
  s("div", E, [
93
93
  e[15] || (e[15] = s("span", null, "Labels rotation", -1)),
94
94
  i(u, {
95
- options: T,
96
95
  modelValue: t(o).axisX.axisLabelsAngle,
97
- "onUpdate:modelValue": e[3] || (e[3] = (l) => t(o).axisX.axisLabelsAngle = l)
96
+ "onUpdate:modelValue": e[3] || (e[3] = (l) => t(o).axisX.axisLabelsAngle = l),
97
+ options: T
98
98
  }, null, 8, ["modelValue"])
99
99
  ]),
100
100
  s("div", F, [
101
101
  i(t(n), {
102
- label: "Title",
103
- options: r,
104
102
  modelValue: t(o).axisX.titleMode,
105
- "onUpdate:modelValue": e[4] || (e[4] = (l) => t(o).axisX.titleMode = l)
103
+ "onUpdate:modelValue": e[4] || (e[4] = (l) => t(o).axisX.titleMode = l),
104
+ label: "Title",
105
+ options: r
106
106
  }, null, 8, ["modelValue"])
107
107
  ]),
108
108
  t(o).axisX.titleMode === "custom" ? (d(), a("div", y, [
109
109
  i(t(V), {
110
- label: "Text",
111
- placeholder: "Type",
112
110
  modelValue: t(o).axisX.customTitle,
113
- "onUpdate:modelValue": e[5] || (e[5] = (l) => t(o).axisX.customTitle = l)
111
+ "onUpdate:modelValue": e[5] || (e[5] = (l) => t(o).axisX.customTitle = l),
112
+ label: "Text",
113
+ placeholder: "Type"
114
114
  }, null, 8, ["modelValue"])
115
115
  ])) : x("", !0),
116
116
  s("div", B, [
117
117
  i(t(n), {
118
- label: "Sorting",
119
- options: b,
120
118
  modelValue: t(o).axisX.sorting,
121
- "onUpdate:modelValue": e[6] || (e[6] = (l) => t(o).axisX.sorting = l)
119
+ "onUpdate:modelValue": e[6] || (e[6] = (l) => t(o).axisX.sorting = l),
120
+ label: "Sorting",
121
+ options: b
122
122
  }, null, 8, ["modelValue"])
123
123
  ])
124
124
  ]),
@@ -134,33 +134,33 @@ const P = { class: "axes-settings-list" }, Y = { class: "axes-settings-options-r
134
134
  s("div", G, [
135
135
  e[16] || (e[16] = s("span", null, "Labels rotation", -1)),
136
136
  i(u, {
137
- options: T,
138
137
  modelValue: t(o).axisY.axisLabelsAngle,
139
- "onUpdate:modelValue": e[7] || (e[7] = (l) => t(o).axisY.axisLabelsAngle = l)
138
+ "onUpdate:modelValue": e[7] || (e[7] = (l) => t(o).axisY.axisLabelsAngle = l),
139
+ options: T
140
140
  }, null, 8, ["modelValue"])
141
141
  ]),
142
142
  s("div", H, [
143
143
  i(t(n), {
144
- label: "Title",
145
- options: r,
146
144
  modelValue: t(o).axisY.titleMode,
147
- "onUpdate:modelValue": e[8] || (e[8] = (l) => t(o).axisY.titleMode = l)
145
+ "onUpdate:modelValue": e[8] || (e[8] = (l) => t(o).axisY.titleMode = l),
146
+ label: "Title",
147
+ options: r
148
148
  }, null, 8, ["modelValue"])
149
149
  ]),
150
150
  t(o).axisY.titleMode === "custom" ? (d(), a("div", D, [
151
151
  i(t(V), {
152
- label: "Text",
153
- placeholder: "Type",
154
152
  modelValue: t(o).axisY.customTitle,
155
- "onUpdate:modelValue": e[9] || (e[9] = (l) => t(o).axisY.customTitle = l)
153
+ "onUpdate:modelValue": e[9] || (e[9] = (l) => t(o).axisY.customTitle = l),
154
+ label: "Text",
155
+ placeholder: "Type"
156
156
  }, null, 8, ["modelValue"])
157
157
  ])) : x("", !0),
158
158
  s("div", $, [
159
159
  i(t(n), {
160
- label: "Sorting",
161
- options: b,
162
160
  modelValue: t(o).axisY.sorting,
163
- "onUpdate:modelValue": e[10] || (e[10] = (l) => t(o).axisY.sorting = l)
161
+ "onUpdate:modelValue": e[10] || (e[10] = (l) => t(o).axisY.sorting = l),
162
+ label: "Sorting",
163
+ options: b
164
164
  }, null, 8, ["modelValue"])
165
165
  ])
166
166
  ]),
@@ -170,22 +170,22 @@ const P = { class: "axes-settings-list" }, Y = { class: "axes-settings-options-r
170
170
  s("div", j, [
171
171
  e[17] || (e[17] = s("span", null, "Frame", -1)),
172
172
  i(u, {
173
- options: c,
174
173
  modelValue: t(o).other.frame,
175
- "onUpdate:modelValue": e[11] || (e[11] = (l) => t(o).other.frame = l)
174
+ "onUpdate:modelValue": e[11] || (e[11] = (l) => t(o).other.frame = l),
175
+ options: c
176
176
  }, null, 8, ["modelValue"])
177
177
  ]),
178
178
  s("div", q, [
179
179
  i(t(S), {
180
+ modelValue: t(o).other.facetColumns,
181
+ "onUpdate:modelValue": e[12] || (e[12] = (l) => t(o).other.facetColumns = l),
180
182
  style: { width: "100%" },
181
183
  label: "Facet column count",
182
184
  min: 1,
183
185
  max: 6,
184
186
  step: 1,
185
187
  breakpoints: !0,
186
- mode: "input",
187
- modelValue: t(o).other.facetColumns,
188
- "onUpdate:modelValue": e[12] || (e[12] = (l) => t(o).other.facetColumns = l)
188
+ mode: "input"
189
189
  }, null, 8, ["modelValue"])
190
190
  ])
191
191
  ])
@@ -1 +1 @@
1
- {"version":3,"file":"BubbleAxesSettingsForm.vue.js","sources":["../../../src/forms/AxesSettingsForm/BubbleAxesSettingsForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { Slider } from '@platforma-sdk/ui-vue';\nimport { useStore } from '../../store';\nimport CollapsableBlock from '../../components/CollapsableBlock.vue';\nimport Right from '../../icons/Right.vue';\nimport Down from '../../icons/Down.vue';\nimport { PlTextField, PlBtnGroup } from '@platforma-sdk/ui-vue';\nimport BtnIconGroup from '../../components/BtnIconGroup.vue';\nimport AlignLeft from '../../icons/AlignLeft.vue';\nimport AlignCenter from '../../icons/AlignCenter.vue';\nimport AlignRight from '../../icons/AlignRight.vue';\nimport FrameFull from '../../icons/FrameFull.vue';\nimport FrameEmpty from '../../icons/FrameEmpty.vue';\nimport Rotation0 from '../../icons/Rotation0.vue';\nimport Rotation45 from '../../icons/Rotation45.vue';\nimport Rotation90 from '../../icons/Rotation90.vue';\n\nconst store = useStore();\nconst settings = store.value.reactive.axesSettings;\nconst blockSettings = {\n height: 40,\n horizontalPadding: 12,\n defaultState: 'open' as 'open' | 'close'\n};\nconst OPTIONS_TITLE_ALIGN = [\n {value: 'left', icon: AlignLeft},\n {value: 'center', icon: AlignCenter},\n {value: 'right', icon: AlignRight},\n]\nconst OPTIONS_HEATMAP_ROTATION = [\n { value: 0, icon: Rotation0 },\n { value: 45, icon: Rotation45 },\n { value: 90, icon: Rotation90 }\n];\nconst OPTIONS_AXIS_LABEL_MODE = [\n { value: 'auto', text: 'Auto' },\n { value: 'custom', text: 'Custom' },\n { value: 'hidden', text: 'Hide' }\n];\nconst OPTIONS_CHART_FRAME = [\n { value: 'none', icon: FrameEmpty },\n { value: 'full', icon: FrameFull }\n];\nconst OPTIONS_SORTING = [\n { text: 'ascending', value: 'asc' },\n { text: 'descending', value: 'desc' },\n];\n\n</script>\n\n<template>\n <div class=\"axes-form\" @click=\"(e) => e.stopPropagation()\">\n <h3 class=\"axes-title\">\n Axes\n </h3>\n <div class=\"axes-settings-list\">\n <!-- Chart title -->\n <collapsable-block title=\"Title\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row block\">\n <pl-btn-group\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n v-model=\"settings.title.mode\"\n />\n </div>\n <div class=\"axes-settings-input\" v-if=\"settings.title.mode === 'custom'\">\n <pl-text-field\n label=\"Chart title\"\n placeholder=\"Chart title\"\n v-model=\"settings.title.value\"\n />\n </div>\n <div class=\"axes-settings-options-row\">\n <span>Alignment</span>\n <btn-icon-group :options=\"OPTIONS_TITLE_ALIGN\" v-model=\"settings.title.position\"/>\n </div>\n </collapsable-block>\n <!-- X axis settings-->\n <collapsable-block title=\"X-axis\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row\">\n <span>Labels rotation</span>\n <btn-icon-group :options=\"OPTIONS_HEATMAP_ROTATION\" v-model=\"settings.axisX.axisLabelsAngle\" />\n </div>\n <div class=\"axes-settings-options-row block\">\n <pl-btn-group\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n v-model=\"settings.axisX.titleMode\"\n />\n </div>\n <div v-if=\"settings.axisX.titleMode === 'custom'\">\n <pl-text-field\n label=\"Text\"\n placeholder=\"Type\"\n v-model=\"settings.axisX.customTitle\"\n />\n </div>\n <div class=\"axes-settings-options-row block\">\n <pl-btn-group\n label=\"Sorting\"\n :options=\"OPTIONS_SORTING\"\n v-model=\"settings.axisX.sorting\"\n />\n </div>\n </collapsable-block>\n <!-- Y axis settings-->\n <collapsable-block title=\"Y-axis\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row\">\n <span>Labels rotation</span>\n <btn-icon-group :options=\"OPTIONS_HEATMAP_ROTATION\" v-model=\"settings.axisY.axisLabelsAngle\" />\n </div>\n <div class=\"axes-settings-options-row block\">\n <pl-btn-group\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n v-model=\"settings.axisY.titleMode\"\n />\n </div>\n <div v-if=\"settings.axisY.titleMode === 'custom'\">\n <pl-text-field\n label=\"Text\"\n placeholder=\"Type\"\n v-model=\"settings.axisY.customTitle\"\n />\n </div>\n <div class=\"axes-settings-options-row block\">\n <pl-btn-group\n label=\"Sorting\"\n :options=\"OPTIONS_SORTING\"\n v-model=\"settings.axisY.sorting\"\n />\n </div>\n </collapsable-block>\n\n <div class=\"other\">\n <div class=\"axes-settings-options-row\">\n <span>Frame</span>\n <btn-icon-group :options=\"OPTIONS_CHART_FRAME\" v-model=\"settings.other.frame\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <Slider\n :style=\"{width: '100%'}\"\n label=\"Facet column count\"\n :min=\"1\"\n :max=\"6\"\n :step=\"1\"\n :breakpoints=\"true\"\n mode=\"input\"\n v-model=\"settings.other.facetColumns\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"names":["settings","useStore","blockSettings","OPTIONS_TITLE_ALIGN","AlignLeft","AlignCenter","AlignRight","OPTIONS_HEATMAP_ROTATION","Rotation0","Rotation45","Rotation90","OPTIONS_AXIS_LABEL_MODE","OPTIONS_CHART_FRAME","FrameEmpty","FrameFull","OPTIONS_SORTING","_createElementBlock","_cache","e","_createElementVNode","_hoisted_1","_createVNode","CollapsableBlock","Right","Down","_hoisted_2","_unref","PlBtnGroup","$event","_openBlock","_hoisted_3","PlTextField","_hoisted_4","BtnIconGroup","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","Slider"],"mappings":"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"}
1
+ {"version":3,"file":"BubbleAxesSettingsForm.vue.js","sources":["../../../src/forms/AxesSettingsForm/BubbleAxesSettingsForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { Slider } from '@platforma-sdk/ui-vue';\nimport { useStore } from '../../store';\nimport CollapsableBlock from '../../components/CollapsableBlock.vue';\nimport Right from '../../icons/Right.vue';\nimport Down from '../../icons/Down.vue';\nimport { PlTextField, PlBtnGroup } from '@platforma-sdk/ui-vue';\nimport BtnIconGroup from '../../components/BtnIconGroup.vue';\nimport AlignLeft from '../../icons/AlignLeft.vue';\nimport AlignCenter from '../../icons/AlignCenter.vue';\nimport AlignRight from '../../icons/AlignRight.vue';\nimport FrameFull from '../../icons/FrameFull.vue';\nimport FrameEmpty from '../../icons/FrameEmpty.vue';\nimport Rotation0 from '../../icons/Rotation0.vue';\nimport Rotation45 from '../../icons/Rotation45.vue';\nimport Rotation90 from '../../icons/Rotation90.vue';\n\nconst store = useStore();\nconst settings = store.value.reactive.axesSettings;\nconst blockSettings = {\n height: 40,\n horizontalPadding: 12,\n defaultState: 'open' as 'open' | 'close',\n};\nconst OPTIONS_TITLE_ALIGN = [\n { value: 'left', icon: AlignLeft },\n { value: 'center', icon: AlignCenter },\n { value: 'right', icon: AlignRight },\n];\nconst OPTIONS_HEATMAP_ROTATION = [\n { value: 0, icon: Rotation0 },\n { value: 45, icon: Rotation45 },\n { value: 90, icon: Rotation90 },\n];\nconst OPTIONS_AXIS_LABEL_MODE = [\n { value: 'auto', text: 'Auto' },\n { value: 'custom', text: 'Custom' },\n { value: 'hidden', text: 'Hide' },\n];\nconst OPTIONS_CHART_FRAME = [\n { value: 'none', icon: FrameEmpty },\n { value: 'full', icon: FrameFull },\n];\nconst OPTIONS_SORTING = [\n { text: 'ascending', value: 'asc' },\n { text: 'descending', value: 'desc' },\n];\n\n</script>\n\n<template>\n <div class=\"axes-form\" @click=\"(e) => e.stopPropagation()\">\n <h3 class=\"axes-title\">\n Axes\n </h3>\n <div class=\"axes-settings-list\">\n <!-- Chart title -->\n <CollapsableBlock title=\"Title\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.title.mode\"\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n />\n </div>\n <div v-if=\"settings.title.mode === 'custom'\" class=\"axes-settings-input\">\n <PlTextField\n v-model=\"settings.title.value\"\n label=\"Chart title\"\n placeholder=\"Chart title\"\n />\n </div>\n <div class=\"axes-settings-options-row\">\n <span>Alignment</span>\n <BtnIconGroup v-model=\"settings.title.position\" :options=\"OPTIONS_TITLE_ALIGN\"/>\n </div>\n </CollapsableBlock>\n <!-- X axis settings-->\n <CollapsableBlock title=\"X-axis\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row\">\n <span>Labels rotation</span>\n <BtnIconGroup v-model=\"settings.axisX.axisLabelsAngle\" :options=\"OPTIONS_HEATMAP_ROTATION\" />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisX.titleMode\"\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n />\n </div>\n <div v-if=\"settings.axisX.titleMode === 'custom'\">\n <PlTextField\n v-model=\"settings.axisX.customTitle\"\n label=\"Text\"\n placeholder=\"Type\"\n />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisX.sorting\"\n label=\"Sorting\"\n :options=\"OPTIONS_SORTING\"\n />\n </div>\n </CollapsableBlock>\n <!-- Y axis settings-->\n <CollapsableBlock title=\"Y-axis\" :settings=\"blockSettings\" :icon=\"Right\" :icon-open=\"Down\">\n <div class=\"axes-settings-options-row\">\n <span>Labels rotation</span>\n <BtnIconGroup v-model=\"settings.axisY.axisLabelsAngle\" :options=\"OPTIONS_HEATMAP_ROTATION\" />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisY.titleMode\"\n label=\"Title\"\n :options=\"OPTIONS_AXIS_LABEL_MODE\"\n />\n </div>\n <div v-if=\"settings.axisY.titleMode === 'custom'\">\n <PlTextField\n v-model=\"settings.axisY.customTitle\"\n label=\"Text\"\n placeholder=\"Type\"\n />\n </div>\n <div class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.axisY.sorting\"\n label=\"Sorting\"\n :options=\"OPTIONS_SORTING\"\n />\n </div>\n </CollapsableBlock>\n\n <div class=\"other\">\n <div class=\"axes-settings-options-row\">\n <span>Frame</span>\n <BtnIconGroup v-model=\"settings.other.frame\" :options=\"OPTIONS_CHART_FRAME\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <Slider\n v-model=\"settings.other.facetColumns\"\n :style=\"{width: '100%'}\"\n label=\"Facet column count\"\n :min=\"1\"\n :max=\"6\"\n :step=\"1\"\n :breakpoints=\"true\"\n mode=\"input\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"names":["settings","useStore","blockSettings","OPTIONS_TITLE_ALIGN","AlignLeft","AlignCenter","AlignRight","OPTIONS_HEATMAP_ROTATION","Rotation0","Rotation45","Rotation90","OPTIONS_AXIS_LABEL_MODE","OPTIONS_CHART_FRAME","FrameEmpty","FrameFull","OPTIONS_SORTING","_createElementBlock","_cache","e","_createElementVNode","_hoisted_1","_createVNode","CollapsableBlock","Right","Down","_hoisted_2","_unref","PlBtnGroup","$event","_openBlock","_hoisted_3","PlTextField","_hoisted_4","BtnIconGroup","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","Slider"],"mappings":"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"}
@@ -93,6 +93,7 @@ const xe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
93
93
  labels: c.value.reduce((u, f) => (u[f] = (o == null ? void 0 : o[f]) ?? String(f), u), {})
94
94
  };
95
95
  }
96
+ return null;
96
97
  }), U = r(() => {
97
98
  var n;
98
99
  if (y.value) {
@@ -102,6 +103,7 @@ const xe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
102
103
  labels: w.value.reduce((u, f) => (u[f] = (o == null ? void 0 : o[f]) ?? String(f), u), {})
103
104
  };
104
105
  }
106
+ return null;
105
107
  });
106
108
  function M(n, e) {
107
109
  i.value.reactive.dataBindAes[e] = n;
@@ -135,26 +137,26 @@ const xe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
135
137
  default: b(() => [
136
138
  a("div", Ve, [
137
139
  s(l(S), {
138
- label: "Title",
139
- options: A,
140
140
  modelValue: l(t).title.mode,
141
- "onUpdate:modelValue": e[0] || (e[0] = (o) => l(t).title.mode = o)
141
+ "onUpdate:modelValue": e[0] || (e[0] = (o) => l(t).title.mode = o),
142
+ label: "Title",
143
+ options: A
142
144
  }, null, 8, ["modelValue"])
143
145
  ]),
144
146
  l(t).title.mode === "custom" ? (d(), p("div", ye, [
145
147
  s(l(I), {
146
- label: "Chart title",
147
- placeholder: "Chart title",
148
148
  modelValue: l(t).title.value,
149
- "onUpdate:modelValue": e[1] || (e[1] = (o) => l(t).title.value = o)
149
+ "onUpdate:modelValue": e[1] || (e[1] = (o) => l(t).title.value = o),
150
+ label: "Chart title",
151
+ placeholder: "Chart title"
150
152
  }, null, 8, ["modelValue"])
151
153
  ])) : m("", !0),
152
154
  a("div", be, [
153
155
  e[31] || (e[31] = a("span", null, "Alignment", -1)),
154
156
  s(R, {
155
- options: K,
156
157
  modelValue: l(t).title.position,
157
- "onUpdate:modelValue": e[2] || (e[2] = (o) => l(t).title.position = o)
158
+ "onUpdate:modelValue": e[2] || (e[2] = (o) => l(t).title.position = o),
159
+ options: K
158
160
  }, null, 8, ["modelValue"])
159
161
  ])
160
162
  ]),
@@ -184,18 +186,18 @@ const xe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
184
186
  var o;
185
187
  return [
186
188
  s(j, {
189
+ modelValue: L.value,
190
+ "onUpdate:modelValue": [
191
+ e[4] || (e[4] = (u) => L.value = u),
192
+ e[5] || (e[5] = (u) => M(u, g.value))
193
+ ],
187
194
  "column-value-labels": X.value.labels,
188
195
  "data-column-label": ((o = X.value.selectedSourceInfo) == null ? void 0 : o.label) ?? "",
189
196
  "used-aes-in-mapping": D.value[g.value],
190
197
  "allow-reordering": "",
191
198
  "allow-hiding": "",
192
- "allow-null-option": l(t).axisX.allowNullPrimaryGroups,
193
- modelValue: L.value,
194
- "onUpdate:modelValue": [
195
- e[4] || (e[4] = (u) => L.value = u),
196
- e[5] || (e[5] = (u) => M(u, g.value))
197
- ]
198
- }, null, 8, ["column-value-labels", "data-column-label", "used-aes-in-mapping", "allow-null-option", "modelValue"])
199
+ "allow-null-option": l(t).axisX.allowNullPrimaryGroups
200
+ }, null, 8, ["modelValue", "column-value-labels", "data-column-label", "used-aes-in-mapping", "allow-null-option"])
199
201
  ];
200
202
  }),
201
203
  _: 1
@@ -225,18 +227,18 @@ const xe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
225
227
  var o;
226
228
  return [
227
229
  s(j, {
230
+ modelValue: Y.value,
231
+ "onUpdate:modelValue": [
232
+ e[10] || (e[10] = (u) => Y.value = u),
233
+ e[11] || (e[11] = (u) => M(u, y.value))
234
+ ],
228
235
  "column-value-labels": U.value.labels,
229
236
  "data-column-label": ((o = U.value.selectedSourceInfo) == null ? void 0 : o.label) ?? "",
230
237
  "used-aes-in-mapping": D.value[y.value],
231
238
  "allow-reordering": "",
232
239
  "allow-hiding": "",
233
- "allow-null-option": l(t).axisX.allowNullSecondaryGroups,
234
- modelValue: Y.value,
235
- "onUpdate:modelValue": [
236
- e[10] || (e[10] = (u) => Y.value = u),
237
- e[11] || (e[11] = (u) => M(u, y.value))
238
- ]
239
- }, null, 8, ["column-value-labels", "data-column-label", "used-aes-in-mapping", "allow-null-option", "modelValue"])
240
+ "allow-null-option": l(t).axisX.allowNullSecondaryGroups
241
+ }, null, 8, ["modelValue", "column-value-labels", "data-column-label", "used-aes-in-mapping", "allow-null-option"])
240
242
  ];
241
243
  }),
242
244
  _: 1
@@ -252,25 +254,25 @@ const xe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
252
254
  l(i).reactive.chartType === "discrete" ? (d(), p("div", Te, [
253
255
  e[36] || (e[36] = a("span", null, "Labels rotation", -1)),
254
256
  s(R, {
255
- options: Q,
256
257
  modelValue: E.value,
257
- "onUpdate:modelValue": e[15] || (e[15] = (o) => E.value = o)
258
+ "onUpdate:modelValue": e[15] || (e[15] = (o) => E.value = o),
259
+ options: Q
258
260
  }, null, 8, ["modelValue"])
259
261
  ])) : m("", !0),
260
262
  a("div", Ae, [
261
263
  s(l(S), {
262
- label: "Title",
263
- options: A,
264
264
  modelValue: l(t).axisX.titleMode,
265
- "onUpdate:modelValue": e[16] || (e[16] = (o) => l(t).axisX.titleMode = o)
265
+ "onUpdate:modelValue": e[16] || (e[16] = (o) => l(t).axisX.titleMode = o),
266
+ label: "Title",
267
+ options: A
266
268
  }, null, 8, ["modelValue"])
267
269
  ]),
268
270
  l(t).axisX.titleMode === "custom" ? (d(), p("div", Oe, [
269
271
  s(l(I), {
270
- label: "Text",
271
- placeholder: "Type",
272
272
  modelValue: l(t).axisX.customTitle,
273
- "onUpdate:modelValue": e[17] || (e[17] = (o) => l(t).axisX.customTitle = o)
273
+ "onUpdate:modelValue": e[17] || (e[17] = (o) => l(t).axisX.customTitle = o),
274
+ label: "Text",
275
+ placeholder: "Type"
274
276
  }, null, 8, ["modelValue"])
275
277
  ])) : m("", !0),
276
278
  a("div", Xe, [
@@ -306,26 +308,26 @@ const xe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
306
308
  default: b(() => [
307
309
  a("div", Ge, [
308
310
  s(l(S), {
309
- label: "Title",
310
- options: A,
311
311
  modelValue: l(t).axisY.titleMode,
312
- "onUpdate:modelValue": e[21] || (e[21] = (o) => l(t).axisY.titleMode = o)
312
+ "onUpdate:modelValue": e[21] || (e[21] = (o) => l(t).axisY.titleMode = o),
313
+ label: "Title",
314
+ options: A
313
315
  }, null, 8, ["modelValue"])
314
316
  ]),
315
317
  l(t).axisY.titleMode === "custom" ? (d(), p("div", Pe, [
316
318
  s(l(I), {
317
- label: "Text",
318
- placeholder: "Type",
319
319
  modelValue: l(t).axisY.customTitle,
320
- "onUpdate:modelValue": e[22] || (e[22] = (o) => l(t).axisY.customTitle = o)
320
+ "onUpdate:modelValue": e[22] || (e[22] = (o) => l(t).axisY.customTitle = o),
321
+ label: "Text",
322
+ placeholder: "Type"
321
323
  }, null, 8, ["modelValue"])
322
324
  ])) : m("", !0),
323
325
  a("div", Ne, [
324
326
  s(l(S), {
325
- label: "Scale",
326
- options: W,
327
327
  modelValue: l(t).axisY.scale,
328
- "onUpdate:modelValue": e[23] || (e[23] = (o) => l(t).axisY.scale = o)
328
+ "onUpdate:modelValue": e[23] || (e[23] = (o) => l(t).axisY.scale = o),
329
+ label: "Scale",
330
+ options: W
329
331
  }, null, 8, ["modelValue"])
330
332
  ]),
331
333
  a("div", Re, [
@@ -349,9 +351,9 @@ const xe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
349
351
  a("div", Be, [
350
352
  e[42] || (e[42] = a("span", null, "Frame", -1)),
351
353
  s(R, {
352
- options: Z,
353
354
  modelValue: l(t).other.frame,
354
- "onUpdate:modelValue": e[26] || (e[26] = (o) => l(t).other.frame = o)
355
+ "onUpdate:modelValue": e[26] || (e[26] = (o) => l(t).other.frame = o),
356
+ options: Z
355
357
  }, null, 8, ["modelValue"])
356
358
  ]),
357
359
  a("div", De, [
@@ -363,23 +365,23 @@ const xe = { class: "axes-settings-list" }, Ve = { class: "axes-settings-options
363
365
  ]),
364
366
  a("div", Le, [
365
367
  s(l(oe), {
368
+ modelValue: l(t).other.facetColumns,
369
+ "onUpdate:modelValue": e[28] || (e[28] = (o) => l(t).other.facetColumns = o),
366
370
  style: { width: "100%" },
367
371
  label: "Facet column count",
368
372
  min: 1,
369
373
  max: 6,
370
374
  step: 1,
371
375
  breakpoints: !0,
372
- mode: "input",
373
- modelValue: l(t).other.facetColumns,
374
- "onUpdate:modelValue": e[28] || (e[28] = (o) => l(t).other.facetColumns = o)
376
+ mode: "input"
375
377
  }, null, 8, ["modelValue"])
376
378
  ]),
377
379
  a("div", Ye, [
378
380
  s(l(S), {
379
- label: "Facet shared by",
380
- options: _,
381
381
  modelValue: l(t).other.facetSharedBy,
382
- "onUpdate:modelValue": e[29] || (e[29] = (o) => l(t).other.facetSharedBy = o)
382
+ "onUpdate:modelValue": e[29] || (e[29] = (o) => l(t).other.facetSharedBy = o),
383
+ label: "Facet shared by",
384
+ options: _
383
385
  }, null, 8, ["modelValue"])
384
386
  ])
385
387
  ])