@milaboratories/graph-maker 1.2.1 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/ui.css +1 -1
- package/dist/components/ChartTruncationWarningAlert.css +1 -0
- package/dist/components/ChartTruncationWarningAlert.vue.d.ts +7 -0
- package/dist/components/ChartTruncationWarningAlert.vue.d.ts.map +1 -0
- package/dist/components/ChartTruncationWarningAlert.vue.js +10 -0
- package/dist/components/ChartTruncationWarningAlert.vue.js.map +1 -0
- package/dist/components/ChartTruncationWarningAlert.vue2.js +54 -0
- package/dist/components/ChartTruncationWarningAlert.vue2.js.map +1 -0
- package/dist/components/ChartTruncationWarningAlert.vue3.js +8 -0
- package/dist/components/ChartTruncationWarningAlert.vue3.js.map +1 -0
- package/dist/components/DragAndDrop/DnDBasketChip.vue.d.ts.map +1 -1
- package/dist/components/DragAndDrop/DnDBasketChip.vue.js +34 -31
- package/dist/components/DragAndDrop/DnDBasketChip.vue.js.map +1 -1
- package/dist/components/DragAndDrop/DnDRangeChip.vue.d.ts.map +1 -1
- package/dist/components/DragAndDrop/DnDRangeChip.vue.js +34 -31
- package/dist/components/DragAndDrop/DnDRangeChip.vue.js.map +1 -1
- package/dist/components/DragAndDrop/DndDoubleChip.vue.d.ts.map +1 -1
- package/dist/components/DragAndDrop/DndDoubleChip.vue.js +40 -35
- package/dist/components/DragAndDrop/DndDoubleChip.vue.js.map +1 -1
- package/dist/components/PanelModal.vue.d.ts.map +1 -1
- package/dist/components/PanelModal.vue.js +25 -11
- package/dist/components/PanelModal.vue.js.map +1 -1
- package/dist/constantsCommon.d.ts +6 -0
- package/dist/constantsCommon.d.ts.map +1 -1
- package/dist/constantsCommon.js +36 -32
- package/dist/constantsCommon.js.map +1 -1
- package/dist/dataBindAes.d.ts.map +1 -1
- package/dist/dataBindAes.js +81 -86
- package/dist/dataBindAes.js.map +1 -1
- package/dist/forms/AxesSettingsForm/BubbleAxesSettingsForm.vue.d.ts.map +1 -1
- package/dist/forms/AxesSettingsForm/BubbleAxesSettingsForm.vue.js +64 -54
- package/dist/forms/AxesSettingsForm/BubbleAxesSettingsForm.vue.js.map +1 -1
- package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.d.ts.map +1 -1
- package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js +177 -157
- package/dist/forms/AxesSettingsForm/DiscreteAxesSettingsForm.vue.js.map +1 -1
- package/dist/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.d.ts.map +1 -1
- package/dist/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js +133 -123
- package/dist/forms/AxesSettingsForm/HeatmapAxesSettingsForm.vue.js.map +1 -1
- package/dist/forms/AxesSettingsForm/HistogramAxesSettingsForm.vue.d.ts.map +1 -1
- package/dist/forms/AxesSettingsForm/HistogramAxesSettingsForm.vue.js +130 -120
- package/dist/forms/AxesSettingsForm/HistogramAxesSettingsForm.vue.js.map +1 -1
- package/dist/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.d.ts.map +1 -1
- package/dist/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.js +164 -147
- package/dist/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue.js.map +1 -1
- package/dist/forms/DataMappingForm/utils.js +58 -58
- package/dist/forms/DataMappingForm/utils.js.map +1 -1
- package/dist/forms/LayersForm/AesSelector.vue.js +66 -66
- package/dist/forms/LayersForm/AesSelector.vue.js.map +1 -1
- package/dist/index.vue.d.ts.map +1 -1
- package/dist/index.vue.js +186 -172
- package/dist/index.vue.js.map +1 -1
- package/dist/store.d.ts +2 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +140 -134
- package/dist/store.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/calculateDiscreteGroups.d.ts.map +1 -1
- package/dist/utils/calculateDiscreteGroups.js +6 -6
- package/dist/utils/calculateDiscreteGroups.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeBubbleSettings.d.ts +1 -0
- package/dist/utils/createChartSettingsForRender/composeBubbleSettings.d.ts.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeChartSettings.d.ts +19 -1
- package/dist/utils/createChartSettingsForRender/composeChartSettings.d.ts.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeChartSettings.js +74 -40
- package/dist/utils/createChartSettingsForRender/composeChartSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeDendroSettings.d.ts +1 -0
- package/dist/utils/createChartSettingsForRender/composeDendroSettings.d.ts.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeDendroSettings.js +22 -22
- package/dist/utils/createChartSettingsForRender/composeDendroSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts +4 -487
- package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.d.ts.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.js +48 -35
- package/dist/utils/createChartSettingsForRender/composeDiscreteSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts +1 -0
- package/dist/utils/createChartSettingsForRender/composeHeatmapSettings.d.ts.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeHistogramSettings.d.ts +1 -0
- package/dist/utils/createChartSettingsForRender/composeHistogramSettings.d.ts.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts +1 -0
- package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.d.ts.map +1 -1
- package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.js +80 -67
- package/dist/utils/createChartSettingsForRender/composeScatterplotSettings.js.map +1 -1
- package/dist/utils/createChartSettingsForRender/getAxesDataFromForms.d.ts.map +1 -1
- package/dist/utils/createChartSettingsForRender/getAxesDataFromForms.js +28 -28
- package/dist/utils/createChartSettingsForRender/getAxesDataFromForms.js.map +1 -1
- package/dist/utils/loadUniqueValuesToSave.d.ts +3 -1
- package/dist/utils/loadUniqueValuesToSave.d.ts.map +1 -1
- package/dist/utils/loadUniqueValuesToSave.js +81 -63
- package/dist/utils/loadUniqueValuesToSave.js.map +1 -1
- package/package.json +3 -3
- package/dist/assets/drag-and-drop/img/chip-close.svg.js +0 -7
- package/dist/assets/drag-and-drop/img/chip-close.svg.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScatterplotAxesSettingsForm.vue.js","sources":["../../../src/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { Slider, PlToggleSwitch, PlCheckbox } 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 FrameLeft from '../../icons/FrameLeft.vue';\nimport FrameBottom from '../../icons/FrameBottom.vue';\nimport FrameLeftBottom from '../../icons/FrameLeftBottom.vue';\nimport type { AesButtonProps } from '../../components/AesButton.vue';\nimport AesButton from '../../components/AesButton.vue';\nimport FormWrapper from '../../components/AesSettings/FormWrapper.vue';\nimport { computed, ref } from 'vue';\nimport Popup from '../../components/Popup.vue';\nimport FixedLineTypeList from '../../components/AesSettings/FixedLineTypeList.vue';\nimport type { LineType } from '../../components/AesSettings/types';\nimport { getPopupHeightForFixedAesList } from '../../utils/getPopupHeightForFixedAesList';\nimport { FIXED_LINE_TYPES } from '../../constantsAesthetic';\nimport ReorderForm from '../../components/ReorderForm.vue';\nimport Rotation0 from '../../icons/Rotation0.vue';\nimport Rotation45 from '../../icons/Rotation45.vue';\nimport Rotation90 from '../../icons/Rotation90.vue';\nimport type { LabelsRotation } from '../../types';\n\nconst store = useStore();\nconst settings = store.value.reactive.axesSettings;\nconst chartType = computed(() => store.value.reactive.chartType);\nconst blockSettings = {\n height: 40,\n horizontalPadding: 12,\n defaultState: 'open' as 'open' | 'close',\n contentPadding: '0 24px',\n};\n\nconst OPTIONS_TITLE_ALIGN = [\n { value: 'left', icon: AlignLeft },\n { value: 'center', icon: AlignCenter },\n { value: 'right', icon: AlignRight },\n];\n// const OPTIONS_FACET_FRAME = [\n// {value: 'empty', icon: FrameEmpty},\n// {value: 'full', icon: FrameFull},\n// ]\nconst OPTIONS_AXIS_LABEL_MODE = [\n { value: 'auto', text: 'Auto' },\n { value: 'custom', text: 'Custom' },\n { value: 'hidden', text: 'Hidden' },\n];\nconst OPTIONS_SCALE = [\n { value: 'linear', text: 'Linear' },\n { value: 'log', text: 'Log' },\n];\nconst OPTIONS_CHART_FRAME = [\n { value: 'empty', icon: FrameEmpty },\n { value: 'left', icon: FrameLeft },\n { value: 'bottom', icon: FrameBottom },\n { value: 'left-bottom', icon: FrameLeftBottom },\n { value: 'full', icon: FrameFull },\n];\nconst OPTIONS_FACET_SHARED = [\n { text: 'X', value: 'x' },\n { text: 'Y', value: 'y' },\n { text: 'XY', value: 'xy' },\n { text: 'None', value: 'none' },\n];\nconst OPTIONS_LABELS_ROTATION = [\n { value: 'center', icon: Rotation0 },\n { value: '45deg', icon: Rotation45 },\n { value: '90deg', icon: Rotation90 },\n];\nconst significantLineStyleX = ref(settings.axisX.significantLinesStyle);\nconst significantLineStyleY = ref(settings.axisY.significantLinesStyle);\nconst linesPopupHeight = computed(() => getPopupHeightForFixedAesList(FIXED_LINE_TYPES.length, 'lineType'));\nconst linesAesButtonXRef = ref();\nconst linesAesButtonYRef = ref();\nconst openLinesPopupX = ref(false);\nconst openLinesPopupY = ref(false);\n\nconst xSource = computed(() => {\n const x = store.value.reactive.optionsState.components.x.selectorStates;\n return x.length ? x[0].selectedSource : null;\n});\nconst ySource = computed(() => {\n const y = store.value.reactive.optionsState.components.y.selectorStates;\n return y.length ? y[0].selectedSource : null;\n});\n\nconst discreteX = computed(() => {\n if (!xSource.value) {\n return false;\n }\n const info = store.value.inputGuide.value.getSourceInfo(xSource.value);\n return info.type === 'String';\n});\nconst discreteY = computed(() => {\n if (!ySource.value) {\n return false;\n }\n const info = store.value.inputGuide.value.getSourceInfo(ySource.value);\n return info.type === 'String';\n});\nconst reorderX = ref(false);\nconst reorderY = ref(false);\nconst axisOrderX = computed({\n get: () => {\n if (!discreteX.value || !xSource.value) {\n return null;\n }\n const savedOrder = store.value.reactive.axesSettings.axisX.order;\n return savedOrder?.source === xSource.value ? savedOrder.options : store.value.uniqueValuesData.value[xSource.value]?.options;\n },\n set: (v) => {\n if (xSource.value && v) {\n store.value.reactive.axesSettings.axisX.order = {\n source: xSource.value,\n options: v,\n };\n }\n },\n});\nconst axisOrderY = computed({\n get: () => {\n if (!discreteY.value || !ySource.value) {\n return null;\n }\n const savedOrder = store.value.reactive.axesSettings.axisY.order;\n return savedOrder?.source === ySource.value ? savedOrder.options : store.value.uniqueValuesData.value[ySource.value]?.options;\n },\n set: (v) => {\n if (ySource.value && v) {\n store.value.reactive.axesSettings.axisY.order = {\n source: ySource.value,\n options: v,\n };\n }\n },\n});\nconst xLabelsRotation = computed({\n get() {\n return settings.axisX.labelsRotation ?? 'center';\n },\n set(value: LabelsRotation) {\n settings.axisX.labelsRotation = value;\n },\n});\nconst yLabelsRotation = computed({\n get() {\n return settings.axisY.labelsRotation ?? 'center';\n },\n set(value: LabelsRotation) {\n settings.axisY.labelsRotation = value;\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 v-model=\"settings.title.mode\" label=\"Title\" :options=\"OPTIONS_AXIS_LABEL_MODE\" :compact=\"true\" />\n </div>\n <div v-if=\"settings.title.mode === 'custom'\" class=\"axes-settings-input\">\n <PlTextField v-model=\"settings.title.value\" label=\"Chart title\" placeholder=\"Chart title\" />\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 <!-- <div class=\"axes-settings-options-row\">-->\n <!-- <span>Facet frame style</span>-->\n <!-- <btn-icon-group :options=\"OPTIONS_FACET_FRAME\" v-model=\"settings.title.facetTitleFrame\"/>-->\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 block\">\n <PlBtnGroup v-model=\"settings.axisX.titleMode\" label=\"Title\" :options=\"OPTIONS_AXIS_LABEL_MODE\" :compact=\"true\" />\n </div>\n <div v-if=\"settings.axisX.titleMode === 'custom'\">\n <PlTextField v-model=\"settings.axisX.customTitle\" label=\"Text\" placeholder=\"Type\" />\n </div>\n <div v-if=\"!discreteX\" class=\"axes-settings-options-row block\">\n <PlBtnGroup v-model=\"settings.axisX.scale\" label=\"Scale\" :options=\"OPTIONS_SCALE\" :compact=\"true\" />\n </div>\n <div v-if=\"discreteX && axisOrderX\" class=\"axes-settings-options-row\">\n <span>X axis order: </span>\n <AesButton :data=\"{ type: 'data', value: null }\" @click=\"reorderX = true\" />\n <template v-if=\"reorderX\">\n <FormWrapper title=\"Reorder X axis values\" back-title=\"Axes Settings\" @form:close=\"reorderX = false\">\n <ReorderForm v-model=\"axisOrderX\" />\n </FormWrapper>\n </template>\n </div>\n <div class=\"axes-settings-options-row\">\n <PlCheckbox v-model=\"settings.axisX.hideAxisLabels\">Hide axis labels</PlCheckbox>\n </div>\n <div v-if=\"discreteX\" class=\"axes-settings-options-row\">\n <span>Labels rotation</span>\n <BtnIconGroup v-model=\"xLabelsRotation\" :options=\"OPTIONS_LABELS_ROTATION\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Gridlines</span>\n <PlToggleSwitch v-model=\"settings.axisX.gridlines\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Ticks</span>\n <PlToggleSwitch v-model=\"settings.axisX.ticks\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <span>Significant lines style</span>\n <AesButton\n :data=\"{ type: 'lineType', value: significantLineStyleX } as AesButtonProps['data']\"\n @click=\"openLinesPopupX = !openLinesPopupX\" @ref=\"(el: Element) => (linesAesButtonXRef = el)\"\n />\n <Popup\n v-if=\"openLinesPopupX\" :height=\"linesPopupHeight\" :targetRef=\"linesAesButtonXRef\"\n @popup:close=\"openLinesPopupX = false\"\n >\n <div class=\"fixed-aes-list fixed-aes-list__rows\">\n <FixedLineTypeList\n v-model=\"significantLineStyleX\"\n @update:modelValue=\"(value: LineType) => settings.axisX.significantLinesStyle = value\"\n />\n </div>\n </Popup>\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 block\">\n <PlBtnGroup v-model=\"settings.axisY.titleMode\" label=\"Title\" :options=\"OPTIONS_AXIS_LABEL_MODE\" :compact=\"true\" />\n </div>\n <div v-if=\"settings.axisY.titleMode === 'custom'\">\n <PlTextField v-model=\"settings.axisY.customTitle\" label=\"Text\" placeholder=\"Type\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <PlCheckbox v-model=\"settings.axisY.hideAxisLabels\">Hide axis labels</PlCheckbox>\n </div>\n <div v-if=\"!discreteY\" class=\"axes-settings-options-row block\">\n <PlBtnGroup v-model=\"settings.axisY.scale\" label=\"Scale\" :options=\"OPTIONS_SCALE\" :compact=\"true\" />\n </div>\n <div v-if=\"discreteY && axisOrderY\" class=\"axes-settings-options-row\">\n <span>Y axis order: </span>\n <AesButton :data=\"{ type: 'data', value: null }\" @click=\"reorderY = true\" />\n <template v-if=\"reorderY\">\n <FormWrapper title=\"Reorder Y axis values\" back-title=\"Axes Settings\" @form:close=\"reorderY = false\">\n <ReorderForm v-model=\"axisOrderY\" />\n </FormWrapper>\n </template>\n </div>\n <div v-if=\"discreteY\" class=\"axes-settings-options-row\">\n <span>Labels rotation</span>\n <BtnIconGroup v-model=\"yLabelsRotation\" :options=\"OPTIONS_LABELS_ROTATION\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Gridlines</span>\n <PlToggleSwitch v-model=\"settings.axisY.gridlines\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Ticks</span>\n <PlToggleSwitch v-model=\"settings.axisY.ticks\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <span>Significant lines style</span>\n <AesButton\n :data=\"{ type: 'lineType', value: significantLineStyleY } as AesButtonProps['data']\"\n @click=\"openLinesPopupY = !openLinesPopupY\" @ref=\"(el: Element) => (linesAesButtonYRef = el)\"\n />\n <Popup\n v-if=\"openLinesPopupY\" :height=\"linesPopupHeight\" :targetRef=\"linesAesButtonYRef\"\n @popup:close=\"openLinesPopupY = false\"\n >\n <div class=\"fixed-aes-list fixed-aes-list__rows\">\n <FixedLineTypeList\n v-model=\"significantLineStyleY\"\n @update:modelValue=\"(value: LineType) => settings.axisY.significantLinesStyle = value\"\n />\n </div>\n </Popup>\n </div>\n </CollapsableBlock>\n <!-- Facet settings-->\n <div class=\"other\">\n <div class=\"axes-settings-options-row\">\n <PlCheckbox v-model=\"settings.other.showLegend\">Show legend</PlCheckbox>\n </div>\n <div class=\"axes-settings-options-row\" >\n <PlTextField v-model=\"settings.other.nullValueLabel\" label=\"Null value label\" placeholder=\"NA\" />\n </div>\n <div v-if=\"chartType === 'scatterplot'\" class=\"axes-settings-options-row\">\n <span>Frame</span>\n <BtnIconGroup v-model=\"settings.other.frame\" :options=\"OPTIONS_CHART_FRAME\" />\n </div>\n <div v-if=\"chartType === 'scatterplot'\" class=\"axes-settings-options-row\">\n <Slider\n v-model=\"settings.other.facetColumns\" :style=\"{ width: '100%' }\" label=\"Facet column count\" :min=\"1\" :max=\"6\" :step=\"1\"\n :breakpoints=\"true\" mode=\"input\"\n />\n </div>\n <div v-if=\"chartType === 'scatterplot'\" class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.other.facetSharedBy\" label=\"Facet shared by\"\n :options=\"OPTIONS_FACET_SHARED\"\n :compact=\"true\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"names":["store","useStore","settings","chartType","computed","blockSettings","OPTIONS_TITLE_ALIGN","AlignLeft","AlignCenter","AlignRight","OPTIONS_AXIS_LABEL_MODE","OPTIONS_SCALE","OPTIONS_CHART_FRAME","FrameEmpty","FrameLeft","FrameBottom","FrameLeftBottom","FrameFull","OPTIONS_FACET_SHARED","OPTIONS_LABELS_ROTATION","Rotation0","Rotation45","Rotation90","significantLineStyleX","ref","significantLineStyleY","linesPopupHeight","getPopupHeightForFixedAesList","FIXED_LINE_TYPES","linesAesButtonXRef","linesAesButtonYRef","openLinesPopupX","openLinesPopupY","xSource","x","ySource","y","discreteX","discreteY","reorderX","reorderY","axisOrderX","savedOrder","_a","v","axisOrderY","xLabelsRotation","value","yLabelsRotation","_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","AesButton","_createBlock","FormWrapper","ReorderForm","_hoisted_9","PlCheckbox","_hoisted_10","_hoisted_11","PlToggleSwitch","_hoisted_12","_hoisted_13","el","Popup","_hoisted_14","FixedLineTypeList","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","Slider","_hoisted_30"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,UAAMA,IAAQC,GAAA,GACRC,IAAWF,EAAM,MAAM,SAAS,cAChCG,IAAYC,EAAS,MAAMJ,EAAM,MAAM,SAAS,SAAS,GACzDK,IAAgB;AAAA,MACpB,QAAQ;AAAA,MACR,mBAAmB;AAAA,MACnB,cAAc;AAAA,MACd,gBAAgB;AAAA,IAAA,GAGZC,IAAsB;AAAA,MAC1B,EAAE,OAAO,QAAQ,MAAMC,GAAA;AAAA,MACvB,EAAE,OAAO,UAAU,MAAMC,GAAA;AAAA,MACzB,EAAE,OAAO,SAAS,MAAMC,GAAA;AAAA,IAAW,GAM/BC,IAA0B;AAAA,MAC9B,EAAE,OAAO,QAAQ,MAAM,OAAA;AAAA,MACvB,EAAE,OAAO,UAAU,MAAM,SAAA;AAAA,MACzB,EAAE,OAAO,UAAU,MAAM,SAAA;AAAA,IAAS,GAE9BC,IAAgB;AAAA,MACpB,EAAE,OAAO,UAAU,MAAM,SAAA;AAAA,MACzB,EAAE,OAAO,OAAO,MAAM,MAAA;AAAA,IAAM,GAExBC,IAAsB;AAAA,MAC1B,EAAE,OAAO,SAAS,MAAMC,GAAA;AAAA,MACxB,EAAE,OAAO,QAAQ,MAAMC,GAAA;AAAA,MACvB,EAAE,OAAO,UAAU,MAAMC,GAAA;AAAA,MACzB,EAAE,OAAO,eAAe,MAAMC,GAAA;AAAA,MAC9B,EAAE,OAAO,QAAQ,MAAMC,GAAA;AAAA,IAAU,GAE7BC,IAAuB;AAAA,MAC3B,EAAE,MAAM,KAAK,OAAO,IAAA;AAAA,MACpB,EAAE,MAAM,KAAK,OAAO,IAAA;AAAA,MACpB,EAAE,MAAM,MAAM,OAAO,KAAA;AAAA,MACrB,EAAE,MAAM,QAAQ,OAAO,OAAA;AAAA,IAAO,GAE1BC,IAA0B;AAAA,MAC9B,EAAE,OAAO,UAAU,MAAMC,GAAA;AAAA,MACzB,EAAE,OAAO,SAAS,MAAMC,GAAA;AAAA,MACxB,EAAE,OAAO,SAAS,MAAMC,GAAA;AAAA,IAAW,GAE/BC,IAAwBC,EAAItB,EAAS,MAAM,qBAAqB,GAChEuB,IAAwBD,EAAItB,EAAS,MAAM,qBAAqB,GAChEwB,IAAmBtB,EAAS,MAAMuB,GAA8BC,GAAiB,QAAQ,UAAU,CAAC,GACpGC,IAAqBL,EAAA,GACrBM,IAAqBN,EAAA,GACrBO,IAAkBP,EAAI,EAAK,GAC3BQ,IAAkBR,EAAI,EAAK,GAE3BS,IAAU7B,EAAS,MAAM;AAC7B,YAAM8B,IAAIlC,EAAM,MAAM,SAAS,aAAa,WAAW,EAAE;AACzD,aAAOkC,EAAE,SAASA,EAAE,CAAC,EAAE,iBAAiB;AAAA,IAC1C,CAAC,GACKC,IAAU/B,EAAS,MAAM;AAC7B,YAAMgC,IAAIpC,EAAM,MAAM,SAAS,aAAa,WAAW,EAAE;AACzD,aAAOoC,EAAE,SAASA,EAAE,CAAC,EAAE,iBAAiB;AAAA,IAC1C,CAAC,GAEKC,IAAYjC,EAAS,MACpB6B,EAAQ,QAGAjC,EAAM,MAAM,WAAW,MAAM,cAAciC,EAAQ,KAAK,EACzD,SAAS,WAHZ,EAIV,GACKK,IAAYlC,EAAS,MACpB+B,EAAQ,QAGAnC,EAAM,MAAM,WAAW,MAAM,cAAcmC,EAAQ,KAAK,EACzD,SAAS,WAHZ,EAIV,GACKI,IAAWf,EAAI,EAAK,GACpBgB,IAAWhB,EAAI,EAAK,GACpBiB,IAAarC,EAAS;AAAA,MAC1B,KAAK,MAAM;;AACT,YAAI,CAACiC,EAAU,SAAS,CAACJ,EAAQ;AAC/B,iBAAO;AAET,cAAMS,IAAa1C,EAAM,MAAM,SAAS,aAAa,MAAM;AAC3D,gBAAO0C,KAAA,gBAAAA,EAAY,YAAWT,EAAQ,QAAQS,EAAW,WAAUC,IAAA3C,EAAM,MAAM,iBAAiB,MAAMiC,EAAQ,KAAK,MAAhD,gBAAAU,EAAmD;AAAA,MACxH;AAAA,MACA,KAAK,CAACC,MAAM;AACV,QAAIX,EAAQ,SAASW,MACnB5C,EAAM,MAAM,SAAS,aAAa,MAAM,QAAQ;AAAA,UAC9C,QAAQiC,EAAQ;AAAA,UAChB,SAASW;AAAA,QAAA;AAAA,MAGf;AAAA,IAAA,CACD,GACKC,IAAazC,EAAS;AAAA,MAC1B,KAAK,MAAM;;AACT,YAAI,CAACkC,EAAU,SAAS,CAACH,EAAQ;AAC/B,iBAAO;AAET,cAAMO,IAAa1C,EAAM,MAAM,SAAS,aAAa,MAAM;AAC3D,gBAAO0C,KAAA,gBAAAA,EAAY,YAAWP,EAAQ,QAAQO,EAAW,WAAUC,IAAA3C,EAAM,MAAM,iBAAiB,MAAMmC,EAAQ,KAAK,MAAhD,gBAAAQ,EAAmD;AAAA,MACxH;AAAA,MACA,KAAK,CAACC,MAAM;AACV,QAAIT,EAAQ,SAASS,MACnB5C,EAAM,MAAM,SAAS,aAAa,MAAM,QAAQ;AAAA,UAC9C,QAAQmC,EAAQ;AAAA,UAChB,SAASS;AAAA,QAAA;AAAA,MAGf;AAAA,IAAA,CACD,GACKE,IAAkB1C,EAAS;AAAA,MAC/B,MAAM;AACJ,eAAOF,EAAS,MAAM,kBAAkB;AAAA,MAC1C;AAAA,MACA,IAAI6C,GAAuB;AACzB,QAAA7C,EAAS,MAAM,iBAAiB6C;AAAA,MAClC;AAAA,IAAA,CACD,GACKC,IAAkB5C,EAAS;AAAA,MAC/B,MAAM;AACJ,eAAOF,EAAS,MAAM,kBAAkB;AAAA,MAC1C;AAAA,MACA,IAAI6C,GAAuB;AACzB,QAAA7C,EAAS,MAAM,iBAAiB6C;AAAA,MAClC;AAAA,IAAA,CACD;2BAICE,EA6JM,OAAA;AAAA,MA7JD,OAAM;AAAA,MAAa,SAAKC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA,CAAGC,MAAMA,EAAE,gBAAA;AAAA,IAAe;MACrDD,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAAE,EAEK,MAAA,EAFD,OAAM,aAAA,GAAa,UAEvB,EAAA;AAAA,MACAA,EAwJM,OAxJNC,IAwJM;AAAA,QAtJJC,EAemBC,GAAA;AAAA,UAfD,OAAM;AAAA,UAAS,UAAUlD;AAAA,UAAgB,MAAMmD;AAAA,UAAQ,aAAWC;AAAA,QAAA;qBAClF,MAEM;AAAA,YAFNL,EAEM,OAFNM,IAEM;AAAA,cADJJ,EAA6GK,EAAAC,CAAA,GAAA;AAAA,4BAAxFD,EAAAzD,CAAA,EAAS,MAAM;AAAA,8DAAfyD,EAAAzD,CAAA,EAAS,MAAM,OAAI2D;AAAA,gBAAE,OAAM;AAAA,gBAAS,SAASnD;AAAA,gBAA0B,SAAS;AAAA,cAAA;;YAE5FiD,EAAAzD,CAAA,EAAS,MAAM,SAAI,YAA9B4D,KAAAb,EAEM,OAFNc,IAEM;AAAA,cADJT,EAA4FK,EAAAK,CAAA,GAAA;AAAA,4BAAtEL,EAAAzD,CAAA,EAAS,MAAM;AAAA,8DAAfyD,EAAAzD,CAAA,EAAS,MAAM,QAAK2D;AAAA,gBAAE,OAAM;AAAA,gBAAc,aAAY;AAAA,cAAA;;YAE9ET,EAGM,OAHNa,IAGM;AAAA,cAFJf,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAAE,EAAsB,cAAhB,aAAS,EAAA;AAAA,cACfE,EAAiFY,GAAA;AAAA,4BAA1DP,EAAAzD,CAAA,EAAS,MAAM;AAAA,8DAAfyD,EAAAzD,CAAA,EAAS,MAAM,WAAQ2D;AAAA,gBAAG,SAASvD;AAAA,cAAA;;;;;QAQ9DgD,EAoDmBC,GAAA;AAAA,UApDD,OAAM;AAAA,UAAU,UAAUlD;AAAA,UAAgB,MAAMmD;AAAA,UAAQ,aAAWC;AAAA,QAAA;qBACnF,MAEM;AAAA,YAFNL,EAEM,OAFNe,IAEM;AAAA,cADJb,EAAkHK,EAAAC,CAAA,GAAA;AAAA,4BAA7FD,EAAAzD,CAAA,EAAS,MAAM;AAAA,8DAAfyD,EAAAzD,CAAA,EAAS,MAAM,YAAS2D;AAAA,gBAAE,OAAM;AAAA,gBAAS,SAASnD;AAAA,gBAA0B,SAAS;AAAA,cAAA;;YAEjGiD,EAAAzD,CAAA,EAAS,MAAM,cAAS,iBAAnC+C,EAEM,OAAAmB,IAAA;AAAA,cADJd,EAAoFK,EAAAK,CAAA,GAAA;AAAA,4BAA9DL,EAAAzD,CAAA,EAAS,MAAM;AAAA,8DAAfyD,EAAAzD,CAAA,EAAS,MAAM,cAAW2D;AAAA,gBAAE,OAAM;AAAA,gBAAO,aAAY;AAAA,cAAA;;YAEjExB,EAAA,qBAAZyB,KAAAb,EAEM,OAFNoB,IAEM;AAAA,cADJf,EAAoGK,EAAAC,CAAA,GAAA;AAAA,4BAA/ED,EAAAzD,CAAA,EAAS,MAAM;AAAA,8DAAfyD,EAAAzD,CAAA,EAAS,MAAM,QAAK2D;AAAA,gBAAE,OAAM;AAAA,gBAAS,SAASlD;AAAA,gBAAgB,SAAS;AAAA,cAAA;;YAEnF0B,EAAA,SAAaI,EAAA,SAAxBqB,KAAAb,EAQM,OARNqB,IAQM;AAAA,cAPJpB,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAAE,EAA2B,cAArB,kBAAc,EAAA;AAAA,cACpBE,EAA4EiB,GAAA;AAAA,gBAAhE,MAAM,EAAA,MAAA,QAAA,OAAA,KAAA;AAAA,gBAAgC,gCAAOhC,EAAA,QAAQ;AAAA,cAAA;cACjDA,EAAA,cACdiC,EAEcC,GAAA;AAAA;gBAFD,OAAM;AAAA,gBAAwB,cAAW;AAAA,gBAAiB,uCAAYlC,EAAA,QAAQ;AAAA,cAAA;2BACzF,MAAoC;AAAA,kBAApCe,EAAoCoB,GAAA;AAAA,gCAAdjC,EAAA;AAAA,kEAAAA,EAAU,QAAAoB;AAAA,kBAAA;;;;;YAItCT,EAEM,OAFNuB,IAEM;AAAA,cADJrB,EAAiFK,EAAAiB,CAAA,GAAA;AAAA,4BAA5DjB,EAAAzD,CAAA,EAAS,MAAM;AAAA,8DAAfyD,EAAAzD,CAAA,EAAS,MAAM,iBAAc2D;AAAA,cAAA;2BAAE,MAAgB,CAAA,GAAAX,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,oBAAhB,oBAAgB,EAAA;AAAA,gBAAA;;;;YAE3Db,EAAA,SAAXyB,EAAA,GAAAb,EAGM,OAHN4B,IAGM;AAAA,cAFJ3B,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAAE,EAA4B,cAAtB,mBAAe,EAAA;AAAA,cACrBE,EAA6EY,GAAA;AAAA,4BAAtDpB,EAAA;AAAA,gEAAAA,EAAe,QAAAe;AAAA,gBAAG,SAAS1C;AAAA,cAAA;;YAEpDiC,EAGM,OAHN0B,IAGM;AAAA,cAFJ5B,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAAE,EAAsB,cAAhB,aAAS,EAAA;AAAA,cACfE,EAAqDK,EAAAoB,CAAA,GAAA;AAAA,4BAA5BpB,EAAAzD,CAAA,EAAS,MAAM;AAAA,gEAAfyD,EAAAzD,CAAA,EAAS,MAAM,YAAS2D;AAAA,cAAA;;YAEnDT,EAGM,OAHN4B,IAGM;AAAA,cAFJ9B,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAAE,EAAkB,cAAZ,SAAK,EAAA;AAAA,cACXE,EAAiDK,EAAAoB,CAAA,GAAA;AAAA,4BAAxBpB,EAAAzD,CAAA,EAAS,MAAM;AAAA,gEAAfyD,EAAAzD,CAAA,EAAS,MAAM,QAAK2D;AAAA,cAAA;;YAE/CT,EAiBM,OAjBN6B,IAiBM;AAAA,cAhBJ/B,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAAE,EAAoC,cAA9B,2BAAuB,EAAA;AAAA,cAC7BE,EAGEiB,GAAA;AAAA,gBAFC,iCAAiChD,EAAA,MAAA;AAAA,gBACjC,SAAK2B,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA,CAAAW,MAAE9B,EAAA,QAAe,CAAIA,EAAA;AAAA,gBAAkB,OAAGmB,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA,CAAGgC,MAAiBrD,EAAA,QAAqBqD;AAAA,cAAA;cAGnFnD,EAAA,cADRyC,EAUQW,GAAA;AAAA;gBATkB,QAAQzD,EAAA;AAAA,gBAAmB,WAAWG,EAAA;AAAA,gBAC7D,0CAAaE,EAAA,QAAe;AAAA,cAAA;2BAE7B,MAKM;AAAA,kBALNqB,EAKM,OALNgC,IAKM;AAAA,oBAJJ9B,EAGE+B,GAAA;AAAA,kCAFS9D,EAAA;AAAA;iDAAAA,EAAqB,QAAAsC;AAAA,wBACTX,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA,CAAAH,MAAoBY,EAAAzD,CAAA,EAAS,MAAM,wBAAwB6C;AAAA,sBAAA;AAAA;;;;;;;;;QAO1FO,EAoDmBC,GAAA;AAAA,UApDD,OAAM;AAAA,UAAU,UAAUlD;AAAA,UAAgB,MAAMmD;AAAA,UAAQ,aAAWC;AAAA,QAAA;qBACnF,MAEM;AAAA,YAFNL,EAEM,OAFNkC,IAEM;AAAA,cADJhC,EAAkHK,EAAAC,CAAA,GAAA;AAAA,4BAA7FD,EAAAzD,CAAA,EAAS,MAAM;AAAA,gEAAfyD,EAAAzD,CAAA,EAAS,MAAM,YAAS2D;AAAA,gBAAE,OAAM;AAAA,gBAAS,SAASnD;AAAA,gBAA0B,SAAS;AAAA,cAAA;;YAEjGiD,EAAAzD,CAAA,EAAS,MAAM,cAAS,iBAAnC+C,EAEM,OAAAsC,IAAA;AAAA,cADJjC,EAAoFK,EAAAK,CAAA,GAAA;AAAA,4BAA9DL,EAAAzD,CAAA,EAAS,MAAM;AAAA,gEAAfyD,EAAAzD,CAAA,EAAS,MAAM,cAAW2D;AAAA,gBAAE,OAAM;AAAA,gBAAO,aAAY;AAAA,cAAA;;YAE7ET,EAEM,OAFNoC,IAEM;AAAA,cADJlC,EAAiFK,EAAAiB,CAAA,GAAA;AAAA,4BAA5DjB,EAAAzD,CAAA,EAAS,MAAM;AAAA,gEAAfyD,EAAAzD,CAAA,EAAS,MAAM,iBAAc2D;AAAA,cAAA;2BAAE,MAAgB,CAAA,GAAAX,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,oBAAhB,oBAAgB,EAAA;AAAA,gBAAA;;;;YAE1DZ,EAAA,qBAAZwB,KAAAb,EAEM,OAFNwC,IAEM;AAAA,cADJnC,EAAoGK,EAAAC,CAAA,GAAA;AAAA,4BAA/ED,EAAAzD,CAAA,EAAS,MAAM;AAAA,gEAAfyD,EAAAzD,CAAA,EAAS,MAAM,QAAK2D;AAAA,gBAAE,OAAM;AAAA,gBAAS,SAASlD;AAAA,gBAAgB,SAAS;AAAA,cAAA;;YAEnF2B,EAAA,SAAaO,EAAA,SAAxBiB,KAAAb,EAQM,OARNyC,IAQM;AAAA,cAPJxC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAAE,EAA2B,cAArB,kBAAc,EAAA;AAAA,cACpBE,EAA4EiB,GAAA;AAAA,gBAAhE,MAAM,EAAA,MAAA,QAAA,OAAA,KAAA;AAAA,gBAAgC,kCAAO/B,EAAA,QAAQ;AAAA,cAAA;cACjDA,EAAA,cACdgC,EAEcC,GAAA;AAAA;gBAFD,OAAM;AAAA,gBAAwB,cAAW;AAAA,gBAAiB,yCAAYjC,EAAA,QAAQ;AAAA,cAAA;2BACzF,MAAoC;AAAA,kBAApCc,EAAoCoB,GAAA;AAAA,gCAAd7B,EAAA;AAAA,oEAAAA,EAAU,QAAAgB;AAAA,kBAAA;;;;;YAI3BvB,EAAA,SAAXwB,EAAA,GAAAb,EAGM,OAHN0C,IAGM;AAAA,cAFJzC,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAAE,EAA4B,cAAtB,mBAAe,EAAA;AAAA,cACrBE,EAA6EY,GAAA;AAAA,4BAAtDlB,EAAA;AAAA,gEAAAA,EAAe,QAAAa;AAAA,gBAAG,SAAS1C;AAAA,cAAA;;YAEpDiC,EAGM,OAHNwC,IAGM;AAAA,cAFJ1C,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAAE,EAAsB,cAAhB,aAAS,EAAA;AAAA,cACfE,EAAqDK,EAAAoB,CAAA,GAAA;AAAA,4BAA5BpB,EAAAzD,CAAA,EAAS,MAAM;AAAA,gEAAfyD,EAAAzD,CAAA,EAAS,MAAM,YAAS2D;AAAA,cAAA;;YAEnDT,EAGM,OAHNyC,IAGM;AAAA,cAFJ3C,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAAE,EAAkB,cAAZ,SAAK,EAAA;AAAA,cACXE,EAAiDK,EAAAoB,CAAA,GAAA;AAAA,4BAAxBpB,EAAAzD,CAAA,EAAS,MAAM;AAAA,gEAAfyD,EAAAzD,CAAA,EAAS,MAAM,QAAK2D;AAAA,cAAA;;YAE/CT,EAiBM,OAjBN0C,IAiBM;AAAA,cAhBJ5C,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAAE,EAAoC,cAA9B,2BAAuB,EAAA;AAAA,cAC7BE,EAGEiB,GAAA;AAAA,gBAFC,iCAAiC9C,EAAA,MAAA;AAAA,gBACjC,SAAKyB,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA,CAAAW,MAAE7B,EAAA,QAAe,CAAIA,EAAA;AAAA,gBAAkB,OAAGkB,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA,CAAGgC,MAAiBpD,EAAA,QAAqBoD;AAAA,cAAA;cAGnFlD,EAAA,cADRwC,EAUQW,GAAA;AAAA;gBATkB,QAAQzD,EAAA;AAAA,gBAAmB,WAAWI,EAAA;AAAA,gBAC7D,0CAAaE,EAAA,QAAe;AAAA,cAAA;2BAE7B,MAKM;AAAA,kBALNoB,EAKM,OALN2C,IAKM;AAAA,oBAJJzC,EAGE+B,GAAA;AAAA,kCAFS5D,EAAA;AAAA;iDAAAA,EAAqB,QAAAoC;AAAA,wBACTX,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA,CAAAH,MAAoBY,EAAAzD,CAAA,EAAS,MAAM,wBAAwB6C;AAAA,sBAAA;AAAA;;;;;;;;;QAO1FK,EAwBM,OAxBN4C,IAwBM;AAAA,UAvBJ5C,EAEM,OAFN6C,IAEM;AAAA,YADJ3C,EAAwEK,EAAAiB,CAAA,GAAA;AAAA,0BAAnDjB,EAAAzD,CAAA,EAAS,MAAM;AAAA,8DAAfyD,EAAAzD,CAAA,EAAS,MAAM,aAAU2D;AAAA,YAAA;yBAAE,MAAW,CAAA,GAAAX,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAA;AAAA,kBAAX,eAAW,EAAA;AAAA,cAAA;;;;UAE7DE,EAEM,OAFN8C,IAEM;AAAA,YADJ5C,EAAiGK,EAAAK,CAAA,GAAA;AAAA,0BAA3EL,EAAAzD,CAAA,EAAS,MAAM;AAAA,8DAAfyD,EAAAzD,CAAA,EAAS,MAAM,iBAAc2D;AAAA,cAAE,OAAM;AAAA,cAAmB,aAAY;AAAA,YAAA;;UAEjF1D,EAAA,UAAS,iBAApB2D,KAAAb,EAGM,OAHNkD,IAGM;AAAA,YAFJjD,EAAA,EAAA,MAAAA,EAAA,EAAA,IAAAE,EAAkB,cAAZ,SAAK,EAAA;AAAA,YACXE,EAA8EY,GAAA;AAAA,0BAAvDP,EAAAzD,CAAA,EAAS,MAAM;AAAA,8DAAfyD,EAAAzD,CAAA,EAAS,MAAM,QAAK2D;AAAA,cAAG,SAASjD;AAAA,YAAA;;UAE9CT,EAAA,UAAS,iBAApB2D,KAAAb,EAKM,OALNmD,IAKM;AAAA,YAJJ9C,EAGEK,EAAA0C,EAAA,GAAA;AAAA,0BAFS1C,EAAAzD,CAAA,EAAS,MAAM;AAAA,8DAAfyD,EAAAzD,CAAA,EAAS,MAAM,eAAY2D;AAAA,cAAG,OAAO,EAAA,OAAA,OAAA;AAAA,cAAmB,OAAM;AAAA,cAAsB,KAAK;AAAA,cAAI,KAAK;AAAA,cAAI,MAAM;AAAA,cACpH,aAAa;AAAA,cAAM,MAAK;AAAA,YAAA;;UAGlB1D,EAAA,UAAS,iBAApB2D,KAAAb,EAMM,OANNqD,IAMM;AAAA,YALJhD,EAIEK,EAAAC,CAAA,GAAA;AAAA,0BAHSD,EAAAzD,CAAA,EAAS,MAAM;AAAA,8DAAfyD,EAAAzD,CAAA,EAAS,MAAM,gBAAa2D;AAAA,cAAE,OAAM;AAAA,cAC5C,SAAS3C;AAAA,cACT,SAAS;AAAA,YAAA;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"ScatterplotAxesSettingsForm.vue.js","sources":["../../../src/forms/AxesSettingsForm/ScatterplotAxesSettingsForm.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { Slider, PlToggleSwitch, PlCheckbox, PlNumberField } 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 FrameLeft from '../../icons/FrameLeft.vue';\nimport FrameBottom from '../../icons/FrameBottom.vue';\nimport FrameLeftBottom from '../../icons/FrameLeftBottom.vue';\nimport type { AesButtonProps } from '../../components/AesButton.vue';\nimport AesButton from '../../components/AesButton.vue';\nimport FormWrapper from '../../components/AesSettings/FormWrapper.vue';\nimport { computed, ref } from 'vue';\nimport Popup from '../../components/Popup.vue';\nimport FixedLineTypeList from '../../components/AesSettings/FixedLineTypeList.vue';\nimport type { LineType } from '../../components/AesSettings/types';\nimport { getPopupHeightForFixedAesList } from '../../utils/getPopupHeightForFixedAesList';\nimport { FIXED_LINE_TYPES } from '../../constantsAesthetic';\nimport ReorderForm from '../../components/ReorderForm.vue';\nimport Rotation0 from '../../icons/Rotation0.vue';\nimport Rotation45 from '../../icons/Rotation45.vue';\nimport Rotation90 from '../../icons/Rotation90.vue';\nimport type { LabelsRotation } from '../../types';\nimport { MAX_FACETS_COUNT, MAX_GROUPS_COUNT } from '../../constantsCommon';\n\nconst store = useStore();\nconst settings = store.value.reactive.axesSettings;\nconst chartType = computed(() => store.value.reactive.chartType);\nconst blockSettings = {\n height: 40,\n horizontalPadding: 12,\n defaultState: 'open' as 'open' | 'close',\n contentPadding: '0 24px',\n};\n\nconst OPTIONS_TITLE_ALIGN = [\n { value: 'left', icon: AlignLeft },\n { value: 'center', icon: AlignCenter },\n { value: 'right', icon: AlignRight },\n];\n// const OPTIONS_FACET_FRAME = [\n// {value: 'empty', icon: FrameEmpty},\n// {value: 'full', icon: FrameFull},\n// ]\nconst OPTIONS_AXIS_LABEL_MODE = [\n { value: 'auto', text: 'Auto' },\n { value: 'custom', text: 'Custom' },\n { value: 'hidden', text: 'Hidden' },\n];\nconst OPTIONS_SCALE = [\n { value: 'linear', text: 'Linear' },\n { value: 'log', text: 'Log' },\n];\nconst OPTIONS_CHART_FRAME = [\n { value: 'empty', icon: FrameEmpty },\n { value: 'left', icon: FrameLeft },\n { value: 'bottom', icon: FrameBottom },\n { value: 'left-bottom', icon: FrameLeftBottom },\n { value: 'full', icon: FrameFull },\n];\nconst OPTIONS_FACET_SHARED = [\n { text: 'X', value: 'x' },\n { text: 'Y', value: 'y' },\n { text: 'XY', value: 'xy' },\n { text: 'None', value: 'none' },\n];\nconst OPTIONS_LABELS_ROTATION = [\n { value: 'center', icon: Rotation0 },\n { value: '45deg', icon: Rotation45 },\n { value: '90deg', icon: Rotation90 },\n];\nconst significantLineStyleX = ref(settings.axisX.significantLinesStyle);\nconst significantLineStyleY = ref(settings.axisY.significantLinesStyle);\nconst linesPopupHeight = computed(() => getPopupHeightForFixedAesList(FIXED_LINE_TYPES.length, 'lineType'));\nconst linesAesButtonXRef = ref();\nconst linesAesButtonYRef = ref();\nconst openLinesPopupX = ref(false);\nconst openLinesPopupY = ref(false);\n\nconst xSource = computed(() => {\n const x = store.value.reactive.optionsState.components.x.selectorStates;\n return x.length ? x[0].selectedSource : null;\n});\nconst ySource = computed(() => {\n const y = store.value.reactive.optionsState.components.y.selectorStates;\n return y.length ? y[0].selectedSource : null;\n});\n\nconst discreteX = computed(() => {\n if (!xSource.value) {\n return false;\n }\n const info = store.value.inputGuide.value.getSourceInfo(xSource.value);\n return info.type === 'String';\n});\nconst discreteY = computed(() => {\n if (!ySource.value) {\n return false;\n }\n const info = store.value.inputGuide.value.getSourceInfo(ySource.value);\n return info.type === 'String';\n});\nconst reorderX = ref(false);\nconst reorderY = ref(false);\nconst axisOrderX = computed({\n get: () => {\n if (!discreteX.value || !xSource.value) {\n return null;\n }\n const savedOrder = store.value.reactive.axesSettings.axisX.order;\n const entryX = store.value.uniqueValuesData.value[xSource.value];\n return savedOrder?.source === xSource.value ? savedOrder.options : (entryX?.overflow ? undefined : entryX?.options);\n },\n set: (v) => {\n if (xSource.value && v) {\n store.value.reactive.axesSettings.axisX.order = {\n source: xSource.value,\n options: v,\n };\n }\n },\n});\nconst axisOrderY = computed({\n get: () => {\n if (!discreteY.value || !ySource.value) {\n return null;\n }\n const savedOrder = store.value.reactive.axesSettings.axisY.order;\n const entryY = store.value.uniqueValuesData.value[ySource.value];\n return savedOrder?.source === ySource.value ? savedOrder.options : (entryY?.overflow ? undefined : entryY?.options);\n },\n set: (v) => {\n if (ySource.value && v) {\n store.value.reactive.axesSettings.axisY.order = {\n source: ySource.value,\n options: v,\n };\n }\n },\n});\nconst xLabelsRotation = computed({\n get() {\n return settings.axisX.labelsRotation ?? 'center';\n },\n set(value: LabelsRotation) {\n settings.axisX.labelsRotation = value;\n },\n});\nconst yLabelsRotation = computed({\n get() {\n return settings.axisY.labelsRotation ?? 'center';\n },\n set(value: LabelsRotation) {\n settings.axisY.labelsRotation = value;\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 v-model=\"settings.title.mode\" label=\"Title\" :options=\"OPTIONS_AXIS_LABEL_MODE\" :compact=\"true\" />\n </div>\n <div v-if=\"settings.title.mode === 'custom'\" class=\"axes-settings-input\">\n <PlTextField v-model=\"settings.title.value\" label=\"Chart title\" placeholder=\"Chart title\" />\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 <!-- <div class=\"axes-settings-options-row\">-->\n <!-- <span>Facet frame style</span>-->\n <!-- <btn-icon-group :options=\"OPTIONS_FACET_FRAME\" v-model=\"settings.title.facetTitleFrame\"/>-->\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 block\">\n <PlBtnGroup v-model=\"settings.axisX.titleMode\" label=\"Title\" :options=\"OPTIONS_AXIS_LABEL_MODE\" :compact=\"true\" />\n </div>\n <div v-if=\"settings.axisX.titleMode === 'custom'\">\n <PlTextField v-model=\"settings.axisX.customTitle\" label=\"Text\" placeholder=\"Type\" />\n </div>\n <div v-if=\"!discreteX\" class=\"axes-settings-options-row block\">\n <PlBtnGroup v-model=\"settings.axisX.scale\" label=\"Scale\" :options=\"OPTIONS_SCALE\" :compact=\"true\" />\n </div>\n <div v-if=\"discreteX && axisOrderX\" class=\"axes-settings-options-row\">\n <span>X axis order: </span>\n <AesButton :data=\"{ type: 'data', value: null }\" @click=\"reorderX = true\" />\n <template v-if=\"reorderX\">\n <FormWrapper title=\"Reorder X axis values\" back-title=\"Axes Settings\" @form:close=\"reorderX = false\">\n <ReorderForm v-model=\"axisOrderX\" />\n </FormWrapper>\n </template>\n </div>\n <div class=\"axes-settings-options-row\">\n <PlCheckbox v-model=\"settings.axisX.hideAxisLabels\">Hide axis labels</PlCheckbox>\n </div>\n <div v-if=\"discreteX\" class=\"axes-settings-options-row\">\n <span>Labels rotation</span>\n <BtnIconGroup v-model=\"xLabelsRotation\" :options=\"OPTIONS_LABELS_ROTATION\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Gridlines</span>\n <PlToggleSwitch v-model=\"settings.axisX.gridlines\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Ticks</span>\n <PlToggleSwitch v-model=\"settings.axisX.ticks\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <span>Significant lines style</span>\n <AesButton\n :data=\"{ type: 'lineType', value: significantLineStyleX } as AesButtonProps['data']\"\n @click=\"openLinesPopupX = !openLinesPopupX\" @ref=\"(el: Element) => (linesAesButtonXRef = el)\"\n />\n <Popup\n v-if=\"openLinesPopupX\" :height=\"linesPopupHeight\" :targetRef=\"linesAesButtonXRef\"\n @popup:close=\"openLinesPopupX = false\"\n >\n <div class=\"fixed-aes-list fixed-aes-list__rows\">\n <FixedLineTypeList\n v-model=\"significantLineStyleX\"\n @update:modelValue=\"(value: LineType) => settings.axisX.significantLinesStyle = value\"\n />\n </div>\n </Popup>\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 block\">\n <PlBtnGroup v-model=\"settings.axisY.titleMode\" label=\"Title\" :options=\"OPTIONS_AXIS_LABEL_MODE\" :compact=\"true\" />\n </div>\n <div v-if=\"settings.axisY.titleMode === 'custom'\">\n <PlTextField v-model=\"settings.axisY.customTitle\" label=\"Text\" placeholder=\"Type\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <PlCheckbox v-model=\"settings.axisY.hideAxisLabels\">Hide axis labels</PlCheckbox>\n </div>\n <div v-if=\"!discreteY\" class=\"axes-settings-options-row block\">\n <PlBtnGroup v-model=\"settings.axisY.scale\" label=\"Scale\" :options=\"OPTIONS_SCALE\" :compact=\"true\" />\n </div>\n <div v-if=\"discreteY && axisOrderY\" class=\"axes-settings-options-row\">\n <span>Y axis order: </span>\n <AesButton :data=\"{ type: 'data', value: null }\" @click=\"reorderY = true\" />\n <template v-if=\"reorderY\">\n <FormWrapper title=\"Reorder Y axis values\" back-title=\"Axes Settings\" @form:close=\"reorderY = false\">\n <ReorderForm v-model=\"axisOrderY\" />\n </FormWrapper>\n </template>\n </div>\n <div v-if=\"discreteY\" class=\"axes-settings-options-row\">\n <span>Labels rotation</span>\n <BtnIconGroup v-model=\"yLabelsRotation\" :options=\"OPTIONS_LABELS_ROTATION\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Gridlines</span>\n <PlToggleSwitch v-model=\"settings.axisY.gridlines\" />\n </div>\n <div class=\"axes-settings-options-row table\">\n <span>Ticks</span>\n <PlToggleSwitch v-model=\"settings.axisY.ticks\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <span>Significant lines style</span>\n <AesButton\n :data=\"{ type: 'lineType', value: significantLineStyleY } as AesButtonProps['data']\"\n @click=\"openLinesPopupY = !openLinesPopupY\" @ref=\"(el: Element) => (linesAesButtonYRef = el)\"\n />\n <Popup\n v-if=\"openLinesPopupY\" :height=\"linesPopupHeight\" :targetRef=\"linesAesButtonYRef\"\n @popup:close=\"openLinesPopupY = false\"\n >\n <div class=\"fixed-aes-list fixed-aes-list__rows\">\n <FixedLineTypeList\n v-model=\"significantLineStyleY\"\n @update:modelValue=\"(value: LineType) => settings.axisY.significantLinesStyle = value\"\n />\n </div>\n </Popup>\n </div>\n </CollapsableBlock>\n <!-- Facet settings-->\n <div class=\"other\">\n <div class=\"axes-settings-options-row\">\n <PlCheckbox v-model=\"settings.other.showLegend\">Show legend</PlCheckbox>\n </div>\n <div class=\"axes-settings-options-row\" >\n <PlTextField v-model=\"settings.other.nullValueLabel\" label=\"Null value label\" placeholder=\"NA\" />\n </div>\n <div class=\"axes-settings-options-row\">\n <PlNumberField\n v-model=\"settings.other.maxGroupCount\"\n label=\"Max groups count\"\n :min=\"1\"\n :max=\"MAX_GROUPS_COUNT\"\n />\n </div>\n <div class=\"axes-settings-options-row\">\n <PlNumberField\n v-model=\"settings.other.maxFacetsCount\"\n label=\"Max facets count\"\n :min=\"1\"\n :max=\"MAX_FACETS_COUNT\"\n />\n </div>\n <div v-if=\"chartType === 'scatterplot'\" class=\"axes-settings-options-row\">\n <span>Frame</span>\n <BtnIconGroup v-model=\"settings.other.frame\" :options=\"OPTIONS_CHART_FRAME\" />\n </div>\n <div v-if=\"chartType === 'scatterplot'\" class=\"axes-settings-options-row\">\n <Slider\n v-model=\"settings.other.facetColumns\" :style=\"{ width: '100%' }\" label=\"Facet column count\" :min=\"1\" :max=\"6\" :step=\"1\"\n :breakpoints=\"true\" mode=\"input\"\n />\n </div>\n <div v-if=\"chartType === 'scatterplot'\" class=\"axes-settings-options-row block\">\n <PlBtnGroup\n v-model=\"settings.other.facetSharedBy\" label=\"Facet shared by\"\n :options=\"OPTIONS_FACET_SHARED\"\n :compact=\"true\"\n />\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"names":["store","useStore","settings","chartType","computed","blockSettings","OPTIONS_TITLE_ALIGN","AlignLeft","AlignCenter","AlignRight","OPTIONS_AXIS_LABEL_MODE","OPTIONS_SCALE","OPTIONS_CHART_FRAME","FrameEmpty","FrameLeft","FrameBottom","FrameLeftBottom","FrameFull","OPTIONS_FACET_SHARED","OPTIONS_LABELS_ROTATION","Rotation0","Rotation45","Rotation90","significantLineStyleX","ref","significantLineStyleY","linesPopupHeight","getPopupHeightForFixedAesList","FIXED_LINE_TYPES","linesAesButtonXRef","linesAesButtonYRef","openLinesPopupX","openLinesPopupY","xSource","x","ySource","y","discreteX","discreteY","reorderX","reorderY","axisOrderX","savedOrder","entryX","v","axisOrderY","entryY","xLabelsRotation","value","yLabelsRotation","_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","AesButton","_createBlock","FormWrapper","ReorderForm","_hoisted_9","PlCheckbox","_hoisted_10","_hoisted_11","PlToggleSwitch","_hoisted_12","_hoisted_13","el","Popup","_hoisted_14","FixedLineTypeList","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","PlNumberField","MAX_GROUPS_COUNT","_hoisted_29","MAX_FACETS_COUNT","_hoisted_30","_hoisted_31","Slider","_hoisted_32"],"mappings":"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"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { computed as p } from "vue";
|
|
2
|
-
function
|
|
2
|
+
function F(e, t, o, n, r) {
|
|
3
3
|
return p({
|
|
4
4
|
get() {
|
|
5
|
-
return e.value.components[t].selectorStates.map((
|
|
5
|
+
return e.value.components[t].selectorStates.map((s) => s.selectedSource);
|
|
6
6
|
},
|
|
7
|
-
set(
|
|
7
|
+
set(s) {
|
|
8
8
|
if (!n)
|
|
9
9
|
return;
|
|
10
|
-
const c =
|
|
11
|
-
const
|
|
12
|
-
if (
|
|
13
|
-
return
|
|
10
|
+
const c = s.map((l) => {
|
|
11
|
+
const u = e.value.components[t].selectorStates.find((a) => a.selectedSource === l);
|
|
12
|
+
if (u)
|
|
13
|
+
return u;
|
|
14
14
|
{
|
|
15
|
-
const
|
|
16
|
-
return
|
|
15
|
+
const a = r.value.getSourceInfo(l);
|
|
16
|
+
return a.isSubsetFilter ? { selectedSource: l, type: "subset" } : a.isDiscreteFilter ? {
|
|
17
17
|
selectedSource: l,
|
|
18
18
|
type: "equals",
|
|
19
19
|
selectedFilterValue: void 0
|
|
@@ -24,11 +24,11 @@ function x(e, t, s, n, r) {
|
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
});
|
|
27
|
-
e.value =
|
|
27
|
+
e.value = o.changeSelected(t, n, e.value, c);
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
30
|
}
|
|
31
|
-
function
|
|
31
|
+
function y(e, t, o, n) {
|
|
32
32
|
return p({
|
|
33
33
|
get() {
|
|
34
34
|
return e.value.components[t].selectorStates.map((r) => r.selectedSource);
|
|
@@ -36,107 +36,107 @@ function F(e, t, s, n) {
|
|
|
36
36
|
set(r) {
|
|
37
37
|
if (!n)
|
|
38
38
|
return;
|
|
39
|
-
const
|
|
40
|
-
const l = e.value.components[t].selectorStates.find((
|
|
39
|
+
const s = r.map((c) => {
|
|
40
|
+
const l = e.value.components[t].selectorStates.find((u) => u.selectedSource === c);
|
|
41
41
|
return l || { selectedSource: c };
|
|
42
42
|
});
|
|
43
|
-
e.value =
|
|
43
|
+
e.value = o.changeSelected(t, n, e.value, s);
|
|
44
44
|
}
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
|
-
function I(e, t,
|
|
47
|
+
function I(e, t, o, n) {
|
|
48
48
|
return p({
|
|
49
49
|
get() {
|
|
50
50
|
var r;
|
|
51
|
-
return ((r = e.value.components[t].selectorStates.map((
|
|
51
|
+
return ((r = e.value.components[t].selectorStates.map((s) => s.selectedSource)) == null ? void 0 : r[0]) ?? void 0;
|
|
52
52
|
},
|
|
53
53
|
set(r) {
|
|
54
|
-
n && (e.value =
|
|
54
|
+
n && (e.value = o.changeSelected(t, n, e.value, typeof r > "u" ? [] : [{ selectedSource: r }]));
|
|
55
55
|
}
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
|
-
function
|
|
58
|
+
function d(e, t) {
|
|
59
59
|
return e.options.map((n) => ({
|
|
60
60
|
text: t(n.value).label,
|
|
61
61
|
value: e.stateConsistency[n.value] === !1 ? "Inconsistent value" : n.value
|
|
62
62
|
})).sort((n, r) => n.text > r.text ? 1 : -1);
|
|
63
63
|
}
|
|
64
|
-
function
|
|
64
|
+
function h(e, t) {
|
|
65
65
|
return Object.keys(e.components).reduce(
|
|
66
|
-
(
|
|
66
|
+
(o, n) => (o[n] = d(
|
|
67
67
|
t.value.components[n],
|
|
68
68
|
t.value.getSourceInfo
|
|
69
|
-
),
|
|
69
|
+
), o),
|
|
70
70
|
{}
|
|
71
71
|
);
|
|
72
72
|
}
|
|
73
|
-
function
|
|
73
|
+
function m(e, t) {
|
|
74
74
|
if (!e.value.readyData)
|
|
75
75
|
return [];
|
|
76
|
-
const
|
|
76
|
+
const o = /* @__PURE__ */ new Set();
|
|
77
77
|
return t.forEach(
|
|
78
78
|
(n) => {
|
|
79
|
-
e.value.components[n].options.forEach(({ value:
|
|
80
|
-
|
|
79
|
+
e.value.components[n].options.forEach(({ value: s }) => {
|
|
80
|
+
o.add(s);
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
|
-
), [...
|
|
83
|
+
), [...o].map((n) => ({
|
|
84
84
|
id: n,
|
|
85
85
|
info: e.value.getSourceInfo(n)
|
|
86
86
|
})).sort((n, r) => {
|
|
87
|
-
const
|
|
88
|
-
return
|
|
87
|
+
const s = n.info.hasHangingAxes, c = r.info.hasHangingAxes;
|
|
88
|
+
return s && c || !s && !c ? n.info.label.localeCompare(r.info.label) : s ? 1 : -1;
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
|
-
function
|
|
92
|
-
return
|
|
93
|
-
({ info:
|
|
91
|
+
function k(e, t) {
|
|
92
|
+
return m(e, t).filter(
|
|
93
|
+
({ info: o }) => o.kind !== "axis" || !o.mustBeConsumed
|
|
94
94
|
);
|
|
95
95
|
}
|
|
96
|
-
function
|
|
97
|
-
return
|
|
98
|
-
({ info:
|
|
96
|
+
function H(e, t) {
|
|
97
|
+
return m(e, t).filter(
|
|
98
|
+
({ info: o }) => o.kind === "axis" && o.mustBeConsumed
|
|
99
99
|
);
|
|
100
100
|
}
|
|
101
|
-
function
|
|
102
|
-
return Object.values(t.components[e].stateConsistency).some((
|
|
101
|
+
function b(e, t) {
|
|
102
|
+
return Object.values(t.components[e].stateConsistency).some((o) => !o);
|
|
103
103
|
}
|
|
104
|
-
function
|
|
105
|
-
return
|
|
104
|
+
function O(e, t) {
|
|
105
|
+
return b(e, t) ? " " : "";
|
|
106
106
|
}
|
|
107
|
-
function
|
|
108
|
-
return n.reduce((r,
|
|
109
|
-
var f;
|
|
110
|
-
const c = e.getSourceInfo(
|
|
107
|
+
function A(e, t, o, n) {
|
|
108
|
+
return n.reduce((r, s) => {
|
|
109
|
+
var f, g;
|
|
110
|
+
const c = e.getSourceInfo(s), u = [
|
|
111
111
|
...Object.keys(e.components).filter(
|
|
112
112
|
(i) => e.components[i].options.find(
|
|
113
|
-
(
|
|
113
|
+
(v) => v.value === s && !t[i].selectorStates.some((S) => S.selectedSource === s)
|
|
114
114
|
)
|
|
115
115
|
)
|
|
116
|
-
],
|
|
117
|
-
return r[
|
|
118
|
-
id:
|
|
119
|
-
title:
|
|
116
|
+
], a = Object.values(e.components).some(({ stateConsistency: i }) => i[s] === !1);
|
|
117
|
+
return r[s] = {
|
|
118
|
+
id: s,
|
|
119
|
+
title: a ? "Inconsistent value" : c.label,
|
|
120
120
|
type: c.type,
|
|
121
121
|
nonHomogenous: c.kind === "axis" && c.isNonHomogenous,
|
|
122
122
|
isSubsetFilter: c.isSubsetFilter,
|
|
123
123
|
isDiscreteFilter: c.isDiscreteFilter,
|
|
124
|
-
availableBasketIds: new Set(
|
|
125
|
-
uniqueValues: ((
|
|
124
|
+
availableBasketIds: new Set(u),
|
|
125
|
+
uniqueValues: ((f = o[s]) != null && f.overflow ? [] : ((g = o[s]) == null ? void 0 : g.options) ?? []).map((i) => i.label),
|
|
126
126
|
hasHangingAxes: c.kind === "column" ? c.hasHangingAxes : !1
|
|
127
127
|
}, r;
|
|
128
128
|
}, {});
|
|
129
129
|
}
|
|
130
130
|
export {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
131
|
+
h as getAllInputsOptions,
|
|
132
|
+
A as getChipInfo,
|
|
133
|
+
O as getErrorForPlDropdown,
|
|
134
|
+
H as getFreeMandatoryOptions,
|
|
135
|
+
k as getFreeMetaOptions,
|
|
136
|
+
m as getFreeOptions,
|
|
137
|
+
b as hasInputError,
|
|
138
|
+
F as toFiltersMulti,
|
|
139
|
+
y as toSimpleMulti,
|
|
140
140
|
I as toSimpleSingle
|
|
141
141
|
};
|
|
142
142
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../src/forms/DataMappingForm/utils.ts"],"sourcesContent":["import type {\n AxisData,\n ColumnData,\n ComponentGuideFilter,\n ComponentGuideSimple,\n Controller,\n DemoDataStore,\n InputGuide,\n InputState,\n} from '@milaboratories/pf-plots';\nimport type { Ref } from 'vue';\nimport { computed } from 'vue';\nimport type { ChipInfo } from '../../components/DragAndDrop/types';\nimport type { UniqueValuesBySourceMap } from '../../types';\n\ntype Option = { text: string; value: string }; // as an Option type in pl-uikit\n\n/** Bidirectionally extracts selectedSource from the filter state,\n * and preserve selectedFilterValue in unmodified items on write. */\nexport function toFiltersMulti(\n refToState: Ref<InputState>,\n inputName: keyof InputState['components'],\n controller: Controller<InputState>,\n store: DemoDataStore | null,\n refToInputGuide: Ref<InputGuide<InputState>>,\n): Ref<string[]> {\n return computed({\n get() {\n return refToState.value.components[inputName].selectorStates.map((v) => v.selectedSource);\n },\n set(nextSelected) {\n if (!store) {\n return;\n }\n const nextSelectorStates = nextSelected.map((s) => {\n const el = refToState.value.components[inputName].selectorStates.find((v) => v.selectedSource === s);\n if (el) {\n return el;\n } else {\n const info = refToInputGuide.value.getSourceInfo(s);\n return info.isSubsetFilter\n ? { selectedSource: s, type: 'subset' }\n : info.isDiscreteFilter\n ? {\n selectedSource: s,\n type: 'equals',\n selectedFilterValue: undefined,\n }\n : {\n selectedSource: s,\n type: 'range',\n selectedFilterRange: { min: undefined, max: undefined },\n };\n }\n });\n refToState.value = controller.changeSelected(inputName, store, refToState.value, nextSelectorStates);\n },\n });\n}\n\nexport function toSimpleMulti(\n refToState: Ref<InputState>,\n inputName: keyof InputState['components'],\n controller: Controller<InputState>,\n store: DemoDataStore | null,\n): Ref<string[]> {\n return computed({\n get() {\n return refToState.value.components[inputName].selectorStates.map((v) => v.selectedSource);\n },\n set(nextSelected: string[]) {\n if (!store) {\n return;\n }\n const nextSelectorStates = nextSelected.map((s) => {\n const el = refToState.value.components[inputName].selectorStates.find((v) => v.selectedSource === s);\n if (el) {\n return el;\n } else {\n return { selectedSource: s };\n }\n });\n refToState.value = controller.changeSelected(inputName, store, refToState.value, nextSelectorStates);\n },\n });\n}\n\nexport function toSimpleSingle(\n refToState: Ref<InputState>,\n inputName: keyof InputState['components'],\n controller: Controller<InputState>,\n store: DemoDataStore | null,\n): Ref<string | undefined> {\n return computed({\n get() {\n return refToState.value.components[inputName].selectorStates.map((v) => v.selectedSource)?.[0] ?? undefined;\n },\n set(newValue: string | undefined) {\n if (!store) {\n return;\n }\n refToState.value = controller.changeSelected(inputName, store, refToState.value, typeof newValue === 'undefined' ? [] : [{ selectedSource: newValue }]);\n },\n });\n}\n\nexport type AllStateOptions<State extends InputState> = {\n [K in keyof State['components']]: Option[];\n};\n\nfunction getInputOptions(\n guide: ComponentGuideSimple | ComponentGuideFilter,\n getSourceInfo: (optionId: string) => ColumnData | AxisData,\n): Option[] {\n const options = guide.options.map((v) => ({\n text: getSourceInfo(v.value).label,\n value: guide.stateConsistency[v.value] === false ? 'Inconsistent value' : v.value,\n }));\n return options.sort((a, b) => (a.text > b.text ? 1 : -1));\n}\n\nexport function getAllInputsOptions<T extends InputState>(\n inputState: T,\n inputGuide: Ref<InputGuide<T>>,\n): AllStateOptions<T> {\n return Object.keys(inputState.components).reduce(\n (res: Record<string, Option[]>, name) => {\n res[name] = getInputOptions(\n inputGuide.value.components[name],\n inputGuide.value.getSourceInfo,\n );\n return res;\n },\n {},\n ) as AllStateOptions<T>;\n}\n\nexport function getFreeOptions<T extends InputState>(\n inputGuide: Ref<InputGuide<T>>,\n basketsIds: (keyof InputGuide<T>['components'])[],\n) {\n if (!inputGuide.value.readyData) {\n return [];\n }\n const optionsSet = new Set<string>();\n basketsIds.forEach((id) => {\n const item: ComponentGuideFilter | ComponentGuideSimple = inputGuide.value.components[id];\n item.options.forEach(({ value }) => {\n optionsSet.add(value);\n });\n },\n );\n return [...optionsSet].map((id) => ({\n id,\n info: inputGuide.value.getSourceInfo(id),\n })).sort((a, b) => {\n const aHasHangingAxes = (a.info as ColumnData).hasHangingAxes;\n const bHasHangingAxes = (b.info as ColumnData).hasHangingAxes;\n if ((aHasHangingAxes && bHasHangingAxes) || (!aHasHangingAxes && !bHasHangingAxes)) {\n return a.info.label.localeCompare(b.info.label);\n }\n return aHasHangingAxes ? 1 : -1;\n });\n}\n\nexport function getFreeMetaOptions<T extends InputState>(\n inputGuide: Ref<InputGuide<T>>,\n basketsIds: (keyof InputGuide<T>['components'])[],\n) {\n return getFreeOptions(inputGuide, basketsIds).filter(\n ({ info }) => info.kind !== 'axis' || !info.mustBeConsumed,\n );\n}\n\nexport function getFreeMandatoryOptions<T extends InputState>(\n inputGuide: Ref<InputGuide<T>>,\n basketsIds: (keyof InputGuide<T>['components'])[],\n) {\n return getFreeOptions(inputGuide, basketsIds).filter(({ info }) =>\n info.kind === 'axis' && info.mustBeConsumed,\n );\n}\n\nexport function hasInputError<T extends InputState>(\n name: keyof T['components'],\n inputGuide: InputGuide<T>,\n) {\n return Object.values(inputGuide.components[name].stateConsistency).some((v) => !v);\n}\n\nexport function getErrorForPlDropdown<T extends InputState>(\n name: keyof T['components'],\n inputGuide: InputGuide<T>,\n) {\n return hasInputError(name, inputGuide) ? ' ' : ''; // if return value is not empty, dropdown marked with red frame\n}\n\nexport function getChipInfo(\n inputGuide: InputGuide<InputState>,\n optionsState: InputState['components'],\n labelsInfo: UniqueValuesBySourceMap,\n sourceIds: string[],\n): Record<string, ChipInfo> {\n return sourceIds.reduce((res: Record<string, ChipInfo>, id) => {\n const info = inputGuide.getSourceInfo(id);\n const basketsMeta = Object.keys(inputGuide.components);\n const availableBasketsIds = [\n ...basketsMeta.filter((name) =>\n inputGuide.components[name].options.find(\n (option) => option.value === id\n && !optionsState[name].selectorStates.some((s) => s.selectedSource === id),\n ),\n ),\n ];\n const isInconsistent = Object.values(inputGuide.components).some(({ stateConsistency }) => stateConsistency[id] === false);\n res[id] = {\n id,\n title: isInconsistent ? 'Inconsistent value' : info.label,\n type: info.type,\n nonHomogenous: info.kind === 'axis' && info.isNonHomogenous,\n isSubsetFilter: info.isSubsetFilter,\n isDiscreteFilter: info.isDiscreteFilter,\n availableBasketIds: new Set(availableBasketsIds),\n uniqueValues: (labelsInfo[id]?.options ?? []).map((v) => v.label),\n hasHangingAxes: info.kind === 'column' ? info.hasHangingAxes : false,\n };\n return res;\n }, {});\n}\n"],"names":["toFiltersMulti","refToState","inputName","controller","store","refToInputGuide","computed","v","nextSelected","nextSelectorStates","s","el","info","toSimpleMulti","toSimpleSingle","_a","newValue","getInputOptions","guide","getSourceInfo","a","b","getAllInputsOptions","inputState","inputGuide","res","name","getFreeOptions","basketsIds","optionsSet","id","value","aHasHangingAxes","bHasHangingAxes","getFreeMetaOptions","getFreeMandatoryOptions","hasInputError","getErrorForPlDropdown","getChipInfo","optionsState","labelsInfo","sourceIds","availableBasketsIds","option","isInconsistent","stateConsistency"],"mappings":";AAmBO,SAASA,EACdC,GACAC,GACAC,GACAC,GACAC,GACe;AACf,SAAOC,EAAS;AAAA,IACd,MAAM;AACJ,aAAOL,EAAW,MAAM,WAAWC,CAAS,EAAE,eAAe,IAAI,CAACK,MAAMA,EAAE,cAAc;AAAA,IAC1F;AAAA,IACA,IAAIC,GAAc;AAChB,UAAI,CAACJ;AACH;AAEF,YAAMK,IAAqBD,EAAa,IAAI,CAACE,MAAM;AACjD,cAAMC,IAAKV,EAAW,MAAM,WAAWC,CAAS,EAAE,eAAe,KAAK,CAACK,MAAMA,EAAE,mBAAmBG,CAAC;AACnG,YAAIC;AACF,iBAAOA;AACF;AACL,gBAAMC,IAAOP,EAAgB,MAAM,cAAcK,CAAC;AAClD,iBAAOE,EAAK,iBACR,EAAE,gBAAgBF,GAAG,MAAM,SAAA,IAC3BE,EAAK,mBACH;AAAA,YACE,gBAAgBF;AAAA,YAChB,MAAM;AAAA,YACN,qBAAqB;AAAA,UAAA,IAEvB;AAAA,YACE,gBAAgBA;AAAA,YAChB,MAAM;AAAA,YACN,qBAAqB,EAAE,KAAK,QAAW,KAAK,OAAA;AAAA,UAAU;AAAA,QAEhE;AAAA,MACF,CAAC;AACD,MAAAT,EAAW,QAAQE,EAAW,eAAeD,GAAWE,GAAOH,EAAW,OAAOQ,CAAkB;AAAA,IACrG;AAAA,EAAA,CACD;AACH;AAEO,SAASI,EACdZ,GACAC,GACAC,GACAC,GACe;AACf,SAAOE,EAAS;AAAA,IACd,MAAM;AACJ,aAAOL,EAAW,MAAM,WAAWC,CAAS,EAAE,eAAe,IAAI,CAACK,MAAMA,EAAE,cAAc;AAAA,IAC1F;AAAA,IACA,IAAIC,GAAwB;AAC1B,UAAI,CAACJ;AACH;AAEF,YAAMK,IAAqBD,EAAa,IAAI,CAACE,MAAM;AACjD,cAAMC,IAAKV,EAAW,MAAM,WAAWC,CAAS,EAAE,eAAe,KAAK,CAACK,MAAMA,EAAE,mBAAmBG,CAAC;AACnG,eAAIC,KAGK,EAAE,gBAAgBD,EAAA;AAAA,MAE7B,CAAC;AACD,MAAAT,EAAW,QAAQE,EAAW,eAAeD,GAAWE,GAAOH,EAAW,OAAOQ,CAAkB;AAAA,IACrG;AAAA,EAAA,CACD;AACH;AAEO,SAASK,EACdb,GACAC,GACAC,GACAC,GACyB;AACzB,SAAOE,EAAS;AAAA,IACd,MAAM;;AACJ,eAAOS,IAAAd,EAAW,MAAM,WAAWC,CAAS,EAAE,eAAe,IAAI,CAACK,MAAMA,EAAE,cAAc,MAAjF,gBAAAQ,EAAqF,OAAM;AAAA,IACpG;AAAA,IACA,IAAIC,GAA8B;AAChC,MAAKZ,MAGLH,EAAW,QAAQE,EAAW,eAAeD,GAAWE,GAAOH,EAAW,OAAO,OAAOe,IAAa,MAAc,CAAA,IAAK,CAAC,EAAE,gBAAgBA,EAAA,CAAU,CAAC;AAAA,IACxJ;AAAA,EAAA,CACD;AACH;AAMA,SAASC,EACPC,GACAC,GACU;AAKV,SAJgBD,EAAM,QAAQ,IAAI,CAACX,OAAO;AAAA,IACxC,MAAMY,EAAcZ,EAAE,KAAK,EAAE;AAAA,IAC7B,OAAOW,EAAM,iBAAiBX,EAAE,KAAK,MAAM,KAAQ,uBAAuBA,EAAE;AAAA,EAAA,EAC5E,EACa,KAAK,CAACa,GAAGC,MAAOD,EAAE,OAAOC,EAAE,OAAO,IAAI,EAAG;AAC1D;AAEO,SAASC,EACdC,GACAC,GACoB;AACpB,SAAO,OAAO,KAAKD,EAAW,UAAU,EAAE;AAAA,IACxC,CAACE,GAA+BC,OAC9BD,EAAIC,CAAI,IAAIT;AAAA,MACVO,EAAW,MAAM,WAAWE,CAAI;AAAA,MAChCF,EAAW,MAAM;AAAA,IAAA,GAEZC;AAAA,IAET,CAAA;AAAA,EAAC;AAEL;AAEO,SAASE,EACdH,GACAI,GACA;AACA,MAAI,CAACJ,EAAW,MAAM;AACpB,WAAO,CAAA;AAET,QAAMK,wBAAiB,IAAA;AACvB,SAAAD,EAAW;AAAA,IAAQ,CAACE,MAAO;AAEzB,MAD0DN,EAAW,MAAM,WAAWM,CAAE,EACnF,QAAQ,QAAQ,CAAC,EAAE,OAAAC,QAAY;AAClC,QAAAF,EAAW,IAAIE,CAAK;AAAA,MACtB,CAAC;AAAA,IACH;AAAA,EAAA,GAEO,CAAC,GAAGF,CAAU,EAAE,IAAI,CAACC,OAAQ;AAAA,IAClC,IAAAA;AAAA,IACA,MAAMN,EAAW,MAAM,cAAcM,CAAE;AAAA,EAAA,EACvC,EAAE,KAAK,CAACV,GAAGC,MAAM;AACjB,UAAMW,IAAmBZ,EAAE,KAAoB,gBACzCa,IAAmBZ,EAAE,KAAoB;AAC/C,WAAKW,KAAmBC,KAAqB,CAACD,KAAmB,CAACC,IACzDb,EAAE,KAAK,MAAM,cAAcC,EAAE,KAAK,KAAK,IAEzCW,IAAkB,IAAI;AAAA,EAC/B,CAAC;AACH;AAEO,SAASE,EACdV,GACAI,GACA;AACA,SAAOD,EAAeH,GAAYI,CAAU,EAAE;AAAA,IAC5C,CAAC,EAAE,MAAAhB,EAAA,MAAWA,EAAK,SAAS,UAAU,CAACA,EAAK;AAAA,EAAA;AAEhD;AAEO,SAASuB,EACdX,GACAI,GACA;AACA,SAAOD,EAAeH,GAAYI,CAAU,EAAE;AAAA,IAAO,CAAC,EAAE,MAAAhB,EAAA,MACtDA,EAAK,SAAS,UAAUA,EAAK;AAAA,EAAA;AAEjC;AAEO,SAASwB,EACdV,GACAF,GACA;AACA,SAAO,OAAO,OAAOA,EAAW,WAAWE,CAAI,EAAE,gBAAgB,EAAE,KAAK,CAACnB,MAAM,CAACA,CAAC;AACnF;AAEO,SAAS8B,EACdX,GACAF,GACA;AACA,SAAOY,EAAcV,GAAMF,CAAU,IAAI,MAAM;AACjD;AAEO,SAASc,EACdd,GACAe,GACAC,GACAC,GAC0B;AAC1B,SAAOA,EAAU,OAAO,CAAChB,GAA+BK,MAAO;;AAC7D,UAAMlB,IAAOY,EAAW,cAAcM,CAAE,GAElCY,IAAsB;AAAA,MAC1B,GAFkB,OAAO,KAAKlB,EAAW,UAAU,EAEpC;AAAA,QAAO,CAACE,MACrBF,EAAW,WAAWE,CAAI,EAAE,QAAQ;AAAA,UAClC,CAACiB,MAAWA,EAAO,UAAUb,KACxB,CAACS,EAAab,CAAI,EAAE,eAAe,KAAK,CAAChB,MAAMA,EAAE,mBAAmBoB,CAAE;AAAA,QAAA;AAAA,MAC7E;AAAA,IACF,GAEIc,IAAiB,OAAO,OAAOpB,EAAW,UAAU,EAAE,KAAK,CAAC,EAAE,kBAAAqB,EAAA,MAAuBA,EAAiBf,CAAE,MAAM,EAAK;AACzH,WAAAL,EAAIK,CAAE,IAAI;AAAA,MACR,IAAAA;AAAA,MACA,OAAOc,IAAiB,uBAAuBhC,EAAK;AAAA,MACpD,MAAMA,EAAK;AAAA,MACX,eAAeA,EAAK,SAAS,UAAUA,EAAK;AAAA,MAC5C,gBAAgBA,EAAK;AAAA,MACrB,kBAAkBA,EAAK;AAAA,MACvB,oBAAoB,IAAI,IAAI8B,CAAmB;AAAA,MAC/C,iBAAe3B,IAAAyB,EAAWV,CAAE,MAAb,gBAAAf,EAAgB,YAAW,IAAI,IAAI,CAACR,MAAMA,EAAE,KAAK;AAAA,MAChE,gBAAgBK,EAAK,SAAS,WAAWA,EAAK,iBAAiB;AAAA,IAAA,GAE1Da;AAAA,EACT,GAAG,CAAA,CAAE;AACP;"}
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../src/forms/DataMappingForm/utils.ts"],"sourcesContent":["import type {\n AxisData,\n ColumnData,\n ComponentGuideFilter,\n ComponentGuideSimple,\n Controller,\n DemoDataStore,\n InputGuide,\n InputState,\n} from '@milaboratories/pf-plots';\nimport type { Ref } from 'vue';\nimport { computed } from 'vue';\nimport type { ChipInfo } from '../../components/DragAndDrop/types';\nimport type { UniqueValuesBySourceMap } from '../../types';\n\ntype Option = { text: string; value: string }; // as an Option type in pl-uikit\n\n/** Bidirectionally extracts selectedSource from the filter state,\n * and preserve selectedFilterValue in unmodified items on write. */\nexport function toFiltersMulti(\n refToState: Ref<InputState>,\n inputName: keyof InputState['components'],\n controller: Controller<InputState>,\n store: DemoDataStore | null,\n refToInputGuide: Ref<InputGuide<InputState>>,\n): Ref<string[]> {\n return computed({\n get() {\n return refToState.value.components[inputName].selectorStates.map((v) => v.selectedSource);\n },\n set(nextSelected) {\n if (!store) {\n return;\n }\n const nextSelectorStates = nextSelected.map((s) => {\n const el = refToState.value.components[inputName].selectorStates.find((v) => v.selectedSource === s);\n if (el) {\n return el;\n } else {\n const info = refToInputGuide.value.getSourceInfo(s);\n return info.isSubsetFilter\n ? { selectedSource: s, type: 'subset' }\n : info.isDiscreteFilter\n ? {\n selectedSource: s,\n type: 'equals',\n selectedFilterValue: undefined,\n }\n : {\n selectedSource: s,\n type: 'range',\n selectedFilterRange: { min: undefined, max: undefined },\n };\n }\n });\n refToState.value = controller.changeSelected(inputName, store, refToState.value, nextSelectorStates);\n },\n });\n}\n\nexport function toSimpleMulti(\n refToState: Ref<InputState>,\n inputName: keyof InputState['components'],\n controller: Controller<InputState>,\n store: DemoDataStore | null,\n): Ref<string[]> {\n return computed({\n get() {\n return refToState.value.components[inputName].selectorStates.map((v) => v.selectedSource);\n },\n set(nextSelected: string[]) {\n if (!store) {\n return;\n }\n const nextSelectorStates = nextSelected.map((s) => {\n const el = refToState.value.components[inputName].selectorStates.find((v) => v.selectedSource === s);\n if (el) {\n return el;\n } else {\n return { selectedSource: s };\n }\n });\n refToState.value = controller.changeSelected(inputName, store, refToState.value, nextSelectorStates);\n },\n });\n}\n\nexport function toSimpleSingle(\n refToState: Ref<InputState>,\n inputName: keyof InputState['components'],\n controller: Controller<InputState>,\n store: DemoDataStore | null,\n): Ref<string | undefined> {\n return computed({\n get() {\n return refToState.value.components[inputName].selectorStates.map((v) => v.selectedSource)?.[0] ?? undefined;\n },\n set(newValue: string | undefined) {\n if (!store) {\n return;\n }\n refToState.value = controller.changeSelected(inputName, store, refToState.value, typeof newValue === 'undefined' ? [] : [{ selectedSource: newValue }]);\n },\n });\n}\n\nexport type AllStateOptions<State extends InputState> = {\n [K in keyof State['components']]: Option[];\n};\n\nfunction getInputOptions(\n guide: ComponentGuideSimple | ComponentGuideFilter,\n getSourceInfo: (optionId: string) => ColumnData | AxisData,\n): Option[] {\n const options = guide.options.map((v) => ({\n text: getSourceInfo(v.value).label,\n value: guide.stateConsistency[v.value] === false ? 'Inconsistent value' : v.value,\n }));\n return options.sort((a, b) => (a.text > b.text ? 1 : -1));\n}\n\nexport function getAllInputsOptions<T extends InputState>(\n inputState: T,\n inputGuide: Ref<InputGuide<T>>,\n): AllStateOptions<T> {\n return Object.keys(inputState.components).reduce(\n (res: Record<string, Option[]>, name) => {\n res[name] = getInputOptions(\n inputGuide.value.components[name],\n inputGuide.value.getSourceInfo,\n );\n return res;\n },\n {},\n ) as AllStateOptions<T>;\n}\n\nexport function getFreeOptions<T extends InputState>(\n inputGuide: Ref<InputGuide<T>>,\n basketsIds: (keyof InputGuide<T>['components'])[],\n) {\n if (!inputGuide.value.readyData) {\n return [];\n }\n const optionsSet = new Set<string>();\n basketsIds.forEach((id) => {\n const item: ComponentGuideFilter | ComponentGuideSimple = inputGuide.value.components[id];\n item.options.forEach(({ value }) => {\n optionsSet.add(value);\n });\n },\n );\n return [...optionsSet].map((id) => ({\n id,\n info: inputGuide.value.getSourceInfo(id),\n })).sort((a, b) => {\n const aHasHangingAxes = (a.info as ColumnData).hasHangingAxes;\n const bHasHangingAxes = (b.info as ColumnData).hasHangingAxes;\n if ((aHasHangingAxes && bHasHangingAxes) || (!aHasHangingAxes && !bHasHangingAxes)) {\n return a.info.label.localeCompare(b.info.label);\n }\n return aHasHangingAxes ? 1 : -1;\n });\n}\n\nexport function getFreeMetaOptions<T extends InputState>(\n inputGuide: Ref<InputGuide<T>>,\n basketsIds: (keyof InputGuide<T>['components'])[],\n) {\n return getFreeOptions(inputGuide, basketsIds).filter(\n ({ info }) => info.kind !== 'axis' || !info.mustBeConsumed,\n );\n}\n\nexport function getFreeMandatoryOptions<T extends InputState>(\n inputGuide: Ref<InputGuide<T>>,\n basketsIds: (keyof InputGuide<T>['components'])[],\n) {\n return getFreeOptions(inputGuide, basketsIds).filter(({ info }) =>\n info.kind === 'axis' && info.mustBeConsumed,\n );\n}\n\nexport function hasInputError<T extends InputState>(\n name: keyof T['components'],\n inputGuide: InputGuide<T>,\n) {\n return Object.values(inputGuide.components[name].stateConsistency).some((v) => !v);\n}\n\nexport function getErrorForPlDropdown<T extends InputState>(\n name: keyof T['components'],\n inputGuide: InputGuide<T>,\n) {\n return hasInputError(name, inputGuide) ? ' ' : ''; // if return value is not empty, dropdown marked with red frame\n}\n\nexport function getChipInfo(\n inputGuide: InputGuide<InputState>,\n optionsState: InputState['components'],\n labelsInfo: UniqueValuesBySourceMap,\n sourceIds: string[],\n): Record<string, ChipInfo> {\n return sourceIds.reduce((res: Record<string, ChipInfo>, id) => {\n const info = inputGuide.getSourceInfo(id);\n const basketsMeta = Object.keys(inputGuide.components);\n const availableBasketsIds = [\n ...basketsMeta.filter((name) =>\n inputGuide.components[name].options.find(\n (option) => option.value === id\n && !optionsState[name].selectorStates.some((s) => s.selectedSource === id),\n ),\n ),\n ];\n const isInconsistent = Object.values(inputGuide.components).some(({ stateConsistency }) => stateConsistency[id] === false);\n res[id] = {\n id,\n title: isInconsistent ? 'Inconsistent value' : info.label,\n type: info.type,\n nonHomogenous: info.kind === 'axis' && info.isNonHomogenous,\n isSubsetFilter: info.isSubsetFilter,\n isDiscreteFilter: info.isDiscreteFilter,\n availableBasketIds: new Set(availableBasketsIds),\n uniqueValues: (labelsInfo[id]?.overflow ? [] : (labelsInfo[id]?.options ?? [])).map((v) => v.label),\n hasHangingAxes: info.kind === 'column' ? info.hasHangingAxes : false,\n };\n return res;\n }, {});\n}\n"],"names":["toFiltersMulti","refToState","inputName","controller","store","refToInputGuide","computed","v","nextSelected","nextSelectorStates","s","el","info","toSimpleMulti","toSimpleSingle","_a","newValue","getInputOptions","guide","getSourceInfo","a","b","getAllInputsOptions","inputState","inputGuide","res","name","getFreeOptions","basketsIds","optionsSet","id","value","aHasHangingAxes","bHasHangingAxes","getFreeMetaOptions","getFreeMandatoryOptions","hasInputError","getErrorForPlDropdown","getChipInfo","optionsState","labelsInfo","sourceIds","availableBasketsIds","option","isInconsistent","stateConsistency","_b"],"mappings":"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"}
|