@embeddable.com/remarkable-pro 0.3.15 → 0.3.16
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/AreaChartPro.js +1 -1
- package/dist/BarChartDefaultHorizontalPro.js +1 -1
- package/dist/BarChartDefaultPro.js +1 -1
- package/dist/BarChartGroupedHorizontalPro.js +1 -1
- package/dist/BarChartGroupedPro.js +1 -1
- package/dist/BarChartStackedHorizontalPro.js +1 -1
- package/dist/BarChartStackedPro.js +1 -1
- package/dist/BarLineChartPro.js +1 -1
- package/dist/BubbleChartPro.js +1 -1
- package/dist/{ChartCard-C4MndGoP.js → ChartCard-C72rw1Ya.js} +2 -2
- package/dist/{ChartCard-C4MndGoP.js.map → ChartCard-C72rw1Ya.js.map} +1 -1
- package/dist/ComparisonPeriodSelectFieldPro.js +1 -1
- package/dist/DateRangePickerCustomPro.js +1 -1
- package/dist/DateRangeSelectFieldPro.js +1 -1
- package/dist/{DimensionAndMeasureSingleSelectField-YgZIeOad.js → DimensionAndMeasureSingleSelectField-D2dx-AOV.js} +2 -2
- package/dist/{DimensionAndMeasureSingleSelectField-YgZIeOad.js.map → DimensionAndMeasureSingleSelectField-D2dx-AOV.js.map} +1 -1
- package/dist/DimensionMeasureMultiSelectFieldPro.js +1 -1
- package/dist/DimensionSingleSelectFieldPro.js +1 -1
- package/dist/DonutChartPro.js +1 -1
- package/dist/DonutLabelChartPro.js +1 -1
- package/dist/{EditorCard-BVtdJ04L.js → EditorCard-C5VwkYTO.js} +2 -2
- package/dist/{EditorCard-BVtdJ04L.js.map → EditorCard-C5VwkYTO.js.map} +1 -1
- package/dist/FilterBuilderPro.js +1 -1
- package/dist/{GranularitySelectField-DvrniLCq.js → GranularitySelectField-B7bPGvIp.js} +2 -2
- package/dist/{GranularitySelectField-DvrniLCq.js.map → GranularitySelectField-B7bPGvIp.js.map} +1 -1
- package/dist/GranularitySelectFieldPro.js +1 -1
- package/dist/HeatMapPro.js +1 -1
- package/dist/KpiChartNumberComparisonPro.js +1 -1
- package/dist/KpiChartNumberPro.js +1 -1
- package/dist/LineChartComparisonDefaultPro.js +1 -1
- package/dist/LineChartComparisonWithKpiTabsPro.js +1 -1
- package/dist/LineChartDefaultPro.js +1 -1
- package/dist/LineChartGroupedPro.js +1 -1
- package/dist/LineChartWithKpiTabsPro.js +1 -1
- package/dist/MarkdownPro.js +1 -1
- package/dist/MeasureMultiSelectFieldPro.js +1 -1
- package/dist/MeasureSingleSelectFieldPro.js +1 -1
- package/dist/MultiSelectFieldPro.js +1 -1
- package/dist/PieChartPro.js +1 -1
- package/dist/PivotTablePro.js +1 -1
- package/dist/ScatterChartPro.js +1 -1
- package/dist/SingleSelectFieldPro.js +1 -1
- package/dist/TableChartPaginated.js +1 -1
- package/dist/TableScrollable.js +1 -1
- package/dist/TextFieldPro.js +1 -1
- package/dist/{bars.loadData.utils-AVsNPNMZ.js → bars.loadData.utils-qHyrp6mu.js} +2 -2
- package/dist/{bars.loadData.utils-AVsNPNMZ.js.map → bars.loadData.utils-qHyrp6mu.js.map} +1 -1
- package/dist/{bars.utils-ZwBz0eSf.js → bars.utils-4Vu_6Vwr.js} +4 -4
- package/dist/{bars.utils-ZwBz0eSf.js.map → bars.utils-4Vu_6Vwr.js.map} +1 -1
- package/dist/{charts.utils-DL-pzVG-.js → charts.utils-Czfl880z.js} +2 -2
- package/dist/{charts.utils-DL-pzVG-.js.map → charts.utils-Czfl880z.js.map} +1 -1
- package/dist/{component.utils-oQMZT7TK.js → component.utils-B7tQ4cCT.js} +4 -4
- package/dist/{component.utils-oQMZT7TK.js.map → component.utils-B7tQ4cCT.js.map} +1 -1
- package/dist/components/component.utils.d.ts.map +1 -1
- package/dist/{definition-CRvMDjRB.js → definition-B6NctClA.js} +4 -4
- package/dist/{definition-CRvMDjRB.js.map → definition-B6NctClA.js.map} +1 -1
- package/dist/{definition-CaV4qPYQ.js → definition-B9eClP6I.js} +5 -5
- package/dist/{definition-CaV4qPYQ.js.map → definition-B9eClP6I.js.map} +1 -1
- package/dist/{definition-Deq5jKVy.js → definition-BQZkjNaI.js} +5 -5
- package/dist/{definition-Deq5jKVy.js.map → definition-BQZkjNaI.js.map} +1 -1
- package/dist/{definition-D_ryo6q7.js → definition-BSQcRRwQ.js} +3 -3
- package/dist/{definition-D_ryo6q7.js.map → definition-BSQcRRwQ.js.map} +1 -1
- package/dist/{definition-DyCXYPmd.js → definition-Bid9fwVS.js} +4 -4
- package/dist/{definition-DyCXYPmd.js.map → definition-Bid9fwVS.js.map} +1 -1
- package/dist/{definition-BtNKq3Zv.js → definition-BjdbEoCH.js} +7 -7
- package/dist/{definition-BtNKq3Zv.js.map → definition-BjdbEoCH.js.map} +1 -1
- package/dist/{definition-DlGVdRtS.js → definition-BnZSlj8x.js} +4 -4
- package/dist/{definition-DlGVdRtS.js.map → definition-BnZSlj8x.js.map} +1 -1
- package/dist/{definition-So9tZlMi.js → definition-BopXgBSc.js} +6 -6
- package/dist/{definition-So9tZlMi.js.map → definition-BopXgBSc.js.map} +1 -1
- package/dist/{definition-atfrMsXT.js → definition-Bsh6Toao.js} +7 -7
- package/dist/{definition-atfrMsXT.js.map → definition-Bsh6Toao.js.map} +1 -1
- package/dist/{definition-CBUbQZvZ.js → definition-C0VyzJWX.js} +7 -7
- package/dist/{definition-CBUbQZvZ.js.map → definition-C0VyzJWX.js.map} +1 -1
- package/dist/{definition-_zJ7wlgc.js → definition-C6YKs0rc.js} +3 -3
- package/dist/{definition-_zJ7wlgc.js.map → definition-C6YKs0rc.js.map} +1 -1
- package/dist/{definition-DoM-A1nT.js → definition-CF-FBr4a.js} +4 -4
- package/dist/{definition-DoM-A1nT.js.map → definition-CF-FBr4a.js.map} +1 -1
- package/dist/{definition-DQeqVfK6.js → definition-CS_f89ly.js} +4 -4
- package/dist/{definition-DQeqVfK6.js.map → definition-CS_f89ly.js.map} +1 -1
- package/dist/{definition-CSA_9QtD.js → definition-CfJRkeoi.js} +4 -4
- package/dist/{definition-CSA_9QtD.js.map → definition-CfJRkeoi.js.map} +1 -1
- package/dist/{definition-Dw72pLmB.js → definition-CifvR_ce.js} +4 -4
- package/dist/{definition-Dw72pLmB.js.map → definition-CifvR_ce.js.map} +1 -1
- package/dist/{definition-DOZHDhbP.js → definition-Cj20ajOq.js} +4 -4
- package/dist/{definition-DOZHDhbP.js.map → definition-Cj20ajOq.js.map} +1 -1
- package/dist/{definition-C3aFGWw-.js → definition-CjdvxkC_.js} +3 -3
- package/dist/{definition-C3aFGWw-.js.map → definition-CjdvxkC_.js.map} +1 -1
- package/dist/{definition-DCvpurgC.js → definition-CoEAmgPz.js} +7 -7
- package/dist/{definition-DCvpurgC.js.map → definition-CoEAmgPz.js.map} +1 -1
- package/dist/{definition-rgPq6VPL.js → definition-D-7fCnK5.js} +3 -3
- package/dist/{definition-rgPq6VPL.js.map → definition-D-7fCnK5.js.map} +1 -1
- package/dist/{definition-DaGw0pa5.js → definition-D46_JOLS.js} +2 -2
- package/dist/{definition-DaGw0pa5.js.map → definition-D46_JOLS.js.map} +1 -1
- package/dist/{definition-DVzvnrBf.js → definition-D5V_UP9I.js} +7 -7
- package/dist/{definition-DVzvnrBf.js.map → definition-D5V_UP9I.js.map} +1 -1
- package/dist/{definition-DZ4_Wg8R.js → definition-DJOxJUDL.js} +4 -4
- package/dist/{definition-DZ4_Wg8R.js.map → definition-DJOxJUDL.js.map} +1 -1
- package/dist/{definition-DKM3Mx4Z.js → definition-DV3XAemq.js} +6 -6
- package/dist/{definition-DKM3Mx4Z.js.map → definition-DV3XAemq.js.map} +1 -1
- package/dist/{definition-BcsHRDkv.js → definition-DZSXXY3i.js} +5 -5
- package/dist/{definition-BcsHRDkv.js.map → definition-DZSXXY3i.js.map} +1 -1
- package/dist/{definition-DuNVn_Zv.js → definition-Dj2fOcLJ.js} +4 -4
- package/dist/{definition-DuNVn_Zv.js.map → definition-Dj2fOcLJ.js.map} +1 -1
- package/dist/{definition-BqQJmkId.js → definition-DnLCl6jI.js} +4 -4
- package/dist/{definition-BqQJmkId.js.map → definition-DnLCl6jI.js.map} +1 -1
- package/dist/{definition-BPosaTH4.js → definition-DrRXfegd.js} +4 -4
- package/dist/{definition-BPosaTH4.js.map → definition-DrRXfegd.js.map} +1 -1
- package/dist/{definition-Du-gOi0o.js → definition-Dvm9tY5Y.js} +7 -7
- package/dist/{definition-Du-gOi0o.js.map → definition-Dvm9tY5Y.js.map} +1 -1
- package/dist/{definition-Bco3wav-.js → definition-Dw4388wt.js} +4 -4
- package/dist/{definition-Bco3wav-.js.map → definition-Dw4388wt.js.map} +1 -1
- package/dist/{definition-CnCQc4Ds.js → definition-GY2DJJ7u.js} +7 -7
- package/dist/{definition-CnCQc4Ds.js.map → definition-GY2DJJ7u.js.map} +1 -1
- package/dist/{definition-BshhnH_Q.js → definition-KHcLAKES.js} +6 -6
- package/dist/{definition-BshhnH_Q.js.map → definition-KHcLAKES.js.map} +1 -1
- package/dist/{definition-C2k5NhdG.js → definition-R6w8d-nt.js} +4 -4
- package/dist/{definition-C2k5NhdG.js.map → definition-R6w8d-nt.js.map} +1 -1
- package/dist/{definition-NVrrC9Aq.js → definition-jPJunkuw.js} +5 -5
- package/dist/{definition-NVrrC9Aq.js.map → definition-jPJunkuw.js.map} +1 -1
- package/dist/{definition-BXJSlAhg.js → definition-m71Whuy4.js} +4 -4
- package/dist/{definition-BXJSlAhg.js.map → definition-m71Whuy4.js.map} +1 -1
- package/dist/{definition-DoSFbUU_.js → definition-tN-Rlh_R.js} +7 -7
- package/dist/{definition-DoSFbUU_.js.map → definition-tN-Rlh_R.js.map} +1 -1
- package/dist/{definition-J-vD12mT.js → definition-wZGQYPSO.js} +4 -4
- package/dist/{definition-J-vD12mT.js.map → definition-wZGQYPSO.js.map} +1 -1
- package/dist/{definition-rnayY6ub.js → definition-zCln3iQl.js} +6 -6
- package/dist/{definition-rnayY6ub.js.map → definition-zCln3iQl.js.map} +1 -1
- package/dist/{dimensionsAndMeasures.utils-D6wqLAjd.js → dimensionsAndMeasures.utils-mGymNq3G.js} +2 -2
- package/dist/{dimensionsAndMeasures.utils-D6wqLAjd.js.map → dimensionsAndMeasures.utils-mGymNq3G.js.map} +1 -1
- package/dist/embeddable-components.json +56 -56
- package/dist/embeddable-theme-0137e.js +3 -3
- package/dist/{formatter.utils-CNK7r1DQ.js → formatter.utils-Wcc93V-N.js} +2 -2
- package/dist/{formatter.utils-CNK7r1DQ.js.map → formatter.utils-Wcc93V-N.js.map} +1 -1
- package/dist/{granularity.utils-BreNR3T1.js → granularity.utils-BidDuinr.js} +2 -2
- package/dist/{granularity.utils-BreNR3T1.js.map → granularity.utils-BidDuinr.js.map} +1 -1
- package/dist/index.js +51 -51
- package/dist/{pies.utils-DAWVYwtx.js → pies.utils-eVQYLyQD.js} +5 -5
- package/dist/{pies.utils-DAWVYwtx.js.map → pies.utils-eVQYLyQD.js.map} +1 -1
- package/dist/{tables.utils-BcfzBmXp.js → tables.utils-yPdd41i1.js} +2 -2
- package/dist/{tables.utils-BcfzBmXp.js.map → tables.utils-yPdd41i1.js.map} +1 -1
- package/dist/{theme.constants-CVAIAY_P.js → theme.constants-DrhAyRBp.js} +3 -3
- package/dist/{theme.constants-CVAIAY_P.js.map → theme.constants-DrhAyRBp.js.map} +1 -1
- package/dist/{timeRange.utils-kK6r26ZO.js → timeRange.utils-rEuTaidc.js} +2 -2
- package/dist/{timeRange.utils-kK6r26ZO.js.map → timeRange.utils-rEuTaidc.js.map} +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-
|
|
1
|
+
{"version":3,"file":"definition-m71Whuy4.js","sources":["../src/components/charts/kpis/KpiChartNumberPro/index.tsx","../src/components/charts/kpis/KpiChartNumberPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport {\n ChartCard,\n ChartCardHeaderProps,\n asChartCardHeaderProps,\n} from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getKpiResults } from '../kpis.utils';\n\nexport type KpiChartNumberProProp = {\n results: DataResponse;\n measure: Measure;\n fontSize?: number;\n displayNullAs?: string;\n} & ChartCardHeaderProps;\n\nconst KpiChartNumberPro = (props: KpiChartNumberProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { displayNullAs } = resolvedI18nProps;\n const { measure, fontSize, results } = props;\n\n const value = results.data?.[0]?.[measure.name];\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n\n const resultsWithNullsHandled = getKpiResults(results, measure, Boolean(displayNullAs));\n\n return (\n <ChartCard\n data={resultsWithNullsHandled}\n dimensionsAndMeasures={[measure]}\n errorMessage={results.error}\n {...asChartCardHeaderProps(props)}\n >\n <KpiChart\n displayNullAs={displayNullAs}\n value={value}\n valueFormatter={valueFormatter}\n valueFontSize={fontSize}\n />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberPro;\n","import { DataResponse, LoadDataRequest, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\n\nconst meta = {\n name: 'KpiChartNumberPro',\n label: 'Kpi Chart - Number',\n description:\n 'Single big-number KPI showing one measure. Use for headline metrics without comparison.',\n category: 'Kpi Charts',\n defaultHeight: 442,\n defaultWidth: 630,\n inputs: [\n inputs.dataset,\n inputs.measure,\n inputs.title,\n inputs.description,\n inputs.displayNullAs,\n inputs.tooltip,\n inputs.fontSize,\n inputs.menuOptions,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewConfig = {\n measure: { ...previewData.measure },\n results: previewData.results1Measure,\n fontSize: 100,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => {\n return {\n from: inputs.dataset,\n select: [inputs.measure],\n timezone: getClientContextTimezone(clientContext?.timezone),\n };\n};\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, clientContext));\n\nconst props = (\n inputs: Inputs<typeof meta>,\n _state: unknown,\n clientContext: ThemeClientContext,\n) => ({\n ...inputs,\n results: loadDataResults(inputs, clientContext),\n});\n\nexport const kpiChartNumberPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["KpiChartNumberPro","props","theme","useTheme","i18nSetup","resolvedI18nProps","resolveI18nProps","displayNullAs","measure","fontSize","results","value","_b","_a","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","resultsWithNullsHandled","getKpiResults","jsx","ChartCard","asChartCardHeaderProps","KpiChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","_state","kpiChartNumberPro"],"mappings":";;;;;;;;;AAqBA,MAAMA,IAAoB,CAACC,MAAiC;;AAC1D,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAMG,IAAoBC,EAAiBL,CAAK,GAC1C,EAAE,eAAAM,MAAkBF,GACpB,EAAE,SAAAG,GAAS,UAAAC,GAAU,SAAAC,EAAA,IAAYT,GAEjCU,KAAQC,KAAAC,IAAAH,EAAQ,SAAR,gBAAAG,EAAe,OAAf,gBAAAD,EAAoBJ,EAAQ,OAEpCM,IAAiBC,EAAkBb,CAAK,GACxCc,IAAiB,CAACC,MAA0BH,EAAe,KAAKN,GAASS,CAAa,GAEtFC,IAA0BC,EAAcT,GAASF,GAAS,EAAQD,CAAc;AAEtF,SACEa,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMH;AAAA,MACN,uBAAuB,CAACV,CAAO;AAAA,MAC/B,cAAcE,EAAQ;AAAA,MACrB,GAAGY,EAAuBrB,CAAK;AAAA,MAEhC,UAAAmB,gBAAAA,EAAAA;AAAAA,QAACG;AAAA,QAAA;AAAA,UACC,eAAAhB;AAAA,UACA,OAAAI;AAAA,UACA,gBAAAK;AAAA,UACA,eAAeP;AAAA,QAAA;AAAA,MAAA;AAAA,IACjB;AAAA,EAAA;AAGN;;;8CC3CMe,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aACE;AAAA,EACF,UAAU;AAAA,EACV,eAAe;AAAA,EACf,cAAc;AAAA,EACd,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,EAAA;AAEX,GAEMC,IAAgB;AAAA,EACpB,SAAS,EAAE,GAAGC,EAAY,QAAA;AAAA,EAC1B,SAASA,EAAY;AAAA,EACrB,UAAU;AAAA,EACV,UAAU;AACZ,GAEMC,IAAUC,EAAcC,GAAWJ,CAAa,GAEhDK,IAAsB,CAC1BN,GACAO,OAEO;AAAA,EACL,MAAMP,EAAO;AAAA,EACb,QAAQ,CAACA,EAAO,OAAO;AAAA,EACvB,UAAUQ,EAAyBD,KAAA,gBAAAA,EAAe,QAAQ;AAAA,IAIxDE,IAAkB,CACtBT,GACAO,MACiBG,EAASJ,EAAoBN,GAAQO,CAAa,CAAC,GAEhE/B,IAAQ,CACZwB,GACAW,GACAJ,OACI;AAAA,EACJ,GAAGP;AAAAA,EACH,SAASS,EAAgBT,GAAQO,CAAa;AAChD,IAEaK,IAAoB;AAAA,EAAA,WAC/BP;AAAAA,EACA,MAAAN;AAAA,EACA,SAAAI;AAAA,EACA,eAAAF;AAAA,EACA,QAAQ;AAAA,IACN,OAAAzB;AAAA,EAAA;AAAA,EAEF,SAAS;AAAA,IACP,cAAc8B;AAAA,IACd,UAAUG;AAAA,EAAA;AAEd;"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { m as j, j as C, B as F, V as x } from "./index-BCG-LNTx.js";
|
|
2
2
|
import { useTheme as K, definePreview as _ } from "@embeddable.com/react";
|
|
3
|
-
import { i as W, r as I } from "./component.utils-
|
|
4
|
-
import { C as E, a as U } from "./ChartCard-
|
|
5
|
-
import { b as q, c as J } from "./bars.utils-
|
|
3
|
+
import { i as W, r as I } from "./component.utils-B7tQ4cCT.js";
|
|
4
|
+
import { C as E, a as U } from "./ChartCard-C72rw1Ya.js";
|
|
5
|
+
import { b as q, c as J } from "./bars.utils-4Vu_6Vwr.js";
|
|
6
6
|
import { u as N } from "./charts.fillGaps.hooks-Dkv__Ls1.js";
|
|
7
|
-
import { C as Q, g as X } from "./granularity.utils-
|
|
8
|
-
import { u as Z, g as $, a as ee, l as ie, b as ae } from "./bars.loadData.utils-
|
|
9
|
-
import { d as re } from "./charts.utils-
|
|
7
|
+
import { C as Q, g as X } from "./granularity.utils-BidDuinr.js";
|
|
8
|
+
import { u as Z, g as $, a as ee, l as ie, b as ae } from "./bars.loadData.utils-qHyrp6mu.js";
|
|
9
|
+
import { d as re } from "./charts.utils-Czfl880z.js";
|
|
10
10
|
import { i } from "./component.inputs.constants-BsSC9xd5.js";
|
|
11
11
|
import { p } from "./preview.data.constants-C0USIdBY.js";
|
|
12
12
|
import { g as se } from "./clientContext.utils-DpB5KsfX.js";
|
|
@@ -233,4 +233,4 @@ export {
|
|
|
233
233
|
ke as b,
|
|
234
234
|
Te as i
|
|
235
235
|
};
|
|
236
|
-
//# sourceMappingURL=definition-
|
|
236
|
+
//# sourceMappingURL=definition-tN-Rlh_R.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-DoSFbUU_.js","sources":["../src/components/charts/bars/BarChartStackedHorizontalPro/index.tsx","../src/components/charts/bars/BarChartStackedHorizontalPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, asChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarStackedChartProData, getBarStackedChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { Dimension } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { useUpdateAxisOrderAndCacheKey } from '../bars.hooks';\nimport { BarChartStackedBaseProps } from '../bars.types';\nimport { createGroupedClickHandler } from '../../charts.utils';\n\nexport type BarChartStackedHorizontalProProps = BarChartStackedBaseProps & {\n yAxis: Dimension;\n reverseYAxis?: boolean;\n xAxisRangeMax?: number;\n xAxisRangeMin?: number;\n};\n\nconst BarChartStackedHorizontalPro = (props: BarChartStackedHorizontalProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolvedI18nProps;\n\n const {\n groupBy,\n measure,\n reverseYAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n yAxis,\n xAxisRangeMax,\n xAxisRangeMin,\n granularity,\n setGranularity,\n onBarClicked,\n axisOrder,\n resultsAxisOrder,\n axisOrderCacheKey,\n setAxisOrderAndCacheKey,\n } = props;\n\n useUpdateAxisOrderAndCacheKey({\n resultsAxisOrder,\n axisDimension: yAxis,\n setAxisOrderAndCacheKey,\n axisOrderCacheKey,\n });\n\n const results = useFillGaps({\n results: props.results,\n dimension: yAxis,\n });\n\n const data = getBarStackedChartProData(\n {\n data: results?.data,\n dimension: yAxis,\n groupDimension: groupBy,\n measure,\n axisOrder,\n },\n theme,\n );\n\n const options = mergician(\n getBarStackedChartProOptions(\n {\n measures: [measure],\n groupDimension: groupBy,\n horizontal: true,\n data,\n dimension: yAxis,\n },\n theme,\n ),\n theme.charts?.barChartStackedHorizontalPro?.options || {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n const handleClick = createGroupedClickHandler({\n data,\n dimension: yAxis,\n groupBy,\n granularity,\n onClicked: onBarClicked,\n });\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, yAxis, groupBy]}\n errorMessage={results?.error || resultsAxisOrder?.error}\n {...asChartCardHeaderProps(props)}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={yAxis}\n onChange={setGranularity}\n />\n )}\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseYAxis={reverseYAxis}\n xAxisRangeMin={xAxisRangeMin}\n xAxisRangeMax={xAxisRangeMax}\n showTotalLabels={showTotalLabels}\n options={options}\n onClick={handleClick}\n stacked\n horizontal\n />\n </ChartCard>\n );\n};\n\nexport default BarChartStackedHorizontalPro;\n","import { Granularity, OrderDirection, Value } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport {\n getAxisOrderCacheKey,\n getCachedAxisOrder,\n loadDataResultsAxisOrder,\n loadDataResults,\n} from '../bars.loadData.utils';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\nimport { BarChartStackedProOptionsClickArg } from '../bars.types';\n\nconst meta = {\n name: 'BarChartStackedHorizontalPro',\n label: 'Bar Chart - Stacked Horizontal',\n description:\n 'Same as BarChartStackedPro but with horizontal bars. Pick when category labels are long or numerous.',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n { ...inputs.dimensionWithGranularitySelectField, name: 'yAxis', label: 'Y-axis' },\n inputs.groupBy,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.maxResults,\n inputs.showLegend,\n inputs.showTooltips,\n { ...inputs.showValueLabels, defaultValue: false },\n inputs.showLogarithmicScale,\n inputs.sortDirectionTopYAxis,\n inputs.limitTopYAxis,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseYAxis,\n inputs.xAxisRangeMin,\n inputs.xAxisRangeMax,\n inputs.showTotalLabels,\n inputs.menuOptions,\n ],\n events: [\n {\n name: 'onBarClicked',\n label: 'A bar is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\n },\n {\n name: 'groupingDimensionValue',\n label: 'Clicked grouping dimension value',\n type: 'string',\n },\n {\n name: 'groupingDimensionTimeRange',\n label: 'Clicked grouping dimension time range',\n type: 'timeRange',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartStackedHorizontalProState = {\n granularity?: Granularity;\n axisOrder?: string[];\n axisOrderCacheKey?: string;\n};\n\nconst previewConfig = {\n yAxis: previewData.dimension,\n groupBy: previewData.dimensionGroup,\n measure: previewData.measure,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst events = {\n onBarClicked: (value: BarChartStackedProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n groupingDimensionValue: value.groupingDimensionValue ?? Value.noFilter(),\n groupingDimensionTimeRange: value.groupingDimensionTimeRange ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n BarChartStackedHorizontalProState,\n (state: BarChartStackedHorizontalProState) => void,\n ],\n clientContext: ThemeClientContext,\n) => {\n const yAxisWithGranularity = getDimensionWithGranularity(inputs.yAxis, state?.granularity);\n const sortDirection = inputs.sortDirectionTopYAxis as OrderDirection | undefined;\n const timezone = getClientContextTimezone(clientContext?.timezone);\n\n const axisOrderCacheKey = getAxisOrderCacheKey({\n dataset: inputs.dataset,\n axis: yAxisWithGranularity,\n measure: inputs.measure,\n sortDirection,\n limit: inputs.limitTopYAxis,\n timezone,\n });\n\n const cachedAxisOrder = getCachedAxisOrder(axisOrderCacheKey, state);\n\n return {\n ...inputs,\n yAxis: yAxisWithGranularity,\n granularity: state?.granularity,\n axisOrder: cachedAxisOrder,\n axisOrderCacheKey,\n setGranularity: (granularity: Granularity) => setState({ ...state, granularity }),\n setAxisOrderAndCacheKey: (axisOrder: string[], cacheKey: string) =>\n setState({ ...state, axisOrder, axisOrderCacheKey: cacheKey }),\n resultsAxisOrder: loadDataResultsAxisOrder({\n dataset: inputs.dataset,\n limitTopAxis: inputs.limitTopYAxis,\n axis: yAxisWithGranularity,\n measure: inputs.measure,\n sortDirection,\n timezone,\n }),\n results: loadDataResults({\n dataset: inputs.dataset,\n axis: yAxisWithGranularity,\n groupBy: inputs.groupBy,\n measure: inputs.measure,\n sortDirection,\n limitTopAxis: inputs.limitTopYAxis,\n maxResults: inputs.maxResults,\n axisOrder: cachedAxisOrder,\n timezone,\n }),\n };\n};\n\nexport const barChartStackedHorizontalPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["BarChartStackedHorizontalPro","props","theme","useTheme","i18nSetup","resolvedI18nProps","resolveI18nProps","tooltip","description","title","xAxisLabel","yAxisLabel","groupBy","measure","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","yAxis","xAxisRangeMax","xAxisRangeMin","granularity","setGranularity","onBarClicked","axisOrder","resultsAxisOrder","axisOrderCacheKey","setAxisOrderAndCacheKey","useUpdateAxisOrderAndCacheKey","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarStackedChartProOptions","_b","_a","granularitySelectorHasMarginTop","handleClick","createGroupedClickHandler","jsxs","ChartCard","asChartCardHeaderProps","jsx","ChartGranularitySelectField","BarChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","events","value","Value","state","setState","clientContext","yAxisWithGranularity","getDimensionWithGranularity","sortDirection","timezone","getClientContextTimezone","getAxisOrderCacheKey","cachedAxisOrder","getCachedAxisOrder","cacheKey","loadDataResultsAxisOrder","loadDataResults","barChartStackedHorizontalPro"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"definition-tN-Rlh_R.js","sources":["../src/components/charts/bars/BarChartStackedHorizontalPro/index.tsx","../src/components/charts/bars/BarChartStackedHorizontalPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, asChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarStackedChartProData, getBarStackedChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { Dimension } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { useUpdateAxisOrderAndCacheKey } from '../bars.hooks';\nimport { BarChartStackedBaseProps } from '../bars.types';\nimport { createGroupedClickHandler } from '../../charts.utils';\n\nexport type BarChartStackedHorizontalProProps = BarChartStackedBaseProps & {\n yAxis: Dimension;\n reverseYAxis?: boolean;\n xAxisRangeMax?: number;\n xAxisRangeMin?: number;\n};\n\nconst BarChartStackedHorizontalPro = (props: BarChartStackedHorizontalProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolvedI18nProps;\n\n const {\n groupBy,\n measure,\n reverseYAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n yAxis,\n xAxisRangeMax,\n xAxisRangeMin,\n granularity,\n setGranularity,\n onBarClicked,\n axisOrder,\n resultsAxisOrder,\n axisOrderCacheKey,\n setAxisOrderAndCacheKey,\n } = props;\n\n useUpdateAxisOrderAndCacheKey({\n resultsAxisOrder,\n axisDimension: yAxis,\n setAxisOrderAndCacheKey,\n axisOrderCacheKey,\n });\n\n const results = useFillGaps({\n results: props.results,\n dimension: yAxis,\n });\n\n const data = getBarStackedChartProData(\n {\n data: results?.data,\n dimension: yAxis,\n groupDimension: groupBy,\n measure,\n axisOrder,\n },\n theme,\n );\n\n const options = mergician(\n getBarStackedChartProOptions(\n {\n measures: [measure],\n groupDimension: groupBy,\n horizontal: true,\n data,\n dimension: yAxis,\n },\n theme,\n ),\n theme.charts?.barChartStackedHorizontalPro?.options || {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n const handleClick = createGroupedClickHandler({\n data,\n dimension: yAxis,\n groupBy,\n granularity,\n onClicked: onBarClicked,\n });\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, yAxis, groupBy]}\n errorMessage={results?.error || resultsAxisOrder?.error}\n {...asChartCardHeaderProps(props)}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={yAxis}\n onChange={setGranularity}\n />\n )}\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseYAxis={reverseYAxis}\n xAxisRangeMin={xAxisRangeMin}\n xAxisRangeMax={xAxisRangeMax}\n showTotalLabels={showTotalLabels}\n options={options}\n onClick={handleClick}\n stacked\n horizontal\n />\n </ChartCard>\n );\n};\n\nexport default BarChartStackedHorizontalPro;\n","import { Granularity, OrderDirection, Value } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport {\n getAxisOrderCacheKey,\n getCachedAxisOrder,\n loadDataResultsAxisOrder,\n loadDataResults,\n} from '../bars.loadData.utils';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\nimport { BarChartStackedProOptionsClickArg } from '../bars.types';\n\nconst meta = {\n name: 'BarChartStackedHorizontalPro',\n label: 'Bar Chart - Stacked Horizontal',\n description:\n 'Same as BarChartStackedPro but with horizontal bars. Pick when category labels are long or numerous.',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n { ...inputs.dimensionWithGranularitySelectField, name: 'yAxis', label: 'Y-axis' },\n inputs.groupBy,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.maxResults,\n inputs.showLegend,\n inputs.showTooltips,\n { ...inputs.showValueLabels, defaultValue: false },\n inputs.showLogarithmicScale,\n inputs.sortDirectionTopYAxis,\n inputs.limitTopYAxis,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseYAxis,\n inputs.xAxisRangeMin,\n inputs.xAxisRangeMax,\n inputs.showTotalLabels,\n inputs.menuOptions,\n ],\n events: [\n {\n name: 'onBarClicked',\n label: 'A bar is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\n },\n {\n name: 'groupingDimensionValue',\n label: 'Clicked grouping dimension value',\n type: 'string',\n },\n {\n name: 'groupingDimensionTimeRange',\n label: 'Clicked grouping dimension time range',\n type: 'timeRange',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartStackedHorizontalProState = {\n granularity?: Granularity;\n axisOrder?: string[];\n axisOrderCacheKey?: string;\n};\n\nconst previewConfig = {\n yAxis: previewData.dimension,\n groupBy: previewData.dimensionGroup,\n measure: previewData.measure,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst events = {\n onBarClicked: (value: BarChartStackedProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n groupingDimensionValue: value.groupingDimensionValue ?? Value.noFilter(),\n groupingDimensionTimeRange: value.groupingDimensionTimeRange ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n BarChartStackedHorizontalProState,\n (state: BarChartStackedHorizontalProState) => void,\n ],\n clientContext: ThemeClientContext,\n) => {\n const yAxisWithGranularity = getDimensionWithGranularity(inputs.yAxis, state?.granularity);\n const sortDirection = inputs.sortDirectionTopYAxis as OrderDirection | undefined;\n const timezone = getClientContextTimezone(clientContext?.timezone);\n\n const axisOrderCacheKey = getAxisOrderCacheKey({\n dataset: inputs.dataset,\n axis: yAxisWithGranularity,\n measure: inputs.measure,\n sortDirection,\n limit: inputs.limitTopYAxis,\n timezone,\n });\n\n const cachedAxisOrder = getCachedAxisOrder(axisOrderCacheKey, state);\n\n return {\n ...inputs,\n yAxis: yAxisWithGranularity,\n granularity: state?.granularity,\n axisOrder: cachedAxisOrder,\n axisOrderCacheKey,\n setGranularity: (granularity: Granularity) => setState({ ...state, granularity }),\n setAxisOrderAndCacheKey: (axisOrder: string[], cacheKey: string) =>\n setState({ ...state, axisOrder, axisOrderCacheKey: cacheKey }),\n resultsAxisOrder: loadDataResultsAxisOrder({\n dataset: inputs.dataset,\n limitTopAxis: inputs.limitTopYAxis,\n axis: yAxisWithGranularity,\n measure: inputs.measure,\n sortDirection,\n timezone,\n }),\n results: loadDataResults({\n dataset: inputs.dataset,\n axis: yAxisWithGranularity,\n groupBy: inputs.groupBy,\n measure: inputs.measure,\n sortDirection,\n limitTopAxis: inputs.limitTopYAxis,\n maxResults: inputs.maxResults,\n axisOrder: cachedAxisOrder,\n timezone,\n }),\n };\n};\n\nexport const barChartStackedHorizontalPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["BarChartStackedHorizontalPro","props","theme","useTheme","i18nSetup","resolvedI18nProps","resolveI18nProps","tooltip","description","title","xAxisLabel","yAxisLabel","groupBy","measure","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","yAxis","xAxisRangeMax","xAxisRangeMin","granularity","setGranularity","onBarClicked","axisOrder","resultsAxisOrder","axisOrderCacheKey","setAxisOrderAndCacheKey","useUpdateAxisOrderAndCacheKey","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarStackedChartProOptions","_b","_a","granularitySelectorHasMarginTop","handleClick","createGroupedClickHandler","jsxs","ChartCard","asChartCardHeaderProps","jsx","ChartGranularitySelectField","BarChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","events","value","Value","state","setState","clientContext","yAxisWithGranularity","getDimensionWithGranularity","sortDirection","timezone","getClientContextTimezone","getAxisOrderCacheKey","cachedAxisOrder","getCachedAxisOrder","cacheKey","loadDataResultsAxisOrder","loadDataResults","barChartStackedHorizontalPro"],"mappings":";;;;;;;;;;;;AAsBA,MAAMA,IAA+B,CAACC,MAA6C;;AACjF,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAMG,IAAoBC,EAAiBL,CAAK,GAC1C,EAAE,SAAAM,GAAS,aAAAC,GAAa,OAAAC,GAAO,YAAAC,GAAY,YAAAC,MAAeN,GAE1D;AAAA,IACJ,SAAAO;AAAA,IACA,SAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,WAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,yBAAAC;AAAA,EAAA,IACE5B;AAEJ,EAAA6B,EAA8B;AAAA,IAC5B,kBAAAH;AAAA,IACA,eAAeP;AAAA,IACf,yBAAAS;AAAA,IACA,mBAAAD;AAAA,EAAA,CACD;AAED,QAAMG,IAAUC,EAAY;AAAA,IAC1B,SAAS/B,EAAM;AAAA,IACf,WAAWmB;AAAA,EAAA,CACZ,GAEKa,IAAOC;AAAA,IACX;AAAA,MACE,MAAMH,KAAA,gBAAAA,EAAS;AAAA,MACf,WAAWX;AAAA,MACX,gBAAgBR;AAAA,MAChB,SAAAC;AAAA,MACA,WAAAa;AAAA,IAAA;AAAA,IAEFxB;AAAA,EAAA,GAGIiC,IAAUC;AAAA,IACdC;AAAA,MACE;AAAA,QACE,UAAU,CAACxB,CAAO;AAAA,QAClB,gBAAgBD;AAAA,QAChB,YAAY;AAAA,QACZ,MAAAqB;AAAA,QACA,WAAWb;AAAA,MAAA;AAAA,MAEblB;AAAA,IAAA;AAAA,MAEFoC,KAAAC,IAAArC,EAAM,WAAN,gBAAAqC,EAAc,iCAAd,gBAAAD,EAA4C,YAAW,CAAA;AAAA,EAAC,GAGpDE,IAAkC,CAAC/B,KAAS,CAACD,KAAe,CAACD,GAE7DkC,IAAcC,GAA0B;AAAA,IAC5C,MAAAT;AAAA,IACA,WAAWb;AAAA,IACX,SAAAR;AAAA,IACA,aAAAW;AAAA,IACA,WAAWE;AAAA,EAAA,CACZ;AAED,SACEkB,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMb;AAAA,MACN,uBAAuB,CAAClB,GAASO,GAAOR,CAAO;AAAA,MAC/C,eAAcmB,KAAA,gBAAAA,EAAS,WAASJ,KAAA,gBAAAA,EAAkB;AAAA,MACjD,GAAGkB,EAAuB5C,CAAK;AAAA,MAE/B,UAAA;AAAA,QAAAuB,KACCsB,gBAAAA,EAAAA;AAAAA,UAACC;AAAA,UAAA;AAAA,YACC,cAAcP;AAAA,YACd,WAAWpB;AAAA,YACX,UAAUI;AAAA,UAAA;AAAA,QAAA;AAAA,QAGdsB,gBAAAA,EAAAA;AAAAA,UAACE;AAAA,UAAA;AAAA,YACC,MAAAf;AAAA,YACA,YAAAlB;AAAA,YACA,cAAAE;AAAA,YACA,iBAAAE;AAAA,YACA,sBAAAH;AAAA,YACA,YAAAN;AAAA,YACA,YAAAC;AAAA,YACA,cAAAG;AAAA,YACA,eAAAQ;AAAA,YACA,eAAAD;AAAA,YACA,iBAAAH;AAAA,YACA,SAAAiB;AAAA,YACA,SAASM;AAAA,YACT,SAAO;AAAA,YACP,YAAU;AAAA,UAAA;AAAA,QAAA;AAAA,MACZ;AAAA,IAAA;AAAA,EAAA;AAGN;;;8CClHMQ,KAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aACE;AAAA,EACF,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,qCAAqC,MAAM,SAAS,OAAO,SAAA;AAAA,IACvEA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,iBAAiB,cAAc,GAAA;AAAA,IAC3CA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,EAAA;AAAA,EAET,QAAQ;AAAA,IACN;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACV;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,QAER;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,QAER;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,QAER;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEJ,GAQMC,IAAgB;AAAA,EACpB,OAAOC,EAAY;AAAA,EACnB,SAASA,EAAY;AAAA,EACrB,SAASA,EAAY;AAAA,EACrB,SAASA,EAAY;AAAA,EACrB,UAAU;AACZ,GAEMC,KAAUC,EAAcC,GAAWJ,CAAa,GAEhDK,KAAS;AAAA,EACb,cAAc,CAACC,OAA8C;AAAA,IAC3D,oBAAoBA,EAAM,kBAAkBC,EAAM,SAAA;AAAA,IAClD,wBAAwBD,EAAM,sBAAsBC,EAAM,SAAA;AAAA,IAC1D,wBAAwBD,EAAM,0BAA0BC,EAAM,SAAA;AAAA,IAC9D,4BAA4BD,EAAM,8BAA8BC,EAAM,SAAA;AAAA,EAAS;AAEnF,GAEMzD,KAAQ,CACZiD,GACA,CAACS,GAAOC,CAAQ,GAIhBC,MACG;AACH,QAAMC,IAAuBC,EAA4Bb,EAAO,OAAOS,KAAA,gBAAAA,EAAO,WAAW,GACnFK,IAAgBd,EAAO,uBACvBe,IAAWC,GAAyBL,KAAA,gBAAAA,EAAe,QAAQ,GAE3DjC,IAAoBuC,EAAqB;AAAA,IAC7C,SAASjB,EAAO;AAAA,IAChB,MAAMY;AAAA,IACN,SAASZ,EAAO;AAAA,IAChB,eAAAc;AAAA,IACA,OAAOd,EAAO;AAAA,IACd,UAAAe;AAAA,EAAA,CACD,GAEKG,IAAkBC,GAAmBzC,GAAmB+B,CAAK;AAEnE,SAAO;AAAA,IACL,GAAGT;AAAAA,IACH,OAAOY;AAAA,IACP,aAAaH,KAAA,gBAAAA,EAAO;AAAA,IACpB,WAAWS;AAAA,IACX,mBAAAxC;AAAA,IACA,gBAAgB,CAACL,MAA6BqC,EAAS,EAAE,GAAGD,GAAO,aAAApC,GAAa;AAAA,IAChF,yBAAyB,CAACG,GAAqB4C,MAC7CV,EAAS,EAAE,GAAGD,GAAO,WAAAjC,GAAW,mBAAmB4C,GAAU;AAAA,IAC/D,kBAAkBC,GAAyB;AAAA,MACzC,SAASrB,EAAO;AAAA,MAChB,cAAcA,EAAO;AAAA,MACrB,MAAMY;AAAA,MACN,SAASZ,EAAO;AAAA,MAChB,eAAAc;AAAA,MACA,UAAAC;AAAA,IAAA,CACD;AAAA,IACD,SAASO,GAAgB;AAAA,MACvB,SAAStB,EAAO;AAAA,MAChB,MAAMY;AAAA,MACN,SAASZ,EAAO;AAAA,MAChB,SAASA,EAAO;AAAA,MAChB,eAAAc;AAAA,MACA,cAAcd,EAAO;AAAA,MACrB,YAAYA,EAAO;AAAA,MACnB,WAAWkB;AAAA,MACX,UAAAH;AAAA,IAAA,CACD;AAAA,EAAA;AAEL,GAEaQ,KAA+B;AAAA,EAAA,WAC1ClB;AAAAA,EACA,MAAAN;AAAA,EACA,SAAAI;AAAA,EACA,eAAAF;AAAA,EACA,QAAQ;AAAA,IACN,OAAAlD;AAAA,IACA,QAAAuD;AAAA,EAAA;AAEJ;"}
|
|
@@ -3,9 +3,9 @@ import { useTheme as w, definePreview as j } from "@embeddable.com/react";
|
|
|
3
3
|
import { i as s } from "./component.inputs.constants-BsSC9xd5.js";
|
|
4
4
|
import { p } from "./preview.data.constants-C0USIdBY.js";
|
|
5
5
|
import { useState as f, useEffect as g } from "react";
|
|
6
|
-
import { i as x, r as $, a as E } from "./component.utils-
|
|
7
|
-
import { E as N } from "./EditorCard-
|
|
8
|
-
import { g as _ } from "./dimensionsAndMeasures.utils-
|
|
6
|
+
import { i as x, r as $, a as E } from "./component.utils-B7tQ4cCT.js";
|
|
7
|
+
import { E as N } from "./EditorCard-C5VwkYTO.js";
|
|
8
|
+
import { g as _ } from "./dimensionsAndMeasures.utils-mGymNq3G.js";
|
|
9
9
|
const d = (n) => {
|
|
10
10
|
const u = w();
|
|
11
11
|
x(u);
|
|
@@ -134,4 +134,4 @@ export {
|
|
|
134
134
|
Q as d,
|
|
135
135
|
L as i
|
|
136
136
|
};
|
|
137
|
-
//# sourceMappingURL=definition-
|
|
137
|
+
//# sourceMappingURL=definition-wZGQYPSO.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-J-vD12mT.js","sources":["../src/components/editors/DimensionOrMeasureMultiSelectFieldPro/index.tsx","../src/components/editors/DimensionOrMeasureMultiSelectFieldPro/definition.ts"],"sourcesContent":["import { DimensionOrMeasure } from '@embeddable.com/core';\nimport { useTheme } from '@embeddable.com/react';\nimport { MultiSelectField } from '@embeddable.com/remarkable-ui';\nimport { useState, useEffect } from 'react';\nimport { Theme } from '../../../theme/theme.types';\nimport { i18nSetup, i18n } from '../../../theme/i18n/i18n';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { getDimensionAndMeasureOptions } from '../utils/dimensionsAndMeasures.utils';\n\nexport type DimensionMeasureMultiSelectFieldProProps = {\n selectedDimensionsAndMeasures?: DimensionOrMeasure[];\n dimensionAndMeasureOptions?: DimensionOrMeasure[];\n placeholder?: string;\n clearable?: boolean;\n onChange: (value: DimensionOrMeasure[]) => void;\n} & EditorCardHeaderProps;\n\nconst DimensionMeasureMultiSelectFieldPro = (props: DimensionMeasureMultiSelectFieldProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n selectedDimensionsAndMeasures = [],\n dimensionAndMeasureOptions = [],\n clearable,\n onChange,\n } = props;\n const { title, description, tooltip, placeholder } = resolveI18nProps(props);\n\n const [searchValue, setSearchValue] = useState('');\n const [pendingValues, setPendingValues] = useState<string[]>([]);\n\n useEffect(() => {\n if (clearable) return;\n if (selectedDimensionsAndMeasures.length > 0) return;\n const first = dimensionAndMeasureOptions[0];\n if (!first) return;\n\n onChange([first]);\n }, [clearable, selectedDimensionsAndMeasures.length, dimensionAndMeasureOptions, onChange]);\n\n // Normalize selectedDimensionsAndMeasures titles by resolving them against dimensionAndMeasureOptions.\n // Variable defaults may store items with model-qualified titles (e.g. \"Products # of orders\"),\n // while dimensionAndMeasureOptions always has the correct display title (e.g. \"# of orders\").\n // Firing onChange with the resolved objects ensures the variable and any dependent\n // components (e.g. charts) receive correctly-formatted measures/dimensions.\n useEffect(() => {\n if (!selectedDimensionsAndMeasures.length || !dimensionAndMeasureOptions.length) return;\n\n const normalized = selectedDimensionsAndMeasures.map(\n (d) => dimensionAndMeasureOptions.find((o) => o.name === d.name) ?? d,\n );\n\n if (normalized.every((norm, i) => norm.title === selectedDimensionsAndMeasures[i]?.title))\n return;\n\n onChange(normalized);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n JSON.stringify(selectedDimensionsAndMeasures.map((d) => `${d.name}:${d.title}`)),\n JSON.stringify(dimensionAndMeasureOptions.map((d) => `${d.name}:${d.title}`)),\n onChange,\n ]);\n\n const currentDimensionAndMeasureNames = selectedDimensionsAndMeasures.map((d) => d.name);\n\n const options = getDimensionAndMeasureOptions({\n dimensionsAndMeasures: dimensionAndMeasureOptions,\n searchValue,\n theme,\n });\n\n const handleChange = (newValues: string[]) => {\n const selectedNamesSet = new Set(newValues);\n onChange(dimensionAndMeasureOptions.filter((d) => selectedNamesSet.has(d.name)));\n };\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <MultiSelectField\n isClearable={clearable}\n disableApplyButton={!clearable && pendingValues.length === 0}\n isSearchable\n values={currentDimensionAndMeasureNames}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={i18n.t('common.noOptionsFound')}\n onChange={handleChange}\n onPendingChange={setPendingValues}\n onSearch={setSearchValue}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default DimensionMeasureMultiSelectFieldPro;\n","import { Value } from '@embeddable.com/core';\nimport { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport { inputs } from '../../component.inputs.constants';\nimport { previewData } from '../../preview.data.constants';\nimport Component from './index';\n\nconst meta = {\n name: 'DimensionMeasureMultiSelectFieldPro',\n label: 'Dimension and Measure Multi Select Field',\n description:\n 'Multi-select dropdown for dimensions and measures combined. Pairs with a dimensionOrMeasure-array variable; emits onChange.',\n category: 'Dropdowns - dimensions and measures',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.dataset,\n inputs.dimensionAndMeasureOptions,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select values...' },\n {\n ...inputs.dimensionsAndMeasures,\n name: 'selectedDimensionsAndMeasures',\n label: 'Selected dimensions and measures',\n category: 'Pre-configured Variables',\n required: false,\n config: {\n dataset: 'dataset',\n },\n },\n { ...inputs.clearable, defaultValue: false },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected dimensions and measures updated',\n properties: [\n {\n name: 'value',\n label: 'Selected values',\n type: 'dimensionOrMeasure',\n array: true,\n },\n ],\n },\n ],\n variables: [\n {\n name: 'dimension-measure multi-select values',\n type: 'dimensionOrMeasure',\n array: true,\n defaultValue: Value.noFilter(),\n inputs: ['selectedDimensionsAndMeasures'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n dimensionAndMeasureOptions: [previewData.dimension, previewData.measure],\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n dimensionAndMeasureOptions: inputs.dimensionAndMeasureOptions ?? [],\n selectedDimensionsAndMeasures: inputs.selectedDimensionsAndMeasures ?? [],\n };\n};\n\nconst events = {\n onChange: (value: unknown) => {\n return {\n value: Array.isArray(value) && value.length ? value : Value.noFilter(),\n };\n },\n};\n\nexport const dimensionMeasureMultiSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["DimensionMeasureMultiSelectFieldPro","props","theme","useTheme","i18nSetup","selectedDimensionsAndMeasures","dimensionAndMeasureOptions","clearable","onChange","title","description","tooltip","placeholder","resolveI18nProps","searchValue","setSearchValue","useState","pendingValues","setPendingValues","useEffect","first","normalized","d","norm","i","_a","currentDimensionAndMeasureNames","options","getDimensionAndMeasureOptions","handleChange","newValues","selectedNamesSet","jsx","EditorCard","MultiSelectField","i18n","meta","inputs","Value","preview","definePreview","Component","previewData","events","value","dimensionMeasureMultiSelectFieldPro"],"mappings":";;;;;;;;AAkBA,MAAMA,IAAsC,CAACC,MAAoD;AAC/F,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,+BAAAG,IAAgC,CAAA;AAAA,IAChC,4BAAAC,IAA6B,CAAA;AAAA,IAC7B,WAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,IACEP,GACE,EAAE,OAAAQ,GAAO,aAAAC,GAAa,SAAAC,GAAS,aAAAC,EAAA,IAAgBC,EAAiBZ,CAAK,GAErE,CAACa,GAAaC,CAAc,IAAIC,EAAS,EAAE,GAC3C,CAACC,GAAeC,CAAgB,IAAIF,EAAmB,CAAA,CAAE;AAE/D,EAAAG,EAAU,MAAM;AAEd,QADIZ,KACAF,EAA8B,SAAS,EAAG;AAC9C,UAAMe,IAAQd,EAA2B,CAAC;AAC1C,IAAKc,KAELZ,EAAS,CAACY,CAAK,CAAC;AAAA,EAClB,GAAG,CAACb,GAAWF,EAA8B,QAAQC,GAA4BE,CAAQ,CAAC,GAO1FW,EAAU,MAAM;AACd,QAAI,CAACd,EAA8B,UAAU,CAACC,EAA2B,OAAQ;AAEjF,UAAMe,IAAahB,EAA8B;AAAA,MAC/C,CAACiB,MAAMhB,EAA2B,KAAK,CAAC,MAAM,EAAE,SAASgB,EAAE,IAAI,KAAKA;AAAA,IAAA;AAGtE,IAAID,EAAW,MAAM,CAACE,GAAMC,MAAA;;AAAM,aAAAD,EAAK,YAAUE,IAAApB,EAA8BmB,CAAC,MAA/B,gBAAAC,EAAkC;AAAA,KAAK,KAGxFjB,EAASa,CAAU;AAAA,EAErB,GAAG;AAAA,IACD,KAAK,UAAUhB,EAA8B,IAAI,CAACiB,MAAM,GAAGA,EAAE,IAAI,IAAIA,EAAE,KAAK,EAAE,CAAC;AAAA,IAC/E,KAAK,UAAUhB,EAA2B,IAAI,CAACgB,MAAM,GAAGA,EAAE,IAAI,IAAIA,EAAE,KAAK,EAAE,CAAC;AAAA,IAC5Ed;AAAA,EAAA,CACD;AAED,QAAMkB,IAAkCrB,EAA8B,IAAI,CAACiB,MAAMA,EAAE,IAAI,GAEjFK,IAAUC,EAA8B;AAAA,IAC5C,uBAAuBtB;AAAA,IACvB,aAAAQ;AAAA,IACA,OAAAZ;AAAA,EAAA,CACD,GAEK2B,IAAe,CAACC,MAAwB;AAC5C,UAAMC,IAAmB,IAAI,IAAID,CAAS;AAC1C,IAAAtB,EAASF,EAA2B,OAAO,CAACgB,MAAMS,EAAiB,IAAIT,EAAE,IAAI,CAAC,CAAC;AAAA,EACjF;AAEA,SACEU,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAxB,GAAc,aAAAC,GAA0B,SAAAC,GAClD,UAAAqB,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,aAAa3B;AAAA,MACb,oBAAoB,CAACA,KAAaU,EAAc,WAAW;AAAA,MAC3D,cAAY;AAAA,MACZ,QAAQS;AAAA,MACR,SAAAC;AAAA,MACA,aAAAf;AAAA,MACA,kBAAkBuB,EAAK,EAAE,uBAAuB;AAAA,MAChD,UAAUN;AAAA,MACV,iBAAiBX;AAAA,MACjB,UAAUH;AAAA,MACV,iBAAiB;AAAA,IAAA;AAAA,EAAA,GAErB;AAEJ;;;8CCzFMqB,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aACE;AAAA,EACF,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,aAAa,cAAc,mBAAA;AAAA,IACvC;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,IAEF,EAAE,GAAGA,EAAO,WAAW,cAAc,GAAA;AAAA,EAAM;AAAA,EAE7C,QAAQ;AAAA,IACN;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACV;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,UACN,OAAO;AAAA,QAAA;AAAA,MACT;AAAA,IACF;AAAA,EACF;AAAA,EAEF,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAcC,EAAM,SAAA;AAAA,MACpB,QAAQ,CAAC,+BAA+B;AAAA,MACxC,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAEMC,IAAUC,EAAcC,GAAW;AAAA,EACvC,4BAA4B,CAACC,EAAY,WAAWA,EAAY,OAAO;AAAA,EACvE,UAAU,MAAM;AAClB,CAAC,GAEKzC,IAAQ,CAACoC,OACN;AAAA,EACL,GAAGA;AAAAA,EACH,4BAA4BA,EAAO,8BAA8B,CAAA;AAAA,EACjE,+BAA+BA,EAAO,iCAAiC,CAAA;AAAC,IAItEM,IAAS;AAAA,EACb,UAAU,CAACC,OACF;AAAA,IACL,OAAO,MAAM,QAAQA,CAAK,KAAKA,EAAM,SAASA,IAAQN,EAAM,SAAA;AAAA,EAAS;AAG3E,GAEaO,IAAsC;AAAA,EAAA,WACjDJ;AAAAA,EACA,MAAAL;AAAA,EACA,SAAAG;AAAA,EACA,QAAQ;AAAA,IACN,OAAAtC;AAAA,IACA,QAAA0C;AAAA,EAAA;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"definition-wZGQYPSO.js","sources":["../src/components/editors/DimensionOrMeasureMultiSelectFieldPro/index.tsx","../src/components/editors/DimensionOrMeasureMultiSelectFieldPro/definition.ts"],"sourcesContent":["import { DimensionOrMeasure } from '@embeddable.com/core';\nimport { useTheme } from '@embeddable.com/react';\nimport { MultiSelectField } from '@embeddable.com/remarkable-ui';\nimport { useState, useEffect } from 'react';\nimport { Theme } from '../../../theme/theme.types';\nimport { i18nSetup, i18n } from '../../../theme/i18n/i18n';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { getDimensionAndMeasureOptions } from '../utils/dimensionsAndMeasures.utils';\n\nexport type DimensionMeasureMultiSelectFieldProProps = {\n selectedDimensionsAndMeasures?: DimensionOrMeasure[];\n dimensionAndMeasureOptions?: DimensionOrMeasure[];\n placeholder?: string;\n clearable?: boolean;\n onChange: (value: DimensionOrMeasure[]) => void;\n} & EditorCardHeaderProps;\n\nconst DimensionMeasureMultiSelectFieldPro = (props: DimensionMeasureMultiSelectFieldProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n selectedDimensionsAndMeasures = [],\n dimensionAndMeasureOptions = [],\n clearable,\n onChange,\n } = props;\n const { title, description, tooltip, placeholder } = resolveI18nProps(props);\n\n const [searchValue, setSearchValue] = useState('');\n const [pendingValues, setPendingValues] = useState<string[]>([]);\n\n useEffect(() => {\n if (clearable) return;\n if (selectedDimensionsAndMeasures.length > 0) return;\n const first = dimensionAndMeasureOptions[0];\n if (!first) return;\n\n onChange([first]);\n }, [clearable, selectedDimensionsAndMeasures.length, dimensionAndMeasureOptions, onChange]);\n\n // Normalize selectedDimensionsAndMeasures titles by resolving them against dimensionAndMeasureOptions.\n // Variable defaults may store items with model-qualified titles (e.g. \"Products # of orders\"),\n // while dimensionAndMeasureOptions always has the correct display title (e.g. \"# of orders\").\n // Firing onChange with the resolved objects ensures the variable and any dependent\n // components (e.g. charts) receive correctly-formatted measures/dimensions.\n useEffect(() => {\n if (!selectedDimensionsAndMeasures.length || !dimensionAndMeasureOptions.length) return;\n\n const normalized = selectedDimensionsAndMeasures.map(\n (d) => dimensionAndMeasureOptions.find((o) => o.name === d.name) ?? d,\n );\n\n if (normalized.every((norm, i) => norm.title === selectedDimensionsAndMeasures[i]?.title))\n return;\n\n onChange(normalized);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n JSON.stringify(selectedDimensionsAndMeasures.map((d) => `${d.name}:${d.title}`)),\n JSON.stringify(dimensionAndMeasureOptions.map((d) => `${d.name}:${d.title}`)),\n onChange,\n ]);\n\n const currentDimensionAndMeasureNames = selectedDimensionsAndMeasures.map((d) => d.name);\n\n const options = getDimensionAndMeasureOptions({\n dimensionsAndMeasures: dimensionAndMeasureOptions,\n searchValue,\n theme,\n });\n\n const handleChange = (newValues: string[]) => {\n const selectedNamesSet = new Set(newValues);\n onChange(dimensionAndMeasureOptions.filter((d) => selectedNamesSet.has(d.name)));\n };\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <MultiSelectField\n isClearable={clearable}\n disableApplyButton={!clearable && pendingValues.length === 0}\n isSearchable\n values={currentDimensionAndMeasureNames}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={i18n.t('common.noOptionsFound')}\n onChange={handleChange}\n onPendingChange={setPendingValues}\n onSearch={setSearchValue}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default DimensionMeasureMultiSelectFieldPro;\n","import { Value } from '@embeddable.com/core';\nimport { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport { inputs } from '../../component.inputs.constants';\nimport { previewData } from '../../preview.data.constants';\nimport Component from './index';\n\nconst meta = {\n name: 'DimensionMeasureMultiSelectFieldPro',\n label: 'Dimension and Measure Multi Select Field',\n description:\n 'Multi-select dropdown for dimensions and measures combined. Pairs with a dimensionOrMeasure-array variable; emits onChange.',\n category: 'Dropdowns - dimensions and measures',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.dataset,\n inputs.dimensionAndMeasureOptions,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select values...' },\n {\n ...inputs.dimensionsAndMeasures,\n name: 'selectedDimensionsAndMeasures',\n label: 'Selected dimensions and measures',\n category: 'Pre-configured Variables',\n required: false,\n config: {\n dataset: 'dataset',\n },\n },\n { ...inputs.clearable, defaultValue: false },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected dimensions and measures updated',\n properties: [\n {\n name: 'value',\n label: 'Selected values',\n type: 'dimensionOrMeasure',\n array: true,\n },\n ],\n },\n ],\n variables: [\n {\n name: 'dimension-measure multi-select values',\n type: 'dimensionOrMeasure',\n array: true,\n defaultValue: Value.noFilter(),\n inputs: ['selectedDimensionsAndMeasures'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n dimensionAndMeasureOptions: [previewData.dimension, previewData.measure],\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n dimensionAndMeasureOptions: inputs.dimensionAndMeasureOptions ?? [],\n selectedDimensionsAndMeasures: inputs.selectedDimensionsAndMeasures ?? [],\n };\n};\n\nconst events = {\n onChange: (value: unknown) => {\n return {\n value: Array.isArray(value) && value.length ? value : Value.noFilter(),\n };\n },\n};\n\nexport const dimensionMeasureMultiSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["DimensionMeasureMultiSelectFieldPro","props","theme","useTheme","i18nSetup","selectedDimensionsAndMeasures","dimensionAndMeasureOptions","clearable","onChange","title","description","tooltip","placeholder","resolveI18nProps","searchValue","setSearchValue","useState","pendingValues","setPendingValues","useEffect","first","normalized","d","norm","i","_a","currentDimensionAndMeasureNames","options","getDimensionAndMeasureOptions","handleChange","newValues","selectedNamesSet","jsx","EditorCard","MultiSelectField","i18n","meta","inputs","Value","preview","definePreview","Component","previewData","events","value","dimensionMeasureMultiSelectFieldPro"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { m as z, j as u, B as F, V as x, l as O } from "./index-BCG-LNTx.js";
|
|
2
2
|
import { useTheme as _, definePreview as H } from "@embeddable.com/react";
|
|
3
|
-
import { i as W, r as X } from "./component.utils-
|
|
4
|
-
import { C as E, a as U } from "./ChartCard-
|
|
5
|
-
import { g as q, a as J } from "./bars.utils-
|
|
3
|
+
import { i as W, r as X } from "./component.utils-B7tQ4cCT.js";
|
|
4
|
+
import { C as E, a as U } from "./ChartCard-C72rw1Ya.js";
|
|
5
|
+
import { g as q, a as J } from "./bars.utils-4Vu_6Vwr.js";
|
|
6
6
|
import { u as K } from "./charts.fillGaps.hooks-Dkv__Ls1.js";
|
|
7
|
-
import { C as N, g as Q } from "./granularity.utils-
|
|
8
|
-
import { c as Y } from "./charts.utils-
|
|
7
|
+
import { C as N, g as Q } from "./granularity.utils-BidDuinr.js";
|
|
8
|
+
import { c as Y } from "./charts.utils-Czfl880z.js";
|
|
9
9
|
import { i as e, s as C } from "./component.inputs.constants-BsSC9xd5.js";
|
|
10
10
|
import { p as c } from "./preview.data.constants-C0USIdBY.js";
|
|
11
11
|
import { g as Z } from "./clientContext.utils-DpB5KsfX.js";
|
|
@@ -176,4 +176,4 @@ export {
|
|
|
176
176
|
he as b,
|
|
177
177
|
pe as i
|
|
178
178
|
};
|
|
179
|
-
//# sourceMappingURL=definition-
|
|
179
|
+
//# sourceMappingURL=definition-zCln3iQl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-rnayY6ub.js","sources":["../src/components/charts/bars/BarChartDefaultPro/index.tsx","../src/components/charts/bars/BarChartDefaultPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, asChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProData, getBarChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { BarChartBaseProps } from '../bars.types';\nimport { createSimpleClickHandler } from '../../charts.utils';\n\nexport type BarChartDefaultProProps = BarChartBaseProps & {\n reverseXAxis?: boolean;\n xAxisMaxItems?: number;\n yAxisRangeMin?: number;\n yAxisRangeMax?: number;\n};\n\nconst BarChartDefaultPro = (props: BarChartDefaultProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n measures,\n yAxisRangeMin,\n xAxisMaxItems,\n yAxisRangeMax,\n showLegend,\n showTooltips,\n showLogarithmicScale,\n showValueLabels,\n reverseXAxis,\n dimension,\n granularity,\n setGranularity,\n onBarClicked,\n } = props;\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolvedI18nProps;\n\n const results = useFillGaps({\n results: props.results,\n dimension,\n });\n\n const data = getBarChartProData(\n { data: results.data, dimension, measures, maxItems: xAxisMaxItems },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions({ measures, horizontal: false, data, dimension }, theme), // Format Y axis based on first measure\n theme.charts?.barChartDefaultPro?.options ?? {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n const handleClick = createSimpleClickHandler({\n data,\n dimension,\n granularity,\n onClicked: onBarClicked,\n });\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, ...measures]}\n errorMessage={results.error}\n {...asChartCardHeaderProps(props)}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={dimension}\n onChange={setGranularity}\n />\n )}\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseXAxis={reverseXAxis}\n yAxisRangeMin={yAxisRangeMin}\n yAxisRangeMax={yAxisRangeMax}\n options={options}\n onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartDefaultPro;\n","import {\n DataResponse,\n Dimension,\n Granularity,\n LoadDataRequest,\n Value,\n loadData,\n} from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\nimport { BarChartProOptionsClickArg } from '../bars.types';\n\nconst meta = {\n name: 'BarChartDefaultPro',\n label: 'Bar Chart - Default',\n description:\n 'Vertical bar chart with one categorical x-axis dimension and one or more measures. Use to compare values across discrete categories.',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n inputs: [...inputs.measures.inputs, subInputs.color, subInputs.showValueAsPercentage],\n },\n {\n ...inputs.dimensionWithGranularitySelectField,\n label: 'X-axis',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.showTooltips,\n inputs.showValueLabels,\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseXAxis,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\n inputs.xAxisMaxItems,\n inputs.maxResults,\n inputs.menuOptions,\n ],\n events: [\n {\n name: 'onBarClicked',\n label: 'A bar is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartDefaultProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n dimension: previewData.dimension,\n measures: [previewData.measure],\n results: previewData.results1Measure1Dimension,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n dimension?: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [...inputs.measures, dimension ?? inputs.dimension],\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n dimension: Dimension,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, dimension, clientContext));\n\nconst events = {\n onBarClicked: (value: BarChartProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [BarChartDefaultProState, (state: BarChartDefaultProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const dimensionWithGranularity = getDimensionWithGranularity(\n inputs.dimension,\n state?.granularity,\n );\n\n return {\n ...inputs,\n dimension: dimensionWithGranularity,\n granularity: state?.granularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, dimensionWithGranularity, clientContext),\n };\n};\n\nexport const barChartDefaultPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["BarChartDefaultPro","props","theme","useTheme","i18nSetup","measures","yAxisRangeMin","xAxisMaxItems","yAxisRangeMax","showLegend","showTooltips","showLogarithmicScale","showValueLabels","reverseXAxis","dimension","granularity","setGranularity","onBarClicked","resolvedI18nProps","resolveI18nProps","tooltip","description","title","xAxisLabel","yAxisLabel","results","useFillGaps","data","getBarChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","handleClick","createSimpleClickHandler","jsxs","ChartCard","asChartCardHeaderProps","jsx","ChartGranularitySelectField","BarChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","value","Value","state","setState","dimensionWithGranularity","getDimensionWithGranularity","barChartDefaultPro"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"definition-zCln3iQl.js","sources":["../src/components/charts/bars/BarChartDefaultPro/index.tsx","../src/components/charts/bars/BarChartDefaultPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, asChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProData, getBarChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { BarChartBaseProps } from '../bars.types';\nimport { createSimpleClickHandler } from '../../charts.utils';\n\nexport type BarChartDefaultProProps = BarChartBaseProps & {\n reverseXAxis?: boolean;\n xAxisMaxItems?: number;\n yAxisRangeMin?: number;\n yAxisRangeMax?: number;\n};\n\nconst BarChartDefaultPro = (props: BarChartDefaultProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n measures,\n yAxisRangeMin,\n xAxisMaxItems,\n yAxisRangeMax,\n showLegend,\n showTooltips,\n showLogarithmicScale,\n showValueLabels,\n reverseXAxis,\n dimension,\n granularity,\n setGranularity,\n onBarClicked,\n } = props;\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolvedI18nProps;\n\n const results = useFillGaps({\n results: props.results,\n dimension,\n });\n\n const data = getBarChartProData(\n { data: results.data, dimension, measures, maxItems: xAxisMaxItems },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions({ measures, horizontal: false, data, dimension }, theme), // Format Y axis based on first measure\n theme.charts?.barChartDefaultPro?.options ?? {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n const handleClick = createSimpleClickHandler({\n data,\n dimension,\n granularity,\n onClicked: onBarClicked,\n });\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, ...measures]}\n errorMessage={results.error}\n {...asChartCardHeaderProps(props)}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={dimension}\n onChange={setGranularity}\n />\n )}\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseXAxis={reverseXAxis}\n yAxisRangeMin={yAxisRangeMin}\n yAxisRangeMax={yAxisRangeMax}\n options={options}\n onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartDefaultPro;\n","import {\n DataResponse,\n Dimension,\n Granularity,\n LoadDataRequest,\n Value,\n loadData,\n} from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\nimport { BarChartProOptionsClickArg } from '../bars.types';\n\nconst meta = {\n name: 'BarChartDefaultPro',\n label: 'Bar Chart - Default',\n description:\n 'Vertical bar chart with one categorical x-axis dimension and one or more measures. Use to compare values across discrete categories.',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n inputs: [...inputs.measures.inputs, subInputs.color, subInputs.showValueAsPercentage],\n },\n {\n ...inputs.dimensionWithGranularitySelectField,\n label: 'X-axis',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.showTooltips,\n inputs.showValueLabels,\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseXAxis,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\n inputs.xAxisMaxItems,\n inputs.maxResults,\n inputs.menuOptions,\n ],\n events: [\n {\n name: 'onBarClicked',\n label: 'A bar is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartDefaultProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n dimension: previewData.dimension,\n measures: [previewData.measure],\n results: previewData.results1Measure1Dimension,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n dimension?: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [...inputs.measures, dimension ?? inputs.dimension],\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n dimension: Dimension,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, dimension, clientContext));\n\nconst events = {\n onBarClicked: (value: BarChartProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [BarChartDefaultProState, (state: BarChartDefaultProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const dimensionWithGranularity = getDimensionWithGranularity(\n inputs.dimension,\n state?.granularity,\n );\n\n return {\n ...inputs,\n dimension: dimensionWithGranularity,\n granularity: state?.granularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, dimensionWithGranularity, clientContext),\n };\n};\n\nexport const barChartDefaultPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["BarChartDefaultPro","props","theme","useTheme","i18nSetup","measures","yAxisRangeMin","xAxisMaxItems","yAxisRangeMax","showLegend","showTooltips","showLogarithmicScale","showValueLabels","reverseXAxis","dimension","granularity","setGranularity","onBarClicked","resolvedI18nProps","resolveI18nProps","tooltip","description","title","xAxisLabel","yAxisLabel","results","useFillGaps","data","getBarChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","handleClick","createSimpleClickHandler","jsxs","ChartCard","asChartCardHeaderProps","jsx","ChartGranularitySelectField","BarChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","value","Value","state","setState","dimensionWithGranularity","getDimensionWithGranularity","barChartDefaultPro"],"mappings":"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"}
|
package/dist/{dimensionsAndMeasures.utils-D6wqLAjd.js → dimensionsAndMeasures.utils-mGymNq3G.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as i } from "./formatter.utils-
|
|
1
|
+
import { g as i } from "./formatter.utils-Wcc93V-N.js";
|
|
2
2
|
const a = ({
|
|
3
3
|
dimensionsAndMeasures: n,
|
|
4
4
|
searchValue: t,
|
|
@@ -13,4 +13,4 @@ const a = ({
|
|
|
13
13
|
export {
|
|
14
14
|
a as g
|
|
15
15
|
};
|
|
16
|
-
//# sourceMappingURL=dimensionsAndMeasures.utils-
|
|
16
|
+
//# sourceMappingURL=dimensionsAndMeasures.utils-mGymNq3G.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dimensionsAndMeasures.utils-
|
|
1
|
+
{"version":3,"file":"dimensionsAndMeasures.utils-mGymNq3G.js","sources":["../src/components/editors/utils/dimensionsAndMeasures.utils.ts"],"sourcesContent":["import { DimensionOrMeasure } from '@embeddable.com/core';\nimport { Theme } from '../../../theme/theme.types';\nimport { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\n\nexport const getDimensionAndMeasureOptions = ({\n dimensionsAndMeasures,\n searchValue,\n theme,\n}: {\n dimensionsAndMeasures: DimensionOrMeasure[];\n searchValue?: string;\n theme: Theme;\n}): SelectListOptionProps[] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return dimensionsAndMeasures\n .filter((dimensionOrMeasure) => {\n if (!searchValue) return true;\n\n return themeFormatter\n .dimensionOrMeasureTitle(dimensionOrMeasure)\n .toLowerCase()\n .includes(searchValue.toLowerCase());\n })\n .map((dimensionOrMeasure) => {\n return {\n value: dimensionOrMeasure.name,\n label: themeFormatter.dimensionOrMeasureTitle(dimensionOrMeasure),\n };\n });\n};\n"],"names":["getDimensionAndMeasureOptions","dimensionsAndMeasures","searchValue","theme","themeFormatter","getThemeFormatter","dimensionOrMeasure"],"mappings":";AAKO,MAAMA,IAAgC,CAAC;AAAA,EAC5C,uBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AACF,MAI+B;AAC7B,QAAMC,IAAiBC,EAAkBF,CAAK;AAE9C,SAAOF,EACJ,OAAO,CAACK,MACFJ,IAEEE,EACJ,wBAAwBE,CAAkB,EAC1C,cACA,SAASJ,EAAY,aAAa,IALZ,EAM1B,EACA,IAAI,CAACI,OACG;AAAA,IACL,OAAOA,EAAmB;AAAA,IAC1B,OAAOF,EAAe,wBAAwBE,CAAkB;AAAA,EAAA,EAEnE;AACL;"}
|
|
@@ -1,89 +1,89 @@
|
|
|
1
1
|
{
|
|
2
2
|
"components": [
|
|
3
|
-
"DimensionMeasureMultiSelectFieldPro",
|
|
4
|
-
"ComparisonPeriodSelectFieldPro",
|
|
5
3
|
"DimensionSingleSelectFieldPro",
|
|
6
|
-
"
|
|
4
|
+
"GranularitySelectFieldPro",
|
|
5
|
+
"ComparisonPeriodSelectFieldPro",
|
|
6
|
+
"LineChartWithKpiTabsPro",
|
|
7
|
+
"DimensionMeasureMultiSelectFieldPro",
|
|
7
8
|
"MultiSelectFieldPro",
|
|
8
|
-
"
|
|
9
|
+
"TextFieldPro",
|
|
9
10
|
"DateRangePickerCustomPro",
|
|
10
|
-
"EmptyBlockPro",
|
|
11
|
-
"HorizontalDividerPro",
|
|
12
|
-
"BarChartGroupedHorizontalPro",
|
|
13
11
|
"FilterBuilderPro",
|
|
14
|
-
"
|
|
12
|
+
"DateRangeSelectFieldPro",
|
|
13
|
+
"HorizontalDividerPro",
|
|
14
|
+
"BarChartDefaultHorizontalPro",
|
|
15
|
+
"BarChartGroupedPro",
|
|
15
16
|
"SingleSelectFieldPro",
|
|
16
|
-
"DonutLabelChartPro",
|
|
17
|
-
"TextFieldPro",
|
|
18
|
-
"BarChartStackedPro",
|
|
19
17
|
"BarLineChartPro",
|
|
20
|
-
"BarChartStackedHorizontalPro",
|
|
21
|
-
"GranularitySelectFieldPro",
|
|
22
|
-
"LineChartGroupedPro",
|
|
23
|
-
"BarChartGroupedPro",
|
|
24
|
-
"MarkdownPro",
|
|
25
|
-
"BarChartDefaultHorizontalPro",
|
|
26
18
|
"KpiChartNumberPro",
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
19
|
+
"MeasureMultiSelectFieldPro",
|
|
20
|
+
"AreaChartPro",
|
|
21
|
+
"LineChartComparisonDefaultPro",
|
|
30
22
|
"TableScrollable",
|
|
23
|
+
"BarChartStackedPro",
|
|
24
|
+
"LineChartComparisonWithKpiTabsPro",
|
|
25
|
+
"EmptyBlockPro",
|
|
31
26
|
"TableChartPaginated",
|
|
27
|
+
"BarChartStackedHorizontalPro",
|
|
28
|
+
"DonutChartPro",
|
|
29
|
+
"BarChartGroupedHorizontalPro",
|
|
32
30
|
"LineChartDefaultPro",
|
|
33
|
-
"
|
|
34
|
-
"
|
|
31
|
+
"MeasureSingleSelectFieldPro",
|
|
32
|
+
"KpiChartNumberComparisonPro",
|
|
35
33
|
"PieChartPro",
|
|
36
|
-
"
|
|
37
|
-
"
|
|
34
|
+
"BarChartDefaultPro",
|
|
35
|
+
"DonutLabelChartPro",
|
|
38
36
|
"BubbleChartPro",
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
37
|
+
"PivotTablePro",
|
|
38
|
+
"LineChartGroupedPro",
|
|
39
|
+
"MarkdownPro",
|
|
40
|
+
"ScatterChartPro",
|
|
41
|
+
"HeatMapPro"
|
|
42
42
|
],
|
|
43
43
|
"editors": [
|
|
44
|
-
"
|
|
45
|
-
"
|
|
44
|
+
"ColorEditor",
|
|
45
|
+
"MarkdownEditor"
|
|
46
46
|
],
|
|
47
47
|
"previews": [
|
|
48
|
-
"DimensionMeasureMultiSelectFieldPro",
|
|
49
|
-
"ComparisonPeriodSelectFieldPro",
|
|
50
48
|
"DimensionSingleSelectFieldPro",
|
|
51
|
-
"
|
|
49
|
+
"GranularitySelectFieldPro",
|
|
50
|
+
"ComparisonPeriodSelectFieldPro",
|
|
51
|
+
"LineChartWithKpiTabsPro",
|
|
52
|
+
"DimensionMeasureMultiSelectFieldPro",
|
|
52
53
|
"MultiSelectFieldPro",
|
|
53
|
-
"
|
|
54
|
+
"TextFieldPro",
|
|
54
55
|
"DateRangePickerCustomPro",
|
|
55
|
-
"EmptyBlockPro",
|
|
56
|
-
"HorizontalDividerPro",
|
|
57
|
-
"BarChartGroupedHorizontalPro",
|
|
58
56
|
"FilterBuilderPro",
|
|
59
|
-
"
|
|
57
|
+
"DateRangeSelectFieldPro",
|
|
58
|
+
"HorizontalDividerPro",
|
|
59
|
+
"BarChartDefaultHorizontalPro",
|
|
60
|
+
"BarChartGroupedPro",
|
|
60
61
|
"SingleSelectFieldPro",
|
|
61
|
-
"DonutLabelChartPro",
|
|
62
|
-
"TextFieldPro",
|
|
63
|
-
"BarChartStackedPro",
|
|
64
62
|
"BarLineChartPro",
|
|
65
|
-
"BarChartStackedHorizontalPro",
|
|
66
|
-
"GranularitySelectFieldPro",
|
|
67
|
-
"LineChartGroupedPro",
|
|
68
|
-
"BarChartGroupedPro",
|
|
69
|
-
"MarkdownPro",
|
|
70
|
-
"BarChartDefaultHorizontalPro",
|
|
71
63
|
"KpiChartNumberPro",
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
64
|
+
"MeasureMultiSelectFieldPro",
|
|
65
|
+
"AreaChartPro",
|
|
66
|
+
"LineChartComparisonDefaultPro",
|
|
75
67
|
"TableScrollable",
|
|
68
|
+
"BarChartStackedPro",
|
|
69
|
+
"LineChartComparisonWithKpiTabsPro",
|
|
70
|
+
"EmptyBlockPro",
|
|
76
71
|
"TableChartPaginated",
|
|
72
|
+
"BarChartStackedHorizontalPro",
|
|
73
|
+
"DonutChartPro",
|
|
74
|
+
"BarChartGroupedHorizontalPro",
|
|
77
75
|
"LineChartDefaultPro",
|
|
78
|
-
"
|
|
79
|
-
"
|
|
76
|
+
"MeasureSingleSelectFieldPro",
|
|
77
|
+
"KpiChartNumberComparisonPro",
|
|
80
78
|
"PieChartPro",
|
|
81
|
-
"
|
|
82
|
-
"
|
|
79
|
+
"BarChartDefaultPro",
|
|
80
|
+
"DonutLabelChartPro",
|
|
83
81
|
"BubbleChartPro",
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
82
|
+
"PivotTablePro",
|
|
83
|
+
"LineChartGroupedPro",
|
|
84
|
+
"MarkdownPro",
|
|
85
|
+
"ScatterChartPro",
|
|
86
|
+
"HeatMapPro"
|
|
87
87
|
],
|
|
88
88
|
"plugin": "react"
|
|
89
89
|
}
|
|
@@ -2120,12 +2120,12 @@ const po = (e) => {
|
|
|
2120
2120
|
return s || (s = e(n), t[a] = s, s);
|
|
2121
2121
|
};
|
|
2122
2122
|
}, Zf = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}$/, Qf = (e) => !!(e && Zf.test(e)), el = (e, t) => {
|
|
2123
|
-
if (!e
|
|
2123
|
+
if (!(e != null && e.includes("|"))) return e;
|
|
2124
2124
|
const [r, n] = e.split("|", 2).map((a) => a.trim());
|
|
2125
|
-
return at.t(
|
|
2125
|
+
return at.isInitialized ? at.t(
|
|
2126
2126
|
[r, n].filter((a) => !!a),
|
|
2127
2127
|
t
|
|
2128
|
-
);
|
|
2128
|
+
) : n || r;
|
|
2129
2129
|
}, aa = {
|
|
2130
2130
|
MARKDOWN: "Markdown",
|
|
2131
2131
|
JSON: "Json"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { s as F } from "./index-BCG-LNTx.js";
|
|
2
|
-
import { b as D } from "./component.utils-
|
|
2
|
+
import { b as D } from "./component.utils-B7tQ4cCT.js";
|
|
3
3
|
import { D as l } from "./component.inputs.constants-BsSC9xd5.js";
|
|
4
4
|
const c = (r) => {
|
|
5
5
|
const n = {};
|
|
@@ -61,4 +61,4 @@ export {
|
|
|
61
61
|
I as g,
|
|
62
62
|
b as i
|
|
63
63
|
};
|
|
64
|
-
//# sourceMappingURL=formatter.utils-
|
|
64
|
+
//# sourceMappingURL=formatter.utils-Wcc93V-N.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.utils-
|
|
1
|
+
{"version":3,"file":"formatter.utils-Wcc93V-N.js","sources":["../src/utils/cache.utils.ts","../src/utils/data.utils.ts","../src/theme/formatter/formatter.utils.ts"],"sourcesContent":["/**\n * Creates a formatter cache.\n * Cache used to prevent unnecessary (expensive) creation of formatter objects\n */\nexport const cache = <Params, Formatter>(factory: (params?: Params) => Formatter) => {\n const internalCache: { [key: string]: Formatter } = {};\n const get = (params?: Params) => {\n const key = JSON.stringify(params);\n let formatter = internalCache[key];\n if (formatter) {\n return formatter;\n }\n formatter = factory(params);\n internalCache[key] = formatter;\n return formatter;\n };\n return get;\n};\n","import { CUBE_DIMENSION_TYPE_TIME, Dimension } from '@embeddable.com/core';\n\nconst ISO_DATE_TIME_REGEX = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}$/;\n\nexport const isValidISODate = (value: string): boolean => {\n return Boolean(value && ISO_DATE_TIME_REGEX.test(value));\n};\n\nexport const getDimensionFieldName = (d: Dimension): string =>\n `${d.name}${d.nativeType === CUBE_DIMENSION_TYPE_TIME && d.inputs?.granularity ? `.${d.inputs.granularity}` : ''}`;\n","import { DimensionOrMeasure } from '@embeddable.com/core';\nimport { DateTimeFormatter, NumberFormatter, StringFormatter } from './formatter.types';\nimport { Theme } from '../theme.types';\nimport { cache } from '../../utils/cache.utils';\nimport { isValidISODate } from '../../utils/data.utils';\nimport { resolveI18nString } from '../../components/component.utils';\nimport { DisplayFormatTypeOptions } from '../../components/types/DisplayFormat.type.emb';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const getSubInputValue = (key: DimensionOrMeasure, inputKey: string, metaKey?: string) =>\n key.inputs?.[inputKey] ?? (key.meta as any)?.[metaKey ?? inputKey];\n\nexport type GetThemeFormatter = {\n string: (key: string) => string;\n number: (value: number | bigint, options?: Intl.NumberFormatOptions) => string;\n dateTime: (value: Date, options?: Intl.DateTimeFormatOptions) => string;\n dimensionOrMeasureTitle: (key: DimensionOrMeasure) => string;\n data: (key: DimensionOrMeasure, value: any) => string;\n};\n\nexport const getThemeFormatter = (theme: Theme): GetThemeFormatter => {\n const cachedNumberFormatter = cache<Intl.NumberFormatOptions, NumberFormatter>((options) =>\n theme.formatter.numberFormatter(theme, options),\n );\n\n const cachedDataNumberFormatter = cache<DimensionOrMeasure, NumberFormatter>((key) =>\n theme.formatter.dataNumberFormatter(theme, key!),\n );\n\n const cachedDateTimeFormatter = cache<Intl.DateTimeFormatOptions, DateTimeFormatter>((options) =>\n theme.formatter.dateTimeFormatter(theme, options),\n );\n\n const cachedDataDateTimeFormatter = cache<DimensionOrMeasure, DateTimeFormatter>((key) =>\n theme.formatter.dataDateTimeFormatter(theme, key!),\n );\n\n const cachedDataOthersFormatter = cache<DimensionOrMeasure, StringFormatter>((key) =>\n theme.formatter.dataOthersFormatter(theme, key!),\n );\n\n return {\n string: (key: string) => theme.formatter.stringFormatter().format(key),\n number: (value: number | bigint, options?: Intl.NumberFormatOptions): string => {\n return cachedNumberFormatter(options).format(value);\n },\n dateTime: (value: Date, options?: Intl.DateTimeFormatOptions): string => {\n return cachedDateTimeFormatter(options).format(value);\n },\n dimensionOrMeasureTitle: (key: DimensionOrMeasure): string => {\n const displayName = getSubInputValue(key, 'displayName');\n if (displayName) {\n if (displayName.includes('|')) {\n return resolveI18nString(displayName);\n }\n return displayName;\n }\n\n const resolved = cachedDataOthersFormatter(key).format(key.name);\n return resolved === key.name ? (key.title ?? key.name) : resolved;\n },\n data: (key: DimensionOrMeasure, value: any): string => {\n let newValue = value;\n\n // Nulls (inputs override meta)\n if (value == null) {\n return getSubInputValue(key, 'displayNullAs') ?? '';\n }\n\n // JSON and Markdown (inputs override meta)\n const displayFormat = getSubInputValue(key, 'displayFormat');\n if (displayFormat === DisplayFormatTypeOptions.JSON) {\n return JSON.stringify(value, null, 2);\n }\n if (displayFormat === DisplayFormatTypeOptions.MARKDOWN) {\n return value;\n }\n // Objects\n if (typeof value === 'object') {\n return JSON.stringify(value);\n }\n\n // Number\n if (key.nativeType === 'number') {\n newValue = cachedDataNumberFormatter(key).format(value);\n }\n\n // Time\n if (key.nativeType === 'time' && isValidISODate(value)) {\n newValue = cachedDataDateTimeFormatter(key).format(new Date(value));\n }\n\n // Others (boolean and string)\n if (key.nativeType === 'boolean' || key.nativeType === 'string') {\n newValue = cachedDataOthersFormatter(key).format(value);\n }\n\n // Prefix and suffix (inputs override meta; meta uses pretext/posttext)\n const prefix = getSubInputValue(key, 'prefix', 'pretext') || '';\n const suffix = getSubInputValue(key, 'suffix', 'posttext') || '';\n const appended = `${prefix}${newValue}${suffix}`;\n\n // Max characters (inputs override meta)\n const maxCharacters = getSubInputValue(key, 'maxCharacters');\n if (maxCharacters != null) {\n if (appended.length <= maxCharacters) {\n return appended;\n }\n return appended.substring(0, maxCharacters) + '...';\n }\n\n return appended;\n },\n };\n};\n"],"names":["cache","factory","internalCache","params","key","formatter","ISO_DATE_TIME_REGEX","isValidISODate","value","getDimensionFieldName","d","CUBE_DIMENSION_TYPE_TIME","_a","getSubInputValue","inputKey","metaKey","_b","getThemeFormatter","theme","cachedNumberFormatter","options","cachedDataNumberFormatter","cachedDateTimeFormatter","cachedDataDateTimeFormatter","cachedDataOthersFormatter","displayName","resolveI18nString","resolved","newValue","displayFormat","DisplayFormatTypeOptions","prefix","suffix","appended","maxCharacters"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { j as s, f as y } from "./index-BCG-LNTx.js";
|
|
2
|
-
import { G as p } from "./GranularitySelectField-
|
|
2
|
+
import { G as p } from "./GranularitySelectField-B7bPGvIp.js";
|
|
3
3
|
const g = "_chartGranularitySelectFieldContainer_m26zn_1", G = "_marginTop_m26zn_7", o = {
|
|
4
4
|
chartGranularitySelectFieldContainer: g,
|
|
5
5
|
marginTop: G
|
|
@@ -48,4 +48,4 @@ export {
|
|
|
48
48
|
S as C,
|
|
49
49
|
x as g
|
|
50
50
|
};
|
|
51
|
-
//# sourceMappingURL=granularity.utils-
|
|
51
|
+
//# sourceMappingURL=granularity.utils-BidDuinr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"granularity.utils-
|
|
1
|
+
{"version":3,"file":"granularity.utils-BidDuinr.js","sources":["../src/components/charts/shared/ChartGranularitySelectField/ChartGranularitySelectField.tsx","../src/components/charts/utils/granularity.utils.ts"],"sourcesContent":["import { Dimension, Granularity } from '@embeddable.com/core';\nimport {\n GranularitySelectField,\n GranularitySelectFieldProps,\n} from '../../../editors/shared/GranularitySelectField/GranularitySelectField';\nimport styles from './ChartGranularitySelectField.module.css';\nimport clsx from 'clsx';\n\nexport type ChartGranularitySelectFieldProps = Pick<GranularitySelectFieldProps, 'onChange'> & {\n dimension: Dimension;\n hasMarginTop?: boolean;\n};\n\nconst dimensionGranularities: Granularity[] = ['day', 'week', 'month', 'quarter', 'year'];\n\nexport const ChartGranularitySelectField = ({\n dimension,\n hasMarginTop,\n ...props\n}: ChartGranularitySelectFieldProps) => {\n const showGranularitySelector = dimension?.inputs?.showGranularityDropdown;\n\n if (!showGranularitySelector) {\n return null;\n }\n\n const dimensionTimeRange = dimension.inputs?.dateBounds;\n const dimensionGranularity = dimension.inputs?.granularity;\n\n return (\n <div\n className={clsx(\n styles.chartGranularitySelectFieldContainer,\n hasMarginTop && styles.marginTop,\n )}\n >\n <GranularitySelectField\n {...props}\n primaryTimeRange={dimensionTimeRange}\n granularity={dimensionGranularity}\n granularities={dimensionGranularities}\n variant=\"ghost\"\n side=\"bottom\"\n align=\"end\"\n />\n </div>\n );\n};\n","import { Dimension, Granularity } from '@embeddable.com/core';\n\nexport const getDimensionWithGranularity = (\n dimension: Dimension,\n granularity?: Granularity,\n): Dimension => {\n const currentGranularity = granularity ?? dimension.inputs?.granularity;\n\n return {\n ...dimension,\n inputs: {\n ...dimension.inputs,\n granularity: currentGranularity,\n },\n };\n};\n"],"names":["dimensionGranularities","ChartGranularitySelectField","dimension","hasMarginTop","props","_a","dimensionTimeRange","_b","dimensionGranularity","_c","jsx","clsx","styles","GranularitySelectField","getDimensionWithGranularity","granularity","currentGranularity"],"mappings":";;;;;GAaMA,IAAwC,CAAC,OAAO,QAAQ,SAAS,WAAW,MAAM,GAE3EC,IAA8B,CAAC;AAAA,EAC1C,WAAAC;AAAA,EACA,cAAAC;AAAA,EACA,GAAGC;AACL,MAAwC;;AAGtC,MAAI,GAF4BC,IAAAH,KAAA,gBAAAA,EAAW,WAAX,gBAAAG,EAAmB;AAGjD,WAAO;AAGT,QAAMC,KAAqBC,IAAAL,EAAU,WAAV,gBAAAK,EAAkB,YACvCC,KAAuBC,IAAAP,EAAU,WAAV,gBAAAO,EAAkB;AAE/C,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACTC,EAAO;AAAA,QACPT,KAAgBS,EAAO;AAAA,MAAA;AAAA,MAGzB,UAAAF,gBAAAA,EAAAA;AAAAA,QAACG;AAAA,QAAA;AAAA,UACE,GAAGT;AAAA,UACJ,kBAAkBE;AAAA,UAClB,aAAaE;AAAA,UACb,eAAeR;AAAA,UACf,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,OAAM;AAAA,QAAA;AAAA,MAAA;AAAA,IACR;AAAA,EAAA;AAGN,GC7Cac,IAA8B,CACzCZ,GACAa,MACc;;AACd,QAAMC,IAAqBD,OAAeV,IAAAH,EAAU,WAAV,gBAAAG,EAAkB;AAE5D,SAAO;AAAA,IACL,GAAGH;AAAA,IACH,QAAQ;AAAA,MACN,GAAGA,EAAU;AAAA,MACb,aAAac;AAAA,IAAA;AAAA,EACf;AAEJ;"}
|